PT09IHJlbGVhc2UgMS4xNC4zID09PQoKMjAxOC0wOS0xNiAxNjoyMDozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTQuMwoKMjAxOC0wOS0xNiAxNjoyMDozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xbWxnbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBVcGRhdGUgZG9jcwoKMjAxOC0wOC0xNSAwMjoxMDoyNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IEZpeCByZWZlcmVuY2UgY291bnRpbmcgbG9vcAoJICBUaGUgc3RyZWFtIGNvbnRleHQgd2FzIGhvbGRpbmcgYSByZWZlcmVuY2UgdG8gdGhlCgkgIGludGVybmFsIHF1ZXVlIGFuZCBwYWRzLCB3aXRoIHBhZCBwcm9iZXMgdGhhdCB3ZXJlCgkgIGluIHR1cm4gaG9sZGluZyByZWZlcmVuY2VzIHRvIHRoZSBzdHJlYW0gY29udGV4dC4KCSAgVGhpcyBsZWFkIHRvIGEgbGVhayBpZiB0aGUgcmVxdWVzdCBwYWRzIHdlcmVuJ3QgZXhwbGljaXRseQoJICByZWxlYXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Njg5MwoKMjAxOC0wNy0xNyAwMDowMzoxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogSW1wcm92ZSBoYW5kbGluZyBvZiByZXBlYXRlZCB0aW1lc3RhbXBzCgkgIFdoZW4gaGFuZGxpbmcgaW5wdXQgd2l0aCB0aW1lc3RhbXBzIHRoYXQgcmVwZWF0LCBzb21ldGltZXMKCSAgc3BsaXRtdXhzaW5rIHdvdWxkIGdldCBjb25mdXNlZCBhbmQgaWdub3JlIGEga2V5ZnJhbWUuCgkgIFRoZSBsb2dpYyBpbiBxdWVzdGlvbiBpcyBhIGhvbGRvdmVyIGZyb20gYmVmb3JlIHRoZSBjbWQgcXVldWUKCSAgbW92ZWQgdGhlIGZpbGUgY3V0dGluZyB0byB0aGUgbXVsdGlxdWV1ZSBvdXRwdXQgc2lkZSBhbmQgbWFkZQoJICBpdCBkZXRlcm1pbmlzdGljLCBzbyBpdCdzIG5vIGxvbmdlciBuZWVkZWQgb24gdGhlIGlucHV0CgkgIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY3NzMKCjIwMTctMDgtMjUgMTE6NTg6MTIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRG9uJ3Qgc3RhcnQgdGhlIFJUQ1AgdGhyZWFkIHVudGlsIGl0J3MgbmVlZGVkCgkgIEFsd2F5cyB3YWl0IHdpdGggc3RhcnRpbmcgdGhlIFJUQ1AgdGhyZWFkIHVudGlsIGVpdGhlciBhIFJUUCBvciBSVENQCgkgIHBhY2tldCBpcyBzZW50IG9yIHJlY2VpdmVkLiBTcGVjaWFsIGhhbmRsaW5nIGlzIG5lZWRlZCB0byBtYWtlIHN1cmUgdGhlCgkgIFJUQ1AgdGhyZWFkIGlzIHN0YXJ0ZWQgd2hlbiByZXF1ZXN0aW5nIGFuIGVhcmx5IFJUQ1AgcGFja2V0LgoJICBXZSB3YW50IHRvIHdhaXQgd2l0aCBzdGFydGluZyB0aGUgUlRDUCB0aHJlYWQgdW50aWwgaXQncyBuZWVkZWQgaW4gb3JkZXIKCSAgdG8gbm90IHNlbmQgUlRDUCBwYWNrZXRzIGZvciBhbiBpbmFjdGl2ZSBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUxMzkKCjIwMTgtMDktMTEgMDA6MTg6MzIgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXNAbmR1ZnJlc25lLmNhPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBQcm90ZWN0IGFnYWluc3QgemVybyBQQVIgbnVtL2RlbXUKCSAgVGhpcyBmaXhlcyBhbiBhc3NlcnRpb24gd2hlbiB0aGUgZHJpdmVyIGltcGxlbWVudCBDUk9QQ0FQIGJ1dCBkb2VzCgkgIG5vdCBzZXQgdGhlIFBBUi4KCjIwMTgtMDktMDcgMTg6NTM6NTAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcGVleC9tZXNvbi5idWlsZDoKCSAgbWVzb246IEZpeCB0eXBvIGluIHNwZWV4IGJ1aWxkIGZpbGUKCSAgQmFkIGJhY2twb3J0LCBob3N0X3N5c3RlbSBpcyBub3QgZGVmaW5lZCBpbiB0aGlzIGJyYW5jaC4KCjIwMTgtMDktMDcgMTg6NDc6MjIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcGVleC9tZXNvbi5idWlsZDoKCSAgbWVzb246IEV4cGxpY2l0bHkgcGFzcyAtRFdJTjMyIHdoaWxlIGJ1aWxkaW5nIHNwZWV4CgkgIFRoZSBzcGVleCBoZWFkZXJzIGFzc3VtZSB0aGF0IFdJTjMyIHdpbGwgYWx3YXlzIGJlIGRlZmluZWQgd2hlbgoJICBidWlsZGluZyBvbiBXaW5kb3dzLCBidXQgdGhpcyBpcyBvbmx5IHRydWUgYnkgZGVmYXVsdCBvbiBNaW5HVy4KCSAgQWx3YXlzIHNldCBpdCBleHBsaWNpdGx5LgoKMjAxOC0wOS0wMyAxNjowNDozMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5oOgoJICBtcGcxMjM6IFJlbW92ZSBzc2l6ZV90IGZhbGxiYWNrLCBub3QgbmVlZGVkIGFueW1vcmUKCSAgVGhlIG1wZzEyMyBoZWFkZXJzIG5vdyBjb250YWluIGEgZGVmaW5pdGlvbiBmb3Igc3NpemVfdCBhbmQgYnVpbGRpbmcKCSAgd2l0aCBNU1ZDIGZhaWxzIGJlY2F1c2Ugb2YgYSByZWRlZmluaXRpb24gZm9yIHNzaXplX3QKCjIwMTgtMDgtMjIgMTk6MjM6NTMgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogT25seSBvZmZlciBNTUFQL0RNQUJVRiBwb29sCgkgIFRoZSBwcm9wb3NlIGFsbG9jYXRpb24gd2FzIG9mZmVyaW5nIGEgcG9vbCBldmVuIGluIERNQUJVRl9JTVBPUlQgb3IKCSAgVVNFUlBUUiBtb2RlLiBUaGVzZSBwb29sIGFyZSBpbnRlcm5hbCBvbmx5LgoKMjAxOC0wOC0wOSAxNToxNDowNSArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogY29tcGxldGUgY29sb3JzcGFjZSBpbmZvIGluIGRlYnVnIGxvZwoJICBUaGUgZGVzaXJlZCBjb2xvcmltZXRyeSBpcyBsb2dnZWQgd2l0aCBhbGwgcGFyYW1ldGVycyAoY29sb3Jwc2FjZSwKCSAgcmFuZ2UsIG1hdHJpeCwgYW5kIHRyYW5zZmVyIGZ1bmN0aW9uKSwgYnV0IG9mIHRoZSB2YWx1ZXMgYWN0dWFsbHkKCSAgc2V0IGJ5IHRoZSBkcml2ZXIsIG9ubHkgY29sb3JzcGFjZSBpcyBsb2dnZWQuIENvbXBsZXRlIHRoZSBkZWJ1ZwoJICBsb2cgbWVzc2FnZSB0byBkaXNwbGF5IGFsbCBjb2xvcmltZXRyeSBwYXJhbWV0ZXJzOgoJICBEZXNpcmVkIGNvbG9yc3BhY2UgaXMgODoxOjE6MQoJICBHb3QgZm9ybWF0IG9mIDY0MHg0ODAsIGZvcm1hdCBZVTEyLCBuYiBwbGFuZXMgMSwgY29sb3JzcGFjZSA4CgkgIC0+CgkgIERlc2lyZWQgY29sb3JzcGFjZSBpcyA4OjE6MToxCgkgIEdvdCBmb3JtYXQgb2YgNjQweDQ4MCwgZm9ybWF0IFlVMTIsIG5iIHBsYW5lcyAxLCBjb2xvcnNwYWNlIDg6MDowOjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Njk0MAoKMjAxOC0wOC0wOSAxNToxMjo1NyArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZml4IHR5cG8gaW4gY29tbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2OTQwCgoyMDE4LTA4LTA5IDE1OjA4OjU5ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBpbXByb3ZlIGNvbG9yc3BhY2UgaGFuZGxpbmcgZm9yIEpQRUcgc291cmNlcwoJICBnc3RqcGVnZGVjIHNldHMgMTo0OjA6MCBjb2xvcmltZXRyeSAoZnVsbCByYW5nZSBCVC42MDEgWUNiQ3IgZW5jb2RpbmcKCSAgd2l0aCB1bmtub3duIHByaW1hcmllcyBhbmQgdW5rbm93biB0cmFuc2ZlciBmdW5jdGlvbikuIFRoaXMgY3VycmVudGx5CgkgIGdldHMgdHJhbnNsYXRlZCB0byBidDYwMSBvciBidDcwOSBkZXBlbmRpbmcgb24gcmVzb2x1dGlvbi4KCSAgQm90aCBjYXNlcyByZXN1bHQgaW4gYSBuZWdvdGlhdGlvbiBmYWlsdXJlOgoJICBFUlJPUjogZnJvbSBlbGVtZW50IC9Hc3RQaXBlbGluZTpwaXBlbGluZTAvdjRsMnZpZGVvMGNvbnZlcnQ6djRsMnZpZGVvMGNvbnZlcnQwOiBEZXZpY2UgJy9kZXYvdmlkZW8wJyBkb2VzIG5vdCBzdXBwb3J0IDE6NDowOjAgY29sb3JpbWV0cnkKCSAgSW1wcm92ZSB0aGUgZ3Vlc3NpbmcgZ2FtZSBieSBzZWxlY3RpbmcgSlBFRyBjb2xvcmltZXRyeSAoSlBFRyBjb2xvcnNwYWNlCgkgIHdpdGggc1JHQiB0cmFuc2ZlciBmdW5jdGlvbikgdW5kZXIgdGhlc2Ugc3BlY2lmaWMgY29uZGl0aW9ucywgYW5kIGxvb3NlbgoJICB0aGUgbWF0Y2hpbmcgc28gdGhhdCAxOjQ6MDowIGlucHV0IGdldHMgYWNjZXB0ZWQgaWYgdGhlIGRldmljZSBpcwoJICBhY3R1YWxseSBjb25maWd1cmVkIHRvIDE6NDo3OjEgKFY0TDJfUElYX0ZNVF9KUEVHIGRlZmF1bHQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2OTQwCgoyMDE4LTA4LTA5IDE3OjI0OjM1ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBzdG9wIFY0TDIgZnJvbSB6ZXJvaW5nIGV4dGVuZGVkIGNvbG9yaW1ldHJ5IGZvciBub24tbXBsYW5lCgkgIFNldHRpbmcgdGhlIHByaXYgZmllbGQgdG8gYSBtYWdpYyB2YWx1ZSBzdG9wcyBWNEwyIGNvcmUgZnJvbSB6ZXJvaW5nCgkgIHRoZSBleHRlbmRlZCBjb2xvcmltZXRyeSBmaWVsZHMgcXVhbnRpemF0aW9uLCB5Y2Jjcl9lbmMsIGFuZCB4ZmVyX2Z1bmMKCSAgZm9yIG5vbi1tcGxhbmUgcXVldWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2OTQwCgoyMDE4LTA4LTE3IDExOjQ1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBkaXN0IHF0IGV4YW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY5NjgKCjIwMTgtMDgtMTYgMTY6Mjg6MTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogVW5pZnkgcmVxdWlyZWQgdmVyc2lvbiB0byAwLjQwLjEKCjIwMTgtMDgtMTEgMTY6NDU6MjUgKzA4MDAgIFJvbGFuZCBKb24gPHJsYW5kam9uQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBjb2RlY19kYXRhIGJ1ZmZlciBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxMDEKCjIwMTgtMDQtMDIgMTI6NDg6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICB0ZXN0czogcmVtb3ZlIGJyb2tlbiBhbmQgbm93IHBvaW50bGVzcyB2NGwyc3JjLXRlc3QKCSAgVGhpcyB0ZXN0cyBBUElzIHRoYXQgZG9uJ3QgZXhpc3QgYW55IGxvbmdlciBhbmQgYWxzbyBkb2Vzbid0CgkgIHdvcmsgYXQgYWxsLCBhbmQgd2FzIGxhc3QgdG91Y2hlZCBpbiBhIG1lYW5pbmdmdWwgd2F5IGluIDIwMDYuCgoyMDE4LTA4LTAyIDA4OjQwOjE3ICswMjAwICBJw7FpZ28gSHVndWV0IDxpbmlnb2h1Z3VldEBob3RtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZml4IGZpcnN0IGlucHV0IHVzZWQgaXMgYWx3YXlzIHVzZWQgbmV4dCB0aW1lcwoJICBUaGUgaW5wdXQgZnJvbSBhbiB2NGwyIGRldmljZSB0aGF0IHdhcyB1c2VkIHRoZSBmaXJzdCB0aW1lIHdhcwoJICByZW1lbWJlcmVkIGZvciBuZXh0IHRpbWVzLCBhbmQgc2V0IGFnYWluIGFsd2F5cyB0aGUgcGlwZWxpbmUgaXMKCSAgc2V0IHRvIFJFQURZIHN0YXRlLiBUaGlzIHdhcyBtYWtpbmcgdGhhdCB1c2VycyB3YXNuJ3QgYWJsZSB0bwoJICBzZWxlY3QgYSBkaWZmZXJlbnQgaW5wdXQgd2l0aG91dCBoYXZpbmcgdG8gY3JlYXRlIGEgbmV3IHBpcGVsaW5lLgoJICBUaGlzIHBhdGNoIG1ha2VzIHRoYXQgdjRsMnNyYyBlbGVtZW50IGZvcmdldCBwcmV2aW91cyB1c2VkIGlucHV0CgkgIHdoZW4gZ29pbmcgdG8gTlVMTCBzdGF0ZSwgc28gaXQgd2lsbCBjaGVjayBhZ2FpbiBmb3IgdGhlIGN1cnJlbnQKCSAgc2VsZWN0ZWQgaW5wdXQgd2hlbiBnb2luZyBhZ2FpbiB0byBSRUFEWSBzdGF0ZS4gVXNlcnMgY2FuIGNoYW5nZQoJICB0byBOVUxMIHN0YXRlLCBzZWxlY3QgYSBuZXcgaW5wdXQgd2l0aCBhIFZJRElPQ19TX0lOUFVUIGlvY3RsCgkgIGFuZCBjaGFuZ2UgdG8gUExBWUlORyBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjkwOAoKMjAxOC0wNy0yNiAxNjo0MzoyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0cGF5OiBBZGQgc3VwcG9ydCBmb3IgZm9yY2Uta2V5dW5pdCBldmVudHMKCSAgVGhpcyB0cmlnZ2VycyBpbW1lZGlhdGUgcmUtc2VuZGluZyBvZiB0aGUgY29uZmlndXJhdGlvbiBkYXRhIGluLWJhbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY4NzcKCjIwMTgtMDctMzEgMTI6NDc6NDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IGFzc2VydCBpbiBwcmVmaWxsIG1vZGUgaWYgYSB0cmFjayBoYXMgbm8gc2FtcGxlcyBhdCBhbGwKCSAgSnVzdCB3cml0ZSBpdCB3aXRoIGEgZHVyYXRpb24gb2YgMCwgbm8gc2FtcGxlcywgZXRjLgoKMjAxOC0wNy0xMyAyMjozMTowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5cGF5LmM6CgkgIHJ0cHBheWxvYWQ6IEZpeCBWUDgvVlA5L09QVVMgZHVhbCBlbmNvZGluZyBuYW1lIGhhbmRsaW5nCgkgIEFsbCB0aGVzZSB3ZXJlIGNvcHkgcGFzdGVkIGFuZCB3b3VsZCBsZWFkIHRvIGFzc2VydGlvbiB3aGVuIGNoYWluZWQgd2l0aAoJICBydHBtdXguIFRoaXMgY29tbWl0IHJld3JpdGUgdGhlIG5lZ290aWF0aW9uIHdpdGggZG93bnN0cmVhbS4gVGhpcyBhbHNvCgkgIGRyb3AgdGhlIGZhbGxiYWNrIHRvIGFuY2llbnQgbmFtZXMgaWYgdGhlIHBhZCBpcyB1bmxpbmtlZC4gVGhpcyB3YXMKCSAgY29tcGxldGx5IGFyYml0cmFyeSBkZWNpc2lvbiB0aGF0IG1hZGUgbm8gc2Vuc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY4MDkKCjIwMTgtMDgtMDEgMTI6MDY6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsLmg6CgkgIHF0OiBFbnN1cmUgR0wgaGVhZGVycyBhcmUgaW5jbHVkZWQKCSAgT3RoZXJ3aXNlIHRoZXJlIG1heSBiZSBubyB2YWxpZCB0eXBlZGVmIG9mIEdMc3luYy4KCSAgLi4uCgkgIC91c3IvaW5jbHVkZS9nc3RyZWFtZXItMS4wL2dzdC9nbC9nc3RnbGZ1bmNzLmg6OTM6MjQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0dTVF9HTF9FWFRfRlVOQ1RJT04nCgkgIHJldCAoR1NUR0xBUEkgKm5hbWUpIGFyZ3M7CgkgIF5+fn4KCSAgL3Vzci9pbmNsdWRlL2dzdHJlYW1lci0xLjAvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6MzM6MjM6IGVycm9yOiAnR0xzeW5jJyBoYXMgbm90IGJlZW4gZGVjbGFyZWQKCSAgKEdMc3luYyBzeW5jKSkKCSAgXn5+fn5+CgkgIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2ODc5CgoyMDE4LTA3LTE5IDE3OjMxOjAzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9ydHAvZ3N0cnRwTDhwYXkuYzoKCSAgcnRwTDhwYXk6IGRvbid0IHRyeSB0byBtb2RpZnkgYSByZWFkLW9ubHkgc3RydWN0dXJlCgkgIEp1c3QgcmVtb3ZlIHRoZSBjb2RlLiBJdCdzIG5vdCBkb2luZyBhbnl0aGluZyB1c2VmdWwgYW55d2F5cy4gVGhlIG1vZGlmaWVkCgkgIGNhcHMgYXJlIHRoZSByZXN1bHQgb2YgYSBjYXBzIHF1ZXJ5LCBzbyBlaXRoZXIgbm90IHVzZWQgYWZ0ZXJ3YXJkcyBvZiBhCgkgIHJlZmVyZW5jZSB0byBzb21lIGludGVybmFsIGNhcHMgb2YgYW5vdGhlciBlbGVtZW50IHRoYXQgc2hvdWxkIG5vdCBiZQoJICBtb2RpZmllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjgzNwoKMjAxOC0wNy0xMyAxOTo0NToxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cDogVXNlIHJ1bm5pbmdfdGltZSBpbnN0ZWFkIG9mIFBUUyBmb3IgY29uZmlnLWludGVydmFsIGNhbGN1bGF0aW9ucwoJICBQVFMgY2FuIHN0YXJ0IGFnYWluIGZyb20gYSBkaWZmZXJlbnQgb2Zmc2V0IHdoaWxlIHRoZSBydW5uaW5nIHRpbWUgaXMKCSAgaW5jcmVhc2luZy4gVGhlIG9ubHkgdGhpbmcgdGhhdCBtYXR0ZXJzIGhlcmUgaXMgdGhlIHJ1bm5pbmcgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjgwNwoKPT09IHJlbGVhc2UgMS4xNC4yID09PQoKMjAxOC0wNy0yMCAwMDo1NDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTQuMgoKMjAxOC0wNy0yMCAwMDo1NDo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xbWxnbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBVcGRhdGUgZG9jcwoKMjAxOC0wNy0xNyAwODoyMzo1NCArMDIwMCAgScOxaWdvIEh1Z3VldCA8aW5pZ29odWd1ZXRAZmFuYW1vZWwuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2wuaDoKCSAgcW1sZ2w6IEZpeCBjb25mbGljdGluZyBkZWNsYXJhdGlvbiBvZiB0eXBlIEdMc3luYyBmb3Igbm9uLWFuZHJvaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjgyMQoKMjAxOC0wNi0yMCAxMDowMzo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBQcm90ZWN0IGlucHV0IHN0cmVhbSB3aXRoIGxvY2sKCSAgVGhpcyB3YXMgdGhlIGxhc3QgcmVtYWluaW5nIHBsYWNlIHdoZXJlIG1vZGlmeWluZy91bnJlZmZpbmcgdGhlCgkgIGlucHV0IHN0cmVhbSB3YXMgbm90IHByb3RlY3RlZCBieSB0aGUgbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NjM5CgoyMDE4LTA2LTE4IDEyOjEzOjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogTWFrZSBzdXJlIGV2ZW50cyBhcmUgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgdGhlaXIgc2VxbnVtCgoyMDE4LTA3LTEzIDE2OjUxOjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVmFsaWRhdGUgdGhhdCBjYXB0dXJlIGJ1ZmZlcnMgd2VyZSBxdWV1ZWQKCSAgV2hlbiB0aGUgcG9vbCBpcyBzdGFydGVkLCB3ZSBhbGxvY2F0ZSBhbmQgcmVsZWFzZSBidWZmZXIsIGV4cGVjdGluZwoJICB0aGUgcG9vbCByZWxlYXNlLWJ1ZmZlciBoYW5kbGVyIHRvIHF1ZXVlIHRoZW0uIFRob3VnaCwgYXMgd2UgcmVseQoJICBvbiByZWxlYXNlIGZ1bmN0aW9uLCB0aGVyZSBpcyBubyBkaXJlY3Qgd2F5IHRvIGRldGVjdCB0aGF0IHRoaXMKCSAgcHJvY2VzcyBkaWRuJ3Qgd29yay4KCSAgVG8gY2hlY2sgdGhpcywgdmFsaWRhdGUgdGhhdCB0aGUgbnVtYmVyIG9mIHF1ZXVlZCBidWZmZXIgaXMgdGhlIHNhbWUKCSAgYXMgdGhlIG51bWJlciBvZiBhbGxvY2F0ZWQgYnVmZmVycy4gVGhpcyBhbGxvdyByZXR1cm5pbmcgYW4gZXJyb3IKCSAgd2hlbiBidWZmZXIgaW1wb3J0YXRpb24gd2FzIHJlZnVzZWQgYnkgdGhlIGRyaXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4Mzg5MAoKMjAxOC0wNy0xMyAxNjowMjowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IE9ubHkgcmV0dXJuIGVvcyBmb3IgTTJNIGRldmljZXMKCSAgVGhpcyB3aWxsIGF2b2lkIHNlbmRpbmcgRU9TIG9uIHY0bDJzcmMgd2hlbiBhIGRyaXZlciBzZW5kcyBhbiBlbXB0eQoJICBidWZmZXJzLiBUaGlzIGNhc2Ugd291bGQgYmUgYSBidWcgaW4gdGhlIGRyaXZlciwgYnV0IHlldCB0aGUgY2FtZXJhCgkgIHNob3VsZCBrZWVwIHJ1bm5pbmcuCgkgIFRoaXMgYWxzbyByZW1vdmVzIHRoZSBjaGVjayBmb3IgY29ycnVwdGVkIGJ1ZmZlcnMsIGFzIHRoaXMgY2hlY2sgaXMKCSAgYWxyZWFkeSBkb25lIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0ODQyCgoyMDE4LTA3LTEzIDE1OjU4OjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBBZGQgYSBtYWNybyB0byBjaGVjayBmb3IgTTJNCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ4NDIKCjIwMTgtMDctMTMgMTQ6NDE6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IHVzZXJwdHIgaW1wb3J0YXRpb24KCSAgVGhlIGxlbmd0aCBwYXNzZWQgdG8gdGhlIGRyaXZlciB3YXMgYWx3YXlzIDAgaW5zdGVhZCBvZiB0aGUgc2l6ZSBvZgoJICB0aGUgbWVtb3J5LiBUaGlzIHdvdWxkIGZhaWwgdmFsaWRhdGlvbiBpbiB2aWRlb2J1ZjIuCgoyMDE4LTA3LTExIDEyOjIxOjQ0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBUcnkgdG8gYXZvaWQgVFJZX0ZNVCB3aGVuIGNhbWVyYSBpcyBzdHJlYW1pbmcKCSAgU29tZSBjYW1lcmEgZmlybXdhcmUgY3Jhc2ggaXMgVFJZX0ZNVCBpcyBjYWxsZWQgZHVyaW5nIHN0cmVhbWluZy4gQXMgYQoJICBzaWRlIGVmZmVjdC4gVGhpcyB0cnkgYW5kIGRldGVjdCB0aGF0IHRoZSBzYW1lIGZvcm1hdCBhcyBjdXJyZW50bHkKCSAgcnVubmluZyBpcyBhYm91dCB0byBiZSB0cmllZCwgYW5kIHNraXAgcmVuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Njc4OQoKMjAxOC0wNy0wOSAxMzo1OTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJvdGVjdCBkb3VibGUgY2FsbHMgdG8gc2V0X2Zvcm1hdCgpCgkgIEluIHNvbWUgY2FzZXMsIHNldF9mb3JtYXQoKSBtYXkgZ2V0IGNhbGxlZCB0d2ljZSBiZWZvcmUgdGhlIG91dHB1dAoJICBmb3JtYXQgaXMgc2V0LiBSdW5uaW5nIGFuIGFsbG9jYXRpb24gcXVlcnkgaW4gdGhpcyBjYXNlIGlzIGJvdGggbm90CgkgIG5lZWRlZCBhbmQgd2lsbCBjYXVzZSBhc3NlcnRpb24gZHVlIHRvdCBoZSBOVUxMIGNhcHMuCgoyMDE4LTA3LTA4IDIwOjA4OjE4IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBNYXJrIGFzIEF1ZGlvIGluIGNsYXNzaWZpY2F0aW9uCgoyMDE4LTA2LTI4IDE5OjA4OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSAgdjRsMnZpZGVvZW5jOiBPbmx5IHJlbmVnb3RpYXRlIHdpdGggdXBzdHJlYW0KCSAgV2hlbiB0aGUgZGVjb2RlciBnZXQgbGlua2VkIGZ1cnRoZXIsIGl0IHdpbGwgcmVjZWl2ZSBhIHJlbmVnb3RpYXRpb24KCSAgZXZlbnQgZnJvbSBkb3duc3RyZWFtLiBUaGlzIGNhc2UgaXMgbm90IHN1cHBvcnRlZCBhbmQgc2hvdWxkIGJlIGlnbm9yZWQuCgkgIFRoaXMgZml4ZXMgaXNzdWVzIHdoZW4gdGhpcyBlbmNvZGVyIGlzIHVzZWQgaW5zaWRlIGFuIEdzdFJ0c3BTZXJ2ZXIKCSAgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY1MjUKCjIwMTgtMDYtMjIgMTQ6NTY6MzEgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IERvbid0IHNldCBjb2xvcmltZXRyeSBvbiBjYXB0dXJlCgkgIFRoZSBjb2xvcmltZXRyeSB3aWxsIGJlIHNldCBhbG9uZyB3aXRoIHRoZSByYXcgZm9ybWF0IGFuZCB0aG9zZSBmaWVsZHMKCSAgd2lsbCB0aGVuIGJlIGNvcGllZCBmcm9tIHNpbmsgdG8gc3JjIGNhcHMgYnkgdGhlIGdzdCBlbmNvZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNDcxCgoyMDE4LTA2LTI3IDE2OjU3OjI5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFJlYWxseSBhbHdheXMgc2V0IGNvbG9yaW1ldHJ5CgkgIFRoaXMgZml4ZXMgcGF0Y2ggZGQxYzVhZWQ2NTZlMDdlM2RhZDAxZjgzNDEwZjNhZjE2Y2ZiMTRjZiB3aGljaAoJICBwcmV0ZW5kZWQgdG8gYWx3YXlzIHNldCBjb2xvcmltZXRyeSBidXQgdGhlIHBhdGNoIHdhcyBpbmNvbXBsZXRlLgoJICBUaGlzIGlzIGFnYWluIGJlc3QgZWZmb3J0IGNvbnNpZGVyaW5nIHRoZSBzcGVjIHNheXMgdGhhdCBmb3IgQ0FQVFVSRQoJICB5b3UgbWF5IG9ubHkgcmVhZCB0aGlzIHZhbHVlLgoKMjAxOC0wNi0yNiAxNTowNDozOSArMDIwMCAgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBkbyBub3QgY2FsbCBzdHJlYW1vbiB3aGlsZSBwb29sIGlzIGZsdXNoaW5nCgkgIGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZsdXNoKCkgZXhlY3V0ZXMgc3RyZWFtb2ZmIGZvciB0aGUgb3V0cHV0LCBidXQKCSAgc3RyZWFtb2ZmLT5zdHJlYW1vbiBmb3IgdGhlIGNhcHR1cmUgb2YgdGhlIGRlY29kZXIuCgkgIGdzdF92NGwyX2J1ZmZlcl9wb29sX3N0cmVhbW9uKCkgb24gY2FwdHVyZSBhc3N1bWVzIHRoYXQgaXMgYWJsZSB0bwoJICByZXN1cnJlY3QgdGhlIGJ1ZmZlcnMgZnJvbSB0aGUgcG9vbCwgYnV0IGFjcXVpcmluZyBidWZmZXJzIGZhaWxzIGlmIHRoZQoJICBidWZmZXIgcG9vbCBpcyBzdGlsbCBmbHVzaGluZy4KCSAgVGhlIGRlY29kZXIgbmVlZHMgdG8gc3RvcCBmbHVzaGluZyB0aGUgcG9vbHMgYmVmb3JlIGNhbGxpbmcKCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmx1c2goKSB0byByZXN0YXJ0IHRoZSB2NGwyIGRldmljZS4gT3RoZXJ3aXNlCgkgIHN0YXJ0aW5nIHRoZSBkZWNvZGluZyB0aHJlYWQgbWlnaHQgZmFpbCwgYmVjYXVzZSB0aGVyZSBhcmUgbm8gYnVmZmVycyBpbgoJICB0aGUgY2FwdHVyZSBwb29sLgoJICBUaGlzIGZpeGVzIGEgcmVncmVzc2lvbiB0aGF0IHdhcyBpbnRyb2R1Y2VkIGluIDk3OTg1YTMzNWM3OAoJICAoInY0bDJ2aWRlb2RlYzogQWRkIGR5bmFtaWMgcmVzb2x1dGlvbiBjaGFuZ2Ugc3VwcG9ydCIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NjgxCgoyMDE4LTA2LTI1IDE2OjAzOjE3ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiB1c2UgU19TRUxFQ1RJT04gaW5zdGVhZCBvZiBTX0NST1AgaW4gZ3N0X3Y0bDJfb2JqZWN0X3NldF9jcm9wCgkgIFRoZSBTX0NST1AgY2FsbCBkb2Vzbid0IHdvcmsgb24gbWVtMm1lbSBvdXRwdXQgcXVldWVzLiBVc2UgdGhlCgkgIFNfU0VMRUNUSU9OIGNhbGwgdG8gc2V0IHRoZSBjcm9wIHJlY3RhbmdsZSBhbmQgb25seSBmYWxsIGJhY2sgdG8KCSAgU19DUk9QIGZvciBhbmNpZW50IGtlcm5lbHMuCgkgIFRoaXMgd2lsbCBhbGxvdyB2NGwydmlkZW9lbmMgdG8gc2V0IHRoZSBjb2RlZCBzaXplIG9uIHRoZSBvdXRwdXQKCSAgcXVldWUgdmlhIFNfRk1UIGFuZCB0aGVuIHNldCB0aGUgdmlzaWJsZSBzaXplIHZpYSB0aGUgY3JvcCByZWN0YW5nbGUsCgkgIGFzIHJlcXVpcmVkIGJ5IHRoZSBWNEwyIGNvZGVjIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjY3MgoKMjAxOC0wNi0yNyAxMzo0NjowMCArMDAwMCAgTWFyaWFuIE1paGFpbGVzY3UgPG1paGFpbGVzY3UybUBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSAgdjRsMnZpZGVvZW5jOiBhY3RpdmF0ZSBjYXB0dXJlIHBvb2wgYWZ0ZXIgb3V0cHV0IHBvb2wKCSAgU29tZSBkcml2ZXJzIG5lZWQgb3V0cHV0IGJ1ZmZlcnMgc2V0IGJlZm9yZSBjYXB0dXJlIGJ1ZmZlcnMuCgkgIENPREEgY2Fubm90IHNldCBvdXRwdXQgZm9ybWF0IGlmIGNhcHR1cmUgaXMgc3RyZWFtaW5nLgoJICBFeHlub3MgTUZDIGZhaWxzIG9uIG91dHB1dCBTVFJFQU1PTiBpZiBjYXB0dXJlIGlzIGFscmVhZHkgc3RyZWFtaW5nLgoJICBUaGlzIHBhdGNoIGRlbGF5cyBjYXB0dXJlIGFjdGl2YXRpb24gdW50aWwgb3V0cHV0IGlzIGNvbmZpZ3VyZWQgYW5kCgkgIHN0cmVhbWluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NjkzCgoyMDE4LTA1LTE2IDIwOjE2OjQ0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IG9wZW4gdGhlIGRldmljZSBpbiBnZXQgcHJvcGVydHkKCSAgVGhpcyBpcyBib3RoIHJhY3kgYW5kIGluZWZmaWNpZW50LiBUaGlzIGZ1bmN0aW9uIGlzIHN0aWxsIG1pc3Npbmcgc29tZQoJICBsb2NraW5nIHdoaWNoIHdpbGwgYmUgYWRkcmVzcyBpbiBsYXRlciBwYXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjE4NQoKMjAxOC0wNS0xMiAwODowMzoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBGaXggdHlwbyBpbiBkZWJ1ZyBtZXNzYWdlcwoJICBJdCdzIGEgZGVjb2Rlciwgbm90IGFuIGVuY29kZXIgOikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTk0MQoKMjAxOC0wNS0yOCAxNToxOTo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERyb3AgdHJ1bmNhdGVkIGZyYW1lcwoJICBEcm9wIHRydW5jYXRlZCBmcmFtZXMgcmVnYXJkbGVzcyBpZiB0aGV5IGhhdmUgdGhlIEVSUk9SIGZsYWcgb3Igbm90LgoJICBUcnVuY2F0ZWQgZnJhbWUgY2F1c2VzIHZpZGVvIGZyYW1lIG1hcCBmYWlsdXJlIGluIG1hbnkgZWxlbWVudHMKCSAgaW5jbHVkaW5nIGNsdXR0ZXJzaW5rLCBnbHVwbG9hZCBldGMuCgoyMDE4LTA1LTI3IDIwOjI5OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc3RvcmFnZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHB1bHBmZWMuYzoKCSAgdGVzdHM6IHJ0cHN0b3JhZ2U6IGZpeCBwb3RlbnRpYWwgY3Jhc2hlcyAvIHRlc3QgZmFpbHVyZXMgb24gMzItYml0CgkgIFBhc3MgNjQgYml0cyB0byBnX29iamVjdF9zZXQoKSBmb3IgNjQtYml0IGludGVnZXIgcHJvcGVydGllcyBsaWtlCgkgIHJ0cHN0b3JhZ2UncyAic2l6ZS10aW1lIiBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjQyOQoKPT09IHJlbGVhc2UgMS4xNC4xID09PQoKMjAxOC0wNS0xNyAxMzoyNTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTQuMQoKMjAxOC0wNS0xNyAxMzoyNTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xbWxnbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBVcGRhdGUgZG9jcwoKMjAxOC0wNS0xNyAxMjozNzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2hyLnBvOgoJICBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE4LTA1LTE1IDE0OjU2OjA0IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogYWxzbyBwdXNoIGJ1ZmZlcnMgd2l0aG91dCBlbmNyeXB0aW9uIGluZm8gaW5zdGVhZCBvZiBkcm9wcGluZyB0aGVtIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDc2MmU5YzY0NWVjMTM1MTNjNjJlYjVhMzgwMGQ3NDA2ZTAxY2RjYjcuCgkgIFRoaXMgd2FzIHB1c2hlZCBieSBtaXN0YWtlCgoyMDE4LTA1LTE1IDE0OjU1OjU4IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBSZXZlcnQgInF0ZGVtdXg6IGFkZCBjb250ZXh0IGZvciBhIHByZWZlcnJlZCBwcm90ZWN0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBiYTYyYmE0ODA1ZTJjZGJlZDE3ZmE5OTM0NzYyZDY4NWJlNDJmZDQuCgkgIFRoaXMgd2FzIHB1c2hlZCBieSBtaXN0YWtlCgoyMDE4LTA1LTE1IDE0OjU1OjQ2IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgUmV2ZXJ0ICJzb3VwaHR0cHNyYzogY29va2llIGphciBhbmQgY29udGV4dCBxdWVyeSBzdXBwb3J0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY3MTVhZjk5MzNhNjYwN2U1ZDg2YWM2ZmMxYmNmNDc2NzYxY2JmMTAuCgkgIFRoaXMgd2FzIHB1c2hlZCBieSBtaXN0YWtlCgoyMDE4LTA0LTIyIDEwOjQwOjE5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBBY2NlcHQgc29mLW1hcmtlcj00CgkgIHNvZi1tYXJrZXIgaXMgNCB3aGVuIGlucHV0IGlzIGluIHRoZSBSR0IgY29sb3JzcGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTQ2MwoKMjAxNy0wNC0yNCAxNzoyMjowMiArMDAwMCAgRW5yaXF1ZSBPY2HDsWEgR29uesOhbGV6IDxlb2NhbmhhQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBwdXNoIGJ1ZmZlcnMgd2l0aG91dCBlbmNyeXB0aW9uIGluZm8gaW5zdGVhZCBvZiBkcm9wcGluZyB0aGVtCgoyMDE3LTA2LTIxIDE3OjU5OjIxICswMjAwICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogYWRkIGNvbnRleHQgZm9yIGEgcHJlZmVycmVkIHByb3RlY3Rpb24KCSAgcXRkZW11eCBzZWxlY3RlZCB0aGUgZmlyc3Qgc3lzdGVtIGNvcnJlc3BvbmRpbmcgdG8gYSB3b3JraW5nIEdTdHJlYW1lcgoJICBkZWNyeXB0b3IuIFdpdGggdGhpcyBjaGFuZ2UsIGJlZm9yZSBzZWxlY3RpbmcgdGhhdCBkZWNyeXB0b3IsIHF0ZGVtdXgKCSAgd2lsbCBjaGVjayBpZiBpdCBoYXMgY29udGV4dCAoYSBwcmVmZXJyZWQgZGVjcnlwdG9yIGlkKSBhbmQgaWYgbm90LCBpdAoJICB3aWxsIHJlcXVlc3QgaXQuCgkgIFRoZSByZXF1ZXN0IGluY2x1ZGVzIHRyYWNrLWlkLCBhdmFpbGFibGUga2V5IHN5c3RlbSBpZHMgZm9yIHRoZQoJICBhdmFpbGFibGUgZGVjcnlwdG9ycyBhbmQgZXZlbiB0aGUgZXZlbnRzIHNvIHRoYXQgdGhlIGluaXQgZGF0YSBpcwoJICBhY2Nlc3NpYmxlLgoJICBbZW9jYW5oYUBpZ2FsaWEuY29tOiBzZWxlY3QgdGhlIHByZWZlcnJlZCBwcm90ZWN0aW9uIHN5c3RlbSBldmVuIGlmIG5vdCBhdmFpbGFibGVdCgkgIFRlc3QgIjQuIENsZWFyS2V5VmlkZW8iIGluIFlvdVR1YmUgbGVhbmJhY2sgRU1FIGNvbmZvcm1hbmNlIHRlc3RzIDIwMTYgZm9yCgkgIEguMjY0WzFdIHVzZXMgYSBtZWRpYSBmaWxlWzJdIHdpdGggY2VuYyBlbmNyeXB0aW9uIHdoaWNoIGVtYmVkcyAncHNzaCcgYm94ZXMKCSAgd2l0aCB0aGUgaW5pdCBkYXRhIGZvciB0aGUgUGxheXJlYWR5IGFuZCBXaWRldmluZSBlbmNyeXB0aW9uIHN5c3RlbXMsIGJ1dCBub3QKCSAgZm9yIHRoZSBDbGVhcktleSBlbmNyeXB0aW9uIHN5c3RlbSAoYXMgZGVmaW5lZCBieSB0aGUgRU1FdjAuMWIgc3BlY1szXSBhbmQgd2l0aAoJICB0aGUgZW5jcnlwdGlvbiBzeXN0ZW0gaWQgZGVmaW5lZCBpbiBbNF0pLgoJICBJbnN0ZWFkLCB0aGUgQ2xlYXJLZXkgZW5jcnlwdGlvbiBzeXN0ZW0gaXMgbWFudWFsbHkgc2VsZWN0ZWQgYnkgdGhlIHdlYiBwYWdlCgkgIGNvZGUgKGV2ZW4gaWYgbm90IG9yaWdpbmFsbHkgZGV0ZWN0ZWQgYnkgcXRkZW11eCkgYW5kIHRoZSBwcm9wZXIgZGVjcnlwdGlvbiBrZXkKCSAgaXMgZGlzcGF0Y2hlZCB0byB0aGUgZGVjcnlwdG9yLCB3aGljaCBjYW4gdGhlbiBkZWNyeXB0IHRoZSB2aWRlbyBzdWNjZXNzZnVsbHkuCgkgIFsxXSBodHRwOi8veXQtZGFzaC1tc2UtdGVzdC5jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS91bml0LXRlc3RzLzIwMTYuaHRtbD90ZXN0X3R5cGU9ZW5jcnlwdGVkbWVkaWEtdGVzdCZ3ZWJtPWZhbHNlCgkgIFsyXSBodHRwOi8veXQtZGFzaC1tc2UtdGVzdC5jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS91bml0LXRlc3RzL21lZGlhL2Nhcl9jZW5jLTIwMTIwODI3LTg2Lm1wNAoJICBbM10gaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9odG1sLW1lZGlhL3Jhdy1maWxlL2VtZS12MC4xYi9lbmNyeXB0ZWQtbWVkaWEvZW5jcnlwdGVkLW1lZGlhLmh0bWwjc2ltcGxlLWRlY3J5cHRpb24tY2xlYXIta2V5CgkgIFs0XSBodHRwczovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTI0MDI3I2MyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAxMDcKCjIwMTUtMTAtMjggMTI6MDA6MDkgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogY29va2llIGphciBhbmQgY29udGV4dCBxdWVyeSBzdXBwb3J0CgkgIFVzZSBhIHZvbGF0aWxlIENvb2tpZSBqYXIgdG8gc3RvcmUgY29va2llcyBhbmQgaGFuZGxlIHRoZSBjb250ZXh0CgkgIHF1ZXJ5IHNvIHRoYXQgc2Vzc2lvbiBkYXRhIGNhbiBiZSBzaGFyZWQgd2l0aCBvdGhlciBlbGVtZW50cyAobGlrZQoJICBhZGFwdGl2ZWRlbXV4KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjMxNAoKMjAxNy0wOC0yNSAxMTo1OTowMCArMDIwMCAgTWlraGFpbCBGbHVka292IDxtaXNoYUBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IG9uLWZlZWRiYWNrLXJ0Y3AgcmFjZQoJICBJZiB0aGVyZSBpcyBhbiBleHRlcm5hbCBzb3VyY2Ugd2hpY2ggaXMgYWJvdXQgdG8gdGltZW91dCBhbmQgYmUgcmVtb3ZlZAoJICBmcm9tIHRoZSBzb3VyY2UgaGFzaHRhYmxlIGFuZCB3ZSByZWNlaXZlIGZlZWRiYWNrIFJUQ1AgcGFja2V0IHdpdGggdGhlCgkgIG1lZGlhIHNzcmMgb2YgdGhlIHNvdXJjZSwgd2UgdW5sb2NrIHRoZSBzZXNzaW9uIGluCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfZmVlZGJhY2sgYmVmb3JlIGVtaXR0aW5nICdvbi1mZWVkYmFjay1ydGNwJyBzaWduYWwKCSAgYWxsb3dpbmcgcnRjcCB0aW1lciB0byBraWNrIGluIGFuZCBncmFiIHRoZSBsb2NrLiBJdCB3aWxsIGdldCByaWQgb2YKCSAgdGhlIHNvdXJjZSBhbmQgcnRwX3Nlc3Npb25fcHJvY2Vzc19mZWVkYmFjayB3aWxsIGJlIGxlZnQgd2l0aCBSVFBTb3VyY2UKCSAgd2l0aCByZWYgY291bnQgMC4KCSAgVGhlIGZpeCBpcyB0byBncmFiIHRoZSByZWYgdG8gdGhlIFJUUFNvdXJjZSBvYmplY3QgaW4KCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19mZWVkYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTEzOQoKMjAxNy0xMS0yNyAxMDo1Njo0NyArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBtaXNzaW5nIGxvY2sgYXJvdW5kIHNlc3MtPnNzcmNzIGl0ZXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MTM5CgoyMDE0LTEwLTA1IDE1OjUxOjE4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogZG8gbm90IGFjY2VwdCBoZWFkZXIgd2l0aCBpbnZhbGlkIGNoYW5uZWwgY291bnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzkyOAoKMjAxOC0wNS0xMCAxMzo1NzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbml0aWFsaXplIHJpZmYgbGlicmFyeQoJICBBdm9pZHMgZGVidWdnaW5nIG1lc3NhZ2UgaXNzdWVzLiBBbHNvIGp1c3QgdXNlIHRoZSBtYWluIHJpZmYgaGVhZGVyCgoyMDE4LTA1LTA1IDE2OjMyOjU5ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IGRvbid0IHVzZSBidWZmZXIgbGlzdHMgaWYgZXZlcnl0aGluZyBmaXRzIGludG8gb25lIGJ1ZmZlcgoJICBQZW9wbGUgbWlnaHQgdXNlIHZlcnkgbGFyZ2UgbXR1IHNpemVzIHdoZXJlIGV2ZXJ5IHBheWxvYWQKCSAgZml0cyBpbnRvIGEgc2luZ2xlIG91dHB1dCBwYWNrZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTU3NTgKCjIwMTgtMDQtMjMgMTE6MjY6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IERvbid0IHdha2UgdXAgdGhlIG11eGVyIHVubGVzcyB0aGVyZSBpcyBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUzMzIKCjIwMTgtMDQtMjMgMTE6MTk6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFNhdmUgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gdGhlIG91dHB1dCBzZWdtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUzMzIKCjIwMTgtMDQtMTkgMTc6NTM6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBXYWl0IGZvciBjYXBzIGZyb20gYm90aCBzcmNzIGJlZm9yZSB3cml0aW5nIGhlYWRlcgoJICBXYWl0IGZvciBjYXBzIG9uIGFsbCBwYWRzIHRvIHN0YXJ0IHdyaXRpbmcgZGF0YSBldmVuIHdoZW4gc291cmNlIGlzIGxpdmUuCgkgIEluY2x1ZGVzIHVuaXQgdGVzdCBieSBIYXZhcmQgR3JhZmYgdGhhdCBzaW11bGF0ZXMgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ3MjIKCjIwMTgtMDQtMTYgMjE6Mjc6NDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IERyYWluIHRoZSBwYXJzZXIgd2hlbiBhIENBUFMgZXZlbnQgaXMgcmVjZWl2ZWQKCSAgQWZ0ZXIgYSBDQVBTIGV2ZW50LCBpbiB0aGVvcnkgYSBuZXcgc3RyZWFtIGNhbiBzdGFydCBhbmQgaXQgbWlnaHQgc3RhcnQKCSAgd2l0aCB0aGUgRkxBQyBoZWFkZXJzIGFnYWluLiBXZSBjYW4ndCBkZXRlY3QgRkxBQyBoZWFkZXJzIGluIHRoZSBtaWRkbGUKCSAgb2YgdGhlIHN0cmVhbSwgc28gd2UgZHJhaW4gdGhlIHBhcnNlciB0byBiZSBhYmxlIHRvIGRldGVjdCBlaXRoZXIgRkxBQwoJICBoZWFkZXJzIGFmdGVyIHRoZSBDQVBTIGV2ZW50IG9yIHRoZSBjb250aW51YXRpb24gb2YgdGhlIHByZXZpb3VzIHN0cmVhbS4KCSAgVGhpcyBmaXhlcyBmb3IgZXhhbXBsZQoJICBnc3QtbGF1bmNoLTEuMCBhdWRpb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgZmxhY2VuYyAhIGMuIFwKCSAgYXVkaW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCBmcmVxPTg4MCAhIGZsYWNlbmMgISBjLiBcCgkgIGNvbmNhdCBuYW1lPWMgISBydHBnc3RwYXkgISB1ZHBzaW5rIGhvc3Q9MTI3LjAuMC4xIHBvcnQ9NTAwMAoJICBnc3QtbGF1bmNoLTEuMCB1ZHBzcmMgbXVsdGljYXN0LWdyb3VwPTEyNy4wLjAuMSBwb3J0PTUwMDAgXAoJICBjYXBzPWFwcGxpY2F0aW9uL3gtcnRwLG1lZGlhPWFwcGxpY2F0aW9uLGNsb2NrLXJhdGU9OTAwMDAsZW5jb2RpbmctbmFtZT1YLUdTVCAhIFwKCSAgcnRwZ3N0ZGVwYXkgISBmbGFjcGFyc2UgISBmbGFjZGVjICEgYXVkaW9jb252ZXJ0ICEgcHVsc2VzaW4KCjIwMTgtMDQtMDQgMTU6NTA6NTUgKzAyMDAgIEtpcmlsbCBNYXJpbnVzaGtpbiA8a21hcmludXNoa2luQGRlLmFkaXQtanYuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBoYXJkLWNvZGVkIGVuYWJsZWQgdjRsMiBwcm9iZSBvbiBMaW51eC9BUk0KCSAgQ3VycmVudGx5LCBlbmFibGVfdjRsMl9wcm9iZSBpcyBoYXJkLWNvZGVkIHRvICJ5ZXMiIG9uIGxpbnV4LCBwbGF0Zm9ybXMKCSAgYXJtIGFuZCBhYXJjaDY0LiBUaGlzIGV2ZW4gb3ZlcnJpZGVzIHRoZSAtLWRpc2FibGUtdjRsMi1wcm9iZSBhcmd1bWVudC4KCSAgQXMgYSByZXN1bHQsIGl0IGlzIGltcG9zc2libGUgdG8gZGlzYWJsZSB2NGwyX3Byb2JlLiBJdCBiZWNvbWVzIGEgcHJvYmxlbQoJICBmb3IgdXNlLWNhc2VzLCB3aGVuIHN0YXJ0dXAgdGltZSBpcyBjcml0aWNhbCwgYmVjYXVzZSB0aGUgdjRsMl9wcm9iZQoJICBmZWF0dXJlIGluY3JlYXNlcyB0aGUgaW5pdGlhbGl6YXRpb24gdGltZS4KCSAgVGhpcyBjb21taXQgbWFrZXMgdGhlIHY0bDJfcHJvYmUgZmVhdHVyZSBjb25maWd1cmFibGUuCgkgIE9uIGxpbnV4LCBwbGF0Zm9ybXMgYXJtIGFuZCBhYXJjaDY0LCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyBzdGlsbCAieWVzIi4KCSAgQnV0IG5vdyBpdCBjYW4gYmUgZGlzYWJsZWQgYnkgdGhlIC0tZGlzYWJsZS12NGwyLXByb2JlIGFyZ3VtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MjAwCgoyMDE4LTA0LTEzIDEzOjI5OjA2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IHJlbHkgb24gZ3N0X3Y0bDJfZHVwKCkgdG8gc2V0IG5vX2luaXRpYWxfZm9ybWF0IGFuZCBrZWVwX2FzcGVjdAoJICBnc3RfdjRsMl9kdXAoKSB3aWxsIG5vdyB0YWtlIGNhcmUgb2Ygc2V0dGluZwoJICB2NGwyY2FwdHVyZS0+bm9faW5pdGlhbF9mb3JtYXQgYW5kIGtlZXBfYXNwZWN0IGluc3RlYWQgb2YgZG9pbmcgaXQKCSAgbWFudWFsbHkuCgkgIEZpeCBhIHR5cG8gYXMga2VlcF9hc3BlY3Qgd2FzIHNldCB0d2ljZSBvbiB2NGwyb3V0cHV0IGJ1dCBuZXZlciBvbgoJICB2NGwyY2FwdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTAyOAoKMjAxOC0wNC0xNyAxNzo1NzoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRzcC90ZXN0LW9udmlmLmM6CgkgIFJldmVydCAicnRzcHNyYzogRml4IHVwIHNlbmRvbmx5L3JlY3Zvbmx5IGF0dHJpYnV0ZSBoYW5kbGluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZjI3M2I0ZGU5ZWIyOTJjMGI2YWY2MzY2NWUxMGNhMDE1ODk1OTAyLgoJICBXaGlsZSBSRkMgMzI2NCAoU0RQKSBzYXlzIHRoYXQgc2VuZG9ubHkvcmVjdm9ubHkgYXJlIGZyb20gdGhlIHBvaW50IG9mIHZpZXcgb2YKCSAgdGhlIHJlcXVlc3RlciwgdGhlIGFjdHVhbCBSVFNQIFJGQ3MgKFJGQyAyMzI2IC8gNzgyNikgZGlzYWdyZWUgYW5kIHNheQoJICB0aGUgb3Bwb3NpdGUsIGp1c3QgbGlrZSB0aGUgT05WSUYgc3RhbmRhcmQuCgkgIExldCdzIGZvbGxvdyB0aG9zZSBSRkNzIGFzIHdlJ3JlIGRvaW5nIFJUU1AgaGVyZSwgYW5kIGFkZCBhIHByb3BlcnR5IGF0CgkgIGEgbGF0ZXIgdGltZSBpZiBuZWVkZWQgdG8gc3dpdGNoIHRvIHRoZSBTRFAgUkZDIGJlaGF2aW91ci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzk2NAoKMjAxOC0wNC0xMyAyMjo0OTo0MyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggbGVhawoJICBnc3RfcXRfbXV4X2Nhbl9yZW5lZ290aWF0ZSAoKSBnZXRzIGNhbGxlZCBldmVyeXdoZXJlIGZvbGxvd2luZwoJICB0aGF0IHBhdHRlcm46CgkgIHJldHVybiBnc3RfcXRfbXV4X2Nhbl9yZW5lZ290aWF0ZSAocmVmKHNlbGYpKTsKCSAgVGhpcyBtZWFucyB0aGUgcmVmZXJlbmNlIG11c3QgYmUgcmVsZWFzZWQgYm90aCBpbiB0aGUgc3VjY2VzcwoJICBhbmQgZmFpbHVyZSBjYXNlcywgaXQgd2FzIG9ubHkgZG9uZSBpbiB0aGUgc3VjY2VzcyBjYXNlLgoKMjAxOC0wNC0xMyAyMjo0NDoxNCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGFnZ3JlZ2F0ZSBzaG91bGQgbm90IHB1c2ggRU9TIGl0c2VsZgoJICBJbnN0ZWFkIGl0IGlzIGV4cGVjdGVkIHRvIHJldHVybiBHU1RfRkxPV19FT1MsIGFuZCBsZXQgdGhlCgkgIGJhc2UgY2xhc3MgaGFuZGxlIHRoYXQuCgoyMDE4LTA0LTEzIDIzOjAxOjIwICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogdW5yZWYgcmV0dXJuIG9mIGFnZ3JlZ2F0b3JfcGFkX3BlZWtfYnVmZmVyCgkgIFdlIGVuZGVkIHVwIGxlYWtpbmcgZXZlcnkgc2luZ2xlIGJ1ZmZlciBnb2luZyB0aHJvdWdoIHRoZQoJICBtdXhlciwgd2hpY2ggaXMgZmFyIGZyb20gaWRlYWwKCjIwMTgtMDQtMTEgMjA6Mjg6MDAgKzAwMDAgIFdob29waWUgPHdob29waWU3OUBnbXguY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEaXNhYmxlIERNQUJ1ZiBmb3IgZW11bGF0ZWQgZm9ybWF0cwoJICBsaWJ2NGwyIGRvZXMgbm90IHByZXZlbnQgZXhwb3J0aW5nIERNQUJ1ZiBldmVuIHdoZW4gZW11bGF0ZWQgZm9ybWF0cyBhcmUKCSAgaW4gdXNlLiBBcyBhIHNpZGUgZWZmZWN0LCB1c2Vyc3BhY2UgZW5kcyB1cCB3aXRoIGJ1ZmZlcnMgb2YgdGhlIG9yaWdpbmFsCgkgIGZvcm1hdHMgd2hpY2ggd2lsbCBjYXVzZSBpc3N1ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUwOTcKCjIwMTgtMDQtMDggMjA6NDI6MTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogT25seSB1c2UgQlQyMDIwXzEyIGZvciBCVDIwMjAgdjRsMiBjb2xvcnNwYWNlCgkgIEJUMjAyMF8xMiBpcyBub3QgcmVwcmVzZW50ZWQgaW4gVjRMMiwgc28gZHJpdmVycyBwcm92aWRpbmcgZnVsbCBjb2xvcml0eQoJICBmb3IgQlQyMDIwIHdpbGwgc2V0IFY0TDJfWEZFUl9GVU5DXzcwOSB0cmFuc2ZlciBmdW5jdGlvbi4gVG8gZml4IHRoZQoJICBpc3N1ZSwgd2UgYnVtcCB0aGlzIHRvIEJUMjAyMF8xMiBpZiB0aGUgcmVzb2x0aW9uIGlzIDRLLCBidXQgd2Ugc2hvdWxkCgkgIG9ubHkgZG8gdGhhdCBpZiB0aGUgY29sb3JzcGFjZSBpcyBCVDIwMjAgdG8gc3RhcnQgd2l0aCwgb3RoZXJ3aXNlIGl0J3MKCSAgbm90IHBvc3NpYmxlIHRvIHVzZSBub3JtYWwgQlQ3MDkgZm9yIDRLIDhiaXQgZm9ybWF0cy4KCjIwMTgtMDQtMDggMTM6NDM6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWx3YXlzIHNldCB0aGUgY29sb3JpbWV0cnkgaW4gU19GTVQKCSAgU28gZmFyIHdlIHdlcmUgb25seSBzZXR0aW5nIGNvbG9yaW1ldHJ5IGZvciBPVVRQVVQgZGV2aWNlcyAodjRsMnNpbmsgb3IKCSAgbTJtIHNpbmsgcGFkKS4gVGhpcyBwcmV2ZW50ZWQgc2VsZWN0aW5nIHRocm91Z2ggY2FwcyBuZWdvdGlhdGlvbiB0aGUKCSAgY29sb3JpbWV0cnkgZm9yIENBUFRVUkUgZGV2aWNlcyAodjRsMnNyYyBvciBtMm0gc3JjIHBhZCkuIFRoaXMgaXMgcmFyZWx5CgkgIHNlbGVjdGFibGUsIGJ1dCB0cnlpbmcgaXMgaGFybWxlc3MuCgoyMDE4LTA0LTExIDE3OjU0OjM4ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRG9uJ3Qgc2VuZCBmcmFnbWVudC1vcGVuZWQtY2xvc2VkIG1lc3NhZ2UgaWYgdGhlIHJlZmVyZW5jZSBjdHggaXMgTlVMTAoJICBJdCBjYW4gaGFwcGVuIGR1cmluZyB0ZWFyZG93biB0aGF0IHRoZSByZWZlcmVuY2UgY29udGV4dCBiZWNvbWVzIE5VTEwuCgkgIEluIHRoYXQgY2FzZSwgdHJ5aW5nIHRvIHNlbmQgdGhlIGZyYWdtZW50LW9wZW5lZC1jbG9zZWQgbWVzc2FnZSB3b3VsZAoJICBsZWFkIHRvIGEgY3Jhc2guCgoyMDE4LTA0LTExIDIxOjQxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBPbmx5IGZpeGF0ZSBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgdGhlIGZpZWxkIGV4aXN0cwoKMjAxOC0wNC0xMCAyMToxNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogRml4YXRlIHBpeGVsLWFzcGVjdC1yYXRpbyB0b28gYW5kIG1ha2Ugc3VyZSB0aGUgZmluYWwgY2FwcyBhcmUgY29tcGxldGVseSBmaXhhdGVkCgkgIE90aGVyd2lzZSBlLmcuIHRoaXMgZmFpbHMgd2l0aCBhc3NlcnRpb25zOgoJICBnc3QtbGF1bmNoLTEuMCBhdWRpb3Rlc3RzcmMgISBhdWRpb2NvbnZlcnQgISBtb25vc2NvcGUgISB2aWRlb2NvbnZlcnQgISBcCgkgIHZpZGVvc2NhbGUgISB2aWRlby94LXJhdyx3aWR0aD04MDAsaGVpZ2h0PTYwMCAhIHhpbWFnZXNpbmsKCjIwMTgtMDMtMDggMTA6MTA6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGQgY29tbWVudHMgYW5kIGRvYyBhYm91dCBwcmVmaWxsIG1vZGUKCjIwMTgtMDQtMDQgMDE6NDg6NDQgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHhzZW5kOiBmaXggd3JvbmcgbWVtb3J5IGxheW91dCBhc3N1bXB0aW9uCgkgIFRoZSBjb2RlIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyByZXRyYW5zbWl0dGVkIGJ1ZmZlcnMKCSAgYXNzdW1lZCB0aGUgc3RvcmVkIGJ1ZmZlciBoYWQgYmVlbiBjcmVhdGVkIHdpdGgKCSAgcnRwX2J1ZmZlcl9uZXdfYWxsb2NhdGUgd2hlbiBjb3B5aW5nIHRoZSBleHRlbnNpb24gZGF0YSwKCSAgd2hpY2ggaXNuJ3QgbmVjZXNzYXJpbHkgdGhlIGNhc2UsIGZvciBleGFtcGxlIHdoZW4KCSAgdGhlIHJ0cCBidWZmZXJzIGNvbWUgZnJvbSBhIHVkcHNyYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDk1OAoKMjAxOC0wMy0wNCAxNToxNDowOCArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHF0OiBHZXQgRUdMIG5hdGl2ZSBkaXNwbGF5IGZyb20gUVBBIGlmIHBsYXRmb3JtIGhlYWRlciBpcyBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjM3OAoKMjAxOC0wMy0yMSAwMDoxOTozNyArMDkwMCAgU2V1bmdoYSBZYW5nIDxwdWRkaW5nODc1N0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogRml4IHVua25vd24gdHlwZSBuYW1lIOKAmG9mZl904oCZIGVycm9yCgkgIEZpeCBmb2xsb3dpbmcgYnVpbGQgZXJyb3IKCSAgZ3N0djRsMm9iamVjdC5oOjE5NzoxNzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lIOKAmG9mZl904oCZCgkgIGdpbnQgZmQsICBvZmZfdCBvZmZzZXQpOwoJICBeCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ1MzMKCjIwMTgtMDMtMjIgMTU6MjA6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgc2FtcGxlIGNvdW50IGlzIHZhbGlkIGluIFBJRkYgcGFyc2luZwoJICBUaGUgdmFsdWUgc3RvcmVkIGluIGNlbmNfYXV4X3NhbXBsZV9jb3VudCB3YXNuJ3QgaW4gc3luYyB3aXRoIHRoZQoJICBwYXJzaW5nIGNvZGUgdGhhdCBmb2xsb3dlZCB3aGljaCBjaGVja3Mgd2hldGhlciBhbGwgZW50cmllcyBhcmUKCSAgdmFsaWQgYW5kIHByZXNlbnQuCgkgIE9ubHkgd3JpdGUgdGhlIGFjdHVhbCBzYW1wbGUgY291bnQgd2hlbiB3ZSBrbm93IGZvciBzdXJlLgoJICBDSUQgIzE0MjcwODcKCjIwMTgtMDMtMjAgMTE6MzY6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2VuYy5jOgoJKiBnc3QvcnRwL3J0cHN0b3JhZ2VzdHJlYW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcmVkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHVscGZlYy5jOgoJICBydHA6IEZpeCBjb21waWxhdGlvbiB3aXRoIG5vbi1DOTkgY29tcGlsZXJzCgkgIEJ5IG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgb3V0IG9mIGxvb3AgaGVhZGVycy4KCj09PSByZWxlYXNlIDEuMTQuMCA9PT0KCjIwMTgtMDMtMTkgMjA6MTg6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjE0LjAKCjIwMTgtMDMtMTkgMjA6MTg6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcW1sZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgVXBkYXRlIGRvY3MKCjIwMTgtMDMtMTkgMTg6Mzk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2RlYy5jOgoJICBydHB1bHBmZWNkZWM6IGZpeCBidWlsZCB3aXRoIG9sZGVyIGdjYwoJICBBcyBvbiBVYnVudHUgVHJ1c3R5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0NDkzCgoyMDE4LTAzLTE5IDEwOjU4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBBbGxvdyBzcGxpdHRpbmcgYXQgZXhhY3RseSB0aGUgdGltZS9ieXRlcyB0aHJlc2hvbGQKCSAgNzZlNDU4YTExOTkyNjQyNGU5ZGQ1YWNmMzIxMGE1OTJhMzE0ZDcxMyBjaGFuZ2VkIHRoZSBjb25kaXRpb25zIGZyb20KCSAgInF1ZXVlZCA+IHRocmVzaG9sZCIgdG8gInF1ZXVlZCA+PSB0aHJlc2hvbGQiLCB3aGljaCBicm9rZSBobHNzaW5rMiBhbmQKCSAgcmVzdWx0aW5nIGluIHRvbyBzbWFsbCBmcmFnbWVudHMgYmVpbmcgY3JlYXRlZCBhbHRob3VnaCBrZXlmcmFtZXMgd291bGQKCSAgYmUgYXQgKmV4YWN0bHkqIHRoZSBjb25maWd1cmVkIHRocmVzaG9sZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDQ0MAoKMjAxOC0wMy0xNyAyMDoyOTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvcnRwdWxwZmVjY29tbW9uLmg6CgkgIHJ0cHVscGZlYzogZml4IHVuY29uZGl0aW9uYWwgdXNlIG9mIF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQoJICBGaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDLiBXZSBzdGlsbCBhc3N1bWUgdGhhdCBhdHRyaWJ1dGUKCSAgaXMgc3VwcG9ydGVkIGJ5IGFsbCBvdGhlciByZWxldmFudCBjb21waWxlcnMsIHdoaWNoIHNlZW1zCgkgIHRvIGJlIHRoZSBjYXNlIHNpbmNlIHdlIGhhdmVuJ3QgaGFkIGFueSBjb21wbGFpbnRzIGFib3V0CgkgIHNpbWlsYXIgY29kZSBpbiBydHBzYmNwYXkuCgoyMDE4LTAzLTE3IDEzOjA0OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNlbmMuYzoKCSogZ3N0L3J0cC9ydHB1bHBmZWNjb21tb24uYzoKCSAgcnRwdWxwZmVjOiBkb24ndCB1c2Ugbm9uLXBvcnRhYmxlIG5vdGF0aW9uIGZvciA2NC1iaXQgaW50IGNvbnN0YW50cwoJICBVc2UgR0xpYiBtYWNybyBpbnN0ZWFkLCBldmVuIGlmIGl0J3MgYSBiaXQgdW53aWVsZHkuCgoyMDE4LTAzLTE3IDEyOjU1OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNkZWMuYzoKCSAgcnRwdWxwZmVjZGVjOiBkb24ndCB1c2UgX19idWlsdGluX2N0emxsIHVuY29uZGl0aW9uYWxseQoJICBGaXhlcyBidWlsZCB3aXRoIE1TVkMsIGFuZCBwb3NzaWJseSBvdGhlciBjb21waWxlcnMgdG9vLgoKPT09IHJlbGVhc2UgMS4xMy45MSA9PT0KCjIwMTgtMDMtMTMgMTk6MTY6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjEzLjkxCgoyMDE4LTAzLTEzIDE5OjE2OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXFtbGdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFVwZGF0ZSBkb2NzCgoyMDE4LTAzLTEyIDEzOjIxOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGRvY3M6IHJ0cGJpbjogYWRkIHNvbWUgU2luY2UgbWFya2VycyBmb3IgbmV3IHByb3BlcnRpZXMKCjIwMTgtMDMtMTAgMTg6NTc6MzggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBkZXZpY2Vwcm92aWRlciBjaGFuZ2VzIHRvIGRpcmVjdHNvdW5kc2luawoJICBUaGVzZSB3ZXJlIG1pc3NlZCB3aGVuIHRoZXkgd2VyZSBhZGRlZCB0byBNYWtlZmlsZS5hbQoKMjAxOC0wMy0wOCAxMDoxMjoxNiArMDEwMCAgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZW5hYmxlIGxhcmdlZmlsZSBzdXBwb3J0IGlmIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMxMDMKCjIwMTgtMDMtMDcgMTQ6MTY6MDIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBGaXggc3VwcG9ydCBmb3IgMzJiaXQgbW1hcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzMTAzCgo9PT0gcmVsZWFzZSAxLjEzLjkwID09PQoKMjAxOC0wMy0wMyAyMjoxOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTMuOTAKCjIwMTgtMDMtMDMgMjI6MTk6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcW1sZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgVXBkYXRlIGRvY3MKCjIwMTgtMDMtMDEgMTg6MjQ6MzMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBEdXJhdGlvbiAmIHVuaXQgdGVzdHMKCSAgVGhlIG11eGVkIGJ1ZmZlcnMgd2lsbCBub3QgY2FycnkgdGhlIGR1cmF0aW9uIG9mIHRoZQoJICBpbmNvbWluZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNDU3CgoyMDE4LTAzLTAxIDE3OjE1OjAyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBTZXQgUFRTIGJhc2VkIG9uIHJ1bm5pbmcgdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNDU3CgoyMDE4LTAzLTAxIDE4OjEzOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBJZ25vcmUgc2VuZG9ubHkvcmVjdm9ubHkgYXR0cmlidXRlcyB1bmxlc3MgYSBiYWNrY2hhbm5lbCBpcyBjb25maWd1cmVkCgkgIFRoaXMgd29ya3MgYXJvdW5kIGEgYnVnIGluIHZhcmlvdXMgT05WSUYgY2FtZXJhcyB0aGF0IGltcGxlbWVudCB0aGUKCSAgYXR0cmlidXRlcyB0aGUgd3Jvbmcgd2F5IGFyb3VuZC4gVGhleSBzdGlsbCB3b24ndCB3b3JrIHdpdGggYQoJICBiYWNrY2hhbm5lbCBidXQgYXQgbGVhc3Qgbm9ybWFsIHBsYXliYWNrIHdpbGwgd29yayBmb3IgdGhlIHRpbWUgYmVpbmcuCgkgIEl0IHJlc3RvcmVzIHByZS0xLjE0IGJlaGF2aW91ciB3aGVyZSB3ZSB3b3VsZCBmYWlsIHRvIHByZXJvbGwgb24gYW55IFNEUAoJICB0aGF0IGxpc3RzIGEgcmVjdm9ubHkgc3RyZWFtLiBGb3IgMS4xNiBhIGJldHRlciBzb2x1dGlvbiBzaG91bGQgYmUKCSAgZm91bmQuCgkgIFRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB0aGUgT05WSUYgc3BlYyBoYXMgdGhlIG1lYW5pbmcgb2YgdGhlIHR3bwoJICBhdHRyaWJ1dGVzIHRoZSB3cm9uZyB3YXkgYXJvdW5kIGluIHRoZSBleGFtcGxlcywgY29tcGFyZWQgdG8gUkZDNDU2Ni4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzcxNQoKMjAxOC0wMy0wMSAxODoxNjoyNCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGVuYWJsZSBtb3JlIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM5NjEKCjIwMTgtMDMtMDEgMDA6MzQ6MjAgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgUG9ydCB0byBsYXRlc3QgR3N0QWdncmVnYXRvciBzZWdtZW50IEFQSQoJICBUaGUgYWdncmVnYXRvciBzZWdtZW50IGlzIG5vdyBleHBvc2VkIG9uIHRoZSBzcmMgcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM5NDUKCjIwMTgtMDMtMDEgMTU6MzQ6MTMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IERvd25ncmFkZSByYW5rIHRvIG1hdGNoIGRpcmVjdHNvdW5kc3JjIGluIC1iYWQKCSAgQXMgc3RhdGVkIGluIGNvbW1pdCBjMjk1NjAzNmI4ZGE0YjhmMjJhNjNhNGY1YTI1NGJlMDNlODcwYWE2IGluIC1iYWQsCgkgIHRoZSB3YXNhcGkgZWxlbWVudHMgYXJlIG5vdyBiZXR0ZXIgdGhhbiBkaXJlY3Rzb3VuZCwgYW5kIHNob3VsZCBiZQoJICBwcmVmZXJyZWQgaWYgdGhleSBhcmUgYXZhaWxhYmxlLgoJICBGb3IgYSBsYXRlciByZWxlYXNlLCBvbmNlIHRoZSBlbGVtZW50cyBoYXZlIG1vcmUgdGVzdGluZywgd2UgY2FuCgkgIGNvbnNpZGVyIG1vdmluZyB0aGVtIHRvIC1nb29kLgoKMjAxOC0wMi0yOCAxOToyMTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9ubHkgbWFyayBuZXcgY2x1c3RlcnMgYXMga2V5ZnJhbWUgaWYgdGhleSBzdGFydCBvbiBhIGtleWZyYW1lIG9yIHdlJ3JlIG11eGluZyBvbmx5IGF1ZGlvCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI3NzUKCjIwMTgtMDItMjggMTk6MTk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBDbGlwIG1heGltdW0gY2x1c3RlciBkdXJhdGlvbiB0byB0aGUgbWF4aW11bSBwb3NzaWJsZSB2YWx1ZQoJICBPbmx5IHVwIHRvIHRpbWVzY2FsZSAqIEdfTUFYSU5UMTYgaXMgcG9zc2libGUgYXMgY2x1c3RlciBkdXJhdGlvbiwgd2hpY2gKCSAgaXMgYWxyZWFkeSBoaWdoZXIgdGhhbiBvdXIgZGVmYXVsdCB2YWx1ZS4gVXNpbmcgaGlnaGVyIHZhbHVlcyB3b3VsZAoJICBjYXVzZSBvdmVyZmxvd3MgYW5kIGJyb2tlbiBmaWxlcy4KCSAgQmFzZWQgb24gdGhlIGludmVzdGlnYXRpb24gYnkgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI3NzUKCjIwMTgtMDItMjYgMTM6MDM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogUmVmdXNlIGNhcHMgY2hhbmdlcyBhZnRlciBzdGFydGluZyB0byB3cml0ZSBoZWFkZXJzCgkgIE1hdHJvc2thIGRvZXMgbm90IHN1cHBvcnQgY2hhbmdpbmcgdGhlIHN0cmVhbSB0eXBlIGFuZCBzdHJlYW0gcHJvcGVydGllcwoJICBhZnRlciB0aGUgaGVhZGVycyB3ZXJlIHN0YXJ0ZWQgdG8gYmUgd3JpdHRlbiwgYW5kIGZvciBleGFtcGxlIEgyNjQKCSAgY29kZWNfZGF0YSBjaGFuZ2VzIGNhbid0IGJlIHN1cHBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Mjk0OQoKMjAxOC0wMi0yNyAxNjozMzo1MyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHByZWQuYzoKCSAgdGVzdHM6IGZpeCByZWRlbmMgdGVzdHMKCSAgVGhlIGRlZmF1bHQgb2YgdGhlIGFsbG93LW5vLXJlZC1ibG9ja3MgcHJvcGVydHkgd2FzIGNoYW5nZWQgaW4gYQoJICBwcmV2aW91cyBjb21taXQsIHRodXMgYnJlYWtpbmcgdGhlIHRlc3QgYXNzdW1wdGlvbnMKCjIwMTgtMDItMjcgMTM6MTM6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL3J0cHVscGZlY2NvbW1vbi5jOgoJICBydHA6IGZpeCBhbm90aGVyIGRlYnVnIGxvZyBwcmludGYgZm9ybWF0IHdhcm5pbmcgb24gMzItYml0IHN5c3RlbXMKCSAgcnRwdWxwZmVjY29tbW9uLmM6NDMyOjI3OiBlcnJvcjogZm9ybWF0IOKAmCVseOKAmSBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUKCSAg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJksIGJ1dCBhcmd1bWVudCAxMCBoYXMgdHlwZSDigJhndWludDY0IHtha2EgbG9uZyBsb25nIHVuc2lnbmVkIGludH3igJkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzczMgoKMjAxOC0wMi0yNiAxNzowMjo1MiArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IHByb3ZpZGUgZXhhbXBsZSB1c2FnZSBmb3IgaWdub3JlZC1wYXlsb2FkLXR5cGVzCgoyMDE4LTAyLTI2IDE2OjUzOjA4ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cGJpbiwgcnRwcHRkZW11eDogQWRkIG1pc3NpbmcgU2luY2UgbWFya2VycwoKMjAxOC0wMi0yNiAxNTo1NzoyOCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0b3JhZ2UuYzoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNlbmMuaDoKCSAgRkVDIGVsZW1lbnRzOiBkb2N1bWVudCwgcmVtb3ZlIGlycmVsZXZhbnQgcHJvcGVydGllcwoJICBUaGUgdWxwZmVjZW5jICJtdXgtc2VxIiBhbmQgInNzcmMiIHByb3BlcnRpZXMgd2VyZSBpbml0aWFsbHkgYWRkZWQKCSAgYmVjYXVzZSB0aGUgZWxlbWVudCBkaWQgbW9yZSB0aGFuIGltcGxlbWVudCBVTFBGRUMuIEFzIGl0IHdhcwoJICBkZWNpZGVkIHRoYXQgRkxFWEZFQyB3b3VsZCBiZSBpbXBsZW1lbnRlZCBpbiBhIHNlcGFyYXRlIGVsZW1lbnQsCgkgIGJvdGggcHJvcGVydGllcyBhcmUgbm93IHVubmVlZGVkIGFuZCBjb25mdXNpbmcuCgkgIENoYW5nZSB0aGUgZGVmYXVsdCBmb3IgdGhlIHVscGZlY2VuYyBtdWx0aS1wYWNrZXQgcHJvcGVydHksCgkgIGFzIGl0IGlzIGV4cGVjdGVkIHRoYXQgbW9zdCB1c2VycyBvZiB0aGlzIGVsZW1lbnQgd2lsbCBiZSBwcm90ZWN0aW5nIHZpZGVvCgkgIHN0cmVhbXMuCgkgIENoYW5nZSB0aGUgZGVmYXVsdCBwcm9wZXJ0eSBmb3IgdGhlIHJ0cHJlZGVuYyBhbGxvdy1uby1yZWQtYmxvY2tzCgkgIHByb3BlcnR5LCBhcyBpdCBzaG91bGQgYWxzbyBiZSBpdHMgZGVmYXVsdCBtb2RlIG9mIG9wZXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzg0MwoKMjAxOC0wMi0yNCAyMDowNTowNSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBkbyBub3Qgd2FybiB3aGVuIGNhcHMgd2VyZSBub3QgeWV0IHJlY2VpdmVkCgkgIEl0IGlzIGV4cGVjdGVkIHRoYXQgd2hlbiBjb25uZWN0aW5nIHRvIGEgc3RyZWFtIHRoYXQgaGFzCgkgIGFscmVhZHkgc3RhcnRlZCwgdGhlIGNhcHMgd2lsbCBvbmx5IGFycml2ZSBhdCB0aGUgaW50ZXJ2YWwKCSAgc3BlY2lmaWVkIG9uIHJ0cGdzdHBheSwgd2Ugc2hvdWxkbid0IGJlIHdhcm5pbmcgYXMgdGhpcyBpcwoJICBhIG5vcm1hbCBtb2RlIG9mIG9wZXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzc5OAoKMjAxOC0wMi0yMiAyMTo1Mzo0MCArMDEwMCAgQXJuYXVkIEJvbmF0dGkgPGFybmF1ZC5ib25hdHRpQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdWxwZmVjZGVjLmM6CgkgIHJ0cHVscGZlYzogZml4IGRlYnVnIGxvZyBwcmludGYgZm9ybWF0IHdhcm5pbmcgb24gMzItYml0IHBsYXRmb3JtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNzMyCgoyMDE4LTAyLTIyIDE0OjU4OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0b3JhZ2UuYzoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNlbmMuYzoKCSAgZG9jczogaG9vayB1cCBuZXcgUlRQIEZFQyBlbGVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNjk2CgoyMDE4LTAyLTIyIDE0OjU3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXFtbGdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgZ2l0IG1hc3RlcgoKMjAxOC0wMi0yMiAxMDo1NDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmUgbW9yZSB0ZXN0IGJpbmFyaWVzCgoyMDE4LTAyLTIxIDIwOjQ2OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhbHNvIGRpc3QgbmV3IGZlYyB0ZXN0IGhlYWRlciBmaWxlCgoyMDE4LTAyLTIxIDIwOjQ0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBkaXN0IG5ldyBoZWFkZXIgZmlsZXMKCSAgRml4ZXMgbWFrZSBkaXN0Y2hlY2sKCjIwMTgtMDItMjEgMTg6NTI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0b3JhZ2UuYzoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNlbmMuYzoKCSogZ3N0L3J0cC9ydHB1bHBmZWNjb21tb24uYzoKCSogZ3N0L3J0cC9ydHB1bHBmZWNjb21tb24uaDoKCSAgcnRwOiBmZWM6IGZpeCBidWlsZCB3aXRoIGdzdHJlYW1lciBkZWJ1ZyBsb2cgc3lzdGVtIGRpc2FibGVkCgoyMDE4LTAyLTIxIDE5OjU5OjA0ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogZG8gbm8gYXNzdW1lIHNpbmsgY2FwcyBhcmUgbm9uIE5VTEwKCjIwMTgtMDItMjEgMTg6NTE6MTcgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBGaXggdWxwZmVjIHRlc3QgYnVpbGQKCSAgVGhlIHRlc3QgbmFtZSB3YXMgdXBkYXRlZCBidXQgbm90IHRoZSBidWlsZCBkZWZpbml0aW9uCgoyMDE3LTExLTI4IDA2OjAyOjA1ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBFeHBvc2UgRkVDIHN1cHBvcnQgc2lnbmFscwoJICBBbHNvIHNsaWdodGx5IHJlZmFjdG9yIGNvbXBsZXRlX3Nlc3Npb25fc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI2OTYKCjIwMTctMTEtMTcgMDM6NTI6MDMgKzAxMDAgIE1pa2hhaWwgRmx1ZGtvdiA8bWlzaGFAcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHByZWRkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHByZWRkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHByZWRlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHByZWRlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBzdG9yYWdlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RvcmFnZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2RlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2VuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2VuYy5oOgoJKiBnc3QvcnRwL21lc29uLmJ1aWxkOgoJKiBnc3QvcnRwL3J0cHJlZGNvbW1vbi5jOgoJKiBnc3QvcnRwL3J0cHJlZGNvbW1vbi5oOgoJKiBnc3QvcnRwL3J0cHN0b3JhZ2UuYzoKCSogZ3N0L3J0cC9ydHBzdG9yYWdlLmg6CgkqIGdzdC9ydHAvcnRwc3RvcmFnZXN0cmVhbS5jOgoJKiBnc3QvcnRwL3J0cHN0b3JhZ2VzdHJlYW0uaDoKCSogZ3N0L3J0cC9ydHB1bHBmZWNjb21tb24uYzoKCSogZ3N0L3J0cC9ydHB1bHBmZWNjb21tb24uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhY2tldHMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcmVkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHN0b3JhZ2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwdWxwZmVjLmM6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBydHA6IEltcGxlbWVudCBVTFBGRUMgKFJGQyA1MTA5KQoJICBXZSBleHBvc2UgYSBzZXQgb2YgbmV3IGVsZW1lbnRzOgoJICAqIFVMUEZFQyBlbmNvZGVyIC8gZGVjb2RlcgoJICAqIEEgc3RvcmFnZSBlbGVtZW50LCB3aGljaCBzaG91bGQgYmUgcGxhY2VkIGJlZm9yZSBqaXR0ZXJidWZmZXJzLAoJICBhbmQgaXMgdXNlZCB0byBzdG9yZSBwYWNrZXRzIGluIG9yZGVyIHRvIGF0dGVtcHQgcmVjb25zdHJ1Y3Rpb24KCSAgYWZ0ZXIgdGhlIGppdHRlcmJ1ZmZlciBoYXMgc2VudCBQYWNrZXRMb3N0IGV2ZW50cwoJICAqIFJFRCBlbmNvZGVyIC8gZGVjb2RlciAoUkZDIDIxOTgpLCB0aGVzZSBhcmUgbmVjZXNzYXJ5IHRvCgkgIHVzZSBGRUMgaW4gd2VicnRjLCBhcyBicm93c2VycyB3aWxsIHByb3Bvc2UgYW5kIGV4cGVjdCB1bHBmZWMKCSAgcGFja2V0cyB0byBiZSB3cmFwcGVkIGluIHJlZCBwYWNrZXRzCgkgIFdpdGggY29udHJpYnV0aW9ucyBmcm9tOgoJICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCSAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjY5NgoKMjAxNy0xMS0yOCAwMToxMTo1NCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgcnRwcHRkZW11eDogQWRkIGlnbm9yZWQtcGF5bG9hZC10eXBlcyBwcm9wZXJ0eQoJICBQYWNrZXRzIHdpdGggdGhlc2UgcGF5bG9hZCB0eXBlcyB3aWxsIGJlIGRyb3BwZWQuIEEgdXNlIGNhc2UKCSAgZm9yIHRoaXMgaXMgRkVDLCB3aGVyZSB3ZSB3YW50IEZFQyBwYWNrZXRzIHRvIGdvIHRocm91Z2ggdGhlCgkgIGppdHRlcmJ1ZmZlciwgYnV0IG5vdCBiZSBvdXRwdXQgYnkgcnRwYmluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNjk2CgoyMDE3LTExLTIwIDE4OjA4OjM4ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogQWRkIHNzcmMgdG8gb3V0cHV0IGNhcHMKCSAgSXQgbWF5IGJlIHVzZWZ1bCBkb3duc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI2OTYKCjIwMTgtMDItMjEgMTE6MTI6MTAgKzAxMDAgIEFybmF1ZCBCb25hdHRpIDxhcm5hdWQuYm9uYXR0aUBnbWFpbC5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogZml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCByZWNlbnQgZ2xpYgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNjg4CgoyMDE4LTAyLTIxIDExOjM1OjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHF0OiBkb24ndCB1c2UgbGliRUdMIGZ1bmN0aW9ucyB3aGVuIHdlIGRvbid0IGxpbmsgdG8gbGliRUdMCgkgIFVzZSB0aGUgcHJvdmlkZWQgd3JhcHBlciBhdmFpbGFibGUgZnJvbSBsaWJnc3RnbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzU0NwoKMjAxOC0wMi0xOCAyMTozODoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkgIG1vbm9zY29wZTogRm9yd2FyZCB0aGUgU0VHTUVOVCBldmVudCBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbgoJICBPdGhlcndpc2Ugd2UnbGwgYnJlYWsgdGhlIGV2ZW50IG9yZGVyIGFuZCBmb3J3YXJkIHRoZSBTRUdNRU5UIGV2ZW50CgkgIGJlZm9yZSBzZW5kaW5nIGEgQ0FQUyBldmVudC4KCjIwMTgtMDItMTYgMTI6MjU6MjkgKzAwMDAgIEphbWVzIFN0ZXZlbnNvbiA8amFtZXNAc3Rldi5vcmc+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBtaXNzaW5nIHJlYWQgcHJvcGVydHkgb2YgYmFja2NoYW5uZWwKCSAgQWRkIG1pc3NpbmcgcmVhZCBwcm9wZXJ0eSBjb2RlIGZvciBiYWNrY2hhbm5lbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNTA3CgoyMDE4LTAyLTE2IDA5OjQyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRzcC9tZXNvbi5idWlsZDoKCSAgZXhhbXBsZXM6IHJ0c3A6IGZpeCBtZXNvbiBidWlsZCB0YWtlIDIKCjIwMTgtMDItMTYgMTE6MzA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHNwL21lc29uLmJ1aWxkOgoJICBydHNwOiBGaXggbWVzb24uYnVpbGQgb2YgdGhlIGV4YW1wbGUKCjIwMTgtMDEtMjYgMTY6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEltcGxlbWVudCBPTlZJRiBiYWNrY2hhbm5lbCBzdXBwb3J0IHZpYSBUQ1AKCjIwMTctMTAtMTMgMTg6MDU6NTQgKzAzMDAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvcnRzcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRzcC9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvcnRzcC90ZXN0LW9udmlmLmM6CgkgIHJ0c3BzcmM6IEltcGxlbWVudCBPTlZJRiBiYWNrY2hhbm5lbCBzdXBwb3J0CgkgIFNldCBiYWNrY2hhbm5lbD1vbnZpZiB0byBlbmFibGUsIGFuZCB1c2UgdGhlICdwdXNoLWJhY2tjaGFubmVsLXNhbXBsZScKCSAgYWN0aW9uIHNpZ25hbCB3aXRoIHRoZSBjb3JyZWN0IHN0cmVhbSBpZC4KCjIwMTgtMDItMTYgMDE6NDk6NTcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmg6CgkgIHNwbGl0bXV4c3JjOiBJbXByb3ZlIG5vdC1saW5rZWQgaGFuZGxpbmcuCgkgIERvbid0IHJlcG9ydCBub3QtbGlua2VkIHVubGVzcyBhbGwgcGFkcyBoYXZlCgkgIHJldHVybmVkIG5vdC1saW5rZWQuCgoyMDE4LTAyLTE1IDE5OjQ0OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXFtbGdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIG1lc29uLmJ1aWxkOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEzLjEgPT09CgoyMDE4LTAyLTE1IDE3OjA2OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTkVXUzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTMuMQoKMjAxOC0wMi0xNSAxNzowNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xbWxnbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTgtMDItMTUgMTM6MzI6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxOC0wMi0xNCAxNjozODowNyArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2tyQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWxsb3cgdGltZXN0YW1wcyB0byBtb3ZlIGJhY2t3YXJkcwoJICBUaGUgb3JpZ2luYWwgc29sdXRpb24gZm9yICM3ODQwMDIgaW5jb3JyZWN0bHkgYXNzdW1lZCB0aGF0IHRpbWVzdGFtcHMKCSAgbWF5IG5vdCBtb3ZlIGJhY2t3YXJkcyBhbmQgY2hhbmdlZCB0aW1lc3RhbXBzIHRoYXQgZGlkIHNvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MDAyCgoyMDE4LTAyLTE1IDAwOjU4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgZG9jczogcmVtb3ZlIHBvaW50bGVzcyBTaW5jZTogMC4xMC54IG1hcmtlcnMKCjIwMTctMDktMjcgMTY6MDE6MzUgKzAyMDAgIEFsYmFuIEJlZGVsIDxhbGJhbi5iZWRlbEBhdmlvbmljLWRlc2lnbi5kZT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IGZpeCB1bmJvdW5kZWQgbWVtb3J5IHVzYWdlCgkgIEFsbCByZWNlaXZlZCBjb25maWd1cmF0aW9ucyBhcmUgcGFyc2VkIGFuZCBhZGRlZCB0byBhIGxpc3QsIHRoaXMgbGVhZAoJICB0byBhbiB1bmJvdW5kZWQgbWVtb3J5IHVzYWdlLiBBcyB0aGUgY29uZmlndXJhdGlvbiBpcyByZXNlbnQgZXZlcnkKCSAgc2Vjb25kIHRoaXMgcXVpY2tseSBsZWFkIHRvIGEgbGFyZ2UgbWVtb3J5IHVzYWdlLgoJICBBZGQgYSBjaGVjayB0byBvbmx5IGFkZCB0aGUgY29uZmlnIGlmIGl0IGlzIG5vdCBhbHJlYWR5IGF2YWlsYWJsZSBpbgoJICB0aGUgbGlzdC4gVGhpcyBmaXggb25seSBoYW5kbGUgdGhlIHR5cGljYWwgY2FzZSBvZiBhIHdlbGwgYmVoYXZlZAoJICBzdHJlYW0sIGEgbWFsaWNpb3VzIHNlcnZlciBjb3VsZCBzdGlsbCBzZW5kIG1hbnkgdXNlbGVzcwoJICBjb25maWd1cmF0aW9ucyB0byByYWlzZSB0aGUgY2xpZW50IG1lbW9yeSB1c2FnZS4KCjIwMTgtMDItMTIgMTg6NDE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xbWxnbC54bWw6CgkgIGRvY3M6IGFkZCBxdCBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA5NAoKMjAxOC0wMi0xMiAxODozNDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL21lc29uLmJ1aWxkOgoJICBxdDogaG9vayB1cCB0byBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDk0CgoyMDE4LTAyLTEyIDE4OjEzOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSAgTW92ZSBxdCBwbHVnaW4gZnJvbSAtYmFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwOTQKCjIwMTgtMDItMTIgMTU6NDQ6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDE4LTAyLTEwIDIwOjMxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3RrLnhtbDoKCSAgZG9jczogYWRkIG1vdmVkIGd0ayBwbHVnaW4gdG8gZG9jcwoKMjAxOC0wMi0xMCAyMDoyODo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIGdpdCBtYXN0ZXIKCjIwMTgtMDItMTIgMTE6MDI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9tZXNvbi5idWlsZDoKCSAgZ3RrOiBob29rIHVwIHRvIG1lc29uIGJ1aWxkCgoyMDE4LTAyLTEwIDEzOjIwOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJICBndGs6IGhvb2sgdXAgdG8gYXV0b3Rvb2xzIGJ1aWxkCgoyMDE4LTAyLTEwIDEyOjQ5OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSAgTW92ZSBndGsgcGx1Z2luIGZyb20gLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDk0CgoyMDE4LTAyLTA5IDExOjI2OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjb21tZW50IHR5cG8gaW4gcHJldmlvdXMgY29tbWl0CgoyMDE4LTAyLTA5IDExOjIwOjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vcmUgJ21ldGEnIGF0b20gcGFyc2luZyBmaXhlcwoJICBUdXJucyBvdXQgZXZlcnlib2R5IGlzIGRvaW5nIGl0IHRoZWlyIG93biB3YXksIHNvIHBlZWsgaW50byB0aGUKCSAgbWV0YSBhdG9tIGl0c2VsZiB0byBmaWd1cmUgb3V0IHdoaWNoIHNwZWMgaXQgaXMgZm9sbG93aW5nCgoyMDE4LTAyLTAyIDEzOjUxOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgc3ZtaSBhdG9tIGZvciBzdGVyZW9zY29waWMgdmlkZW8gaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzEyMAoKMjAxOC0wMi0wOSAwODo1OTo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNaW5vciBjbGVhbnVwCgkgIEp1c3QgbW92ZSB2YXJpYWJsZXMgdG8gdGhlIGJsb2NrcyB3aGVyZSB0aGV5IGFyZSB1c2VkLgoJICBUaGF0IGZ1bmN0aW9uIGlzIG1hc3NpdmUsIGNvdWxkIGRvIHdpdGggc29tZSBzcGxpdHRpbmcgdXAgZm9yCgkgIHJlYWRhYmlsaXR5IDooCgoyMDE4LTAyLTA5IDA4OjU0OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENvcGUgd2l0aCBkaWZmZXJlbmNlIGJldHdlZW4gUVRGRiBhbmQgSVNPIEJNRkYgc3BlY3MKCSAgVGhlICdtZXRhJyBhdG9tIGlzIGRlZmluZWQgZGlmZmVyZW50bHkgaW4gUVRGRiBhbmQgQk1GRiwgc28gdHJ5CgkgIHRvIGd1ZXNzIHdoaWNoIHNwZWMgdGhlIGN1cnJlbnQgc3RyZWFtIGFwcGxpZXMgdG8gYnkgbG9va2luZwoJICBhdCB0aGUgbWFqb3IgZmlsZSB0eXBlLgoKMjAxOC0wMi0wOSAwODozNTo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGlzb21wNDogTWFrZSAnaGRscicgYXRvbSBkdW1wIG1vcmUgZmxleGlibGUKCSAgVGhlIHNtYWxsZXN0IHBvc3NpYmxlIGlzIDI0IChhbmQgbm90IDI1KSBieXRlcy4KCSAgVGhlIGxhc3QgIm5hbWUiIGZpZWxkIGNhbiBhY2NvcmRpbmcgdG8gUVRGRiBzcGVjaWZpY2F0aW9ucyBub3QgYmUgcHJlc2VudAoJICBhdCBhbGwuIFRoZSBwYXJzZXIgd2lsbCBoYW5kbGUgdGhpcyBmaW5lIGFuZCBzbyB3aWxsIHRoZSByZXN0IG9mCgkgIHRoZSBxdGRlbXV4IGNvZGUuCgoyMDE4LTAyLTA5IDA4OjM1OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSAgVXBkYXRlIE9SQyBmaWxlcwoKMjAxOC0wMi0wOCAxOTowOTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogbWFrZSB2ZXJzaW9uIG51bWJlcnMgaW50cyBhbmQgZml4IGludC9zdHJpbmcgY29tcGFyaXNvbgoJICBXQVJOSU5HOiBUcnlpbmcgdG8gY29tcGFyZSB2YWx1ZXMgb2YgZGlmZmVyZW50IHR5cGVzIChzdHIsIGludCkuCgkgIFRoZSByZXN1bHQgb2YgdGhpcyBpcyB1bmRlZmluZWQgYW5kIHdpbGwgYmVjb21lIGEgaGFyZCBlcnJvcgoJICBpbiBhIGZ1dHVyZSBNZXNvbiByZWxlYXNlLgoKMjAxNy0xMC0wMSAxODoyMToyNiArMDIwMCAgSsOpcsO0bWUgTGFoZXVydGUgPGplcm9tZUBqZXJvbWVsYWhldXJ0ZS5uZXQ+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBidWlsZCBvbiBtYWNPUyB2ZXJzaW9ucyA8IDEyLjAKCSAgVXNlIHZhbHVlIGluc3RlYWQgb2YgdmVyc2lvbiBtYWNybyB3aGVuIHRlc3RpbmcgZm9yIG1hYyBPUyB2ZXJzaW9uLAoJICBzaW5jZSB0aGUgZGVmaW5lIGZvciB0aGUgbmV3ZXIgdmVyc2lvbiBtYXkgbm90IGJlIGRlZmluZWQgd2hlbgoJICBjb21waWxpbmcgYWdhaW5zdCBvbGRlciB2ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODQwMgoKMjAxOC0wMi0wNyAyMDoxNTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBxdDogZG9uJ3QgI2luY2x1ZGUgcGxhdGZvcm0gc3BlY2lmaWMgZ3N0Z2xjb250ZXh0XyouaCBoZWFkZXJzCgkgIFRoZXkgYXJlbid0IHB1YmxpYyBoZWFkZXJzCgoyMDE4LTAyLTA0IDExOjQ3OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYXV0b3Rvb2xzOiB1c2UgLWZuby1zdHJpY3QtYWxpYXNpbmcgd2hlcmUgc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkxODMKCjIwMTctMTItMDQgMjA6MTI6NDAgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgcXRtdXg6IHNlbmQgc3RyZWFtIHdhcm5pbmcgd2hlbiByZWZ1c2luZyB2aWRlbyBjYXBzCgkgIElmIGNvZGVjX2RhdGEgaXMgY2hhbmdlZCwgdGhlIHN0cmVhbSBpcyBubyBsb25nZXIgdmFsaWQuCgkgIFJhdGhlciB0aGFuIGtlZXBpbmcgcnVubmluZyB3aGVuIHJlZnVzaW5nIG5ldyBjYXBzLAoJICB0aGlzIHBhdGNoIHNlbmQgYSB3YXJuaW5nICB0byB0aGUgYnVzLgoJICBBbHNvIGZpeCB1cCBzcGxpdG11eHNpbmsgdG8gaWdub3JlIHRoaXMgd2FybmluZyB3aGlsZSBjaGFuZ2luZyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMDAwCgoyMDE3LTExLTI5IDIxOjMwOjExICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHVwZGF0ZSBvdXRwdXQgY2FwcyByZWdhcmRsZXNzIGZvcm1hdAoJICBgY29kZWNfZGF0YWAgc2hvdWxkIGJlIHRyYW5zZmVyZWQgaWYgYW55IGluZm9ybWF0aW9uIG9mCgkgIFNQUy9QUFMgaXMgY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDAwMAoKMjAxOC0wMS0zMSAxOToxMToxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBpc29tcDQ6IEFkZCBnbWhkL2dtaW4gZGVidWdnaW5nCgkgICogZ21oZCBpcyBhIGNvbnRhaW5lciwgbWFyayBpdCBhcyBzdWNoIHNvIHdlIGNhbiBzZWUvZHVtcAoJICB3aGF0IGlzIGNvbnRhaW5lZCB3aXRoaW4KCSAgKiBBZGQgZHVtcGluZyBmb3IgdGhlIEJhc2UgTWVkaWEgSW5mb3JtYXRpb24gYXRvbSAoZ21pbikKCjIwMTUtMDktMjMgMTA6MDE6MzIgKzAyMDAgIE1hdHRoaWV1IENyYXBldCA8bWNyYXBldEBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogYWRkIHNuYXBzaG90IHByb3BlcnR5CgkgIExpa2UgcG5nZW5jLCBhdXRvbWF0aWNhbGx5IHNlbmQgYW4gRU9TIG1lc3NhZ2UuCgkgIEV4YW1wbGUgb2YgYmluOgoJICBhcHBzcmMgISBqcGVnZW5jIHNuYXBzaG90PXRydWUgISBmaWxlc2luayBsb2NhdGlvbj1vdXQuanBnCgkgIFRoaXMgaXMgZXNwZWNpYWxseSB1c2VmdWwgZm9yIGxpbWl0ZWQvc2xvdyBoYXJkd2FyZS4KCSAgT3RoZXJ3aXNlIGNhbGxpbmcgZ3N0X3ZpZGVvX2NvbnZlcnRfc2FtcGxlKCkgaXMgYSBiZXR0ZXIgb3B0aW9uCgkgIChpbnRlcm5hbGx5IHVzZXMgdmlkZW9jb252ZXJ0IGFuZCB2aWRlb3NjYWxlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ1MwoKMjAxOC0wMS0zMSAxNTowMjo1MCArMDAwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IG1lbW9yeSBsZWFrIG9mIEdBUCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMwNjcKCjIwMTgtMDEtMzEgMTE6Mzg6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4X2R1bXA6IERlbW90ZSB2ZXJib3NlIGxvZ2dpbmcgdG8gVFJBQ0UgbGV2ZWwKCjIwMTgtMDEtMzEgMTE6MjI6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBSZS1lbmFibGUgZnVsbCBkZWJ1ZyBsb2dnaW5nIG9mIHN0c3ogZW50cmllcwoJICBObyBpZGVhIHdoeSBpdCB3YXMgZGlzYWJsZWQgKHdhcyB0aGUgY2FzZSBzaW5jZSAyMDA3KQoKMjAxOC0wMS0zMCAyMDozNDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogdXNlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIHdoZXJlIHN1cHBvcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MTgzCgoyMDE3LTEyLTEyIDAwOjE0OjAyICswOTAwICBTZXVuZ2hhIFlhbmcgPHB1ZGRpbmc4NzU3QGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBSZW1vdmUgd2hpdGUgc3BhY2UgYXQgZW5kIG9mIGxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTQ4MwoKMjAxNy0xMi0xMiAwMDoxMToyNCArMDkwMCAgU2V1bmdoYSBZYW5nIDxwdWRkaW5nODc1N0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2RlYnVnLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBcHBseSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IHRvIGdzdGlzb2ZmCgkgIC4uIGluc3RlYWQgb2YgdGhlIHVzZSBvZiBkZWZhdWx0IGRlYnVnIGNhdGVnb3J5LgoJICBBbmQsIG1ha2UgbmV3IGhlYWRlciB0byBkZWNsYXJlIHRoZSBkZWJ1ZyBjYXRlZ29yeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNDgzCgoyMDE4LTAxLTI1IDAwOjQ2OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogcHJvcGVybHkgc2V0IHRvdGFsIGR1cmF0aW9uIG9uIG91dGdvaW5nIHNlZ21lbnQKCSAgV2Ugd291bGQgYWNjaWRlbnRhbGx5IHBhc3MgdGhyb3VnaCB0aGUgZHVyYXRpb24gdmFsdWUgZnJvbSB0aGUKCSAgZGVtdXhlciBmcm9tIGEgc2luZ2xlIGZyYWdtZW50LCB3aGljaCBjYXVzZXMgcHJvYmxlbXMgd2hlbgoJICBmZWVkaW5nIHRoZSBzdHJlYW0gZnJvbSBzcGxpdG11eHNyYyB0byBydHNwLXNlcnZlci4gU3RyZWFtaW5nCgkgIHdvdWxkIHN0b3AgYWZ0ZXIgb25lIGZyYWdtZW50IGR1ZSB0byB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyODYxCgoyMDE4LTAxLTI1IDAwOjQyOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogZG9uJ3QgcmVzcG9uZCB0byBkdXJhdGlvbiBxdWVyeSB3aXRoIENMT0NLX1RJTUVfTk9ORQoJICB0b3RhbF9kdXJhdGlvbiBpcyBpbml0aWFsaXNlZCB0byBDTE9DS19USU1FX05PTkUsIG5vdCAwLCBzbyBjaGVjawoJICBmb3IgdGhhdCBhcyB3ZWxsIGluIG9yZGVyIG5vdCB0byByZXR1cm4gYW4gaW52YWxpZCBkdXJhdGlvbiB0bwoJICBhIGR1cmF0aW9uIHF1ZXJ5LiBEb2Vzbid0IGZpeCBhbnl0aGluZyBwYXJ0aWN1bGFyIG9ic2VydmVkIGluCgkgIHByYWN0aWNlLCBqdXN0IHNlZW1lZCBpbmNvbnNpc3RlbnQuCgoyMDE4LTAxLTI1IDIwOjQ4OjQyICswMTAwICBBbGljaWEgQm95YSBHYXJjw61hIDxhYm95YUBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBtb3JlIHByb3NlIHRvIHRoZSBjb21tZW50IG9mIGdzdF9xdGRlbXV4X2ZpbmRfc2FtcGxlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjkxMAoKMjAxMS0wMi0wOSAxMjo0ODowMCArMDAwMCAgT2xla3NpaiBSZW1wZWwgPGxpbnV4QHJlbXBlbC1wcml2YXQuZGU+CgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJICB2cHg6IGFkZCBWUDhfREVCVUdfVFhUXyogZmxhZ3MgZm9yIHBvc3Rwcm9jZXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEzOTkKCjIwMTgtMDEtMjUgMjE6MjI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogQWRkIG1pc3NpbmcgXCBpbiBtdWx0aS1saW5lICNkZWZpbmUKCjIwMTgtMDEtMjIgMTU6MDc6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZGRldmljZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRkZXZpY2UuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IEFkZCBzdXBwb3J0IGZvciBhIERldmljZVByb3ZpZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI3ODIKCjIwMTgtMDEtMjMgMTg6Mzc6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCB1cCB1cmkgaGFuZGxlciBhIGxpdHRsZQoJICBGaXggcGF0aCBlc2NhcGluZyB3aGVuIGNyZWF0aW5nIFVSSSBmcm9tIGxvY2F0aW9uIGluIGdldF91cmkoKS4KCSAgUmV0dXJuIEZBTFNFIHdpdGggYW4gZXJyb3Igd2hlbiBVUkkgY2FuJ3QgYmUgcGFyc2VkIGluIHNldF91cmkoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzU4MQoKMjAxNy0wNi0xNSAxMzozNzoyOCArMDIwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGltcGxlbWVudCB1cmkgaGFuZGxlcgoJICBXaXRoIHRoaXMgcGF0Y2ggd2UgY2FuIG5vdyBwcm92aWRlIGEgc2V0IG9mIGZpbGVzCgkgIGNyZWF0ZWQgYnkgbXVsdGlmaWxlc2luayBhcyBhIHNvdXJjZSBmb3IgdXJpIGVsZW1lbnRzLgoJICBlLmcuIGdzdC1sYXVuY2gtMS4wIHBsYXliaW4gdXJpPW11bHRpZmlsZTovL2ltZyUyNWQucHBtCgkgIE5vdGUgdGhhdCBmb3IgdGhlICVkIHBhdHRlcm4geW91IG5lZWQgdG8gcmVwbGFjZSAlIHdpdGggJTI1LgoJICBUaGlzIGlzIHRvIGJlIGNvbXBsaWFudCB3aXRoIFVSTCBuYW1pbmcgc3RhbmRhcmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNTgxCgoyMDE4LTAxLTE5IDE1OjA1OjI2ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBNYWtlIHN1cmUgdGltZWNvZGUgdXNlcyB0aGUgc2FtZSB0aW1lc2NhbGUgYXMgdmlkZW8KCSAgRG9uJ3QgYmxpbmRseSBkZXJpdmUgaXQgZnJvbSB0aGUgZnJhbWUgcmF0ZSwgYnV0IHRyeSB0byBnZXQgdGhlIHBlci1wYWQKCSAgY29uZmlndXJlZCB0aW1lc2NhbGUgZmlyc3QgKGlmIGl0IGV4aXN0cykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjY4MAoKMjAxOC0wMS0xOCAxODozNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFsbG93IGNvbmZpZ3VyaW5nIHRyYWsgdGltZXNjYWxlIHBlciBwYWQvdHJhawoJICBJdCBnZW5lcmFsbHkgbWFrZXMgbm90IG11Y2ggc2Vuc2UgdG8gY29uZmlndXJlIGl0IGZvciBhbGwgcGFkcy90cmFrcyBhdAoJICBvbmNlIGFzIHRoaXMgdmFsdWUgaXMgdXN1YWxseSBkaWZmZXJlbnQgZm9yIGVhY2ggb2YgdGhlbS4gQXMgc3VjaCwgYWRkIGEKCSAgbmV3IHByb3BlcnR5IG9uIHRoZSBwYWRzIGluIGFkZGl0aW9uIHRvIHRoZSBleGlzdGluZyBwcm9wZXJ0eSBvbiB0aGUKCSAgd2hvbGUgbXV4ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI2NDkKCjIwMTgtMDEtMjMgMDk6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBVcGRhdGUgZm9yIHJlbmFtZWQgYWdncmVnYXRvciBwYWQgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTEyMDQKCjIwMTgtMDEtMjIgMTI6MjQ6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCB1cCBzZW5kb25seS9yZWN2b25seSBhdHRyaWJ1dGUgaGFuZGxpbmcKCSAgV2UgY2FuJ3QgaGFuZGxlIHJlY3Zvbmx5IHN0cmVhbXMsIHNlbmRvbmx5IHN0cmVhbXMgYXJlIHBlcmZlY3RseSBmaW5lLgoJICBUaGUgZGlyZWN0aW9uIGlzIHRoZSBvbmUgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiB0aGUgU0RQIG9mZmVyZXIKCSAgKGkuZS4gdGhlIFJUU1Agc2VydmVyKSwgYW5kIGEgcmVjdm9ubHkgc3RyZWFtIHdvdWxkIGJlIG9uZSB3aGVyZSB0aGUKCSAgc2VydmVyIGV4cGVjdHMgdXMgdG8gc2VuZCBtZWRpYS4KCSAgUkZDIDMyNjQsIHNlY3Rpb24gNS4xOgoJICBJZiB0aGUgb2ZmZXJlciB3aXNoZXMgdG8gb25seSBzZW5kIG1lZGlhIG9uIGEgc3RyZWFtIHRvIGl0cyBwZWVyLCBpdAoJICBNVVNUIG1hcmsgdGhlIHN0cmVhbSBhcyBzZW5kb25seSB3aXRoIHRoZSAiYT1zZW5kb25seSIgYXR0cmlidXRlLgoJICBUaGlzIGlzIG1peGVkIHVwIGluIHRoZSBPTlZJRiBzdHJlYW1pbmcgc3BlY2lmaWNhdGlvbiBleGFtcGxlcywgYnV0CgkgIGFjdHVhbCBpbXBsZW1lbnRhdGlvbnMgYW5kIGNvbmZvcm1hbmNlIHRvb2xzIHNlZW0gdG8gbm90IGNhcmUgYXQgYWxsCgkgIGFib3V0IHRoZSBhdHRyaWJ1dGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyMzc2CgoyMDE3LTExLTExIDEzOjQ5OjIyICswOTAwICBwYXVsLmtpbSA8cGF1bC5oeXVuaWxAbGdlLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBSZXNldCByZXRyeV9jb3VudCB0byAwIHdoZW4gR1NUX0ZMT1dfRkxVU0hJTkcKCSAgSWYgYSBsb3Qgb2Ygc2VlayBtZXRob2QgaXMgY2FsbGVkIHZlcnkgcXVpY2tseSwgc29tZXRpbWVzIGRhdGEgcmVhZGluZwoJICBhbmQgZG9fcmVxdWVzdCBvY2N1cnMgd2hpbGUgc2VlayBmbHVzaCBldmVudCBpcyBvY2N1cnJpbmcgYW5kIGVycm9yCgkgIG9jY3VycyBiZWNhdXNlIHJldHJ5X2NvdW50CgkgIHJlYWNoZXMgdG8gdGhlIG1heC4gVGh1cywgcmVzZXQgcmV0cnlfY291bnQgaWYgZmx1c2ggb2NjdXJzIGFmdGVyCgkgIGRvX3JlcXVlc3QgYW5kIHJlYWRfYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMTk5CgoyMDE4LTAxLTE4IDE1OjA5OjA0ICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIHRlc3RzOiBhYWNwYXJzZXI6IFRlc3QgdGhhdCBzaG9ydCByYXcgZnJhbWVzIGRvbid0IGdldCBjb25jYXRlbmF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjY0NAoKMjAxOC0wMS0xOCAxNDoyMzowNyArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBXaGVuIHBhcnNpbmcgcmF3IGlucHV0LCBhY2NlcHQgZnJhbWVzIG9mIGFueSBzaXplCgkgIFJhdyBBQUMgc3RyZWFtcyBtaWdodCBoYXZlIHZlcnkgc21hbGwgZnJhbWVzLCBlLmcuIDYgYnl0ZSBmcmFtZXMKCSAgd2hlbiBlbmNvZGluZyBzaWxlbmNlLiBUaGVzZSBmcmFtZXMgYXJlIHRoZW4gc21hbGxlciB0aGFuIGFhY3BhcnNlJ3MKCSAgZGVmYXVsdCBtaW5fZnJhbWVfc2l6ZSBvZiAxMCBieXRlcyAoQURUU19NQVhfU0laRSkuCgkgIFdoZW4gcGFzc3Rocm91Z2ggaXMgZGlzYWJsZWQgb3IgYWFjcGFyc2UgaGFzIHRvIG91dHB1dCBBRFRTLCBHc3RCYXNlUGFyc2UKCSAgd2lsbCBjb25jYXRlbmF0ZSB0aGVzZSBzaG9ydCBmcmFtZXMgdG8gdGhlIGZvbGxvd2luZyBmcmFtZSBiZWZvcmUKCSAgaGFuZGxpbmcgdGhlbSB0byBhYWNwYXJzZSwgd2hpY2ggcHJvY2Vzc2VzIGVhY2ggaW5wdXQgYnVmZmVyIGFzIGEgc2luZ2xlCgkgIGZyYW1lLCBwcm9kdWNpbmcgYmFkIG91dHB1dC4KCSAgVG8gYXZvaWQgdGhpcyBwcm9ibGVtLCBzZXQgdGhlIG1pbl9mcmFtZV9zaXplIHRvIDEgd2hlbiByZWNlaXZpbmcgYSByYXcKCSAgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNjQ0CgoyMDE3LTA1LTAyIDIxOjI0OjA2IC0wMzAwICBBZHJpw6FuIFBhcmRpbmkgPGdpdGh1YkB0YW5nb3BhcmRvLmNvbS5hcj4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IHByaW50IGFjdHVhbCB1c2VybmFtZSBpbiBkZWJ1ZyBsb2cgb3V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODIwOTMKCjIwMTgtMDEtMTUgMTg6MTM6MzcgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IGZpeCBsZWFrIG9mIGVsZW1lbnRzIHJlcXVlc3RlZCBieSBzaWduYWxzCgkgIFdoZW4gdGhlIHNpZ25hbCByZXR1cm5zIGEgZmxvYXRpbmcgcmVmZXJlbmNlLCBhcyBpdHMgcmV0dXJuIHR5cGUKCSAgaXMgdHJhbnNmZXIgZnVsbCwgd2UgbmVlZCB0byBzaW5rIGl0IG91cnNlbHZlcyBiZWZvcmUgcGFzc2luZwoJICBpdCB0byBnc3RfYmluX2FkZCAod2hpY2ggaXMgdHJhbnNmZXIgZmxvYXRpbmcpLgoJICBUaGlzIGFsbG93cyB1cyB0byB1bnJlZiBpdCBpbiBiaW5fcmVtb3ZlX2VsZW1lbnQgbGF0ZXIgb24sIGFuZAoJICB0aHVzIHRvIGFsc28gcmVsZWFzZSB0aGUgcmVmZXJlbmNlIHdlIG5vdyBvd24gaWYgdGhlIHNpZ25hbAoJICByZXR1cm5zIGEgbm9uLWZsb2F0aW5nIHJlZmVyZW5jZSBhcyB3ZWxsLgoJICBBcyB3ZSBub3cgc3RpbGwgaG9sZCBhIHJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCB3aGVuIHJlbW92aW5nIGl0LAoJICB3ZSBhbHNvIG5lZWQgdG8gbG9jayBpdHMgc3RhdGUgYW5kIHNldHRpbmcgaXQgdG8gTlVMTCBiZWZvcmUKCSAgdW5yZWZmaW5nIGl0CgkgIEFsc28gdXBkYXRlIHRoZSByZXF1ZXN0X2F1eF9zZW5kZXIgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjU0MwoKMjAxOC0wMS0xNyAxMToxMDozNyArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBkaXZpc2lvbiBieSAwIGZvciBjb21wbGV4IHZpZGVvIGZvcm1hdHMKCSAgU28gY29tcGxleCB2aWRlbyBmb3JtYXRzIGhhdmUgMCBhcyBwc3RyaWRlLiBEb24ndCB0cnkgdG8gZGl2aWRlIHRoZQoJICBzdHJpZGUgaW4gc3VjaCBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjU5NgoKMjAxOC0wMS0xNyAxMTowODoyNSArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRpc3BsYXkgc3RyaWRlIGFuZCB3aWR0aCB2YWx1ZXMgaWYgc3RyaWRlIGlzIHRvbyBzbWFsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNTk2CgoyMDE4LTAxLTE2IDEzOjE5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvY3VtZW50IHVuaXQgb2YgIm1heC1maWxlLWR1cmF0aW9uIiBwcm9wZXJ0eQoKMjAxOC0wMS0xMiAxMjoyMTozNyArMDEwMCAgRmxvcmVudCBUaGnDqXJ5IDxmbG9yZW50LnRoaWVyeUB1YmljYXN0LmV1PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggdHlwbyBpbiBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI0NTgKCjIwMTgtMDEtMTIgMDk6NTM6MzcgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IGFkZCBwcm9wZXJ0eSBzZXQvZ2V0IFBST1BfQ0FQVFVSRV9JT19NT0RFIGVycm9yIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE4NDEKCjIwMTgtMDEtMTIgMDk6NDY6MzAgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IGZvbGQgcHJvcGVydHkgc2V0L2dldCBQUk9QX09VVFBVVF9JT19NT0RFIGNhc2UgaW50byBkZWZhdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE4NDEKCjIwMTgtMDEtMTIgMDk6NDk6MTQgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IGFkZCBwcm9wZXJ0eSBzZXQvZ2V0IFBST1BfQ0FQVFVSRV9JT19NT0RFIGVycm9yIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE4NDEKCjIwMTgtMDEtMTIgMDk6NDQ6MDMgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IGZvbGQgcHJvcGVydHkgc2V0L2dldCBQUk9QX09VVFBVVF9JT19NT0RFIGNhc2UgaW50byBkZWZhdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE4NDEKCjIwMTgtMDEtMTEgMTA6NDQ6MTggKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IGZpeCBjYXB0dXJlLWlvLW1vZGUgcHJvcGVydHkgZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE4NDEKCjIwMTgtMDEtMTEgMTc6NDc6MzkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogTWFpbnRhaW4gZG93bnN0cmVhbSBjYXBzIG9yZGVyCgkgIFRoZSBnX2xpc3RfaW5zZXJ0X3NvcnRlZCgpIHdpbGwgYmVoYXZlIGxpa2UgcHJlcGVuZCB3aGVuIHRoZSBjb21wYXJlCgkgIGZ1bmN0aW9uIHJldHVybnMgMC4gSW4gb3VyIGNhc2UsIHdlIHdhbnQgdG8gbWFpbnRhaW4gdGhlIG9yZGVyIGhlbmNlCgkgIGFwcGVuZC4gVGhpcyBmaXhlcyB0aGlzIGlzc3VlIGFuZCBpbXByb3ZlIHRoZSBzb3J0aW5nIGFsZ29yaXRobSB0byBtYWtlCgkgIGEgMTB4MTAgcHJlZmVyZWQgb3ZlciAxMHgyMDAgd2l0aCBhIHByZWZlcmVuY2Ugb2YgMTB4OCAoYW5kIHNpbWlsYXIKCSAgY2FzZXMgd2hpY2ggd2FzIGJhZGx5IGhhbmRsZWQpLiBUaGlzIGZpeGVzIGdlbmVyYWxseSBmaXhlcyBpc3N1ZSB3ZXJlIGEKCSAgc3ViLW9wdGltYWwgZm9ybWF0IC8gc2l6ZSBpcyBwaWNrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI0MzUKCjIwMTctMTItMjEgMjM6MDI6MzAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IEFsc28gcmUtZW5hYmxlZCBwYXVzZWQgdGFzawoJICBXaGVuIHdlIG9ubHkgcnVuIF9maW5pc2goKSwgdGhlIHRhc2sgaXMgbmV2ZXIgc3RvcHBlZCBleHRlcm5hbGx5LAoJICBpbnN0ZWFkIGl0J3Mgb25seSBwYXVzZWQgZnJvbSB0aGUgaW5zaWRlLiBXZSBzdGlsbCB3YW50IHRvIHJlc3RhcnQKCSAgaXQgaW4gdGhpcyBjYXNlLgoKMjAxOC0wMS0wOCAxNToyMzoyNCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZmx1c2ggZmxhYyBkZWNvZGVyIG9uIGxvc3Qgc3luYy4KCSAgVGhpcyB0byBhbGxvdyB0aGUgZGVjb2RlciB0byBzdGFydCBzZWFyY2hpbmcgZm9yIGEgbmV3CgkgIGZyYW1lIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNDczCgoyMDE3LTEyLTIxIDIyOjU2OjUxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSAgdjRsMnZpZGVvZW5jOiBDYWxsIHN0b3Agb24gb2JqZWN0IGJlZm9yZSByZW5lZ290aWF0aW9uCgkgIE90aGVyd2lzZSByZW5lZ290aWF0aW9uIGZhaWxzIGFzIHdlIGFyZSBzdGlsbCBzdHJlYW1pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTEzMzgKCjIwMTctMTItMjEgMjI6NTU6NDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IFJlbW92ZSBkZWFkIGNvZGUKCSAgZ3N0X3Y0bDJfb2JqZWN0X3N0b3AoKSB3aWxsIGZyZWUgYW5kIG51bGxpZnkgdGhlIHBvb2wsIHNvIHRoZQoJICBmb2xsb3dpbmcgaWYgd2lsbCBuZXZlciBiZSB0cnVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxMzM4CgoyMDE3LTEyLTIxIDIyOjI5OjA2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSAgdjRsMnZpZGVvZW5jOiBEZWxheSBjYXB0dXJlIHBvb2wgYWN0aXZhdGlvbgoJICBUaGlzIGlzIHN1cHBvcnQgQ09EQSBkcml2ZXIgd2hpY2ggcHJldmVudHMgc2V0dGluZyB0aGUgb3V0cHV0IGZvcm1hdCBpZgoJICB0aGUgY2FwdHVyZSBpcyBzdHJlYW1pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTEzMzgKCjIwMTctMTItMTMgMjA6MjM6NDYgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQWRkIGR5bmFtaWMgcmVzb2x1dGlvbiBjaGFuZ2Ugc3VwcG9ydAoJICBUaGlzIGltcGxlbWVudHMgYSAiYmlnIGhhbW1lciIgcmVhbGxvY2F0aW9uIG1ldGhvZC4gV2UgZWZmZWN0aXZlbHkKCSAgZHJhaW4gYW5kIHN0b3AgYm90aCBzaWRlIG9mIHRoZSBkZWNvZGVyIGFuZCByZXN0YXJ0LiBUaGlzIHRob3VnaCBpcwoJICB0aGUgbW9zdCBnZW5lcmljIG1ldGhvZC4gVGhpcyBjaGFuZ2Ugc2hvdWxkIGVuYWJsZSBvbiBtb3N0IGRyaXZlcnMKCSAgYWRhcHRpdmUgc3RyZWFtaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTYyCgoyMDE3LTEyLTMwIDAxOjUyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB6bGliIGlzIG5vdCBhY3R1YWxseSBhIGhhcmQgcmVxdWlyZW1lbnQKCjIwMTctMDktMjggMTg6MDA6MzggLTAzMDAgIEV6ZXF1aWVsIEdhcmNpYSA8ZXplcXVpZWxAdmFuZ3VhcmRpYXN1ci5jb20uYXI+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWc6IEZpeHVwIGZyYW1lcyB3aXRob3V0IGFuIEVPSSBtYXJrZXIKCSAgU29tZSBjYW1lcmFzIGZhaWwgdG8gc2VuZCBhbiBlbmQtb2YtaW1hZ2UgbWFya2VyIChFT0kpCgkgIGFuZCBjYW4ndCBiZSBwcm9wZXJseSBkZWNvZGVkIGJ5IGVpdGhlciBKUEVHIG9yIGxpYmpwZWcuCgkgIFRoaXMgY29tbWl0IHBhcnNlcyB0aGUgZnJhbWUsIG1ha2luZyBzdXJlIGl0IGhhcyBhbiBFT0kuCgkgIElmIHRoZXJlIGlzbid0IG9uZSwgdGhlIEVPSSBnZXRzIGFkZGVkIHRvIHRoZSBidWZmZXIuCgkgIEEgc2ltaWxhciBmaXh1cCBpcyBkb25lIGluIHRoZSBydHBqcGVnZGVwYXkgZWxlbWVudCwKCSAgYW5kIGl0IG1ha2VzIHNlbnNlIHRvIGRvIGl0IGluIGpwZWdkZWMgYXMgd2VsbC4KCSAgU2lnbmVkLW9mZi1ieTogRXplcXVpZWwgR2FyY2lhIDxlemVxdWllbEB2YW5ndWFyZGlhc3VyLmNvbS5hcj4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTk4OAoKMjAxNy0xMi0yNiAxMzo1MDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogc2tpcCB0cmFuc2xhdGlvbnMgaWYgZ2V0dGV4dCBpcyBub3QgYXZhaWxhYmxlCgoyMDE3LTEyLTI0IDEzOjE0OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IGFkZCBydHBMOHBheS9kZXBheSB0byBkb2NzCgoyMDE3LTEyLTI0IDEzOjExOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIHJlY2VudCBjaGFuZ2VzCgoyMDE1LTA1LTE1IDE3OjAwOjI2ICswMTAwICBUaW0gQWxsZW4gPHRpbS5hbGxlbkBnZS5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEw4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMOGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMOHBheS5oOgoJKiBnc3QvcnRwL21lc29uLmJ1aWxkOgoJICBydHA6IGFkZCBMOCBhdWRpbyBzdXBwb3J0CgoyMDE3LTEyLTIzIDEyOjQ1OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCB0eXBvIGluIG11bHRpY2FzdCBqb2luIGVycm9yIG1lc3NhZ2UKCjIwMTctMTItMjMgMTI6NDQ6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBwcm94eSBtdWx0aWNhc3QtaWZhY2UgcHJvcGVydHkgdG8gUlRDUCB1ZHBzcmMKCjIwMTUtMTEtMDIgMDA6NDE6MjggKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGhvdG1haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBkb24ndCB0cnkgdG8gc2V0IElQVjZfVENMQVNTIG9uIElQVjQgc29ja2V0cwoJICBBdm9pZHMgRVJST1IgbG9nIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc0NDkKCjIwMTUtMTEtMDIgMDA6NDE6MjggKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGhvdG1haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgdGVzdHM6IHVkcHNpbms6IGFkZCBjaGVjayB0aGF0IHNldHMgUW9TIG9uIElQdjQvNiBzb2NrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc0NDkKCjIwMTctMTItMjIgMTA6MjE6MjggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyZGV2aWNlcHJvdmlkZXI6IERvbid0IGRvIHNsb3cgcHJvYmVzCgkgIFRoaXMgaXMgcHJvYmxlbWF0aWMgaW4gdGhlIGN1cnJlbnQgZGVzaWduIGF0IGl0IHNlcmlvdXNseSBzbG93IGRvd24KCSAgc3RhcnR1cCBvZiBhcHBsaWNhdGlvbnMuIEFzIG9mIG5vdywgbm8ga25vd24gYXBwbGljYXRpb24gdXNlcyB0aGUKCSAgY29sb3JpbWV0cnkgYW5kIHRoZSBpbnRlcmxhY2UtbW9kZXMgZm9yIGFueXRoaW5nICh0aGUgdHdvIGZpZWxkcyB0aGF0CgkgIHdvbid0IGJlIHByb2JlZCkuIFNvIGxldCdzIGRpc2FibGUgaXQsIGluIHRoZSBsb25nIHRlcm0gd2UnbGwgdHJ5IGFuZAoJICBmaW5kIGEgd2F5IHRvIGludGVyYWN0IHdpdGggdGhlIHByb3ZpZGVyIHNvIGFwcGxpY2FpdG9uIGNvdWxkIG9wdC1pbgoJICB0aGVzZSBzbG93IHByb2JpbmcgbWV0aG9kcyBmb3IgbW9yZSBhZHZhbmNlIGNvbmZpZ3VyYXRpb24uCgoyMDE3LTEyLTIyIDEwOjE1OjQ4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHJlZGVmaW5lIG1tYXA2NAoJICBPbiBMaW51eCwgdGhlcmUgZXhpc3QgYSBjYXNlIHdoZXJlIG1tYXA2NCBpcyBhbHJlYWR5IGEgZGVmaW5lIHRvIG1tYXAsCgkgIHNvIGF2b2lkIHRoZSByZWRlZmluZSB3YXJuaW5nIGhlcmUuCgoyMDE3LTEyLTE5IDE3OjM3OjU4ICswODAwICBUaW5nLVdlaSBMYW4gPGxhbnR3QHNyYy5nbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIG1lc29uLmJ1aWxkOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHVzZSBtbWFwNjQgaWYgb2ZmX3QgaXMgNjQtYml0CgkgIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gbW1hcCBhbmQgbW1hcDY0IGlzIHRoZSB0eXBlIG9mICdvZmZzZXQnIGFyZ3VtZW50LgoJICBtbWFwNjQgYWx3YXlzIHVzZXMgYSA2NC1iaXQgaW50ZXJnZXIgYXMgb2Zmc2V0LCB3aGlsZSBtbWFwIHVzZXMgb2ZmX3QsCgkgIHdob3NlIHNpemUgY2FuIHZhcnkgb24gZGlmZmVyZW50IG9wZXJhdGluZyBzeXN0ZW1zIG9yIGFyY2hpdGVjdHVyZXMuCgkgIEhvd2V2ZXIsIG5vdCBhbGwgb3BlcmF0aW5nIHN5c3RlbXMgc3VwcG9ydCBtbWFwNjQuIEZvcnR1bmF0ZWx5LCBhbHRob3VnaAoJICBGcmVlQlNEIG9ubHkgaGFzIG1tYXAsIGl0cyBvZmZfdCBpcyBhbHdheXMgNjQtYml0IHJlZ2FyZGxlc3Mgb2YKCSAgYXJjaGl0ZWN0dXJlcywgc28gd2UgY2FuIHNpbXBseSB1c2UgbW1hcCB3aGVuIHNpemVvZihvZmZfdCkgPT0gOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTc3OQoKMjAxNy0xMi0yMiAwOToxNzowNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBSZXZlcnQgInY0bDJvYmplY3Q6IFVzZSBtbWFwNjQgdG8gbWF0Y2ggbGlidjRsMiBzaWduYXR1cmUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjYxYmJhNDg0ODhjMGE2MjdkOTBmMDRjYzk5MTdkOGM0ZjNmMGQ5Yi4KCjIwMTctMTItMTkgMTc6Mzc6NTggKzA4MDAgIFRpbmctV2VpIExhbiA8bGFudHdAc3JjLmdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogbWVzb24uYnVpbGQ6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQ2hlY2sgZm9yIG1tYXA2NCBiZWZvcmUgdXNpbmcgaXQKCSAgbW1hcDY0IGlzIG5vdCBhdmFpbGFibGUgb24gRnJlZUJTRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTc3OQoKMjAxNy0xMi0yMCAxNToyMzoyNiAtMDUwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2OiBmbHZtdXggcG9ydGVkIHRvIHRoZSBHc3RBZ2dyZWdhdG9yCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gY3JlYXRlIGEgZmx2IGZpbGUgZnJvbSBhIGxpdmUgc291cmNlIGFuZCBub3Qgc3RvcAoJICB3aGVuIHRoZXJlIGFyZSBwYWNrZXQgZHJvcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI5MjAKCjIwMTctMTItMTkgMTY6NDc6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IENhbGwgZ3N0X2Jhc2Vfc2lua193YWl0X3ByZXJvbGwgb24gdW5sb2NrCgkgIFRoaXMgbWVhbnMgdGhhdCBwYWNrZXRzIHdpbGwgbm90IGJlIGxvc3Qgb24gZmFzdCBwYXVzZS9wbGF5aW5nIGN5Y2xlcy4KCSAgQWxzbyByZWZhY3RvciB0aGUgY29kZSBhIGxpdHRsZSB0byBzaW1wbGlmeSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDk0NQoKMjAxNy0xMi0xOSAxNjoyMjo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSAgZ3RrIGV4YW1wbGU6IEZpeCBjZmxhZ3MgaW4gTWFrZWZpbGUuYW0KCjIwMTctMTItMTkgMTU6NDY6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTctMTItMTkgMTM6MDM6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogZG9uJ3QgaW5jbHVkZSB1bmluc3RhbGxlZCBoZWFkZXIKCjIwMTctMTItMTcgMjA6NTQ6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIGdsOiB1cGRhdGUgcGx1Z2lucyB0byB1c2UgR3N0R0wgZnJvbSAtYmFzZQoKMjAxNy0xMi0xNyAyMDo1NDowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSAgZ2w6IHVwZGF0ZSBwbHVnaW5zIHRvIHVzZSBHc3RHTCBmcm9tIC1iYXNlCgoyMDE3LTEyLTE5IDExOjU3OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggdHdvIGxlYWtzCgkgICogZ3N0X2V2ZW50X25ld19zdHJlYW1fc3RhcnQoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgc3RyZWFtX2lkCgkgICogdGhlIHBpcGVsaW5lX3JlcXVlc3RfaWQgc3RyaW5nIHRoYXQgaXMgY3JlYXRlZCB3YXMgbm90IGJlaW5nIGZyZWVkCgoyMDE3LTEyLTA3IDIyOjA4OjQyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEFkZCBHc3RWaWRlb0Nyb3BNZXRhIHN1cHBvcnQKCSAgSWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGlzIG1ldGEsIGl0IHdpbGwgYWRkIG9yIHVwZGF0ZSBpdCBmcm9tCgkgIHRoZSBHc3RCdWZmZXIgaW4tcGxhY2UgcmF0aGVyIHRoZW4gY29weWluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTQ1MwoKMjAxNy0xMi0xMyAwOToyMjoxNyArMDAwMCAgU2VhbiBEdUJvaXMgPHNlYW5Ac2lvYnVkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIEFkZCBBVjEgdG8gbWF0cm9za2EgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQxNjAKCjIwMTctMTItMTUgMTQ6NDg6MDkgKzAxMDAgIGZlbmdhbGluIDxmZW5nYWxpbkBmcmVlLmZyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYTogZml4IG1lbW9yeSBsZWFrcyBkdWUgdG8gdG9jIHJlbGF0ZWQgdXBkYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNjg2CgoyMDE3LTEyLTE1IDExOjQwOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IEZpeCB2YXJpb3VzIG1lbW9yeSBsZWFrcyBpbiB0aGUgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA2ODYKCjIwMTctMTItMTQgMTk6MDU6MzYgKzAxMDAgIGZlbmdhbGluIDxmZW5nYWxpbkBmcmVlLmZyPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IG1pZ3JhdGUgdGVzdCB0byBnc3RfaGFybmVzcwoJICAuLi4gZm9sbG93aW5nIHRoZSBndWlkZSBsaW5lcyBmcm9tIEjDpXZhcmQgR3JhZmYgKHNlZSBodHRwczovL2dzdGNvbmYudWJpY2FzdC50di92aWRlb3MvbW9hci1iZXR0ZXItdGVzdHMvKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDY4NgoKMjAxNy0xMi0wMSAxODoxNzowNiArMDEwMCAgZmVuZ2FsaW4gPGZlbmdhbGluQGZyZWUuZnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2E6IHJlLWFjdGl2YXRlIGFuZCB1cGRhdGUgVE9DIHN1cHBvcnQKCSAgVE9DIHN1cHBvcnQgaW4gbWFzdHJvc2thbXV4IGhhcyBiZWVuIGRlYWN0aXZhdGVkIGZvciBhIGNvdXBsZSBvZiB5ZWFycy4gVGhpcyBjb21taXQgdXBkYXRlcyBpdCB0byByZWNlbnQgR3N0VG9jIGV2b2x1dGlvbnMgYW5kIGludHJvZHVjZXMgdG9jIHVuaXQgdGVzdHMgZm9yIGJvdGggbWF0cm9za2EtbXV4IGFuZCBtYXRyb3NrYS1kZW11eC4KCSAgVGhlcmUgYXJlIHR3byBVSURzIGZvciBDaGFwdGVycyBpbiBNYXRyb3NrYSdzIHNwZWNpZmljYXRpb25zOgoJICAtIFRoZSBDaGFwdGVyVUlEIGlzIGEgbWFuZGF0b3J5IHVuc2lnbmVkIGludGVnZXIgd2hpY2ggaW50ZXJuYWxseSByZWZlcnMgdG8gYSBnaXZlbiBjaGFwdGVyLiBFeGNlcHQgZm9yIHRpdGxlICYgbGFuZ3VhZ2Ugd2hpY2ggdXNlIGRlZGljYXRlZCBmaWVsZHMsIHRoaXMgVUlEIGNhbiBhbHNvIGJlIHVzZWQgdG8gYWRkIHRhZ3MgdG8gdGhlIENoYXB0ZXIuIFRoZSB0YWdzIGNvbWUgaW4gYSBzZXBhcmF0ZSBzZWN0aW9uIG9mIHRoZSBjb250YWluZXIuCgkgIC0gVGhlIENoYXB0ZXJTdHJpbmdVSUQgaXMgYW4gb3B0aW9uYWwgVVRGLTggc3RyaW5nIHdoaWNoIGFsc28gdW5pcXVlbHkgcmVmZXJzIHRvIGEgY2hhcHRlciBidXQgZnJvbSBhbiBleHRlcm5hbCBwZXJzcGVjdGl2ZS4gSXQgY2FuIGFjdCBhcyBhICJXZWJWVFQgY3VlIGlkZW50aWZpZXIiIHdoaWNoICJjYW4gYmUgdXNlZCB0byByZWZlcmVuY2UgYSBzcGVjaWZpYyBjdWUsIGZvciBleGFtcGxlIGZyb20gc2NyaXB0IG9yIENTUyIuCgkgIER1cmluZyBtdXhpbmcsIHRoZSBDaGFwdGVyVUlEIGlzIGdlbmVyYXRlZCBhbmQgY2hlY2tlZCBmb3IgdW5pY2l0eSwgd2hpbGUgdGhlIENoYXB0ZXJTdHJpbmdVSUQgcmVjZWl2ZXMgdGhlIHVzZXIgZGVmaW5lZCBVSUQuIEluIG9yZGVyIHRvIGJlIGFibGUgdG8gcmVmZXIgdG8gY2hhcHRlcnMgZnJvbSB0aGUgdGFncyBzZWN0aW9uLCB3ZSBtYWludGFpbiBhbiBpbnRlcm5hbCBUb2MgdHJlZSB3aXRoIHRoZSBnZW5lcmF0ZWQgQ2hhcHRlclVJRC4KCSAgV2hlbiBkZW11eGluZywgdGhlIENoYXB0ZXJTdHJpbmdVSURzIChpZiBhdmFpbGFibGUpIGFyZSBhc3NpZ25lZCB0byB0aGUgR3N0VG9jRW50cmllcyBVSURzIGFuZCBhbiBpbnRlcm5hbCB0b2MgbWltaWNraW5nIHRoZSB0b2MgaXMgdXNlZCB0byBrZWVwIHRyYWNrIG9mIHRoZSBDaGFwdGVyVUlEcyBhbmQgbWF0Y2ggdGhlIHRhZ3Mgd2l0aCB0aGUgYXBwcm9wcmlhdGUgR3N0VG9jRW50cmllcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDY4NgoKMjAxNy0xMi0xNCAxODoyODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvdjRsMnNyYy1yZW5lZ290aWF0ZS5jOgoJICB2NGwyc3JjOiBGaXggY29tcGlsZXIgZXJyb3IgaW4gZXhhbXBsZSBjYXVzZWQgYnkgcmUtZGVjbGFyaW5nIGBpbmRleGAKCSAgLi4vdGVzdHMvZXhhbXBsZXMvdjRsMi92NGwyc3JjLXJlbmVnb3RpYXRlLmM6NTc6MTM6IGVycm9yOiDigJhpbmRleOKAmSByZWRlY2xhcmVkIGFzIGRpZmZlcmVudCBraW5kIG9mIHN5bWJvbAoJICBzdGF0aWMgZ2ludCBpbmRleCA9IDA7CgkgIF4KCjIwMTctMTItMTQgMTQ6NDk6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZThjN2E3MSB0byAzZmEyYzllCgoyMDE3LTEyLTEzIDE0OjM5OjQ3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJvYmplY3Q6IFVzZSBhIGRlYnVnIG9iamVjdCBmb3IgdHJhY2luZwoJICBUaGlzIHdheSB3ZSBjYW4gcGFzcyB0aGUgcGFkIG5hbWUgaW5zdGVhZCBvZiB0aGUgZWxlbWVudCBmb3IgdHJhY2luZwoJICB3aGljaCBoZWxwcyBpZGVudGlmeWluZyB3aGljaCB2NGwyb2JqZWN0IGlzIHVzZWQgd2l0aGluZyBNMk0gZWxlbWVudAoJICBsaWtlIGRlY29kZXIsIGVuY29kZXIgYW5kIHRyYW5zZm9ybS4gRm9yIHRoZSByZWZlcmVuY2UsIHBhZHMgYXJlIG5hbWUKCSAgPHBhcmVudC1uYW1lPjo8cGFkLW5hbWU+LgoKMjAxNy0xMi0xMyAxMjowNjoyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQdXNoIGEgR0FQIGV2ZW50IGlmIHRoZXJlJ3MgYSBzZWNvbmQgKm9yIG1vcmUqCgkgIEFuZCBub3QgIm1vcmUgdGhhbiBhIHNlY29uZCIKCjIwMTctMTItMTMgMTE6MzU6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgcHVzaCBHQVAgZXZlbnQgaWYgZmlyc3QgYnVmZmVyIGlzIHdpdGhpbiAxcwoJICBJZiB3ZSBzYXcgZW1wdHkgc2VnbWVudHMsIHdlIHByZXZpb3VzbHkgdW5jb25kaXRpb25hbGx5IHB1c2hlZCBhCgkgIEdBUCBldmVudCBkb3duc3RyZWFtIHJlZ2FyZGxlc3Mgb2YgdGhlIGR1cmF0aW9uIG9mIHRoYXQgZW1wdHkKCSAgc2VnbWVudC4KCSAgSW4gb3JkZXIgdG8gYXZvaWQgaXNzdWVzIHdpdGggaW5pdGlhbCBuZWdvdGlhdGlvbiBvZiBkb3duc3RyZWFtIGVsZW1lbnRzCgkgICh3aGljaCB3b3VsZCBuZWdvdGlhdGUgdG8gc29tZXRoaW5nIGJlZm9yZSByZWNlaXZpbmcgYW55IGRhdGEgZHVlIHRvCgkgIHRoYXQgaW5pdGlhbCBHQVAgZXZlbnQpLCBjaGVjayBpZiB0aGVyZSdzIGF0IGxlYXN0IGEgc2Vjb25kIG9mIGRpZmZlcmVuY2UKCSAgKGxpa2Ugd2UgZG8gZm9yIG90aGVyIEdBUC1yZWxhdGVkIGNoZWNrcyBpbiBxdGRlbXV4KSBiZWZvcmUKCSAgZGVjaWRpbmcgdG8gcHVzaCBhIEdBUCBldmVudCBkb3duc3RyZWFtLgoKMjAxNy0xMi0xMyAxMDoyMToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBzZXQgcGFyZWQ9VHJ1ZSBvbiB1bmRlcnNwZWNpZmllZCBhdWRpby9tcGVnCgkgIFRoaXMgKnJlYWxseSogbmVlZHMgdG8gZ28gdGhyb3VnaCBhIHBhcnNlciB0byBmaWd1cmUgb3V0IHdoYXQgdGhlCgkgIGV4YWN0IGNvbnRlbnQgdHlwZSBpcy4KCjIwMTctMTItMTEgMTU6Mjc6MDggLTA2MDAgIE1pY2hhZWwgQ2F0YW56YXJvIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IEZpeCAtV2luY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzIHdhcm5pbmcKCSAgVGhpcyBpcyBjYXVzZWQgYnkgdGhlIG5ldyB0eXBlIHByb3BhZ2F0aW9uIGZvciBnX29iamVjdF9yZWYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE0OTQKCjIwMTctMTItMDkgMTY6MTU6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIHJ0cGgyNjQgdGVzdCBiaW5hcnkKCjIwMTctMDgtMjUgMTU6MTk6MzcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdGVzdHM6IHVkcHNyYzogdmVyaWZ5IHRoZSBjb3JyZWN0IGFtb3VudCBvZiBieXRlcyBpcyBzZW50IHRvIHRoZSBzb2NrZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Njc5OQoKMjAxNy0wOC0yNSAxNDo1OTowNiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB0ZXN0czogdWRwc3JjOiBlbnN1cmUgdGVzdCB3b24ndCB0aW1lb3V0IGlmIHRoZSBidWZmZXJzIGFyZSBhbHJlYWR5IHJlY2VpdmVkCgkgIFNvbWV0aW1lcyBhbGwgdGhlIGJ1ZmZlcnMgYXJlIHJlY2VpdmVkIGJlZm9yZSB0aGUgdGltZSB3ZSBsb2NrIHRoZQoJICBjaGVja19tdXRleCwgaW4gd2hpY2ggY2FzZSBnX2NvbmRfd2FpdCB3aWxsIHdhaXQgZm9yZXZlciBmb3IgYW5vdGhlcgoJICBvbmUuIEp1c3QgY2hlY2sgaWYgdGhpcyBpcyB0aGUgY2FzZSBiZWZvcmUgd2FpdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MzU4Mzk3CgoyMDE3LTA4LTI1IDE0OjQ1OjUyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHRlc3RzOiB1ZHBzcmM6IGZpeCB0ZXN0X3VkcHNyYyB0byBhY3R1YWxseSBydW4gYW5kIGZpeCBsb2NraW5nCgkgIFByZXZpb3VzbHkgdGhpcyB3b3VsZCBzaWxlbnRseSBiZSBza2lwcGVkIGJlY2F1c2UgMTYwMCAhPSAxNDAwCgkgIGFuZCB0aGVyZSBpcyBubyBhc3NlcnRpb24gb24gdGhpcyBjYWxsLgoJICBBbHNvIHVubG9jayBjaGVja19tdXRleCBhZnRlciB1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODY3OTkKCjIwMTctMDktMjEgMTg6MjM6NTQgKzAzMDAgIEpvaG4gTmlrb2xhaWRlcyA8am5pa29sYWlkZXNAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IGFkZGVkIGEgInNwbGl0IG5vdyIgYWN0aW9uIHNpZ25hbAoJICBOb3csIHRoZSB2aWRlbyBmaWxlIGNhbiBiZSBzcGxpdCBhdCBhbiBhcmJpdHJhcnkgdGltZSBjaG9zZW4gYnkgdGhlIHVzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc5MjIKCjIwMTctMTItMDggMDA6MzE6MzIgKzAwMDAgIEFsdmFybyBNYXJndWxpcyA8YWx2YXJvLm1hcmd1bGlzQGNpcnBhY2suY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggYmluZCBhZGRyZXNzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDk4NgoKMjAxNy0xMi0wNyAxMToxNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIFJldmVydCAiZmxhY3BhcnNlOiBmaXggaGVhZGVyIHJld3JpdGluZyBiZWluZyBpZ25vcmVkIgoJICBUaGlzIGNhdXNlZCBicm9rZW4gbWV0YWRhdGEgYW5kIGFsc28gbG9va3MgYSBiaXQgZG9kZ3kuCgkgIFJldmVydCB1bnRpbCB3ZSBjYW4gZmlndXJlIG91dCBhIHNvbHV0aW9uIHRoYXQgd29ya3MgZm9yCgkgIGFsbCBjYXNlcyBhbmQgZG9lc24ndCBicmVhayBhbnl0aGluZy4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZGVlZTQ0YjA3YTE3M2I5YWI0MjUzMjE2Y2FiYThmNjZkZDQzYWJiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODAyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU1NTgKCjIwMTctMTItMDUgMTU6MTQ6MDQgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZHJpdmVycyB0aGF0IG9ubHkgcm91bmQgdXAgaGVpZ2h0CgkgIENvbW1pdCAxZjMxNzE1Yzk4NjEgKCJ2NGwydmlkZW9kZWM6IHVzZSB2aXNpYmxlIHNpemUsIG5vdCBjb2RlZCBzaXplLAoJICBmb3IgZG93bnN0cmVhbSBuZWdvdGlhdGlvbiBmaWx0ZXIiKSBhZGRlZCBzdXBwb3J0IGZvciByZW1vdmluZyB0aGUKCSAgcGFkZGluZyBvYnRhaW5lZCBhcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHdpZHRoL2hlaWdodCBmcm9tIEdfRk1UIGFuZAoJICB2aXNpYmxlIHdpZHRoL2hlaWdodCBmcm9tIEdfU0VMRUNUSU9OIGZyb20gdGhlIHByb2JlZCBjYXBzIG9idGFpbmVkCgkgIHZpYSBUUllfRk1ULgoJICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBwYWRkaW5nIHJlbW92YWwgZm9yIGRyaXZlcnMgdGhhdCBvbmx5IHJvdW5kIHVwCgkgIGhlaWdodCwgYnV0IG5vdCB3aWR0aCwgdG8gdGhlIHBhZGRlZCBmcmFtZSBzaXplLiBUaGlzIG1pZ2h0IGhhcHBlbgoJICBiZWNhdXNlIGhvcml6b250YWwgcGFkZGluZyBjYW4gYmUgaGFuZGxlZCBieSBsaW5lIHN0cmlkZSAoYnl0ZXNwZXJsaW5lKSwKCSAgYnV0IHRoZXJlIGlzIG5vIHN1Y2ggdGhpbmcgYXMgcGxhbmUgc3RyaWRlIGluIHRoZSBWNEwyIEFQSSBmb3IKCSAgc2luZ2xlLWJ1ZmZlciBwbGFuYXIgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTI3MQoKMjAxNy0xMS0wMSAwODoyMTozNyAtMDYwMCAgTWF0dCBTdGFwbGVzIDxzdGFwbGVzMjU1QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWRkIGEgc2lnbmFsIHRvIGFsbG93IG91dGdvaW5nIG1lc3NhZ2VzIHRvIGJlIG1vZGlmaWVkIG9yIGRyb3BwZWQKCSAgVGhpcyBmZWF0dXJlIGFsbG93cyBhcHBsaWNhdGlvbnMgdG8gaW1wbGVtZW50IGV4dGVuc2lvbnMgdG8gdGhlIFJUU1AKCSAgcHJvdG9jb2wsIHN1Y2ggYXMgdGhvc2UgZGVmaW5lZCBpbiB0aGUgT05WSUYgU3RyZWFtaW5nIFNwZWNpZmljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4ODQKCjIwMTctMDgtMjUgMTE6NTc6MjYgKzAyMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSGFuZGxlIHplcm8gbGVuZ3RoIGZlZWRiYWNrIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTA3NAoKMjAxNy0wNy0xMCAxNToxOTozNCArMDIwMCAgRmxvcmlhbiBad29jaCA8Znp3b2NoQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVidWcgbG9nIGZvciAnaHZjQycgY29kZWNfZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NzQ5CgoyMDE3LTEyLTAxIDEzOjA0OjQxICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHRlc3RzOiBydHBzZXNzaW9uOiByZWZhY3RvciB0ZXN0cyB0byB1c2UgR3N0SGFybmVzcwoJICBUaGlzIHBhdGNoIHNpbXBsaWZpZXMgdGhlIHRlc3RzICg0NCUgbGVzcyBjb2RlKSBhbmQKCSAgbWFrZXMgdGhlbSBtdWNoIG1vcmUgcmVhZGFibGUuCgkgIFRoZSBwcm92aWRlZCBTZXNzaW9uSGFybmVzcyBhbHNvIG1ha2VzIGl0IG11Y2ggZWFzaWVyCgkgIHRvIHdyaXRlIG5ldyB0ZXN0cyBmb3IgcnRwc2Vzc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTA3MAoKMjAxNy0xMS0yNCAxMDozNjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUmVxdWVzdCBhdCBsZWFzdCB0aGUgZnVsbCBoZWFkZXIgc2l6ZSB3aGVuIHBhcnNpbmcgaGVhZGVycwoJICBPdGhlcndpc2UgYmFzZXBhcnNlIHdpbGwgaW5jcmVtZW50YWxseSBzZW5kIHVzIGJpZ2dlciBidWZmZXJzIHVudGlsIHRoZQoJICBmdWxsIGhlYWRlciBzaXplIGlzIHJlYWNoZWQsIHdoaWNoIGlzIG5vdCBvbmx5IHBvaW50bGVzcyBidXQgYWxzbyBtZWFucwoJICB0aGF0IGJhc2VwYXJzZSB3aWxsIHJlYWxsb2NhdGUgYW5kIGNvcHkgaW50byBhIGJpZ2dlciBidWZmZXIgZm9yIGV2ZXJ5CgkgIGlucHV0IGJ1ZmZlcnMuIEluIHB1bGwgbW9kZSB0aGF0J3MgZG9uZSBpbiA2NGtiIGluY3JlbWVudHMsIGluIHB1c2ggbW9kZQoJICB1c3VhbGx5IGluIG11Y2ggc21hbGxlciBpbmNyZW1lbnRzLCBjYXVzaW5nIGEgbG90IG9mIG92ZXJoZWFkIGZvcgoJICBleGFtcGxlIHdoZW4gcGFyc2luZyBoaWdoLXF1YWxpdHkgY292ZXJhcnQuCgoyMDE3LTExLTI5IDExOjI5OjMxICswMTAwICBGbG9yZW50IFRoacOpcnkgPGZsb3JlbnQudGhpZXJ5QHViaWNhc3QuZXU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBkbWFidWYgc3VwcG9ydCBkZXRlY3Rpb24KCSAgVGhpcyByZXN1bHRlZCBpbiBpbXByb3BlciBzZWxlY3Rpb24gb2YgZG1hYnVmIG9uIHVuc3VwcG9ydGVkIGRyaXZlcnMuCgkgIFRoZSBjaGVja2VkIGlvY3RsIGVycm5vIHdhcyBub3QgY29ycmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDk0MAoKMjAxNy0xMS0yNyAyMDoxMDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZjRhYTk2IHRvIGU4YzdhNzEKCjIwMTctMTEtMjcgMTQ6NDQ6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgZ2wvY2FvcGVuZ2xsYXllcjogdXNlIHB1YmxpYyBHc3RHTENvbnRleHQgaW5zdGVhZCBvZiBDb2NvYS1zcGVjaWZpYyBvbmUKCSAgQWxsb3dzIGtlZXBpbmcgdGhlIEdzdEdMQ0FPcGVuR0xMYXllciBwdWJsaWMgYnV0IG5vdCB0aGUgd2luc3lzLXNwZWNpZmljCgkgIGNvbnRleHQvZGlzcGxheS93aW5kb3cuCgoyMDE3LTExLTI2IDE1OjEzOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBhdXRvdG9vbHM6IHN0b3AgY29udHJvbGxpbmcgc3ltYm9sIHZpc2liaWxpdHkgd2l0aCAtZXhwb3J0LXN5bWJvbHMtcmVnZXgKCSAgSW5zdGVhZCwgdXNlIC1mdmlzaWJpbGl0eT1oaWRkZW4gYW5kIGV4cGxpY2l0IGV4cG9ydHMgdmlhIEdTVF9FWFBPUlQuCgkgIFRoaXMgc2hvdWxkIHJlc3VsdCBpbiBjb25zaXN0ZW50IGJlaGF2aW91ciBmb3IgdGhlIGF1dG90b29scyBhbmQKCSAgTWVzb24gYnVpbGRzLgoKMjAxNy0xMS0yNCAxNTozNzo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBEbyBtb3JlIGNoZWNrcyBmb3Igc2Vla2FiaWxpdHkKCSAgV2hlbiByZWNlaXZpbmcgYSBzZWVrIGV2ZW50LCBjaGVjayB3aGV0aGVyIHdlIGNhbiBhY3R1YWxseSBzZWVrIGJhc2VkCgkgIG9uIHRoZSBpbmZvcm1hdGlvbiB0aGUgc2VydmVyIHByb3ZpZGVkLgoJICBBbHNvIGFkZCBtb3JlIGRvY3VtZW50YXRpb24gb24gd2hhdCB0aGUgc2Vla2FibGUgZmllbGQgbWVhbnMKCjIwMTctMTEtMjUgMDA6NTM6NDIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQWx3YXlzIHVwZGF0ZSByZXNlcnZlZC1kdXJhdGlvbi1yZW1haW5pbmcKCSAgSWYgYSByZXNlcnZlZC1tYXgtZHVyYXRpb24gaXMgc2V0LCB3ZSBzaG91bGQgYWx3YXlzIHRyYWNrCgkgIGFuZCB1cGRhdGUgdGhlIHJlc2VydmVkLWR1cmF0aW9uLXJlbWFpbmluZyBlc3RpbWF0ZSwgZXZlbgoJICBpZiB3ZSdyZSBub3Qgc2VuZGluZyBwZXJpb2RpYyBtb292IHVwZGF0ZXMgZG93bnN0cmVhbSBmb3IKCSAgZnVsbCByb2J1c3QgbXV4aW5nLgoKMjAxNS0wNC0wNyAyMzo1MzoxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eHNpbms6IFVzZSBtdXhlciByZXNlcnZlZCBzcGFjZSBwcm9wZXJ0aWVzIGlmIHByZXNlbnQuCgkgIElmIHRoZSB1c2Utcm9idXN0LW11eGluZyBwcm9wZXJ0eSBpcyBzZXQsIGNoZWNrIGlmIHRoZQoJICBhc3NpZ25lZCBtdXhlciBoYXMgcmVzZXJ2ZWQtbWF4LWR1cmF0aW9uIGFuZAoJICByZXNlcnZlZC1kdXJhdGlvbi1yZW1haW5pbmcgcHJvcGVydGllcywgYW5kIGlmIHNvIHNldAoJICB0aGUgY29uZmlndXJlZCBtYXhpbXVtIGR1cmF0aW9uIHRvIHRoZSByZXNlcnZlZC1tYXgtZHVyYXRpb24KCSAgcHJvcGVydHksIGFuZCBtb25pdG9yIHRoZSByZW1haW5pbmcgc3BhY2UgdG8gc3RhcnQKCSAgYSBuZXcgZmlsZSBpZiB0aGUgcmVzZXJ2ZWQgaGVhZGVyIHNwYWNlIGlzIGFib3V0IHRvIHJ1biBvdXQgLQoJICBldmVuIHRob3VnaCBpdCBuZXZlciBvdWdodCB0by4KCjIwMTctMTEtMjQgMDg6MDA6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogRml4IHBvc3NpYmlsaXR5IG9mIE5VTEwgdmFyaWFibGUKCSAgSXQncyBxdWl0ZSB1bmxpa2VseSBzaW5jZSBpdCdzIGluaXRpYWxpemVkIGluIGluc3RhbmNlIGluaXRpYWxpemF0aW9uLgoJICBDSUQgIzE0MTc3MjEKCjIwMTctMTEtMjQgMTY6NTY6MDMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXg6IEZpeCBmaWxlIHN3aXRjaC1vbi1jYXBzLWNoYW5nZS4KCSAgU3dpdGNoaW5nIHRvIGEgbmV3IGZyYWdtZW50IGJlY2F1c2UgdGhlIGlucHV0IGNhcHMgaGF2ZQoJICBjaGFuZ2VkIGRpZG4ndCBwcm9wZXJseSBlbmQgdGhlIHByZXZpb3VzIGZpbGUuIFVzZSB0aGUgbm9ybWFsCgkgIEVPUyBzZXF1ZW5jZSB0byBlbnN1cmUgdGhhdCBoYXBwZW5zLiBBZGQgYSB0ZXN0IHRoYXQgaXQgd29ya3MuCgoyMDE3LTExLTI0IDE2OjUzOjQwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBVcGRhdGUgb3V0cHV0IGNhcHMgb24gaW5wdXQgY2FwcyBjaGFuZ2UKCSAgSWYgdGhlIGlucHV0IGNoYW5nZXMgd2lkdGgvaGVpZ2h0IHRoYXQgc2hvdWxkIGJlIHJlZmxlY3RlZAoJICBpbiB0aGUgb3V0cHV0IGNhcHMsIHNvIG1ha2Ugc3VyZSB0aGV5IGdldCB1cGRhdGVkCgoyMDE3LTExLTIzIDIyOjU4OjQwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgUmV2ZXJ0ICJnbDogVXNlIEdzdEdMRGlzcGxheUVHTCBkaXJlY3RseSBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgR3N0R0xEaXNwbGF5VklWRmIgc3ViY2xhc3MiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDdmZDRkMzkxZTc3NWMxMWY1Mjk3MDViYjBmNDU3YTlkMjViYTVlNy4KCSAgVGhpcyBwYXRjaCBpcyBpbmNvcnJlY3QuIEl0IGRvZXNuJ3QgYWN0dWFsbHkgY29tcGlsZSwgYW5kIGNhdXNlcyBhIGNyYXNoCgkgIGJlY2F1c2UgdGhlIHZpdi1mYiB3aW5kb3cgaW1wbGVtZW50YXRpb24gbmVlZHMgYSBuYXRpdmUgRUdMIGhhbmRsZQoJICB0byBwYXNzIHRvIGZiQ3JlYXRlV2luZG93LCBidXQgdGhlIEdzdEdMRGlzcGxheUVHTCBoYW5kbGVpcyBhY3R1YWxseQoJICBhbiBFR0xEaXNwbGF5IG5vdyAoYW5kIGdldHMgY2FzdCB0byB0aGUgd3JvbmcgdHlwZSkKCjIwMTctMDktMDUgMTU6NTU6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGRvbid0IGluc2VydCBTUFMvUFBTIGlubGluZSBmb3IgaHZjMSBvdXRwdXQKCSAgT25seSBmb3IgYnl0ZS1zdHJlYW0gb3IgaGV2MS4gRm9yIGh2YzEgdGhlIFNQUy9QUFMgYXJlIGluIHRoZQoJICBjYXBzIGFzIGNvZGVjX2RhdGEgZmllbGQgYW5kIGluIHRoaXMgY2FzZSB0aGV5IHNob3VsZG4ndCBiZSBpbgoJICB0aGUgc3RyZWFtIGRhdGEgYXMgd2VsbC4gVGhlIG91dHB1dCBjYXBzIHNob3VsZCBiZSB1cGRhdGVkIHdpdGgKCSAgdGhlIG5ldyBjb2RlY19kYXRhIGlmIG5lZWRlZCwgZm9yIGh2YzEuCgoyMDE3LTA5LTA1IDE1OjQ3OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSAgcnRwaDI2NWRlcGF5OiBzdG9yZSBuZWdvdGlhdGVkIG91dHB1dCBmb3JtYXQgYXMgZW51bQoJICBXZSBrZWVwIHRoZSBib29sZWFuIGJ5dGVfc3RyZWFtIGFyb3VuZCBzaW5jZSBpdCdzIG5pY2VyIGZvcgoJICByZWFkYWJpbGl0eSBhbmQgbW9zdCBvZiB0aGUgY29kZSBqdXN0IGNhcmVzIGFib3V0IGJ5dGVfc3RyZWFtCgkgIG9yIG5vdC4gVGhpcyBpcyB1c2VmdWwgZm9yIGZ1dHVyZS1wcm9vZmluZyB0aGUgY29kZSBmb3Igd2hlbgoJICB3ZSBhZGQgc3VwcG9ydCBmb3IgaGV2MSBvdXRwdXQgYXMgd2VsbC4KCjIwMTctMDgtMjkgMTc6MDU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGFkZCBzdXBwb3J0IGZvciBodmMxIGFzIG91dHB1dCBmb3JtYXQKCjIwMTctMDgtMDggMTg6NTg6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogZG9uJ3QgYWRkIHRyYWlsaW5nIHplcm9zIHRvIFZQUy9QUFMvU1BTCgkgIFRoaXMgd291bGQgaGFwcGVuIGlmIGlucHV0IGlzIGJ5dGUtc3RyZWFtIHdpdGggZm91ci1ieXRlCgkgIHN5bmMgbWFya2VycyBpbnN0ZWFkIG9mIHRocmVlLWJ5dGUgb25lcy4gVGhlIGNvZGUgdGhhdAoJICBzY2FucyBmb3Igc3luYyBtYXJrZXJzIHdpbGwgcGxhY2UgdGhlIHN0YXJ0IG9mIHRoZSBOQUxVCgkgIG9uIHRoZSB0aGlyZC1sYXN0IGJ5dGUgb2YgdGhlIE5BTFUgc3luYyBtYXJrZXIsIHdoaWNoCgkgIG1lYW5zIHRoYXQgYW55IGFkZGl0aW9uYWwgemVyb3MgbWF5IGJlIGNvdW50ZWQgYXMgYmVsb25naW5nCgkgIHRvIHRoZSBwcmV2aW91cyBOQUxVIGluc3RlYWQgb2YgYmVpbmcgcGFydCBvZiB0aGUgbmV4dCBzeW5jCgkgIG1hcmtlci4gRml4IHRoYXQgc28gd2UgZG9uJ3Qgc2VuZCBWUFMvU1BTL1BQUyB3aXRoIHRyYWlsaW5nCgkgIHplcm9zIGluIHRoaXMgY2FzZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTgKCjIwMTctMDYtMTYgMTI6NDE6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGFzc2VtYmxlIEFVcyBpbnRvIGRvd25zdHJlYW0tYWxsb2NhdGVkIG1lbW9yeQoJICBXaGVuIG1lcmdpbmcgTkFMcyBpbnRvIEFVcywgdXNlIGRvd25zdHJlYW0tcHJvdmlkZWQgYWxsb2NhdG9yCgkgIHRvIGFsbG9jYXRlIG1lbW9yeSBhbmQgY29weSBOQUxzIGRpcmVjdGx5IGludG8gdGhhdCBtZW1vcnkgd2hlbgoJICBhc3NlbWJsaW5nIHRoZW0uCgoyMDE3LTA2LTE2IDEyOjMwOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSAgcnRwaDI2NWRlcGF5OiB0cnkgdG8gbmVnb3RpYXRlIGFuIGFsbG9jYXRvciB3aXRoIGRvd25zdHJlYW0KCjIwMTctMDYtMTYgMTI6MTM6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IHNpbXBsaWZ5IGJ1ZmZlciBhY2N1bXVsYXRpb24gY29udHJvbCBmbG93CgkgIFRoZXJlIGlzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBwdXNoaW5nIG91dCBhIGJ1ZmZlciBkaXJlY3RseQoJICB3aXRoIGdzdF9ydHBfYmFzZV9kZXBheWxvYWRfcHVzaCgpIGFuZCByZXR1cm5pbmcgaXQgZnJvbSB0aGUKCSAgcHJvY2VzcyBmdW5jdGlvbi4gVGhlIGJhc2UgY2xhc3Mgd2lsbCBqdXN0IGNhbGwgX2RlcGF5bG9hZF9wdXNoKCkKCSAgb24gdGhlIHJldHVybmVkIGJ1ZmZlciBhcyB3ZWxsLgoJICBTbyBpbnN0ZWFkIG9mIG1hcnNoYWxsaW5nIGJ1ZmZlcnMgdGhyb3VnaCB0aHJlZSBsYXllcnMgYW5kIGJhY2ssCgkgIGp1c3QgcHVzaCB0aGVtIGZyb20gb25lIHBsYWNlIGluIGhhbmRsZV9uYWwoKSBhbmQgYWx3YXlzIHJldHVybgoJICBOVUxMIGZyb20gdGhlIHByb2Nlc3MgdmZ1bmMuIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhIGxpdHRsZS4KCSAgQWxzbyByZW5hbWUgX3B1c2hfZnJhZ21lbnRhdGlvbl91bml0KCkgdG8gX2ZpbmlzaF9mcmFnbWVudGF0aW9uX3VuaXQoKQoJICBmb3IgY2xhcml0eS4gUHVzaCBzb3VuZHMgbGlrZSBpdCBtZWFucyBiZWluZyBwdXNoZWQgb3V0LCB3aGVyZWFzCgkgIGl0IG1pZ2h0IGp1c3QgYmUgcHVzaGVkIGludG8gYW4gYWRhcHRlci4KCSAgVGhpcyBjaGFuZ2UgaGFzIHRoZSBzaWRlLWVmZmVjdCB0aGF0IG11bHRpcGxlIE5BTHMgaW4gYSBzaW5nbGUgU1RBUAoJICAoc3VjaCBhcyBTUFMvUFBTKSBtYXkgbm8gbG9uZ2VyIGJlIHB1c2hlZCBvdXQgYXMgYSBzaW5nbGUgYnVmZmVyIGlmCgkgIHdlIG91dHB1dCBOQUxzIGluIGJ5dGUtc3RyZWFtIGZvcm1hdCAoaS5lLiBub3QgYWdncmVnYXRlIEFVcyksIGJ1dAoJICB0aGF0IHNob3VsZG4ndCByZWFsbHkgbWFrZSBhbnkgZGlmZmVyZW5jZSB0byBhbnlvbmUuCgoyMDE3LTA2LTE2IDExOjE4OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggY3Jhc2ggd2l0aCBlbXB0eSBzcHJvcHMtcGFyYW1ldGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMDQwCgoyMDE3LTA2LTE2IDEyOjIwOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBtaW5vciBjbGVhbi11cAoJICBEZWNsdXR0ZXIgY2FwcyB1cGRhdGUgY29kZSBhIGJpdC4KCjIwMTctMDgtMDggMTM6MTA6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IGFkZCB1bml0IHRlc3QgZm9yIHJ0cGgyNjRwYXkgY29kZWNfZGF0YQoJICBNYWtlIHN1cmUgbm8gdHJhaWxpbmcgemVybyBieXRlcyBzbmVhayBpbnRvIG91ciBTUFMgb3IgUFBTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzU4CgoyMDE0LTA3LTA1IDA2OjIxOjQ4ICswMDAwICBQaGlsaXAgQ3JhaWcgPHBoaWxAYmxhY2ttb3RoLmNvbS5hdT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBkb24ndCBhZGQgdHJhaWxpbmcgemVyb3MgdG8gUFBTL1NQUwoJICBUaGlzIHdvdWxkIGhhcHBlbiBpZiBpbnB1dCBpcyBieXRlLXN0cmVhbSB3aXRoIGZvdXItYnl0ZQoJICBzeW5jIG1hcmtlcnMgaW5zdGVhZCBvZiB0aHJlZS1ieXRlIG9uZXMuIFRoZSBjb2RlIHRoYXQKCSAgc2NhbnMgZm9yIHN5bmMgbWFya2VycyB3aWxsIHBsYWNlIHRoZSBzdGFydCBvZiB0aGUgTkFMVQoJICBvbiB0aGUgdGhpcmQtbGFzdCBieXRlIG9mIHRoZSBOQUxVIHN5bmMgbWFya2VyLCB3aGljaAoJICBtZWFucyB0aGF0IGFueSBhZGRpdGlvbmFsIHplcm9zIG1heSBiZSBjb3VudGVkIGFzIGJlbG9uZ2luZwoJICB0byB0aGUgcHJldmlvdXMgTkFMVSBpbnN0ZWFkIG9mIGJlaW5nIHBhcnQgb2YgdGhlIG5leHQgc3luYwoJICBtYXJrZXIuIEZpeCB0aGF0IHNvIHdlIGRvbid0IHNlbmQgU1BTL1BQUyB3aXRoIHRyYWlsaW5nCgkgIHplcm9zIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1OAoKMjAxNy0wNS0yMCAxNTo1MDoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjY0LmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9oMjY0LnJ0cDoKCSAgdGVzdHM6IHJ0cGgyNjRkZXBheTogYWRkIHRlc3QgZm9yIHVzaW5nIGRvd25zdHJlYW0gbWVtb3J5IGFsbG9jYXRvcgoKMjAxNy0wNi0wMyAwMDo1ODowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogYXNzZW1ibGUgQVVzIGludG8gZG93bnN0cmVhbS1hbGxvY2F0ZWQgbWVtb3J5CgkgIFdoZW4gbWVyZ2luZyBOQUxzIGludG8gQVVzLCB1c2UgZG93bnN0cmVhbS1wcm92aWRlZCBhbGxvY2F0b3IKCSAgdG8gYWxsb2NhdGUgbWVtb3J5IGFuZCBjb3B5IE5BTHMgZGlyZWN0bHkgaW50byB0aGF0IG1lbW9yeSB3aGVuCgkgIGFzc2VtYmxpbmcgdGhlbS4KCjIwMTctMDYtMDIgMjE6Mjc6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IHRyeSB0byBuZWdvdGlhdGUgYW4gYWxsb2NhdG9yIHdpdGggZG93bnN0cmVhbQoKMjAxNy0wNi0wMiAyMDo1NDoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogbWlub3IgY2xlYW4tdXAKCSAgRGVjbHV0dGVyIGNhcHMgdXBkYXRlIGNvZGUgYSBiaXQuCgoyMDE3LTExLTIzIDA4OjAwOjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJ1biBnc3QtaW5kZW50CgoyMDE3LTExLTIzIDA3OjU5OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICByZ2FuYWx5c2lzOiBGaXggbGVmdCBzaGlmdCBvZiBzaWduZWQgdmFsdWVzCgkgIGxlZnQgc2hpZnRpbmcgc2lnbmVkIHZhbHVlcyBpcyB1bmRlZmluZWQuCgkgIEluc3RlYWQgb2YgZG9pbmcgInggPDwgb2ZmcyIgd2hpY2ggaXMgdW5kZWZpbmVkLCBkbyB0aGUgZXF1aXZhbGVudAoJICAieCAqICgxIDw8IG9mZnMpIiB3aGljaCBpcyB3ZWxsIGRlZmluZWQKCjIwMTctMTEtMjMgMDc6NTc6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgcHJlc2VuY2Ugb2YgYml0cmF0ZSB0YWdzCgkgIENoZWNrIHdoZXRoZXIgdGhlIHRhZyB3YXMgcHJlc2VudCBiZWZvcmUgcHJpbnRpbmcgaXQgb3V0CgkgIENJRCAjMTQxODUwMQoKMjAxNy0xMS0yMSAwOTozMzo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXNlIHRoZSBwcm9wZXIgbWF4aW11bSB2YWx1ZSBmb3Igc2Vla2FibGUKCSAgaXQncyBhIGdmbG9hdCwgbm90IGEgZ2RvdWJsZQoKMjAxNy0xMS0xOCAwMjoyNzo1MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIG5ldyBHU1RfU0VRTlVNX0lOVkFMSUQgY29uc3RhbnQKCjIwMTctMTEtMTggMDI6MDE6NTggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhzcmM6IERvbid0IHJldHVybiBGQUxTRSBmcm9tIGV2ZW50IGhhbmRsaW5nLgoJICBSZXR1cm5pbmcgRkFMU0UgYmVjYXVzZSB3ZSBkcm9wIGFuIGV2ZW50IG1lYW5zIHRoYXQKCSAgaW50ZXJuYWwgc291cmNlcyBsaWtlIHF0ZGVtdXggbWlnaHQgdGhyb3cgYW4gZXJyb3IKCSAgYW5kIGJyZWFrIHRoZSB3aG9sZSBwaXBlbGluZS4gVGhlIG9ubHkgdGltZSBpdCBjYW4KCSAgaGFwcGVuIGlzIGVpdGhlciBmbHVzaGluZyBvciBzaHV0ZG93biwgYW5kIHRob3NlCgkgIHdpbGwgYmUgaGFuZGxlZCBhbnl3YXkuCgoyMDE3LTEwLTIyIDE4OjI2OjEyICswODAwICBKdW4gWGllIDxqdW4ueGllQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc2V0IHJldXNlZCBRdERlbXV4U3RyZWFtIHdoaWxlIHBhcnNpbmcgYSBuZXcgJ3RyYWsnCgkgIGlmIFF0RGVtdXhTdHJlYW0gaXMgcmV1c2VkLCB0aGVuIHdlIG5lZWQgdG8gcmVzZXQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg3NTkKCjIwMTctMTEtMTMgMTA6NDM6MTEgKzA5MDAgIFNldW5naGEgWWFuZyA8cHVkZGluZzg3NTdAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBBZGQgb2ZmaWNpYWwgZm91cmNjIGZvciBWUDggY29kZWMKCSAgZm91cmNjIGZvciBWUDggY29kZWMgaXMgInZwMDgiIGRlZmluZWQgYnkgc3BlYy4gVG8gZm9sbG93IGl0LAoJICBhZGQgaXQgdG8gZGVtdXggYW5kIGNoYW5nZSBsZWdhY3kgVlA4IGZvdXJjYyAiVlA4MCIgdG8gInZwMDgiIGluIG11eC4KCSAgQWxzbywgZW5hYmxlIHN5bmMgdGFibGUgaW4gY2FzZSBvZiBWUDggY29kZWMuCgkgIFNlZSBhbHNvIGh0dHBzOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy92cDkvbXA0LwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMDI2CgoyMDE3LTExLTEzIDEwOjM4OjA2ICswOTAwICBTZXVuZ2hhIFlhbmcgPHB1ZGRpbmc4NzU3QGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBBZGQgc3VwcG9ydCBWUDkgY29kZWMKCSAgQWRkIGZvdXJjYyBmb3IgVlA5IGNvZGVjIGFuZCBzdXBwb3J0IGl0IGJ5IHF0ZGVtdXggYW5kIHF0bXV4CgkgIFNlZSBhbHNvIGh0dHBzOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy92cDkvbXA0LwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMDI2CgoyMDE3LTExLTEzIDEzOjUxOjIwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSBib2d1cyBlcnJvciBtZXNzYWdlCgkgIEl0J3MganVzdCBpbmZvcm1hdGlvbmFsCgoyMDE3LTExLTEwIDE1OjUxOjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBEb24ndCBjcmVhdGUgZW1wdHkgYnVmZmVyIGxpc3QKCSAgSWYgdGhlcmUncyBub3RoaW5nIHRvIHNlbmQsIGp1c3QgcmV0dXJuCgoyMDE3LTAzLTEzIDE4OjE0OjEyICswOTAwICBwYXVsLmtpbSA8cGF1bC5oeXVuaWxAbGdlLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBSZW1vdmUgcmFuZ2UgaGVhZGVyIHdoZW4gc2VlayB0byAwCgkgIFRoaXMgZml4ZXMgdGhlIHByZXZpb3VzIHJhbmdlIGhlYWRlciBpcyByZW1haW5lZCBpZiBzZWVrIHRvIDAgaXMKCSAgYXR0ZW1wdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5OTU3CgoyMDE3LTExLTA4IDE2OjM0OjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBzZWVraW5nIGJhY2sgdG8gMAoJICBUaGlzIGlzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5ICIwM2RiMzc0IC0gc291cGh0dHBzcmM6IHJldHJ5CgkgIHJlcXVlc3Qgb24gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgc2VydmVyIgoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCB3aGVuIHNlZWtpbmcgYmFjayB0byAwLCB3ZSB3b3VsZCBub3QgZW5kIHVwIGNhbGxpbmcKCSAgYWRkX3JhbmdlX2hlYWRlcigpIHdoaWNoIGluIGFkZGl0aW9uIHRvIGFkZGluZyByYW5nZSBoZWFkZXJzICpBTFNPKiBzZXRzCgkgIHRoZSByZWFkX3Bvc2l0aW9uIHRvIHRoZSByZXF1ZXN0ZWQgb25lLgoJICBUaGlzIHdvdWxkIHJlc3VsdCBpbiBhIHdpZGUgdmFyaWV0eSBvZiBsYXRlciBmYWlsdXJlcywgbGlrZSByZWFkaW5nCgkgIGFnYWluIGFuZCBhZ2FpbiBpbnN0ZWFkIG9mIHN0b3BwaW5nIHByb3Blcmx5LgoKMjAxNy0xMS0wNyAxODowMzo1MyArMDkwMCAgU2V1bmdoYSBZYW5nIDxwdWRkaW5nODc1N0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBwYXJzaW5nIENvbG91ciBlbGVtZW50CgkgIC4uLiBhbmQgZm9yd2FyZCBjb2xvcmltZXRyeSB0byBkb3duc3RyZWFtLiBUaGUgQ29sb3VyIGVsZW1lbnQgZGVzY3JpYmVzCgkgIHZhcmlvdXMgY29sb3IgaW5mb3JtYXRpb24gKHNpbWlsYXIgdG8gJ2NvbHInIGJveCBpbiBpc29ibWZmKS4KCSAgTm90ZSB0aGF0LCBkdWUgdG8gdGhlIGNvbXBhcmF0aXZlbHkgbGltaXRlZCBzeW50YXggZm9yIGNvbG9yIGluZm9ybWF0aW9uCgkgIGluIHZweCBjb2RlY3MsIHRoZSBjb2xvciBpbmZvcm1hdGlvbiBpbiBta3Yvd2VtYiBjb250YWluZXIgbGV2ZWwKCSAgc2hvdWxkIGJlIHVzZWQgZm9yIHNvcGhpc3RpY2F0ZWQgY29sb3IgaGFuZGxpbmcgKGUuZy4sIEhEUiB2aWRlbykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAwMjMKCjIwMTctMTAtMTkgMTQ6MDI6MzcgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMmRldmljZXByb3ZpZGVyOiBJZ25vcmUgdG91Y2ggc2Vuc2luZyBkZXZpY2VzCgkgIFdpdGggR1NUX1Y0TDJfVVNFX0xJQlY0TDI9MSwgbXkgbGFwdG9wJ3MgdG91Y2hwYWQgc2hvd3MgdXAgYXMgYSB2aWRlbwoJICBzb3VyY2UgZGV2aWNlIGluIGdzdC1kZXZpY2UtbW9uaXRvciwgYnV0IGF0dGVtcHRpbmcgdG8gc3RyZWFtIGZyb20gaXQKCSAgZmFpbHMgYmVjYXVzZSB0aGUgZGV2aWNlIGRvZXNuJ3QgYWN0dWFsbHkgc3VwcG9ydCBhbnkgdmlkZW8gZm9ybWF0cy4KCSAgbmFtZSAgOiBTeW5hcHRpY3MgUk1JNCBUb3VjaCBTZW5zb3IKCSAgY2xhc3MgOiBWaWRlby9Tb3VyY2UKCSAgY2FwcyAgOiB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpSTQyMCwgZnJhbWVyYXRlPShmcmFjdGlvbilbIDAvMSwgMjE0NzQ4MzY0Ny8xIF0sIHdpZHRoPShpbnQpMCwgaGVpZ2h0PShpbnQpMCwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZylwcm9ncmVzc2l2ZSwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzE7CgkgIHZpZGVvL3gtcmF3LCBmb3JtYXQ9KHN0cmluZylZVjEyLCBmcmFtZXJhdGU9KGZyYWN0aW9uKVsgMC8xLCAyMTQ3NDgzNjQ3LzEgXSwgd2lkdGg9KGludCkwLCBoZWlnaHQ9KGludCkwLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKXByb2dyZXNzaXZlLCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMTsKCSAgdmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKUJHUiwgZnJhbWVyYXRlPShmcmFjdGlvbilbIDAvMSwgMjE0NzQ4MzY0Ny8xIF0sIHdpZHRoPShpbnQpMCwgaGVpZ2h0PShpbnQpMCwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZylwcm9ncmVzc2l2ZSwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzE7CgkgIHZpZGVvL3gtcmF3LCBmb3JtYXQ9KHN0cmluZylSR0IsIGZyYW1lcmF0ZT0oZnJhY3Rpb24pWyAwLzEsIDIxNDc0ODM2NDcvMSBdLCB3aWR0aD0oaW50KTAsIGhlaWdodD0oaW50KTAsIGludGVybGFjZS1tb2RlPShzdHJpbmcpcHJvZ3Jlc3NpdmUsIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xOwoJICBwcm9wZXJ0aWVzOgoJICB1ZGV2LXByb2JlZCA9IHRydWUKCSAgZGV2aWNlLmJ1c19wYXRoID0gL3N5cy9kZXZpY2VzL3JtaTQtMDAvcm1pNC0wMC5mbjU0L3ZpZGVvNGxpbnV4L3Y0bC10b3VjaDAKCSAgc3lzZnMucGF0aCA9IC9zeXMvZGV2aWNlcy9ybWk0LTAwL3JtaTQtMDAuZm41NC92aWRlbzRsaW51eC92NGwtdG91Y2gwCgkgIGRldmljZS5zdWJzeXN0ZW0gPSB2aWRlbzRsaW51eAoJICBkZXZpY2UucHJvZHVjdC5uYW1lID0gIlN5bmFwdGljc1wgUk1JNFwgVG91Y2hcIFNlbnNvciIKCSAgZGV2aWNlLmNhcGFiaWxpdGllcyA9IDpjYXB0dXJlOgoJICBkZXZpY2UuYXBpID0gdjRsMgoJICBkZXZpY2UucGF0aCA9IC9kZXYvdjRsLXRvdWNoMAoJICB2NGwyLmRldmljZS5kcml2ZXIgPSBybWk0X2Y1NAoJICB2NGwyLmRldmljZS5jYXJkID0gIlN5bmFwdGljc1wgUk1JNFwgVG91Y2hcIFNlbnNvciIKCSAgdjRsMi5kZXZpY2UuYnVzX2luZm8gPSBybWk0OnJtaTQtMDAuZm41NAoJICB2NGwyLmRldmljZS52ZXJzaW9uID0gMjY1NDgwICgweDAwMDQwZDA4KQoJICB2NGwyLmRldmljZS5jYXBhYmlsaXRpZXMgPSAyNTAxOTAyMzM3ICgweDk1MjAwMDAxKQoJICB2NGwyLmRldmljZS5kZXZpY2VfY2FwcyA9IDM1NDQxODY4OSAoMHgxNTIwMDAwMSkKCSAgZ3N0LWxhdW5jaC0xLjAgdjRsMnNyYyBkZXZpY2U9L2Rldi92NGwtdG91Y2gwICEgLi4uCgkgIHY0bDItY3RsIC1kIC9kZXYvdjRsLXRvdWNoMCAtLWxpc3QtZm9ybWF0cyByZXBvcnRzOgoJICBpb2N0bDogVklESU9DX0VOVU1fRk1UCgkgIEluZGV4ICAgICAgIDogMAoJICBUeXBlICAgICAgICA6IFZpZGVvIENhcHR1cmUKCSAgUGl4ZWwgRm9ybWF0OiAnVEQxNicKCSAgTmFtZSAgICAgICAgOiAxNi1iaXQgc2lnbmVkIGRlbHRhcwoJICBJbmRleCAgICAgICA6IDEKCSAgVHlwZSAgICAgICAgOiBWaWRlbyBDYXB0dXJlCgkgIFBpeGVsIEZvcm1hdDogJ1REMDgnCgkgIE5hbWUgICAgICAgIDogOC1iaXQgc2lnbmVkIGRlbHRhcwoJICBJbmRleCAgICAgICA6IDIKCSAgVHlwZSAgICAgICAgOiBWaWRlbyBDYXB0dXJlCgkgIFBpeGVsIEZvcm1hdDogJ1RVMTYnCgkgIE5hbWUgICAgICAgIDogMTYtYml0IHVuc2lnbmVkIHRvdWNoIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTE5NwoKMjAxNy0xMS0wMyAxMzoyNzo1MCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPGtha2Fyb3RvQGtha2Fyb3RvLmhvbWVsaW51eC5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSAgcnRwZzcyMnBheTogQWRkIGVuY29kaW5nLXBhcmFtcyB0byB0aGUgc3JjIGNhcHMgdGVtcGxhdGUKCSAgVGhlIEc3MjIgcGF5bG9hZCBvbmx5IGFjY2VwdHMgRzcyMiBhdWRpbyB3aXRoIGNoYW5uZWxzPTEsIHNvIGl0IG11c3QKCSAgc3BlY2lmeSB0aGUgZW5jb2RpbmctcGFyYW1zPTEgaW4gaXRzIHNyYyBjYXBzLCBvdGhlcndpc2UgaXQgY2F1c2VzIGlzc3VlcwoJICB3aXRoIGZhcnN0cmVhbSB3aGljaCB0aGlua3MgaXQgc3VwcG9ydHMgMiBjaGFubmVscyBHNzIyIGFuZCB3aGVuCgkgIGNvbmZyb250ZWQgd2l0aCBhIHJlbW90ZSB0aGF0IGhhcyBHNzIyLzgwMDAvMiwgaXQgd2lsbCBuZWdvdGlhdGUgaXQKCSAgYW5kIGVycm9yIG91dCB3aXRoIGEgbm90LW5lZ290aWF0ZWQgd2hlbiB0aGUgY2FwcyBkb24ndCBpbnRlcnNlY3QKCSAgYXQgcnVudGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTg3OAoKMjAxNy0xMC0wNiAxNzozNjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgc3VwcG9ydCBmb3IgZGF0YV9vZmZzZXQKCSAgSW4gTVBMQU5FIG1vZGUsIHRoZSBkcml2ZXIgbWF5IHNldCBkYXRhX29mZnNldCwgd2hpY2ggcmVwcmVzZW50IHNvbWUKCSAgcGFkZGluZyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJ1ZmZlciB1c2VkIGludGVybmFsbHkuIFRoaXMgcG9ydGlvbiBvZiB0aGUKCSAgZGF0YSBuZWVkIHRvIGJlIHNraXBwZWQsIHRob3VnaCBpdCBpcyBpbmNsdWRlZCBpbiBieXRlc3VzZWQuCgkgIFRoaXMgcGF0Y2ggcmVtb3ZlcyBmcmFtZSBzaXplIHNhbml0eSBjaGVjayBhcyB0aGUgbWV0aG9kIHVzZWQgd2lsbCBubwoJICBsb25nZXIgd29yay4gVGhpcyBjaGVjayB3YXMgc2ltcGx5IHRoZXJlIHRvIGhlbHAgZGV0ZWN0IGJyb2tlbiBrZXJuZWwKCSAgZHJpdmVycy4gSXQgd291bGQgYmUgcmUtaW1wbGVtZW50IGJ5IGVzdGltYXRpbmcgdGhlIHBsYW5lIHNpemUsIHdoaWNoIGlzCgkgIG5vdCB0b3RhbGx5IHRyaXZpYWwgYW5kIG1heSBiZSB0b28gbXVjaCB3b3JrIGZvciBhIHNpbXBsZSBkZWJ1ZyBjaGVjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzUwMQoKMjAxNy0wNy0xNyAxNzowOToxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWRkICJhY2NlcHQtY2VydGlmaWNhdGUiIHNpZ25hbCBmb3IgbWFudWFsbHkgY2hlY2tpbmcgYSBUTFMgY2VydGlmaWNhdGUgZm9yIHZhbGlkaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODUwMjQKCjIwMTctMTAtMzAgMTk6MTU6NTYgKzA5MDAgIFNhbmdreXUgUGFyayA8c2sxMTIyLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFByaW50IFJUU1AvU0RQIG1lc3NhZ2VzIHRvIGdzdHJlYW1lciBsb2cgaW5zdGVhZCBvZiBzdGRvdXQKCSAgLSAnZGVidWcnIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQKCSAgLSBBbGwgUlRTUCBtZXNzYWdlcyBhcmUgcHJpbnRlZCB0byBnc3RyZWFtZXIgbG9nIHdpdGggJ2xvZycgbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg5MTcKCjIwMTctMTEtMDEgMTU6Mjk6NTggKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc29uOiBkb3duZ3JhZGUgbWVzc2FnZSBsZXZlbCB0byBkZWJ1ZyB3aGVuIGRldGVjdGVkIFhSCgkgIFdoZW4gWFIgcGFja2V0IGlzIGRldGVjdGVkLCB3YXJuaW5nIG1lc3NhZ2UgbGVhZHMgdG8gbWlzdW5kZXJzdGFuZGluZ3MuCgkgIFVudGlsIFJGQzM2MTEgaXMgaW1wbGVtZW50ZWQgaW4gZ3N0LXBsdWdpbnMtYmFzZSwgdGhlIGxldmVsIG5lZWRzIHRvCgkgIGJlIGRvd25ncmFkZWQgdG8gYXZvaWQgY29uZnVzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg5NzQ2CgoyMDE3LTEwLTI0IDIwOjEyOjI5ICswNTMwICBBc2hpc2ggS3VtYXIgPGtyLmFzaGlzaEBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBnc3QtcGx1Z2lucy1nb29kOiBhdG9tc19yZWNvdmVyeTogSGFuZGxlZCBidWZmZXIgbWFwcGluZyBmYWlsdXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODk0MTMKCjIwMTctMDctMDggMjI6MTE6NDkgLTA3MDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgYXRvbXNyZWNvdmVyeTogcmVhZCBmcm9tIG1kYXQgb25seSB3aGF0IGlzIG9uIGhlYWRlcnMKCSAgSXQgaXMgcG9zc2libGUgdGhhdCB0aGUgbWRhdCBoYXMgbW9yZSBkYXRhIHRoYW4gd2hhdCB3YXMgc3RvcmVkIGluIHRoZQoJICBoZWFkZXJzIGZpbGUuIElmIHdlIHB1dCB0aGF0IHRvIHRoZSBvdXRwdXQgdGhlIGZpbGUgd2lsbCBoYXZlIGJvZ3VzIGRhdGEKCSAgYXQgdGhlIGVuZCBhbmQgc29tZSBwbGF5ZXJzIHdpbGwgY29tcGxhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQyNTgKCjIwMTctMDctMDUgMjI6MjM6MjEgLTA3MDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIGlzb21wNDogYXRvbXNyZWNvdmVyeTogaGFuZGxlIGNvbW1vbiBhbmQgbGFyZ2UgYXRvbSBoZWFkZXJzCgkgIERvIG5vdCBhc3N1bWUgYWxsIGZpbGVzIGFyZSBsYXJnZSBmaWxlcy4gQ2hlY2sgYW5kIHVzZSB0aGUgc2hvcnQgb3IKCSAgZXh0ZW5kZWQgYXRvbSBzaXplIGZpZWxkIG9ubHkgaWYgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MjU4CgoyMDE3LTEwLTIwIDExOjA4OjI0ICswMjAwICBBbmRyZWFzIEZyaXNjaCA8YWZyaXNjaEBtYWtlLnR2PgoKCSogY29uZmlndXJlLmFjOgoJICBwbmdkZWM6IGZpeCBidWlsZCB3aXRoIGxpYnBuZyB2ZXJzaW9ucyBiZXR3ZWVuIDEuMiBhbmQgMS41LjEgKHJldmlzZWQpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MjcKCjIwMTctMTAtMTkgMTg6MjM6MzQgKzAyMDAgIEFuZHJlYXMgRnJpc2NoIDxmcmF4aW5hc0BkcmVhbWJveC5ndXJ1PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IGZpeCBidWlsZCB3aXRoIGxpYnBuZyB2ZXJzaW9ucyBiZXR3ZWVuIDEuMiBhbmQgMS41LjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkyNwoKMjAxNy0xMC0xOSAxNjoxNzo0NSArMDIwMCAgQW5kcmVhcyBGcmlzY2ggPGZyYXhpbmFzQGRyZWFtYm94Lmd1cnU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEV4dHJhY3QgaWNjIHByb2ZpbGVzIGFuZCBzZW5kIHRoZW0gZG93bnN0cmVhbXMgZm9yIGNvbG9ybWFuYWdlbWVudCBlbGVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTI3CgoyMDE3LTEwLTE2IDE0OjIwOjQ3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogQWRkIG1pc3NpbmcgU2luY2UgbWFya2VyCgoyMDE3LTEwLTEzIDEyOjI1OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0cGx1Z2luLnBybzoKCSAgcXQ6IHVwZGF0ZSBxbWFrZSAucHJvIGZpbGUKCSAgVXBkYXRlIGZvciByZW5hbWluZyBvZiBwbHVnaW4gZmlsZSwgYW5kIGFkZCBzb21lCgkgIG1pc3Npbmcgc291cmNlIGZpbGVzLgoKMjAxNy0wNi0xMyAxODo1MTozMiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdzdGdka3BpeGJ1ZmRlYzogc3RvcCBwcmV0ZW5kaW5nIHRvIGRlY29kZSBnaWZzLgoJICBJZiB5b3UgY2FuJ3QgZGVjb2RlIGFuIGFuaW1hdGVkIGdpZiwgeW91IGNhbid0IGRlY29kZSBhIGdpZiwKCSAgc28gc3RvcCBzcXVhdHRpbmcgR1NUX1JBTktfU0VDT05EQVJZIGZvciB0aGF0IGZvcm1hdCwgbGliYXYKCSAgZG9lcyBhIGJldHRlciBqb2IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ2ODMKCjIwMTctMDktMjggMjI6NTE6NTcgKzAyMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBzaW1wbGlmeSBob3cgRGlyZWNTb3VuZEJ1ZmZlciBpcyBjbGVhcmVkCgkgIHdlIGFsd2F5cyB3YW50IHRvIGNsZWFyIHRoZSB3aG9sZSBidWZmZXIgc28gbm8gbmVlZCB0bwoJICBzdGFydCBmcm9tIG9mZnNldCBldmVuIGlmIHRoZSBvZmZzZXQgaXMgYWx3YXlzIHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg4NDcKCjIwMTctMDktMjggMjI6NDk6MzEgKzAyMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggY29tbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4ODQ3CgoyMDE3LTA5LTI4IDIyOjQ4OjQxICswMjAwICBQaGlsaXBwZSBSZW5vbiA8cGhpbGlwcGVfcmVub25AeWFob28uZnI+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZG9uJ3QgY2FsbCBzZXRfdm9sdW1lIHdpdGggcHJpdmF0ZSBzY2FsZWQgdm9sdW1lCgkgIHVzZSBnZXRfdm9sdW1lKCkgaW5zdGVhZCB0byBnZXQgdW5zY2FsZWQgdm9sdW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg4NDcKCjIwMTctMDktMjggMjI6NDY6MjMgKzAyMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiByZW1vdmUgZHVwbGljYXRlIHZvbHVtZSBpbml0aWFsaXphdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4ODQ3CgoyMDE3LTEwLTEwIDE4OjA0OjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIHF0ZGVtdXguYzogSW4gZnVuY3Rpb24g4oCYZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3N0cmVhbeKAmToKCSAgcXRkZW11eC5jOjc3NjQ6MzQ6IGVycm9yOiBzdWdnZXN0IHBhcmVudGhlc2VzIGFyb3VuZCDigJgmJuKAmSB3aXRoaW4g4oCYfHzigJkgWy1XZXJyb3I9cGFyZW50aGVzZXNdCgkgIGlmICgoc3RyZWFtLT5uX3NhbXBsZXMgPT0gMSkgJiYgKHN0cmVhbS0+Zmlyc3RfZHVyYXRpb24gPT0gMCkKCSAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE3LTA5LTIyIDE4OjQxOjUyICswMjAwICBOYWVsIE91ZWRyYW9nbyA8bmFlbC5vdWVkcmFvZ29AY3JmLmNhbm9uLmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBhc3NlcnQgd2hlbiBtb29mIGNvbnRhaW5pbmcgb25lIHNhbXBsZQoJICBBdm9pZCBjb21wdXRpbmcgZnJhbWUgcmF0ZSB3aGVuIGEgc3RyZWFtIGNvbnRhaW4gbW9vZiB3aXRoIG9ubHkgb25lCgkgIHNhbXBsZSwgdG8gYXZvaWQgYW4gYXNzZXJ0LiBUaGUgbW9vZiBpcyBjb25zaWRlcmVkIGFzIHN0aWxsIHBpY3R1cmUuCgkgIFRoZSBzYW1lIGlzIGFscmVhZHkgZG9uZSBmb3Igb25lIHNhbXBsZSBnaXZlbiBpbiB0aGUgbW9vdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjIxNwoKMjAxNy0xMC0wOSAxNDoxNzoyNSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEF2b2lkIHBvdGVudGlhbGx5IGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyCgkgIENJRCAxNDE4OTg2CgoyMDE3LTEwLTA4IDAwOjA3OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGRlYnVnIG1lc3NhZ2Ugb24gcHQgbWlzbWF0Y2gKCjIwMTctMTAtMDcgMjE6MTE6NDEgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXNAbmR1ZnJlc25lLmNhPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2VuYzogRml4IGRyaXZlciBjYXBhYmlsaXR5IGRlY3RlY3Rpb24KCSAgVXNlIHRoZSByaWdodCBzZXQgb2YgY2FwcyB3aGVuIGNoZWNraW5nIGlmIGNhcHMgaW50ZXJzZWN0LiBUaGF0IG1ha2VzCgkgIHRoZSBjaGVjayBvbmx5IHNlbGVjdCB0aGUgc3VwcG9ydGVkIGRldmljZXMuCgoyMDE3LTA5LTIwIDAxOjQ2OjE1ICswMDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzQG5kdWZyZXNuZS5jYT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSAgdjRsMnZpZGVvZW5jL2RlYzogRG9uJ3QgbGVhayB0ZW1wbGF0ZSBjYXBzCgoyMDE3LTEwLTA3IDIxOjE3OjUzICswMDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzQG5kdWZyZXNuZS5jYT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9kZWM6IFByb3RlY3QgYWdhaW5zdCBudWxsIHBvb2wgaW4gX3N0b3AKCSAgVGhpcyBtYXkgaGFwcGVuIGlmIHRoZSBuZWdvdGlhdGlvbiBmYWlscywgYXMgd2Ugd2lsbCBoYXZlIG5ldmVyCgkgIGNyZWF0ZWQgdGhlIHBvb2xzLgoKMjAxNy0xMC0wNyAxNTo1NToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0cGJpbiwgcnRzcHNyYzogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IDY0LWJpdCBpbnRlZ2VyIHNpZ25lZG5lcwoJICAid2FybmluZzogdGhpcyBkZWNpbWFsIGNvbnN0YW50IGlzIHVuc2lnbmVkIG9ubHkgaW4gSVNPIEM5MCIgd2l0aAoJICBnY2MgNC44LjQgKFVidW50dS9MaW5hcm8gNC44LjQtMnVidW50dTF+MTQuMDQuMykKCjIwMTctMTAtMDcgMTU6Mzk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBidWlsZCB3aXRob3V0IGxpYnY0bAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NDY2CgoyMDE3LTEwLTA3IDE0OjA2OjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHBzYmNkZXBheTogRml4IHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCSAgQ0lEIDE0MTg4NjQKCjIwMTctMTAtMDcgMDE6MjE6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBNaWNyby1vcHRpbWl6ZQoJICBHaXZlcyAxLjI4eCBzcGVlZHVwIGluIHN1cnJvdW5kLWRlbGF5PWZhbHNlIG1vZGUKCjIwMTctMTAtMDYgMjM6NTk6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBEb24ndCBkbyBsaW5lYXIgaW50ZXJwb2xhdGlvbiBiZXR3ZWVuIHNhbXBsZXMKCSAgTGluZWFyIGludGVycG9sYXRpb24gYWRkcyBxdWl0ZSBzb21lIG5vaXNlLCBhbmQgaXQncyB1bmxpa2VseSB0aGF0CgkgIGFueWJvZHkgd2lsbCBldmVyIG5lZWQgc3ViLXNhbXBsZSBhY2N1cmF0ZSBkZWxheXMuIFByb3BlciByZXNhbXBsaW5nCgkgIGJlZm9yZSB0aGF0IHdpbGwgbGVhZCB0byBiZXR0ZXIgcmVzdWx0cy4KCjIwMTctMDktMjkgMjI6MTk6NDIgLTA0MDAgIEVucmljbyBKb3JucyA8ZWpvQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBhdXRvLWRldGVjdCBkbWFidWYgZXhwb3J0IGZvciBWNEwyX0lPX0FVVE8gb24gY2FwdHVyZSBzaWRlCgkgIElzc3VlIGFuIGludmFsaWQgVklESU9DX0VYUEJVRiBpb2N0bCB0byB0aGUgZHJpdmVyIHRvIGNoZWNrIGlmIHRoZQoJICBkcml2ZXIgc3VwcG9ydHMgZG1hYnVmIGV4cG9ydC4gSWYgdGhlIGRyaXZlciBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlCgkgIElPQ1RMLCB0aGUgZXJyb3IgaXMgRU5PVFRZLiBBbnkgb3RoZXIgZXJyb3IgY29kZXMgbWVhbiB0aGF0IHRoZSBkcml2ZXIKCSAgaW1wbGVtZW50cyBWSURJT0NfRVhQQlVGLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NDY2CgoyMDE3LTA5LTI0IDE0OjM1OjAxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBPbmx5IHNldCBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgc3BlY2lmaWVkCgkgIElmIGl0J3Mgbm90IHNwZWNpZmllZCwgd2Ugc2hvdWxkIGxldCB0aGUgZGVjb2RlciBmaWd1cmUgaXQgb3V0LgoJICBBcHBhcmVudGx5IHRoZSBjb2RlIHdhcyBhbHJlYWR5IGluIHBsYWNlLCBhbGwgd2FzIHRvIG1ha2UgdGhlIGNvZGUKCSAgY29uZGl0aW9uYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc3OTUKCjIwMTctMDktMjMgMTU6NDQ6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHB1bGwgcGFzc2VkIHRoZSBFT1MKCSAgV2hlbiBhIHRydW5jYXRlZCBGTFYgaXMgcHJvdmlkZWQgYW5kIHByb2Nlc3NlZCBpbiBwdWxsIG1vZGUsIHdlCgkgIG1heSBlbmR1cCB0cnlpbmcgdG8gcHVsbCBwYXNzZWQgRU9TLCBjYXVzaW5nIGEgcmF0aGVyIGNvbmZ1c2luZwoJICB3YXJuaW5nIGFzIHRoZSBwdWxsIG9mZnNldCBpcyBhbiBpbnRlZ2VyIG92ZXJmbG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3Nzk1CgoyMDE3LTA5LTIzIDE1OjQxOjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBJZ25vcmUgaW52YWxpZCBILjI2NCBjb2RlYyBkYXRhCgkgIFRoaXMgY29kZSBiYXNpY2FsbHkgc2tpcCBvdmVyIGNvZGVjX2RhdGEgd2l0aCBlbXB0eSBwYXlsb2FkLiBJbgoJICB0aGlzIGNhc2UsIHRoZSBjb2RlY19kYXRhIHZhcmlhYmxlIGlzIHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgZm9yCgkgIHRoZSBDT0RFQyBwYXJ0IG9mIFZpZGVvIFRhZy4gVGhlIHJlbWFpbmluZyBpcyBzdXBwb3NlZCB0byBiZSB0aGUKCSAgSC4yNjQgY29kZWMgZGF0YSwgaGVuY2Ugc2hvdWxkIG5vdCBiZSBlbXB0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Nzc5NQoKMjAxNy0wOS0yMyAxNTozODowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQXZvaWQgaW50ZWdlciBvdmVyZmxvdyBvbiBpbnZhbGlkIENUUwoJICBJZiB0aGUgQ1RTIGlzIG5lZ2F0aXZlIGFuIHdvdWxkIGxlYWQgdG8gYSBuZWd0aXZlIFBUUywgY2xpcAoJICB0aGUgQ1RTIHNvIHRoZSBQVFMgd2lsbCBiZSAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3Nzk1CgoyMDE3LTEwLTA1IDE0OjM2OjI4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkgIGRvY3M6IFVwZGF0ZSBmb3IgZ2l0IGNoYW5nZXMKCjIwMTctMTAtMDUgMTQ6MzU6MjcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggYnVpbGQKCjIwMTctMDctMTMgMTQ6NDY6NTUgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBIYW5kbGUgVENQIGFzIGxvd2VyIHRyYW5zcG9ydCB3aXRoIFJUU1AgMi4wCgkgIE1lYW5pbmcgdGhhdCB0aGUgaW50ZXJsZWF2ZSBmaWVsZHMgaGF2ZSB0byBiZSB1cGRhdGVkIGFzCgkgIGlmIHN0cmVhbXMgc2V0dXAgd2FzIHdvcmtpbmcgd2hlbiB1c2luZyBwaXBlbGluZWQgc2V0dXAKCSAgcmVxdWVzdC4gT3RoZXJ3aXNlIHRoZXJlIGlzIGEgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgc2VydmVyCgkgIGNoYW5uZWwgY291bnQgYW5kIG91ciBvd24uCgkgIFRoaXMgYWxzbyBtYWtlcyBSVFNQIDIuMCBvdmVyIEhUVFAgd29ya2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTQ0NgoKMjAxNy0wNC0yMCAxNzo0NTozOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcDogU3RhcnQgaW1wbGVtZW50aW5nIHN1cHBvcnQgZm9yIFJUU1AgMi4wCgkgIC0gSGFuZGxlIHZlcnNpb24gbmVnb3RhdGlvbjoKCSAgQWRkZWQgYSBgZGVmYXVsdC12ZXJzaW9uYCBwcm9wZXJ0eSBzbyB0aGF0IHRoZSB1c2VyIGNhbiBjb25maWd1cmUKCSAgd2hhdCB0byB1c2UgaW4gY2FzZSB0aGUgc2VydmVyIGRvZXMgbm90IHN1cHBvcnQgdmVyc2lvbiBuZWdvdGF0aW9uCgkgICh3aGljaCBhY3R1YWxseSBleGlzdCkKCSAgLSBIYW5kbGUgcGlwZWxpbmVkIHJlcXVlc3RzLCB3aGljaCBhbGxvdyBhdm9pZGluZyBmdWxsIHJvdW5kIHRyaXAgdG8KCSAgc2V0dXAgdGhlIFJUUCBzdHJlYW1zIChyZXF1ZXN0IGFyZSBzZW50IGluIGEgcmF3LCBhbmQgcmVzcG9uc2UgYXJlCgkgIGhhbmRsZWQgYXMgdGhleSBhcnJpdmUpLgoJICAtIEhhbmRsZSB0aGUgbmV3IE1lZGlhLVByb3BlcnRpZXMgaGVhZGVyCgkgIC0gSGFuZGxlIHRoZSBuZXcgU2Vlay1TdHlsZSBoZWFkZXIKCSAgLSBIYW5kbGUgdGhlIG5ldyBBY2NlcHQtUmFuZ2VzIGhlYWRlcgoJICBIYW5kbGluZyBvZiBJUFY2IHNob3VsZCBhbHJlYWR5IGJlIE9LLgoJICBXZSBhcmUgc3RpbGwgbWlzc2luZyAoYXQgbGVhc3QpIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgKHdoaWNoIGRvIG5vdAoJICBzZWVtIHJlYWxseSBtYW5kYXRvcnkgYXMgdGhleSByZXF1aXJlIGEgInBlcnNpc3RlbnQgY29ubmVjdGlvbiBiZXR3ZWVuCgkgIHNlcnZlciBhbmQgY2xpZW50Iik6CgkgIC0gU2VydmVyIHRvIENsaWVudCBURUFSRE9XTiBjb21tYW5kIChOb3Qgc28gdXNlZnVsbCBmbXBvdikKCSAgLSBQTEFZX05PVElGWSAobm90IG5lZWRlZCBmb3Igb3VyIHNlcnZlciB5ZXQpCgkgIC0gU3VwcG9ydCBmb3IgdGhlIG5ldyBSRURJUkVDVCBmZWF0dXJlcwoJICBhbmQgcHJvYmFibHkgc29tZSBtb3JlIHByb3RvY29sIGNoYW5nZXMgbWlnaHQgbm90IGJlIGhhbmRsZWQgeWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNDQ2CgoyMDE3LTA1LTAzIDExOjE5OjAzIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXNlIGEgbWFjcm8gdG8gZGVidWcgUlRTUCBtZXNzYWdlcwoJICBTaW1wbGlmeWluZyB0aGUgY29kZSBhIGxpdHRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTQ0NgoKMjAxNy0xMC0wMyAxNjozMDoxMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgVXNlIHByb3BlciBHdGtEb2Mgbm90YXRpb24gZm9yIE5VTEwvRkFMU0UvVFJVRQoKMjAxNy0xMC0wMiAxMjozNTo0OCAtMDcwMCAgQ2Fzc2FuZHJhIFJvbW1lbCA8Y2Fzc2FuZHJhLnJvbW1lbEBnbWFpbC5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIGdsOiBVc2UgR3N0R0xEaXNwbGF5RUdMIGRpcmVjdGx5IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBHc3RHTERpc3BsYXlWSVZGYiBzdWJjbGFzcwoJICBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYSBsb3Qgd2l0aG91dCBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIGFwYXJ0IGZyb20KCSAgbm90IGNsb3NpbmcgdGhlIGRpc3BsYXkgY29ubmVjdGlvbi4gQ2xvc2luZyB0aGUgZGlzcGxheSBjb25uZWN0aW9uIGlzCgkgIG5vdCBzYWZlIHRvIGRvIGFzIGl0IGlzIHNoYXJlZCBiZXR3ZWVuIGFsbCBvdGhlciBjb2RlIGluIHRoZSBzYW1lCgkgIHByb2Nlc3MgYW5kIG5vIHJlZmVyZW5jZSBjb3VudGluZyBvciBhbnl0aGluZyBoYXBwZW5zIGF0IHRoZSBwbGF0Zm9ybQoJICBsYXllci4KCjIwMTctMTAtMDEgMTY6MDk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IElnbm9yZSBtZWRpYXMgbWFya2VkIGFzIHNlbmRvbmx5CgkgIFdlJ3JlIG5ldmVyIGdvaW5nIHRvIHJlY2VpdmUgYW55dGhpbmcgZnJvbSB0aGVtLCBzbyBkb24ndCBjcmVhdGUgcGFkcwoJICBmb3IgdGhlbS4gVGhlc2UgbWVkaWFzIGFyZSBkZXN0aW5hdGlvbnMgd2hlcmUgKndlKiBjb3VsZCBzZW5kIHNvbWV0aGluZy4KCjIwMTctMDktMDUgMTE6NDE6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuaDoKCSAgc2JjZGVwYXk6IEFkZCBwcm9wZXJ0eSB0byBpZ25vcmUgaW5wdXQgdGltZXN0YW1wcwoJICBUaGlzIHRoZW4ganVzdCBjb3VudHMgc2FtcGxlcyBhbmQgY2FsY3VsYXRlcyB0aGUgb3V0cHV0IHRpbWVzdGFtcHMgYmFzZWQKCSAgb24gdGhhdCBhbmQgdGhlIHZlcnkgZmlyc3Qgb2JzZXJ2ZWQgdGltZXN0YW1wLiBUaGUgdGltZXN0YW1wcyBvbiB0aGUKCSAgYnVmZmVycyBhcmUgY29udGludWVkIHRvIGJlIHVzZWQgdG8gZGV0ZWN0IGRpc2NvbnRpbnVpdGllcyB0aGF0IGFyZSB0b28KCSAgYmlnIGFuZCByZXNldCB0aGUgY291bnRlciBhdCB0aGF0IHBvaW50LgoJICBXaGVuIHJlY2VpdmluZyBkYXRhIHZpYSBCbHVldG9vdGgsIG1hbnkgZGV2aWNlcyBwdXQgY29tcGxldGVseSB3cm9uZwoJICB2YWx1ZXMgaW50byB0aGUgUlRQIHRpbWVzdGFtcCBmaWVsZC4gRm9yIGV4YW1wbGUgaU9TIHNlZW1zIHRvIHB1dCBhCgkgIHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHMgaW4gdGhlcmUsIGluc3RlYWQgb2Ygc29tZXRoaW5nIGJhc2VkIG9uIHRoZQoJICBjdXJyZW50IHNhbXBsZSBvZmZzZXQgKFJUUCBjbG9jay1yYXRlID09IHNhbXBsZSByYXRlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzI5NwoKMjAxNy0wOS0yMSAxMzo1OTowMCArMDUzMCAgUG9ubmFtIFNyaW5pdmFzIDxwLnNyaW5pdmFzQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBGaXggTWVtb3J5IGxlYWsgaW4gZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3OTM3CgoyMDE3LTA5LTIyIDE2OjU1OjIxICswNTMwICBEZWVwYWsgU3JpdmFzdGF2YSA8c3JpdmFzdGF2YS5kQHNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXhlZCBtZW1vcnkgbGVhayBpbiBlcnJvciBjb2RlIHBhdGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODA0MQoKMjAxNy0wOS0yMCAwOTozNzo1OSArMDUzMCAgUG9ubmFtIFNyaW5pdmFzIDxwLnNyaW5pdmFzQHNhbXN1bmcuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBmaXggbWVtb3J5IGxlYWsgaW4gZXJyb3IgY29kZSBwYXRoCgkgIERvbid0IGxlYWsgcm93X3BvaW50ZXJzIGlmIGZyYW1lIGNhbid0IGJlIG1hcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Nzg4NQoKMjAxNy0wOS0xOSAxNzo1NTo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRG9uJ3QgbGVhayBjb2RlYyBuYW1lCgoyMDE3LTA4LTA1IDEyOjIzOjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IHN0b3Agc3RyZWFtaW5nIHdoZW4gcG9vbCBpcyBmbHVzaGluZwoJICBUaGUgcHVycG9zZSBvZiBiZWluZyBhYmxlIHRvIGZsdXNoIHRoZSBidWZmZXIgcG9vbCBpcyBvbmx5IHRvCgkgIHVubG9jayBhbnkgYmxvY2tlZCBvcGVyYXRpb24uIERvaW5nIHN0cmVhbW9mZi9zdHJlYW1vbiBoYWQgdGhlCgkgIHNpZGUgZWZmZWN0IG9mIHR1cm5pbmcgb2ZmIGFuZCBvbiB0aGUgY2FtZXJhLiBBcyB3ZSBkbyBhIGZsdXNoX3N0YXJ0CgkgIC8gZmx1c2hfc3RvcCBzZXF1ZW5jZSB3aGVuIHNodXR0aW5nIGRvd24sIHRoYXQgd291bGQgY2F1c2UgYSByZWFsbHkKCSAgcXVpY2sgc2VxdWVuY2Ugb2Ygc3RyZWFtb2ZmL3N0cmVhbW9uL3N0cmVhbW9mZi9jbG9zZSB3aGljaCB3YXMKCSAgY2F1c2luZyBzb21lIGNhbWVyYXMgdG8gc3RvcCB3b3JraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzOTQ1CgoyMDE3LTA5LTE3IDE2OjE4OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wbGVtZW50IGJhc2ljIGNoYWluX2xpc3QgZnVuY3Rpb24KCSAgRG9lc24ndCBkbyBhbnl0aGluZyBmYW5jeSB5ZXQsIGJ1dCBzdGlsbCBhdm9pZHMgbG90cyBvZgoJICB1bm5lY2Vzc2FyeSBsb2NraW5nL3VubG9ja2luZyB0aGF0IHdvdWxkIGhhcHBlbiBpZiB0aGUKCSAgZGVmYXVsdCBjaGFpbl9saXN0IGZhbGxiYWNrIGZ1bmN0aW9uIGluIEdzdFBhZCBnb3QgaW52b2tlZC4KCjIwMTctMDktMTcgMTI6NTA6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogdXNlIG5ldyBnc3RfYnVmZmVyX2xpc3RfY2FsY3VsYXRlX3NpemUoKQoKMjAxNy0wOS0xNCAxMzowMDo1NiArMDIwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2tyQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRwYmluOiBhZGQgb3B0aW9uIGZvciBzYW5pdHkgY2hlY2tpbmcgdGltZXN0YW1wIG9mZnNldAoJICBUaW1lc3RhbXAgb2Zmc2V0cyBuZWVkcyB0byBiZSBjaGVja2VkIHRvIGRldGVjdCB1bnJlYWxpc3RpYyB2YWx1ZXMKCSAgY2F1c2VkIGZvciBleGFtcGxlIGJ5IE5UUCBjbG9ja3Mgbm90IGluIHN5bmMuIFRoZSBuZXcgcGFyYW1ldGVyCgkgIG1heC10cy1vZmZzZXQgbGV0cyB0aGUgdXNlciBkZWNpZGUgYW4gdXBwZXIgb2Zmc2V0IGxpbWl0LiBUaGVyZQoJICBhcmUgdHdvIGRpZmZlcmVudCBjYXNlcyBmb3IgY2hlY2tpbmcgdGhlIG9mZnNldCBiYXNlZCBvbiBpZgoJICBudHAtc3luYyBpcyB1c2VkIG9yIG5vdDoKCSAgMSkgbnRwLXN5bmMgZW5hYmxlZAoJICBPbmx5IG5lZ2F0aXZlIG9mZnNlc3QgYXJlIGFsbG93ZWQgc2luY2UgYSBwb3NpdGl2ZSBvZmZzZXQgd291bGQKCSAgbWVhbiB0aGF0IHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyIGNsb2NrcyBhcmUgbm90IGluIHN5bmMuCgkgIERlZmF1bHQgdmF1bGUgb2YgbWF4LXRzLW9mZnNldCA9IDAgKGRpc2FibGVkKQoJICAyKSBudHAtc3luYyBkaXNhYmxlZAoJICBCb3RoIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBvZmZzZXRzIGFyZSBhbGxvd2VkLgoJICBEZWZhdWx0IHZhdWxlIG9mIG1heC10cy1vZmZzZXQgPSAzMDAwMDAwMDAwCgkgIFRoZSByZWFzb24gZm9yIGRpZmZlcmVudCBkZWZhdWx0IHZhbHVlcyBpcyB0byBiZSBiYWNrd2FyZHMKCSAgY29tcGF0aWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTczMwoKMjAxNy0wOS0xNCAxMToyMDoxNyArMDIwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2tyQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHBiaW46IGFkZCBvcHRpb24gZm9yIGluY3JlYXNpbmcgdHNfb2Zmc2V0IGdyYWR1YWxseQoJICBJbnN0YW50IGxhcmdlIGNoYW5nZXMgdG8gdHNfb2Zmc2V0IG1heSBjYXVzZSB0aW1lc3RhbXBzIHRvIG1vdmUKCSAgYmFja3dhcmRzIGFuZCBhbHNvIGNhdXNlIHZpc2libGUgZWZmZWN0cyBpbiBtZWRpYSBwbGF5YmFjay4gVGhlIG5ldwoJICBvcHRpb24gbWF4LXRzLW9mZnNldC1hZGp1c3RtZW50IGxldHMgdGhlIGFwcGxpY2F0aW9uIGNvbnRyb2wgdGhlIHJhdGUgdG8KCSAgYXBwbHkgY2hhbmdlcyB0byB0c19vZmZzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQwMDIKCjIwMTctMDktMDYgMDc6NTk6NTYgKzAwMDAgIEpvY2hlbiBIZW5uZWJlcmcgPGpoQGhlbm5lYmVyZy1zeXN0ZW1kZXNpZ24uY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxbWxnbHNpbms6IEV4cG9zZSBpdGVtSW5pdGlhbGl6ZWQgYXMgcHJvcGVydHkKCSAgSW5zdGVhZCBvZiBqdXN0IHNpZ25hbGxpbmcgd2hlbiByZWFkeSBleHBvc2luZyB0aGUgc3RhdGUKCSAgYXMgYSBwcm9wZXJ0eSBhbGxvd3MgdXMgdG8gYmluZCBhdCBhbnkgdGltZSBpZiBwbGF5ZXIgaXMKCSAgbG9hZGVkIGFzeW5jLgoKMjAxNy0wOS0xMyAxNjowNTowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBFbnN1cmUgYWxsIGNhcHMgYSBmaXhhdGVkCgkgIFRoZSBjb2RlIHJlbGllZCBvbiB0aGUgbGlzdCBjb21wYXJlIGZ1bmN0aW9uIHRvIGZpeGF0ZSB0aGUgY2FwcwoJICBidXQgaWYgdGhlIGNhcHMgb25seSBoYXMgb25lIHN0cnVjdHVyZSwgdGhlIGNvbXBhcmUgZnVuY3Rpb24gd2lsbAoJICBuZXZlciBnZXQgY2FsbGVkLiBDYXB0dXJlIGRldmljZSBmb3Igd2hpY2ggdGhlcmUgaXMgb25seSBvbmUKCSAgc3RydWN0dXJlIGluIHRoZSBjYXBzIHdvdWxkIHRoZW4gZ2V0IHNvbWUgYXNzZXJ0aW9uIGFuZCBsYXRlcgoJICBmYWlsIGJhZGx5LgoJICBJbnN0ZWFkLCBmaXhhdGUgYmVmb3JlIGluc2VydGluZyBpbnRvIHRoZSBsaXN0IGFuZCBzcGxpdCB0aGUgcmVhZGluZwoJICBhbmQgdGhlIGZpeGF0aW9uIG9mIHRoZSBzdHJ1Y3R1cmVzLgoKMjAxNy0wOS0xMyAxMTo1MjowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIHRoZSBwYXIgdmFsdWUKCjIwMTctMDktMTMgMTE6Mzg6NDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvdjRsMnNyYy1yZW5lZ290aWF0ZS5jOgoJICB2NGwyLXJlbmVnb3RpYXRlOiBEb24ndCBsZWFrIHRoZSBvcHRpb24gY29udGV4dAoKMjAxNy0wOS0xMyAxMTozMzozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi92NGwyc3JjLXJlbmVnb3RpYXRlLmM6CgkgIHY0bDJzcmMtcmVuZWdvdGlhdGU6IERvbid0IGxlYWsgcGlwZWxpbmUgZGVzYyBzdHJpbmcKCjIwMTctMDktMTMgMTE6MzI6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvdjRsMnNyYy1yZW5lZ290aWF0ZS5jOgoJICB2NGwyLXJlbmVnb3RpYXRlOiBDaGFuZ2UgLS1lbmFibGUtZG1hYnVmIGludG8gLS1pby1tb2RlPQoJICBUaGlzIGdpdmVzIGFsbG93IHRlc3RpbmcgZG1hYnVmIGltcG9ydGF0aW9uIGJ1dCBhbHNvIGV4cG9ydGF0aW9uIGJ1eQoJICBsZXR0aW5nIHVzZXIgcGljayBhbnl0aGluZyBmcm9tIHRoZSBpby1tb2RlIHByb3BlcnR5IG9uIHY0bDJzcmMuCgoyMDE3LTA5LTExIDIwOjI0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2VhcmNoX2NsdXN0ZXIgc2hvdWxkIGZpbmQgcHJlY2VkaW5nIGNsdXN0ZXIgYmVmb3JlIHRhcmdldAoJICAuLi4gc2luY2UgZmFpbGluZyB0aGlzIGNvbnN0cmFpbnQgdGFrZXMgc2VhcmNoX3BvcyBieSBzdXJwcmlzZSB3aGljaCBtaWdodAoJICB0aGVuIGVuZCB1cCBpbiBhbiBpbmZpbml0ZSBsb29wLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3NTM4CgoyMDE3LTA5LTA3IDE0OjMzOjU3ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHtzZW5kLHJlY2VpdmV9OiBpbXByb3ZlIHRoZSBkZWJ1ZyBtZXNzYWdlcwoJICAqIHVzZSBJTkZPL0RFQlVHL0xPRy9UUkFDRSBlcXVhbHkgYW5kIG1lYW5pbmdmdWxseTsKCSAgcHJldmlvdXNseSBydHBydHhzZW5kOkxPRyBhbmQgcnRwcnR4cmVjZWl2ZTpMT0cgd291bGQgZ2VuZXJhdGUKCSAgYSB0b3RhbGx5IGRpZmZlcmVudCBhbW91bnQgb2YgbG9nIHRyYWZmaWMgYW5kIHNvbWV0aW1lcyBpdCB3YXMKCSAgaW1wb3NzaWJsZSB0byBzZWUgdGhlIGluZm9ybWF0aW9uIHlvdSB3YW50ZWQgd2l0aG91dCB1c2VsZXNzCgkgIHNwYW0gYmVpbmcgcHJpbnRlZCBhcm91bmQKCSAgKiBpbXByb3ZlIHRoZSB3b3JkaW5nLCBnaXZlIGEgcmVhc29uYWJsZSBhbmQgc2VsZi1leHBsYW5hdG9yeQoJICBhbW91bnQgb2YgaW5mb3JtYXRpb24KCSAgKiBwcmludCBTU1JDcyBpbiBoZXgKCSAgKiBhdm9pZCBHX0ZPT19GT1JNQVQgZm9yIHJlYWRhYmlsaXR5ICh3ZSBhcmUganVzdCBwcmludGluZyBpbnRlZ2VycykKCjIwMTctMDktMDcgMDk6Mzk6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cGx1Z2luLmNjOgoJKiBleHQvcXQvcXRwbHVnaW4ucHJvOgoJICBxdDogZml4IGJ1aWxkIHdpdGggcW1ha2UKCSAgTW92ZSB0aGUgcGFja2FnZSBkZWZpbmVzIGZvciBHU1RfUExVR0lOX0RFRklORSBmcm9tIHRoZQoJICBjb21tYW5kIGxpbmUgaW50byB0aGUgc291cmNlIGZpbGUgdG8gYXZvaWQgcXVvdGluZyBpc3N1ZXMKCSAgKC1EUEFDS0FHRV9OQU1FPSJmb28iIG1lYW5zIHRoZSBxdW90ZXMgd29uJ3QgYWN0dWFsbHkgbWFrZQoJICBpdCB0byB0aGUgY29tcGlsZXIgYW5kIHRoZW4gaXQgbm8gbG9uZ2VyIGdldHMgYSBzdHJpbmcgY29uc3RhbnQpLgoKMjAxNy0wOS0wNSAxNjoyMDo0NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgUmVxdWVzdCBtaW5pbXVtIGJ1ZmZlciBldmVuIGlmIG5lZWRfcG9vbCBpcyBGQUxTRQoJICBXaGVuIHRlZSBpcyB1c2VkLCBpdCB3aWxsIG5vdCByZXF1ZXN0IGEgcG9vbCwgYnV0IHN0aWxsIGl0IHdhbnRzIHRvCgkgIGtub3cgaG93IG1hbnkgYnVmZmVycyBhcmUgcmVxdWlyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3NTgKCjIwMTctMDktMDUgMTY6MjA6NDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkgIFJlcXVlc3QgbWluaW11bSBidWZmZXIgZXZlbiBpZiBuZWVkX3Bvb2wgaXMgRkFMU0UKCSAgV2hlbiB0ZWUgaXMgdXNlZCwgaXQgd2lsbCBub3QgcmVxdWVzdCBhIHBvb2wsIGJ1dCBzdGlsbCBpdCB3YW50cyB0bwoJICBrbm93IGhvdyBtYW55IGJ1ZmZlcnMgYXJlIHJlcXVpcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNzU4CgoyMDE3LTA5LTA1IDE1OjMwOjQwICswMTAwICBJYW4gSmFtaXNvbiA8aWFuLmRldkBhcmt2ZXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBIYW5kbGUgQlQyMDIwIGZvciBjb2xvcnNwYWNlIGFuZCB0cmFuc2ZlcgoJICBUaGlzIHdhcyBub3QgZnVsbHkgaGFuZGxlZCBpbiBzd2l0Y2hlcyBhbmQKCSAgdWIgZ3N0X3Y0bDJfb2JqZWN0X2dldF9jb2xvcnNwYWNlKCk7CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODczMTMKCjIwMTctMDktMDUgMTU6Mjk6MjQgKzAxMDAgIElhbiBKYW1pc29uIDxpYW4uZGV2QGFya3Zlci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBjb2xvcmltZXRyeSB0cmFuc2ZlciBsb29rdXAgZm9yIDRLIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODcxNjAKCjIwMTctMDktMDYgMTE6MjU6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogQ2hlY2sgaWYgY2FwcyBoYXZlIGNoYW5nZWQgYWZ0ZXIgdHJ5X2ZtdAoJICB0cnlfZm10IHdpbGwgdXBkYXRlIHRoZSBjYXBzIGNvbG9yaW1ldHJ5IGFuZCBpbnRlcmxhY2UtbW9kZS4gQmVmb3JlIHRoaXMKCSAgY2FsbCwgdGhvc2UgZmllbGQgYXJlIG1pc3NpbmcuIFRoZSBjYXBzIGVxdWFsaXR5IGNoZWNrIHdhcyBhbHdheXMKCSAgZmFpbGluZyB3aGVuIGEgc3B1cmlvdXMgcmVjb25maWd1cmUgZXZlbnQgd2FzIHJlY2VpdmVkLgoKMjAxNy0wOS0wNiAyMzo1NTozOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFsbG93IE1QRUcgbGF5ZXIgMS8yLCBBQzMgYW5kIE9wdXMgaW4gcXRtdXgKCSAgcXRtdXggaXMgc3VwcG9zZWQgdG8gYmUgdGhlIG11eGVyIHRoYXQgYWxsb3dzIGFsbCBmb3JtYXRzLAoJICB3aXRoIG90aGVycyAobXA0bXV4IGFuZCBmcmllbmRzKSBiZWluZyBwcm9maWxlLXJlc3RyaWN0ZWQuCgoyMDE3LTA5LTA1IDEyOjU2OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXgga2V5dW5pdCBkZXRlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzI1NAoKMjAxNy0wOS0wNSAxNTo0MjoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IGRlY29kaW5nIG9mIHN0cmVhbXMgdGhhdCBkb24ndCBzaWduYWwgZXhhY3RseSB0d2ljZSB0aGUgaGVpZ2h0CgkgIC4uLiBhbmQgYWxzbyBwcm9ncmVzc2l2ZSBzdHJlYW1zLgoKMjAxNy0wOS0wNSAxMzoyODoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogSGFuZGxlIGludGVybGFjZWQgTUpQRUcgc3RyZWFtcwoJICBUaGVzZSBjb21lIHdpdGggdHdvIEpQRUcgaW1hZ2VzIHBlciBidWZmZXIgb2YgaGFsZiBoZWlnaHQgdGhhbiBzaWduYWxsZWQKCSAgaW4gdGhlIGNvbnRhaW5lci4KCSAgQ2hhbmdlcyBiYXNlZCBvbiBUaW0tUGhpbGlwcCBNw7xsbGVyJ3MgMC4xMCBicmFuY2g6CgkgIGh0dHBzOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvfnRwbS9nc3QtcGx1Z2lucy1nb29kL2xvZy8/aD1qcGVnZGVjLWludGVybGFjZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2ODU1NQoKMjAxNy0wOS0wMSAxNTowMDoxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHNpbms6IGV4cG9zZSB0aGUgY3JlYXRlZCBkaXNwbGF5IGFuZCBjb250ZXh0IGNvcnJlY3RseQoJICAxLiBQcm9wYWdhdGUgdGhlIEdzdEdMRGlzcGxheSB3ZSBjcmVhdGUKCSAgMi4gQWRkIHRoZSBjcmVhdGVkIEdzdEdMQ29udGV4dCB0byB0aGUgcHJvcGFnYXRlZCBHc3RHTERpc3BsYXkKCSAgT3RoZXJ3aXNlIHdpdGggbXVsdGktYnJhbmNoIEdMIHBpcGVsaW5lcyBpbnZvbHZpbmcgZ3RrZ2xzaW5rLCB0aGluZ3MKCSAgd2lsbCBmYWxsIGFwYXJ0IGFuZCBlcnJvcnMgd2lsbCBiZSBnZW5hcmF0ZWQgc29tZXdoZXJlLgoKMjAxNy0wOS0wNCAxNzowNjozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IFJlYWxseSBmaXggInVzYWdlIGJlZm9yZSB1bm1hcCIKCSAgUHJldmlvdXMgcGF0Y2ggd291bGQgdHJ5IHRvIHVucmVmIGEgYnVmZmVyIHRoYXQgd2FzIHB1c2hlZCBkb3duc3RyZWFtLgoJICBJbnN0ZWFkIG9ubHkgdW5yZWYgd2hlbi9pZiBuZWVkZWQgYW5kIGtlZXAgdXNhZ2Ugb2YgdGhlIGNsZWFudXA6IGdvdG8KCSAgYmxvY2sKCjIwMTctMDktMDMgMTU6MjM6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IERvbid0IHVubWFwIGJ1ZmZlciBiZWZvcmUgYWNjZXNzaW5nIGRhdGEgZnJvbSBpdAoJICBUaGUgcHJldmlvdXMgcGF0Y2ggYWRkZWQgYSBjaGVjayBmb3IgYSBzdWJzdHJlYW0gaGVhZGVyIGFmdGVyCgkgIGdzdF9idWZmZXJfdW5tYXAoKSwgd2hpY2ggaXMgaW5jb3JyZWN0LgoKMjAxNy0wNi0yNCAxODo0NzoxNCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IHByZXNlcnZlIERUUyBIRCBzdWJzdHJlYW0KCjIwMTctMDktMDEgMTU6NTY6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbC5oOgoJICBxdDogT25seSBpbmNsdWRlIHF0Z3VpLWNvbmZpZy5oIG9uIHF0ID49IDUuOS4wCgkgIFRoZSBmaWxlIGRvZXMgbm90IGV4aXN0IGluIHByZXZpb3VzIHZlcnNpb25zCgoyMDE3LTA4LTMxIDE0OjQwOjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbC5oOgoJICBxdDogdGhlIGRlZmluZXMgZm9yIFFUX09QRU5HTF9FU18yIGhhdmUgbW92ZWQKCSAgVXBkYXRlIHRoZSBpbmNsdWRlcyB0byBhY2NvdW50IGZvciB0aGF0CgoyMDE3LTA0LTI2IDEzOjUwOjQxICswMjAwICBKb2NoZW4gSGVubmViZXJnIDxqaEBoZW5uZWJlcmctc3lzdGVtZGVzaWduLmNvbT4KCgkqIGV4dC9xdC9xdHdpbmRvdy5jYzoKCSAgcXQ6IGVuc3VyZSBHTF9EUkFXX0ZSQU1FQlVGRkVSCgoyMDE3LTA4LTE0IDE4OjE4OjA3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IEZpeCBzb21lIHRhYnMgdGhhdCBjcmVwdCBpbiBzb21laG93CgoyMDE3LTA4LTI5IDE5OjEzOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogQWxzbyBsb2cgbG9jYWwgYW5kIFNSIFJUUCBydW5uaW5nIHRpbWVzIHdoZW4gZG9pbmcgbnRwLXN5bmM9dHJ1ZQoKMjAxNy0wOC0yNCAxNzowNjozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWxzbyBjcmVhdGUgc2Vzc2lvbiB3aGVuIGNyZWF0aW5nIHRoZSBzZW5kX3J0Y3Bfc3JjXyV1IHBhZAoJICBJZiBvbmUgcmVxdWVzdHMgdGhlIHNlbmRfcnRjcF9zcmNfJXUgcGFkIGJlZm9yZSBhIHJlY3ZfcnRjcF9zaW5rXyV1IHBhZCwKCSAgdGhlIHNlc3Npb24vcGFkIHdvdWxkIG5ldmVyIGJlIGNyZWF0ZWQgYW5kIE5VTEwgd2FzIHJldHVybmVkLgoJICBTd2l0Y2hpbmcgdGhlIHJlcXVlc3Qgb3JkZXIgd291bGQgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjcxOAoKMjAxNy0wOC0yNiAxMjo1OTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9jYnJfc3RyZWFtLm1wMzoKCSogdGVzdHMvZmlsZXMvc3RyZWFtLm1wMjoKCSogdGVzdHMvZmlsZXMvdmJyX3N0cmVhbS5tcDM6CgkgIHRlc3RzOiBtcGcxMjNhdWRpb2RlYzogYWRkIGZpbGVzIG5lZWRlZCBieSB1bml0IHRlc3RzCgoyMDE3LTA4LTI2IDEwOjEwOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWdvb2Quc3VwcDoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9sYW1lLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90d29sYW1lLmM6CgkgIHRlc3RzOiBhZGQgYmFzaWMgdW5pdCB0ZXN0IGZvciB0d29sYW1lIGFzIHdlbGwKCjIwMTctMDgtMjYgMDk6NTk6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbGFtZS5jOgoJICB0ZXN0czogbGFtZTogZml4IGJ1aWxkCgoyMDE3LTA4LTI2IDA5OjUyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIGFub3RoZXIgYmluYXJ5CgoyMDE3LTA4LTI2IDA5OjQxOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIGV4dC90d29sYW1lL21lc29uLmJ1aWxkOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgdHdvbGFtZTogaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI1MgoKMjAxNy0wOC0yNiAwOToyMTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkgIE1vdmluZyB0d29sYW1lIG1wMiBlbmNvZGVyIHBsdWdpbiBmcm9tIC11Z2x5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyNTIKCjIwMTctMDgtMjYgMDk6MDM6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhbWUueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvbGFtZS9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWdvb2Quc3VwcDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIGxhbWU6IGhvb2sgdXAgdG8gYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyNTIKCjIwMTctMDgtMjUgMjE6MTM6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJICBNb3ZpbmcgbGFtZSBtcDMgZW5jb2RlciBwbHVnaW4gZnJvbSAtdWdseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MjUyCgoyMDE3LTA4LTIyIDEyOjM5OjQzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqaXNvcmNlQG9ibG9uZy5jb20+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvcXR3aW5kb3cuY2M6CgkgIHF0OiBmaXggYnJva2VuIGJ1aWxkIGR1ZSB0byBjb21taXQgMmZkODRhNmMgZm9yIGdzdGdsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ3NzkKCjIwMTctMDctMDcgMTY6MTU6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGppc29yY2VAb2Jsb25nLmNvbT4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJICBnbDogZG8gbm90IGluY2x1ZGUgR0wgaGVhZGVycyBpbiBwdWJsaWMgZ3N0Z2wgaGVhZGVycwoJICBFeGNlcHQgZm9yIGdzdC9nbC9nc3RnbGZ1bmNzLmgKCSAgSXQgaXMgdXAgdG8gdGhlIGNsaWVudCBhcHAgdG8gaW5jbHVkZSB0aGVzZSBoZWFkZXJzLgoJICBJdCBpcyBjb2hlcmVudCB3aXRoIHRoZSBmYWN0IHRoYXQgZ3N0cmVhbWVyLWdsLnBjIGRvZXMgbm90CgkgIHJlcXVpcmUgYW55IGVnbC5wYy9nbGVzLnBjLiBJLmUuIGl0IGlzIHRoZSByZXNwb25zYWJpbGl0eQoJICBvZiB0aGUgYXBwIHRvIHNlYXJjaCB0aGVzZSBoZWFkZXJzIHdpdGhpbiBpdHMgYnVpbGQgc2V0dXAuCgkgIEZvciBleGFtcGxlIGdzdHJlYW1lci12YWFwaSBpbmNsdWRlcyBleHBsaWNpdGx5IEVHTC9lZ2wuaAoJICBhbmQgc2VhcmNoIGZvciBpdCBpbiBpdHMgY29uZmlndXJlLmFjLgoJICBGb3IgZXhhbXBsZSB3aXRoIHRoaXMgcGF0Y2gsIGlmIGFuIGFwcCBpbmNsdWRlcyB0aGUgaGVhZGVycwoJICBnc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaAoJICBnc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuaAoJICBnc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmgKCSAgaXQgd2lsbCAqbm8gbG9uZ2VyKiBhdXRvbWF0aWNhbGx5IGluY2x1ZGUgRUdML2VnbC5oIGFuZCBHTEVTMi9nbDIuaC4KCSAgV2hpY2ggaXMgZ29vZCBiZWNhdXNlIHRoZSBhcHAgbWlnaHQgd2FudCB0byB1c2UgdGhlIGdzdGdsIGFwaSBvbmx5CgkgIHdpdGhvdXQgdGhlIG5lZWQgdG8gYm90aGVyIGFib3V0IGdsIGhlYWRlcnMuCgkgIEFsc28gYWRkZWQgYSB0ZXN0OiBjZCB0ZXN0cy9jaGVjayAmJiBtYWtlIGxpYnMvZ3N0Z2xoZWFkZXJzLmNoZWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ3NzkKCjIwMTctMDgtMjAgMjA6NDE6MTkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBMaW5rIG1wZWcxMjNhdWRpb2RlYyB0ZXN0IGFnYWluc3QgZ3N0ZmZ0CgkgIEZpeGluZyBidWlsZCBlcnJvcjoKCSAgL3J1bi9idWlsZC9nc3QtcGx1Z2lucy1nb29kL19mbGF0cGFrX2J1aWxkLy4uL3Rlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6MTUwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnc3RfZmZ0X3MzMl9uZXcnCgkgIC9ydW4vYnVpbGQvZ3N0LXBsdWdpbnMtZ29vZC9fZmxhdHBha19idWlsZC8uLi90ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOjE1MTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ3N0X2ZmdF9zMzJfd2luZG93JwoJICAvcnVuL2J1aWxkL2dzdC1wbHVnaW5zLWdvb2QvX2ZsYXRwYWtfYnVpbGQvLi4vdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoxNTE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdzdF9mZnRfczMyX2ZmdCcKCSAgL3J1bi9idWlsZC9nc3QtcGx1Z2lucy1nb29kL19mbGF0cGFrX2J1aWxkLy4uL3Rlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6MTQ3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnc3RfZmZ0X3MzMl9mcmVlJwoKMjAxNy0wOC0yMCAxNzoxNTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogcmVtb3ZlIGdzdC1jaGVjay14bXAtKiB0ZW1wIGZpbGVzIHdoZW4gZG9uZQoJICBBbHNvIGZpeCB0ZW1wIGZpbGUgY3JlYXRpb24gYSBiaXQuCgoyMDE3LTA4LTIwIDE1OjQ5OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBjaGFuZ2VzIGluIGdpdAoKMjAxNy0wOC0yMCAxNTo0ODoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJICBtcGcxMjM6IGFkZCB0byBkb2NzCgoyMDE3LTA4LTIwIDEzOjU2OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvbXBnMTIzL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1wZzEyMzogaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI1MgoKMjAxNy0wOC0yMCAxMzo0ODo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkgIE1vdmluZyBtcGcxMjMgcGx1Z2luIGZyb20gLXVnbHkKCjIwMTctMDgtMTcgMTI6MjM6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDhhNWQ4NSB0byAzZjRhYTk2CgoyMDE3LTA4LTE0IDE1OjI4OjIyICswODAwICBTa3kgSnVhbiA8c2t5anVhbkByZWFsdGVrLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBub3QtbGlua2VkIGhhbmRsaW5nIGNhdXNpbmcgZ2xpdGNoZXMgd2hlbiBzZWxlY3Rpbmcgc3RyZWFtCgkgIEZpeCBjaGFpbiBmdW5jdGlvbiBub3QgaGFuZGxpbmcgbm90LWxpbmtlZCBmcm9tIGJhc2VwYXJzZS4KCSAgV2hlbiBhbiBpbnB1dCBkYXRhIGlzIHNlcGFyYXRlZCBpbnRvIDIgYnVmZmVycywgdGhlIHNlY29uZCBidWZmZXIKCSAgd291bGQgbm90IGJlIHB1c2hlZCBpbnRvIHRoZSBhZGFwdGVyIGlmIGJhc2VwYXJzZSByZXR1cm5zIG5vdC1saW5rZWQKCSAgZm9yIGZpcnN0IGJ1ZmZlci4KCSAgVGhpcyBjYXVzZWQgZ2xpdGNoZXMgd2hlbiBzd2l0Y2hpbmcgc3RyZWFtcyBhbmQgc2VsZWN0aW5nCgkgIGEgc3RyZWFtIHRoYXQgd2FzIHByZXZpb3VzbHkgdW5zZWxlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjI2OAoKMjAxNy0wOC0xNiAxMzo1Nzo1MCArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5oOgoJKiBnc3QvZ29vbTJrMS9nb29tX2NvcmUuYzoKCSAgZ29vbTJrMTogQ29udmVydCBzb3VyY2UgZmlsZXMgdG8gVVRGLTgKCSAgQ2F1c2VzIHByb2JsZW1zIHdpdGggdGhlIG5ldyBndGstZG9jIDEuMjYgb3RoZXJ3aXNlLAoJICBidXQgaXMgYSBnb29kIGlkZWEgaW4gYW55IGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYzNjQKCjIwMTctMDgtMTQgMDM6MDg6NDEgLTA1MDAgIEVkdWFyZCBTaW5lbG5pa292IDxlZHVhcmRAcmVwb3J0eS5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgZ3Jvd2luZyBXQVYgZmlsZXMKCSAgV2l0aCBzb21lIGZpeGVzIGJ5IG1lLgoKMjAxNy0wOC0xNCAxNzozOToxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggY29tcGlsZSBlcnJvcgoKMjAxNy0wNS0yMSAxNjowMToxNCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxbWxnbHNpbms6IEFkZCBpdGVtSW5pdGlhbGl6ZWQgc2lnbmFsIHRvIFFNTCBpdGVtCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBhdXRvcGxheSBmb3IgZXhhbXBsZS4gV2l0aCBhdXRvcGxheSwgaXQgaXMgbmVjZXNzYXJ5IHRvCgkgIHdhaXQgdW50aWwgdGhlIHNjZW5lIGdyYXBoIGlzIGZ1bGx5IHNldCB1cC4gVGhpcyBzaWduYWwgaXMgZW1pdHRlZCBvbmNlIHRoZQoJICBRTUwgaXRlbSBub2RlIGlzIHJlYWR5LiBTbywgaW5zaWRlIGEgY29ubmVjdGVkIHNsb3QsIHRoZSBwaXBlbGluZSdzIHN0YXRlCgkgIGNhbiBiZSBzZXQgdG8gUExBWUlORyB0byBhdXRvbWF0aWNhbGx5IHN0YXJ0IHBsYXliYWNrIGFzIHNvb24gYXMgdGhlIFFNTAoJICBzY3JpcHQgaXMgbG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2MjQ2CgoyMDE3LTA4LTE0IDEwOjM2OjU2ICswMDAwICBKb2NoZW4gSGVubmViZXJnIDxqaEBoZW5uZWJlcmctc3lzdGVtZGVzaWduLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogZml4IGlmIGJ1ZmZlciBzaXplIGV4Y2VlZHMgTVRVCgkgIFRoZSBwbHVnaW4gcXVldWVkIGJ1ZmZlciBkYXRhIGlmIG5vdCBhbGwgYnVmZmVyIGRhdGEgZml0CgkgIGludG8gYSBzaW5nbGUgUlRQIHBhY2tldC4gTm93IFJUUCBwYWNrZXRzIGFyZSBwdXNoZWQgYXMgbG9uZwoJICBhcyBlbm91Z2ggZGF0YSBpcyBhdmFpbGFibGUuCgoyMDE3LTA3LTI3IDE3OjIxOjQ4ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSAgdnB4ZW5jOiBkaXNjYXJkIGZyYW1lcyB0aGF0IGhhdmUgYmVlbiBkcm9wcGVkIGJ5IGxpYnZweAoJICBUaGlzIGZpeGVzIGEgbWVtb3J5IGxlYWsuIFdoZW4gZHJvcGZyYW1lLXRocmVzaG9sZCBoYXMgYmVlbiBzZXQsCgkgIGxpYnZweCBtYXkgb3V0cHV0IGxlc3MgZnJhbWVzIHRoYW4gdGhlIGlucHV0IG9uZXMsIHdoaWNoIGNhdXNlcwoJICBzb21lIEdzdFZpZGVvQ29kZWNGcmFtZXMgdG8gcXVldWUgdXAgaW4gR3N0VmlkZW9FbmNvZGVyJ3MgaW50ZXJuYWwKCSAgZnJhbWUgcXVldWUgd2l0aCBubyBjaGFuY2Ugb2YgZXZlciBiZWluZyBhbGwgcmVsZWFzZWQuIEFuZCBiZWNhdXNlCgkgIHRoZSBmcmFtZXMga2VlcCByZWZlcmVuY2VzIHRvIHRoZSBpbnB1dCBidWZmZXJzLCB0aGUgaW5wdXQgYnVmZmVyCgkgIHBvb2wga2VlcHMgYWxsb2NhdGluZyBuZXcgYnVmZmVycyBhbmQgbWVtb3J5IHVzYWdlIGdyb3dzIHZlcnkgZmFzdC4KCSAgRm9yIGV4YW1wbGUgdGhlIGZvbGxvd2luZyBwaXBlbGluZSdzIG1lbW9yeSB1c2FnZSBncm93cyBhdCBhIHJhdGUKCSAgb2YgYWJvdXQgMUdCIHBlciBtaW51dGUhCgkgIHZpZGVvdGVzdHNyYyAhIGNhcHNmaWx0ZXIgY2Fwcz12aWRlby94LXJhdyx3aWR0aD0xOTIwLGhlaWdodD0xMDgwLGZyYW1lcmF0ZT0zMC8xLGZvcm1hdD1JNDIwICEgXAoJICB2cDhlbmMgdGFyZ2V0LWJpdHJhdGU9MTAwMDAwMCBlbmQtdXNhZ2U9Y2JyIGRyb3BmcmFtZS10aHJlc2hvbGQ9OTUgISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMDg2CgoyMDE3LTA4LTA4IDEzOjExOjU4ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogZml4IHVuc2lnbmVkIGludGVnZXIgY29tcGFyaXNvbnMuCgkgIENhbGxlcnMgb2YgdGhlIEFQSSAocnRwc291cmNlLCBydHBqaXR0ZXJidWZmZXIpIHBhc3MgY2xvY2tfcmF0ZQoJICBhcyBhIHNpZ25lZCBpbnRlZ2VyLCBhbmQgdGhlIGNvbXBhcmlzb24gIjw9IDAiIGlzIHVzZWQgYWdhaW5zdAoJICBpdCwgbGVhZGluZyBtZSB0byB0aGluayB0aGUgaW50ZW50aW9uIHdhcyB0byBoYXZlIHRoZSBmaWVsZAoJICBiZSB0eXBlZCBhcyBnaW50MzIsIG5vdCBndWludDMyLgoJICBUaGlzIGxlZCB0byBzaXR1YXRpb25zIHdoZXJlIHdlIGNvdWxkIGNhbGwgc2NhbGVfaW50IHdpdGgKCSAgYSBNQVhfVUlOVDMyICgtMSkgZ3VpbnQzMiBhcyB0aGUgZGVub20sIHRodXMgcmFpc2luZyBhbgoJICBhc3NlcnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU5OTEKCjIwMTctMDgtMTAgMTQ6NDQ6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL21lc29uLmJ1aWxkOgoJICB0YWdsaWI6IHVzZSAtZnZpc2liaWxpdHk9aGlkZGVuIHdpdGggdGhpcyBDKysgcGx1Z2luIGluIG1lc29uIHRvbwoJICBBbHNvIHBhc3MgYXJncyBhcyBjcHBfYXJncy4KCjIwMTctMDMtMjIgMTU6MjU6MTcgKzAxMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsbG93IGxhcmdlciBmaWxlcwoJICBGb3IgcmVhbGx5IGxvbmcgZmlsZXMgc3VjaCBhcyBjb250aWd1b3VzIHJlY29yZGluZ3Mgb2YgYSB3aG9sZSBkYXksIHRoZQoJICA1ME1CIGxpbWl0IGlzIG5vdCBzdWZmaWNpZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNDU4CgoyMDE3LTA4LTEwIDE2OjA4OjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvZmZzZXRzIGZvciByZWFkaW5nIGxwY20gc3BlY2lmaWMgZmllbGRzCgkgIFdlIHdlcmUgcmVhZGluZyBhdCB0aGUgY29tcGxldGVseSB3cm9uZyBwb3NpdGlvbnMsIDE2IGJ5dGVzIGxhdGVyIGluIHRoZQoJICBkYXRhLgoJICBBbHNvIGFkZCBzdXBwb3J0IGZvciBoaWdoLWFsaWduZWQgc2FtcGxlcy4KCjIwMTctMDgtMTAgMTQ6MDE6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGRvbid0IGV4cG9ydCBzeW1ib2xzIGJ5IGRlZmF1bHQKCSAgT25seSBwbHVnaW4gZW50cnkgcG9pbnRzIHNob3VsZCBiZSBleHBvcnRlZC4KCSAgQ3VycmVudGx5IHBsdWdpbnMgbWlnaHQgZXhwb3J0IG1vcmUgc3ltYm9scyB3aXRoCgkgIHRoZSBtZXNvbiBidWlsZCwgYXMgd2UgZG9uJ3QgaGF2ZSB0aGUgZXhwb3J0cwoJICByZWdleHAgdGhlcmUgdGhhdCB3ZSBwYXNzIHRvIGxpYnRvb2wuCgoyMDE3LTA4LTEwIDE1OjE0OjMxICswNTMwICBEZWVwYWsgU3JpdmFzdGF2YSA8c3JpdmFzdGF2YS5kQHNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBGaXggbWVtb3J5IGxlYWsgaW4gd2F2cGFyc2UgZWxlbWVudAoJICBGaXhpbmcgb2YgbGVha2luZyB0aGUgdGV4dCBmaWVsZCBvZiB0aGUgR3N0V2F2UGFyc2VOb3RlIGFuZAoJICBHc3RXYXZQYXJzZUxhYmwgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1NDI5CgoyMDE3LTA4LTA4IDEwOjM3OjEyICswMDAwICBDeXJpbCBMYXNoa2V2aWNoIDxub3RvcmNhQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCBtYXJrIGpwZWcgZnJhbWVzIGFzIGRlbHRhcwoJICBKUEVHIGZvcm1hdHMgYXJlIGVuY29kZWQsIGJ1dCB0aGV5IG5ldmVyIGhhdmUga2V5ZnJhbWUgZmxhZy4gQnV0IGluCgkgIGZhY3QgdGhleSBhcmUga2V5ZnJhbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU5OTAKCjIwMTctMDgtMDYgMTM6MDY6NDUgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeHZpZGVvOiByZW5hbWUgbGlicmFyeSBhY2NvcmRpbmcgdG8gdGhlIHBsdWdpbiBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU4ODAKCjIwMTctMDgtMDIgMTc6MTY6MjEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCBkcm9wIGJ1ZmZlciByZWYgb24gcWJ1ZgoJICBUaGlzIGZ1bmN0aW9uIG5vIGxvbmdlciB0YWtlIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyLgoJICBDSUQgMTQxNDgwMAoKMjAxNy0wOC0wMiAxNzoxMzo1NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogRW5hYmxlIFZQOSBmb3JtYXQKCSAgVGhpcyB3YXMgbWlzc2luZywgcHJldmVudGluZyB0aGUgZW5jb2RlciBhbmQgZGVjb2RlciB0byB3b3JrCgkgIHByb3Blcmx5LiBUaGlzIGFsc28gYWRkcyBzdXBwb3J0IGZvciBjYW1lcmEgdGhhdCB3b3VsZCBwcm9kdWNlCgkgIFZQOSAoaWYgdGhhdCBleGlzdHMpLgoKMjAxNy0wOC0wMiAxMjoyODozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmgyNjNlbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmgyNjRlbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm1wZWc0ZW5jLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2cDhlbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZwOWVuYy5oOgoJICB2NGwyOiBSZW1vdmUgc3B1cmlvdXMgQ0FURUdPUllfRVhURVJOCgkgIFRoZXNlIGhhdmUgYmVlbiBjb3B5IHBhc3RlZCBhbGwgb3ZlciB0aGUgcGxhY2UgYW5kIGFyZSBub3QgdXNlZCBhbnltb3JlLgoJICBBbGwgb2JqZWN0IGhhdmUgaXQncyBvd24gY2F0ZWdvcnkgbm93LiBUaGlzIGZpeGVzIGJ1aWxkIHdhcm5pbmcgc2luY2UKCSAgdGhlIFZQOSBkZWNvZGVyIGhhZCB2cDggY2F0ZWdvcnkgZGVjbGFyZWQuCgoyMDE3LTA4LTAyIDEwOjM5OjQ2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2NGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwybXBlZzRlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydnA4ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2cDllbmMuYzoKCSAgdjRsMnZpZGVvZW5jOiBNb3ZlIHRoZSBwcm9maWxlL2xldmVsIG5lZ290YXRpb24gaW4gdGhlIGJhc2UgY2xhc3MKCSAgVGhpcyByZW1vdmVzIGR1cGxpY2F0ZWQgY29kZSBhY3Jvc3MgZGlmZmVyZW50IGNvZGVjLgoKMjAxNy0wOC0wMiAwOTozNjowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2M2VuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2NGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwybXBlZzRlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydnA4ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2cDllbmMuYzoKCSAgdjRsMnZpZGVvZW5jOiBUdXJuIGdzdF92NGwyX2lzX3ZpZGVvX2VuYyBpbnRvIGEgaGVscGVyCgkgIFRoaXMgcmVkdWNlcyB0aGUgYW1vdW50IG9mIGNvZGUgbmVlZGVkIGluIGVhY2ggY29kZWMgY2xhc3MuCgoyMDE3LTA4LTAxIDE2OjAxOjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydnA4ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2cDhlbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZwOWVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydnA5ZW5jLmg6CgkqIHN5cy92NGwyL21lc29uLmJ1aWxkOgoJICB2NGwyOiBBZGQgVlA4LzkgZW5jb2RlciBzdXBwb3J0CgoyMDE3LTA3LTMxIDExOjU2OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVzZSBtbWFwNjQgdG8gbWF0Y2ggbGlidjRsMiBzaWduYXR1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTYyOAoKMjAxNy0wOC0wMSAwOToyMjo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENvcHkgZmxhZ3MgYW5kIHRpbWVzdGFtcCB3aGVuIGltcG9ydGluZwoJICBXaGVuZXZlciB3ZSBpbXBvcnQgZnJvbSBkb3duc3RyZWFtIHBvb2wgKHVzZXJwdHIgb3IgZG1hYnVmLWltcG9ydCksIHdlCgkgIHNob3VsZCBjb3B5IG92ZXIgdGhlIGZsYWdzIGFuZCB0aW1lc3RhbXAsIG90aGVyd2lzZSBkb3duc3RyZWFtIHdpbGwgbm90CgkgIGdldCBwcm9wZXIgc3luY2hyb25pemF0aW9uIG9yIHdpbGwgbm90IGJlIGFibGUgdG8gbm90aWNlIGZyYW1lcyB0aGF0IGhhcwoJICBjb3JydXB0aW9uIGluIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1NjgwCgoyMDE3LTA3LTMxIDE2OjA5OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2M2VuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2M2VuYy5oOgoJKiBzeXMvdjRsMi9tZXNvbi5idWlsZDoKCSAgdjRsMjogQWRkIEgyNjMgRW5jb2RlciBzdXBwb3J0CgoyMDE3LTA3LTI3IDEzOjUxOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMjogQWRkIG1pc3Npbmcgbm8taW5zdCBoZWFkZXIKCjIwMTctMDctMjYgMTU6MTg6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJtcGVnNGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwybXBlZzRlbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5oOgoJKiBzeXMvdjRsMi9tZXNvbi5idWlsZDoKCSAgdjRsMjogQWRkIGludGVyZmFjZSBmb3IgTVBFRzQgZW5jb2RpbmcKCjIwMTctMDctMjcgMTA6NTE6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmgyNjRlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmgyNjRlbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5oOgoJICB2NGwyOiBJZ25vcmUgcmVnaXN0ZXIgaXNzdWUgYW5kIGtlZXAgcHJvYmluZwoJICBEb24ndCBzdG9wIHJlZ2lzdGVyaW5nIHRoZSBvdGhlciBkeW5hbWljIHBsdWdpbnMgaWYgb25lIHJlZ2lzdHJhdGlvbgoJICBmYWlscy4KCjIwMTctMDctMjcgMTQ6MjE6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBtdWxhd2RlYzogVW5tYXAgaW5wdXQgYnVmZmVyIGlmIGZhaWxpbmcgdG8gbWFwIHRoZSBvdXRwdXQgYnVmZmVyCgoyMDE3LTA3LTI3IDA5OjIyOjI1ICswNTMwICBTYXR5YSBQcmFrYXNoIEd1cHRhIDxzcC5ndXB0YUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgYWxhd2RlYzogRml4IE1lbW9yeSBsZWFrIGluIGVycm9yIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTQzNQoKMjAxNy0wNy0yNiAyMDozNjoxNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29tbW9uLmg6CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbnRyb2xzLmg6CgkqIHN5cy92NGwyL2V4dC92aWRlb2RldjIuaDoKCSAgdjRsMjogVXBkYXRlIGV4dGVybmFsIGZpbGVzIHdpdGggbGF0ZXN0CgkgIFRoaXMgaXMgY29waWVkIGZyb20gdGhlIGxpbnV4IGtlcm5lbCB3aXRoIG9ubHkgc29tZSBpbmNsdWRlIGNoYW5nZXMgc28KCSAgaXQgd29ya3Mgb3V0c2lkZSB0aGUga2VybmVsIGhlYWRlcnMuCgoyMDE3LTA3LTE4IDEwOjQxOjQwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRm9yIGF1ZGlvIHRyYWNrcywgdGFrZSB0aGUgZGVmYXVsdCBkdXJhdGlvbiBmcm9tIHRoZSBmaXJzdCBidWZmZXIKCSAgLi4uIGlmIHdlIGRvbid0IGhhdmUgYW55IGJldHRlciBpZGVhIGZyb20gdGhlIGNhcHMuIFRoaXMgYWxsb3dzIHdyaXRpbmcKCSAgU2ltcGxlQmxvY2tzIGZvciBhIG1ham9yaXR5IG9mIGF1ZGlvIHN0cmVhbXMgd2hlcmUgdGhlIGR1cmF0aW9uIG9mCgkgIGZyYW1lcyBpcyB1c3VhbGx5IGZpeGVkLiBBbmQgYXMgYSBzaWRlIGVmZmVjdCwgYWxsb3dzIFZMQyB0byBwbGF5CgkgIHN0cmVhbXMgd2l0aCBPcHVzIGFzIGl0IG9ubHkgd29ya3Mgd2l0aCBTaW1wbGVCbG9ja3MgY3VycmVudGx5OgoJICBodHRwczovL3RyYWMudmlkZW9sYW4ub3JnL3ZsYy90aWNrZXQvMTg1NDUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDk2OQoKMjAxNy0wNy0yNCAxNjo0NTo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IEZpeCBjb21waWxhdGlvbiB3aXRob3V0IGxpYnY0bDIKCjIwMTctMDctMjQgMTY6MTM6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogS2VlcCByZWYgdG8gZWxlbWVudCBpbiBhbGxvY2F0b3IvcG9vbAoJICBSZW1vdmVzIHRoZSBGSVhNRS9RdWVzdGlvbiBpbiB0aGUgYnVmZmVyIHBvb2wgYW5kIGFkZCBhIHJlZiB0byB0aGUKCSAgZWxlbWVudCBpbiB0aGUgR3N0QWxsb2NhdG9yIHRvby4gVGhpcyByZWYgaXMgc3RyaWN0bHkgcmVxdWlyZWQgdG8ga2VlcAoJICB0aGUgR3N0VjRsMk9iamVjdCBzdHJ1Y3R1cmUgYXJvdW5kLgoKMjAxNy0wNy0yNCAxNDoyNzowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFJlbW92ZWQgdW51c2VkIG1lbWJlcnMKCjIwMTctMDctMjQgMTQ6MTk6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2NGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEFkZCBydW4tdGltZSBlbnZpcm9ubWVudCB0byBlbmFibGUgbGlidjRsMgoJICBUaGUgbGlicmFyeSBoYXMgc3RhcnRlZCBwcmV2ZW50aW5nIGEgbG90IG9mIGludGVyZXN0aW5nIHVzZSBjYXNlcywKCSAgbGlrZSBDUkVBVEVfQlVGUywgRE1BQnVmLCB1c2FnZSBvZiBUUllfRk1ULiBBcyB0aGUgbGlidjRsMiBpcyB0b3RhbGx5CgkgIGluYWN0aXZlIGFuZCBub3QgbWFpbnRhaW5lZCwgd2UgZGVjaWRlZCB0byBkaXNhYmxlIGl0LiBBcyBhIGNvbnZlbmllbmNlCgkgIHdlIGFkZGVkIGEgcnVuLXRpbWUgZW52aXJvbm1lbnQgdGhhdCBsZXQgeW91IGVuYWJsZSBpdCBmb3IgdGVzdGluZy4KCSAgR1NUX1Y0TDJfVVNFX0xJQlY0TDI9MQoJICBUaGlzIG9mIGNvdXJzZSBvbmx5IHdvcmtzIGlmIHlvdSBoYXZlIGVuYWJsZWQgbGlidjRsMiBhdCBidWlsZCB0aW1lLgoKMjAxNy0wNy0xNyAxMDowNDowMiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGRlY2xhcmUgcXVhbGl0eSBwcm9wZXJ0eSBjaGFuZ2VhYmxlIGluIFBMQVlJTkcgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTAxMgoKMjAxNy0wNy0yMSAyMzozNDo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggY29sb3JpbWV0cnkgdmFsaWRhdGlvbgoJICBXaGlsZSBub3QgZG9jdW1lbnRlZCwgZ3N0X3ZpZGVvX2NvbG9yaW1ldHJ5X21hdGNoZXMoKSBvbmx5IGFjY2VwdHMgd2VsbAoJICBrbm93biBuYW1lcy4gTG9va2luZyBhdCB0aGUgY29kZSBhbmQgdW5pdCB0ZXN0LCB0aGlzIHNlZW1zIHRvIGJlIG9uCgkgIHB1cnBvc2UsIHNvIGZpeGluZyBieSBwYXJzaW5nIHRoZSBzdHJpbmcgYW5kIGNvbXBhdGluZyB0aGUgY29sb3JpbWV0cnkKCSAgc3RydWN0dXJlcy4KCjIwMTctMDctMjEgMTU6NDA6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwyZW5jb2RlcjogRml4IG5lZ290aWF0aW9uIGVycm9yIGhhbmRsaW5nCgkgIFRoZSBzdWJjbGFzcyBuZWdvdGlhdGVkIGZ1bmN0aW9uIHdpbGwgY2FsbCBzZXRfZm9ybWF0LCBpZiB0aGF0IGZhaWxzIHRoZQoJICBwb29sIHdpbGwgbm90IGJlIGNyZWF0ZWQuIFdlIGVuZGVkIHVwIHdpdGggYW4gYXNzZXJ0aW9uLgoJICBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9idWZmZXJfcG9vbF9zZXRfYWN0aXZlOiBhc3NlcnRpb24gJ0dTVF9JU19CVUZGRVJfUE9PTCAocG9vbCknIGZhaWxlZAoKMjAxNy0wNy0xOSAyMjoyNTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBTcGVlZHVwIGNhbWVyYSBzdGFydHVwIGJ5IHNraXBwaW5nIHRyeV9mbXQKCSAgSW4gdGhpcyBjb21taXQsIHdlIGVuYWJsZWQgc2tpcF90cnlfZm10X3Byb2JlcyBxdWlyayBpbiBvcmRlciB0byBzcGVlZAoJICB1cCB0aGUgc3RhcnQgd2hpY2ggaXMga25vd24gdG8gYmUgZGlzYXN0cm91c2x5IHNsb3cgd2l0aCBjZXJ0YWluIFVTQgoJICBjYW1lcmFzLgoJICBUaGlzIGhhcyB0aGUgc2lkZSBlZmZlY3QgdGhhdCB3ZSBuZWVkZWQgdG8gcmV3cml0ZSB0aGUgZW50aXJlCgkgIG5lZ290aWF0aW9uIHByb2Nlc3MgaW4gYSB3YXkgdGhhdCB3ZSBpdGVyYXRlIG92ZXIgdGhlIHBvc3NpYmxlIGNhcHMKCSAgdW50aWwgd2UgZmluZCBvbmUgdGhhdCB3b3Jrcy4KCSAgVGhlIG5ldyBuZWdvdGlhdGlvbiBtZXRob2QgY29uc2lzdCBvZiBleHRyYWN0aW5nIGEgcHJlZmVycmVkIHN0cnVjdHVyZQoJICBmcm9tIHRoZSBwZWVyIGNhcHMgYW5kIHVzaW5nIHRoaXMgdG8gZml4YXRlIGFuZCBzb3J0IHRoZSBjYXBzLiBUbwoJICByZWZsZWN0IHRoZSBvbGQgYmVoYXZpb3VyLCB3ZSBzb3J0IGFsbCByZXNvbHV0aW9uIHN0cmljdGx5IGJpZ2dlcgoJICB0byB0aGUgcHJlZmVycmVkIG9uZSB3aXRoIHRoZSBjbG9zZXMgb25lIGZpcnN0LiBUaGUgcmVzdCBpcyBhcHBlbmRlZCwKCSAga2VlcGluZyB0aGUgc2FtZSBvcmRlci4gV2UgdGhlbiBub3JtYWxpemUgdGhlIGNhcHMgaW4gY2FzZSB0aGVyZSB3YXMKCSAgc29tZSBsaXN0IG9mIGludGVybGFjZS1tb2RlIG9yIGNvbG9yaW1ldHJ5IGxlZnQuIFdlIGZpbmFsbHkgaXRlcmF0ZQoJICBvdmVyIGFsbCBmaXhlZCBjYXBzIGFuZCB0cnkgaXQuIDk5JSBvZiB0aGUgdGltZSwgdGhlIGZpcnN0IG9yIHRoZQoJICBzZWNvbmQgb25lIHNob3VsZCB3b3JrLCB3aGl0IHRoZSByZXN1bHQgb2YgYSBzaW5nbGUgU19GTVQgYmVpbmcgaXNzdWVzLgoJICBGcm9tIHRoZXJlLCBpdCB3aWxsIGJlIHJlbGF0aXZlbHkgZWFzeSB0byBpbnRyb2R1Y2UgbmV3IG5lZ290aWF0aW9uCgkgIGFsZ29yaXRobS4gVGhlIGN1cnJlbnQgYWxnb3JpdGhtIGlzIG1hZGUgZm9yIG9wdGltYWwgaW1hZ2UgcXVhbGl0eQoJICB3aXRoIGEgc2NhbGluZyBzaW5rIHRoYXQgc2V0cyBpdCdzIHdpbmRvdyByZXNvbHV0aW9uIGFzIHByZWZlcmVuY2UuCgkgIFRoaXMgdGhlIGNhc2UgaWYgZm9yOgoJICB2NGwyc3JjICEgdmlkZW9jb252ZXJ0ICEgdmlkZW9zY2FsZSAhIHhpbWFnZXNpbmsKCSAgT3RoZXIgc3RyYXRlZ3kgd291bGQgYmUgbmVlZGVkIHRvIG9wdGltaXplIGZvciBub24tc2NhbGluZyBzaW5rIGxpa2UKCSAgeGltYWdlc2luayBvciBrbXNzaW5rIHdoZW4gdGhlIGRyaXZlciBkb2VzIG5vdCBzY2FsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTE1NgoKMjAxNy0wNy0xOSAyMjowOTozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEludHJvZHVjZSBxdWlyayB0byBza2lwIHNsb3cgcHJvYmVzCgkgIHNraXBfdHJ5X2ZtdF9wcm9iZXMgcXVpcmsgaXMgc2V0LCBWNEwyIG9iamVjdCB3aWxsIG5vdCBwcm9iZSBmb3IKCSAgaW50ZXJsYWNlLW1vZGUgYW5kIGNvbG9yaW1ldHJ5IHRvIGF2b2lkIHJlbHlpbmcgb24gdHJ5X2ZtdC4gVGhpcyBxdWlyawoJICB3aWxsIGJlIHVzZWQgYnkgdjRsMnNyYyB0byBhdm9pZCBkZXNhc3Ryb3VzIHN0YXJ0dXAgdGltZSB3aXRoIHNsb3cKCSAgVVNCIHdlYmNhbXMuCgkgIFdoZW4gdGhpcyBxdWlyayBpcyBlbmFibGVkLCBjYWxsZXIgd2lsbCBoYXZlIHRvIGl0ZXJhdGUgb3ZlciB0aGUKCSAgbmVnb3RpYXRlZCBjYXBzIGFzIGl0IG1heSBjb250YWlucyB1bnN1cHBvcnRlZCBmb3JtYXRzLiBJZiB0aGUgcGVlcgoJICBkaWRuJ3QgY2hvb3NlIGEgc3BlY2lmaWMgaW50ZXJsYWNlLW1vZGUsIG9yIGNvbG9yaW1ldHJ5LCB0aGUgdmFsdWUKCSAgY2hvc2VuIGJ5IHRoZSBkcml2ZXIgaXMgc2V0IGludG8gdGhlIGNhcHMuIEZvciB0aGlzIHJlYXNvbiwgd2hlbiB0aGlzCgkgIG1vZGUgaXMgZW5hYmxlZCwgZ3N0X3Y0bDJfb2JqZWN0X3NldF9mb3JtYXQoKSB3aWxsIHJlcXVpcmUgd3JpdGFibGUKCSAgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTE1NgoKMjAxNy0wNy0xOSAyMjowNzozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBhbHdheXMgc2V0IHRoZSBHc3RWNGwyRXJyb3Igb24gZXJyb3IKCSAgU29tZSBvZiB0aGUgZXJyb3IgY2FzZSB3ZXJlIGNvbmRpdGlvbmFsIHRvIHVzaW5nIHRyeV9mbXQgb3Igbm90LgoJICBUaGlzIGlzIHNsaWdodGx5IHVuZXhwZWN0ZWQsIGFsd2F5cyBzZXQgdGhlIGVycm9yIHNvIHRoZSBjYWxsZXIKCSAgY2FuIGRlY2lkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTE1NgoKMjAxNy0wNy0xOSAyMjowNTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNaW5vciBzdHlsZSBmaXggYW5kIHVzZWZ1bCB0cmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTU2CgoyMDE3LTA3LTE5IDIyOjAzOjI5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCB0cnkvc19mbXQgZXJyb3JzCgkgIEFjY29yZGluZyB0byB0aGUgc3BlYyxUUllfRk1UIGNhbm5vdCByZXR1cm4gRUJVU1ksIHRob3VnaCBpdCBjYW4KCSAgcmV0dXJuIEVJTlZBTCBpZiBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIHVwZGF0ZSB0aGUgZm9ybWF0IHRvCgkgIHNvbWV0aGluZyBzdXBwb3J0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODUxNTYKCjIwMTctMDctMTkgMjI6MDE6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVmFsaWRhdGUgY29sb3JpbWV0cnkgaW4gUy9UUllfRk1UCgkgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHJlbW92aW5nIHNsb3cgVFJZX0ZNVCBwcm9iZXMgZm9yCgkgIGNvbG9yaW1ldHJ5LiBBcyB3ZSB3b24ndCBoYXZlIHRyaWVkIHRoYXQgY29sb3JpbWV0cnkgd2UgY2Fubm90CgkgIGFzc3VtZSB0aGUgZHJpdmVyIHdpbGwgYWNjZXB0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTU2CgoyMDE3LTA3LTE5IDIxOjU2OjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFZhbGlkYXRlIGZpZWxkIGluIFMvVFJZX0ZNVAoJICBUaGlzIGlzIGluIHByZXBhcmF0aW9uIGZyb20gcmVtb3ZpbmcgdGhlIHNsb3cgVFJZX0ZNVCBwcm9iZXMgZm9yCgkgIGludGVybGFjaW5nLiBBcyB3ZSB3b24ndCBoYXZlIHRyaWVkIHRoYXQgaW50ZXJsYWNlLW1vZGUgYWxyZWFkeQoJICB3ZSBuZWVkIHRvIHZhbGlkYXRlIHRoYXQgdGhlIGRyaXZlciBpc24ndCByZWZ1c2luZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTE1NgoKMjAxNy0wNy0yMSAxOTowMToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL3Rlc3QtYWNjdXJhdGUtc2Vlay5jOgoJICB0ZXN0czogaWNsZXM6IGZpeCBidWlsZAoJICBDYW4ndCBkbyBhZGRpdGlvbnMvc3VidHJhY3Rpb25zIG9uIHZvaWQqIHBvaW50ZXJzLgoKMjAxNy0wNy0yMSAxMTowNDoxNyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LWFjY3VyYXRlLXNlZWsuYzoKCSAgdGVzdHM6aWNsZXM6IEZpeCBwcmV2aW91cyBwYXRjaCBieSBpbXBsZW1lbnRpbmcgb3VyIG1lbW1lbQoJICBVc2luZyB0aGUgc3RyaW5nIHZlcnNpb24gb2YgaXQgd2lsbCBmYWlsIG9uICdcMCcuCgoyMDE3LTA3LTIxIDEwOjE3OjAwIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2ljbGVzL3Rlc3QtYWNjdXJhdGUtc2Vlay5jOgoJICB0ZXN0czppY2xlczogRG8gbm90IHVzZSBtZW1tZW0gR05VIGV4dGVuc2lvbiBmdW5jdGlvbgoJICBBcyBpdCBpcyBub3QgYXZhbGFpYmxlIG9uIHdpbmRvd3MvbXN2YyBhbmQgd2UgY2FuIHVzZSBwdXJlIEdMaWIgZm9yIHRoYXQKCjIwMTctMDctMjAgMTc6MjE6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgZGlyZWN0c291bmQ6IEZpeCAuYyBmaWxlIG5hbWUgaW4gTWFrZWZpbGUKCSAgVGhpcyB3YXMgYnJva2VuIGJ5IGFjY2lkZW50LCBiYWQgc2VhcmNoIGFuZCByZXBsYWNlLgoKMjAxNy0wNy0yMCAxMTowMjoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgd2F2ZWZvcm06IEZpeCBETEwgbmFtZSB0byBtYXRjaCBwbHVnaW4gbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTY4CgoyMDE3LTA3LTIwIDEwOjM4OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvbWVzb24uYnVpbGQ6CgkgIGRpcmVjdHNvdW5kOiBGaXggRExMIG5hbWUgdG8gbWF0Y2ggcGx1Z2luIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTE2OAoKMjAxNy0wNy0xOSAxMjozODowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZWZlcmFibHkgc2VuZCBvcGVuLWVuZGVkIHNlZ21lbnQgcmF0aGVyIHRoYW4gcmVwZWF0ZWQgc2VnbWVudCBldmVudHMKCjIwMTctMDctMTkgMTE6Mjc6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc2Vla2luZyBpbiBmcmFnbWVudGVkIGZpbGUgd2l0aG91dCBtZnJhIHJhbmRvbSBhY2Nlc3MgaW5mbwoJICAuLi4gd2hpY2ggbm8gbG9uZ2VyIHdvcmtlZCBkdWUgdG8gdW5jb25kaXRpb25hbGx5IGNsZWFyaW5nIHNhbXBsZSBpbmZvIGFuZAoJICBlbmRpbmcgdXAgaW4gaW5jb25zaXN0ZW50IHN0YXRlLiAgTGV0J3MgdHJlYWQgYSBiaXQgbW9yZSBjYXJlZnVsbHkgYW5kIGFsc28KCSAgYWxsb3cgZm9yIHRoZSBvbGQgc2VlayBoYW5kbGluZyB0aGF0IHJlc29ydHMgdG8gc2Nhbm5pbmcgaWYgbm8gbWZyYSBpbmZvCgkgIGlzIGF2YWlsYWJsZS4KCjIwMTctMDctMTkgMTA6NDI6NDYgKzAyMDAgIE5pY29sYXMgRGVjaGVzbmUgPG5pY29sYXMuZGVjaGVzbmVAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IGFkZCBzb21lIHVzZWZ1bCBkZWJ1ZyBtZXNzYWdlcwoJICBBZGQgYSBjb3VwbGUgb2YgdXNlZnVsIGRlYnVnIHRyYWNlcyAsIHRoZXkgaGFwcGVuZWQgdG8gYmUgdXNlZnVsIHRvCgkgIGRlYnVnL2ludmVzdGlnYXRlIGEgNEsgdmlkZW8gcGxheWJhY2sgaXNzdWUgd2l0aCB2NGwyLCBzbyBsZXQncyBtYWtlIHRoZXNlCgkgIGNoYW5nZXMgbW9yZSBwZXJtYW5lbnQuCgkgIFNpZ25lZC1vZmYtYnk6IE5pY29sYXMgRGVjaGVzbmUgPG5pY29sYXMuZGVjaGVzbmVAbGluYXJvLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTEwOQoKMjAxNy0wNy0xOCAxMToyODozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBGaXggNEsgY29sb3JpbWV0cnkKCSAgU2luY2UgMS42LCB0aGUgdHJhbnNmZXIgZnVuY3Rpb24gZm9yIEJUMjAyMCBoYXMgYmVlbiBjaGFuZ2VkIGZyb20gQlQ3MDkKCSAgdG8gQlQyMDIwXzEyLiBJdCdzIHRoZSBzYW1lIGZ1bmN0aW9uLCBidXQgd2l0aCBtb3JlIHByZWNpc2lvbi4gQXMgYSBzaWRlCgkgIGVmZmVjdCwgdGhlIFY0TDIgY29sb3Jwc2FjZSBkaWRuJ3QgbWF0Y2ggR1N0cmVhbWVyIGNvbG9yc3BhY2UuIFdoZW4KCSAgR1N0cmVhbWVyIGVuZGVkIHVwIG1ha2luZyBhIGd1ZXNzLCBpdCB3b3VsZCBub3QgbWF0Y2ggYW55dGhpbmcgc3VwcG9ydGVkCgkgIGJ5IFY0TDIgYW55bW9yZS4gVGhpcyB0aGlzIGJ5IHVzaW5nIEJUMjAyMF8xMiBmb3IgQlQyMDIwIGNvbG9yc3BhY2UgYW5kCgkgIEJUMjAyMCB0cmFuc2ZlciBmdW5jdGlvbiBpbiByZXBsYWNlbWVudCBvZiBCVDcwOSB3aGVuZXZlciBhIDRLCgkgIHJlc29sdXRpb24gaXMgZGV0ZWN0ZWQuCgoyMDE3LTA3LTE0IDE2OjIxOjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE9ubHkgY2hlY2sgQ1JPUENBUCBmb3IgcGFyIG9uY2UKCSAgVGhlIHBpeGVsIGFzcGVjdCByYXRpbyBpcyBkb2N1bWVudGVkIHRvIG5vdCBjaGFuZ2UgdW5sZXNzIHRoZSBUVgoJICBTdGFuZGFyZCBpcyBjaGFuZ2VkLiBTbyB0aGlzIG1lYW4gdGhhdCB0aGlzIHdpbGwgYmUgdW5pZm9ybSBhY3Jvc3MgYWxsCgkgIHBvc3NpYmxlIGZvcm1hdCBhbmQgcmVzb2x1dGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ2NzQKCjIwMTctMDctMTggMTA6MDE6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBSZXZlcnQgIm1hdHJvc2thbXV4OiBhZGp1c3QgdW5pdCB0ZXN0IHRvIG1vZGlmaWVkIGJlaGF2aW91ciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZmU0NzhjOGE3NzQ2Y2QyYzYzZjIwZDIzZTk3ZTI2ZTFhMGU2MTkyLgoJICBXZSdyZSBiYWNrIHRvIHByZXZpb3VzIGJlaGF2aW91cgoKMjAxNy0wNy0xOCAwMDoyNjoxMSArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgY2x1c3RlciBkdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0OTcxCgoyMDE3LTA3LTE3IDIwOjQ3OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IFVWQyBkcml2ZXIgaXMgbmFtZWQgdXZjdmlkZW8gdGhlc2UgZGF5cwoJICBUaGUgcXVpcmsgdG8gYXZvaWQgcHJvYmluZyBpbnRlcmxhY2luZyBkaWRuJ3Qgd29yayBhbnltb3JlIGFzIHRoZSBkcml2ZXIKCSAgaXMgbm93IG5hbWUgdXZjdmlkZW8uIFRoaXMgc2hvdWxkIHNsaWdodGx5IHNwZWVkIHVwIGNhbWVyYSBzdGFydHVwLgoKMjAxNy0wNy0xMiAyMTowMjozOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBSZW1vdmUgdW51c2VkIGRlZmluZXMKCjIwMTctMDctMTIgMjA6NTM6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBNYWtlIGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMgc3RhdGljCgkgIEl0J3Mgbm90IHVzZWQgb3V0c2lkZSBvZiB2NGwyX2NhbGxzLmMKCjIwMTctMDctMTIgMjA6NDk6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmgyNjRlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IE1lcmdlIHY0bDJfY2FsbHMuaCBpbnRvIGdzdHY0bDJvYmplY3QuaAoJICBGaXJzdCBzdGVwIG9mIGEgbGFyZ2VyIGNsZWFudXAsIGFsbCBmdW5jdGlvbiBmcm9tIHY0bDJfY2FsbHMgYXJlIGluIGZhY3QKCSAgbWV0aG9kcyBvbiBHc3RWNGwyT2JqZWN0LiBUaGlzIHNwbGl0IG1ha2VzIHRoZSBjb2RlIHJlYWxseSBjb25mdXNpbmcuCgkgIFRoaXMgYWxzbyByZW1vdmUgbm8gbG9uZ2VyIHVudXNlZCBtYWNyb3MuCgoyMDE3LTA3LTE1IDE0OjU3OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjNhdWRpb2RlYzogZml4IGNhcHMgbGVhawoJICBUaGUgcGFkIHRlbXBsYXRlIHRha2VzIGl0cyBvd24gcmVmLCBzbyB3ZSBzaG91bGQgdW5yZWYgdGhlIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ5ODIKCjIwMTctMDctMTUgMTI6NDg6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9tZXNvbi5idWlsZDoKCSAgbWVzb246IHBvOiB1c2UgZ2xpYiBwcmVzZXQgYW5kIHJlYWQgbGFuZ3VhZ2UgbGlzdCBmcm9tIExJTkdVQVMKCSAgU3VwcG9ydGVkIHNpbmNlIG1lc29uIDAuMzcsIHNvIHdlIGNhbiB1c2UgaXQgbm93LgoKMjAxNy0wNy0xNCAxMjoxMjo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBUcmFjZSB1bmtub3duIGZvdXJjYyBhcyB0ZXh0CgkgIFRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIGZpbmQgb3V0IHdoYXQgaXMgbm90IHN1cHBvcnRlZC4KCjIwMTctMDctMTQgMTE6NTQ6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwyOiBEb24ndCBwcm9iZSBmb3IgdW5uZWVkZWQgZm9ybWF0CgkgIEZvciB2NGwydmlkZW9kZWMvZW5jLCB3ZSBnZW5lcmF0ZSBlbGVtZW50cyBwZXIgZm9ybWF0cywgYW5kIGluCgkgIHRoaXMgY2FzZSB3ZSBjYW4gc3BlZWQgdXAgdGhlIHN0YXJ0IHVwIGJ5IG9ubHkgcHJvYmluZyB0aGUgZm9ybWF0CgkgIHdlIGNhcmUgYWJvdXQuCgoyMDE3LTA3LTEzIDEyOjMyOjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBJbXBsZW1lbnQgc3RhYmxlIGVsZW1lbnQgbmFtZXMKCSAgQmVmb3JlIHRoYXQsIGVhY2ggbTJtIG5vZGUgd291bGQgYmUgd3JhcHBlZCBhcyBhIHNpbmdsZSwgbXVsdGktZm9ybWF0CgkgIGRlY29kZXIgZWxlbWVudC4gQXMgYSB1bmlxdWUgbmFtZSB3YXMgbmVlZGVkLCB3ZSB3aGVyZSB1c2luZyB0aGUgZGV2aWNlCgkgIG5hbWUsIHdoaWNoIGNoYW5nZXMgYmV0d2VlbiByZS1ib290cy4gVGhpcyBsZWQgdG8gdW5wcmVkaWN0YWJsZSBlbGVtZW50CgkgIG5hbWVzLiBJbiB0aGlzIHBhdGNoLCB3ZSBnZW5lcmF0ZSBhbiBlbGVtZW50IHBlciBjb2RlYywgdXNpbmcKCSAgdjRsMjxjb2RlYz5kZWMgbmFtZS4gSWYgdGhlcmUgaXMgbXVsdGlwbGUgZGVjb2RlciBmb3IgdGhlIHNhbWUgZm9ybWF0LAoJICB0aGUgZm9sbG93aW5nIGVsZW1lbnRzIHdpbGwgYmUgbmFtZWQgdjRsMjxub2RlPjxjb2RlYz5kZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ5MDgKCjIwMTctMDctMTMgMTQ6NTA6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogUG9zdCBhbiBlbGVtZW50IG1lc3NhZ2Ugd2l0aCB0aGUgSFRUUCBoZWFkZXJzIG9uIHRoZSBidXMgdG9vCgkgIEluc3RlYWQgb2YganVzdCBzZW5kaW5nIGEgc3RpY2t5IGV2ZW50IHdpdGggdGhlbSBkb3duc3RyZWFtLiBUaGlzIGFsbG93cwoJICBnZXR0aW5nIHRoZSBIVFRQIGhlYWRlcnMgZWFzaWx5IGluIHRoZSBhcHBsaWNhdGlvbiwgYW5kIGVzcGVjaWFsbHkgYWxzbwoJICBvbiBlcnJvcnMuCgoyMDE3LTA3LTEzIDEyOjQ3OjAyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBwYXJzaW5nIG9mIFJMRSBkZXB0aAoJICBSZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgODZiNDI3ZGM3MDU2MmY4OTFhNTUxZmZjOWY5NmNlZmUxY2FmY2RkZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0ODEyCgoyMDE3LTA3LTEyIDE1OjI5OjMyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9nc3RxdHNpbmsuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxdDogVXNlIGEgcHJveHkgb2JqZWN0IGZvciBhY2Nlc3MgdG8gdGhlIFFNTCB3aWRnZXQKCSAgUU1MIGNhbiBkZXN0cm95IHRoZSB2aWRlbyB3aWRnZXQgYXQgYW55IHRpbWUsIGxlYXZpbmcKCSAgdXMgd2l0aCBhIGRhbmdsaW5nIHBvaW50ZXIuIFVzZSBhIGxvY2sgYW5kIGEgcHJveHkKCSAgb2JqZWN0IHRvIGNvcGUgd2l0aCB0aGF0LCBhbmQgYmxvY2sgaW4gdGhlIHdpZGdldAoJICBkZXN0cnVjdG9yIGlmIHRoZXJlIGFyZSBvbmdvaW5nIGNhbGxzIGludG8gdGhlIHdpZGdldC4KCjIwMTctMDctMTAgMTg6NTc6MTEgKzAyMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MjogdXNlIGdpbnQgYW5kIGd1aW50IGluIHBsYWNlIG9mIGludCBhbmQgdWludAoJICB0aGlzIGZpeGVzIGEgY29tcGlsYXRpb24gZXJyb3Igd2l0aCBnY2MgNy4xLjAgb24gbXlzMiB3aGVyZSB1aW50IGlzIG5vdCBkZWZpbmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ3NTgKCjIwMTctMDctMDcgMjE6MTU6NTcgKzA5MDAgIFlhc3VzaGkgU0hPSkkgPHlhc2hpQGF0bWFyay10ZWNobm8uY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgcnRwZ3NtcGF5OiBmaXggYWNjaWRlbnRhbCBnYXJiYWdlIGRhdGEgYmVmb3JlIGFjdHVhbCBwYXlsb2FkCgkgIERvIG5vdCBhbGxvY2F0ZSBwYXlsb2FkIHNpemUgb3V0YnVmIGlmIGFwcGVuZGluZyBwYXlsb2FkIGJ1ZmZlci4KCSAgVGhlIGNvbW1pdCAxMzc2NzJmZjE4MjQ5NDhiZGE0YjFiMTk2N2RlOGMyNGEwMDU1YjY3IGF0dGFjaGVkIHBheWxvYWQKCSAgdG8gdGhlIG91dHB1dCBidWZmZXIgYnV0IGZvcmdvdCB0byByZW1vdmUgcGF5bG9hZCBhbGxvY2F0aW9uLiAgVGhhdAoJICBlZmZlY3RpdmVseSBkb3VibGVkIHBheWxvYWQgc2l6ZSBhbmQgYWRkIHplcm8nZWQgb3IgcmFuZG9tIGJ5dGVzLgoJICBNYWtlcyB0aGUgZm9sbG93aW5nIHBpcGVsaW5lIHdvcmsgYWdhaW46CgkgIGdzdC1sYXVuY2gtMS4wIC12IGF1ZGlvdGVzdHNyYyB3YXZlPTIgISBnc21lbmMgISBydHBnc21wYXkgISBydHBnc21kZXBheSAhIGdzbWRlYyAhIGF1dG9hdWRpb3NpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDYxNgoKMjAxNy0wNy0wMSAxODo1Nzo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNlZ21lbnQgc2VlayBwb3NpdGlvbiBpcyBleHByZXNzZWQgaW4gYnVmZmVyIHRpbWUKCSAgLi4uIHNvIGl0IG5lZWQgbm90IGJlIGNvcnJlY3RlZCBhZ2FpbiBmb3Igc3RyZWFtIHN0YXJ0CgoyMDE3LTA3LTA5IDEwOjU0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwcm92aWRlIGF2ZXJhZ2UgYml0cmF0ZSB0YWcKCjIwMTctMDctMDcgMjM6NDk6NDQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvdjRsMnNyYy1yZW5lZ290aWF0ZS5jOgoJICBleGFtcGxlczogdjRsMjogZml4IHdyb25nIGluaXRpYWxpemF0aW9ucyBicm91Z2h0IGJ5IDRlOGFkNTgzMDIyNjcxYzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3MAoKMjAxNS0wMi0yNyAxMzowMzo0MiAtMDMwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi92NGwyc3JjLXJlbmVnb3RpYXRlLmM6CgkgIGV4YW1wbGVzOiB2NGwyOiBhZGQgZXhhbXBsZSBmb3IgdjRsMnNyYyByZW5lZ290aWF0aW9uCgkgIEJhc2VkIG9uIHdvcmsgZnJvbSBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzAKCjIwMTctMDctMDcgMTE6NTg6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGZpbmQgcHl0aG9uMyB2aWEgcHl0aG9uMyBtb2R1bGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzE5OAoKMjAxNy0wNy0wNSAxNDo0NDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogcnRwYmluOiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTctMDctMDQgMTc6NDI6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwc2Vzc2lvbjogU2VuZCBFT1MgaWYgYWxsIGludGVybmFsIHNvdXJjZXMgc2VudCBieWUKCSAgVGhlIG9uZXMgd2hpY2ggYXJlIG5vdCBpbnRlcm5hbCBzaG91bGQgbm90IG1hdHRlciwgYW5kIHdlIHNob3VsZAoJICB3YWl0IGZvciBhbGwgc291cmNlcyB0byBoYXZlIHNlbnQgdGhlaXIgQllFcy4KCSAgQW5kIGFkZCB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzIxOAoKMjAxNy0wNy0wNCAxMjoyNDo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogT25seSBzZW5kIEVPUyBpZiBhbGwgc291cmNlcyBoYXZlIGJlZW4gbWFya2VkIGJ5ZQoJICBOb3cgdGhhdCBtdWx0aXBsZSBzZW5kZXIgUlRQU291cmNlIGNhbiBzaGFyZSB0aGUgc2FtZSBSVFBTZXNzaW9uLCB3ZQoJICBtdXN0IG5vdCBzZW5kIGFuIEVPUyB1bmxlc3MgdGhleSdyZSBhbGwgbWFya2VkIGJ5ZS4KCjIwMTctMDctMDQgMTE6NDk6MjkgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgY2FjYTogRG8gbm90IGluY2x1ZGUsIHVudXNlZCwgc3lzL3RpbWUuaAoJICBXaGljaCBtb3Jlb3ZlciBtYWtlcyBidWlsZGluZyBvbiB3aW5kb3dzIChtaW5ndy9tc3ZjKSBmYWlsOgoJICBodHRwczovL2NpLmFwcHZleW9yLmNvbS9wcm9qZWN0L3RoaWJsYWh1dGUvZ3N0LWJ1aWxkLWdlOW01CgoyMDE3LTA3LTAzIDExOjQ3OjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IEFkZCBtZW1vcnkgYW5kIGJvdWRhcnkgY2hlY2tzCgkgIFRoaXMgZWxlbWVudCB3YXMgbm90IGNoZWNraW5nIGlmIG1hcHBpbmcgdGhlIFJUUCBidWZmZXIgYW5kIHRoZSBwYXlsb2FkCgkgIHdvcmtlZCwgYW5kIHdhcyBub3QgY2hlY2tpbmcgaWYgdGhlIFJUWCBwYXlsb2FkIHdhcyBsYXJnZSBlbm91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ0ODQKCjIwMTctMDctMDQgMTQ6NTg6MDAgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFVuc2V0IGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgY29ubmVjdGlvbiBpZiBzb3VwIHNlc3Npb24gc2hhcmluZyBpcyB1c2VkCgkgIFNvdXAgYWxsb3dzIG9ubHkgdXAgdG8gdHdvIGNvbm5lY3Rpb25zIHBlciBob3N0IGluIGEgc2Vzc2lvbiwKCSAgaWYgd2UgdXNlIGRlZmF1bHQgdmFsdWUuIFdoZW4gc2Vzc2lvbiBzaGFyaW5nIGlzIHVzZWQsIGhvd2V2ZXIsCgkgIG1vcmUgY29ubmVjdGlvbnMgbWlnaHQgYmUgcmVxdWlyZWQgaW4gYSBzZXNzaW9uLgoJICAoZS5nLiwgbXVsdGktYXVkaW8gYWRhcHRpdmUgc3RyZWFtaW5nIGNhc2UpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ0OTUKCjIwMTctMDctMDMgMjA6Mjc6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGZpeCB1c2UtYWZ0ZXItZnJlZSBvbiBzZWVrIGV2ZW50CgkgIEdldCBzZXFudW0gYmVmb3JlIHVucmVmZmluZyB0aGUgc2VlayBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDQ4NgoKMjAxNy0wNy0wMSAxODo1OToxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcm9idXN0aWZ5IHRpbWUgdHJhY2tpbmcgZm9yIHNwYXJzZSBzdWJ0aXRsZSBzdHJlYW0KCjIwMTctMDctMDEgMTg6NTk6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGNvcnJlY3RseSB0cmFjayBjaHVuayBzaXplIG9mIHN1YnRpdGxlIHN0cmVhbQoJICAuLi4gdGhlcmVieSBlbnN1cmluZyBjb3JyZWN0IGNodW5rIG9mZnNldCB0cmFja2luZyBmb3IgYWxsIHN0cmVhbXMuCgoyMDE3LTA2LTI3IDE1OjU5OjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqaXNvcmNlQG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogZml4IGFzc2VydGlvbiAnZGVub20gPiAwJyBmYWlsZWQKCSAgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCB0YWtlcyBhIGdpbnQgYXMgZGVub20gcGFyYW1ldGVyCgkgIHdoZXJlYXMgY3R4LT5jbG9ja19yYXRlIGlzIGEgZ3VpbnQzMi4KCSAgSXQgaGFwcGVucyB3aGVuIGdzdF9ydHBfcGFja2V0X3JhdGVfY3R4X3Jlc2V0IHNldCBjbG9ja19yYXRlCgkgIHRvIC0xLgoJICBTbyBqdXN0IGRlZmluZSBjbG9ja19yYXRlIGFzIGdpbnQgbGlrZSBpdCBpcyBkb25lIGluIHJ0cHNvdXJjZS5oCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQyNTAKCjIwMTctMDYtMjggMTQ6MDU6MjcgLTA1MDAgIE1hdHQgRmlzY2hlciA8bWF0dC5maXNjaGVyQGdhcm1pbi5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBCbG9jayByZWN1cnNpdmUgY2FsbHMgdG8gcmVzdXJlY3RfYnVmZmVyCgkgIFdoZW4gcmVzdXJyZWN0aW5nIGEgYnVmZmVyLCB0aGUgc3Vic2VxdWVudCBmcmVlIGNhbGwgY2FuIHJlc3VsdAoJICBpbiB0aGUgZ3JvdXAtcmVsZWFzZWQgaGFuZGxlciBiZWluZyBjYWxsZWQgYWdhaW4sIHdoaWNoIGNhdXNlcwoJICBhIHJlY3Vyc2l2ZSBsb29wLiAgVGhpcyBwYXRjaCBibG9ja3MgdGhlIHNpZ25hbCBoYW5kbGVyIGR1cmluZwoJICB0aGUgdGltZSB0aGF0IGl0IGV4ZWN1dGVzLCBlbnN1cmluZyB0aGF0IHRoZSBsb29wIHdpbGwgbm90IG9jY3VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MjkyCgoyMDE3LTA2LTIwIDE2OjM5OjM2ICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiBBdm9pZCBkZXByZWNhdGVkIHNzbC1jYS1maWxlIHByb3BlcnR5CgkgIFNvdXBTZXNzaW9uJ3Mgc3NsLWNhLWZpbGUgcHJvcGVydHkgaXMgZGVwcmVjYXRlZC4gVXNlIHRoZSByZWNvbW1lbmRlZAoJICB0bHMtZGF0YWJhc2UgcHJvcGVydHkuCgkgIFRoaXMgaXMgYSBiaXQgbW9yZSBjb21wbGV4IGFzIGl0IHJlcXVpcmVzIGNyZWF0aW5nIGEgR1Rsc0ZpbGVEYXRhYmFzZQoJICBvYmplY3QgZm9yIGFuIGFic29sdXRlICghKSBwYXRoIHRvIHRoZSBDQSBjZXJ0aWZpY2F0ZXMgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDAwNQoKMjAxNy0wNi0yMCAxNjozNzo1NSArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogQXZvaWQgZGVwcmVjYXRlZCBzZXJ2ZXIgc3NsIHByb3BlcnRpZXMKCSAgVGhlIHNzbC1jZXJ0LWZpbGUgYW5kIHNzbC1rZXktZmlsZSBwcm9wZXJ0aWVzIGFyZSBkZXByZWNhdGVkLiBVc2UgdGhlCgkgIHNvdXBfc2VydmVyX3NldF9zc2xfY2VydF9maWxlIGZ1bmN0aW9uIHRvIGxvYWQgdGhlIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MDA1CgoyMDE3LTA2LTIwIDE2OjM0OjQxICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiBNYWtlIHNzbF9jZXJ0L2tleV9maWxlIHN0YXRpYwoJICBKdXN0IGEgYml0IG9mIGNsZWFudXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQwMDUKCjIwMTctMDYtMjAgMTY6Mjg6MzUgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9maWxlcy90ZXN0LWNlcnQucGVtOgoJICB0ZXN0czogc291cGh0dHBzcmM6IFVwZGF0ZSB0ZXN0LWNlcnQucGVtCgkgIFJlY2VudCBHbnVUTFMgZGlzcmVnYXJkcyB0aGUgQ29tbW9uIE5hbWUgYW5kIG9ubHkgbG9va3MgYXQgdGhlIFN1YmplY3QKCSAgQWx0ZXJuYXRpdmUgTmFtZSBleHRlbnNpb24uIFNpbmNlIG91ciB0ZXN0LWNlcnQgaGFzIG5vIFNBTiBleHRlbnNpb24sCgkgIHZhbGlkYXRpb24gZmFpbHMuCgkgIEdlbmVyYXRlIGEgbmV3IGNlcnRpZmljYXRlIHdpdGggU0FOLiBJbiBhZGRpdGlvbiB0byAxMjcuMC4wLjEsIGZvciBnb29kCgkgIG1lYXN1cmUgbWFrZSBpdCB2YWxpZCBmb3IgbG9jYWxob3N0IGFuZCA6OjEsIHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDAwNQoKMjAxNy0wNi0yOSAxNToyMjozOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFsbG93IGFueSB0eXBlIG9mIHByb3h5CgkgIEN1cnJlbnRseSB3ZSBvbmx5IGFsbG93ZWQgSFRUUCBwcm94eS4gRG9uJ3QgZmlsdGVyIGZvciB0aGUgc2NoZW1lLCBqdXN0IGNoZWNrCgkgIGlmIGl0IGxvb2tzIGxpa2UgYW4gVVJJLiBTb3VwIHdpbGwgd2FybiBpZiB0aGUgVVJJIGlzIGludmFsaWQgb3IgaWYKCSAgcHJveHkgcHJvdG9jb2wgaXMgbm90IHN1cHBvcnRlZC4gVGhpcyBlbmFibGVzIHVzaW5nIFNPQ0tTIDQvNSB3aGljaCBpcwoJICBkaXJlY3RseSBpbXBsZW1lbnRlZCBpbnRvIEdJTy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzAxMgoKMjAxNy0wNS0yNCAxNTowNzo1MSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGluY3JlYXNlIGJ5IG9uZSB0aGUgbnVtYmVyIG9mIGFsbG9jYXRlZCBidWZmZXJzCgkgIEluY3JlYXNpbmcgdGhpcyBudW1iZXIgZml4IGEgYnVmZmVyIHN0YXJ2YXRpb24gcHJvYmxlbSBJJ20gaGl0dGluZwoJICB3aXRoIGEgInY0bDJzcmMgISBrbXNzaW5rIiBwaXBlbGluZS4KCSAga21zc2luayByZXF1ZXN0cyAyIGJ1ZmZlciBhcyBpdCBrZWVwcyBhIHJlZmVyZW5jZSBvbiB0aGUgbGFzdCByZW5kZXJlZAoJICBvbmUuIFNvIHdlIHdlcmUgYWxsb2NhdGluZyAzIGJ1ZmZlcnMgZm9yIHRoZSBwaXBlbGluZS4KCSAgT25jZSB0aGUgZmlyc3QgMiBidWZmZXJzIGhhdmUgYmVlbiBwdXNoZWQgd2UgZW5kZWQgdXAgd2l0aDoKCSAgLSBvbmUgYnVmZmVyIHF1ZXVlZCBpbiB2NGwyCgkgIC0gb25lIGJlaW5nIHB1c2hlZAoJICAtIG9uZSBrZXB0IGFzIGxhc3QgcmVuZGVyZWQKCSAgSWYgdGhpcyAzcmQgYnVmZmVyIGlzIHJlbGVhc2VkIGFmdGVyIHRoYXQgdjRsMiB1c2VkIHRoZSBmaXJzdCBvbmUgdG8KCSAgY2FwdHVyZSB3ZSBlbmQgdXAgd2l0aCBhIGJ1ZmZlciBzdGFydmF0aW9uIHByb2JsZW0gYXMgbm8gYnVmZmVyIGlzIGN1cnJlbnRseQoJICBxdWV1ZWQgaW4gdjRsMiBmb3IgY2FwdHVyZS4KCSAgRml4aW5nIHRoaXMgYnkgYWRkaW5nIG9uZSBleHRyYSBidWZmZXIgdG8gdGhlIHBpcGVsaW5lIHNvIHdoZW4gb25lCgkgIGJ1ZmZlciBpcyBiZWluZyBwdXNoZWQgZG93bnN0cmVhbSB0aGUgb3RoZXIgY2FuIGFscmVhZHkgYmUgcXVldWVkIHRvCgkgIGNhcHR1cmUgdGhlIG5leHQgZnJhbWUuCgkgIFdlIHdlcmUgYWxyZWFkeSBhZGRpbmcgMyBidWZmZXJzIGlmIGRvd25zdHJlYW0gZGlkbid0IHJlcGx5IHRvIHRoZQoJICBhbGxvY2F0aW9uIHF1ZXJ5LiBJIHJlZHVjZWQgdGhpcyBudW1iZXIgdG8gMiB0byBjb21wZW5zYXRlIHRoZSBleHRyYQoJICBidWZmZXIgd2hpY2ggaXMgbm93IGFsd2F5cyBhZGRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzA0OQoKMjAxNy0wNi0yOSAxODo1OTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQ3JlYXRlIHNlbmQvcmVjdiBtdXRleGVzIG9uY2UsIG5vdCBvbiBldmVyeSBjb25uZWN0KCkKCSAgQWxzbyBmaXhlcyBhIGNyYXNoIGNhdXNlZCBieSBmcmVlaW5nIGFuIHVuaW5pdGlhbGl6ZWQgbXV0ZXggaW4gYW4gZXJyb3IKCSAgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03ODQyODIKCjIwMTctMDYtMjcgMTg6MjA6MTcgLTA1MDAgIE1hdHQgRmlzY2hlciA8bWF0dC5maXNjaGVyQGdhcm1pbi5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBtZW1vcnkgbGVhayB3aXRoIGRtYWJ1ZgoJICBUaGlzIHBhdGNoIGZpeGVzIGEgbWVtb3J5IGxlYWsgdGhhdCBpcyBjYXVzZWQgaWYgdGhlIGRtYWJ1ZiBmaWxlCgkgIGRlc2NyaXB0b3IgZHVwIGZhaWxzLiAgUHJldmlvdXNseSwgX2NsZWFudXBfZmFpbGVkX2FsbG9jKCkgd291bGQKCSAgbm90IHVucmVmIHRoZSBtZW1vcnkgYmVjYXVzZSBtZW1zX2FsbG9jYXRlZCBoYWQgbm90IHlldCBiZWVuCgkgIGluY3JlbWVudGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MzAyCgoyMDE3LTA2LTI4IDE5OjQ2OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogc3BlY2lmeSAnX3N3cicgYXRvbSBhcyBhIGNvbnRhaW5lciBhdG9tCgkgIC4uLiBzbyBpdCBpcyBwYXJzZWQgYXMgYW4gbXA0IHN0eWxlIG1ldGFkYXRhIGF0b20gYXMgd3JpdHRlbiBieSBtdXhlcgoKMjAxNy0wNi0yNyAyMDoxNDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogaW5pdGlhbGl6ZSBtZGhkIGxhbmd1YWdlIGNvZGUgYXMgdW5kZWZpbmVkCgoyMDE3LTA2LTIyIDE1OjM0OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCBhIGZhc3RzdGFydC1taW4tcGFja2V0cyBwcm9wZXJ0eQoJICBXaGVuIHNldCB0aGlzIHByb3BlcnR5IHdpbGwgYWxsb3cgdGhlIGppdHRlcmJ1ZmZlciB0byBzdGFydCBkZWxpdmVyaW5nCgkgIHBhY2tldHMgYXMgc29vbiBhcyBOIG1vc3QgcmVjZW50IHBhY2tldHMgaGF2ZSBjb25zZWN1dGl2ZSBzZXFudW0uIEEKCSAgZmFzdHN0YXJ0LW1pbi1wYWNrZXRzIG9mIHplcm8gZGlzYWJsZXMgdGhpcyBmZWF0dXJlLiBUaGlzIGhldXJpc3RpYyBpcwoJICBhbHNvIHVzZWQgaW4gcnRwc291cmNlIHdoaWNoIGltcGxlbWVudHMgdGhlIHByb2JhdGlvbiBtZWNoYW5pc20gYW5kIGEKCSAgc2ltaWxhciBoZXVyaXN0aWMgaXMgdXNlZCB0byBoYW5kbGUgbG9uZyBnYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NTM2CgoyMDE3LTA2LTIzIDE2OjE4OjU3IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogQWxsb3cgdXNpbmcgZ2xpYiBhcyBhIHN1YnByb2plY3QKCjIwMTctMDYtMjYgMTE6MDk6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9tZXNvbi5idWlsZDoKCSogdGVzdHMvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidWlsZCBleGFtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MTM0CgoyMDE3LTA2LTI2IDA5OjQ3OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBmaXggd2l0aC1wYWNrYWdlLW5hbWUgb3B0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQwODIKCjIwMTctMDYtMjYgMDk6Mzg6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy9tZXNvbi5idWlsZDoKCSAgbWVzb246IHRlc3RzOiBpY2xlczogc2ltcGxpZnkgYnVpbGQgZmlsZQoKMjAxNy0wNi0yNiAwMDoyMjowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9tZXNvbi5idWlsZDoKCSAgbWVzb246IGJ1aWxkIHRlc3RzL2ljbGVzLwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MTM0CgoyMDE3LTA2LTE5IDIxOjEzOjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGNvcnJlY3RseSBjYWxjdWxhdGUgb3ZlcmFsbCBmaXJzdF90cyB0byBlbnN1cmUgc3RyZWFtIHN5bmMKCSAgLi4uIGJ5IG1pbmRpbmcgYW5kIGNvbXBlbnNhdGluZyBmb3IgdGhlIGR0c19hZGp1c3RtZW50IHRoYXQgbWF5IGhhdmUKCSAgYmVlbiBpbnRyb2R1Y2VkIGluIHRoZSBQVFMgdGltZWxpbmUuCgoyMDE3LTA2LTEwIDE1OjE0OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHRyYWNrIGhpZ2hlc3Qga25vd24gY2x1c3RlciBwb3NpdGlvbiBhbmQgdGltZQoJICAuLi4gdG8gdXNlIGFzIGEgZmFsbGJhY2sgaW5pdGlhbCBkdXJhdGlvbiBlc3RpbWF0ZSBhbmQgdG8gcHJvdmlkZSBmb3IKCSAgaW50ZXJwb2xhdGlvbiB3aGVuIHNjYW5uaW5nIGZvciBwb3NpdGlvbi4KCjIwMTctMDYtMTAgMTM6NDY6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIGFuZCBzaW1wbGlmeSBzZWFyY2hpbmcgZm9yIGNsdXN0ZXIgYW5kIHBvc2l0aW9uCgkgIC4uLiBhdm9pZGluZyBpbmVmZmljaWVuY3kgcHJvcG9ydGlvbmFsIHRvIGZpbGUgc2l6ZQoKMjAxNy0wNi0wOCAxNjo1NToyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGluY3JlYXNlIGNodW5rIHNpemUgd2hlbiBzY2FubmluZyBmb3IgY2x1c3RlcgoKMjAxNy0wNi0wOCAxNjozOTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1haW50YWluIHZhcmlhYmxlIHN0YXRlIHdoZW4gc2VhcmNoaW5nIGZvciBwb3NpdGlvbgoJICAuLi4gc28gc2tpcHBpbmcgdG8gbmV4dCBjbHVzdGVyIGhhcHBlbnMgZWZmaWNpZW50bHkKCjIwMTctMDYtMjQgMDA6MjE6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIGV4dC9yYXcxMzk0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogYnVpbGQgcmF3MTM5NCBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDEzNAoKMjAxNy0wNi0yMyAyMzo1MDowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hYWxpYi9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogYnVpbGQgYWFsaWIgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQxMzQKCjIwMTctMDYtMjMgMjM6Mzg6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGliY2FjYS9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogYnVpbGQgY2FjYSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDEzNAoKMjAxNy0wNi0yMyAyMDowMTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIGdpdCBtYXN0ZXIKCjIwMTctMDYtMjMgMTk6NTI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBSRUFETUU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogbWVzb24uYnVpbGQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZXNvbi5idWlsZDoKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3VuYXVkaW8uYzoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIHN5czogcmVtb3ZlIHN1bmF1ZGlvIHBsdWdpbgoJICBFdmVuIHRob3VnaCBob29rZWQgdXAgdG8gdGhlIGJ1aWxkIHN5c3RlbSwgaXQncyBjbGVhciB0aGF0IG5vIG9uZQoJICBoYXMgZXZlciBidWlsdCBvciB1c2VkIHRoaXMgd2l0aCBHU3RyZWFtZXIgMS54LiBJdCB3YW50cyB0byBsaW5rCgkgIGFnYWluc3QgbGliZ3N0aW50ZXJmYWNlcywgd2hpY2ggbm8gbG9uZ2VyIGV4aXN0cy4gQW5kIHVzZXMgMC4xMC1zdHlsZQoJICByYXcgYXVkaW8gY2Fwcy4gQW5kIHRoZSBsYXN0IG1lYW5pbmdmdWwgY2hhbmdlIHdhcyBkb25lIGluIDIwMDkuCgkgIExldCdzIGp1c3QgcmVtb3ZlIGl0LgoKMjAxNy0wNi0yMyAxOTozNToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9tZXNvbi5idWlsZDoKCSogc3lzL29zczQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidWlsZCBvc3M0IHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MTM0CgoyMDE3LTA2LTIzIDE5OjIzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL21lc29uLmJ1aWxkOgoJKiBzeXMvb3NzL21lc29uLmJ1aWxkOgoJICBtZXNvbjogYnVpbGQgb3NzIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MTM0CgoyMDE3LTA2LTIyIDExOjM4OjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBY3R1YWxseSB1c2UgdGhlIHJlY2VpdmUgbG9jayB3aGVuIHJlY2VpdmluZywgbm90IHRoZSBzZW5kIGxvY2sKCjIwMTctMDYtMjIgMDE6MDE6NDAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9DTWFrZUxpc3RzLnR4dDoKCSAgcW1sc2luayBleGFtcGxlOiBBZGQgQ01ha2VMaXN0cy50eHQKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCB1c2luZyBjbWFrZSBpbnN0ZWFkIG9mIHFtYWtlCgoyMDE3LTA2LTIyIDAxOjAxOjQwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHF0OiBSZW1vdmUgbWlzbGVhZGluZyByZWZlcmVuY2UgdG8gR1RLIGluIHF0aXRlbS5jYwoKMjAxNy0wNi0xNSAxMTo0Njo1NCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IEZpeCB3YXJuaW5nIHdpdGggdGhlIG5ld2x5IGFkZGVkIEdzdFN0YXRlQ2hhbmdlIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNzk4CgoyMDE3LTA2LTE1IDE5OjA5OjI2ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvIG5vdCBjaGVja3N1bSB0aGUgc3RyZWFtIGlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMzMDcKCjIwMTctMDYtMTUgMjM6MzE6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0bXV4OiBhZGQgc3VwcG9ydCBmb3IgbXV4aW5nIFBORwoJICBEZW11eGVyIGFscmVhZHkgc3VwcG9ydGVkIGl0LgoKMjAxNy0wNi0xNSAxMDo0MDo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBVc2UgYSBtdXRleCBmb3IgcHJvdGVjdGluZyBhZ2FpbnN0IGNvbmN1cnJlbnQgc2VuZC9yZWNlaXZlcwoJICBXZSBjdXJyZW50bHkgc2VuZCBkYXRhIHRvIHRoZSBSVFNQIGNvbm5lY3Rpb24gZnJvbSBtdWx0aXBsZSB0aHJlYWRzOgoJICB3aGVuZXZlciBhIGNvbW1hbmQgaXMgdG8gYmUgaGFuZGxlZCBhbmQgd2hlbmV2ZXIgUlRDUCBpcyBnZW5lcmF0ZWQuIFRoaXMKCSAgY2FuIGNhdXNlIGRhdGEgY29ycnVwdGlvbiBvciB3b3JzZSBpZiBib3RoIGhhcHBlbiBhdCB0aGUgc2FtZSB0aW1lLgoJICBBcyBzdWNoLCBwcm90ZWN0IGdzdF9ydHNwX2Nvbm5lY3Rpb25fc2VuZCgpIGFuZCBnc3RfcnRzcF9jb25uZWN0aW9uX3JlY2VpdmUoKQoJICBjYWxscyB3aXRoIGEgbXV0ZXguIFdoaWxlIHRoaXMgbWVhbnMgdGhhdCB3ZSBob2xkIGEgbXV0ZXggZHVyaW5nIHRoZSBJTwoJICBvcGVyYXRpb24sIHRoaXMgaXMgbm90IGFjdHVhbGx5IGEgcHJvYmxlbSBhcyB0aGUgSU8gb3BlcmF0aW9uIGNhbiBiZQoJICBpbnRlcnJ1cHRlZCAoZ3N0X3J0c3BfY29ubmVjdGlvbl9mbHVzaCgpKSBhdCBhbnkgdGltZSBhbmQgaXMgYmxvY2tpbmcgYnkKCSAgaXRzZWxmIGFueXdheS4KCjIwMTctMDYtMTUgMTE6NTA6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiBVbi1tZXJnZSB0aGUgbGFzdCB0d28gc3RzYyBlbnRyaWVzIGFmdGVyIHNlcmlhbGl6aW5nCgkgIFRoZSBsYXN0IGVudHJ5IHdpbGwgbW9zdCBsaWtlbHkgZ2V0IG5ldyBzYW1wbGVzIGFkZGVkIHRvIGl0IGluICJyb2J1c3QiCgkgIG11eGluZyBtb2RlLCBjaGFuZ2luZyB0aGUgc2FtcGxlc19wZXJfY2h1bmsgYW5kIHRodXMgbWFraW5nIGl0IHdyb25nIHRvCgkgIGtlZXAgdGhlIGxhc3QgdHdvIGVudHJpZXMgbWVyZ2VkLiBJdCB3aWxsIHJ1biBpbnRvIGFuIGFzc2VydGlvbiBsYXRlcgoJICB3aGVuIGFkZGluZyBhIG5ldyBzYW1wbGUgdG8gdGhlIGNodW5rLgoJICBUaGFua3MgdG8gZ2RpZW5lckBjYXJkaW5hbHBlYWsuY29tIGZvciB0aGUgYW5hbHlzaXMgb2YgdGhlIGJ1ZyBhbmQKCSAgcHJvcG9zYWwgZm9yIGEgc29sdXRpb24uCgoyMDE3LTA2LTE0IDAwOjA5OjI1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBBY3R1YWxseSBjbGlwIHRvIHVwc3RyZWFtIHNpemUgaW5zdGVhZCBvZiBzaXplIG9mIHRoZSBkYXRhIGNodW5rCgkgIFRoZXJlIG1pZ2h0IGJlIG90aGVyIGNodW5rcyBhZnRlciB0aGUgZGF0YSBjaHVuaywgc28gY2xpcHBpbmcgdGhlIGNodW5rCgkgIHNpemUgd2l0aCB0aGUgZGF0YSBzaXplIGNhbiBsZWFkIHRvIGEgbmVnYXRpdmUgbnVtYmVyIGFuZCBhbGwgZm9sbG93aW5nCgkgIGNhbGN1bGF0aW9ucyBnbyB3cm9uZyBhbmQgY2F1c2UgY3Jhc2hlcyBvciB3b3JzZS4KCSAgVGhpcyB3YXMgaW50cm9kdWNlZCBpbiAzYWMxMTliYmUyYzM2MGUyOGMwODdjZjM4NTJlYTc2OWQ2MTFiMTIwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNzYwCgoyMDE3LTA2LTEzIDE3OjQwOjE5ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiBEcm9wIGFsbG9jYXRpb24gcXVlcmllcwoJICBUaGV5IGNhbiBjYXVzZSB1cyB0byBkZWFkbG9jaywgd2hpbGUgd2UncmUgd2FpdGluZyBmb3IgYSBuZXcgZnJhbWUgYW5kCgkgIHVwc3RyZWFtIGlzIHdhaXRpbmcgZm9yIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHRvIGJlIGFuc3dlcmVkIGJlZm9yZQoJICBzZW5kaW5nIGEgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Mzc1MwoKMjAxNy0wNi0wMSAwMjowMzoyNyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHVuaXF1aWZ5IHN0cmVhbSBpZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzMwNwoKMjAxNy0wNi0wNyAxMjo0Nzo1OSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IERvIG5vdCB1c2UgcGF0aCBzZXBhcmF0b3IgaW4gdGVzdCBuYW1lcwoJICBBdm9pZGluZyB3YXJuaW5ncyBsaWtlOgoJICBXQVJOSU5HOiBUYXJnZXQgImVsZW1lbnRzL2F1ZGlvYW1wbGlmeSIgaGFzIGEgcGF0aCBzZXBhcmF0b3IgaW4gaXRzIG5hbWUuCgoyMDE3LTA2LTA2IDExOjI5OjI5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgRml4IHY0bDIgZXhhbXBsZQoKMjAxNy0wNi0wNSAxNjo1NToxMyArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBub3QgbmVlZGVkIGNvZGUKCSAgcmVtb3ZlIG5vdCBuZWVkZWQgY29kZSBhYm91dCByZXMgdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM0MjIKCjIwMTctMDYtMDIgMTQ6MDE6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IE1ha2Ugc3VyZSBtaW5fYnVmZmVycyBpcyB2YWxpZAoJICBXaGVuIHVwc3RyZWFtIGRvZXMgbm8gdXNlIHRoZSB2NGwydmlkZW9lbmMgcG9vbCwgd2UgbmVlZCB0byBhY3RpdmF0ZQoJICB0aGF0IGludGVybmFsIHBvb2wuIFRob3VnaCwgd2UgcmVsaWVkIHRoZSBkcml2ZXIgdG8gcHJvdmlkZSBhIG1pbmltdW0KCSAgcmVxdWlyZWQgYnVmZmVyLCB3aGljaCBRdWFsY29tbSBWZW51cyBkcml2ZXIgZG9uJ3QgY3VycmVudGx5IHByb3ZpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMzNjEKCjIwMTctMDYtMDIgMTE6MzA6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCBjYXBzIGxlYWsKCjIwMTctMDUtMjYgMTY6MzA6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHNpbXBsaWZ5IGJ1ZmZlciBhY2N1bXVsYXRpb24gY29udHJvbCBmbG93CgkgIFRoZXJlIGlzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBwdXNoaW5nIG91dCBhIGJ1ZmZlciBkaXJlY3RseQoJICB3aXRoIGdzdF9ydHBfYmFzZV9kZXBheWxvYWRfcHVzaCgpIGFuZCByZXR1cm5pbmcgaXQgZnJvbSB0aGUKCSAgcHJvY2VzcyBmdW5jdGlvbi4gVGhlIGJhc2UgY2xhc3Mgd2lsbCBqdXN0IGNhbGwgX2RlcGF5bG9hZF9wdXNoKCkKCSAgb24gdGhlIHJldHVybmVkIGJ1ZmZlciBhcyB3ZWxsLgoJICBTbyBpbnN0ZWFkIG9mIG1hcnNoYWxsaW5nIGJ1ZmZlcnMgdGhyb3VnaCB0aHJlZSBsYXllcnMgYW5kIGJhY2ssCgkgIGp1c3QgcHVzaCB0aGVtIGZyb20gb25lIHBsYWNlIGluIGhhbmRsZV9uYWwoKSBhbmQgYWx3YXlzIHJldHVybgoJICBOVUxMIGZyb20gdGhlIHByb2Nlc3MgdmZ1bmMuIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhIGxpdHRsZS4KCSAgQWxzbyByZW5hbWUgX3B1c2hfZnJhZ21lbnRhdGlvbl91bml0KCkgdG8gX2ZpbmlzaF9mcmFnbWVudGF0aW9uX3VuaXQoKQoJICBmb3IgY2xhcml0eS4gUHVzaCBzb3VuZHMgbGlrZSBpdCBtZWFucyBiZWluZyBwdXNoZWQgb3V0LCB3aGVyZWFzCgkgIGl0IG1pZ2h0IGp1c3QgYmUgcHVzaGVkIGludG8gYW4gYWRhcHRlci4KCSAgVGhpcyBjaGFuZ2UgaGFzIHRoZSBzaWRlLWVmZmVjdCB0aGF0IG11bHRpcGxlIE5BTHMgaW4gYSBzaW5nbGUgU1RBUAoJICAoc3VjaCBhcyBTUFMvUFBTKSBtYXkgbm8gbG9uZ2VyIGJlIHB1c2hlZCBvdXQgYXMgYSBzaW5nbGUgYnVmZmVyIGlmCgkgIHdlIG91dHB1dCBOQUxzIGluIGJ5dGUtc3RyZWFtIGZvcm1hdCAoaS5lLiBub3QgYWdncmVnYXRlIEFVcyksIGJ1dAoJICB0aGF0IHNob3VsZG4ndCByZWFsbHkgbWFrZSBhbnkgZGlmZmVyZW5jZSB0byBhbnlvbmUuCgoyMDE3LTA1LTMwIDIyOjIzOjEwICswMjAwICBKdWFuIE5hdmFycm8gPGp1YW4ubmF2YXJyb0BnbXguZXM+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHByaW50IHZhbHVlIG9mIHVua25vd24gUlRDUCBQYXlsb2FkIFR5cGUKCSAgVGhpcyBhZGRzIHByaW50aW5nIHRoZSBhY3R1YWwgdmFsdWUgb2YgYW55IHVua25vd24gUlRDUCBQVAoJICB0byB0aGUgYWxyZWFkeSBleGlzdGluZyBXQVJOSU5HIGxvZyBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMjQ4CgoyMDE3LTA1LTI2IDE3OjUyOjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2VuYzogRG9uJ3QgbGVhayBWaWRlb0NvZGVjU3RhdGUKCSAgQ0lEICMxNDA5ODUyCgoyMDE3LTA1LTI2IDE3OjQ4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogUmVtb3ZlIHVuLW5lZWRlZCB2YXJpYWJsZSBjaGVjawoJICBpZiBwYWQgd2Fzbid0IHByZXNlbnQgYnkgbm93IGV2ZXJ5dGhpbmcgd291bGQgaGF2ZSBicm9rZW4gYmVmb3JlCgkgIENJRCAjMTQwOTg1NAoKMjAxNy0wNS0yNSAxNToyNjozNyArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMDkzCgoyMDE3LTA1LTI1IDEwOjA5OjA0ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvcXQvcXR3aW5kb3cuY2M6CgkgIGdsZnJhbWVidWZmZXI6IGNoZWNrIGZyYW1lIGJ1ZmZlciBzdGF0dXMgbmVlZCB1c2Ugc3BlY2lmaWMgZmJvIHRhcmdldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMDY1CgoyMDE3LTA1LTI0IDE0OjE5OjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSAgdjRsMnZpZGVvZW5jOiBSZW1vdmUgdW51c2VkIGZ1bmN0aW9uCgoyMDE3LTA1LTIxIDE1OjI5OjExICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9leHQvdHlwZXMtY29tcGF0Lmg6CgkgIHY0bDI6IERvbid0IHJlZGVmaW5lIF9fYml0d2lzZSBpZiBhbHJlYWR5IHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDM4CgoyMDE3LTA1LTIzIDE0OjQwOjU2IC0wNDAwICBBeWFrYSA8YXlha2FAc291bGlrLmluZm8+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2NGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2NGVuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmg6CgkqIHN5cy92NGwyL21lc29uLmJ1aWxkOgoJICB2NGwyOiBBZGQgVmlkZW8gRW5jb2RlciBzdXBwb3J0CgkgIFRoaXMgaW1wbGVtZW50cyBIMjY0IGVuY29kaW5nIHN1cHBvcnQgdXNpbmcgZ2VuZXJpYyBWNEwyIGludGVyZmFjZS4gSXQgaXMKCSAgcmVwb3J0ZWQgdG8gd29yayB3aXRoIFNhbXN1bmcgTUZDIGRyaXZlciwgSVhNLjYgQ09EQSBkcml2ZXIgYW5kCgkgIFF1YWxjb21tIG1haW5saW5lIFZlbnVzIGRyaXZlci4gT3RoZXIgcGxhdGZvcm0gc2hvdWxkIGJlIHN1cHBvcnRlZCBhcwoJICBub25lIG9mIHRoaXMgd29yayBpcyBwbGF0Zm9ybSBzcGVjaWZpYy4KCSAgVGhlIGltcGxlbWVudGF0aW9uIGNvbnNpc3Qgb2YgYSBHc3RWNGwyVmlkZW9FbmMgYmFzZSBjbGFzcywgd2hpY2gKCSAgaW1wbGVtZW50cyB0aGUgY29yZSBzdHJlYW1pbmcgZnVuY3Rpb25hbGl0eS4gVGhpcyBiYXNlIGNsYXNzIGlzIGltcGxlbWVudGVkCgkgIGJ5IEdzdFY0bDJIMjY0RW5jIGNsYXNzIHRoYXQgaW1wbGVtZW50cyB0aGUgY2FwcyBuZWdvdGlhdGlvbiBzcGVjaWZpYyB0bwoJICBIMjY0IHByb2ZpbGVzIGFuZCBsZXZlbC4gVGhpcyBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBoYXJkd2FyZSB3aXRoIG11bHRpcGxlCgkgIEgyNjQgZW5jb2Rlci4gVGhvdWdoLCB0byBtYWtlIGl0IHNpbXBsaWVyIHRvIHVzZSwgdGhlIGZpcnN0IGRpc2NvdmVyZWQgSDI2NAoJICBlbmNvZGVyIHdpbGwgYmUgbmFtZWQgdjRsMmgyNjRlbmMuIE90aGVyIGVuY29kZXIgZm91bmQgZHVyaW5nIGRpc2NvdmVyeSB3aWxsCgkgIGhhdmUgYSB1bmlxdWUgbmFtZSBsaWtlIHY0bDJ2aWRlbzBoMjY0ZW5jLgoJICBUaGlzIHdvcmsgaXMgdGhlIGNvbWJpbmVkIHdvcmsgb2YgbXVsdGlwbGUgZGV2ZWxvcHBlcnMgaW4gdGhlIGxhc3QgMwoJICB5ZWFycy4gVGhhbmtzIHRvIGFsbCBvZiB0aGUgY29udHJpYnV0b3JzOgoJICBBeWFrYSA8YXlha2FAc291bGlrLmluZm8+CgkgIEZyw6lkw6lyaWMgU3VyZWF1IDxmcmVkZXJpYy5zdXJlYXVAdm9kYWx5cy5jb20+CgkgIEplYW4tTWljaGVsIEhhdXRib2lzIDxqZWFuLW1pY2hlbC5oYXV0Ym9pc0B2ZW8tbGFicy5jb20+CgkgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCSAgUGFibG8gQW50b24gPHBhYmxvLmFudG9uQHZvZGFseXMtbGFicy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MzgKCjIwMTctMDUtMjMgMTQ6MzY6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IFJlbW92ZSB1bnVzZWQgZm9yd2FyZCBkZWNsYXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDM4CgoyMDE1LTEwLTA1IDE2OjMwOjQ2ICswMTAwICBBeWFrYSA8YXlha2FAc291bGlrLmluZm8+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwycG9vbDogRml4IHdyb25nIGVycm9yIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQzOAoKMjAxNS0xMC0wNSAxNjoyMDoxOSArMDEwMCAgQXlha2EgPGF5YWthQHNvdWxpay5pbmZvPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBpbmNyZWFzZSBwcmUtYWxsb2NhdGVkIGVuY29kZWQgYnVmZmVyIHNpemUKCSAgQXMgb2YgdG9kYXksIHRoZSBNRkMgZW5jb2RlciBvZnRlbiBuZWVkIHRvIGV4Y2VlZCB0aGF0IDEgTUIKCSAgc2l6ZSBmb3IgZW5jb2RlZCBidWZmZXIgd2UgZml4ZWQgZWFybGllciBmb3IgZGVjb2RpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MzgKCjIwMTctMDUtMjQgMTY6MzI6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJICBydHBvcHVzZGVwYXk6IG1pbm9yIHBlcmYgaW1wcm92ZW1lbnRzCgkgIFVzZSB0aGUgOjpwcm9jZXNzX3J0cF9wYWNrZXQoKSB2ZnVuYyB0byBhdm9pZCBtYXBwaW5nIHRoZQoJICBSVFAgYnVmZmVyIHR3aWNlLgoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9idWZmZXIoKSByZXR1cm5zIGEgbmV3IHN1Yi1idWZmZXIKCSAgd2hpY2ggd2lsbCBhbHdheXMgYmUgd3JpdGFibGUsIHNvIG5vIG5lZWQgdG8gbWFrZSBpdCB3cml0YWJsZS4KCjIwMTctMDUtMjQgMTY6MTQ6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwOiBvcHVzOiB1c2UgZXhpc3RpbmcgdXRpbGl0eSBmdW5jcyBmb3IgY29weWluZy9kcm9wcGluZyBtZXRhcwoJICBXZSBoYWQgb3VyIG93biBjb3BpZXMgb2YgdGhvc2Ugd2hpbGUgdGhlIGNvZGUgd2FzIGluIC1iYWQsIGJ1dCBub3cKCSAgd2UgY2FuIHVzZSB0aGUgZXhpc3RpbmcgdXRpbGl0eSBmdW5jdGlvbnMgaW5zdGVhZCBvZiByZS1pbXBsZW1lbnRpbmcKCSAgdGhlbS4KCjIwMTctMDUtMjQgMTI6NTc6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBjYWNoZSBtZXRhIHRhZyBxdWFya3MgYW5kIGFkZCBtb3JlIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtZXRhcwoJICBFdmVyeSBnX3F1YXJrX2Zyb21fc3RhdGljX3N0cmluZygpIGlzIGEgaGFzaCB0YWJsZSBsb29rdXAgc2VyaWFsaXNlZAoJICBvbiB0aGUgZ2xvYmFsIHF1YXJrIGxvY2sgaW4gR0xpYi4gTGV0J3MganVzdCBsb29rIHVwIHRoZSB0d28gcXVhcmtzCgkgIHdlIG5lZWQgb25jZSBhbmQgY2FjaGUgdGhlbSBsb2NhbGx5IGZvciBmdXR1cmUgdXNlLiBXaGlsZSB3ZSdyZSBhdCBpdCwKCSAgYWRkIG5ldyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgdGhlIHR3byBtb3N0IGNvbW1vbmx5IHVzZWQgdGFncwoJICAoYXVkaW8gKyB2aWRlbykuIE1ha2UgZmlyc3QgYXJndW1lbnQgYSBncG9pbnRlciBzbyB3ZSBkb24ndCBoYXZlIHRvCgkgIGNhc3QgYW5kIG1ha2UgdGhlIGNvZGUgdWdseS4gVGhlc2UgYXJlIHVzZWQgZm9yIGxvZ2dpbmcgcHVycG9zZXMKCSAgb25seSBhbnl3YXkuCgoyMDE3LTA1LTI0IDExOjMzOjA1ICswNTMwICB2aWpheSA8dmlqYXkucGFsYW5pc3dhbXlAaW4uYm9zY2guY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZSA6IEZpeCwgQ2FwcyB3ZXJlIG5vdCBzZXQgd2hpbGUgcmV1c2luZyBhYWNwYXJzZQoJICBXaGlsZSByZXVzaW5nIGFhY3BhcnNlIGNhcHMgd2VyZSBub3Qgc2V0LlRoaXMgZml4IGVuYWJsZXMgYWFjcGFyc2UgdG8gcmV1c2UgaW4gc2FtZSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzAyNwoKMjAxNy0wNS0yMSAxNzo0NTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWcuaC5tZXNvbjoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBkb24ndCBuZWVkIGNvbmZpZy5oLm1lc29uIGFueSBsb25nZXIKCjIwMTctMDUtMjEgMTU6MjY6MTIgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5oOgoJICBxbWxnbHNpbms6IEFkZCBkdW1teSB0ZXh0dXJlIHRoYXQgaXMgc2hvd24gYXMgcGxhY2Vob2xkZXIgZm9yIE5VTEwgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyOTE3CgoyMDE3LTA0LTI0IDE2OjU1OjIyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyc2VuZDogdXNlIG5vbi1ibG9ja2luZyBJL08gYW5kIGEgY29uZmlndXJhYmxlIG5ldHdvcmsgb3BlcmF0aW9ucyB0aW1lb3V0CgkgIFRoaXMgYWxsb3dzIHRpbWluZyBvdXQgb24gbmV0d29yayBlcnJvcnMgbXVjaCBlYXJsaWVyCgkgIChjdXJyZW50bHkgaXQgdGFrZXMgfjE1bWluIHRvIHRpbWVvdXQpIGFuZCB3ZSBjYW4gc3RpbGwKCSAgdW5sb2NrIGFuZCBjaGFuZ2Ugc3RhdGUgaW4gdGhlIG1lYW50aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTcxNzIyCgoyMDE3LTA1LTIxIDEwOjM3OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBtYWtlIEMrKyBjb21waWxlciBvcHRpb25hbAoJICBJdCdzIG9ubHkgbmVlZGVkIGZvciB0aGUgdGFnbGliIHBsdWdpbiB3aGljaCBpcyBvcHRpb25hbC4KCjIwMTctMDUtMjEgMTA6MzM6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL211bHRpZmlsZS52cHJvajoKCSAgbXVsdGlmaWxlOiByZW1vdmUgc29tZSBjcnVmdAoKMjAxNy0wNS0yMCAxNzowOTo1MiArMDIwMCAgSm9zZXAgVG9ycmEgPGp0b3JyYUBvYmxvbmcuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpbzogZml4ZXMgcGxheWJhY2sgb2YgbW9ubyBzdHJlYW1zIHdpdGggbm8gY2hhbm5lbC1tYXNrIGZpZWxkIGluIGNhcHMKCSAgRml4ZXMgYSBuZWdvdGlhdGlvbiBlcnJvciBzZWVuIHdoZW4gdHJ5aW5nIHRvIHBsYXliYWNrIG9mIGEgLk1PViBmaWxlIHdpdGgKCSAgYSBtb25vIEFBQyBhdWRpbyBzdHJlYW0gZGVjb2RlZCBieSBhdmNkZWNfYWFjIHRoYXQgZG9lc24ndCBzZXQgY2hhbm5lbC1tYXNrCgkgIGZpZWxkIGJ1dCBzaW5rIHdhcyByZXF1aXJpbmcgY2hhbm5lbC1tYXNrPTB4My4KCjIwMTUtMDktMDYgMjA6NDk6NTkgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogUHVzaCB0YWcgZXZlbnQgdG8gYm90aCBwYWRzCgkgIFRhZ3MgYXJlIHB1c2hlZCB0byAidmlkZW9zcmNwYWQiLyJhdWRpb3NyY3BhZCIgaW4KCSAgZ3N0X2R2ZGVtdXhfYWRkX3BhZCgpIG1ldGhvZCwgaG93ZXZlciB0aGV5IHdpbGwgYmUgTlVMTAoJICBpbiB0aGlzIG1ldGhvZCwgaGVuY2UgdGFncyBhcmUgbm90IHB1c2hlZC4KCSAgSW5zdGVhZCwgc2VuZCB0YWcgZXZlbnQgdG8gInBhZCIgY3JlYXRlZCBnc3RfZHZkZW11eF9hZGRfcGFkKCkuCgkgIFNpZ25hbCBuby1tb3JlLXBhZHMgd2hlbiBib3RoIHBhZHMgYXJlIGNyZWF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzY1NwoKMjAxNy0wNS0yMCAxNDo1Mzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiBtZXNvbl9vcHRpb25zLnR4dDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBtZXNvbjogYWRkIG9wdGlvbnMgdG8gc2V0IHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODIxNzIKCjIwMTctMDUtMjAgMTE6NDA6MzMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZml4IHByb3BlcnR5IG5hbWUgaW4gZXhhbXBsZSBwaXBlbGluZQoJICBTaW5jZSB0aGUgbW92ZSBmcm9tIENWUyB0aGUgcHJvcGVydHkgbmFtZSBvZiB0aGUgZG9jdW1lbnRhdGlvbiBleGFtcGxlCgkgIGhhcyBiZWVuIGZpbGVuYW1lIGluc3RlYWQgb2YgbG9jYXRpb24uIFVzZXJzIHRyeWluZyB0aGUgZ3N0LWxhdW5jaAoJICBjb21tYW5kIGFzIGlzIHdpbGwgZ2V0OgoJICBubyBwcm9wZXJ0eSBuYW1lICJmaWxlbmFtZSIgaW4gZWxlbWVudAoJICBGaXhpbmcgaXQuCgoyMDE3LTA1LTIwIDExOjEzOjQwICswMjAwICBKb3NlcCBUb3JyYSA8anRvcnJhQG9ibG9uZy5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlbzogZml4IG1hY09TIDEwLjEyIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgkgIEFkZCAjZGVmaW5lcyB0byBhbGxvdyBvbGRlciB2ZXJzaW9ucyBvZiBtYWNPUyB0byB1c2UgdGhlIG5ldyBjb25zdGFudCBuYW1lcy4KCjIwMTctMDUtMTMgMDk6MDU6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGlzb21wNDogU2FmZWx5IGlnbm9yZSBbc2tpcF0gYXRvbXMKCSAgSW5zdGVhZCBvZiB3YXJuaW5nIGFib3V0IHRoZW0KCjIwMTctMDUtMTggMTU6MjM6MTQgKzAzMDAgIFNpbW9uIEhpbW1lbGJhdWVyIDxzaGltbWVsYmF1ZXJAdG9vbHNvbmFpci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHF0OiBVc2UgR1NUX0dMX0hBVkVfUExBVEZPUk1fQ0dMIGluc3RlYWQgb2YgR1NUX0dMX0hBVkVfUExBVEZPUk1fQ09DT0EKCSAgVGhlIGxhdHRlciBpcyBub3QgdXNlZC9hdmFpbGFibGUgYW55bW9yZSBzaW5jZSB5ZWFycy4gQWxzbyBmaXggYSB0eXBvCgkgIGluIHRoZSBpbmNsdWRlIHBhdGggZm9yIHRoZSBDb2NvYSBHTCBkaXNwbGF5IGhlYWRlci4KCjIwMTctMDUtMTggMTU6MTA6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogTWFrZSBzZXNzaW9uIHNoYXJpbmcgdGhyZWFkLXNhZmUgb24gb3VyIHNpZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDE0MAoKMjAxNy0wNS0xOCAxMDo0MzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSAgRml4IHVwIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luIGluIHNvbWUgcGx1Z2lucwoKMjAxNy0wNS0xNSAxOTo1MTo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgZ3N0OiBDbGVhciBmbG9hdGluZyBmbGFnIGluIGNvbnN0cnVjdG9yIG9mIGFsbCBHc3RPYmplY3Qgc3ViY2xhc3NlcyB0aGF0IGFyZSBub3Qgb3duZWQgYnkgYW55IHBhcmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMDYyCgoyMDE3LTA1LTE1IDE0OjIyOjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIDEzOTQ6IFNpbmsgdGhlIGNsb2NrIHJlZmVyZW5jZSBpbiB0aGUgY29uc3RydWN0b3IKCSAgVGhpcyBpcyBub3cgbmVlZGVkIGFzIEdzdENsb2NrIGRvZXMgbm90IGRvIHRoYXQgaW50ZXJuYWxseSBhbnltb3JlLAoJICBiZWNhdXNlIHRoYXQgYnJva2UgYmluZGluZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwNjIKCjIwMTctMDUtMTcgMTA6NTg6MDUgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcW1sOiBBZGQgRUdMIHBsYXRmb3JtIHN1cHBvcnQgZm9yIHgxMSBiYWNrZW5kCgkgIEFkZCBzdXBwb3J0IGZvciBFR0wgcGxhdGZvcm0gd2hlbiB4MTEgaXMgYXZhaWxhYmxlLiBUaGlzIGNhbiB3b3JrCgkgIGUuZy4gb24gaW14NiBwbGF0Zm9ybS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjcxOAoKMjAxNy0wNC0yOCAyMzowNTozNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogQWNjZXB0IE1QRUcgMSBsYXllciAzIHZlcnNpb24gMi41CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE5MjkKCjIwMTctMDUtMTYgMTM6NTA6MTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBwbHVnaW4gc3BlY2lmaWMgc3RhdGljIGJ1aWxkIG9wdGlvbgoJICBTdGF0aWMgYW5kIGR5bmFtaWMgcGx1Z2lucyBub3cgaGF2ZSB0aGUgc2FtZSBpbnRlcmZhY2UuIFRoZSBzdGFuZGFyZAoJICAtLWVuYWJsZS1zdGF0aWMvLS1lbmFibGUtc2hhcmVkIHRvZ2dsZSBhcmUgc3VmZmljaWVudC4KCjIwMTctMDUtMTYgMTQ6MDc6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcGx1Z2luIHNwZWNpZmljIHN0YXRpYyBidWlsZCBvcHRpb24KCSAgU3RhdGljIGFuZCBkeW5hbWljIHBsdWdpbnMgbm93IGhhdmUgdGhlIHNhbWUgaW50ZXJmYWNlLiBUaGUgc3RhbmRhcmQKCSAgLS1lbmFibGUtc3RhdGljLy0tZW5hYmxlLXNoYXJlZCB0b2dnbGUgYXJlIHN1ZmZpY2llbnQuCgoyMDE3LTA1LTE2IDE0OjA3OjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHBsdWdpbiBzcGVjaWZpYyBzdGF0aWMgYnVpbGQgb3B0aW9uCgkgIFN0YXRpYyBhbmQgZHluYW1pYyBwbHVnaW5zIG5vdyBoYXZlIHRoZSBzYW1lIGludGVyZmFjZS4gVGhlIHN0YW5kYXJkCgkgIC0tZW5hYmxlLXN0YXRpYy8tLWVuYWJsZS1zaGFyZWQgdG9nZ2xlIGFyZSBzdWZmaWNpZW50LgoKMjAxNy0wNS0xNiAxNDowNzo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHBsdWdpbiBzcGVjaWZpYyBzdGF0aWMgYnVpbGQgb3B0aW9uCgkgIFN0YXRpYyBhbmQgZHluYW1pYyBwbHVnaW5zIG5vdyBoYXZlIHRoZSBzYW1lIGludGVyZmFjZS4gVGhlIHN0YW5kYXJkCgkgIC0tZW5hYmxlLXN0YXRpYy8tLWVuYWJsZS1zaGFyZWQgdG9nZ2xlIGFyZSBzdWZmaWNpZW50LgoKMjAxNy0wNS0xNiAxNDowNTo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHBsdWdpbiBzcGVjaWZpYyBzdGF0aWMgYnVpbGQgb3B0aW9uCgkgIFN0YXRpYyBhbmQgZHluYW1pYyBwbHVnaW5zIG5vdyBoYXZlIHRoZSBzYW1lIGludGVyZmFjZS4gVGhlIHN0YW5kYXJkCgkgIC0tZW5hYmxlLXN0YXRpYy8tLWVuYWJsZS1zaGFyZWQgdG9nZ2xlIGFyZSBzdWZmaWNpZW50LgoKMjAxNy0wNS0xNiAxNDowNTo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcGx1Z2luIHNwZWNpZmljIHN0YXRpYyBidWlsZCBvcHRpb24KCSAgU3RhdGljIGFuZCBkeW5hbWljIHBsdWdpbnMgbm93IGhhdmUgdGhlIHNhbWUgaW50ZXJmYWNlLiBUaGUgc3RhbmRhcmQKCSAgLS1lbmFibGUtc3RhdGljLy0tZW5hYmxlLXNoYXJlZCB0b2dnbGUgYXJlIHN1ZmZpY2llbnQuCgoyMDE3LTA1LTEyIDE3OjUzOjU3ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogQWRkIGFsaWdubWVudC10aHJlc2hvbGQgYXJndW1lbnQKCSAgSWYgYSBub24tcmVmZXJlbmNlIHN0cmVhbSBpcyBiZWhpbmQgdGhlIHJlZmVyZW5jZSBzdHJlYW0gYnkgYW4gYW1vdW50IG9mCgkgIHRpbWUgc21hbGxlciB0aGFuIHRoZSBhbGlnbm1lbnQgdGhyZXNob2xkIChpbiBuc2VjKSwgaXQgY291bnRzIGFzIGJlaW5nCgkgIGFmdGVyIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyNTYzCgoyMDE3LTA1LTE2IDEyOjU2OjE1ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvIG5vdCBjaGVjayB0aW1lY29kZSBkYXRhIGZvciBtcDQgY29udGFpbmVyCgkgIFRpbWVjb2RlIHRyYWsgaXMgb25seSBzdXBwb3J0ZWQgZm9yIG1vdiByaWdodCBub3csIG5vdCBmb3IgbXA0LiBUaGF0CgkgIGNvZGUgd291bGQgb3RoZXJ3aXNlIGNyZWF0ZSBhbiBpbnZhbGlkIHRyYWsgaWYgdGhlIG11eGVkIHZpZGVvIGNvbnRhaW5lZAoJICB0aW1lY29kZSBtZXRhZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjY4NAoKMjAxNy0wNS0xMSAyMDowMToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdoZW4gYWNjZXB0aW5nIHJlbmVnb3RpYXRpb24sIGp1c3QgcmV0dXJuIFRSVUUgYW5kIGNoYW5nZSBub3RoaW5nCgkgIFdlIG9ubHkgYWNjZXB0IG5ldyBjYXBzIGlmIHRoZXkgYXJlIGJhc2ljYWxseSB0aGUgc2FtZS4gV2UgZG9uJ3Qgd2FudCB0bwoJICByZXNldCBhbnl0aGluZyBhcyBpZiB0aGUgY2FwcyBhcmUgbmV3LCBvdGhlcndpc2UgdmFyaW91cyBzdGF0ZSBjb3VsZCBnZXQKCSAgb3V0IG9mIHN5bmMgd2l0aCB0aGUgY3VycmVudCBydW4uCgoyMDE3LTA1LTExIDE5OjIxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogSW4gcHJlZmlsbCBtb2RlLCBvbmx5IHBhZCBidWZmZXJzIHdpdGggPiAwIHNpemVkIG1lbW9yaWVzIGFzIG5lZWRlZAoJICBBZGRpbmcgYSAwLWJ5dGUgbWVtb3J5IGhhcyBub3QgbXVjaCBlZmZlY3QuCgkgIEFsc28gYWRkIHNvbWUgZGVidWcgb3V0cHV0LgoKMjAxNy0wNS0xMCAxNTo1ODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IExhdGVuZXNzIGlzIGluIFFUIHRpbWVzY2FsZSwgZGlmZiBpbiBHc3RDbG9ja1RpbWUKCSAgUHJpbnQgdGhlIHJpZ2h0IG9uZSBpbiBkZWJ1ZyBvdXRwdXQgdG8gZ2V0IG1lYW5pbmdmdWwgbnVtYmVycy4KCjIwMTctMDUtMTAgMTQ6MzE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBFcnJvciBvdXQgaWYgYSBnYXAgZWRpdCBsaXN0IGhhcyB0byBiZSB3cml0dGVuIGluIHByZWZpbGwgbW9kZQoJICBXZSBkb24ndCBoYXZlIGFueSBzcGFjZSByZXNlcnZlZCBmb3IgdGhpcyBpbiB0aGUgbW9vdiBhbmQgdGhlCgkgIHByZS1maW5hbGl6ZWQgbW9vdiB3b3VsZCBoYXZlIGJyb2tlbiBBL1Ygc3luY2hyb25pemF0aW9uLiBFcnJvciBvdXQgaGVyZQoJICBub3cKCjIwMTctMDUtMTAgMTE6NDI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBDYWxjdWxhdGUgd2l0aCByZXNlcnZlZCBtb292IHNpemUgaW5zdGVhZCBvZiBsYXN0IG1vb3Ygc2l6ZQoJICBXZSBoYXZlIHNvbWUgcGFkZGluZyBhZGRlZCBhZnRlciB0aGUgaW5pdGlhbCBtb292LCBzbyBhIGJpZ2dlciB1cGRhdGVkCgkgIG1vb3YgY2FuIGJlIGhhbmRsZWQgdG8gc29tZSBkZWdyZWUgYW5kIGlzIGV4cGVjdGVkLiBQcmV2aW91c2x5IHdlIGp1c3QKCSAgaWdub3JlZCB0aGUgcGFkZGluZyBhbmQgZXJyb3JlZCBvdXQgaW4gY2FzZXMgd2hlbiB0aGUgcGFkZGluZyB3b3VsZCd2ZQoJICBqdXN0IGJlZW4gZW5vdWdoLgoKMjAxNy0wNS0xMCAxMToxMjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEVycm9yIG91dCBkaXJlY3RseSBpZiBzZW5kaW5nIGZpbGxlciBkYXRhIHJlc3VsdHMgaW4gYSBmbG93IGVycm9yCgkgIENJRCAxNDA1OTk0CgoyMDE3LTA1LTA5IDE2OjAyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogSW4gcHJlZmlsbCBtb2RlLCBoYW5kbGUgdGhlIGNhc2Ugd2hlbiBvbmx5IHRoZSBmaXJzdCBjaHVuayB3YXMgZXZlciB1c2VkCgoyMDE3LTA1LTA5IDA5OjQ3OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcXQvZ3N0cGx1Z2luLmNjOgoJICBxbWxnbDogTWFrZSB0aGUgcGx1Z2luIG5hbWUgbWF0Y2ggdGhlIHB1Z2luIGZpbGUgbmFtZQoKMjAxNy0wMy0xNiAxNToxMjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgYSBpbi1tZW1vcnkgY29va2llIGphciBieSBkZWZhdWx0IGluIHNlc3Npb25zIHdlIGNyZWF0ZWQKCSAgVGhpcyBlbnN1cmVzIHRoYXQgY29va2llcyBhcmUgc3RvcmVkIGFuZCB1c2VkIGFzIHNldCBieSB0aGUgc2VydmVyLCBhbmQKCSAgc2hhcmVkIHdpdGggb3RoZXIgc291cGh0dHBzcmMgdGhhdCB1c2UgdGhlIHNhbWUgU291cFNlc3Npb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAxNDAKCjIwMTctMDMtMTYgMTM6NTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogSW1wbGVtZW50IHNvdXAgc2Vzc2lvbiBzaGFyaW5nCgkgIHNvdXBodHRwc3JjIG5vdyBzaGFyZXMgaXRzIFNvdXBTZXNzaW9uIHdpdGggb3RoZXIgZWxlbWVudHMgaW4gdGhlCgkgIHBpcGVsaW5lIHZpYSBHc3RDb250ZXh0IGlmIHBvc3NpYmxlIChzZXNzaW9uLXdpZGUgc2V0dGluZ3MgYXJlIGFsbCB0aGUKCSAgZGVmYXVsdHMpLCBvciBpZiB0aGUgY29udGV4dCB3YXMgZm9yY2VkIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCSAgVGhpcyBhbGxvd3MgbXVsdGlwbGUgc291cGh0dHBzcmNzIHRvIHJldXNlIGNvbm5lY3Rpb25zLCBjb29raWVzLCBldGMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAxNDAKCjIwMTctMDMtMDkgMTA6MTU6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBBZGQgbmV3IHByZWZpbGwgcmVjb3JkaW5nIG1vZGUKCSAgVGhpcyBzZXRzIHVwIGEgbW9vdiB3aXRoIHRoZSBjb3JyZWN0IHNhbXBsZSBwb3NpdGlvbnMgYmVmb3JlaGFuZCBhbmQKCSAgb25seSB3b3JrcyB3aXRoIGNvbnN0YW50IGZyYW1lcmF0ZSwgSS1mcmFtZSBvbmx5IHN0cmVhbXMuCgkgIEN1cnJlbnRseSBvbmx5IHN1cHBvcnQgZm9yIFByb1JlcyBhbmQgcmF3IGF1ZGlvIGlzIGltcGxlbWVudGVkIGJ1dAoJICBhZGRpbmcgbmV3IGNvZGVjcyBpcyBqdXN0IGEgbWF0dGVyIG9mIGRlZmluaW5nIGFwcHJvcHJpYXRlIG1heGltdW0gZnJhbWUKCSAgc2l6ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE0NDcKCjIwMTctMDMtMjkgMTQ6MDE6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEVycm9yIG91dCBvbiBkaXNjb250aW51aXRpZXMvZ2FwcyB3aGVuIG11eGluZyByYXcgYXVkaW8KCSAgV2hlbiBtdXhpbmcgcmF3IGF1ZGlvLCB3ZSBoYXZlIG5vIHdheSBvZiBzdG9yaW5nIHRpbWVzdGFtcHMgYnV0IGFyZSBqdXN0CgkgIHN0b3JpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBhdWRpbyBzYW1wbGVzLiBJZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuCgkgIHRoZSBleHBlY3RlZCBhbmQgdGhlIHJlYWwgdGltZXN0YW1wIGJlY29tZXMgdG8gYmlnLCB3ZSBzaG91bGQgZXJyb3Igb3V0CgkgIGluc3RlYWQgb2Ygc2lsZW50bHkgY3JlYXRpbmcgZmlsZXMgd2l0aCB3cm9uZyBBL1Ygc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDY3OQoKMjAxNy0wNS0wOSAxMTo0MToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweGRlYzogU2V0IGZiLT5wcml2IHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBqdXN0IGluIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjM1OQoKMjAxNy0wNS0wOCAxNToyMjowMCArMDAwMCAgRHVzdGluIFNwaWN1enphIDxkdXN0aW5AdmlydHVhbHJvYWRzaWRlLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IFVzZSBHc3RDbG9jayBBUEkgaW5zdGVhZCBvZiBTbGVlcCgpIGZvciB3YWl0aW5nCgkgIEl0J3MgbW9yZSBhY2N1cmF0ZSBhbmQgYWxsb3dzIGNhbmNlbGxhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY4MQoKMjAxNy0wNS0wOCAxNTowNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweDogZml4IGJ1aWxkIGFnYWluc3Qgb2xkZXIgbGlidnB4IHZlcnNpb25zCgkgIFN1Y2ggYXMgMS4zLjAgYXMgb24gcmFzcGJpYW4uCgoyMDE3LTA1LTAzIDIzOjIzOjEwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGNvcm5lciBjYXNlIGNhdXNpbmcgbGFyZ2UgQ1BVIHVzYWdlCgkgIFdlIHdlcmUgdW5uZWNlc3NhcmlseSBsb29waW5nL2dvdG8taW5nIHJlcGVhdGVkbHkgd2hlbiB3ZSBoYWQgZXhhY3RseQoJICB0aGUgYW1vdW50IG9mIGRhdGEgYXMgdGhlIGZyZWUgc3BhY2UsIGFuZCBhbHNvIHdoZW4gdGhlIGZyZWUgc3BhY2Ugd2FzCgkgIHRvbyBzbWFsbC4gVGhpcywgYXMgaXQgdHVybnMgb3V0LCBpcyBhIHZlcnkgY29tbW9uIHNjZW5hcmlvIHdpdGgKCSAgRGlyZWN0c291bmQgb24gV2luZG93cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY4MQoJICBXZSBoYXZlIHRvIGRvIHBvbGxpbmcgaGVyZSBiZWNhdXNlIHRoZSBldmVudCBub3RpZmljYXRpb24gQVBJIHRoYXQKCSAgRGlyZWN0c291bmQgZXhwb3NlcyBjYW5ub3QgYmUgdXNlZCB3aXRoIGxpdmUgcGxheWJhY2sgc2luY2UgYWxsIGV2ZW50cwoJICBtdXN0IGJlIHJlZ2lzdGVyZWQgaW4gYWR2YW5jZSB3aXRoIHRoZSBjYXB0dXJlIGJ1ZmZlciwgeW91IGNhbm5vdAoJICBhZGQvcmVtb3ZlIHRoZW0gb25jZSBwbGF5YmFjayBoYXMgYmVndW4uIERpcmVjdHNvdW5kc3JjIGhhZCB0aGUgc2FtZQoJICBwcm9ibGVtLgoJICBTZWUgYWxzbzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTI0OQoKMjAxNy0wNS0wMyAyMzozMTowMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IENsZWFuIHVwIHNvbWUgZGVidWcgbG9nZ2luZwoJICBEb24ndCBuZWVkIHRvIHByaW50IHRoZSBmdW5jdGlvbiBuYW1lLCBnc3RyZWFtZXIgZG9lcyBpdCBmb3IgeW91LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjgxCgoyMDE3LTA1LTA2IDIyOjMwOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIGluZGV4IG1lbW9yeSB1c2FnZQoJICBSZS1hcnJhbmdlIG9yZGVyIG9mIGluZGV4IGVudHJ5IHN0cnVjdCBtZW1iZXJzIHRvIGF2b2lkIHBhZGRpbmcKCSAgYnl0ZXMgaW4gdGhlIG1pZGRsZSBvZiB0aGUgc3RydWN0LCB0aHVzIHBvdGVudGlhbGx5IHJlZHVjaW5nIHRoZQoJICBvdmVyYWxsIHNpemUgb2YgdGhlIHN0cnVjdCBhbmQgcmVkdWNpbmcgbWVtb3J5IHVzZWQgYnkgdGhlIGluZGV4LgoJICBPbiBMaW51eCB4ODZfNjQgdGhlIHNpemUgZ29lcyBkb3duIGZyb20gMzIgYnl0ZXMgdG8gMjQgYnl0ZXMgZm9yCgkgIGVhY2ggaW5kZXggZW50cnkuCgoyMDE3LTA1LTA0IDE4OjU5OjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBtZXNvbi5idWlsZDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xMi4wID09PQoKMjAxNy0wNS0wNCAxNTozODozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjEyLjAKCjIwMTctMDUtMDQgMTU6MDc6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2Z1ci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wNS0wNCAxMzo0NzoyMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wNS0wMiAxMDozMjozMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNyYXNoIG9uIG1zcyBzdHJlYW0gY2F1c2VkIGJ5IGludmFsaWQgc3RzZCBlbnRyeSBhY2Nlc3MKCSAgU2luY2UgbXNzIGhhcyBubyBtb292LCBkZWZhdWx0IHN0c2QgZW50cnkgc2hvdWxkIGJlIGNyZWF0ZWQgd2l0aCBtZWRpYS1jYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyMDQyCgo9PT0gcmVsZWFzZSAxLjExLjkxID09PQoKMjAxNy0wNC0yNyAxNzoyOTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjExLjkxCgoyMDE3LTA0LTI3IDE1OjU4OjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9mdXIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTctMDQtMjcgMTU6Mjg6MDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lbC5wbzoKCSogcG8vZnVyLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wNC0yNyAxMjo1NjoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBjcmFzaCBpbiBkZWJ1ZyBvdXRwdXQgaWYgc3RyZWFtPT1OVUxMCgkgIFRoYXQgY2FzZSBpcyBjb3JyZWN0bHkgaGFuZGxlZCBiZWxvdyBidXQgbm90IGluIHRoZSBkZWJ1ZyBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEyNzAKCjIwMTctMDQtMjUgMTc6MTE6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgcGVyZm9ybSBzZWVrcyB3aXRoIGluY29uc2lzdGVudCBzZWVrIHZhbHVlcwoJICBJZiBnc3Rfc2VnbWVudF9kb19zZWVrKCkgZmFpbHMsIHdlIHNob3VsZG4ndCB0cnkgc2Vla2luZyBvbiB0aGF0CgkgIHJlc3VsdGluZyBzZWdtZW50IGJ1dCBqdXN0IGVycm9yIG91dC4gQ3Jhc2hlcyBmdXJ0aGVyIGRvd24gdGhlIGxpbmUKCSAgb3RoZXJ3aXNlLgoKMjAxNy0wNC0yNCAyMDoyNzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjBhZWVmNiB0byA0OGE1ZDg1CgoyMDE3LTA0LTI0IDE3OjMxOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRkIHRlc3QgZm9yIHJ0cGgyNjRkZXBheSBhdmMvYnl0ZS1zdHJlYW0gb3V0cHV0CgkgIE1ha2Ugc3VyZSBhdmMgb3V0cHV0IGRvZXNuJ3QgY29udGFpbiBTUFMvUFBTIGlubGluZSwgYnV0CgkgIGJ5dGUtc3RyZWFtIG91dHB1dCBkb2VzLgoKMjAxNy0wNC0yNCAxNzoyOTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZG9uJ3QgaW5zZXJ0IFNQUy9QUFMgaW5saW5lIGZvciBBVkMgb3V0cHV0CgkgIFNQUy9QUFMgYXJlIGluIHRoZSBjYXBzIGluIHRoaXMgY2FzZSBhbmQgc2hvdWxkbid0IGJlIGluCgkgIHRoZSBzdHJlYW0gZGF0YS4KCjIwMTctMDQtMjEgMTk6MDk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIHByb3ZpZGVfY2xvY2soKSBpbXBsZW1lbnRhdGlvbgoJICBJZiBubyBjbG9jayB3YXMgcHJvdmlkZWQgZGlyZWN0bHkgYnkgcnRzcHNyYy4gVGhpcyBiZWhhdmlvdXIgd2FzIHJlbW92ZWQKCSAgYnkgZjgwMTM0ODdjOTFhNmZmYzU1MmE0YjI1YWExYTcwZjBiZDUzNzdmOCBhbmQgcmVzdWx0cyBpbiBydHNwc3JjIG5vdAoJICBwcm92aWRpbmcgdGhlIHN5c3RlbSBjbG9jayB2aWEgdGhlIHJ0cGppdHRlcmJ1ZmZlci4KCSAgQXMgYSByZXN1bHQsIGlmIGFub3RoZXIgZWxlbWVudCBsaWtlIGFuIGF1ZGlvIHNpbmssIHByb3ZpZGVzIGEgY2xvY2ssCgkgIHRoZSBwaXBlbGluZSB3b3VsZCBzZWxlY3QgdGhhdCAod2hlbiBnb2luZyB0byBQQVVTRUQvUExBWUlORyBhZ2FpbiBsYXRlcikuCgkgIEF1ZGlvIGNsb2NrcyB1c3VhbGx5IGRvbid0IHByb2dyZXNzIGluIFBBVVNFRCwgYW5kIHRodXMgb3VyIGxpdmUgc291cmNlCgkgIHdvbid0IGJlIGFibGUgdG8gdXNlIHRoZSBjbG9jayB0byBwcm9kdWNlIGRhdGEsIG1ha2luZyB0aGUgc2luayBuZXZlcgoJICBwcmVyb2xsIGFuZCBldmVyeXRoaW5nIGlzIHN0dWNrLgoKMjAxNy0wNC0yMCAxMToyMjoxNSArMDIwMCAgSsO8cmdlbiBTYWNocyA8anVlcmdlbi5zYWNoc0BtZXR6LWNlLmRlPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc2V0IHNhbXBsZV9kZXNjcmlwdGlvbl9pZCB0byBkZWZhdWx0CgkgIEZpeGVzIHN0cmVhbSB3aGVyZSBzYW1wbGVfZGVzY3JpcHRpb25faWQgaXMgc3BlY2lmaWVkIGluIHRoZSB0ZmhkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgzMzcKCjIwMTctMDQtMjAgMTM6MTY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IERvbid0IHVzZSBhbiBleHBsaWNpdCBuYW1lIGZvciByZXF1ZXN0aW5nIGF1ZGlvIHBhZHMKCSAgLi4uIHVubGVzcyB0aGUgbXV4ZXIgdXNlcyB0aGUgc2FtZSBhdWRpbyBwYWQgdGVtcGxhdGUgbmFtZSBhcwoJICBzcGxpdG11eHNpbmsuIFdlIGNhbid0IHJlcXVlc3QgYSBwYWQgY2FsbGVkICJhdWRpb18wIiBvbiBhIG11eGVyIHRoYXQKCSAgd2FudHMgcGFkcyB0byBiZSAic2lua18lZCIuCgoyMDE3LTAyLTIzIDA5OjMxOjM2ICswOTAwICBDaGFuZ0JvayBDaGFlIDxjaGFuZ2Jvay5jaGVhQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlbW92ZSBkdXBsaWNhdGVkIHNlZ21lbnQgaW5pdGlhbGl6YXRpb24KCSAgSXQncyBhbHNvIGRvbmUgaW4gZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkxMDYKCjIwMTctMDQtMjAgMjA6MTc6MzUgKzEwMDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogQ29ycmVjdGx5IGNhdGNoIEZMVVNIIGV2ZW50cyBpbiBwcm9iZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQ5OAoKMjAxNy0wNC0xOSAxMjoyODoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJldmVydCAicnRwYmluOiBwaXBlbGluZSBnZXRzIGFuIEVPUyB3aGVuIGFueSBydHBzb3VyY2VzIGJ5ZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWVlYTJhN2ZlODhhMTdiMTUzMThkNWI2YWU2ZTE5MGIyZjc3NzAzMC4KCSAgSXQgYnJlYWtzIEVPUyBpbiBzb21lIHNlbmRlciBwaXBlbGluZXMsIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE4I2MyMAoKMjAxNy0wNC0xNCAxNzowMTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZXNldCBhZGFwdGVyIGluIG1vcmUgZGlzY29udGludWl0eSBjYXNlcwoJICBJbiBwdXNoIG1vZGUgd2UgcHJvY2VzcyBhcyBtdWNoIGFzIHBvc3NpYmxlIGluIHRoZSBhZGFwdGVyLiBXaGVuIHdlIHJlY2VpdmUKCSAgYSBESVNDT05UIGJ1ZmZlciB3aGljaCB3ZSBjYW4ndCBtYXRjaCB0byBhbiBhY3R1YWwgc2FtcGxlIChiYXNlZCBvbiB0aGUgZXhpc3RpbmcKCSAgc2FtcGxlIHRhYmxlKSBhbmQgdGhlcmUgaXMgc3RpbGwgZGF0YSByZW1haW5pbmcgaW4gdGhlIGluY29taW5nIGFkYXB0ZXIsdGhlcmUgaXMKCSAgb25lIG9mIHR3byBjYXNlcyBoYXBwZW5pbmc6CgkgIDEpIFdlIGFyZSBkb2luZyByZXZlcnNlIHBsYXliYWNrLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZCBmbHVzaCBvdXQgYWxsIHBlbmRpbmcKCSAgZGF0YQoJICAyKSBXZSBoYXZlIGxlZnRvdmVyIGRhdGEgZnJvbSB0aGUgcHJldmlvdXMgaW5jb21pbmcgYnVmZmVyLi4uIHdoaWNoIHdlIGNhbid0IGRvCgkgIGFueXRoaW5nIGFib3V0LgoJICBGb3IgdGhlIHNlY29uZCBjYXNlLCBtYWtlIHN1cmUgd2UgZmx1c2ggb3V0IHRoZSByZW1haW5pbmcgZGF0YSBzbyB0aGF0IHdlIGNhbiBzdGFydAoJICBwYXJzaW5nIGFnYWluIGZyb20gc2NyYXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTMxOQoKMjAxNy0wNC0xNCAxMDo1Njo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXNlIEdTVF9FTEVNRU5UX0VSUk9SX1dJVEhfREVUQUlMUwoJICBBbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIGtub3cgdGhlIGV4YWN0IHN0YXR1cyBjb2RlIHRoYXQgd2FzIHJldHVybmVkCgkgIGJ5IHRoZSBzZXJ2ZXIgaW4gYSBwcm9ncmFtbWF0aWMgZmFzaGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTMwNAoKMjAxNy0wNC0xNiAxODo0Nzo1NiArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGxlYWsgb24gUXREZW11eFN0cmVhbVN0c2RFbnRyeQoJICBGaXggdW5pdCB0ZXN0IGZhaWx1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTM2MgoKMjAxNy0wNC0xNCAxMzozODo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggdGltZXNjYWxlIG9mIHRpbWVjb2RlIHRyYWNrcwoJICBUaGV5IHNob3VsZCBoYXZlIGlkZWFsbHkgdGhlIHNhbWUgdGltZXNjYWxlIG9mIHRoZSB2aWRlbyB0cmFjaywgd2hpY2ggd2UKCSAgY2FuJ3QgZ3VhcmFudGVlIGhlcmUgYXMgaW4gdGhlb3J5IHRpbWVjb2RlIGNvbmZpZ3VyYXRpb24gYW5kIHZpZGVvCgkgIGZyYW1lcmF0ZSBjb3VsZCBiZSBkaWZmZXJlbnQuIEhvd2V2ZXIgd2Ugc2hvdWxkIHNldCBhIGNvcnJlY3QgdGltZXNjYWxlCgkgIGJhc2VkIG9uIHRoZSBmcmFtZXJhdGUgZ2l2ZW4gaW4gdGhlIHRpbWVjb2RlIGNvbmZpZ3VyYXRpb24sIGFuZCBub3QganVzdAoJICB1c2UgdGhlIGZyYW1lcmF0ZSBudW1lcmF0b3IuCgoyMDE3LTA0LTEzIDEzOjI1OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFByb3Blcmx5IHJlc2V0IGRlbXV4ZXIgd2hlbiBhbGwgc3RyZWFtcyBhcmUgRU9TCgkgIE1ha2Ugc3VyZSBvZmZzZXQgYW5kIG5lZWRlZGJ5dGVzIGFyZSBwcm9wZXJseSByZXNldHRlZCB3aGVuIGFsbAoJICBzdHJlYW1zIGFyZSBFT1MgaW4gcHVzaC1tb2RlLgoJICBBdm9pZHMgY2FzZXMgd2hlbiBzb21lIGRhdGEgbWlnaHQgc3RpbGwgYmUgcHVzaGVkIGJ5IHVwc3RyZWFtIChiZWNhdXNlCgkgIGl0IGRpZG4ndCB5ZXQgc2VlIHRoZSByZXN1bHRpbmcgR1NUX0ZMT1dfRU9TIHlldCkgYW5kIHF0ZGVtdXggZ2V0cwoJICBjb21wbGV0ZWx5IGxvc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEyNjYKCjIwMTctMDQtMTMgMDg6MDA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogTWFrZSBtb3JlIHVzYWdlIG9mIGVycm9yIG1hY3JvCgkgIEFuZCBtYWtlIHN1cmUgd2UgYWN0dWFsbHkgdXNlIHRoZSBwcm92aWRlZCBzb3VwX21zZyBhcmd1bWVudCBpbiB0aGUgbWFjcm8KCjIwMTctMDMtMDggMTU6MDE6MTMgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBkb2NzOiBQb3J0IGFsbCBkb2NzdHJpbmcgdG8gZ3RrLWRvYyBtYXJrZG93bgoKMjAxNy0wNC0xMiAxODo0Njo1MyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogUHJpbnQgbWVzc2FnZSB3aGVuIGRpc2FibGluZyB0YWdsaWIgb24gTVNWQwoKMjAxNy0wNC0xMiAxMzoyNjo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IGZvcmdldCB0byB1cGRhdGUgcGFkLT5sYXN0X2J1ZgoJICBidWYgaXMgdGhlIGN1cnJlbnQgcGFkLT5sYXN0X2J1ZiB2YWx1ZS4gSWYgZXZlciBpdCBnZXRzIGNvcGllZC91bnJlZmZlZCwKCSAgd2UgbmVlZCB0byBtYWtlIHN1cmUgdG8gd3JpdGUgYmFjayB0aGUgbmV3ICBwb2ludGVyIHRvIHRoZSBsYXN0X2J1ZgoJICB2YXJpYWJsZS4KCSAgRml4ZXMgdXNpbmcgd3JvbmcgcG9pbnRlciB2YWx1ZXMgaW4gdGhlIGNhc2Ugb2YgZGVjcmFzaW5nIERUUyB2YWx1ZQoKMjAxNy0wNC0xMiAxMTozMzowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBBZGQgdnA5ZW5jIHRvIGdpdGlnbm9yZQoKMjAxNy0wNC0xMSAxMzo0MTo0OCArMDIwMCAgSsO8cmdlbiBTYWNocyA8anVlcmdlbi5zYWNoc0BtZXR6LWNlLmRlPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeDogc2FtcGxlIGRlc2NyaXB0aW9uIGluZGV4IG92ZXJyaWRlIGluIHRmaGQgbm90IGV2YWx1YXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MzM3CgoyMDE3LTA0LTEyIDExOjAzOjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBvdXQtb2YtYm91bmQgY2hlY2sKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgaW52YWxpZCBtZW1vcnkKCjIwMTYtMDQtMjcgMTI6MTc6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3ZlIHBhcnNpbmcgb2YgdGtoZCBvdXQgb2Ygc3RzZCBlbnRyeSBsb29wCgkgIEl0IG5lZWRzIG9ubHkgdG8gYmUgcmVhZCBvbmNlLgoKMjAxNi0wNC0wNyAxMjoyMzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIGZvciBhIGRpZmZlcmVudCBzdHNkIGVudHJ5IGJlZm9yZSBwdXNoaW5nIGEgc2FtcGxlCgkgIEJlZm9yZSBwdXNoaW5nIGEgc2FtcGxlLCBjaGVjayBpZiB0aGVyZSB3YXMgYSBjaGFuZ2UgaW4gdGhlIGN1cnJlbnQKCSAgc3RzZCBlbnRyeS4gVGhpcyBwYXRjaCBhbHNvIGFzc3VtZXMgdGhhdCB0aGUgZmlyc3Qgc3RzZCBlbnRyeSBpcwoJICB1c2VkIGFzIGRlZmF1bHQgZm9yIHRoZSBmaXJzdCBzYW1wbGUuIEl0IG1pZ2h0IGNhdXNlIGFuIHVuZWVkZWQKCSAgY2FwcyByZW5lZ290aWF0aW9uIHdoZW4gdGhpcyBpc24ndCB0aGUgY2FzZS4KCjIwMTYtMDQtMDYgMTI6NTU6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXJzZSBhbGwgc3RzZCBlbnRyaWVzCgkgIHN0c2QgY2FuIGhhdmUgbXVsdGlwbGUgZm9ybWF0IGVudHJpZXMsIHBhcnNlIHRoZW0gYWxsLgoJICBUaGlzIGlzIHJlcXVpcmVkIHRvIHBsYXkgRFZCIERBU0ggcHJvZmlsZSB0aGF0IHVzZXMgbXVsdGlwbGUgZW50cmllcwoJICB0byBpZGVudGlmeSB0aGUgZGlmZmVyZW50IGF2YWlsYWJsZSBiaXRyYXRlcy9vcHRpb25zIG9uIGRhc2ggc3RyZWFtcwoJICBUaGUgc3RyZWFtIGZvcm1hdC1zcGVjaWZpYyBkYXRhIGlzIG5vdCBzdG9yZWQgaW50byBRdERlbXV4U3RyZWFtU3RzZEVudHJ5CgoyMDE2LTA0LTA1IDE0OjM0OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmV3b3JrIHN0c2Qgc2FtcGxlIGVudHJpZXMgYWNjZXNzCgkgIEluc3RlYWQgb2YgdXNpbmcgdGhlIHN0c2QgYXMgYSBiYXNlIHBvaW50ZXIsIHVzZSB0aGUgYWN0dWFsIHN0c2QKCSAgZW50cnkgYXMgdGhlIHN0c2QgY2FuIGhhdmUgbXVsdGlwbGUgZW50cmllcy4gVGhpcyBpcyByYXJlbHkgdXNlZAoJICBmb3IgZmlsZSBwbGF5YmFjayBidXQgaXMgYSBwb3NzaWJsZSBwcm9maWxlIHdpdGggaW4gRFZCIERBU0ggc3BlY3MuCgkgIFRoaXMgc3RpbGwgZG9lc24ndCBzdXBwb3J0IHN0c2Qgd2l0aCBtdWx0aXBsZSBlbnRyaWVzIGJ1dCBtYWtlcyBpdAoJICBlYXNpZXIgdG8gZG8gc28uCgoyMDE2LTA0LTA1IDE4OjAwOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZ2V0IHN0c2QgY2hpbGQgYnkgaW5kZXggaW5zdGVhZCBvZiB0eXBlCgkgIFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIGNoaWxkcmVuIHdpdGggdGhlIHNhbWUgdHlwZQoKMjAxNy0wNC0wNyAxNjozMzoxOCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjay9ydHBydHg6IGFkZCBjaGVja3MgZm9yIHJ0cHJ0eHF1ZXVlJ3MgbWF4LXNpemUte3RpbWUscGFja2V0c30gcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwODY3CgoyMDE3LTA0LTA0IDE3OjMzOjMxICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuaDoKCSAgcnRwcnR4cXVldWU6IGltcGxlbWVudCBoYW5kbGluZyBvZiB0aGUgbWF4LXNpemUtdGltZSBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwODY3CgoyMDE3LTA0LTEwIDIzOjQ5OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzOWFjMmY1IHRvIDYwYWVlZjYKCjIwMTctMDQtMTAgMDg6NTY6MDAgKzAwMDAgIFRvZG9yIFRvbW92IDx0b2Rvci50b21vdkBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMm9iamVjdDogQ29weSB0aW1lc3RhbXAgd2hlbiBpbXBvcnRpbmcgYnVmZmVycwoJICBUaGlzIGlzIG5lZWRlZCBmb3IgVjRMMl9PVVRQVVQgaW50ZXJmYWNlLCBhbmQgaXMgaGFybWxlc3Mgb2YKCSAgVjRMMl9DQVBUVVJFIGludGVyZmFjZXMuIFRoaXMgd2lsbCBmaXggdGltZXN0YW1wIGluIGNhc2VzIGxpa2U6CgkgIHY0bDJzcmMgaW8tbW9kZT1kbWFidWYgISB2NGwydmlkZW9OZW5jIG91dHB1dC1pby1tb2RlPWRtYWJ1Zi1pbXBvcnQgISAgLi4uCgkgIFNhbWUgYXBwbHkgZm9yIHVzZXJwdHIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODExMTkKCjIwMTctMDQtMTAgMTU6NTU6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggbGFzdF9kdHMgdHJhY2tpbmcgZm9yIHJhdyBhdWRpbyBhbmQgc2ltaWxhciBmb3JtYXRzCgkgIEFjY3VtdWxhdGUgdGhlIGR1cmF0aW9ucyBkaXJlY3RseSBhbmQgZG9uJ3Qgc2NhbGUgeWV0IGFub3RoZXIgdGltZSBieQoJICB0aGUgbnVtYmVyIG9mIHNhbXBsZXMuCgoyMDE3LTA0LTA3IDEwOjQ4OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHRlc3RzOiBmaXggbGVhayBpbiBzcGxpdG11eCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEwMjUKCjIwMTctMDQtMDcgMTU6Mjk6NDMgKzA4MDAgIEx5b24gV2FuZyA8bHlvbi53YW5nQG54cC5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IFNjYWxlIEdBUCBldmVudCB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uIGxpa2UgZm9yIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTAwOAoKMjAxNy0wMi0xNyAxMDowMTowOCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDJkZWM6IEZpeCByYWNlIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkKCSAgUnVubmluZyBgZ3N0LXZhbGlkYXRlLWxhdW5jaGVyIC10IHZhbGlkYXRlLmZpbGUucGxheWJhY2suY2hhbmdlX3N0YXRlX2ludGVuc2l2ZS52b3JiaXNfdnA4XzFfd2VibWAKCSAgb24gb2Ryb2lkIFhVNCAoczVwLW1mYyB2NGwyIGRyaXZlcikgb2Z0ZW4gbGVhZHMgdG86CgkgIEVSUk9SOi4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWdvb2Qvc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6MjE1OmdzdF92NGwyX3ZpZGVvX2RlY19zdG9wOiBhc3NlcnRpb24gZmFpbGVkOiAoZ19hdG9taWNfaW50X2dldCAoJnNlbGYtPnByb2Nlc3NpbmcpID09IEZBTFNFKQoJICBUaGlzIGhhcHBlbnMgd2hlbiB0aGUgZm9sbG93aW5nIHJhY2UgaGFwcGVuczoKCSAgLSBUMDogTWFpbiB0aHJlYWQKCSAgLSBUMTogVXBzdHJlYW0gc3RyZWFtaW5nIHRocmVhZAoJICAtIFQyLiB2NGwyZGVjIHByb2Nlc3NpbmcgdGhyZWFkKQoJICBbVGhlIGRlY29kZXIgaXMgaW4gUEFVU0VEIHN0YXRlXQoJICBUMC4gVGhlIHZhbGlkYXRlIHNjZW5hcmlvIHJ1bnMgYEV4ZWN1dGluZyAoMzYvNDApIHNldC1zdGF0ZTogc3RhdGU9bnVsbCByZXBlYXQ9NDBgCgkgIFQxLSBUaGUgZGVjb2RlciBoYW5kbGVzIGEgZnJhbWUKCSAgVDItIEEgZGVjb2RlZCBmcmFtZSBpcyBwdXNoIGRvd25zdHJlYW0KCSAgVDItIERvd25zdHJlYW0gcmV0dXJucyBGTFVTSElORyBhcyBpdCBpcyBhbHJlYWR5IGZsdXNoaW5nIGNoYW5naW5nIHN0YXRlCgkgIFQyLSBUaGUgZGVjb2RlciBzdG9wcyBpdHMgcHJvY2Vzc2luZyB0aHJlYWQgYW5kIHNldHMgYC0+cHJvY2Vzc2luZyA9IEZBTFNFYAoJICBUMS0gVGhlIGRlY29kZXIgaGFuZGxlcyBhbm90aGVyIGZyYW1lCgkgIFQxLSBgLT5wcm9jZXNzYCBpcyBGQUxTRSBzbyB0aGUgZGVjb2RlciByZXN0YXJ0cyBpdHMgc3RyZWFtaW5nIHRocmVhZAoJICBUMC0gSW4gdjRsMmRlYy0+IHN0b3AgdGhlIHByb2Nlc3NpbmcgdGhyZWFkIGlzIHN0b3BwZWQKCSAgTk9URTogQXQgdGhpcyBwb2ludCB0aGUgcHJvY2Vzc2luZyB0aHJlYWQgbG9vcCBuZXZlciBzdGFydGVkLgoJICBUMC0gYXNzZXJ0aW9uIGZhaWxlZDogKGdfYXRvbWljX2ludF9nZXQgKCZzZWxmLT5wcm9jZXNzaW5nKSA9PSBGQUxTRSkKCSAgSGVyZSBJIGFtIHJlbW92aW5nIHRoZSB3aG9sZSAtPnByb2Nlc3NpbmcgbG9naWMgdG8gYmFzZSBpdCBhbGwgb24gdGhlCgkgIEdzdFRhc2sgc3RhdGUgdG8gYXZvaWQgZHVwbGljYXRpbmcgdGhlIGtub3dsZWRnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODgzMAoKPT09IHJlbGVhc2UgMS4xMS45MCA9PT0KCjIwMTctMDQtMDcgMTY6MzE6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xMS45MAoKMjAxNy0wNC0wNyAxNToxODoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wNC0wNyAxNTowNjozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wNC0wNiAxMjowMTowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHN0cmVhbWxpbmUgYW5kIGltcHJvdmUgQXVkaW9TcGVjaWZpY0NvbmZpZyBwYXJzaW5nCgkgIEF1ZGlvU3BlY2lmaWdDb25maWcgaXMgdXNlZCBpbiBhIHZhcmlldHkgb2YgQUFDIHN0cmVhbXMgYnV0IHdhcwoJICBiZWluZyBwYXJzZWQgZGlmZmVyZW50bHkuIEluc3RlYWQsIG1ha2UgZXZlcnlvbmUgdXNlIHRoZSBzYW1lIHBhcnNpbmcuCgkgICogUmVtb3ZlIHVudXNlZCAnYml0cycgZmllbGQgKGl0IHdhcyBhbHdheXMgc2V0IHRvIDAgaWYgcHJlc2VudCkKCSAgKiBBZGQgcHJvcGVyIEdBQ29uZmlnIHBhcnNpbmcgKHRvIGtub3cgdGhlICBudW1iZXIgb2Ygc2FtcGxlcyBwZXIgZnJhbWUKCSAgaWYgcHJlc2VudCkuCgkgIEZpeGVzIHdyb25nIHJhdGUvY2hhbm5lbHMgY29uZmlndXJhdGlvbiBpbiBzdHJlYW1zIGNvbWluZyBmcm9tIHF0ZGVtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDk2NgoKMjAxNy0wNC0wNSAwOTo0NjozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRml4IDMyYml0IG9ubHkgcHJpbnRmIGZvcm1hdAoJICBUaGUgcHJldmlvdXMgcGF0Y2ggd2FzIHVzaW5nICVsbHUgZm9yIDY0Yml0cyBwcmludGYsIHdoaWNoIGlzIDMyYml0CgkgIHNwZWNpZmljLiBXZSBhbHNvIHRyYWNlIHRoZSBsYXRlbmN5IGluIHRpbWUgaHVtYW4gcmVhZGFibGUgZm9ybSBub3cuCgoyMDE2LTAzLTE2IDE2OjIyOjQ4ICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBzZXQgc3RyZWFtcGFybSBmb3Igb3V0cHV0cyB0aGF0IHN1cHBvcnQgaXQKCSAgV2l0aG91dCBhIHNwZWNpZmllZCBmcmFtZXJhdGUgZnJvbSB0aGUgc2luaywgdGhlIGRlY29kZXIgZnJhbWUgaW50ZXJ2YWwKCSAgc2hvdWxkIGJlIHNldCB1c2luZyB0aGUgZnJhbWVyYXRlIG9mIHRoZSBlbmNvZGVkIHZpZGVvIHN0cmVhbS4KCSAgVGhlcmVmb3JlLCB0aGUgdjRsMm9iamVjdCBzaG91bGQgYmUgYWJsZSB0byBjaGFuZ2UgdGhlIGZyYW1lcmF0ZSBvbiB0aGUKCSAgb3V0cHV0IGlmIHRoZSBWNEwyIGRldmljZSBhY2NlcHRzIGl0LgoJICBUaGlzIGlzIGFsc28gbmVjZXNzYXJ5IGZvciBtZW0ybWVtIGVuY29kZXJzIHNvIHRoYXQgdGhlaXIgYml0cmF0ZQoJICBjYWxjdWxhdGlvbiBjb2RlIG1heSB3b3JrIGNvcnJlY3RseSBhbmQgdGhleSBtYXkgcmVwb3J0IHRoZSBjb3JyZWN0CgkgIGZyYW1lIGR1cmF0aW9uIG9uIHRoZSBjYXB0dXJlIHF1ZXVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NDY2CgoyMDE2LTAzLTE2IDE2OjI0OjU1ICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogb25seSBzZXQgbGF0ZW5jeSBpZiB0aGUgZnJhbWUgZHVyYXRpb24gaXMgdmFsaWQKCSAgSWYgdGhlIGR1cmF0aW9uIG9mIHRoZSB2NGwyb2JqZWN0IGlzIEdTVF9DTE9DS19USU1FX05PTkUsIGJlY2F1c2UgdGhlCgkgIHNpbmsgZGlkIG5vdCBzcGVjaWZ5IGEgZnJhbWVyYXRlIGluIHRoZSBjYXBzIGFuZCB0aGUgZHJpdmVyIGFjY2VwdHMgdGhlCgkgIGZyYW1lcmF0ZSwgdGhlIGRlY29kZXIgZWxlbWVudCB1c2VzIEdTVF9DTE9DS19USU1FX05PTkUgdG8gY2FsY3VsYXRlIGFuZAoJICBzZXQgdGhlIGVsZW1lbnQgbGF0ZW5jeS4KCSAgV2hpbGUgdGhpcyBpcyBhIGJ1ZyBvZiB0aGUgY2FwdHVyZSBkcml2ZXIsIHRoZSBkZWNvZGVyIGVsZW1lbnQgc2hvdWxkCgkgIG5vdCB1c2UgdGhlIGludmFsaWQgZHVyYXRpb24gdG8gY2FsY3VsYXRlIGEgbGF0ZW5jeSwgYnV0IHByaW50IGEgd2FybmluZwoJICBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NDY2CgoyMDE2LTExLTIzIDEyOjE3OjU1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IEJsb2NrIGluIHByZXJvbGxfd2FpdCBvbiB1bmxvY2sKCSAgVGhlIGNvcnJlY3QgYmVoYXZpb3VyIG9mIGFueXRoaW5nIHN0dWNrIGluIHRoZSAtPnJlbmRlcigpIGZ1bmN0aW9uCgkgIGJldHdlZW4gLT51bmxvY2soKSBhbmQgLT51bmxvY2tfc3RvcCgpIGlzIHRvIGNhbGwKCSAgZ3N0X2Jhc2Vfc2lua193YWl0X3ByZXJvbGwoKSBhbmQgb25seSByZXR1cm4gYW4gZXJyb3IgaWYgdGhpcyByZXR1cm5zIGFuCgkgIGVycm9yLCBvdGhlcndpc2UsIGl0IG11c3QgY29udGludWUgd2hlcmUgaXQgbGVmdCBvZmYhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ5NDUKCjIwMTctMDQtMDUgMTU6NTU6MjAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBBZGQgd2FybmluZ3MgZm9yIHVuc3VwcG9ydGVkIGZyYW1lIGZvcm1hdHMKCSAgQXQgbGVhc3Qgb3V0cHV0IGFuIGVsZW1lbnQgd2FybmluZyBvbiB0aGUgYnVzIHdoZW4gd2UKCSAgZW5jb3VudGVyIGEgZnJhbWUgZm9ybWF0IEdTdHJlYW1lciBkb2Vzbid0IGN1cnJlbnRseSBzdXBwb3J0LgoKMjAxNy0wNC0wNCAxNzo1NToxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEhhbmRsZSBQYXJhbWV0cmljIFN0ZXJlbyB3aXRoIEhFLUFBQyh2MikKCSAgQWNjb3JkaW5nIHRvIElTTy9JRUM6MTQ0OTYtMjoyMDA5ICwgaW4gdGhlIGNhc2Ugb2YgSEUtQUFDdjIgKGF1ZGlvT2JqZWNUeXBlCgkgIDI5KSBwYXJhbWV0cmljIHN0ZXJlbyBpcyB1c2VkIChhIHNpbmdsZSBtb25vIHRyYWNrIGlzIHVzZWQgYW5kIHRoZW4KCSAgdHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkIHRvIGl0IHRvIHByb3ZpZGUgYSBzdGVyZW8gb3V0cHV0KS4KCSAgV2UgdGhlcmVmb3JlIHJlcG9ydCB0d28gY2hhbm5lbHMgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlcmUgaXMgb25lIHJlcG9ydGVkCgkgIGluIHRoZSBhdWRpb0NoYW5uZWxDb25maWd1cmF0aW9uLgoJICBGaXhlcyB0aGUgdmFyaW91cyBpc3N1ZXMgd2hlcmUgYSBkZW11eGVyIHdvdWxkIHJlcG9ydCB0d28gY2hhbm5lbHMsIGJ1dAoJICB0aGVuIHRoZSBwYXJzZXIgd291bGQgc2F5IHRoZXJlJ3Mgb25seSBvbmUgY2hhbm5lbCwgYW5kIHRoZW4gdGhlIGRlY29kZXIKCSAgd291bGQgb3V0cHV0IHR3byBjaGFubmVscy4KCjIwMTctMDQtMDQgMTU6MjI6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBTaW1wbGlmeSBidWZmZXIgcmVmY291bnRpbmcgaW4gYWRkX2J1ZmZlcigpIGFuZCByZW1vdmUgdW5uZWVkZWQgTlVMTCBjaGVja3MKCjIwMTctMDQtMDQgMTU6MDg6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBTZWxlY3QgdGhlIGJlc3QgcGFkIGJhc2VkIG9uIHRoZSBjYWNoZWQgbGFzdF9idWYgaWYgYW55CgkgIGxhc3RfYnVmIGlzIHRoZSBvbmUgd2UncmUgZ29pbmcgdG8gd3JpdGUgbmV4dCwgbm90IGJ1Zi4gQXMgc3VjaCB3ZQoJICBzaG91bGQgY2hlY2sgdGltZXN0YW1wcyBhZ2FpbnN0IHRoYXQgb25lIGlmIHRoZXJlIGlzIG9uZSB0byBzZWxlY3QgdGhlCgkgIGVhcmxpZXN0IHBhZC4KCSAgQWxzbyByZW1lbWJlciB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHBhZCBpbiB0aGUgdmVyeSBiZWdpbm5pbmcgd2hlbgoJICBzdG9yaW5nIHRoZSBmaXJzdCBsYXN0X2J1Zi4KCSAgVGhpcyBib3RoIHNvbHZlcyBzb21lIGVkZ2UgY2FzZXMgd2hlcmUgbm90IHRoZSBjb3JyZWN0IG5leHQgcGFkIHdhcwoJICBzZWxlY3RlZCBjb3JyZXNwb25kaW5nIHRvIHRoZSB0YXJnZXQgaW50ZXJsZWF2ZS4KCjIwMTctMDQtMDQgMTU6MDc6NDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBFcnJvciBvdXQgaW1tZWRpYXRlbHkgaWYgYSB0aW1lY29kZSBpcyB0byBiZSB3cml0dGVuIGJ1dCBkb3duc3RyZWFtIHJldHVybiBub3QtT0sKCjIwMTctMDQtMDMgMTE6MzQ6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXBkYXRlIHZhcmlhYmxlcyBiZWZvcmUgZWFybHkgZXhpdAoJICBUaGlzIGlzIGFuIHVwZGF0ZSBvZiBkNzhkNTg5NjI3MmQ3OGRmNDFlNjk2ZmFjOTI5ZTdkZmIzYmIzZGZhCgkgIFdlIHN0aWxsIGV4aXQgYXMgZWFybHkgYXMgcG9zc2libGUgaW4gY2FzZSBvZiBub24tb2svbm9uLXVubGlua2VkIGNvbWJpbmVkCgkgIGZsb3csIGJ1dCB3ZSBmaXJzdCBtYWtlIHN1cmUgdGhhdCB3ZSB1cGRhdGUgdGhlIGludGVybmFsIHBvc2l0aW9uIHZhcmlhYmxlcy4KCSAgVGhpcyBlbnN1cmVzIHRoYXQgaWYgdXBzdHJlYW1zICJpZ25vcmVzIiB0aGUgZmxvdyByZXR1cm4gKGFuZCBjYXJyaWVzIG9uIHB1c2hpbmcpLAoJICB3ZSBkb24ndCBlbmQgdXAgcHJvY2Vzc2luZyBkYXRhIHdpdGggY29tcGxldGVseSBib2d1cyB2YXJpYWJsZXMvcG9zaXRpb25zLgoKMjAxNy0wMy0yNCAwMDoxMToxMyArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQGhhbG8uZ2VuLm56PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IGF2b2lkIHVzaW5nIHVuaW5pdGlhbGlzZWQgb3JkZXJpbmdfbWFwCgkgIElmIHNlbGYtPmNoYW5uZWxfcG9zaXRpb25zID09IE5VTEwgKHdoaWNoIHNlZW1zIHVubGlrZWx5KSwKCSAgc2VsZi0+ZGVmYXVsdF9jaGFubmVsc19vcmRlcmluZ19tYXAgd2lsbCBiZSB1c2VkIHVuaW50aWFsaXNlZC4KCSAgV2UgYXZvaWQgdGhhdCBieSBrZWVwaW5nIHRyYWNrIG9mIHRoZSBjaGFubmVsX21hc2ssIHdoaWNoIGlzIHNldCB3aGVuCgkgIHRoZSBvcmRlcmluZyBtYXAgaXMgaW5pdGlhbGlzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAzMzEKCjIwMTctMDMtMjMgMjM6NTY6MzEgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BoYWxvLmdlbi5uej4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZG9uJ3Qgb3ZlcmZsb3cgY2hhbm5lbCBtYXAgd2l0aCA+NjQgY2hhbm5lbHMKCSAgV2hlbiB0aGVyZSBhcmUgbW9yZSB0aGFuIDY0IGNoYW5uZWxzLCB3ZSBkb24ndCB3YW50IHRvIGV4Y2VlZCB0aGUKCSAgYm91bmRzIG9mIHRoZSBvcmRlcmluZ19tYXAgYnVmZmVyLCBhbmQgaW4gdGhlc2UgY2FzZXMgd2UgZG9uJ3Qgd2FudCB0bwoJICByZW1wYSBhdCBhbGwuIEhlcmUgd2UgYXZvaWQgZG9pbmcgdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDMzMQoKMjAxNy0wMy0yOCAxNDoyMzoxNiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IFVzZSBnZXRfcGtnY29uZmlnX3ZhcmlhYmxlIGluc3RlYWQgb2YgY2FsbGluZyBwa2ctY29uZmlnIG91cnNlbGYKCSAgSXQgaXMgYXZhbGFpYmxlIGluIG1lc29uIDAuMzYgd2hpY2ggaXMgbm93IGFyZSByZXF1aXJlbWVudAoKMjAxNy0wMy0yOCAxNDoyMjo0MSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC5wYy5pbjoKCSogcGtnY29uZmlnL21lc29uLmJ1aWxkOgoJICBwa2djb25maWc6IERvIG5vdCBldmVyIGJ1aWxkIGFuIGluc3RhbGxlZCAucGMgZmlsZQoKMjAxNy0wMy0yOCAxMToxNTo1MyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IHRlc3Q6IEZpeCBlbnZpcm9ubWVudCBvYmplY3QgdXNhZ2UKCjIwMTctMDMtMjggMTE6MTQ6NDcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLnBjLmluOgoJKiBwa2djb25maWcvbWVzb24uYnVpbGQ6CgkgIHBrZ2NvbmZpZzogR2VuZXJhdGUgdGhlIHBrZy1jb25maWcgd2l0aCBtZXNvbiB0b28KCjIwMTctMDMtMjcgMjE6NTI6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW4gZ2FwIG1vZGUsIGNvbnNpZGVyIHRoZSBtZGF0IG9mZnNldCB3aGVuIGNhbGN1bGF0aW5nIHRoZSByZW1haW5pbmcgbWRhdCBzaXplCgkgIFRoZSBtZGF0IGdlbmVyYWxseSBkb2VzIG5vdCBzdGFydCBhdCBvZmZzZXQgMCwgd2UgaGF2ZSB0byBpbmNsdWRlIHRoZQoJICBzaXplIG9mIHRoZSBtb29mIGFuZCB3aGF0ZXZlciBlbHNlIHdhcyBpbiBmcm9udCBvZiB0aGUgbWRhdC4KCjIwMTctMDMtMjcgMTE6NDM6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgYXRvbXNyZWNvdmVyeTogRXJyb3Igb3V0IHdoZW4gZnNlZWsoKSBmYWlscyBpbnN0ZWFkIG9mIHNpbGVudGx5IGlnbm9yaW5nCgkgIENJRCAxNDAzMjYyCgoyMDE3LTAzLTIzIDIyOjEzOjA1ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFsc28gYWRkIHZpZGVvbWV0YSBpZiB0aGVyZSBpcyBwYWRkaW5nIHRvIHRoZSByaWdodCBhbmQgYm90dG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0NzgKCjIwMTctMDMtMjEgMTI6NTQ6MjcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggb3V0cHV0IHNlZ21lbnQgYW5kIGJ1ZmZlciBEVFMgdG8gY29ycmVzcG9uZCB0byB0aGUgZmxhdHRlbmVkIFBUUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMzQ3CgoyMDE3LTAzLTIzIDE3OjUzOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBSZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE3LTAzLTIzIDE1OjAxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogUmVtb3ZlIGEgY291cGxlIG9mIHVubmVlZGVkIGxldmVscyBvZiBpbmRlbnRhdGlvbgoKMjAxNy0wMy0yMiAxODoxODo0MCArMDAwMCAgRW5yaXF1ZSBPY2HDsWEgR29uesOhbGV6IDxlb2NhbmhhQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZGlzdGluZ3Vpc2ggVEZEVCB3aXRoIHZhbHVlIDAgZnJvbSBubyBURkRUIGF0IGFsbAoJICBURkRUcyB3aXRoIHRpbWUgMCBhcmUgYmVpbmcgaWdub3JlZCBzaW5jZSBjb21taXQgMWZjM2Q0MmYuIFRoZXkncmUKCSAgbWlzdGFrZW4gd2l0aCB0aGUgY2FzZSBvZiBub3QgaGF2aW5nIFRGRFQsIGJ1dCB0aG9zZSB0d28gY2FzZXMKCSAgbXVzdCBiZSBkaXN0aW5ndWlzaGVkIGluIHNvbWUgd2F5LgoJICBUaGlzIHBhdGNoIHBhc3NlcyBhbiBleHRyYSBib29sZWFuIGZsYWcgd2hlbiB0aGUgVEZEVCBpcyBwcmVzZW50LgoJICBUaGlzIGlzIG5vdyB0aGUgY29uZGl0aW9uIGJlaW5nIGV2YWx1YXRlZCwgaW5zdGVhZCBvZiBjaGVja2luZyBmb3IKCSAgMCB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwNDEwCgoyMDE3LTAzLTIyIDE5OjE1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogUmVzZXQgY3VycmVudCBjaHVuayBhZnRlciB3cml0aW5nIG91dCB0aW1lY29kZQoJICBJZiB3ZSBoYXZlIG11bHRpcGxlIHRyYWNrcyB3aXRoIHRpbWVjb2Rlcywgb3IgaXQncyBub3QgdGhlIGZpcnN0IHRyYWNrCgkgIHRoYXQgaGFzIHRpbWVjb2Rlcywgb3Igbm90IHRoZSBmaXJzdCBidWZmZXIsIHdlIGFscmVhZHkgc3RhcnRlZCBhIGNodW5rCgkgIGZvciBtZWRpYSBkYXRhLiBXZSBub3cgbmVlZCB0byAiY2xvc2UiIHRoYXQgY2h1bmsgYmVjYXVzZSB3ZSB3cm90ZSBkYXRhCgkgIGZvciB0aGUgdGltZWNvZGUgdHJhY2sgYW5kIGEgbmV3IGNodW5rIGhhcyB0byBiZSBzdGFydGVkIGZvciB0aGUKCSAgb3JpZ2luYWwgdHJhY2sgdGhlIG5leHQgdGltZSBpdCBoYXMgZGF0YS4KCjIwMTctMDMtMjIgMTg6NTI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IERvIHRpbWVjb2RlIGhhbmRsaW5nIHBlciB0cmFjaywgbm90IHBlciBtdXhlciBpbnN0YW5jZQoJICBUaGVyZSBjb3VsZCBiZSBtdWx0aXBsZSB2aWRlbyB0cmFja3Mgd2l0aCB0aW1lY29kZXMuCgoyMDE3LTAzLTIyIDAwOjM4OjUxICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgcXRkZW11eDogbWF0cm9za2FkZW11eDogSWdub3JlIHJlcGVhdGVkIHNlZWsgZXZlbnRzCgkgIFNpbWlsYXIgdG8gd2hhdCB3YXMgZG9uZSBpbiBhZGFwdGl2ZWRlbXV4LCBpZ25vcmUgc2VlawoJICBldmVudHMgd2UndmUgYWxyZWFkeSBoYW5kbGVkIC0gc3VjaCBhcyB3aGVuIHRoZXkgYXJlIHJlY2VpdmVkCgkgIG9uIGV2ZXJ5IHNyY3BhZCBvZiBmaWxlcyB3aXRoIGxvdHMgb2Ygc3RyZWFtcy4KCjIwMTctMDMtMjEgMTQ6NTU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogVXBkYXRlIG1kYXRsZWZ0IGZyb20gb3ZlcmFsbCBtZGF0c2l6ZSBhbmQgb2Zmc2V0IHdoZW4gb2JzZXJ2aW5nIGEgZ2FwCgkgIE90aGVyd2lzZSBtZGF0bGVmdCB3aWxsIGhhdmUgYSB2YWx1ZSBjYWxjdWxhdGVkIGZyb20gdGhlIGluaXRpYWwKCSAgbWRhdHNpemUgbWludXMgdGhlIHBhcnRzIG9mIHRoZSBzdHJlYW0gdGhhdCB3ZSBzYXcsIHdoaWNoIGlzIG5vdAoJICBpbmNsdWRpbmcgYWxsIHRoZSBwYXJ0cyBvZiB0aGUgc3RyZWFtIHRoYXQgbWlnaHQndmUgYmVlbiBza2lwcGVkLgoKMjAxNy0wMy0yMCAxNzowMzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgZG9jczogdXBkYXRlIHR3byByZWZlcmVuY2VzIHRvIHRoZSByZW1vdmVkICdtYWQnIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MTQwCgoyMDE3LTAzLTIwIDEyOjAzOjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSAgcnRwcnR4cXVldWU6IGFkZCBiYXNpYyBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlIHBpcGVsaW5lcwoJICBNb3N0bHkgZXhwbGFpbmluZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJ0cHJ0eHF1ZXVlIGFuZCBydHBydHhzZW5kLgoKMjAxNy0wMy0xNyAyMDo1ODoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvbWVzb24uYnVpbGQ6CgkgIHY0bDI6IEZpeCBtZXNvbiBwbHVnaW4gc2hhcmVkIG9iamVjdCBuYW1lCgkgIEl0IGRpZG4ndCBtYXRjaCBiZXR3ZWVuIEF1dG9NYWtlIGFuZCBNZXNvbiwgYW5kIHRoZSBNZXNvbiBuYW1lCgkgIGRpZG4ndCBtYXRoIHRoZSBwbHVnaW4gbmFtZSAodmlkZW80bGludXgyKS4KCjIwMTctMDMtMTYgMTg6MjA6NTQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IGZpeCBleGFtcGxlIHBpcGVsaW5lcyBhbmQgaW1wcm92ZSB0aGUgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxMzgzCgoyMDE3LTAzLTE3IDE0OjEwOjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZml4IHBsYXliYWNrIGlmIHNhbXBsZSBudW1iZXIgZG9lcyBub3Qgc3RhcnQgYXQgMAoJICBUaGlzIHJldmVydHMgY29tbWl0IDI5YjgwNzY4NWQzYzk2MmJiZThhZmUzNTFjNWRjYTk3ZDU5ZWI1ZTAsIHdoaWxlCgkgIGZpeGluZyB0aGUgb3JpZ2luYWwgYnJlYWtpbmcgdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuCgoyMDE3LTAzLTE3IDExOjMwOjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIFJldmVydCAiZmxhY3BhcnNlOiBmaXggcGxheWJhY2sgaWYgc2FtcGxlIG51bWJlciBkb2VzIG5vdCBzdGFydCBhdCAwIgoJICBUaGlzIGJyZWFrcyBnc3QtdmFsaWRhdGUgb24gdGhlIGJ1aWxkIHNlcnZlciAodGhvdWdoIG5vdCBsb2NhbGx5KSwKCSAgYW5kIGEgdW5pdCB0ZXN0LCBhbmQgSSBjYW4ndCBydW4gdW5pdCB0ZXN0cyByaWdodCBub3cgZm9yIHNvbWUKCSAgdW5yZWxhdGVkIHJlYXNvbi4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwNzQ3YjU2ZjhlN2Y0NzMxZDY3ZjhkMTNhNGJkYzQ1M2RkZTBmZGY3LgoKMjAxNy0wMy0xNiAxNzo0NDo0MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcHJpbnQgdGhlIGNvcnJlY3QgdmFyaWFibGUgaW4gZGVidWcgc3RhdGVtZW50CgkgIFRoaXMgZGVidWcgc3RhdGVtZW50IGlzIG1lYW50IHRvIHByaW50IHRoZSB0aW1lIHNpbmNlIHRoZSBsYXN0IChlYXJseSkKCSAgUlRDUCB0cmFuc21pc3Npb24sIG5vdCB0aGUgbGFzdCByZWd1bGFyIFJUQ1AgdHJhbnNtaXNzaW9uICh3aGljaCBhbHNvCgkgIGhhcHBlbnMgdG8gYmUgc2V0IGEgZmV3IGxpbmVzIGFib3ZlIHRvIGN1cnJlbnRfdGltZSwgc28gdGhlIGRlYnVnIG91dHB1dAoJICBpcyBqdXN0IGNvbmZ1c2luZykKCjIwMTctMDMtMTYgMTc6NDI6MjcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGNvbnZlcnQgTE9HIG1lc3NhZ2UgdG8gVFJBQ0UKCSAgVGhpcyBpcyBwcmludGVkIHRvbyBvZnRlbiAoZm9yIGV2ZXJ5IGNoYWluZWQgYnVmZmVyISkgYW5kIGp1c3QgY2x1dHRlcnMgdGhlIGxvZ3MuCgoyMDE3LTAzLTE2IDE0OjU4OjQ1ICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGZpeCB3YXJuaW5nIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDEwNQoKMjAxNy0wMy0xNiAxMzo1NDo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGZpeCBwbGF5YmFjayBpZiBzYW1wbGUgbnVtYmVyIGRvZXMgbm90IHN0YXJ0IGF0IDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzczOAoKMjAxNy0wMy0xNSAxODo1ODo1NSArMDEwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNvdXJjZTogZ2V0IGNsb2NrLXJhdGUgZnJvbSBwdCBpZiBuZWVkZWQgdG8gZ2VuZXJhdGUgU1IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDEwNQoKMjAxNy0wMy0xNiAxMzo1Mjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJbmNsdWRlIEdTdHJlYW1lciBzb3VwaHR0cHNyYyB2ZXJzaW9uIGluIGRlZmF1bHQgVXNlci1BZ2VudCBzdHJpbmcKCjIwMTctMDMtMTYgMDA6NDE6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGZpeCBjcmFzaCB3aXRoIGVtcHR5IHNwcm9wcy1wYXJhbWV0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAwNDAKCjIwMTctMDMtMTEgMjE6MjA6NDAgLTA4MDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5oOgoJICBhdG9tc3JlY292ZXJ5OiBhbHNvIGhhbmRsZSBleHRyYSBhdG9tcyBhZnRlciAnbWRpYScgaW4gYSAndHJhaycKCSAgVGFrZSBpbnRvIGFjY291bnQgdGhlIGF0b21zIGF0IHRoZSBlbmQgb2YgdGhlICd0cmFrJyBhdG9tIHdoZW4KCSAgcmVjb3ZlcmluZyBpdC4gU28gdGhhdCBpdHMgc2l6ZSAoYWxyZWFkeSBjb21wdXRlZCBhbmQgYWRkZWQgaW4gdGhlIHRyYWsKCSAgc2l6ZSkgaXNuJ3QgbWFraW5nIG9mZnNldHMgd3JvbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE0NzgKCjIwMTctMDMtMTEgMTI6NTY6MzMgLTA4MDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgZmFsbHRocm91Z2ggdG8gbW9vdnJlY292ZXJ5IGZhaWx1cmUgc2VjdGlvbgoJICBSZXR1cm4gYmVmb3JlIHRoYXQgdG8gcHJlc2VydmUgb3VyIHN1Y2Nlc3NmdWxsIHJlc3VsdHMsIG90aGVyd2lzZSBubwoJICBtb292IHJlY292ZXJ5IGluZm9ybWF0aW9uIHdvdWxkIGJlIHdyaXR0ZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTQ3OAoKMjAxNy0wMy0xMSAxMjoyNzoyOCAtMDgwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgYXRvbXNyZWNvdmVyeTogZXhwZWN0IG1vcmUgYXRvbSB0eXBlcyBhdCB0aGUgaGVhZGVycwoJICBTa2lwIG1vcmUgYXRvbXMgYXQgdGhlIGhlYWRlciB1bnRpbCBpdCBmaW5kcyB0aGUgJ21kYXQnIHRvIGNvbnRpbnVlIHRoZQoJICBtb292IHJlY292ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE0NzgKCjIwMTctMDMtMTQgMTY6NDI6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkgIHB1bHNlIGV4YW1wbGU6IFJlbW92ZQoJICBUaGF0IGV4YW1wbGUgb25seSB0ZXN0ZWQgdGhlIHByb3BlcnR5IHByb2JlIGludGVyZmFjZSwgd2hpY2ggaGFzIGJlZW4gcmVtb3ZlZC4KCSAgVGhlIHNhbWUga2luZCBvZiB0aGluZyBjYW4gbm93IGJlIGRvbmUgd2l0aCB0aGUgZ2VuZXJpYyBnc3QtZGV2aWNlLW1vbml0b3IgdG9vbC4KCjIwMTctMDMtMTQgMTY6Mzg6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IFJlbW92ZSB1bnVzZWQgbWFjcm8KCjIwMTctMDMtMTQgMTY6MzU6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogUmVtb3ZlIHVudXNlZCBkZWZpbml0aW9ucwoKMjAxNy0wMy0xNCAxMDoxMDoxOSArMDEwMCAgRW1lcmljIEdyYW5nZSA8ZWdyYW5nZUBnb3Byby5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdG11eDogYWRkIENpbmVGb3JtIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDAyNAoKMjAxNy0wMy0xNCAxNTowOTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE9ubHkgY3JlYXRlIG5ldyBjaHVua3MgaWYgd2UgaGF2ZSBtb3JlIHRoYW4gYSBzaW5nbGUgc3RyZWFtCgkgIFRoZXJlJ3Mgbm8gcG9pbnQgaW4gY3JlYXRpbmcgbXVsdGlwbGUgY2h1bmtzIG90aGVyd2lzZSwgaXQgb25seSB3YXN0ZXMKCSAgc29tZSBieXRlcyBmb3Igc3RvcmluZyB0aGUgY2h1bmsgb2Zmc2V0cy4KCjIwMTctMDMtMTQgMTA6MDk6NDYgKzAxMDAgIEVtZXJpYyBHcmFuZ2UgPGVncmFuZ2VAZ29wcm8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBTMTZMIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDAyMgoKMjAxNy0wMy0xNCAxNTo0ODowOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eCB0ZXN0OiBVc2UgcGFzc2VkIGZpcnN0L2xhc3QgdGltZXN0YW1wcwoJICBEb24ndCBoYXJkLWNvZGUgdGhlIGV4cGVjdGVkIHRpbWVzdGFtcCByYW5nZSwgdXNlIHRoZQoJICB2YWx1ZXMgdGhlIGNhbGxlciBpcyBwYXNzaW5nIGluLgoKMjAxNy0wMy0xNCAxNDoxNTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBnbDogR0xfQVJSQVlfQlVGRkVSIGlzIG5vdCBhIHBhcnQgb2YgVkFPIHN0YXRlCgkgIEFzIGEgcmVzdWx0IHdlIG5lZWQgdG8gYmluZCBpdCBvbiBldmVyeSBkcmF3IGluIG9yZGVyIHRvIGhhdmUgdGhlCgkgIGNvcnJlY3Qgc3RhdGUgaW4gdGhlIEdMIHN0YXRlIG1hY2hpbmUuCgoyMDE3LTAzLTEzIDE0OjI4OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRzcmMuY2M6CgkgIGdsL2Zvcm1hdDogdXNlIG91ciBvd24gR0wgZm9ybWF0IGVudW0ncyBpbnN0ZWFkIG9mIGdzdHZpZGVvJ3MKCSAgVGhleSBjYW4gZGVzY3JpYmUgaW4gbW9yZSBkZXRhaWwgKHN1Y2ggYXMgY29tcG9uZW50IHNpemVzKSB0aGUgcmVxdWVzdGVkIGZvcm1hdC4KCjIwMTctMDMtMTIgMTE6NDI6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgIEFkZCBvbGQgcGx1Z2luIG5hbWVzIHRvIGNydWZ0IGxpc3QKCSAgVGhpcyB3aWxsIGhlbHAgZml4aW5nIHVuaW5zdGFsbGVkIHNldHVwLiBBbHNvIGZpeCBtaXNzaW5nIHBhdGgKCSAgY29ycmVjdGlvbiBpbiBvbmUgb2YgdGhlIHBsdWdpbiB4bWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNDQKCjIwMTYtMTItMTUgMTI6Mzg6NDAgKzAxMDAgIE1pY2hhZWwgRHV0a2EgPG1haWxAbWljaGFlbC1kdXRrYS5kZT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheSwgcnRwaDI2NWRlcGF5OiByZW1vdmUgc3RyYXkgZ19kZWJ1ZygpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk4NTgKCjIwMTctMDMtMTAgMTE6MjQ6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogaW5pdCBmb3VyY2MKCSAgSW5pdGlhbGl6ZSB0aGUgZm91cmNjIHRvIDAgc28gdGhhdCB3ZSBjYW4gZGV0ZWN0IGZhaWx1cmUgbGF0ZXIuCgoyMDE3LTAzLTA4IDIyOjUwOjUyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgIHRlc3RzOiBBZGQgbWlzc2luZyBMREFERCBmb3IgbGlibSBpbiB0ZXN0cyB1c2luZyBtYXRoLmgKCSAgQWxzbywgcmVtb3ZlIHRoZSBtYXRoLmggaW5jbHVkZSBmb3IgdGhlIG9uZSB0aGF0IGp1c3QgcHJlbnRlbmQgdG8gbmVlZAoJICBpdC4KCjIwMTctMDMtMDggMjI6MTU6NDYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgRml4IHNob3V0MiBwbHVnaW4gZG9jIGdlbmVyYXRpb24KCSAgSW4gdGhlIHByZXZpb3VzIHBhdGNoLCB3ZSBhbHNvIHJlbmFtZWQgc2hvdXQyc2VuZCB0byBzaG91dDIsIHNvIGl0IGRvZXMKCSAgbm90IGNsYXNoIHdpdGggaXQncyBmZWF0dXJlLiBUaG91Z2ggd2UgZm9yZ290IHRvIHJlbmFtZSBpdCBpbiB0aGUgZG9jCgkgIHJlZmVyZW5jZS4gVGhpcyBwYXRjaCBhbHNvIGFkZCBhIGNydWZ0IGRldGVjdGlvbiBvbiB0aGUgeG1sIHRoYXQgbWFkZSBtZQoJICBtaXNzIHRoaXMgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNDQKCjIwMTctMDMtMDQgMTE6MDM6NTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0cGx1Z2luLmM6CgkgIFJlbmFtZSBwbHVnaW4gZmlsZXNuYW1lcyB0byBtYXRjaCBwbHVnaW4gbmFtZXMKCSAgLSBsaWJnc3RndGtzaW5rLnNvIC0+IGxpYmdzdGd0ay5zbwoJICAtIGxpYmdzdHRlbGV0ZXh0ZGVjLnNvIC0+IGxpYmdzdHRlbGV0ZXguc28KCSAgLSBsaWJnc3RjYW1lcmFiaW4yLnNvIC0+IGxpYmdzdGNhbWVyYWJpbi5zbwoJICAtIGxpYmdzdG9udmlmLnNvIC0+IGxpYmdzdHJ0cG9udmlmLnNvIChtZXNvbiBvbmx5KQoJICAtIHNkcCAtPiBzZHBlbGVtIChhdm9pZCBjbGFzaCB3aXRoIGxpYmdzdHNkcCkKCSAgLSBnc3RzaXJlbiAtPiBzaXJlbgoJICAtIGxpYmdzdGttc3Npbmsuc28gLT4gbGliZ3N0a21zLnNvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzNDQKCjIwMTctMDMtMDQgMTA6NTI6NDcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvbWVzb24uYnVpbGQ6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9tZXNvbi5idWlsZDoKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgIEZpeCBwbHVnaW4gZmlsZW5hbWVzIHRvIG1hdGNoIHBsdWdpbiBuYW1lcwoJICAtIGxpYmdzdHB1bHNlLnNvIGJlY29tZXMgbGliZ3N0cHVsc2VhdWRpby5zbwoJICAtIGxpYmdzdHNvdXBodHRwc3JjLnNvIGJlY29tZXMgbGliZ3N0c291cC5zbwoJICAtIGxpYmdzdG9zczRhdWRpby5zbyBiZWNvbWVzIGxpYmdzdG9zczQuc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM0NAoKMjAxNy0wMy0wOCAxNjowMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IEZyZWUgRURUUyBpbnN0ZWFkIG9mIGp1c3QgY2xlYXJpbmcgaXQgYW5kIHNldHRpbmcgaXQgdG8gTlVMTAoKMjAxNy0wMy0wOCAxNToyNzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHNvbWUgbWVtb3J5IGxlYWtzIHJlbGF0ZWQgdG8gdGltZWNvZGUgdHJhY2tzCgoyMDE3LTAzLTA0IDAwOjM0OjQ0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4OiBBZGQgdW5pdCB0ZXN0IGZvciByZXZlcnNlIHBsYXliYWNrCgkgIEVuc3VyZSB0aGF0IHJldmVyc2UgcGxheWJhY2sgd29ya3MgYW5kIGdlbmVyYXRlcyB0aGUgcmFuZ2UKCSAgb2YgdGltZXN0YW1wcyAoMC0zcykgd2UgZXhwZWN0LCBpbiBtb25vdG9uaWNhbGx5IGRlc2NlbmRpbmcgb3JkZXIuCgoyMDE3LTAyLTI4IDExOjUwOjQ1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEZpeCByZXZlcnNlIHBsYXliYWNrCgkgIEZpeCB0aGUgY2hlY2sgZm9yIHdoZXRoZXIgdGhlIHN0YXJ0IHRpbWUgb2YgdGhlIHNlZ21lbnQgaGFzCgkgIGJlZW4gcmVhY2hlZCB3aGVuIHBsYXlpbmcgaW4gcmV2ZXJzZS4gT3RoZXJ3aXNlLCBwbGF5YmFjawoJICBzdG9wcyBhZnRlciByZWFjaGluZyB0aGUgc3RhcnQgb2YgYW55IGZpbGUgcGFydCwgaW5zdGVhZCBvZgoJICBjb250aW51aW5nIHVudGlsIGFsbCBwYXJ0cyB3aXRoaW4gdGhlIHNlZ21lbnQgaGF2ZSBwbGF5ZWQKCjIwMTctMDItMjIgMDM6MDE6MzEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IGxvc2UgY3J5cHRvIGluZm8gb24gYSBuZXcgbW9vZgoJICBXZSBwYXJzZSB0aGUgbmV4dCBtb29mIGluIGFkdmFuY2Ugb2YgaGF2aW5nIHB1c2hlZAoJICBhbGwgc2FtcGxlcyBmcm9tIHRoZSBwcmV2aW91cyBvbmUgaW4gc29tZSBjYXNlcywgYW5kCgkgIHdlJ2xsIHN0aWxsIG5lZWQgdGhlIGNyeXB0byBpbmZvIGZyb20gdGhlIHByZXZpb3VzCgkgIGZyYWdtZW50IHNvIGtlZXAgYXJvdW5kIGFueSB1bnVzZWQgY3J5cHRvIGluZm8gZW50cmllcwoJICB3aGVuIGFkZGluZyBuZXcgb25lcwoKMjAxNy0wMi0yNyAxMzo1NTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVcGRhdGUgbW9kaWZpY2F0aW9uIHRpbWVzIHdoZW4gc2VuZGluZyB0aGUgbW9vdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NDIyCgoyMDE3LTAzLTAxIDE2OjExOjQ3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtbHJzbWl0aEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmg6CgkgIHNiY3BhcnNlOiBGaXggdXAgdmFsdWVzIGZvciBhbGxvY2F0aW9uIGVudW1lcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5Mzg5CgoyMDE3LTAyLTI4IDEzOjEwOjUwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBmaXggcG90ZW50aWFsIGxlYWsgb2Ygb2xkLCB1bmFzc29jaWF0ZWQsIGFzc29jaWF0aW9uIHJlcXVlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI1NjAKCjIwMTctMDItMjggMTU6NDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBpbmNyZW1lbnQgLTEgLyB1bnNldCBpbmRpY2VzCgkgIENJRCAxMzk4NTQ1CgoyMDE3LTAyLTI4IDE1OjIwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFByb3RlY3QgYWdhaW5zdCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgZm9yIHN0cmVhbXMgd2l0aG91dCBjYXBzCgkgIENJRCAxMzYzMzMyCgoyMDE3LTAyLTI4IDEyOjU3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEZyZWUgbWFjIG9uIGVycm9ycwoJICBDSUQgMTIxMjE0OQoKMjAxNy0wMi0yOCAxMjo0NToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogQWRkIG1pc3NpbmcgYnJlYWsgdG8gZm9yIGxvb3AKCjIwMTctMDItMjggMTE6MDI6NTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IEZpeCBzcGxpdG11eCB0ZXN0IENGTEFHUwoJICBOZWVkcyB0byBrbm93IHdoZXJlIHRoZSBnc3RhcHAgaGVhZGVycyBhcmUKCjIwMTctMDItMjcgMjE6MDI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjIDcKCSAgcXRkZW11eC5jOiBJbiBmdW5jdGlvbiDigJhxdGRlbXV4X3BhcnNlX3NhbXBsZXPigJk6CgkgIHF0ZGVtdXguYzo4NDUwOjM5OiBlcnJvcjog4oCYKuKAmSBpbiBib29sZWFuIGNvbnRleHQsIHN1Z2dlc3Qg4oCYJibigJkgaW5zdGVhZCBbLVdlcnJvcj1pbnQtaW4tYm9vbC1jb250ZXh0XQoJICBpZiAoc3RyZWFtLT5zYW1wbGVzX3Blcl9mcmFtZSAqIHN0cmVhbS0+Ynl0ZXNfcGVyX2ZyYW1lKSB7CgkgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKMjAxNy0wMi0yNyAyMTowMToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYyA3CgkgIGdzdG1wZWdhdWRpb3BhcnNlLmM6IEluIGZ1bmN0aW9uIOKAmGdzdF9tcGVnX2F1ZGlvX3BhcnNlX3Jlc2V04oCZOgoJICBnc3RtcGVnYXVkaW9wYXJzZS5jOjIwOTozOiBlcnJvcjog4oCYbWVtc2V04oCZIHVzZWQgd2l0aCBsZW5ndGggZXF1YWwgdG8gbnVtYmVyIG9mIGVsZW1lbnRzIHdpdGhvdXQgbXVsdGlwbGljYXRpb24gYnkgZWxlbWVudCBzaXplIFstV2Vycm9yPW1lbXNldC1lbHQtc2l6ZV0KCSAgbWVtc2V0IChtcDNwYXJzZS0+eGluZ19zZWVrX3RhYmxlX2ludmVyc2UsIDAsIDI1Nik7CgkgIF5+fn5+fgoJICBnc3RtcGVnYXVkaW9wYXJzZS5jOiBJbiBmdW5jdGlvbiDigJhnc3RfbXBlZ19hdWRpb19wYXJzZV9oYW5kbGVfZmlyc3RfZnJhbWXigJk6CgkgIGdzdG1wZWdhdWRpb3BhcnNlLmM6OTUxOjc6IGVycm9yOiDigJhtZW1zZXTigJkgdXNlZCB3aXRoIGxlbmd0aCBlcXVhbCB0byBudW1iZXIgb2YgZWxlbWVudHMgd2l0aG91dCBtdWx0aXBsaWNhdGlvbiBieSBlbGVtZW50IHNpemUgWy1XZXJyb3I9bWVtc2V0LWVsdC1zaXplXQoJICBtZW1zZXQgKG1wM3BhcnNlLT54aW5nX3NlZWtfdGFibGVfaW52ZXJzZSwgMCwgMjU2KTsKCSAgXn5+fn5+CgoyMDE3LTAyLTI3IDE5OjMxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBXaGVuIGdldHRpbmcgbmV3IGhlYWRlcnMsIHJlcGxhY2UgdGhlIG9sZCB2ZXJzaW9uIG9mIHRoZW0KCSAgVGhpcyBwcmV2ZW50cyBzdG9yaW5nIGFuIGluZmluaXRlIGFtb3VudCBvZiBlLmcuIGNvbW1lbnQgaGVhZGVycyBpZiB0aGV5CgkgIGNvbWUgd2l0aG91dCBhIG5ldyBpbml0aWFsaXphdGlvbiBoZWFkZXIgaW4gZnJvbnQgb2YgdGhlbS4gVGhlcmUgY2FuCgkgIG9ubHkgYmUgb25lIGhlYWRlciBvZiBlYWNoIHR5cGUuCgoyMDE3LTAyLTI3IDE5OjI1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cC1wYXlsb2FkaW5nOiBBZGQgbmV3IHRlc3QgZm9yIFZvcmJpcyByZW5lZ290aWF0aW9uCgkgIENoZWNrIGlmIGVuY29kaW5nLCBwYXlsb2FkaW5nLCBkZXBheWxvYWRpbmcgYW5kIGRlY29kaW5nIHdvcmtzIGlmIHRoZQoJICBzdHJlYW0gY29uZmlndXJhdGlvbiAoYW5kIHRodXMgdGhlIGhlYWRlcnMpIGNoYW5nZS4KCjIwMTctMDItMjcgMTk6MjQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IE9ubHkgcmVwbGFjZSBoZWFkZXJzIHdoZW4gcmVjZWl2aW5nIGEgbmV3IGNvbmZpZyBoZWFkZXIKCSAgSWYgd2UgYWxzbyByZXBsYWNlIGFsbCBoZWFkZXJzIHdoZW4gcmVjZWl2aW5nIGFueSBwb3NzaWJseSBmb2xsb3dpbmcKCSAgY29tbWVudHMgaGVhZGVyLCB3ZSB3b3VsZCB0aHJvdyBhd2F5IHRoZSBjb25maWcgaGVhZGVyIGJlZm9yZSBiZWluZyBhYmxlCgkgIHRvIG1ha2UgdXNlIG9mIGl0LgoKMjAxNy0wMi0yMyAxMjoxMToxNSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICB0ZXN0czogc3BsaXRtdXg6IGFkZCB1bml0IHRlc3QgZm9yIGNvbnRlbnQgd2l0aCBzcGFyc2Ugc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDg2CgoyMDE3LTAyLTIyIDExOjIzOjE5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhwYXJ0cmVhZGVyOiBpZ25vcmUgc3BhcnNlIHN0cmVhbXMgd2hlbiBjYWxjdWxhdGluZyB0aGUgZW5kIG9mZnNldCBvZiBhIHBhcnQKCSAgQSBzcGFyc2Ugc3RyZWFtJ3MgZW5kaW5nIHRpbWVzdGFtcCBjYW4gYmUgY29uc2lkZXJhYmx5IHNtYWxsZXIKCSAgdGhhbiB0aGUgZW5kaW5nIHRpbWVzdGFtcHMgb2YgdGhlIG90aGVyIHN0cmVhbXMsIHdoaWNoIGNhbiBsZWFkCgkgIHRvIHNraXBwaW5nIGNvbnNpZGVyYWJsZSB0aW1lIGZyb20gdGhlIG5leHQgcGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA4NgoKMjAxNy0wMi0yMiAxMToyMTowNiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4cGFydHJlYWRlcjogaWRlbnRpZnkgc3BhcnNlIHN0cmVhbXMKCjIwMTctMDItMTcgMTQ6Mzc6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHFtbDogQWRkIHN1cHBvcnQgZm9yIFZpdmFudGUgRUdMIEZTIHdpbmRvd2luZyBzeXN0ZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODgyNQoKMjAxNy0wMi0yNSAyMTo0NzowMyAtMDMwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICBVcGRhdGUgRWRnYXJkIExpbWEncyBlbWFpbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MjMwCgoyMDE3LTAyLTA4IDEzOjM2OjAwICswMDAwICBBbmRyZXcgPG5pZmlnYXNlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3QgYWx3YXlzIHJlc2V0IFBUUyB0byAwIGFmdGVyIGEgZ2FwCgkgIEluIGZ1bmN0aW9uIHJ0cF9qaXR0ZXJfYnVmZmVyX2NhbGN1bGF0ZV9wdHM6IElmIGdhcCBpbiBpbmNvbWluZyBSVFAKCSAgdGltZXN0YW1wcyBpcyBtb3JlIHRoYW4gKDMgKiBqYnVmLT5jbG9ja19yYXRlKSB3ZSBjYWxsCgkgIHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcgd2hpY2ggcmVzZXRzIHB0cyB0byAwLiBTbyBjb21wb25lbnRzIGRvd24KCSAgdGhlIHBpcGVsaW5lIChwbGF5ZXMsIG1peGVycykganVzdCBza2lwIGZyYW1lcy9zYW1wbGVzIHVudGlsIHB0cyBiZWNvbWVzCgkgIGVxdWFsIHRvIHB0cyBiZWZvcmUgZ2FwLgoJICBJbiB2ZXJzaW9uIDEuMTAuMiBhbmQgYmVmb3JlIHRoaXMgY2hlY2tpbmcgd2FzIGJ5cGFzc2VkIGZvciBwYWNrZXRzIHdpdGgKCSAgImVzdGltYXRlZCBkdHMiLCBhbmQgZ2FwcyB3ZXJlIGhhbmRsZWQgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MzQxCgoyMDE3LTAyLTI0IDE1OjU5OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBVcGRhdGUgdmVyc2lvbgoKMjAxNy0wMi0yNCAxNTozNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xMS4yID09PQoKMjAxNy0wMi0yNCAxNTowNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgUmVsZWFzZSAxLjExLjIKCjIwMTctMDItMjQgMTI6NTA6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTctMDItMjQgMTI6NDQ6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDItMTAgMjA6NTA6MTcgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEV4dHJhY3QgcmVkaXJlY3Rpb24gdXJpIG9uIGxpYnNvdXAncyByZXN0YXJ0ZWQgY2FsbGJhY2sKCSAgTGV0IGxpYnNvdXAgaGFuZGxlIHJlZGlyZWN0aW9uIGF1dG9tYXRpY2FsbHkuCgkgIEFuZCB0aGVuLCB0byBmaWd1cmUgb3V0IHJlZGlyZWN0aW9uIHVyaSwgZXh0cmFjdCBpdCBvbiAicmVzdGFydGVkIgoJICBjYWxsYmFjayB3aGljaCB3aWxsIGJlIGZpcmVkIGJlZm9yZSBzb3VwX3Nlc3Npb25fc2VuZCgpIGlzIHJldHVybmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4NDI4CgoyMDE3LTAxLTAyIDE5OjI5OjA0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVwZGF0ZSBpbWFnZSBzaXplIHdoZW4gZXh0cmFwb2xhdGluZwoJICBVcGRhdGUgdGhlIGltYWdlIHNpemUgYWNjb3JkaW5nIHRoZSBhbW91bnQgb2YgZGF0YSB3ZSBhcmUgZ29pbmcgdG8KCSAgcmVhZC93cml0ZS4gVGhpcyB3b3JrYXJvdW5kIGJ1Z3MgaW4gZHJpdmVyIHdoZXJlIHRoZSBzaXplaW1hZ2UgcHJvdmlkZWQKCSAgYnkgVFJZL1NfRk1UIHJlcHJlc2VudCB0aGUgYnVmZmVyIGxlbmd0aCAobWF4aW11bSBzaXplKSByYXRoZXIgdGhlbiB0aGUgZXhwZWN0ZWQKCSAgYnl0ZXN1c2VkIChidWZmZXIgc2l6ZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU1NjQKCjIwMTctMDItMTcgMTU6NTA6MzIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IHR5cG8gaW4gX2FjcXVpcmVfZm9ybWF0KCkgZXJyb3IgbWVzc2FnZXMKCSAgRml4ZXM6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg4MTUKCjIwMTctMDItMDcgMTc6Mjc6NTYgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IG1hdHJvc2thbXV4LCBxdG11eDogZG9uJ3QgYWRkIGNvZGVjX2RhdGEgYnVmZmVycyB0byB0ZW1wbGF0ZSBjYXBzCgkgIHN0cmVhbWhlYWRlciBhbmQgY29kZWNfZGF0YSBidWZmZXJzIGZpZWxkcyBhcmUgb25seSBtZWFudCB0byBiZQoJICBpbiB0aGUgbmVnb3RpYXRlZCBjYXBzLCBub3QgdGhlIHRlbXBsYXRlIGNhcHMuCgkgIEZpeGVzIGZhbHNlLXBvc2l0aXZlIGxlYWtzIG9mIHRob3NlIGJ1ZmZlcnMgZGV0ZWN0ZWQgYnkgdGhlIGxlYWtzCgkgIHRyYWNlciwgYXMgdGVtcGxhdGUgY2FwcyBhcmUgc3RhdGljLCBhbmQgd2UgZGVjaWRlZCB0byBub3QgaW5jbHVkZQoJICBjb2RlIGluIGdzdHJlYW1lciBjb3JlIHRvIGhhbmRsZSB0aGlzIHVudXN1YWwgY2FzZSBvZiB0ZW1wbGF0ZSBjYXBzCgkgIGhhdmluZyBidWZmZXJzIGluIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg3NjIKCjIwMTctMDItMDkgMTI6NDY6NTQgKzAwMDAgIEpvY2hlbiBIZW5uZWJlcmcgPGpoQGhlbm5lYmVyZy1zeXN0ZW1kZXNpZ24uY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBVcGRhdGUgYW5kIHNlbmQgb3V0IGhlYWRlcnMgd2hlbiBuZXcgaGVhZGVycyBhcmUgcmVjZWl2ZWQKCSAgVGhlIHBheWxvYWRlciBuZWVkcyB0byByZXNldCBhbmQgdXBkYXRlIHRoZSB2b3JiaXMgY29uZmlnIGRhdGEgd2hpY2ggaXMKCSAgcHVzaGVkIG9uIHRoZSBuZXR3b3JrIGlmIGl0IHJlY2VpdmVzIG5ldyBoZWFkZXJzLCBvciBhdCBsZWFzdCwgaXQgbWF5CgkgIGhhdmUgdG8gZG8gc28uCgkgIFdpdGhvdXQgdGhpcywgdGhlIHN0cmVhbSBjb25maWd1cmF0aW9uIGNvdWxkIGNoYW5nZSB3aXRob3V0IHRoZQoJICBwYXlsb2FkZXIgc2VuZGluZyB0aGUgbmV3IGNvbmZpZ3VyYXRpb24gdG8gdGhlIG90aGVyIHNpZGUuCgoyMDE3LTAyLTE1IDE0OjQ4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBDaGFuZ2UgZmlsZXMgb24gaW5jb21wYXRpYmxlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTc2MQoKMjAxNy0wMi0xNSAxNjozNTowMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogUmVzZXQgcmVhZHlfZm9yX291dHB1dCBvbiBzdGF0ZSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTc2MQoKMjAxNy0wMi0xNSAxNTowOTowNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogUmVtb3ZlIHVudXNlZCBuZXh0X21heF9vdXRfcnVubmluZ190aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3NjEKCjIwMTctMDItMTUgMTU6MDc6MzIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IFJlbW92ZSB1bnVzZWQgbXV4ZWRfb3V0X3RpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTc2MQoKMjAxNy0wMi0xNyAxMzowNzowNSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBBbHdheXMgc25hcCB0byB0aGUgc3RhcnQgb2YgdGhlIGtleWZyYW1lIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDEwNzkwMmVjNTE0YmQ4MjZhYTI5ZDIyOTgxMDdlMmMwOTFlMWM3NzkuCgkgIFRoaXMgY29tbWl0IGludGVuZGVkIHRvIGVuc3VyZSB0aGF0IGtleWZyYW1lIHNlZWtzIGxhbmQgYXQgdGhlCgkgIHN0YXJ0IHRpbWVzdGFtcCBvZiBhIGtleWZyYW1lLCByYXRoZXIgdGhhbiBpbiB0aGUgbWlkZGxlIG9mIG9uZSwKCSAgYnV0IHRoZXkgY2F1c2UgdHJvdWJsZSBvbiBmaWxlcyB3aXRoIHNwYXJzZSBzdHJlYW1zLCBvciB3aXRoCgkgIEpQRUcgJ2NvdmVyIGFydCcgdHJhY2tzIHRoYXQgaGF2ZSBvbmx5IG9uZSBvciBhIGZldyBKUEVHIHNhbXBsZXMKCSAgd2l0aCB2ZXJ5IGxvbmcgZHVyYXRpb25zLgoJICBUaGF0J3Mgc3RpbGwgZGVzaXJhYmxlIGZvciBkb2luZyBzZWFtbGVzcyBjdXR0aW5nIG9mIHZpZGVvcywKCSAgYnV0IG5lZWRzIGEgcmV0aGluayBmb3IgaW1wbGVtZW50YXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg2OTAKCjIwMTctMDItMTcgMDE6MjI6MTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJICBhdWRpb2Z4L2VjaG86IGFkZGVkIHN1cnJvdW5kLWRlbGF5IGFuZCBzdXJyb3VuZC1tYXNrCgkgIEFkZCBhIG5ldyBib29sZWFuIHN1cnJvdW5kLWRlbGF5IHByb3BlcnR5IHRoYXQgbWFrZXMKCSAgYXVkaW9lY2hvIGp1c3QgYXBwbHkgYSBkZWxheSB0byBjZXJ0YWluIGNoYW5uZWxzIHRvIGNyZWF0ZQoJICBhIHN1cnJvdW5kIGVmZmVjdCwgcmF0aGVyIHRoYW4gYW4gZWNobyBvbiBhbGwKCSAgY2hhbm5lbHMuIFRoaXMgaXMgdXNlZnVsIHdoZW4gdXBtaXhpbmcgZnJvbSBzdGVyZW8gLSBmb3IgZXhhbXBsZS4KCSAgQWRkIGEgc3Vycm91bmQtbWFzayBwcm9wZXJ0eSB0byBjb250cm9sIHdoaWNoIGNoYW5uZWxzCgkgIGFyZSBjb25zaWRlcmVkIHN1cnJvdW5kIHNvdW5kIGNoYW5uZWxzIHdoZW4gYWRkaW5nIGEKCSAgZGVsYXkgd2l0aCBzdXJyb3VuZC1kZWxheSA9IHRydWUKCSAgT3JpZ2luYWwgcGF0Y2ggZnJvbSBKb2NoZW4gSGVubmViZXJnIDxqaEBoZW5uZWJlcmctc3lzdGVtZGVzaWduLmNvbT4KCjIwMTctMDItMTUgMDA6MTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFVzZSBJUF9NVUxUSUNBU1RfQUxMIGZvciBmaWx0ZXJpbmcgSVB2NCBwYWNrZXRzIGlmIGF2YWlsYWJsZQoJICBUaGlzIGdvZXMgYXJvdW5kIHRoZSBpbmVmZmljaWVudCBjb250cm9sIG1lc3NhZ2UgYmFzZWQgZmlsdGVyaW5nIGFuZAoJICBkb2VzIGFsbCB0aGUgZmlsdGVyaW5nIGtlcm5lbC1zaWRlLiBVbmZvcnR1bmF0ZWx5IHRoaXMgaXMgTGludXgtb25seSBhbmQKCSAgdGhlcmUgaXMgbm8gSVB2NiB2YXJpYW50IG9mIGl0ICh5ZXQpLgoKMjAxNy0wMi0xNCAxOTo1MzozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBtZXNvbjogZGlzdCBtZXNvbiBidWlsZCBmaWxlcwoJICBTaGlwIG1lc29uIGJ1aWxkIGZpbGVzIGluIHRhcmJhbGxzLCBzbyBwZW9wbGUgd2hvIHVzZSB0YXJiYWxscwoJICBpbiB0aGVpciBidWlsZHMgY2FuIHN0YXJ0IHBsYXlpbmcgd2l0aCBtZXNvbiBhbHJlYWR5LgoKMjAxNy0wMi0xMCAxMDo1MzowNSArMDEwMCAgU8O4cmVuIEp1dWwgPHpwb24uZGtAZ21haWwuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiByZXNldCB0YWdzIG9uIGVtcHR5IHZhbHVlCgkgIFNvbWUgcmFkaW8gc3RyZWFtcyB1c2VzIFN0cmVhbVRpdGxlPScnIHRvIHJlc2V0IHRoZSB0aXRsZSBhZnRlciBhCgkgIHRyYWNrIHN0b3BwZWQgcGxheWluZywgZS5nLiB3aGlsZSB0aGUgaG9zdCB0YWxrcyBiZXR3ZWVuIHRyYWNrcyBvcgoJICBkdXJpbmcgbmV3cyBzZWdtZW50cy4KCSAgVGhpcyBjaGFuZ2UgZm9yY2VzIGFuIGVtcHR5IHRhZyBvYmplY3QgdG8gYmUgZGlzdHJpYnV0ZWQgaWYKCSAgU3RyZWFtVGl0bGUgb3IgU3RyZWFtVXJsIGlzIHJlY2VpdmVkIHdpdGggZW1wdHkgdmFsdWUsIHRodXMgYWxsb3dpbmcKCSAgZG93bnN0cmVhbSBlbGVtZW50cyB0byBnZXQgbm90aWZpZWQgYWJvdXQgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODQzNwoKMjAxNy0wMi0xMyAxMToxNzoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUHJvcGVybHkgbm90aWZ5IG1pc3NpbmcgZWxlbWVudHMKCSAgSWYgdGhlIHNydHAgZWxlbWVudHMgYXJlIG5vdCBwcmVzZW50LCBwb3N0IGEgbWVzc2FnZSBvbiB0aGUgYnVzCgkgIGluZm9ybWluZyBhYm91dCB0aGUgbWlzc2luZyBwbHVnaW5zLgoKMjAxNy0wMi0xMCAxMDozMjo1NyAtMDMwMCAgSnVhbiBQYWJsbyBVZ2FydGUgPHVnYXJ0ZUBlbmRsZXNzbS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IG1hcmsgc2luZ2xldG9uIGNhcHMgYXMgIm1heSBiZSBsZWFrZWQiIG9iamVjdHMuCgkgIFNldCBNQVlfQkVfTEVBS0VEIGZsYWcgb24gc3RhdGljIHBhZHMgcmV0dXJuZWQgYnkgZ3N0X3Y0bDJfb2JqZWN0X2dldF8qX2NhcHMoKQoJICBmdW5jdGlvbnMuIE1hZGUgZnVuY3Rpb25zIHRocmVhZCBzYWZlIGJ5IHVzaW5nIGdfb25jZV9pbml0W2VudGVyfGxlYXZlXQoJICBmdW50aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODQ1MwoKMjAxNy0wMi0wOSAxNDoxODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUmVtb3ZlIG5vdyB1bnVzZWQgZG9uZSBsYWJlbAoKMjAxNy0wMi0wOSAxMjo1NTozMiArMDEwMCAgTmljayBLYWxsZW4gPG5pY2trYWxsZW5AbWUuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBkbyBub3QgY2FjaGUgY2FwcwoJICBVcHN0cmVhbSBlbGVtZW50cyBsaWtlIHZpZGVvZmxpcCBjYW4gdHJhbnNmb3JtIGNhcHMsIHN1Y2ggYXMgY2hhbmdpbmcgd2lkdGggYW5kIGhlaWdodC4KCSAgV2hlbiBhbiBpbWFnZWZyZWV6ZSBkb3duc3RyZWFtIHJlY2VpdmVzIGFuIEFDQ0VQVF9DQVBTIHF1ZXJ5IGl0IHdpbGwgTk9XIHJldHVybgoJICBhbGwgY2FwcyB0aGF0IGl0IGNhbiBhY2NlcHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgzODkKCjIwMTctMDItMDkgMTE6Mjk6NDMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkIGEgY29tbWVudCBhYm91dCBob3cgYXRvbV90cmFrX3NldF9lbHN0X2VudHJ5KCkgd29ya3MKCjIwMTQtMDgtMjIgMDk6NTU6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBkZW1vdGUgc29tZSBsb2cgbWVzc2FnZXMgdG8gVFJBQ0UgbGV2ZWwKCSAgRG9uJ3Qgc3BhbSBkZWJ1ZyBsb2cgd2l0aCB1bmludGVyZXN0aW5nIHN0dWZmLgoKMjAxNy0wMi0wOCAxNzoyNDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBDbGVhciBlZGl0IGxpc3RzIGV2ZXJ5IHRpbWUgd2UgcmVjYWxjdWxhdGUgdGhlbQoJICBXZSByZWNhbGN1bGF0ZSB0aGVtLCBzbyBhbnkgb2xkIGluZm9ybWF0aW9uIGhhcyB0byBiZSBmb3Jnb3R0ZW4uCgkgIE90aGVyd2lzZSB3ZSB3cml0ZSBpbnZhbGlkIGVkaXQgbGlzdHMgd2hlbiB3cml0aW5nIGhlYWRlcnMgbXVsdGlwbGUKCSAgdGltZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgzMzAKCjIwMTctMDItMDcgMTM6MTA6MTggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhzcmM6IEFsbG93IGZvciBidWZmZXJzIGJlZm9yZSB0aGUgc2VnbWVudCB3aGVuIG1lYXN1cmluZwoJICBVc2VkIHNpZ25lZCBjYWxjdWxhdGlvbnMgd2hlbiBtZWFzdXJpbmcgdGhlIG1heF90cyBvZiBhbiBpbnB1dAoJICBmcmFnbWVudCwgc28gYXMgdG8gY2FsY3VsYXRlIHRoZSBjb3JyZWN0IGR1cmF0aW9uIGFuZCBvZmZzZXQKCSAgd2hlbiBidWZmZXJzIGhhdmUgdGltZXN0YW1wcyBwcmVjZWRpbmcgdGhlaXIgc2VnbWVudAoKMjAxNy0wMi0wMiAxMjo1NToyNSArMDEwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IHJlbGF0ZSByZWNlaXZlZCBGSVJzIGFuZCBQTElzIHRvIHNvdXJjZQoJICBUaGlzIGlzIG5lZWRlZCBpbiBvcmRlciB0bzoKCSAgLSBBdm9pZCBpZ25vcmluZyByZXF1ZXN0cyBmb3IgZGlmZmVyZW50IG1lZGlhIHNvdXJjZXMuCgkgIC0gQWRkIFNTUkMgZmllbGQgaW4gdGhlIEdzdEZvcmNlS2V5VW5pdCBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODAxMwoKMjAxNy0wMS0zMCAyMDoyMDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzYW5pdHkgY2hlY2sgbnVtYmVyIG9mIHNlZ21lbnRzIGluIGVkaXQgbGlzdAoJICBGaXhlcyBjcmFzaCB3aXRoIGZ1enplZCBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3OTQwCgoyMDE3LTAxLTAyIDIyOjE2OjM5ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTa2lwIHNlZWtpbmcgcXVlcnkgaWYgdXBzdHJlYW0gZm9ybWF0IGlzIHRpbWUKCSAgRG9uJ3QgbmVlZCB0byBxdWVyeWluZyBieXRlLWZvcm1hdCBzZWVraW5nIGZvciB0aW1lLWZvcm1hdAoJICB1cHN0cmVhbSBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY3MTUKCjIwMTYtMTItMDEgMTI6NDc6MDggKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSB1cHN0cmVhbSdzIFN0cmVhbUZsYWdzIGlmIHRoZXJlIGFyZQoJICBXaGVuIG11bHRpcGxlIGRlbXV4ZXIncyBhcmUgdXNlZCwgdXBzdHJlYW0gbWlnaHQgd2FudCB0byBpbmRpY2F0ZQoJICBkZWZhdWx0IHN0cmVhbXMgdXNpbmcgR1NUX1NUUkVBTV9GTEFHX3tTRUxFQ1QsIFVOU0VMRUNUfQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDQwCgoyMDE3LTAxLTI3IDE2OjE0OjE2ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IFRpbWVjb2RlIHRyYWNrIGZpeGVzIGZvciBTVFNEIGVudHJ5CgkgIFRoZSBuX2ZyYW1lcyBmaWVsZCAoZnJhbWVzIHBlciBzZWNvbmQpIHNob3VsZCBmb2xsb3cgdGhlIG5vbWluYWwgZnJhbWUKCSAgcmF0ZSBmb3IgZHJvcC1mcmFtZSB0aW1lY29kZXMuCgkgIEFsc28sIHRoZSB0cmFrJ3MgdGltZXNjYWxlIChhbmQgZHVyYXRpb24sIGFjY29yZGluZ2x5KSBzaG91bGQgZm9sbG93IHRoZQoJICBTVFNEIGVudHJ5J3MgdGltZXNjYWxlIGFuZCBmcmFtZSBkdXJhdGlvbiAoZnBzX24gYW5kIGZwc19kIGFjY29yZGluZ2x5KSwKCSAgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3ODMyCgoyMDE3LTAxLTE5IDExOjA4OjExICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZXRyeSByZXF1ZXN0IG9uIGVhcmx5IHRlcm1pbmF0aW9uIGZyb20gdGhlIHNlcnZlcgoJICBGaXggYSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY29tbWl0IDE4MzY5NWM2MWE1NGYxIChyZWZhY3RvciB0byB1c2UKCSAgU291cCdzIHN5bmMgQVBJKS4gVGhlIGNvZGUgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gcmVjb25uZWN0IHdoZW4gdGhlCgkgIHNlcnZlciBjbG9zZWQgdGhlIGNvbm5lY3Rpb24gZWFybHksIGZvciBleGFtcGxlIHdoZW4gdGhlIHN0cmVhbSB3YXMgcHV0CgkgIGluIHBhdXNlIGZvciBzb21lIHRpbWUuCgkgIFJlaW50cm9kdWNlIHRoaXMgZmVhdHVyZSBieSBjaGVja2luZyBpZiBFT1MgaXMgcmVjZWl2ZWQgYmVmb3JlIHRoZQoJICBleHBlY3RlZCBjb250ZW50IHNpemUgaXMgZG93bmxvYWRlZC4gSW4gdGhpcyBjYXNlLCBkbyB0aGUgcmVxdWVzdAoJICBzdGFydGluZyBhdCB0aGUgcHJldmlvdXMgcmVhZCBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjcyMAoKMjAxNy0wMS0xMCAwOTo0MDo1NiAtMDcwMCAgTWF0dCBTdGFwbGVzIDxzdGFwbGVzMjU1QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZmluZF9zdHJlYW1fYnlfY2hhbm5lbCBzaG91bGQgaWdub3JlIHVuY29uZmlndXJlZCBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxMDEKCjIwMTctMDEtMjUgMTg6NDM6MDAgKzAwMDAgIEJyZW5kYW4gU2hhbmtzIDxicmVuZGFuLnNoYW5rc0B0ZXJhZGVrLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBkZWJ1ZyB0eXBvIGFuZCByZW1vdmUgbWlzbGVhZGluZyB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzczNjIKCjIwMTctMDEtMjUgMjA6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSAgcnRwOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGluIGV4YW1wbGUKCSAgY2xpZW50LVBDTUEuYzo4NDoyMjogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdpc3JjJyBbLVd1bnVzZWQtdmFyaWFibGVdCgkgIEdPYmplY3QgKnNlc3Npb24sICppc3JjLCAqb3NyYzsKCSAgXgoKMjAxNy0wMS0yNSAxOToyMTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IFRoZSBjb2RlIHJlcXVpcmVzIGF0IGxlYXN0IEMrKzExCgkgIC4uLiBhbmQgY2xhbmcgcmVxdWlyZXMgdGhpcyB0byBiZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmRsaW5lIHdoaWxlIGdjYwoJICBub3dhZGF5cyBkZWZhdWx0cyB0byBDKysxMSBvciBldmVuIG5ld2VyLgoKMjAxNy0wMS0wOSAxMTozMjozNSArMDUzMCAgUmFodWwgQmVkYXJrYXIgPHJhaHVsLmJlZGFya2FyQGltZ3RlYy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNoZWNrIGZvciBub3QgTlVMTCBiZWZvcmUgY2xlYXJpbmcgYWRhcHRlcgoJICBJbiBjYXNlIHdhdnBhcnNlIHJlY2VpdmVzIGEgbWFudWFsbHkgaW5qZWN0ZWQgRkxVU0hfU1RPUCBldmVudAoJICB3aGlsZSBvcGVyYXRpbmcgaW4gcHVsbCBtb2RlIHdlIGdldCBjcml0aWNhbHMgYmVjYXVzZSB3ZSdkIHRyeQoJICB0byBjbGVhciBhIE5VTEwgYWRhcHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzEyMwoKMjAxNy0wMS0yNCAxOToyMzo0NCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IFByb3Blcmx5IHVzZSAnOicgZm9yIGRlZmluaW5nIGtleXdvcmRzCgoyMDE3LTAxLTE3IDE2OjQxOjU4ICswMTAwICBKZWFuLUNocmlzdG9waGUgVHJvdGluIDxqZWFuLWNocmlzdG9waGUudHJvdGluQHN0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogcmVmZXJlbmNlIG1lbW9yeSBiZWZvcmUgdGhlIGJ1ZmZlciBpcyBxdWV1ZWQKCSAgSW4gZ3N0X3Y0bDJfYWxsb2NhdG9yX3FidWYoKSwgdGhlIG1lbW9yeSBpcyByZWZlcmVuY2VkIGFmdGVyIHRoZQoJICBidWZmZXIgaXMgcXVldWVkLiBPbmNlIHF1ZXVlZCAoVklESU9DX1FCVUYpLCB0aGUgYnVmZmVyIG1pZ2h0IGJlIGhhbmRsZWQKCSAgYnkgdGhlIFY0TDIgZHJpdmVyIChlLmcuIGRlY29kZWQpIGFuZCBkZXF1ZXVlZCAoZ3N0X3Y0bDJfYWxsb2NhdG9yX2RxYnVmKSwKCSAgdGhyb3VnaCBhIGRpZmZlcmVudCB0aHJlYWQsIGJlZm9yZSB0aGUgbWVtb3J5IGlzIHJlZmVyZW5jZWQgKGdzdF9tZW1vcnlfcmVmKS4KCSAgSW4gdGhpcyBjYXNlLCBpbiBnc3RfdjRsMl9hbGxvY2F0b3JfZHFidWYoKSwgdGhlIG1lbW9yeSBpcyB1bnJlZmVyZW5jZWQKCSAgKGdzdF9tZW1vcnlfdW5yZWYpIGJlZm9yZSBoYXZpbmcgYmVlbiByZWZlcmVuY2VkOiB0aGUgbWVtb3J5IHJlZmNvdW50CgkgIHJlYWNoZXMgMCwgYW5kIHRoZSBtZW1vcnkgaXMgZnJlZWQuCgkgIFNvLCB0byBhdm9pZCB0aGlzIGNyb3NzaW5nIGNhc2UsIGluIGdzdF92NGwyX2FsbG9jYXRvcl9xYnVmKCksIHRoZQoJICBtZW1vcnkgc2hhbGwgYmUgcmVmZXJlbmNlZCBiZWZvcmUgdGhlIGJ1ZmZlciBpcyBxdWV1ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzczOTkKCjIwMTctMDEtMjQgMTc6NTk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiBPbmx5IHdyaXRlIDQgYnl0ZSB6ZXJvIHBhZGRpbmcgdG8gdGhlIFZpZGVvIFNhbXBsZSBEZXNjcmlwdGlvbiBpbiBNT1YKCSAgRm9yIE1QNCB0aGlzIGlzIG5vdCBkZWZpbmVkLCBhbmQgaXQgYWN0dWFsbHkgYnJlYWtzIHRoaW5ncyBmb3IgTVNFIGluCgkgIENocm9tZSBpZiB3ZSBkbyB0aGlzLiBGb3IgTU9WIHRoaXMgaXMgcmVxdWlyZWQgYnkgc29tZSBicm9rZW4gc29mdHdhcmUKCSAgYnV0IHRoZSBvZmZpY2lhbCBzcGVjaWZpY2F0aW9uIHNheXMgaXQncyBvcHRpb25hbDoKCSAgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvY29udGVudC9kb2N1bWVudGF0aW9uL1F1aWNrVGltZS9RVEZGL1FURkZDaGFwMy9xdGZmMy5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc1NDAKCjIwMTctMDEtMDIgMTM6NDI6MDQgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNjYXJvdEB0d2lsaW8uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc3RhdHM6IEtlZXAgbnVtYmVyIG9mIG5hY2tzIHNlbnQvcmVjZWl2ZWQgcGVyIHNvdXJjZQoJICBDdXJyZW50bHksIHRoZSBuYWNrIHBhY2tldHMgc2VudCBvciByZWNlaXZlZCBhcmUga2VwdCBhdCBzZXNzaW9uIGxldmVsLAoJICB3aGljaCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIGRpc3Rpbmd1aXNoIGhvdyBtYW55IG9mIHRoZXNlIHBhY2thZ2VzIHdlcmUKCSAgc2VudC9yZWNlaXZlZCBwZXIgc3NyYyB3aGVuIHNldmVyYWwgc291cmNlcyBhcmUgaW4gdGhlIHNhbWUgc2Vzc2lvbi4gVGhpcwoJICBwYXRjaCBpcyBhbGlnbmVkIHdpdGggdGhlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93ZWJydGMtc3RhdHMvI2RvbS1ydGNydHBzdHJlYW1zdGF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2NzE0CgoyMDE2LTEyLTA4IDE1OjU5OjMzICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBGaXggaGFuZGxpbmcgb2YgY29uZmlnLWludGVydmFsCgkgIEluc2VydCBWUFMvU1BTL1BQUyBiZWZvcmUgdGhlIGZpcnN0IE5BTCB1bml0IGNvbnRhaW5pbmcgYW4gSS1mcmFtZSBpbiBhbgoJICBhY2Nlc3MgdW5pdCBvbmx5LiBJZiBhbiBhY2Nlc3MgdW5pdCBjb25zaXN0cyBvZiBzZXZlcmFsIHN1Y2ggTkFMIHVuaXRzCgkgICh0aWxlcykgVlBTL1NQUy9QUFMgc2hvdWxkIG9ubHkgYmUgaW5zZXJ0ZWQgYmVmb3JlIHRoZSBmaXJzdCBvZiB0aGVtIHNvCgkgIHRoYXQgcGFyYW1ldGVycyBhcmUgb25seSB1cGRhdGVkIGJldHdlZW4gZnJhbWVzLgoJICBEbyBub3QgaW5zZXJ0IFZQUy9TUFMvUFBTIGJlZm9yZSBQLWZyYW1lcyB3aGVuIGNvbmZpZy1pbnRlcnZhbCBpcyAtMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTgxNwoKMjAxNy0wMS0xOSAxMjoyOTo0NCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcmVwb3J0IGEgdXNlZnVsIGVycm9yIG1lc3NhZ2Ugd2hlbiBzb3VwX3Nlc3Npb25fc2VuZCBmYWlscwoJICBUaGlzIGhlbHBzIHRvIHVuZGVyc3RhbmQgY2FzZXMgd2hlcmUgbGlic291cCBkb2Vzbid0IHNldCB0aGUgbWVzc2FnZQoJICBzdGF0dXMgY29kZSBhZnRlciBydW5uaW5nIHNvdXBfc2Vzc2lvbl9zZW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MjIyCgoyMDE3LTAxLTE5IDExOjA1OjAwICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBwcm9wZXJseSBjaGVjayB0aGF0IHNlZWsgcmFuZ2Ugd2FzIHJlc3BlY3RlZAoJICBUaGlzIGNoZWNrIG11c3QgYmUgZG9uZSBvbmx5IHdoZW4gd2UgYXJlIHN1cmUgdGhlIHJlcXVlc3Qgd2FzCgkgIHN1Y2Nlc3NmdWxseSBzZW50LiBzb3VwX3Nlc3Npb25fc2VuZCgpIG1pZ2h0IGZhaWwgd2l0aG91dCBzZXR0aW5nIHRoZQoJICBzdGF0dXMgY29kZS4gSW4gdGhpcyBjYXNlIHN0YXR1cyBjb2RlIGlzIDAgc28gd2Ugd291bGQgb25seSBjYXRjaCB0aGUKCSAgZXJyb3IgYWZ0ZXIgdGhlIHNlZWsgcmFuZ2UgY2hlY2suIEluIHRoaXMgY2FzZSB3ZSB3b3VsZCByZXBvcnQgYW4gZXJyb3IKCSAgc2F5aW5nIHRoYXQgdGhlIHNlZWsgcmFuZ2Ugd2FzIG5vdCByZXNwZWN0ZWQsIGluc3RlYWQgb2YgcmVwb3J0aW5nIHRoZQoJICB1bmRlcmx5aW5nIGVycm9yIHRoYXQgdHJpZ2dlcmVkIHRoZSBzb3VwX3Nlc3Npb25fc2VuZCgpIGZhaWx1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL2F0dGFjaG1lbnQuY2dpP2J1Z2lkPTc3NzIyMgoKMjAxNy0wMS0wOSAyMTowNDo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCBhIHBvc2l0aW9uaW5nIGNvZWZmaWNpZW50IHBhaXIKCSAgLi4uIHNvIGFzIHRvIGFsbG93IG9uZSBjbGVhcmx5IGRlZmluZWQgKGFic29sdXRlKSBwb3NpdGlvbmluZyBtb2RlCgkgIHRoYXQgY2FuIGNhdGVyIGZvciBhIHZhcmlldHkgb2YgYWJzb2x1dGUgYnV0IGFsc28gcmVsYXRpdmUgcG9zaXRpb25pbmcKCSAgd2l0aCByZXNwZWN0IHRvIGVkZ2Ugb3IgY2VudGVyLgoKMjAxNy0wMS0yMSAyMDo0ODoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiB1cGRhdGUgY29tcG9zaXRpb24gaW4gX2JlZm9yZV90cmFuc2Zvcm0KCSAgLi4uIHNpbmNlIHdlIG5lZWQgdG8gZGV0ZXJtaW5lIHBhc3N0aHJvdWdoIG1vZGUgZm9yIGJ1ZmZlciBwcmVwYXJhdGlvbiBiZWZvcmUKCSAgY2FsbGluZyBpbnRvIF90cmFuc2Zvcm1faXAuCgoyMDE3LTAxLTA3IDIwOjExOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGhhbmRsZSBzZXR0aW5nIE5VTEwgZ2RrcGl4YnVmCgkgIC4uLiB3aGljaCBpcyBhIGNsZWFyZXIgd2F5IHRvIGNsZWFyIGFueSBjdXJyZW50IG92ZXJsYXksIG90aGVyIHRoYW4KCSAgZmlkZGxpbmcgd2l0aCBhbHBoYSBvciBwb3NpdGlvbmluZyBwcm9wZXJ0aWVzIHRvIG1ha2UgaXQgdmlydHVhbGx5IGdvIGF3YXkuCgoyMDE3LTAxLTIwIDE3OjE2OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU3RvcCByZWFkaW5nIGEgbmNkdCBzdWItdGFnIGlmIGl0IGdvZXMgYmVoaW5kIHRoZSBzdXJyb3VuZGluZyB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzUzMgoKMjAxNy0wMS0yMCAwNzo1ODoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCB2YXJpb3VzIG91dCBvZiBib3VuZHMgcmVhZHMgd2hlbiBwYXJzaW5nIG5jZHQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NTAwCgoyMDE3LTAxLTE5IDEzOjQ2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEluY3JlbWVudCBjdXJyZW50IHN0dHMgaW5kZXggd2hlbmV2ZXIgd2UgZmluaXNoZWQgb25lIHN0dHMgZW50cnkKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIHJlYWQgbW9yZSBjaHVua3MgdGhhbiB0aGVyZSBhcmUgYXZhaWxhYmxlLCBkb2luZyBhbgoJICBvdXQgb2YgYm91bmRzIHJlYWQgYW5kIHBvdGVudGlhbGx5IGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NDY5CgoyMDE3LTAxLTE5IDEzOjI1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogSW5jcmVtZW50IGN1cnJlbnQgc3R0cyBpbmRleCBpbiBhbGwgY29kZSBwYXRocyBhZnRlciByZWFkaW5nIG9uZSBjaHVuayIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5OWQ1ZDc1NzBkMGI1M2RhZDNiYzhlYjY1M2IxMzIwZWU0MjJhYWNlLiBJdCBicm9rZQoJICBwbGF5YmFjayBvZiB2YXJpb3VzIHZhbGlkIGZpbGVzLgoKMjAxNy0wMS0xOSAwNzo1MjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbmNyZW1lbnQgY3VycmVudCBzdHRzIGluZGV4IGluIGFsbCBjb2RlIHBhdGhzIGFmdGVyIHJlYWRpbmcgb25lIGNodW5rCgkgIE90aGVyd2lzZSB3ZSBjb3VsZCByZWFkIG1vcmUgY2h1bmtzIHRoYW4gdGhlcmUgYXJlIGF2YWlsYWJsZSwgZG9pbmcgYW4KCSAgb3V0IG9mIGJvdW5kcyByZWFkIGFuZCBwb3RlbnRpYWxseSBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzQ2OQoKMjAxNy0wMS0xOSAwODozNzozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJbml0aWFsaXplIHJldHVybiB2YXJpYWJsZQoJICBJbiB0aGUgbm9ybWFsIHVzZS1jYXNlIHdlIHdvdWxkIGVuZCB1cCB3aXRoIHJldCBiZWluZyB1bml0aWFsaXplZAoJICBjYXVzaW5nIGhhdm9jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MjIyCgoyMDE3LTAxLTEzIDEyOjI3OjQwICswMDAwICBEYXZpZCBXYXJtYW4gPGR3YXJtYW5AbWFuZ2xlYml0Lm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBYTVAgdGFnIHBhcnNpbmcgZmF0YWwgZXJyb3IuCgkgIHF0ZGVtdXhfaGFuZGxlX3htcF90YWdsaXN0KCkgcmVxdWlyZXMgYSB3cml0YWJsZSB0YWdsaXN0LAoJICBidXQgcXRkZW11eC0+dGFnX2xpc3QgY2FuIGJlY29tZSBub24td3JpdGFibGUsIHNwZWNpZmljYWxseQoJICBhZnRlciBzZW5kaW5nIGdsb2JhbCB0YWdzIChxdGRlbXV4LmM6OTU4KSwgd2hpY2ggYWRkcyBhCgkgIHNlY29uZCByZWZlcmVuY2UuICBFbnN1cmUgdGhlIGxpc3QgaXMgbWFkZSB3cml0YWJsZSBiZWZvcmUKCSAgY2FsbGluZyAobWFrZV93cml0YWJsZSB3aWxsIGNvcHkgdGhlIGxpc3QgaWYgbmVjZXNzYXJ5KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjE3NwoKMjAxNi0wNS0zMSAxMzoxNzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmV3b3JrIHRhZ2xpc3QgaGFuZGxpbmcKCSAgS2VlcCB0YWdsaXN0IGFyb3VuZCBkdXJpbmcgZWxlbWVudCBleGlzdGFuY2UgdG8gYXZvaWQgaGF2aW5nIHRvCgkgIGNyZWF0ZSBpdCBhdCBkaWZmZXJlbnQgcGxhY2VzIGJlZm9yZSB1c2FnZS4gTWFrZXMgY29kZSBzaW1wbGVyIHRvIGhhbmRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjE3NwoKMjAxNy0wMS0xNiAxMTo1ODowMiArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogbWFrZSBmbG93IHJldHVybiB2YWx1ZXMgaGFuZGxpbmcgY2xlYXJlcgoJICBUaGUgZmxvdyByZXR1cm4gdmFsdWVzIHdhcyBzdG9yZWQgaW4gdGhlIGVsZW1lbnQgYmVmb3JlIGJlY2F1c2UgdGhlCgkgIHJlc3VsdCBoYWQgdG8gYmUgc2V0IGZyb20gY2FsbGJhY2tzLiBUaGlzIGlzIG5vdCB0aGUgY2FzZSBhbnltb3JlLCB3ZQoJICBjYW4gcmV0dXJuIHRoZSBmbG93IHJlc3VsdCBkaXJlY3RseSBmcm9tIGZ1bmN0aW9ucywgbWFraW5nIHRoZSBjb2RlCgkgIGVhc2llciB0byB1bmRlcnN0YW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MjIyCgoyMDE3LTAxLTEzIDE2OjQwOjQzICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBwcm9wZXJseSB0cmFjayByZWRpcmVjdGlvbnMKCSAgVGhlIGN1cnJlbnQgY29kZSBjb25maWd1cmVzIGxpYnNvdXAgdG8gaGFuZGxlIHJlZGlyZWN0aW9ucwoJICB0cmFuc3BhcmVudGx5LCB3aXRob3V0IGluZm9ybWluZyB0aGUgY2FsbGVyLCB0aHVzIHByZXZlbnRpbmcgdGhlIGVsZW1lbnQKCSAgdG8gcmVjb3JkIHRoZSByZWRpcmVjdCBjb2RlIGFuZCBsb2NhdGlvbiB1cmkuCgkgIEZpeCB0aGlzIGJ5IGFsd2F5cyBzZXR0aW5nIHRoZSBTT1VQX01FU1NBR0VfTk9fUkVESVJFQ1QsIHByZXZlbnRpbmcKCSAgbGlic291cCBmcm9tIGhhbmRsaW5nIHRoZSByZWRpcmVjdGlvbi4gV2hlbiB3ZSByZWNlaXZlIGEgcmVkaXJlY3Rpb24KCSAgcmVxdWVzdCBhbmQgbGlic291cCBjYW4gc2FmZWx5IGhhbmRsZSBpdCwgcmV0dXJuIGEgY3VzdG9tIGVycm9yIHdoaWNoCgkgIHRyaWdnZXJzIGEgcmV0cnkgd2l0aCB0aGUgbmV3IFVSSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzIyMgoKMjAxNy0wMS0xNyAxMDo1MzozOSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCA0NDQ0IGFuZCA0NDQ0eHEgdmFyaWFudHMgdG8gdmlkZW8veC1wcm9yZXMgcGFkIHRlbXBsYXRlIGNhcHMKCSAgVGhleSBhcmUgaGFuZGxlZCBzaW5jZSBjb21taXQgN2I1NjU0NzViZjU1MWM1M2I4ZWVkNDZmNzA4NmYzYjM3MmYxZjZjNAoJICAocXQ6IEFkZCBzdXBwb3J0IGZvciBQcm9SZXMgNDQ0NCBYUSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzczNzcKCjIwMTctMDEtMTcgMTA6NDg6NTcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogUXVpZXQgYSBXQVJOIHdoZW4gcGFyc2luZyBwdXNoIG1vZGUKCSAgVGhpcyB3YXJuaW5nIHdhcyBub2lzeSB3aGVuIHJldHVybmluZyBFT1MsIHdoaWNoIGlzCgkgIGp1c3QgdXNlZCB0byBpbmRpY2F0ZSBtb3JlIGRhdGEgaXMgbmVlZGVkIGZyb20gdXBzdHJlYW0uCgoyMDE3LTAxLTE2IDE0OjUwOjIyICswMTAwICBHZW9yZyBMaXBwaXRzY2ggPGdsaXBwaXRzY2hAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB3cml0ZSBTeW5jIFNhbXBsZSBBdG9tIGZvciBQcm9SZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzMzMQoKMjAxNS0wMS0yOCAwODo1ODoyNiArMDEwMCAgRW5yaWNvIEpvcm5zIDxlam9AcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBSZW1vdmUgdXNhZ2UgYW5kIGRlZmluaXRpb24gb2YgTE9HX0NBUFMgbWFjcm8KCSAgVW5saWtlIGZvcm1lciBkZWZpbml0aW9ucyBvZiBMT0dfQ0FQUywgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gc2ltcGx5CgkgIGV4cGFuZHMgdG8gR1NUX0RFQlVHX09CSkVDVC4gVGhlIExPR19DQVBTIG1hY3JvIGlzIHJhcmVseSB1c2VkIGFuZCBtb3N0CgkgIHVzZXMgZHVwbGljYXRlIGFscmVhZHkgZXhpc3RpbmcgR1NUX0RFQlVHX09CSkVDVCBsaW5lcy4gVGhlcmVmb3JlLCB0aGUKCSAgY2FwcyBhcmUgb2Z0ZW4gcHJpbnRlZCB0d2ljZSB3aGljaCB1bm5lY2Vzc2FyaWx5IGNsdXR0ZXJzIHRoZSBkZWJ1ZyBsb2cuCgkgIFJlcGxhY2UgTE9HX0NBUFMgY2FsbHMgd2l0aCBHU1RfREVCVUdfT0JKRUNULCByZW1vdmUgTE9HX0NBUFMgY2FsbHMsIGFuZAoJICBkZWxldGUgdGhlIGRlZmluaXRpb24gb2YgTE9HX0NBUFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY4OTkKCjIwMTctMDEtMTYgMTU6NDA6NDMgKzAxMDAgIEplYW4tQ2hyaXN0b3BoZSBUcm90aW4gPGplYW4tY2hyaXN0b3BoZS50cm90aW5Ac3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHJlbW92ZSBkdXBsaWNhdGVkIGxpbmUgb2YgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MzMwCgoyMDE3LTAxLTE2IDE1OjE3OjE1ICswMTAwICBKZWFuLUNocmlzdG9waGUgVHJvdGluIDxqZWFuLWNocmlzdG9waGUudHJvdGluQHN0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogZml4IG1lbW9yeSB0eXBlIGluIGFsbG9jYXRvciBwcm9iZQoJICBUaGUgYnVmZmVyIG1lbW9yeSB0eXBlIHByb3ZpZGVkIHRvIHRoZSBWSURJT0NfQ1JFQVRFX0JVRlMgaW9jdGwgc2hhbGwKCSAgYmUgc2V0IHdpdGggdGhlIHZhbHVlICgibWVtb3J5IikgZ2l2ZW4gYXMgaW5wdXQgcGFyYW1ldGVyIG9mIHRoZQoJICBnc3RfdjRsMl9hbGxvY2F0b3JfcHJvYmUoKSBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzMyNwoKMjAxNy0wMS0xNCAxNToyNzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IG90aGVyIGljb24gY291bnRlciBjaGVjawoJICBJdCdzIG5ldmVyIGdvaW5nIHRvIGJlIDAgaWYgd2UgZmlyc3QgaW5jcmVtZW50IGFuZCB0aGVuIGNoZWNrLgoKMjAxNy0wMS0xNCAxNToxNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBib2xkbHkgYXNzdW1lIHRoYXQgZmlyc3QgJ2NvdnInIGltYWdlIGlzIHRoZSBmcm9udCBjb3ZlcgoKMjAxNy0wMS0xNCAxNTowOTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBleHRyYWN0IGNvdmVyIGFydCBpbWFnZXMgaW50byBHU1RfVEFHX0lNQUdFIG5vdCBQUkVWSUVXX0lNQUdFCgkgIFRoZXNlIGFyZSB1c3VhbGx5IG11Y2ggYmlnZ2VyIHRoYW4gaWNvbiBzaXplIGFuZCByZXF1aXJlZCBieQoJICBpVHVuZXMgdG8gYmUgY2VydGFpbiBmYWlybHkgbGFyZ2Ugc2l6ZXMuIEluIHF0bXV4IGl0IGlzIGFsc28KCSAgdGhlIElNQUdFIHRhZ3Mgd2hpY2ggd2Ugd3JpdGUgb3V0IGFzICdjb3ZyJyBhdG9tcy4KCjIwMTctMDEtMTQgMTU6MDU6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFsc28gc2V0IFBJQ1RVUkUgdGFnIHdpZHRoIGFuZCBoZWlnaHQgaWYgYXZhaWxhYmxlCgoyMDE3LTAxLTE0IDE0OjU4OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggZW5jb2RlciBpbml0IGVycm9yIHdpdGggc29tZSBHU1RfVEFHX1BSRVZJRVdfSU1BR0VzCgkgIFRoZSBlbmNvZGVyIGZhaWxzIHRvIGluaXRpYWxpc2Ugd2hlbiB3ZSB0cnkgdG8gc2V0IEdTVF9UQUdfUFJFVklFV19JTUFHRXMKCSAgc2VudCB0byB1c2UgYnkgcXRkZW11eCBmcm9tIGlUdW5lcy1nZW5lcmF0ZWQgbTRhIGZpbGVzLiBXZSBzaG91bGQKCSAgbm90IGp1c3QgYmxpbmRseSB0cmFuc2xhdGUgdGhlIFBSRVZJRVcgdGFnIHRvIGZpbGUgaWNvbiBpbWFnZSB0eXBlcywKCSAgYnV0IGNoZWNrIGlmIHRoZSBzcGVjaWZpYyBjb25kaXRpb25zIHJlcXVpcmVkIGFyZSBtZXQgKGkuZS4gaW1hZ2UKCSAgdHlwZSAxIG11c3QgYmUgYSAzMngzMiBQTkcgaWNvbiwgYW5kIHdoYXQgd2UncmUgZ2V0dGluZyBpcyA1MDB4NTAwKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Njk2MgoKMjAxNy0wMS0xMyAxMjozOTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogYnVtcCB2ZXJzaW9uCgoyMDE3LTAxLTExIDEwOjMyOjIzIC0wMzAwICBKdWFuIFBhYmxvIFVnYXJ0ZSA8dWdhcnRlQGVuZGxlc3NtLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSAgZ2wvZXhhbXBsZXMvZ3RrOiBmaXhlZCBjb21waWxhdGlvbiBvbiBzeXN0ZW1zIHdpdGhvdXQgR0xfR0VPTUVUUllfU0hBREVSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxNDMKCjIwMTctMDEtMTIgMjE6MzU6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSAgZ2wvdXRpbHM6IGFsc28gdGFrZSBjYXJlIG9mIHRoZSBsb2NhbCBHTCBjb250ZXh0IGluIHF1ZXJ5IGZ1bmN0aW9ucwoJICBTaW1wbGlmaWVzIGEgZGVkdXBsaWNhdGVzIGEgbG90IG9mIGNvZGUgaW4gZWxlbWVudHMgcmV0cmlldmluZy9zZXR0aW5nCgkgIHRoZSBsb2NhbCBPcGVuR0wgY29udGV4dC4KCjIwMTctMDEtMTIgMjE6MzU6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGdsL3V0aWxzOiBhbHNvIHRha2UgY2FyZSBvZiB0aGUgbG9jYWwgR0wgY29udGV4dCBpbiBxdWVyeSBmdW5jdGlvbnMKCSAgU2ltcGxpZmllcyBhIGRlZHVwbGljYXRlcyBhIGxvdCBvZiBjb2RlIGluIGVsZW1lbnRzIHJldHJpZXZpbmcvc2V0dGluZwoJICB0aGUgbG9jYWwgT3BlbkdMIGNvbnRleHQuCgoyMDE2LTEyLTIyIDE3OjQwOjQwICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogQWRkIG9wdGlvbiBmb3IgdGltZWNvZGUtYmFzZWQgc3BsaXQKCSAgSWYgdGhpcyBvcHRpb24gaXMgZ2l2ZW4sIGl0IHdpbGwgY2FsY3VsYXRlIHRoZSBuZXh0IHNwbGl0IHBvaW50IGJhc2VkIG9uCgkgIHRpbWVjb2RlIGRpZmZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyMDkKCjIwMTctMDEtMTMgMDA6MDE6MDYgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgcmVzZXQgcmVxdWVzdCBwYWQgbnVtYmVyaW5nIGFjcm9zcyB1c2VzCgkgIFdoZW4gcmVzZXQsIGRvbid0IHJlc3RhcnQgcmVxdWVzdCBwYWQgbnVtYmVyaW5ncywgYXMKCSAgcmVxdWVzdCBwYWRzIGNhbiBzdXJ2aXZlIGFjcm9zcyBzdGF0ZSBjaGFuZ2VzLiBPbmx5CgkgIHJlc3RhcnQgYXQgMCBpZiBhbGwgcmVxdWVzdCBwYWRzIGFyZSBoYW5kZWQgYmFjayBmaXJzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzE3NAoKMjAxNy0wMS0xMSAxODo1MjoyOCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuaDoKCSAgcnR4cXVldWU6IEV4cG9zZSBiYXNpYyBzdGF0aXN0aWNzIGFzIHByb3BlcnRpZXMuCgkgIFN0YXRpc3RpY3MgYWJvdXQgdGhlIHRvdGFsIG51bWJlciBvZiByZXRyYW5zbWlzc2lvbiByZXF1ZXN0cwoJICBhbmQgdGhlIGFjdHVhbCBudW1iZXIgb2YgcmV0cmFuc21pdHRlZCBwYWNrZXRzIGNhbiBiZSBoZWxwZnVsCgkgIGF0IGFwcGxpY2F0aW9uLWxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTgyCgoyMDE3LTAxLTEyIDE3OjQ1OjM1ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogc2ltcGxpZnkgdmlkZW8veC1oMjY0IGNhcHMgaGFuZGxpbmcKCSAgJ3N0cmVhbS1mb3JtYXQnIGFuZCAnYWxpZ25tZW50JyBhcmUgZGVmaW5lZCBpbiBwYWQgdGVtcGxhdGUgY2FwcyBzbwoJICB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIHRoZW0gYWdhaW4gaGVyZS4gQWxzbyByZW1vdmUgYml0cmF0ZSBwYXJzaW5nIGZyb20KCSAgY2FwcyBhcyBiaXRyYXRlIGluIGNhcHMgZG9lc24ndCBtYWtlIHNlbnNlIGJ1dCBmcm9tIHRhZ3MsIHdoaWNoIGlzCgkgIGFjdHVhbGx5IHRoZSBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTgxCgoyMDE2LTEyLTA4IDE3OjAyOjIyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgYmFzaWMgSEVWQy9ILjI2NSBtdXhpbmcgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzUyCgoyMDE3LTAxLTExIDE4OjI5OjA1ICswMTAwICBHZW9yZyBMaXBwaXRzY2ggPGdsaXBwaXRzY2hAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBDYWxjdWxhdGUgY2xlYW4gYXBlcnR1cmUgc2l6ZQoJICBDYWxjdWxhdGUgY2xlYW4gYXBlcnR1cmUgZGltZW5zaW9ucyBieSBmaXJzdCBndWVzc2luZwoJICBkaXNwbGF5IGFzcGVjdCByYXRpbyBiYXNlZCBvbiBwaXhlbCBhc3BlY3QgcmF0aW8gYW5kCgkgIGZyYW1lIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxMDAKCjIwMTctMDEtMTAgMTg6MTk6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRtdXg6IFdyaXRlIHRhcHQgYXRvbSBmb3IgTU9WIGZpbGVzIGlmIFBBUiBub3QgMS8xCgkgIE5lZWRlZCBmb3IgUXVpY2tUaW1lIDcgdG8gcHJvcGVybHkgcGxheSBmaWxlcy4KCSAgQWxzbyB3cml0ZSB0aGUgY2xhcCBhdG9tIGZvciBNT1YgZmlsZXMgYWx3YXlzLCBub3Qgb25seSB3aGVuIFByb1JlcyBpcwoJICB1c2VkIGFzIGEgdmlkZW8gY29kZWMuIEl0J3MgbWFuZGF0b3J5IGZvciBNT1YuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxMDAKCjIwMTctMDEtMTIgMTY6MzI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMTEuMSA9PT0KCjIwMTctMDEtMTIgMTU6MzE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIFJlbGVhc2UgMS4xMS4xCgoyMDE3LTAxLTEyIDE0OjM4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE3LTAxLTEyIDE0OjM2OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkqIHBvL2hyLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE3LTAxLTExIDE3OjUzOjMyIC0wODAwICBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyZWUgc2VxaCBhZnRlciBjYWxsaW5nIHF0ZGVtdXhfcGFyc2Vfc3ZxM19zdHNkX2RhdGEoKQoJICBUaGUgc2VxaCBidWZmZXIgYWxsb2NhdGVkIGluIHF0ZGVtdXhfcGFyc2Vfc3ZxM19zdHNkX2RhdGEoKSBuZWVkcyB0bwoJICBiZSBmcmVlZCBieSB0aGUgY2FsbGVyIGFmdGVyIHVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzE1NwoJICBTaWduZWQtb2ZmLWJ5OiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgoKMjAxNy0wMS0xMCAxNjowMTozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IERvbid0IHNwYW0gZGVidWcgbG9nIHdpdGgga25vbncvcGFkZGluZyBhdG9tcwoJICBPbmx5IG91dHB1dCBXQVJOSU5HIG1lc3NhZ2VzIGZvciBhdG9tcyB3ZSBkb24ndCBrbm93IGhvdyB0byBoYW5kbGUKCSAgaW5zdGVhZCBvZiBmb3IgcGFkZGluZy9rbm93biBhdG9tcyB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueSBwcm9jZXNzaW5nCgkgIG9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcwOTUKCjIwMTctMDEtMTAgMTY6NTQ6NDggKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9xdC9xdHdpbmRvdy5jYzoKCSogZXh0L3F0L3F0d2luZG93Lmg6CgkgIHFtbGdsc3JjOiB1c2UgZ2xCbGl0RnJhbWVidWZmZXIgdG8gY29weSB0ZXh0dXJlIGZvciBHTEVTMy4wCgkgIElmIHN1cHBvcnQgZ2xCbGl0RnJhbWVCdWZmZXIsIHVzZSBpdCBmb3IgdGV4dHVyZSBjb3B5IGluc3RlYWQKCSAgb2YgZ2xDb3B5VGV4SW1hZ2UyRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MDc4CgoyMDE3LTAxLTA5IDE5OjA1OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBGaXggaW5kZW50YXRpb24KCjIwMTctMDEtMDkgMTk6MDQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNvbXBpbGVyIHdhcm5pbmcgZHVlIHRvIGM5OS1pc20KCSAgcnRwaml0dGVyYnVmZmVyLmM6NTkyOjM6IGVycm9yOiDigJhmb3LigJkgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIEM5OSBtb2RlCgoyMDE2LTExLTExIDE0OjMxOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IGJyaW5nIHRoZSBlbGVtZW50IHN0YXRlIGRvd24gYWZ0ZXIgc3VjY2VzcwoJICBPdGhlcndpc2Ugc29tZSBtZXNzYWdlcyB0aGF0IGFyZSBlbWl0dGVkIGJ5IHRoZSBlbGVtZW50IG9uIE5VTEwtPlJFQURZCgkgIHdpbGwgbm90IHJlYWNoIHRoZSBhcHBsaWNhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDk0NwoKMjAxNy0wMS0wOCAwMToxMzozMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgdGZkdCBhdG9tIGludG8gZnJhZ21lbnRlZCBmaWxlcy4KCSAgVGhlIERBU0ggc3BlYyByZXF1aXJlcyB0aGF0IHRmZHQgYXRvbXMgYmUgcHJlc2VudCwgc28KCSAgd3JpdGUgb25lIG91dC4gSVNPL0lFQyAyMzAwOS0xOjIwMTQgNi4zLjQuMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MjIxCgoyMDE3LTAxLTA3IDIzOjU1OjQyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCByZXNldCBvdXRwdXQgdGltZXN0YW1wcyB3aGVuIG5vIHRmZHQKCSAgSWYgYSBmcmFnbWVudGVkIHN0cmVhbSBkb2Vzbid0IGhhdmUgYSB0ZmR0LCBkb24ndAoJICByZXNldCB0aGUgb3V0cHV0IHRpbWVzdGFtcHMgYXQgZWFjaCBmcmFnbWVudCBib3VuZGFyeQoJICBieSBlcnJvbmVvdXNseSB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAwLiBJbnRyb2R1Y2VkCgkgIGJ5IGNvbW1pdCA2OWZjNDgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIzMAoKMjAxNi0xMi0xNiAxNjo1MTo0OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L21lc29uLmJ1aWxkOgoJKiBnc3QvZXF1YWxpemVyL21lc29uLmJ1aWxkOgoJKiBnc3QvaXNvbXA0L21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IEluc3RhbGwgcHJlc2V0cyBmaWxlcwoKMjAxNy0wMS0wMyAxMDoxMjozMCArMDUzMCAgR2FyaW1hIEdhdXIgPGdhcmltYS5nQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHNvbWUgY2FwcyBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc3Njc4OQoKMjAxNi0xMi0yMiAxNzozNDowOCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFJldHVybiBhIGJpbiB3aXRoIGEgImxvY2F0aW9uIiBwcm9wZXJ0eSBhcyBhIHNpbmsKCSAgU3BsaXRtdXhzaW5rIG1pZ2h0IGJlIGNhbGxlZCB3aXRoIGEgY3VzdG9tIGJpbiBhcyBhIHNpbmsuIElmIGl0IGhhcyBhCgkgICJsb2NhdGlvbiIgcHJvcGVydHksIGl0IGNhbiBiZSB1c2VkLgoKMjAxNi0xMS0xOCAyMjo0MjoxOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eDogUmV3cml0ZSBidWZmZXIgY29sbGVjdGlvbiBhbmQgc2NoZWR1bGluZwoJICBNYWpvcmx5IGNoYW5nZSB0aGUgd2F5IHRoYXQgc3BsaXRtdXhzaW5rIGNvbGxlY3RzCgkgIGluY29taW5nIGRhdGEgYW5kIHNlbmRzIGl0IHRvIHRoZSBvdXRwdXQsIHNvIHRoYXQgaXQKCSAgbWFrZXMgYWxsIGRlY2lzaW9ucyBhYm91dCB3aGVuIC8gd2hlcmUgdG8gc3BsaXQgZmlsZXMKCSAgb24gdGhlIGlucHV0IHNpZGUuCgkgIFVzZSBzZXBhcmF0ZSBxdWV1ZXMgZm9yIGVhY2ggc3RyZWFtLCBzbyB0aGV5IGNhbiBiZQoJICBncm93biBpbmRpdmlkdWFsbHkgYW5kIGtlcHQgYXMgc21hbGwgYXMgcG9zc2libGUuCgkgIFRoaXMgcmVtb3ZlcyByYWNpbmVzcyBJIG9ic2VydmVkIHdoZXJlIHNvbWV0aW1lcwoJICBzb21lIGRhdGEgd291bGQgZW5kIHVwIHB1dCBpbiBhIGRpZmZlcmVudCBvdXRwdXQgZmlsZQoJICBvdmVyIG11bHRpcGxlIHJ1bnMgd2l0aCB0aGUgc2FtZSBpbnB1dC4KCSAgQWxzbyBmaXhlcyBoYW5ncyB3aXRoIGlucHV0IHF1ZXVlcyBnZXR0aW5nIGZ1bGwKCSAgYW5kIGNhdXNpbmcgbXV4aW5nIHRvIHN0YWxsIG91dC4KCjIwMTYtMTEtMTcgMjM6NDA6MjcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXhzaW5rOiBBZGQgZm9ybWF0LWxvY2F0aW9uLWZ1bGwgc2lnbmFsCgkgIEFkZCBhIG5ldyBzaWduYWwgZm9yIGZvcm1hdHRpbmcgdGhlIGZpbGVuYW1lLCB3aGljaCByZWNlaXZlcwoJICBhIEdzdFNhbXBsZSBjb250YWluaW5nIHRoZSBmaXJzdCBidWZmZXIgZnJvbSB0aGUgcmVmZXJlbmNlCgkgIHN0cmVhbSB0aGF0IHdpbGwgYmUgbXV4ZWQgaW50byB0aGF0IGZpbGUuCgkgIFVzZWZ1bCBmb3IgY3JlYXRpbmcgZmlsZW5hbWVzIHRoYXQgYXJlIGJhc2VkIG9uIHRoZQoJICBydW5uaW5nIHRpbWUgb3Igb3RoZXIgYXR0cmlidXRlcyBvZiB0aGUgYnVmZmVyLgoJICBUbyBtYWtlIGl0IHdvcmssIG9wZW5pbmcgb2YgZmlsZXMgYW5kIHNldHRpbmcgZmlsZW5hbWVzIGlzCgkgIG5vdyBkZWZlcnJlZCB1bnRpbCB0aGVyZSBpcyBzb21lIGRhdGEgdG8gd3JpdGUgdG8gaXQsCgkgIHdoaWNoIGFsc28gcmVxdWlyZXMgc29tZSBjaGFuZ2VzIHRvIGhvdyBhc3luYyBzdGF0ZSBjaGFuZ2VzCgkgIGFuZCBnYXAgZXZlbnRzIGFyZSBoYW5kbGVkLgoKMjAxNi0xMi0zMSAwMTo1NDowMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWx3YXlzIHNuYXAgdG8gdGhlIHN0YXJ0IG9mIHRoZSBrZXlmcmFtZQoJICBXaGVuIHBlcmZvcm1pbmcgYSBrZXktdW5pdCBzZWVrLCBhbHdheXMgc25hcCB0byB0aGUgc3RhcnQgdHMKCSAgb2YgdGhlIGtleWZyYW1lIGJ1ZmZlciB3ZSBsYW5kZWQgb24gc28gdGhhdCB0aGUga2V5ZnJhbWUgaXMKCSAgZW50aXJlbHkgd2l0aGluIHRoZSByZXN1bHRpbmcgb3V0Z29pbmcgc2VnbWVudC4gVGhhdCBzZWVtcwoJICB0aGUgbW9zdCBzZW5zaWJsZSByZXN1bHQsIHNpbmNlIHRoZSB1c2VyIHJlcXVlc3RlZCBzbmFwcGluZwoJICB0byB0aGUga2V5ZnJhbWUgcG9zaXRpb24uCgoyMDE2LTEyLTMxIDAxOjQ4OjA0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBPbWl0IGNzbGdfc2hpZnQgd2hlbiBzbmFwcGluZyBzZWVrcwoJICBTZWdtZW50cyB0aW1lcyBhbmQgc2VlayByZXF1ZXN0cyBhcmUgc3RvcmVkIGFuZCBoYW5kbGVkCgkgIGluIHJhdyAnUFRTJyB0aW1lLCB3aXRob3V0IHRoZSBjc2xnX3NoaWZ0IC0gd2hpY2ggb25seSBhcHBsaWVzCgkgIHRvIG91dGdvaW5nIHNhbXBsZXMuIE9taXQgdGhlIGNzbGdfc2hpZnQgcG9ydGlvbiB3aGVuCgkgIGV4dHJhY3RpbmcgUFRTIHRvIGNvbXBhcmUgZm9yIGludGVybmFsIHNlZWsgc25hcHMuCgkgIElmIHRoZSBjc2xnX3NoaWZ0IGlzIGluY2x1ZGVkLCB0aGVuIGtleWZyYW1lK3NuYXAtYmVmb3JlIHNlZWtzCgkgIGdlbmVyYXRlIGEgc2VnbWVudCBzdGFydC9zdG9wIHRpbWUgdGhhdCBhbHJlYWR5IGluY2x1ZGVzIHRoZQoJICBjc2xnX3NoaWZ0LCBhbmQgaXQncyB0aGVuIGFkZGVkIGEgMm5kIHRpbWUsIGNhdXNpbmcgdGhlCgkgIGZpcnN0IGJ1ZmZlcihzKSB0byBoYXZlIHRpbWVzdGFtcHMgdGhhdCBhcmUgb3V0IG9mIHNlZ21lbnQuCgoyMDE2LTEyLTMwIDIyOjMxOjM4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IFJlbW92ZSBib2d1cyBjaGVjayBpbiBhdG9tX3N0c2NfYWRkX25ld19lbnRyeSgpCgkgIFJlbW92ZSBhbiBvbGQgY2hlY2sgZnJvbSBhdG9tX3N0c2NfYWRkX25ld19lbnRyeSgpIHRoYXQKCSAgZXh0ZW5kcyB0aGUgbGFzdCBlbnRyeSBpbiB0aGUgU1RTQyBpZiB0aGUgc2FtcGxlcyBwZXIgY2h1bmsKCSAgbWF0Y2hlcywgYXMgdGhlIG5ldyBpbnRlcmxlYXZlIG1lcmdpbmcgbG9naWMgcmVxdWlyZXMgdGhhdAoJICB0aGUgZmluYWwgZW50cnkgYnkgdXBkYXRlYWJsZS4gVGhlcmUncyBhbHJlYWR5IGNvZGUKCSAgYmVsb3cgd2hpY2ggc2ltcGx5IG1lcmdlcyB0aGUgZmluYWwgZW50cnkgaW50byB0aGUgcHJldmlvdXMKCSAgb25lIHdoZW4gbmVlZGVkLCBzbyByZWx5IG9uIHRoYXQgaW5zdGVhZC4KCSAgRml4ZXMgYXNzZXJ0cyBsaWtlOgoJICBFUlJPUjphdG9tcy5jOjI5NDA6YXRvbV9zdHNjX3VwZGF0ZV9lbnRyeTogYXNzZXJ0aW9uIGZhaWxlZDoKCSAgKGF0b21fYXJyYXlfaW5kZXggKCZzdHNjLT5lbnRyaWVzLCBsZW4gLSAxKS5maXJzdF9jaHVuayA9PSBmaXJzdF9jaHVuaykKCjIwMTYtMDQtMjQgMjE6Mzg6NTEgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBrZXlfdGltZSBpbiBnc3RfcXRkZW11eF9hZGp1c3Rfc2VlaygpCgkgIHRpbWUgaW4gc2VnbWVudCBzaG91bGQgYmUgUFRTIGJhc2VkIChub3QgRFRTKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTQ5OAoKMjAxNi0xMi0yOCAyMjo0OToyNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBQYXNzIHNlZWsgZmxhZ3Mgd2hlbiBhY3RpdmF0aW5nLgoJICBQYXNzIGFsbCBzZWVrIGZsYWdzIHdoZW4gYWN0aXZhdGluZyBhIHBhcnQKCSAgYmFzZWQgb24gYSBzZWVrLCBzbyB0aGF0IFNOQVAgZmxhZ3MgYXJlIHByZXNlcnZlZC4KCjIwMTYtMTEtMjYgMDE6MTM6MTkgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXg6IEZpeCBhIHNtYWxsIHJhY2UgaW4gdGhlIHNwbGl0bXV4c3JjCgkgIE1ha2Ugc3VyZSB0aGUgc3RhdGUgb2YgdGhlIHBhcnNlciBpcyBzZXQgdG8KCSAgY29sbGVjdGluZyBzdHJlYW1zIGJlZm9yZSBjaGFpbmluZyB1cCB0byB0aGUKCSAgcGFyZW50IGNoYW5nZV9zdGF0ZSgpIG1ldGhvZCwgdG8gY2xvc2UgYQoJICBzbWFsbCB3aW5kb3cgdGhhdCBjYW4gY2F1c2UgcGxheWJhY2sgdG8KCSAgbmV2ZXIgY29tbWVuY2UuCgoyMDE3LTAxLTAyIDE1OjA2OjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgY2hlY2s6IFJlbW92ZSBkZWFkIGNvZGUKCjIwMTYtMTItMzEgMDk6NTI6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IHJlZmFjdG9yIG1heF9maWxlcyBoYW5kbGluZyBhIGJpdAoJICBVc2UgR1F1ZXVlIGluc3RlYWQgb2YgYSBHU0xpc3Qgc28gd2UgZG9uJ3QgaGF2ZSB0byB0cmF2ZXJzZQoJICB0aGUgd2hvbGUgbGlzdCB0byBhcHBlbmQgc29tZXRoaW5nIGV2ZXJ5IHRpbWUuIEFuZCBpdCBhbHNvCgkgIGtlZXBzIHRyYWNrIG9mIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gaXQgZm9yIHVzLgoJICBBZGQgYSBmdW5jdGlvbiB0byBhZGQgZmlsZW5hbWVzIHRvIHRoZSBsaXN0IG9mIG9sZCBmaWxlcyBhbmQKCSAgdXNlIGl0IGluIG1vcmUgcGxhY2VzLCBzbyB0aGF0IG1lbW9yeSBkb2Vzbid0IGJ1aWxkIHVwIGluCgkgIG90aGVyIG1vZGVzIGVpdGhlciBpZiBubyBtYXhfZmlsZXMgbGltaXQgaXMgc3BlY2lmaWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTkxCgoyMDE2LTA1LTI5IDE3OjIxOjQ3ICswMTAwICBVcnN1bGEgTWFwbGVodXJzdCA8dXJzdWxhQGthbmdhdHJvbml4LmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvbid0IGxlYWsgbWVtb3J5IHdoZW4gbm8gbWF4LWZpbGVzIGxpbWl0IGlzIHNldAoJICBUZWNobmljYWxseSB3ZSB3ZXJlbid0IGxlYWtpbmcgdGhlIG1lbW9yeSwganVzdCBzdG9yaW5nIGl0IGludGVybmFsbHkKCSAgYW5kIG5ldmVyIHVzaW5nIGl0IHVudGlsIHRoZSBlbGVtZW50IGlzIGZyZWVkLiBCdXQgd2UnZCBzdGlsbCB1c2UgbW9yZQoJICBhbmQgbW9yZSBtZW1vcnkgb3ZlciB0aW1lLCBzbyB0aGlzIGlzIG5vdCBnb29kIG92ZXIgbG9uZ2VyIHBlcmlvZHMKCSAgb2YgdGltZS4gT25seSBrZWVwIHRyYWNrIG9mIGZpbGVzIGlmIHRoZXJlJ3MgYWN0dWFsbHkgYSBsaW1pdCBzZXQsCgkgIHNvIHRoYXQgd2Ugd2lsbCBwcnVuZSB0aGUgbGlzdCBmcm9tIHRpbWUgdG8gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk5MQoKMjAxNi0xMi0yOSAxMjozOToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkanVzdCBzZWdtZW50IHN0b3AgZm9yIEtFWV9VTklUIG5lZ2F0aXZlIHJhdGUgc2Vla2luZwoKMjAxNi0xMi0yOSAxMjoyNTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcGxlbWVudCBwdWxsIG1vZGUgU05BUCBmbGFnIHNlZWtpbmcKCjIwMTYtMTItMjkgMTE6MjY6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHR3ZWFrIEtFWV9VTklUIFNOQVAgc2VlayBoYW5kbGluZwoJICBQcmV2aW91c2x5LCBzZWVraW5nIHRvIHBvc2l0aW9uIHkgd2hlcmUgeSBpcyAoc3RyaWN0bHkpIHdpdGhpbiBhIGtleWZyYW1lCgkgIHdvdWxkIHNlZWsgdG8gdGhhdCBrZXlmcmFtZSBib3RoIHdpdGggU05BUF9CRUZPUkUgYW5kIFNOQVBfQUZURVIsCgkgIHdoZXJlIHRoZSBsYXR0ZXIgaXMgbm93IGFkanVzdGVkIHRvIHJlYWxseSBzbmFwIHRvIHRoZSBuZXh0IGtleWZyYW1lLgoKMjAxNi0xMi0yOCAxMzoyMzoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY29ycmVjdGx5IHBlcmZvcm0gcHVsbCBtb2RlIEtFWV9VTklUIHNlZWtpbmcKCSAgUmF0aGVyIGFtYXppbmdseSAoYW5kIGVxdWFsbHkgdW5ub3RpY2VkKSwga2V5dW5pdCBzZWVraW5nIHJlc3VsdGVkIGluIHNlZ21lbnRzCgkgIHdoZXJlIHN0YXJ0ICE9IHRpbWUgKHdoaWNoIGlzIGJvZ3VzIGZvciBzaW1wbGUgYXZpIHRpbWVsaW5lKS4gIFNvLCBwcm9wZXJseQoJICBhZGp1c3QgdGhlIHNlZ21lbnQgKHN0YXJ0KSByYXRoZXIgdGhhbiBmaWRkbGluZyB3aXRoIHNlZ21lbnQgdGltZSAob25seSkuCgoyMDE2LTEyLTI4IDEzOjA0OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXN0b3JlIGNvbnNpZGVyaW5nIG9mIHB1bGwgbW9kZSBLRVlfVU5JVCBzZWVraW5nCgkgIC4uLiBieSB1c2luZyB0aGUgb3JpZ2luYWwgc2VlayBldmVudCdzIGZsYWdzIHJhdGhlciB0aGFuIHRoZSBjb3JyZXNwb25kaW5nCgkgIHNlZ21lbnQgZmxhZ3MsIHdoaWNoIGRvIG5vdCBoYXZlIHN1Y2ggY291bnRlcnBhcnQgZmxhZ3MgKGFuZAoJICBkbyBubyBsb25nZXIgaGF2ZSB0aGVtIGNvdmVydGx5IHNuZWFraW5nIGluIG5vd2FkYXlzKS4KCjIwMTUtMDUtMDggMTI6NDQ6MDEgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogb25seSBkcm9wIGFjdHVhbCBzdHJlYW1oZWFkZXIgYnVmZmVycyB3aXRoIHhpcGggY29kZWNzCgkgIFdpdGggWGlwaCBjb2RlY3MgdGhlIHN0cmVhbSBoZWFkZXIgYnVmZmVycyBhcmUgYm90aCBpbiB0aGUgY2FwcyBhbmQgYXJlCgkgIHVzdWFsbHkgYWxzbyBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggaW5wdXQgc3RyZWFtLCBidXQgaXQncyBwZXJmZWN0bHkKCSAgcG9zc2libGUgdGhhdCB0aGUgaW5wdXQgc3RyZWFtIGRvZXMgbm90IGhhdmUgdGhlIHN0cmVhbSBoZWFkZXIgYnVmZmVycwoJICBpbmxpbmUgaW4gdGhlIGRhdGEuIE1hdHJvc2thbXV4IHdvdWxkIGRyb3AgdGhlIGZpcnN0IE4gYnVmZmVycyBhc3N1bWluZwoJICB0aGV5J3JlIHN0cmVhbSBoZWFkZXJzLCBidXQgdGhpcyBtZWFudCBpdCB3b3VsZCBkcm9wIGFjdHVhbCBwYXlsb2FkIGRhdGEKCSAgd2hlbiB0aGUgc3RyZWFtIGRpZG4ndCBjb250YWluIHRoZSBzdHJlYW0gaGVhZGVycyBpbmxpbmUuIEZpeCB0aGlzIGJ5CgkgIG9ubHkgZHJvcHBpbmcgbGVhZGluZyBidWZmZXJzIGlmIHRoZXkncmUgZmxhZ2dlZCBhcyBzdHJlYW0gaGVhZGVycy4gVGhpcwoJICBmaXhlcyBpc3N1ZXMgd2l0aCBzdHJlYW1zIHRoYXQgYXJlIGJlaW5nIHRhcHBlZCBpbnRvIGFmdGVyIHN0cmVhbWluZwoJICBoYXMgc3RhcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTA5OAoKMjAxNi0xMi0yMSAxNzo0Mzo1OCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRqdXN0IHVuaXQgdGVzdCB0byBtb2RpZmllZCBiZWhhdmlvdXIKCSAgTm93IG1hdHJvc2thbXV4IG1hcmsgYWxsIHBhY2tldHMgb2YgYXVkaW8tb25seSBzdHJlYW1zIGFzIGtleWZyYW1lcyBzbwoJICBpbiB0ZXN0X2Jsb2NrX2dyb3VwIGFmdGVyIHB1c2hpbmcgdGhlIHRlc3QgYXVkaW8gZGF0YSA0IGJ1ZmZlcnMgYXJlIHByb2R1Y2VkCgkgIGFuZCBub3QgbW9yZSAyLiBUaGUgbGFzdCBidWZmZXIgaXMgdGhlIG9yaWdpbmFsIGRhdGEgYW5kIG11c3QgbWF0Y2ggd2l0aCB3aGF0CgkgIHB1c2hlZC4gVGhlIHJlbWFpbmluZyBvbmVzIGFyZSBtYXRyb3NrYW11eCBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ2OTYKCjIwMTYtMDUtMzAgMDE6MTU6MzEgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFyayBhbGwgcGFja2V0cyBvZiBhdWRpby1vbmx5IHN0cmVhbXMgYXMga2V5ZnJhbWVzCgkgIFRoaXMgaGVscHMgd2l0aCBzdHJlYW1pbmcgYXVkaW8tb25seSBzdHJlYW1zIHZpYSBtdWx0aWZkc2luaywKCSAgdGNwc2VydmVyc2luayBhbmQgc3VjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDY5NgoKMjAxNS0wMy0yOCAxODoxNTozNiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGQgRzcyMiBhdWRpbyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NzQKCjIwMTYtMTItMTMgMTE6MTE6MDcgKzA5MDAgIFdvbmNodWwgTGVlIDx3b25jaHVsLmxlZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkc3JjOiBBZGQgdG8gam9pbiBtdWx0aXBsZSBtdWx0aWNhc3QgaW50ZXJmYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MDMwCgoyMDE1LTAzLTI1IDEzOjUxOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJICBydHBrbHZkZXBheTogYWRkIHRoZSBTUEFSU0UgZmxhZyB0byB0aGUgb3V0Z29pbmcgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDE2LTEyLTE3IDEzOjQyOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L2dzdHF0c3JjLmNjOgoJICBxdDogaW1wcm92ZSBlbGVtZW50IGFuZCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMgYSBiaXQKCjIwMTYtMTItMTQgMTQ6Mzc6NDUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IHBsYWNlIGNvbnRlbnQgYmVmb3JlIFNpbmNlLXZlcnNpb24gQVBJIG1hcmtlcgoJICBBdm9pZHMgY29uZnVzaW5nIHRoZSBwYXJzZXIKCjIwMTYtMTItMTQgMTQ6MTY6NTMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogZml4IDQwNCBpbiBwYWNrYWdlIG9yaWdpbgoKMjAxNi0xMi0xNCAyMTo0NToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBpZiB3ZSBoYXZlIGVub3VnaCBkYXRhIGF2YWlsYWJsZSB3aGVuIHBhcnNpbmcgZWRpdCBsaXN0cwoJICBBbHNvIGNvbnN1bWUgdGhlIGRhdGEgZW50cnkgYnkgZW50cnkgdG8gZ2V0IGNvbXBsaWNhdGVkIGluZGV4aW5nIG91dCBvZgoJICB0aGUgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjEwNwoKMjAxNi0xMi0xNCAxOToxNTowMyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGNoZWNrIHNpemUgaW4gYSBub24tbGlzdCB2YWx1ZQoJICBBZnRlciBjb21taXQgMWVhOTczNWEgSSBzZWUgdGhlc2UgZXJyb3Igd2hpbGUgdXNpbmcgdGhlIHdlYmNhbQoJICBpbnRlZ3JhdGVkIGluIG15IGxhcHRvcDoKCSAgR1N0cmVhbWVyLUNSSVRJQ0FMICoqOiBnc3RfdmFsdWVfbGlzdF9nZXRfc2l6ZTogYXNzZXJ0aW9uICdHU1RfVkFMVUVfSE9MRFNfTElTVCAodmFsdWUpJyBmYWlsZWQKCSAgVGhlIGlzc3VlIGlzIGdzdF92NGwyc3JjX3ZhbHVlX3NpbXBsaWZ5KCkgd2FzIGRvaW5nIGl0cyBqb2Igb2YKCSAgZ2VuZXJhdGluZyBhIHNpbmdsZSB2YWx1ZSwgcmF0aGVyIHRoYW4gdGhlIG9yaWdpbmFsIGxpc3QuIFRoYXQgd2h5LAoJICB3aGVuIGdldHRpbmcgdGhlIGxpc3Qgc2l6ZSwgYSBjcml0aWNhbCB3YXJuaW5nIHdhcyByYWlzZWQuCgkgIFRoaXMgcGF0Y2ggdGFrZXMgYWR2YW50YWdlIG9mIHRoZSBjb21waWxlciBvcHRpbWl6YXRpb25zIHRvIHZlcmlmeQoJICBmaXJzdCBpZiB0aGUgbGlzdCB3YXMgc2ltcGxpZmllZCwgdGh1cyB1c2UgaXQgZGlyZWN0bHksIG90aGVyd2lzZSwKCSAgaWYgaXQgaXMgYSBsaXN0LCB2ZXJpZnkgaXRzIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYxMDYKCjIwMTYtMTItMTQgMTA6Mzk6MTIgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0cy9qaXR0ZXJidWZmZXI6IE1ham9yIHJlZmFjdG9yaW5nIGFuZCBjbGVhbnVwcwoJICAqIENoYW5nZWQgUENNVS0+VEVTVCBmb3IgY29tbW9uIG1hY3JvcwoJICAqIENoYW5nZWQgdmVyaWZ5LWZ1bmN0aW9ucyAobG9zdCAmIHJ0eCkgaW50byBtYWNyb3MuCgkgICogUmVtb3ZlIG9wdGlvbiB0byBhZGQgbWFya2VyLWJpdCBmb3IgdGVzdC1idWZmZXJzIChub3QgdXNlZCBhbnl3aGVyZSkKCSAgKiBBZGQgbmV3IHB1c2hfdGVzdF9idWZmZXIgZnVuY3Rpb24gdGhhdCBtYWtlcyBzdXJlIHRoZXJlIGFyZSBjb3JyZWxhdGlvbgoJICBiZXR3ZWVuIGR0cyBhbmQgdGhlIHRpbWUgb24gdGhlIGNsb2NrLiAoY2xhc3NpYyB0ZXN0LW1pc3Rha2UpCgkgICogRXN0YWJsaXNoZWQgYSBnZW5lcmljIHN0YXJ0aW5nLXBvaW50IGZvciB0ZXN0cyB3aXRoIHRoZQoJICBjb25zdHJ1Y3RfZGV0ZXJtaW5pc3RpY19pbml0aWFsX3N0YXRlIGZ1bmN0aW9uIGFuZCB1c2UgaXQgd2hlcmUKCSAgYXBwbGljYWJsZSwgd2hpY2ggcmVtb3ZlcyBsb3RzIG9mICJib2lsZXJwbGF0ZSIgZXZlcnl3aGVyZS4KCSAgKiBBZGQgYmFzaWMgbG9zdC1ldmVudCB0ZXN0CgkgICogUmVtb3ZlIGFzIG11Y2ggIm1hZ2ljIGNvbnN0YW50cyIgYXMgcG9zc2libGUuCgkgICogUmVtb3ZlIDMgdGVzdHMgdGhhdCBubyBsb25nZXIgYXJlIHRlc3RpbmcgYW55dGhpbmcgdGhhdCBvdGhlcnMgZG9uJ3QsCgkgIGFuZCB3YXMgY29tcGxldGVseSB1bm1haW50YWluYWJsZS4KCSAgKiBSZW1vdmUgdW5uZWNlc3NhcnkgdXNlIG9mIHRoZSB0ZXN0Y2xvY2sKCSAgKiBWZXJpZnkgZWFjaCB0ZXN0IGlzIHRlc3Rpbmcgd2hhdCBpdCBhY3R1YWxseSBzYXlzIGl0IGRvZXMgKGFuZCBtb2RpZnkKCSAgd2hlcmUgaXQgZG9lc24ndCkKCSAgSW4gZ2VuZXJhbCwgbWFrZSB0aGUgdGVzdHMgbXVjaCBzbWFsbGVyLCBiZXR0ZXIsIG1vcmUgbWFpbnRhaW5hYmxlIGFuZAoJICByZWFkYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwOQoKMjAxNi0xMi0xNCAwOTo1NDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgUmVtb3ZlIGdlbmVyYXRlZCAuc3BlYyBmaWxlCgkgIExpa2VseSBleHRyZW1lbHkgYml0cm90dGVuLCBhbmQgd2Ugc2hvdWxkIG5vdCBzaGlwIHRoaXMgYW55d2F5LgoKMjAxNi0xMi0xNCAxMDoxNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayB0aGF0IHRoZSBYaVRoIHNpemUgaXMgYmlnIGVub3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1Nzk0CgoyMDE2LTEyLTA5IDIwOjI3OjUzICswOTAwICBIZWVreW91bmcgU2VvIDxoZWVreW91bmcuc2VvQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgbm9kZSBsZW5ndGggb2YgdmlkZW8gc2FtcGxlIGRlc2NyaXB0aW9uCgkgIEFkZCBjaGVjayBmb3Igbm9kZSBsZW5ndGggb2YgdmlkZW8gc2FtcGxlIGRlc2NyaXB0aW9uIGFuZCBpdHMgZmllbGRzIGFuZAoJICBmb3IgdGhlIFhpVGggYXRvbS4KCSAgQWxzbyB1bmlmeSB0aGUgY29kZSBhIGJpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTc5NAoKMjAxNi0xMi0wOCAxODo1MDo1MiArMDkwMCAgSGVla3lvdW5nIFNlbyA8aGVla3lvdW5nLnNlb0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEVuYWJsZSB4dmlkL21wMiBjb2RlYyBzdXBwb3J0CgkgIEFkZCBzdXBwb3J0IGZvciB4dmlkIHZpZGVvIGFuZCBtcDIgYXVkaW8sIGFkZCBtMnYxIGZvdXJjYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTc5NAoKMjAxNi0xMi0xMyAyMjozMjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDllbmMuYzoKCSAgZ3N0OiBEb24ndCBkZWNsYXJlIHZhcmlhYmxlcyBpbnNpZGUgdGhlIGZvciBsb29wIGhlYWRlcgoJICBUaGlzIGlzIGEgQzk5IGZlYXR1cmUuCgoyMDE2LTEyLTExIDEzOjI3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBFbnN1cmUgdG8gcmVpbml0IGJ1ZmZlcnMgd2hlbmV2ZXIgdGhleSB3ZXJlIG5vdCBhbGxvY2F0ZWQgeWV0CgkgIFRoYXQgaXMsIHdoZW5ldmVyIHdlIGdvIHRocm91Z2ggc3RhcnQvc3RvcCB3ZSBoYXZlIHRvIGVuc3VyZSB0aGF0IG9uIHRoZQoJICBuZXh0IG9wcG9ydHVuaXR5IHRoZSBidWZmZXJzIGFyZSByZWFsbG9jYXRlZCBhZ2Fpbi4gT3RoZXJ3aXNlIHRoZQoJICBidWZmZXJzIG1pZ2h0IGJlIE5VTEwgYmVjYXVzZSB0aGUgZWxlbWVudCB3YXMgcmV1c2VkIHdpdGggdGhlIHNhbWUKCSAgY29uZmlndXJhdGlvbiBhcyBiZWZvcmUgKGkuZS4gc2V0X2NhcHMoKSB3b3VsZG4ndCBoYXZlIHJlaW5pdGVkIHRoZQoJICBidWZmZXJzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTg5OAoKMjAxNi0xMi0xMCAxMjo1MjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvZGVzaWduL01ha2VmaWxlLmFtOgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwYXV4aWxpYXJ5LnR4dDoKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cGNvbGxpc2lvbi50eHQ6CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHByZXRyYW5zbWlzc2lvbi50eHQ6CgkgIGRvY3M6IGRlc2lnbjogcmVtb3ZlLCBtb3ZlZCB0byBnc3QtZG9jcwoKMjAxNi0xMi0wOSAxNzoxNzozNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBTdXBwb3J0IGJ1aWxkaW5nIHdpdGhvdXQgR3N0IGRlYnVnCgoyMDE2LTEyLTA5IDE3OjU1OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgZmx4ZGVjOiBPbmx5IHNlbmQgU0VHTUVOVCBldmVudHMgYWZ0ZXIgQ0FQUwoJICBJLmUuLCBkb24ndCBqdXN0IGZvcndhcmQgdGhlIGV2ZW50IGJ1dCBkZWxheSBpdCBpZiB3ZSBkb24ndCBoYXZlIGNhcHMgb24KCSAgdGhlIHNyY3BhZCB5ZXQuCgoyMDE2LTEyLTA5IDE3OjQ5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBVbnJlZiBhbmQgdW5tYXAgYnVmZmVycyBpbiBhbGwgY29kZSBwYXRocyBhcyBuZWVkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTg4OAoKMjAxNi0xMi0wOCAxMjozNzoyNSArMDMwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZXkuYm9yb3Zrb3ZAd2lyZWxvYWQubmV0PgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBxbWw6IEZpeCBlZ2wgYmVpbmcgZGVpbml0aWFsaXplZCBvbiBkaXNwbGF5IGNsZWFudXAKCSAgVXNlIHRoZSB3aXRoX2VnbF9kaXNwbGF5KCkgdmFyaWFudCBpbiBvcmRlciB0byBub3QgZGVzdHJveSB0aGUKCSAgRUdMRGlzcGxheSBvbiBkZXN0cnVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTc5MwoKMjAxNi0xMi0wNiAxNzo0MjozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHNldCBlbXB0eSBpbnRlcmxhY2UtbW9kZSBsaXN0CgkgIElmIGZvciBzb21lIHJlYXNvbiB3ZSBmYWlsIHRvIHByb2JlIGZvcm1hdHMgKGFsbCB0cnlfZm10IGNhbGxzIGZhaWwsIGZvcgoJICBleGFtcGxlKSwgdGhpcyBpcyBub3QgYSBjcml0aWNhbCBlcnJvciwgYnV0IHdlIGVuZCB1cCB3aXRoIGFuIGVtcHR5IGxpc3QKCSAgb2YgaW50ZXJsYWNlIG1vZGVzLiBUaGlzIGNhdXNlcyBhbGwgc3Vic2VxdWVudCBuZWdvdGlhdGlvbiB0byBmYWlsLgoJICBUaGlzIHBhdGNoIGZpeGVzIGludGVybGFjZS1tb2RlIHNldHRpbmcgdG8gYmUgc2tpcHBlZCBpZiB3ZSBmYWlsZWQgdG8KCSAgZGV0ZWN0IGFueS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTcwMgoKMjAxNi0xMi0wNyAxNzoyMjoyMiArMDUzMCAgR2FyaW1hIEdhdXIgPGdhcmltYS5nQHNhbXN1bmcuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBVbnJlZiBhbGxvY2F0aW9uIHF1ZXJ5IGFmdGVyIGZpbmlzaGVkIHdpdGggaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTc1MgoKMjAxNi0xMi0wNyAyMjo1NTo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sL2l0ZW06IGFsc28gdW5yZWYgdGhlIGRpc3BsYXkgb24gZGVzdHJ1Y3Rpb24KCSAgTGVha2luZyBvYmplY3RzIChhbmQgYSB0aHJlYWQhKSBpcyBuZXZlciBhIGdvb2QgaWRlYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTc0NgoKMjAxNi0xMi0wNyAyMjo1ODoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9tYWluLmNwcDoKCSAgdGVzdHMvZXhhbXBsZXMvcW1sc2luazogc2NvcGUgUUFwcGxpY2F0aW9uL0VuZ2luZQoJICBTbyB0aGV5IGFyZSBkZXN0cm95ZWQgYmVmb3JlIGdzdF9kZWluaXQoKSBpcyBydW4gYW5kIHRoZSBsZWFrcyB0cmFjZXIKCSAgZG9lc24ndCBzaG93IGZhbHNlLXBvc2l0aXZlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTc0NgoKMjAxNi0xMi0wNiAwNzo0ODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogQWxsb2NhdGUgMC1pbml0aWFsaXplZCBtZW1vcnkgZm9yIHRoZSBkZWNvZGVkIGZyYW1lCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBsZWFrIGFyYml0cmFyeSBpbmZvcm1hdGlvbiBmcm9tIHRoZSB1bmluaXRpYWxpemVkCgkgIG1lbW9yeSBpZiBub3QgZXZlcnkgcGl4ZWwgaXMgd3JpdHRlbi4KCSAgaHR0cHM6Ly9zY2FyeWJlYXN0c2VjdXJpdHkuYmxvZ3Nwb3QuZ3IvMjAxNi8xMi8xZGF5cy0wZGF5cy1wb2NzLW1vcmUtZ3N0cmVhbWVyLWZsaWMuaHRtbAoKMjAxNi0xMi0wNSAwNzo1NzoxOSAtMDcwMCAgTWF0dCBTdGFwbGVzIDxzdGFwbGVzMjU1QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHNlc3Npb24gY2xlYW51cCB3aGVuIGhhbmRsaW5nIHJlZGlyZWN0IG9uIFBMQVkKCSAgUmVkaXJlY3Qgb24gUExBWSB3YXNuJ3QgZG9pbmcgdGhlIG5lY2Vzc2FyeSBzZXNzaW9uIGNsZWFudXAuIEZpeGVkIGJ5CgkgIHJlbW92aW5nIGNvZGUgZnJvbSBnc3RfcnRzcHNyY19zZW5kIHRoYXQgY2hhbmdlZCB0aGUgc3RhdGUgdmFyYWJsZSB1cG9uCgkgIGVuY291bnRlcmluZyBhIHJlZGlyZWN0LiBCZXR0ZXIgdG8gbGV0IHRoZSByZWRpcmVjdCBoYW5kbGVycyBpbgoJICBnc3RfcnRzcHNyY19yZXRyaWV2ZV9zZHAgYW5kIGdzdF9ydHNwc3JjX3BsYXkgZG8gdGhlaXIgb3duCgkgIHN0YXRlLWRlcGVuZGVudCBjbGVhbnVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NTQzCgoyMDE2LTA5LTA3IDE2OjEwOjI3ICswMzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHdheXMgc2VuZCB0ZWFyZG93biByZXF1ZXN0CgkgIEFsbG93IENNRF9DTE9TRSB0byBjYW5jZWwgYWxsIGNvbW1hbmRzIG5vdCBvbmx5IENNRF9QQVVTRQoJICBhbmQgaWdub3JlIENNRF9XQUlUIHdoaWxlIGNsb3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNjAKCjIwMTYtMTItMDMgMDg6MTk6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjk4MGZkOSB0byAzOWFjMmY1CgoyMDE2LTEyLTAxIDE3OjA4OjA5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IERvbid0IGxlYWsgZHVwbGljYXRlIGl0ZW1zCgkgIFdoZW4gcHJvdmlkaW5nIGl0ZW1zIHdpdGggYSBzZXFudW0sIHRoZXJlIGlzIGEgKHZlcnkgc21hbGwpIHByb2JhYmlsaXR5CgkgIHRoYXQgYW4gZWxlbWVudCB3aXRoIHRoZSBzYW1lIHNlcW51bSBhbHJlYWR5IGV4aXN0cy4gRG9uJ3QgZm9yZ2V0CgkgIHRvIGZyZWUgdGhhdCBpdGVtIGlmIGl0IHdhc24ndCBpbnNlcnRlZC4KCSAgQW5kIGF2b2lkIHJldHVybmluZyB1bmRlZmluZWQgdmFsdWVzIHdoZW4gZGVhbGluZyB3aXRoIGR1cGxpY2F0ZSBpdGVtcwoKMjAxNi0xMi0wMSAxMToyMzowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTYW5pdGl6ZSB1bmtub3duIGNvZGVjIGNhcHMKCSAgV2UgbWlnaHQgaGF2ZSBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMgaW4gdGhlIHVua25vd24gZm91cmNjLCByZXBsYWNlCgkgIHRoZW0gd2l0aCAnXycsIGluIHRoZSBzYW1lIHdheSB3ZSBkbyBpdCBmb3IgdW5rbm93biB0YWdzLgoKMjAxNi0xMi0wMSAyMDowNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZyZWUgdnBycCBjaHVuayBhbHNvIGlmIGl0IGV4aXN0ZWQgYnV0IHdlIG1hZGUgbm8gdXNlIG9mIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NzkKCjIwMTYtMTItMDEgMTc6Mzg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogRml4IG1lbW9yeSBsZWFrIHdoZW4gcGFyc2luZyBhdHRhY2htZW50cwoJICBnc3RfdGFnX2ltYWdlX2RhdGFfdG9faW1hZ2Vfc2FtcGxlKCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlCgkgIHBhc3NlZCBtZW1vcnksIHNvIGRvbid0IHNldCBpdCB0byBOVUxMIHRvIGFsbG93IHVzIHRvIGZyZWUgaXQgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NzIKCjIwMTYtMTItMDEgMTQ6NTY6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogVW5pZnkgemxpYi9iemlwMiBkZWNvbXByZXNzIGxvb3BzIHdpdGggdGhlIG9uZXMgZnJvbSBxdGRlbXV4CgkgIEVzcGVjaWFsbHksIHNpbXBsaWZ5IHRoZSBjb2RlIGEgYml0LgoKMjAxNi0xMi0wMSAxNDo0MTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbmNyZWFzZSBpbmZsYXRlIGJ1ZmZlciBpbiBiaWdnZXIgc3RlcHMKCSAgMTAyNCBieXRlcyBpcyBxdWl0ZSBzbWFsbCwgbGV0J3MgZG8gNDA5NiBieXRlcyAob3Igb25lIHBhZ2UpLgoJICBBbHNvIHJlbW92ZSByZWR1bmRhbnQgaWYsIHdlJ3JlIGFsd2F5cyBpbiB0aGF0IGNhc2Ugd2hlbiBnZXR0aW5nIGhlcmUuCgoyMDE2LTEyLTAxIDE0OjMwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEVuc3VyZSB0aGF0IHNpemUgb2YgdGhlIHBhc3AgYXRvbSBpcyBhcyBtdWNoIGFzIHdlIG5lZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ1NQoKMjAxNi0xMi0wMSAxNDozMDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGcmVlIGNvbXByZXNzZWQgbW9vdiBub2RlIGFuZCBpdCdzIGNvcnJlc3BvbmRpbmcgZGVjb21wcmVzc2VkIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ1NQoKMjAxNi0xMi0wMSAxNDoyOToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBzaXplIG9mIGNvbXByZXNzZWQgTU9PViBoZWFkZXIgYWdhaW5zdCBhdmFpbGFibGUgZGF0YQoJICBBbmQgYWN0dWFsbHkgcmVhZCB0aGUgc2l6ZSBvZiB0aGUgY212ZCBhdG9tIGZyb20gdGhlIHJpZ2h0IHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDU1CgoyMDE2LTEyLTAxIDE0OjI3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB6bGliIGluZmxhdGUgbG9vcAoJICBIYW5kbGUgZXJyb3JzIGNsZWFubHksIGRlYWxsb2NhdGUgYWxsIG1lbW9yeSBhbmQgcmV0dXJuIHRoZSBhY3R1YWwgc2l6ZQoJICBvZiB0aGUgaW5mbGF0ZWQgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ1NQoKMjAxNi0xMi0wMSAxMzozODoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IE1ha2Ugc3VyZSB3ZSBoYXZlIGVub3VnaCBkYXRhIGluIHRoZSBjb2RlY19kYXRhIHRvIGJlIGFibGUgdG8gcGFyc2UgaXQKCSAgQWxzbyBlcnJvciBvdXQgY2xlYW5seSBpZiBtYXBwaW5nIHRoZSBidWZmZXIgZmFpbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDUwCgoyMDE2LTEyLTAxIDEzOjMyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvdXQgb2YgYm91bmRzIHJlYWQgaW4gdGFnIHBhcnNpbmcgY29kZQoJICBXZSBjYW4ndCBzaW1wbHkgYXNzdW1lIHRoYXQgdGhlIGxlbmd0aCBvZiB0aGUgdGFnIHZhbHVlIGFzIGdpdmVuCgkgIGluc2lkZSB0aGUgc3RyZWFtIGlzIGNvcnJlY3QgYnV0IHNob3VsZCBhbHNvIGNoZWNrIGFnYWluc3QgdGhlIGFtb3VudCBvZgoJICBkYXRhIHdlIGhhdmUgYWN0dWFsbHkgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDUxCgoyMDE2LTEyLTAxIDE1OjA2OjA2ICswNTMwICBHYXJpbWEgR2F1ciA8Z2FyaW1hLmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cDogRml4IHNvbWUgbWVtb3J5IGxlYWtzIGluIHVzYWdlIG9mIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUwNzEKCjIwMTYtMTEtMzAgMTc6NTY6MDIgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlYWQgaW50ZXJsYWNpbmcgaW5mb3JtYXRpb24gZnJvbSAnZmllbCcgYXRvbQoJICBSZWFkIGludGVybGFjaW5nIGFuZCBURkYvQkZGIGluZm9ybWF0aW9uIGZyb20gdGhlICdmaWVsJyBhdG9tIGFuZCBwYXNzIGl0CgkgIGludG8gdGhlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQxNAoKMjAxNi0xMS0yOSAxMzo1NTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZwoJICBxdGRlbXV4LmM6IEluIGZ1bmN0aW9uIOKAmHF0ZGVtdXhfcGFyc2VfdHJha+KAmToKCSAgcXRkZW11eC5jOjEwMTg0OjM4OiBlcnJvcjogZm9ybWF0IOKAmCVsdeKAmSBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUg4oCYbG9uZyB1bnNpZ25lZCBpbnTigJksIGJ1dCBhcmd1bWVudCA5IGhhcyB0eXBlIOKAmGdpbnQge2FrYSBjb25zdCBpbnR94oCZIFstV2Vycm9yPWZvcm1hdD1dCgkgIEdTVF9ERUJVR19PQkpFQ1QgKHF0ZGVtdXgsICJGb3VuZCBqcGVnOiBsZW4gJXUsIG5lZWQgJWx1IiwgbGVuLAoJICBeCgoyMDE2LTExLTI4IDEzOjQ1OjI0IC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGFuZ2Ugb2ZmX3QgdHlwZSB0byBnaW50CgkgIG9mZl90IGlzIGEgc2lnbmVkIGludGVnZXIgdHlwZSBwcm92aWRlZCBieSBzeXMvdHlwZXMuaCBvbiBwb3NpeCBzeXN0ZW1zLgoJICBSZXBsYWNlIHdpdGggZ2ludCBmb3IgYnVpbGRpbmcgb24gbm9uLXBvc2l4IHN5c3RlbXMgKGxpa2Ugd2luZG93cykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUyODcKCjIwMTYtMTEtMjIgMjE6MDA6MjUgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBhZGQgbGlibSB0byBoYXNfZnVuY3Rpb24gY2hlY2tzCgkgIFRoZSBmdW5jdGlvbnMgZnJvbSBtYXRoLmggbWF5IGJlIGltcGxlbWVudGVkIGluIGxpYm0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NzYKCjIwMTYtMTAtMjcgMjM6MDI6MzcgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tZXNvbi5idWlsZDoKCSAgUmV2ZXJ0ICJtZXNvbjogZHYgcGx1Z2luIG5vdyB3b3JrcyBvbiBNU1ZDIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA1YTg5NjEzZmVmZjcwY2ZmNDE2MzY3ZjVhYTgwN2ExZDVjNjhiNjMuCgkgIExldCdzIG5vdCBwdXQgaW4gc3R1ZmYgdGhhdCBuZWVkcyB1bnJlbGVhc2VkIE1lc29uLiBUaGlzIGNhbiBnbyBpbgoJICBmb3IgdGhlIG5leHQgY3ljbGUuCgoyMDE2LTExLTI4IDEzOjUxOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRW5zdXJlIHRoYXQgdGFncyBhcmUgdmFsaWQgVVRGLTggYmVmb3JlIGFkZGluZyB0aGVtIHRvIHRoZSB0YWdsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUyMTkKCjIwMTYtMTEtMjggMTI6MjI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiB3ZSBnb3QgRU9TIHdpdGhvdXQgaGF2aW5nIGFkZGVkIGFueSBwYWRzCgoyMDE2LTExLTI4IDEyOjAwOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEhhbmRsZSBub24tVVRGOCBoZWFkZXJzIGFuZCBlcnJvciByZWFzb25zIG1vcmUgZ3JhY2VmdWxseQoJICBFc3BlY2lhbGx5IGRvbid0IHB1dCB0aGVtIGludG8gR3N0U3RydWN0dXJlcyBpbiBvbmUgd2F5IG9yIGFub3RoZXIsIGp1c3QKCSAgaWdub3JlIHRoZW0gb3IgZXJyb3Igb3V0IGNsZWFubHkgZGVwZW5kaW5nIG9uIHRoZSBpbXBvcnRhbmNlIG9mIHRoZWlyCgkgIGNvbnRlbnQuCgoyMDE2LTExLTI4IDA5OjMwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZyYXdwYXk6IEVycm9yIG91dCBjbGVhbmx5IGlmIG1hcHBpbmcgdGhlIHZpZGVvIGZyYW1lIGZhaWxzCgkgIEluc3RlYWQgb2YgbGF0ZXIgZGVyZWZlcmVuY2luZyBOVUxMIGFuZCBjcmFzaGluZy4KCjIwMTYtMTEtMjcgMTE6MTQ6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IFVwZGF0ZSBzdGF0aXN0aWNzIGJlZm9yZSBwdXNoaW5nCgkgIElmIGFuIGVsZW1lbnQgcXVlcmllcyB0aGUgbnVtYmVyIG9mIHJldHJhbnNtaXNzaW9uIGJ1ZmZlcnMgcHVzaGVkCgkgICp3aGlsZSogdGhlIHB1c2ggaXMgc3RpbGwgdGFraW5nIHBsYWNlIChhbmQgYmVmb3JlIHRoZSBvYmplY3QgbG9jawoJICBpcyB0YWtlbiBqdXN0IGFmdGVyKSBpdCB3b3VsZCBlbmQgdXAgd2l0aCB0aGUgd3Jvbmcgc3RhdGlzdGljCgkgIGJlaW5nIHJlcG9ydGVkLgoJICBJbmNyZW1lbnQgaXQganVzdCBiZWZvcmUgdGhlIHB1c2gsIGF2b2lkcyByYWNlcyB3aGVuIGdldHRpbmcgc3RhdGlzdGljcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NzIzCgoyMDE2LTExLTI2IDExOjIwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdG1vZHVsZXM6CgkgIGNvbW1vbjogdXNlIGh0dHBzIHByb3RvY29sIGZvciBjb21tb24gc3VibW9kdWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUxMTAKCjIwMTYtMDctMjggMTg6NTE6MjQgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBnc3R2NGwyYnVmZmVycG9vbDogbG9jayBmbHVzaF9zdG9wIGFnYWluc3QgcmVndWxhciBxYnVmCgkgIFRoZXNlIGNhbiBiZSBjYWxsZWQgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcyBhbmQgYm90aCBtYW5pcHVsYXRlIHRoZQoJICBwb29sLT5idWZmZXJzIGFycmF5LiBMb2NrIHRoZW0gcHJvcGVybHkgYW5kIGxldCBmbHVzaF9zdG9wIG1vdmUgdGhlCgkgIGFycmF5IGNvbnRlbnRzIGludG8gYSB0ZW1wb3JhcnkgYXJyYXkgb24gdGhlIHN0YWNrIHRvIGF2b2lkIGhhdmluZwoJICB0byBjYWxsIHJlbGVhc2VfYnVmZmVyIHVuZGVyIHRoZSBvYmplY3QgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTAxNQoKMjAxNi0xMS0yNCAxNDoyNToyMiArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGdzdHY0bDJidWZmZXJwb29sOiByZW1vdmUgY3JpdGljYWwgZXJyb3IgbWVzc2FnZSB3aGVuIHByb2Nlc3MgaXMgY2FsbGVkIG9uIGFuIGluYWN0aXZlIHBvb2wKCSAgSWYgdGhlIHBvb2wgaXMgaW5hY3RpdmUsIGl0IGlzIGd1YXJhbnRlZWQgdG8gYWxzbyBiZSBmbHVzaGluZywgc28gdGhlCgkgIGZvbGxvd2luZyBjaGVjayB3aWxsIHJldHVybiBHU1RfRkxPV19GTFVTSElORyBhbnl3YXkuCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiBhIHY0bDJzcmMgaXMgYmxvY2tpbmcgb24gRFFCVUYgaW4gY3JlYXRlIGFuZCBpcyBzZW50CgkgIGFuIEVPUyBldmVudCBvbiBhbm90aGVyIHRocmVhZC4gSW4gdGhhdCBjYXNlIHRoZSBwb29sIGlzIHNldCB0bwoJICBmbHVzaGluZy9pbmFjdGl2ZSB3aXRob3V0IGxvY2tpbmcsIHRoZSB2NGwyc3JjIGlzIHVuYmxvY2tlZCwgYW5kIG1heQoJICBjYWxsIHBvb2xfcHJvY2VzcyB3aXRoIGEgdmFsaWQgYnVmZmVyIG9uIHRoZSBhbHJlYWR5IGluYWN0aXZlIHBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUwMTQKCjIwMTYtMTEtMjQgMTQ6NDE6NTIgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IHJlbGVhc2UgYnVmZmVyIGlmIGNyZWF0ZSBmYWlscwoJICBnc3RfYmFzZV9zcmNfZ2V0X3JhbmdlIGRvZXMgbm90IGV4cGVjdCBhIGJ1ZmZlciB0byBiZSByZXR1cm5lZCBpbgoJICB0aGUgZXJyb3IgY2FzZSwgc28gd2UgYXJlIGxlYWtpbmcgYSByZWZlcmVuY2UgaGVyZSBpZiBjcmVhdGUgZmFpbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUwMTQKCjIwMTYtMTEtMjMgMTg6MzQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBIYW5kbGUgY3JlYXRlX3Nlc3Npb24oKSByZXR1cm5pbmcgTlVMTCBpbiBidW5kbGUgY29kZQoJICBDSUQgMTM5NDQ5Mi4KCjIwMTYtMTEtMjIgMTY6NDI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBNYWtlIHN1cmUgdG8gb25seSBjaGFuZ2UgRFRTIG9mIHdyaXRhYmxlIGJ1ZmZlcnMKCSAgQW5kIHRyaXZpYWwgY2xlYW51cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODQwCgoyMDE2LTExLTIyIDE2OjQyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRXJyb3Igb3V0IG11Y2ggZWFybGllciBpZiB3ZSBkb24ndCBoYXZlIGEgdmFsaWQgUFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NDAKCjIwMTYtMTEtMjIgMTY6MTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IHVzZSBidWZmZXIgZHVyYXRpb25zIGlmIHRoZXkgYXJlIGFjdHVhbGx5IHZhbGlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NDAKCjIwMTYtMTEtMjIgMTU6NTk6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZXZlcnQgY29tbWl0cyB0aGF0IHNldCBEVFMgYW5kIGR1cmF0aW9uIG9uIGJ1ZmZlcnMgdW5jb25kaXRpb25hbGx5CgkgIDM5ZjdlNTIyNjZmZGUzYjNjMDM1ZTIyY2JjYmIyYmIxZmEyMDdiMTcgd2FzIHNldHRpbmcgdGhlIGJ1ZmZlciBkdXJhdGlvbgoJICB0byAwIGlmIGlzIG5vdCB2YWxpZCwgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGlzIGlzICJ0aGUgbGFzdCIKCSAgYnVmZmVyIGFuZCBubyBvdGhlcnMgYXJlIGNvbWluZyBuZXh0LiBUaGlzIGlzIHdyb25nLCBsYXN0X2J1ZiBpcyB0aGUKCSAgcHJldmlvdXMgYnVmZmVyIGFuZCBub3QgdGhlIHZlcnkgbGFzdCBvbmUuCgkgIDRlM2MxM2M4N2MyNThjOWM5NWUyMjE3ZDMyYWIzMTRkMTJiNWZmZmMgd2FzIHNldHRpbmcgRFRTIHRvIDAgaWYgdGhlcmUKCSAgd2FzIG5vbmUuIFRoaXMgd2lsbCBzZXQgRFRTIHRvIDAgZm9yIGFsbCBlLmcuIGF1ZGlvIHN0cmVhbXMsIGNvbXBsZXRlbHkKCSAgbWVzc2luZyB1cCBjYWxjdWxhdGlvbnMgaWYgc3RyZWFtcyBkb24ndCBzdGFydCBhdCAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODQwCgoyMDE2LTExLTIyIDE1OjU4OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSB3cml0ZSAiZ2FwIiBlZGl0IGxpc3QgaWYgdGhlcmUgaXMgYSBub24temVybyBnYXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg0MAoKMjAxNi0xMS0yMyAwNzowOTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9mbHhfY29sb3IuYzoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIGZseGRlYzogcmV3cml0ZSBsb2dpYyBiYXNlZCBvbiBHc3RCeXRlUmVhZGVyL1dyaXRlcgoJICBTb2x2ZXMgb3ZlcnJlYWRpbmcvd3JpdGluZyB0aGUgZ2l2ZW4gYXJyYXlzIGFuZCB3aWxsIGVycm9yIG91dCBpZiB0aGUKCSAgc3RyZWFtcyBhc2tzIHRvIGRvIHRoYXQuCgkgIEFsc28gZG9lcyBtb3JlIGVycm9yIGNoZWNraW5nIHRoYXQgdGhlIHN0cmVhbSBpcyB2YWxpZCBhbmQgd29uJ3QKCSAgb3ZlcnJ1biBhbnkgYWxsb2NhdGVkIGFycmF5cy4gIEFsc28gbWl0aWdhdGUgaW50ZWdlciBvdmVyZmxvdyBlcnJvcnMKCSAgY2FsY3VsYXRpbmcgYWxsb2NhdGlvbiBzaXplcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg1OQoKMjAxNi0xMS0yMyAxMToyMDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogRG9uJ3QgdW5yZWYoKSBwYXJlbnQgaW4gdGhlIGNoYWluIGZ1bmN0aW9uCgkgIFdlIGRvbid0IG93biB0aGUgcmVmZXJlbmNlIGhlcmUsIGl0IGlzIG93bmVkIGJ5IHRoZSBjYWxsZXIgYW5kIGdpdmVuIHRvCgkgIHVzIGZvciB0aGUgc2NvcGUgb2YgdGhpcyBmdW5jdGlvbi4gTGVmdG92ZXIgbWlzdGFrZSBmcm9tIDAuMTAgcG9ydGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg5NwoKMjAxNi0xMS0yMiAyMDozMzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweGRlYzogbGlidnB4J3MgcmVsZWFzZSBidWZmZXIgaXMgc29tZXRpbWVzIGNhbGxlZCB3aXRoIGZiLT5wcml2PT1OVUxMCgkgIERvbid0IGFzc2VydCBvbiB0aGlzIGJ1dCBqdXN0IGlnbm9yZSB0aGVzZSBjYXNlcy4KCjIwMTYtMTEtMjIgMjA6MjQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IGNsdXN0ZXIgc2VhcmNoaW5nIGlmIHdlIHNlYXJjaCBtdWx0aXBsZSB0aW1lcyBpbiBvbmUgY2h1bmsKCSAgQWZ0ZXIgZmluZGluZyBhIGNsdXN0ZXIgaWQgaW4gdGhlIGJ5dGUgcmVhZGVyLCB3ZSBza2lwIGFoZWFkIHRoZSByZWFkZXIKCSAgcG9zaXRpb24gYnkgb25lIGZ1cnRoZXIgYnl0ZSB0byBiZSBhYmxlIHRvIGNvbnRpbnVlIHNlYXJjaGluZyBmcm9tIHRoZXJlCgkgIGluc2lkZSB0aGUgc2FtZSBjaHVuayBpZiB0aGUgY2x1c3RlciBjYW5kaWRhdGUgd2FzIGEgZmFsc2UgcG9zaXRpdmUuCgkgIFdlIGhhdmUgdG8gYWNjb21vZGF0ZSBmb3IgdGhhdCBhZGRpdGlvbmFsIGJ5dGUgd2hlbiByZXN1bWluZyB0aGUgc2VhcmNoLAoJICBvdGhlcndpc2UgYWxsIGZvbGxvd2luZyBwdWxscyBhcmUgb2ZmLWJ5LW9uZSBmb3IgZXZlcnkgcmVzdW1lIGFuZCB3ZSBydW4KCSAgaW50byBhbiBhc3NlcnRpb24uCgoyMDE2LTExLTIyIDIwOjAxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICBtYXRyb3NrYTogQWRkIHNpemUgY2hlY2tzIHRvIHRoZSBwYXJzaW5nIG9mIEZMQUMgaGVhZGVycwoKMjAxNi0xMS0yMiAyMzo0NjowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBmaXggc29tZSB3YXJuaW5ncyBjb21wYXJpbmcgdW5zaWduZWQgPCAwCgkgIGJmNDNmNDRmY2ZhZGE1ZWM0YTNjZTYwY2IzNzQzNDA0ODZmZTlmYWMgd2FzIGNvbXBhcmluZyBhbiB1bnNpZ25lZAoJICBleHByZXNzaW9uIHRvIGJlIDwgMCB3aGljaCB3YXMgYWx3YXlzIGZhbHNlLgoJICBnc3RmbHhkZWMuYzogSW4gZnVuY3Rpb24g4oCYZmx4X2RlY29kZV9icnVu4oCZOgoJICBnc3RmbHhkZWMuYzozMjI6MzM6IHdhcm5pbmc6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMgYWx3YXlzIGZhbHNlIFstV3R5cGUtbGltaXRzXQoJICBpZiAoKGdsb25nKSByb3cgLSBjb3VudCA8IDApIHsKCSAgXgoJICBnc3RmbHhkZWMuYzozMzI6MzM6IHdhcm5pbmc6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMgYWx3YXlzIGZhbHNlIFstV3R5cGUtbGltaXRzXQoJICBpZiAoKGdsb25nKSByb3cgLSBjb3VudCA8IDApIHsKCSAgXgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODM0CgoyMDE2LTExLTIxIDE2OjE3OjMxICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEVuYWJsZSB1cCB0byAxNiB1bnBvc2l0aW9uZWQgcmF3IGF1ZGlvIGNoYW5uZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ3ODkKCjIwMTYtMTEtMjIgMTk6MDU6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogYWRkIHNvbWUgd3JpdGUgYm91bmRzIGNoZWNraW5nCgkgIFdpdGhvdXQgY2hlY2tpbmcgdGhlIGJvdW5kcyBvZiB0aGUgZnJhbWUgd2UgYXJlIHdyaXRpbmcgaW50bywgd2UgY2FuCgkgIHdyaXRlIG9mZiB0aGUgZW5kIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIuCgkgIGh0dHBzOi8vc2NhcnliZWFzdHNlY3VyaXR5LmJsb2dzcG90LmRrLzIwMTYvMTEvMGRheS1leHBsb2l0LWFkdmFuY2luZy1leHBsb2l0YXRpb24uaHRtbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODM0CgoyMDE2LTExLTIxIDE1OjI1OjIzICswMDAwICBEYXZpZCBFdmFucyA8YmJjcmRkYXZlQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBCZSBzdXJlIG5vdCB0byByZWFkIG9mZiBlbmQgb2YgRkxBQyBkZkxhIGJveAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNzEyCgoyMDE2LTExLTIxIDExOjQ4OjU4ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGQgc3VwcG9ydCBmb3Igc2tpcHBpbmcgaW52YWxpZCBkYXRhIGluIHB1c2ggbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTY2CgoyMDE2LTExLTIxIDExOjQ4OjI5ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thcGFyc2U6IGFkZCBzdXBwb3J0IGZvciBza2lwcGluZyBpbnZhbGlkIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDU2NgoKMjAxNi0xMS0xOCAxNzowMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogTW92ZSB0byBuZXcgaGVscGVyIGZ1bmN0aW9uIHRvIHBhcnNlIGF1dGhlbnRpY2F0aW9uIHJlc3BvbnNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDE2CgoyMDE2LTExLTIwIDE0OjEyOjE2ICswMTAwICBjaHJpc3RvcGhlY3ZyIDxzdGVmYW5zYXRAdGVsZW5ldC5iZT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggd3JvbmcgY29tcGlsZXIgd2FybmluZyB3aXRoIGdjYyA2LjIKCSAgfCAuLi8uLi8uLi9naXQvZ3N0L2lzb21wNC9xdGRlbXV4LmM6IEluIGZ1bmN0aW9uICdxdGRlbXV4X3BhcnNlX3RyZWUnOgoJICB8IC4uLy4uLy4uL2dpdC9nc3QvaXNvbXA0L3F0ZGVtdXguYzoxMDIyNDoyNDogZXJyb3I6ICdzaXplJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KCSAgfCAgICAgICAgICAgICAgICAgIG9mZnNldCArPSBzaXplOwoJICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+CgkgIHwgLi4vLi4vLi4vZ2l0L2dzdC9pc29tcDQvcXRkZW11eC5jOjEwMTk3OjI1OiBub3RlOiAnc2l6ZScgd2FzIGRlY2xhcmVkIGhlcmUKCSAgfCAgICAgICAgICAgICAgICAgIGd1aW50MzIgc2l6ZSwgdGFnOwoJICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ3NDcKCjIwMTYtMTEtMjAgMTY6MTU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogcmVtb3ZlIGNvcGllcyBvZiBnZW5lcmF0ZWQgaGVhZGVycwoKMjAxNi0xMS0yMCAxMzoxNDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogRW5zdXJlIHRoYXQgcmF3IHZpZGVvIGhhdmUgcHJvcGVybHkgYWxpZ25lZCBidWZmZXJzCgkgIFRoYXQgaXMsIGFsaWduZWQgdG8gdG8gMzIgYnl0ZXMgZm9yIHZpZGVvLiBGaXhlcyBjcmFzaGVzIGlmIHRoZSByYXcKCSAgYnVmZmVycyBhcmUgcGFzc2VkIHRvIFNJTUQgcHJvY2Vzc2luZyBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MjgKCjIwMTYtMTEtMjAgMTM6MDg6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRW5zdXJlIHRoYXQgcmF3IGF1ZGlvIGFuZCB2aWRlbyBoYXZlIHByb3Blcmx5IGFsaWduZWQgYnVmZmVycwoJICBUaGF0IGlzLCBhbGlnbmVkIHRvIHRoZSBiYXNpYyB0eXBlIGZvciBhdWRpbyBhbmQgdG8gMzIgYnl0ZXMgZm9yIHZpZGVvLgoJICBGaXhlcyBjcmFzaGVzIGlmIHRoZSByYXcgYnVmZmVycyBhcmUgcGFzc2VkIHRvIFNJTUQgcHJvY2Vzc2luZyBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MjgKCjIwMTYtMTEtMTQgMTQ6NDQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBbHdheXMgd3JpdGUgZWRpdCBsaXN0cyBmb3IgdGhlIHRyYWNrcyB0byBnaXZlIGEgbW9yZSBhY2N1cmF0ZSBkdXJhdGlvbgoJICBBbHdheXMgd3JpdGUgYW4gZWRpdCBsaXN0IGZvciB0aGUgd2hvbGUgdHJhY2suIEluIGdlbmVyYWwgdGhpcyBpcyBub3QKCSAgbmVjZXNzYXJ5IGV4Y2VwdCBmb3IgdGhlIGNhc2Ugb2YgaGF2aW5nIGEgZ2FwIG9yIERUUyBhZGp1c3RtZW50IGJ1dAoJICBpdCBhbGxvd3MgdG8gZ2l2ZSB0aGUgd2hvbGUgdHJhY2sncyBkdXJhdGlvbiBpbiB0aGUgdXN1YWxseSBtb3JlCgkgIGFjY3VyYXRlIG1lZGlhIHRpbWVzY2FsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQwMwoKMjAxNi0xMS0xOCAyMjo0NTo0NSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIHVzZWxlc3MgcmV0dXJuIHZhcmlhYmxlCgkgIHF0ZGVtdXhfZXhwb3NlX3N0cmVhbXMoKSByZXR1cm5zIGZsb3cgZXJyb3IgaW1tZWRpYXRlbHksIGlmIHRoZXJlIGlzIGFuIGVycm9yLgoJICBTbywgdGhlIHZhcmlhYmxlIGZvciB0aGUgZmxvdyByZXR1cm4gaXMgbm90IG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDY3NAoKMjAxNi0xMS0xNyAxMzo1OTo0OCArMDAwMCAgRGF2aWQgRXZhbnMgPGJiY3JkZGF2ZUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBGTEFDIGVuY2Fwc3VsYXRlZCBpbiBJU09CTUZGCgkgIEFzIGRlZmluZWQgYnkKCSAgaHR0cHM6Ly9naXQueGlwaC5vcmcvP3A9ZmxhYy5naXQ7YT1ibG9iX3BsYWluO2Y9ZG9jL2lzb2ZsYWMudHh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM3MTIKCjIwMTYtMTEtMTcgMTk6NTk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBNYXJrIHBhZCBhcyBuZWVkaW5nIHJlY29uZmlndXJhdGlvbiBhZ2FpbiBpZiBpdCBmYWlsZWQKCSAgQW5kIHJldHVybiBGTFVTSElORyBpbnN0ZWFkIG9mIE5PVF9ORUdPVElBVEVEIG9uIGZsdXNoaW5nIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2MjMKCjIwMTYtMTEtMTcgMTk6NTk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IE1hcmsgcGFkIGFzIG5lZWRpbmcgcmVjb25maWd1cmF0aW9uIGFnYWluIGlmIGl0IGZhaWxlZAoJICBBbmQgcmV0dXJuIEZMVVNISU5HIGluc3RlYWQgb2YgTk9UX05FR09USUFURUQgb24gZmx1c2hpbmcgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDYyMwoKMjAxNi0xMS0xNyAxOTo1ODo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogTWFyayBwYWQgYXMgbmVlZGluZyByZWNvbmZpZ3VyYXRpb24gYWdhaW4gaWYgcmVjb25maWd1cmF0aW9uIGZhaWxlZAoJICBBbmQgY29uc2lkZXIgbmVnb3RpYXRpb24gZmFpbHVyZXMgb24gZmx1c2hpbmcgcGFkcyBhcyBGTFVTSElORywgbm90IGFzCgkgIE5PVF9ORUdPVElBVEVELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjIzCgoyMDE2LTExLTE3IDE5OjU2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIGR2ZGVjOiBGaXggaGFuZGxpbmcgb2YgbmVnb3RpYXRpb24gZmFpbHVyZXMKCSAgUmV0dXJuIE5PVF9ORUdPVElBVEVEIGlmIHNlbmRpbmcgdGhlIGNhcHMgZXZlbnQgZmFpbHMsIG9yIEZMVVNISU5HIGlmCgkgIHRoZSBwYWQgd2FzIGZsdXNoaW5nIGF0IHRoYXQgcG9pbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2MjMKCjIwMTYtMTEtMTcgMTc6MTY6MjYgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBhZGRfZ2xvYmFsX2FyZ3VtZW50cyAtPiBhZGRfcHJvamVjdF9hcmd1bWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDY1NgoKMjAxNi0xMS0xNiAxMDo1Mzo1MSArMDUzMCAgVmlub2QgS2VzdGkgPHZpbm9ka2VzdGlAeWFob28uY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBwYWQgcmVxdWVzdCBmYWlscyBmb3IgZmx2bXV4CgkgIHNwbGl0bXV4c2luayByZXF1ZXN0cyBwYWQgZnJvbSBlbGVtZW50IHVzaW5nIHBhZCB0ZW1wbGF0ZSBsaWtlICJ2aWRlb18ldSIsICJhdWRpb18ldSIgYW5kICJzaW5rXyVkIi4gVGhpcyBpcyB0cnVlIGZvciBtb3N0IG9mIHRoZSBtdXhlcnMuCgkgIEJ1dCBzcGxpdG11eHNpbmsgbm90IGFibGUgdG8gcmVxdWVzdCBwYWQgdG8gZmx2bXV4IGFzIGZsdm11eCBoYXMgImF1ZGlvIiBhbmQgInZpZGVvIiBhcyBwYWQgdGVtcGxhdGVzLgoJICBmaXg6IHNwbGl0bXV4c2luayBzaG91bGQgZmFsbGJhY2sgdG8gImF1ZGlvIiBhbmQgICJ2aWRlbyIgd2hlbiB0ZW1wbGF0ZSBub3QgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1MDcKCjIwMTYtMTEtMTcgMTA6MjQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogQWRkIHJlbWFpbmluZyByZWxldmFudCBwYXJ0cyBmcm9tIGEzYTU1MzA1IHRvIHRoZSBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDU2NgoKMjAxNi0xMS0xNiAyMjozOTowMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogaWdub3JlIHBhcnNpbmcgZXJyb3JzIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUKCSAgVGhpcyBpcyB0aGUgc2FtZSBjaGFuZ2UgYXMgYTNhNTUzMDUgZm9yIHRoZSBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1NjYKCjIwMTYtMTEtMTYgMDg6NTY6MzQgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJ1bmRsZS5jOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBidW5kbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBidW5kbGUuYzoKCSAgcnRwYmluOiByZWNlaXZlIGJ1bmRsZSBzdXBwb3J0CgkgIEEgbmV3IHNpZ25hbCBuYW1lZCBvbi1idW5kbGVkLXNzcmMgaXMgcHJvdmlkZWQgYW5kIGNhbiBiZQoJICB1c2VkIGJ5IHRoZSBhcHBsaWNhdGlvbiB0byByZWRpcmVjdCBhIHN0cmVhbSB0byBhIGRpZmZlcmVudAoJICBHc3RSdHBTZXNzaW9uIG9yIHRvIGtlZXAgdGhlIFJUWCBzdHJlYW0gZ3JvdXBlZCB3aXRoaW4gdGhlCgkgIEdzdFJ0cFNlc3Npb24gb2YgdGhlIHNhbWUgbWVkaWEgdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mjc0MAoKMjAxNi0xMS0xNSAxNjo1MjozOSArMDUzMCAgVmlub2QgS2VzdGkgPHZpbm9ka2VzdGlAeWFob28uY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYXNzZXJ0aW9uIHdoaWxlIGNvbnZlcnRpbmcgQURUUyBzdHJlYW0gdG8gUkFXCgkgIGFhY3BhcnNlIHJlc2l6ZXMgaW5wdXQgYnVmZmVyIHdoaWxlIGNvbnZlcnRpbmcgQURUUyBzdHJlYW0gdG8gUkFXLAoJICBEdXJpbmcgYnVmZmVyIHJlc2l6ZSBidWZmZXIgd3JpdGUgcGVybWlzc2lvbiBpcyBub3QgY2hlY2tlZC4KCSAgVGhpcyB0aHJvd3MgZ3N0X2J1ZmZlcl9pc193cml0YWJsZSBhc3NlcnRpb24gYW5kIGxlYWRzIHRvIEFWIHN5bmMgaXNzdWUgc29tZSB0aW1lcy4KCSAgSXQgaXMgY29ycmVjdGVkIGJ5IG1ha2luZyBidWZmZXIgd3JpdGVhYmxlIHVzaW5nIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MTI5CgoyMDE2LTExLTE1IDIxOjE3OjUxICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBtb2RpZnkgdXBzdHJlYW0gVElNRSBzZWdtZW50CgkgIFRJTUUgc2VnbWVudCBpbXBsaWVzIHRoYXQgc3RyZWFtL3J1bm5pbmcgdGltZSBpcyBiZWluZyBoYW5kbGVkIGJ5IHVwc3RyZWFtLgoJICBTbywgd2Ugc2hvdWxkbid0IG92ZXJyaWRlIGl0IHdpdGhvdXQgYW55IGNsdWUuCgkgIFRoaXMgcGF0Y2ggaXMgZm9yIGZpeGluZyBzZWVrIGluIERBU0ggc3RyZWFtaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MTk2CgoyMDE2LTExLTE0IDIyOjMzOjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZy5oLm1lc29uOgoJICBtZXNvbjogQWRkIGRlZmluZSBmb3IgdjRsMi1wcm9iZSBjb25maWcgb3B0aW9uCgoyMDE2LTExLTE0IDE3OjM3OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogUmVzZXQgY2FwcyBhY2N1bXVsYXRvciB0byBBTlkgd2hlbiByZXN5bmNpbmcgdGhlIGFkYXB0ZXIsIG5vdCBFTVBUWQoJICBUaGUgYWNjdW11bGF0b3IgaXMgZmlsbGVkIGJ5IGludGVyc2VjdGluZyB3aXRoIGFsbCB0aGUgcGFkIGNhcHMsIGFzIHN1Y2gKCSAgaXQgbXVzdCBiZSBpbml0aWFsaXplZCB3aXRoIEFOWSAobGlrZSBpdCBpcyBiZWZvcmUgdGhlIGl0ZXJhdGlvbiBpcwoJICBzdGFydGVkKSBhbmQgbm90IHRvIEVNUFRZLgoJICBGaXhlcyB0aGUgQ0FQUyBxdWVyeSBhbHdheXMgcmV0dXJuaW5nIEVNUFRZIGNhcHMgd2hlbiByZXN5bmNpbmcgaGFwcGVuZWQKCSAgZHVyaW5nIHRoZSBxdWVyeSwgZS5nLiBiZWNhdXNlIHBhZHMgd2VyZSBhZGRlZC9yZW1vdmVkLgoKMjAxNi0xMS0xNCAxMjoxMzoxNCArMDEwMCAgUGV0ciBLdWxoYXZ5IDxicmFpbkBqaWtvcy5jej4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogcmVtb3ZlIHJlZHVuZGFudCBzYWRkciB1bnJlZgoJICBUaGUgZ19vYmplY3RfdW5yZWYgKHNhZGRyKSBiZWZvcmUgcmVjZWl2aW5nIG1lc3NhZ2Ugc2VlbXMgdG8gYmUgcmVkdW5kYW50IGFzIGl0CgkgIGlzIGRvbmUganVzdCBiZWZvcmUganVtcGluZyB0byByZXRyeQoJICBUaG91Z2ggbm90IGRpcmVjdGx5IHJlbGF0ZWQsIHBhcnQgb2YKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mjg0MQoKMjAxNi0xMS0xMiAyMzozNDoyMyArMDEwMCAgUGV0ciBLdWxoYXZ5IDxicmFpbkBqaWtvcy5jej4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogcmVjZWl2ZSBjb250cm9sIG1lc3NhZ2VzIG9ubHkgaW4gbXVsdGljYXN0CgkgIENvbnRyb2wgbWVzc2FnZXMgYXJlIHVzZWQgb25seSBpbiBtdWx0aWNhc3QgbW9kZSAtIHRvIGRldGVjdCBpZiB0aGUgZGVzdGluYXRpb24KCSAgYWRkcmVzcyBpcyBub3Qgb3VycyBhbmQgcG9zc2libHkgZHJvcCB0aGUgcGFja2V0LiBIb3dldmVyIGluIG5vbi1tdWx0aWNhc3QKCSAgbW9kZXMgdGhlIG1lc3NhZ2VzIGFyZSBzdGlsbCBhbGxvY2F0ZWQgYW5kIGZyZWVkIGV2ZW4gaWYgbm90IHVzZWQuIFRoZXJlZm9yZQoJICByZXF1ZXN0IGNvbnRyb2wgbWVzc2FnZXMgZnJvbSBnX3NvY2tldF9yZWNlaXZlX21lc3NhZ2UoKSBvbmx5IGluIG11bHRpY2FzdAoJICBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyODQxCgoyMDE2LTExLTExIDEwOjQ1OjAxIC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgVXNlIGludGVybWVkaWF0ZSBndWludCB3aGVuIGhhbmRsaW5nIEdzdFZpZGVvTXVsdGl2aWV3RmxhZ3MKCSAgVGhlIHVuZGVybHlpbmcgaW50ZWdlciB0eXBlIG9mIHRoZSBlbnVtIEdzdFZpZGVvTXVsdGl2aWV3RmxhZ3MgaXMKCSAgaW1wbGVtZW50YXRpb24gZGVmaW5lZCBhbmQgbWF5IG5vdCBoYXZlIHRoZSBzYW1lIHNpemUgYXMgZ3VpbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyOTMKCjIwMTYtMTEtMTEgMTA6NDQ6MTggLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiB1cGRhdGUgdXJpX2dldF90eXBlIHRvIG1hdGNoIHRoZSBwcm90b3R5cGUgaW4gR3N0VVJJSGFuZGxlckludGVyZmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MjkzCgoyMDE2LTEwLTI2IDIyOjM3OjM0IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogZG9uJ3QgYWRkX2dsb2JhbF9hcmd1bWVudHMgd2hlbiBiZWluZyBidWlsdCBhcyBhIHN1YnByb2plY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzU2OAoKMjAxNi0xMC0yMSAxNTo0OTozNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGZpeCBoZWFkZXIgcmV3cml0aW5nIGJlaW5nIGlnbm9yZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzgwMgoKMjAxNi0xMS0wOSAwNjoyNToyNyArMDAwMCAgU2VhbiBEdUJvaXMgPHNlYW5Ac2lvYnVkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWRkIG1ldGFkYXRhY3JlYXRvciBwcm9wZXJ0eQoJICBBbGxvdyB1c2VycyB0byBzZXQgbWV0YWRhdGFjcmVhdG9yIHZhbHVlIGluIHRoZSBtZXRhIHBhY2tldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MTMxCgoyMDE2LTExLTAxIDE5OjU2OjM2ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogVXNlIGZpcnN0IGJ1ZmZlciBUUyBhcyBtdXggc3RhcnQgdGltZQoJICBEbyBub3QgdXNlIGxhc3QgYnVmZmVyIFRTICsgYnVmZmVyIGR1cmF0aW9uIGJlY2F1c2UgYnVmZmVyIGR1cmF0aW9uCgkgIG1pZ2h0IGJlIGluYWNjdXJhdGUsIGVzcGVjaWFsbHkgZm9yIGZyYW1lIHJhdGVzIGxpa2UgMzBmcHMgd2hlcmUgYQoJICByb3VuZGluZyBlcnJvciBpcyBvYnNlcnZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mzc4NQoKMjAxNi0xMS0wNyAxNDo0NzoyMiArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L3F0L2dzdHF0c3JjLmNjOgoJKiBleHQvcXQvZ3N0cXRzcmMuaDoKCSogZXh0L3F0L3F0d2luZG93LmNjOgoJKiBleHQvcXQvcXR3aW5kb3cuaDoKCSAgcW1sZ2xzcmM6IHNvbWUgZW5oYW5jZW1lbnRzIGZvciBxbWxnbHNyYwoJICAxLiBOZWVkIHNldCB1c2UtZGVmYXVsdC1mYm8gdG8gcXF1aWNrd2luZG93IGR1cmluZyBzZXQgcHJvcGVydHkKCSAgdG8gc3VwcG9ydCBjaGFuZ2UgcmVuZGVyIHRhcmdldCBvbiB0aGUgZmx5LgoJICAyLiBDYWxjdWxhdGUgcW1sZ2xzcmMgcmVmcmVzaCBmcmFtZSByYXRlIGluIHF0Z2x3aW5kb3cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDAzNQoKMjAxNi0xMS0wMyAxNTowMzo1OSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCB0aW1lci1yZXVzZSBidWcKCSAgV2hlbiBkb2luZyBydHgsIHRoZSBqaXR0ZXJidWZmZXIgd2lsbCBhbHdheXMgYWRkIGFuIHJ0eC10aW1lciBmb3IgdGhlIG5leHQKCSAgc2VxdWVuY2UgbnVtYmVyLgoJICBJbiB0aGUgY2FzZSBvZiB0aGUgcGFja2V0IGNvcnJlc3BvbmRpbmcgdG8gdGhhdCBzZXF1ZW5jZSBudW1iZXIgYXJyaXZpbmcsCgkgIHRoYXQgc2FtZSB0aW1lciB3aWxsIGJlIHJldXNlZCwgYW5kIHNpbXBseSBtb3ZlZCBvbiB0byB3YWl0IGZvciB0aGUKCSAgZm9sbG93aW5nIHNlcXVlbmNlIG51bWJlciBldGMuCgkgIE9uY2UgYW4gcnR4LXRpbWVyIGV4cGlyZXMgKGFmdGVyIGFsbCByZXRyaWVzKSwgaXQgd2lsbCBiZSByZXNjaGVkdWxlZCBhcwoJICBhIGxvc3QtdGltZXIgaW5zdGVhZCBmb3IgdGhlIHNhbWUgc2VxdWVuY2UgbnVtYmVyLgoJICBOb3csIGlmIHRoaXMgcGFydGljdWxhciBzZXF1ZW5jZS1udW1iZXIgbm93IGFycml2ZXMgKGFmdGVyIHRoZSB0aW1lciBoYXMKCSAgYmVjb21lIGEgbG9zdC10aW1lciksIHRoZSByZXVzZSBtZWNoYW5pc20gKnNob3VsZCogbm93IHNldCBhIG5ldwoJICBydHgtdGltZXIgZm9yIHRoZSBuZXh0IHNlcXVlbmNlIG51bWJlciwgYnV0IHRoZSBidWcgaXMgdGhhdCBpdCBkb2VzCgkgIG5vdCBjaGFuZ2UgdGhlIHRpbWVyLXR5cGUsIGFuZCBoZW5jZSBzY2hlZHVsZXMgYSBsb3N0LXRpbWVyIGZvciB0aGF0CgkgIGZvbGxvd2luZyBzZXF1ZW5jZSBudW1iZXIsIHdpdGggdGhlIHJlc3VsdCB0aGF0IHlvdSB3aWxsIGhhdmUgYSB2ZXJ5CgkgIGVhcmx5IGxvc3QtZXZlbnQgZm9yIGEgcGFja2V0IHRoYXQgbWlnaHQgc3RpbGwgYXJyaXZlLCBhbmQgeW91IHdpbGwKCSAgbmV2ZXIgYmUgYWJsZSB0byBzZW5kIGFueSBydHggZm9yIHRoaXMgcGFja2V0LgoJICBGb3VuZCBieSBFcmxlbmQgR3JhZmYgLSBlcmxlbmRAcGV4aXAuY29tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM4OTEKCjIwMTYtMTAtMDkgMTU6NTk6MDUgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBsb3N0LWV2ZW50IHVzaW5nIGR0cyBpbnN0ZWFkIG9mIHB0cwoJICBUaGUgbG9zdC1ldmVudCB3YXMgdXNpbmcgYSBkaWZmZXJlbnQgdGltZS1kb21haW4gKGR0cykgdGhhbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVycyAocHRzKS4gR2l2ZW4gY2VydGFpbiBuZXR3b3JrLWNvbmRpdGlvbnMgdGhlc2UgdHdvIHdvdWxkIGJlY29tZQoJICBzdWZmaWNpZW50bHkgZGlmZmVyZW50IGFuZCB0aGUgbG9zdC1ldmVudCBjb250YWluZWQgdGltZXN0YW1wL2R1cmF0aW9uCgkgIHRoYXQgd2FzIHJlYWxseSB3cm9uZy4gQXMgYW4gZXhhbXBsZSBHc3RBdWRpb0RlY29kZXIgY291bGQgcHJvZHVjZQoJICBhIHN0cmVhbSB0aGF0IGp1bXBzIGJhY2sgYW5kIGZvcnRoIGluIHRpbWUgYWZ0ZXIgcmVjZWl2aW5nIGEgbG9zdC1ldmVudC4KCSAgVGhlIHByZXZpb3VzIGJlaGF2aW9yIGNhbGN1bGF0ZWQgdGhlIHB0cyAoYmFzZWQgb24gdGhlIHJ0cHRpbWUpIGluc2lkZSB0aGUKCSAgcnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0IGZ1bmN0aW9uLCBidXQgbm93IHRoaXMgZnVuY3Rpb25hbGl0eSBoYXMgYmVlbgoJICByZWZhY3RvcmVkIGludG8gYSBuZXcgZnVuY3Rpb24gcnRwX2ppdHRlcl9idWZmZXJfY2FsY3VsYXRlX3B0cyB0aGF0IGlzCgkgIGNhbGxlZCBtdWNoIGVhcmxpZXIgaW4gdGhlIF9jaGFpbiBmdW5jdGlvbiB0byBtYWtlIHB0cyBhdmFpbGFibGUgdG8KCSAgdmFyaW91cyBjYWxjdWxhdGlvbnMgdGhhdCB3cm9uZ2x5IHVzZWQgZHRzIHByZXZpb3VzbHkKCSAgKGxpa2UgdGhlIGxvc3QtZXZlbnQpLgoJICBUaGVyZSBhcmUgaG93ZXZlciB0d28gY2FsY3VsYXRpb25zIHdoZXJlIHVzaW5nIGR0cyBpcyB0aGUgcmlnaHQgdGhpbmcgdG8KCSAgZG86IGNhbGN1bGF0aW5nIHRoZSByZWNlaXZlLWppdHRlciBhbmQgdGhlIHJ0eC1yb3VuZC10cmlwLXRpbWUsIHdoZXJlIHRoZQoJICBhcnJpdmFsIHRpbWUgb2YgdGhlIGJ1ZmZlciBmcm9tIHRoZSBuZXR3b3JrIGlzIHRoZSByaWdodCBtZXRyaWMKCSAgKGFuZCBpcyB3aGF0IGR0cyBpbiBmYWN0IGlzIHRvZGF5KS4KCSAgVGhlIHBhdGNoIGFsc28gYWRkcyB0d28gdGVzdHMgcmVnYXJkaW5nIEItZnJhbWVzIG9yIHRoZQoJICDigJxydHB0aW1lLWdvaW5nLWJhY2t3YXJkc+KAnS1zY2VuYXJpbywgYXMgdGhlcmUgd2VyZSBzb21lIGNvbmNlcm5zIHRoYXQgdGhpcwoJICBwYXRjaCBtaWdodCBicmVhayB0aGlzIGJlaGF2aW9yICh3aGljaCB0aGUgdGVzdHMgc2hvd3MgaXQgZG9lcyBub3QpLgoKMjAxNi0xMS0wMyAxNjozMzo1MyArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBidWcgaW4gcmVzY2hlZHVsZV90aW1lcgoJICBUaGUgbmV3IHRpbWVvdXQgaXMgYWx3YXlzIGdvaW5nIHRvIGJlICh0aW1lb3V0ICsgZGVsYXkpLCBob3dldmVyLCB0aGUKCSAgb2xkIGJlaGF2aW9yIGNvbXBhcmVkIHRoZSBjdXJyZW50IHRpbWVvdXQgdG8ganVzdCAodGltZW91dCksIGJhc2ljYWxseQoJICBiZWluZyAoZGVsYXkpIG9mZi4KCSAgVGhpcyB3b3VsZCBoYXBwZW4gaWYgcnR4LWRlbGF5ID09IHJ0eC1yZXRyeS10aW1lb3V0LCB3aXRoIHRoZSByZXN1bHQgdGhhdAoJICBhIHNlY29uZCBydHggYXR0ZW1wdCBmb3IgYW55IGJ1ZmZlcnMgd291bGQgYmUgc2NoZWR1bGVkIGltbWVkaWF0ZWx5IGluc3RlYWQKCSAgb2YgYWZ0ZXIgcnR4LWRlbGF5IG1zLgoJICBTaW1wbHkgY2FsY3VsYXRlIChuZXdfdGltZW91dCA9IHRpbWVvdXQgKyBkZWxheSkgYW5kIHRoZW4gdXNlIHRoYXQgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzkwNQoKMjAxNi0xMS0wMyAxMzoyNzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhcnNlLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9hdWRpb3Rlc3RzcmMud2F2OgoJICB0ZXN0czogd2F2cGFyc2U6IGFkZCB0ZXN0IGZvciBwcm9jZXNzaW5nIGFuIGFjdHVhbCAud2F2IGZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mzg2MQoKMjAxNi0xMS0wMyAxMjozNDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3Qgc2V0IGNhcHMgdG8gTlVMTCBhZnRlciBzZXR0aW5nIHRoZW0gb24gdGhlIHNyY3BhZAoJICBXZSB3b3VsZCBsaWtlIHRvIGNoZWNrIGxhdGVyIG9uIEVPUyBpZiB3ZSBmb3VuZCBhIGtub3duIHN0cmVhbSB0eXBlIG9yCgkgIG5vdCwgdG8gcG9zc2libHkgcG9zdCBhbiBlcnJvciBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczODYxCgoyMDE2LTEwLTA1IDEyOjE5OjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBnbDogR1NUX0dMX1RZUEUgLT4gR1NUX1RZUEVfR0wKCSAgU29tZSBkZXByZWNhdGVkIHN5bWJvbHMgYXJlIGtlcHQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CgoyMDE2LTEwLTA1IDEyOjE5OjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvZ3N0cXRzcmMuY2M6CgkgIGdsOiBHU1RfR0xfVFlQRSAtPiBHU1RfVFlQRV9HTAoJICBTb21lIGRlcHJlY2F0ZWQgc3ltYm9scyBhcmUga2VwdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCjIwMTYtMTEtMDIgMTQ6MzM6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCBkZXJlZiBOVUxMIHBhZHMgaW4gZGVidWcgb3V0cHV0CgkgIFRoYXQgdGVuZHMgdG8gY3Jhc2guCgoyMDE2LTExLTAyIDExOjQ2OjA3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IERvbid0IHVzZSBnc3RfdmlkZW9fY29sb3JpbWV0cnlfdG9fc3RyaW5nX2Z1bGwoKQoJICBUaGUgQVBJIHdhcyByZXZlcnRlZC4gSnVzdCB1c2UgdGhlIHBsYWluCgkgIGdzdF92aWRlb19jb2xvcmltZXRyeV90b19zdHJpbmcoKSBmdW5jdGlvbi4KCjIwMTYtMTEtMDIgMTE6MDA6MTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBGaXggR09iamVjdCB3YXJuaW5ncyBvbiBzaHV0ZG93bi4KCSAgQ29tbWl0IDgzZTcxOCBhZGRlZCBhIHBhZCB0ZW1wbGF0ZSB0byBzcGxpdG11eCByZXF1ZXN0CgkgIHBhZHMsIHdoaWNoIG1lYW5zIHRoYXQgR3N0RWxlbWVudCBub3cgcmVsZWFzZXMgdGhlIHBhZHMgb24KCSAgZGlzcG9zZSwgYnV0IGFmdGVyIGhhdmluZyByZW1vdmVkIGFsbCBlbGVtZW50cyBpbiB0aGUgYmluCgkgIGFuZCB1bmxpbmtlZCB0aGVtLiBNYWtlIHN1cmUgd2UgY2FuIGhhbmRsZSBjbGVhbnVwIGluIHRoYXQgY2FzZQoJICB3aXRob3V0IHRocm93aW5nIGFzc2VydGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM3ODQKCjIwMTYtMTEtMDIgMDI6MjU6NTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmg6CgkgIHNwbGl0bXV4c3JjOiBTdG9yZSBzZWVrIHNlcW51bSBhbmQgc2VuZCBpdCBvbiBFT1MgLyBzZWdtZW50IGV2ZW50cy4KCSAgR0VTIHJlbGllcyBvbiB0aGUgRU9TIGV2ZW50IGhhdmluZyB0aGUgc2VxbnVtIG9mIHRoZSBzZWVrIHRoYXQKCSAgY2F1c2VkIGl0LgoKMjAxNi0xMS0wMiAwMjoyNTowMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBGb3J3YXJkIGEgbm90LWxpbmtlZCBlcnJvciBvbiB0aGUgYnVzCgkgIEhhbmRsZSBub3QtbGlua2VkIGFzIGZvciBvdGhlciBmYXRhbCBlcnJvcnMgYW5kIHBvc3QgaXQKCSAgb250byB0aGUgYnVzIHNvIHRoZSBhcHAga25vd3MKCjIwMTYtMTEtMDEgMjE6MDA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgcXRkZW11eC5jOiBJbiBmdW5jdGlvbiDigJhxdGRlbXV4X3BhcnNlX3RyZWXigJk6CgkgIHF0ZGVtdXguYzoxMDEzOToxNjogZXJyb3I6IOKAmGNvbG9yX3RhYmxlX2lk4oCZIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICBpZiAoY29sb3JfdGFibGVfaWQgIT0gMCkgewoJICBeCgkgIHF0ZGVtdXguYzoxMDEyMToxOTogbm90ZTog4oCYY29sb3JfdGFibGVfaWTigJkgd2FzIGRlY2xhcmVkIGhlcmUKCSAgZ3VpbnQxNiBjb2xvcl90YWJsZV9pZDsKCSAgXn5+fn5+fn5+fn5+fn4KCjIwMTYtMTAtMjAgMTc6NDA6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgYSBkZWZhdWx0IGludGVybGVhdmUgb2YgMjUwbXMgZm9yIGFsbCBjb2RlY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzIxNwoKMjAxNi0xMC0xOSAxNDozMzozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBhIGRlZmF1bHQgaW50ZXJsZWF2ZSB3aGVuIFByb1JlcyBpcyB1c2VkCgkgIFRoZSBQcm9SZXMgZ3VpZGVsaW5lcyBzdWdnZXN0IGFuIGludGVybGVhdmUgb2YgMC41cyBpcyBjb21tb24sIGJ1dAoJICBzcGVjaWZpZXMgdGhhdCBmb3IgUHJvUmVzIGF0IG1vc3QgMk1CIChmb3IgU0QpIGFuZCA0TUIgKGZvciBIRCkgc2hvdWxkCgkgIGJlIHVzZWQgcGVyIGNodW5rLgoJICBJdCBtaWdodCBhbHNvIG1ha2Ugc2Vuc2UgdG8gdXNlIHNpbWlsYXIgbnVtYmVycyBpbiBnZW5lcmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE3CgoyMDE2LTEwLTE5IDE0OjI1OjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEFsbG93IGNvbmZpZ3VyaW5nIHRoZSBpbnRlcmxlYXZlIHNpemUgaW4gYnl0ZXMvdGltZQoJICBQcmV2aW91c2x5IHdlIHdlcmUgc3dpdGNoaW5nIGZyb20gb25lIGNodW5rIHRvIGFub3RoZXIgb24gZXZlcnkgc2luZ2xlCgkgIGJ1ZmZlci4gVGhpcyB3YXN0ZXMgc29tZSBzcGFjZSBpbiB0aGUgaGVhZGVycyBhbmQsIGRlcGVuZGluZyBvbiB0aGUKCSAgc29mdHdhcmUsIG1pZ2h0IGRlcGVuZCBpbiBtb3JlIHJlYWRzIChlLmcuIGlmIHRoZSBzb2Z0d2FyZSBpcyByZWFkaW5nCgkgIG11bHRpcGxlIHNhbXBsZXMgaW4gb25lIGdvIGlmIHRoZXkncmUgaW4gdGhlIHNhbWUgY2h1bmspLgoJICBUaGUgUHJvUmVzIGd1aWRlbGluZXMgc3VnZ2VzdCBhbiBpbnRlcmxlYXZlIG9mIDAuNXMgaXMgY29tbW9uLCBidXQKCSAgc3BlY2lmaWVzIHRoYXQgZm9yIFByb1JlcyBhdCBtb3N0IDJNQiAoZm9yIFNEKSBhbmQgNE1CIChmb3IgSEQpIHNob3VsZAoJICBiZSB1c2VkIHBlciBjaHVuay4gVGhpcyB3aWxsIGJlIGhhbmRsZWQgaW4gYSBmb2xsb3ctdXAgY29tbWl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE3CgoyMDE2LTA5LTMwIDE4OjIyOjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogU2V0IGNvbXByZXNzb3IgbmFtZSwgaG9yaXpvbnRhbC92ZXJ0aWNhbCByZXNvbHV0aW9uIGFuZCBkZXB0aCBmb3IgUHJvUmVzCgkgIFRoaXMgaXMgYWxzbyByZXF1aXJlZCBieSBzb21lIHNvZnR3YXJlIHRvIGhhbmRsZSBQcm9SZXMgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTYtMDktMzAgMTg6MDU6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdDogQWRkIHN1cHBvcnQgZm9yIFByb1JlcyA0NDQ0IFhRCgkgIEFuZCBhbHNvIDQ0NDQgaW4gdGhlIG11eGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA5LTMwIDE3OjU4OjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0bXV4OiBXcml0ZSAnY2xhcCcgYXRvbSBmb3IgUHJvUmVzCgkgIEl0J3MgcmVxdWlyZWQgZm9yIFByb1JlcyB0byB3b3JrIHdpdGggb3RoZXIgc29mdHdhcmUuCgkgIEl0IGlzIGFsc28gaW4gdGhlIE1QNCBzdGFuZGFyZCwgYnV0IGludmVudGluZyB2YWx1ZXMgaGVyZSBzZWVtcyBhIGJpdAoJICB0cmlja3kgZm9yIHRoZSBnZW5lcmFsIGNhc2UgYW5kIGl0IGRvZXMgbm90IHJlYWxseSBnaXZlIGFueSBleHRyYQoJICBpbmZvcm1hdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wOS0zMCAwOTo1NTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZWFkIGNvbG9yaW1ldHJ5IGluZm9ybWF0aW9uIGZyb20gY29sciBhdG9tIGlmIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTgxCgoyMDE2LTA5LTI5IDIxOjU2OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFsd2F5cyB3cml0ZSBjb2xyIGF0b20gd2l0aCB0aGUgY29sb3JpbWV0cnkgaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjE4MQoKMjAxNi0wOS0yOSAxODoxNjoxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggd3JpdGluZyBvZiB0aGUgJ2ZpZWwnIGV4dGVuc2lvbiBhdG9tCgkgIFRoaXMgd2FzIGFsc28gd3JvbmcgZm9yIEpQRUcyMDAwLiBBbHNvIHdyaXRlIGl0IGZvciBhbGwgTU9WIGZpbGVzIGFuZAoJICBKUEVHMjAwMCwgbm90IG9ubHkgZm9yIFByb1Jlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wOS0yOSAxNzo0MDoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IFdyaXRlIDQgYnl0ZXMgb2YgemVyb2VzIGF0IHRoZSBlbmQgb2YgdGhlIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb25zCgkgIFRoaXMgaXMgd29ya2luZyBhcm91bmQgc29tZSBicm9rZW4gc29mdHdhcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTYtMDktMjggMjA6NTU6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGF0b21zOiAncGFzcCcgYXRvbSBpcyBhbHNvIHBhcnQgb2YgTVA0LCB3cml0ZSBpdCBhbHdheXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wNy0xMSAxOTozMDoxMiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgYWRkaXRpb25hbCBhdG9tcyBmb3IgcHJvcmVzIHZpZGVvCgkgIFRoZXNlIHJlcXVpcmVkIGF0b21zIGFyZTogY29sb3JpbWV0cnksIGZpZWxkIGluZm9ybWF0aW9uLCBzcGF0aWFsL3RlbXBvcmFsCgkgIHF1YWxpdHksIGFuZCB2ZW5kb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTQtMDYtMTYgMTc6MjA6MzIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW4uc2VsbmVzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogRG9uJ3QgZHJvcCBtb2RlIGIgcGFja2V0cyB3aXRoIHBpY3R1cmUgc3RhcnQgY29kZQoJICBTb21lIGJ1Z2d5IHBheWxvYWRlcnMsIGUuZy4gcnRwaDI2M3BheSwgbWF5IHVzZSBtb2RlIEIgZm9yIHBhY2tldHMKCSAgdGhhdCBzdGFydHMgd2l0aCBhIHBpY3R1cmUgKG9yIEdPQikgc3RhcnQgY29kZSBhbHRob3VnaCBpdCdzIG5vdAoJICBhbGxvd2VkLiBMZXQncyBiZSBuaWNlIGFuZCBub3QgZHJvcCB0aGVzZSBwYWNrZXRzL2ZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUxNgoKMjAxNi0wNi0yMiAxMzo1OTozNSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkgIHJ0cGgyNjNwcGF5OiBGaXggY2FwcyBsZWFrCgkgIEZpeCBsZWFraW5nIGNhcHMgd2hlbiBkb3duc3RyZWFtIGhhcyBub3QtZml4ZWQgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUxNQoKMjAxNi0xMC0yNiAxNjo0MjoxOSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogRml4IGluZGVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MTQKCjIwMTYtMTAtMTggMTE6MzU6NTggKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IFVzZSBHU1RfVFJBQ0VfT0JKRUNUIGZvciBsb2dnaW5nIGJpdHN0cmVhbSBwYXJzaW5nCgkgIEJ1bXAgdGhlIGJpdHN0cmVhbSBwYXJzaW5nIHRvIFRSQUNFIGxvZyBsZXZlbCBzbyBpdCBkb2Vzbid0IGZsb29kIHRoZQoJICBvdXRwdXQgd2hlbiB0cnlpbmcgdG8gcmVhZCB0aGUgbW9yZSB1c2VmdWwgREVCVUcgYW5kIExPRyBtZXNzYWdlcy4KCSAgQWxzbyB1c2UgR1NUX0RFQlVHX09CSkVDVCBpbnN0ZWFkIG9mIEdTVF9ERUJVRyBpbiB2YXJpb3VzIHBsYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTE0CgoyMDE2LTEwLTE4IDExOjA5OjEwICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBGaXggbGVhayBmb3IgQi1mcmFnbWVudHMKCSAgQWx0b3VnaCBjb21taXRzIDZhMTZiZTcsIDY0ZjlkMDggYW5kIDBjN2UzYTggZml4ZWQgc29tZSBpc3N1ZXMgdGhleQoJICBpbnRyb2R1Y2VkIG90aGVycy4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgbGVhayBvZiBvbmUgbWFjcm9ibG9jayBmb3IgZXZlcnkKCSAgQiBmcmFnbWVudC4KCSAgTWFjcm9ibG9jayBzdHJ1Y3R1cmVzIG11c3Qgbm90IGJlIGZyZWVkIGltbWVkaWF0ZWx5IGFmdGVyIGZpbmRpbmcgdGhlCgkgIGJvdW5kYXJpZXMgYXMgdGhleSBhcmUgc3RvcmVkIGFuZCB1c2VkIGxhdGVyLiBIb3dldmVyIHRoZSBpbml0YWwgZHVtbXkKCSAgc3RydWN0dXJlICh1c2VkIGZvciBmaW5kaW5nIHRoZSBmaXJzdCBib3VuZGFyeSkgbXVzdCBiZSBmcmVlZC4KCSAgQ0lEICMxMjEyMTU2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MTIKCjIwMTYtMTAtMjAgMTM6MTQ6MTMgKzAyMDAgIEFsZWphbmRybyBHLiBDYXN0cm8gPGFsZXhAaWdhbGlhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBhdm9pZCBnZW5lcmF0aW5nIGVycm9ycyB3aGVuIHJ0Y3AgbWVzc2FnZXMgYXJlIGVtcHR5IGFuZCBjaGVjayB0aGUgcXVldWUgaXMgbm90IGVtcHR5CgkgIEFkZCBhIGNoZWNrIHRvIHZlcmlmeSBhbGwgdGhlIG91dHB1dCBidWZmZXJzIHdlcmUgZW1wdHkgZm9yIHRoZQoJICBzZXNzaW9uIGluIGEgdGltb3V0IGFuZCBsb2cgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMyNjkKCjIwMTYtMTAtMjYgMTM6MjE6MjkgKzAyMDAgIEFsZWphbmRybyBHLiBDYXN0cm8gPGFsZXhAaWdhbGlhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cGJpbjogcGlwZWxpbmUgZ2V0cyBhbiBFT1Mgd2hlbiBhbnkgcnRwc291cmNlcyBieWVzCgkgIEluc3RlYWQgb2Ygc2VuZGluZyBFT1Mgd2hlbiBhIHNvdXJjZSBieWVzIHdlIGhhdmUgdG8gd2FpdCBmb3IKCSAgYWxsIHRoZSBzb3VyY2VzIHRvIGJlIGdvbmUsIHdoaWNoIG1lYW5zIHRoZXkgYWxyZWFkeSBzZW50IEJZRSBhbmQKCSAgd2VyZSByZW1vdmVkIGZyb20gdGhlIHNlc3Npb24uIFdlIG5vdyBoYW5kbGUgdGhlIEVPUyBpbiB0aGUgcnRjcAoJICBsb29wIGNoZWNraW5nIHRoZSBhbW91bnQgb2Ygc291cmNlcyBpbiB0aGUgc2Vzc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzIxOAoKMjAxNi0xMC0yMSAxNzozMTowMCArMDAwMCAgTWF0dCBTdGFwbGVzIDxzdGFwbGVzMjU1QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWxzbyBoYW5kbGUgcmVkaXJlY3Qgb24gUExBWQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNjEwCgoyMDE2LTA4LTMwIDEwOjI0OjQzICswMjAwICBQZXRyIEt1bGhhdnkgPGJyYWluQGppa29zLmN6PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbGxvdyBtaXNzaW5nIGNvbnRyb2wgYXR0cmlidXRlIGluIGNhc2Ugb2YgYSBzaW5nbGUgc3RyZWFtCgkgIEltcHJvdmUgUkZDMjMyNiAtIGNoYXB0ZXIgQy4zIGNvbXBhdGliaWxpdHk6CgkgIEluIGNhc2UganVzdCBhIHNpbmdsZSBzdHJlYW0gaXMgc3BlY2lmaWVkIGluIFNEUCBhbmQgdGhlIGNvbnRyb2wgYXR0cmlidXRlCgkgIGlzIG1pc3NpbmcgZG8gbm90IGRyb3AgdGhlIHN0cmVhbSBidXQgcmF0aGVyIGFzc3VtZSAiYT1jb250cm9sOioiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA1NjgKCjIwMTYtMTAtMDggMTg6MTE6MTcgKzAyMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyOiBXYXJuLCBkb24ndCBhc3NlcnQgaWYgdjRsIGdpdmVzIHVzIGEgYnVmZmVyIHdpdGggYSB0b28gbGFyZ2Ugc2l6ZQoJICBJJ3ZlIHNlZW4gcHJvYmxlbXMgd2hlcmUgdGhlIGBieXRlc3VzZWRgIGZpZWxkIG9mIGB2NGwyX2J1ZmZlcmAgd291bGQgYmUKCSAgYSBzaWxseSBudW1iZXIgY2F1c2luZyB0aGUgbGF0ZXIgY2FsbCB0bzoKCSAgZ3N0X21lbW9yeV9yZXNpemUgKGdyb3VwLT5tZW1baV0sIDAsIGdyb3VwLT5wbGFuZXNbaV0uYnl0ZXN1c2VkKTsKCSAgdG8gcmVzdWx0IGluIHRoaXMgZXJyb3IgdG8gYmUgcHJpbnRlZDoKCSAgKHB1bHNldmlkZW86MTEpOiBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9tZW1vcnlfcmVzaXplOiBhc3NlcnRpb24gJ3NpemUgKyBtZW0tPm9mZnNldCArIG9mZnNldCA8PSBtZW0tPm1heHNpemUnIGZhaWxlZAoJICBiZXNpZGVzIGNhdXNpbmcgd2hvLWtub3dzIHdoYXQgb3RoZXIgcHJvYmxlbXMuCgkgIFdlIG1ha2UgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGlzIGJ1ZmZlciBoYXMgc3RpbGwgYmVlbiBkZXF1ZXVlZCBjb3JyZWN0bHkKCSAgc28ganVzdCBjbGFtcCB0byBhIHZhbGlkIHNpemUgc28gZG93bnN0cmVhbSBlbGVtZW50cyB3b24ndCBlbmQgdXAgaW4KCSAgdW5kZWZpbmVkIGJlaGF2aW91ci4KCSAgVGhlIGludmFsaWQgYHY0bDJfYnVmZmVyYCBJIHNhdyBmcm9tIG15IGNhcHR1cmUgZGV2aWNlIHdhczoKCSAgYnVmZmVyID0gewoJICBpbmRleCA9IDAsCgkgIHR5cGUgPSAxLAoJICBieXRlc3VzZWQgPSA1MzQ3NDg5MjgsIC8vIDwtIEludmFsaWQKCSAgZmxhZ3MgPSA4MjYwLCAvLyBWNEwyX0JVRl9GTEFHX1RJTUVTVEFNUF9NT05PVE9OSUMgfCBWNEwyX0JVRl9GTEFHX0VSUk9SIHwgVjRMMl9CVUZfRkxBR19ET05FCgkgIGZpZWxkID0gMDEzMzAsIC8vIDwtIEludmFsaWQKCSAgdGltZXN0YW1wID0gewoJICB0dl9zZWMgPSAwLAoJICB0dl91c2VjID0gMAoJICB9LAoJICB0aW1lY29kZSA9IHsKCSAgdHlwZSA9IDAsCgkgIGZsYWdzID0gMCwKCSAgZnJhbWVzID0gMCAnXDAwMCcsCgkgIHNlY29uZHMgPSAwICdcMDAwJywKCSAgbWludXRlcyA9IDAgJ1wwMDAnLAoJICBob3VycyA9IDAgJ1wwMDAnLAoJICB1c2VyYml0cyA9ICJcMDAwXDAwMFwwMDAiCgkgIH0sCgkgIHNlcXVlbmNlID0gMCwKCSAgbWVtb3J5ID0gMiwKCSAgbSA9IHsKCSAgb2Zmc2V0ID0gMzUzNzIxOTU4NCwKCSAgdXNlcnB0ciA9IDE0MDcwNjY2NTgzNjU0NCwgLy8gQ291bGQgYmUgbm9uc2Vuc2UsIG5vdCBzdXJlCgkgIHBsYW5lcyA9IDB4N2ZmOGQyZDViMDAwLAoJICBmZCA9IC03NTc3NDc3MTIKCSAgfSwKCSAgbGVuZ3RoID0gMjc2NDgwMCwKCSAgcmVzZXJ2ZWQyID0gMCwKCSAgcmVzZXJ2ZWQgPSAwCgkgIH0KCSAgVGhpcyBpcyBmcm9tIGdkYiB3aXRoIG15IG93biBhbm5vdGF0aW9ucyBhZGRlZC4KCSAgVGhpcyB3YXMgd2l0aCBnc3QtcGx1Z2lucy1nb29kIDEuOC4xLCBhIE1hZ2V3ZWxsIFhJMTAwRFVTQi1IRE1JIHZpZGVvCgkgIGNhcHR1cmUgZGV2aWNlIGFuZCBrZXJuZWwgMy4xMyB1c2luZyBhIGRvZGd5IEhETUkgY2FibGUgd2hpY2ggaXMgZ3JlYXQgYXQKCSAgYnJlYWtpbmcgSERNSSBjYXB0dXJlIGRldmljZXMuICBJJ20gdXNpbmcgaW8tbW9kZT11c2VycHRyIGFuZCBoYXZlIGJ1aWx0CgkgIGdzdC1wbHVnaW5zLWdvb2Qgd2l0aG91dCBsaWJ2NGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjUKCjIwMTYtMTAtMjAgMjA6NDE6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgYSBiZXR0ZXIgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIG1vdmllIGhlYWRlciB0aW1lc2NhbGUKCSAgVGFrZSB0aGUgbWF4aW11bSB2aWRlbyB0aW1lc2NhbGUsIG9yIGlmIG5vIHZpZGVvIHRyYWNrIGlzIHByZXNlbnQgdGhlCgkgIHByZXZpb3VzIHZhbHVlIG9mIDE4MDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDEKCjIwMTYtMTAtMjAgMjA6MDc6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBCZSBtb3JlIGNsZXZlciB3aXRoIHRoZSBkZWZhdWx0IHZpZGVvIHRyYWNrIHRpbWVzY2FsZQoJICBVc2UgdGhlIG51bWJlciBvZiBtaWxsaWZyYW1lcyBwZXIgc2Vjb25kIGZvciBpbnRlZ3JhbCBhbmQgZHJvcC1mcmFtZQoJICBmcmFtZXJhdGVzLCBhcyBzdWdnZXN0ZWQgYnkgdGhlIFFUIGZpbGUgZm9ybWF0IHNwZWNpZmljYXRpb24gYW5kIG90aGVyCgkgIHBsYWNlcy4gV2UgYWxyZWFkeSBkaWQgdGhhdCBmb3IgaW50ZWdyYWwgZnJhbWVyYXRlcyBiZWZvcmUsIGJ1dCBub3QgZm9yCgkgIGRyb3AtZnJhbWUgZnJhbWVyYXRlcy4gVGhpcyBub3cga2VlcHMgcHJlY2lzaW9uIGJldHRlci4KCSAgRm9yIGFsbCBvdGhlciBmcmFtZXJhdGVzLCBjaGVjayBpZiBpdCdzIGNsb3NlIHRvIGEgd2VsbC1rbm93biBmcmFtZXJhdGUKCSAgYW5kIHVzZSB0aGF0IGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDEKCjIwMTYtMTAtMTAgMTM6MDA6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgaW50ZXJsYWNlZCBpbmZvcm1hdGlvbiBmcm9tIGpwZWcgdmlkZW8KCSAgVGhpcyBpbmZvcm1hdGlvbiBpcyBoaWRkZW4gaW4gYSBzbWFsbCBjaHVuayBvZiBkYXRhLgoJICBGb3JtYXQgZm91bmQgYXQgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL3N0YW5kYXJkcy9xdGZmLTIwMDEucGRmLAoJICBwYWdlIDkyLCAiVmlkZW8gU2FtcGxlIERlc2NyaXB0aW9uIiwgdW5kZXIgdGFibGUgMy4xLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NzcxCgoyMDE2LTEwLTI2IDEyOjQ2OjI4ICswNTMwICBKYWdhZGlzaCA8amFnYWRpc2hrYW1hdGhrQGdtYWlsLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogRml4aW5nIHggYW5kIHkgb2Zmc2V0IGNvbXB1dGF0aW9uCgkgIFdoaWxlIGNvbXB1dGluZyB0aGUgeCBhbmQgeSBvZmZzZXRzLCBpdCdzIHRoZSB2aWRlbyByZXNvbHV0aW9uIGFuZAoJICByZXNpemVkIG92ZXJsYXkgcmVzb2x1dGlvbiB0byBiZSB1c2VkIGluc3RlYWQgb2YgYWN0dWFsIG92ZXJsYXkgaW1hZ2UKCSAgcmVzb2x0dWlvbi4gRHVlIHRvIHRoaXMsIHRoZSBvdmVybGF5IGltYWdlIHVzZWQgdG8gZ2V0IHdyb25nbHkgb3ZlcmxheWVkCgkgIGluIHVuZGVzaXJlZCBsb2NhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MjkyCgoyMDE2LTExLTAxIDE4OjA5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB1cGRhdGUgdmVyc2lvbgoKMjAxNi0xMC0yNCAxNjo1NjozMSArMDAwMCAgRW5yaXF1ZSBPY2HDsWEgR29uesOhbGV6IDxlb2NhbmhhQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHRoZSB0ZmR0IGRlY29kZSB0aW1lIG9uIGJ5dGUgc3RyZWFtcyB3aGVuIGl0J3Mgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQgdGhhbiB0aGUgdGltZSBpbiB0aGUgbGFzdCBzYW1wbGUKCSAgV2UgY29uc2lkZXIgdGhlcmUncyBhIHNpZm5pZmljYW50IGRpZmZlcmVuY2Ugd2hlbiBpdCdzIGxhcmdlciB0aGFuIG9uIHNlY29uZAoJICBvciB0aGFuIGhhbGYgdGhlIGR1cmF0aW9uIG9mIHRoZSBsYXN0IHByb2Nlc3NlZCBmcmFnbWVudCBpbiBjYXNlIHRoZSBsYXR0ZXIgaXMKCSAgbGFyZ2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjMwCgo9PT0gcmVsZWFzZSAxLjExLjAgPT09CgoyMDE2LTExLTAxIDE4OjUzOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEwLjAgPT09CgoyMDE2LTExLTAxIDE3OjU3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xMC4wCgoyMDE2LTExLTAxIDE3OjQ3OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTExLTAxIDE3OjQxOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTEwLTI3IDEyOjAxOjU1ICswMjAwICBUb2JpYXMgU2NobmVpZGVyIDx0b2JpYXMuc2NobmVpZGVyQHZvaWNlaW50ZXJjb25uZWN0LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBmaXggZXh0cmEtY29udHJvbHMgbGVhawoJICBHc3Qgc3RydWN0IHY0bDJvYmplY3QtPmV4dHJhX2NvbnRyb2xzIGlzIGNyZWF0ZWQgaWYgdXNlciBzZXRzIGFwcHJvcHJpYXRlCgkgIG9wdGlvbiBidXQgaXQgaXMgbm90IGZyZWVkIG9uIGRlc3RydWN0aW9uIG9mIHY0bDJvYmplY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1ODAKCjIwMTYtMTAtMzEgMTg6MDA6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBSZXZlcnQgInNvdXBodHRwc3JjOiByZWR1Y2UgcmVhZGluZyBsYXRlbmN5IGJ5IHVzaW5nIG5vbi1ibG9ja2luZyByZWFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg4MTY3NjQxMTI0MDg3NjY4ODljOGI2ODBhM2FmNTExMTVkZjRiZjUuCgkgIEl0IGNhdXNlcyBpc3N1ZXMgd2l0aCB0aGUgdGltZW91dHMsIGFuZCBjYXVzZXMgY29ubmVjdGlvbnMgdG8gYmUgY2xvc2VkCgkgIHdpdGhvdXQgYWN0dWFsIHJlYXNvbi4gTmVlZHMgZnVydGhlciBpbnZlc3RpZ2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTA5CgoyMDE2LTEwLTMxIDA5OjAwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCB0cnkgdG8gYWRkIHNyY3BhZCBpZiB3ZSBkb24ndCBrbm93IHZhbGlkIGNhcHMgeWV0CgkgIE90aGVyd2lzZSB3ZSdsbCBydW4gaW50byBhbiBhc3NlcnRpb24gb24gc3BlY2lhbGx5IGNyYWZ0ZWQgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM2NDMKCjIwMTYtMTAtMjcgMTE6MjM6NTEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogUmVtb3ZlIHVzZWxlc3NseSBkdXBsaWNhdGVkIGRlcCBjaGVja3MKCSAgVGhlc2UgY2hlY2tzIGFyZSBkb25lIGluc2lkZSB0aGUgbWVzb24uYnVpbGQgZmlsZXMgZm9yIGVhY2ggcGx1Z2luLgoKMjAxNi0xMC0yNyAxMToyMjo1OSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogZHYgcGx1Z2luIG5vdyB3b3JrcyBvbiBNU1ZDCgkgIE5lZWRzIGEgTWVzb24gcGF0Y2ggdG8gZmlsdGVyIG91dCB0aGUgdXNlbGVzcyAtbHB0aHJlYWQKCSAgaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24vcHVsbC85NjIKCjIwMTYtMTAtMjcgMTQ6MDM6NDggKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhbGxvdyByZXNvbHV0aW9ucyBhYm92ZSA0MDk2CgkgIE1vZGlmeSB0aGUgY2FwcyBzdHJpbmcgdG8gYWxsb3cgd2lkdGggYW5kIGhlaWdodCBncmVhdGVyIHRoYW4gNDA5Ni4KCSAgVGhlcmUgaXMgbm8gbmVlZCB0byByZXN0cmljdCBpdCBzaW5jZSB0aGUgbWF0cm9za2EgZm9ybWF0IGFsbG93cyB0aGUKCSAgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgdG8gYmUgdXAgdG8gZWlnaHQgYnl0ZXMgbG9uZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzU4MgoKMjAxNi0xMC0yMyAxNzoyMzoxMCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IENoZWNrIGZvciBHX1BMQVRGT1JNX1dJTjMyIGZvciBwcmVzZW5jZSBvZiBpcGlfc3BlY19kZXN0CgkgIEdfT1NfV0lOMzIgaXMgb25seSBzZXQgd2hlbiBub3QgYnVpbGRpbmcgd2l0aCBjeWd3aW4sIGJ1dAoJICBpcGlfc3BlY19kZXN0IGlzIG1pc3NpbmcgYm90aCB3aXRoIGFuZCB3aXRob3V0IGN5Z3dpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yNiAwODo1MTo0MCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcmVzZXQgcmVhZF9wb3NpdGlvbiB3aGVuIHJlYWRpbmcgZmFpbHMKCSAgc291cGh0dHBzcmMgbWFpbnRhaW5zIHR3byB2YXJpYWJsZXMgZm9yIHRoZSBwb3NpdGlvbjoKCSAgKiAncmVxdWVzdF9wb3NpdGlvbicgaXMgd2hlcmUgd2Ugd2FudCB0byBiZQoJICAqICdyZWFkX3Bvc2l0aW9uJyBpcyB3aGVyZSB3ZSBhcmUKCSAgRHVyaW5nIE5vcm1hbCBvcGVyYXRpb25zIGJvdGggYXJlIHVwZGF0ZWQgaW4gc3luYyB3aGVuIGRhdGEgYXJyaXZlcy4gQSBzZWVrCgkgIGNoYW5nZXMgJ3JlcXVlc3RfcG9zaXRpb24nIGJ1dCBub3QgJ3JlYWRfcG9zaXRpb24nLgoJICBXaGVuIHRoZSB0d28gcG9zaXRpb25zIGdldCBvdXQgb2Ygc3luYywgdGhlbiBhIG5ldyByZXF1ZXN0IGlzIHNlbmQgYW5kIHRoZQoJICAnUmFuZ2UnIGhlYWRlciBpcyBhZGp1c3RlZCB0byB0aGUgY3VycmVudCAncmVxdWVzdF9wb3NpdGlvbicuCgkgIFdpdGhvdXQgdGhpcyBwYXRjaCwgaWYgcmVhZGluZyBmYWlscywgdGhlbiB0aGUgc291cmNlIGlzIGRlc3Ryb3llZC4gVGhpcwoJICB0cmlnZ2VycyBhIG5ldyByZXF1ZXN0LCBidXQgdGhlIHJhbmdlIHJlbWFpbnMgdW5jaGFuZ2VkLiBBcyBhIHJlc3VsdCwgdGhlCgkgIG9sZCByYW5nZSBpcyB1c2VkIGFuZCBvbGQgZGF0YSB3aWxsIGJlIHJlYWQuCgkgIENoYW5naW5nIHRoZSAncmVhZF9wb3NpdGlvbicgdG8gLTEgbWFrZXMgaXQgZXhwbGljaXRseSBkaWZmZXJlbnQgZnJvbQoJICAncmVxdWVzdF9wb3NpdGlvbicgYW5kIGFzIGEgcmVzdWx0IHRoZSAnUmFuZ2UnIGhlYWRlciBpcyB1cGRhdGVkIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUwOQoKMjAxNi0xMC0yNSAwODo1NDozNCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IERvbid0IGRlcGVuZCBvbiBnc3RyZWFtZXItY2hlY2stMS4wIG9uIHdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yNSAxNToyNDoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldCBjb25uZWN0aW9uIGluZm8gdG8gbm9uLWZsdXNoaW5nIHdoZW4gY2xvc2luZwoJICBUaGlzIHNvbHZlcyBhIGhhbmdpbmcgbWFpbmxvb3AgaW4gZm9sbG93aW5nIHNjZW5hcmlvOgoJICAqIGNvbm5lY3QgdG8gc291cmNlCgkgICogbmV0d29yay9zZXJ2ZXIgZHJvcHMKCSAgKiBwaXBlbGluZSBzZXQgdG8gTlVMTCAoYW5kIGNvbm5lY3Rpb24gdG8gZmx1c2hpbmcgYXMgcGFydCkKCSAgKiBwaXBlbGluZSBzZXQgdG8gUEFVU0VEL1BMQVlJTkcgKGNvbm5lY3Rpb24gdG8gbm9uLWZsdXNoaW5nLCBidXQgbm90IHJlY29yZGVkKQoJICAqIFtjb25uZWN0aW5nIHN0aWxsIG5vdCBwb3NzaWJsZV0KCSAgKiBwaXBlbGluZSBzZXQgdG8gTlVMTCA9PiBtYWlubG9vcCBoYW5ncyAoc2luY2Ugbm8gYWN0dWFsIGZsdXNoaW5nIGlzIGRvbmUpCgoyMDE2LTEwLTI2IDE0OjMyOjQ4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogT25seSBhbGxvdyBvbmUgdmlkZW8gcmVxdWVzdCBwYWQKCSAgVGhlIHBhY2luZyBvZiB0aGUgb3ZlcmFsbCBtdXhpbmcgaXMgY29udHJvbGxlZAoJICBieSB0aGUgdmlkZW8gR09QcyBhcnJpdmluZywgc28gd2UgY2FuIG9ubHkgaGFuZGxlCgkgIDEgdmlkZW8gc3RyZWFtLCBhbmQgdGhlIHJlcXVlc3QgcGFkIGlzIG5hbWVkIGFjY29yZGluZ2x5LgoJICBJZ25vcmUgYSByZXF1ZXN0IGZvciBhIDJuZCB2aWRlbyBwYWQgaWYgdGhlcmUncyBhbHJlYWR5CgkgIGFuIGFjdGl2ZSBvbmUuCgoyMDE2LTEwLTI2IDExOjU5OjMyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogVGFrZSBvd25lcnNoaXAgb2YgZmxvYXRpbmcgcmVmcwoJICBzaW5rIHRoZSBmbG9hdGluZyByZWYgd2hlbiBoYW5kZWQgYSBtdXhlciBvciBzaW5rIHRvIHVzZSBzbwoJICB3ZSBjbGVhcmx5IHRha2Ugb3duZXJzaGlwLgoKMjAxNi0xMC0yNSAxNDo1MTo1MiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFNldCBjaGlsZCBlbGVtZW50cyB0byBOVUxMIHdoZW4gcmVtb3ZpbmcuCgkgIE1ha2Ugc3VyZSB0aGF0IGVsZW1lbnRzIGFyZSBpbiB0aGUgTlVMTCBzdGF0ZSB3aGVuIHJlbW92aW5nLgoJICBGaXhlcyBjcml0aWNhbCB3YXJuaW5ncyB3aGVuIGVycm9ycyBvY2N1ciBlYXJseSBvbiBpbiBzdGFydGluZyB1cC4KCjIwMTYtMTAtMjUgMTQ6NTA6NTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBTZXQgcGFkIHRlbXBsYXRlIG9uIHJlcXVlc3Qgc2luayBwYWRzCgkgIEVuc3VyZSB0aGF0IHRoZSBnaG9zdCBwYWQgcmV0dXJuZWQgYXMgYSByZXF1ZXN0IHBhZAoJICBoYXMgdGhlIHRlbXBsYXRlIHRoYXQgd2FzIHJlcXVlc3RlZAoKMjAxNi0xMC0yNSAxMDo1MDo0NyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBSZXZlcnQgIm1lc29uOiBtb3ZlIGdzdHJlYW1lci1jaGVjay0xLjAgZGVwZW5kZW5jeSB0byB0ZXN0cy9jaGVjayIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0NjYzMjY5NDY2MmI5NmZkZGI4NDhhMWYyMDkxYTIxNWIyOGEyZDM1LgoJICBEb2VzIG5vdCBhY3R1YWxseSB3b3JrLiBTZWU6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQjYzMxCgoyMDE2LTA2LTA4IDExOjI0OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEFzc3VtZSBQVFMgaXMgRFRTIHdoZW4gUFRTIGlzIG1pc3NpbmcKCSAgVGhpcyBmaXhlcyBpc3N1ZSBmb3IgZW5jb2RlcnMgdGhhdCBvbmx5IHNldHMgdGhlIERUUy4gV2UgYXNzdW1lIHRoYXQKCSAgdGhlcmUgd2FzIG5vIHJlLW9yZGVyaW5nIHdoZW4gdGhhdCBoYXBwZW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA3CgoyMDE2LTEwLTI0IDAwOjM0OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBmaXggYnVpbGQgb3V0c2lkZSBvZiBnc3QtYWxsCgoyMDE2LTEwLTIxIDAwOjQyOjU0IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGRpcmVjdHNvdW5kOiBBZGQgb2xlMzIgbGlicmFyeSBkZXBlbmRlbmN5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQKCjIwMTYtMTAtMjEgMDA6NDI6MTggLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogbW92ZSBnc3RyZWFtZXItY2hlY2stMS4wIGRlcGVuZGVuY3kgdG8gdGVzdHMvY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yMCAyMjowODoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvbWl4ZXIuYzoKCSAgdGVzdHM6IHZpZGVvbWl4ZXI6IGRpc2FibGUgcmFjeSBmbHVzaF9zdGFydF9mbHVzaF9zdG9wIHRlc3QKCSAgSXQncyBiZWVuIGJyb2tlbiBmb3IgeWVhcnMsIGFuZCBpdCdzIHVubGlrZWx5IGl0IHdpbGwgZXZlcgoJICBiZSBmaXhlZCBmb3IgY29sbGVjdHBhZHMvdmlkZW9taXhlciBub3cgdGhhdCB0aGVyZSdzIGNvbXBvc2l0b3IKCSAgd2hpY2ggd29ya3MgZmluZS4gU28gbGV0J3MgZGlzYWJsZSBpdCwgc2luY2UgYWxsIGl0IGRvZXMKCSAgaXMgdGhhdCBpdCBjcmVhdGVzIG5vaXNlIHRoYXQgZGlzdHJhY3RzIGZyb20gb3RoZXIgZmFpbHVyZXMuCgkgIEFsc28gc2VlIHRoZSBjb3JyZXNwb25kaW5nIGFkZGVyIGJ1ZyBhcyBpdCBmYWlsZWQgaW4gdGhlIHNhbWUgd2F5OgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODkxCgoyMDE2LTEwLTA5IDE2OjU2OjEwICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IEZpeCBzb3VwaHR0cHNyYyB0ZXN0cyB3aXRob3V0IENLX0ZPUks9bm8KCSAgSXQgc2VlbXMgdGhhdCB0aGUgZm9ya2VkIHByb2Nlc3NlcyBhbGwgYXR0ZW1wdCB0byBoYW5kbGUgdGhlIGxpc3RlbmluZwoJICBzb2NrZXQgZnJvbSB0aGUgc2VydmVyLCBhbmQgb25seSBvbmUgaGFzIHRvIHNodXRkb3duIHRoZSBzb2NrZXQgdG8gYnJlYWsKCSAgdGhlIHNlcnZlciBjb21wbGV0ZWx5LgoJICBDcmVhdGUgYSBuZXcgc2VydmVyIGluc2lkZSBlYWNoIHRlc3QgdG8gYXZvaWQgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjY1NgoKMjAxNi0xMC0wOSAxNToyMzo1MSArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiBGaXggbGV2ZWwgdGVzdCBpbiBDS19GT1JLPW5vIG1vZGUKCSAgVGhlIHRlc3RzIGFjY3VtdWxhdGUgYnVmZmVycyBpbiBHc3RDaGVjaydzIGJ1ZmZlcnMgbGlzdCwgYW5kIHRoZSBsaXN0IGlzCgkgIG5vdCAoY29uc2lzdGVudGx5KSByZXNldCBiZXR3ZWVuIHRlc3RzLiBEbyB0aGF0IGFuZCByZW1vdmUgdGhlIG5vdwoJICBjb25mbGljdGluZyB1bnJlZnMgZm9yIG91dGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI2NDQKCjIwMTYtMTAtMDcgMTM6MDQ6MjcgKzA1MzAgIEdhdXJhdiBHdXB0YSA8Zy5ndXB0YUBzYW1zdW5nLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgd2F2ZWZvcm1zaW5rOiBGaXggTWVtb3J5IGxlYWsgdXNpbmcgR1NUX1BUUl9GT1JNQVQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjQ5NwoKMjAxNi0xMC0xOCAxMjoyMzo0MiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21vbm9zY29wZS9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBtaXNzaW5nIGdzdGF1ZGlvIGRlcCB0byBtb25vc2NvcGUKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzo0MjowOgoJICAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC9hdWRpby9hdWRpby5oOjI2OjM5OiBmYXRhbCBlcnJvcjogZ3N0L2F1ZGlvL2F1ZGlvLWVudW10eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgICNpbmNsdWRlIDxnc3QvYXVkaW8vYXVkaW8tZW51bXR5cGVzLmg+CgkgIF4KCSAgY29tcGlsYXRpb24gdGVybWluYXRlZC4KCSAgaHR0cHM6Ly9jaS5nc3RyZWFtZXIubmV0L2pvYi9HU3RyZWFtZXItbWFzdGVyLW1lc29uLzI3MS9jb25zb2xlCgoyMDE2LTEwLTE2IDEyOjQwOjIyICswMjAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdleS5ib3JvdmtvdkB3aXJlbG9hZC5uZXQ+CgoJKiBleHQvcXQvcXR3aW5kb3cuY2M6CgkgIHF0OiBGaXggZmFpbGluZyBidWlsZCBvbiBSUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzAyNgoKMjAxNi0xMC0xNiAwMjoxODoyMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBtaXNzaW5nIHBidXRpbHMgZGVwZW5kZW5jeSB0byBtdWx0aWZpbGUKCSAgRm91bmQgdmlhIHRoZSBKZW5raW5zIENJOgoJICBGQUlMRUQ6IHN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVAc2hhL2dzdHNwbGl0bXV4c2luay5jLm8KCSAgWy4uLl0KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoyNDowLAoJICBmcm9tIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWdvb2QvZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzo1OToKCSAgLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvcGJ1dGlscy9wYnV0aWxzLmg6MzA6NDM6IGZhdGFsIGVycm9yOiBnc3QvcGJ1dGlscy9wYnV0aWxzLWVudW10eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgICNpbmNsdWRlIDxnc3QvcGJ1dGlscy9wYnV0aWxzLWVudW10eXBlcy5oPgoJICBeCgkgIGNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCgkgIGh0dHBzOi8vY2kuZ3N0cmVhbWVyLm5ldC9qb2IvR1N0cmVhbWVyLW1hc3Rlci1tZXNvbi8yNjMvY29uc29sZQoKMjAxNi0xMC0xNSAyMjoxMTowOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBEb24ndCBzZXQgY19zdGQgdG8gZ251OTkKCSAgVXNlIHRoZSBkZWZhdWx0IGZvciBlYWNoIGNvbXBpbGVyIG9uIGV2ZXJ5IHBsYXRmb3JtIGluc3RlYWQuIFRoaXMKCSAgaW1wcm92ZXMgb3VyIGNvbXBhdGliaWxpdHkgd2l0aCBjb21waWxlcnMgdGhhdCBkb24ndCBoYXZlIGdudTk5IGFzCgkgIGEgY19zdGQuCgoyMDE2LTEwLTA0IDE4OjA0OjExIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9nZXRwbHVnaW5zZGlyOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IE1ha2UgdXNlIG9mIG5ldyBlbnZpcm9ubWVudCBvYmplY3QgYW5kIHNldCBwbHVnaW4gcGF0aCB0byBidWlsZGRpcgoJICBXb3JrYXJvdW5kIHNvdXJjZV9yb290IGJlaW5nIHRoZSByb290IGRpcmVjdG9yeSBvZiBhbGwgcHJvamVjdHMgaW4gdGhlIHN1YnByb2plY3QKCSAgY2FzZSBhbmQgcmVtb3ZlIG5vdyB1bm5lZWRlZCBnZXRwbHVnaW5zZGlyCgkgIEJ1bXAgbWVzb24gcmVxdWlyZW1lbnQgdG8gMC4zNQoKMjAxNi0xMC0wNiAxMToxNTo1NCArMDUzMCAgR2F1cmF2IEd1cHRhIDxnLmd1cHRhQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSAgdGVzdHM6IEZpeCBtZW1vcnkgbGVhayBpbiB0ZXN0IHJ0cGF1eCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI0OTYKCjIwMTYtMTAtMDMgMTE6Mjc6NTQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogRm9yd2FyZCBsYXRlbmN5IHF1ZXJpZXMgdG8gdXBzdHJlYW0KCSAgV2l0aG91dCB0aGlzLCBsYXRlbmN5IHF1ZXJpZXMgdG8gaW1hZ2VmcmVlemUgd2lsbCBmYWlsLgoKMjAxNi0wOS0zMCAxMTozNTozOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBob29rcy9wcmUtY29tbWl0Lmhvb2s6CgkqIG1lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9nZXRwbHVnaW5zZGlyOgoJICBtZXNvbjogU2V0dXAgcHJlIGNvbW1pdCBob29rIGFuZCBmaXggZ2V0cGx1Z2luc2RpciBmb3Igc3RhbmRhbG9uZSBjYXNlCgoyMDE2LTA5LTI5IDA0OjU1OjE0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEhhbmRsZSBzdG9wIHBvaW50IGZyb20gc2VnbWVudAoJICBJZiB0aGUgc2VlayBzdG9wIHBvaW50IChvciBzdGFydCwgZHVyaW5nIHJldmVyc2UgcGxheSkKCSAgd2FzIHdpdGhpbiB0aGUgc2VnbWVudCB3ZSBqdXN0IGZpbmlzaGVkLCBnbyBFT1MgaW1tZWRpYXRlbHkKCSAgaW5zdGVhZCBvZiBwcm9jZWVkaW5nIHRocm91Z2ggYWxsIG90aGVyIHBhcnRzIGFuZCBzZW5kaW5nCgkgIDAgbGVuZ3RoIHNlZWtzIHRvIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxMzgKCjIwMTYtMDktMjkgMDM6MjE6MjYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogRHJvcCBsb2NrIHNodXR0aW5nIGRvd24gcGFkcwoJICBBdm9pZCBhIHNwb3JhZGljIGRlYWRsb2NrIG9uIHNodXRkb3duIGJ5IGRyb3BwaW5nCgkgIHRoZSBzcGxpdG11eCBsb2NrIGFyb3VuZCBwYWQgc2h1dGRvd24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjEzOAoKMjAxNi0wOS0yOSAwMjo0NzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHNyYzogRml4IGV4dHJhIHVucmVmIGhhbmRsaW5nIHF1ZXJpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjEzOAoKMjAxNi0wOS0yOSAwNDo1MDoyNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBBdm9pZCBzdGFsbCB3aGVuIHBhcnRzIGdldCBvdXQgb2Ygc3luYwoJICBXaGVuIG9uZSBwYXJ0IG1vdmVzIGFoZWFkIG9mIHRoZSBvdGhlcnMgLSBkdWUgdG8gZXhjZXNzaXZlCgkgIGRvd25zdHJlYW0gcXVldWVpbmcsIG9yIHJlYWxseSBzbWFsbCBpbnB1dCBmaWxlcyAtIHRoZW4KCSAgd2UgY2FuIGVuZCB1cCBhY3RpdmF0aW5nIHBhcnRzIG1vcmUgdGhhbiBvbmNlLiBUaGF0IGNhbiBsZWFkIHRvCgkgIGVmZmVjdHMgbGlrZSBzaHV0dGluZyBkb3duIHBhZCB0YXNrcyBwcmVtYXR1cmVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjEzOAoKMjAxNi0wOS0zMCAxMTo0MToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogdXBkYXRlIHZlcnNpb24KCj09PSByZWxlYXNlIDEuOS45MCA9PT0KCjIwMTYtMDktMzAgMTM6MDI6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOS45MAoKMjAxNi0wOS0zMCAxMjoxNzoyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wOS0zMCAxMTo0Mzo1NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wOS0zMCAxMzoyMjozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBGaXggdGFnc2NoZWNraW5nIGZhaWx1cmUgZHVlIHRvIG1pc3NpbmcgUFRTCgkgIHF0bXV4IG5vdyBuZWVkcyB0aGUgUFRTIChjb21taXQgYTk5Mzg4M2I3KSwgc28gbGV0J3MgbWFrZSBzdXJlIHdlCgkgIHByb2R1Y2Ugb25lIHdpdGggb3VyIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIyMjgKCjIwMTYtMDktMjggMjM6MDM6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCBjYWxjdWxhdGUgUFRTIG9mZnNldCBhbmQgRFRTIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORQoJICBKdXN0IGVycm9yIG91dCBpZiB0aGVyZSBpcyBubyB2YWxpZCBQVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxNDMKCjIwMTYtMDktMjkgMTc6Mzc6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIEpQRUcyMDAwIGloZHIgYXRvbSB0byB0aGUgbGlzdCBvZiBrbm93biBvbmVzCgkgIE90aGVyd2lzZSBxdGRlbXV4IGlzIGFsd2F5cyBnb2luZyB0byBjb21wbGFpbiBhYm91dCBpdCBiZWluZyB1bmtub3duLgoKMjAxNi0wOS0yOSAxMDoxOTo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFsd2F5cyB3cml0ZSB0aGUgZGVmYXVsdCBmcmFtZSBkdXJhdGlvbiBmb3IgVlA4LzkgdG9vCgkgIFRoZSBXZWJNIHNwZWMgYWxsb3dzIHRoaXMgbm93LCBhbmQgaXQgYWxsb3dzIHVzIHRvIGd1ZXNzIGEgZnJhbWVyYXRlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjE0MSBhbmQKCSAgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mzc5CgoyMDE2LTA5LTI3IDE1OjI2OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2WzQ1XWRlcGF5OiBEb24ndCBoYW5kbGUgTkFMcyBpbnNpZGUgU1RBUCB1bml0cyB0d2ljZQoJICBUaGV5J3ZlIGFscmVhZHkgYmVlbiBoYW5kbGVkIGJlZm9yZSBwdXNoaW5nIHRoZW0gaW50byB0aGUgYWRhcHRlci4KCjIwMTYtMDktMjcgMTI6Mzk6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IHRlc3RzOiBmaXggdnA4IGF2YWlsYWJpbGl0eSBjaGVja3MKCSAgVGhvc2UgdmFyaWFibGVzIGFyZSBub3QgZGVmaW5lZCBpZiB2cDggd2FzIG5vdCBmb3VuZC4KCjIwMTYtMDktMjcgMTA6MjM6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgUmV2ZXJ0ICJtdWx0aWZpbGVzaW5rOiBzdHJlYW1saW5lIHRoZSBmaWxlLXN3aXRjaCBjb2RlIGEgYml0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGYxY2VhYWIwMmYzZjU1N2UyM2I3N2IxNDc3MWE1NzU3ODhmOTJiYjQuCgkgIFRoaXMgYnJva2UgYXRvbWljIGZpbGUgd3JpdGVzIGluICJidWZmZXIiIG1vZGUuIEl0IGRpZCBtYWtlCgkgIHN1cmUgdGhhdCBhbnkgc3RyZWFtaGVhZGVycyBhcmUgcHJlcGVuZGVkIHRvIGVhY2ggZmlsZSBpbgoJICBidWZmZXIgbW9kZSBhcyB3ZWxsLCBidXQgdGhhdCdzIG5vdCByZWFsbHkgbmVlZGVkIGluIHByYWN0aWNlLAoJICB3aGVyZWFzIGF0b21pYyBmaWxlIHdyaXRlcyBhcmUsIHNvIGxldCdzIHJlc3RvcmUgdGhlIHN0YXR1cwoJICBxdW8gYW50ZSBmb3Igbm93IHNpbmNlIHRoaXMgd2FzIHByaW1hcmlseSBhIGNvZGUgY2xlYW51cCBhbnl3YXksCgkgIGFuZCBpZiBhbnlvbmUgbmVlZHMgdG8gc3RyZWFtaGVhZGVycyBpbiBidWZmZXIgbW9kZSB0b28gdGhleQoJICBjYW4gbWFrZSBhIHBhdGNoIHRvIGltcGxlbWVudCB0aGF0IGRpZmZlcmVudGx5LiBSZS1pbXBsZW1lbnRpbmcKCSAgdGhlIGF0b21pYyB3cml0ZXMgaW4gdGhlIGVsZW1lbnQgYWxzbyBzZWVtcyB3YXkgdG9vIG11Y2ggd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk5MAoKMjAxNi0wOS0yNyAxMDoyMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBSZXZlcnQgIm11bHRpZmlsZXNpbms6IGNsb3NlIGZpbGUgb24gd3JpdGUgZXJyb3Igd2l0aCBuZXh0LWZpbGUgbW9kZSBpcyBzZXQgdG8gYnVmZmVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg0ZTQ0MWQyNjg1Y2YyMjNkMzQ4YTk1YmUwYzViYTY5M2JiZjY2MjQuCgkgIFRoaXMgd2lsbCBubyBsb25nZXIgYmUgbmVlZGVkIG9uY2Ugd2UgcmV2ZXJ0IGYxY2VhYWIwMi4KCjIwMTYtMDktMjYgMTM6MjI6MjkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBBZGQgZ3N0LXBsdWdpbnMtYmFzZSBwbHVnaW5zIGRpcmVjdG9yaWVzIHRvIGJlIHVzZWQgYnkgdGVzdHMKCjIwMTYtMDktMjYgMTQ6MzA6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svZ2V0cGx1Z2luc2RpcjoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBhZGQgdW5pdCB0ZXN0cwoJICBPbmx5IHdvcmtzIHByb3Blcmx5IGluIGFuIGluc3RhbGxlZCBzZXR1cCBjdXJyZW50bHksIG1vc3QKCSAgbGlrZWx5IHdvbid0IHdvcmsgd2l0aCBhIHN1YnByb2plY3RzIHNldHVwIHlldC4KCjIwMTYtMDktMjQgMDk6MzY6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogcG8vbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBob29rIHVwIHRyYW5zbGF0aW9ucwoKMjAxNi0wOS0wOCAxNzozMDo0MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBEb24ndCBuZWdvdGlhdGUgdG8gbGVzcyB0aGFuIHR3byBzZWdtZW50cwoJICBHc3RBdWRpb1JpbmdCdWZmZXIgZG9lc24ndCBuZWVkcyB1cyB0byBoYXZlIGF0IGxlYXN0IDIgc2VnbWVudHMuIFdlIG1ha2UKCSAgc3VyZSB0aGF0IGlmIG91ciBidWZmZXIgcGFyYW1ldGVycyBhcmUgc3VjaCB0aGF0IHRoZSBtYXhsZW5ndGggaXMgbm90IGF0CgkgIGxlYXN0IDJ4IGZyYWdzaXplLCB3ZSBzdGlsbCByZXF1ZXN0IHRoZSByaW5nYnVmZmVyIHRvIGtlZXAgdGhhdCBtdWNoCgkgIHNwYWNlIHNvIGl0IGNvbnRpbnVlcyB0byB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNDQ2CgoyMDE2LTA5LTI0IDIzOjIyOjAxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IEZpeCB0aW1lc3RhbXBpbmcKCSAgV2Ugd2VyZSBqdXN0IHBpY2tpbmcgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbGFzdCBidWZmZXIgcHVzaGVkIGludG8gb3VyCgkgIGFkYXB0ZXIgYmVmb3JlIHdlIGhhZCBlbm91Z2ggZGF0YSB0byBwdXNoIG91dC4KCSAgVGhpcyBmaXhlcyB0aGluZ3MgdG8gZmlndXJlIG91dCBob3cgbGFyZ2UgZWFjaCBmcmFtZSBpcyBhbmQgd2hhdAoJICBkdXJhdGlvbiBpdCBjb3ZlcnMsIHNvIHdlIGNhbiBzZXQgYm90aCB0aGUgdGltZXN0YW1wIGFuZCBkdXJhdGlvbgoJICBjb3JyZWN0bHkuCgkgIEFsc28gYWRkcyBzb21lIERJU0NPTlQgaGFuZGxpbmcuCgoyMDE2LTA3LTEyIDE4OjE0OjUyICswMjAwICBHZW9yZyBMaXBwaXRzY2ggPGdsaXBwaXRzY2hAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZm91cmNjIGZvciBQcm9SZXMgUHJveHkKCSAgVGhpcyBpcyBhcGNvLCBhY2NvcmRpbmcgdG8KCSAgaHR0cHM6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPUFwcGxlX1Byb1JlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA5LTE4IDIwOjU1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGZpeCBidWlsZCB3aXRoIHZweCAxLjMueAoJICB2cHggPj0gMS40LjAgaXMgb3B0aW9uYWwKCjIwMTYtMDktMTUgMTg6MTk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFVzZSBuZXcgYmluIHN1cHByZXNzZWQgZmxhZ3MgQVBJIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudCBmbGFncwoKMjAxNi0wOS0xNSAwOTo1MjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBnc3QvcnRwL2Rib29saHVmZi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgZXh0LCBnc3Q6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wOS0xNSAwOTo1MjoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHZwOS5jOgoJICB0ZXN0czogZml4IGluZGVudGF0aW9uCgoyMDE2LTA4LTExIDExOjA0OjIyIC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGNhbGN1bGF0aW5nIG5leHRfc2VxbnVtIHdoZW4gZHJvcHBpbmcgb2xkIGJ1ZmZlcnMgZnJvbSBhIGZ1bGwgcXVldWUuCgkgIEZpeGVzIGNhbGN1bGF0aW5nIHRoZSBuZXh0IHNlcXVlbmNlIG51bWJlciB3aGVuIGEgSVRFTV9UWVBFX0xPU1Qgd2l0aCBtb3JlIHRoYW4gb25lCgkgIGRlZmluaXRlbHkgbG9zdCBwYWNrZXRzIGlzIGVuY291bnRlcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzU3CgoyMDE2LTA4LTExIDIzOjA3OjQ0ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZWQgcnR4LXJ0dCBhdmVyYWdpbmcKCSAgVGhlIGJhc2ljIGlkZWEgaXMgdGhpczoKCSAgMS4gRm9yICpsYXJnZXIqIHJ0eC1ydHQsIHdlaWdoIGEgbmV3IG1lYXN1cmVtZW50IGFzIGJlZm9yZQoJICAyLiBGb3IgKnNtYWxsZXIqIHJ0eC1ydHQsIGJlIGEgYml0IG1vcmUgY29uc2VydmF0aXZlIGFuZCB3ZWlnaCBhIGJpdCBsZXNzCgkgIDMuIEZvciB2ZXJ5IGxhcmdlIG1lYXN1cmVtZW50cywgY29uc2lkZXIgdGhlbSAib3V0bGllcnMiCgkgIGFuZCBjb3VudCB0aGVtIGEgbG90IGxlc3MKCSAgVGhlIGlkZWEgYmVpbmcgdGhhdCByZWR1Y2luZyB0aGUgcnR4LXJ0dCBpcyBtdWNoIG1vcmUgaGFybWZ1bCB0aGVuCgkgIGluY3JlYXNpbmcgaXQsIHNpbmNlIHdlIGRvbid0IHdhbnQgdG8gYmUgdW5kZXJlc3RpbWF0aW5nIHRoZSBydHQgb2YgdGhlCgkgIG5ldHdvcmssIGFuZCB3aGVuIHVzaW5nIHRoaXMgbnVtYmVyIHRvIGVzdGltYXRlIHRoZSBsYXRlbmN5IHlvdSBuZWVkIGZvcgoJICB5b3Ugaml0dGVyYnVmZmVyLCB5b3Ugd291bGQgcmF0aGVyIHdhbnQgaXQgdG8gYmUgYSBiaXQgbGFyZ2VyIHRoZW4gYSBiaXQKCSAgc21hbGxlciwgcG90ZW50aWFsbHkgbG9zaW5nIHJ0eC1wYWNrZXRzLiBUaGUgIm91dGxpZXItZGV0ZWN0b3IiIGlzIHRoZXJlCgkgIHRvIHByZXZlbnQgYSBzaW5nbGUgc2tld2VkIG1lYXN1cmVtZW50IHRvIGFmZmVjdCB0aGUgb3V0Y29tZSB0b28gbXVjaC4KCSAgT24gd2lyZWxlc3MgbmV0d29ya3MsIHRoZXNlIGFyZSBzdXJwcmlzaW5nbHkgY29tbW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA4LTA1IDEyOjUxOjU5ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEZXRlY3Qgd2hldGhlciB0byBhc3N1bWUgZXF1aWRpc3RhbnQgc3BhY2luZyB3aGVuIGxvc3MKCSAgQXNzdW1pbmcgZXF1aWRpc3RhbnQgcGFja2V0IHNwYWNpbmcgd2hlbiB0aGF0J3Mgbm90IHRydWUgbGVhZHMgdG8gbW9yZQoJICBsb3NzIHRoYW4gbmVjZXNzYXJ5IGluIHRoZSBjYXNlIG9mIHJlb3JkZXJpbmcgYW5kIGppdHRlci4gVHlwaWNhbGx5IHRoaXMKCSAgaXMgdHJ1ZSBmb3IgdmlkZW8gd2hlcmUgb25lIGZyYW1lIG9mdGVuIGNvbnNpc3RzIG9mIG11bHRpcGxlIHBhY2tldHMKCSAgd2l0aCB0aGUgc2FtZSBydHAgdGltZXN0YW1wLiBJbiB0aGlzIGNhc2UgaXQncyBiZXR0ZXIgdG8gYXNzdW1lIHRoYXQgdGhlCgkgIG1pc3NpbmcgcGFja2V0cyBoYXZlIHRoZSBzYW1lIHRpbWVzdGFtcCBhcyB0aGUgbGFzdCByZWNlaXZlZCBwYWNrZXQsIHNvCgkgIHRoYXQgdGhlIHNjaGVkdWxlZCBsb3N0IHRpbWVyIGRvZXMgbm90IHRpbWUgb3V0IHRvbyBlYXJseSBjYXVzaW5nIHRoZQoJICBwYWNrZXRzIHRvIGJlIGNvbnNpZGVyZWQgbG9zdCBldmVuIHRob3VnaCB0aGV5IG1heSBhcnJpdmUgaW4gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wNy0yNyAxMDozOTo1MCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3QgcmVxdWVzdCBydHggaWYgJ25vdycgaXMgcGFzdCByZXRyeSBwZXJpb2QKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBzY2hlZHVsZSBhbm90aGVyIEVYUEVDVEVEIHRpbWVyIGlmIHdlJ3JlIGFscmVhZHkKCSAgcGFzdCB0aGUgcmV0cnkgcGVyaW9kLiBVbmRlciBub3JtYWwgb3BlcmF0aW9uIHRoaXMgd29uJ3QgaGFwcGVuLCBidXQgaWYKCSAgdGhlcmUgYXJlIG1vcmUgdGltZXJzIHRoYW4gdGhlIGppdHRlcmJ1ZmZlciBpcyBhYmxlIHRvIHByb2Nlc3MgaW4KCSAgcmVhbC10aW1lLCBzY2hlZHVsaW5nIG1vcmUgdGltZXJzIHdpbGwganVzdCBtYWtlIHRoZSBzaXR1YXRpb24gd29yc2UuCgkgIEluc3RlYWQsIGNvbnNpZGVyIHRoaXMgcGFja2V0IGFzIGxvc3QgYW5kIG1vdmUgb24uIFRoaXMgc2NlbmFyaW8gY2FuCgkgIG9jY3VyIHdpdGggaGlnaCBsb3NzIHJhdGUsIGxvdyBydHQgYW5kIGhpZ2ggY29uZmlndXJlZCBsYXRlbmN5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA3LTI2IDE4OjAxOjQ4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggbG9zdCBkdXJhdGlvbiB3aGVuIGdhcCBhZnRlciBsb3N0IHRpbWVyCgkgIFRoaXMgcGF0Y2ggZml4ZXMgYW4gaXNzdWUgd2l0aCB0aGUgZXN0aW1hdGVkIGdhcCBkdXJhdGlvbiB3aGVuIHRoZXJlIGlzCgkgIGEgZ2FwIGltbWVkaWF0ZWx5IGFmdGVyIGEgbG9zdCB0aW1lciBoYXMgYmVlbiBwcm9jZXNzZWQuIFByZXZpb3VzbHkKCSAgdGhlcmUgd2FzIGEgZGlzY3JlcGFuY3kgYmV0ZWVuIHRoZSBnYXAgaW4gc2VxbnVtIGFuZCBnYXAgaW4gZHRzIHdoaWNoCgkgIHdvdWxkIGNhdXNlIHdyb25nIGNhbGN1bGF0ZWQgZHVyYXRpb24uIFRoZSBpc3N1ZSB3b3VsZCBvbmx5IGJlIHNlZW4gd2l0aAoJICByZXRyYW5taXNzaW9uIGVuYWJsZWQgc2luY2Ugd2hlbiBpdCdzIGRpc2FibGVkIGxvc3QgdGltZXJzIGFyZSBvbmx5CgkgIGNyZWF0ZWQgd2hlbiBhIHBhY2tldCBpcyByZWNlaXZlZCBhbmQgdGhlIGFjdHVhbCBnYXAgbGVuZ3RoIGFuZCBsYXN0IGR0cwoJICBpcyBrbm93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wNy0xOSAwMToxMTo1OCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRXhwb3NlIHJ0eC1kZWFkbGluZSBhcyBhIHByb3BlcnR5CgkgIFRoZSBkZWZhdWx0IC0xIGdpdmVzIHRoZSBvbGQgYmVoYXZpb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDgtMTEgMTI6MDI6MTkgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBJbXByb3ZlZCBleHBlY3RlZC10aW1lciBoYW5kbGluZyB3aGVuIGdhcCA+IDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wOC0xMSAxMTo1MTo1MCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWFqb3IgaW1wcm92ZW1lbnRzIGZvciBSVFggc3RhdHMKCSAgU3RhdHMgc2hvdWxkIGFsc28gYmUgY29sbGVjdGVkIGZvciB1bnN1Y2Nlc3NmdWwgcGFja2V0cy4KCSAgcnR4LXJ0dCBpcyB2ZXJ5IGltcG9ydGFudCBmb3IgZGV0ZXJtaW5pbmcgdGhlIG5lY2Vzc2FyeSBjb25maWd1cmVkCgkgIGxhdGVuY3kgb24gdGhlIGppdHRlcmJ1ZmZlci4gSXQncyBlc3BlY2lhbGx5IGltcG9ydGFudCB0byBiZSBhYmxlIHRvCgkgIGluY3JlYXNlIHRoZSBsYXRlbmN5IHdoZW4gcmV0cmFuc21pdHRlZCBwYWNrZXRzIGFycml2ZSB0b28gbGF0ZSBhbmQgYXJlCgkgIGNvbnNpZGVyZWQgbG9zdC4gVGhpcyBwYXRjaCBpbmNsdWRlcyB0aGVzZSBsYXRlIHBhY2tldHMgaW4gdGhlCgkgIGNhbGN1bGF0aW9uIG9mIHRoZSB2YXJpb3VzIHJ0eCBzdGF0cywgbWFraW5nIHRoZW0gbW9yZSBjb3JyZWN0IGFuZAoJICB1c2VmdWwuCgkgIEFsc28gaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIG9yaWdpbmFsIHBhY2tldCBhcnJpdmVzIGFmdGVyIGEgTkFDSyBpcyBzZW50LAoJICB0aGUgcmVjZWl2ZWQgUlRYIHBhY2tldCBzaG91bGQgdXBkYXRlIHRoZSBzdGF0cyBzaW5jZSBpdCBwcm92aWRlcyB1c2VmdWwKCSAgaW5mb3JtYXRpb24gYWJvdXQgUlRULgoJICBUaGUgUlRUIGlzIG9ubHkgdXBkYXRlZCBpZiBhbmQgb25seSBpZiBhbGwgcmVxdWVzdGVkIHJldHJhbm1pc3Npb25zIGFyZQoJICByZWNlaXZlZC4gVGhhdCB3YXkgdGhlIFJUVCBpcyBndWFyYW50ZWVkIHRvIG1ha2Ugc2Vuc2UuIElmIG5vdCB3ZSBkb24ndAoJICBrbm93IHdoaWNoIHJlcXVlc3QgdGhlIHBhY2tldCBpcyBhIHJlc3BvbnNlIHRvIGFuZCB0aGUgUlRUIG1heSBiZSBib2d1cy4KCSAgQSBjb25zZXF1ZW5jZSBvZiB0aGlzIHBhdGNoIGlzIHRoYXQgUlRUIGlzIG5vdCB1cGRhdGVkIGZvciBhIHJlcXVlc3QKCSAgd2hlbiBvbmUgb2YgdGhlIFJUWCBwYWNrZXRzIGZvciB0aGF0IHNlcW51bSBpcyBsb3N0LCBidXQgdGhhdCBzaW5jZQoJICBtZWFzdXJlZCBSVFQgd2lsbCBiZSBtb3JlIGFjY3VyYXRlLgoJICBUaGUgaW1wbGVtZW50YXRpb24gc3RvcmUgdGhlIFJUWCBpbmZvcm1hdGlvbiBmcm9tIHRoZSB0aW1lZCBvdXQgdGltZXJzCgkgIGFuZCB1c2UgdGhpcyB3aGVuIHRoZSByZXRyYW5zbWl0dGVkIHBhY2tldCBhcnJpdmVzLiBGb3IgcGVyZm9ybWFuY2UKCSAgdGhlc2UgdGltZXJzIGFyZSBzdG9yZWQgc2VwYXJhdGVseSBmcm9tIHRoZSAibm9ybWFsIiB0aW1lcnMgaW4gb3JkZXIgdG8KCSAgbm90IGltcGFjdCBwZXJmb3JtYW5jZSAoc2VlIGF0dGFjaGVkIHBlcmZvcm1hbmNlIHRlc3QpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA4LTExIDExOjAyOjQ0ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkIGFuZCBleHBvc2UgbW9yZSBzdGF0cyBhbmQgaW5jcmVhc2UgdGVzdGluZyBvZiBpdAoJICBBZGQgbnVtLXB1c2hlZCBhbmQgbnVtLWxvc3QuCgkgIEV4cG9zZSBudW0tbGF0ZSwgbnVtLWR1cGxpY2F0ZXMgYW5kIGF2Zy1qaXR0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDctMDcgMTA6MjA6MDIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHhyZWNlaXZlOiBTZXQgYnVmZmVyIGZsYWcgZm9yIHJldHJhbnNtaXR0ZWQgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA3LTA5IDIzOjQ3OjQxICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBPcHRpb24gdG8gZGlzYWJsZSBydHgtZGVsYXktcmVvcmRlcgoJICBXaGVuIGRpc2FibGVkIHdlIGNhbiBzYXZlIHNvbWUgaXRlcmF0aW9ucyBvdmVyIHRpbWVycy4KCSAgVGhlcmUgaXMgcHJvYmFibHkgYW4gYXJndW1lbnQgZm9yIHJ0eC1kZWxheS1yZW9yZGVyIHRvIGV4aXN0LCBidXQKCSAgZm9yIG5vcm1hbCBvcGVyYXRpb25zLCBoYW5kbGluZyBqaXR0ZXIgKHJlb3JkZXJpbmcpIGlzIHNvbWV0aGluZyBhCgkgIGppdHRlcmJ1ZmZlciBzaG91bGQgZG8sIGFuZCB0aGlzIHZhcmlhYmxlIGZlZWxzIGxpa2UgZnVuY3Rpb25hbGl0eSB0aGF0CgkgIGlzIG5vdCAiaW4tc3luYyIgd2l0aCB3aGF0IHRoZSBqaXR0ZXJidWZmZXIgaXMgdHJ5aW5nIHRvIGFjaGlldmUuCgkgIEV4YW1wbGU6IFlvdSBoYXZlIDUwbXMgaml0dGVyIG9uIHlvdXIgbmV0d29yaywgYW5kIGFyZSByZWNlaXZpbmcKCSAgYXVkaW8gcGFja2V0cyB3aXRoIDEwbXMgZHVyYXRpb25zLiBBbiBhdWRpbyBwYWNrZXQgc2hvdWxkIG5vdCBiZQoJICBjb25zaWRlcmVkIGxhdGUgdW50aWwgaXRzIHJ0eC10aW1lb3V0IGhhcyBleHBpcmVkIChhbmQgaGVuY2UgYSBydHgtZXZlbnQKCSAgaXMgc2VudCksIGJ1dCB3aXRoIHJ0eC1kZWxheS1yZW9yZGVyLCBldmVudHMgd2lsbCBiZSBzZW50IHByZXR0eSBtdWNoCgkgIGFsbCB0aGUgdGltZSBkdWUgdG8gdGhlIGppdHRlciBvbiB0aGUgbmV0d29yay4KCSAgUG9pbnQgYmVpbmc6IFRoZSBqaXR0ZXJidWZmZXIgc2hvdWxkIGFkYXB0IGl0cyBzaXplIHRvIHRoZSBtZWFzdXJlZCBuZXR3b3JrCgkgIGppdHRlciwgYW5kIHRoZW4gcnR4LWRlbGF5LXJlb3JkZXIgbmVlZHMgdG8gYWRhcHQgYXMgd2VsbCwgb3Igc2ltcGx5CgkgIGdldCBvdXQgb2YgdGhlIHdheSBhbmQgbGV0IHRoZSBvdGhlciAoYmV0dGVyKSBydHgtbWVjaGFuaXNtcyBkbyB0aGVpciBqb2IuCgkgIEFsc28gY2hhbmdlIGZpbmRfdGltZXIgdG8gb25seSB1c2Ugc2VxbnVtIGFzIGFuIGFyZ3VtZW50LCBzaW5jZSB0aGVyZQoJICB3aWxsIG9ubHkgZXZlciBiZSBvbmUgdGltZXIgcGVyIHNlcW51bSBhdCBhbnkgZ2l2ZW4gdGltZS4gSW4gdGhlCgkgIG9uZSBjYXNlIHdoZXJlIHRoZSB0eXBlIG1hdHRlcnMsIHRoZSBjYWxsZXIgc2ltcGx5IGNoZWNrcyB0aGUgdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wOS0xNCAwOTo1ODo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBGaXggZG91YmxlIGZyZWUgZnJvbSBjb3Zlcml0eQoJICBDSUQgIzEzNzI4ODcKCjIwMTYtMDktMTQgMDk6NTg6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogSW5kZW50IGFzIHBlciBnc3QtaW5kZW50CgoyMDE2LTA5LTE0IDExOjMwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERlcGVuZCBvbiBnc3RyZWFtZXIgMS45LjIuMQoKMjAxNi0wOS0xNCAxMDoxNzowMiArMDkwMCAgV29uY2h1bCBMZWUgPHdvbmNodWwubGVlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkgIGF1dG9kZXRlY3Q6IFVzZSBnc3RfYmluX3NldF9zdXBwcmVzc2VkX2ZsYWdzKCkgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEzOTUKCjIwMTYtMDktMDkgMTU6MzY6MTIgKzAyMDAgIFRob21hcyBTY2hldWVybWFubiA8VGhvbWFzLlNjaGV1ZXJtYW5uQGJhcmNvLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICBqYWNrOiBGaXggcGlwZWxpbmUgaGFuZyB3aGVuIGphY2sgY2hhbmdlcyBzYW1wbGUgcmF0ZSBvciBidWZmZXIgc2l6ZQoJICBJZiBqYWNrZCBjaGFuZ2VzIHRoZSBidWZmZXIgc2l6ZSBvciBzYW1wbGUgcmF0ZSwgamFja2F1ZGlvc2luayBoYW5ncwoJICBhbmQgY2FuJ3QgYmUgc3RvcHBlZC4gVGhpcyBhbHNvIGhhcHBlbnMgaWYgamFjayBpcyBjb25maWd1cmVkIGFzIHNsYXZlCgkgIGFuZCBhIGdzdHJlYW1lciBwaXBlbGluZSBpcyBzdGFydGVkIG9uIHRoZSBzbGF2ZSBtYWNoaW5lIHdoaWxlIHRoZSBqYWNrCgkgIG1hc3RlciBpc24ndCBydW5uaW5nIHlldC4gSWYgdGhlIHRoZSBqYWNrIG1hc3RlciBpcyBzdGFydGVkIGl0IGNoYW5nZXMKCSAgdGhlIGJ1ZmZlciBzaXplIC8gc2FtcGxlIHJhdGUgYW5kIGphY2thdWRpb3NpbmsgY2FuJ3QgYmUgc3RvcHBlZC4KCSAgVGhpcyBmaXggY2FsbHMgamFja19zaHV0ZG93bl9jYiB3aGVuIGphY2tfc2FtcGxlX3JhdGVfY2Igb3IKCSAgamFja19idWZmZXJfc2l6ZV9jYiBpcyBjYWxsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEyNzIKCjIwMTYtMDktMTIgMjA6MDg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBmaWVsZCBvcmRlcmluZyBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICBBbmQgYWN0dWFsbHkgY2FsY3VsYXRlIHRoZSBmaWVsZCBkdXJhdGlvbiBpbnN0ZWFkIG9mIGEgZnJhbWUgZHVyYXRpb24gc28KCSAgdGhhdCB3ZSBjYW4gcHJvcGVybHkgdGltZXN0YW1wIG91dHB1dCBmcmFtZXMgaW4gZmllbGRzPWFsbCBtb2RlLgoJICBUaGlzIGlzIHByb2JhYmx5IHN0aWxsIGJyb2tlbiBmb3IgcmV2ZXJzZSBwbGF5YmFjayBpbiB0ZWxlY2luZSBtb2RlLgoKMjAxNi0wOS0xMiAwOTowMjowMCArMDAwMCAgVGhvbWFzIEtsYXVzbmVyIDx0a0BnaWdhLm9yLmF0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaXggY29tcGlsYXRpb24gb24gTmV0QlNECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEyNzgKCjIwMTYtMDktMTAgMjA6NTE6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMThkODIwIHRvIGY5ODBmZDkKCjIwMTYtMDktMDkgMTQ6MDI6MjUgKzAyMDAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9mZnNldCBpcyBpcnJlbGV2YW50IHdoZW4gbm8gY3J5cHRvIGluZm8KCSAgQ2F1c2UgbGF0ZXIgaXQgd2lsbCB0cnkgdG8gdXNlIHRoZSBjcnlwdG8gaW5mbyBhcnJheSB0byBnZXQgYW4gaW5kZXggYW5kCgkgIGF0dGFjaCBvbiBvZiB0aGUgcG9zaXRpb25zIGFzIGJ1ZmZlcidzIGNyeXB0byBpbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwOTUxCgoyMDE2LTA5LTEwIDA5OjUzOjU3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjQ5YzU1ZSB0byBiMThkODIwCgoyMDE2LTA5LTA5IDE2OjM2OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogYWRkIGJ1aWxkIGZpbGVzIGZvciB0aGUgZ3RrIHBsdWdpbgoKMjAxNi0wOS0wNyAxNTozMzozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBvc3hhdWRpbzogRGlzdHJpYnV0ZSBkZXZpY2UgcHJvdmlkZXIgZmlsZXMKCSAgVGhvc2Ugd2hlcmUgbWlzc2luZyB0aGUgdGhlIGRldiByZWxlYXNlIHRhcmJhbGxzIGZvciAxLjkuMiB3aGljaAoJICBwcmV2ZW50ZWQgYnVpbGRpbmcgZnJvbSB0YXJiYWxsIG9uIE9TWCBwbGF0Zm9ybQoKMjAxNi0wOS0wNiAwOTo0OTozOSArMDIwMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNyYXNoIHdpdGggbm8gY2VuYyBhdXggb2Zmc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA5NTEKCjIwMTYtMDktMDYgMTM6MTM6MzkgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJICBxbWxnbHNpbms6IGNoZWNrIHF0X2NvbnRleHRfIGZpcnN0IGluIEdzdFFTR1RleHR1cmU6OmJpbmQoKQoJICBXaGVuIHN0YXJ0IHFtbGdsc2luayBhcHAsIGl0IHdpbGwgc2V0IE5VTEwgYnVmZmVyIHRvIEdzdFFTR1RleHR1cmUKCSAgaW4gd2hpY2ggY2FzZSB0aGF0IHF0X2NvbnRleHRfIHdpbGwgYmUgYSByYW5kb20gdmFsdWUgYW5kIGNhdXNlCgkgIGdzdF9nbF9jb250ZXh0X2FjdGl2YXRlKCkgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDkyNQoKMjAxNi0wOS0wNSAwOTozOTozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBwYXJzZSBhIGJpdCBtb3JlIG9mIHRoZSBodW1vbmdvdXMgTE9BUyBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6Mzk6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbWFrZSBpdCBjbGVhciB3aGVuIGEgcG90ZW50aWFsIExPQVMgZnJhbWUgaXMgbm90IG9uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA5LTA1IDA5OjM4OjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGFkZCBhIGZldyBjb21tZW50cyB0byBhbmNob3IgcGFyc2luZyB0byB0aGUgc3BlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA5LTA1IDA5OjM3OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogaW1wcm92ZSBjaGFubmVsL3JhdGUgaGFuZGxpbmcKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBwYXJzZWQgY2hhbm5lbHMvcmF0ZSBmaWVsZHMgc28gdGhleSBjYW4gYmUKCSAgdXNlZCBldmVuIGlmIHRoZSBlbGVtZW50IHdhcyBub3QgeWV0IGNvbmZpZ3VyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6MzU6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHZhcmxlbmd0aCBudW1iZXIgcmVhZGluZyBhcyBwZXIgc3BlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA5LTA1IDA5OjM1OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHN0cmlwIHVuZWVkZWQgc3RhdGljIGFycmF5cyBzbGFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjc4CgoyMDE2LTA3LTE4IDE5OjE4OjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSAgcnRwbXA0YWRlcGF5OiBPbmx5IGRlY2xhcmUgYSBzdHJlYW0gdG8gYmUgZnJhbWVkIG9uY2UgYSBtYXJrZXIgYml0IGhhcyBiZWVuIHNlZW4KCSAgVGhpcyBtYXkgY2F1c2UgYSBmZXcgcGFja2V0cyB0byBiZSBwcm9jZXNzZWQgYnkgdGhlIHBhcnNlciwgYnV0IGl0J3MKCSAgYmV0dGVyIHRoYW4gbmV2ZXIgcHVzaGluZyBvdXQgYnVmZmVycyBmcm9tIGEgc2xpZ2h0bHkgYnJva2VuIHN0cmVhbQoJICB3aGVyZSBubyBtYXJrZXIgYml0cyBhcmUgc2V0LgoKMjAxNi0wOS0wNiAxNDoyNTo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpeCB0aW1lc3RhbXBpbmcgaW4gcmV2ZXJzZSBwbGF5YmFjayBtb2RlCgkgIFRoaXMgaXMgb25seSBzdXBwb3J0ZWQgcmlnaHQgbm93IGlmIGFmdGVyIGEgZGVtdXhlciB0aGF0IHN1cHBvcnRzIHJldmVyc2UKCSAgcGxheWJhY2ssIGUuZy4gd2l0aCBEViBjb250YWluZXIgaW5zaWRlIEFWSSBjb250YWluZXIuCgoyMDE2LTA5LTA1IDEyOjIzOjU0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogQnVtcCB2ZXJzaW9uIHRvIDEuOS4yCgoyMDE1LTA2LTI2IDIwOjEzOjE3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvaXNvbXA0L0dzdFFUTXV4LnByczoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogSW1wbGVtZW50IHRoZSBwcmVzZXQgaW50ZXJmYWNlLgoJICArIEFuZCBwcm92aWRlIGEgInlvdXR1YmUiIHByZXNldCwgd2hpY2ggYmFzZWQgb24KCSAgaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20veW91dHViZS9hbnN3ZXIvMTcyMjE3MSBzZXRzCgkgIGZhc3RzdGFydCB0byBUcnVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTU5CgoyMDE2LTA5LTAxIDEyOjI3OjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjkuMiA9PT0KCjIwMTYtMDktMDEgMTI6Mjc6MTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjkuMgoKMjAxNi0wOS0wMSAxMToyMzozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDktMDEgMTA6NTk6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICB0ZXN0cy9leGFtcGxlczogI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBXZSB1c2UgZ2RrX2NhaXJvX2NyZWF0ZSgpIHdoaWNoIGlzIGRlcHJlY2F0ZWQgc2luY2UgMy4yMi4KCjIwMTYtMDgtMzEgMDU6NTA6NDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlbzogUmVtb3ZlIFF1aWNrVGltZSByZWZlcmVuY2VzLgoJICBRdWlja1RpbWUuaCBpcyBubyBsb25nZXIgYXZhaWxhYmxlIG9uIE9TIFggMTAuMTIgKFNpZXJyYSksCgkgIGFuZCBib3RoIHRoZSBoZWFkZXIgYW5kIHRoZSBmcmFtZXdvcmsgc2VlbSB1bm5lY2Vzc2FyeQoJICBmb3IgY29tcGlsYXRpb24gLSBhdCBsZWFzdCBhcyBvZiAxMC4xMSAoRWwgQ2FwaXRhbikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA1MjYKCjIwMTYtMDgtMTkgMTE6MTE6MDMgLTA3MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFVzZSB0aGUgbmV3IEFQSSB0byBwb3N0IGZsb3cgRVJST1IgbWVzc2FnZXMgb24gdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMTU4CgoyMDE2LTA4LTI2IDIxOjMyOjA3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGlnbm9yZSBxdGRlbXV4LCBydHBoMjYxIGFuZCBydHB2cDkgdGVzdHMKCjIwMTYtMDgtMjYgMjE6MjI6MTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIEdTVF9ORVRfTElCUyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCAtbGdzdG5ldAoJICBGaXhlcyBidWlsZCBpbiBPU1ggd2hlbiBydW5uaW5nICdtYWtlIGNoZWNrJyBpbiBnc3QtdW5pbnN0YWxsZWQuCgoyMDE2LTA4LTI2IDIxOjE0OjQ3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcmVtb3ZlIGEgd3JvbmcgJ2NvbnN0JyBzcGVjaWZpZXIKCSAgRml4ZXMgImVycm9yOiBkdXBsaWNhdGUgJ2NvbnN0JyBkZWNsYXJhdGlvbiBzcGVjaWZpZXIiCgoyMDE2LTA4LTI2IDIxOjExOjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBidWlsZDogc2lsZW5jZSBlcnJvciBhYm91dCBwdGhyZWFkIGZvciAnbWFrZSBjaGVjaycgaW4gb3N4CgkgIEZpeGVzICJjbGFuZzogZXJyb3I6IGFyZ3VtZW50IHVudXNlZCBkdXJpbmcgY29tcGlsYXRpb246ICctcHRocmVhZCciCgoyMDE2LTA4LTI2IDIwOjMxOjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZwOWVuYzogRml4IGJ1aWxkIG9mIHVuaXQgdGVzdCBieSBsZXR0aW5nIGl0IGxpbmsgdG8gbGliZ3N0dmlkZW8KCjIwMTYtMDgtMjYgMTI6MDY6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIFJldmVydCAicnRwbXV4OiBmaXggUFJPUF9USU1FU1RBTVBfT0ZGU0VUIHJhbmdlIHByb2JsZW1zIgoJICBUaGlzIGJyb2tlIEFQSSwgc28gd2UgbmVlZCBhIGJldHRlciBzb2x1dGlvbiEKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjNzU3OWQzMWE2ZTlkNzg4ZTk0YjgzMjU4MzA5MDYzZDBhYWU0ODFlLgoKMjAxNi0wNi0wOCAxNTowNjoyOCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHB2cDkuYzoKCSAgcnRwdnA5ZGVwYXk6IFN1cHBvcnQgZmxleGlibGUgbW9kZQoKMjAxNi0wNi0wNiAxNzowMzozNiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA5ZW5jLmM6CgkgIHZwOWVuYzogRml4IGxlYWsgb2YgdnB4X2ltYWdlX3QKCjIwMTYtMDUtMDYgMTM6MzM6MjIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M3BkZXBheTogRG9uJ3QgdHJ5IHRvIHB1c2ggZW1wdHkgZnJhbWUKCSAgSWYgdGhlIHJlc3VsdCBvZiBkZXBheWxvYWRpbmcgaXMgYW4gZW1wdHkgZnJhbWUsIGp1c3QgZHJvcCBpdC4gVGhpcyBpcwoJICBsaWtlbHkgdGhlIHJlc3VsdCBvZiBhIGJ1Z2d5IHBheWxvYWRlci4KCjIwMTYtMDUtMDYgMTY6MDY6NTMgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBmaXggUFJPUF9USU1FU1RBTVBfT0ZGU0VUIHJhbmdlIHByb2JsZW1zCgkgIEl0IGNvdWxkIG5vdCBzZXQgdGhlIG9mZnNldCBmb3IgdGhlIGZ1bGwgZ3VpbnQzMiByYW5nZS4KCjIwMTYtMDUtMDYgMDk6NDQ6NDIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBpbnRyb2R1Y2UgbWF4LXN0cmVhbXMgcHJvcGVydHkKCSAgVG8gYmUgYWJsZSB0byBjYXAgdGhlIG51bWJlciBvZiBhbGxvd2VkIHN0cmVhbXMgZm9yIG9uZSBzZXNzaW9uLgoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJldmVudGluZyBEb1MgYXR0YWNrcywgd2hlcmUgYSBzZW5kZXIgY2FuIGNoYW5nZQoJICBTU1JDIGZvciBldmVyeSBidWZmZXIsIGVmZmVjdGl2ZWx5IGJyaW5naW5nIHJ0cGJpbiB0byBhIGhhbHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAyOTIKCjIwMTYtMDMtMzEgMDA6MTA6NDkgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHJlb3JkZXJlZCBwYWNrZXRzIGFyZSB2ZXJ5IG5vcm1hbCwgYW5kIHNob3VsZCBub3QgYmUgYSB3YXJuaW5nCgoyMDE2LTAyLTA1IDE0OjE5OjI1ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRlZ3JhZGUgZ193YXJuaW5nIHRvIEdTVF9FUlJPUgoJICBTbyB3ZSBkb24ndCBibG93IHVwIHdoaWxlIGludmVzdGlnYXRpbmcKCjIwMTYtMDItMDQgMTQ6MTY6NDAgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M3BkZXBheTogRml4IHBpY3R1cmUgaGVhZGVyIGZvciBub24td3JpdGFibGUgcGF5bG9hZAoJICBVbmRlciBjZXJ0YWluIGNvbmRpdGlvbnMgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWQoKSByZXR1cm5zIGEgY29weSBvZgoJICB0aGUgcGF5bG9hZC4gSW4gdGhpcyBjYXNlIHRoZSBwYXlsb2FkIG1vZGlmaWNhdGlvbnMgd2lsbCBub3QgYWZmZWN0IHRoZQoJICBydHAgYnVmZmVyLiBTbyBpbnN0ZWFkIG9mIG1vZGlmeWluZyB0aGUgcGF5bG9hZCBidWZmZXIgZGlyZWN0bHkgd2UKCSAgc2hvdWxkIG1vZGlmeSB0aGUgYnVmZmVyIHRoYXQgYWN0dWFsbHkgZ2V0cyBwdXNoZWQgb24gdGhlIGFkYXB0ZXIuCgoyMDE1LTExLTE5IDExOjUwOjQ3ICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYxLmM6CgkgIHJ0cGgyNjFkZXBheTogRml4IGNoZWNrIG9mIHZhbGlkIHBheWxvYWQgbGVuZ3RoCgkgIFBhY2tldHMgd2l0aCBubyBILjI2MSBwYXlsb2FkIHNob3VsZCBiZSBkcm9wcGVkIHRvIGF2b2lkIGludmFsaWQKCSAgd3JpdGUvcmVhZHMuCgoyMDE1LTExLTA5IDEwOjA2OjIxICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkgIHJ0cGgyNjNwYXk6IEZpeCBkb3VibGUgZnJlZSwgaW52YWxpZCByZWFkcyBhbmQgbGVhawoKMjAxNC0wNi0zMCAxNTo0Mzo1OCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHNhbml0eSBjaGVjayBSVFQgYmVmb3JlIGlnbm9yaW5nIFBMSS9GSVIKCjIwMTQtMDYtMzAgMTU6MDc6NDUgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBoYW5kbGUgc2RlcyBtZXNzYWdlcyB3aXRoIG5vbi11dGY4IG1vcmUgZ3JhY2VmdWxseQoKMjAxNC0wNi0xNyAwODo1Mjo1MCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbi5zZWxuZXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGNoYW5nZSBsb2cgbGV2ZWwgb24gYml0c3RyZWFtIHBhcnNpbmcgbWVzc2FnZXMKCjIwMTYtMDctMDcgMTE6MTM6MTggKzAyMDAgIE1pa2hhaWwgRmx1ZGtvdiA8bWlzaGFAcGV4aXAuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL3J0cHJ0eDogcmVmYWN0b3IgdGhlIHRlc3RzIHRvIHVzZSBnc3RoYXJuZXNzCgkgIFRoZSBmdW5jdGlvbmFsaXR5IG9mIGFsbCB0aGUgdGVzdHMgd2FzIGtlcHQgZXhhY3RseSB0aGUgc2FtZS4gU29tZSB0ZXN0cwoJICB3ZXJlIHJlbmFtZWQ6CgkgIHRlc3RfcHVzaF9mb3J3YXJkX3NlcSAtPiB0ZXN0X3J0eHNlbmRfcnR4cmVjZWl2ZQoJICB0ZXN0X2Ryb3Bfb25lX3NlbmRlciAtPiB0ZXN0X3J0eHNlbmRfcnR4cmVjZWl2ZV93aXRoX3BhY2tldF9sb3NzCgkgIHRlc3RfZHJvcF9tdWx0aXBsZV9zZW5kZXIgLT4gdGVzdF9tdWx0aV9ydHhzZW5kX3J0eHJlY2VpdmVfd2l0aF9wYWNrZXRfbG9zcwoJICB0ZXN0X3J0eHJlY2VpdmVfZGF0YV9yZWNvbnN0cnVjdGlvbiB3YXMgdGVzdGluZyB0aGF0IHJldHJhbnNtaXR0ZWQKCSAgYnVmZmVyIHByb2R1Y2VkIGJ5IHJ0eHNlbmQgd2FzIGNvcnJlY3RseSB0cmFuc2Zvcm1lZCB0byB0aGUgb3JpZ2luYWwKCSAgYnVmZmVyIGJ5IHJ0eHJlY2VpdmUuIE5vdyB3ZSBhcmUgY2hlY2tpbmcgZm9yIHRoaXMgaW4gYWxsIHRoZSB0ZXN0cwoJICB3aGVyZSBib3RoIHJ0eHNlbmQgJiBydHhyZWNlaXZlIGFyZSBpbnZvbHZlZC4gVGhhdCdzIHdoeSB0aGUgdGVzdCB3YXMKCSAgcmVtb3ZlZC4KCjIwMTYtMDgtMjUgMTU6NTI6MzYgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IFNldCBSVFAgbWFya2VyIGJpdAoJICBTZXQgdGhlIFJUUCBtYXJrZXIgYml0IG9uIHRoZSBsYXN0IFJUUCBwYWNrZXQgb2YgYW4gSC4yNjUgYWNjZXNzIHVuaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAzOTQKCjIwMTYtMDctMjYgMTk6Mzk6NTggKzAyMDAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvZmxpcDogYWRkZWQgR3N0VmlkZW9EaXJlY3Rpb24gaW50ZXJmYWNlCgkgIEl0IGltcGxlbWVudHMgbm93IHRoaXMgaW50ZXJmYWNlIHdpdGggaXRzIHZpZGVvLWRpcmVjdGlvbgoJICBwcm9wZXJ0eS4gVmFsdWVzIGFyZSBjaGFuZ2VkIHRvIEdzdFZpZGVvT3JpZW50YXRpb25NZXRob2QgYnV0IHRoZXkgaGF2ZQoJICB0aGUgc2FtZSB2YWx1ZSB0aGFuIHRoZSBvcmlnaW5hbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg2ODcKCjIwMTUtMTEtMDYgMTA6Mzk6MTYgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogcmVmYWN0b3IgZHVwbGljYXRlIGNvZGUgaW50byBhIGZ1bmN0aW9uCgkgIExlc3MgY29kZSwgZWFzaWVyIHRvIHJlYWQsIG1vcmUgY29uc2lzdGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDI5MwoKMjAxNi0wOC0yMyAxNzowNjo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggdHlwbyBpbiBtYXgtbWlzb3JkZXItdGltZSBwcm9wZXJ0eSBuYW1lCgoyMDE2LTA4LTIyIDAwOjA1OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5nIGluIGRlYnVnIG1lc3NhZ2UKCSAgT24gMzItYml0IHg4NjogZ3N0c3BsaXRtdXhzaW5rLmM6OTY2OjMxOiB3YXJuaW5nOiBmb3JtYXQg4oCYJXXigJkgZXhwZWN0cwoJICBhcmd1bWVudCBvZiB0eXBlIOKAmHVuc2lnbmVkIGludOKAmSwgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUKCSAg4oCYZ3VpbnQ2NCB7YWthIGxvbmcgbG9uZyB1bnNpZ25lZCBpbnR94oCZCgoyMDE2LTA4LTEyIDIxOjI1OjM0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdHdvbGFtZS9tZXNvbi5idWlsZDoKCSAgQWRkIHN1cHBvcnQgZm9yIE1lc29uIGFzIGFsdGVybmF0aXZlL3BhcmFsbGVsIGJ1aWxkIHN5c3RlbQoJICBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbgoJICBXaXRoIGNvbnRyaWJ1dGlvbnMgZnJvbToKCSAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCSAgSnVzc2kgUGFra2FuZW4gPGpwYWtrYW5lQGdtYWlsLmNvbT4gKG9yaWdpbmFsIHBvcnQpCgkgIEhpZ2hsaWdodHMgb2YgdGhlIGZlYXR1cmVzIHByb3ZpZGVkIGFyZToKCSAgKiBGYXN0ZXIgYnVpbGRzIG9uIExpbnV4ICh+NDAtNTAlIGZhc3RlcikKCSAgKiBUaGUgYWJpbGl0eSB0byBidWlsZCB3aXRoIE1TVkMgb24gV2luZG93cwoJICAqIEdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gcHJvamVjdCBmaWxlcwoJICAqIEdlbmVyYXRlIFhDb2RlIHByb2plY3QgZmlsZXMKCSAgKiBNdWNoIGZhc3RlciBidWlsZHMgb24gV2luZG93cyAob24tcGFyIHdpdGggTGludXgpCgkgICogU2VyaW91c2x5IGZhc3QgY29uZmlndXJlIGFuZCBidWlsZGluZyBvbiBlbWJlZGRlZAoJICAuLi4gYW5kIG1hbnkgbW9yZS4gRm9yIG1vcmUgZGV0YWlscyBzZWU6CgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDUvZ3N0cmVhbWVyLWFuZC1tZXNvbi1uZXctaG9wZS5odG1sCgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDcvYnVpbGRpbmctYW5kLWRldmVsb3BpbmctZ3N0cmVhbWVyLXVzaW5nLmh0bWwKCSAgQnVpbGRpbmcgd2l0aCBNZXNvbiBzaG91bGQgd29yayBvbiBib3RoIExpbnV4IGFuZCBXaW5kb3dzLCBidXQgbWF5CgkgIG5lZWQgYSBmZXcgbW9yZSB0d2Vha3Mgb24gb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCgoyMDE2LTA4LTEyIDIxOjI1OjM0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGFtZS9tZXNvbi5idWlsZDoKCSAgQWRkIHN1cHBvcnQgZm9yIE1lc29uIGFzIGFsdGVybmF0aXZlL3BhcmFsbGVsIGJ1aWxkIHN5c3RlbQoJICBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbgoJICBXaXRoIGNvbnRyaWJ1dGlvbnMgZnJvbToKCSAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCSAgSnVzc2kgUGFra2FuZW4gPGpwYWtrYW5lQGdtYWlsLmNvbT4gKG9yaWdpbmFsIHBvcnQpCgkgIEhpZ2hsaWdodHMgb2YgdGhlIGZlYXR1cmVzIHByb3ZpZGVkIGFyZToKCSAgKiBGYXN0ZXIgYnVpbGRzIG9uIExpbnV4ICh+NDAtNTAlIGZhc3RlcikKCSAgKiBUaGUgYWJpbGl0eSB0byBidWlsZCB3aXRoIE1TVkMgb24gV2luZG93cwoJICAqIEdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gcHJvamVjdCBmaWxlcwoJICAqIEdlbmVyYXRlIFhDb2RlIHByb2plY3QgZmlsZXMKCSAgKiBNdWNoIGZhc3RlciBidWlsZHMgb24gV2luZG93cyAob24tcGFyIHdpdGggTGludXgpCgkgICogU2VyaW91c2x5IGZhc3QgY29uZmlndXJlIGFuZCBidWlsZGluZyBvbiBlbWJlZGRlZAoJICAuLi4gYW5kIG1hbnkgbW9yZS4gRm9yIG1vcmUgZGV0YWlscyBzZWU6CgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDUvZ3N0cmVhbWVyLWFuZC1tZXNvbi1uZXctaG9wZS5odG1sCgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDcvYnVpbGRpbmctYW5kLWRldmVsb3BpbmctZ3N0cmVhbWVyLXVzaW5nLmh0bWwKCSAgQnVpbGRpbmcgd2l0aCBNZXNvbiBzaG91bGQgd29yayBvbiBib3RoIExpbnV4IGFuZCBXaW5kb3dzLCBidXQgbWF5CgkgIG5lZWQgYSBmZXcgbW9yZSB0d2Vha3Mgb24gb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCgoyMDE2LTA4LTEyIDIxOjI1OjM0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL21lc29uLmJ1aWxkOgoJICBBZGQgc3VwcG9ydCBmb3IgTWVzb24gYXMgYWx0ZXJuYXRpdmUvcGFyYWxsZWwgYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uCgkgIFdpdGggY29udHJpYnV0aW9ucyBmcm9tOgoJICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoJICBKdXNzaSBQYWtrYW5lbiA8anBha2thbmVAZ21haWwuY29tPiAob3JpZ2luYWwgcG9ydCkKCSAgSGlnaGxpZ2h0cyBvZiB0aGUgZmVhdHVyZXMgcHJvdmlkZWQgYXJlOgoJICAqIEZhc3RlciBidWlsZHMgb24gTGludXggKH40MC01MCUgZmFzdGVyKQoJICAqIFRoZSBhYmlsaXR5IHRvIGJ1aWxkIHdpdGggTVNWQyBvbiBXaW5kb3dzCgkgICogR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyBwcm9qZWN0IGZpbGVzCgkgICogR2VuZXJhdGUgWENvZGUgcHJvamVjdCBmaWxlcwoJICAqIE11Y2ggZmFzdGVyIGJ1aWxkcyBvbiBXaW5kb3dzIChvbi1wYXIgd2l0aCBMaW51eCkKCSAgKiBTZXJpb3VzbHkgZmFzdCBjb25maWd1cmUgYW5kIGJ1aWxkaW5nIG9uIGVtYmVkZGVkCgkgIC4uLiBhbmQgbWFueSBtb3JlLiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNS9nc3RyZWFtZXItYW5kLW1lc29uLW5ldy1ob3BlLmh0bWwKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNy9idWlsZGluZy1hbmQtZGV2ZWxvcGluZy1nc3RyZWFtZXItdXNpbmcuaHRtbAoJICBCdWlsZGluZyB3aXRoIE1lc29uIHNob3VsZCB3b3JrIG9uIGJvdGggTGludXggYW5kIFdpbmRvd3MsIGJ1dCBtYXkKCSAgbmVlZCBhIGZldyBtb3JlIHR3ZWFrcyBvbiBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcy4KCjIwMTYtMDgtMTIgMjE6MTI6MzAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZy5oLm1lc29uOgoJKiBleHQvY2Fpcm8vbWVzb24uYnVpbGQ6CgkqIGV4dC9kdi9tZXNvbi5idWlsZDoKCSogZXh0L2ZsYWMvbWVzb24uYnVpbGQ6CgkqIGV4dC9nZGtfcGl4YnVmL21lc29uLmJ1aWxkOgoJKiBleHQvamFjay9tZXNvbi5idWlsZDoKCSogZXh0L2pwZWcvbWVzb24uYnVpbGQ6CgkqIGV4dC9saWJwbmcvbWVzb24uYnVpbGQ6CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L3B1bHNlL21lc29uLmJ1aWxkOgoJKiBleHQvc2hvdXQyL21lc29uLmJ1aWxkOgoJKiBleHQvc291cC9tZXNvbi5idWlsZDoKCSogZXh0L3NwZWV4L21lc29uLmJ1aWxkOgoJKiBleHQvdGFnbGliL21lc29uLmJ1aWxkOgoJKiBleHQvdnB4L21lc29uLmJ1aWxkOgoJKiBleHQvd2F2cGFjay9tZXNvbi5idWlsZDoKCSogZ3N0L2FscGhhL21lc29uLmJ1aWxkOgoJKiBnc3QvYXBldGFnL21lc29uLmJ1aWxkOgoJKiBnc3QvYXVkaW9meC9tZXNvbi5idWlsZDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9tZXNvbi5idWlsZDoKCSogZ3N0L2F1cGFyc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdXRvZGV0ZWN0L21lc29uLmJ1aWxkOgoJKiBnc3QvYXZpL21lc29uLmJ1aWxkOgoJKiBnc3QvY3V0dGVyL21lc29uLmJ1aWxkOgoJKiBnc3QvZGVidWd1dGlscy9tZXNvbi5idWlsZDoKCSogZ3N0L2RlaW50ZXJsYWNlL21lc29uLmJ1aWxkOgoJKiBnc3QvZHRtZi9tZXNvbi5idWlsZDoKCSogZ3N0L2VmZmVjdHYvbWVzb24uYnVpbGQ6CgkqIGdzdC9lcXVhbGl6ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9mbHYvbWVzb24uYnVpbGQ6CgkqIGdzdC9mbHgvbWVzb24uYnVpbGQ6CgkqIGdzdC9nb29tL21lc29uLmJ1aWxkOgoJKiBnc3QvZ29vbTJrMS9tZXNvbi5idWlsZDoKCSogZ3N0L2ljeWRlbXV4L21lc29uLmJ1aWxkOgoJKiBnc3QvaWQzZGVtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9pbWFnZWZyZWV6ZS9tZXNvbi5idWlsZDoKCSogZ3N0L2ludGVybGVhdmUvbWVzb24uYnVpbGQ6CgkqIGdzdC9pc29tcDQvbWVzb24uYnVpbGQ6CgkqIGdzdC9sYXcvbWVzb24uYnVpbGQ6CgkqIGdzdC9sZXZlbC9tZXNvbi5idWlsZDoKCSogZ3N0L21hdHJvc2thL21lc29uLmJ1aWxkOgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC9tb25vc2NvcGUvbWVzb24uYnVpbGQ6CgkqIGdzdC9tdWx0aWZpbGUvbWVzb24uYnVpbGQ6CgkqIGdzdC9tdWx0aXBhcnQvbWVzb24uYnVpbGQ6CgkqIGdzdC9yZXBsYXlnYWluL21lc29uLmJ1aWxkOgoJKiBnc3QvcnRwL21lc29uLmJ1aWxkOgoJKiBnc3QvcnRwbWFuYWdlci9tZXNvbi5idWlsZDoKCSogZ3N0L3J0c3AvbWVzb24uYnVpbGQ6CgkqIGdzdC9zaGFwZXdpcGUvbWVzb24uYnVpbGQ6CgkqIGdzdC9zbXB0ZS9tZXNvbi5idWlsZDoKCSogZ3N0L3NwZWN0cnVtL21lc29uLmJ1aWxkOgoJKiBnc3QvdWRwL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9ib3gvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb2Nyb3AvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb2ZpbHRlci9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvbWl4ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC93YXZlbmMvbWVzb24uYnVpbGQ6CgkqIGdzdC93YXZwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L3k0bS9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkqIG1lc29uX29wdGlvbnMudHh0OgoJKiBzeXMvZGlyZWN0c291bmQvbWVzb24uYnVpbGQ6CgkqIHN5cy9tZXNvbi5idWlsZDoKCSogc3lzL3Y0bDIvbWVzb24uYnVpbGQ6CgkqIHN5cy94aW1hZ2UvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9tZXNvbi5idWlsZDoKCSAgQWRkIHN1cHBvcnQgZm9yIE1lc29uIGFzIGFsdGVybmF0aXZlL3BhcmFsbGVsIGJ1aWxkIHN5c3RlbQoJICBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbgoJICBXaXRoIGNvbnRyaWJ1dGlvbnMgZnJvbToKCSAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCSAgSnVzc2kgUGFra2FuZW4gPGpwYWtrYW5lQGdtYWlsLmNvbT4gKG9yaWdpbmFsIHBvcnQpCgkgIEhpZ2hsaWdodHMgb2YgdGhlIGZlYXR1cmVzIHByb3ZpZGVkIGFyZToKCSAgKiBGYXN0ZXIgYnVpbGRzIG9uIExpbnV4ICh+NDAtNTAlIGZhc3RlcikKCSAgKiBUaGUgYWJpbGl0eSB0byBidWlsZCB3aXRoIE1TVkMgb24gV2luZG93cwoJICAqIEdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gcHJvamVjdCBmaWxlcwoJICAqIEdlbmVyYXRlIFhDb2RlIHByb2plY3QgZmlsZXMKCSAgKiBNdWNoIGZhc3RlciBidWlsZHMgb24gV2luZG93cyAob24tcGFyIHdpdGggTGludXgpCgkgICogU2VyaW91c2x5IGZhc3QgY29uZmlndXJlIGFuZCBidWlsZGluZyBvbiBlbWJlZGRlZAoJICAuLi4gYW5kIG1hbnkgbW9yZS4gRm9yIG1vcmUgZGV0YWlscyBzZWU6CgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDUvZ3N0cmVhbWVyLWFuZC1tZXNvbi1uZXctaG9wZS5odG1sCgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDcvYnVpbGRpbmctYW5kLWRldmVsb3BpbmctZ3N0cmVhbWVyLXVzaW5nLmh0bWwKCSAgQnVpbGRpbmcgd2l0aCBNZXNvbiBzaG91bGQgd29yayBvbiBib3RoIExpbnV4IGFuZCBXaW5kb3dzLCBidXQgbWF5CgkgIG5lZWQgYSBmZXcgbW9yZSB0d2Vha3Mgb24gb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCgoyMDE2LTA4LTIwIDE2OjU5OjMwICswODAwICBKaWUgSmlhbmcgPGppYW5namllQG51ZHQuZWR1LmNuPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgRml4ZWQgc3BsaXRtdXhzaW5rIDMyLWJpdCBvdmVyZmxvdyBidWcKCSAgRXh0ZW5kIHRoZSBieXRlIHRyYWNraW5nIGNvdW50ZXJzIHRvIDY0LWJpdCBvbgoJICBhbGwgcGxhdGZvcm1zLCBpbnN0ZWFkIG9mIHVzaW5nIGdzaXplLCB3aGljaCBvdmVyZmxvd3MKCSAgYWZ0ZXIgNEdCLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMDE5CgoyMDE2LTA4LTE5IDE3OjE4OjE2ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0OiBGaXggY292ZXJpdHkgd2FybmluZwoJICBJZiBhdG9tX2NvcHlfZGF0YSBmYWlscyB0byB3cml0ZSBhbnl0aGluZywgcmV0dXJuIDAKCSAgQ0lEICMxMzcxNDU4CgoyMDE2LTA0LTA5IDA3OjUxOjAzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5jOgoJICB2NGwyOiBjb25zaXN0ZW50bHkgY2hlY2sgI2lmZGVmIEhBVkVfR1VERVYgaW5zdGVhZCBvZiAjaWYKCSAgQm90aCB3b3JrIHdpdGggYXV0b3Rvb2xzIGJ1dCB0aGV5IGRlZmluaXRlbHkgZG9uJ3QgbWVhbiB0aGUgc2FtZSB0aGluZywgY2F1c2UKCSAgcHJvYmxlbXMgd2l0aCBvdGhlciBidWlsZCBzeXN0ZW1zLCBhbmQgYXJlIGJhZCBmb3JtLiBFeGlzdGVuY2Ugc2hvdWxkIGFsd2F5cyBiZQoJICBjaGVja2VkIHdpdGggI2lmZGVmIG9yICNpZiBkZWZpbmVkLgoKMjAxNi0wNC0xOSAxMDo1MzowNSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kOiBwb3J0IGF3YXkgZnJvbSBvbGQgRGlyZWN0WCBBUEkKCSAgRDNEWCBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGUgbGFzdCA0IHllYXJzIGFuZCBsYXRlc3QgdmVyc2lvbnMgb2YKCSAgV2luZG93cyBubyBsb25nZXIgc2hpcCBoZWFkZXJzIGZvciBpdC4gVGhpcyBpcyBmaW5lIGFzIGxvbmcgYXMgeW91J3JlCgkgIGJ1aWxkaW5nIHdpdGggQ2VyYmVybydzIFdpbmUtYmFzZWQgRGlyZWN0WCBoZWFkZXJzLCBidXQgc3Vja3MgaWYgeW91CgkgIHdhbnQgdG8gYnVpbGQgYWdhaW5zdCB0aGUgYWN0dWFsIFdpbmRvd3MgU0RLLgoJICBXZSB3ZXJlIGp1c3QgdXNpbmcgaXQgdG8gZ2V0IGVycm9yIHN0cmluZ3MgYW55d2F5LCBzbyBqdXN0IHVzZSB0aGUKCSAgZ2VuZXJpYyBlcnJvciBzdHJpbmcgQVBJLgoKMjAxNi0wOC0xOCAxMjowMjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIFJldmVydCAiZmxhY3BhcnNlOiBBZGQgbWF4aW11bSBiaXRyYXRlIHRhZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjNzAzYWI2OWY1MjYwOTJiYjI2Y2NlNDFjYTY5MWE4OTZjODM4M2Q4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MzkyCgoyMDE2LTA4LTE4IDA5OjU3OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHVuaXQgdGVzdCBieSBkaXNhYmxpbmcgYWRhcHRpdmUgbWlzb3JkZXIvZHJvcG91dCBjYWxjdWxhdGlvbnMKCSAgTmVlZCB0byBzZXQgbWF4LW1pc29yZGVyLXRpbWUgYW5kIG1heC1kcm9wb3V0LXRpbWUgdG8gMCBzbyB0aGUKCSAgaml0dGVyYnVmZmVyIGRvZXMgbm90IGJhc2UgdGhlbSBvbiBwYWNrZXQgcmF0ZSBjYWxjdWxhdGlvbnMuCgkgIElmIGl0IGRvZXMsIG91dCBnYXAgaXMgYmlnIGVub3VnaCB0byBiZSBjb25zaWRlcmVkIGEgbmV3IHN0cmVhbSBhbmQKCSAgd2Ugd2FpdCBmb3IgYSBmZXcgY29uc2VjdXRpdmUgcGFja2V0cyBqdXN0IHRvIGJlIHN1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMxMQoKMjAxNi0wOC0wOSAxMjo1NTo1OSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IEFkZCBvcHRpb24gdG8gc3BsaXQgYXQgZXhhY3RseSBtYXgtc2l6ZS10aW1lCgkgIFdpbGwgdHJ5IHRvIHJlcXVlc3QgYSBrZXlmcmFtZSBmcm9tIHRoZSBlbmNvZGVyIHRvIGJlIHNlbnQgYXQgdGhlIHRhcmdldAoJICBydW5uaW5nIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk2NjQKCjIwMTYtMDgtMDkgMjA6MTY6MTYgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBBbGxvdyB0aW1lIGFuZCBieXRlcyB0byByZWFjaCB0aGVpciByZXNwZWN0aXZlIHRocmVzaG9sZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTY2NAoKMjAxNi0wOC0xNyAwOTo0OTowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWxsb3cgbWltZXR5cGVzIHdpdGggcHJvcGVydGllcyBhcyBsb25nIGFzIHRoZXkncmUgYXBwbGljYXRpb24vc2RwCgkgIFNvbWUgc2VydmVycyBhZGQgcHJvcGVydGllcyBsaWtlIGNoYXJzZXQsIGUuZy4KCSAgYXBwbGljYXRpb24vc2RwOyBjaGFyc2V0PXV0ZjgKCSAgSWRlYWxseSB3ZSBzaG91bGQgYWxzbyBwYXJzZSB0aGUgY2hhcnNldCBhbmQgZG8gY29udmVyc2lvbiBvZiBhbGwgbWVzc2FnZXMsCgkgIGJ1dCB0aGF0J3MgZm9yIGEgbGF0ZXIgdGltZS4KCjIwMTYtMDYtMjQgMTY6MzI6MzcgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogQWRkZWQgc3VwcG9ydCBmb3Igd3JpdGluZyB0aW1lY29kZSB0cmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3OTUwCgoyMDE2LTA4LTE2IDAwOjQwOjUzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcXQ6IFVzZSB3Z2xTaGFyZUxpc3RzKCkgd29ya2Fyb3VuZCB1bmNvbmRpdGlvbmFsbHkuCgkgIFNvbWV0aW1lcyB3Z2xDcmVhdGVDb250ZXh0QXR0cmlic0FSQigpIGV4aXN0cywgYnV0CgkgIGlzbid0IGZ1bmN0aW9uYWwgKHNvbWUgSW50ZWwgZHJpdmVycyksIHNvIGl0J3MKCSAgZWFzaWVzdCB0byBkbyB0aGUgd29ya2Fyb3VuZCB1bmNvbmRpdGlvbmFsbHkuCgoyMDE2LTA4LTA4IDEzOjQxOjE0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcXQ6IE1vdmUgZGVidWcgc3RhdGVtZW50IHRvIGFmdGVyIHRoZSBjYXRlZ29yeSBpbml0CgkgIERvbid0IG91dHB1dCBkZWJ1ZyB0byBhbiB1bmluaXRpYWxpc2VkIGRlYnVnIGNhdGVnb3J5LgoKMjAxNi0wOC0xMSAxNjozMjoyMSAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogSW5pdGlhbGl6ZSBieXRlc19zZW50IGZpZWxkLgoJICBUaGlzIGZpeGVzIGVuZHBvaW50cyBub3QgcmVjZWl2aW5nIGFueSBkYXRhIGludGVybWl0dGVudGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzczCgoyMDE2LTA4LTEwIDExOjQ1OjEzIC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWN0dWFsbHkgY2FsY3VsYXRlIHRoZSBwYWNrZXQgcmF0ZSBmb3IgbWF4LWRyb3BvdXQgYW5kIG1heC1taXNvcmRlciBjYWxjdWxhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTEKCjIwMTYtMDgtMTAgMTE6MjY6MTcgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCB3YXJuIGZvciBkdXBsaWNhdGUgcGFja2V0cwoJICBUaGlzIGlzIGEgbm9ybWFsIHNjZW5hcmlvIGFuZCBzaG91bGQgbm90IGJlIGEgd2FybmluZy4gIFRoaXMgY2FuCgkgIGhhcHBlbiBmcmVxdWVudGx5IHdoZW4gcmUtdHJhbnNtaXRzIG9mIGxvc3QgcGFja2V0cyBhcmUgZW5hYmxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIwOAoKMjAxNi0wOC0wOCAxMzo0OToxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogRml4IHR5cG8gY29udmVydGluZyB0byBydW5uaW5nIHRpbWUuCgkgIFVzZSB0aGUgY29ycmVjdCBjb2xsZWN0ZWQgdGltZXN0YW1wLgoKMjAxNi0wOC0wOCAwMjo1Mzo0OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBSZXZlcnQgInNwbGl0bXV4c2luazogVXNlIEdzdEJpbiBhc3luYy1oYW5kbGluZyBpbnN0ZWFkIG9mIG91ciBvd24uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGZhMDA4ZjI3MWE1MmY4MmRlZGVkYzI4YmQ4MWIwMjBjYTc5MzliNDcuCgkgIGFzeW5jLWhhbmRsaW5nIGluIEdzdEJpbiBjYXVzZXMgdGhlIHBpcGVsaW5lIHRvIHNwaW4gYXQgMTAwJQoJICBDUFUgYXMgdGhlIHRvcC1sZXZlbCBwaXBlbGluZSB0cmllcyB0byBjaGFuZ2UgdGhhdCBzdGF0ZQoJICB0byBQTEFZSU5HIGNvbnN0YW50bHkuIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBhIGNvcmUKCSAgcHJvYmxlbSwgZXNzZW50aWFsbHksIGJ1dCBhbiBpbXByb3ZlbWVudCBpbiB0aGlzIGNhc2UgZm9yIG5vdy4KCjIwMTYtMDgtMDggMDA6NTY6MzggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXg6IFJlY2hlY2sgc3RhdGUgYWZ0ZXIgdW5sb2NraW5nIG11dGV4LgoJICBBZnRlciBkcm9wcGluZyB0aGUgc3BsaXRtdXggbG9jaywgcmUtY2hlY2sgdGhlIHN0YXRlLAoJICBkb24ndCBqdXN0IGZhbGwgdGhyb3VnaCBhbmQgc2xlZXAgdW5jb25kaXRpb25hbGx5LAoJICBhcyB3ZSBtYXkgaGF2ZSBhbHJlYWR5IG1pc3NlZCB0aGUgd2FrZXVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NTE0CgoyMDE2LTA4LTAzIDAzOjMyOjA3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IERvbid0IHN0b3AgYW5kIGVycm9yIG9uIEVPUyBmbG93IHJldHVybgoJICBEb24ndCBpbW1lZGlhdGVseSBoYWx0IG9uIEVPUyBmbG93IHJldHVybiBmcm9tIGRvd25zdHJlYW0KCSAgZHVlIHRvIG91dCBvZiBzZWdtZW50LiBMZXQgdGhlIGRlbXV4ZXIgaGFuZGxlIGl0IGFuZCBzZW5kCgkgIEVPUy4KCjIwMTYtMDgtMDQgMDA6MzY6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYXZvaWQgdW5yZWYgb2YgbnVsbCBidWZmZXIKCSAgVGhlIGN1cnJlbnQgJ2wnIHBvaW50ZXIgd2lsbCBiZSBOVUxMIHdoZW4gdGhlIGxvb3AKCSAgaXMgaW50ZXJydXB0ZWQgd2l0aCBhICdicmVhaycgc3RhdGVtZW50LiBOZWVkIHRvIGhhdmUKCSAgaXQgYWR2YW5jZSB0byB0aGUgbmV4dCBsaXN0IGl0ZW0gYmVmb3JlIGludGVycnVwdGluZy4KCjIwMTYtMDctMjcgMDk6Mjg6MjMgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNpbmsvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9tYWluLnFtbDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9wbGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9xbWwucXJjOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjL2dyYWJxbWwucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNyYy9tYWluLnFtbDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjL3FtbC5xcmM6CgkgIHFtbGdsc3JjOiBBZGQgcW1sZ2xzcmMgdW5pdCB0ZXN0IGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE2MAoKMjAxNi0wNy0yNyAwODoxNjo0NyArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJKiBleHQvcXQvZ3N0cGx1Z2luLmNjOgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5oOgoJKiBleHQvcXQvZ3N0cXRzcmMuY2M6CgkqIGV4dC9xdC9nc3RxdHNyYy5oOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXR3aW5kb3cuY2M6CgkqIGV4dC9xdC9xdHdpbmRvdy5oOgoJICBxdDogaW1wbGVtZW50IHFtbGdsc3JjIGZvciBxbWwgdmlldyBncmFiCgkgIFtNYXR0aGV3IFdhdGVyc106IGdzdC1pbmRlbnQgc291cmNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTYwCgoyMDE2LTA4LTAyIDE0OjAxOjE0ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogQWRkIHRhZ3MgZm9yIGNvbnRhaW5lciBmb3JtYXQgYW5kIGJpdHJhdGUgZm9yIHVuY29tcHJlc3NlZCBQQ00KCSAgVGhlIFBDTSBiaXRyYXRlIGlzIGFkZGVkIHRvIGhlbHAgZG93bnN0cmVhbSBlbGVtZW50cyAobGlrZSB1cmlkZWNvZGViaW4pCgkgIGZpZ3VyZSBvdXQgYSBwcm9wZXIgbmV0d29yayBidWZmZXIgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MzkwCgoyMDE2LTA4LTAxIDE4OjUyOjI2ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEFkZCBtYXhpbXVtIGJpdHJhdGUgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzOTIKCjIwMTYtMDctMjggMTc6NTg6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogV2hlbiByZWNlaXZpbmcgYSBESVNDT05UIGJ1ZmZlciB0aGF0IGRvZXMgbm90IHBvaW50IHRvIGEgc2FtcGxlLCByZW1lbWJlciB0aGUgb2Zmc2V0CgkgIEFuZCBkb24ndCBqdXN0IHJlc2V0IGV2ZXJ5dGhpbmcuIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGNhbiBjb250aW51ZSB0bwoJICBoYW5kbGUgZGF0YSBpbiB0aGUgZm9sbG93aW5nIHNjZW5hcmlvOgoJICBtb292OiBkaXNjb250CgkgIG1vb2Y6IGRpc2NvbnQKCSAgbWRhdDogY29udGludW91cwoJICBQcmV2aW91c2x5IHRoaXMgd291bGQgZmFpbCBiZWNhdXNlIHRoZSBvZmZzZXQgd291bGQgYmUgdGhlIGFjY3VtdWxhdGVkIG9mZnNldAoJICBmcm9tIG1vb3YgYW5kIG1vb2YgYXQgdGhlIG1kYXQgcG9zaXRpb24sIHdoaWxlIHRoZSBidWZmZXIgb2Zmc2V0IG1pZ2h0IGJlCgkgIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudC4KCjIwMTYtMDctMjUgMTM6MzQ6MDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgIHJ0cDogRmlsdGVyIHdpdGggdGhlIGZpbHRlciBjYXBzIGluIHRoZSBwYXlsb2FkZXIncyBnZXRjYXBzCgoyMDE2LTAzLTAzIDExOjM1OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBpbmNsdWRlIGh0dHAtc3RhdHVzLWNvZGUgaW4gZXJyb3IgbWVzc2FnZSBkZXRhaWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwMzgKCjIwMTYtMDctMjUgMTg6MjA6MDMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBGaXggZGVidWcgc3RhdGVtZW50IHNpZ25lZG5lc3MuCgkgIFRoZSB0cyB2YXJpYWJsZSBpcyBhIEdzdENsb2NrVGltZSwgZG9uJ3QgcHJpbnQgaXQKCSAgYXMgYSBHc3RDbG9ja1RpbWVEaWZmLgoKMjAxNi0wNy0yMiAxNzowMDoxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLmNwcDoKCSAgcW1sOiBEb24ndCBmb3JnZXQgdG8gdW5yZWYgdGhlIGFjdHVhbCBzaW5rIGVsZW1lbnQgYWZ0ZXIgc2V0dGluZyBpdCBvbiBnbHNpbmtiaW4KCjIwMTYtMDctMjIgMTY6NTc6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvbWFpbi5jcHA6CgkgIHFtbDogVXNlIGdsc2lua2JpbiBpbnN0ZWFkIG9mIGdsdXBsb2FkIGRpcmVjdGx5CgoyMDE2LTA3LTE3IDIyOjQxOjAyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogSGFuZGxlIG5lZ2F0aXZlIHJ1bm5pbmcgdGltZQoJICBVc2Ugc2lnbmVkIGNsb2NrIHRpbWVzIGZvciBydW5uaW5nIHRpbWUgZXZlcnl3aGVyZQoJICBzbyB0aGF0IHdlIGhhbmRsZSBuZWdhdGl2ZSBydW5uaW5nIHRpbWVzIHdpdGhvdXQKCSAgZ29pbmcgaGF5d2lyZSwgc2ltaWxhciB0byB3aGF0IHF1ZXVlIGFuZCBtdWx0aXF1ZXVlCgkgIGRvIHRoZXNlIGRheXMuCgoyMDE2LTA3LTE4IDAwOjEyOjU1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRHJvcCBsb2NrIHdoZW4gc2VuZGluZyBkdW1teSBldmVudAoJICBXaGVuIHB1c2hpbmcgdGhlIGR1bW15IGV2ZW50IGludG8gdGhlIG11bHRpcXVldWUsCgkgIGRyb3AgdGhlIHNwbGl0bXV4IGxvY2sgb3IgZWxzZSB3ZSBtaWdodCBkZWFkbG9jay4KCjIwMTYtMDYtMzAgMDE6NTY6NDEgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBJbnRlcnNlY3Qgd2l0aCBmaWx0ZXIgY2FwcyBpbiBnZXRjYXBzIGZ1bmN0aW9uLgoJICBBbHdheXMgaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlciBjYXBzIGluIHRoZSBnZXRjYXBzIGZ1bmN0aW9uCgkgIHRvIG1ha2Ugc3VyZSB3ZSByZXR1cm4gYSBzdWJzZXQgb2Ygd2hhdCB3YXMgcmVxdWVzdGVkLgoJICBPdGhlciBwYXlsb2FkZXJzIGFsc28gaGF2ZSB0aGlzIHByb2JsZW0gYW5kIG5lZWQgZml4aW5nCgkgIGluIGZ1dHVyZSBjb21taXRzLgoKMjAxNi0wNy0xMiAxNzozMDo1NiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdGRlbXV4LmM6CgkgIHRlc3RzOiBxdGRlbXV4OiBmaXggZWxlbWVudCBhbmQgcGFkIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODczOQoKMjAxNi0wNy0xMiAxNjo0NTozNiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2JveC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJICB0ZXN0czogZml4IGJ1cyBsZWFrcwoJICBnc3RfYnVzX2FkZF9zaWduYWxfd2F0Y2goKSB0YWtlcyBhIHJlZiBvbiB0aGUgYnVzIHdoaWNoIHNob3VsZCBiZQoJICByZWxlYXNlZCB1c2luZyBnc3RfYnVzX3JlbW92ZV9zaWduYWxfd2F0Y2goKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODczOQoKMjAxNi0wNy0xNCAwMzowNzoxMSArMDgwMCAgVGluZy1XZWkgTGFuIDxsYW50d0BzcmMuZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENhbGwgQUdfR1NUX1BLR19DT05GSUdfUEFUSCB0byBzZXQgR1NUX1BLR19DT05GSUdfUEFUSAoJICBHU1RfUEtHX0NPTkZJR19QQVRIIGlzIHVzZWQgaW4gZG9jcy9wbHVnaW5zIGRpcmVjdG9yeSwgc28KCSAgQUdfR1NUX1BLR19DT05GSUdfUEFUSCBtdXN0IGJlIGNhbGxlZCB0byBzZXQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg3ODcKCjIwMTYtMDctMTIgMDc6Mzk6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgZHJvcCBmaW5hbCBieXRlcyBvZiBhIHJhbmdlIHJlcXVlc3QKCSAgQXQgdGhlIGVuZCBvZiBhIHJhbmdlIHJlcXVlc3QsIHdlIGRvbid0IHdhbnQgdG8gcmV0dXJuIEdTVF9GTE9XX0VPUyBvdGhlcndpc2UKCSAgdGhlIGxhc3QgYnl0ZXMgd2UganVzdCByZWFkIHdpbGwgYmUgZHJvcHBlZCBieSBiYXNlc3JjLgoJICBJbnN0ZWFkIGp1c3QgcmV0dXJuIEdTVF9GTE9XX09LICh3aGljaCB3YXMgc2V0IGp1c3QgYmVmb3JlKSBhbmQgbGV0IGJhc2VzcmMKCSAgaGFuZGxlIHRoZSBmYWN0IHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBzZWdtZW50LgoKMjAxNi0wNy0xMSAxODozMDoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDJwcm92aWRlcjogRml4IGRldmljZSB0eXBlIGRldGVjdGlvbgoJICBUaGUgdHlwZSBkZXRlY3Rpb24gd291bGQgbGVhZCB0byBhc3NlcnRpb24gYXMgaXQgd291bGQgdHJ5CgkgIHRvIGNyZWF0ZSBhIGRldmljZSB3aXRob3V0IGhhdmluZyBmb3VuZCBhbnkgdHlwZSBmb3IgaXQuIEl0CgkgIGFsc28gZGlkbid0IGRldGVjdCBNUExBTkUgZGV2aWNlcyBwcm9wZXJseS4KCjIwMTYtMDctMTEgMTg6Mjk6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgYXNzZXJ0IHdoZW4gdXNlZCBieSB0aGUgbW9uaXRvcgoJICBUaGUgbW9uaXRvciBzZXRzIHRoZSBvYmplY3QtPmVsZW1lbnQgb2JqZWN0IGFzIGEgR3N0T2JqZWN0LiBUaGlzCgkgIHdvcmtzIGZvciBkZWJ1ZyB0cmFjZXMsIGJ1dCB3aWxsIGFzc2VydCBmb3IgRUxFTUVOVF9FUlJPUi4gVGhpcwoJICB3YXMgdGhlIG9ubHkgY2FzZSB3aGVyZSB0aGF0IGNvdWxkIGhhcHBlbi4gQWRkIGEgY2hlY2sgZm9yIHRoYXQuCgoyMDE2LTA3LTExIDE3OjM4OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEluZGVudCB2ZXJ5IGxvbmcgbGluZQoKMjAxNi0wNy0xMiAwMDo0MjowMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBdCB0aGUgZW5kIG9mIGEgcmFuZ2UgcmVxdWVzdCwgcmVhZCBhbm90aGVyIHRpbWUgdG8gZmluYWxpemUgdGhlIHJlcXVlc3QKCSAgSWYgd2UncmUgYXQgdGhlIGVuZCBvZiBhIHJhbmdlIHJlcXVlc3QsIHJlYWQgYWdhaW4gdG8gbGV0IGxpYnNvdXAKCSAgZmluYWxpemUgdGhlIHJlcXVlc3QuIFRoaXMgYWxsb3dzIHRvIHJldXNlIHRoZSBjb25uZWN0aW9uIGFnYWluIGxhdGVyLAoJICBvdGhlcndpc2Ugd2Ugd291bGQgaGF2ZSB0byBjYW5jZWwgdGhlIG1lc3NhZ2UgYW5kIGNsb3NlIHRoZSBjb25uZWN0aW9uLgoKMjAxNi0wNy0xMSAyMToxMzo0NyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjM2M2IzMiB0byBmNDljNTVlCgoyMDE2LTA3LTExIDE5OjU3OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBrZWVwLWFsaXZlIGhhbmRsaW5nCgkgIFdlIGhhdmUgdG8gZ2V0IHJpZCBvZiB0aGUgbWVzc2FnZSBvbiBFT1Mgd2hlbiB0aGUgY29tcGxldGUgc3RyZWFtIGlzIHJlYWQgdG8KCSAgcmVtZW1iZXIgdGhhdCB3ZSBzdWNjZXNzZnVsbHkgZmluaXNoZWQgaGFuZGxpbmcgdGhpcyBzcGVjaWZpYyBtZXNzYWdlLgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjYW5jZWwgaXQgbGF0ZXIgYW5kIGNsb3NlIHRoZSBjb25uZWN0aW9uIGluc3RlYWQgb2YgcmV1c2luZwoJICBpdCBhdCBhIGxhdGVyIHRpbWUuCgkgIEl0IG1pZ2h0IGFsc28gbWFrZSBzZW5zZSB0byByZXVzZSBjb25uZWN0aW9ucyBpZiBhIG5vbi0yMDAgcmVzcG9uc2UgaXMKCSAgcmVjZWl2ZWQuIEFzIGxvbmcgYXMgdGhlcmUgd2FzIG5vIGNvbm5lY3Rpb24gZXJyb3IsIHRoZSBIVFRQIGNvbm5lY3Rpb24gc2hvdWxkCgkgIGJlIHJlLXVzYWJsZS4KCjIwMTYtMDctMTEgMTI6MDU6MDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWxzbyBlbmFibGUgVjRMMiBwcm9iZSBvbiBhYXJjaDY0IChha2EgQVJNIDY0Yml0KQoKMjAxNi0wNy0xMSAxMTo1OToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJICBydHAgZXhhbXBsZTogRml4IGxlYWsKCSAgQWxzbyBzdG9wIGZldGNoaW5nIHRoZSBpbnRlcm5hbCBzb3VyY2UgYXMgdGhpcwoJICBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIGJyb2tlbi4KCjIwMTYtMDctMDggMTQ6NTg6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRW5hYmxlIHY0bDIgcHJvYmUgb24gTGludXgvQVJNCgkgIE1vc3Qgb2YgdGhvc2UgaGF2ZSBWNEwyIGRyaXZlcnMgdGhlc2UgZGF5cyBlbmFibGluZyBpdCBtYWtlIHN1cmUgdGhhdCBpdAoJICB0aGlzIGNvZGUgaXMgZW5hYmxlZCBpbiBtYWpvciBkaXN0cmlidXRpb24sIGhlbmNlIHRoYXQgSFcgYWNjZWxlcmF0ZWQKCSAgZGVjb2Rlci9lbmNvZGVyIGNhbiBiZSB1c2VkIG9uIHBsYXRmb3JtcyB0aGF0IHN1cHBvcnQgaXQuIFRoZSBwcm9iZXMgYXJlCgkgIHNsaWdodGx5IGluY3JlYXNpbmcgdGhlIGZpcnN0IGluaXQgb2YgZ3N0cmVhbWVyIGxpYnJhcnksIHRob3VnaCB0aGUKCSAgcmVzdWx0IGlzIGNhY2hlZCBpbiB0aGUgcmVnaXN0cnkgZm9yIGxhdGVyIHVzZS4KCjIwMTYtMDctMTEgMDk6NDY6NDkgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjVwYXk6IEFjY2VwdCBhcnJheV9jb21wbGV0ZW5lc3M9MQoJICBXaGVuIHBhcnNpbmcgTkFMIHVuaXQgdHlwZSBpbiBjb2RlY19kYXRhLCBjaGVjayB0aGUgNmJpdHMgb2YKCSAgTkFMX3VuaXRfdHlwZSBvbmx5IGFuZCBkbyBub3QgcmVxdWlyZSB0aGUgYXJyYXlfY29tcGxldGVuZXNzIGJpdCB0byBiZQoJICAwLCBzaW5jZSB0aGUgZGVmYXVsdCBhbmQgbWFuZGF0b3J5IHZhbHVlIG9mIGFycmF5X2NvbXBsZXRlbmVzcyBpcyAxIGZvcgoJICBodmMxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NjUzCgoyMDE2LTA3LTEwIDIxOjM1OjA2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEFsc28gY29weSBkZXZpY2VfY2FwcyBpbiBnc3RfdjRsMl9kdXAKCSAgVGhpcyBmaXhlcyByZWdyZXNzaW9uIHdoZXJlIE0yTSBlcnJvciBvdXQgc2F5aW5nIHRoZXkgaGF2ZSBubyBvdXRwdXQKCSAgZm9ybWF0ICh0aGUgVjRMMiBDQVBUVVJFIHNpZGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTk1CgoyMDE2LTA3LTEwIDIxOjMwOjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBVc2UgY29ycmVjdCBpbjZfcGt0aW5mbyBzdHJ1Y3QgaW5zdGVhZCBvZiBpbl9wa3RpbmZvCgkgIEZpeGVzIHRoZSBidWlsZCBvbiBGcmVlQlNELCB3aGljaCBkb2VzIG5vdCBoYXZlIHRoZSBsYXR0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg2MjMKCjIwMTYtMDctMDggMTc6Mjg6MTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCBtdWx0aXBsYW5hciBjYXB0dXJlCgkgIEFmdGVyIHN3aXRjaGluZyB0byB1c2luZyBWNEwyX0NBUF9ERVZJQ0VfQ0FQUyB3ZSBsb3N0IHN1cHBvcnQgZm9yCgkgIG11bHRpcGxhbmFyIGRldmljZSB0eXBlcy4gQWZ0ZXIgc29tZSByZXNlYXJjaCwgaXQgbG9va3MgbGlrZQoJICB2Y2FwLmNhcGFiaWxpdGllcyB0cmVhdGVkIHRoZSBtdWx0aXBsYW5hciBmbGFnIG9mIG91dHB1dCBhbmQgY2FwdHVyZQoJICBkZXZpY2VzIGVxdWFsbHksIGJ1dCBub3QgdGhlIG5ldyBkZXZpY2VfY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE5NQoKMjAxNi0wNy0wOCAxNDo1NjozMCArMDIwMCAgTWF0cyBMaW5kZXN0YW0gPG1hdHNsbUBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydG11eDogVXNlIFBUUyBhbmQgRFRTIGluc3RlYWQgb2YgdGltZXN0YW1wCgkgIEFuZCBwYXNzLXRocm91Z2ggYm90aCBvZiB0aGVtLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzkwMAoKMjAxNi0wNi0zMCAxNDo0MDo0MCArMDIwMCAgVGhvbWFzIFNjaGV1ZXJtYW5uIDxUaG9tYXMuU2NoZXVlcm1hbm5AYmFyY28uY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgIGphY2s6IGRvbid0IHdhaXQgZm9yIGNhbGxiYWNrcyBpZiB0aGUgamFjayBzZXJ2ZXIgc2h1dCBkb3duCgkgIE90aGVyd2lzZSB3ZSdsbCB3YWl0IGZvcmV2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyNzUKCjIwMTYtMDYtMjMgMTU6MzA6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTGV0IHVwc3RyZWFtIGV2ZW50cyBnbyB0aHJvdWdoIHVwc3RyZWFtCgkgIFRoZXJlJ3Mgbm8gcmVhbCByZWFzb24gdG8gYXZvaWQgc2VuZGluZyBRT1MvTkFWSUdBVElPTiBldmVudHMgdXBzdHJlYS4KCSAgU29tZSBlbGVtZW50cyBtaWdodCB3YW50IHRvIGhhdmUgdGhhdCBpbmZvcm1hdGlvbi4KCjIwMTYtMDYtMjMgMTU6MjI6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBMZXQgdXBzdHJlYW0gZXZlbnRzIGdvIHRocm91Z2ggdXBzdHJlYW0KCSAgVGhlcmUncyBubyByZWFsIHJlYXNvbiB0byBhdm9pZCBzZW5kaW5nIFFPUy9OQVZJR0FUSU9OIGV2ZW50cyB1cHN0cmVhLgoJICBTb21lIGVsZW1lbnRzIG1pZ2h0IHdhbnQgdG8gaGF2ZSB0aGF0IGluZm9ybWF0aW9uLgoKMjAxNi0wNi0yMyAxNToxNzozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IExldCB1cHN0cmVhbSBldmVudHMgZ28gdGhyb3VnaCB1cHN0cmVhbQoJICBUaGVyZSdzIG5vIHJlYWwgcmVhc29uIHRvIGF2b2lkIHNlbmRpbmcgUU9TL05BVklHQVRJT04gZXZlbnRzIHVwc3RyZWEuCgkgIFNvbWUgZWxlbWVudHMgbWlnaHQgd2FudCB0byBoYXZlIHRoYXQgaW5mb3JtYXRpb24uCgkgIEFsc28gcmVtb3ZlIGRvd25zdHJlYW0tb25seSBDQVBTIGV2ZW50IGhhbmRsaW5nIGFuZCBtaW5pbWl6ZSBjb2RlCgoyMDE2LTA3LTA3IDIzOjUzOjU0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyOiBmaXggdjRsMiBwcm9iZSBidWlsZCBlcnJvcgoJICBBIHR5cG8gaW4gZ3N0X3Y0bDJfcHJvYmVfYW5kX3JlZ2lzdGVyKCkgY2F1c2VkIGEgYnVpbGQgZXJyb3Igd2hlbiBidWlsZGluZwoJICB3aXRoIC0tZW5hYmxlLXY0bDItcHJvYmUuIEZpeGluZyBpdC4KCSAgZ3N0djRsMi5jOiBJbiBmdW5jdGlvbiAnZ3N0X3Y0bDJfcHJvYmVfYW5kX3JlZ2lzdGVyJzoKCSAgZ3N0djRsMi5jOjE1MDoyNTogZXJyb3I6ICdzdHJ1Y3QgdjRsMl9jYXBhYmlsaXR5JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdjYXBhYmlsaXRpdGVzJwoJICBkZXZpY2VfY2FwcyA9IHZjYXAuY2FwYWJpbGl0aXRlczsKCjIwMTYtMDctMDEgMjI6NTM6MzMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogdXNlIGdzdF9jYXBzX2ludGVyc2VjdF9mdWxsIGluIG5lZ290aWF0ZSgpCgkgIEluc3RlYWQgb2YgcmVpbXBsZW1lbnRpbmcgdGhlIEdTVF9DQVBTX0lOVEVSU0VDVF9GSVJTVAoJICBpbnRlcmVjdGlvbiBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTk1CgoyMDE2LTA3LTAyIDAxOjU2OjA3IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogdXNlIG9wZW5lZCBkZXZpY2UgY2FwcyBpbnN0ZWFkIG9mIHBoeXNpY2FsIGRldmljZSBvbmVzCgkgIFRoZSBzYW1lIHBoeXNpY2FsIGRldmljZSBjYW4gZXhwb3J0IG11bHRpcGxlIGRldmljZXMuIEluCgkgIHRoaXMgY2FzZSwgdGhlIGNhcGFiaWxpdGllcyBmaWVsZCBub3cgY29udGFpbnMgYSB1bmlvbiBvZgoJICBhbGwgY2FwcyBhdmFpbGFibGUgZnJvbSBhbGwgZXhwb3J0ZWQgVjRMMiBkZXZpY2VzIGFsb25nc2lkZQoJICBhIFY0TDJfQ0FQX0RFVklDRV9DQVBTIGZsYWcgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkZWNpZGUKCSAgd2hhdCBjYXBhYmlsaXRpZXMgdG8gY29uc2lkZXIuIEluIG91ciBjYXNlLCB3ZSBuZWVkIHRoZQoJICBvbmVzIGZyb20gdGhlIGV4cG9ydGVkIGRldmljZSB3ZSBhcmUgdXNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxOTUKCjIwMTYtMDctMDcgMTg6MjQ6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBSZW1vdmUgc3VzcGljaW91cyBjaGVja3MgZm9yIHBhZHMgYmVpbmcgYWN0aXZlIGFuZCBsaW5rZWQKCSAgV2Ugc2hvdWxkIGFkZCBhbGwgcGFkcywgbm8gbWF0dGVyIGlmIHRoZXkgYXJlIGxpbmtlZCBvciBhY3RpdmUgb3Igbm90IGF0IHRoaXMKCSAgcG9pbnQuIFNraXBwaW5nIHNvbWUgdGhhdCBhcmUgbm90IHdpbGwgY2F1c2UgZGlmZmVyZW50IGJlaGF2aW91ciB0aGFuIHdpdGgKCSAgb3RoZXIgbXV4ZXJzLgoKMjAxNi0wNy0wNyAxODoyMzowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEVycm9yIG91dCBpZiB3ZSBzdGFydCB3cml0aW5nIGRhdGEgd2l0aCBzb21lIHBhZHMgbm90IGhhdmluZyBhIGNvZGVjIGlkIHlldAoJICBUaGlzIGNhbiBvbmx5IGhhcHBlbiBpZiBhKSB1cHN0cmVhbSBzb21laG93IGdldHMgYXJvdW5kIHRoZSBDQVBTIGV2ZW50IGZhaWxpbmcKCSAgb3IgYikgdGhlcmUgbmV2ZXIgYmVpbmcgYW55IENBUFMgZXZlbnQuCgkgIFRoZSBmb2xsb3dpbmcgY29kZSBhc3N1bWVzIHRoYXQgYWxsIHBhZHMgaGF2ZSBhIGNvZGVjLWlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NTA5CgoyMDE2LTA3LTA3IDE4OjE0OjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQ29uc2lzdGVudGx5IHVzZSBnc3RfbWF0cm9za2FfbXV4X3NldF9jb2RlY19pZCgpIGZvciBzZXR0aW5nIHRoZSBjb2RlYyBpZAoKMjAxNi0wNy0wNCAwOTo1MDoxMSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjVwYXkvZGVwYXk6IFN5bmMgYWdhaW5zdCBSRkMgNzc5OAoJICBIYW5kbGUgc3Byb3AtdnBzLCBzcHJvcC1zcHMgYW5kIHNwcm9wLXBwcyBpbiBjYXBzIGluc3RlYWQgb2YKCSAgc3Byb3AtcGFyYW1ldGVyLXNldHMuCgkgIHJ0cGgyNjVwYXkgd29ya3Mgd2l0aCBieXRlLXN0cmVhbSBhbmQgaHZjMSBmb3JtYXRzIGJ1dCBub3QgaGV2MSB5ZXQuIEl0CgkgIGhhbmRsZXMgcHJvZmlsZS1pZCwgdGllci1mbGFnIGFuZCBsZXZlbC1pZCBpbiBjYXBzIHF1ZXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzYwCgoyMDE2LTA3LTA2IDA5OjI1OjAwICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBQdXNoIG5vbWluYWwgYml0cmF0ZSB0YWdzCgkgIEFkZCBwZXItc3RyZWFtIHRhZyBsaXN0cywgd2hpY2ggYXJlIHVzZWQgdG8gc2VuZCBub21pbmFsCgkgIGJpdHJhdGUgdGFncy4gV2hlbiByZW11eGluZyBGTFYgPT4gRkxWLCB0aGlzIG5vdyBwYXNzZXMKCSAgdGhyb3VnaCB0aGUgdXBzdHJlYW0gYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODQ0MAoKMjAxNi0wNy0wNiAwOToyNDo0OSArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogUmVmYWN0b3IgbWV0YWRhdGEgdGFnIGhhbmRsaW5nCgkgIFRoZSBGTFYgaGVhZGVyIGNhbm5vdCBiZSB0cnVzdGVkIHRvIGluZGljYXRlIHZpZGVvIG9yCgkgIGF1ZGlvIHByZXNlbmNlLCBhcyB0aGUgY29tbWVudHMgYWxyZWFkeSBtZW50aW9uLiBEb24ndAoJICBkZWxheSBwdXNoaW5nIHRhZ3Mgd2FpdGluZyBmb3Igc3RyZWFtcyB0aGF0IG1pZ2h0IG5ldmVyCgkgIGFwcGVhci4KCSAgVGFncyBhcmUgbm93IHB1c2hlZCBpbW1lZGlhdGVseSBhZnRlciB0aGV5IGNoYW5nZToKCSAgLSBBZnRlciBwYXJzaW5nIGFuIG9uTWV0YURhdGEgc2NyaXB0IG9iamVjdAoJICAtIEFmdGVyIG5lZ290aWF0aW5nIGNhcHMgb24gYSBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODQ0MAoKMjAxNi0wNy0wNiAxMjo0NDoxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggQUFDIGNvZGVjX2RhdGEgdmFsdWVzCgkgIEFzIHNlZW4gaW4gdGhlIHBhcmVudCBzd2l0Y2ggZm9yIG9iamVjdF90eXBlX2lkLCB0aGUgNCBwb3NzaWJsZSB2YWx1ZXMgYXJlCgkgIDB4NDAsIDB4NjYsIDB4NjcgYW5kIDB4NjguIEZpeGluZyB0aGUgbmVzdGVkIHN3aXRjaCB0byBtYXRjaCB0aGVzZSB2YWx1ZXMuCgkgIExvb2tzIGxpa2UgaXQgd2FzIGEgdHlwbyBtYWtpbmcgdGhlbSBkZWNpbWFsIGluc3RlYWQgb2YgaGV4YWRlY2ltYWwuCgkgIENJRCAxMzYzMzI4CgoyMDE2LTA3LTA2IDEzOjUxOjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjkuMSA9PT0KCjIwMTYtMDctMDYgMTM6MDY6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS45LjEKCjIwMTYtMDctMDYgMTE6NDY6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDctMDYgMTE6MjI6NTMgKzAzMDAgIFN0ZXZlbiBIb3ZpbmcgPHNoQGJpZ2Jyb3RoZXIubmw+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBlcnJvciBtZXNzYWdlcyB0byBmaXJzdCBjb252ZXJ0IHRvIGRvdWJsZXMgYmVmb3JlIGRpdmlzaW9uCgoyMDE2LTA3LTA2IDEwOjE4OjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2hyLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vc2sucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTA3LTA1IDIxOjExOjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBTZXQgdG8gUExBWUlORyBhZnRlciBhIHNlZWsgYWdhaW4gYWZ0ZXIgc2V0dGluZyB1cCB0aGUgc2VnbWVudCBhbmQgZXZlcnl0aGluZyBlbHNlCgkgIFRoZXJlJ3MgYSBzbWFsbCB3aW5kb3cgZm9yIGEgcmFjZSBjb25kaXRpb24gb3RoZXJ3aXNlLgoKMjAxNi0wNy0wNCAxNzo0NTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBVc2UgY29tcGxldGUgQUFDIGNhcHMgd2l0aCBjb2RlY19kYXRhIGluIHRoZSB0ZXN0cwoKMjAxNi0wNy0wNCAxNjo1ODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFJlamVjdCByYXcgQUFDIGlmIG5vIGNvZGVjX2RhdGEgaXMgZm91bmQgaW4gdGhlIGNhcHMKCSAgSWYgbmVjZXNzYXJ5LCBhIGRlbXV4ZXIgd2lsbCBoYXZlIHRvIGludmVudCBzb21ldGhpbmcgaGVyZSBidXQgdGhpcyBpcyBvbmx5IGEKCSAgcHJvYmxlbSB3aXRoIG5vbi1jb25mb3JtYW50IGZpbGVzIGFueXdheS4KCjIwMTYtMDctMDQgMTY6NTU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW52ZW50IEFBQyBjb2RlY19kYXRhIGlmIG5vbmUgaXMgcHJlc2VudAoJICBXaXRob3V0LCByYXcgQUFDIGNhbid0IGJlIGhhbmRsZWQgYW5kIHdlIGhhdmUgc29tZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUgaW4KCSAgdGhlIGRlY29kZXIgdGhhdCBtb3N0IGxpa2VseSBhbGxvd3MgdXMgdG8gZGVjb2RlIHRoZSBzdHJlYW0gaW4gb25lIHdheSBvcgoJICBhbm90aGVyLiBUaGlzIGlzIHRoZSBzYW1lIGNvZGUgYWxyZWFkeSB1c2VkIGJ5IG1hdHJvc2thZGVtdXggZm9yIHRoZSBzYW1lCgkgIHJlYXNvbnMsIGFuZCBmZm1wZWcvdmxjIHBsYXkgc3VjaCBmaWxlcyBqdXN0IGZpbmUgdG9vIGJ5IGd1ZXNzd29yay4KCjIwMTYtMDctMDQgMTQ6NTQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZWplY3QgcmF3IEFBQyBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YQoJICBUaGUgcmVzdWx0aW5nIGZpbGUgaXMgbm90IGdvaW5nIHRvIGJlIHBsYXlhYmxlIHdpdGhvdXQgZ3Vlc3N3b3JrIGFuZCByYXcgY2FwcwoJICBzaG91bGQgYWx3YXlzIGhhdmUgY29kZWNfZGF0YS4KCjIwMTYtMDctMDEgMTk6MjI6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBmaXggYnVpbGQgc29tZSBtb3JlIHdoZW4gUVBBIGlzIG5vdCBhdmFpbGFibGUKCSAgQ29tcGlsZXIgd291bGQgY29tcGxhaW4gYWJvdXQgaW5jbHVkZSBkaXJlY3RvcnkgdGhhdCBkaWRuJ3QKCSAgZXhpc3QgYmVjYXVzZSBRUEFfSU5DTFVERV9QQVRIIGdldHMgc3Vic3QtZWQgcmVnYXJkbGVzcwoJICAoYW5kIGlmIGl0IGRpZG4ndCB3ZSdkIGhhdmUganVzdCBhbiBlbXB0eSAtSSBhcmd1bWVudCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc1NTMKCjIwMTYtMDUtMTAgMTU6NDg6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJICBxdGRlbXV4OiBIYW5kbGUgdXBzdHJlYW0gR0FQIGluIHB1c2gtbW9kZS90aW1lIHNlZ21lbnQKCSAgVGhpcyBpcyB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdXBzdHJlYW0gaGFuZGxlcyB0aGUgZnJhZ21lbnRlZCBzdHJlYW1pbmcgaW4gVElNRQoJICBzZWdtZW50cyBhbmQgc2VuZHMgdXMgZGF0YSB3aXRoIGdhcHMgd2l0aGluIGZyYWdtZW50cy4gVGhpcyB3b3VsZCBoYXBwZW4gd2hlbiBkZWFsaW5nCgkgIHdpdGggdHJpY2stbW9kZXMuCgkgIFdoZW4gdXBzdHJlYW0gKHB1c2gtYmFzZWQsIFRJTUUgU0VHTUVOVCkgd2lzaGVzIHRvIHNlbmQgZGlzY29udGludW91cyBzYW1wbGVzLAoJICBpdCBtdXN0IG9iZXkgdGhlIGZvbGxvd2luZyBydWxlczoKCSAgKiBUaGUgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIFttb29mXSBtdXN0IGhhdmUgYSB2YWxpZCBHU1RfQlVGRkVSX09GRlNFVAoJICAqIFRoZSBidWZmZXJzIGNvbnRhaW5pbmcgdGhlIGZpcnN0IHNhbXBsZSBhZnRlciBhIGdhcDoKCSAgKiBNVVNUIHN0YXJ0IGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBzYW1wbGUsCgkgICogTVVTVCBoYXZlIHRoZSBESVNDT05UIGZsYWcgc2V0LAoJICAqIE1VU1QgaGF2ZSBhIHZhbGlkIEdTVF9CVUZGRVJfT0ZGU0VUIHJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZyYWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MzU0CgoyMDE2LTA3LTAxIDExOjU0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5jOgoJICB2NGwyOiBmaXggcG90ZW50aWFsIGRvdWJsZS1mcmVlIG9mIGVycm9yIGRlYnVnIHN0cmluZwoJICBnc3RfdjRsMl9jbGVhcl9lcnJvcigpIGRvZXNuJ3Qgd29yayBsaWtlIGdfY2xlYXJfZXJyb3IoKSwgaXQKCSAgZG9lc24ndCBOVUxMaWZ5IHRoZSBwb2ludGVyLCBzbyBzZXQgZnJlZWQgZGVidWcgc3RyaW5nIHRvIE5VTEwKCSAgc28gaXQgZG9lc24ndCBnZXQgZnJlZWQgYWdhaW4gaWYgZ3N0X3Y0bDJfY2xlYXJfZXJyb3IoKSBpcwoJICBjYWxsZWQgdHdpY2Ugb24gdGhlIGVycm9yLgoJICBDSUQgMTM2MjkwMQoKMjAxNi0wNy0wMSAxMDowNTowMCArMDAwMCAgQnJhZCBMYWNrZXkgPGJsYWNrZXlAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBkaXNhYmxlIFVEUCBwcm90b2NvbHMgb24gcmVkaXJlY3RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODIzMgoKMjAxNi0wNy0wMSAxNzoyODoxNyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUHVzaCBjYXBzIG9ubHkgd2hlbiBpdCB3YXMgdXBkYXRlZAoJICBDb21taXQgNzg3M2JlZGUzMTM0YjE1ZTUwNjZlOGQxNGU1NGQxZjUwNTRkMjA2MyBjYXVzZWQgbmV3IGNhcHMKCSAgZXZlbnQgcGVyIG1vb2Ygd2l0aG91dCBjb25zaWRlcmF0aW9uIG9mIGR1cGxpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MjY4CgoyMDE2LTA2LTMwIDE1OjAxOjQ2ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IGludmFsaWQgbWVtb3J5IGFjY2VzcwoJICAxMCBieXRlcyB3YXMgYWxsb2NhdGVkIGZvciBzdHJlYW1fZm9ybWF0IGJ1dCBzaXplIG9mICJieXRlLXN0cmVhbSIgaXMKCSAgbW9yZS4gVXNlIGdfc3RyZHVwKCkgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc2MAoKMjAxNi0wNi0yOSAyMzozMToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogVXNlIGEgbm9uLXRpbWVyIEdzdFBvbGwKCSAgT3RoZXJ3aXNlIHNldF9mbHVzaGluZygpIHdpbGwgaGF2ZSB1bmRlZmluZWQgc2VtYW50aWNzIGFuZCBub3dhZGF5cyBjYXVzZXMgYQoJICBnX2NyaXRpY2FsKCkgdG8gd2FybiBhYm91dCB0aGF0LgoKMjAxNi0wNi0xOSAwMjowODoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogZHluYW1pY2FsbHkgYWRqdXN0IGJsb2Nrc2l6ZQoJICBVcGRhdGUgdGhlIGJsb2Nrc2l6ZSBkZXBlbmRpbmcgb24gaG93IG11Y2ggaXMgb2J0YWluZWQgZnJvbSBhIHJlYWQKCSAgb2YgdGhlIGlucHV0IHN0cmVhbS4gVGhpcyBhdm9pZHMgZG9pbmcgdG9vIG1hbnkgcmVhZHMgaW4gc21hbGwgY2h1bmtzCgkgIHdoZW4gbGFyZ2VyIGFtb3VudHMgb2YgZGF0YSBhcmUgYXZhaWxhYmxlIGFuZCBhbHNvIHByZXZlbnRzIHVzaW5nCgkgIGEgdmVyeSBsYXJnZSBtZW1vcnkgYXJlYSB0byByZWFkIGEgc21hbGwgY2h1bmsgb2YgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzgzMwoKMjAxNi0wNi0yOCAxNjo0NDo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogV2luZG93cyBoYXMgbm8gaXBpX3NwZWNfZHN0IGluIHN0cnVjdCBpbl9wa3RpbmZvCgoyMDE2LTA2LTI4IDE1OjE1OjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiAjZGVmaW5lIF9fQVBQTEVfVVNFX1JGQ18zNTQyIHRvIGJlIGFibGUgdG8gdXNlIElQVjZfUEtUSU5GTyBvbiBPU1gvaU9TCgoyMDE2LTA2LTI4IDE1OjA4OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBNb3ZlICNpbmNsdWRlcyBhcm91bmQgdG8gYSkgd29yayBhcm91bmQgYnJva2VuIGdsaWJjIGhlYWRlciBhbmQgYikgV2luZG93cwoKMjAxNi0wNi0yOCAxNDoyNTowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRml4IGNvbXBpbGF0aW9uIG9uIFdpbmRvd3MgYW5kICpCU0QvT1NYCgoyMDE2LTA2LTIzIDIwOjIxOjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaWx0ZXIgb3V0IG11bHRpY2FzdCBwYWNrZXRzIHRoYXQgYXJlIG5vdCBmb3Igb3VyIG11bHRpY2FzdCBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc5ODAKCjIwMTYtMDYtMjggMTA6NTc6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFdoZW4gc2Vla2luZywgY29uc2lkZXIgdGhlIGN1cnJlbnQgZWxlbWVudCBzdGF0ZSBvciBwZW5kaW5nIHN0YXRlIGluc3RlYWQgb2YgdGhlIFJUU1Agc3RhdGUKCSAgSWYgd2UgY29uc2lkZXIgdGhlIFJUU1Agc3RhdGUsIHdoYXQgY2FuIGhhcHBlbiBpcyB0aGF0IGl0IGlzIFBMQVlJTkcgYnV0IHRoZQoJICBlbGVtZW50IGFscmVhZHkgYXN5bmNocm9ub3VzbHkgdHJpZWQgdG8gUEFVU0UgYW5kIGl0IGp1c3QgZGlkIG5vdCBoYXBwZW4geWV0LgoJICBXZSB3b3VsZCB0aGVuIG92ZXJyaWRlIHRoaXMgc2V0dGluZyB0byBQQVVTRUQgKHdoaWxlIHRoZSBlbGVtZW50IGFjdHVhbGx5IGlzCgkgIGluIFBBVVNFRCkgYW5kIHNldCB0aGUgUlRTUCBzdGF0ZSB0byBQTEFZSU5HIGFnYWluLiBUaGlzIHdvdWxkIHRoZW4gY2F1c2UgdXMKCSAgdG8gcHJvZHVjZSBwYWNrZXRzIHdoaWxlIHRoZSBzaW5rcyBhcmUgYWxsIFBBVVNFRCwgcGlsaW5nIHVwIHRob3VzYW5kcyBvZgoJICBwYWNrZXRzIGluIHRoZSBydHBqaXR0ZXJidWZmZXIgYW5kIG90aGVyIGVsZW1lbnRzIGFuZCBmaW5hbGx5IGZhaWxpbmcuCgoyMDE2LTA2LTI3IDE4OjE1OjA4ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWxnbHNpbms6IEZpeCBidWlsZCBlcnJvciB3aGVuIGRvbid0IGhhdmUgUVBBIGluc3RhbGxlZC4KCSAgQ2hlY2sgaGVhZGVyIGZpbGUgZXhpc3RhbmNlIGFuZCB3cmFwIHRoZSBoZWFkZXIgZmlsZSBpbmNsdWRlCgkgIGluIHRoZSBuZWNlc3NhcnkgI2lmZGVmIHRvIGF2b2lkIGJ1aWxkIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NTUzCgoyMDE2LTA2LTI3IDA5OjIwOjM1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQWRkIGNvbW1lbnQgYWJvdXQgSDI2My9NUEVHNFAyIGJlaW5nIG5vbi1zdGFuZGFyZCBmb3IgRkxWCgkgIFRoZXkgYXJlIGhvd2V2ZXIgc3VwcG9ydGVkIGJ5IGZmbXBlZyBhbmQgYXBwYXJlbnRseSB1c2VkIG91dCB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODAwNgoKMjAxNi0wNi0yNCAxNDo0ODo1MyArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgSDI2MyBhbmQgTVBFRzQgcGFydDIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODAwNgoKMjAxNi0wNi0xNiAxNToxMzowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0cGx1Z2luLnBybzoKCSAgcW1sZ2xzaW5rOiBhZGQgd2luMzIgc3VwcG9ydAoJICBUaGUgY3VycmVudCBzdGF0ZSBvZiBjKysgQUJJJ3Mgb24gV2luZG93J3MgYW5kIEdzdCdzL1F0J3MgY29uZmxpY3RpbmcKCSAgbWluZ3cgYnVpbGRzIG1lYW5zIHRoYXQgd2UgY2Fubm90IHVzZSBtaW5ndyBmb3IgYnVpbGRpbmcgdGhlIHF0IHBsdWdpbi4KCSAgSW5zdGVhZCwgYSBxbWFrZSAucHJvIGZpbGUgaXMgcHJvdmlkZWQgdGhhdCBpcyBleHBlY3RlZCB0byBiZSB1c2VkIHdpdGggdGhlCgkgIG1zdmMgYmluYXJpZXMgcHJvdmlkZWQgYnkgUXQgbGlrZSBzbzoKCSAgKHdpdGggdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgY29udGFpbmluZyB0aGUgcGF0aCB0byB0aGUgcXQgYmluaWFyaWVzCgkgIGFuZCBQS0dfQ09ORklHX1BBVEggY29udGFpbmluZyB0aGUgcGF0aCB0byBHU3RyZWFtZXIgbW9kdWxlcykKCSAgY2QgL3BhdGgvdG8vc291cmNlcy9nc3QtcGx1Z2lucy1iYWQvZXh0L3F0CgkgIHFtYWtlIC10cCB2YwoJICBUaGVuIG9wZW4gdGhlIHJlc3VsdGluZyBWUyBwcm9qZWN0IGFuZCBidWlsZCB0aGUgbGlicmFyeS4gIFRoZW4KCSAgY3AgZGVidWcvbGliZ3N0cXRzaW5rLmRsbCAvcGF0aC90by9wcmVmaXgvbGliL2dzdHJlYW1lci0xLjAvbGliZ3N0cXRzaW5rLmNsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMjYwCgoyMDE2LTA2LTIxIDE3OjEwOjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgVXBkYXRlIHBsdWdpbnMgZG9jCgkgIFRoaXMgaXMgcGFydGx5IGF1dG9tYXRlZCB1c2luZyAibWFrZSB1cGRhdGUiIGluIGRvY3MvcGx1Z2lucywgYnV0IGFsc28KCSAgcmVxdWlyZWQgbWFudWFsIG1lcmdlLiBBZGRpdGlvbmFsbHksIG1pc3NpbmcgcGx1Z2lucyBhbmQgZWxlbWVudHMgaGF2ZQoJICBiZWVuIGFkZGVkLgoKMjAxNi0wNi0yMSAxNzo1MTozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHRlc3RzOiBzcGxpdG11eDogc2tpcCB0ZXN0cyBpZiB0aGVvcmEgb3Igb2dnIHBsdWdpbnMgYXJlIG5vdCBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzg2MQoKMjAxNi0wNi0yMSAxMTo0NjoxMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhYzJmNjQ3IHRvIGYzNjNiMzIKCjIwMTYtMDYtMjEgMDc6NDA6NDIgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGdzdHJ0cGoya3BheTogdXNlIHRpbGUgYml0IGFuZCB0aWxlIG51bWJlciB0byBkZXRlcm1pbmUgaWYgdGhlcmUgYXJlIG11bHRpcGxlIHRpbGVzIGluIHBhY2tldAoJICBOb3cgd2UgZG9uJ3QgaGF2ZSB0byByZWx5IG9uIGEgc3BlY2lhbCB2YWx1ZSBmb3IgdGhlIHRpbGUgbnVtYmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODE3CgoyMDE2LTA2LTIxIDA5OjM0OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBmaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YCgkgIGdzdHJ0cGoya3BheS5jOjM2NDoyMTogZXJyb3I6IGltcGxpY2l0IHRydW5jYXRpb24gZnJvbSAnaW50JyB0byBiaXRmaWVsZCBjaGFuZ2VzIHZhbHVlIGZyb20gLTEgdG8gNjU1MzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzgxNwoKMjAxNi0wNi0yMSAwOTozNDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTYtMDUtMTYgMTc6MzE6NTggKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIGZpeCBidWZmZXIgbGVha3MgaW4gdGVzdHMKCSAgTmVlZCB0byBjYWxsIGdzdF9jaGVja19kcm9wX2J1ZmZlcnMoKSB0byByZWxlYXNlIHRoZSBidWZmZXJzIGV4Y2hhbmdlZAoJICBkdXJpbmcgdGhlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NjEKCjIwMTYtMDUtMTcgMTI6NTI6NDMgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBmaXggbWVzc2FnZSBsZWFrcyBpbiB0ZXN0CgkgIEZsdXNoIHRoZSBidXMgd2hlbiBjbGVhbmluZyB1cCBzbyBwZW5kaW5nIG1lc3NhZ2VzIGFyZSBkZXN0cm95ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NjEKCjIwMTYtMDUtMTcgMTI6NTg6MDYgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBmaXggZXZlbnQgbGVha3MgaW4gdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTYxCgoyMDE2LTA1LTEzIDE1OjEyOjIyICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IGZpeCBsZWFrcwoJICAtIEZsdXNoIHRoZSBidXMgc28gbWVzc2FnZXMgYXJlbid0IGxlYWtlZAoJICAtIEZpeCBwYWQgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTYxCgoyMDE2LTA2LTE3IDE1OjI5OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IERlcHJlY2F0ZWQgc3Byb3AtcGFyYW1ldGVyLXNldCBwcm9wZXJ0eQoJICBUaGlzIGlzIHN1cHBvc2VkIHRvIGJlIGVpdGhlciBpbiB0aGUgY29kZWNfZGF0YSAoYXZjIHN0cmVhbSBmb3JtYXQpIG9yIGluc2lkZQoJICB0aGUgc3RyZWFtLCBhbmQgd2UgZXh0cmFjdCBpdCBmcm9tIHRoZXJlLiBJdCBzaG91bGQgbm90IGJlIHNldCBmcm9tIGEKCSAgcHJvcGVydHkgYXMgaXQncyBzdHJlYW0gc3BlY2lmaWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc3ODkKCjIwMTYtMDYtMTcgMTI6MTY6MzIgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIGFsbCBzcnRwIGVuY29kZXIgcHJvcGVydGllcyBleHBsaWNpdAoJICBUaGUgU2Vzc2lvbiBEYXRhIFByb3RvY29sIGRvZXNuJ3QgYWxsb3cgc3BlY2lmeWluZyBhIGNpcGhlciBmb3IgdGhlCgkgIFNSVENQLCBzbyBpdCB3aWxsIHVzZSB0aGUgU1JUUCBvbmUuIEluIHRoZSAic3J0cGVuYyIgZWxlbWVudCB0aGUgY2lwaGVyCgkgICJhZXMtMTI4LWljbSIgaXMgdGhlIGRlZmF1bHQgZm9yIFNSVFAgYW5kIFNSVENQLCBidXQgaWYgd2Ugd2FudCB0byBoYXZlCgkgIGFuIFNSVENQIHdpdGggdGhlICJhZXMtMjU2LWljbSIgY2lwaGVyIHRoZW4gd2UgYWxzbyBuZWVkIHRvIHNldCB0aGUgU1JUUAoJICBjaXBoZXIgdG8gImFlcy0yNTYtaWNtIiwgb3RoZXJ3aXNlICJhZXMtMTI4LWljbSIgd2lsbCBiZSB1c2VkIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc3OTkKCjIwMTYtMDYtMTcgMTk6NTk6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkgIHNvdXA6IHdvcmsgYXJvdW5kIGZyZXF1ZW50IGRlYWRsb2NrcyBpbiBHTGliIHR5cGUgaW5pdGlhbGlzYXRpb24KCSAgLi4gYnkgcmVnaXN0ZXJpbmcgdGhlIHR5cGVzIGZyb20gdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uLiBUaGlzCgkgIHNlZW1zIHRvIGhlbHAsIGJ1dCB3ZSdsbCBzZWUgaWYgaXQncyBlbm91Z2ggKG1pZ2h0IG5lZWQgc2ltaWxhcgoJICB0aGluZ3MgZWxzZXdoZXJlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0ODg1CgoyMDE2LTA2LTE3IDE2OjA4OjA4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVGhlIHByb3JlcyB2YXJpYW50IGlzIHN0b3JlZCBpbiB0aGUgdmFyaWFudCBmaWVsZCwgbm90IGZvcm1hdAoJICBBbmQgdGhlIGNhcHMgaW4gdGhlIHNpbmsgcGFkIHRlbXBsYXRlIGFscmVhZHkgdXNlZCB2YXJpYW50IChvbmx5KS4KCjIwMTYtMDYtMTcgMTM6MDA6NDggKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHBoMjY1cGF5OiBSZW1vdmUgc3Byb3AtcGFyYW1ldGVyLXNldHMgcHJvcGVydHkKCSAgVGhlcmUgaXMgbm8gdmFsaWQgdXNlIGNhc2Ugd2hlbiB0aGlzIHByb3BlcnR5IGlzIG5lZWRlZCBzaW5jZSB0aGUgdmFsdWVzCgkgIG11c3QgYmUgaW4gZWl0aGVyIGNvZGVjX2RhdGEgb3IgYnVmZmVyIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NjAKCjIwMTYtMDYtMTAgMTY6MTc6MjYgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZG9jcy9wbHVnaW5zL3NjYW5vYmotYnVpbGQuc3RhbXA6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBSZWFkIE5BTFUgdHlwZSB0aGUgc2FtZSB3YXkgZXZlcnl3aGVyZQoJICBDb3NtZXRpYyBjaGFuZ2UgdG8gcmVhZCBOQUxVIHR5cGUgaW4gZ3N0X3J0cF9oMjY1X3BheV9kZWNvZGVfbmFsKCkgdGhlCgkgIHNhbWUgd2F5IGFzIGluIG90aGVyIHBsYWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc2MAoKMjAxNi0wNi0xNyAxMzo1ODozMyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBSVFBKaXR0ZXJCdWZmZXJNb2RlIGRvY3VtZW50YXRpb24KCSAgRG9jdW1lbnRhdGlvbiBsYWNrcyAnQCcgYmVmb3JlIGVhY2ggZW51bSB2YWx1ZXMgYW5kIHRoZXJlIHdhcyBhbiBleHRyYQoJICBsaW5lIGFmdGVyIHN5bWJvbCBzZWN0aW9uIHdoaWNoIGNvbmZ1c2VzIEdUSy1Eb2MgcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3Nzg4CgoyMDE2LTA1LTIzIDEwOjE4OjQ4ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdGFrZSB0aGUgbG9jayB3aGVuIGNoYW5naW5nIHN0YXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYwMjUKCjIwMTYtMDQtMTQgMTg6MTQ6MzIgKzAzMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2V5LmJvcm92a292QHdpcmVsb2FkLm5ldD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogRW5hYmxlIHFtbGdsc2luayBmb3IgZWdsZnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA0NAoKMjAxNi0wNi0xNiAwMDo0NDo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sZ2xzaW5rOiBwcm9wYWdhdGUgR0wgY29udGV4dCBjcmVhdGlvbiBmYWlsdXJlIHVwd2FyZHMKCSAgT3RoZXJ3aXNlIGFuIGFwcGxpY2F0aW9uIGNhbm5vdCBrbm93IGlmIHRoZSBxbWxnbHNpbmsgd2lsbCBiZSBkaXNwbGF5aW5nIGZyYW1lcwoJICBpbmNvcnJlY3RseS9hdCBhbGwuCgoyMDE2LTA2LTE2IDAwOjQ0OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWxnbHNpbms6IGFsc28gYWxsb3cgd2F5bGFuZC1lZ2wgYXMgYSBwbGF0Zm9ybSBuYW1lCgoyMDE2LTA2LTEyIDE1OjM1OjI4ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbGdsc2luazogQWRkIFdheWxhbmQgc3VwcG9ydAoJICBEb24ndCB1c2UgZ3N0Z2xkaXNwbGF5IHRvIGdldCB3YXlsYW5kIGRpc3BsYXkuIFNob3VsZCB1c2UgUVBBIG9uIHdheWxhbmQKCSAgdG8gZ2V0IHdheWxhbmQgZGlzcGxheSBmb3IgUVQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc1NTMKCjIwMTYtMDYtMTUgMTE6MTk6NDMgKzAyMDAgIErDvHJnZW4gU2xvd2FjayA8anVyZ2VuLnNsb3dhY2tAYmFyY28uY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjU6IGZpeCBOQUwgdW5pdCB0eXBlIHBhcnNpbmcgYW5kIFNQUy9QUFMvVlBTIGRldGVjdGlvbgoJICBGaXhlcyBzcHMvcHBzL3ZwcyBpbnNlcnRpb24gdmlhIHRoZSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NjgwCgoyMDE2LTA2LTExIDEyOjE2OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgc2ltcGxlLWxhdW5jaC1saW5lczogVXNlIGNvcnJlY3QgSlBFRzIwMDAgY2FwcwoKMjAxNi0wNi0xMCAxMzo0MzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wNi0xMCAxMzo0MjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBkYXRlIHBhcnNpbmcgd2hlbiB0aGVyZSBhcmUgdHJhaWxpbmcgc3BhY2VzCgkgIEZpeGVzIHBhcnNpbmcgb2YgIlRodSBNYXkgMTEgMTU6NTc6NDYgMjAwNiAiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDk2CgoyMDE2LTA1LTEzIDE1OjA4OjI0IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2NvbW1vbi5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGdzdHJ0cGoyazogc2V0IHNhbXBsaW5nIGZpZWxkIHJlcXVpcmVkIGJ5IFJGQwoJICBUaGlzIGZpZWxkIGlzIG5vdyByZXF1aXJlZCBpbiB0aGUgc2luayBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MjM2CgoyMDE2LTA2LTA5IDA5OjMwOjQ4ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB1bnJlZiBhc3NlcnRpb24gZmFpbHVyZQoJICBGaXggdW5yZWYgYXNzZXJ0aW9uIGZhaWx1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQyNAoKMjAxNi0wNS0xNCAxNDo0NjoxNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFdvcmsgd2l0aCBub24tVElNRSBzZWdtZW50cwoJICBXaXRoIG5vbi10aW1lIHNlZ21lbnRzLCBpdCBub3cgYXNzdW1lcyB0aGF0IHRoZSBhcnJpdmFsIHRpbWUgb2YgcGFja2V0cwoJICBpcyBub3QgcmVsZXZhbnQgYW5kIHRoYXQgb25seSB0aGUgUlRQIHRpbWVzdGFtcCBtYXR0ZXIgYW5kIGl0IHByb2R1Y2VzCgkgIGFuIG91dHB1dCBzZWdtZW50IHN0YXJ0IGF0IHJ1bm5pbmcgdGltZSAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDM4CgoyMDE2LTA2LTA3IDIwOjUzOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IFdhaXQgZm9yIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNoZWNraW5nIGl0CgkgIFRoZSBoZXVyaXN0aWMgdG8gY2hvb3NlIGJldHdlZW4gcGFja2V0aXNlIG9yIG5vdCB3YXMgY2hhbmdlZCB0byB1c2UgdGhlCgkgIHNlZ21lbnQgZm9ybWF0LiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoaXMgY2hhbmdlIGlzIHJlYWRpbmcgdGhlIHNlZ21lbnQKCSAgZHVyaW5nIHRoZSBjYXBzIGV2ZW50IGhhbmRsaW5nLiBUaGUgc2VnbWVudCBldmVudCB3aWxsIG9ubHkgYmUgc2VudAoJICBhZnRlci4gVGhhdCBwcmV2ZW50ZWQgdGhlIGRlY29kZXIgdG8gZ28gaW4gcGFja2V0aXplIG1vZGUsIGFuZCBhdm9pZAoJICB1c2VsZXNzIHBhcnNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTYtMDYtMDYgMTc6MDA6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogV2FpdCBmb3Igc2VnbWVudCBldmVudCBiZWZvcmUgY2hlY2tpbmcgaXQKCSAgVGhlIGhldXJpc3RpYyB0byBjaG9vc2UgYmV0d2VlbiBwYWNrZXRpc2Ugb3Igbm90IHdhcyBjaGFuZ2UgdG8gdXNlIHRoZQoJICBzZWdtZW50IGZvcm1hdC4gVGhlIHByb2JsZW0gaXMgdGhhdCB0aGlzIGNoYW5nZSBpcyByZWFkaW5nIHRoZSBzZWdtZW50CgkgIGR1cmluZyB0aGUgY2FwcyBldmVudCBoYW5kbGluZy4gVGhlIHNlZ21lbnQgZXZlbnQgd2lsbCBvbmx5IGJlIHNlbnQKCSAgYWZ0ZXIuIFRoYXQgcHJldmVudGVkIHRoZSBkZWNvZGVyIHRvIGdvIGluIHBhY2tldGl6ZSBtb2RlLCBhbmQgYXZvaWQKCSAgdXNlbGVzcyBwYXJzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE2LTA2LTA3IDE2OjQyOjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBLZWVwIHBhcnQgb2YgdGhlIGlucHV0IGJ1ZmZlcgoJICBJbnN0ZWFkIG9mIGNvbXBsZXRlbHkgZ2V0dGluZyByaWQgb2YgdGhlIGlucHV0IGJ1ZmZlciwgY29weQoJICB0aGUgbWV0YWRhdGEsIHRoZSBmbGFncyBhbmQgdGhlIHRpbWVzdGFtcCBpbnRvIGFuIGVtcHR5IGJ1ZmZlci4KCSAgVGhpcyB3YXkgdGhlIGRlY29kZXIgYmFzZSBjbGFzcyBjYW4gY29weSB0aGF0IGluZm9ybWF0aW9uIGFnYWluCgkgIHRvIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDI0CgoyMDE2LTA2LTA3IDE2OjQxOjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMTYtMDYtMDcgMTY6MDk6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQ29kaW5nIHN0eWxlIGZpeGVzCgoyMDE2LTA2LTA3IDE2OjA0OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBBZGQgYW4gZXJyb3IgcmV0dXJuIHRvIF90cnkvX3NldF9mb3JtYXQKCSAgVGhpcyB3YXkgb25lIGNhbiBlYXNpbHkgaWdub3JlIGVycm9ycy4gUHJldmlvdXNseSwgZXJyb3Igd2VyZSBhbHdheXMKCSAgcG9zdGVkIG9udCBoZSBidXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYxNzIKCjIwMTYtMDYtMDcgMTY6MDE6NTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuYzoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5oOgoJICB2NGwyLXV0aWw6IEludHJvZHVjZSBHc3RWNGwyRXJyb3IKCSAgVGhpcyBpcyB0byBhbGxvdyByZXR1cm5pbmcgYW4gZXJyb3IgdGhhdCBjYW4gZWFzaWx5IGJlIHNlbnQgYXMKCSAgbWVzc2FnZSB0byB0aGUgYXBwbGljYXRpb24gaWYgdGhlIGVsZW1lbnQgbmVlZHMgaXQuIFVzaW5nIHRoaXMKCSAgYWxzbyBhbGxvdyBpZ25vcmluZyBlcnJvcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYxNzIKCjIwMTYtMDYtMDcgMTI6NDE6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogQXZvaWQgZGVjaWRlIGFsbG9jYXRpb24gb24gYWN0aXZlIHBvb2wKCSAgdjRsMnNyYyB3aWxsIHJlbmVnb3RpYXRlIG9ubHkgaWYgdGhlIGZvcm1hdCBoYXZlIGNoYW5nZWQuIEFzIG9mIG5vdywKCSAgaXQncyBub3QgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBhbGxvY2F0aW9udyB3aXRob3V0IHJlc2V0dGluZyB0aGUKCSAgY2FtZXJhLiBUbyBhdm9pZCB1bndhbnRlZCBzaWRlIGVmZmVjdCwgc2ltcGx5IGtlZXAgdGhlIG9sZCBhbGxvY2F0aW9uCgkgIGlmIG5vIHJlbmVnb3RpYXRpb24gaXMgdGFraW5nIHBsYWNlLiBUaGlzIGZpeGVzIGFzc2VydGlvbiBhbmQgcG9zc2libGUKCSAgZmFpbHVyZXMgaW4gVVNFUlBUUiBvciBETUFCVUYgaW1wb3J0IG1vZGUgKHdoZW4gdXNpbmcgZG93bnN0cmVhbSBwb29scykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwNDIKCjIwMTYtMDQtMjggMTM6NDQ6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFNob3cgc3RhdGUgbmFtZSBpbiBkZWJ1Z2dpbmcKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIHRyYWNlIHdoYXQncyBnb2luZyBvbgoKMjAxNi0wNS0xMCAxNTo0NTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZQoJICBUaGF0IHZhcmlhYmxlIGlzIG9ubHkgbmVlZGVkIGZvciBhIGRlYnVnIHN0YXRlbWVudCwgbW92ZSBpdCB0aGVyZQoKMjAxNi0wNS0xMCAxNToxMDozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQWRkL0ZpeCBjb21tZW50cyBvbiB0aGUgdmFyaW91cyBzdHJ1Y3R1cmUgdmFyaWFibGVzCgkgIE5vIHZhcmlhYmxlcyB3ZXJlIGFkZGVkL3JlbW92ZWQuIFRoaXMgd2FzIGp1c3QgYSBnb29kIGV4Y3VzZSB0bzoKCSAgKiBDb21tZW50IHdoYXQgbW9zdCB2YXJpYWJsZXMgYXJlIHVzZWQgZm9yIChhbmQgd2hlbikKCSAgKiBPcmRlciB0aGVtIGluIHN1Y2ggYSB3YXkgYXMgdG8gc2hvdyBmaXJzdCB0aGUgY29tbW9uIHZhcmlhYmxlcyB1c2VkCgkgIGluIGFsbCBjYXNlcywgZm9sbG93ZWQgYnkgdGhvc2Ugb25seSB1c2VkIGluIHB1c2gtbW9kZQoKMjAxNi0wNS0xMCAxNTowNzo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgdW51c2VkIHN0cnVjdHVyZQoJICBMZXQncyBqdXN0IHJlbW92ZSBpdCwgYmVlbiBjb21tZW50ZWQgZm9yIDcrIHllYXJzIDopCgoyMDE1LTA5LTAyIDExOjQ4OjI5ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogdXNlIGRlY29kZXIgc3RvcCBjb21tYW5kIGluc3RlYWQgb2YgcXVldWVpbmcgZW1wdHkgYnVmZmVycwoJICBPbmx5IGlmIHRoZSBkZWNvZGVyIHN0b3AgY29tbWFuZCBmYWlscywga2VlcCBxdWV1ZWluZyBlbXB0eSBidWZmZXJzIHRvCgkgIHNpZ25hbCBlbmQgb2Ygc3RyZWFtIGFzIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzg2NAoKMjAxNC0xMi0xMiAxNDozMTozNiArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogYWRkIGdzdF92NGwyX2RlY29kZXJfY21kIGhlbHBlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODY0CgoyMDE2LTA2LTAxIDIwOjI4OjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZvcndhcmQgc2VnbWVudHMgZGlyZWN0bHkgaWYgd2UgYXJlIG9wZXJhdGluZyBpbiBQVVNIIG1vZGUgb24gZnJhZ21lbnRlZCBzdHJlYW1zCgkgIFdlIHNob3VsZG4ndCBnbyB0aHJvdWdoIHNlZ21lbnQgYWN0aXZhdGlvbiBhcyB3ZSB3aWxsIG9ubHkgaGF2ZSBhIGxpbWl0ZWQKCSAgdW5kZXJzdGFuZGluZyBvZiBob3cgdGhlIHdob2xlIHN0cmVhbSB0aW1lbGluZSBsb29rcyBsaWtlIGZyb20gdGhlIG1vb2YuIFdlCgkgIG9ubHkga25vdyBhYm91dCB0aGUgY3VycmVudCBmcmFnbWVudCwgd2hpbGUgdXBzdHJlYW0ga25vd3MgYWJvdXQgdGhlIHdob2xlCgkgIHN0cmVhbS4KCSAgVGhpcyBmaXhlcyBzZWVraW5nIGluIERBU0ggc3RyZWFtcywgYm90aCBmb3Igc2Vla3MgYWZ0ZXIgdGhlIGN1cnJlbnQgbW9vZiBhbmQKCSAgZm9yIHNlZWtzIGludG8gdGhlIGN1cnJlbnQgbW9vZi4gVGhlIGZvcm1lciB3b3VsZCBmYWlsIGJlY2F1c2UgdGhlIG1vb2YgZW5kcwoJICBhbmQgd2UgY2FuJ3QgYWN0aXZhdGUgYW55IHNlZ21lbnQsIHRoZSBsYXR0ZXIgd291bGQgY2F1c2UgYSBzZWdtZW50IHRoYXQgc3RvcHMKCSAgYXQgdGhlIG1vb2YgZW5kLCBhbmQgbm8gZnVydGhlciBmcmFnbWVudHMgd291bGQgYmUgcGxheWVkIGJlY2F1c2Ugd2UgZW5kIHVwCgkgIGJlaW5nIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA3MQoKMjAxNi0wNi0wNiAxNzo1NDoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBVc2UgbG9vc2VyIGNhcHMgZm9yIHVwc3RyZWFtCgkgIFdoZW4gd2UgZml4YXRlIGZvciB1cHN0cmVhbSwgdHJ5IHRvIG5vdCBpbnRyb2R1Y2UgbmV3IGZpZWxkcyB3aGVuIG5vdAoJICBuZWVkZWQuIFRoaXMgd2FzIGltcG9ydGVkIGZyb20gdmlkZW9jb252ZXJ0IGVsZW1lbnQuCgoyMDE1LTAxLTI4IDEyOjA3OjU4ICswMTAwICBFbnJpY28gSm9ybnMgPGVqb0BwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgZ3N0djRsMnRyYW5zZm9ybTogZm9ybWF0IGZpeGF0aW9uIGZvciBwcmVmZXJyaW5nIHBhc3N0aHJvdWdoCgkgICogSWYgb3V0Z29pbmcgZm9ybWF0IGlzIHVuZml4YXRlZCwgdHJ5IHRvIHNldCBpdCB0byBpbnB1dCBmb3JtYXQuCgkgICogQ2FsbCBnc3RfY2Fwc19maXhhdGUgKCkgYXQgZW5kIG9mIGZpeGF0aW9uIHJvdXRpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjcxOQoKMjAxNi0wNS0yMCAxMjo0OTo1MyArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogYWxsb3cgdG8gY2hhbmdlIHBpeGVsIGFzcGVjdCByYXRpbwoJICBTY2FsZXJzIG1heSBjaGFuZ2Ugd2lkdGggYW5kIGhlaWdodCBpbmRlcGVuZGVudGx5LAoJICBhbGxvdyB0byBjaGFuZ2UgcGl4ZWwgYXNwZWN0IHJhdGlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzEyCgoyMDE2LTA1LTIwIDEyOjMyOjI1ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBmaXggc2NhbGluZyBpbiBjYXNlIG9mIGZpeGVkIHBpeGVsIGFzcGVjdCByYXRpbwoJICBUbyBjaGFuZ2UgcGl4ZWwgYXNwZWN0IHJhdGlvIGZyb20gREFSIHRvIFBBUiwgdGhlIG5lY2Vzc2FyeSBzY2FsaW5nIGZhY3RvcgoJICBpcyBEQVIvUEFSLCBub3QgREFSKlBBUi4KCSAgRm9yIGdvb2QgbWVhc3VyZSwgYWRkIGRlYnVnIG91dHB1dCBzaW1pbGFyIHRvIHRoZSBmaXhlZC13aWR0aCBhbmQKCSAgZml4ZWQtaGVpZ2h0IGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzExCgoyMDE2LTA1LTEzIDE2OjM5OjI1ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBmaWxsIGNvbG9yaW1ldHJ5IGluIGdzdF92NGwyX29iamVjdF9hY3F1aXJlX2Zvcm1hdAoJICBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGRlZmF1bHQgY29sb3JpbWV0cnkgY2hvc2VuIGJ5CgkgIGdzdF92aWRlb19pbmZvX3NldF9mb3JtYXQoKSwgc2V0IGluZm8uY29sb3JpbWV0cnkgZnJvbSB0aGUKCSAgdmFsdWVzIHJldHVybmVkIGJ5IEdfRk1ULiBUaGlzIGFsbG93cyBkZWNvZGVycyB0byBwcm9wYWdhdGUKCSAgdGhlaXIgaW5wdXQgY29sb3JpbWV0cnkgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjM4MwoKMjAxNi0wNS0xOCAxMDoxNzoxMiArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcmVmYWN0b3IgZ3N0X3Y0bDJfb2JqZWN0X2dldF9jb2xvcnNwYWNlIHRvIHRha2UgYSB2NGwyX2Zvcm1hdCBwYXJhbWV0ZXIKCSAgTW92ZSB0aGUgZXh0cmFjdGlvbiBvZiBjb2xvcmltZXRyeSBwYXJhbWV0ZXJzIGZyb20gc3RydWN0IHY0bDJfZm9ybWF0IGFuZCB0aGUKCSAgc2V0dGluZyBvZiB0aGUgaWRlbnRpdHkgbWF0cml4IGZvciBSR0IgZm9ybWF0cyBpbnRvIHRoZSBmdW5jdGlvbiB0byBhdm9pZCBjb2RlCgkgIGR1cGxpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzgzCgoyMDE2LTA1LTEzIDE0OjU4OjQxICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogdXNlIHZpc2libGUgc2l6ZSwgbm90IGNvZGVkIHNpemUsIGZvciBkb3duc3RyZWFtIG5lZ290aWF0aW9uIGZpbHRlcgoJICBnc3RfdjRsMl9wcm9iZV9jYXBzKCkgcmV0dXJucyB0aGUgY29kZWQgc2l6ZSwgbm90IHRoZSB2aXNpYmxlIHNpemUuIFN1YnRyYWN0CgkgIHRoZSBrbm93biBwYWRkaW5nIGZyb20gcHJvYmVkIGNhcHMgd2l0aCB0aGUgY29kZWQgc2l6ZSBiZWZvcmUgdXNpbmcgdGhlbSBhcwoJICBmaWx0ZXIgZm9yIGNhcHMgbmVnb3RpYXRpb24gd2l0aCBkb3duc3RyZWFtIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzgyCgoyMDE2LTA1LTEzIDE0OjQ1OjAyICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiB1c2UgR19TRUxFQ1RJT04gaW5zdGVhZCBvZiBHX0NST1AgaW4gZ3N0X3Y0bDJfb2JqZWN0X2FjcXVpcmVfZm9ybWF0CgkgIFRoZSBnc3RfdjRsMl9vYmplY3RfYWNxdWlyZV9mb3JtYXQoKSBmdW5jdGlvbiBpcyB1c2VkIGJ5IHY0bDJ2aWRlb2RlYyB0byBvYnRhaW4KCSAgdGhlIGN1cnJlbnRseSBzZXQgY2FwdHVyZSBmb3JtYXQuIFNpbmNlIEdfRk1UIHJldHVybnMgdGhlIGNvZGVkIHNpemUsIHRoZQoJICB2aXNpYmxlIHNpemUgbmVlZHMgdG8gYmUgb2J0YWluZWQgZnJvbSB0aGUgY29tcG9zZSByZWN0YW5nbGUgaW4gb3JkZXIgdG8KCSAgbmVnb3RpYXRlIGl0IHdpdGggZG93bnN0cmVhbSBlbGVtZW50cy4gVGhlIEdfQ1JPUCBjYWxsIGhhc24ndCB3b3JrZWQgb24gbWVtMm1lbQoJICBjYXB0dXJlIHF1ZXVlcyBmb3IgYSBsb25nIHRpbWUuIEluc3RlYWQgdXNlIHRoZSBHX1NFTEVDVElPTiBjYWxsIHRvIG9idGFpbiB0aGUKCSAgY29tcG9zZSByZWN0YW5nbGUgYW5kIG9ubHkgZmFsbCBiYWNrIHRvIEdfQ1JPUCBmb3IgYW5jaWVudCBrZXJuZWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzgxCgoyMDE2LTAxLTI3IDA5OjU3OjM4ICswMTAwICBBbmRyZWFzIE5hdW1hbm4gPGFuYXVtYW5uQHVsdHJhdHJvbmlrLmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFVzZSBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVF9PVkVSTEFZIGlmIGRyaXZlciBhZHZlcnRpc2VzIGl0LgoJICBPbiBtb2Rlcm4ga2VybmVscywgdGhlIEcvU19GTVQgaW9jdGxzIHdpbGwgYWx3YXlzIGZhaWwgdXNpbmcKCSAgVjRMMl9CVUZfVFlQRV9WSURFT19PVkVSTEFZIHdpdGggVkZMX0RJUl9UWCAoZS5nLiByZWFsIG92ZXJsYXkgb3V0IGRyaXZlcnMpCgkgIHNpbmNlIHRoaXMgaXMgbm90IHRoZSBpbnRlbnRlZCB1c2UgKHJhdGhlciByeCwgYWNjb3JkaW5nIHRvIHY0bDIgQVBJIGRvYykuCgkgIFByb2JhYmx5IHRoaXMgaXMgd2h5IHRoZSBWaWRlbyBPdXRwdXQgT3ZlcmxheSBpbnRlcmZhY2Ugd2FzIGNyZWF0ZWQsIHNvIGlmCgkgIHRoZSBkcml2ZXIgYWR2ZXJ0aXNlcyBpdCB3ZSBtaWdodCBhcyB3ZWxsIHVzZS4KCSAgRm9yIG9sZCBrZXJuZWxzIChwcmUgMjAxMikgdGhlIG9sZCB3YXkgbWlnaHQgc3RpbGwgd29yayBzbyBrZWVwaW5nIHRoaXMgZm9yCgkgIGNvbXBhdGliaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjExNjUKCjIwMTYtMDYtMDYgMTg6NTI6MDEgKzAxMDAgIEtpZXJhbiBCaW5naGFtIDxraWVyYW5AYmluZ2hhbS54eXo+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVzZSBub24tZGVwcmVjYXRlZCBWNEwyIHR5cGUgZm9yIFJHQjE1CgkgIFN1cHBvcnQgZm9yIHRoZSB1cGRhdGVkIFY0TDJfUElYX0ZNVF9YUkdCNTU1IHdhcyBhZGRlZCBpbiBjb21taXQKCSAgMjUzOGZlZTJmZDhmZGI3NGIwNWYwYTUxMTI4MWJjNDcwN2U3Y2M0NCBob3dldmVyLCB3aGVuIHNldHRpbmcgdGhlIGZvcm1hdAoJICBmb3IgdXNlIGluIHY0bDIgaW9jdGxzLCB0aGUgb2xkIGRlcHJlY2F0ZWQgZm9ybWF0IGlzIHN0aWxsIHVzZWQuIENvbnZlcnQKCSAgdGhpcyB0byB0aGUgbmV3IGFjY2VwdGVkIGZvcm1hdCB0eXBlLCBhcyB0aGUgcHJlZmVycmVkIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzMwMAoKMjAxNi0wNS0wNCAxNDo1MDozMiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJlc2VydmUgc2VlayBmbGFncwoJICBXaXRob3V0IHRoaXMgc29tZSBmbGFncyBnZXQgbG9zdCBpbiBzdHJlYW1pbmcgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE5NAoKMjAxNi0wNi0wNiAxMDo0Nzo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgUmV2ZXJ0ICJXSVAgcmV2ZXJ0IHNvdXAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZmRhYzNhN2EyMzFmMzg0ODY2NTYzNmNmODEyMmY5NjEwM2I0NmUzYi4KCSAgV2FzIG5vdCBzdXBwb3NlZCB0byBiZSBwdXNoZWQgYnV0IGEgbG9jYWwgd29ya2Fyb3VuZCBmb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMSNjMTMKCjIwMTYtMDYtMDMgMTM6MDk6MzUgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogY29tcGxldGUgd2FybiBsb2cgd2l0aCBTU1JDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxOTUKCjIwMTYtMDUtMzEgMTU6Mjk6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFdJUCByZXZlcnQgc291cAoKMjAxNi0wNi0wMyAxMzoxODozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFVucmVmIHNlZWsgZXZlbnQgaW4gYW55IGNhc2UKCSAgSXQgd291bGQgYmUgbGVha2VkIGlmIG5vIHNlZWsgaGFuZGxlciB3YXMgY3VycmVudGx5IHNldC4KCjIwMTYtMDYtMDMgMTA6NDk6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBQcm9wZXJseSBzZXQgZXZlbnQvbWVzc2FnZSBzZXF1ZW5jZSBudW1iZXJzIGJhc2VkIG9uIHRoZSBwcmV2aW91cyBzZWVrCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTM1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTcKCjIwMTYtMDYtMDMgMTA6MzY6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBSZW1lbWJlciBpZiB1cHN0cmVhbSBoYWQgYSB0aW1lIHNlZ21lbnQgYW5kIGlmIG5vdCBwcm9wZXJseSBjcmVhdGUgdGltZSBzZWdtZW50cwoJICBQcmV2aW91c2x5IHRoZSBzZWdtZW50LnRpbWUgd2FzIHdyb25nLCBhbmQgdGhlIHBvc2l0aW9uIHdhcyBub3QgdXBkYXRlZAoJICBjb3JyZWN0bHksIHJlc3VsdGluZyBpbiBzZWVrcyBpbiBQVVNIIG1vZGUgd2l0aCB1cHN0cmVhbSBwcm92aWRpbmcgYSBCWVRFUwoJICBzZWdtZW50IHRvIG5vdCB3b3JrIGF0IGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NwoKMjAxNi0wNi0wMyAwOTo1NDo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5IHNvIHdlIGNhbiBhY3R1YWxseSBzZWVrIGlmIHVwc3RyZWFtIGNhbid0IHNlZWsgaW4gVElNRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU3CgoyMDE2LTA2LTAyIDE0OjE5OjE1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogUmVjYWxjdWxhdGUgdGhlIGZyYW1lIG9mZnNldHMgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIEJZVEUgc2VnbWVudCBhbmQgd2hlbmV2ZXIgdXBzdHJlYW0gZ2l2ZXMgdXMgYSB0aW1lc3RhbXAKCSAgVGhpcyBmaXhlcyBzZWVraW5nIGluIERWIHN0cmVhbXMgd2hlcmUgdXBzdHJlYW0gb3BlcmF0ZXMgaW4gUFVTSCBtb2RlIHdpdGggYQoJICBUSU1FIHNlZ21lbnQgKGUuZy4gYXZpZGVtdXgpLiBXaXRob3V0IHRoaXMsIHdlIHdvdWxkIGdlbmVyYXRlIHdyb25nIGR1cmF0aW9ucwoJICBhbmQgdGltZXN0YW1wcyBhZnRlciBhIHNlZWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTcKCjIwMTYtMDYtMDIgMTM6NTM6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBQYXNzLXRocm91Z2ggYnVmZmVyIERJU0NPTlQgZmxhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NwoKMjAxNi0wNi0wMiAxNjoxNjo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSAgcnRwdnA5ZGVwYXk6IERvbid0IGFzc2VydCBvbiBmbGV4aWJsZSBtb2RlIHBhY2tldHMKCSAgSW5zdGVhZCBqdXN0IHBvc3QgYSB3YXJuaW5nIG9uIHRoZSBidXMgZm9yIG5vdy4KCjIwMTYtMDYtMDIgMTU6MDM6MTcgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBydHBiaW46IGZpeCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NgoKMjAxNi0wNi0wMiAxNTowMDowMSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICB0ZXN0czogYW1ycGFyc2U6IGNsZWFuIHVwIHRlc3QKCSAgLSB1c2UgR1NUX0NIRUNLX01BSU4oKSB0byByZWR1Y2UgYm9pbGVycGxhdGUKCSAgLSB1bnJlZiB0aGUgaW5wdXQgY2FwcyB1c2luZyBhIHRlYXJkb3duIGZ1bmN0aW9uIHRvIHByZXZlbnQgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NgoKMjAxNi0wNS0yMCAxNToyMjozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEVuc3VyZSBESVNDT05UIGZsYWcgaXMgcHJvcGVybHkgcHJvcGFnYXRlZAoJICBUaGUgb3V0cHV0IG9mIGRlaW50ZXJsYWNlIGF0IHN0YXJ0dXAsIG9yIHdoZW4gcmVjZWl2aW5nIGEgbmV3IERJU0NPTlQKCSAgYnVmZmVyLCBzaG91bGQgaGF2ZSB0aGUgRElTQ09OVCBmbGFnIHNldCBvbiB0aGUgZmlyc3QgYnVmZmVyLgoKMjAxNi0wNS0zMSAyMTozNDowNCArMDIwMCAgSm9zZXAgVG9ycmEgPGFkbjc3MEBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBjaGVjayBmb3IgdmFsaWQgc2l6ZSBvbiByYXcgdmlkZW8gYnVmZmVycwoJICBEaXNjYXJkIGJ1ZmZlcnMgdGhhdCBkb2Vzbid0IGNvbnRhaW4gZW5vdWdoIGRhdGEgd2hlbiBkZWFsaW5nCgkgIHdpdGggcmF3IHZpZGVvIGlucHV0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA4NgoKMjAxNi0wNS0zMSAxNzoxMDozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdGhlIGRlbXV4ZXIgc2VnbWVudCBpbnN0ZWFkIG9mIGEgbmV3IG9uZSBmb3IgTVNTIHN0cmVhbXMKCSAgVXBzdHJlYW0gbWlnaHQgaGF2ZSB0b2xkIHVzIHNvbWV0aGluZyBhYm91dCB0aGUgdG8gYmUgZXhwZWN0ZWQgc2VnbWVudCwgc28KCSAgbGV0J3MgdXNlIHRoYXQgaW5mb3JtYXRpb24gaW5zdGVhZCBvZiBjb21pbmcgdXAgd2l0aCBhIFswLC0xXSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE2LTA1LTMxIDE3OjA0OjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE9ubHkgYWN0aXZhdGUgc2VnbWVudHMgYW5kIHNlbmQgU0VHTUVOVCBldmVudHMgaWYgd2UgaGF2ZSBzdHJlYW1zCgkgIEJ1dCBpbiB0aGF0IGNhc2UgYWxzbyByZW1vdmUgdGhlIHBlbmRpbmcgbmV3c2VnbWVudCBldmVudCwgb3RoZXJ3aXNlIHdlIHdvdWxkCgkgIGxhdGVyIHNlbmQgYSBwb3NzaWJseSBvdXRkYXRlZCBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA3MQoKMjAxNi0wNS0zMSAxNjo1Mzo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbiBQVUxMIG1vZGUsIG5vdGhpbmcgaXMgZXZlciBnb2luZyB0byBzZW5kIHVzIGEgU0VHTUVOVCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE2LTA1LTMxIDE2OjM4OjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IG92ZXJyaWRlIFRJTUUgc2VnbWVudHMgZnJvbSB1cHN0cmVhbSB0aGF0IHdlIGp1c3Qgc2F3CgkgIFRoZSBwb2ludCBvZiBkOGZiN2E5Yzk2YjEwODgxNGJlZWFhMGU2M2Y4MThkNDY0OGM3ZmU5IHdhcyB0byBub3QgaGF2ZSBhbnkKCSAgc3B1cmlvdXMgc2VnbWVudHMgc3RvcmVkIGZvciBsYXRlciBpZiB3ZSBkbyBCWVRFUy0+VElNRSBjb252ZXJzaW9uLCBidXQKCSAgb3ZlcnJpZGluZyBhbnkgVElNRSBzZWdtZW50cyBmcm9tIHVwc3RyZWFtIGRvZXMgbm90IG1ha2UgYW55IHNlbnNlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzE2NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE1LTA3LTE2IDA5OjQ4OjQ2ICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBzZXQgcG9zaXRpb24gYXMgb2Zmc2V0IGZyb20gc3RhcnQtaW5kZXgKCSAgcXVlcnkgcG9zaXRpb24gaW4gR1NUX0ZPUk1BVF9CVUZGRVIgcmV0dXJucwoJICBvZmZzZXQgZnJvbSBzdGFydC1pbmRleCByYXRoZXIgdGhhbiBpbmRleC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ2MgoKMjAxNi0wNS0yNyAxMjo0OTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9ncmFkaWVudC5qMms6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciBKUEVHLTIwMDAgcnRwIHBheWxvYWRlciBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NzAKCjIwMTYtMDUtMjUgMTc6MTE6MTMgKzAyMDAgIFBpZXJyZSBMYW1vdCA8cGllcnJlLmxhbW90QG9wZW53aWRlLmZyPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrCgkgIElucHV0IGJ1ZmZlciBtZW1vcnkgd2FzIG5vdCB1bm1hcHBlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODcwCgoyMDE2LTA1LTE4IDEyOjEyOjE1ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZml4IGNhcHMgbGVhawoJICBnc3RfdjRsMl9vYmplY3RfcHJvYmVfY2FwcygpIHdhcyB0YWtpbmcgYW4gZXh0cmEgcmVmIG9uIHRoZSByZXR1cm5lZAoJICBjYXBzIGZvciBubyByZWFzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MTAKCjIwMTYtMDUtMjIgMjA6MTQ6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3AgbWFyayBjcm9wIHByb3BlcnRpZXMgYXMgbXV0YWJsZSBpbiBwbGF5aW5nIHN0YXRlCgoyMDE2LTA1LTIwIDE2OjQ3OjM1ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggYnVmZmVyIGxlYWsgd2hlbiBmbHVzaGluZwoJICBXaGVuIGVhcmx5IHJldHVybmluZyBpbiBnc3Rfc291cF9odHRwX3NyY19yZWFkX2J1ZmZlcigpIGJlY2F1c2UgdGhlCgkgIGVsZW1lbnQgaXMgRkxVU0hJTkcsIHdlIG5lZWQgdG8gdW5tYXAgYW5kIHVucmVmIHRoZSBidWZmZXIgd2hpY2ggd2FzIGp1c3QgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjcxOAoKMjAxNi0wNS0yMCAxMToxNTo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTZXQgc2VlayBldmVudCBzZXFudW0gb24gYWxsIFNFR01FTlQgZXZlbnRzCgkgIFNvbWUgd2VyZSBmb3Jnb3R0ZW4uCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTM1CgoyMDE2LTA1LTIwIDExOjEyOjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBQYXNzIHRocm91Z2ggc2VlayBldmVudCBzZXFudW1zIGluIGFsbCBTRUdNRU5UL0VPUyBldmVudHMgYW5kIFNFR01FTlRfRE9ORSBtZXNzYWdlcy9ldmVudHMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MzUKCjIwMTYtMDUtMjAgMTA6NTY6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU2V0IHNlZWsgZXZlbnQgc2VxbnVtIGluIEVPUyBhbmQgU0VHTUVOVF9ET05FIG1lc3NhZ2VzL2V2ZW50cwoJICBBbHNvIGFjdHVhbGx5IHN0b3JlIHRoZSBzZXFudW0gaW4gcHVsbCBtb2RlIHNlZWtzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkzNQoKMjAxNi0wNS0xNyAxMzo0MDozOCArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBjYXBzIGxlYWsKCSAgVGhlIGNhcHMgcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgd2FzIG5ldmVyIHVucmVmZmVkIHdoZW4KCSAgbm90IGVhcmx5IHJldHVybmluZy4KCSAgRml4IGEgbGVhayB3aXRoIHRoZSBlbGVtZW50cy9kZWludGVybGFjZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTU4CgoyMDE2LTAxLTI1IDE2OjI1OjUxICswMTAwICBNaWtoYWlsIEZsdWRrb3YgPG1pc2hhQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgYWN0IG9uIHN1c3BpY2lvdXMgQllFIFJUQ1AKCSAgU29tZSBlbmRwb2ludHMgKGxpa2UgVGFuZGJlcmcgRTIwKSBjYW4gc2VuZCBCWUUgcGFja2V0IGNvbnRhaW5pbmcgb3VyCgkgIGludGVybmFsIFNTUkMuIEkgdGhpcyBjYXNlIHdlIHdvdWxkIGRldGVjdCBTU1JDIGNvbGxpc2lvbiBhbmQgZ2V0IHJpZAoJICBvZiB0aGUgc291cmNlIGF0IHNvbWUgcG9pbnQuIEJ1dCBiZWNhdXNlIHdlIGFyZSBzdGlsbCBzZW5kaW5nIHBhY2tldHMKCSAgd2l0aCB0aGF0IFNTUkMgdGhlIHNvdXJjZSB3aWxsIGJlIHJlY3JlYXRlZCBpbW1lZGlhdGVseS4KCSAgVGhpcyBicmFuZCBuZXcgaW50ZXJuYWwgc291cmNlIHdpbGwgbm90IGhhdmUgc29tZSB2YXJpYWJsZXMgaW5jb3JyZWN0bHkKCSAgc2V0IGluIGl0cyBzdGF0ZS4gRm9yIGV4YW1wbGUgJ3NlcW51bS1iYXNlYCBhbmQgYGNsb2NrLXJhdGVgIHZhbHVlcyB3aWxsIGJlCgkgIC0xLgoJICBUaGUgZml4IGlzIG5vdCB0byBhY3Qgb24gQllFIFJUQ1AgaWYgaXQgY29udGFpbnMgaW50ZXJuYWwgb3IgdW5rbm93bgoJICBTU1JDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjE5CgoyMDE1LTExLTE1IDE0OjU0OjI4ICswMTAwICBNaWtoYWlsIEZsdWRrb3YgPG1pc2hhQHBleGlwLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHRlc3QgZm9yIGxvY2tpbmcgb2YgdGhlIHN0YXRzIHNpZ25hbAoJICBLZWVwaW5nIHRoZSBsb2NrIHdoaWxlIGVtaXR0aW5nIHRoZSBzdGF0cyBzaWduYWwgaW50cm9kdWNlcyBwb3RlbnRpYWwKCSAgZGVhZGxvY2sgaW4gdGhvc2Ugc2l0dWF0aW9ucyB3aGVuIHRoZSBzaWduYWwgY2FsbGJhY2sgd2FudHMgdGhlIGFjY2VzcwoJICB0byBydHBzZXNzaW9uJ3MgcHJvcGVydGllcyB3aGljaCBhbHNvIHJlcXVyZSB0aGUgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxNgoKMjAxNi0wNS0xOSAxNTozNjo1NyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgaG9sZCBvYmplY3QgbG9jayB3aGlsc3QgcHVzaGluZyBvdXQgaGVhZGVycwoJICBtYXRyb3NrYWRlbXV4IHdvdWxkIHRha2UgdGhlIEdTVF9PQkpFQ1RfTE9DSyBpbgoJICAtIGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2NvZGVjX2RhdGFfYWxsKCkKCSAgLSBnc3RfbWF0cm9za2FfZGVtdXhfcXVlcnkoKQoJICBTb21lIHBhcnNlIGVsZW1lbnQgc3VjaCBhcyBGTEFDIGNoZWNrcyB1cHN0cmVhbSBzZWVrYWJpbGl0eSwgYW5kCgkgIHRoZXJlIGlzIHNvbWUgdXNlIGNhc2VzIHRoYXQgbWF0cm9za2EtZGVtdXggaXMgbGlua2VkIHRvIGEgcGFyc2UgZWxlbWVudAoJICAoZS5nLixGTEFDIGZvcm1hdCkgd2l0aG91dCBpbnRlcm1lZGlhdGUgZWxlbWVudHMgKGUuZy4sIHF1ZXVlKS4KCSAgSW4gdGhpcyBjYXNlLCBtYXRyb3NrYS1kZW11eCBuZXZlciByZXR1cm5zIGZyb20gX3B1c2hfY29kZWNfZGF0YV9hbGwoKQoJICBiZWNhdXNlIHRoZSBwYXJzZXIgY2FuIHJldHVybiBvbmx5IGFmdGVyIGl0IHJlY2VpdmVzIHRoZSByZXNwb25zZSB0bwoJICB0aGUgdXBzdHJlYW0gcXVlcnksIGJ1dCB0aGF0J3Mgbm90IGdvaW5nIHRvIGhhcHBlbiBiZWNhdXNlIGl0J3MKCSAgZGVhZGxvY2tlZC4KCSAgRWxlbWVudHMgbXVzdCBub3QgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hpbHN0IHB1c2hpbmcgb3V0IGV2ZW50cwoJICBvciBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjQ1CgoyMDE2LTA1LTE5IDEyOjQzOjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogU2V0IHNlbnRfYnVmZmVycyBhbmQgc3RyZWFtaGVhZGVyX2J1ZmZlcnMgdG8gTlVMTCBhZnRlciBmcmVlaW5nCgkgIE90aGVyd2lzZSB3ZSBtaWdodCB1c2UgYW4gYWxyZWFkeSBmcmVlZCBsaXN0IGxhdGVyIGFuZCBjcmFzaCBvciB3b3JzZS4KCjIwMTYtMDUtMTggMTg6MzI6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBTaW5jZSB2ZXJzaW9uIGZvciBuZXcgImxvb3AiIHByb3BlcnR5CgoyMDE2LTA1LTE2IDE2OjE4OjM3ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IGZpeCBjbG9jayBsZWFrCgkgIGdzdF9zeXN0ZW1fY2xvY2tfb2J0YWluKCkgcmV0dXJucyBhIG5ldyByZWYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1MjEKCjIwMTYtMDUtMTcgMDU6MzM6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGFkZCBkb2MgYmx1cmIgd2l0aCBzaW5jZSBtYXJrZXIgZm9yIG5ldyAibG9vcCIgcHJvcGVydHkKCjIwMTUtMTEtMTMgMTU6NTI6MzUgKzAxMDAgIERpbWl0cmlvcyBLYXRzYXJvcyA8cGF0Y2hlcndvcmtAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGQgc3VwcG9ydCBmb3IgcG5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwNTkKCjIwMTYtMDUtMTUgMjI6MDc6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhzcmM6IENvbm5lY3QgdG8gZGVtdXggc2lnbmFscyBiZWZvcmUgYWN0aXZhdGluZwoJICBGaXggYSByYWNlIGluIHNwbGl0bXV4c3JjIGJ5IHByb3Blcmx5IGNvbm5lY3RpbmcgdG8gdGhlCgkgIGRlbXV4ZXIgc2lnbmFscyB3ZSdyZSBpbnRlcmVzdGVkIGluICpiZWZvcmUqIHNldHRpbmcgaXQgcnVubmluZy4KCjIwMTYtMDUtMTUgMTM6MzE6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogVXBkYXRlIGZvciBnaXQgbWFzdGVyCgoyMDE2LTA1LTE1IDEyOjE2OjIzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBydHBtcDRncGF5OiBEb24ndCBwcm9kdWNlIHRpbWVzdGFtcHMgYmFzZWQgb24gYnl0ZSBjb3VudAoJICBUaGUgR1NUX0JVRkZFUl9PRkZTRVQgb2Ygb3V0cHV0IGJ1ZmZlcnMgcmV0dXJuZWQgdG8gR3N0UnRwQmFzZVBheWxvYWQKCSAgc2hvdWxkIHJlZmxlY3QgdGhlIG51bWJlciBvZiAic2FtcGxlcyIgaW4gdGhlIHVuaXQgb2YgdGhlIFJUUCBjbG9jayBpbiB0aGlzCgkgIGJ1ZmZlci4gSWYgdGhpcyBpcyBub3QgdHJ1ZSwgdGhlbiBpdCBzaG91bGRuJ3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxOTQzCgoyMDE2LTA1LTE1IDEyOjI0OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IEZpeCBzdHJjbXAgdXNhZ2UKCSAgSnVzdCB1c2UgZ19zdHJjbXAwIHdoaWNoIGNhbiBoYW5kbGUgTlVMTCBlbnRyaWVzCgoyMDE2LTAzLTA0IDEwOjE0OjAwICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVXNlIGF1ZGlvL3gtdW5hbGlnbmVkLXJhdyBpbnN0ZWFkIG9mIGF1ZGlvL3gtcmF3IGZvciBMMTYgZGF0YQoJICBEaXJlY3RseSBzZXR0aW5nIGF1ZGlvL3gtcmF3IGNhcHMgbGVhZHMgdG8gcHJvYmxlbXMgd2hlbiB0aGUgZGVsaXZlcmVkCgkgIGRhdGEgYmxvY2tzIGRvIG5vdCBhbGlnbiBwcm9wZXJseSBhdCBzYW1wbGUgYm91bmRhcmllcyAoZm9yIGV4YW1wbGUsIGEKCSAgZGF0YSBibG9jayB3aXRoIDM5MSBieXRlcykuIFNvLCBpbnN0ZWFkLCBzZXQgYXVkaW8veC11bmFsaWduZWQtcmF3IHRvCgkgIGxldCBhIHBhcnNlciBiZSBhdXRvcGx1Z2dlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTQ2MAoKMjAxNi0wNS0xMiAxMTo1MjowOSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2luZyBlbHN0IGJveCBiYXNlZCBvbiB2ZXJzaW9uCgkgIHNlZ21lbnRfZHVyYXRpb24gYW5kIG1lZGlhX3RpbWUgc2hvdWxkIGJlIHBhcnNlZCBiYXNlZCBvbiB2ZXJzaW9uCgkgIG9mIGVsc3QgYm94LiBTcGVjaWZpY2F0aW9uIGRlZmluZXMgdGhhdCBhbiBlbHN0IGJveCB3aXRoIHZlcnNpb24gMQoJICBoYXMgdWludDY0IGFuZCBpbnQ2NCB2YWx1ZXMgZm9yIHNlZ21lbnRfZHVyYXRpb24gYW5kIG1lZGlhX3RpbWUsCgkgIHJlc3BlY3RpdmVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjMwMQoKMjAxNi0wNS0xNCAxMjo1Nzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGNoZWNrIGlmIHJlcXVlc3Qgd2FzIGNhbmNlbGxlZCB3aGVuIHNlbmRpbmcgbWVzc2FnZQoJICBJdCBtaWdodCBiZSB0aGF0IHRoZSByZXF1ZXN0IHdhcyBhYm9ydGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiBhbmQKCSAgd2UgY2FuIHJldHVybiBpbW1lZGlhdGVsbHkKCjIwMTYtMDUtMTQgMTI6NDM6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBwcm94eSByZXNvbHZlciBpcyBvbiBieSBkZWZhdWx0CgkgIFJlbW92ZSBmcm9tIHRoZSBzZXNzaW9uIGNyZWF0aW9uIHBhcmFtZXRlcnMKCjIwMTYtMDUtMTQgMTI6MTU6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICBzb3VwOiB1cGRhdGUgYnVpbGQgdG8gd2FybiBhYm91dCBuZXdlciBkZXByZWNhdGVkIGZ1bmN0aW9ucwoJICBXZSBhbHJlYWR5IGRlcGVuZCBvbiAyLjQ4CgoyMDE2LTA1LTE0IDExOjA5OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogcmVkdWNlIHJlYWRpbmcgbGF0ZW5jeSBieSB1c2luZyBub24tYmxvY2tpbmcgcmVhZAoJICBOb24tYmxvY2tpbmcgcmVhZCB3aWxsIHJldHVybiB0aGUgYW1vdW50IG9mIGRhdGEgYXZhaWxhYmxlIHdpdGhvdXQKCSAgYmxvY2tpbmcgdG8gd2FpdCBmb3IgdGhlIGZ1bGwgcmVxdWVzdGVkIHNpemUuCgkgIFRoZSBkb3duc2lkZSBpcyB0aGF0IG5vdyBpdCBzb3VwaHR0cHNyYyBuZWVkcyB0byBoYXZlIGEgd2FpdGluZwoJICBtZWNoYW5pc20gaW4gY2FzZSB0aGVyZSBpcyBubyBkYXRhIGF2YWlsYWJsZSB5ZXQgdG8gYXZvaWQgYnVzeQoJICBsb29waW5nIGFyb25kIHRoZSBpbnB1dHN0cmVhbS4KCjIwMTYtMDUtMTUgMTI6MzA6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRha2UgdGhlIGxvY2sgYWxyZWFkeSB3aGVuIHJlYWRpbmcgdGhlIG90aGVyIHN0YXRzLCBub3QganVzdCBmb3IgdGhlIGhhc2ggdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjAyNQoKMjAxNi0wNS0xNCAxNzowNDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IHVzZSBtYXRoLWNvbXBhdC5oIGZvciBOQU4gZGVmaW5lCgoyMDE2LTA1LTE0IDIzOjM5OjIyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogVXNlIEdzdEJpbiBhc3luYy1oYW5kbGluZyBpbnN0ZWFkIG9mIG91ciBvd24uCgkgIFNldCB0aGUgYXN5bmMtaGFuZGxpbmcgcHJvcGVydHkgb24gR3N0QmluIHRvIGxldCBpdCBtYW5hZ2UKCSAgYXN5bmMtaGFuZGxpbmcgaW5zdGVhZCBvZiB0aGUgbG9jYWwgaGFuZGxpbmcgZnJvbSB0aGUgcHJldmlvdXMKCSAgY29tbWl0LiBXb3JrcyBiZWNhdXNlIG9mICMxNzRhNWUgaW4gY29yZQoKMjAxNi0wNS0xMyAxMDoxNzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IHJlZmFjdG9yIHRvIHVzZSBTb3VwJ3Mgc3luYyBBUEkKCSAgUmVwbGFjZSB0aGUgYXN5bmMgQVBJIHdpdGggdGhlIHN5bmMgQVBJIHRvIHJlbW92ZSBhbGwgdGhlIGV4dHJhIG1haW5sb29wCgkgIGFuZCBjb250ZXh0IGhhbmRsaW5nLiBDdXJyZW50bHkgaXQgYmxvY2tzIHJlYWRpbmcgdW50aWwgJ2Jsb2Nrc2l6ZScKCSAgYnl0ZXMgYXJlIGF2YWlsYWJsZSBidXQgdGhhdCBjYW4gYmUgaW1wcm92ZWQgYnkgdXNpbmc6CgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9naW8vdW5zdGFibGUvR1BvbGxhYmxlSW5wdXRTdHJlYW0uaHRtbCNnLXBvbGxhYmxlLWlucHV0LXN0cmVhbS1yZWFkLW5vbmJsb2NraW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5MTEKCjIwMTYtMDUtMTQgMDQ6NTA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogcmVwbGFjZSBkZXByZWNhdGVkIEFQSQoJICBBdm9pZCB1c2luZyBzb3VwX3NlcnZlcl9ydW5fYXN5bmMgYW5kIG9sZCBnZXRfcG9ydCgpIEFQSXMsCgkgIHJlcGxhY2Ugd2l0aCBtZSBzb3VwX3NlcnZlcl9saXN0ZW4gYW5kIGdldCB0aGUgcG9ydCB0aHJvdWdoIHRoZQoJICBVUklzIGxpc3QgcmV0dXJuZWQgZnJvbSB0aGUgc2VydmVyLgoKMjAxNi0wNS0xNCAxMjozNDoxMCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFVwZ3JhZGUgZGVidWcgbWVzc2FnZSB0byBlcnJvcgoJICBJdCBjYXVzZXMgdGhlIGVudGlyZSBwaXBlbGluZSB0byBmYWlsLCBpdCBzaG91bGQgYmUgZWFzaWVyIHRvIGZpbmQuCgoyMDE2LTA1LTE0IDE4OjMyOjUyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogSGlkZSBpbnRlcm5hbCBhc3luYyBzdGF0ZSBjaGFuZ2VzLgoJICBXaGVuIHN3aXRjaGluZyBmcmFnbWVudHMsIGhpZGUgdGhlIGFzeW5jLXN0YXJ0L2FzeW5jLWRvbmUKCSAgbWVzc2FnZXMgZnJvbSB0aGUgcGFyZW50IGJpbiwgYXMgb3RoZXJ3aXNlIHdlIHNvbWV0aW1lcyAodmVyeSByYXJlbHkpCgkgIGhhbmcgaW4gUEFVU0VEIGluc3RlYWQgb2YgcmV0dXJuaW5nIC8gY29udGludWluZyB0byBQTEFZSU5HCgkgIHN0YXRlLgoKMjAxNi0wNS0xMyAyMToyMDoyOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFJlbW92ZSBzdHJheSBjYXJyaWFnZS1yZXR1cm4gZnJvbSBkZWJ1ZwoKMjAxNi0wNS0xMyAxNjo0MzoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogU2hpcCBnc3RydHBqMmtjb21tb24uaCBmaWxlIHRvIGZpeCBkaXN0Y2hlY2sKCjIwMTUtMDQtMzAgMTQ6NDM6MDQgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IERvIG5vdCB3cml0ZSBpbmRleCBhbmQgaGVhZGVyIGlmIGlkeCBpcyBOVUxMCgkgIEZpeGVzIGNyaXRpY2FscyB3aXRoIGUuZy4KCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTEgISBpZGVudGl0eSBkcm9wLXByb2JhYmlsaXR5PTEuMCAhIGF2aW11eCAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg3MDAKCjIwMTYtMDUtMTIgMDg6NDM6MzkgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogbWFuYWdlIFQgdGlsZSBpbnZhbGlkYXRpb24gYml0IGNvcnJlY3RseSwgdXBkYXRlIHRpbGUgaWQgaW4gaGVhZGVyIGNvcnJlY3RseS4KCSAgMS4gYWNjb3JkaW5nIHRvIFJGQywgVCBiaXQgaXMgb25seSBzZXQgd2hlbiBlaXRoZXIgdGhlIFJUUCBwYWNrZXQgb25seSBjb250YWlucyB0aGUgSjJLIG1haW4gaGVhZGVyLCBvciB0aGUgcGFja2V0IGNvbnRhaW5zIHRpbGUgcGFydHMgZnJvbSBtdWx0aXBsZSB0aWxlcy4gVGhpcyBpcyBub3cgYmVpbmcgbWFuYWdlZCBjb3JyZWN0bHkgaW4gdGhlIGNvZGUuIFRoZSBzZWNvbmQgc2NlbmFyaW8gY2Fubm90IGhhcHBlbiB3aXRoIG91ciBwYXlsb2FkZXIsIHNpbmNlIHRpbGUgaGVhZGVycyBhcmUgYWx3YXlzIHBsYWNlZCBpbiB0aGVpciBvd24gUlRQIHBhY2tldCwgYW5kIHNvIGEgcGFja2V0IGNhbm5vdCBjb250YWluIHRpbGUgcGFydHMgZnJvbSBtdWx0aXBsZSB0aWxlcy4KCSAgSG93ZXZlciwgSSBoYXZlIGFkZGVkIGNvZGUgdG8gdHJhY2sgaWYgbXVsdGlwbGUgdGlsZSBwYXJ0cyBhcmUgaW5jbHVkZWQgaW4gYSBzaW5nbGUgUlRQIHBhY2tldCwgaW4gY2FzZSBpbiB0aGUgZnV0dXJlIHdlIHdhbnQgdG8gcHV0IGhlYWRlciBhbmQgZGF0YSBpbiBzYW1lIHBhY2tldC4KCSAgMi4gT2xkIGNvZGUgd291bGQgc2V0IHRoZSB0aWxlIGlkIHRvIHplcm8gZm9yIGFsbCBKMksgcGFja2V0cy4gVGhpcyBpcyBub3cgc2V0IGNvcnJlY3RseSB0byB0aGUgYXBwcm9wcmlhdGUgdGlsZSBpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE4NwoKMjAxNi0wNS0xMiAwODo0MTo1MSAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBtYW5hZ2UgZnJhZ21lbnRlZCBoZWFkZXJzIGNvcnJlY3RseQoJICBKMksgbWFpbiBoZWFkZXIgZnJhbWVudGF0aW9uIGFjcm9zcyBtdWx0aXBsZSBSVFAgcGFja2V0cyBpcyBub3cgaGFuZGxlZCBjb3JyZWN0bHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE4NwoKMjAxNi0wNS0xMSAxNTowNDoyNiAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtjb21tb24uaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cGoyazogbW92ZSBjb21tb24gY29kZSB0byBzaGFyZWQgaGVhZGVyLCBjb2RlIGNsZWFuIHVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxODcKCjIwMTYtMDUtMTEgMTU6MDE6MzIgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrOiB1cGRhdGUgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTg3CgoyMDE2LTA1LTEyIDE0OjQzOjQzICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBhdXBhcnNlOiBGaXggc3RpY2t5IGV2ZW50IG1pc29yZGVyaW5nIHdhcm5pbmcKCSAgTWFrZSBzdXJlIHRoYXQgc3JjIHBhZCBoYXMgY2FwcyBiZWZvcmUgc2VuZGluZyBzZWdtZW50IGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzU5CgoyMDE2LTA1LTExIDA5OjI4OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEb24ndCBub3RpZnkgYWJvdXQgc3RhdHMgcHJvcGVydHkgY2hhbmdlcyB3aGlsZSB0YWtpbmcgdGhlIHNlc3Npb24gbG9jawoJICBUaGUgc2lnbmFsIGhhbmRsZXJzIG1pZ2h0IHdhbnQgdG8gYWN0dWFsbHkgZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgc3RhdHMKCSAgcHJvcGVydHksIHdoaWNoIHdvdWxkIHRha2UgdGhlIHNlc3Npb24gbG9jayBhZ2FpbiBhbmQgZGVhZGxvY2suCgkgIFRoaXMgd2FzIGludHJvZHVjZWQgYnkgMmU5NjBlNzA3NTBhMGNiN2UxMTE3ZDBjMDlkMDg1OTc4NjZhMjllZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjAyNQoKMjAxNi0wNS0wMyAxMzo1OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgZWR0cyBzZWdtZW50IGhhbmRsaW5nIGFmdGVyIHNlZWtzIGluIHB1c2ggbW9kZQoJICBQcm9wZXJseSBoYW5kbGUgZWR0cyBzZWdtZW50cyBmb3IgcHVzaC1iYXNlZCBvcGVyYXRpb24gc2Vla2luZy4KCSAgV2Ugb25seSBzdXBwb3J0IGVkdHMgdGhhdCBhIHNpbmdsZSBzZWdtZW50IHRoYXQgaGFzIG1lZGlhIGF0IHRoZSBlbmQsCgkgIGJlaW5nIHByZWNlZWRlZCBieSBhbnkgbnVtYmVyIG9mIGdhcCBzZWdtZW50cy4KCSAgVGhpcyBhbHNvIGFsbG93cyB0aGUgcXQgc2VnbWVudCByYXRlIHRvIGJlIHJlc3BlY3RlZCBhZnRlciBzZWVrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NjY5CgoyMDE2LTA1LTAzIDEwOjQxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvcGVybHkgYWN0aXZhdGUgc2VnbWVudCB3aXRoIHJhdGUgIT0gMS4wCgkgIEFsc28gdXNlIHRoZSBxdCByYXRlIHRvIGlkZW50aWZ5IHRoZSBwb3NpdGlvbiB3aXRoaW4gYSBxdCBzZWdtZW50CgkgIHRvIHByb3Blcmx5IHRyYW5zbGF0ZSBwbGF5YmFjayB0aW1lIHRvIHF0IG1lZGlhIHRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTY2OQoKMjAxNi0wNS0wMyAxMTo0NTowMSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBzdGFsbCB3aGVuIHJlY2VpdmluZyBhbHJlYWR5IGxvc3QgcGFja2V0CgkgIFdoZW4gYSBwYWNrZXQgYXJyaXZlcyB0aGF0IGhhcyBhbHJlYWR5IGJlZW4gY29uc2lkZXJlZCBsb3N0IGFzIHBhcnQgb2YgYQoJICBsYXJnZSBnYXAgdGhlICJsb3N0IHRpbWVyIiBmb3IgdGhpcyB3aWxsIGJlIGNhbmNlbGxlZC4gSWYgdGhlIHJlbWFpbmluZwoJICBwYWNrZXRzIG9mIHRoaXMgbGFyZ2UgZ2FwIG5ldmVyIGFycml2ZXMsIHRoZXJlIHdpbGwgYmUgbWlzc2luZyBlbnRyaWVzCgkgIGluIHRoZSBxdWV1ZSBhbmQgdGhlIGxvb3AgZnVuY3Rpb24gd2lsbCBrZWVwIHdhaXRpbmcgZm9yIHRoZXNlIHBhY2tldHMKCSAgdG8gYXJyaXZlIGFuZCBuZXZlciBwdXNoIGFub3RoZXIgcGFja2V0LCBlZmZlY3RpdmVseSBzdGFsbGluZyB0aGUKCSAgcGlwZWxpbmUuCgkgIFRoZSBwcm9wb3NlZCBmaXggY29uY2lkZXJzIHBhcnRzIG9mIGEgbGFyZ2UgZ2FwIGRlZmluaXRlbHkgbG9zdCAoc2luY2UKCSAgdGhleSBhcmUgY2FsY3VsYXRlZCBmcm9tIGxhdGVuY3kpIGFuZCBpZ25vcmVzIHRoZSBsYXRlIGFycml2YWxzLgoJICBJbiBwcmFjdGljZSB0aGUgaXNzdWUgaXMgcmFyZSBzaW5jZSBsYXJnZSBnYXBzIGFyZSBzY2hlZHVsZWQgaW1tZWRpYXRlbHksCgkgIGFuZCBmb3IgdGhlIHN0YWxsIHRvIGhhcHBlbiB0aGUgbGF0ZSBhcnJpdmFsIG5lZWRzIHRvIGJlIHByb2Nlc3NlZAoJICBiZWZvcmUgdGhpcyB0aW1lcyBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MzMKCjIwMTYtMDUtMDUgMTQ6MTg6MjEgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUYWtlIHNlc3Npb24gbG9jayB3aGVuIGNyZWF0aW5nIHN0YXRzCgkgIFRoZSBhY2Nlc3MgdG8gdGhlIHNlc3Npb24gaGFzaCB0YWJsZSBtdXN0IGhhcHBlbiB3aGlsZSB0aGUgc2Vzc2lvbiBsb2NrIGlzCgkgIHRha2VuLCBvdGhlcndpc2UgYW5vdGhlciB0aHJlYWQgbWlnaHQgbW9kaWZ5IHRoZSBoYXNoIHRhYmxlIHdoaWxlIHdlJ3JlCgkgIGNyZWF0aW5nIHRoZSBzdGF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjAyNQoKMjAxNi0wNS0wMyAyMToxNzowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVwZGF0ZSBzZWdtZW50IHdoZW4gbmV3IGR1cmF0aW9uIGlzIGZvdW5kCgkgIE90aGVyd2lzZSB0aGUgb2xkIHNlZ21lbnQgd2lsbCBoYXZlIGEgc2hvcnRlciBzdG9wIHRpbWUgYW5kIHdvdWxkCgkgIGNhdXNlIHRoZSBzdHJlYW0gdG8gZW5kIHRvbyBlYXJseS4KCjIwMTYtMDUtMDQgMTE6Mzc6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkaXNtZW1iZXIgYWN0aXZhdGVfc2VnbWVudCBpbnRvIDIgcGFydHMKCSAgT25lIHRoYXQgdXBkYXRlcyBhbmQgcHVzaCBhIG5ldyBzZWdtZW50LCB0aGUgb3RoZXIgd2lsbCBtb3ZlIHRoZQoJICBzdHJlYW0gdG8gdGhlIG5ldyBzZWdtZW50IHN0YXJ0aW5nIHBvc2l0aW9uCgoyMDE2LTA1LTA0IDA5OjMwOjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2OiBVc2UgY29ycmVjdCBwaXhlbC1hc3BlY3QtcmF0aW8gdmFsdWVzCgkgIFRoZSBwcmV2aW91cyBvbmVzIHJlc3VsdGVkIGluIG9kZCBkaXNwbGF5IGFzcGVjdCByYXRpb3MgYW5kIHdlcmUgZGlmZmVyZW50CgkgIGZyb20gdGhlIG9uZXMgdXNlZCBieSBlLmcuIGZmbXBlZy4gVGhlIG5ldyBvbmVzIG5vdyByZXN1bHQgaW4gZGlzcGxheSBhc3BlY3QKCSAgcmF0aW9zIG9mIDQ6MyBhbmQgMTY6OS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTk0NgoKMjAxNS0xMS0wOSAxNzo1NTowOSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHRlc3RzOiBhZGQgc3BsaXRtdXhzcmMgdGVzdCBmb3IgbmV3ICJmb3JtYXQtbG9jYXRpb24iIHNpZ25hbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjI1CgoyMDE1LTExLTA5IDE3OjUxOjEyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogYWRkIGEgZm9ybWF0LWxvY2F0aW9uIHNpZ25hbCB0aGF0IGFsbG93cyBieXBhc3NpbmcgdGhlIGxvY2F0aW9uIHByb3BlcnR5CgkgIFRoaXMgc2lnbmFsIGFsbG93cyBhIHVzZXIgdG8gZGlyZWN0bHkgcmV0dXJuIGEgc29ydGVkIGxpc3Qgb2YKCSAgZmlsZXMgdG8gYmUgam9pbmVkLCBzbyB0aGF0IHRoZXkgZG9uJ3QgaGF2ZSB0byBmb2xsb3cgdGhlCgkgIGZpbGVuYW1lIHBhdHRlcm4gdGhhdCB0aGUgImxvY2F0aW9uIiBwcm9wZXJ0eSBleHBlY3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjI1CgoyMDE2LTA1LTA0IDExOjE1OjIwIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEZpeCBkZWFkbG9jayBjYXNlIHdoZW4gc291cmNlIHJlYWNoZXMgRU9TCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUwNzIKCjIwMTYtMDUtMDMgMjI6NTk6MjcgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNpbXBsaWZ5IGFuZCBjb3JyZWN0IGhlYWRlciBzY2FubmluZwoJICBUaGUgd2F2IHNwZWMgdGVsbHMgdGhhdCAnZm10JyAoYW5kICdiZXh0JyBpZiBwcmVzZW50KSBtdXN0IGNvbWUgYmVmb3JlICdkYXRhJy4KCSAgVGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQgZm9yICdmbXQnIHRvIGJlIGZpcnN0LiBXZSBhbHJlYWR5IGhhZCBhIGxpc3Qgb2YgY2h1bmtzCgkgIHRvIHNraXAsIGJ1dCBpdCBpcyBlYXNpZXIgdG8ganVzdCBza2lwIGFueSBjaHVuayB3aGlsZSBzZWVraW5nIGZvciAnZm10Jy4KCSAgVGhpcyBmaXhlcyByZWFkaW5nIGZpbGVzIGdlbmVyYXRlZCBieSBQcm9Ub29scy4KCjIwMTYtMDQtMzAgMjI6MTU6MTMgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9kZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9kZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBvc3hhdWRpbzogU3VwcG9ydCBhdWRpbyBkZXZpY2UgcHJvdmlkZXIgb24gb3N4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyNjUKCjIwMTYtMDUtMDEgMTU6MDk6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc2V0IGF1ZGlvIGhlYWRlciByYXRlIGFjY29yZGluZyB0byBjYWxjdWxhdGVkIGJwcyBpbiBzdG9wX2ZpbGUKCSAgLi4uIG5vdyB0aGF0IHNldF9maWVsZHMgaXMgbm8gbG9uZ2VyIGNhbGxlZCB0aGVyZSBieQoJICBlNTM4NjA4YjNmOTA1MzkwMDNkZTIxYzFkYjIzOGYzYzliOTQ2ZTMwCgoyMDE2LTA0LTI5IDE1OjA0OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBTdG9yZSB0aGUgc2VnbWVudCBzZXF1ZW5jZSBudW1iZXIgaW4gdGhlIEVPUyBldmVudHMgYW5kIFNFR01FTlRfRE9ORSBldmVudHMvbWVzc2FnZQoJICBBbHNvIGluc3RlYWQgb2Ygc3RvcmluZyBpdCBwZXIgc3RyZWFtLCBzdG9yZSBpdCBnbG9iYWxseSBpbiB0aGUgZGVtdXhlci4gSXQncwoJICB0aGUgc2FtZSBmb3IgZWFjaCBzdHJlYW0gYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1ODA2CgoyMDE2LTA0LTExIDEwOjU0OjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBBbHdheXMgYmluZCB0byBBTlkgd2hlbiBhZGRyZXNzIGlzIGEgbXVsdGljYXN0IGFkZHJlc3MgYW5kIG5vdCBvbmx5IG9uIFdpbmRvd3MKCSAgRm9yIElQdjYgYWRkcmVzc2VzLCBiaW5kaW5nIHRvIGEgbXVsdGljYXN0IGdyb3VwIGRvZXMgbm90IHdvcmsgb24gTGludXgKCSAgZWl0aGVyLiBBbHdheXMgYmluZCB0byBBTlkgYW5kIHRoZW4gbGF0ZXIgam9pbiB0aGUgbXVsdGljYXN0IGdyb3VwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0Njc5CgoyMDE2LTA0LTI2IDE3OjAxOjQ5ICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZXV0aWw6IHNob3VsZG4ndCBpbXBsZW1lbnQgdHJhbnNmb3JtIGlmIGRvbid0IHN1cHBvcnQgaXQKCSAgc2hvdWxkbid0IGltcGxlbWVudCB0cmFuc2Zvcm0gaWYgZG9uJ3Qgc3VwcG9ydCBpdC4gT3IgZ3N0X2J1ZmZlcl9jb3B5X2ludG8oKQoJICB3aWxsIHByaW50IEVSUk9SIGxvZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTU4MwoKMjAxNi0wNC0yOCAxNjoyNDo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWxsb3cgTVBFRy0xIExheWVyIDEgYW5kIDIgaW4gYWRkaXRpb24gdG8gMyBpbiBNUDQKCSAgVmlhIHRoZSBNUEVHLTQgUGFydCAzIHNwZWMgd2UgY2FuIHN1cHBvcnQgdGhlIG90aGVyIGxheWVycyB0b28uCgkgIEFsc28gY29ycmVjdCB0aGUgc2FtcGxlcyBwZXIgZnJhbWUgY2FsY3VsYXRpb24gZm9yIE1QMyBpZiBpdCdzIE1QRUctMiBvcgoJICBNUEVHLTIuNS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTcyNQoKMjAxNi0wNC0yNyAyMDo0NjozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBVcGRhdGUgY2FwcyBmb3IgVENQIHdoZW5ldmVyIHRoZXkgY2hhbmdlCgkgIFdlIG9ubHkgY2hhbmdlZCB0aGVtIGZvciBVRFAgc28gZmFyLCB3aGljaCBjYXVzZWQgdGhlIHdyb25nIHNlcW51bS1iYXNlIGFuZAoJICBvdGhlciBpbmZvcm1hdGlvbiB0byBiZSBwYXNzZWQgdG8gcnRwaml0dGVyYnVmZmVyL2V0YyB3aGVuIHNlZWtpbmcuIFRoaXMKCSAgdXN1YWxseSB3YXNuJ3QgdGhhdCBtdWNoIG9mIGEgcHJvYmxlbSBhcyB0aGUgY29kZSB0aGVyZSBpcyByb2J1c3QgZW5vdWdoLCBidXQKCSAgZXZlcnkgbm93IGFuZCB0aGVuIGl0IGNhdXNlcyB1cyB0byBkcm9wIHVwIHRvIDMyNzU2IHBhY2tldHMgYmVmb3JlIHdlCgkgIGNvbnRpbnVlIGRvaW5nIGFueXRoaW5nIG1lYW5pbmdmdWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU2ODkKCjIwMTYtMDQtMjcgMjA6MzM6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBFbnN1cmUgdG8gbm90IHRha2UgY2FwcyB3aXRoIHRoZSB3cm9uZyBwdCBmb3IgZ2V0dGluZyB0aGUgY2xvY2stcmF0ZQoJICBFc3BlY2lhbGx5IHRoZSBjYXBzIG9uIHRoZSBwYWQgbWlnaHQgYmUgb3V0IG9mIGRhdGUsIGFuZCB0aGUgbmV3IGNhcHMgd291bGQgYmUKCSAgcHJvdmlkZWQgZm9yIHRoZSBjdXJyZW50IHB0IHZpYSB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1Njg5CgoyMDE2LTA0LTI3IDE4OjI3OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBwcm9wYWdhdGUgc3B1cmlvdXMgc3RhdGUgY2hhbmdlIHJldHVybnMgZnJvbSBpbnRlcm5hbCBlbGVtZW50cyBmdXJ0aGVyCgkgIFdlIGhhbmRsZSB0aGVtIGluc2lkZSBydHNwc3JjIGFuZCBvdmVycmlkZSB0aGVtIGluIGFsbCBvdGhlciBjYXNlcyBhbnl3YXksIHNvCgkgIGRvIHRoZSBzYW1lIGZvciAiaW50ZXJuYWwiIHN0YXRlIGNoYW5nZXMgbGlrZSBQQVVTRUQtPlBBVVNFRCBhbmQKCSAgUExBWUlORy0+UExBWUlORy4KCSAgVGhpcyBrZWVwcyB1bmV4cGVjdGVkIE5PX1BSRVJPTEwgdG8gY29uZnVzZSBzdGF0ZSBjaGFuZ2VzIGluIEdzdEJpbi4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDUzMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1Njg5CgoyMDE2LTA0LTI3IDE0OjA5OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBEb24ndCBvdmVycmlkZSBtYXhpbXVtIGF1ZGlvIGNodW5rIHNpemUgd2l0aCB0aGUgc2NhbGUgYWdhaW4ganVzdCBiZWZvcmUgd3JpdGluZyBpdAoJICBzZXRfZmllbGRzKCkgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGluIHRoZSBiZWdpbm5pbmcsIG90aGVyd2lzZSB3ZSB3aWxsIG5ldmVyCgkgIHJlbWVtYmVyIHRoZSBtYXhpbXVtIGF1ZGlvIGNodW5rIHNpemUgYW5kIHdyaXRlIGEgd3JvbmcgYmxvY2sgYWxpZ24uLi4gd2hpY2gKCSAgdGhlbiBjYXVzZXMgd3JvbmcgdGltZXN0YW1wcyBhbmQgb3RoZXIgcHJvYmxlbXMuCgoyMDE2LTA0LTI3IDEzOjUzOjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBY3R1YWxseSBzdG9yZSB0aGUgbGFyZ2VzdCBhdWRpbyBjaHVuayBzaXplIGZvciB0aGUgVkJSIGNhc2Ugb2YgTVAyL01QMwoJICAzZWEzMzhjZTI3MWUxZjZhOTZkMmVkNDlkNDQ3MmIwOTFmNmY4YjdlIGNoYW5nZWQgYXZpbXV4IHRvIGRvIHRoYXQsIGJ1dCBpdAoJICBuZXZlciBhY3R1YWxseSBrZXB0IHRyYWNrIG9mIHRoZSBtYXggYXVkaW8gY2h1bmsgZm9yIE1QMyBhbmQgTVAyLiBUaGVzZSBhcmUKCSAga25vd2luZyB0aGUgaGRyLnNjYWxlIG9ubHkgYWZ0ZXIgcGFyc2luZyB0aGUgZnJhbWVzIGluc3RlYWQgb2YgYXQgc2V0Y2FwcwoJICB0aW1lLgoKMjAxNi0wNC0yNSAxNTowMzoxNCArMDIwMCAgTWF0cyBMaW5kZXN0YW0gPG1hdHNsbUBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogQWxsb3cgc2V0dGluZyAic29ja2V0LXY2IiB3aXRob3V0IHNldHRpbmcgInNvY2tldCIgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ4OTcKCjIwMTYtMDQtMjIgMTU6MDI6MTYgKzAxMDAgIE1hcmlvIFNhbmNoZXogUHJhZGEgPG1hcmlvQGVuZGxlc3NtLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmM6CgkgIHZweGVuYzogUHJvcGVybHkgaGFuZGxlIGZyYW1lcyB3aXRoIHRvbyBsb3cgZHVyYXRpb24KCSAgV2hlbiBhIGZyYW1lJ3MgZHVyYXRpb24gaXMgdG9vIGxvdywgY2FsbGluZyBnc3RfdXRpbF91aW50NjRfc2NhbGUoKQoJICB0byBzY2FsZSBpdHMgdmFsdWUgY2FuIHJlc3VsdCBpbnRvIGl0IGJlaW5nIHRydW5jYXRlZCB0byB6ZXJvLCB3aGljaAoJICB3aWxsIGNhdXNlIHRoZSB2cHggZW5jb2RlciB0byByZXR1cm4gYW4gVlBYX0NPREVDX0lOVkFMSURfUEFSQU0gZXJyb3IKCSAgd2hlbiB0cnlpbmcgdG8gZW5jb2RlLgoJICBUbyBwcmV2ZW50IHRoaXMgZnJvbSBoYXBwZW5pbmcsIHdlIHNpbXBseSBpZ25vcmUgdGhlIGR1cmF0aW9uIHdoZW4KCSAgZW5jb2RpbmcgaWYgaXQgYmVjb21lcyB6ZXJvIGFmdGVyIHNjYWxpbmcsIGxvZ2dpbmcgYSB3YXJuaW5nIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUzOTEKCjIwMTYtMDQtMjIgMTU6NDg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBkZXNjcmlwdGlvbiBvZiBsaW5lYXIgaW50ZXJsYWNpbmcgbWV0aG9kCgoyMDE2LTA0LTIxIDE0OjA4OjE5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBkbyBub3QgZ2V0IGFueSBDb2xsZWN0RGF0YSBpbiBoYW5kbGVfYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUzMjAKCjIwMTYtMDQtMTEgMjI6NDE6MjAgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIG5vdCB1c2UgdW5yZWxpYWJsZSBmcmFtZXJhdGUKCSAgdGltZXNjYWxlLzEgaXMgdW5yZWxpYWJsZSB2YWx1ZSBmb3IgZnJhbWVyYXRlLiBEdWUgdG8gZG93bnN0cmVhbQoJICBlbGVtZW50IHVzdWFsbHkgdXNlIGZyYW1lcmF0ZSBnZW5lcmF0ZWQgYnkgcXRkZW11eCwgbGV0IGl0IGJlIG9taXR0ZWQKCSAgdW50aWwgdGhlIGZyYW1lcmF0ZSBjYW4gYmUgcmVsaWFibHkgY2FsY3VsYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDczMwoKMjAxNi0wNC0yMSAxMjo1MzozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBleHBvc2Ugc3RyZWFtcyB3aXRoIGZpcnN0IG1vb2YgZm9yIGZyYWdtZW50ZWQgZm9ybWF0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ4YmI2Njg3ZWEyNTE1NzBjMzMxMDM4Mjc5YTQzZDQ0ODE2N2Q2YWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ3MzMKCjIwMTYtMDItMDkgMTc6MTc6MDkgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IHNlZWtpbmcgb2YgQ0VOQyBlbmNyeXB0ZWQgc3RyZWFtcwoJICBXaGVuIHBsYXlpbmcgYSBzdHJlYW0gdGhhdCBoYXMgYmVlbiBwcm90ZWN0ZWQgYnkgREFTSCBDRU5DLCBwbGF5YmFjawoJICB3aWxsIGZhaWwgaWYgYSBzZWVrIGlzIHBlcmZvcm1lZC4gUXRkZW11eCBwcm9kdWNlcyB0aGUgZXJyb3IgInN0cmVhbQoJICBpcyBwcm90ZWN0ZWQgdXNpbmcgY2VuYywgYnV0IG5vIGNlbmMgcHJvdGVjdGlvbiBzeXN0ZW0gaW5mb3JtYXRpb24KCSAgaGFzIGJlZW4gZm91bmQiIGFuZCBwbGF5YmFjayBzdG9wcy4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBnc3RfcXRkZW11eF9yZXNldCgpIGdldHMgY2FsbGVkIGFzIHBhcnQgb2YgdGhlCgkgIEZMVVNIIGR1cmluZyBhIHNlZWsuIFRoaXMgZnVuY3Rpb24gZnJlZXMgdGhlIHByb3RlY3Rpb25fc3lzdGVtX2lkcwoJICBhcnJheS4gV2hlbiBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKSBpcyBjYWxsZWQgYWZ0ZXIgdGhlCgkgIHNlZWsgaGFzIGNvbXBsZXRlZCwgdGhlIHByb3RlY3Rpb25fc3lzdGVtX2lkcyBhcnJheSBpcyBlbXB0eSBhbmQKCSAgcXRkZW11eCBpcyB1bmFibGUgdG8gY3JlYXRlIHRoZSBjb3JyZWN0IG91dHB1dCBjYXBzIGZvciB0aGUgcHJvdGVjdGVkCgkgIHN0cmVhbS4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyBpdCB0byBvbmx5IGZyZWUgdGhlIHByb3RlY3Rpb25fc3lzdGVtX2lkcyBvbgoJICBoYXJkIHJlc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTc4NwoKMjAxNi0wNC0xOCAxNDozMzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogYWRkICJyZXRyaWV2ZS1zZW5kZXItYWRkcmVzcyIgcHJvcGVydHkKCSAgVGhpcyBhbGxvd3MgZGlzYWJsaW5nIG9mIHNlbmRlciBhZGRyZXNzIHJldHJpZXZhbCwgd2hpY2ggbWlnaHQKCSAgYmUgdXNlZnVsIGluIGNlcnRhaW4gc2NlbmFyaW9zLCBsaWtlIHdoZW4gdGhlIHNvY2tldCBpcyBjb25uZWN0ZWQsCgkgIG9yIHRoZSBzZW5kZXIgYWRkcmVzcyBpcyBub3Qgb2YgaW50ZXJlc3QgKGUuZy4gd2hlbiByZWNlaXZpbmcgYW4KCSAgTVBFRy1UUyBzdHJlYW0pLiBEaXNhYmxpbmcgc2VuZGVyIGFkZHJlc3MgcmV0cmlldmFsIGluIHRob3NlCgkgIGNhc2VzIGNhbiBoYXZlIG1pbm9yIHBlcmZvcm1hbmNlIGFkdmFudGFnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjMzMjMKCjIwMTUtMTEtMjYgMTM6MTU6MDYgKzAxMDAgIERpbWl0cmlvcyBLYXRzYXJvcyA8cGF0Y2hlcndvcmtAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBDaGFuZ2Ugd2FybmluZyBoYW5kbGluZyB0byBicmVhayBpbmZpbml0ZSBtZXNzYWdlIGxvb3AKCSAgdjRsMnNyYyBjYW4gY2F1c2UgYW4gImluZmluaXRlIG1lc3NhZ2UgbG9vcCIgd2hlbiBhIGJhc2UgY29udHJvbCBleHBvc2VkIGFzIGEKCSAgcHJvcGVydHkgaXMgbm90IHByb3ZpZGVkIGJ5IHRoZSBkZXZpY2UuIEluIHRoZXNlIGNhc2VzLCBpZiBpbiB0aGUgd2FybmluZyBtZXNzYWdlCgkgIGhhbmRsaW5nIGZvciB0aGUgYnVzLCB0aGUgR1NUX0RFQlVHX0JJTl9UT19ET1RfRklMRSogY2F0ZWdvcnkgb2YgZnVuY3Rpb25zIGFyZSB1c2VkLAoJICB0aGUgc3JjIGxvb2t1cCBjYXVzZXMgYSBuZXcgd2FybmluZyB0byBiZSBwb3N0ZWQgb24gdGhlIGJ1cywgY2F1c2luZyBhIGxvb3AuCgkgIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgd2FybmluZyBmb3IgdGhlc2UgY29udHJvbHMgc28gdGhleSBhcmUgbm90IHBvc3RlZCBvbiB0aGUgYnVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NzAzCgoyMDE2LTA0LTE1IDEwOjQ0OjAyIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGl0bXV4c2luazogQXZvaWQgY3JlYXRpbmcgc21hbGwgZmlsZSBhdCBFT1MKCSAgV2hlbiBFT1MgaXMgcmVhY2hlZCwgdGhlIGN1cnJlbnQgZmlsZSBnZXQgY2xvc2VkIGFuZCB0aGUgbGFzdAoJICBHT1AgaW4gdGhlIG1xIHdhcyB3cml0dGVuIGluIGEgbmV3IGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUwNzIKCjIwMTYtMDQtMTUgMTk6NTU6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmg6CgkgIG1wZzEyMzogZml4IGJ1aWxkIHdpdGggbXN2YwoJICBGaXggc3ludGF4IGVycm9ycyB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IGNlcmJlcm8tcHJvdmlkZWQgbGlibXBnMTIzCgkgIGhlYWRlcnMuIFdlIGRvIHRoZSBzYW1lIGFzIHRoZSBsaWJtcGcxMjMgaW50ZXJuYWwgdmlzdWFsIHN0dWRpbwoJICBidWlsZCBoZXJlLgoJICBtcGcxMjMuaCgxMzc4KTogZXJyb3IgQzIxNDM6IHN5bnRheCBlcnJvcjogbWlzc2luZyAnKScgYmVmb3JlICcoJwoJICBtcGcxMjMuaCgxMzc4KTogZXJyb3IgQzIwODE6ICdzc2l6ZV90JzogbmFtZSBpbiBmb3JtYWwgcGFyYW1ldGVyIGxpc3QgaWxsZWdhbAoJICBtcGcxMjMuaCgxMzc4KTogZXJyb3IgQzIxNDM6IHN5bnRheCBlcnJvcjogbWlzc2luZyAnKScgYmVmb3JlICcqJwoJICBtcGcxMjMuaCgxMzc4KTogZXJyb3IgQzIwOTE6IGZ1bmN0aW9uIHJldHVybnMgZnVuY3Rpb24KCSAgbXBnMTIzLmgoMTM3OCk6IGVycm9yIEMyMTQzOiBzeW50YXggZXJyb3I6IG1pc3NpbmcgJ3snIGJlZm9yZSAnKicKCSAgbXBnMTIzLmgoMTM3OCk6IGVycm9yIEMyMDU5OiBzeW50YXggZXJyb3I6ICcpJwoJICBtcGcxMjMuaCgxMzc5KTogZXJyb3IgQzIxNDM6IHN5bnRheCBlcnJvcjogbWlzc2luZyAnKScgYmVmb3JlICcqJwoJICBtcGcxMjMuaCgxMzc5KTogZXJyb3IgQzIzNjU6ICdvZmZfdCc6IHJlZGVmaW5pdGlvbjsgcHJldmlvdXMgZGVmaW5pdGlvbiB3YXMgJ3R5cGVkZWYnCgkgIC4uLgoKMjAxNi0wNC0xNSAxOTo1OToxNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogUzE2IHVzZXMgUzMyIHRlbXBvcmFyeSBidWZmZXJzLCBmbG9hdC9kb3VibGUgdGhlaXIgb3duIHR5cGUKCSAgTWFrZSBzdXJlIHRvIGFsbG9jYXRlIG5vdCBvbmx5IGEgUzE2IGJ1ZmZlciBmb3IgUzE2IGJ1dCBhIHR3aWNlIGFzIGJpZyBvbmUgdG8KCSAgaG9sZCBTMzIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUxMTYKCjIwMTYtMDQtMTYgMDI6MTc6MjYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBSZXZlcnQgInB1bHNlc2luazogdW5jb3JrIGlmIG5lZWRlZCB1cG9uIGNvbW1pdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwZGQ0NmFjY2Y2ZDI4MmZmMDcwNjU4NTJiZDkxYzg1Yzc4YWYzMzk0LgoJICBXaXRoIHNvbWUgYXVkaW9zaW5rcywgc3RhcnRpbmcgdGhlIHJpbmdidWZmZXIgb24gdGhlIGZpcnN0IGNvbW1pdAoJICBjYXVzZXMgYXVkaW8gZ2xpdGNoZXMgYXQgc3RhcnR1cCBieSBzdGFydGluZyB0byBvdXRwdXQgc2VnbWVudHMKCSAgZnJvbSB0aGUgcmluZ2J1ZmZlciBiZWZvcmUgaXQgaGFzIGJlZW4gZmlsbGVkIC8gZnVsbHkgcHJlcm9sbGVkLiBUaGlzCgkgIGRvZXNuJ3QgdXN1YWxseSBoYXBwZW4gd2l0aCBwdWxzZXNpbmsgYmVjYXVzZSB3ZSBtYXAgdGhlIHB1bHNlYXVkaW8KCSAgcmluZ2J1ZmZlciBkaXJlY3RseSwgYnV0IHdlIHNob3VsZCBrZWVwIHRoaW5ncyBjb25zaXN0ZW50IHdpdGgKCSAgb3RoZXIgc2lua3Mgd2l0aCByZWdhcmRzIHRvIHN0YXJ0dXAgbGF0ZW5jeSwgcGx1cyBpdCBnaXZlcyBtb3JlCgkgIGhlYWR3YXkgdG8gYXZvaWQgZ2xpdGNoaW5nLCBzaG91bGQgdGhlIGluaXRpYWwgMm5kIHNlZ21lbnQgdGFrZQoJICBtb3JlIHRoYW4gMTBtcyB0byBnZW5lcmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA3NgoKMjAxNi0wNC0xNSAwMDo0Njo1NiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHNydHAgcm9sbG92ZXIgY291bnRlcnMgZnJvbSBtaWtleSBjcnlwdG8gc2Vzc2lvbnMKCSAgVGhlIHNlcnZlciBjYW4gc2VuZCBtdWx0aXBsZSBjcnlwdG8gc2Vzc2lvbnMsIG9uZSBmb3IgZWFjaCBTU1JDIHdpdGggaXRzCgkgIG93biByb2xsb3ZlciBjb3VudGVyLiBXZSBwYXJzZSB0aGlzIGluZm9ybWF0aW9uIGFuZCBwYXNzIGl0IHRvIHRoZSBTUlRQCgkgIGRlY29kZXIgdmlhIHRoZSAicmVxdWVzdC1rZXkiIHNpZ25hbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU0MAoKMjAxNi0wNC0xNSAxNDozNTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggZGVidWcgb3V0cHV0IHdoZW4gcmVzeW5jaW5nCgkgIERvbid0IG91dHB1dCB0aGUgcG9pbnRlciB2YWx1ZSBvZiB0aGUgdGltZSgpIGZ1bmN0aW9uIGFzIGEgdGltZXN0YW1wCgkgIGJ5IHVzaW5nIHRoZSBjb3JyZWN0IHZhcmlhYmxlLgoJICBGaXhlcyBidWlsZCBvbiBSYXNwYmVycnkgUGkgMy4KCjIwMTYtMDQtMTUgMTE6MzY6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBJZiBubyBwcm94eSBpcyBzZXQgYnkgcHJvcGVydGllcywgdXNlIHRoZSBkZWZhdWx0IGxpYnNvdXAgcHJveHkgcmVzb2x2ZXIKCSAgVGhhdCBpcywgdXNlIHdoYXRldmVyIHN5c3RlbSBzZXR0aW5ncyB0aGVyZSBtaWdodCBleGlzdC4gVGhpcyBpcyB0aGUgc2FtZQoJICBiZWhhdmlvdXIgd2UgdXNlIGluIHRoZSBIVFRQIHNvdXJjZS4KCjIwMTYtMDQtMTQgMTA6MDE6MjggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZmMmQyMDkgdG8gYWMyZjY0NwoKMjAxNi0wNC0xMyAxODo0NTowNyArMDEwMCAgRGFtaWFuIFppb2JybyA8ZGFtaWFuQHhtZW1lbnRvaXQuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBBZGQgbWF4X2ZpbGVzX251bWJlciBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NjEyCgoyMDE2LTA0LTEzIDEwOjU3OjAzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBkcm9wIHJlZmVyZW5jZSB0byB2aWRlb21peGVyIDIKCSAgRml4IGEgc21hbGwgZ3JhbW1hciBtaXN0YWtlIG9uICJvdmVybGF5ZWQiIHdoaWxlIGF0IGl0LgoKMjAxNi0wNC0xMyAwOTo1NzoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2U6IEluaXRpYWxpemUgYWxsIGZpZWxkcyBpbiB0aGUgbWV0YSBleHBsaWNpdGx5CgkgIFRoZSBtZXRhIGlzIG5vdCBhbGxvY2F0ZWQgd2l0aCBhbGwgZmllbGRzIGluaXRpYWxpemVkIHRvIHplcm9lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDkwMgoKMjAxNi0wNC0xMiAwOTo0MTowMCArMDAwMCAgUGFvbG8gUGV0dGluYXRvIDxwcGV0dGluYUBjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGb3J3YXJkIHN0aWNreSBldmVudHMgb24gYnVmZmVyIGxpc3RzIHRvbywgbm90IG9ubHkgb24gYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0OTMzCgoyMDE2LTA0LTEyIDE1OjAxOjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEcmFpbiB0aGUgZmllbGQgaGlzdG9yeSBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgdXNlIGZpZWxkcyBmcm9tIHRoZSBvbGQgY2FwcyB3aXRoIGV2ZXJ5dGhpbmcgc2V0IHVwIGZvciB0aGUKCSAgbmV3IGNhcHMsIGNhdXNpbmcgY3Jhc2hlcyBhbmQgd29yc2UuCgkgIEFsc28gZG9uJ3QgZG8gYW55dGhpbmcgaWYgdGhlIHNhbWUgY2FwcyBhcmUgc2V0IHR3aWNlLgoKMjAxNi0wNC0xMiAxNTowMDozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW5zdGVhZCBvZiBjb25mdXNpbmcgY3Jhc2hlcyBsYXRlciwganVzdCBlcnJvciBvdXQgaW1tZWRpYXRlbHkgaWYgbWFwcGluZyBhIHZpZGVvIGZyYW1lIGZhaWxzCgkgIFRoaXMgcHJvYmFibHkgc3RpbGwgY3Jhc2hlcyBidXQgYXQgbGVhc3Qgd2UgZ2V0IHNvbWUgaGludCBhYm91dCB3aGF0IGdvZXMKCSAgd3JvbmcgaW5zdGVhZCBvZiByYW5kb20gYmVoYXZpb3VyIGxhdGVyLgoKMjAxNi0wNC0xMiAxMTozODo1MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBzdHJlYW0gaXMgYXZhaWxhYmxlIGluIFBJRkYgcGFyc2VyCgkgIHF0ZGVtdXgtPnN0cmVhbXMgaXMgYW4gYXJyYXksIGl0IHdpbGwgbmV2ZXIgZXZhbHVhdGUgdG8gdHJ1ZSB3aGVuIGNvbXBhcmluZwoJICB0byBOVUxMLiBJbnN0ZWFkIHdlIHdhbnQgdG8gY2hlY2sgdGhlIG51bWJlciBvZiBzdHJlYW1zIHRvIG1ha2Ugc3VyZSB0aGUKCSAgc3RyZWFtIGlzIGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxNAoJICBDSUQgMTM1ODM4OQoKMjAxNi0wNC0xMiAxMTozNzozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IHJlZHVuZGFudCBjaGVjayBpbiBQSUZGIHBhcnNlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0MWUxMDUyNGYzYmFiZGQ5MmFhYzhjOGM5ZDViOWNkZjE4NGMyZDRlLgoKMjAxNi0wNC0xMiAxMTowNTo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWR1bmRhbnQgY2hlY2sgaW4gUElGRiBwYXJzZXIKCSAgcXRkZW11eC0+c3RyZWFtcyBpcyBhbiBhcnJheSBvZiBzaXplIEdTVF9RVERFTVVYX01BWF9TVFJFQU1TLCBpdCB3aWxsIG5ldmVyCgkgIGV2YWx1YXRlIHRvIHRydWUgd2hlbiBjb21wYXJpbmcgdG8gTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxNAoJICBDSUQgMTM1ODM4OQoKMjAxNi0wNC0xMiAxMTo1NjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGF2b2lkIGxlYWtpbmcgR1ZhbHVlcwoJICB1bnNldCB0aGUgR1ZhbHVlIGlmIHdlIGRvbid0IHVzZSBpdCBhbnkgbW9yZSB0byBhdm9pZCBsZWFrcy4KCjIwMTYtMDQtMTIgMTA6MTU6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYoKSBmaWxsIGxldmVsIGNhbGN1bGF0aW9uCgkgIFRoZSBoZWFkIG9mIHRoZSBxdWV1ZSBpcyB0aGUgb2xkZXN0IHBhY2tldCAoYXMgaW4gbG93ZXN0IHNlcW51bSksIHRoZSB0YWlsIGlzCgkgIHRoZSBuZXdlc3QgcGFja2V0LiBUbyBjYWxjdWxhdGUgdGhlIGZpbGwgbGV2ZWwsIHdlIHNob3VsZCBjYWxjdWxhdGUgdGFpbC1oZWFkCgkgIHdoaWxlIGNvbnNpZGVyaW5nIHdyYXBhcm91bmRzLiBOb3QgdGhlIG90aGVyIHdheSBhcm91bmQuCgkgIE90aGVyIGNvZGUgaXMgYWxyZWFkeSBkb2luZyB0aGlzIGluIHRoZSBjb3JyZWN0IG9yZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0ODg5CgoyMDE2LTA0LTExIDEwOjQ0OjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIHJ0cG1hbmFnZXI6IEl0J3MgR1NUX0xJQlMsIG5vdCBHU1RfTElCU19MSUJTCgoyMDE2LTA0LTExIDA4OjMzOjE3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcGFyc2luZyBzZWdtZW50IGR1cmF0aW9uIG9mIGVtcHR5IGVkaXQgbGlzdCBib3gKCSAgRm9yIGVtcHR5IGVkaXQgbGlzdCwgc2VnbWVudC1kdXJhdGlvbiBpbiBlZGl0IGxpc3QgYm94IHNob3VsZCBub3QgYmUKCSAgdXNlZCBmb3Igc2VnbWVudCBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDg3MAoKMjAxNi0wNC0wOCAxMzowNTo1NyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIHRpbWVjb2Rlc2NhbGUgY29uZmlndXJhYmxlCgkgIEluIHNvbWUgdXNlIGNhc2VzIHRoZSBkZWZhdWx0IHRpbWVjb2Rlc2NhbGUgd2lsbCBwcm9kdWNlIGJsb2NrcyB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NzY5CgoyMDE2LTA0LTA3IDEzOjAxOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdGVyYnVmZmVyOiBNb3ZlIGFzc2VydGlvbiB0byB0aGUgcmlnaHQgbG9jYXRpb24KCSAgV2Ugc2hvdWxkbid0IGhhdmUgImxhdGUiIGxvc3QgdGltZXJzIGF0IHRoYXQgcG9pbnQKCjIwMTYtMDMtMDIgMTQ6MjU6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBTcGVlZCB1cCBsb3N0IHRpbWVvdXQgaGFuZGxpbmcKCSAgV2hlbiBkb3duc3RyZWFtIGJsb2NrcywgImxvc3QiIHRpbWVycyBhcmUgY3JlYXRlZCB0byBub3RpZnkgdGhlCgkgIG91dGdvaW5nIHRocmVhZCB0aGF0IHBhY2tldHMgYXJlIGxvc3QuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgZm9yIGhpZ2ggcGFja2V0LXJhdGUgc3RyZWFtcywgd2UgbWlnaHQgZW5kIHVwIHdpdGgKCSAgYSBiaWcgbGlzdCBvZiBsb3N0IHRpbWVvdXRzIChoYWQgYSB1c2UtY2FzZSB3aXRoIH4xMDAwLi4uKS4KCSAgVGhlIHByb2JsZW0gaXNuJ3Qgc28gbXVjaCB0aGUgYW1vdW50IG9mIGxvc3QgdGltZW91dHMgdG8gaGFuZGxlLCBidXQKCSAgcmF0aGVyIHRoZSB3YXkgdGhleSB3ZXJlIGhhbmRsZWQuIEFsbCB0aW1lcnMgd291bGQgZmlyc3QgYmUgaXRlcmF0ZWQsCgkgIHRoZW4gdGhlIG9uZSBzZWxlY3RlZCB3b3VsZCBiZSBoYW5kbGVkIC4uLiB0byByZS1pdGVyYXRlIHRoZSBsaXN0IGFnYWluLgoJICBBbGwgb2YgdGhpcyBpcyBiZWluZyBkb25lIHdoaWxlIHRoZSBqYnVmIGxvY2sgaXMgdGFrZW4sIHdoaWNoIGluIHNvbWUgdXNlLWNhc2VzCgkgIHdvdWxkIHJldHVybiBpbiBob2xkaW5nIHRoYXQgbG9jayBmb3IgMTBzLi4uIGJsb2NraW5nIGFueSBidWZmZXJzIGZyb20KCSAgYmVpbmcgYWNjZXB0ZWQgaW4gaW5wdXQuLi4gd2hpY2ggd291bGQgdGhlbiBhcnJpdmUgbGF0ZSAuLi4gd2hpY2ggd291bGQKCSAgY3JlYXRlIHBsZW50eSBvZiBsb3N0IHRpbWVycyAuLi4gd2hpY2ggd291bGQgY2F1c2UgdGhlIHNhbWUgaXNzdWUuCgkgIEluIG9yZGVyIHRvIGF2b2lkIHRoYXQgc2l0dWF0aW9uLCBoYW5kbGUgdGhlIGxvc3QgdGltZXJzIGltbWVkaWF0ZWx5IHdoZW4KCSAgaXRlcmF0aW5nIHRoZSBsaXN0IG9mIHBlbmRpbmcgdGltZXJzLiBUaGlzIG1vZGlmaWVzIHRoZSBjb21wbGV4aXR5IGZyb20KCSAgYSBxdWFkcmF0aWMgdG8gYSBsaW5lYXIgY29tcGxleGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjk4OAoKMjAxNi0wMy0wMiAxNDoyMzowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IERvbid0IGNyZWF0ZSBsb3N0IGV2ZW50cyBpZiB3ZSBkb24ndCBuZWVkIHRoZW0KCSAgV2hlbiAiZG8tbG9zdCIgaXMgc2V0IHRvIEZBTFNFIHdlIGRvbid0IHVzZS9zZW5kIHRoZSBsb3N0IGV2ZW50cy4KCSAgSW4gdGhhdCBjYXNlLCBkb24ndCBjcmVhdGUgdGhlbSB0byBzdGFydCB3aXRoIDopCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI5ODgKCjIwMTYtMDMtMDIgMTM6NTc6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBBZGQgdHJhY2luZyBvZiBsb2NrIHVzYWdlCgkgIEhlbHBzIHdpdGggZGVidWdnaW5nIGxvY2sgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjk4OAoKMjAxNi0wMi0xMCAxOTo1Njo1OSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDI6IERvbid0IGxlYWsgdjRsMiBvYmplY3RzIGFuZCBwcm9wcyBvbiBwcm9iZSBlcnJvcnMKCjIwMTYtMDQtMDQgMTc6NDI6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3IganBlZyBkZXBheWxvYWRlciBwYWNrZXQgbG9zcyBoYW5kbGluZwoJICBNYWtlIHN1cmUgaXQgYWx3YXlzIG91dHB1dHMgc29tZXRoaW5nIHRoYXQgbG9va3MgbGlrZSBhIHZhbGlkCgkgIEpQRUcgZnJhbWUsIGllLiBzdGFydHMgd2l0aCBhbiBTT0kgbWFya2VyIGFuZCBlbmRzIHdpdGggYW4gRU9JCgkgIG1hcmtlci4KCjIwMTYtMDMtMTUgMDM6MjU6MjYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogRG9uJ3Qgc2VuZCBpbnZhbGlkIGZyYW1lcyBkb3duc3RyZWFtIGFmdGVyIHBhY2tldCBsb3NzIG9yIGEgRElTQ09OVAoJICBBZnRlciBjbGVhcmluZyB0aGUgYWRhcHRlciBkdWUgdG8gYSBESVNDT05ULCBhcyBtaWdodCBoYXBwZW4gd2hlbiBzb21lIHBhY2tldChzKQoJICBoYXZlIGJlZW4gbG9zdCwgdGhlIGRlcGF5bG9hZGVyIHdhcyBwdXNoaW5nIGRhdGEgaW50byB0aGUgYWRhcHRlciAod2hpY2ggaGFkIG5vCgkgIGhlYWRlciBkdWUgdG8gdGhlIGNsZWFyKSwgY3JlYXRpbmcgYSBoZWFkZXJsZXNzIGZyYW1lIG91dCBvZiBpdCwgYW5kIHNlbmRpbmcgaXQKCSAgZG93bnN0cmVhbS4gVGhlIGRvd25zdHJlYW0gZGVjb2RlciB3b3VsZCB0aGVuIHVzdWFsbHkgaWdub3JlIGl0OyB1bmxlc3MgdGhlcmUKCSAgd2VyZSBsb3RzIG9mIERJU0NPTlRzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBpbiB3aGljaCBjYXNlIHRoZSBkZWNvZGVyIHdvdWxkIHJlYWNoCgkgIGl0cyBtYXhfZXJyb3JzIGxpbWl0IGFuZCB0aHJvdyBhbiBlbGVtZW50IGVycm9yLiBOb3cgd2UganVzdCBkaXNjYXJkIHRoYXQgZGF0YS4KCSAgSXQgaXMgcHJvYmFieSBub3Qgd29ydGggdHJ5aW5nIHRvIHNhbHZhZ2UgdGhpcyBkYXRhIGJlY2F1c2Ugbm9uLXByb2dyZXNzaXZlCgkgIGpwZWcgZG9lcyBub3QgZGVncmFkZSBncmFjZWZ1bGx5IGFuZCBtYWtlcyB0aGUgdmlkZW8gdW53YXRjaGFibGUgZXZlbiB3aXRoCgkgIGxvdyBwYWNrZXQgbG9zcyBzdWNoIGFzIDMtNSUuCgoyMDE2LTAxLTA1IDE2OjE1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgUkZDNzI3MyBtZWRpYSBjbG9jayBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjU5CgoyMDE1LTA3LTEwIDA5OjQ0OjE1ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBJRkYgYm94IGRldGVjdGlvbiBhbmQgcGFyc2luZyBzdXBwb3J0CgkgIFRoZSBQSUZGIGRhdGEgaXMgc3RvcmVkIGluIGEgY3VzdG9tIFVVSUQgYm94IHdoaWNoIGlzIHBhcnNlZCBhbmQgdGhlCgkgIGNyeXB0b19pbmZvIG9mIHRoZSBlbGVtZW50IGlzIHVwZGF0ZWQgYWNjb3JkaW5nbHkuIFRoaXMgYWxsb3dzCgkgIGRvd25zdHJlYW0gZGVjcnlwdG9ycyB0byBwcm9jZXNzIGFuZCBkZWNyeXB0IHRoZSBwcm90ZWN0ZWQgY29udGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxNAoKMjAxNi0wNC0wMSAxMjoxNTowNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IHJlbW92ZSBkZWFkIGNvZGUKCSAgcGF5bG9hZF9idWZmZXIgaGFzbid0IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBiZWZvcmUgdGhlIGp1bXBzIHRvCgkgIHN3aXRjaF9mYWlsZWQgb3IgcGFja2V0X3Nob3J0LiBTbyB0aGUgdmFsdWUgbXVzdCBiZSBOVUxMLiBObyBuZWVkCgkgIHRvIHVubWFwIGFuZCB1bnJlZi4KCSAgQ0lEICMxMzE2NDc2CgoyMDE2LTAzLTMxIDE0OjU3OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCBsZWFrCgkgIEZyZWUgbWVtb3J5IG9mIGN1cnJlbnQgbWFjcm9ibG9jayBvbmNlIGl0IGlzbid0IG5lZWRlZCBzbyBpdCBpc24ndCBsZWFrZWQKCSAgYnkgdGhlIGNhbGwgb2YgdGhlIGdzdF9ydHBfaDI2M19wYXlfQl9tYmZpbmRlciBmdW5jdGlvbi4KCSAgaWYgKCEobWFjID0gZ3N0X3J0cF9oMjYzX3BheV9CX21iZmluZGVyIChjb250ZXh0LCBnb2IsIG1hYywgbWIpKSkgewoJICBDSUQgMTIxMjE1NgoKMjAxNi0wMy0zMSAwMjoxNTowNCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogSGFuZGxlIGEgaGFuZyBkcmFpbmluZyBvdXQgYXQgRU9TCgkgIE1ha2Ugc3VyZSB0aGF0IGFsbCBkYXRhIGlzIGRyYWluZWQgb3V0IHdoZW4gdGhlIHJlZmVyZW5jZSBwYWQKCSAgZ29lcyBFT1MuIEZpeGVzIGEgcHJvYmxlbSB3aGVyZSBkYXRhIHRoYXQgYXJyaXZlcyBvbiBvdGhlcgoJICBwYWRzIGFmdGVyIHRoZSByZWZlcmVuY2UgcGFkIGZpbmlzaGVzIGNhbiBzdGFsbCBmb3JldmVyIGFuZAoJICBuZXZlciBwYXNzIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzcxMQoKMjAxNi0wMy0xOCAxNTo0NTowMSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBGaXggb2NjYXNpb25hbCBkZWFkbG9jayB3aGVuIGVuZGluZyBmaWxlIHdpdGggc3VidGl0bGUKCSAgRGVhZGxvY2sgb2NjdXJzIHdoZW4gc3BsaXR0aW5nIGZpbGVzIGlmIG9uZSBzdHJlYW0gcmVjZWl2ZWQgbm8gYnVmZmVyIGR1cmluZwoJICB0aGUgZmlyc3QgR09QIG9mIHRoZSBuZXh0IGZpbGUuIFRoYXQgY2FuIGhhcHBlbiBpbiB0aGF0IHNjZW5hcmlvIGZvciBleGFtcGxlOgoJICAxKSBUaGUgZmlyc3QgR09QIG9mIHZpZGVvIGlzIGNvbGxlY3RlZCwgaXQgaGFzIGEgZHVyYXRpb24gb2YgMTBzLgoJICBtYXhfaW5fcnVubmluZ190aW1lIGlzIHNldCB0byAxMHMuCgkgIDIpIE90aGVyIHN0cmVhbXMgY2F0Y2h1cCBhbmQgd2UgcmVjZWl2ZSB0aGUgZmlyc3Qgc3VidGl0bGUgYnVmZmVyIGF0IHRzPTAgYW5kCgkgIGhhcyBhIGR1cmF0aW9uIG9mIDFtaW4uCgkgIDMpIFdlIHJlY2VpdmUgdGhlIDJuZCBzdWJ0aXRsZSBidWZmZXIgd2l0aCBhIHRzPTFtaW4uIGluX3J1bm5pbmdfdGltZSBpcyBzZXQgdG8KCSAgMW1pbi4gVGhhdCBidWZmZXIgaXMgYmxvY2tlZCBpbiBoYW5kbGVfbXFfaW5wdXQoKSBiZWNhdXNlCgkgIG1heF9pbl9ydW5uaW5nX3RpbWUgaXMgc3RpbGwgMTBzLgoJICA0KSBTaW5jZSBhbGwgaW5fcnVubmluZ190aW1lIGFyZSBub3cgPiAxMHMsIG1heF9vdXRfcnVubmluZ190aW1lIGlzIG5vdyBzZXQgdG8KCSAgMTBzLiBUaGF0IGZpcnN0IEdPUCBnZXRzIHJlY29yZGVkIGludG8gdGhlIGZpbGUuIFRoZSBtdXhlciBwb3AgYnVmZmVycyBvdXQKCSAgb2YgdGhlIG1xLCB3aGVuIGl0IHRyaWVzIHRvIHBvcCBhIDJuZCBzdWJ0aXRsZSBidWZmZXIgaXQgYmxvY2tzIGJlY2F1c2UgdGhlCgkgIEdzdERhdGFRdWV1ZSBpcyBlbXB0eS4KCSAgNSkgQSAybmQgR09QIG9mIHZpZGVvIGlzIGNvbGxlY3RlZCBhbmQgaGFzIGEgZHVyYXRpb24gb2YgMTBzIGFzIHdlbGwuCgkgIG1heF9pbl9ydW5uaW5nX3RpbWUgaXMgbm93IDIwcy4gU2luY2Ugc3VidGl0bGUncyBpbl9ydW5uaW5nX3RpbWUgaXMgYWxyZWFkeQoJICAxbWluLCB0aGF0IEdPUCBpcyBhbHJlYWR5IGNvbXBsZXRlLgoJICA2KSBCdXQgbGV0J3Mgc2F5IHdlIG92ZXJyYW4gdGhlIG1heCBmaWxlIHNpemUsIHdlIHRodXMgc2V0IHN0YXRlIHRvCgkgIFNQTElUTVVYX1NUQVRFX0VORElOR19GSUxFIG5vdy4gQXMgc29vbiBhcyBhIGJ1ZmZlciB3aXRoIHRzID4gMTBzIChlbmQgb2YKCSAgcHJldmlvdXMgR09QKSBhcnJpdmVzIGluIGhhbmRsZV9tcV9vdXRwdXQoKSwgRU9TIGV2ZW50IGlzIHNlbnQgZG93bnN0cmVhbQoJICBpbnN0ZWFkLiBCdXQgc2luY2UgdGhlIHN1YnRpdGxlIHF1ZXVlIGlzIGVtcHR5LCB0aGF0J3MgbmV2ZXIgZ29pbmcgdG8KCSAgaGFwcGVuLiBQaXBlbGluZSBpcyBub3cgZGVhZGxvY2tlZC4KCSAgVG8gZml4IHRoaXMgc2l0dWF0aW9uIHdlIGhhdmUgdG86CgkgIC0gU2VuZCBhIGR1bW15IGV2ZW50IHRocm91Z2ggdGhlIHF1ZXVlIHRvIHdha2V1cCBvdXRwdXQgdGhyZWFkLgoJICAtIFVwZGF0ZSBvdXRfcnVubmluZ190aW1lIHRvIGF0IGxlYXN0IG1heF9vdXRfcnVubmluZ190aW1lIHNvIGl0IHNlbmRzIEVPUy4KCSAgLSBSZXNwZWN0IHRpbWUgb3JkZXIsIHNvIHdlIHNldCBvdXRfcnVubmluZ190aW09bWF4X2luX3J1bm5pbmdfdGltZSBiZWNhdXNlCgkgIHRoYXQncyBiaWdnZXIgdGhhbiBwcmV2aW91cyBidWZmZXIgYW5kIHNtYWxsZXIgdGhhbiBuZXh0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzExCgoyMDE1LTExLTE3IDE4OjE3OjM1ICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBuZXcgc2lnbmFsICdvbi1hcHAtcnRjcCcKCSAgU2ltaWxhciB0byB0aGUgJ29uLWZlZWRiYWNrLXJ0Y3AnIHNpZ25hbCwgYnV0IGVtaXR0ZWQgZm9yIFJUQ1AgQVBQCgkgIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTcKCjIwMTYtMDMtMjQgMTU6NTc6MTEgKzA5MDAgIE1pbmphZSBLaW0gPG5hdGUua2ltQGxnZS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBTZXQgdG8gaW5pdGlhbCB2YWx1ZSBmb3IgJ250cG5zJyBpbiBnZXRfY3VycmVudF90aW1lcygpCgkgIEluaXRpYWxpemUgIm50cG5zIiB2YXJpYWJsZSB0byAtMSBhcyB0aGUgT0UgY29tcGlsZXIgZm9yIHNvbWUgcmVhc29uIGRvZXNuJ3QKCSAgcmVhbGl6ZSB0aGF0IHRoZSB2YXJpYWJsZSBpcyBzZXQgaW4gYWxsIGNvZGUgcGF0aHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQxMTkKCjIwMTYtMDMtMjcgMTQ6Mjk6NTggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSAgZ3RrOiBGaXggbG9nZ2luZyBpbiBiYXNlIHdpZGdldCBhbmQgZml4IGRlc2Mgb2YgR0wgc2luawoJICBTZXQgYSBkZWZhdWx0IGNhdGVnb3J5IGZvciBndGtnc3RiYXNld2lkZ2V0IGxlc3QgdGhlIGxvZ2dpbmcgZ28gdG8gdGhlICdkZWZhdWx0JwoJICBjYXRlZ29yeSB3aGVyZSBpdCBjYW4ndCBiZSBmb3VuZCBlYXNpbHkKCjIwMTYtMDEtMzEgMTE6MDg6MzggKzExMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWxsb3cgZGlmZmVyZW50IHF1YW50aXphdGlvbiB0YWJsZXMgZm9yIGNvbXBvbmVudHMgMiBhbmQgMwoJICBSRkMgMjQzNSBtZW50aW9ucyBpbiBzZWN0aW9uIDQuMSB0aGF0IFUvViB1c2UgdGFibGUgbnVtYmVyIDEsIGJ1dCB0aGlzIHNlZW1zCgkgIGp1c3QgbGlrZSBhbiBleGFtcGxlLiBTb21lIGVuY29kZXJzIGFyZSBub3QgZm9sbG93aW5nIHRoYXQgYW5kIHRoZXJlIHNlZW1zIHRvCgkgIGJlIG5vIHJlYXNvbiB0byByZWplY3QgdGhlaXIgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTM0NQoKMjAxNi0wMy0yNSAxNzo0OToxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGsvZ2w6IGRvbid0IGFzc2VydCB3aGVuIGdkayBkb2Vzbid0IHByb3ZpZGUgYSBHTCBjb250ZXh0CgkgIEFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gY2hlY2sgd2hldGhlciBndGtnbHNpbmsgaXMgc3VwcG9ydGVkIGJ5IHNldHRpbmcKCSAgdGhlIGVsZW1lbnQgdG8gUkVBRFkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQxNDgKCjIwMTYtMDMtMjQgMTk6MjM6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweGRlYzogVXNlIHRocmVhZHMgb24gbXVsdGktY29yZSBzeXN0ZW1zCgkgIFRoaXMgaXMgYSByZWRvIG9mIGNvbW1pdCBiODQ4YzFiNmZmZDFlNTA4MjI4ODIwYTAxM2Y5NGZiNDQ1ZTQ3NzdmLiBUaGUKCSAgY29kZSB3YXMgbG9zdCB3aGVuIHRoZSBlbGVtZW50cyB3aGVyZSBwb3J0ZWQgdG8gdXNlIGEgYmFzZWNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MTY5CgoyMDE2LTAyLTI5IDIzOjQwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eHNpbms6IG9ubHkgdHJ5IHRvIGNyZWF0ZSBpbnRlcm5hbCBzaW5rIGlmIGl0IGRvZXNuJ3QgZXhpc3QKCSAgVGhpcyBhbGxvd3Mgc3BsaXRtdXhzaW5rIHRvIGJlIHJldXNlZCBhZnRlciBiZWluZyBwdXQgdG8gTlVMTC4KCSAgVGVzdCBpbmNsdWRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODkzCgoyMDE1LTEwLTAxIDEzOjQxOjIzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBwcm9iZSBhbGwgY29sb3JzcGFjZSBzdXBwb3J0ZWQgYnkgZGV2aWNlCgkgIEEgZGV2aWNlIGNhbiBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgY29sb3JzcGFjZSBmb3IgYSBnaXZlbiBpbWFnZQoJICBkaW1lbnNpb24gYW5kIHBpeGVsIGZvcm1hdC4gU28gd2UgaGF2ZSB0byBwcm9iZSBhbGwgdGhlIHN1cHBvcnRlZAoJICBjb2xvcnNwYWNlIGFuZCBub3Qgb25seSByZWx5IG9uIHRoZSBkZWZhdWx0IG9uZS4gT3RoZXJ3aXNlIHdlIGNvdWxkIGVuZAoJICB1cCB3aXRoIG5lZ290aWF0aW9uIGZhaWx1cmUgaWYgdGhlIGNhcHMgY29sb3JpbWV0cnkgZmllbGQgZG9uJ3QgbWF0Y2gKCSAgdGhlIHY0bDIgZGV2aWNlIGRlZmF1bHQgb25lIGV2ZW4gaWYgdGhlIHY0bDIgY291bGQgc3VwcG9ydCBzdWNoCgkgIGNvbG9yaW1ldHJ5LgoJICBUaGlzIHBhdGNoIGVuYWJsZSBwcm9iaW5nIGlmIGNvbG9yc3BhY2UgZm9yIGJvdGggY2FwdHVyZSBhbmQgb3V0cHV0CgkgIGRldmljZS4gSXQgcmVhbGx5IG1ha2VzIHNlbnNlIGZvciBvdXRwdXQgZGV2aWNlIHNpbmNlIHRoZSBjb2xvcnNwYWNlCgkgIHNoYWxsIGJlIHNldCBieSB0aGUgYXBwbGljYXRpb24gYW5kIGEgbGl0dGxlIGxlc3MgZm9yIGNhcHR1cmUgZGV2aWNlCgkgIHdoaWNoLCBhdCB0aGUgbW9tZW50LCBzaGFsbCBwcm92aWRlIHRoZSBjb2xvcnNwYWNlOyBpZTogdGhlIHY0bDIKCSAgc3BlY2lmaWNhdGlvbiBzZWVtcyB0byBub3QgdGFrZSBpbnRvIGFjY291bnQgdGhlIGZhY3QgdGhhdCBhIGNhcHR1cmUKCSAgZGV2aWNlIGNvdWxkIGRvIGNvbG9yc3BhY2UgY29udmVyc2lvbi4KCSAgQXMgYSBzaWRlIGVmZmV0LCBwcm9iaW5nIHRha2VzIHNvbWUgdGltZXMgYW5kIHNvIHNsaWd0aGx5IGRlbGF5IHY0bDIKCSAgaW5pdGlhbGl6YXRpb24uIE5vdGUgdGhhdCB0aGlzIHBhdGNoIG9ubHkgcHJvYmUgY29sb3JzcGFjZSBhbmQgbm90IGFsbAoJICBjb2xvcnNwYWNlLCBtYXRyaXgsIHRyYW5zZmVyIGFuZCByYW5nZSBjb21iaW5hdGlvbiB0byBhdm9pZCB0YWtpbmcgdG9vCgkgIG11Y2ggdGltZSwgZXNwZWNpYWxseSB3aXRoIGxvdy1zcGVlZCBkZXZpY2VzIGFzIGZ1bGwgcHJvYmluZyBkbyAxNzgyCgkgIGlvY3RsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1OTM3CgoyMDE2LTAzLTI0IDE2OjIxOjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSAgY2hlY2s6IEZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wMy0yNCAxNjoyMDozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkgIHRlc3RzOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNi0wMy0xMCAwODo0NDo1NyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrYmFzZXNpbms6IHBvc3QgbWVzc2FnZSB0byBhcHBsaWNhdGlvbiBmb3IgdW5oYW5kbGVkIGtleWJvYXJkL21vdXNlIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDAzCgoyMDE2LTAzLTA0IDE1OjUwOjI2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSAgYmFkOiB1c2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX2FkZF9zdGF0aWNfcGFkX3RlbXBsYXRlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA4MQoKMjAxNi0wMy0wNCAxNTo1MDoyNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBiYWQ6IHVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3N0YXRpY19wYWRfdGVtcGxhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDgxCgoyMDE2LTAzLTE2IDIwOjI2OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogUmV0dXJuIHRoZSBjdXJyZW50IGNhcHMgb24gdGhlIHNyY3BhZHMgb24gY2FwcyBxdWVyaWVzCgkgIEl0J3Mgbm90IGxpa2Ugd2UgY291bGQgYWNjZXB0IGFueSBvdGhlciBjYXBzIGhlcmUuIFRoZSBjYXBzIGFyZSBkZWNpZGVkIGJ5IHRoZQoJICB1cHN0cmVhbSBjYXBzIGV2ZW50LgoJICBBbHNvIGtlZXAgdGhlIGZpbHRlciBvcmRlciBpbnRhY3Qgd2hlbiBmaWx0ZXJpbmcgdGhlIHJlc3VsdHMgYWdhaW5zdCB0aGUKCSAgZmlsdGVyIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzMjYKCjIwMTYtMDMtMDQgMTY6MTQ6NDQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkgIHVnbHk6IHVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3N0YXRpY19wYWRfdGVtcGxhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDgyCgoyMDE2LTAzLTA0IDE2OjE0OjQ0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICB1Z2x5OiB1c2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX2FkZF9zdGF0aWNfcGFkX3RlbXBsYXRlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA4MgoKMjAxNi0wMy0yNCAxNToxNDoyMyArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBxdGRlbXV4IG1lbW9yeSBsZWFrIGluIHNyY19jb252ZXJ0IGZ1bmN0aW9uCgkgIElmIHdlIGRvbid0IGZpbmQgdGhlIGluZGV4IG9mIHRoZSBzYW1wbGUgY29ycmVjdGx5IGluIHNyY19jb252ZXJ0IGZ1bmN0aW9uLAoJICB3ZSBoYXZlIHRvIHVucmVmIGFib3V0IHRoZSBxdGRlbXV4IGJlZm9yZSByZXR1cm5pbmcgdmFsdWUuCgkgIFNvLCBJIGhhdmUgbW9kaWZ5IGl0IGFib3V0IGluc3RlYWQgcGFzcyBxdGRlbXV4IGFzIGEgcGFyYW1ldGVyIGludG8KCSAgc3JjX2NvbnZlcnQgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM5NzMKCjIwMTYtMDMtMjIgMTM6MTU6MjAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgY2hlY2sgY29uZGl0aW9uIGZvciBmYWlsIGNhc2UgaW4gZ2V0X2R1cmF0aW9uIGZ1bmN0aW9uCgkgIEN1cnJlbnRseSwgZ2V0X2R1cmF0aW9uIGZ1bmN0aW9uIGFsd2F5cyByZXR1cm4gdGhlIFRSVUUgZXZlbiB0aG91Z2gKCSAgaXQgY2FuJ3QgYmUgc2V0IGR1cmF0aW9uIGNvcnJlY3RseS4gU28sIHdlIG5lZWQgdG8gYWRkIHRoZSBlbHNlIGNvbmRpdGlvbgoJICBhYm91dCB0aGUgZmFpbCBjYXNlLiBBbHNvLCB3ZSBhbHJlYWR5IHNldCB0aGUgR1NUX0NMT0NLX1RJTUVfTk9ORQoJICBpbiB0aGlzIGZ1bmN0aW9uLiBTbyBJIGhhdmUgbW9kaWZ5IGl0IHdoaWNoIGlzIHJlbGF0ZWQgY29kZSBpbiBzb21lCgkgIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzOTY4CgoyMDE2LTAzLTIxIDEwOjExOjIzICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW9kaWZ5IGRhdGEgdHlwZSBvZiBkdXJhdGlvbiBpbiBoYW5kbGVfc3JjX3F1ZXJ5IGZ1bmN0aW9uCgkgIERhdGEgdHlwZSBvZiBkdXJhdGlvbiBuZWVkIHRvIG1vZGlmeSBmcm9tIGd1aW50NjQgdG8gR3N0Q2xvY2tUaW1lCgkgIGZvciBjb25zaXN0ZW5jeSBpbiBoYW5kbGVfc3JjX3F1ZXJ5IGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzOTY1CgoyMDE2LTAzLTE4IDE0OjQwOjU4ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRlZCB1bml0IHRlc3RzIGZvciBmaWVsZD1hdXRvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM4NjkKCjIwMTYtMDMtMTcgMjE6MjE6MDIgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogQWRkZWQgImF1dG8iIGZpZWxkcyBtb2RlCgkgIFRoZSAiYXV0byIgZmllbGRzIG1vZGUgd2lsbCBkZXRlY3QgdGhlIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIGZyYW1lcmF0ZXMgYW5kCgkgIHdpbGwgZGVjaWRlIHRvIGRlaW50ZXJsYWNlIGFsbCBvciBvbmx5IHRvcCBmaWVsZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM4NjkKCjIwMTYtMDMtMTYgMjA6MTc6NTUgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGRvbid0IGVtaXQgcGFkLWFkZGVkIHVudGlsIGNhcHMgYXJlIHJlYWR5CgkgIEluIG90aGVyIHdvcmRzLCBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMgc2hvdWxkIG5ldmVyIHJldHVybiBOVUxMCgkgIGluIGEgcGFkLWFkZGVkIGNhbGxiYWNrIGZyb20gdGhlIGRlbXV4ZXIuCgkgIEFkZGVkIHRlc3RzIGZvciB0aGUgdHdvIHNwZWNpYWwgY2FzZXMgd2l0aCBBQUMgYW5kIEguMjY0IHdoZXJlIHRoaXMKCSAgd291bGQgaGFwcGVuIGV2ZXJ5IHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM3ODAKCjIwMTYtMDMtMDQgMTA6MzA6MTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIGdvb2Q6IHVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3N0YXRpY19wYWRfdGVtcGxhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDc2CgoyMDE2LTAzLTA0IDA5OjQyOjQ0ICswMTAwICBEYXZpZCBCdWNobWFubiA8ZGF2aWQuYnVjaG1hbm5AZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogVGVzdCB0byB2ZXJpZnkgZmx2bXV4IGhhbmRsZXMgRFRTIHdpdGggR1NUX0NMT0NLX1RJTUUgTk9ORQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA3CgoyMDE1LTExLTA0IDE0OjUxOjE5ICswOTAwICBKaWhhZSBZaSA8amloYWUueWlAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIHBvdGVudGlhbGx5IG92ZXJmbG93aW5nIGV4cHJlc3Npb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzU2OQoKMjAxNi0wMy0yMiAxMDo0Mzo0NSArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCB0aGUgZnVuY3Rpb24gdG8gZ2V0IGNoYW5uZWxzIGFuZCBzYW1wbGUgcmF0ZSBmb3IgQUFDCgkgIEFkZCBhYWNfZ2V0X2NoYW5uZWxzIGFuZCBzYW1wbGVfcmF0ZSBmdW5jdGlvbiB0byBnZXQgdGhlc2UgdmFsdWUgZm9yCgkgIEFBQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTExMAoKMjAxNi0wMy0yNCAxMzozMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS44LjAgPT09CgoyMDE2LTAzLTI0IDEyOjI3OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS44LjAKCjIwMTYtMDMtMjQgMTI6MDI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMTYgMjA6MTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBVc2UgR3N0SXRlcmF0b3IgZm9yIGl0ZXJhdGluZyBhbGwgcGFkcyBpbnN0ZWFkIG9mIG1hbnVhbGx5IGl0ZXJhdGluZyB0aGVtIHdoaWxlIGhvbGRpbmcgdGhlIG9iamVjdCBsb2NrIGFsbCB0aGUgdGltZQoJICBEb2luZyBxdWVyaWVzIHdoaWxlIGhvbGRpbmcgdGhlIG9iamVjdCBsb2NrIGlzIGEgYml0IGRhbmdlcm91cywgYW5kIGluIHRoaXMKCSAgY2FzZSBjYXVzZXMgZGVhZGxvY2tzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzI2CgoyMDE2LTAzLTE3IDIwOjUzOjI3ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHR5cG8gdG8gbm90IGNoYW5nZSB0aGUgaW5wdXQgY2FwcyBidXQgb3VyIGZpbHRlcmVkIGNhcHMKCSAgQ2hhbmdpbmcgdGhlIGlucHV0IGNhcHMgYW5kIG5vdCB1c2luZyB0aGVtIGFueW1vcmUgYWZ0ZXJ3YXJkcyBpcyB1c2VsZXNzLCBhbmQKCSAgaXQgYnJlYWtzIG5lZ290aWF0aW9uIGluIHBpcGVsaW5lcyBsaWtlOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISAidmlkZW8veC1yYXcsZnJhbWVyYXRlPTI1LzEsaW50ZXJsYWNlLW1vZGU9aW50ZXJsZWF2ZWQiICEKCSAgZGVpbnRlcmxhY2UgZmllbGRzPWFsbCAhICJ2aWRlby94LXJhdyxmcmFtZXJhdGU9NTAvMSxpbnRlcmxhY2UtbW9kZT1wcm9ncmVzc2l2ZSIgIQoJICBmYWtlc2luawoKPT09IHJlbGVhc2UgMS43LjkxID09PQoKMjAxNi0wMy0xNSAxMjowNDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy45MQoKMjAxNi0wMy0xNSAxMTo1MzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMTUgMTE6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9odS5wbzoKCSogcG8vc3IucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTAzLTE1IDAzOjI2OjE0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IFNvbWUgY29tbWVudCBhbmQgZG9jdW1lbnRhdGlvbiBjbGFyaWZpY2F0aW9ucy9maXhlcwoKMjAxNi0wMy0xMyAxMDozMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIFJldmVydCAiZmxhY3BhcnNlOiBwdXNoIHRhZ3MgaW4gcHJlX3B1c2hfZnJhbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDA2NWZjYjgwYTQ5OTI0YjcwZjBjOGZjMTU5ZGVjMGZmNDc5NDNhMS4KCSAgZmxhY3BhcnNlIHNob3VsZCBub3QgcHVzaCB0YWdzIGJ5IGl0c2VsZiwgdGhlIGJhc2UgY2xhc3MgaXMgZ29pbmcgdG8gZG8gdGhhdAoJICB3aGlsZSBwcm9wZXJseSBtZXJnaW5nIGluIHVwc3RyZWFtIHRhZ3MuIEl0IGp1c3QgZGlkbid0IGJlY2F1c2Ugb2YgYSBidWcgaW4KCSAgdGhlIGJhc2UgY2xhc3MsIHdoaWNoIHdhcyBoaWRkZW4gYnkgdGhpcyBjb21taXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM1NTMKCjIwMTYtMDItMjUgMDU6MTc6NTEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHAvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHdpbjMyOiBEb24ndCB1c2UgX19hdHRyaWJ1dGVfXyBvbiBNU1ZDCgkgIFVzZSBNU1ZDLWVxdWl2YWxlbnRzIGZvciBhbGlnbm1lbnQgYW5kIHBhY2tpbmcgY29tcGlsZXIgZGlyZWN0aXZlcyB3aGVuIGJ1aWxkaW5nCgkgIG9uIE1TVkMKCjIwMTYtMDItMjUgMDU6MTY6NDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgd2luMzI6IERvbid0IHRyeSB0byBpbmNsdWRlIHhtYXRoLmggb24gbmV3ZXIgVmlzdWFsIFN0dWRpbwoKMjAxNi0wMi0yNSAwNToxNjowOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIGdzdCBGYWN0b3Igb3V0IGVuZGlhbi1vcmRlciBSR0IgZm9ybWF0cwoJICBNU1ZDIHNlZW1zIHRvIGlnbm9yZSBwcmVwcm9jZXNzb3IgY29uZGl0aW9uYWxzIGluc2lkZSBzdGF0aWMgcGFkCgkgIHRlbXBsYXRlIG1hY3Jvcy4KCjIwMTYtMDMtMDggMTc6Mzc6MTcgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyY3Rzb3VuZHNpbms6IFNldHRpbmcgdm9sdW1lIHNob3VsZCBub3QgdW5tdXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDYKCjIwMTYtMDMtMDggMTM6NTc6MjQgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyY3Rzb3VuZHNpbms6IEZpeCB2b2x1bWUgcmVzZXQgb24gdW5tdXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDYKCjIwMTYtMDMtMDggMTM6MDM6NTUgKzAxMDAgIEFsYmFuIEJlZGVsIDxhbGJhbi5iZWRlbEBhdmlvbmljLWRlc2lnbi5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZml4IGNhcHR1cmUgd2l0aCBiYXllciBmb3JtYXRzIG90aGVyIHRoYW4gYmdncgoJICBnc3RfdjRsMl9vYmplY3RfZ2V0X2NhcHNfaW5mbygpIGFsd2F5cyByZXR1cm4gVjRMMl9QSVhfRk1UX1NCR0dSOAoJICBmb3IgYWxsIGJheWVyIGZvcm1hdHMuIFRoaXMgaXMgb2J2aW91c2x5IGJyb2tlbiBpZiB0aGUgZGV2aWNlIHVzZQoJICBhbm90aGVyIG9yZGVyaW5nLiBGaXggdGhpcyBieSBwcm9wZXJseSByZWFkaW5nIHRoZSBmb3JtYXQgcGFyYW1ldGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzE4CgoyMDE2LTAzLTA3IDEwOjI4OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzZXQgcGVuZGluZyBzZWdtZW50IGlmIHdlIGFyZSBhbHJlYWR5IHB1c2hpbmcgb25lCgkgIFdoZW4gdXBzdHJlYW0gaXMgcnVubmluZyBpbiBieXRlcyBpbiBwdXNoLW1vZGUsIHF0ZGVtdXggd2lsbAoJICBjb252ZXJ0IHNlZWtzIGZyb20gdGltZSB0byBieXRlcyBhbmQgc2VuZCBpdCB1cHN0cmVhbS4gVXBzdHJlYW0KCSAgZWxlbWVudCB3aWxsIHBlcmZvcm0gYSBieXRlIHNlZWsgYW5kIHNlbmQgYSBieXRlIHNlZ21lbnQgdG8gcXRkZW11eAoJICB0aGF0IHdpbGwgY29udmVydCBpdCB0byB0aW1lIGFuZCBwdXNoIGl0IGRvd25zdHJlYW0uCgkgIFRoZXJlIGlzLCBob3dldmVyLCB0aGUgcGVuZGluZ19zZWdtZW50IHZhcmlhYmxlIHRoYXQgc3RvcmVzIGEgbmV3CgkgIHNlZ21lbnQgZXZlbnQgdG8gYmUgcHVzaGVkIGJlZm9yZSB0aGUgbmV4dCBkYXRhLiBXaGVuIGhhbmRsaW5nIHNlZWtzCgkgIGFzIG1lbnRpb25lZCBhYm92ZSB0aGlzIHZhcmlhYmxlIHdhcyBiZWluZyBpZ25vcmVkIGFuZCwgaWYgaXQgY29udGFpbmVkCgkgIHNvbWUgc2VnbWVudCBldmVudCwgaXQgd291bGQgb3ZlcnJpZGUgdGhlIG9uZSByZXN1bHRpbmcgZnJvbSB0aGUgc2Vlay4KCSAgVGhpcyB3b3VsZCByZXN0b3JlIGEgcHJldmlvdXMgc2VnbWVudCBhbmQgd291bGQgY2F1c2UgdGhlIHNlZWsgc2VnbWVudAoJICB0byBiZSBkaXNjYXJkZWQgZG93bnN0cmVhbS4KCSAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGlzc3VlIGJ5IHVucmVmaW5nIGFueSBwZW5kaW5nIHNlZ21lbnQgYXMgdGhlCgkgIHNlZWsgZnJvbSB1cHN0cmVhbSBzaG91bGQgY29udGFpbiB0aGUgbGF0ZXN0IG9uZSB0aGF0IHNob3VsZCBiZQoJICB1c2VkLCBhcyByZXF1ZXN0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMTY1CgoyMDE2LTAzLTA3IDEwOjI3OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcnVuIGdzdC1pbmRlbnQKCSAgT3RoZXJ3aXNlIGNvbW1pdHMgd2lsbCBmYWlsIHdpdGggb3VyIGluZGVudCBjaGVjayBob29rCgoyMDE2LTAzLTA0IDE1OjA5OjQ1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBjb2xvcmltZXRyeSBmb3IgTlYxMgoJICBSZXBsaWNhdGUgVjRMMl9NQVBfUVVBTlRJWkFUSU9OX0RFRkFVTFQgbWFjcm8gYmVoYXZpb3IuCgkgIEF0ICN2NGwgaXQgd2FzIGRlc2NyaWJlZCB0aGF0IGRvY3VtZW50YXRpb24gbWlnaHQgYmUgd3JvbmcgYW5kIHRoYXQKCSAgd2Ugc2hvdWxkIHRydXN0IHRoaXMgbWFjcm8gaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUyOQoKMjAxNi0wMy0wNSAxMTozODo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSAgZ3RrOiBleGFtcGxlczogI2RlZmluZSBHU1RfVVNFX1VOU1RBQkxFX0FQSSBhbmQgbGluayB3aXRoIFgxMV9MSUJTCgkgIFgxMV9MSUJTIGlzIG5lZWRlZCBmb3IgWEluaXRUaHJlYWRzKCkgYW5kIHdpdGhvdXQgdGhlICNkZWZpbmUgd2UgZ2V0CgkgIHdhcm5pbmdzIGFib3V0IHRoZSBHTCBBUEkgYmVpbmcgc3RpbGwgdW5zdGFibGUuCgoyMDE2LTAzLTA0IDE0OjA3OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaXggbXVsdGljYXN0IGdyb3VwIGpvaW5pbmcgd2l0aCBwcm92aWRlZCBzb2NrZXRzIG9uIFdpbmRvd3MKCSAgT24gV2luZG93cyB0aGUgc29ja2V0IHdpbGwgYmUgYm91bmQgdG8gQU5ZIGluc3RlYWQgb2YgdGhlIG11bHRpY2FzdCBncm91cCwKCSAgYXMgYmluZGluZyB0byBhIG11bHRpY2FzdCBncm91cCBkb2VzIG5vdCB3b3JrLiBXaGljaCB3b3VsZCBtZWFuIHRoYXQgd2UKCSAgb3ZlcnJpZGUgc3JjLT5hZGRyIHRvIGJlY29tZSBBTlkgYW5kIHdvbid0IGF1dG9tYXRpY2FsbHkgam9pbiBhIG11bHRpY2FzdAoJICBncm91cCBhbnltb3JlIG9uIFdpbmRvd3MuCgkgIE9uIExpbnV4IHdlIHdvdWxkIGF1dG9tYXRpY2FsbHkgam9pbiBhIG11bHRpY2FzdCBncm91cCwga2VlcCBpdCBjb25zaXN0ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDkzCgoyMDE2LTAzLTAxIDE4OjIyOjM3ICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdleS5ib3JvdmtvdkB3aXJlbG9hZC5uZXQ+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IEZpeCBsZWFrIG9mIHRoZSBPcGVuR0wgY29udGV4dHMKCSAgW01hdHRoZXcgV2F0ZXJzXTogYWRkIE5VTEwgY2hlY2tzIGJlZm9yZSB1bnJlZmZpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjk5OQoKMjAxNi0wMy0wMiAxMzoxMzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgInJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgZm9yZ2V0IHRvIHVubG9jayBtdXRleCBpbiBlcnJvciBjb2RlIHBhdGggaW4gdHdvIGNhc2VzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGE3ZmI3YjUzNTkyZDg3Zjc5ODM1NDRkZWJiNzRkMzY0ZmMzMjU3YWQuCgkgIFRoZSBtdXRleCBpcyB0YWtlbiBieSB0aGUgY2FsbGVyLCB3ZSBzaG91bGQga2VlcCBpdCBsb2NrZWQgd2hlbiByZXR1cm5pbmcgc28KCSAgdGhlIGNhbGxlciBjYW4gdW5sb2NrIGl0IGFnYWluLgoKMjAxNi0wMy0wMSAxNTowMToyMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcHVzaCB0YWdzIGluIHByZV9wdXNoX2ZyYW1lCgkgIFB1c2ggYSB0YWcgZXZlbnQgYmVmb3JlIHByZS1yb2xsIGlmIHdlIGhhdmUgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjY2MAoKPT09IHJlbGVhc2UgMS43LjkwID09PQoKMjAxNi0wMy0wMSAxODoxNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuOTAKCjIwMTYtMDMtMDEgMTc6MDM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NhLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL29yLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby90ci5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTAzLTAxIDE2OjUzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZnIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMy0wMSAxNDoxNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGZvcmdldCB0byB1bmxvY2sgbXV0ZXggaW4gZXJyb3IgY29kZSBwYXRoIGluIHR3byBjYXNlcwoKMjAxNi0wMi0yOSAxMDoxMDoyNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcmVtb3ZlIGltcG9zc2libGUgY29uZGl0aW9uCgkgIEl0IGlzIGltcG9zc2libGUgZm9yIGEgZ3VpbnQgdG8gaGF2ZSBhIG5lZ2F0aXZlIHZhbHVlLCBubyBuZWVkIHRvIGNoZWNrIGZvcgoJICB0aGlzLiBJbnRyb2R1Y2VkIGluIGNvbW1pdCA2ODYxZDExYzQ5ZWEwZjMwZDI0MzJjZjRlYmY2MTA4YmM4OTg5N2YxCgkgIENJRCAxMzU0NTA5CgoyMDE2LTAyLTI4IDEwOjEyOjM2ICswMTAwICBQZXRyIFZpa3RvcmluIDxlbmN1a291QGdtYWlsLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogRml4IHNhbXBsZSBwaXBlbGluZQoJICBVc2UgdGhlIHpvcmRlciBwYWQgcHJvcGVydHkgdG8gbWFrZSBzdXJlIHRoZSBzZW1pdHJhbnNwYXJlbnQKCSAgdmlkZW8gaXMgb24gdG9wIG9mIHRoZSBiYWNrZ3JvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODA5CgoyMDE2LTAyLTI4IDEzOjQyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IG1ha2UgdGFnIGxpc3Qgd3JpdGFibGUgYmVmb3JlIG1vZGlmeWluZyBpdAoJICBNYWtpbmcgdGhlIGV2ZW50IGl0c2VsZiB3cml0YWJsZSBpcyBub3QgZW5vdWdoLCBpdCB3b24ndCBtYWtlCgkgIHRoZSBhY3R1YWwgdGFnbGlzdCBpbiB0aGUgZXZlbnQgd3JpdGFibGUgYXMgd2VsbC4gSW5zdGVhZCwganVzdAoJICBtYWtlIGEgY29weSBvZiB0aGUgdGFnbGlzdCBhbmQgdGhlbiBjcmVhdGUgYSBuZXcgdGFnIGV2ZW50IGZyb20KCSAgdGhhdCBpZiByZXF1aXJlZCwgcmVwbGFjaW5nIHRoZSBvbGQgb25lLiBCZWZvcmUgd2Ugd291bGQKCSAgaW5hZHZlcnRlbnRseSBtb2RpZnkgdGFnbGlzdHMgdXBzdHJlYW0gZWxlbWVudHMgbWlnaHQgc3RpbGwKCSAgYmUgaG9sZGluZyBvbiB0by4gQWRkIHVuaXQgdGVzdCBmb3IgdGhpcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNzkzCgoyMDE2LTAyLTI4IDEzOjAxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQcm9wZXJseSBlcnJvciBvdXQgaWYgYmluZGluZyB0aGUgVURQIHNvY2tldHMgZmFpbHMKCSAgdWRwc3JjIGlzIG5vdCByZXR1cm5pbmcgdXMgYSBzb2NrZXQgaW4gdGhhdCBjYXNlLgoKMjAxNi0wMi0yNyAyMDozMzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogVXNlIGdvb21fc2V0X3Jlc29sdXRpb24oKSBpbnN0ZWFkIG9mIHJlY3JlYXRpbmcgdGhlIGdvb20gaW5zdGFuY2Ugd2hlbiB0aGUgcmVzb2x1dGlvbiBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3NjUKCjIwMTYtMDItMjcgMjA6MzI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIFJldmVydCAiZ29vbTogSW5pdGlhbGl6ZSB0aGUgZ29vbSBzdHJ1Y3Qgb25seSBvbmNlIHdlIGtub3cgd2lkdGgvaGVpZ2h0IGFuZCByZWNyZWF0ZSBpdCBpZiB0aG9zZSBjaGFuZ2UiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2M2ZTEwMjY0M2MxYmFlOTI4MzE2ZGNhOWYzNGRiMDI4ZmI5YTY3ZS4KCjIwMTYtMDItMjcgMjA6MzE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IEluaXRpYWxpemUgdGhlIGdvb20gc3RydWN0IG9ubHkgb25jZSB3ZSBrbm93IHdpZHRoL2hlaWdodCBhbmQgcmVjcmVhdGUgaXQgaWYgdGhvc2UgY2hhbmdlCgkgIEZpeGVzIGNyYXNoIHdoZW4gdGhlIHdpZHRoIGFuZC9vciBoZWlnaHQgaXMgY2hhbmdpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3NjUKCjIwMTYtMDItMjYgMTI6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI2NGYwM2YgdG8gNmYyZDIwOQoKMjAxNi0wMi0yNSAyMjo1NDoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiBhZGQgcnRwb3B1c2RlcGF5IGFuZCBydHBvcHVzcGF5IHRvIGRvY3VtZW50YXRpb24KCjIwMTYtMDItMTcgMTU6MTU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5Lmg6CgkgIHJ0cDogb3B1czogbW92ZSBPcHVzIFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgZnJvbSAtYmFkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDItMTcgMTU6MTA6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJICBNZXJnZSBicmFuY2ggJ3BsdWdpbi1tb3ZlLXJ0cC1vcHVzJwoJICBNb3ZlIE9wdXMgUlRQIGRlcGF5bG9hZGVyL3BheWxvYWRlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDItMjUgMTE6MzM6MTMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2VuYyBhdXggaW5mbyBwYXJzaW5nIGZyb20gbWRhdCBzdXBwb3J0IGluIFBVTEwgbW9kZQoJICBUaGlzIGlzIGFscmVhZHkgc3VwcG9ydGVkIGZvciBQVVNIIG1vZGUgYnV0IHdhcyBmYWlsaW5nIGluIFBVTEwgbW9kZS4KCSAgVGhlIGF1eCBpbmZvIGlzIHNvbWV0aW1lcyBzdG9yZWQgaW4gdGhlIG1kYXQgYmVmb3JlIHRoZSBmaXJzdCBzYW1wbGUsCgkgIHNvIHRoZSBsb29wIHRhc2sgbmVlZHMgdG8gcHVsbCBkYXRhIHN0b3JlZCBhdCB0aGF0IGxvY2F0aW9uIGFuZAoJICBwZXJmb3JtIHRoZSBhdXggaW5mbyBjZW5jIHBhcnNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3MDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUxNgoKMjAxNi0wMi0yNCAxMToyODowOSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmV2ZW50IGJ1ZmZlciBmbG93IGlmIGFueSBzdHJlYW0gZmFpbGVkIHRvIGJlIGV4cG9zZWQKCSAgSW4gc29tZSBjYXNlcyB0aGUgc3RyZWFtIGNvbmZpZ3VyYXRpb24gY2FuIGZhaWwsIGZvciBpbnN0YW5jZSBpZiB0aGUKCSAgc3RyZWFtIGlzIHByb3RlY3RlZCBhbmQgbm8gZGVjcnlwdG9yIHdhcyBmb3VuZC4gRm9yIHRob3NlIHNpdHVhdGlvbnMKCSAgdGhlIGRlbXV4ZXIgc2hvdWxkbid0IGVtaXQgYW55IGRhdGEgb24gdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIHBhZCBvZgoJICB0aGUgc3RyZWFtIGFuZCBiYWlsIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUxNgoKMjAxNi0wMi0yNCAwOToxMjowMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBwdXNoIGVuY3J5cHRlZCBidWZmZXIgd2l0aG91dCBjZW5jIG1ldGFkYXRhCgkgIFdoZW4gdGhlIGNlbmMgbWV0YWRhdGEgaXMgc3RvcmVkIG91dHNpZGUgb2YgdGhlIG1vb2YgYm94IGFuZCB0aGUKCSAgc3RyZWFtIGlzIGV4cG9zZWQgaXQgaXMgcG9zc2libGUgdGhhdCB0aGUgY2VuYyBtZXRhZGF0YSBoYXNuJ3QgYmVlbgoJICBwcm9jZXNzZWQgeWV0IHdoaWxlIHRoZSBmaXJzdCBidWZmZXIgaXMgYmVpbmcgcHVzaGVkLiBXaGVuIHRoaXMKCSAgaGFwcGVucyB0aGUgYnVmZmVyIGNhbid0IHBvc3NpYmx5IGJlIGRlY3J5cHRlZCBkb3duc3RyZWFtIHNvIGRvbid0CgkgIHB1c2ggaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1MTYKCjIwMTYtMDItMjMgMjM6MTA6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHF0OiB1c2UgYSBzdGF0aWNfY2FzdCBpbnN0ZWFkIG9mIGR5bmFtaWMgb25lCgkgIFRoZSBkeW5hbWljX2Nhc3QgaXMgYSBsaXR0bGUgYnV0IG9mIG92ZXJraWxsIGFzIHRoZSBhcHAgd2lsbCBzdGlsbCBjcmFzaCBpZiBpdAoJICBmYWlscyBpbiB0aGUgbGF0ZXIgZ19hc3NlcnQuCgkgIEFsbG93cyBjb21waWxhdGlvbiB3aXRoIC1mbm8tcnR0aQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTI2CgoyMDE1LTEwLTIxIDE2OjIxOjQ1ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlYWQgc2FpbyBhdXhfaW5mb190eXBlIGFzIGEgRk9VUkNDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4OTcKCjIwMTYtMDItMjMgMTg6Mjc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgZ3N0OiBIYW5kbGUgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgcmV0dXJuaW5nIE5VTEwgZ3JhY2VmdWxseQoKMjAxNi0wMi0yMyAxODoxMjo1NCArMDIwMCAgRGF2ZSBDcmFpZyA8ZGNyYWlnQGJyaWdodHNpZ24uYml6PgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBEb24ndCBhc3N1bWUgdGhhdCBnZXRfY3VycmVudF9jYXBzKCkgcmV0dXJucyBub24tTlVMTCBjYXBzIGFmdGVyIGhhc19jdXJyZW50X2NhcHMoKQoJICBSZW1vdmUgY2FsbHMgdG8gZ3N0X3BhZF9oYXNfY3VycmVudF9jYXBzKCkgd2hpY2ggdGhlbiBnbyBvbiB0byBjYWxsCgkgIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFzIHRoZSBjYXBzIGNhbiBnbyB0byBOVUxMIGluIGJldHdlZW4uIEluc3RlYWQganVzdAoJICB1c2UgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYW5kIGNoZWNrIGZvciBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE1LTEyLTE2IDEyOjQwOjM5ICswMDAwICBEYXZlIENyYWlnIDxkY3JhaWdAYnJpZ2h0c2lnbi5iaXo+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBnc3Q6IERvbid0IGFzc3VtZSB0aGF0IGdldF9jdXJyZW50X2NhcHMoKSByZXR1cm5zIG5vbi1OVUxMIGNhcHMgYWZ0ZXIgaGFzX2N1cnJlbnRfY2FwcygpCgkgIFJlbW92ZSBjYWxscyB0byBnc3RfcGFkX2hhc19jdXJyZW50X2NhcHMoKSB3aGljaCB0aGVuIGdvIG9uIHRvIGNhbGwKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYXMgdGhlIGNhcHMgY2FuIGdvIHRvIE5VTEwgaW4gYmV0d2Vlbi4gSW5zdGVhZCBqdXN0CgkgIHVzZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhbmQgY2hlY2sgZm9yIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzkKCjIwMTUtMTItMTYgMTA6NTQ6MTcgKzAwMDAgIERhdmUgQ3JhaWcgPGRjcmFpZ0BicmlnaHRzaWduLmJpej4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEhhbmRsZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSByZXR1cm5pbmcgTlVMTCBncmFjZWZ1bGx5CgkgIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHRoZSBwaXBlbGluZSBpcyBjdXJyZW50bHkgc2h1dHRpbmcgZG93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzOQoKMjAxNi0wMi0yMyAxNTo1NzoxOCArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IERvbid0IGhhbmRsZSBzZWVrIHVudGlsIHJlYWR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1NDIKCjIwMTYtMDItMjMgMTU6NTU6MTMgKzAxMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBVbnJlZiBzZWVrIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1NDIKCjIwMTYtMDItMjIgMTE6MDE6NDAgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogY2xvc2UgZmlsZSBvbiB3cml0ZSBlcnJvciB3aXRoIG5leHQtZmlsZSBtb2RlIGlzIHNldCB0byBidWZmZXIKCSAgSWYgd2UgaGF2ZSBhbiBlcnJvciBkdXJpbmcgZndyaXRlIGNhbGwsIGZpbGUgc3RheXMgb3BlbiBhbmQgdGh1cyBuZXh0CgkgIGluY29taW5nIGJ1ZmZlciB3aWxsIHRyaWdnZXIgYW4gYXNzZXJ0IHdoZW4gdHJ5aW5nIHRvIG9wZW5pbmcgYSBuZXcKCSAgZmlsZS4KCSAgVGhpcyBoYXBwZW5zIGlmIHdlIGRvIG5vdCByZXN0YXJ0IGVsZW1lbnQsIGZpbGUgaXMgY2xvc2VkIGF0IHN0b3AsIGFuZAoJICBpZiBhcHBsaWNhdGlvbiBoYW5kbGVzIHRoZSByZXR1cm5lZCBHU1RfRkxPV19FUlJPUiB0byBrZWVwIGJpbiBhbGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjQzNAoKMjAxNi0wMi0xOSAyMzo0NDo0MiArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IG91dHB1dCBlbXB0eSB0YWdzL3RhZyBlbGVtZW50cwoJICBTdWNoIGZpbGVzIHdpbGwgbm90IHBsYXkgb24gQW5kcm9pZCwgYmVjYXVzZSBvZiBidWcgaW4gbGlid2VibSBtYXRyb3NrYSBwYXJzaW5nLCB3aGljaCBpcyBzdGlsbCBwcmVzZW50IGluIDYuMC4xCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIzNDkKCjIwMTYtMDItMDQgMTU6NTk6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBtYWtlIHVwIGFuIE9wdXNIZWFkIGJsb2NrIGlmIHBvc3NpYmxlIHdoZW4gbWlzc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDg5CgoyMDE2LTAyLTA0IDEwOjQzOjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBtYWtlIHVwIGFuIE9wdXNIZWFkIGJsb2NrIGlmIHBvc3NpYmxlIHdoZW4gbWlzc2luZwoJICBUaGlzIGJsb2NrIGlzIG5lZWRlZCBpbiB0aGUgTWF0cm9za2EgZmlsZSwgYnV0IGRhdGEgY29taW5nIGZyb20KCSAgUlRQIG1heSBub3QgaGF2ZSBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0ODkKCjIwMTYtMDItMjIgMTM6NTM6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtYWtlIHN0cmVhbS1pZCBtb3JlIHJlYWRhYmxlIGFuZCBvcmRlci1mcmllbmRseQoJICAuLi4gYXMgc3RyZWFtcyBhcmUgc28gb3JkZXJlZCBieSBpZCBieSBlLmcuIGRlY29kZWJpbgoJICAoYW5kIGFzIHR5cGljYWxseSBhbHJlYWR5IGhvbm91cmVkIGJ5IG90aGVyIGRlbXV4ZXJzKS4KCjIwMTYtMDItMjIgMTM6MjU6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogcmVtb3ZlIGNvbmZ1c2luZyBkdXBsaWNhdGUgdHJhY2sgdWlkIGZpZWxkCgoyMDE2LTAyLTIyIDE0OjAzOjAyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDlwYXkuYzoKCSAgcnRwdnA5cGF5OiBhZGQgbWlzc2luZyBicmVhawoJICBWUDlfUEFZX1BJQ1RVUkVfSURfN0JJVFMgYW5kIFZQOV9QQVlfUElDVFVSRV9JRF8xNUJJVFMgYXJlIG11dHVhbGx5CgkgIGV4Y2x1c2l2ZSBvcHRpb25zIG9mIHRoZSBwaWN0dXJlLWlkLW1vZGUuIFdlIGNhbiBicmVhayBhZnRlciB0aGUKCSAgZmlyc3QgY2FzZS4KCSAgMSBvciAyIGJ5dGVzIG5lZWQgdG8gYmUgYWRkZWQgdG8gdGhlIGhlYWRlciBsZW5ndGggZGVwZW5kaW5nIG9uIHRoZQoJICBQaWN0dXJlSUQgc2l6ZS4KCSAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LXViZXJ0aS1wYXlsb2FkLXZwOS0wMCNzZWN0aW9uLTQuMgoJICBDSUQgMTM1MzQ3OQoKMjAxNi0wMS0yNCAxNzo0MDozNyArMDMwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZXkuYm9yb3Zrb3ZAd2lyZWxvYWQubmV0PgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxbWxnbHNpbms6IFNjaGVkdWxlIG9uU2NlbmVHcnBhaEluaXRpYWxpemVkIHRvIGV4ZWN1dGUgb24gcmVuZGVyIHRocmVhZAoJICBvblNjZW5lR3JhcGhJbml0aWFsaXplZCgpIGlzIGNhbGxlZCBmcm9tIG5vbiByZW5kZXIgdGhyZWFkIGN1cnJlbnRseSB3aGVuCgkgIHNjZW5lIGdyYXBoIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMDMKCjIwMTYtMDItMjIgMDk6MDk6MDEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrCgkgIGJ1ZmZlciBiZWluZyBtYXBwZWQgaXMgbm90IGJlaW5nIHVubWFwcGVkIGluIHNvbWUgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjQyMAoKMjAxNS0xMS0wNCAxMDoxOTowMyArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwbWFuYWdlcjogRG9uJ3Qgd2FybiBmb3IgZHVwbGljYXRlL3Jlb3JkZXJlZCBwYWNrZXRzCgkgIFRoaXMgaXMgYSBub3JtYWwgc2NlbmFyaW8gYW5kIHNob3VsZCBub3QgYmUgYSB3YXJuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA4CgoyMDE2LTAyLTIxIDA5OjQ3OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FscGhhL2FscGhhLnZjcHJvajoKCSogZ3N0L2F1cGFyc2UvYXVwYXJzZS52Y3Byb2o6CgkqIGdzdC9hdmkvYXZpLnZjcHJvajoKCSogZ3N0L2N1dHRlci9jdXR0ZXIudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Zy52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL25hdmlnYXRpb250ZXN0LnZjcHJvajoKCSogZ3N0L2VmZmVjdHYvZWZmZWN0di52Y3Byb2o6CgkqIGdzdC9mbHgvZmx4ZGVjLnZjcHJvajoKCSogZ3N0L2dvb20vZ29vbS52Y3Byb2o6CgkqIGdzdC9nb29tMmsxL2dvb20udmNwcm9qOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLnZjcHJvajoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LnZjcHJvajoKCSogZ3N0L2xhdy9hbGF3LnZjcHJvajoKCSogZ3N0L2xhdy9tdWxhdy52Y3Byb2o6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS52Y3Byb2o6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LnZjcHJvajoKCSogZ3N0L3J0cC9ydHAudmNwcm9qOgoJKiBnc3Qvc21wdGUvc21wdGUudmNwcm9qOgoJKiBnc3Qvc3BlY3RydW0vc3BlY3RydW0udmNwcm9qOgoJKiBnc3QvdWRwL3VkcC52Y3Byb2o6CgkqIGdzdC92aWRlb2JveC92aWRlb2JveC52Y3Byb2o6CgkqIGdzdC92aWRlb2Nyb3AvdmlkZW9jcm9wLnZjcHJvajoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dhbW1hLnZjcHJvajoKCSogZ3N0L3ZpZGVvZmlsdGVyL3ZpZGVvYmFsYW5jZS52Y3Byb2o6CgkqIGdzdC92aWRlb2ZpbHRlci92aWRlb2ZpbHRlci52Y3Byb2o6CgkqIGdzdC92aWRlb2ZpbHRlci92aWRlb2ZsaXAudmNwcm9qOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLnZjcHJvajoKCSogZ3N0L3dhdmVuYy93YXZlbmMudmNwcm9qOgoJKiBnc3Qvd2F2cGFyc2Uvd2F2cGFyc2UudmNwcm9qOgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSogd2luMzIvdnM2L2xpYmdzdGFsYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1dG9kZXRlY3QuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RlZmZlY3R2LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGljeWRlbXV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0anBlZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtZWRpYW4uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bHRpcGFydC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RwbmcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzcGVleC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2cGFyc2UuZHNwOgoJKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJnc3QxMzk0LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFhc2luay52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhbGF3LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFscGhhLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFscGhhY29sb3IudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YW5ub2RleC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhcGV0YWcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXVkaW9meC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhdXBhcnNlLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGF1dG9kZXRlY3QudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXZpLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGNhY2FzaW5rLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGNkaW8udmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Y3V0dGVyLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGR2LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGVmZmVjdHYudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZmxhYy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RmbHhkZWMudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Z29vbS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RpY3lkZW11eC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RpZDNkZW11eC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RqcGVnLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGxhZHNwYS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RsZXZlbC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RtYXRyb3NrYS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RtbmcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bW9ub3Njb3BlLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG11bGF3LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG11bHRpcGFydC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RwbmcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0cnRwLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHJ0c3AudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0c2hvdXQyLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHNtcHRlLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHNwZWV4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHRhZ2xpYi52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R1ZHAudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dmlkZW9iYWxhbmNlLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHZpZGVvYm94LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHZpZGVvZmxpcC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb21peGVyLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHdhdmVuYy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R3YXZwYXJzZS52Y3Byb2o6CgkgIHdpbjMyOiByZW1vdmUgb3V0ZGF0ZWQgYnVpbGQgY3J1ZnQKCSAgVGhpcyBoYXNuJ3QgYmVlbiB0b3VjaGVkIGZvciBnZW5lcmF0aW9ucywgZG9lc24ndCB3b3JrLAoJICBhbmQgaXMganVzdCBjYXVzaW5nIGNvbmZ1c2lvbi4gV2UgYWxzbyBkb24ndCB3YW50IHRvCgkgIG1haW50YWluIHRoZXNlIGZpbGVzIG1hbnVhbGx5LgoKMjAxNi0wMi0yMCAxMTo1MTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGRvbid0IHVzZSB1bmRlY2xhcmVkIGNvcmUgZGVidWcgY2F0ZWdvcnkgc3ltYm9scwoKMjAxNi0wMi0wNiAxNDozOTowNSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB3b3JrYXJvdW5kIGZvciBmaWxlcyB3aXRoIHdyb25nIGNvbG9yX3RhYmxlX2lkIHZhbHVlCgkgIEluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LCBqdXN0IHVzZSB0aGUgZGVmYXVsdCBjb2xvciB0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYzNwoKMjAxNi0wMi0xOSAxNTowMjowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSAgZmx2bXV4LCBydHB2cDlkZXBheTogZml4IGluZGVudGF0aW9uCgoyMDE2LTAyLTE5IDE1OjAzOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnNyYzogZml4IGluZGVudGF0aW9uCgoyMDE1LTEyLTA0IDAwOjQ2OjM0ICsxMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHBsdWcgbGVhayhzKSBpbiBlcnJvci1zY2VuYXJpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjEwCgoyMDE1LTEyLTA0IDAwOjQ2OjEyICsxMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggZW9zIGV2ZW50IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIwOQoKMjAxNi0wMi0xOSAxNDo0MTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZml4IGluZGVudGF0aW9uCgoyMDE2LTAyLTE4IDE2OjA5OjI5ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJ0cGppdHRlcmJ1ZmZlcjogcG9ydCB0ZXN0aGFybmVzcyB0byBHc3RIYXJuZXNzIGFuZCBjbGVhbnVwL2ltcHJvdmUKCSAgUHJvYmFibHkgZm91bmQgYSBidWcgYXMgd2VsbCwgaW4gdGhhdCB0aGVyZSBhcmUgc29tZSB0aW1lc3RhbXBzIGluCgkgIHRoZXJlIHRoYXQgYXJlIGxvb2tpbmcgdmVyeSB3cm9uZy4gKG1hcmtlZCB3aXRoIEZJWE1FKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjY3CgoyMDE2LTAyLTE4IDEwOjI3OjE5ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJ0cGppdHRlcmJ1ZmZlcjogdGVzdCBjbGVhbnVwcy9pbXByb3ZlbWVudHMKCSAgVXNlIGZhaWxfdW5sZXNzIGFuZCBmcmllbmRzIGluc3RlYWQgb2YgZ19hc3NlcnQKCSAgRmFjdG9yIHNlcS1udW0gY2hlY2tpbmcgb3V0IHRvIHNlcGFyYXRlIGZ1bmN0aW9uCgkgIENoZWNrIG1vcmUgcmV0dXJuLXZhbHVlcyBmcm9tIHB1c2ggYW5kIGNyYW5rIGFuZCBvdGhlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjI1NAoKMjAxNS0xMi0wMyAxMTowNzowNSArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJ0cGppdHRlcmJ1ZmZlcjogZml4IGxlYWtzIGluIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjE0CgoyMDE2LTAyLTE5IDEyOjM4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjcuMiA9PT0KCjIwMTYtMDItMTkgMTE6NDk6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjIKCjIwMTYtMDItMTkgMTA6MzE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTAyLTE4IDE4OjMzOjEzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBsdWcgbGVha3MgaW4gY2VuYyBhdXggaW5mbyBwYXJzaW5nCgoyMDE2LTAyLTE4IDEzOjQzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggc3B1cmlvdXMgc291cGh0dHBzcmMgdGVzdCB0aW1vdXRzCgkgIFNldCBHU0VUVElOR1NfQkFDS0VORD1tZW1vcnksIGFwcGFyZW50bHkgdGhlcmUncyBzb21ldGhpbmcKCSAgYWJvdXQgZm9yaygpIGFuZCB0aGUgZGNvbmYgYmFja2VuZCAob3Igd2hhdGV2ZXIgZWxzZSB0aGF0CgkgIGRyYWdzIGluIG9yIGFjdGl2YXRlcykgdGhhdCBtZXNzZXMgdXAgbG9ja2luZyBhbmQgY2F1c2VzCgkgIHRpbWVvdXRzIGR1ZSB0byBkZWFkbG9ja3MgaW4gZ19tdXRleF9sb2NrKCksIHNpbmNlCgkgIGV2ZXJ5dGhpbmcgd29ya3MgZmluZSB3aXRoIENLX0ZPUks9bm8gYXMgd2VsbC4KCjIwMTYtMDItMTggMTE6MTA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVW5tYXAgd2F2cGFjayBoZWFkZXIgYnVmZmVyIGFmdGVyIGNyZWF0aW5nIGl0CgkgIE90aGVyd2lzZSBpdCB3aWxsIGJlIG1hcHBlZCB3cml0YWJsZSBhbGwgdGhlIHRpbWUgYW5kIHdlIGNhbid0IHJlYWQgZnJvbSBpdAoJICBhbnl3aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIzOQoKMjAxNS0xMi0wOCAxODo0OTo0MCArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgdGVzdCBmb3IgYmlnIHNlcW51bSBnYXAgaGFuZGxpbmcKCSAgTWFrZSBzdXJlIHRoYXQgdGhlIHBhY2tldHMgcXVldWVkIHdoZW4gZGV0ZWN0aW5nIGEgYmlnIGdhcCBhcmUgcHVzaGVkCgkgIGFmdGVyIHJlc2V0ICg1IGNvbnNlY3RpdmUgc2VxbnVtcykgYW5kIG5vdCBkcm9wcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjExCgoyMDE2LTAyLTE3IDE1OjAzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5oOgoJICBydHA6IHNwcmlua2xlIHNvbWUgR19HTlVDX0lOVEVSTkFMIGZvciBpbnRlcm5hbCB1dGlscyBmdW5jdGlvbnMKCjIwMTYtMDItMDkgMTM6MTc6MDAgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHRyYW5zZm9ybSBwcm90ZWN0ZWQgY2FwcyBvbmNlCgkgIENvbW1pdCA3ODczYmVkZTMxMzRiMTVlNTA2NmU4ZDE0ZTU0ZDFmNTA1NGQyMDYzCgkgIChodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzc0KSBjaGFuZ2VkIHRoZQoJICBiZWhhdmlvdXIgb2YgcXRkZW11eCB0byBjYWxsIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0oKSBmb3IKCSAgZXZlcnkgbmV3IG1vb2YuCgkgIFdoZW4gcGxheWluZyBhIHByb3RlY3RlZCBzdHJlYW0sIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0oKQoJICBjYWxscyBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKS4gVGhlCgkgIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpIGZ1bmN0aW9uIHRha2VzIHRoZSBvcmlnaW5hbAoJICBtZWRpYSBmb3JtYXQsIHB1dHMgdGhpcyBpbiBhIGZpZWxkIGNhbGxlZCAib3JpZ2luYWwtbWVkaWEtdHlwZSIKCSAgYW5kIHRoZW4gY2hhbmdlcyB0aGUgY2FwcyB0byAiYXBwbGljYXRpb24veC1jZW5jIi4KCSAgVGhlIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpIGRpZCBub3QgaGFuZGxlIHRoZSBjYXNlCgkgIG9mIGJlaW5nIGNhbGxlZCBtdWx0aXBsZSB0aW1lcywgY2F1c2luZyBpdCB0byBpbmNvcnJlY3RseSBzZXQgdGhlCgkgIGNhcHMuIFRoZSBzZWNvbmQgY2FsbCB3YXMgY2F1c2luZyB0aGUgY2FwcyB0byBiZSBzZXQgdG86CgkgIGFwcGxpY2F0aW9uL3gtY2VuYywgb3JpZ2luYWwtbWVkaWEtdHlwZSJhcHBsaWNhdGlvbi94LWNlbmMiCgkgIFRoaXMgY29tbWl0IG1ha2VzIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpIGNoZWNrIHRoYXQKCSAgdGhlIGNhcHMgaGF2ZSBhbHJlYWR5IGJlZW4gdHJhbnNmb3JtZWQsIHNvIHRoYXQgaXQgb25seSBnZXRzCgkgIGNoYW5nZWQgb25jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTc2OQoKMjAxNS0xMS0wMyAxNDo1MDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIG11bHRpY2hhbm5lbCBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTA2LTMwIDEzOjUxOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IENvcHkgbWV0YWRhdGEgaW4gdGhlIChkZSlwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0IHRhZ3Mgb3IKCSAgd2l0aCBvbmx5IHRoZSBhdWRpbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDUtMDQgMTE6MjM6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJICBvcHVzZGVwYXk6IFNldCBtdWx0aXN0cmVhbT1GQUxTRSBvbiB0aGUgT3B1cyBjYXBzCgkgIFRoZSBSVFAgT3B1cyBtYXBwaW5nIG9ubHkgYWxsb3dzIG1vbm8vc3RlcmVvLCBhbmQgbm90IG11bHRpc3RyZWFtIE9wdXMKCSAgc3RyZWFtcy4KCjIwMTUtMDMtMjQgMTM6NTc6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogRm9yd2FyZCBzdGVyZW8gcHJlZmVyZW5jZXMgZnJvbSBjYXBzIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjQgMTM6NTY6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogU2V0IHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgdG8gMiBhcyBwZXIgUkZDIGRyYWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjMgMTI6MjQ6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogSGFuZGxlIHNwcm9wLXN0ZXJlbyBhbmQgc3Byb3AtbWF4Y2FwdHVyZXJhdGUgUlRQIGNhcHMgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDItMTkgMTQ6MzA6MTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IGRlZmF1bHQgZW5jb2RpbmcgbmFtZSB0byBPUFVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTQ6MDU6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IG1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgdHJ1bmNhdGluZyB0aGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMDUgMTA6Mjc6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IG5lZ290aWF0ZSB0aGUgZW5jb2RpbmcgbmFtZQoJICBDaHJvbWUgdXNlcyBhIGRpZmZlcmVudCBlbmNvZGluZyBuYW1lIHRoYXQgZ3N0cmVhbWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE0LTExLTAxIDEwOjEwOjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzOiBVc2UgT1BVUyBlbmNvZGluZyBuYW1lCgkgIEJvdGggRmlyZWZveCBhbmQgQ2hyb21lIHVzZXMgT1BVUyBhcyB0aGUgZW5jb2RpbmcgaW4gdGhlaXIgU0RQLgoJICBBZGRpbmcgdGhpcyBub3cgZGVmYWN0byBzdGFuZGFyZCBuYW1lIHJlbW92ZSB0aGUgbmVlZCBmb3Igc3BlY2lhbAoJICBjYXNlIGluIFNEUCBwYXJzaW5nIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTMtMDEtMzEgMTI6MzA6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c3BheTogZml4IHRpbWVzdGFtcHMKCSAgQ29weSB0aW1lc3RhbXBzIHRvIHBheWxvYWRlZCBidWZmZXIuCgkgIEF2b2lkIGlucHV0IGJ1ZmZlciBtZW1vcnkgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkyOQoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuaDoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTAtMjIgMTI6MDg6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c3BheTogcmVtb3ZlIHBvaW50bGVzcyBjYXBzIHNlcmlhbGl6YXRpb24KCSAgUmVtb3ZlIHRoZSBjYXBzIHNlcmlhbGl6YXRpb24gaW4gdGhlIHJ0cCBjYXBzLiB0aGUgc3BlYyBub3IgdGhlIHJlY2VpdmVyCgkgIGRvZXMgYW55dGhpbmcgd2l0aCBpdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU0NwoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDktMjAgMTg6NDE6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogQWxsb2NhdGUgdGhlIHJ0cCBidWZmZXIgY29ycmVjdGx5CgkgIFVzZSB0aGUgcmlnaHQgZnVuY3Rpb25zIHRvIGFsbG9jYXRlIHRoZSBydHAgYnVmZmVyCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wMy0wNyAxNzoxNDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogcG9ydCB0byB1cGRhdGVkIDAuMTEKCjIwMTEtMTItMzAgMTE6NDE6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5oOgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEtcHJlbWVyZ2UKCSAgQ29uZmxpY3RzOgoJICBkb2NzL2xpYnMvTWFrZWZpbGUuYW0KCSAgZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYwoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbQoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYwoJICBnc3QvYXNmbXV4L2dzdGFzZm11eC5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jCgkgIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYwoJICBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmMKCSAgZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jCgkgIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmMKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBnc3QvbXhmL214Zm11eC5jCgkgIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmMKCjIwMTEtMTItMDkgMTc6MjU6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNlbmM6IGFkZCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBmb3IgbXVsdGlzdHJlYW0gYWJpbGl0eQoJICBUaGlzIHdpbGwgaGVscCBlbGVtZW50cyB0aGF0IGNhbm5vdCBkZWFsIHdpdGggbXVsdGlzdHJlYW0sCgkgIHN1Y2ggYXMgdGhlIFJUUCBwYXlsb2FkZXIuCgkgIFRoZSBjYXBzIG5vdyBkbyBub3QgaW5jbHVkZSBhICJzdHJlYW1zIiBmaWVsZCBhbnltb3JlLCBidXQKCSAgYSAibXVsdGlzdHJlYW0iIGJvb2xlYW4sIHNpbmNlIHdlIGhhdmUgbm8gcmVhbCB1c2UgZm9yIGtub3dpbmcKCSAgdGhlIGV4YWN0IGFtb3VudCBvZiBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDE1OjEzOjExIC0wMjAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5Lmg6CgkgIEFkZGluZyBvcHVzIFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgZWxlbWVudAoJICBBZGRpbmcgT1BVUyBSVFAgbW9kdWxlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGRyYWZ0OgoJICBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaWQvZHJhZnQtc3BpdHRrYS1wYXlsb2FkLXJ0cC1vcHVzLTAwLnR4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0ODE3CgoyMDE2LTAyLTE3IDEzOjI2OjAyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmg6CgkgIHJ0cDogaDI2NC9oMjY1OiBhdm9pZCBkdXBsaWNhdGlvbiBvZiByZWFkX2dvbG9tYigpCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gaGF2ZSB0d28gaWRlbnRpY2FsIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgcmVhZF9nb2xvbWIKCSAgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMTcgMTQ6Mzc6NDQgKzAxMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU2ltcGxlIGltcGxlbWVudGF0aW9uIG9mIFRSSUNLTU9ERV9LRVlfVU5JVFMKCSAgV2hlbiB0aGUgdHJpY2ttb2RlIGtleS11bml0cyBmbGFnIGlzIHNldCBvbiB0aGUgc2VnbWVudCwgc2ltcGx5IHNraXAKCSAgYW55IHNhbXBsZSBvbiBhIHZpZGVvIHN0cmVhbSB0aGF0IGlzbid0IGEga2V5ZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE4NQoKMjAxNS0wOC0yMSAxNDoxNToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogc2VuZCBHQVAgZXZlbnRzIGZvciBsYWdnaW5nIGF1ZGlvIGFuZCB2aWRlbyBzdHJlYW1zIHRvbwoJICBTZW5kIEdBUCBldmVudHMgZm9yIG5vbi1zdWJ0aXRsZSBzdHJlYW1zIHRvbyBpZiB0aGV5IGxhZyB0b28gbXVjaAoJICBiZWhpbmQsIGJ1dCB1c2UgYSBoaWdoZXIgdGhyZXNob2xkIHRoYW4gZm9yIHN1YnRpdGxlcy4KCSAgVGhpcyBoZWxwcyB3aXRoIGZpeGluZyBwcmVyb2xsaW5nIHdpdGggYSBmaWxlIHdoZXJlIG9uZSBvZiB0aGUKCSAgYXVkaW8gc3RyZWFtcyBvbmx5IGhhcyBkYXRhIHN0YXJ0aW5nIGZyb20gMTlzIG9ud2FyZHMuIEl0J3Mgbm90CgkgIGEgY29tcGxldGUgZml4IHlldCwgaXQgYWxzbyByZXF1aXJlcyBjaGFuZ2VzIGVsc2V3aGVyZSwgc3VjaCBhcwoJICBpbiBiYXNlcGFyc2UsIHRvIG1ha2Ugc3VyZSBjYXBzIGFyZSBwcm9wYWdhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NDYwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4OTkKCjIwMTUtMTItMjMgMTk6NTQ6MTMgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5cGF5Lmg6CgkgIHJ0cHZwOXBheTogcnRwdnA5ZGVwYXk6IEluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgZHJhZnQgMDEKCSAgUXVpY2sgYW5kIGRpcnR5IGltcGxlbWVudGF0aW9uIG9mIGFuIFJUUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyCgkgIGZvciBWUDkuIEluIHBhcnRpY2FsdXIgaXQgYXNzdW1lcyBubyBzcGF0aWFsIG9yIHRlbXBvcmFsIGxheWVyaW5nLAoJICBub24tZmxleGlibGUgbW9kZSwgYW5kIHNvbWUgb3RoZXIgYml0cyBhbmQgcGllY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzczCgoyMDE2LTAyLTE2IDA5OjAyOjMwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHN0cmluZyBtZW1vcnkgbGVhawoJICBjb2RlY19uYW1lIGlzIG5vdCBiZWluZyBmcmVlZCBpbiBhbGwgY29uZGl0aW9ucyBsZWFkaW5nIHRvIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxMTcKCjIwMTUtMTItMTAgMTI6MTU6NTIgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCAiZ2V0LXNlc3Npb24iIHNpZ25hbAoJICBUaGlzIGdldHMgdGhlIEdzdFJUUFNlc3Npb24gZWxlbWVudCwgYXMgY29tcGFyZWQgdG8gdGhlIFJUUFNlc3Npb24gb2JqZWN0CgkgIHRoYXQgaXMgcmV0dXJuZWQgYnkgZ2V0LWludGVybmFsLXNlc3Npb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkyOTMKCjIwMTUtMTItMTQgMTE6MDk6NDYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIHBsdWdpbnMtYmFkOiBGaXggZXhhbXBsZSBwaXBlbGluZXMKCSAgcmVuYW1lIGdzdC1sYXVuY2ggLS0+IGdzdC1sYXVuY2gtMS4wCgkgIHJlcGxhY2Ugb2xkIGVsZW1lbnRzIHdpdGggbmV3IGVsZW1lbnRzKGZmbXBlZ2NvbG9yc3BhY2UgLT4gdmlkZW9jb252ZXJ0LCBmZmVuY18qKiAtPiBhdmVuY18qKikKCSAgZml4IGNhcHMgaW4gZXhhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTQzMgoKMjAxNS0wOC0xNyAxMTo1MDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBzdGlsbCByZXNldCBwZW5kaW5nIGF1ZGlvIGluZm8gb24gaGFyZCBmbHVzaAoJICBGb2xsb3ctdXAgdG8gcHJldmlvdXMgY29tbWl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDMxCgoyMDE1LTA3LTE1IDEwOjQ0OjAyIC0wNjAwICBKYXNvbiBMaXR6aW5nZXIgPGpsaXR6aW5nZXJAY29udHJvbDQuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGZpeCBoYW5kbGluZyBvZiBzYW1wbGUgcmF0ZSBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrCgkgIElmIHRoZSBzYW1wbGUgcmF0ZSBvZiB0aGUgbWVkaWEgY2hhbmdlcywgdGhlIHJlc3VsdGluZyBmbHVzaCB3aWxsCgkgIGNsZWFyIHRoZSBoYXNfbmV4dF9hdWRpb2luZm8gZmxhZywgYW5kIHRoZSBjYXBzIHdvbid0IGJlIHNlbnQKCSAgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQzMQoKMjAxNS0wOC0xNSAxMjo1ODo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBhdWRpb2RlY29kZXJzOiB1c2UgZGVmYXVsdCBwYWQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgQXZvaWRzIHVzZWxlc3MgY2hlY2sgb2YgZG93bnN0cmVhbSBjYXBzIHdoZW4gaGFuZGxpbmcgYW4KCSAgYWNjZXB0LWNhcHMgcXVlcnkKCSAgRWxlbWVudHM6IGR0c2RlYywgZmFhZCwgZ3NtZGVjLCBtcGcxMjNhdWRpb2RlYywgb3B1c2RlYywKCSAgc2JjZGVjLCBhZHBjbWRlYywgc2lyZW5kZWMKCjIwMTUtMDQtMjYgMTg6MDQ6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgb2Jzb2xldGUgQW5kcm9pZCBidWlsZCBjcnVmdAoJICBUaGlzIGlzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4KCjIwMTUtMDEtMTEgMDE6MDg6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogZml4IGNvbXBpbGVyIHdhcm5pbmcgYW5kIHNpbXBsaWZ5IGNoZWNrcyBpbiBzZXRfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTk1CgoyMDE1LTAxLTAzIDEzOjA2OjQ1ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcmV3b3JrIHNldF9mb3JtYXQgY29kZSBzbyBtcGcxMjNhdWRpb2RlYyB3b3JrcyB3aXRoIGRlY29kZWJpbi9wbGF5YmluCgkgIFRoZSBvbGQgY29kZSB3YXMgdXNpbmcgZ3N0X2NhcHNfbm9ybWFsaXplKCkgYW5kIHdhcyBnZW5lcmFsbHkgb3Zlcmx5CgkgIGNvbXBsZXguIFNpbXBsaWZ5IGJ5IHBpY2tpbmcgc2FtcGxlIHJhdGUgYW5kIG51bWJlciBvZiBjaGFubmVscyBmcm9tCgkgIHVwc3RyZWFtIGFuZCB0aGUgc2FtcGxlIGZvcm1hdCBmcm9tIHRoZSBhbGxvd2VkIGNhcHMuIElmIHRoZSBmb3JtYXQgY2FwcwoJICBpcyBhIGxpc3Qgb2Ygc3RyaW5zLCBqdXN0IHBpY2sgdGhlIGZpcnN0IG9uZS4gQW5kIGlmIHRoZSBzcmNwYWQgaXNuJ3QKCSAgbGlua2VkIHlldCwgdXNlIHRoZSBkZWZhdWx0IGZvcm1hdCAoUzE2KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDE5NQoKMjAxNC0wOS0xMCAxNzoyNDozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgRml4IHVwIG9uZS1lbGVtZW50IGxpc3RzIGluIHRlbXBsYXRlIGNhcHMKCjIwMTQtMDMtMDUgMDA6NTE6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJICB0ZXN0czogZml4IG1wZzEyM2F1ZGlvZGVjIHRlc3QgZm9yIGJpZy1lbmRpYW4gYXJjaGl0ZWN0dXJlcwoKMjAxNC0wMi0wNCAxNzoyMjoyNyArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGltcHJvdmVkIGVycm9yIHJlcG9ydCBhbmQgY2hlY2tzCgkgIFNpZ25lZC1vZmYtYnk6IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCjIwMTMtMTItMDUgMTI6MDQ6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyM2F1ZGlvZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTA3LTI2IDE3OjI1OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIGhhcmRlciA/IDopCgoyMDEzLTA1LTE1IDExOjI1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyM2F1ZGlvZGVjOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEyLTEwLTI0IDEyOjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIGdzdDogQWRkIGJldHRlciBzdXBwb3J0IGZvciBzdGF0aWMgcGx1Z2lucwoKMjAxMy0wNC0xNSAwMDoyMjozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogQWRkIGNvbmRpdGlvbmFsIG9uIEFQSSB2ZXJzaW9uIGZvciBuZXcgZW51bQoKMjAxNi0wMi0xNiAxOTo1OToxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmg6CgkgIGd0ayhnbClzaW5rOiByZW1vdmUgdGhlIHNpZ25hbCBoYW5kbGVycyBvbiBmaW5hbGl6ZQoJICBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHNpbmsgZWxlbWVudCB3aWxsIGJlIGZyZWVkIGJlZm9yZSB0aGUgd2lkZ2V0IGlzCgkgIGRlc3Ryb3llZC4gIFdoZW4gdGhlIHdpZGdldCB3YXMgZXZlbnR1YWxseSBkZXN0cm95ZWQsIGl0IHdhcyBhdHRlbXB0aW5nIHRvCgkgIGFjY2VzcyBtZW1iZXIgdmFyaWFibGVzIG9mIHRoZSBmcmVlZCBzaW5rIHN0cnVjdCB3aGljaCByZXN1bHRlZCBpbiB1bmRlZmluZWQKCSAgYmVoYXZpb3VyLgoJICBGaXggYnkgZGlzY29ubmVjdGluZyBvdXIgc2lnbmFsIG9uIGZpbmFsaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMDk4CgoyMDE2LTAyLTE2IDAwOjE5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSAgcnRwOiBoMjY1OiBob29rIHVwIG1vdmUgUlRQIEguMjY1IHBheWxvYWRlci9kZXBheWxvYWRlciB0byBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE2LTAyLTE2IDAwOjE0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogaDI2NTogdXNlIGNvbW1vbiBtZXRhIHV0aWxpdHkgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMDUgMTg6MTg6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1dHlwZXMuaDoKCSAgcnRwOiBoMjY1OiByZW1vdmUgY29kZWNwYXJzZXIgZGVwZW5kZW5jeSBmcm9tIGgyNjUgcGF5bG9hZGVyL2RlcGF5bG9hZGVyCgkgIExvb2tzIGxpa2UgaXQganVzdCB1c2VzIHRoZSBOQUwgZW51bXMgYW5kIG5vdGhpbmcgZWxzZSBmcm9tCgkgIHRoZSBjb2RlY3BhcnNlcnMsIGFuZCB0aGF0J3MgdGhlIG9ubHkgcmVhc29uIGl0IGhhZCB0byBiZQoJICBtb3ZlZCBmcm9tIC1nb29kIHRvIC1iYWQgd2hlbiBpdCB3YXMgb3JpZ2luYWxseSBhZGRlZC4gV2UKCSAgY2FuIHByb2JhYmx5IGtlZXAgdGhvc2UgTkFMIGVudW1zIHVwIHRvIGRhdGUgZW5vdWdoLCBzbyBsZXQncwoJICByZW1vdmUgdGhlIGNvZGVjcGFyc2VyIGRlcGVuZGVuY3kgc28gaXQgY2FuIGJlIG1vdmVkIGJhY2sgaW50bwoJICAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0xNiAwMDoyNDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAncGx1Z2luLW1vdmUtcnRwLWgyNjUnCgkgIE1vdmUgUlRQIEguMjY1IHBheWxvYWRlci9kZXBheWxvYWRlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMDUgMTU6MzQ6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBnc3RydHBoMjY1ZGVwYXk6IGtlZXAgY29uc2lzdGVuY3kgd2l0aCBydHBoMjY0ZGVwYXkKCSAgVXNlIGdzdF9ydHBfZHJvcF9tZXRhKCkgYW5kIHRoZSBzYW1lIGZ1bmN0aW9uIHByb3RvdHlwZSBmb3IKCSAgZ3N0X3J0cF9jb3B5X21ldGEoKSB0byBrZWVwIGNvbnNpc3RlbmN5IHdpdGggdGhlIFJUUCBlbGVtZW50cyBpbgoJICBnc3QtcGx1Z2lucy1nb29kCgoyMDE2LTAyLTA1IDEzOjU2OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggdGVybWluYXRpb24gb2YgYWNjZXNzIHVuaXQKCSAgT25seSBjb25zaWRlciB0aGUgYWNjZXNzIHVuaXQgY29tcGxldGUgd2hlbiB0aGUgbmV4dC1vY2N1cnJpbmcgVkNMIE5BTCB1bml0CgkgIGhhcyB0aGUgZmlyc3QgYml0IGFmdGVyIGl0cyBOQUwgdW5pdCBoZWFkZXIgZXF1YWwgdG8gMS4KCjIwMTYtMDEtMTUgMTY6MTA6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCB1bm5lZWRlZCBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuIHRocm93IGl0CgkgIGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIgZGlyZWN0bHkuCgoyMDE2LTAxLTE1IDE1OjU2OjU5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGFkZCAic2VuZCBWUFMvU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZSIgbW9kZQoJICBJdCdzIG5vdCBlbm91Z2ggdG8gaGF2ZSB0aW1lb3V0IG9yIGV2ZW50IGJhc2VkIFZQUy9TUFMvUFBTIGluZm9ybWF0aW9uCgkgIHNlbnQgaW4gUlRQIHBhY2tldHMuIFRoZXJlIGFyZSBzb21lIHNjZW5hcmlvcyB3aGVuIGtleSBmcmFtZXMgbWF5IGFwcGVhcgoJICBtb3JlIGZyZXF1ZW50bHkgdGhhbiBvbmNlIGEgc2Vjb25kLCBpbiB3aGljaCBjYXNlIHRoZSBtaW5pbXVtIHRpbWVvdXQKCSAgZm9yICJjb25maWctaW50ZXJ2YWwiIG9mIDEgc2Vjb25kIGZvciBzZW5kaW5nIFZQUy9TUFMvUFBTIGlzbid0IGVub3VnaC4KCSAgSXQgbWlnaHQgYWxzbyBiZSBkZXNpcmFibGUgaW4gZ2VuZXJhbCB0byBtYWtlIHN1cmUgdGhlIFZQUy9TUFMvUFBTIGlzCgkgIGF2YWlsYWJsZSB3aXRoIGV2ZXJ5IGtleWZyYW1lIChwYWNrZXQgbG9zcyBhc2lkZSksIHNvIHJlY2VpdmVycyBjYW4KCSAgYWN0dWFsbHkgcGljayB1cCBkZWNvZGluZyBpbW1lZGlhdGVseSBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBpZgoJICBWUFMvU1BTL1BQUyBpcyBub3Qgc2lnbmFsZWQgb3V0IG9mIGJhbmQuCgkgIFRoaXMgY29tbWl0IGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIHNlbmQgVlBTL1NQUy9QUFMgd2l0aCBldmVyeSBrZXkgZnJhbWUuCgkgIFRoaXMgbW9kZSBjYW4gYmUgZW5hYmxlZCBieSBzZXR0aW5nICJjb25maWctaW50ZXJ2YWwiIHByb3BlcnR5IHRvIC0xLiBJbgoJICB0aGlzIGNhc2UgdGhlIHBheWxvYWRlciB3aWxsIGFkZCBWUFMsIFNQUyBhbmQgUFBTIGJlZm9yZSBldmVyeSBrZXkgKElEUikKCSAgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTYtMDEtMTUgMTU6MTk6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cGgyNjVwYXk6IGNoYW5nZSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdHlwZSBmcm9tIHVpbnQgdG8gaW50CgkgIFRoaXMgd2F5IHdlIGNhbiB1c2UgLTEgYXMgc3BlY2lhbCB2YWx1ZSwgd2hpY2ggaXMgbmljZXIgdGhhbiBNQVhVSU5ULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODkyCgoyMDE1LTA4LTE1IDE2OjIyOjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBtYWtlIHN1cmUgd2UgY2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTAoJICBDYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMIGluIHRoZSBTVEFQLUEgUlRQIHBhY2tldC4gVGhpcyBtYWtlcyBzdXJlCgkgIHdlIGNvcnJlY3RseSBleHRyYWN0IHRoZSBTUFMgYW5kIFBQUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDk5OQoKMjAxNS0wOC0xNSAxNDo0NTozNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBDb3B5IG1ldGFkYXRhIGluIHRoZSBwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTUgMTE6NDE6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogVXNlIEdTVF9XQVJOSU5HX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX1dBUk5JTkcoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTE1IDExOjMwOjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggd2hlbiBzaHV0dGluZyBkb3duCgkgIEEgcmFjZSBjb25kaXRpb24gaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBtYXkgY2F1c2UgYnVmZmVycyB0byBiZQoJICB1bnJlZmZlZCB3aGlsZSB0aGV5IGFyZSBzdGlsbCB1c2VkIGJ5IHRoZSBzdHJlYW1pbmcgdGhyZWFkIGluCgkgIGdzdF9ydHBfaDI2NV9wYXlfc2VuZF92cHNfc3BzX3BwcygpIHJlc3VsdGluZyBpbiBhIGNyYXNoLiBDaGFpbiB1cCB0byB0aGUKCSAgcGFyZW50IGNsYXNzIGZpcnN0IGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHN0cmVhbWluZwoJICBoYXMgc3RvcHBlZCBhbmQgb25seSB0aGVuIGZyZWUgdGhvc2UgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTM4MQoKMjAxNS0wOC0xNCAxNTowODowOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBmaXggYnVmZmVyIGxlYWsgd2hlbiB1c2luZyBTUFMvUFBTCgkgIEZpeGVzIGEgYnVmZmVyIGxlYWsgdGhhdCB3b3VsZCBvY2N1ciBpZiB0aGUgcGlwZWxpbmUgd2FzIHNodXRkb3duIHdoaWxlIGEKCSAgU1BTL1BQUyBoZWFkZXIgd2FzIGJlaW5nIGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNzEKCjIwMTUtMDgtMTQgMTE6NDk6NTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBydHBoMjY1ZGVwYXk6IGNvcHkgbWV0YWRhdGEgaW4gdGhlIGRlcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTEyIDE3OjU0OjUyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBjaGVja2luZyBpZiBkZXBheSBoYXMgc3BzL3BwcyBuYWxzIGJlZm9yZSBpbnNlcnRpb24KCSAgUmVsYXRlZCB0bzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQzMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE3OjIyOjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBvbmx5IHVwZGF0ZSB0aGUgc3JjcGFkIGNhcHMgaWYgc29tZXRoaW5nIGVsc2UgdGhhbiB0aGUgY29kZWNfZGF0YSBjaGFuZ2VkCgkgIGgyNjRwYXJzZSBhbmQgZ3N0cnRwaDI2NGRlcGF5IGRvIHRoZSBzYW1lLCBsZXQncyBrZWVwIHRoZSBiZWhhdmlvdXIKCSAgY29uc2lzdGVudC4gQXMgd2Ugbm93IGluY2x1ZGUgdGhlIGNvZGVjX2RhdGEgaW5zaWRlIHRoZSBzdHJlYW0sIHRoaXMgY2F1c2VzCgkgIGxlc3MgY2FwcyByZW5lZ290aWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE2OjQzOjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBQUFMgcmVwbGFjZXMgb2xkIFBQUyBpZiBpdCBoYXMgdGhlIHNhbWUgaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNjoxMTowMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogSW5zZXJ0IFNQUy9QUFMgTkFMcyBpbnRvIHRoZSBzdHJlYW0KCSAgcnRwaDI2NGRlcGF5IGRvZXMgdGhlIHNhbWUgYW5kIHRoaXMgZml4ZXMgZGVjb2Rpbmcgb2Ygc29tZSBzdHJlYW1zIHdpdGggMzIKCSAgU1BTIChvciAyNTYgUFBTKS4gSXQgaXMgYWxsb3dlZCB0byBoYXZlIFNQUyBJRCAwIHRvIDMxIChvciBQUFMgSUQgMCB0byAyNTUpLAoJICBidXQgdGhlIGZpZWxkIGluIHRoZSBjb2RlY19kYXRhIGZvciB0aGUgbnVtYmVyIG9mIFNQUyBvciBQUFMgaXMgb25seSA1CgkgIChvciA4KSBiaXQuIEFzIHN1Y2gsIDMyIFNQUyAob3IgMjU2IFBQUykgYXJlIGludGVycHJldGVkIGFzIDAgZXZlcnl3aGVyZS4KCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSBpbiB0aGUgcGFydCBvZiB0aGUgc3BlY3QgYWJvdXQgdGhlIGNvZGVjX2RhdGEuCgoyMDE1LTA4LTEyIDE1OjQ5OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBpbXBsZW1lbnQgcHJvY2Vzc19ydHBfcGFja2V0KCkgdmZ1bmMKCSAgRm9yIG1vcmUgb3B0aW1pc2VkIFJUUCBwYWNrZXQgaGFuZGxpbmc6IG1lYW5zIHdlIGRvbid0IG5lZWQgdG8gbWFwIHRoZQoJICBpbnB1dCBidWZmZXIgYWdhaW4gYnV0IGNhbiBqdXN0IHJlLXVzZSB0aGUgbWFwcGluZyB0aGUgYmFzZSBjbGFzcyBoYXMKCSAgYWxyZWFkeSBkb25lLgoJICBCYXNlZCBvbjogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDIzNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE1OjE0OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBVc2UgR1NUX0JVRkZFUl9QVFMoKSBpbnN0ZWFkIG9mIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkKCSAgU3dpdGNoaW5nIHRvIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHJ0cCBjb2RlLgoKMjAxNS0wOC0xMiAxNDo1OTo1MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogcHJldmVudCB0cnlpbmcgdG8gZ2V0IDAgYnl0ZXMgZnJvbSBhZGFwdGVyCgkgIFRoaXMgY2F1c2VzIGFuIGFzc2VydGlvbiBhbmQgd291bGQgbGVhZCB0byBnZXR0aW5nIGEgTlVMTCBpbnN0ZWFkCgkgIG9mIGEgYnVmZmVyLiBXaXRob3V0IHByb3BlciBjaGVja2luZyB0aGlzIHdvdWxkIGVhc2lseSBsZWFkIHRvIGEKCSAgc2VnZmF1bHQuCgkgIFJlbGF0ZWQgdG8gcnB0aDI2NGRlcGF5OiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTk5CgoyMDE1LTA3LTI5IDE3OjI5OjI4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBWYWx1ZSBzZXQgdG8gcmV0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gYXQgbGVhc3Qgb25jZSBhdCB0aGUgZW5kIG9mIHRoZSB3aGlsZQoJICBsb29wLCByZW1vdmluZyBhc3NpZ25tZW50LgoKMjAxNS0wNC0yNCAxNjo0ODoyMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICByZW1vdmUgdW51c2VkIGVudW0gaXRlbXMgUFJPUF9MQVNUCgkgIFRoaXMgd2VyZSBwcm9iYWJseSBhZGRlZCB0byB0aGUgZW51bXMgZHVlIHRvIGNhcmdvIGN1bHQgcHJvZ3JhbW1pbmcgYW5kIGFyZQoJICB1bnVzZWQuCgoyMDE1LTAzLTA2IDE0OjU0OjQxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBkb25sX3ByZXNlbnQgdmFyaWFibGUgdW51c2VkCgkgIGRvbmxfcHJlc2VudCBpcyBub3QgaW1wbGVtZW50ZWQsIHlldCB0aGUgdmFsdWUgaXMgc2V0IGFuZCBjaGVja2VkIGEgZmV3IHRpbWVzLgoJICBDbGVhbmluZyB0aGlzLgoJICBDSUQgIzEyNDk2ODcKCjIwMTUtMDEtMDggMTU6MzY6MDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiB2YWx1ZSB0cnVuY2F0ZWQgdG9vIHNob3J0IGNyZWF0ZXMgZGVhZCBjb2RlCgkgIHR5cGUgaXMgdHJ1bmNhdGVkIHRvIDAtMzEgd2l0aCAiJiAweDFmIiwgYnV0IHJpZ2h0IGFmdGVyIHRoYXQgaXQgaXMgY2hlY2tzIGlmCgkgIHRoZSB2YWx1ZSBpcyBlcXVpdmFsZW50IHRvIEdTVF9IMjY1X05BTF9WUFMsIEdTVF9IMjY1X05BTF9TUFMsIGFuZAoJICBHU1RfSDI2NV9OQUxfUFBTICh3aGljaCBhcmUgMzIsIDMzLCBhbmQgMzQgcmVzcGVjdGl2ZWx5KS4gT2J2aW91c2x5LCB0aGlzIHdpbGwKCSAgbmV2ZXIgYmUgVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgbWF4aW11bSAzMSBhZnRlciB0aGUgdHJ1bmNhdGlvbi4KCSAgVGhlIGludGVudGlvbiBvZiB0aGUgY29kZSB3YXMgdG8gdHJ1bmNhdGUgdG8gMC02My4KCjIwMTUtMDEtMDggMTU6Mjc6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGZpeCBuYWwgdW5pdCB0eXBlIGNoZWNrCgkgIEFmdGVyIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbiB0aGUgcHJldmlvdXMgY29tbWl0IGlzIHdyb25nLiBUaGUgY29kZSBpbnRlbmRlZCB0bwoJICBjaGVjayBpZiB0aGUgdHlwZSBpcyAzOSBvciB0aGUgcmFuZ2VzIDQxLTQ0IGFuZCA0OC01NS4gSnVzdCBsaWtlIGdzdGgyNjVwYXJzZS5jCgkgIGRvZXMuIFR5cGUgNDAgd291bGQgbm90IGJlIGNvbXBsZXRlLgoKMjAxNS0wMS0wOCAxMzo0NzowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZml4IGRlYWQgY29kZSBhbmQgY2hlY2sgZm9yIGltcG9zc2libGUgdmFsdWVzCgkgIG5hbF90eXBlIGlzIHRoZSBpbmRleCBmb3IgYSBHc3RIMjY1TmFsVW5pdFR5cGUgZW51bS4gVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBkZWFkCgkgIGNvZGUgaGVyZToKCSAgRmlyc3QsIGFmdGVyIGNoZWNraW5nIGlmIG5hbF90eXBlIGlzID49IDM5IHRoZXJlIGFyZSB0d28gT1IgY29uZGl0aW9uYWxzIHRoYXQKCSAgY2hlY2sgaWYgdGhlIHZhbHVlIGlzIGluIHJhbmdlcyBoaWdoZXIgdGhhbiB0aGF0IG51bWJlciwgc28gaWYgbmFsX3R5cGUgPj0gMzkKCSAgZmFsbHMgaW4gdGhlIFRydWUgYnJhbmNoIHRob3NlIG90aGVyIGNvbmRpdGlvbnMgYXJlbid0IGNoZWNrZWQgYW5kIGlmIGl0IGZhbGxzCgkgIGluIHRoZSBGYWxzZSBicmFuY2ggYW5kIHRoZXkgYXJlIGNoZWNrZWQsIHRoZXkgd2lsbCBhbHdheXMgYWxzbyBiZSBGYWxzZS4gVGhleQoJICBhcmUgcmVkdW5kYW50LgoJICBTZWNvbmQsIHRoZSBlbnVtIGhhcyBhIHJhbmdlIG9mIDAgdG8gNDAuIFNvIHRoZSBjaGVja3MgZm9yIHJhbmdlcyBoaWdoZXIgdGhhbiA0MQoJICBzaG91bGQgbmV2ZXIgYmUgVHJ1ZS4KCSAgUmVtb3ZpbmcgdGhpcyByZWR1bmRhbnQgY2hlY2tzLgoJICBDSUQgMTI0OTY4NAoKMjAxNC0xMC0xNiAxMDozNDowMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwOiBhZGQgaDI2NSBSVFAgcGF5bG9hZGVyICsgZGVwYXlsb2FkZXIKCjIwMTYtMDItMTUgMTE6NTE6NDYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IHJ0cG11eDogRml4IGVsZW1lbnQgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjA1NwoKMjAxNi0wMi0xMiAyMDo1NzoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogcmV3b3JrIHRoZSBzY2FsaW5nIGNvZGUKCSAgVGhlIHJ1bm5pbmcgYXZlcmFnZSB3YXMgd3JvbmcgYW5kIHRoZSByZXN1bHRpbmcgc2NhbGluZyBmYWN0b3Igd2FzIG9ubHkgaGVsZCBpbgoJICBwbGFjZSB1c2luZyB0aGUgQ0xBTVAuIEluIGFkZHRpb24gd2UgYXJlIG5vdyBjb252ZXJpbmcgcXVpY2tseSB0byB2b2x1bWUKCSAgY2hhbmdlcy4KCSAgRkluYWxseSBub3cgd2l0aCB0aGlzIGNoYW5nZSwgd2UgY2FuIGNoYW5nZSB0aGUgcmVzb2x1dGlvbiBkZWZpbmVzIGFuZAoJICBldmVyeXRoaWduIGFkanVzdHMuCgoyMDE2LTAxLTI4IDE3OjAwOjU1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5oOgoJICBtb25vc2NvcGU6IHVzZSBjb25zdGFudHMgaW4gdGhlIGRyYXdpbmcgY29kZQoJICBNYWtlIGFsbCB0aGUgZHJhd2luZyBvcHMgYmUgYmFzZWQgb24gdGhlIGNvbnN0YW50cy4gVGhpcyB3YXkgd2UgY2FuIGNoYW5nZQoJICB0aGUgZml4ZWQgc2l6ZSBhdCBsZWFzdCBhdCBjb21waWxlIHRpbWUuCgoyMDE2LTAxLTI4IDA5OjUxOjE3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiByZXBsYWNlIGhhcmRjb2RlZCB2YWx1ZXMgYnkgY29uc3RhbnRzCgkgIFRoaXMgYXQgbGVhc3QgZXN0YWJsaXNoZXMgdGhlIHJlbGF0aW9uc2hpcC4KCjIwMTYtMDEtMjggMDk6NDM6MTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuaDoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuaDoKCSAgbW9ub3NjcGU6IG1ha2UgdGhlIGNvbnZvbHZlciB1c2UgZHluYW1pYyBtZW1vcnkKCSAgUmVwbGFjZSBhbGwgI2RlZmluZXMgd2l0aCBtZW1iZXJzIGFuZCBpbml0aWFsaXplIHRoZSBjb252b2x2ZXIgd2l0aCBhIHBhcmFtZXRlci4KCjIwMTYtMDEtMjggMDg6NTY6NDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL1JFQURNRToKCSAgbW9ub3Njb3BlOiB1cGRhdGUgUkVBRE1FCgkgIFdlIGNhbiBhbHJlYWR5IGNyZWF0ZSBtdWx0aXBsZSBpbnN0YW5jZXMuCgoyMDE2LTAxLTI4IDA4OjUzOjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IGNvZGUgY2xlYW51cAoJICBVc2UgY29uc3RhbnRzIG1vcmUgb2Z0ZW4uIENsZWFudXAgY29tbWVudHMgYW5kIGFkZCBtb3JlIHRvIGV4cGxhaW4gaG93IHRoaW5ncwoJICB3b3JrLgoKMjAxNi0wMi0wOSAxMjoxNDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBnbHN5bmNtZXRhOiBzZXBhcmF0ZSBvdXQgZ3B1L2NwdSB3YWl0cy4KCSAgQ1BVIHdhaXRzIGFyZSBtb3JlIGV4cGVuc2l2ZSBhbmQgYXJlIG9ubHkgcmVxdWlyZWQgaWYgdGhlIENQVSBpcyBldmVyIGdvaW5nIHRvCgkgIGFjY2VzcyB0aGUgZGF0YS4gR1BVIHdhaXRzIHBlcmZvcm0gaW50ZXItY29udGV4dCBzeW5jaHJvbmlzYXRpb24gYW5kIGFyZSBjaGVhcGVyCgkgIGFzIHRoZXkgZG9uJ3QgcmVxdWlyZSBDUFUgaW50ZXJ2ZW50aW9uLgoKMjAxNi0wMi0wOCAyMzo0MTozMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGNoZWNrIGZvciBpbXBvc3NpYmxlIGNvbmRpdGlvbgoJICBDb21taXQgYmQyN2ExZjMwYjQ0NThmMmVkZWU1M2M3NmRkMDdmYjM1OTA0YjYxZCBhZGRlZCBhIGZldyBlcnJvciBoYW5kbGluZwoJICBtZW1vcnkgbWFuYWdlbWVudCBjaGVja3MuIFRoZXNlIGNoZWNrIHNyY2NhcHMgdG8gc2VlIGlmIGl0IG5lZWRzIHRvIGJlCgkgIHVucmVmZXJlbmNlZCBiZWZvcmUgcmV0dXJuaW5nLCBpbiB0aGUgY2FzZSBvZiBpbnZhbGlkX2NhcHMgdGhpcyBnb3RvIGp1bXAKCSAgYWx3YXlzIGhhcHBlbnMgYmVmb3JlIHNyY2NhcHMgaXMgc2V0LCBzbyBpdCB3aWxsIGFsd2F5cyBiZSBOVUxMIGluIHRoaXMKCSAgZXJyb3IgbGFiZWwuCgkgIENJRCAjMTM1MjAzNQoKMjAxNi0wMi0wOCAxMjo0ODo0NiArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzA1CgoyMDE2LTAyLTA4IDE1OjMxOjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggc3BlbGxpbmcgb2YgcmVlbnF1ZXVlaW5nCgkgIFRvIG1hdGNoIGNvbW1pdCA3ZDcwNzRjZWYwMjcyY2Q1MTU1MDk4YmZjMmJkYTY4NDlkZDg5MjY3LiBJIGxvdmUgdGhlIGlkZWEKCSAgb2YgYWltaW5nIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2YgY29uc2VjdXRpdmUgdm93ZWxzLgoKMjAxNi0wMi0wOCAxMDoxNzo0OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggc3BlbGxpbmcgb2YgcXVldWVpbmcKCSAgRGlkbid0IGtub3cgd2hpY2ggb25lIHRvIGNob29zZSBiZXR3ZWVuIHF1ZXVpbmcgYW5kIHF1ZXVlaW5nLCBzbyBJIHBpY2tlZAoJICB0aGUgb25lIHdpdGggdGhlIGJpZ2dlc3QgYW1vdW50IG9mIHZvd2VscyBpbiBhIHJvdyA7LVAgKGJvdGggYXJlCgkgIGFjY2VwdGFibGUgYXBwYXJlbnRseSkKCjIwMTYtMDItMDcgMTU6MDI6MzUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRG9uJ3QgcGFzcyB0aGUgc2FtZSBkYXRhIG92ZXIgYW5kIG92ZXIKCSAgV2UgYWxyZWFkeSBwYXNzIHRoZSBlbnRpcmUgZnJhbWUgdG8gdGhlIGRlY29kZXIuIElmIHRoZSBkZWNvZGVyIGFzayBmb3IKCSAgbW9yZSBkYXRhLCBkb24ndCBwYXNzIHRoZSBzYW1lIGRhdGEgYWdhaW4gYXMgdGhpcyBsZWFkcyB0byBpbmZpbml0IGxvb3AuCgkgIEluc3RlYWQsIHNpbXBseSBmYWlsIHRoZSBmaWxsIGZ1bmN0aW9uIHRvIHNpZ25hbCB0aGUgcHJvYmxlbSB3aXRoIHRoYXQKCSAgZnJhbWUuIEl0IHdpbGwgdGhlbiBiZSBza2lwcGVkIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjcwCgoyMDE2LTAyLTA4IDAwOjEwOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2x6by5jOgoJICBtYXRyb3NrYTogZ2V0IHJpZCBvZiBfc3RkaW50LmggaW5jbHVkZQoKMjAxNi0wMi0wNSAyMDowMDo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBleHRlbmQgdGhlIEFNX1RFU1RTX0VOVklST05NRU5UIGZyb20gY2hlY2subWFrCgkgIFRvIGdldCB0aGUgQ0tfREVGQVVMVF9USU1FT1VUIGRlZmluZWQgZm9yIGFsbCB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDcyCgoyMDE2LTAyLTA1IDE4OjA0OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg2ZTQ2NjMgdG8gYjY0ZjAzZgoKMjAxNi0wMS0yNCAxNTo0NzoxMiArMDEwMCAgSG9sZ2VyIEthZWxiZXJlciA8aG9sZ2VyLmtAZWxiZXJlci5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLnFtbDoKCSAgdGVzdHM6IGZpeCB3YXJuaW5nIGluIHFtbCBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwODIKCjIwMTYtMDEtMzAgMTg6NDM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogU2tpcCBBUFAgYW5kIEpQRyBtYXJrZXJzIGFuZCBwcmludCB3YXJuaW5ncyBmb3IgdW5rbm93biBtYXJrZXJzCgkgIEZvciBBUFAvSlBHIG1hcmtlcnMgdGhlIHNpemUgaXMgZm9sbG93aW5nIGFuZCB3ZSBoYXZlIHRvIHNraXAgdGhhdC4gVGhpcyBpcwoJICBub3QgcmVhbGx5IGEgcHJvYmxlbSB1bmxlc3MgdGhlIG1hcmtlciBjb250YWlucyBlLmcuIGEgcHJldmlldyBKUEVHIG9yCgkgIHNvbWV0aGluZyBlbHNlIHRoYXQgd2UgbWlnaHQgaW50ZXJwcmV0ZSBhcyBhbm90aGVyIG1hcmtlci4KCjIwMTYtMDEtMjYgMjI6Mzc6MzAgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24gZm9yIGZyYWdtZW50ZWQgZm9ybWF0CgkgIHF0ZGVtdXggY2FsY3VsYXRlcyBmcmFtZXJhdGUgdXNpbmcgZHVyYXRpb24gYW5kIHRoZSBudW1iZXIgb2Ygc2FtcGxlLgoJICBJbiBjYXNlIG9mIGZyYWdtZW50ZWQgbXA0IGZvcm1hdCwgaG93ZXZlciwgdGhlIG51bWJlciBvZiBzYW1wbGUgY2FuCgkgIGJlIGZpZ3VyZSBvdXQgYWZ0ZXIgcGFyc2luZyBldmVyeSBtb29mIGJveC4gQmVjYXVzZSBxdGRlbXV4IGRvZXMgbm90CgkgIHBhcnNlIGV2ZXJ5IG1vb2YgaW4gUVRERU1VWF9TVEFURV9IRUFERVIgc3RhdGUsIGl0IHdpbGwgY2F1c2UgaW5jb3JyZWN0CgkgIGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCSAgVGhpcyBwYXRjaCB3aWxsIHRyaWdlciBnc3RfcXRkZW11eF9jb25maWd1cmVfc3RyZWFtKCkgZm9yIGV2ZXJ5IG5ldyBtb29mLgoJICBUaGVuLCBmcmFtZXJhdGUgd2lsbCBiZSBjYWxjdWxhdGVkIGJ5IHVzaW5nIGR1cmF0aW9uIGFuZCBuX3NhbXBsZXMgb2YgdGhlIG1vb2YuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3NzQKCjIwMTYtMDEtMjggMjI6MzY6MjMgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsaW5nIHplcm8gc2VnbWVudC1kdXJhdGlvbiBlZGl0IGxpc3QKCSAgQmFzZWQgb24gZG9jdW1lbnQgSVNPX0lFQ18xNDQ5Ni0xMiwgZWRpdCBsaXN0IGJveCBjYW4gaGF2ZQoJICBzZWdtZW50IGR1cmF0aW9uIGFzIHplcm8uIEl0IGRvZXMgbm90IGltcGx5IHRoYXQgbWVkaWFfc3RhcnQgZXF1YWxzIHRvCgkgIG1lZGlhX3N0b3AuIEJ1dCwgaXQganVzdCBpbmRpY2F0ZXMgYSBzYW1wbGUgd2hpY2ggc2hvdWxkIGJlIHByZXNlbnRlZAoJICBhdCB0aGUgZmlyc3QuIFRoaXMgcGF0Y2ggZGVyaXZlcyBzZWdtZW50IGR1cmF0aW9uIHVzaW5nIG1lZGlhX3RpbWUKCSAgYW5kIGR1cmF0aW9uIG9mIGZpbGUuIEFuZCBzZXQgZGVyaXZlZCBkdXJhdGlvbiB0byBzZWdtZW50LWR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzgxCgoyMDE2LTAxLTI4IDIxOjM2OjU0ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZXhwb3NlIHN0cmVhbXMgd2l0aCBmaXJzdCBtb29mIGZvciBmcmFnbWVudGVkIGZvcm1hdAoJICBJbiBjYXNlIG9mIHB1c2ggbW9kZSwgcXRkZW11eCBleHBvc2Ugc3RyZWFtcyBhZnRlciBnb3QgbW9vdiBib3guCgkgIFdlIGNhbiBub3QgZ3VhcmFudGVlIHRoYXQgYSBtb292IGJveCBoYXMgc2FtcGxlIGRhdGEgc3VjaCBhcyBzYW1wbGUgZHVyYXRpb24KCSAgYW5kIHRoZSBudW1iZXIgb2Ygc2FtcGxlIGluIHN0YmwgYm94IGZvciBmcmFnbWVudGVkIGZvcm1hdCBjYXNlLgoJICBTbywgaWYgYSBtb292IGhhcyBubyBzYW1wbGUgZGF0YSwgc3RyZWFtcyB3aWxsIG5vdCBiZSBleHBvc2VkIHVudGlsIGdldCB0aGUgZmlyc3QgbW9vZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDc3OQoKMjAxNi0wMS0yNyAxODo0ODoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2hlY2sgZm9yIHN1YnNldCBpbnN0ZWFkIG9mIG5vbi1lbXB0eSBpbnRlcnNlY3Rpb24gZm9yIEFDQ0VQVF9DQVBTCgoyMDE2LTAxLTI3IDE4OjQ0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBVbnNldCBSRUNPTkZJR1VSRSBmbGFnIG9uIHNyY3BhZCB3aGVuZXZlciB3ZSBjb25maWd1cmUgbmV3IGNhcHMKCSAgUHJldmVudHMgZG91YmxlLW5lZ290aWF0aW9uIGR1cmluZyBzdGFydHVwIGFuZCBpbiBzb21lIG90aGVyIGNhc2VzLgoKMjAxNi0wMS0yNyAxNjo0MzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgbmVnb3RpYXRpb24gdW5pdCB0ZXN0cyBmb3IgYWxsIDQgbW9kZXMKCSAgVGhlc2Ugbm93IGNoZWNrIHRoZSBvdXRwdXQgY2FwcyBiYXNlZCBvbiB0aGUgaW5wdXQgY2FwcyBhbmQgYSBmb2xsb3dpbmcKCSAgY2Fwc2ZpbHRlciBhbmQgbWFrZSBzdXJlIHRoZSBjYXBzIGFyZSBleGFjdGx5IGFzIGV4cGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTk1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODgKCjIwMTYtMDEtMjYgMTc6Mzk6MjAgKzAxMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEbyBwYXNzdGhyb3VnaCBpbiBhdXRvIG1vZGUgaWYgZG93bnN0cmVhbSBvbmx5IHN1cHBvcnRzIGludGVybGFjZWQKCSAgSWYgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CgkgIDEpIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIGNhcHMgYXJlIGNvbXBhdGlibGUKCSAgMikgdXBzdHJlYW0gaXMgaW50ZXJsYWNlZAoJICAzKSBkb3duc3RyZWFtIGRvZXNuJ3Qgc3VwcG9ydCBwcm9ncmVzc2l2ZSBtb2RlCgkgIHRoZW4gZGVpbnRlcmxhY2Ugd2lsbCBqdXN0IGRvIHBhc3N0aHJvdWdoIGluc3RlYWQgb2YgZmFpbGluZyB0byBsaW5rLgoJICBUaGlzIGlzIGRvbmUgd2l0aCB0aGUgZm9sbG93aW5nIHNjZW5hcmlvIGluIG1pbmQ6CgkgIHZpZGVvdGVzdHNyYyAhICJ2aWRlby94LXJhdyxpbnRlcmxhY2UtbW9kZT1pbnRlcmxlYXZlZCIgISBkZWludGVybGFjZQoJICBuYW1lPWRlaW5fc3JjICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZGVpbnRlcmxhY2UgbmFtZT1kZWluX2ZpbGUgISBmaWxlc2luayB0LiAhCgkgIHF1ZXVlICEgZGVpbnRlcmxhY2UgbmFtZT1kZWluX2Rlc2t0b3AgISBhdXRvdmlkZW9zaW5rCgkgIEluIHRoaXMgY2FzZSwgZGVpbl9zcmMgd2lsbCBkbyB0aGUgZGVpbnRlcmxhY2luZy4gSG93ZXZlciwKCSAgdmlkZW90ZXN0c3JjICEgInZpZGVvL3gtcmF3LGludGVybGFjZS1tb2RlPWludGVybGVhdmVkIiAhIGRlaW50ZXJsYWNlCgkgIG5hbWU9ZGVpbl9zcmMgISB0ZWUgbmFtZT10ICEgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZmlsZSAhIGZpbGVzaW5rIHQuICEKCSAgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZGVza3RvcCAhIGF1dG92aWRlb3NpbmsgdC4gISBxdWV1ZSAhCgkgICJ2aWRlby94LXJhdyxpbnRlcmxhY2UtbW9kZT1pbnRlcmxlYXZlZCIgISBmYWtlc2luawoJICBJbiB0aGlzIGNhc2UsIGNhcHMgYXV0by1uZWdvdGlhdGlvbiB3aWxsIG1ha2UgZGVpbl9maWxlIGFuZCBkZWluX2Rlc2t0b3AgZG8KCSAgdGhlIGRlaW50ZXJsYWNpbmcsIHdoaWxlIGRlaW5fc3JjIHdpbGwgYmUgcGFzc3Rocm91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5OTUKCjIwMTYtMDEtMjYgMTg6MDU6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBBZGQgbW9kZT1hdXRvLXN0cmljdAoJICBJbiB0aGlzIG1vZGUgd2Ugd2lsbCBwYXNzdGhyb3VnaCBhbGwgcHJvZ3Jlc3NpdmUgY2FwcyBidXQgaW50ZXJsYWNlZCBjYXBzIG11c3QgYmUKCSAgY2FwcyB3aGVyZSB3ZSBhY3R1YWxseSBzdXBwb3J0IGRlaW50ZXJsYWNpbmcuCgkgIFRoaXMgaXMgdGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuIGF1dG8gYW5kIGF1dG8tc3RyaWN0LCBhdXRvIHdvdWxkCgkgIHBhc3N0aHJvdWdoIGFsbCB1bnN1cHBvcnRlZCBpbnRlcmxhY2VkIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODgKCjIwMTYtMDEtMjYgMTc6NTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCByZWNvbmZpZ3VyYXRpb24gYSBiaXQgYmV0dGVyCgkgIEFuZCBlLmcuIGNvbnNpZGVyIHJlY29uZmlndXJhdGlvbiBjYXVzZWQgYnkgUkVDT05GSUdVUkUgZXZlbnRzIHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4OAoKMjAxNi0wMS0yNiAxMTo1NzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmV3cml0ZSBjYXBzIG5lZ290aWF0aW9uCgkgIFByZXZpb3VzbHkgdGhlIHJlc3VsdCBvZiB0aGUgQ0FQUyBxdWVyeSBhbmQgQUNDRVBUX0NBUFMgZGVwZW5kZWQgb24gd2hhdCBraW5kCgkgIG9mIGNhcHMgd2VyZSBsYXN0IHNldCwgYW5kIGUuZy4gaWYgd2UgbGFzdCBoYWQgaW50ZXJsYWNlZCBjYXBzIG9yIG5vdC4gVGhhdCdzCgkgIGp1c3QgYnJva2VuLgoJICBBbHNvIHByZXZpb3VzbHkgdGhlIGhhbmRsaW5nIG9mIG5vbi1zeXNtZW0gY2FwcyBmZWF0dXJlcyB3YXMgcmF0aGVyIHJhbmRvbSBhbmQKCSAgdW51c3VhYmxlLgoJICBOb3cgdGhlIGJlaGF2aW91ciBpcyB0aGUgZm9sbG93aW5nLCBkZXBlbmRpbmcgb24gdGhlIG1vZGUgcHJvcGVydHk6CgkgIDEpIG1vZGU9ZGlzYWJsZWQKCSAgQ29tcGxldGVseSBkbyBwYXNzdGhyb3VnaCBvZiBldmVyeXRoaW5nCgkgIDIpIG1vZGU9aW50ZXJsYWNlZAoJICBPbmx5IGFjY2VwdCBmb3JtYXRzIHdlIGNhbiBhY3R1YWxseSBkZWludGVybGFjZSwgYW5kIGFjY2VwdCBpbnRlcmxhY2VkCgkgIGFuZCBwcm9ncmVzc2l2ZSBjb250ZW50IGFuZCBhbHdheXMgcnVuIHRoZSBkZWludGVybGFjZXIgYW5kIG91dHB1dAoJICBwcm9ncmVzc2l2ZSBjb250ZW50CgkgIDMpIG1vZGU9YXV0byAoaS5lLiBwbGF5YmluKQoJICBBY2NlcHQgYWxsIHByb2dyZXNzaXZlIGZvcm1hdHMgYXMgcGFzc3Rocm91Z2gsIGFjY2VwdCBhbGwgZm9ybWF0cyB0aGF0IHdlCgkgIGNhbiBkZWludGVybGFjZSBvdXJzZWx2ZXMgKHdoaWNoIHdlIGRvIHRoZW4pLCBidXQgYWxzbyBhY2NlcHQgZXZlcnl0aGluZwoJICBlbHNlIGZvciB3aGljaCB3ZSB0aGVuIGp1c3QgcGFzc3Rocm91Z2guIEluIGF1dG8gbW9kZSwgZGVpbnRlcmxhY2luZyBpcyBiZXN0CgkgIGVmZm9ydDogSWYgd2UgY2FuLCB3ZSBkZWludGVybGFjZSwgaWYgd2UgY2FuJ3Qgd2UganVzdCBvdXRwdXQgaW50ZXJsYWNlZAoJICBjb250ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzg4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTMKCjIwMTYtMDEtMjYgMTE6MzQ6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJlbW92ZSB1bnVzZWQsIG9ic29sZXRlIGJ1ZmZlcmFsbG9jIGNvZGUKCjIwMTYtMDEtMjYgMTg6NTA6MzggKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgQV9BQUMgaW5zdGVhZCBvZiBBX0FBQy9NUEVHeC95CgkgIFNvbWUgR29vZ2xlQ2FzdCBjb21wYXRpYmxlIGRldmljZXMgaWdub3JlIEFfQUFDL01QRUd4L3kgdHJhY2tzOyBBbHNvIGFjY29yZGluZyB0byBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1NYXRyb3NrYSBBX0FBQy9NUEVHeC95IGlzIG9ic29sZXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjExNDQKCjIwMTYtMDEtMjUgMTc6MjE6MjQgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBnc3Q6IEZpeCB1bmludGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZ3MKCSAgV2hpbGUgY3Jvc3MtY29tcGlsaW5nIHdpdGggTGluYXJvIEdDQyA1LjEtMjAxNS4wOCwgaXQgY29tcGxhaW5lZAoJICBhYm91dCBhIGNvdXBsZSB1bml0aWFsaXplZCB2YXJpYWJsZXMuCgkgIFRoaXMgcGF0Y2ggaW5pdGlhbGl6ZXMgdGhlbSB0byB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDk0CgoyMDE2LTAxLTI1IDE2OjI5OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJICBxdDogc3BlY2lmeSB0aGF0IHdlIGN1cnJlbnRseSBvbmx5IHRha2UgMkQgdGV4dHVyZXMKCSAgRml4ZXMgYmxhY2sgc2NyZWVuIHZpZGVvIHBsYXliYWNrIG9uIGFuZHJvaWQgd2l0aG91dCBhIGNhcHMgZmlsdGVyLgoKMjAxNi0wMS0yNSAxNTowMzoyMyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4c3JjOiBwcmludCBwb3RlbnRpYWxseSBuZWdhdGl2ZSBvZmZzZXQgd2l0aCBhIHNpZ24KCjIwMTYtMDEtMjEgMTc6NDE6NTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogUmUtYWRkIGNvbG9yaW1ldHJ5IGZpZWxkIGZvciBSR0IgZm9ybWF0cwoJICBUaGlzIHRpbWUsIGNoZWNrIGlmIGl0J3MgYW4gUkdCIGZvcm1hdCBhbmQgc2V0cyB0aGUgdHJhbnNmb3JtYXRpb24KCSAgbWF0cml4IHRvIGlkZW50aXR5LiBUaGUgcmVzdCBvZiB0aGUgY29sb3JpbWV0cnkgaW5mb3JtYXRpb24gaXMKCSAgbWVhbmluZ2Z1bGwgYW5kIHNoYWxsIGJlIGtlcHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MjQKCjIwMTYtMDEtMjIgMTA6MDM6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggc1JHQiBjb2xvcnNwYWNlIGRlZmluaXRpb24KCSAgVjRsMiBjYW4gYWxzbyB1c2UgdGhlIHNSR0IgY29sb3JzcGFjZSBmb3IgWVVWIGZvcm1hdHMgYW5kIHRodXMgbmVlZHMgYQoJICBkZWZhdWx0IG1hdHJpeC4KCjIwMTYtMDEtMjEgMTU6Mjk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiBmaXggc2FtcGxlIHBpcGVsaW5lIGluIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTU3MQoKMjAxNi0wMS0yMSAxMDo0OTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBhZG9iZSBjb2xvcnNwYWNlIHN1cHBvcnQKCSAgVXNlIHRoZSBuZXcgcHJpbWFyaWVzIGFuZCB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgQWRvYmUgUkdCLgoJICBFeHBsaWNpdGx5IGxpc3QgdGhlIGNvbG9yaW1ldHJ5IGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQgR1N0cmVhbWVyCgkgIG9uZXMuIFRoZSBkZWZhdWx0cyBmb3IgQlQyMDIwLCBmb3IgZXhhbXBsZSwgZG8gbm90IG1hdGNoLgoJICBFeHBsaWNpdGx5IHNldCB0aGUgbWF0cml4IG9mIFNSR0IgdG8gUkdCLgoKMjAxNi0wMS0yMCAxMzo0MTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRW5zdXJlIHRoYXQgd2UgYWx3YXlzIGhhdmUgdmFsaWQgZnJhbWUgdXNlciBkYXRhIGJlZm9yZSB1c2luZyBpdAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gZGVyZWZlcmVuY2UgTlVMTCBwb2ludGVycy4KCjIwMTYtMDEtMjAgMTA6MDI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJICB2cHhkZWM6IFVucmVmIGZyYW1lIGluIGFsbCBjb2RlIHBhdGhzIG9mIGhhbmRsZV9mcmFtZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2NjYKCjIwMTYtMDEtMTkgMjI6NDk6MjAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmM6CgkgIHZweGVuYzogVW5yZWYgZnJhbWUgb24gRVJST1IKCSAgQWxsIGNvZGUgcGF0aHMgZm9yIGhhbmRsZV9mcmFtZSgpIG11c3Qgc29tZWhvdyB0YWtlIG93bmVyc2hpcCBvZiB0aGUgZnJhbWUsIGJlCgkgIGl0IGJ5IGFjdHVhbGx5IHVucmVmZmluZywgZm9yd2FyZGluZyB0aGUgZnJhbWUgZWxzZXdoZXJlIG9yIHN0b3JpbmcgaXQgZm9yCgkgIGxhdGVyLgoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2NjYKCjIwMTYtMDEtMjAgMTg6MjA6NDMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDI6IERvbid0IGZyZWUgcHJvcHMgc3RydWN0dXJlIHR3aWNlLgoJICBnc3RfdjRsMl9kZXZpY2VfcHJvdmlkZXJfcHJvYmVfZGV2aWNlKCkgZnJlZXMgdGhlIHBhc3NlZCBwcm9wcwoJICBzdHJ1Y3R1cmUsIGRvbid0IGZyZWUgaXQgYWdhaW4gaW4gdGhlIGNhbGxlci4KCjIwMTYtMDEtMTkgMTU6MTU6MzUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQ2xlYW51cCB1bmVlZGVkIHJldHVybiBzdGF0ZW1lbnQKCjIwMTYtMDEtMTkgMTU6MTQ6NTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qgc2V0IGNvbG9yaW1ldHJ5IGZvciBub24gWVVWIGZvcm1hdHMKCSAgU2V0dGluZyBjb2xvcm1ldHJ5IGluIGNhcHMgZm9yIFJHQiBoYXZlIG5vIG1lYW5pbmcsIGJ1dCB3b3JzdCBpdAoJICBjb25mdXNlcyB0aGUgY29udmVydGVycyBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjI0CgoyMDE2LTAxLTE5IDEzOjAxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkgIHJ0cDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjLTYKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdzdHJ0cEwxNmRlcGF5Lmg6Mjc6MCwKCSAgZnJvbSBnc3RydHAuYzo3MzoKCSAgZ3N0cnRwY2hhbm5lbHMuaDoxNTQ6MzM6IGVycm9yOiAnY2hhbm5lbF9vcmRlcnMnIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1jb25zdC12YXJpYWJsZV0KCSAgc3RhdGljIGNvbnN0IEdzdFJUUENoYW5uZWxPcmRlciBjaGFubmVsX29yZGVyc1tdID0KCjIwMTYtMDEtMTkgMTQ6NTc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IHBsYXkgYW55dGhpbmcgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgZGF0YSBjaHVuayBldmVuIHdoZW4gc2Vla2luZwoJICBFc3BlY2lhbGx5IGluIHB1c2ggbW9kZSB3ZSB3b3VsZCBjb21wbGV0ZWx5IGlnbm9yZSB0aGUgc2l6ZSBvZiB0aGUgZGF0YSBjaHVuawoJICB3aGVuIG5vdCBzdG9wIHBvc2l0aW9uIGlzIGdpdmVuIGZvciB0aGUgc2Vlay4gSW5zdGVhZCBtYWtlIHN1cmUgdGhhdCB0aGUgZW5kCgkgIG9mZnNldCBpcyBhdCBtb3N0IHRoZSBlbmQgb2YgdGhlIGRhdGEgY2h1bmsgaWYga25vd24uCgkgIFdpdGhvdXQgdGhpcyB3ZSB3b3VsZCBvdXRwdXQgYW55dGhpbmcgYWZ0ZXIgdGhlIGRhdGEgY2h1bmssIHBvc3NpYmx5IGNhdXNpbmcKCSAgbG91ZCBub2lzZXMgaWYgdGhlIG1lZGlhIGZpbGUgaXMgZm9sbG93ZWQgYnkgYW4gSU5GTyBjaHVuayBvciBhbiBJRDMgdGFnLgoKMjAxNi0wMS0xOSAxNDo1NTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgZG8gY2FsY3VsYXRpb25zIHdpdGggLTEgb2Zmc2V0cyB3aGVuIGhhbmRsaW5nIFNFR01FTlQgZXZlbnRzCgkgIFdlIHVzZSB0aGF0IHRvIHNpZ25hbCAiaW5maW5pdHkiLCB0YWtpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGF0IGFuZCBzb21lCgkgIG90aGVyIHZhbHVlIGlzIG5vdCBnb2luZyB0byBnaXZlIHVzIGFueSB1c2VmdWwgcmVzdWx0IGZvciB0aGUgZW5kIG9mZnNldHMgb2YKCSAgc2VnbWVudHMuCgoyMDE2LTAxLTE4IDExOjMwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmV2ZXJ0ICJXSVA6IHJ0cGppdHRlcmJ1ZmZlcjogQWRkIFJGQzcyNzMgbWVkaWEgY2xvY2sgaGFuZGxpbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjcxNTAxZjY1NzZkZTRkMTQxZTdjMmY2MThlMjhiOWUzYjFlNWIzOC4KCSAgSXQgd2Fzbid0IG1lYW50IHRvIGJlIHB1c2hlZCB5ZXQgYXMgdGhlIGNvbW1pdCBtZXNzYWdlIGluZGljYXRlcy4KCjIwMTYtMDEtMTIgMTQ6MDE6MjEgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhY29uY2hpbGxvQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHJ0Y3Avc3J0Y3AgY2FwcyBwcm9wZXJseSB3aGVuIHVzaW5nIGludGVybGVhdmVkIGRhdGEKCSAgV2UgY2hlY2sgdGhlIHN0cmVhbSBwcm9maWxlIGFuZCB1c2UgdGhlIHByb3BlciBSVENQIGNhcHM6CgkgIGFwcGxpY2F0aW9uL3gtc3J0Y3AgaWYgd2UgYXJlIHVzaW5nIGEgc2VjdXJlIHByb2ZpbGUgYW5kCgkgIGFwcGxpY2F0aW9uL3gtcnRjcCBvdGhlcndpc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTYKCjIwMTYtMDEtMDUgMTY6MTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBXSVA6IHJ0cGppdHRlcmJ1ZmZlcjogQWRkIFJGQzcyNzMgbWVkaWEgY2xvY2sgaGFuZGxpbmcKCjIwMTYtMDEtMTUgMTE6MzY6MzUgKzAwMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmM6CgkgIHZwOGVuYzogUmV0dXJuIEZMT1dfRVJST1Igd2hlbiBhbiBlcnJvciBhY2N1cmVzCgkgIEZBTFNFIHdvdWxkIG1lYW4gRkxPV19PSwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjY2CgoyMDE2LTAxLTA4IDIyOjE5OjA2ICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdlLmJvcm92a292QGdtYWlsLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogTWFyayBtYXRlcmlhbCBkaXJ0eSB3aGVuIHRleHR1cmUgYnVmZmVyIGlzIHVwZGF0ZWQKCSAgUXQgbWlnaHQgbm90IHJlZHJhdyB0aGUgc2NlbmUgb3RoZXJ3aXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mjg2CgoyMDE2LTAxLTE1IDAzOjU3OjQ1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBicmVhayBhcyBzb29uIGFzIHRoZSBkZXZpY2UgaXMgZm91bmQKCSAgTm8gbmVlZCB0byBsb29wIGZ1cnRoZXIgaWYgdGhlcmUncyBubyBzaWRlLWVmZmVjdHMgZm9yIGl0CgoyMDE2LTAxLTE1IDAzOjU2OjQ5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IEZpeCBlcnJvciBoYW5kbGluZyB3aGVuIHNlbGVjdGluZy9vcGVuaW5nIGRldmljZXMKCSAgUG9zdCBhbiBlbGVtZW50IGVycm9yIHdoZW4gdGhlIENvcmVBdWRpbyBkZXZpY2UgY2Fubm90IGJlIHNlbGVjdGVkIG9yIG9wZW5lZC4KCSAgQWxzbyBlbnN1cmUgdGhhdCB3ZSBwb3N0IGEgR1NUX0VSUk9SIHdpdGggbW9yZSBkZXRhaWwuCgoyMDE2LTAxLTEzIDIzOjQwOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBXaGVuIGZsdXNoaW5nIG9uIEVPUywgZG9uJ3QgcHJvY2VzcyBtb3JlIGRhdGEgdGhhbiB0aGUgImRhdGEiIHNpemUKCSAgRXZlbiBpZiB3ZSBoYXZlIG1vcmUgZGF0YSBxdWV1ZWQgdXAgd2hlbiBmbHVzaGluZyB0aGFuIHRoZSBzaXplIG9mIHRoZSBkYXRhCgkgIGNodW5rLCBkb24ndCBwcm9jZXNzIGFuZCBvdXRwdXQgaXQuIElmIHRoZSBkYXRhIHNpemUgaXMga25vd24sIHRoaXMgbGlrZWx5CgkgIGNvbnRhaW5zIGFub3RoZXIgY2h1bmsgKGUuZy4gYW4gSU5GTyBjaHVuaykgb3IgdGhpbmdzIGxpa2UgSUQzIHRhZ3MuIEp1c3QKCSAgb3V0cHV0dGluZyB0aGVtIGFzIGlmIHRoZXkgd2VyZSBkYXRhIGlzIGdvaW5nIHRvIGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3VyCgkgIGFuZCB1bnBsZWFzYW50IGF1ZGlvIG5vaXNlcy4KCjIwMTQtMDgtMjkgMTU6NDA6MjMgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IGEgdGhpbmtvIGluIHRoZSB3YXZlbmMgZXhhbXBsZQoJICBUaGUgY29kZSBpcyBzdXBwb3NlZCB0byBmb2xsb3cgc29tZWhvdyB3aGF0IHRoZSBjb21tZW50IGFib3ZlIHNheXMsIHRoYXQKCSAgaXMgdG8gaGF2ZSBvbmUgY2hhbm5lbCB3aXRoIGEgd2F2ZSBvZiBmcmVxIDQ0MCBhbmQgdGhlIG90aGVyIGNoYW5uZWwKCSAgd2l0aCBhIHdhdmUgb2YgZnJlcSA4ODAsIGJ1dCBhbiBvZmYgYnkgb25lIGVycm9yIHJlc3VsdHMgaW4gZnJlcXVlbmNpZXMKCSAgb2YgMCBhbmQgNDQwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjczCgoyMDE0LTA4LTI5IDE1OjA3OjU4ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRml4IHRoZSBleGFtcGxlIGJ5IHNldHRpbmcgY2hhbm5lbC1tYXNrcyBpbiB0aGUgc2luayBwYWRzCgkgIFRoZSBjdXJyZW50IGV4YW1wbGUgZG9lcyBub3Qgd29yaywgaXQgZmFpbHMgd2l0aDoKCSAgRVJST1I6IGZyb20gZWxlbWVudCAvR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdERlY29kZUJpbjpkZWNvZGViaW4wL0dzdFdhdlBhcnNlOndhdnBhcnNlMDogSW50ZXJuYWwgZGF0YSBmbG93IGVycm9yLgoJICBnc3R3YXZwYXJzZS5jKDIxNzgpOiBnc3Rfd2F2cGFyc2VfbG9vcCAoKTogL0dzdFBpcGVsaW5lOnBpcGVsaW5lMC9Hc3REZWNvZGVCaW46ZGVjb2RlYmluMC9Hc3RXYXZQYXJzZTp3YXZwYXJzZTA6CgkgIHN0cmVhbWluZyB0YXNrIHBhdXNlZCwgcmVhc29uIG5vdC1uZWdvdGlhdGVkICgtNCkKCSAgVGhpcyBpcyBiZWNhdXNlIG5lZ290aWF0aW9uIHdpdGggd2F2ZW5jIGdldHMgbWVzc2VkIHVwIGJ5IHRoZSBtaXNzaW5nCgkgIGNoYW5uZWwgcG9zaXRpb25zIGNvbmZpZ3VyYXRpb24uCgkgIFRoZSBwcm9wZXIgd2F5IHRvIGRlZmluZSB0aGUgY2hhbm5lbCBsYXlvdXQgd2hlbiB1c2luZyB0aGUgaW50ZXJsZWF2ZQoJICBlbGVtZW50IGluIGNvZGUgd291bGQgYmUgdG8gc2V0IHRoZSBjaGFubmVsLXBvc2l0aW9ucyBwcm9wZXJ0eSwgYnV0CgkgIGdzdC1sYXVuY2gtMS4wIGRvZXMgbm90IGtub3cgaG93IHRvIGRlYWwgd2l0aCBhcnJheXM7IHNvIHRoZSBleGFtcGxlCgkgIHBpcGVsaW5lIHdvcmtzIGFyb3VuZCB0aGUgaXNzdWUgYnkgc2V0dGluZyB0aGUgY2hhbm5lbC1tYXNrcyBpbiB0aGUgc2luawoJICBwYWRzLgoJICBBbHNvIGZpeCBhIHJlcGV0aXRpb24gaW4gdGhlIGRlaW50ZXJsZWF2ZSBleGFtcGxlIGRlc2NyaXB0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NzMKCjIwMTYtMDEtMTEgMTY6Mjk6NTUgKzAwMDAgIFRpbSBTaGVyaWRhbiA8dGltLnNoZXJpZGFuQGltZ3RlYy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIHNiY3BhcnNlOiBGaXggZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uCgkgIFNCQyBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24gd2Fzbid0IGJlaW5nIHJvdW5kZWQgdXAgdG8gdGhlIG5lYXJlc3QgYnl0ZQoJICAoYXMgc3BlY2lmaWVkIGluIHRoZSBBMkRQIDEuMCBzcGVjaWZpY2F0aW9uLCBzZWN0aW9uIDEyLjkpLiBUaGlzIGNvdWxkCgkgIGNhdXNlICdzdGVyZW8nIGFuZCAnam9pbnQgc3RlcmVvJyBtb2RlIFNCQyBzdHJlYW1zIHRvIGhhdmUgaW5jb3JyZWN0bHkKCSAgY2FsY3VsYXRlZCBmcmFtZSBsZW5ndGhzLgoJICBJbmNvcnJlY3QgZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uIGNhdXNlcyBmcmFtZSBjb2FsZXNjaW5nIHRvIGZhaWwsIGFzCgkgIHN1YnNlcXVlbnQgZnJhbWVzIGluIHRoZSBzdHJlYW0gYXJlbid0IGZvdW5kIGluIHRoZSBleHBlY3RlZCBsb2NhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI0NDYKCjIwMTYtMDEtMTAgMjI6NTQ6MTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZGVtb3RlIHdhcm5pbmcgb24gd3JvbmcgcmVzZXJ2ZWQgdmFsdWUgdG8gZml4bWUKCSAgV2UgYXJlIGxpa2VseSBqdXN0IHBhcnNpbmcgYSBiYWNrd2FyZC1jb21wYXRpYmxlIHN0cmVhbSB3ZQoJICBkb24ndCBmdWxseSBzdXBwb3J0LgoKMjAxNi0wMS0wOCAxNjoyNzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBzaW1wbGlmeSBjYXBzIHNlbGVjdGlvbgoJICBUaGUgZG93bnN0cmVhbSBjYXBzIHF1ZXJ5IHdpdGggYSBmaWx0ZXIgYWxyYWVkeSBnaXZlcyB1cyB0aGUgcG9zc2libGUKCSAgaW50ZXJzZWN0aW9uIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgaXQgYWdhaW4gd2l0aCBkb3duc3RyZWFtCgkgIGlmIGl0IGlzIHN1cHBvcnRlZC4gSnVzdCB0cnkgdG8gc2V0IGl0IGRpcmVjdGx5LgoKMjAxNi0wMS0wNyAyMDo0Mjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IHVubmVjZXNzYXJ5IHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4KCSAgdGhyb3cgaXQgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlcgoJICBkaXJlY3RseS4KCjIwMTYtMDEtMDcgMjA6Mzg6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSAgcnRwZHZkZXBheTogZml4IHVubmVjZXNzYXJ5IHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4KCSAgdGhyb3cgaXQgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlcgoJICBkaXJlY3RseS4KCjIwMTYtMDEtMDcgMjA6MzQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgIHJ0cGFtcmRlcGF5OiBmaXggdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlciBjcmVhdGlvbgoJICBXZSBjcmVhdGUgYSBzdWItYnVmZmVyIGp1c3QgdG8gY29weSBvdmVyIGl0cyBtZXRhcyBhbmQgdGhlbgoJICB0aHJvdyBpdCBhd2F5IGltbWVkaWF0ZWx5LCBqdXN0IHVzZSB0aGUgb3JpZ2luYWwgaW5wdXQgYnVmZmVyCgkgIGRpcmVjdGx5LgoKMjAxNi0wMS0wNyAyMDoyNzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogZml4IG1ham9yIG1lbW9yeSBsZWFrIGFuZCBwZXJmb3JtYW5jZSBpc3N1ZQoJICBXZSBjYWxsIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkKCkgd2hpY2ggY3JlYXRlcyBhIHN1Yi1idWZmZXIKCSAgb2YgZWFjaCBpbnB1dCBidWZmZXIsIGp1c3QgdG8gY29weSBvdmVyIG1ldGFzLCBhbmQgdGhlbiBsZWFrIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjg5CgoyMDE2LTAxLTA4IDE1OjMyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICByZ2FuYWx5c2lzOiBGaXggY29tcGlsZXIgd2FybmluZ3MgaW4gdGhlIHVuaXQgdGVzdAoJICBlbGVtZW50cy9yZ2FuYWx5c2lzLmM6OTE5OjY2OiBlcnJvcjogc2hpZnRpbmcgYSBuZWdhdGl2ZSBzaWduZWQgdmFsdWUgaXMgdW5kZWZpbmVkCgkgIFstV2Vycm9yLC1Xc2hpZnQtbmVnYXRpdmUtdmFsdWVdCgkgIHB1c2hfYnVmZmVyICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8gKDgwMDAsIDE2LCA1MTIsIC0xIDw8IDE0LCAwKSk7CgkgIH5+IF4KCSAgZWxlbWVudHMvcmdhbmFseXNpcy5jOjkyOTo2OTogZXJyb3I6IHNoaWZ0aW5nIGEgbmVnYXRpdmUgc2lnbmVkIHZhbHVlIGlzIHVuZGVmaW5lZAoJICBbLVdlcnJvciwtV3NoaWZ0LW5lZ2F0aXZlLXZhbHVlXQoJICBwdXNoX2J1ZmZlciAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvICg4MDAwLCAxNiwgNTEyLCAwLCAtMSA8PCAxNCkpOwoJICB+fiBeCgkgIGVsZW1lbnRzL3JnYW5hbHlzaXMuYzo5Mzk6NjQ6IGVycm9yOiBzaGlmdGluZyBhIG5lZ2F0aXZlIHNpZ25lZCB2YWx1ZSBpcyB1bmRlZmluZWQKCSAgWy1XZXJyb3IsLVdzaGlmdC1uZWdhdGl2ZS12YWx1ZV0KCSAgcHVzaF9idWZmZXIgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8gKDgwMDAsIDE2LCA1MTIsIC0xIDw8IDE0KSk7CgkgIH5+IF4KCjIwMTYtMDEtMDUgMTg6MTM6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRvbid0IG1hcCBidWZmZXIgbXVsdGlwbGUgdGltZXMgd2hlbiBwYXJzaW5nCgoyMDE2LTAxLTA3IDE4OjIwOjMwICswMjAwICBTdGV2ZW4gSG92aW5nIDxzaEBiaWdicm90aGVyLm5sPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBTdG9yZSBzdWJ0aXRsZSBzdHJlYW0gY291bnQgaW4gdGhlIGNvcnJlY3QgdmFyaWFibGUKCSAgQW5kIGRvbid0IG92ZXJyaWRlIHRoZSB2aWRlbyBzdHJlYW0gY291bnQgaW5zdGVhZC4KCjIwMTYtMDEtMDUgMTg6NTk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBlcXVhbGl6ZXI6IFRoZSBjaGlsZC1wcm94eSBBUEkgaXMgR09iamVjdCBiYXNlZCBpbiAxLngKCSAgTm90IEdzdE9iamVjdCBhbnltb3JlLgoKMjAxNS0wNS0yMSAxNzo0MToxMiArMDIwMCAgUGFibG8gQW50b24gPHBhYmxvLmFudG9uQHZvZGFseXMtbGFicy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDItKjogQ29uZmlndXJpbmcgb3V0cHV0IHBvb2wgY29ycmVjdGx5IGZvciB1c2luZyBkcml2ZXJzIG1pbl9idWZmZXIgaWYgcHJlc2VudC4KCSAgU2lnbmVkLW9mZi1ieTogUGFibG8gQW50b24gPHBhYmxvLmFudG9uQHZvZGFseXMtbGFicy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3MzYKCjIwMTUtMTItMzEgMTU6NDY6MzEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYWRkIGRlYnVnIG1zZyBvbiBDUkMgbWlzbWF0Y2ggd2hpbGUgdmFsaWRhdGluZyBmcmFtZSBoZWFkZXIKCjIwMTUtMTItMzEgMTY6MDA6NDkgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZHJvcCB1bm5lZWRlZCBicmFjZXMgYXQgX3BhcnNlX2ZyYW1lKCkgZXhpdAoJICBBZGRpdGlvbmFsbHksIGRyb3AgcmVkdW5kYW50IGNvbW1lbnQgJiBsaW5lIGJyZWFrCgoyMDE1LTEyLTMxIDE1OjU1OjE4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbm9yIGdyYW1tYXIgY29ycmVjdGlvbgoKMjAxNS0xMi0zMSAxNTozNDo1NyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1cGRhdGUgVVJMcyBvbiBwb2ludGVycyB0byBvbmxpbmUgc3BlYwoKMjAxNS0xMi0zMSAxNDo0MDoxNSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtYWtlIGJ1ZmZlciBEVFMgc2V0dGluZyBleHBsaWNpdGx5IHVuY29uZGl0aW9uYWwKCSAgV2UgYXJlIHNldHRpbmcgaXQgdG8gUFRTIHJlZ2FyZGxlc3Mgb2YgYmxvY2tfc3RyYXRlZ3kKCjIwMTUtMTItMzEgMTQ6MjE6NDAgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYWRkIGFjdHVhbCBpbnZhbGlkIGJsb2NrIHR5cGUgdG8gd2FybmluZwoJICBGb3Igc29tZW9uZSB0aGF0IHJlYWQgdGhlIHNwZWMgaXMgY2xlYXIgdGhlIG9ubHkgKmludmFsaWQqCgkgIGRhdGEgYmxvY2sgdHlwZSBpcyAxMjcuIEZvciB0aGUgcmVzdCwgaXRzIHVzZWZ1bCBpbmZvcm1hdGlvbi4KCSAgQWRkaXRpb25hbGx5LiB2YWx1ZXMgNy0xMjYgYXJlIGN1cnJlbnRseSByZXNlcnZlZCBieSB0aGUKCSAgc3BlYyBzbyB0aGUgc2l0dWF0aW9uIG1pZ2h0IGNoYW5nZSBpbiB0aGUgZnV0dXJlLgoKMjAxNS0xMi0zMSAxNDoxMjozNiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1c2Ugc2hpZnQgaW5zdGVhZCBvZiBtYXNrICYgY29tcAoJICBXZSBhcmUgb25seSBpbnRlcmVzdGVkIG9uIHRoZSBmaXJzdCBiaXQgb2YgdGhlIGZpcnN0CgkgIGJ5dGUgb2YgdGhlIG1ldGFkYXRhIGJsb2NrIGhlYWRlciB0byBmaWd1cmUgb3V0IHdoZXRoZXIKCSAgaXMgbWFya2VkIGFzIHRoZSBsYXN0IG9uZS4gVGhlIHNoaWZ0IG1ha2VzIGl0IHF1aXRlCgkgIGNsZWFyZXIuCgoyMDE1LTEyLTMxIDEyOjUyOjEzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHdhcm4gb24gd2lzaGZ1bCBwYXJzaW5nIG9mIHdlaXJkIGhlYWRlcnMKCSAgSWYgd2UgZ2V0IGFueXRoaW5nIGZyb20gNyB0byAxMjYgYXMgdHlwZSB3aGVuIHBhcnNpbmcKCSAgYSBtZXRhZGF0YSBibG9jayBoZWFkZXIsIHdlIGFyZSBsaWtlbHkgZGVhbGluZyB3aXRoIGEKCSAgRkxBQyBzdHJlYW0gdmVyc2lvbiB3ZSBkb24ndCBmdWxseSB1bmRlcnN0YW5kLiBJc3N1ZQoJICBhIHdhcm5pbmcgaWYgc28uCgkgIERvY3VtZW50IGZ1bmN0aW9uIGFzc3VtcHRpb25zIHJlZ2FyZGluZyB0aGUgcGFzc2VkLW9uCgkgIHR5cGUgd2hpbGUgYXQgdGhpcy4KCjIwMTUtMTItMzEgMTE6MzM6NDUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2hvdyBtZWFuaW5nZnVsIGluZm8gb24gZnJhbWUgQ1JDIGNoZWNrCgkgIEFzIENSQ3MgYXJlIGNhbGN1bGF0ZWQgZm9yIHRoZSBjb21wYXJpdGlvbiBhbHJlYWR5LCB3ZQoJICBtaWdodCBhcyB3ZWxsIChjaGVhcGx5KSBpbmZvcm0gdGhlIHVzZXIgaG93IHRoZSBudW1iZXJzCgkgIGRpZmZlciBpZiBhIG1pc3NtYXRjaGVkIHBhaXIgaXMgZm91bmQuCgkgIFdoaWxlIGF0IGl0OgoJICBSZXBocmFzZSBjYW5kaWRhdGUtZnJhbWUgbWVzc2FnZSB0byBtYWtlIG1vcmUgc2Vuc2UKCjIwMTUtMTItMzEgMDI6NDA6NDMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZHJvcCByZW1haW5pbmcgdHJhaWxpbmcgd2hpdGVzcGFjZQoKMjAxNS0xMi0zMSAwMjoxNTowNiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkcm9wIHN1cGVyZmxvdXMgZWxzZSBjbGF1c2VzCgoyMDE1LTEyLTMxIDAxOjA5OjUxIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZhY3RvciBvdXQgYnVmZmVyIHRpbWUgYW5kIG9mZnNldCByZXNldHRpbmcKCSAgQXZvaWRzIG11bHRpcGxlIG9jY3VycmVuY2VzIG9mIHRoZSBzYW1lIHJlc2V0dGluZyBwYXR0ZXJuCgoyMDE1LTEyLTMxIDAwOjU0OjQ4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1vdmUgYmxvY2sgaGFuZGxpbmcgYnkgdHlwZSBvdXQgb2YgX3BhcnNlX2ZyYW1lKCkKCjIwMTUtMTAtMDcgMTg6NTE6MjUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXBsYWNlIGR1cGxpY2F0ZWQgY29kZXMgdG8gY2FsbCBuZXcgYmFzZSBzZHAgYXBpcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1ODgwCgoyMDE1LTEyLTMwIDEyOjE2OjU2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRyb3AgcmVkdW5kYW50IHJldHVybiBzdGF0ZW1lbnQgb24gX2hlYWRlcl9pc192YWxpZCgpCgkgIEZpeCB0aGUgcmF0aGVyIHZhZ3VlIGVycm9yIG1lc3NhZ2Ugd2hpbGUgYXQgaXQuCgoyMDE1LTEyLTMwIDAxOjU2OjI2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHJld29yayBnc3RfZmxhY19wYXJzZV9mcmFtZV9pc192YWxpZCgpCgkgIGRyb3AgdW5uZWNlc3NhcnkgbmVzdGluZyBsb29raW5nIGZvciBlbmQgb2YgZnJhbWUKCjIwMTUtMTItMzAgMDA6Mzc6MDQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZmFjdG9yIG91dCBjb250ZXh0IGNsZWFyaW5nIHJvdXRpbmUKCjIwMTUtMTItMjkgMTg6MDU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogR3VhcmQgYWdhaW5zdCBubyBjb2RlYyBkYXRhIGluIHByb3JlcyBjYXBzIGNyZWF0aW9uCgkgIENJRCAxMzQ2NTMyCgoyMDE1LTEyLTI5IDE3OjU4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSAgdnB4ZGVjOiBJbml0aWFsaXplIGJ1ZmZlciB2YXJpYWJsZSB0byBOVUxMCgkgIEZhbHNlIHBvc2l0aXZlIGJ1dCB0cml2aWFsIHRvIGZpeCBhbmQgcG9zc2libHkgY2F1c2luZyBjb21waWxlciB3YXJuaW5ncyBhdAoJICBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUgdG9vLgoJICBDSUQgMTM0NjUzNQoKMjAxNS0wNy0yNyAxNTo1MzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMmRldmljZXByb3ZpZGVyOiBhZGQgcHJvcGVydGllcyB0byB0aGUgZGV2aWNlCgkgIEFkZCBwcm9wZXJ0aWVzIHRvIHRoZSBkZXZpY2Ugd2l0aCBleGFjdGx5IHRoZSBzYW1lIGtleXMgYW5kIHNlbWF0aWNzCgkgIGFzIHdoYXQgcHVsc2VhdWRpbyB1c2VzIGFzIHByb3BlcnR5IGtleXMuCgkgIEFsc28gaGFuZGxlIHRoZSBjYXNlIHdoZW4gYSBkZXZpY2UgaXMgcHJvYmVkIG1hbnVhbGx5IGFuZCBub3QgdGhyb3VnaCBndWRldi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NTk3ODAKCjIwMTUtMTItMjUgMTE6NDE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZyZWUgdGhlIHZhcmlvdXMgYnVmZmVycyBpbiBHc3RCYXNlVHJhbnNmb3JtOjpzdG9wKCkKCSAgUHJldmlvdXNseSB3ZSBsZWFrZWQgdGhlbSBjb21wbGV0ZWx5LCBidXQgYXMgdGhleSdyZSBzcGVjaWZpYyB0byB0aGUgY2FwcwoJICBmcmVlaW5nIHRoZW0gaW4gc3RvcCgpIGluc3RlYWQgb2YgZmluYWxpemUoKSBtYWtlcyBtb3N0IHNlbnNlLgoKMjAxNS0xMi0yNCAxNToyODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS43LjEgPT09CgoyMDE1LTEyLTI0IDE0OjE2OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjEKCjIwMTUtMTItMjQgMTM6MTk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMTItMjQgMTI6MjI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9jcy5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMTItMjEgMDk6NTc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZHJvcCBmbHVzaGVzIGZyb20gb3VyIG93biBvZmZzZXQgc2VlawoJICBQcmV2ZW50cyBkb3duc3RyZWFtIGZyb20gcmVjZWl2aW5nIGZsdXNoZXMgZm9yIGEgc2VlayBvbmx5IGluCgkgIHVwc3RyZWFtLiBUaG9zZSBzZWVrcyBhcmUgb25seSB0byBzdGFydCByZWFkaW5nIGZyb20gdGhlIHJpZ2h0CgkgIG9mZnNldCB3aGVuIHNraXBwaW5nIG9yIHJldHVybmluZyB0byBxdCBhdG9tcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODkyOAoKMjAxNS0xMS0xMSAxNjo1MzoxOSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgbWFzayBmb3IgUENNIHN0cmVhbXMKCSAgSnVzdCB1c2UgdGhlIGdzdF9hdWRpb19jaGFubmVsX2dldF9mYWxsYmFja19tYXNrIGZ1bmN0aW9uIGZvciBub3cgYXMKCSAgdGhlIHNwZWNpZmljYXRpb24gaXMgdG9vIGNvbXBsaWNhdGVkIGFuZCBub2JvZHkgaW1wbGVtZW50cyBpdC4KCjIwMTUtMTItMjEgMTE6Mzc6MjYgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggc2xlZXAgZm9yIGJ1ZmZlci10aW1lIGxvd2VyIHRoYW4gMjAwMDAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg2ODAKCjIwMTUtMTItMjEgMTI6MzE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIC1Cc3ltYm9saWMtZnVuY3Rpb25zIGlmIGF2YWlsYWJsZQoJICBXaGlsZSB0aGlzIGlzIG1vcmUgdXNlZnVsIGZvciBsaWJyYXJpZXMsIHNvbWUgb2Ygb3VyIHBsdWdpbnMgd2l0aCBtdWx0aXBsZQoJICBmaWxlcyBhbmQgc29tZSBpbnRlcm5hbCBBUEkgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHRoaXMuCgoyMDE1LTEyLTE4IDE1OjM0OjUyICswMDAwICBXaWxsaWFtIE1hbmxleSA8d2lsbEB3aWxsaWFtbWFubGV5Lm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkgIHByb2dyZXNzcmVwb3J0OiBhZGQgc3VwcG9ydCBmb3IgdXNpbmcgZm9ybWF0PWJ1ZmZlcnMgd2l0aCBkby1xdWVyeT1mYWxzZQoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgaW52ZXN0aWdhdGluZyBhbmQgZGVidWdnaW5nIHBpcGVsaW5lcyB3aGljaCBhcmUKCSAgcHJvZHVjaW5nIGJ1ZmZlcnMgYXQgYSBzbG93ZXIvZmFzdGVyIHJhdGUgdGhhbiB5b3Ugd291bGQgZXhwZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjM1CgoyMDE1LTEyLTE4IDE1OjQ5OjQzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVwZGF0ZSBmb3JtYXRzIHRhYmxlCgkgIFRoaXMgY2hhbmdlIGFkZCBhbGwgdGhlIG5ldyBSR0IgYmFzZWQgZm9ybWF0LiBUaG9zZSBmb3JtYXQgcmVtb3ZlcyB0aGUKCSAgYW1iaWd1aXR5IHdpdGggdGhlIEFMUEhBIGNoYW5uZWwuIFNvbWUgb3RoZXIgbWlzc2luZyBtdWx0aXBsYW5hciBmb3JtYXQKCSAgaGFzIGJlZW4gYWRkZWQgd2l0aCBzb21lIGFkZGl0aW9uYWwgY2xlYW51cC4KCjIwMTUtMTItMTggMDU6MTc6MTUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3Qgd3JpdGUgaW52YWxpZCBlZGl0IGxpc3Qgc3RhcnQgdGltZS4KCSAgQXZvaWQgd3JpdGluZyBhIG5lZ2F0aXZlIG51bWJlciBhcyBhIGxhcmdlIHBvc2l0aXZlCgkgIGludGVnZXIgaW4gYW4gZWRpdCBsaXN0IHdoZW4gdGhlIGZpcnN0X3RzIGlzIHNtYWxsZXIKCSAgdGhhbiB0aGUgZmlyc3RfZHRzIC0gd2hpY2ggY2FuIGhhcHBlbiB3aGVuIHRoZSBmaXJzdAoJICBwYWNrZXQgcmVjZWl2ZWQgaGFzIGEgUFRTIGJ1dCBubyBEVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MTUKCjIwMTUtMTItMDQgMjM6MTY6NDUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBPbmx5IHVwZGF0ZSBydW5uaW5nIHRpbWUgd2hlbiBpdCBpbmNyZWFzZXMuCgkgIERvbid0IGluY3JlbWVudCBydW5uaW5nIHRpbWUgZnJvbSBldmVyeSBidWZmZXIuIFRoZSBjb3JyZWN0CgkgIGxvZ2ljIHRvIG9ubHkgaW5jcmVtZW50IHdoZW4gcnVubmluZyB0aW1lIGFkdmFuY2VzIGlzIGEKCSAgbGl0dGxlIGZ1cnRoZXIgZG93biwgc28gZGVsZXRlIHRoaXMgbGVmdC1vdmVyIGxpbmUuCgoyMDE1LTExLTE4IDExOjAxOjIwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogSW1wbGVtZW50IHByb3JlcyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyNTgKCjIwMTUtMTEtMTggMTY6MjA6MzggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2EtZGVtdXg6IFBsYXkgUHJvUmVzIHZpZGVvIHN0cmVhbXMKCSAgR2VuZXJhdGUgdmlkZW8veC1wcm9yZXMgY2FwcyBmb3IgUHJvUmVzIHZpZGVvIHN0cmVhbXMuCgkgIEV2ZXJ5IGZyYW1lIG5lZWRzIGFuIDggYnl0ZSBoZWFkZXIgcHJlcGVuZGVkLCBhcyBkZXNjcmliZWQgaW4KCSAgaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9QXBwbGVfUHJvUmVzI0ZyYW1lX2xheW91dAoJICBzbyBkbyB0aGF0IGluIGEgcG9zdC1wcm9jZXNzaW5nIGNhbGxiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjU4CgoyMDE1LTEyLTE4IDEwOjE4OjA5ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBkdmRlYzogUmVtb3ZlIHVudXNlZCBmaWVsZHMKCSAgUmVtb3ZlIHVudXNlZCBmaWVsZHMgZnJhbWVfbGVuIGFuZCBzcGFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjE0CgoyMDE1LTEyLTE3IDE2OjAzOjA0ICswMTAwICBWaW5jZW50IERlaG9ycyA8dmluY2VudC5kZWhvcnNAb3BlbndpZGUuZnI+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkgIHJ0cGoya2RlcGF5OiBQdXNoIG9uZSBKUEVHMjAwMCBmcmFtZSBwZXIgYnVmZmVyLCBub3QgYSBidWZmZXIgbGlzdCB3aXRoIG11bHRpcGxlIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODk0MwoKMjAxNS0xMi0xNiAxMTo0Mzo1OCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGR2MTM5NDogbG9nIGVycm9yIGlmIGZhaWxlZCB0byBzZXQgc29ja2V0IHN0YXR1cyBmbGFnCgkgIExvZyBhbiBlcnJvciBtZXNzYWdlIGlmIGZhaWxlZCB0byBzZXQgd3JpdGUgb3IgcmVhZCBzb2NrZXQgYXMKCSAgbm9uLWJsb2NraW5nLgoJICBDSUQgMTEzOTYwOAoJICBDSUQgMTEzOTYwOQoKMjAxNS0xMi0xNSAxNzoxMDowMCArMDAwMCAgRGF2ZSBDcmFpZyA8ZGF2ZWNyYWlnQHVuYmFsYW5jZWRhdWRpby5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IENoZWNrIGZvciBOVUxMIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTAzCgoyMDE1LTEyLTE2IDA5OjM1OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgdG8gZ2l0CgoyMDE1LTEyLTE1IDE5OjI4OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0c2luazogQWRkIGNvbmZpZ3VyZWQgR0wgY2ZsYWdzIHRvIHRoZSBidWlsZAoJICBXZSBkb24ndCBkaXJlY3RseSBsaW5rIHRvIEdMIGluIHRoZSBlbGVtZW50LCB0aG91Z2ggd2UgdXNlIEdMIGhlYWRlcnMuCgkgIEZvciB0aGlzIHJlYXNvbiB3ZSBuZWVkIHRvIGluY2x1ZGUgdGhlIHByb3BlciBHTCBoZWFkZXJzIHBhdGguIFRoaXMKCSAgcHJldmVudCB0aGlzIGVsZW1lbnQgZnJvbSB1c2luZyBhIGRpZmZlcmVudCBHTCBoZWFkZXIgdGhlbiBsaWJnc3RnbC4KCjIwMTUtMTItMTUgMTQ6Mjc6MjIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkgIHZweDogQWRkIG1pc3NpbmcgaGVhZGVycyBpbiBNYWtlZmlsZS5hbQoJICBUaGlzIGZpeGVzIGRpc3RjaGVjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTUxMAoKMjAxNS0wOS0yNCAxMjo1NzowMCArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnB4ZW5jLmg6CgkgIHZweDogY3JlYXRlZCBjb21tb24gYmFzZWNsYXNzIEdzdFZQWEVuYwoJICBHc3RWUDhFbmMgYW5kIEdzdFZQOUVuYyBoYXMgYWxtb3N0IDgwJSBjb2RlIGluIGNvbW1vbi4KCSAgY3JlYXRlZCBjb21tb24gYmFzZWNsYXNzIEdzdFZQWEVuYyBmb3IgR3N0VlA4RW5jIGFuZCBHc3RWUDlFbmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTUxMAoKMjAxNS0xMi0xNSAxMjo1Nzo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cHhkZWMuaDoKCSAgdnB4ZGVjOiBSZW1vdmUgdW5uZWVkZWQgYWRkIHZpZGVvX21ldGEKCSAgVGhpcyBhbHNvIHJlbW92ZSBjb3BpZXMgZm9yIFZQOCwgd2hpY2ggd2FzIG5vdCBjb3JyZWN0bHkgaW4gcGxhY2UKCSAgaW4gcHJldmlvdXMgcmVsYXRlZCBwYXRjaC4KCjIwMTUtMTItMTUgMDk6NDk6MjQgKzA1MzAgIFByYXNoYW50IEdvdGFybmUgPHBzLmdvdGFybmVAc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJKiBleHQvdnB4L2dzdHZweGRlYy5oOgoJICB2cHg6IGNyZWF0ZWQgY29tbW9uIGJhc2UgY2xhc3MgR3N0VlBYZGVjIGZvciB2cHggZGVjb2RlcnMKCSAgQmFzZSBjbGFzcyBmb3IgdGhlIHZwOGRlYyBhbmQgdnA5ZGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTEwCgoyMDE1LTA2LTEwIDA5OjE3OjA4IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgR1Rsc0ludGVyYWN0aW9uIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA3MDkKCjIwMTUtMTItMTQgMDk6MDU6MDYgLTA1MDAgIEV2YW4gQ2FsbGF3YXkgPGV2YW4uY2FsbGF3YXlAaXBjb25maWd1cmUuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZXRyeSBjb25uZWN0aW9uIGlmIHR1bm5lbGluZyBuZWVkcyBhdXRoZW50aWNhdGlvbgoJICBMZXZlcmFnZSByZXNwb25zZSBmcm9tIGdzdF9ydHNwX2Nvbm5lY3Rpb25fY29ubmVjdF93aXRoX3Jlc3BvbnNlIHRvCgkgIGRldGVybWluZSBpZiB0aGUgY29ubmVjdGlvbiBzaG91bGQgYmUgcmV0cmllZCB1c2luZyBhdXRoZW50aWNhdGlvbi4gIElmCgkgIHNvLCBhZGQgdGhlIGFwcHJvcHJpYXRlIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnMgYmFzZWQgdXBvbiB0aGUgcmVzcG9uc2UKCSAgYW5kIHJldHJ5IHRoZSBjb25uZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTk2CgoyMDE1LTEyLTE0IDE0OjE5OjA1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjaGVjayBwb3J0LXJhbmdlIGZvcm1hdAoJICBUaGUgc3RyaW5nIGNvdWxkIGV4aXN0IGJ1dCB3aXRoIGEgd3JvbmcgZm9ybWF0LCBpbiB0aGF0IGNhc2Ugd2Ugc3RpbGwgd2FudAoJICB0byByZXNldCB0aGUgdmFsdWVzIG9mIGNsaWVudF9wb3J0X3JhbmdlLm1pbiBhbmQgbWF4IGxpa2Ugd2UgZG8gaWYgdGhlcmUgaXMKCSAgbm8gc3RyaW5nLgoJICBDSUQgMTEzOTU5MwoKMjAxNS0xMi0xNCAxNDo1NToxMiArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IENoZWNrIGRldmljZSBwcm9wZXJ0eSBhbmQgZmFpbCBpZiBkZXZpY2UgY2FuJ3QgYmUgZm91bmQKCSAgRG9uJ3QgdXNlIGRlZmF1bHQgaWYgYSBzcGVjaWZpYyBkZXZpY2UgaXMgc2V0IGJ1dCBpdCBjYW4ndCBiZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTQ1MgoKMjAxNS0xMi0xNCAxNDoxNTowMCArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBoYW5kbGluZyBvZiB0aGUgbXV0ZSBwcm9wZXJ0eQoJICAtIHNldCBtdXRlIHZhbHVlIGF0IHN0YXJ0dXAKCSAgLSBjb3JyZWN0IHNldCBhbmQgZ2V0IG11dGUgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDYKCjIwMTUtMTItMTQgMTM6NDM6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJICBnbG1lbW9yeTogYmFzZSBjbGFzc2lmeSBhbmQgYWRkIHRoZSBwYm8gbWVtb3J5IG9uIHRvcAoJICBUaGUgYmFzZSBjbGFzcyBpcyB1c2VmdWwgZm9yIGhhdmluZyBtdWx0aXBsZSBiYWNraW5nIG1lbW9yeSB0eXBlcyBvdGhlcgoJICB0aGFuIHRoZSBkZWZhdWx0LiAgZS5nLiBJT1N1cmZhY2UsIEVHTEltYWdlLCBkbWFidWY/CgkgIFRoZSBQQk8gdHJhbnNmZXIgbG9naWMgaXMgbm93IGluc2lkZSBHc3RHTE1lbW9yeVBCTyB3aGljaCB1c2VzIEdzdEdMQnVmZmVyCgkgIHRvIG1hbmFnZSB0aGUgUEJPIG1lbW9yeS4KCSAgVGhpcyBhbHNvIG1vdmVzIHRoZSBmb3JtYXQgdXRpbGl0eSBmdW5jdGlvbnMgaW50byB0aGVpciBvd24gZmlsZS4KCjIwMTUtMTItMTEgMTE6MjM6MTMgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBDaGVjayB0aGUgcmV0dXJuIHZhbHVlIG9mIEdldFN0YXR1cygpIHRvbyB0byBkZWNpZGUgaWYgdGhlcmUgd2FzIGFuIGVycm9yCgkgIElmIEdldFN0YXR1cygpIGZhaWxzLCB0aGUgc3RhdHVzIGl0c2VsZiB3b24ndCBiZSB2ZXJ5IG1lYW5pbmdmdWwgYnV0IHdlIGFsc28KCSAgaGF2ZSB0byBsb29rIGF0IGl0cyByZXR1cm4gdmFsdWUuIFRoaXMgZml4ZXMgYmxvY2tpbmcgcGlwZWxpbmVzIHdoZW4gcmVtb3ZpbmcKCSAgc291bmQgZGV2aWNlcyBvciBkdXJpbmcgb3RoZXIgZXJyb3JzLCB3aGVyZSB3ZSB3b3VsZG4ndCBub3RpY2UgdGhlIGVycm9yIGFuZAoJICB0aGVuIHdhaXQgZm9yZXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDA5OAoKMjAxNS0xMi0xMCAxNzo0MTo0NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogcmVtb3ZlIHVudXNlZCBwYXJhbWV0ZXJzIGluIGJ1aWxkXypfZXh0ZW5zaW9uCgkgIEF0b21UUkFLIHBhcmFtZXRlciBpcyBub3QgdXNlZCBieSBidWlsZF9tb3ZfYWxhY19leHRlbnNpb24oKSwKCSAgYnVpbGRfanAyaF9leHRlbnNpb24oKSwgb3IgYnVpbGRfbW92X2FsYWNfZXh0ZW5zaW9uKCkgIGFuZCBjYW4gYmUKCSAgcmVtb3ZlZC4KCjIwMTUtMTItMTAgMTU6MTE6MDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogcmVwbGFjZSB2YXJpYWJsZSBvbmx5IHVzZWQgb25jZQoJICBSZXBsYWNlIGhhc19zaGlmdCB2YXJpYWJsZSB3aXRoIHZhbHVlIHNpbmNlIGl0IGlzIG9ubHkgdXNlIG9uY2UuCgoyMDE1LTEyLTA5IDEyOjI0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHBhY2tldCBkcm9wcGluZyBhZnRlciBhIGJpZyBkaXNjb250CgkgIFdlIHdvdWxkIHF1ZXVlIDUgY29uc2VjdGl2ZSBwYWNrZXRzIGJlZm9yZSBjb25zaWRlcmluZyBhIHJlc2V0IGFuZCBhIHByb3BlcgoJICBkaXNjb250IGhlcmUuIEluc3RlYWQgb2YgZXhwZWN0aW5nIHRoZSBuZXh0IG91dHB1dCBwYWNrZXQgdG8gaGF2ZSB0aGUgY3VycmVudAoJICBzZXFudW0gKGkuZS4gdGhlIGZpZnRoKSwgZXhwZWN0IGl0IHRvIGhhdmUgdGhlIGZpcnN0IHNlcW51bS4gT3RoZXJ3aXNlIHdlJ3JlCgkgIGdvaW5nIHRvIGRyb3AgYWxsIHF1ZXVlZCB1cCBwYWNrZXRzLgoKMjAxNS0xMi0wOSAxMTo0OTowMiArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IFJlbW92ZSB1bnNlZCBmaWVsZAoJICBSZW1vdmUgdW51c2VkIGZpZWxkIGNvbGxlY3RfZXZlbnQgaW4gaW50ZXJsZWF2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTIyNgoKMjAxNS0xMi0wNyAxNjozMzoxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTdG9wIHB1c2hpbmcgZGF0YSBhcyBzb29uIGFzIHBvc3NpYmxlIGluIHB1c2gtbW9kZQoJICBXaGVuIHdvcmtpbmcgaW4gcHVzaC1tb2RlLCB3ZSBhdHRlbXB0IHRvIHB1c2ggb3V0IGV2ZXJ5dGhpbmcgY3VycmVudGx5CgkgIGJ1ZmZlcmVkIGluIHRoZSBhZGFwdGVyLgoJICBUaGlzIGhhcyB0d28gcGl0ZmFsbHM6CgkgICogV2UgY291bGQgc3RvcCBlYXJsaWVyICh0aGUgbW9tZW50IHdlIGdldCBhIG5vbi1vayBvciBub24tbm90LWxpbmtlZCkKCSAgKiBXZSByZXR1cm4gdGhlIGxhc3QgY29tYmluZWQgZmxvdyByZXR1cm4sIHdoaWNoIG1pZ2h0IGJlIGNvbXBsZXRlbHkKCSAgZGlmZmVyZW50IGZyb20gdGhlIHByZXZpb3VzIGNvbWJpbmVkIGZsb3cgcmV0dXJuCgoyMDE1LTEyLTA3IDA5OjA4OjA5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjMxOTkwOSB0byA4NmU0NjYzCgoyMDE1LTEyLTA3IDE0OjQxOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgYSB3YXJuaW5nIGlmIGFuIGVtcHR5IFJUQ1AgcGFja2V0IGlzIHRyaWVkIHRvIGJlIHNlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTExOQoKMjAxNS0xMS0zMCAxOToyMDoxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJICB2cHhkZWM6IFVzZSBHc3RNZW1vcnkgdG8gYXZvaWQgY29waWVzCgkgIFdpdGggdGhlIFZQWCBkZWNvZGVycyBpdCdzIG5vdCBzaW1wbGUgdG8gdXNlIGRvd25zdHJlYW0gYnVmZmVyIHBvb2wsCgkgIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB0aGUgaW1hZ2Ugc2l6ZSBhbmQgYWxpZ25tZW50IHdoZW4gYnVmZmVycyBnZXQKCSAgYWxsb2NhdGVkLiBXZSBjYW4gdGhvdWdoIHVzZSBHc3RBbGxvY2F0b3IgKGZvciBkb3duc3RyZWFtLCBvciB0aGUgc3lzdGVtCgkgIGFsbG9jYXRvcikgdG8gYXZvaWQgYSBjb3B5IGJlZm9yZSBwdXNoaW5nIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMKCSAgR3N0VmlkZW9NZXRhLiBUaGlzIHdvdWxkIHN0aWxsIGNhdXNlIGEgY29weSBmb3Igc2luayB0aGF0IHJlcXVpcmVzCgkgIHNwZWNpYWxpemVkIG1lbW9yeSBhbmQgZG9lcyBub3QgaGF2ZSBhIEdzdEFsbG9jYXRvciBmb3IgdGhhdCwgdGhvdWdoCgkgIGl0IHdpbGwgZ3JlYXRseSBpbXByb3ZlIHBlcmZvcm1hbmNlIGZvciBzaW5rIGxpa2UgZ2xpbWFnZXNpbmsgYW5kCgkgIGNsdXR0ZXJzaW5rLiBUbyBhdm9pZCBhbGxvY2F0aW5nIGZvciBldmVyeSBidWZmZXIsIHdlIGFsc28gdXNlIGEKCSAgaW50ZXJuYWwgYnVmZmVyIHBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUzNzIKCjIwMTUtMTEtMzAgMDg6NDI6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBdm9pZCBvdmVyLXNraXBwaW5nIHdoZW4gY2hlY2tpbmcgTE9BUyBjb25maWcKCSAgVGhlcmUgbWlnaHQgYmUgbXVsdGlwbGUgTE9BUyBjb25maWcgaW4gYSByb3cgaW4gYSBmdWxsIGZyYW1lLiBUaGUgZmlyc3QKCSAgb25lIG1pZ2h0IGJlIGEgbXVsdGktbGF5ZXIgY29uZmlnICh3aGljaCB3ZSBjYW4ndCBwcm9wZXJseSBwYXJzZSB5ZXQpLi4uCgkgIGJ1dCB0aGVuIGZvbGxvd2VkIGJ5IGEgdmFsaWQgKHNpbmdsZS1sYXllcikgb25lLgoJICBUaGUgY29kZSB3YXMgcHJldmlvdXNseSBza2lwcGluZyB3aG9sZSBmcmFtZXMgKGluc3RlYWQgb2YganVzdCB0aGUgTE9BUwoJICBjb25maWcgd2UgZmFpbGVkIHRvIHJlYWQpIHJlc3VsdGluZyBpbiBtdWx0aXBsZSBmcmFtZXMgKHNlZW4gdXAgdG8gNnMgaW4KCSAgc29tZSBzaXR1YXRpb24pIGJlaW5nIGRyb3BwZWQgYmVmb3JlIGZpbmFsbHkgZ2V0dGluZyB0aGUgY29uZmlndXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODgyNgoKMjAxNS0xMS0yNSAxNzowODo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFByb3Blcmx5IHNldCBTUEFSU0Ugc3RyZWFtIGZsYWdzIGZvciBzdWJwaWN0dXJlL3N1YnRpdGxlCgkgIEFuZCB3aGlsZSB3ZSdyZSBhdCBpdCwgYWxzbyBkZXRlY3QgJ0RYU0EnIGFzIGJlaW5nIGEgdmFyaWFudCBmb3VyY2MKCSAgb2YgJ0RYU0InIGZvciBYU1VCCgoyMDE1LTExLTMwIDIxOjIzOjUyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IGdyYW1tYXIgZml4CgoyMDE1LTExLTMwIDIxOjAxOjE3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IHN3aXRjaCBzaG91dGNhc3Qgc3RyZWFtIHByb3ZpZGVyCgkgIEZpeGVzIGZhaWxpbmcgSUNZIHRlc3QuIFByZXZpb3VzIHByb3ZpZGVyIGhhcwoJICBzdHJlYW1pbmcgZGlzYWJsZWQgb3V0c2lkZSBVSy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODExNAoKMjAxNS0xMS0xOCAxNjoxMDoxMSArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGRvbid0IGNyYXNoIGlmIHdlIG5ldmVyIGdvdCBhdWRpbyBjYXBzIGJlZm9yZSBzdG9wcGluZwoJICBhdWRzLmJsb2NrYWxpZ24gaXMgc2V0IG9uY2UgdGhlIGZpcnN0IGNhcHMgYXJyaXZlLiBJZgoJICBnc3RfYXZpX211eF9zdG9wX2ZpbGUoKSBpcyBjYWxsZWQgYmVmb3JlIHRoaXMgaGFwcGVucyB0aGVuIGF1ZHMuYmxvY2thbGlnbgoJICBpcyB6ZXJvIGFuZCBnc3RfYXZpX211eF9hdWRzaW5rX3NldF9maWVsZHMoKSBjYXVzZSBhIGNyYXNoOgoJICBbLi4uXQoJICBhdmlwYWQtPnBhcmVudC5oZHIucmF0ZSA9IGF2aXBhZC0+YXVkcy5hdl9icHMgLyBhdmlwYWQtPmF1ZHMuYmxvY2thbGlnbjsKCSAgWy4uLl0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODkxMgoKMjAxNS0xMi0wMSAxODoyMDoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG9uJ3QgYmxvY2sgd2hlbiByZXN1cmVjdGluZyBhIGJ1ZmZlcgoJICBXaGVuIHdlIGFyZSByZXN1cmVjdGluZyBhIGJ1ZmZlciwgZG9uJ3QgYmxvY2suIGluc3RlYWQgbGV0IHVzIGNvcHkgYQoJICBidWZmZXIuCgoyMDE1LTEyLTAxIDAwOjMwOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlbW92ZSBleHRyYSB2YXJpYWJsZSB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgkgIE1ha2VzIGl0IGVhc2llciB0byBzZWUgdGhhdCB0aGUgZXZlbnQgaXMgYmVpbmcgcmVwbGFjZWQvdW5yZWZlZAoKMjAxNS0xMi0wMSAwMDoyMjozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZXNwZWN0IHNlcW51bSBpbiBzZWVrIGV2ZW50cwoJICBQcm9wYWdhdGUgdGhlIG9yaWdpbmFsIHNlZWsgc2VxbnVtIHRvIGV2ZW50cyBvcmlnaW5hdGVkIGZyb20KCSAgc2Vla2luZyB0byBtYWtlIHN1cmUgdGhleSBoYXZlIHRoZSBzYW1lIHZhbHVlCgoyMDE1LTEyLTAxIDAwOjAzOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZsdXNoIHVwc3RyZWFtIHdoZW4gc2Vla2luZyBpbiBwdWxsIG1vZGUKCSAgTWFrZXMgc3VyZSB1cHN0cmVhbSB3aWxsIHVuYmxvY2sgYW5kIHJldHVybiB0aGUgdGhyZWFkIHNvIHRoYXQKCSAgc2Vla2luZyBjYW4gY29udGludWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODg2MQoKMjAxNS0xMS0yNyAwOToyNzoyOSArMDEwMCAgQW50b24gQm9uZGFyZW5rbyA8YW50b25ib0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhZGQgInNlbmQgU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZSIgbW9kZQoJICBJdCdzIG5vdCBlbm91Z2ggdG8gaGF2ZSB0aW1lb3V0IG9yIGV2ZW50IGJhc2VkIFNQUy9QUFMgaW5mb3JtYXRpb24gc2VudAoJICBpbiBSVFAgcGFja2V0cy4gVGhlcmUgYXJlIHNvbWUgc2NlbmFyaW9zIHdoZW4ga2V5IGZyYW1lcyBtYXkgYXBwZWFyCgkgIG1vcmUgZnJlcXVlbnRseSB0aGFuIG9uY2UgYSBzZWNvbmQsIGluIHdoaWNoIGNhc2UgdGhlIG1pbmltdW0gdGltZW91dAoJICBmb3IgImNvbmZpZy1pbnRlcnZhbCIgb2YgMSBzZWNvbmQgZm9yIHNlbmRpbmcgU1BTL1BQUyBpcyBub3Qgc3VmZmljaWVudC4KCSAgSXQgbWlnaHQgYWxzbyBiZSBkZXNpcmFibGUgaW4gZ2VuZXJhbCB0byBtYWtlIHN1cmUgdGhlIFNQUy9QUFMgaXMKCSAgYXZhaWxhYmxlIHdpdGggZXZlcnkga2V5ZnJhbWUgKHBhY2tldCBsb3NzIGFzaWRlKSwgc28gcmVjZWl2ZXJzIGNhbgoJICBhY3R1YWxseSBwaWNrIHVwIGRlY29kaW5nIGltbWVkaWF0ZWx5IGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIGlmCgkgIFNQUy9QUFMgaXMgbm90IHNpZ25hbGVkIG91dCBvZiBiYW5kLgoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIHNlbmQgU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZS4gVGhpcwoJICBtb2RlIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRpbmcgImNvbmZpZy1pbnRlcnZhbCIgcHJvcGVydHkgdG8gLTEuIEluIHRoaXMKCSAgY2FzZSB0aGUgcGF5bG9hZGVyIHdpbGwgYWRkIFNQUyBhbmQgUFBTIGJlZm9yZSBldmVyeSBrZXkgKElEUikgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTUtMTEtMjcgMDk6MDM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IGNoYW5nZSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdHlwZSBmcm9tIHVpbnQgdG8gaW50CgkgIFRoaXMgd2F5IHdlIGNhbiB1c2UgLTEgYXMgc3BlY2lhbCB2YWx1ZSwgd2hpY2ggaXMgbmljZXIgdGhhbiBNQVhVSU5ULgoJICBUaGlzIGlzIGJhY2t3YXJkcyBjb21wYXRpYmxlIGV2ZW4gd2l0aCB0aGUgR1ZhbHVlIEFQSSwgYXMgc2hvd24gYnkKCSAgYSB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTUtMTEtMjYgMjE6NDY6MTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIE9wdXMKCSAgQWRkIHN1cHBvcnQgZm9yIGRlbXV4aW5nIE9wdXMgZW5jYXBzdWxhdGVkIGluIE1QNCBmaWxlcywgYmFzZWQgb24gdGhlCgkgIGZvbGxvd2luZyBzcGVjOiBodHRwczovL3d3dy5vcHVzLWNvZGVjLm9yZy9kb2NzL29wdXNfaW5faXNvYm1mZi5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2NDMKCjIwMTUtMTEtMjUgMjI6NDg6MzIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIG1hY3JvIGZvciBjb2RlY19uYW1lCgkgIFVzZSBfY29kZWMoKSBtYWNybyBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGNvZGUuCgoyMDE1LTAzLTI1IDE2OjMyOjU1ICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IHZpZGVvZGVjOiBjaG9vc2UgZm9ybWF0IGZyb20gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODI3CgoyMDE1LTAzLTI3IDE1OjAyOjMzICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGFkZCBnc3RfdjRsMl9vYmplY3RfcHJvYmVfY2FwcwoJICBBZGQgYSB2YXJpYW50IG9mIGdzdF92NGwyX29iamVjdF9nZXRfY2FwcyB0aGF0IGJ5cGFzc2VzIHRoZSBwcm9iZWRfY2FwcyBjYWNoZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzgyNwoKMjAxNS0xMS0xOSAxNzoyMDo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyLXByb2JlOiBTa2lwIGRldmljZXMgd2l0aG91dCBzdXBwb3J0ZWQgZm9ybWF0cwoKMjAxNS0xMS0xMyAxMjozNTo1OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IFRyYWNrIC9kZXYvdmlkZW8qIHRvIHRyaWdnZXJlZCByZXF1aXJlZCBwcm9iZQoJICBJZiBzb21ldGhpbmcgaW4gL2Rldi92aWRlbyogZ2V0IGFkZGVkLCByZW1vdmVkIG9yIHJlcGxhY2VkLCB3ZSBuZWVkIHRvCgkgIHByb2JlIHRoZSBkZXZpY2VzIGFnYWluIGluIG9yZGVyIHRvIGVuc3VyZSB0aGUgZHluYW1pYyBkZXZpY2VzIGFyZSB1cCB0bwoJICBkYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDg1CgoyMDE1LTExLTI1IDE0OjUxOjQwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogcnRwc2Vzc2lvbjogZG9uJ3Qgc2VuZCBlbXB0eSBSVENQIHBhY2tldHMKCSAgZ2VuZXJhdGVfcnRjcCBjYW4gcHJvZHVjZSBlbXB0eSBwYWNrZXRzIHdoZW4gcmVkdWNlZCBzaXplIFJUQ1AgaXMgdHVybmVkIG9uLgoJICBTa2lwIHRoZW0gc2luY2UgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHB1c2ggdGhlbSBhbmQgdGhleSBjYXVzZSBlcnJvcnMgd2l0aAoJICBlbGVtZW50cyB0aGF0IGV4cGVjdCBSVENQIHBhY2tldHMgdG8gY29udGFpbiBkYXRhIChsaWtlIHNydHBlbmMpLgoKMjAxNS0xMS0yNCAxMDo1NzoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc3RvcmUgdGhlIHNlZ21lbnQgb24gY2FzZSBvZiBzb2Z0IHJlc2V0CgkgIFdoZW4gc2Vla2luZyBiYWNrIHRvIHJlc3RvcmUgdGhlIG1kYXQgcG9zaXRpb24gYSBmbHVzaCBpcyBwdXNoZWQKCSAgdGhyb3VnaCBhbmQgaXQgcmVzZXRzIGRvd25zdHJlYW0gc2VnbWVudCBpbmZvcm1hdGlvbi4gTWFrZSBzdXJlCgkgIHRoYXQgYWZ0ZXIgdGhlIGZsdXNoICh0aGF0IGRvZXMgYSBzb2Z0IHJlc2V0KSBhIHNlZ21lbnQgd2lsbAoJICBiZSBwdXNoZWQgYWdhaW4KCSAgRml4ZXMgcmVncmVzc2lvbnMgc3BvdHRlZCBhdAoJICBodHRwczovL2NpLmdzdHJlYW1lci5uZXQvam9iL0dTdHJlYW1lci1tYXN0ZXItdmFsaWRhdGUvMjEwMC8KCjIwMTUtMTEtMjAgMTI6NDQ6MjIgKzAwMDAgIEdyYWhhbSBMZWdnZXR0IDxtaW5mcmluQHNoYXJwLmZtPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGZpeCBzcGVsbGluZyBvZiB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MzkwCgoyMDE1LTExLTIwIDExOjA1OjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVuaXRlIGR1cGxpY2F0ZSBGb3VyQ0MKCSAgVW5pdGUgaW4gZm91cmNjLmggdGhlIEZvdXJDQ3MgdGhhdCBhcmUgdXNlZCB0d2ljZSBvciBtb3JlIGluIHF0ZGVtdXgKCjIwMTUtMTEtMjAgMTE6MTg6NDMgKzExMDAgIFJvbWFuIE5vd2lja2kgPHJub3dpY2tpQHNpbXMucGw+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IHJldXNlIGV4aXN0aW5nIEdzdFFTR1RleHR1cmUKCSAgRml4ZXMgYSBtZW1vcnkgbGVhayBsZWFraW5nIHRoZSB0ZXh0dXJlIG9iamVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyODYKCjIwMTUtMTEtMjAgMTE6MDg6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJICBxbWw6IGFjdGl2YXRlIHRoZSB3cmFwcGVkIGNvbnRleHQgd2hlbiBiaW5kaW5nCgkgIE1pdGlnYXRlcyB0aGUgZm9sbG93aW5nIGNyaXRpY2FsCgkgIGdzdF9nbF9jb250ZXh0X3RocmVhZF9hZGQ6IGFzc2VydGlvbiAnY29udGV4dC0+cHJpdi0+YWN0aXZlX3RocmVhZCA9PSBnX3RocmVhZF9zZWxmICgpJyBmYWlsZWQKCjIwMTUtMTEtMTkgMTE6NTU6MTkgKzAxMDAgIFJvbWFuIE5vd2lja2kgPHJub3dpY2tpQHNpbXMucGw+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IHByb3BlciBpbml0aWFsaXphdGlvbiBpZiBzY2VuZSBpcyBhbHJlYWR5IGluaXRpYWxpemVkCgkgIFRoZSBzY2VuZSBncmFwaCBjYW4gYmUgaW5pdGlhbGl6ZWQgd2hlbiB0aGUgd2UgcmVjZWl2ZSB3aW5kb3cgaGFuZGxlIGNoYW5nZQoJICBub3RpZmljYXRpb24gYW5kIHNvIHdlIHdpbGwgbm90IHJlY2VpdmUgYSBzY2VuZWdyYXBoIGluaXRpYWxpemF0aW9uCgkgIG5vdGlmaWNhdGlvbi4gIEluaXRpYWxpemUgb3Vyc2VsZiBpbiB0aGlzIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzMzcKCjIwMTUtMTEtMTkgMTU6MzM6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IEZpeCBjYXB0dXJlL291dHB1dC1pby1tb2RlIHByb3BlcnRpZXMKCSAgVGhlcmUgd2FzIHNvbWUgbWlzcy1tYXRjaCBpbiB0aGUgaW1wbGVtZW50YXRpb24uIFRoaXMgbWFrZXMgaXQKCSAgY29uY2lzdGVudCwgdGhvdWdoIGZ1bmN0aW9uYWxseSBpdCB3b3JrZWQsIGV4Y2VwdCB0aGUgdmlkZW8gZGVjb2RlcgoJICBvdXRwdXQtaW8tbW9kZSBnZXR0ZXIuCgoyMDE1LTExLTE5IDE5OjQ4OjA2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBhdG9tczogcmVtb3ZlIHVudXNlZCBhcmd1bWVudCBvZiBidWlsZF9tb3Zfd2F2ZV9leHRlbnNpb24oKQoJICBBdG9tVHJhayAqIHRyYWsgYXJndW1lbnQgb2YgYnVpbGRfbW92ZV93YXZlX2V4dGVuc2lvbigpIGlzbid0IHVzZWQuCgkgIFJlbW92aW5nIGl0LgoKMjAxNS0xMS0xOSAxOToyODoyMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgZHVwbGljYXRlIEZvdXJDQwoJICBVc2UgdGhlIGF2YWlsYWJsZSBGb3VyQ0NzIGluIGZvdXJjYy5oIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgdGhlbS4KCjIwMTUtMTEtMTkgMTg6MzY6MzkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBjZW50cmFsaXplIGFsbCBGb3VyQ0MKCSAgMTAgRm91ckNDcyBnZW5lcmF0ZWQgd2l0aCBHU1RfTUFLRV9GT1VSQ0MoKSBpbiBnc3RxdG11eC5jIGFuZCBhdG9tcy5jCgkgIGFscmVhZHkgZXhpc3QgaW4gZm91cmNjLmguIERvbid0IGR1cGxpY2F0ZSB0aGVzZSBhbmQgdXNlIHRoZW0gZGlyZWN0bHkuCgkgIFBsdXMgbW92aW5nIDYgdG8gZm91cmNjLmgsIHRvIGNlbnRyYWxpemUgdGhlbSBhbGwuCgoyMDE1LTExLTE5IDE3OjMyOjEyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thL3dlYm1tdXg6IGZpeCBvdXRkYXRlZCBleGFtcGxlIGxhdW5jaCBsaW5lcwoJICBVcGRhdGUgZ3N0LWxhdW5jaC0wLjEwIGxpbmVzIHRvIGdzdC1sYXVuY2gtMS4wCgoyMDE1LTExLTE2IDEzOjI2OjUwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBpc29tcDQ6IGFkZCBzdXBwb3J0IGZvciBPcHVzIGluIG1wNG1wdXgKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyBNUDQgZmlsZXMgY29udGFpbmluZyBPcHVzLiBCYXNlZCBvbiB0aGUgc3BlYwoJICBkZXRhaWxlZCBoZXJlOgoJICBodHRwczovL3d3dy5vcHVzLWNvZGVjLm9yZy9kb2NzL29wdXNfaW5faXNvYm1mZi5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2NDMKCjIwMTUtMTEtMTcgMTU6MjM6MTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSAgUmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoJICBnX2ZyZWUoKSBpcyBOVUxMLXNhZmUKCjIwMTUtMTEtMTggMTk6MTA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVwbGFjZSB0YWJzIHdpdGggc3BhY2VzCgoyMDE1LTExLTE4IDE5OjA3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENhc3QgdG8gc2lnbmVkIGludGVnZXJzIHRvIHByZXZlbnQgdW5zaWduZWQgY29tcGFyZSBiZXR3ZWVuIG5lZ2F0aXZlIGFuZCBwb3NpdGl2ZSBudW1iZXJzCgkgIFRoaXMgZml4ZXMgc2Vla2luZyBpZiB0aGUgZmlyc3QgZW50cmllcyBpbiB0aGUgc2FtcGxlcyB0YWJsZSBhcmUgbmVnYXRpdmUuIFRoZQoJICBiaW5hcnkgc2VhcmNoIHdvdWxkIGFsd2F5cyBmYWlsIG9uIHRoaXMgYXMgdGhlIGFycmF5IHdvdWxkIG5vdCBiZSBzb3J0ZWQgaWYKCSAgaW50ZXJwcmV0aW5nIHRoZSBuZWdhdGl2ZSBudW1iZXJzIGFzIGh1Z2UgcG9zaXRpdmUgbnVtYmVycy4gVGhpcyBjYXVzZWQgdXMgdG8KCSAgYWx3YXlzIG91dHB1dCBidWZmZXJzIGZyb20gdGhlIGJlZ2lubmluZyBhZnRlciBhIHNlZWsgaW5zdGVhZCBvZiBjbG9zZSB0byB0aGUKCSAgc2VlayBwb3NpdGlvbi4KCSAgQWxzbyBhZGQgYSBjYXNlIHRvIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uIGZvciBlcXVhbGl0eS4KCjIwMTUtMTEtMTggMTY6MDE6NDggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgZHVwbGljYXRlIGNoZWNrCgkgIFdlIHdhbnQgMSBvciAyIHN0cmVhbWhlYWRlcnMsIHRoZSBjaGVjayAgaWYgKGJ1ZmFyci0+bGVuICE9IDEgJiYKCSAgYnVmYXJyLT5sZW4gIT0gMikgaXMgZW5vdWdoLiBOb3QgbmVlZCB0byBjaGVjayBpZiBidWZhcnItPmxlbiBpcyA8PSAwIG9yCgkgID4gMjU1LgoKMjAxNS0xMS0xOCAxNDo0ODozNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEZpeCBlcnJvciBsZWFrIGFuZCBoYW5kbGUgZXJyb3IKCSAgZ190aHJlYWRfdHJ5X25ldyBhbGxvd3MgZm9yIHBvc3NpYmxpdHkgb2YgZmFpbHVyZXMuIEluIGNhc2UgaXQgZmFpbHMsCgkgIGVycm9yIGlzIG5vdCBoYW5kbGVkIGFuZCBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyNjAKCjIwMTUtMTEtMTUgMTc6MTY6MjkgLTA4MDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IFByb3Blcmx5IGhhbmRsZSBiYWNrd2FyZCBjb21wYXQgZm9yIGV2ZW50IGRlc2VyaWFsaXphdGlvbgoJICBBY3R1YWwgY29kZSBpcyBjaGVja2luZyBmb3IgYSBOVUxMIHRlcm1pbmF0b3IgYW5kIGEgJzsnIHRlcm1pbmF0b3IsCgkgIGZvciBiYWNrd2FyZCBjb21wYXQsIGluIGEgY2hhaW5lZCB3YXkgdGhhdCBjYXVzZSBhbGwgZXZlbnRzIGJlaW5nIHJlamVjdGVkLgoJICBUaGUgcHJvcGVyIGNvbmRpdGlvbiBpcyB0byByZWplY3QgdGhlIGV2ZW50cyB3aGVuIHRlcm1pbmF0b3IgaXNuJ3QKCSAgaW4gWydcMCcsICc7J10gc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTUxCgoyMDE1LTExLTE1IDE3OjExOjAyIC0wODAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IFRlc3QgZm9yIGhhbmRsaW5nIG9mIGN1c3RvbSBldmVudHMgaW4gcnRwZ3N0CgkgIEFkZCBhIHNpbXBsZSB0ZXN0IHRoYXQgY2hlY2tzIHByb3BlciBzZXJpYWxpemF0aW9uL2Rlc2VyaWFsaXphdGlvbgoJICBvZiBjdXN0b20gZXZlbnRzIHdpdGggcnRwZ3N0cGF5IGFuZCBydHBnc3RkZXBheS4KCjIwMTUtMTEtMTYgMTY6MjM6NDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweGRlYzogVXNlIHRocmVhZHMgb24gbXVsdGktY29yZSBzeXN0ZW1zCgkgIFRoaXMgYWRkcyBhbiBhdXRvbWF0aWMgbW9kZSB0byB0aGUgdGhyZWFkcyBwcm9wZXJ0eSBvZiB2cHhkZWMgaW4gb3JkZXIgdG8KCSAgdXNlIGFzIG1hbnkgdGhyZWFkcyBhcyB0aGVyZSBpcyBDUFUgb24gdGhlIHBsYXRmb3JtLiBUaGlzIGJyaW5ncyBiYWNrCgkgIEdTdHJlYW1lciBWUFggZGVjb2RpbmcgcGVyZm9ybWFuY2UgY2xvc2VyIHRvIHdoYXQgaXMgYWNoaWV2ZWQgYnkgb3RoZXIKCSAgcGxheWVycywgaW5jbHVkaW5nIENocm9taXVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTk1CgoyMDE1LTExLTE2IDEwOjU4OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSBzZW5kIGluaXRpYWwgZ2FwcyBmb3Igbm9uLWZyYWdtZW50ZWQgc3RyZWFtcwoJICBJdCB3b3VsZCBiZSB1bnVzdWFsIHRvIGhhdmUgdGhlIGhlYWRlciBzZWdtZW50IHdpdGggYW4gJ2VkdHMnIGF0b20KCSAgaW5kaWNhdGluZyBnYXBzIGF0IHRoZSBiZWdpbm5pbmcgd2hlbiBoYW5kbGluZyBmcmFnbWVudGVkIHN0cmVhbXMuCgkgIFRoZSBoZWFkZXIgdXN1YWxseSBkb2Vzbid0IGNvbnRhaW4gYW55IHRpbWVzdGFtcGluZyBpbmZvcm1hdGlvbiwgdGhpcwoJICBzaG91bGQgY29tZSBmcm9tIHRoZSBwbGF5bGlzdC9tYW5pZmVzdCBhbmQgdGhlIHNlZ21lbnRzIHdpdGggbWVkaWEKCSAgaW4gdGhvc2Ugc2NlbmFyaW9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTcxCgoyMDE1LTExLTE3IDA5OjQxOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgInF0ZGVtdXg6IHJlc3BlY3QgcXQgc2VnbWVudHMgaW4gcHVzaC1tb2RlIGZvciBlbXB0eSBzdGFydHMiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ4NDJmZjI4OGE5ZDAxMjE0YTA0NmJlY2JmZDljYmZmM2E0YWNlYTAuCgkgIFRoaXMgd2FzIHJldmVydGVkIGJ5IGFjY2lkZW50CgoyMDE1LTExLTE3IDEyOjM5OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBBZGQgImxvb3AiIHByb3BlcnR5IGZvciBlbmFibGluZy9kaXNhYmxpbmcgbXVsdGljYXN0IGxvb3BiYWNrCgkgIE9uIFBPU0lYLCBJUF9NVUxUSUNBU1RfTE9PUCBpcyBhIHNldHRpbmcgZm9yIHRoZSBzZW5kZXIgc29ja2V0LiBPbiBXaW5kb3dzIGl0CgkgIGlzIGEgc2V0dGluZyBmb3IgdGhlIHJlY2VpdmVyIHNvY2tldC4gQXMgc3VjaCB3ZSB3aWxsIG5lZWQgaXQgb24gdWRwc3JjIHRvbyB0bwoJICBhbGxvdyBmaWx0ZXJpbmcgb3V0IG91ciBvd24gbXVsdGljYXN0IHBhY2tldHMuCgoyMDE1LTExLTE2IDEzOjUyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogcmVzcGVjdCBxdCBzZWdtZW50cyBpbiBwdXNoLW1vZGUgZm9yIGVtcHR5IHN0YXJ0cyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxNDJkOGUyZDIzZTU2MDJlNzM4Mjk3N2FmMTA0M2Q2MjE2MjVmOGM4LgoKMjAxNS0xMS0xNiAxNjo1NjowNCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggc3RyaW5nIG1lbW9yeSBsZWFrCgkgIFRoZSBzdHJpbmcgZ290IHVzaW5nIGdfc3RyZHVwX3ByaW50ZiB3aWxsIGJlIGFsbG9jYXRlZCBtZW1vcnkKCSAgYW5kIHNob3VsZCBiZSBmcmVlZCBhZnRlciB1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxNjEKCjIwMTUtMTEtMTQgMjE6NTE6MTEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMi9vYmplY3Q6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMTo0NToyOSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgb3Nzc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVjayBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6NDM6MjQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICBzdW5hdWRpb3NyYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMTozNjozMCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjMxOjA4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjI2OjIxIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2EvcmVhZC1jb21tb246IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6NDM6MTAgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0L2F0b21zOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjM1OjU0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHAvdGhlb3JhcGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjMzOjU0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHAvdm9yYmlzcGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjMxOjM0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwL2pwZWdwYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6Mjc6MDQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDoyMjowOSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjE0OjI1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDowOTo1NCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSAgZWZmZWN0di9vcHR2OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjA1OjAzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIGVmZmVjdHYvc2hhZ2FkZWxpY3R2OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjAxOjQzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSAgZWZmZWN0di9yaXBwbGU6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTk6NTY6NTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSAgZWZmZWN0di9yYWRpb2FjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE5OjUyOjEyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSAgZWZmZWN0di9zdHJlYWs6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxNzowNDo1NSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE2OjU3OjEzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxNjo1NDo0MiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVjayBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTY6MjA6MzMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTEzIDEzOjM0OjAyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBhZGQgc3VwcG9ydCBvZiBOVjE2LCBOVjYxIGFuZCBOVjI0IGZvcm1hdHMKCSAgTWFwcGVkIHJlc3BlY3RpdmVseSB0byBWNEwyX1BJWF9GTVRfTlYxNi9WNEwyX1BJWF9GTVRfTlYxNk0sCgkgIFY0TDJfUElYX0ZNVF9OVjYxLFY0TDJfUElYX0ZNVF9OVjYxTSBhbmQgVjRMMl9QSVhfRk1UX05WMjQgdjRsMiBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDU4CgoyMDE1LTExLTExIDE0OjEwOjUzICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhwYXJ0cmVhZGVyOiBGaXggR0NvbmQgbGVhawoJICBpbmFjdGl2ZV9jb25kIGlzIG5vdCBiZWluZyBjbGVhcmVkIHJlc3VsdGluZyBpbiBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkyNAoKMjAxNS0wOC0wNiAxMjo0NDoyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IG91dHB1dCBzdGF0ZSBtZW1vcnkgbGVhawoJICBXaGVuIGpwZWdfZmluaXNoX2RlY29tcHJlc3MgaXMgY2FsbGVkLCBvdXRwdXQgc3RhdGUgcmVmZXJlbmNlIGlzIGJlaW5nIGNyZWF0ZWQuCgkgIEJ1dCBpZiB0aGVyZSBpcyBhbnkgZmFpbHVyZXMgaW4gZmluaXNoaW5nIGRlY29tcHJlc3MsIGl0IGp1bXBzIHRvIHNldGptcCwKCSAgYW5kIGF0IHRoYXQgcG9pbnQgc3RhdGUgd2FzIG5vdCByZWZlcmVuY2VkLiBSZXN1bHRpbmcgaW4gbGVhayBvZiBvdXRwdXQgc3RhdGUuCgkgIEhlbmNlIGFkZGluZyBhbm90aGVyIHNldGptcCBhZnRlciBvdXRwdXQgc3RhdGUgaXMgcmVmZXJlbmNlZC4KCSAgU2ltaWxhcmx5IGFkZGluZyBhbm90aGVyIHNldGptcCB0byB1bm1hcCB0aGUgZnJhbWUgaW4gY2FzZSBlcnJvciBoYXBwZW5zIGJlZm9yZQoJICBmaW5pc2hfZGVjb21wcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDg3CgoyMDE1LTExLTEwIDEyOjMyOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBndGs6IGFkZCB0aGUgb3ZlcmxheWNvbXBvc2l0aW9uIGZlYXR1cmUgdG8gdGhlIHRlbXBsYXRlIGNhcHMKCSAgVGhlcmUgaXMgYSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBfZ2V0X2NhcHMgaW1wbCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZQoJICBmZWF0dXJlIGluIHRoZSBmaWx0ZXIgY2FwcyB3aGljaCB3aGVuIGludGVyZWN0aW5nIHdpdGggdGhlIHRlbXBsYXRlLAoJICB3aWxsIHJldHVybiBFTVBUWSBhbmQgdGhlcmVmb3JlIGZhaWwgbmVnb3RpYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4NTQKCjIwMTUtMDgtMTAgMTE6MjM6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXNwZWN0IHF0IHNlZ21lbnRzIGluIHB1c2gtbW9kZSBmb3IgZW1wdHkgc3RhcnRzCgkgIEluIHB1c2gtbW9kZSBpdCBpcyBoYXJkIHRvIHN1cHBvcnQgcXQgc2VnbWVudHMgb3ZlcmFsbCBidXQgaXQgaXMKCSAgcG9zc2libGUgdG8gc3VwcG9ydCB3aGVuIHRoZSBmaWxlIGlzbid0IGhlYXZpbHkgZWRpdGVkIGJ1dCBqdXN0IGNvbnRhaW4KCSAgYSBzZWdtZW50IHRvIGluZGljYXRlIGEgZ2FwIGF0IHRoZSBiZWdpbm5pbmcuIFRoaXMgYWxzbyBhbGxvd3MgcHJvcGVybHkKCSAgdGltZXN0YW1waW5nIGRhdGEgdGhhdCBoYXMgbmVnYXRpdmUgRFRTIGluIHB1c2gtbW9kZS4KCSAgSXQgaXMgcmVsZXZhbnQgdG8gc3VwcG9ydCB0aG9zZSBmb3IgMiBzY2VuYXJpb3M6CgkgIDEpIGZyYWdtZW50ZWQgc3RyZWFtaW5nCgkgIDIpIEhUVFAgcGxheWJhY2sgb2YgJ3JlZ3VsYXInIG1wNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDg0CgoyMDE1LTExLTA1IDE4OjM5OjMzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJICBwdWxzZTogRG9uJ3QgbGVhayBjYXBzIGFuZCBzdHJ1Y3R1cmVzIGluIHRoZSBkZXZpY2UgcHJvdmlkZXIKCjIwMTUtMTEtMDQgMTk6MDE6MjAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBEb2N1bWVudCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGV4cHJlc3NlZCBpbiBiaXRzIHBlciBzZWNvbmQKCSAgVGhpcyBjaGFuZ2VkIGluIDkyOGNkMTEwYmNlYTVkMTQzY2FiM2VhNzQ3OTkxODUxZDUyZWNiYWQgYW5kCgkgIDczYzBjMjkyMGY5YWNhOTY5ODJhNGRlMGMyMGIzNDE3YWExNDhiODEgYnV0IHdhcyBub3QgZG9jdW1lbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0xMS0wNCAxODo1MTozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogVHJpdmlhbCBnc3QtaW5kZW50IGZpeGVzCgoyMDE1LTA4LTEyIDEzOjM1OjQwICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBzdXBwb3J0IGZvciBjZW5jIGF1eGlsaWFyeSBpbmZvIHBhcnNpbmcgb3V0c2lkZSBvZiBtb29mIGJveAoJICBXaGVuIHRoZSBjZW5jIGF1eCBpbmZvIGluZGV4IGlzIG91dCBvZiBtb29mIGJvdW5kYXJpZXMsIGtlZXAgdHJhY2sgb2YKCSAgaXQgYW5kIHBhcnNlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1kYXQgYm94LCBiZWZvcmUgdGhlIGZpcnN0IHNhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYxNAoKMjAxNS0xMS0wMyAyMDozMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgY29kZWN1dGlscyBoZWxwZXJzIGZvciBjcmVhdGluZyBPcHVzIGNhcHMKCSAgQWxzbyBmaXggdXAgY29kZWMgZGF0YSB3aXRoIHZhbHVlcyBmcm9tIHRoZSBjb250YWluZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTQ6NTE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVGhlcmUgaXMgbm8gbXVsdGlzdHJlYW0gZmllbGQgZm9yIE9wdXMgYW55bW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTExLTAzIDEyOjQyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2Evd2VibW11eDogU3VwcG9ydCBPcHVzIGluIHdlYm1tdXggYW5kIFZQOSBpbiBtYXRyb3NrYW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5OTUwCgoyMDE1LTExLTAzIDEyOjQwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFBhcnNlIGFuZCBoYW5kbGUgQ29kZWNEZWxheSwgU2Vla1ByZXJvbGwgYW5kIERpc2NhcmRQYWRkaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMDUKCjIwMTUtMTEtMDMgMTI6MTg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFdyaXRlIENvZGVjRGVsYXksIERpc2NhcmRQYWRkaW5nIGFuZCBTZWVrUHJlcm9sbCBmb3IgT3B1cwoJICBBbmQgYWxzbyBhZGp1c3QgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIGFjY29yZGluZyB0byB0aGUgY29kZWMgZGVsYXksIGJvdGgKCSAgc2hvdWxkIGluY2x1ZGUgaXQgZm9yIHdoYXRldmVyIHJlYXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNS0xMS0wMyAxMTo0OTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9wdXMgaGVhZGVycyBhcmUgbm90IGluLWJhbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNS0xMS0wMyAyMjowMTowNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IFNldCBPX0NMT0VYRUMgb24gdGhlIGRldmljZSBmZAoJICBUaGlzIGlzIG5lZWRlZCB0byBtYWtlIHN1cmUgdGhhdCBjaGlsZCBwcm9jZXNzZXMgZG9uJ3QgaW5oZXJpdCB0aGUgdmlkZW8KCSAgZGV2aWNlIGZkIHdoaWNoIGNhbiBjYXVzZSBwcm9ibGVtcyB3aXRoIHNvbWUgZHJpdmVycy4KCjIwMTUtMTEtMDMgMTQ6NDY6MzAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwbWFuYWdlcjogc3dpdGNoIEdfR0lOVDY0X0ZPUk1BVCBmb3IgR1NUX1NUSU1FX0FSR1MKCSAgTm8gbmVlZCB0byB1c2UgR19HSU5UNjRfRk9STUFUIGZvciBwb3RlbnRpYWxseSBuZWdhdGl2ZSB2YWx1ZXMgb2YKCSAgR3N0Q2xvY2tUaW1lRGlmZi4gU2luY2UgMS42IHRoZXNlIGNhbiBiZSBoYW5kbGVkIHdpdGggR1NUX1NUSU1FX0FSR1MuCgkgIFBsdXMgaXQgY3JlYXRlcyBtb3JlIHJlYWRhYmxlIHZhbHVlcyBpbiB0aGUgbG9ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzQ4MAoKMjAxNS0xMS0wMyAxNDoyNjoyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGRpZmYsIEdTVF9TVElNRV9BUkdTIGRvZXMKCSAgZXhhY3RseSB0aGlzLgoKMjAxNS0xMS0wMiAxNjo1MzoxNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgZGlmZiwgR1NUX1NUSU1FX0FSR1MgZG9lcwoJICBleGFjdGx5IHRoaXMuCgoyMDE1LTExLTAyIDE2OjQzOjQ2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGRpZmYsIEdTVF9TVElNRV9BUkdTIGlzCgkgIGF2YWlsYWJsZSBmb3IgdGhpcy4KCjIwMTUtMTAtMzAgMTA6MDU6MzcgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICBhdWRpb2NoZWJiYW5kOiBGaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lCgkgIEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNDAKCjIwMTUtMTAtMjggMjM6NDc6MzAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyOiBmaXggZG91YmxlLXVucmVmIGluIHRoZSB2NGwyIGRldmljZSBwcm92aWRlcgoKMjAxNS0xMC0yNyAxMDo0ODowMCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBkcm9wIEpQRUcgZnJhbWVzIHRoYXQgb25seSBoYXZlIFBUUyBidXQgbm8gRFRTIHNldAoJICBGb3IgdGhlIE1TL1ZmVyBjb2RlYyBpZHMsIHdlIHdhbnQgdG8gd3JpdGUgRFRTIHRpbWVzdGFtcHMgaW5zdGVhZAoJICBvZiBQVFMgYmVjYXVzZSB0aGF0J3Mgd2hhdCBldmVyeW9uZSBlbHNlIHNlZW1zIHRvIGRvIChhbmQgaXQncyBhbHNvCgkgIGhvdyBpdCBpcyBpbiBBVkkpLiBTbyBmb3IgdGhvc2UgaW5wdXQgZm9ybWF0cyB3ZSB1c2UgdGhlIGJ1ZmZlciBEVFMKCSAgaW5zdGVhZCBvZiB0aGUgUFRTLiBIb3dldmVyLCBpZiB0aGVyZSdzIG5vIERUUyBzZXQgYnV0IG9ubHkgdGhlIFBUUwoJICB0aGVuIGp1c3QgdGFrZSB0aGUgUFRTIGluc3RlYWQgb2YgZHJvcHBpbmcgdGhlIGlucHV0IGJ1ZmZlci4gVGhpcwoJICBpcyB1c2VmdWwgZXNwZWNpYWxseSBmb3IgSS1mcmFtZSBvbmx5IGNvZGVjcyBsaWtlIEpQRUcgYW5kIGh1ZmZ5dXYsCgkgIGJ1dCBzaG91bGQgYWxzbyBiZSBmaW5lIGFzIGZhbGxiYWNrIGluIGdlbmVyYWwuCgkgIEZpeGVzIHJlZ3Jlc3Npb24gd2l0aCBpbnB1dCBKUEVHIGZyYW1lcyB0aGF0IG9ubHkgaGF2ZSBQVFMgc2V0IG9uIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5NjcKCjIwMTUtMTAtMjQgMjM6NTc6MzggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICB0ZXN0cy9jaGVjay9zcGxpdG11eDogdGVzdCB0aGF0IHRoZSByZWxlYXNlX3BhZCB2ZnVuYyBvZiBzcGxpdG11eHNpbmsgYWN0dWFsbHkgcmVsZWFzZXMgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIyCgoyMDE1LTEwLTI0IDIzOjU3OjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBkbyBub3QgZGVzdHJveSB0aGUgbXVsdGlxdWV1ZSAmIG11eGVyIHdoZW4gZ29pbmcgdG8gTlVMTAoJICBJbnN0ZWFkLCBkZWxheSBpdCB1bnRpbCBhbGwgcmVxdWVzdCBwYWRzIGhhdmUgYmVlbiByZWxlYXNlZC4gVGhpcyBpcwoJICBiZWNhdXNlIHRoZSByZWxlYXNlX3BhZCgpIHZmdW5jIHJlcXVpcmVzIHRoZSBtdWx0aXF1ZXVlIGFuZCBtdXhlciB0bwoJICBiZSB0aGVyZSBpbiBvcmRlciB0byByZWxlYXNlIHRoZWlyIHJlcXVlc3QgcGFkcyBhcyB3ZWxsLiBJZiB0aG9zZQoJICBlbGVtZW50cyBhcmUgZGVzdHJveWVkIGVhcmxpZXIsIHJlbGVhc2VfcGFkKCkgZG9lcyBub3Qgd29yaywgbm8KCSAgcGFkcyBhcmUgcmVsZWFzZWQgYW5kIHNvbWUgcmVzb3VyY2VzIGFyZSBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjIKCjIwMTUtMTAtMjAgMTU6Mjg6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVhZCBidWZmZXIgdGltZXN0YW1wICphZnRlciogYWN0dWFsbHkgc2V0dGluZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODA5CgoyMDE1LTEwLTI0IDE3OjE0OjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IEZpeCBoYW5kbGluZyBvZiByYXRlIDwgMAoJICBXZSBoYXZlIHRvIHJldmVyc2UgYWxsIHNhbXBsZXMgaW4gYSBidWZmZXIgYmVmb3JlIHByb2Nlc3NpbmcgdGhlbSB0byBwcm9wZXJseQoJICBoYXZlIGNvbnRpbnVvdXMgZGF0YSBmcm9tIG9uZSBidWZmZXIgdG8gYW5vdGhlci4gQXMgYSByZXN1bHQgd2Ugd2lsbCBoYXZlIGEKCSAgbmVnYXRpdmUgYXBwbGllZCByYXRlIGFuZCBhIHJhdGUgb2YgMS4wLgoJICBBbHNvIG1ha2Ugc3VyZSB0aGF0IGlucHV0IGJ1ZmZlcnMgYXJlIGNvcnJlY3RseSBjbGlwcGVkIHRvIHRoZSBzZWdtZW50LAoJICBvdGhlcndpc2Ugb3VyIGNhbGN1bGF0aW9ucyBhcmUgZ29pbmcgdG8gZ28gd3JvbmcuCgkgIEFsc28gY29weSBvdmVyIHRoZSBzZWdtZW50IGV2ZW50J3Mgc2VxdWVuY2UgbnVtYmVyIHRvIHRoZSBvdXRwdXQgc2VnbWVudCB3aGlsZQoJICB3ZSdyZSBhdCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzAzMwoKMjAxNS0xMC0xOSAxODowNDo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBicmVhayBhcyBzb29uIGFzIG5vbi1pbnRlcmxhY2VkIGlmIGZvdW5kCgkgIEl0IGxvb2tzIGZvciBhIG5vbi1pbnRlcmxhY2VkIGVudHJ5IG9uIHRoZSBmaWx0ZXIgY2FwcywgYnJlYWsKCSAgYXMgc29vbiBhcyBvbmUgaXMgZm91bmQgdG8gYXZvaWQgd2FzdGluZyBjcHUKCjIwMTUtMTAtMTkgMTc6NTA6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogaW1wbGVtZW50IGFjY2VwdC1jYXBzCgkgIEltcGxlbWVudCBhY2NlcHQtY2FwcyBoYW5kbGVyIHRvIGF2b2lkIGRvaW5nIGEgZnVsbCBjYXBzIHF1ZXJ5CgkgIGRvd25zdHJlYW0gdG8gaGFuZGxlIGl0LgoJICBUaGlzIGNvbW1pdCBpbXBsZW1lbnRzIGFjY2VwdC1jYXBzIGFzIGEgc2ltcGxpZmljYXRpb24gb2YgdGhlIF9nZXRjYXBzCgkgIGZ1bmN0aW9uLCBzbyBpdCBleHBvc2VzIHRoZSBzYW1lIGxpbWl0YXRpb25zIHRoYXQgZ2V0Y2FwcyB3b3VsZC4KCSAgRm9yIGV4YW1wbGUsIG5vdCBhY2NlcHRpbmcgcmVuZWdvdGlhdGlvbiB0byBjYXBzIHdpdGggY2Fwc2ZlYXR1cmVzIHdoZW4KCSAgaXQgd2FzIGxhc3QgY29uZmlndXJlZCB0byBhIGNhcHMgdGhhdCBpdCBoYXMgdG8gZGVpbnRlcmxhY2UuCgoyMDE1LTEwLTE5IDE3OjA2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICB0ZXN0czogZGVpbnRlcmxhY2U6IGZpeCBzbWFsbCB0eXBvIGluIGNvbW1lbnQKCjIwMTUtMTAtMjYgMDA6NDE6MjggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEaXN0IHNwbGl0dmlkZW8wWzAxMl0ub2dnIHRlc3QgZmlsZXMuCgoyMDE1LTEwLTIzIDIwOjE2OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IEFkZCBzdXBwb3J0IGZvciBGNjQKCjIwMTUtMTAtMjIgMTc6NDA6MzggLTA3MDAgIE1pc2NoYSBTcGllZ2VsbW9jayA8bXNwaWVnZWxtb2NrQGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGRvY3M6IE1pbm9yIGZpeGVzIGluIHZhcmlvdXMgcGxhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5OTYKCjIwMTUtMTAtMjEgMTc6NDM6MzEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiByZW1vdmUgY29tcGlsZXIgdHJpY2sKCSAgQWZ0ZXIgY29tbWl0IDJjYjZjZmVkMjIxNjZiMjYyYWU1MGNiNThmM2ZmMTFkZDhiYTkxZjkgdGhlcmUgaXMgbm8gbmVlZCB0bwoJICB0cmljayB0aGUgY29tcGlsZXIgYW55bW9yZSBhYm91dCB0aGUgdXNhZ2Ugb2YgdmFyaWFibGUgY3B1Rmxhdm91ci4KCjIwMTUtMTAtMjEgMTQ6MzU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI5OTgwMGEgdG8gYjMxOTkwOQoKMjAxNS0xMC0yMSAxNzo0MTozOCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJICBhdWRpb2Z4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB1bnN1ZWQgdmFyaWFibGUgaGF2ZV9jb2VmZnMgaW4gYXVkaW9meGJhc2VpaXJmaWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjkwNQoKMjAxNS0xMC0yMCAxNzoyOTo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIG5ldyBHU1RfRU5BQkxFX0VYVFJBX0NIRUNLUyAjZGVmaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NzAKCjIwMTUtMTAtMjEgMTQ6MjU6NTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWFlZDFkNyB0byBiOTk4MDBhCgoyMDE1LTEwLTIxIDExOjUzOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVsYXggY3JlYXRpb24gdGltZSBwYXJzaW5nCgkgIFBhcnNlIHdyb25nIHRpbWVzdGFtcHMgbGlrZSB3ZSB1c2VkIHRvIHdyaXRlIGFzIHdlbGwsCgkgIGUuZy4gMTA6OTo0MiwgYW5kIHRoZSBob3VyIG1pZ2h0IGJlIHdpdGhvdXQgYSBsZWFkaW5nCgkgIHplcm8gaW4gYW55IGNhc2UuCgoyMDE1LTEwLTIxIDExOjQ1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGluZGVudGF0aW9uCgoyMDE1LTEwLTIxIDExOjQ0OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZXh0cmFjdCBib3RoIGNyZWF0aW9uIGRhdGUgYW5kIHRpbWUKCSAgQmVmb3JlIHdlIG9ubHkgZXh0cmFjdGVkIHRoZSBkYXRlIHBhcnQuCgoyMDE1LTEwLTIxIDExOjE2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggd3JpdGluZyBvZiBjcmVhdGlvbiB0aW1lCgkgIERvbid0IHdyaXRlIHRpbWUgYXMgZS5nLiAxMTo5OjQyCgoyMDE1LTEwLTEzIDEyOjQyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IHVwZGF0ZSBmcmFnbWVudCBvZmZzZXQKCSAgSXQgd2FzIGFsd2F5cyBiZWluZyBzZXQgdG8gMCwgbWFraW5nIHRoZSByZXN1bHRpbmcgc3RyZWFtIGJyb2tlbgoJICBmb3IgdGhlIHJlY2VpdmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY0MjIKCjIwMTUtMTAtMTkgMTU6MzY6MzcgKzAzMDAgIFJ5YW4gSGVuZHJpY2tzb24gPHJ5YW4uaGVuZHJpY2tzb25AYWx1bS5taXQuZWR1PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgdW5jb25kaXRpb25hbGx5IHVzZSBzdHJubGVuKCkKCSAgSXQncyBub3QgYXZhaWxhYmxlIG9uIG9sZGVyIE9TWCBhbmQgd2UgY2FuIGFzIHdlbGwgdXNlIG1lbWNocigpIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYxNTQKCjIwMTUtMTAtMTkgMTc6Mzg6MzIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IEZpeCBldmVudCBtZW1vcnkgbGVhawoJICBGcmVlIHRoZSBldmVudCBhZnRlciBiZWluZyBoYW5kbGVkIHRvIHByZXZlbnQgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY3OTkKCjIwMTUtMTAtMTkgMDk6MTQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiB1bmlmeSByYXcgYXVkaW8gY2FwcyBpbnRvIGEgc2luZ2xlIGNhcHMgc3RydWN0dXJlCgoyMDE1LTEwLTE5IDE1OjE1OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBnbDogYmUgY29uc2lzdGVudCBpbiBnb2JqZWN0IGJvaWxlcnBhdGUKCSAgR1NUX0dMX0lTXyogdnMgR1NUX0lTX0dMXyoKCSAgZ2l0IGdyZXAgLWwgJ0dTVF9HTF9JU18nIHwgeGFyZ3Mgc2VkIC1pICdzL0dTVF9HTF9JU18vR1NUX0lTX0dMXy9nJwoKMjAxNS0xMC0xOSAxNToxNTozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBnbDogYmUgY29uc2lzdGVudCBpbiBnb2JqZWN0IGJvaWxlcnBhdGUKCSAgR1NUX0dMX0lTXyogdnMgR1NUX0lTX0dMXyoKCSAgZ2l0IGdyZXAgLWwgJ0dTVF9HTF9JU18nIHwgeGFyZ3Mgc2VkIC1pICdzL0dTVF9HTF9JU18vR1NUX0lTX0dMXy9nJwoKMjAxNS0xMC0xNyAxNToyNjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJICBnbHNoYWRlcmVsZW1lbnQ6IGltcGxlbWVudCBvbi1kZW1hbmQgY3JlYXRlLXNoYWRlciBzaWduYWxsaW5nCgkgIE9uZSBtYXkgbm90IGhhdmUgYW4gR3N0R0xDb250ZXh0IGF2YWlsYWJsZSBvciBjdXJyZW50IGluIHRoZSB0aHJlYWQgd2hlcmUgb25lCgkgIHdvdWxkIG5lZWQgdG8gdXBkYXRlIHRoZSBzaGFkZXIuICBTdXBwb3J0IHRoaXMgYnkgc2lnbmFsbGluZyBjcmVhdGUtc2hhZGVyCgkgIHdoZW5ldmVyIHRoZSBvbmUtc2hvdCAndXBkYXRlLXNoYWRlcicgaXMgc2V0IHRvIFRSVUUuCgoyMDE1LTEwLTE3IDAyOjQwOjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogc2VwYXJhdGUgb3V0IHRoZSB3aWRnZXQvd2luZG93IGRlc3Ryb3kgY2FsbGJhY2tzCgkgIEZpeGVzIGFzc2VydGlvbiBkdWUgdG8gdGhlIHNpbmtfZmluYWxpemUoKSBiZWluZyBydW4gYmVmb3JlIHRoZSB3aWRnZXQgZGVzdHJveQoJICBjYWxsYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTk2OQoKMjAxNS0xMC0xNyAwMTowODoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ2xsaXZlc2hhZGVyLmM6CgkgIGdsL2V4YW1wbGVzOiBhZGQgYSBsaXZlIHNoYWRlciBkZW1vIHVzaW5nIHRoZSBuZXcgR3N0R0xTTFN0YWdlCgkgIEltcGxlbWVudGVkIHdpdGggdmlkZW90ZXN0c3JjICEgZ2xzaGFkZXIgISBnbHVwbG9hZCAhIGd0a2dsc2luawoJICBFcnJvcnMgb24gYW4gaW52YWxpZCBzaGFkZXIgY29tcGlsYXRpb24gYXJlIGlnbm9yZWQgaG93ZXZlciBhbnkgZXJyb3IKCSAgcHJvdmlkZWQgYnkgdGhlIGdsc2wgY29tcGlsZXIgaXMgcHJpbnRlZCB0byBzdGRvdXQuCgoyMDE1LTEwLTE0IDE1OjQyOjUwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIEZGVjEgY29kZWQgc3RyZWFtcyBpbiBtb3YKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ5NQoKMjAxNS0wOS0wNCAxNjowMjozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBnbHNoYWRlcjogcG9ydCB0byB1c2luZyBHc3RHTFNMU3RhZ2Ugb2JqZWN0cyBmb3Igc3RyaW5nIG1hbmFnZW1lbnQKCSAgQSBHc3RHTFNoYWRlciBpcyBub3cgc2ltcGx5IGEgY29sbGVjdGlvbiBvZiBzdGFnZXMgdGhhdCBhcmUKCSAgY29tcGlsZWQgYW5kIGxpbmtlZCB0b2dldGhlciBpbnRvIGEgcHJvZ3JhbS4gIFRoZSB1bmlmb3JtL2F0dHJpYnV0ZQoJICBpbnRlcmZhY2UgaGFzIHJlbWFpbmVkIHRoZSBzYW1lLgoKMjAxNS0xMC0xNCAxNTo1MzoyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBFT1MgaW1tZWRpYXRlbHkgaWYgd2UgaGF2ZSBhbiBlbXB0eSBzZWVrIHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMxNgoKMjAxNS0xMC0xNCAxMDo0MzoxOSArMDMwMCAgU3RhdnJvcyBWYWdpb25pdGlzIDxzdGF2cm9zdkBkaWdpc29mdC50dj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBNYWtlIG5vbi1pbmNsdXNpdmUgc2VnbWVudCBib3VuZGFyaWVzIGluY2x1c2l2ZQoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBmaWxlc3JjIGFuZCBzb3VwaHR0cHNyYyBhcmUgYmVoYXZpbmcKCSAgZGlmZmVyZW50bHkgcmVnYXJkaW5nIHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgc2VnbWVudCBib3VuZGFyaWVzLiBUaGUKCSAgZmlsZXNyYyBpcyB1c2luZyBhIG5vbi1pbmNsdXNpdmUgYm91bmRhcmllcywgd2hpbGUgdGhlIHNvdXBodHRwc3JjCgkgIHVzZXMgaW5jbHVzaXZlLiBDdXJyZW50bHkgdGhlIGhsc2RlbXV4IGNhbGN1bGF0ZXMgdGhlIGJvdW5kYXJpZXMgYXMKCSAgaW5jbHVzaXZlLCBzbyBmb3IgdGhpcyByZWFzb24gdGhlcmUgaXMgbm8gcHJvYmxlbSB3aXRoIHRoZSBzb3VwaHR0cHNyYywKCSAgYnV0IHRoZXJlIGlzIGFuIGlzc3VlIGluIHRoZSBmaWxlc3JjLgoJICBUaGUgR3N0U2VnbWVudCBpcyBub24taW5jbHVzaXZlLCBzbyB0aGUgcHJvcG9zZWQgc29sdXRpb24gaXMgdG8gdXNlCgkgIG5vbi1pbmNsdXNpdmUgYm91bmRhcmllcyBpbiB0aGUgaGxzZGVtdXggaW4gb3JkZXIgdG8gYmUgY29uc2lzdGVudC4KCSAgTWFrZSB0aGUgY2hhbmdlIGluIHRoZSBobHNkZW11eCwgd2lsbCBicmVhayB0aGUgc291cGh0dHBzcmMsIHdoaWNoCgkgIHdpbGwgZXhwZWN0IGluY2x1c2l2ZSBib3VuZGFyaWVzLCBidXQgdGhlIGhsc2RlbXV4IHdpbGwgb2ZmZXIKCSAgbm9uLWluY2x1c2l2ZS4gVGhpcyBjaGFuZ2UgbWFrZXMgc3VyZSB0aGF0IHRoZSBub24taW5jbHVzaXZlCgkgIGJvdW5kYXJpZXMgYXJlIGNvbnZlcnRlZCB0byBpbmNsdXNpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYKCjIwMTUtMTAtMTEgMjI6MDc6NTQgKzAwMDAgIEdyYWhhbSBMZWdnZXR0IDxtaW5mcmluQHNoYXJwLmZtPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEFkZCB0aGUgcmV0cnkgYW5kIHJldHJ5LWRlbGF5IHByb3BlcnRpZXMKCSAgVGhlc2UgYWxsb3cgYSBmYWlsZWQgcmVxdWVzdCB0byBiZSByZXRyaWVkIGFmdGVyIHRoZSBnaXZlbiBudW1iZXIgb2Ygc2Vjb25kcwoJICBpbnN0ZWFkIG9mIGZhaWxpbmcgdGhlIHBpcGVsaW5lLiBUYWtlIGFjY291bnQgb2YgdGhlIFJldHJ5LUFmdGVyIGhlYWRlciBpZgoJICBwcmVzZW50LiBBZGQgcmV0cmllcyBwYXJhbWV0ZXIgdGhhdCBjb250cm9scyB0aGUgbnVtYmVyIG9mIHRpbWVzIGFuIEhUVFAKCSAgcmVxdWVzdCB3aWxsIGJlIHJldHJpZWQgYmVmb3JlIGZhaWxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzMTgKCjIwMTUtMTAtMTQgMTI6MDM6MTUgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjYXBzIGxlYWsKCSAgSWYgdGhlIFF0RGVtdXhTdHJlYW0gYXJlIHJlLXVzZWQgdGhleSBtYXkgYWxyZWFkeSBoYXZlIGNhcHMgd2hpY2ggdXNlZAoJICB0byBiZSBsZWFrZWQuCgkgIFJlcHJvZHVjZWQgdXNpbmcgdGhlCgkgIHZhbGlkYXRlLmRhc2gucGxheWJhY2suc2Vla19mb3J3YXJkLmRhc2hfZXhNUERfQklQX1RDMSB2YWxpZGF0ZQoJICBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU2MQoKMjAxNS0xMC0xNCAwOToyOTo1MCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdGFnbGlzdCBtZW1vcnkgbGVhawoJICBGcmVlIHRoZSBzdHJlYW0gYW5kIGl0cyBzdWIgaXRlbXMgaW5zdGVhZCBvZiBqdXN0IHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU0NAoKMjAxNS0xMC0xMSAxMjowNjoyNiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBbGxvdyBuZWdvdGlhdGluZyB0byBTOCBhcyBhIHJhdyBmb3JtYXQgYnV0IHN0b3AgbWFraW5nIGl0IGJlc3QgY2hvaWNlCgkgIE5lZ290aWF0aW9uIHRvIGF1ZGlvL3gtcmF3LGZvcm1hdD1TOCB3YXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgUzggZG9lcwoJICBub3QgaGF2ZSBhIGJpdCBvcmRlciBzbyB3ZSBlbmRlZCB1cCBkb2luZyBgaWYgKCFlbnRyeS5mb3VyY2MpIGdvdG8gcmVmdXNlX2NhcHM7YAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2Mzg3CgoyMDE1LTEwLTExIDA5OjE4OjQwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBwcm9yZXMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2Mzg4CgoyMDE1LTEwLTEyIDE4OjU2OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIGZvciBmbHZkZW11eCBjaGVjawoJICBTbyBpdCBwdWxscyBpbiB0aGUgcmlnaHQgbGliZ3N0dGFnLTEuMC4KCjIwMTUtMTAtMTEgMjI6Mjc6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20vZ29vbTJrMTogcmVtb3ZlIG9ic29sZXRlIGxlZnQgb3ZlciBmaWxlcwoJICBUaGV5IG5vdyB1c2UgdGhlIG5ldyBHc3RBdWRpb1Zpc3VhbGl6ZXIgYmFzZSBjbGFzcwoJICBmcm9tIGdzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3BidXRpbHMKCSAgQWxzbyBmaXhlZCB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGdzdF9hdWRpb192aXN1YWxpemVyX2dldF90eXBlCgkgIEFkZGVkIEdTVF9QTFVHSU5TX0JBU0VfTElCUyB0byBNYWtlZmlsZS5hbSBhbmQgcmUtb3JkZXIgTElCQURELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTEwLTEyIDEwOjQ4OjIzICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogRml4IGJ1ZmZlciBtZW1vcnkgbGVhayBkdXJpbmcgZmFpbHVyZXMKCSAgbWFwcGVkIGJ1ZmZlciBpcyBub3QgYmVpbmcgdW5tYXBwZWQgZHVyaW5nIGZhaWx1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMzEKCjIwMTUtMTAtMTIgMTE6MTg6NTEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBDaGVjayBpZiBzb3VwIG1lc3NhZ2UgaXMgY3JlYXRlZAoJICBJZiBzb3VwIG1lc3NhZ2UgaXMgbm90IGNyZWF0ZWQgdGhlbiB0aGUgc2FtZSBzaG91bGQgbm90IGJlIHBhc3NlZAoJICBvbiwgd2hpY2ggaXMgcmVzdWx0aW5nIGluIHNlZ2ZhdWx0LiBIZW5jZSB0aHJvd2luZyBhIHdhcm5pbmcgbWVzc2FnZQoJICBhbmQgcmV0dXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTIgMTE6MTU6MTUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBDaGVjayBpZiBsb2NhdGlvbiBiZWluZyBzZXQgaXMgdmFsaWQKCSAgQWRkaW5nIGEgY2hlY2sgaW4gc2V0X3Byb3BlcnR5IHRvIGZpbmQgaWYgdGhlIGxvY2F0aW9uIHVyaSBpcyB2YWxpZAoJICBhbmQgcHJpbnRpbmcgd2FybmluZyBpZiBub3QgdmFsaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTIgMTE6MDk6MzAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBGaXggbWVtb3J5IGxlYWtzIGR1cmluZyBmYWlsdXJlcwoJICBmcmVlaW5nIHN0cmVhbWhlYWRlcl9idWZmZXJzIGFuZCBzZW50X2J1ZmZlcnMgZHVyaW5nIGZhaWx1cmUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTIgMTE6MDM6MTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBSZXBsYWNlIHJlZHVuZGFudCBmcmVlX2J1ZmZlcl9saXN0IGZ1bmN0aW9uCgkgIFJlbW92aW5nIGZyZWVfYnVmZmVyX2xpc3QgYW5kIHJlcGxhY2luZyBpdCB3aXRoIGFscmVhZHkgYXZhaWxhYmxlIGZ1bmN0aW9uCgkgIGdfbGlzdF9mcmVlX2Z1bGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMyNgoKMjAxNS0xMC0xMSAxNjo0MDowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogRG9uJ3QgZm9yZ2V0IGJhc2UgQ0ZMQUdTIGZvciBmbHZkZW11eCBjaGVjawoJICBlbGVtZW50cy9mbHZkZW11eC5jOjI1OjI1OiBmYXRhbCBlcnJvcjogZ3N0L3RhZy90YWcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoKMjAxNS0xMC0xMSAxMTozNzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogQ3JlYXRlIGEgVElNRSBzZWdtZW50IHdoZW4gY3JlYXRpbmcgc3RyZWFtYWJsZSBvdXRwdXQKCSAgUmVsYXRlZCB0byBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDM1IHdoaWNoCgkgIGRvZXMgdGhlIHNhbWUgZm9yIGZsdm11eC4KCjIwMTUtMDktMjMgMTM6NTA6NTIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBvdXRwdXQgc3BlZXggdm9yYmlzY29tbWVudCBhcyBhIEdzdFRhZ0xpc3QKCSAgVGhpcyBpcyB3aGF0IHNwZWV4ZGVjIGV4cGVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NzgKCjIwMTUtMDktMjIgMjI6NTk6MTYgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IEdTVF9CVUZGRVJfT0ZGU0VUcyBzaG91bGQgYmUgR1NUX0JVRkZFUl9PRkZTRVRfTk9ORQoJICBPciBlbHNlIGZsdmRlbXV4IGRvbid0IHVuZGVyc3RhbmQgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQzNQoKMjAxNS0wOS0wMiAxMDo0NDo1OSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogdXNlIHRpbWUgc2VnbWVudCBhbmQgY29weSB0aW1lc3RhbXBzIHdoZW4gc3RyZWFtYWJsZQoJICBBZGQgYSBiYXNpYyB0ZXN0IHVzaW5nIHNwZWV4IGRhdGEgdG8gdmVyaWZ5IHRpbWVzdGFtcGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQzNQoKMjAxNS0wOS0yMyAxMzoxNDowMyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc3BlZXggaXMgYWxzbyBhbHdheXMgMTZLSHoKCSAgVGhpcyBpcyBqdXN0IGEgY29zbWV0aWMgY2hhbmdlIGZvciB0aGUgbG9ncywgc2luY2UgdGhlIHJpZ2h0IGNhcHMKCSAgZm9yIFNwZWV4IGlzIGJlaW5nIHNldCBlbHNld2hlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NzkKCjIwMTUtMDctMTQgMTU6MTk6NDQgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IEFkZCAnc291cmNlLXN0YXRzJyB0byBzdGF0cyBhbmQgbm90aWZ5CgkgIEFkZCBzdGF0aXRpY3MgZnJvbSBlYWNoIHJ0cCBzb3VyY2UgdG8gdGhlIHJ0cCBzZXNzaW9uIHByb3BlcnR5LgoJICAnc291cmNlLXN0YXRzJyBpcyBhIEdWYWx1ZUFycmF5IHdoZXJlIGVhY2ggZWxlbWVudCBpcyBhIEdzdFN0cnVjdHVyZSBvZgoJICBzdGF0cyBmb3Igb25lIHJ0cCBzb3VyY2UuCgkgIFRoZSBhdmFpbGFiaWxpdHkgb2YgbmV3IHN0YXRzIGlzIHNpZ25hbGVkIHZpYSBnX29iamVjdF9ub3RpZnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2NjkKCjIwMTUtMDYtMDUgMTc6MjA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogSW1wbGVtZW50IHNlbmRpbmcgb2YgcmVkdWNlZCBzaXplIFJUQ1AgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDU2CgoyMDE1LTEwLTA4IDE1OjAxOjEzICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5oOgoJICBhdWRpb2Z4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgJ2RlZ3JlZScgaW4gYXVkaW9keW5hbWljCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMzQKCjIwMTUtMTAtMDggMTQ6NDQ6MDcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG1lbW9yeSBsZWFrIGZvciBjb3JydXB0ZWQgZmlsZQoJICBGcmVlIGJyYW5kcyBiZWZvcmUgb3ZlcnJpZGluZyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjI2CgoyMDE1LTEwLTA4IDExOjQ0OjA0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZmRlYzogRml4IHBpeGJ1Zl9sb2FkZXIgbGVhayBkdXJpbmcgZmFpbHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIxOQoKMjAxNS0xMC0wNyAyMzoyMzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEFkZCBtaXNzaW5nIGJyZWFrCgoyMDE1LTEwLTA3IDEzOjAzOjAyICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IFRha2UgaW50byBhY2NvdW50IHBhY2tldCByYXRlIGZvciBtYXgtZHJvcG91dCBhbmQgbWF4LW1pc29yZGVyIGNhbGN1bGF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE1LTEwLTA3IDEzOjAyOjEyICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwbWFuYWdlcjogYWRkICJtYXgtZHJvcG91dC10aW1lIiBhbmQgIm1heC1taXNvcmRlci10aW1lIiBwcm9wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE1LTEwLTA3IDE3OjE0OjU3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRhdGUgbWVtb3J5IGxlYWsKCSAgV2hlbiBnZXR0aW5nIGRhdGUgZnJvbSB0YWdsaXN0LCB0aGUgbWVtb3J5IHNob3VsZCBiZSBmcmVlZCBhZnRlcgoJICB1c2luZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE3MQoKMjAxNS0xMC0wNSAxMTowMzozOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBzYW1wbGUgbWVtb3J5IGxlYWsKCSAgV2hlbiBnZXR0aW5nIHNhbXBsZSBmcm9tIHRhZ2xpc3QsIHRoZSBtZW1vcnkgc2hvdWxkIGJlIGZyZWVkIGFmdGVyCgkgIHVzaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDY4CgoyMDE1LTEwLTA1IDEzOjEwOjU2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBGaXggYnVmZmVyIGxlYWsKCSAgQnVmZmVyIGlzIGFkZGVkIHRvIHRoZSBpbnRlcm5hbCBjYWNoZSwgYW5kIHB1c2hlZCBvbmx5IHdoZW4gYWNjdW11bGF0ZWQKCSAgYnVmZmVyIGR1cmF0aW9uIGNyb3NzZXMgMjAwIG1zLiBTbyB3aGVuIHRoZSBjaGFpbiBlbmRzLCB0aGUgYnVmZmVyIGFjY3VtdWxhdGVkCgkgIGlzIG5vdCBmcmVlZC4gRnJlZWluZyB0aGUgY2FjaGUgd2hlbiB0aGUgc3RhdGUgY2hhbmdlcyBmcm9tIFBBVVNFRCB0byBSRUFEWS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIxMgoKMjAxNS0wOC0zMSAyMToxMDoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBkZWZhdWx0IHVwc3RyZWFtIGV2ZW50IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2OTQKCjIwMTUtMDgtMzEgMjE6MDU6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogQXMgMHhGRkZGRkZGRiBpcyBhIHZhbGlkIHNzcmMsIGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjk0CgoyMDE1LTA3LTIyIDA5OjQ3OjIyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBnc3RydHBtdXg6IGFsbG93IHRoZSBzc3JjLXByb3BlcnR5IHRvIGRlY2lkZSBzc3JjIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgQnkgbm90IGRvaW5nIHRoaXMsIHRoZSBtdXhlciBpcyBub3QgZWZmZWN0aXZlbHkgYSBydHBtdXhlciwgcmF0aGVyIGEKCSAgZnVubmVsLCBzaW5jZSBpdCBzaG91bGQgYmUgYSBzaW5nbGUgc3RyZWFtIHRoYXQgZXhpc3RzIHRoZSBtdXhlci4KCSAgSWYgbm90IHNwZWNpZmllZCwgdGFrZSB0aGUgZmlyc3Qgc3NyYyBzZWVuIG9uIGEgc2lua3BhZCwgYWxsb3dpbmcgdXBzdHJlYW0KCSAgdG8gZGVjaWRlIHNzcmMgaW4gInBhc3N0aHJvdWdoIiB3aXRoIG9ubHkgb25lIHNpbmtwYWQuCgkgIEFsc28sIGxldCBkb3duc3RyZWFtIHNzcmMgb3ZlcnJ1bGUgaW50ZXJuYWwgY29uZmlndXJlZCBvbmUKCSAgV2UgaGVuY2UgaGFzIHRoZSBmb2xsb3dpbmcgb3JkZXIgZm9yIGRldGVybWluaW5nIHRoZSBzc3JjIHVzZWQgYnkKCSAgcnRwbXV4OgoJICAwLiBTdWdnZXN0aW9uIGZyb20gR3N0UlRQQ29sbGlzaW9uIGV2ZW50CgkgIDEuIERvd25zdHJlYW0gY2FwcwoJICAyLiBzc3JjLVByb3BlcnR5CgkgIDMuIChGaXJzdCkgdXBzdHJlYW0gY2FwcyBjb250YWluaW5nIHNzcmMKCSAgNC4gUmFuZG9tbHkgZ2VuZXJhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2OTQKCjIwMTUtMTAtMDIgMjI6NDI6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeHVwIGxhc3QgY29tbWl0CgoyMDE1LTEwLTAyIDIyOjIxOjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBVcGRhdGUgR0xpYiBkZXBlbmRlbmN5IHRvIDIuNDAuMAoKMjAxNS0wNi0zMCAxNjo1NjoxOSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogYWRkIHV0aWxpdHkgZm9yIGNhbGN1bGF0aW5nIFJUUCBwYWNrZXQgcmF0ZQoKMjAxNS0wOC0xMCAxODoxNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBlbXB0eSBzZWdtZW50cyBpbiBzZWVraW5nIGFkanVzdAoJICBJZiBzZWVraW5nIHRhcmdldHMgYW4gZW1wdHkgc2VnbWVudCBza2lwIGl0IGFzIHRoZXJlIGlzIG5vIG1lZGlhCgkgIG9mZnNldCB0byBnZXQgZnJvbSBpdC4gSW5zdGVhZCBsb29rIGZvciB0aGUgbmV4dCBvbmUuCgkgIFRoaXMgZG9lc24ndCBtYWtlIHNlZWtpbmcgaW4gcHVzaC1tb2RlIHdvcmsgaWYgeW91IHNlZWsgdG8gYW4KCSAgZW1wdHkgc2VnbWVudCBidXQgYXQgbGVhc3Qgd29uJ3QgZ2V0IHlvdSB0byB3cm9uZyBvZmZzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDg0CgoyMDE1LTA0LTE3IDE0OjI1OjQzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBwb3N0IG1lc3NhZ2VzIHdoZW4gZnJhZ21lbnRzIGFyZSBiZWluZyBvcGVuZWQgYW5kIGNsb3NlZAoJICBUaGlzIGNhbiBiZSB1c2VmdWwgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWQgdG8gdHJhY2sgdGhlIGNyZWF0ZWQgZnJhZ21lbnRzCgkgICh0byBsb2cgdGhlbSBpbiBhIHJlY29yZGluZyBkYXRhYmFzZSwgZm9yIGV4YW1wbGUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxMDgKCjIwMTUtMDQtMjkgMTg6MjM6MjggKzAxMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogYWxsb3cgbm9uLXZpZGVvIHN0cmVhbXMgdG8gc2VydmUgYXMgcmVmZXJlbmNlCgkgIEluIHRoZSBhYnNlbmNlIG9mIGEgdmlkZW8gc3RyZWFtLCB0aGUgZmlyc3Qgc3RyZWFtIHdpbGwgYmUgdXNlZCBhcwoJICByZWZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MTcKCjIwMTUtMDctMjIgMTc6NDU6MTIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGluaXRpYWxpemUgbXV4X3N0YXJ0X3RpbWUgcHJvcGVybHkKCSAgbXV4X3N0YXJ0X3RpbWUgcmVmZXJzIHRvIHRoZSBydW5uaW5nX3RpbWUgb2YgdGhlIGJ1ZmZlcgoJICB0aGF0IGdvZXMgZmlyc3QgaW4gdGhlIG91dHB1dCBmaWxlLiBOb3JtYWxseSB0aGlzIHRpbWUgaXMKCSAgMCwgc28gdGhpcyB2YXJpYWJsZSBpcyBpbml0aWFsaXplZCB0byAwIGR1cmluZyB0aGUgc3RhdGUKCSAgY2hhbmdlIHRvIFBBVVNFRC4KCSAgSG93ZXZlciwgd2hlbiBkZWFsaW5nIHdpdGggZHluYW1pYyBwaXBlbGluZXMgYW5kIHN0YXJ0aW5nCgkgIGEgcmVjb3JkaW5nIHdoaWxlIHRoZSBwaXBlbGluZSBoYXMgYWxyZWFkeSBydW4gZm9yIGEgd2hpbGUsCgkgIHRoZSBydW5uaW5nX3RpbWUgb2YgdGhlIGZpcnN0IGJ1ZmZlciBpcyA+IDAgYW5kIHRoaXMgY2F1c2VzCgkgIGEgcHJvYmxlbSB3aXRoIGRldGVjdGluZyB0aGUgZW5kIG9mIHRoZSBmaXJzdCBmaWxlKHMpIHdoZW4KCSAgc3BsaXR0aW5nIGJ5IGR1cmF0aW9uLCBiZWNhdXNlIHRoZSBjb2RlIHdpbGwgbGF0ZXIgY29tcGFyZQoJICB0aGUgdGhyZXNob2xkX3RpbWUgd2l0aCAobGFzdCBidWZmZXIgcnVubmluZ190aW1lIC0gbXV4X3N0YXJ0X3RpbWUpCgkgIGFuZCB3aWxsIGdldCBpdCB3cm9uZyB1bnRpbCBtdXhfc3RhcnRfdGltZSBhZHZhbmNlcyBlbm91Z2gKCSAgdG8gbWFrZSB0aGlzIGRpZmZlcmVuY2UgPCB0aHJlc2hvbGRfdGltZSwgY3JlYXRpbmcgZW1wdHkgZmlsZXMKCSAgaW4gdGhlIG1lYW50aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjI0CgoyMDE1LTA5LTE2IDE2OjAzOjAyICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFJldmVyc2UgcGxheWJhY2sgZG9lcyBub3QgY29uc2lkZXIgc2VnbWVudC5zdGFydAoJICBEdXJpbmcgcmV2ZXJzZSBwbGF5YmFjaywgdGhlIG1lZGlhIHNob3VsZCBzdG9wIHBsYXlpbmcgYXQgc2VnbWVudC5zdGFydAoJICBUaGlzIGRvZXMgbm90IGhhcHBlbiwgYW5kIGF2aWRlbXV4IGNvbnRpbnVlcyB0byBwcm9jZXNzIGRhdGEgZXZlbiB3aGVuCgkgIGN1cnJlbnQgdGltZXN0YW1wIGlzIGxlc3MgdGhhdCBzZWdtZW50LnN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDk0CgoyMDE1LTA5LTIzIDEyOjM5OjM1ICswOTAwICBNYW5hc2EgQXRocmV5YSA8bWFuYXNhLmF0aHJleWFAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBtdWx0aSB0cmV4IHRvIGZpbmQgdHJhY2sgaWQgaW4gbXA0IG1wZWctZGFzaCBzdHJlYW0KCSAgSWYgc3RyZWFtIGhhcyBtb3JlIHRoYW4gb25lIHRyZXggYm94IHdoaWNoIGlzIG5vdCBtYXRjaGVkIHRvIGFjdHVhbAoJICB0cmFjayBpZCwgaXQgbWFrZXMgcXRkZW11eCBjcmFzaGVkLgoJICBBdXRob3IgOiBNYW5hc2EgQXRocmV5YSAobWFuYXNhLmF0aHJleWFAbGdlLmNvbSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDg2NAoKMjAxNS0wOS0wNCAxNDoyNDo0NSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IGdldCBzaXplLCBzdHJpZGUgaW5mbyB1c2luZyBWaWRlb0luZm8KCSAgVXNlIFZpZGVvSW5mbyBkYXRhIHRvIGdldCBzaXplIHN0cmlkZSBhbmQKCSAgb2Zmc2V0LCBpbnN0ZWFkIG9mIGhhcmQgY29kZWQgbWFjcm9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTU4CgoyMDE1LTA5LTA0IDE0OjE4OjUwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogZnJlZSBtYXNrCgkgIEZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gJ21hc2snIHRvIGF2b2lkCgkgIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTU1CgoyMDE1LTA4LTIwIDExOjAyOjU4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgZ3N0cmVhbWVyOiBnb29kOiB0ZXN0czogRml4IG1lbW9yeSBsZWFrcyB3aGVuIGNvbnRleHQgcGFyc2UgZmFpbHMuCgkgIFdoZW4gZ19vcHRpb25fY29udGV4dF9wYXJzZSBmYWlscywgY29udGV4dCBhbmQgZXJyb3IgdmFyaWFibGVzIGFyZSBub3QgZ2V0dGluZyBmcmVlJ2QKCSAgd2hpY2ggcmVzdWx0cyBpbiBtZW1vcnkgbGVha3MuIEZyZWUnaW5nIHRoZSBzYW1lLgoJICBBbmQgcmVwbGFjaW5nIGdfZXJyb3JfZnJlZSB3aXRoIGdfY2xlYXJfZXJyb3IsIHdoaWNoIGNoZWNrcyBpZiB0aGUgZXJyb3IgYmVpbmcgcGFzc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NTMKCjIwMTUtMTAtMDIgMTY6MTg6MTUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogZG9lc24ndCBoYW5kbGUgcHJvYmF0aW9uIGFuZCBydHAgZ2FwIGluIGNhc2Ugb2Ygc2VuZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1NDgKCjIwMTUtMTAtMDIgMTY6MTY6MzIgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwbWFuYWdlcjogYWRkIG5ldyBvbi1uZXctc2VuZGVyLXNzcmMsIG9uLXNlbmRlci1zc3JjLWFjdGl2ZSBzaWduYWxzCgkgIEFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGdldCBpbnRlcm5hbCBzb3VyY2UncyBSVFAgc3RhdGlzdGljcy4KCSAgKGVnLiBzZW5kZXIgc291cmNlcyBmb3IgYSBzZXJ2ZXIvY2xpZW50KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NzQ3CgoyMDE1LTA5LTE1IDAzOjE0OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cGx1Z2luLmNjOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5oOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHF0OiBhZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgb24gb3N4L2lvcwoJICBJbmNsdWRpbmc6CgkgIC0gTmVjZXNzYXJ5IGNvbmZpZ3VyZSBjaGVja3MKCSAgLSBOZWNlc3NhcnkgY29tcGlsZSB0aW1lIHBsYXRmb3JtIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBydW50aW1lIHF0IGlPUy9PU1ggcGxhdGZvcm0gZGV0ZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDAKCjIwMTUtMTAtMDIgMTQ6MTc6NDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBHYXRoZXIgYW5kIGNvYWxlc2NlIGFsbCBkYW1hZ2VkIGFyZWFzIGJlZm9yZSByZXRyaWV2aW5nLgoJICBUaGVzZSBkYXlzIHRoZSB4c2VydmVyIHNlZW1zIHRvIGdpdmUgdXMgdGhlIHNhbWUgZGFtYWdlIHJlZ2lvbnMKCSAgb3ZlciBhbmQgb3ZlciBmb3IgZW50aXJlIHdpbmRvd3MsIGFuZCB3ZSByZXRyaWV2ZSB0aGVtIG11bHRpcGxlCgkgIHRpbWVzLCB3aGljaCBnaXZlcyB0aW1lIGZvciBtb3JlIGRhbWFnZSB0byBhcHBlYXIuIEluc3RlYWQsIGp1c3QKCSAgcXVpY2tseSBnYXRoZXIgYWxsIGRhbWFnZWQgYXJlYXMgaW50byBhIHJlZ2lvbiBsaXN0IGFuZCBjb3B5CgkgIG91dCBvbmNlLgoKMjAxNS0xMC0wMSAxNjoyNDozMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHVzZSB0aGUgbmV3IGF1ZGlvdmlzdWFsaXplciBiYXNlIGNsYXNzCgkgIFJlYmFzZSB0byBoYXZlIGdvb20gdXNpbmcgdGhlIEdzdEF1ZGlvVmlzdWFsaXplciBiYXNlIGNsYXNzIGluCgkgIGdzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3BidXRpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0xMC0wMSAxNjoxNjowOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIGdvb206IHVzZSB0aGUgbmV3IGF1ZGlvdmlzdWFsaXplciBiYXNlIGNsYXNzCgkgIFJlYmFzZSB0byBoYXZlIGdvb20gdXNpbmcgdGhlIEdzdEF1ZGlvVmlzdWFsaXplciBiYXNlIGNsYXNzIGluCgkgIGdzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3BidXRpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wOS0zMCAxNzozNTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IGltcGxlbWVudCBhY2NlcHQtY2FwcwoJICBBdm9pZCB1c2luZyBkZWZhdWx0IGFjY2VwdC1jYXBzIGhhbmRsZXIgdGhhdCB3aWxsIHF1ZXJ5IGRvd25zdHJlYW0KCSAgYW5kIGlzIG1vcmUgZXhwZW5zaXZlLiBKdXN0IGNoZWNrIGlmIHRoZSBjYXBzIGlzIGNvbXBhdGlibGUgd2l0aAoJICB0aGUgdGVtcGxhdGUgYW5kIGNoZWNrIGlmIHRoZSBjaGFubmVscyBhcmUgdGhlIHNhbWUuCgoyMDE1LTA5LTMwIDA5OjM1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IGRlaW50ZXJsZWF2ZTogYWxzbyBjaGVjayBmb3IgY2FwcyBxdWVyeSByZXN1bHRzCgoyMDE1LTA5LTMwIDEyOjMwOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiB1c2UgdGhlIGNhcHMgcXVlcnkgZmlsdGVyCgkgIEl0IHdhcyBiZWluZyBpZ25vcmVkIGFuZCB3b3VsZCBsZWFkIHRvIHdyb25nIHJlc3VsdHMgaWYgdGhlCgkgIGVsZW1lbnQgZG9pbmcgdGhlIHF1ZXJ5IHdvdWxkIHJlbHkgb24gdGhlIGludGVyc2VjdGlvbiBiZWluZyBtYWRlLgoKMjAxNS0wOS0zMCAxMDowMDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogaW1wbGVtZW50IGEgY2FwcyBxdWVyeSBoYW5kbGVyIGZvciB0aGUgc2lua3BhZAoJICBJdCB3YXMgbWlzc2luZyBhbmQgYXBwYXJlbnRseSBjb2RlIHJlbGllZCBvbiBoYXZpbmcgaXQgdGhlcmUKCSAgZm9yIG5vdCBhbGxvd2luZyBhIGNoYW5nZSBpbiB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzCgoyMDE1LTA5LTMwIDA5OjA1OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBmaXggY2FwcyBsZWFrCgkgIENhcHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlIGFyZSBiZWluZyBsZWFrZWQuIEluIGFueSBjYXNlIGl0IGlzCgkgIGZyb20gYSBzdGF0aWMgcGFkIHRlbXBsYXRlIGFuZCB3aWxsICdsZWFrJyBpbiB0aGUgZW5kLCBqdXN0IGRvaW5nCgkgIHRoZSBjbGVhbnVwIGZvciB0aGUgZ29vZCBwcmFjdGljZS4KCjIwMTUtMDktMjkgMjI6NTc6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBhZGQgc29tZSBHTCBkZWJ1ZyBzdGF0ZW1lbnRzIHRvIHNob3cgdXAgaW4gR0wgdHJhY2VzCgoyMDE1LTA4LTI4IDE2OjI0OjI0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSAgcXRzaW5rOiBleHBsaWNpdGVseSBmYWxsdGhyb3VnaCBzd2l0Y2ggc3RhdGVtZW50CgkgIEluIGNhc2UgcmV0IGlzIEZhbHNlLCBmYWxsdGhyb3VnaCB0byBkZWZhdWx0IGNhc2UuCgkgIENJRCAjMTMyMDcwNQoKMjAxNS0wOS0yOSAxMToxNTowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZvdmVybGF5LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5OiBhZGQgbWluaW1hbCB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTc3MwoKMjAxNS0wOS0yOSAxMToxMjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmc2luazogZG9uJ3QgbGVhayBvbGQgcGl4ZWwgYnVmZmVyIHdoZW4gc2V0dGluZyBhIG5ldyBvdmVybGF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3NzMKCjIwMTUtMDktMjggMjA6MjU6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGF2b2lkIHBvdGVudGlhbCBzdHJpbmcgb3ZlcmZsb3cKCSAgV2UgZG9uJ3QgbmVjZXNzYXJpbHkgaGF2ZSBmdWxsIGNvbnRyb2wgb3ZlciB0aGUgaW5wdXQgdGFncywgc28KCSAgaXQncyBwb3NzaWJsZSB0aGF0IHRoZSBJU1JDIHRhZyBjb250YWlucyBhIGxvbmdlciBzdHJpbmcgdGhhbgoJICBleHBlY3RlZCwgaW4gd2hpY2ggY2FzZSB3ZSdkIHdyaXRlIG92ZXIgdGhlIGVuZCBvZiB0aGUgc3RhdGljLXNpemUKCSAgMTMgYnl0ZSBidWZmZXIgdGhhdCBpcyBGTEFDX19TdHJlYW1NZXRhZGF0YV9DdWVTaGVldF9UcmFjazo6aXNyYy4KCSAgTWFrZSBzdXJlIHRvIG9ubHkgY29weSB0aGUgSVNSQyBpZiBpdCdzIG5vdCB0b28gbG9uZywgYW5kIG1ha2UKCSAgc3VyZSB0aGUgYnVmZmVyIHdlIHdyaXRlIHRvIGlzIGFsd2F5cyBOVUwtdGVybWluYXRlZCBieSB1c2luZwoJICBnX3N0cmxjcHkoKS4KCSAgQ0lEIDEzMjQ5MzEuCgoyMDE1LTA5LTI4IDE4OjAzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSBsZWZ0b3ZlciBhc3NlcnRpb24gZnJvbSAwLjEwCgkgIFdlIG5vdyBhbGxvY2F0ZSBtZW1vcnkgdmlhIEdzdEFsbG9jYXRvciBhbmQgYXMgc3VjaCBjYW4gaGFuZGxlIGFyYml0cmFyeQoJICBhbGlnbm1lbnRzLCBub3Qgb25seSA8PSBHX01FTV9BTElHTi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTcwOAoKMjAxNS0wOS0yOSAwMDoyNTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IGZpeCBhc3NlcnRpb24gd2hlbiB0aGUgZWxlbWVudCBoYXMgbm8gcGVlcgoJICBXaGVuIHByb3h5aW5nIGtleWJvYXJkL25hdmlnYXRpb24vbW91c2UgZXZlbnRzLCBvbmx5IHVucmVmIGEgc3VjY2Vzc2Z1bGx5CgkgIHJldHJlaXZlZCBwZWVyIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTczOAoKMjAxNS0wOC0yOCAxNjozNTozOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogcmVtb3ZlIG92ZXJ3cml0dGVuIHZhbHVlCgkgIFZhbHVlIGluIHRleCBpcyBvdmVyd3JpdHRlbiBiZWZvcmUgYmVpbmcgdXNlZC4gUmVtb3ZpbmcgaXQuCgkgIENJRCAxMzIwNzE1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyNTMKCjIwMTUtMDktMDIgMjM6NDU6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L2dzdHF0Z2wuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJICBxdDogYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nL3J1bm5pbmcgb24gYW5kcm9pZAoJICBJbmNsdWRpbmc6CgkgIC0gTmVjZXNzYXJ5IGNvbmZpZ3VyZSBjaGVja3MKCSAgLSBOZWNlc3NhcnkgY29tcGlsZSB0aW1lIHBsYXRmb3JtIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBydW50aW1lIHF0IGFuZHJvaWQgcGxhdGZvcm0gZGV0ZWN0aW9uCgkgIC0gRXNjYXBpbmcgR0xzeW5jIGRlZmluaXRpb24gd2l0aCBRdCdzIEdMRVMyIGltcGxlbWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjYKCjIwMTUtMDktMDIgMjM6NDA6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IGRvbid0IHVzZSBDUFBGTEFHUyBmb3IgdG9vbHMgdGhhdCBjYW5ub3QgdXNlIHRoZW0KCSAgRm9yIGV4YW1wbGUgbW9jIHdpbGwgYmFpbCBvdXQgd2hlbiBnaXZlbiBhcmd1bWVudHMgaXQgZG9lcyBub3QKCSAga25vdyBhYm91dC4gIFRoZSBtb2Mgc3BlY2lmaWMgTU9DX0NQUEZMQUdTIGNhbiBzdGlsbCBiZSB1c2VkCgkgIHRvIHBhc3MgZmxhZ3MgdG8gbW9jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA5LTAyIDIzOjM5OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiByZW5hbWUgbGlicmFyeSB0byBpbmNsdWRlIGdzdCBwcmVmaXgKCSAgbGlicXRzaW5rIC0+IGxpYmdzdHF0c2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA5LTI1IDEwOjAxOjM3ICswMjAwICBHdWlsbGF1bWUgTWFycXVlYmllbGxlIDxndWlsbGF1bWUubWFycXVlYmllbGxlQHBhcnJvdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTE9BUyBjb25maWcgcmVhZGluZwoJICBPbiByZWFkaW5nIExPQVMgY29uZmlnLCBmbGFnIHY9MSBhbmQgdkE9MSBjb21iaW5hdGlvbiBjYW4gb2NjdXIsIGxlYWRpbmcgdG8gd2FybmluZwoJICAiU3BlYyBzYXlzICJUQkQiLi4uIi4gUmV0dXJuaW5nIFRSVUUgb24gdGhpcyBjYXNlIHdoaWxlIHBhcmFtZXRlcnMgJ3NhbXBsZV9yYXRlJyBhbmQKCSAgJ2NoYW5uZWxzJyBhcmUgcG9pbnRpbmcgdG8gdW5pbml0aWFsaXplZCB2YWx1ZXMgY2FuIGVuZCBvbiBzZXR0aW5nIHJhbmRvbSB2YWx1ZXMgYXMKCSAgcmF0ZSBhbmQgY2hhbm5lbHMgb24gc3JjIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MTEKCjIwMTUtMDktMTggMDA6NTg6MjMgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBidWlsZGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCSAgVG91Y2hlcyBydHBtYW5hZ2VyIGFuZCBnZGtwaXhidWZzaW5rCgoyMDE1LTA4LTE4IDE0OjMwOjU3ICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgdGltZWQtdGV4dCBzdWJ0aXRsZSB0cmFja3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4MTgKCjIwMTUtMDktMjYgMDA6MTI6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBnc3Q6IERvbid0IHVzZSBkZXByZWNhdGVkIGdzdF9zZWdtZW50X3RvX3Bvc2l0aW9uKCkKCjIwMTUtMDktMjEgMTM6NDc6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRwYmluL3J0cGppdHRlcmJ1ZmZlci9ydHNwc3JjOiBBZGQgcHJvcGVydHkgdG8gc2V0IG1heGltdW0gbXMgYmV0d2VlbiBSVENQIFNSIFJUUCB0aW1lIGFuZCBsYXN0IG9ic2VydmVkIFJUUCB0aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMjUKCjIwMTUtMDktMTYgMTk6Mjg6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluL3Nlc3Npb246IEFsbG93IFJUQ1Agc3luYyB0byBoYXBwZW4gYmFzZWQgb24gY2FwdHVyZSB0aW1lIG9yIHNlbmQgdGltZQoJICBTZW5kIHRpbWUgaXMgdGhlIHByZXZpb3VzIGJlaGF2aW91ciBhbmQgdGhlIGRlZmF1bHQsIGJ1dCB0aGVyZSBhcmUgdXNlIGNhc2VzCgkgIHdoZXJlIHlvdSB3YW50IHRvIHN5bmNocm9uaXplIGJhc2VkIG9uIHRoZSBjYXB0dXJlIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMjUKCjIwMTUtMDktMjUgMjM6NTE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNi4wID09PQoKMjAxNS0wOS0yNSAyMzoxNTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNi4wCgoyMDE1LTA5LTI1IDIyOjU3OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA5LTI1IDE0OjA4OjA5ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBEbyBub3Qgc2V0IHdpZHRoL2hlaWdodCBiZWZvcmUgY29tcGFyaW5nIHdpdGggb2xkIHZhbHVlcwoJICBPdGhlcndpc2Ugd2UgZW5kIHVwIGNvbnNpZGVyaW5nIHRoZSB2YWx1ZXMgZGlkIG5vdCBjaGFuZ2UgYW5kIHdlIHdyb25nbHkKCSAgd29yayB3aXRoIHRoZSBvbGQgdmlkZW8gZm9ybWF0ICh3aGljaCB3aWxsIGxlYWQgdG8gd3JvbmcKCSAgYmVoYXZpb3VyL3NlZ2ZhdWx0cykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MjEKCjIwMTUtMDktMjQgMTg6NTE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogT25seSBydW4gZnJvbSB0aGUgbWFpbiB0aHJlYWQgaW4gc3RvcCgpIGlmIHdlIGNyZWF0ZWQgdGhlIHdpbmRvdwoJICBXZSdyZSBub3QgZG9pbmcgYW55dGhpbmcgYXQgYWxsIGZyb20gdGhlIG1haW4gdGhyZWFkIGluIG90aGVyIGNhc2VzLgoKMjAxNS0wOS0yNCAxNTo1Mjo0MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogV2hlbiBzZXR0aW5nIGZvcm1hdCBjaGVjayBpZiBwZW5kaW5nIGZvcm1hdCBjaGFuZ2VkCgkgIEluIGNhc2UgdGhlIGZvcm1hdCBjaGFuZ2VkIGZhc3QgYW5kIHRoZSBwZW5kaW5nIGZvcm1hdCBpcyBkaWZmZXJlbnQKCSAgdGhhbiB0aGUgY3VycmVudGx5IHNldCBidXQgdGhlIGN1cnJlbnRseSBzZXQgaXMgZXF1YWwgdG8gdGhlIHBlbmRpbmcKCSAgb25lIHdlIGNvdWxkIGVuZCB1cCBoYXZpbmcgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgZmluYWxseSBzZXQgZm9ybWF0CgkgIGFuZCB0aGUgZGF0YSBzdHJlYW0gZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTQyCgoyMDE1LTA5LTI0IDE1OjUxOjI4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogRG8gbm90IGZvcmdldCB0byByZWxlYXNlIE9CSkVDVF9MT0NLIG9uIGVycm9yIHBhdGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTU0MgoKMjAxNS0wOS0yNCAxMTozNzowNCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3V0aWxzLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrdXRpbHMuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IEZhY3RvciBvdXQgYSBmdW5jdGlvbiB0byBydW4gYSBmdW5jdGlvbiBvbiBtYWluIHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjUxCgoyMDE1LTA5LTI0IDEwOjUxOjMxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogTWFyc2hhbGwgc3RhdGUgY2hhbmdlcyBpbiB0aGUgbWFpbiB0aHJlYWQKCSAgR3RrIGlzIG5vdCBNVCBzYWZlIHRodXMgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBldmVyeXRoaW5nIGlzIGRvbmUKCSAgaW4gdGhlIG1haW4gdGhyZWFkIHdoZW4gd29ya2luZyB3aXRoIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjUxCgoyMDE1LTA5LTIzIDIwOjU5OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFjY3VtdWxhdGUgc2VnbWVudHMgZm9yIGVkaXQgbGlzdHMgYmVmb3JlIGFjdGl2YXRpbmcgdGhlIG5leHQgc2VnbWVudAoJICBlY2ViMmNjYzczOTA5MmQ5NjRkNzg5NDVlMTljMmVjZWRiZDIxNGUyIGJyb2tlIHNlZ21lbnQgc2Vla3MgYnkgYWx3YXlzCgkgIGFjY3VtdWxhdGluZyBzZWdtZW50cyBtYW51YWxseSB3aGVuIGFjdGl2YXRpbmcgYSBzZWdtZW50LiBUaGlzIGlzIG9ubHkKCSAgbmVlZGVkIHdoZW4gaGFuZGxpbmcgZWRpdCBsaXN0cywgbm90IHdoZW4gYWN0aXZhdGluZyBhIHNlZ21lbnQgYmVjYXVzZSBvZiBhCgkgIHNlZWsuIERvIHRoZSBhY2N1bXVsYXRpb24gd2hlbiBzd2l0Y2hpbmcgZWRpdCBsaXN0IHNlZ21lbnRzIGluc3RlYWQuCgkgIFRoaXMgZml4ZXMgc2VnbWVudCBzZWVrcyBhZ2Fpbiwgd2hpbGUga2VlcGluZyBlZGl0IGxpc3RzIHBsYXliYWNrIHdvcmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NzEKCjIwMTUtMDktMjMgMTc6NDM6NTEgKzA1MzAgIFZpa3JhbSBGdWdybyA8dmlrcmFtLmZ1Z3JvQGdtYWlsLmNvbT4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogc2VuZCBwaGFzZSB2YWx1ZXMgaW4gdGhlIEdzdE1lc3NhZ2UgZm9yIFBoYXNlIGluZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ2MwoKMjAxNS0wOS0yMyAxMTo0Mjo1MSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtzaW5rOiBEbyBub3Qgc2hvdyB3aW5kb3cgdW50aWwgd2UgcmVhY2ggdGhlIFBBVVNFRCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDU5CgoyMDE1LTA5LTIyIDAwOjQ2OjAxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBEb24ndCBvdXRwdXQgYSB3YXJuaW5nIG9uIE1PTk8gbXVsdGl2aWV3IG1vZGUuCgoyMDE1LTA5LTIxIDEwOjQ3OjE1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a3Npbms6IERvIG5vdCByZSBkZXN0cm95IHRoZSBHdGtXaW5kb3cgaWYgZGVzdHJveWVkIGJ5IHRoZSB1c2VyCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGdldCBhbiBBU1NFUlQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNDkKCjIwMTUtMDktMTkgMTc6MDI6MTggKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IEZpeCBtZW1vcnkgbGVha3MKCSAgVGhlIHNhbWUgbWVtb3J5IGxlYWtzIHdlcmUgZml4ZWQgaW4gaWRlbnRpY2FsIGZhc2hpb24gZm9yCgkgIHZvcmJpc2RlcGF5IGluIDA2ZWZlZmY1ZDk3OTU3NmEyNTJlNWRhZTU3ZjQ2ZDY0NDViMWRmMTIgaW4gMjAwOS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI3NwoKMjAxNS0wOS0xOSAxNzowNDowNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB7dm9yYmlzLHRoZW9yYX17cGF5LGRlcGF5fTogQ29zbWV0aWMgY2xlYW51cAoJICAqIHVzZSBnX2xpc3RfZnJlZV9mdWxsKCksIGRvbid0IGl0ZXJhdGUgZWxlbWVudHMgbWF1YWxseSB3aGVuIGZyZWVpbmcKCSAgKiBjYWxsIGdzdF9ydHBfKl9wYXlfY2xlYXJfcGFja2V0KCksIGRvbid0IGR1cGxpY2F0ZSBpdHMgY29kZQoJICAqIHVzZSBnc3RfYnVmZmVyX3VucmVmKCkgdG8gY2xhcmlmeSB0aGF0IGl0IGlzIGJ1ZmZlcnMgYmVpbmcgcmVsZWFzZWQsCgkgIGluc3RlYWQgb2YgcmVmZXJpbmcgZGlyZWN0bHkgdG8gZ3N0X21pbmlfb2JqZWN0X3VucmVmKCkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI3NwoKMjAxNS0wOS0xOSAxODo0NDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHt2b3JiaXMsdGhlb3JhfXBheTogU3RvcmUgaGVhZGVycyBpbiB0aGUgcGFja2V0IGJ1ZmZlcnMgbGlzdHMsIG5vdCBhIE5VTEwgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNjUKCjIwMTUtMDktMTkgMTE6NDY6MzcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBndGtnbHNpbms6IEhpZGUgYW5kIGNsZWFuIHRoZSBHdGtXaW5kb3cgd2UgbWlnaHQgY3JlYXRlCgkgIFdoZW4gc3RvcHBpbmcgdGhlIHNpbmsgd2Ugc2hvdWxkIGFsd2F5cyBoaWRlIHRoZSB3aW5kb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNDkKCj09PSByZWxlYXNlIDEuNS45MSA9PT0KCjIwMTUtMDktMTggMTk6MzM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS45MQoKMjAxNS0wOS0xOCAxOToyMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOS0xOCAxMTo1MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wOS0xNyAxMDo1MDowMSArMDkwMCAgRXVuaGFlIENob2kgPGV1bmhhZTEuY2hvaUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCB0YWdsaXN0IGxlYWsKCSAgZ3N0X3RhZ19saXN0X2luc2VydCgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBpbnNlcnRlZCB0YWdsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTM4CgoyMDE1LTA5LTE3IDEzOjM1OjAyICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ2w6IEZpeCBHRXJyb3IgbGVha3MgZHVyaW5nIGZhaWx1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNDAKCjIwMTUtMDktMTYgMDc6MDU6MzYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogU2tpcCBMT0FTIEFBQyB1bnRpbCBhIHZhbGlkIGNvbmZpZyBpcyBzZWVuLgoJICBJdCdzIG5vcm1hbCB3aGVuIGRyb3BwaW5nIGludG8gdGhlIG1pZGRsZSBvZiBhIHN0cmVhbSB0bwoJICBub3QgYWx3YXlzIGhhdmUgdGhlIGNvbmZpZyBhdmFpbGFibGUgaW1tZWRpYXRlbHksIHNvIHNraXAgTE9BUwoJICB1bnRpbCBhIHZhbGlkIGNvbmZpZyBpcyBzZWVuIHdpdGhvdXQgZWl0aGVyIHNldHRpbmcgaW52YWxpZAoJICBjYXBzIG9yIGVycm9yaW5nIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM4NgoKMjAxNS0wOS0xMyAxNTo0MTozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVzZXQganVzdCBhIGJpdCBtb3JlIHVwb24gZmx1c2hfc3RvcAoKMjAxNS0wOS0xMyAxNTo0MDowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVtb3ZlIGRlYWQgc3RydWN0IG1lbWJlcgoKMjAxNS0wOS0xMSAxNzowOToyOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZml4IEdFcnJvciBtZW1vcnkgbGVhayB3aGVuIGhvc3RuYW1lIHJlc29sdXRpb24gZmFpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDg2OQoKMjAxNS0wOS0xMCAxNToyNjo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IGRyb3AgSEVBREVSIGZsYWcgZnJvbSBvdXRwdXQgYnVmZmVycwoJICBEcm9wIEhFQURFUiBmbGFnIGZyb20gb3V0cHV0IGJ1ZmZlcnMgaWYgdGhleSBhcmUgbm90IGluZGVlZAoJICBoZWFkZXJzLgoJICBGaXhlcyByZXNlbmRpbmcgb2YgaGVhZGVycyBpbiB0Y3AgY29ubmVjdGlvbiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzY4CgoyMDE1LTA5LTEwIDE2OjAwOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBtYXRyb3NrYW11eCAhIG1hdHJvc2thZGVtdXgKCSAgRG9uJ3QgY2Fycnkgb3ZlciBESVNDT05UIGZsYWdzIGZyb20gdGhlIGlucHV0IGJ1ZmZlcnMgdG8gdGhlCgkgIG91dHB1dCBidWZmZXIsIG9yIHRoZSBkZW11eGVyIG1pZ2h0IHJlc2V0IGl0cyBzdGF0ZSB3aGVuIGl0CgkgIHJlY2VpdmVzIHRoZSBmaXJzdCBkYXRhIGJ1ZmZlciBqdXN0IGFmdGVyIHBhcnNpbmcgdGhlIHNpbXBsZQoJICBibG9jayBoZWFkZXIsIGFuZCB0aGVuIGV4cGVjdCBzYW5lIGRhdGEgdG8gZm9sbG93LgoJICBGaXhlcyBtYXRyb3NrYW11eCAhIGRlbXV4IGVycm9yaW5nIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc2OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3ODA1CgoyMDE1LTA5LTA5IDEyOjUxOjQwIC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIGdzdC9ydHNwL1JFQURNRToKCSAgcnRzcDogZml4IHNtYWxsIFJFQURNRSB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4MDcKCjIwMTUtMDktMTAgMDA6MDc6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIGd0aywgcXQ6IG1vcmUgc3BlY2lmaWNhbGx5IGRlZmluZSB0aGUgY29tcGlsZSB0aW1lIHJlcXVpcmVtZW50cwoJICBPdGhlcndpc2Ugd2UgY291bGQgaW5jbHVkZSBoZWFkZXJzL2NvbmZpZ3VyYXRpb25zIHRoYXQgd2lsbAoJICBuZXZlciBiZWVuIGluc3RhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDczMgoKMjAxNS0wOS0xMCAwMDowNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGssIHF0OiBtb3JlIHNwZWNpZmljYWxseSBkZWZpbmUgdGhlIGNvbXBpbGUgdGltZSByZXF1aXJlbWVudHMKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIGluY2x1ZGUgaGVhZGVycy9jb25maWd1cmF0aW9ucyB0aGF0IHdpbGwKCSAgbmV2ZXIgYmVlbiBpbnN0YWxsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3MzIKCjIwMTUtMDktMTAgMDA6MDA6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJICBxdDogdXNlIG91ciBmdW5jdGlvbiB0YWJsZSBpbnN0ZWFkIG9mIGRpcmVjdGx5IGNhbGxpbmcgZ2wgZnVuY3Rpb25zCgkgIE90aGVyd2lzZSB3aGVuIGJ1aWxkaW5nIHdpdGggLS1hcy1uZWVkZWQgd2Ugd291bGQgbmVlZCB0byBsaW5rIHRvCgkgIGEgR0wgb3IgR0xFUyBsaWJyYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzMyCgoyMDE1LTA5LTA0IDE5OjQ1OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBzZXQgYm90aCBwdHMgYW5kIGR0cyBzbyBiYXNlcGFyc2UgZG9lc24ndCBtYWtlIHVwIHdyb25nIGR0cyBhZnRlciBzZWVrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTA2CgoyMDE1LTA5LTA0IDE5OjM0OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzZXQgYm90aCBwdHMgYW5kIGR0cyBzbyBiYXNlcGFyc2UgZG9lc24ndCBtYWtlIHVwIHdyb25nIGR0cyBhZnRlciBhIHNlZWsKCSAgZmxhYyBjb250YWlucyB0aGUgc2FtcGxlIG9mZnNldCBpbiB0aGUgZnJhbWUgaGVhZGVyLCBzbyBhZnRlciBhIHNlZWsKCSAgd2l0aG91dCBpbmRleCBmbGFjcGFyc2Ugd2lsbCBrbm93IHRoZSBleGFjdCBwb3NpdGlvbiB3ZSBsYW5kZWQgb24gYW5kCgkgIHRpbWVzdGFtcCBidWZmZXJzIGFjY29yZGluZ2x5LiBJdCBvbmx5IHNldCB0aGUgcHRzIHRob3VnaCwgd2hpY2ggbWVhbnMKCSAgdGhlIGJhc2VwYXJzZS1zZXQgZHRzIHdoaWNoIHdhcyBzZXQgdG8gdGhlIHNlZWsgcG9zaXRpb24gcHJldmFpbHMsIGFuZAoJICBzaW5jZSB0aGUgc2VlayB3YXMgYmFzZWQgb24gYW4gZXN0aW1hdGUsIHRoZXJlJ3MgbGlrZWx5IGEgZGlzY3JlcGFuY3kKCSAgYmV0d2VlbiB3aGVyZSB3ZSB3YW50ZWQgdG8gbGFuZCBhbmQgd2hlcmUgd2UgZGlkIGxhbmQsIHNvIGZyb20gaGVyZSBvbgoJICB0aGF0IGR0cy9wdHMgZGlmZmVyZW5jZSB3aWxsIGJlIG1haW50YWluZWQsIHdpdGggZHRzIHBvc3NpYmx5IG11bHRpcGxlCgkgIHNlY29uZHMgYWhlYWQgb2YgcHRzLCB3aGljaCBpcyBqdXN0IHdyb25nLiBUaGUgZWFzaWVzdCB3YXkgdG8gZml4IHRoaXMKCSAgaXMgdG8ganVzdCBzZXQgYm90aCBwdHMgYW5kIGR0cyBiYXNlZCBvbiB0aGUgc2FtcGxlIG9mZnNldCwgYnV0IHBlcmhhcHMKCSAgcGFyc2VkIGF1ZGlvIHNob3VsZCBqdXN0IG5vdCBoYXZlIGR0cyBzZXQgYXQgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTA2CgoyMDE1LTA5LTA2IDE2OjMzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgIGRvY3M6IHJlbW92ZSBwcm9wZXJ0aWVzIGFuZCBzaWduYWxzIHRoYXQgbm8gbG9uZ2VyIGV4aXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0NDMKCjIwMTMtMTAtMTEgMTU6MTM6MDAgKzAwMDAgIEdlb3JnZSBDaHJpc3MgPGdzY2hyaXNzQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogTWFrZSB0aGUgZWxlbWVudCBjb3VudCBpbiBhcnJheXMgbm90IGluY2x1ZGUgZW5kCgkgIE9uZS1saW5lIHJlbW92YWwgb2YgdGFnc193cml0dGVuKysKCSAgVGhpcyBzaG91bGQgZml4IHJ0bXAgb3V0cHV0IHRvIGNydG1wc2VydmVyLCBhbmQgaG9wZWZ1bGx5CgkgIG5vb25lIGlzIGV4cGVjdGluZyB0aGF0IHRoZSBlbGVtZW50IGNvdW50IGluY2x1ZGVzIHRoZSBlbmQKCSAgZWxlbWVudCwgYXMgZGlmZmVyZW50IGJpdHMgb2YgZG9jdW1lbnRhdGlvbiBzYXkgZGlmZmVyZW50CgkgIHRoaW5ncyBhYm91dCB3aGV0aGVyIGl0IHNob3VsZCBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2MjQKCjIwMTUtMDctMzAgMDA6NTk6MTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBTdG9yZSBpbmNvbWluZyBiaXRyYXRlIHRhZ3MgYW5kIHNlbmQgaW4gdGhlIG1ldGFkYXRhCgkgIEFwcGFyZW50bHkgdGhlIE1pY3Jvc29mdCBBenVyZSBSVE1QIHNlcnZlciByZXF1aXJlcyB0aGF0IHRoZQoJICB2aWRlb2RhdGFyYXRlIGFuZCBhdWRpb2RhdGFyYXRlIG1ldGFkYXRhIGJlIHByb3ZpZGVkLCBzbwoJICBzZXQgdGhvc2UsIGV2ZW4gaWYgaXQncyB0byAwLiBVc2UgdGhlIGFjdHVhbCBpbnB1dCBiaXRyYXRlCgkgIHRhZ3MgaWYgYXZhaWxhYmxlLgoKMjAxNS0wOS0wNCAwMDowNjoyOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHBhcnNlIGtleSBkYXRhIG1vcmUgdGhhbiBuZWVkZWQuCgkgIFdoZW4gYW4gYXV4aWxsaWFyeSBzdHJlYW1zIGFyZSBwcmVzZW50IGluIHRoZSBTRFAgbWVkaWEsCgkgIHRoZXJlJ3Mgbm8gbmVlZCB0byByZS1wYXJzZSB0aGUgU0RQIGF0dHJpYnV0ZXMgbXVsdGlwbGUKCSAgdGltZXMuCgoyMDE1LTA5LTAzIDIwOjU2OjU1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IFNSVFAgKyBSVFgsIGF1dGggYWNjZXNzLCBhIGxlYWssIGFuZCBhbiBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MuCgkgIEluIHBhcnNlX2tleW1nbXQoKSwgZG9uJ3QgbXV0YXRlIHRoZSBpbnB1dCBzdHJpbmcgdGhhdCdzIGJlZW4gcGFzc2VkCgkgIGFzIGNvbnN0LCBlc3BlY2lhbGx5IHNpbmNlIHdlIG1pZ2h0IG5lZWQgdGhlIG9yaWdpbmFsIHZhbHVlIGFnYWluIGlmCgkgIHRoZSBzYW1lIGtleSBpbmZvIGFwcGxpZXMgdG8gbXVsdGlwbGUgc3RyZWFtcyAoUlRYLCBmb3IgZXhhbXBsZSkuCgkgIFdoZW4gYSByZXNvdXJjZSBpcyA0MDQsIGFuZCB3ZSBoYXZlIGF1dGggaW5mbyAtIHJldHJ5IHdpdGggdGhlIGF1dGgKCSAgaW5mbyB0aGUgc2FtZSBhcyBpZiB3ZSBoYWQgcmVjZWl2ZSB1bmF1dGhvcmlzZWQsIGluIGNhc2UgdGhlIHJlc291cmNlCgkgIGlzbid0IGV2ZW4gdmlzaWJsZSB1bnRpbCBjcmVkZW50aWFscyBhcmUgc3VwcGxpZWQuCgkgIEZpeCBhIG1lbW9yeSBsZWFrIGhhbmRsaW5nIE1pa2V5IGRhdGEuCgkgIFdoZW4gZ2VuZXJhdGluZyBhIHJhbmRvbSBrZXlzdHJpbmcsIGRvbid0IG92ZXJydW4gdGhlIDMwIGJ5dGUKCSAgYnVmZmVyIGJ5IGdlbmVyYXRpbmcgMzIgYnl0ZXMgaW50byBpdC4KCjIwMTUtMDktMDQgMTU6NDM6NDAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IERvIG5vdCBjb25zaWRlciBHdGtFdmVudHMgYXMgaGFuZGxlZAoJICBBcHBsaWNhdGlvbnMgbWlnaHQgc3RpbGwgd2FudCB0byB1c2UgdGhlbQoJICBhZnRlciB0aGUgc2luayB0cmFuc2Zvcm1lZCB0aGVtIGludG8KCSAgR3N0TmF2aWdhdGlvbiBldmVudHMKCjIwMTUtMDktMDQgMTU6MTg6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeCBidWlsZCB3aXRoIEdMaWIgPCAyLjQ0CgkgIEdfSU9fRVJST1JfQ09OTkVDVElPTl9DTE9TRUQgd2FzIGFkZGVkIGluIDIuNDQuCgoyMDE1LTA5LTA0IDEyOjAxOjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBJZ25vcmUgR19JT19FUlJPUl9DT05ORUNUSU9OX0NMT1NFRCB3aGVuIHJlY2VpdmluZyBkYXRhCgkgIFRoaXMgaGFwcGVucyBvbiBXaW5kb3dzIGlmIHdlIHVzZSB0aGUgc2FtZSBzb2NrZXQgZm9yIHNlbmRpbmcgcGFja2V0cywKCSAgYW5kIHRoZSByZW1vdGUgc2VuZHMgSUNNUCBwb3J0L2hvc3QgdW5yZWFjaGFibGUgbWVzc2FnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1MzQKCjIwMTUtMDktMDIgMjE6MTI6NDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzL3RoZW9yYWRlcGF5OiBGaXggaGFuZGxpbmcgb2YgZnJhZ21lbnRlZCBwYWNrZXRzCgkgIFRoaXMgd2FzIGJyb2tlbiBpbiBiMTA4OWZiNTIwIGJ5IG5vdCBjb25zaWRlcmluZyB0aGUgZnVsbCBwYWNrZXQgbGVuZ3RoIG9mIGEKCSAgZnJhZ21lbnRlZCBwYWNrZXQgYnV0IG9ubHkgdGhlIGxlbmd0aCBvZiB0aGUgZmlyc3Qgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDE3CgoyMDE1LTA5LTAxIDE1OjM5OjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFJlcGx5IHRvIGxhdGVuY3kgcXVlcnkKCjIwMTUtMDgtMDcgMTc6Mjc6NDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbHNpbms6IEVuc3VyZSB0aGF0IGF0IGxlYXN0IG9uZSB3aW5kb3dpbmcgc3lzdGVtIGlzIGF2YWlsYWJsZQoJICBPdGhlcndpc2UsIHdlJ2xsIGp1c3QgY3Jhc2ggYXQgcnVudGltZSBiZWNhdXNlIHRoZSBnbCBjb250ZXh0IGlzIE5VTEwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEwOAoKMjAxNS0wOC0zMSAxNjo0MjozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgdGVzdHM6IEZpeCBydHBzZXNzaW9uIHRlc3QgZmFpbHVyZQoJICBUaGUgdGltZSBvZiB0aGUgZmlyc3QgUlRDUCBwYWNrZXQgaXMgc2VtaS1yYW5kb20sIHNvCgkgIHNvbWV0aW1lcyBpdCB3YXMgcHJvZHVjZWQgYmVmb3JlIGVub3VnaCBwYWNrZXRzIGZyb20KCSAgdGhlIHNlY29uZCBTU1JDIHdlcmUgcmVjZWl2ZWQuIEZpcnN0IGRyb3AgcXVldWVkIFJUQ1AKCSAgcGFja2V0cywgdGhlbiBhZHZhbmNlIHRoZSBjbG9jayBlbm91Z2ggdG8gZW5zdXJlCgkgIHRoYXQgYXQgbGVhc3Qgb25lIG5ldyBSVENQIHBhY2tldCBpcyBwcm9kdWNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDczMQoKMjAxNS0wOC0zMSAxODowNjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrLCBxdCwgZ2w6IGZpeCB0eXBvIGluIGRlYnVnIGFuZCBlcnJvciBtZXNzYWdlcwoKMjAxNS0wOC0zMSAxODowNjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIGd0aywgcXQsIGdsOiBmaXggdHlwbyBpbiBkZWJ1ZyBhbmQgZXJyb3IgbWVzc2FnZXMKCjIwMTUtMDgtMzEgMTM6NTY6MDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogaW1wcm92ZSB0aGUgdGVzdCBmb3IgbXVsdGktY2hhbm5lbCBtb2RlCgkgIENoYW5nZSB0aGUgdGVzdCB0byB2ZXJpZnkgdGhlIHJlYWQtaW5kZXggZm9yIG11bHRpcGxlIG1lc3NhZ2VzIHBlciBidWZmZXIuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ0CgoyMDE1LTA4LTMxIDEyOjQ2OjUyICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFsaWduIHJhdyB2aWRlbyBmcmFtZXMgdG8gMzIgYnl0ZXMKCSAgT3V0cHV0dGluZyB1bmFsaWduZWQgdmlkZW8gZnJhbWVzIGNhdXNlcyB2aWRlb3NjYWxlIGV0IGFsIHRvCgkgIGNyYXNoIHdoZW4gYXR0ZW1wdGluZyBTSU1ELWFjY2VsZXJhdGVkIGNvbnZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NjUKCjIwMTUtMDgtMjYgMjM6MTY6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCBsZXZlbCBjYWxjdWxhdGlvbnMgZm9yIG11dGxpcGxlIGNoYW5uZWxzCgkgIFRoaXMgd2FzIGJyb2tlbiB3aXRoIDdiOTBiZjMyMTUwODk3YTE0MWEyOWExMmVjYWI1NTVkOGM1YjdmYWIuCgoyMDE1LTA4LTI3IDEwOjI4OjU1ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogRml4IG1lbW9yeSBsZWFrCgkgIEluIGdzdF9zbXB0ZV9jb2xsZWN0ZWQoKSwgY2hlY2sgdXBmcm9udCBpZiBpbnB1dCBmb3JtYXRzIGFyZSBzYW1lCgkgIG9yIG5vdC4gVGhpcyBhdm9pZHMgYWxsb2NhdGlvbiBvZiBpbjEgYW5kIGluMiBidWZmZXJzIGFuZAoJICBzdWJzZXF1ZW50IG1lbW9yeSBsZWFrIHdoZW4gaW5wdXQgZm9ybWF0cyBkbyBub3QgbWF0Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNTMKCjIwMTUtMDgtMjEgMTE6NTI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IGRvbid0IHRyeSB0byBjb25uZWN0IHRvIGRlYWQgcmFkaW8gc2VydmVyCgoyMDE1LTA4LTIxIDE2OjI5OjE2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBUcml2aWFsIGZpeCB0byBjaGVjayBjb3JyZWN0IGNvbmRpdGlvbgoJICBXaGVuIGNoZWNraW5nIGZvciBkZXNjcmliZSBtZXRob2QsIGJlY2F1c2Ugb2YgbWlzc2luZyBwYXJlbnRoZXNlcywgd3JvbmcKCSAgY29uZGl0aW9uIGlzIGJlaW5nIGNoZWNrZWQsIHdoaWNoIHdpbGwgcmVzdWx0IGluIHdyb25nIGJlaGF2aW9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTEyCgoyMDE1LTA4LTIxIDEzOjE5OjAyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiByZWFkOiBmaXggdGFnIGxpc3QgbWVtb3J5IGxlYWsKCSAgZ3N0X3RvY19lbnRyeV9tZXJnZV90YWdzIG1ha2VzIGEgbmV3IHJlZiBvZiB0aGUgdGFnbGlzdCwgc28gaXQgc2hvdWxkCgkgIGJlIHVucmVmJ2VkIGFzIHNvb24gYXMgdGhlIHRhZ3MgYXJlIG1lcmdlZCB0byB0aGUgdG9jZW50cnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkwNAoKMjAxNS0wOC0yMSAxMjoyMDo1OSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogZml4IHRhZ2xpc3QgbWVtb3J5IGxlYWsKCSAgV2hlbiBwYXNzaW5nIHRoZSB0YWdsaXN0IHRvIGdzdF9hdWRpb19kZWNvZGVyX21lcmdlX3RhZ3MsIHRoZSByZWZlcmVuY2UgaXMgaW5jcmVhc2VkCgkgIGJ5IGF1ZGlvZGVjb2RlciBhbmQgdGhlIGNhbGxlciBzaG91bGQgZnJlZSB0aGUgdGFnbGlzdCBiZWluZyBwYXNzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MDMKCjIwMTUtMDgtMjAgMTQ6NDU6MzMgKzAyMDAgIEplYW4tTWljaGVsIEhhdXRib2lzIDxqZWFuLW1pY2hlbC5oYXV0Ym9pc0B2ZW8tbGFicy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGZpeCBwYWQgY2xvc2luZwoJICBTaWduZWQtb2ZmLWJ5OiBKZWFuLU1pY2hlbCBIYXV0Ym9pcyA8amVhbi1taWNoZWwuaGF1dGJvaXNAdmVvLWxhYnMuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODc1CgoyMDE1LTA4LTE5IDEzOjUyOjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGsvZ2w6IFVzZSBvdXIgR0wgZnVuY3Rpb24gdGFibGUgaW5zdGVhZCBvZiBkaXJlY3RseSBjYWxsaW5nIEdMIGZ1bmN0aW9ucwoJICBPdGhlcndpc2Ugd2Ugd291bGQgaGF2ZSB0byBsaW5rIHRoZSBwbHVnaW4gdG8gdGhlIEdMIGxpYnJhcmllcyBkaXJlY3RseS4KCj09PSByZWxlYXNlIDEuNS45MCA9PT0KCjIwMTUtMDgtMTkgMTM6Mjk6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS45MAoKMjAxNS0wOC0xOSAxMjo0Nzo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOC0xOSAxMToyOTo1NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDgtMTMgMTc6Mjk6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCByZWdyZXNzaW9uIHdpdGggc3RhcnRpbmcgZnJvbSBpbmRleCBzZXQgdmlhIGluZGV4IHByb3BlcnR5CgkgIFdoZW4gd2UgaGF2ZW4ndCBzdGFydGVkIHlldCwgc2V0IHRoZSBzdGFydF9pbmRleCB3aGVuIHdlIHNldCB0aGUgaW5kZXggcHJvcGVydHksCgkgIHNvIHRoYXQgd2Ugc3RhcnQgYXQgdGhlIHJpZ2h0IGluZGV4IHBvc2l0aW9uIGFmdGVyIHRoZSBpbml0aWFsIHNlZWsuIFRoZSBpbmRleAoJICBwcm9wZXJ0eSB3YXMgbmV2ZXIgcmVhbGx5IG1lYW50IHRvIGJlIGZvciB3cml0aW5nLCBidXQgaXQgdXNlZCB0byB3b3JrLCBzbyBsZXQncwoJICBzdXBwb3J0IGl0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ3MgoKMjAxNS0wOC0xOCAxMDo1MjoxMSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBvZmZzZXQgY2FsY3VsYXRpb24gd2hlbiBwYXJzaW5nIENFTkMgYXV4IGluZm8KCSAgQ29tbWl0IDdkN2U1NGNlNjg2M2ZmNTNlMTg4ZDAyNzZkMjY1MWI2NTA4MmZmZGIgYWRkZWQgc3VwcG9ydCBmb3IKCSAgREFTSCBjb21tb24gZW5jcnlwdGlvbiwgaG93ZXZlciBjb21taXQKCSAgYmIzMzY4NDBjMGIwYjAyZmExOGRjNDQzN2NlMGRlZDNkOTE0MjgwMSB0aGF0IHdlbnQgb250byBtYXN0ZXIKCSAgc2hvcnRseSBiZWZvcmUgdGhlIENFTkMgY29tbWl0IGNhdXNlZCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIENFTkMKCSAgYXV4IGluZm8gb2Zmc2V0IHRvIGJlIGluY29ycmVjdC4KCSAgVGhlIGJhc2Vfb2Zmc2V0IHdhcyBiZWluZyBhZGRlZCBpZiBwcmVzZW50LCBidXQgaWYgdGhlIGJhc2Vfb2Zmc2V0CgkgIGlzIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgbW9vZiwgdGhlIG9mZnNldCB3YXMgYmVpbmcgYWRkZWQgdHdpY2UuCgkgIFRoZSBjb3JyZWN0IGFwcHJvYWNoIGlzIHRvIGNhbGN1bGF0ZSB0aGUgb2Zmc2V0IGZyb20gdGhlIHN0YXJ0IG9mIHRoZQoJICBtb29mIGFuZCB1c2UgdGhhdCBvZmZzZXQgd2hlbiBwYXJzaW5nIHRoZSBDRU5DIGF1eCBpbmZvLgoKMjAxNS0wOC0xNyAxNDoyODoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhY3R1YWxseSByZXR1cm4gdHJ1ZSBmb3IgYWNjZXB0LWNhcHMgcXVlcnkgaGFuZGxpbmcKCjIwMTUtMDgtMTcgMTQ6MDc6MTAgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5LmM6CgkgIHJ0cDogY29weSBtZXRhZGF0YSBpbiB0aGUgKGRlKXBheWxvYWRlcnMgd2hpY2ggaXMgbWlzc2VkIGJlZm9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzA2CgoyMDE1LTA4LTE2IDE1OjIxOjUxIC0wNDAwICBEdXN0aW4gU3BpY3V6emEgPGR1c3RpbkB2aXJ0dWFscm9hZHNpZGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBhbGxvdyBzcGVjaWZ5aW5nIGF1ZGlvIHBsYXliYWNrIGRldmljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjcwCgoyMDE1LTA4LTE2IDEzOjUxOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBzaW5nbGUgZW50cnkgaWYgZnJvbSBsb29wCgkgIEl0ZXJhdGUgZnJvbSB0aGUgMm5kIGNoYW5uZWwgb24gYW5kIGNyZWF0ZSB0aGUgMSBjaGFubmVsIHN0cnVjdAoJICBvdXRzaWRlIHRvIG1ha2UgbG9vcCBzdHJ1Y3R1cmUgc2ltcGxlciBhbmQgb25seSBzbGlnaHRseSBmYXN0ZXIuCgoyMDE1LTA4LTE2IDEzOjIxOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGltcGxlbWVudCBwcm9wZXIgYWNjZXB0LWNhcHMKCSAgU2hvdWxkIGp1c3QgY29tcGFyZSB3aXRoIHdoYXQgY2FuIGJlIGltbWVkaWF0ZWxseSBhY2NlcHRlZCBieQoJICB0aGUgZWxlbWVudC4gZmxhY2VuYyBjYW4ndCByZW5lZ290aWF0ZSBzbyBpZiBpdCBoYXMgYSBjYXBzIGFscmVhZHkKCSAgaXQgc2hvdWxkIG9ubHkgYWNjZXB0IGlmIGl0IGlzIHRoYXQgY2FwcyBvdGhlcndpc2UganVzdCB1c2UgdGhlCgkgIHRlbXBsYXRlIGNhcHMKCjIwMTUtMDgtMTYgMTM6MDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogaW1wcm92ZSBzaW5rIHBhZCB0ZW1wbGF0ZSBjYXBzCgkgIFJlbW92ZXMgdGhlIG5lZWQgZm9yIGN1c3RvbSBjYXBzIHF1ZXJ5IGhhbmRsaW5nIGFuZCBtYWtlcyBpdCBtb3JlCgkgIGNvcnJlY3QgZnJvbSB0aGUgYmVnaW5uaW5nIG9uIHRoZSB0ZW1wbGF0ZS4gSXQgaXMgYSBiaXQgdWdsaWVyCgkgIHRvIHJlYWQgYmVjYXVzZSB0aGVyZSBpcyAxIGVudHJ5IHBlciBjaGFubmVsIGJ1dCBtYWtlcyBjb2RlIGVhc2llcgoJICB0byBtYWludGFpbi4KCjIwMTUtMDgtMTYgMTI6NDE6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuY29kZTogZml4IGdzdC1sYXVuY2ggdmVyc2lvbiBpbiBkb2N1bWVudGF0aW9uCgoyMDE1LTA4LTE1IDIyOjMyOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkgIGF1ZGlvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IHNwZWV4ZW5jLCB3YXZwYWNrZW5jLCBtdWxhd2VuYywgYWxhd2VuYwoKMjAxNS0wOC0xNSAyMjoyOTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB2aWRlb2VuY29kZXJzOiB1c2UgdGVtcGxhdGUgc3Vic2V0IGNoZWNrIGZvciBhY2NlcHQtY2FwcwoJICBJdCBpcyBmYXN0ZXIgdGhhbiBkb2luZyBhIHF1ZXJ5IHRoYXQgcHJvcGFnYXRlcyBkb3duc3RyZWFtIGFuZAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIEVsZW1lbnRzOiBqcGVnZW5jLCBwbmdlbmMsIHZwOGVuYywgdnA5ZW5jLCB5NG1lbmMKCjIwMTUtMDgtMTYgMTc6MjE6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiB1c2UgbmV3IGJhc2VwYXJzZSBBUEkgdG8gZml4IHRhZyBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzY4CgoyMDE1LTAzLTE3IDE3OjUwOjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXNlIG5ldyBiYXNlIHBhcnNlIEFQSSB0byBmaXggdGFnIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDgtMTYgMTQ6Mzc6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVzZSBuZXcgYmFzZXBhcnNlIEFQSSBhbmQgZml4IHRhZyBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzY4CgoyMDE1LTA4LTE2IDEzOjA0OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSBzaWduZWQgaW50ZWdlciB0eXBlIHRvIGJlIGFibGUgdG8gY2hlY2sgZm9yIG5lZ2F0aXZlIHN1YnRyYWN0aW9uIHJlc3VsdHMKCSAgQ0lEIDEzMTU4MjkKCjIwMTUtMDgtMTYgMTE6NTA6MzQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiByZW1vdmUgZGVhZCBjb2RlCgkgIHBheWxvYWRfYnVmZmVyIG11c3QgYmUgTlVMTCBpbiBpZ25vcmVfcmVzZXJ2ZWQuIENoZWNrIHdpbGwgYWx3YXlzIGJlIGZhbHNlLgoJICBJbnRyb2R1Y2VkIGJ5IGIxMDg5ZmI1MjA3Njk3YmEyNmVkYjRmZjY2ZWQwZjQ2NWM2ZGYzY2YKCSAgQ0lEICMxMzE2NDc2CgoyMDE1LTA4LTE1IDIyOjQ1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgYWxhd2VuYzogcG9ydCB0byBBdWRpb0VuY29kZXIgYmFzZSBjbGFzcwoKMjAxNS0wOC0xNSAyMjoxNToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZW1wMmVuYy5jOgoJICBhdWRpb2VuY29kZXJzOiB1c2UgdGVtcGxhdGUgc3Vic2V0IGNoZWNrIGZvciBhY2NlcHQtY2FwcwoJICBJdCBpcyBmYXN0ZXIgdGhhbiBkb2luZyBhIHF1ZXJ5IHRoYXQgcHJvcGFnYXRlcyBkb3duc3RyZWFtIGFuZAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIEVsZW1lbnRzOiBhbXJuYmVuYywgbGFtZW1wM2VuYywgdHdvbGFtZW1wMmVuYwoKMjAxNS0wOC0xNSAyMjoxNToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBhdWRpb2VuY29kZXJzOiB1c2UgdGVtcGxhdGUgc3Vic2V0IGNoZWNrIGZvciBhY2NlcHQtY2FwcwoJICBJdCBpcyBmYXN0ZXIgdGhhbiBkb2luZyBhIHF1ZXJ5IHRoYXQgcHJvcGFnYXRlcyBkb3duc3RyZWFtIGFuZAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIEVsZW1lbnRzOiBhbXJuYmVuYywgbGFtZW1wM2VuYywgdHdvbGFtZW1wMmVuYwoKMjAxNS0wOC0xNSAwOToxNjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIGF1ZGlvZGVjb2RlcnM6IHVzZSBkZWZhdWx0IHBhZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBBdm9pZHMgdXNlbGVzcyBjaGVjayBvZiBkb3duc3RyZWFtIGNhcHMgd2hlbiBoYW5kbGluZyBhbgoJICBhY2NlcHQtY2FwcyBxdWVyeQoJICBFbGVtZW50czogZmxhY2RlYywgc3BlZXhkZWMsIHdhdnBhY2tkZWMsIG11bGF3ZGVjLCBhbGF3ZGVjCgoyMDE1LTA4LTE1IDA4OjQ5OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZpZGVvZGVjb2RlcnM6IHVzZSBkZWZhdWx0IHBhZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBBdm9pZHMgdXNlbGVzcyBjaGVjayBvZiBkb3duc3RyZWFtIGNhcHMgd2hlbiBoYW5kbGluZyBhbgoJICBhY2NlcHQtY2FwcyBxdWVyeQoJICBFbGVtZW50czoganBlZ2RlYywgcG5nZGVjLCB2cDhkZWMsIHZwOWRlYwoKMjAxNS0wOC0xNSAxMTozMTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJICBhbGF3ZGVjOiBtYWtlIGVycm9yIGhhbmRsaW5nIGEgYml0IG5pY2VyCgkgIFByaW50IHRoZSBlbGVtZW50IGFsb25nIHdpdGggdGhlIGRlYnVnIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHRyYWNlCgkgIHRoZSBmYWlsdXJlcwoKMjAxNS0wOC0xNSAxMTowNDoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgIGFsYXdkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyIGJhc2UgY2xhc3MKCSAgbXVsYXdkZWMgd2FzIGFscmVhZHkgcG9ydGVkLCBhbGF3ZGVjIHdhcyBsZWZ0IGJlaGluZC4KCjIwMTUtMDgtMTUgMTA6MzQ6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IGxvb2sgZm9yIG1vcmUgc2FtcGxlcyBpbiBtb29mcyBpbiBwdWxsLW1vZGUKCSAgRm9yIHBsYXliYWNrIG9mIHNvbWUgZnJhZ21lbnRlZCBmb3JtYXRzIHdpdGggcXRkZW11eCBpdCB3aWxsCgkgIHRyeSB0byBsb29rIGZvciB0aGUgbmV4dCBtb29mIGFmdGVyIGZpbmlzaGluZyBvbmUgYnV0IGl0IGlzIG9ubHkKCSAgcG9zc2libGUgZm9yIHB1bGwtbW9kZS4gRm9yIHBsYXliYWNrIG9mIHN0cmVhbWluZyBmcmFnbWVudGVkIGZvcm1hdHMKCSAgc3VjaCBhcyBEQVNIIGl0IHNob3VsZCBqdXN0IG5vdCB0cnkgdG8gbG9vayBmb3IgYW5vdGhlciBtb29mIGJ1dAoJICBpbnN0ZWFkIHdhaXQgZm9yIG1vcmUgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYwMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjAzCgoyMDE1LTA4LTE1IDE0OjMxOjE1ICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBnbHNpbms6IEVuYWJsZSBzeW5jIG1ldGEgb24gcG9vbHMgd2Ugb2ZmZXIKCSAgQXMgdGhlIHVwbG9hZCBpcyBhc3luY2hyb25vdXMsIHdlIG5lZWQgdG8gZW5hYmxlIHRoZSBzeW5jIG1ldGEgdG8KCSAgZ2FpbiBjb3JyZWN0IHJlbmRlcmluZy4gVGhlIGJ1ZmZlciBwb29sIHJlY2VpdmVyIGRvbid0IGtub3cgYWJvdXQKCSAgdGhhdC4KCjIwMTUtMDgtMTUgMTU6MTI6MjcgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBBZGQgb3ZlcmxheSBjb21wb3NpdGlvbiBzdXBwb3J0CgkgIFJlbmRlcmluZyBjb21wb3NpdGlvbiBvdmVybGF5IGluIEdMIHdpdGggYWRkaXRpb25hbCBoaWdoIHJlc29sdXRpb24KCSAgb3ZlcmxheSBiZWluZyBhZGRlZC4KCjIwMTUtMDgtMTUgMTU6MDg6MTEgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGtnbHNpbms6IEZpeCB1bnNhZmUgaGFuZGxpbmcgb2YgYnVmZmVyIGxpZmUgdGltZQoJICBXZSBuZWVkIHRvIGtlZXAgdGhlIGFjdGl2ZSBidWZmZXIgKHRoZSBvbmUgd2UgaGF2ZSByZXRyZWl2ZSBhCgkgIHRleHR1cmUgaWQgZnJvbSkgb3RoZXJ3aXNlIGl0J3MgcmFjeSBhbmQgdXBzdHJlYW0gbWF5IHVwbG9hZAoJICBuZXcgY29udGVudCBiZWZvcmUgd2UgaGF2ZSByZW5kZXJlZCBvciBkdXJpbmcgbGF0ZXIgcmVkaXNwbGF5LgoKMjAxNS0wOC0xNCAxODowNzoxNSArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsc2luazogUmVtb3ZlIHJlc2V0IHBhdGgKCSAgVGhlIHJlc2V0IHBhdGggaXMgYm9ndXMgYW5kIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBnZXQgcmlkIG9mIHRoZXNlCgkgIHRoaW5ncyBkdXJpbmcgcmVzaXplLgoKMjAxNS0wOC0xNSAxMjo1ODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IERvbid0IGxvb2sgZm9yIGEgc2Vjb25kIHN5bmN3b3JkCgkgIFRoZXJlIGFyZSBzdHJlYW1zIG91dCB0aGVyZSB0aGF0IGNvbnNpc3RlbnRseSBjb250YWluIGdhcmJhZ2UgYmV0d2VlbgoJICBldmVyeSBmcmFtZSBzbyB3ZSBuZXZlciBldmVyIGZpbmQgYSBzZWNvbmQgY29uc2VjdXRpdmUgc3luY3dvcmQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjM3CgoyMDE1LTA4LTE1IDExOjEyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA4ZW5jLCB2cDllbmM6IHJlc2V0IG11bHRpcGFzcyBmaWxlIGluZGV4IHdoZW4gc3RvcHBpbmcgZW5jb2RlcgoJICBGaXhlcyBtdWx0aXBhc3MgZW5jb2Rpbmcgd2hlbiByZS11c2luZyB0aGUgc2FtZSBlbGVtZW50L3BpcGVsaW5lCgkgIGZvciBzdWJzZXF1ZW50IGVuY29kaW5nIHJ1bnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MjgKCjIwMTUtMDgtMTUgMTE6MDk6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJICB2cDllbmM6IHByb3ZpZGUgc3VwcG9ydCBmb3IgbXVsdGlwbGUgcGFzcyBjYWNoZSBmaWxlcwoJICBTb21lIGZpbGVzIG1heSBwcm92aWRlIGRpZmZlcmVudCBjYXBzIGluc2lnaHQgb2Ygb25lIHN0cmVhbS4gU2luY2UKCSAgdnA5ZW5jIHN1cHBvcnQgY2FwcyByZWluaXQsIHdlIHNob3VsZCBzdXBwb3J0IGNhY2hlIHJlaW5pdCB0b28uCgkgIElmIG1vcmUgdGhlbiBmaWxlIGNhY2hlIGZpbGUgd2lsbCBiZSBjcmVhdGVkLCB0aGUgbmFtaW5nIHdpbGwgYmU6CgkgIGNhY2hlIGNhY2hlLjEgY2FjaGUuMiAuLi4KCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9sZWtzaWogUmVtcGVsIDxsaW51eEByZW1wZWwtcHJpdmF0LmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzI4CgoyMDE1LTA4LTE0IDExOjQxOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICB0ZXN0czogYWFjcGFyc2U6IHVzZSBjYXBzIHF1ZXJ5IGluc3RlYWQgb2YgYWNjZXB0LWNhcHMKCSAgVGhlIGFjY2VwdC1jYXBzIHF1ZXJ5IGp1c3QgZG9lcyBhIHNoYWxsb3cgY2hlY2sgYXQgdGhlIGN1cnJlbnQKCSAgZWxlbWVudCB3aGlsZSBhdCB0aGlzIHRlc3Qgd2Ugd2FudCBpdCB0byBhbHNvIGxvb2sgYXQgZG93bnN0cmVhbS4KCSAgU28gdXNlIGNhcHMgcXVlcnkgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjMKCjIwMTUtMDgtMTQgMTE6NDA6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZW5hYmxlIGFjY2VwdC10ZW1wbGF0ZSBmbGFnCgkgIERvIGEgcXVpY2sgY2hlY2sgd2l0aCB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgYXMgaXQgaXMgZW5vdWdoLiBVc2VycwoJICBzaG91bGQgaGF2ZSBmaWd1cmVkIHRoZSBhcHByb3ByaWF0ZSBmdWxsIGNhcHMgb24gYSBwcmV2aW91cyBjYXBzIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjMKCjIwMTUtMDgtMTQgMTU6NDY6NTMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2VuZCB0aGUgVXNlci1BZ2VudCBoZWFkZXIKCSAgU29tZXRpbWVzIGl0IGlzIHVzZWZ1bCB0byBrbm93IHRoaXMgaW5mb3JtYXRpb24gb24gdGhlCgkgIHNlcnZlciBzaWRlLiBPdGhlciBwb3B1bGFyIGltcGxlbWVudGF0aW9ucyAodmxjLCBmZm1wZWcsIC4uLikKCSAgYWxzbyBzZW5kIHRoaXMgaGVhZGVyIG9uIGV2ZXJ5IG1lc3NhZ2UuCgkgIFRoaXMgaW5jbHVkZXMgYSBuZXcgInVzZXItYWdlbnQiIHByb3BlcnR5IHRoYXQgdGhlIHVzZXIKCSAgY2FuIHNldCB0byB1c2UgYSBjdXN0b20gVXNlci1BZ2VudCBzdHJpbmcuIFRoZSBkZWZhdWx0CgkgIGlzICJHU3RyZWFtZXIvPHZlcnNpb24+IgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTAxCgoyMDE1LTA4LTE0IDE1OjQyOjQyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB3cmFwIGdzdF9ydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0IGluIGEgbG9jYWwgZnVuY3Rpb24KCSAgVGhpcyB3aWxsIGFsbG93IGFkZGluZyBjb21tb24gcmVxdWVzdCBpbml0aWFsaXphdGlvbiwgbGlrZSB0aGUKCSAgdXNlciBhZ2VudCBzdHJpbmcsIGluIGp1c3Qgb25lIHBsYWNlLgoKMjAxNS0wOC0xNCAwOTozNjowOSArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IG1ha2Ugc3VyZSBidWZmZXIgZ2V0cyByZWFsbG9jYXRlZCBpZiBtYXhfZGVsYXkgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDkwCgoyMDE1LTA3LTA5IDA5OjUxOjI2ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8bGludXhAcmVtcGVsLXByaXZhdC5kZT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogcHJvdmlkZSBzdXBwb3J0IGZvciBtdWx0aXBsZSBwYXNzIGNhY2hlIGZpbGVzCgkgIFNvbWUgZmlsZXMgbWF5IHByb3ZpZGUgZGlmZmVyZW50IGNhcHMgaW5zaWdodCBvZiBvbmUgc3RyZWFtLiBTaW5jZSB2cDhlbmMKCSAgc3VwcG9ydCBjYXBzIHJlaW5pdCwgd2Ugc2hvdWxkIHN1cHBvcnQgY2FjaGUgcmVpbml0IHRvby4KCSAgSWYgbW9yZSB0aGVuIGZpbGUgY2FjaGUgZmlsZSB3aWxsIGJlIGNyZWF0ZWQsIHRoZSBuYW1pbmcgd2lsbCBiZToKCSAgY2FjaGUKCSAgY2FjaGUuMQoJICBjYWNoZS4yCgkgIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzI4CgoyMDE1LTA0LTE1IDIyOjUxOjUxICswMjAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGZpeCB0aW1lc3RhbXBzIGZvciBSVFAgcGFja2V0cyB3aXRoIG11bHRpcGxlIEFVcwoJICBVc2UgY29uc3RhbnREdXJhdGlvbiB0byBjYWxjdWxhdGUgdGhlIHRpbWVzdGFtcCBvZiBub24tZmlyc3QgQVUgaW4gdGhlCgkgIFJUUCBwYWNrZXQuCgkgIElmIGNvbnN0YW50RHVyYXRpb24gaXMgbm90IHByZXNlbnQgaW4gdGhlIE1JTUUgcGFyYW1ldGVycywgaXRzIHZhbHVlCgkgIG11c3QgYmUgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdGltaW5nIGluZm9ybWF0aW9uIGZyb20gdHdvIGNvbnNlY3V0aXZlCgkgIFJUUCBwYWNrZXRzIHdpdGggQVUtSW5kZXggZXF1YWwgdG8gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg4MQoKMjAxNS0wOC0xNCAwNjo0MzoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBpZiwgZ19mcmVlIGlzIG51bGwgc2FmZQoKMjAxNS0wOC0xNCAwODozMzo1NiArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFkZCBwcm9wZXJ0eSB0byBzZXQgSFRUUCBtZXRob2QKCSAgVG8gYWxsb3cgc291cGh0dHBzcmMgdG8gYmUgdXNlIEhUVFAgbWV0aG9kcyBvdGhlciB0aGFuIEdFVAoJICAoZS5nLiBIRUFEKSwgYWRkIGEgIm1ldGhvZCIgcHJvcGVydHkgdGhhdCBpcyBhIHN0cmluZy4gSWYgdGhpcwoJICBwcm9wZXJ0eSBpcyBub3Qgc2V0LCBHRVQgaXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxMwoKMjAxNS0wOC0xNCAxMToxMzowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIGNoZWNrOiBSZW5hbWUgc3RhdGVzIHVuaXQgdGVzdAoJICBNYWtlcyBpdCBlYXNpZXIgdG8gZGlmZmVyZW50aWF0ZSBmcm9tIG90aGVyIG1vZHVsZXMgc3RhdGVzIHVuaXQgdGVzdAoKMjAxNS0wOC0xNCAwOToyMToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBnb29tOiBSZW5hbWUgZ2V0X3R5cGUoKSBmdW5jdGlvbiBvZiBiYXNlIGNsYXNzIHRvIHByZXZlbnQgc3ltYm9sIGNvbmZsaWN0cwoJICBUaGlzIGlzIGEgcHJvYmxlbSB3aGVuIHN0YXRpY2FsbHkgbGlua2luZy4KCjIwMTUtMDgtMTMgMTY6MzI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBLZWVwIHRoZSBEVFMgZXN0aW1hdGUgaWYgd2UgZ290IG5vIERUUyBhZnRlciBhIGppdHRlcmJ1ZmZlciByZXNldAoJICBPdGhlcndpc2Ugd2Ugd2lsbCBqdXN0IG91dHB1dCBidWZmZXJzIHdpdGhvdXQgdGltZXN0YW1wcyBhZnRlciBhIHJlc2V0IGlmIG5vCgkgIHRpbWVzdGFtcHMgYXJlIHByb3ZpZGVkIGJ5IHVwc3RyZWFtLCBlLmcuIHdoZW4gdXNpbmcgUlRTUCBvdmVyIFRDUC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wOC0xMiAxNzoxNjowMSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkgIG1hdHJvc2thOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM1NTYKCjIwMTUtMDgtMTIgMDA6MTg6MjAgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IGZpeCBtb3Rpb24gZXZlbnQgbmFtZQoJICBzL21vdGlvbi9tb3VzZS8KCSAgRml4ZXMgaG92ZXIgaW50ZXJhY3Rpb24gd2l0aCBEVkQgbWVudXMKCjIwMTUtMDgtMTIgMDA6MTQ6MTQgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IGNvcnJlY3QgbmF2aWdhdGlvbiBldmVudHMgZm9yIHdpbmRvdyBzY2FsaW5nCgkgIGkuZS4gdGFrZSBpbnRvIGFjY291bnQgdGhlIHBvc3NpYmxpdHkgb2Ygc2NhbGluZyBpbiB0aGUgc2luawoJICBvciB0aHJvdWdoIEdES19TQ0FMRS4KCSAgRml4ZXMgRFZEIE1lbnVzIHdpdGggYSBzY2FsZWQgZ3Rrd2lkZ2V0CgoyMDE1LTA4LTExIDEzOjM0OjU5ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSAgZ3RrOiBpbXBsZW1lbnQgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UKCSAgTm93IHdlIGNhbiBwdXNoIGtleS9tb3VzZSBpbnB1dCBpbnRvIHRoZSBwaXBlbGluZSBmb3IgRFZEIHVzZSBjYXNlcy4KCjIwMTUtMDgtMDQgMjA6NTk6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuYzoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogQ29weSBtZXRhZGF0YSBpbiB0aGUgKGRlKXBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQKCSAgdGFncyBvciB3aXRoIG9ubHkgdGhlIHZpZGVvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xMCAxODoyMDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzbWFsbCB0eXBvIGluIGNvbW1lbnQKCjIwMTUtMDgtMTAgMTY6MTk6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMS9kb2M6IEZpeHVwIHByZXZpb3VzIGNvbW1pdAoKMjAxNS0wOC0xMCAxNTo1NToxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxL2RvYzogVXNlIEdzdEdvb20yazEgbmFtZXNwYWNlCgkgIFRoZSBkb2MgZ2VuZXJhdG9yIGlzbid0IGhhcHB5IHdoZW4gd2UgaGF2ZSBjbGFzcyBuYW1lIGNsYXNoLiBTaW1wbHkKCSAgdXNlIGl0J3Mgb3duIG5hbWVzcGFjZS4KCjIwMTUtMDgtMTAgMTc6MTA6NDIgKzA1MzAgIFByYXNoYW50IEdvdGFybmUgPHBzLmdvdGFybmVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiByZW1vdmVkIHVudXNlZCB2YXJpYWJsZSBpbiBzZXRfcHJvcGVydHkKCSAgdW51c2VkIGxvY2FsIHZhcmlhYmxlICdkZWxheScgaXMgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ1MAoKMjAxNS0wOC0xMCAxMjo0NToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc3Vib3B0aW1hbCBxdWV1ZSBpdGVyYXRpb24gY29kZQoKMjAxNS0wOC0wOSAxNzoyNTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCB1c2UgZ2xpYiAyLjQ0LW9ubHkgQVBJCgoyMDE1LTA3LTI5IDE0OjE0OjUwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgSVNPQk1GRiBDb21tb24gRW5jcnlwdGlvbgoJICBUaGlzIGNvbW1pdCBhZGRzIHN1cHBvcnQgZm9yIElTT0JNRkYgQ29tbW9uIEVuY3J5cHRpb24gKGNlbmMpLCBhcwoJICBkZWZpbmVkIGluIElTTy9JRUMgMjMwMDEtNy4gSXQgdXNlcyBhIEdzdFByb3RlY3Rpb24gZXZlbnQgdG8KCSAgcGFzcyB0aGUgY29udGVudHMgb2YgUFNTSCBib3hlcyB0byBkb3duc3RyZWFtIGRlY3J5cHRvciBlbGVtZW50cwoJICBhbmQgYXR0YWNoZWQgR3N0UHJvdGVjdGlvbk1ldGEgdG8gZWFjaCBzYW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTEKCjIwMTUtMDgtMTAgMTQ6MTM6NTAgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBjaGVja2luZyBpZiBkZXBheSBoYXMgc3BzL3BwcyBuYWxzIGJlZm9yZSBpbnNlcnRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQzMAoKMjAxNS0wOC0wOCAxNjo0NDo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBvdXRkYXRlZCBjb21tZW50CgkgIFRoZSBkZWZhdWx0IGJlaGF2aW91ciB3YXMgY2hhbmdlZCBpbiB0aGUgMC4xMCAtPiAxLngKCSAgdHJhbnNpdGlvbiwgYnV0IHRoZSBjb21tZW50IHdhcyBub3QgdXBkYXRlZC4KCjIwMTUtMDgtMDggMTc6NDI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IElmIGZsdXNoaW5nIGEgcGFja2V0IGZhaWxlZCwgZ28gb3V0IG9mIHRoZSBsb29wIGltbWVkaWF0ZWx5CgoyMDE1LTA4LTA4IDE3OjQxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBJZiBmbHVzaGluZyBhIHBhY2tldCBmYWlsZWQsIGdvIG91dCBvZiB0aGUgbG9vcCBpbW1lZGlhdGVseQoKMjAxNS0wOC0wOCAxNzozNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkgIHJ0cHRoZW9yYXBheTogRXh0cmFjdCBwaXhlbCBmb3JtYXQgZnJvbSB0aGUgaWRlbnQgaGVhZGVyIHRvIHB1dCBpdCBpbnRvIHRoZSBzYW1wbGluZyBmaWVsZCBvZiB0aGUgY2FwcwoJICBXZSBhbHdheXMgcHV0IDQ6MjowIGludG8gdGhlIGNhcHMgYmVmb3JlLCB3aGljaCBvYnZpb3VzbHkgaXMgd3JvbmcgZm9yIDQ6MjoyCgkgIGFuZCA0OjQ6NCBmb3JtYXRzLgoKMjAxNS0wOC0wOCAxNzoyODowMyArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogaW1wbGVtZW50IHRoZSByZXF1aXJlZCBtdWx0aXBsZSBHTCBjb250ZXh0IHN5bmNob25pc2F0aW9uCgkgIEZyb20gR1N0cmVhbWVyJ3MgR0wgY29udGV4dCBpbnRvIHRoZSBRTUwgY29udGV4dAoKMjAxNS0wOC0wNiAxNzo0NjoxMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuYzoKCSAgcnRwa2x2KGRlKXBheTogYWRkICJSVFAiIGluIHRoZSBrbGFzcyBzdHJpbmcKCSAgR3N0UlRTUE1lZGlhIHVzZXMgdGhpcyBjbGFzc2lmaWNhdGlvbiB0byBkZXRlY3QgdGhlIHJlYWwgcGF5bG9hZGVyCgkgIGluc2lkZSBhIGR5bnBheSBiaW4gYW5kIGFzc2VydHMgaWYgaXQgZG9lc24ndCBmaW5kIGl0LCB0aGVyZWZvcmUKCSAgaXQgaXMgcmVxdWlyZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzMyNQoKMjAxNS0wOC0wNSAxMToxMzowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIHRlc3RzOiBydHBhdXg6IHVzZSBhIGR5bmFtaWMgcHQgaW4gdGhlIHRlc3QKCSAgMSkgVGVzdHMgdGhhdCB1c2luZyBkeW5hbWljIFBUIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgb25lcyB3b3JrCgkgIDIpIElmIHdlIGV2ZXIgZGVjaWRlIHRvIGNoYW5nZSB0aGUgY29kZWMgaGVyZSB3ZSBkb24ndCBuZWVkIHRvCgkgIHdvcnJ5IGFib3V0IGNoYW5nZSB0aGUgUFQgZm9yIHRoZSBkZWZhdWx0IG9uZSBvZiB0aGUgbmV3IGNvZGVjCgkgIGluIHRoZSB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY0NDUKCjIwMTUtMDgtMDUgMTA6NTM6MTUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBwcmludCB2YWxpZCB0eXBlIHdoZXJlIGd1aW50MzIgaXMgZXhwZWN0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjQ0NQoKMjAxNS0wOC0wNiAxMTozMzozNyArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICBydHBwYXlsb2FkOiBzZXQgc3RhbmRhcmQgcGF5bG9hZCB0eXBlIGFzIGRlZmF1bHQKCSAgSW5pdGlhbGl6ZSB0aGUgUFQgdG8gdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIGNvZGVjIGFuZCBjaGVjayBpZgoJICBpdCBpcyBzdGlsbCB0aGUgZGVmYXVsdCBiZWZvcmUgZGVjbGFyaW5nIHRoZSBwdCB0byBiZSBkeW5hbWljIG9yCgkgIG5vdCB3aGVuIHNldHRpbmcgdGhlIGNhcHMuCgkgIEFsc28gdXNlIHRoZSBQVCBjb25zdGFudHMgZnJvbSB0aGUgcnRwIGxpYiB3aGVuIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5NjUKCjIwMTUtMDctMjYgMTI6MDc6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdG9yZSB0aGUgbW9vZi1vZmZzZXQgYWxzbyBmb3IgcHVzaCBtb2RlCgkgIEl0IHdpbGwgYmUgdXNlZCBpbiBzb21lIGNhc2VzIGZvciBnZXR0aW5nIHRoZSBjb3JyZWN0IG9mZnNldHMKCSAgZnJvbSB0cnVuIGF0b21zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjAzCgoyMDE1LTA3LTI2IDAyOjA5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogaGFuZGxlIGRlZmF1bHQtYmFzZS1pcy1tb29mIGZsYWcKCSAgSGFuZGxlIHRoZSBmbGFnIGZyb20gdGhlIHRmaGQgdGhhdCBzaWduYWxzIHRoZSBiYXNlIG9mZnNldCB0bwoJICBzdGFydCBmcm9tIHRoZSBtb29mIGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYwMwoKMjAxNS0wNy0yOSAxODo1NDozNSAtMDYwMCAgR2xlbiBEaWVuZXIgPGdyZEBsb2dhbm1pbGwubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2FkZW11eDogUHJlc2VydmUgZm9yd2FyZCByZWZlcmVuY2VkIHRyYWNrIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjg1MAoKMjAxNS0wOC0wNCAxODowNzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIHRlc3RzOiBydHBhdXg6IGZpeCB0ZXN0IGZhaWx1cmUKCSAgVGhlIFJUUCBQVCBmb3IgYWxhdyBpcyA4LgoJICBMZXNzIHRoYW4gNTAgcGFja2V0cyBhcmUgcmVjZWl2ZWQgaW4gdGhlIGxlbmd0aCBvZiB0aGlzIHRlc3Qgc28gaXQKCSAgd291bGQgbmV2ZXIgZHJvcCBhIGJ1ZmZlciBvciB3b3VsZCBkcm9wIG9ubHkgdGhlIGxhc3QgYnVmZmVyIGFuZAoJICBpdCB3b3VsZCBmYWlsIHNvbWV0aW1lcyB3aGVuIHRoZSByZWNlaXZlZCB3b3VsZG4ndCByZWNlaXZlIHRoZQoJICByZXRyYW5zbWlzc2lvbiBwYWNrZXQgaW4gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjQ0NQoKMjAxNS0wOC0wNCAyMDo1OToxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtZGVwYXkuYzoKCSAgcnRwc3RyZWFtZGVwYXk6IE9ubHkgYWxsb3cgYWN0aXZhdGlvbiBpbiBwdXNoIG1vZGUKCSAgV2UgbmVlZCBhIHByb3BlciBjYXBzIGV2ZW50IGZyb20gdXBzdHJlYW0gd2l0aCB0aGUgZnVsbCBSVFAgY2FwcyBhcyB3ZSBjYW4ndAoJICBjcmVhdGUgY2FwcyBvdXJzZWx2ZXMgZnJvbSB0aGluIGFpci4gRml4ZXMgdXNhZ2Ugb2YgcnRwc3RyZWFtZGVwYXkgYWZ0ZXIgZS5nLgoJICBhIGZpbGVzcmMgb3IgYW55IG90aGVyIGVsZW1lbnQgdGhhdCBzdXBwb3J0cyBwdWxsIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwNjYKCjIwMTUtMDgtMDQgMTY6Mjg6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBmaXggdHlwbyBpbiB0cmFuc2xhdGVkIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjQwCgoyMDE1LTA4LTA0IDEyOjI1OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBQdXQgdGhlIHByb2ZpbGUgYW5kIGxldmVsIGludG8gdGhlIGNhcHMKCjIwMTUtMDgtMDQgMTI6MDk6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IE9ubHkgdXBkYXRlIHRoZSBzcmNwYWQgY2FwcyBpZiBzb21ldGhpbmcgZWxzZSB0aGFuIHRoZSBjb2RlY19kYXRhIGNoYW5nZWQKCSAgaDI2NHBhcnNlIGRvZXMgdGhlIHNhbWUsIGxldCdzIGtlZXAgdGhlIGJlaGF2aW91ciBjb25zaXN0ZW50LiBBcyB3ZSBub3cKCSAgaW5jbHVkZSB0aGUgY29kZWNfZGF0YSBpbnNpZGUgdGhlIHN0cmVhbSB0b28gaGVyZSwgdGhpcyBjYXVzZXMgbGVzcyBjYXBzCgkgIHJlbmVnb3RpYXRpb24uCgoyMDE1LTA4LTA0IDExOjQ4OjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBQUFMgcmVwbGFjZXMgYW5kIG9sZCBQUFMgaWYgaXQgaGFzIHRoZSBzYW1lIGlkLCBpbmRlcGVuZGVudCBvZiBTUFMgaWQKCSAgVGhlIHNwZWMgc2F5czoKCSAgV2hlbiBhIHBpY3R1cmUgcGFyYW1ldGVyIHNldCBOQUwgdW5pdCB3aXRoIGEgcGFydGljdWxhciB2YWx1ZSBvZgoJICBwaWNfcGFyYW1ldGVyX3NldF9pZCBpcyByZWNlaXZlZCwgaXRzIGNvbnRlbnQgcmVwbGFjZXMgdGhlIGNvbnRlbnQgb2YgdGhlCgkgIHByZXZpb3VzIHBpY3R1cmUgcGFyYW1ldGVyIHNldCBOQUwgdW5pdCwgaW4gZGVjb2Rpbmcgb3JkZXIsIHdpdGggdGhlIHNhbWUKCSAgdmFsdWUgb2YgcGljX3BhcmFtZXRlcl9zZXRfaWQgKHdoZW4gYSBwcmV2aW91cyBwaWN0dXJlIHBhcmFtZXRlciBzZXQgTkFMIHVuaXQKCSAgd2l0aCB0aGUgc2FtZSB2YWx1ZSBvZiBwaWNfcGFyYW1ldGVyX3NldF9pZCB3YXMgcHJlc2VudCBpbiB0aGUgYml0c3RyZWFtKS4KCjIwMTUtMDgtMDMgMTM6NDU6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogcmVtb3ZlIGV4dHJhIFxuIGF0IGRlYnVnIG1lc3NhZ2UKCjIwMTUtMDgtMDMgMTM6NDI6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogcHJldmVudCBkZWFkbG9jayB3aGVuIHN0YXRlcyBjaGFuZ2UgdG9vIGZhc3QKCSAgSWYgdGhlIEdPUCBpcyBjb21wbGV0ZWQsIHBhZHMgaGF2ZSB0byBzdGFydCBnYXRoZXJpbmcgZm9yIHRoZQoJICBuZXh0IG9uZSBidXQgaXQgaXMgcG9zc2libGUgdGhhdCB0aGUgdGhlIHN0YXRlIG1pZ2h0IGdvIHRvCgkgIENPTExFQ1RJTkdfR09QX1NUQVJUIGFuZCBiYWNrIHRvIFdBSVRJTkdfR09QX0NPTVBMRVRFIGJlZm9yZSB0aGUKCSAgdGhyZWFkIGhhcyBhIGNoYW5jZSB0byB3YWtlIHVwIGFuZCBwcm9jZWVkLCBsZWF2aW5nIGl0IHRyYXBwZWQgaW4KCSAgdGhlIGNoZWNrX2NvbXBsZXRlZF9nb3AgbG9vcCBhbmQgZGVhZGxvY2tpbmcgdGhlIG90aGVyIHRocmVhZHMKCSAgd2FpdGluZyBmb3IgaXQgdG8gYWR2YW5jZS4KCSAgVG8gc29sdmUgaXQsIHRoaXMgcGF0Y2ggYWxzbyBjaGVja3MgdGhhdCB0aGEgaW5wdXQgcnVubmluZyB0aW1lCgkgIGhhc24ndCBjaGFuZ2VkIHRvIHByZXZlbnQgdGhpcyBzY2VuYXJpby4KCjIwMTUtMDgtMDMgMTc6NTU6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IEluc2VydCBTUFMvUFBTIE5BTHMgaW50byB0aGUgc3RyZWFtCgkgIGgyNjRwYXJzZSBkb2VzIHRoZSBzYW1lIGFuZCB0aGlzIGZpeGVzIGRlY29kaW5nIG9mIHNvbWUgc3RyZWFtcyB3aXRoIDMyIFNQUwoJICAob3IgMjU2IFBQUykuIEl0IGlzIGFsbG93ZWQgdG8gaGF2ZSBTUFMgSUQgMCB0byAzMSAob3IgUFBTIElEIDAgdG8gMjU1KSwgYnV0CgkgIHRoZSBmaWVsZCBpbiB0aGUgY29kZWNfZGF0YSBmb3IgdGhlIG51bWJlciBvZiBTUFMgb3IgUFBTIGlzIG9ubHkgNSAob3IgOCkgYml0LgoJICBBcyBzdWNoLCAzMiBTUFMgKG9yIDI1NiBQUFMpIGFyZSBpbnRlcnByZXRlZCBhcyAwIGV2ZXJ5d2hlcmUuCgkgIFRoaXMgbG9va3MgbGlrZSBhIG1pc3Rha2UgaW4gdGhlIHBhcnQgb2YgdGhlIHNwZWMgYWJvdXQgdGhlIGNvZGVjX2RhdGEuCgoyMDE1LTA3LTMwIDExOjI5OjI3ICswOTAwICBFdW5oYWUgQ2hvaSA8ZXVuaGFlMS5jaG9pQHNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGhhbmRsZSBlbXB0eSBodHRwIHByb3h5IHN0cmluZwoJICAxKSBJZiB0aGUgc3lzdGVtIGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IHNldAoJICBvciBzZXQgdG8gYW4gZW1wdHkgc3RyaW5nLCB3ZSBtdXN0IG5vdCBzZXQgcHJveHkgdG8gYXZvaWQKCSAgaHR0cCBjb25uZWN0aW9uIGVycm9yLgoJICAyKSBJbiBjYXNlIG9mIHByb3h5IHByb3BlcnR5IHNldHRpbmcsIGlmIHVzZXIgd2FudCB0byBjbGVhcgoJICB0aGUgcHJveHkgc2V0dGluZywgdGhleSBzaG91bGQgYmUgYWJsZSB0byBzZXQgaXQgdG8gTlVMTCBvcgoJICBhbiBlbXB0eSBzdHJpbmcgYWdhaW4sIHNvIHRoaXMgaXMgZml4ZWQgdG9vLgoJICAzKSBDaGVjayBpZiB0aGUgcHJveHkgc3RyaW5nIHdhcyBwYXJzZWQgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODY2CgoyMDE1LTA3LTI5IDE1OjQ2OjIwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAnZnJhbWVjb3VudCcgZnJvbSBkdmRlbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMDgKCjIwMTUtMDctMzAgMTU6MzI6MDkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFzc2VydGlvbiBlcnJvciBkdWUgdG8gd3JvbmcgY29uZGl0aW9uIGNoZWNrCgkgIEluIG1lZGlhIHRvIGNhcHMgZnVuY3Rpb24sIHJlc2VydmVkX2tleXMgYXJyYXkgaXMgYmVpbmcgdXNlZCBmb3IgdmFyaWFibGUgaSwKCSAgbGVhZGluZyB0byBHTGliLUNSSVRJQ0FMICoqOiBnX2FzY2lpX3N0cmNhc2VjbXA6IGFzc2VydGlvbiAnczEgIT0gTlVMTCcgZmFpbGVkCgkgIGNoYW5nZWQgaXQgdG8gdmFyaWFibGUgagoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDA5CgoyMDE1LTA3LTMwIDE1OjIxOjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgcnRwbXA0dmRlcGF5OiBydHBidWZmZXIgaXMgYmVpbmcgdW5yZWYnZWQgdHdpY2UKCSAgcHJvY2Vzc19ydHBfcGFja2V0IGRvZXNuJ3QgdHJhbnNmZXIgdGhlIHJ0cCBidWZmZXIgdG8gbXA0dl9wcm9jZXNzX2RlcGF5CgkgIHRoZSByZWZlcm5jZSBzaG91bGQgbm90IGJlIHJlbW92ZWQgaGVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDQyCgoyMDE1LTA3LTI5IDExOjI2OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBTdHJpcCBrZXlzIGZyb20gdGhlIGZtdHAgdGhhdCB3ZSB1c2UgaW50ZXJuYWxseSBpbiBvdXIgY2FwcwoJICBTa2lwIGtleXMgZnJvbSB0aGUgZm10cCwgd2hpY2ggd2UgYWxyZWFkeSB1c2Ugb3Vyc2VsdmVzIGZvciB0aGUKCSAgY2Fwcy4gU29tZSBzb2Z0d2FyZSBpcyBhZGRpbmcgcmFuZG9tIHRoaW5ncyBsaWtlIGNsb2NrLXJhdGUgaW50bwoJICB0aGUgZm10cCwgYW5kIHdlIHdvdWxkIG90aGVyd2lzZSBoZXJlIHNldCBhIHN0cmluZy10eXBlZCBjbG9jay1yYXRlCgkgIGluIHRoZSBjYXBzLi4uIGFuZCB0aHVzIGZhaWwgdG8gY3JlYXRlIHZhbGlkIFJUUCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMDkKCjIwMTUtMDctMjkgMTk6Mjg6MzMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBTdXBwb3J0IG1wZWd0c211eCBhcyBhIG11eGVyLgoJICBBcyBhIGZhbGxiYWNrLCBsb29rIGZvciBhIHBhZCB0ZW1wbGF0ZSBzaW5rXyVkIG9uCgkgIHRoZSBtdXhlciB3aGVuIHJlcXVlc3RpbmcgcGFkcywgdG8gc3VwcG9ydCBtcGVndHNtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjk5OQoKMjAxNS0wNi0yNSAwMTozNToyNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5oOgoJICBzcGxpdG11eHNyYzogVXNlIGEgc2VwYXJhdGUgbG9jayB0byBkZWxheSB0eXBlZmluZC4KCSAgRG9uJ3QgaG9sZCB0aGUgbWFpbiBzcGxpdG11eCBwYXJ0IGxvY2sgb3ZlcgoJICB0aGUgcGFyZW50IHN0YXRlIGNoYW5nZSBmdW5jdGlvbiwgYXMgaXQgcHJldmVudHMKCSAgcG9zdGluZyBlcnJvciBtZXNzYWdlcyB0aGF0IGhhcHBlbi4gU2luY2UgdGhlIHB1cnBvc2UKCSAgaXMgdG8gcHJldmVudCB0eXBlZmluZGluZyBmcm9tIHByb2NlZWRpbmcsIHVzZSBhCgkgIHNlcGFyYXRlIG11dGV4IGp1c3QgZm9yIHRoYXQuCgoyMDE1LTA3LTI5IDEzOjQzOjUwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBmaXggbWVtb3J5IGxlYWsKCSAgQWZ0ZXIgYWRkaW5nIHRvIHRhZyBsaXN0LCBrZXlfdmFsIGlzIG5vdCBiZWluZyBmcmVlJ2QKCSAgcmVzdWx0aW5nIGluIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5OTIKCjIwMTUtMDctMjcgMTM6MzQ6MTQgKzA5MDAgIE1hbmFzYSBBdGhyZXlhIDxtYW5hc2EuYXRocmV5YUBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCAxNi1iaXQgUENNIGF1ZGlvIGFkdmVydGlzZWQgd2l0aCAncmF3ICcgZm91cmNjCgkgICdOT05FJyBhbmQgJ3JhdyAnIGZvdXJjYyBkb24ndCBhbHdheXMgY29udGFpbiBVOCBhdWRpbywgaXQgY2FuCgkgIGJlIG1vcmUgYml0cyBhcyB3ZWxsLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBsaWtlICd0d29zJy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYxMwoKMjAxNS0wNy0yNCAxNToxMDowNSArMDIwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogQWxsb3cgZnJhbWVyYXRlIHRvIGJlIGxhcmdlIHRoZW4gMTAwcGZzCgkgIFRoaXMgbGltaXQgd2FzIGFyYml0cmFyeS4gV2Ugc3RpbGwgZml4YXRlIG5lYXIgMTAwcGZzIGZvciBjb21wYXRpYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODI1CgoyMDE1LTA3LTI1IDAzOjI1OjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTdG9wIHdpdGhvdXQgcG9zdGluZyBlcnJvciBvbiBmbHVzaGluZwoJICBUaGlzIGNvdWxkIGp1c3QgYmUgYSBub3JtYWwgcGlwZWxpbmUgc2h1dGRvd24uCgoyMDE1LTA3LTIzIDE1OjAwOjA4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBzZXQgR1NUX0JVRkZFUl9DT1BZX0ZMQUdTIHRvIGNvcHkgZmxhZ3MgYWxzbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjE4CgoyMDE1LTA3LTIyIDE1OjEzOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogRG9uJ3QgZGlzdCBmaWxlcyB0aGF0IG1pZ2h0IG5vdCBleGlzdAoJICBXZSBvbmx5IHJlcXVpcmUgbW9jIGJ1aWxkaW5nIGF0IGJ1aWxkIHRpbWUuCgoyMDE1LTA3LTIyIDA4OjA1OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogVGlkeSB1cCBtYWtlZmlsZSBhIGJpdCBtb3JlCgkgIFNlcGFyYXRlIGdlbmVyYXRlZCBmaWxlcywgZnJvbSBkaXN0ZWQgZmlsZXMKCjIwMTUtMDctMjEgMTE6MjM6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBnc3RnbHdpZGdldDogdXNlIGdzdF9nbF9kaXNwbGF5X2NyZWF0ZV9jb250ZXh0CgkgIEFsc28gaGFuZGxlIHRoZSBmYWlsdXJlIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMTYgMTg6MDk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FkZW11eC5jOgoJICB0ZXN0czogYWRkIG1pbm1hbCBtYXRyb3NrYWRlbXV4IHRlc3QgZm9yIHN1YnRpdGxlIG91dHB1dAoJICBTb21lIG9mIHRoZSBzdWJ0aXRsZSBjaHVua3Mgd2lsbCBoYXZlIGVtYmVkZGVkCgkgIE5VTC10ZXJtaW5hdG9ycyAobGFzdCB0aHJlZSksIHNvbWUgZG9uJ3QgKGZpcnN0IHRocmVlKSwKCSAgc29tZSB3aWxsIGhhdmUgbWFya3VwLCBzb21lIHdvbid0LCBzb21lIHdpbGwgYmUgdmFsaWQKCSAgVVRGLTggKGFsbCBidXQgbGFzdCksIHNvbWUgd29uJ3QgKGxhc3Qgc3RhbnphKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyMQoKMjAxNS0wNy0xNiAxODo0OToyNiArMDMwMCAgRGltaXRyaW9zIENocmlzdGlkaXMgPGRjaHJpc3RpZGlzQG15a29sYWIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBmb3Igc3VidGl0bGUgYnVmZmVycyB3aXRoIE5VTCB0ZXJtaW5hdG9ycwoJICBDb21taXQgNDU4OTJlYzggY3JlYXRlZCBhIHJlZ3Jlc3Npb24gd2hlcmUgZ191dGY4X3ZhbGlkYXRlKCkgd291bGQgZmFpbAoJICBpZiB0aGUgc3VidGl0bGUgYnVmZmVyIGhhZCBhIE5VTCB0ZXJtaW5hdG9yIGFzIHBhcnQgb2YgdGhlIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MjEKCjIwMTUtMDctMjEgMTM6MzE6MDUgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogQ2hlY2sgYXZhaWxhYmxlIGJ5dGVzIGJlZm9yZSBjb3B5CgkgIE5lZWQgdG8gY2hlY2sgdGhhdCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdlIHdhbnQgdG8gY29weSBmcm9tIHRoZSBhZGFwdGVyCgkgIGFjdHVhbGx5IGlzIGF2YWlsYWJsZSBhbmQgaGFuZGxlIHRoZSBlcnJvciBjYXNlIGdyYWNlZnVsbHkuIFRoaXMgZXJyb3IKCSAgbWF5IGhhcHBlbiBpZiBtYWxmb3JtZWQgcGFja2V0cyBhcmUgcmVjZWl2ZWQgYW5kIHdlIGRvbid0IGhhdmUgYQoJICBjb21wbGV0ZSBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY2MwoKMjAxNS0wNy0xNiAwOTozMjozNiArMDkwMCAgUGF1bCBIeXVuaWwgPHBhdWwuaHl1bmlsQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU3VwcG9ydCBzdWJ0aXRsZSB3aGVuIHRyYWNrIHN1YnR5cGUgaXMgZm91cmNjX3N1YnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY1NQoKMjAxNS0wNy0yMCAxNjo1OTo0MCArMDgwMCAgU29uZyBCaW5nIDxiMDY0OThAZnJlZXNjYWxlLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBTZXQgdGltZXN0YW1wIHdoZW4gcXVldWUgYnVmZmVyLgoJICBTaG91bGQgc2V0IHRpbWVzdGFtcCB3aGVuIHF1ZXVlIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYxOAoKMjAxNS0wNy0yMCAxMTowOToyMCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IExvZyBHREsgR0wgZXJyb3Igd2hlbiBmYWlsbGluZyBjcmVhdGluZyBHZGtHTENvbnRleHQKCjIwMTUtMDctMTggMTc6MTk6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIGdsY29udGV4dDogZml4IGdldF9jdXJyZW50X2dsX2FwaSBvbiB4MTEvbnZpZGlhIGRyaXZlcnMKCSAgVGhleSByZXF1aXJlIHRvIGdldF9wcm9jX2FkZHJlc3Mgc29tZSBmdW5jdGlvbnMgdGhyb3VnaCB0aGUKCSAgcGxhdGZvcm0gc3BlY2lmaWMge2dsWCxlZ2x9R2V0UHJvY0FkZHJlc3MgcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQKCSAgR0wgbGlicmFyeSBzeW1ib2wgbG9va3VwLgoKMjAxNS0wNy0xOCAxNzoxOToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBnbGNvbnRleHQ6IGZpeCBnZXRfY3VycmVudF9nbF9hcGkgb24geDExL252aWRpYSBkcml2ZXJzCgkgIFRoZXkgcmVxdWlyZSB0byBnZXRfcHJvY19hZGRyZXNzIHNvbWUgZnVuY3Rpb25zIHRocm91Z2ggdGhlCgkgIHBsYXRmb3JtIHNwZWNpZmljIHtnbFgsZWdsfUdldFByb2NBZGRyZXNzIHJhdGhlciB0aGFuIHRoZSBkZWZhdWx0CgkgIEdMIGxpYnJhcnkgc3ltYm9sIGxvb2t1cC4KCjIwMTUtMDctMTcgMTY6MDA6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ3N0Z2x3aWRnZXQ6IENsZWFudXAgdW51c2VkIHByaXZhdGUgbWVtYmVyCgkgIG5ld19idWZmZXIgaGFzIGJlZW4gbW92ZWQgdG8gYmFzZSBjbGFzcy4gQWxzbyBjbGVhbnVwCgkgIHRoZSBwcm9wZXJ0aWVzIGNvbW1lbnQsIHdoaWNoIGFyZSBhbHNvIGFsbCBtb3ZlZCBpbnRvCgkgIHRoZSBiYXNlIGNsYXNzLgoKMjAxNS0wNy0xNyAxNTo1NzozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtzaW5rOiAid2lkZ2V0IiBtdXN0IGJlIGFjY2VzcyBmcm9tIG1haW4gdGhyZWFkCgkgIERvY3VtZW50IHRoYXQgIndpZGdldCIgcHJvcGVydHkgbXVzdCBiZSBhY2Nlc3NlZCBmcm9tIHRoZQoJICBtYWluIHRocmVhZCAod2hlcmUgR1RLIGlzIHJ1bm5pbmcpLiBUaGlzIGlzIHRoZSBzYW1lIGZvcgoJICBzdGF0ZSB0cmFuc2l0aW9uIG9uIHRoZXNlIGVsZW1lbnRzLiBJdCBpcyB2ZXJ5IG5hdHVyYWwgdG8KCSAgZG8gc28gdW4gR1RLIGFwcGxpY2F0aW9ucy4KCjIwMTUtMDctMTcgMTU6MDg6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBEb24ndCBsZWFrIHZlcnRleCBhcnJheSBhbmQgYnVmZmVycwoJICBUaGlzIGlzIG5vdyBwb3NzaWJsZSBzaW5jZSByZXNldCBpcyBhbHdheXMgY2FsbGVkIGZyb20gdGhlCgkgIG1haW4gdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE3IDE0OjM2OjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0a2dzdGJhc2V3aWRnZXQ6IEZpeCBibGFjayBmcmFtZSBvbiByZXNpemUKCSAgVGhpcyBpcyBzb2x2ZWQgYnkgb25seSBhcHBseWluZyB0aGUgbmV3IGZvcm1hdCB3aGVuIHRoZSBuZXh0CgkgIGJ1ZmZlciBpcyB0byBiZSByZW5kZXJlZCBhbmQgb24gdGhlIEdUSyB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTcgMTM6MDU6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJICBndGtnc3RiYXNld2lkZ2V0OiBQYXNzIGFscmVhZHkgcGFyc2VkIFZpZGVvSW5mbwoJICBBcyB0aGUgYmFzZSBzaW5rIGFscmVhZHkgcGFyc2UgdGhlIGNhcHMgaW50byBWaWRlb0luZm8gaXQKCSAgbWFrZXMgc2Vuc2UgdG8gcGFzcyBpbiBWaWRlb0luZm8gdG8gdGhlIHdpZGdldCBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE2OjQ5OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJICBndGtnbHNpbms6IFBvcnQgdG8gR3N0R3RrQmFzZVNpbmsgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE2OjAwOjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkgIGd0a3Npbms6IFBvcnQgdG8gR3N0R3RrQmFzZVNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNTo1OTo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmg6CgkgIGd0a2Jhc2VzaW5rOiBDcmVhdGUgYSBiYXNlIGNsYXNzCgkgIFRoaXMgY29udGFpbnMgYWxsIHRoZSBjb21tb24gY29kZSBiZXR3ZWVuIHRoZSBndGtnbHNpbmsgYW5kCgkgIGd0a3NpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTQ6MzA6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5oOgoJICBndGtnbHNpbms6IFBvcnQgdG8gR3RrR3N0QmFzZVdpZGdldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDEyOjU1OjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0Lmg6CgkgIGd0a3Npbms6IFBvcnQgdG8gR3RrR3N0QmFzZVdpZGdldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDEyOjUxOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0azogQWRkIEd0a0dzdEJhc2VXaWRnZXQKCSAgVGhpcyBpcyBhICJwc2V1ZG8iIGJhc2UgY2xhc3MuIEJhc2ljYWxseSBpdCdzIGEgc2hhcmVkIGluc3RhbmNlCgkgIGFuZCBjbGFzcyBzdHJ1Y3R1cmUgYW5kIGEgc2hhcmVkIHNldCBvZiBmdW5jdGlvbiBiZXR3ZWVuIHRoZQoJICB0d28gd2lkZ2V0LiBJdCBjYW5ub3QgaGF2ZSBpdCdzIG93biB0eXBlIGxpa2Ugbm9ybWFsIGJhc2UgY2xhc3MKCSAgc2luY2UgdGhlIG9uZSBpbnN0YW5jZSB3aWxsIGltcGxlbWVudCBHdGtHTEFyZWEgd2hpbGUgdGhlIG90aGVyCgkgIGltcGxlbWVudHMgR3RrRHJhd2luZ0FyZWF5LiBUbyB3b3JrYXJvdW5kIHRoaXMsIHRoZSBwYXJlbnQgaW5zdGFuY2UKCSAgYW5kIGNsYXNzIGlzIGEgdW5pb24gb2YgYm90aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNSAxNzozNToyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnc3RnbHdpZGdldDogUmVtb3ZlIHVudXNlZCBnbF9jYXBzCgoyMDE1LTA3LTE1IDE2OjU2OjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3Rrc2luazogQ3JlYXRlIGEgd2luZG93IGlmIHRoZSB3aWRnZXQgaXMgdW5wYXJlbnRlZAoJICBUaGUgc2FtZSB3YXkgYXMgaXQncyBub3cgZG9uZSB3aXRoIHRoZSBndGtnbHNpbmssIGNyZWF0ZSBhIHRvcAoJICBsZXZlbCB3aW5kb3cgaWYgdGhlIHdpZGdldCBpcyBub3QgcGFyZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMTUgMTQ6MzU6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGtzaW5rOiBFbnN1cmUgdGhlIGNvcHkgcGFzdGVkIGNvZGUgcmVtYWlucyB0aGUgc2FtZQoJICBNb3ZlIGJhY2sgdGhlIGRlZmF1bHQgcHJvcGVydHkgYXQgdGhlIHNhbWUgcGxhY2UgdGhleSBhcmUgaW4gdGhlCgkgIG90aGVyIHNpbmsuIFRoaXMgaGVscHMgd2hlbiB1c2luZyBhIGRpZmYgdmlld2VyIHRvIHN5bmNocm9uaXplZAoJICB0aGlzIHVuZm9ydHVuYXRlIGNvcHkgcGFzdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMTUgMTQ6MzI6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogRml4IHJhY2UgYmV0d2VlbiBxdWV1ZV9kcmF3IGFuZCBkZXN0cm95CgkgIEluIEdUSyBkaXNwb3NlIGNhbiBiZSBjYWxsZWQgYmVmb3JlIHRoZSBsYXN0IHJlZiBpcyByZWFjaGVkLiBUaGlzCgkgIGhhcHBlbnMgd2hlbiB5b3UgY2xvc2UgdGhlIGNvbnRhaW5lciB3aW5kb3cuIFRoZSBkaXNwb3NlIHdpbGwgYmUKCSAgZXhwbGljaXRseSBjYWxsZWQsIGFuZCBkZXN0cm95ZWQgbm90aWZ5IHdpbGwgYmUgZmlyZWQuIFRoaXMgcGF0Y2gKCSAgZml4ZXMgdGhpcyByYWNlIGJ5IHByb3Blcmx5IHRyYWNraW5nIHRoZSB3aWRnZXQgc3RhdGUuCgkgIEluIHRoZSBzaW5rLCB3ZSBub3cgc2V0IHRoZSB3aWRnZXQgcG9pbnRlciB0byBOVUxMLCBzbyB0aGUgd2lkZ2V0CgkgIHdpbGwgcHJvcGVybHkgZ2V0IGNyZWF0ZWQgYWdhaW4gaWYgeW91IHNldCB5b3VyIHBpcGVsaW5lIHRvIE5VTEwKCSAgc3RhdGUgYWZ0ZXIgdGhlIHdpZGdldCB3YXMgZGVzdHJveSwgYW5kIHNldCBpdCBiYWNrIHRvIFBMQVlJTkcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMTYgMTU6MTI6MTcgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBoYW5kbGUgZGlmZmVyZW50IHNzcmMncyBvbiBzaW5rcGFkcwoJICBEbyB0aGlzIGJ5IG5vdCBwdXR0aW5nIHRoZSBzc3JjIGZyb20gdGhlIHNyYyBwYWRzIGluIHRoZSBjYXBzIHVzZWQgdG8KCSAgcHJvYmUgb3RoZXIgc2lua3BhZHMsIGFuZCB0aGVuICBpbnRlcnNlY3Rpbmcgd2l0aCBpdCBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ5MQoKMjAxNS0wNy0xNiAxNzoxOTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgVXBkYXRlIG1haWxpbmcgbGlzdCBhZGRyZXNzIGZyb20gc291cmNlZm9yZ2UgdG8gZnJlZWRlc2t0b3AKCjIwMTUtMDctMTUgMTM6NDQ6NTIgKzAzMDAgIERpbWl0cmlvcyBDaHJpc3RpZGlzIDxkY2hyaXN0aWRpc0BteWtvbGFiLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggdHJhaWxpbmcgJyonIGRpc3BsYXllZCB3aXRoIHNvbWUgdGV4dCBzdWJ0aXRsZXMKCSAgVGhlIHN1YnRpdGxlIGJ1ZmZlciB3ZSBwdXNoIG91dCBzaG91bGQgbm90IGluY2x1ZGUgYSBOVUwgdGVybWluYXRvcgoJICBhcyBwYXJ0IG9mIHRoZSBkYXRhLCB3ZSBqdXN0IGFkZCBzdWNoIGEgdGVybWluYXRvciBmb3Igc2FmZXR5LCBidXQKCSAgaXQgc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgYnVmZmVyIHNpemUuCgkgIEEgTlVMIHRlcm1pbmF0b3IgaXMgbm90IHZhbGlkIFVURi04LCBzbyBjaGVja3Mgd2lsbCBmYWlsIGlmIGl0J3MKCSAgaW5jbHVkZWQgaW4gdGhlIHNpemUsIGFuZCB0aGUgTlVMIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIGZhbGxiYWNrCgkgIGNoYXJhY3RlciBzcGVjaWZpZWQgd2hlbiBjb252ZXJ0aW5nLCBpLmUuICcqJy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyMQoKMjAxNS0wNy0xNSAxODoyMzowNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IGFkZCBwcm9wZXJ0aWVzIHRvIEdzdERldmljZQoJICBBZGQgdGhlIGV4dHJhIHByb3BlcnRpZXMgd2UgZ2V0IGZyb20gcHVsc2UgdG8gdGhlIEdzdERldmljZSB3ZSBleHBvc2UKCSAgd2l0aCB0aGUgZGV2aWNlIG1vbml0b3IKCjIwMTUtMDctMTUgMTE6NDc6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0a2dzdHdpZGdldDogQWRkIG1pc3NpbmcgYnJlYWsgaW4gZ2V0X3Byb3BlcnR5CgoyMDE1LTA3LTE1IDExOjQ0OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSAgZ3Rrc2lua3M6IFJlbW92ZSB1bmRlZmluZWQgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgVGhlIGNsYXNzZXMgY29udGFpbnMgYSBwcml2YXRlIHN0cnVjdHVyZSB3aGljaCBhcmUgbm90IGRlZmluZWQsCgkgIGhlbmNlIHVudXNlZC4KCjIwMTUtMDctMTUgMTc6MjA6MjAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW9meDogRml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZXMKCSAgRml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZXMgb2YgYXVkaW93c2luY2JhbmQgYW5kIGF1ZGlvaW52ZXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDE2CgoyMDE1LTA0LTE1IDE4OjI3OjA0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBhZGQgYSAiZm9ybWF0LWxvY2F0aW9uIiBzaWduYWwgdGhhdCBhbGxvd3MgYmV0dGVyIGNvbnRyb2wgb3ZlciBmaWxlbmFtZXMKCSAgSW4gY2VydGFpbiBhcHBsaWNhdGlvbnMsIHNwbGl0dGluZyBpbnRvIGZpbGVzIG5hbWVkIGFmdGVyIGEgYmFzZQoJICBsb2NhdGlvbiB0ZW1wbGF0ZSBhbmQgYW4gaW5jcmVtZW50YWwgc2VxdWVuY2UgbnVtYmVyIGlzIG5vdCBlbm91Z2guCgkgIFRoaXMgc2lnbmFsIGdpdmVzIG1vcmUgZmluZS1ncmFpbmVkIGNvbnRyb2wgdG8gdGhlIGFwcGxpY2F0aW9uIHRvCgkgIGRlY2lkZSBob3cgdG8gbmFtZSB0aGUgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxMDYKCjIwMTUtMDQtMTUgMjA6MTM6MjcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvc3JjOiBubyByZXNhbXBsaW5nIG9uIE9TIFgKCSAgVW5saWtlIFJlbW90ZSBJTywgQVVIQUwgZG9lc24ndCBoYXZlIGJ1aWx0LWluIHJlc2FtcGxpbmcKCSAgZm9yIHNvdXJjZXMgLS0gY29uZmlybWVkIGJ5IENvcmUgQXVkaW8gZW5naW5lZXIgRG91ZyBXeWF0dDoKCSAgaHR0cDovL2xpc3RzLmFwcGxlLmNvbS9hcmNoaXZlcy9jb3JlYXVkaW8tYXBpLzIwMDYvU2VwL21zZzAwMDg4Lmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wNC0xNSAxODoyOToxNCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW9zcmM6IGF2b2lkIGdldF9jaGFubmVsX2xheW91dAoJICBUaGlzIG9ubHkgcHJvZHVjZXMgYSB3YXJuaW5nIGFuZCBzZXJ2ZXMgbm8gcHVycG9zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wNC0wNyAxNTo0MDoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBBdm9pZCBtYWtpbmcgYSBkdXBsaWNhdGUgc3RydWN0dXJlIGluIGNhcHMgZm9yIG1vbm8vc3RlcmVvIGNhc2UKCSAgRm9yIDFjaCBvciAyY2ggZGV2aWNlcywgd2UganVzdCBuZWVkIHRvIHNldCB0aGUgY2FwcyB0byBhbGxvdyBib3RoCgkgIG9wdGlvbnMgc2luY2UgQ29yZUF1ZGlvIHdpbGwgdXAvZG93bm1peCBhcHByb3ByaWF0ZWx5LgoJICBBbHNvIGZpeGVzIHRoZSBjb25kaXRpb24gZm9yIHRoZSAyY2ggY2FzZSB0byBiZSBleGFjdCwgcmF0aGVyIHRoYW4gYXQKCSAgbGVhc3QgMiBjaGFubmVscyBzaW5jZSB0aGUgZG93bm1peCB3aWxsIG5vdCB0YWtlIHBsYWNlIGluIHRoZSA+c3RlcmVvCgkgIGNhc2UuCgoyMDE1LTA0LTA2IDE2OjIyOjM0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogRG9uJ3Qgc2V0IHRoZSBmb3JtYXQgb24gYW4gaW5pdGlhbGl6ZWQgQXVkaW9Vbml0CgkgIFdlIG5lZWQgdG8gaW5pdGlhbGl6ZSB0aGUgQXVkaW9Vbml0IGVhcmx5IHRvIGJlIGFibGUgdG8gcHJvYmUgdGhlCgkgIHVuZGVybHlpbmcgZGV2aWNlLCBidXQgYWNjb3JkaW5nIHRvIHRoZSBBdWRpb1VuaXRJbml0aWFsaXplKCkgYW5kCgkgIEF1ZGlvVW5pdFVuaW5pdGlhbGl6ZSgpIGRvY3VtZW50YXRpb24sIGZvcm1hdCBjaGFuZ2VzIHNob3VsZCBiZSBkb25lCgkgIHdoaWxlIHRoZSBBdWRpb1VuaXQgaXMgdW5pbml0aWFsaXplZC4gU28gd2UgZXhwbGljaXRseSB1bmluaXRpYWxpemUgdGhlCgkgIEF1ZGlvVW5pdCBkdXJpbmcgYSBmb3JtYXQgY2hhbmdlIGFuZCByZWluaXRpYWxpemUgaXQgd2hlbiB3ZSdyZSBkb25lLgoKMjAxNS0wNC0wNiAxNTo1NTo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpbzogTWlub3Igc3BlbGxpbmcgZml4ICh1bml0aWFsaXplIC0+IHVuaW5pdGlhbGl6ZSkKCjIwMTUtMDMtMjEgMjA6MzQ6MjUgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSAgb3N4YXVkaW86IEZpeCBsb2NrdXAgaW4gX2F1ZGlvX3VuaXRfcHJvcGVydHlfbGlzdGVuZXIKCSAgX2F1ZGlvX3VuaXRfcHJvcGVydHlfbGlzdGVuZXIgaXMgY2FsbGVkIGVpdGhlciBmcm9tIGEgQ29yZSBBdWRpbyB0aHJlYWQKCSAgb3IgYXMgYSByZXN1bHQgb2YgYSBDb3JlIEF1ZGlvIEFQSSAoZS5nLiBBdWRpb1VuaXRJbml0aWFsaXplKQoJICBmcm9tIG91ciBvd24gdGhyZWFkLiBJbiB0aGUgbGF0dGVyIGNhc2UsIG9zeGJ1ZiBjYW4gYmUgYWxyZWFkeSBsb2NrZWQKCSAgKEdTdHJlYW1lcidzIG11dGV4IGlzIG5vdCByZWN1cnNpdmUpLgoJICBXZSBpbnRyb2R1Y2UgdGhlIGZsYWcgY2FjaGVkX2NhcHNfdmFsaWQgYW5kIHVzZSBpdCBpbnN0ZWFkIG9mIG51bGxpZnlpbmcKCSAgY2FjaGVkX2NhcHMgd2hlbiB3ZSBjYW5ub3QgbG9jayBvbiBvc3hidWYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDMtMTIgMTI6MTU6MTIgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBJbnZhbGlkYXRlIGNhY2hlZCBjYXBzIG9uIGZvcm1hdCBjaGFuZ2UKCSAgTGlzdGVuIGZvciBjaGFuZ2VzIGluIGhhcmR3YXJlIHN0cmVhbSBmb3JtYXQgYW5kIGNoYW5uZWwgbGF5b3V0LCBhbmQKCSAgaW52YWxpZGF0ZSBjYWNoZWQgY2FwcyAoc2luY2UgdGhleSBjb250YWluIHRoZSBwcmVmZXJyZWQgY2FwcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDMtMDkgMjM6MzQ6MDYgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IE92ZXJoYXVsIG9mIHByb2JpbmcgY2FwcwoJICAtIFByb2JpbmcgY2FwcyBpcyB1bmlmaWVkIGJldHdlZW4gc291cmNlIGFuZCBzaW5rCgkgIC0gSGFyZHdhcmUgc3RyZWFtIGZvcm1hdCBpcyBub3cgcmVwb3J0ZWQgYXMgcHJlZmVycmVkIGNhcGFiaWxpdGllcwoJICAoZHluYW1pY2FsbHkgdXBkYXRlZCB3aGVuIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24gY2hhbmdlcykKCSAgLSBHZXQgaGFyZHdhcmUgY2hhbm5lbCBsYXlvdXQgZnJvbSBSZW1vdGUgSU8ganVzdCBsaWtlIGZyb20gSEFMCgkgIC0gTW9yZSBjb21wcmVoZW5zaXZlIG1hcHBpbmcgYmV0d2VlbiBBdWRpb0NoYW5uZWxMYWJlbCBhbmQKCSAgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24KCSAgLSBTdXBwb3J0IGZvciB1bnBvc2l0aW9uZWQgY2hhbm5lbCBsYXlvdXRzCgkgIC0gQW5ub3VuY2Ugc3RlcmVvLW1vbm8gdXBtaXhpbmcvZG93bm1peGluZyBpbiBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDMtMDkgMjM6MTU6NTYgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBBdWRpb1VuaXRJbml0aWFsaXplIG9uIG9wZW4KCSAgQ2FsbCBBdWRpb1VuaXRJbml0aWFsaXplIHVwb24gb3Blbi4gT3RoZXJ3aXNlLCB3ZSBjYW5ub3QgZ2V0CgkgIChoYXJkd2FyZSkgc3RyZWFtIGZvcm1hdCBub3IgY2hhbm5lbCBsYXlvdXQgZnJvbSB0aGUgb3V0ZXIgc2NvcGUuCgoyMDE1LTA3LTEyIDE0OjI3OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHA6IGRlcGF5bG9hZGVyczogaW1wbGVtZW50IHByb2Nlc3NfcnRwX3BhY2tldCgpIHZmdW5jCgkgIEZvciBtb3JlIG9wdGltaXNlZCBSVFAgcGFja2V0IGhhbmRsaW5nOiBtZWFucyB3ZSBkb24ndAoJICBuZWVkIHRvIG1hcCB0aGUgaW5wdXQgYnVmZmVyIGFnYWluIGJ1dCBjYW4ganVzdCByZS11c2UKCSAgdGhlIG1hcHBpbmcgdGhlIGJhc2UgY2xhc3MgaGFzIGFscmVhZHkgZG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDIzNQoKMjAxNS0wNS0yNyAxOToxOToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogaW1wbGVtZW50IHByb2Nlc3NfcnRwX3BhY2tldCgpIHZmdW5jCgkgIEZvciBtb3JlIG9wdGltaXNlZCBSVFAgcGFja2V0IGhhbmRsaW5nOiBtZWFucyB3ZSBkb24ndAoJICBuZWVkIHRvIG1hcCB0aGUgaW5wdXQgYnVmZmVyIGFnYWluIGJ1dCBjYW4ganVzdCByZS11c2UKCSAgdGhlIG1hcCB0aGUgYmFzZSBjbGFzcyBoYXMgYWxyZWFkeSBkb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjM1CgoyMDE1LTA3LTEwIDE0OjAxOjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgY29uZmlndXJlL3F0OiBGaXggYnVpbGQgd2l0aG91dCBRdDVYMTFFeHRyYXMKCjIwMTUtMDctMDYgMjM6MTA6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC8uZ2l0aWdub3JlOgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5oOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4ucW1sOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvcGxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9xbWwucXJjOgoJICBuZXcgcXQ1IHFtbCBHTCB2aWRlbyBzaW5rCgkgIFZlcnkgbXVjaCBpbiB0aGUgc2FtZSBzcGlyaXQgYXMgdGhlIEd0ayBHTCBzaW5rCgkgIFR3byB0aGluZ3MgYXJlIHByb3ZpZGVkCgkgIDEuIEEgUVF1aWNrSXRlbSBzdWJjbGFzcyB0aGF0IHJlbmRlcnMgb3V0IFJHQkEgZmlsbGVkIEdzdEdMTWVtb3J5CgkgIGJ1ZmZlcnMgdGhhdCBpcyBpbnN0YW50aWF0ZWQgZnJvbSBxbWwuCgkgIDIuIEEgc2luayBlbGVtZW50IHRoYXQgd2lsbCBwdXNoIGJ1ZmZlcnMgaW50byAoMSkKCSAgVG8gdXNlCgkgIDEuIERlY2xhcmUgdGhlIEdzdEdMVmlkZW9JdGVtIGluIHFtbCB3aXRoIGFuIGFwcHJvcHJpYXRlCgkgIG9iamVjdE5hbWUgcHJvcGVydHkgc2V0LgoJICAyLiBHZXQgdGhlIGFmb3JlbWVudGlvbmVkIEdzdEdMVmlkZW9JdGVtIGZyb20gcW1sIHVzaW5nIHNvbWV0aGluZyBsaWtlCgkgIFFRbWxBcHBsaWNhdGlvbkVuZ2luZSBlbmdpbmU7CgkgIGVuZ2luZS5sb2FkKFFVcmwoUVN0cmluZ0xpdGVyYWwoInFyYzovbWFpbi5xbWwiKSkpOwoJICBRT2JqZWN0ICpyb290T2JqZWN0ID0gZW5naW5lLnJvb3RPYmplY3RzKCkuZmlyc3QoKTsKCSAgUVF1aWNrSXRlbSAqdmlkZW9JdGVtID0gcm9vdE9iamVjdC0+ZmluZENoaWxkPFFRdWlja0l0ZW0gKj4gKCJ2aWRlb0l0ZW0iKTsKCSAgMy4gU2V0IHRoZSB2aWRlb0l0ZW0gb24gdGhlIHNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjE4NQoKMjAxNS0wNy0xMCAwMDoxMzozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDctMDkgMjM6NTk6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBbHdheXMgZXN0aW1hdGUgRFRTIGZyb20gdGhlIGN1cnJlbnQgY2xvY2sgdGltZQoJICBFc3RpbWF0aW5nIGl0IGZyb20gdGhlIFJUUCB0aW1lIHdpbGwgZ2l2ZSB1cyB0aGUgUFRTLCBzbyBpbiBjYXNlcyBvZiBQVFMhPURUUwoJICB3ZSB3b3VsZCBwcm9kdWNlIHdyb25nIERUUy4gQXMgbm93IHRoZSBlc3RpbWF0ZWQgRFRTIGlzIGJhc2VkIG9uIHRoZSBjbG9jaywKCSAgZG9uJ3Qgc3RvcmUgaXQgaW4gdGhlIGppdHRlcmJ1ZmZlciBpdGVtcyBhcyBpdCB3b3VsZCBvdGhlcndpc2UgYmUgdXNlZCBpbiB0aGUKCSAgc2tldyBjYWxjdWxhdGlvbnMgYW5kIHdvdWxkIGluZmx1ZW5jZSB0aGUgcmVzdWx0cy4gV2Ugb25seSByZWFsbHkgbmVlZCB0aGUgRFRTCgkgIGZvciB0aW1lciBjYWxjdWxhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDctMDkgMDk6MjY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogaWdub3JlIHJ0cGgyNjMgdGVzdAoKMjAxNS0wNy0wOSAxMzowMzoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IGFkZCB0byB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdAoKMjAxNS0wNi0xNyAwOTozNjo1NyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgR3N0R3RrR0xTaW5rOiBFbnN1cmUgd2lkZ2V0IGhhcyBhIHRvcGxldmVsIHBhcmVudAoJICBDaGVja2luZyBmb3IgYSBwYXJlbnQgaXMgbm90IGVub3VnaCwgaXQgbXVzdCBoYXZlIGEgdG9wbGV2ZWwgb25lLgoJICBJZiB3aWRnZXQgaGFzIG5vIHRvcGxldmVsIHBhcmVudCB0aGVuIGFkZCBpdCBpbiBhIEd0a1dpbmRvdywgdGhhdAoJICBtYWtlIGl0IHVzYWJsZSBmcm9tIGdzdC1sYXVuY2gtMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTA0CgoyMDE1LTA2LTE3IDA5OjM2OjQwIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJICBHc3RHdGtHTFNpbms6IFBvc3QgZXJyb3IgaWYgd2lkZ2V0IGdldHMgZGVzdHJveWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDYtMTYgMTY6MjE6MjYgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIEdzdEd0a0dMU2luazogZml4IHBvc3NpYmxlIHdhcm5pbmcgaW4gZmluYWxpemUKCSAgSWYgdGhlIGVsZW1lbnQgaXMgZmluYWxpemVkIGJlZm9yZSBnb2luZyBpbiBSRUFEWSBzdGF0ZQoJICB0aGUgd2lkZ2V0IGNvdWxkIHN0aWxsIGJlIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMDggMjM6NDc6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBidWlsZCBlcnJvciB3aXRoIGdjYyAoRGViaWFuIDQuOS4yLTIxKSA0LjkuMgoJICBSZXBsYWNlIHN0YXRpYyBjb25zdGFudHMgd2l0aCBtYWNyb3MgdG8gbWFrZSBnY2MgaGFwcHkKCSAgQ0MgICAgICAgZWxlbWVudHMvZWxlbWVudHNfcnRwaml0dGVyYnVmZmVyLXJ0cGppdHRlcmJ1ZmZlci5vCgkgIGVsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOjM4NzoxOiBlcnJvcjogaW5pdGlhbGl6ZXIgZWxlbWVudCBpcyBub3QgY29uc3RhbnQKCSAgc3RhdGljIGNvbnN0IEdzdENsb2NrVGltZSBQQ01VX0JVRl9EVVJBVElPTiA9IFBDTVVfQlVGX01TICogR1NUX01TRUNPTkQ7CgkgIF4KCSAgZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6Mzg4OjE6IGVycm9yOiBpbml0aWFsaXplciBlbGVtZW50IGlzIG5vdCBjb25zdGFudAoJICBzdGF0aWMgY29uc3QgZ3VpbnQgUENNVV9CVUZfU0laRSA9IDY0MDAwICogUENNVV9CVUZfTVMgLyAxMDAwOwoJICBeCgkgIGVsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOjM5MDo1OiBlcnJvcjogaW5pdGlhbGl6ZXIgZWxlbWVudCBpcyBub3QgY29uc3RhbnQKCSAgUENNVV9CVUZfQ0xPQ0tfUkFURSAqIFBDTVVfQlVGX01TIC8gMTAwMDsKCjIwMTUtMDctMDggMjM6NDA6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJ1biBpbmRlbnQgYW5kIGZpeCBzb21lIGNvbW1lbnRzCgkgIEZpeCBpbmRlbnQgb24gdGhpcyBmaWxlIGFuZCBicmVhayBzb21lIGNvbW1lbnQgbGluZXMgaW50byB0d28gdG8gbWFrZQoJICBpdCBmaXQgODAgY2hhcnMgcGVyIGxpbmUKCjIwMTUtMDctMDggMTU6MDI6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXdvcmsgc2VnbWVudCBldmVudCBoYW5kbGluZyBmb3IgYWRhcHRpdmUgc3RyZWFtaW5nCgkgIFdoZW4gYSBuZXcgdGltZSBzZWdtZW50IGlzIHJlY2VpdmVkIHVwc3RyZWFtIGlzIGdvaW5nIHRvIHJlc3RhcnQKCSAgd2l0aCBhIG5ldyBhdG9tLiBNYWtlIHRoZSBuZWVkZWRieXRlcyBhbmQgdG9kcm9wIHZhcmlhYmxlcwoJICByZWZsZWN0IHRoYXQgdG8gYXZvaWQgd2FpdGluZyB0b28gbXVjaCBvciBkcm9wcGluZyB0aGUKCSAgaW5pdGlhbCBieXRlcyB0aGF0IGNvbnRhaW4gdGhlIGhlYWRlci4KCjIwMTUtMDctMDggMTI6MzU6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIGRhdGEgZnJvbSBhZGFwdGVyIGJlZm9yZSBzdGFydGluZyBuZXcgc2VnbWVudAoJICBUaGUgYWRhcHRlciBtaWdodCBoYXZlIGRhdGEgcmVtYWluaW5nIGZyb20gdGhlIHByZXZpb3VzIHNlZ21lbnQsCgkgIHB1c2ggaXQgYWxsIGJlZm9yZSBjbGVhcmluZyB0aGUgYWRhcHRlciBhbmQgc3RhcnRpbmcgYSBuZXcgc2VnbWVudC4KCSAgSXQgY2FuIGFjY3VtdWxhdGUgZGF0YSBpZiBpdCBoYWQgcHVzaGVkIGFuZCBnb3Qgbm90LWxpbmtlZCwgcmV0dXJuaW5nCgkgIGltbWVkaWF0ZWx5IHdpdGhvdXQgcHJvY2Vzc2luZyBhbGwgdGhlIGRhdGEuIEJlZm9yZSBzdGFydGluZyBhIG5ldwoJICBzZWdtZW50IHRoaXMgZGF0YSBzaG91bGQgYmUgaGFuZGxlZC4KCjIwMTUtMDctMDggMTk6NTk6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDYWxjdWxhdGUgRFRTIGZyb20gdGhlIGNsb2NrIGlmIHdlIGhhZCBub25lIGZvciB0aGUgZmlyc3QgcGFja2V0IGFmdGVyIGEgcmVzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wNy0wOCAyMTowODozNiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBnYXAtdGltZSBjYWxjdWxhdGlvbiBhbmQgcmVtb3ZlICJsYXRlIgoJICBUaGUgYW1vdW50IG9mIHRpbWUgdGhhdCBpcyBjb21wbGV0ZWx5IGV4cGlyZWQgYW5kIG5vdCB3b3J0aCB3YWl0aW5nIGZvciwKCSAgaXMgdGhlIGR1cmF0aW9uIG9mIHRoZSBwYWNrZXRzIGluIHRoZSBnYXAgKGdhcCAqIGR1cmF0aW9uKSAtIHRoZQoJICBsYXRlbmN5IChzaXplKSBvZiB0aGUgaml0dGVyYnVmZmVyIChwcml2LT5sYXRlbmN5X25zKS4gVGhpcyBpcyB0aGUgZHVyYXRpb24KCSAgdGhhdCB3ZSBtYWtlIGEgIm11bHRpLWxvc3QiIHBhY2tldCBmb3IuCgkgIFRoZSAibGF0ZSIgY29uY2VwdCBtYWRlIHNvbWUgc2Vuc2UgaW4gMC4xMCBhcyBpdCByZWZsZWN0ZWQgdGhhdCBhIGJ1ZmZlcgoJICBjb21pbmcgaW4gaGFkIG5vdCBiZWVuIHdhaXRlZCBmb3IgYXQgYWxsLCBidXQgaGFkIGEgdGltZXN0YW1wIHRoYXQgd2FzCgkgIG91dHNpZGUgdGhlIGppdHRlcmJ1ZmZlciB0byB3YWl0IGZvci4gV2l0aCB0aGUgcmV3cml0ZSBvZiB0aGUgd2FpdGluZwoJICAodGltZW91dCkgbWVjaGFuaXNtIGluIDEuMCwgdGhpcyBubyBsb25nZXIgbWFrZXMgYW55IHNlbnNlLCBhbmQgdGhlCgkgIHZhcmlhYmxlIG5vIGxvbmdlciByZWZsZWN0cyBhbnl0aGluZyBtZWFuaW5nZnVsIChudW0gPiAwIGlzIHVzZWxlc3MsCgkgIHRoZSBkdXJhdGlvbiBpcyB3aGF0IG1hdHRlcnMpCgkgIEZpeGVkIHVwIHRoZSB0ZXN0cyB0aGF0IGhhZCBiZWVuIHNsaWdodGx5IG1vZGlmaWVkIGluIDEuMCB0byBhbGxvdyBmYXVsdHkKCSAgYmVoYXZpb3IgdG8gc25lYWsgaW4sIGFuZCBwb3J0IHNvbWUgb2YgdGhlbSB0byB1c2UgR3N0SGFybmVzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODM2MwoKMjAxNS0wNi0zMCAxMToyMTozMSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgUmV2ZXJ0ICJydHBqaXR0ZXJidWZmZXI6IEZpeCBleHBlY3RlZF9kdHMgY2FsYyBpbiBjYWxjdWxhdGVfZXhwZWN0ZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDViZDcwOGZjNWU4ODEzOTBmZTgzOTgwM2I1MzE0NDM5M2Q5NWFiMC4KCSAgVGhlIHJldmVydGVkIHBhdGNoIGlzIHdyb25nIGFuZCBpbnRyb2R1Y2VzIGEgcmVncmVzc2lvbiBiZWNhdXNlIHRoZXJlCgkgIG1heSBzdGlsbCBiZSB0aW1lIHRvIHJlY2VpdmUgc29tZSBvZiB0aGUgcGFja2V0cyBpbmNsdWRlZCBpbiB0aGUgZ2FwCgkgIGlmIHRoZXkgYXJlIHJlb3JkZXJlZC4KCjIwMTUtMDctMDcgMjM6NTM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmbHVzaCBzYW1wbGVzIGJlZm9yZSBhZGRpbmcgbW9yZSBmcm9tIG1vb2YKCSAgQXZvaWRzIGFjY3VtdWxhdGluZyBhbGwgc2FtcGxlcyBmcm9tIGEgZnJhZ21lbnRlZCBzdHJlYW0gdGhhdCBjb3VsZAoJICBsZWFkIHRvIGEgJ2luZGV4LXRvby1iaWcnIGVycm9yIG9uY2UgaXQgZ29lcyBvdmVyIDUwTUIgb2YgZGF0YS4gSXQKCSAgY291bGQgcmVhY2ggdGhhdCBiZWZvcmUgMmggb2YgcGxheWJhY2sgc28gaXQgZG9lc24ndCB0YWtlIHRoYXQgbG9uZy4KCSAgQXMgdXBzdHJlYW0gZWxlbWVudHMgYXJlIHByb3ZpZGluZyBkYXRhIGluIHRpbWUgZm9ybWF0IHRoZXkgc2hvdWxkCgkgIGJlIHRoZSBvbmVzIHRoYXQgaGF2ZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmdWxsIG1lZGlhIGluZGV4CgkgIGFuZCBzaG91bGQgYmUgYWJsZSB0byBzZWVrIGlmIHBvc3NpYmxlLgoKMjAxNS0wNy0wNyAyMzo1NjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiByZW5hbWUgdXBzdHJlYW1fbmV3c2VnbWVudCB0byB1cHN0cmVhbV9mb3JtYXRfaXNfdGltZQoJICB1cHN0cmVhbV9uZXdzZWdtZW50IGlzbid0IHJlYWxseSBjbGVhciBvbiB3aGF0IGl0IG1lYW5zLCBpdCBpcyBzZXQKCSAgdG8gVFJVRSB3aGVuIHRoZSB1cHN0cmVhbSBlbGVtZW50IHNlbmRzIGEgc2VnbWVudCBpbiBUSU1FIGZvcm1hdCwgc28KCSAgcmVuYW1lIGl0IHRvIGJlIG1vcmUgY2xlYXIgYWJvdXQgaXQuCgkgIEl0IGlzIGltcG9ydGFudCB0byBrbm93IHRoaXMgYmVjYXVzZSBpdCBtZWFucyB0aGF0IHVwc3RyZWFtIGhhcwoJICBhIG5vdGlvbiBvZiB0aW1lIGFuZCBxdGRlbXV4IGlzIGxpa2VseSBiZWluZyBkcml2ZW4gYnkgYW4gdXBzdHJlYW0KCSAgZWxlbWVudCB0aGF0IGlzIHJlYWRpbmcgZnJvbSBhIGhpZ2hlciBsZXZlbCBhYnN0cmFjdGlvbiB0aGFuIGEgZmlsZSwKCSAgc3VjaCBhcyBhIERBU0gsIE1TUyBvciBETE5BIGVsZW1lbnQuCgoyMDE1LTA3LTA3IDIxOjMxOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGxlYWsgYnkgZmx1c2hpbmcgcHJldmlvdXMgc2FtcGxlIGluZm8gZnJvbSB0cmFrCgkgIEluIGZyYWdtZW50ZWQgc3RyZWFtaW5nLCBtdWx0aXBsZSBtb292L21vb2Ygd2lsbCBiZSBwYXJzZWQgYW5kIHRoZWlyCgkgIHByZXZpb3VzbHkgc3RvcmVkIHNhbXBsZXMgYXJyYXkgbWlnaHQgbGVhayB3aGVuIG5ldyB2YWx1ZXMgYXJlIHBhcnNlZC4KCSAgVGhlIHBhcnNlX3RyYWsgYW5kIGNhbGxlZXMgd29uJ3QgZnJlZSB0aGUgcHJldmlvdXNseSBzdG9yZWQgdmFsdWVzCgkgIGJlZm9yZSBwYXJzaW5nIHRoZSBuZXcgb25lcy4KCSAgSW4gc3RlcC1ieS1zdGVwLCB0aGlzIGlzIHdoYXQgaGFwcGVuczoKCSAgMSkgaW5pdGlhbCBtb292IGlzIHBhcnNlZCwgdHJha3MgYXMgd2VsbCwgc3RyZWFtcyBhcmUgY3JlYXRlZC4gVGhlCgkgIHRyYWsgZG9lc24ndCBjb250YWluIHNhbXBsZXMgYmVjYXVzZSB0aGV5IGFyZSBpbiB0aGUgbW9vZidzIHRydW4KCSAgYm94ZXMuIG5fc2FtcGxlcyBpcyBzZXQgdG8gMCB3aGlsZSBwYXJzaW5nIHRoZSB0cmFrIGFuZCB0aGUgc2FtcGxlcwoJICBhcnJheSBpcyBzdGlsbCBOVUxMLgoJICAyKSBtb29mcyBhcmUgcGFyc2VkLCBhbmQgdGhlaXIgdHJ1biBib3hlcyB3aWxsIGluY3JlYXNlIG5fc2FtcGxlcyBhbmQKCSAgY3JlYXRlL2V4dGVuZCB0aGUgc2FtcGxlcyBhcnJheQoJICAzKSBBdCBzb21lIHBvaW50IGEgbmV3IG1vb3YgbWlnaHQgYmUgc2VudCAoYml0cmF0ZSBzd2l0Y2hpbmcsIGZvciBleGFtcGxlKQoJICBhbmQgcGFyc2luZyB0aGUgdHJhayB3aWxsIG92ZXJ3cml0ZSBuX3NhbXBsZXMgd2l0aCB0aGUgdmFsdWVzIGZyb20KCSAgdGhpcyB0cmFrLiBJZiB0aGUgbl9zYW1wbGVzIGlzIHNldCB0byAwIHF0ZGVtdXggd2lsbCBhc3N1bWUgdGhhdAoJICB0aGUgc2FtcGxlcyBhcnJheSBpcyBOVUxMIGFuZCB3aWxsIGxlYWsgaXQgd2hlbiBhIG5ldyBvbmUgaXMKCSAgY3JlYXRlZCBmb3IgdGhlIHN1YnNlcXVlbnQgbW9vZnMuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgcXRkZW11eCBwcm9wZXJseSBmcmVlIHByZXZpb3VzIHNhbXBsZSBkYXRhIGJlZm9yZQoJICBjcmVhdGluZyBuZXcgb25lcyBhbmQgYWRkcyBhbiBhc3NlcnQgdG8gY2F0Y2ggZnV0dXJlIG9jY3VycmVuY2VzIG9mCgkgIHRoaXMgaXNzdWUgd2hlbiB0aGUgY29kZSBjaGFuZ2VzLgoKMjAxNS0wNy0wNyAxNjo0NjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBpbmRleCBzaXplIGNoZWNrIGFuZCBkZWJ1ZyBtZXNzYWdlCgkgIEl0IGlzIGFsbG9jYXRpbmcgc2FtcGxlc19jb3VudCArIG5fc2FtcGxlcywgbm90IG9ubHkgbl9zYW1wbGVzCgoyMDE1LTA3LTA4IDE3OjAyOjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ2FsY3VsYXRlIHJlY2VpdmUgdGltZSBpZiB3ZSBkb24ndCBoYXZlIGFueQoJICBUaGlzIGlzIHJlcXVpcmVkIHRvIHByb3Blcmx5IHNjaGVkdWxlIHBhY2tldCBsb3NzIHRpbWVycyBhbmQgbWFrZQoJICBzdXJlIGFsbCBvdXIgY2FsY3VsYXRpb25zIHdvcmsgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDctMDggMTU6MTM6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBIYW5kbGUgc2VxbnVtIGdhcHMgaW4gVENQIHN0cmVhbXMgd2l0aG91dCBlcnJvcmluZyBvdXQgb3Igb3ZlcmZsb3dpbmcgY2FsY3VsYXRpb25zCgkgIFRoYXQgaXMsIGhhbmRsZSBEVFM9PUdTVF9DTE9DS19USU1FX05PTkUgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM2CgoyMDE1LTA3LTA4IDIwOjMxOjQyICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBldmVudCBsZWFrCgkgIHdoZW4gc2VlayBmYWlscyBpbiBhdmlkZW11eCwgZXZlbnQgaXMgbm90IGJlaW5nIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTE3CgoyMDE1LTA3LTA4IDEyOjAyOjIyICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBoMjYzLmM6CgkgIHJ0cGgyNjNkZXBheTogTWFrZSBzdXJlIHBheWxvYWQgaXMgbGFyZ2UgZW5vdWdoCgkgIFBsdXMgbmV3IHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjExMgoKMjAxNS0wNy0wOCAwODo1OTo0OSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSAgcnRwa2x2ZGVwYXk6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmcKCSAgdl9sZW4gaXMgb2YgdHlwZSBndWludDY0LCBidXQgd2hpbGUgcHJpbnQgdGhlIHZhbHVlKDE2ICsgbGVuX3NpemUgKyB2X2xlbikKCSAgR19HU0laRV9GT1JNQVQgaXMgYmVpbmcgdXNlZCBpbnN0ZWFkIG9mIEdfR1VJTlQ2NF9GT1JNQVQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjEwMAoKMjAxNS0wNy0wNyAyMDoyNTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IGFkZCBuZXcgUlRQIGVsZW1lbnRzIHRvIGRvY3MKCjIwMTUtMDctMDcgMjA6MDc6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIEtMViBwYXlsb2FkaW5nCgkgIEFsc28gbWFrZSBpdCBzbyB0aGF0IHRoZSBtdHUgaXMgYWx3YXlzIHNldCBpZiBzcGVjaWZpZWQsIG5vdAoJICBvbmx5IGluIGNhc2Ugb2YgdGhlIHJhdGhlciB3ZWlyZCBidWZmZXJsaXN0IHRlc3QgY29kZSBwYXRoLgoJICBUaGlzIGFsbG93cyB1cyB0byBlYXNpbHkgbWFrZSB0aGUgcGF5bG9hZGVyIGZyYWdtZW50IGEgcGF5bG9hZAoJICBhY3Jvc3MgbXVsdGlwbGUgb3V0cHV0IHBhY2tldHMgYnkgc2V0dGluZyBhIHNtYWxsIE1UVSBvbiBpdC4KCjIwMTUtMDctMDcgMTk6NTg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuaDoKCSAgcnRwa2x2ZGVwYXk6IGltcHJvdmUgc3RhcnQgZGV0ZWN0aW9uIGFuZCBoYW5kbGUgZnJhZ21lbnRlZCBLTFYgdW5pdHMKCjIwMTUtMDctMDUgMjA6MjU6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuaDoKCSAgcnRwOiBhZGQgU01QVEUgMzM2TSBLTFYgbWV0YWRhdGEgZGVwYXlsb2FkZXIKCSAgaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU5NwoKMjAxNC0wOC0wOSAxMDowODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5Lmg6CgkgIHJ0cDogYWRkIFNNUFRFIDMzNk0gS0xWIG1ldGFkYXRhIHBheWxvYWRlcgoJICBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NTk3CgoyMDE1LTA3LTA3IDE2OjU5OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgZG9jczogZml4ICJTeW1ib2wgbmFtZSBub3QgZm91bmQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBjb21tZW50IGJsb2NrIgoJICBBZGQgc3ltYm9scyBvciBjaGFuZ2UgY29tbWVudCBpbnRvIGEgcmVndWxhciBjb21tZW50LgoKMjAxNS0wNy0wNyAxNjo1ODo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSAgZG9jczogcmVtb3ZlIG91dGRhdGVkIGRvYyBzdHJpbmdzCgoyMDE1LTA3LTAzIDIzOjEwOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IGFkZCBtaXNzaW5nIHBsdWdpbnMgYW5kIGVuc3VyZSBtYXN0ZXIgZG9jIGlzIHNvcnRlZAoKMjAxNS0wNy0wNyAxNTo1NDo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBSZXZlcnQgImltYWdlZnJlZXplOiBSZW1vdmUgaW1wb3NzaWJsZSBlcnJvciBjb25kaXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDQ2NjMxYzVjNzMxMmFkNjEzMzk3ZjgyMzhjN2E5NzE0YWUzYWU5NC4KCSAgcGFkIG9ubHkgaGFuZGxlIEVPUyBldmVudHMgYnV0IG5vdCBFT1MgZmxvdywgYW5kIHdpbGwgcHVzaCB0aGUgYnVmZmVyIGFnYWluCgkgIHJlc3VsdGluZyBpbiBhbiBhc3NlcnRpb24gZXJyb3IuIFNvIHdlIHNob3VsZCBub3QgaGFuZGxlIHRoZSBidWZmZXIKCSAgYW5kIHJldHVybiBFT1MgZmxvdy4KCjIwMTUtMDctMDcgMTU6NTA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJICBydHBnNzI5ZGVwYXk6IHVubWFwIHJ0cCBidWZmZXIgaW4gZXJyb3IgcGF0aAoKMjAxNS0wNy0wNyAxNTo0ODo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBmaXggYnVmZmVyIGxlYWsKCSAgVGhlIGhhbmRsZV9idWZmZXIgdmZ1bmMgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBpbnB1dCBidWZmZXIuCgkgIEZpeGVzIGVsZW1lbnRzL3J0cC1wYXlsb2FkaW5nIHVuZGVyIHZhbGdyaW5kLgoKMjAxNS0wNy0wMiAwODo1Mjo0MyArMDIwMCAgVG9iaWFzIE11ZWxsZXIgPG11ZWxsaUBjcnlwdG9iaXRjaC5kZT4KCgkqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICBnb29tOiBJbml0aWFsaXNlZCB2YXJpYWJsZXMgdG8gcmVtb3ZlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdvb21fY29yZS5jOiBJbiBmdW5jdGlvbiAnZ29vbV91cGRhdGUnOgoJICBnb29tX2NvcmUuYzo2ODU6NTogZXJyb3I6ICdwYXJhbTInIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICBnb29tX2xpbmVzX3N3aXRjaF90byAoZ29vbUluZm8tPmdtbGluZTIsIG1vZGUsIHBhcmFtMiwgYW1wbGl0dWRlLCBjb3VsZXVyKTsKCSAgXgoJICBnb29tX2NvcmUuYzo2ODQ6NTogZXJyb3I6ICdwYXJhbTEnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICBnb29tX2xpbmVzX3N3aXRjaF90byAoZ29vbUluZm8tPmdtbGluZTEsIG1vZGUsIHBhcmFtMSwgYW1wbGl0dWRlLCBjb3VsZXVyKTsKCSAgXgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDUzCgoyMDE1LTA3LTA3IDA5OjE4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIHJ0cGgyNjFwYXk6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNS0wNy0wNiAxOToxMTowMCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIHJ0cGgyNjFwYXk6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIGVycm9yCgkgIGVuZHBvcyB2YXJpYWJsZSBkb2VzIG5vdCBjb3JyZWN0bHkgdW5kZXJzdGFuZCBpbiB0aGUKCSAgNC42LjMgR0NDIHZlcnNpb24uIFNvIGNvbXBpbGUgZXJyb3IgYXBwZWFycyB3aGVuIHdlIGRvCgkgIGNvbXBpbGUgcnRwaDI2MXBheSB1c2luZyBqaGJ1aWxkLgoJICBUaGlzIHBhdGNoIGlzIGZpeGVkIHRoZSBjb21waWxlIGVycm9yIGluIDQuNi4zIEdDQyB2ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxOTg1CgoyMDE1LTA3LTA2IDE5OjMzOjM1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsc2luazogUmVsZWFzZSB0aGUgd2lkZ2V0IGxvY2sgd2hlbiB0cnlpbmcgdG8gZ2V0IHRoZSBHTCBjb250ZXh0CgkgIE90aGVyd2lzZSB3ZSBtaWdodCBiZSB3YWl0aW5nIGZvciB0aGUgbG9jayBvbiB0aGUgbWFpbiBsb29wIChmb3IKCSAgZXhhbXBsZSBpbiB0aGUgLT5yZW5kZXIgdm1ldGhvZCkgYW5kIHRodXMgd2Ugd2lsbCBkZWFkbG9jay4KCjIwMTQtMTEtMTIgMTI6MDg6NTggKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogSGFuZGxlIHNlZWsgZmxhZ3MgcHJvcGVybHkKCSAgQWxsb3dzIGZvciBub24ta2V5ZnJhbWUgc2Vla3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1NzAKCjIwMTUtMDItMjQgMTA6NTA6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBsb29waW5nIHJlYWRpbmcgdGhlICdtb29mJyBhdG9tIGZvcmV2ZXIKCSAgSXQgZ2V0cyBzdHVjayBpZiBpdCBvbmx5IGZpbmRzIGEgbW9vZiBhbmQgbm8gbWZyYS9tZnJvIG9yIG1vb3YKCSAgYXRvbXMuIFNraXAgdGhlIG1vb2YgdG8gY29udGludWUgdGhlIHBhcnNpbmcgdG8gaGF2ZSBpdCBlaXRoZXIKCSAgcGxheSBvciBlcnJvciBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwODkKCjIwMTUtMDYtMjYgMTM6MjQ6MTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGltcHJvdmUgZXJyb3IgaGFuZGxpbmcKCSAgZm9yIGZpbGVzIHdoaWNoIGhhdmUgY29ycnVwdGVkIGhlYWRlciwgbGliZmxhYyBpcyBub3QgYWJsZSB0bwoJICBwcm9jZXNzIHRoZSBtZXRhZGF0YSBwcm9wZXJseS4gV2UganVzdCB0cnkgdG8gaWdub3JlIHRoZSBlcnJvcgoJICBhbmQgY29udGludWUgd2l0aCB0aGUgcHJvY2Vzc2luZywgc2luY2UgbWV0YWRhdGEgcGFyc2luZyBpcyBub3QKCSAgbWFraW5nIG11Y2ggb2YgYSBkaWZmZXJlbmNlIHRvIGxpYmZsYWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMzNAoKMjAxNS0wNy0wNiAyMDoxNjozOCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlc3JjOiBhZGQgbWV0YSB0cmFuc2Zvcm0gZnVuY3Rpb24KCSAgeGltYWdlIG1ldGFkYXRhIGNhbid0IGJlIHRyYW5zZm9ybWVkIG9yIGNvcGllZCwgYnV0IHByb3ZpZGUgYW4gZW1wdHkKCSAgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gaW5zdGVhZCBvZiBOVUxMIHRvIGFsbG93IHVuY29uZGl0aW9uYWwgY2FsbGluZwoJICBvZiBtZXRhcycgdHJhbnNmb3JtIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3OAoKMjAxNC0wNi0xNiAxNjoxNDoyOCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbi5zZWxuZXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cGgyNjNwZGVwYXk6IGluaXQgZGVidWcgY2F0ZWdvcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjAxMgoKMjAxNC0wNi0yMCAxMDo1OToxNCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHY4ZGVwYXk6IGlnbm9yZSByZXNlcnZlZCBiaXQgaW4gcGF5bG9hZCBkZXNjcmlwdG9yCgkgIERyYWZ0IDE2IG9mICJSVFAgUGF5bG9hZCBGb3JtYXQgZm9yIFZQOCIgc3RhdGVzIGluIHNlY3Rpb24gNC4yIHRoYXQ6CgkgIFI6IEJpdCByZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4gIE1VU1QgYmUgc2V0IHRvIHplcm8gYW5kIE1VU1QgYmUKCSAgaWdub3JlZCBieSB0aGUgcmVjZWl2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5MjkKCjIwMTUtMDctMDQgMjA6NTY6NDIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogcnRwaDI2MWRlcGF5OiBBZGQgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxOTgyCgoyMDE1LTA3LTAzIDIxOjU4OjE0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmNzRiMmRmIHRvIDlhZWQxZDcKCjIwMTUtMDctMDMgMTQ6Mjk6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwaDI2MXBheS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3J0cF9oMjYxX3BheV9jbGFzc19pbml0JzoKCSAgZ3N0cnRwaDI2MXBheS5jOjEwMDM6MTc6IGVycm9yOiB2YXJpYWJsZSAnZ29iamVjdF9jbGFzcycgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KCSAgR09iamVjdENsYXNzICpnb2JqZWN0X2NsYXNzOwoKMjAxNS0wNy0wMyAxNDowMzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkgIHJ0cGgyNjFkZXBheTogTGV0IHRoZSBiYXNlIGNsYXNzIHB1c2ggdGhlIGJ1ZmZlciBzbyBpdCBjYW4gZGVhbCB3aXRoIHRoZSBmbG93IHJldHVybgoKMjAxNS0wNy0wMyAxNDoxMTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBydHBoMjYxcGF5OiBSZW1vdmUgdW51c2VkIGFkYXB0ZXIKCjIwMTUtMDctMDMgMTM6MTc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIHNwZWV4cGF5OiBEaXJlY3RseSBhdHRhY2ggcGF5bG9hZCB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKCjIwMTUtMDctMDMgMTM6MDc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBzYmNwYXk6IEF0dGFjaCBwYXlsb2FkIGRpcmVjdGx5IHRvIHRoZSBvdXRwdXQgaW5zdGVhZCBvZiBjb3B5aW5nCgoyMDE0LTEyLTAxIDE0OjE4OjQwICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwOiBhZGQgSC4yNjEgUlRQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIKCSAgSW1wbGVtZW50YXRpb24gYWNjb3JkaW5nIHRvIFJGQyA0NTg3LgoJICBQYXlsb2FkZXIgY3JlYXRlIGZyYWdtZW50cyBvbiBNQiBib3VuZGFyaWVzIGluIG9yZGVyIHRvIG1hdGNoIE1UVSBzaXplCgkgIHRoZSBiZXN0IGl0IGNhbi4gU29tZSBkZWNvZGVycy9kZXBheWxvYWRlcnMgaW4gdGhlIHdpbGQgYXJlIHZlcnkgc3RyaWN0CgkgIGFib3V0IHJlY2VpdmluZyBhIGNvbnRpbnVvdXMgYml0LXN0cmVhbSAoZS5nLiBubyBuby1vcCBiaXRzIGJldHdlZW4KCSAgZnJhbWVzKSwgc28gdGhlIHBheWxvYWRlciB3aWxsIHNoaWZ0IHRoZSBjb21wcmVzc2VkIGJpdC1zdHJlYW0gb2YgYQoJICBmcmFtZSB0byBhbGlnbiB3aXRoIHRoZSBsYXN0IHNpZ25pZmljYW50IGJpdCBvZiB0aGUgcHJldmlvdXMgZnJhbWUuCgkgIERlcGF5bG9hZGVyIGRvZXMgbm90IHRyeSB0byBiZSBmYW5jeSBpbiBjYXNlIG9mIHBhY2tldCBsb3NzLiBJdCBzaW1wbHkKCSAgZHJvcHMgYWxsIHBhY2tldHMgZm9yIGEgZnJhbWUgaWYgdGhlcmUgaXMgYSBsb3NzLCBrZWVwaW5nIGl0IHNpbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg4NgoKMjAxNS0wNy0wMyAxMjoxODo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgcnRwbXB2ZGVwYXk6IERvbid0IGZvcmdldCB0byB1bm1hcCB0aGUgaW5wdXQgYnVmZmVyCgoyMDE1LTA3LTAzIDEyOjE0OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBDcmVhdGUgYnVmZmVyIGxpc3RzIGluc3RlYWQgb2YgcHVzaGluZyBlYWNoIGJ1ZmZlciBpbmRpdmlkdWFsbHkKCjIwMTUtMDctMDMgMTI6MDM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBydHBtcGFwYXk6IFVzZSBidWZmZXIgbGlzdHMgaW5zdGVhZCBvZiBwdXNoaW5nIGVhY2ggZnJhZ21lbnQgaW5kaXZpZHVhbGx5CgoyMDE1LTA3LTAzIDEwOjUxOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXk6IENyZWF0ZSBidWZmZXIgbGlzdHMgYW5kIGRvbid0IGNvcHkgcGF5bG9hZCBtZW1vcnkKCjIwMTUtMDYtMjkgMTY6MTQ6MTggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ29uc2lkZXIgdGltZXJzIGxlbiB0byBjb21wYXJlIHdpdGggUlRQX01BWF9EUk9QT1VUCgkgIFdoZW4gdGhlcmUgYXJlIGEgbG90IG9mIHNtYWxsIGdhcHMsIHdlIGNhbiBjb25zaWRlciB0aGF0IHRoZXJlIGlzCgkgIGEgYmlnIGdhcCAodG9vIGxvc3NlcykgdG8gcmVzZXQgdGhlIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTYzNgoKMjAxNS0wNi0yOSAxNTo1Mzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBJZiBwb3NzaWJsZSwgYWx3YXlzIHVwZGF0ZSB0aGUgY3VycmVudCB0aW1lIGJlZm9yZSBsb29waW5nIG92ZXIgYWxsIHRpbWVycwoJICBJZiB3ZSBoYXZlIGEgY2xvY2ssIHVwZGF0ZSAibm93IiBub3cgd2l0aCB0aGUgdmVyeSBsYXRlc3QgcnVubmluZyB0aW1lIHdlIGhhdmUuCgkgIElmIHRpbWVycyBhcmUgdW5zY2hlZHVsZWQgYmVsb3cgd2Ugb3RoZXJ3aXNlIHdvdWxkbid0IHVwZGF0ZSBub3cgKGl0J3Mgb25seSB1cGRhdGVkCgkgIHdoZW4gdGltZXJzIGV4cGlyZSksIGFuZCBhbHNvIGZvciB0aGUgdmVyeSBmaXJzdCBsb29wIGl0ZXJhdGlvbiBub3cgd291bGQgb3RoZXJ3aXNlCgkgIGFsd2F5cyBiZSAwLgoJICBBbHNvIHRoZSB0aW1lIGlzIHVzZWQgZm9yIHRoZSB0aW1lb3V0IGZ1bmN0aW9ucywgZS5nLiB0byBjYWxjdWxhdGUgYW55IHRpbWVzCgkgIGZvciB0aGUgbmV4dCB0aW1lb3V0cyBhbmQgd2Ugd291bGQgb3RoZXJ3aXNlIHBhc3MgdG9vIG9sZCB0aW1lcyB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTYzNgoKMjAxNS0wNy0wMiAxNDozNDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogZml4IG1lbW9yeSBsZWFrCgkgIHRtcCBuZWVkcyB0byBiZSBmcmVlZCBiZWZvcmUgZ29pbmcgb3V0IG9mIHNjb3BlIGluICdkb25lJy4KCSAgQ0lEICMxMzA4OTU0CgoyMDE1LTA3LTAyIDEyOjIzOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogR2VuZXJhdGUgYnVmZmVyIGxpc3RzIGFuZCBhdHRhY2ggdGhlIHBheWxvYWQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjb3B5aW5nIGl0CgoyMDE1LTA3LTAyIDA5OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cGgyNjNwZGVwYXk6IFNpbXBsaWZ5IGNvZGUgYSBiaXQgYW5kIGRvIGxlc3MgZGlyZWN0IG1lbWNweSBhbmQgbGV0IEdzdEJ1ZmZlciBkbyB0aGF0IGZvciB1cwoKMjAxNS0wNy0wMiAwOToxNzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogU3RvcCB1c2luZyBhbiBhZGFwdGVyIGFuZCBkaXJlY3RseSB1c2UgdGhlIGJ1ZmZlcgoJICBXZSBhbHdheXMgcHVzaGVkIG9uZSBidWZmZXIgaW50byB0aGUgYWRhcHRlciwgdGhlbiBoYW5kbGVkIGV4YWN0bHkgdGhhdCBvbmUKCSAgYnVmZmVyIGFuZCBmbHVzaGVkIGl0IGZyb20gdGhlIGFkYXB0ZXIuIE5vdyBhbHNvIGRvbid0IG1lbWNweSgpIHRoZSBhY3R1YWwKCSAgcGF5bG9hZCBidXQganVzdCBhdHRhY2ggdGhlIGlucHV0IGJ1ZmZlcidzIGRhdGEgdG8gdGhlIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgY29kZSBzdGlsbCBuZWVkcyBzb21lIHNlcmlvdXMgcmVmYWN0b3JpbmcvcmV3cml0aW5nLgoKMjAxNS0wNy0wMSAyMTo1NzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIHJ0cGdzbXBheTogUmVtb3ZlIG5vbi1leGlzdGluZyBpbmNsdWRlcyBmb3Igbm93CgkgIGdpdCBhZGQgLXAgbWlzdGFrZS4KCjIwMTUtMDctMDEgMTk6Mjk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IFVzZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGdzdF9idWZmZXJfYXBwZW5kKCkKCjIwMTUtMDctMDEgMTk6MTk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBydHBnc21wYXk6IEF0dGFjaCBwYXlsb2FkIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluc3RlYWQgb2YgY29weWluZyBpdAoKMjAxNS0wNy0wMSAxNzo1ODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBBdHRhY2ggcGF5bG9hZCBkaXJlY3RseSB0byBvdXRwdXQgYnVmZmVycyBpbnN0ZWFkIG9mIGNvcHlpbmcKCjIwMTUtMDctMDEgMTc6NDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSAgcnRwZzcyM3BheTogQXR0YWNoIHBheWxvYWQgYnVmZmVyIHRvIHRoZSBvdXRwdXQgaW5zdGVhZCBvZiBjb3B5aW5nCgoyMDE1LTA3LTAxIDE3OjMwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkgIHJ0cGR2ZGVwYXk6IE1hcCB0aGUgb3V0cHV0IGJ1ZmZlciBvbmNlIGluc3RlYWQgb2Ygb25jZSBldmVyeSA4MCBieXRlcwoKMjAxNS0wNy0wMSAyMTo0Njo0NiArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHJldHVybiB0eXBlIG9mIGluZGV4X2VudHJ5X29mZnNldF9zZWFyY2goKQoJICBJdCdzIGEgY29tcGFyZSBmdW5jdGlvbiBhbmQgbWF5IHJldHVybiBhIG5lZ2F0aXZlIHZhbHVlLAoJICBzbyBzaG91bGQgZm9yIGNvcnJlY3RuZXNzIGFuZCBjb25zaXN0ZW5jeSByZXR1cm4gYSBzaWduZWQKCSAgaW50ZWdlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc4MAoKMjAxNS0wNy0wMSAxNDoxMjo1NyArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWZhY3RvciBoYW5kbGVfbmV4dF9idWZmZXIKCSAgVGhlIGdvYWwgb2YgdGhpcyBwYXRjaCBpcyBtYWtpbmcgaGFuZGxlX25leHRfYnVmZmVyIGZ1bmN0aW9uCgkgIG1vcmUgcmVhZGFibGUgYXZvaWRpbmcgdW5uZWNlc2FyeSBnb3RvcyBhbmQgYWRkaW5nIG90aGVyCgkgIGNvc21ldGljIGNoYW5nZXMuCgoyMDE1LTA3LTAxIDE1OjQwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSAgcnRwYWMzcGF5OiBBdHRhY2ggdGhlIHBheWxvYWQgdG8gdGhlIG91dHB1dCBidWZmZXIgaW5zdGVhZCBvZiBjb3B5aW5nIGl0CgkgIE1pZ2h0IGFsc28gd2FudCB0byBwcm9kdWNlIGJ1ZmZlciBsaXN0cyBoZXJlIGlmIG5lZWRlZC4KCjIwMTUtMDctMDEgMTU6Mzg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSAgcnRwOiBGaXggaW5kZW50aW9uCgoyMDE1LTA3LTAxIDEyOjM3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVZQOC1PUFVTLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1WUDgtQVRTLU9QVVMuc2g6CgkgIHJ0cDogQWRkIGV4YW1wbGVzIHdpdGggVlRTL0FUUyBmb3IgVlA4L09QVVMKCSAgTGV0J3MgaGF2ZSBhbiBleGFtcGxlIHdpdGggbW9kZXJuIGNvZGVjcy4KCjIwMTUtMDYtMzAgMTg6MTE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogVXNlIEdTVF9XQVJOSU5HX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX1dBUk5JTkcoKQoKMjAxNS0wNi0zMCAxNDowNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgdnA4ZGVwYXk6IERvbid0IGxvY2svbWFwIGV2ZXJ5IG5vbi1rZXlmcmFtZSBidWZmZXIgdHdpY2UKCSAgSnVzdCBjb3B5IHRoZSBjb21wbGV0ZSBoZWFkZXIgaW5zdGVhZCBvZiBmaXJzdCBsb29raW5nIGF0IHRoZSBmaXJzdCBieXRlCgkgIGFuZCB0aGVuIGF0IHRoZSByZW1haW5pbmcgMTAgYnl0ZXMuCgoyMDE1LTA2LTI5IDE2OjA1OjQ0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb2N1bWVudCBmYWxsdGhyb3VnaCBjYXNlcwoJICBQYWNpZnkgY292ZXJpdHkgYW5kIGRvY3VtZW50IGZhbGx0aHJvdWdoIGNhc2VzIGluIHN3aXRjaCBzdGF0ZW1lbnRzLgoJICBDSUQgIzEzMDg5NDgsICMxMzA4OTQ3LCAjMTMwODk0NgoKMjAxNS0wNi0yOSAxMDozNjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgInJ0cGppdHRlcmJ1ZmZlcjogSWYgd2UgaGF2ZSBhbiBpbW1lZGlhdGUgdGltZW91dCwgZG9uJ3QgdHJ5IHRvIGZpbmQgYW4gZWFybGllciB0aW1lb3V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBjMjFjZDcxNzdlYTg4M2M3MTA5OTkxNDdkZGNlZGIxOTAwNGQxODIuCgkgIElmIHdlIGhhdmUgbXVsdGlwbGUgaW1tZWRpYXRlIHRpbWVycywgd2Ugd2FudCB0byBmaXJzdCBoYW5kbGUgdGhlIG9uZSB3aXRoIHRoZQoJICBsb3dlc3Qgc2VxdWVuY2UgbnVtYmVyLi4uIHdoaWNoIHdvdWxkIGJlIGJyb2tlbiBub3cuCgkgIEluc3RlYWQgb2YgdGhpcyB3ZSBzaG91bGQganVzdCB1c2UgYSBHU2VxdWVuY2UgZm9yIHRoZSB0aW1lcnMsIGFuZCBoYXZlIHRoZW0KCSAgc29ydGVkIGZpcnN0IGJ5IHRpbWVzdGFtcCwgYW5kIGZvciBlcXVhbCB0aW1lc3RhbXBzIGJ5IHNlcXVlbmNlIG51bWJlci4gVGhlbgoJICB3ZSB3b3VsZCBhbHdheXMgb25seSBoYXZlIHRvIHRha2UgdGhlIHZlcnkgZmlyc3QgdGltZXIgZnJvbSB0aGUgbGlzdCBhbmQgbmV2ZXIKCSAgaGF2ZSB0byBsb29rIGF0IGFueSBvdGhlcnMuCgoyMDE1LTA2LTI5IDEwOjE0OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogSWYgd2UgaGF2ZSBhbiBpbW1lZGlhdGUgdGltZW91dCwgZG9uJ3QgdHJ5IHRvIGZpbmQgYW4gZWFybGllciB0aW1lb3V0CgkgIElmIHdlIGhhdmUgbG90cyBvZiBzdWNoIGltbWVkaWF0ZSB0aW1lb3V0cywgd2Ugd291bGQgb3RoZXJ3aXNlIGhhdmUgcXVhZHJhdGljCgkgIHJ1bnRpbWUgaW4gdGhlIG51bWJlciBvZiB0aW1lb3V0cy4KCjIwMTUtMDYtMTkgMTg6MDE6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IHN0aWNreSBldmVudHMgYXJlIHNlbnQgYXV0b21hdGljYWxseSBmcm9tIHRoZSBwYWQKCSAgTm8gbmVlZCB0byBzZW5kIHRoZW0gZXhwbGljaXRseSBmcm9tIHRoZSBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNDAKCjIwMTUtMDYtMTkgMTg6MDA6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IG1ha2Ugc3VyZSB0byBwdXNoIHN0aWNreSBldmVudHMgYmVmb3JlIGFkZGluZyBwYWQKCSAgSXQgYWxsb3dzIHRoZSBjYXBzIHRvIGJlIHNldCBvbiB0aGUgcGFkIGJlZm9yZSBiZWluZyBhZGRlZCBmb3IKCSAgZHluYW1pYyBhdXRvcGx1Z2dpbmcgdG8gd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MAoKMjAxNS0wNi0yNiAwMDowNToyOSArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIG5ldyBudHAtdGltZS1zb3VyY2UgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgRW5hYmxlIHRvIHVzZSBuZXcgbnRwLXRpbWUtc291cmNlIHByb3BlcnR5IG9mIHJ0cGJpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDk2CgoyMDE1LTA2LTI1IDIzOjE5OjU4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbi9zZXNzaW9uOiBmaXggZGVzY3JpcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTQ5NgoKMjAxNS0wNi0yNSAxMDo1NzoyNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIGRvY3M6IGRlY29kZWJpbjIgLT4gZGVjb2RlYmluCgoyMDE1LTA2LTI1IDEwOjQ3OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZQoJICBVcGRhdGUgcmVmZXJlbmNlIHRvIGRlY29kZWJpbjIgdG8gZGVjb2RlYmluCgoyMDE1LTA2LTI1IDEwOjQ1OjM1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoJICBWYWx1ZXMgaW4gZmllbGRzX3JlcXVpcmVkIGFuZCBzYW1lX2J1ZmZlciBhcmUgb3ZlcndyaXR0ZW4gYmVmb3JlIHVzZWQuIFJlbW92aW5nCgkgIGFzc2lnbm1lbnQKCjIwMTUtMDYtMjUgMTA6MDY6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvUkVBRE1FOgoJKiBleHQvbWlrbW9kL2Rydl9nc3QuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuaDoKCSogZXh0L21pa21vZC9taWttb2RfcmVhZGVyLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmg6CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9saWJtaWttb2QubTQ6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czgvbGliZ3N0bWlrbW9kLnZjcHJvajoKCSAgbWlrbW9kOiByZW1vdmUgYW5jaWVudCB1bnBvcnRlZCBwbHVnaW4KCSAgVGhpcyBoYXNuJ3QgYmVlbiB0b3VjaGVkIGluIDExIHllYXJzLCBhbmQKCSAgY2xlYXJseSBubyBvbmUncyBiZWVuIG1pc3NpbmcgaXQuCgoyMDE1LTA2LTIzIDIwOjE1OjEzICswOTAwICBHaWxib2sgTGVlIDxnaWxib2subGVlQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvZXMgbm90IGRldGVjdCBvcmllbnRhdGlvbgoJICBNb3N0IGZpbGVzIGRvbid0IGNvbnRhaW4gdGhlIHZhbHVlcyBmb3IgdHJhbnNwb3NpbmcgdGhlIGNvb3JkaW5hdGVzCgkgIGJhY2sgdG8gdGhlIHBvc2l0aXZlIHF1YWRyYW50IHNvIHF0ZGVtdXggd2FzIGlnbm9yaW5nIHRoZSByb3RhdGlvbgoJICB0YWcuIFRvIGJlIGFibGUgdG8gcHJvcGVybHkgaGFuZGxlIHRob3NlIGZpbGVzIHF0ZGVtdXggd2lsbCBhbHNvIGlnbm9yZQoJICB0aGUgdHJhbnNwb3NpbmcgdmFsdWVzIHRvIG9ubHkgZGV0ZWN0IHRoZSByb3RhdGlvbiB1c2luZyB0aGUgdmFsdWVzCgkgIGFiZGUgZnJvbSB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4OgoJICBbYSBiIGNdCgkgIFtkIGUgZl0KCSAgW2cgaCBpXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NjgxCgoyMDE1LTA2LTI1IDAwOjA0OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjUuMiA9PT0KCjIwMTUtMDYtMjQgMjM6MzA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjIKCjIwMTUtMDYtMjQgMjI6NTY6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDYtMjQgMTE6MTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9ubC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDYtMjMgMTg6NDI6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBDb3JyZWN0bHkgdGVzdCBlYWNoIHNlZ21lbnRzCgkgIEluIHByZXNlbmNlIG9mIGdhcHMsIHF0ZGVtdXggd2lsbCBlbWl0IG11bHRpcGxlIHNlZ21lbnRzLiBUaGUKCSAgc2Vjb25kIHNlZ21lbnQgc3RhcnQgc2hvdWxkIG1hdGNoIHRoZSBDVFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIzIDE3OjU0OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IENvcnJlY3RseSBjYWxjdWxhdGUgdGhlIGVsc3QgbWVkaWEgc3RhcnQKCSAgVGhlIG1lZGlhIHN0YXJ0IGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlIHNoaWZ0IHdlIGhhdmUgYXBwbGllZAoJICBidXQgd2l0aCB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IFBUUy4gVGhpcyBpcyBkZWZpbmVkIGFzOgoJICBEdCgwKSA9IDAKCSAgQ3QoMCkgPSBEdCgwKSArIENUVFMoMCkKCSAgU28gdGhlIG1lZGlhIHN0YXJ0IGlzIGFsd2F5cyB0aGUgZmlyc3QgQ1RUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2MQoKMjAxNS0wNi0yMyAxMTo0OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFjY3VtdWxhdGUgcHJldmlvdXMgZWR0cyBlbnRyaWVzIGludG8gc2VnbWVudC5iYXNlCgkgIEFsbG93cyBwbGF5aW5nIGVkdHMgZWRpdHRlZCBmaWxlcyB3aXRoIHByb3BlciBzeW5jaHJvbml6YXRpb24gb2YKCSAgc3RyZWFtcy4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5CgkgIGJmOTVmOTNjMDE4OWFhMDRmMThlMjY0Yjg2YjY1MjdlNDMxYzVkNTMgdGhhdCB3YXMgYWRkZWQgdG8gZml4CgkgIHNlZ21lbnQgc2Vla3MgaGFuZGxpbmcuCgkgIEhhdmluZyB0aGUgYWNjdW11bGF0ZWRfYmFzZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbWFpbiBzZWdtZW50LmJhc2UKCSAgYWxsb3dzIGhhbmRsaW5nIGJvdGggc2VnbWVudCBzZWVrcyBhbmQgZWR0cyBlZGl0dGVkIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIzIDAwOjU2OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSBzb21lIGRlYnVnIG1lc3NhZ2VzCgkgIFRob3NlIG1lc3NhZ2VzIGFyZSBhYm91dCB0aGUgc3RyZWFtLCB1c2UgdGhlIHBhZCBhcyB0aGUKCSAgZGVidWcgb2JqZWN0IHRvIG1ha2UgaXQgY2xlYXIgZnJvbSB0aGUgbG9ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIyIDIyOjIyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzdG9yZSBsYXN0X2R0cyBvZiB0aGUgZmlyc3QgYnVmZmVyCgkgIEJ1ZmZlcnMgbmVlZCBub3QgdG8gc3RhcnQgYXQgcnVubmluZy10aW1lIDAgc28gdGhlIGxhc3RfZHRzIG5lZWRzCgkgIHRvIGJlIHRoZSB2YWx1ZSBvZiB0aGUgZmlyc3QgYnVmZmVyJ3MgZHRzIGFzIGl0IGlzIHVzZWQgdG8gY29tcHV0ZQoJICB0aGUgZHVyYXRpb24gb2YgdGhlIGJ1ZmZlcnMuIElmIGl0IHdhcyBsZWZ0IGF0IDAgdGhlIGZpcnN0IGJ1ZmZlcgoJICB3b3VsZCBoYXZlIGEgbGFyZ2VyIGR1cmF0aW9uIHdoZW4gaXQgc2hvdWxkbid0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjMgMTc6MTE6NTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwb3NzaWJsZSBtZW1vcnkgbGVhawoJICB3aGVuIGJ1ZmZlciBpcyBzdG9yZWQgdG8gc2Vla3RhYmxlLCBhbmQgc3RvcCBnZXRzIGNhbGxlZCBkdWUgdG8KCSAgY29ycnVwdCBmbGFjIGZpbGUsIHRoZW4gdGhlIHNlZWt0YWJsZSBpcyBub3QgYmVpbmcgcmVsZWFzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2NAoKMjAxNS0wNi0yMyAxNjoyODo0MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBSZXZlcnQgInNwbGl0bXV4c2luazogTWFzayBhc3luYy1zdGFydC9kb25lIHdoaWxlIHN3aXRjaGluZyBmaWxlcy4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDYxZTUzOTNmMTEwZWQ0ODI4MTVkNzc4MDcyNDVkNzhiNTJlZmY0Ni4KCSAgQ2F1c2VzIGZhaWx1cmVzIG11eGluZyBsYXJnZXIgR09QIHNpemVzIGZvciBzb21lIHJlYXNvbi4gUmV2ZXJ0aW5nCgkgIHdoaWxlIEkgZmlndXJlIGl0IG91dAoKMjAxNS0wNi0xOCAyMzoyMjowNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBGaXggc3RhcnR1cCBhbmQgc2h1dGRvd24gcmFjZXMuCgkgIEZpeCAyIHN0YXJ0dXAgcmFjZXMgd2hlbiB0aGluZ3MgaGFwcGVuIHRvbyBxdWlja2x5LCBhbmQgMQoJICBhdCBzaHV0ZG93biBieSBob2xkaW5nIGEgcmVmIHRvIHRoZSBwYWRzIGluIHVzZSB1bnRpbCB0aGUKCSAgbG9vcCBmdW5jdGlvbnMgZXhpdC4KCSAgSGFuZGxlIGVycm9ycyBhY3RpdmF0aW5nIGZpbGUgcGFydHMgYW5kIHB1Ymxpc2ggdGhlbSBvbgoJICB0aGUgYnVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzQ3CgoyMDE1LTA2LTE4IDA5OjI2OjEzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogTWFzayBhc3luYy1zdGFydC9kb25lIHdoaWxlIHN3aXRjaGluZyBmaWxlcy4KCSAgU29tZXRpbWVzLCBleHRyYSBhc3luYy1zdGFydC9kb25lIGZyb20gdGhlIGludGVybmFsIHNpbmsKCSAgd2hpbGUgdGhlIGVsZW1lbnQgaXMgc3RpbGwgc3RhcnRpbmcgdXAgY2FuIGNhdXNlIHNwbGl0bXV4c2luawoJICB0byBzdGFsbCBpbiBQQVVTRUQgc3RhdGUgd2hlbiBpdCBoYXMgYmVlbiBzZXQgdG8gUExBWUlORwoJICBieSB0aGUgYXBwLiBEcm9wIHRoZSBjaGlsZCdzIGFzeW5jLXN0YXJ0L2RvbmUgbWVzc2FnZXMgd2hpbGUKCSAgc3dpdGNoaW5nLCBzbyB0aGV5IGRvbid0IGNhdXNlIHN0YXRlIGNoYW5nZXMgYXQgdGhlCgkgIHNwbGl0bXV4c2luayBsZXZlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDc0NwoKMjAxNS0wNi0xNSAxNjoxMjoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFVzZSBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkKCSAgVXNlIHRoZSBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkgdXRpbGl0eSBmdW5jdGlvbgoJICB0byBzZXQgdGhlIGhhbGYtYXNwZWN0IGZsYWcgKG9yIG5vdCkgb24gc3RlcmVvc2NvcGljIGZyYW1lLXBhY2tlZAoJICB2aWRlb3MuCgoyMDE1LTA2LTE1IDE2OjEwOjM3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3ZlIG11bHRpdmlldyBjYXBzIGNhbGN1bGF0aW9ucywgYWRkIGhhbGYtYXNwZWN0IGhldXJpc3RpY3MKCSAgTW92ZSB0aGUgbXVsdGl2aWV3IGNhcHMgY2FsY3VsYXRpb25zIHRvIHRoZSBjb25maWd1cmVfc3RyZWFtKCkKCSAgZnVuY3Rpb24sIHNvIHRoZSByZXN0IG9mIHRoZSB2aWRlbyBpbmZvIGlzIGF2YWlsYWJsZSwgYW5kCgkgIHVzZSB0aGUgZ3N0X3ZpZGVvX211bHRpdmlld19ndWVzc19oYWxmX2FzcGVjdCgpIGZ1bmN0aW9uIHRvCgkgIGRldGVybWluZSBpZiB0aGUgaGFsZi1hc3BlY3QgZmxhZyBzaG91bGQgYmUgc2V0IG9uIGZyYW1lLXBhY2tlZAoJICB2aWRlby4KCjIwMTUtMDYtMTggMTY6MDY6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgY3NsZyBzdXBwb3J0CgkgIFRoZSBjc2xnIGF0b20gcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgRFRTIHNoaWZ0LiBUaGlzIGlzCgkgIG5lZWRlZCBpbiByZWNlbnQgdmVyc2lvbiBvZiBjdHRzIGF0b20gd2hlcmUgdGhlIG9mZnNldCBjYW4gYmUKCSAgbmVnYXRpdmUuIFdoZW4gY3NsZyBpcyBtaXNzaW5nLCB3ZSBwYXJzZSB0aGUgQ1RUUyB0YWJsZSBhcyBwcm9wb3NlZAoJICBpbiB0aGUgc3BlYyB0byBjYWxjdWxhdGUgdGhlc2UgdmFsdWVzLgoJICBJbiB0aGlzIGltcGxlbWVudGF0aW9uLCB3ZSBvbmx5IG5lZWQgdG8ga25vdyB0aGUgc2hpZnQuIEFzIEdTdHJlYW1lcgoJICBjYW5ub3QgdHJhbnNwb3J0IG5lZ2F0aXZlIHRpbWVzdGFtcHMsIHdlIHNoaWZ0IHRoZSB0aW1lc3RhbXBzIGZvcndhcmQKCSAgdXNpbmcgdGhhdCB2YWx1ZSBhbmQgYWRhcHQgdGhlIHNlZ21lbnQgdG8gY29tcGVuc2F0ZS4gVGhpcyBwYXRjaCBhbHNvCgkgIHJlbW92ZXMgYm9ndXMgb2Zmc2V0IG9mIGN0dHNfc29mZnNldCwgdGhpcyBvZmZzZXQgc2hhbGwgYmUgaW5jbHVkZWQKCSAgaW4gdGhlIGVkaXQgbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMwoKMjAxNS0wNi0xOSAxODozNzo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IFRlc3QgZ2FwcyBhdCBzdGFydCBvZiBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MgoKMjAxNS0wNi0xOSAxODo0MDo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIFBUUyB0byBmaWd1cmUtb3V0IHByZXNlbmNlIG9mIGdhcHMKCSAgV2UgbmVlZCB0byBsb29rIGF0IHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wIGluIG9yZGVyIHRvIGNvbmNsdWRlIGlmCgkgIHRoZXJlIGlzIGEgZ2FwIGF0IHRoZSBzdGFydCBvZiBhIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MgoKMjAxNS0wNi0xOSAxNjo0NTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogU2V0IGVkaXQgbGlzdCB0byBjb21wZW5zYXRlIERUUyBzaGlmdAoJICBXZSBzaGlmdCBEVFMgZm9yd2FyZCB0byBhdm9pZCBuZWdhdGl2ZSB0aW1lc3RhbXBzIHdoaWNoIGNhbm5vdCBiZQoJICByZXByZXNlbnRlZCB3aXRoIHZlcnNpb24gMCBvZiB0aGUgQ1RUUyB0YWJsZS4gVG8gc3RpY2sgd2l0aCB0aGF0CgkgIHZlcnNpb24gKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpLCB0aGUgc3BlYyByZWNvbW1lbmQgdXNpbmcgYW4KCSAgZWRpdCBsaXN0IGVudHJ5IHRvIG1vdmUgYmFjayB0aGUgcHJlc2VudGF0aW9uIHRpbWUgdG8gd2hlcmUgaXQKCSAgc2hvdWxkIGJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQyCgoyMDE1LTA2LTIyIDE0OjM1OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogSW5zZXJ0IEFWQyBlbmQgb2Ygc2VxdWVuY2UKCSAgVGhpcyBGTFYgc3BlY2lmaWMgbWFyayBpcyBuZWVkZWQgdG8gcHJldmVudCBGbG93IFBsYXllciAobW9zdCBsaWtlbHkKCSAgYWxsIEZsYXNoIGJhc2UgcGxheWVyKSBmcm9tIGdvaW5nIGludG8gYnVmZmVyaW5nIHN0YXRlIHdoZW4gbmVhciBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMjAKCjIwMTUtMDYtMjIgMTM6MDU6MjkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiByZW1vdmUgdXNlbGVzcyBjaGVjawoJICBObyBuZWVkIHRvIGNoZWNrIGZvciBjb250ZXh0IGF2YWlsYWJpbGl0eSB3aGlsZSBmcmVlaW5nLiBXZSBhcmUgaW5zaWRlCgkgIGluc2lkZSBhIGNvZGUgYmxvY2sgd2l0aCBhIGNvbmRpdGlvbiB0aGF0IGRlcmVmZXJlbmNlcyBjb250ZXh0LgoJICBpZiAoY29udGV4dC0+dHlwZSA9PSAwIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDE5OjM1OjU3ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgbHpvOiBmaXggbWVtb3J5IGxlYWsKCSAgdGhlIG9wZW5lZCBmaWxlIGlzIG5vdCBiZWluZyBjbG9zZWQgZHVyaW5nIHRlc3QsIHdoaWNoIHdpbGwgcmVzdWx0CgkgIGluIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDE5OjMwOjU4ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9taWttb2QvbWlrbW9kX3JlYWRlci5jOgoJICBtaWttb2RfcmVhZGVyOiBQb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2U6CgkgIGdzdF9yZWFkZXIgdmFyaWFibGUgaXMgYmVpbmcgdXNlZCBiZWZvcmUgYWN0dWFsbHkgY2hlY2tpbmcgaWYgaXQKCSAgYWxsb2NhdGVkIHByb3Blcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTk6NDU6MTQgKzA5MDAgIFNhbmdreXUgUGFyayA8c2sxMTIyLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWlub3IgY2xlYW4tdXAKCSAgMS4gRml4IHRoZSBjb2RlIHdoaWNoIGlzIHdyb25nIGNvZGluZyBzdHlsZS4KCSAgMi4gRml4IGEgdHlwaW5nIGVycm9yIG9mIGNvbW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTYKCjIwMTUtMDYtMjIgMTE6Mjg6MTMgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBEbyBub3QgdHJ5IHRvIHB1c2ggTlVMTCBidWZmZXJzCgkgIElmIHVwZGF0ZV9yZWNlaXZlcl9zdGF0cygpIGZhaWxzLCB3ZSBjYW4ndCByZWFsbHkgZG8gYW55dGhpbmcgd2l0aCB0aGlzIGJ1ZmZlcgoJICBhbnltb3JlIGFuZCBoYXZlIHRvIGRyb3AgaXQuIFRoaXMgaGFwcGVucyBpZiB0aGVyZSdzIGEgYmlnIHNlcW51bQoJICBkaXNjb250aW51aXR5IGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE1LTA2LTIyIDEzOjEwOjAyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogdHJpdmlhbCBjbGVhbnVwCgkgIHRyaXZpYWwgcGF0Y2ggdG8gYWRkIHByb3BlciAoIHdoaWxlIGNoZWNraW5nIGZvciBpZihHX1VOTElLRUxZKCkpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTM6MTY6MDggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBpbml0aWFsaXplIHNpemUgdmFyaWFibGUKCSAgc2l6ZSBjYW4gYmUgdXNlZCBpbiBjbGVhbnVwIHdpdGhvdXQgYmVpbmcgaW5pdGlhbGl6ZWQuIEhlbmNlCgkgIHNldHRpbmcgaXQgdG8gMCB3aGVuIGRlY2xhcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDEzOjEzOjI5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogaW5pdGlhbHplIGJwZiB2YXJpYWJsZQoJICBicGYgdmFyaWFibGUgbWlnaHQgYmUgdXNlZCBpbiBjbGVhbnVwIHdpdGhvdXQgYmVpbmcgaW50aWFsaXplZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0xOSAxNDo1MDo1OSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJICBydHBydHhxdWV1ZTogcmV2ZXJzZSBwZW5kaW5nIGxpc3QgYmVmb3JlIHB1c2hpbmcgYnVmZmVycwoJICBXaXRoIHRoaXMgd2Ugc2VuZCB0aGUgUlRYIGJ1ZmZlcnMgaW4gdGhlIHNhbWUgb3JkZXIKCSAgdGhhdCB0aGV5IHdlcmUgcmVxdWVzdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjk3CgoyMDE1LTA2LTIxIDE5OjIyOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IERUUyB2YWxpZGl0eSBjaGVjawoJICBUaGlzIGNoZWNrIHdhcyB1cC1zaWRlLWRvd24sIGNhdXNpbmcgYSBiYWQgdGltZXN0YW1wIGF0IHN0YXJ0CgkgIGFuZCB0aGVuIGFsbCB0aW1lc3RhbXAgYmVpbmcgZGVsYXllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI5OAoKMjAxNS0wNi0xNyAxNToxOTo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGNzbGc6IEFkZCBDb21wb3NpdGlvbiBTaGlmdCBMZWFzdCBHcmVhdGVzdCBBdG9tCgkgIFRoaXMgc2ltcGx5IGFkZCBmb3VyY2MgYW5kIGR1bXAgZnVuY3Rpb24gZm9yIHRoZSBjc2xnIEF0b20uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDMKCjIwMTUtMDYtMTcgMTU6MTg6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGN0dHNfZHVtcDogRml4IHNpZ25lc3MgaXNzdWVzCgkgIEl0IGRpZG4ndCBidWcsIGJ1dCB1c2UgY29ycmVjdCBzaWduZXNzIGluIHRyYWNlcy4gVGhlIG51bWJlciBvZgoJICBlbnRyaWVzIGlzIHVuc2lnbmVkIHdoaWxlIHRoZSBvZmZzZXQgY2FuIGJlIHNpZ25lZCBhY2NvcmRpbmcgdG8KCSAgcmVjZW50IHNwZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDMKCjIwMTUtMDYtMTYgMTc6NDg6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDE1ZDI2IHRvIGY3NGIyZGYKCjIwMTUtMDYtMTYgMTE6NDM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBnc3RfcnRwX2J1ZmZlcl9leHRfdGltZXN0YW1wKCkgbW9kaWZpZXMgaXRzIGZpcnN0IGFyZ3VtZW50LCBrZWVwIGEgY29weSBhcm91bmQKCjIwMTUtMDYtMTYgMTA6MzA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDb21wYXJlIGV4dCBSVFAgdGltZXMsIG5vdCBwbGFpbiBSVFAgdGltZSBhbmQgZXh0IFJUUCB0aW1lIHdoZW4gY2FsY3VsYXRpbmcgZWxhcHNlZCB0aW1lCgkgIE90aGVyd2lzZSBhbGwgUlRQIHRpbWVzIGFmdGVyIGEgd3JhcGFyb3VuZCB3b3VsZCBiZSBjb25zaWRlcmVkIGFzIGdvaW5nCgkgIGJhY2t3YXJkcywgdGhleSB3aWxsIGFsd2F5cyBiZSBzbWFsbGVyIHRoYW4gdGhlIGV4dCBSVFAgdGltZS4KCjIwMTUtMDYtMTUgMjE6MzI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsd2lkZ2V0OiBDb25zdCdpZnkgYW5vdGhlciBhcnJheQoKMjAxNS0wNi0xNSAyMToyOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2x3aWRnZXQ6IENhbGN1bGF0ZSB0aGUgdmlld3BvcnQgc2l6ZSBvdXJzZWx2ZXMKCSAgR2V0dGluZyB0aGUgY3VycmVudCB2aWV3cG9ydCBhbmQgbW9kaWZ5aW5nIGl0IHJlbGF0aXZlbHkgd2lsbCBwcm9kdWNlIGFuCgkgIGludGVyZXN0aW5nIGZlZWRiYWNrIGxvb3AgZHVyaW5nIHdpZGdldCByZXNpemluZy4gT3ZlciBhIGZldyBmcmFtZXMgd2UKCSAgd2lsbCBncmFkdWFsbHkgbW92ZSB0aGUgdmlld3BvcnQgYSBiaXQgdW50aWwgaXQgY29udmVyZ2VkIGFnYWluLCBhZGRpbmcKCSAgdW5uZWNlc3NhcnkgYWRkaXRpb25hbCBib3JkZXJzIGF0IHRoZSB0b3AgYW5kIGxlZnQuCgoyMDE1LTA2LTE1IDIxOjI0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IFVzZSB0aGUgZGlzcGxheSB3aWR0aC9oZWlnaHQgZm9yIHRoZSB3aWRnZXQncyBwcmVmZXJyZWQgd2lkdGgvaGVpZ2h0CgoyMDE1LTA2LTE1IDIwOjQ1OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0a3Npbms6IEFkZCBzdXBwb3J0IGZvciB4UkdCL0JHUngKCjIwMTUtMDYtMTUgMjA6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBDYWlybyBjb2xvciBmb3JtYXRzIGFyZSBpbiBuYXRpdmUgZW5kaWFubmVzcywgR1N0cmVhbWVyJ3MgaW4gbWVtb3J5IG9yZGVyCgkgIENBSVJPX0ZPUk1BVF9BUkdCMzIgaXMgQVJHQiBvbiBiaWcgZW5kaWFuIGFuZCBCR1JBIG9uIGxpdHRsZSBlbmRpYW4uCgoyMDE1LTA2LTE1IDIwOjM1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogSW1wbGVtZW50IGlnbm9yZS1hbHBoYSBwcm9wZXJ0eSBhbmQgZW5hYmxlIGl0IGJ5IGRlZmF1bHQKCjIwMTUtMDYtMTUgMjA6MTM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3RrOiBTeW5jIHByb3BlcnRpZXMgZnJvbSB0aGUgc2luayB0byB0aGUgd2lkZ2V0IHVwb24gd2lkZ2V0IGNyZWF0aW9uCgoyMDE1LTA2LTE1IDE5OjI1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVGhlIGRlZmF1bHQgcnRwLXByb2ZpbGUgc2hvdWxkIGJlIEFWUCwgbm90IEFWUEYKCjIwMTUtMDYtMTUgMTg6Mjg6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IGltcGxlbWVudCBwaXhlbCBhbmQgZGlzcGxheSBhc3BlY3QgcmF0aW8gaGFuZGxpbmcKCjIwMTUtMDYtMTUgMTQ6MzI6MjEgKzA5MDAgIFNhbmdreXUgUGFyayA8c2sxMTIyLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWlub3IgY2xlYW51cAoJICAxLiBBZGQgTnVsbCBjaGVjayBpbiAnZnJlZV9pdGVtJyBmdW5jdGlvbi4KCSAgMi4gRml4IGEgdHlwaW5nIGVycm9yIG9mIGNvbW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA5NjUKCjIwMTUtMDYtMTUgMTQ6MzU6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBzaWxlbmNlIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncyBmb3IgdW5zdXBwb3J0ZWQgd2luc3lzJwoKMjAxNS0wNi0xNSAxNDozMzowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IGltcGxlbWVudCBiYXNpYyB3YXlsYW5kIEdMIHN1cHBvcnQKCjIwMTUtMDYtMTIgMTc6NDQ6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsbXV4OiBNYWtlIHN1cmUgYmVzdF90aW1lIGlzIGluaXRpYWxpemVkCgoyMDE1LTA2LTEyIDIzOjI5OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgcnRwYmluL3Nlc3Npb246IEFkZCBuZXcgbnRwLXRpbWUtc291cmNlIHByb3BlcnR5IGFuZCBkZXByZWNhdGUgdXNlLXBpcGVsaW5lLWNsb2NrIHByb3BlcnR5CgkgIFRoZSBuZXcgcHJvcGVydHkgYWxsb3dzIHRvIHNlbGVjdCB0aGUgdGltZSBzb3VyY2UgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlCgkgIE5UUCB0aW1lIGluIFJUQ1AgcGFja2V0cy4gQnkgZGVmYXVsdCBpdCB3aWxsIGNvbnRpbnVlIHRvIGNhbGN1bGF0ZSB0aGUgTlRQCgkgIHRpbWVzdGFtcCAoMTkwMCBlcG9jaCkgYmFzZWQgb24gdGhlIHJlYWx0aW1lIGNsb2NrLiBBbHRlcm5hdGl2ZWx5IGl0IGNhbiB1c2UKCSAgdGhlIFVOSVggdGltZXN0YW1wICgxOTcwIGVwb2NoKSwgdGhlIHBpcGVsaW5lJ3MgcnVubmluZyB0aW1lIG9yIHRoZSBwaXBlbGluZSdzCgkgIGNsb2NrIHRpbWUuIFRoZSBsYXR0ZXIgaXMgZXNwZWNpYWxseSB1c2VmdWwgZm9yIHN5bmNocm9uaXppbmcgbXVsdGlwbGUKCSAgcmVjZWl2ZXJzIGlmIGFsbCBvZiB0aGVtIHNoYXJlIHRoZSBzYW1lIGNsb2NrLgoJICBJZiB1c2UtcGlwZWxpbmUtY2xvY2sgaXMgc2V0IHRvIFRSVUUsIGl0IHdpbGwgb3ZlcnJpZGUgdGhlIG50cC10aW1lLXNvdXJjZQoJICBzZXR0aW5nIGFuZCBjb250aW51ZSB0byB1c2UgdGhlIHJ1bm5pbmcgdGltZSBwbHVzIDcwIHllYXJzLiBUaGlzIGlzIG9ubHkga2VwdAoJICBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCgoyMDE1LTA0LTA3IDE2OjAzOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IHRlc3QgZm9yIG11eGluZyB3aXRoIERUUyBvdXRzaWRlIHRoZSBzZWdtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTEgMTc6MjY6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGp1c3Qgc2VnbWVudCBhY2NvcmRpbmcgdG8gY3R0cyBvZmZzZXQKCSAgSW4gcHJlc2VuY2Ugb2YgYSBDVFRTLCB0aGUgc2VnbWVudCBzdGFydC9zdG9wIG11c3QgYmUgb2Zmc2V0IHNvCgkgIHRoZSBzZWdtZW50IHN0YXJ0L3N0b3AgaW5jbHVkZSB0aGUgUFRTLiBUaGlzIGlzIG5lZWRlZCBzaW5jZSB0aGUKCSAgUFRTIGNhbm5vdCBiZSBuZWdhdGl2ZSBpbiB0aGlzIGZvcm1hdC4gVGhpcyBmaXhlcyBpc3N1ZXMgd2hlcmUgdGhlCgkgIHJ1bm5pbmcgdGltZSBvZiB0aGUgZmlyc3QgYnVmZmVyIGlzbid0IGF0IHRoZSBzdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNC0wMyAyMDozNDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBIYW5kbGUgRFRTIHdpdGggbmVnYXRpdmUgcnVubmluZyB0aW1lCgkgIEFzIFFUIHdvcmtzIHdpdGggZHVyYXRpb24sIHNpbXBseSBicmluZyBiYWNrIGZpcnN0IERUUyB0byAwIGFuZCBzaGlmdAoJICBmb3J3YXJkIHRoZSBQVFMgb2YgdGhlIHNhbWUgYW1vdW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEwIDE4OjE1OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBuZWdhdGl2ZSBydW50aW1lIERUUyBzdXBwb3J0CgkgIFRoaXMgaXMgZG9uZSBieSB1c2luZyBuZXcgZmVhdHVyZSBvZiB0aGUgQ29sbGVjdFBhZCBjbGlwIGZ1bmN0aW9uCgkgIHdoaWNoIHNldHMgdGhlIERUUyBhcyBhIGdpbnQ2NCBpbiB0aGUgY29sbGVjdGVkIGRhdGEuIEl0IGFsc28gc2ltcGxpZnkKCSAgdGhlIGNvZGUgYSBiaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTIgMjM6MDY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBSZW5hbWUgc29tZSB2YXJpYWJsZXMgYW5kIGRlYnVnIG91dHB1dCB0byBtYWtlIG1vcmUgc2Vuc2UKCSAgTG9jYWwgYW5kIHJlbW90ZSB3ZXJlIG1peGVkIHVwIGluIGEgZmV3IHBsYWNlcywgYW5kIHRoZSB0aW1lIHdlIHN0b3JlIGhlcmUgaXMKCSAgbm90IFVOSVggdGltZSAoMTk3MCBlcG9jaCksIGJ1dCBOVFAgdGltZSAoMTkwMCBlcG9jaCkgaW4gbmFub3NlY29uZHMuCgoyMDE1LTA2LTEyIDE5OjIxOjEwICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBmaXggbGF0ZW5jeSBwcm9wZXJ0eSBxdWVyeSBvbiBSZW1vdGVJTwoJICBBdWRpb1VuaXRHZXRQcm9wZXJ0eSB3b3VsZCBmYWlsIHdpdGgga1BhcmFtRXJyICgtNTApIGV2ZXJ5IHRpbWUsCgkgIHNpbXBseSBiZWNhdXNlIHNpemUgd2Fzbid0IGluaXRpYWxpemVkLgoJICBOb3cgaXQgcmV0dXJucyB6ZXJvIGxhdGVuY3ksIGJ1dCBhdCBsZWFzdCBpdCBkb2Vzbid0IGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NjgKCjIwMTUtMDYtMTIgMTU6Mzk6NTYgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBEbyBub3QgdHJ5IHRvIGFjdGl2YXRlIGEgTlVMTCBHTENvbnRleHQKCSAgQXQgdGhhdCBwb2ludCBpbiB0aGUgY29kZSBub3RoaW5nIGd1YXJhbnRlZXMgaXQgZXhpc3RzCgoyMDE1LTA0LTA3IDE0OjA2OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRml4IG1hcHBpbmcgb2YgbGF0ZW5jeSBwYXJhbWV0ZXJzIHRvIGJ1ZmZlciBhdHRyaWJ1dGVzCgoyMDE1LTA2LTEyIDE1OjE3OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBpbXBsZW1lbnQgdmlkZW8gYXNwZWN0LXJhdGlvIGhhbmRsaW5nCgkgIEZvciBib3RoIHRoZSBzb2Z0d2FyZSBhbmQgdGhlIEdMIHNpbmsncy4KCSAgRG9lc24ndCBkZWFsIHdpdGggdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBmaWVsZCBhdCBhbGwgeWV0LgoKMjAxNS0wNi0xMiAxMjo0MDo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGd0azogZml4IGEgY291cGxlIG9mIHR5cG9zCgoyMDE1LTA2LTEyIDEyOjI5OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBndGtnbHNpbms6IHJlc2V0IHRoZSBjb250ZXh0L2Rpc3BsYXkgaW4gUkVBRFlfVE9fTlVMTAoJICBGaXhlcyBjb250ZXh0IHByb3BhZ2F0aW9uIGluIHBpcGVsaW5lcyB3aXRoIHVwc3RyZWFtIEdMIGVsZW1lbnRzLgoKMjAxNS0wNi0xMSAxMjo0MToxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a2dsc2luay5jOgoJICBnc3RndGs6IE5vIG5lZWQgdG8gcmVhbGl6ZSB0aGUgd2lkZ2V0CgkgIFRoZSB3aWRnZXQgYWxyZWFkeSBkb2VzIHRoYXQuCgoyMDE1LTA2LTExIDEyOjM4OjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3RrZ2xzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtzaW5rLmM6CgkgIGdzdGd0azogRG9uJ3QgbGVhayB0aGUgd2lkZ2V0CgkgIGdfb2JqZWN0X2dldCgpIHJldHVybnMgYSByZWYsIGd0a19jb250YWluZXJfYWRkKCkgb25seSByZWZfc2luaygpLgoJICBUaGF0IG1lYW4gd2Ugc3RpbGwgbmVlZCB0byB1bnJlZiBhZnRlcndhcmQuIFRoaXMgbGVhayB3YXMgaGlkaW5nCgkgIGEgcmVmZXJlbmNlIGJ1ZyBwcmV2aW91c2x5IHByZXNlbnQuCgoyMDE1LTA2LTExIDEyOjEwOjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3N0Z3RrOiBBbGxvdyBkb2luZyBnc3QtaW5zcGVjdC0xLjAgb24gdGhlc2UgZWxlbWVudHMKCSAgVGhpcyBwYXRjaCBhbGxvdyBnb2luZyBnc3QtaW5zcGVjdC0xLjAgb24gdGhlc2UgZWxlbWVudHMgcmVtb3ZpbmcKCSAgdWdseSBjcmFzaCB0aGF0IHdhcyBwcmV2aW91c2x5IG9jY3VycmluZy4gVGhlIG1ldGhvZCBjb25zaXN0IG9mCgkgIG1ha2luZyB0aGUgd2lkZ2V0IGNyZWF0aW9uIGFzIGxhenkgYXMgcG9zc2libGUuIFRoaXMgd2F5IHdlIGRvbid0CgkgIGVuZHVwIGRvaW5nIGd0a19pbml0KCkgYmVmb3JlIHRoZSBhcHBsaWNhdGlvbi4gV2UgYWxzbyByZWZfc2luaygpCgkgIHRoZSB3aWRnZXQsIHNvIHdlIGRvbid0IGNyYXNoIGlmIHRoZSBwYXJlbnQgd2lkZ2V0IGlzIGRpc2NhcmRlZCwKCSAgYW5kIGNsZWFubHkgZXJyb3Igb3V0IHdpdGggR0wgaWYgdGhlIHdpZGdldCBoYXMgbm8gcGFyZW50IHdpbmRvdywKCSAgYmVjYXVzZSBjYWxsaW5nIGd0a193aWRnZXRfcmVhbGl6ZWQoKSBjYW4gb25seSBiZSBkb25lIGlmIHRoZSB3aWRnZXQKCSAgaGFzIGJlZW4gcGFyZW50ZWQgdG8gYSB3aW5kb3cpLgoKMjAxNS0wNi0xMiAwMTo1NjozNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IEFjdHVhbGx5IHNldCBkZXRlY3RlZCAzRCBpbmZvIGludG8gb3V0cHV0IGNhcHMuCgkgIFVzZSB0aGUgaW5mb3JtYXRpb24gcmVhZCBmcm9tIHRoZSBTdGVyZW9Nb2RlIGluZm8KCSAgdG8gY29uZmlndXJlIG11bHRpdmlldy1tb2RlIGFuZCBtdWx0aXZpZXctZmxhZ3MgaW4gdGhlCgkgIHZpZGVvIGNhcHMuCgoyMDE1LTA2LTExIDEzOjM2OjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogVGFrZSByZWxlYXNlZC1idXQtbm90LXlldC1vdXRwdXQgYnl0ZXMgaW50byBhY2NvdW50CgkgIFdoZW4gZGVjaWRpbmcgd2hldGhlciBpdCdzIHRpbWUgdG8gc3dpdGNoIHRvIGEgbmV3IGZpbGUsIHRha2UgaW50bwoJICBhY2NvdW50IGRhdGEgdGhhdCdzIGJlZW4gcmVsZWFzZWQgZm9yIHB1c2hpbmcsIGJ1dCBoYXNuJ3QgeWV0CgkgIGJlZW4gcHVzaGVkIC0gYmVjYXVzZSBkb3duc3RyZWFtIGlzIHNsb3cgb3IgdGhlIHRocmVhZHMgaGF2ZW4ndCBiZWVuCgkgIHNjaGVkdWxlZC4KCSAgRml4ZXMgYSByYWNlIGluIHRoZSB1bml0IHRlc3QgYW5kIHByb2JhYmx5IGluIHByYWN0aWNlIC0gc29tZXRpbWVzCgkgIGZhaWxpbmcgdG8gc3dpdGNoIHdoZW4gaXQgc2hvdWxkIGZvciBhbiBleHRyYSBHT1Agb3IgdHdvLgoJICBBbHNvIGZpeCBhIHByb2JsZW0gaW4gc3BsaXRtdXhzcmMgd2hlcmUgcGxheWJhY2sgc29tZXRpbWVzCgkgIHN0YWxscyBhdCBzdGFydHVwIGlmIHR5cGVzIGFyZSBmb3VuZCB0b28gcXVpY2tseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDc0NwoKMjAxNS0wNi0xMSAxNTowMjo0NCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IERvIG5vdCB0cnkgdG8gaW5pdGlhbGl6ZSBkaXNwbGF5IGlmIHdlIGhhdmUgbm90IGhhdmUgYSBHTENvbnRleHQgeWV0CgoyMDE1LTA2LTExIDE0OjU4OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJICBndGs6IEFkZCBtaXNzaW5nIENGTEFHUyB0byBleGFtcGxlCgoyMDE0LTEyLTE4IDE3OjAwOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0cGx1Z2luLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtnbHNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a3NpbmsuYzoKCSAgSW1wbGVtZW50IGd0ayBzaW5rcwoJICB0d28gc2lua3MgYXJlIHByb3ZpZGVkLiAgZ3Rrc2luayB3aGljaCBpcyBhIGNhaXJvL3NvZnR3YXJlIGJhc2VkIHJlbmRlcmVyCgkgIGFuZCBndGtnbHNpbmsgd2hpY2ggdXRpbGlzZXMgdGhlIEdMIHN1cHBvcnQgaW4gZ3RrIGFuZCBnc3RyZWFtZXIuCgoyMDE1LTA2LTExIDAxOjA0OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGF0b21zOiByZW1vdmUgY3VzdG9tIGdzdF9idWZmZXJfbmV3IGZ1bmN0aW9uIGluIGZhdm9yIG9mIGNvcmUgdmVyc2lvbgoJICBSZW1vdmUgYSBjdXN0b20gc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBnc3RfYnVmZmVyX25ld193cmFwcGVkIGJ5CgkgIHVzaW5nIGdzdF9idWZmZXJfbmV3X3dyYXBwZWRfZnVsbCBpbnNpZGUgYSBtYWNybyB0byBzaW1wbGlmeQoJICBwYXJhbWV0ZXJzIGFuZCBnaXZlIGl0IGEgbW9yZSBtZWFuaW5nZnVsIG5hbWUuCgkgIEl0IGlzIG9ubHkgdXNlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGJ1ZmZlcnMgdG8gaGF2ZSBpdHMgZGF0YSBjb3BpZWQuCgoyMDE1LTA2LTExIDAwOjE0OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGF0b21zOiBzaW1wbGlmeSBmcmVlIGZvcm0gZGF0YSBhdG9tcyBjcmVhdGlvbgoJICBBdm9pZCBjcmVhdGluZyBhbiBpbnRlcm1lZGlhcnkgYnVmZmVyIG9yIG1lbW9yeSBhcmVhIGp1c3QKCSAgdG8gY29weSBpbnRvIGFuIGF0b20ncyBkYXRhIGFyZWEuCgoyMDE1LTA2LTEwIDIyOjI3OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBBQy0zIG11eGluZyBzdXBwb3J0CgkgIEFkZHMgQUMtMyBtdXhpbmcgc3VwcG9ydC4gSXQgaXMgZGVmaW5lZCBmb3IgbXA0IGFuZCAzZ3AgZm9ybWF0cy4KCSAgT25lIGV4dHJhIGZlYXR1cmUgdGhhdCB3YXMgYWRkZWQgd2FzIHRoZSBhYmlsaXR5IHRvIGFkZCBleHRlbnNpb24KCSAgYXRvbXMgYWZ0ZXIgc2V0X2NhcHMgYXMgdGhlIEFDLTMgZXh0ZW5zaW9uIGF0b20gbmVlZHMgc29tZSBkYXRhCgkgIHRoYXQgaGFzIHRvIGJlIGV4dHJhY3RlZCBmcm9tIHRoZSBzdHJlYW0gaXRzZWxmIGFuZCBpcyBub3QKCSAgcHJlc2VudCBvbiBjYXBzLgoKMjAxNS0wNi0xMCAyMjozNjo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkgIHF0bXV4OiByZW1vdmUgdW51c2VkIHR5cGUgTVA0UwoKMjAxNS0wNi0xMCAyMjoyOTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIGR1cGxpY2F0ZSBhdHRyaWJ1dGUgdmFsdWUgc2V0CgkgIEl0IGlzIGFsc28gc2V0IGEgZmV3IGxpbmVzIGJlbG93CgoyMDE1LTA2LTExIDAwOjIyOjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogSW1wbGVtZW50IGJhc2ljIHN0ZXJlb3Njb3BpYyB2aWRlbyBzdXBwb3J0CgkgIEltcGxlbWVudCBzdXBwb3J0IGZvciB0aGUgcGFja2VkIHZpZGVvIGZvcm1hdHMgV2ViTQoJICB1c2VzLCBub3QgYWxsIHRoZSB2YWx1ZXMgdGhhdCBNYXRyb3NrYSBtaWdodCB1c2UuCgkgIEluIHByYWN0aWNlLCBpdCdzIHJlYWxseSBoYXJkIHRvIGZpbmQgYW55IHNhbXBsZXMgaW4gdGhlCgkgIHdpbGQgb2YgYW55LgoJICBTdXBwb3J0ZWQgaW4gYm90aCB0aGUgbXV4ZXIgYW5kIGRlbXV4ZXIuCgoyMDE1LTA2LTEwIDAxOjI2OjE1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIGJhc2ljIHN1cHBvcnQgZm9yIE1QRUctQSBzdGVyZW9zY29waWMgdmlkZW8KCSAgVGhlIE1QRUctQSBmb3JtYXQgcHJvdmlkZXMgYW4gZXh0ZW5zaW9uIHRvIHRoZSBJU08gYmFzZSBtZWRpYQoJICBmaWxlIGZvcm1hdCB0byBzdG9yZSBzdGVyZW9zY29waWMgY29udGVudCBlbmNvZGVkIHdpdGggZGlmZmVyZW50CgkgIGNvZGVjcyBsaWtlIEguMjY0IGFuZCBNUEVHLTQ6Mi4gVGhlIHN0ZXJlbyB2aWRlbyBtZWRpYSBpbmZvcm1hdGlvbihzdm1pKQoJICBhdG9tIGRlY2xhcmVzIHRoZSBwcmVzZW5jZSBhbmQgc3RvcmFnZSBtZXRob2QgZm9yIHRoZSB2aWRlby4KCSAgU3RlcmVvIHZpZGVvIGluZm9ybWF0aW9uIGZvciBNUEVHLUEgY2FuIGFsc28gYmUgc3VwcGxpZWQgdGhyb3VnaAoJICB0aGUgJ3N0dmknIGF0b20gKHJlZjogSVNPL0lFQ18xNDQ5Ni0xMiwgSVNPL0lFQ18yMzAwMC0xMSksIHdoaWNoCgkgIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIHBhdGNoLgoJICBBbHNvIG1pc3NpbmcgaXMgc3VwcG9ydCBmb3Igc3RlcmVvIHZpZGVvIGVuY29kZWQgYXMgc2VwYXJhdGUgdmlkZW8gdHJhY2tzCgkgIGZvciBub3cuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA2LTAyIDE2OjE1OjM1IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIHRscy1kYXRhYmFzZSBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjk4CgoyMDE1LTA2LTEwIDE0OjMzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwOiBVc2UgR1NUX0JVRkZFUl9QVFMoKSBpbnN0ZWFkIG9mIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkKCSAgVGhlIG1peCBiZXR3ZWVuIGFsbCB0aGVzZSBpbiB0aGUgUlRQIGNvZGUgaXMgY29uZnVzaW5nLCBsZXQncyB0cnkgdG8gYmUKCSAgY29uc2lzdGVudC4KCjIwMTUtMDYtMTAgMTQ6NDk6NTAgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogY2xhcmlmeSBuZWdhdGl2ZSBsb3N0IHBhY2tldHMgaW4gc3RhdHMKCSAgQWxzbzoKCSAgLSBNb3ZlIG5vdGVzIG9uIHVuaXRzIGJlZm9yZSBmaWVsZCBkb2N1bWVudGF0aW9uLgoJICAtIFVuaWZ5IGRvY3VtZW50YXRpb24gc3R5bGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NTMKCjIwMTUtMDYtMTAgMDY6Mzg6MzkgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggZ2V0dGVyIG9mICJzc2wtdXNlLXN5c3RlbS1jYS1maWxlIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjk4CgoyMDE1LTA2LTEwIDA5OjQ5OjQ3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCByZXZlcnNlIHBsYXliYWNrCgkgIFdoZW4gcGVyZm9ybWluZyBzZWVrLCBzZWdtZW50LT5zdGFydCBpcyBiZWluZyB1cGRhdGVkIHdpdGggZGVzaXJlZF9vZmZzZXQsCgkgIGJ1dCBpbiBjYXNlIG9mIHJldmVyc2UgcGxheWJhY2sgc2VnbWVudC0+c3RhcnQgc2hvdWxkIGJlIDAgYW5kCgkgIHNlZ21lbnQtPnN0b3Agc2hvdWxkIGJlIHVwZGF0ZWQgd2l0aCBkZXNpcmVkIG9mZnNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY3NQoKMjAxNS0wMS0yMSAxODowOTowMyArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBnc3R2NGwyYnVmZmVycG9vbDogaGFuZGxlIC1FUElQRSBmcm9tIERRQlVGIHRvIHNpZ25hbCBFT1MKCSAgVGhlIFY0TDIgZGVjb2RlciBzaWduYWxzIEVPUyBieSByZXR1cm5pbmcgLUVQSVBFIGZyb20gRFFCVUYgYWZ0ZXIgdGhlCgkgIGxhc3QgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzM4CgoyMDE1LTA2LTA2IDIxOjA5OjE5IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIGEgR1Rsc0ludGVyYWN0aW9uIHByb3BlcnR5CgkgIEl0IGNhbiBiZSB1c2VkIGZvciBUTFMgY2xpZW50IGF1dGhlbnRpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDcxCgoyMDE1LTAxLTA5IDExOjM2OjExICswMTAwICBFbnJpY28gSm9ybnMgPGVqb0BwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMjogQWxsb3cgc2NhbGluZyBpbiB0aGUgdjRsMipjb252ZXJ0IGVsZW1lbnQKCSAgVGhpcyBpcyBpbnNwaXJlZCBvZiB2aWRlb3NjYWxlIGFuZCB2aWRlb2NvbnZlcnQgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI5MTcKCjIwMTUtMDYtMDkgMTk6MDI6NTUgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogZG9jdW1lbnQgdW5pdHMgb2Ygc3RhdHMgYW5kIGFyZ3VtZW50cwoJICBBbHNvLCBtaW5vciBzcGVsbGluZyBhbmQgc3R5bGUgY29ycmVjdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NTMKCjIwMTUtMDYtMDkgMTQ6NDI6MjcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IGFkZCB0aGUgb2Jzb2xldGUgdG1wbCBkaXIgdG8gY3J1ZnQtZGlycwoKMjAxNS0wNi0wOSAxMTozMDoyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDlhMzM1MyB0byA2MDE1ZDI2CgoyMDE1LTA2LTA5IDA3OjA0OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBGaXggY29tbW9uIHZlcnNpb24KCSAgV2FzIGFjY2lkZW50bHkgZG93bmdyYWRlZCBieSA4N2E0ODg0YWNkODY1NWE2NTkxZDczNWExZDk0NGVjYjVlYTNkZTE2CgoyMDE1LTA2LTA4IDE5OjExOjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFsc28gc2V0IGNvbG9yaW1ldHJ5IG9uIG91dHB1dCBkZXZpY2VzCgkgIFRoaXMgY29tcGxldGVzIHRoZSBjb2RlIHRoYXQgc2V0IHRoZSBjb2xvcmltZXRyeSBvbiBvdXRwdXQKCSAgZGV2aWNlLgoKMjAxNS0wNi0wOCAxOToxMDozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBtaXNzaW5nIFNNVFAyNDBNIG1hdHJpeAoJICBUaGlzIGlzIG1pc3NpbmcgaW4gdGhlIGRvYywgYnV0IHdhcyBpbiB0aGUgaGVhZGVyLgoKMjAxNS0wNi0wOCAyMzowMDoxNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICBnb29tOiBwb3NzaWJsZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyB3YXJuaW5nCgkgIEJ1aWxkIGZhaWxzIHdpdGggdGhlIGxhdGVzdCBzbmFwc2hvdCBvZiBnY2MtNC45IGJlY2F1c2UgcGFyYW0xIGFuZCBwYXJhbTIgbWlnaHQKCSAgcG9zc2libHkgYmUgdXNlZCB1bmluaXRpYWxpemVkLiBUaGV5IGFyZSBzZXQgZGVwZW5kaW5nIG9uIHRoZSBjYXNlcyBvZiBhIHN3aXRjaAoJICBzdGF0ZW1lbnQgYW5kIHRoZSBjb21waWxlciBzZWVzIHRoaXMgYXMgbm90IGEgY29tcGxldGUgZ3VhcmFudGVlLgoJICBTZXQgdGhlbSB0byAwIGlmIHRoZSBzd2l0Y2ggc3RhdGVtZW50IGZhbGxzIGRvd24gdG8gdGhlIGRlZmF1bHQgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDU2NiNjNgoKMjAxNS0wNi0wOCAxNzoyNDozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGdWxseSBpbXBsZW1lbnQgY29sb3JpbWV0cnkgc3VwcG9ydAoJICBUaGlzIGZpeGVzIHdyb25nIG1hcHBpbmcgZm9yIHNSR0IgYXMgaW4gR1N0cmVhbWVyIHNSR0IgY29ycmVjdGx5CgkgIGFwcGx5IHRvIFJHQiBmb3JtYXRzLCB3aGlsZSBpbiBWNEwyIGl0J3MgYW4gYWxpYXMgZm9yIHNZQ0MuIEFsc28KCSAgYWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgcXVhbnRpemF0aW9uIChyYW5nZSksIHljYmNyX2VuY29kaW5nIChtYXRyaXgpCgkgIGFuZCB4ZmVyX2Z1bmMgKHRyYW5zZmVyKSBlbnVtZXJhdGlvbi4KCjIwMTUtMDYtMDggMTc6MDE6MTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2V4dC90eXBlcy1jb21wYXQuaDoKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29tbW9uLmg6CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbnRyb2xzLmg6CgkqIHN5cy92NGwyL2V4dC92aWRlb2RldjIuaDoKCSAgdjRsMjogVXBkYXRlIGtlcm5lbCBoZWFkZXJzIHRvIGxhdGVzdCBmcm9tIG1lZGlhIHRyZWUKCSAgVGhpcyBpcyB0aGUgbGF0ZXN0IGZyb20gbWVkaWEgdHJlZS4gVGhpcyBzaG91bGQgZW5hYmxlIG1vcmUgZGV2ZWxvcG1lbnQKCSAgb2YgdGhlIHY0bDIgZWxlbWVudHMuIFRoaXMgaW5jbHVkZXMgbmV3IGZsYWdzIHJlcXVpcmVzIHRvIGZpeCBkcmFpbmluZwoJICBwYXRoIGluIGRlY29kZXIsIGNvbG9yaW1ldHJ5IGFuZCBtdWNoIG1vcmUuCgoyMDE1LTA2LTA4IDIzOjA3OjU1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMzdhZjMyIHRvIGQ5YTMzNTMKCjIwMTUtMDYtMDggMTk6NDI6MzAgKzAxMDAgIENocmlzIENsYXl0b24gPGNocmlzMjU1M0Bnb29nbGVtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBwb3RlbnRpYWwgYWNjZXNzIGJleW9uZCBlbmQgb2YgYXJyYXkKCSAgQ29tcGlsaW5nICh3aXRoIGdjYy00LjktMjAxNTA2MDMpIHByb2R1Y2VzIGFuIGVycm9yIGJlY2F1c2Ugb2YgYW4gYWNjZXNzIGJleW9uZAoJICB0aGUgZW5kIG9mIGFuIGFycmF5LiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBlcnJvciBieSBpbml0aWFsaXppbmcgdGhlIGxvb3AKCSAgY29udHJvbC9hcnJheSBpbmRleCB2YXJpYWJsZSAoaSkgdG8gMSBhbmQgcmV0dXJuaW5nIGkgLSAxIHdoZW4gYSBtYXRjaCBpcyBmb3VuZC4KCSAgQWxzbywgYmVjYXVzZSB0aGUgdmFsdWVzIHN0b3JlZCBpbiB0aGUgYXJyYXkgaW5jcmVhc2UgaW4gdmFsdWUgYXMgdGhlIGluZGV4CgkgIGluY3JlYXNlcywgdGhlID49IHRlc3QgdW5uZWNlc3NhcnksIHNvIGl0IGlzIHJlbW92ZWQuCgoyMDE1LTA0LTMwIDAyOjUyOjU4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRG9uJ3QgYWNjdW11bGF0ZSBtb3JlIHRoYW4gMiBHT1BzCgkgIERvbid0IGFsbG93IGxhcmdlIGFtb3VudHMgb2YgZGF0YSB0byBxdWV1ZSB1cCAtIHdlIG9ubHkgbmVlZAoJICB0aGUgR09QIHdlJ3JlIHdyaXRpbmcsIGFuZCB0aGUgR09QIHdlJ3JlIGFjY3VtdWxhdGluZy4KCjIwMTUtMDQtMTYgMTA6NDQ6NDkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IGZzeW5jIGFmdGVyIHNlbmRpbmcgdXBkYXRlcyBpbiByb2J1c3QgbW9kZQoJICBVc2UgdGhlIG5ldyBHc3RCdWZmZXIgU1lOQ19BRlRFUiBmbGFnIHRvIHRyaWdnZXIgYW4gZnN5bmMKCSAgYWZ0ZXIgdXBkYXRpbmcgdGhlIG1vb3Ygb3IgbWRhdCBhdG9tLCBhbmQgYWZ0ZXIgdXBkYXRpbmcgdGhlIGZyZWUKCSAgYXRvbSB0byBtYWtlIGl0IHZpc2libGUuCgoyMDE1LTA0LTAzIDAwOjU3OjIwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBPbmx5IHNldCBtb292IGhlYWRlciBpbnRvIHN0cmVhbWhlYWRlciBhdCBFT1MKCSAgT25seSB1cGRhdGUgdGhlIG1vb3YgaGVhZGVyIGludG8gdGhlIGNhcHMgaWYgaXQncyB0aGUgZmluYWxpc2VkCgkgIG1vb3YgYXQgRU9TIHRpbWUuIEF2b2lkcyBwb3N0aW5nIGEgYm9ndXMgbW9vdiBhdCBzdGFydHVwIGFuZAoJICByZXBlYXRlZCB1cGRhdGVzIGluIHJvYnVzdC1yZWNvcmRpbmcgbW9kZQoKMjAxNS0wNC0wMyAwMTo0NDoxNSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogVXBkYXRlIG1wNCBtdXggdGVzdCBmb3IgbWRhdCBwbGFjZWhvbGRlciBjaGFuZ2UKCSAgVGhlIG1wNCBtdXhlciBub3cgd3JpdGVzIGEgcGxhY2UtaG9sZGVyIG1kYXQgYXMgYSBmcmVlCgkgIGF0b20gZm9sbG93ZWQgYnkgYSAwLWJ5dGUgbWRhdCB0aGF0IGNvdmVycyB0aGUgcmVzdCBvZiB0aGUKCSAgZmlsZSwgbWFraW5nIGl0IHBvc3NpYmxlIHRvIHJld3JpdGUgaXQgYXMgNjQtYml0LCBvciBsZWF2ZQoJICBpdCBhcy1pcyBpZiBub3RoaW5nIGVsc2UgaXMgd3JpdHRlbiBhZnRlcndhcmQKCjIwMTUtMDQtMDEgMTE6MTU6MzggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgaXNvbXA0OiBJbXBsZW1lbnQgcm9idXN0IG11eGluZyB1c2luZyBwaW5nLXBvbmcgc3RyYXRlZ3kKCSAgSW1wbGVtZW50IGEgcm9idXN0IHJlY29yZGluZyBtb2RlLCB3aGVyZSB0aGUgb3V0cHV0CgkgIGZpbGUgaXMgYWx3YXlzIGluIGEgcGxheWFibGUgc3RhdGUsIHNlZWtpbmcgYW5kIHJld3JpdGluZwoJICB0aGUgbW9vdiBoZWFkZXIgYXQgYSBjb25maWd1cmFibGUgaW50ZXJ2YWwuIFJld3JpdGluZwoJICBtb292IGlzIGRvbmUgdXNpbmcgcmVzZXJ2ZWQgc3BhY2UgYXQgdGhlIHN0YXJ0IG9mCgkgIHRoZSBmaWxlLCBhbmQgYSBwaW5nLXBvbmcgc3RyYXRlZ3kgd2hlcmUgdGhlIG1vb3YKCSAgaXMgcmVwbGFjZWQgYXRvbWljYWxseSBzbyBpdCdzIG5ldmVyIGludmFsaWQuCgkgIFRyYWNrIHdoZW4gdGFncyBoYXZlIGFjdHVhbGx5IGNoYW5nZWQsIGFuZCBkb24ndCB3cml0ZSB0aGVtIGludG8KCSAgdGhlIG1vb3YgdW5sZXNzIHRoZXkndmUgY2hhbmdlZC4gQ2xlYXIgYW55IGV4aXN0aW5nIHRhZ3Mgd2hlbgoJICByZS13cml0aW5nIHRoZW0sIHNvIHdlIGNhbiBkbyBwcm9ncmVzc2l2ZSBtb292IHVwZGF0aW5nIGluIHJvYnVzdAoJICByZWNvcmRpbmcgbW9kZS4KCSAgV3JpdGUgcGxhY2Vob2xkZXIgbWRhdCBhcyBhIGZyZWUgYXRvbSBwbHVzIGEgMzItYml0IG1kYXQKCSAgd2l0aCAnMCcgc2l6ZSwgd2hpY2ggbWVhbnMgInJlc3Qgb2YgdGhlIGZpbGUiIGluIHRoZSBzcGVjLgoJICBSZS13cml0ZSBpdCBsYXRlciB0byBhIGZ1bGwgNjQtYml0IGV4dGVuZGVkIHNpemUgYXRvbSBpZiBuZWVkZWQuCgoyMDE1LTA0LTAxIDAwOjU4OjUyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogVXBkYXRlIGVkaXQgbGlzdCB3aGVuIHJlLXdyaXRpbmcgbW9vdgoJICBDb3JyZWN0bHkgdXBkYXRlIGFueSBlZGl0IGxpc3RzIGVhY2ggdGltZSB0aGUgbW9vdiBpcyByZWNhbGN1bGF0ZWQsCgkgIHVwZGF0aW5nIGV4aXN0aW5nIHRhYmxlIGVudHJpZXMgaWYgdGhleSBhbHJlYWR5IGV4aXN0IGluc3RlYWQgb2YganVzdAoJICBhZGRpbmcgbmV3IG9uZXMuCgoyMDE1LTA0LTA4IDAxOjQxOjE4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBSZW1vdmUgYW4gZXh0cmEgYnJhY2tldCBpbiBhIGNvbW1lbnQuCgoyMDE1LTAzLTE5IDIwOjI5OjQ0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IFByb3RlY3QgdG90YWxfZHVyYXRpb24gc3RhdGUgdmFyaWFibGUgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFByZXZlbnQgZGVhZGxvY2tzIGZyb20gZG93bnN0cmVhbSBxdWVyeWluZyBkdXJhdGlvbiBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxNS0wNi0wNyAyMzowNjoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjFiYTJlNSB0byBkMzdhZjMyCgoyMDE1LTA2LTA3IDE5OjI0OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGdvb206IGNsZWFuIGRlcmVmZXJlbmNlcyBvZiBwcml2YXRlIHN0cnVjdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA2LTA3IDE5OjIwOjA0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGdvb20yazE6IGNsZWFuIGRlcmVmZXJlbmNlcyBvZiBwcml2YXRlIHN0cnVjdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA2LTA3IDE3OjMyOjAxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNDA4NTgzIHRvIDIxYmEyZTUKCjIwMTUtMDYtMDcgMTc6MDE6MzcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSB2YXJpYWJsZXMgdGhhdCB3ZSBkZWZpbmUgaW4gdGhlIHNuaXBwZXQgZnJvbSBjb21tb24KCSAgVGhpcyBpcyBzeW5jaW5nIG91ciBNYWtlZmlsZS5hbSB3aXRoIHVwc3RyZWFtIGd0a2RvYy4KCjIwMTUtMDYtMDcgMTc6MTY6MTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ2NzY5OTMgdG8gYzQwODU4MwoKMjAxNS0wNi0wNyAxNjo0NDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS41LjEgPT09CgoyMDE1LTA2LTA3IDEwOjQ2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjEKCjIwMTUtMDYtMDcgMTA6Mzg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDYtMDcgMTA6MzI6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPdmVycmlkZSB0aGUgU1NSQyBmcm9tIHRoZSBwYWNrZXRzJyBTU1JDIGlmIG5vbmUgd2FzIGdpdmVuIHZpYSBjYXBzIG9yIHByb3BlcnR5CgoyMDE1LTA2LTA3IDA5OjM1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wNi0wNSAxNTozMjoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IERvbid0IHdhcm4gd2hlbiBvcHRpb25hbCBDSUQgYXJlIG5vdCBpbXBsZW1lbnQKCSAgZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0cmUoKSBzaGFsbCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgQ0lEIGlzIGV4cGVjdGVkCgkgIHRvIGJlIHN1cHBvcnRlZC4gT3RoZXJ3aXNlLCB3ZSBnZXQgdW53YW50ZWQgd2FybmluZyBwb3N0ZWQgdG8gdGhlIGJ1cy4KCjIwMTUtMDYtMDUgMTY6NDM6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBPbmx5IHN1Z2dlc3Qgb3VyIGludGVybmFsIHNzcmMgaWYgaXQncyBub3QgYSByYW5kb20gb25lIGFuZCB3YXMgc2VsZWN0ZWQgYXMgaW50ZXJuYWwgc3NyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTgxCgoyMDE1LTA2LTA0IDE0OjE4OjAxICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBlcnJvciB3aGVuIGNoYW5uZWwtcG9zaXRpb25zLWZyb20taW5wdXQ9RmFsc2UKCSAgc2VsZi0+Y2hhbm5lbHMgaXMgYmVpbmcgaW5jcmVtZW50ZWQgb25seSB3aGVuCgkgIGNoYW5uZWwtcG9zaXRpb25zLWZyb20taW5wdXQgaXMgc2V0IGFzIFRSVUUuIFNvIGluIGNhc2Ugb2YgRkFMU0UKCSAgc2VsZi0+ZnVuYyBpcyBub3Qgc2V0IGFuZCBoZW5jZSBjcmVhdGluZyBhc3NlcnRpb24gZXJyb3IuCgkgIEhlbmNlIHJlbW92aW5nIHRoZSBjb25kaXRpb24gdG8gaW5jcmVtZW50IHNlbGYtPmNoYW5uZWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjExCgoyMDE1LTA2LTA1IDEwOjMzOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkIHN1cHBvcnQgZm9yIHJlY2VpdmluZyByZWR1Y2VkIHNpemUgUlRDUAoJICBJdCB3b3JrZWQgYmVmb3JlIGJ1dCBnYXZlIHdhcm5pbmdzLCBub3cgd2UganVzdCBpZ25vcmUgUlRDUAoJICBwYWNrZXRzIHRoYXQgZG9uJ3Qgc3RhcnQgd2l0aCBhIFNSLiBBcyBhbGwgd2UncmUgaW50ZXJlc3RlZAoJICBpbiBoZXJlIGFyZSBTUnMuCgoyMDE1LTA2LTAzIDEyOjIyOjQyICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogQWRkIHN1cHBvcnQgZm9yIHJlZHVjZSBzaXplIHJ0Y3AKCSAgQWNjb3JkaW5nIHRvIFJGQyA1NTA2LCByZWR1Y2Ugc2l6ZSBwYWNrYWdlcyBjYW4gYmUgc2VudCwgdGhpcwoJICBwYWNrYWdlcyBtYXkgbm90IGJlIGNvbXBvdW5kLCBzbyB3ZSBuZWVkIHRvIGFkZCBzdXBwb3J0IGZvcgoJICBnZXR0aW5nIHNzcmMgZnJvbSBvdGhlciB0eXBlcyBvZiBwYWNrYWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMyNwoKMjAxNS0wNi0wMyAxMzoxNDo0NCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHN1cHBvcnQgZm9yIHJlY2VpdmluZyByZWR1Y2VkIHNpemUgcnRjcAoJICBTZWUgUkZDIDU1MDYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMzMgoKMjAxNS0wNi0wNCAxNjowOTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBjaGFubmVsIGNvbmZpZ3VyYXRpb25zIDExLCAxMiBhbmQgMTQgYW5kIDcgYWN0dWFsbHkgaGFzIDggY2hhbm5lbHMKCSAgSVNPL0lFQyAxNDQ5Ni0zOjIwMDkvUERBTSA0IGFkZGVkIDExLCAxMiBhbmQgMTQuCgoyMDE1LTA2LTAzIDA4OjU3OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgIGFzdGVyaXNraDI2MzogVW4tcmFuayBjbGFzaGluZyBkZXBheWxvYWRlcgoJICBUaGlzIGRlcGF5bG9hZGVyIGNsYXNoIHdpdGggdGhlIHN0YW5kYXJkIG9uZSBmb3IgSDI2M3AuIEl0IHByb2R1Y2VzIGFuCgkgIEgyNjNwIHN0cmVhbSB3aXRoIGEgbW9kaWZpZWQgaGVhZGVyLiBJdCB1c2VzIGVuY29kaW5nLW5hbWUgdGhhdCBpcyB0aGUKCSAgc2FtZSBhcyBIMjYzcCAoSDI2My0xOTk4KSB0aG91Z2ggdGhlIHJlc3VsdGluZyBFUyBpcyBub3QgZGVjb2RhYmxlIG9yCgkgIHBhcnNhYmxlIGluIEdTdHJlYW1lciwgbWFraW5nIGl0IHVuc3VhYmxlIGluIGR5bmFtaWMgcGlwZWxpbmUuIFRoaXMKCSAgcGF0Y2ggdW5yYW5rIHRoaXMgc3BlY2lhbGl6ZWQgZGVwYXlsb2FkZXIgc2luY2UgaXQgY2FuIG9ubHkgYmUgdXNlZCBpbgoJICBjdXN0b20gcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5MzUKCjIwMTUtMDYtMDIgMTg6MDk6NDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogcmVtb3ZlIHZhcmlhYmxlcyBub3QgbmVlZGVkIGFueW1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNi0wMiAxNzo1Mjo0NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiByZWJhc2UgdG8gdXNlIHRoZSBhdWRpb3Zpc3VhbGl6ZXIgY2xhc3MKCSAgUmViYXNlIHRvIGhhdmUgZ29vbTJrMSB1c2luZyB0aGUgY29tbW9uIEdzdEF1ZGlvVmlzdWFsaXplciBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA2LTAyIDE3OjI5OjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIGdvb206IHJlYmFzZSB0byB1c2UgdGhlIGF1ZGlvdmlzdWFsaXplciBjbGFzcwoKMjAxNS0wNi0wMiAxNjozMToxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9sYW1lLmM6CgkgIGNoZWNrOiBVc2UgR1NUX0NIRUNLX01BSU4gKCkgbWFjcm8gZXZlcnl3aGVyZQoJICBNYWtlcyBzb3VyY2UgY29kZSBzbWFsbGVyLCBhbmQgZW5zdXJlcyB3ZSBnbyB0aHJvdWdoIGNvbW1vbiBpbml0aWFsaXphdGlvbgoJICBwYXRoIChsaWtlIHRoZSBvbmUgdGhhdCBzZXRzIHVwIFhNTCB1bml0IHRlc3Qgb3V0cHV0IC4uLikKCjIwMTUtMDYtMDIgMTY6Mjc6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9ib3guYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgY2hlY2s6IFVzZSBHU1RfQ0hFQ0tfTUFJTiAoKSBtYWNybyBldmVyeXdoZXJlCgkgIE1ha2VzIHNvdXJjZSBjb2RlIHNtYWxsZXIsIGFuZCBlbnN1cmVzIHdlIGdvIHRocm91Z2ggY29tbW9uIGluaXRpYWxpemF0aW9uCgkgIHBhdGggKGxpa2UgdGhlIG9uZSB0aGF0IHNldHMgdXAgWE1MIHVuaXQgdGVzdCBvdXRwdXQgLi4uKQoKMjAxNS0wNS0yNiAxNDo0NzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBPbmx5IHNjaGVkdWxlIGEgdGltZXIgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIHRvIHNlbmQgUlRDUAoJICBPdGhlcndpc2Ugd2Ugd2lsbCBoYXZlIDEwcy0xMDBzIG9mIHRocmVhZCB3YWtldXBzIGluIGZlZWRiYWNrIHByb2ZpbGVzLCBjcmVhdGUKCSAgUlRDUCBwYWNrZXRzLCBldGMuIGp1c3QgdG8gc3VwcHJlc3MgdGhlbSBpbiA5OSUgb2YgdGhlIGNhc2VzIChpLmUuIGlmIG5vCgkgIGZlZWRiYWNrIGlzIGFjdHVhbGx5IHBlbmRpbmcgYW5kIG5vIHJlZ3VsYXIgUlRDUCBoYXMgdG8gYmUgc2VudCkuCgkgIFRoaXMgaW1wcm92ZXMgQ1BVIHVzYWdlIGFuZCBiYXR0ZXJ5IGxpZmUgcXVpdGUgYSBsb3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMjIgMTM6NDQ6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFJlbW92ZSB1c2VsZXNzIGdvdG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0yMSAxMjo1NDo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LXJ0eC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2NC1ydHguc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmM6CgkgIGV4YW1wbGVzOiBTZXQgUlRQIHByb2ZpbGUgdG8gQVZQRiBmb3IgcnRwYXV4IGV4YW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTY6NDE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFNldCBSVFAgcHJvZmlsZSBvbiB0aGUgcnRwc2Vzc2lvbiBvYmplY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMjEgMTQ6MTM6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogQWRkIHJ0cC1wcm9maWxlIHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSBkZWZhdWx0IHByb2ZpbGUgb2YgbmV3bHkgY3JlYXRlZCBzZXNzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTA0IDExOjUxOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPbmx5IHB1dCBSUnMgYW5kIGZ1bGwgU0RFUyBpbnRvIHJlZ3VsYXIgUlRDUCBwYWNrZXRzCgkgIElmIHdlIG1heSBzdXBwcmVzcyB0aGUgcGFja2V0IGR1ZSB0byB0aGUgcnVsZXMgb2YgUkZDNDU4NSAoaS5lLiB3aGVuCgkgIGJlbG93IHRoZSB0LXJyLWludCksIHdlIGNhbiBzZW5kIGEgc21hbGxlciBSVENQIHBhY2tldCB3aXRob3V0IFJScwoJICBhbmQgZnVsbCBTREVTLiBJbiB0aGVvcnkgd2UgY291bGQgZXZlbiBzZW5kIGEgbWluaW1hbCBSVENQIHBhY2tldAoJICBhY2NvcmRpbmcgdG8gUkZDNTUwNiwgYnV0IHdlIGRvbid0IHN1cHBvcnQgdGhhdCB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTM6NTE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogS2VlcCB0cmFjayBvZiB0cC90biBhbmQgdF9ycl9sYXN0IHNlcGFyYXRlbHkKCSAgT3RoZXJ3aXNlIHdlIGNhbid0IHByb3Blcmx5IHNjaGVkdWxlIFJUQ1AgaW4gZmVlZGJhY2sgcHJvZmlsZXMgYXMgd2UgbmVlZCB0bwoJICBkaXN0aW5ndWlzaCB0aGUgdGltZSB3aGVuIHdlIGxhc3QgY2hlY2tlZCBmb3Igc2VuZGluZyBSVENQICh0cCkgYnV0IG1pZ2h0IGhhdmUKCSAgc3VwcHJlc3NlZCBpdCwgYW5kIHRoZSB0aW1lIHdoZW4gd2UgbGFzdCBhY3R1YWxseSBzZW50IGEgbm9uLWVhcmx5IFJUQ1AKCSAgcGFja2V0LgoJICBUaGlzIHRvZ2V0aGVyIHdpdGggdGhlIG90aGVyIGNoYW5nZXMgc2hvdWxkIG5vdyBwcm9wZXJseSBpbXBsZW1lbnQgUlRDUAoJICBzY2hlZHVsaW5nIGFjY29yZGluZyB0byBSRkM0NTg1LCBhbmQgZXNwZWNpYWxseSBhbGxvdyB1cyB0byBzZW5kIGZlZWRiYWNrCgkgIHBhY2tldHMgYSBsb3QgaWYgbmVlZGVkIGJ1dCBvbmx5IHNlbmQgcmVndWxhciBSVENQIHBhY2tldHMgZXZlcnkgb25jZSBpbiBhCgkgIHdoaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTA0IDExOjQyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBwcm9wZXJ0eSBmb3Igc2VsZWN0aW5nIFJUUCBwcm9maWxlIChBVlAvQVZQRi9ldGMpCgkgIEFuZCBtb2RpZnkgb3VyIFJUQ1Agc2NoZWR1bGluZyBhbGdvcml0aG0gYWNjb3JkaW5nbHkuIFdlIG5vdyBjYW4gc2VuZCBtb3JlCgkgIFJUQ1AgcGFja2V0cyBpZiBuZWVkZWQgZm9yIGZlZWRiYWNrLCBidXQgd2lsbCB0aHJvdHRsZSBmdWxsIFJUQ1AgcGFja2V0cyBieQoJICBydGNwLW1pbi1pbnRlcnZhbCAodC1yci1pbnQgZnJvbSBSRkM0NTg1KS4KCSAgSW4gbm9uLWZlZWRiYWNrIG1vZGUsIHJ0Y3AtbWluLWludGVydmFsIGlzIFRtaW4gZnJvbSBSRkMzNTUwLCB3aGljaCBpcwoJICBzdGF0aWNhbGx5IHNldCB0byAxcyBvciAwcyBieSBSRkM0NTg1LiBUbWluIGRlZmluZXMgaG93IG9mdGVuIHdlIHNob3VsZAoJICBzZW5kIFJUQ1AgcGFja2V0cyBhdCBtb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTMwIDE3OjQxOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbXVsYXdkZWM6IExldCBiYXNlY2xhc3MgZXN0aW1hdGUgYml0cmF0ZQoJICBUaGlzIG1ha2VzIHBsYXliYWNrIGRpcmVjdGx5IGZyb20gYSBmaWxlIHdvcmsgd2l0aCB0aGUgcmlnaHQgY2Fwcy4KCjIwMTUtMDUtMjcgMTY6MzE6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgIGR5bnVkcHNpbms6IGtlZXAgR0NhbmNlbGxhYmxlIGZkIGFyb3VuZCBpbnN0ZWFkIG9mIHJlLWNyZWF0aW5nIGl0IGNvbnN0YW50bHkKCSAgQW5kIGNyZWF0ZSBpdCBvbmx5IHdoZW4gc3RhcnRpbmcgdGhlIGVsZW1lbnQuCgoyMDE1LTA1LTI3IDE1OjU1OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgdWRwc2luaywgbXVsdGl1ZHBzaW5rOiBrZWVwIEdDYW5jZWxsYWJsZSBmZCBhcm91bmQgaW5zdGVhZCBvZiByZS1jcmVhdGluZyBpdCBjb25zdGFudGx5CgkgIE90aGVyd2lzZSB3ZSBjb25zdGFudGx5IGNyZWF0ZS9jbG9zZSBldmVudCBmaWxlIGRlc2NyaXB0b3JzLAoJICBldmVyeSB0aW1lIHdlIGNhbGwgZ19zb2NrZXRfY29uZGl0aW9uX3RpbWVkX3dhaXQoKSBvcgoJICBnX3NvY2tldF9zZW5kX21lc3NhZ2UocykoKSwgaS5lLiBhIGxvdC4gV2hpY2ggaXMgbm90CgkgIHBhcnRpY3VsYXJseSBnb29kIGZvciBwZXJmb3JtYW5jZS4KCSAgQ2FuJ3QgY3JlYXRlIEdDYW5jZWxsYWJsZSBpbiA6OnN0YXJ0KCkgaGVyZSBiZWNhdXNlIGl0J3MgdXNlZAoJICBpbiBjbGllbnRfbmV3KCkgd2hpY2ggbWF5IGJlIGNhbGxlZCB2aWEgdGhlIGFkZC1jbGllbnQgYWN0aW9uCgkgIHNpZ25hbCB3aGljaCBtYXkgYmUgY2FsbGVkIGJlZm9yZSB0aGUgZWxlbWVudCBpcyB1cCBhbmQgcnVubmluZy4KCjIwMTUtMDUtMTkgMTg6MTM6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IGtlZXAgR0NhbmNlbGxhYmxlIGZkIGFyb3VuZCBpbnN0ZWFkIG9mIHJlLWNyZWF0aW5nIGl0IGNvbnN0YW50bHkKCSAgT3RoZXJ3aXNlIHdlIGNvbnN0YW50bHkgY3JlYXRlL2Nsb3NlIGV2ZW50IGZpbGUgZGVzY3JpcHRvcnMsCgkgIGV2ZXJ5IHNpbmdsZSB0aW1lIHdlIGNhbGwgZ19zb2NrZXRfY29uZGl0aW9uX3RpbWVkX3dhaXQoKSBvcgoJICBnX3NvY2tldF9yZWNlaXZlX21lc3NhZ2UoKSwgaS5lLiB0d2ljZSBwZXIgcGFja2V0IHJlY2VpdmVkIQoJICBUaGlzIHdhcyBub3QgcGFydGljdWxhcmx5IGdvb2QgZm9yIHBlcmZvcm1hbmNlLgoJICBBbHNvIG9ubHkgY3JlYXRlIEdDYW5jZWxsYWJsZSBvbiBzdGFydC11cC4KCjIwMTUtMDUtMjYgMTU6MzM6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IG92ZXJ3cml0dGVuIHZhbHVlIGFzc2lnbm1lbnQKCSAgY3VycG9zIGlzIHNldCBhbmQgaW1tZWRpYXRlbHkgYWZ0ZXIsIHNldCBhZ2Fpbi4gUmVtb3ZlIHRoZSByZWR1bmRhbnQKCSAgYXNzaWdubWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTkwOQoKMjAxNS0wNS0yMyAxMzo0NzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogZG9uJ3Qgc2hhZG93IGV4aXN0aW5nIG91dGJ1ZiB2YXJpYWJsZQoJICBBbmQgZml4IHVucmVmIG9mIHRoZSB3cm9uZyBvbmUgd2hpY2ggd2lsbCBjb250YWluIE5VTEwKCSAgaW4gYW4gZXJyb3IgY29kZSBwYXRoLgoKMjAxNS0wNS0yMyAxMzoyMzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkgIHJ0cHZyYXdkZXBheTogbWFwL3VubWFwIG91dHB1dCBmcmFtZSBvbmx5IG9uY2UsIG5vdCBmb3IgZXZlcnkgaW5wdXQgcGFja2V0CgkgIE1hcCBvdXRwdXQgYnVmZmVyIGFmdGVyIGNyZWF0aW5nIGl0IGFuZCBrZWVwIGl0IG1hcHBlZAoJICB1bnRpbCB3ZSdyZSBkb25lIHdpdGggaXQgaW5zdGVhZCBvZiBtYXBwaW5nL3VubWFwcGluZwoJICBpdCBmb3IgZXZlcnkgc2luZ2xlIGlucHV0IGJ1ZmZlci4KCjIwMTUtMDUtMjUgMDg6NDc6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgZml4bWUgZnJvbSAyMDA2CgkgIEl0IGhhcyBiZWVuIHZlcmlmaWVkIGJ5IHVzZSBvdmVyIHRpbWUuCgoyMDE1LTA1LTIzIDE0OjM2OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHJldmVyc2UgcGxheWJhY2sgb2YgZnJhZ21lbnRlZCBtZWRpYQoJICBxdGRlbXV4IGNyZWF0ZXMgYSBzYW1wbGVzIGFycmF5IGFuZCBnZXRzIHRoZSB0aW1lc3RhbXBzIGZvciBidWZmZXJzIGJ5CgkgIGFjY3VtdWxhdGluZyB0aGVpciBkdXJhdGlvbnMuIFdoZW4gZG9pbmcgcmV2ZXJzZSBwbGF5YmFjayBvZiBmcmFnbWVudHMsCgkgIGFjY3VtdWxhdGluZyBzYW1wbGVzIHdpbGwgbGVhZCB0byB3cm9uZyB0aW1lc3RhbXBzIGFzIHRoZSB0aW1lc3RhbXBzCgkgIHNob3VsZCBnbyBkZWNyZWFzaW5nIGZyb20gZnJhZ21lbnQgdG8gZnJhZ21lbnQgYW5kIHRoZSBhY2N1bXVsYXRpb24KCSAgd2lsbCBwcm9kdWNlIHdyb25nIHJlc3VsdHMuCgkgIEluIHRoaXMgY2FzZSwgd2hlbiByZWNlaXZpbmcgYSBkaXNjb250IGZvciBmcmFnbWVudGVkIHJldmVyc2UgcGxheWJhY2ssCgkgIHRoZSBwcmV2aW91cyBzYW1wbGVzIGluZm9ybWF0aW9uIHNob3VsZCBiZSBmbHVzaGVkIGJlZm9yZSBuZXcgZGF0YQoJICBpcyBwcm9jZXNzZWQuCgoyMDE1LTA1LTIzIDAxOjAzOjE4ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IEltcGxlbWVudCBiaW5hcnkgc2VhcmNoIGluIGZpbmRfcGFydF9mb3Jfb2Zmc2V0CgkgIEltcGxlbWVudCBiaW5hcnkgc2VhcmNoIHVzaW5nIGdzdF91dGlsX2FycmF5X2JpbmFyeV9zZWFyY2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY5MAoKMjAxNS0wNS0yMSAxMzoyNjo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRG9uJ3QgY3Jhc2ggaWYgd2UgcmVjZWl2ZSBGSVIvUExJIGZyb20gYSBzb3VyY2Ugd2UgZG9uJ3Qga25vdwoKMjAxNS0wNS0yMSAwOTozNTo1OCArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBjb2xsZWN0aW9uIG9mIHN0YXRpc3RpY3MKCSAgU3RhdHMgc2hvdWxkIGJlIGNvbGxlY3RlZCBvbiB0aGUgbWVkaWEgcnRwIHNvdXJjZSBub3QgaW4gdGhlCgkgIHNlbmRlciBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2NjkKCjIwMTUtMDQtMjAgMTA6MDc6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IEFkZCBhIG5ldyBtYXgtZHVyYXRpb24gZmlsZSBzd2l0Y2hpbmcgbW9kZQoJICBUaGlzIG5ldyBtb2RlIGVuc3VyZXMgdGhhdCBmaWxlcyB3aWxsIG5ldmVyIGV4Y2VlZCBhIGNlcnRhaW4gZHVyYXRpb24KCSAgYmFzZWQgb24gaW5jb21pbmcgYnVmZmVyIFBUUyAoYW5kIGR1cmF0aW9uIGlmIHByZXNlbnQpCgkgIE5vdGU6CgkgICogWW91IG5lZWQgdGltZXN0YW1wZWQgYnVmZmVycyAoZHVoKS4gSWYgc29tZSBvZiB0aGUgaW5jb21pbmcgYnVmZmVycyBkb24ndAoJICBoYXZlIFBUUywgdGhlbiBpdCB3aWxsIGp1c3QgYWNjZXB0IHRoZW0gaW4gdGhlIGN1cnJlbnQgZmlsZQoKMjAxNS0wNC0xNyAxNjoxODozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBzdHJlYW1saW5lIHRoZSBmaWxlLXN3aXRjaCBjb2RlIGEgYml0CgkgIFVzZSB0aGUgc2FtZSBmdW5jdGlvbnMgcmVnYXJkbGVzcyBvZiB0aGUgbW9kZSB3ZSBhcmUgdXNpbmcKCjIwMTUtMDQtMDIgMTM6MzU6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGFkZCAiYWdncmVnYXRlLWdvcHMiIHByb3BlcnR5IHRvIHByb2Nlc3MgR09QcyBhcyBhIHdob2xlCgkgIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBuZXh0LWZpbGU9bWF4LXNpemUKCSAgKGFuZCBwZXJoYXBzIGEgZnV0dXJlIG5leHQtZmlsZT1tYXgtZHVyYXRpb24pIHRvIG1ha2Ugc3VyZSB0aGF0CgkgIGVhY2ggZmlsZSBwYXJ0IHN0YXJ0cyBjbGVhbmx5IHdpdGggYSBrZXkgZnJhbWUgYW5kIHRoZSBhcHByb3ByaWF0ZSBoZWFkZXJzLgoJICBJbiBvcmRlciBmb3IgdGhpcyBwcm9wZXJ0eSB0byB3b3JrIGNvcnJlY3RseSwgdXBzdHJlYW0gZWxlbWVudHMgc2hvdWxkIG1ha2UKCSAgc3VyZSB0aGFuIGFueSBoZWFkZXJzIHRoYXQgbmVlZCB0byBiZSB3cml0dGVuIGluIGEgc3RhbmRhbG9uZSBmaWxlIGFyZToKCSAgMSkgaW4gdGhlIHN0cmVhbWhlYWRlciBjYXBzIGZpZWxkCgkgIDIpIGFuZC9vciBpbiB0aGUgc3RyZWFtIGFzIG9uZSBvciBtb3JlIGJ1ZmZlcnMgbWFya2VkIHdpdGggR1NUX0JVRkZFUl9GTEFHX0hFQURFUgoJICB0aGF0IGFyZSBqdXN0IGJlZm9yZSB0aGUga2V5ZnJhbWUgYnVmZmVyCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBNUEVHLVRTL01QRUctUFMgZmlsZSBzZWdtZW50aW5nIGluCgkgIGNvbWJpbmF0aW9uIHdpdGggbXBlZ3RzbXV4IG9yIG1wZWdwc211eC4KCSAgT3JpZ2luYWwgcGF0Y2ggYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoyMDE1LTA1LTIwIDE2OjM3OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBVc2Ugc2luZ2xlLWluY2x1ZGUgaGVhZGVyIGZvciB0aGUgUlRTUCBsaWJyYXJ5CgoyMDE0LTEwLTI0IDIzOjQ3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogZG9uJ3QgdXNlIHNvb24tdG8tYmUtZGVwcmVjYXRlZCBnX2NhbmNlbGxhYmxlX3Jlc2V0KCkKCSAgRnJvbSB0aGUgQVBJIGRvY3VtZW50YXRpb246ICJOb3RlIHRoYXQgaXQgaXMgZ2VuZXJhbGx5IG5vdAoJICBhIGdvb2QgaWRlYSB0byByZXVzZSBhbiBleGlzdGluZyBjYW5jZWxsYWJsZSBmb3IgbW9yZQoJICBvcGVyYXRpb25zIGFmdGVyIGl0IGhhcyBiZWVuIGNhbmNlbGxlZCBvbmNlLCBhcyB0aGlzCgkgIGZ1bmN0aW9uIG1pZ2h0IHRlbXB0IHlvdSB0byBkby4gVGhlIHJlY29tbWVuZGVkIHByYWN0aWNlCgkgIGlzIHRvIGRyb3AgdGhlIHJlZmVyZW5jZSB0byBhIGNhbmNlbGxhYmxlIGFmdGVyIGNhbmNlbGxpbmcKCSAgaXQsIGFuZCBsZXQgaXQgZGllIHdpdGggdGhlIG91dHN0YW5kaW5nIGFzeW5jIG9wZXJhdGlvbnMuCgkgIFlvdSBzaG91bGQgY3JlYXRlIGEgZnJlc2ggY2FuY2VsbGFibGUgZm9yIGZ1cnRoZXIgYXN5bmMKCSAgb3BlcmF0aW9ucy4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkxMzIKCjIwMTUtMDUtMTggMjA6MTM6MDEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBSZXZlcnQgImRvYzogV29ya2Fyb3VuZCBndGtkb2MgaXNzdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTc5N2M4ZjhiMTJkN2Y0YzdhOTQ0NGM5NGYzNGY0ZDA4ZWM4NTk0NS4KCSAgVGhpcyBpcyBmaXhlZCBieSB0aGUgZ3RrLWRvYyAxLjIzIHJlbGVhc2UuCgkgIDxwYXJhPiBjYW5ub3QgY29udGFpbiA8cmVmc2VjdDI+OgoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3BhcmEuaHRtbAoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3JlZnNlY3QyLmh0bWwKCjIwMTUtMDUtMTggMTY6NDA6MjEgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIHJ0cGc3MjZwYXk6IGZpeCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU0NAoKMjAxNS0wNS0xOCAxNjozNDoxMyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICBydHBnNzI2ZGVwYXk6IGRvbid0IGxlYWsgaW5wdXQgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1NDMKCjIwMTUtMDUtMTggMTc6Mzg6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBRdWV1ZSBiYWQgcGFja2V0cyBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZW0KCSAgU28gd2UgY2FuIHNlbmQgdGhlbSBvdXQgb25jZSB3ZSBmb3VuZCB0aGUgbmV4dCwgY29uc2VjdXRpdmUgc2VxdWVuY2UgbnVtYmVyIGluCgkgIGNhc2Ugb25lIGlzIGZvbGxvd2luZy4KCjIwMTUtMDUtMTggMTc6Mzg6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBVc2UgZ19xdWV1ZV9mb3JlYWNoKCkgdG8gdW5yZWYgYWxsIGJ1ZmZlcnMgaW4gcXVldWVzCgoyMDE1LTA1LTE4IDE3OjE5OjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogUmVmYWN0b3Igc2VxbnVtIGNvbXBhcmlzb24gY29kZSBhIGJpdAoKMjAxNS0wNS0xOCAxNzowODo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IEFsbG93IHNlcXVlbmNlIG51bWJlciB3cmFwYXJvdW5kIGR1cmluZyBwcm9iYXRpb24KCjIwMTUtMDUtMTggMTc6MDc6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBNYWtlIHNlcXVlbmNlIG51bWJlciBjb21wYXJpc29uIGNvZGUgbW9yZSByZWFkYWJsZQoJICAuLi4gYnkgdXNpbmcgZ3N0X3J0cF9idWZmZXJfY29tcGFyZV9zZXFudW0oKSBhbmQgc2lnbmVkIGludGVnZXJzCgkgIGluc3RlYWQgb2YgaW1wbGljdGx5IHVzaW5nIGVmZmVjdHMgb2YgaW50ZWdlciBvdmVyL3VuZGVyZmxvd3MuCgoyMDE1LTA0LTIyIDE4OjU0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV2hlbiBkZXRlY3RpbmcgYSBodWdlIHNlcW51bSBnYXAsIHdhaXQgZm9yIDUgY29uc2VjdXRpdmUgcGFja2V0cyBiZWZvcmUgcmVzZXR0aW5nIGV2ZXJ5dGhpbmcKCSAgSXQgbWlnaHQganVzdCBiZSBhIGxhdGUgcmV0cmFuc21pc3Npb24gb3Igc3B1cmlvdXMgcGFja2V0IGZyb20gZWxzZXdoZXJlLCBidXQKCSAgcmVzZXR0aW5nIGV2ZXJ5dGhpbmcgd291bGQgbWVhbiB0aGF0IHdlIHdpbGwgY2F1c2UgYSBub3RpY2VhYmxlIGhpY2t1cC4gTGV0J3MKCSAgZ2V0IHNvbWUgY29uZmlkZW5jZSBmaXJzdCB0aGF0IHRoZSBzZXF1ZW5jZSBudW1iZXJzIGNoYW5nZWQgZm9yIHdoYXRldmVyCgkgIHJlYXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkyMgoKMjAxNS0wNS0xNiAyMzozNzowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBkb2M6IFdvcmthcm91bmQgZ3RrZG9jIGlzc3VlCgkgIFdpdGggZ3RrZG9jIDEuMjIsIHRoZSBYTUwgZ2VuZXJhdG9yIGZhaWxzIHdoZW4gYSBpdGVtaXplZGxpc3QgaXMKCSAgZm9sbG93ZWQgYnkgYSByZWZzZWN0Mi4gV29ya2Fyb3VuZCB0aGUgaXNzdWUgYnkgd3JhcHBpbmcgdGhlCgkgIHJlZnNlY3QyIGludG8gcGFyYS4KCjIwMTUtMDEtMjMgMTM6NTc6NDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogYXZvaWQgd3Jvbmcgd2FybmluZ3Mgb24gdW5rbm93biBub2RlIHR5cGVzCgkgIEFkZCAnbmFtZScgYW5kICdtZWFuJyBmb3VyY2NzLCBhcyB3ZSBoYW5kbGUgdGhlbS4gUmlnaHQgbm93IGVhY2ggdXNlIHdvdWxkCgkgIHRyaWdnZXIgYSB3YXJuaW5nLgoKMjAxNS0wNS0wOCAxOToxMzowMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJICBydHBnNzI2ZGVwYXk6IGFkZCBibG9ja19hbGlnbiB0byBvdXRwdXQgY2FwcwoJICBJdCBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IG5lZ290aWF0ZSBjYXBzIHdpdGggbWF0cm9za2FtdXgKCSAgYW5kIG1vc3Qgb3RoZXIgbXV4ZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTI5CgoyMDE1LTA1LTEyIDEzOjQxOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZpeCB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiB3aXRoID4xIGNoYW5uZWxzCgkgIGlucHV0X3NhbXBsZXMgaXMgdGhlIG51bWJlciBvZiBmcmFtZXMsIGJ1dCB3ZSB1c2VkIGl0IGFzIHRoZSBudW1iZXIgb2YKCSAgc2FtcGxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIwNAoKMjAxNS0wNS0xMiAxMjoxMzoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwWzg5XWVuYzogUHJvcGVybHkgY29udmVydCBiZXR3ZWVuIEdTdHJlYW1lciBhbmQgZW5jb2RlciB0aW1lYmFzZQoJICAuLi4gYnkgc3dpdGNoaW5nIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3Igd2hlbiBzY2FsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTIyCgoyMDE1LTA1LTExIDEzOjMzOjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBbODldZW5jOiBEb24ndCBzZXQgdGltZWJhc2UgZnJvbSB0aGUgZnJhbWVyYXRlCgkgIFRoZSBmcmFtZXJhdGUgdmVyeSBvZnRlbiBpcyBqdXN0IGFuIGluZGljYXRpb24gb2YgdGhlIGlkZWFsIGZyYW1lcmF0ZSwgbm90IHRoZQoJICBhY3R1YWwgZnJhbWVyYXRlIG9mIHRoZSBzdHJlYW0uIEJ5IGp1c3QgdXNpbmcgdGhlIGZyYW1lcmF0ZSwgd2UgY29uZnVzZSB0aGUKCSAgcmF0ZSBjb250cm9sIGFsZ29yaXRobSBhbGdvcml0aG0gYXMgbXVsdGlwbGUgZnJhbWVzIHdpbGwgbWFwIHRvIHRoZSBzYW1lIFBUUwoJICBvciBoYXZlIGR1cmF0aW9ucyBvZiAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTIyCgoyMDE1LTA1LTEwIDE0OjIxOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgdGVzdHM6IHdhdnBhY2twYXJzZTogZml4IHVuaXQgdGVzdAoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjM3CgoyMDE1LTA1LTEwIDExOjM0OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZW1wMmVuYy5jOgoJICBkb2NzOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZXMgaW4gZWxlbWVudCBkb2NzCgkgIE1vc3RseSBnc3QtbGF1bmNoIC0+IGdzdC1sYXVuY2gtMS4wLCBidXQgYWxzbwoJICB1c2UgYXV0b2F1ZGlvc2luay9hdXRvdmlkZW9zaW5rIGluIG1vcmUgcGxhY2VzCgkgIGFuZCB1cGRhdGUgcGlwZWxpbmVzIGEgbGl0dGxlIG9yIGZsZXNoIG91dAoJICBkZXNjcmlwdGlvbnMuCgoyMDE1LTA1LTEwIDExOjM0OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBkb2NzOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZXMgaW4gZWxlbWVudCBkb2NzCgkgIE1vc3RseSBnc3QtbGF1bmNoIC0+IGdzdC1sYXVuY2gtMS4wLCBidXQgYWxzbwoJICB1c2UgYXV0b2F1ZGlvc2luay9hdXRvdmlkZW9zaW5rIGluIG1vcmUgcGxhY2VzCgkgIGFuZCB1cGRhdGUgcGlwZWxpbmVzIGEgbGl0dGxlIG9yIGZsZXNoIG91dAoJICBkZXNjcmlwdGlvbnMuCgoyMDE1LTA1LTEwIDExOjA1OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJICBkb2NzOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZXMgaW4gZWxlbWVudCBkb2NzCgkgIE1vc3RseSBnc3QtbGF1bmNoIC0+IGdzdC1sYXVuY2gtMS4wCgkgIFVzZSBhdXRvdmlkZW9zaW5rL2F1dG9hdWRpb3NpbmsgbW9yZSBvZnRlbi4KCSAgU3ByaW5rbGUgc29tZSBjb252ZXJ0ZXJzIGhlcmUgYW5kIHRoZXJlLgoKMjAxNS0wNS0wOSAxOTo0ODo1NSArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUy5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTYzCgoyMDE1LTA1LTEwIDEwOjUyOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogbWlub3IgZXJyb3IgbWVzc2FnZSBjbGVhbi11cAoJICBEb24ndCBwdXQgZmlsZW5hbWUgaW4gZXJyb3IgbWVzc2FnZSBzaG93biB0byB1c2VyLgoKMjAxNS0wNS0wNyAxNjoyNTozNiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBidWZmZXIgbGVhayB3aGVuIHN0b3JlZCB0byBzZWVrdGFibGUKCSAgRml4IGEgbGVhayB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLnBsYXliYWNrLmNoYW5nZV9zdGF0ZV9pbnRlbnNpdmUuc2FtcGxlc19tdWx0aW1lZGlhX2N4X2ZsYWNfWWVzdGVyZGF5X2ZsYWMKCSAgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkwNzIKCjIwMTUtMDUtMDcgMTc6MTA6MzcgKzA5MDAgIFBhdWwgSHl1bmlsIDxwYXVsLmh5dW5pbEBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MKCSAgVGhlIGdzdC1sYXVuY2ggc2NyaXB0IGZvciBleGFtcGxlIGxhdW5jaCBsaW5lIHRvIHRlc3QgcXRkZW11eCBpcwoJICBtaXNzaW5nIGEgcXVldWUgYmVmb3JlIHRoZSBkZWNvZGViaW5zLCBvdGhlcndpc2UgdGhlIGdzdC1sYXVuY2gtMS4wCgkgIGNvbW1hbmQgd29uJ3Qgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTA1NAoKMjAxNS0wNS0wNyAxNDo1MTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgUmV2ZXJ0ICJydHBzZXNzaW9uOiBBbHNvIHJlcG9ydCBpbnRlcm5hbCBzb3VyY2VzIGluIG9uLW5ldy1zc3JjIGFuZCBvbi1zc3JjLWFjdGl2ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMjJlYzQ5NjMyOGU2YmE4ZWRiZjJkMDcxZDU2MDhiMmFmMjgzMWU4LgoJICBBcHBsaWNhdGlvbiBjb2RlIG1pZ2h0IGV4cGVjdCB0aGF0IGl0IG9ubHkgZ2V0cyBleHRlcm5hbCBzb3VyY2VzIG9uIHRob3NlCgkgIHNpZ25hbHMsIGFuZCBnZXQgY29uZnVzZWQgYnkgdGhpcy4gSWYgYW55dGhpbmcgd2Ugd291bGQgbmVlZCB0byBhZGQgbmV3CgkgIHNpZ25hbHMuCgoyMDE1LTAzLTI1IDE1OjI3OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBbHNvIHJlcG9ydCBpbnRlcm5hbCBzb3VyY2VzIGluIG9uLW5ldy1zc3JjIGFuZCBvbi1zc3JjLWFjdGl2ZQoJICBXaXRob3V0IHRoaXMgaXQgc2VlbXMgaW1wb3NzaWJsZSBmb3IgYW4gYXBwbGljYXRpb24gdG8gZWFzaWx5IGdldCBub3RpZmllZAoJICBhYm91dCB0aGUgaW50ZXJuYWwgc3NyY3MgdGhhdCBhcmUgY3JlYXRlZCwgZS5nLiBzZW5kZXIgc291cmNlcywgYW5kIGFsc28KCSAgdG8ga25vdyB3aGVuIHRoZXkgYXJlIGFjdGl2ZSBhbmQgcHJvZHVjZSBSVENQIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY3NDcKCjIwMTUtMDUtMDQgMTk6MjY6MTQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggZnJhbWUgbGVha3MgaW4gaGFuZGxlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24KCSAgaGFuZGxlX2ZyYW1lKCkgaXMgc3VwcG9zZWQgdG8gY29uc3VtZSBAZnJhbWUsIHNvIGlmIHdlIGRvbid0IGNhbGwKCSAgZ3N0X3ZpZGVvX2RlY29kZXJfZHJvcF9mcmFtZSgpIG9yIGdzdF92aWRlb19kZWNvZGVyX2ZpbmlzaF9mcmFtZSgpIHdlIGhhdmUgdG8KCSAgcmVsZWFzZSBpdCBtYW51YWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODkwOQoKMjAxNS0wNS0wNCAxNjo1MDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHVwIGxhc3QgY29tbWl0CgoyMDE1LTA1LTA0IDE2OjQ2OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBPbmx5IGRvIFJUWCB3aGVuIHVzaW5nIGEgZmVlZGJhY2sgcHJvZmlsZQoKMjAxNS0wNS0wNCAxMzo1MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVGhlIHN0YXRzIG1pbl9pbnRlcnZhbCBpcyBpbiBzZWNvbmRzLCBub3QgbmFub3NlY29uZHMKCSAgV2UgaGF2ZSB0byBzY2FsZSBpdCB0byBjb21wYXJlIGl0IGFnYWluc3Qgb3VyIGNsb2NrIHRpbWVzLgoKMjAxNS0wNS0wNCAxMTozODoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogT25seSByZXR1cm4gVFJVRSBpZiBlYXJseSBmZWVkYmFjayB3YXMgcmVxdWVzdGVkIGFscmVhZHkgYW5kIGl0J3MgZWFybHkgZW5vdWdoCgoyMDE1LTA0LTMwIDE1OjQyOjM0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiByZW1vdmUgdW51c2VkIHByb3BlcnR5IGVudW0gaXRlbXMKCjIwMTUtMDQtMzAgMTI6MTM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGJ1ZmZlciBsZWFrIG9uIGVvcyBpbiBwdXNoIG1vZGUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgR3VpbGxhdW1lIERlc21vdHRlcy4KCSAgc2NlbmFyaW86IHZhbGlkYXRlLmh0dHAucGxheWJhY2suc2Vla193aXRoX3N0b3AucmF3X2gyNjRfMV9tcDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODYxNwoKMjAxNS0wNC0yOSAxOTo0MToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBmb3Igc2l6ZXMgb2YgdGhlIHJkcmYgKHJlZGlyZWN0KSBhdG9tIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGRhdGEgYW5kIHVzZSBnX3N0cm5kdXAoKSBpbnN0ZWFkIG9mIGdfc3RyZHVwKCkKCSAgVGhhbmtzIHRvIFJhbHBoIEdpbGVzIGZvciByZXBvcnRpbmcgdGhpcy4KCjIwMTUtMDQtMjkgMTU6NTI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IE9ubHkgZW5hYmxlIHJldHJhbnNtaXNzaW9ucyBpZiB0aGVyZSBpcyByZXRyYW5zbWlzc2lvbiBpbmZvIGluIHRoZSBTRFAKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIHNlbmQgZWFybHkgUlRDUCBhbmQgTkFDS3MgaW4gbm9uLWZlZWRiYWNrIHNlc3Npb25zCgkgIHRvbywgd2hpY2ggd2lsbCBjb25mdXNlIHNlcnZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg2MjcKCjIwMTUtMDItMTEgMTg6MDk6MjQgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogZXh0cmFjdCByZWNvcmRpbmcgdGltZQoJICBFeHRyYWN0cyB0aGUgcmVjb3JkZWQgdGltZSBvZiB0aGUgZHYgZmlsZSBmcm9tCgkgIHRoZSBtZXRhZGF0YSBhbmQgcHV0cyBpdCBpbnRvIHRoZSBnbG9iYWwgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzY1NwoKMjAxNS0wNC0yOCAxNTo1OToyNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHNlZWsgZXZlbnQgbGVhawoJICBnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQoKSBkb2Vzbid0IGNvbnN1bWUgdGhlCgkgIGV2ZW50IHNvIHdlIGhhdmUgdG8gdW5yZWYgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1ODQKCjIwMTUtMDQtMjggMTU6NDI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFNlbmQgcGVuZGluZyB0YWdzIHdoZW4gYWRkaW5nIGEgbmV3IHBhZAoJICBXZSBtaWdodCd2ZSBwYXJzZWQgdGhvc2UgdGFncyBiZWZvcmUgYWxyZWFkeSBhbmQgdHJpZWQgdG8gcHVzaCB0aGVtIHRvCgkgIG5vbi1leGlzdGluZyBwYWRzIGJlZm9yZS4gTm93IGxldCdzIGRvIGl0IGZvciByZWFsLgoKMjAxNS0wNC0yMyAxODo1NzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBBdmVyYWdlIFJUQ1AgcGFja2V0IHNpemUgaXMgaW4gYnl0ZXMsIGJhbmR3aWR0aHMgaW4gYml0cwoJICBXZSBuZWVkIHRvIGNvbnZlcnQgdGhlIHNpemUgdG8gYml0cyBmb3Igb3VyIGNhbGN1bGF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0yMyAxODo1MzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBVc2UgdGhlIHNhbWUgbG93ZXIgbGltaXQgZm9yIFJUQ1AgYmFuZHdpZHRoIHRvIHN0b3Agc2VuZGluZyBSVENQIGV2ZXJ5d2hlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0xNCAxODo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBVc2UgYmFuZHdpZHRoIGNhbGN1bGF0aW9uIGJ5IGRlZmF1bHQgaW5zdGVhZCBvZiBzb21lIGFyYml0cmFyeSBoYXJkY29kZWQgdmFsdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0yMyAxODo0OTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQmFuZHdpZHRoIGlzIHN1cHBvc2VkIHRvIGJlIGluIGJpdHMvcywgbm90IGJ5dGVzL3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0yNyAxNjozNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBSVFggdW5pdCB0ZXN0CgkgIFRoZSBjYWxjdWxhdGlvbnMgd2VyZSBhIGJpdCBvZmYgZXZlcnl3aGVyZSwgZXZlbiBiZWZvcmUgdGhlIGNoYW5nZXMgZG9uZQoJICByZWNlbnRseSB0byB0aGUgZGVsYXkgZm9yIFJUWCBvZiBleHBlY3RlZCBmdXR1cmUgcGFja2V0cy4gSXQgb25seSB3b3JrZWQgYnkKCSAgYWNjaWRlbnQsIGJ1dCBub3cgdGhlIGNhbGN1bGF0aW9ucyBhcmUgYWxsIGNvcnJlY3QgYWdhaW4uIEhvcGVmdWxseS4KCjIwMTUtMDQtMjcgMTE6MjI6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFJlbmFtZSBwcm9wZXJ0eSBlbnVtcyBmcm9tIEFSR18gdG8gUFJPUF8KCSAgUHJvcGVydHkgZW51bSBpdGVtcyBzaG91bGQgYmUgbmFtZWQgUFJPUF8gZm9yIGNvbnNpc3RlbmN5IGFuZCByZWFkYWJpbGl0eS4KCjIwMTUtMDQtMjUgMDI6NDk6NTggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggInN0YXRzIiBwcm9wZXJ0eSBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MzYKCjIwMTUtMDQtMjYgMTc6NTQ6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIG9ic29sZXRlIEFuZHJvaWQgYnVpbGQgY3J1ZnQKCSAgVGhpcyBpcyBub3QgbmVlZGVkIGFueSBsb25nZXIuCgoyMDE1LTA0LTI0IDEzOjU1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IHByaW50IHRoZSBwcm9wZXJ0eSB2YWx1ZXMgd2hlbiBzZXQKCSAgSW5zdGVhZCBvZiBwcmludGluZyB0aGUgY3VycmVudGx5IHVzZWQgdmFsdWVzLiBUaGUgbG9nIGlzIG1lYW50CgkgIHRvIHNob3cgd2hhdCB0aGUgcHJvcGVydGllcyBjaGFuZ2VkIHRvLCBub3Qgd2hhdCBpcyBiZWluZyBjdXJyZW50bHkKCSAgdXNlZC4KCjIwMTUtMDQtMjQgMTc6MDE6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICByZW1vdmUgdW51c2VkIGVudW0gaXRlbXMgUFJPUF9MQVNUCgkgIFRoaXMgd2VyZSBwcm9iYWJseSBhZGRlZCB0byB0aGUgZW51bXMgZHVlIHRvIGNhcmdvIGN1bHQgcHJvZ3JhbW1pbmcgYW5kIGFyZQoJICB1bnVzZWQuIFJlbW92aW5nIHRoZW0uCgoyMDE1LTA0LTI0IDAwOjMwOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggaW5maW5pdGUgbG9vcCBmb3IgdmVyeSBsb3cgaW50ZXJ2YWwgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1MTUKCjIwMTUtMDQtMjMgMTY6MDg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRlZmluZSBHU1RfQ0hFQ0tfVEVTVF9FTlZJUk9OTUVOVF9CRUFDT04KCSAgTWFrZSBzdXJlIHRoZSB0ZXN0IGVudmlyb25tZW50IGlzIHNldCB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6MDg6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjE0IGFuZCBhdXRvY29uZiB0byAyLjY5CgkgIFRoaXMgaXMgb25seSByZXF1aXJlZCBmb3IgYnVpbGRzIGZyb20gZ2l0LCBwZW9wbGUgY2FuIHN0aWxsCgkgIGJ1aWxkIHRhcmJhbGxzIGlmIHRoZXkgb25seSBoYXZlIG9sZGVyIGF1dG90b29scy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6MDY6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoKMjAxNS0wNC0yMyAwOTo1NTo1OSArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IFJUQ1AgY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzUzCgoyMDE1LTA0LTIyIDIwOjI0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV2hlbiByZXF1ZXN0IHJldHJhbnNtaXNzaW9ucyBmb3IgZnV0dXJlIHBhY2tldHMsIGNvbnNpZGVyIHRoZSBwYWNrZXQgc3BhY2luZyBpbiB0aGUgZXh0cmEgZGVsYXkKCSAgV2Ugbm93IHRha2UgdGhlIG1heGltdW0gb2YgMipqaXR0ZXIgYW5kIDAuNSpwYWNrZXRfc3BhY2luZyBmb3IgdGhlIGV4dHJhCgkgIGRlbGF5LiBJZiBqaXR0ZXIgaXMgdmVyeSBsb3csIHRoaXMgc2hvdWxkIHByZXZlbnQgdW5uZWNlc3NhcnkgcmV0cmFuc21pc3Npb24KCSAgcmVxdWVzdHMgdG8gc29tZSBkZWdyZWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNDEKCjIwMTUtMDQtMjIgMTk6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBUYWtlIGEgcnVubmluZyBhdmVyYWdlIG9mIHRoZSBwYWNrZXQgc3BhY2luZ3MgaW5zdGVhZCBvZiBqdXN0IHRoZSBsYXRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA0MQoKMjAxNS0wNC0xMyAxMToyMDo0MCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgInJ0eC1uZXh0LXNlcW51bSIgcHJvcGVydHkKCSAgSWYgdGhpcyBpcyBzZXQgdG8gRkFMU0UsIHJ0cGppdHRlcmJ1ZmZlciB3aWxsIG5vdCByZXF1ZXN0IHJldHJhbnNtaXNzaW9ucyBmb3IKCSAgZnV0dXJlIHBhY2tldHMgYmFzZWQgb24gd2hlbiB0aGV5IGFyZSBlc3RpbWF0ZWQgdG8gYXJyaXZlLgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDQxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTUtMDQtMjIgMTk6Mjk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0eHJlY2VpdmU6IFB1dCBkZWJ1ZyBvdXRwdXQgZm9yIHJldHJhbnNtaXNzaW9uIHJlcXVlc3RzIGF0IHRoZSByaWdodCBwbGFjZQoJICBCZWZvcmUgaXQgd2FzIG9ubHkgZXZlciBwcmludGVkIG9uY2UgZm9yIGV2ZXJ5IHRpbWUgYSBzc3JjIHdhcyBhc3NvY2lhdGVkIHdpdGgKCSAgYSBzcGVjaWZpYyBzdHJlYW0uCgoyMDE1LTA0LTIyIDE4OjA1OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZG9uJ3QgYWRkIHRoZSBzYW1lIGludGVybGFjZSBtb2RlIHR3aWNlCgkgIFNvbWUgZHJpdmVycyBtb2RpZnkgdGhlIGludGVybGFjZSBtb2RlIHRvIHByb2dyZXNzaXZlLCBubyBtYXR0ZXIgd2hhdAoJICBpbnB1dCB5b3UgZ2l2ZSB0aGVtLCBtYWtlIHN1cmUgdGhhdCB3ZSBkb24ndCBhZGQgdGhlIHNhbWUgaW50ZXJsYWNlIG1vZGUKCSAgdHdpY2UuCgoyMDE1LTA0LTIxIDE2OjM0OjIxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBmaXggZHluYW1pYyBjaGFuZ2VzIG9uIGJhbmRzCgkgIFdoZW4gd2UgYXJlIGluIHBhc3N0aHJvdWdoLCB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIGRvZXNuJ3QgcnVuIGFuZCBpZiB0aGUKCSAgcGFzc3Rocm91Z2ggY2hlY2sgaXMgaW4gdGhpcyBmdW5jdGlvbiBpdCB3aWxsIG5ldmVyIGJlIGRlYWN0aXZhdGVkLiBGaXggdGhpcyBieQoJICBjaGVja2luZyBkaXJlY3RseSB3aGVuZXZlciBhIGdhaW4gaXMgY2hhbmdlZC4KCSAgQWxzbyBzZXQgdGhlIHBhc3N0aHJvdWdoIHRvIFRSVUUgYXQgaW5pdCBiZWNhdXNlIHRoZSBnYWlucyBkZWZhdWx0IHRvIDAsIHNvIHdlCgkgIGNhbiBwYXNzdGhyb3VnaCB1bnRpbCBhbnkgZ2FpbiBwcm9wZXJ0eSBpcyBjaGFuZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDY4CgoyMDE1LTA0LTIyIDEwOjMwOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogSU5TVEFMTDoKCSAgUmVtb3ZlIElOU1RBTEwgZmlsZQoJICBhdXRvdG9vbHMgYXV0b21hdGljYWxseSBnZW5lcmF0ZSB0aGlzLCBhbmQgd2hlbiB1c2luZyBkaWZmZXJlbnQgdmVyc2lvbnMKCSAgZm9yIGF1dG9nZW4uc2ggdGhlcmUgd2lsbCBhbHdheXMgYmUgY2hhbmdlcyB0byBhIGZpbGUgdHJhY2tlZCBieSBnaXQuCgoyMDE1LTA0LTIyIDEwOjMwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTElDRU5TRV9yZWFkbWU6CgkgIFJlbW92ZSBMSUNFTlNFX3JlYWRtZQoJICBJdCdzIGNvbXBsZXRlbHkgb3V0ZGF0ZWQgYW5kIGp1c3QgY29uZnVzaW5nLCBiZXR0ZXIgaWYgcGVvcGxlIGFyZQoJICBmb3JjZWQgdG8gbG9vayBhdCB0aGUgYWN0dWFsIGNvZGUgaW4gcXVlc3Rpb24gdGhhbiB0cnVzdGluZyB0aGlzIGZpbGUuCgoyMDE1LTA0LTIxIDE1OjIxOjMzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBjYXN0IHVudXNlZCByZXR1cm4gdG8gdm9pZAoJICBRdWVsbCB1bmNoZWNrZWQgcmV0dXJuIHZhbHVlIGRlZmVjdCBieSBjYXN0aW5nIHRoZSByZXR1cm4gdmFsdWUgdG8gdm9pZCBhbmQKCSAgbWFraW5nIGl0IGV4cGxpY2l0IGl0IGlzIGdvaW5nIHRvIGJlIGlnbm9yZWQuCgkgIENJRCAjMjA2MDMxCgoyMDE1LTA0LTE3IDEzOjA4OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IG9wdGltaXplIHZweCBpbWFnZSB0byBnc3RidWZmZXIgY29weSB3aGVuIHN0cmlkZXMgbWF0Y2gKCSAgU29sdmluZyB0aGlzIEZJWE1FLiBDb3B5IHRoZSBmdWxsIHBsYW5lIHdoZW4gc3RyaWRlcyBhcmUgdGhlIHNhbWUKCjIwMTUtMDQtMTYgMTU6MTE6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwOWRlYzogb3B0aW1pemUgdnB4IGltYWdlIHRvIGdzdGJ1ZmZlciBjb3B5IHdoZW4gc3RyaWRlcyBtYXRjaAoJICBTb2x2aW5nIHRoaXMgRklYTUUuIENvcHkgdGhlIGZ1bGwgcGxhbmUgd2hlbiBzdHJpZGVzIGFyZSB0aGUgc2FtZQoKMjAxNS0wNC0xNyAxMzozMjo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggbWVtb3J5IGxlYWsKCjIwMTUtMDQtMTcgMDY6NTE6NDYgKzAwMDAgIEFsZXggTydLb25za2kgPGFsZXhhbmRlcm9rb25za2lAZ21haWwuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBGaXggc2VnZmF1bHQgaWYgbWV0YWRhdGEtaW50ZXJ2YWwgaXMgMAoJICBQcmV2ZW50cyBhbiBleHRyYSB1bnJlZiBvZiBHc3RCdWZmZXIgd2hlbiBwYXNzaW5nIGEgbm9uLWljeSBzdHJlYW0gdGhyb3VnaAoJICBpY3lkZW11eCB3aXRoIG1ldGFkYXRhLWludGVydmFsIHNldCB0byAwLgoJICBSZXByb2R1Y2libGUgd2l0aDoKCSAgZ3N0LWxhdW5jaC0xLjAgZmlsZXNyYyBsb2NhdGlvbj1+L3Rlc3Rzb25nLm1wMyAhIFwKCSAgJ2FwcGxpY2F0aW9uL3gtaWN5LG1ldGFkYXRhLWludGVydmFsPShpbnQpMCcgISBpY3lkZW11eCAhIGRlY29kZWJpbiAhIHdhdmVuYyAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249fi90ZXN0c29uZy53YXYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODAyNAoKMjAxNS0wNC0xNyAxMTo1NDoyMyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZng6IGZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzCgkgIEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwMjIKCjIwMTUtMDQtMTUgMTg6MjI6MzcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBmaXggc3BlbGxpbmcgaW4gZGVidWcgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzkzNgoKMjAxNS0wNC0xNiAxNjozMzo0NCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkgIHRlc3RzOiBzZWxlY3RhYmxlIGFtb3VudCBvZiBiYW5kcyBpbiBlcXVhbGl6ZXIgZGVtbwoJICBBZGRpbmcgYW4gb3B0aW9uIGluIHRoZSBlcXVhbGl6ZXIgZGVtbyB0byBtYWtlIHRoZSBudW1iZXIgb2YgYmFuZHMgc2VsZWN0YWJsZS4KCjIwMTUtMDQtMTYgMTU6MzE6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2UvcnRwcnR4c2VuZDogQWxzbyBwYXNzIGNvcnJlY3Qgc2VxbnVtLW9mZnNldCBhbmQgcGF5bG9hZCB0byB0aGUgUlRYIHJ0cHNvdXJjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Mzk0CgoyMDE1LTA0LTA2IDEyOjU2OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUcmFjayBSVFggc3NyYyBjYXBzCgkgIFRoaXMgaXMgbmVlZGVkIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIFNSIGZvciBSVFggc3RyZWFtIGNvcnJlY3RseSAodGhlCgkgIGNsb2NrIHJhdGUgaXMgcmVxdWlyZWQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Mzk0CgoyMDE1LTA0LTE0IDEzOjU2OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBDb3B5IG92ZXIgdGltZXN0YW1wcyBmcm9tIHRoZSBvcmlnbmFsIGJ1ZmZlcnMgdG8gdGhlIFJUWCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczOTQKCjIwMTUtMDQtMTYgMTY6MDE6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJICB0ZXN0czogc3dpdGNoIGVxdWFsaXplciBkZW1vIHRvIHBsYXkgZnJvbSB1cmkKCSAgU3dpdGNoIHRoZSBlcXVhbGl6ZXItbmJhbmRzIGRlbW8gdG8gdXNlIHVyaWRlY29kZWJpbiwgc28gdXNlcnMgY2FuIGxpc3RlbiB0bwoJICBzb21ldGhpbmcgbW9yZSBwbGVhc2FudCB0aGFuIHdoaXRlIG5vaXNlLiBJZiBhbnlib2R5IG1pc3NlcyB0aGUgd2hpdGUgbm9pc2UKCSAgYSB1cmkgaGFuZGxlciB0byBhdWRpb3Rlc3RzcmMgY2FuIGJlIHVzZWQuCgoyMDE1LTA0LTE2IDExOjE3OjM4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSAgdGVzdHM6IGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZXF1YWxpemVyIGRlbW8KCSAgUmVuYW1lIHZhcmlhYmxlIG5hbWUgdG8gbWFrZSBpdCBtb3JlIHJlYWRhYmxlLCBhZGQgY29tbWVudHMgZm9yIHRoZSB0aHJlZQoJICBzY2FsZXMgY3JlYXRlZCBwZXIgYmxvY2ssIGFuZCBzZXQgdGhlIHdpbmRvdyB0aXRsZS4KCjIwMTUtMDQtMTUgMTc6MzI6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJICB0ZXN0czogYWRkIG1pc3NpbmcgbGljZW5zZSBoZWFkZXIgZm9yIGVxdWFsaXplciBkZW1vCgoyMDE1LTA0LTE2IDEzOjA5OjE5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdGFnIGxpc3QgbGVha3Mgb24gZXJyb3IgcGF0aHMKCjIwMTUtMDQtMTYgMTI6MjM6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0YWcgbGlzdCBsZWFrIG9uIHVua25vd24gc3RyZWFtIHR5cGUKCjIwMTUtMDQtMDkgMTM6MTk6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtZ29vZC5zdXBwOgoJICBzdXBwcmVzc2lvbnM6IGlnbm9yZSBhbiBhcHBhcmVudCBidWcgaW4gc3RydG9kCgkgIEEgYnVmZmVyIG92ZXJyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTU0CgoyMDE1LTA0LTE1IDExOjA3OjI3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBkbyBub3QgYWNjZXNzIHByb3BlcnR5IHZhcmlhYmxlIHdpdGhvdXQgdGhlIG9iamVjdCBsb2NrLCB1c2UgdGhlIGxvY2FsIHN0YWNrIGNvcHkgaW5zdGVhZAoKMjAxNS0wNC0xNCAxODo0NTo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogYWRkIHByb2JlIG9uIHRoZSBtdWx0aXF1ZXVlJ3Mgc2luayBwYWQgaW5zdGVhZCBvZiB0aGUgZ2hvc3QgcGFkCgkgIGJlY2F1c2UgX3JlbGVhc2VfcGFkIHRyaWVzIHRvIHJlbGVhc2UgaXQgZnJvbSBjdHgtPnNpbmtwYWQsIHdoaWNoIGlzCgkgIG11bHRpcXVldWUncyBzaW5rIHBhZCwgYW5kIGN1cnJlbnRseSBmYWlscyBiZWNhdXNlIHRoZSBwcm9iZSBpcyBub3QKCSAgaW5zdGFsbGVkIHRoZXJlCgoyMDE1LTA0LTE0IDE5OjA4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eCo6IEZpeCB0eXBvcwoKMjAxNS0wNC0xNCAxNzoyNDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTm90IHNlbmRpbmcgZWFybHkgUlRDUCBub3cgYmVjYXVzZSBvZiBkaXRoZXJpbmcgbWVhbnMgd2Ugc2VuZCBpdCB3aXRoIHRoZSBuZXh0IGNvbXBvdW5kIHBhY2tldAoKMjAxNS0wNC0xNCAxNjoyNzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYSBiaXQgaWYgd2UgY2FuJ3QgYWxsb3cgZWFybHkgZmVlZGJhY2sKCjIwMTUtMDQtMDcgMTg6MDA6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBXaGVuIGRyb3BwaW5nIGludHJhIHBhY2tldCwgcmVxdWVzdCBrZXlmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjA4CgoyMDE1LTA0LTEzIDIwOjI1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ2hhbmdlIHJlc3luY2luZyBHU1RfV0FSTklORyB0byBHU1RfSU5GTwoJICBUaGlzIGFsc28gaGFwcGVucyBpbiB0aGUgdmVyeSBiZWdpbm5pbmcgd2hlbiB3ZSByZWNlaXZlIHRoZSBmaXJzdCBwYWNrZXQsIGEKCSAgd2FybmluZyB3b3VsZCBiZSB2ZXJ5IGNvbmZ1c2luZyBoZXJlLiBJbiBhbGwgcGxhY2VzIHdoZXJlIHdlIHNob3VsZCB3YXJuIGFib3V0CgkgIHRoaXMsIHdlIHdvdWxkJ3ZlIHByaW50ZWQgYSB3YXJuaW5nIGFscmVhZHkgYmVmb3JlLgoKMjAxNS0wNC0wMiAxMzoyNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBtaW5vciBkb2NzIGltcHJvdmVtZW50CgoyMDE0LTExLTA2IDEyOjA4OjAzICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCAicnR4LW1heC1yZXRyaWVzIiBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGFsbG93cyB0byBsaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmFuc21pc3Npb24KCSAgZm9yIGEgc3BlY2lmaWMgcGFja2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODY4CgoyMDE0LTExLTA0IDE1OjAwOjUyICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBleHBlY3RlZF9kdHMgY2FsYyBpbiBjYWxjdWxhdGVfZXhwZWN0ZWQKCSAgUmlnaHQgYWJvdmUgd2UgY29uc2lkZXIgbG9zdF9wYWNrZXQgcGFja2V0cywgZWFjaCBvZiB0aGVtIGhhdmluZyBkdXJhdGlvbiwKCSAgYXMgbG9zdCBhbmQgdHJpZ2dlcmVkIHRoZWlyIHRpbWVycyBpbW1lZGlhdGVseS4gQmVsb3cgd2UgdXNlIGV4cGVjdGVkX2R0cwoJICB0byBzY2hlZHVsZSByZXRyYW5zbWlzc2lvbiBvciBzY2hlZHVsZSBsb3N0IHRpbWVycyBmb3IgdGhlIHBhY2tldHMgdGhhdAoJICBjb21lIGFmdGVyIGV4cGVjdGVkX2R0cy4KCSAgQXMgd2UganVzdCB0cmlnZ2VyZWQgbG9zdF9wYWNrZXRzIHBhY2tldHMgYXMgbG9zdCwgdGhlcmUncyBubyBwb2ludCBpbgoJICBzY2hlZHVsaW5nIG5ldyB0aW1lcnMgZm9yIHRoZW0gYW5kIHdlIGNhbiBqdXN0IHNraXAgb3ZlciBhbGwgbG9zdCBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODY4CgoyMDE1LTAzLTIwIDE4OjIxOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWFrZSB0aGUgbmV4dCBvdXRwdXQgYnVmZmVyIGRpc2NvbnQgYWZ0ZXIgcmVzZXR0aW5nIHRoZSBqaXR0ZXJidWZmZXIKCSAgUmVzZXR0aW5nIHRoZSBqaXR0ZXJidWZmZXIgZHJvcHMgYWxsIHBhY2tldHMgYW5kIG90aGVyIHRoaW5ncywgYW5kIHdpbGwgY2F1c2UKCSAgYSBkaXNjb250aW51aXR5IGluIHRoZSBwYWNrZXRzIHJlY2VpdmVkIGJ5IHRoZSBkZXBheWxvYWRlcnMuIFRoZXkgc2hvdWxkIG5vdwoJICBhbHNvIGZsdXNoIGFueXRoaW5nIHRoZXkgaGFkIHBlbmRpbmcgYXMgdGhlIG5ldyBkYXRhIHdpbGwgc3RhcnQgYXQgYSBkaWZmZXJlbnQKCSAgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTUtMDQtMTAgMDk6MTc6MjYgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVwZGF0ZSBzZWdtZW50LnN0YXJ0IGFmdGVyIGtleS11bml0IHNlZWsKCSAgV2hlbiBkb2luZyBrZXkgdWludCBzZWVrLCBxdGRlbXV4IGNhbGxzIGdzdF9xdGRlbXV4X2FkanVzdF9zZWVrCgkgIHRvIGdldCBwcm9wZXIgb2Zmc2V0LiBBbmQgdGhlbiB0aGlzIG9mZnNldCBpcyBzZXQgdG8KCSAgc2VnbWVudC5wb3NpdGlvbiBhbmQgc2VnbWVudC50aW1lIGluIGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayBidXQKCSAgc2VnbWVudC5zdGFydCBpcyBub3QgdXBkYXRlZC4KCSAgQWZ0ZXIgdGhhdCwgYXBwbGljYXRpb24gc2VuZHMgc2VnbWVudCBxdWVyeSwKCSAgcXRkZW11eCBzZXRzIHN0YXJ0IGFuZCBzdG9wIHRvIHF1ZXJ5IHVzaW5nIGdzdF9zZWdtZW50X3RvX3N0cmVhbV90aW1lLiBEdWUKCSAgdG8gdGhlIHdyb25nIHZhbHVlIGluIHNlZ21lbnQuc3RhcnQsIHRoZSBzdG9wIHBvc2l0aW9uIGlzIHNtYWxsZXIgdGhhbgoJICBpdCBzaG91bGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY4MjIKCjIwMTUtMDQtMDcgMTY6MTI6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlIGRvX3B0cwoJICBXZSBhbHdheXMgd3JpdGUgdGhlIENUVFMgaW4gcXRtdXguIElkZWFsbHkgd2Ugb25seSB3YW50IHRvIGRvIHRoYXQKCSAgZm9yIHN0cmVhbXMgdGhhdCBuZWVkIERUUywgaXQgc2hvdWxkIGJlIHByZXNlbnQgb24gdGhlIHRyYWNrIGluZm9ybWF0aW9uCgkgIHJhdGhlciB0aGFuIGJlIGRlY2lkZWQgYmFzZWQgb24gZWFjaCBidWZmZXIKCjIwMTUtMDQtMDcgMDA6NTM6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBzdWJ0cmFjdGlvbiB0aGF0IG1ha2VzIFBUUy9EVFMgc3RhcnQgZnJvbSAwCgkgIEFzIHF0IHVzZXMgZHVyYXRpb25zLCBpdCBkb2Vzbid0IG1hdHRlciwgb25seSB0aGUgZGlmZmVyZW5jZQoJICBiZXR3ZWVuIGNvbnNlY3V0aXZlIGJ1ZmZlcnMgaXMgaW1wb3J0YW50LiBBbHNvLCBjb2xsZWN0cGFkcwoJICBhbHJlYWR5IHJlcGxhY2VzIFBUUy9EVFMgd2l0aCB0aGUgcnVubmluZyB0aW1lcyBmb3IgdGhlbS4KCjIwMTUtMDQtMDYgMjI6MzY6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWRkIHRlc3RzIHRvIHZlcmlmeSBpdCBoYW5kbGVzIG5vbi0wIHNlZ21lbnRzCgkgIEJvdGggaW5wdXQgc3RyZWFtcyBpbiB0aGlzIHRlc3QgaGF2ZSBhIHNlZ21lbnQuc3RhcnQgPSAxMHMsIHNvCgkgIG91dHB1dCBzaG91bGQgc3RhcnQgZnJvbSAwIGFueXdheS4KCSAgQW5vdGhlciB0ZXN0IGhhcyBib3RoIHN0YXJ0aW5nIGF0IG5vbi0wIHNlZ21lbnRzLCBidXQgdGhlIHJ1bm5pbmcKCSAgdGltZSBvZiBib3RoIHN0cmVhbXMgc2hvdWxkIHN0aWxsIHN0YXJ0IGZyb20gMAoKMjAxNS0wNC0wNiAyMDowMzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBzaW1wbGUgbXV4aW5nIHRlc3QKCSAgQWRkcyBhIG5ldyBzaW1wbGUgdGVzdCB0aGF0IHZlcmlmaWVzIHRoYXQgZGF0YSBpcyBwcm9wZXJseSBtdXhlZAoJICBhbmQgcHJlc2VydmVkLiAgUFRTLCBEVFMsIGR1cmF0aW9uIGFuZCBjYXBzIGFyZSB2ZXJpZmllZC4KCjIwMTUtMDQtMTAgMTA6NTk6MjYgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiByZW1vdmUgdW51c2VkIGZpZWxkcwoJICBSZW1vdmUgdGhlIGZpZWxkcyAtIGZvcm1hdCBhbmQgZnBzIGZyb20gc21wdGUKCSAgYXMgdGhleSBhcmUgdW51c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTk3CgoyMDE1LTA0LTEwIDEwOjI5OjQ3ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYS5jOgoJICB0ZXN0czogYWRkIHRlc3Qgc3VpdGUgZm9yIGFscGhhCgkgIEFkZGVkIHRlc3Qgc3VpdGUgZm9yIGFscGhhIGVsZW1lbnQgd2l0aCB0ZXN0IGNhc2VzCgkgIDEuIGFscGhhCgkgIDIuIGNocm9tYSBrZXlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzU5NQoKMjAxNS0wNC0wOSAxMjo1ODo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1nb29kLnN1cHA6CgkgIHN1cHByZXNzaW9uczogYWRkIGEgd2VsbCBrbm93biB6bGliIGluZmxhdGUgYnVnCgoyMDE1LTA0LTA5IDEyOjU4OjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogZml4IG11dGV4IGxlYWsKCjIwMTUtMDQtMDkgMTI6NTg6MDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBGaXggcnRwcnR4IHRlc3QgYnkgaGFuZGxpbmcgYnVmZmVyIGxpc3RzCgkgIENvbW1pdCAjMTAxOGFhIG1hZGUgcnRwcnR4c2VuZCBoYW5kbGUgYnVmZmVyIGxpc3RzLCBicmVha2luZwoJICB0aGUgdGVzdCB3aGljaCBwcm9iZXMgZm9yIGJ1ZmZlcnMsIGJ1dCBub3QgYnVmZmVyIGxpc3RzLgoJICBVc2UgYSB1dGlsaXR5IGZ1bmN0aW9uIHRvIHJ1biB0aGUgcHJvYmUgY2FsbGJhY2sgb24gZWFjaCBidWZmZXIKCSAgaW4gdGhlIGxpc3QgaW4gdHVybiBhbmQgcmVtb3ZlIGFueSBidWZmZXJzIHRoYXQgYXJlIGRyb3BwZWQuCgoyMDE1LTA0LTAxIDExOjE1OjM4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBpc29tcDQ6IFJlZmFjdG9yIHZhcmlvdXMgc3RhdGUgdmFyaWFibGVzIGludG8gYSBtdXhfbW9kZSB2YXIKCSAgSW5zdGVhZCBvZiBjaGVja2luZyB2YXJpb3VzIHN0YXRlIHZhcmlhYmxlcyBhcm91bmQgdGhlIG11eGVyLAoJICB0cmFjayB0aGUgY3VycmVudCBtdXhpbmcgbW9kZSBpbiBhIHNpbmdsZSAnbXV4X21vZGUnIGVudW0uCgkgIEFkZCBzb21lIGltcGxlbWVudGF0aW9uIG5vdGVzIGFib3V0IHRoZSBkaWZmZXJlbnQgbXV4IG1vZGVzCgoyMDE1LTA0LTA4IDE2OjQwOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFVzZSBBTV9URVNUU19FTlZJUk9OTUVOVAoJICBOZWVkZWQgYnkgdGhlIG5ldyBhdXRvbWFrZSB0ZXN0IHJ1bm5lcgoKMjAxNS0wNC0wOCAxMToxNzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogRml4IGZyYW1lc2l6ZSBwYXJzaW5nCgkgIFRoZSBzdHJpbmcgcGFzc2VkIHRvIHRoZSBwYXJzaW5nIGZ1bmN0aW9uIG9ubHkgY29udGFpbnMgYSBmcmFtZXNpemUsIGFuZAoJICBub3QgPHB0PiArIDxmcmFtZXNpemU+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0MTYKCjIwMTUtMDMtMjAgMTI6MTg6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGlwIGNodW5rIHNpemUgYWJvdmUgdGhlIHZhbGlkIG1heGltdW0gKDB4N2ZmZmZmZmYpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI1NjcKCjIwMTUtMDMtMjAgMDk6MDc6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGlwIGNodW5rIGxlbmd0aCB0byBhdmFpbGFibGUgZGF0YSAod2hlbiBrbm93bikKCSAgVGhpcyBwcmV2ZW50cyBzaWxseSBjaHVuayBsZW5ndGhzIGZyb20gcG9zc2libHkgb3ZlcmZsb3dpbmcKCSAgKGF0IGxlYXN0IHdoZW4gd2Uga25vdyB0aGUgYWN0dWFsIGRhdGEgbGVuZ3RoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjU2NwoKMjAxNS0wNC0wNiAyMDoxNzo1MiAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBhY2N1bXVsYXRlIHNlZ21lbnQgYmFzZXMgbWFudWFsbHkKCSAgZ3N0X3NlZ21lbnRfZG9fc2VlaygpIGRvZXMgdGhhdCBmb3IgdXMgYWxyZWFkeSwgYW5kIGRvaW5nIGl0IHR3aWNlCgkgIHdpbGwgYnJlYWsgbm9uLWZsdXNoaW5nIHNlZWtzIGluIGludGVyZXN0aW5nIHdheXMuIExlZnRvdmVyIGZyb20gMS4wCgkgIHBvcnRpbmcuCgkgIEFsc28gY29weSBvdmVyIHNlZ21lbnQgb2Zmc2V0IGFuZCBhcHBsaWVkX3JhdGUsIGp1c3QgaW4gY2FzZS4KCjIwMTUtMDQtMDYgMTk6MDg6MTAgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LXNlZ21lbnQtc2Vla3MuYzoKCSAgaWNsZXM6IEZpeCB3YWl0aW5nIGZvciBzZWdtZW50LWRvbmUgaWYgaXQgaGFwcGVucyB0b28gZmFzdAoJICBTb21ldGltZXMgd2UgY2FuIGdldCBzZWdtZW50LWRvbmUgYmVmb3JlIHdlIGdvdCBhc3luYy1kb25lLiBJZiB3ZSB3YWl0ZWQKCSAgZm9yIGFzeW5jLWRvbmUgb25seSwgdGhlIHNlZ21lbnQtZG9uZSB3b3VsZCBiZSBkcm9wcGVkIGFuZCB3ZSB3b3VsZCB3YWl0CgkgIGZvcmV2ZXIgZm9yIGl0IGEgZmV3IGxpbmVzIGJlbG93LgoKMjAxNS0wNC0wNiAxODo1NTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN0YmxfaW5kZXggaXMgdmFsaWQgZnJvbSAwIG9ud2FyZHMKCSAgSXQgaW5kaWNhdGVzIHRoZSBsYXN0IHNhbXBsZSBwYXJzZWQsIG5vdCB0aGUgbmV4dCBvbmUgdG8gcGFyc2UuCgkgIEFzIGl0IHN0YXJ0cyBpbiAtMSwgYW55IHZhbHVlIGZyb20gMCBvbndhcmRzIG1lYW5zIHRoYXQgaXQgaGFzCgkgIHNvbWUgdmFsaWQgZGF0YS4KCjIwMTUtMDQtMDUgMjA6MDY6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBkb2NzOiBtYWtlIEdzdFJUQ1BTeW5jIGVudW0gc2hvdyB1cCBpbiBydHBiaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzU4CgoyMDE1LTA0LTA1IDExOjQ1OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBSVFBKaXR0ZXJCdWZmZXJNb2RlIGVudW0gdG8gcnRwYmluIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM1OAoKMjAxNS0wNC0wNCAxMTo1NTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGNsb3NlIGZpbGVzIGJlZm9yZSBwb3N0aW5nIG1lc3NhZ2UKCSAgTWFrZXMgc3VyZSB0aGUgZmlsZXMgd2VyZSBwcm9wZXJseSBmbHVzaGVkIGFuZCBjbG9zZWQgYmVmb3JlCgkgIHRoZSBtZXNzYWdlIHJlYWNoZXMgdGhlIGFwcGxpY2F0aW9uCgoyMDE1LTAzLTMwIDEzOjU0OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IG11bHRpZmlsZTogaW5jcmVtZW50IHRlc3RzIHRvIGNoZWNrIGZvciBtdWx0aWZpbGUgbWVzc2FnZXMKCSAgQWxzbyB2ZXJpZnkgdGhhdCB0aGUgbXVsdGlmaWxlc2luayBmaWxlIG1lc3NhZ2VzIGFyZSBiZWluZyBjb3JyZWN0bHkKCSAgcG9zdGVkIHRvIHRoZSBidXMKCjIwMTUtMDMtMzAgMTI6NTE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogbXVsdGlmaWxlOiBoYW5kbGUgRklYTUUgZm9yIHByb3BlciBjaGVja2luZyB3aGVuIHRlc3QgZmluaXNoZWQKCSAgVXNlIGEgR3N0QnVzIGFuZCB3YWl0IGZvciBFT1MgdG8gZmluaXNoIHRoZSB0ZXN0cyBpbnN0ZWFkIG9mCgkgIHJlbHlpbmcgb24gc2xlZXBpbmcKCjIwMTUtMDMtMzAgMTE6MTQ6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IGZpbGUgbWVzc2FnZSBvbiBFT1MKCSAgV2hlbiBtdWx0aWZpbGVzaW5rIGlzIG9wZXJhdGluZyBpbiBhbnkgbW9kZSBvdGhlciB0aGFuIG9uZSBmaWxlCgkgIHBlciBidWZmZXIsIHRoZSBsYXN0IGZpbGUgY3JlYXRlZCB3b24ndCBoYXZlIGEgZmlsZSBtZXNzYWdlIHBvc3RlZAoJICBhcyBtdWx0aWZpbGVzaW5rIGRvZXNuJ3QgaGFuZGxlIHRoZSBFT1MgZXZlbnQuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYnkgdXNpbmcgdGhlIGxhc3QgcG9zaXRpb24gdG8gcG9zdCBhIGZpbGUKCSAgbWVzc2FnZSB3aGVuIEVPUyBpcyByZWNlaXZlZC4gVGhpcyBzaG91bGQgZW5zdXJlIGF0IGxlYXN0IHRoZQoJICB0aW1lIHJlbGF0ZWQgZGF0YSBhbmQgdGhlIGZpbGVuYW1lIGFyZSBwb3N0ZWQgdG8gdGhlIGFwcGxpY2F0aW9uCgkgIG9yIG90aGVyIGVsZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcwMDAKCjIwMTUtMDQtMDMgMTg6NTc6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjNzZhOGIgdG8gYzhmYjM3MgoKMjAxNS0wNC0wMyAwMjowODo1MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogR3VhcmQgYWdhaW5zdCA2NC1iaXQgb3ZlcmZsb3cKCSAgRm9yIGxhcmdlLWZpbGUgYXRvbXMsIGd1YXJkIGFnYWluc3Qgb3ZlcmZsb3cgaW4gdGhlIHNpemUgZmllbGQsCgkgIHdoaWNoIGNvdWxkIG1ha2UgdXMganVtcCBiYWNrd2FyZCBpbiB0aGUgZmlsZSBhbmQgY2F1c2UKCSAgaW5maW5pdGUgbG9vcHMuCgoyMDE1LTA0LTAxIDIzOjQ2OjEzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBpc29tcDQ6IE1ha2Ugbm9uLXNlZWthYmxlIGRvd25zdHJlYW0gYW4gZXJyb3IgaW4gbm9ybWFsIG1vZGUKCSAgV2hlbiBub3QgaW4gZmFzdC1zdGFydCBvciBmcmFnbWVudGVkIG1vZGUsIHdlIG5lZWQgdG8gYmUgYWJsZQoJICB0byByZXdyaXRlIHRoZSBzaXplIG9mIHRoZSBtZGF0IGF0b20sIG9yIGVsc2UgdGhlIG91dHB1dCBqdXN0CgkgIHdvbid0IGJlIHBsYXlhYmxlIC0gdGhlIG1kYXQgcGxhY2Vob2xkZXIgd2l0aCBzaXplID09IDAgd2lsbAoJICBjb3ZlciB0aGUgcmVzdCBvZiB0aGUgZmlsZSwgaW5jbHVkaW5nIGFueSBtb292IGF0b20gd2Ugd3JpdGUgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODA4CgoyMDE0LTAzLTE1IDE1OjIzOjAxICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2M3BheS8tZGVwYXk6IGFkZCBmcmFtZXNpemUgU0RQIGF0dHJpYnV0ZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDE2CgoyMDE0LTAzLTE1IDEzOjMzOjU2ICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheS8tZGVwYXk6IFJlbW92ZSBpbmNvcnJlY3RseSBpbnRyb2R1Y2VkIGZyYW1lc2l6ZSBTRFAgYXR0cmlidXRlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0MTUKCjIwMTUtMDMtMjcgMjE6MDk6NDQgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBkZXZpY2Ugc2VxdWVuY2Uvb2Zmc2V0IGNvcnJlY3Rpb24gaW4gY2FzZSBvZiByZW5lZ290aWF0aW9uCgkgIFRoZSB2NGwyIGRldmljZSByZXN0YXJ0cyB0aGUgc2VxdWVuY2UgY291bnRlciBpbiBjYXNlIG9mIHN0cmVhbW9mZi9zdHJlYW1vbiwKCSAgdGhlIEdTVCBvZmZzZXQgdmFsdWVzIGFyZSBzdXBwb3NlZCB0byBpbmNyZW1lbnQgc3RyaWN0bHkgbW9ub3RvbmljLCBzbwoJICBhZGp1c3QgdGhlIHNlcXVlbmNlIGNvdW50ZXIvb2Zmc2V0IHZhbHVlcyBpbiBjYXNlIG9mIGNhcHMKCSAgcmVuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ0MQoKMjAxNC0xMS0xNCAxNDoxODo1MSArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBhZGQgZnJhbWUgbG9zcyBkZXRlY3Rpb24KCSAgSW4gY2FzZSBvZiB2NGwyIGRyaXZlciBmaWxsZWQgb2Zmc2V0L3NlcXVlbmNlIHZhbHVlcyBhZGQgZnJhbWUKCSAgbG9zcyBkZXRlY3Rpb24gKGFuZCB3cml0ZSBhIHdhcm5pbmcgbWVzc2FnZSkuCgkgIE1vdmUgb2Zmc2V0IG1ldGEgZGF0YSBzZXR0aW5nIGFuZCBmcmFtZSBsb3NzIGNoZWNraW5nIGFmdGVyIHRoZQoJICB0aW1lc3RhbXAgYWRqdXN0bWVudCBjb2RlIHRvIGdldCBwcm9wZXIgdGltZXN0YW1wcyBmb3IgdGhlCgkgIHdhcm5pbmcgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ0MQoKMjAxNC0xMS0xNCAxMzo0ODo1MSArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1c2UgdjRsMiBjYXB0dXJlIGRldmljZSBzZXF1ZW5jZSBjb3VudGVyCgkgIFVzZSB0aGUgdjRsMiBjYXB0dXJlIGRldmljZSBzZXF1ZW5jZSBjb3VudGVyIGZvcgoJICBzZXR0aW5nIHRoZSBHc3RCdWZmZXIgb2Zmc2V0L29mZnNldF9lbmQgdmFsdWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQxCgoyMDE1LTAzLTMwIDEzOjEyOjM1ICswMjAwICBUb2JpYXMgTW9kc2NoaWVkbGVyIDx0b2JpYXMubW9kc2NoaWVkbGVyQGNldGl0ZWMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBc2sgdGhlIGRyaXZlciBhYm91dCBpdHMgcmVxdWlyZW1lbnRzIGZvciBtaW5fYnVmZmVycyBiZWZvcmUgaW5pdGlhdGluZyBidWZmZXIgcG9vbC4KCSAgSWYgcHJvcG9zZV9hbGxvY2F0aW9uKCkgaGFkIG5vdCBiZWVuIGNhbGxlZCB5ZXQsIGl0IHdhcyBwb3NzaWJsZSB0aGF0IHRoZSBkcml2ZXIgd2FzIG5vdCBhc2tlZCBhdCBhbGwuCgkgIEluIGJ1ZmZlciBwb29sOiBDb25zaWRlciBtaW5pbXVtIG51bWJlciBvZiBidWZmZXJzIHJlcXVlc3RlZCBieSBkcml2ZXIgd2hlbiBzZXR0aW5nIGNvbmZpZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjgzNAoKMjAxNS0wNC0wMSAxOTozMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJICBydHB2cDhkZXBheTogUGFyc2Ugd2lkdGgvaGVpZ2h0L3Byb2ZpbGUgZnJvbSBrZXlmcmFtZXMKCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBtdXggdGhlIHJlc3VsdCBpbnRvIGEgY29udGFpbmVyCgkgIHN1Y2ggYXMgbWF0cm9za2EuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMDgKCjIwMTUtMDQtMDEgMTk6MDE6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEV4cG9zZSBWUDggd2lkdGgvaGVpZ2h0IGxpbWl0YXRpb25zIGluIHRoZSBjYXBzIHRlbXBsYXRlCgkgIFRoZSBWUDggZm9ybWF0IHNwZWNpZmljYXRpb24gKFJGQyA2Mzg2IHNlY3Rpb24gMTguMSkgc3BlY2lmaWVzCgkgIHRoYXQgdGhlIG1heGltdW0gc2l6ZSBpcyAxNjM4M3gxNjM4My4KCjIwMTUtMDMtMzEgMDA6MjA6MTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHY6IFdoZW4gcGFzc2luZyBzZWVrIGV2ZW50IHVwc3RyZWFtLCBob2xkIGEgcmVmLgoJICBJbiBjYXNlIHVwc3RyZWFtIGNhbid0IGhhbmRsZSB0aGUgc2VlaywgbWFrZSBzdXJlIHdlCgkgIGtlZXAgYSByZWYgb24gdGhlIGV2ZW50IHRvIGF0dGVtcHQgdG8gaGFuZGxlIGl0IG91cnNlbHZlcy4KCjIwMTUtMDMtMjYgMTM6MzQ6NTMgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBmaXggR1ZhbHVlIGxlYWtzIHdoZW4gcGFyc2luZyB0YWdzCgkgIGdzdF90YWdfbGlzdF9hZGRfdmFsdWUoKSBkb2Vzbid0IGNvbnN1bWUgdGhlIEdWYWx1ZSB3ZSBwYXNzIHRvIGl0IHNvIHRoZXJlIGlzCgkgIG5vIHBvaW50IGNvcHlpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY4MTAKCjIwMTUtMDMtMjMgMjA6NTg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTIzIDIwOjU3OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTIzIDIwOjU2OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MgoKMjAxNS0wMy0yNyAxODo1ODozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHN0b3JlIHN0cmVhbSB0YWdzIGFuZCBwdXNoIGFzIHVwZGF0ZWQKCSAgTmV3IHRhZ3MgY2FuIGJlIGZvdW5kIG9uIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgZmlsZSwgc28gdGhpcyBwYXRjaAoJICBrZWVwcyB0aGUgc3RyZWFtIHRhZ2xpc3RzIGFyb3VuZCBmb3IgdGhlIGxpZmUgY3ljbGUgb2YgdGhlIHBhZAoJICBhbmQgYWRkcyB0aG9zZSBuZXcgdGFncyBhcyBmb3VuZC4gVGhlbiBhIG5ldyB0YWcgaXMgZm91bmQsIHRoZQoJICBwYWQncyBpcyBtYXJrZWQgd2l0aCBhIHRhZ3MgY2hhbmdlZCBmbGFnLCBtYWtpbmcgdGhlIGVsZW1lbnQgcHVzaAoJICBhIG5ldyB0YWcgZXZlbnQgb24gdGhlIG5leHQgY2hlY2suIEJlZm9yZSB0aGlzLCB3ZSB3ZXJlIHNlbmRpbmcKCSAgb25seSB0aGUgbmV3bHkgZm91bmQgdGFncywgYXMgdGhlIGVsZW1lbnQgd2FzIGxvc2luZyBpdHMgdGFnbGlzdAoJICB3aGVuIHB1c2hpbmcgdGhlIGV2ZW50LgoKMjAxNS0wMy0xNSAxNDo0MDozNiArMDEwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNlbmQgZ2xvYmFsIHRhZ3MgaW5jcmVtZW50YWxseQoJICBJbnN0ZWFkIG9mIHNlbmRpbmcgb25seSBuZXcgdGFncyBvbmNlIHRoZXkgYXJlIGZvdW5kLCBtZXJnZSB0aGUgdGFnbGlzdAoJICBhbmQgc2VuZCB0aGVtIGluY3JlbWVudGFsbHkuCgoyMDE1LTAzLTE0IDE3OjA3OjA1ICswMTAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYXBhcnNlOiBzZW5kIGdsb2JhbCB0YWdzCgkgIEdsb2JhbCB0YWdzIGFyZSBhbHJlYWR5IGJlaW5nIHJlYWQgaW4gbWF0cm9za2FwYXJzZSwgYnV0IHRoZXkgYXJlIG5vdAoJICBjdXJyZW50bHkgYmVpbmcgc2VudC4KCSAgVGhpcyBwYXRjaCBtYWtlcyBnbG9iYWwgdGFncyBnZXQgc2VudCBpbmNyZW1lbnRhbGx5IHdoZW5ldmVyIG5ldyBvbmVzCgkgIGFyZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI0MgoKMjAxNS0wMi0wMyAxMDoxODo1OCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBmaXggInBsYW5lcyIgcHJvcGVydHkgcmFuZ2UsIGEgdmFsdWUgb2YgMCBpcyBub3QgYWxsb3dlZAoJICBXaGVuIHBsYW5lcyBwcm9wZXJ0eSBpcyBzZXQgdG8gMCwgdGhlIHBpcGVsaW5lIGV4ZWN1dGVzIGluCgkgIGFuIGluZmluaXRlIGxvb3AgYW5kIG5ldmVyIGV4aXRzLiBTaW5jZSBwbGFuZXMgbXVzdCBuZXZlcgoJICBiZSAwLCBzZXQgdGhlIG1pbmltdW0gdmFsdWUgaW4gdGhlIHByb3BlcnR5IGRlc2NyaXB0aW9uCgkgIHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDYKCjIwMTUtMDMtMjYgMTM6NDI6MDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBGaXggdXAgY29tbWVudHMgcmVnYXJkaW5nIERUUwoKMjAxNS0wMy0yNSAxNToxMTozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEZpeCBzZWdtZW50IGluIFRDUCBtb2RlCgkgIEl0IGlzIGV4cGVjdGVkIHRoYXQgYnVmZmVycyBhcmUgdGltZS1zdGFtcGVkIHdpdGggcnVubmluZyB0aW1lLiBTZXQKCSAgYSBzZWdtZW50IGFjY29yZGluZ2x5LiBJbiB0aGlzIGNhc2Ugd2UgcGljayAwLC0xIGFzIHRoaXMgaXMgd2hhdCB1ZHBzcmMKCSAgd291bGQgZG8uIERlcGF5bG9hZGVycyB3aWxsIHVwZGF0ZSB0aGUgc2VnbWVudCB0byByZWZsZWN0IHRoZSBwbGF5YmFjawoJICBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTcwMQoKMjAxNS0wMy0yNiAxMjoyMToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGJlIG1vcmUgc3RyaWN0IGFib3V0IHR5cGVmaW5kaW5nIERUUwoJICBDb2RlIG5vdyBtYXRjaGVzIGNvbW1lbnRzLgoKMjAxNS0wMy0yNSAxNToxMDo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgdXNlbGVzcyBmdW5jdGlvbgoJICBUaGlzIGZ1bmN0aW9uIGRpZG4ndCBkbyBhbnl0aGluZyBzcGVjaWFsLCBsZXQncyBub3QgdXNlIGEgZnVuY3Rpb24gZm9yCgkgIHRoYXQuCgoyMDE1LTAzLTIwIDEzOjAzOjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyOiBBY2NvdW50IGZvciBydHhfcmV0cnkgaW4gb3ZlcmZsb3cgY2hlY2sKCSAgQXMgcnR4X3JldHJ5IGlzIHBhcnQgb2YgdGhlIHN1YnN0cmFjdGlvbiwgd2UgbmVlZCB0byB0YWtlIGl0IGludG8KCSAgYWNjb3VudCwgb3RoZXJ3aXNlIHdlIG1heSBlbmR1cCB3aXRoIGEgYmlnIHZhbHVlLgoKMjAxNS0wMy0yNCAyMzoxNToxNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBjaGVjayBmb3IgZGVwcmVjYXRlZCBjb25zdGFudHMgcHJpb3IgdG8gT1NYIDEwLjEwCgkgIGNvY29hd2luZG93Lm06MzM5OjU6IGVycm9yOiAnTlNPcGVuR0xQRkFXaW5kb3cnCgkgIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gT1MgWCAxMC45CgkgIGNvY29hd2luZG93Lm06NTc2Ojc6IGVycm9yOiAnTlNPcGVuR0xQRkFGdWxsU2NyZWVuJwoJICBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIE9TIFggMTAuNgoJICBjb2NvYXdpbmRvdy5tOjYwNToyNDogZXJyb3I6ICdzZXRGdWxsU2NyZWVuJwoJICBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIE9TIFggMTAuNwoKMjAxNS0wMy0yNCAxNjo1MToxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBzZWVraW5nIHF1ZXJ5CgkgIFRoZSBzZWdtZW50IHN0YXJ0L3N0b3AgaW4gdGhlIHF1ZXJ5IGlzIG1lYW50IHRvIHJlcHJlc2VudCB0aGUgc2Vla2FibGUKCSAgcG9ydGlvbiBvZiB0aGUgc3RyZWFtLiBJdCBkb2VzIG5vdCBtYXRjaCB0aGUgc2VnbWVudCBzdGFydC9zdG9wLiBJbnN0ZWFkCgkgIGV4cG9ydCAwIHRvIGR1cmF0aW9uLgoKMjAxNS0wMy0yNCAxNjoxODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IE9ubHkgc2V0IGNhcHMgb25jZSBpZiB0aGV5IGRvbid0IGNoYW5nZQoJICBQcmV2aW91c2x5IHdlIHdlcmUgc2V0dGluZyBuZXcgY2FwcyB3aXRoIHRoZSBzYW1lIGNvbnRlbnQgZm9yIGV2ZXJ5IEgyNjQgb3IKCSAgQUFDIGNvZGVjX2RhdGEgd2UgZm91bmQgaW4gdGhlIHN0cmVhbSwgc3BhbW1pbmcgZXZlcnl0aGluZyBhbmQgY2F1c2luZwoJICByZW5lZ290aWF0aW9ucy4KCjIwMTUtMDMtMjQgMTI6NDY6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBjcmVhdGUgQUFDL0gyNjQgY2FwcyB3aXRob3V0IGNvZGVjX2RhdGEKCSAgSW5zdGVhZCBkZWxheSBjcmVhdGluZyB0aGUgY2FwcyB1bnRpbCB3ZSByZWFkIHRoZSBjb2RlY19kYXRhIGZyb20gdGhlIHN0cmVhbSwKCSAgb3IgZmFpbCBpZiB3ZSBnZXQgbm9ybWFsIGRhdGEgYmVmb3JlIHRoZSBjb2RlY19kYXRhLgoJICBBQUMgcmF3IGNhcHMgYW5kIEgyNjQgYXZjIGNhcHMgYWx3YXlzIG5lZWQgY29kZWNfZGF0YSwgc2V0dGluZyBjYXBzIG9uIHRoZSBwYWQKCSAgd2l0aG91dCB0aGVtIGlzIGdvaW5nIHRvIG1ha2UgbmVnb3RpYXRpb24gZmFpbCBtb3N0IG9mIHRoZSB0aW1lLiBFdmVuIGlmIHdlCgkgIGxhdGVyIHNldCBuZXcgY2FwcyB3aXRoIHRoZSBjb2RlY19kYXRhLCB0aGF0J3MgdXN1YWxseSBnb2luZyB0byBiZSB0b28gbGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjY4MgoKMjAxNS0wMy0yNCAxNTozOToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDMtMjIgMTM6MjM6NDQgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvOiBGaXggc3RyaW5nIGZvcm1hdCB3YXJuaW5nIG9uIDMyLWJpdAoJICBVSW50MzIgKERhcndpbiwgbm90IEM5OSdzIHVpbnQzMl90KSBpcyAndW5zaWduZWQgbG9uZycgb24gMzItYml0CgkgIHBsYXRmb3Jtcy4KCjIwMTUtMDMtMjEgMTc6NTA6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBhbm90aGVyIGluc3RhbmNlIG9mIHN0aWNreSBldmVudCBtaXNvcmRlcmluZyB3YXJuaW5ncwoJICBNYWtlIHN1cmUgdGhhdCB0aGUgc3luY19zcmMgcGFkIGhhcyBjYXBzIGJlZm9yZSB0aGUgc2VnbWVudCBldmVudC4KCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGdldCBhIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNhcHMgZnJvbSB0aGUgcmVjZWl2ZQoJICBSVENQIHBhZCwgYW5kIHRoZW4gbGF0ZXIgd2hlbiByZWNlaXZpbmcgUlRDUCBwYWNrZXRzIHdpbGwgc2V0IGNhcHMuCgkgIFRoaXMgd2lsbCByZXN1bHRzIGluIGEgc3RpY2t5IGV2ZW50IG1pc29yZGVyaW5nIHdhcm5pbmcKCSAgVGhpcyBmaXhlcyB3YXJuaW5ncyBpbiB0aGUgcnRwYXV4IHVuaXQgdGVzdCBidXQgYWxzbyBpbiB0aGUKCSAgcnRwYXV4IGFuZCBydHggZXhhbXBsZXMgaW4gdGVzdHMvZXhhbXBsZXMvcnRwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY0NDUKCjIwMTUtMDMtMjEgMTc6MTg6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFsc28gc3RhcnQgdGhlIFJUQ1Agc2VuZCB0aHJlYWQgd2hlbiByZWNlaXZpbmcgUlRQIG9yIFJUQ1AKCSAgQmVmb3JlIHdlIG9ubHkgc3RhcnRlZCBpdCB3aGVuIGVpdGhlcjoKCSAgLSB0aGVyZSBpcyBubyBzZW5kIFJUUCBzdHJlYW0KCSAgb3IKCSAgLSB3ZSByZWNlaXZlZCBhbiBSVFAgcGFja2V0IGZvciBzZW5kaW5nCgkgIFRoaXMgY291bGQgbWVhbiB0aGF0IGlmIHRoZSBzZW5kIFJUUCBwYWRzIGFyZSBjb25uZWN0ZWQgYnV0IG5ldmVyIHJlY2VpdmUgYW55CgkgIFJUUCBkYXRhLCBhbmQgdGhlIHNhbWUgc2Vzc2lvbiBpcyBhbHNvIHVzZWQgZm9yIHJlY2VpdmluZyBSVFAvUlRDUCwgd2Ugd291bGQKCSAgbmV2ZXIgc3RhcnQgdGhlIFJUQ1AgdGhyZWFkIGFuZCB3b3VsZCBuZXZlciBzZW5kIFJUQ1AgZm9yIHRoZSByZWNlaXZpbmcgcGFydAoJICBvZiB0aGUgc2Vzc2lvbi4KCSAgVGhpcyBjYW4gYmUgcmVwcm9kdWNlZCB3aXRoIGEgcGlwZWxpbmUgbGlrZToKCSAgZ3N0LWxhdW5jaC0xLjAgcnRwYmluIG5hbWU9cnRwYmluIFwKCSAgdWRwc3JjIHBvcnQ9NTAwMCAhICJhcHBsaWNhdGlvbi94LXJ0cCwgbWVkaWE9dmlkZW8sIGNsb2NrLXJhdGU9OTAwMDAsIGVuY29kaW5nLW5hbWU9SDI2NCIgISBydHBiaW4ucmVjdl9ydHBfc2lua18wIFwKCSAgdWRwc3JjIHBvcnQ9NTAwMSAhIHJ0cGJpbi5yZWN2X3J0Y3Bfc2lua18wIFwKCSAgcnRwYmluLnNlbmRfcnRjcF9zcmNfMCAhIGZha2VzaW5rIG5hbWU9cnRjcF9mYWtlc2luayBzaWxlbnQ9ZmFsc2UgYXN5bmM9ZmFsc2Ugc3luYz1mYWxzZSBcCgkgIHJ0cGJpbi5yZWN2X3J0cF9zcmNfMF8yNTUzMjI1NTMxXzk2ICEgZGVjb2RlYmluICEgeHZpbWFnZXNpbmsgXAoJICBmYWtlc3JjICEgdmFsdmUgZHJvcD10cnVlICEgcnRwYmluLnNlbmRfcnRwX3NpbmtfMCBcCgkgIHJ0cGJpbi5zZW5kX3J0cF9zcmNfMCAhIGZha2VzaW5rIG5hbWU9cnRwX2Zha2VzaW5rIHNpbGVudD1mYWxzZSBhc3luYz1mYWxzZSBzeW5jPWZhbHNlIC12CgkgIEJlZm9yZSB0aGlzIGNoYW5nZSB0aGUgcnRjcF9mYWtlc2luayB3b3VsZCBuZXZlciBzZW5kIFJUQ1AgZm9yIHRoZSByZWNlaXZpbmcKCSAgcGFydCBvZiB0aGUgc2Vzc2lvbiAoaS5lLiBubyByZWNlaXZlciByZXBvcnRzISksIGFmdGVyIHRoZSBjaGFuZ2UgaXQgZG9lcy4KCSAgQW5kIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjaGFuZ2UgaXQgd291bGQgc2VuZCBSVENQIGZvciB0aGUgcmVjZWl2aW5nIHBhcnQgb2YKCSAgdGhlIHNlc3Npb24gaWYgdGhlIHNlbmRlciBwYXJ0IHdhcyBvbWl0dGVkICh0aGUgbGFzdCB0d28gbGluZXMpLgoKMjAxNS0wMy0xOSAxMTo1NDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoKMjAxNS0wMy0xOSAxMTozOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkgIHJ0cHJ0eHF1ZXVlOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgoyMDE1LTAzLTE4IDE3OjMyOjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEltcHJvdmUgdHJhY2UgcmVhZGFiaWxpdHkKCSAgQ2hhbmdlIHRoZSBjb21tYW5kIG51bWJlciBpbnRvIHN0cmluZ3MuCgoyMDE1LTAxLTIwIDEwOjE4OjU2ICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogRG9uJ3QgcmVwZWF0ZWRseSB3YXJuIGFmdGVyIG5vX21vcmVfcGFkcyAodjIpCgkgIFRoaXMgY2FuIGdldCByYXRoZXIgc3BhbW15IGZvciBzdWNoIGEgaGlnaCBsb2cgbGV2ZWwuCgkgIE9ubHkgd2FybiBvbmNlIHBlciBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNzQKCjIwMTUtMDMtMTYgMTE6MjM6NTIgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogSW50cm9kdWNlIGNvbnN0YW50IGZvciBuby1tb3JlLXBhZHMgdGhyZXNob2xkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNzQKCjIwMTUtMDEtMjAgMTA6MTg6MjkgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHdhcm5pbmcgdG8gY29udGFpbiAndmlkZW8nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNzQKCjIwMTUtMDMtMTEgMjE6MjU6NDAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogZm9yIGR0cyBvbmx5IHN0cmVhbSBzZXQgcHRzPWR0cyBmb3IgaW50cmEgb25seSBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDMtMTQgMTY6Mzk6MDkgKzAxMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHNlbmRpbmcgb2YgdGFncwoJICAqIEZpeCBjcml0aWNhbCB3aGVuIG5ldyB0YWdzIGFyZSBmb3VuZCBhZnRlciBzZWdtZW50IGV2ZW50IGhhcyBhbHJlYWR5CgkgIGJlZW4gc2VudC4KCSAgKiBTZW5kIGdsb2JhbCB0YWdzIGJlZm9yZSBzdHJlYW0gdGFncy4KCSAgKiBTcGxpdCBzZW5kaW5nIG9mIHRhZ3Mgb3V0IG9mIGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KCkgaW50byBpdHMKCSAgb3duIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1OTczCgoyMDE1LTAzLTEzIDE4OjI2OjA2ICswMDAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHByb3Blcmx5IGVzY2FwZSBwZXJjZW50IHNpZ24gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMy0xMyAxODoyNjo0NCArMDAwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBwcm9wZXJseSBlc2NhcGUgcGVyY2VudCBzaWduIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDMtMTMgMTg6NDg6MDMgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBkZWxheSByZW5lZ290aWF0aW9uIHVudGlsIGl0IGlzIGxpa2VseSBidWZmZXJzIHdlcmUgcmVjbGFpbWVkCgkgIEFsbG93IHJlbmVnb3RpYXRpb24gdG8gaGFwcGVuIHdoZW4gYnVmZmVycyBoYXZlIHJldHVybmVkIGFmdGVyIGFuIGFsbG9jYXRpb24KCSAgcXVlcnkuIEFzIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IGlzIHNlcmlhbGl6ZWQsIGFsbCBidWZmZXJzIGZyb20gdGhlIHBvb2wKCSAgc2hvdWxkIGhhdmUgcmV0dXJuZWQgYW5kIHdlIGNhbiBzdG9wIGl0IHRvIGNyZWF0ZSBhIG5ldyBvbmUgZm9yIHRoZQoJICBuZXcgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzAKCjIwMTUtMDMtMTMgMTg6NDc6NTUgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBhZGQgZ3N0X3Y0bDJfb2JqZWN0X3RyeV9mb3JtYXQKCSAgU2ltaWxhciB0byBzZXRfZm9ybWF0IGJ1dCBpdCB1c2VzIFRSWV9GTVQgaW5zdGVhZCBvZiBTX0ZNVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzcwCgoyMDE1LTAzLTEzIDE4OjM4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggY3Jhc2ggd2l0aCBHU1RfREVCVUcgZW5hYmxlZAoJICBnX2luZXRfc29ja2V0X2FkZHJlc3NfZ2V0X2FkZHJlc3MoKSBkb2VzIG5vdCBnaXZlCgkgIHVzIGEgcmVmIHRvIHRoZSBhZGRyZXNzLCBzbyBkb24ndCB1bnJlZiBpdC4KCjIwMTUtMDMtMTIgMTM6NDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IERvbid0IHJlYWQgb3ZlciB0aGUgZW5kIG9mIHRoZSBpbnB1dCBtZW1vcnkKCSAgUHJldmlvdXNseSB3ZSBhZHZhbmNlZCB0aGUgaW5fZGF0YSBwb2ludGVyIGJ5IGJwcyBmb3IgZXZlcnkgY2hhbm5lbCwgYW5kIHRoZW4KCSAgbGF0ZXIgYWdhaW4gZm9yIGJsb2NrX3NpemUqYnBzLiBUaGlzIGNhdXNlZCB1cyB0byBiZSBvbmUgc2FtcGxlIGZ1cnRoZXIgdGhhbgoJICBleHBlY3RlZCBpZiBhbiBpbnB1dCBidWZmZXIgY292ZXJlZCB0d28gYW5hbHlzaXMgZnJhbWVzLiBBbmQgaW4gdGhlIGVuZCBsZWFkCgkgIHRvIGNvbXBsZXRlbHkgYm9ndXMgdmFsdWVzIHJlcG9ydGVkIGJ5IGxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MDY1CgoyMDE1LTAzLTEyIDAxOjM3OjA4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkgIFJlbW92ZSBhIGNvdXBsZSBvZiBzdXBlcmZsdW91cyB0cmFpbGluZyBzZW1pLWNvbG9ucwoKMjAxNS0wMy0xMCAwOTozMToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSAgRml4IGRvdWJsZSBzZW1pY29sb25zCgoyMDE1LTAzLTEwIDE1OjQ2OjQwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXg6IFNodXQgZG93biBlbGVtZW50IGJlZm9yZSBkb3dud2FyZCBzdGF0ZSBjaGFuZ2UKCSAgTWFrZSBzdXJlIHRoZSBzdGF0ZSBjaGFuZ2Ugd29uJ3QgaGFuZyB0cnlpbmcgdG8gc2h1dCBkb3duIHBhZHMKCSAgYnkgbWFraW5nIHN1cmUgdGhlIHN0cmVhbWluZyBoYXMgc3RvcHBlZCBiZWZvcmUgY2hhaW5pbmcgdXAuCgoyMDE1LTAzLTA5IDIyOjU4OjA1ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpbzogc3RyZWFtIGZvcm1hdCBpcyBhbiBTUERJRi1vbmx5IGZpZWxkCgoyMDE1LTAzLTA5IDIyOjUzOjQxICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBmaXggc3BhY2VzCgoyMDE1LTAzLTA5IDIyOjUyOjQ2ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBhZGQgdHlwZSBjaGVjayBtYWNybwoKMjAxNS0wMy0wOSAyMjo1MTo1MSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiByZW5hbWUgZ3N0X2NvcmVfYXVkaW9fc2V0X2NoYW5uZWxzX2xheW91dCgpCgkgIHRvIGdzdF9jb3JlX2F1ZGlvX2dldF9jaGFubmVsX2xheW91dCgpLgoKMjAxNS0wMy0wOSAyMjozMDoyOCArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IHJlbW92ZSB1bnVzZWQgZmluYWxpemUKCjIwMTUtMDMtMDkgMTY6MjU6NDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IHJlbW92ZSBkdXBsaWNhdGUgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24KCjIwMTUtMDMtMDkgMTY6MjI6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHJlbW92ZSB1bnVzZWQgdmFsdWUKCSAgQ0lEICMxMjI2NDc0CgoyMDE1LTAzLTA5IDE2OjE0OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCBsZWFrCgkgIENJRCAxMjEyMTU2CgoyMDE1LTAzLTA5IDE1OjU4OjMzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IHJlbW92ZSB1bmVlZGVkIHZhcmlhYmxlCgkgIFdlIGp1c3QgbmVlZCB0byBzYXZlIHRoZSBlYml0IGluZm9ybWF0aW9uIGluIGNhc2UgdGhlcmUgaXMgYW4gZXJyb3IgZGVjb2RpbmcuCgoyMDE1LTAzLTA5IDE2OjQ2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBbODldZW5jOiBSZXNldCB0aGUgZW5jb2RlciB3aGVuIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3MDQKCjIwMTUtMDMtMDkgMTI6NTE6MTcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IGVycm9yIG1vZGUgaWYgY2FuJ3QgcHVzaCBidWZmZXIKCSAgSWYgZ3N0X3BhZF9wdXNoKCkgZmFpbHMsIGluZm9ybSBhbmQgcmV0dXJuIGZsb3cgZXJyb3IuCgoyMDE1LTAzLTA5IDEyOjEzOjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiB1bnVzZWQgdmFsdWUKCSAgVmFsdWUgc2V0IGluIHJldCB3aWxsIGJlIG92ZXJ3cml0dGVuIGp1c3QgYmVmb3JlIGV4aXRpbmcgdGhlIGZ1bmN0aW9uLgoJICBDSUQgIzEyMjY0NjkKCjIwMTUtMDMtMDkgMTE6MTA6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEcm9wIHBhY2tldHMgd2l0aCBzZXF1ZW5jZSBudW1iZXJzIGJlZm9yZSB0aGUgc2VxbnVtLWJhc2UKCSAgVGhlc2UgYXJlIG91dHNpZGUgdGhlIGV4cGVjdGVkIHJhbmdlIG9mIHNlcXVlbmNlIG51bWJlcnMgYW5kIHNob3VsZCBiZQoJICBjbGlwcGVkLCBlc3BlY2lhbGx5IGZvciBSVFNQIHRoZXkgbWlnaHQgYmVsb25nIHRvIHBhY2tldHMgZnJvbSBiZWZvcmUgYSBzZWVrCgkgIG9yIGEgcHJldmlvdXMgc3RyZWFtIGluIGdlbmVyYWwuCgoyMDE0LTAyLTI3IDEwOjUyOjE2ICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgaW5jbHVkZSBwYXlsb2FkIHR5cGUgaW4gdGhlIGNhcHMgZm9yIGZyYW1lc2l6ZQoJICBXaGVuIHRoZSBzZHAgbWVkaWEgYXR0cmlidXRlIGZyYW1lc2l6ZSBhcmUgY29udmVydGVkIHRvIGNhcHMKCSAgdGhlIDxwYXlsb2FkPiBzaG91bGQgbm90IGJlIGluY2x1ZGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MzM1CgoyMDE1LTAzLTA5IDEwOjA1OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3QgZm9yZ2V0IHRvIHVubG9jayB0aGUgbXV0ZXggd2hlbiByZWNlaXZpbmcgR0FQcyBpbiBUQ1Agc3RyZWFtcwoKMjAxNS0wMy0wOSAxMToyNDo1OCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogTWFrZSBzdXJlIHRvIGZpbHRlciBjYXBzIGluIGFsbCBjYXNlcyBkdXJpbmcgQ0FQUyBxdWVyeQoJICBXZSB3ZXJlIHNraXBwaW5nIHRoZSBmaWx0ZXIgc3RlcCB3aGlsZSByZXR1cm5pbmcgdGVtcGxhdGUgY2FwcywgZm9yCgkgIGV4YW1wbGUuCgoyMDE1LTAzLTA4IDIxOjE1OjUzICswMDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgdXBkYXRlIGJ1ZmZlciBmb3IgT1VUUFVUCgkgIEZvciBvdXRwdXQgZGV2aWNlLCB3ZSBzaG91bGQgbm90IHVwZGF0ZSB0aGUgYnVmZmVyIHdpdGggZmxhZ3MgYW5kCgkgIHRpbWVzdGFtcCB3aGVuIHdlIGRlcXVldWUuIFRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgdjRsMl9idWZmZXIgaXMgbm90CgkgIG1lYW5pbmdmdWwgYW5kIGl0IGJyZWFrcyB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIGlzIHJlbmRlcmVkIGF0CgkgIG11bHRpcGxlIHBsYWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQzOAoKMjAxNS0wMy0wOCAxODowNDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEltcGxlbWVudCBjb29raWVzIHByb3BlcnR5CgoyMDE1LTAzLTA4IDE4OjAyOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogSW1wbGVtZW50IGF1dG9tYXRpYy1yZWRpcmVjdCBwcm9wZXJ0eQoKMjAxNS0wMy0wOCAxNzo1NDowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEltcGxlbWVudCBwcm94eSBzdXBwb3J0CgkgIFRoZSBwcm9wZXJ0aWVzIHdlcmUgdGhlcmUgYmVmb3JlLCBidXQgbm90IHVzZWQgYW55d2hlcmUuCgoyMDE1LTAyLTIxIDIwOjA1OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoKMjAxNS0wMy0wNCAxMDoyNzoxNyArMDEwMCAgTmljb2xhcyBIdWV0IDxuaWNvbGFzLmh1ZXRAcGFycm90LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBMT0FTIHBhcnNpbmcgaXNzdWUKCSAgRml4IG1pc3NpbmcgaW5kZXggaW4gc3luY3dvcmQgc2VhcmNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODUKCjIwMTUtMDMtMDUgMTc6NTQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggbW9kdWxvIG1hdGggd2l0aCByaW5nYnVmZmVyIHBhcmFtZXRlcnMKCSAgVG8gZ2V0IGEgbXVsdGlwbGUgb2YgYnBmIHVzZSBhIHN1YnRyYWN0aW9uIGFuZCBub3QgYW4gYWRkaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTY4NAoKMjAxNS0wMy0wNyAwMDo1NTo0NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFByb3RlY3QgcHJvcGVydHkgdmFyaWFibGVzIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBVc2UgdGhlIG9iamVjdCBsb2NrIGluc3RlYWQgb2YgdGhlIHNwbGl0bXV4IGxvY2sgdG8gcHJvdGVjdAoJICBpbnRlcm5hbCBwcm9wZXJ0eSB2YXJpYWJsZXMsIHNvIHRoZXkncmUgbm90IGxvY2tlZCB3aGVuCgkgIHN3aXRjaGluZyB0byBhIG5ldyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NDIwCgoyMDE1LTAzLTA2IDExOjM5OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogYWRkIGppdHRlcmJ1ZmZlciB1bml0IHRlc3QKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1MzkKCjIwMTUtMDMtMDUgMDk6MTg6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBoYW5kbGluZyBvZiBpbnRlcmxlYXZlZCAoVENQKSBzdHJlYW1zCgkgIFdlIG5lZWQgdG8gc2V0IHVwIHRoZSB0cmFuc3BvcnQgaW4gYW55IGNhc2UsIG5vdCBqdXN0IGlmIHdlIGhhdmUgYSBjb250YWluZXIKCSAgc3RyZWFtIG9yIGEgbm9uLWludGVybGVhdmVkIHN0cmVhbS4gT25seSBpZiB3ZSBoYXZlIGFuIGludGVybGVhdmVkIHN0cmVhbSBhbmQKCSAgYXJlIHJldHJ5aW5nLCB3ZSBzaG91bGQgbm90IHNldCB1cCB0aGUgc3RyZWFtIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTk5CgoyMDE1LTAzLTA1IDEwOjAwOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnBbODldZGVjOiBEcm9wIGZyYW1lcyB0aGF0IGhhdmUgbm8gb3V0cHV0IGJ1ZmZlciBiZWNhdXNlIG9mIGVycm9ycwoJICBmaW5pc2hfZnJhbWUoKSBhc3N1bWVzIHRoYXQgdGhlcmUgaXMgYW4gb3V0cHV0IGJ1ZmZlci4KCjIwMTUtMDMtMDUgMDk6NTY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHVucmVmIGNhcHMgd2UgZG9uJ3Qgb3duCgoyMDE1LTAzLTA1IDA5OjQ2OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQdXNoIFJUQ1AgY2FwcyBvbiB0aGUgUlRDUCBwYWRzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGdldCBub3QtbmVnb3RpYXRlZCBsYXRlciBmcm9tIHJ0cGJpbiwgYW5kIHdpbGwgbmV2ZXIgYmUgYWJsZQoJICB0byBzZW5kIFJUQ1AgcGFja2V0cyBiYWNrIHRvIHRoZSBzZXJ2ZXIuIE5vdGUgdGhhdCBlcnJvciBmbG93IHJldHVybnMgZnJvbSB0aGUKCSAgUlRDUCBwYWRzIGFyZSBpZ25vcmVkLCB0aGF0J3Mgd2h5IGl0IGRpZG4ndCBmYWlsIG1vcmUgdmlzaWJsZSBiZWZvcmUuCgoyMDE1LTAzLTA1IDA5OjM1OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBNYWtlIHN1cmUgdG8gc2VuZCBTRUdNRU5UIGV2ZW50cyBvbiBhbGwgcGFkcwoKMjAxNS0wMy0wMyAxNjoyMzoxNSArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHA6IEFkZCBGdWxsIEludHJhIFJlcXVlc3QgKEZJUikgcGFja2V0cyB0byBzdGF0aXN0aWNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODcKCjIwMTUtMDMtMDMgMTY6MDE6NTMgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwOiBBZGQgUGFja2V0IExvc3MgSW5kaWNhdGlvbiAoUExJKSB0byBzdGF0aXN0aWNzCgkgIFRoaXMgaXMgaGVscGZ1bCB0byBwcm92aWRlIHN0YXRpc3RpY3MgaW4gdGhlIGZvcm1hdCBkZWZpbmVkIGluCgkgIGh0dHA6Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1zdGF0cy8jZGljdGlvbmFyeS1ydGNydHBzdHJlYW1zdGF0cy1tZW1iZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTg3CgoyMDE1LTAzLTAzIDE5OjE5OjUwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogUmVtb3ZlIGR1cmF0aW9uIGFjY3VtdWxhdGlvbiBsb2dpYwoJICBEdXJhdGlvbiBhY2N1bXVsYXRpb24gY2FuIGNhdXNlIHJvdW5kaW5nIGVycm9ycyBhbmQgZ2VuZXJhdGUgd3JvbmcKCSAgZHVyYXRpb24gd2l0aCBkaWZmZXJlbnQgYnVmZmVycyB0aGF0IHNoYXJlIHRoZSBzYW1lIHRpbWVzdGFtcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMy0wMyAxODo0MDoxNiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IEFkZCBhbiBoZWxwZXIgbWV0aG9kIHRvIGdldCBidWZmZXIgdGltZXN0YW1wcwoJICAuLi4gYW5kIHJlcGxhY2UgR1NUX0JVRkZFUl9USU1FU1RBTVAgdGhhdCBhbHdheXMgcmV0dXJuIFBUUyB3aXRoIHRoaXMgbWV0aG9kCgkgIHRoYXQgcmV0dXJuIFBUUyBvciBEVFMgYmFzZWQgb24gc3RyZWFtIHR5cGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDMtMDQgMTE6Mjg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBleHBsYW5hdGlvbiB3aHkgd2UgaGF2ZSBzcGFjZSBmb3IgMzIgaGFzaCB0YWJsZXMKCSAgQW5kIGFsc28gY3JlYXRlIG9ubHkgb25lLCB0aGVyZSdzIG5vIG5lZWQgeWV0IHRvIGNyZWF0ZSBhbGwgMzIgdW50aWwKCSAgd2UgaW1wbGVtZW50IFJGQzI3NjIuCgoyMDE1LTAzLTA0IDExOjI2OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJldmVydCAicnRwc2Vzc2lvbjogRG8gbm90IHVzZSBhbiBhcnJheSBvZiBtYXBzIGlmIHRoZXkgYXJlIG5vdCBiZWluZyB1c2VkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE1OTFhZGY0Y2Q4NDNkMTNkODYyMmEzMGM2MTk0MjU2OTFhODQxMjguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODYjYzE6CgkgIEl0J3MgdGhlIGJlZ2lubmluZyBvZiBhbiBpbXBsZW1lbnRhdGlvbiBvZiBSRkMgMjc2Miwgd2hpY2ggaXMgbmVlZGVkIGZvcgoJICBsYXJnZSBtdWx0aWNhc3QgZ3JvdXBzLiBUaGUgaW1wbGVtZW50YXRpb24gaXMgbm90IHlldCBjb21wbGV0ZSBidXQgd2h5CgkgIG5vdCBsZWF2ZSB3aGF0IGlzIHRoZXJlIGFuZCBpbXBsZW1lbnQgUkZDIDI3NjIgaW5zdGVhZD8KCjIwMTUtMDMtMDQgMTA6MzU6MTIgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IERvIG5vdCB1c2UgYW4gYXJyYXkgb2YgbWFwcyBpZiB0aGV5IGFyZSBub3QgYmVpbmcgdXNlZAoJICBydHBzZXNzaW9uIGRlY2xhcmVzIGFuIGFycmF5IG9mIG1hcHMgdG8gc3RvcmUgc3JyY3MgYnV0IG9ubHkgdGhlCgkgIHRoZSBrZXkgMCBpcyBiZWluZyB1c2VkLiBUaGlzIHBhdGNoIHJlcGxhY2VzIHRoZSBhcnJheSBvZiBtYXBzCgkgIGZvciBqdXN0IG9uZSBtYXAgYW5kIHJlbW92ZSB1c2VsZXNzIHBhcmFtZXRlcnMgaW4gcnRwc2Vzc2lvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTg2CgoyMDE1LTAyLTI3IDE4OjEyOjA5ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZW1vdmUgbm90IG5lZWRlZCBjb2RlCgkgIEluIGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSwgdGhlcmUgaXMgbm90IG5lZWRlZCBjb2RlLgoJICBXZSBhbHJlYWR5IGNoZWNrIGFib3V0IHN0cmVhbSBpcyB2YnIgb3Igbm90IGF0IHRoZSB1cHBlciBsaW5lLgoJICBvLCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIHRoaXMgY29uZGl0aW9uIGJlY2FzZSBzdHJlYW0gaXMgbm90CgkgIHZiciAxMDAlIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTI3NgoKMjAxNS0wMy0wMyAyMzoyNTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogZ2RrcGl4YnVmb3ZlcmxheS10ZXN0OiByZXBsYWNlIGRlcHJlY2F0ZWQgZnVuY3Rpb24KCSAgSnVzdCBhdm9pZCB1c2luZyB0aGUgZGVwcmVjYXRlZCBmdW5jdGlvbiBlbnRpcmVseSwKCSAgaXQncyBlYXN5IGVub3VnaC4gRGVmaW5pbmcgdGhlIG1hY3JvIGlzIG5vdCBlbm91Z2guCgoyMDE1LTAzLTAzIDE5OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5LXRlc3Q6IGZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG5ld2VyIGdkay1waXhidWYKCSAgZ2RrX3BpeGJ1Zl9uZXdfZnJvbV9pbmxpbmUoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm91cgoJICBvZiBHUmVzb3VyY2UuCgoyMDE1LTAzLTAzIDE4OjM5OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpb3NyYzogQWxsb3cgY2FwcyByZW5lZ290aWF0aW9uCgkgIFRoZSByaW5nYnVmZmVyIGRvZXMgYWxsb3cgcmVuZWdvdGlhdGlvbiwgc28gd2UgZG8gbm90IGhhdmUgdG8gcmVwb3J0CgkgIGZpeGVkIGNhcHMgb25jZSBpdCBpcyBhY3F1aXJlZCAoYmFzZWQgb24gYSBzaW1pbGFyIHBhdGNoIGZvciB0aGUgc2luawoJICBzaWRlIGJ5IElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+KS4KCjIwMTUtMDItMjEgMTQ6NDE6MDggKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogQWxsb3cgcmVuZWdvdGlhdGluZyBjYXBzCgkgIE9uY2Ugb3N4YXVkaW9zaW5rJ3MgZGV2aWNlIGlzIG9wZW4sIGl0IGZpeGF0ZXMgb24gdGhlIGluaXRpYWwgY2FwcyBhbmQKCSAgcmVmdXNlcyB0byBhY2NlcHQgbmV3IGNhcHMuIFRoaXMgaXMgZXJyb25lb3VzIHNpbmNlIHRoZSBBdWRpbyBVbml0IGlzCgkgIGNhbiBhY2NlcHQgYSBuZXcgQVNCRCwgYW5kIEdzdEF1ZGlvUmluZ0J1ZmZlciBzdXBwb3J0cyByZWNvbmZpZ3VyYXRpb24KCSAgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkyNQoKMjAxNS0wMy0wMiAxMjowNDowMCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogZml4IGZkIGxlYWsgaW4gRE1BQlVGIGltcG9ydCBtb2RlLgoJICBFbnN1cmUgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcmVsZWFzZV9idWZmZXIoKSByZWxlYXNlcyB0aGUgYXNzb2NpYXRlZAoJICBHc3RWNGwyTWVtb3J5R3JvdXAuIEluIHBhcnRpY3VsYXIsIHRoaXMgYWxsb3dzIGZvciBjbG9zaW5nIHRoZSBETUFCVUYKCSAgaGFuZGxlcyBwcmlvciB0byBpbnN0YW50aWF0aW5nIG5ldyBvbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQzCgoyMDE1LTAzLTAyIDE1OjA2OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgMCBhcyBkdXJhdGlvbiBmb3IgdGhlIEVPUyAiZnJhbWUiCgoyMDE1LTAzLTAyIDE1OjAyOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSAgdnB7OCw5fWVuYzogVGVsbCB0aGUgZW5jb2RlciBhYm91dCBhY3R1YWwgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIG9mIGZyYW1lcwoJICAuLi4gaW5zdGVhZCBvZiBqdXN0IGNvdW50aW5nIGZyYW1lcy4gVGhlIHZhbHVlcyBhcmUgc3VwcG9zZWQgdG8gYmUgaW4gdGltZWJhc2UKCSAgdW5pdHMsIG5vdCBmcmFtZSB1bml0cy4gVGhpcyBmaXhlcyB2YXJpb3VzIHF1YWxpdHkgcHJvYmxlbXMgd2l0aCBWUDgvVlA5CgkgIGVuY29kaW5nIGFuZCBpbiBnZW5lcmFsIG1ha2VzIHRoZSBlbmNvZGVyIGJlaGF2ZSBiZXR0ZXIuCgkgIFRoYW5rcyB0byBOaXJiaGVlayBDaGF1aGFuIGZvciBub3RpY2luZyB0aGlzIGJ1Zy4KCjIwMTUtMDMtMDEgMTM6NTY6MTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4ZGVjOiBGaXggY2FsY3VsYXRpb24gb2Ygd2lkdGggaW4gYnl0ZXMKCSAgUmlnaHQgbm93IHdlIG9ubHkgc3VwcG9ydCBJNDIwLCBidXQgdnB4IHNlZW1zIHRvIHN1cHBvcnQgbW9yZSBmb3JtYXRzLgoJICBUaGlzIHdpbGwgcHJldmVudCBoYXJkIHRvIGZpbmQgYnVnIGluIHRoZSBmdXR1cmUuCgoyMDE1LTAzLTAxIDEzOjUyOjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweGRlYzogRG9uJ3QgbWVtY3B5IGluIGZyYW1lIG1hcCBmYWlsZWQKCSAgVGhpcyBhdm9pZCBhIGNyYXNoIGlmIG1hcHBpbmcgdGhlIGZyYW1lIGZhaWxlZC4KCjIwMTUtMDMtMDEgMTM6NDg6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFkZCBtaXNzaW5nIGJyZWFrCgkgIFRoaXMgaXMgY29zbWV0aWMgY2hhbmdlLgoKMjAxNS0wMy0wMSAxMzo0NjoxOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBXb3JrYXJvdW5kIGRyaXZlciBub3Qgc2V0dGluZyBmaWVsZCBjb3JyZWN0bHkKCSAgQXMgaXQncyB2ZXJ5IGNvbW1vbiwgaGFuZGxlIGRyaXZlciBub3Qgc2V0dGluZyBmaWVsZCBpbiBidWZmZXJzCgkgIGJ5IHVzaW5nIHRoZSBmaWVsZCB2YWx1ZSBmcm9tIHRoZSBmb3JtYXQuIFRoaXMgd29ya2Fyb3VuZCBhIGxvbmcgdGltZQoJICBidWcgaW4gVVZDIGRyaXZlci4gRm9yIGV2ZW4gYnVnZ2llciBkcml2ZXIsIHdlIHNpbXBseSBhc3N1bWUKCSAgcHJvZ3Jlc3NpdmUgYXMgYmVmb3JlLiBXZSBhbHNvIG9ubHkgd2FybiBvbmNlLCB0byBhdm9pZCBzcGFtbWluZy4KCjIwMTUtMDItMjggMTg6MTA6MDYgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGtleSB1bml0IHNlZWsKCSAgVW5saWtlIG1hbnkgb3RoZXIgc2VlayBmbGFncywgdGhlIEtFWV9VTklUIHNlZWsKCSAgZmxhZyBpcyBub3QgY29waWVkIG92ZXIgaW50byB0aGUgR3N0U2VnbWVudCwKCSAgc2luY2UgaXQncyBvbmx5IHJlbGV2YW50IGZvciB0aGUgc2VlayBpdHNlbGYsCgkgIHNvIHdlIG5lZWQgdG8gcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBzZWVrCgkgIGhhbmRsZXIgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTMzOQoKMjAxNS0wMi0yNyAwOTozODowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgZG9jcy9wbHVnaW5zOiBVcGRhdGVzCgoyMDE1LTAyLTI2IDIzOjQxOjQ3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4L2RlbXV4OiBpbml0aWFsaXplIGR0c19vbmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDItMjYgMjM6Mjg6MTEgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RvcmUgRFRTIGZvciBWX01TL1ZGVy9GT1VSQ0Mgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAyLTI2IDE5OjQ4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBtdWx0aWZpbGU6IGF0dGVtcHQgdG8gZml4IGRvY3MgYnVpbGQgaXNzdWUgb24gYnVpbGQgYm90CgoyMDE1LTAyLTI3IDAwOjQxOjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRHJvcCBjdXN0b20gbGF0ZW5jeSBxdWVyeSBoYW5kbGluZwoJICBUaGlzIGlzIGltcGxlbWVudGVkIGJ5IHRoZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgbm93LgoKMjAxNS0wMi0yNyAwMDo0MDowNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEcm9wIGN1c3RvbSBsYXRlbmN5IHF1ZXJ5aW5nIGxvZ2ljCgkgIFRoaXMgaXMgbm93IGltcGxlbWVudGVkIGluIHRoZSBkZWZhdWx0IGxhdGVuY3kgcXVlcnkgaGFuZGxlci4KCjIwMTUtMDItMjYgMTY6MTA6NDEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBmaXggcGF5bG9hZGVyIGRlc2NyaXB0aW9uIGFuZCBhdXRob3IgZS1tYWlsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUyMjYKCjIwMTQtMDktMDUgMTY6MzQ6MjYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHF1ZXJ5IGNyb3AgY29uZmlndXJhdGlvbiBhZnRlciBlYWNoIGNhbGwgb2YgU19DUk9QCgkgIFNfQ1JPUCBpb2N0bCBpcyB3cml0ZS1vbmx5IGFuZCB0aGUgZGV2aWNlIGNhbiBhZGp1c3QgY3JvcCByZWN0YW5nbGUgc28KCSAgd2UgcXVlcnkgYmFjayB0aGUgY3JvcCBjb25maWd1cmF0aW9uIGFmdGVyIGVhY2ggU19DUk9QIHRvIGtub3cgd2hhdCBoYXMKCSAgYmVlbiBkb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTMzCgoyMDE1LTAyLTI2IDAyOjEyOjE4ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogVl9NUy9WRlcvRk9VUkNDIHN0cmVhbXMgaGF2ZSBEVFMgaW5zdGVhZCBvZiBQVFMKCSAgV2hlbiBzdWNoIHN0cmVhbSBpcyBwcmVzZW50IGRlbXV4ZXIgc2hvdWxkIHNldCBEVFMgb24gYnVmZmVycyBpbnN0ZWFkCgkgIG9mIFBUUy4gVGhpcyBpcyBjb25zaXN0ZW50IHdpdGggaG93IFZMQyBhbmQgbGliYXYvZmZtcGVnIGhhbmRsZSBWRlcKCSAgc3RyZWFtcy4KCSAgU2FtcGxlIGZpbGUKCSAgaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL01hdGVqSy9TYW1wbGVzL01hdHJvc2thLVZGVy1EVFMtT25seS5ta3YKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMi0yNSAxNjo0NToxMSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ2hlY2sgY29ycnVwdGlvbiBmbGFnIG9uIHRoZSByaWdodCBidWZmZXIKCSAgV2Ugd2hlcmUgY2hlY2tpbmcgdGhlIGJ1ZmZlciB3ZSBhcmUgY29weWluZyB0byBpbnN0ZWFkIG9mIHRoZSBidWZmZXIgd2UKCSAgYXJlIGNvcHlpbmcgZnJvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA0MAoKMjAxNS0wMS0xOSAxNToyOToyNCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogc2V0IGNvbG9yc3BhY2UgaW4gY2FwcyBmb3IgY2FwdHVyZSBkZXZpY2VzCgkgIFRoaXMgaW5mb3JtYXRpb24gaXMgc2V0IGJ5IHRoZSBkcml2ZXIgZm9yIGEgY2FwdHVyZSBkZXZpY2UsIGFuZCBzbyBjb3VsZAoJICBiZSBmb3J3YXJkZWQgdG8gcGlwZWxpbmUgYnkgc2V0dGluZyB0aGUgY29sb3JpbWV0cnkgaW4gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE4NgoKMjAxNC0xMC0wNiAxNzozMDowNiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJidWZmZXJwb29sOiBmaXggaW1wb3J0X3VzZXJwdHIoKSBpbiBzaW5nbGUtcGxhbmFyIEFQSSB3aGVuIG5fcGxhbmVzID4gMQoJICBJbiB0aGUgVjRMMiBzaW5nbGUtcGxhbmFyIEFQSSwgd2hlbiBmb3JtYXQgaXMgc2VtaS1wbGFuYXIvcGxhbmFyLAoJICBkcml2ZXJzIGV4cGVjdCB0aGUgcGxhbmVzIHRvIGJlIGNvbnRpZ3VvdXMgaW4gbWVtb3J5LgoJICBTbyB0aGlzIGNvbW1pdCBjaGFuZ2UgdGhlIHdheSB3ZSBoYW5kbGUgc2VtaS1wbGFuYXIvcGxhbmFyIGZvcm1hdAoJICAobl9wbGFuZXMgPiAxKSB3aGVuIHdlIHVzZSB0aGUgc2luZ2xlLXBsYW5hciBBUEkgKGdyb3VwLT5uX21lbSA9PSAxKS4KCSAgVG8gY2hlY2sgdGhhdCBwbGFuZXMgYXJlIGNvbnRpZ3VvdXMgYW5kIGhhdmUgZXhwZWN0ZWQgc2l6ZSwgaWU6IG5vCgkgIHBhZGRpbmcuIFdlIHRlc3QgdGhlIGZhY3QgdGhhdCBwbGFuZSAnaScgc3RhcnQgYWRkcmVzcyArIHBsYW5lICdpJwoJICBleHBlY3RlZCBzaXplIGVxdWFscyB0byBwbGFuZSAnaSArIDEnIHN0YXJ0IGFkZHJlc3MuIElmIG5vdCwgd2UgcmV0dXJuCgkgIGluIGVycm9yLgoJICBNYXRoIGFyZSBkb25lIGluIGJ1ZmZlcnBvb2wgcmF0aGVyIHRoYW4gaW4gYWxsb2NhdG9yIGJlY2F1c2UgdGhlCgkgIGZvcm1lciBpcyBhd2FyZSBvZiB2aWRlbyBpbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDEzCgoyMDE1LTAxLTIzIDEwOjE1OjQ2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJhbGxvY2F0b3I6IGxldCBidWZmZXJwb29sIGNhbGN1bGF0ZSBpbWFnZSBzaXplIHdoZW4gaW1wb3J0aW5nIHVzZXJwdHIKCSAgT2Zmc2V0IGFyZSByZWxhdGl2ZSB0byB0aGUgYnVmZmVyIGFuZCB0aGVyZSBpcyBubyBndWFyYW50ZWUgc3Vic3RyYWN0aW5nCgkgIHRoZW0gd2lsbCBnaXZlIHVzIHRoZSBwbGFuZSBzaXplLiBTbyB3ZSBsZXQgYnVmZmVycG9vbCBtYWtlIHRoZSBtYXRoIGFzCgkgIGl0IGlzIG1vcmUgYXdhcmUgb2YgdmlkZW8gaW5mbyB0aGFuIGFsbG9jYXRvciBhbmQgcGFzcyBhIHNpemUgYXJyYXkgdG8KCSAgYWxsb2NhdG9yIGltcG9ydCBmdW5jdGlvbi4KCSAgUG9pbnRlZCBvdXQgYnkgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDEzCgoyMDE0LTEyLTExIDE2OjEzOjE1ICswMTAwICBQaGlsaXBwZSBEZSBNdXl0ZXIgPHBoZG1AbWFjcWVsLmJlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiByZWNvZ25pemUgYW5kIGRpc3Rpbmd1aXNoIGFsbCBiYXllciBhcnJhbmdlbWVudHMKCSAgVXAgdG8gbm93LCB2NGwyc3JjIHJlY29nbml6ZWQgb25seSAiYmdnciIgYW1vbmdzdCB0aGUgYmF5ZXIgYXJyYW5nZW1lbnRzLgoJICBSZWNvZ25pemUgbm93IGFsc28gdGhlICJyZ2diIiwgImdicmciIGFuZCAiZ3JiZyIgYXJyYW5nZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMzYzCgoyMDE1LTAxLTE1IDE2OjExOjUzICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHNldCB2NGwyX2J1ZmZlci5maWVsZCB3aGVuIHF1ZXVpbmcgYnVmZmVyIGluIGFuIG91dHB1dCBkZXZpY2UKCSAgQWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHNwZWNpZmljYXRpb24sIGFwcGxpY2F0aW9uIG11c3Qgc2V0IHRoaXMgZmllbGQKCSAgZm9yIGFuIG91dHB1dCBkZXZpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwMTMKCjIwMTUtMDItMjQgMDU6NTc6MjQgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpb3NyYzogaU9TIHJlc2FtcGxpbmcgY2F1c2VzIHN0dXR0ZXJpbmcKCSAgRml4ZXMgc3R1dHRlcmluZyBhdWRpbyB3aGVuIGlPUyBBVSBpcyByZXNhbXBsaW5nLiBUbyBtYWtlIEFVIHJlc2FtcGxlLAoJICBvbmUgaGFzIHRvIHJlcXVlc3QgYSByYXRlIHRoYXQgZGlmZmVycyBmcm9tIEFWQXVkaW9TZXNzaW9uJ3MKCSAgc2FtcGxlUmF0ZS4gVGhlIHJlc2FtcGxpbmcgaXRzZWxmIGlzIG5vdCB0aGUgY3VscHJpdCwgYnV0IHJhdGhlciBvdXIKCSAgQVBJIG1pc3VzZS4KCSAgQXVkaW9Vbml0UmVuZGVyIG1vZGlmaWVzIHRoZSBtRGF0YUJ5dGVTaXplIG1lbWJlcnMgd2l0aCB0aGUKCSAgYWN0dWFsIHJlYWQgYnl0ZXMgY291bnQuIFRoZXJlZm9yZSwgdGhleSBtdXN0IGJlIHJlaW5pdGlhbGl6ZWQKCSAgYmVmb3JlIGVhY2ggQXVkaW9Vbml0UmVuZGVyLiAoVGhlIGJ1ZmZlcnMgdGhlbXNlbHZlcyBjYW4gYmUKCSAgcHJlYWxsb2NhdGVkLikKCSAgVGhlICJzdHV0dGVyIiB3YXMgY2F1c2VkIGJ5IG9uZSBBdWRpb1VuaXRSZW5kZXIgbWFraW5nIHRoZSBidWZmZXIKCSAgdG9vIHNtYWxsIGZvciBvdGhlciBBdWRpb1VuaXRSZW5kZXIgaW52b2NhdGlvbnMsIG1ha2luZyB0aGVtIGZhaWwKCSAgd2l0aCAtNTAgKHBhcmFtRXJyKS4gQnkgd2F5IG9mIGx1Y2ssIHdoZW4gQVUgZGlkbid0IHJlc2FtcGxlLCBhbGwKCSAgQXVkaW9Vbml0UmVuZGVyIGludm9jYXRpb25zIHJlYWQgdGhlIHNhbWUgbnVtYmVyIG9mIGJ5dGVzLgoJICAoVGhpcyBwYXRjaCBhZGRyZXNzZXMgc29tZSBub24taW50ZXJsZWF2ZWQgYXVkaW8gY29uY2VybnMsIGJ1dAoJICBhdCB0aGlzIG1vbWVudCB0aGUgZWxlbWVudHMgZG8gbm90IHN1cHBvcnQgbm9uLWludGVybGVhdmVkIGF1ZGlvCgkgIGFuZCBub24taW50ZXJsZWF2ZWQgaXMgdW50ZXN0ZWQuKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTIyCgoyMDE1LTAyLTIyIDAxOjQ5OjUyICswMTAwICBLcnp5c3p0b2YgS290bGVuZ2EgPHBvY2VrQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gdW5hdXRob3JpemVkCgkgIE1ha2UgdXNlIG9mIE5PVF9BVVRIT1JJWkVEIGVycm9yIGNvZGUgaW5zdGVhZCBvZiBmYWxsaW5nIGJhY2sgdG8gZ2VuZXJpYwoJICBSRUFEIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAxNzMzCgoyMDE1LTAyLTIzIDIwOjA2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZXNyYzogcmVtb3ZlIHBvaW50bGVzcyBnX3JldHVybl92YWxfaWZfZmFpbCgpCgkgIHhpbWFnZSB3b24ndCBldmVyIGJlIE5VTEwgaGVyZSBiZWNhdXNlIHRoZSBkaXNwb3NlCgkgIGZ1bmN0aW9uIGlzIGNhbGxlZCB2aWEgeGltYWdlLT5kaXNwb3NlKCkuCgoyMDE1LTAyLTIzIDE5OjQwOjI1ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWxsIHNlZ21lbnQgcmVzdWx0aW5nIGZyb20gYSBzZWVrIHNob3VsZCBoYXZlIHRoZSBzYW1lIHNlcW51bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTgzCgoyMDE1LTAyLTE5IDIzOjEyOjMxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRW5hYmxlIGNvcHkgd2hlbiBubyBrbm93biBhbGxvY2F0aW9uIHBhcmFtcwoJICBXaGVuIHRoZXJlIGlzIG5vIGFsbG9jYXRpb24gcGFyYW1ldGVycyBpbiB0aGUgcXVlcnksIGVuYWJsZSBjb3B5CgkgIHRocmVzaG9sZC4gV2hlbiB0aGlzIHRocmVzaG9sZCBpcyByZWFjaGVkLCB0aGUgYnVmZmVyIHBvb2wgd2lsbCBzdGFydAoJICBjb3B5aW5nIHdoZW4gdGhlIHBvb2wgcmVhY2hlcyBhIGNyaXRpY2FsIGxldmVsLiBJZiB0aGUgZHJpdmVyIHN1cHBvcnRzCgkgIENSRUFURV9CVUZTLCB0aGlzIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgoKMjAxNS0wMi0xOSAyMzowODozNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXBkYXRlIGFsbG9jYXRvciBmbGFncwoJICBXaGVuIHdlIGhpdCBlbXVsYXRlZCBmb3JtYXRzLCB3ZSBkaXNhYmxlIENSRUFURV9CVUZTIHNpbmNlIGxpYnY0bDIKCSAgY29wZSB2ZXJ5IGJhZGx5IHdpdGggaXQuIEFsc28gY2xlYXIgdGhlIGFsbG9jYXRvciBmbGFncyBzbyB3ZSB3aWxsCgkgIG5ldmVyIHRyeSB0byBhbGxvY2F0ZSBtb3JlIGJ1ZmZlcnMuIFRoaXMgZml4ZXMgZmFpbHVyZSB3aGVuIHRoZSBjb3B5CgkgIHRocmVzaG9sZCBpcyByZWFjaGVkIGFzIHdlIHdoZXJlIGNhbGxpbmcgQ1JFQVRFX0JVRlMsIHdoaWNoIGxlYWQgdG8KCSAgbGlidjRsMiBpbnN0YWJpbGl0eS4KCjIwMTUtMDItMTkgMjM6MDc6MjMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVzZSBzcGVjaWZpYyBkZWJ1ZyBjYXRlZ29yeQoJICBUaGUgcG9vbCBoYXMgZ3Jvd24gZW5vdWdoIHRoYXQgaXQgaXMgbm93IGhhbmR5IHRvIHNlcGVyYXRlIHY0bDJvYmplY3QKCSAgdHJhY2UgZnJvbSB2NGwyYnVmZmVycG9vbCB0cmFjZS4KCjIwMTUtMDItMTkgMTQ6Mjk6MDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBkZWZhdWx0IGVuY29kaW5nIG5hbWUgdG8gVlA4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTQ6MDY6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBtYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIHRydW5jYXRpbmcgdGhlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTA1IDEwOjI5OjI2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogbmVnb3RpYXRlIGVuY29kaW5nIG5hbWUKCSAgQ2hyb21lIHVzZXMgYSBkaWZmZXJlbnQgb25lIHRoYW4gZ3N0cmVhbWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDEyOjM1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBTZW5kIGluaXRpYWwgZXZlbnRzIG9uIHN5bmNfcnRjcCBwYWQgd2hlbiB1c2luZyBSVFAvUlRDUCBtdXhpbmcKCSAgT3RoZXJ3aXNlIHdlIHdpbGwganVzdCBzZW5kIGJ1ZmZlcnMgb24gdGhlIHBhZCB3aXRob3V0IGFueSBldmVudHMgYmVmb3JlaGFuZAoJICBhbmQgd2lsbCBnZXQgZ193YXJuaW5ncygpIGFib3V0IHRoYXQuCgoyMDE1LTAyLTE5IDExOjIwOjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGNhc2UgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQKCSAgY29tbWl0IGIxMDk4YzJlYTVlYWJlYTdhZjA4Y2U1MWQyMmI4NjdlYWVkMmJiZTIgYWRkZWQgYSBuZXcgY2FzZSBpbgoJICBnc3RfamFja19hdWRpb19zcmNfZ2V0X3Byb3BlcnR5KCkgYnV0IGZvcmdvdCB0byBhZGQgdGhlIGJyZWFrIHN0YXRlbWVudCB0byBpdC4KCjIwMTUtMDItMTggMTk6MTg6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIFJldmVydCAidjRsMjogZnJhY3Rpb24gaXMgcmV2ZXJzZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjkxZmUzNjY0NGIxNWFlMDcwZDcyYjllOGE5YzcwODdlODJhZWYxMi4KCjIwMTUtMDItMTggMTc6NDk6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZyYWN0aW9uIGlzIHJldmVyc2VkCgkgIEluIHRoZSBmcmFjdGlvbiAxIC8gMi4gMSBpcyB0aGUgbnVtZXJhdG9yIGFuZCAyIGlzIHRoZSBkZW5vbWluYXRvci4KCSAgVGhlIGFyZ3VtZW50cyBvZiBmcmFjdGlvbiBnc3RfdmFsdWVfc2V0X2ZyYWN0aW9ucygpIGFyZSB2YWx1ZSwKCSAgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvci4KCSAgQWxzbywgZ3N0X3ZhbHVlX3NldF9mcmFjdGlvbigpIGZhaWxzIGlmIGRlbm9taW5hdG9yIGlzIDAgZm9yIG9idmlvdXMKCSAgcmVhc29ucy4KCjIwMTUtMDItMTcgMjA6MjY6NTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IERlYWN0aXZhdGUgb3RoZXIgcG9vbAoJICBXaGVuIGltcG9ydGluZyBidWZmZXJzIGZyb20gYSBkb3duc3RyZWFtIHBvb2wsIHdlIG5lZWQgdG8gZGVhY3RpdmF0ZQoJICB0aGF0IHBvb2wgdG8gZW5zdXJlIGl0IHdpbGwgYmUgdXNhYmxlIGFnYWluIGxhdGVyLiBSZWx5aW5nIG9uIHRoZQoJICByZWZjb3VudCB0byByZWFjaCB6ZXJvIGRvZXMgbm90IHdvcmssIHNpbmNlIGVsZW1lbnRzIGxpa2UgeHZpbWFnZXNpbmsKCSAga2VlcHMgYSByZWZlcmVuY2Ugb24gdGhlaXIgcHJvcG9zZWQgcG9vbC4KCjIwMTUtMDItMTggMTA6MTA6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgbm90IG5lZWRlZCBjb25kaXRpb24KCSAgZ3N0X2J1ZmZlcl9yZXBsYWNlIGNhbiBoYW5kbGUgTlVMTCBpbnB1dHMgYnkgaXRzZWxmCgoyMDE1LTAyLTE4IDA5OjQwOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJlZmVyIHRoZSB0ZmR0IHRpbWVzdGFtcCBvdmVyIHRoZSBidWZmZXIncyB0aGF0IGlzIGxlc3MgYWNjdXJhdGUKCSAgVGhlIHRmZHQgc2hvdWxkIGJlIG1vcmUgYWNjdXJhdGUgYXMgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgaXMgcHJvdmlkZWQKCSAgYnkgdGhlIGZyYWdtZW50ZWQgZm9ybWF0IG1hbmlmZXN0IGFuZCBpdCBtaWdodCBqdXN0IGJlIGFuIGFwcHJveGltYXRpb24uCgoyMDE1LTAyLTE3IDE2OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV2hlbiByZXNldHRpbmcgdGhlIGppdHRlcmJ1ZmZlciBiZWNhdXNlIG9mIHBhY2tldCBkaXNjb250LCBkb24ndCBmbHVzaCBzdGlja3kgZXZlbnRzCgkgIFdlIHdpbGwgb3RoZXJ3aXNlIGZsdXNoIGF3YXkgU1RSRUFNX1NUQVJULCBDQVBTIG9yIFNFR01FTlQgZXZlbnRzIGFuZCB3aWxsCgkgIGNvbmZ1c2UgZG93bnN0cmVhbSB3aXRoIGJ1ZmZlcnMgdGhhdCBjb21lIGJlZm9yZSBzdWNoIGV2ZW50cy4KCjIwMTUtMDItMTcgMTI6MjA6NTcgKzAxMDAgIGhhcmsgPGhhcmtAcHVzY2lpLm5sPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogQWRkIHByb3BlcnR5IHBvcnQtcGF0dGVybiB0byBzcGVjaWZ5IHdoaWNoIEpBQ0sgcG9ydHMgdG8gY29ubmVjdCB0bwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNzE5CgoyMDE1LTAyLTE3IDEyOjMxOjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9nc3Rpc29mZi5jOgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IFJlZGVmaW5lIGdzdF9pc29mZl8gc3ltYm9scyB0byBnc3RfaXNvZmZfcXRfCgkgIFdlIG5lZWQgZGlmZmVyZW50IHN5bWJvbCBuYW1lcywgYmVjYXVzZSB0aGVzZSBzeW1ib2xzIGFyZSBhbHNvIHByZXNlbnQKCSAgaW4gdGhlIGZyYWdtZW50ZWQgcGx1Z2luIC4uLiB3aGljaCB3aWxsIGNhdXNlIGNvbmZsaWN0cyB3aGVuIGRvaW5nCgkgIHN0YXRpYyBsaW5raW5nCgoyMDE1LTAyLTE2IDE0OjMxOjA1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvbGluZXMuYzoKCSAgZ29vbTJrMTogdXNlIGZyYWN0aW9uYWwgcGFydCBvZiBmbG9hdCBkaXZpc2lvbgoKMjAxNS0wMi0xNiAxMzo1OToxNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luOiByZW1vdmUgZGVhZCBjb2RlCgkgIEV2ZXJ5IGluc3RhbmNlIG9mIGdvdG8gYmVhY2ggaGFzIGJ1Zl9pbmZvIGVxdWFsIE5VTEwuIERvbid0IGNoZWNrCgkgIGZvciBhIGNvbmRpdGlvbiB0aGF0IG5ldmVyIGhhcHBlbnMuCgkgIENJRCAjMTI2ODM5OQoKMjAxNS0wMi0xNSAyMTo0NToyNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eC10ZXN0OiBQYXJzZSBlcnJvciBtZXNzYWdlCgkgIFRoZSB0ZXN0IGhhZCBhIGZ1bmN0aW9uIHRvIHByaW50IHRoZSBlcnJvciwgYnV0IHdhcyBub3QgcGFyc2luZyBpdC4KCSAgVGhpcyB3YXMgY2F1c2luZyB3YXJuaW5nIGFib3V0IGRiZ19pbmZvIGJlaW5nIHVzZWQgdW5pbml0aWFsaXplZC4gSWYKCSAgdGhlIHRlc3Qgd2FzIHRlc3RpbmcgYW55IGVycm9ycywgdGhpcyB3b3VsZCBoYXZlIGNyYXNoZWQuCgoyMDE1LTAyLTE1IDIxOjM0OjI4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogRml4IG1pbiBhbmQgbWF4IGZvciBiYW5kcyBwcm9wZXJ0eQoJICBUaGUgbnVtYmVyIG9mIEZGVHMgaXMgY2FsY3VsYXRlZCB3aXRoIHRoZSBmb2xsb3dpbmcgZm9ybXVsYToKCSAgZ3VpbnQgbmZmdCA9IDIgKiBiYW5kcyAtIDI7CgkgIG5mZnQgaXMgcGFzc2VkIHRvIGdzdF9mZnRfZjMyX25ldygpIGFzIHRoZSBsZW4gYXJndW1lbnQgYW5kIGlzIG9mIHR5cGUKCSAgdW5zaWduZWQgaW50ZWdlci4gVGhpcyBtZXRob2QgcmVxdWlyZWQgdGhhdCBsZW4gaXMgYXQgbGVhcyAxLCB0aGVuCgkgIG1heGltdW0gR19NQVhJTlQsIGFzIG90aGVyIHZhbHVlcyB3b3VsZCBiZSBuZWdhdGl2ZS4gSWYgd2UgZXh0cmFwb2xhdGUKCSAgZnJvbSB0aGUgZm9ybXVsYSBhYm92ZSBpdCBtZWFucyB3ZSBuZWVkICJiYW5kcyIgdG8gYmUgYmV0d2VlbiAyIGFuZAoJICAoKGd1aW50KUdfTUFYSU5UICsgMikgLyAyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDIxMwoKMjAxNS0wMi0xNSAxNTo1MTo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBmcmVlaW5nIG9mIHNoYXJlZCBtZW1vcnkKCSAgV2hlbiBtZW1vcnkgKHRoYXQgaGFzIGJlZW4gc2hhcmVkIHVzaW5nIGdzdF9tZW1vcnlfc2hhcmUoKSkgYXJlIGZyZWVkLAoJICB0aGUgbWVtb3J5IChvciB0aGUgRE1BQlVGIEZEKSBzaG91bGQgbm90IGJlZSBmcmVlZC4gVGhlc2UgbWVtb3JpZXMgaGF2ZQoJICBhIHBhcmVudC4gVGhpcyBhbHNvIHJlbW92ZXMgdGhlIGV4dHJhIF92NGwybWVtX2ZyZWUgZnVuY3Rpb24gYW5kIGF2b2lkCgkgIGNhbGxpbmcgY2xvc2UgdHdpY2Ugb24gdGhlIERNQUJVRiBGRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MwoKMjAxNS0wMi0xNCAxMToxMTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCB1c2Ugc3BhcnNlIHN0cmVhbXMgaW4gcHVzaC1iYXNlZCBzZWVraW5nCgkgIFVzaW5nIHRoZSBzcGFyc2Ugc3RyZWFtcyBjYW4gbWFrZSB0aGUgcHVzaC1iYXNlZCBzZWVraW5nIHJldHVybgoJICB0b28gZmFyIGluIHRoZSBzdHJlYW0uIEl0IGFsc28gY2FuIGxlYWQgdG8gaXNzdWVzIGFzIHRoZQoJICBzcGFyc2Ugc3RyZWFtcyB3aWxsIGJlIGlnbm9yZWQgd2hlbiByZXN0YXJ0aW5nIHBsYXliYWNrIGFuZCwKCSAgaWYgdGhlIHNwYXJzZSBzdHJlYW0gaXMgdGhlIG9uZSB0aGF0IGhhcyB0aGUgZWFybGllc3Qgc2FtcGxlLAoJICBpdCB3aWxsIGNvbmZ1c2UgcXRkZW11eCdzIG9mZnNldHMgYXMgb25lIHN0cmVhbSB3aWxsIGhhdmUKCSAgYW4gZWFybGllciBvZmZzZXQgdGhhbiB0aGUgZGVtdXhlcidzIG9uZSB3aGljaCBtaWdodCBsZWFkIHRvCgkgIGVhcmx5IEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY2MQoKMjAxNS0wMi0xMyAxOTo0MzoxNiArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEVuaGFuY2UgY29kZSByZWFkYWJpbGl0eSBpbiBwdWxzZXNpbmtfcXVlcnkKCSAgSW4gcHVsc2VzaW5rX3F1ZXJ5IGZ1bmN0aW9uLCB3ZSB1c2UgYSBzd2l0Y2ggZm9yIHRoZSBxdWVyeQoJICB0eXBlLiBJbiB0aGUgQ0FQUyBjYXNlLCB0aGVyZSBpcyBubyAnYnJlYWsnLCBpbnN0ZWFkIHdlCgkgIHJldHVybiByaWdodCBhd2F5LiBVc2UgYSBicmVhayBhbmQgcmV0dXJuIGF0IHRoZSBlbmQgb2YKCSAgdGhlIGZ1bmN0aW9uIGluc3RlYWQgZm9yIGJldHRlciBjb2RlIHJlYWRhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NDYxCgoyMDE1LTAyLTEzIDIwOjQwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBmbGFnIGFzIHNpbmsgZnJvbSB0aGUgc3RhcnQKCjIwMTUtMDItMTEgMTU6MzA6NDQgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmM6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBJbml0aWFsICdzaWR4JyBhdG9tIHBhcnNpbmcgc3VwcG9ydAoJICBQYXJzZSB0aGUgJ3NpZHgnIGF0b20gYW5kIHVwZGF0ZSB0aGUgdG90YWwgZHVyYXRpb24gYWNjb3JkaW5nIHRvIHRoZQoJICBwYXJzZXIgcmVzdWx0LiBUaGUgaXNvZmYgcGFyc2VyIGNvZGUgaXMgaW1wb3J0ZWQgZnJvbQoJICBnc3QtcGx1Z2lucy1iYWQncyBkYXNoZGVtdXggYW5kIGEgZ3N0X2lzb2ZmX3NpZHhfcGFyc2VyX2FkZF9kYXRhKCkKCSAgZnVuY3Rpb24gd2FzIGZhY3RvcmVkIG91dCBvZiB0aGUgZ3N0X2lzb2ZmX3NpZHhfcGFyc2VyX2FkZF9idWZmZXIoKQoJICBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzU3OAoKMjAxNS0wMi0xMSAwNTowNjo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBVc2UgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpCgkgIFVzZSBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkgZnJvbSBsaWJnc3R2aWRlbyB0byBndWVzcwoJICBzZW5zaWJsZSBjb21tb24gZnJhbWVyYXRlcyB3aGVyZSBwb3NzaWJsZSBmcm9tIHRoZQoJICBmbG9hdGluZyBwb2ludCBmcHMgaW4gdGhlIHN0cmVhbS4KCjIwMTUtMDItMTEgMTM6NTM6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgSW1wcm92ZSBhbmQgZml4IExBVEVOQ1kgcXVlcnkgaGFuZGxpbmcKCSAgVGhpcyBub3cgZm9sbG93cyB0aGUgZGVzaWduIGRvY3MgZXZlcnl3aGVyZSwgZXNwZWNpYWxseSB0aGUgbWF4aW11bSBsYXRlbmN5CgkgIGhhbmRsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTA2CgoyMDE1LTAyLTExIDEwOjI5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBIYW5kbGUgZmlyc3QgUlRDUCBwYWNrZXQgYW5kIGVhcmx5IGZlZWRiYWNrIGNvcnJlY3RseQoJICBBY2NvcmRpbmcgdG8gUkZDIDQ1ODUgc2VjdGlvbiAzLjUuMyBzdGVwIDEgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIHNlbmQKCSAgYW4gZWFybHkgUlRDUCBwYWNrZXQgZm9yIHRoZSB2ZXJ5IGZpcnN0IG9uZS4gSXQgbXVzdCBiZSBhIHJlZ3VsYXIgb25lLgoJICBBbHNvIG1ha2Ugc3VyZSB0byBub3QgdXNlIGxhc3RfcnRjcF9zZW5kX3RpbWUgaW4gYW55IGNhbGN1bGF0aW9ucyB1bnRpbAoJICB3ZSBhY3R1YWxseSBzZW50IGFuIFJUQ1AgcGFja2V0IGFscmVhZHkuIEluIHNwZWNpZmljIHRoaXMgbWVhbnMgdGhhdCB3ZQoJICBtdXN0IG5vdCB1c2UgaXQgZm9yIGZvcndhcmQgcmVjb25zaWRlcmF0aW9uIG9mIHRoZSBjdXJyZW50IFJUQ1Agc2VuZCB0aW1lLgoJICBJbnN0ZWFkIHdlIGRvbid0IGRvIGFueSBmb3J3YXJkIHJlY29uc2lkZXJhdGlvbiBmb3IgdGhlIGZpcnN0IFJUQ1AgcGFja2V0LgoKMjAxNS0wMi0xMCAxODo1Mzo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGZpeCBjb21waWxhdGlvbiB3aXRoIGdjYyA1LjAKCjIwMTUtMDItMTAgMTY6MDA6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGZpeCBleGFtcGxlIHBpcGVsaW5lIHByb3Blcmx5CgkgIHgyNjRlbmMgbWlnaHQgbm90IGhhdmUgYSBtYXgta2V5LWludCBwcm9wZXJ0eSwgYnV0IGl0CgkgIGhhcyBhIGtleS1pbnQtbWF4IHByb3BlcnR5Li4uCgoyMDE1LTAyLTEwIDE0OjU3OjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eDogZml4IHR5cG8KCjIwMTUtMDItMTAgMTQ6NTY6MjMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogdXBkYXRlIGV4YW1wbGUgcGlwZWxpbmUKCSAgRWxlbWVudCB4MjY0ZW5jIGRvZXNuJ3QgaGF2ZSBhIG1heC1rZXktaW50IHByb3BlcnR5CgoyMDE1LTAyLTEwIDEzOjI5OjMyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBJZiBleGVjdXRpb24gZ29lcyB0byB0aGUgYmVhY2ggaW4gbGluZSA5ODEsIGJ1Zl9pbmZvIGdvZXMgb3V0IG9mIHNjb3BlIHdpdGhvdXQKCSAgdGhlIG1lbW9yeSBiZWluZyBmcmVlJ2QuIEhhbmRsZSB0aGlzIGNhc2UuCgkgIENJRCAjMTI2ODQwMwoKMjAxNS0wMi0wOCAxMjowMzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGF3a3dhcmQgaWYgY2xhdXNlCgoyMDE1LTAyLTA3IDAxOjQxOjQ5ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4OiBBZGQgdW5pdCB0ZXN0IGZvciBmaWxlIHNwbGl0dGluZwoJICBBZGQgYSB1bml0IHRlc3QgZm9yIGZpbGUgc3BsaXR0aW5nLCBhbmQgZml4IHRoZSBsZWFrcyBpbiB0aGUKCSAgc3BsaXRtdXhzaW5rIGl0IGZvdW5kCgoyMDE1LTAyLTA2IDE0OjQzOjIyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBmaXggd2hpY2ggc3RvcCB2YXJpYWJsZSBpcyB1c2VkIGluIGFzc2lnbm1lbnQKCSAgQXNzaWdubWVudCBpcyBkb25lIHRvIHZhcmlhYmxlIHNlZ21lbnQuc3RvcCB3aGVuIHRoZSBpbnRlbnRpb24gd2FzIHRvIGFzc2lnbiB0bwoJICBsb2NhbCB2YXJpYWJsZSBzdG9wLiBJbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGl0LCB0aGUgdmFsdWUgaXMgbm93IGNsYW1wZWQgYW5kCgkgIHNlZ21lbnQuc3RvcCBpcyBzZXQgdG8gaXQgc29vbiBhZnRlci4KCSAgQ0lEICMxMjY1NzczCgoyMDE1LTAyLTA3IDAwOjE5OjM2ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXg6IEZpeCBtZW1vcnkgbGVha3MgdW50aWwgdGhlIHRlc3QgdmFsZ3JpbmRzIGNsZWFuCgoyMDE1LTAyLTA2IDA2OjQyOjE3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4OiBIYW5kbGUgZWFybHkgRU9TIGR1cmluZyBwYXJ0IHByZXBhcmF0aW9uCgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhIHNob3J0IGZpbGUgcmVhY2hlcyBFT1Mgd2hpbGUgd2UncmUgc3RpbGwKCSAgd2FpdGluZyBmb3Igbm8tbW9yZS1wYWRzLCBhbmQgbWFrZSBzdXJlIHdlIGNvbnRpbnVlIHRvIHRoZSBpbnRlcm5hbAoJICBSRUFEWSBzdGF0ZSBmb3IgcmVhbCBwbGF5YmFjayB0byB3b3JrIHByb3Blcmx5IGxhdGVyLgoKMjAxNS0wMi0wNiAwNTowMzoxOSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDAub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDEub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDIub2dnOgoJICB0ZXN0czogQ2hhbmdlIHNwbGl0bXV4IHRlc3QgdmlkZW8gZmlsZXMKCSAgQXZvaWQgdGVzdCBmYWlsdXJlIGJ5IGNoYW5naW5nIHRoZSBzdG9yZWQgdmlkZW8gcmVzb2x1dGlvbgoJICBmcm9tIDgweDYwIHRvIDgweDY0LCB3aGljaCBuZWVkcyBidWcgNzQxMDMwIHRvIGJlIGZpeGVkLgoKMjAxNC0wOC0wMSAwMDowNzo1MyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXR1dGlscy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0dXRpbHMuaDoKCSogZ3N0L211bHRpZmlsZS90ZXN0LXNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAwLm9nZzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAxLm9nZzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAyLm9nZzoKCSAgc3BsaXRtdXg6IEltcGxlbWVudCBuZXcgZWxlbWVudHMgZm9yIHNwbGl0dGluZyBmaWxlcyBhdCBtdXggbGV2ZWwuCgkgIEltcGxlbWVudCAyIG5ldyBlbGVtZW50cyAtIHNwbGl0bXV4c2luayBhbmQgc3BsaXRtdXhzcmMuCgkgIHNwbGl0bXV4c2luayBpcyBhIGJpbiB3aGljaCB3cmFwcyBhIG11eGVyIGFuZCB0YWtlcyAxIHZpZGVvIHN0cmVhbSwKCSAgcGx1cyBhdWRpby9zdWJ0aXRsZSBzdHJlYW1zLCBhbmQgc3RhcnRzIGEgbmV3IGZpbGUKCSAgd2hlbmV2ZXIgbmVjZXNzYXJ5IHRvIGF2b2lkIG92ZXJydW5uaW5nIGEgdGhyZXNob2xkIG9mIGVpdGhlciBieXRlcwoJICBvciB0aW1lLiBOZXcgZmlsZXMgYXJlIHN0YXJ0ZWQgYXQgYSBrZXlmcmFtZSwgYW5kIGNvcnJlc3BvbmRpbmcgYXVkaW8KCSAgYW5kIHN1YnRpdGxlIHN0cmVhbXMgYXJlIHNwbGl0IGF0IHBhY2tldCBib3VuZGFyaWVzIHRvIG1hdGNoCgkgIHZpZGVvIEdPUCB0aW1lc3RhbXBzLgoJICBzcGxpdG11eHNyYyBpcyBhIGNvcnJlc3BvbmRpbmcgc291cmNlIGVsZW1lbnQgd2hpY2ggaGFuZGxlcwoJICB0aGUgc3BsaXRtdXg6Ly8gVVJMIGFuZCBwbGF5cyBiYWNrIGFsbCBjb21wb25lbnQgZmlsZXMsCgkgIHJlY29uc3RydWN0aW5nIHRoZSBvcmlnaW5hbCBlbGVtZW50YXJ5IHN0cmVhbXMgYXMgaXQgZ29lcy4KCjIwMTUtMDItMDQgMTY6MzI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2ZpbGVzL3Rlc3QtY2VydC5wZW06CgkqIHRlc3RzL2ZpbGVzL3Rlc3Qta2V5LnBlbToKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiB1cGRhdGUgc3NsIGtleS9jZXJ0IHBhaXIKCSAgT3VyIG9uZXMgd2VyZSBleHBpcmVkLiBUaGUgbmV3IG9uZXMgd2VyZSBjb3BpZWQgZnJvbSBsaWJzb3VwJ3MKCSAgdGVzdHMgZmlsZXMuCgkgIEFsc28gc2V0cyB0aGUgcHJvcGVydHkgdG8gdXNlIG91ciBvd24gY2VydCB0byB2YWxpZGF0ZSB0aGUKCSAgc2VydmVyLCBvdGhlcndpc2UgdGhlIGRlZmF1bHQgc3lzdGVtIGNlcnRzIHdvdWxkIGJlIHVzZWQKCSAgYW5kIGl0IHdvdWxkIGZhaWwuCgoyMDE1LTAyLTA0IDAyOjI1OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHByZXZlbnQgdHJ5aW5nIHRvIGdldCAwIGJ5dGVzIGZyb20gYWRhcHRlcgoJICBUaGlzIGNhdXNlcyBhbiBhc3NlcnRpb24gYW5kIHdvdWxkIGxlYWQgdG8gZ2V0dGluZyBhIE5VTEwgaW5zdGVhZAoJICBvZiBhIGJ1ZmZlci4gV2l0aG91dCBwcm9wZXIgY2hlY2tpbmcgdGhpcyB3b3VsZCBlYXNpbHkgbGVhZCB0bwoJICBhIHNlZ2ZhdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxOTkKCjIwMTUtMDItMDQgMjE6NTA6NTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNpbXBsZSBpbXBsZW1lbnRhdGlvbiBvZiBHU1RfU0VHTUVOVF9GTEFHX1RSSUNLTU9ERV9LRVlfVU5JVFMKCSAgV2hlbiB0aGUgdHJpY2ttb2RlIGtleS11bml0cyBmbGFnIGlzIHNldCBvbiB0aGUgc2VnbWVudCwgc2ltcGx5IHNraXAKCSAgYW55IHNhbXBsZSBvbiBhIHZpZGVvIHN0cmVhbSB0aGF0IGlzbid0IGEga2V5ZnJhbWUKCjIwMTUtMDItMDMgMTc6MzU6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggY29udGFpbmVyIGhhbmRsaW5nCgkgIFdlIGRldGVjdCBhIGNvbnRhaW5lciBjb3JyZWN0bHkgbm93IHNvIHdlIG5lZWQgdG8gcmV2ZXJ0IHRoZSB3ZWlyZAoJICBjaGVjayB0aGVyZSB3YXMgYmVmb3JlLgoJICBVc2UgZ3N0X3J0c3BzcmNfc3RyZWFtX3B1c2hfZXZlbnQoKSB0byBwdXNoIHRoZSBjYXBzIGV2ZW50IG9uIHRoZQoJICByaWdodCBwYWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzkxCgoyMDE1LTAyLTAyIDE5OjQ2OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogc3RvcmUgYW5kIHdyaXRlIHN0cmVhbSB0YWdzCgkgIFNlcGFyYXRlIGdsb2JhbCBmcm9tIHN0cmVhbSB0YWdzIHN0b3JhZ2UgYW5kIHdyaXRlIHRoZW0gdG8gdGhlCgkgIGFwcHJvcHJpYXRlIHRhZ3MgZW50cnkgaW4gdGhlIG91dHB1dAoKMjAxNS0wMi0wMiAxMzozNTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIHN0cmVhbSB0YWdzCgkgIEtlZXAgZ2xvYmFsIGFuZCBzdHJlYW0gdGFncyBzZXBhcmF0ZWx5IGFuZCBwYXJzZSB0aGUgdWR0YSBub2RlCgkgIHRoYXQgY2FuIGJlIGZvdW5kIHVuZGVyIHRoZSB0cmFrIGF0b20uIFRoZSB1ZHRhIHdpbGwgY29udGFpbgoJICBzdHJlYW0gc3BlY2lmaWMgdGFncyBhbmQgd2lsbCBiZSBwdXNoZWQgYXMgc3VjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDczCgoyMDE1LTAxLTMxIDE0OjMyOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHN0b3JlIHN0cmVhbSBhbmQgY29udGFpbmVyIHRhZ3Mgc2VwYXJhdGVseQoJICBUYWdzIHJlY2VpdmVkIHZpYSBldmVudHMsIHdoZW4gbWFya2VkIGFzIHN0cmVhbSB0YWdzLCB3aWxsCgkgIGJlIHN0b3JlZCBvbiB0aGF0IHN0cmVhbSdzIHRyYWsgYXRvbSBpbnN0ZWFkIG9mIGJlaW5nIHN0b3JlZAoJICBpbiB0aGUgbWFpbiB0YWdzIGF0b20uIFRoaXMgYWxsb3dzIHRoZSByZXN1bHRpbmcgZmlsZSB0byBoYXZlCgkgIGdsb2JhbCBhbmQgc3RyZWFtIHRhZ3Mgc3RvcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDczCgoyMDE1LTAxLTMxIDEzOjE0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgdGFncyBmdW5jdGlvbnMgdG8gYWNjb21vZGF0YSBVRFRBIGF0IHRyYWsgbGV2ZWwKCSAgUmVmYWN0b3IgdGhlIGZ1bmN0aW9ucyB0aGF0IHdlcmUgYm91bmQgdG8gdGhlICdtb292JyBhdG9tIHRvCgkgIGRpcmVjdGx5IHBhc3MgdGhlIGRlc2lyZWQgJ3VkdGEnIHRoYXQgc2hvdWxkIHJlY2VpdmUgdGhlIHRhZ3MuCgkgIFRoaXMgYWxsb3dzIHRoZSB0YWdzIHRvIGJlIHdyaXR0ZW4gdG8gJ3VkdGEnIGF0IHRoZSAnbW9vdicgb3IKCSAgdGhlICd0cmFrJyBsZXZlbCwgY3JlYXRpbmcgdGFncyB0aGF0IGFyZSBmb3IgdGhlIGNvbnRhaW5lciBvcgoJICBmb3IgYSBzdHJlYW0gb25seS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ3MwoKMjAxNS0wMS0zMSAxMDo0Nzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWFwIGFwcGxpY2F0aW9uIG5hbWUgdG8gX3N3ciB0YWcKCSAgSXQgcmVmZXJzIHRvIHRoZSBhcHBsaWNhdGlvbiBuYW1lIGFuZCB2ZXJzaW9uIHVzZWQgdG8gY3JlYXRlIHRoZQoJICBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NzMKCjIwMTUtMDEtMzEgMDI6MzA6NDAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBGaXggc2Vla2luZyBwYXN0IHRoZSBlbmQgb2YgdGhlIGZpbGUgaW4gcmV2ZXJzZSBtb2RlLgoJICBTbmFwIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgd2hlbiBzZWVraW5nIHBhc3QgdGhlIGVuZCBpbiByZXZlcnNlIG1vZGUsCgkgIGFuZCBhbHNvIGZpeCBHU1RfU0VFS19UWVBFX0VORCBhbmQgR1NUX1NFRUtfVFlQRV9OT05FIGhhbmRsaW5nCgkgIGZvciB0aGUgc3RvcCBwb3NpdGlvbiBieSBhbHdheXMgc2Vla2luZyBvbiBhIHNlZ21lbnQgaW4gc3RyZWFtIHRpbWUKCjIwMTUtMDEtMzAgMTg6MjI6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBzaWduYWwgbmFtZQoJICBUaGlzIHdhc24ndCBtZWFudCB0byBiZSBwdXNoZWQgYXQgYWxsIHlldCwgYnV0IG5vdyB0aGF0IGl0J3MgdGhlcmUKCSAgYWxyZWFkeSBpdCB3b24ndCBodXJ0IHRvIG1ha2UgaXQgY29ycmVjdCBhdCBsZWFzdC4KCjIwMTUtMDEtMzAgMTY6NTY6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogRml4IHR5cG8gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMS0zMCAxNjo1MDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgbmV3IG9uLXJlY2VpdmluZy1ydGNwIHNpZ25hbAoJICBUaGlzIHdpbGwgYmUgZW1pdHRlZCB3aGVuZXZlciBhbiBSVENQIHBhY2tldCBpcyByZWNlaXZlZC4gRGlmZmVyZW50IHRvCgkgIG9uLWZlZWRiYWNrLXJ0Y3AsIHRoaXMgc2lnbmFsIGdldHMgZXZlcnkgY29tcGxldGUgUlRDUCBwYWNrZXQgYW5kIG5vdAoJICBqdXN0IHRoZSBpbmRpdmlkdWFsIGZlZWRiYWNrIHBhY2tldHMuCgoyMDE1LTAxLTI4IDE0OjAyOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IHNlZ21lbnQuYmFzZSBtYXRoCgkgIFJlbW92ZSBhIGZpeCBmb3IgaGVhdmlseSBlZGl0ZWQgZmlsZXMgYWRkZWQgZm9yIGZpeGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ1ODMwIHRvIHdvcmsKCSAgd2l0aCBzZWVrcyBhbmQgcHJvcGVyIGdhcHMgcGxheWJhY2suIFRoZSBmaXggd2FzIHJlcGxhY2VkCgkgIGZvciBhIG1vcmUgZ2VuZXJhbCBzb2x1dGlvbiB0aGF0IGJhc2VzIG9uIHVzaW5nIHByZXZpb3VzCgkgIHNlZ21lbnQncyBkdXJhdGlvbiwganVzdCBsaWtlIGl0IHdvcmtzIGZvciBtZWRpYSBzZWdtZW50cwoJICBwbGF5YmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzUxOAoKMjAxNS0wMS0yNyAxNDowMDozNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJICB2aWRlb21peGVyOiB1cGRhdGUgb3JjIGZpbGVzCgoyMDE1LTAxLTI2IDE3OjA4OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGRhdGEgZHJvcHBpbmcgZm9yIGZyYWdtZW50ZWQgc3RyZWFtcwoJICBGb3IgZnJhZ21lbnRlZCBzdHJlYW1zIHdpdGggZXh0cmEgZGF0YSBhdCB0aGUgZW5kIG9mIHRoZSBtZGF0CgkgIHF0ZGVtdXggd2FzIG5vdCBkcm9wcGluZyB0aG9zZSBieXRlcyBhbmQgd291bGQgdHJ5IHRvIHVzZQoJICB0aGF0IGV4dHJhIGRhdGEgYXMgdGhlIGJlZ2lubmluZyBvZiBhIG5ldyBhdG9tLCBjYXVzaW5nIHRoZQoJICBzdHJlYW0gdG8gZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzQwNwoKMjAxNS0wMS0yNSAxNzozMDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRGVwcmVjYXRlIHJ0Y3AtaW1tZWRpYXRlLWZlZWRiYWNrLXRocmVzaG9sZCBwcm9wZXJ0eQoJICBJdCBoYWQgbm8gZWZmZWN0IHNpbmNlIHF1aXRlIHNvbWUgdGltZSBhbmQgYWxzbyBpcyBub3QgbmVlZGVkIGluIGdlbmVyYWwsCgkgIGVzcGVjaWFsbHkgbm90IHRvIHN3aXRjaCBiZXR3ZWVuIGltbWVkaWF0ZSBmZWVkYmFjayBtb2RlIGFuZCBlYXJseSBmZWVkYmFjawoJICBtb2RlLiBUaGUgbGF0ZXN0IHVuZGVyc3RhbmRpbmcgb2YgdGhlIFJGQyBpcyB0aGF0IGZyb20gdGhlIGVuZHBvaW50IHBvaW50IG9mCgkgIHZpZXcsIGJvdGggbW9kZXMgYXJlIGV4YWN0bHkgdGhlIHNhbWUuIFJUQ1AgaXMgb25seSBhbGxvd2VkIHRvIHVzZSB0aGUKCSAgYmFuZHdpZHRoIGFzIGdpdmVuIGJ5IHRoZSBSRkMgY29uc3RyYWludHMsIGFzIHN1Y2ggaXQgaXMgb25seSBldmVyIHBvc3NpYmxlCgkgIHRvIHNjaGVkdWxlIGEgUlRDUCBwYWNrZXQgZWFybHkgYnV0IGl0J3MgYWdhaW5zdCB0aGUgUkZDIHRvIHNjaGVkdWxlIG1vcmUgUlRDUAoJICBwYWNrZXRzLgoJICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGltbWVkaWF0ZSBmZWVkYmFjayBtb2RlIGFuZCBlYXJseSBmZWVkYmFjayBtb2RlIGlzIHRoYXQKCSAgdGhlIGZvcm1lciBndWFyYW50ZWVzIHRoYXQgYW4gUlRDUCBwYWNrZXQgY2FuIGJlIHNlbnQgZm9yIGV2ZXJ5IGV2ZW50CgkgICJpbW1lZGlhdGVseSIsIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGJhbmR3aWR0aCBjYWxjdWxhdGlvbnMgZnJvbSB0aGUgUkZDIGhhdmUKCSAgcmVzdWx0ZWQgaW4gYW4gUlRDUCBzY2hlZHVsaW5nIGludGVydmFsIHRoYXQgaXMgc21hbGwgZW5vdWdoLiBFYXJseSBmZWVkYmFjawoJICBtb2RlIG9uIHRoZSBvdGhlciBoYW5kIG1lYW5zIHRoYXQgd2UgY2FuIHNjaGVkdWxlIHNvbWUgcGFja2V0cyBlYXJseSB0byBtYWtlCgkgIHRoYXQgaGFwcGVuLCBidXQgaXQncyBub3QgZ3VhcmFudGVlZCBhdCBhbGwgdGhhdCBpdCdzIHBvc3NpYmxlIHRvIHNjaGVkdWxlCgkgIGFuIFJUQ1AgcGFja2V0IHBlciBldmVudCAoaS5lLiB0aGV5IG5lZWQgdG8gYmUgYWNjdW11bGF0ZWQgb3IgZHJvcHBlZCkuCgoyMDE1LTAxLTIyIDEwOjI5OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEZWxheSB0aGUgbmV4dCByZWd1bGFyIFJUQ1AgcGFja2V0IGFmdGVyIGVhcmx5IFJUQ1AKCSAgVGhpcyBpcyByZXF1aXJlZCB0byBub3QgZXhjZWVkIHRoZSBzaG9ydCB0ZXJtIGF2ZXJhZ2UgUlRDUCBiaXRyYXRlIHdoZW4KCSAgdXNpbmcgZWFybHkgZmVlZGJhY2sgYXMgY29tcGFyZWQgdG8gd2l0aG91dCBlYXJseSBmZWVkYmFjay4KCjIwMTUtMDEtMjIgMTA6Mjg6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBuZXcgc2VuZC1ydGNwLWZ1bGwgc2lnbmFsCgkgIFRoaXMgaW5kaWNhdGVzIHdpdGggYSBib29sZWFuIHJldHVybiB2YWx1ZSBpZiBzY2hlZHVsaW5nIGEgbmV3IFJUQ1AgcGFja2V0CgkgIHdpdGhpbiB0aGUgcmVxdWVzdGVkIGRlbGF5IHdhcyBwb3NzaWJsZS4gT3RoZXJ3aXNlIGl0IGJlaGF2ZXMgZXhhY3RseSBsaWtlCgkgIHNlbmQtcnRjcC4gVGhlIG9ubHkgcmVhc29uIGZvciBhZGRpbmcgYSBuZXcgc2lnbmFsIGlzIEFCSSBjb21wYXRpYmlsaXR5LgoKMjAxNS0wMS0yMCAwMDozMjowMCArMDAwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgZm9ybWF0X2luZm8gaW4gcXVlcnlfZ2V0Y2FwcwoJICBJZiB3ZSBjYW4gbm90IGNyZWF0ZSBwcm9iZSBzdHJlYW0gaW4gcXVlcnlfZ2V0Y2FwcyBmdW5jdGlvbiwgaXQgd2lsbCBhcHBlYXIKCSAgbWVtb3J5IGxlYWthZ2UgZnJvbSBmb3JtYXQgaW5mby4KCSAgVGhlIGZvbGxvd2luZyBwYXRjaCBwcmV2ZW50IG1lbW9yeSBsZWFrYWdlIGluIHB1bHNlc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE3OAoKMjAxNS0wMS0yMyAxNzozNTo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgTm8gbWF0dGVyIGlmIGdzdF9tYXRyb3NrYV9yZWFkX2NvbW1vbl9wYXJzZV9pbmRleF9jdWV0cmFjayAoKSByZXR1cm5zIHRoYXQgdGhlCgkgIGZsb3cgaXMgT0sgb3Igbm90LCB0aGUgY2hlY2sgdGhlcmUgd2lsbCBiZSBhIGJyZWFrIGZyb20gdGhlIHN3aXRjaC4gUmVtb3ZpbmcgdGhlCgkgIGNoZWNrIHNpbmNlIHRoZSBvdXRjb21lIGlzIHRoZSBzYW1lLgoJICBDSUQgIzEyNjU3NjIKCjIwMTUtMDEtMjMgMTU6MTY6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBdm9pZCB1c2luZyBmcmVlZCB2YXJpYWJsZQoJICB0aGUgbmFtZSB2YXJpYWJsZSBtaWdodCBoYXZlIGJlZW4gYXR0cmlidXRlZCB0byBwYWRfbmFtZSwgbWFrZSBzdXJlIHdlCgkgIGZyZWUgaXQgb25seSAqYWZ0ZXIqIHBhZF9uYW1lIGhhcyBiZWVuIHVzZWQuCgkgIENvdmVyaXR5IENJRCA6IDEyNjU3NzQKCjIwMTUtMDEtMjMgMTU6MTM6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEF2b2lkIHVzaW5nIGZyZWVkIHZhcmlhYmxlCgkgIHRoZSBuYW1lIHZhcmlhYmxlIG1pZ2h0IGhhdmUgYmVlbiBhdHRyaWJ1dGVkIHRvIHBhZF9uYW1lLCBtYWtlIHN1cmUgd2UKCSAgZnJlZSBpdCBvbmx5ICphZnRlciogcGFkX25hbWUgaGFzIGJlZW4gdXNlZC4KCSAgQ292ZXJpdHkgQ0lEIDogMTI2NTc3NQoKMjAxNC0xMS0xNCAxMjo1OTozMSArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiByZXVzZSBjYXBzIGZyYW1lcmF0ZSBpZiBub3Qgb3ZlcndyaXR0ZW4gYnkgdjRsMiBkZXZpY2UKCSAgRW5hYmxlcyBkdXJhdGlvbiBzZXR0aW5nIGluIHY0bDJzcmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA0MDMKCjIwMTUtMDEtMjIgMTA6Mjk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBpbmRlbnRpb24KCjIwMTUtMDEtMjEgMTc6MzY6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4X2R1bXA6IEJ5cGFzcyBldmVuIG1vcmUgY29kZSBpZiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQKCSAgQW5kIGF2b2lkIHVzaW5nIHZhcmlhYmxlcyB0aGF0IHdvbid0IGV4aXN0IHdoZW4gZGVidWdnaW5nIGlzIGRpc2FibGVkCgoyMDE1LTAxLTIxIDE1OjMwOjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogT25seSB0cmF2ZXJzZS9kdW1wIG5vZGVzIGlmIGd1YXJhbnRlZWQgdG8gYmUgdXNlZAoJICBfX2dzdF9kZWJ1Z19taW4gaXMgdGhlICJnbG9iYWwiIGxvd2VzdCBkZWJ1ZyBsZXZlbCBzZXQuIFRoZXJlJ3Mgbm8KCSAgZ3VhcmFudGVlIHRoZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGlzIGFjdHVhbGx5IHNldCBhdCB0aGF0IGxldmVsLgoKMjAxNC0xMi0yMCAxNzowOToxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IEF2b2lkIGRlYnVnZ2luZyBiZWxvdyBjYXRlZ29yeSB0aHJlc2hvbGQKCSAgVGhpcyBwYXJ0IGFsb25lIHdhcyB3aGF0IG1hZGUgdGhlIG1hdHJvc2thIHRocmVhZCB0YWtlIGEgZnVsbCBjb3JlCgkgIG9uIGFuIGFuZHJvaWQgcGhvbmUgLi4uCgoyMDE1LTAxLTIxIDA5OjU2OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZW1wMmVuYy5jOgoJICBDb25zdGlmeSBzb21lIHN0YXRpYyBhcnJheXMgZXZlcnl3aGVyZQoKMjAxNS0wMS0yMSAwOTo1Njo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgQ29uc3RpZnkgc29tZSBzdGF0aWMgYXJyYXlzIGV2ZXJ5d2hlcmUKCjIwMTUtMDEtMjEgMDk6NTU6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0c21wdGV0aW1lY29kZS5jOgoJKiBleHQvbWlrbW9kL21pa21vZF90eXBlcy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQ29uc3RpZnkgc29tZSBzdGF0aWMgYXJyYXlzIGV2ZXJ5d2hlcmUKCjIwMTUtMDEtMTkgMTc6NDk6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWFkbG9jayBzZWVraW5nIGluIGZpbGVzIHdpdGhvdXQgc2VlayBlbnRyaWVzCgkgIEEgbXV0ZXggdW5sb2NrIHdhcyBtaXNzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTc1CgoyMDE1LTAxLTE5IDEyOjM0OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MgaW4gYmxlbmQgZnVuY3Rpb24gd2l0aCBuZWdhdGl2ZSB5cG9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMTUKCjIwMTUtMDEtMTMgMTY6NDk6MzQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IFByb3h5IGdldGNhcHMKCSAgUmVwbGFjZSB0aGUgc2lua19xdWVyeSB3aXRoIG5ldyBnZXRjYXBzKCkgdmlydHVhbCBhbmQgdXNlIHRoZSBwcm94eQoJICBoZWxwZXIgd2l0aCB0aGUgcHJvYmVkIGNhcHMuIFRoaXMgYWxsb3cgdXBzdHJlYW0gZWxlbWVudCB0YWtpbmcgZGVjaXNpb24KCSAgYmFzZSBvbiB3aGF0IGlzIHN1cHBvcnRlZCBkb3duc3RyZWFtLgoKMjAxNS0wMS0xMyAxOTowNToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIHN1cHBvcnQgZm9yIHYyMTAKCjIwMTUtMDEtMTMgMTg6NTg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdjIxMCBpcyB2MjEwLCBub3QgVVlWWSBhbmQgeXV2MiBpcyBZVVkyLCBub3QgSTQyMAoJICBBbHNvIGFkZCBhIGZldyBvdGhlciByYXcgdmlkZW8gZm9ybWF0cyB3ZSBzdXBwb3J0OiB2MzA4LCB2MjE2CgkgIGFuZCBhZGQgY29tbWVudHMgZm9yIGEgZmV3IG90aGVycyB3ZSBkb24ndCBzdXBwb3J0IHlldC4KCSAgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvbWFjL3RlY2hub3Rlcy90bjIxNjIvCgoyMDE1LTAxLTEyIDE1OjU2OjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMmM2Yjk1IHRvIGJjNzZhOGIKCjIwMTUtMDEtMTAgMTU6NTE6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IERpc2FibGUgaGFjayBmb3IgTlNBcHAgaXRlcmF0aW9uIHdpdGggYSBzcGVjaWFsICNkZWZpbmUKCSAgVGhlIGhhY2sgY2F1c2VzIGRlYWRsb2NrcyBhbmQgb3RoZXIgaW50ZXJlc3RpbmcgcHJvYmxlbXMgYW5kIGl0IHJlYWxseQoJICBjYW4gb25seSBiZSBmaXhlZCBwcm9wZXJseSBpbnNpZGUgR0xpYi4gV2Ugd2lsbCBpbmNsdWRlIGEgcGF0Y2ggZm9yCgkgIEdMaWIgaW4gb3VyIGJ1aWxkcyBmb3Igbm93IHRoYXQgaGFuZGxlcyB0aGlzLCBhbmQgaG9wZWZ1bGx5IGF0IHNvbWUKCSAgcG9pbnQgR0xpYiB3aWxsIGFsc28gbWVyZ2UgYSBwcm9wZXIgc29sdXRpb24uCgkgIEEgcHJvcGVyIHNvbHV0aW9uIHdvdWxkIGZpcnN0IHJlcXVpcmUgdG8gcmVmYWN0b3IgdGhlIHBvbGxpbmcgaW4KCSAgR01haW5Db250ZXh0IHRvIG9ubHkgcHJvdmlkZSBhIHNpbmdsZSBmZCwgZS5nLiB2aWEgZXBvbGwva3F1ZXVlCgkgIG9yIGEgdGhyZWFkIGxpa2UgdGhlIG9uZSBhZGRlZCBieSBvdXIgcGF0Y2guIFRoZW4gdGhpcyBzaW5nbGUKCSAgZmQgY291bGQgYmUgcmV0cmlldmVkIGZyb20gdGhlIEdNYWluQ29udGV4dCBhbmQgZGlyZWN0bHkgaW50ZWdyYXRlZAoJICBpbnRvIGEgTlNSdW5Mb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDUwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQzNzQKCjIwMTUtMDEtMDggMjE6MDc6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1bmNvcmsgaWYgbmVlZGVkIHVwb24gY29tbWl0CgkgIC4uLiB0byBwcm92aWRlIGZvciBhIHJ1bm5pbmcgY2xvY2suCgoyMDE1LTAxLTA5IDE2OjU5OjUzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcmV2ZW50IHJlbmVnb3RpYXRpb24KCSAgUmVuZWdvdGlhdGlvbiBpc24ndCBzdXBwb3J0ZWQsIHNpbXBseSBwcmV2ZW50IGl0IHRoZSB3YXkgd2UgZG8gaW4KCSAgdjRsMnNyYy4KCjIwMTUtMDEtMDYgMTM6NTQ6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IERvbid0IHVubG9jayB0aGUgc3RyZWFtIGxvY2sgdHdpY2UKCjIwMTUtMDEtMDkgMTE6NDA6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc3RyZWFtIHRpbWUgY29udmVyc2lvbgoJICBVc2UgdGhlIHJpZ2h0IG1hY3JvIHRvIGNvbnZlcnQgdG8gdGhlIGNvcnJlY3Qgc2NhbGUgb3IgdGhlCgkgIHNlZ21lbnQgaW5mb3JtYXRpb24gd2lsbCBiZSB3cm9uZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNTcyCgoyMDE1LTAxLTA3IDE4OjQ4OjU4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogQWRkIHByb3RlY3Rpb24gYWdhaW5zdCBkcml2ZXIgYnVnCgkgIHY0bDJsb29wYmFjayBkcml2ZXIgaGFzIGEgdGhpcyBuYXN0eSBidWcgdGhhdCBpZiB0aGUgcXVldWUgaXMgbGFyZ2VyCgkgIHRoZW4gMiBidWZmZXJzLCBpdCByZXR1cm5zIHJhbmRvbSBpbmRleCBvbiBkcWJ1Zi4gU28gZmFyIHdlIGFzc3VtZWQKCSAgdGhhdCB0aGUgaW5kZXggd2FzIGFsd2F5cyByaWdodCwgd2hpY2ggd291bGQgbGVhZCB0byBtZW1vcnkgYmVpbmcKCSAgdW5yZWYgdHdpY2UsIGFuZCBldmVudHVhbGx5IGNyYXNoLgoKMjAxNS0wMS0wNyAxNzo1ODowNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogRG9uJ3QgdXNlIGFsbG9jYXRvciBzaXplIHRvIGl0ZXJhdGUKCSAgQXMgdGhlIGJ1ZmZlciBhcnJheSBpcyBmaXhlZCBzaXplIGFuZCBzbWFsbCwgaXQncyBzYWZlciB0byBzaW1wbHkKCSAgdXNlIHRoaXMgc3RhdGljIHNpemUgdG8gY2xlYW51cCB0aGUgYnVmZmVycy4gVGhpcyBpcyBhbHNvIG1vcmUKCSAgY29uc2lzdGVudCB3aXRoIHRoZSByZXN0LiBUaGUgYXNzb2NpYXRlZCBtZXRob2QgaXMgbm8gbG9uZ2VyCgkgIHJlcXVpcmVkIGFuZCBjYW4gYmUgZHJvcHBlZC4KCjIwMTUtMDEtMDcgMTc6NTU6MTQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IGNsZWFuIGJ1ZmZlciBhcnJheSBpbiBkaXNwb3NlCgkgIFRoaXMgc2hvdWxkIGFscmVhZHkgaGF2ZSBiZWVuIGRvbmUsIHBsdXMgdGhpcyBjb2RlIGlzIGluY29ycmVjdAoJICBhbmQgbWF5IGxlYWQgdG8gY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIwNzQKCjIwMTUtMDEtMDcgMTc6NDg6MzEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IHJlZiBxdWV1ZWQgb3V0cHV0IGJ1ZmZlcgoJICBUaGlzIHBhcnRseSByZXZlcnQgdG8gdGhlIG9sZCAxLjIgYmVoYXZpb3IuIEluc3RlYWQgb2Yga2VlcGluZyBhCgkgIHJlZmVyZW5jZSB0byB0aGUgb3V0cHV0IGJ1ZmZlciBxdWV1ZWQsIHdlIHNpbXBseSByZWxlYXNlIHRoZW0gYnV0CgkgIGRvbid0IGZvcndhcmQgaXQgdG8gR3N0QnVmZmVyUG9vbC4gVGhpcyB3YXksIHRoZSBidWZmZXIgcG9vbCBkb24ndAoJICBuZWVkIHRvIGJlIGZsdXNoZWQgdG8gYmUgc3RvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjA3NAoKMjAxNS0wMS0wOCAxMTozNzoyMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogTmV2ZXIgZmFpbCBvbiBzdHJlYW1vZmYKCSAgRmFpbGluZyBzdHJlYW1vZmYgcHJldmVudHMgYWxsb2NhdG9yIGZyb20gYmVpbmcgZGlzcG9zZWQgaGVuY2UKCSAgbGVhZCB0byBkZXZpY2UgRkQgbGVhay4gVGhlcmUgaXMgbm8ga25vd24gY2FzZXMgd2hlcmUgc3RyZWFtb2ZmCgkgIG1heSBmYWlscyBmb3Igd2hpY2ggd2UnZCBzdGlsbCBiZSBzdHJlYW1pbmcuIHN0cmVhbW9mZiBpcyBrbm93bgoJICB0byBmYWlsIHdoZW4gYSBkZXZpY2UgaXMgYmVpbmcgdW5wbHVnZ2VkIChpbiB3aGljaCBjYXNlIGVycm5vCgkgIDE5L0VOT0RFViBpcyBzZXQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzM0CgoyMDE1LTAxLTA3IDIxOjUyOjE3IC0wNTAwICBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdjRsMjogQWRkIHN1cHBvcnQgZm9yIGRldGVjdGluZyB0aGUgcHJlc2VuY2Ugb2YgVjRMMiBzdXBwb3J0IG9uIE9wZW5CU0QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvcmV2aWV3P2J1Zz03NDI1MDMKCjIwMTUtMDEtMDQgMTU6NTc6MTAgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZXF1ZXN0IGF0IGxlYXN0IDggYnl0ZXMgdG8gcHJvcGVybHkgcGFyc2UgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIzMjUKCjIwMTUtMDEtMDcgMTY6MjA6MDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1pY2hhZWwuc21pdGhAcmRpby5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNraXAgYW4gYWRkaXRpb25hbCB1bmludGVyZXN0aW5nIGNodW5rIHR5cGUgYmVmb3JlIHRoZSBmbXQgY2h1bmsuCgoyMDE1LTAxLTA3IDE4OjE2OjEyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogYXNzZXJ0IGZ1bmNfaW5kZXggaXMgaW5zaWRlIGJvdW5kcwoJICBCcmluZ2luZyBiYWNrIHRoZSBjaGVjayByZW1vdmVkIGluIHRoZSBwcmV2aW91cyBjb21taXQgYnV0IGhhdmUgdGhhdCBjaGVjayBiZSBhCgkgIGdfYXNzZXJ0LiBDaGFuZ2luZyB0aGUgZnVuY3Rpb24gdG8gc3RhdGljIHZvaWQgc2luY2UgcmV0dXJuIGNhbiBuZXZlciBiZSBGYWxzZSwKCSAgYmVjYXVzZSBhdWRpbyBmb3JtYXQgd2lsbCBuZXZlciBiZSB1bmtvd24uCgoyMDE1LTAxLTA3IDE3OjMxOjM5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogcmVtb3ZlIGFsd2F5cy10cnVlIGNvbmRpdGlvbmFsCgkgIGZ1bmNfaW5kZXggaXMgc2V0IGJ5IHRoZSBzdW0gb2YgdGhyZWUgdGVybmFyeSBvcGVyYXRvcnMgd2hpY2ggYWRkLCAwOjQsIDA6MiwKCSAgYW5kIDE6MC4gTWluaW11bSB2YWx1ZSB3b3VsZCBiZSAwKzArMD0wLCBhbmQgbWF4aW11bSB3b3VsZCBiZSA0KzIrMT03LgoJICBUaGUgY29uZGl0aW9uYWwgY2hlY2tpbmcgaWYgZnVuY19pbmRleCBpcyA+PSAwIGFuZCA8IDggd2lsbCBhbHdheXMgYmUgdHJ1ZS4KCSAgUmVtb3ZpbmcgaXQuCgkgIENJRCAxMjI2NDQyCgoyMDE1LTAxLTA3IDE4OjA1OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogSWYgd2UgZ2V0IGEgZ2FwIHdpdGggYSBidWZmZXIgd2l0aG91dCBEVFMsIGVycm9yIG91dAoJICBXZSAoY3VycmVudGx5PykgY2FuJ3QgcmVhbGx5IGhhbmRsZSBnYXBzIGJldHdlZW4gUlRQIHBhY2tldHMgaWYgdGhleSdyZSBub3QKCSAgcHJvcGVybHkgdGltZXN0YW1wZWQuIFRoZSBjdXJyZW50IGNvZGUgd291bGQgZ28gaW50byBjYWxjdWxhdGlvbnMgd2l0aAoJICBHU1RfQ0xPQ0tfVElNRV9OT05FIGFuZCB0aGVuIGNhdXNlIGFzc2VydGlvbnMgZXZlcnl3aGVyZS4gSXQncyBwcm9iYWJseQoJICBiZXR0ZXIgdG8gZXJyb3Igb3V0IGNsZWFubHkgaW5zdGVhZC4KCjIwMTQtMTEtMjEgMTE6Mzk6MTkgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgUExBWUlORyBzdGF0ZSBhZnRlciBjb25maWd1cmluZyBjYXBzCgkgIFdlIHNldCB0byBQTEFZSU5HIGFmdGVyIHdlIGhhdmUgY29uZmlndXJlZCB0aGUgY2Fwcywgb3RoZXJ3aXNlIHdlCgkgIG1pZ2h0IGVuZCB1cCBjYWxsaW5nIHJlcXVlc3Rfa2V5ICh3aXRoIFNSVFApIHdoaWxlIGNhcHMgYXJlIHN0aWxsCgkgIGJlaW5nIGNvbmZpZ3VyZWQsIGVuZGluZyBpbiBhIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTA1CgoyMDE0LTEyLTMwIDE4OjAzOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5LXRlc3Q6IHJlbW92ZSBvdXRkYXRlZCBGSVhNRQoKMjAxNC0xMi0zMCAxNzoxOTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0czogcnRwY29sbGlzaW9uOiB1c2UgYWxhd2VuYy9kZWMgaW4gdGhlc2UgdGVzdHMgaW5zdGVhZCBvZiBTcGVleAoJICBUaGV5IHNob3VsZCBhbHdheXMgYmUgYnVpbHQsIHdoaWxlIHRoZSBzcGVleCBlbGVtZW50cyBhcmUgbm90LgoJICBOZWVkIHRvIGNoZWNrIGZvciBhIHNtYWxsZXIgbnVtYmVyIG9mIGJ1ZmZlcnMgdGhlbiAoNy0+NCkgYmVjYXVzZQoJICBzcGVleGVuYyB3aWxsIGFkZCAzIGhlYWRlciBidWZmZXJzIHdoaWxlIGFsYXdlbmMgd2lsbCBqdXN0IG91dHB1dAoJICBhcyBtYW55IGJ1ZmZlcnMgYXMgaXQgcmVjZWl2ZXMgYXMgaW5wdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIwOTgKCjIwMTQtMTItMzAgMTY6MzY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogc2ltcGxlLWxhdW5jaC1saW5lczogb25seSBydW4ganBlZy9wbmcgdGVzdHMgaWYgZWxlbWVudHMgYXJlIGF2YWlsYWJsZQoKMjAxNC0xMi0zMCAxNjoyNjo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCByZXR1cm4gYSBidWZmZXIgd2hlbiByZXR1cm5pbmcgbm90IEdTVF9GTE9XX09LCgkgIGJhc2VzcmMgYXNzdW1lcyB0aGF0IHdlIGRvbid0IHJldHVybiBhIGJ1ZmZlciBpZgoJICBzb21ldGhpbmcgZWxzZSB0aGFuIE9LIGlzIHJldHVybmVkLiBJdCB3aWxsIGp1c3QKCSAgbGVhayBhbnkgYnVmZmVyIHdlIG1pZ2h0IGFjY2lkZW50aWFsbHkgcHJvdmlkZQoJICBoZXJlLgoJICBUaGlzIGNhbiBwb3RlbnRpYWxseSBoYXBwZW4gZHVyaW5nIGZsdXNoaW5nLgoJICBNYXliZSBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxOTkzCgoyMDE0LTEyLTMwIDE0OjUyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIHRlc3RzOiBydHBhdXg6IHVzZSBhbGF3ZW5jL2RlYyBpbiB0aGVzZSB0ZXN0cyBpbnN0ZWFkIG9mIFNwZWV4CgkgIFRoZXkgc2hvdWxkIGFsd2F5cyBiZSBidWlsdCwgd2hpbGUgdGhlIHNwZWV4IGVsZW1lbnRzIGFyZSBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIwOTgKCjIwMTQtMTItMjkgMTU6MzU6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSW1wcm92ZSBkZXRlY3Rpb24gb2YgYmVpbmcgc3R1Y2sgYXQgdGhlIHNhbWUgb2Zmc2V0CgkgIE9ubHkgZXJyb3Igb3V0IGlmIHdlIHJlYWQgZnJvbSB0aGUgc2FtZSBwb3NpdGlvbiBhZ2FpbiBhbmQgZ290IHRoZQoJICBzYW1lIGxlbmd0aC4gSnVzdCB0aGUgc2FtZSBwb3NpdGlvbiBpcyBub3QgbmVjZXNzYXJpbHkgZW5vdWdoLgoKMjAxNC0xMi0yOSAxNTowMDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBnZXQgc3R1Y2sgYXQgdGhlIHNhbWUgb2Zmc2V0IHdoZW4gc2VhcmNoaW5nIGZvciBjbHVzdGVycwoJICBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGVyZSBpcyBhbiBpbnZhbGlkIGNsdXN0ZXIgd2l0aCBzaXplIDAsIGFuZCBpbiB0aGF0CgkgIGNhc2UganVzdCBlcnJvciBvdXQgaW5zdGVhZCBvZiBsb29waW5nIGZvcmV2ZXIuCgoyMDE0LTEyLTI1IDIxOjMyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IEFMQUMgbXV4aW5nCgkgIEFjdHVhbGx5IGNvcHkgdGhlIGNvZGVjIGRhdGEgaW5zdGVhZCBvZiBjb3B5aW5nIG5vdGhpbmcKCSAgYW5kIHRoZW4gYm9tYmluZyBvdXQgYmVjYXVzZSB0aGVyZSdzIG5vIGRhdGEuCgkgIEZpeGVzOiBnc3QtbGF1bmNoLTEuMCBhdWRpb3Rlc3RzcmMgISBhdmVuY19hbGFjICEgcXRtdXggISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNzgzCgoyMDE0LTEyLTI1IDE1OjQ4OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBqdXN0IGRyb3AgaW52YWxpZCBydHAgcGFja2V0cyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dAoJICBBcHBhcmVudGx5IGxpbnBob25lIHNlbmRzIGFuIGludmFsaWQgUlRQIHBhY2tldCBhcyB2ZXJ5CgkgIGZpcnN0IHBhY2tldC4gV2Ugd2FudCB0byBpZ25vcmUgdGhhdCBpbnN0ZWFkIG9mIGVycm9yaW5nCgkgIG91dCAoc2FtZSBmb3IgYW55IG90aGVyIGludmFsaWQgcGFja2V0cyByZWFsbHkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzk4CgoyMDE0LTEyLTI1IDE1OjQ0OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBmaXggMC4xMC1pc20gaW4gZG9jcwoKMjAxNC0xMi0yNSAxNDo1ODoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogZ2RrcGl4YnVmb3ZlcmxheS10ZXN0OiB1c2UgYWJzb2x1dGUgcG9zaXRpb25pbmcgdG8gZml4IGRlbW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTU2NgoKMjAxNC0xMi0yNSAxNDo1MzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgInBvc2l0aW9uaW5nLW1vZGUiIHByb3BlcnR5IHRvIGFsbG93IGFic29sdXRlIHBvc2l0aW9ucwoJICBTZXQgcG9zaXRpb25pbmctbW9kZT1waXhlbHMtYWJzb2x1dGUgdG8gYWxsb3cgcG9zaXRpb25pbmcgd2l0aAoJICBhYnNvbHV0ZSBjb29yZGluYXRlcywgbWVhbmluZyBuZWdhdGl2ZSB4L3kgb2Zmc2V0cyB3aWxsIGJlCgkgIGludGVycHJldGVkIGFzIGJlaW5nIHRvIHRoZSBsZWZ0L2Fib3ZlIHRoZSB2aWRlbyBmcmFtZSBpbnN0ZWFkCgkgIG9mIGJlaW5nIGludGVycHJldGVkIGFzIHJlbGF0aXZlIHRvIHRoZSByaWdodC9ib3R0b20gZWRnZSBvZgoJICB0aGUgdmlkZW8gZnJhbWUgKHdoaWNoIGlzIGEgc2lsbHkgZGVmYXVsdCwgYnV0IHRoYXQncyBob3cgaXQgaXMpLgoJICBUaGlzIG1lYW5zIHdlIGNhbiBuaWNlbHkgc2xpZGUgaW1hZ2VzIGludG8gYW5kIG91dCBvZiB0aGUgZnJhbWUsCgkgIHNlZSBnZGtwaXhidWZvdmVybGF5LXRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1NjYKCjIwMTQtMTItMjIgMTU6MzM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogRGlyZWN0bHkgcmV0dXJuIHRoZSByaW5nYnVmZmVyJ3MgY2FwcyBpZiBpdCBpcyBhY3F1aXJlZAoKMjAxNC0xMi0yMiAxMjo1NjoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBQdXQgYWxsIGF1ZGlvIGZvcm1hdHMgaW50byB0aGUgdGVtcGxhdGUgY2FwcwoJICBXZSByZXBvcnQgdGhlIHByb3BlciBjYXBzIGxhdGVyIGZyb20gdGhlIGdldF9jYXBzKCkgdmZ1bmMgaW1wbGVtZW50YXRpb24gYWZ0ZXIKCSAgcHJvYmluZyB0aGUgc2VsZWN0ZWQgZGV2aWNlLgoKMjAxNC0xMi0yMiAxMjo1NjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IEFsc28gc2V0IHRoZSBiaWcgZW5kaWFuIGZsYWcgZm9yIGZsb2F0aW5nIHBvaW50IHNhbXBsZXMKCjIwMTQtMTItMjIgMTE6NDU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBNQUlOVEFJTkVSUzoKCSAgTUFJTlRBSU5FUlM6IFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MKCjIwMTQtMTItMjIgMTA6MjM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogRml4IGRlYWRsb2NrIGFuZCBwcm9wZXJ0eSBjaGFuZ2Ugbm90aWZpY2F0aW9uIGluIGRldmljZSBzZWxlY3Rpb24gY29kZQoJICBBZnRlciBjcmVhdGluZyB0aGUgcmluZ2J1ZmZlciB3ZSBoYXZlIHRvIHNldCB0aGUgZGV2aWNlIG9uIHRoZSByaW5nYnVmZmVyIGFzCgkgIGl0IGRlZmF1bHRzIHRvIGtBdWRpb0RldmljZVVua25vd24uIEF0IHRoaXMgcG9pbnQgaXQgY2FuJ3QgaGF2ZSBjaGFuZ2VkIHRvCgkgIGFueXRoaW5nIGVsc2UgeWV0IGFuZCB3ZSBkb24ndCBoYXZlIHRvIG5vdGlmeSBhYm91dCBjaGFuZ2VzIHRvIHRoZSBzaW5rL3NyYwoJICAiZGV2aWNlIiBwcm9wZXJ0eS4gSXQncyBhbHNvIG5vdCBhIGdvb2QgaWRlYSBiZWNhdXNlIEdzdEF1ZGlvQmFzZVNyYyBoYXMgdGhlCgkgIG9iamVjdCBsb2NrIHRha2VuIHdoaWxlIHRoZSByaW5nYnVmZmVyIGlzIGNyZWF0ZWQsIHdoaWNoIG1pZ2h0IGNhdXNlIGEKCSAgZGVhZGxvY2sgaWYgc29tZXRoaW5nIGNhbGxzIGJhY2sgaW50byB0aGUgZWxlbWVudCBmcm9tICJub3RpZnk6OmRldmljZSIuCgkgIE9uY2UgdGhlIGJhc2UgY2xhc3MgaXMgZG9uZSB3aXRoIHRoZSBOVUxMX1RPX1JFQURZIHN0YXRlIGNoYW5nZSwgaXQgaGFzIG9wZW5lZAoJICB0aGUgZGV2aWNlIHZpYSB0aGUgcmluZ2J1ZmZlciBhbmQgdGhpcyBtaWdodCBoYXZlIGNob3NlbiBhIGRpZmZlcmVudCBkZXZpY2UuCgkgIEVzcGVjaWFsbHkgaWYgd2UgaW5pdGlhbGx5IHVzZWQga0F1ZGlvRGV2aWNlVW5rbm93bi4gQWxzbyBub3RpZnkgYWJvdXQgdGhpcwoJICBwcm9wZXJ0eSBjaGFuZ2UgYXMgaW5pdGlhbGx5IGludGVuZGVkIGJ5IHRoaXMgY29kZS4KCjIwMTQtMTItMTkgMTI6MzA6MDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJwb29sOiBVcGRhdGUgY29uZmlndXJhdGlvbiBzaXplCgkgIFdlIGFscmVhZHkgdXBkYXRlIG91ciBjb3B5IG9mIFZpZGVvSW5mby5zaXplIHRvIHByb3BlciBzaXplLCBub3cgYWxzbwoJICB0aGUgY29uZmlndXJhdGlvbiBzbyB0aGUgc2l6ZSBtYXRjaGVzIG9uIHJlbGVhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0MjAKCjIwMTQtMTItMTkgMTA6NTc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thLWRlbXV4OiBDYWNoZSB1cHN0cmVhbSBsZW5ndGgKCSAgSW5zdGVhZCBvZiBjb25zdGFudGx5IHF1ZXJ5aW5nIHVwc3RyZWFtLCBqdXN0IGNhY2hlIHRoZSBsYXN0IGR1cmF0aW9uLAoJICBhbmQgaW4gdGhlIHVubGlrZWx5bmVzcyB3ZSBtaWdodCBoYXZlIGdvbmUgb3ZlciBxdWVyeSBhZ2FpbiBiZWZvcmUKCSAgZGVjaWRpbmcgd2UgYXJlIEVPUy4KCSAgQ3V0IDE1JSBjcHUgb2ZmIG1hdHJvc2thZGVtdXggc3RyZWFtaW5nIHRocmVhZCAoc3JzbHkuLi4pCgoyMDE0LTEyLTE3IDE3OjM2OjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogbXV4L2RlbXV4IHRoZSBPcHVzSGVhZCBoZWFkZXIKCSAgVGhpcyBpcyBtZWFudCB0byBiZSBzbyAoaHR0cHM6Ly93aWtpLnhpcGgub3JnL01hdHJvc2thT3B1cyAtIHdoaWxlCgkgIGl0IGlzIG1hcmtlZCBhcyBhIGRyYWZ0LCB0aGlzIHBhcnQgd2FzIGNvbmZpcm1lZCB0byBiZSBjb3JyZWN0IG9uCgkgIElSQyksIGFuZCBhbGxvd3Mgb25lIHRvIGRldGVybWluZSB3aGV0aGVyIGEgZGVtdXhlZCBzdHJlYW0gaXMKCSAgbXVsdGlzdHJlYW0gb3Igbm90LCBhbmQgdGh1cyBzZXQgdGhlIG11bHRpc3RyZWFtIGNhcHMgZmllbGQKCSAgYWNjb3JkaW5nbHkuIEluIHR1cm4sIHRoaXMgbWVhbnMgZG93bnN0cmVhbSBkb2VzIG5vdCBoYXZlIHRvIGd1ZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzQ0CgoyMDE0LTEyLTE4IDExOjUwOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGlmIGEgc3VpdGFibGUgc3RyZWFtIGZvciB0aGUgQVVYIGVsZW1lbnQgY2FuJ3QgYmUgZm91bmQKCSAgQ0lEIDEyNTg3MTcKCjIwMTQtMTItMTggMTA6NTM6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVmMWZmZGMgdG8gZjJjNmI5NQoKMjAxNC0xMi0xMiAyMzowNjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIHVkcHNpbms6IGFsbG9jYXRlIHNjcmF0Y2ggc3BhY2UgZm9yIHJlbmRlciBmdW5jdGlvbnMgb24gdGhlIGhlYXAKCSAgYW5kIG5vdCB0aGUgc3RhY2suIE91ciBhbGxvY2F0aW9ucyBjb3VsZCBnZXQgYSBiaXQgdG9vIGxhcmdlCgkgIHRvIGJlIHN1cmUgaXQncyBub3QgZ29pbmcgdG8gY2F1c2UgdHJvdWJsZSB1c2luZyB0aGUgc3RhY2suCgoyMDE0LTA2LTI0IDAxOjE2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiByZS11c2Ugc2VuZF9idWZmZXJzKCkgY29kZSBwYXRoIGZvciByZW5kZXIoKSBmdW5jdGlvbgoJICBJdCdzIGxpa2UgcmVuZGVyaW5nIGEgYnVmZmVyIGxpc3QsIGp1c3Qgd2l0aCBvbmUgYnVmZmVyLgoJICBIYXMgdGhlIGFkZGVkIGFkdmFudGFnZSB0aGF0IGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBjbGllbnRzCgkgIHdlIGNhbiBzZW5kIHRoZSBidWZmZXIgdG8gYWxsIHRoZSBjbGllbnRzIGluIG9uZSBnby4KCjIwMTQtMDYtMjQgMDE6MTU6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGtlZXAgY2xpZW50IGxpc3QgY29uc2lzdGVudCBkdXJpbmcgcmVtb3ZhbHMKCSAgV2UgdW5sb2NrIGFuZCByZS1sb2NrIHRoZSBjbGllbnQgbG9jayB3aGlsZSBlbWl0dGluZyB0aGUKCSAgcmVtb3ZlZCBzaWduYWwsIHdoaWNoIGNhdXNlcyBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIGNsaWVudAoJICBsaXN0IHZzLiB0aGUgY2xpZW50IGNvdW50cy4gSW5zdGVhZCwgcmVtb3ZlIHRoZSBjbGllbnQgZnJvbQoJICB0aGUgbGlzdCBhbHJlYWR5IGJlZm9yZSBlbWl0dGluZyB0aGUgc2lnbmFsIGFuZCBwdXQgaXQgaW50bwoJICBhIHRlbXBvcmFyeSBsaXN0IG9mIGNsaWVudHMgdG8gYmUgcmVtb3ZlZC4gVGhhdCB3YXkgdGhpbmdzCgkgIGxvb2sgY29uc2lzdGVudCB0byB0aGUgc3RyZWFtaW5nIHRocmVhZCwgYnV0IHNpZ25hbCBjYWxsYmFja3MKCSAgY2FuIHN0aWxsIGRvIHRoaW5ncyBsaWtlIGdldCBzdGF0cyBmcm9tIHJlbW92ZWQgY2xpZW50cy4KCjIwMTQtMDYtMjQgMDA6NTY6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpeCBjbGllbnQgY291bnQgYWZ0ZXIgcmVtb3ZhbAoKMjAxNC0wNi0yMyAxODo0MzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazoga2VlcCBjbGllbnQgbGlzdCBzb3J0ZWQgYnkgc29ja2V0IGZhbWlseQoJICBXZSBtYWtlIHVzZSBvZiBpbiB0aGUgc2VuZF9idWZmZXJzKCkgZnVuY3Rpb24gaWYgd2UKCSAgbmVlZCB0byB1c2UgZGlmZmVyZW50IHNvY2tldHMgdG8gc2VuZCB0byBJUHY0IGFuZAoJICBJUHY2IGRlc3RpbmF0aW9ucy4KCjIwMTQtMDYtMjAgMTE6MzY6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGFkZCBzZW5kbW1zZy1yZWFkeSByZW5kZXJfbGlzdCBmdW5jdGlvbiBwcm90b3R5cGUKCSAgQWRkIHByb3RvdHlwZSBmb3IgYSByZW5kZXJfbGlzdCgpIGZ1bmN0aW9uIHRoYXQgY2FuIHVzZSBhCgkgIHNlbmRtbXNnLXN0eWxlIGdfc29ja2V0X3NlbmRfbWVzc2FnZXMoKSBmdW5jdGlvbiBvbmNlIGl0IGxhbmRzCgkgIGluIEdMaWIuIFdlIGNhbiB1c2UgdGhpcyBpbmZyYXN0cnVjdHVyZSB0byBzZW5kIG11bHRpcGxlIGJ1ZmZlcnMKCSAgbWFkZSB1cCBieSBtdWx0aXBsZSBtZW1vcmllcyB0byBtdWx0aXBsZSBjbGllbnRzIGluIG9uZSBnbywgd2hpY2gKCSAgZHJhc3RpY2FsbHkgcmVkdWNlcyB0aGUgbnVtYmVyIG9mIHN5c2NhbGxzIG1hZGUgd2hlbiBzZW5kaW5nCgkgIGhpZ2gtYml0cmF0ZSB2aWRlbyBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTUyCgoyMDE0LTA2LTE5IDE5OjE2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBtYWtlIHVkcCBjbGllbnQgc3RydWN0dXJlIHJlZmNvdW50ZWQKCSAgVXNlIHRoZSByZWZjb3VudCBmb3IgbWVtb3J5IG1hbmFnZW1lbnQgYW5kIGtlZXAgdHJhY2sKCSAgb2YgdGhlIG51bWJlciBvZiBkdXBsaWNhdGUgY2xpZW50cyBpbiBhIHNlcGFyYXRlCgkgIHZhcmlhYmxlLiBUaGlzIHdpbGwgYmUgdXNlZnVsIGxhdGVyLCBhbmQgbWVhbnMgd2UKCSAgZG9uJ3QgaGF2ZSB0byBob2xkIHRoZSBPQkpFQ1RfTE9DSyBhbGwgdGhlIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI4NjYKCjIwMTQtMDYtMTkgMTg6MzE6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGtlZXAgY291bnQgb2YgbnVtYmVyIG9mIHVuaXF1ZSBhbmQgbm9uLXVuaXF1ZSBJUHY0IGFuZCBJUHY2IGNsaWVudHMKCSAgVGhpcyB3aWxsIGNvbWUgaW4gaGFuZHkgbGF0ZXIuCgoyMDE0LTEyLTE2IDE1OjAwOjIyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRGlzYWJsZSBjcmVhdGVfYnVmIHdpdGggbGlidjRsMgoJICBMaWJ2NGwyIGRvZXMgbm90IHdvcmsgd2l0aCBDUkVBVEVfQlVGUy4gSW5zdGVhZCBvZiBmYWlsaW5nIG9uIHJhbmRvbQoJICBlcnJvciBjYXVzZWQgYnkgbGlidjRsMiwgZGlzYWJsZSBDUkVBVEVfQlVGUyB3aGVuIGFuIGVtdWxhdGVkIGZvcm1hdCBpcwoJICBkZXRlY3RlZC4KCjIwMTQtMTItMDkgMTc6Mzk6MTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogQWRkIHByb3RlY3Rpb24gYWdhaW5zdCBicm9rZW4gbGlidjRsMgoJICBJdCBsb29rcyBsaWtlIGxpYnY0bDIgc3VwcG9ydCBmb3IgQ1JFQVRFX0JVRiBpcyBpbmNvbXBsZXRlLiBUaGF0CgkgIGNvbWJpbmUgd2l0aCBleGlzdGluZyBidWdzIG1heSBsZWFkIHRvIGNyYXNoIGluIEdTdHJlYW1lci4gVGhlc2UKCSAgY2hlY2sgd2lsbCBtYWtlIGl0IHJvYnVzdCBieToKCSAgLSBDaGVja2luZyBjcmVhdGUgYnVmIGluZGV4IGlzbid0IGFuIGFscmVhZHkgaW4gdXNlZCBpbmRleAoJICAtIENoZWNraW5nIHRoYXQgdGhlIGluZGV4IG91dCBvZiBRVUVSWUJVRiBtYXRjaGVzIHRoZSByZXF1ZXN0ZWQKCSAgaW5kZXgKCjIwMTQtMTItMTYgMTY6Mzc6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEFkZCBzb21ldGhpbmcgdG8gdGhlIGRlYnVnIGxvZ3MgaWYgYW4gUlRYIEFVWCBlbGVtZW50IGNhbid0IGJlIGFkZGVkCgkgIC4uLiBiZWNhdXNlIHRoZSBhcHBsaWNhdGlvbiBhbHJlYWR5IGhhcyBhIHNpZ25hbCBoYW5kbGVyIHNldCB1cCBoZXJlLgoKMjAxNC0xMS0yMSAxNDoxMzozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCByZXRyYW5zbWlzc2lvbiBzdXBwb3J0IGFjY29yZGluZyB0byBSRkM0NTg4CgkgIEJhc2VkIG9uIHRoZSBjbGllbnQtcnRwYXV4IGV4YW1wbGUKCjIwMTQtMTItMTYgMTM6MjU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGNsZWFyIHJlY3RhbmdsZSBzdHJ1Y3R1cmVzIGJlZm9yZSB1c2UKCjIwMTQtMTItMDkgMTU6MDk6NTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWx3YXlzIHNldCBmb3JtYXQKCSAgUmlnaHQgbm93IHdlIHRyeSB0byBiZSBjbGV2ZXIgYnkgZGV0ZWN0aW5nIGlmIGRldmljZSBmb3JtYXQgaGF2ZQoJICBjaGFuZ2VkIG9yIG5vdCwgYW5kIHNraXAgc2V0dGluZyBmb3JtYXQgaW4gdGhpcyBjYXNlLiBUaGlzIGlzIHZhbGlkCgkgIGJlaGF2aW91ciB3aXRoIFY0TDIsIGJ1dCBpdCdzIGFsc28gdmVyeSBlcnJvciBwcm9uZS4gVGhlIHJhdGlvbmFsCgkgIGZvciBub3Qgc2V0dGluZyB0aGVzZSBhbGwgdGhlIHRpbWUgaXMgZm9yIHNwZWVkLCB0aG91Z2ggSSBjYW4ndAoJICBtZWFzdXJlIGFueSBub3RpY2VhYmxlIGdhaW4gb24gYW55IEhXIEkgb3duLiBBbHNvLCB1bnRpbCByZWNlbnRseSwKCSAgd2Ugd2hlcmUgZG9pbmcgZ2V0L3NldCBvbiB0aGUgZm9ybWF0IGZvciBlYWNoIGZvcm1hdCB3ZSB3aGVyZQoJICBwcm9iaW5nLCBtYWtpbmcgaXQgbmVhciB0byBpbXBvc3NpYmxlIHRoYXQgdGhlIGZvcm1hdCB3b3VsZCBtYXRjaC4KCSAgVGhpcyBhbHNvIGZpeGVzIGJ1ZyB3aGVyZSB3ZSB3aGVyZSBza2lwcGluZyBmcmFtZS1yYXRlIHNldHRpbmcgaWYKCSAgZm9ybWF0IGRpZG4ndCBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MzYKCjIwMTQtMTItMTUgMTg6MzA6MDEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogUmVtb3ZlIHRvZG8gYWJvdXQgY2FwcyBmaWx0ZXIKCSAgVGhlIGZpbHRlciBpcyBhbHJlYWR5IGludGVyZWN0ZWQuCgoyMDE0LTEyLTE1IDE4OjE5OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IE1ha2Ugc3VyZSBuZXcgY3JvcCBpcyBhcHBsaWVkCgkgIFNpbmNlICJiYXNldHJhbnNmb3JtOiBGaXggY2FwcyBlcXVhbGl0eSBjaGVjayIgY29tbWl0IGE3ZjM1NywKCSAgc2V0X2luZm8oKSB3aWxsIG5vdCBiZSBjYWxsZWQgYW55bW9yZSBpZiBjcm9wIGRpZG4ndCBjaGFuZ2UKCSAgdGhlIGNhcHMuIFRoaXMgaXMgZml4ZWQgYnkgc2V0dGluZyAibmVlZF91cGRhdGUiIGJvb2xlYW4gd2hlbgoJICBjcm9wcGluZyBwcm9wZXJ0aWVzIGhhcyBiZWVuIGNoYW5nZWQsIGFuZCB0aGVuIGFwcGx5aW5nIHRoZXNlCgkgIGlmIHRoZXkgd2hlcmUgbm90IGFwcGxpZWQgYmVmb3JlIHJlbmRlcmluZyB0aGUgbmV4dCBmcmFtZS4gVGhpcwoJICBwYXRjaCBhbHNvIGZpeGVkIHRoZSBsb2NraW5nLCBkcm9wcGluZyB1bi1uZWVkZWQgY3VzdG9tIGxvY2ssCgkgIGFuZCBubyBob2xkaW5nIG5lZWRsZXNzIGxvY2sgd2hpbGUgZG9pbmcgdGhlIG9wZXJhdGlvbiBhcyB3ZQoJICBhbHJlYWR5IGhvbGQgdGhlIHN0cmVhbWluZyBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzg3CgoyMDE0LTEyLTEyIDE4OjEwOjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBQcmVmZXIgZmlsdGVyIGNhcHMgb3JkZXIgd2hpbGUgZ2V0dGluZyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDkgMTM6Mzg6MjYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IEFkZCBzb21lIGVycm9yIGhhbmRsaW5nIGFyb3VuZCBjaGFubmVsIGxheW91dCBwYXJzaW5nCgkgIEZvciBub3cgd2UganVzdCBzcGl0IGEgd2FybmluZyBhbmQgaWdub3JlIHRoZSBjaGFubmVsIGxheW91dCBpZiB3ZSBjYW4ndAoJICBzdXBwb3J0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTA4IDIyOjM4OjIyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBUYWtlIGxvY2sgYXJvdW5kIHNpbmsvc291cmNlIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIHJpbmdidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wMSAyMTowNjoyNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW9zcmM6IFByb2JlIGNoYW5uZWwgbGF5b3V0IHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTAxIDIwOjMyOjA0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBPbmx5IGZpeCB1cCBjaGFubmVscy9sYXlvdXQgZm9yIFBDTSBjYXBzIHdoaWxlIHByb2JpbmcKCSAgSXQncyB1bmxpa2VseSB0aGF0IHNldHRpbmcgYSBjaGFubmVsIGxheW91dCB3aWxsIGRvIG11Y2ggZm9yIEFDMy9EVFMKCSAgc3RyZWFtcy4gSWYgd2UgZmluZCBhdCBzb21lIHBvaW50IHRoYXQgaXQgZG9lcyBtYWtlIHNlbnNlLCB3ZSBjYW4KCSAgcGVyZm9ybSB0aGUgc3RydWN0dXJlIGNvcHlpbmcgdW5jb25kaXRpb25hbGx5IChpLmUuLCB0aGUgY3VycmVudCBjb2RlIGlzCgkgIHdyb25nLCBzaW5jZSBBQzMvRFRTIHdpbGwgZ2V0IHR3byBzdHJ1Y3R1cmVzIG5vdyAtIG9uZSB3aXRoIHRoZSBjaGFubmVsCgkgIGxheW91dCwgb25lIHdpdGhvdXQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTAxIDE5OjQxOjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvc3JjOiBJbXBsZW1lbnQgY2FwcyBwcm9iaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDEgMTk6Mjk6NTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogQmluZCBhdWRpbyBkZXZpY2UgdG8gYXVkaW8gdW5pdCBlYXJseQoJICBXZSB3YW50IHRvIGJpbmQgdGhlIGRldmljZSBkdXJpbmcgb3BlbiBzbyB0aGF0IHN1YnNlcXVlbnQgZm9ybWF0IHF1ZXJpZXMKCSAgb24gdGhlIGF1ZGlvIHVuaXQgYXJlIGFzIHNwZWNpZmljIGFzIHBvc3NpYmxlIGZyb20gdGhhdCBwb2ludCBvbndhcmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI5IDIzOjE2OjMwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBGaXggdXAgY2FwcyBxdWVyeWluZyBhIGJpdAoJICBUaGlzIHNob3VsZCBtYWtlIGNhcHMgcXVlcmllcyBjb3JyZWN0IGluIFBBVVNFRCBhbmQgaGlnaGVyIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMjI6MzI6MzYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW86IE1vdmUgb3N4YXVkaW9zcmMtc3BlY2lmaWMgY29kZSBvdXQgb2YgdGhlIGdlbmVyaWMgcGF0aAoJICBBdm9pZHMgb25lIGxheWVyaW5nIHZpb2xhdGlvbiAoR3N0Q29yZUF1ZGlvIHJlZmVycmluZyB0bwoJICBHc3RPc3hBdWRpb1NyYykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMjI6MjM6MTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogQ2xlYW4gdXAgYSBHc3RDb3JlQXVkaW8gLT4gR3N0T3N4QXVkaW9TcmMvU2luayByZWZlcmVuY2UKCSAgTm93IHRoYXQgZGV2aWNlIHNlbGVjdGlvbiBoYXMgbm8gc2luay9zb3VyY2Utc3BlY2lmaWMgYml0cywgd2UgY2FuIGhhdmUKCSAgZ2VuZXJpYyBkZXZpY2Ugc2VsZWN0aW9uIGZvciB0aGlzIHBhdGguIFdlIGRvIG5lZWQgdG8gbm93IHRyYWNrIHN0YXRlCgkgIGNoYW5nZXMgc28gd2UgY2FuIGxvb2sgdXAgdGhlIGZpbmFsIGRldmljZV9pZCBvbmNlIHRoZSBkZXZpY2UgaXMgb3BlbiwKCSAgdGhvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDE5OjQwOjUyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBNb3ZlIGRldmljZSBjYXBzIHByb2JpbmcgdG8gZ2V0X2NhcHMoKQoJICBUaGlzIHNob3VsZCBiZSBwcmVmZXJyZWQgdG8gcnVubmluZyB0aGUgcHJvYmUgYXQgZGV2aWNlIG9wZW4gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAxODozNzowMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBNYWtlIHNvbWUgZGVidWcgY29kZSBjb21waWxlIGNvbmRpdGlvbmFsbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAxNTowNjozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IE1vdmUgZGV2aWNlIHNlbGVjdGlvbiB0byByaW5nYnVmZmVyLT5vcGVuX2RldmljZSgpCgkgIFRoaXMgaXMgY29uY2VwdHVhbGx5IHRoZSByaWdodCB0aGluZyB0byBkbywgYW5kIGFsbG93cyB1cyB0byBjb3JyZWN0bHkKCSAgY2F0Y2ggZXJyb3JzIGluIGRldmljZSBzZWxlY3Rpb24gYXMgd2VsbCwgd2hpY2ggd2UgY291bGQgbm90IGRvIHdoaWxlCgkgIGNyZWF0aW5nIHRoZSByaW5nYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDE0OjM0OjM0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogQ29uc29saWRhdGUgaW5wdXQgYW5kIG91dHB1dCBjb2RlIHBhdGhzIGEgYml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjEgMTE6NTQ6MTggKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBEZWludGVybGFjZTogaW4gcXVlcnlfY2FwcyByZXR1cm4gb25seSBzdXBwb3J0ZWQgZm9ybWF0cyBpZiBmaWx0ZXIgaXMgaW50ZXJsYWNlZAoJICBJbiBzb21lIGNhc2VzIHRoZSBjdXJyZW50bHkgc2V0IEdzdFZpZGVvSW5mbyBpcyBub3QgaW50ZXJsYWNlZCwgYnV0CgkgIHVwc3RyZWFtIGNhcHMgYXJlIGludGVybGFjZWQgYW5kIHRoZSBpbmZvIGlzIHBhc3NlZCBpbiB0aGUgZmlsdGVyLAoJICB3ZSBzaG91bGQgdGFrZSB0aGF0IGluZm8gaW50byBhY2NvdW50IGFuZCBtYWtlIHN1cmUgdGhhdCB3ZSBkbyBub3QKCSAgY29uc2lkZXIgdGhhdCBjYXNlIGFzIGEgInBhc3MgdGhyb3VnaCIgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQwNwoKMjAxNC0xMi0xMiAxMTowNjoxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggZGVidWcgc3RhdGVtZW50CgkgIEl0IHdhcyB1c2luZyB0aGUgbm9uLWluY3JlYXNpbmcgb2Zmc2V0IHZhcmlhYmxlLCB3aGljaCBtYWRlIHRoYXQgc3RhdGVtZW50CgkgIG5vdCBzbyB1c2VmdWwgOikKCjIwMTQtMTItMTIgMTE6MDM6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIG1hY3JvcyBmb3IgdGhlIHZhcmlvdXMgdGltZXNjYWxlIGNvbnZlcnNpb25zCgkgIFRoaXMgaGVscHMgbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlIGFuZCBhdm9pZCBmdXR1cmUgYmFkIHVzYWdlIG9mCgkgIHNjYWxpbmcgZnVuY3Rpb24gYXJndW1lbnQgb3JkZXIuCgoyMDE0LTEyLTExIDEwOjE2OjA2ICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmlja3JAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IHBvdGVudGlhbCBjcmFzaCB3aGVuIHNodXR0aW5nIGRvd24KCSAgQSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIG1heSBjYXVzZSBidWZmZXJzCgkgIHRvIGJlIHVucmVmZmVkIHdoaWxlIHRoZXkgYXJlIHN0aWxsIHVzZWQgYnkgdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgaW4gZ3N0X3J0cF9oMjY0X3BheV9zZW5kX3Nwc19wcHMoKSByZXN1bHRpbmcgaW4gYSBjcmFzaC4gQ2hhaW4KCSAgdXAgdG8gdGhlIHBhcmVudCBjbGFzcyBmaXJzdCBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRvCgkgIG1ha2Ugc3VyZSBzdHJlYW1pbmcgaGFzIHN0b3BwZWQgYW5kIG9ubHkgdGhlbiBmcmVlIHRob3NlIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzODEKCjIwMTQtMTItMTIgMDA6NDI6MDYgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENvcHkgZmxhZ3Mgb2YgdGhlIG92ZXJhbGwgc2VnbWVudCB0byBvdXRwdXQgc2VnbWVudHMKCSAgUHJlc2VydmUgdGhlIHNlZ21lbnQgZmxhZ3Mgb2YgdGhlIG92ZXJhbGwgZGVtdXggc2VnbWVudCBvbiB0aGUgb3V0cHV0CgkgIHNlZ21lbnRzIGZvciBlYWNoIHBhZC4KCjIwMTQtMTItMDkgMDI6NDM6MDAgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgNjRiaXQgY2h1bmtfb2Zmc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNzkKCjIwMTQtMTItMTAgMTc6Mzk6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHJvdW5kaW5nIGVycm9ycyBpbiBkdXJhdGlvbiB1cGRhdGUKCSAgTWFrZSBzdXJlIHdlIHN0b3JlIHVwZGF0ZWQgc2VnbWVudCBzdG9wL2R1cmF0aW9uIHdpdGggdGhlIHNhbWUKCSAgZ3JhbnVsYXJpdHkgYXMgdGhlIGR1cmF0aW9uIHRpbWVzY2FsZS4KCSAgQW5kIGFkZCBtb3JlIGRlYnVnCgoyMDE0LTEyLTEwIDE2OjU1OjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVwZGF0ZSBkdXJhdGlvbiB3aGVuIHdlIGdldCBtb3JlIGluZm9ybWF0aW9uCgkgIFdoZW4gZGVhbGluZyB3aXRoIGZyYWdtZW50ZWQgZmlsZXMsIHdlIHdpbGwgZ2V0IG1vcmUgYWNjdXJhdGUgZHVyYXRpb24KCSAgaW5mb3JtYXRpb24gdmlhIHRoZSBtZnJhIGFuZCBtb29mIGF0b21zLgoJICBJbiBvcmRlciBmb3IgcGxheWJhY2sgdG8gbm90IHN0b3AgYXQgdGhlIGluaXRpYWwgZHVyYXRpb24gKGZyb20gdGhlCgkgIG1vb3YgYXRvbSksIHdlIG5lZWQgdG8gY2hlY2sgYW5kIHVwZGF0ZSB0aGUgdmFyaW91cyBkdXJhdGlvbiB2YXJpYWJsZXMKCSAgd2hlbiB3ZSBmaW5kIG1vcmUgaW5mb3JtYXRpb24uCgkgIEZpeGVzIHBsYXliYWNrIG9mIGZyYWdtZW50ZWQgZmlsZXMgaW4gcHVsbCBtb2RlCgoyMDE0LTEyLTEwIDE1OjA4OjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSB2YXJpYWJsZSBhc3NpZ25tZW50cyBuZXZlciByZWFkCgkgIEFzIGRldGVjdGVkIGJ5IGNsYW5nL3NjYW4tYnVpbGQKCjIwMTQtMTItMTAgMTQ6NTY6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFVzZSBHc3RDbG9ja1RpbWUgZm9yIG5hbm9zZWNvbmQtYmFzZWQgdGltZSB2YXJpYWJsZXMvZmllbGRzCgkgIEF2b2lkcyBjb25mdXNpb24gd2l0aCB0aW1lc2NhbGVkLWJhc2VkIHZhcmlhYmxlcyBhbmQgYnl0ZXMgKG9mZnNldCkKCSAgdmFyaWFibGVzLgoJICBBbmQgdXNlIEdTVF9DTE9DS19USU1FX05PTkUgd2hlcmUgYXBwbGljYWJsZQoKMjAxNC0xMi0wMyAxNDo0NzowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmg6CgkgIHB1c2hmaWxlc3JjOiBBZGQgVElNRSBTRUdNRU5UIGNhcGFiaWxpdHkKCSAgQWRkcyBhIG5ldyBzZXQgb2YgcHJvcGVydGllcyB0byBtYWtlIHB1c2hmaWxlc3JjIG91dHB1dCBhIFRJTUUgU0VHTUVOVAoJICAoaW5zdGVhZCBvZiB0aGUgZmlsZXNyYyBCWVRFIFNFR01FTlQpLgoJICBXaGVuIHRpbWUtc2VnbWVudCBpcyBzZXQgdG8gVHJ1ZSB0aGUgZm9sbG93aW5nIHdpbGwgaGFwcGVuOgoJICAqIFNlZWtzIGFyZSByZWZ1c2VkIChkYXRhIHN0YXJ0cyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUpCgkgICogVGhlIEJZVEUgc2VnbWVudCB3aWxsIGJlIHJlcGxhY2VkIGJ5IGEgVElNRSBzZWdtZW50IHdpdGggdGhlIHZhbHVlcwoJICBzcGVjaWZpZWQgaW4gdGhlIHZhcmlvdXMgcHJvcGVydGllcwoJICAqIFRoZSBmaXJzdCBvdXRnb2luZyBidWZmZXIgd2lsbCBoYXZlIGEgdGltZXN0YW1wIHNldCBvbiBpdCAoYnkgZGVmYXVsdAoJICBpdCBoYXMgYSB2YWx1ZSBvZiBHU1RfQ0xPQ0tfVElNRV9OT05FKQoKMjAxNC0xMi0xMCAxMTozNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsc28gb25seSB1bnJlZiBjYXBzIGlmIHRoZXkncmUgbm90IE5VTEwKCjIwMTQtMTItMTAgMTE6MzQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMoKSB3aWxsIHJldHVybiBOVUxMIGlmIHRoZXJlIGlzIG5vIHBlZXIKCjIwMTQtMTItMDkgMTY6Mzg6MzggKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwWGVuYzogQ0xPQ0tfVElNRV9OT05FIGlzIG5vdCBhIHZhbGlkIG1pbl9sYXRlbmN5IHZhbHVlCgkgIFdlIHNob3VsZCBqdXN0IHVzZSAwIGlmIHdlIGRvIG5vdCBoYXZlIHRoZSBpbmZvcm1hdGlvbgoKMjAxNC0xMi0wMyAxNzoyNjo1NiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBVc2UgYW4gZW1wdHkgaXRlcmF0b3IgaW4gaXRlcmF0ZV9pbnRlcm5hbF9saW5rIHdoZW4gbm8gbGlua3MKCSAgQW5kIG5vdCBhIE5VTEwgSXRlcmF0b3IsIHNvIGl0IGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgd2F5IGl0IHVzdWFsbHkKCSAgd29ya3MgYW5kIGF2b2lkIHVzZXIgdG8gbmVlZCBhIGRpZmZlcmVudCBjb2RlIHBhdGhzIHRvIGhhbmRsZSB0aGF0LgoKMjAxNC0xMi0wOSAxNDowMTo1MCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBzZXQgYnVmZmVyIGludGVybGFjZSBmbGFncyB3aGVuIGZpZWxkIGlzIFY0TDJfRklFTERfSU5URVJMQUNFRAoJICBJZiB2NGwyX2J1ZmZlci5maWVsZCBpcyBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQsIHdlIHNldCBjb3JyZXNwb25kaW5nCgkgIEdzdFZpZGVvQnVmZmVyIGZsYWdzIGRlcGVuZGluZyBvbiB0aGUgdmlkZW8gc3RhbmRhcmQuCgkgIEFjY29yZGluZyB0byBWNEwyIHNwZWNpZmljYXRpb24sIE0vTlRTQyB0cmFuc21pdHMgdGhlIGJvdHRvbSBmaWVsZAoJICBmaXJzdCwgYWxsIG90aGVyIHN0YW5kYXJkcyB0aGUgdG9wIGZpZWxkIGZpcnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NjAzCgoyMDE0LTEyLTA4IDIxOjI2OjE4ICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmlja3JAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRml4ZXMgYnVmZmVyIGxlYWsgd2hlbiB1c2luZyBTUFMvUFBTCgkgIEZpeGVzIGEgYnVmZmVyIGxlYWsgdGhhdCB3b3VsZCBvY2N1cnIgaWYgdGhlIHBpcGVsaW5lIHdhcyBzaHV0ZG93bgoJICB3aGlsZSBhIFNQUy9QUFMgaGVhZGVyIHdhcyBiZWluZyBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjcxCgoyMDE0LTEyLTA5IDA0OjQzOjI5ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBmaXggbWVtY3B5IHdoZW4gbm8gY29sb3IgYWdpbmcgcmVxdWVzdGVkLgoJICB2aWRlb19zaXplIGlzIHRoZSBzaXplIGluIHBpeGVscywgYWN0dWFsIHNpemUgb2YgdGhlIG1lbWNweQoJICBoYXMgdG8gYmUgc3RyaWRlICogaGVpZ2h0LgoKMjAxNC0xMi0wNyAxNzozMzo1MSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBXb3JrYXJvdW5kIGxpYnY0bDIgUlcgZW11bGF0aW9uIGJ1ZwoJICBXaGVuIGxpYnY0bDIgZW11bGF0ZXMgUlcgbW9kZSBvbiB0b3Agb2YgTU1BUCBkZXZpY2VzLCB0aGUgcXVldWVzIGFyZQoJICBvbmx5IGluaXRpYWxpemVkIG9uIGZpcnN0IHJlYWQuIFRoZSBwcm9ibGVtIGlzIHRoYXQgcG9sbCgpIHdpbGwgZmFpbAoJICBpZiBjYWxsZWQgYmVmb3JlIHRoZSBxdWV1ZXMgYXJlIGluaXRpYWxpemVkIGFuZCBzdHJlYW1pbmcuIFdvcmthcm91bmQKCSAgdGhpcyBieSBkb2luZyBhIHplcm8gc2l6ZSByZWFkIHdoZW4gcG9vbCBpcyBzdGFydGVkIGluIHRoYXQgSU8gbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYzMwoKMjAxNC0xMi0wNyAxNzoyNzozNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBGaXggUlcgaW8gbW9kZQoJICBJbiBSVywgYWxsb2NhdG9yIGNhbiBiZSBudWxsLCBtYXhfYnVmZmVycyBjYW4gYmUgemVybywgYW5kIHdlIG5lZWQgbm90CgkgIHRvIHdhaXQgd2hpbGUgdGhlIHF1ZXVlIGlzIGVtcHR5IHNpbmNlIHRoZXJlIGlzIG5vIHF1ZXVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjMzCgoyMDE0LTEyLTAzIDE2OjQwOjQ5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ2xlYW51cCB1bmVlZGVkIGNoZWNrIGFuZCBjYXNlcwoJICBUaGVyZSBpcyBub3RoaW5nIGluIGJldHdlZW4gdGhlIGJyZWFrIGFuZCB0aGUgImRvbmU6IiBhbnltb3JlLCBwbHVzCgkgIFVTRVJQVFIgYW5kIERNQUJVRl9JTVBPUlQgY2FzZSBpcyBleGFjdGx5IHRoZSBzYW1lLgoKMjAxNC0xMi0wMyAxNzowNzo0OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IEZpeCBDUkVBVEVfQlVGUyBzdXBwb3J0IGZvciBjYXB0dXJlCgkgIFRoaXMgcGF0Y2ggZml4ZXMgQ1JFQVRFX0JVRlMgc3VwcG9ydCBmb3IgY2FwdHVyZSBkZXZpY2VzLiBJbml0aWFsbHkgd2UKCSAgd291bGQgb25seSB0cnkgYW5kIGFsbG9jYXRlIG1vcmUgYnVmZmVycyB3aGVuIHRoZSBjb3B5IHRocmVzaG9sZAoJICBpcyByZWFjaGVkLiBXaGVuIHRoZSB0aHJlc2hvbGQgd2FzIG5vdCBzZXQgKG5lZWRlZCkgaXQgd291bGQgbmV2ZXIKCSAgaGFwcGVuLiBBbm90aGVyIHByb2JsZW0gaXMgdGhhdCBvbiBjYXB0dXJlIHNpZGUsIGFjcXVpcmUgcmV0dXJucwoJICBmaWxsZWQgYnVmZmVyLCBoZW5jZSBuZWVkIHRvIHBvb2wuIFdlIG5lZWQgdG8gc2V0IGEgc3BlY2lhbCBmbGFnIHRvCgkgIGZvcmNlIGFsbG9jYXRpb24gdG8gaGFwcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTM0CgoyMDE0LTEyLTAzIDE2OjI3OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBDUkVBVEVfQlVGIHByb2JpbmcKCSAgQ3VycmVudCBmb3IgZXZlcnkgbWVtb3J5IHR5cGUgd2Ugd2hlcmUgcHJvYmluZyBNTUFQIENSRUFURV9CVUZTIGlvY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMzQKCjIwMTQtMTEtMTggMTY6NTI6NDAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNldCBmcmFtZXJhdGUgMC8xIHdoZW4gZHVyYXRpb24gaXMgbm90IGtub3duCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxMzAKCjIwMTQtMTItMDQgMTc6MjU6NTUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vcmUgZml4ZXMgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgV2hlbiBzZWVraW5nIG9yIGZpbmRpbmcgdGhlIHByZXZpb3VzIGtleWZyYW1lLCBkbwoJICBjb21wYXJpc29ucyBhZ2FpbnN0IHRhcmdldHMgYW5kIHNlZ21lbnRzIHVzaW5nIGNvbXBvc2l0aW9uIHRpbWUKCSAgdG8gY29ycmVjdGx5IGRlY2lkZSB3aGljaCBzYW1wbGUgdGltZXMgbWF0Y2guCgoyMDE0LTEyLTAzIDExOjEyOjU1ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBVc2UgYW4gZW1wdHkgaXRlcmF0b3IgaW4gaXRlcmF0ZV9pbnRlcm5hbF9saW5rIHdoZW4gbm8gbGlua3MKCSAgV2UgdXNlZCB0byBzZXR1cCBhbiBpdGVyYXRvciB3aXRoIDEgR1ZhbHVlIHNldCB3aXRoIGEgTlVMTCBvYmplY3QKCSAgcG9pbnRlciB3aGljaCBpcyBub3QgdGhlIG5vcm1hbCB3YXkgdG8gZG8gdGhhdC4gSW5zdGVhZCB3ZSBzaG91bGQgbWFrZQoJICBzdXJlIHRoYXQgdGhlIGZpcnN0IGNhbGwgdG8gZ3N0X2l0ZXJhdG9yX25leHQgcmV0dXJucyBHU1RfSVRFUkFUT1JfRE9ORS4KCjIwMTQtMTItMDMgMTM6MjA6NTcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEhhbmRsZSBzZWVrcyBwYXN0IEVPUyBhcyBhIHNlZWsgdG8gdGhlIGVuZAoJICBGaXggcmV2ZXJzZSBwbGF5YmFjayBvZiBldmVyeSBmcmFtZSBieSBtYWtpbmcgc2Vla3MgcGFzdC90byBFT1MKCSAgZmluZCB0aGUgbGFzdCBzZWdtZW50IGFuZCBzdGFydCB0aGVyZS4KCjIwMTQtMTItMDIgMTU6MzM6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgIHJ0cG1wYWRlcGF5OiBSZWxheCBjYXBzIHRvIGFsbG93IGFueSBjbG9jay1yYXRlCgkgIFNvbWUgV293emEgc2V0dXBzIHNlZW0gdG8gc2VuZCBhbiBpbnZhbGlkIG5vbi05MDAwMCBjbG9jay1yYXRlLgoKMjAxNC0xMi0wMSAyMTowNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHVzZSBHU1RfQ0xPQ0tfVElNRV9OT05FIGluIG5vbiBHc3RDbG9ja1RpbWUgdmFyaWFibGVzCgkgIFVzZSAtMSBpbnN0ZWFkIGFzIHRob3NlIGFyZSBnaW50NjQvZ3VpbnQ2NCB2YXJpYWJsZXMgYW5kIG5vdCBHc3RDbG9ja1RpbWUKCjIwMTQtMTEtMDcgMTc6MDY6NDkgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkgIHY0bDJhbGxvY2F0b3I6IGZpeCBnc3RfdjRsMl9hbGxvY2F0b3Jfc3RvcCBwcm90b3R5cGUKCSAgZ3N0X3Y0bDJfYWxsb2NhdG9yX3N0b3AgcmV0dXJucyBhIEdzdFY0bDJSZXR1cm4sIG5vdCBhIGdib29sZWFuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzkyCgoyMDE0LTExLTA3IDE2OjQxOjUyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHVucmVmIHBvb2wgd2hlbiB2NGwyX2FsbG9jYXRvcl9uZXcoKSBmYWlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzkxCgoyMDE0LTExLTMwIDE3OjUyOjQ3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogUmVtb3ZlIGxhc3QgaW5jbHVkZSB0byBsaW51eC92aWRlb2RldjIuaAoJICBXZSBub3cgdXNlIGFuZCB1cGRhdGUgb3VyIGludGVybmFsIGNvcHkgc28gd2Ugbm8gbG9uZ2VyIGhhdmUgdG8gaWZkZWYKCSAgdGhlIGVudGlyZSBjb2RlIGZvciBmZWF0dXJlcyBhbmQgZGVmaW5lcyB0aGF0IHdoZXJlIGFkZGVkIG92ZXIgdGhlCgkgIHllYXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTA1CgoyMDE0LTA4LTI0IDEzOjM4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBpbXBsZW1lbnQgc2Vla2luZyBpbiBmcmFnbWVudGVkIG1wNCBmaWxlcyBpbiBwdWxsIG1vZGUgYmFzZWQgb24gdGhlIG1mcmEgdGFibGUKCjIwMTQtMTEtMjkgMTU6MjU6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIHRyYWNrIGZyYWdtZW50IGRlY29kaW5nIHRpbWUgKHRmZHQpIGluIHBhcnNlX3RydW4oKSBmb3IgaW50ZXJwb2xhdGlvbgoJICBBcyBmYWxsYmFjayBpZiB3ZSBkb24ndCBoYXZlIGFueSBleGlzdGluZyBzYW1wbGVzCgkgIGFzIHJlZmVyZW5jZSBwb2ludCB5ZXQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCjIwMTQtMTEtMjkgMTQ6Mzc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHBhcnNlIG1mcmEgcmFuZG9tIGFjY2VzcyBib3ggZm9yIGZyYWdtZW50ZWQgbXA0IGZpbGVzCgkgIElmIGl0J3MgcHJlc2VudCwgYW5kIHdlIG9wZXJhdGUgaW4gcHVsbCBtb2RlLgoKMjAxNC0wOC0xNSAxNDo1ODoyNiArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdG9wIHBhcnNpbmcgaGVhZGVycyBmb3IgZnJhZ21lbnRlZCBtcDRzIGF0IHRoZSBmaXJzdCBtb29mCgkgIEN1cnJlbnRseSBkdXJpbmcgaGVhZGVyIHBhcnNpbmcsIHdlIHNjYW4gdGhyb3VnaCB0aGUgZW50aXJlIGZpbGUKCSAgYW5kIHNraXAgZXZlcnkgbW9vZittZGF0IGNodW5rIGZvciBmcmFnbWVudGVkIG1wNHMsIHdoaWNoIG1ha2VzCgkgIHN0YXJ0LXVwIGluY3JlZGlibHkgc2xvdy4gSW5zdGVhZCwganVzdCBzdG9wIGF0IHRoZSBmaXJzdCBtb29mCgkgIGNodW5rIHdoZW4gaGF2ZSBhIG1vb3YsIGFuZCBzdGFydCBleHBvc2luZyB0aGUgc3RyZWFtcywgc28gd2UKCSAgY2FuIGdvIGFuZCBzdGFydCBoYW5kbGluZyB0aGUgbW9vZnMgZm9yIHJlYWwuCgoyMDE0LTExLTI5IDEzOjU5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogYWRkIGludGVyYWN0aXZlIGdka3BpeGJ1Zm92ZXJsYXkgdGVzdAoJICBKdXN0IG5lZWQgdG8gZml4IHRoZSBjb29yZGluYXRlIHN5c3RlbSBub3cgc28KCSAgdGhhdCBuZWdhdGl2ZSBvZmZzZXRzIGFyZSBhY3R1YWxseSBuZWdhdGl2ZQoJICBhbmQgbm90IGZsaXBwZWQgdG8gcG9zaXRpb24gdGhpbmdzIGZyb20gdGhlCgkgIG9wcG9zaXRlIGJvcmRlci4KCjIwMTQtMTEtMjkgMTM6NTM6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkICJwaXhidWYiIHByb3BlcnR5CgkgIFNvIHdlIGNhbiBzZXQgYSBHZGtQaXhidWYgZGlyZWN0bHkgaW5zdGVhZCBvZgoJICByZWFkaW5nIGl0IGZyb20gYW4gaW1hZ2UgZmlsZSBvbiB0aGUgZmlsZSBzeXN0ZW0uCgoyMDE0LTExLTI5IDEzOjIzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgIGdka3BpeGJ1ZjogcmVtb3ZlIHBpeGJ1ZnNjYWxlIGNvZGUgdGhhdCB3YXMgbmV2ZXIgcG9ydGVkCgkgIERvbid0IHRoaW5rIHdlJ2xsIG5lZWQgdGhpcyBhZ2Fpbi4KCjIwMTQtMTEtMjkgMTg6MzU6NDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IFVzZSBvZmZzZXQgd2hlbiBjb3B5aW5nIGhlYWRlcgoJICBUaGUgaGVhZGVyIGlzIG5vdCBhbHdheXMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBwYWNrZXQsIHNvIHdlIG5lZWQgdG8gY29tcHV0ZQoJICB0aGUgb2Zmc2V0IGZpcnN0LgoKMjAxNC0xMS0yOCAxMzoxMjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgIGFwZXYybXV4OiB3cml0ZSBBUEUgdGFncyBhdCBlbmQgZm9yIHdhdnBhY2sgZmlsZXMKCSAgaHR0cDovL3d3dy53YXZwYWNrLmNvbS9maWxlX2Zvcm1hdC50eHQ6CgkgICJCb3RoIHRoZSBBUEV2MiB0YWdzIGFuZC9vciBJRDN2MSB0YWdzIG11c3QgY29tZSBhdCB0aGUgZW5kIG9mIHRoZQoJICBXYXZQYWNrIGZpbGUsIHdpdGggdGhlIElEM3YxIGNvbWluZyBsYXN0IGlmIGJvdGggYXJlIHByZXNlbnQuIgoJICBXYXZQYWNrIGZpbGVzIHRoYXQgY29udGFpbiBBUEV2MiB0YWdzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGVzCgkgIGFyZSB1bnBsYXlhYmxlIG9uIHBsYXllcnMgdGhhdCB1c2UgRkZtcGVnIChsaWtlIFZMQykgYW5kIG1vc3Qgb3RoZXIKCSAgc29mdHdhcmUgKGV4Y2VwdCBCYW5zaGVlKS4gUGxheWVycyB0aGF0IHVzZSBsaWJ3YXZwYWNrIGRpcmVjdGx5IGNhbgoJICBwbGF5IHRoZSBmaWxlcyBiZWNhdXNlIGl0IHNraXBzIHRoZSB0YWdzLCBidXQgZG9lcyBub3QgcmVjb2duaXplIHRoZQoJICB0YWcgZGF0YSBhdCB0aGF0IGxvY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDM3CgoyMDE0LTExLTI4IDEwOjQxOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtc2VnbWVudC1zZWVrcy5jOgoJICB0ZXN0czogYWRkIGludGVyYWN0aXZlIHRlc3QgZm9yIGdhcGxlc3MgcGxheWJhY2sgdXNpbmcgU0VHTUVOVCBzZWVrcwoJICBOb3Qgd29ya2luZyB0b28gd2VsbCB5ZXQsIHRoZXJlIGFyZSBnbGl0Y2hlcyBldmVuIHdpdGggV0FWIG9yIEZMQUMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIzNjgKCjIwMTQtMTEtMjYgMTA6MzM6MDkgKzAzMDAgIEFuZHJlaSBTYXJha2VldiA8c2FyYWt1c2hhQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkgIGFzcGVjdHJhdGlvY3JvcDogSGFuZGxlIHJlc29sdXRpb24gY2hhbmdlcyBwcm9wZXJseQoJICBXaGVuIGFuIGNhcHMtZXZlbnQgaXMgcmVjZWl2ZWQsIHdlIG11c3QgaW1tZWRpYXRlbHkgY2hhbmdlIHRoZSBjcm9wCgkgIHRvIHZpZGVvY3JvcCBjb3JyZWN0bHkgY2hhbmdlZCBjYXBzLWV2ZW50IGRpbWVuc2lvbiwgb3RoZXJ3aXNlIHRoZQoJICB2aWRlb2Nyb3Agd2lsbCBmaXJzdCB1c2UgdGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBjcm9wIHRoYXQgd2hlbgoJICByZXNpemluZyB2aWRlbyB0byBhIHNtYWxsZXIgcmVzb2x1dGlvbiBtYXkgY2F1c2UgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2NzEKCjIwMTQtMTEtMjcgMTc6MTA6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdiYjJiY2UgdG8gZWYxZmZkYwoKMjAxNC0xMS0yNyAxMToyMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL3Rlc3QtYWNjdXJhdGUtc2Vlay5jOgoJICB0ZXN0OiB1c2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX3JvdW5kKCkgZm9yIHRpbWVzdGFtcCB0byBzYW1wbGUgY2FsY3VsYXRpb24KCjIwMTQtMTEtMjcgMTE6MTY6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdGVzdC1hY2N1cmF0ZS1zZWVrLmM6CgkgIHRlc3RzOiBhZGQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgYWNjdXJhdGUgc2Vla2luZwoJICBGb3Igc29tZSBhdWRpbyBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1Mjc2CgoyMDE0LTExLTI2IDE2OjA0OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogQ2hlY2sgcHJlc2VuY2Ugb2YgbWZoZCBpbiBtb29mCgkgIFRoZSAnbWZoZCcgYXRvbSBpcyBtYW5kYXRvcnkgaW4gJ21vb2YnLiBXZSBjYW4gbGF0ZXIgb24gY2hlY2sgd2hldGhlcgoJICB0aGUgZnJhZ21lbnQgbnVtYmVyIHByb3Blcmx5IGluY3JlYXNlcwoKMjAxNC0xMS0yNiAxNTo1OTozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGlzb21wNDogRml4IG1mcm8gYW5kIHRmcmEgYXRvbSBkdW1waW5nCgkgIG1mcm8gd2FzIHNraXBwaW5nIHRoZSB2ZXJzaW9uL2ZsYWdzCgkgIHRmcmEgaGFkIHdyb25nIGJ5dGVfcmVhZGVyIHJldHVybiB2YWx1ZSBjaGVja3MKCjIwMTQtMTEtMjYgMTU6NTg6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgaXNvbXA0OiBBZGQgbWZoZCBhdG9tIGR1bXBpbmcKCjIwMTQtMTEtMjcgMDA6MTU6MDIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEhhbmRsZSBlbXB0eSBzZWdtZW50cyB3aGVuIHNlZWtpbmcgaW4gcmV2ZXJzZSBwbGF5LgoJICBFbXB0eSBzZWdtZW50cyBpbiBhbiBlZGl0IGxpc3QgaGF2ZSBhIG1lZGlhX3N0YXJ0IHRpbWUgb2YgLTEsCgkgIGFzIHRoZXkgZG9uJ3QgYWN0dWFsbHkgcGxheSBhbnkgbWVkaWEuIEFsbG93IGZvciB0aGF0IHdoZW4KCSAgYWxpZ25pbmcgdG8gdGhlIHJlZmVyZW5jZSBzdHJlYW0gaW4gcmV2ZXJzZSBwbGF5LgoKMjAxNC0xMS0yNCAxMDozNjo1NCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIFJldmVydCAidjRsMmFsbG9jYXRvcjogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZDQ0ODBkNTM0MDhhNGQ5N2FiNTMxMTc0ZWYzN2YyNThmMzI1M2MwLgoKMjAxNC0xMS0yNCAxMDozNjozMCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIFJldmVydCAidjRsMjogbW92ZSB2Yl9xdWV1ZSBwcm9iaW5nIGZyb20gYWxsb2NhdG9yIHRvIHY0bDJvYmplY3QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWM2YjhiODRhZjcxOWQ4MjhkZGQ5MWM3MjRlNzE1YzBiNGE1NTZiYy4KCjIwMTQtMTEtMjQgMTA6MzM6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBSZXZlcnQgInY0bDJvYmplY3Q6IGFsbG93IHRvIGF1dG9tYXRpYyBzZWxlY3Rpb24gb2YgZG1hYnVmIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU2YzJhZDU1NzFlNWRlZGIyMTIyODdlZmUyMzhlYjQ1MDAzMmNkNGYuCgoyMDE0LTExLTIzIDE2OjM0OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogUkVRVUlSRU1FTlRTOgoJICBSRVFVSVJFTUVOVFM6IHVwZGF0ZSBhIGxpdHRsZQoJICBQZW9wbGUgYWN0dWFsbHkgbG9vayBhdCB0aGF0IGl0IHNlZW1zLgoKMjAxNC0xMS0yMyAxNjoyMjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgaWN5ZGVtdXg6IGRvZXMgbm90IG5lZWQgdG8gbGluayBhZ2FpbnN0IHpsaWIKCjIwMTQtMTEtMjIgMjE6Mjg6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXg6IHJlbW92ZSBzdXBwb3J0IGZvciBhbmNpZW50IHNwZWV4IHZlcnNpb25zCgoyMDE0LTExLTIxIDExOjIxOjE4ICswMTAwICBCcmFuaXNsYXYgS2F0cmVuaWFrIDxia2F0cmVuaWFrQG51dm90ZWNobm9sb2dpZXMuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGxvZyBjb25uZWN0aW9uIGV2ZW50cyBhdCBpbmZvIGxldmVsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzMDUKCjIwMTQtMTAtMjAgMTM6MDA6MzcgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZW5zdXJlIHJ0eF9yZXRyeV9wZXJpb2QgPj0gMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ0CgoyMDE0LTExLTIxIDExOjQ0OjI0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICB0aGlzIHdhcyBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCBlYzZiOGIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM4MgoKMjAxNC0xMS0xNiAxMjozNDoxNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IEhhbmRsZSBjb3JydXB0ZWQgYnVmZmVyIHdpdGggZW1wdHkgcGF5bG9hZAoJICBUaGlzIGFsbG93IHNraXBwaW5nIGJ1ZmZlciBmbGFnZ2VkIHdpdGggRVJST1IgdGhhdCBoYXMgbm8gcGF5bG9hZC4KCSAgVGhpcyBpcyB0eXBpY2FsIGJlaGF2aW91ciB3aGVuIGEgcmVjb3ZlcmVyYWJsZSBlcnJvciBvY2N1cmVkIGR1cmluZwoJICBjYXB0dXJlIGluIHRoZSBkcml2ZXIsIGJ1dCB0aGF0IG5vIHZhbGlkIGRhdGEgd2FzIGV2ZXIgd3JpdHRlbiBpbnRvIHRoYXQKCSAgYnVmZmVyLiBUaGlzIHBhdGNoIGFsc28gdHJhbnNsYXRlIFY0TDJfQlVGX0ZMQUdfRVJST1IgaW50bwoJICBHU1RfQlVGRkVSX0ZMQUdfQ09SUlVQVEVELiBIZW5jZSBkZWNvZGluZyBlcnJvciBwcm9kdWNlCgkgIGJ5IGRlY29kZXIgZHVlIHRvIG1pc3NpbmcgZnJhbWVzIHdpbGwgbm93IGJlIGNvcnJlY3RseSBtYXJrZWQuIEZpbmFsbHksCgkgIHRoaXMgZml4ZXMgYSBidWZmZXIgbGVhayB3aGVuIEVPUyBpcyByZWFjaGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDQwCgoyMDE0LTExLTIxIDE2OjM2OjE1ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogYWxsb3cgdG8gYXV0b21hdGljIHNlbGVjdGlvbiBvZiBkbWFidWYKCSAgSWYgdGhlIHY0bDIgcXVldWUgc3VwcG9ydCBkbWFidWYgc2VsZWN0IHRoaXMgYnVmZmVyIHBvb2wgbW9kZQoJICBhbmQgdXBkYXRlIHRoZSBxdWVyeSB3aXRoIGFsbG9jYXRvci4KCSAgVGhpcyBwYXRjaCBvbmx5IGNvbmNlcm4gZXhwb3J0aW5nIGRtYWJ1ZiBhbmQgbm90IGltcG9ydGluZyBkbWFidWYKCSAgZmQgZnJvbSBkb3duc3RyZWFtIGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzODIKCjIwMTQtMTEtMjEgMTY6MTM6MDUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBtb3ZlIHZiX3F1ZXVlIHByb2JpbmcgZnJvbSBhbGxvY2F0b3IgdG8gdjRsMm9iamVjdAoJICBUaGUgZ29hbCBpcyB0byBtYWtlIHRob3NlIGluZm9ybWF0aW9uIGF2YWlsYWJsZSBpbiB2NGwyX29iamVjdAoJICB0byBiZSBhYmxlIGxhdGVyIHRvIHNlbGVjdCB0aGUgYmVzdCBhbGxvY2F0aW9uIG1ldGhvZCBmb3IgdGhlIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM4MgoKMjAxNC0xMS0yMCAyMjo0Mjo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBGaXggdXAgbmV3X2ppdHRlcmJ1ZmZlciBzaWduYWwgcHJvdG90eXBlCgoyMDE0LTExLTIwIDIwOjE5OjI1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IERvY3VtZW50IGhvdyB0byBjb250cm9sIHBlci1TU1JDIHJldHJhbnNtaXNzaW9uCgoyMDE0LTExLTIwIDIwOjE4OjQ1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHByZXRyYW5zbWlzc2lvbi50eHQ6CgkgIGRvYzogVHJpdmlhbCBzcGVsbGluZyBhbmQgY29uc2lzdGVuY3kgdXBkYXRlCgoyMDE0LTExLTIwIDEzOjE0OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBwdXQgMC1ieXRlIGF0IHRoZSBlbmQgb2YgZXZlbnRzCgkgIFB1dCBhIDAtYnl0ZSBhdCB0aGUgZW5kIG9mIHRoZSBldmVudCBzdHJpbmcuIERvZXMgbm90IGJyZWFrIEFCSSBiZWNhdXNlCgkgIG9sZCBkZXBheWxvYWRlcnMgd2lsbCBza2lwIHRoZSAwIGJ5dGUgKHdoaWNoIGlzIGluY2x1ZGVkIGluIHRoZSBsZW5ndGgpLgoJICBFeHBlY3QgYSAwLWJ5dGUgYXQgdGhlIGVuZCBvZiB0aGUgZXZlbnQgc3RyaW5nIG9yIGEgOyBmb3Igb2xkCgkgIHBheWxvYWRlcnMuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTkxCgoyMDE0LTExLTIwIDEyOjQwOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IGF2b2lkIGJ1ZmZlciBvdmVycmVhZC4KCSAgQ2hlY2sgdGhhdCBhIGNhcHMgZXZlbnQgc3RyaW5nIGlzIDAgdGVybWluYXRlZCBhbmQgdGhlIGV2ZW50IHN0cmluZyBpcwoJICB0ZXJtaW5hdGVkIHdpdGggYSA7IHRvIGF2b2lkIGJ1ZmZlciBvdmVycmVhZHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1OTEKCjIwMTQtMTEtMjAgMTA6NDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBkb24ndCBsaW1pdCBtYXggdmlkZW8gcmVzb2x1dGlvbiB0byA0MDk2eDQwOTYKCSAgTUFYIGlzbid0IGVudGlyZWx5IGNvcnJlY3QgYXMgdXBwZXIgbGltaXQgZWl0aGVyLAoJICBpdCBzaG91bGQgcmVhbGx5IGJlIE1BWFVJTlQzMiwgYnV0IGl0J3MgdW5saWtlbHkKCSAgdG8gYmUgYSBwcm9ibGVtIGluIHRoZSBuZWFyIGZ1dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDQwNwoKMjAxNC0xMS0xOSAxNTowNjowMCAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBsZWFrIGZvciBtaWtleSBiYXNlNjQgZGVjb2RlZCBrZXktbWdtdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzkyCgoyMDE0LTExLTIwIDA5OjAxOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBmaXggdW5oYW5kbGVkIGZvcm1hdCBpbiBwYXNzdGhyb3VnaAoJICBJbiBwYXNzdGhyb3VnaCB3ZSBjYW4gaGFuZGxlIGFsbCBmb3JtYXRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzg3CgoyMDE0LTExLTE5IDE2OjEyOjM4ICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFJlc3RyaWN0IHJlc3luY2luZyB0byBUUyByZWdyZXNzaW9ucwoJICBUaGUgYmVoYXZpb3Igb2YgcmVzeW5jaW5nIHZpZGVvIGFuZCBhdWRpbyBpbmRlcGVuLQoJICBkZW50bHkgY2FuIGNhdXNlIEEvViBkZXN5bmNzLiBMZXRzIHJlc3RyaWN0IHJlc3luY3MKCSAgdG8ganVtcHMgYmFja3dhcmQgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM5NwoKMjAxNC0xMS0xNyAyMzoxNjowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogZml4IHVwIFFvUyBoYW5kbGluZyBmb3IgbGl2ZSBzb3VyY2VzCgkgIE9ubHkgYXR0ZW1wdCBhZGFwdGl2ZSBkcm9wIHdoZW4gd2UgYXJlIG5vdCBsaXZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTYKCjIwMTQtMTEtMTAgMjI6MzQ6MzkgKzAxMDAgIEhlbm5pbmcgSGVpbm9sZCA8aGVubmluZ0BpdGNvbnN1bHRpbmctaGVpbm9sZC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5weToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEucHk6CgkgIGV4YW1wbGVzOiBwb3J0IHB5dGhvbiBydHAgUENNQSBjbGllbnQvc2VydmVyIHRlc3RzIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTMwCgoyMDE0LTA2LTA0IDEyOjExOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB1c2luZyB0aGUgYXBwcm9wcmlhdGUgQVBJCgkgIFRoaXMgYXZvaWRzIF9zZXRfZm9ybWF0IHNldHRpbmcgdGhlIHVucG9zaXRpb25lZCBmbGFnIHdoZW4gcGFzc2VkCgkgIE5VTEwgYXMgY2hhbm5lbCBwb3NpdGlvbnMsIGFzIGl0IHdvdWxkIG5vdCBiZSBjbGVhcmVkIHdoZW4gc2V0dGluZwoJICBhY3R1YWwgY2hhbm5lbCBwb3NpdGlvbnMgbGF0ZXIuCgoyMDE0LTExLTAxIDIyOjM5OjQxICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBkYXJrb3NwaGVyZS5mcj4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZweDogbWFyayBhcm5yLXR5cGUgcHJvcGVydGllcyBhcyBkZXByZWNhdGVkIGFuZCBzZXQgdGhlbSB0byBuby1vcAoJICBBUk5SIHR5cGUgY29udHJvbCBpbiBsaWJ2cHggaGFzIGJlZW4gZGVwcmVjYXRlZCBzbyB0aGlzIGNvbW1pdCBtYXJrIHRoZQoJICB2cDhlbmMgYW5kIHZwOWVuYyBhc3NvY2lhdGVkIHByb3BlcnRpZXMgYXMgZGVwcmVjYXRlZCBhbmQgY2hhbmdlIHRoZWlyCgkgIGJlaGF2aW9yIHRvIGp1c3QgZGlzcGxheSBhIHdhcm5pbmcgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ3NgoKMjAxNC0xMS0xMCAxMzoxNjowMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwbWFuYWdlcjogVHJpdmlhbCB0eXBvIGZpeAoKMjAxNC0xMS0wOSAxMTowNDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBVc2UgR19ERUZJTkVfVFlQRSgpIHRvIHJlZ2lzdGVyIHRoZSBwYWQgaW5zdGVhZCBvZiBtYW51YWxseSByZWdpc3RlcmluZyBpdAoKMjAxNC0xMS0wNiAxNTozNzoyOCArMDEwMCAgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBHc3RNYXRyb3NrYW11eFBhZCBnZXRfdHlwZSgpIGZ1bmN0aW9uIHRocmVhZC1zYWZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3MjIKCjIwMTQtMTEtMDcgMTY6MTE6MjQgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IGZpeCBlcnJvciBtZXNzYWdlIGlmIGFsbG9jYXRvciBpcyBhbHJlYWR5IGFjdGl2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Nzg5CgoyMDE0LTExLTA2IDIxOjIxOjQwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBJbXByb3ZlIGJ1ZmZlciB2YWxpZGF0aW9uCgkgIEltcHJvdmUgYnVmZmVyIHZhbGlkYXRpb24gYnkgbWFraW5nIHN1cmUgZWFjaCBtZW1vcnkgYXJlIHRoZSByaWdodAoJICBvbmUgYW5kIHRoYXQgZWFjaCBtZW1vcnkgaXMgd3JpdGFibGUuIFRoaXMgZml4ZXMgdGVhcmluZyBpc3N1ZXMgaW4KCSAgY2FzZSBkb3duc3RyZWFtIHVzZXMgZ3N0X2J1ZmZlcl9tYWtlX3dyaXRhYmxlKCkgb3Igb3RoZXIgdHlwZQoJICBvZiBHc3RCdWZmZXIgY29weSB3aGVyZSBtZW1vcnkgYXJlIG9ubHkgcmVmZmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzU0CgoyMDE0LTExLTA2IDIxOjM4OjQzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgcnRzcDogZml4IGJ1aWxkIGluIGdzdC11bmluc3RhbGxlZCBzZXR1cAoKMjAxNC0xMC0yOSAxODo0NDo0MyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogSGFuZGxlIHNlcW51bXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM2NgoKMjAxNC0xMS0wNCAwODoxODo0MSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBwbmdkZWM6IGNoYW5nZSBwYXJzZSBsb2dpYwoJICBSaWdodCBub3cgaW4gcGFyc2UgbG9naWMgdGhlIHNpZ25hdHVyZSBpcyBjaGVja2VkIGV2ZXJ5IHRpbWUgdGhlIHBhcnNlIGZ1bmN0aW9uCgkgIGlzIGNhbGxlZCwgYW5kIHRoZSB3aG9sZSBkYXRhIGlzIHRoZSBzY2FubmVkIGVhY2ggYW5kIGV2ZXJ5IHRpbWUsIGV2ZW4gdGhvdWdoIHRoZQoJICBkYXRhIGlzIHNjYW5uZWQgaW4gdGhlIHByZXZpb3VzIGluc3RhbmNlLiBDaGFuZ2luZyB0aGUgbG9naWMgc3VjaCB0aGF0LCB3ZSBza2lwCgkgIHRoZSBieXRlcyB3aGljaCBhcmUgYWxyZWFkeSBzY2FubmVkIGluIHRoZSBwcmV2aW91cyBpbnN0YW5jZXMgb2YgcGFyc2UuIFRoaXMKCSAgaGVscHMgaW4gYXZvaWRpbmcgbXVsdGlwbGUgc2NhbiBvZiBhbHJlYWR5IHNjYW5uZWQgZGF0YS9zaWduYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MDgKCjIwMTQtMTEtMDMgMTU6MjY6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IHJldmVyc2Ugb3JkZXIgb2YgcGFyYW1zIGZvciBjb252ZXJ0ZXIKCjIwMTQtMTEtMDMgMTE6NDQ6MjggKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZml4IHR5cG8gaW4gZmxhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTU0OQoKMjAxNC0xMS0wMiAyMzozMzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZml4IGEgY291cGxlIG9mIG1pbm9yIGxlYWtzCgoyMDE0LTExLTAyIDE5OjQyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHBvc3QgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgZnJhbWVzIGR1ZSB0byBRb1MKCjIwMTQtMTEtMDIgMTk6Mjk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgZ29vbTogcG9zdCBRb1MgbWVzc2FnZXMgd2hlbiBkcm9wcGluZyBmcmFtZXMgZHVlIHRvIFFvUwoKMjAxNC0xMS0wMiAxOTowMjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHR3ZWFrIHdyaXRpbmcgYXBwIHRhZyBzdHJpbmcgYSBsaXR0bGUKCjIwMTQtMTEtMDIgMTY6NTE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIFNwcmlua2xlIHNvbWUgR19QQVJBTV9ERVBSRUNBVEVEIGFuZCAjaWZuZGVmIEdTVF9SRU1PVkVfREVQUkVDQVRFRAoKMjAxNC0xMS0wMiAxNjo1ODowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBwcm9wZXJ0eSBpbiBsZXZlbCB1bml0IHRlc3QKCjIwMTQtMTEtMDIgMTM6MDY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXBsZW1lbnQgZ2V0L3NldCBmb3IgbmV3IHJ0eC1taW4tcmV0cnktdGltZW91dCBwcm9wZXJ0eQoJICBQcm9wZXJ0aWVzIGFyZSBzbyBtdWNoIG1vcmUgdXNlZnVsIGlmIHlvdSBjYW4gYWN0dWFsbHkgc2V0CgkgIGFuZCBnZXQgdGhlaXIgdmFsdWVzLgoKMjAxNC0xMC0zMCAxNzo0MToxOSArMDAwMCAgU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogQ2xlYW4gdXAgaW50ZXJsYWNlIHN1cHBvcnQKCSAgUmF0aGVyIHRoYW4gdHJ5IGFuZCBndWVzcyBpbnRlcmxhY2Ugc3VwcG9ydCBhcyBwYXJ0IG9mIGNoZWNraW5nIHN1cHBvcnRlZAoJICBzaXplcywgbG9vayBmb3IgaW50ZXJsYWNlIHN1cHBvcnQgc3BlY2lmaWNhbGx5IGluIGl0cyBvd24gZnVuY3Rpb24uCgkgIEFzIGEgY2xlYW51cCwgdXNlIFY0TDJfRklFTERfQU5ZIHdoZW4gcHJvYmluZyBzaXplcywgd2hpY2ggc2hvdWxkIHJlc3VsdCBpbgoJICB0aGUgZHJpdmVyIGRvaW5nIHRoZSByaWdodCB0aGluZy4KCSAgV2l0aCBteSBjYXB0dXJlIHNldHVwLCB0aGlzIGdldHMgbWUgdGhlIGZvbGxvd2luZyBzYW1wbGUgY2FwczoKCSAgRm9yIDEwODBpIHJlc29sdXRpb246CgkgIHZpZGVvL3gtcmF3LCBmb3JtYXQ9KHN0cmluZylZVVkyLCB3aWR0aD0oaW50KTE5MjAsIGhlaWdodD0oaW50KTEwODAsIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKWludGVybGVhdmVkLCBmcmFtZXJhdGU9KGZyYWN0aW9uKXsgMjUvMSwgMzAvMSB9CgkgIEZvciA3MjBwIHJlc29sdXRpb246CgkgIHZpZGVvL3gtcmF3LCBmb3JtYXQ9KHN0cmluZylZVVkyLCB3aWR0aD0oaW50KTEyODAsIGhlaWdodD0oaW50KTcyMCwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzEsIGludGVybGFjZS1tb2RlPShzdHJpbmcpcHJvZ3Jlc3NpdmUsIGZyYW1lcmF0ZT0oZnJhY3Rpb24peyA1MC8xLCA2MC8xIH0KCSAgRm9yIDU3NmkvcCByZXNvbHV0aW9uIChib3RoIHBvc3NpYmxlIGF0IHRoZSBwb2ludCBvZiBxdWVyeSk6CgkgIHZpZGVvL3gtcmF3LCBmb3JtYXQ9KHN0cmluZylZVVkyLCB3aWR0aD0oaW50KTcyMCwgaGVpZ2h0PShpbnQpNTc2LCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMSwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZyl7IHByb2dyZXNzaXZlLCBpbnRlcmxlYXZlZCB9LCBmcmFtZXJhdGU9KGZyYWN0aW9uKXsgMjUvMSwgNTAvMSB9CgkgIFRoaXMsIGluIHR1cm4sIG1ha2VzIDU3Nmkgd29yayBjb3JyZWN0bHk7IHdpdGggdGhlIG9sZCBjb2RlLAoJICB0aGUgY2FwcyB3b3VsZCBiZSBpbnRlcmxhY2UtbW9kZT1wcm9ncmVzc2l2ZSBmb3IgaW50ZXJsYWNlZCB2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjE5NAoKMjAxNC0xMS0wMSAxMjoxODowMiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmg6CgkgIHZweDogcmVtb3ZlIGNvbXBhdGliaWxpdHkgZGVmaW5lcwoJICBXZSBhcmUgZ3VhcmFudGVlZCB0byBoYXZlIFZQWF9JTUdfRk1UX0k0MjAsIFZQWF9QTEFORV9ZLAoJICBWUFhfUExBTkVfVSBhbmQgVlBYX1BMQU5FX1YgYXMgd2UgcmVxdWlyZSBsaWJ2cHggPiAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ3NgoKMjAxNC0xMS0wMSAxNTozMzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFjazogcmVtb3ZlIHN1cHBvcnQgZm9yIGFuY2llbnQgQVBJIHZlcnNpb24KCjIwMTQtMTEtMDEgMTA6MTQ6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IFVzZSBWUDggZW5jb2RpbmcgbmFtZQoJICBCb3RoIEZpcmVmb3ggYW5kIENocm9tZSB1c2VzIFZQOCBhcyB0aGUgZW5jb2RpbmcgaW4gdGhlaXIgU0RQLgoJICBBZGRpbmcgdGhpcyBub3cgZGVmYWN0byBzdGFuZGFyZCBuYW1lIHJlbW92ZXMgdGhlIG5lZWQgZm9yIHNwZWNpYWwKCSAgY2FzZSBpbiBTRFAgcGFyc2luZyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE0LTExLTAxIDExOjU5OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cG1wMnRwYXk6IGZpeCB1cCB0ZW1wbGF0ZSBjYXBzIHNvIHdlIGNhbiBvdXRwdXQgdGhlIGRlZmF1bHQgcHQgMzMKCSAgQWRkIGZpeGVkIHBheWxvYWQgdHlwZSBmb3IgbXAydCB0byB0ZW1wbGF0ZSBjYXBzIGFzIHdlbGwsIHNvCgkgIG91ciBvdXRwdXQgY2FwcyBtYXRjaCB0aGUgYWR2ZXJ0aXNlZCBkZWZhdWx0IHB0LiBGaXhlcyBhCgkgIHJlZ3Jlc3Npb24gZnJvbSAxLjIuCgkgIFRoZXJlJ3Mgc3RpbGwgc29tZXRoaW5nIHdyb25nIHdpdGggY2FwcyBuZWdvdGlhdGlvbiB0aG91Z2gsCgkgIHJ0cG1wMnRwYXkgcGF5bG9hZD05NiAhIGZha2VzaW5rIHdpbGwgbm90IG91dHB1dCBjYXBzIHdpdGgKCSAgcGF5bG9hZD05Ni4KCjIwMTQtMTAtMzAgMTU6Mzc6MzYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtaWtleSByZWxhdGVkIG1lbW9yeSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDMwCgoyMDE0LTA2LTEwIDEwOjA0OjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIHRpbWUgdG8gbWF0Y2ggY2xpcHBlZCBzYW1wbGVzCgkgIFRoaXMgd2lsbCBsZXQgb2dnbXV4IGdlbmVyYXRlIGEgZ3JhbnBvcyBvbiB0aGUgbGFzdCBwYWdlIHRoYXQgcHJvcGVybHkKCSAgcmVwcmVzZW50cyB0aGUgY2xpcHBlZCBzYW1wbGVzIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmVhbS4KCjIwMTQtMDYtMTAgMTA6NTk6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIHRpbWUgdG8gbWF0Y2ggY2xpcHBlZCBzYW1wbGVzCgkgIFRoaXMgd2lsbCBsZXQgb2dnbXV4IGdlbmVyYXRlIGEgZ3JhbnBvcyBvbiB0aGUgbGFzdCBwYWdlIHRoYXQgcHJvcGVybHkKCSAgcmVwcmVzZW50cyB0aGUgY2xpcHBlZCBzYW1wbGVzIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmVhbS4KCjIwMTQtMTAtMDcgMTU6Mjk6MzMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogY2xlYW5seSBoYW5kbGUgc3RyZWFtb24gZmFpbHVyZSBmb3Igb3V0cHV0IGRldmljZQoJICBPbiBzdHJlYW1vbiBmYWlsdXJlLCB0aGUgcXVldWVkIGJ1ZmZlciBpcyBub3QgcmVsZWFzZWQgZnJvbSB0aGUKCSAgYnVmZmVycG9vbCBjbGFzcyBwb2ludCBvZiB2aWV3IGJlY2F1c2UgaXQgaXMgcXVldWVkIHRvIHRoZSBkcml2ZXIgYW5kCgkgIHRoZSBmbHVzaCBsb2dpYyBpcyBub3QgcGVyZm9ybWVkIHNpbmNlIHdlIGFyZSBub3QgaW4gc3RyZWFtaW5nIHN0YXRlLgoJICBJdCBjYXVzZXMgdGhlIHY0bDIgYnVmZmVycG9vbCB0byBhbHdheXMgcmV0dXJuIHRoYXQgc3RvcCBtZXRob2QgZmFpbGVkCgkgIGFuZCB0byBsZWFrIHY0bDIgb2JqZWN0cyBhbmQgYnVmZmVycy4KCSAgVGhpcyBjb21taXQgc29sdmUgdGhpcyBieSBwZXJmb3JtaW5nIHRoZSBmbHVzaCBsb2dpYyBpbiBlcnJvciBjYXNlLCBpZQoJICBmbHVzaGluZyB0aGUgYWxsb2NhdG9yIGFuZCByZXN0b3JpbmcgcXVldWVkIGJ1ZmZlciBzdGF0ZSB0byBub24tcXVldWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTAyCgoyMDE0LTEwLTA4IDEwOjMxOjIxICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGltcGxlbWVudCBkaXNwb3NlIG1ldGhvZAoJICBVbnJlZiBvYmplY3RzIGluIGRpc3Bvc2UgbWV0aG9kIHJhdGhlciB0aGFuIGluIGZpbmFsaXplIGluIG9yZGVyIHRvCgkgIHByZXZlbnQgY2lyY3VsYXIgcmVmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTAyCgoyMDE0LTEwLTA4IDEwOjM1OjE0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNoZWNrIHRoYXQgYWxsb2NhdG9yIGlzIG5vbiBudWxsIHdoZW4gc3RvcHBpbmcgcG9vbAoJICBPdGhlcndpc2UsIHdlIGNvdWxkIGRlcmVmZXJlbmNlIE5VTEwgYWxsb2NhdG9yIHdoZW4gdGhlIHN0b3AgbWV0aG9kIGlzCgkgIGNhbGxlZCBieSB0aGUgR3N0QnVmZmVyUG9vbCdzIGZpbmFsaXplIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEwMgoKMjAxNC0xMC0wOSAxMjoxNTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IEltcGxlbWVudCB1bmxvY2svdW5sb2NrX3N0b3AKCSAgVGhpcyB3aWxsIHByZXZlbnQgZGVhZGxvY2tzLCBidXQgd2lsbCBhbHNvIHByb3Blcmx5IGZsdXNoIHRoZSBwb29sIGFuZCBhbGxvY2F0b3IKCSAgd2hlbiBnb2luZyB0byBSRUFEWSBzdGF0ZS4gSXQgc2hvdWxkIGFsc28gZml4IGlzc3VlcyByZXBvcnRlZCBvbiBtYWlsaW5nIGxpc3QKCSAgd2hlbiBzZWVraW5nIGlzIHBlcmZvcm1lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODE1MgoKMjAxNC0xMC0yOCAyMTozMjowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgcHVsc2UsIHY0bDI6IGFkZCBtaXNzaW5nIEdfRU5EX0RFQ0xTIGluIHNvbWUgcGxhY2VzCgoyMDE0LTEwLTI3IDE3OjU3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NGQwNmNkIHRvIDdiYjJiY2UKCjIwMTQtMTAtMjcgMTE6MDg6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IHVuaXQgdGVzdCBub3cgdGhhdCB3ZSBhbHdheXMgaGF2ZSBwcm9maWxlL2xldmVsIGluIHRoZSBjYXBzCgoyMDE0LTEwLTI2IDE0OjU1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIFBhcmFsbGVsaXNlICdtYWtlIGNoZWNrLXZhbGdyaW5kJwoJICBTb21lIG9mIHRoZSBSVFAgdW5pdCB0ZXN0cyBhcmUgdmVyeSBmbGFreSBhbmQgd2lsbAoJICBmYWlsIG1vcmUgb2Z0ZW4gd2l0aCB0aGUgQ1BVIG1heGVkIG91dCBmdWxseS4gVGhvc2UKCSAgdGVzdHMgbmVlZCB0byBiZSBmaXhlZCBpbiBhbnkgY2FzZSB0aG91Z2gsIHRoZXkgYWxzbwoJICBmYWlsIG9uIHNsb3dlciBtYWNoaW5lcyBhbmQgYWxzbyBvY2Nhc2lvbmFsbHkgd2l0aAoJICBub3JtYWwgJ21ha2UgY2hlY2snLgoKMjAxNC0xMC0yNiAxMTo0NzoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsd2F5cyBzZXQgcHJvZmlsZS9sZXZlbCBvbiB0aGUgY2FwcwoJICBXZSBoYXZlIHRoZSBpbmZvcm1hdGlvbiBhbHJlYWR5LCBzbyB3aHkgbm90IHVzZSBpdD8KCjIwMTQtMTAtMjUgMTI6MzY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY3Jhc2ggb24gc29tZSAzMi1iaXQgc3lzdGVtcwoJICBNYWtlIHN1cmUgdG8gcGFzcyByaWdodCBudW1iZXIgb2YgYml0cyB0byBnc3Rfc3RydWN0dXJlX25ldygpCgkgIHdoaWNoIGlzIGEgdmFyYXJnIGZ1bmN0aW9uLgoJICBGaXhlcyBlbGVtZW50cy9ydHBhdXggdW5pdCB0ZXN0IG9uIHBwYzMyLgoKMjAxNC0xMC0yNSAwMDo1NjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3RzOiBmaXggcmd2b2x1bWUgdGVzdCBvbiBiaWctZW5kaWFuIHN5c3RlbXMKCjIwMTQtMTAtMjUgMDA6NTM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdlbmMuYzoKCSAgdGVzdHM6IGZpeCBtdWxhd2RlYy9tdWxhd2VuYyB0ZXN0IGZvciBiaWcgZW5kaWFuIHN5c3RlbXMKCjIwMTQtMTAtMjQgMjM6NDg6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGludGVyc2VjdCByZXN1bHQgd2l0aCBmaWx0ZXIgY2FwcyBpbiBjYXBzIHF1ZXJ5CgkgIEZpeGVzIGNyYXNoIGluIGF1ZGlvdGVzdHNyYyBiZWNhdXNlIG9mIGFuIHVuc3VwcG9ydGVkIGZvcm1hdAoJICBnZXR0aW5nIG5lZ290aWF0ZWQgb24gYmlnLWVuZGlhbiBzeXN0ZW1zIHdpdGgKCSAgYXVkaW90ZXN0c3JjICEgaW50ZXJsZWF2ZSAhIGF1ZGlvY29udmVydCAhIHdhdmVuYwoKMjAxNC0xMC0yMyAxNTo0NjoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmg6CgkgIHB1bHNlOiByZW1vdmUgc29tZSB1bnVzZWQgdHlwZWRlZnMKCjIwMTQtMTAtMjIgMTU6Mjg6NDQgKzAyMDAgIEFuYW5kYSA8YW5hbmRhQGxhdGVsaWVyMjMuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogRml4IHNlZ2ZhdWx0IHdoZW4gcmVzZXR0aW5nIHRoZSBjb2RlY3MgbXVsdGlwbGUgdGltZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODc5MwoKMjAxNC0xMC0yMiAyMjo1MDo1NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVGVtcG9yYXJpbHkgZGlzYWJsZSBzdHJlYW0gc3RhdHVzIHBvc3RpbmcKCSAgV2UgbmVlZCBhIG1lY2hhbmlzbSBpbiBQdWxzZUF1ZGlvIHRvIGFsbG93IHJ1bm5pbmcgY29kZSBvdXRzaWRlIHRoZQoJICBtYWlubG9vcCBsb2NrLiBUaGVuIHdlJ2QgYmUgYWJsZSB0byBwb3N0IHRvIHRoZSBidXMgKHRha2luZyB0aGUKCSAgR1NUX09CSkVDVF9MT0NLKSwgd2l0aG91dCB3b3JyeWluZyBhYm91dCBsb2NraW5nIG9yZGVyIHdpdGggdGhlIG1haW5sb29wCgkgIGxvY2ssIHdoaWNoIGlzIHRoZSBjdXJyZW50IGNhdXNlIG9mIGRlYWRsb2NrcyB3aGlsZSB0cnlpbmcgdG8gcG9zdCB0aGUKCSAgc3RyZWFtIHN0YXR1cyBtZXNzYWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA3MQoKMjAxNC0xMC0yMiAxNTowNDoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBsaW1pdCB0aGUgcmV0cnkgZnJlcXVlbmN5CgkgIFdoZW4gdGhlIFJUVCBhbmQgaml0dGVyIGFyZSB2ZXJ5IGxvdyAoc3VjaCBhcyBvbiBhIGxvY2FsIG5ldHdvcmspLCB0aGUKCSAgY2FsY3VsYXRlZCByZXRyYW5zbWlzc2lvbiB0aW1lb3V0IGlzIHZlcnkgc21hbGwuIFNldCBzb21lIHNlbnNpYmxlIGxvd2VyCgkgIGJvdW5kYXJ5IHRvIHRoZSB0aW1lb3V0IGJ5IGFkZGluZyBhIG5ldyBwcm9wZXJ0eS4gV2UgdXNlIHRoZSBwYWNrZXQKCSAgc3BhY2luZyBhcyBhIGxvd2VyIGJvdW5kYXJ5IGJ5IGRlZmF1bHQuCgoyMDE0LTEwLTIyIDEzOjQwOjU4ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBnc3RydHBqaXR0ZXJidWZmZXI6IGFkZCAicnR4LW1pbi1kZWxheSIgcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBpcyB1c2VmdWwgdG8gc2V0IGEgbWluIHRpbWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhCgkgIHJldHJhbnNtaXNzaW9uIGV2ZW50LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1Mzc4CgoyMDE0LTEwLTIyIDEzOjI5OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFJlZmFjdG9yIGNvZGUKCSAgUmVmYWN0b3Igc29tZSBjb2RlIGRlYWxpbmcgd2l0aCBjYWxjdWxhdGluZyB2YXJpb3VzIHRpbWVvdXRzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTM3OAoKMjAxNC0xMC0xMCAxOTo1MDowNiArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogZml4IEVhcmx5IEZlZWRiYWNrIFRyYW5zbWlzc2lvbgoJICBJbiBlYXJseSByZXRyYW5zbWlzc2lvbiB3ZSBhcmUgYWxsb3dlZCB0byBzY2hlZHVsZSAxIHJlZ3VsYXIgUlRDUCBwYWNrZXQKCSAgYXQgYW4gZWFybGllciB0aW1lLiBXaGVuIHdlIGRvIHRoYXQsIHdlIG5lZWQgdG8gc2V0IGFsbG93X2Vhcmx5IHRvIEZBTFNFCgkgIGFuZCBpZ25vcmUvZHJvcCAob3IgbWVyZ2UpIGFsbCBmdXR1cmUgcmVxdWVzdHMgZm9yIGVhcmx5IHRyYW5zbWlzc2lvbi4KCSAgV2Ugbm93IGZpcnN0IGNoZWNrIGlmIHdlIGNhbiBzY2hlZHVsZSBhbiBlYXJseSBSVENQIGFuZCBpZiB3ZSBjYW4sCgkgIGFjdHVhbGx5IHByZXBhcmUgdGhlIGRhdGEgZm9yIHRoZSBuZXh0IFJUQ1AgaW50ZXJ2YWwuCgkgIEFmdGVyIHdlIHNlbmQgdGhlIG5leHQgcmVndWxhciBSVENQIGFmdGVyIHRoZSBlYXJseSBSVENQLCB3ZSBzZXQKCSAgYWxsb3dfZWFybHkgdG8gVFJVRSBhZ2FpbiB0byBhbGxvdyBtb3JlIGVhcmx5IHJlcXVlc3RzLgoJICBSZW1vdmUgdGhlIGNvbmRpdGlvbiBmb3IgdGhlIGltbWVkaWF0ZSBmZWVkYmFjayBmb3Igbm93LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MzE5CgoyMDE0LTEwLTIxIDEzOjAxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOGM4OTM5IHRvIDg0ZDA2Y2QKCjIwMTQtMTAtMjEgMTM6MTA6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbWFrZSBkZWJ1ZyBsaW5lIGxlc3MgY29uZnVzaW5nCgoyMDE0LTEwLTIxIDEyOjU4OjEzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM2Mzg4YTEgdG8gYThjODkzOQoKMjAxNC0wNy0wMiAxNzo1MDozNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogcmV3b3JrIHJlc3luYyBoYW5kbGluZwoJICBBZGQgYSBuZWVkLXJlc3luYyBzdGF0ZSwgdGhpcyBpcyB3aGVuIHdlIG5lZWQgdG8gdHJ5IHRvIGxvY2sgb24gdG8gYQoJICB0aW1lL1JUUHRpbWUgcGFpci4KCSAgQWx3YXlzIGNoZWNrIHRoZSBSVFAgdGltZXN0YW1wcyBhbmQgaWYgdGhleSBnbyBiYWNrd2FyZHMsIG1hcmsgb3Vyc2VsdmVzCgkgIGFzIG5lZWQtcmVzeW5jLgoJICBPbmx5IHJlc3luYyB3aGVuIG5lZWQtcmVzeW5jIGlzIFRSVUUgYW5kIHdlIGhhdmUgYSB2YWxpZCB0aW1lLiBPdGhlcndpc2UKCSAgd2Uga2VlcCB0aGUgb2xkIHZhbHVlcy4gVGhpcyBhdm9pZHMgbG9ja2luZyBvbiB0byBhbiBpbnZhbGlkIHRpbWUgYW5kCgkgIGNhdXNpbmcgdXMgdG8gdGltZXN0YW1wIGV2ZXJ5dGhpbmcgd2l0aCAtMS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQxNwoKMjAxNC0xMC0wMyAxNzoyODowNiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBmdWxsIHN0cmVhbSBjYXBzIG9uIGludGVybmFsIHNyYyBUQ1AgcGFkcwoJICBTZXQgdGhlIGNvbXBsZXRlIHN0cmVhbSBjYXBzIG9uIHRoZSBUQ1AgaW50ZXJuYWwgc3JjIHBhZHMuIE90aGVyd2lzZSwKCSAgcHRkZW11eCB3aWxsIG5vdCBwcm9wZXJseSBkZXRlY3QgdGhlIGNhcHMgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODY4CgoyMDE0LTEwLTE3IDIyOjIzOjI3ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3Qgc2V0IFBST1hZX0NBUFMgZmxhZyBvbiB0aGUgc3JjIHBhZAoJICBydHBtdXggYmVoYXZlcyBsaWtlIGEgZnVubmVsIGluIHRoYXQgaXQgZm9yd2FyZHMgd2hhdGV2ZXIgdXBzdHJlYW0gaXMKCSAgc2VuZGluZyBidWZmZXJzLiBTbyBzZXR0aW5nIHByb3h5IGNhcHMgZG9lc24ndCBtYWtlIHNlbnNlIGFzIHRoZQoJICB1cHN0cmVhbSBkb24ndCBoYXZlIHRvIGhhdmUgY29tcGF0aWJsZSBjYXBzLCB0aHVzIHJlc3VsdGluZyBpbiBhbiBlbXB0eQoJICBjYXBzIHNldCBhcyBhIHJlc3VsdCBvZiBhIGNhcHMgcXVlcnkuIEluc3RlYWQgc2V0IGZpeGVkIGNhcHMganVzdAoJICBhcyBmdW5uZWwgZG9lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODcyMgoKMjAxNC0xMC0yMCAxMTo1NzozOCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGNyaXRpY2FsIGVycm9yIHdoZW4gZWxlbWVudCBwcm9wZXJ0aWVzIHNldCBhcyBtYXgvbWluCgkgIGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSBjYW4gYmUgc2V0IGZyb20gcmFuZ2Ugb2YgLTIxNDc0ODM2NDggdG8gMjE0NzQ4MzY0NwoJICB3aGVuIGkgbGF1bmNoIHRoZSB2aWRlb2JveCBlbGVtZW50IHdpdGggdGhhdCB2YWx1ZXMsIGl0IGdpdmVzIGEgY3JpdGljYWwgZXJyb3IKCSAgKGdzdC1jaGVjay0xLjA6Mjk4NjkpOiBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF92YWx1ZV9zZXRfaW50X3JhbmdlX3N0ZXA6IGFzc2VydGlvbiAnc3RhcnQgPCBlbmQnIGZhaWxlZAoJICBUaGlzIGhhcHBlbnMgYmVjYXVzZSBtaW4gY2Fubm90IGJlIGVxdWFsIHRvIG1heC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODgzOAoKMjAxNC0xMC0xNSAxNzo0NToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgUmV2ZXJ0ICJydHA6IGFkZCBoMjY1IFJUUCBwYXlsb2FkZXIgKyBkZXBheWxvYWRlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMDZiYTkwNTFmOTA0YTdlYjQ4MmMwN2E5N2ExODI3MTY5MTU4NjYzLgoJICBUaGlzIGJyZWFrcyB0aGUgYnVpbGQsIGFzIGl0IGRlcGVuZHMgb24gcGFyc2VyIEFQSSBpbiAtYmFkLgoKMjAxNC0xMC0xNSAxNzozNDo1MCArMDIwMCAgSnVyZ2VuIFNsb3dhY2sgPGp1cmdlbi5zbG93YWNrQGJhcmNvLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwOiBhZGQgaDI2NSBSVFAgcGF5bG9hZGVyICsgZGVwYXlsb2FkZXIKCjIwMTQtMTAtMDUgMjE6MjQ6MjcgKzAyMDAgIFBldGVyIEcuIEJhdW0gPHBldGVyQGRyLWJhdW0ubmV0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBTdXBwb3J0IFJGNjQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNDUKCjIwMTQtMTAtMTEgMTE6MTg6NDIgKzExMDAgIERhdmlkIFNhbnNvbWUgPG1lQGRhdmlkc2Fuc29tZS5jb20+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IERvbid0IGNhbGwgaWlyZXF1YWxpemVyJ3MgdHJhbnNmb3JtX2lwIGluIHBhc3N0aHJvdWdoIG1vZGUKCSAgSXQgdHJpZXMgdG8gbWFwIHRoZSByZWFkLW9ubHkgYnVmZmVyIHdpdGggR1NUX01BUF9SRUFEV1JJVEUgYW5kIGNyYXNoZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4ODYKCjIwMTQtMTAtMTAgMTg6MzA6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc291cmNlOiBSZW5hbWUgc2VxbnVtLWJhc2UgdG8gc2VxbnVtLW9mZnNldCBpbiBjYXBzCgkgIFRoaXMgd2FzIG1vZGlmaWVkIGJhY2sgaW4gMS4wIGluIEdzdFJ0cEJhc2VQYXlsb2FkCgoyMDE0LTEwLTEwIDE4OjExOjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgcnRwZHRtZnNyYzogY2xvY2stYmFzZSBhbmQgc2VxbnVtLWJhc2UgLT4gdGltZXN0YW1wLW9mZnNldCBhbmQgc2VxbnVtLW9mZnNldAoJICBUaGVzZSB3ZXJlIHJlbmFtZWQgaW4gR3N0UlRQQmFzZVBheWxvYWQgaW4gMS4wCgoyMDE0LTEwLTEwIDE3OjMwOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IGNsb2NrLWJhc2UgYW5kIHNlcW51bS1iYXNlIC0+IHRpbWVzdGFtcC1vZmZzZXQgYW5kIHNlcW51bS1vZmZzZXQKCSAgVGhlc2Ugd2VyZSByZW5hbWVkIGluIEdzdFJUUEJhc2VQYXlsb2FkIGluIDEuMAoKMjAxNC0xMC0wNiAxNDoyMzoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuYzoKCSAgZ29vbTJrMTogcmVtb3ZpbmcgYmxvY2sgb2YgY29kZSB0aGF0IGRvZXMgbm90aGluZwoJICBUaGUgbG9vcCBpbiB6b29tRmlsdGVyU2V0UmVzb2x1dGlvbiBpcyBtZWFudCB0byBjaGFuZ2UgdGhlIHZhbHVlcyBpbiB0aGUKCSAgemYtPmZpcmVkZWNbXSBhcnJheS4gRWFjaCBpdGVyYXRpb24gd3JpdGVzIHRoZSB2YWx1ZSBvZiBkZWNjIG9udG8gdGhlIGFycnlhLAoJICBidXQgbm8gY29uZGl0aW9ucyB0aGF0IGNoYW5nZSB0aGUgdmFsdWUgb2YgZGVjYyBhcmUgZXZlciBtZXQgYW5kIHRoZSBhcnJheSBpcwoJICBmaWxsZWQgd2l0aCB6ZXJvIGZvciBlYWNoIGVsZW1lbnQuIFdoaWNoIGlzIHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZQoJICBhcnJheSBiZWZvcmUgdGhlIGxvb3AgYmVnaW5zLgoJICBUaGUgbG9vcCBkb2VzIG5vdGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNTMKCjIwMTQtMTAtMDQgMTc6MTc6MTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBsb2cgYWxsIGNsb2NrX3JhdGUgY2hhbmdlcyBhcyB3YXJuaW5ncy4KCSAgV2UgbmV2ZXIgaW5pdGlhbGl6ZSBjbG9ja19yYXRlIGV4cGxpY2l0bHksIHRoZXJlZm9yZSBpdCBpcyAwIGJ5IGRlZmF1bHQuIFRoZQoJICBwYXJhbWV0ZXIgaXMgYSB1aW50MzIgYW5kIHRoZSBvbmx5IGNhbGxlciBlbnN1cmUgdGhhdCBpdCBpcyA+MCwgdGhlcmVmb3JlIGl0CgkgIHdvbid0IGJlY29tZSAtMSBldmVyLgoKMjAxNC0xMC0wMiAxNDoyNjowOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogRml4IGxpZmV0aW1lIG9mIHN0cmVhbSBoZWFkZXJzIGFuZCBxdWV1ZWQgYnVmZmVycwoJICBTdHJlYW0gaGVhZGVycyBhcmUgdXBkYXRlZCB3aGVuZXZlciA6OnNldF9jYXBzIGlzIGNhbGxlZCwgc28gd2UgY2FuJ3QgYXNzdW1lCgkgIHRoZXknbGwgYmUgdmFsaWQgYmVmb3JlIHRoZSBtZXNzYWdlIGJvZHkgaXMgd3JpdHRlbiBvdXQuIFdlICpjYW4qIGFzc3VtZSB0aGF0CgkgIGZvciBxdWV1ZWQgYnVmZmVycywgYnV0IFNPVVBfTUVNT1JZX1NUQVRJQyBpcyBzdGlsbCB3cm9uZyBmb3IgdGhvc2UuCgkgIEFsc28sIGFkZCBzb21lIGRlYnVnIGxvZ2dpbmcgZm9yIHN0cmVhbSBoZWFkZXIgaW50ZXJhY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzcxCgoyMDE0LTEwLTAyIDAzOjI2OjIyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IG1lbW9yeSBsZWFrIHdoZW4gcHJlcGVuZGluZyBBRFRTIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzc2MQoKMjAxNC0wOS0yMyAxMDo0ODowOSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogaW50ZXJsZWF2ZSBzYW1wbGVzIGZvbGxvd2luZyB0aGUgRGVmYXVsdCBDaGFubmVsIE9yZGVyaW5nCgkgIEluIG9yZGVyIHRvIGhhdmUgYSBmdWxsIG1hcHBpbmcgYmV0d2VlbiBjaGFubmVsIHBvc2l0aW9ucyBpbiB0aGUgYXVkaW8KCSAgc3RyZWFtIGFuZCBsb3Vkc3BlYWtlciBwb3NpdGlvbnMsIHRoZSBjaGFubmVsLW1hc2sgYWxvbmUgaXMgbm90IGVub3VnaDoKCSAgdGhlIGNoYW5uZWxzIG11c3QgYmUgaW50ZXJsZWF2ZWQgZm9sbG93aW5nIHNvbWUgRGVmYXVsdCBDaGFubmVsIE9yZGVyaW5nCgkgIGFzIG1lbnRpb25lZCBpbiB0aGUgV0FWRUZPUk1BVEVYVEVOU0lCTEVbMV0gc3BlY2lmaWNhdGlvbi4KCSAgQXMgYSBEZWZhdWx0IENoYW5uZWwgT3JkZXJpbmcgdXNlIHRoZSBvbmUgaW1wbGllZCBieQoJICBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbiB3aGljaCBmb2xsb3dzIHRoZSBvcmRlcmluZyBkZWZpbmVkIGluIFNNUFRFCgkgIDIwMzYtMi0yMDA4WzJdLgoJICBOT1RFIHRoYXQgdGhlIHJlbGF0aXZlIG9yZGVyIGluIHRoZSBUb3AgTGF5ZXIgaXMgbm90IGV4YWN0bHkgdGhlIHNhbWUgYXMKCSAgdGhlIG9uZSBmcm9tIHRoZSBXQVZFRk9STUFURVhURU5TSUJMRVsxXSBzcGVjaWZpY2F0aW9uOyBsZXQncyBob3BlIHVzZXJzCgkgIHVzaW5nIHNvIG1heSBjaGFubmVscyBhcmUgYWxyZWFkeSBhd2FyZSBvZiBzdWNoIGRpc2NyZXBhbmNpZXMuCgkgIFsxXSBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9oYXJkd2FyZS9kbjY1MzMwOCUyOHY9dnMuODUlMjkuYXNweAoJICBbMl0gaHR0cDovL3d3dy5pdHUuaW50L2Rtc19wdWIvaXR1LXIvb3BiL3JlcC9SLVJFUC1CUy4yMTU5LTItMjAxMS1QREYtRS5wZGYKCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxMjcKCjIwMTQtMTAtMDIgMTA6MTA6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFNlbmQgQ0FQUyBldmVudCBhZnRlciB0aGUgcGFkIHdhcyBhY3RpdmF0ZWQKCSAgT3RoZXJ3aXNlIHRoZSBDQVBTIGV2ZW50IHdpbGwgYmUgZHJvcHBlZCBhbmQgd2UgbmV2ZXIgY29uZmlndXJlIGFueSBjYXBzIGF0CgkgIGFsbCwgbGVhZGluZyB0byB3ZWlyZCBiZWhhdmlvdXIgaW4gbWFueSBzaXR1YXRpb25zLiBFc3BlY2lhbGx5IGhlYWRlcgoJICByZXdyaXRpbmcgaXMgbm90IGdvaW5nIHRvIHdvcmsgaWYgYSBjYXBzZmlsdGVyIGlzIGFmdGVyIHdhdmVuYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzczNQoKMjAxNC0xMC0wMSAyMzoxMjozMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogQWRkIHNvbWUgbW9yZSB1c2VmdWwgZGVidWcgbG9nZ2luZwoKMjAxNC0xMC0wMSAyMzowNTowMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogRnJlZSBxdWV1ZWQgYnVmZmVycyBpbiA6OnJlc2V0CgkgIDo6cmVuZGVyIHNldHMgYSBuZXcgY2FsbGJhY2sgZm9yIHdyaXRpbmcgb3V0IG5ldyBidWZmZXJzIG9ubHkgaWYgdGhlcmUgYXJlbid0CgkgIGFscmVhZHkgYnVmZmVycyBxdWV1ZWQgZm9yIHdyaXRpbmcgd2l0aCBhIHByZXZpb3VzbHktc2NoZWR1bGVkIGNhbGxiYWNrLgoJICBIb3dldmVyLCBpZiB0aGUgcHJldmlvdXNseS1zY2hlZHVsZWQgY2FsbGJhY2sgaXMgaW50ZXJydXB0ZWQgYnkgYSBzdGF0ZSBjaGFuZ2UKCSAgKGVpdGhlciBtYW51YWxseSBvciBkdWUgdG8gYW4gZXJyb3IpIGFuZCB0aGVyZSBhcmUgc3RpbGwgYnVmZmVycyBpbiB0aGUgcXVldWUsCgkgIHJlc3RhcnRpbmcgdGhlIHBpcGVsaW5lIHdpbGwgcmVzdWx0IGluIGJ1ZmZlcnMgYmVpbmcgcXVldWVkIGZvcmV2ZXIsIGFuZCBubwoJICBjYWxsYmFja3Mgd2lsbCBldmVyIGJlIHNjaGVkdWxlZCwgYW5kIG5vIGJ1ZmZlcnMgd2lsbCBiZSB3cml0dGVuIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzczOQoKMjAxNC0xMC0wMSAxNzoyOToyOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEFjdHVhbGx5IHVzZSB0aGUgY29ycmVjdCBHc3RWaWRlb0luZm8gZm9yIGNvbnZlcnNpb24KCjIwMTQtMTAtMDEgMTc6MjQ6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBSZXZlcnQgdGhlIGxhc3QgY29tbWl0IGFuZCBoYW5kbGUgcmVzb2x1dGlvbnMgZGlmZmVyZW5jZXMgcHJvcGVybHkKCSAgVGhpcyBpcyBhYm91dCBjb252ZXJ0aW5nIHRoZSBmb3JtYXQsIG5vdCBhYm91dCBjb252ZXJ0aW5nIGFueSB3aWR0aHMgYW5kCgkgIGhlaWdodHMuIFN1YmNsYXNzZXMgYXJlIGV4cGVjdGVkIHRvIGhhbmRsZXIgZGlmZmVyZW50IHJlc29sdXRpb25zIHRoZW1zZWx2ZXMsCgkgIGxpa2UgdGhlIHZpZGVvbWl4ZXJzIGFscmVhZHkgZG8gcHJvcGVybHkuCgoyMDE0LTEwLTAxIDE3OjEyOjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogR3N0VmlkZW9Db252ZXJ0ZXIgY3VycmVudGx5IGNhbid0IHJlc2NhbGUgYW5kIHdpbGwgYXNzZXJ0CgkgIExlYWRzIHRvIHVnbHkgYXNzZXJ0aW9ucyBpbnN0ZWFkIG9mIHByb3Blcmx5IGVycm9yaW5nIG91dDoKCSAgQ1JJVElDQUwgKio6IGdzdF92aWRlb19jb252ZXJ0ZXJfbmV3OiBhc3NlcnRpb24gJ2luX2luZm8tPndpZHRoID09IG91dF9pbmZvLT53aWR0aCcgZmFpbGVkCgoyMDE0LTA5LTMwIDExOjM1OjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA4ZW5jL3ZwOWVuYzogUHJvdGVjdCB0aGUgZW5jb2RlciB3aXRoIGEgbXV0ZXggaW4gYWxsIHNpdHVhdGlvbnMKCjIwMTQtMDktMzAgMTE6MzE6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IEFsbG93IGNhcHMgcmVuZWdvdGlhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MzI5CgoyMDE0LTA5LTMwIDExOjI4OjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaW5pc2goKSBhbmQgZHJhaW4oKSBzaG91bGQgcmV0dXJuIGEgR3N0Rmxvd1JldHVybgoKMjAxNC0wMy0xNCAxMjo1OTowMiArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxsb3cgY2FwcyByZW5lZ290aWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYzMjkKCjIwMTQtMDktMjkgMTE6NDk6NDUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHNldCBjb2xvcnNwYWNlIGZvciBvdXRwdXQgZGV2aWNlcwoJICBXaGVuIHRoZSB2NGwyIGRldmljZSBpcyBhbiBvdXRwdXQgZGV2aWNlLCB0aGUgYXBwbGljYXRpb24gc2hhbGwgc2V0IHRoZQoJICBjb2xvcnNwYWNlLiBTbyBtYXAgR1N0cmVhbWVyIGNvbG9yaW1ldHJ5IGluZm8gdG8gVjRMMiBjb2xvcnNwYWNlIGFuZCBzZXQKCSAgb24gc2V0X2Zvcm1hdC4gSW4gY2FzZSB3ZSBoYXZlIG5vIGNvbG9yaW1ldHJ5IGluZm9ybWF0aW9uLCB3ZSB0cnkgdG8KCSAgZ3Vlc3MgaXQgYWNjb3JkaW5nIHRvIHBpeGVsIGZvcm1hdCBhbmQgdmlkZW8gc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU3OQoKMjAxNC0wOS0yOSAyMjo0ODoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBhYm91dCB0aHJlYWRpbmcgYW5kIHN5bmNocm9uaXNhdGlvbgoJICBUaGlzIGdpdmVzIGEgcXVpY2sgaW50cm9kdWN0aW9uIHRvIGhvdyB0aGUgcHVsc2VzaW5rL3B1bHNlc3JjIGNvZGUKCSAgaW50ZXJhY3RzIHdpdGggdGhlIHBhX3RocmVhZGVkX21haW5sb29wIHRoYXQgd2Ugc3RhcnQgdXAgdG8gY29tbXVuaWNhdGUKCSAgd2l0aCB0aGUgc2VydmVyLgoKMjAxNC0wOS0yOSAyMDoxODowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogTWFrZSBlbWl0dGluZyBzdHJlYW0gc3RhdHVzIG1lc3NhZ2VzIHN5bmNocm9ub3VzCgkgIFRoZSBzdHJlYW0gc3RhdHVzIG1lc3NhZ2VzIGFyZSBlbWl0dGVkIGluIHRoZSBQQSBtYWlubG9vcCB0aHJlYWQsIHdoaWNoCgkgIG1lYW5zIHRoZSBtYWlubG9vcCBsb2NrIGlzIHRha2VuLCBmb2xsb3dlZCBieSB0aGUgR3N0IG9iamVjdCBsb2NrIChieQoJICBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UoKSkuIEluIGFsbCBvdGhlciBsb2NhdGlvbnMsIHRoZSBvcmRlciBvZgoJICBsb2NraW5nIGlzIHJldmVyc2VkICh0aGlzIGlzIHVuYXZvaWRhYmxlIGluIGEgYnVuY2ggb2YgY2FzZXMgd2hlcmUgdGhlCgkgIG9iamVjdCBsb2NrIGlzIHRha2VuIGJ5IEdzdEJhc2VTaW5rIG9yIEdzdEF1ZGlvQmFzZVNpbmssIGFuZCB0aGVuIHdlIGdldAoJICBjb250cm9sIHRvIHRha2UgdGhlIG1haW5sb29wIGxvY2spLgoJICBUaGUgb25seSB3YXkgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIGRlZmVyIGNhbGxiYWNrIGZvciBzdHJlYW0gc3RhdHVzCgkgIG1lc3NhZ2VzIGRvZXNuJ3QgZGVhZGxvY2sgaXMgdG8gZWl0aGVyIHN0b3AgcG9zdGluZyB0aG9zZSBtZXNzYWdlcywgb3IKCSAgbWFrZSBzdXJlIHRoYXQgdGhlIG1lc3NhZ2UgZW1pc3Npb24gaXMgY29tcGxldGVkIGJlZm9yZSB3ZSBwcm9jZWVkIHRvCgkgIGFueSBwb2ludCB0aGF0IG1pZ2h0IHRha2UgdGhlIG9iamVjdCBsb2NrIGJlZm9yZSB0aGUgbWFpbmxvb3AgbG9jawoJICAod2hpY2ggaXMgd2hhdCB3ZSBkbyBhZnRlciB0aGlzIHBhdGNoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA3MQoKMjAxNC0wOS0xNiAxMjoxMjo0OSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHByaW50IGNoYW5uZWwgbWFza3MgaW4gaGV4YWRlY2ltYWwKCjIwMTQtMDktMjcgMTY6MDE6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuaDoKCSAgdjRsMjogcmVtb3ZlIHJlZHVuZGFudCBzdHJ1Y3QgZGVjbGFyYXRpb24KCjIwMTQtMDktMjYgMTM6NDY6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBnc3RydHNwc3JjLmM6NzkzOToxMTogZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdHc3RTRFBSZXN1bHQnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RSVFNQUmVzdWx0JyBbLVdlcnJvciwtV2VudW0tY29udmVyc2lvbl0KCSAgcmVzID0gZ3N0X3NkcF9tZXNzYWdlX25ldyAoJnNkcCk7CgkgIH4gXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0cnRzcHNyYy5jOjc5NDQ6MTE6IGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnR3N0U0RQUmVzdWx0JyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZQoJICAnR3N0UlRTUFJlc3VsdCcgWy1XZXJyb3IsLVdlbnVtLWNvbnZlcnNpb25dCgkgIHJlcyA9IGdzdF9zZHBfbWVzc2FnZV9wYXJzZV91cmkgKHVyaSwgc2RwKTsKCSAgfiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTQtMDktMjUgMTU6MDE6MTQgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1ha2UgZGVtdXhlciByZXVzYWJsZQoJICBSZW1vdmUgcGFkcyBmcm9tIGZsb3cgY29tYmluZXIgYW5kIHJlc2V0IGxhc3QKCSAgZmxvdyByZXR1cm4gdG8gRkxPV19PSyBieSByZXNldHRpbmcgdGhlIGZsb3cgY29tYmluZXIuCgkgIFRoaXMgcHJldmVudHMgRkxPV19GTFVTSElORyB3aGVuIHRyeWluZyB0byByZS11c2UgdGhlCgkgIGRlbXV4ZXIgYWZ0ZXIgc2V0dGluZyBpdCBiYWNrIHRvIE5VTEwvUkVBRFkgc3RhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzczNTkKCjIwMTQtMDktMjQgMTY6NDY6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMub3JjOgoJICB2aWRlb21peGVyOiB1c2UgdmlkZW8gbGlicmFyeSBjb2RlIGluc3RlYWQgb2YgY29weQoKMjAxNC0wOS0xOCAxNjozOToxOSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogQWRkZWQgaW5kZXggY2hlY2sgYmVmb3JlIHVzaW5nIHRoZSBpbmRleAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODc4CgoyMDE0LTA5LTIzIDIzOjMzOjM3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gbm90IGluZmVyIERUUyBvbiBidWZmZXJzIGZyb20gc3BhcnNlIHN0cmVhbXMuCgkgIERUUyBkZWx0YSBpcyB1c2VkIHRvIGNhbGN1bGF0ZSBzYW1wbGUgZHVyYXRpb24uIElmIGJ1ZmZlciBoYXMgbWlzc2luZyBEVFMsIHdlIHRha2UgZWl0aGVyIHNlZ21lbnQgc3RhcnQgb3IgcHJldmlvdXMgYnVmZmVyIGVuZCB0aW1lLCB3aGljaGV2ZXIgaXMgbGF0ZXIuCgkgIFRoaXMgbXVzdCBvbmx5IGJlIGRvbmUgZm9yIG5vbiBzcGFyc2Ugc3RyZWFtcywgc3BhcnNlIHN0cmVhbXMgY2FuIGhhdmUgZ2FwcyBiZXR3ZWVuIGJ1ZmZlcnMgKHdoaWNoIGlzIGhhbmRsZWQgbGF0ZXIgYnkgYWRkaW5nIGV4dHJhIGVtcHR5IGJ1ZmZlciB3aXRoIGR1cmF0aW9uIHRoYXQgZmlsbHMgdGhlIGdhcCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzA5NQoKMjAxNC0wOS0xOCAxNzowODozNyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9pZnMuYzoKCSAgZ29vbTogQ2xhcmlmaWVkIHByZWNlZGVuY2UgYmV0d2VlbiAlIGFuZCA/CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODcKCjIwMTQtMDktMTggMTc6NTk6MzEgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBjbGFyaWZ5IGV4cHJlc3Npb24gc28gb3BlcmF0b3IgcHJlY2VkZW5jZSBpcyBjbGVhcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTAzCgoyMDE0LTA5LTE4IDE2OjA0OjAzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIE1pc2NlbGxhbmVvdXMgbWlub3IgY2xlYW51cHMKCSAgRml4IHJlZHVuZGFudCB2YXJpYWJsZXMgYW5kIGFzc2lnbm1lbnRzLAoJICBhbmQgdW5yZWFjaGFibGUgYnJlYWtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODc1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODgwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODkwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODk0CgoyMDE0LTA5LTI0IDAwOjEyOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiByZW1vdmUgZHVwbGljYXRlIGFzc2lnbm1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTcKCjIwMTQtMDktMjMgMjI6NTU6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE9ubHkgY2FsY3VsYXRlIHdpdGggZHVyYXRpb25zICE9IC0xCgoyMDE0LTA5LTIzIDE5OjA4OjQ4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogY29sbGVjdCBwYWQgZm9yIHNwYXJzZSBzdHJlYW0gc2hvdWxkIGJlIGNyZWF0ZWQgd2l0aCBsb2NrIHNldCB0byBmYWxzZQoJICBBdm9pZHMgd2FpdGluZyBmb3IgYnVmZmVycyBmcm9tIHNwYXJzZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcwOTUKCjIwMTQtMDktMjMgMTk6MDc6MjUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggc3VidGl0bGUgYnVmZmVyIGR1cmF0aW9uIGFuZCBzdHJpcCBudWxsIHRlcm1pbmF0aW9uCgkgIFN0cmlwIHRoZSBcMCBvZmYgdGhlIHN1YnRpdGxlIGFzIHdlIGFscmVhZHkga25vdyB0aGUgc2l6ZSBhbmQgYWxzbyByZW1lbWJlcgoJICB0byBzZXQgdGhlIGR1cmF0aW9uIGFzIGJ1ZmZlciBjb3B5aW5nIGRvZXNuJ3QgZG8gaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcwOTUKCjIwMTQtMDktMjMgMTk6MDY6MTggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiBtb3ZlIHN1YnRpdGxlIGxheWVyIGFib3ZlIHZpZGVvIGFuZCBzZXQgYWx0ZXJuYXRlIGdyb3VwCgkgIGxheWVyIC0xIGlzIGFib3ZlIHZpZGVvLCB0aGF0IGlzIDAKCSAgQW5kIGhhdmluZyBhbGwgc3VidGl0bGVzIGluIGFsdGVybmF0ZSBncm91cCAyIG1lYW5zIHRoYXQgb25seSBvbmUKCSAgc2hvdWxkIGJlIHNlbGVjdGVkIGF0IGEgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzA5NQoKMjAxNC0wOS0yMyAwOTo0NzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIGNoZWNrL3NvdXA6IFRlbXBvcmFyaWx5IGRpc2FibGUgR19FTkFCTEVfRElBR05PU1RJQwoJICBUaGUgU09VUF9TRVJWRVJfUE9SVCBwcm9wZXJ0eSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIHJlY2VudCBsaWJzb3VwCgkgIHZlcnNpb25zLgoKMjAxNC0wOS0yMyAwOTo0MzowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIGNoZWNrL3NvdXA6IERlZmluZSBtaW5pbXVtIHZlcnNpb24gcmVxdWlyZWQKCSAgVG8gYXZvaWQgZGVwcmVjYXRpb24gd2FybmluZ3MKCjIwMTQtMDktMTkgMTk6MTQ6MjggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSGFuZGxlIG1wNGEgd2l0aG91dCBFU0RTIGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk4NgoKMjAxNC0wOS0yMiAxNjoxNToyNyArMDIwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCBidWlsZCBwcm9ibGVtIHdpdGhvdXQgWEZJWEVTCgoyMDE0LTA5LTE5IDE0OjM0OjEzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBSZW1vdmVkIHVudXNlZCBzdHJ1Y3R1cmUgbWVtYmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODgzCgoyMDE0LTA5LTExIDEzOjQ4OjQ0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGlzb21wNDogZml4IHdyb25nIERBUiBjYWxjdWxhdGlvbiBmb3IgUEFSIDw9IDEKCSAgQ0lEICMxMjI2NDUyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOTYKCjIwMTQtMDktMTggMTY6NTk6NTIgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHY6IFJlbW92ZWQgdW5yZWFjaGFibGUgYnJlYWsgc3RhdGVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODg0CgoyMDE0LTA5LTE3IDE2OjM3OjExICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZG8gbm90IGxlYWsgZW5jc2luayBwYWQgaW4gZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODA3CgoyMDE0LTA5LTE3IDE2OjIzOjIxICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZG8gbm90IGxlYWsgbmV3IHN0cmVhbSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODA1CgoyMDE0LTA5LTE1IDA5OjA4OjE4ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIHk0bWVuYzogcG9ydCB5NG1lbmMgdG8gdXNlIEdzdFZpZGVvRW5jb2RlciBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUwODUKCjIwMTQtMDktMTcgMTM6NTU6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IE9TU3RhdHVzIGlzIG5vdCBhIGZvdXJjYywgc28gZG9uJ3QgcHJpbnQgaXQgYXMgb25lLi4uCgoyMDE0LTA5LTE2IDE0OjI2OjA4ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkbyBub3QgbGVhayB1aWQgYWZ0ZXIgcGFyc2luZyBUT0MgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczOQoKMjAxNC0wOS0xNiAyMjo0NzoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogRGVjbGFyZSBzb21lIG1vcmUgcmVxdWlyZWQgY2FwcyBmaWVsZHMgaW4gdGhlIHNpbmsgdGVtcGxhdGUgY2FwcwoJICBOb3cgb25seSBtaXNzaW5nIGFyZSB3aWR0aCBhbmQgaGVpZ2h0LCB3aGljaCBhcmUgZXhwcmVzc2VkIGFzIHN0cmluZ3MKCSAgZm9yIFJUUC4uLiBzbyB3ZSBjYW4ndCBwdXQgdGhlbSBpbnRvIHRoZSB0ZW1wbGF0ZSBjYXBzLgoKMjAxNC0wOS0xNiAxNjo0NjowNyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmg6CgkgIGdka3BpeGJ1ZmRlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTYgMTE6MjY6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgYW5kIHVzZSBjb3JyZWN0IGRlY29kZXIgdmFyaWFibGUgbmFtZQoKMjAxNC0wOS0xNiAxMToyNTo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wOS0xNiAxMzoyNDoxNSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdnZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNiAxMzoyMzoxNiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE1IDE0OjM5OjQxICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgeGltYWdlc3JjOiBSZW1vdmUgdW51c2VkIHNjcmVlbi1udW0gcHJvcGVydHkKCSAgVGhlIHNjcmVlbiBudW1iZXIgY2FuIGJlIHN0aWxsIHNwZWNpZmllZCBhcyBwYXJ0IG9mIHRoZSBkaXNwbGF5LW5hbWUKCSAgcHJvcGVydHkgKGUuZy4gZm9yIHNjcmVlbiAxIG9mIGRpc3BsYXkgMCB1c2UgZGlzcGxheS1uYW1lPSI6MC4xIikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxMjIKCjIwMTQtMDktMDQgMTY6MTA6NTEgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBEcmF3IHRoZSBjdXJzb3Igb25seSB3aGVuIGl0IGlzIGFjdGl2ZSBpbiB0aGUgY2FwdHVyaW5nIHJlZ2lvbgoJICBVc2UgWFF1ZXJ5UG9pbnRlciB0byBjaGVjayB0aGF0IHRoZSBwb2ludGVyIGlzIGFjdHVhbGx5IGFjdGl2ZSBpbnNpZGUKCSAgdGhlIGNhcHR1cmluZyByZWdpb24uCgkgIFRoaXMgcHJldmVudHMgZHJhd2luZyB0aGUgY3Vyc29yIHdoZW4gdGhlIHBvaW50ZXIgaXMgcGFydGlhbGx5IG91dHNpZGUKCSAgb2YgdGhlIGNhcHR1cmVkIHJlZ2lvbiBidXQgbm90IGFjdGl2ZSBpbnNpZGUgdGhlIHJlZ2lvbjsgaW4gcGFydGljdWxhcgoJICB0aGlzIGF2b2lkcyBkcmF3aW5nIHRoZSAid2luZG93IHJlc2l6ZSIgY3Vyc29yIHNoYXBlcyB0byB0aGUgY2FwdHVyZWQKCSAgaW1hZ2Ugd2hlbiB0aGUgbW91c2UgcG9pbnRlciBjcm9zc2VzIGEgd2luZG93IGJvcmRlci4KCSAgTk9URSB0aGF0IHRoaXMgaXMgbm90IG9ubHkgYW4gb3B0aW1pemF0aW9uLCB0aGlzIGFsc28gaGFwcGVuIHRvIGZpeAoJICBhIHNlcmlvdXMgcHJvYmxlbSBpbiBtdWx0aS1zY3JlZW4gc2V0dXBzLgoJICBCZWNhdXNlIFhGaXhlcyBnaXZlcyBubyBpbmZvcm1hdGlvbiBvZiB3aGF0IHNjcmVlbiB0aGUgcG9pbnRlciBpcyBvbiwKCSAgeGltYWdlc3JjIHdhcyBhbHdheXMgZHJhd2luZyB0aGUgY3Vyc29yIG9uIHRoZSBjYXB0dXJlZCBzY3JlZW4gZXZlbiBpZgoJICB0aGUgbW91c2UgcG9pbnRlciB3YXMgb24gYW5vdGhlciBzY3JlZW4uCgkgIEZvciBleGFtcGxlLCB3aGVuIGNhcHR1cmluZyBmcm9tIHNjcmVlbiAxIChpLmUuIGRpc3BsYXktbmFtZT0iOjAuMSIpIHRoZQoJICBjdXJzb3Igd2FzIGRyYXduIGluIHRoZSBjYXB0dXJlZCBpbWFnZSBldmVuIHdoZW4gdGhlIG1vdXNlIHBvaW50ZXIgd2FzCgkgIGFjdHVhbGx5IG9uIHNjcmVlbiAwLCB3aGljaCBpcyB3cm9uZyBhbmQgdmlzdWFsbHkgY29uZnVzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNjQ2CgoyMDE0LTA5LTA1IDExOjMzOjMxICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IGRyYXdpbmcgdGhlIGN1cnNvciB3aGVuIGl0IGlzIG91dHNpZGUgdGhlIGNhcHR1cmluZyByZWdpb24KCSAgV2hlbiB0aGUgY3Vyc29yIGlzIHBhcnRpYWxseSBvciB0b3RhbGx5IG91dCBvZiB0aGUgY2FwdHVyaW5nIHJlZ2lvbiBvbgoJICB0aGUgdG9wIHNpZGUgb3Igb24gdGhlIGxlZnQgc2lkZSwgaXQgZ2V0cyBkcmF3biBmdWxseSBpbnNpZGUgb2YgdGhlCgkgIHJlZ2lvbiB3aXRoIGl0cyBjb29yZGluYXRlcyByb3VuZGVkIHVwIHRvIHRoZSBsZWZ0IG9yIHRvIHRoZSB0b3AgYm9yZGVyLgoJICBUaGlzIGlzIGltbWVkaWF0ZWx5IG5vdGljZWFibGUgd2hlbiB1c2luZyB0aGUgeGlkIHByb3BlcnR5IHRvIGNhcHR1cmUKCSAgYSBzcGVjaWZpYyB3aW5kb3cuCgkgIFRvIGZpeCB0aGUgaXNzdWUsIGFsbG93IG5lZ2F0aXZlIGN4IGFuZCBjeCBjb29yZGluYXRlcyB3aGVuIGNoZWNraW5nIHRoZQoJICBib3VuZGFyaWVzIGJlZm9yZSBkcmF3aW5nIHRoZSBjdXJzb3IuCgkgIE5PVEUgdGhhdCB0aGUgYm91bmRhcmllcyBjaGVja2luZyBjYWxjdWxhdGlvbnMgc3RpbGwgYWxsb3dzIHRoZSBjdXJzb3IKCSAgdG8gYmUgZHJhd24gd2hlbiBpdCBpcyBvbmx5IHBhcnRpYWxseSBvdXRzaWRlIG9mIHRoZSBjYXB0dXJpbmcgcmVnaW9uLAoJICBidXQgdGhpcyBtYWtlcyBzZW5zZSBhbmQgZ2l2ZXMgYSBtb3JlIHBsZWFzaW5nIHZpc3VhbCBiZWhhdmlvdXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA2NDYKCjIwMTQtMDktMDUgMDA6MTU6MzAgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgeGltYWdlc3JjOiBGaXggdGhlIGRlc3RpbmF0aW9uIGNvb3JkaW5hdGVzIG9mIHRoZSBjdXJzb3IKCSAgWEZpeGVzIHByb3ZpZGVzIHRoZSBjdXJzb3IgY29vcmRpbmF0ZXMgcmVsYXRpdmUgdG8gdGhlIHJvb3Qgd2luZG93LCB0aGlzCgkgIGlzIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgd2hlbiB1c2luZyB0aGUgeGlkIHByb3BlcnR5IHRvIGNhcHR1cmUKCSAgYSBzcGVjaWZpYyB3aW5kb3csIHRoZSByZXN1bHQgaXMgdGhhdCB0aGUgY3Vyc29yIGdldHMgZHJhd24gYXQgdGhlIHdyb25nCgkgIHBvc2l0aW9uLgoJICBJbiBvcmRlciB0byBmaXggdGhpcyBjb25zaWRlciB0aGUgd2luZG93IGxvY2F0aW9uIHdoZW4gY2FsY3VsYXRpbmcgdGhlCgkgIGN1cnNvciBwb3NpdGlvbiBpbiB0aGUgZGVzdGluYXRpb24gaW1hZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA2NDYKCjIwMTQtMDktMTUgMTQ6NTE6MjQgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8cGV0ZXJAa29yc2dhYXJkLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogT19DTE9FWEVDIG5lZWRzIF9HTlVfU09VUkNFCgkgIFNpbWlsYXIgdG8gOTRmM2Q2ZmMgLyBieiA3MDk0MjMKCSAgT24gc29tZSBzeXN0ZW1zIChFLkcuIHVDbGliYyBhbmQgb2xkZXIgR2xpYmMgdmVyc2lvbnMpLCBPX0NMT0VYRUMgaXMgb25seQoJICBkZWZpbmVkIHdoZW4gX0dOVV9TT1VSQ0UgaXMgc3BlY2lmaWVkLCBzbyBkbyBzby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjY3MAoKMjAxNC0wOS0xNSAxODoxMTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IHVwZGF0ZSB0byAxLjAgdHJhbnNmb3JtX2NhcHMgc2VtYXRpY3MKCSAgSW4gMS4wLCB3ZSBwYXNzIHRoZSBjb21wbGV0ZSBjYXBzIHRvIHRyYW5zZm9ybV9jYXBzIHRvIGFsbG93IGZvciBiZXR0ZXIKCSAgb3B0aW1pemF0aW9ucy4gTWFrZSB0aGlzIGZ1bmN0aW9uIGFjdHVhbGx5IHdvcmsgb24gbm9uLXNpbXBsZSBjYXBzCgkgIGluc3RlYWQgb2YganVzdCBpZ25vcmluZyB0aGUgY29uZmlndXJlZCBmaWx0ZXIgY2Fwcy4KCjIwMTQtMDktMDggMTQ6MDY6MDAgKzAyMDAgIFBldGVyIEcuIEJhdW0gPHBldGVyQGRyLWJhdW0ubmV0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiB1c2UgV0FWRV9GT1JNQVRfRVhURU5TSUJMRSBmb3IgbW9yZSB0aGFuIDIgY2hhbm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQ0NAoKMjAxNC0wOS0xMiAxNTowNjo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRml4IHBhcnNpbmcgb2YgYWR0bCBjaHVua3MKCSAgV2UgaGF2ZSB0byBza2lwIDEyIGJ5dGVzIG9mIGRhdGEgZm9yIHRoZSBjaHVuaywgYW5kIHRoZSBkYXRhIHNpemUKCSAgcGFzc2VkIHRvIHRoZSBzdWItY2h1bmsgcGFyc2luZyBmdW5jdGlvbnMgc2hvdWxkIGhhdmUgNCBieXRlcyBsZXNzCgkgIHRoYW4gdGhlIGRhdGEgc2l6ZS4KCSAgQWxzbyB3aGVuIHBhcnNpbmcgdGhlIHN1Yi1jaHVua3MsIGNoZWNrIGlmIHdlIGFjdHVhbGx5IGhhdmUgZW5vdWdoCgkgIGRhdGEgdG8gcmVhZCBpbnN0ZWFkIG9mIGp1c3QgY3Jhc2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNjYKCjIwMTQtMDktMTIgMTA6NTU6MjMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBpbmNsdWRlIHN0cmluZy5oIGZvciBtZW1jbXAgYW5kIG1lbXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNjUyOAoKMjAxNC0wOS0xMiAxMzozNjoxOCArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBiaXR3aXNlIE9SIHRoZSBzYW1lIGZsYWcgdHdpY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzY1NDMKCjIwMTQtMDktMTIgMTA6MzU6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaGFuZGxlIHJlYWwgYXVkaW8gMjhfOAoJICBGaXhlcyBkdXBsaWNhdGUgY2hlY2sgZm9yIDE0XzQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTQzCgoyMDE0LTA5LTExIDE0OjQ2OjA5ICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkb24ndCBPUiB0aGUgc2FtZSBmbGFnIHR3aWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0NjIKCjIwMTQtMDktMTEgMTI6NTI6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSWYgdGhlIHNlcnZlciByZXBvcnRzICJBY2NlcHQtUmFuZ2VzOiBub25lIiBkb24ndCB0cnkgcmFuZ2UgcmVxdWVzdHMKCjIwMTQtMDktMTAgMDk6NTA6NDUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogVW5yZWYgcG9vbCBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Mzg0CgoyMDE0LTA5LTA5IDE5OjAzOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRG9uJ3QgcmFuayBpdCBmb3Igbm93CgkgIFRoaXMgd2lsbCBwcmV2ZW50IHRoZSBjb252ZXJ0ZXIgdG8gYmUgcGlja2VkIGF1dG9tYXRpY2FsbHkgaW4gY2FzZQoJICBzb21lb25lIGltcGxlbWVudCBkeW5hbWljIGNvbnZlcnRlciBzZWxlY3Rpb24gc3VwcG9ydC4gSSdkIGxpa2UgdGhpcwoJICB0byBiZSByYW5rZWQgb25seSBmb3Iga25vd24gZGV2aWNlLCBhcyBpdCdzIGhhcmQgdG8gYmUgc3VyZSBhIGRldmljZSBpcwoJICBhIGNvbnZlcnRlciBzdWl0ZWQgZm9yIGdlbmVyYWwgcHVycG9zZS4gUmUtbmVnb3RpYXRpb24gaXMgYWxzbyBuZWVkZWQKCSAgYmVmb3JlIHdlIGNhbiByYW5rIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjA3CgoyMDE0LTA5LTA1IDA4OjI5OjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiBEZXRlY3QgYmFkIGRyaXZlcnMgdGltZXN0YW1wcwoJICBFdmVuIHRob3VnaCB0aGUgVVZDIGRyaXZlciBkbyBhIGdyZWF0IGRlYWwgb2YgZWZmb3J0IHRvIHByZXZlbnQgYmFkCgkgIHRpbWVzdGFtcCB0byBiZSBzZW50IHRvIHVzZXJzcGFjZSwgdGhlcmUgc3RpbGwgZXhpc3QgVVZDIGhhcmR3YXJlIHRoYXQKCSAgYXJlIHNvIGJ1Z2d5IHRoYXQgdGhlIHRpbWVzdGFtcCBlbmR1cCBuZWFybHkgcmFuZG9tLiBUaGlzIGNvZGUgZGV0ZWN0CgkgIGFuZCBpZ25vcmUgdGltZXN0YW1wIGZyb20gdGhlc2UgZHJpdmVycywgbWFraW5nIHRoZXNlIGNhbWVyYSB1c2FibGUuCgkgIFRoaXMgaGFzIGJlZW4gdGVzdGVkIG9uIGJvdGggaW52YWxpZCBhbmQgdmFsaWQgY2FtZXJhcywgbWFraW5nIHN1cmUgaXQKCSAgZG9lcyBub3QgdHJpZ2dlciBmb3IgdmFsaWQgY2FtZXJhcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjkxMAoKMjAxNC0wOC0yOSAxNzowOTozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBXb3JrYXJvdW5kIGRyaXZlciB0aGF0IGRvbid0IHN1cHBvcnQgUkVRQlVGUygwKQoJICBUaGVyZSBpcyBzdGlsbCBhcm91bmQgMTggZHJpdmVycyBub3QgeWV0IHBvcnRlZCB0byB2aWRlb2J1ZjIuIFRoZXNlIGRyaXZlcgoJICBkb24ndCBzdXBwb3J0IGZyZWVpbmcgYnVmZmV0cnMgdGhyb3VnaCBSRVFCVUZTKDApIGhlbmNlIGZvciB0aGVzZSB0aGUKCSAgbWVtb3J5IHR5cGUgcHJvYmluZyBmYWlscy4gSW4gb3JkZXIgdG8gZ2FpbiBiYWNrIG91ciBwcmV2aW91cyBiZWhhdmlvdXIgaW4KCSAgcHJlc2VuY2Ugb2YgdGhlc2UsIHdlIGltcGxlbWVudCBhIHdvcmthcm91bmQgdGhhdCBhc3N1bWluZyBNTUFQIGlzCgkgIHN1cHBvcnRlZC4gTm90ZSB0aGF0IGFuIGFsbG9jYXRvciBpcyBvbmx5IGNyZWF0ZWQgZm9yIGRldmljZSB3aXRoCgkgIFNUUkVBTUlORyBzdXBwb3J0IGluIHRoZSBkZXZpY2UgY2FwYWJpbGl0aWVzLiBJbiBzdWNoIGNhc2Ugb25lIG9mIE1NQVAsCgkgIFVTRVJQVFIgYW5kIERNQUJVRiBpcyByZXF1aXJlZC4gVGhvdWdoIERNQUJVRiBjYW1lIGFmdGVyd2FyZCwgc28gaXMKCSAgbm90IGFuIG9wdGlvbiBhbmQgaW4gcHJhY3RpY2Ugbm9uZSBvZiB0aGVzZSBkcml2ZXJzIHdpbGwgb25seSBkbyBVU0VSUFRSLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYwCgkgIEFsc28tYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoyMDE0LTA5LTA0IDE1OjExOjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogTWVyZ2UgbWluX2J1ZmZlcnNfZm9yKiB2YXJpYWJsZSBpbnRvIG9uZQoJICBSZXVzZSB0aGUgc2FtZSBtaW5fYnVmZmVycyB2YXJpYWJsZSBmb3IgYm90aCBjYXB0dXJlIGFuZCBvdXRwdXQsIHRoaXMKCSAgcmVkdWNlIHRoZSBsZW5ndGggb2YgbGluZXMgYW5kIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA3MgoKMjAxNC0wOS0wNCAxODozNTo0NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBzZXQgbWluX2xhdGVuY3kgZm9yIG91dHB1dCBkZXZpY2UgYWNjb3JkaW5nIHRvIHJlcXVpcmVkIG1pbmltdW0gbnVtYmVyIG9mIGJ1ZmZlcnMKCSAgU2luY2Ugd2UgY2FuIGdldCB0aGUgbWluaW11bSBudW1iZXIgb2YgYnVmZmVycyBuZWVkZWQgYnkgYW4gb3V0cHV0CgkgIGRldmljZSB0byB3b3JrLCB1c2UgaXQgdG8gc2V0IG1pbl9sYXRlbmN5IHdoaWNoIHdpbGwgZGV0ZXJtaW5lIGhvdyBtYW55CgkgIGJ1ZmZlcnMgYXJlIHF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA3MgoKMjAxNC0wOS0wOSAxNjoxMDo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB0ZXN0czogdWRwc3JjOiBhZGQgY2hlY2sgdG8gbWFrZSBzdXJlIG11bHRpcGxlIG1lbW9yeSBjaHVua3MgYXJlIHVzZWQKCjIwMTQtMDktMDkgMTU6NTU6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdGVzdHM6IHVkcHNyYzogd2FpdCBmb3IgYnVmZmVycyB3aXRoIEdDb25kIGluc3RlYWQgb2Ygc2xlZXBpbmcKCSAgQXZvaWRzIGhhbGYtc2Vjb25kIHNsZWVwIGZvciBubyByZWFzb24uCgoyMDE0LTA5LTA5IDE1OjMxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHRlc3RzOiB1ZHBzcmM6IHNwbGl0IG91dCBzb2NrZXQgc2V0dXAKCjIwMTQtMDktMDkgMTM6NDY6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IG1vcmUgZWZmaWNpZW50IG1lbW9yeSBoYW5kbGluZwoJICBEcm9wIHVzZSBvZiBnX3NvY2tldF9nZXRfYXZhaWxhYmxlX2J5dGVzKCkgd2hpY2ggaXMKCSAgbm90IHVzZWZ1bCBvbiBhbGwgc3lzdGVtcyAod2hlcmUgaXQgcmV0dXJucyB0aGUgc2l6ZQoJICBvZiB0aGUgZW50aXJlIGJ1ZmZlciBub3QgdGhhdCBvZiB0aGUgbmV4dCBwZW5kaW5nCgkgIHBhY2tldCksIGFuZCBpcyB5ZXQgYW5vdGhlciBzeXNjYWxsIGFuZCBhcHBhcmVudGx5CgkgIHZlcnkgaW5lZmZpY2llbnQgb24gV2luZG93cyBpbiB0aGUgVURQIGNhc2UuCgkgIEluc3RlYWQsIHdoZW4gcmVhZGluZyBVRFAgcGFja2V0cywgdXNlIHRoZSBtb3JlIGZlYXR1cmVmdWwKCSAgZ19zb2NrZXRfcmVjZWl2ZV9tZXNzYWdlKCkgY2FsbCB0aGF0IGFsbG93cyB0byByZWFkIGludG8KCSAgc2NhdHRlcmVkIG1lbW9yeSwgYW5kIGFsbG9jYXRlIG9uZSBtZW1vcnkgY2h1bmsgd2hpY2ggaXMKCSAgbGlrZWx5IHRvIGJlIGxhcmdlIGVub3VnaCBmb3IgYSBwYWNrZXQsIHdoaWxlIGFsc28gcHJvdmlkaW5nCgkgIGEgbGFyZ2VyIGFsbG9jYXRlZCBtZW1vcnkgY2h1bmsganVzdCBpbiBjYXNlIHRoZSBwYWNrZXQKCSAgaXMgbGFyZ2VyIHRoYW4gZXhwZWN0ZWQuIElmIHRoZSByZWNlaXZlZCBkYXRhIGZpdHMgaW50byB0aGUKCSAgZmlyc3QgY2h1bmssIHdlJ2xsIGp1c3QgYWRkIHRoYXQgdG8gdGhlIGJ1ZmZlciB3ZSByZXR1cm4KCSAgYW5kIHJlLXVzZSB0aGUgZmFsbGJhY2sgYnVmZmVyIGZvciBuZXh0IHRpbWUsIG90aGVyd2lzZSB3ZQoJICBhZGQgYm90aCBjaHVua3MgdG8gdGhlIGJ1ZmZlci4KCSAgVGhpcyByZWR1Y2VzIG1lbW9yeSB3YXN0ZSBtb3JlIHJlbGlhYmx5IG9uIHN5c3RlbXMgd2hlcmUKCSAgZ2V0X2F2YWlsYWJsZV9ieXRlcygpIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4KCSAgSW4gYSBtdWx0aW1lZGlhIHN0cmVhbWluZyBzY2VuYXJpbywgaW5jb21pbmcgVURQIHBhY2tldHMKCSAgYXJlIGFsbW9zdCBuZXZlciBmcmFnbWVudGVkIGFuZCB0aHVzIGFsbW9zdCBhbHdheXMgc21hbGxlcgoJICB0aGFuIHRoZSBNVFUgc2l6ZSwgd2hpY2ggaXMgYWxzbyB3aHkgd2UgZG9uJ3QgdHJ5IHRvIGRvCgkgIHNvbWV0aGluZyBzbWFydGVyIHdpdGggbW9yZSBmYWxsYmFjayBtZW1vcnkgY2h1bmtzIG9mCgkgIGRpZmZlcmVudCBzaXplcy4gVGhlIGZhbGxiYWNrIHNjZW5hcmlvIGlzIGp1c3QgZm9yIHdoZW4KCSAgc29tZW9uZSBidWlsdCBhIGJyb2tlbiBzZW5kZXIgcGlwZWxpbmUgKG5vdCB1c2luZyBhCgkgIHBheWxvYWRlciBvciBzb21lc3VjaCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDM2NAoKMjAxNC0wOS0wOSAxMjoxNTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogcmV3b3JrIG1lbW9yeSBhbGxvY2F0aW9uIGJpdHMgYW5kIGVuc3VyZSB3ZSBhbHdheXMgaGF2ZSB0d28gY2h1bmtzIG9mIG1lbW9yaWVzIHRvIHJlYWQgaW50bwoJICBGaXJzdCBjaHVuayBpcyB0aGUgbGlrZWx5L2V4cGVjdGVkIGJ1ZmZlciBzaXplLCBzZWNvbmQgaXMgYXMKCSAgZmFsbGJhY2sgaW4gY2FzZSB0aGUgcGFja2V0IGlzIGxhcmdlciBpbiB0aGUgZW5kLgoJICBOZXh0IHN0ZXA6IGFjdHVhbGx5IHVzZSB0aGVzZS4KCjIwMTQtMDktMDkgMDk6NDI6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IHRyYWNrIG1heCBwYWNrZXQgc2l6ZSBhbmQgc2F2ZSBhbGxvY2F0b3IgbmVnb3RpYXRlZCBieSBHc3RCYXNlU3JjCgoyMDE0LTA5LTA4IDE2OjE1OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogZml4IGV4YW1wbGUgY29tbWFuZCBsaW5lCgoyMDE0LTA5LTA3IDEyOjQ2OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGNyYXNoIHdpdGggY2VydGFpbiB2aWRlb3MKCSAgVGhpcyBpcyBhIHJlZ3Jlc3Npb24gZnJvbSAxLjIgY2F1c2VkIGJ5IHRoZSBwb3J0CgkgIHRvIHRoZSBwYWQgZmxvdyBjb21iaW5lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjE5MgoKMjAxNC0wOS0wNCAxNjoyMToyMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2EtZGVtdXg6IERvbid0IGhhbmRsZSBwYXJzZSBlcnJvcnMgYXQgdGhlIGVuZCBvZiBmaWxlIGFzIGFuIGVycm9yCgkgIEJ1dCBvbmx5IGlmIHRoZXkgaGFwcGVuIGFmdGVyIHRoZSBNYXRyb3NrYSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODMzCgoyMDE0LTA5LTA0IDEyOjE0OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEluY2x1ZGUgcmVkaXJlY3Rpb24gdGFyZ2V0IGluIGVycm9yIG1lc3NhZ2VzCgkgIEp1c3QgZ2l2aW5nIHRoZSBvcmlnaW5hbCBVUkkgY2FuIGdpdmUgdGhlIGZhbHNlIGltcHJlc3Npb24gdGhhdCBlLmcuCgkgIHRoYXQgb25lIGZhaWxlZCBob3N0IG5hbWUgcmVzb2x1dGlvbiwgd2hpbGUgYWN0dWFsbHkgdGhlIHJlZGlyZWN0aW9uIHRhcmdldAoJICBkaWQuCgoyMDE0LTA5LTAyIDExOjEzOjQ0ICswNDAwICBBbmRyZWkgU2FyYWtlZXYgPHNhcmFrdXNoYUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBGaXggc3luY2hyb25pemF0aW9uIGlmIGR5bmFtaWNhbGx5IGNoYW5naW5nIHRoZSBGUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg1OQoKMjAxNC0wOS0wMiAxMzo1Mjo0MyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IENoZWNrIGlmIGlucHV0IGNhcHMgYXJlIHRoZSBzYW1lIGFuZCBjcmVhdGUgb3V0cHV0IGNhcHMgZnJvbSB2aWRlbyBpbmZvCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGFsc28gcHJvcGVydGllcyBsaWtlIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gYXJlIHRoZSBzYW1lCgkgIGJldHdlZW4gYm90aCBzdHJlYW1zIGFuZCB0aGF0IHRoZSBvdXRwdXQgY2FwcyBjb250YWluIGFsbCBmaWVsZHMgbmVjZXNzYXJ5IGZvcgoJICBjb21wbGV0ZSB2aWRlbyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODA0CgoyMDE0LTA5LTAyIDE3OjIyOjA3ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogcmVwbGFjZSB3aXRoIGdzdF9idWZmZXJfY29weQoJICBnc3RfYnVmZmVyX3JlZiBhbmQgZ3N0X2J1ZmZlcl93cml0YWJsZSBpcyBiZWluZyB1c2VkIHRvIGNyZWF0ZSBhIHdyaXRhYmxlIGNvcHkgb2Ygc291cmNlIGJ1ZmZlci4KCSAgcmVwbGFjaW5nIHRoZSBzYW1lIHdpdGggZ3N0X2J1ZmZlcl9jb3B5IGFzIHRoZSBmdW5jdGlvbmFsaXR5IGlzIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4ODAKCjIwMTQtMDktMDMgMjM6MDY6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFyayBqcGVnIGFuZCBwbmcgYXMgcGFyc2VkIHNvIGF2ZGVjX21qcGVnIGNhbiBiZSB1c2VkIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1OTcxCgoyMDE0LTA5LTAzIDExOjQ2OjEzICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJICBnZGtwaXhidWZkZWM6IGZyZWUgcXVlcnkgYWZ0ZXIgdXNlCgkgIEluIGdzdF9nZGtfcGl4YnVmX2RlY19zZXR1cF9wb29sKCksIHF1ZXJ5IGlzIGJlaW5nIGFsbG9jYXRlZCB1c2luZwoJICBnc3RfcXVlcnlfbmV3X2FsbG9jYXRpb24oKSwgYnV0IHRoZSBzYW1lIGlzIG5vdCB1bnJlZmVyZW5jZWQKCSAgaGVuY2UgY2FsbGluZyBnc3RfcXVlcnlfdW5yZWYoKSBhZnRlciB1c2FnZSBvZiBxdWVyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTk1MAoKMjAxNC0wOS0wMyAyMzo0NjozNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IFNpbGVuY2Ugc29tZSB3YXJuaW5ncyBmb3Igbm9ybWFsIGZpbGUgY29udGVudHMKCjIwMTQtMDktMDEgMDk6NTY6MDIgKzAyMDAgIE5pY29sYXMgSHVldCA8bmljb2xhcy5odWV0QHBhcnJvdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggcGFyc2luZyBpc3N1ZSB3aGVuIHRoZSBidWZmZXIgZG9lcyBub3QgaGF2ZSBhIGNvbXBsZXRlIEFEVFMvTE9BUyBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTIwCgoyMDE0LTA5LTAyIDA5OjA5OjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBHZXQgaW5wdXQgd2lkdGgvaGVpZ2h0IGZyb20gdGhlIGNvZGVjIGluc3RlYWQgb2YgdGhlIGlucHV0IGNhcHMKCSAgVGhleSBhcmUgcmVwb3J0ZWQgcHJvcGVybHkgYnkgbGlidnB4IGlmIHRoZSBjb3JyZWN0IHN0cnVjdCBtZW1iZXJzIGFyZSB1c2VkLgoJICBUaGlzIGFsc28gZml4ZXMgaGFuZGxpbmcgb2YgcmVzb2x1dGlvbiBjaGFuZ2VzIHdpdGhvdXQgaW5wdXQgY2FwcyBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5MzU5CgoyMDEzLTEwLTIyIDE4OjQ5OjIyICswMTAwICBUb20gR3JlZW53b29kIDx0Y2RncmVlbndvb2RAaG90bWFpbC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBmb3IgaGFuZGxpbmcgcmVzb2x1dGlvbiBjaGFuZ2VzIHdoZW4gZGVjb2RpbmcgVlA4CgkgIElmIHRoZSByZXNvbHV0aW9uIGNoYW5nZXMgaW4gdGhlIGJpdHN0cmVhbSB3aXRob3V0IHRoZSBpbnB1dCBjYXBzIGNoYW5naW5nIHdlCgkgIHdvdWxkIHByZXZpb3VzbHkgb3V0cHV0IGNvcnJ1cHRlZCB2aWRlbyBvciBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTM1OQoKMjAxNC0wOS0wMiAwMDo1NToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBGaXggc2VnZmF1bHQgd2hlbiBhIG5ldyBjYXBzIGlzIHJlY2VpdmVkCgkgIFJlbWVtYmVyIHRvIHVucmVmIHRoZSBvdXRwdXQgY2FwcyB3aGVuIGEgbmV3IGNhcHMgZXZlbnQgaXMgcmVjZWl2ZWQKCSAgYXMgaXQgc2hvdWxkIGdlbmVyYXRlIGEgbmV3IG9uZSBiYXNlZCBvbiB0aGUgbmV3IGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjYKCjIwMTQtMDktMDIgMDA6NTQ6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICB0ZXN0czogdnA4ZGVjOiBhZGQgdGVzdCBmb3IgY2FwcyByZW5lZ290aWF0aW9uCgkgIENoZWNrIHRoYXQgdnA4ZGVjIGNhbiBwcm9wZXJseSBhY2NlcHQgYSBuZXcgY2FwcyB3aGVuIHVwc3RyZWFtCgkgIGNoYW5nZXMgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2NgoKMjAxNC0wOC0wNSAxMDozNDozOSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogUmVzZXQgb3V0cHV0IGFuZCBpbnB1dCBzdGF0ZXMgd2hlbiBjaGFuZ2luZyBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2NgoKMjAxNC0wOS0wMSAxNjozOToyMyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IERvbid0IGNhbGwgZ3N0X2NhcHNfdW5yZWYoKSBvbiB0ZW1wbGF0ZSBjYXBzIHdoZW4gYWxyZWFkeSB1bnJlZmVyZW5jZWQKCSAgQWRkaW5nIGFuIGV4dHJhIGNvbmRpdGlvbiB3aGlsZSBjYWxsaW5nIGdzdF9jYXBzX3VucmVmICh0ZW1wbCkKCSAgYW5kIHJlcGxhY2luZyBnc3RfY2Fwc19tYWtlX3dyaXRhYmxlIChnc3RfY2Fwc19yZWYgKGNhcHMpKSB3aXRoCgkgIGdzdF9jYXBzX2NvcHkgKGNhcHMpIGluIGxpbmUgMTc3LCBzaW5jZSB0aGUgZnVuY3Rpb25hbGl0eSBpcyBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1Nzk1CgoyMDE0LTA4LTI5IDEyOjAxOjI3ICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBnZXRfbmVhcmVzdF9zaXplOiBGaXggIlVuc3VwcG9ydGVkIGZpZWxkIHR5cGUiIGVycm9ycwoJICBNb3N0IFY0TDIgaW9jdGxzIGxpa2UgdHJ5X2ZtdCB3aWxsIGFkanVzdCBpbnB1dCBmaWVsZHMgdG8gbWF0Y2ggd2hhdCB0aGUKCSAgaGFyZHdhcmUgY2FuIGRvIHJhdGhlciB0aGVuIHJldHVybmluZyAtRUlOVkFMLiBBcyBpcyBkb2NtZW50ZWQgaGVyZToKCSAgaHR0cDovL2xpbnV4dHYub3JnL2Rvd25sb2Fkcy92NGwtZHZiLWFwaXMvdmlkaW9jLWctZm10Lmh0bWwKCSAgRUlOVkFMIGlzIG9ubHkgcmV0dXJuZWQgaWYgdGhlIGJ1ZmZlciB0eXBlIGZpZWxkIGlzIGludmFsaWQgb3Igbm90IHN1cHBvcnRlZC4KCSAgU28gdXBvbiByZXF1ZXN0aW5nIFY0TDJfRklFTERfTk9ORSBkZXZpY2VzIHdoaWNoIGNhbiBvbmx5IGRvIGludGVybGFjZWQKCSAgbW9kZSB3aWxsIGNoYW5nZSB0aGUgZmllbGQgdmFsdWUgdG8gZS5nLiBWNEwyX0ZJRUxEX0JPVFRPTSBhcyBvbmx5IHJldHVybmluZwoJICBoYWxmIHRoZSBsaW5lcyBpcyB0aGUgY2xvc2VzdCB0aGV5IGNhbiBkbyB0byBwcm9ncmVzc2l2ZSBtb2Rlcy4KCSAgSW4gZXNzZW5jZSB0aGlzIG1lYW5zIHRoYXQgd2UndmUgZmFpbGVkIHRvIGdldCBhICh1c2FibGUpIHByb2dlc3NpdmUgbW9kZQoJICBhbmQgc2hvdWxkIGZhbGwgYmFjayB0byBpbnRlcmxhY2VkIG1vZGUuCgkgIFRoaXMgY29tbWl0IGFkZHMgYSBjaGVjayBmb3IgaGF2aW5nIGdvdHRlbiBhIHVzYWJsZSBmaWVsZCB2YWx1ZSBhZnRlciB0aGUgZmlyc3QKCSAgdHJ5X2ZtdCwgdG8gZm9yY2UgZmFsbGJhY2sgdG8gaW50ZXJsYWNlZCBtb2RlIGV2ZW4gaWYgdGhlIHRyeV9mbXQgc3VjY2VlZGVkLAoJICB0aGVyZWJ5IGZpeGluZyBnZXRfbmVhcmVzdF9zaXplIGZhaWxpbmcgb24gdGhlc2UgZGV2aWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MAoKMjAxNC0wOC0yOSAxMDo1NzoyMCArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZ2V0X25lYXJlc3Rfc2l6ZTogQWx3YXlzIHJlaW5pdCBhbGwgc3RydWN0IGZpZWxkcyBvbiByZXRyeQoJICBUaGV5IG1heSBoYXZlIGJlZW4gbW9kaWZpZWQgYnkgdGhlIGlvY3RsIGV2ZW4gaWYgaXQgZmFpbGVkLiBUaGlzIGFsc28gbWFrZXMKCSAgdGhlIFNfRk1UIGZhbGxiYWNrIHBhdGggdHJ5IHByb2dyZXNzaXZlIGZpcnN0LCBtYWtpbmcgaXQgY29uc2lzdGVudCB3aXRoIHRoZQoJICBwcmVmZXJyZWQgVFJZX0ZNVCBwYXRoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYwCgoyMDE0LTA4LTI5IDExOjU1OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBTdG9yZSBzaXplIG9mIGRhdGEgdGFnIGluIGEgNjQgYml0IGludGVnZXIgbG9jYWxseSB0b28KCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY2xpcCB0aGUgRFM2NCB2YWx1ZSBvZiBSRjY0IGZpbGVzIHRvIDMyIGJpdHMgYWdhaW4uCgoyMDE0LTA4LTI5IDExOjUzOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVc2UgNjQgYml0IHNjYWxpbmcgZnVuY3Rpb25zIG5vdyB0aGF0IGZhY3QgaXMgYSA2NCBiaXQgaW50ZWdlcgoKMjAxNC0wOC0yNyAxODo1NToxOCArMDIwMCAgUGV0ZXIgRy4gQmF1bSA8cGV0ZXJAZHItYmF1bS5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBzdXBwb3J0IHJmNjQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2MjcKCjIwMTQtMDgtMjggMTM6NDg6NTAgLTA2MDAgIEphc29uIExpdHppbmdlciA8amxpdHppbmdlckBjb250cm9sNC5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBFbnN1cmUgY2FwcyBiZWZvcmUgcGFkIGFkZGVkLgoJICBUaGlzIHN0b3JlcyB0aGUgc3RyZWFtLXN0YXJ0LCBzZXRzIGNhcHMsIGFuZCB0aGVuIGFkZHMgdGhlIHBhZCwKCSAgd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBjYXBzIGFyZSBzZXQgZm9yIHRoZSAicGFkLWFkZGVkIiBjYWxsYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTYyNgoKMjAxNC0wOC0yOCAxNTowMzo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZhbGxiYWNrIHRvIFBUUyBpZiBEVFMgaXMgbWlzc2luZwoJICBGaXhpbmcgYSByZWdyZXNzaW9uIGludHJvZHVjZSB3aGVuIGZpeGluZzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wOC0yOCAxNjoxMzoyOSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJlbW92ZSBpbXBvc3NpYmxlIGVycm9yIGNvbmRpdGlvbgoJICBXZSByZXR1cm4gRU9TIGFmdGVyIHRoZSBmaXJzdCBidWZmZXIsIGFuZCBHc3RQYWQgd2lsbCBtYWtlIHN1cmUgbm93IHRoYXQgd2UKCSAgd29uJ3QgZ2V0IGFueSBvdGhlciBidWZmZXIgYWZ0ZXJ3YXJkcyB1bnRpbCBhIGZsdXNoIGhhcHBlbnMuIE5vIG5lZWQgdG8gY2hlY2sKCSAgZm9yIGl0IG91cnNlbHZlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTU4MQoKMjAxNC0wOC0yOCAxMzo1MzoyMyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ2RrcGl4YnVmZGVjOiBFT1MgYW5kIE5PVF9MSU5LRUQgYXJlIG5vIGVycm9ycyBpbiBnZW5lcmFsCgkgIERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgdGhlbSBidXQgbGV0IHVwc3RyZWFtIGhhbmRsZQoJICBhbnl0aGluZyBhY2NvcmRpbmdseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTU2NAoKMjAxNC0wOC0yNyAyMTowNzoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBDb3JyZWN0bHkgb2Zmc2V0IHRpbWVzdGFtcAoJICBUaGUgcHJldmlvdXMgbWV0aG9kIHdvdWxkIGJyZWFrIEFWIHN5bmMgaW4gdGhlIGNhc2UgYXVkaW8gb3IgdmlkZW8KCSAgZGlkbid0IHN0YXJ0IGF0IHRoZSBzYW1lIHBvaW50IGluIHJ1bm5pbmcgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wOC0yNyAyMDo1NjoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBTYXZlIGR0cyBmcm9tIGJ1ZmZlcgoJICBXZSBubyBsb25nZXIgc2V0IGR0cyBpbiBtdXhlZCBidWZmZXIuIFRoaXMgd291bGQgbGVhZCB0byBlbmNvZGluZyB0YWdzCgkgIHdpdGggdGltZXN0YW1wIDAgaW5zdGVhZCBvZiB0aGUgdGltZXN0YW1wIG9mIHByZXZpb3VzIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wNy0yOCAyMDo1ODo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEVuc3VyZSBUaW1lc3RhbXAgc3RhcnRzIGF0IDAKCSAgRkxWIGRvY3VtZW50YXRpb24gc3RpcHVsYXRlcyB0aGF0IHRpbWVzdGFtcCBtdXN0IHN0YXJ0IGF0IHplcm8uCgkgIEluIG9yZGVyIHRvIHJlc3BlY3QgdGhpcyBydWxlLCBrZWVwIHRoZSBmaXJzdCB0aW1lc3RhbXAgYXJvdW5kCgkgIGFuZCBvZmZzZXQgdGhlIHRpbWVzdGFtcCBmcm9tIHRoaXMgdmFsdWUuIFRoaXMgYWxsb3cgZm9yIGxvbmdlcgoJICByZWNvcmRpbmcgdGltZSBpbiBwcmVzZW5jZSBvZiB0aW1lc3RhbXAgdGhhdCBkb2VzIG5vdCBzdGFydAoJICBhdCAwIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDYtMDYgMjM6MTc6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogVGFnIHRpbWVzdGFtcCBhcmUgRFRTIG5vdCBQVFMKCSAgVGhlIHRhZ3MgaW4gRkxWIGFyZSBEVFMuIEluIGF1ZGlvIGNhc2VzLCBhbmQgZm9yIG1hbnkgdmlkZW8gZm9ybWF0IHRoaXMgbWFrZXMKCSAgbm8gZGlmZmVyZW5jZSwgYnV0IGZvciBBVkMgd2l0aCBCLUZyYW1lcywgUFRTIG5lZWQgdG8gYmUgY29tcHV0ZWQgZnJvbQoJICBjb21wb3NpdGlvbiB0aW1lc3RhbXAgQ1RTLCB3aXRoIFBUUyA9IERUUyArIENUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wOC0wNyAyMTo1ODoxNCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPGtha2Fyb3RvQGtha2Fyb3RvLmhvbWVsaW51eC5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBBbGxvdyBydHAgY2FwcyB3aXRob3V0IGNsb2NrLXJhdGUKCSAgVGhlIGppdHRlcmJ1ZmZlciBzaG91bGRuJ3QgZm9yY2UgY2xvY2stcmF0ZSBvbiBpdHMgc2luayBwYWQsIHRoaXMgd2lsbCBjYXVzZSBhIG5lZ290aWF0aW9uIGlzc3VlIHNpbmNlIHJ0cHNzcmNkZW11eCBkb2Vzbid0IGhhdmUgdGhlIGNsb2NrLXJhdGUgYW5kIGRvZXNuJ3QgYWRkIGl0IHRvIHRoZSBjYXBzLiBUaGUgZG9jdW1lbnRhdGlvbiBzdGF0ZXMgdGhhdCB0aGUgY2xvY2stcmF0ZSBjYW4gZWl0aGVyIGJlIHNwZWNpZmllZCB0aHJvdWdoIHRoZSBjYXBzIG9yIHRocm91Z2ggdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbCwgc28gd2UgbXVzdCByZW1vdmUgY2xvY2stcmF0ZSBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzIGFuZCB3ZSBtdXN0IGFjY2VwdCB0aGUgR1NUX0VWRU5UX0NBUFMgaWYgdGhlIGNhcHMgZG9uJ3QgaGF2ZSB0aGUgY2xvY2stcmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDMyMgoKMjAxNC0wOC0xOCAxNDowNTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGNyYXNoaW5nIG9uIGRhc2ggc3RyZWFtcwoJICBEQVNIL2ZyYWdtZW50ZWQgbW9vdiBtaWdodCBoYXZlIG5vIHNhbXBsZXMgYXMgdGhvc2UgYXJlIGNhcnJpZWQKCSAgaW4gbW9vZiBmcmFnbWVudHMuIEF2b2lkIGNyYXNoaW5nIG9yIGZhaWxpbmcgdGhlIHN0cmVhbSBiZWNhdXNlCgkgIG9mIHRoYXQuCgoyMDE0LTA4LTE4IDEwOjMzOjQ4ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiB1c2UgJ3Bvc3QtbWVzc2FnZXMnIHByb3BlcnR5IGluc3RlYWQgb2YgZGVwcmVjYXRlZCAnbWVzc2FnZScgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDk3OQoKMjAxNC0wOC0xOCAxMTo0NTo1NCArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGZpeCB1ZHBzcmMgZG9jdW1lbnRhdGlvbgoJICB1ZHBzcmMgZ3RrLWRvYyBkb2N1bWVudGF0aW9uIHJlZmVycyB0byBzb2NrZmQgYW5kIGNsb3NlZmQgcHJvcGVydGllcyB3aGljaCBoYXMKCSAgYmVlbiByZW1vdmVkLiBUaGlzIHBhdGNoIHJlcGxhY2VzIHRob3NlIHJlZmVyZW5jZXMgdG8gc29ja2V0IGFuZCBjbG9zZS1zb2NrZXQKCSAgcmVzcGVjdGl2ZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0OTg3CgoyMDE0LTA4LTE1IDEwOjA5OjU2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE1ha2UgdGhlIGRlZmF1bHQgdGltZXNjYWxlIDEvMTgwMCBzZWNvbmQKCSAgVGhlIG9sZCBkZWZhdWx0IHRpbWVzY2FsZSBvZiAxIG1pbGxpc2Vjb25kIHByb2R1Y2VzIGlycmF0aW9uYWwKCSAgbnVtYmVycyBmb3IgYSBsb3Qgb2YgZnJhbWVyYXRlL2F1ZGlvLXBhY2tldC1kdXJhdGlvbiBtdWx0aXBsZXMuCgkgIDEvMTgwMCBpcyBhIG5pY2VyIG51bWJlciwgYXMgaXQgdGVuZHMgdG8gcHJvZHVjZSBiZXR0ZXIgZnJhY3Rpb25zCgkgIGFuZCB0aGVyZWZvcmUgc2xpZ2h0bHkgaGlnaGVyIGFjY3VyYWN5IG92ZXJhbGwKCjIwMTQtMDgtMTUgMDE6MTc6MjcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBVc2UgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpIGZ1bmN0aW9uCgkgIFJlbW92ZSBsb2NhbCBmcmFtZXJhdGUgZ3Vlc3NpbmcgZnVuY3Rpb24gaW4gZmF2b3VyIG9mCgkgIHRoZSBuZXcgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpIGZ1bmN0aW9uLgoKMjAxNC0wOC0xNSAwMToxMjoyMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW1wcm92ZSBmcmFtZXJhdGUgY2FsY3VsYXRpb24vZ3Vlc3NpbmcKCSAgQ2hhbmdlIHRoZSB3YXkgdGhlIG91dHB1dCBmcmFtZXJhdGUgaXMgY2FsY3VsYXRlZAoJICB0byBpZ25vcmUgdGhlIGZpcnN0IHNhbXBsZSAod2hpY2ggaXMgc29tZXRpbWVzIHRydW5jYXRlZAoJICBpbiBteSB0ZXN0aW5nKSBhbmQgdXNlIHRoZSBuZXcgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpCgkgIGZ1bmN0aW9uIHRvIHJlY29nbmlzZSBjb21tb24gc3RhbmRhcmQgZnJhbWVyYXRlcyBiZXR0ZXIuCgkgIFJlbW92ZSB0aGUgY29kZSB0aGF0IHdhcyBzb3J0aW5nIHRoZSBmaXJzdCAyMCBzYW1wbGUKCSAgZHVyYXRpb25zIGFuZCB0aGVuIGlnbm9yaW5nIHRoZSByZXN1bHQuCgoyMDE0LTA4LTE0IDE2OjM2OjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogVXNlIHRoZSBiZXN0IHdpZHRoL2hlaWdodC9ldGMgaWYgZG93bnN0cmVhbSBjYW4gaGFuZGxlIHRoYXQKCSAgQmVmb3JlIGl0IHdhcyBhbHdheXMgdXNpbmcgd2hhdGV2ZXIgZG93bnN0cmVhbSBwcmVmZXJyZWQsIHdoaWxlCgkgIHRoZSBjb2RlIGFuZCBkb2N1bWVudGF0aW9uIGNsYWltZWQgc29tZXRoaW5nIGRpZmZlcmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4MAoKMjAxNC0wOC0xNCAxMToyOTowMCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBBdm9pZCBkb3VibGUgZnJlZSBvZiBWaWRlb0NvbnZlcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDc2NAoKMjAxNC0wOC0xMyAxMTo1ODozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNC0wOC0xMyAxMTo1NDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHVuLWJyZWFrIGR1cmF0aW9uIHF1ZXJ5aW5nCgkgIENvbW1pdCAyYjk0OTNiNSBicm9rZSB0aGlzIGluIHR3byB3YXlzOiBhKSB3ZSBzaG91bGQgb25seQoJICBwYXNzIGR1cmF0aW9uIHF1ZXJpZXMgaW4gVElNRSBmb3JtYXQgdXBzdHJlYW0gKG9yIGF0IGxlYXN0CgkgIG5vdCB0aG9zZSBpbiBERUZBVUxUIG9yIEJZVEUgZm9ybWF0KSwgYW5kIGIpIHdlIG11c3RuJ3QKCSAgb3ZlcndyaXRlIHRoZSBkZWZhdWx0IHZhbHVlIG9mICdyZXMnIGZyb20gVFJVRSB0byBGQUxTRQoJICBhbmQgbm90IHNldCBpdCBhZ2FpbiBsYXRlci4gVGhpcyBsZWQgdG8gYm9ndXMgZHVyYXRpb25zCgkgIGJlaW5nIHJlcG9ydGVkIGZvciBGTFYgcGxheWJhY2sgZnJvbSBmaWxlLCBiZWNhdXNlIFRJTUUKCSAgcXVlcmllcyB3b3VsZCBmYWlsIChhcyAncmVzJyBoYWQgYmVlbiBzZXQgdG8gRkFMU0UpIGFuZAoJICBwYXJzZXJzIHRoZW4gZG8gYSBCWVRFIHF1ZXJ5IGFzIGZhbGxiYWNrIGFuZCB0cnkgdG8KCSAgZ3Vlc3N0aW1hdGUgc29tZXRoaW5nIGluIHJldHVybiwgd2hpY2ggb2YgY291cnNlIGdvZXMKCSAgaG9ycmlibHkgd3Jvbmcgc2luY2UgdGhlIEJZVEUgc2l6ZSByZXR1cm5lZCBpcyBmb3IgdGhlCgkgIG11eGVkIGZpbGUuCgoyMDE0LTA4LTEzIDEzOjIzOjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFsbG93IGFueSByYXcgY2FwcyBpbiBwYXNzdGhyb3VnaCBtb2RlLCBub3QganVzdCB0aGUgb25lcyB3ZSBoYW5kbGUKCjIwMTQtMDgtMTMgMTM6MDQ6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWxsb3cgQU5ZIGNhcHNmZWF0dXJlcywgYnV0IG9ubHkgaW4gcGFzc3Rocm91Z2ggbW9kZQoJICBXaGVuIGNoYW5naW5nIHRoZSBwcm9wZXJ0aWVzIHRvIG5vdCBiZSBpbiBwYXNzdGhyb3VnaCBtb2RlIGFueW1vcmUsCgkgIHdlIHdpbGwgb25seSBhY2NlcHQgY2FwcyB3ZSBjYW4gcHJvY2VzcyBvdXJzZWx2ZXMsIHBvdGVudGlhbGx5IGNhdXNpbmcKCSAgYSBub3QtbmVnb3RpYXRlZCBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM0NQoKMjAxNC0wOC0xMiAxMTozNDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgZ2l0CgoyMDE0LTA4LTEyIDExOjMzOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1aWxkIHhpbWFnZXNyYyBhZ2FpbiB3aGVuIGNoZWNrcyBzdWNjZWVkCgkgIFRoaXJkIHRpbWUgbHVja3ksIGhvcGVmdWxseS4KCjIwMTQtMDgtMTEgMDk6MjY6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHgxMSBjaGVja3MgdG8gYmUgbm9uLWZhdGFsIGFnYWluCgkgIE11c3QgcGFzcyBhbiBhY3Rpb24taWYtbm90LWZvdW5kIGFyZ3VtZW50IHRvCgkgIFBLR19DSEVDS19NT0RVTEVTIG9yIGl0IHdpbGwgZXJyb3Igb3V0IHdoZW4KCSAgaXQgY2FuJ3QgZmluZCB0aGUgbW9kdWxlIHJlcXVlc3RlZC4gQWxzbyBmaXgKCSAgQUNfQ0hFQ0tfTElCIHVzYWdlLCBleHRyYSBsaWJzIGFyZ3VtZW50IHdhcwoJICBpbiB0aGUgd3JvbmcgcGxhY2UuCgoyMDE0LTA4LTA3IDE3OjEyOjM4ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZvcndhcmQgRElTQ09OVCBmcm9tIHVwc3RyZWFtIHRvIHRoZSBvdXRwdXQgc3RyZWFtcwoJICBUaGlzIG1ha2VzIHNlbnNlIGluIERBU0ggcmV2ZXJzZSBwbGF5YmFjaywgd2hlcmUgdGhlIHVwc3RyZWFtIGRhc2hkZW11eAoJICB3aWxsIGRvd25sb2FkIERBU0ggc2VnbWVudHMgaW4gcmV2ZXJzZSBvcmRlciwgYnV0IHB1c2ggdGhlaXIgYnVmZmVycwoJICBmb3J3YXJkIHRvIHF0ZGVtdXggYW5kIG1hcmsgZWFjaCBzZWdtZW50IHN0YXJ0IGFzIERJU0NPTlQuIFRoaXMgbmVlZHMKCSAgdG8gYmUgZm9yd2FyZGVkIGRvd25zdHJlYW0gdG8gdGhlIHBhcnNlci9kZWNvZGVyLCBvdGhlcndpc2UgaXQgd29uJ3Qgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ0MwoKMjAxNC0wOC0xMCAxODo1NTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgeDExIGFuZCBzaW1wbGlmeSBjaGVja3MKCSAgQUNfUEFUSF9YVFJBIG1hY3JvIHVubmVjZXNzYXJpbHkgcHVsbHMgaW4gbGliU00gYW5kIGxpYklDRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA0NwoKMjAxNC0wOC0xMCAxMjozMDowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cC1wYXlsb2FkaW5nOiBhZGp1c3QgdGVzdCBkYXRhIHRvIGF2b2lkIE5BTCBjaG9wcGluZwoJICAuLi4gYW5kIGNvcnJlc3BvbmRpbmdseSB1bmV4cGVjdGVkIGJ1ZmZlciBzaXplcy4KCjIwMTQtMDgtMDkgMTQ6MjI6NDIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogSW1wcm92ZSBhbm5vdGF0aW9uIG9mIGludGVybmFsIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1NDIKCjIwMTQtMDgtMDggMTI6NTQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IFVucmVmIGNhcHMgYW5kIGVsZW1lbnQgYWZ0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3OAoKMjAxNC0wOC0wOSAyMDo0NzozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIGRlYnVnIGxvZ2dpbmcgb2YgZm91cmNjcwoJICBJZiB3ZSBjYW4ndCBzaG93IEFTQ0lJLCBhdCBsZWFzdCBzaG93IHRoZW0KCSAgaW4gYmlnIGVuZGlhbiBvcmRlci4KCjIwMTQtMDgtMDkgMjA6NDY6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yICd3bWEgJyBtYXBwaW5nIGFzIGZvdW5kIGluIHNvbWUgaXNtdiBmaWxlcwoJICBlLmcuIFRvX1RoZV9MaW1pdF83MjBfMjk2Mi5pc212CgoyMDE0LTA4LTA5IDE4OjMxOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciAndmMtMScgbWFwcGluZyBhcyBmb3VuZCBpbiBzb21lIGlzbXYgZmlsZXMKCSAgZS5nLiBUb19UaGVfTGltaXRfNzIwXzI5NjIuaXNtdgoKMjAxNC0wOC0wNyAxNjozNDozNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0MzUKCjIwMTQtMDgtMDggMTI6MzY6MDEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFVucmVmIGFsbG93ZWQgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc0CgoyMDE0LTA4LTA4IDEyOjQwOjQ5ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzUKCjIwMTQtMDgtMDggMTI6NDQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSAgbmF2c2VlazogVW5yZWYgcGVlciBwYWQgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3NgoKMjAxNC0wOC0wOCAxMjoyOTo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3MwoKMjAxNC0wOC0wNSAxMTo0NzozOSArMDIwMCAgU3JpbWFudGEgUGFuZGEgPHNyaW1hbnRhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFwcGVuZCBwYWNrZXRpemF0aW9uIG1vZGUgcGFyYW1ldGVyIHRvIFNEUAoJICBBcHBlbmQgcGFja2V0aXphdGlvbi1tb2RlIHBhcmFtZXRlciB0byBTRFAgZGVzY3JpcHRpb24uCgkgIFBhY2tldGl6YXRpb24gbW9kZSBzaWduYWxzIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIFJUUCBwYXlsb2FkIHR5cGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM1NTYKCjIwMTQtMDgtMDggMDM6NTg6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0L3F0bXV4OiBXcml0ZSBjb3JyZWN0IGZpbGUgZHVyYXRpb24gd2hlbiBnYXBzIGV4aXN0LgoJICBXaGVuIHdyaXRpbmcgb3V0IGEgdHJhayB3aXRoIGFuIGVkaXQgbGlzdCwgbWFrZSBzdXJlIHRoZQoJICBvdmVyYWxsIGZpbGUgZHVyYXRpb24gaXMgYWxzbyB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlCgkgIGxlbmd0aGVuaW5nIG9mIHRoZSBzdHJlYW0uCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgdG8gcXRkZW11eCB0byB3YXJuIGFib3V0IHN0cmVhbXMgdGhhdAoJICBhcmUgbG9uZ2VyIHRoYW4gdGhlIGZpbGUgYW5kIGdldCB0cnVuY2F0ZWQuCgoyMDE0LTA4LTA0IDE1OjM5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQdXNoIHRoZSBjb3JyZWN0IHNlZ21lbnQgaW4gVENQIG1vZGUgd2hlbiBzZWVraW5nCgoyMDE0LTA4LTAzIDEyOjMzOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogdW5icmVhayBhdSBhbGlnbmVkIGJ5dGUtc3RyZWFtIHBheWxvYWRpbmcKCjIwMTQtMDctMjIgMTM6MjQ6MDkgKzAyMDAgIFNyaW1hbnRhIFBhbmRhIDxzcmltYW50YUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhcHBlbmQgcHJvZmlsZS1sZXZlbC1pZCB0byBTRFAKCSAgQXBwZW5kIHByb2ZpbGUtbGV2ZWwtaWQgdG8gU0RQIGlmIGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzUzOQoKMjAxNC0wNy0zMSAxODo0Nzo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBNYWtlZmlsZTogQWRkIHVzYWdlIG9mIGJ1aWxkLWNoZWNrcyBzdGVwCgkgIEFsbG93cyBidWlsZGluZyBjaGVja3Mgd2l0aG91dCBydW5uaW5nIHRoZW0KCjIwMTQtMDctMzEgMDk6NTM6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZXNyYzogRml4IHdhcm5pbmcgYWJvdXQgbWlzc2luZyByZXR1cm4gdmFsdWUKCjIwMTQtMDctMjQgMTU6Mjg6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgeGltYWdlc3JjOiBBZGQgbWlzc2luZyByZXR1cm4gdmFsdWUgdG8gQnVmZmVyIGRpc3Bvc2UgZnVuY3Rpb24KCSAgRGVwZW5kaW5nIG9udCBoZSBidWlsZCwgdGhlIG1ldGhvZCBjb3VsZCByZXR1cm4gRkFMU0UsIGhlbmNlIG5ldmVyCgkgIGZyZWUgdGhlIGJ1ZmZlcnMsIG9yIGFscmVhZHkgVFJVRSBhbmQgbGVhZCB0byBhIGNyYXNoOgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzY5NQoKMjAxNC0wNy0yOCAxNjo0OToxNiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBzZXQgb3V0cHV0IGNhcHMgbGF5b3V0IHRvIGludGVybGVhdmVkCgkgIFNldCBvdXRwdXQgY2FwcyBsYXlvdXQgaW5kZXBlbmRlbnRseSBmcm9tIGlucHV0IGNhcHMgbGF5b3V0IHdoaWNoIGNhbgoJICBiZSBlaXRoZXIgbm9uLWludGVybGVhdmVkIG9yIGludGVybGVhdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODY2CgoyMDE0LTA3LTI2IDEyOjA2OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogY2xlYXIgZ2NvbmQKCjIwMTQtMDctMjUgMTQ6MzA6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgUmV2ZXJ0ICJ2NGwyYnVmZmVycG9vbDogV29ya2Fyb3VuZCBlbGVtZW50cyBub3QgcmVxdWVzdGluZyBhbnkgYnVmZmVycyIKCSAgVGhpcyB3YXMgYSB0ZW1wb3J5IHdvcmthcm91bmQsIHdlIHNob3VsZCBmaXggdGhlIGVuY29kZXJzIHRoYXQgZG8gbm90CgkgIG5lZ290YXRpYXRlIHRoZSBhbW91bnQgb2YgYnVmZmVycyB0aGV5IG5lZWQuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDAzYmNiYTNkYjE1ZDA2ZGJkZWE2Yjc3NmE2ZjI4ZWQyZjAzMjcyYS4KCjIwMTQtMDctMDggMTQ6MzE6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qgc2hhcmUgb3duIHBvb2wgaWYgbWluIGV4Y2VlZCBWNEwyIGNhcGFjaXR5CgkgIElmIHRoZSBtaW5pbXVtIHJlcXVpcmVkIGJ1ZmZlciBleGNlZWQgVjRMMiBjYXBhY2l0eSwgZG9uJ3Qgc2hhcmUgZG93bgoJICBwb29sLiBUaGlzIGFsbG93IHN1cHBvcnQgdmVyeSBoaWdoIGxhdGVuY3ksIGxpa2Ugd2l0aCB4MjY0ZW5jIGRlZmF1bHQKCSAgZW5jb2Rpbmcgc2V0dGluZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyODgKCjIwMTQtMDctMjUgMTc6NDI6MjAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHF1ZXJ5IG1pbmltdW0gcmVxdWlyZWQgYnVmZmVycyBmb3Igb3V0cHV0CgkgIFNvbWUgdjRsMiBkZXZpY2VzIGNvdWxkIHJlcXVpcmUgYSBtaW5pbXVtIGJ1ZmZlcnMgZGlmZmVyZW50IGZyb20gZGVmYXVsdAoJICB2YWx1ZXMuIFJhdGhlciB0aGFuIGJsaW5kbHkgcHJvcG9zZSBhIHBvb2wgd2l0aCBtaW4tYnVmZmVycyBzZXQgdG8gdGhlCgkgIGRlZmF1bHQgdmFsdWUsIGl0IGFzayB0aGUgZGV2aWNlIHVzaW5nIGNvbnRyb2wgaW9jdGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM3NTAKCjIwMTQtMDctMjMgMTg6NDA6MTAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogdXNlIGRpcmVjdGx5ICdvYmonIGluc3RlYWQgb2YgJ3Y0bDJzaW5rLT52NGwyb2JqZWN0JwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjE2CgoyMDE0LTA3LTIzIDE4OjM5OjUwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBzZXQgZGVidWcgbWVzc2FnZXMgYWNjb3JkaW5nIHRvIGRldmljZSB0eXBlIGFuZCBJTyBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2MTYKCjIwMTQtMDUtMjQgMTk6MDI6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBSZW1vdmUgaXNfYWN0aXZlIGNoZWNrcwoJICBUaGVzZSBjaGVja3MgYXJlIG5vIGxvbmdlciByZXF1aXJlZCB3aXRoIHJlY2VudCBjaGFuZ2UgdG8gdGhlIGJ1ZmZlcnBvb2wuIFRoaXMKCSAgc2hvdWxkIGFsbG93IGNoYW5naW5nIHRoZSBjb25maWd1YXJ0aW9uLCBoZW5jZSB0aGUgd2F5IGZvcndhcmQgcmVuZWdvdGlhdGlvbgoJICBzdXBwb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjY4CgoyMDE0LTA3LTIxIDE4OjExOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmM6CgkgIHF0ZGVtdXg6IGZpeCBsYW5ndWFnZSBjb2RlIHBhcnNpbmcgZm9yIDMtbGV0dGVyIGNvZGVzIHN0YXJ0aW5nIHdpdGggJ2EnCgkgIEFuZCBoYW5kbGUgc3BlY2lhbCB2YWx1ZSBmb3IgJ3Vuc3BlY2lmaWVkJyBleHBsaWNpdGx5LgoJICBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9tYWMvZG9jdW1lbnRhdGlvbi9RdWlja1RpbWUvUVRGRi9RVEZGQ2hhcDQvcXRmZjQuaHRtbAoKMjAxNC0wNy0wOCAwMjoxODoyNyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEFkZCBzdXBwb3J0IGZvciBlbmNvZGluZyBmcm9tIE5WMjEgYW5kIE5WMTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjg3MAoKMjAxNC0wNy0xOSAxODowNDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS40LjAgPT09CgoyMDE0LTA3LTE5IDE3OjIwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNC4wCgoyMDE0LTA3LTE5IDE2OjM1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA3LTE5IDEyOjMyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNy0xOSAxMTozMDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRG9uJ3Qgb3ZlcndyaXRlIHRoZSBmaXJzdCBjb21wb25lbnQgd2l0aCB0aGUgYWxwaGEgdmFsdWUgZm9yIEJHUngKCSAgSW5zdGVhZCBsZWF2ZSB0aGUgeCBjb21wb25lbnQgdW5zZXQgd2hlbiBmaWxsaW5nIHRoZSBib3JkZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/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+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuaDoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5oOgoJICBSZW5hbWUgR3N0RGV2aWNlTW9uaXRvciB0byBHc3REZXZpY2VQcm92aWRlcgoKMjAxNC0wNi0yNCAwOToxNDo0MCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE0NAoKMjAxNC0wNi0xNiAxMTozNTozOSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRGVjbGFyZSBhcyBDb21wb3NpdG9yIGluICdrbGFzcycKCjIwMTQtMDYtMjYgMTM6NTA6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggc3BlZXggY2FwcwoJICBEZWNvZGVyIGNvbXBsYWlucyBhYm91dCAibm90aWZpY2F0aW9uOiBJbnZhbGlkIG1vZGUgZW5jb3VudGVyZWQuCgkgIFRoZSBzdHJlYW0gaXMgY29ycnVwdGVkIiB0aG91Z2gsIGV2ZW4gaWYgaXQgd29ya3MsIHNvIHRoZXJlJ3MKCSAgcHJvYmFibHkgc29tZXRoaW5nIHdyb25nIHdpdGggdGhlIGdlbmVyYXRlZCBjb2RlYyBoZWFkZXJzLgoKMjAxNC0wNi0yNiAxMzo0MzozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZml4IHNwZWV4IGluIEZMVgoJICBTcGVleCBpbiBGTFYgaXMgYWx3YXlzIG1vbm8gQCAxNmtIeiwgc2VlCgkgIGh0dHA6Ly9kb3dubG9hZC5tYWNyb21lZGlhLmNvbS9mNHYvdmlkZW9fZmlsZV9mb3JtYXRfc3BlY192MTBfMS5wZGYKCSAgc2VjdGlvbiBFLjQuMi4xOiAiSWYgdGhlIFNvdW5kRm9ybWF0IGluZGljYXRlcyBTcGVleCwgdGhlIGF1ZGlvIGlzCgkgIGNvbXByZXNzZWQgbW9ubyBzYW1wbGVkIGF0IDE2IGtIeiwgdGhlIFNvdW5kUmF0ZSBzaGFsbCBiZSAwLCB0aGUKCSAgU291bmRTaXplIHNoYWxsIGJlIDEsIGFuZCB0aGUgU291bmRUeXBlIHNoYWxsIGJlIDAiCgkgIEFsc28gc2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM2MjIKCjIwMTQtMDYtMjYgMDU6MTk6NTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogQWRkIG9iamVjdCB0eXBlIGlkIGFuZCBmb3VyY2MgZm9yIERUUy9EVFMtSEQKCSAgRW5hYmxlcyBwbGF5YmFjayBmb3IgZmlsZXMgd2l0aCBEVFMgYXVkaW8gdHJhY2tzLgoJICBBbHNvIGFkZCBhbiBleHRyYSBBQy0zIHZhcmlhbnQgZm91cmNjIGZyb20gTmVybwoKMjAxNC0wMy0xMyAxMDozNTozMCArMDEwMCAgRGF2aWQgRmVybmFuZGV6IDxkLmZlcm5hbmRlemxvcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogU29sdmUgc2VnbWVudGF0aW9uIGZhdWx0IHdoZW4gc3JjIGNhcHMgYXJlIGNvbmZpZ3VyZWQKCSAgQ2hhbmdlIGZ1bmN0aW9uIHBvaW50ZXJzIHRvIE5VTEwgd2hpbGUgaG9sZGluZyB0aGUgbG9jayB0byBhdm9pZAoJICByYWNlIGNvbmRpdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTExMAoKMjAxNC0wNi0yNSAxNDozNDoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIFNSIHBhY2tldCBoYW5kbGluZwoJICBJbXBsZW1lbnQgMyBkaWZmZXJlbnQgY2FzZXMgZm9yIGhhbmRsaW5nIHRoZSBTUjoKCSAgMSkgd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggdGltaW5nIGluZm9ybWF0aW9uIHRvIGhhbmRsZSB0aGUgU1IgcGFja2V0IGFuZAoJICB3ZSBuZWVkIHRvIHdhaXQgYSBsaXR0bGUgZm9yIG1vcmUgUlRQIHBhY2tldHMuIEluIHRoYXQgY2FzZSB3ZSBrZWVwCgkgIHRoZSBTUiBwYWNrZXQgYXJvdW5kIGFuZCByZXRyeSB3aGVuIHdlIGdldCBhbiBSVFAgcGFja2V0IGluIHRoZQoJICBjaGFpbiBmdW5jdGlvbi4KCSAgMikgdGhlIFNSIHBhY2tldCBoYXMgYSB0b28gb2xkIHRpbWVzdGFtcCBhbmQgc2hvdWxkIGJlIGRpc2NhcmRlZC4gSXQgaXMKCSAgbGFiZWxlZCBpbnZhbGlkIGFuZCB0aGUgbGFzdF9zciBpcyBjbGVhcmVkLgoJICAzKSB0aGUgU1IgcGFja2V0IGlzIG9rIGFuZCB0aGVyZSBpcyBlbm91Z2ggdGltaW5nIGluZm9ybWF0aW9uLCBwcm9jZWVkCgkgIHdpdGggcHJvY2Vzc2luZyB0aGUgU1IgcGFja2V0LgoJICBCZWZvcmUgdGhpcyBwYXRjaCwgY2FzZSAyKSBhbmQgMSkgd2VyZSBoYW5kbGVkIGluIHRoZSBzYW1lIHdheSwKCSAgcmVzdWx0aW5nIHRoYXQgU1IgcGFja2V0cyB3aXRoIHRvbyBvbGQgdGltZXN0YW1wcyB3ZXJlIGNoZWNrZWQgb3ZlciBhbmQKCSAgb3ZlciBhZ2FpbiBmb3IgZWFjaCBSVFAgcGFja2V0LgoKMjAxNC0wNi0yNCAxMDo0NzozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgdGVzdHM6IGFkZCB1ZHBzaW5rIHRlc3QgdG8gY2hlY2sgY2xpZW50IGFkZC9yZW1vdmUKCjIwMTQtMDYtMjMgMTY6MTM6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIHRlc3RzOiBwb3J0IHVkcHNpbmsgdGVzdHMgdG8gMS4wCgkgIFRoZXkgYWxsIHNlZW0gYSBiaXQgcG9pbnRsZXNzIHRob3VnaC4KCjIwMTQtMDYtMjMgMTk6NTU6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEFkZCBVWVZZIGZvcm1hdAoKMjAxNC0wNi0wNiAxMToyMDoyMSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgZ3N0cnRwc3NyY2RlbXV4OiBtYW5hZ2Ugc3NyYyBvZiBSVENQIFJSIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTMyNAoKMjAxNC0wNi0yMyAyMDo1Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogVXBkYXRlIG9mZnNldCBhZnRlciBwYXJzaW5nIGFkdGwgY2h1bmsKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgcGFyc2UgaXQgb3ZlciBhbmQgb3ZlciBhZ2FpbiB3aXRob3V0IGV2ZXIKCSAgZ2V0dGluZyBwYXN0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTMzCgoyMDEzLTA3LTA3IDIwOjE4OjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVtb3ZlIGxlZ2FjeSBjb2RlIGZvciBwYXNzaW5nIGEgd2luZG93IGhhbmRsZQoJICAiaGF2ZS1ucy12aWV3IiBhbmQgdGhlICJlbWJlZCIgcHJvcGVydHkgd2FzIGtlcHQgaW4gMC4xMCBmb3IKCSAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYnV0IGl0J3Mgbm8gbG9uZ2VyIHVzZWQgaW4gZmF2b3Igb2YKCSAgdGhlIEdzdFZpZGVvT3ZlcmxheSBpbnRlcmZhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc1MwoKMjAxNC0wNi0yMiAxOTozNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKMjAxNC0wNi0yMiAxOToyNjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBjYWxsIEdTVF9ERUJVR19PQkpFQ1QoKSBhbmQgb3RoZXIgbWFjcm9zIHdpdGggbm9uLUdPYmplY3Qgb2JqZWN0cwoJICBJdCB3aWxsIGNyYXNoIHdpdGggbGF0ZXN0IEdMaWIgR0lUIGFuZCB3YXMgbmV2ZXIgc3VwcG9zZWQgdG8gd29yayBiZWZvcmUKCSAgZWl0aGVyLgoKPT09IHJlbGVhc2UgMS4zLjMgPT09CgoyMDE0LTA2LTIyIDE4OjA4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMwoKMjAxNC0wNi0yMiAxNzozNjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNi0yMiAxNDoyNDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDYtMjEgMDE6MzI6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmM6CgkgIHB1bHNlLCB2NGwyOiB1cGRhdGUgZm9yIGRldmljZSAia2xhc3MiIC0+ICJkZXZpY2UtY2xhc3MiIHJlbmFtZQoKMjAxNC0wNi0yMCAxMjoyMTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogb3B0aW1pc2F0aW9uOiBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1vcnkgcmVmL3VucmVmcwoJICBXZSBrbm93IHRoZSBidWZmZXIgd2lsbCBzdGF5IHZhbGlkIGFuZCB3ZSB3aWxsIGFsc28gbm90CgkgIG1vZGlmeSB0aGUgYnVmZmVyLCB3ZSBqdXN0IHdhbnQgdG8gc2VuZCBvdXQgdGhlIGRhdGEuCgoyMDE0LTA2LTE5IDE0OjU5OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhdm9pZCBzb21lIHVubmVjZXNzYXJ5IHJ1bi10aW1lIHR5cGUgY2hlY2tzCgoyMDE0LTA2LTE5IDE2OjE3OjIzICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGFzcyB0aGUgc3RyZWFtIGlkIHdoZW4gYXNraW5nIGZvciBjcnlwdG8gcGFyYW1zCgkgIFRoaXMgd2F5IHRoZSBhcHAgY2FuIGNob29zZSBkaWZmZXJlbnQgcGFyYW1ldGVycyBmb3IgZWFjaCBzdHJlYW0uCgoyMDE0LTA1LTIwIDE0OjU4OjA3IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgc3VwcG9ydCBmb3Iga2V5IGxlbmd0aCBwYXJhbWV0ZXJzCgkgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0cyBmb3IgdGhlIGluY29taW5nIGtleSBtYW5hZ2VtZW50IHBhcmFtZXRlcnMgZm9yCgkgIGVuY3J5cHRpb24gYW5kIGF1dGhlbnRpY2F0aW9uIGtleSBsZW5ndGhzLgoJICBJdCBhbHNvIGFkZHMgYSBuZXcgc2lnbmFsIHJlcXVlc3QtcnRjcC1rZXkgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8KCSAgcHJvdmlkZSB0aGUgY3J5cHRvIHBhcmFtZXRlcnMgYW5kIGtleSBmb3IgdGhlIFJUQ1Agc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDczCgoyMDE0LTA2LTE5IDE1OjI1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgdnA4ZGVwYXk6IGZpeCBoZWFkZXIgc2l6ZSBjaGVja2luZwoJICBVc2UgYSBkaWZmZXJlbnQgdmFyaWFibGUgbmFtZSB0byBtYWtlIGl0IGNsZWFyIHRoYXQgd2UgYXJlIGNhbGN1bGF0aW5nCgkgIHRoZSBoZWFkZXIgc2l6ZS4KCSAgQ29ycmVjdGx5IGNoZWNrIHRoYXQgd2UgaGF2ZSBlbm91Z2ggYnl0ZXMgdG8gcmVhZCB0aGUgaGVhZGVyIGJpdHMuIFdlCgkgIHdlcmUgY2hlY2tpbmcgaWYgdGhlcmUgd2VyZSA1IGJ5dGVzIGF2YWlsYWJsZSBpbiB0aGUgaGVhZGVyIHdoaWxlIHdlCgkgIG9ubHkgbmVlZGVkIDMsIGNhdXNpbmcgdGhlIHBhY2tldCB0byBiZSBkaXNjYXJkZWQgYXMgdG9vIHNtYWxsLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTk1CgoyMDE0LTA1LTIwIDEyOjM5OjMxICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogcHJvcGFnYXRlIHRoZSBHU1RfQlVGRkVSX0ZMQUdfRElTQ09OVCBmbGFnCgkgIFNpbWlsYXJseSB0byB3aGF0IHdlIGRpZCB3aXRoIHRoZSBERUxUQV9VTklUIGZsYWcsIHRoaXMgcGF0Y2gKCSAgcHJvcGFnYXRlcyB0aGUgRElTQ09OVCBmbGFnIHRvIHRoZSBmaXJzdCBSVFAgcGFja2V0IGJlaW5nIHVzZWQgdG8gdHJhbnNmZXIgYQoJICBESVNDT05UIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU2MwoKMjAxNC0wNS0wNiAxNzo0MjoxNCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgZmxhZwoJICBEb3duc3RyZWFtIGVsZW1lbnRzIG1heSBiZSBpbnRlcmVzdGVkIGtub3dpbmcgaWYgYSBSVFAgcGFja2V0IGlzIHRoZSBzdGFydAoJICBvZiBhIGtleSBmcmFtZSAodG8gaW1wbGVtZW50IGEgUlRQIGV4dGVuc2lvbiBhcyBkZWZpbmVkIGluIHRoZQoJICBPTlZJRiBTdHJlYW1pbmcgU3BlYyBmb3IgZXhhbXBsZSkuCgkgIFdlIGRvIHRoaXMgYnkgY2hlY2tpbmcgdGhlIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIGZsYWcgd2UgcmVjZWl2ZSBmcm9tCgkgIHVwc3RyZWFtIGFuZCBwcm9wYWdhdGUgaXQgdG8gdGhlICpmaXJzdCogUlRQIHBhY2tldCBvdXRwdXR0ZWQgdG8gdHJhbnNmZXIgdGhpcwoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDUtMjAgMTM6NTg6MjAgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBnc3RydHBtcDRncGF5OiBwcm9wYWdhdGUgdGhlIEdTVF9CVUZGRVJfRkxBR19ESVNDT05UIGZsYWcKCSAgUHJvcGFnYXRlIHRoZSBESVNDT05UIGZsYWcgdG8gdGhlIGZpcnN0IFJUUCBwYWNrZXQgYmVpbmcgdXNlZCB0byB0cmFuc2ZlcgoJICBhIERJU0NPTlQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTYzCgoyMDE0LTA1LTIwIDEzOjU4OjIwICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBwcm9wYWdhdGUgdGhlIEdTVF9CVUZGRVJfRkxBR19ESVNDT05UIGZsYWcKCSAgUHJvcGFnYXRlIHRoZSBESVNDT05UIGZsYWcgdG8gdGhlIGZpcnN0IFJUUCBwYWNrZXQgYmVpbmcgdXNlZCB0byB0cmFuc2ZlcgoJICBhIERJU0NPTlQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTYzCgoyMDE0LTA2LTE4IDE1OjAzOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgbGVhayBmbG93IGNvbWJpbmVyCgoyMDE0LTA2LTE4IDE0OjM4OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwanAya3BheTogcHJlLWFsbG9jYXRlIGJ1ZmZlci1saXN0IG9mIHRoZSByaWdodCBzaXplCgoyMDE0LTA2LTE4IDE0OjM0OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoKMjAxNC0wNi0xOCAxNDoxOToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCjIwMTQtMDYtMTggMTM6NDQ6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IGFsbG9jYXRlIGJpdHJlYWRlciBvbiB0aGUgc3RhY2sKCjIwMTQtMDYtMTggMTM6Mjk6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IHBvc3QgZXJyb3IgbWVzc2FnZSBvbiBidXMgb24gZXJyb3IgYW5kIGRvbid0IHVzZSBnX21lc3NhZ2UoKQoKMjAxNC0wNi0xOCAxMzoyMDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogY291cGxlIG9mIG1pbm9yIG9wdGltaXNhdGlvbnMKCSAgUHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0IG9mIHRoZSByaWdodCBzaXplIHRvIGF2b2lkIHJlLWFsbG9jcy4KCSAgQXZvaWQgcGxlbnR5IG9mIGRvdWJsZSBydW50aW1lIGNhc3QgY2hlY2tzIGFuZCByZS1kb2luZyB0aGUKCSAgc2FtZSBjYWxjdWxhdGlvbiBvdmVyIGFuZCBvdmVyIGFnYWluIGluIHJ0cF92cDhfY2FsY19wYXlsb2FkX2xlbigpLgoJICBPbmx5IGNhbGwgZ3N0X2J1ZmZlcl9nZXRfc2l6ZSgpIG9uY2UuCgoyMDE0LTA2LTE4IDA4OjEwOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCSAgVG8gYXZvaWQgcmUtYWxsb2NzLgoKMjAxNC0wNi0xOCAwNzo1MjowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVybGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoJICBUbyBhdm9pZCB1bm5lY2Vzc2FyeSByZS1hbGxvY3MuCgoyMDE0LTA2LTE2IDIwOjE1OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IHB1c2ggc2luZ2xlIGJ1ZmZlciBkaXJlY3RseSwgbm8gbmVlZCB0byB3cmFwIGl0IGluIGEgYnVmZmVybGlzdAoJICBObyBwb2ludCBpbiBhIGJ1ZmZlciBsaXN0IGlmIHdlIGp1c3QgaGF2ZSBvbmUgc2luZ2xlCgkgIGJ1ZmZlciB0byBwdXNoLiBGaXggdXAgdW5pdCB0ZXN0IHRvIGhhbmRsZSB0aGF0IGNhc2UKCSAgYXMgd2VsbC4KCjIwMTQtMDYtMTYgMTU6MzU6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHJ0cHZyYXdwYXk6IG1ha2UgY2h1bmtzIHBlciBmcmFtZSBjb25maWd1cmFibGUKCSAgQml0IG9mIGEgbWlzbm9tZXIgYmVjYXVzZSBpdCdzIHJlYWxseSBjaHVua3MgcGVyIGZpZWxkCgkgIGFuZCBub3QgcGVyIGZyYW1lLCBidXQgd2UncmUgZ29pbmcgdG8gaWdub3JlIHRoYXQgZm9yCgkgIHRoZSB0aW1lIGJlaW5nLgoKMjAxNC0wNi0xNiAxNDo1MjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwdnJhd3BheTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTQtMDYtMTYgMTQ6NDQ6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogcHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0cyBvZiBzdWZmaWNpZW50IHNpemUKCSAgQXZvaWRzIHVubmVjZXNzYXJ5IHJlYWxsb2NzIHdoZW4gYXBwZW5kaW5nIGJ1ZmZlcnMKCSAgdG8gdGhlIGJ1ZmZlcmxpc3QuCgoyMDE0LTA2LTE2IDEzOjUxOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IG1pY3JvLW9wdGltaXNlIHZhcmlhYmxlIGFjY2VzcyBpbiBpbm5lciBsb29wCgkgIFN0b3JlIHNvbWUgdmFsdWVzIHRoYXQgZG9uJ3QgY2hhbmdlIGR1cmluZyB0aGUgZXhlY3V0aW9uCgkgIG9mIHRoZSBpbm5lciBsb29wcyBsb2NhbGx5LCBzbyB0aGUgY29tcGlsZXIga25vd3MgdGhhdCB0b28uCgoyMDE0LTA2LTE2IDEzOjM4OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IHVzZSBidWZmZXIgbGlzdHMKCSAgQ29sbGVjdCBidWZmZXJzIHRvIHNlbmQgb3V0IGluIGJ1ZmZlciBsaXN0cyBpbnN0ZWFkIG9mCgkgIHB1c2hpbmcgb3V0IHNpbmdsZSBidWZmZXJzIG9uZSBhdCBhIHRpbWUuIEZvciBIRCB2aWRlbwoJICBlYWNoIGZyYW1lIG1pZ2h0IGVhc2lseSBhZGQgdXAgdG8gYSBjb3VwbGUgb2YgdGhvdXNhbmQKCSAgcGFja2V0cywgbXVsdGlwbHkgdGhhdCBieSB0aGUgZnJhbWUgcmF0ZSBhbmQgdGhhdCdzIGEKCSAgbG90IG9mIHB1c2goKSBhbmQgc2VuZG1zZygpIGNhbGxzIHBlciBzZWNvbmQuCgkgIEEgZ29vZCByZWFzb24gdG8gcHVzaCBvdXQgYnVmZmVycyBhcyBlYXJseSBhcyBwb3NzaWJsZSBpcwoJICBsYXRlbmN5LCBzbyB3ZSBkb24ndCBhY2N1bXVsYXRlIHRoZSB3aG9sZSBmcmFtZSBpbiBhIHNpbmdsZQoJICBidWZmZXIgbGlzdCwgYnV0IGluc3RlYWQgcHVzaCBpdCBvdXQgaW4gYSBmZXcgY2h1bmtzLCB3aGljaAoJICBpcyBob3BlZnVsbHkgYSByZWFzb25hYmxlIGNvbXByb21pc2UuCgoyMDE0LTA2LTE2IDE2OjQwOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogaW1wcm92ZSBlbGVtZW50IGRlc2NyaXB0aW9ucyBmb3IgZHludWRwc2luayBhbmQgbXVsdGl1ZHBzaW5rCgoyMDE0LTA2LTE2IDE2OjE3OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogcmVtb3ZlIHN1cHByZXNzaW9uIG9mIGNvbXBpbGVyIHdhcm5pbmdzIGZvciBkZXByZWNhdGVkIEdMaWIgQVBJCgkgIE5vdCBuZWVkZWQgYW55IG1vcmUuCgoyMDE0LTA2LTE3IDEzOjE2OjI3ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IGNhcHMgbmVnb3RpYXRpb24gaXNzdWUKCSAgTWFrZSBzdXJlIHRoYXQgaWYgQVlVViBpcyByZWNlaXZlZCBpdCB3aWxsIGRldGVjdCB0aGF0IGl0IGNhbiBwcm9kdWNlCgkgIGJvdGggUkdCIGFuZCBZVVYgZm9ybWF0cwoJICBTaWduZWQtb2ZmLWJ5OiBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTI0OAoKMjAxNC0wNi0xNiAxMjowMjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IGZpeCBkb3VibGUgZnJlZXMKCSAgRml4IGRvdWJsZS1mcmVlcyBpbnRyb2R1Y2VkIHRvIGZpeCBhbm90aGVyIGNvdmVyaXR5IHJlcG9ydC4KCSAgQ0lEIDEyMjMwNTMKCjIwMTQtMDYtMTMgMTA6MTI6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgZHludWRwc2luazogcmV0dXJuIEZMVVNISU5HIHdoZW4gc2VuZHRvIGdvdCBjYW5jZWxlZCwgbm90IGFuIGVycm9yCgoyMDE0LTA2LTEzIDA5OjUyOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgb3NzOiBzaW1wbGlmeSBwcm9iZWQgY2FwcyBiZWZvcmUgcmV0dXJuaW5nIHRoZW0KCSAgRXhwb3NlcyBhbGwgZm9ybWF0cyBpbiB0aGUgZmlyc3Qgc3RydWN0dXJlIGlmIHRoZQoJICByZXN0IGlzIHRoZSBzYW1lIGZvciBhbGwgb2YgdGhlbS4KCjIwMTQtMDYtMTMgMDk6NDU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3M6IG1ha2Ugc3VyZSAxNi1iaXQgZm9ybWF0cyBhcmUgYmVmb3JlIDgtYml0IGZvcm1hdHMgaW4gcHJvYmVkIGNhcHMKCSAgUHJvYmUgc3VwcG9ydGVkIGZvcm1hdHMgaW4gb3JkZXIgb2YgZGVzaXJhYmlsaXR5IHJhdGhlciB0aGFuIGluCgkgIHdoYXQgb3JkZXIgdGhleSBtYXkgaGFwcGVuIHRvIGJlIGluIHRoZSBmb3JtYXRzIGJpdG1hc2suIEZpeGVzCgkgIGFjY2lkZW50YWxseSBleHBvc3VyZSBvZiA4LWJpdCBmb3JtYXRzIGluIGNhcHMgYmVmb3JlIDE2LWJpdCBmb3JtYXRzCgkgIChpbiBjYXNlIHdoZXJlIFUxNiB3YXMgbm90IHN1cHBvcnRlZCBTOCBtaWdodCBiZSBsaXN0ZWQgYmVmb3JlIFMxNikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY4ODQKCjIwMTQtMDYtMTIgMTY6MzY6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDbGVhbmx5IGhhbmRsZSB2NGwyX2FsbG9jYXRvcl9uZXcgZmFpbHVyZQoKMjAxNC0wNi0xMiAxMToyNDoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yZGVwYXk6IGZpeCBsZWFrcwoJICBDb3Zlcml0eSAxMjEyMTYzCgoyMDE0LTA2LTEyIDExOjE2OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBsZWFrIGZpeGVzCgkgIENvdmVyaXR5IDEyMTIxNTkKCjIwMTQtMDYtMTIgMTE6MTE6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCBsZWFrCgkgIENvdmVyaXR5IDEyMTIxNTcKCjIwMTQtMDYtMTIgMTA6NDM6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCBsZWFrcwoJICBDb3Zlcml0eSAxMjEyMTQ5CgoyMDE0LTA2LTEyIDEwOjMxOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSAgcnRwZHZwYXk6IGNhdGNoIGZhaWx1cmVzIHRvIG1hcCBidWZmZXIKCSAgQ292ZXJpdHkgMTEzOTc0MQoKMjAxNC0wNi0xMSAxNzo0Mzo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBndWFyZCBhZ2FpbnN0IGhhdmluZyBubyBNSU1FIHR5cGUKCSAgVGhlIGNvZGUgd291bGQgcHJldmlvdXNseSBjcmFzaCB0cnlpbmcgdG8gaW5zZXJ0IGEgTlVMTCBzdHJpbmcKCSAgaW50byBhIGhhc2ggdGFibGUuCgkgIEl0IGRvZXMgc2VlbSBhIGxpdHRsZSBicm9rZW4gdGhhdCBpbmRleGluZyBpcyBkb25lIGJ5IE1JTUUgdHlwZQoJICBhbmQgbm90IGJ5IGluZGV4IHRob3VnaCwgdW5sZXNzIHRoZSBzcGVjIHNheXMgdGhlcmUgY2Fubm90IGJlCgkgIHR3byBwYXJ0cyB3aXRoIHRoZSBzYW1lIE1JTUUgdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTU3MwoKMjAxNC0wNi0xMCAxNTo0MjoxNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIFRoaXMgZXZlbnQgd2FzIG5vdCBzZW50LiBTZW5kIGl0IGJlZm9yZSBjYXBzLCB0aGlzIHJlcXVpcmVzIHRoZSBwYWQgdG8KCSAgYmUgcGFyZW50ZWQuIFRoaXMgcmVtb3ZlcyB3YXJuaW5nIGxpa2U6ICJHb3QgZGF0YSBmbG93IGJlZm9yZQoJICBzdHJlYW0tc3RhcnQgZXZlbnQiLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNDc1CgoyMDE0LTA2LTEwIDE1OjMzOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBsb29waW5nIGluZGVmaW5pdGVseSBpbiBicm9rZW4gc3ZxMyBmaWxlcwoJICBBYm9ydCBpZiBhbiBhdG9tIHdpdGggc2l6ZSAwIGlzIHJlYWQgZnJvbSB3aXRoaW4gdGhlIHN2cTMgc3RzZAoJICBhdG9tcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTEyCgoyMDE0LTA2LTEwIDEwOjUyOjIzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYWRkIGNvbnN0IHdoZXJlIGFwcHJvcHJpYXRlCgoyMDE0LTA2LTA5IDEwOjM5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBhZGQgbWlzc2luZyB2YV9lbmQgaW4gdmFyaWFkaWMgZnVuY3Rpb24KCSAgQ292ZXJpdHkgMTEzOTk0NAoKMjAxNC0wNi0wOSAxMDowNDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEF0dGVtcHQgdXBzdHJlYW0gc2VlayBmaXJzdAoJICBJZiB3ZSBoYXZlIGFuIHVwc3RyZWFtIGVsZW1lbnQgdGhhdCBjYW4gaGFuZGxlIHRoZSBzZWVrIChzdWNoIGFzCgkgIHJ0bXBzcmMpLCB0cnkgdG8gZG8gdGhhdCBmaXJzdCBiZWZvcmUgYXR0ZW1wdGluZyBpdCBvdXJzZWxmLgoKMjAxNC0wNi0wNCAxMTozNDoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvIG5vdCBpbmNsdWRlIGNvZGVjX2RhdGEgb24gcmF3IGF1ZGlvIGNhcHMKCSAgSWYgdGhlIHdhdiBoZWFkZXIgY29udGFpbnMgYW4gZXh0ZW5kZWQgY2h1bmssIHdlIHdhbnQgdG8ga2VlcAoJICB0aGUgY29kZWNfZGF0YSBmaWVsZCwgYnV0IG5vdCBmb3IgcmF3IGF1ZGlvLgoJICBUaGlzIGZpeGVzIHNvbWUgZWxlbWVudHMgKHN1Y2ggYXMgYWRkZXIpIGZyb20gZmFpbGluZyB0byBpbnRlcnNlY3QKCSAgcmF3IGF1ZGlvIGNhcHMgd2hpY2ggd291bGQgb3RoZXJ3aXNlIGJlIGludGVyc2VjdGFibGUuCgoyMDE0LTA2LTA1IDA5OjM4OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUXVlcnkgZHVyYXRpb24gdXBzdHJlYW0gZmlyc3QKCSAgVXBzdHJlYW0gZWxlbWVudHMgKGxpa2UgcnRtcHNyYykgbWlnaHQgYmUgYWJsZSB0byBwcm92aWRlIHRoZSBkdXJhdGlvbgoJICBtb3JlIGFjY3VyYXRlbHkgdGhhbiBmbHZkZW11eC4gRXNwZWNpYWxseSB3aXRoIGluZGV4LWxlc3Mgdm9kIGZpbGVzCgoyMDE0LTA1LTMwIDE5OjM3OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ2xlYW51cCBwb2xsIG1ldGhvZCBhbmQgcmV0cnkgb24gRUlOVFIvRUFHQUlOCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwMTUKCjIwMTQtMDMtMDYgMTY6Mzc6NTEgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzZXQgUkVTWU5DIGJ1ZmZlciBmbGFnIHdoZW4gYnJpZGdpbmcgbGFyZ2UgUFRTIGdhcHMKCSAgU28gZG93bnN0cmVhbSBnZXRzIG5vdGlmaWVkIHdoZW4gdGhpcyBoYXBwZW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1OTAzCgoyMDE0LTA2LTAzIDE3OjU5OjMyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cHJ0eDogUmVzZXQgc3RhdGUgb24gZWFjaCBpdGVyYXRpb24KCSAgT3RoZXJ3aXNlIGl0IGRpZG4ndCB3YWl0IGZvciB0aGUgdGVzdCB0byBmaW5pc2ggYmVmb3JlIGNoZWNraW5nIHRoZSByZXN1bHRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NTAxCgoyMDE0LTA1LTA5IDE0OjIyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGxlYWsgZG9jdHlwZSBzdHJpbmcgaW4gZXJyb3IgY29kZSBwYXRoCgkgIENJRCAxMjEyMTQ1LgoKMjAxNC0wNS0yMCAwODoyMDo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgY2hlY2tzCgkgIENJRCAjMTE5NzcwMwoKMjAxNC0wNS0yMCAwODoyMzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgdmFyaWFibGUKCSAgQ0lEICMxMTM5ODM4CgoyMDE0LTA1LTMwIDE0OjMyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1cHN0cmVhbSBoYW5kbGVzIHNlZWsgaWYgZnJhZ21lbnRlZCBhbmQgb24gdGltZSBzZWdtZW50CgkgIE90aGVyd2lzZSB3ZSBjYW4gcmVqZWN0IHNlZWtzIG9uIGxvY2FsIGZpbGVzIHRoYXQgY29udGFpbiBmcmFnbWVudGVkLWxpa2UKCSAgYXRvbXMgbGlrZSAnbXZleCcuIEFsc28gaW1wcm92ZSBhIG1lc3NhZ2UgbG9nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3MjIKCjIwMTQtMDUtMzAgMTY6NDM6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBtYWtlIHN1cmUgd2UgY2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTAoJICBDYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMIGluIHRoZSBTVEFQLUEgUlRQIHBhY2tldC4gVGhpcyBtYWtlcwoJICBzdXJlIHdlIGNvcnJlY3RseSBleHRyYWN0IHRoZSBTUFMgYW5kIFBQUy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDk5OQoKMjAxNC0wNS0wNyAxNDowOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgY3VzdG9tIHN0aWNreSBldmVudCB0byBjb250YWluIHRoZSBIVFRQIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGhlYWRlcnMKCSAgVGhpcyBjYW4gYmUgdXNlZnVsIHRvIGUuZy4gZ2V0IGNvb2tpZSBpbmZvcm1hdGlvbiBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzA3CgoyMDE0LTA1LTI2IDE5OjQ3OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogcmVtb3ZlIHN0cmVhbSBsYXN0IGZsb3cgcmV0dXJuCgkgIEdzdFBhZCBhbHJlYWR5IHN0b3JlcyB0aGF0IGluZm9ybWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTk6Mzc6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBsYXN0IGZsb3cgcmV0dXJuIGZyb20gc3RyZWFtIHN0cnVjdAoJICBJdCBpcyBhbHJlYWR5IHN0b3JlZCBvbiBHc3RQYWQgb24gY29yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDE5OjE5OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogVXNlIEdzdEZsb3dDb21iaW5lcgoJICBVc2UgdGhlIGZsb3cgY29tYmluZXIgdG8gaGF2ZSB0aGUgc3RhbmRhcmQgY29tYmluYXRpb24gcmVzdWx0cyBhbmQgYXZvaWQKCSAgcmVwZWF0aW5nIHRoZSBzYW1lIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxMzoyMToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFVzZSB0aGUgZmxvdyBjb21iaW5lciB0byBoYXZlIHRoZSBzdGFuZGFyZCBjb21iaW5hdGlvbiByZXN1bHRzIGFuZCBhdm9pZAoJICByZXBlYXRpbmcgdGhlIHNhbWUgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDEzOjA0OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIGZsb3cgcmV0dXJuIGNvbWJpbmF0aW9uIGNvZGUgdG8gdXNlIHRoZSBuZXdseSBhZGRlZCBHc3RGbG93Q29tYmluZXIKCjIwMTQtMDUtMjMgMTc6NTM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgdGhlIGNvbW1vbiBjb2RlIHRvIGNvbWJpbmluZyBmbG93IHJldHVybnMgdG8gbGV0IGl0IGJlCgkgIGhhbmRsZWQgYnkgY29yZSBnc3R1dGlscycgR3N0Rmxvd0NvbWJpbmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTA6NTk6NTUgLTA0MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGltcGxlbWVudCBnc3R2aWRlb3Npbmsuc2hvd19mcmFtZSBpbnN0ZWFkIG9mIGdzdGJhc2VzaW5rLnJlbmRlcgoJICBJdCBhbGxvd3MgdG8gc2hvdyBwcmVyb2xsIGZyYW1lLiBFc3BlY2lhbGx5IGl0IGFsbG93cyB0byB1cGRhdGUgdGhlCgkgIGZyYW1lIHdoZW4gc2Vla2luZyBpbiBQQVVTRUQgc3RhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMDMKCjIwMTQtMDUtMjYgMTA6NTk6MDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBDbGVhbnVwIG9sZCBwYWQgYWxsb2MgZGVjbGFyYXRpb24KCjIwMTQtMDUtMjYgMTI6MzQ6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDb3B5IGFscmVhZHkgcXVldWVkIGJ1ZmZlcgoJICBUaGlzIGlzIHJlcXVpcmVkIGFzIGR1cmluZyBwcmVyb2xsIHdlIHBhc3MgdGhlIGZpcnN0IGJ1ZmZlciB0d2ljZSwgaGVuY2UgYWxyZWFkeQoJICBxdWV1ZWQuIEl0IGlzIGFsc28gdXNlZnVsLCB0byBhbGxvdyBmaWx0ZXJzIHJlcGxheWluZyBhIHByZXZpb3VzIHJlbmRlcmVkIGJ1ZmZlcnMuCgkgIFRoaXMgd2lsbCByZXF1aXJlIDEgbW9yZSBidWZmZXIgaW4gc2luayBpZiBsYXN0LXNhbXBsZSBpcyBlbmFibGVkLCBzaW5jZSB0aGUgbGFzdAoJICBzYW1wbGUgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnRseSBxdWV1ZWQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzAzCgoyMDE0LTA1LTI0IDIwOjIwOjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFBvcnQgdG8gYnVmZmVycG9vbCBmbHVzaF9zdGFydC9zdG9wIG1ldGhvZAoJICBQb3J0IHRoZSBidWZmZXIgcG9vbCB0byB1c2UgdGhlIG5ldyBmbHVzaF9zdGFydC9mbHVzaF9zdG9wIHZpcnR1YWwKCSAgbWV0aG9kcyBhZGRlZCB0byBHc3RCdWZmZXJQb29sLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NjExCgoyMDE0LTA1LTI1IDE3OjQwOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlCgoyMDE0LTA1LTI1IDE2OjU0OjE4ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1NTYKCjIwMTQtMDUtMjQgMjM6NTE6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IHF1ZXVlIGFsbCB0aGUgYnVmZmVycyBiZWZvcmUgZGVxdWV1ZWluZyBmaXJzdAoJICBGb3Igb3V0cHV0IGRldmljZSwgd2Ugd2hlcmUgcXVldWluZyBhbGwgdGhlIGJ1ZmZlcnMsIGFuZCB0aGVuIHdlIHdvdWxkCgkgIGRlcXVldWUgb25lLiBUaGlzIG1lYW5zIHdlIG9ubHkgaGF2ZSAxIGJ1ZmZlciBmb3IgdGhlIHBpcGVsaW5lLCBubyBtYXR0ZXIKCSAgdGhlIHNpemUgb2YgdGhlIHF1ZXVlLiBJbnN0ZWFkLCBzdGFydCBkZXF1ZXVlZCB3aGVuIG1pbl9sYXRlbmN5IGlzIHJlYWNoZWQuCgkgIEV2ZW50dWFsbHksIHRoaXMgdGhlIG1pbl9sYXRlbmN5IHNob3VsZCBhbHNvIGJlIGFmZmVjdGVkIGJ5IGNvbnRyb2wKCSAgTUlOX0JVRkZFUlNfRk9SX09VVFBVVCAodXNlIGJ5IGVuY29kZXJzKS4KCjIwMTQtMDUtMjQgMjM6NDk6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBTaW1wbHkgcmVhZCBiYWNrIHRoZSBjb25maWcgdG8gdXBkYXRlIHRoZSBxdWVyeQoJICBJdCdzIGVhc3kgdG8gZ2V0IHRoZSBtaW4vbWF4IG91dGRhdGUgd2hlbiBoYWNraW5nIGRlY2lkZSBhbGxvY2F0aW9uLiBJbgoJICBvcmRlciB0byBhdm9pZCB0aGlzLCBzaW1wbHkgcmVhZCBiYWNrIHRoZSBjaG9vc2VuIHZhbHVlIGZyb20gdGhlIGNvbmZpZy4KCjIwMTQtMDUtMjQgMjM6MzE6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBDbGVhbnVwIGFuZCBmaXggY2FsY3VsYXRpb24gb2YgbGF0ZW5jeQoJICBDYWxjdWxhdGlvbiBvZiBudW1fYnVmZmVycyAodGhlIG1heCBsYXRlbmN5IGluIGJ1ZmZlcnMpIHdhcwoJICB1cC1zaWRlLWRvd24uICBJZiB3ZSBjYW4gYWxsY29hdGUsIHRoZW4gb3VyIG1heGltdW0gbGF0ZW5jeSBtYXRjaAoJICBwb29sIG1heGltdW0gbnVtYmVyIG9mIGJ1ZmZlcnMuIEFsc28gcmVuYW1lZCBpdCB0byBtYXggbGF0ZW5jeS4gRmluYWxseQoJICBpbnRyb2R1Y2VkIGEgbWluX2xhdGVuY3kgZm9yIGNsYXJpdHkuCgoyMDE0LTA1LTI0IDIwOjAwOjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgUmV2ZXJ0ICJ2NGwyYnVmZmVycG9vbDogUG9ydCB0byBidWZmZXJwb29sIGZsdXNoX3N0YXJ0L3N0b3AgbWV0aG9kIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDJlMGZiNDJlODY4ZmM5ZjZkOThiMDI4ZGVmODBhM2U5NTM1MjczMDcuCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jCgkgIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmMKCjIwMTQtMDUtMjQgMTg6NTY6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggY29uZmlndXJhdGlvbiBvZiBvdGhlcl9wb29sIGFuZCBpbXBvcnRhdGlvbiBjYXNlCgkgIEZpeCB0aGUgY2hvaWNlIG9mIG1pbi9tYXgsIGRvbid0IG92ZXJyaWRlIHRoZSBtaW4vbWF4IHdpdGggb3duIHBvb2wgc2VsZWN0ZWQKCSAgc2l6ZSwgY29ycmVjdCBvdGhlcl9wb29sIGlzX2FjdGl2ZSBjaGVjaywgc3RhcnQgZnJvbSBvdGhlcl9wb29sIGNvbmZpZyB3aGVuCgkgIGNvbmZpZ3VyaW5nIHRoZSBvdGhlciBwb29sIGFuZCBmaW5hbGx5IHZhbGlkYXRlIHRoZSBjb25maWd1cmF0aW9uLgoKMjAxNC0wNS0yNCAxODo0NTozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVzZSBwcm9wb3NlZCBhbGxvY2F0b3IgYXMgZGVmYXVsdAoKMjAxNC0wNS0yNCAxODo0MzoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IFVTRVJQVFIgbWFwIGZsYWdzCgkgIFdlIG5lZWQgdG8gbWFwIFJFQUQgb25seSBmb3Igb3V0cHV0IGFuZCB3cml0ZSBvbmx5IGZvciBjYXB0dXJlLCB3ZSB3aGVyZQoJICBkb2luZyB0aGUgb3Bwb3NpdGUuIFRoaXMgZml4aW5nIFVTRVJQVFIgd2l0aCBnbGltYWdlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjk4CgoyMDE0LTA1LTI0IDExOjE2OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXJzZSB0a2hkIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBhbmQgYWRkIHRhZ3MgaWYgYXBwcm9wcmlhdGUKCSAgSGFuZGxlIHRoZSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggY2FzZXMgd2hlcmUgdGhlcmUgYXJlIG9ubHkgc2ltcGxlIHJvdGF0aW9ucwoJICAoOTAsIDE4MCBvciAyNzAgZGVncmVlcykgYW5kIHVzZSBhIHRhZyBmb3IgdGhvc2UgY2FzZXMuIFRoaXMgaXMgYSBjb21tb24gc2NlbmFyaW8KCSAgd2hlbiByZWNvcmRpbmcgd2l0aCBtb2JpbGUgZGV2aWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NTIyCgoyMDE0LTA1LTIzIDE5OjEwOjIxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUHJldmVudCBudW1fcXVldWVkIGZyb20gZ29pbmcgbmVnYXRpdmUKCjIwMTQtMDUtMjMgMTg6MjU6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IGRvbid0IHN0b3AgaWYgbG9vcCByZXR1cm5lZCBGTFVTSElORwoJICBUaGUgZGVjb2RlaW5nIHRocmVhZCByZXR1cm5pbmcgZmx1c2hpbmcgaXNuJ3QgYW4gZXJyb3IsIHdlIHNob3VsZCBzaW1wbHkKCSAgdHJ5IHN0YXJ0aW5nIHRoZSB0YXNrIGFnYWluLiBJZiBpdCdzIGFjdHVhbGx5IGZsdXNoaW5nLCBpdCB3aWxsIHN0b3AgYWdhaW4gYnkgaXRzZWxmLgoKMjAxNC0wNS0yMyAxNzo1NDoyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSGFuZGxlIGVhcmx5IHRhc2sgc3RvcAoKMjAxNC0wNS0yMyAxNzoyODoxMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSGFuZGxlIGdzdF9wYWRfc3RhcnRfdGFzaygpIGZhaWx1cmUKCjIwMTQtMDUtMjMgMTc6MTk6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEFkZCB0cmFjZSBmb3IgRkxVU0hfU1RBUlQvU1RPUCBoYW5kbGluZwoKMjAxNC0wNS0yMyAxNzoxODoxNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRml4IHVzZSBvZiBhdG9taWMgdmFsdWUKCjIwMTQtMDUtMjMgMTc6MDE6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBJbXByb3ZlIGRlYnVnZ2luZwoJICBObyBuZWVkIHRvIHVzZSBvYmotPmVsZW1lbnQsIHRoZSBwb29sIG5vdyBoYXZlIGEgc2lnbmlmaWNhbnQgbmFtZS4gQWxzbyBkb24ndAoJICB3YXJuIGlmIGZsdXNoaW5nLgoKMjAxNC0wNS0yMyAxNzowMTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRml4IGhhbmRsZV9mcmFtZSBlcnJvciBoYW5kbGluZwoKMjAxNC0wNS0yMyAxNTo1NjoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFkZCBhIHRyYWNlIHdoZW4gX3N0YXJ0KCkgaXMgY2FsbGVkCgoyMDE0LTA1LTIzIDE1OjU2OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEFkZCBkZWJ1ZyBhc3NlcnQgdG8gZGV0ZWN0IGNhbGxzIGluIHRoZSB3cm9uZyBzdGF0ZQoKMjAxNC0wNS0yMyAxNTo1NToyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZXNldCBjb3VudCB3aGVuIHN0b3BwZWQKCjIwMTQtMDUtMjMgMTU6NTU6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJldHVybiBhIEdzdEZsb3dSZXR1cm4gaW5zdGVhZCBvZiBib29sZWFuIGluIGFsbG9jCgoyMDE0LTA1LTIzIDE1OjE3OjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgY29uZmlnIHN0cnVjdHVyZQoKMjAxNC0wNS0yMyAxNDoxMjoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyYnVmZmVycG9vbDogUG9ydCB0byBidWZmZXJwb29sIGZsdXNoX3N0YXJ0L3N0b3AgbWV0aG9kCgoyMDE0LTA1LTIzIDAzOjAwOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgdGFnIG1hcHBpbmdzIGZvciBfc3dyLCBfbWFrIGFuZCBfbW9kIHRhZ3MKCSAgc3dyIC0+IEFwcGxpY2F0aW9uIG5hbWUKCSAgbWFrIC0+IGRldmljZSBtYW51ZmFjdHVyZXIKCSAgbW9kIC0+IGRldmljZSBtb2RlbAoKMjAxNC0wNS0yMCAxNzozNzo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggeGltYWdlIGxlYWtzIHdoZW4gYnVmZmVyIGhhcyBtb3JlIHRoZW4gb25lIHhpbWFnZQoJICBGcm9tIHRpbWUgdG8gdGltZSwgd2hlbiB0aGUgaW1hZ2VfcG9vbCBsaXN0IGhhcyBtb3JlIHRoZW4gMSBlbGVtZW50CgkgIGFuZCBJIHN1cHBvc2UgYXQgc3RhcnQsIGFsbCBidXQgMSBwb29sZWQgeGltYWdlIGFyZSBsZWFrZWQuIFRoaXMgaXMKCSAgZHVlIHRvIGJyb2tlbiBhbGdvcml0aG0gaW4gZ3N0X3hpbWFnZXNpbmtfc3JjX3hpbWFnZV9nZXQoKS4gVGhlcmUgd2FzCgkgIGFsc28gYSByaXNrIG9mIHVzZSBhZnRlciBmcmVlIGZvciB0aGUgY2FzZSB3aGVyZSB0aGUgeGltYWdlIHNpemUgaGFzCgkgIGNoYW5nZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MDIKCjIwMTQtMDUtMjEgMTM6MjM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4yID09PQoKMjAxNC0wNS0yMSAxMzowNjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC1idWlsZC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4yCgoyMDE0LTA1LTIxIDEyOjE5OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTIxIDEwOjUxOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMTFmYTVmIHRvIDFmNWQzYzMKCjIwMTQtMDUtMjAgMDg6MjM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHZhcmlhYmxlCgkgIENJRCAjMTEzOTgzOAoKMjAxNC0wNS0yMCAwODoyMDo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgY2hlY2tzCgkgIENJRCAjMTE5NzcwMwoKMjAxNC0wNS0xOSAxMToyNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBFeHBsaWNpdGx5IGNhc3QgZW51bSAic3VidHlwZSIgdG8gaXRzICJzdXBlcnR5cGUiCgkgIGdzdHY0bDJidWZmZXJwb29sLmM6NjA4OjE4OiBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUKCSAgJ2VudW0gX0dzdFY0bDJCdWZmZXJQb29sQWNxdWlyZUZsYWdzJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZQoJICAnR3N0QnVmZmVyUG9vbEFjcXVpcmVGbGFncycgWy1XZXJyb3IsLVdlbnVtLWNvbnZlcnNpb25dCgkgIHBhcmFtcy5mbGFncyA9IEdTVF9WNEwyX1BPT0xfQUNRVUlSRV9GTEFHX1JFU1VSRUNUOwoJICB+IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE0LTA1LTE5IDExOjI0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJICBnb29tOiBVc2UgZmFicygpIGluc3RlYWQgb2YgYWJzKCkgdG8gY2FsY3VsYXRlIHRoZSBmbG9hdGluZyBwb2ludCBhYnNvbHV0ZSB2YWx1ZQoJICB0ZW50YWNsZTNkLmM6MjY4Ojc6IGVycm9yOiB1c2luZyBpbnRlZ2VyIGFic29sdXRlIHZhbHVlIGZ1bmN0aW9uICdhYnMnIHdoZW4KCSAgYXJndW1lbnQgaXMgb2YgZmxvYXRpbmcgcG9pbnQgdHlwZSBbLVdlcnJvciwtV2Fic29sdXRlLXZhbHVlXQoJICBpZiAoYWJzICh0bXAgLSBmeF9kYXRhLT5yb3QpID4gYWJzICh0bXAgLSAoZnhfZGF0YS0+cm90ICsgMi4wICogR19QSSkpKSB7CgkgIF4KCjIwMTQtMDUtMTkgMTE6MjE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJICBkZWJ1Z3V0aWxzOiBQcm9wZXJseSBjYWxjdWxhdGUgdGhlIGRpZmZlcmVuY2Ugd2l0aCB1bnNpZ25lZCB0eXBlcwoJICB0ZXN0cy5jOjE2MToxNjogZXJyb3I6IHRha2luZyB0aGUgYWJzb2x1dGUgdmFsdWUgb2YgdW5zaWduZWQgdHlwZQoJICAndW5zaWduZWQgbG9uZycgaGFzIG5vIGVmZmVjdCBbLVdlcnJvciwtV2Fic29sdXRlLXZhbHVlXQoJICB0LT5kaWZmICs9IGxhYnMgKEdTVF9CVUZGRVJfVElNRVNUQU1QIChidWZmZXIpIC0gdC0+ZXhwZWN0ZWQpOwoKMjAxNC0wNS0xNiAxNzo0NjozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSGFuZGxlIGZsdXNoIHdoaWxlIGluIHN0YXJ0X3N0cmVhbWluZwoJICBXZSBuZWVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhIGZsdXNoIG9jY3VyZSB3aGlsZSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCBpcyBiZWluZyBicm91Z2h0IHVwLiBJbiB0aGlzIGNhc2UsIHRoZSBmbHVzaGluZyBzdGF0ZSBvZiB0aGUgcG9sbAoJICBvYmplY3QgaXMgY2xlYXJlZC4gVG8gc29sdmUgdGhpcywgd2Ugc2ltcGx5IHNldCB0aGUgY2FwdHVyZSBwb2xsIHRvIGZsdXNoaW5nCgkgIGFnYWluLCB0aGlzIHdheSB3ZSBrbm93IHRoZSB0aHJlYWQgd2lsbCBleGl0LiBUaGUgZGVjb2RlciBzdHJlYW1sb2NrCgkgIGlzIHVzZWQgdG8gc3luY2hyb25pemUgd2l0aCBoYW5kbGUgZnJhbWUuCgoyMDE0LTA1LTE2IDE2OjQ0OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IERvbid0IHRyYWNlIHR3aWNlIHRoZSBzYW1lIG1lc3NhZ2UKCjIwMTQtMDUtMTUgMTE6MjU6NTAgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHdheXMgdXNlIGEgcmFuZG9tIHNzcmMgZm9yIHRoZSBpbnRlcm5hbCBzZXNzaW9uCgkgIFVzZSBhIHJhbmRvbSBTU1JDIGRpZmZlcmVudCB0aGFuIDAgZm9yIHRoZSBpbnRlcm5hbCBzZXNzaW9uIFNTUkMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMTIKCjIwMTQtMDUtMTYgMTY6NTI6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1cGRhdGUgbGFzdF9hY3Rpdml0eSB3aGVuIHNlbmRpbmcgUlRQCgkgIEFsc28gdXBkYXRlIGxhc3RfYWN0aXZpdHkgd2hlbiBkb2luZyBzb21ldGhpbmcgd2l0aCB0aGUgaW50ZXJuYWwKCSAgc291cmNlIHRvIG1ha2Ugc3VyZSBkb24ndCB0aW1lb3V0IGVhcmx5LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIxNwoKMjAxNC0wNS0xNSAxODowODo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IENsZWFudXAgTTJNIHByb3BlcnRpZXMKCSAgTTJNIGRldmljZXMgd2VyZSBzaGFyaW5nIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgc3JjIGFuZCBzaW5rLiBNb3N0IG9mCgkgIHRoZXNlIG1hZGUgbm8gc2Vuc2UuIFRoaXMgcGF0Y2ggcmVkdWNlcyB0aGUgbnVtYmVyIG9mIHByb3BldGllcyBhbmQKCSAgbWFrZXMgaW8tbW9kZSBjbGVhcmVyIGJ5IGhhdmluZyBjYXB0dXJlLWlvLW1vZGUgYW5kIG91dHB1dC1pby1tb2RlLiBUaGlzCgkgIGFsc28gYWNjaWRlbnRseSBmaXhlZCBhIGJ1ZyBpbiBnc3R2NGwydHJhbnNmb3JtIGlvLW1vZGUgY29kZSwgd2hlcmUgdGhlCgkgIGNhcHR1cmUgaW8tbW9kZSBjb3VsZCBub3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTkxCgoyMDE0LTA1LTE1IDE3OjM5OjM5ICswMjAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBVcGRhdGUgcG9vbCBsaW1pdCB3aXRoIGhhcmR3YXJlIHJlcXVpcmVtZW5zdAoJICBJZiB0aGUgZHJpdmVyIG5lZWQgbW9yZSBidWZmZXJzIHRoYW4gcmVxdWVzdGVkIGJ5IHRoZSBjb25maWcsCgkgIHVwZGF0ZSB0aGUgcG9vbCBtaW4vbWF4IHZhbHVlcy4gVGhlIG1pbmltdW0gdmFsdWUgZm9yIHRoZSBwb29sCgkgIGNvdWxkIGJlIHByb3ZpZGVkIGVpdGhlciBieSB0aGUgZHJpdmVyIG9yIGJ5IHRoZSBwb29sLiBUaGlzIGlzCgkgIGJlc3QgZWZmb3J0IGZvciBkcml2ZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydAoJICBDSUQgVjRMMl9DSURfTUlOX0JVRkZFUlNfRk9SX0NBUFRVUkUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDAKCjIwMTQtMDUtMTUgMTA6NDQ6MjkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEhhbmRsZSBzdGFydF9zdHJlYW1pbmcgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNSAxMDozOTo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJpbnQgdGhlIGZsb3cgcmV0dXJuIGNhdXNpbmcgdGhlIGxvb3AgdG8gbGVhdmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNSAxMDozMTo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRG9uJ3QgbG9jayB0aGUgZGVjb2RlciB3aGVuIHN0b3BwaW5nIHRhc2sKCSAgVGhhdCBzcmMgcGFkIHRhc2sgbWF5IG5lZWQgdG8gdGFrZSB0aGUgbG9jayB3aGVuIGJlaW5nIHB1bGxlZAoJICBkb3duLiB0YWtlaW5nIHRoYXQgbG9jayBjYW4gbGVhZCB0byBhIGRlYWRsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDE3OjE4OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IERvbid0IGxlYWsgcG9vbCBpZiBhY3RpdmF0aW9uIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDE3OjE4OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBTcGxpdCBmbHVzaCBpbiBzdGFydC9zdG9wX3N0cmVhbWluZwoJICBUaGlzIGFsbG93IGNhbGxpbmcgc3RhcnQgc3RyZWFtaW5nIGxhdGVyIGZvciBjYXB0dXJlIGRldmljZS4gQ3VycmVudGx5IGl0IGJyZWFrcwoJICBpbiBkbWFidWYtaW1wb3J0IGJlY2F1c2UgZG93bnN0cmVhbSBpcyBob2xkaW5nIGEgYnVmZmVyIHRoYXQgd2lsbCBvbmx5IGJlCgkgIHJlbGVhc2VkIGFmdGVyIHN0cmVhbS1zdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxNToxMjoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBGbHVzaCBidWZmZXIgcG9vbHMgb24gZmx1c2ggc3RvcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDEzOjI4OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCB1c2Ugb2YgYXRvbWljIGFjdGl2ZSBtYXJrZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwNwoKMjAxNC0wNS0xNCAxMzowNTo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IGRlYWN0aXZhdGUgb3RoZXJwb29sCgkgIFdlIHNob3VsZCBub3Qgc3RvcCB0aGUgb3RoZXJwb29sIHVubGVzcyB3ZSBhbHNvIHN0b3Agb3VyIG93bgoJICBwb29sLCBvdGhlcndpc2UgaXQgd2lsbCBuZXZlciBnZXQgcmVzdGFydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDEyOjMzOjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWxzbyB1cGRhdGUgbnVtX2J1ZmZlcnMgZm9yIGltcG9ydCBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDEzOjQyOjI1IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVwZGF0ZSBydHAgZW5jb2Rlci9kZWNvZGVyIGRvY3MKCSAgVXNlICV1IGluIFJUUCBlbmNvZGVyL2RlY29kZXIgcGFkcyB0byBtYXRjaCBvdGhlciBydHBiaW4gcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0NgoKMjAxMy0xMi0yNyAxMTo1NToxOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgdGVzdHMvY2hlY2s6IHJ0cHNlc3Npb246IHRlc3QgaW50ZXJuYWwgc291cmNlcyB0aW1pbmcgb3V0CgoyMDEzLTEyLTI2IDE3OjMwOjQyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgdW51c2VkIGlmIGJyYW5jaAoJICAxKSBzb3VyY2VzIHRoYXQgaGF2ZSBzZW50IEJZRSBpbiB0aGUgcGFzdCBjYW5ub3QgYmUgc2VuZGVycywgc2luY2UKCSAgdGhleSB3b3VsZCBoYXZlIHRpbWVkIG91dCB0byBiZWluZyByZWNlaXZlcnMgaW4gdGhlIG1lYW50aW1lLi4uCgkgIDIpIHNvdXJjZXMgdGhhdCBoYXZlIHNlbnQgQllFIGFyZSBub3cgYmVpbmcgcmVtb3ZlZCBlYXJsaWVyIGluc2lkZQoJICB0aGlzIGZ1bmN0aW9uCgoyMDEzLTEyLTI2IDE3OjI5OjQyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBjbGVhbnVwIHNvdXJjZXMgdGhhdCBoYXZlIHNlbnQgQllFCgoyMDEzLTEyLTI2IDE3OjI0OjUxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1bmlmeSBuZXN0ZWQgaWYgY2xhdXNlcwoKMjAxMy0xMi0yNiAxNzoyMTo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdGltZW91dCBpbnRlcm5hbCBzb3VyY2VzIHRoYXQgYXJlIGluYWN0aXZlIGZvciBhIGxvbmcgdGltZSBhbmQgc2VuZCBCWUUKCjIwMTQtMDUtMTMgMTI6MjU6MDQgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3Qgc3RvcCBsb29waW5nIGlmIGV2ZW50IGZvdW5kIGluIHRoZSBxdWV1ZQoJICBJZiB3ZSBhcmUgaW5zZXJ0aW5nIGEgcGFja2V0IGludG8gdGhlIGppdHRlciBxdWV1ZSB3ZSBuZWVkIHRvIGtlZXAKCSAgbG9vcGluZyB0aHJvdWdoIHRoZSBpdGVtcyB1bnRpbCB0aGUgcmlnaHQgcG9zaXRpb24gaXMgZm91bmQuIEN1cnJlbnRseSwKCSAgdGhlIGNvZGUgc3RvcHMgYXMgc29vbiBhcyBhbiBldmVudCBpcyBmb3VuZCBpbiB0aGUgcXVldWUuCgkgIFJlZ2FyZGluZyBldmVudHMsIHdlIHNob3VsZCBvbmx5IG1vdmUgcGFja2V0cyBiZWZvcmUgYW4gZXZlbnQgaWYgdGhlcmUKCSAgaXMgYW5vdGhlciBwYWNrZXQgYmVmb3JlIHRoZSBldmVudCB0aGF0IGhhcyBhIGxhcmdlciBzZXFudW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAwNzgKCjIwMTQtMDQtMTcgMTM6MDQ6MDAgKzAwMDAgIEFkcmllbiBTQ0ggPGFkcmllbi5zY2h3YXJ0emVudHJ1YmVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCB0aGUgbWVtb3J5IGxlYWsgb2YgbGFuZ3VhZ2UgYXR0cmlidXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MTgKCjIwMTQtMDUtMTMgMTM6NDQ6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHJlZ3Jlc3Npb24gaW4gb2Zmc2V0IGV4dHJhcG9sYXRpb24KCSAgV2hlbiBleHRyYXBvbGF0aW5nIHRoZSBvZmZzZXQsIHdlIG5lZWQgdG8gdXNlIHRoZSBleHRyYXBvbGF0ZQoJICBzdHJpZGUgcmF0aGVyIHRoZW4gdGhlIGJhc2Ugc3RyaWRlLiBUaGlzIHNob3VsZCBmaXggc3VwcG9ydCBmb3IgZm9ybWF0CgkgIHdpdGggbW9yZSB0aGVuIHR3byBwbGFuZXMgKEk0MjAsIFk0MkIsIGV0YykuCgoyMDE0LTA1LTEyIDE4OjAzOjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogVXNlIGRlZmF1bHQgVmlkZW9JbmZvIGZvciBmcmFtZSBvcGVyYXRpb24KCSAgV2hlbiBkb2luZyBmcmFtZSBvcGVyYXRpb24sIHdlIG5lZWQgdG8gdXNlIHRoZSBkZWZhdWx0IFZpZGVvSW5mbwoJICBhbmQgbGV0IHRoZSBmcmFtZSBBUEkgcmVhZCB0aGUgdmlkZW8gbWV0YSBpbiBvcmRlciB0byBnZXQgdGhlIHN0cmlkZQoJICBhbmQgb2Zmc2V0IHJpZ2h0LiBDdXJyZW50bHkgd2Ugd2hlcmUgdXNpbmcgdGhlIHNwZWNpYWxpemVkIFZpZGVvSW5mbwoJICB3aGljaCByZWZsZWN0cyB3aGF0IHRoZSBIVyBpcyBzZXR1cCB0by4KCjIwMTQtMDUtMTIgMTc6MjM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IG1pbm9yIEdWYWx1ZSBoYW5kbGluZyBvcHRpbWlzYXRpb24gaW4gcHJvYmluZyBjb2RlCgoyMDE0LTA1LTEyIDE3OjIwOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBhdm9pZCBsaXN0cyB3aXRoIG9uZSBzaW5nbGUgZnJhbWVyYXRlIGluIHByb2JlZCBjYXBzCgkgIFNpbXBsaWZ5IGZyYW1lcmF0ZSBmaWVsZCBpZiBwb3NzaWJsZSwgc28gd2UgZG9uJ3QgZW5kIHVwIHdpdGgKCSAgZS5nLiBmcmFtZXJhdGUgPSAoZnJhY3Rpb24pIHsgMzAvMSB9LiBNYXliZSB0aGUgaGVscGVyIGZ1bmN0aW9uCgkgIHNob3VsZCBiZSBtb3ZlZCB0byBjb3JlLCBidXQgd2UgY2FuIGRvIHRoaXMgbGF0ZXIuCgoyMDE0LTA1LTEyIDE2OjU2OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBsZWFrIG9mIHBhbGV0dGVfZGF0YSBpbiBlcnJvciBjYXNlcwoJICBDSUQgIzEyMTIxNTEKCjIwMTQtMDUtMTIgMTY6NTM6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIG5vZGVfaGVhZGVyIGluIGVycm9yIGNhc2VzCgkgIENJRCAjMTIxMjEzNAoKMjAxNC0wNS0xMiAxMzo0NjowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCB1c2UgV0FSTklORyBmb3Igbm90LWxpbmtlZCBmbG93IHJldHVybgoJICBQb2xsdXRlcyBkZWJ1ZyBsb2dzIGZvciBubyByZWFzb24uIEl0J3Mgb25seSBhbiBlcnJvciBpZiBhbGwgcGFkcwoJICByZXR1cm4gbm90LWxpbmtlZAoKMjAxNC0wNS0xMiAxMzo0NTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IFNraXAgdW5rbm93biB0YWdzIGluIHB1c2gtbW9kZQoJICBXZSBhZGQgYSBuZXcgbW9kZSAoU0tJUCkgaW4gcHVzaC1tb2RlIHRvIHNraXAgdGFncyB0aGF0IHdlIGRvbid0IGtub3duIGFib3V0CgkgIFBhcnRpYWxseSBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNzEyCgoyMDE0LTA1LTEwIDA5OjE0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBBZGQgc3VwcG9ydCBmb3IgdmFyaWFibGUgYmxvY2sgc2l6ZSBmaWxlcyBhbmQgcmVtb3ZlIGRlYWQgY29kZQoJICBUaGlzIGRlYWQgY29kZSB3YXNuJ3QgdXNlZCBzaW5jZSB0aGUgMS4wIHBvcnQgYW5kIHdvdWxkIG5lZWQgdG8KCSAgYmUgbW9kaWZpZWQgaGVhdmlseSBmb3IgdmFyaWFibGUgYmxvY2sgc2l6ZSBzdXBwb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODk0CgoyMDE0LTA1LTA5IDEyOjE0OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRml4IE5VTEwgY2hlY2sgY29weSBwYXN0ZSBlcnJvcgoJICBDSUQgMTIxMjEyOQoKMjAxNC0wNS0wOSAxMjoxMTo1NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZpeCBwb3RlbnRpYWwgZGVhZGxvY2sgZHVlIHRvIG1pc3NpbmcgYnJlYWsKCSAgQ0lEIDEyMTIxMzEKCjIwMTQtMDUtMDkgMTg6MDE6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGluY3JlbWVudCBhY2NlcHRlZCBwYWNrZXRzIGFmdGVyIGxvc3MKCSAgV2hlbiB3ZSBkZXRlY3QgYSBsb3N0IHBhY2tldCwgZXhwZWN0IHBhY2tldHMgd2l0aCBoaWdoZXIKCSAgc2VxbnVtIG9uIHRoZSBpbnB1dC4KCSAgQWxzbyB1cGRhdGUgdGhlIHVuaXQgdGVzdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTUyNAoKMjAxNC0wNS0wNCAxMToxMjo1NCAtMDYwMCAgSmFzb24gTGl0emluZ2VyIDxqbGl0emluZ2VyZGV2QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgQWRkIG5ldyB0ZXN0IGNhc2UuCgoyMDE0LTA1LTA5IDE2OjE0OjIxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IG5vIG5lZWQgdG8gYWN0aXZhdGUgcGFkcwoJICBBY3RpdmF0aW9uIHdpbGwgaGFwcGVuIGluIHRoZSBzdGF0ZSBjaGFuZ2UKCjIwMTQtMDUtMDkgMTI6MTA6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIGNvbmZpZyBzdHJ1Y3R1cmUKCSAgdGhpcyBmaXhlcyBhIGxlYWsgb2YgdGhlIGNvbmZpZyBzdHJ1Y3R1cmUgYW5kIHRha2UgY2FyZSBvZiBtYWtpbmcgc3VyZQoJICBjYXBzIGNhbid0IHJlYWNoIHJlZiAwIGJlZm9yZSB3ZSBhcmUgZG9uZSBkb2luZyBvdXIgY2hlY2suCgkgIENJRCAxMjEyMTQ0CgoyMDE0LTA1LTA5IDEyOjA4OjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogUmVtb3ZlIHVuZWVkZWQgY2FzdCBmb3IgY29kZSBjbGFyaXR5CgoyMDE0LTA1LTA5IDExOjU2OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJwb29sOiBGaXggbGVhayBvZiBjb25maWcgc3RydWN0dXJlIGluIGVycm9yIGNhc2UKCSAgQ0lEcyAxMjEyMTY3IGFuZCAgMTIxMjE2NwoKMjAxNC0wNS0wOSAxMTo1MToyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCB1c2Ugb2YgdW5pdGlsaXplZCBwb29sIHBvaW50ZXIKCSAgQ0lEICMxMjEyMTczCgoyMDE0LTA1LTA5IDE2OjQ4OjU4ICswMjAwICBFcmljIFRyb3Vzc2V0IDxldHJvdXNzZXRAYXdveC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgcmVzcG9uZCB0byBhIHBvc2l0aW9uIHF1ZXJ5IGluIEJZVEUgZm9ybWF0IHdpdGggYSBUSU1FIHBvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTMKCjIwMTQtMDUtMDkgMTQ6MjI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgbGVhayBkb2N0eXBlIHN0cmluZyBpbiBlcnJvciBjb2RlIHBhdGgKCSAgQ0lEIDEyMTIxNDUuCgoyMDE0LTA1LTA2IDEzOjM3OjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogUmVhZGJhY2sgcG9vbCBjb25maWcgaWYgdXNlZCB3aXRoaW4gdGhlIGJhc2VjbGFzcwoKMjAxNC0wNS0wNiAxMjo1ODo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBSZXBsYWNlIG1pc3MtdXNlIG9mIGNyb3AgbWV0YSBpbiBmYXZvdXIgb2YgcHJvcGVyIG9mZnNldAoJICBUaGlzIG1vdmVzIGF3YXkgZnJvbSBjb3B5aW5nIGluZm9ybWF0aW9uIGFuZCBzdG9yZSBldmVyeXRoaW5nIGluc2lkZQoJICB0aGUgR3N0VmlkZW9JbmZvIHN0cnVjdHVyZS4gVGhlIGFsaWduZW1lbnQgZXhwb3NlZCBieSB2NGwyIGFwaQoJICBpcyBub3cgaGFuZGxlZCB1c2luZyBwcm9wZXIgb2Zmc2V0LgoKMjAxNC0wNS0wNiAxMjo1NTozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFN0eWxlIGZpeAoKMjAxNC0wNS0wNSAxMjozODozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlc2V0IGltcG9ydGVkIGJ1ZmZlciBzaXplIHdpdGggZXhwZWN0ZWQgc2l6ZQoJICBUaGlzIGVuc3VyZSB0aGF0IHRoZSBidWZmZXIgcG9vbCB3b24ndCBhbHdheXMgZGlzY2FyZCBidWZmZXIgd2l0aCB0aGVzZQoJICBtZW1vcnkgd2hlbiB0aGV5IGFyZSByZWxlYXNlZC4KCjIwMTQtMDUtMDUgMTI6Mzc6NDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZXNldCBmbHVzaGVkIGdyb3VwCgkgIFRoaXMgZW5zdXJlIHRoYXQgYSBmbHVzaGVkIGdyb3VwIG1lbW9yeSBhcmUgdGhlIHNhbWUgc2l6ZSBhcyB3aGVuIHRoZXkKCSAgd2hlcmUgb3JpZ2luYWxseSBhbGxvY2F0ZWQgLyBpbXBvcnRlZC4KCjIwMTQtMDUtMDUgMTI6MDc6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEdldCBudW1iZXIgb2YgYWxsb2NhdGVkIGJ1ZmZlcnMgZnJvbSBhbGxvY2F0b3IKCSAgVGhlIHZhbHVlIG9mIG51bV9hbGxvY2F0ZWQgYnVmZmVyIHdvdWxkIGdldCBjb25mdXNlZCB3aGVuCgkgIGJ1ZmZlciBhcmUgYmVpbmcgZGlzY2FyZGVkLgoKMjAxNC0wNS0wNSAxMjowNjo0NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSAgdjRsMmFsbG9jYXRvcjogQWRkIGEgbWV0aG9kIHRvIHJlYWQgbnVtYmVyIG9mIGFsbG9jYXRlZCBncm91cAoKMjAxNC0wNS0wNCAyMDoyMzo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogSW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTQtMDUtMDQgMTk6NTE6NDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEVuc3VyZSB3ZSBkb24ndCByZS1lbnF1ZXVlIGJ1ZmZlciBkdXJpbmcgZmx1c2gKCjIwMTQtMDUtMDQgMTk6MTM6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBJbml0aWxpYWxpemUgZGVidWcgY2F0ZWdvcnkKCjIwMTQtMDUtMDQgMTY6MTE6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggbGlidjRsMiBzdXBwb3J0CgkgIE5lZWQgdG8gaW5jbHVkZSBjb25maWcuaCwgb3RoZXJ3aXNlIHdlIGVuZHVwIGRpcmVjdGx5IHVzaW5nIHRoZQoJICBpb2N0L21tYXAvbXVubWFwIGNhbGxzIGFuZCBuZWVkIHRvIHZhbGwgdjRsMl9tdW5tYXAuCgoyMDE0LTA1LTAxIDEzOjA0OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFNldCB0aGUgZmxhZ3Mgb24gdGhlIG9iamVjdAoJICBXZSB3aGVyZSBub3Qgc2V0dGluZyB0aGUgcHJvYmVkIGZsYWdzIG9uIHRoZSBhbGxvY2F0b3IsIHdoaWNoIG1lYW4gZXZlbiBpZgoJICBDUkVBVEVfQlVGUyB3YXMgc3VwcG9ydGVkIG9uIHNvbWUgZHJpdmVyLCBpdCB3b3VsZCBlbmR1cCBiZWluZyBpZ25vcmVkLgoKMjAxNC0wNC0yOSAxNjo0OTo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlLWVucXVldWUgYnVmZmVyIGF0IHN0cmVhbSBzdGFydAoKMjAxNC0wNC0yOSAxNjowNjowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBUaGVyZSBpcyBub3QgZ3JvdXAgb24gZXJyb3IKCjIwMTQtMDQtMjkgMTQ6NTY6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogSGFuZGxlIEZMVVNIX1NUT1AgZXZlbnQKCjIwMTQtMDQtMjkgMTM6MDU6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJidWZmZXJwb29sOiBBY3F1aXJlIGNhbm5vdCByZXR1cm4gYSBidWZmZXIgZnJvbSBhbm90aGVyIHBvb2wKCSAgUmV0dXJuIGEgYnVmZmVyIGZyb20gYW4gb3RoZXJwb29sIGhhcyB1bndhbnRlZCBzaWRlIGVmZmVjdHMgdGhhdCBsZWFkIHRvIGxlYWtzIGFuZAoJICBwcmV2ZW50cyBkZWFjdGl2YXRpbmcgdGhlIHBvb2wuIEluc3RlYWQsIHdlIGNoYW5nZSB0aGUgX3Byb2Nlc3MoKSBBUEkgc28gaXQgY2FuCgkgIHJlcGxhY2UgdGhlIGludGVybmFsIGJ1ZmZlciB3aXRoIHRoZSBidWZmZXIgZnJvbSB0aGUgZG93bnN0cmVhbSBwb29sLiBUaGlzIGltcGxpZWQKCSAgbW92aW5nIGZyb20gX2ZpbGwoKSB0byBfY3JlYXRlKCkgbWV0aG9kIGluIHRoZSBzcmMuCgoyMDE0LTA0LTI5IDEzOjAwOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmVtb3ZlIHVucmVhY2hlZCBhY3F1aXJlIGNvZGUKCSAgVGhlIGFjcXVpcmUgaXMgZG9uZSBpbiBfcHJlcGFyZSBub3cuCgoyMDE0LTA0LTI5IDEyOjU3OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogU2FuZXRpemUgYnVmZmVyIHJlZm91bnQgaGFuZGxpbmcKCSAgQnVmZmVyIHJlZmNvdW50aW5nIGlzIGEgYml0IGhhcmQsIGJlY2F1c2Ugb2YgdGhlIGR1YWxpdHkgYmV0d2VlbiBDQVBUVVJFIGFuZAoJICBPVVRQVVQgbW9kZS4gSW4gdGhlIGxvbmcgdGVybSwgd2Ugc2hvdWxkIGNvbnNpZGVyIGhhdmluZyB0d28gc2VwZXJhdGUgcG9vbAoJICBpbnN0ZWFkIG9mIHRoaXMgbWVzcy4gQXQgbGVhc3Qgc3RhdGUgc2hvdWxkIGJlIGJldHRlciBrZXB0IHRoaXMgd2F5LgoKMjAxNC0wNC0yOSAxMjo0ODowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBBZGQgbW9yZSB0cmFjZXMKCjIwMTQtMDQtMjggMDg6NDg6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJICB2NGwyLWFsbG9jYXRvcjogQWRkIFMgdG8gUkVRQlVGUy9DUkVBVEVfQlVGUyBlbnVtCgkgIEFsbCBlbnVtIHRoYXQgaGFzIFJFUUJVRlMgYW5kIENSRUFURV9CVUZTIHdoZXJlIG1pc3NpbmcgUywgd2hpY2ggd2FzCgkgIGNvbmZ1c2luZyBzaW5jZSB0aGV5IGFyZSBzdXBwb3NlZCB0byBtYXRjaCB3aXRoIGFzc29jaWNhdGVkIGlvY3RsIG5hbWUuIFRoaXMKCSAgYWxzbyBmaXhlcyB0aGUgeWV0IHVudXNlZCBDQU5fUkVRVUVTVCBmbGFnIGNoZWNrLgoKMjAxNC0wNC0xOCAxNzo1MTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBFbmFibGVkIFFvUwoKMjAxNC0wNC0xOCAxNzowMjo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IEZpeHVwIFVTRVJQVFIvRE1BQlVGIGNhcHR1cmUgc3VwcG9ydAoKMjAxNC0wNC0xOCAxNDo0NTowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBJbXByb3ZlIHNlbGVjdG9uIG9mIG1pbi9tYXggaW4gZGVjaWRlIGFsbG9jYXRpb24KCjIwMTQtMDQtMTggMTM6MDk6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBVcGRhdGUgY29uZmlnIGlmIG1ldGEgaXMgbWlzc2luZwoJICBSYXRoZXIgdGhlbiBoYXJkIGZhaWx1cmUsIHdlIHNob3VsZCB1cGRhdGUgdGhlIGNvbmZpZyB3aXRoIHRoZSBtZXRhIG9wdGlvbiB3ZQoJICBuZWVkIGFuZCByZXR1cm4gZmFsc2UuCgoyMDE0LTA0LTExIDE3OjEwOjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IEFkZCBETUFCVUYgYW5kIFVTRVJQVFIgaW1wb3J0YXRpb24KCjIwMTQtMDQtMTcgMjE6NDU6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogVmFsaWQgRkQgYXJlIGJpZ2dlciBvciBlcXVhbCB0byB6ZXJvCgoyMDE0LTA0LTE2IDE3OjA0OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgZG93bnN0cmVhbSBwb29sIGluIHByb3Bvc2VfYWxsb2NhdGlvbgoJICBwYXJzZV9udGhfYWxsb2NhdGlvbl9wb29sKCkgZ2l2ZSBhIHJlZiBvbiB0aGUgcG9vbCwgd2UgbmVlZCB0byB1bnJlZiBpdAoJICB3aGVuIGRvbmUuCgoyMDE0LTA0LTE0IDEyOjE5OjM5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogSW50cm9kdWNlIERNQUJVRl9JTVBPUlQgSU8gbW9kZQoKMjAxNC0wNC0xMCAxNjoyNjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IEFkZCBkbWFidWYgZXhwb3J0IHN1cHBvcnQKCSAgVGhpcyBjYW4gYmUgZW5hYmxlZCBzaW5nIGlvLW1vZGU9ZG1hYnVmLiBUaGlzIHdpbGwgZW5hYmxlZCBtbWFwIGJhc2UKCSAgZHJpdmVycyB0byBleHBvcnQgdGhlIGJ1ZmZlcnMgYXMgZG1hYnVmLgoKMjAxNC0wNC0xNiAxNTo1MTowMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBHdWFyYW50eSBxdWV1ZWQgc3RhdGUgaW50ZWdyZXR5CgkgIEJlY2F1c2Ugb2YgdGhlIGJ1ZiBpbiB2aWRlb2J1ZjIsIGRxYnVmIG1heSBsZWF2ZSB0aGUgRE9ORSBmbGFnIGJlaW5nLAoJICB3aGljaCB3b3VsZCBpbXBsaWVkIHRoYXQgdGhlIGJ1ZmZlciBpcyBxdWV1ZWQuIEFzIHRoaXMgaGFzIGJlZW4gYnJva2VuCgkgIGZvciA0IHllYXJzLCBzaW1wbHkgZ3VhcmFudHkgdGhlIHN0YXRlIGZsYWdzIGludGVncml0eSB3aGVuIGRvaW5nCgkgIHFidWYvZHFidWYuCgkgIFNlZSBodHRwczovL3BhdGNod29yay5saW51eHR2Lm9yZy9wYXRjaC8yMzY0MS8KCjIwMTQtMDQtMTUgMTc6MzE6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogSW1wbGVtZW50IG9wZW4vY2xvc2UKCjIwMTQtMDQtMTUgMTY6NDM6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRW5zdXJlIG91dHB1dCBwb29sIGlzIGNvbmZpZ3VyZWQKCjIwMTQtMDQtMTUgMTY6NDM6MTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5oOgoJICB2NGwydHJhbnNmb3JtOiBDaGVjayBpZiBjYXBzIGhhdmUgY2hhbmdlcyBiZWZvcmUgYXNzZXJ0aW5nCgkgIEluIHNldF9jYXBzLCBub3cgY2hlY2tzIGlmIGNhcHMgYWN0dWFsbHkgY2hhbmdlZCBhbmQgc3VjY2VlZCBpZiB0aGV5IGRpZG4ndAoJICBjaGFuZ2UuCgoyMDE0LTA0LTE1IDE2OjQxOjQ2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBFbnN1cmUgcG9vbCBpcyBjb25maWd1cmVkCgoyMDE0LTA0LTA4IDE4OjU0OjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFsd2F5cyBzZXQgYSBzaXplIHdoZW4gZGVjaWRpbmcgYWxsb2NhdGlvbgoKMjAxNC0wNC0wOCAxODoyMDoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBJbXByb3ZlZCBkZWNpZGUgYWxsb2NhdGlvbgoJICBJbXByb3ZlIGRlY2lkZSBhbGxvY2F0aW9uIHNvIGl0IHByb3Blcmx5IGNvbmZpZ3VyZSBib3RoIGxvY2FsIGFuZCBkb3duc3RyZWFtCgkgIGJ1ZmZlciBwb29scy4gQWxzbyByZWFkIGJhY2sgdGhlIHBvb2wgY29uZmlnIGlmIGl0IHdhcyBjaGFuZ2VkIHRvIHRvIGRyaXZlcgoJICBsaW1pdGF0aW9ucy4KCjIwMTQtMDQtMTUgMTM6MzA6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEbyBub3QgcHJlLWNvbmZpZ3VyZSB0aGUgcG9vbAoJICBQcmUtY29uZmlndXJpbmcgdGhlIHBvb2wgaXMgZXJyb3IgcHJvbmUsIHNpbmNlIGl0IG1heSBoaWRlIGEgY29uZmlndXJhdGlvbiBmYWlsdXJlIGFuZAoJICBlbmR1cCB3aXRoIGEgcG9vbCB0aGF0IGlzIG5vdCBjb25maWd1cmVkIHRoZSB3YXkgaXQgc2hvdWxkIChlLmcuIG5vIHZpZGVvIG1ldGEsIHdyb25nCgkgIHF1ZXVlIHNpemUsIGV0Yy4pCgoyMDE0LTA0LTE1IDEzOjIzOjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUHJlc2VydmUgZG93bnN0cmVhbSBtaW5pbXVtIGV2ZW4gaW4gUlcKCjIwMTQtMDQtMTUgMTM6MjA6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBUdXJuIGNyb3BtZXRhIGludG8gYSBjdXN0b20gb3B0aW9uCgkgIFR1cm4gY3JvcCBtZXRhIGludG8gYSBjdXN0b20gb3B0aW9uIGFuZCBtYWtlIHN1cmUgaXQncyB0aGVyZSBpcyBuZWVkZWQuCgoyMDE0LTA0LTA5IDEyOjUzOjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJidWZmZXJwb29sOiBFYXJseSBjYXRjaCBzaG9ydCBhbGxvY2F0aW9uCgkgIENhdGNoIHNob3J0IGFsbG9jYXRpb24gYWZ0ZXIgc2F2aW5nIHRoZSBmb3JtYXQuIFRoaXMgaXMgbm90IGEgY2F0Y2ggYWxsLCBidXQgc2hvdWxkIGNhdGNoCgkgIG1vc3Qgb2YgdGhlIG1pc3MtYmVoYXZpbmcgZHJpdmVycyB3aGVuIGRvaW5nIFNfRk1UL0dfRk1UIGFuZCBhdm9pZCBwb3RlbnRpYWwgY3Jhc2guCgoyMDE0LTA0LTA0IDIyOjQ2OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogUG9ydCB0byB1c2UgR3N0VjRsMkFsbG9jYXRvcgoKMjAxNC0wNC0wNCAyMjozNTo0OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIEltcGxlbWVudCBWNGwyIEFsbG9jYXRvcgoJICBUaGlzIGdvYWwgb2YgdGhpcyBhbGxvY2F0b3IgaXMgbWFpbmx5IHRvIGFsbG93IHRyYWNraW5nIHRoZSBtZW1vcnkuCgkgIEN1cnJlbnRseSwgd2hlbiBhIGJ1ZmZlciBtZW1vcnkgaGFzIGJlZW4gbW9kaWZpZWQsIHRoZSBidWZmZXIgYW5kIGl0J3MKCSAgbWVtb3J5IGlzIGRpc3Bvc2VkIGFuZCBsb3N0IHVudGlsIHRoZSBzdHJlYW0gaXMgcmVzdGFydGVkLgoKMjAxNC0wNC0xNiAxNjozNTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBhZHZlcnRpc2UgY3JvcCBtZXRhCgkgIEN1cnJlbnRseSB3ZSBhZHZlcnRpc2UgY3JvcCBtZXRhLCBidXQgbm90IGVsZW1lbnQgaGFuZGxlIHN1cHBvcnQgdGhpcyBtZXRhLgoKMjAxNC0wNC0wOCAxODoxODo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBTZXR1cCBwb29sIGFscmVhZHkgc2VuZCBlbGVtZW50IGVycm9yCgoyMDE0LTA0LTA4IDE4OjE3OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFdvcmthcm91bmQgZGVjb2RlciB0aGF0IHNldCBudW1fcGxhbmVzIHRvIDAgaW4gdGhlIGZvcm1hdAoJICBTb21lIHdlbGwga25vd24gZGVjb2RlciB3cm9uZ2x5IHNldCBudW1fcGxhbmVzIHRvIDAgaW4gdGhlaXIgZm9ybWF0IGluc3RlYWQgb2YKCSAgb25lLiBJbiB0aGlzIGNhc2Ugd2Ugd291bGQgZW5kdXAgd2l0aCBubyBzaXplIHdoZW4gZGVjaWRpbmcgYnVmZmVyIGFsbG9jYXRpb24uCgoyMDE0LTA0LTA4IDE3OjM0OjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEVuc3VyZSBzaXplIGJlZm9yZSBjb25maWd1cmluZyB0aGUgcG9vbAoKMjAxNC0wNC0wNCAyMjozODowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBTZXQgbWluaW11bSBidWZmZXJzIHRvIDIKCSAgQWxsIHRoZSBlbGVtZW50IHJlcXVpcmVzIGF0IGxlYXN0IHR3byBidWZmZXJzLiBUaGlzIGlzIG5vdCB1c2VkIGZvciBSVyBtb2RlLgoKMjAxNC0wNC0wNCAyMjozNzoxNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBSZW1vdmUgdW51c2VkIE1BWF9CVUZGRVJTIGRlZmluZQoKMjAxNC0wNC0wNCAyMjozNjozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBoYXJkY29kZSBtaW4vbWF4IHVzZSBkZWZhdWx0IGluc3RlYWQKCjIwMTQtMDQtMTAgMTc6NDk6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogSW5zdGFsbCBQUk9QX0NBUFRVUkVfSU9fTU9ERSB3aXRoIHJpZ2h0IElECgoyMDE0LTA0LTA4IDE4OjU0OjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGRlY2lkZV9hbGxvY2F0aW9uIHJldHVybnMgYSBib29sZWFuCgoyMDE0LTA0LTEwIDE3OjQ5OjI5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBJbnN0YWxsIFBST1BfQ0FQVFVSRV9JT19NT0RFIHdpdGggcmlnaHQgSUQKCjIwMTQtMDMtMjcgMTM6MjE6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogQWRkIHByb3Bvc2VfYWxsb2NhdGlvbgoJICBUaGlzIHNob3VsZCByZW1vdmUgMSBjb3B5IGJldHdlZW4gdGhlIGRlY29kZXIgYW5kIHRoZSB0cmFuc2Zvcm0uCgoyMDE0LTAzLTI3IDEzOjIwOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogTW92ZSBwcm9wb3NlIGFsbG9jYXRpb24gdG8gdjRsMm9iamVjdAoKMjAxNC0wMy0yMCAxNzoyNjowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBGaXh1cCBjYXBzIHF1ZXJ5CgoyMDE0LTAzLTIwIDE1OjMxOjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBTZXR1cCBjcm9wcGluZyBpZiBuZWVkZWQKCjIwMTQtMDMtMTkgMTc6MjU6MTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMnRyYW5zZm9ybTogRXhwb3NlIEJHUkEgYW5kIEFSR0IgZm9ybWF0cwoKMjAxNC0wMy0xOCAxNzozMzozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBFbnN1cmUgb3V0cHV0IHBvb2wgaXMgYWN0aXZhdGVkCgkgIFRoYXQgcG9vbCBtYXkgYmUgZGlmZmVyZW50IHRoZW4gdGhlIGludGVybmFsIHBvb2wuCgoyMDE0LTAzLTE2IDE5OjExOjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuc3VyZSBpbnRlcm5hbCBidWZmZXIgcG9vbHMgYWN0aWNhdGlvbgoKMjAxNC0wMy0xNiAxMTozNjoxOSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBNb3ZlIHN1Ymluc3RhbmNlIHN1YmNsYXNzIGluaXQgbmVhciBvdGhlciBpbml0CgoyMDE0LTAzLTE1IDE4OjU2OjUxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IFN0b3Agc3RyZWFtIGJlZm9yZSBjbG9zaW5nIHRoZSBkZXZpY2VzLgoKMjAxNC0wMy0xNSAxNjo1Mzo1NCArMDAwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGNvcHkgbWV0ZGF0YQoKMjAxNC0wMy0wNCAxODozMToyNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uaDoKCSAgSW1wbGVtZW50IEdzdFY0bDJUcmFuc2Zvcm0KCSAgSW1wbGVtZW50IGEgdjRsMiBlbGVtZW50IHRoYXQgd3JhcHMgSFcgdmlkZW8gY29udmVydGVycy4KCjIwMTQtMDMtMjcgMTg6NDE6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBQcm9iZSBmb3IgQ1JFQVRFX0JVRlMgaW4gb3JkZXIgdG8gY29ycmVjdGx5IHNldCBwb29sIG1pbi9tYXgKCSAgSW4gb3JkZXIgdG8gY29ycmVjdGx5IHNldCB0aGUgcG9vbCBtaW4vbWF4LCB3ZSBuZWVkIHRvIHByb2JlIGZvciBDUkVBVEVfQlVGUwoJICBpb2N0bC4gVGhpcyBjYW4gYmUgZG9uZSBhcyBzb29uIGFzIHRoZSBmb3JtYXQgaGFzIGJlZW4gbmVnb3RpYXRlZCB1c2luZyBhCgkgIGNvdW50IG9mIDAuCgoyMDE0LTAzLTI1IDE1OjIxOjAzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogTW92ZSBjYXB0dXJlIGVvcyBoYW5kbGluZyBpbiBfcHJvY2VzcygpCgkgIE5vdyB0aGF0IHdlIG1pZ2h0IGJlIGNvcHlpbmcgb3V0IGJ1ZmZlciAoZS5nLiBkb3duc3RyZWFtIGRvbid0IHN1cHBvcnQgdmlkZW8KCSAgbWV0YSBidWcgd2UgbmVlZCBpdCkgd2UgbmVlZCB0byBtb3ZlIHRoZSBFT1MgaGFuZGxpbmcgaW5zaWRlIHRoZSBwcm9jZXNzCgkgIG1ldGhvZC4KCjIwMTQtMDMtMjUgMTA6NDk6MzkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHN1cHBvcnQgZm9yIHBsYW5hciBmb3JtYXQgaW4gMSB2NGwyIG1wbGFuZQoJICBTbyBmYXIgd2Ugd2hlcmUgb25seSBzZXR0aW5nIHNhdmluZyB0aGUgZmlyc3QgcGxhbmUgc3RyaWRlIGluIHRoZSBtZXRhLiBUaGlzIHdhcwoJICBsZWFkaW5nIHRvIHdyb25nIHZhbHVlcyBpbiBHc3RWaWRlb01ldGEuCgoyMDE0LTAzLTE5IDE3OjUyOjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDbGVhbmx5IGZhaWwgaWYgc2V0X2Zvcm1hdCBpcyBuZXZlciBjYWxsZWQKCjIwMTQtMDMtMTkgMTc6MDA6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEV4cG9zZSBSR0IzMiBmb3JtYXRzIHdpdGggYW5kIHdpdGhvdXQgYWxwaGEKCSAgQXMgc29vbiBhIHRoZSBhbHBoYSBjb21wb25lbnQgY2FuIGJlIHNldCwgd2UgY2FuIGV4cG9zZSB0aGUgUkdCMzIgYW5kIEJHUjMyCgkgIGZvcm1hdCBhcyBBUkdCIGFuZCBCR1JBIGFzIGxvbmcgd2UgY2FuIGRldGVybWluaXN0aWNhbGx5IHNldCB0aGUgYWxwaGEgcGFkZGluZwoJICB2YWx1ZS4KCjIwMTQtMDMtMTggMTU6NDk6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQ29ycmVjdGx5IGNoZWNrIGlmIHZpZGVvIG1ldGEgaXMgbmVlZGVkCgkgIENvcnJlY3RseSBjaGVjayBpZiB2aWRlbyBtZXRhIGlzIG5lZWRlZC4gSW4gYnVmZmVyIHBvb2wsIHRydXN0IG5lZWRfdmlkZW9fbWV0YQoJICBmbGFnIGluIG9yZGVyIHRvIGRlY2lkZSBpZiBjb25maWd1cmF0aW9uIHNob3VsZCBzdWNjZWVkLgoKMjAxNC0wMy0xOCAxNTo0NToxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggdGlsZWQgc3RyaWRlIHJlcXVlc3QKCSAgRml4IHN0cmlkZSByZXF1ZXN0IGZvciB0aWxlZCBmb3JtYXQgYW5kIGltcHJvdmUgbG9nZ2luZy4KCjIwMTQtMDMtMTggMTE6NTM6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRW5zdXJlIHZpZGVvIGFuZCBjcm9wIG1ldGEgYXJlIGVuYWJsZWQgaWYgbmVlZGVkCgkgIEluIGNlcnRhaW4gY2FzZXMgd2UgY2Fubm90IGxpdmUgd2l0aG91dCB2aWRlbyBtZXRhIGFuZC9vciBjcm9wIG1ldGEKCSAgYmVpbmcgZW5hYmxlZCBpbiBvdXIgaW50ZXJuYWwgYnVmZmVyIHBvb2wuIEVuc3VyZSB0aGlzIGlzIGFsd2F5cyB0aGUgY2FzZSwKCSAgcmVnYXJkbGVzcyBvZiBoYXZpbmcgc3VwcG9ydCBmb3IgYWxsb2NhdGlvbiBxdWVyeS4KCjIwMTQtMDMtMTYgMTg6Mzk6MzIgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEVuc3VyZSBpbnRlcm5hbCBwb29sIGFyZSBhY3RpdmF0ZWQKCjIwMTQtMDMtMTYgMTc6MDE6MTAgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENoZWNrIHRoYXQgcG9vbCB3aGVyZSBhbGxvY2F0ZWQgYmVmb3JlIGZsdXNoaW5nIHRoZW0KCSAgVXBvbiBlcnJvciwgdGhlIHBvb2xzIG1pZ2h0IG5vdCBoYXZlIGJlZW4gYWxsb2NhdGVkIHlldCwgaGVuY2Ugd2Ugc2hvdWxkIG5vdAoJICB0cnkgYW5kIGZsdXNoIHRoZW0gKGV2ZW4gdGhvdWdoIHdlIHN0aWxsIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSBwcm9jZXNzaW5nIHRocmVhZAoJICBpcyBmdWxseSBzdG9wcGVkKS4KCjIwMTQtMDMtMTYgMTY6NTU6NDMgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJidWZmZXJwb29sOiBFbmZvcmNlIGFjdGl2YXRpb24gb3V0c2lkZSBvZiBwcm9jZXNzCgkgIEVuZm9yY2UgcG9vbCBiZWluZyBhY3RpdmF0ZSBmcm9tIGJlZm9yZSBjYWxsaW5nIHBvb2wgcHJvY2Vzcy4gVGhpcyBzaG91bGQKCSAgaGVscCBjYXRjaGluZyBiYXNpYyBlcnJvcnMgaW4gdGhlIHVzYWdlIG9mIGJ1ZmZlciBwb29sLgoKMjAxNC0wMy0xNiAxMjo0NDoxNCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBkb24ndCB1c2Ugb3duIHBvb2wgaWYgZG93bnN0cmVhbSBkb24ndCBzdXBwb3J0IHZpZGVvIG1ldGEKCjIwMTQtMDMtMTQgMDA6MzE6MzIgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBVc2Ugb2JqLT5uX3Y0bDJfcGxhbmVzIGZvciBjb3JyZWN0IG51bWJlciBvZiBwbGFuZXMKCSAgQnVmZmVyIHBvb2wgd2FzIGd1ZXNzaW5nIHdyb25nbHkgdGhlIG51bWJlciBvZiBwbGFuZXMgcmF0aGVyCgkgIHRoZW4gcmVhZGluZyB0aGUgdmFsdWUgZnJvbSBvYmotPm5fdjRsMl9wbGFuZXMuIFRoaXMgd2FzIGNhdXNpbmcKCSAgZm9ybWF0IFlVMTIgKEk0MjApIHRvIGZhaWwgdXBvbiBjaGVjay4KCjIwMTQtMDMtMDcgMTY6Mzk6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IGhhbmRsaW5nIG9mIGNvbnRpdW91cyB2cyBub24tY29udGlndW91cyBzdXBwb3J0CgkgIFRoZSBjb21wbGV4IG1lY2hhbmljIHRvIHRyeSBhbmQgY2hvb3NlIHRoZSByaWdodCB0aGluZyBkaWQgbm90IHdvcmsuIEluc3RlYWQsCgkgIHNpbXBseSBwcm9iZSB0aGUgbm9uLWNvbnRpZ3VvdXMgZm9ybWF0IGZpcnN0IGFuZCB0aGVuIHRoZSBjb250aWd1b3VzIG9uZS4KCSAgVGhpcyBpcyBpbiBmYWN0IHZlcnkgbG93IG92ZXJoZWFkLCBhcyB0aGVyZSBpcyBhIHJlbGF0aXZlbHkgc21hbGwgbnVtYmVyIG9mCgkgIHBpeGVsIGZvcm1hdCBzdXBwb3J0ZWQgYnkgZWFjaCBkZXZpY2VzLgoKMjAxNC0wNC0xNSAxNTowNzoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBhbGlnbm1lbnQgYW5kIGNyb3BwaW5nCgoyMDE0LTAzLTEzIDE5OjI0OjUxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJvYmplY3Q6IFJlbmFtZSBzZXR1cF9mb3JtYXQoKSBtZXRob2QgaW50byBhY3F1aXJlX2Zvcm1hdCgpCgkgIFRoZSBzZXR1cF9mb3JtYXQoKSB3YXMgY29uZnVzaW5nIHNpbmNlIGl0IGRvZXMgbm90IHNldCBhbnl0aGluZywgaW4gZmFjdAoJICBpdCByZWFkcyB0aGUgc2V0dXAgZnJvbSB0aGUgZHJpdmVyIGFuZCBzYXZlIGl0LgoKMjAxNC0wMy0xMyAxODoyMTo0MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIHR5cGUgZGVjbGFyYXRpb24gdG8gdGhlIHRvcAoKMjAxNC0wMy0xMiAxODowNzozOCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJvdGVjdCBOVUxMIHBvb2wgd2hpbGUgZ29pbmcgdG8gUkVBRFkKCSAgV2hlbiB0aGUgcGlwZWxpbmUgZmFpbHMgZWFybHksIHRoZSBwb29sIG1pZ2h0IGJlIHVuc2V0IGJlZm9yZSB0aGUgcHJvY2Vzc2luZwoJICB0aHJlYWQgaGFzIHJ1biBvbmNlLiBBZGQgcHJvdGVjdGlvbiBhZ2FpbnN0IHRoYXQuCgoyMDE0LTAzLTEyIDE4OjAxOjA5ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZhaWwgY2xlYW5seSBpZiBwaXhlbCBmb3JtYXQgaXMgdW5rb3duIG9yIG5vdCByYXcgdmlkZW8KCSAgQ2VydGFpbiBkZWNvZGVyIGhhcyBiZWVuIGZvdW5kIHRvIG5vdCBjaG9vc2UgYSBmb3JtYXQgYXV0b21hdGljYWxseS4gUnVubmluZwoJICB2NGwydmlkZW9kZWMgb24gdGhlc2Ugd291bGQgYXNzZXJ0LiBUaGlzIHBhdGNoIHdpbGwgbWFrZSBpdCBmYWlsIGNsZWFubHkKCSAgaW5zdGVhZC4KCjIwMTQtMDMtMTIgMTc6NTY6MTggKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENsZWFyIHRoZSBpbnB1dCBzdGF0ZSBwb2ludGVyIGFmdGVyIHVucmVmCgkgIElmIGNhcHMgYXJlIHNldCBhZ2Fpbiwgd2UgaGF2ZSBhIHJpc2sgb2QgcmV0dXJuaW5nIGZyb20gc2V0X2Zvcm1hdCB3aXRoIGEKCSAgaW5wdXRfc3RhdGUgcG9pbnRpbmcgdG8gZGVhZCBtZW1vcnkuIENsZWFyaW5nIHRoZSBwb2ludGVyIGFmdGVyIHVucmVmIGZpeAoJICB0aGlzIGlzc3VlLgoKMjAxNC0wMy0xMiAxNzoxMToxNiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogaGFuZGxlIHN0b3AgYmVpbmcgY2FsbGVkIHdpdGhvdXQgZmx1c2gKCSAgVXBwb24gY2VydGFpbiBkb3duc3RyZWFtIGVycm9yLCBzdG9wKCkgaXMgY2FsbGVkIHdpdGhvdXQgYSBmbHVzaCgpLiBUaGlzIG1lYW4gdGhhdAoJICB0aGUgc3RyZWFtaW5nIHRocmVhZCBtYXkgc3RpbGwgYmUgcnVubmluZyBldmVuIHRob3VnaCB1bmxvY2sgaGFzIGJlZW4gY2FsbGVkLgoJICBOb3cgY2FsbGluZyBmbHVzaCB0byByZXNldCB0aGUgZGVjb2RlciBzdGF0ZSBpZiB3ZSBhcmUgcHJvY2Vzc2luZy4KCjIwMTQtMDMtMDYgMTg6MTM6MTQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IERlZmF1bHQgdG8gdGVtcGxhdGUgaW4gY2FwcyBxdWVyeQoKMjAxNC0wMy0xMSAxNDoyMzozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRW5zdXJlIHByb2Nlc3NpbmcgdGhyZWFkIGhhcyBzdG9wcGVkIHdoZW4gZHJhaW5pbmcKCjIwMTQtMDMtMTEgMTQ6MDE6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IERvbid0IGRyYWluIGlmIHByb2Nlc3NpbmcgdGhyZWFkIGlzIGluYWN0aXZlCgoyMDE0LTA1LTA4IDA5OjQ5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IENsZWFuIHVwIGFsbCBwZW5kaW5nIG9wZXJhdGlvbnMgZnJvbSBsaWJzb3VwIGJlZm9yZSB1bnJlZmZpbmcgb3VyIGNvbnRleHQKCSAgV2hlbiB3ZSBjYW5jZWwgY29ubmVjdGlvbiBhdHRlbXB0cyBhbmQgc2ltaWxhciB0aGluZ3MsIHRoZXJlIGFyZSBzdGlsbAoJICBzb21lIG9wZXJhdGlvbnMgcGVuZGluZyBvbiBvdXIgbWFpbiBjb250ZXh0IGZyb20gdGhlIEdDYW5jZWxsYWJsZXMuIFdlCgkgIHNob3VsZCBsZXQgdGhlbSBhbGwgcnVuIGJlZm9yZSB1bnJlZmZpbmcgb3VyIGNvbnRleHQsIG90aGVyd2lzZSB3ZSBsZWFrCgkgIGZpbGUgZGVzY3JpcHRvcnMuCgkgIFVuZm9ydHVuYXRlbHkgdGhpcyByZXF1aXJlcyBsaWJzb3VwIDIuNDcuMCBvciBuZXdlciBhcyBlYXJsaWVyIHZlcnNpb25zCgkgIHN0ZWFsIG91ciBtYWluIGNvbnRleHQgZnJvbSB1cyBhbmQgd2UgY2FuJ3QgdXNlIGl0IGZvciBjbGVhbnVwIGxhdGVyCgkgIHdpdGhvdXQgYXNzZXJ0aW9ucyBhbmQgZnVubnkgY3Jhc2hlcy4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBEbWl0cnkgU2hhdHJvdiA8c2hhdHJvdkBnbWFpbC5jb20+LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzOTQ0CgoyMDE0LTA1LTA3IDE1OjQ5OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBzb3VwaHR0cHNyYyB0ZXN0IGZvciBsaWJzb3VwIDIuNDAgZm9yIHJlYWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMyOQoKMjAxNC0wNS0wNyAxMzoyMzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggY29tcGlsYXRpb24gb2Ygc291cGh0dHBzcmMgdGVzdCBmb3IgbGlic291cCAyLjQwCgkgIFNPVVBfQ0hFQ0tfVkVSU0lPTiB3YXMgb25seSBhZGRlZCBpbiAyLjQxLCBidXQgd2Ugb25seQoJICBkZXBlbmQgb24gMi40MC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMyOQoKMjAxNC0wNS0wNyAwMDo1ODoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2tpcCBQSUNUVVJFIGhlYWRlcnMgd2l0aG91dCBhbnkgaW1hZ2UgZGF0YQoJICBGaXhlcyB3YXJuaW5nIGlmIHRoZSBpbWFnZSBsZW5ndGggaXMgMC4KCjIwMTQtMDUtMDYgMDk6MjI6MTggKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBYMTEgZGV0ZWN0aW9uIG1hY3JvIGZyb20gY29tbW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MjEKCjIwMTQtMDQtMzAgMTE6MTM6MTIgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkgIHJ0cC9SRUFETUU6IHVwZGF0ZSBwaXBlbGluZXMgdG8gd29yayB3aXRoIDEuMAoJICAtIFVzZSBnc3QtbGliYXYgZW5jb2RlcnMvZGVjb2RlcnMgaW5zdGVhZCBvZiBnc3QtZmZtcGVnCgkgIC0gZ3N0cnRwaml0dGVyYnVmZmVyIC0+IHJ0cGppdHRlcmJ1ZmZlcgoJICAtIGdzdC1sYXVuY2gtMC4xMCAtPiBnc3QtbGF1bmNoLTEuMAoJICAtIEFkZCAndmlkZW9jb252ZXJ0JyBlbGVtZW50CgkgIC0geHZpbWFnZXNpbmsgLT4gYXV0b3ZpZGVvc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjQ3CgoyMDE0LTA1LTA1IDE0OjQxOjA1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiByZWppZyB0ZXN0IHRvIGF2b2lkIHVuZGVmaW5lZCBzaGlmdCBiZWhhdmlvcgoJICBDb3Zlcml0eSAxMTk1MTIxLCAxMTk1MTIwCgoyMDE0LTA1LTA1IDE0OjMzOjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogZG8gbm90IGRlcmVmZXJlbmNlIE5VTEwgcG9pbnRlcgoJICBDb3Zlcml0eSAxMTk3NzAzCgoyMDE0LTA1LTA1IDE0OjMyOjA2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGVuc3VyZSB3ZSBkb24ndCBkZXJlZmVyZW5jZSBhIE5VTEwgcG9pbnRlcgoJICB3aGlsZSB3b3JraW5nIG91dCB0aGUgY29kZWMgSUQuCgkgIENvdmVyaXR5IDExOTUxNDgKCjIwMTQtMDUtMDUgMTI6MDc6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IG1pbm9yIGZpeCBmb3IgY2xvc2luZyB0aGUgZmQKCSAgVGhlIGZkIHJldHVybmVkIGJ5IG9wZW4oKSBjb3VsZCB0aGVvcmV0aWNhbGx5IGJlIDAgYXMgd2VsbC4KCSAgQ292ZXJpdHkgQ0lEIDEyMTE4MjMuCgoyMDE0LTA1LTA0IDIwOjIzOjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cGF1eC9ydHBydHg6IE1ha2UgdGVzdHMgbm9uLXJhY3kKCSAgRml4IHRoZSByYWNpbmVzcyBieSBpdGVyYXRpbmcgb24gYSBjb25kaXRpb24gaW5zdGVhZCBvZiB1c2luZyB0aGUgZ21haW5sb29wLgoJICBEb24ndCB1c2UgdGhlIEVPUyBhcyB0aGUgdGFyZ2V0LCBvdGhlcndpc2UgdGhlIHJldHJhbnNtaXNzaW9uIG9mIHRoZSBsYXN0CgkgIHBhY2tldHMgYXJlIGxvc3QuIEFsc28gY291bnQgdGhlIHJldHJhbm1pc3Npb25zIHJlcXVlc3RzIHRoYXQgYXJlIGRyb3BwZWQuCgkgIENoZWNrIHRoZSBjb25kaXRpb24gYmVmb3JlIGJsb2NraW5nIG9uIHRoZSBHQ29uZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NTAxCgoyMDE0LTA1LTA0IDIyOjMyOjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSAgcnRwcnR4cmVjZWl2ZTogV2FpdCB1bnRpbCB0aW1lb3V0IHRvIGNsZWFyIGFzc29jaWF0aW9uIHJlcXVlc3RzCgkgIElmIHR3byBzdHJlYW1zIHJlcXVlc3QgYSByZXRyYW5taXNzaW9uIGZvciB0aGUgc2FtZSBTU1JDLCBpZ25vcmUgdGhlIHNlY29uZAoJICBvbmUgaWYgdGhlIGZpcnN0IG9lbiBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCBvbGQsIG90aGVyd2lzZSB0aW1lIG91dCB0aGUgZmlyc3QKCSAgb25lIGFuZCBpZ25vcmUgdGhlIHNlY29uZC4KCjIwMTQtMDUtMDQgMTg6NTk6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBBbHdheXMgbGV0IHVwc3RyZWFtIGNob3NlIHRoZSBzc3JjIGlmIGl0IHdpc2hlcwoKMjAxNC0wNS0wNCAxMzozNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYXZvaWQgc3RhbGwgYnkgY29ycnVwdGVkIHNlcW51bSBhY2NvdW50aW5nCgoyMDE0LTA1LTA0IDAxOjE0OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuaDoKCSAgcHVsc2VkZXZpY2Vtb25pdG9yOiBJbmRleCBhcmUgcGVyIGZhY2lsaXR5LCBub3QgZ2xvYmFsCgkgIFNvIG5lZWQgdG8ga2VlcCB0aGUgdHlwZSBvZiBkZXZpY2UgaW4gdGhlIGRldmljZSBvYmplY3QKCjIwMTQtMDUtMDQgMDE6MTM6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSAgcHVsc2VkZXZpY2Vtb25pdG9yOiBwYV9zdWJzY3JpcHRpb25fZXZlbnRfdCBhcmUgZW51bXMsIG5vdCBmbGFncwoJICBDb3Zlcml0eSAxMTk1MTMyCgoyMDE0LTA1LTAyIDIyOjQyOjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmM6CgkgIHY0bDJkZXZpY2Vtb25pdG9yOiBQb3J0IHRvIHVzZSBHc3RWNGwySXRlcmF0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMiAyMTozODozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwyOiBVc2Ugc2luZ2xlIHBhc3MgaXRlcmF0b3IgZm9yIE0yTSBwcm9iZQoJICBJbnN0ZWFkIG9mIGhhdmluZyBlYWNoIE0yTSBjbGFzcyBkbyB0aGVpciBvd24gcHJvYmluZywgdXNlIHRoZQoJICBHc3RWNGwySXRlcmF0b3IgYW5kIHByb2JlIGFsbCBkZXZpY2VzIGluIGEgc2luZ2xlIHBhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDUtMDIgMTY6NTU6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmM6CgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuaDoKCSAgdjRsMjogQWRkIGEgY29tbW9uIGRldmljZSBlbnVtZXJhdG9yCgkgIFRoaXMgd2lsbCBhbGxvdyByZW1vdmluZyBjb2RlIGR1cGxpY2F0aW9uIChoZW5jZSBidWdzIGR1cGxpY2F0aW9uKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wMy0xNiAxMTozODowNyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwydmlkZW9kZWM6IFNpbXBsaWZ5IHN1Yi1pbnN0YW5jaWF0aW9uIG1lY2hhbmlzbQoJICBTaW1wbGlmeSBzdWItaW5zdGFuY2lhdGlvbiBieSBkZWZpbmluZyBhbiBhYnNyYWN0IHR5cGUgYW5kIHVzaW5nIHN1YnR5cGUKCSAgY2xhc3MgYW5kIGluc3RhbmNlIGluaXQgY2FsbGJhY2suIFRoaXMgYWxzbyBmaXhlcyBhIGJ1ZyB3aGVyZSB0aGUgdGVtcGxhdGUKCSAgcGFkcyBnZXQgaW5pdGlhbGl6ZWQgdG9vIGxhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDUtMDIgMTg6MTg6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyOiBDbGVhbnVwIHBsdWdpbiByZWdpc3RyYXRpb24KCSAgVGhlcmUgaXMgbm8gcGxhbiB0byBpbnRyb2R1Y2Ugc3BlY2lhbCBzb3VyY2VzIGZvciBqcGVnLCB0ZSB2NGwyc3JjIHdvcmtzIGZpbmUKCSAgZm9yIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5MjUKCjIwMTQtMDUtMDMgMTg6MzA6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICBydHBzZXNzaW9uOiBLZWVwIGxvY2FsIGNvbmZsaWN0aW5nIGFkZHJlc3NlcyBpbiB0aGUgc2Vzc2lvbgoJICBBcyB3ZSBub3cgcmVwbGFjZSB0aGUgbG9jYWwgUlRQU291cmNlIG9uIGEgY29uZmxpY3QsIGl0J3Mgbm8gbG9uZ2VyIHBvc3NpYmxlCgkgIHRvIGtlZXAgbG9jYWwgY29uZmxpY3RzIGluIHRoZSBSVFBTb3VyY2UsIHNvIHRoZXkgaW5zdGVhZCBuZWVkIHRvIGJlIGtlcHQKCSAgaW4gdGhlIFJUUFNlc3Npb24uCgkgIEFsc28gZml4IHRoZSBydHBjb2xsaXNpb24gdGVzdCB0byBnZW5lcmF0ZSBtdWx0aXBsZSBjb2xsaXNpb25zIGluc3RlYWQgb2YKCSAgb25lIGJ5IGNoYW5nZSB0aGUgYWRkcmVzcywgYXMgb3RoZXJ3aXNlIHdlIGRldGVjdGVkIHRoYXQgaXQgd2FzIGEgc2luZ2xlIG9uZS4KCjIwMTQtMDUtMDMgMjA6NDg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4xID09PQoKMjAxNC0wNS0wMyAxODowMjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuMQoKMjAxNC0wNS0wMyAxODowMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNS0wMyAxNzoyMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vbHYucG86CgkqIHBvL25iLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3IucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNS0wMyAxMTo0MzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFNlbmQgaW5pdGlhbCBldmVudHMgYWZ0ZXIgc2V0dGluZyB0aGUgZWxlbWVudHMgdG8gUExBWUlORwoJICBPdGhlcndpc2Ugd2Ugc2VuZCB0aGVtIHRvbyBlYXJseSwgYW5kIHNldHRpbmcgdGhlIGVsZW1lbnRzIHRvIFBMQVlJTkcKCSAgYWZ0ZXJ3YXJkcyB3aWxsIGRyb3AgYWxsIHRoZSBldmVudHMgYWdhaW4uCgoyMDE0LTA1LTAzIDEwOjE1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiY2IxNTE4IHRvIDIxMWZhNWYKCjIwMTQtMDUtMDIgMTc6MTI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCBzZWdtZW50IHBvc2l0aW9uIHRvIHRoZSBzdG9wIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIKCjIwMTQtMDUtMDIgMTc6MTA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFByb3Blcmx5IHJlcG9ydCBlcnJvcnMgYmVmb3JlIHN0b3BwaW5nIHRoZSBzcmNwYWQgdGFzawoKMjAxNC0wNS0wMiAxNzowMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogRXJyb3Igb3V0IGlmIHdlIGhhdmUgbm8gY2FwcyB5ZXQKCjIwMTQtMDUtMDIgMTQ6NDk6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBhdm9pZCBkaXZpZGluZyBieSBhIDAgYmxvY2thbGlnbgoJICBUaGlzIGNhbiBiZSAwLiBJbiB0aGF0IGNhc2UsIGRvIG5vdCB0cnkgdG8gY3V0IG9mZiB0aGUgbGFzdCBmZXcKCSAgYnl0ZXMgZnJvbSB0aGUgbGFzdCBidWZmZXIuCgkgIENvdmVyaXR5IDExNDY5NzEKCjIwMTQtMDUtMDIgMTQ6MjU6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IHVzZSB1aW5pdGlhbGl6ZWQgY2x1dCBvbiBlcnJvcgoJICBJZiB3ZSdyZSBtaXNzaW5nIHBhcnQgb2YgdGhlIGNsdXQsIGRvIG5vdCB0cnkgdG8gdXNlIGl0LiBJdCBzZWVtcwoJICB2ZXJ5IGxpa2VseSB0aGUgYnJlYWsgd2FzIG1lYW50IHRvIGJyZWFrIG91dCBvZiB0aGUgc3dpdGNoIHJhdGhlcgoJICB0aGFuIGZyb20gdGhlIGxvb3AuCgkgIENvdmVyaXR5IDExMzk4NzgKCjIwMTQtMDUtMDIgMTQ6MTg6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBmaXggaW50ZWdlciBvdmVyZmxvdwoJICBDb3Zlcml0eSAxMTM5ODU5CgoyMDE0LTA1LTAyIDE0OjA5OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSAgcnRwcWRtZGVwYXk6IHJlbW92ZSBwb2ludGxlc3MgY2hlY2sKCSAgQmVzaWRlcywgdGhlIHBvaW50ZXIgd2FzIGRlcmVmZXJlbmNlZCBlYXJsaWVyIGFueXdheS4KCSAgQ292ZXJpdHkgMTEzOTg1MwoKMjAxNC0wNS0wMiAxNDowNjoyNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSBkdXBsaWNhdGUgdGVzdAoJICBpdGVtIHdhcyBkZXJlZmVyZW5jZSBwcmV2aW91c2x5LgoJICBXaGlsZSB0aGVyZSwgcmVvcmRlciBzb21lIHRlc3QgZm9yIGZhc3RlciBlYXJseSBvdXQuCgkgIENvdmVyaXR5IDExMzk4NDQKCjIwMTQtMDUtMDIgMTQ6MDI6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBndWFyZCBhZ2FpbnN0IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZQoJICBDb3Zlcml0eSAxMTM5ODM4CgoyMDE0LTA1LTAyIDEzOjU5OjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IHRoZW9yZXRpY2FsIGludGVnZXIgb3ZlcmZsb3cKCSAgVGhpcyBjb2RlIGlzbid0IGFjdHVhbGx5IHVzZWQgYXQgdGhlIG1vbWVudCwgdW5zdXJlIGlmIEkgc2hvdWxkCgkgIGp1c3QgcmVtb3ZlIGl0IG9yIG5vdC4uLgoJICBDb3Zlcml0eSAxMTM5ODExCgoyMDE0LTA1LTAyIDEzOjMzOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiBibGluZGx5IGZpeCB3cml0aW5nIHZhcmlhYmxlIGxlbmd0aCBuZWdhdGl2ZSB2YWx1ZXMKCSAgU3BvdHRlZCB3aGlsZSBmaXhpbmcgc29tZXRoaW5nIGVsc2UgaW4gdGhlIGFyZWEuCgkgIE5vdGhpbmcgY2FsbHMgdGhpcyB3aXRoIGEgbmVnYXRpdmUgdmFsdWUuCgoyMDE0LTA1LTAyIDEzOjI5OjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiBkbyBub3QgbG9zZSB0aGUgdG9wIGJpdHMgd2hlbiB3cml0aW5nIGEgPiAzMiBiaXQgdmFsdWUKCSAgQ292ZXJpdHkgMTEzOTgwNgoKMjAxNC0wNS0wMiAxMjoxMDoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogYWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoCgkgIENvdmVyaXR5IDExMzk3NTUKCjIwMTQtMDUtMDIgMTE6Mzk6MzkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiBkbyBub3QgdHJ5IHRvIGNhbGwgZ3N0X3BhZF9xdWVyeV9kZWZhdWx0IG9uIGEgTlVMTCBwYWQKCSAgZ3N0X21hdHJvc2thX3BhcnNlX3F1ZXJ5IGNhbiBiZSBjYWxsZWQgZXhwbGljaXRlbHkgd2l0aCBhIE5VTEwgcGFkLgoJICBJZiB3ZSByZWFjaCB0aGlzIHBvaW50IHdpdGggYSBOVUxMIHBhZCwgZmFpbCB0aGUgcXVlcnkuCgkgIENvdmVyaXR5IDExMzk3MTUKCjIwMTQtMDUtMDIgMTE6Mjg6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiBkbyBub3QgcmV0dXJuIEdTVF9GTE9XX09LIGlmIHdlIGRpZCBub3QgZ2V0IGEgYnVmZmVyCgkgIENvdmVyaXR5IDExMzk3MTQgKHdoaWNoIHdpbGwgbGlrZWx5IGNvbWUgYmFjayBpbiBhbm90aGVyIGd1aXNlLAoJICBhcyB0aGUgX3JlYWRfaW5pdCBjYWxsIGNhbiBoYXZlIGEgZmFpbGluZyBfbWFwKQoKMjAxNC0wNS0wMiAxMToyMDozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYTogY2F0Y2ggZmFpbHVyZSB0byBtYXAgYnVmZmVyCgkgIEF2b2lkcyBkZXJlZmVyZW5jaW5nIE5VTEwuCgkgIENvdmVyaXR5IDExMzk3MTIKCjIwMTQtMDUtMDIgMTA6NTI6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiByZWZ1c2UgY2FwcyB3aXRoIGludmFsaWQgZnJhbWVyYXRlCgkgIENvdmVyaXR5IDExMzk3MDEKCjIwMTQtMDUtMDIgMTA6MjE6MDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIDAgc2l6ZSBwYWNrZXRzIHdpdGhvdXQgZGl2aWRpbmcgYnkgMAoJICBDb3Zlcml0eSAxMTM5NjkxCgoyMDE0LTA1LTAyIDA5OjQ5OjMyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBndWFyZCBhZ2FpbnN0IGludmFsaWQgZnJhbWUgc2l6ZSB0byBhdm9pZCBkaXZpc2lvbiBieSAwCgkgIENvdmVyaXR5IDExMzk2OTAKCjIwMTQtMDUtMDIgMDk6NDk6MTcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHRyaXZpYWwgdHlwbyBmaXgKCjIwMTQtMDUtMDIgMDk6NDM6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiByZW1vdmUgZGVhZCBjb2RlCgkgIGZwcCBjYW4gbmV2ZXIgZXF1YWwgMCBoZXJlLCBvciB0aGUgbG9vcCB3b3VsZCBub3QgZXhlY3V0ZSBhdCBhbGwuCgkgIFplcm8gZnBwIHdhcyBwb3NzaWJsZSBiZWZvcmUgYXMgdGhlIGxvb3AgY29uZGl0aW9uIHdhcyBhbGxvd2luZwoJICBpdCBzcGVjaWZpY2FsbHksIGJ1dCBubyBtb3JlLgoJICBDb3Zlcml0eSAxMTM5NjgxCgoyMDE0LTA1LTAyIDA5OjQxOjE5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgb3NzNDogcmVtb3ZlIGRlYWQgbWl4ZXIgY29kZQoJICBUaGlzIHdhcyBwYXJ0bHkgcmVtb3ZlZCBpbiB0aGUgcG9ydCB0byAwLjExLiBJZiBzdGlsbCBuZWVkZWQsCgkgIGl0J3Mgc3RpbGwgdGhlcmUgaW4gdGhlIGhpc3RvcnkuCgkgIENvdmVyaXR5IDExMzk2ODcKCjIwMTQtMDUtMDIgMDk6MzM6NTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICBvc3M0OiBmaXggYSBtaXNzaW5nIHVubG9jayBhbmQgYSByZXR1cm4tb25seS13aGVuLWFzc2VydGlvbnMtZW5hYmxlZAoJICBTcG90dGVkIG9uIHRoZSBzaWRlIHdoaWxlIGxvb2tpbmcgYXQgYW5vdGhlciBpc3N1ZS4KCjIwMTQtMDMtMDcgMTc6MzE6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQ29ycmVjdGx5IG1hcCBSR0IzMiBmb3JtYXQKCSAgSW4gdjRsMiBzcGVjaWZpY2F0aW9uLCBSR0IzMiBoYXMgdGhlIGFscGhhLCBvciBwYWRpbmcsIGZpcnN0LCBub3QgbGFzdC4KCSAgU2VlIGh0dHA6Ly9saW51eHR2Lm9yZy9kb3dubG9hZHMvdjRsLWR2Yi1hcGlzL3BhY2tlZC1yZ2IuaHRtbCAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA5NDEKCjIwMTQtMDQtMzAgMTg6MDY6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiByZW1vdmUgZGVhZCBjb2RlCgkgIEZvciA4IGJpdCB3aWR0aCwgd2UgYWx3YXlzIGhhdmUgZGVwdGg9PWdkZXB0aD09d2lkdGg9PTguCgkgIENvdmVyaXR5IDExMzk2NzgKCjIwMTQtMDQtMzAgMTc6NDg6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVtb3ZlIGRlYWQgY29kZQoJICBBIHN0cmljZXIgY2hlY2sgaXMgYWxyZWFkeSBkb25lIGVhcmxpZXIsIGFuZCBpbnRlZ2VyIG92ZXJmbG93cwoJICBkbyBub3Qgc2VlbSBwb3NzaWJsZSBoZXJlLgoJICBDb3Zlcml0eSAxMTM5Njc1CgoyMDE0LTA0LTMwIDE0OjUwOjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBndWFyZCBhZ2FpbnN0IHBhdGhvbG9naWNhbCAibm8gc3BhY2UiIGNvbmRpdGlvbgoJICBFdmVuIGlmIG9uZSB3b3VsIGhvcGUgb25lIHBpeGVsIGNhbiBmaXQgaW4gYSBNVFUsIGVuc3VyZSB3ZSBkbyBub3QKCSAgb3ZlcndyaXRlIGEgYnVmZmVyIGlmIHRoaXMgaXMgbm90IHRoZSBjYXNlLgoJICBTcG90dGVkIHdoaWxlIGxvb2tpbmcgYXQgQ292ZXJpdHkgMTIwODc4NgoKMjAxNC0wNC0zMCAxMTo1MjoxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IHNhbml0eSBjaGVjayBmb3IgTlVMTCBxdGFibGUKCSAgQ2FuIGhhcHBlbiAoYXQgbGVhc3QgaW4gY3JhZnRlZCBzdHJlYW0pCgkgIENvdmVyaXR5IDEyMDg3NzgKCjIwMTQtMDQtMzAgMDE6MDg6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHBhc3Mgb24gdGFncyBmcm9tIHVwc3RyZWFtIGlmIHRoZXJlIGFyZSBhbnkKCSAgRG9uJ3QganVzdCBpZ25vcmUgdXBzdHJlYW0gdGFncyBmcm9tIGUuZy4gYW4gSUQzIHRhZyBiZWZvcmUKCSAgdGhlIC53YXYgZGF0YSwgcGFzcyB0aGVtIG9uIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyMjMKCjIwMTQtMDQtMjkgMTY6MjY6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogb3B0aW1pemUgdGltZXIgdXBkYXRlCgkgIFdoZW4gd2UgYXJlIG5vdCBkb2luZyByZXRyYW5zbWlzc2lvbiwgd2UganVzdCBuZWVkIHRvIGZpbmQgdGhlIGN1cnJlbnQKCSAgc2VxbnVtIHNvIHdlIGNhbiBzdG9wIHdoZW4gd2UgZm91bmQgaXQuCgoyMDE0LTA0LTI5IDE2OjIxOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBzbWFsbCBvcHRpbWl6YXRpb25zCgkgIFNtYWxsIG9wdGltaXphdGlvbnMgd2hlcmUgd2UgY2FuLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnLgoKMjAxNC0wNC0yOSAxNjoxNjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzaWduYWwgd2hlbiBuZXh0X3NlcW51bSBjaGFuZ2VkCgkgIFNpZ25hbCB0aGUgcHVzaGluZyB0aHJlYWQgd2hlbiB0aGUgbmV4dF9zZXFudW0gY2hhbmdlZCBhbmQgd2UgbWlnaHQgYmUKCSAgYWJsZSB0byBwdXNoIGEgYnVmZmVyIG5vdy4KCjIwMTQtMDQtMjkgMTY6MTI6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogb25seSBzaWduYWwgZXZlbnQgd2hlbiBoZWFkIGNoYW5nZWQKCSAgQWZ0ZXIgYWRkaW5nIGEgYnVmZmVyLCBvbmx5IHNpZ25hbCB0aGUgcHVzaGluZyB0aHJlYWQgd2hlbiB0aGUgaGVhZAoJICBidWZmZXIgY2hhbmdlZCBvciBlbHNlIHdlIGNhdXNlIGEgdXNlbGVzcyB3YWtldXAuCgoyMDE0LTA0LTI5IDE1OjI5OjMxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXdvcmsgcGFja2V0IGluc2VydAoJICBSZXdvcmsgdGhlIHBhY2tldCBxdWV1ZSBzbyB0aGF0IHRoZSBtb3N0IGNvbW1vbiBhY3Rpb24gKGluc2VydCBhIHBhY2tldAoJICBhdCB0aGUgdGFpbCBvZiB0aGUgcXVldWUpIGdvZXMgdmVyeSBmYXN0LgoJICBSZXBvcnQgaWYgYSBwYWNrZXQgd2FzIGluc2VydGVkIGF0IHRoZSBoZWFkIGluc3RlYWQgb2YgdGhlIHRhaWwgc28gdGhhdAoJICB3ZSBjYW4ga25vdyB3aGVuIHRvIHJldHJ5IF9wb3Agb3IgX3BlZWsuCgoyMDE0LTA0LTI5IDE2OjM4OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIGdsL2V4YW1wbGVzOiBtb3ZlIHRvIC1iYWQKCSAgLSBmaXggYWxsIHRoZSBjb21waWxlciBlcnJvcnMKCSAgLSBnaXZlIHRoZW0gdGhlaXIgb3duIGdsIGRpcmVjdG9yeQoKMjAxNC0wNC0yOCAxNDo0MToxMCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+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+UkVBRFkgc3RhdGUKCSAgV2Ugc2hvdWxkIG9wZW4gdGhlIHNvY2tldCB3aGVuIGdvaW5nIHRvIE5VTEw8LT5SRUFEWSBhbmQgbm90IGluIHRoZQoJICBzdGFydC9zdG9wIHZlbXRob2QsIHdoaWNoIGlzIGNhbGxlZCBpbiBSRUFEWTwtPlBBVVNFRC4gVGhpcyBtYWtlcyBpdAoJICBwb3NzaWJsZSB0byBhbGxvY2F0ZSBhIHNvY2tldCB3aXRob3V0IGdvaW5nIHRvIFBBVVNFRCAoYW5kIHN0YXJ0aW5nIHRoZQoJICBuZWdvdGlhdGlvbikuCgoyMDE0LTAzLTI0IDE0OjM1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZnJlZSBjYXBzIGluIHB0bWFwIGFycmF5CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY2OTYKCjIwMTQtMDMtMjAgMTE6MTI6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgTlVMTCBydHBtYXAgYW5kIHBhcnNlIGVycm9yIGJldHRlcgoKMjAxNC0wMy0xOCAwMDowODo1MCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIGdsOiBmaXggdGhlIHVzZSBvZiBhbHdheXMtZGVmaW5lZCBtYWNyb3MKCSAgQWZ0ZXIgMmEwZjAzOTlhZTIyNjA4OWMyYmEwN2IxYjkwNDc0MWI4NTZmMzdhZiBHU1RfR0xfKiBtYWNyb3MgYXJlIGFsd2F5cwoJICBkZWZpbmVkIHRvIDAgb3IgMS4gRG9uJ3QgdXNlICNpZmRlZiAuLi4gb3IgI2lmIGRlZmluZWQoKSBvbiB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTkxCgoyMDE0LTAzLTE2IDIzOjQ2OjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEb24ndCBjaGVjayBmb3IgZ3VkZXYgaWYgdmlkZW80bGludXgyIGlzIG5vdCBwcmVzZW50CgoyMDE0LTAzLTE2IDIzOjE5OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEb24ndCBmYWlsIGlmIGd1ZGV2IGlzIG5vdCBwcmVzZW50CgkgIFBLR19DSEVDS19NT0RVTEVTIGhhcyB0aGUgYmFkIGhhYml0IG9mIGZhaWxpbmcgdGhlIGJ1aWxkIGlmIGl0IGRvZXNuJ3QKCSAgZ2V0IHdoYXQgaXQgd2FudHMsIHByZXZlbnQgdGhhdC4KCjIwMTItMTEtMDIgMTM6MzM6MTMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vtb25pdG9yLmg6CgkgIHY0bDI6IEltcGxlbWVudCBHc3REZXZpY2VNb25pdG9yIHN1YmNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MDIKCjIwMTMtMDgtMTIgMTE6NDk6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmg6CgkgIHB1bHNlOiBBZGQgZGV2aWNlIG1vbml0b3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MDIKCjIwMTQtMDMtMTYgMTk6MjQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBSZW1vdmUgR3N0UHJvcGVydHlQcm9iZSBsZWZ0b3ZlcnMKCjIwMTQtMDItMTkgMDM6MDQ6MDMgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogUG9ydCB0byBuZXcgY29sbGVjdHBhZHMgQVBJCgkgIFNlZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcwNQoKMjAxNC0wMy0xNiAxNToyNjowNCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZXh0L3R5cGVzLWNvbXBhdC5oOgoJKiBzeXMvdjRsMi9leHQvdmlkZW9kZXYyLmg6CgkgIHY0bDI6IEFkZCB0eXBlcyBjb21wYXRpYmxpdHkgZm9yIG90aGVyIE9TCgkgIEFkZHMgdHlwZSBjb21wYXRpYmxpdHkgd2l0aCBvdGhlciBPUyBsaWtlIEJTRC4gVGhpcyB1c2VzIHR5cGVzIG1hcHBpbmcgbWFjcm8gdG8KCSAgYXZvaWQgY29uZmxpY3Qgd2l0aCBleGlzdGluZyBkZWZpbmVkIHR5cGVzLiBXZSByZXN1c2UgZ2xpYiB0eXBlcyBhcyB0aGVzZSBhcmUKCSAgYWxyZWFkeSBhdmFpbGFibGUgb24gc3VwcG9ydGVkIHBsYXRmb3Jtcy4gVGhpcyBpcyBHQ0Mgb25seSBiZWNhdXNlIG9mIHRoZQoJICBsZTMyIHR5cGUgdGhhdCB1c2VzIGJpdHdpc2UgYXR0cmlidXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDUzCgoyMDE0LTAzLTE2IDE1OjU1OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogZml4IGZvcm1hdCBpbmZvIHRvIGNhcHMgY29udmVyc2lvbiBmb3IgbXVsYXcKCjIwMTMtMDgtMTMgMTI6MTA6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogTWFrZSBnc3RfcHVsc2VfZm9ybWF0X2luZm9fdG9fY2FwcygpIHNoYXJlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDAyCgoyMDE0LTAzLTE1IDE4OjQxOjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHY0bDI6IEZpeCB0eXBvIFY0TF9ESVIgaW50ZWFkIG9mIFY0TDJfRElSCgoyMDEzLTEyLTI5IDE3OjI5OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs4NjQvOTA2XSBleGFtcGxlczogdXBkYXRlIHRvIGd0azMKCjIwMTMtMDctMTcgMTE6MjI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzc3MS85MDZdIGdsOiBTb21lIGxlc3MgbG9uZy91bG9uZy9ndWxvbmcgdXNhZ2UKCjIwMTMtMDctMTYgMTg6Mjc6MDcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNzY5LzkwNl0gdGVzdHMvZXhhbXBsZXM6IGZpeCBhbmQgcG9ydCBzb21lIG9mIHRoZSBleGFtcGxlcy4KCSAgUmVhbGl6ZSB3aWRnZXRzLCByZW1vdmUgZ2x1cGxvYWQgZWxlbWVudC4KCjIwMTMtMDctMTAgMTE6MjQ6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs3MjkvOTA2XSBnbDogSW5jbHVkZSBjb25maWcuaCBldmVyeXdoZXJlCgoyMDEzLTA2LTI4IDExOjAwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzcyMC85MDZdIGV4YW1wbGVzOiBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTExLTA4IDIyOjUzOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs2MDMvOTA2XSB1cGRhdGUgRlNGIGFkZHJlc3MKCjIwMTItMDgtMTQgMTQ6NDE6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs1NjAvOTA2XSBleGFtcGxlczogdXBkYXRlIGZvciBidXMgYXBpIGNoYW5nZXMgYW5kIGdsaW1hZ2VzaW5rIGNoYW5nZXMKCjIwMTItMDYtMDcgMDA6NTE6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzUxMS85MDZdIHRlc3RzOiB1cGRhdGUgZm9yIDEuMAoKMjAxMC0wOS0xNiAxNTowMDoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbNDYxLzkwNl0geG92ZXJsYXk6IHJlcXVpcmUgYmFzZSBmcm9tIGdpdCBhbmQgdXBkYXRlIHRvIG5ldyBBUEkKCjIwMTAtMDctMTIgMTg6Mzg6NTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs0NTcvOTA2XSBndGsgZXhhbXBsZXM6IGFkYXB0IGNvZGUgc2luY2UgdGhlIG5hdGl2ZS13aW5kb3cgY2hhbmdlcyBmcm9tIGd0awoJICBGaXhlcyBidWcgIzU5OTg4NQoKMjAxMC0wMS0xMiAxODozMjozOSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzQxMy85MDZdIEZpeCBXaW5kb3dzIGNvbXBpbGVyIHdhcm5pbmcgaW4gdGVzdC9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYwoKMjAwOS0xMC0yMyAwMTowNzoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzM4Ni85MDZdIHBpeGJ1ZmRyb3A6IGZpeCBleGFtcGxlIG9uIHdpbjMyCgoyMDA5LTA3LTE0IDIwOjM2OjEzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzM2MS85MDZdIGdzdGd0azogYWRkIG1pc3NpbmcgbGljZW5zZSBhbmQgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTA3LTE0IDIwOjI1OjI4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzYwLzkwNl0gZXhhbXBsZXM6IGFkZCBtaXNzaW5nIGNvcHlyaWdodC9saWNlbnNlIHRvIG15IGV4YW1wbGVzCgoyMDA5LTA0LTEyIDIwOjAzOjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzMyOC85MDZdIENvbnZlcnQgZ3RrIGV4YW1wbGVzIHRvIHVzZSBoZWxwZXIgbGlicmFyeQoJICBIZWxwZXIgbGliIGltcGxlbWVudHMgZ3N0LWd0ayBnbHVlIG9uIGFsbCBwbGF0Zm9ybXMKCjIwMDktMDItMTAgMjI6Mzk6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszMTAvOTA2XSBHbG9iYWwgcmVpbmRlbnQKCSAgSW5kZW50IHBhcmFtZXRlcnM6CgkgIElOREVOVF9QQVJBTUVURVJTPSItLWJyYWNlcy1vbi1pZi1saW5lIFwKCSAgLS1jYXNlLWJyYWNlLWluZGVudGF0aW9uMCBcCgkgIC0tY2FzZS1pbmRlbnRhdGlvbjIgXAoJICAtLWJyYWNlcy1hZnRlci1zdHJ1Y3QtZGVjbC1saW5lIFwKCSAgLS1saW5lLWxlbmd0aDgwIFwKCSAgLS1uby10YWJzIFwKCSAgLS1jdWRkbGUtZWxzZSBcCgkgIC0tZG9udC1saW5lLXVwLXBhcmVudGhlc2VzIFwKCSAgLS1ob25vdXItbmV3bGluZXMgXAoJICAtLWNvbnRpbnVhdGlvbi1pbmRlbnRhdGlvbjQgXAoJICAtLXRhYi1zaXplOCBcCgkgIC0taW5kZW50LWxldmVsMiIKCjIwMDktMDItMDUgMTM6MTM6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszMDgvOTA2XSBSZW5hbWUgZ2xwaXhidWZvdmVybGF5IHRvIGdsb3ZlcmxheQoKMjAwOS0wMS0yMyAwMjowNDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMwMS85MDZdIGRlcGVuZHMgb24gbGlicG5nIGluc3RlYWQgb2YgZ2RrX3BpeGJ1ZgoKMjAwOS0wMi0xMCAyMTo1NzozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzI5OC85MDZdIFJldmVydCAiRml4IGluZGVudGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5NmU0YWIxOGMyY2Y5ODc2ZjZjMDMxYjlhYmE2MjgyZDBiZDQ1YTkzLgoJICBZb3Ugc2hvdWxkIGhhdmUgYXNrZWQgZmlyc3QuICBBbmQgeW91IHdvdWxkIGhhdmUgYmVlbiB0b2xkICJubyIsCgkgIGJlY2F1c2UgaXQgY2F1c2VzIHBlb3BsZSBvbiBkZXZlbG9wbWVudCBicmFuY2hlcyB0byBkbyBhIGh1Z2UKCSAgYW1vdW50IG9mIGV4dHJhIHdvcmsuCgoyMDA5LTAyLTAzIDE4OjMzOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMjk1LzkwNl0gRml4IGluZGVudGlvbgoKMjAwOC0xMC0xNSAxNjoxODoyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMjQ3LzkwNl0gSW1wb3J0IHhyYXkgZWZmZWN0CgkgIEFkZCB4cmF5IGVmZmVjdC4gTWFwcyBsdW1hIHRvIGEgbmVnYXRpdmUsIHNsaWdodGx5IGN5YW4gdGludGVkLCBjdXJ2ZSwKCSAgYXBwbGllcyBzb21lIGxpZ2h0IGdhdXNzaWFuIGJsdXIgYW5kIG11bHRpcGxpZXMgaXQgd2l0aCBpdHMgc29iZWwgZWRnZXMuIE5vdAoJICBzdXJlIGFib3V0IHRoZSBuYW1lLCBsaWtlbHkgdG8gY2hhbmdlLiBQcm9iYWJseSBzdGlsbCBuZWVkcyBzb21lIHR1bmluZy4KCjIwMDgtMDgtMTkgMjI6MTU6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsxOTkvOTA2XSBhZGQgcGl4YnVmZHJvcCB2czggcHJvamVjdAoKMjAwOC0wOC0xOSAyMTowNDoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5OC85MDZdIGFkZCBmeHRlc3QgdnM4IHByb2plY3QKCjIwMDgtMDgtMTkgMDg6NTA6MTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsxOTUvOTA2XSBmaXggZ3N0Z2xkaWZmZXJlbmNlbWF0dGUgYW5kIGFkZCBhbiBleGFtcGxlIGFwcCB0byB0ZXN0IGl0IGRyYWdnaW5nIGFuIGltYWdlIG92ZXIgdGhlIHZpZGVvICh3b3JrcyB3aXRoIHBpeGJ1Zm92ZXJsYXkgdG9vLCBzZWUgcGl4YnVmZHJvcCAtLWhlbHApCgoyMDA4LTA4LTE2IDE3OjM2OjEwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxODAvOTA2XSBtaW5vciBjbGVhbnVwIGluIGZ4dGVzdAoKMjAwOC0wOC0xNiAxMDoxNTozMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTc4LzkwNl0gaW1wcm92ZSBmeHRlc3QgY29tbWFuZCBsaW5lIG9wdGlvbiBoYW5kbGluZywgZGVmYXVsdCB0byB2aWRlb3Rlc3RzcmMgaWYgbm8gc291cmNlIGJpbiBkZXNjcmlwdGlvbiBpcyBnaXZlbgoKMjAwOC0wOC0xNiAwOToxMzozOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTc1LzkwNl0gYWRkIHNpbiBlZmZlY3QgKGRlc2F0dXJhdGUgZXZlcnl0aGluZyBidXQgcmVkIHNoYWRlcykuIHN0aWxsIG5lZWRzIHNvbWUgdHVuaW5nLgoKMjAwOC0wOC0xNCAyMToyOTowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTczLzkwNl0gYWRkIGx1bWF4cHJvIChkZXNhdHVyYXRlICsgY3Jvc3MgcHJvY2VzcykgZWZmZWN0LiBub3RoaW5nIHRvbyBpbXByZXNzaXZlIGJ1dCBJIGxpa2UgaXQuCgoyMDA4LTA4LTE0IDIwOjU0OjU0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzIvOTA2XSBhZGQgc3VwcG9ydCBmb3IgY29tbWFuZCBsaW5lIHBhcnNpbmcgdG8gZnh0ZXN0ICh0cnkgZnh0ZXN0IHZpZGVvdGVzdHNyYyAhIGRlc2lyZWQgY2FwcyAhIGlkZW50aXR5KS4gcmVwb3J0IGEgbmV3IGlzc3VlIG9uIEJVR1MuCgoyMDA4LTA4LTE0IDIwOjAyOjA0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzEvOTA2XSBpbXBvcnQgZnh0ZXN0IChsaXR0bGUgZ3RrIGFwcCB0byBlYXNpbHkgdGVzdCBlZmZlY3RzKSBmcm9tIGN2cyBicmFuY2gsIGZpeGVkIHJnYnRvY3VydmUuCgoyMDE0LTAzLTE1IDE4OjA1OjMyICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDItYnVpbGQ6IFNldCBIQVZFX0dTVF9WNEwyIGlmIGhlYWRlcnMgYXJlIHByZXNlbnQKCSAgVGhlIG5hbWUgb2YgSEFWRV8gbmVlZCB0byBtYXRjaCB0aGUgVVNFXy4gTm93IHNldCBIQVZFX0dTVF9WNEwyIGlmCgkgIHZpZGVvZGV2Mi5oIGlzIGZvdW5kLgoKMjAxNC0wMy0xNSAxNjo0Nzo1MSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHY0bDI6IEFjdHVhbGx5IGJ1aWxkIHRoZSBwbHVnaW4KCSAgVGhlIGNoZWNrcyB3ZXJlIHJlbW92ZWQgaW5hZHZlcnRlZGx5IGluIHByZXZpb3VzIHBhdGNoIGFuZCBub3QgcmVwbGFjZWQuCgkgIFJlLWludHJvZHVjZSB0aGUgY29uZmlndXJlIGNoZWNrcyBhbmQgc29tZSBvZiB0aGUgY2hlY2tzIGluIG9yZGVyIHRvIGVuYWJsZQoJICB0aGlzIHBsdWdpbiBhZ2Fpbi4gV2Ugb25seSBjaGVjayBpZiB2aWRlb2RldjIuaCBleGlzdCBvbiB0aGUgcGxhdGZvcm0gdG8KCSAgYXZvaWQgYnVpbGRpbmcgb24gV2luZG93cyBvciBPU1gsIHRob3VnaCB3ZSBidWlsZCBhZ2FpbnN0IG91ciBvd24gY29weS4gVGhpcwoJICB3YXMgYnJlYWtpbmcgdGhlIGJ1aWxkIG9uIGJ1aWx0LWJvdC4KCjIwMTQtMDMtMTUgMTM6NDc6NDIgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgdHJhbnNsYXRpb246IFBPIGZpbGUgY2hhbmdlcyBjYXVzZWQgYnkgUE9URklMRS5pbiB1cGRhdGUKCjIwMTQtMDMtMTUgMTM6MTc6MjEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkgIHY0bDI6IFJlbW92ZSBYViBzdXBwb3J0CgkgIFhWIHN1cHBvcnQgZm9yIHY0bDIgbmV2ZXIgYmVjYW1lIHVwc3RyZWFtIGFuZCBlbmRlZCB1cCBiZWluZwoJICBjb21tZW50ZWQgb3V0IHdpdGggYW4gdW5kZWYgZm9yIGEgbG9uZyB0aW1lIG5vdy4KCjIwMTQtMDMtMTUgMTE6MTM6MDUgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbW1vbi5oOgoJKiBzeXMvdjRsMi9leHQvdjRsMi1jb250cm9scy5oOgoJKiBzeXMvdjRsMi9leHQvdmlkZW9kZXYyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHY0bDI6IFVzZSBhIGNvcHkgb2YgdmlkZW9kZXYyLmggaGVhZGVyCgkgIFdpdGggeWVhcnMgdGhlIGFtb3VudCBvZiBpZmRlZiBoYXZlIGdyb3duIHVwIGFuZCB3ZSBhcmUgbm90IGV2ZW4gc3VyZSBpZiB0aGUKCSAgb2xkIGNvZGUgcGF0aCBjb21waWxlcy4gRWFjaCB0aW1lIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSB2NGwyIGZyYW1ld29yayB0byBhZGQKCSAgdGhlIG5ldyBmZWF0dXJlLCB3ZSBicmVhayBjb21waWxhdGlvbiBvbiBvbGRlciBrZXJuZWwuIFdpdGggZXhjZXB0aW9uIG9mIHR3bwoJICBjb250cm9scyBpbiB0aGUgdmlkZW8gb3JpZW50YXRpb24gY29udHJvbCwgdGhpcyBwYXRjaCBnZXQgcmlkIG9mIGFsbCBpZmRlZiBieQoJICBpbmNsdWRpbmcgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHZpZGVvZGV2Mi5oIGluc2lkZSBHU3RyZWFtZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM0NDYKCjIwMTQtMDMtMTIgMTU6MzI6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIHByb3BlcnRpZXMgZm9yIHNlbGVjdGluZyBTU0wvVExTIGNlcnRpZmljYXRlIGNoZWNraW5nCgkgIEFuZCBieSBkZWZhdWx0IHByb3Blcmx5IGNoZWNrIGNlcnRpZmljYXRlcyBhZ2FpbnN0IHRoZSBzeXN0ZW0ncyBDQQoJICBjZXJ0aWZpY2F0ZXMuIEV2ZXJ5dGhpbmcgZWxzZSBpcyBub3QgYSBnb29kIGRlZmF1bHQgYXQgYWxsLgoKMjAxNC0wMy0xMSAxNDo1NjozMCArMDEwMCAgUGVyIHggSm9oYW5zc29uIDxwZXJ4am9oQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBhc3NlcnQgb24gZnBzIGxvd2VyIHRoYW4gMQoJICBGaXhlcyBhc3NlcnQgY2F1c2VkIGJ5IGdzdF9kdXJhdGlvbl90b19mcmFjdGlvbiBjYWxsaW5nCgkgIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQgd2l0aCBhIGRlbm9taW5hdG9yIG9mIDAgd2hlbiBmcHMgaXMgbGVzcwoJICB0aGFuIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxMDYKCjIwMTQtMDMtMTEgMDA6NDY6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IHN0b3JlIHZpZGVvIGluZm8gd2l0aCBidWZmZXJzIHRvIGtlZXAgaXQgaW4gc3luYwoJICBJbnN0ZWFkIHRoZSBxdWV1ZWQgYnVmZmVyIG1pZ2h0IGhhdmUgYW4gb2xkIGNhcHMgd2hpbGUgdGhlIHBhZAoJICBpcyBhbHJlYWR5IHN0b3JpbmcgdGhlIGluZm9ybWF0aW9uIGZvciBhIG5ldyBjYXBzLiBNaXhpbmcgdGhvc2UKCSAgd2hpbGUgaGFuZGxpbmcgYnVmZmVycyB3aWxsIG9mdGVuIGxlYWQgdG8gaXNzdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU5NDgKCjIwMTQtMDMtMDggMTk6Mjk6NTggLTA1MDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBGaXggdHlwbyBjb250b2wgLT4gY29udHJvbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NjMyCgoyMDE0LTAzLTA0IDAxOjE1OjQ5ICswMDAwICBXaWxsaWFtIE1hbmxleSA8d2lsbEB3aWxsaWFtbWFubGV5Lm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogTm9ybWFsaXNlIGNvbnRyb2wgbmFtZXMgaW4gdGhlIHNhbWUgd2F5IGFzIHY0bDItY3RsCgkgIFY0TDIga2VybmVsIGRyaXZlcnMgYWxsb3cgY29uZmlndXJhdGlvbiBvZiB0aGUgaGFyZHdhcmUgc2V0dGluZ3MgdmlhIGEKCSAgbWVjaGFuaXNtIGNhbGxlZCBjb250cm9scy4gIFRoZXNlIGNhbiBiZSByZWZlcnJlZCB0byBieSBuYW1lIHN1Y2ggYXMKCSAgIkJyaWdodG5lc3MiIGFuZCAiV2hpdGUgQmFsYW5jZSBUZW1wZXJhdHVyZSIuICBUaGUgdXNlci1zcGFjZSBjb21tYW5kIGxpbmUKCSAgY2xpZW50IGZvciBzZXR0aW5nIHRoZXNlIGNvbnRyb2xzICh2NGwyLWN0bCkgbm9ybWFsaXNlcyB0aGVzZSBuYW1lcyBzdWNoCgkgIHRoYXQgdGhleSBvbmx5IGNvbnRhaW4gbG93ZXIgY2FzZSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgdGhlCgkgIHVuZGVyc2NvcmUgJ18nLiAgZS5nOgoJICBLZXJuZWwgICAgICAgICAgICAgICAgICAgICB2NGwyLWN0bAoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgIEJyaWdodG5lc3MgICAgICAgICAgICAgICAgIGJyaWdodG5lc3MKCSAgV2hpdGUgQmFsYW5jZSBUZW1wZXJhdHVyZSAgd2hpdGVfYmFsYW5jZV90ZW1wZXJhdHVyZQoJICBGb2N1cyAoYWJzb2x1dGUpICAgICAgICAgICBmb2N1c19hYnNvbHV0ZQoJICBHU3RyZWFtZXIgc2VlbXMgdG8gd2FudCB0byBmb2xsb3cgdGhpcyBwYXR0ZXJuIGJ1dCBmYWlsZWQgZm9yIGNvbnRyb2xzIHdpdGgKCSAgbW9yZSB0aGFuIG9uZSBjb25zZWN1dGl2ZSBub24tYWxwaGFudW0gY2hhcmFjdGVyLiAgZS5nLiBHU3RyZWFtZXIgd291bGQKCSAgcHJvZHVjZSAiZm9jdXNfX2Fic29sdXRlXyIgcmF0aGVyIHRoYW4gImZvY3VzX2Fic29sdXRlIi4KCSAgVGhpcyBjb21taXQgZml4ZXMgdGhhdCBpc3N1ZS4gIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGlzIHByZXNlcnZlZCBieQoJICBub3JtYWxpc2luZyBhbGwgY29udHJvbCBuYW1lcyBiZWZvcmUgY29tcGFyaXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTYzMgoKMjAxNC0wMy0wNyAxNjoxNzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBNYWtlIHN1cmUgdG8gbm90IHJldHVybiBFT1MgaW1tZWRpYXRlbHkgaWYgd2UgZmluaXNoZWQgYSByYW5nZSByZXF1ZXN0CgkgIE9ubHkgcmV0dXJuIEVPUyB0aGUgbmV4dCB0aW1lIGNyZWF0ZSgpIGlzIGNhbGxlZCwgaWYgYXQgYWxsLiBiYXNlc3JjCgkgIHNob3VsZCBhbHJlYWR5IHRha2UgY2FyZSBvZiBub3QgY2FsbGluZyBpdCBhZ2Fpbi4KCSAgQWxzbyBhbHdheXMgcmV0dXJuIGltbWVkaWF0ZWx5IGlmIHRoZSBwcmV2aW91cyBmbG93IHJldHVybiB3YXMKCSAgbm90IE9LLiBUaGlzIGluZGljYXRlcyBhbiBlcnJvciBzb21ld2hlcmUuCgoyMDE0LTAzLTA2IDEyOjA2OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cDogUmVtb3ZlIGNhcHMgcmVzdHJpY3Rpb25zIGZyb20gUlRQIGRlcGF5bG9hZGVyIHNpbmsgY2FwcwoJICBSZW1vdmUgY2FwcyByZXN0cmljdGlvbnMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSBkZWZhdWx0IGFuZCBhcmUgbm90CgkgIHJlcXVpcmVkIGluIFNEUC4gV2l0aCB0aGUgbmV3IHVzYWdlIG9mIGhhdmluZyBwYWRzIHJlcXVpcmUgYSBzdWJzZXQKCSAgb2YgdGhlIGNhcHMsIHRoZXkgd2lsbCBtYWtlIHRoZSBuZWdvdGlhdGlvbiBmYWlsLgoKMjAxNC0wMy0wNiAxMTowMjowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICBydHBzcGVleGRlcGF5OiBSZW1vdmUgY2FwcyByZXN0cmljdGlvbnMgZm9yIGRlcGF5bG9hZGVyCgkgIFRoZSAiZW5jb2RpbmctcGFyYW1zIiBpcyBvcHRpb25hbCBpbiB0aGUgU0RQLCBiZWNhdXNlIHdlIG5vdyByZXF1aXJlCgkgIGEgc3Vic2V0IG9mIHRoZSBjYXBzLCBpdCB3b3VsZCBmYWlsIGNhcHMgbmVnb3RpYXRpb2luIGlmIGl0IHdhc24ndCBwcmVzZW50LgoJICBTbyByZW1vdmVkIGl0IGZyb20gdGhlIHRlbXBsYXRlIGNhcHMuCgoyMDE0LTAzLTA2IDEzOjM4OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGZvcmdldCB0byBxdWl0IG1haW5sb29wIGFmdGVyIHdlIGNhbmNlbGxlZCB3aGVuIHdlIGdvdCBkYXRhIGFmdGVyIHRoZSBzdG9wIHBvc2l0aW9uCgoyMDE0LTAzLTA2IDEzOjM1OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IElmIHdlIGhhZCBhIHN0b3AgcG9zaXRpb24sIGFsbG93IGZvciB0aGUgc2VydmVyIHRvIGZpbmlzaCBvdXIgY29ubmVjdGlvbiBpbnN0ZWFkIG9mIGp1c3QgY2FuY2VsbGluZwoJICBPdGhlcndpc2Uga2VlcC1hbGl2ZSBkb2VzIG5vdCBtYWtlIG11Y2ggc2Vuc2UgYW5kIGFsc28gdGhlIHNlcnZlciB3aWxsIGhhdmUKCSAgY29uZnVzaW5nIHRoaW5ncyBpbiB0aGUgbG9ncy4KCjIwMTQtMDMtMDYgMTI6MjQ6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNraXAgc3RyZWFtcyB3aXRoIHNhbWUgY29udHJvbCB1cmwKCSAgS2VlcCB0cmFjayBvZiB3aGF0IHN0cmVhbXMgd2UgZGlkIHRoZSBTRVRVUCBmb3IuIFdlIG9ubHkgbmVlZCB0bwoJICBjb25maWd1cmUgY2Fwcywgd2FpdCBmb3IgcGFkcyBhbmQgcHVzaCBldmVudHMgb24gc2V0dXAgc3RyZWFtcy4gV2UgY2FuCgkgIHJlbW92ZSB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIHN0cmVhbSBhbmQgc2ltcGxpZnkgc29tZSBjaGVja3MuCgkgIEFmdGVyIHdlIHNldHVwIGEgc3RyZWFtLCBza2lwIHRoZSBvdGhlciBzdHJlYW1zIHRoYXQgaGF2ZSB0aGUgc2FtZQoJICBjb250cm9sIHVybC4gVXNlIGEgc2tpcHBlZCBmbGFnIHRvIG1hcmsgc3RyZWFtcyB0aGF0IHNob3VsZCBiZSBza2lwcGVkLgoKMjAxNC0wMy0wNiAxMjoyMjo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSBvYnNvbGV0ZSBjb2RlCgoyMDE0LTAzLTA1IDE2OjE5OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBqdXN0IHVzZSB0aGUgU0RQIGluZGV4IGFzIHRoZSBzdHJlYW0gaWQKCSAgVXNlIHRoZSBpbmRleCBvZiB0aGUgbWVkaWEgc3RyZWFtIGluIHRoZSBTRFAgYXMgdGhlIHN0cmVhbSBpZCBpbnN0ZWFkIG9mCgkgIGtlZXBpbmcgYSBzZXBhcmF0ZSBjb3VudGVyLgoKMjAxNC0wMy0wNSAxMzozNToxOSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiBmaXggYnVpbGQgb24gTWFjIE9TWCBNYXZlcmlja3MgYW5kIHB1dCBuZXcgd2luZG93IGluIGZyb250CgkgIEdldEN1cnJlbnRQcm9jZXNzL1NldEZyb250UHJvY2Vzcy9UcmFuc2Zvcm1Qcm9jZXNzVHlwZSB3YXMgZGVwcmVjYXRlZAoJICBhbmQgbm93IHJlbW92ZWQgaW4gTWFjIE9TWCAxMC45LiBvcmRlckZyb250UmVnYXJkbGVzcyBpcyB1c2VkIHRvIG1ha2UKCSAgdGhlIHZpZGVvIHdpbmRvdyB0aGUgbW9zdCBmcm9udCB3aW5kb3cuCgoyMDE0LTAzLTA1IDE3OjMzOjU2ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbmcub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBBZGQgZG9jcyBkaXJlY3RvcnkgdG8gc3BlYyBmaWxlCgoyMDE0LTAzLTA1IDE1OjQ0OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIE5VTEwgY29udHJvbCB1cmxzIGJldHRlcgoKMjAxNC0wMy0wNSAxNDoyODoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHNtYWxsIGNsZWFudXBzCgkgIEl0J3MgbmljZXIgdG8gZXhwbGljaXRseSBjaGVjayBmb3IgTlVMTCBvbiBwb2ludGVyIHR5cGVzIHRvIG1ha2UgaXQKCSAgY2xlYXIgdGhhdCBpdCdzIGEgcG9pbnRlciBhbmQgbm90IGEgYm9vbGVhbi4KCjIwMTQtMDMtMDUgMTQ6MjY6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBoYW5kbGUgdW5rbm93biBTU1JDIGluIEZJUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NzEyCgoyMDE0LTAzLTA1IDExOjM5OjA5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHNlZWtpbmcKCSAgQ2FsbCBnc3RfcnRzcHNyY19jb25uZWN0aW9uX2ZsdXNoIChzcmMsIEZBTFNFKSB0byByZXNldCBjb25uZWN0aW9ucyBhcwoJICBub24tZmx1c2hpbmcgYmVmb3JlIHNlbmRpbmcgUEFVU0UgYW5kIFBMQVkgd2l0aCB0aGUgbmV3IG5wdCByYW5nZS4gV2l0aG91dCB0aGlzCgkgIHBhdGNoLCB0aG9zZSBjb21tYW5kcyB3b3VsZCBmYWlsIHdpdGggRUlOVFIgYXMgdGhlIGNvbm5lY3Rpb25zIHdlcmUgc3RpbGwKCSAgZmx1c2hpbmcuCgoyMDE0LTAzLTAzIDE2OjM5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogZXhwb3NlIHhzdWIgYXMgYSBzdWJ0aXRsZSBpbnN0ZWFkIG9mIGFzIGEgdmlkZW8KCSAgSXQgaXMgcGxhY2VkIGluc2lkZSBhICd2aWRzJyBzdHJ1Y3QsIHNvIGl0IHdhcyBiZWluZyBleHBvc2VkIG9uCgkgIGEgcGFkIG5hbWVkIHZpZGVvXyVkLiBYU1VCIGFyZSBzdWJ0aXRsZXMgYW5kIHRoaXMgcGF0Y2ggYWRkcwoJICBhbiBzcGVjaWFsIGNhc2UgZm9yIGl0IHRvIGJlIGV4cG9zZWQgaW4gYSBzdWJwaWN0dXJlXyVkIHBhZAoKMjAxNC0wMy0wMyAxNjozODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkbyBub3QgdHJ5IHRvIGFkZCBhIHRhZyB3aXRoIHRhZ19uYW1lIHNldCB0byBOVUxMCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGVyZSBhcmUgc3VidGl0bGVzIGluIHRoZSBzdHJlYW0sIGxlYWRpbmcgdG8KCSAgYW4gYXNzZXJ0aW9uCgoyMDE0LTAzLTA0IDE2OjQwOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgcGF5bG9hZCB0eXBlcwoJICBBIG1lZGlhIHN0cmVhbSBjYW4gaGF2ZSBtdWx0aXBsZSBwYXlsb2FkIHR5cGVzLiBQYXJzZSBhbGwgdGhlIHBheWxvYWQKCSAgdHlwZXMgYW5kIGNvbGxlY3QgdGhlIGNhcHMgaW5mb3JtYXRpb24uIFdlIHRoZW4gaGF2ZSB0byBzdG9yZSB0aGUKCSAgcHQ8LT5jYXBzIG1hcHBpbmcgaW5zdGVhZCBvZiAxIHB0IGFuZCAxIGNhcHMuCgkgIFBhcnNlIHRoZSBwcm9maWxlIGZyb20gdGhlIFNEUCBhbmQgdXNlIHRoYXQgdG8gbmVnb3RpYXRlIHRoZSB0cmFuc3BvcnQKCSAgaW5zdGVhZCBvZiBhbHdheXMgdXNpbmcgQVZQLgoJICBSZXdvcmsgaG93IHdlIGRvIHNvbWUgdHdlYWtzIGZvciBBU0YgYW5kIFJlYWxtZWRpYS4KCjIwMTQtMDMtMDQgMTE6MzQ6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZWZhY3RvciBwYXlsb2FkIGhhbmRsaW5nCgoyMDE0LTAzLTAzIDExOjM0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCBidWZmZXIgbGV2ZWwgd2l0aCBpbnZhbGlkIERUUwoJICBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBEVFMgaXMgaW52YWxpZCAod2hlbiB3ZSByZWNlaXZlIFJUUCBwYWNrZXRzIGZyb20KCSAgVENQLCBmb3IgZXhhbXBsZSkuIEFzIGEgZmFsbGJhY2ssIHVzZSB0aGUgcmVjb25zdHJ1Y3RlZCBQVFMgdmFsdWUgdG8KCSAgY2FsY3VsYXRlIHRoZSBidWZmZXIgbGV2ZWwuCgoyMDE0LTAzLTAyIDA1OjEwOjEzICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgZ2NvdiBpbnRlcm1lZGlhdGUgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQ4MAoKMjAxNC0wMi0yOCAwOTozNDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmUxNjcyZSB0byBiY2IxNTE4CgoyMDE0LTAyLTI3IDIzOjE1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogcHV0IGNvZGVjIGRhdGEgb24gY2FwcyBmb3IgbG9hcyBmb3JtYXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTQ1OWNmM2UwMWEwOGYxYTNlZjFmYjk1NGE0MWNmYTM2YjNlNTEwYy4KCSAgVGhpcyB3YXMgcHVzaGVkIGJ5IGFjY2lkZW50LCB0aGUgYnVnIHNob3VsZCBsaWtlbHkgYmUgZml4ZWQgaW4KCSAgbGliYXYgaHR0cHM6Ly9idWd6aWxsYS5saWJhdi5vcmcvc2hvd19idWcuY2dpP2lkPTY0NAoKMjAxNC0wMi0yNyAxODo1NTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IG1hcmsgYWxsIHBhcnNlZCBmcmFtZXMgYXMgc3luYyBwb2ludHMKCSAgYWxsIGpwZWcgZnJhbWVzIGFyZSBzeW5jIHBvaW50cywgc28gbWFyayB0aGVtIGFzIHN1Y2ggc28KCSAgcmV2ZXJzZSBwbGF5YmFjayBjYW4gcHJvcGVybHkgd29yayB3aXRoIHRoZSB2aWRlbyBkZWNvZGVyCgkgIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTEwNAoKMjAxNC0wMi0yNSAwMToxMjowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBwdXQgY29kZWMgZGF0YSBvbiBjYXBzIGZvciBsb2FzIGZvcm1hdAoJICBnc3QtbGliYXYgYXVkaW8gZGVjb2RlciBhbHNvIG5lZWRzIGNvZGVjIGRhdGEgZm9yIExPQVMgZm9ybWF0LCBvdGhlcndpc2UKCSAgaXQgd2lsbCBjb21wbGFpbiBhYm91dCBub3QgaGF2aW5nIGEgZGVjb2RlciBjb25maWcgYW5kIHNraXAgYWxsIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5Njc3MgoKMjAxNC0wMi0yNyAwMDo0Mzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhbGlnbiByYXcgYXVkaW8gbWVtb3J5IHRvIHBvd2VycyBvZiB0d28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTAwOAoKMjAxNC0wMi0yNyAwMDozNzoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBjYWxjdWxhdGUgYWxpZ25tZW50IHByb3Blcmx5IGZvciBhdWRpbyBkZXB0aHMgbm90IGEgbXVsdGlwbGUgb2YgOAoKMjAxNC0wMi0yMyAxOTowOToyNCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggY3Jhc2ggd2l0aCAyNC1iaXQgcmF3IGF1ZGlvCgkgIERvIG5vdCB0cnkgdG8gYWxpZ24gYXVkaW8gYnVmZmVycyB0byBvZGQgbnVtYmVycywKCSAgd2hpY2ggd2lsbCBnZXQgdXMgYSBOVUxMIGJ1ZmZlciB3aGljaCB3ZSB0aGVuCgkgIGNyYXNoIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDA4CgoyMDE0LTAyLTI3IDAwOjExOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIHJ0cG1hbmFnZXI6IHJlLWVuYWJsZSAtV2Vycm9yCgoyMDE0LTAyLTI3IDAwOjExOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluIGZ1bmN0aW9uICdnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCc6CgkgIGdzdHJ0cGppdHRlcmJ1ZmZlci5jOjI5Nzg6MzogZXJyb3I6ICdyZXN1bHQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoJICB3aGlsZSAocmVzdWx0ID09IEdTVF9GTE9XX09LKTsKCSAgXgoKMjAxNC0wMi0yNiAyMjoxMTo0MSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWEwN2RhOSB0byBmZTE2NzJlCgoyMDE0LTAyLTI2IDIxOjExOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0yNiAwNzozMjozMiAtMDUwMCAgSmFrZSBGb3l0aWsgPGpha2UuZm95dGlrQGlwY29uZmlndXJlLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFJlbW92ZSByYXcgY29tcGFyaXNvbnMgb2YgUlRQIHNlcXVlbmNlIG51bWJlcnMKCSAgU2V2ZXJhbCBjb25kaXRpb25hbCBzdGF0ZW1lbnRzIHBlcmZvcm0gY29tcGFyaXNvbiBvbiBSVFAgc2VxdWVuY2UKCSAgbnVtYmVycyB3aXRob3V0IHRha2luZyB0aGUgc2VxdWVuY2UgbnVtYmVyIHJvbGxvdmVyIGludG8gYWNjb3VudC4KCSAgSW5zdGVhZCwgdXNlIHRoZSBnc3RfcnRwX2J1ZmZlcl9jb21wYXJlX3NlcW51bSBmdW5jdGlvbiB0byBwZXJmb3JtIHRoZQoJICBjb21wYXJpc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTU5CgoyMDE0LTAyLTAzIDAxOjQ0OjIxICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IERvbid0IGJ1aWxkIGRpc2FibGVkIHBsdWdpbnMnIGNoZWNrIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MDIKCjIwMTQtMDItMjYgMTE6Mjk6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBpbnN0YWxsIHByZWJ1aWx0IHBsdWdpbiBkb2NzIGlmIGd0ay1kb2MgaXMgZGlzYWJsZWQKCSAgU3luYyB0byB0aGUgTWFrZWZpbGUuYW0gZnJvbSBnc3QtcGx1Z2luLWJhc2Ugd2hlcmUgaXQgaXMgZG9uZSByaWdodC4KCSAgRml4ZXMgIzcyNTAzNAoKMjAxNC0wMi0yNSAxNjoxMDo1NCAtMDUwMCAgSHVndWVzIEZydWNoZXQgPGh1Z3Vlcy5mcnVjaGV0QHN0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZG8gbm90IGVtaXQgInBhcnNlZCIgY2FwcyBmb3IgdnA4CgkgIFZQOCBkb2Vzbid0IHJlcXVpcmUgcGFyc2luZyAodnA4cGFyc2UgZG9lc24ndCBleGlzdCwgc28gbmVnb3RpYXRpb24gd2l0aCBkZW11eCBmYWlscwoJICBpZiAicGFyc2VkIiBpcyBzZXQgaW4gY2FwcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ2MzYKCjIwMTQtMDItMTEgMTY6Mjc6MDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRG9uJ3QgcmVxdWlyZSBwYXJzZXIgZm9yIFZQOAoJICBVbnRpbCBHU3RyZWFtZXIgaGFzIG9uZSAoc2VlIGJ1ZzcyMjc2MCksIHdlIHNob3VsZCBub3QgcmVxdWlyZSBhIHBhcnNlciBmb3IgVlA4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDE0LTAyLTEwIDE3OjA4OjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IENBUFRVUkVfTVBMQU5FIGlzIHdlbGwgdGVzdGVkIG5vdwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDEzLTEyLTE4IDA5OjU2OjM1ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMnZpZGVvZGVjOiBDcmVhdGUgb25lIGVsZW1lbnQgcGVyIGRldmljZQoJICBGb3IgZWFjaCB2aWRlb0NkZXZpY2UgcHJvYmUgaXQgaW5wdXQvb3V0cHV0IGNhcGFiaWxpdGllcwoJICBpZiBpdCBtYXRjaCB3aXRoIHZpZGVvIGRlY29kZXIgcmVxdWlyZW1lbnQgcmVnaXN0ZXIgYSBuZXcgZWxlbWVudC4KCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTMtMTItMTkgMTU6MjY6NTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBDYWxjdWxhdGUgbGF0ZW5jeSBmcm9tIGRldmljZSBpbmZvcm1hdGlvbgoJICBEZWNvZGVycyBvciBvdGhlciBkZXZpY2VzIHRoYXQgZXhwb3NlIGEgbWluaW11bSBidWZmZXJzIHJlcXVpcmVkIHByb2R1Y2UKCSAgYW4gZmlyc3Qgb3V0cHV0LiBXZSB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBjYWxjdWxhdGUgbGF0ZW5jeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxMy0xMS0yOCAxNzoxNDoxOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJ2aWRlb2RlYzogSW1wbGVtZW50IHY0bDJ2aWRlb2RlYwoJICBJbXBsZW1lbnQgYW4gZWxlbWVudCB0aGF0IGNhbiBkcml2ZXIgVjRMMiBNMk0gZGVjb2RlciBkZXZpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTQtMDItMTEgMTI6NDE6MjkgKzAxMDAgIEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBvbmx5IHVwZGF0ZSBsYXN0X3Nwc3BwcyB0aW1lIGlmIGFsbCBzcHMvcHBzIGdvdCBzZW50IHN1Y2Nlc3NmdWxseQoJICBUaGlzIGZpeGVzIGFuIGlzc3VlIHdpdGggZ3N0LXJ0c3Atc2VydmVyIHdoZXJlIG5vIHNwcyBhbmQgcHBzIGFyZQoJICBzZW50IGZvciB0aGUgZmlyc3QgaW50cmEgZnJhbWUsIGJlY2F1c2UgdGhlIHBheWxvYWRlciBzdGFydHMgd29ya2luZwoJICBhbHJlYWR5IHdoZW4gcmVjZWl2aW5nIERFU0NSSUJFIGJ1dCB0aGVyZSBpcyBubyB0cmFuc3BvcnRzIHNvIGl0IHRyaWVzCgkgIHRvIHNlbmQgc3BzIGFuZCBwcHMsIGJ1dCB0aGF0IGZhaWxzIHdpdGggYSBGTFVTSElORyBmbG93LiBCdXQgdGhlIHRpbWUKCSAgZm9yIGxhc3Qgc2VudCBzcHMgYW5kIHBwcyB3b3VsZCBzdGlsbCBiZSBzZXQsIHNvIHdoZW4gUExBWSBhcnJpdmVzIGFuZAoJICB0aGUgZmlyc3QgaW50cmEgZnJhbWUgaXMgdG8gYmUgc2VudCB0aGVyZSBpcyBubyBzcHMgYW5kIHBwcyBzZW50IGR1ZSB0bwoJICB0aGF0IHRpbWUgc2luY2UgbGFzdCBzcHMgcHBzIGlzIGxlc3MgdGhhbiBzcHNwcHNfaW50ZXJ2YWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQyMTMKCjIwMTQtMDItMjUgMDk6MDA6NDUgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggZGVhZGxvY2sgd2hlbiB0YXNrIGNyZWF0aW9uIGlzIG5vIHN1Y2Nlc3NmdWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTEyNAoKMjAxNC0wMi0yMiAyMDoxOTo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogZGVtb3RlIGNhbmRpZGF0ZSBlcnJvciB0byB3YXJuaW5nIGFuZCBwbHVnIGZha2V7c2luayxzcmN9CgkgIEluIHRoZSBjYXNlIHdoZXJlIHdlIGhhdmUgbm8gc3VpdGFibGUgY2FuZGlkYXRlIHdlIHBvc3QgYSB3YXJuaW5nIGFuZCBwbHVnIGEKCSAgZmFrZS1lbGVtZW50LiBEbyB0aGUgc2FtZSB3aGVuIG5vbiBvZiB0aGUgY2FuZGlkYXRlIHdvcmsuCgkgIFRoaXMgaXMgbW9yZSBjb25zaXN0ZW50IGFuZCBwbHVnaW4gdGhlIGZha2VzaW5rIGFzIGEgZmFsbGJhY2sgaXMgcHJvYmFibHkKCSAgaGVscGZ1bCBmb3IgcnVubmluZyB1bml0IHRlc3RzIHdpdGhvdXQgcmVxdWlyaW5nIGhhcmR3YXJlIHNyYy9zaW5rIGVsZW1lbnRzLgoJICBGaXhlcyAjNzIyOTgxCgoyMDE0LTAyLTIzIDEyOjM0OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogbWFrZSBzb21lIG1vcmUgY29udHJvbHMgY29uZmlndXJhYmxlCgkgIC4uLiBhdCBsZWFzdCBpZiBvbmUgdHJpZXMgaGFyZCBlbm91Z2ggdXNpbmcgZXh0cmEtY29udHJvbHMgcHJvcGVydHkuCgoyMDE0LTAyLTIzIDEwOjM5OjIwICswMTAwICBEYW4gS2VnZWwgPGRhbmtAa2VnZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2NGwyOiBSZXF1aXJlIG1wbGFuYXIgc3VwcG9ydCBmb3Igbm93IGluIGNvbmZpZ3VyZQoJICBUaGUgY29kZSBmYWlscyB0byBjb21waWxlIHdpdGhvdXQgY3VycmVudGx5LCBzZWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzQ0NgoJICBJdCdzIGJldHRlciB0byBkaXNhYmxlIGl0IGluc3RlYWQgb2YgZmFpbGluZyBjb21waWxhdGlvbgoJICB1bnRpbCB0aGlzIGlzIGZpeGVkIHByb3Blcmx5LgoKMjAxNC0wMi0yMyAwMDoxNDowNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICBqYWNrOiBhZGQgc29tZSBzaW1wbGUgbG9nIGhhbmRsZXJzIGZvciBqYWNrCgkgIEFkZCBsb2cgaGFuZGxlcnMgZm9yIGphY2sgdGhhdCB3cml0ZSB0byB0aGUgZ3N0IGRlYnVnIGxvZy4gVGhpcyBhdm9pZHMgc3BhbW1pbmcKCSAgdGhlIGNvbnNvbGUgd2hlbiBlLmcuIHVzaW5nIGF1dG9hdWRpb3NpbmssIGhhdmluZyB0aGUgamFjayBlbGVtZW50cyBpbnN0YWxsZWQsCgkgIGJ1dCBub3QgcnVubmluZyBqYWNrLgoKMjAxNC0wMi0yMiAyMTozMToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBoYW5kbGUgb2xkIGFuZCBvZGQgZHJpdmVyIGJlaGF2aW91ciB3aGVuIGxpc3RpbmcgY29udHJvbHMKCjIwMTMtMTEtMjggMTY6NTQ6NTggLTA4MDAgIERhcnJ5bCBHYW1yb3RoIDxkZ2Ftcm90aEB1dmljLmNhPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VpaXJmaWx0ZXI6IGNoZWNrIGlmIGNvZWZmaWNpZW50cyBhcmUgcHJvdmlkZWQgaW5zaWRlIGZpbHRlciBsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1MjQKCjIwMTQtMDItMjEgMTk6NDY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBhbHNvIHVuc2V0IElOVEVSTEFDRUQgZmxhZyBvbiBidWZmZXJzIGlmIGZyYW1lIGlzIG5vdCBpbnRlcmxhY2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4OTkKCjIwMTQtMDItMjEgMTQ6MzE6NTkgKzAwMDAgIFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnNyYzogRmxhZyBpbnRlcmxhY2VkIGJ1ZmZlcnMgYXMgaW50ZXJsYWNlZC4KCSAgV2UgY29ycmVjdGx5IGluZGljYXRlIHRoZSBmaWVsZCBvcmRlcmluZyBvbiBpbnRlcmxhY2VkIGJ1ZmZlcnMsIGJ1dCBmYWlsIHRvCgkgIGZsYWcgdGhlbSBhcyBjb250YWluaW5nIGludGVybGFjZWQgdmlkZW8sIHdoaWNoIHdlIG5lZWQgdG8gZG8gaGVyZSBiZWNhdXNlCgkgIHdlIHNpZ25hbCBpbnRlcmxhY2UtbW9kZT1taXhlZCBpbiBvdXIgY2Fwcy4gVGhpcyBtZWFucyB0aGF0IGRvd25zdHJlYW0KCSAgZWxlbWVudHMgKGxpa2UgdmFhcGlwb3N0cHJvYyBmcm9tIGdzdHJlYW1lci12YWFwaSkgZG9uJ3QgcmVjb2duaXNlIHRoZXNlCgkgIGJ1ZmZlcnMgYXMgaW4gbmVlZCBvZiBkZWludGVybGFjaW5nLgoJICBGaXggdGhpcyBieSBzZXR0aW5nIHRoZSBpbnRlcmxhY2VkIGZsYWcgb24gYWxsIGludGVybGFjZWQgYnVmZmVycy4KCSAgU2lnbmVkLW9mZi1ieTogU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY28udWs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4OTkKCjIwMTQtMDItMTkgMTM6NTY6MzcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYmUgbW9yZSBzdHJpY3QgYXQgQURUUyBoZWFkZXIgcGFyc2luZwoJICBBZGRzIHR3byBleHRyYSBjaGVja3M6CgkgIC0gU2FtcGxpbmcgZnJlcXVlbmN5IG9uIGhlYWRlciBjYW4ndCBiZSAxNS4KCSAgLSBGcmFtZSBzaXplIHNob3VsZCBiZSBhdCBsZWFzdCA5IG9yIDcsIGRlcGVuZGluZwoJICBvbiB3aGV0aGVyIENSQyBwcm90ZWN0aW9uIGlzIHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ2MzgKCjIwMTQtMDItMTkgMTM6MzU6NTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIEFEVFMgZGF0YQoJICBXZSBuZWVkIGF0IGxlYXN0IDYgYnl0ZXMgdG8gcGFzcyBvdmVyIHRvIF9nZXRfZnJhbWVfbGVuKCkKCSAgYnV0IHdlIHdlcmUganVzdCBjaGVja2luZyBmb3IgYSBtaW5pbXVtIG9mIDIgYnl0ZXMgZm9yIHRoZQoJICBzeW5jd29yZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDYzOAoKMjAxNC0wMi0yMCAyMjo1Mjo1NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJICBhdXRvZGV0ZWN0OiBjaGVjayBpZiB0aGUga2lkIGhhcyBhIHN5bmMgcHJvcGVydHkKCSAgcHJldmlvdXNseSBhdXRvdmlkZW9zcmMgZGlkIG5vdCBoYXZlIGEgc3luYyBwcm9wZXJ0eSBhbmQgdjRsMnNyYyBoYXMgbm9uZSBlaXRoZXIuCgoyMDE0LTAyLTE5IDIxOjU1OjUyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmg6CgkgIGF1dG9kZXRlY3Q6IHVzZSBhIGNvbW1vbiBiYXNlY2xhc3MKCSAgVGhpcyBtYWtlcyB0aGUgYWN0dWFsIGVsZW1lbnRzIHN1cGVyIHNpbXBsZS4gV2UncmUgdXNpbmcgdGhlIEVMRU1FTlRfRkxBRyB0bwoJICBjb25maWd1cmUgc291cmNlL3NpbmsgYW5kIGEgc3RyaW5nIGZvciB0aGUgQXVkaW8vVmlkZW8gdHlwZS4KCjIwMTQtMDItMTQgMTc6MTQ6NDIgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCB0bHMtZGF0YWJhc2UgcHJvcGVydHkKCSAgQWRkIHN1cHBvcnQgZm9yIGEgbmV3IHByb3BlcnR5OiB0bHMtZGF0YWJhc2UuIElmIHRoZSBwcm9wZXJ0eSBpcyBzZXQsCgkgIHRoZSBjZXJ0aWZpY2F0ZSBkYXRhYmFzZSB3aWxsIGJlIGdpdmVuIHRvIHRoZSBydHNwIGNvbm5lY3Rpb24gaWYgVExTCgkgIHByb3RvY29sIGlzIGJlaW5nIHVzZWQuIElmIHRoZSBzZXJ2ZXIgY2VydGlmaWNhdGUgY2FuJ3QgYmUgdmVyaWZpZWQgd2l0aAoJICB0aGUgZGVmYXVsdCBkYXRhYmFzZSwgdGhpcyBhZGRpdGlvbmFsIGRhdGFiYXNlIHdpbGwgYmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDM5NgoKMjAxNC0wMi0xOSAyMjoyMTo1NCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpbzogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTQtMDItMTkgMjE6MjY6MDMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogZXh0cmFjdCBjb21tb24gaGVscGVyIGNvZGUKCSAgVGhlIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIHRoZSBwcmV0dHkgbmFtZXMgaXMgYmFzaWNhbGx5IHRoZSBzYW1lLiBVc2Ugb25lIGFuZCBhZGQKCSAgYSBwYXJhbWV0ZXIuCgoyMDE0LTAyLTE5IDIxOjAxOjM5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogaW1wcm92ZSB0aGUgdGVzdHMKCSAgQWRkIGZha2UgYXVkaW8vdmlkZW8gc2lua3MuIFByZXZpb3VzbHkgcnVubmluZyB0aGUgdGVzdCBtaWdodCBiZSBmbGFreSBkdWUgdG8KCSAgdGhlIHVzZSBvZiByZWFsIGVsZW1lbnRzIChoYXJkd2FyZSBpbiB1c2UpLCB3aGljaCB3ZSBkb24ndCB3YW50IHRvIHRlc3QgaGVyZS4KCSAgQWRkIHR3byBtb3JlIHRlc3RzIHRoYXQgY2hlY2sgdGhhdCB0aGUgZmFrZXMgYXJlIGNob3Nlbi4KCjIwMTQtMDItMTkgMTU6MTk6MzAgKzAxMDAgIEJyYW5pc2xhdiBLYXRyZW5pYWsgPGJrYXRyZW5pYWtAbnV2b3RlY2hub2xvZ2llcy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZG8gbm90IGVtaXQgZXJyb3Igd2hlbiBjb25uZWN0aW9uIHdpdGggdW5rbm93biBzaXplIGVuZHMKCSAgQ29tbWl0IDQ2ZmQxMmFlNWVjNTMyMDBiMTZkZmQ3ZjE3MDQ4ZDZiYzYwZmJmYmMgaW50cm9kdWNlZCBjb25uZWN0aW9uCgkgIHJlY292ZXJ5LiBCdXQgd2hlbiBzZXJ2ZXIgZG9lcyBub3Qgc3BlY2lmeSBjb250ZW50LXNpemUsCgkgIHNvdXBodHRwc3JjIHRyaWVzIHRvIHJlY29ubmVjdCBldmVuIGFmdGVyIHJlZ3VsYXIgZW5kIG9mIHN0cmVhbS4KCSAgSHR0cCBzZXJ2ZXIgcmVwbGllcyAgd2l0aCBTT1VQX1NUQVRVU19SRVFVRVNURURfUkFOR0VfTk9UX1NBVElTRklBQkxFCgkgIGJ1dCBzb3VwaHR0cHNyYyBzdGlsbCBlbWl0cyBlcnJvciBpbnN0ZWFkIG9mIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcxNwoJICBTaWduZWQtb2ZmLWJ5OiBCcmFuaXNsYXYgS2F0cmVuaWFrIDxia2F0cmVuaWFrQG51dm90ZWNobm9sb2dpZXMuY29tPgoKMjAxNC0wMi0xOSAxMToyNjoyMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogZml4IHRoZSBkaXNhYmxlZCB0ZXN0CgkgIFVzZSBhIHNoYXJlZCBoZWxwZXIgZm9yIGJvdGggdGVzdHMuIEl0IHR1cm5zIG91dCB0aGF0IHRoZSB2YWxncmluZCB2YXJpYW50IGlzCgkgIGZpbmUgKG1heWJlIGR1ZSB0byBwaWNraW5nIHVwIHB1bHNlc2luayB0aG91Z2gpLgoKMjAxNC0wMi0xOSAxMTowNTozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogcmVtb3ZlIGNydWZ0IGZyb20gdGhlIHRlc3QKCSAgUmVtb3ZlIHRoZSBvYnNvbGV0ZSB2ZXJzaW9uIGNoZWNrIGFuZCB1c2UgdGhlIGlnbm9yZSBtYWNybyBmb3IgdGhlIGRpc2FibGVkIHRlc3QuCgoyMDE0LTAyLTE4IDIyOjU0OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBkb2NzOiB1c2UgZG9jYm9vayBtYXJrdXAgZm9yIHhpOmluY2x1ZGUKCSAgSXQgdHVybnMgb3V0IHRoYXQgdGhlIGNoYW5nZSBpbiBndGstZG9jLTEuMjAgd2hpY2ggd3JhcHMgdGhlIHxbXXwgY29udGVudCBpbgoJICBDREFUQSBicmVhayB4aTppbmxjdWRlIGV4YW1wbGVzLiBBcyBpbiBhIHdob2xlIGpoYnVpbGQgY2hlY2tvdXQgdGhlc2Ugd2hlcmUKCSAgdGhlIG9ubHkgNCwgd2UncmUgZml4aW5nIHRoZW0gaW5zdGVhZC4KCjIwMTQtMDItMTggMjI6MzU6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5oOgoJICBpc29tcDRtdXg6IGZpeCBjb3B5IGFuZCBwYXN0ZQoJICBUaGlzIGZpeGVzIGRvYyB3YXJuaW5ncy4KCjIwMTQtMDItMTggMjE6NDQ6MjQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgZG9jczogdXNlIHRoZSBndGstZG9jIHN5bnRheCB0byBsaW5rIHRvIHByb3BlcnRpZXMKCSAgRG9uJ3QgdXNlIGRvY2Jvb2sgdW5sZXNzIG5lZWRlZC4gQWxzbyBzdGlwIG90aGVyIGRvY2Jvb2sgdGFncyBpbiB0aGUgdGhlIGZpbGVzIHdlIGZpeC4KCjIwMTQtMDItMTggMTE6Mjg6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNyYXNoIHdoZW4gZ2V0dGluZyB0aGUgY3VycmVudC1kZXZpY2UgaW4gTlVMTC0+UkVBRFkKCSAgVGhlICJnb3RvIHVubG9jayIgaXMgd3JvbmcgYXMgaW4gdGhpcyBjb2RlIHBhdGggd2UgaGF2ZW4ndCB0YWtlIHRoZSBsb2NrIHlldC4KCSAgRml4ZXMgIzcyNDYxOQoKMjAxNC0wMi0xNCAyMjo1MDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291cDogV2UgbmVlZCBsaWJzb3VwID49IDIuNDAgZm9yIHByb3BlciB1c2FnZSBvZiB0aGUgY29udGVudCBkZWNvZGVyCgkgIFByZXZpb3VzIHZlcnNpb25zIGRpZCBub3QgY29uc2lkZXIgb3VyIGNodW5rIGFsbG9jYXRvciBhbmQgYWxsb2NhdGVkCgkgIG1lbW9yeSBieSB0aGVtc2VsdmVzLCB3aGljaCBjYXVzZWQgY3Jhc2hlcyBhbmQgYnJva2VuIGJlaGF2aW91ci4KCjIwMTQtMDItMTQgMTU6Mjc6MjAgLTA1MDAgIFdpbGxpYW0gSm9uIE1jQ2FubiA8d2lsbGlhbS5qb24ubWNjYW5uQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGRvY3M6IGZpeCBtaXNtYXRjaGVkIHBhcmEgdGFncwoJICBuZXdlciBndGtkb2MgaXMgbW9yZSBzZW5zaXRpdmUgdG8gbWlzbWF0Y2hlZCBkb2Nib29rIHRhZ3MuCgkgIFRoaXMgZml4ZXMgdGhlIGJ1aWxkIGluIG1hc3Rlci4KCjIwMTQtMDItMTQgMTU6NTk6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRkIHN1cHBvcnQgZm9yIHNlcmlhbGl6ZWQgcXVlcmllcwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzg1MAoKMjAxNC0wMi0xNCAxNTo1Mzo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogZml4IHR5cGVjYXN0IHRvIGZpeCBjb21waWxhdGlvbgoKMjAxNC0wMi0xNCAxMjowMTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHByb3h5IGNhcHMgYW5kIGFsbG9jYXRpb24gb24gUlRQIHBhZHMKCSAgcmVjdl9ydHBfc2luazogYWxsb3cgcHJveHlpbmcgb2YgdGhlIGFsbG9jYXRpb24gcXVlcnkuCgkgIHNlbmRfcnRwX3Npbms6IGFsbG93IHByb3h5aW5nIG9mIGNhcHMgYW5kIGFsbG9jYXRpb24uIFRoaXMgYWxsb3dzIHVzIHRvCgkgIHF1ZXJ5IGNhcHMgZG93bnN0cmVhbSBhcyB3ZWxsIGFzIGdldCBhbiBhbGxvY2F0b3IgZnJvbSBkb3duc3RyZWFtLgoJICBzZW5kX3J0cF9zcmM6IGFsbG93IHByb3h5IG9mIGNhcHMsIHRoaXMgbWFrZXMgdGhlIGNhcHMgcXVlcnkgZG8KCSAgdXBzdHJlYW0uCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODUwCgoyMDE0LTAyLTEzIDEyOjI5OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgdGFncyBpbiBtYWMgZW5jb2RpbmcKCSAgQ2hlY2sgdGhlIGNoYXJzZXQgZnJvbSAoQykqKiogdGFncyBhbmQgc2V0IHRoZSBjaGFyc2V0CgkgIHRvIGNvbnZlcnQgZnJvbSBNQUMgZW5jb2RpbmcgaWYgc3VpdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxNjYKCjIwMTQtMDItMTMgMTI6MDk6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVXNlIG5ldyBhdXRvbWF0aWNfZW9zIEFQSSBmcm9tIGJhc2VzcmMKCSAgV2Ugd2FudCB0byBub3RpY2Ugb3Vyc2VsdmVzIHRoYXQgd2UncmUgRU9TLiBPdGhlcndpc2Ugd2Ugd2lsbAoJICBhbHdheXMgY2FuY2VsIHJlcXVlc3RzIGluIHRoZSB2ZXJ5IGVuZCBhbmQgY29uZnVzZSB0aGUgc2VydmVyLi4uCgkgIGFuZCBhbHNvIG1ha2UgaXQgaW1wb3NzaWJsZSB0byB1c2UgcGVyc2lzdGVudCBjb25uZWN0aW9ucy4KCjIwMTQtMDItMTMgMTE6MTE6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQ29uc2lzdGVudGx5IHVzZSBoYXZlX3NpemUgaW5zdGVhZCBvZiBjb250ZW50X3NpemUhPTAKCjIwMTQtMDItMTMgMTA6MzA6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRnJlZSBleHRyYSBoZWFkZXJzIHdoZW4gZmluYWxpemluZyB0aGUgZWxlbWVudAoJICBJdCdzIHNldCBhcyBwcm9wZXJ0eSBieSB0aGUgYXBwbGljYXRpb24sIHdlIHNob3VsZCBub3QganVzdCByZXNldAoJICBwcm9wZXJ0aWVzIHdoZW4gZ29pbmcgYmFjayB0byBSRUFEWS4KCjIwMTQtMDItMTMgMTA6Mjg6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogUHJvcGVybHkgY2xvc2UgdGhlIHNlc3Npb24gd2hlbiBnb2luZyBiYWNrIHRvIE5VTEwKCSAgRG9uJ3Qgd2FpdCBmb3IgdGhhdCB1bnRpbCB0aGUgZWxlbWVudCBpcyBkaXNwb3NlZC4KCjIwMTMtMDItMjggMTI6MjA6NTIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWRkIHN1cHBvcnQgZm9yIGtlZXAtYWxpdmUgc2Vzc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNgoKMjAxNC0wMi0xMiAxMzowMDoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgImNvbXByZXNzIiBwcm9wZXJ0eSB0byBlbmFibGUvZGlzYWJsZSBhdXRvbWF0aWMgZ3ppcC9kZWZsYXRlIGNvbnRlbnQgZW5jb2RpbmcgaGFuZGxpbmcKCjIwMTQtMDItMTIgMTI6Mzk6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogUmV0cnkgY29ubmVjdGlvbiBpZiB3ZSdyZSBmaW5pc2hlZCBiZWZvcmUgdGhlIGNvbnRlbnQgc2l6ZSBvbmx5IGlmIHdlIGFjdHVhbGx5IGhhdmUgYSBjb250ZW50IHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE4NQoKMjAxNC0wMi0xMiAxMDowODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXB1dGlscy5jOgoJICBzb3VwdXRpbHM6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHNvdXB1dGlscy5jOjM1OjI1OiBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCA5IHdpdGggZXhwcmVzc2lvbiBvZiB0eXBlCgkgICdTb3VwTG9nZ2VyTG9nTGV2ZWwnIGlzIGFsd2F5cyBmYWxzZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb25zdGFudC1vdXQtb2YtcmFuZ2UtY29tcGFyZV0KCjIwMTQtMDEtMDcgMjM6MDA6NTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJKiBleHQvc291cC9nc3Rzb3VwdXRpbHMuYzoKCSogZXh0L3NvdXAvZ3N0c291cHV0aWxzLmg6CgkgIHNvdXBodHRwKjogYWRkIGFiaWxpdHkgdG8gZG8gSFRUUCBzZXNzaW9uIGxvZ2dpbmcKCSAgVGhpcyBjaGFuZ2VzZXQgYWRkcyB0aGUgbG9nZ2luIGluZnJhc3RydWN0dXJlIGFuZAoJICBtb2RzIGJvdGggc291cGh0dHBzcmMgYW5kIHNvdXBodHRjbGllbnRzaW5rIHRvIHVzZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTc2NAoKMjAxNC0wMi0wNyAxNDowMDoxNSArMDEwMCAgZGl2aGFlcmUgPGRpcmsudmFuaGFlcmVuYm9yZ2hAdWdlbnQuYmU+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogYWRkIHN1cHBvcnQgZm9yIEdSQVk4LCBCR1IgYW5kIFJHQiB2aWRlbyBjb2xvdXJzcGFjZXMgaW4gVl9VTkNPTVBSRVNTRUQgY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzg0OQoKMjAxNC0wMi0xMSAxMzoyNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBZGQgbWFwcGluZyBmb3IgTk9UX0ZPVU5EIGFuZCBOT1RfQVVUSE9SSVpFRCBlcnJvcnMKCjIwMTQtMDItMTEgMTM6MjU6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgZHVwbGljYXRlIHN0YXR1c19jb2RlIHRvIEdTdHJlYW1lciBlcnJvciBtYXBwaW5nCgoyMDE0LTAyLTA5IDIzOjM4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbTJrMS9maWx0ZXJzLmM6CgkgIGdvb206IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zCgoyMDE0LTAyLTA5IDIzOjIxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IENvbW1lbnQgb3V0IHNvbWUgdW51c2VkIGZ1bmN0aW9ucyB1c2VkIG9ubHkgZnJvbSB0aGUgY29tbWVudGVkIG91dCBwdWxsLW1vZGUgY29kZQoKMjAxNC0wMi0wOCAyMTowMTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBGaXggYW5vdGhlciBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTA4IDE3OjQzOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBpbXBsaWNpdCBlbnVtIGNvbnZlcnNpb24gY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUKCSAgJ1NvdXBTdGF0dXMnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlICdTb3VwS25vd25TdGF0dXNDb2RlJwoKMjAxNC0wMi0wOCAxNzo0MToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgaW4gdGVzdAoJICBlcnJvcjogdmFyaWFibGUgJ21hc2snIGlzIHVzZWQgdW5pbml0aWFsaXplZAoJICB3aGVuZXZlciAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoKMjAxNC0wMi0wOCAxNzoyNzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogdmFyaWFibGUgJ2ltYWdlX3R5cGUnIGlzIHVzZWQgdW5pbml0aWFsaXplZAoJICB3aGVuZXZlciAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoKMjAxNC0wMi0wOCAxNzoyNToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgb3NzNDogRml4IHR5cG8gaW4gaGVhZGVyIGluY2x1ZGUgZ3VhcmQKCSAgZXJyb3I6ICdHU1RfT1NTNF9BVURJT19IJyBpcyB1c2VkIGFzIGEgaGVhZGVyIGd1YXJkIGhlcmUsCgkgIGZvbGxvd2VkIGJ5ICNkZWZpbmUgb2YgYSBkaWZmZXJlbnQgbWFjcm8gWy1XZXJyb3IsLVdoZWFkZXItZ3VhcmRdCgoyMDE0LTAyLTA4IDE3OjI0OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICB2YXJpYWJsZSAncnR4X3NzcmMnIGlzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuZXZlcgoJICAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoKMjAxNC0wMi0wOCAxNzoyMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSAgcnRwYWMzZGVwYXk6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDItMDggMTc6MTk6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSAgZmx4OiBGaXggdHlwbyBpbiBoZWFkZXIgaW5jbHVkZSBndWFyZAoJICBlcnJvcjogJ19fR1NUX0ZMWF9GTVRfX0hfXycgaXMgdXNlZCBhcyBhIGhlYWRlciBndWFyZCBoZXJlLAoJICBmb2xsb3dlZCBieSAjZGVmaW5lIG9mIGEgZGlmZmVyZW50IG1hY3JvIFstV2Vycm9yLC1XaGVhZGVyLWd1YXJkXQoKMjAxNC0wMi0wNyAxMDowNzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHJlbW92ZSBoYXZlX2R0cyBmbGFnIGZyb20gcGFkcwoJICBJdCB3YXMgdXNlZCBpbiB0aGUgcGFzdCBpbiAwLjEwIHdoZW4gdGhlcmUgd2FzIG5vIGV4cGxpY2l0IERUUwoJICBmaWVsZCBpbiBidWZmZXJzLCBub3cgd2UgaGF2ZSBpdCBpbiAxLnggc2VyaWVzIGFuZCB3ZSBjYW4KCSAgY2hlY2sgaXQgZGlyZWN0bHkgd2l0aCBHU1RfQlVGRkVSX0RUU19JU19WQUxJRAoKMjAxNC0wMi0wNyAwMTo0OToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGltcHJvdmUgc3VwcG9ydCBmb3Igc3BhcnNlIHN0cmVhbXMKCSAgRG8gbm90IHRyeSB0byB1c2Ugc3Vic2VxdWVudCBidWZmZXIgdGltZXN0YW1wcyB0byBjYWxjdWxhdGUKCSAgc3BhcnNlIHN0cmVhbXMgZHVyYXRpb25zIGJlY2F1c2UgdGhlIHN0cmVhbSBpcyBzcGFyc2UgYW5kCgkgIHRoZSBidWZmZXJzIG1pZ2h0IG5vdCBiZSAndGltZSBhZGphY2VudCcuIFNvIHJlbHkgb24gdGhlCgkgIGR1cmF0aW9uIGFuZCBnaXZlIHRoZSBvcHRpb24gdG8gdGhlIHBhZCB0byBwcm92aWRlCgkgIGN1c3RvbSAnZW1wdHknIGJ1ZmZlcnMgdG8gcmVwcmVzZW50IHRoZSBnYXBzIGluIHRoZQoJICBzdHJlYW0sIHRoaXMgY2FuIHZhcnkgb24gaG93IHRoZSBkYXRhIGlzIHJlcHJlc2VudGVkLgoJICBSaWdodCBub3csIHRoZSBvbmx5IHNwYXJzZSBzdHJlYW0gc3VwcG9ydGVkIGlzIHR4M2cgc3VidGl0bGVzLgoKMjAxNC0wMi0wNiAxMjoxNToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBzdXBwb3J0IGZvciB0ZXh0L3gtcmF3IHN1YnRpdGxlcwoJICBBZGRzIGl0IHRvIG1wNG11eCwgcXRtdXggYW5kIGdwcG11eC4KCSAgQnVmZmVycyBuZWVkIHRvIGJlIHByZWZpeGVkIHdpdGggMiBieXRlcyBmb3IgdGhlIHRleHQgbGVuZ3RoIGJlZm9yZQoJICBiZWluZyBtdXhlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4MTI5NQoKMjAxNC0wMi0wNiAxMjowOTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSAgcXRtdXg6IGFkZCBzdXBwb3J0IGZvciB0aGUgVFgzRyBhdG9tcwoJICBBZGRzIGZ1bmN0aW9ucyBmb3IgY3JlYXRpbmcgYW5kIHNldHRpbmcgdmFsdWVzIHJlbGF0ZWQgdG8gdGhlCgkgIHR4M2cgYXRvbSBmb3IgcmF3IHRleHQgc3VidGl0bGUgc3VwcG9ydC4KCSAgUVRGRiBzcGVjIGhhcyBpbmZvcm1hdGlvbiBvbiB0aG9zZSBhdG9tcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgxMjk1CgoyMDE0LTAyLTA1IDEwOjI3OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuaDoKCSAgcXRtdXg6IGFkZCBzdWJ0aXRsZSBzdXBwb3J0IHRvIHF0bXV4bWFwIHN0cnVjdHVyZXMKCSAgYWRkcyBiYXNpYyBzdHVicyBmb3Igc3VidGl0bGUgc3VwcG9ydCBhcm91bmQgdGhlIHF0bXV4IGFuZAoJICBxdG11eG1hcCBzdHJ1Y3R1cmVzLiBTdGlsbCBubyByZWFsIHN1YnRpdGxlIGltcGxlbWVudGVkLCBidXQKCSAgYmFzaWMgZnVuY3Rpb25zIGluIHBsYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODEyOTUKCjIwMTQtMDEtMjAgMTc6MzE6MTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogZmFjdG9yIG91dCByZWFkIGNvbnRleHQgaW5pdC9yZXNldAoJICBXaGlsZSBhdCB0aGlzLCBtb3ZlIF90cmFja19yZXNldCgpIHRvIHRyYWNrLWlkcwoJICBzbyBpdCBjYW4gYmUgY2FsbGVkIGZyb20gdGhlIGNvbW1vbiByZWFkIGNvbnRleHQKCSAgcmVzZXQgcm91dGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjcwNQoKMjAxNC0wMi0wNiAxMjoyMTowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgZWZmZWN0djogZml4IGRvYyBzZWN0aW9uIG9mIHJldnR2IGVsZW1lbnQKCjIwMTQtMDItMDUgMTI6NDY6NTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeHZpZGVvOiBGaXggbGlidG9vbCB1c2FnZQoJICAtLXRhZz1DQyBpcyBuZWVkZWQgZm9yIHN0YXRpYyBidWlsZAoKMjAxNC0wMS0xNiAxMToyNjo0MSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZG8gbm90IHRyeSBzZXQgZGVpbnRlcmxhY2UgbWV0aG9kIGlmIHBhc3N0aHJvdWdoIGlzIGVuYWJsZWQKCSAgRml4ZXMgYW4gaXNzdWUgd2l0aCBwcm9ncmVzc2l2ZSBjb250ZW50IGFuZCB1bnN1cHBvcnRlZCB2aWRlbyBmb3JtYXRzCgkgIGZvciB0aGUgZGVpbnRlcmxhY2UgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NjM2CgoyMDE0LTAyLTA0IDIxOjI2OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBvcmRlciBmb3JtYXQgaW4gdGVtcGxhdGUgY2FwcyBieSBwcmVmZXJlbmNlCgkgIFRvIG1pbmltaXNlIHJpc2sgb2YgYmFkIGZpeGF0aW9uLCB0aG91Z2ggYXVkaW9jb252ZXJ0CgkgIGF0IGxlYXN0IHNob3VsZCBiZSBzbWFydCBlbm91Z2ggdG8gYXZvaWQgaXQuCgoyMDE0LTAyLTAyIDA5OjU3OjAzIC0wODAwICBEYW4gS2VnZWwgPGRhbmtAa2VnZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2NGwyOiBSZW1vdmUgb2Jzb2xldGUgZGVmaW5pdGlvbiBHU1RfVjRMMl9NSVNTSU5HX0JVRkRFQ0wKCSAgVGhlIG9ubHkgdXNlIHdhcyByZW1vdmVkIGJ5IDllZGMwYzAzNjVmNzlhYjA3ZmYyZTY1NDYxYzY2OTZlMzkzMWEzZjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzQ0NgoKMjAxNC0wMi0wNCAxMzo0Mzo1NiArMDEwMCAgUmFmYcWCIE11xbx5xYJvIDxnYWx0Z2VuZG9AbzIucGw+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgZ3N0OiBEb24ndCB1c2UgZW5kaWFubmVzcy1zcGVjaWZpYyBTOCBhdWRpbyBmb3JtYXQKCSAgSXQgZG9lcyBub3QgZXhpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzMzEKCjIwMTQtMDEtMzEgMTQ6MTc6NTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IGFkZCBzdXBwb3J0IGZvciBSR0IxNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjg5CgoyMDE0LTAxLTMwIDA5OjQzOjUwICswMTAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IEZpeCBjb25zdGFudGx5IGdyb3dpbmcgdXNlZCB1aWQgbGlzdAoJICBNb3ZlcyB0aGUgdXNlZCB1aWQgbGlzdCB0byB0aGUgY2xhc3MgdG8gYXZvaWQgaGF2aW5nIGl0IGdyb3cgZm9yZXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzI2OQoKMjAxNC0wMS0zMCAxMDo0NDowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDQ4YmVkMyB0byAxYTA3ZGE5CgoyMDE0LTAxLTI0IDAxOjUyOjA4ICswMDAwICBNaWtlIFNoZWxkb24gPGVsbGVvQGdudS5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IElnbm9yZSBCcm9hZGNhc3QgV2F2ZSBGb3JtYXQgKEJXRikgdGFncyB3aGVuIHNlYXJjaGluZyBmb3IgJ2ZtdCcgY2h1bmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzEyNQoKMjAxNC0wMS0yOSAxMDozNzo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICBjaGVjazogVXNlIGZha2VzaW5rIHN5bmM9VHJ1ZSBpbnN0ZWFkIG9mIGFuIGF1ZGlvIHNpbmsKCSAgRW5zdXJlcyB0aGUgdGVzdCBjYW4gcnVuIG9uIHN5c3RlbXMgd2l0aG91dCBhbHNhIChvciBhbnkgYXVkaW8gb3V0cHV0IGZvcgoJICB0aGF0IG1hdHRlciksIGFuZCB3aWxsIGF2b2lkIHBlb3BsZSBydW5uaW5nIGJ1aWxkIHNsYXZlcyB3b25kZXJpbmcgd2hhdAoJICB0aGUgaGVsbCB3YXMgYmVlcGluZyBkdXJpbmcgdGhlIG5pZ2h0IDopCgoyMDE0LTAxLTI3IDIwOjA1OjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBjdXN0b20gZ2V0X3NpbmtfY2FwcyBoYW5kbGluZyBmb3IgcHJpdmF0ZSBzdHJlYW0gY2FwcwoJICAuLi4gbm93IHRoYXQgdGhvc2UgYXJlIHRyYW5zZm9ybWVkIHJhdGhlciB0aGFuIHBhcnNlZCwgc29tZSB0cmFuc2Zvcm1pbmcKCSAgb2YgY2FwcyBpcyByZXF1aXJlZCBhcyB3ZWxsIHRvIG1ha2UgYXV0by1wbHVnZ2luZyBzdWNjZWVkLgoKMjAxNC0wMS0yNSAwMjowNjowMCAtMDUwMCAgUnlhbiBMb3J0aWUgPGRlc3J0QGRlc3J0LmNhPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBndWFyZCB1c2Ugb2YgRU5PREFUQSB3aXRoICNpZmRlZgoJICBOb3QgYWxsIHN5c3RlbXMgd2l0aCB2NGwgaGF2ZSBFTk9EQVRBIGRlZmluZWQsIHNvIGNoZWNrIHRoYXQgd2UgaGF2ZSBpdAoJICBiZWZvcmUgYXR0ZW1wdGluZyB0byB1c2UgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI5NTMKCjIwMTQtMDEtMjQgMTI6Mzc6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUmV2ZXJ0ICJydHNwc3JjOiBQcm94eSBydHBqaXR0ZXJidWZmZXIgZG8tcmV0cmFuc21pc3Npb24gcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWY3YjExMjhiMWYwMGEyYjg3YTIzMmZmODkwODY3NTQ5YWI5NWJhNS4KCSAgVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGJlIHJ0c3BzcmMgaWYgdGhlIEFWUEYgcHJvZmlsZQoJICBpcyB1c2VkLCBhbmQgbWFudWFsIGVuYWJsaW5nIG9mIGl0IGNhbiBiZSBkb25lIHdpdGggdGhlIG5ldy1tYW5hZ2VyCgkgIHNpZ25hbC4KCjIwMTQtMDEtMjQgMTA6MjE6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBuZXcgbWFuYWdlcgoJICBTbyB0aGF0IHlvdSBjYW4gY29uZmlndXJlIGFuZCBjb25uZWN0IHRvIHNpZ25hbHMgb24gdGhlIHJ0cGJpbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI4NjYKCjIwMTQtMDEtMjMgMTU6MTc6NTggLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFByb3h5IHJ0cGppdHRlcmJ1ZmZlciBkby1yZXRyYW5zbWlzc2lvbiBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyODY2CgoyMDE0LTAxLTIxIDE3OjUyOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGhhbmRsZSBleHBlY3RlZCBwYWNrZXQgYmVpbmcgYW4gUlRYIHBhY2tldAoJICBJZiB0aGUgZXhwZWN0ZWQgcGFja2V0IChkb19uZXh0X3NlcW51bSBpcyBUUlVFKSBpcyB0aGUgb25lIHdlIHJlcXVlc3RlZAoJICBmb3IgcmV0cmFubWlzc2lvbiBlYXJsaWVyLCBkbyB0aGUgbG9naWMgdG8gdXBkYXRlIHRoZSByZXRyYW5zbWlzc2lvbgoJICBzdGF0aXN0aWNzIGFzIHdlbGwgYmVmb3JlIHNldHRpbmcgdXAgdGhlIHRpbWVycyBmb3IgdGhlIG5leHQgZXhwZWN0ZWQKCSAgcGFja2V0LgoJICBBbHNvIHJlc2V0IHRoZSByZXRyYW5zbWlzc2lvbiBjb3VudGVyIGlmIHRoZSB0aW1lciBpcyByZXVzZWQgZm9yIGFub3RoZXIKCSAgc2VxbnVtLgoKMjAxNC0wMS0yMSAxNTo0ODoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgYSBjYXBzIGFjY3VtdWxhdG9yIGZvciB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsCgkgIEFkZCBhbiBhY2N1bXVsYXRvciB0aGF0IHN0b3BzIHRoZSBzaWduYWwgZW1pc3Npb24gYXMgc29vbiBhcyBhIGNhcHMgaGFzCgkgIGJlZW4gcmV0cmlldmVkLiBPdGhlcndpc2UgdGhlIGRlZmF1bHQgaGFuZGxlciB3b3VsZCBjb250aW51ZSBlbWl0dGluZwoJICB0aGUgc2lnbmFsIGFuZCBwb3NzaWJseSBvdmVyd3JpdGUgdGhlIHJlc3VsdCB3aXRoIE5VTEwgYWdhaW4uCgoyMDE0LTAxLTIxIDE1OjI1OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnR4cmVjZWl2ZTogY29weSBmbGFncyBhbmQgdGltZXN0YW1wcyBmcm9tIG9yaWdpbmFsIGJ1ZmZlcgoKMjAxNC0wMS0yMSAxNToyNDo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpZ25vcmUgaW52YWxpZCB0aW1lc3RhbXBzIGluIHJ0dCBjYWxjdWxhdGlvbgoJICBXaGVuIHRoZSBpbnB1dCBidWZmZXIgZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcCwgZG9uJ3QgdHJ5IHRvCgkgIGNhbGN1bGF0ZSB0aGUgcm91bmQtdHJpcC10aW1lLgoKMjAxNC0wMS0xNiAxNDoyMzoxMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2FwYXJzZTogYmV0dGVyIGRlZmF1bHQgY2FwcyB3aGVuIG5vbmUgc2V0CgkgIFVzZXMgaW5mb3JtYXRpb24gZ2F0aGVyZWQgZHVyaW5nIEVCTUwgcGFyc2luZyB0bwoJICBmb3JnZSBhIG1vcmUgc3VpdGFibGUgc2V0IG9mIGNhcHMgaW5zdGVhZCBvZiBibGluZGx5CgkgIGFzc3VtaW5nIGV2ZXJ5dGhpbmcgaXMgdmlkZW8veC1tYXRyb3NrYS4KCSAgRm9yIGNvbnNpc3RlbmN5LCBzdHJlYW0gdHlwZSByZXNldCB3YXMgYWRkZWQgdG8KCSAgbWF0cm9za2EtZGVtdXggdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzExCgoyMDE0LTAxLTE1IDE3OjI5OjM1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcnR4cmVjZWl2ZV9kYXRhX3JlY29uc3RydWN0aW9uOiByZW1vdmUgdXNlbGVzcyBjb2RlIGZvciB0cmlnZ2VyaW5nIHJldHJhbnNtaXNzaW9uCgkgIFRoZXJlIGlzIG5vIG5lZWQgYW55bW9yZSB0byBwdXNoIHlldCBhbm90aGVyIGJ1ZmZlciBpbiBydHhzZW5kCgkgIGluIG9yZGVyIHRvIHRyaWdnZXIgdGhlIHByZXZpb3VzbHkgcmVxdWVzdGVkIHJldHJhbnNtaXNzaW9ucwoJICB0byBhY3R1YWxseSBoYXBwZW4uCgoyMDE0LTAxLTE1IDE3OjI3OjE5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcnR4cmVjZWl2ZV9kYXRhX3JlY29uc3RydWN0aW9uOiBmaXggcmFjZSBjb25kaXRpb24KCSAgTm93IHdpdGggcnRwcnR4c2VuZCBwdXNoaW5nIHJ0eCBidWZmZXJzIGZyb20gYSBkaWZmZXJlbnQgdGhyZWFkLAoJICB0aGlzIGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGlzIGRldGVybWluaXN0aWMuCgkgIFRoaXMgY29kZSBtYWtlcyB1c2Ugb2YgR3N0Q2hlY2sncyBnbG9iYWwgR011dGV4IGFuZCBHQ29uZCB0aGF0IGFyZQoJICBiZWluZyB1c2VkIGluc2lkZSBHc3RDaGVjaydzIHNpbmsgcGFkIGNoYWluKCkgZnVuY3Rpb24gaW4gb3JkZXIKCSAgdG8gc3luY2hyb25pemUgd2l0aCBpdC4KCjIwMTQtMDEtMTUgMTc6MTc6NTcgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9ydHhzZW5kZXJfcGFja2V0X3JldGVudGlvbjogZml4IHJhY2UgY29uZGl0aW9uCgkgIE5vdyB3aXRoIHJ0cHJ0eHNlbmQgcHVzaGluZyBydHggYnVmZmVycyBmcm9tIGEgZGlmZmVyZW50IHRocmVhZCwKCSAgdGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBpcyBkZXRlcm1pbmlzdGljLgoJICBUaGlzIGNvZGUgbWFrZXMgdXNlIG9mIEdzdENoZWNrJ3MgZ2xvYmFsIEdNdXRleCBhbmQgR0NvbmQgdGhhdCBhcmUKCSAgYmVpbmcgdXNlZCBpbnNpZGUgR3N0Q2hlY2sncyBzaW5rIHBhZCBjaGFpbigpIGZ1bmN0aW9uIGluIG9yZGVyCgkgIHRvIHN5bmNocm9uaXplIHdpdGggaXQuCgoyMDE0LTAxLTE1IDExOjI2OjMzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcHVzaF9mb3J3YXJkX3NlcTogZml4IHJhY2UgY29uZGl0aW9uCgkgIE5vdyB3aXRoIHJ0cHJ0eHNlbmQgcHVzaGluZyBydHggYnVmZmVycyBmcm9tIGEgZGlmZmVyZW50IHRocmVhZCwKCSAgdGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBpcyBkZXRlcm1pbmlzdGljLgoJICBUaGlzIGNvZGUgbWFrZXMgdXNlIG9mIEdzdENoZWNrJ3MgZ2xvYmFsIEdNdXRleCBhbmQgR0NvbmQgdGhhdCBhcmUKCSAgYmVpbmcgdXNlZCBpbnNpZGUgR3N0Q2hlY2sncyBzaW5rIHBhZCBjaGFpbigpIGZ1bmN0aW9uIGluIG9yZGVyCgkgIHRvIHN5bmNocm9uaXplIHdpdGggaXQuCgoyMDE0LTAxLTE1IDA5OjQ3OjAzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBydHBydHg6OnRlc3RfcHVzaF9mb3J3YXJkX3NlcTogZml4IGJ1ZmZlciByZWZjb3VudGluZwoKMjAxNC0wMS0yMSAxMzo0MjozOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogZW5zdXJlIHRoYXQgbm8gcnR4IGJ1ZmZlcnMgYXJlIHNlbnQgYWZ0ZXIgRU9TCgkgIFRvIGRvIHRoYXQsIGVucXVldWUgdGhlIEVPUyBldmVudCB0byBiZSBzZW50IGZyb20gdGhlIHNyY3BhZCB0YXNrCgkgIHRocmVhZCBhbmQgZmx1c2ggdGhlIHF1ZXVlIHJpZ2h0IGFmdGVyd2FyZHMsIHNvIHRoYXQgbm8gbW9yZSBydHgKCSAgYnVmZmVycyBjYW4gYmUgc2VudCwgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSByZXF1ZXN0cyBjb21pbmcgaW4uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzNzAKCjIwMTQtMDEtMTUgMDk6NDY6MTQgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogcnVuIGEgbmV3IEdzdFRhc2sgb24gdGhlIHNyYyBwYWQKCSAgVGhlIHJlYXNvbiBiZWhpbmQgdGhpcyBpcyB0byBtaW5pbWl6ZSB0aGUgcmV0cmFuc21pc3Npb24gZGVsYXkuCgkgIFByZXZpb3VzbHksIHdoZW4gYSBOQUNLIHdhcyByZWNlaXZlZCwgcnRwcnR4c2VuZCB3b3VsZCBwdXQgYQoJICByZXRyYW5zbWlzc2lvbiBwYWNrZXQgaW4gYSBxdWV1ZSBhbmQgaXQgd291bGQgc2VuZCBpdCBmcm9tIGNoYWluKCksCgkgIGkuZS4gb25seSBhZnRlciBhIG5ldyBidWZmZXIgd291bGQgYXJyaXZlLgoJICBUaGlzIHVuZm9ydHVuYXRlbHkgd2FzIGNhdXNpbmcgYmlnIGRlbGF5cywgaW4gdGhlIG9yZGVyIG9mIDYwLTEwMCBtcywKCSAgd2hpY2ggY2FuIGJlIGNyaXRpY2FsIGZvciB0aGUgcmVjZWl2ZXIgc2lkZS4KCSAgQnkgaGF2aW5nIGEgc2VwYXJhdGUgR3N0VGFzayBmb3IgcHVzaGluZyBidWZmZXJzIG91dCBvZiBydHhzZW5kLAoJICB3ZSBjYW4gcHVzaCBidWZmZXJzIG91dCByaWdodCBhZnRlciByZWNlaXZpbmcgdGhlIGV2ZW50LCB3aXRob3V0CgkgIHdhaXRpbmcgZm9yIGNoYWluKCkgdG8gZ2V0IGNhbGxlZC4KCjIwMTQtMDEtMDMgMTc6NDc6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDJzZW5kOiBlcnJvciBvdXQgaWYgbm8gY2FwcyB3ZXJlIHJlY2VpdmVkCgkgIEluc3RlYWQgb2YgYXNzdW1pbmcgdGhhdCBpbnB1dCBpcyBvZ2cuCgoyMDE0LTAxLTAzIDE3OjMwOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogYWNjZXB0IGF1ZGlvL3dlYm0sIGF1ZGlvL29nZyBhbmQgdmlkZW8vb2dnIGFzIHdlbGwKCSAgVGhvc2UgYXJlIGFkdmVydGlzZWQgaW4gdGhlIHRlbXBsYXRlIGNhcHMsIGJ1dCB0aGUKCSAgc2V0Y2FwcyBoYW5kbGVyIGRpZG4ndCBoYW5kbGUgdGhlbS4gQnV0IHRoZW4gb2dnbXV4CgkgIGFuZCBvZ2dwYXJzZSBhdCBsZWFzdCBmb3Igbm93IHN0aWxsIGFsd2F5cyBvdXRwdXQKCSAgYXBwbGljYXRpb24vb2dnIGFueXdheSwgc28gdGhhdCB3YXNuJ3QgYSByZWFsIHByb2JsZW0uCgoyMDE0LTAxLTIwIDEwOjEyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjQxNAoKMjAxNC0wMS0xOSAxNzo0MDo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiByZXNldCBzb21lIG1vcmUgYXVkaW8gcGFkIGRhdGEgd2hlbiBuZWVkZWQKCjIwMTQtMDEtMTkgMTc6Mzg6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogd3JpdGUgY29ycmVjdCBibG9ja2FsaWduIGZvciB2YnIgYXVkaW8KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDY1OQoKMjAxNC0wMS0xNiAxNzozNjoxMiAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkbyBub3QgZHJvcCBzZXJpYWxpemVkIGV2ZW50cyB3aGVuIGxhdGVuY3kgaXMgc2V0CgkgIFNlcmlhbGl6ZWQgZXZlbnRzIGFyZSBub3cgcXVldWVkIGluIHRoZSBqaXR0ZXIgYnVmZmVyLCBzbyB3ZSBkb24ndAoJICB3YW50IHRvIGRyb3AgdGhlbSBldmVuIGxhdGVuY3kgaXMgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzcyCgoyMDEzLTEyLTExIDA5OjM2OjIyICswMTAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZG9uJ3QgbWFrZSB0aGUgYnVmZmVyIHdyaXRhYmxlIHVubGVzcyBhYnNvbHV0ZWx5IG5lY2Vzc2FyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzk2CgoyMDEzLTA5LTEyIDE2OjU2OjU2ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHNldCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB3aGVuIGFwcHJvcHJpYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzOTQKCjIwMTQtMDEtMTcgMDc6NDY6MDkgKzAxMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGRvbid0IHJlZiB0aGUgbmV3bHkgY3JlYXRlZCBhbGxvY2F0b3IKCSAgT3RoZXJ3aXNlIHRoZSBhbGxvY2F0b3Igd2lsbCBuZXZlciBiZSBkZWxldGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjEyCgoyMDE0LTAxLTE1IDIyOjQ3OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHNraXAgYWxsIHZpZGVvIGZyYW1lcyB1bnRpbCB0aGUgZmlyc3Qga2V5ZnJhbWUKCSAgSW5zdGVhZCBkbyBpdCBsaWtlIGFsbCBvdGhlciBkZW11eGVycyBhbmQgbGV0IHBhcnNlcnMgYW5kIGRlY29kZXJzCgkgIGhhbmRsZSB0aGF0LiBUaGUga2V5ZnJhbWUgaW5mb3JtYXRpb24gaW5zaWRlIHRoZSBjb250YWluZXIgbWlnaHQKCSAgYmUgY29tcGxldGVseSB3cm9uZyBsaWtlIGluIHRoZSBzYW1wbGUgZmlsZSBvZiB0aGUgYnVnIHJlcG9ydCwKCSAgYW5kIGlmIGl0IGlzIGNvcnJlY3QgYW5kIHdlIHB1c2ggbm8ga2V5ZnJhbWVzLCB0aGVuIHRoZSBwYXJzZXJzCgkgIGFuZCBkZWNvZGVycyB3aWxsIGhhbmRsZSB0aGF0IHByb3Blcmx5IGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjI3NgoKMjAxNC0wMS0xMyAxMDowODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHJlbW92ZSBlbHN0X29mZnNldCB2YXJpYWJsZXMKCSAgVGhleSBhcmUgbm90IHVzZWQgYW55bW9yZQoKMjAxNC0wMS0wNiAyMTozNjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtZW1iZXIgcmV2ZXJzZSBwbGF5YmFjayB3aGVuIHZlcmlmeWluZyB0aGUgc2VnbWVudCBlbmQKCSAgQ2hlY2sgaWYgdGhlIHJhdGUgaXMgcG9zaXRpdmUgb3IgbmVnYXRpdmUgdG8gY29ycmVjdGx5IGNvbXBhcmUgdGhlIGN1cnJlbnQKCSAgcG9zaXRpb24gd2l0aCB0aGUgc2VnbWVudCB0byBtYWtlIHJldmVyc2UgcGxheWJhY2sgd29yawoKMjAxNC0wMS0wMyAxMDo1OTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGRvIG5vdCBpZ25vcmUgZW1wdHkgc2VnbWVudHMKCSAgTWFrZSBzdXJlIGVtcHR5IHNlZ21lbnRzIGFyZSB1c2VkIGFuZCBwdXNoZWQgd2l0aCBhIGdhcCBldmVudAoJICB0byByZXByZXNlbnQgaXRzIGRhdGEgKG9yIGxhY2sgb2YgaXQpCgkgIEVhY2ggUXRTZWdtZW50IGlzIG1hcHBlZCBpbnRvIGEgR3N0U2VnbWVudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nCgkgIG1lZGlhIHJhbmdlLiBGb3IgZW1wdHkgUXRTZWdtZW50cyBhIGdhcCBldmVudCBpcyBwdXNoZWQgaW5zdGVhZAoJICBvZiBHc3RCdWZmZXJzIGFuZCBpdCBhZHZhbmNlcyB0byB0aGUgbmV4dCBRdFNlZ21lbnQuCgkgIFRvIG1ha2UgdGhpcyB3b3JrIHdpdGggc2Vla3MsIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUgc3RhcnRpbmcKCSAgJ2Jhc2UnIHRvIG1ha2Ugc3VyZSBpdCByZW1haW5zIGNvbnNpc3RlbnRseSBpbmNyZWFzaW5nIHdoZW4KCSAgcHVzaGluZyBuZXcgc2VnbWVudCBldmVudHMuCgkgIEZvciBleGFtcGxlOiBpZiBhIHNlZWsgbWFrZXMgcXRkZW11eCBzdGFydCBmcm9tIDVzLCB0aGUgZmlyc3QKCSAgc2VnbWVudCB3aWxsIGhhdmUgYSBiYXNlPTAuIFdoZW4gdGhlIG5leHQgc2VnbWVudCBpcyBhY3RpdmF0ZWQsCgkgIGl0cyBiYXNlIHRpbWUgd2lsbCBiZSBRdFNlZ21lbnQudGltZSAtIHF0ZGVtdXguc2VnbWVudF9iYXNlIHNvCgkgIHRoYXQgaXQgZG9lc24ndCBpbmNsdWRlIHRoZSBmaXJzdCA1cyB0aGF0IHdlcmVuJ3QgcGxheWVkIGFuZAoJICBzaG91bGRuJ3QgYmUgYWNjb3VudGVkIG9uIHRoZSBydW5uaW5nIHRpbWUKCSAgVGhpcyBwdXJwb3NlZGx5IHdpbGwgcmVtb3ZlIHRoZSBmaXggbWFkZSBmb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI2NCwgYXQgdGhpcwoJICBwb2ludCBpdCB3YXMgZGVjaWRlZCB0byByZXNwZWN0IHRoZSBnYXBzLCBldmVuIGlmIHRoZXkgY2F1c2UKCSAgYSBkZWxheSBvbiBwbGF5YmFjaywgYmVjYXVzZSB0aGF0J3MgdGhlIHdheSB0aGUgZmlsZSB3YXMgY3JhZnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0NTgzMAoKMjAxMy0xMi0xMiAyMzowNTo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogUmVtb3ZlIHVzYWdlIG9mIHRoZSBzeXN0ZW0gY2xvY2sgZnJvbSB0aGUgcnRwcnR4IHRlc3QKCjIwMTMtMTItMTIgMjM6MjI6NDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHM6IEluaXRpYWwgc2VnbWVudCBpbiBydHBjb2xsaXNpb24gdGVzdAoKMjAxNC0wMS0xNCAxNTo1Njo0MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtcnRwYXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmM6CgkgIGV4YW1wbGVzLyotcnRwYXV4OiBzcGVjaWZ5IHBheWxvYWQgdHlwZSBhc3NvY2lhdGlvbiBmb3IgdGhlIGF1ZGlvIHN0cmVhbSwgc28gdGhhdCBydHggd29ya3MgYWxzbyBmb3IgYXVkaW8KCjIwMTQtMDEtMTQgMTM6MDg6MTggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHJlbW92ZSB3cm9uZyBjaGVjayBmb3IgcGF5bG9hZCB0eXBlIG5vdCBoYXZpbmcgYmVlbiBzZXQKCSAgMSkgcHQgY2FuIGJlIGxvd2VyIHRoYW4gOTYKCSAgMikgdGhlcmUgaXMgbm8gcG9pbnQgaW4gY2hlY2tpbmcgdGhhdCBiZWNhdXNlIHJ0cHJ0eHNlbmQgd2lsbCBub3QKCSAgZXZlbiBzdG9yZSBidWZmZXJzIGZvciBwYXlsb2FkIHR5cGVzIHRoYXQgaXQgZG9lc24ndCBrbm93IGFib3V0LAoJICBzbyB0aGlzIGNhc2Ugd2lsbCBuZXZlciBiZSByZWFjaGVkCgoyMDE0LTAxLTE0IDEzOjAxOjQxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBmaXggZGF0YSBsb2NraW5nIHdoZW4gY3JlYXRpbmcgcnR4IHBhY2tldHMKCSAgVGhpcyBwYXRjaCBtb3ZlcyB0aGUgY3JlYXRpb24gb2YgcnR4IHBhY2tldHMgdG8gYmUgZG9uZSBlYXJseSwKCSAgaW4gdGhlIHNyY19ldmVudCgpIGZ1bmN0aW9uLCB3aGVuIHRoZXkgYXJlIHJlcXVlc3RlZC4gVGhlIHB1cnBvc2UKCSAgaXMgdG8gcnVuIGdzdF9ydHBfcnR4X2J1ZmZlcl9uZXcoKSB3aXRoIHRoZSBvYmplY3QgbG9ja2VkIHRvCgkgIHByb3RlY3QgaW50ZXJuYWwgZGF0YSwgYmVjYXVzZSBpZiBpdCBpcyBkb25lIGF0IHRoZSBwdXNoaW5nIHN0YWdlLAoJICB3ZSB3b3VsZCBoYXZlIHRvIGxvY2sgYW5kIHVubG9jayBtdWx0aXBsZSB0aW1lcyBpbiBhIHJvdyB3aGlsZSB3ZQoJICBhcmUgcHVzaGluZyB0aGUgcnR4IGJ1ZmZlcnMuCgkgIFByZXZpb3VzbHkgdGhlcmUgd2FzIG5vIGxvY2tpbmcgYXQgYWxsLCB3aGljaCB3YXMgdGVycmlibHkgd3JvbmcuCgoyMDE0LTAxLTE0IDEyOjUwOjIzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBsb2NrIGFjY2VzcyB0byBpbnRlcm5hbCBkYXRhIGluIHNpbmtfZXZlbnQoKSBmdW5jdGlvbgoKMjAxNC0wMS0xNCAxMjo0NDowNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNhbGwgdG8gcmVzZXQoKSBmcm9tIGZpbmFsaXplKCkKCSAgLi4uYW5kIHVzZSBfZnJlZV9mdWxsKCkgb24gdGhlIHBlbmRpbmcgYnVmZmVycyBxdWV1ZSBub3cgdGhhdAoJICByZXNldCgpIGlzIG5vdCBiZWluZyBjYWxsZWQKCjIwMTQtMDEtMTQgMTI6Mzg6NTEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHJlbW92ZSB1bnVzZWQgcGFyYW1ldGVyIGZyb20gdGhlIGludGVybmFsIHJlc2V0KCkgbWV0aG9kCgoyMDE0LTAxLTE0IDEyOjMyOjM4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBVc2UgZ19zbGljZV8qIGZvciBhbGxvY2F0aW5nIGludGVybmFsIHN0cnVjdHVyZXMKCjIwMTQtMDEtMTQgMTI6Mjg6MDEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IHJlbW92ZSBzdHVwaWQgbXV0ZXggdW5sb2NrIGluIHRoZSBtaWRkbGUgb2YgY2hhaW4oKQoKMjAxNC0wMS0xNCAxMjoyNTozNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogdXNlIEdTVF9ERUJVR19PQkpFQ1QgLyBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZiBHU1RfREVCVUcgLyBnX3dhcm5pbmcKCjIwMTQtMDEtMTQgMTI6MTk6NTggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IGZpeCBpbnRlZ2VyIGZvcm1hdCBzcGVjaWZpZXJzIGluIEdTVF9ERUJVRwoJICBzZXFudW0gaW4gdGhpcyBmdW5jdGlvbiBpcyAzMi1iaXQsIHNvIEdfR1VJTlQxNl9GT1JNQVQgd291bGQKCSAgcHJvZHVjZSB1bmRlZmluZWQgb3V0cHV0IG9uIGJpZyBlbmRpYW4gc3lzdGVtcwoKMjAxNC0wMS0xNCAxMjoxMzo0OSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiBjaGFuZ2UgdGhlIHJ0eF9wdF9tYXAgZGlyZWN0bHkgaW4gc2V0X3Byb3BlcnR5KCkgaW5zdGVhZCBvZiBkZWxheWluZyBpdCBmb3IgY2hhaW4oKQoJICBUaGUgc2FtZSBsb2NrIGlzIGhlbGQsIHNvIHRoZXJlIGlzIG5vIHBvaW50IGluIGNvbXBsaWNhdGluZyBpdC4uLgoKMjAxNC0wMS0xNCAxMjowNzo1OCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJICBydHBydHhyZWNlaXZlOiBjaGFuZ2UgdGhlIHJ0eF9wdF9tYXAgZGlyZWN0bHkgaW4gc2V0X3Byb3BlcnR5KCkgaW5zdGVhZCBvZiBkZWxheWluZyBpdCBmb3IgY2hhaW4oKQoJICBUaGUgc2FtZSBsb2NrIGlzIGhlbGQsIHNvIHRoZXJlIGlzIG5vIHBvaW50IGluIGNvbXBsaWNhdGluZyBpdC4uLgoKMjAxNC0wMS0xNCAxMTo1NTowMCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogc2ltcGxpZnkgdGhlIGNvZGUgb2YgZmluYWxpemUoKQoKMjAxNC0wMS0xNCAxMTo1MjoyMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJICBydHBydHhyZWNlaXZlOiB1c2UgdGhlIEdzdE9iamVjdCBsb2NrIGluc3RlYWQgb2YgYSBuZXcgb25lCgoyMDE0LTAxLTE0IDExOjQ1OjUyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IHVzZSB0aGUgR3N0T2JqZWN0IGxvY2sgaW5zdGVhZCBvZiBhIG5ldyBvbmUKCjIwMTMtMTItMTAgMTQ6Mjk6NTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIE5WMTJfNjRaMzIgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI3CgoyMDE0LTAxLTE0IDE5OjA4OjQ5ICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgb3NzaGVscGVyOiBEb24ndCBsZWFrIGZkIHdoZW4gZ2V0dGluZyBjYXJkIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE2MwoKMjAxNC0wMS0xNCAwOTo0MzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIFJldmVydCAiYWFjcGFyc2U6IHJlbGF4IHRoZSBkZXRlY3Rpb24gb2YgQURUUyIKCSAgVGhpcyB3YXMgcHVzaGVkIGJ5IG1pc3Rha2UgYWxvbmcgd2l0aCB0aGUgVjRMMiBmaXguCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGViNGIwMzJiZWY0NDQzOTdjNGQyMTFmMjA5NWMxNzNiYTExNDE4Ny4KCjIwMTQtMDEtMTQgMTU6NDI6MDEgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgcnRwZzcyNnBheTogZG9uJ3QgbGVhayBlbmNvZGluZ19uYW1lIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTU5CgoyMDE0LTAxLTEzIDA5OjE0OjAwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IGJ1aWxkIGJyZWFrIHVzaW5nIFY0TDJfQ0FQX1ZJREVPX00yTV9NUExBTkUKCSAgVGhpcyBtYXkgbm90IGJlIGRlZmluZWQuIFNpbmNlIHRoZSBwcmV2aW91cyB2ZXJzaW9uIHVzZWQKCSAgb25seSB0aGUgb3RoZXIgZGVmaW5lIChWNEwyX0NBUF9WSURFT19PVVRQVVRfTVBMQU5FKSwgZmFsbAoJICBiYWNrIG9uIHRoaXMgb25seSB3aGVuIG5vdCBhdmFpbGFibGUuCgoyMDEzLTAyLTI3IDAxOjQ1OjUyICswOTAwICBBa2loaXJvIFRzdWthZGEgPGF0c3VrYWRhQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHJlbGF4IHRoZSBkZXRlY3Rpb24gb2YgQURUUwoJICBBY2NvcmRpbmcgdG8gSVNPL0lFQyAxMzgxOC03LCAiY2hhbm5lbF9jb25maWciIGZpZWxkIGluIEFEVFMgaGVhZGVyCgkgIG1heSBoYXZlIHZhbHVlIG9mIDAsIGFzIGluIHRoZSBjYXNlIG9mIGZyYW1lIHdpdGggUENFLgoJICBnc3RfYWFjX3BhcnNlX2RldGVjdF9zdHJlYW1zKCkgcmV0dXJuZWQgRkFMU0UgZm9yIHRob3NlIGZyYW1lcwoJICBhbmQgZGlzY2FyZGVkIHRoZW0uCgoyMDE0LTAxLTA3IDExOjU4OjIzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBjaGVjayBzZXRfY29uZmlnIHJldHVybiB2YWx1ZSBpbiBnc3RfdjRsMl9idWZmZXJfcG9vbF9uZXcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0xMCAxMjo0MDozMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgcGFyc2VkPTEgZmllbGQgZm9yIGVuY29kZWQgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTQtMDEtMTAgMTI6Mzk6MTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBlbXB0eSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTQtMDEtMDggMTY6NTE6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGRvIG5vdCBzdG9wIGEgc3RyZWFtIG5vdCBwcmV2aW91c2x5IHN0YXJ0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNjoyNzoyMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBlbmZvcmNlIGRpbWVuc2lvbiBmaWVsZCBvbiBlbmNvZGVkIGZvcm1hdHMKCSAgRG9uJ3QgZW5mb3JjZSBoYXZpbmcgd2lkdGgsIGhlaWdodCBhbmQgZnJhbWVyYXRlIGluIHRlbXBsYXRlIGNhcHMgZm9yIGVuY29kZWQKCSAgZm9ybWF0cy4gVGhlc2UgZG9uJ3QgYWx3YXlzIG5lZWQgdG8gYmUgZXhwb3NlZCBhbmQgbWF5IGJyZWFrIG5lZ290aWF0aW9uIGZvcgoJICBkZWNvZGVyIGFuZCBkZWNvZGluZyBzaW5rLiBJZiBuZWVkZWQsIHRoZXNlIGZpZWxkIHdpbGwgYmUgYXV0b21hdGljYWxseSBhZGRlZAoJICB3aGVuIHByb2JlZCBjYXBzIGFyZSBrbm93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNzowOTo1OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHVucmVmIGRvd25zdHJlYW0gcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTE4IDEzOjM3OjIzIC0wNTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBhZGQgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmx1c2gKCSAgU1RSRUFNT0ZGIHNldCBhbGwgdjRsMmJ1ZmZlcnMgdG8gREVRVUVVRSBzdGF0ZS4KCSAgVGhlbiBmb3IgQ0FQVFVSRSB3ZSBjYWxsIFFCVUYgb24gZWFjaCBidWZmZXIuCgkgIEZvciBPVVRQVVQgdGhlIGJ1ZmZlcnMgYXJlIGp1c3QgcHVzaCBiYWNrIGluIHRoZSBHc3RCdWZmZXJQb29sCgkgIGJhc2UgY2xhc3MgJ3MgcXVldWUuCgkgIEJ1dCB0aGUgbG9vcCBhY3R1YWxseSBsb29rcyBsaWtlIHRoZSBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTE2IDE3OjI5OjMwIC0wNTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWRkIHZwOCBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTY6NDY6MDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgZm9yY2UgZnJhbWVyYXRlIGZpZWxkIGZvciBPVVRQVVQKCSAgSWYgdGhlcmUgaXMgbm90aGluZyB0aGF0IHNlZW1zIHRvIGZvcmNlIGEgY2VydGFpbiBmcmFtZXJhdGUgb24gb3V0cHV0IGRldmljZSwgaXQgaXMKCSAgcHJlZmVyYWJsZSB0byBzaW1wbHkgbm90IHNldCB0aGF0IGZlaWxkLiBUaGlzIGFsbG93IG5lZ290aWF0aW9uIHdpdGggdHNkZW11eCBpbiBhCgkgIGRlY29kZXIgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTQ6MDc6MDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUoKSBjYW4gYmUgc3RhdGljCgkgIFRoaXMgZnVuY3Rpb24gaXMgbm90IHVzZWQgYW55bW9yZSBvdXRzaWRlIHY0bDJvYmplY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTQ6MjI6MjYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWRkIE1QRUcxLzIgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDEyOjE4OjQ1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFzayBmb3IgYSBkZWNlbnQgYnVmZmVyIHNpemUgd2hlbiBkZWFsaW5nIHdpdGggZW5jb2RlZCBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDcgMTQ6MDM6NTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBPbiB3YXJuIG9uIHNpemUgY2hhbmdlIGlmIG5fcGxhbmVzID4gMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTMxIDE2OjM4OjA5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogY2hlY2sgaWYgdHJhbnNsYXRlZCBmb3JtYXQgaXMgdmFsaWQKCSAgQWxzbyBhZGQgYSBGSVhNRSBpbiBnc3RfdjRsMl9vYmplY3Rfc2V0dXBfZm9ybWF0CgkgIHRvIG5vdGUgdGhhdCB0aGUgd2hvbGUgZnVuY3Rpb24gaGFzIHRvIGJlIGltcHJvdmVkCgkgIGluIG9yZGVyIHRvIHN1cHBvcnQgRU5DT0RFRCBmb3JtYXRzLgoJICBJdCByZXF1aXJlcyB0byBoYXZlIGFuIGVuY29kZXIgZGV2aWNlIHdoaWNoIHdlIGRvIG5vdAoJICBoYXZlIHJpZ2h0IG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNyAxMDozMToxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBWYWxpZGF0ZSByZXR1cm5lZCBkaW1lbnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTk6MzY6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRW5zdXJlIG1heCBpcyBub3Qgc21hbGxlciB0aGVuIG1pbiBpbiBkZWNpZGVfYWxsb2NhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE5OjM2OjA2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGtlZXAgdGhlIG1heCBwYXJhbXRlciB3aGVuIHVzaW5nIG91ciBvd24gcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE5OjM0OjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmVzcGVjdCB0aGUgc3VnZ2VzdGVkIG1pbiBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxODo0ODo0NCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBbGxvY2F0ZSBwb29sIGlmIG5lZWRlZCBpbiBkZWNpZGVfYWxsb2NhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE4OjQ5OjE5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFkZCBWNEwyX0NJRF9NSU5fQlVGRkVSU19GT1JfQ0FQVFVSRSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTg6NDg6MTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IE1vdmUgZGVjaWRlIGFsbG9jYXRpb24gaW50byB2NGwyb2JqZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTM6NTE6MTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBJbXBsZW1lbnQgX3NldHVwX2Zvcm1hdCgpCgkgIFRoaXMgbWV0aG9kIGFsbG93IHNldHRpbmcgdXAgdGhlIG9iamVjdCBmcm9tIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBmb3JtYXQgb24gdGhlCgkgIGRldmljZS4gVGhpcyBpcyB1c2VmdWwgZm9yIE0yTSBlbGVtZW50IHdoZXJlIGlucHV0IGRhdGEgZGVjaWRlcyB0aGUgZm9ybWF0IHRoYXQgd2lsbAoJICBiZSBzZXQgb24gY2FwdHVyZSBzaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEwIDE0OjM0OjE3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFNwbGl0IG91dCBzYXZpbmcgZm9ybWF0IGZyb20gc2V0X2Zvcm1hdCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMzEgMTU6Mzc6MjYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBzZXQgb25seSBvbmUgcGxhbmUgZm9yIGVuY29kZWQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTY6NDk6MTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSBjb2RlIGJsb2NrIHdoZXJlIGl0IGJlbG9uZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNjoyNjoxMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBjaGVjayBmb3JtYXQgc3BlY2lmaWMgaW5mb3JtYXRpb24KCSAgVGhlIG51bWJlciBvZiBwbGFuZSwgYW5kIHRoZSBzdHJpZGUgZG9lcyBub3QgcmVwcmVzZW50IGEgY2FwYWJpbGl0eSBjaGFuZ2UuIFNhbWUgY2FwcwoJICBjYW4gaGF2ZSBkaWZmZXJlbnQgc3RyaWRlIGZyb20gdGhlIGRlZmF1bHQgR3N0VmlkZW9JbmZvIGFuZCB0aGUgbnVtYmVyIG9mIHBsYW5lcyB3aWxsCgkgIG5ldmVyIGNoYW5nZSBmb3IgMSBmb3JtYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTY6MjM6MTggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSB0aGUgZXh0cmFwb2xhdGlvbiBvZiBzdHJpZGUgYXQgdGhlIHJpZ2h0IHBsYWNlCgkgIE5vdyB0aGF0IHdlIGhhdmUgYSBzdHJpZGUgYXJyYXksIHdlIHNob3VsZCBleHRyYXBvbGF0ZSBvbmx5IHdoZW4KCSAgZWVkZWQgKG5vbiBtdWx0aS1wbGFuYXIgYnVmZmVyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNTowOTo0NCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIGJhY2sgYXNzZXJ0aW9ucyB3aGVyZSB0aGV5IHNob3VsZCBiZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE1OjA5OjEwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgbXBsYW5lIGxvZ2ljIGludG8gZ3N0X3Y0bDJfb2JqZWN0X2dldF9jYXBzX2luZm8oKQoJICBJdCBtYWtlcyB0aGUgZ3N0X3Y0bDJfb2JqZWN0X3NldF9mb3JtYXQoKSBzbGlnaHRseSBzaW1wbGllciBhbmQgd2lsbCBtYWtlIHRoYXQKCSAgbG9naWMgcmV1c2FibGUuIE5vdGUgdGhhdCBnc3RfdjRsMl9vYmplY3RfaGFzX21wbGFuZSgpIHdpbGwgYWx3YXlzIHJldHVybiB0aGUKCSAgc2FtZSB2YWx1ZSBmb3Igb25lIGRldmljZS4gVGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBhZ2FpbnN0IHRoZSBjYXBzIGFzIHRoaXMKCSAgaGFzIGFscmVhZHkgYmVlbiBkb25lIGJ5IF9vcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTAzIDE4OjI3OjQ3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU3BsaXQgX3Y0bDJmb3VyY2NfdG9fdmlkZW9fZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDIgMTg6MDU6MTEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZXF1ZXN0IGJ1ZmZlcnMgb25seSBvbmNlCgkgIFZJRElPQ19SRVFCVUZTIGFsbG9jYXRlcyBidWZmZXIsIGl0IGhhcyBubyBwbGFjZSBpbnNpZGUgc2V0X2NvbmZpZy4gQWxzbywgc29tZSBkcml2ZXIgZG8KCSAgbm8gYWxsb3cgbXVsdGlwbGUgY2FsbHMgdG8gdGhpcyBpb2N0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wMiAxNToyNjo1MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCB2YWxpZGF0ZSBkaW1lbnNpb24gZm9yIGVuY29kZWQgZm9ybWF0CgkgIFdlIHNldCB0aGUgZGltZW5zaW9ucyBqdXN0IGluIGNhc2UgYnV0IGRvbid0IHZhbGlkYXRlIHRoZW0KCSAgYWZ0ZXJ3YXJkcy4gRm9yIHNvbWUgY29kZWNzIHRoZSBkaW1lbnNpb25zIGFyZSAqbm90KiBpbiB0aGUKCSAgYml0c3RyZWFtLCBJSVJDIFZDMSBpbiBBU0YgbW9kZSBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMS0yOCAxNzoxMDoyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFF1aXJrcyBmb3IgZGV2IHdpdGhvdXQgaW5pdGlhbCBmb3JtYXQKCSAgTW9zdCBNMk0gaGF2ZSB1bmRlZmluZWQgYmVoYXZpb3VyIGluaXRpYWxseSB3aGVuIFZJRElPQ19HX0ZNVCBpcyBjYWxsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTEtMjggMTc6MDk6MjYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBBZGQgZ3N0X3Y0bDJfb2JqZWN0X29wZW5fc2hhcmVkKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMS0yOCAxNzowNzowNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDJvYmplY3Q6IEltcGxlbWVudCBnc3RfdjRsMl9kdXAoKQoJICBUaGlzIHdpbGwgZHVwbGljYXRlZCB0aGUgRkQgZnJvbSBhbm90aGVyIG9iamVjdCBhbmQgY29weSBvdmVyIHRoZSBwcm9iZWQgcmVzdWx0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE2OjU5OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogbWFrZSBJT19NT0RFIGVudW0gcHVibGljCgkgIFRoaXMgaXMgdG8gYWxsb3cgYWRkaW5nIGEgc2Vjb25kIGlvLW1vZGUgcHJvcGVydHkgb24gTTJNIGRldmljZSBsaWtlIGRlY29kZXIgc28KCSAgaW5wdXQgYW5kIG91dHB1dCBjYW4gYmUgY29udHJvbGxlZCBzZXBhcmF0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMDYtMDQgMjM6NDI6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYmV0dGVyIGhhbmRsZSBxdWlya3MgYWN0aXZhdGlvbgoJICBUaGlzIHdheSB3ZSBjYW4gYWN0aXZhdGUgZGVhY3RpdmF0ZSB0aG9zZSBxdWlya3MgYWxsIGF0IG9uY2UgYXQgb25lCgkgIHBsYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTA2LTA0IDIzOjM0OjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRml4IGgyNjQgY2FwcwoJICBWNEwyX1BJWF9GTVRfSDI2NCBpcyBkb2N1bWVudGF0ZWQgYXMgYnl0ZS1zdHJlYW0gKHdpdGggc3RhcnQgY29kZSkuIFRoZSBlbnN1cmUgcHJvcGVyCgkgIG5lZ290aWF0aW9uIHdpdGggZWxlbWVudCBsaWtlIGgyNjRwYXJzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNiAxNDo0NDo1MSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFNwbGl0IGNhcHMgaW4gZGlmZmVyZW50IGNhdGVnb3JpZXMKCSAgVGhpcyBpcyBuZWVkIHRvIGNvcnJlY3RseSBleHBvc2UgY2FwYWJpbGl0aWVzIG9uIHNwZWNpYWxpemVkIGRldmljZXMKCSAgbGlrZSBkZWNvZGVycyBhbmQgZW5jb2RlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTQtMDEtMTAgMTQ6MTY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgbGVhayBUT0MgY2hhcHRlciBsaXN0CgoyMDE0LTAxLTEwIDA4OjUyOjE2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSBvYnNvbGV0ZSB3cml0ZS1kdW1teS1hbmQtb3ZlcndyaXRlLW9uLWVvcyBjb2RlCgkgIFRoZSBuZWVkIGZvciByZXdyaXRpbmcgYXBwYXJlbnRseSBpcyBvYnNvbGV0ZSAwLjEwIGxlZnRvdmVyLgoJICBXZSBub3cgaGF2ZSBjYXBzIGZvciBzdWJ0aXRsZXMgd2hlbiB3ZSBjcmVhdGUgdGhlIGhlYWRlcnMsCgkgIHNvIHdlIGFsd2F5cyB3cml0ZSB0aGUgY29ycmVjdCBkYXRhIGluIHRoZSBmaXJzdCBwbGFjZS4KCjIwMTQtMDEtMDkgMjM6NTU6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHJlbW92ZSBkdXBsaWNhdGUgYXNzaWdubWVudAoJICBDb3Zlcml0eSBDSUQgMTE1MTY4MAoKMjAxNC0wMS0wOSAxODoyNTowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB3cml0ZSBzdWJ0aXRsZSBjb2RlYyBJRCBhbmQgZGF0YSBhdCBzdGFydCB3aGVuIGtub3duCgkgIFRoaXMgYXZvaWRzIGlzc3VlcyB3aXRoIHdyaXRpbmcgZHVtbXkgZGF0YSBmaXJzdCwgdGhlbiBoYXZpbmcKCSAgdG8gY29tZSBiYWNrIGFuZCB3cml0ZSBjb3JyZWN0IGRhdGEgbGF0ZXIuIERvaW5nIHNvIHByZXZlbnRzCgkgIHRoZSBtdXhlZCBzdHJlYW0gZnJvbSBiZWluZyBhY3R1YWxseSBzdHJlYW1hYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMTM0CgoyMDE0LTAxLTA5IDE3OjMyOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEluY2x1ZGUgQXZhaWxhYmlsaXR5TWFjcm9zLmggZm9yIG9zeHZpZGVvIGNoZWNrCgkgIE90aGVyd2lzZSBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCBtaWdodCBub3QgYmUgZGVmaW5lZAoKMjAxNC0wMS0wOSAxMTo1NjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSAgcXRtdXg6IHJlc3BlY3QgdGhlIEhETFIgYm94IHN0cmluZyBmb3JtYXQgZm9yIG1vdiBhbmQgaXNvbWVkaWEKCSAgTW92IHNwZWMgc2F5cyBpdCB1c2VzIGEgcGFzY2FsIHN0eWxlIHN0cmluZywgd2hpbGUgaXNvbWVkaWEgdXNlcwoJICBhIG51bGwgdGVybWluYXRlZCBvbmUuIFN0b3JlIHRoZSBjdXJyZW50IGF0b21zIGZsYXZvciBpbnRvIHRoZSBIRExSCgkgIHRvIGJlIGFibGUgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3Qgb3V0cHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTgyCgoyMDE0LTAxLTA4IDExOjI4OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgUmV2ZXJ0ICJtYXRyb3NrYW11eDogVXNlIHRoZSBydW5uaW5nIHRpbWUgZm9yIGNvbnRhaW5lciB0aW1lc3RhbXBzLCBub3QgYnVmZmVyIHRpbWVzdGFtcHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjNhYTg3NTVmZTA3NjM5ZjIyZTQxMDRmNDkzMmQ3NjlkNmM5MDc1YS4KCSAgV2UgYXJlIGFscmVhZHkgdXNpbmcgdGhlIHJ1bm5pbmctdGltZSBiZWNhdXNlIHRoZXkgd2VyZSBwbGFjZWQgb24gdGhlCgkgIGJ1ZmZlcnMgd2l0aCBnc3RfY29sbGVjdF9wYWRzX2NsaXBfcnVubmluZ190aW1lKCkuIEFyZ3VhYmx5IGl0IHdvdWxkIGJlCgkgIGJldHRlciB0byBub3QgbW9kaWZ5IHRoZSBpbmNvbW1pbmcgYnVmZmVycyBidXQgY29sbGVjdHBhZHMgc2VlbXMgdG8gd2FudAoJICB0byB1c2UgYWJzb2x1dGUgdGltZXN0YW1wcyBmcm9tIHRoZSBidWZmZXJzIGZvciBmaW5kaW5nIHRoZSBiZXN0IGJ1ZmZlcgoJICAodGhpcyBjYW4gYmUgY2hhbmdlZCB3aXRoIGEgY3VzdG9tIGNvbXBhcmUgZnVuY3Rpb24uLikuCgoyMDE0LTAxLTA4IDEwOjQxOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBBQ19DT01QSUxFX0lGRUxTRSB1c2FnZQoKMjAxNC0wMS0wOCAxMDozMToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3N4dmlkZW9zaW5rOiBJbXByb3ZlIGNvbmZpZ3VyZSBjaGVjayBmb3IgT1NYID49IDEwLjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0NQoKMjAxNC0wMS0wNyAxMjoxMzo1MSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW1vdmUgdW51c2VkIGxpc3Qgb2YgZGVjb2RlcnMKCSAgcmVtb3ZlIGxpc3Qgb2YgZGVjb2RlcnMsIHdoaWNoIGFyZSBhbHJlYWR5IGhhbmRsZWQgYnkgdGhlIGxpc3Qgb2YgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk5MzgKCjIwMTQtMDEtMDggMDk6NDY6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBFcnJvciBvdXQgaWYgQURQQ00gY2FwcyBkb24ndCBjb250YWluIHRoZSBsYXlvdXQgZmllbGQKCjIwMTQtMDEtMDMgMTU6MjU6MjMgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIGc3MjYgQURQQ00KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDk5NQoKMjAxNC0wMS0wNyAxNTowNDowMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBuZXcgbWV0aG9kIHRvIGdldCBtZWRpYS10eXBlCgkgIFVzZSB0aGUgbmV3IG1ldGhvZCB0byBnZXQgdGhlIG1lZGlhIHR5cGUgb2YgYSB0cmFuc3BvcnQuCgoyMDE0LTAxLTA2IDIxOjEyOjE3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNwbGl0IHRoZSB0ZXN0CgkgIFRoaXMgd2F5IG9uZSBmYWlsdXJlIHdvbid0IHNoYWRvdyB0aGUgb3RoZXIgdGVzdCBhbmQgYWxzbyBpZiBvbmUgZmFpbHMgd2UgZ2V0CgkgIGJldHRlciBkaXNnbm9zdGljcyB0aHJvdWdoIHRoZSB0ZXN0LW5hbWUuCgoyMDE0LTAxLTA2IDE0OjU0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIEhFVkMgLyBoMjY1IHN1cHBvcnQKCjIwMTQtMDEtMDYgMTQ6NTQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgSEVWQyAvIGgyNjUgc3VwcG9ydAoKMjAxNC0wMS0wNiAxMzozNjozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcmVtb3ZlIGlmZGVmJ2VkIGNvZGUKCSAgV2UgZG8gaGF2ZSBhZHRsIGFuZCBjdWUgcGFyc2UgYXMgcGFydCBvZiB0b2MgaGFuZGxpbmcgYWxyZWRheS4gVGhlIGZtdCBjb2RlIGlzIGEgbGVmdCBvdmVyIGZyb20gPDAuMTAgdGltZXMuCgoyMDE0LTAxLTA2IDEzOjMyOjU4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYXZpZGVtdXgsIHdhdmVwYXJzZTogbW9yZSBsb2dnaW5nIGZvciB1bmhhbmRsZWQgY2h1bmtzCgkgIEFsd2F5cyBwcmludCBhIHdhcm5pbmcgd2l0aCB0aGUgdGFnIGFuZCBpZiBwb3NzaWJsZSBkbyBhIG1lbWR1bXAuCgoyMDE0LTAxLTA1IDIyOjQ3OjQyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZXhwb3NlICdzdHJuJyAtIHN0cmVhbSBuYW1lIC0gYXMgdGl0bGUgdGFnCgoyMDE0LTAxLTA1IDIyOjQxOjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcGFyc2UgZnVqaSBzdHJkCgkgIFdlIGNhbiBnZXQgbWFrZXIsIG1vZGVsIGFuZCBjYXB0dXJlIGRhdGUgZnJvbSB0aGlzIGNodW5rLgoJICBGaXhlcyAjNjM2MTQzCgoyMDE0LTAxLTA1IDIxOjQ2OjMzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogLi4uIGFuZCB1c2UgdGhlIGxvY2FsIGFwaSBib3RoIHRpbWVzCgoyMDE0LTAxLTA1IDIxOjM4OjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY29weSB0aGUgcmlmZiBhcGkgZm9yIG5jZHQgaW50byB0aGUgZWxlbWVudAoJICBUaGlzIGNodW5rIGlzIGF2aSBzcGVjaWZpYywgbm8gbmVlZCB0byBleHBvc2UgdGhpcyBhcyBwdWJsaWMgYXBpLgoKMjAxNC0wMS0wNSAxMDoyODoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBtaXNzaW5nIHNlbWljb2xvbiBmcm9tIGxhc3QgY29tbWl0CgoyMDE0LTAxLTA1IDEwOjIyOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXNlIHRoZSBydW5uaW5nIHRpbWUgZm9yIGNvbnRhaW5lciB0aW1lc3RhbXBzLCBub3QgYnVmZmVyIHRpbWVzdGFtcHMKCSAgQnVmZmVyIHRpbWVzdGFtcHMgaGF2ZSBubyByZWFsIG1lYW5pbmcgaGVyZSwgYW5kIGZvciBzZWxlY3RpbmcgdGhlIG5leHQKCSAgYnVmZmVyIHdlIGFscmVhZHkgdXNlIHRoZSBydW5uaW5nIHRpbWUgYW55d2F5LgoKMjAxNC0wMS0wNCAyMTozNDozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiB1c2UgbmV3IHJpZmYgYXBpIHRvIGV4dHJhY3Qgbmlrb24gbWV0YWRhdGEKCSAgRml4ZXMgIzYzNjE0MwoKMjAxMy0xMS0wMSAxNjo0MTo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJICBydHBydHhzZW5kL3J0cHJ0eHJlY2VpdmU6IGdlbmVyYXRlIGd0ayBkb2MKCjIwMTMtMTItMDIgMTE6MjY6MDkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdC9jaGVjazogVmVyaWZ5IHJ0cHJ0eHNlbmQ6OnNzcmMtbWFwIHByb3BlcnR5IHdvcmtzIGFzIGV4cGVjdGVkCgoyMDEzLTExLTI5IDE5OjM1OjQ0ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSAgcnRwcnR4cmVjZWl2ZTogbW9kaWZ5IHRvIHVzZSBhIHBheWxvYWQtdHlwZSBtYXAgbGlrZSBydHBydHhzZW5kCgoyMDEzLTExLTI5IDE5OjU4OjI2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBkbyBub3Qga2VlcCBoaXN0b3J5IG9mIHBhY2tldHMgd2l0aCBhbiB1bmtub3duIHBheWxvYWQgdHlwZQoJICBUaGlzIGFsbG93cyB0byBkaXNhYmxlIHJldHJhbnNtaXNzaW9uIHBlciBwYXlsb2FkIHR5cGUgYnkgbm90IHB1dHRpbmcKCSAgYSBjZXJ0YWluIHBheWxvYWQgdHlwZSBpbiB0aGUgbWFwLgoKMjAxNC0wMS0wMiAxNToxODo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYzoKCSAgcnRwcnR4c2VuZDogQWxsb3cgU1NSQy1tdWx0aXBsZXhpbmcgYW5kIG11bHRpcGxlIHBheWxvYWQgdHlwZXMgaW4gdGhlIG9yaWdpbmFsIHN0cmVhbQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmMKCjIwMTMtMTEtMjUgMTU6MDA6NDUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IEFkZCBhbiBydHgtc3NyYyBwcm9wZXJ0eSB0byBhbGxvdyBleHRlcm5hbCBjb250cm9sIG9mIHRoZSBzc3JjCgkgIFRoaXMgaXMgdXNlZnVsIHdoZW4gb25lIG5lZWRzIHRvIGtub3cgdGhlIFNTUkMgYmVmb3JlaGFuZHMsIHNvIHRoYXQgaXQgY2FuCgkgIGJlIHVzZWQgZm9yIFNSVFAgZm9yIGV4YW1wbGUuCgoyMDEzLTExLTEzIDE1OjExOjM1IC0wNTAwICBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYzoKCSAgZXhhbXBsZXM6IHJ0cDogQWRkIGVuZC10by1lbmQgcnRwYmluIGV4YW1wbGUgd2l0aCBSVFggZWxlbWVudHMKCSAgVGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlcyBob3cgdG8gdXNlIHJ0cGJpbiB3aXRoIHJldHJhbnNtaXNzaW9uIChydHgpCgkgIGVsZW1lbnRzIHNldCBpbiB0aGUgcGxhY2Ugb2YgcnRwYmluJ3MgImF1eCIgZWxlbWVudHMgaW4gb3JkZXIgdG8KCSAgZW5hYmxlIFJUUCByZXRyYW5zbWlzc2lvbiBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIG9mIFJGQzQ1ODguCgoyMDEzLTExLTA1IDE3OjM1OjAxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvZGVzaWduL01ha2VmaWxlLmFtOgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwYXV4aWxpYXJ5LnR4dDoKCSAgZG9jOiBhZGQgZGVzaWduLXJ0cGF1eGlsaWFyeS50eHQgdG8gZGVzY3JpYmUgaG93IHJ0cGJpbiBkZWFscyB3aXRoIGF1eGlsaWFyeSBlbGVtZW50cwoKMjAxNC0wMS0wMiAxNDo0ODo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFsc28gcHVzaCBFT1MgZXZlbnQgdG8gUlRDUCBzcmNwYWQKCjIwMTQtMDEtMDIgMTQ6NDY6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogcGxhY2UgU1NSQyBpbiBSZXRyYW5zbWlzc2lvbiBldmVudAoKMjAxMy0xMS0wMSAxNjo1NzoxNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwYXV4Ojp0ZXN0X3NpbXBsZV9ydHBiaW5fYXV4CgkgIEl0IHNob3dzIGhvdyB0byB1c2UgInNldC1hdXgtcmVjZWl2ZSIgYW5kICJzZXQtYXV4LXNlbmQiCgkgIHByb3BlcnRpZXMgb2YgcnRwYmluIHRvIHNldCBydHBydHhzZW5kIGFuZCBydHBydHhyZWNlaXZlCgkgIEJ1aWxkIDIgcGlwZWxpbmVzLCBvbmUgZm9yIHJ0cGJpbiBhcyBhIHNlbmRlciBhbmQgb25lIGZvcgoJICBydG9iaW4gYXMgYSByZWNlaXZlLiBUaGVuIHRyYW5zbWl0IGFuIGF1ZGlvIHN0cmVhbS4KCSAgSXQgYWxzbyBkcm9wcyBzb21lIHBhY2tldHMgdG8gYWN0aXZhdGUgcmVzdHJhbnNtaXNzaW9uIGFuZAoJICBjaGVjayB0aGV5IGFyZSBhY3R1YWxseSByZXRyYW5zbWl0ZWQuCgoyMDEzLTExLTAxIDE3OjA5OjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cGNvbGxpc2lvbjo6dGVzdF9ydHhfc3NyY19jb2xsaXNpb24gdW5pdCB0ZXN0CgkgIGNoZWNrIHRoYXQgcnR4cnRwc2VuZCBjaGFuZ2VzIGl0cyByZXRyYW5zbWlzc2lvbiBzc3JjIHdoZW4KCSAgY29sbGlzaW9uIGhhcHBlbnMKCjIwMTMtMTEtMDYgMTI6MzQ6MTMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfcnR4cmVjZWl2ZV9kYXRhX3JlY29uc3RydWN0aW9uCgkgIFRoaXMgdW5pdCB0ZXN0IHZlcmlmaWVzIHRoYXQgcmV0cmFuc21pdHRlZCBydHAgcGFja2V0cyBjb21pbmcgb3V0CgkgIG9mIHJ0cHJ0eHJlY2VpdmUgYXJlIHRoZSBzYW1lIGFzIHRoZSBvcmlnaW5hbCBvbmVzLgoKMjAxMy0xMS0wNSAwOTozMzo1MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogdXNlIGEgcmVhbGlzdGljIGxpbWl0IGZvciB0aGUgdmFsdWUgb2YgbWF4LXNpemUtcGFja2V0cwoJICBHX01BWElOVDE2IGlzIGNob3NlbiBiZWNhdXNlIGlmIHRoZSBxdWV1ZSBjb250YWlucyBtb3JlIHRoYW4KCSAgR19NQVhJTlQxNiBwYWNrZXRzLCBzZXFudW0gY29tcGFyaXNvbiB3aWxsIG5vdCB3b3JrIHByb3Blcmx5LgoKMjAxMy0xMS0wNCAyMDowNTowMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiB1c2UgYSBHU2VxdWVuY2UgdG8gaW1wbGVtZW50IHRoZSBidWZmZXIgcXVldWUKCSAgVGhpcyBoYXMgdGhlIGFkdmFudGFnZSB0aGF0IHNlYXJjaGluZyB0aGUgcXVldWUgdG8gZmluZCB0aGUKCSAgYnVmZmVyIHdpdGggdGhlIHJlcXVlc3RlZCBzZXFudW0gaXMgZG9uZSB3aXRoIGJpbmFyeSBzZWFyY2guCgoyMDEzLTExLTA0IDE4OjM4OjI0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBydHhzZW5kOiByZXRyYW5zbWl0IHBhY2tldHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIHJ0eCByZXF1ZXN0cwoKMjAxMy0xMS0wMiAxOTo1Njo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogQWRkIHVuaXQgdGVzdCBmb3IgcnR4c2VuZCdzIG1heF9zaXplX3RpbWUgcHJvcGVydHkKCjIwMTMtMTAtMjkgMTg6Mjc6MDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogSGFuZGxlIHRoZSBtYXhfc2l6ZV90aW1lIHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgYnVmZmVycwoJICB0byBrZWVwIGluIHRoZSByZXRyYW5zbWlzc2lvbiBxdWV1ZSBleHByZXNzZWQgYXMgdGltZSAobXMpCgkgIGluc3RlYWQgb2YgYnVmZmVyIGNvdW50ICh3aGljaCBpcyB0aGUgbWF4X3NpemVfYnVmZmVycyBwcm9wZXJ0eSkuCgoyMDEzLTExLTAyIDE1OjIxOjA4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBrZWVwIGltcG9ydGFudCBidWZmZXIgaW5mb3JtYXRpb24gaW4gYSBwcml2YXRlIHN0cnVjdHVyZQoJICBUaGlzIGlzIHRvIGF2b2lkIG1hcHBpbmcgYSBidWZmZXIgZXZlcnkgdGltZSB3ZSBuZWVkIHRvIHJlYWQgYSBzZXFudW0KCSAgb3IgYSB0aW1lc3RhbXAuCgoyMDEzLTExLTAxIDExOjU4OjQ3ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBBZGQgcnRwcnR4Ojp0ZXN0X3J0eHNlbmRlcl9wYWNrZXRfcmV0ZW50aW9uCgkgIFRoaXMgdW5pdCB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHJ0eHNlbmQgZWxlbWVudCBjb3JyZWN0bHkgbWFpbnRhaW5zCgkgIGEgYnVmZmVyIG9mIGFscmVhZHkgdHJhbnNtaXR0ZWQgcnRwIHBhY2tldHMgYW5kIHRoYXQgaXQgY2FuCgkgIHJlLXRyYW5zbWl0IGFsbCBvZiB0aGVtIGNvcnJlY3RseSBvbiBkZW1hbmQuIEl0IGFsc28gdmVyaWZpZXMKCSAgdGhhdCB0aGUgbGltaXQgb2YgdGhpcyBidWZmZXIgKG1heC1zaXplLXBhY2tldHMgcHJvcGVydHkpIGlzIHJlc3BlY3RlZC4KCjIwMTMtMTEtMDEgMTY6MjI6MTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwcnR4Ojp0ZXN0X2Ryb3BfbXVsdGlwbGVfc2VuZGVyIHVuaXQgdGVzdAoJICBTZXZlcmFsIHNlbmRlcnMgLyBvbmUgcmVjZWl2ZXIKCSAgU2ltaWxhciB0aGFuIHRlc3RfZHJvcF9vbmVfc2VuZGVyIGJ1dCB3aXRoIG11bHRpcGxlIHNlbmRlcnMKCSAgbWl4ZWQgdGhyb3VnaCB0aGUgZnVubmVsIGVsZW1lbnQuCgkgIEl0IGRyb3BzIHNvbWUgcGFja2V0cyBhbmQgY2hlY2tzIHRoYXQgdGhleSBhcmUgcmV0cmFuc21pdGVkCgkgIGNvcnJlY3RseS4KCjIwMTMtMTEtMDEgMTY6MjE6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwcnR4Ojp0ZXN0X2Ryb3Bfb25lX3NlbmRlciB1bml0IHRlc3QKCSAgVGVzdCBmb3Igb25lIHNlbmRlciAvIG9uZSByZWNlaXZlcgoJICBCdWlsZCB0aGUgcGlwZWxpbmUKCSAgdmlkZW90ZXN0c3JjICEgcnRwdnJhd3BheSAhIHJ0cHJ0eHNlbmQgISBydHBydHhyZWNlaXZlICEgZmFrZXNpbmsKCSAgYW5kIGRyb3Agc29tZSBidWZmZXJzIGJldHdlZW4gcnRwcnR4c2VuZCBhbmQgcnRwcnR4cmVjZWl2ZQoJICBUaGVuIGl0IGNoZWNrcyB0aGF0IGV2ZXJ5IGRyb3BwZWQgcGFja2V0IGhhcyBiZWVuIHJlLXNlbnQuCgkgIEl0IGFsc28gY2hlY2tzIHRoYXQgbm90IHRvbyBtdWNoIHJlcXVlc3RzIGhhcyBiZWVuIHNlbnQuCgoyMDEzLTExLTAxIDE2OjE3OjUxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfcHVzaF9mb3J3YXJkX3NlcQoJICBhZGQgc2ltcGxlIHVuaXQgdGVzdCB0aGF0IG1hbnVhbGx5IHB1c2ggYnVmZmVycwoJICBpbiBydHBydHhzZW5kIGNvbm5lY3RlZCB0byBydHBydHhyZWNlaXZlLgoJICBEcm9wcyBzb21lIGJ1ZmZlcnMgYW5kIG1ha2Ugc3VyZSB0aGV5IGFyZSByZXRyYW5zbWlzdGVkLgoKMjAxMy0xMS0wMSAxNTo1MjowMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cG1hbmFnZXI6IGFkZCBuZXcgcnRwcnR4c2VuZCAvIHJ0cHJ0eHJlY2VpdmUgZWxlbWVudHMKCSAgVGhlIHB1cnBvc2Ugb2YgdGhlIHNlbmRlciBSVFggb2JqZWN0IGlzIHRvIGtlZXAgYSBoaXN0b3J5CgkgIG9mIFJUUCBwYWNrZXRzIHVwIHRvIGEgY29uZmlndXJhYmxlIGxpbWl0IChpbiB0aW1lKS4gSXQgd2lsbAoJICBsaXN0ZW4gZm9yIGN1c3RvbSByZXRyYW5zbWlzc2lvbiBldmVudHMgZnJvbSBkb3duc3RyZWFtLiBXaGVuCgkgIGl0IHJlY2VpdmVzIGEgcmVxdWVzdCBmb3IgcmV0cmFuc21pc3Npb24sIGl0IHdpbGwgbG9vayB1cCB0aGUKCSAgcmVxdWVzdGVkIHNlcW51bSBpbiBpdHMgbGlzdCBvZiBzdG9yZWQgcGFja2V0cy4gSWYgdGhlIHBhY2tldAoJICBpcyBhdmFpbGFibGUsIGl0IHdpbGwgY3JlYXRlIGEgUlRYIHBhY2tldCBhY2NvcmRpbmcgdG8gUkZDIDQ1ODgKCSAgYW5kIHNlbmQgdGhpcyBhcyBhbiBhdXhpbGlhcnkgc3RyZWFtLgoJICBUaGUgcmVjZWl2ZXIgd2lsbCBsaXN0ZW4gdG8gdGhlIGN1c3RvbSByZXRyYW5zbWlzc2lvbiBldmVudHMKCSAgZnJvbSB0aGUgZG93bnN0cmVhbSBqaXR0ZXJidWZmZXIgYW5kIHdpbGwgcmVtZW1iZXIgdGhlIFNTUkMxCgkgIG9mIHRoZSBzdHJlYW0gYW5kIHNlcW51bSB0aGF0IHdhcyByZXF1ZXN0ZWQuIFdoZW4gaXQgc2VlcyBhCgkgIHBhY2tldCB3aXRoIG9uZSBvZiB0aGUgc3RvcmVkIHNlcW51bSwgaXQgYXNzb2NpYXRlcyB0aGUgU1NSQzIKCSAgb2YgdGhlIHN0cmVhbSB3aXRoIHRoZSBTU1JDMSBvZiB0aGUgbWFzdGVyIHN0cmVhbS4gRnJvbSB0aGVuCgkgIG9uIGl0IGtub3dzIHRoYXQgU1NSQzIgaXMgdGhlIHJldHJhbnNtaXNzaW9uIHN0cmVhbSBvZiBTU1JDMS4KCSAgVGhpcyBhbGdvcml0aG0gaXMgc3RhdGVkIGluIFJGQyA0NTg4LiBGb3IgdGhpcyBhbGdvcml0aG0gdG8KCSAgd29yaywgUkZDNDU4OCBhbHNvIHN0YXRlcyB0aGF0IG5vIHR3byBwZW5kaW5nIHJldHJhbnNtaXNzaW9uCgkgIHJlcXVlc3RzIGNhbiBleGlzdCBmb3IgdGhlIHNhbWUgc2VxbnVtIGFuZCBkaWZmZXJlbnQgU1NSQ3Mgb3IKCSAgZWxzZSBpdCB3b3VsZCBiZSBpbXBvc3NpYmxlIHRvIGFzc29jaWF0ZSB0aGUgcmV0cmFuc21pc3Npb24gd2l0aAoJICB0aGUgb3JpZ2luYWwgcmVxdWVzdGVyIFNTUkMuCgkgIFdoZW4gdGhlIFJUWCByZWNlaXZlciBoYXMgYXNzb2NpYXRlZCB0aGUgcmV0cmFuc21pc3Npb24gcGFja2V0cywKCSAgaXQgY2FuIGRlcGF5bG9hZCBhbmQgZm9yd2FyZCB0aGVtIHRvIHRoZSBzb3VyY2UgcGFkIG9mIHRoZSBlbGVtZW50LgoJICBSVFggaXMgU1NSQy1tdWx0aXBsZXhlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDg0CgoyMDEzLTExLTA1IDE2OjM2OjQ2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvZGVzaWduL01ha2VmaWxlLmFtOgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwcmV0cmFuc21pc3Npb24udHh0OgoJICBkb2M6IGFkZCBkZXNpZ24gZm9yIHJ0cCByZXRyYW5zbWlzc2lvbgoJICBEZXNjcmliZSBob3cgcnRwcnR4c2VuZCBhbmQgcnRwcnR4cmVjZWl2ZSBnZW5lcmFsbHkgd29yawoJICBidXQgYWxzbyBob3cgdGhlIGFzc29jaWF0aW9uIGFsZ29yaXRobSBpcyBpbXBsZW1lbnRlZC4KCjIwMTQtMDEtMDIgMjA6MjM6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHVzZSBzdGF0dXMgY29kZSBtYWNybyBpbnN0ZWFkIG9mIDQwNwoJICBSZXN0IG9mIHRoZSBjb2RlIGlzIHVzaW5nIHRoZSBfUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQKCSAgbWFjcm8gdG9vLiBFYXNpZXIgdG8gdW5kZXJzdGFuZCBpZiB5b3UgZG9uJ3QgcmVjYWxsIEhUVFAKCSAgZXJyb3IgY29kZXMgYnkgaGVhcnQuCgoyMDEzLTEyLTMxIDIxOjMxOjQzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MnNlbmQ6IGNoYW5nZSBhdWRpb19mb3JtYXQgZmllbGQgdG8gZm9ybWF0CgkgIFRoaXMgZWxlbWVudCBhbmQgdGhlIHVuZGVybHlpbmcgbGlic2hvdXQyIGxpYnJhcnkKCSAgY2FuIGhhbmRsZSB2aWRlbyBtZWRpYSBmaWxlcyB0b28uIFRoZSBjb2RlIGFscmVhZHkKCSAgaGFuZGxlcyB2aWRlby93ZWJtIHNvIHRoZSBuYW1lIGdldHMgY29uZnVzaW5nLiBBbHNvCgkgIGFkZCBhbmQgdXNlIERFRkFVTFRfRk9STUFUIG1hY3JvIEluc3RlYWQgb2YgaGFyZHdpcmluZwoJICBTSE9VVF9GT1JNQVRfVk9SQklTIGF0IGluaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM0MgoKMjAxMy0xMi0zMSAyMDowOToyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBjbGFyaWZ5IG1lYW5pbmcgb2YgdGhlIFVSTCBwcm9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzNDIKCjIwMTMtMTItMjcgMTI6Mjc6MzIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGRvY3MsIGFkZCBhIHNhbXBsZSBwaXBlbGluZQoJICBBbmQgZmluaXNoIGFkZGluZyBzaG91dDJzZW5kIHRvIHRoZSBkb2NzIHdoaWxlIGF0IGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzNDIKCjIwMTMtMTItMzEgMTU6MDA6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiByZW1vdmUgc3B1cmlvdXMgQHNlZV9hbHNvCgoyMDEzLTEyLTA2IDE3OjA4OjU0ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzdXBwb3J0IGFueSB2aWRlbyBmb3JtYXRzIGFuZCBhbnkgY2FwcyBmZWF0dXJlcyBpZiBkZWludGVybGFjZSBtb2RlIGFsbG93cyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NjM2CgoyMDEzLTEyLTMxIDEzOjMxOjUyICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEhhbmRsZSB2NGwyX2lvY3RsKCkgZXJyb3JzIGV2ZW4gaW4gZXJyb3IgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI2OAoKMjAxNC0wMS0wMSAxMjoxMTo0MyAtMDgwMCAgSmVyZW15IEh1ZGRsZXN0b24gU2VxdW9pYSA8amVyZW15aHVAYXBwbGUuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IHVuaWZkZWYgLURSVU5fTlNfQVBQX1RIUkVBRAoKMjAxNC0wMS0wMSAxMjoxMDowMSAtMDgwMCAgSmVyZW15IEh1ZGRsZXN0b24gU2VxdW9pYSA8amVyZW15aHVAYXBwbGUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW86IEFzc3VtZSBTREsgYW5kIGRlcGxveW1lbnQgdGFyZ2V0IGFyZSBhdCBsZWFzdCBTbm93IExlb3BhcmQKCjIwMTQtMDEtMDEgMTI6MjM6NTAgLTA4MDAgIEplcmVteSBIdWRkbGVzdG9uIFNlcXVvaWEgPGplcmVteWh1QGFwcGxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEaXNhYmxlIG9zeHZpZGVvIG9uIExlb3BhcmQgYW5kIGVhcmxpZXIKCSAgVGhpcyBhbHNvIG1vdmVzIHRoZSAib3RoZXIgcGxhdGZvcm1zIiBjaGVjayBpbiBPUyBYIHZpZGVvIHRvIGJlZm9yZSB0aGUKCSAgdmFyaWFibGUgaXMgcmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjQ1CgoyMDEzLTEyLTMxIDE0OjU3OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIEFVWCByZWNlaXZlciB1bml0IHRlc3QKCjIwMTMtMTItMzEgMTM6MjA6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBpbXByb3ZlIHJ0cGJpbiB0ZXN0CgoyMDEzLTEyLTMxIDEzOjE2OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCBzb21lIGRvY3MgYWJvdXQgQVVYIGVsZW1lbnRzCgoyMDEzLTEyLTMxIDEzOjAxOjIyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIEFVWCBzZW5kZXIgdW5pdCB0ZXN0CgoyMDEzLTEyLTMxIDEyOjMxOjI1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgc3VwcG9ydCBmb3IgQVVYIHNlbmRlciBhbmQgcmVjZWl2ZXIKCSAgQVVYIGVsZW1lbnRzIGFyZSBlbGVtZW50cyB0aGF0IGNhbiBiZSBpbnNlcnRlZCBpbnRvIHRoZSBydHBiaW4KCSAgcGlwZWxpbmUgcmlnaHQgYmVmb3JlIG9yIGFmdGVyIDEgb3IgbW9yZSBzZXNzaW9uIGVsZW1lbnRzLgoJICBUaGUgQVVYIGVsZW1lbnRzIGFyZSBlc3NlbnRpYWwgZm9yIGltcGxlbWVudGluZyBmdW5jdGlvbmFsaXR5IHN1Y2gKCSAgYXMgZXJyb3IgY29ycmVjdGlvbiAoRkVDKSBhbmQgcmV0cmFuc21pc3Npb24gKFJUWCkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwODcKCjIwMTMtMTItMzEgMTI6MjI6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgZGVjb2RlciB0ZXN0CgoyMDEzLTEyLTMwIDE3OjM2OjQyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IG1ha2UgcmVxdWVzdF9lbGVtZW50IG1ldGhvZCBpbnRlcm5hbGx5CgkgIFdlIGNhbiB1c2UgdGhlIHNhbWUgbWV0aG9kIHRvIGNyZWF0ZSBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzLCB0aGV5CgkgIGFyZSBqdXN0IGludGVybmFsIGVsZW1lbnRzIHRoYXQgd2UgY3JlYXRlLgoKMjAxMy0xMi0zMSAxMDoyNToyOCArMDEwMCAgU3TDqXBoYW5lIENlcnZlYXUgPHNjZXJ2ZWF1QGdtYWlsLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogU2tpcCBpZDMgdGFnCgkgIFNraXAgaWQzIHRhZyBkdXJpbmcgd2F2IHBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjQxCgoyMDEzLTEyLTMxIDEwOjEwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3g6IE1ha2UgT1NYIHZlcnNpb24gY2hlY2tzIG1vcmUgY29uc2lzdGVudAoJICBBbmQgZXNwZWNpYWxseSBhbHNvIGNvbnNpZGVyIHVwZGF0ZSB2ZXJzaW9ucywgZS5nLiAxMC41IHdpdGggdXBkYXRlcwoJICB3aWxsIGJlIDEwNTEgb3Igc2ltaWxhciBhbmQgdGh1cyBiaWdnZXIgdGhhbiBNQUNfT1NfWF9WRVJTSU9OXzEwXzUgYnV0CgkgIHN0aWxsIHdvbid0IGhhdmUgdGhlIEFQSSB3ZSB3YW50IHRvIHVzZS4KCjIwMTMtMTItMzEgMTA6MDc6MjIgKzAxMDAgIEplcmVteSBIdWRkbGVzdG9uIDxqZXJlbXlodUBmcmVlZGVza3RvcC5vcmc+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogRml4IGJ1aWxkIG9uIHVwZGF0ZWQgT1MgWCBMZW9wYXJkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDUKCjIwMTMtMTItMzAgMTc6MjM6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEFkZCBtaXNzaW5nIGJyZWFrCgkgIEkgZ3Vlc3Mgbm8tb25lIG5vdGljZWQgd2Ugbm8gbG9uZ2VyIGNvdWxkIG11eCBXTVYzIC4uLgoJICBDT1ZFUklUWSBDSUQgMTEzOTc1OQoKMjAxMy0xMi0zMCAxNzoyMDozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBBZGQgbWlzc2luZyBicmVhawoJICBDT1ZFUklUWSBDSUQgMTEzOTc2MgoKMjAxMy0xMi0zMCAxNzowMDo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGludGVybmFsLXNzcmMgaXMgbm8gbG9uZ2VyIGRlcHJlY2F0ZWQKCjIwMTMtMTItMzAgMTY6NTk6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIFNpbmNlIHRhZ3MKCjIwMTMtMTItMzAgMTY6NTI6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBzaWduYWwgZm9yIG5ldyBqaXR0ZXJidWZmZXIKCSAgRW1pdCBhIHNpZ25hbCB3aGVuIGEgbmV3IGppdHRlcmJ1ZmZlciBpcyBjcmVhdGVkIHNvIHRoYXQgdGhlIGFwcCBjYW4KCSAgaGF2ZSBhIGNoYW5jZSB0byBjb25maWd1cmUgaXQuCgoyMDEzLTEyLTMwIDE2OjI4OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBoYW5kbGUgbXVsdGlwbGUgZW5jb2RlciBpbnN0YW5jZXMKCSAgS2VlcCB0cmFjayBvZiBlbGVtZW50cyB0aGF0IGFyZSBhZGRlZCB0byBtdWx0aXBsZSBzZXNzaW9ucyBhbmQgbWFrZSBzdXJlCgkgIHdlIG9ubHkgYWRkIHRoZW0gdG8gdGhlIHJ0cGJpbiBvbmNlIGFuZCB0aGF0IHdlIGNsZWFuIHRoZW0gd2hlbiBubwoJICBzZXNzaW9uIHJlZmVycyB0byB0aGVtIGFueW1vcmUuCgoyMDEzLTEyLTMwIDE1OjE2OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3IgZW5jb2RlciBlbGVtZW50CgoyMDEzLTEyLTMwIDE1OjE1OjQzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBtZW1vcnkgbGVha3MKCjIwMTMtMTItMzAgMTU6MDM6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBmaXggbGVhawoKMjAxMy0xMi0zMCAxNTowMDo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBleHBlY3QgdGhlIHBhZHMgb24gdGhlIGVuY29kZXJzCgkgIERvbid0IHVzZSByZXF1ZXN0IHBhZHMgZm9yIHRoZSBlbmNvZGVyIGVsZW1lbnRzLCB0aGUgc2lnbmFsIGhhbmRsZXIKCSAgc2hvdWxkIHJlcXVlc3QgdGhlIHBhZHMgYW5kIG1ha2Ugc3VyZSB0aGV5IGFyZSBhdmFpbGFibGUgd2l0aCB0aGUgcmlnaHQKCSAgbmFtZS4KCjIwMTMtMTItMzAgMTQ6NTY6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHJlcXVlc3QtcnRwLWVuY29kZXIgYXJlIG5vIGFjdGlvbiBzaWduYWxzCgkgIFRoZSByZXF1ZXN0LXJ0cC1lbmNvZGVyIHNpZ25hbHMgYXJlIG5vdCBhY3Rpb24gc2lnbmFscyBzbyBtYXJrIHRoZW0KCSAgY29ycmVjdGx5IGFuZCB1c2UgYW4gYWNjdW11bGF0b3IgdG8gY29sbGVjdCB0aGUgcmVzdWx0IHZhbHVlLgoKMjAxMy0xMi0zMCAxNDozNjo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZW1pdCBtaWRpLWJhc2Utbm90ZSB0YWcgZnJvbSBkYXRhIGluICdzbXBsJyBjaHVuawoJICBBZGQgcGFyc2luZyBvZiB0aGUgJ3NtcGwnIGNodW5rLiBSaWdodCBub3cgd2Ugb25seSBncmFiIHRoZSBtaWRpLWJhc2Utbm90ZSBhbmQKCSAgZW1pdCBpdCBhcyBhIHRhZy4KCjIwMTMtMTItMjYgMTI6MDU6MTkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IHN1Z2dlc3QgdXBzdHJlYW0gdG8gdXNlIHRoZSBuZXcgImludGVybmFsLXNzcmMiIGFmdGVyIGEgY29sbGlzaW9uCgkgIFdoZW4gYSBjb2xsaXNpb24gaXMgZm91bmQgb24gdGhlIGludGVybmFsIHNzcmMsIHdlIGhhdmUgdG8gY2hhbmdlIGl0LgoJICBJZGVhbGx5LCB3ZSB3YW50IGFsc28gdGhlIHBheWxvYWRlciB1cHN0cmVhbSB0byBmb2xsb3cgdGhpcyBjaGFuZ2UgYW5kIHVzZQoJICB0aGUgbmV3IGludGVybmFsIHNzcmMuIElkZWFsbHkgd2Ugd2FudCB0aGlzIGNvbmRpdGlvbiB0byBiZSBhbHdheXMgbWV0OgoJICBpZiB0aGVyZSBpcyBvbmUgcGF5bG9hZGVyIHNlbmRpbmcgb24gdGhpcyBzZXNzaW9uLCBpdHMgc3NyYyBzaG91bGQgbWF0Y2ggdGhlCgkgIGludGVybmFsIHNzcmMuCgoyMDEzLTEyLTI2IDExOjA0OjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhbGxvdyBzZXR0aW5nIGludGVybmFsLXNzcmMgYWdhaW4KCjIwMTMtMTItMzAgMTM6MzE6NDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmNvZGU6IFJlbW92ZSBkZWFkIGNvZGUKCSAgc2V0L2dldCBwcm9wZXJ0eSBpc24ndCB1c2VkCgoyMDEzLTEyLTMwIDEzOjMwOjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkgIHJ0cHFjZWxwZGVwYXk6IFJlbW92ZSB1bmVlZGVkIHZhcmlhYmxlCgoyMDEzLTEyLTA1IDE1OjUzOjUyIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkgIHJ0cGJpbjogYWxsb3cgZHluYW1pYyBSVFAvUlRDUCBlbmNvZGVycy9kZWNvZGVycwoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5bY2hdOiBmb3VyIG5ldyBhY3Rpb24gc2lnbmFscyBoYXZlIGJlZW4KCSAgYWRkZWQgKHJlcXVlc3QtcnRwLWVuY29kZXIsIHJlcXVlc3QtcnRwLWRlY29kZXIsIHJlcXVlc3QtcnRjcC1lbmNvZGVyCgkgIGFuZCByZXF1ZXN0LXJ0Y3AtZGVjb2RlcikuIFRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBwcm92aWRlIGVuY29kZXJzCgkgIG9yIGRlY29kZXJzIGR5bmFtaWNhbGx5LiBUaGUgZW5jb2RlcnMgbXVzdCBmb2xsb3cgdGhlIHNydHBlbmMgQVBJIGFuZAoJICB0aGUgZGVjb2RlcnMgdGhlIHNydHBkZWMgQVBJLiBIYXZpbmcgc2VwYXJhdGUgc2lnbmFscyBmb3IgUlRQIGFuZCBSVENQCgkgIGFsbG93cyB0aGUgdXNlciB0byB1c2UgZGlmZmVyZW50IGVuY29kZXJzL2RlY29kZXJzIG9yIHByb3ZpZGUgdGhlIHNhbWUKCSAgb25lIChlLmcuIHRoYXQgd291bGQgYmUgdGhlIGNhc2UgZm9yIHNydHBlbmMpLgoJICBBbHNvLCBydHBiaW4gbm93IGFsbG93cyBhcHBsaWNhdGlvbi94LXNydHAgaW4gaXRzIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk5MzgKCjIwMTMtMTItMjcgMTY6NTE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZHluYW1pY2FsbHkgcmVjYWxjdWxhdGUgUlRYIHBhcmFtZXRlcnMKCSAgVXNlIHRoZSByb3VuZC10cmlwLXRpbWUgYW5kIGF2ZXJhZ2Ugaml0dGVyIHRvIGR5bmFtaWNhbGx5IGNhbGN1bGF0ZSB0aGUKCSAgcmV0cmFuc21pc3Npb24gaW50ZXJ2YWwgYW5kIGV4cGVjdGVkIHBhY2tldCBhcnJpdmFsIHRpbWUuCgkgIEJhc2VkIG9uIHBhdGNoZXMgZnJvbSBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDEyCgoyMDEzLTEyLTI3IDE2OjUwOjUyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGNhbGN1bGF0ZSBhdmVyYWdlIGppdHRlcgoKMjAxMy0xMi0yNyAxNjo0ODo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1c2UgUlRUIGZyb20gdGhlIFJldHJhbnNtaXNzaW9uIGV2ZW50CgkgIFBsYWNlIHRoZSBlc3RpbWF0ZWQgUlRUIGluIHRoZSBSZXRyYW5zbWlzc2lvbiBldmVudCBhbmQgbGV0IHRoZSBzZXNzaW9uCgkgIG1hbmFnZXIgdXNlIHRoYXQgaW5zdGVhZCBvZiB0aGUgaGFyZGNvZGVkIHZhbHVlLgoKMjAxMy0xMi0yNyAxNTo1NzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB0YWtlIG1vcmUgYWNjdXJhdGUgcnVubmluZy10aW1lIGZvciBOQUNLCgkgIERvbid0IHVzZSB0aGUgY3VycmVudCB0aW1lIGNhbGN1bGF0ZWQgZnJvbSB0aGUgdG1pZW91dCBsb29wIGZvciB3aGVuIHdlCgkgIGxhc3Qgc2NoZWR1bGVkIHRoZSBOQUNLIGJlY2F1c2UgaXQgbWlnaHQgYmUgdW5zY2hlZHVsZWQgYmVjYXVzZSBvZiBhIG1heAoJICBwYWNrZXQgbWlzb3JkZXIgYW5kIHRoZW4gd2UgZG9uJ3QgYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIGN1cnJlbnQgdGltZS4KCSAgSW5zdGVhZCwgdGFrZSB0aGUgY3VycmVudCBlbGVtZW50IHJ1bm5pbmcgdGltZSB1c2luZyB0aGUgY2xvY2suCgoyMDEzLTEyLTMwIDExOjA2OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBTZW5kIGEgQ0FQUyBldmVudCBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEzLTEyLTI3IDAyOjE0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaW1wcm92ZSBtc3NfbW9kZS9mcmFnbWVudGVkIHNwZWNpYWwgaGFuZGxpbmcKCSAgTWFrZSBpdCBjbGVhciB3aGF0IHNob3VsZCBiZSBoYW5kbGVkIHB1cmVseSBieSBtc3MgbW9kZToKCSAgMSkgRXhwb3NlIHRoZSBzdHJlYW1zIG9uIHRoZSBmaXJzdCBtb29mIGFzIHRoZXJlIGFyZSBubyBtb292IGF0b21zCgkgIDIpIFByb3Blcmx5IGNsZWFudXAgc3RyZWFtcyBvbiBmbHVzaGVzCgkgIEFkZCBhIG5vdGUgYWJvdXQgdGhlIG1lYW5pbmcgb2YgdXBzdHJlYW1fbmV3c2VnbWVudCBhbmQgbXNzX21vZGUKCSAgZm9yIGZ1dHVyZSByZWZlcmVuY2UuCgkgIE1ha2UgYWxsIG90aGVyIHNwZWNpYWwgZnJhZ21lbnQgaGFuZGxpbmcgc2hhcmVkIGZvciBib3RoIGRhc2gKCSAgYW5kIG1zcyBzdHJlYW1zLgoKMjAxMy0xMi0xMiAxMDo1MDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZHJhaW4gdGhlIGFkYXB0ZXIgYmVmb3JlIHB1c2hpbmcgRU9TCgkgIEluIGEgZnJhZ21lbnRlZCBzY2VuYXJpbywgcXRkZW11eCBpcyBvcGVyYXRpbmcgaW4gcHVzaCBtb2RlCgkgIGFuZCBpdCBnZXRzIGEgZnJhZ21lbnRlZCBidWZmZXIuIFdoaWxlIHByb2Nlc3NpbmcgaXRzIGRhdGEKCSAgZG93bnN0cmVhbSBnZXRzIHVubGlua2VkIChvciBhIGlucHV0LXNlbGVjdG9yIGNoYW5nZXMgaXRzCgkgIGFjdGl2ZSBwYWQgYW5kIHJldHVybnMgbm90LWxpbmtlZCkuIFF0ZGVtdXggc3RvcHMgcHJvY2Vzc2luZwoJICB0aGlzIGZyYWdtZW50IGFuZCByZXR1cm5zIG5vdC1saW5rZWQgdXBzdHJlYW0sIGxlYXZpbmcgdGhlCgkgIHJlbWFpbmluZyBkYXRhIGluIGl0cyBhZGFwdGVyLgoJICBXaGVuIGl0IGdldHMgYW4gRU9TIGl0IHNob3VsZCBtYWtlIHN1cmUgdGhhdCBhbGwgdGhlIGRhdGEgaXQKCSAgaGFkIHJlY2VpdmVkIGlzIHB1c2hlZCBiZWZvcmUgcHVzaGluZyBFT1MuCgoyMDEzLTEyLTI2IDIzOjIxOjQ3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGRyb3AgSVAgb25seSByZXF1aXJlbWVudCBmb3IgX3NldF9ob3N0KCkKCSAgbGlic2hvdXQyICh3ZSByZXF1aXJlID4gMi4wIGF0IGNvbmZpZyB0aW1lKSBzdXBwb3J0cwoJICBib3RoIElQIGFuZCBob3N0bmFtZSBmb3IgX3NldF9ob3N0KCkuIERyb3BwZWQgYW4KCSAgb3V0ZGF0ZWQgRklYTUUgcmVnYXJkaW5nIHRoaXMgbGltaXRhdGlvbiwgYWRqdXN0ZWQKCSAgc29tZSBjb21tZW50cyBhbmQgY2hhbmdlZCB0aGUgcGFyYW0gYmx1cmIgdG8gcmVmbGVjdAoJICB0aGlzIHRvby4KCjIwMTMtMTItMjYgMjE6NDM6MzQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogUmV0YXJnZXQgRklYTUUgdG8gMi4wCgoyMDEzLTEyLTI2IDExOjIxOjM2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIGFnZ3JlZ2F0ZSBjb250cm9sIGZvciBQTEFZL1BBVVNFL1RFQVJET1dOCgkgIFVzZSB0aGUgYWdncmVnYXRlIGNvbnRyb2wgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgcmVxdWVzdCB1cmwgdG8gcGVyZm9ybQoJICBQQVVTRS9QTEFZIGFuZCBURUFSRE9XTi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTAwMwoKMjAxMy0xMi0yNCAxNDo0MDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogUHJveHkgQ0FQUywgQUxMT0NBVElPTiwgU0NIRURVTElORyBhbmQgc3JjcGFkIGV2ZW50cyBwcm9wZXJseQoKMjAxMy0xMi0yNCAwMDo0MzozOSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZHBjbSBtYXggYmxvY2sgYWxpZ24gaXMgODE5MgoKMjAxMy0xMi0yMyAxMjoyMzoyNyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdnA5ZGVjOiBSZXF1aXJlIHZweCA+PSAxLjMuMCBmb3IgYnVpbGRpbmcgdnA5ZGVjIGFuZCB2cDllbmMKCSAgUHJldmlvdXMgdmVyc2lvbnMgZGlkIG5vdCBoYXZlIGEgc3RhYmxlIGJpdHN0cmVhbSBmb3IgVlA5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwOTg2CgoyMDEzLTEyLTIzIDE1OjQ2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXNlIGNvcnJlY3QgY29kZWMgaWQgZm9yIEFEUENNL0RWSQoKMjAxMy0xMi0yMyAxNTo0NDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDaGVjayBmb3IgdGhlIGNvcnJlY3Qgc2l6ZSBvZiBjb2RlY19kYXRhIGluIHRoZSBBQ00gY2FzZQoKMjAxMi0wMS0xNCAxOTo1ODoxNyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBiYXNpYyBhZHBjbSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQzMzkKCjIwMTMtMTItMjAgMTE6NDU6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmM6CgkgIHF0ZGVtdXg6IEZpeCBjYWxjdWF0aW9uIG9mIGRlc2NyaXB0b3IgbGVuZ3RoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA4MTMKCjIwMTMtMTItMjIgMjI6MzM6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRiZWRhYTAgdG8gZDQ4YmVkMwoKMjAxMy0xMi0yMiAyMTo1NjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogc2V0IGdldHRleHQgZG9tYWluIGluIE1ha2V2YXJzIHNvIHdlIGRvbid0IGhhdmUgdG8gcGF0Y2ggdGhlIGdlbmVyYXRlZCBNYWtlZmlsZS5pbi5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDU1CgoyMDEzLTEyLTE5IDE2OjUwOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBvbiByZWNlaXZlIGVycm9yIG9ubHkgdW5tYXAgYW5kIHVucmVmIGJ1ZmZlciBpZiBvbmUgd2FzIGFsbG9jZWQgYW5kIG1hcHBlZAoJICBjb3Zlcml0eSBDSUQgMTEzOTg2Ni4KCjIwMTMtMTItMTkgMTI6NDc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpeCBtaXNsZWFkaW5nIGNvbW1lbnQKCSAgVGhvc2UgYXJlIG5vdCBhbGxvY2F0ZWQgb24gdGhlIHN0YWNrLgoKMjAxMy0xMi0xNyAxODoyODoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdnB4OiBNYXJrIFZQOSBzdXBwb3J0IGFzIG5vbi1leHBlcmltZW50YWwKCSAgVGhlcmUgd2FzIGEgbGlidnB4IHJlbGVhc2Ugd2l0aCBWUDkgc3VwcG9ydCBub3cgYW5kIHRoZSBiaXRzdHJlYW0KCSAgaXMgZnJvemVuIHRvby4KCjIwMTMtMTItMTUgMjE6MDQ6MTEgLTA4MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIFNvbWUgY29tcGlsZXIgd2FybmluZyBmaXhlcyB0byBzYXRpc2Z5IFhDb2RlIGNvbXBpbGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1MTMKCjIwMTMtMTItMTYgMTY6MTc6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogU2V0IHBpY3R1cmUgdHlwZSBpbiB0aGUgQVBJQyBmcmFtZXMKCjIwMTMtMTItMTYgMTY6MTQ6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogU2V0IGltYWdlLWRlc2NyaXB0aW9uIGZyb20gdGhlIGluZm8gc3RydWN0LCBub3QgdGhlIGNhcHMKCjIwMTMtMTItMTYgMTA6MDI6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5oOgoJICB3YXZwYWNrcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjAwOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmg6CgkgIHNiY3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo1ODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDUxMgoKMjAxMy0xMi0xNiAwOTo1NjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NTQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjQ5OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo0NjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NDE6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBVc2UgcGJ1dGlscyBmdW5jdGlvbmFsaXR5IHRvIGNyZWF0ZSB0aGUgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTEzIDE3OjM2OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgZXJyb3IgbWVzc2FnZSBpZiB0aGUgYXBwIHRyaWVzIHRvIHNldCB0aGUgaW50ZXJuYWwtc3NyYwoKMjAxMy0xMi0xMyAxNjowODozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogT25seSBjb3VudCBuYWNrcyB3aGVuIGEgbmFjayBwYWNrZXQgaXMgcmVjZWl2ZWQKCSAgTm90IHdoZW4gYW55IFJUQ1AgZmVlZGJhY2sgcGFja2V0IGlzLgoKMjAxMy0xMi0xMiAyMzoyMjo0MSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0czogSW5pdGlhbGl6ZSBzZWdtZW50IGluIHJ0cGNvbGxpc2lvbiB0ZXN0CgoyMDEzLTEyLTEzIDE1OjU3OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBQcm9jZXNzIFBTRkIgRklSIHJlcXVlc3RzIHdoaWNoIGxhY2sgdGhlIG1lZGlhIHNzcmMKCSAgQWNjb3JkaW5nIHRvIFJGQyA1MTA0IHNlY3Rpb24gNC4zLjEuMiwgUlRDUCBQU0ZCIEZJUiBtZXNzYWdlIFNIQUxMCgkgIGhhdmUgYSBtZWRpYV9zc3JjIGZpZWxkIHNldCB0byAwLiBUaGUgYWN0dWFsIG1lZGlhIHNzcmMgaXMgaW4gdGhlIEZDSS4KCSAgU28gaW4gdGhhdCBjYXNlLCB3ZSBpZ25vcmUgdGhlIHJldGFpbmVkIGZlZWRiYWNrIGFuZCBqdXN0IGxldCBpdCB0aHJvdWdoCgkgIHRvIHRoZSBydHBfc2Vzc2lvbl9wcm9jZXNzX2ZpcigpIGZ1bmN0aW9uIHdoaWNoIHdpbGwgY2hlY2sgZm9yIHRoZSBhY3R1YWwKCSAgU1NSQyBpbnNpZGUgdGhlIEZDSS4KCSAgRml4ZXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY29tbWl0IDU3YzI3ZWMzCgoyMDEzLTExLTE0IDE2OjE5OjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IGZpeCByYiBibG9ja3MgZGlzYXBwZWFyaW5nIGFmdGVyIHRoZSBmaXJzdCBydGNwIGN5Y2xlIHdpdGggbXVsdGlwbGUgc2VuZGVycwoJICBQcmV2aW91c2x5LCB3aGVuIHRoZSBzZXNzaW9uIGhhZCBtdWx0aXBsZSBpbnRlcm5hbCBzZW5kZXIgU1NSQ3MsIGl0IHdvdWxkCgkgIGlzc3VlIFNSIHJlcG9ydHMgd2l0aCBSQiBibG9ja3Mgb25seSBvbiB0aGUgZmlyc3QgUlRDUCB0aW1lb3V0IGFuZCBhZnRlcndhcmRzCgkgIFNSIHJlcG9ydHMgd291bGQgYmUgc2VudCBlbXB0eS4gVGhpcyB3YXMgYmVjYXVzZSB0aGUgImdlbmVyYXRpb24iIG51bWJlcgoJICBpbiBSVFBTb3VyY2Ugd291bGQgaW5jcmVhc2UgbW9yZSB0aGFuIG9uY2UgZHVyaW5nIHRoZSBzYW1lIGN5Y2xlIGFuZCBhZnRlcndhcmRzCgkgIGl0IHdvdWxkIGFsd2F5cyBiZSBncmVhdGVyIHRoYW4gdGhlIHNlc3Npb24ncyBnZW5lcmF0aW9uLCB3aGljaCB3b3VsZCBjYXVzZQoJICBpdCB0byBiZSBza2lwcGVkIGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gUkJzLgoJICBUaGlzIGNvbW1pdCBmaXhlcyB0aGlzIHByb2JsZW0gYnk6CgkgIDEpIEluY3JlYXNpbmcgdGhlIFJUUFNvdXJjZSBnZW5lcmF0aW9uIG9ubHkgYXQgdGhlIGVuZCBvZiBlYWNoIGN5Y2xlLAoJICB3aGljaCBlc3NlbnRpYWxseSBmaXhlcyB0aGUgcHJvYmxlbSBidXQgb25seSB3aGVuIHRoZSBpbnRlcm5hbCBzZW5kZXJzCgkgIGFyZSBsZXNzIHRoYW4gR1NUX1JUQ1BfTUFYX1JCX0NPVU5ULgoJICAyKSBLZWVwaW5nIGZvciBlYWNoIFJUUFNvdXJjZSBhIHNldCBvZiBTU1JDcyB3aGljaCBzdG9yZXMgd2hpY2ggU1NSQydzCgkgIFNSIHRoZSBnaXZlbiBSVFBTb3VyY2UgaGFzIGJlZW4gcmVwb3J0ZWQgaW4sIHdoaWNoIGFsc28gZml4ZXMgdGhlIHByb2JsZW0KCSAgd2hlbiB0aGUgaW50ZXJuYWwgc2VuZGVycyBhcmUgbW9yZSB0aGFuIEdTVF9SVENQX01BWF9SQl9DT1VOVC4gVGhpcyBpcwoJICBuZWNlc3NhcnkgYmVjYXVzZSBvZiB0aGUgZmFjdCB0aGF0IGFueSBSVFBTb3VyY2UgaXMgbWFya2VkIGFzIHJlcG9ydGVkCgkgIGluIGl0c2VsZidzIFNSIGFuZCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIGtub3cgaWYgaXQgaGFzIGJlZW4gcmVwb3J0ZWQKCSAgaW4gb3RoZXIgU1JzIHRvbyBvciBub3QsIGFuZCB3aGljaC4KCjIwMTMtMTEtMTQgMTY6MjM6MzUgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgYW4gcnRwc2Vzc2lvbiB1bml0IHRlc3QgdG8gdmVyaWZ5IGFsbCBSQnMgYXJlIGluY2x1ZGVkIGluIGFsbCBTUnMsIHJvdW5kcm9iaW4KCSAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHdoZW4gd2UgaGF2ZSBtdWx0aXBsZSBpbnRlcm5hbCBzZW5kZXIgc291cmNlcwoJICBpbiBydHBzZXNzaW9uLCBTUnMgY29udGFpbiBSQnMgZm9yIGV2ZXJ5IG90aGVyIHNlbmRlciBzb3VyY2UsIGFuZCB0aGF0CgkgIHRoZXkgYXJlIGluY2x1ZGVkIHJvdW5kcm9iaW4gd2hlbiB0aGV5IGV4Y2VlZCBTVF9SVENQX01BWF9SQl9DT1VOVCwKCSAgd2hpY2ggaXMgdGhlIG1heCBudW1iZXIgb2YgUkJzIHRoYXQgY2FuIGZpdCBpbiBhIFNSLgoKMjAxMy0xMi0xMiAxNjowMToxMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwY29sbGlzaW9uLnR4dDoKCSAgZG9jczogaW1wcm92ZSBkb2NzCgoyMDEzLTExLTA1IDE4OjAzOjQ4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvZGVzaWduL01ha2VmaWxlLmFtOgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwY29sbGlzaW9uLnR4dDoKCSAgZG9jOiBhZGQgZGVzaWduLXJ0cGNvbGxpc2lvbi50eHQgdGhhdCBleHBsYWlucyB3aGVuIEdzdFJUUENvbGxpc2lvbiBpcyBjcmVhdGVkCgkgIEl0IGFsc28gdGFsa3MgYWJvdXQgIkJZRSBvbmx5IHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSwgbm90IHRoZSB3aG9sZSBzZXNzaW9uLiIKCjIwMTMtMTEtMDUgMTI6MzE6NTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBpbXByb3ZlIHJ0cGNvbGxpc2lvbjo6dGVzdF9tYXN0ZXJfc3NyY19jb2xsaXNpb24gdG8gZW5zdXJlIHRoYXQgYSBjb2xsaXNpb24gZG9lcyBub3QgQllFIHRoZSB3aG9sZSBzZXNzaW9uCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmMKCjIwMTMtMTEtMDEgMTc6MDc6NTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cGNvbGxpc2lvbjo6dGVzdF9tYXN0ZXJfc3NyY19jb2xsaXNpb24gdW5pdCB0ZXN0CgkgIEl0IGNoZWNrcyB0aGUgcGF5bG9hZGVyIGNoYW5nZXMgaXRzIHNzcmMgd2hlbiBjb2xsaXNpb24gaGFwcGVucwoKMjAxMy0xMi0xMiAxMDozODo0MyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBrZWVwIGV4dHJhIHN0YXRzIGZvciBzY2hlZHVsaW5nIEJZRQoJICBLZWVwIGFuIGV4dHJhIHN0YXRzIHN0cnVjdHVyZSBmb3Igc2NoZWR1bGluZyB0aGUgQllFIHBhY2tldHMuIFdoZW4gd2UKCSAgZGVjaWRlIHRvIHNjaGVkdWxlIEJZRSwgbWFrZSBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgc3RhdHMgaW50byB0aGUKCSAgYnllX3N0YXRzLiBUaGVuIHdoaWxlIHdlIHNjaGVkdWxlIHRoZSBCWUUsIHVwZGF0ZSBhbmQgdXNlIG9ubHkgdGhlCgkgIGJ5ZV9zdGF0cy4gV2hlbiB3ZSBmaW5pc2hlZCBzY2hlZHVsaW5nIHRoZSBCWUUgcGFja2V0LCB3ZSB1c2UgdGhlCgkgIHJlZ3VsYXIgc3RhdHMgYWdhaW4uCgoyMDEzLTEyLTEyIDEwOjM0OjM4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB3aGVuIHdlIHNjaGVkdWxlIEJZRSwgb25seSBkZWFsIHdpdGggQllFIHNvdXJjZXMKCSAgV2hlbiB3ZSBhcmUgZG9pbmcgdGhlIFJUQ1AgdGltZW91dCB0byBzY2hlZHVsZSBCWUUgcGFja2V0cywgZG9uJ3QKCSAgZ2VuZXJhdGUgUlRDUCBmb3IgYWxsIHNvdXJjZXMgYnV0IG9ubHkgZm9yIHRoZSBzb3VyY2VzIG1hcmtlZCBhcyBCWUUuCgoyMDEzLTEyLTEyIDEwOjMyOjQ4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZXNldCBzdGF0ZSBhZnRlciBzY2hlZHVsaW5nIEJZRQoJICBBZnRlciB3ZSBkbyBSVENQLCB3ZSBhcmUgbm90IHNjaGVkdWxpbmcgYnllIGFueW1vcmUuCgoyMDEzLTEyLTEyIDEwOjMxOjM4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhbHNvIGNvdW50IE5BQ0tTIHdoZW4gbm8gc2lnbmFsIHdhcyBwZW5kaW5nCgoyMDEzLTEyLTEyIDEwOjA5OjI1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpZ25vcmUgUlRDUCBwYWNrZXRzIGZvciB0aGUgQllFIHNvdXJjZXMKCSAgV2hlbiB3ZSBhcmUgc2NoZWR1bGluZyBCWUUgcGFja2V0cywgaWdub3JlIGFsbCBSVENQIGZvciB0aGUgc291cmNlcyB0aGF0CgkgIGFyZSBzY2hlZHVsaW5nIGEgQllFIHBhY2tldC4gT3RoZXIgc291cmNlcyB0aGF0IGFyZSBub3Qgc2NoZWR1bGluZyBCWUUKCSAgc2hvdWxkIGNvbnRpbnVlIHJlY2VpdmluZyBSVENQIHBhY2tldHMgYXMgdXN1YWwuCgoyMDEzLTExLTA0IDExOjQ4OjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBkZXRlcm1pbmUgaWYgdGhlIHNlc3Npb24gaXMgZG9pbmcgcG9pbnQtdG8tcG9pbnQKCSAgSW4gdGhpcyBjYXNlIFRfZGl0aGVyX21heCBpcyBzZXQgdG8gMCBhY2NvcmRpbmcgdG8gUkZDIDQ1ODUKCjIwMTMtMTItMTAgMTE6NTc6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNlcmlhbGl6ZSBldmVudHMgaW4gdGhlIGJ1ZmZlcgoJICBTZXJpYWxpemUgZXZlbnRzIGludG8gdGhlIGppdHRlcmJ1ZmZlciBieSBpbnNlcnRpbmcgdGhlbSB3aXRoIGEgLTEKCSAgc2VxbnVtLgoJICBVcGRhdGUgdW5pdCB0ZXN0IHRvIGV4cGVjdCBldmVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mjk4NgoKMjAxMy0xMi0xMCAxMTowNDowNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkZXRlY3QgLTEgc2VxbnVtCgkgIEtlZXAgdGhlIHNlcW51bSBhcyBhIGZ1bGwgZ3VpbnQgc28gdGhhdCB3ZSBjYW4gY2hlY2sgZm9yIC0xIGVudHJpZXMgYW5kCgkgIGRlYWwgd2l0aCB0aGVtIGNvcnJlY3RseS4KCSAgSW1tZWRpYXRlbHkgdHJ5IHRvIHB1c2ggLTEgc2VxbnVtLgoKMjAxMy0xMi0xMCAxMTowMTowMyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW9yZ2FuaXplIGppdHRlcmJ1ZmZlciBpdGVtcwoJICBLZWVwIHRoZSBvbGRlc3QgaXRlbSBhdCB0aGUgaGVhZCBhbmQgdGhlIG5ld2VzdCBpdGVtcyBvbiB0aGUgdGFpbC4gVGhpcwoJICBtYWtlcyBpdCBlYXNpZXIgdG8gZGVhbCB3aXRoIC0xIHNlcW51bXMuCgoyMDEzLTEyLTA5IDIzOjM0OjEwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBjb3JyZWN0bHkgY2hlY2sgZm9yIGludmFsaWQgdmFsdWVzCgkgIENoZWNrIGZvciAtMSBvbiB0aGUgZ3VpbnQgZnJvbSB0aGUgYnVmZmVyIGl0ZW0gaW5zdGVhZCBvZiBvbiB0aGUgZ3VpbnQxNgoJICBvciBndWludDMyLgoJICBBbHNvIGluc2VydCAtMSBzZXFudW0gYXQgdGhlIGhlYWQgb2YgdGhlIGppdHRlcmJ1ZmZlci4KCjIwMTMtMTItMDggMTY6NDk6NTUgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2VnZmF1bHQgd2hlbiBkZWFsaW5nIHdpdGggcGFkZGVkIGZyYW1lcwoJICBGaXhlcyBjcmFzaGVzIHdpdGggdnRkZWMgISBvc3h2aWRlb3Npbmsgd2hlcmUgVmlkZW9Ub29sYm94IG91dHB1dHMgcGFkZGVkIFVZVlkKCjIwMTMtMTItMDUgMTI6MTU6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBtdWxhd2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYWNjZXB0aW5nIGFueSBkYXRhCgoyMDEzLTEyLTA1IDEyOjE1OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTI6MTM6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFjY2VwdGluZyBhbnkgZGF0YQoKMjAxMy0xMi0wNSAxMjoxMzoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYWNjZXB0aW5nIGFueSBkYXRhCgoyMDEzLTEyLTA1IDExOjQyOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4OiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDQgMTY6MjM6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRnJlZSBkZXZpY2VfaW5mbyBpbiBhY2NlcHRzIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTgxMQoKMjAxMy0xMi0wNCAyMTo1Nzo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogRG9uJ3Qgc2VuZCBoZWFkZXJzIHR3aWNlIGlmIHdlIGdvdCB0aGVtIGZyb20gdGhlIGNhcHMgYWxyZWFkeQoKMjAxMy0xMi0wNCAyMTo1NzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogRG9uJ3QgbGVhayBjb25maWcgZGF0YSB3aGVuIHJlY2VpdmluZyBhIHNlY29uZCBDQVBTIGV2ZW50CgoyMDEzLTEyLTA0IDIxOjU1OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBEb24ndCBzZW5kIGhlYWRlcnMgdHdpY2UgaWYgd2UgZ290IHRoZW0gZnJvbSB0aGUgY2FwcyBhbHJlYWR5CgoyMDEzLTEyLTA0IDIxOjU0OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBEb24ndCBsZWFrIGNvbmZpZyBkYXRhIHdoZW4gcmVjZWl2aW5nIGEgc2Vjb25kIENBUFMgZXZlbnQKCjIwMTMtMTItMDQgMjE6MTc6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtZGVwYXkuaDoKCSAgcnRwc3RyZWFtZGVwYXk6IEFkZCBSRkM0NTcxIFJUUCBzdHJlYW0gZGVwYXlsb2FkaW5nIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTgyOQoKMjAxMy0xMi0wNCAxMDoxMjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtcGF5Lmg6CgkgIHJ0cHN0cmVhbXBheTogQWRkIFJGQzQ1NzEgUlRQIHN0cmVhbSBwYXlsb2FkaW5nIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTgyOQoKMjAxMy0xMi0wMyAxNTowODoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGltcHJvdmUgZnJhZ21lbnQtc3RhcnQgdHJhY2tpbmcKCSAgU29tZSBidWZmZXJzIGNhbiBoYXZlIG11bHRpcGxlIG1vb3YgYXRvbXMgaW5zaWRlIGFuZCB0aGUgc3RyYXRlZ3kKCSAgb2YgdXNpbmcgdGhlIGdzdF9hZGFwdGVyX3ByZXZfcHRzIHRpbWVzdGFtcCB0byBnZXQgdGhlIGJhc2UgdGltZXN0YW1wCgkgIGZvciB0aGUgbWVkaWEgb2YgdGhlIGZyYWdtZW50IHdvdWxkIGZhaWwgYXMgaXQgd291bGQgcmV1c2UgdGhlIHNhbWUKCSAgYmFzZSB0aW1lc3RhbXAgZm9yIGFsbCBtb29mcyBpbiB0aGUgYnVmZmVyIGluc3RlYWQgb2YgYWNjdW11bGF0aW5nCgkgIHRoZSBkdXJhdGlvbnMgZm9yIGFsbCBvZiB0aGVtLgoJICBIZXJlcyBhIGJldHRlciBleHBsYW5hdGlvbiBvZiB0aGUgaXNzdWU6CgkgIHF0ZGVtdXggcmVjZWl2ZXMgYSBidWZmZXIgd2hlcmUgUFRTKGJ1ZikgPSBYCgkgIGJ1ZiAtPiBtb29mQSB8IG1vb2ZCIHwgbW9vZkMKCSAgVGhlIHByb2JsZW0gd2FzIHRoYXQgUFRTKGJ1Zikgd2FzIHVzZWQgYXMgdGhlIGJhc2UgdGltZXN0YW1wIGZvcgoJICBhbGwgMyBtb29mcywgY2F1c2luZyBhbGwgYnVmZmVycyB0byBiZSBYIGJhc2VkLiBJbiB0aGlzIGNhc2Ugd2Ugd2FudAoJICBvbmx5IG1vb2ZBIHRvIGJlIFggYmFzZWQgYXMgaXQgaXMgd2hhdCB0aGUgUFRTIG9uIGJ1ZiBtZWFucywgYW5kIHRoZQoJICBvdGhlciBtb29mQiBhbmQgbW9vZkMganVzdCB1c2UgdGhlIGFjY3VtdWxhdGVkIHRpbWVzdGFtcCBmcm9tIHRoZQoJICBwcmV2aW91cyBtb29mcyBkdXJhdGlvbnMuCgkgIFRvIHNvbHZlIHRoaXMsIHRoaXMgcGF0Y2ggdXNlcyBnc3RfYWRhcHRlcl9wcmV2X3B0cyBkaXN0YW5jZQoJICByZXN1bHQsIHRoaXMgYWxsb3dzIHF0ZGVtdXggdG8gY2FsY3VsYXRlIGlmIGl0IHNob3VsZCB1c2UgdGhlCgkgIHJlc3VsdGluZyBwdHMgb3IganVzdCBhY2N1bXVsYXRlIHRoZSBzYW1wbGVzIGFzIGl0IGNhbiBpZGVudGlmeQoJICBpZiB0aGUgbW9vZnMgYmVsb25nIHRvIHRoZSBzYW1lIHVwc3RyZWFtIGJ1ZmZlciBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk3ODMKCjIwMTMtMTEtMjEgMTI6Mjk6MjggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGFkZCBzdXBwb3J0IGZvciBtdWx0aS1wbGFuYXIgVjRsMiBBUEkgaW4gRE1BQlVGIG1vZGUKCSAgRml4ZXMgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMTEtMTkgMTc6MTY6MjcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogcmVmYWN0b3IgYnkgZW11bGF0aW5nIG9uZSB2NGwyX3BsYW5lIGluIG5vbi1NUExBTkUgbW9kZQoJICBzbyB0aGF0IHRoZSBidWZmZXIgaW5mb3JtYXRpb25zIGNhbiBiZSByZXRyaWV2ZWQgdGhlIHNhbWUgd2F5CgkgIGluIGJvdGggTVBMQU5FIGFuZCBub24tTVBMQU5FIG1vZGUuCgkgIEhlcmUgImVtdWxhdGluZyIgbWVhbnMgIm1hbnVhbGx5IGZpbGwgaW4gdGhlIHBsYW5lIi4KCSAgRml4ZXMgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMTEtMTMgMTI6MDU6NDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYWRkIHN1cHBvcnQgZm9yIG11bHRpLXBsYW5hciBWNEwyIEFQSQoJICBUaGlzIGFwaSBpcyBpbiBsaW51eCBrZXJuZWwgc2luY2UgdmVyc2lvbiAyLjYuMzksCgkgIGFuZCBwcmVzZW50IGluIGFsbCB2ZXJzaW9uIDMuCgkgIFRoZSBjb21taXQgdGhhdCBhZGRzIHRoZSBBUEkgaW4gbWFzdGVyIGJyYW5jaCBvZiB0aGUKCSAgbGludXgga2VybmVsIHNvdXJjZSBpczoKCSAgaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xpbnV4L2NvbW1pdC9mOGYzOTE0Y2Y5MjJmNWY5ZTFkNjBlOWUxMGY2ZmI5Mjc0MjkwN2FkCgkgIHY0bDIgZG9jOiAiU29tZSBkZXZpY2VzIHJlcXVpcmUgZGF0YSBmb3IgZWFjaCBpbnB1dAoJICBvciBvdXRwdXQgdmlkZW8gZnJhbWUgdG8gYmUgcGxhY2VkIGluIGRpc2NvbnRpZ3VvdXMKCSAgbWVtb3J5IGJ1ZmZlcnMiCgkgIFRoZXJlIGFyZSBuZXdlciBzdHJ1Y3R1cmVzICdzdHJ1Y3QgdjRsMl9waXhfZm9ybWF0X21wbGFuZScKCSAgYW5kICdzdHJ1Y3QgdjRsMl9wbGFuZScuCgkgIFNvIHRoZSBwaXhlbCBmb3JtYXQgaXMgbm90IHNldHVwIHdpdGggdGhlIHNhbWUgQVBJIHdoZW4gdXNpbmcKCSAgbXVsdGktcGxhbmFyLgoJICBBbHNvIGZvciBnc3QtdjRsMiwgb25lIG9mIHRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgaW4gR3N0VjRsMk1ldGEKCSAgdGhlcmUgYXJlIG5vdyBvbmUgbWVtIHBvaW50ZXIgZm9yIGVhY2ggbWFwZWQgcGxhbmUuCgkgIFdoZW4gbm90IHVzaW5nIG11bHRpLXBsYW5hciwgdGhpcyBjb21taXQgdGFrZXMgY2FyZSBvZiBrZWVwaW5nCgkgIHRoZSBzYW1lIGNvZGUgcGF0aCB0aGFuIHByZXZpb3VzbHkuIFNvIHRoYXQgdGhlIDIgY2FzZXMgYXJlCgkgIGluIHR3byBkaWZmZXJlbnQgYmxvY2tzIHRyaWdnZXJlZCBmcm9tIFY0TDJfVFlQRV9JU19NVUxUSVBMQU5BUi4KCSAgRml4ZXMgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMTItMDQgMDk6MTI6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZG9uJ3QgbGVhayB0ZW1wbGF0ZSBjYXBzCgoyMDEzLTEyLTAzIDIxOjQxOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXNlIEFDQ0VQVF9JTlRFUlNFQ1QgZmxhZwoJICBUaGUgcGFyc2VyIGNhbiBhY2NlcHQgaW5wdXQgdGhhdCBpcyBub3QgY29tcGxldGVseSBzcGVjaWZpZWQuIFVzZSB0aGUKCSAgQUNDRVBUX0lOVEVSU0VDVCBmbGFnIG9uIHRoZSBzaW5rcGFkIHRvIHR3ZWFrIHRoZSBhY2NlcHRjYXBzIGZ1bmN0aW9uIHRvCgkgIGNoZWNrIGZvciBpbnRlcnNlY3Rpb24gb25seS4gVGhpcyBhbGxvd3MgdXMgdG8gcHJveHkgZG93bnN0cmVhbQoJICBjb25zdHJhaW50cyB3aGlsZSBzdGlsbCBhbGxvd2luZyBub24tc3Vic2V0IGNhcHMgYXMgaW5wdXQuCgkgIFdlIGNhbiB0aGVuIGFsc28gcmVtb3ZlIHRoZSBhcHBlbmRlZCB0ZW1wbGF0ZSBjYXBzIHdvcmthcm91bmQuCgkgIE1ha2UgYSB1bml0LXRlc3QgdG8gY2hlY2sgdGhlIG5ldyBmZWF0dXJlLgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI2MDQwZWUzOGNiOWU3YzQyZjNkOWEwMjgyYjNlNWNhY2U3Y2E0MmQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAyNAoKMjAxMy0xMi0wMyAyMTozNjo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZW1vdmUgZmllbGRzIGZyb20gZmlsdGVyCgkgIFdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBmaWVsZHMgZnJvbSB0aGUgZmlsdGVyIHdoZW4gd2UgY2FuIGNvbnZlcnQKCSAgYmV0d2VlbiB0aGVtLgoKMjAxMy0xMi0wMyAyMToyOToxMyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZWZhY3RvciBjb2RlIHRvIHJlbW92ZSBjYXBzIGZpZWxkcwoKMjAxMy0xMi0wMiAwMDoxMDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogbWljcm9vcHRpbWlzYXRpb246IGF2b2lkIHNvbWUgdW5uZWNlc3NhcnkgR1ZhbHVlIGNvcGllcwoKMjAxMy0xMi0wMSAyMzozMjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IG9mZi1ieS1vbmUgY3Jhc2ggd2hlbiBkb3duc3RyZWFtIGNhcHMgY29udGFpbiBhIGxpc3Qgb2YgZnJhbWVyYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTQ0CgoyMDEzLTExLTI5IDExOjI2OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbW9vZiBhcyB0aGUgYmFzZSBmcmFnbWVudCBzdGFydAoJICBJbiBTbW9vdGhTdHJlYW1pbmcgZnJhZ21lbnRlZCBzY2VuYXJpbywgdGhlIHRpbWVzdGFtcHMgYXJlIGNhbGN1bGF0ZWQKCSAgc3RhcnRpbmcgZnJvbSB0aGUgZnJhZ21lbnQgYnVmZmVyIHRpbWVzdGFtcC4gV2hlbiB0aGVyZSBpcyBhIG5vdC1saW5rZWQKCSAgcmV0dXJuIGZyb20gZG93bnN0cmVhbSwgcXRkZW11eCB3aWxsIHJldHVybiB1cHN0cmVhbSBhbmQgd2lsbCBrZWVwIHRoZQoJICBub24tcHVzaGVkIGRhdGEgaW50byBpdHMgYWRhcHRlci4KCSAgT24gYSBuZXcgZnJhZ21lbnQgYnVmZmVyIHB1c2hlZCB0byBxdGRlbXV4LCB0aGUgbmV3IGJ1ZmZlciB0aW1lc3RhbXAKCSAgd291bGQgb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBvbmUgdGhhdCBzaG91bGQgYmUgdXNlZCBvbiB0aGUgc3RpbGwKCSAgdG8gYmUgcHVzaGVkIGJ1ZmZlcnMuIEJlY2F1c2Ugb2YgdGhpcywgdGhpcyBwYXRjaCB3aWxsIGFsc28KCSAgdXBkYXRlIHRoZSBmcmFnbWVudF9zdGFydCB0aW1lc3RhbXAgZnJvbSB0aGUgYWRhcHRlciBsYXN0IHB0cwoJICB0byBtYWtlIHN1cmUgdGhlIG1vb2YgYW5kIHRpbWVzdGFtcHMgYXJlIGluIHN5bmMgYW5kIHdpbGwgcmVzdWx0CgkgIGluIGNvcnJlY3QgdGltZXN0YW1wcyBmb3IgYWxsIGZyYWdtZW50cy4KCjIwMTMtMTEtMTUgMDg6NTQ6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBhdm9pZCByZS1yZWFkaW5nIHRoZSBzYW1lIG1vb3YgYW5kIGVudGVyaW5nIGludG8gbG9vcAoJICBJbiB0aGUgc2NlbmFyaW8gb2YgIm1kYXQgfCBtb292ICh3aXRoIGZyYWdtZW50ZWQgYXJ0aWZhY3RzKSIgcXRkZW11eAoJICBjb3VsZCByZWFkIHRoZSBtb292IGFnYWluIGFmdGVyIHRoZSBtZGF0IGJlY2F1c2UgaXQgd2FzIGNvbnNpZGVyaW5nIHRoZQoJICBtZWRpYSBhcyBhIGZyYWdtZW50ZWQgb25lLgoJICBUbyBhdm9pZCB0aGlzIGxvb3AgdGhpcyBwYXRjaCBtYWtlcyBpdCBzdG9yZQoJICB0aGUgbGFzdCBwcm9jZXNzZWQgbW9vdl9vZmZzZXQgdG8gYXZvaWQgcGFyc2luZyBpdCBhZ2Fpbi4KCSAgQW5kIGl0IGFsc28gY2hlY2tzIGlmIHRoZXJlIGFyZSBhbnkgc2FtcGxlcyB0byBwbGF5IGJlZm9yZQoJICByZXN0dXJuaW5nIHRvIHRoZSBtZGF0LCBzbyB0aGF0IGl0IGtub3dzIHRoZXJlIGlzIG5ldyBkYXRhIHRvIGJlIHBsYXllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTU3MAoKMjAxMy0xMS0xNSAwMDo1Mjo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IGZyZWUgc3RyZWFtcyBpZiB0aGV5IHdlcmUgbm90IGNyZWF0ZWQgbG9jYWxseQoJICBXaGVuIHBhcnNpbmcgYSB0cmFrIG9ubHkgZnJlZSBzdHJlYW1zIG9uIGZhaWx1cmVzIGlmIHRob3NlIHN0cmVhbXMKCSAgd2VyZSBjcmVhdGVkIGxvY2FsbHkuIFRoZXkgY291bGQgaGF2ZSBiZWVuIGNyZWF0ZWQgZnJvbSBhIHByZXZpb3VzCgkgIGZyYWdtZW50LCBpbiB0aGlzIGNhc2Ugd2UgdGhleSBoYXZlIHZhbGlkIGluZm8gZnJvbSB0aGUgb3RoZXIgZnJhZ21lbnQuCgkgIEluY2x1ZGluZyBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNTcwCgoyMDEzLTExLTI5IDE5OjU3OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogU2ltcGxpZnkgTlYxMi8yMSBibGVuZGluZyBjb2RlIG1hY3JvcwoKMjAxMy0xMS0yOSAxOTo1MDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBzZWdmYXVsdCB3aGVuIGZpbGxpbmcgdGhlIGJhY2tncm91bmQgb2YgYSBVWVZZIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI0MDEKCjIwMTMtMTEtMjkgMDk6MjE6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGF0aW9uIHdpdGggZ3N0IGRlYnVnaW5nIGRpc2FibGVkCgkgIHF0ZGVtdXguYzo5NDUyOjE6IGVycm9yOiBsYWJlbCBhdCBlbmQgb2YgY29tcG91bmQgc3RhdGVtZW50CgoyMDEzLTExLTI3IDE3OjAyOjAwICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBNYXAgaW5idWZmZXIgb25jZSBvbmx5CgkgIERvIG5vdCBjYWxsIGdzdF9idWZmZXJfZXh0cmFjdCgpIHR3aWNlIHNpbmNlIGVhY2ggY2FsbCB3aWxsIG1hcCBhbmQKCSAgdW5tYXAgdGhlIGJpZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTQzNAoKMjAxMy0xMS0yOCAxMTo1ODo0MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9mbGlwOiBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgJ2F1dG9tYXRpYycgbWV0aG9kCgkgIFRoZXNlIG5ldyB0ZXN0cyBzZW5kIGEgdGFnIGV2ZW50IGJlZm9yZSBzZWRpbmcgdGhlIGJ1ZmZlci4gVGVzdGVkIGNhc2UgYXJlIGFuCgkgIGVtcHR5IHRhZyBsaXN0LCBhIHRhZyBsaXN0IHdpdGggb3JpZW50YXRpb24tMTgwIHNldCBhbmQgYW4gaW52YWxpZCBvcmllbnRhdGlvbiB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTQ5NwoKMjAxMy0xMS0yOCAxNjowOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBkb24ndCBjcmFzaCBvbiB0YWcgZXZlbnRzIHdpdGhvdXQgb3JpZW50YXRpb24gdGFnCgkgIFdvdWxkIGNyYXNoIGluIGdfZnJlZSgpIHRyeWluZyB0byBmcmVlIGFuIHVuaW5pdGlhbGlzZWQgcG9pbnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTQ5NwoKMjAxMy0xMS0yOCAxNjo1MDo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IHVucmVmIGJ1ZmZlciB0d2ljZQoJICBDbGVhbmluZyB0aGUgcGFja2V0IGluZm8gd2lsbCBhbHJlYWR5IHVucmVmIHRoZSBidWZmZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTUwNzgKCjIwMTMtMTEtMjggMjI6MzU6MDIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBIeWRyb2dlbkF1ZGlvIFJlcGxheUdhaW4gdGFncwoJICBJZGVudGljYWwgdG8gdGhlIGl0dW5lcyAodG0pIHZlcnNpb24sIGJ1dCBsYWJlbGxlZCB3aXRoCgkgIG9yZy5oeWRyb2dlbmF1ZGlvLnJlcGxheWdhaW4gYXMgdGhlIHByb2R1Y2VyLgoKMjAxMy0xMS0yNyAxNjoxNToxMiArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBleHBsaWNpdGx5IGZhaWwgd2hlbiBhbHBoYSBpbmZvcm1hdGlvbiB3b3VsZCBoYXZlIGJlZW4gbG9zdC4KCjIwMTMtMDUtMjkgMTY6MDY6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBVcGRhdGVkIHRvIGlnbm9yZSAqLnN3cCBhbmQgLmRpcnN0YW1wCgoyMDEzLTExLTI2IDExOjE3OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBBbGxvdyBhIGJpdCBtb3JlIHZhcmlhdGlvbiB3aGVuIGRldGVjdGluZyBjb21tb24gZnJhbWVyYXRlcwoJICBJbnN0ZWFkIG9mICsvLSAxbnMgd2UgYWxsb3cgMm5zIG5vdy4gRHVlIHRvIHJvdW5kaW5nIGVycm9ycyB0aGVyZSBhcmUKCSAgc29tZSBNYXRyb3NrYSBmaWxlcyBvdXQgdGhlcmUgd2l0aCAzMy4zMzMzMzFtcyBwZXIgZnJhbWUgZm9yIDMwZnBzLgoKMjAxMy0xMS0yNiAxMDoyMDozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogVXNlIGdzdF91dGlsX2RvdWJsZV90b19mcmFjdGlvbigpIGluc3RlYWQgb2YgR1ZhbHVlIG1hZ2ljCgoyMDEzLTExLTI1IDE0OjAzOjIxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogU2V0IGRlZmF1bHQgbWV0aG9kIGF0IGNvbnRydWN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzMzMKCjIwMTMtMDUtMjkgMTU6NTc6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBVc2Ugc3BhY2UgaW5zdGVhZCBvZiB0YWJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NTQKCjIwMTMtMDUtMjkgMTU6NDQ6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBGaXggaGVhZGVyIGluZGVudGF0aW9uIHNvIGl0J3MgcmVhZGFibGUgYWdhaW4KCSAgSXQncyB1bmZvcnR1bmF0ZSB0byBoYXZlIHRvIGRvIHRoaXMsIGJ1dCB3aXRoIHRoZSBtaXggb2YgdGFicyBhbmQgc3BhY2UsIHBsdXMgYWxsIHRoZSByYW5kb20KCSAgaW5kZW50YXRpb24gdGhpcyBoZWFkZXIgaGFzIGJlY29tZSB2ZXJ5IGhhcmQgdG8gcmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMS0yNSAxNzozODowNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgY2hlY2s6IGZpeCBqaXR0ZXJidWZmZXIgY2hlY2sKCSAgRG9uJ3QgYWR2YW5jZSB0aGUgY2xvY2sgdG8gMjQwbXMgdG9vIGVhcmx5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMDEzCgoyMDEzLTExLTI1IDExOjQ1OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZGVwcmVjYXRlIG1heC1lcnJvcnMKCSAgVGhlIHByb3BlcnR5IHdhc24ndCB1c2UgaW50ZXJuYWxseSwgbGV0IHRoZSBiYXNlIGNsYXNzIGhhbmRsZSB0aGUKCSAgbnVtYmVyIG9mIGVycm9ycyB0byB0b2xlcmF0ZS4KCjIwMTMtMTEtMjUgMTU6NDk6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgY2xlYXItcHQtbWFwIGhhbmRsaW5nCgkgIERvbid0IHJlc2V0IHRoZSBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gY2xlYXJpbmcgdGhlIHB0IG1hcCBiZWNhdXNlIHRoaXMKCSAgY291bGQgc3RhbGwgdGhlIGppdHRlcmJ1ZmZlciBmb3JldmVyLgoJICBBZGQgYSB1bml0IHRlc3QgZm9yIHRoaXMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk4MDAKCjIwMTMtMTAtMjggMjE6MzM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBsZXQgdGhlIGJhc2UgY2xhc3MgZGVjaWRlIHdoZW4gdG8gcmV0dXJuIGFuIGVycm9yCgkgIFRoZSBiYXNlIHZpZGVvZGVjb2RlciBjbGFzcyBoYXMgYW4gZXJyb3IgY291bnRpbmcgZmVhdHVyZSB0byB0b2xlcmF0ZQoJICBhIGZldyBlcnJvcnMgYmVmb3JlIHBvc3RpbmcgYW4gZXJyb3IgbWVzc2FnZS4gU28gZG9uJ3QgZm9yY2UgdGhlCgkgIGVycm9yIGFuZCBsZXQgdGhlIGJhc2UgY2xhc3MgZGVjaWRlIHdoZW4gaXQgc2hvdWxkIGhhcHBlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzYyCgoyMDEzLTEwLTI4IDIxOjI4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQWRkIGRhdGEgc2tpcHBpbmcgb24gaW5wdXQKCSAgQWRkIG1pc3NpbmcgYnl0ZXMgc2tpcHBpbmcgd2hlbiBiYWQgaW5wdXQgaXMgcmVjZWl2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NjIKCjIwMTMtMTEtMjUgMTI6MTM6NDMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERpc2NhcmQgMiBieXRlIHN1YnBpY3R1cmUgcGFja2V0cwoJICBBcyBmb3IgdGV4dCBzdWJ0aXRsZXMgYW5kIGFzIHN1Z2dlc3RlZCBpbiAjNzEyNjQzLCB0aHJvdwoJICBhd2F5IHRoZSAyIGJ5dGUgdGVybWluYXRvciBwYWNrZXRzIHRoYXQgc29tZSBlbmNvZGVycyBpbnNlcnQuCgkgIFRoaXMgd2lsbCBtYWtlIHRoaW5ncyBiZXR0ZXIgd2hlbiByZW11eGluZyBhbmQgY2F1c2VzIGdlbmVyYXRpb24KCSAgb2YgZ2FwIGV2ZW50cy4KCjIwMTMtMTEtMjUgMDA6MzQ6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggd2FrZS11cCB3aGVuIG5ldyBidWZmZXJzIGNvbWUgaW4gYWZ0ZXIgcnVubmluZyBlbXB0eQoJICBTcG90dGVkIGJ5ICdncmF0aWFzJyBvbiBJUkMuIFByb2JhYmx5IGludHJvZHVjZWQgaW4gcmVjZW50IHJlZmFjdG9yaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MDM5CgoyMDEzLTExLTIzIDEyOjE1OjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBjb3JyZWN0bHkgaGFuZGxlIG5lZ2F0aXZlIHJlbGF0aXZlIHRpbWVzdGFtcHMKCSAgLi4uIHJhdGhlciB0aGFuIHNjYWxpbmcgdGhlc2UgYXMgdW5zaWduZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3NDQKCSAgQmFzZWQgb24gcGF0Y2ggYnkgS3J6eXN6dG9mIEtvdGxlbmdhIDxwb2Nla0B1c2Vycy5zZi5uZXQ+CgoyMDEzLTA5LTE0IDAzOjI3OjA5ICswMjAwICBNYXRoaWV1RHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBNZXJnZSB0YWcgZXZlbnRzIHRvIHNlbmQgdGhlbSBpbiBjb2xsZWN0ZWQuCgkgIE90aGVyd2lzZSB0aGVyZSB3ZXJlIHJhY2UgY29uZGl0aW9ucyB3aGVyZSB3ZSB3b3VsZCBzZW5kIHRhZ3MKCSAgb24gYSBmbHVzaGluZyBzcmNwYWQuCgkgIFdlIGhhdmUgYSB0ZXN0IGZvciB0aGF0IGluIEdFUywgYnV0IHRoaXMgc2hvdWxkIGJlIHRlc3RlZAoJICBzeXN0ZW1hdGljYWxseSB3aXRoIGhhcm5lc3MgaW4gdGhlIGZ1dHVyZSBhcyBJIGJlbGlldmUgaXQKCSAgaXMgdXNlZnVsIGZvciBleGFjdGx5IHRoYXQga2luZCBvZiBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODE2NQoKMjAxMy0xMS0xNCAxNzoyOTo1MCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSBHc3RWaWRlb0luZm8gaGVscGVyIHRvIGNyZWF0ZSBjYXBzIGZvciByYXcgdmlkZW8KCSAgVGhpcyB3YXkgd2UgZG8gbm90IG1pc3MgbWFuZGF0b3J5IGZpZWxkcyBpbiBjYXBzLgoJICBBdCB0aGUgc2FtZSB0aW1lIHVzZSB0aGUgZ3N0X3BiX3V0aWxzX2dldF9jb2RlY19kZXNjcmlwdGlvbgoJICBoZWxwZXIgdG8gZ2V0IGNvZGVjIGRlc2NyaXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzM1CgoyMDEzLTExLTE0IDE2OjExOjM4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgR3N0VmlkZW9JbmZvIGhlbHBlciB0byBjcmVhdGUgY2FwcyBmb3IgcmF3IHZpZGVvCgkgIFRoaXMgd2F5IHdlIGRvIG5vdCBtaXNzIG1hbmRhdG9yeSBmaWVsZHMgaW4gY2Fwcy4KCSAgQXQgdGhlIHNhbWUgdGltZSB1c2UgdGhlIGdzdF9wYl91dGlsc19nZXRfY29kZWNfZGVzY3JpcHRpb24gaGVscGVyIHRvCgkgIGdldCBjb2RlYyBkZXNjcmlwdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjMyOAoKMjAxMy0xMS0xMyAyMDoxODoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgbXVsdGlmaWxlc3JjOiBJbXBsZW1lbnQgc2Vla2luZyBpbiBjYXNlIG9mIG11bHRpcGxlIGltYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjU0CgoyMDEzLTExLTIyIDEyOjI2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHBhc3MgZG93bnN0cmVhbSBmbG93cmV0dXJuIHRvIHVwc3RyZWFtCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI3MjIKCjIwMTMtMTEtMTggMTQ6Mjc6NDggKzAxMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBjbGVhciBjYWNoZWQgY2FwcyBvbiBjbG9zZQoJICBBIGRpZmZlcmVudCBkZXZpY2Ugd2l0aCBkaWZmZXJlbnQgY2FwcyBtYXkgYmUgdXNlZCBmb3IgdGhlIG5leHQgb3Blbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjYxMQoKMjAxMy0xMS0yMSAxNTozMDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZAoJICBKdXN0IHVzZSBwbGFpbiBtZW1tb3ZlKCksIGdfbWVtbW92ZSgpIGlzIGRlcHJlY2F0ZWQgaW4KCSAgcmVjZW50IEdMaWIgdmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4MTEKCjIwMTMtMTEtMjEgMTE6MzI6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNkZXBheTogaGFuZGxlIHBhY2tldHMgPiAweGZmZmYKCSAgSGFuZGxlIGlucHV0IHBhY2tldCBzaXplcyBsYXJnZXIgdGhhbiAxNiBiaXRzIGluIHRoZSBkZXBheWxvYWRlci4KCSAgUmVtb3ZlIHNpemUgcmVzdHJpY3Rpb25zIG9uIHRoZSBwYXlsb2FkZXIuCgoyMDEzLTExLTIxIDExOjMwOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IGhhbmRsZSBwYWNrZXRzID4gMHhmZmZmCgkgIFJlb3JnYW5pemUgc29tZSB0aGluZ3MgaW4gdGhlIGRlcGF5bG9hZGVyIHNvIHRoYXQgaXQgY2FuIGhhbmRsZSBwYWNrZXRzIGxhcmdlcgoJICB0aGFuIDE2IGJpdHMuCgkgIFJlbW92ZSB0aGUgc2l6ZSByZXN0cmljdGlvbiBvbiB0aGUgcGF5bG9hZGVyLgoKMjAxMy0xMS0yMSAwMjoyODoyNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGlzb21wNDogSGFuZGxlIG1wNHMgc3VicGljdHVyZSBzdHJlYW1zIGJldHRlci4KCSAgQ2xlYW4gdXAgdGhlIGhhbmRsaW5nIG9mIG1wNHMgc3RyZWFtcy4gVXNlIHRoZSBnZW5lcmljIGVzZHMKCSAgZGVzY3JpcHRvciBmdW5jdGlvbiB0byBleHRyYWN0IHRoZSBwYWxldHRlLCBpbnN0ZWFkIG9mIGhhcmQgY29kaW5nCgkgIGEgd3JvbmcgbWFnaWMgb2Zmc2V0LgoJICBBZGQgc29tZSBtb3JlIHNpemUgc2FmZXR5IGNoZWNrcyB3aGVuIHBhcnNpbmcgRVMgZGVzY3JpcHRvcnMsIGFuZAoJICByZXBsYWNlIG1hZ2ljIG51bWJlcnMgd2l0aCB0aGUgZGVzY3JpcHRpdmUgY29uc3RhbnRzIHRoYXQgYXJlIGFscmVhZHkKCSAgZGVmaW5lZC4KCSAgRW5oYW5jZSBkdW1wIG91dHB1dCBmb3Igc3RzZCBhdG9tcy4KCSAgU3RyZWFtcyBmcm9tIGJvdGggYnVnIDcxMjY0MyBhbmQgaGlzdG9yaWMgYnVnIDU2ODI3OCBub3cgYm90aCB3b3JrCgkgIGNvcnJlY3RseS4KCSAgRml4ZXM6ICM3MTI2NDMKCjIwMTMtMTEtMjAgMjI6MDg6MjUgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFNvcnQgZm91cmNjIGRlY2xhcmF0aW9ucyBhbmQgcmVtb3ZlIGR1cGxpY2F0ZXMKCjIwMTMtMTEtMjAgMjE6NDE6NDcgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9mdHlwY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogTWVyZ2UgYWxsIHRoZSBmb3VyY2MgaGVhZGVycyBpbnRvIG9uZQoJICBSZW1vdmUgcXRkZW11eF9mb3VyY2MuaCBhbmQgZnR5cGNjLmggYW5kIHB1dCBpdCBhbGwgaW4gZm91cmNjLmgKCjIwMTMtMTEtMTkgMTA6MTA6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhdm9pZCBtYXBwaW5nIHRoZSBidWZmZXIKCSAgUmV1c2UgdGhlIHBhcnNlZCBzdHJ1Y3R1cmUgdG8gZ2V0IHRoZSB0aW1lc3RhbXBzLgoKMjAxMy0xMS0xOCAxNzoxMzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4ICdtYWtlIGNoZWNrJwoJICBGaXggZ2VuZXJpYy9zdGF0ZXMgY2hlY2suIEFsc28sIGdfcmV0dXJuX2lmX2ZhaWwoKSBpcwoJICBub3QgZm9yIGludGVybmFsIHN0YXRlIGNoZWNraW5nLgoKMjAxMy0xMS0xOCAxNDo0NDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZG9jczogZ2V0IHJpZCBvZiAnU2luY2U6IDAuMTAueCcgbWFya2VycwoJICBBbmQgc29tZSBndGstZG9jIG1hcmt1cCBmaXhlcy4KCjIwMTMtMTEtMTYgMTI6MTU6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGZpeCBTaW5jZSBtYXJrZXJzCgkgIFNob3VsZCBiZSBuZXh0IHN0YWJsZSByZWxlYXNlIHNlcmllcyB2ZXJzaW9uCgoyMDEzLTExLTE1IDEzOjQ4OjA3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBzdGF0cyBwcm9wZXJ0eSBmaWVsZCBuYW1lcyBhbmQgZG9jdW1lbnRhdGlvbgoKMjAxMy0xMS0xNSAxNToyMDoxNCArMDEwMCAgVG9ycmllIEZpc2NoZXIgPHRvcnJpZS5maXNjaGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBnc3RydHBzZXNzaW9uOiBJbXBsZW1lbnQgYSBudW1iZXIgb2YgZmVlZGJhY2sgcGFja2V0IHN0YXRpc3RpY3MKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTY5MwoKMjAxMy0xMS0xMyAxNzoxMTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIG1hdGggb3BlcmF0aW9uIGZyb20gbG9vcAoJICBUaGUgZWxzdF9vZmZzZXQgZG9lc24ndCBjaGFuZ2UgaW5zaWRlIHRoZSBsb29wLCBzbyBjb21wdXRlIGl0CgkgIG91dHNpZGUKCjIwMTMtMTEtMTQgMjA6NTQ6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRtdXg6IGZpeCBwbGF5YmFjayByZWdyZXNzaW9uCgkgIEluIGFlMTE1MGU4NWNmOTlkNzQ4MjkzM2FhNmY3ZTRmMDEyZmU0NWEzZWMgZmxpcHBpbmcgYSBjb25kaXRpb24gbWlzYWxpZ25lZCB0aGUKCSAgZWxzZSBicmFuY2gsIHdoZXJlIGZvciB0aGVyZSBjb25kaXRpb24gdGhhdCB3YXMgY2hhbmdlIHRoZXJlIGlzIG5vbmUuCgkgIEZpeGVzICM3MTIzMDMKCjIwMTMtMTEtMTQgMDk6MjA6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW5hbWUgcHJvcGVydHkgdG8gJ3N0YXRzJwoJICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3Qgd29yay4KCSAgV2UgY2FuIGxhdGVyIGFsc28gYWRkIG1vcmUgc3RhdHMsIG5vdCBzcGVjaWZpYyB0byByZXRyYW5zbWlzc2lvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQxMQoKMjAxMy0xMS0xMiAxMToxOToyNSAtMDUwMCAgVG9ycmllIEZpc2NoZXIgPHRvcnJpZS5maXNjaGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXBsZW1lbnQgcnR4IHN0YXRpc3RpY3MKCjIwMTMtMTEtMTMgMTA6NDI6MjEgKzAwMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHByaW50IEZPVVJDQ19GT1JNQVQgd2hlbiBlbnVtZXJhdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMjA2CgoyMDEzLTExLTA2IDEyOjQwOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWR2YW5jZSBleHBlY3RlZCBzZXFudW0gYWZ0ZXIgZHJvcHBpbmcKCSAgQWZ0ZXIgZHJvcHBpbmcgYSBidWZmZXIsIG1vdmUgb3VyIGV4cGVjdGVkIHNlcW51bQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jCgoyMDEzLTExLTA0IDE1OjQ2OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBvbmx5IHNlbmQgb25lIGNhcHMKCSAgT25seSBzZW5kIG9uZSBjYXBzIGluIGEgcGFja2V0LiBUd28gY2FwcyBjYW4gaGFwcGVuIHdoZW4gc2V0Y2FwcyBpcyBjYWxsZWQgYW5kCgkgIHRoZSBjb25maWctaW50ZXJ2YWwgZXhwaXJlcyBhdCB0aGUgc2FtZSB0aW1lLgoKMjAxMy0xMS0xMyAxMDoyMzoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBVc2UgdGhlIHN5bmNlZCBidWZmZXIgbW9kZSBpbiBhdXRvIG1vZGUgaWYgYSBjbG9jayBwcm92aWRlciBpcyBpbiB0aGUgU0RQCgoyMDEzLTExLTA4IDExOjA5OjIxICswMDAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW5pdCB2NGwyX2J1ZmZlciB0byAweDAgYmVmb3JlIGlvY3RsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIxMzcKCjIwMTMtMTEtMTEgMTU6Mjc6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSBjb2xsaXNpb24gcmVjb25maWd1cmUgZXZlbnQKCSAgUmVtb3ZlIGJvZ3VzIHJlY29uZmlndXJlIGV2ZW50IG9uIGNvbGxpc2lvbiwgd2UgZG9uJ3Qgd2FudCB0byBzZW5kIHRoZSBldmVudCBvbgoJICB0aGUgcmVjZWl2aW5nIFJUUCBwYWQgYW5kIHRoZSBjb2xsaXNpb24gZXZlbnQgaXMgbm93IGhhbmRsaW5nIHRoaXMKCSAgY2FzZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE1NjAKCjIwMTMtMTEtMDEgMTc6MDQ6MjggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBzZW5kIGN1c3RvbSB1cHN0cmVhbSBldmVudCAiR3N0UlRQQ29sbGlzaW9uIiBvbiBzZW5kX3J0cF9zaW5rIHBhZAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTU2MAoKMjAxMy0xMS0xMSAxNDoyNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIGNoZWNrOiBhZGQgcnRwc2Vzc2lvbiB0ZXN0CgkgIEFkZCBhIGJhc2ljIHJ0cHNlc3Npb24gdGVzdCB0byBlbnN1cmUgdGhhdCBSUiBibG9ja3MgYXJlIGdlbmVyYXRlZCB3aGVuCgkgIG11bHRpcGxlIFNTUkMgc2VuZGVycyBhcmUgYWN0aXZlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjcwCgoyMDEzLTExLTExIDEzOjE3OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBjb3JyZWN0bHkgaGFuZGxlIHRpbWVzdGFtcHMgd2hlbiBwYXJzaW5nIHgtcHJpdmF0ZTEtYWMzCgkgIC4uLiB0aGUgd2F5IGl0IGhhcyBhbHdheXMgd29ya2VkIGZpbmUgaW4gYTUyZGVjLgoKMjAxMy0xMS0wNSAxMDo0ODozMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBjcmFzaCB3aGVuIGRvLXJldHJhbnNtaXNzaW9uPXRydWUgYW5kIGEgbG90IG9mIGJ1ZmZlcnMgYXJlIGxvc3QKCSAgVGhlIHByb2JsZW0gaGVyZSB3YXMgdGhhdCB0aGUgaml0dGVyYnVmZmVyIGxvY2sgd2FzIHVubG9ja2VkIHRvIHB1c2gKCSAgdGhlIGV2ZW50LCBidXQgdGhhdCBjYXVzZWQgYW5vdGhlciB0aHJlYWQgdG8gcmVtb3ZlIHRoZSB0aW1lciBjdXJyZW50bHkKCSAgYmVpbmcgcHJvY2Vzc2VkLCBwcm9iYWJseSBiZWNhdXNlIHRoZSBhbW91bnQgb2YgcnR4IGV2ZW50cwoJICAoYW5kIHRoZXJlZm9yZSB0aW1lcnMpIHdhcyBnZXR0aW5nIHRvbyBoaWdoLiBUaGUgc29sdXRpb24gaXMgdG8KCSAgdW5sb2NrIGFuZCBwdXNoIHRoZSBldmVudCBvbmx5IGFmdGVyIHRpbWVyIHByb2Nlc3NpbmcgaGFzIGZpbmlzaGVkLgoJICBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTMxCgoyMDEzLTEwLTI0IDEzOjE2OjQyICswMjAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQXZvaWQgZGl2aXNpb24gYnkgemVybyBhc3NlcnQgaW4gZ3N0X21hdHJvc2thX2RlbXV4X3NlYXJjaF9wb3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTgyOQoKMjAxMy0xMS0wOCAxNzo1OToyNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogZ2VuZXJhdGUgYSBub24tZW1wdHkgZGF0YSBoZWFkZXIKCSAgUmVzdG9yZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGVsZW1lbnQgdG8gdGhlIHN0YXRlIGJlZm9yZSBjb21taXQKCSAgZGIyOTUyMmE0MzBlNDQ0NTA0MTVjYTM2NzZhYmQxYjc3ZWU5MjNkOS4gQSBub24tZW1wdHkgaGVhZGVyIGlzCgkgIGdlbmVyYXRlZCBhbmQgd2hlbiB0aGUgRU9TIGV2ZW50IGlzIHJlY2VpdmVkIHRoZSBoZWFkZXIgaXMgZ2VuZXJhdGVkCgkgIGFnYWluLCB0aGlzIHRpbWUgd2l0aCB0aGUgY29ycmVjdCBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjk5CgoyMDEzLTExLTA3IDE2OjE3OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB1cGRhdGUgcmVjZWl2ZXIgc3RhdHMgZm9yIHNlbmRlcgoJICBBbiBpbnRlcm5hbCBzZW5kZXIgaW4gYSBzZXNzaW9uIGlzIGFsc28gYSByZWNlaXZlciBvZiBpdHMgb3duIHBhY2tldHMgc28gdXBkYXRlCgkgIHRoZSByZWNlaXZlciBzdGF0cy4gT3RoZXIgc2VuZGVycyBpbiB0aGUgc2Vzc2lvbiB3aWxsIHVzZSB0aGlzIGluZm8gdG8gZ2VuZXJhdGUKCSAgY29ycmVjdCBSQiBibG9ja3MgaW4gdGhlaXIgU1IgcmVwb3J0cy4KCjIwMTMtMTEtMDcgMTY6MTM6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiByZWZhY3RvciByZWNlaXZlciBzdGF0cyB1cGRhdGUKCjIwMTMtMTAtMjUgMTg6MjI6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBmcmFnbWVudGVkIGZpbGVzIHdpdGggbWRhdCBiZWZvcmUgbW9vZnMKCSAgQXNzdW1lIGEgZmlsZSB3aXRoIGF0b21zIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IG1vb3YsIG1kYXQsIG1vb2YsCgkgIG1kYXQsIG1vb2YgLi4uCgkgIFRoZSBmaXJzdCBtb292IHVzdWFsbHkgZG9lc24ndCBjb250YWluIGFueSBzYW1wbGUgZW50cmllcyBhdG9tcyAob3IKCSAgdGhleSBhcmUgYWxsIHNldCB0byAwIGxlbmd0aCksIGJlY2F1c2UgdGhlIHJlYWwgc2FtcGxlcyBhcmUgc2lnbmFsZWQKCSAgYXQgdGhlIG1vb2ZzLiBJbiBwdXNoIG1vZGUsIHF0ZGVtdXggcGFyc2VzIHRoZSBtb292IGFuZCB0aGVuIGZpbmRzIHRoZSBtZGF0LAoJICBidXQgdGhlbiBpdCBoYXMgMCBlbnRyaWVzIGFuZCBhc3N1bWVzIGl0IGlzIEVPUy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCBjb250aW51ZSBwYXJzaW5nIGluIGNhc2UgaXQgaXMgYSBmcmFnbWVudGVkIGZpbGUgc28gdGhhdAoJICBpdCBtaWdodCBmaW5kIHRoZSBtb29mcyBhbmQgcGxheSB0aGUgbWVkaWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA2MjMKCjIwMTMtMTAtMjUgMTE6NDI6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBXaGVuIHVzaW5nIGEgYnVmZmVyZWQgbWRhdCwgc3RvcmUgYWxsIHJlY2VpdmVkIGRhdGEgZm9yIGxhdGVyIHVzZQoJICBJbiBwdXNoIG1vZGUsIHdoZW4gcXRkZW11eCBjYW4ndCB1c2UgYSBzZWVrIHRvIHNraXAgdGhlIG1kYXQgYnVmZmVyIGl0IGhhcwoJICB0byBidWZmZXIgaXQgZm9yIGxhdGVyIHVzZS4KCSAgVGhlIGlzc3VlIGlzIHRoYXQgYWZ0ZXIgcGFyc2luZyB0aGUgbmV4dCBtb292L21vb2YsIHRoZXJlIG1pZ2h0IGJlIHNvbWUKCSAgdHJhaWxpbmcgYnl0ZXMgZnJvbSB0aGUgbmV4dCBhdG9tIGluIHRoZSBmaWxlLiBUaGlzIGRhdGEgd2FzIGJlaW5nIGRpc2NhcmRlZAoJICBhbG9uZyB3aXRoIHRoZSBhbHJlYWR5IHBhcnNlZCBtb292L21vb2YgYW5kIHBsYXliYWNrIHdvdWxkIGZhaWwgdG8gY29udGludWUKCSAgYWZ0ZXIgdGhlIGNvbnRlbnRzIG9mIHRoaXMgbW9vdi9tb29mIGFyZSBwbGF5ZWQuCgkgIFRoaXMgaXMgcGFydGljdWxhcmx5IGJhZCBvbiBmcmFnbWVudGVkIGZpbGVzIHRoYXQgaGF2ZSB0aGUgbWRhdCBiZWZvcmUgdGhlCgkgIGNvcnJlc3BvbmRpbmcgbW9vZi4gU28geW91J2QgZ2V0OgoJICBtZGF0fG1vb2Z8bWRhdHxtb29mIC4uLgoJICBXaGVuIGEgbW9vZiB3YXMgcmVjZWl2ZWQsIGl0IHVzdWFsbHkgY2FtZSB3aXRoIHNvbWUgZXh0cmEgYnl0ZXMgdGhhdCB3b3VsZAoJICBiZWxvbmcgdG8gdGhlIG5leHQgbWRhdCAoYmVjYXVzZSB1cHN0cmVhbSBkb2Vzbid0IGNhcmUgYWJvdXQgYXRvbXMgYWxpZ25tZW50KS4KCSAgU28gdGhvc2UgYnl0ZXMgd2VyZSBiZWluZyBkaXNjYXJkZWQgYW5kIHBsYXliYWNrIHdvdWxkIGZhaWwuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgcXRkZW11eCBzdG9yZSB0aG9zZSBleHRyYSBieXRlcyB0byByZXVzZSB0aGVtIGxhdGVyIGFmdGVyIHRoZQoJICBtZGF0IGlzIGVtcHRpZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA2MjMKCjIwMTMtMTEtMDcgMDk6NDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IEFsc28gdXNlIHRoZSBiaW5kLXBvcnQgcHJvcGVydHkgaWYgbm8gYmluZC1hZGRyZXNzIHdhcyBnaXZlbgoKMjAxMy0xMS0wNyAwMDo1MToxMiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW9zaW5rOiBmaXggc2VnZmF1bHQgd2hlbiB3ZSBjYW4ndCBnZXQgdGhlIGNoYW5uZWxzIGxheW91dAoKMjAxMy0xMS0wNSAxNzoyNjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogTWFrZSBQaWN0dXJlIElEIG1vZGUgY29uZmlndXJhYmxlIGFuZCBkZWZhdWx0IHRvIG5vIHBpY3R1cmUgSUQKCSAgU29tZSBpbXBsZW1lbnRhdGlvbnMgKGxpbnBob25lKSBvbmx5IHN1cHBvcnQgbm8gcGljdHVyZSBhdCBhbGwgaW4gdGhlCgkgIHN0cmVhbSBhbmQgd2lsbCBmYWlsIGlmIG9uZSBpcyBwcm92aWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQ5NwoKMjAxMy0xMS0wNSAxMToxODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODY1YWEyMCB0byBkYmVkYWEwCgoyMDEzLTAxLTI5IDEwOjUxOjA3ICswMTAwICBQYXVsIEhFTlJZUyA8dmlzZWNoZWxsZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgQWRkIGNhbGwgdG8gZ3N0X3J0cF9oMjY0X3BheV9jbGVhcl9zcHNfcHBzKCkgd2hlbiByZWNlaXZpbmcgYSBTVFJFQU1fU1RBUlQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjc4NwoKMjAxMy0xMS0wMiAyMjo1MDo0NyArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcDogQWRkIG1pc3NpbmcgZ2lvLTIuMCBkZXBzIGFuZCBpbmNsdWRlcwoKMjAxMy0xMS0wMSAxODozMTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkgIGF1ZGlvaWlyZmlsdGVyOiBGaXggaW5pdGlhbGl6YXRpb24gY29lZmZpY2llbnQgaGFuZGxpbmcKCSAgQnJva2UgdW5pdCB0ZXN0LgoKMjAxMy0xMC0zMSAxNDowNTo0MyAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhbGxvdyBzZXR0aW5nIHRscyBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uIGZsYWdzCgkgIEFkZGVkIGEgbmV3IHByb3BlcnR5ICJ0bHMtdmFsaWRhdGlvbi1mbGFncyIuIElmIHRoZSB1cmwgdHJhbnNwb3J0IGlzCgkgIFRMUywgdGhlIHZhbGlkYXRpb24gZmxhZ3Mgd2lsbCBiZSBzZXQgdG8gdGhlIHJ0c3AgY29ubmVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIzMAoKMjAxMy0xMC0zMSAyMjo0Mzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkgIGF1ZGlvaWlyZmlsdGVyOiBEb24ndCBjcmFzaCBpZiBubyBmaWx0ZXIgY29lZmZpY2llbnRzIGFyZSBwcm92aWRlZAoJICAuLi5hbmQgYnkgZGVmYXVsdCB1c2UgYSBpZGVudGl0eSBmaWx0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAyMTUKCjIwMTMtMTAtMzEgMTk6MTU6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IEZpeCB3cml0aW5nIG9mIE1ENSBzdW1zIGFuZCBvdGhlciBtZXRhZGF0YSBibG9ja3MKCSAgVGhlc2UgZG9uJ3QgaGF2ZSB0aGUgRklOQUxfQkxPQ0sgZmxhZyBzZXQuCgoyMDEzLTEwLTMxIDEzOjAyOjExIC0wMjAwICBEamFsbWEgTMO6Y2lvIFNvYXJlcyBkYSBTaWx2YSA8ZGx1Y2lvQGltcGEuYnI+CgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGhkdjEzOTRzcmM6IE1ha2UgaXQgcG9zc2libGUgdG8gc2VsZWN0IGEgY2FtZXJhIGJ5IGl0cyBHVUlECgkgIFRoZSBzb3VyY2UgaGR2MTM5NHNyYyBoYXMgdGhlIGd1aWQgcHJvcGVydHkgdGhhdCBwZXJtaXRzIHNlbGVjdCBhIGNhbWVyYQoJICBjb25uZWN0ZWQgZnJvbSBpdHMgR1VJRCBudW1iZXIuCgkgIEhvd2V2ZXIgd2hlbiB0aGlzIHByb3BlcnR5IGlzIHNldHRlZCB0aGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBjaGFuZ2VkLgoJICBUaGUgc291cmNlIGNvbnRpbnVlcyB1c2luZyB0aGUgZGVmYXVsdCBjYW1lcmEuCgkgIFRoaXMgcHJvYmxlbSB3YXMgc29sdmVkIHVzaW5nIHRoZSBmdW5jdGlvbiBpZWM2MTg4M19jbXBfY29ubmVjdC4KCSAgVGhlIHJlZmVyZW5jZSBmb3IgdGhlIGZ1bmN0aW9uIGNvdWxkIGJlIGZvdW5kIGhlcmU6CgkgIGh0dHA6Ly93d3cuZGVubmVkeS5vcmcvbGliaWVjNjE4ODMvQVBJLWllYzYxODgzLWNtcC1jb25uZWN0Lmh0bWwKCSAgVGhlIHNvbHV0aW9uIGNhbWUgZnJvbSBkdmdyYWIgc291cmNlIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA0MTUKCjIwMTMtMTAtMzEgMTM6MjA6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiBhZGQgZXhwbGljaXQgY2FzdCB0byBzaWxlbmNlIHdhcm5pbmcKCSAgU2lsZW5jaW5nIHRoaXMgd2FybmluZzoKCSAgZWxlbWVudHMvc291cGh0dHBzcmMuYzo1MzM6MTQ6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4g4oCYU291cEtub3duU3RhdHVzQ29kZeKAmSBhbmQg4oCYZW51bSA8YW5vbnltb3VzPuKAmSBbLVdlcnJvcj1lbnVtLWNvbXBhcmVdCgkgIGlmIChzdGF0dXMgIT0gU09VUF9TVEFUVVNfT0sgJiYgIXNlbmRfZXJyb3JfZG9jKQoJICBXaXRoIGdjYyA0LjguMiAoZGViaWFuKQoKMjAxMy0xMC0zMSAxMDozODozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHByb3h5IG5ldyBidWZmZXIgbW9kZQoKMjAxMy0xMC0zMCAxNjo0OTozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBhZGQgbmV3IHRpbWVzdGFtcCBtb2RlCgkgIEFkZCBhIG5ldyB0aW1lc3RhbXAgbW9kZSB0aGF0IGFzc3VtZXMgdGhlIGxvY2FsIGFuZCByZW1vdGUgY2xvY2sgYXJlCgkgIHN5bmNocm9uaXplZC4gSXQgdGFrZXMgdGhlIGZpcnN0IHRpbWVzdGFtcCBhcyBhIGJhc2UgdGltZSBhbmQgdGhlbiB1c2VzIHRoZSBSVFAKCSAgdGltZXN0YW1wcyBmb3IgdGhlIG91dHB1dCBQVFMuCgoyMDEzLTEwLTMwIDIyOjEyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZwoJICBtYXRyb3NrYS1kZW11eC5jOiBJbiBmdW5jdGlvbiAnZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0nOgoJICBtYXRyb3NrYS1kZW11eC5jOjEzNzk6NzogZXJyb3I6IGZvcm1hdCAnJXUnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAndW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDQgaGFzIHR5cGUgJ2d1aW50NjQnIFstV2Vycm9yPWZvcm1hdD1dCgkgICIlMDN1IiwgY29udGV4dC0+dWlkKTsKCSAgXgoKMjAxMy0xMC0yOCAxMzoyMToxNSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJICB2aWRlb21peGVyOiByZW1vdmUgdW5uZWVkZWQgZ3VpbnQgY29tcGFyYWlzb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTAxMAoKMjAxMy0xMC0yOCAxNDoxMzoxMiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggbWlzc2luZyBzZWxlY3RvciBuYW1lIHdhcm5pbmdzCgkgIFRoZSBzcGFjZXMgbWF0dGVyIGluIE9iakMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTAxMwoKMjAxMy0xMC0yOCAxMzozMTozNCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuYzogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDExCgoyMDEzLTEwLTI1IDExOjMwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBpZiB0aGUgZW5kX3RpbWUgaXMgZGVmaW5lZCBiZWZvcmUgdXNpbmcgaXQKCSAgQXZvaWRzIHNlbmRpbmcgRU9TIHRvbyBzb29uIGJlY2F1c2Ugb2Ygb3ZlcmZsb3cuIENhbiBoYXBwZW4gb24KCSAgZnJhZ21lbnRlZCBtcDQgcGxheWJhY2suCgoyMDEzLTEwLTIzIDEzOjM4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgY29ycmVjdCB1bnJlZiBmdW5jdGlvbgoJICBFdmVudHMgYXJlbid0IEdzdE9iamVjdHMsIGJ1dCBHc3RNaW5pT2JqZWN0cwoKMjAxMy0xMC0xNSAwODoxNjoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW5hbWUgY2h1bmtzX2FyZV9jaHVua3MgdG8gY2h1bmtzX2FyZV9zYW1wbGVzIGFuZCBmbGlwIHRoZSBsb2dpYwoJICBBcyB0aGUgdmFyaWFibGUgbmFtZSBzdWdnZXN0cywgc29tZXRpbWVzIGNodW5rcyBhcmUgY2h1bmtzLiBSZW5hbWUgdGhlIHZhcmlhYmxlCgkgIHRvIHRlbGwgd2hhdCB0aGV5IGFyZSB3aGVuIHRoZXkgYXJlIG5vdCBjaHVua3MuCgoyMDEzLTEwLTA5IDA4OjA0OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0eXBvcyBhbmQgYWRkIG1vcmUgbG9nZ2luZyBmb3IgdW5oYW5kbGVkIHBhcnRzCgoyMDEzLTEwLTE0IDE2OjIzOjI1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBGaXggbWVtb3J5IGxlYWsKCSAgVW5tYXAgYWxsIEdzdE1lbW9yeSBvZiB0aGUgY3VycmVudCBidWZmZXIgd2hlbiBmbHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDExMAoKMjAxMy0xMC0xMiAyMDo0NDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZml4IGJyb2tlbiBzYW1wbGUgcGlwZWxpbmUKCSAgd2hpY2ggd2FzIG11eGluZyByYXcgYXVkaW8gYW5kIHZpZGVvIGludG8gZmx2bXV4LCB3aGljaCB3b24ndCB3b3JrLAoJICBldmVuIGlmIHRoZXJlIHdlcmUgY29udmVydGVycy4KCjIwMTMtMTAtMTIgMjA6Mzc6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHJlcXVpcmUgc3RyZWFtLWZvcm1hdD1yYXcgZm9yIG1wZWctMiB0b28sIGJ1dCBkb24ndCByZXF1aXJlIGZyYW1lZCBmaWVsZAoJICByYXcgaW1wbGllcyB0aGF0IGl0J3MgZnJhbWVkIGFscmVhZHkuIEZpeGVzIC4uICEgZmFhYyAhIGZsdm11eAoKMjAxMy0xMC0wNyAxNDoyNzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogZG8gbm90IGVtaXQgRU9TIHdoZW4gY29ubmVjdGlvbiBkcm9wcwoJICBJZiB0aGUgcGlwZWxpbmUgaXMgc3RhbGxlZCBmb3IgdG9vIGxvbmcsIHNvdXBodHRwc3JjIHdpbGwgYmxvY2sgYW5kCgkgIHN0b3AgZmV0Y2hpbmcgZGF0YSBmcm9tIHRoZSBuZXR3b3JrLiBUaGlzIGNhbiBjYXVzZSB0aGUgY29ubmVjdGlvbiB0bwoJICBkcm9wIGFuZCBzb3VwaHR0cHNyYyB3b3VsZCBoYW5kbGUgaXQgYXMgYW4gRU9TLiBUaGlzIHBhdGNoIG1ha2VzIGl0CgkgIHBlcnNpc3QgYW5kIHRyeSB0byBmZXRjaCBtb3JlIGRhdGEgdW50aWwgdGhlIGVuZCBvZiB0aGUgY29udGVudCBsZW5ndGgKCSAgb3IgdW50aWwgcmVjZWl2aW5nIGFuIGVycm9yIHRoYXQgaXQgaXMgYmV5b25nIGxpbWl0cyBpbiBjYXNlIHRoZSBjb250ZW50CgkgIGlzIHVua25vd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM1MzYKCjIwMTMtMTAtMTAgMTM6NTI6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgZHZkZWM6IERvbid0IHNlbmQgc2VnbWVudCBldmVudCBiZWZvcmUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NzI4CgoyMDEzLTEwLTA5IDE3OjQ2OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBTZW5kIHN0cmVhbS1zdGFydCwgY2FwcyBhbmQgc2VnbWVudCBldmVudHMgaW4gdGhlIHJpZ2h0IG9yZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3MjgKCjIwMTMtMTAtMDggMTE6Mjg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogQS1MYXcgYW5kIE11LUxhdyBkb24ndCBoYXZlIHdpZHRoL2RlcHRoL3NpZ25lZCBjYXBzIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NjE0CgoyMDEzLTEwLTA3IDEyOjU0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBoYW5kbGluZyBvZiBwbGFuYXIgdmlkZW8gZm9ybWF0cyBpbiBncmVlZHloIG1ldGhvZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NTA3CgoyMDEzLTEwLTA2IDEwOjAxOjI2IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9AcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IFRyaXZpYWwgZ3JhbW1hciBmaXggb24gZGVidWcgbXNnCgoyMDEzLTEwLTA2IDA5OjE3OjAwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9AcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBjb250ZXh0IGZsYWcgZm9yIFdlYk0KCSAgV2ViTSBoYXMgYSBjb3VwbGUgb2Ygc3BlY2lmaWMgcmVxdWlyZW1lbnRzIHdlIG5lZWQgdG8gaGFuZGxlLgoJICBJZGVhIGlzIHRvIHNldCB0aGlzIGZsYWcgb25jZSBhbmQganVzdCByZWx5IG9uIG11eC0+aXNfd2VibQoJICBhdCBydW4gdGltZSBpbnN0ZWFkIG9mIHJlcGVhdGVkbHkgZmlndXJpbmcgdGhpcyBvdXQgZnJvbQoJICBHU1RfTUFUUk9TS0FfRE9DVFlQRV9XRUJNICh3aGljaCByZXF1aXJlcyBhIHN0cmNtcCgpKS4KCjIwMTMtMTAtMDQgMTQ6NDI6NTkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogRG8gbm90IHdyaXRlIFNlZ21lbnRVSUQgZm9yIFdlYk0gbXV4CgkgIFdlYk0gc3BlYyBzdGF0ZXMgU2VnbWVudFVJRCBpcyBVbnN1cHBvcnRlZC4gRmlsZXMgcHJvZHVjZWQKCSAgd2l0aCBnc3RyZWFtZXIgd2l0aG91dCB0aGlzIGNoYW5nZSB3aWxsIHNwaXQgYW4gZXJyb3IgbGlrZQoJICB0aGlzIHdoZW4gcGFzc2VkIHRvIG1rdmFsaWRhdG9yOgoJICBFUlIyMDE6IEludmFsaWQgJ1NlZ21lbnRVSUQnIGZvciBwcm9maWxlICd3ZWJtJyBpbiBJbmZvIGF0IDE5MgoKMjAxMy0xMC0wNSAwMDowMDowMyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtYWtlIGR2ZCBwYWxldHRlIGNoYW5nZSBldmVudCBzdGlja3kKCSAgU28gdGhleSBkb24ndCBnZXQgbG9zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQ1NAoKMjAxMy0xMC0wMyAxNjozOToyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvZmxpcDogQWRkIGF1dG9tYXRpYyBmbGlwIG1vZGUgZHJpdmVuIGJ5IGltYWdlLW9yaWVudGF0aW9uIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzEyCgoyMDEzLTEwLTA0IDEzOjM0OjA5ICswMjAwICBQZXRlciBLb3JzZ2FhcmQgPHBldGVyQGtvcnNnYWFyZC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogT19DTE9FWEVDIG5lZWRzIF9HTlVfU09VUkNFCgkgIE9uIHNvbWUgc3lzdGVtcyAoRS5HLiB1Q2xpYmMgYW5kIG9sZGVyIEdsaWJjIHZlcnNpb25zKSwgT19DTE9FWEVDIGlzIG9ubHkKCSAgZGVmaW5lZCB3aGVuIF9HTlVfU09VUkNFIGlzIHNwZWNpZmllZCwgc28gZG8gc28uCgkgIF9HTlVfU09VUkNFIG5lZWRzIHRvIGJlIGRlZmluZWQgYmVmb3JlIGFueSBzeXN0ZW0gaGVhZGVycyBhcmUgaW5jbHVkZWQsCgkgIHNvIG1vdmUgdGhlIGZjbnRsLmggc2VjdGlvbiB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQyMwoKMjAxMy0xMC0wNCAxMjoxMTo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCByYWNlIGluIGZsdXNoLXN0YXJ0L2ZsdXNoLXN0b3AKCSAgV2hlbiBmbHVzaC1zdG9wIGFycml2ZXMgYmVmb3JlIHdlIHByb2Nlc3MgdGhlIHJlc3VsdCBvZiB0aGUgX3B1c2goKSBpbiB0aGUKCSAgbG9vcCBmdW5jdGlvbiwgd2UgbWlnaHQgcGF1c2UgZXZlbiB0aG91Z2ggd2UgYXJlIG5vdCBmbHVzaGluZyBhbnltb3JlLiBGaXggdGhpcwoJICByYWNlIGJ5IHdhaXRpbmcgZm9yIHRoZSBzcmNwYWQgbG9vcCBmdW5jdGlvbiB0byBjb21wbGV0ZWx5IHBhdXNlIGFmdGVyIGRvaW5nIHRoZQoJICBmbHVzaC1zdGFydC4KCjIwMTMtMTAtMDMgMjI6Mzg6NDMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSB2aWRlb2NvbnZlcnQgY29weQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzkwCgoyMDEzLTEwLTAzIDIxOjM2OjM0ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IENoZWNrIGlmIHRoZSBwYWQgbmVlZHMgcmVjb25maWd1cmF0aW9uIGluIGNvbGxlY3RlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5Mzg0CgoyMDEzLTEwLTAzIDE0OjM5OjM1ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBSZWxheCBzaW5rIGNhcHMKCSAgU2luY2UganBlZ2RlYyBhbHJlYWR5IHBhcnNlIHRoZSBqcGVnIHN0cmVhbSwgdGhlIHNpbmsgY2FwcyBjb3VsZCBiZQoJICByZWxheGVkLiBUaGlzIHdpbGwgYWxsb3cganBlZ2RlYyB0byBiZSBzZWxlY3RlZCBpbiBtb3JlIGNhc2UgYW5kIGluCgkgIHBhcnRpY3VsYXIgd2hlbiB0aGUganBlZyB0eXBlZmluZGVyIGRvZXMgbm90IGZpbmQgdGhlIHdpZHRoIGFuZCBoZWlnaHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzNTIKCjIwMTMtMTAtMDMgMTg6MzM6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IHByaW50IHByb2JlZCBjYXBzIGFzIGNhcHMgYWdhaW4gaW4gZGVidWcgbG9nCgkgIFRoaXMgZ290IGxvc3QgZHVyaW5nIHJlZmFjdG9yaW5nLgoKMjAxMy0xMC0wMyAxMTo1OToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciB0aGUgbXAydiBmb3VyY2MgZm9yIE1QRUctMiB2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjcwCgoyMDEzLTEwLTAyIDE1OjU2OjUzICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjY2CgoyMDEzLTA5LTMwIDEyOjMxOjQyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIEhFVkMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MDkzCgoyMDEzLTA5LTMwIDEyOjI0OjMyICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBGaXggbWVtb3J5IGxlYWsKCSAgV2Ugd2VyZSBsZWFraW5nIHRoZSBHTGlzdCBub2RlcyBvZiB0aGUgcGVuZGluZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MDc5CgoyMDEzLTA5LTMwIDEyOjMxOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCByYWNlIHdoZW4gdXBkYXRpbmcgdGhlIG5leHRfc2VxbnVtCgkgIElmIHdlIHdlcmUgbm90IHdhaXRpbmcgZm9yIHRoZSBtaXNzaW5nIHNlcW51bSB3aGVuIHdlIGluc2VydCB0aGUgbG9zdCBwYWNrZXQKCSAgZXZlbnQgaW4gdGhlIGppdHRlcmJ1ZmZlciwgd2UgZW5kIHVwIG5vdCB1cGRhdGluZyB0aGUgbmV4dF9zZXFudW0gYW5kIHdhaXQKCSAgZm9yZXZlciBmb3IgdGhlIGxvc3QgcGFja2V0cyB0byBhcnJpdmUuIEluc3RlYWQsIGtlZXAgdHJhY2sgb2YgdGhlIGFtb3VudCBvZgoJICBwYWNrZXRzIGNvbnRhaW5lZCBieSB0aGUgaml0dGVyYnVmZmVyIGl0ZW0gYW5kIHVwZGF0ZSB0aGUgbmV4dCBleHBlY3RlZAoJICBzZXFudW0gb25seSBhZnRlciBwdXNoaW5nIHRoZSBidWZmZXIvZXZlbnQuIFRoaXMgbWFrZXMgc3VyZSB3ZSBjb3JyZWN0bHkgaGFuZGxlCgkgIEdBUFMgaW4gdGhlIHNlcXVlbmNlIG51bWJlcnMuCgoyMDEzLTA5LTMwIDEyOjMwOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc21hbGwgZGVidWcgaW1wcm92ZW1lbnQKCjIwMTMtMDktMzAgMTE6NTM6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXNldCBza2V3IGRvZXMgbm90IHJlc2V0IGNsb2NrLXJhdGUKCSAgRG9uJ3QgcmVzZXQgdGhlIGNsb2NrLXJhdGUgd2hlbiB3ZSByZXNldCB0aGUgc2tldyBjb3JyZWN0aW9uIGFsZ29yaXRobS4KCSAgUmVzZXQgdGhlIHNrZXcgY29ycmVjdGlvbiBhbGdvcml0aG0gd2hlbiB3ZSBjaGFuZ2UgdGhlIGNsb2NrLXJhdGUuCgoyMDEzLTA5LTMwIDExOjE2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcGF1c2UgdGltZXIgd2hlbiBQQVVTRUQKCSAgQWxzbyBwYXVzZSB0aGUgdGltZXIgd2hlbiB3ZSBnbyB0byB0aGUgUEFVU0VEIHN0YXRlLiBJdCBpcyBwb3NzaWJsZSB0aGF0IHdlCgkgIGRvbid0IGhhdmUgYSBjbG9jayBvciBiYXNlLXRpbWUgaW4gUEFVU0VEIHRvIHBlcmZvcm0gdGhlIHRpbWVvdXRzLgoKMjAxMy0wOS0zMCAxMToxNToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZGVidWcKCjIwMTMtMDktMjYgMjA6NDE6MjYgKzAyMDAgIEhhbnMgTcOlbnNzb24gPGhhbnNtQGF4aXMuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBtcDRtdXg6IERvIG5vdCByZXF1aXJlIGZyYW1lcmF0ZSBpbiBwZWVyIHZpZGVvIGNhcHMKCSAgUmVtb3ZlIHRoZSBmcmFtZXJhdGUgcmVzdHJpY3Rpb24gb24gdGhlIGNhcHMuCgkgIFJlZmVyZW5jZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODg2NAoKMjAxMy0wOS0yNyAxNTowNTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBnbyBpbnRvIHRoZSBsb29wIGZ1bmN0aW9uIGFmdGVyIGNvbm5lY3QKCSAgV2hlbiB3ZSBoYXZlIG9wZW5lZCB0aGUgc3RyZWFtLCBnbyBpbnRvIHRoZSBsb29wIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuCgkgIHJlY2VpdmUgbWVzc2FnZXMgZnJvbSB0aGUgc2VydmVyLgoKMjAxMy0wOS0yNyAxMjo1MzowNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtb3ZlIHRoZSBjaGVjayBmb3Igc3VidGl0bGUgYnVmZmVyIGJlaW5nIG51bGwgdGVybWluYXRlZCBiZWZvcmUgdmFsaWRhdGluZyBVVEYtOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMzCgoyMDEzLTA5LTI2IDE2OjIwOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgY2FsY3VsYXRlIHNrZXcgd2l0aG91dCBydHB0aW1lCgkgIFNraXAgdHJ5aW5nIHRvIGNhbGN1bGF0ZSB0aGUgc2tldyB3aGVuIHdlIGRvbid0IGhhdmUgYW4gcnRwdGltZS4KCSAgSXQgY2F1c2VzIHByb2JsZW1zIHdoZW4gbG9zdCBwYWNrZXQgZXZlbnRzIGFyZSBwbGFjZWQgaW4gdGhlIGppdHRlcmJ1ZmZlci4KCjIwMTMtMDktMjUgMjM6NDY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZ2V0IHJpZCBvZiBBU19TQ1JVQl9JTkNMVURFCgkgIFNob3VsZCBub3QgYmUgbmVlZGVkIGFueSBtb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NjU4CgoyMDEzLTA5LTI1IDE3OjQyOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkaXNhYmxlIGNoZWNrcyB3aGVuIGxpbmtpbmcgcGFkcwoJICBXZSBrbm93IHRoZSBwYWQgbGlua3Mgd2lsbCB3b3JrIChhbmQgd2UgZG9uJ3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZQoJICBhbnl3YXkpLgoKMjAxMy0wOS0yNSAxNzozNjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGF2b2lkIHNvbWUgcGFkIGxpbmsgY2hlY2tzCgkgIExpbmsgcGFkcyB3aXRob3V0IGNoZWNrcywgd2Uga25vdyBpdCB3aWxsIHdvcmsuCgoyMDEzLTA5LTI1IDEyOjU1OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCBlcnJvciBvdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUgZm9yIG5vbi1mcmFnbWVudGVkIHZhcmlhbnRzCgkgIERvaW5nIHNvIHdvdWxkIGJlIGEgcmVncmVzc2lvbiBvdmVyIDEuMCBhbmQgYnJlYWtzIHRoZSB1bml0IHRlc3QuCgkgIEhvd2V2ZXIgdGhlIHJlc3VsdCB3aWxsIGJlIG1vc3QgbGlrZWx5IHVudXNhYmxlLCBzbyBsZXQncyBwb3N0CgkgIGEgd2FybmluZyBtZXNzYWdlIG9uIHRoZSBidXMuCgoyMDEzLTA5LTI0IDA0OjAyOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogY2FsY3VsYXRlIHNvbWUgc3RhdHMKCjIwMTMtMDktMjMgMTc6MDU6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBtb3ZlIHNlbmRfbG9zdF9ldmVudCBmdW5jdGlvbgoJICBNb3ZlIHRoZSBzZW5kX2xvc3RfZXZlbnQgZnVuY3Rpb24gdG8gdGhlIGRvX2xvc3RfZXZlbnQgaGFuZGxpbmcsIHRoZXJlIGlzIG5vCgkgIG5lZWQgdG8gaGF2ZSBhIHNlcGFyYXRlIGZ1bmN0aW9uLgoKMjAxMy0wOS0xNiAxMToyMDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBjb2RlIHRvIHBhcnNlIGNyZWF0aW9uIHRpbWUgZWFybGllciB0aGFuIDE5NzAKCSAgVXNlIGdfZGF0ZV90aW1lIHNlY29uZHMgbWFuaXB1bGF0aW9uIHRvIGFsbG93IHRvIGNvdmVyIHRoZSBxdWlja3RpbWUKCSAgc3BlYyBmb3IgY3JlYXRpb25fdGltZS4gSXQgdXNlcyBzZWNvbmRzIHNpbmNlIDE5MDQuCgkgIEJvdGggcGF0aHMgY291bGQgYmUgZG9uZSB1c2luZyB0aGUgZ2VuZXJpYyBhcHByb2FjaCBvZiBzZWNvbmRzIHNpbmNlCgkgIDE5MDQgd2l0aCBHRGF0ZVRpbWUgaGFuZGxpbmcsIGJ1dCB0aGUgZmlyc3QgcGF0aCB1c2luZyBzZWNvbmRzIGZyb20KCSAgMTk3MCBzaG91bGQgYmUgbW9yZSBjb21tb25seSBmb3VuZCBhbmQgYXZvaWRzIGEgZmV3IG9iamVjdHMgY3JlYXRpb24gYW5kCgkgIHJlZi91bnJlZiwgc28ga2VlcCBpdCB0aGVyZSBmb3IgcGVyZm9ybWFuY2UuCgkgIEFkZGl0aW9uYWxseSwgdGhlIGNvZGUgZm9yIGhhbmRsaW5nIHNlY29uZHMgc2luY2UgMTk3MCBjaGFuZ2VkIGZyb20gPgoJICB0byA+PSBiZWNhdXNlIGhhdmluZyAwIHNlY29uZHMgc2luY2UgMTk3MCBpcyBhbHNvIGEgdmFsaWQgY2FzZSBmb3IgdGhhdAoJICBwYXRoIHRvIGhhbmRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzk3NQoKMjAxMy0wOS0yMSAwMDo1NToyNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiB1cGRhdGUgc3RyZWFtLT5wb3Mgd2hlbiBzZW5kaW5nIGJ1ZmZlcnMgc28gdGhhdCBnYXAgZXZlbnRzIGFyZSBub3Qgc2VudCB1bm5lY2Vzc2FyaWx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg1MDUKCjIwMTMtMDktMjQgMTg6MzA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmIwM2JhNyB0byA4NjVhYTIwCgoyMDEzLTA5LTI0IDE1OjA1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWN0dWFsbHkgdXNlIDEuMy4wLjEgYXMgdmVyc2lvbiB0byBtYWtlIGNvbmZpZ3VyZSBoYXBweQoKMjAxMy0wOS0yNCAxNTowMDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjIuMCA9PT0KCjIwMTMtMDktMjQgMTQ6MjE6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjIuMAoKMjAxMy0wOS0yNCAxNDoyMDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA5LTIwIDE5OjQzOjIxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZWdmYXVsdCByZWxlYXNpbmcgdGhlIHNpbmsKCSAgc2hvd19mcmFtZSBpcyBkZWZlcnJlZCB0byB0aGUgbWFpbiB0aHJlYWQgYW5kIGNhbiBiZSBjYWxsZWQKCSAgd2hlbiB0aGUgc2luayBoYXMgYmVlbiByZWxlYXNlZCwgc28gd2UgbmVlZCB0byBrZWVwIGFuIGV4dHJhIHJlZgoJICBvbiBPYmplY3RpdmVDIG9iamVjdCBoZWxwZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg1MDEKCjIwMTMtMDktMTkgMTc6MTE6MzQgLTA0MDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmVzdG9yZSBvcmlnaW5hbCBHc3RNZW1vcnkgaW4gYnVmZmVyIGlmIGl0IGhhcyBiZWVuIGNoYW5nZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA4MwoKMjAxMy0wOS0yMyAxNjozNDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IHVwZGF0ZSBkb2NzCgoyMDEzLTA5LTIzIDE1OjM2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIHdpdGggMS4wIGVsZW1lbnQgbmFtZXMKCjIwMTMtMDktMjMgMTQ6MTM6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciByZXRyYW5zbWlzc2lvbiBiZWNhdXNlIG9mIHJlb3JkZXJpbmcKCjIwMTMtMDktMjMgMTQ6MTI6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhbHdheXMgc3RvcmUgbG9zdCBldmVudCBpbiBqaXR0ZXJidWZmZXIKCSAgQWx3YXlzIHByZXBhcmUgYSBsb3N0IGV2ZW50IGluIHRoZSBqaXR0ZXJidWZmZXIsIGl0IGlzIHRvIHdha2UgdXAgYW5kIG1ha2UgdGhlCgkgIHB1c2hpbmcgdGhyZWFkIGNvbnRpbnVlLiBXZSBkcm9wIHRoZSBldmVudCB3aGVuIHdlIGFyZSBub3Qgc3VwcG9zZWQgdG8gcHVzaCBsb3N0CgkgIGV2ZW50cyBkb3duc3RyZWFtLgoKMjAxMy0wOS0yMyAxMToxODo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNjaGVkdWxlIGxvc3QgZXZlbnQgZGlmZmVyZW50bHkKCSAgU2NoZWR1bGUgdGhlIGxvc3QgZXZlbnQgYnkgcGxhY2luZyBpdCBpbnNpZGUgdGhlIGppdHRlcmJ1ZmZlciB3aXRoIHRoZSBzZXFudW0KCSAgdGhhdCB3YXMgbG9zdCBzbyB0aGF0IHRoZSBwdXNoaW5nIHRocmVhZCBjYW4gaW50ZXJsZWF2ZSBhbmQgcHVzaCBpdCBwcm9wZXJseS4KCjIwMTMtMDktMjMgMTE6MTc6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IHJlbW92ZSB0aW1lb3V0cyBmcm9tIGNoZWNrCgkgIFRpbWVvdXRzIG1ha2UgdGhlIHRlc3QgdW5yZWxpYWJsZSBhbmQgYXJlIG5vdCBuZWVkZWQuCgoyMDEzLTA5LTIzIDExOjE1OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVtb3ZlIGxpc3QgZGVidWcKCjIwMTMtMDktMjMgMTE6MTQ6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRkIHR5cGUgdG8gdGhlIGl0ZW0KCSAgU28gdGhhdCB0aGUgdXBwZXIgbGF5ZXIgY2FuIGtub3cgd2hhdCBkYXRhIGlzIGNvbnRhaW5lZCBpbiB0aGUgaXRlbS4KCjIwMTMtMDktMjMgMDk6NTg6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBmbHVzaAoJICBQYXNzIGZ1bmN0aW9uIHRvIGZsdXNoIHRvIHByb3Blcmx5IGZyZWUgdGhlIHF1ZXVlIGl0ZW1zLgoKMjAxMy0wOS0yMSAwMDowODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFwcGVuZCBzZXFudW0gLTEgcGFja2V0cwoKMjAxMy0wOS0yMCAyMzo0ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdXNlIHN0cnVjdHVyZSB0byBob2xkIHBhY2tldCBpbmZvcm1hdGlvbgoJICBNYWtlIHRoZSBqaXR0ZXJidWZmZXIgb3BlcmF0ZSBvbiBhIHN0cnVjdHVyZSBjb250YWluaW5nIGFsbCB0aGUgcGFja2V0CgkgIGluZm9ybWF0aW9uLiBUaGlzIGF2b2lkcyBtYXBwaW5nIHRoZSBidWZmZXIgbXVsdGlwbGUgdGltZXMganVzdCB0byBnZXQgdGhlIFJUUAoJICBpbmZvcm1hdGlvbi4gSXQgd2lsbCBhbHNvIG1ha2UgaXQgcG9zc2libGUgdG8gc3RvcmUgb3RoZXIgbWluaW9iamVjdHMgc3VjaCBhcwoJICBldmVudHMgbGF0ZXIuCgoyMDEzLTA5LTIwIDE3OjQ4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdXBkYXRlIGV4cGVjdGVkIHRpbWVyIHdoZW4gcG9zc2libGUKCSAgV2hlbiB3ZSByZWNlaXZlIGEgcGFja2V0IGFuZCB3ZSBoYXZlIHNvbWUgbWlzc2luZyBwYWNrZXRzLCB3ZSBjYW4gdXBkYXRlIHRoZWlyCgkgIGVzdGltYXRlZCBhcnJpdmFsIHRpbWVzIGJhc2VkIG9uIHRoZSB0aW1lc3RhbXAgZGlmZmVyZW5jZS4KCjIwMTMtMDktMjAgMTc6MTg6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggb3JkZXIgb2YgdGltZW91dCBldmVudHMKCSAgSW1wcm92ZSB0aGUgb3JkZXIgb2YgdGhlIHRpbWVvdXQgZXZlbnRzLCBpZiB0aGVyZSBhcmUgdGltZXJzIHdpdGggdGhlIHNhbWUKCSAgdGltZW91dCwgd2Ugd2FudCB0byB0cmlnZ2VyIHRoZSBsb3dlc3Qgc2VxbnVtIGZpcnN0LiBGb3IgdGhpcyB3ZSBuZWVkIHRvIGxvb3AKCSAgb3ZlciB0aGUgY29tcGxldGUgYXJyYXkgb2YgdGltZXJzIHRvIGZpbmQgdGhlIGJlc3Qgb25lIGJlZm9yZSB0cmlnZ2VyaW5nIHRoZQoJICB0aW1lb3V0LgoKMjAxMy0wOS0yMCAxNjo1ODozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNlbmQgbG9zdCBldmVudCBiZWZvcmUgc2lnbmFsaW5nIG5leHQgYnVmZmVyCgkgIEZpcnN0IHNlbmQgdGhlIGxvc3QgZXZlbnQsIHRoZW4gdXBkYXRlIHRoZSBuZXh0X3NlcW51bSBjb3VudGVyIGFuZCB0aGVuCgkgIHNlbmQgdGhlIHNpZ25hbCB0byB0aGUgcHVzaGluZyB0aHJlYWQgdGhhdCBpdCBjYW4gcmV0cnkgdG8gcHVzaCBhIGJ1ZmZlci4gVGhpcwoJICBhdm9pZHMgcHVzaGluZyBvdXQgYnVmZmVycyBiZWZvcmUgdGhlIGxvc3QgZXZlbnQgaXMgcHVzaGVkLgoKMjAxMy0wOS0yMCAxNTozNToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogY29uZmlndXJlIGNsb2NrLXJhdGUgb24gaml0dGVyYnVmZmVyCgkgIEFkZCBhIGdldCBhbmQgc2V0dGVyIHRvIGNvbmZpZ3VyZSB0aGUgY2xvY2stcmF0ZSBpbiB0aGUgaml0dGVyYnVmZmVyIGluc3RlYWQgb2YKCSAgcGFzc2luZyBpdCBhcyBhbiBhcmd1bWVudCB0byB0aGUgaW5zZXJ0IG1ldGhvZC4KCjIwMTMtMDktMjAgMTI6Mjk6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBwYWNrZXQgZGVsYXkgYW5kIHJldHJhbnNtaXNzaW9uCgoyMDEzLTA5LTIwIDEyOjI3OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRkIG9wdGlvbiB0byByZXNldCByZXRyYW5zbWlzc2lvbiB0aW1lcnMKCjIwMTMtMDktMjAgMTI6MjU6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzdG9wIHRoZSB0aW1lciB0aHJlYWQKCSAgVGhlIHRpbWVvdXQgY29kZSBjb3VsZCByZWxlYXNlIHRoZSBsb2NrIHNvIHdlIG5lZWQgdG8gY2hlY2sgaWYgd2UgYXJlIGFsbG93ZWQgdG8KCSAgd2FpdCBmb3IgdGhlIGNsb2NrIHNvbWUgbW9yZS4KCjIwMTMtMDktMjAgMTI6MjU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiB1bmxvY2sgb25seSBvbmNlCgoyMDEzLTA5LTIwIDExOjMwOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBjaGVjayBib3RoIFBUUyBhbmQgRFRTCgoyMDEzLTA5LTIwIDEwOjU1OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhZGQgdW5pdC10ZXN0IGZvciBtdWx0aXBsZSBtaXNzaW5nIHBhY2tldHMKCSAgQ2hlY2sgaWYgbXVsdGlwbGUgbWlzc2luZyBwYWNrZXRzIGdlbmVyYXRlIHJldHJhbnNtaXNzaW9uIGV2ZW50cyBhbmQgdGhhdCB0aGUKCSAgcmV0cmFubWlzc2lvbiByZXF1ZXN0cyBhcmUgY2FuY2VsZWQgd2hlbiB0aGUgbWlzc2luZyBwYWNrZXQgYXJyaXZlcy4KCjIwMTMtMDktMjAgMTA6NTM6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlIGZsdXNoIGFuZCBzaHV0ZG93bgoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHVuc2NoZWR1bGUgdGhlIHRpbWVyIGluIGZsdXNoLXN0YXJ0LCBmbHVzaC1zdG9wIHdpbGwgcmVtb3ZlCgkgIHRoZSB0aW1lcnMgYW5kIHVuc2NoZWR1bGUuCgkgIFVuc2NoZWR1bGUgdGhlIGN1cnJlbnQgdGltZXIgYmVmb3JlIGF0dGVtcHRpbmcgdG8gam9pbiB0aGUgdGltZXIgdGhyZWFkLgoKMjAxMy0wOS0yMCAxMDo0Mzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wOS0yMCAxMDo0MjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNldCBjb3JyZWN0IGV4cGVjdGVkIHRpbWUKCSAgV2hlbiB3ZSBhbHJlYWR5IGhhdmUgYSB0aW1lciBmb3IgYSBwYWNrZXQsIHNraXAgaXQgYnV0IGRvbid0IGZvcmdldCB0byBhZGp1c3QKCSAgdGhlIGR0cyB0byB0aGUgZXhwZWN0ZWQgZHRzIG9mIHRoZSBuZXh0IHBhY2tldC4KCjIwMTMtMDktMjAgMTA6NDE6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA5LTE5IDE2OjU1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiB1c2UgUE9GRlNFVCBpbnN0ZWFkIG9mIE9GRlNFVAoJICBVc2UgdGhlIG1vcmUgY29ycmVjdCBQT0ZGU0VUIG1hY3JvIHRvIGdldCB0aGUgb2Zmc2V0IG9mIGEgY29tcG9uZW50IGluIGl0cwoJICBwbGFuZS4gVGhlIG9mZnNldCBtYWNybyBnaXZlcyB0aGUgb2Zmc2V0IG9mIHRoZSBjb21wb25lbnQgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0CgkgIG9mIHRoZSBmcmFtZS4KCjIwMTMtMDktMjEgMTg6NDY6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nb29tL21teC5oOgoJICBnb29tOiBGaXggTU1YIGFzc2VtYmx5IGNvbXBpbGF0aW9uIHdpdGggY2xhbmcKCSAgY2xhbmcgZG9lcyBub3Qgd2FudCBvciBuZWVkIGEgY2xvYmJlciBsaXN0IGZvciBlbW1zOgoJICBlcnJvcjogY2xvYmJlcnMgbXVzdCBiZSBsYXN0IG9uIHRoZSB4ODcgc3RhY2sKCSAgUGF0Y2ggdGFrZW4gZnJvbSB0aGUgRnJlZUJTRCBwb3J0cywgcHJvdmlkZWQgYnkKCSAgRGFuIE1jR3JlZ29yIDxkYW4ubWNncmVnb3JAdXNhc2suY2E+CgoyMDEzLTA5LTIwIDE2OjE2OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjYxMzY2MSB0byA2YjAzYmE3CgoyMDEzLTA5LTIwIDEwOjE5OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IE1ha2Ugc3VyZSB0aGF0IHN1YnRpdGxlIGJ1ZmZlcnMgYXJlIFwwLXRlcm1pbmF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzkzMwoKMjAxMy0wOS0xNyAxMjoxNzo1NCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBpc3N1ZXMgY29ycmVjdGx5IHdoZW4gZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgVGhlIHN0cmVhbWFibGUgcHJvcGVydHkgb25seSBtYWtlIHNlbnNlIGZvciBmcmFnbWVudGVkIGZvcm1hdHMuCgkgIEZvciByZWd1bGFyIE1QNCwgd2hlbiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZSB3ZSBjYW4ndCByZXdyaXRlCgkgIHRoZSBoZWFkZXJzLCBzbyBxdG11eCBjYW4gb25seSB3b3JrIHdpdGggZmFzdC1zdGFydD1UUlVFLCB3aGVyZQoJICB0aGUgaGVhZGVycyBhcmUgd3JpdHRlbiBmaW5pc2hpbmcgdGhlIGZpbGUuCgkgIEZvciBmcmFnbWVudGVkIE1QNCwgd2hlbiBzdHJlYW1hYmxlIGlzIG5vdCBzZWVrYWJsZSBhbmQgdGhlIHN0cmVhbWFibGUKCSAgcHJvcGVydHkgaXMgRkFMU0UsIHdlIG11c3QgZW5mb3JjZSBzdHJlYW1hYmxlPVRSVUUgd2FybmluZyB0aGUgdXNlcgoJICBhYm91dCB0aGlzIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjQyCgoyMDEzLTA5LTE3IDEyOjA2OjA2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWFrZSAic3RyZWFtYWJsZSIgVFJVRSBhcyBkZWZhdWx0CgkgIFRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZSBmb3IgZnJhZ21lbnRlZCBNUDQgKERhc2ggYW5kIFNtb290aCBTdHJlYW1pbmcpCgkgIGlzIHByb2R1Y2luZyBzdHJlYW1hYmxlIGNvbnRlbnQgKGV2ZW4gZm9yIFZPRCkuIHN0cmVhbWFibGU9RkFMU0Ugd291bGQgb25seQoJICBiZSB1c2VkIHRvIGdlbmVyYXRlIGZyYWdtZW50ZWQgTVA0IHdpdGggYW5kIGluZGV4IG9mIE1PT0YncyB0aGF0IGNvdWxkCgkgIGJlIHJlcHJvZHVjZWQgd2l0aG91dCBhIHBsYXlsaXN0L21hbmlmZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyNDIKCjIwMTMtMDktMTcgMTI6MDE6MzAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkZXByZWNhdGUgdGhlIHN0cmVhbWFibGUgcHJvcGVydHkgZm9yIG5vbi1mcmFnbWVudGVkIE1QNAoJICBUaGUgc3RyZWFtYWJsZSBwcm9wZXJ0eSBvbmx5IG1ha2VzIHNlbnNlIGZvciBmcmFnbWVudGVkIE1QNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI0MgoKMjAxMy0wOS0xOSAxNzowODoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IFJlbW92ZSBjb21tZW50ZWQgb3V0IGxpbmUKCjIwMTMtMDktMTkgMTg6NDM6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDc0YTY4NTcgdG8gYjYxMzY2MQoKMjAxMy0wOS0xOSAxNzozNToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDk4YzBkNyB0byA3NGE2ODU3CgoyMDEzLTA5LTE5IDE2OjUwOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBkb24ndCBhc3N1bWUgcGxhbmFyIGZvcm1hdHMgaGF2ZSBqdXN0IDEgYmxvY2sKCSAgRG9uJ3QgYXNzdW1lIHBsYW5hciBmb3JtYXRzIGhhdmUganVzdCBvbmUgbWVtb3J5IGJsb2NrIHdpdGggdGhlIGRhdGEgYnV0IHVzZSB0aGUKCSAgbWFjcm9zIHRvIGFjY2VzcyB0aGUgcmlnaHQgbWVtb3J5IGJsb2NrIHdoZXJlIGEgY29tcG9uZW50IGNhbiBiZSBmb3VuZC4KCjIwMTMtMDktMTkgMTQ6MTQ6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFkZCByZXRyYW5zbWlzc2lvbiBqaXR0ZXJidWZmZXIgdGVzdAoJICBTdG9yZSBib3RoIERUUyBhbmQgUFRTIG9uIGJ1ZmZlcnMuCgkgIE1ha2UgYSBxdWV1ZSBmb3Igc3JjcGFkIGV2ZW50cy4KCSAgQWN0aXZhdGUgcGFkcyBhZnRlciBsaW5raW5nIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IFJFQ09ORklHVVJFIGV2ZW50cy4KCSAgQWRkIHRlc3QgZm9yIHJldHJhbnNtaXNzaW9uLgoKMjAxMy0wOS0xOSAxNDoxMjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGtlZXAgZGVsYXkgYXMgYSBzZXBhcmF0ZSB2YXJpYWJsZSBpbiB0aW1lcgoJICBLZWVwIGEgc2VwYXJhdGUgZGVsYXkgaW4gdGhlIHRpbWVyIHNvIHRoYXQgd2Ugc3RpbGwga25vdyB0aGUgb3JpZ2luYWwgdGltZXN0YW1wCgkgIG9mIHRoZSBwYWNrZXQgdGhhdCB0aGlzIHRpbWVyIHJlZmVycyB0by4gV2UgY2FuIHRoZW4gcGxhY2UgdGhlIGNvcnJlY3QKCSAgcnVubmluZy10aW1lIGluIHRoZSBSZXRyYW5zbWlzc2lvbiBldmVudC4KCjIwMTMtMDktMTkgMTQ6MDg6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggd3JpdGFiaWxpdHkgb2YgcHJvcGVydGllcwoKMjAxMy0wOS0xOSAxMTozNDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuOTAgPT09CgoyMDEzLTA5LTE5IDEwOjUwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjkwCgoyMDEzLTA5LTE5IDEwOjIxOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDktMTkgMDk6NDU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2NzLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDktMTEgMTQ6Mjc6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG1hYnVmIGlzIG5vdCBhIHNpbmdsZXRvbiBhbnltb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc3OTMKCjIwMTMtMDktMTYgMTM6NTM6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBkbyBub3QgZG8gaHR0cCByZXF1ZXN0cyBpbiBSRUFEWQoJICBIRUFEIHJlcXVlc3RzIHRvIGRpc2NvdmVyIGlmIHRoZSBzZXJ2ZXIgaXMgc2Vla2FibGUgc2hvdWxkbid0IGJlIGRvbmUgaW4KCSAgUkVBRFkgYXMgaXQgbWlnaHQgbG9jayB0aGUgbWFpbiB0aHJlYWQgdGhhdCBpcyBkb2luZyB0aGUgc3RhdGUgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzcxCgoyMDEzLTA5LTE4IDE2OjMyOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVldmFsdWF0ZSB0aGUgY3VycmVudCB0aW1lciBhZnRlciB0aW1lb3V0CgkgIFdoZW4gd2UgdHJpZ2dlciB0aGUgdGltZW91dCBsb2dpYyBvZiBhIHRpbWVyLCByZWV2YWx1YXRlIGl0IGJlY2F1c2UgaXQgaXMKCSAgcG9zc2libGUgdGhhdCBpdCBzdGlsbCBoYXMgdGhlIGxvd2VzdCB0aW1lb3V0LgoKMjAxMy0wOS0xOCAxNjozMToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IHVwZGF0ZSB0aW1lIHdoZW4gdW5zY2hlZHVsZWQKCSAgRG9uJ3QgdHJ5IHRvIGVzdGltYXRlIHRoZSBjdXJyZW50IHRpbWUgd2hlbiB3ZSBnb3QgdW5zY2hlZHVsZWQuCgoyMDEzLTA5LTE4IDE2OjI5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW5pdCBwYWNrZXQgc3BhY2luZyBvbiBmaXJzdCBidWZmZXIKCSAgQWxyZWFkeSBpbml0IHRoZSBwYWNrZXQgc3BhY2luZyB2YXJpYWJsZXMgb24gdGhlIGZpcnN0IGJ1ZmZlciBzbyB0aGF0IHdlIGNhbgoJICBjYWxjdWxhdGUgdGhlIHNwYWNpbmcgb24gdGhlIHNlY29uZCBidWZmZXIgYWxyZWFkeS4KCjIwMTMtMDktMTggMTU6MDg6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGZpeCBjb21tZW50cwoKMjAxMy0wOS0xOCAxNDo1NzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHB1c2ggdGhlIGxvc3QgZXZlbnQgZnJvbSB0aGUgdGltZXIgdGhyZWFkCgkgIEluc3RlYWQgb2YgcHVzaGluZyB0aGUgbG9zdCBldmVudCBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiwgc2NoZWR1bGUgYSB0aW1lb3V0CgkgIHRoYXQgd2lsbCBwdXNoIHRoZSBsb3N0IGV2ZW50IGZyb20gdGhlIHRpbWVyIHRocmVhZC4gVGhpcyBhdm9pZCBibG9ja2luZyB0aGUKCSAgdXBzdHJlYW0gdGhyZWFkIHdoaWxlIHdlIHB1c2ggYW5kIHN5bmMgdGhlIGV2ZW50LgoKMjAxMy0wOS0xOCAxNDoyMzo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkZCBhbm90aGVyIHRlc3QKCSAgVGhlIHRlc3QgaXMgbW9kaWZpZWQgc2xpZ2h0bHkgYmVjYXVzZSB0aGUgbGF0ZSBsb3N0IHBhY2tldHMgYXJlIG9ubHkKCSAgZ2VuZXJhdGVkIG5vdyB3aGVuIGEgbGFyZ2UgZ2FwIGlzIHJlY2VpdmVkLgoKMjAxMy0wOS0xOCAxNDoxMjo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByb3VuZCBnYXAgZHVyYXRpb24gdG8gbXVsdGlwbGUgb2YgZHVyYXRpb24KCSAgTWFrZSBzdXJlIHRoZSBnYXAgZHVyYXRpb24gaW4gdGhlIGxvc3QgZXZlbnQgaXMgYSBtdWx0aXBsZSBvZiB0aGUgcGFja2V0CgkgIGR1cmF0aW9uLgoJICBFbmFibGUgYW5vdGhlciB0ZXN0LgoKMjAxMy0wOS0xOCAxMjoyOTozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjoga2VlcCB0cmFjayBvZiBkdXJhdGlvbgoJICBLZWVwIHRyYWNrIG9mIHRoZSBlc3RpbWF0ZWQgZHVyYXRpb24gb2YgbWlzc2luZyBwYWNrZXRzIGFuZCB1c2UgaXQgaW4gdGhlIGxvc3QKCSAgZXZlbnQuCgkgIEVuYWJsZSBhbm90aGVyIHVuaXQgdGVzdAoKMjAxMy0wOS0xOCAxMTo1OToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBoYW5kbGUgbGFyZ2UgZ2FwcyB3aXRoIG9uZSBsb3N0IGV2ZW50CgkgIFdoZW4gd2UgaGF2ZSBhIGxhcmdlIG51bWJlciBvZiBtaXNzaW5nIHBhY2tldHMsIGdlbmVyYXRlIG9uZSBsb3N0IGV2ZW50IGZvciBhbGwKCSAgdGhlIHBhY2tldHMgdGhhdCBoYXZlIG5vIGNoYW5jZSBvZiBiZWluZyBwdXNoZWQgb3V0IGluIHRpbWUuCgkgIEZpeCBhbmQgYWN0aXZhdGUgdW5pdCB0ZXN0IGZvciBsYXJnZSBnYXBzLgoKMjAxMy0wOS0xOCAxMTo1NjozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIGxvc3QgZXZlbnQgc2VuZGluZwoJICBBbHNvIG1ha2Ugc3VyZSB3ZSBvbmx5IGluY3JlbWVudCB0aGUgZXhwZWN0ZWQgc2VxbnVtIGFuZCBsYXN0CgkgIG91dHB1dCB0aW1lc3RhbXAuCgoyMDEzLTA5LTE3IDIzOjIxOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgdGltZW91dCB0cmlnZ2VycwoKMjAxMy0wOS0xNyAyMzowMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNpbXBsaWZ5IHRoZSB0aW1lb3V0IGNvZGUKCSAgS2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCB0aW1lIGluIHRoZSB0aW1lb3V0IGxvb3AuCgkgIExvb3Agb3ZlciBhbGwgdGltZXJzIGFuZCB0cmlnZ2VyIGFsbCB0aGUgZXhwaXJlZCBvbmVzLCB3ZSBjYW4gZG8gdGhpcyBpbiB0aGUKCSAgc2FtZSBsb29wIHRoYXQgc2VsZWN0cyB0aGUgbmV3IGJlc3QgdGltZXIuCgoyMDEzLTA5LTE3IDIzOjAxOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVhcnJhbmdlIHRpbWVyIHVwZGF0ZSBjb2RlCgkgIEFsc28gdXBkYXRlIHRoZSB0aW1lcnMgd2hlbiByZXRyYW5zbWlzc2lvbiBpcyBkaXNhYmxlZC4gV2UgbmVlZCB0bwoJICBkbyB0aGlzIGJlY2F1c2Ugd2hlbiB3ZSBhZGRlZCBMT1NUIHRpbWVycyB3aGVuIHdlIGRldGVjdGVkIG1pc3NpbmcgcGFja2V0cyBhbmQKCSAgd2UgbmVlZCB0byByZW1vdmUgdGhvc2UgdGltZXJzIHdoZW4gdGhlIHBhY2tldCBmaW5hbGx5IGFycml2ZXMuCgoyMDEzLTA5LTE3IDIyOjAyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWl4ZXI6IGxpbmsgdG8gbGlibSBmb3IgbWF0aHMgc3R1ZmYKCSAgRml4ZXMgdW5kZWZpbmVkIHJlZmVyZW5jZXMgdG8gcmludCBhbmQgcG93IG9uIHVidW50dQoJICBidWlsZCBib3QuCgoyMDEzLTA5LTE3IDE1OjE5OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIG9uIHNodXRkb3duCgoyMDEzLTA5LTE3IDE1OjExOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBjaGFuZ2UgZm9yIHZpZGVvbWl4ZXIgcmVuYW1lZCBvcmMgZmlsZQoKMjAxMy0wOS0xNCAxNjowMzoyMCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBNQVhfVE9MRVJBVEVEX0xBVEVORVNTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc0MTEKCjIwMTMtMDktMTYgMTU6NTQ6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtcnR4LnNoOgoJICBleGFtcGxlczogd2UgZG9uJ3QgbmVlZCB0aGUgcXVldWUgYW55bW9yZQoKMjAxMy0wOS0xNiAxNTo1Mzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVzZSBzZXBhcmF0ZSB0aHJlYWQgZm9yIHRpbWVvdXRzCgkgIFVzZSBhIHNlcGFyYXRlIHRocmVhZCBmb3Igc2NoZWR1bGluZyB0aGUgdGltZW91dHMgaW5zdGVhZCBvZiB1c2luZyB0aGUKCSAgZG93bnN0cmVhbSBzdHJlYW1pbmcgdGhyZWFkIHRoYXQgbWlnaHQgYmxvY2sgYXQgYW55IHRpbWUuCgoyMDEzLTA5LTE0IDE1OjU2OjA0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IGZpcnN0X3RzIHRvIERUUyBmb3Igc3RyZWFtcyB0aGF0IGhhdmUgRFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczNDAKCjIwMTMtMDktMTQgMTU6NTU6MjIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYWtlIHN1cmUgZHVyYXRpb24gaXMgYSB2YWxpZCBudW1iZXIgZm9yIGxhc3QgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczNDAKCjIwMTMtMDktMTQgMTU6NTQ6MjkgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2Ugc2VnbWVudC5zdGFydCBvciBsYXN0IGJ1ZmZlciBlbmQgdGltZSBpbiBjYXNlIG9mIG1pc3NpbmcgRFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczNDAKCjIwMTMtMDktMDMgMTg6MTQ6MDQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIFJldmVydCBxdG11eDogVXNlIGJ1ZmZlciBQVFMgaWYgRFRTIGlzIG5vdCBzZXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjcyYzNjZjcxZmRlNjIyMDY3ZjQxZjMxYTUzOTc4YmE0Yzk0NDY5ZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0xNiAxMTowMzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiBVcGRhdGUgb3JjIGdlbmVyYXRlZCBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTMxCgoyMDEzLTA5LTEzIDE2OjI1OjQ5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRGVtdXggUlRDUCBidWZmZXJzIGZyb20gdGhlIFJUUCBzdHJlYW0KCSAgSWYgdGhlcmUgYXJlIFJUQ1AgYnVmZmVycyBpbiB0aGUgUlRQIHN0cmVhbSwgcHJvY2VzcyB0aGVtIGFzCgkgIFJUQ1AuIFRoaXMgd2F5LCB3ZSB3YW50IHJlY2VpdmUgc3RyZWFtcyBmb2xsb3dpbmcgUkZDIDU3NjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzY1NwoKMjAxMy0wOS0xMyAyMzoyNjoyMSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJICBydHA6IFJlbW92ZSBib2d1cyBleHRyYSBjYXBzIGZyb20gTDI0IHRlbXBsYXRlLgoJICBUaGUgZXh0cmEgY2FwcyBlbnRyeSBpbiB0aGUgdGVtcGxhdGUgd2FzIG1ha2luZyBpdCBzb21ldGltZXMKCSAgZ2V0IHBsdWdnZWQgZm9yIGFueSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgcGF5bG9hZCB0eXBlLgoKMjAxMy0wOS0xMyAxMjo0MDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IHVzZSBQYWNrZXRJbmZvIGZvciB0aGUgc2VuZGVyCgkgIEF2b2lkIG1hcHBpbmcgdGhlIHBhY2tldCBtdWx0aXBsZSB0aW1lcyB3aGVuIHNlbmRpbmcgUlRQLgoKMjAxMy0wOS0xMyAxMjoyMjozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IHN0b3JlIG1vcmUgaW4gdGhlIFBhY2tldEluZm8KCSAgU3RvcmUgYWxsIGluZm8gaW4gdGhlIFBhY2tldEluZm8gc28gdGhhdCB3ZSBjYW4gYXZvaWQgbWFwcGluZyB0aGUgcGFja2V0CgkgIG11bHRpcGxlIHRpbWVzLgoKMjAxMy0wOS0xMyAxMTozMjo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgc2Vzc2lvbjogc3RvcmUgbW9yZSBpbiB0aGUgUGFja2V0SW5mbyBzdHJ1Y3R1cmUKCjIwMTMtMDktMTMgMTE6MDg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiBSVFBBcnJpdmFsU3RhdHMgLT4gUlRQUGFja2V0SW5mbwoJICBSZW5hbWUgYSBzdHJ1Y3R1cmUgYmVjYXVzZSB3ZSBhcmUgYWxzbyBnb2luZyB0byB1c2UgdGhpcyBmb3IgdGhlIHNlbmRlcgoJICBiaXRzLgoKMjAxMy0wOS0xMyAxMDo1NTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc291cmNlOiBzbWFsbCBjbGVhbnVwcwoKMjAxMy0wOS0xMiAxMzozMTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgdXBkYXRlIHN0b3AgcG9zaXRpb24gaWYgc2VlayByZXF1ZXN0cyBpdAoJICBDaGVjayBmb3IgR1NUX1NFRUtfVFlQRV9OT05FIGZvciBzdG9wIHBvaXN0aW9uIGFuZCBvbmx5IHVwZGF0ZQoJICB0aGUgc3RvcCB0aW1lIGlmIGl0IGlzIHJlcXVlc3RlZC4gT3RoZXJ3aXNlIGp1c3QgbWFpbnRhaW4gd2hhdGV2ZXIKCSAgd2FzIHN0b3JlZCBhdCB0aGUgc2VnbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTMwCgoyMDEzLTA5LTEzIDA4OjUzOjI1ICswMjAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IEFkZCBtaXNzaW5nIGhlYWRlcnMgdHAgZml4IG1ha2UgZGlzdAoJICBJbiBhZGRpdGlvbiB0byBhOTU2YTZjZWIyZGViODdjYzEzNjFhZWUxZDY2MjY0NDlmNDZkYWIyCgoyMDEzLTA5LTEyIDE1OjA3OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE1ha2Ugc3VyZSB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHJlYWQgaW1hZ2UgdGFncwoJICBUaGFua3MgdG8gaXB1dGluZWkgZm9yIHJlcG9ydGluZyB0aGlzIG9uIElSQy4KCjIwMTMtMDktMTIgMTU6MDE6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgc2VnbWVudHMgd2l0aCBub24tMCBzdGFydAoJICBXZSBrZWVwIHRoZSBEVFMgYW5kIFBUUyBpbiBydW5uaW5nLXRpbWUgaW5zaWRlIHRoZSBqaXR0ZXJidWZmZXIuIE1ha2Ugc3VyZSB0bwoJICB0cmFuc2Zvcm0gaXQgYmFjayB0byBhIGJ1ZmZlciB0aW1lc3RhbXAgYmVmb3JlIHB1c2hpbmcgb3V0IHRoZSBidWZmZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5MzEKCjIwMTMtMDktMTEgMTM6MTE6NTggLTA2MDAgIFNlw6FuIGRlIELDunJjYSA8bGVmdG1vc3RjYXRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBvZmYtYnktb25lIGluIHZhbGlkYXRpb24gb2YgVVRGLTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzkzMwoKMjAxMy0wOS0xMSAxNDozMjoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG8gbm90IGNoZWNrIGlmIGNhcHMgYXJlIGVtcHR5IHdoZW4gdGhleSBhcmUgTlVMTAoJICBJbiB0aGUgY2FzZSB0aGUgY2FwcyBhcmUgYWN0dWFsbHkgTlVMTCwgd2Ugc2hvdWxkIGp1c3QgY29uY2lkZXIgaXQgdGhlCgkgIHNhbWUgd2F5IGFzIGVtcHR5IGNhcHMgaW4gdGhhdCBjYXNlLgoKMjAxMy0wOS0xMCAxNjo0NDo1MyAtMDYwMCAgU2XDoW4gZGUgQsO6cmNhIDxsZWZ0bW9zdGNhdEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IGZpeCBidWlsZCBpZiBvcmMgaXMgbm90IGluc3RhbGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3ODg2CgoyMDEzLTA5LTEwIDE3OjU3OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJlc2VydmUgc2VxbnVtIHdoZW4gcHVzaGluZyBzZWVrIHVwc3RyZWFtCgkgIEFmdGVyIGNvbnZlcnRpbmcgYSBzZWVrIGZyb20gdGltZSB0byBieXRlcywgdXNlIHRoZSBzYW1lIHNlcW51bQoJICBvbiB0aGUgZXZlbnQgdGhhdCBnb2VzIHVwc3RyZWFtCgoyMDEzLTA5LTA1IDAwOjE3OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdHJhY2sgc3RyZWFtcyB0aGF0IGFyZSBFT1Mgb24gcHVzaCBtb2RlIHRvIGZpbmlzaCBlYXJsaWVyCgkgIFdoZW4gdGhlIHNlZ21lbnQgaGFzIGEgZGVmaW5lZCBzdG9wIHBvc2l0aW9uLCBxdGRlbXV4IHNob3VsZCBjaGVjawoJICB3aGVuIHN0cmVhbXMgcmVhY2ggdGhpcyBwb3NpdGlvbiBhbmQgbWFyayB0aG9zZSBhcyBFT1MuIFdoZW4gYWxsCgkgIHN0cmVhbXMgYXJlIEVPUyBpdCB3aWxsIHJldHVybiBHU1RfRkxPV19FT1MgdG8gdXBzdHJlYW0gdG8gYWxsb3cKCSAgdGhlIHBpcGVsaW5lIHRvIGZpbmlzaCBpbnN0ZWFkIG9mIGNvbnRpbnVvdXNseSBjb25zdW1lIGJ1ZmZlcnMKCSAgZnJvbSB1cHN0cmVhbSB0aGF0IGFyZSBub3QgdXNlZnVsIGZvciB0aGUgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzUzMAoKMjAxMy0wOS0wNCAxNTozNDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwcmVzZXJ2ZSBzdG9wIG9mIHNlZ21lbnQgd2hlbiBkb2luZyBzZWVrcyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBoYW5kbGluZyBzZWVrcyBpbiBwdXNoIG1vZGUsIHF0ZGVtdXggY29udmVydHMgdGhlIHNlZWsgdG8gYnl0ZXMKCSAgYW5kIHB1c2hlcyB1cHN0cmVhbS4gSXQgbmVlZHMgdG8ga2VlcCB0cmFjayBvZiB0aGUgc2VlayBhbmQgdGhlCgkgIHN1YnNlcXVlbnQgc2VnbWVudCB0byBiZSBhYmxlIHRvIG1hcCB0aGVtIGJhY2sgdG8gdGhlIHJlcXVlc3RlZAoJICBzZWVrIHRpbWUgYW5kIHByb3Blcmx5IHByZXNlcnZlIHRoZSBzZWdtZW50IHN0b3Agb2YgdGhlIHNlZWsuCgkgIFRoaXMgaXMgZG9uZSBieSB1c2luZyB0aGUgc3RhcnQgb2Zmc2V0IGluIGJ5dGVzIG9mIHRoZSBzZWVrLAoJICB0aGF0IHNob3VsZCBiZSB0aGUgc2FtZSBvZiB0aGUgc2VnbWVudCBmcm9tIHVwc3RyZWFtLiBBbmQgdGhpcwoJICBpcyBhbHNvIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggd2hhdCBxdGRlbXV4IGFscmVhZHkgd2FzIHVzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTMwCgoyMDEzLTA3LTI2IDE5OjQwOjUzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyOiBBZGQgY29sb3JzcGFjZSBjb252ZXJzaW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTAKCjIwMTMtMDgtMDYgMTU6Mzg6MzkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHNlbmQgcmVjb25maWd1cmUgZXZlbnQgd2hlbiBmb3JtYXRzIG9yIFBBUiBhcmUgZGlmZmVyZW50CgkgIEl0IGlzIHJhY3kgd2l0aCBtdWx0aXBsZSBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTUwCgoyMDEzLTA3LTI1IDEzOjQ5OjU3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IEJ1bmRsZSBwcml2YXRlIGNvcGllcyBvZiB2aWRlb2NvbnZlcnQgY29kZQoJICBJZGVhbGx5LCB0aGlzIHdvdWxkIGJlIHBhcnQgb2YgbGliZ3N0dmlkZW8uCgkgIFByZWZpeGVzIHZpZGVvY29udmVydCBzeW1ib2xzIHdpdGggdmlkZW9taXhlcl8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTAKCjIwMTMtMDgtMjIgMDA6MDM6NDggKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IFVzZSBuZXdseSAjZGVmaW5lZCBtZXRhZGF0YSBuYW1lcy4KCjIwMTMtMDktMDkgMTU6MTE6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgd2FpdCBpZiB3ZSBmbHVzaGVkCgkgIE9ubHkgd2FpdCBmb3IgdGhlIFNUUkVBTV9MT0NLIHdoZW4gd2UgZmx1c2hlZCBzb21ldGhpbmcgd2hlbiBzZW5kaW5nCgkgIGEgY29tbWFuZCBmb3IgUEFVU0VEIG9yIFBMQVlJTkcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2MTEKCjIwMTMtMDktMDkgMTU6MDk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJldHVybiB3aGVuIGEgZmx1c2ggd2FzIGlzc3VlZAoJICBNYWtlIGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQoKSByZXR1cm4gVFJVRSB3aGVuIHRoZSBjdXJyZW50CgkgIGFjdGlvbiBoYXMgYmVlbiBmbHVzaGVkCgoyMDEzLTA5LTA5IDExOjE2OjQwICswMjAwICBEYXZpZCBIb2xyb3lkIDxkYXZlQGJhZGdlcnMtaW4tZm9pbC5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHA6IGFkZCBMMjQgcGF5IGFuZCBkZXBheWxvYWRlcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NzM0CgoyMDEzLTA5LTA5IDE0OjQ2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IG1pc3NpbmcgY29uZGl0aW9uIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMy0wOS0wOSAxNDo0NDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFsc28gZml4IHN0cmlkZXMgZm9yIG90aGVyIHNlbWktcGxhbmFyIHZpZGVvIGZvcm1hdHMKCjIwMTMtMDktMDkgMTQ6NDE6NDIgKzAyMDAgIEFuZHJlZWEgRnVsZ2VyIDxhbmRyZWVhLmZ1bGdlckBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEZpeCBzdHJpZGUgZm9yIE5WMTIvTlYyMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NzU4CgoyMDEzLTA5LTA3IDE2OjM3OjAzICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBsZWFraW5nIGJ1ZmZlciBhbmQgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3Njg4CgoyMDEzLTA5LTA1IDE5OjQ2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggYnVpbGQgb24gd2luMzIKCSAgZ3N0dWRwc3JjLmM6ODU1OjE1OiBlcnJvcjogI2lmIHdpdGggbm8gZXhwcmVzc2lvbgoKMjAxMy0wOS0wNCAxNTo1MDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGhhbmRsZSB1bnNlZWthYmxlIHN0cmVhbXMKCSAgSGFuZGxlIHN0cmVhbXMgdGhhdCB3ZSBjYW4ndCBzZWVrIGluIGFuZCBpZ25vcmUgdGhlbSBpbiB0aGUKCSAgc2VlayBsb2dpYy4KCjIwMTMtMDktMDQgMTU6MjU6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBvbmx5IGNoZWNrIHZpZGVvIGNvbXByZXNzaW9uIGZvciB2aWRlbyBzdHJlYW1zCgkgIE9yIGVsc2Ugd2UgbWlnaHQgZGVyZWYgYSBzdHJlYW0gd2l0aCBhIE5VTEwgc3RyZi52aWRzIGFuZCBzZWdmYXVsdAoKMjAxMy0wNi0xOCAxMzoyNzoyMCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgdGhlIGF2YzMgc2FtcGxlIGVudHJ5IGZvcm1hdCBvZiB0aGUgQVZDIGZpbGUgZm9ybWF0CgkgIEFtZW5kbWVudCAyIG9mIElTTy9JRUMgMTQ0OTYtMTUgKEFWQyBmaWxlIGZvcm1hdCkgaXMgZGVmaW5pbmcgYSBuZXcKCSAgc3RydWN0dXJlIGZvciBmcmFnbWVudGVkIE1QNCBjYWxsZWQgImF2YzMiLiBUaGUgcHJpbmNpcGFsIGRpZmZlcmVuY2UKCSAgYmV0d2VlbiBBVkMxIGFuZCBBVkMzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgY29kZWMgaW5pdGlhbGlzYXRpb24KCSAgZGF0YSAoZS5nLiBTUFMsIFBQUykuIEluIEFWQzEgdGhpcyBkYXRhIGlzIHBsYWNlZCBpbiB0aGUgaW5pdGlhbAoJICBNT09WIGJveCAobW9vdi50cmFrLm1kaWEubWluZi5zdGJsLnN0c2QuYXZjMSkgYnV0IGluIEFWQzMgdGhpcyBkYXRhCgkgIGdvZXMgaW4gdGhlIGZpcnN0IHNhbXBsZSBvZiBldmVyeSBmcmFnbWVudCAoaS5lLiB0aGUgZmlyc3Qgc2FtcGxlIGluCgkgIGVhY2ggbWRhdCBib3gpLiAgVGhlIHByaW5jaXBhbCByZWFzb24gZm9yIGF2YzMgaXMgdG8gbWFrZSBpdCBlYXNpZXIKCSAgZm9yIGNsaWVudCBpbXBsZW1lbnRhdGlvbnMsIGJlY2F1c2UgaXQgcmVtb3ZlcyB0aGUgcmVxdWlyZW1lbnQgdG8KCSAgaW5zZXJ0IHRoZSBTUFMrUFBTIGluIHRvIHRoZSBkZWNvZGVyIHBpcGVsaW5lIGV2ZXJ5IHRpbWUgdGhlcmUgaXMgYQoJICByZXByZXNlbnRhdGlvbiBjaGFuZ2UuCgkgIFRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCBmb3IgdGhlICJhdmMzIiBhdG9tLCB3aGljaCBpcyBhbG1vc3QgaWRlbnRpY2FsCgkgIHRvIHRoZSAiYXZjMSIgYXRvbSwgZXhjZXB0IGl0IGRvZXMgbm90IGNvbnRhaW4gYW55IFNQUyBvciBQUFMgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjAwNAoKMjAxMy0wOS0wNCAwMDoyNzo1MCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3Qgc2V0IEVPUyB0byBGQUxTRSB3aGVuIHRoZSBjb2xsZWN0cGFkICppcyogRU9TCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyMzgKCjIwMTMtMDktMDMgMTc6MzI6NDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGNsZWFudXAgb24gZXJyb3IgYWZ0ZXIgc3RhdGUgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyMjkKCjIwMTMtMDktMDMgMTE6MjM6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogQmluZCB0byBtdWx0aWNhc3QgYWRkcmVzc2VzIG9uIG5vbi1XaW5kb3dzIHN5c3RlbXMKCSAgT24gV2luZG93cyBpdCdzIG5vdCBwb3NzaWJsZSB0byBiaW5kIHRvIGEgbXVsdGljYXN0IGFkZHJlc3MKCSAgYnV0IHRoZSBPUyB3aWxsIG1ha2Ugc3VyZSB0byBmaWx0ZXIgb3V0IGFsbCBwYWNrZXRzIHRoYXQKCSAgYXJyaXZlIG5vdCBmb3IgdGhlIG11bHRpY2FzdCBhZGRyZXNzIHRoZSBzb2NrZXQgam9pbmVkLgoJICBPbiBMaW51eCBhbmQgb3RoZXJzIGl0IGlzIG5lY2Vzc2FyeSB0byBiaW5kIHRvIGEgbXVsdGljYXN0CgkgIGFkZHJlc3MgdG8gbGV0IHRoZSBPUyBmaWx0ZXIgb3V0IGFsbCBwYWNrZXRzIHRoYXQgYXJlIHJlY2VpdmVkCgkgIG9uIHRoZSBzYW1lIHBvcnQgYnV0IGZvciBkaWZmZXJlbnQgYWRkcmVzc2VzIHRoYW4gdGhlIG11bHRpY2FzdAoJICBhZGRyZXNzCgkgIEFuZCBkZXByZWNhdGUgdGhlIG11bHRpY2FzdC1ncm91cCBwcm9wZXJ0eSBhbmQgcmVwbGFjZSBpdCB3aXRoIHRoZQoJICBhZGRyZXNzIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDQyCgoyMDEzLTA5LTAzIDEwOjEwOjAxICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGcmVlIEdzdEJhc2VQYXJzZUZyYW1lIGlmIHB1c2hpbmcgYSBoZWFkZXIgZmFpbGVkCgoyMDEzLTA5LTAyIDE2OjAyOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFJlZmFjdG9yIGFkZHJlc3MgcmVzb2x2YWwgaW50byBpdHMgb3duIGZ1bmN0aW9uCgoyMDEzLTA5LTAyIDIzOjAwOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZXBsYXlnYWluOiBmaXggdGFnbGlzdCBsZWFrIGluIHJnYW5hbHlzaXMKCSAgQW5kIGFkZCBzb21lIEZJWE1Fcy4KCjIwMTMtMDktMDIgMjI6NTA6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiByZ2FuYWx5c2lzOiByZW5hbWUgZnVuY3Rpb24gZm9yIGNsYXJpdHkKCjIwMTMtMDMtMTggMTQ6MzI6MDcgKzAxMDAgIENocmlzdG9waCBSZWl0ZXIgPHJlaXRlci5jaHJpc3RvcGhAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZml4IHNraXBwZWQgcmdhbmFseXNpcyB0ZXN0cwoJICBJbiAwLjEwIGVsZW1lbnRzIHdvdWxkIHBvc3QgdGFnIG1lc3NhZ2VzIG9uIHRoZSBidXMKCSAgZGlyZWN0bHksIGFuZCByZ2FuYWx5c2lzIHdvdWxkIG9ubHkgcG9zdCBhIHRhZyBtZXNzYWdlCgkgIHdoZW4gaXQgY2hhbmdlZCB0YWdzLiBJbiAxLjAsIG9ubHkgc2lua3MgcG9zdCB0YWcKCSAgbWVzc2FnZXMgd2hlbiB0aGV5IHJlY2VpdmUgdGhlIHNlcmlhbGlzZWQgdGFnIGV2ZW50LgoJICBUaGlzIG1lYW5zIHRoYXQgd2UgZ2V0IGFuIGFkZGl0aW9uYWwgdGFnIG1lc3NhZ2Ugb24KCSAgdGhlIGJ1cyBub3cgd2hlcmUgd2UgZGlkbid0IGV4cGVjdCBvbmUgYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MDkwCgoyMDEzLTA5LTAyIDExOjQ2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFByb3Blcmx5IHByb3BhZ2F0ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJucyB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjI5CgoyMDEzLTA5LTAxIDIxOjE4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgRG9uJ3QgdXNlIHNldGxvY2FsZSBpbiBwbHVnaW5zKCkKCSAgT25seSBhcHBzIHNob3VsZCBjYWxsIHNldGxvY2FsZSgpLCBub3QgbGlicmFyaWVzLgoKMjAxMy0wOC0yOSAxMzoxNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cG1wdnBheTogRml4IFJUUCBidWZmZXIgYWxsb2NhdGlvbiBpbiBydHBtcHZwYXkKCSAgUlRQIGJ1ZmZlciBhbGxvY2F0aW9uIHNob3VsZCBub3QgYmUgZG9uZSB3aXRoIHBhZGRpbmcgZm9yIHRoZSBzcGVjaWZpYyBNUEVHMgoJICBoZWFkZXIgYXMgdGhlIHBhZGRpbmcgaXMgZG9uZSBhdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIgYW5kIHRoZSBsYXN0IGJ5dGUgaXMKCSAgdGhlIHNpemUgb2YgdGhlIHBhZGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY5NzAKCjIwMTMtMDgtMjggMTA6NTE6MzIgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgYXV0b3ZpZGVvc2luazogYWRkIHN5bmMgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjk1NQoKMjAxMy0wOC0yOCAwNzoxNTowMCArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJICBhdXRvYXVkaW9zaW5rOiBpbnRyb2R1Y2Ugc3luYyBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2OTU1CgoyMDEzLTA4LTI3IDE3OjMzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBidWZmZXJzIGFmdGVyIHNlZ21lbnQgc3RvcCB1bnRpbCByZWFjaGluZyBhIGtleWZyYW1lCgkgIFRoaXMgc2hvdWxkIG1ha2UgZGVjb2RlcnMgYWJsZSB0byBwcmVjaXNlbHkgcHVzaCBidWZmZXJzIHVudGlsIHRoZSBzdG9wCgkgIHRpbWUgaW4gY2FzZSB0aGV5IG5lZWQgdGhlIG5leHQga2V5ZnJhbWUgdG8gZG8gaXQuCgkgIEFsc28sIGFjY29yZGluZyB0byBnc3Rfc2VnbWVudF9jbGlwLCBpdCBzaG91bGQgb25seSBwdXNoIGEgYnVmZmVyIHRoYXQKCSAgdGhlIHN0YXJ0aW5nIHRzIGlzIHN0cmljdGx5IHNtYWxsZXIgdGhhbiB0aGUgc2VnbWVudCBzdG9wLCBzbyB3ZSBjaGFuZ2UKCSAgdGhlIG1pbiA8IGNvbXBhcmlzb24gZm9yIDw9CgoyMDEzLTA4LTI4IDEzOjI2OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS40ID09PQoKMjAxMy0wOC0yOCAxMjo1MjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuNAoKMjAxMy0wOC0yOCAxMjo1MjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA4LTI4IDEyOjMyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9wdF9CUi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDgtMjcgMTU6MjU6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogcmVtb3ZlIGZyYW1lcmF0ZSByZXN0cmljdGlvbgoJICBSZW1vdmUgdGhlIGZyYW1lcmF0ZSByZXN0cmljdGlvbiBvbiB0aGUgY2Fwcy4KCjIwMTMtMDgtMjcgMDk6Mzg6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG9ubHkgdXBkYXRlIG5leHQgY2hlY2sgdGltZSB3aGVuIHJlY29uc2lkZXJpbmcKCSAgRG9uJ3QgdXBkYXRlIHRoZSBuZXh0IFJUQ1AgY2hlY2sgdGltZSBpbiBhbGwgY2FzZXMgYnV0IG9ubHkgd2hlbiB3ZQoJICByZWNvbnNpZGVyZWQuIFRoaXMgYXZvaWRzIGRlbGF5aW5nIHNlbmRpbmcgYSBmdWxsIFJUQ1AgcGFja2V0IHdoZW4gd2UKCSAgYXJlIGRvaW5nIGVhcmx5IGZlZWRiYWNrLgoKMjAxMy0wOC0yNyAwOTozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIG1vcmUgZGVidWcKCjIwMTMtMDgtMjcgMDk6MzQ6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCB0eXBlcyBvZiB0aGUgcmV0cmFuc21pc3Npb24gZXZlbnQKCjIwMTMtMDgtMjcgMDk6MzM6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBvbmx5IHRpbWVvdXQgRVhQRUNURUQgdGltZXJzIG9uIGdhcAoJICBPbmx5IHRpbWVvdXQgdGhlIEVYUEVDVEVEIHRpbWVycyB3aGVuIHdlIGRldGVjdCBhIGxhcmdlIHNlcW51bSBnYXAuCgoyMDEzLTA4LTI2IDEzOjQ3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3Qgc2V0IEJaMl9MSUJTIGlmIGJ6MiBpcyBub3QgZm91bmQKCjIwMTMtMDgtMjYgMTE6NTA6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0c2Vzc2lvbjogZml4IGxvY2tpbmcKCSAgV2UgbmVlZCB0byB0YWtlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBnZXR0aW5nIGFuZCBtYW5pcHVsYXRpbmcgdGhlCgkgIHNvdXJjZS4KCjIwMTMtMDgtMjYgMTE6NTA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTMtMDgtMjAgMjI6MTI6MDMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGRvbid0IHNlbmQgZmx1c2hfc3RvcCB0d2ljZS4KCSAgSWYgd2UgZ2V0IGZsdXNoIHN0YXJ0IGFuZCBhIHNlZWsgd2UgbmVlZCB0byBvbmx5IHNlbmQgZmx1c2hfc3RvcCBvbmNlLgoJICBNb3JlIGluZm8gYXQgIzcwNjQ0MQoKMjAxMy0wOC0yMyAxNTo1Njo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogcHJvcGFnYXRlIGRpc2NvbnQKCjIwMTMtMDgtMjMgMTU6NDk6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiByZW1vdmUgZHluYW1pYyBzb3VyY3BhZHMgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWQoKMjAxMy0wOC0yMyAxNToyOToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogdGltZXN0YW1wIG91dHB1dCBidWZmZXJzIGJhc2VkIG9uIGZpcnN0IGlucHV0IGJ1ZmZlciB0aGF0IHByb3ZpZGVkIGJ5dGVzIG5vdCBsYXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc3NTQKCjIwMTMtMDgtMjMgMTU6NDc6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHhxdWV1ZTogYWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBxdWV1ZSBzaXplCgoyMDEzLTA4LTIzIDEyOjA3OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LXJ0eC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2NC1ydHguc2g6CgkgIHRlc3RzOiBhZGQgcmV0cmFuc21pc3Npb24gZXhhbXBsZQoKMjAxMy0wOC0yMyAxMTo1NTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBwcm94eSBqaXR0ZXJidWZmZXIgZG8tcmV0cmFuc21pc3Npb24gcHJvcGVydHkKCjIwMTMtMDgtMjMgMTE6MTc6NDUgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1bm1hcCB0aGUgY29ycmVjdCBidWZmZXIKCSAgVGhlIGF1ZGlvIGJ1ZmZlciB3YXMgbWFwcGVkIHNvIHVubWFwIGl0IGFuZCBub3QgdGhlIHZpZGVvIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2NjQyCgoyMDEzLTA4LTE4IDIzOjMyOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogQWRkIHByb3BlcnR5IHRvIGZpbmQgb3V0IHRoZSBkZXZpY2UgY3VycmVudGx5IGluIHVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIzOjMxOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IERlLWR1cGxpY2F0ZSBjb2RlIHRvIGdldCB0aGUgY3VycmVudCBzaW5rIGlucHV0IGluZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMjoyNzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBJbXBsZW1lbnQgY2hhbmdpbmcgdGhlIGRldmljZSB3aGlsZSBwbGF5aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjM6MzI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBBZGQgcHJvcGVydHkgdG8gZmluZCBvdXQgdGhlIGRldmljZSBjdXJyZW50bHkgaW4gdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjM6MzE6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IERlLWR1cGxpY2F0ZSBjb2RlIHRvIGdldCB0aGUgY3VycmVudCBzb3VyY2Ugb3V0cHV0IGluZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMjoyNzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogSW1wbGVtZW50IGNoYW5naW5nIHRoZSBkZXZpY2Ugd2hpbGUgcGxheWluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTIyIDE0OjU1OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGJ6MiBjb25maWd1cmUgY2hlY2sgZm9yIFdpbmRvd3MKCSAgRHVlIHRvIGZ1bmN0aW9uIGRlY29yYXRpb25zIG9uIFdpbmRvd3MgQUNfQ0hFQ0tfTElCIGNhbid0IGJlIHVzZWQgdG8gY2hlY2sgZm9yIGJ6Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NTkyNAoKMjAxMy0wMi0yMiAyMDo1NzowMCArMDkwMCAgQWtpaGlybyBUc3VrYWRhIDxhdHN1a2FkYUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlc2luazogQWRkIHN1cHBvcnQgZm9yIEFBQyBwYXNzLXRocm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDQ0NQoKMjAxMy0wNi0yNCAxNzoyOTozNyArMDIwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGNyYXNoZXMgaWYgYW55IHByb3BlcnR5IGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrIHdoZW4gbG9jYXRpb24gcHJvcGVydHkgaXMgbm90IHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyOTg4CgoyMDEzLTA4LTIxIDE0OjU0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBTaGFyZSBzdGF0aWMgY2FwcyBkZWZpbml0aW9uIGJldHdlZW4gc3JjIGFuZCBzaW5rCgkgIFRoZSBzcmMgd2FzIGFsc28gbWlzc2luZyAyNC1iaXQgc2FtcGxlIGZvcm1hdHMKCjIwMTMtMDgtMjEgMTY6NTM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHg6IHZhcmlvdXMgaW1wcm92ZW1lbnRzCgkgIFVzZSBsb2NraW5nCgkgIERvbid0IHB1c2ggZnJvbSB0aGUgZXZlbnQgaGFuZGxlciwgY29sbGVjdGVkIHBhY2tldHMgaW4gYSBxdWV1ZSBhbmQgcHVzaCBmcm9tCgkgIHRoZSBjaGFpbiBmdW5jdGlvbi4KCSAgQ2xlYXIgcXVldWVzIG9uIHNodXRkb3duLgoKMjAxMy0wOC0yMSAxNjo1MDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2VuZXJhdGUgZXZlbnRzIGNvcnJlY3RseQoJICBEbyBjb3JyZWN0IHNoaWZ0aW5nIG9mIHRoZSBiaXRtYXNrIGZvciBsb3N0IHBhY2tldHMuCgoyMDEzLTA4LTIxIDE2OjQ3OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICBydHA6IHJlZ2lzdGVyIHJ0eCBlbGVtZW50IGJldHRlcgoKMjAxMy0wOC0yMSAxNjozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFdBVkVGT1JNQVRFWCBpcyB1bnNpZ25lZCBmb3IgOCBiaXQgaW50ZWdlcnMsIGFuZCBzaWduZWQgZm9yIG90aGVycwoJICBQcm9iYWJseSBmaXhlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDc3CgoyMDEzLTA4LTIxIDEzOjAzOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBkb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIGZyb20gX2ZpbmlzaF9mcmFtZSgpCgkgIGdzdF92aWRlb19lbmNvZGVyX2ZpbmlzaF9mcmFtZSgpIHdpbGwgcmV0dXJuIEZMT1dfT0sgaGVyZSBpZgoJICB0aGVyZSdzIG5vIG91dHB1dCBidWZmZXIuCgoyMDEzLTA4LTIxIDEyOjU2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAganBlZ2RlcGF5OiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEzLTA4LTIxIDEyOjEwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkgIHJ0cGdzdGRlcGF5OiBvbmx5IHB1c2ggZXZlbnRzIHdoZW4gdGhleSBjaGFuZ2VkCgkgIEtlZXAgdHJhY2sgb2YgdGhlIFNUUkVBTV9TVEFSVCBhbmQgVEFHIGV2ZW50cyBhbmQgb25seSBwdXNoIHRoZW0KCSAgd2hlbiB0aGV5IGNoYW5nZWQuCgoyMDEzLTA4LTIxIDEwOjUyOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiB0YWdsaXN0cyBzaG91bGQgbm90IGJlIG1lcmdlZCBpbiAxLjAKCjIwMTMtMDgtMjEgMTA6Mjg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBmbHVzaCBvbiBGTFVTSF9TVE9QIGV2ZW50CgoyMDEzLTA4LTIxIDEwOjAzOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiByZXNldCBvbiBzdGF0ZSBjaGFuZ2UKCSAgRG8gZnVsbCByZXNldCBvbiBzdGF0ZSBjaGFuZ2UgdG8gUkVBRFkKCjIwMTMtMDgtMjEgMDk6NTU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHJlc2V0IG9uIEZMVVNIX1NUT1AKCSAgQ2xlYXIgdGhlIGFkYXB0ZXIgYW5kIHBlbmRpbmcgYnVmZmVyIGxpc3Qgb24gRkxVU0hfU1RPUC4KCjIwMTMtMDgtMjEgMDk6Mzk6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGRvbid0IHVzZSBjbG9jayBmb3IgY29uZmlnIGludGVydmFsCgkgIFdlIGNhbid0IHVzZSB0aGUgY2xvY2sgdG8gdGltZSBvdXIgY29uZmlnLWludGVydmFsIGJlY2F1c2Ugd2UgYXJlIG5vdAoJICBsaXZlIChvciB0aGVyZSBtaWdodCBub3QgYmUgYSBjbG9jayBvciB0aGUgY2xvY2sgbWlnaHQgbm90IGJlIHJ1bm5pbmcpLgoJICBJbnN0ZWFkIGp1c3Qgc2ltcGx5IHRha2UgdGhlIHRpbWVzdGFtcCBkaWZmLgoKMjAxMy0wOC0yMSAwOTozMzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdGF5OiBkb24ndCB1c2UgLy8gY29tbWVudHMKCjIwMTMtMDgtMDggMTE6NTU6MjIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCByZXNwb25zZSBhcmd1bWVudCBpbiBoYW5kbGUtcmVxdWVzdCBzaWduYWwKCjIwMTMtMDgtMDggMTE6NTQ6NDEgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIHNkZXMgcHJvcGVydHkgYW5kIHByb3h5IGl0IHRvIHJ0cGJpbgoKMjAxMy0wOC0wNyAwOTo0NzozNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIFNlbmQgYSBzdHJlYW0tc3RhcnQgd2hlbmV2ZXIgd2Ugc2VuZCB0YWdzIFRoaXMgaXMgdG8gbWFrZSBzdXJlIHRhZ3MgYXJlIGNsZWFyZWQgb24gdGhlIGNsaWVudCBpZiB0aGUgc3RyZWFtLXN0YXJ0IHdhcyBwcmV2aW91c2x5IGxvc3QsIG90aGVyd2lzZSwgdGhlIGNsaWVudCBtYXkgZW5kIHVwIHdpdGggYSBtZXJnZWQgdGFnbGlzdCBvZiBtdWx0aXBsZSBzb25ncwoKMjAxMy0wNy0yNSAyMToxMjowNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdHBheTogQWRkIGEgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIHJlc2VuZCB0aGUgY2Fwcy90YWdzIGF0IGEgcmVndWxhciBpbnRlcnZhbCBUaGlzIGlzIHVzZWZ1bCBpbiBjYXNlIHRoZSBwYWNrZXQgY29udGFpbmluZyB0aGUgaW5saW5lZCBjYXBzIHdhcyBsb3N0IG9yIGlmIG5ldyBjbGllbnQgam9pbnMgYW4gYWxyZWFkeSBydW5uaW5nIFJUUCBzdHJlYW0gYW5kIHRoZXkgbWlzc2VkIHRoZSBwcmV2aW91cyB0YWcgZXZlbnRzLiBUaGlzIGFsc28gbWFrZXMgdGhlIHBheWxvYWRlciBrZWVwIGEgbGlzdCBvZiBtZXJnZWQgdGFncyBzbyB0aGUgcmV0cmFuc21pdHRlZCB0YWcgZXZlbnQgY29udGFpbnMgYWxsIHByZXZpb3VzbHkgcmVjZWl2ZWQuIEEgU1RSRUFNX1NUQVJUIGV2ZW50IHdpbGwgZmx1c2ggdGhlIGxpc3Qgb2YgdGFncy4KCjIwMTMtMDctMjUgMjE6MTA6MTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IFJlZmFjdG9yIHRoZSBzZXRjYXBzIGFuZCB1c2UgbmV3IG1ldGhvZCB0byBzZW5kIGFyYml0cmFyeSBjYXBzIGF0IGFueSB0aW1lCgoyMDEzLTA3LTI1IDIxOjAzOjM0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBEbyBub3QgZmx1c2ggZXZlbnRzIGZvciBzdHJlYW0tc3RhcnQgYW5kIGF2b2lkIGNvbmZsaWN0IGJldHdlZW4gZXZlbnQgYW5kIHBlbmRpbmcgaW5saW5lIGNhcHMKCjIwMTMtMDctMjUgMjA6NTQ6NTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBydHBnc3RwYXk6IEFkZCBhIGNyZWF0ZV9mcm9tX2FkYXB0ZXIgQVBJIGFuZCB1c2UgYSBsaXN0IG9mIEdzdEJ1ZmZlckxpc3QgVGhpcyBpcyBuZWNlc3NhcnkgdG8gZml4IGV2ZW50L2NhcHMgc2VuZGluZy4gSWYgd2Ugc2VuZCBhIFNUUkVBTV9TVEFSVCBwYWNrZXQsIGl0IHdpbGwgY2F1c2UgYW4gZXJyb3IgYmVjYXVzZSB0aGUgc3RyZWFtIGRpZG4ndCByZWNlaXZlIGl0cyBjYXBzIGFuZCBuZXctc2VnbWVudCBldmVudHMsIHNvIHdlIG11c3Qgd2FpdCBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBiZWZvcmUgc2VuZGluZyB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50IGJ1ZmZlci4gSG93ZXZlciwgdGhlIGNhcHMgd2lsbCBiZSBzZW50IGF0IHRoZSBzYW1lIHRpbWUgYW5kIHNvIHRoZSAnaW5saW5lIGNhcHMnIHdpbGwgYmUgc2V0IGZvciB0aGUgZXZlbnQuIFdlIG5lZWQgdG8gYmUgYWJsZSB0byBwYXlsb2FkIGluZGl2aWR1YWwgcGFja2V0cyAoZGF0YSwgY2FwcyBvciBldmVudHMpIGFuZCBvbmx5IHNlbmQgdGhlbSB3aGVuIHdlIGNhbGwgZmx1c2guCgoyMDEzLTA3LTI1IDE3OjU2OjM4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEFkZCBldHlwZT00IGZvciBwYXlsb2FkaW5nIEdTVF9FVkVOVF9TVFJFQU1fU1RBUlQKCjIwMTMtMDctMjUgMTc6NTI6MTYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEZpeCB0eXBvLCBHU1RfRVZFTlRfQ1VTVE9NX0JPVEggaGFzIGV0eXBlIG9mIDMKCjIwMTMtMDgtMjAgMTQ6MzY6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgRU9TCgkgIFdoZW4gdGhlIHF1ZXVlIGlzIGVtcHR5LCBhbmQgd2UgcmVjZWl2ZWQgRU9TLCBwYXVzZSBhbmQgcHVzaCBhbiBFT1MKCSAgZXZlbnQgZG93bnN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjM4NwoKMjAxMy0wOC0yMCAxMDoyNjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVwZGF0ZSBkb2NzCgoyMDEzLTA4LTIwIDEwOjI1OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIGFsbCB0aW1lcnMKCSAgS2VlcCBsb29waW5nIG92ZXIgYWxsIHJlZ2lzdGVyZWQgdGltZXJzIHNvIHRoYXQgd2UgY2FuIG1hcmsgdGhlbSBsb3N0IGluc3RlYWQgb2YKCSAgc3RvcHBpbmcgYXMgc29vbiBhcyB3ZSBmaW5kIHRoZSB0aW1lciBmb3IgdGhlIGN1cnJlbnQgc2VxbnVtLgoKMjAxMy0wOC0yMCAwODo1NTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDEzLTA4LTE5IDIxOjEwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVvcmdhbml6ZSB0aW1lciBoYW5kbGluZwoJICBSZXN0cnVjdHVyZSBoYW5kbGluZyBvZiBpbmNvbW1pbmcgcGFja2V0IGFuZCB0aGUgZ2FwIHdpdGggdGhlIGV4cGVjdGVkIHNlcW51bQoJICBhbmQgcmVnaXN0ZXIgYWxsIHRpbWVycyBmcm9tIHRoZSBfY2hhaW4gZnVuY3Rpb24uCgkgIENvbnZlcnQgYSB0aW1lciB0byBhIExPU1QgcGFja2V0IHRpbWVyIHdoZW4gdGhlIG1heCBhbW91bnQgb2YgcmV0cmFuc21pc3Npb24KCSAgcmVxdWVzdHMgaGFzIGJlZW4gcmVhY2hlZC4KCjIwMTMtMDgtMTkgMjE6Mzc6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciBwYWNrZXQgc3BhY2luZyBjYWxjdWxhdGlvbgoKMjAxMy0wOC0xOSAyMTozNDozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2YgbGFzdCBzZXFudW0gYW5kIGR0cwoKMjAxMy0wOC0xOSAyMToyOTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNtYWxsIGNsZWFudXBzCgoyMDEzLTA4LTE5IDIxOjIxOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVzZXQgcmV0cmFuc21pc3Npb24gdGltZXJzIGluIGFkZC9yZXNjaGVkdWxlCgkgIFJlc2V0IHRoZSByZXRyYW5zbWlzc2lvbiB0aW1lcnMgd2hlbiBhZGRpbmcgYW5kIHJlc2NoZWR1bGluZyBhIHRpbWVyLgoKMjAxMy0wOC0xOSAyMToxMjoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbmFtZSB2YXJpYWJsZXMgZm9yIHBhY2tldCBzcGFjaW5nCgoyMDEzLTA4LTE5IDE0OjU4OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVtb3ZlIGxvc3QgdGltZXIgd2hlbiB3ZSBnZXQgdGhlIHBhY2tldAoJICBXaGVuIHdlIHJlY2VpdmUgYSBwYWNrZXQsIGFsc28gcmVtb3ZlIHRoZSBMT1NUIHRpbWVyIGZvciBpdC4KCjIwMTMtMDgtMTkgMTQ6NTY6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBleHBlY3RlZCBzZXFudW0gbXVzdCBpbmNyZWFzZQoJICBPbmx5IHVwZGF0ZSB0aGUgZXhwZWN0ZWQgc2VxbnVtIHdoZW4gaXQgaXMgYmlnZ2VyIHRoYW4gdGhlIHByZXZpb3VzIGV4cGVjdGVkCgkgIHNlcW51bS4KCjIwMTMtMDgtMTkgMTQ6NTU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0xMiAxNjoxNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eHF1ZXVlOiBhZGQgcmV0cmFuc21pc3Npb24gcXVldWUgZWxlbWVudAoKMjAxMy0wOC0xMiAxNDo1MzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIHNvbWUgZG9jcwoKMjAxMy0wOC0wNiAxNjoyOTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGhhbmRsZSBOQUNLIGZlZWRiYWNrIGFuZCBnZW5lcmF0ZSBldmVudHMKCSAgSGFuZGxlIGFuZCBwYXJzZSB0aGUgZmVlZGJhY2sgTkFDSyBwYWNrZXRzIGFuZCBnZW5lcmF0ZSBhIFJldHJhbnNtaXNzaW9uCgkgIGV2ZW50IGZvciBlYWNoIE5BQ0tlZCBwYWNrZXQKCjIwMTMtMDgtMTkgMTM6MTk6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBmb3J3YXJkIGRlY2xhcmF0aW9uIGZvciBnc3RfdjRsMl9vYmplY3RfZ2V0X2Zvcm1hdF9saXN0CgoyMDEyLTEwLTIyIDE3OjU4OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiBEZS1kdXBsaWNhdGUgY2FwcyBwcm9iaW5nIGJldHdlZW4gc3JjIGFuZCBzaW5rCgoyMDEzLTA4LTEzIDE3OjMyOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZTogUmVtb3ZlIHVudXNlZCBHc3RQdWxzZVByb2JlCgoyMDEzLTA4LTE5IDEyOjQ2OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5jOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uYzoKCSAgdjRsMjogVXNlIEdfREVGSU5FXyBtYWNyb3MgZm9yIGFkZGVkIHRocmVhZCBzYWZldHkKCjIwMTMtMDgtMTcgMTE6Mjg6MTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IERvIG5vdCBzZW5kIGZsdXNoX3N0b3Agb3Vyc2VsZiBhZnRlciBhIGZsdXNoX3N0YXJ0CgkgIFdoZW4gd2UgcmVjZWl2ZSBhIGZsdXNoX3N0YXJ0LCB3ZSBzaG91bGQgd2FpdCBmb3IgdGhlIG5leHQgZmx1c2hfc3RvcAoJICBhbmQgZm93YXJkIGl0LCBub3QgY3JlYXRlIGEgZmx1c2hfc3RvcCBvdXJzZWxmLgoKMjAxMy0wOC0xNiAxNzoxMDozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBlYXJseQoJICBJbml0IHRoZSBkZWJ1ZyB2YXJpYWJsZSB3aGVuIHdlIHJlZ2lzdGVyIHRoZSBlbGVtZW50IGJlY2F1c2UgaXQgaXMgYWxzbyB1c2VkIGJ5CgkgIHRoZSBwYXlsb2FkZXIgZWxlbWVudCB3aGVuIGl0IGNhbGxzIHRoZSBhZGRfc3BzX3BwcyBtZXRob2QuCgoyMDEzLTA4LTE2IDEzOjI2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IHNldCBoZWFkZXJzIHZpYSB0aGUgYmFzZSBjbGFzcyBpbnN0ZWFkIG9mIGp1c3QgcHVzaGluZyB0aGVtIGRvd25zdHJlYW0KCSAgUHJldmVudHMgYnVmZmVycyBmcm9tIGJlaW5nIHNlbmQgYmVmb3JlIHRoZSBjYXBzIGFuZCBzZWdtZW50IGV2ZW50cy4KCjIwMTMtMDgtMTUgMTA6NTk6MTAgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBkZW5vbWluYXRvciBpc24ndCB6ZXJvIGJlZm9yZSBzY2FsaW5nIGR1cmF0aW9uLgoJICBXaGVuIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0gc2V0cyBmcHNfZCwgY2hlY2sgdGhhdCBuX3NhbXBsZXMgaXMKCSAgbm9uLXplcm8gYmVmb3JlIHVzaW5nIGl0IGFzIGEgZGVub21pbmF0b3IgdG8gc2NhbGUgdGhlIHN0cmVhbSBkdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA3NgoKMjAxMy0wOC0xNSAxNTowODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIGV4dDogVXNlIG5ldyBmbHVzaCB2ZnVuYyBvZiB2aWRlbyBjb2RlYyBiYXNlIGNsYXNzZXMgYW5kIHJlbW92ZSByZXNldCBpbXBsZW1lbnRhdGlvbnMKCjIwMTMtMDgtMTQgMTY6MTk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmb3J3YXJkIGZsdXNoIGJlZm9yZSBzdG9wcGluZyBkYXRhZmxvdwoJICBGaXJzdCBmb3J3YXJkIHRoZSBmbHVzaCBldmVudCBhbmQgdGhlbiBzdG9wIG91ciBsb29wIGZ1bmN0aW9uLgoKMjAxMy0wOC0xNCAxMzoxMDozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGxpYnNvdXAgPj0gMi4zOAoJICBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgZm9yIG5ld2VyIEFQSSB1c2VkLCBsaWtlIGhlYWRlcnNfZ2V0X29uZSgpLgoJICAyLjM4IGlzIGZyb20gZWFybHkgMjAxMiBhbmQgaXMgaW4gbGluZW4gd2l0aCBvdXIgR0xpYiByZXF1aXJlbWVudC4KCjIwMTMtMDgtMTQgMTE6NTQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXQoKSBBUEkKCjIwMTMtMDgtMTMgMTc6NDQ6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIGZpbGVzIGZyb20gYXV0b21ha2UgdGVzdC1kcml2ZXIKCjIwMTMtMDgtMTIgMTU6Mjg6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IFVzZSB0aGUgU1BTL1BQUyBoYW5kbGluZyBmdW5jdGlvbiBmcm9tIHRoZSBkZXBheWxvYWRlcgoJICBSZW1vdmUgZHVwbGljYXRlZCBjb3BpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU1MwoKMjAxMy0wOC0xMiAxNToyNjowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogTWFrZSB0aGUgU1BTL1BQUyBkZWR1cGxpY2F0aW9uIGZ1bmN0aW9uIGdlbmVyaWMKCSAgTWFrZSBpdCBub3QgdG91Y2ggYW55IGludGVybmFscyBvZiB0aGUgZGVwYXlsb2FkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU1MwoKMjAxMy0wOC0xMyAxNDowOToyMCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWxsb3cgY29udmVyc2lvbiBmcm9tIHJhdyBBQUMgdG8gQURUUwoJICBUaGlzIHBhdGNoIHdpbGwgcHJlcGVuZCBBRFRTIGhlYWRlcnMgdG8gcmF3IEFBQyBhdWRpbyBmcmFtZXMsIGFsbG93aW5nCgkgIHVwc3RyZWFtIGVsZW1lbnRzIHRvIGxpbmsgdG8gZGVjb2RlcnMgdGhhdCBvbmx5IHN1cHBvcnQgQUFDIGluIEFEVFMgZm9ybWF0LgoJICBOb3RlIHRoYXQgbm8gZXJyb3IgY29ycmVjdGlvbiBiaXRzIGFyZSBhZGRlZCB0byBBRFRTIGZyYW1lcyBpbiB0aGlzIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU3NDAKCjIwMTMtMDgtMTMgMTI6NDQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogT25seSBmcmVlIEdDaGVja1N1bSBhZnRlciBpdHMgbGFzdCB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NzYwCgoyMDEzLTA4LTEzIDEyOjAyOjI5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBjcml0aWNhbCBzZXR0aW5nIGEgTlVMTCB1cmkgcmVkaXJlY3Rpb24KCjIwMTMtMDctMTMgMDE6NTA6NTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWRkIHJlZGlyZWN0aW9uIHRvIHRoZSBVUkkgcXVlcnkKCjIwMTMtMDctMzEgMTA6NDI6MDcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWxzdCBzaG91bGQgb2Zmc2V0IHNhbXBsZXMgaW5zdGVhZCBvZiBidWZmZXJzCgkgIFRoZSBjdXJyZW50IGFwcHJvYWNoIHdoZXJlIGJ1ZmZlcnMgYXJlIG9mZnNldCBpcyBub3QgaWRlYWwsIGFzIGR1cmluZyBzZWVrCgkgIGFuZCBsb29wIGN1cnJlbnQgdGltZSBpcyBjb21wYXJlZCB0byBzYW1wbGUgdGltZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyNjQKCjIwMTMtMDgtMDcgMTk6MzI6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogU2VuZCBFT1MgaWYgYnVmX2VuZCA+PSBzZWdtZW50LnN0b3AKCSAgVGhhdCBtZWFucyB0aGUgd2hvbGUgc2VnbWVudCBpcyBhbHJlYWR5IHBsYXllZCwgYW5kIHdlIGFyZSBzdXJlIHdlCgkgIGFyZSBFT1MgYXQgdGhhdCBwb2ludC4KCSAgQWxzbyBoYW5kbGUgc2VnbWVudCBzZWVrcywgYW5kIGRvIG5vdCBzZW5kIEVPUyBpbiB0aGF0IGNhc2UuCgoyMDEzLTA4LTA0IDE0OjQwOjM4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2VuZCBwcm9wZXIgc3RyZWFtX3N0YXJ0IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDQ5CgoyMDEzLTA4LTA4IDExOjUxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBwcmludCB3YXJuaW5ncyBkdXJpbmcgZmx1c2hpbmcgYW5kIHN0b3AgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTcwNTQ0MgoKMjAxMy0wOC0wNyAxMToxNDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IG1hcmsga2V5IGZyYW1lcyBhbmQgZGVsdGEgZnJhbWVzIHByb3Blcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU1NTAKCjIwMTMtMDgtMDUgMjM6MjM6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBOQUNLIGZlZWRiYWNrIGluIFJUQ1AKCjIwMTMtMDgtMDUgMjM6MjI6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNvdXJjZTogYWRkIG1ldGhvZHMgdG8gcmVnaXN0ZXIgTkFDSwoJICBBZGQgYSBtZXRob2QgdG8gcmVnaXN0ZXIgYSBtaXNzaW5nIHBhY2tldCBmb3IgYW4gc3NyYyBhbG9uZyB3aXRoCgkgIG1ldGhvZHMgdG8gZ2V0IHRoZSBtaXNzaW5nIHBhY2tldHMgYW5kIGNsZWFyIHRoZW0uCgoyMDEzLTA4LTA0IDIzOjA1OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogaGFuZGxlIFJldHJhbnNtaXNzaW9uIGV2ZW50IGFuZCBzY2hlZHVsZSBOQUNLCgkgIEhhbmRsZSB0aGUgcmV0cmFuc21pc3Npb24gZXZlbnQgZnJvbSBkb3duc3RyZWFtIGFuZCB1c2UgaXQgdG8gc2NoZWR1bGUgYSBOQUNLCgkgIHJlcXVlc3QuCgoyMDEzLTA4LTA1IDIzOjIwOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBwYXNzIGRhdGEgdG8gcmVtb3ZlIGZ1bmMKCSAgUGFzcyB0aGUgZGF0YSB0byB0aGUgcmVtb3ZlIGZ1bmN0aW9uIGJlY2F1c2Ugd2UgYXJlIGdvaW5nIHRvIGRlcmVmIGl0IHdoZW4gdGhlcmUKCSAgaXMgcGxpIG9yIGZpci4KCjIwMTMtMDgtMDYgMTU6Mjg6NTAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY29tcGlsYXRpb24KCjIwMTMtMDgtMDYgMTU6MTc6NDQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSYXcgYnVmZmVyIERUUyBzaG91bGQgYWx3YXlzIGJlIENMT0NLX1RJTUVfTk9ORQoKMjAxMy0wOC0wNiAxMTo1ODozOCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogTWFrZSBzdXJlIHRvIHNlbmQgRU9TIGlmIHRoZSBidWZmZXIgZW5kIHRpbWUgZXF1YWxzIHRoZSBzZWdtZW50IGVuZCB0aW1lCgkgIE90aGVyd2l6ZSBFT1MgbmV2ZXIgZ2V0cyBzZW50IGluIHRoYXQgcGFydGljdWxhciBjYXNlLgoKMjAxMy0wOC0wNSAwODo0OTo1MCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IEVuc3VyZSBzcmMgY2FwcyBhcmUgd3JpdGFibGUKCSAgSW4gc29tZSBjYXNlcyB0aGUgc3JjIGNhcHMgZGV0ZXJtaW5lZCBieSBnb29tIHdlcmVuJ3Qgd3JpdGFibGUsIGNhdXNpbmcKCSAgYSBidW5jaCBvZiBhc3NlcnRpb24gZmFpbHVyZXMgYW5kIGZhaWxlZCBjYXBzLiBGaXhlZCBieSBhbHdheXMKCSAgZXhwbGljaXRlbHkgbWFraW5nIHRoZSBjYXBzIHdyaXRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NzUKCjIwMTMtMDgtMDQgMjM6MTg6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiB1c2UgY29tbW9uIHNlbmRfcnRjcCBtZXRob2QKCSAgUmV1c2UgdGhlIHNlbmRfcnRjcCBtZXRob2QgdGhhdCBhbHJlYWR5IGFza3MgZm9yIHRoZSBjdXJyZW50IHRpbWUgd2hlbgoJICByZXF1ZXN0aW5nIGEga2V5ZnJhbWUuCgoyMDEzLTA4LTA0IDIzOjEyOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IERvbid0IHVzZSBDbG9ja1RpbWVEaWZmIGZvciB1bnNpZ25lZCBkZWxheXMKCjIwMTMtMDgtMDQgMTY6NTI6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIGJ1ZmZlciBQVFMgaWYgRFRTIGlzIG5vdCBzZXQKCSAgQXZvaWRzIGVuZGluZyB1cCB3aXRoIGNvbXBsZXRlbHkgYm9ndXMgc2NhbGVkIGR1cmF0aW9uL3B0cyB3aGVuIG5ldwoJICBidWZmZXJzIGhhdmUgaW52YWxpZCBEVFMuCgoyMDEzLTA4LTA0IDE0OjMyOjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNraXAgaHR0cHMgdGVzdCBpZiB0aGVyZSdzIG5vIFRMUyBzdXBwb3J0IGluIHNvdXAvZ2xpYgoKMjAxMy0wOC0wNCAxMToyMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTMtMDgtMDQgMTA6NTI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvLmdpdGlnbm9yZToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi90dW5lci1tYXJzaGFsLmxpc3Q6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmg6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vdHVuZXItZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuaDoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBlbnVtdHlwZXMgYW5kIHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTMtMDgtMDQgMTA6NDc6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3VkcC8uZ2l0aWdub3JlOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmg6CgkgIHVkcDogcmVtb3ZlIHVudXNlZCBtYXJzaGFsIGFuZCBlbnVtdHlwZXMgZmlsZXMKCjIwMTMtMDgtMDQgMDk6Mzg6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvLmdpdGlnbm9yZToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkgIHJ0cG1hbmFnZXI6IHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTMtMDgtMDQgMDA6MTM6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzZW5kIGV2ZW50IGluIHJpZ2h0IGRpcmVjdGlvbgoKMjAxMy0wOC0wMiAxNzozODozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogY3JlYXRlL3JlbW92ZSBvcmMgZGlyZWN0b3J5IGF0IHByb3BlciB0aW1lCgkgIEJlZm9yZSBhdXRvbWFrZSBjcmVhdGVzIC5kZXBzIGRpcmVjdG9yaWVzLCBhbmQgZHVyaW5nIGRpc3RjbGVhbi4KCjIwMTMtMDgtMDMgMDA6MjU6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBGSVIgYW5kIFBMSSBsaWtlIG90aGVyIFJUQ1AgcGFja2V0cwoJICBBZGQgdGhlIEZJUiBhbmQgUExJIHBhY2tldHMgbGlrZSB0aGUgb3RoZXIgUlRDUCBwYWNrZXQgaW5zdGVhZCBvZiBmcm9tIHRoZQoJICBvbi1zZW5kaW5nLXJ0Y3AgZGVmYXVsdCBzaWduYWwgaGFuZGxlci4KCjIwMTMtMDgtMDIgMTc6MjI6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggcHJvcGVydHkgcmFuZ2VzCgoyMDEzLTA4LTAyIDE2OjQyOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHVzaCByZXRyYW5zbWlzc2lvbiBldmVudHMKCjIwMTMtMDgtMDIgMTQ6MTI6MTYgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGFkZCBzdWJkaXItb2JqZWN0cyB0byBBTV9JTklUX0FVVE9NQUtFCgkgIEZpeGVzIHdhcm5pbmdzIHdpdGggYXV0b21ha2UgMS4xNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTAyIDE0OjU0OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHN1cHBvcnQgZm9yIHJldHJhbnNtaXNzaW9uIHJldHJ5CgkgIFdoZW4gd2UgZGlkbid0IHJlY2VpdmUgYSBwYWNrZXQgYWZ0ZXIgcmVxdWVzdGluZyByZXRyYW5zbWlzc2lvbiwgcmV0cnkKCSAgYXNraW5nIGZvciByZXRyYW5zbWlzc2lvbiBmb3IgYSBjZXJ0YWluIHBlcmlvZC4KCjIwMTMtMDgtMDIgMTQ6MTk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgcHJvcGVydGllcwoJICBBZGQgcHJvcGVydGllcyB0byBjb250cm9sIHJldHJhbnNtaXNzaW9uIHBhcmFtZXRlcnMKCjIwMTMtMDgtMDIgMTI6NDQ6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1c2UgY29ycmVjdGVkIHRpbWVvdXQgd2hlbiByZXNjaGVkdWxpbmcKCSAgV2hlbiB3ZSByZWNhbGN1bGF0ZSB0aGUgdGltZW91dCwgdXNlIHRoZSBjb3JyZWN0ZWQgdGltZW91dCB2YWx1ZSBkZXBlbmRpbmcgb24KCSAgdGhlIHRpbWVyIHR5cGUuCgoyMDEzLTA4LTAyIDEyOjQzOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIHRpbWVycyBhZnRlciBxdWV1ZWluZwoJICBFbHNlIHdlIG1pZ2h0IHVwZGF0ZSB0aGUgdGltZXIgbmVlZGxlc3NseSBmb3IgZHVwbGljYXRlcy4KCjIwMTMtMDgtMDIgMTI6NDI6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtb3ZlIG1ldGhvZCB1cAoKMjAxMy0wOC0wMiAwNjoyODozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNtYWxsIGNsZWFudXAKCjIwMTMtMDgtMDEgMjM6MjY6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1bnNjaGVkdWxlIG9sZCBleHBlY3RlZCBwYWNrZXRzCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwYWNrZXQsIHVuc2NoZWR1bGUgb2xkIG91dHN0YW5kaW5nIHBhY2tldHMgd2hlbiB0aGVpcgoJICBzZXFudW0gaXMgdG9vIGZhciBhd2F5LgoKMjAxMy0wOC0wMSAyMzoyOToyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIHRpbWVyIHVwZGF0ZQoKMjAxMy0wOC0wMSAyMzoyNDoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVwZGF0ZSB0aW1lcnMgd2hlbiByZW1vdmluZwoJICBVcGRhdGUgdGhlIHRpbWVycyB3aGVuIHdlIHJlbW92ZSBhIHRpbWVyLgoJICBIYW5kbGUgY2FuY2VsZWQgdGltZXJzLCBtYWtlIHRoZW0gdW5zY2hlZHVsZSB0aGUgY3VycmVudCB0aW1lciBhbmQKCSAgdHJpZ2dlciB0aGUgdGltZW91dCBjb2RlLgoKMjAxMy0wOC0wMSAyMzoyMjowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCB0eXBvCgoyMDEzLTA4LTAxIDE1OjQwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSB0aW1lb3V0IG1hbmFnZW1lbnQKCSAgSWYgd2UgY2hhbmdlIHRoZSBzZXFudW0gb2YgYW4gZXhpc3RpbmcgdGltZXIgYW5kIHdlIHdlcmUgd2FpdGluZyBmb3IKCSAgdGhhdCB0aW1lciwgdW5zY2hlZHVsZSBpdC4gSWYgd2UgY2hhbmdlIHRoZSB0aW1lb3V0IG9mIGFuIGV4aXN0aW5nIHRpbWVyIGFuZCB3ZQoJICB3ZXJlIHdhaXRpbmcgb24gaXQsIG9ubHkgdW5zY2hlZHVsZSB3aGVuIHRoZSBuZXcgdGltZSBpcyBzbWFsbGVyLgoKMjAxMy0wOC0wMSAxNTowNTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGluc3RhbGwgdGltZXIgZm9yIGV4cGVjdGVkIGFycml2YWwKCSAgSW5zdGFsbCBhIHRpbWVyIHRoYXQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIGV4cGVjdGVkIGFycml2YWwgdGltZSBvZiBhIHBhY2tldAoJICBleHBpcmVkLgoKMjAxMy0wOC0wMSAxNDo1NjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgdW5zY2hlZHVsZSBvZiB0aW1lcnMKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYwoKMjAxMy0wOC0wMSAxMjoyMTo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vdmUgY29kZSBhcm91bmQKCjIwMTMtMDgtMDEgMTI6MDc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBlc3RpbWF0ZSBpbnRlciBwYWNrZXQgc3BhY2luZwoJICBXaGVuIHdlIHNlZSB0d28gcGFja2V0cyB3aXRoIGNvbnNlY3V0aXZlIHNlcW51bXMgYW5kIGEgZGlmZmVyZW50IFJUUCB0aW1lLCB1c2UKCSAgdGhlIERUUyBkaWZmZXJlbmNlIGFzIHRoZSBpbnRlciBwYWNrZXQgc3BhY2luZyBlc3RpbWF0ZS4KCjIwMTMtMDgtMDEgMTI6MDE6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgdGltZW91dAoKMjAxMy0wOC0wMSAxMTo0OToxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGNsZWFudXAgdGltZXIgaGFuZGxpbmcKCjIwMTMtMDgtMDEgMTE6NDA6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCBpcyBvbmx5IHBvc3NpYmxlIHdpdGggYSBHQVAKCjIwMTMtMDgtMDEgMTE6Mjk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogb3BlcmF0ZSBvbiBEVFMKCSAgTWFrZSB0aGUgaml0dGVyYnVmZmVyIHNjaGVkdWxlIHRoZSB0aW1lb3V0cyBiYXNlZCBvbiB0aGUgRFRTIGluc3RlYWQKCSAgb2YgdGhlIFBUUy4gVGhpcyBtYWtlcyBpdCBhbGwgc21vb3RoZXIgd2l0aCByZW9yZGVyZWQgZnJhbWVzIGFuZCBnaXZlcwoJICB0aGUgZGVjb2RlciB0aW1lIHRvIHJlb3JkZXIgdGhlIGZyYW1lcyBpbiB0aW1lLgoKMjAxMy0wOC0wMSAxMToxNDoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbmFtZSB0aW1vdXQgdmFyaWFibGUKCjIwMTMtMDctMzEgMTc6MDg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzbWFsbCBjbGVhbnVwCgoyMDEzLTA3LTMxIDE2OjU5OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYmxvY2sgb3V0cHV0IGluIHBhdXNlZCBvciBidWZmZXJpbmcKCjIwMTMtMDctMzEgMTY6NTk6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzdG9yZSBwdHMgaW4gdGltZXIKCSAgT25seSBzdG9yZSB0aGUgcHRzIGluIHRoZSB0aW1lciBzbyB0aGF0IHdlIGNhbiBib3RoIGRvIHRpbWVvdXRzIHdpdGggdGltaW5ncyBvbgoJICB0aGUgaW5wdXQgYW5kIG91dHB1dCBvZiB0aGUgaml0dGVyYnVmZmVyLgoKMjAxMy0wNy0zMCAyMzoxNDoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIGppdHRlcmJ1ZmZlcgoJICBSZWZhY3RvciB0aGUgaml0dGVyYnVmZmVyIGNvZGUuIE1ha2Ugc2VwYXJhdGUgZnVuY3Rpb24gZm9yIHBlZWtpbmcgYSBidWZmZXIsCgkgIHB1c2hpbmcgdGhlIG5leHQgYnVmZmVyLCB3YWl0aW5nIGZvciB0aW1lb3V0cyBhbmQgaGFuZGxpbmcgdGhlIHRpbWVvdXRzLgoJICBUaGUgbWFpbiBsb29wIG5vdyB0cmllcyB0byBwdXNoIGFzIG1hbnkgYnVmZmVycyBhcyBpdCBjYW4gdW50aWwgaXQgcnVucyBvdXQgb2YKCSAgYnVmZmVycyBvciB3aGVuIGl0IGRldGVjdHMgYSBzZXFudW0gZGlzY29udC4gVGhlbiBpdCB3aWxsIHdhaXQgZm9yIHNvbWUgZXZlbnQgdG8KCSAgaGFwcGVuIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHB1c2ggbW9yZSBidWZmZXJzLgoJICBNYWtlIG1ldGhvZHMgdG8gcmVnaXN0ZXIgdGltZW91dHMgaW4gYW4gYXJyYXkuIFRoZXNlIHRpbWVvdXRzIGFyZSByZWdpc3RlcmVkCgkgIHdoZW4gd2UgZGV0ZWN0IGEgbWlzc2luZyBwYWNrZXQsIHN5bmMgZm9yIHRoZSBmaXJzdCBwYWNrZXQgb3Igd2hlbiB3ZSBmaW5kIGFuCgkgIGVzdGltYXRpb24gZm9yIHRoZSBlbmQtb2Ytc3RyZWFtLgoJICBUaGlzIGdyZWF0bHkgc2ltcGxpZmllcyBhbmQgY2xhcmlmaWVzIHRoZSBjb2RlIGFuZCBhbHNvIG1ha2VzIGl0IHBvc3NpYmxlIHRvCgkgIHJlZ2lzdGVyIG1vcmUgY29tcGxpY2F0ZWQgdGltZW91dCBzY2hlbWVzIGxhdGVyLgoKMjAxMy0wNy0zMCAxODo1Mjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVzZSBOVUxMIHRvIGlnbm9yZSBwZXJjZW50CgkgIElmIHdlIHBhc3MgTlVMTCB0byBwb3AgYW5kIHB1c2ggd2UgaWdub3JlIHRoZSBwZXJjZW50IHJlc3VsdC4KCjIwMTMtMDctMzAgMDc6MDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvcgoJICBNb3ZlIGVvcyBlc3RpbWF0aW9uIGludG8gc2VwYXJhdGUgZnVuY3Rpb24KCjIwMTMtMDctMzAgMTQ6Mjg6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBkb24ndCBsZWFrIHN0cmVhbV9pZCBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTE0MgoKMjAxMy0wNy0yOSAxOTo1Mzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2wucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wNy0yOSAxOTo0ODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IHRlc3QgYmluYXJpZXMKCjIwMTMtMDctMjkgMTQ6NDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjMgPT09CgoyMDEzLTA3LTI5IDEzOjQyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjMKCjIwMTMtMDctMjkgMTM6NDI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTI5IDEyOjEyOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnc3Q6IERvbid0IHN3YXAgc3RhcnQvc3RvcCBmb3IgbmVnYXRpdmUgcmF0ZXMgaW4gdGhlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MTg6NDAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgZm9yIGRhdGEgc2l6ZSB3aGVuIHBhcnNpbmcgaDI2NCBjb2RlYyBkYXRhIGZyb20gc3RyZiBhdG9tCgoyMDEzLTA3LTI5IDEwOjUzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTA6NTM6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDEwOjUwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yNyAxODoxMDoyMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFN1cHBvcnQgSDI2NCBmb3VyY2MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk5NgoKMjAxMy0wNy0yOCAxODowOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBGaXggaGFuZGxpbmcgb2YgaW1hZ2UgdGFncwoJICBUaGUgY2FwcyBzaG91bGQgYmUgdXNlZCB0byBnZXQgdGhlIG1pbWV0eXBlIGFuZCB0aGVyZSBpcwoJICBvbmx5IGFuIGluZm8gc3RydWN0dXJlIGZvciB0aGUgR3N0U2FtcGxlIGlmIHRoZSBpbWFnZS10eXBlCgkgIGlzIG5vdCBOT05FLgoKMjAxMy0wNy0yOCAxODowNDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBEb24ndCBjcmFzaCBpZiB0aGVyZSBpcyBubyBpbWFnZSB0YWcgaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAxOAoKMjAxMy0wNy0yOCAxNzozODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGR1cmF0aW9uIHJlcG9ydGluZyBpbiBwdXNoIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDkzMwoKMjAxMy0wNy0yOCAxNzozMjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgZm9yZ2V0IHVubWFwcGluZyBhbmQgdW5yZWZmaW5nIGJ1ZmZlcgoKMjAxMy0wNy0yNiAyMTowNjoxNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHVubWFwIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTUxCgoyMDEzLTA3LTI2IDIyOjMxOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBkb24ndCBtYWtlIGJ1ZmZlciB3cml0YWJsZSBwcmVtYXR1cmVseQoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gbWFrZSB0aGUgU1IgYnVmZmVyIHdyaXRhYmxlIGF0IHRoaXMgcG9pbnQuIFRoaXMgaXMgYmV0dGVyCgkgIGRlbGF5ZWQgdW50aWwgbmVlZGVkLgoKMjAxMy0wNy0yNiAyMjoyNTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaWdub3JlIFJUQ1AgZm9yIGluYWN0aXZlIHNvdXJjZXMKCjIwMTMtMDctMjYgMjI6MjU6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHNtYWxsIGNsZWFudXAKCjIwMTMtMDctMjYgMTc6MTc6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNlc3Npb246IGhhbmRsZSBwYXJ0aWFsIFJUQ1AgcmVwb3J0IGJsb2NrcwoJICBXaGVuIHdlIGhhdmUgbW9yZSBTU1JDcyB0byByZXBvcnQgdGhhbiB3aGF0IGZpdCBpbiBhbiBSVENQIHBhY2tldCwgdXNlIGEKCSAgZ2VuZXJhdGlvbiBjb3VudGVyIHRvIG1ha2Ugc3VyZSBhbGwgb2YgdGhlbSBlbmQgdXAgaW4gYSBwYWNrZXQgZXZlbnR1YWxseS4KCjIwMTMtMDctMjYgMTc6MjM6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGNyZWF0ZSBTU1JDIGJlZm9yZSBkb2luZyBzZXNzaW9uIGNsZWFudXAKCSAgTWFrZSB0aGUgaW50ZXJuYWwgc291cmNlIGJlZm9yZSB3ZSBkbyBzZXNzaW9uIGNsZWFudXAKCjIwMTMtMDctMjYgMTc6MjE6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlb3JnYW5pemUgdGhlIHJlcG9ydCBibG9jayBjb2RlCgoyMDEzLTA3LTI2IDE2OjAyOjAxICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBjaGVja19zdWJ0aXRsZV9idWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDkyMQoKMjAxMy0wNy0yNiAxNDoyMTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcmVmYWN0b3IgYWN0aXZlIGFuZCBzZW5kZXIgY2hlY2tzCgoyMDEzLTA3LTI2IDEyOjA2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZW1vdmUgaW50ZXJuYWwgc291cmNlcyBvbiB0aW1lb3V0CgkgIFdoZW4gYW4gaW50ZXJuYWwgc291cmNlIHRpbWVzIG91dCBhbmQgYmVjb21lcyBhIHJlY2VpdmVyLCByZW1vdmUgaXQuCgoyMDEzLTA3LTI2IDExOjQ3OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBjcmVhdGUgYW4gaW50ZXJuYWwgc291cmNlIGZvciBSVENQCgkgIFdoZW4gd2UgbmVlZCB0byBkbyBSVENQIGFuZCB3ZSBkb24ndCBoYXZlIGFuIGludGVybmFsIHNvdXJjZSB5ZXQsCgkgIG1ha2Ugb25lLgoKMjAxMy0wNy0yNiAxMDo0NzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgc2Vzc2lvbjogcmVtb3ZlIG9sZCBjb2RlIHRvIGNoYW5nZSBTU1JDCgkgIFJlbW92ZSBjb2RlIHVzZWQgdG8gY2hhbmdlIHRoZSBTU1JDIGFmdGVyIGEgY29sbGlzaW9uLiBXZSBub3cgc2VuZAoJICBhIFJFQ09ORklHVVJFIGV2ZW50IHVwc3RyZWFtIHRvIG1ha2UgdGhlIHVwc3RyZWFtIGVsZW1lbnQgY2hhbmdlIHRoZSBTU1JDLgoKMjAxMy0wNy0yNiAxMDo0Mjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBzb3VyY2U6IGRvbid0IHVwZGF0ZSBwYWNrZXQgU1NSQwoJICBSZW1vdmUgdGhlIGNvZGUgdG8gdXBkYXRlIHRoZSBTU1JDIGluIHBhY2tldHMsIGl0IGNhbiBuZXZlciBiZSBjYWxsZWQgbm93IHRoYXQKCSAgd2UgYWx3YXlzIHVzZSBhIHNvdXJjZSB3aXRoIG1hdGNoaW5nIHBhY2tldCBTU1JDLgoKMjAxMy0wNy0yNiAxMDoyNDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBkZWxheSBhbGxvY2F0aW9uIG9mIGludGVybmFsIHNvdXJjZQoJICBBbGxvY2F0ZSB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4gd2UgcmVjZWl2ZSBhIGNhcHMgd2l0aCB0aGUgU1NSQyBvciB3aGVuIHdlIHNlZQoJICBhIGJ1ZmZlciB3aXRoIHRoZSBTU1JDLgoKMjAxMy0wNy0yNiAxMDowMDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnZW5lcmF0ZSByZWNvbmZpZ3VyZSBvbiBjb2xsaXNpb24KCSAgV2hlbiB3ZSBkZXRlY3QgYSBjb2xsaXNpb24sIGNoYW5nZSB0aGUgU1NSQyB0aGF0IHdlIHN1Z2dlc3QgdXBzdHJlYW0KCSAgYW5kIHRyaWdnZXIgUkVDT05GSUdVUkUuIFRoaXMgc2hvdWxkIG1ha2UgdXBzdHJlYW0gc2VsZWN0IGEgbmV3IFNTUkMuCgoyMDEzLTA3LTI2IDA5OjM3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHByb2R1Y2UgUlRDUCBmb3IgYWxsIGludGVybmFsIHNvdXJjZXMKCSAgTG9vcCBvdmVyIGFsbCB0aGUgaW50ZXJuYWwgc291cmNlcyBhbmQgcHJvZHVjZSBSVENQLiBXZSBhbHNvIG5lZWQKCSAgdG8gcXVldWUgdGhlIFJUQ1AgcGFja2V0cyBhbmQgc2VuZCB0aGVtIHdoZW4gd2UgYXJlIGZpbmlzaGVkLgoKMjAxMy0wNy0yNiAwMTo0MDoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBkZXByZWNhdGUgaW50ZXJuYWwgc291cmNlIGFuZCBzc3JjIHByb3BlcnRpZXMKCSAgRGVwcmVjYXRlIHRoZSBpbnRlcm5hbCBzb3VyY2UgYW5kIGludGVybmFsIHNzcmMgcHJvcGVydGllcy4gVGhlcmUgbWlnaHQKCSAgYmUgbW9yZSB0aGFuIG9uZSBpbnRlcm5hbCBzb3VyY2UuCgoyMDEzLTA3LTI2IDAxOjI5OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpbnRlcm5hbCBzb3VyY2VzIGRvbid0IHVzZSBwcm9iYXRpb24KCjIwMTMtMDctMjYgMDE6MjQ6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2l2ZSBjYXBzIHRvIHNlc3Npb24KCSAgTGV0IHRoZSBzZXNzaW9uIHBhcnNlIHRoZSBjYXBzIGFuZCB1cGRhdGUgaXRzIFNTUkMgd2hlbiBuZWVkZWQuCgoyMDEzLTA3LTI2IDAxOjE0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogbWFrZSBtZXRob2QgdG8gc3VnZ2VzdCBhdmFpbGFibGUgU1NSQwoJICBNYWtlIGEgbWV0aG9kIHRvIHN1Z2dlc3QgdGhlIGJlc3QgYXZhaWxhYmxlIFNTUkMuIFRoaXMgaXMgdGhlIFNTUkMgb2YgdGhlIGxhc3QKCSAgY3JlYXRlZCBpbnRlcm5hbCBzb3VyY2UgYW5kIGlzIHVzZWQgdG8gaW5zdHJ1Y3QgdXBzdHJlYW0gdG8gcHJvZHVjZSB0aGlzCgkgIFNTUkMuCgoyMDEzLTA3LTI2IDAxOjAxOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGtlZXAgU0RFUyBhbmQgc2V0IG9uIG5ldyBpbnRlcm5hbCBzb3VyY2VzCgkgIEtlZXAgdHJhY2sgb2YgdGhlIFNERVMgb3Vyc2VsdmVzIGFuZCBzZXQgaXQgb24gYWxsIG5ld2x5IGNyZWF0ZWQKCSAgaW50ZXJuYWwgc291cmNlcy4KCjIwMTMtMDctMjYgMDA6NDg6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1ha2UgbWV0aG9kIHRvIG1ha2UgaW50ZXJuYWwgc291cmNlcwoJICBBZGQgYSBtZXRob2QgdG8gb2J0YWluIGFuIGludGVybmFsIHNvdXJjZSBhbmQgdXNlIGl0IHRvIGNyZWF0ZQoJICBvdXIgaW50ZXJuYWwgc291cmNlCgoyMDEzLTA3LTI2IDAwOjI5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBzZXNzaW9uOiBjb3VudCBpbnRlcm5hbCBzb3VyY2VzIGFuZCBob3cgbWFueSBhcmUgc2VuZGVycwoKMjAxMy0wNy0yNiAwMDoxNDoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHNlcGFyYXRlIEJZRSBtYXJraW5nIGFuZCBzY2hlZHVsaW5nCgkgIEZpcnN0IG1hcmsgc291cmNlcyB3aXRoIEJZRSBhbmQgdGhlbiBzY2hlZHVsZSB0aGUgQllFIFJUQ1AgbWVzc2FnZS4KCjIwMTMtMDctMjUgMjM6NTY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGdldCBTU1JDIGZyb20gUlRDUCBwYWNrZXQgaXRzZWxmCgkgIEdldCB0aGUgU1NSQyBmcm9tIHRoZSBSVENQIHBhY2tldCBpbnN0ZWFkLgoKMjAxMy0wNy0yNSAyMzo1MTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZml4IGJhbmR3aWR0aCBjYWxjdWxhdGlvbgoJICBXZSBpdGVyYXRlIG92ZXIgYWxsIHNvdXJjZXMgYW5kIHRoZSBpbnRlcm5hbCBvbmUgaXMgYWxzbyBpbiB0aGUKCSAgaGFzaHRhYmxlIHNvIGF2b2lkIGFkZGluZyBpdCB0d2ljZS4KCjIwMTMtMDctMjUgMjM6Mzg6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBzb21lIGRvY3MKCjIwMTMtMDctMjUgMjM6MTE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IFJlYXJyYW5nZSBSVENQIHJlcG9ydGluZyBhIGxpdHRsZQoJICBNYWtlIGEgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgYW4gUlRDUCBwYWNrZXQgZm9yIGEgc291cmNlLCBwYXNzIHRoZSBzb3VyY2UgYXMgYQoJICBwYXJhbWV0ZXIuCgkgIE1vdmUgdGltZW91dCBvZiBjb2xsaXNpb25zIHRvIHNlc3Npb24gY2xlYW51cCBwaGFzZS4KCjIwMTMtMDctMjUgMjI6Mzk6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1vdmUgY2hlY2sgZm9yIGlzX2Vhcmx5IGFyb3VuZAoJICBNb3ZlIHRoZSBjaGVjayBmb3IgdGhlIGVhcmx5IFJUQ1AgdG8gd2hlcmUgaXQgaXMgbmVlZGVkIGFuZCB1c2VkLgoKMjAxMy0wNy0yNSAxNzozNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcGFyc2UgcGFja2V0IG91dHNpZGUgb2YgdGhlIHNlc3Npb24gbG9jawoKMjAxMy0wNy0yNSAxNzozNDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZG8gbmljZXIgY2hlY2tzIGZvciBpbnRlcm5hbCBzb3VyY2VzCgoyMDEzLTA3LTI1IDE3OjE1OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc2Vzc2lvbjogbGV0IHNvdXJjZSBrZWVwIHRyYWNrIGlmIGl0IHNlbnQgQllFCgoyMDEzLTA3LTI1IDE3OjA2OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogcmVzZXQgbW9yZQoKMjAxMy0wNy0yNSAxNjo0OTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNvdXJjZTogYWxzbyB1c2UgdGhlIHNvdXJjZSBmb3IgYnllX3JlYXNvbgoJICBTdG9yZSB0aGUgQllFIHJlYXNvbiBpbiBvdXIgaW50ZXJuYWwgc291cmNlIG9iamVjdC4gUmVuYW1lIHRoZSBtZXRob2RzIG9uIHRoZQoJICBzb3VyY2Ugb2JqZWN0IGEgbGl0dGxlIGJlY2F1c2Ugbm93IHRoZSBCWUUgY2FuIGJlIHJlY2VpdmVkIGluIFJUQ1Agb3IKCSAgc2V0IHdoZW4gdGhlIHNlc3Npb24gd2FudHMgdG8gc2VuZCBCWUUuCgoyMDEzLTA3LTI1IDE2OjI0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc2Vzc2lvbjogY29uZmlndXJlIHNkZXMgd2l0aCBzdHJ1Y3R1cmUgb25seQoJICBSZW1vdmUgY29kZSB0byBjb25maWd1cmUgdGhlIFNERVMgd2l0aCBtZXRob2RzIGFuZCB0eXBlcywgb25seQoJICBhbGxvdyBjb25maWd1cmF0aW9uIHdpdGggR3N0U3RydWN0dXJlCgoyMDEzLTA3LTI1IDE1OjU2OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZWZhY3RvciBhZGQgYW5kIGZpbmQgc291cmNlCgkgIE1ha2UgZnVuY3Rpb25zIHRvIGZpbmQgYW5kIGFkZCBhIHNvdXJjZSB0byB0aGUgaGFzaHRhYmxlLgoKMjAxMy0wNy0yNSAxNTo0MzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHJlbW92ZSBzb3VyY2UgZnJvbSBzeW5jX3J0Y3AKCSAgV2UgZG9uJ3QgbmVlZCB0byBrbm93IHRoZSBzZW5kZXIgc291cmNlIG9mIHRoZSBzZXNzaW9uIGluIHRoZQoJICBjYWxsYmFjaywgdGhlIFNSIHBhY2tldCBpcyBmb3IgYWxsIHBhcnRpY2lwYW50cyBpbiB0aGUgc2Vzc2lvbi4KCjIwMTMtMDctMjQgMTQ6MTg6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEzLTA3LTE1IDE3OjExOjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogYWxsb3cgY29udmVyc2lvbiBmcm9tIEFEVFMgdG8gcmF3IEFBQwoJICBTb21lIG11eGVycyAoZWcsIHF0bXV4KSBvbmx5IHN1cHBvcnQgcmF3IEFBQywgc28gdGhpcyBhbGxvd3MgbGlua2luZwoJICBhbiBlbmNvZGVyIHRoYXQgb3V0cHV0cyBBRFRTIG9ubHkgdG8gdGhvc2UgbXV4ZXJzLgoJICBUaGUgY29udmVyc2lvbiBpcyBzaW1wbGUgKG9taXQgdGhlIGZpcnN0IDcgb3IgOSBieXRlcyBvZiB0aGUgZnJhbWUpLAoJICBidXQgaGFzIHRvIGJlIGRvbmUgaW4gcHJlX3B1c2ggaW5zdGVhZCBvZiBoYW5kbGVfZnJhbWUgYXMgMS4wIGRvZXMKCSAgbm90IHNlZW0gdG8gYWxsb3cgc2tpcHBpbmcgYnl0ZXMgdGhlcmUgYXMgMC4xMCB1c2VkIHRvLgoJICBPdGhlciBjb252ZXJzaW9ucyBhcmUgbm90IHN1cHBvcnRlZCAoeWV0KS4KCjIwMTMtMDctMTUgMTc6MTU6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IG9iamVjdF90eXBlIHBhcnNpbmcgb2ZmLWJ5LW9uZSBpbiBBRFRTIGZyYW1lCgkgIEFjY29yZGluZyB0byBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1BRFRTLAoJICB0aGUgdmFsdWUgc3RvcmVkIGluIEFEVFMgaGVhZGVycyBpcyBvbmUgbGVzcyB0aGFuIHRoZSBvYmplY3QKCSAgdHlwZSBvZiB0aGUgQUFDIHN0cmVhbS4KCSAgQSBsb29rIGF0IGZmbXBlZyBzaG93cyBpdCBhbHNvIGFkZHMgMSB0byB0aGUgdmFsdWUgcmVhZCBvZmYKCSAgdGhlIEFEVFMgaGVhZGVyLgoJICBOb3RlIHRoYXQgdGhpcyBtaWdodCBicmVhayBvdGhlciB0aGluZ3MgdGhhdCBoYXBwZW4gdG8gaGF2ZQoJICBhbiBpbnZlcnNlIG9mZiBieSBvbmUgdG8gbWF0Y2ggdGhlIGV4aXN0aW5nIGNvZGUuCgoyMDEzLTA3LTI1IDExOjEzOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggc2VxbnVtIGhhbmRsaW5nIGZvciBzZWVrcwoJICBVc2UgdGhlIHNhbWUgc2VxbnVtIGFzIHRoZSBzZWVrIGZvciBmbHVzaGVzL3NlZ21lbnRzIHRoYXQgYXJlCgkgIGNhdXNlZCBieSB0aGUgc2Vlay4gQWxzbyBkbyB0aGUgc2FtZSBmb3Igc2VnbWVudCBldmVudHMKCSAgRml4ZXMgIzY3NjI0MgoKMjAxMy0wNy0yNSAwMTozOTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc2VxbnVtIGhhbmRsaW5nIGZvciBzZWVrcwoJICBVc2UgdGhlIHNhbWUgc2VxbnVtIGFzIHRoZSBzZWVrIGZvciBmbHVzaGVzL3NlZ21lbnRzIHRoYXQgYXJlCgkgIGNhdXNlZCBieSB0aGUgc2Vlay4gQWxzbyBkbyB0aGUgc2FtZSBmb3Igc2VnbWVudCBldmVudHMKCSAgRml4ZXMgIzY3NjI0MgoKMjAxMy0wNy0yNSAwMToxMTozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvcnJlY3RseSBoYW5kbGUgc2VxbnVtIGZvciBzZWVrcyBhbmQgc2VnbWVudHMKCSAgVXNlIHRoZSBzYW1lIHNlcW51bSBvbiBtZXNzYWdlcyBhbmQgZXZlbnRzIGZvciBkZXJpdmVkIGV2ZW50cy4KCSAgRml4ZWQgZm9yIGZsdXNoZXMgLyBzdHJlYW0tc3RhcnQgLyBzZWdtZW50IGFmdGVyIGEgc2VlaywgYW5kIHNlZ21lbnQKCSAgYWZ0ZXIgYSBzZWdtZW50LgoJICBGaXhlcyAjNjc2MjQyCgoyMDEzLTA3LTEyIDIwOjAxOjQyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBhbHdheXMgaWdub3JlIEhFQUQgZXJyb3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyNDEKCjIwMTMtMDctMjUgMTQ6MjY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogQ2xlYW4gdXAgcmVzZXQvc3RhcnQvc3RvcCBoYW5kbGluZwoKMjAxMy0wNy0yNSAxNDoxMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IFVzZSBiYXNlIGNsYXNzIGVycm9yIGhhbmRsaW5nIGZ1bmN0aW9uIGluc3RlYWQgb2YgcmVwbGljYXRpbmcgaXQgaGVyZQoKMjAxMy0wNy0yNSAxNDoxMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBDbGVhbiB1cCBoYW5kbGluZyBvZiByZXNldC9zdGFydC9zdG9wCgoyMDEzLTA3LTI1IDEwOjQxOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMS50YWc6CgkqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMi50YWc6CgkqIHRlc3RzL2ZpbGVzL2lkMy00NDcwMDAtd2NvcC50YWc6CgkgIHRlc3RzOiBmaXggdGVzdCBJRDMgdGFncyB1cCBub3QgdG8gcmVseSBvbiBkb2RneSB0eXBlZmluZGluZyBjb2RlCgkgIENoYW5nZSAweGZmIDB4ZmIgJ21wMycgbWFya2VyIHRvICdmTGFDJyBtYXJrZXIsIHNvIHdlIGNhbiBmaXgKCSAgdGhlIHR5cGVmaW5kZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNjgKCjIwMTMtMDctMjUgMDg6MjI6NDUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IGludGVyc2VjdCB0aGUgcHJvYmVkIGNhcHMgd2l0aCB0aGUgZmlsdGVyIHBhc3NlZCB0byBnZXRfY2FwcygpCgoyMDEzLTA3LTI0IDE0OjE3OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGJpbjogZml4IGNvbXBpbGF0aW9uCgoyMDEzLTA3LTI0IDEyOjQyOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBmaXggVVlWUCBmb3JtYXQKCjIwMTMtMDctMjQgMTI6NDE6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogZml4IFVZVlAgZm9ybWF0CgoyMDEzLTA3LTI0IDEyOjQxOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZyYXdwYXk6IGZpeCBjYXBzCgoyMDEzLTA3LTI0IDEwOjQ5OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGxvY2tpbmcKCSAgVGFrZSB0aGUgbG9jayBlYXJsaWVyIHNvIHRoYXQgd2UgZG8gdGhpbmdzIHRoYXQgZm9sbG93IHdpdGggdGhlIHJpZ2h0CgkgIGxvY2tpbmcuCgoyMDEzLTA3LTIzIDE3OjQwOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCB1c2UgaW52YWxpZCB0aW1lcyBpbiBSVENQIHRpbWVvdXRzCgkgIEFuIGludmFsaWQgdGltZW91dCBjYW4gYmUgY2FsY3VsYXRlZCB3aGVuIHdlIGRpc2FibGVkIFJUQ1AgYnkgc2V0dGluZyB0aGUKCSAgYmFuZHdpZHRoIHRvIDAuIE1ha2Ugc3VyZSBhbGwgY29kZSBjYW4gaGFuZGxlIHRoaXMgY2FzZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDYyNgoKMjAxMy0wNy0yMyAxNzozODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbG9jayBzZXNzaW9uIHdoZW4gY2hhbmdpbmcgYmFuZHdpZHRoCgkgIFRha2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNoYW5naW5nIHRoZSBiYW5kd2lkdGggcHJvcGVydGllcyBzbyB0aGF0IHdlIGRvbid0CgkgIGVuZCB1cCB3aXRoIGluY29uc2lzdGVudCBiZWhhdmlvdXIuCgoyMDEzLTA3LTIzIDE3OjM3OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZXNldCBzb21lIFJUQ1AgdmFyaWFibGVzCgkgIFRoZSBlYXJseV9zZW5kIHRpbWUgd2FzIHNldCB0byAwIGFuZCBhbHdheXMgdHJpZ2dlcmluZyBhbiBlYXJseSBSVENQIHBhY2tldC4KCjIwMTMtMDctMjMgMTU6MDM6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBhbGwgdGhlIG1wZWcgWERDQU0gdmFyaWFudHMKCSAgVGhpcyBzaG91bGQgY292ZXIgYWxsIGtub3duIFhEQ0FNIHZhcmlhbnRzICh3aGljaCBhcmUgYWxsIG1wZWcyIHZpZGVvKQoJICBGaXhlcyAjNjcyMjI3CgoyMDEzLTA3LTAzIDE4OjQxOjQyICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkZWQgY3VzdG9tIGRvd25zdHJlYW0gc3luYyBldmVudAoJICBydHBiaW4gY2FuIG5vdyBzZW5kIGEgY3VzdG9tIGluLWJhbmQgZG93bnN0cmVhbSBldmVudCB3aGljaCBpbmZvcm1zCgkgIGRvd25zdHJlYW0gdGhhdCB0aGUgYmluIGhhcyByZWNlaXZlZCBhbiBSVENQIFNSIHBhY2tldC4gVGhpcyBpcyB1c2VmdWwKCSAgZm9yIGFwcGxpY2F0aW9ucyB3aGljaCB3YW50IHRvIGRyb3AgdGhlIGluaXRpYWwgdW5zeW5jaHJvbml6ZWQgcmVjZWl2ZWQKCSAgUlRQIHBhY2tldHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1NjAKCSAgU2lnbmVkLW9mZi1ieTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKMjAxMy0wNy0yMiAxODowMDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBvbi10aGUtZmx5IGNoYW5naW5nIG9mICJtb2RlIiBhbmQgImZpZWxkcyIgcHJvcGVydGllcwoJICBXZSBjYWxsIHNldGNhcHMoKSB0byByZWNvbmZpZ3VyZSBvdXJzZWx2ZXMsIGJ1dCB3ZSBuZWVkIHRvIHBhc3MKCSAgdGhlIGN1cnJlbnQgKnNpbmsqIGNhcHMsIG5vdCB0aGUgc291cmNlIGNhcHMgdGhlbi4gQWxzbyBmaXggYQoJICBjYXBzIGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE1OTkKCjIwMTMtMDctMjIgMTU6MjM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjM6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTE5IDIyOjU5OjE1ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiB1c2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlKl9yb3VuZC4KCSAgVGhlcmUgY291bGQgYmUgYSBjYXNlIHdoZXJlOgoJICAxKSB5b3UgZG8gYSBuZXcgc2V0X2NhcHMgYWZ0ZXIgYnVmZmVycyBoYXZlIGJlZW4gcHJvY2Vzc2VkLgoJICAyKSB0c19vZmZzZXQgZ2V0cyBzZXQgdG8gYSBkaWZmZXJlbnQgdmFsdWUsIGVnIDAuMDMzMzMzMzMzCgkgIDMpIHlvdXIgcGFkcyBnZXQgRU9TLCBidXQgdGhlIGNoZWNrIGRvciB0aGF0IGRvZXNuJ3Qgd29yawoJICBiZWNhdXNlIHlvdSB1c2UgdHNfb2Zmc2V0ICsgYSB0cnVuY2F0ZWQgdmFsdWUgPCBzZWdtZW50LnN0b3AKCSAgNCkgc28gaW4gdGhlIG5leHQgY29sbGVjdGVkLCB5b3UgZW5kIHVwIGNvbXBhcmluZyBmb3IgZXhhbXBsZToKCSAgMC45OTk5OTk5OTk5ID4gMS4sIHdoaWNoIGlzIGZhbHNlIGFuZCBtZWFucyB5b3UgZG9uJ3Qgc2VuZCBFT1MuCgkgIEFsc28gYWRkcyBzY2FsZV9yb3VuZCBpbiB0d28gb3RoZXIgcGxhY2VzIHdoZXJlIGl0IHBvdGVudGlhbGx5IGNvdWxkCgkgIGhhdmUgY2F1c2VkIHByb2JsZW1zLgoKMjAxMy0wNy0xNSAxNzo1NToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEFkZCBXUkxFIHN1cHBvcnQKCjIwMTMtMDctMTkgMTk6MzU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogbWFrZSBmaWxlcyBmcm9tIFZpdm90ZWsgY2FtZXJhIHBsYXkKCSAgU2tpcCB0cmFja3Mgb2YgJ3Zpdm8nIHN1YnR5cGUgd2l0aCBlbXB0eSBzdHNkIGluc3RlYWQgb2YKCSAgZXJyb3Jpbmcgb3V0IHNheWluZyB0aGF0IHRoZSBmaWxlIGlzIGJyb2tlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc5MQoKMjAxMy0wNy0xOSAxNzoxNDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB3aGVuIHN0cmVhbWluZyBkb24ndCB0cnkgdG8gc2VlayB3aGVuIHN0b3BwaW5nCgkgIEl0IG1pZ2h0IGNhdXNlIGVycm9ycyBpbiBzaW5rcyB0aGF0IGFyZSBub3Qgc2Vla2FibGUgYW5kCgkgIGhhdmUgcmVwb3J0ZWQgdGhpcyAobGlrZSBlLmcuIGZkc2luaykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjIyOAoKMjAxMy0wNy0xOSAxNzoyNjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzaW1wbGlmeSBzb21lIGhlbHBlcnMKCSAgU29tZSBoZWxwZXIgZnVuY3Rpb25zIGFyZSBub3QgbmVlZGVkIGFueW1vcmUgb3IgY2FuIGJlIHNpbXBsaWZpZWQuCgoyMDEzLTA3LTE5IDE3OjEyOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZvciBub24tcmF3IHZpZGVvLCBtb3ZlIHBhbGV0dGUgaW4gY2FwcwoJICBXZSBvbmx5IG5lZWQgdG8gYXBwZW5kIHRoZSBwYWxldHRlIHRvIHJhdyB2aWRlbyBidWZmZXJzLCBub24tcmF3IHZpZGVvIGhhcyB0aGUKCSAgcGFsZXR0ZSBpbiB0aGUgY2FwcyBzdGlsbC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI5MgoKMjAxMy0wNy0xOSAwMTo0OToyMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbml0cGlja2luZyBpbiBlc2RzIHBhcnNpbmcKCjIwMTMtMDctMTkgMDE6NDk6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBwcm9wZXIgY2FwcyBmb3IgbXBlZy0xIGF1ZGlvCgkgIFJlbW92ZSBBQUMgc3BlY2lmaWMgZmllbGRzIGZyb20gbXBlZy0xIGF1ZGlvIGNhcHMsIHJlbW92ZSBhc3N1bXB0aW9uCgkgIHRoYXQgdGhlIG1wZWcxIGF1ZGlvIGxheWVyIGlzIDMsIGFuZCBzZXQgYHBhcnNlZCcgZmllbGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1NDgKCjIwMTMtMDYtMTcgMjE6Mjc6MzcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDlkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSAgdnB4OiBmaXggY29tcGlsYXRpb24gd2hlbiBlbmNvZGVyIG9yIGRlY29kZXIgaGVhZGVycyBhcmUgbm90IGluc3RhbGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTQ3CgoyMDEzLTA3LTE2IDIwOjQxOjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBGaXggdW5pdCBmb3IgR1JBWTE2IGZvcm1hdHMKCjIwMTMtMDctMTYgMjI6MTc6MTcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBjaGFwdGVyIHN0cmVhbQoJICBSZW1vdmUgYWxsIHN0cmVhbXMgdGhhdCBhcmUgYWN0dWFsbHkgdGFibGUgb2YgY29udGVudHMsIHNpbmNlIHdlIHdpbGwKCSAgbmV2ZXIgbmVlZCB0aGUgZGF0YSBhZnRlciBwYXJzaW5nIHRoZW0uCgoyMDEzLTA3LTE2IDIxOjU5OjM3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZW5kIGdhcCBldmVudCBmb3Igc3BhcnNlIHN0cmVhbXMgaW4gcHVzaCBtb2RlCgkgIFRoaXMgYWxsb3dzIHRvIHByZS1yb2xsIGF0IGxlYXN0IGlmIHRoZSBuZXh0IHN1YnRpdGxlIGJ1ZmZlcgoJICBpcyBmYXIgYXdheS4KCjIwMTMtMDctMTYgMjE6NTY6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCB1c2UgaW5kZXhlcyBmcm9tIHNwYXJzZSBzdHJlYW0gd2hlbiBzZWVraW5nIGluIHB1c2ggbW9kZQoJICBUaGlzIG1ha2VzIHNlZWtpbmcgbW9yZSBhY2N1cmF0ZSBpbiBwdXNoIG1vZGUsIHNpbmNlIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZSBvbiBhIHNwYXJzZSBzdHJlYW0gbWlnaHQgYmUgZmFyIGF3YXkuCgoyMDEzLTA3LTE2IDIxOjA0OjA3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZHZlcnRpc2Ugc3VidGl0bGUgc3RyZWFtcyBhcyBzcGFyc2UKCjIwMTMtMDctMTcgMTc6MTE6NDQgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hc3Ryb2thZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIFVuc2V0IHRoZSBkaXNjb250IGZsYWcgaW5zdGVhZCBvZiBwb3Nzc2libHkgcHVzaGluZyBhIGJ1ZmZlciB3aXRoCgkgIGEgZmxhZyB0aGF0J3Mgc3RpbGwgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTEwCgoyMDEzLTA3LTE3IDE1OjEwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgdGhlIHBhbGV0dGUgZnJvbSBzdHNkCgkgIFNvbWV0aW1lcyBhIHBhbGV0dGUgaXMgaW5zaWRlIHRoZSBzdHNkLCBleHRyYWN0IGl0IGluc3RlYWQgb2YgYWx3YXlzIHVzaW5nCgkgIHRoZSBkZWZhdWx0IG9uZQoKMjAxMy0wNy0xNyAxNDozMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiBGaXggZXZlbnQgaGFuZGxpbmcgYW5kIG5lZ290aWF0ZSBhcyBzb29uIGFzIHBvc3NpYmxlCgoyMDEzLTA3LTE3IDE0OjI3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IEZpeCBldmVudCBoYW5kbGluZyBhbmQgbmVnb3RpYXRlIGFzIHNvb24gYXMgcG9zc2libGUKCjIwMTMtMDctMTEgMTk6NDU6MTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogd2FybiBhYm91dCB0aGUgZnV0dXJlIGRlcHJlY2F0aW9uIG9mIHRoZSAiZW1iZWQiIHByb3BlcnR5CgoyMDEzLTA3LTE3IDA5OjU2OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBXUkFXCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyOTIKCjIwMTMtMDctMTcgMDk6NTQ6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFsZXR0ZSBpcyBhcHBlbmRlZCB0byBidWZmZXJzLCBub3QgaW4gY2FwcwoJICBGaXggdGhlIHBhbGV0dGUgaGFuZGxpbmcsIGluIDEuMCB3ZSBhcHBlbmQgdGhlIHBhbGV0dGUgdG8gdGhlIGJ1ZmZlciBpbnN0ZWFkIG9mCgkgIHBsYWNpbmcgaXQgb24gdGhlIGNhcHMuCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyOTIKCjIwMTMtMDctMTYgMTU6Mzc6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHA6IFVzZSBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlcl9mYXN0KCkgd2hlcmUgcG9zc2libGUgaW4gUlRQIHBheWxvYWRlcnMKCjIwMTMtMDctMTUgMTY6MjQ6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc2V0IHNlZ21lbnQgb24gZmx1c2ggc3RvcAoJICBjY2EyZjU1NWQxNCBpbnRyb2R1Y2VzIGEgcmVncmVzc2lvbiwgd2hlcmUgdGhlIGRlbXV4IHNlZ21lbnQgaXMgbm90CgkgIHJlc2V0IG9uIGZsdXNoIHN0b3AsIHNvIHRoZSBuZXh0IHVwc3RyZWFtIHNlZ21lbnQgZXZlbnQgd2lsbCBjYWxjdWxhdGUKCSAgYW4gaW52YWxpZCBiYXNlIHRpbWUgb24gdGhlIG5ldyBzZWdtZW50IHRvIGJlIHNlbnQgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI1NQoKMjAxMy0wNy0wNiAxNzoyMDo0OSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogb2Zmc2V0IHNhbXBsZXMgYWNjb3JkaW5nIHRvIGVkaXQgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjY0CgoyMDEzLTA3LTE0IDEyOjUwOjEzICsxMjAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAaGFsby5nZW4ubno+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIGxldmVsOiBGaXggdGhlIHNwZWN0cnVtIGV4YW1wbGUgZm9yIDEuMAoJICBUaGUgIm1lc3NhZ2UiIHByb3BlcnR5IGhhcyBiZWVuIHJlcGxhY2VkIGJ5ICJwb3N0LW1lc3NhZ2VzIi4KCSAgUHJlLXBhdGNoIG91dHB1dDoKCSAgKHRlc3Rfc3BlY3RydW06MjMxMDEpOiBHTGliLUdPYmplY3QtV0FSTklORyAqKjogZ19vYmplY3Rfc2V0X3ZhbGlzdDoKCSAgb2JqZWN0IGNsYXNzIGBHc3RTcGVjdHJ1bScgaGFzIG5vIHByb3BlcnR5IG5hbWVkIGBtZXNzYWdlJwoJICBOZXcgc3BlY3RydW0gbWVzc2FnZSwgZW5kdGltZSAwOjAwOjAwLjEwMDAwMDAwMAoJICAodGVzdF9zcGVjdHJ1bToyMzEwMSk6IEdTdHJlYW1lci1DUklUSUNBTCAqKjoKCSAgZ3N0X3ZhbHVlX2xpc3RfZ2V0X3ZhbHVlOiBhc3NlcnRpb24gYEdTVF9WQUxVRV9IT0xEU19MSVNUICh2YWx1ZSknIGZhaWxlZAoJICBbLi4uXQoJICBQb3N0LXBhdGNoOgoJICBOZXcgc3BlY3RydW0gbWVzc2FnZSwgZW5kdGltZSAwOjAwOjAwLjEwMDAwMDAwMAoJICBiYW5kIDAgKGZyZXEgNDAwKTogbWFnbml0dWRlIC02NS45ODg3NzcgZEIgcGhhc2UgMS41MzMzOTcKCSAgYmFuZCAxIChmcmVxIDEyMDApOiBtYWduaXR1ZGUgLTY1LjU0NTU2MyBkQiBwaGFzZSAtMC43ODA5MDAKCSAgYmFuZCAyIChmcmVxIDIwMDApOiBtYWduaXR1ZGUgLTY0Ljc5MTk0NiBkQiBwaGFzZSAtMC43OTk2MTEKCSAgYmFuZCAzIChmcmVxIDI4MDApOiBtYWduaXR1ZGUgLTY0LjU1NjE3NSBkQiBwaGFzZSAtMC4wNjM2MTUKCSAgWy4uLl0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDE3OQoKMjAxMy0wNy0xMyAyMDo1NjoyNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGJlIGxlc3MgdmVyYm9zZSB3aGVuIHBhcnNpbmcgTE9BUyBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQxNjIKCjIwMTMtMDctMTIgMTI6MzE6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHNpbms6IGFsYXcvbXVsYXcgY2FwcyBkb24ndCBoYXZlIGEgbGF5b3V0IHByb3BlcnR5CgoyMDEzLTA3LTEyIDEyOjI3OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogcmVsYXggbXVsYXcgYW5kIGFsYXcgZm9ybWF0IGNoZWNrcwoJICBUaGUgYXVkaW8gbGlicmFyeSBjb25zaWRlcnMgdGhlbSBhcyBlbmNvZGVkIGZvcm1hdHMgYW5kIGRvZXMgbm90IGZpbGwgaW4gdGhlCgkgIHNhbXBsZSB3aWR0aC4gVGhlIGF1ZGlvIHJpbmdidWZmZXJzIGlkZW50aWZpZXMgdGhlIGZvcm1hdCBhcyBhbGF3L211bGF3IGFuZCB0aGF0CgkgIGlzIGFsd2F5cyA4IGJpdHMuCgoyMDEzLTA3LTExIDE2OjEzOjA1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiB1bnNlbGVjdCBpbnN0ZWFkIG9mIGlnbm9yaW5nIGRpc2FibGVkIHRyYWNrLCBkZXRlY3QgY2hhcHRlciB0cmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDA3CgoyMDEzLTA3LTExIDIwOjQxOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogaWdub3JlIGVycm9ycyBmcm9tIEhFQUQgcmVxdWVzdAoJICBIRUFEIHJlcXVlc3RzIGFyZSB1c2VkIHRvIGNoZWNrIHRoZSBzZXJ2ZXIgaGVhZGVycyB0byBzZWUgaWYgaXQKCSAgc2Vla2FibGUuIElnbm9yZSBlcnJvcnMgZnJvbSB0aG9zZSByZXF1ZXN0cyBhcyB0aGV5IHNob3VsZG4ndCBiZQoJICBjcml0aWNhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDA1MwoKMjAxMy0wNy0xMiAwMzoyNDowOCArMDgwMCAgS3lvc3VrZSBOZWtvbXVyYSA8c3VwZXJjYXRleHBlcnRAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogRml4IGhhbmRsaW5nIG9mIGRlbGF5IHByb3BlcnR5IGluIFBMQVlJTkcvUEFVU0VEIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM5MDEKCjIwMTMtMDctMDkgMTc6NTY6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBFbmFibGUgcHJveHkgY2FwcyBvbiB0aGUgc3JjIHBhZHMKCjIwMTMtMDctMTEgMTY6NTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjIgPT09CgoyMDEzLTA3LTExIDE1OjU4OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjIKCjIwMTMtMDctMTEgMTU6NTg6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTA5IDE1OjM0OjA0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmZXIgdGhlIHdpbmRvdyBoYW5kbGUgc2V0dXAgdG8gdGhlIG1haW4gdGhyZWFkCgoyMDEzLTA3LTA5IDE1OjMzOjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRlZmF1bHQgdG8gdGhlIG1haW4gaW4gY2FzZSB3ZSBhcmUgbm90IHNldHVwIHlldAoKMjAxMy0wNy0wNyAyMjoxNjowNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBjbG9zZSB0aGUgaW50ZXJuYWwgd2luZG93IGNvcnJlY3RseQoKMjAxMy0wNy0wNyAyMToxNDoyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IG9ubHkgY3JlYXRlIHRoZSBOUyBhcHAgdGhyZWFkIGZvciBDb2NvYSBvbmNlCgkgIFRoZSBoZWxwZXIgdGhyZWFkIGZvciBDb2NvYSwgaW4gY2FzZSBubyBOUyBydW4gbG9vcCBpcyBydW5uaW5nLAoJICBzaG91bGQgYmUgc3RhcnRlZCBvbmx5IG9uY2UgYW5kIHNoYXJlZCBhY3Jvc3MgYWxsIHRoZSBpbnN0YW5jZXMKCSAgcnVubmluZwoKMjAxMy0wNy0wOSAxOToxMDoxNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb3JyZWN0IGFyZ3VtZW50IG9yZGVyIGluIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnRfcm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM1MAoKMjAxMy0wNy0wOSAxNzo0Mjo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEtlZXAgY2FwcyBvcmRlciBmcm9tIHRoZSBwZWVyIG9yIHRoZSBmaWx0ZXIKCjIwMTMtMDctMDkgMTI6NDI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBoYW5kbGluZyBvZiBidWZmZXJzIHdpdGhvdXQgYSBkdXJhdGlvbgoJICBXZSdsbCBoYXZlIHRvIHBvcCBidWZmZXIgZnJvbSBjb2xsZWN0cGFkcyBhbmQgc3RvcmUgaXQKCSAgaW50ZXJuYWxseSBvbmx5IHRvIGdldCB0aGUgdGltZXN0YW1wIG9mIHRoZSBuZXh0IGJ1ZmZlci4KCSAgSWYgd2UgY29udGludWUgdG8ga2VlcCBpdCBpbiBjb2xsZWN0cGFkcywgbm8gbmV3IGJ1ZmZlcgoJICB0byBjYWxjdWxhdGUgdGhlIGVuZCB0aW1lIHdpbGwgZXZlciBhcnJpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NDMKCjIwMTMtMDctMDkgMTE6NTM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBuZWdvdGlhdGlvbiB3aXRoIDAvMSBmcmFtZXJhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NDMKCjIwMTMtMDctMDkgMTE6MTc6NTkgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVubG9jayBzdHJlYW0gbG9jayBhZnRlciB1c2UKCSAgU3RyZWFtIGxvY2sgb2Ygc2luayBwYWQgd2FzIG5vdCB1bmxvY2tlZCBhZnRlciBub24tdXBkYXRpbmcgc2Vlay4KCjIwMTMtMDYtMjcgMTM6MjY6MzEgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnRtdXg6IFJlLXNldCBuZWVkX3NlZ21lbnQgZmxhZyBhZnRlciBGTFVTSF9TVE9QCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMxODIKCjIwMTMtMDctMDUgMTE6NTE6MDQgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYnVmZmVycG9vbDogZG9uJ3QgZm9yZ2V0IHRvIHJlbGVhc2UgYnVmZmVyIG9uIGVycm9yCgkgIElmIHRoZSBwb29sIGlzIHN0b3BwZWQgd2hpbGUgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZHFidWYoKSB3YWl0cyBmb3IgYQoJICBidWZmZXIgdGhlbiB0aGUgcmV0dXJuIHZhbHVlIGlzIEdTVF9GTE9XX0ZMVVNISU5HLiBJbiB0aGlzIGNhc2UgdGhlIGJ1ZmZlcgoJICB0byBxdWV1ZSBtdXN0IGFsc28gYmUgcmVsZWFzZWQuIE90aGVyd2lzZSBpcyB3aWxsIG5ldmVyIGJlIGRlbGV0ZWQgb3IKCSAgcmV0dXJuZWQgdG8gaXRzIHBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NjQKCjIwMTMtMDctMDggMTQ6MTU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cDogRmFpbCBwYXlsb2FkaW5nIHVuaXQgdGVzdCBpZiBhbiBlcnJvciBtZXNzYWdlIGlzIHJlY2VpdmVkCgoyMDEzLTA3LTA4IDE0OjA5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBEb24ndCBwYXNzIHVwc3RyZWFtIGZpbHRlciBjYXBzIHRvIGRvd25zdHJlYW0KCSAgRG93bnN0cmVhbSB1c3VhbGx5IGNhbid0IGFjY2VwdCB2aWRlby94LWgyNjMgYnV0IG9ubHkgYXBwbGljYXRpb24veC1ydHAsCgkgIHNvIHdlIHdvdWxkIGFsd2F5cyBnZXQgYW4gZW1wdHkgaW50ZXJzZWN0aW9uIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MzIKCjIwMTMtMDctMDUgMjI6MDA6MzcgKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMuaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY4NQoKMjAxMy0wNy0wMiAxMToxMzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgc29tZSBzdHJkdXAKCjIwMTMtMDctMDIgMTA6Mzc6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzZWxlY3Qtc3RyZWFtIHNpZ25hbAoJICBBZGQgYSBzaWduYWwgdG8gbGV0IHRoZSBhcHAgc2VsZWN0IHdoYXQgc3RyZWFtcyB3aWxsIGJlIHNlbGVjdGVkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDQxOQoKMjAxMy0wNy0wMiAxMDozNzozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgc3RyZHVwCgoyMDEzLTA3LTAyIDEwOjEyOjE3ICswMjAwICBKLiBSaWNrIFJhbXN0ZXR0ZXIgPHJpY2sucmFtc3RldHRlckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cDogRml4IGRvY3VtZW50YXRpb24gYW5kIGNvbW1lbnRzIHRvIHVzZSBydHBiaW4gaW5zdGVhZCBvZiBvbGQgZ3N0cnRwYmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0MjYKCjIwMTMtMDctMDEgMTY6NTU6MDEgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb24ndCBleHRyYWN0IGRhdGEgZnJvbSBjYXBzIHR3aWNlCgkgIGdzdF92aWRlb19pbmZvX2Zyb21fY2FwcygpIGFsd2F5cyBleHRyYWN0IHdpZHRoLCBoZWlnaHQsIGludGVybGFjZSBtb2RlIGFuZAoJICBmcmFtZXJhdGUgbm93LiBJdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IHRvIGRvIGl0IGFnYWluIGZvciBlbmNvZGVkCgkgIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzOTkKCjIwMTMtMDYtMjAgMDk6NDE6NDggLTAzMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWxzbyBjb25zaWRlciBzdG9wIHBvc2l0aW9ucyBpbiBzZWVrcwoJICBVc2Ugc2VlayBzdG9wIHBvc2l0aW9uIGFzIHJhbmdlIGVuZCBmb3IgcmVxdWVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wNi0xOSAxNDowNjo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFsbG93IHNlZWtzIGluIHJlYWR5CgkgIE9uIGlzX3NlZWthYmxlLCBjaGVjayBpZiB0aGUgc2VydmVyJ3MgaGVhZGVycyBoYXZlIGFscmVhZHkgYmVlbgoJICByZWNlaXZlZC4gSWYgbm90LCBkbyBhIEhFQUQgcmVxdWVzdCB0byBnZXQgdGhlbSBiZWZvcmUgcmVzcG9uZGluZwoJICB0byBiYXNlc3JjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTA3LTAxIDE3OjI4OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiB0aGUgU0RQCgkgIFRoaXMgd2F5LCB0aGUgYXBwIGNhbiBsb29rIGFuZCBtb2RpZnkgdGhlIFNEUC4KCjIwMTMtMDYtMjEgMTg6MTA6MjggKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBBbGxvdyBuZWdhdGl2ZSBvZmZzZXRzIHRvIHNwZWNpZnkgb2Zmc2V0IGZyb20gYm90dG9tL3JpZ2h0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MjYKCjIwMTMtMDYtMzAgMjE6MDE6MjAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29tcHV0ZSBmcmFtZXJhdGUgZnJvbSBhdmVyYWdlIHNhbXBsZSBkdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzUwCgoyMDEzLTA2LTI1IDIxOjE2OjM4ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEFkZCBmbHZ2ZXJzaW9uIDEgdG8gdGhlIGZsYXNoLXZpZGVvIGNhcHMKCSAgVGhpcyBhbGxvd3MgdXNpbmcgYXZkZWNfZmx2IHdoaWNoIHJlcXVpcmVzIHRoaXMgZmllbGQgdG8gYmUKCSAgcHJlc2VudCBpbiB0aGUgY2Fwcy4gRkxWIG9ubHkgc3VwcG9ydHMgZmxhc2gtdmlkZW8gdmVyc2lvbiAxCgkgIHJpZ2h0IG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzA3NgoKMjAxMy0wNy0wMSAxMTozNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogRG9uJ3QgaG9sZCBvYmplY3QgbG9jayB3aGlsZSBzZW5kaW5nIGV2ZW50cyBkb3duc3RyZWFtCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMxMTQKCjIwMTMtMDctMDEgMTA6NTk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgTVBFRzQgdmlkZW8gcHJvZmlsZS9sZXZlbCB0byB0aGUgY2FwcwoKMjAxMy0wNy0wMSAxMDo1NjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBBQUMgcHJvZmlsZS9sZXZlbCB0byB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzEyCgoyMDEzLTA2LTI4IDE1OjIxOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgdm9yYmlzcGF5OiBhZGQgc3VwcG9ydCBmb3IgY29uZmlnLWludGVydmFsCgkgIEFsaWduIGNvZGUgd2l0aCB0aGUgdGhlb3JhIHBheWxvYWRlciBhbmQgYWRkIHN1cHBvcnQgZm9yIHRoZSBjb25maWctaW50ZXJ2YWwgdG8KCSAgcGVyaW9kaWNhbGx5IHNlbmQgb3V0IHRoZSBjb25maWcgaGVhZGVycy4KCjIwMTMtMDYtMjggMTU6MjE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IHNtYWxsIGNsZWFudXBzCgoyMDEzLTA2LTI4IDEyOjA4OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdGhlb3JhcGF5OiBoYW5kbGUgc3RyZWFtaGVhZGVycyBhcyB3ZWxsCgoyMDEzLTA2LTI4IDEyOjA2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgdm9yYmlzcGF5OiBhbHdheXMgY29sbGVjdCBoZWFkZXJzIG9uIGRhdGEKCSAgV2hlbiB3ZSBzZWUgYSBkYXRhIHBhY2tldCwgYWx3YXlzIGNoZWNrIGlmIHdlIG5lZWQgdG8gY29sbGVjdCBhbnkgcHJldmlvdXMKCSAgaGVhZGVycy4KCjIwMTMtMDYtMjggMTE6NDM6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IGhhbmRsZSBzdHJlYW1oZWFkZXIgYXMgd2VsbAoJICBUYWtlIGNvbmZpZyBzdHJpbmdzIGZyb20gdGhlIHN0cmVhbWhlYWRlciB3aGVuIHdlIGNhbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MzEyCgoyMDEzLTA2LTI3IDA3OjQwOjI5ICswMjAwICBEYXZpZCBTdmVuc3NvbiBGb3JzIDxkYXZpZHNmQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIGRvdWJsZSBidWZmZXIgdW5tYXAgb24gZXJyb3IKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzE3MQoKMjAxMy0wNi0yNyAxNzowMjoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVzZXQtc3luYyBiZWZvcmUgcGxheQoJICBDYWxsIHJlc2V0LXN5bmMgb24gdGhlIHJ0cGJpbiBiZWZvcmUgd2UgZ28gdG8gcGxheWluZy4gVGhpcyBtYWtlcyB1cyByZXF1aXJlIFNSCgkgIHBhY2tldHMgZm9yIGFsbCBzdHJlYW1zIGFnYWluIGJlZm9yZSB3ZSBhdHRlbXB0IHRvIHN5bmMgdGhlbS4gSWYgd2UgZG9uJ3QgcmVzZXQsCgkgIGl0IG1pZ2h0IGJlIHRoYXQgd2UgY29tYmluZSBTUiBwYWNrZXRzIGZyb20gYmVmb3JlIGFuZCBhZnRlciB0aGUgUEFVU0UvUExBWUlORwoJICBzdGF0ZSBjaGFuZ2UgYW5kIGVuZCB1cCB3aXRoIGh1Z2UgYm9ndXMgb2Zmc2V0cy4KCjIwMTMtMDYtMjcgMTY6MjM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIHN5bmMgb24gZmlyc3QgcGFja2V0cwoJICBEb24ndCB0aHJvdyBhd2F5IHRoZSBmaXJzdCBSVENQIHBhY2tldCBpZiBpdCBhcnJpdmVzIGJlZm9yZSB0aGUgZmlyc3QKCSAgUlRQIHBhY2tldCBidXQgcmVtZW1iZXIgYW5kIHVzZSBpdCB0byBzaWduYWwgc3luYyBvbmNlIHdlIGdldCB0aGUKCSAgUlRQIHBhY2tldC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE0MDAKCjIwMTMtMDYtMjcgMTY6MTU6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBvbmx5IHNpZ25hbCBsb29wIHdoZW4gYWN0aXZlCgkgIE9ubHkgc2lnbmFsIHRoZSBsb29wIGZ1bmN0aW9uIHdoZW4gaXQgaXMgYWN0aXZlLgoKMjAxMy0wNi0yNyAxNjoxMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNpZ25hbCB0aW1lc3RhbXAgZGlzY29udAoJICBXZSBjYW4gbm93IHVzZSB0aGUgUkVTWU5DIGJ1ZmZlciBmbGFnIHRvIG1hcmsgYSB0aW1lc3RhbXAgZGlzY29udCB3aGVuIHdlIHVwZGF0ZQoJICB0aGUgdHMtb2Zmc2V0IHByb3BlcnR5LgoKMjAxMy0wNi0yNiAyMDo0OTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBqcGVncGF5OiB0dXJuIHNvbWUgZXJyb3JzIGludG8gd2FybmluZ3MKCSAgVHVybiBzb21lIGVycm9ycyBpbnRvIHdhcm5pbmdzLCB3ZSBjYW4gY29udGludWUgcHJvY2Vzc2luZyBzbyB0aGlzIHNob3VsZAoJICBub3QgYmUgZmF0YWwuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwNzkKCjIwMTMtMDYtMjYgMTQ6NTg6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYXZvaWQgc29tZSBmbHVzaGVzCgoyMDEzLTA2LTI2IDE0OjQxOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgZGF0YSBtZXNzYWdlIHdoZW4gd2FpdGluZyBmb3IgcmVwbHkKCSAgV2hlbiB3ZSBhcmUgd2FpdGluZyBmb3IgYSBzZXJ2ZXIgcmVwbHksIGhhbmRsZSBkYXRhIG1lc3NhZ2VzIGluc3RlYWQgb2YKCSAgaWdub3JpbmcgdGhlbS4KCjIwMTMtMDYtMjYgMTQ6Mjc6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBkYXRhIG1lc3NhZ2VzIGluIHNlcGFyYXRlIG1ldGhvZAoJICBSZWZhY3RvciBhbmQgbWFrZSBhIG1ldGhvZCB0byBoYW5kbGUgYSBkYXRhIG1lc3NhZ2UuCgoyMDEzLTA2LTI1IDIwOjM2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc29tZSBtb3JlIGRvY3MgdG8gaGFuZGxlLXJlcXVlc3Qgc2lnbmFsCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzA1CgoyMDEzLTA2LTEwIDE3OjIwOjMwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBTZW5kIGEgY2xvY2tfcHJvdmlkZSBtZXNzYWdlIG9uIHRoZSBidXMgd2hlbiB3ZSBnZXQgYSBuZXRjbG9jawoKMjAxMy0wNi0xMCAxNzoyMDoxNCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBFeHBvc2UgdXNlLXBpcGVsaW5lLWNsb2NrIHByb3BlcnR5CgoyMDEzLTA2LTI0IDE3OjExOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogYmluZCB0byB0aGUgZ2l2ZW4gaW50ZXJmYWNlCgkgIEFjdHVhbGx5IGNhbGwgQklORFRPREVWSUNFIHRvIGJpbmQgdG8gdGhlIGludGVyZmFjZSBhcyBnaXZlbiBieSB0aGUKCSAgcHJvcGVydHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MTkKCjIwMTMtMDYtMjIgMTA6NTk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRXJyb3Igb3V0IGdyYWNlZnVsbHkgaWYgd2UgZ2V0IGFuIHVuc3VwcG9ydGVkIGNvbG9yIGZvcm1hdAoJICBJbiB0aGVvcnkgd2UgY2FuIG9ubHkgZ2V0IEk0MjAgdGhvdWdoLCBqdXN0IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUuCgoyMDEzLTA2LTIyIDEwOjU3OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDk6IEFkZCBzdXBwb3J0IGZvciBZVjEyLCBZNDJCIGFuZCBZNDQ0IGNvbG9yIGZvcm1hdHMKCSAgVGhlIGVuY29kZXIgZG9lcyBub3Qgd29yayB3aXRoIFk0MkIgYW5kIFk0NDQgeWV0IGl0IHNlZW1zLgoKMjAxMy0wNi0yMiAxMDoyNjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBVcGRhdGUgZGVmYXVsdCBwb3N0cHJvYyBzZXR0aW5ncyBmcm9tIHZwOV9keF9pZmFjZS5jCgoyMDEzLTA2LTIxIDEzOjExOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYTogQWRkIGluaXRpYWwgVlA5IHN1cHBvcnQKCjIwMTMtMDYtMjEgMTM6MDc6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSogZXh0L3ZweC9wbHVnaW4uYzoKCSAgdnB4OiBBZGQgaW5pdGlhbCwgZXhwZXJpbWVudGFsIFZQOSBzdXBwb3J0CgoyMDEzLTA2LTIxIDEwOjMyOjMwICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWkgYXQgY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBnbyBiYWNrIGludG8gdGhlIGxvb3AgYWZ0ZXIgZG9pbmcgcGF1c2UKCSAgQWZ0ZXIgd2UgZG8gYSBwYXVzZSByZXF1ZXN0LCBnbyBiYWNrIHRvIGxvb3AgbW9kZSBzbyB0aGF0IHdlIGNhbiBsaXN0ZW4KCSAgZm9yIHNlcnZlciBtZXNzYWdlcyBhZ2Fpbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MDUKCjIwMTMtMDYtMjAgMjM6MTY6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IFdhaXQgYWZ0ZXIgdGhlIGNhcHMgdG8gZm9yd2FyZCB0aGUgb3RoZXIgZXZlbnRzCgkgIEZpcnN0IGZvcndhcmQgdGhlIHN0cmVhbS1zdGFydCwgdGhlbiB0aGUgY2FwcywgdGhlbiB0aGUgcmVzdAoKMjAxMy0wNi0yMSAwMDo0MjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogY2xlYXIgZHRzIG9uIGJ1ZmZlciBhY3F1aXJlZCBmcm9tIHBvb2wKCSAgV2hlbiBzZXR0aW5nIHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycywgY2xlYXIgdGhlCgkgIGR0cyBleHBsaWNpdGx5LCBvdGhlcndpc2UgaXQgbWF5IGVuZCB1cCBiZWluZyBzZXQgdG8gYQoJICBib2d1cyB2YWx1ZSBmcm9tIGxhc3QgdGltZSBpdCB3YXMgdXNlZC4gQXZvaWRzIGV2ZXJ5CgkgIHNlY29uZCBvciBzbyBidWZmZXIncyBkdHMgYmVpbmcgc2V0IHRvIDAuIE5vdCB0aGF0IGl0CgkgIHNob3VsZCBtYXR0ZXIgZm9yIHJhdyB2aWRlby4KCjIwMTMtMDYtMjAgMTU6MzU6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IGRvbid0IHJlZGVmaW5lIHRoZSBQRVJGT1JNQU5DRSBkZWJ1ZyB2YXJpYWJsZQoJICBJdCBpcyBhbHJlYWR5IGRlZmluZWQgaW4gY29yZS4KCSAgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjczMgoKMjAxMy0wNi0yMCAxNDo0Mzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHJhY2UgaW4gc3RhdGUgY2hhbmdlIHRvIHBhdXNlZAoJICBXaGVuIHdlIGdvIHRvIHBhdXNlZCwgd2UgZmlyc3QgZmx1c2ggdGhlIGNvbm5lY3Rpb24gYW5kIHRoZW4gc2VuZCB0aGUgcGF1c2UKCSAgY29tbWFuZC4gQXMgYSByZXN1bHQgb2YgdGhlIGZsdXNoaW5nLCB0aGUgc2NoZWR1bGVkIHBhdXNlZCBjb21tYW5kIGNhbiBnZXQKCSAgbG9zdC4gV2FpdCB1bnRpbCB0aGUgY29ubmVjdGlvbiBpcyBjb21wbGV0ZWx5IGZsdXNoZWQgYW5kIHRoZSBydHNwIHRhc2sgaXMKCSAgd2FpdGluZyBiZWZvcmUgaXNzdWluZyB0aGUgcGF1c2VkIG9yIHBsYXlpbmcgcmVxdWVzdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcwNQoKMjAxMy0wNi0yMCAxMTozMToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNi0xOSAxMjozNzozMSArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IE9wdGltaXplIG5lZ290aWF0aW9uIGJ5IHJlbW92aW5nIHRoZSBxdWVyeSBmaWx0ZXIKCSAgQXMgY2FtZXJhcyB0ZW5kIHRvIGhhdmUgYSBxdWl0ZSBzcGVjaWZpYyBzZXQgb2YgY2FwYWJpbGl0aWVzIChzcGVjaWZpYwoJICBmcmFtZXJhdGVzIGZvciBlYWNoIHJlc29sdXRpb24pLCBnZXR0aW5nIHRoZSBwZWVyIGNhcHMgZmlsdGVyZWQgYnkgb3VyCgkgIHByb2JlZCBjYXBzIGNhbiBjYXVzZSBhIGJpZyBpbmNyZWFzZSBpbiB0aGUgY2FwcyBzaXplIHdoaWNoIHNsb3dzIGRvd24KCSAgdGhpbmdzIHF1aXJlIGEgYml0LgoJICBBcyBmb3IgbmVnb3RpYXRpb24gdjRsMiBpdGVyYXRlcyB0aHJvdWdoIHRoZSBjYXBzIG9mIHRoZSBwZWVyIHRvIGZpbmQgdGhlCgkgIGZpcnN0IGludGVyc2VjdGlvbiB3aXRoIHRoZSBwcm9iZWQgY2FwcywgZ2V0dGluZyB0aGUgZnVsbHkgZXhwYW5kZWQKCSAgaW50ZXJzZWN0aW9uIG9mIGNhcGFiaWxpdGllcyBpcyBub3QgdXNlZnVsLgoJICBVc2luZyB0aGUgc2FtZSB0ZXN0Y2FzZSBhcyBmb3IgYnVnICM3MDI2MzIsIGFkZGluZyB0aGlzIHBhdGNoIG9uIHRvcCBvZgoJICB0aGUgcGF0Y2hlcyBzdWdnZXN0ZWQgdGhlcmUgc3BlZWRzIHVwIGdldHRpbmcgdGhlIGluaXRhbCBmcmFtZSBmcm9tCgkgIGFyb3VuZCB+MTQtMTUgc2Vjb25kcyB0byBhcm91bmQgfjMtNCBzZWNvbmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjM4CgoyMDEzLTA2LTE5IDEwOjMwOjU2ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGR1cmF0aW9uIHF1ZXJ5IHJldHVybnMgemVybyBmb3IgRFYgdmlkZW8gaW4gYXZpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MjUKCjIwMTMtMDYtMTkgMTE6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEaXNhYmxlIHVzYWdlIG9mIGFsbG9jYXRpb24gcXVlcmllcwoJICBUaGlzIGNhbiBvbmx5IHJlbGlhYmx5IHdvcmsgaWYgZGVtdXhlcnMgaGF2ZSBhCgkgIHNlcGFyYXRlIHN0cmVhbWluZyB0aHJlYWQgcGVyIHNyY3BhZC4gVGhpcyBzaG91bGQgYmUKCSAgZG9uZSBpbiBhIGRlbXV4ZXIgYmFzZSBjbGFzcywgd2hpY2ggaW50ZWdyYXRlcyBwYXJ0cwoJICBvZiBtdWx0aXF1ZXVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE4NTYKCjIwMTMtMDYtMTEgMTU6MDI6MjEgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBBdm9pZCBza2lwcGluZyBtb292IGF0b21zIGZvciBmcmFnbWVudGVkIE1QNCBmaWxlcy4KCSAgYnVnICM3MDA1MDUKCSAgRm9sbG93aW5nIGEgcmVwcmVzZW50YXRpb24gY2hhbmdlIHRoYXQgY2F1c2VzIGEgcmVzb2x1dGlvbiBjaGFuZ2UsCgkgIHRoZSB2aWRlbyBkZWNvZGVyIGZhaWxzIHRvIGRlY29kZSBjb3JyZWN0bHkuIERhc2hkZW11eCBkZXRlY3RzIHRoZQoJICByZXByZXNlbnRhdGlvbiBjaGFuZ2UgYW5kIHB1c2hlcyBhIG5ldyBjYXBzIGV2ZW50IGFuZCBhbgoJICBpbml0aWFsaXphdGlvbiBzZWdtZW50IChhIG5ldyBtb292IGF0b20pIHRvIHRoZSBkb3duc3RyZWFtIHF0ZGVtdXgsCgkgIGJ1dCBpdCBkb2Vzbid0IGhhbmRsZSB0aGlzIG5ldyBtb292IHlldCwgaXQgd2lsbCBvbmx5IHBhcnNlIHRoZQoJICBmaXJzdCBvbmUgaXQgcmVjZWl2ZXMuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgcXRkZW11eCB0byBhY2NlcHQgYSBuZXcgbW9vdiBpbiBhIGRhc2ggYml0c3RyZWFtCgkgIHN3aXRjaGluZyBzY2VuYXJpby4KCjIwMTMtMDYtMTkgMDA6NDI6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBvbmx5IG9uY2UgZm9yIGVhY2ggc3RyZWFtCgkgIERvIG5vdCBzZW5kIHN0cmVhbSBzdGFydCBhZ2FpbiB3aGVuIHJlY29uZmlndXJpbmcgYSBwYWQgZm9yIG5ldyBjYXBzLgoJICBUaGF0IGlzIGNvbW1vbiBmb3IgYWRhcHRpdmUgc3RyZWFtcwoKMjAxMy0wNi0wNSAxNzowMjo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHN1cHBvcnQgaW4gVk0ncyB3aXRob3V0IGhhcmR3YXJlIGFjY2VsZXJhdGlvbgoKMjAxMy0wNi0xNSAxMjoyOTozMSArMDIwMCAgSmVucyBHZW9yZyA8bWFpbEBqZW5zZ2Uub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgcnRwbXAydGRlcGF5OiBhY2NlcHQgbWlzbGFiZWxsZWQgc3RyZWFtcyBmcm9tIEdTdHJlYW1lciAwLjEwIGFzIHdlbGwKCSAgVGhlIG1wMnQgcGF5bG9hZGVyIGluIDAuMTAgbWlzbGFiZWxsZWQgdGhlIHN0cmVhbXMgYXMgTVAyVC1FUwoJICBpbnN0ZWFkIG9mIE1QMlQsIHNvIGFjY2VwdCB0aGF0IGFzIHdlbGwgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ1NwoKMjAxMy0wNi0xNiAwNTo0MDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFuYWdlIGVsZW1lbnQgc3RhdGUgb3Vyc2VsdmVzCgkgIExvY2sgdGhlIHN0YXRlIG9mIHRoZSBhbGwgb3VyIGVsZW1lbnRzIGFuZCBtYW5hZ2UgdGhlaXIgc3RhdGVzCgkgIG91dHNlbHZlcy4gQmVjYXVzZSB3ZSBhcmUgd29ya2luZyBhc3luYywgd2UgY2FuJ3QgcmVseSBvbiB0aGUgc3RhdGUKCSAgY2hhbmdlIGZ1bmN0aW9uIHRvIHNldCB0aGUgc3RhdGUgYXQgdGhlIHJpZ2h0IHRpbWUgb3IgdG8gcmV0dXJuIHRoZQoJICByaWdodCByZXR1cm4gdmFsdWUgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDQ2CgoyMDEzLTA2LTE0IDE0OjA5OjUwICswMjAwICBCcnVubyBHb256YWxleiA8c3Rlbnlha0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgdW5sb2NrIHN0cmVhbSBsb2NrIHdpdGhvdXQgbG9ja2luZyBpdCBmaXJzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTY3CgoyMDEzLTA2LTEzIDE2OjAwOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFVzZSB0aGUgcmlnaHQgaGFzaHRhYmxlIHRvIGNhbGN1bGF0ZSBiYW5kd2lkdGgKCSAgRG9uJ3QgdXNlIGFuIHVudXNlZCBoYXNodGFibGUgdG8gaXRlcmF0ZSBzb3VyY2UgdG8gY2FsY3VsYXRlIGJhbmR3aWR0aC4KCSAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAxMy0wNi0xMiAxNjoyNzoyNCAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcHVsc2VzaW5rOiBSZXF1aXJlIFB1bHNlQXVkaW8gPj0gMi4wCgkgIFRoaXMgaXMgbmVlZGVkIGZvciBwYV9mb3JtYXRfaW5mb19nZXRfcHJvcF8qIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0xMyAxNDoyMzowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBSZXZlcnQgInB1bHNlc2luazogTWFrZSAyLjAgZGVwZW5kZW5jeSBvcHRpb25hbCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwMTQ1NzAyN2UwZDM4NGFjYTNlNTUxYWU2ODRlMGFhMDc0ZWU1NDk4LgoJICBXZSdsbCBqdXN0IGRlcGVuZCBvbiBQdWxzZUF1ZGlvIDIuMCBvciBhYm92ZSBpbnN0ZWFkIG9mIGhhdmluZyB0aGUgYnVnCgkgIHBhcnRpYWxseSBmaXhlZCBiYXNlZCBvbiB0aGUgaW5zdGFsbGVkIGxpYnB1bHNlIHZlcnNpb24uCgoyMDEzLTA2LTEzIDEyOjQwOjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlc2luazogTWFrZSAyLjAgZGVwZW5kZW5jeSBvcHRpb25hbAoJICBUaGUgZ2V0Y2FwcyBmdW5jdGlvbiB3ZSBhZGRlZCB1c2VzIHNvbWUgcGFfZm9ybWF0X2luZm9fZ2V0X3Byb3AuLi4KCSAgYWNjZXNzb3IgZnVuY3Rpb25zIHRoYXQgd2VyZSBvbmx5IGFkZGVkIGluIDIuMCwgc28gd2Ugb25seSBoYXZlIG91cgoJICBnZXRjYXBzIGltcGxlbWVudGF0aW9uIGV4aXN0IGlmIHdlJ3JlIGNvbXBpbGluZyBhZ2FpbnN0IGxpYnB1bHNlIDIuMCBvcgoJICBhYm92ZS4KCSAgRXZlbnR1YWxseSwgd2UgY291bGQgYnVtcCB0aGUgbWluaW11bSByZXF1aXJlbWVudCB0byAyLjAgb3IgYWJvdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDYtMTIgMTg6MjM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIFJldmVydCAidmlkZW9taXhlcjogV2hlbiBhbGwgc2lua3BhZHMgYXJlIGVvcywgdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgYW5kIGZvcndhcmQgaXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmQzOTEwZmM3OTAxYjVmMjllMTZjMGZkZDRlOTA2N2E2ZDdmNjZmZS4KCSAgSXQncyBub3Qgc29sdmluZyBhbnkgcHJvYmxlbSBhbmQgaW5zdGVhZCBjYXVzZXMgY29kZSB0byBmYWxsIGFwYXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTE5CgoyMDEzLTAxLTA5IDA5OjM5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1hcmsgc3VidGl0bGUgc3RyZWFtcyBhcyBzcGFyc2UgaW4gc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIEFuZCBhbHNvIG1hcmsgdGhlIHN0cmVhbXMgdGhhdCBzaG91bGQgYmUgc2VsZWN0ZWQgYnkgZGVmYXVsdCBpZgoJICBtYXJrZWQgc28gaW4gdGhlIGhlYWRlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA2NDgKCjIwMTMtMDYtMTEgMjI6MTI6NTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0Lmg6CgkgIGF1ZGlvcGFub3JhbWE6IGFkZCBwcmVidWlsdCBmaWxlcwoKMjAxMy0wNi0xMSAyMDoyNzo1MSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogY2xlYW51cCBhbmQgZXhwYW5kIHRoZSB0ZXN0cwoJICBTcGxpdCBvdXQgdHdvIG1vcmUgdGVzdHMuIEV4dHJhY3QgbW9yZSBjb21tb24gY29kZSBpbnRvIGhlbHBlcnMuIEFkZCBjb3ZlcmFnZSBmb3IgZmxvYXQuCgoyMDEzLTA2LTEwIDIxOjE1OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBjbGVhbnVwIG9mIHRyYW5zZm9ybSgpCgkgIE9ubHkgbWFwIGlucHV0IGlmIHdlIGFyZSByZWFkaW5nIGl0LiBDbGVhbnVwIHRoZSBsb2dnaW5nIGFuZCB0aGUgY29tbWVudHMgYSBiaXQuCgoyMDEzLTA2LTA5IDIwOjM1OjE4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLm9yYzoKCSAgYXVkaW9wYW5vcmFtYTogdXNlIG9yYyB0byBzcGVlZHVwIHByb2Nlc3NpbmcKCSAgVXNlIHNwZWNpYWwgdmFyaWFudHMgZm9yIHRoZSBjYXNlIHdoZW4gd2UgZG9uJ3QgY2hhbmdlIHRoZSBwYW5vcmFtYSAocGFuPTAuMCkuCgkgIFNpbXBsaWZ5IHRoZSBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBieSBwYXNzaW5nIHRoZSBwYW5vcmFtYSB2YWx1ZSBkaXJlY3R5IGluc3RlYWQKCSAgb2YgdGhlIGluc3RhbmNlLiBVc2Ugb3JjIGZvciBjbGVhcmluZyBidWZmZXJzIHRvby4KCjIwMTMtMDYtMTEgMTk6MjQ6NDkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGNoZWNrIGxhc3QgZW5kX3RpbWUgYWZ0ZXIgY29udmVyc2lvbiB0byBydW5uaW5nIHNlZ21lbnQKCSAgVGhlIGxhc3QgZW5kX3RpbWUgd2FzIHNhdmVkIGFmdGVyIGNvbnZlcnNpb24sIHNvIHRoZSBjb21wYXJpc29uCgkgIGhhZCB0byBiZSBtYWRlIGFmdGVyIGNvbnZlcnNpb24gZm9yIGl0IHRvIG1ha2Ugc2Vuc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDEzODUKCjIwMTMtMDYtMTEgMTk6MjI6MjAgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGFkZCBtaXgtPnNlZ21lbnQuc3RhcnQgdG8gb3V0cHV0X2VuZF90aW1lCgkgIFdoZW4gdGhlIHNlZ21lbnQgc3RhcnQgaXMgbm90IDAsIHRoaXMgY3JlYXRlZCBhIHNpdHVhdGlvbiB3aGVyZQoJICB0aGUgb3V0cHV0X2VuZF90aW1lIGlzIGluZmVyaW9yIHRvIG91dHB1dF9zdGFydF90aW1lLCBhbmQgdGhlIGR1cmF0aW9uCgkgIG9mIHRoZSBuZXh0IGJ1ZmZlciBlbmRlZCB1cCB1bmRlcmZsb3dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDEzODUKCjIwMTMtMDYtMTEgMTM6NTQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTZW5kIHN0cmVhbSBoZWFkZXJzIGFmdGVyIHRoZSBzZWdtZW50IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3OTkKCjIwMTMtMDYtMTEgMTI6MjY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBhbGxvY2F0aW9uIHF1ZXJ5IGFmdGVyIGV4cG9zaW5nIGFsbCBwYWRzIGFuZCBuby1tb3JlLXBhZHMKCSAgQWxzbyBjb25maWd1cmUgdmlkZW8gc3RyZWFtcyBhcyBlYXJseSBhcyBwb3NzaWJsZS4KCSAgUmVsYXRlZCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxODU2CgkgIGJ1dCBub3QgZml4aW5nIHRoYXQuCgoyMDEzLTA2LTExIDEyOjI1OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBmb3J3YXJkIENBUFMgZXZlbnRzIGZyb20gdXBzdHJlYW0KCSAgSnVzdCB1c2UgdGhlIGRlZmF1bHQgcGFkIGV2ZW50IGhhbmRsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5NzYKCjIwMTMtMDUtMjYgMDg6MTg6MDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IENhY2hlIHRoZSBnZXRjYXBzL2FjY2VwdGNhcHMgcHJvYmUgc3RyZWFtCgkgIGdldGNhcHMgaXMgY2FsbGVkIGZyZXF1ZW50bHkgZHVyaW5nIHN0cmVhbSBzZXR1cCwgYW5kIGNyZWF0aW5nIGEgbmV3CgkgIHN0cmVhbSBlYWNoIHRpbWUgaXMgdmVyeSBpbmVmZmljaWVudC4gVGhlcmUncyBzb21lIG1vcmUgcm9vbSBmb3IKCSAgb3B0aW1pc2F0aW9uIGJ5IGNhY2hpbmcgdGhlIHF1ZXJpZWQgc2luayBmb3JtYXRzIGFzIHdlbGwsIGJ1dCB0aGlzIG5lZWRzCgkgIHNvbWUgbW9yZSBjaGFuZ2VzIHRvIGxpc3RlbiBmb3IgZm9ybWF0IGNoYW5nZXMgb24gdGhlIHNpbmsgKGZvciB3aGVuCgkgIHN1cHBvcnRlZCBmb3JtYXRzIGNoYW5nZSBiZXR3ZWVuIHByb2JlIHN0cmVhbSBjcmVhdGlvbiBhbmQgc2luawoJICBxdWVyeWluZykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDUtMjMgMjE6Mzk6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZXNpbms6IEFkZCBhIGdldGNhcHMgZnVuY3Rpb24KCSAgVGhpcyBhbGxvd3MgdXMgdG8gaGF2ZSBtb3JlIGZpbmUtdHVuZWQgY2FwcyBpbiBSRUFEWSBvciBhYm92ZS4gSG93ZXZlciwKCSAgdGhpcyBpcyBfcmVhbGx5XyBpbmVmZmljaWVudCBzaW5jZSB3ZSBjcmVhdGUgYSBuZXcgc3RyZWFtIGFuZCBxdWVyeSBzaW5rCgkgIGZvciBldmVyeSBnZXRjYXBzIGluIFJFQURZLCB3aGljaCBvbiBhIHNpbXBsZSBnc3QtbGF1bmNoIGxpbmUgaGFwcGVucwoJICBhYm91dCAzNSB0aW1lcy4gVGhlIG5leHQgc3RlcCBpcyB0byBjYWNoZSBnZXRjYXBzIHJlc3VsdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDUtMTAgMTE6MzI6NDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFRha2UgYSBsb2NrIG9uIHRoZSByaW5nYnVmZmVyIGluIGFjY2VwdGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgYXMgYSBjb25jdXJyZW50IHN0YXRlIGNoYW5nZSBjb3VsZCBwdWxsIHRoZSBjb250ZXh0IG9yCgkgIHN0cmVhbSBvdXQgZnJvbSB1bmRlciBvdXIgZmVldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0wOSAyMDoyOTowOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJICBhdWRpb3Bhbm9yYW1hOiBtb3ZlIHRoZSBlbnVtIHRvIHRoZSBoZWFkZXIgYW5kIHVzZSBpbnN0ZWFkIG9mIGdpbnQKCSAgTW92ZSB0aGUgZW51bSBmb3IgdGhlIHByb2Nlc3NpbmcgbWV0aG9kIHRvIHRoZSBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZQoJICB0eXBlIGZvciB0aGUgaW5zdGFuY2Ugc3RydWN0LgoKMjAxMy0wNi0wOSAyMDozMjoyMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiByZXdvcmsgdGhlIHRlc3RzIHRvIGNvdmVyIG90aGVyIGZvcm1hdHMgdG9vCgoyMDEzLTA2LTA1IDE2OjMyOjMwICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IG1ha2Ugc3VyZSB0aGUgZWxlbWVudCBpcyBub3QgZGVsZXRlZCBiZWZvcmUgdGhlIHBvb2wKCSAgVGhlIHBvb2wgYWNjZXNzZXMgZGF0YSBmcm9tIHRoZSB2NGwyb2JqZWN0IHNvIGl0IG11c3QgZXhpc3QgYXQgbGVhc3QKCSAgYXMgbG9uZyBhcyB0aGUgcG9vbC4gUmVmY291bnQgdGhlIGVsZW1lbnQgd2hpY2ggY29udHJvbHMgdGhlIG9iamVjdAoJICBsaXZlLXRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE2NTAKCjIwMTMtMDYtMDcgMTU6Mzg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgcG5nOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0Qnl0ZVJlYWRlciBhbmQgR3N0QWRhcHRlcgoKMjAxMy0wNi0wNyAxNToxNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJICB3YXZlbmM6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RCeXRlV3JpdGVyCgoyMDEzLTA2LTA3IDEzOjI2OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUHVzaCBzdHJlYW0tc3RhcnQgZXZlbnQgaW4gcHVsbCBtb2RlIGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTA1LTEwIDEyOjA5OjE5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEdldCByaWQgb2YgYWNjZXB0Y2FwcyBzaWRlLWVmZmVjdHMKCSAgVGhlIHNpbmsgaW5mbyBjYWxsYmFjayBzaG91bGQgbm90IGhhdmUgc2lkZS1lZmZlY3RzIG9uIHRoZSBHc3RQdWxzZVNpbmsKCSAgb2JqZWN0IHNpbmNlIHdlIGFyZSBzb21ldGltZXMgdXNpbmcgd2l0aCBhIGR1bW15IHN0cmVhbSBpbiBhY2NlcHRjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTA1IDE4OjM2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjEgPT09CgoyMDEzLTA2LTA1IDE3OjU4OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMQoKMjAxMy0wNi0wNSAxNjozNToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNi0wNSAxNTo1MDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEZpeCB0YWdsaXN0IHJlZiBoYW5kbGluZyB0aGF0IG1hZGUgdGhlIHVuaXQgdGVzdCBmYWlsCgoyMDEzLTA2LTA1IDE1OjE0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gMDFhN2E0NgoKMjAxMy0wNi0wMyAwOToxNzo0MyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGl0ZXJhdGUgY29udHJvbHMgd2l0aCBWNEwyX0NUUkxfRkxBR19ORVhUX0NUUkwgaWYgcG9zc2libGUKCSAgSW4gdjIuNi4xOCBjb250cm9sIGNsYXNzZXMgd2hlcmUgYWRkZWQgdG8gdGhlIHY0bDIgQVBJLgoJICBJdGVyYXRpbmcgb3ZlciBDSURzIHN0YXJ0aW5nIHdpdGggVjRMMl9DSURfQkFTRSB3aWxsIG9ubHkgZmluZCBjb250cm9scyBmb3IKCSAgdGhlIGZpcnN0IGNvbnRyb2wgY2xhc3MuCgkgIEJ5IGl0ZXJhdGluZyB3aXRoIFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCBhbGwgY29udHJvbHMgYXJlIGZvdW5kLgoJICBUaGlzIGlzIG5lY2Vzc2FyeSB0byBtYWtlIGNvbnRyb2xzIGZyb20gb3RoZXIgY29udHJvbCBjbGFzc2VzIGF2YWlsYWJsZSBpbgoJICB0aGUgZXh0cmEtY29udHJvbHMgcHJvcGVydHkuCgkgIElmIFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCBpcyBub3QgZGVmaW5lZCBhdCBjb21waWxlIHRpbWUgb3Igbm90IHN1cHBvcnRlZAoJICBhdCBydW50aW1lIHRoZW4gdGhlIG9sZCBtZWNoYW5pc20gZm9yIGl0ZXJhdGluZyBpcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTQwCgoyMDEzLTA2LTA1IDEyOjEyOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGF2b2lkIGxlYWtpbmcgdGhlIGhvc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTU4NgoKMjAxMy0wNi0wNCAwODoyNjozMyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogaW1wcm92ZSBwaXhlbCBhc3BlY3QgcmF0aW8gaGFuZGxpbmcKCSAgSW5zdGVhZCBvZiBqdXN0IGFzc3VtaW5nIGEgYXNwZWN0IHJhdGlvIG9mIDEvMSB1c2UgVklESU9DX0NST1BDQVAgdG8gYXNrCgkgIHRoZSBkZXZpY2UuCgkgIFRoaXMgYWxzbyBhZGQgYSBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gb3ZlcndyaXRlIHRoZSB2YWx1ZSBmcm9tIHRoZQoJICBkcml2ZXIgYW5kIGEgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGlnbm9yZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI4NQoKMjAxMy0wNi0wNCAxNzowNDoxMSArMDIwMCAgU3RpcmxpbmcgV2VzdHJ1cCA8c3dlc3RydXBAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBGaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBrZXJuZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1OTUKCjIwMTMtMDYtMDMgMTc6MDc6MTAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogY2FsbCBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gMCBpbiBwb29sX2ZpbmFsaXplCgkgIFdpdGhvdXQgdGhpcyB0aGUgZm9sbG93aW5nIHNlcXVlbmNlIGZhaWxzOgoJICAtIHNldF9jYXBzKCkKCSAgLSBvYmplY3Rfc3RvcCgpIChkb2VzIG5vdGhpbmcpCgkgIC0gc2V0X2Zvcm1hdCgpIC0+IFZJRElPQ19TX0ZNVAoJICAtIHNldF9jb25maWcoKSAtPiBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gTgoJICAtIHNldF9jYXBzKCkKCSAgLSBvYmplY3Rfc3RvcCgpCgkgIC0gcG9vbF9maW5hbGl6ZSgpCgkgIC0gc2V0X2Zvcm1hdCgpIC0+IFZJRElPQ19TX0ZNVCA9PiBFQlVTWQoJICBVc3VhbGx5IHRoZSBwb29sIGlzIHN0YXJ0ZWQgYWZ0ZXIgc2V0X2NvbmZpZygpLCBpbiB3aGljaCBjYXNlIG9iamVjdF9zdG9wKCkKCSAgd2lsbCByZXN1bHQgaW4gYSBwb29sX3N0b3AgYW5kIHRoZXJlZm9yZSBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gMCBidXQKCSAgdGhhdCBpcyBub3QgZ3VhcmFudGVlZC4KCSAgQWxzbyBjYWxsaW5nIFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSAwIGluIHBvb2xfZmluYWxpemUoKSBpZiBuZWNlc3NhcnkKCSAgZml4ZXMgdGhpcyBwcm9ibGVtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTQzCgoyMDEzLTA1LTI4IDE5OjE0OjE1ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHJld29yayBzaW5rIGJ1ZmZlciByZWZjb3VudGluZwoJICBUaGlzIGlzIGEgZm9sbG93dXAgcGF0Y2ggZm9yICM3MDA3ODEsIHdoaWNoIGlzIG5vdCBxdWl0ZSBjb3JyZWN0LgoJICBUaGUgYnVmZmVyIGhhbmRsaW5nIGlzIHF1aXRlIGNvbXBsaWNhdGVkIGhlcmUuCgkgIFRoZSBvcmlnaW5hbCBjb2RlIGludGVuZGVkIHRvIHRoZSB0aGUgZm9sbG93aW5nOgoJICAtIGdzdF92NGwyX2J1ZmZlcl9wb29sX3Byb2Nlc3MoKSBjYWxscyBRQlVGIGFuZCBhZGRzIHRoZSBidWZmZXIgdG8gdGhlCgkgIGxvY2FsIGxpc3QuCgkgIC0gVGhlIHNpbmsgY2FsbHMgZ3N0X2J1ZmZlcl91bnJlZigpIHdoaWNoIHJldHVybnMgdGhlIGJ1ZmZlciB0byB0aGUgcG9vbAoJICBidXQgbm90IHRoZSAnZnJlZSBsaXN0Jy4KCSAgLSBTb21lIHRpbWUgbGF0ZXIgRFFCVUYgcmV0dXJucyB0aGUgYnVmZmVyIGFuZAoJICBnc3RfdjRsMl9idWZmZXJfcG9vbF9yZWxlYXNlX2J1ZmZlcigpIHB1dHMgaW4gb24gdGhlICdmcmVlIGxpc3QnLgoJICBJZiB0aGUgYnVmZmVyIG11c3QgYmUgY29waWVkIHRoZW4gKHBhcmVudF9jbGFzcyktPmFjcXVpcmVfYnVmZmVyKCkgaXMKCSAgY2FsbGVkIGRpcmVjdGx5IHRvIGtlZXAgdGhlIGJ1ZmZlciBpbiB0aGUgcG9vbC4KCSAgVGhpcyBoYXMgdHdvIHByb2JsZW1zOgoJICAxLiBJZiBnc3RfdjRsMl9idWZmZXJfcG9vbF9yZWxlYXNlX2J1ZmZlcigpIGlzIGNhbGxlZCBiZWZvcmUgdGhlIGJ1ZmZlciBpcwoJICByZXR1cm5lZCB0byB0aGUgcG9vbCwgdGhlbiB0aGUgYnVmZmVyIGlzIHB1dCBvbiB0aGUgJ2ZyZWUgbGlzdCcgdHdpY2UuCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiBhIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGlzIGtlcHQgb3V0c2lkZSB0aGUgc2luaywKCSAgb2YgaWYgRFFCVUYgcmV0dXJucyB0aGUgYnVmZmVyLCB0aGF0IHdhcyBqdXN0IHF1ZXVlZCB3aXRoIFFCVUYuCgkgIDIuIElmIGJ1ZmZlcnMgYXJlIGNvcGllZCwgdGhlbiBhbGwgYnVmZmVycyBhcmUgaW4gdGhlIHBvb2wgYXQgYWxsIHRpbWVzLiBBcwoJICBhIHJlc3VsdCBnc3RfdjRsMl9idWZmZXJfcG9vbF9zdG9wKCkgYW5kIGdzdF92NGwyX2J1ZmZlcl9wb29sX2RxYnVmKCkKCSAgY2FuIGFjY2VzcyBwb29sLT5idWZmZXJzIGF0IHRoZSBzYW1lIHRpbWUsIHdoaWNoIGNhbiBsZWFkIHRvIG1lbW9yeQoJICBjb3JydXB0aW9uLgoJICBUaGUgcGF0Y2ggZm9yICM3MDA3ODEgZml4ZXMgdGhvc2UgcHJvYmxlbXMsIGJ1dCB3aXRoIHRoZSBzaWRlIGVmZmVjdCB0aGF0CgkgIHRoZXJlIGFyZSBhbHdheXMgYnVmZmVycyBvdXRzaWRlIHRoZSBwb29sIChiZWNhdXNlIHRoZXkgYXJlIHF1ZXVlZCkgYW5kCgkgIHRoZSBwb29sIGlzIG5ldmVyIHN0b3BwZWQuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBieSByZWxlYXNpbmcgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGFmdGVyCgkgIGhhbmRsaW5nIGl0ICh0byBhdm9pZCBwcm9ibGVtIDIuKSBzbyBpdCBjYW4gYmUgcmV0dXJuZWQgdG8gdGhlIHBvb2wuCgkgIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgaXMgb25seSBjYWxsZWQgaWYgdGhlIGJ1ZmZlciBpcwoJICBhbHJlYWR5IGluIHRoZSBwb29sICh0byBhdm9pZCBwcm9ibGVtIDEuKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTM3NQoKMjAxMy0wNi0wMiAxNToyNDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2Ugc3VyZSB0YWdsaXN0IGlzIHdyaXRhYmxlIGJlZm9yZSBhZGRpbmcgdGFncwoJICBBdm9pZHMgYXNzZXJ0aW9ucwoKMjAxMy0wNS0zMCAxOToyNDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVmZmVjdGl2ZWx5IHNraXAgdHJhY2tzIHRoYXQgd2VyZW4ndCBsaXN0ZWQgb24gdGhlIDFzdCBtb292CgkgIFdpdGhvdXQgdGhpcywgc3RyZWFtIGlzIE5VTEwgYW5kIHRoZSBjb2RlIHdpbGwgdHJ5IHRvIGFjY2VzcyBpdCwgbGVhZGluZwoJICB0byBzZWdmYXVsdHMuCgoyMDEzLTA1LTMwIDE5OjIzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2tpcCByZWR1bmRhbnQgY2hlY2sKCSAgIWdvdF9tb292IGlzIGFscmVhZHkgY2hlY2tlZCB0aGUgbGluZSBhYm92ZQoKMjAxMy0wNi0wMiAxMzowMzo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiBjbGVhbnVwIGxldmVsIHRlc3RzCgkgIFNwbGl0IG91dCBhIGZldyBtb3JlIHRlc3RzIHRvIGF2b2lkIGNoZWNraW5nIHRoZSBzYW1lIHN0dWZmIG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDEzLTA2LTAxIDIxOjMzOjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGxldmVsOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBpbiBpbnN0YW5jZSBzdHJ1Y3QKCjIwMTMtMDUtMzEgMTg6MTM6MDIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogYWRkIGEgdGVzdCBmb3IgY29udGlub3VzIHRpbWVzdGFtcHMKCSAgQSB0ZXN0IHRoYXQgY2hlY2tzIHRoYXQgbXNnW25dLnRzICsgbXNnW25dLmR1ciA9PSBtc2dbbisxXS50cy4KCjIwMTMtMDQtMTIgMTY6MDI6NDQgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogYWRkIHRhZ3MgJiB0b2Mgc3VwcG9ydAoJICBXcml0ZSB0YWdzIGFzIExJU1QgSU5GTyBjaHVuay4gRm9ybWF0IHRoZSB0b2MgYXMgY3VlICsgTElTVCBhZHRsIGNodW5rLiBSZW1vdmUKCSAgb2xkICNpZmRlZidlZCBjb2RlLgoKMjAxMy0wNS0zMSAxNToxMjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBSZXZlcnQgInJ0cGgyNjRwYXk6IFJlc3RydWN0dXJpbmcgdG8gYWxsb3cgZm9yIGFkZGluZyBvcHRpb25hbCBjYXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYxNjY2ODk4Y2ZlODlhMWIyMWQzZTY4NTBhYjQ0ZjViMTYzM2VkNzkuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgd2hhdCB0aGUgc2V0X3Nwc19wcHMoKSBmdW5jdGlvbiBkb2VzLCBub3QgaXQgZG9lc24ndAoJICBzZXQgY2FwcyBhbnltb3JlIChhbmQgc2hvdWxkIGhhdmUgYmVlbiByZW5hbWVkKS4gVGhlIG1haW4gcHJvYmxlbSBpcyB0aGF0CgkgIG5vdCBhbGwgY2FsbCBzaXRlcyBhcmUgdXBkYXRlZCBhbmQgdGh1cyBsZWFrIHRoZSBzdHJpbmcuCgoyMDEzLTA1LTMxIDE1OjExOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIFJldmVydCAicnRwaDI2NHBheS9kZXBheTogQWRkIGZyYW1lIGRpbWVuc2lvbnMgYSBwYXlsb2FkZWQgY2FwcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzZGNhNzU2YTVkYmE1NTI2NjI1NmYyMzllM2UxMmEzZDA1OGUxODVhLgoJICBUaGUgSDI2NCBSVFAgc3BlYyBoYXMgbm8gYXR0cmlidXRlcyBmb3Igd2lkdGggYW5kIGhlaWdodC4KCjIwMTMtMDUtMzEgMTU6MDk6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgUmV2ZXJ0ICJydHBoMjY0cGF5L2RlcGF5OiBBZGQgb3B0aW9uYWwgZnJhbWVyYXRlIGNhcHMgZm9yIHVzZSBpbiBTRFAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDg4MjVlMmE1YzBiZmI4ODNmZjg4ZTJjOWRhNDk5YzgwMGViY2EwYS4KCSAgVGhlcmUgaXMgbm8gZnJhbWVyYXRlIGF0dHJpYnV0ZSBpbiB0aGUgaDI2NCBSVFAgc3BlYy4KCjIwMTMtMDUtMzEgMTU6MDg6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgUmV2ZXJ0ICJydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lc2l6ZSBjYXBzIHdpdGggd2lkdGgvaGVpZ2h0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDAwNzVkMTExYjQ3NWNhMjc4OTVlZTk0NzYxNTQyNjBiNjkwMjk0MGIuCgkgIEV4dHJhIGFwcGxpY2F0aW9uL3gtcnRwIGFyZSBTRFAgZmllbGRzLCB3aGljaCBhcmUgc3RyaW5ncy4KCjIwMTMtMDUtMzEgMTU6MDU6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgUmV2ZXJ0ICJydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lcmF0ZSBjYXBzIGZpZWxkIHdpdGggZnJhY3Rpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWZkMjVhODEwYjg1OWUwZWMyMDUxNzY1Nzg3MzUxMDBkODNkZTRhZi4KCSAgV2UgZGVhbCB3aXRoIHNkcCBhdHRyaWJ1dGVzIGluIGFwcGxpY2F0aW9uL3NkcCwgd2hpY2ggYXJlIGFsd2F5cyBzdHJpbmdzLgoKMjAxMy0wNS0zMSAxMjozMzoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIGV4dHJhIFRMUyB1cmwgcHJvdG9jb2xzCgkgIFdlIGFsc28gc3VwcG9ydCBUTFMgcHJvdG9jb2xzIG5vdy4KCjIwMTMtMDUtMzAgMTQ6NDg6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBGSVhNRSBjb21tZW50IGFib3V0IHRoZSBEVVJBVElPTiBxdWVyeSBmcm9tIGFkZGVyCgkgIEN1cnJlbnRseSB0aGUgY29kZSBqdXN0IHRha2VzIHdpdGggbWF4aW11bSB1cHN0cmVhbSBkdXJhdGlvbiwgd2hpY2gKCSAgaXMgd3JvbmcuIEl0IHNob3VsZCBiZSB0aGUgbWF4aW11bSB1cHN0cmVhbSBkdXJhdGlvbiBpbiBydW5uaW5nIHRpbWUuCgoyMDEzLTA1LTMwIDIxOjIwOjU5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBTZXQgYSByZWZlcmVuY2UgdG8gbWl4LT5jdXJyZW50X2NhcHMgYXMgdGhlIFFVRVJZX0NBUFMgcmVzdWx0LgoKMjAxMy0wNS0zMCAxNzozNzoxMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogbWlzYyBjbGVhbnVwcwoJICBGaXggc29tZSBvdWRhdGVkIGNvbW1lbnRzLiBTb3J0IG91dCBzb21lIGNvbmZ1c2lvbiBvZiBpbnRlcnZhbF9mcmFtZXMgYW5kIG51bV9mcmFtZXMuCgoyMDEzLTA1LTI5IDIwOjM1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogT25seSBjb25kaXRpb25hbGx5IHVzZSBWNEwyX0NUUkxfVFlQRV9JTlRFR0VSX01FTlUsIGl0J3Mgbm90IGF2YWlsYWJsZSBpbiBvbGRlciB2ZXJzaW9ucwoKMjAxMy0wNS0yMCAxNjo0NTozNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IGFkZCBhIHByb3BlcnR5IGZvciBhcmJpdHJhcnkgdjRsMiBjb250cm9scwoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHNldCBhbnkgY29udHJvbHMgdGhhdCBjYW4gYmUgc2V0IHdpdGgKCSAgVklESU9DX1NfQ1RSTC4KCSAgVGhlIGNvbnRyb2xzIGFyZSBzZXQgd2hlbiB0aGUgcHJvcGVydHkgaXMgc2V0IChpZiB0aGUgZGV2aWNlIGlzIG9wZW4pCgkgIGFuZCB3aGVuIHRoZSBkZXZpY2UgaXMgb3BlbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODM3CgoyMDEzLTA1LTI4IDE4OjMxOjA3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggZGlzY29udGludWl0aWVzIGluIHRpbWVzdGFtcHMKCjIwMTMtMDUtMjggMTU6NDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSAgZ2RrcGl4YnVmZGVjOiBLZWVwIHNlcmlhbGl6ZWQgZXZlbnRzIGluIG9yZGVyLCBhbmQgZG9uJ3Qgc2VuZCBTRUdNRU5UIGJlZm9yZSBDQVBTCgoyMDEzLTA1LTI4IDE1OjQ1OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjcmVhdGUgYW5kIHB1c2ggc3RyZWFtLXN0YXJ0IGluIFRDUCBtb2RlCgoyMDEzLTA1LTI4IDE1OjEwOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgc29tZSBvYnNvbGV0ZSBjb2RlCgkgIEl0IGlzIG5vdCBuZWVkZWQgdG8gZG8gYSBzdGF0ZSBjaGFuZ2UgZnJvbSB0aGUgX3BsYXkoKSBmdW5jdGlvbiBvbgoJICBvdXJzZWx2ZXMuIFRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYWxyZWFkeSBkaWQgdGhhdCBhbmQgd2UgZG9uJ3Qgd2FudCB0bwoJICBpbnRlcmZlcmUgd2l0aCB0aGF0IChvciB1c2UgaGFja3MgdG8gYXZvaWQgaW50ZXJmZXJlbmNlKS4KCjIwMTMtMDUtMjggMTI6MjQ6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBSVENQIGNhcHMgb24gdGhlIFJUQ1AgcGFkcwoKMjAxMy0wNS0yOCAxMjoyMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogc2VuZCBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnRzCgkgIEFsc28gc2VuZCBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnQgb24gdGhlIFJUQ1AgcGFkLgoJICBXZSBkb24ndCBuZWVkIHRvIHNlbmQgYW55dGhpbmcgb24gdGhlIHN5bmNfc3JjIHBhZCBiZWNhdXNlIHdlCgkgIGFscmVhZHkgZm9yd2FyZGVkIGFsbCBpbmNvbW1pbmcgZXZlbnRzLgoKMjAxMy0wNC0yNSAxNToyNTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNpZ25hbCB0byBoYW5kbGUgc2VydmVyIHJlcXVlc3RzCgkgIEFkZCBhIHNpZ25hbCB0byBiZSBub3RpZmllZCBvZiBhIHNlcnZlciByZXF1ZXN0LiBUaGUgc2lnbmFsIGhhbmRsZXIgY2FuIHRoZW4KCSAgY29uc3RydWN0IHRoZSByZXNwb25zZSBtZXNzYWdlIGZvciB0aGUgc2VydmVyLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjIwNwoKMjAxMy0wNS0yNyAyMjo0MzoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBNYWludGFpbiB6LW9yZGVyIHdoZW4gbmV3IHBhZCBhcmUgYWRkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTEwOQoKMjAxMy0wMy0wNiAxMzoxNzo1NCArMDAwMCAgVG9tIEdyZWVud29vZCA8dGNkZ3JlZW53b29kQGhvdG1haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgcHJvcGVydHkgdG8gbWFudWFsbHkgc3BlY2lmeSB0aGUgdGltZWJhc2Ugb2YgdGhlIGVuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTcwOQoKMjAxMy0wNS0yNSAxMjoxNzo0MCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQWx3YXlzIGhhbmRsZSBmbHVzaF9zdG9wX3BlbmRpbmcgYXRvbWljYWxseQoJICBJdCBpcyBub3QgcHJvdGVjdGVkIHdpdGggdGhlIENPTExFQ1RfUEFEU19TVFJFQU1fTE9DSyBhbnltb3JlCgoyMDEzLTA1LTIzIDE4OjE0OjE3IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB0ZXN0czogdmlkZW9taXhlcjogQWRkIGEgdGVzdHN1aXRlIGZvciB2aWRlb21peGVyCgkgIFRoaXMgaXMgbW9zdGx5IGNvcHkgcGFzdGVkIGZyb20gLWJhc2UvdGVzdHMvY2hlY2svZWxlbWVudHMvYWRkZXIuYwoKMjAxMy0wNS0yNSAxMDo1NzowMiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG8gbm90IHRha2UgQ09MTEVDVF9QQURTX1NUUkVBTV9MT0NLIHdoZW4gdW5uZWNlc3NhcnkKCSAgQ29sbGVjdHBhZCB0YWtlcyB0aGUgbG9jayBpdHNlbGYgd2hlbiByZWNlaXZpbmcgc2VyaWFsaXplZCBldmVudHMKCSAgYW5kIHdlIHNob3VsZCBub3QgdGFrZSBpdCBmb3Igbm90IHNlcmlhbGl6ZWQgb25lcwoKMjAxMy0wNS0yNCAxOTozNDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBQcm9wZXJseSBza2lwIG5vbi1mcmFtZSBjaHVua3MKCjIwMTMtMDUtMjQgMTk6MzE6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogRmx1c2ggZGF0YSBmcm9tIGFkYXB0ZXIgYWZ0ZXIgcmVhZGluZyBpdAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgaW4gYW4gaW5maW5pdGUgbG9vcCwgcmVhZGluZyB0aGUgc2FtZSBkYXRhCgkgIG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDEzLTA0LTI0IDE1OjM5OjU0ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgIGdvb20yazE6IGZpeCBtb3JlIGR1cGxpY2F0ZWQgc3ltYm9scwoKMjAxMy0wNS0yMiAwMjo0MDo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwanBlZ3BheS9kZXBheTogUmVwbGFjZSBmcmFtZXJhdGUgY2FwcyBmaWVsZCB3aXRoIGZyYWN0aW9uCgkgIFRoZSBwcmV2aW91cyBpbXBsZW1lbnRhdGlvbiBoYWQgdGhlIGZvcm1hdHRpbmcgb2YgU0RQIGF0dHJpYnV0ZXMgaGFwcGVuCgkgIGluIGVhY2ggUlRQIHBheWxvYWRlciwgbm93IGluc3RlYWQgdGhlIGNvbnN0aXR1ZW50IHZhbHVlcyBhcmUgcHJvcGFnYXRlZAoJICBhcyBjYXBzIGZpZWxkcy4gVGhpcyBhbGxvd3MgZm9yIGFwcGxpY2F0aW9ucyB0byBkbyBTRFAgb2ZmZXIvYW5zd2VyCgkgIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjIgMDE6NTg6NTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVzaXplIGNhcHMgd2l0aCB3aWR0aC9oZWlnaHQKCSAgVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIGhhZCB0aGUgZm9ybWF0dGluZyBvZiBTRFAgYXR0cmlidXRlcyBoYXBwZW4KCSAgaW4gZWFjaCBSVFAgcGF5bG9hZGVyLCBub3cgaW5zdGVhZCB0aGUgY29uc3RpdHVlbnQgdmFsdWVzIGFyZSBwcm9wYWdhdGVkCgkgIGFzIGNhcHMgZmllbGRzLiBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGRvIFNEUCBvZmZlci9hbnN3ZXIKCSAgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgS2VlcCBwYXJzaW5nIGEtZnJhbWVyYXRlLCB4LWZyYW1lcmF0ZSBhbmQgeC1kaW1lbnNpb25zIGluIHJ0cGpwZWdkZXBheQoJICB0byBiZSBiYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIHByZXZpb3VzIHBheWxvYWRlcnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjIgMDM6MTg6MDcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBvcHRpb25hbCBmcmFtZXJhdGUgY2FwcyBmb3IgdXNlIGluIFNEUAoJICBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGZvcm1hdCBTRFAgYXR0cmlidXRlcyBhbmQgc3RpbGwgZG8gU0RQCgkgIG9mZmVyL2Fuc3dlciBiYXNlZCBvbiBjYXBzIG5lZ290aWF0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ5CgoyMDEzLTA1LTIyIDAzOjA5OjQ0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5L2RlcGF5OiBBZGQgZnJhbWUgZGltZW5zaW9ucyBhIHBheWxvYWRlZCBjYXBzCgkgIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZm9ybWF0IFNEUCBhdHRyaWJ1dGVzIGFuZCBzdGlsbCBkbyBTRFAKCSAgb2ZmZXIvYW5zd2VyIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDkKCjIwMTMtMDUtMjAgMjI6MTQ6NDQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IFJlc3RydWN0dXJpbmcgdG8gYWxsb3cgZm9yIGFkZGluZyBvcHRpb25hbCBjYXBzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDkKCjIwMTMtMDUtMjMgMTg6NDI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKGR5bnxtdWx0aSl1ZHBzaW5rOiBBZGQgcHJvcGVydGllcyB0byBzcGVjaWZ5IHRoZSBiaW5kIGFkZHJlc3MgYW5kIHBvcnQKCSAgQnkgZGVmYXVsdCB3ZSB1c2UgdGhlIGFueSBhZGRyZXNzZXMgYW5kIGEgcmFuZG9tIHBvcnQgZm9yIGJpbmRpbmcgdGhlIHNvY2tldC4KCjIwMTMtMDUtMjMgMTg6MDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAoZHlufG11bHRpKXVkcHNpbms6IEJpbmQgc29ja2V0IGJlZm9yZSB1c2luZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODc4CgoyMDEzLTA1LTIzIDE3OjI1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAobXVsdGkpdWRwc2luazogQWRkIG1pc3NpbmcgZ2V0dGVycyBmb3Igc29ja2V0LXY2IGFuZCB1c2VkLXNvY2tldC12NiBwcm9wZXJ0aWVzCgoyMDEzLTA1LTIyIDIxOjAxOjQ4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGhvbGQgc3RyZWFtLWxvY2sgd2hpbGUgcHVzaGluZyBub24tc2VyaWFsaXplZCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg2OAoKMjAxMy0wNS0yMiAyMTowMDo0NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBob2xkIG9iamVjdCBsb2NrIHdoaWxlIHNlbmRpbmcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4NjgKCjIwMTMtMDUtMjIgMTc6MzI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogVGhlIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX3NldF9jYXBzKCkgaXMgbm90IHJlbGV2YW50IGFueW1vcmUKCSAgQ2FwcyBjYW4gZmFpbCB0byBiZSBzZXQgYmVjYXVzZSB0aGUgcGFkIGlzIG5vdCBsaW5rZWQgeWV0IGZvciBleGFtcGxlLgoKMjAxMy0wNS0xNSAxNjozOTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIGVycm9yIGlmIGZpbGUgaGFzIHBsYXlyZWFkeSBkcm0KCjIwMTMtMDUtMTggMTU6MDY6NDkgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFNlbmQgYSByZWNvbmZpZ3VyZSBldmVudCB1cHN0cmVhbSBpZiBzaW5rcGFkIGNhcHMgYXJlIG5vdCB1c2FibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMy0wNS0yMSAxMjowMjo1MSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBrZWVwIGEgcmVmZXJlbmNlIHRvIGFsbCBxdWV1ZWQgYnVmZmVycwoJICBXaXRob3V0IHRoaXMsIGEgcXVldWVkIGJ1ZmZlciBtYXkgYmUgcmVxdWlyZWQsIGZpbGxlZCBhbmQgcXVldWVkIGJlZm9yZSBpdAoJICBpcyBkZXF1ZXVlZC4KCSAgQ2FsbGluZyBnc3RfYnVmZmVyX3Bvb2xfYWNxdWlyZV9idWZmZXIoKSBlbnN1cmVzIHRoYXQgdGhlIGJ1ZmZlciBpcyBzZXQgdXAKCSAgY29ycmVjdGx5IGFuZCBnc3RfYnVmZmVyX3VucmVmKCkgY2FsbHMgYnVmZmVyX3JlbGVhc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc4MQoKMjAxMy0wNS0yMSAxMzozMzo1OSArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbXVsYXdkZWM6IEhhbmRsZSBOVUxMIGJ1ZmZlcnMgaW4gaGFuZGxlX2ZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4OTQKCjIwMTMtMDUtMjAgMjE6NDQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXkvZGVwYXk6IEFkZCBmcmFtZXNpemUgY2FwcyBmb3IgdXNlIGluIFNEUAoJICBUaGUgZm9ybWF0IG9mIHRoZSB2YWx1ZSBhZGhlcmVzIHRvIFJGQzYwNjQgYW5kIGl0IGlzIG1lYW50IHRvIGJlIHBhcnNlZAoJICBhbmQgaW5jbHVkZWQgaW4gdGhlIFNEUCBzZW50IGJ5IGdzdC1ydHNwLXNlcnZlciB0byBpdHMgY2xpZW50cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMCAyMTozNDoxMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWRkIG9wdGlvbmFsIGZyYW1lcmF0ZSBjYXBzIGZvciB1c2UgaW4gU0RQCgkgIFRoZSBmb3JtYXQgb2YgdGhlIHZhbHVlIGFkaGVyZXMgdG8gUkZDNDU2NiBhbmQgaXQgaXMgbWVhbnQgdG8gYmUgcGFyc2VkCgkgIGFuZCBpbmNsdWRlZCBpbiB0aGUgU0RQIHNlbnQgYnkgZ3N0LXJ0c3Atc2VydmVyIHRvIGl0cyBjbGllbnRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ4CgoyMDEzLTA1LTIwIDE5OjU5OjEzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBXaGVuIGFsbCBzaW5rcGFkcyBhcmUgZW9zLCB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCBhbmQgZm9yd2FyZCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkzCgoyMDEzLTA1LTIwIDE5OjUxOjA3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCByZXNldCB0aGUgb3V0cHV0IHNlZ21lbnQgb24gZmx1c2ggc3RvcAoJICBPbmx5IGluaXQgaXQgd2hlbiBnZXR0aW5nIGZyb20gUkVBRFkgdG8gUEFVU0VELCBhbmQgY2hhbmdlIGl0IG9uIHNlZWsgZXZlbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkzCgoyMDEzLTA1LTE3IDEwOjE2OjQ4ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IERvbid0IHN0b3Agc3RyZWFtaW5nIHdoZW4gc2V0X2NhcHMgaXMgY2FsbGVkIHdpdGggdW5jaGFuZ2VkIGNhcHMKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIG90aGVyIHBhcnRzIG9mIHRoZSBwaXBlbGluZSBhcmUgcmVjb25maWd1cmVkLgoJICBTdG9wIHN0cmVhbWluZyBldmVuIGZvciBhIHNob3J0IGFtb3VudCBvZiB0aW1lIGNhbiBiZSBxdWl0ZSB2aXNpYmxlLCBzbyBpdAoJICBzaG91bGQgYmUgYXZvaWRlZCBpZiBwb3NzaWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDUwMwoKMjAxMy0wNS0xOCAxNTozOTozNiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgdGVzdHM6IFJlLWVuYWJsZSB2aWRlb21peGVyIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMy0wNS0xOCAxNDozNjozOSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogU2VuZCBjYXBzIGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgVGhpcyB3YXkgd2UgYXZvaWQgcmFjZXMgaW4gY2FwcyBuZWdvdGlhdGlvbiBhbmQgd2UgbWFrZSBzdXJlCgkgIHRoYXQgdGhlIGNhcHMgYXJlIHNlbnQgYWZ0ZXIgc3RyZWFtLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTA1IDIwOjI1OjIwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEbyBub3Qgc2VuZCBmbHVzaF9zdG9wIHdoZW4gcmVjZWl2aW5nIGEgc2VlawoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gc2VuZCBhIGZsdXNoLXN0b3Agd2hlbiByZWNlaXZpbmcgYSBzZWVrIGV2ZW50LgoJICBJbiB0aGUgY2FzZSBvZiBhIGZsdXNoaW5nIHNlZWssIHdlIGNvdWxkIGV2ZW50dWFsbHkgd2FudCB0bywgYnV0IGluCgkgIHRoZSBjb2RlIHBhdGggd2VyZSB3ZSBjaGVjayBpZiB0aGUgc2VlayBpcyAiZmx1c2hpbmciLCB3ZSBoYXZlIHRoZQoJICBmb2xsb3dpbmcgY29tbWVudCB0aGF0IG1ha2VzIHNlbnNlOgoJICAid2UgY2FuJ3Qgc2VuZCBGTFVTSF9TVE9QIGhlcmUgc2luY2UgdXBzdHJlYW0gY291bGQgc3RhcnQgcHVzaGluZyBkYXRhCgkgIGFmdGVyIHdlIHVubG9jayBtaXgtPmNvbGxlY3QuCgkgIFdlIHNldCBmbHVzaF9zdG9wX3BlbmRpbmcgdG8gVFJVRSBpbnN0ZWFkIGFuZCBzZW5kIEZMVVNIX1NUT1AgYWZ0ZXIKCSAgZm9yd2FyZGluZyB0aGUgc2VlayB1cHN0cmVhbSBvciBmcm9tIGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCwKCSAgd2hpY2hldmVyIGhhcHBlbnMgZmlyc3QuIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTA1IDIwOjI0OjQ5ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogUHJvdGVjdCBmbHVzaF9zdG9wX3BlbmRpbmcgd2l0aCB0aGUgY29sbGVjdHBhZCBzdHJlYW0gbG9jawoJICBBbmQgbWFrZSBzdXJlIHRvIGV4cGVjdCBhIGZsdXNoLXN0b3AgYWZ0ZXIgYSBmbHVzaC1zdGFydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTE3IDEyOjM3OjU5ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5OiBjbGVhciBjb25maWcgYnVmZmVyIGJlZm9yZSB1c2luZyBpdAoJICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHBhcnRzIG9mIHRoZSBtZW1vcnkgYXJlIG9ubHkgbW9kaWZpZWQgd2l0aCAifD0iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA1MTQKCjIwMTMtMDUtMTQgMTc6MzA6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBub3QgZXhwZWN0IEVPUyBhZnRlciBhIHNlZ21lbnQgZXZlbnQgaWYgdXBzdHJlYW0gaXMgbXNzCgkgIEluIGNhc2UgcXRkZW11eCBpcyBoYW5kbGluZyBhIG1zcyBzdHJlYW0sIGRvIG5vdCBtYXJrIHRoZSBzdHJlYW0gdG8gd2FpdAoJICBmb3IgRU9TIGFmdGVyIGEgc2VnbWVudC4gRXZlbiBpZiBpdCBzZWVtcyB0byBiZSB0aGUgbGFzdCBvbmUgYWNjb3JkaW5nIHRvCgkgIHRoZSBjdXJyZW50IHN0cmVhbXMgaW5mb3JtYXRpb24uCgkgIE1TUyBoYW5kbGluZyBpcyBkaWZmZXJlbnQgaGVyZSBiZWNhdXNlIHRoZXJlIGlzIGFub3RoZXIgZGVtdXhlciBkcml2aW5nCgkgIHRoZSBwaXBlbGluZQoKMjAxMy0wNS0xNCAxNjozMjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgc2V0IGNoYW5uZWxzIGFuZCByYXRlIGlmIHF0ZGVtdXgga25vd3MgaXQKCSAgU2V0dGluZyBib3RoIG9mIHRob3NlIHRvIDAgaXMgcG9pbnRsZXNzIGFuZCBtZWFucyB0aGF0IHF0ZGVtdXgKCSAgZG9lc24ndCBrbm93IHRoZSByZWFsIHZhbHVlLiBBdm9pZCBzZXR0aW5nIGl0IGluIHRoaXMgY2FzZS4KCjIwMTMtMDUtMTQgMTU6MjM6MDggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBhbGFjIGNhcHMgdXNpbmcgaW5mbyBmcm9tIGNvZGVjIGJ1ZmZlcgoJICBUaGUgc2FtcGxlcmF0ZSBmaWVsZCBpbiB0aGUgU1RTRCBhdG9tIGlzIG5vdCByaWdodCBmb3Igc29tZSBBTEFDIGZpbGVzCgkgICh1c3VhbGx5IHdoZW4gYXVkaW8gaXMgOTZrSHovMjRiaXRzKSwgc28gdGhlIGF1ZGlvIGNhcHMgbXVzdCBiZQoJICBleHRyYWN0ZWQgZnJvbSB0aGUgY29kZWMgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDM4MgoKMjAxMy0wNS0xNSAxMToxMzoxMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTEwCgoyMDEzLTA1LTE1IDEwOjUxOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWVkY2Q4NSB0byAwOThjMGQ3CgoyMDEzLTA1LTE0IDEwOjI4OjEwIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBBZGQgc3VwcG9ydCBmb3IgR1JBWTE2X0xFL0dSQVkxNl9CRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzMxCgoyMDEzLTA1LTE0IDE3OjI5OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBTZW5kIGFsbCBldmVudHMgdGhyb3VnaCB0aGUgcHJveHlwYWRzIGluc3RlYWQgb2YganVzdCBzZW5kaW5nIHRvIHRoZSB0YXJnZXQKCSAgT3RoZXJ3aXNlIHRoZSBzdGlja3kgZXZlbnRzIGFyZSBtaXNzaW5nIG9uIHRoZSBwcm94eXBhZHMuCgoyMDEzLTA1LTE0IDE3OjI5OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxNjozNDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgcmdsaW1pdGVyOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0cwoKMjAxMy0wNS0xNCAxNjozMTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMTY6MDg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMTY6MDA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxMzo1ODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2VuYy5jOgoJICBtdWxhdzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxMzo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogTWFrZSBzdXJlIHRvIHNlbmQgYSBzZWdtZW50IGV2ZW50IGJlZm9yZSBkYXRhZmxvdwoKMjAxMy0wNS0xNCAxMDo1MjoxOSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IG9ubHkgYWRkIGludGVybGFjZS1tb2RlIHRvIHRoZSBjYXBzIGZvciByYXcgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjgwCgoyMDEzLTA1LTE0IDEyOjAzOjAzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogY29weSBhbmQgc2V0IHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgY29udGVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjgyCgoyMDEzLTA1LTE0IDEwOjI1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAwOTo0NToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgaGFuZGxpbmcgb2YgbWluL21heCBidWZmZXIgbnVtYmVycyBvZiB0aGUgYnVmZmVyIHBvb2wKCjIwMTMtMDUtMTQgMDM6NDI6NTkgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNldCBjYXBzIGZvciBidWZmZXIgcG9vbCBjb25maWcKCjIwMTMtMDUtMTMgMTM6MzA6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogTGV0IHRoZSBiYXNlIGNsYXNzIGRvIGdldF90aW1lcwoJICBUaGlzIHdpbGwgbWFrZSBzeW5jPVRSVUUgd29yaywgdGhlIGRlZmF1bHQgaXMgc3RpbGwgc3luYz1GQUxTRQoKMjAxMy0wNS0xMSAyMzowODoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzIGV2ZW50CgoyMDEzLTA1LTExIDIzOjI0OjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMKCjIwMTMtMDUtMTEgMjM6Mjg6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlci10ZXN0OiBTZW5kIHN0cmVhbS1zdGFydCBiZWZvcmUgY2FwcyBmb2xsb3dlZCBieSBzZWdtZW50CgoyMDEzLTA1LTExIDIzOjM0OjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW4tdGVzdDogU2VuZCBtaXNzaW5nIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudHMKCjIwMTMtMDUtMTMgMTU6MzY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgdGVzdHM6IEZpeCBzb21lIG1vcmUgZXZlbnQgaGFuZGxpbmcgaW4gdGVzdHMKCjIwMTMtMDUtMTMgMTU6MTk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTMgMTU6MTk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBGaXggc3RpY2t5IGV2ZW50IGhhbmRsaW5nCgoyMDEzLTA1LTEzIDE1OjA2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogUHVzaCBzdGlja3kgZXZlbnRzIGluIHRoZSByaWdodCBvcmRlcgoKMjAxMy0wNS0xMyAxNDo1NToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdGVzdAoKMjAxMy0wNS0xMyAxNDowNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBGaXggc3RpY2t5IGV2ZW50IGhhbmRsaW5nCgoyMDEzLTA1LTEzIDEzOjU1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IENvZGUgc3R5bGUgZml4ZXMKCjIwMTMtMDUtMTMgMTA6NDM6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBGaXJzdCBsZXQgYmFzZWNsYXNzIGhhbmRsZSBldmVudHMsIHRoZW4gcHV0IHRoZW0gaW50byB0aGUgc3RyZWFtCgkgIEZpeGVzIGhhbmRsaW5nIG9mIHN0aWNreSBldmVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyMTMKCjIwMTMtMDUtMDkgMjI6MDU6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZS10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxODozMjoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgc3BlY3RydW0tdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MjU6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmlsdGVyLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjIzOjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjIxOjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgeTRtZW5jLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTEwIDE0OjAwOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGZpeCBleGFtcGxlIHBpcGVsaW5lCgkgIE5lZWQganBlZ3BhcnNlLgoKMjAxMy0wNS0xMCAxMzozNDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIHRlc3RzOiBGaXggc29tZSBtb3JlIHVuaXQgdGVzdHMKCjIwMTMtMDUtMTAgMTM6MTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBGaXggcGFyc2VyIHRlc3RzCgoyMDEzLTA1LTA5IDIyOjIwOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQ2FuJ3QgbWFwIHR3aWNlIHRoZSBzYW1lIGJ1ZmZlciBmb3Igd3JpdGluZwoJICBJIHRvb2sgdGhlIG9wcG9ydHVuaXR5IHRvIHNpbXBsaWZ5IHRoYXQgY29kZSBhIGJpdC4gV2Ugbm93IHVzZQoJICBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSB0byBtYWtlIHRoZSBidWZmZXIgd3JpdGFibGUgYW5kIG1hcCB0d2ljZSB0aGUKCSAgc2FtZSBidWZmZXIsIHdpdGggZmlyc3QgbWFwIGJlaW5nIHJlYWQvd3JpdGUsIGFuZCBzZWNvbmQgcmVhZCBvbmx5LiBUaGlzCgkgIGdldCByaWQgb2YgdGhlIGNyaXRpY2FsOgoJICBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9zdHJ1Y3R1cmVfc2V0X25hbWU6IGFzc2VydGlvbiBgSVNfTVVUQUJMRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDQ0CgoyMDEzLTA1LTA5IDIyOjE1OjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRW5zdXJlIGNhcHMgYXJlIHdyaXRhYmxlCgkgIFRoZSBleGlzdCBvbmUgY2FzZSB3aGVyZSB0aGF0IHdlIGVuZHVwIHdpdGggb3JpZ2luYWwgY2FwcyBpbiByZXQsIGluIHdoaWNoCgkgIGNhc2Ugd2UgYXJlIG5vdCBndWFyYXRpZWQgdG8gaGF2ZSB3cml0YWJsZSBjYXBzLiBTaW1wbHkgZW5zdXJlIHRoaXMgaXMgdGhlCgkgIGNhcHMgYXJlIHdyaXRhYmxlIGJlZm9yZSBlbnRlcmluZyB0aGUgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDA0NAoKMjAxMy0wNS0wOSAyMjoxMzo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCBzYW1wbGUgcGlwZWxpbmUgaW4gZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDQ0CgoyMDEzLTA1LTA5IDE4OjA1OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIGpwZWdlbmMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTc6NDk6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTc6MjA6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICB2cDhkZWMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTc6MTk6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYy10ZXN0OiBTZW5kIGluaXRpYWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTk6NDA6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IFRlbGwgR3N0QXVkaW9FbmNvZGVyIGFib3V0IHRoZSBudW1iZXIgb2YgaW5jb21pbmcgc2FtcGxlcwoJICBsYW1lIGRvZXMgaW50ZXJuYWwgcmVzYW1wbGluZywgYnV0IHRoZSBiYXNlIGNsYXNzIG9ubHkgY2FyZXMgYWJvdXQKCSAgdGhlIG51bWJlciBvZiByYXcgc2FtcGxlcywgc28gdGVsbCBmaW5pc2ggZnJhbWVzIGFib3V0IHRoYXQsIG5vdAoJICB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgaW4gdGhlIG91dGdvaW5nIGZyYW1lLjoKCjIwMTMtMDUtMDkgMTY6MjY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgUmV2ZXJ0ICJ2aWRlb21peGVyMjogVGFrZSBpbnRvIGFjY291bnQgbmV3IHNlZ21lbnRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg0YWU2NzBhYjQwYjI1OGExMGUxZTIxNDcxZTZkYzlkNzg2YmYwODYuCgkgIEFjdHVhbGx5IHRoaXMgaXMgbm90IGhvdyBpdCBpcyBzdXBwb3NlZCB0byB3b3JrLiB2aWRlb21peGVyCgkgIGNyZWF0ZXMgYSBbMCwtMV0gc2VnbWVudCBhbmQgdGhlbiBwdXRzIGZyYW1lcyBvZiB0aGUgZGlmZmVyZW50CgkgIHN0cmVhbXMgdGhlcmUgYmFzZWQgb24gdGhlaXIgcnVubmluZyB0aW1lcyBpbiB0aGVpciBvd24gc2VnbWVudHMuCgoyMDEzLTA1LTA2IDIzOjQzOjAzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogVGFrZSBpbnRvIGFjY291bnQgbmV3IHNlZ21lbnRzCgkgIEFsc28gZm9yd2FyZCB0aGUgZXZlbnQgZG93bnN0cmVhbSBvbiB0aGUgbmV4dCBvcHBvcnR1bml0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc5MwoKMjAxMy0wNS0wOSAwOTowNzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgUmV2ZXJ0ICJnc3RydHNwc3JjOiBzZXQgYnVmZmVyLXNpemUgZm9yIG11bHRpY2FzdCBidWZmZXJzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI0ODFlOTVkMDM4YjQyMjk3YTAxNmYxZDJkYzFhZjI2ZDIxNzViNDIuCgkgIFRoaXMgaXMgYWxyZWFkeSBkb25lIGZpdmUgbGluZXMgYWJvdmUsIGl0IHdhcyBhZGRlZCBhIHllYXIKCSAgYWdvIGluIGNvbW1pdCA1NjFiMTMxZS4KCjIwMTMtMDUtMDggMTk6NTQ6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXI6IFVuaXQgdGVzdCBzZW5kIFNFR01FTlQgYmVmb3JlIENBUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxOToyMjozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgYXZpbXV4OiBVbml0IHRlc3Qgc2VuZHMgU0VHTUVOVCBiZWZvcmUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE5OjA4OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBUZXN0IHNob3VsZCBzZW5kIHNlZ21lbnQgYWZ0ZXIgQ0FQUwoJICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3QgcGFzcyBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxOTowMDoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBUZXN0IHNob3VsZCBzZW5kIHNlZ21lbnQgYWZ0ZXIgQ0FQUwoJICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3QgcGFzcyBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxODo0NDozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBGcmVxdWVuY2UgcHJvcGVydHkgcmVuYW1lZCBjdXRvZmYKCSAgVXBkYXRpbmcgdGhlIGRvY3VtZW50YXRpb24gdG8gcmVmbGVjdCB0aGlzIGNoYW5nZS4KCSAgU2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY0CgoyMDEzLTA1LTA4IDE1OjI1OjU4IC0wMzAwICBBaGEgVW5zd29ydGggPGFoYS51bnN3b3J0aEBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGdzdHJ0c3BzcmM6IHNldCBidWZmZXItc2l6ZSBmb3IgbXVsdGljYXN0IGJ1ZmZlcnMKCSAgRm9yIHJlY2VpdmluZyB2aWRlbyBkYXRhIHZpYSBSVFNQIHdoZW4gdGhlIHZpZGVvIGlzIHNlbnQgdmlhCgkgIG11bHRpY2FzdCB0aGVyZSBpcyBubyB3YXkgdG8gc3BlY2lmeSB0aGUgdWRwc3JjIGJ1ZmZlci1zaXplLgoJICBPbiB3aW5kb3dzIHRoZSBuYXRpdmUgbmV0d29yayBidWZmZXIgaXMgbm90IGxhcmdlIGFuZCB3aXRoIHZpZGVvCgkgIGktZnJhbWVzIGJlaW5nIGh1Z2UgdGhlIGJ1ZmZlciBpcyB0byBzbWFsbCBhbmQgeW91IGdldCBpLWZyYW1lIGNvcnJ1cHRpb24sCgkgIGl0IGxvb2tzIHRlcnJpYmxlLCBhbmQgdGhlcmUgaXMgbm8gKGVhc3kpIHdheSB0byBzZXQgdGhlIHVkcHNyYyBidWZmZXItc2l6ZS4KCSAgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIyNjQKCjIwMTMtMDUtMDggMTY6MDI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4OTUKCjIwMTMtMDUtMDcgMTk6MTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGNvbXBpbGVyIHdhcm5pbmcgb24gdHlwZSBjaGVjawoKMjAxMy0wNC0xOCAwNzo0OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbmV3IGNhcHMgZXZlbnRzIHdoZW4gY2FwcyBjaGFuZ2UKCSAgV2hlbmV2ZXIgdGhlIGRlbXV4ZXIgaGFzIGEgbmV3IGNhcHMgb24gYSBzdHJlYW0sIGl0IHNob3VsZCBzZXQgdGhlCgkgIG5ld19jYXBzIHZhcmlhYmxlIHRvIHRydWUgYW5kIGEgbmV3IGNhcHMgZXZlbnQgd2lsbCBiZSBwdXNoZWQgYmVmb3JlCgkgIHRoZSBuZXh0IGJ1ZmZlcgoKMjAxMy0wNC0xNyAxNjo1NDoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIHF0ZGVtdXggdGFrZXMgaXRzIGJ1ZmZlcnMgZnJvbSBhIEdzdEFkYXB0ZXIuIFRob3NlIGJ1ZmZlcnMgYXJlIGNyZWF0ZWQKCSAgZnJvbSB0aGUgbGFyZ2VyIGJ1ZmZlciB0aGF0IGl0IG9idGFpbmVkIGZyb20gdXBzdHJlYW0gYW5kIHRoZXkgY2FycnkKCSAgdGhlIHNhbWUgZmxhZ3MsIGluY2x1ZGluZyBESVNDT05UIGlmIGl0IGlzIHNldC4gSW4gdGhlc2UgY2FzZXMsIGFsbAoJICBidWZmZXJzIHRoYXQgcXRkZW11eCBpcyBnb2luZyB0byBwdXNoIHdvdWxkIGJlIG1hcmtlZCBhcyBESVNDT05ULgoJICBUaGlzIHNjZW5hcmlvIGNhbiBtYWtlIHBhcnNlcnMvZGVjb2RlcnMgZmx1c2ggb24gZXZlcnkgYnVmZmVyIGxlYWRpbmcKCSAgdG8gbm8gZGVjb2RpbmcgYXQgYWxsIGhhcGVubmluZy4gVGhpcyBwYXRjaCBwcmV2ZW50cyB0aGlzIGJ5IHVuc2V0dGluZwoJICB0aGUgZmxhZyBpZiBpdCBzaG91bGRuJ3QgYmUgc2V0LgoKMjAxMy0wNC0xMiAwOTowODoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBzb21lIGNvZGUgY2xlYW51cCBmb3IgbXNzIGhhbmRsaW5nIGNvZGUKCSAgKiBFeHBsaWNpdGx5IGluaXQgdmFyaWFibGVzIGZvciBmcmFnbWVudGVkIGZvcm1hdHMgYXQgaW5pdAoJICAqIERvIG5vdCB1c2UgR3N0Q2xvY2tUaW1lIHR5cGUgaWYgdGhlIHZhcmlhYmxlIGlzbid0IGEgdGltZXN0YW1wCgkgICogRml4IGEgc3R5bGUvcmVhZGFiaWxpdHkgaXNzdWUgYXQgYW4gaWYgYmxvY2sKCSAgKiBHcm91cCAyIG1zcyBtb2RlIGNvbmRpdGlvbmFsIGJsb2NrcyB0b2dldGhlciB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDQtMTIgMTA6MjE6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBzdG9yaW5nIG5vbi10aW1lIG5ld3NlZ21lbnRzIHRvIHB1c2ggbGF0ZXIKCSAgVGhpcyBjYW4gY29uZnVzZSBkb3duc3RyZWFtIHdoZW4gdGhleSBnZXQgYSBieXRlIHNlZ21lbnQgYWZ0ZXIgcmVjZWl2aW5nCgkgIHRoZSBuYXR1cmFsIHRpbWUgc2VnbWVudCBmcm9tIHF0ZGVtdXggdGhhdCBpdCBzZW5kcyB3aGVuIHN0YXJ0aW5nIHRvCgkgIHB1c2ggYnVmZmVycy4gVGhpcyBpcyBzcGVjaWFsbHkgdGhlIGNhc2Ugd2l0aCBwYXJzZXJzIHRoYXQgdHJ5IHRvCgkgIGNvbnZlcnQgdGhlIHBvc2l0aW9uIGZyb20gYnl0ZSB0byB0aW1lIGZvcm1hdCBhbmQgbWlnaHQgbWlzcyB0aGUKCSAgY29ycmVjdCBwb3NpdGlvbiBmb3IgcGxheWJhY2sgdG8gc3RhcnQuCgoyMDEzLTA0LTEwIDE4OjAyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc2V0dGluZyBmaWVsZHMgdG8gbm9uLXdyaXRhYmxlIGNhcHMKCjIwMTMtMDMtMTAgMDQ6MTU6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3Qgc2VuZCBzbyBtYW55IHNlZ21lbnQgZXZlbnRzCgkgIE9ubHkgc2VuZCBvbmUgc2VnbWVudCBldmVudCBpbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0sIG5vdAoJICBhZnRlciBlYWNoIG1vb3YgYW5kIG1vb2YgYXRvbS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMy0wOCAxNjowMjoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwbGFjZSBpbmNvbW1pbmcgdGltZXN0YW1wcyBvbiBvdXRwdXQKCSAgUGxhY2UgdGhlIGluY29tbWluZyB0aW1lc3RhbXAgKGlmIGFueSkgZGlyZWN0bHkgb250byB0aGUgb3V0Z29pbmcgYnVmZmVycwoJICBhbmQgaW50ZXJwb2xsYXRlIG90aGVyIHRpbWVzdGFtcHMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDUtMDcgMTA6MTY6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIHJlc2V0IG9mIGludGVybmFsIHN0YXR1cwoJICBSZXNldCBkaWZmZXJlbnQgdmFyaWFibGVzIG9uIHN0YXRlIGNoYW5nZXMgdG8gcmVhZHkgYW5kIHdoZW4KCSAgaGFuZGxpbmcgYSBmbHVzaC1zdG9wLiBGb3IgaGFuZGxpbmcgZmx1c2ggc3RvcHMgd2Ugc2hvdWxkIGNoZWNrCgkgIGlmIHRoZXJlIGlzIGFuIHVwc3RyZWFtIGFkYXB0aXZlIGRlbXV4ZXIgZHJpdmluZyB0aGUgcGlwZWxpbmUgYXMgdGhpcwoJICBtZWFucyB0aGF0IHF0ZGVtdXggd2lsbCBnZXQgYSBuZXcgbW9vdiBhdG9tLiBGb3IgJ3N0YW5kYXJkJyBpc29tZWRpYQoJICBzdHJlYW1zIHRoaXMgaXNuJ3QgdHJ1ZSBhbmQgcXRkZW11eCBzaG91bGQga2VlcCB0aGUgcHJldmlvdXMgbW9vdgoJICBpbmZvcm1hdGlvbiBhcm91bmQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDItMDggMDA6Mjk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmVwYXJlIHF0ZGVtdXggdG8gYWNjZXB0IG11bHRpcGxlIGRhc2ggbW9vdnMgaW4gYSByb3cKCSAgV2hlbmV2ZXIgZGFzaGRlbXV4IHN3aXRjaGVzIGJpdHJhdGVzIGl0IHNlbmRzIGEgbmV3IG1vb3Ygd2l0aCB0aGUKCSAgbmV3IHN0cmVhbSBjb25maWd1cmF0aW9uLiBxdGRlbXV4IHNob3VsZCBub3cgaGFuZGxlIHRoaXMgYnkgc3BsaXR0aW5nCgkgIHRoZSBleHBvc2luZyBhbmQgY29uZmlndXJhdGlvbiBvZiBzdHJlYW1zIGludG8gc2VwYXJhdGUgZnVuY3Rpb25zLiBXaGVuCgkgIHRoZSBzdHJlYW0gaXMgbmV3IGl0IGlzIGNvbmZpZ3VyZWQgYW5kIGV4cG9zZWQsIHdoZW4gaXQgaXMgYSBuZXcgYml0cmF0ZQoJICBvZiBhbiBleGlzdGluZyBzdHJlYW0gaXQgaXMgb25seSByZWNvbmZpZ3VyZWQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDItMDcgMTQ6MTI6NTMgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW92ZSBGTFVTSF9TVE9QL1BBVVNFRF9UT19SRUFEWSBoYW5kbGluZyB0byBhIHJlc2V0IG1ldGhvZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMS0yMyAxMDo1NTozMyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFJlbW92ZSBvbGQgcGFkcyB3aGVuIGV4cG9zaW5nIHN0cmVhbXMgYW5kIG90aGVyIGdlbmVyYWwgZml4ZXMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDQtMTYgMTA6NDE6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaGFuZGxlIG1zcyBzdHJlYW1zCgkgIHNtb290aHN0cmVhbWluZyBzdHJlYW1zIHNob3VsZCBiZSBoYW5kbGVkIGFzIGEgc3BlY2lhbCBraW5kIG9mCgkgIGZyYWdtZW50ZWQgaXNvbWVkaWEuIEluIE1TUyB0aGUgZnJhZ21lbnRzIHdpbGwgbm90IGNvbnRhaW4gYQoJICAnbW9vdicgYXRvbSB3aXRoIHRoZSBtZWRpYSBkZXNjcmlwdGlvbnMsIHRoaXMgaGFzIHRvIGJlIGV4dHJhY3RlZAoJICBmcm9tIHRoZSBjYXBzLgoJICBBZGRpdGlvbmFsbHksIHRoZXJlIHNob3VsZCBiZSBhbm90aGVyIGRlbXV4ZXIgdXBzdHJlYW0gdGhhdCBpcyBsaWtlbHkKCSAgZ29pbmcgdG8gYmUgdGhlIG9uZSB0byBhbnN3ZXIvYWN0IG9uIHF1ZXJpZXMgYW5kIGV2ZW50cywgc28gcXRkZW11eCBoYXMKCSAgdG8gZm9yd2FyZCB0aG9zZSB1cHN0cmVhbS4KCjIwMTMtMDUtMDYgMTY6NTQ6MDIgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogcmVxdWVzdCAwIGJ1ZmZlcnMgd2hlbiBzdG9wcGluZwoJICBXaXRob3V0IHRoaXMgc3RvcHBpbmcgdGhlIHBvb2wgaW4gKl9zZXRfY2FwcygpIGlzIHVzZWxlc3MuCgkgIFNfRk1UIHdpbGwgc3RpbGwgZmFpbCB3aXRoIEVCVVNZLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5ODM1CgoyMDEzLTA1LTA3IDE2OjMyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQnkgZGVmYXVsdCBhc3N1bWUgdGhhdCB3ZSdyZSB3b3JraW5nIG9uIG5vbi1wYWNrZXRpemVkIGlucHV0CgkgIE9ubHkgZGV0ZWN0aW5nIHRoaXMgaW4gc2V0X2Zvcm1hdCgpIGRvZXMgbm90IHdvcmsgYmVjYXVzZSB3ZSBtaWdodAoJICBub3QgZ2V0IGFueSBjYXBzIGF0IGFsbCwgZS5nLiBmcm9tIGZpbGVzcmMuCgoyMDEzLTA1LTA3IDE2OjMwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogSW1wbGVtZW50IHBhcnNpbmcgZnVuY3Rpb25hbGl0eQoJICBUaGlzIGFsbG93cyB0byBwbHVnIHBuZ2RlYyBkaXJlY3RseSB3aXRob3V0IGEgcGFyc2VyIGlmIHRoYXQKCSAgaXMgZGVzaXJlZC4KCSAgUGFyc2luZyBjb2RlIGlzIGJhc2VkIG9uIHBuZ3BhcnNlLgoKMjAxMy0wNS0wNyAxNTo1NDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhc2luazogRml4IHN1cHBvcnQgZm9yIFJHQiBmb3JtYXRzIGFuZCBhZGQgc3VwcG9ydCBmb3IgbW9yZSBvZiB0aGVtCgoyMDEzLTA1LTA0IDEzOjE5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBjb25zaWRlciB0aGUgY29udGVudCBzaXplIGZyb20gdGhlIEhUVFAgaGVhZGVycyBhcyBhYnNvbHV0ZWx5IGNvcnJlY3QKCSAgVGhlIEhUVFAgc2VydmVyIGNvdWxkIGdpdmUgd3JvbmcgaW5mb3JtYXRpb24sIGUuZy4gaWYgdGhlIEhUVFAgc3RyZWFtIGlzCgkgIGNodW5rLWVuY29kZWQgb3IgY29tcHJlc3NlZCwgb3IgaWYgdGhlIHNlcnZlciBkb2VzIG5vdCBrbm93IHRoZSBjb21wbGV0ZSBzaXplCgkgIGF0IHRoZSB0aW1lIHdoZW4gdGhlIGZpbGUgaXMgcmVxdWVzdGVkIGJ5IHRoZSBjbGllbnQuCgkgIEFsc28gc2VlCgkgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUzNTQKCjIwMTItMDgtMjAgMDk6NTI6MzIgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaWxsIG91dCB2NGwyX2J1ZmZlci5ieXRlc3VzZWQgZmllbGQgZm9yIHY0bDJzaW5rCgkgIFdoZW4gcXVldWluZyBhIGJ1ZmZlciBmb3IgYSBzaW5rLCBieXRlc3VzZWQgbXVzdCBjb250YWluIHRoZSBhY3R1YWwKCSAgYW1vdW50IG9mIGRhdGEuCgkgIEZvciBhIHNvdXJjZSwgdGhlIGRyaXZlciBtdXN0IG92ZXJ3cml0ZSB0aGlzLCBzbyBpdCBkb2Vzbid0IG1hdHRlcgoJICB3aGF0IGlzIHNldCBoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NTk4CgoyMDEzLTA1LTAzIDIzOjQzOjI2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBmaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGV2ZW50IGhhbmRsZXIKCSAgRmlyc3QgcHJvY2VzcyBldmVudCBpbiBwYXlsb2FkZXIsIHRoZW4gaGFuZCBpdCB0byB0aGUKCSAgYmFzZSBjbGFzcyB3aGljaCB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NjM3CgoyMDEzLTA1LTA0IDA5OjQ4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGFjM3BhcnNlLCBkY2FwYXJzZTogY2hlY2sgYnVmZmVyIHNpemUgYmVmb3JlIHRyaW1taW5nCgkgIGFuZCB1bnJlZiBvbGQgYnVmZmVyIGFzIHNvb24gYXMgcG9zc2libGUuCgoyMDEzLTA1LTAyIDE1OjAwOjIyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBhZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtZHRzIgoKMjAxMy0wNS0wMiAxNDo1NjowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogYWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWFjMyIKCjIwMTMtMDUtMDMgMTI6NDY6MzcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhbHdheXMgZ2VuZXJhdGUgdmlkZW8gaW5mbyBmcm9tIGNhcHMKCSAgSW4gdGhlIHBhc3QgZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzKCkgb25seSB2aWRlby94LXJhdy4gTm93IGl0IGFsc28KCSAgc3VwcG9ydHMgb3RoZXIgdmlkZW8vKiBhbmQgaW1hZ2UvKiBmb3JtYXRzLgoJICBXaXRoIHRoaXMgcGF0Y2ggdGhlIGZvcm1hdCB3b24ndCBiZSBHU1RfVklERU9fRk9STUFUX1VOS09XTiBhbmQKCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfc2V0X2NvbmZpZygpIGhhbmRsZXMgc3RyaWRlcyBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk1NzAKCjIwMTMtMDUtMDIgMDk6NDE6MDEgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogdHJ5IHRvIGFsbG9jYXRlIG5ldyBidWZmZXJzIHdpdGggVklESU9DX0NSRUFURV9CVUZTIGlmIG5lZWRlZAoJICBJZiBtYXhfYnVmZmVycyBpcyAwIHRoZW4gYW4gYXJiaXRyYXJ5IG51bWJlciBvZiBidWZmZXJzIChjdXJyZW50bHkgNCkgaXMKCSAgYWxsb2NhdGVkLiBJZiB0aGlzIGlzIG5vdCBlbm91Z2ggdjRsMnNyYyBzdGFydHMgY29weWluZyBidWZmZXJzLgoJICBXaXRoIHRoaXMgcGF0Y2ggVklESU9DX0NSRUFURV9CVUZTIGlzIHVzZWQgdG8gYWxsb2NhdGUgYSBuZXcgYnVmZmVyLiBJZgoJICB0aGlzIGZhaWxzIHY0bDJzcmMgZmFsbHMgYmFjayB0byBjb3B5aW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk0NDcKCjIwMTMtMDQtMTUgMTc6Mzc6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2V0dGluZyB3aW5kb3cgaGFuZGxlIGFmdGVyIHRyYW5zaXRpb24KCSAgVGhlIGRlc3Ryb3llZCBmbGFnIHdhcyBub3QgcmVzZXQgcHJvcGVybHkgYW5kIGl0J3MgYWxzbyBub3QgbmVlZGVkCgkgIGFzIHdlIGNhbiBjaGVjayBvc3h3aW5kb3cgIT0gTlVMTAoKMjAxMy0wNS0wMiAxMzo0NTo1NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogZml4IGR1cGxpY2F0ZWQgc3ltYm9scyB3aXRoIGxpYnZweAoKMjAxMy0wNC0yOSAxMDo1ODowOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICBnb29tMmsxOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIHdpdGggZ29vbQoKMjAxMy0wNS0wMSAxNTo0OTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogSWYgdGhlIGFkYXB0ZXIgaXMgZW1wdHkgb24gRU9TIGRvbid0IHRyeSB0byBtYXAgaXRzIGNvbnRlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTMxNAoKMjAxMy0wNC0zMCAxNDozNjozOCArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGQgc3RyZWFtLWZvcm1hdD1yYXcgdG8gYWFjIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTMwMwoKMjAxMy0wNC0zMCAxMzowNzozNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaXggYW5kIGNsZWFudXAgVklESU9DX0VYUEJVRiBoYW5kbGluZwoJICBjbGVhciB0aGUgc3RydWN0LCBhbmQgcHJvdmlkZSBhIGNvcnJlY3QgZXJyb3IgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzM3CgoyMDEyLTA3LTA1IDE4OjAyOjI3ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBoYW5kbGUgcmV0dXJuIHZhbHVlIC1FTk9UVFkgZm9yIHVuaW1wbGVtZW50ZWQgVklESU9DX0dfUEFSTQoJICBOZXdlciBrZXJuZWxzIHJldHVybiAtRU5PVFRZLCBvbGRlciBrZXJuZWxzIHJldHVybiAtRUlOVkFMIGlmIHRoZSBpb2N0bAoJICBpcyBub3QgaW1wbGVtZW50ZWQuIFdpdGggdGhpcyBwYXRjaCwgR1N0cmVhbWVyIGhhbmRsZXMgYm90aCBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyNQoKMjAxMy0wNC0zMCAwOToxNjowNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBicm9rZW4gYm9vbGVhbiBleHByZXNzaW9uIHRvIGRldGVjdCBub24tZnJhbWUgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5Mjk0CgoyMDEzLTA0LTI5IDExOjA3OjU2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBCZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHNlcnZlciB2ZXJzaW9uIGlzIHRvbyBvbGQKCSAgV2UgY2hlY2sgZm9yIHRoZSBsaWJyYXJ5IHZlcnNpb24gYXQgY29uZmlndXJlIHRpbWUsIGJ1dCB0aGUgc2VydmVyCgkgIHZlcnNpb24gY2FuIG9ubHkgcmVhbGx5IGJlIGNoZWNrZWQgYXQgcnVuLXRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg3NjgKCjIwMTMtMDQtMjcgMTE6MjQ6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJICB1ZHA6IGxvZyBXQVJOSU5HIGRlYnVnIG1lc3NhZ2UgaWYgVURQIG11bHRpY2FzdCBpcyBsaWtlbHkgdG8gYmUgYnJva2VuCgoyMDEzLTA0LTI3IDExOjE2OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgaW5jbHVkZXMgdG8gZ2V0IHNvY2tsZW5fdCBkZWZpbmVkIG9uIFdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQwMAoKMjAxMy0wNC0yNyAwOTozOTo0NSArMDEwMCAgWXVyeSBEZWxlbmRpayA8YXN5bmMucHJvY2Vzc2luZ2pzQHlhaG9vLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgVlA2RiBWUDYgZmxhc2ggY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTAxMAoKMjAxMi0wOS0wNSAxNjozOTozMSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFsc28gcG9sbCBmb3Igb3V0cHV0IGRldmljZXMKCSAgTm90ZSB0aGF0IHRoZSBWNEwyIEFQSSBkZWZpbmVzIHRoYXQgZm9yIG91dHB1dCBkZXZpY2VzIFBPTExPVVQKCSAgaW5kaWNhdGVzIHRoYXQgYSBidWZmZXIgaXMgcmVhZHkgdG8gYmUgZGVxdWV1ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg5OTIKCjIwMTItMDgtMjAgMDk6NTI6MzQgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBjb3B5aW5nIG9mIGVuY29kZWQgYnVmZmVycwoJICBUaGUgZXhpc3RlbmNlIG9mIGEgR3N0VmlkZW9Gb3JtYXRJbmZvIGRvZXMgbm90IGd1YXJhbnRlZSwgdGhhdAoJICB0aGUgYnVmZmVyIGNvbnRhaW5zIHZpZGVvIGZyYW1lcywgc28gdGhlIGZvcm1hdCBtdXN0IGJlIGNoZWNrZWQuCgkgIEFsc28sIGZvciBlbmNvZGVkIGJ1ZmZlcnMgdGhlIGxlbmd0aCBpcyB2YXJpYWJsZSBhbmQgbXVzdCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg5NDkKCjIwMTItMDctMTAgMTU6Mjk6NDAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhZGQgc3VwcG9ydCBmb3IgbXBlZzQgYW5kIEguMjYzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjYKCjIwMTMtMDQtMjYgMTI6MTY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBGaXggZGVidWcgc3RhdGVtZW50CgoyMDEzLTA0LTI1IDIxOjUwOjMzICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxtZXJvc0BtZXJvcy1kZXNrdG9wLihub25lKT4KCgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2RlYy5jOgoJICBtdWxhd2RlYzogY2hhbmdlIGJhc2UgY2xhc3MgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4OTQKCjIwMTMtMDQtMjUgMjA6NTk6NTIgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50LgoKMjAxMi0xMC0xOCAxMDozNzozNSArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogaGFuZGxlIEVOT0RBVEEgcmV0dXJuIHZhbHVlIGZvciBWSURJT0NfRU5VTVNURAoJICBJbiBrZXJuZWwgdjMuNy1yYzEsIFZJRElPQ19FTlVNU1REIHJldHVybnMgRU5PREFUQSBpZiB0aGUgY3VycmVudCBpbnB1dAoJICBkb2VzIG5vdCBzdXBwb3J0IHRoZSBTVEQgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODI3CgoyMDEzLTA0LTI1IDEzOjE5OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJICBkb2NzOiBhZGQgc29tZSBwYXkvZGVwYXlsb2FkZXJzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUxNjMxCgoyMDEzLTA0LTI1IDEyOjQ0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIG11bGF3OiBTb21lIG1pbm9yIG1lbWxlYWsgZml4ZXMgYW5kIGNsZWFudXAKCjIwMTMtMDQtMjQgMTM6NTY6NTYgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPGFsZXhhc0BheGlzLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2VuYy5jOgoJICBtdWxhd2VuYzogY2hhbmdlIHRvIGdzdGF1ZGlvZW5jb2RlciBiYXNlLCBhZGRlZCBiaXRyYXRlIHRhZ3MKCjIwMTItMDUtMDMgMTY6MDc6MjcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYnVmZmVycG9vbDogcmVzZXQgYnVmZmVyIHNpemUgaW4gcmVsZWFzZV9idWZmZXIKCSAgVGhlIGJ1ZmZlciBtaWdodCBzdGlsbCBiZSBpbiB1c2UgZWxzZXdoZXJlIHdoZW4gZGVxdWV1aW5nIGJ1ZmZlcnMgZm9yCgkgIG91dHB1dHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjIKCjIwMTItMDQtMjAgMDk6NTM6MzUgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYnVmZmVycG9vbDogcmVtb3ZlIHVudXNlZCBpbmNsdWRlcwoJICBUaGUgaGFja3MgdGhhdCBuZWVkZWQgdGhlc2UgYXJlIGxvbmcgZ29uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyMQoKMjAxMy0wNC0yNSAxMjoxMjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAobXVsdGkpdWRwc2luazogVXNlIHNlcGFyYXRlIHNvY2tldHMgZm9yIElQdjQgYW5kIElQdjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTUzNDI0MwoKMjAxMy0wNC0yNSAxMDo0NDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgIGR5bnVkcHNpbms6IFVzZSBzZXBhcmF0ZSBzb2NrZXRzIGZvciBJUHY0IGFuZCBJUHY2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01MzQyNDMKCjIwMTMtMDQtMjUgMTA6NDM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgdWRwOiBEb24ndCBpbmNsdWRlIHJlbW92ZWQgZ3N0dWRwLmggaW4gbm9pbnN0X0hFQURFUlMKCjIwMTMtMDQtMTcgMTY6NDc6MzEgLTA3MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpbzogVXNlIGdzdF9hdWRpb19jaGFubmVsX3Bvc2l0aW9uc190b19tYXNrKCkgdG8gY3JlYXRlIG1hc2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgwNwoKMjAxMy0wNC0xNyAxNjoxMjoyNiAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMTMtMDQtMjUgMDk6MTY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHA6IFJlbW92ZSB1bnVzZWQgZW51bSB0eXBlCgoyMDEzLTA0LTI1IDA5OjEzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmxpc3Q6CgkgIHVkcDogVXNlIHRoZSBnZW5lcmljIG1hcnNoYWxsZXIgaW5zdGVhZCBvZiBnZW5lcmF0aW5nIG1hcnNoYWxsZXJzCgoyMDEzLTA0LTI1IDA5OjA3OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogUmVuYW1lIGluc3RhbmNlIHZhcmlhYmxlIGZyb20gaG9zdCB0byBtdWx0aV9ncm91cAoJICBUaGlzIGlzIG1vcmUgY29uc2lzdGVudCBhcyBpdCdzIHVzZWQgZm9yIHRoZSBtdWx0aWNhc3QtZ3JvdXAgcHJvcGVydHkuCgoyMDEzLTA0LTI1IDA5OjAzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogQWRkIGJpbmQtYWRkcmVzcyBwcm9wZXJ0eQoJICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gbXVsdGljYXN0LWdyb3VwIGN1cnJlbnRseSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCgkgIEluIDIuMCB0aGlzIHNob3VsZCBiZSBoYW5kbGVkIHNlcGFyYXRlbHksIHRoZSBmb3JtZXIgb25seSBiZWluZyB0aGUgbXVsdGljYXN0CgkgIGdyb3VwIGFuZCB0aGUgbGF0dGVyIGFsd2F5cyBiZWluZyB0aGUgYWRkcmVzcyB0aGUgc29ja2V0IGlzIGJvdW5kIHRvLCBldmVuIGlmCgkgIGEgbXVsdGljYXN0IGdyb3VwIGlzIGdpdmVuLgoKMjAxMy0wNC0yNCAxNjoyNDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogcmV0dXJuIG91dHB1dCBidWZmZXIgZnJvbSBwcm9jZXNzCgkgIFJldHVybiB0aGUgb3V0cHV0IGJ1ZmZlciBmcm9tIHRoZSBwcm9jZXNzIGZ1bmN0aW9uIGluc3RlYWQgb2YgcHVzaGluZwoJICBpdCBvdXJzZWx2ZXMuIFRoaXMgd2F5LCB0aGUgc3ViY2xhc3MgY2FuIGFjdHVhbGx5IGRlYWwgd2l0aCB0aGUgcmV0dXJuCgkgIHZhbHVlIG9mIHRoZSBwdXNoLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzNzI3CgoyMDEyLTEwLTAxIDA5OjI5OjIxIC0wMzAwICBEaW9nbyBDYXJib25lcmEgTHV2aXpvbiA8ZGlvZ28ubHV2aXpvbkBlbnNpdGVjLmNvbS5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc2F2ZSB0aGUgZm9ybWF0IGNvcnJlY3RseQoJICBJZiBUUllfRk1UIGlzIG5vdCBpbXBsZW1lbnRlZCwgIGdzdF92NGwyX29iamVjdF9nZXRfbmVhcmVzdF9zaXplIHdpbGwKCSAgdXNlIFNfRk1UIGFuZCB3aWxsIGNoYW5nZSB0aGUgZGV2aWNlJ3Mgb3BlcmF0aW9uIG1vZGUuIFRvIHNhdmUgdGhlCgkgIG9sZCBkZXZpY2UgbW9kZSB3ZSBuZWVkIHRvIHNldCB0aGUgdHlwZSBmaWVsZCBvciBlbHNlIGl0IHdpbGwgZmFpbAoJICB0byBzYXZlIHRoZSBwcmV2aW91cyBmb3JtYXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMDkKCjIwMTMtMDQtMjQgMTU6Mzg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICBydHA6IGEgbWFya2VyIGJpdCBzaG91bGQgdHJhbnNsYXRlIHRvIFJFU1lOQwoJICBBIG1hcmtlciBiaXQgb24gYW4gYXVkaW8gcGFja2V0IGRvZXMgbm90IG1lYW4gYSBESVNDT05UIChpbiB0aGUgR1N0cmVhbWVyIHNlbnNlCgkgIG9mIG1pc3NpbmcgZGF0YSkgYnV0IGl0IG1lYW5zIHRoYXQgdGhlIHBhY2tldCBpcyB0aGUgZW5kIG9mIGEgdGFsa3NwdXJ0IGFuZCB0aHVzCgkgIGEgZ29vZCBvcHBvcnR1bml0eSB0byByZXN5bmMgdG8gdGhlIGNsb2NrLiBVc2UgdGhlIFJFU1lOQyBidWZmZXIgZmxhZyB0byBub3RlCgkgIHRoaXMuCgkgIFJlYWwgZGlzY29udGludWl0aWVzIGFyZSBtYXJrZWQgd2l0aCBESVNDT05UIHN0aWxsIHdoZW4gdGhlIHNlcW51bSBoYXMgYSBHQVAgb3IKCSAgd2hlbiB0aGUgaW5wdXQgYnVmZmVyIGhhcyB0aGUgRElTQ09OVCBmbGFnIHNldC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzIwNAoKMjAxMy0wNC0yMiAyMzo1MTozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1BSU5UQUlORVJTOgoJKiBSRUFETUU6CgkqIFJFQURNRS5zdGF0aWMtbGlua2luZzoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzY2IzZDNjIHRvIDVlZGNkODUKCjIwMTMtMDQtMjIgMTA6MTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBEcm9wIGZyYW1lIGlmIGl0J3MgbGVzcyB0aGFuIDIgYnl0ZXMgbGFyZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzU2MAoKMjAxMy0wNC0xOCAxMjoyMDowOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogdXNlIF9wbHVnaW5fZmVhdHVyZV9yYW5rX2NvbXBhcmUgQVBJIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgdGhlIGNvZGUuCgoyMDEzLTA0LTE4IDA5OjM3OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW86IEluY2x1ZGUgZ3N0YXVkaW9yaW5nYnVmZmVyLmggdG8gZml4IGNvbXBpbGF0aW9uIGluIDEuMAoKMjAxMy0wNC0xNyAyMTowNToxNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBjaGFubmVsLW1hc2sgY29uZmlndXJhdGlvbiBmaXhlcwoJICBTZXQgY2hhbm5lbC1tYXNrIGFjY29yZGluZyB0byBzaW5rJ3MgbGF5b3V0IGluIGNhc2Ugb2Ygc3RlcmVvIGxheW91dC4KCSAgQWxzbyBpbml0aWFsaXplIGFuZCByZXNldCB0aGUgbWFzayB3aGVuIGFuIHVucmVjb2duaXplZCBjaGFubmVsIGlzIGRldGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MjI0CgoyMDEzLTA0LTE1IDE5OjUzOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBEaXNhYmxlIHJlbmVnb3RpYXRpb24gaW4gdGhlIG5lZ290aWF0ZSBtZXRob2QKCSAgVGhpcyB3YXksIHdlIGRvbid0IGJsb2NrIHRoZSBpbml0aWFsIG5lZ290aWF0aW9uLgoJICBUaGFua3MgdG8gSmVyZW15IFdoaXRpbmcgZm9yIGRvaW5nIGFsbCB0aGUgdGVzdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTk4MQoKMjAxMy0wNC0xNSAxOTo0NjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBkaXNhYmxlIHJlbmVnb3RpYXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDFiMjZlMWQ1OTRhYjJiNjMzMjRlNDNhMzYzMzA0NzVlOThjZGYxOC4KCSAgVGhpcyBjYXVzZXMgdGhlIGluaXRpYWwgbmVnb3RpYXRpb24gdG8gbmV2ZXIgaGFwcGVuIGlmIGEgcmVjb25maWd1cmUKCSAgZXZlbnQgaXMgcmVjZWl2ZWQgYWZ0ZXIgZ3N0X2Jhc2Vfc3JjX3N0YXJ0X2NvbXBsZXRlKCkgYnV0IGJlZm9yZSB0aGUgbG9vcAoJICBzdGFydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU5ODEKCjIwMTMtMDQtMTcgMjE6MTI6NTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IGZvcndhcmQgY2FwcyBldmVudAoJICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgZG93bnN0cmVhbSBlbGVtZW50IHdpbGwgZ2V0IHRoZSBldmVudCBhbmQgbmVnb3RpYXRlcy4gQWRkCgkgIGEgRklYTUUgZm9yIHVwZGF0aW5nIHRoZSBzdHJlYW1oZWFkZXIgZmllbGQgb24gdGggY2Fwcy4KCjIwMTMtMDQtMTcgMDc6NTA6MjcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogYWRkIG1vcmUgbG9nZ2luZwoKMjAxMy0wNC0xNyAyMDoyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkgIG9zeGF1ZGlvOiBGaXggbWVyZ2UgY29uZmxpY3RzCgoyMDEzLTA0LTE3IDEwOjEwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3N4YXVkaW86IEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIG9zeGF1ZGlvIHBsdWdpbgoKMjAxMy0wNC0xNyAwOTo1MDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvcmluZ2J1ZmZlcjogRmlyc3QgY2hlY2sgdGhlIHR5cGUsIHRoZW4gY2FzdAoKMjAxMy0wNC0xNiAyMjo0NjowMCArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBvc3hhdWRpbzogdXNlIEdTVF9JU19PU1hfQVVESU9fU0lOSyBpbiByaW5nIGJ1ZmZlci4KCjIwMTMtMDQtMTAgMjE6MDY6MTYgKzA5MDAgIFRha2FzaGkgTmFrYWppbWEgPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBvc3hhdWRpbzogY2FsbCBzZXRfY2hhbm5lbF9wb3NpdGlvbnMoKSBpbiBvc3hhdWRpb3JpbmdidWZmZXIgYWNxdWlyZSgpCgoyMDEzLTA0LTEyIDEyOjE4OjA0IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IHVzZSBHU1RfQVVESU9fSU5GT18qIGFjY2Vzc29ycwoJICBDaGFuZ2VzIGluY2x1ZGUgdGhlIGZvbGxvd2luZzoKCSAgKiBVcGRhdGUgY2xhc3NuYW1lIHJlZmVyZW5jZXMKCSAgKiBSZXBsYWNlIEdTVF9CT0lMRVJQTEFURV9GVUxMIHdpdGggR19ERUZJTkVfVFlQRQoJICAqIFVzZSBuZXcgR3N0QXVkaW9JbmZvIHN0cnVjdCBhbmQgbWV0aG9kcwoJICAqIFVzZSBuZXcgYnVmZmVyIG1lbW9yeSBhbGxvY2F0aW9uIHNjaGVtZQoJICBDb25mbGljdHM6CgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYwoKMjAxMy0wNC0xMiAxMTo1MTo0NiAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGFkanVzdCBmb3IgY2hhbmdlcyB0byBnbGliIG11dGV4IGFwaS4KCjIwMTMtMDQtMTAgMDE6MjE6NDkgKzA5MDAgIFRha2FzaGkgTmFrYWppbWEgPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogdHJ5IHRvIGZpeCB1cCBhY2NvcmRpbmcgdG8gU2ViYXN0aWFuJ3MgY29tbWVudHMKCjIwMTMtMDQtMDUgMTA6MDI6MzggKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBvc3hhdWRpbzogYnVpbGQgZml4ZXMKCSAgRW5hYmxlIHRoZSBvc3hhdWRpbyBwbHVnaW4gYnVpbGQgaW4gY29uZmlndXJlLmFjIGFuZCBmaXggc29tZQoJICBpbmNsdWRlIGRpcmVjdGl2ZSBvcmRlciBpc3N1ZXMuCgoyMDEzLTA0LTAyIDIyOjI4OjA5ICswOTAwICB0ZWQtbiA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogZml4IGxheW91dCBmb3Igb3N4YXVkaW9zcmMKCjIwMTMtMDMtMzAgMjI6NDk6MzQgKzA5MDAgIHRlZC1uIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSAgb3N4YXVkaW86IHBvcnQgdG8gdi4xLjAKCjIwMTMtMDQtMTYgMTk6Mjk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCB1bnJlZiBxdWVyeSwgd2UgZG9uJ3Qgb3duIGl0CgkgIEZpeGVzIGRvdWJsZS11bnJlZiBidWcuIEJ1ZyBmb3VuZCBieSBZb3VuZXNzIEFsYW91aQoKMjAxMy0wNC0xNiAyMDo0MToxMCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggU0NIRURVTElORyBxdWVyeSBzdXBwb3J0CgkgIENoYWluIHRoZSBxdWVyeSB1cCB0byBwYXJlbnQgYmVmb3JlIGFkZGluZyBfQkFORFdJRFRIX0xJTUlURUQgZmxhZywKCSAgc28gdGhhdCBhbGwgdGhlIG90aGVyIGZsYWdzIGdldCBzZXQsIGFuZCBwdXNoIG1vZGUgZ2V0cyBhZGRlZCBhcwoJICBzdXBwb3J0ZWQgYWN0aXZhdGlvbiBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzNDg0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgxNTYKCjIwMTMtMDMtMzEgMTI6MDU6NDkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogYmFzaWMgc2NoZWR1bGluZyBxdWVyeSBzdXBwb3J0CgkgIEFuc3dlciB0byBzY2hlZHVsaW5nIHF1ZXJpZXMgd2l0aCBkZWZhdWx0IHBhcmFtZXRlcnMgYW5kIHRoZSBuZXcKCSAgX0JBTkRXSURUSF9MSU1JVEVEX0ZMQUcgc28gdGhhdCBkb3duc3RyZWFtIGlzIGFkdmlzZWQgdG8gbWluaW1pemUgc2VlawoJICBvcGVyYXRpb25zIGFuZCBwZXJmb3JtIG9uLWRpc2sgYnVmZmVyaW5nIGlmIHBvc3NpYmxlLgoJICBCdWcgNjkzNDg0CgoyMDEzLTA0LTE1IDE0OjMyOjQ2ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZWdmYXVsdCBhY2Nlc3Npbmcgb3N4d2luZG93IHdoZW4gbm90IHNldCB5ZXQKCjIwMTItMTAtMjQgMTI6MTU6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgIGdzdDogQWRkIGJldHRlciBzdXBwb3J0IGZvciBzdGF0aWMgcGx1Z2lucwoKMjAxMi0xMC0yNCAxMjoxNTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBBZGQgYmV0dGVyIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEyLTEwLTI0IDEyOjE0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIGdzdDogQWRkIGJldHRlciBzdXBwb3J0IGZvciBzdGF0aWMgcGx1Z2lucwoKMjAxMy0wNC0xMiAxOToyNjoxMSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICBnb29tMmsxOiBmaXggZHVwbGljYXRlZCBzeW1ib2wgd2l0aCBnb29tCgoyMDEzLTAzLTEwIDE3OjE3OjE3ICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSAgb3N4YXVkaW86IEZpeGVzIGVycm9yOiAiR1NUX0xFVkVMX0RFRkFVTFQiIHJlZGVmaW5lZAoKMjAxMy0wMy0xMCAxNzoyNzozMCArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogZml4ZXMgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2dldHBpZCcKCjIwMTMtMDQtMTQgMTc6NTU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFlZDg3YWUgdG8gM2NiM2QzYwoKMjAxMy0wNC0xNCAxMjozMjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgYmFjayAiaXJhZGlvLW1vZGUiIHByb3BlcnR5IHRvIGRpc2FibGUgc2VuZGluZyBvZiBpY2VjYXN0IHJlcXVlc3QgaGVhZGVycwoJICBJbiAxLjAgd2Ugbm93IGFsd2F5cyBzZW5kIHRoZSBpY2VjYXN0IHJlcXVlc3QgaGVhZGVycyBieSBkZWZhdWx0LCB3aGljaAoJICBtYWtlcyB0aGUgc2VydmVyIHNlbmQgaWNlY2FzdHMgbWV0YWRhdGEgaW5zZXJ0ZWQgaW50byB0aGUgc3RyZWFtIGlmIGl0CgkgIHN1cHBvcnRzIHRoYXQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIHVzZSBjYXNlcyB3aGVyZSB0aGlzIGlzIG5vdAoJICBkZXNpcmFibGUsIGxpa2Ugd2hlbiBqdXN0IHNhdmluZyBhIHJhZGlvIHN0cmVhbSB0byBkaXNrLCBzbyBhZGQgYmFjawoJICB0aGUgImlyYWRpby1tb2RlIiBwcm9wZXJ0eSB0byBhbGxvdyBwZW9wbGUgdG8gZGlzYWJsZSB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3OTg0CgoyMDEzLTA0LTEyIDE2OjE2OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSAgcnRwOiByZWdpc3RlciB0YWcgaW1hZ2UgdHlwZXMKCSAgVGhlIHJ0cGdzdGRlcGF5IG5lZWRzIHRoZSB0eXBlIHRvIGJlIGF2YWlsYWJsZSBpbiBvcmRlciB0byBkZXNlcmlhbGl6ZSB0aGUKCSAgZXZlbnQuCgoyMDEzLTA0LTEyIDE2OjA4OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHBnc3RkZXBheTogaGFuZGxlIGV2ZW50IHBhcnNlIGZhaWx1cmVzIGJldHRlcgoKMjAxMy0wNC0xMSAyMjoyNTowNSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBhZGQgVE9DIHNldHRlciBzdXBwb3J0CgoyMDEzLTA0LTEyIDEyOjMxOjMwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBzbWFsbCBjbGVhbnVwcyBmb3IgdG9jIGhhbmRsaW5nCgkgIERvbid0IGFkZCBlbXB0eSBsYWJsL25vdGUgY2h1bmtzLiBBbHdheXMgcGFzcyBpbnN0YW5jZSBhcyB0aGUgZmlyc3QgcGFyYW0uIEFkZCBtb3JlIGxvZ2dpbmcuCgoyMDEzLTA0LTEyIDEyOjU4OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBQcm94eSB0aGUgbnRwLXN5bmMgcHJvcGVydHkgb2YgcnRwYmluCgoyMDEzLTA0LTEyIDEyOjUxOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogR2l2ZSB0aGUgbWFuYWdlciBhbHdheXMgdGhlIG5hbWUgIm1hbmFnZXIiCgkgIFRoaXMgYWxsb3dzIHRvIHVzZSB0aGUgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UgdG8gYWRqdXN0CgkgIHByb3BlcnRpZXMgb24gaXQuCgoyMDEzLTA0LTExIDIyOjUzOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICB0ZXN0czogZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBpc3N1ZXMgaW4gZGVidWcgbWVzc2FnZXMKCjIwMTMtMDQtMTEgMTk6Mjc6MTUgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogYWRkICdub3RlJyBjaHVuayBzdXBwb3J0CgoyMDEzLTA0LTExIDIwOjQ2OjI2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBhIGxpdHRsZSBtb3JlIGRvY3MgdG8gdGhlIGF1ZGlvY2xvY2sKCjIwMTMtMDQtMTEgMTU6MDA6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBzdXBwb3J0IGZvciBOZXRDbGllbnRDbG9jawoJICBXaGVuIHRoZSBzZXJ2ZXIgc3VnZ2VzdHMgYSBHc3ROZXRUaW1lUHJvdmlkZXIgaW4gdGhlIFNEUCwgc2V0IHVwIGEKCSAgR3N0TmV0Q2xpZW50Q2xvY2sgdGhhdCBzbGF2ZXMgdG8gdGhlIHJlbW90ZSBjbG9jayBhbmQgc3VnZ2VzdCB0aGlzIGNsb2NrIGluCgkgIHByb3ZpZGVfY2xvY2suCgoyMDEzLTA0LTExIDE0OjU3OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgdWRwc2luazogYXZvaWQgYWxsb2MgYW5kIGZyZWUgaW4gcmVuZGVyIGZ1bmN0aW9uCgkgIEF2b2lkIGRvaW5nIGFsbG9jIGFuZCBmcmVlIGluIHRoZSByZW5kZXIgZnVuY3Rpb24gZm9yIGVhY2ggYnVmZmVyLiBJbnN0ZWFkLAoJICBhbGxvY2F0ZSB0aGUgbmVlZGVkIGFycmF5cyBpbiBfaW5pdCBhbmQgdXNlIHRob3NlLgoKMjAxMy0wNC0xMCAwODozNjowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZlcGFyc2U6IHJlbW92ZSBzdXBlcmZsdW91cyBnX2xpc3RfZmlyc3QoKSBjYWxscwoJICBUaGUgdmFyaWFibGVzIGFscmVhZHkgcG9pbnQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBsaXN0LgoKMjAxMy0wNC0wOSAyMzoxMzoxOCArMDEwMCAgQW5kcmVhcyBGZW5rYXJ0IDxhbmRyZWFzLmZlbmthcnRAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwc2JjZGVwYXk6IGZpeCBzYmMgZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uIGZvciBtb25vIGFuZCBzdGVyZW8gbW9kZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzQ2MwoKMjAxMy0wMy0yNSAxNDozNTowMiArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogYWRkICdub3RlJyBjaHVuayBzdXBwb3J0CgkgIEFkZCAnbm90ZScgY2h1bmsgc3VwcG9ydCBpbiBUT0MgYXMgR1NUX1RBR19DT01NRU5UCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY1NDkKCjIwMTMtMDQtMDggMTc6NTM6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIHZhbHVlIGluc2lkZSBlbmRhIHRvIHNldCBlbmRpYW5uZXNzCgoyMDEzLTA0LTA5IDIxOjAwOjEyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNGM3YTFlIHRvIGFlZDg3YWUKCjIwMTMtMDQtMDkgMTc6MzQ6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGF2b2lkIGNvcHkgd2hlbiB3ZSBjYW4KCjIwMTMtMDQtMDkgMTY6NTI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IHVzZSBidWZmZXJsaXN0IHRvIGF2b2lkIG1lbWNweQoKMjAxMy0wNC0wOSAxNjo1MDo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGltcHJvdmUgZGVidWcKCjIwMTMtMDQtMDkgMDA6Mjg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYXJzZS5jOgoJICB0ZXN0czogcmVmYWN0b3IgbmV3IHdhdnBhcnNlIHRlc3QgYSBsaXR0bGUKCSAgVXNlIGZha2VzcmMgaW5zdGVhZCBvZiBmaWxlc3JjIHdpdGggL2Rldi9udWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2Njg0CgoyMDEzLTA0LTA4IDExOjM4OjMzICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBlcnJvciBvdXQgaWYgd2UgcmVjZWl2ZSBlb3MgYmVmb3JlIGFueSB2YWxpZCBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY2ODQKCjIwMTMtMDQtMDcgMDE6NDc6NTYgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZvcmNlIGRlaW50ZXJsYWNpbmcgaW4gImludGVybGFjZWQiIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzQ2NwoKMjAxMy0wNC0wNiAxMjo0NToyOCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiBBZGQgdGltZXN0YW1wL3J1bm5pbmctdGltZS9zdHJlYW0tdGltZSB0byB0aGUgZW1pdGVkIG1lc3NhZ2UKCjIwMTMtMDQtMDUgMTQ6Mzg6NDMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHBzYmNkZXBheTogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzM0MwoKMjAxMy0wNC0wNSAwOTozNDoyMyArMDEwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiBpbmNsdWRlIHB0aHJlYWQuaCB0byBmaXggY29tcGlsZXIgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MzAzCgoyMDEzLTA0LTA0IDIyOjQ4OjQ1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBsZXZlbDogcmVzeW5jIG9uIGRpc2NvbnQKCSAgRHJvcCBwZW5kaW5nIGRhdGEgb24gZGlzY29udCBhbmQgc3RhcnQgYSBuZXcgY3ljbGUgd2l0aCBhIG5ldyBiYXNlIHRpbWVzdGFtcC4KCSAgQ2xlYW51cCBzb21lIHZhcmlhYmxlcy4KCjIwMTMtMDQtMDMgMjM6NTI6NDcgKzAxMDAgIFRvbSBHcmVlbndvb2QgPHRncmVlbndvb2RAVG9tcy1NYWNCb29rLVByby5sb2NhbD4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogSW1wcm92ZSBsb2dnaW5nIHdoZW4gdnB4X2NvZGVjX3BlZWtfc3RyZWFtX2luZm8gZmFpbHMKCSAgRGVjb2RlIGZhaWx1cmVzIGFuZCBtaXNzaW5nIGtleWZyYW1lcyBzaG91bGQgZ2V0IGRpZmZlcmVudCBkZWJ1ZwoJICBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcyMzIKCjIwMTMtMDQtMDMgMTg6MjQ6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cHNiY2RlcGF5OiBSYW5rIGFzIHNlY29uZGFyeQoJICBUaGlzIHdheSwgaXQgd2lsbCBiZSBzZWxlY3RlZCBieSBkZWNvZGViaW4KCSAgQnVnIHJlcG9ydGVkIGJ5IGFuZHJlYXMuZmVua2FydEBzdHJlYW11bmxpbWl0ZWQuY29tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcyMjcKCjIwMTMtMDQtMDMgMTk6MDU6MzggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IHN1YmRpdmlkZSBidWZmZXJzIGZvciBzYW1wbGUgYWNjdXJhdGUgaW50ZXJ2YWwgaGFuZGxpbmcKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBza2lwIGxldmVsIG1lc3NhZ2Ugd2hlbiBwcm9jZXNzaW5nIGJ1ZmZlcnMgPiB0aGUgcmVxdWVzdGVkCgkgIGludGVydmFsLiBBbHNvIHRoZSBtZXNzYWdlIGZyZXF1ZW5jeSB3b3VsZCBjb250YWluIHF1aXRlIHNvbWUgaml0dGVyIGR1ZSB0byBvbmx5CgkgIGNvbnNpZGVyaW5nIHRoZW0gYXQgdGhlIGVuZCBvZiBidWZmZXJzLgoJICBDbGVhbnVwIHRoZSB0ZXN0cyB3aGlsZSB3ZSdyZSBhdCBpdC4KCjIwMTMtMDMtMTkgMDg6MjM6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBvbGQgc2luY2UgY29tbWVudHMgYW5kIHVwZGF0ZSBsb2dnaW5nCgkgIERvbid0IHByZXRlbmQgdGhhdCB3ZSBoYXZlIGEgdGltZXN0YW1wIG9uIGEgYnVmZmVyIHdoZW4gd2UgbmV2ZXIgc2V0IG9uZS4KCjIwMTMtMDMtMTggMjA6NTk6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHJlbW92ZSBvbGQgc2luY2UgY29tbWVudAoKMjAxMy0wNC0wMyAxNzo1MzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUHJveHkgdGhlIG11bHRpY2FzdC1pZmFjZSBwcm9wZXJ0eSBvZiB1ZHBzcmMKCjIwMTMtMDQtMDMgMTE6MDk6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmcmVlIGFsbCBxdWV1ZWQgYnVmZmVycwoJICBEb24ndCBqdXN0IGxvb3Agb3ZlciB0aGUgZmlyc3QgbnVtX3F1ZXVlZCBidWZmZXJzIGJ1dCBsb29wIG92ZXIKCSAgYWxsIHRoZSBidWZmZXJzIGFuZCBjaGVjayBpZiB0aGV5IG5lZWQgdG8gYmUgZnJlZWQuIEl0IGlzIHBvc3NpYmxlIHRoYXQKCSAgbm90IGFsbCBidWZmZXJzIGFyZSBxdWV1ZWQgYW5kIHRoZW4gdGhlIGVudHJ5IGluIG91ciBhcnJheSB3aWxsIGJlIE5VTEwuCgkgIFRob3NlIGJ1ZmZlcnMgdGhhdCBhcmUgbm90IHF1ZXVlZCB3ZXJlIGZyZWVkIGluIHN0b3AoKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY1MQoKMjAxMy0wNC0wMyAxMTowOTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGltcHJvdmUgZGVidWcKCjIwMTMtMDQtMDIgMjM6NDI6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBPbmx5IGZvcndhcmQgc3RpY2sgZXZlbnRzIHdoaWxlIGhvbGRpbmcgdGhlIHNpbmtwYWQgc3RyZWFtIGxvY2sKCSAgT3RoZXJ3aXNlIHdlIGdldCBhIHJhY2Ugd2hlcmUgaWYgdGhlIFJUQ1AgcGFja2V0IGNvbWVzIGluIGZpcnN0IGFuZCB3aGlsZQoJICBpdCBpcyBhZGRlZCB0aGUgcGFkcywgdGhlIHNlZ21lbnQgZXZlbnQgYXJyaXZlcyBvbiB0aGUgUlRQIHN0cmVhbSwgdGhlIGV2ZW50CgkgIG1heSBiZSBsb3N0IGNvbXBsZXRlbHkgYW5kIG5ldmVyIGZvcndhcmRlZC4KCjIwMTMtMDQtMDIgMjM6MzU6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBObyBuZWVkIHRvIGV4cGxpY2l0ZWx5IGZvcndhcmQgdGhlIGNhcHMKCSAgVGhleSBhcmUgZm9yd2FyZGVkIHdpdGggdGhlIG90aGVyIGV2ZW50cwoKMjAxMy0wNC0wMiAyMjoyOTozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgcnRwc3NyY2RlbXV4OiBSZW1vdmUgdW51c2VkIEdzdFNlZ21lbnQKCjIwMTMtMDQtMDIgMjI6MjY6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBTaW1wbGlmeSBldmVudCBmb3J3YXJkaW5nCgkgIFVzZSB0aGUgZ3N0X3BhZF9mb3J3YXJkKCkgbWVjaGFuaWMsIHRoaXMgd2F5IHdlIHdvbid0IG1pc3MgcGFkcyB0aGF0IGFyZQoJICBhZGRlZCB3aGlsZSB3ZSBhcmUgcHVzaGluZwoKMjAxMy0wNC0wMiAyMTo1MzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IERvbid0IGNyb3NzIHRoZSBpbnRlcm5hbCBsaW5rcwoJICBXZSBoYWQgdGhlIHdyb25nIGNvbmRpdGlvbiB0byBjaGVjayBmb3IgdGhlIGludGVybmFsIGxpbmtzLCBzbyBSVFAgYW5kIFJUQ1AKCSAgcGFkcyBnb3QgY3Jvc3NlZCEKCjIwMTMtMDMtMzEgMTc6NTQ6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTMtMDQtMDIgMjM6MzY6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmcgaW4gZGVidWcgbWVzc2FnZQoKMjAxMi0wOC0yOSAxNzoyNDowMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgVHJ1ZUhEIGF1ZGlvIGNvZGVjIGlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcxMTMKCjIwMTMtMDMtMzEgMTk6MTQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHRoZW9yYXBheTogYWRkIGRlbHRhLXVuaXQgdG8gb3V0cHV0IGZyYW1lcwoKMjAxMy0wMy0yMyAwNToyMjoyMyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSB0aW1lc3RhbXAgZGVsdGEgYXMgZHVyYXRpb24gaWYgcG9zc2libGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjQzNwoKMjAxMy0wMy0zMCAwOTo0NDo0MSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHA6IGZpeGVzIGRlYnVnIG1lc3NhZ2UgcHJpbnRmIHJlbGF0ZWQgY29tcGlsZXIgd2FybmluZ3MgaW4gU0JDIGRlcGF5bG9hZGVyCgoyMDEzLTAzLTI4IDE2OjQ2OjM2ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5oOgoJICBydHA6IEFkZCBhbiBydHBzYmNkZXBheSBlbGVtZW50CgkgIFByZXR0eSBzdHJhaWdodGZvcndhcmQgLSB0YWtlcyBTQkMgZW5jYXBzdWxhdGVkIGluIFJUUCwgZGVwYXlsb2FkcywgYW5kCgkgIHB1c2hlcyBvdXQgU0JDIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDMtMjcgMjI6MTg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHA6IGZpeCBTQkMgcGF5bG9hZGVyCgkgIEluaXQgUlRQIGJ1ZmZlciBvbiBzdGFjayBjb3JyZWN0bHksIHNvIG1hcHBpbmcgaXQgd29ya3MKCSAgd2l0aG91dCBjcml0aWNhbHMgYW5kIHRoZSBwYXlsb2FkZXIgYWN0dWFsbHkgd29ya3MuCgoyMDEzLTAzLTI2IDE0OjQ0OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBDaGVjayBmb3IgYSBzdWJzZXQgaW5zdGVhZCBvZiBub24tZW1wdHkgaW50ZXJzZWN0aW9uIGluIGFjY2VwdC1jYXBzCgoyMDEzLTAzLTI2IDE0OjM5OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBQcm9wZXJseSBoYW5kbGUgdGhlIGZpbHRlciBjYXBzIGluIGdldF9jYXBzKCkKCjIwMTMtMDMtMjYgMTQ6MzU6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IERvbid0IHVubmVjZXNzYXJpbHkgZ2V0IHRoZSBwYXJlbnQgY2xhc3MgaW4gY2xhc3NfaW5pdAoJICBUaGUgdHJhbXBvbGluZSBnZW5lcmF0ZWQgYnkgR19ERUZJTkVfVFlQRSBkb2VzIHRoYXQgYWxyZWFkeS4KCjIwMTMtMDMtMjUgMTg6MDI6MTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIFVzZSAlMDN1IGZvciBmb3JtYXQgaW4gZ3N0X3BhZF9jcmVhdGVfc3RyZWFtX2lkX3ByaW50ZigpCgoyMDEzLTAzLTI1IDEwOjEyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogUHJldmVudCB1bm5lZWRlZCBjYXBzIGNvcHlpbmcgYW5kIGFsbG9jYXRpb24KCjIwMTMtMDItMDEgMTQ6MzM6NDEgKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBQYXNzIGFueSBvciBmaWx0ZXIgY2FwcyB1cHN0cmVhbQoJICBjYXBzZXR0ZXIgYWNjZXB0cyBhbnl0aGluZyBhbmQganVzdCBmb3J3YXJkcyBkaWZmZXJlbnQgY2FwcywKCSAgYXMgc3VjaCBpdCBzaG91bGQgcmV0dXJuIEFOWSBjYXBzIG9uIHRoZSBzaW5rcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMDA1CgoyMDEzLTAzLTA2IDEzOjE3OjU0ICswMDAwICBUb20gR3JlZW53b29kIDx0Z3JlZW53b29kQFRvbXMtTWFjQm9vay1Qcm8ubG9jYWw+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBmb3IgZGl2aWRlIGJ5IHplcm8gd2hlbiB1c2luZyAwLzEgZnJhbWVyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU3MDkKCjIwMTMtMDMtMjQgMTc6NTU6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGV4cG9zZSBDVUUgc2hlZXQgaXRlbXMgYXMgdHJhY2tzIG5vdCBjaGFwdGVyIGVudHJpZXMgaW4gVE9DCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzczMDYKCjIwMTMtMDMtMjMgMTM6MTE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFkZCBtb3JlIGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEzLTAzLTIzIDEyOjU5OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBhZGQgc29tZSBleGFtcGxlIHBpcGVsaW5lcwoKMjAxMy0wMy0yMCAyMTozODo0MCArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBhZGQgVE9DIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDk5OAoKMjAxMy0wMy0yMyAwNDo1NjozNiArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYWtlIGVtcHR5IHN1YnRpdGxlIGJ1ZmZlciByZWNvZ25pdGlvbiBtb3JlIHJvYnVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjQ0CgoyMDEzLTAzLTA0IDE1OjQ5OjA2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogdW5tYXAgc291cmNlIGZyYW1lIHdoZW4gZG9uZQoKMjAxMy0wMy0yMiAxNToxNDoxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggdGVzdCByZWdyZXNzaW9uIHdpdGggb25lIGJ1ZmZlciBzdHJlYW1zCgoyMDEzLTAzLTA1IDE3OjAwOjE3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzcGxpdCBsYXJnZSByYXcgYXVkaW8gc2FtcGxlcwoJICBJbiBvcmRlciB0byBkZWFsIHdpdGggYSBmaWxlIHRoYXQgaGFzIHNhbXBsZXMgdGhhdCBhcmUgMjQgc2Vjb25kcwoJICBsb25nLiAgU2Vla2luZyBzdGlsbCBkb2Vzbid0IHdvcmsgd2l0aCBzdWNoIGZpbGVzLgoKMjAxMy0wMy0yMiAxMTo1NDowOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZW1vdmUgZG9jdW1lbnRhdGlvbiBmb3IgZHRzLW1ldGhvZAoKMjAxMy0wMy0yMiAxMzoyNDozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGRlcHJlY2F0ZSBkdHMtbWV0aG9kIHByb3BlcnR5CgoyMDEzLTAzLTEzIDE3OjA4OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBwcm9ibGVtcyBjYXVzaW5nIGJhZCBkdXJhdGlvbnMgaW4gZmlsZQoJICAtIEZpeCB1cCBvdXQtb2Ytb3JkZXIgaW5jb21pbmcgRFRTIHZhbHVlcy4KCSAgLSBGaXggZHVyYXRpb24gb2YgaW5pdGlhbCBzYW1wbGUuCgoyMDEzLTAzLTEyIDE5OjA4OjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBhbGwgdGltZXN0YW1wcyBvbmNlIGZpcnN0X3RzIGlzIGRldGVybWluZWQKCjIwMTMtMDItMTQgMTY6MzQ6MzQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBVc2UgUFRTL0RUUyBmcm9tIGluY29taW5nIGJ1ZmZlcnMKCSAgUmVtb3ZlIG9sZCBEVFMgZ3Vlc3NpbmcgY29kZS4KCjIwMTMtMDMtMTggMTI6MzA6NTAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogZXhwb3NlIG11bGF3IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjA1MgoKMjAxMy0wMy0yMiAxMDo1MDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgT3JjID49IDAuNC4xNwoJICBPcmMgMC40LjE3IGZpeGVzIGEgYnVuY2ggY3Jhc2hlcyBvbiBpMzg2IGFuZCBSUGkgd2hlbiBvcmMKCSAgZnVuY3Rpb25zIGNhbid0IGJlIGNvbXBpbGVkIGFuZCB0aGUgZmFsbGJhY2sgZnVuY3Rpb24gaXMKCSAgc3VwcG9zZWQgdG8gYmUgdXNlZC4gQWxzbyBmaXhlcyBzb21lIGlzc3VlcyBvbiBQb3dlclBDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0Mzk5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM4NjIKCjIwMTMtMDMtMjIgMDg6NDc6MTcgKzAwMDAgIFJvZG9sZm8gU2NodWx6IGRlIExpbWEgPHJvZG9sZm9Acm9kc29mdC5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHNhbXBsZSBsZWFrIHdoZW4gcHJvY2Vzc2luZyBwcml2YXRlIHF0IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM1NQoKMjAxMy0wMy0yMiAwMjoyNDowMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBzdHJlYW0gbGFuZ3VhZ2UgY29kZSBmcm9tIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzU4CgoyMDEzLTAzLTIxIDAyOjU1OjA2ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNlbmQgR0FQIGV2ZW50cyBmb3Igc3VidGl0bGUgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjQ0CgoyMDEzLTAzLTIxIDAyOjUzOjI0ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGlnbm9yZSBlbXB0eSBzdWJ0aXRsZSBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMjEgMDI6NTI6MDcgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiByZWNvZ25pemUgU0JUTCBzdWJ0eXBlIGZvciBzdWJ0aXRsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI0NAoKMjAxMy0wMy0xNyAxNjoyNzowMyArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgdGhlIHRvYy1zZWxlY3QgZXZlbnQKCSAgU2VsZWN0IHRyYWNrcyBmcm9tIHRoZSBDVUUgc2hlZXQgYnkgc2VuZGluZyBhIHRvYy1zZWxlY3QKCSAgZXZlbnQgYmFzZWQgb24gdGhlIHVpZCBpbiB0aGUgVE9DLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwODkxCgoyMDEzLTAzLTE5IDE4OjA5OjMxIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIG1wNG11eDogaW4gZmFzdHN0YXJ0IG1vZGUsIGRvbid0IG91dHB1dCB1cCB0byA0IGtCIG9mIGdhcmJhZ2UgYXQgdGhlIGVuZC4KCjIwMTMtMDMtMjAgMDA6MzU6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIHNiY3BhcnNlOiBwYWNrIG11bHRpcGxlIGZyYW1lcyBpbnRvIG9uZSBvdXRwdXQgYnVmZmVyCgkgIERvbid0IG91dHB1dCBhIHNpbmdsZSBidWZmZXIgZm9yIGV2ZXJ5IHRpbnkgU0JDIGZyYW1lCgoyMDEzLTAzLTE4IDE0OjU5OjM1ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG5ld2VyIGtlcm5lbCBoZWFkZXJzIGFzIG9uIEZDMTkKCjIwMTMtMDMtMTQgMTQ6MTI6MDUgKzAxMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggaW5maW5pdGUgbG9vcCBvbiBFT1Mgd2l0aCBub24tZGVmYXVsdCBtZXRob2RzIG9yIGZpZWxkcwoJICBGaXhlcyBwcm9ibGVtIG9mIGluZmluaXRlIGxvb3AgaW4gZ3N0X2RlaW50ZXJsYWNlX3Jlc2V0X2hpc3RvcnkuCgkgIExhc3QgZmllbGQgaW4gdGhlIGhpc3Rvcnkgd2FzIG5ldmVyIGRlaW50ZXJsYWNlZCBiZWNhdXNlIGlkeCBiZWNvbWVzIG5lZ2F0aXZlLgoJICBIYXBwZW5zIGUuZy4gd2l0aCBtZXRob2Q9c2NhbGVyYm9iIGZpZWxkcz1ib3R0b20gb3IKCSAgbWV0aG9kPWdyZWVkeWwgZmllbGRzPXRvcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NjQ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMxNzMKCjIwMTMtMDMtMTIgMDk6NDg6MzEgKzAwMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogZG9uJ3QgcmV0dXJuIEZBTFNFIHdoZW4gZHJvcHBpbmcgc2luayBldmVudHMKCSAgRml4ZXMgcHJvYmxlbSBpbiBjb25qdW5jdGlvbiB3aXRoIGF2aWRlbXV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NjQzCgoyMDEzLTAzLTEyIDAwOjE2OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBjaGFuZ2UgcmF3IHZpZGVvIGNhcHMgb3JkZXIgc28gdGhhdCBHUkFZOCBpcyBsYXN0CgkgIFBlb3BsZSBsaWtlIGNvbG91cnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU1NDMKCjIwMTMtMDMtMTEgMTQ6NTA6NDEgKzAxMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRG9uJ3QgdXNlIHVwc3RyZWFtIGNhcHMgd2l0aCBwZWVyX3F1ZXJ5X2NhcHMgKCkKCSAgQ2FsbGluZyBnc3RfcGFkX3BlZXJfcXVlcnlfY2FwcyAoKSBvbiB0aGUgc3JjIHBhZCB3aXRoIHRoZSBjYXBzCgkgIHVwc3RyZWFtIGNhbiBwcm9kdWNlIGFzIGEgZmlsdGVyIGZyb20gZ3N0X3J0cF9oMjY0X3BheV9nZXRjYXBzICgpCgkgIGlzIHdyb25nIGFuZCBtYWtlcyBjYXBzIG5lZ290aWF0aW9uIGZhaWwgaWYgdXBzdHJlYW0gY2FwcyBhcmUgbm90CgkgIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2MjkKCjIwMTMtMDMtMTAgMDk6MTA6MTggKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzdXBwb3J0IHJhdyBCR1IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTU0MwoKMjAxMy0wMy0xMCAwOToyNTozNCArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdXBwb3J0IHJhdyB2aWRlbyB3aXRoIG5lZ2F0aXZlIGhlaWdodAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NTQxCgoyMDEzLTAzLTA1IDE0OjQwOjU2ICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdCBjaGVja3Rlc3Q6IERvIG5vdCBmYWlsIHdpdGhvdXQgdmlkZW9zaW5rCgkgIElmIHRoZXJlIGlzIG5vIHZpZGVvc2luayBhdmFpbGFibGUgYXV0b3ZpZGVvc2luayB3aWxsIGNvbnRhaW4gYQoJICBmYWtlc2luayBpbnN0ZWFkIHdoaWNoIG5lZWRzIHNwZWNpYWwgdHJlYXRtZW50IGluIHRoZSB1bml0IHRlc3QuCgoyMDEzLTAzLTA5IDAxOjE4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGR0bWY6IG1vdmUgZHRtZiBwbHVnaW4gZnJvbSAtYmFkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0MTYKCjIwMTMtMDMtMDkgMDA6MzA6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNZXJnZSBicmFuY2ggJ2R0bWYtbW92ZWQtZnJvbS1iYWQnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0MTYKCjIwMTMtMDMtMDUgMjE6MjI6MTggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBhZGQgc3VwcG9ydCBmb3IgaU9TIHVzaW5nIHRoZSBSZW1vdGVJTyBBdWRpb1VuaXQKCjIwMTMtMDMtMDUgMjE6MTc6NTIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpbzogYWRkIGEgZmHDp2FkZSBmb3IgdGhlIENvcmVBdWRpbyBBUEkKCjIwMTMtMDMtMDcgMDA6MDA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDJkZTIyMWMgdG8gMDRjN2ExZQoKMjAxMy0wMy0wMyAxMTo1OTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbHpvLmM6CgkgIG1hdHJvc2thOiBJbmNsdWRlIGNvbmZpZy5oLCBpdCdzIG5lZWRlZCBmb3IgX3N0ZGludC5oCgoyMDEzLTAzLTAzIDExOjUzOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4ICh3cm9uZykgdXNlIG9mIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMy0wMy0wMiAxMzo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgdmFyaWFudCBmaWVsZCB0byBILjI2MyBjYXBzCgkgIGF2ZGVjX2gyNjMgd29uJ3QgZ2V0IHBsdWdnZWQgb3RoZXJ3aXNlLgoKMjAxMy0wMi0yMiAxOTowNjo1MiArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2tpcCBkaXNhYmxlZCB0cmFja3MKCSAgSVNPL0lFQyAxNDQ5Ni0xMiBzcGVjaWZpZXMgZGlzYWJsZWQgdHJhY2tzIHNob3VsZCBiZSBjb21wbGV0ZWx5CgkgIGlnbm9yZWQsIHNvIGp1c3QgZG8gaXQuCgkgIEF2b2lkcyBkZWFkbG9jayBkdXJpbmcgcHJlcm9sbGluZyBmb3Igc29tZSBmaWxlcy4KCSAgQWxzbyBwcmV2ZW50cyAnY2hhcHRlcicgc3VidGl0bGUgdHJhY2tzIGZyb20gc2hvd2luZyB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mzk5MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4NzkwCgoyMDEzLTAyLTI1IDA5OjU4OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IHJlLWFkZCBzdXBwcmVzc2lvbiBmb3IgR1ZhbHVlQXJyYXkgd2FybmluZ3MgdG8gdW5pdCB0ZXN0IGFzIHdlbGwKCjIwMTMtMDItMjggMTM6MjU6MDYgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogdXNlIHJlbGF0aXZlIGluY2x1ZGUgZm9yIG91dC1vZi10cmVlIGJ1aWxkcyBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjggMDg6NDY6NTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHJlbW92ZSB0aGUgc2luY2UgZG9jLWNvbW1lbnQgZnJvbSAwLjEwCgoyMDEzLTAyLTI4IDA4OjQ0OjE4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIGxldmVsOiBhZGQgYSAicG9zdC1tZXNzYWdlcyIgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSAibWVzc2FnZSIKCSAgSW4gc3BlY3RydW0gdGhpcyB3YXMgY2hhbmdlZCBmcm9tIDAuMTAgdG8gMS4wLCBsZXRzIGRvIHRoaXMgaGVyZSB0b28uCgoyMDEzLTAyLTI3IDE4OjU2OjUwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogQWRkIHRlc3RzIGZvciBkdG1mc3JjCgoyMDEzLTAyLTI3IDE2OjE1OjI3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogRml4IHJlZiBsZWFrIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yNiAxNDoxODoyMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogc3RyZWFtdHlwZSBpcyBub3QgcHV0IGJ5IGFsbCBSVFNQIHNlcnZlciwgbm90IG1ha2UgaXQgb3B0aW9uYWwKCSAgU3BlY2lmaWMgY2FzZSBoZXJlIGlzIFdvd3phIDMuNS4wCgoyMDEzLTAyLTI1IDAwOjM1OjU4ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBwdXQgYmFjayBkZXByZWNhdGlvbiB3YXJuaW5ncwoKMjAxMy0wMi0yNCAxNzowMDoxNCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogc2VuZCBsYXN0IG1lc3NhZ2Ugb24gRU9TCgoyMDEzLTAyLTIzIDE0OjM0OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU6IGhhbmRsZSBzb21lIG1vcmUgMC1zaXplIGJ1ZmZlciBjYXNlcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTQ0CgoyMDEzLTAyLTIzIDE4OjUwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHVwIGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcwoKMjAxMi0xMS0yMCAxMjoxNDowNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVXBkYXRlIHNlZ2RvbmUgcGVyaW9kaWNhbGx5CgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIHVwZGF0ZSBzZWdkb25lIGJhc2VkIG9uIHRoZSByZWFkIGluZGV4IHJlY2VpdmVkCgkgIGR1cmluZyBsYXRlbmN5IHVwZGF0ZXMuIEFzIHRoZSBjb21tZW50IG5vdGVzLCB3ZSBtYWtlIHNvbWUgY29tcHJvbWlzZXMKCSAgdG8gZGVhbCB3aXRoIHRoZSBmYWN0IHRoYXQgc2VnZG9uZSBpcyBhIHNlZ21lbnQgbXVsdGlwbGUsIHdoaWxlIHRoZSByZWFkCgkgIGluZGV4IG9mZmVycyBmaW5lciBncmFudWxhcml0eS4gVGhlIHVwZGF0ZXMgYXJlIGFsc28gbm90IHZlcnkgb2Z0ZW4KCSAgKDEwMG1zIHNpbmNlIHRoYXQgaXMgaG93IG9mdGVuIGF1dG9tYXRpYyB0aW1pbmcgdXBkYXRlcyBhcmUgcHJvdmlkZWQpLgoJICBBbGwgdGhpcyBpcyByZXF1aXJlZCBmb3IgdGhlIGJhc2VhdWRpb3Npbmsgc2FtcGxlIGFsaWdubWVudCBjb2RlIHRvIHdvcmsKCSAgYXQgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MjU3CgoyMDEzLTAyLTEzIDEwOjQ2OjU0ICswMTAwICBQYXVsIEhFTlJZUyA8dmlzZWNoZWxsZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCB3cm9uZyBjb2RlIG9yZ2FuaXNhdGlvbiBpbiBjYXNlIG9mIGNvbGxpc2lvbgoJICBjaGFuZ2Vfc3NyYyBmaWVsZCBvZiBSVFBTZXNzaW9uIHNob3VsZCBiZSBzZXQgYmVmb3JlIGNhbGxpbmcKCSAgcnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllX2xvY2tlZCAoKSBhcyB0aGlzIGZ1bmN0aW9uIHdpbGwgY2FsbCByZWNvbnNpZGVyIGZ1bmN0aW9uCgkgIHRoYXQgd2lsbCB3YWtlIHVwIHJ0Y3BfdGhyZWFkIHdoaWNoIHdpbGwgY2FsbCBydHBfc2Vzc2lvbl9vbl90aW1lb3V0ICgpIHRoYXQgd2lsbAoJICBjaGVjayBjaGFuZ2Vfc3NyYyB0byBjaGFuZ2UgdGhlIHNzcmMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQxODQKCjIwMTMtMDItMjEgMTE6MTU6MjMgLTA1MDAgIEplYW4tRnJhbsOnb2lzIEZvcnRpbiBUYW0gPG5la29oYXlvQGdtYWlsLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogaW1wcm92ZSBkZXNjcmlwdGlvbnMgb2YgY2hyb21hIGtleWluZy1yZWxhdGVkIHByb3BlcnRpZXMgYW5kIGVudW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQzNzQKCjIwMTMtMDItMjEgMTU6MDE6MTUgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IERvIG5vdCBvdmVycmlkZSB0aGUgbWV0aG9kIHdpdGggY3VzdG9tIHIvZy9iIHZhbHVlcwoJICBEZXBlbmRpbmcgb24gdGhlIG9yZGVyIGdfb2JqZWN0X3NldCgpIGNhbGxzIGFhcmUgbWFkZSwgdGhlCgkgIHRhcmdldCByL2cvYiBzZXR0aW5ncyB3aWxsIG92ZXJyaWRlIHRoZSBtZXRob2QgaWYgc2V0IHRvCgkgIGdyZWVuL2JsdWUuIENoYW5nZSB0aGF0IHNvIHdlIGRvIG5vdCB1c2UgdGhlIHRhcmdldC1yL2cvYiB2YWx1ZXMKCSAgdW5sZXNzIHRoZSBtZXRob2QgaXMgc2V0IHRvIGN1c3RvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDM3NAoKMjAxMy0wMi0yMCAxNTo0Njo0MyArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogZG8gbm90IGxlYWsgc3JjX2NhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDI3NQoKMjAxMy0wMi0yMCAyMTowMzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogb25seSBkZWxheSBSVENQIHdoZW4gd2UgYXJlIGEgc2VuZGVyCgkgIE9ubHkgZGVsYXkgdGhlIFJUQ1AgdGhyZWFkIHdoZW4gd2UgYXJlIGEgc2VuZGVyLCB3aGljaCB3ZSBjYW4ga25vdyBiZWNhdXNlIHdlCgkgIGhhdmUgYSBzZW5kX3J0cF9zcmMgcGFkLiBPdGhlcndpc2Ugd2UgbWlnaHQgZGVsYXkgdGhlIFJUQ1AgdGhyZWFkIGlmIHdlCgkgIGFyZSBvbmx5IGEgcmVjZWl2ZXIgYW5kIHRoZW4gdGhlcmUgaXMgbm8gY29kZSBwYXRoIHRoYXQgd2FrZXMgdXAgdGhlCgkgIFJUQ1AgdGhyZWFkIGFuZCB3ZSBlbmQgdXAgd2l0aG91dCBSVENQIHBhY2tldHMuCgoyMDEzLTAyLTE5IDExOjQ3OjIwICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IEFkZCBzdXBwb3J0IG9mIGRtYWJ1ZgoJICB2NGwgaGFzIGFkZCBhIG5ldyBJT0NUTCB0byBleHBvcnQgYSBidWZmZXIgYnkgdXNpbmcgZG1hYnVmLgoJICBUaGlzIHBhdGNoIGFsbG93IHRvIHVzZSB0aGlzIG5ldyBJT1RDTCBpZiBpdCBoYXMgYmVlbiBkZWZpbmVkIGluIHZpZGVvZGV2Mi5oCgkgIEkgaW50cm9kdWNlIGEgbmV3IElPIG1vZGUgKEdTVF9WNEwyX0lPX0RNQUJVRikgdG8gZW5hYmxlIHRoaXMgd2F5IG9mIHdvcmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM4MjYKCjIwMTMtMDItMTggMjA6MDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB1cCBkb2RneSBjb2RlIHRoYXQgdHJpZXMgdG8gZml4IHVwIGEgYnJva2VuIG1vb3YgYXRvbQoJICBBZnRlciBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSBnc3RfYnVmZmVyX2NvcHlfaW50bygpIHdpbGwgbGlrZWx5CgkgIGFwcGVuZCB0byB0aGUgYWxyZWFkeS1leGlzdGluZyBtZW1vcnkgaW5zdGVhZCBvZiBmaWxsaW5nIGl0LgoKMjAxMy0wMi0xOCAxNjozMjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHBvdGVudGlhbCBjcmFzaCBvbiBzaG9ydCBNT09WIGF0b20KCSAgRG9uJ3QgdW5tYXAgc2hvcnQgTU9PViBhdG9tIGJ1ZmZlciB0d2ljZSwgd2hpY2ggaGFwcGVuZWQKCSAgaW4gdGhlIGNhc2Ugd2hlcmUgd2UgZG9uJ3QgZml4IHVwIHRoZSBNT09WIGF0b20uCgkgIEZpeGVzIGNyYXNoZXMgd2hlbiB0aHVtYm5haWxpbmcgcGFydGlhbCBtcDQgZmlsZSB3aGVyZQoJICB0aGUgTU9PViBhdG9tIGlzIHN0aWxsIGluY29tcGxldGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQwMTAKCjIwMTMtMDItMTYgMTY6NDk6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgc291cGh0dHBzcmM6IHNldCBTT1VQX1ZFUlNJT05fe01JTl9SRVFVSVJFRCxNQVhfQUxMT1dFRH0gdG8gc3VwcHJlc3MgZGVwcmVjYXRpb25zIHdpdGggbmV3ZXIgdmVyc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMQoKMjAxMy0wMi0xNiAxNTo0NzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogdXNlIGRlZmF1bHQgcHJveHkgcmVzb2x2ZXIgaW5zdGVhZCBvZiBkZXByZWNhdGVkIEdOT01FIHByb3h5IHJlc29sdmVyCgkgIEFwcGFyZW50bHkgdGhlcmUncyBubyByZWFzb24gdG8gdXNlIGl0IGFueSBsb25nZXIuIERyb3AgbGlic291cC1nbm9tZQoJICBkZXBlbmRlbmN5IHdoaWxlIGF0IGl0LCBub3cgdGhhdCB3ZSBkb24ndCBuZWVkIGFueXRoaW5nIGZyb20gaXQgYW55CgkgIG1vcmUgKGl0IG9ubHkgY29uc2lzdHMgZW50aXJlbHkgb2YgZGVwcmVjYXRlZCBBUEkgbm93IGFueXdheXMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExCgoyMDEzLTAyLTE1IDE1OjQzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGgyNjQgY2FwcwoJICBEb2Vzbid0IGZpeCBhbnl0aGluZyBpbiBwYXJ0aWN1bGFyLCBidXQgaXMKCSAgc3RpbGwgbmVlZGVkIGhlcmUgZm9yIGNvcnJlY3RuZXNzLgoKMjAxMy0wMi0xNSAwODoxOToyNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogcmVtb3ZlIGNoYW5uZWwtbWFzayBmcm9tIGNhcHMKCSAgVGhlIGNoYW5uZWwtbWFzayBpcyBvbmx5IG5lZWRlZCBmb3IgY2hhbm5lbHM+MiB3aGljaCB3ZSBkb24ndCBkby4KCjIwMTMtMDItMTUgMTY6MjE6MjEgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGRvbid0IGNoZWNrIHN0cmlkZSBmb3IgZW5jb2RlZCBmb3JtYXRzCgkgIERvbid0IHRyeSB0byBjaGVjayB0aGUgc3RyaWRlIGZvciBlbmNvZGVkIGZvcm1hdHMuIFNvbWUgZHJpdmVycyBvdXRwdXQKCSAgc29tZXRoaW5nICE9IDAgYW5kIHRoZW4gd2UgZG9uJ3Qgd2FudCB0byBmYWlsIG9uIHRoYXQuCgoyMDEzLTAyLTE1IDE0OjExOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogdXNlIGdfc29ja2V0X3NldF9vcHRpb24oKSB0byBzZXQgYnVmZmVyIHNpemUgd2l0aCBuZXdlciBHTGliIHZlcnNpb25zCgkgIFNvIHdlIGhhdmUgdG8gd29ycnkgbGVzcyBhYm91dCBwb3J0YWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQwMAoKMjAxMy0wMi0xNCAxNDoxMzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHJlbW92ZSBzb2YtbWFya2VyIGZyb20gdGVtcGxhdGUgY2FwcyBmb3Igbm93CgkgIE5vdyB0aGF0IHRoZSBzdWJzZXQgY2hlY2sgYWN0dWFsbHkgd29ya3MsIHRoaXMgYnJlYWtzCgkgIHRoaW5ncyB3aXRoIGRlbXV4ZXJzIHRoYXQgZG9uJ3QgcHV0IGEgInNvZi1tYXJrZXIiCgkgIGluIHRoZWlyIGpwZWcgY2FwcywgYW5kIHdlIGRvbid0IGhhdmUgYSBnb29kIHBhcnNlcgoJICB0byBwbHVnIGVpdGhlciB5ZXQuCgoyMDEzLTAyLTEzIDEyOjMyOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBQdXQgdGhlIFNPRiBtYXJrZXIgaW50byB0aGUgY2FwcwoKMjAxMy0wMi0xMyAxMjowMjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cC1wYXlsb2FkaW5nOiBGaXggdW5pdCB0ZXN0IGNhcHMgYW5kIEFNUiBkZXBheWxvYWRlciBzaW5rIHRlbXBsYXRlIGNhcHMKCSAgRmllbGRzIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBhY3R1YWwgY2Fwcywgb3IgdG9vIG1hbnkgZmllbGRzCgkgIGV4aXN0ZWQgaW4gdGhlIHRlbXBsYXRlIGNhcHMuCgoyMDEzLTAyLTEzIDExOjUzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggY2FwcyB1c2VkIGluIHRoZSB1bml0IHRlc3QKCSAgVGhlIEFBQyBjYXBzIHBhc3NlZCB3ZXJlIGluY29tcGxldGUuCgoyMDEzLTAyLTEzIDExOjQ5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2s6IEZpeCB1bml0IHRlc3RzLCB3aWR0aCBpcyBub3cgY2FsbGVkIGRlcHRoIGluIHRoZSBjYXBzIGluIDEuMAoKMjAxMy0wMi0xMiAyMzozMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBtYWtlIHNvdXBodHRwc3JjIHVuaXQgdGVzdCB3b3JrIGV2ZW4gaWYgaHR0cF9wcm94eSBpcyBzZXQKCSAgV2UncmUgdGVzdGluZyB3aXRoIGFuIGh0dHAgc2VydmVyIG9uIGxvY2FsaG9zdCwgYnV0IGRvbid0IHN1cHBvcnQKCSAgYW4gZXhjZXB0aW9uIGxpc3QgZm9yIHRoZSBodHRwX3Byb3h5LCBzbyBqdXN0IHVuc2V0IHRoZSBlbnZpcm9ubWVudAoJICB2YXJpYWJsZSB0byBtYWtlIHN1cmUgd2UgY2FuIHJ1biB0aGlzIHRlc3QgcHJvcGVybHkgZXZlbiBpZiB0aGUKCSAgZW52aXJvbm1lbnQgaGFzIGh0dHBfcHJveHkgc2V0LgoJICBBbHNvLCBkb24ndCBza2lwIGFsbCB0ZXN0cyBpZiB0aGVyZSBpcyBhbiBpc3N1ZSB3aXRoIHRoZSBTU0wgc2VydmVyLAoJICBqdXN0IHJ1biB0aGUgbm9uLVNTTCB0ZXN0cyB0aGVuLgoJICBodHRwczovL2plbmtpbnMucWEudWJ1bnR1LmNvbS92aWV3L1JhcmluZy92aWV3L0pIQnVpbGQlMjBHbm9tZS9qb2IvamhidWlsZC1hbWQ2NC1nc3QtcGx1Z2lucy1nb29kLwoKMjAxMy0wMi0xMiAxMjo1Mzo1MiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgY29kZWNfZGF0YSBmb3IgUHJvUmVzCgoyMDEzLTAyLTA4IDAxOjAyOjEwICsxMTAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxtaXRocm9AbWl0aGlzLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogRml4aW5nIGJ1ZmZlciBsZWFrIGluIGdzdF9hdmlfbXV4X2RvX2J1ZmZlcgoJICBnc3RfYXZpX211eF9kb19idWZmZXIgd2FzIGxlYWtpbmcgZGF0YSBmcm9tIGdzdF9jb2xsZWN0X3BhZHNfcG9wLgoKMjAxMy0wMi0xMCAxNToxMDozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY29ycmVjdCBkdXJhdGlvbiBmb3IgYXVkaW8gVkJSIGJ1ZmZlcnMgaW4gcHVsbCBtb2RlCgoyMDEzLTAyLTA4IDIxOjI4OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwcm9wZXIgcG9zaXRpb24gcmVwb3J0aW5nIGFuZCBwdXNoIG1vZGUgdGltZXN0YW1waW5nCgkgIC4uLiBhbmQgYWxpZ24gY3VycmVudF90b3RhbCBzZW1hbnRpY3MgaW4gcHVzaCBhbmQgcHVsbCBtb2RlLAoJICB3aGljaCB0cmFja3MgYnl0ZXMgZm9yIENCUiBhbmQgYmxvY2tzIGZvciBWQlIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE0ODEKCjIwMTMtMDItMDggMTc6MDU6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRlbGF5IFJUQ1AgdW50aWwgZmlyc3QgUlRQIHBhY2tldAoJICBEZWxheSBzZW5kaW5nIHRoZSBmaXJzdCBSVENQIHBhY2tldCB1bnRpbCB3ZSBoYXZlIHNlbnQgdGhlIGZpcnN0IFJUUCBwYWNrZXQuCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHNlbmQgb3V0IGEgUmVjZWl2ZXIgUmVwb3J0IGluc3RlYWQgb2YgYSBzZW5kZXIgcmVwb3J0LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTQwMAoKMjAxMy0wMi0wNyAxNTowNjo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIGRlYWQgY29kZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MzU1CgoyMDEzLTAxLTI5IDEwOjQ4OjE3ICswMTAwICBQYXVsIEhFTlJZUyA8dmlzZWNoZWxsZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IGZvcndhcmQgc3RpY2t5IGV2ZW50cyBhbmQgdGhlbiBzZXQgY2FwcwoJICBXaGVuIGEgbmV3IHNyYyBwYWQgaXMgYWRkZWQsIGZpcnN0IGZvcndhcmQgdGhlIHN0aWNreSBldmVudHMgYW5kIHRoZW4KCSAgc2V0IHRoZSBjYXBzIG9uIHRoZSBzcmMgcGFkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI3ODYKCjIwMTMtMDItMDcgMTQ6MzI6MjYgKzAxMDAgIE1hcmtvdnRzZXYgVmFkaW0gPHYubWFya292dHNldiBhdCBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZGVidWcgb3V0cHV0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg5MzUKCjIwMTEtMDktMjYgMTQ6NDI6NTEgLTA3MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZXdvcmsgY2xlYW51cCBvZiBzdHJlYW1zCgkgIE1vdmUgdGhlIHdvcmsgb2YgY2xlYW5pbmcgdXAgdGhlIGNsaWVudCBzdHJlYW1zIGluIHRoZSBmcmVlX3N0cmVhbQoJICBmdW5jdGlvbi4gVGhpcyBhbGxvd3MgdXMgdG8gcHJvcGVybHkgY2xlYW4gdXAgdGhlIGNsaWVudCBzdHJlYW1zIHdoZW4gd2UKCSAgcmVtb3ZlIGFuIFJUUCBzdHJlYW0gYXMgd2VsbC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgU3VqYXkgPHNkYXRhckBjaXNjby5jb20+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAxNTYKCjIwMTMtMDItMDcgMTE6NDA6MzUgKzAxMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPGdub21lIGF0IG1pdGhpcy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogYXZvaWQgY2FwcyBsZWFrCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMDcKCjIwMTMtMDItMDYgMTc6MTU6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBkbyBza2V3IGVzdGltYXRpb24gb25seSBmb3IgbmV3IHRpbWVzdGFtcHMKCSAgT25seSBydW4gdGhlIHNrZXcgZXN0aW1hdGlvbiBjb2RlIHdoZW4gd2UgaGF2ZSBhIG5ldyBSVFAgdGltZXN0YW1wLiBJZiB3ZSBoYXZlCgkgIHRoZSBzYW1lIFJUUCB0aW1lc3RhbXAsIHdlIHNpbXBseSB1c2UgdGhlIHByZXZpb3VzIGVzdGltYXRpb24uIFRoaXMgd29ya3MKCSAgYmVjYXVzZSB0aGUgbmV3IG9ic2VydmF0aW9uIHdpdGggdGhlIHNhbWUgUlRQIHRpbWVzdGFtcCBoYXMgdG8gaGF2ZSBhIGJpZ2dlcgoJICByZWNlaXZlciB0aW1lIGFuZCBpcyB0aHVzIG5vdCBnb2luZyB0byBpbmZsdWVuY2UgdGhlIGVzdGltYXRpb24gZXhjZXB0IGZvcgoJICBjYXVzaW5nIG1vcmUgaml0dGVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDIzCgoyMDEzLTAyLTA2IDEzOjUyOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IEVPUyB3aGVuIG91ciBzb3VyY2Ugc2VuZHMgQllFCgkgIE9ubHkgRU9TIHdoZW4gd2UgcmVjZWl2ZSBhIEJZRSBldmVudCBmcm9tIHRoZSBTU1JDIG9mIG91ciBzdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0NTMKCjIwMTMtMDItMDYgMTM6NDc6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNhdmUgdGhlIHN0cmVhbSBTU1JDCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jCgoyMDEzLTAyLTA2IDEzOjE4OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmbHVzaCBjb25uZWN0aW9uIHdoZW4gc3RvcHBpbmcKCSAgV2hlbiB3ZSBzdG9wLCB3ZSBjYW4gZmx1c2ggYWxsIHBlbmRpbmcgY29tbWFuZHMgc28gdGhhdCB3ZSBjYW4gc3RvcCBhbmQKCSAgam9pbiB0aGUgdGFzay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDkyNAoKMjAxMy0wMi0wNSAyMjowMjoxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9SRUFETUU6CgkgIHNwZWN0cnVtOiByZW1vdmUgb3V0ZGF0ZXMgcmVhZG1lCgkgIExldHMgcmVtb3ZlIHRoZSByZWFkbWUgZnJvbSBwcmUtMC4xLjAgdGhhdCBpcyBjb21wbGV0ZWx5IGlycmVsZXZhbnQgbm93LgoKMjAxMy0wMi0wNSAwNzozMjoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogYWRkIG1vcmUgZGVidWcgbG9nZ2luZwoKMjAxMy0wMi0wNSAwODoyNjoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgbGV2ZWwtZXhhbXBsZS4gYXZvaWQgdGFraW5nIHRoZSBhcnJheXMgYWdhaW4gZm9yIGVhY2ggY2hhbm5lbCBmb3IgY2xhcml0eQoJICBBbHNvIGludHJvZHVjZSBzb21lIGJsYW5rIGxpbmVzIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkgYW5kIHVwZGF0ZSB0aGUgY29tbWVudHMuCgoyMDEzLTAyLTA0IDE4OjM4OjQxICswMDAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICBhdWRpb3BhcnNlcnM6IGZpeCB0eXBvIGluIG5vaW5zdF9oZWFkZXJzCgoyMDEzLTAyLTA0IDExOjA4OjIzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmdXJ0aGVyIHBvcnQgdG8gMS4wCgkgIFRyYW5zZm9ybWNhcHMgaXMgbm90IGNhbGxlZCB3aXRoIGNhcHMgY29udGFpbmluZyBzaW5nbGUgc3RydWN0dXJlcyBhbnltb3JlLiBBbHNvIGFkZCBtaXNzaW5nIGZpbHRlciBoYW5kbGluZy4gU3RpbGwgZG9lcyBub3QgbmVnb3RpYXRlIHRob3VnaC4KCjIwMTMtMDItMDMgMjI6NDU6NTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBjYXBzCgkgIFdlIGRvbid0IHR1cm4gZmxvYXQgaW50byAzMmJpdCBwY20uIExvb2tzIGxpa2UgYSB0eXBvIGZyb20gdXBkYXRpbmcgdGhlIGNhcHMuCgoyMDEzLTAyLTAzIDEzOjE0OjUwICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBBZGQgbWlzc2luZyBjb21hIGJldHdlZW4gZm9ybWF0cwoKMjAxMy0wMS0zMSAyMjo1NToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBmaXggZW9zIHRpbWVzdGFtcCBjaGVjawoJICBmaXhlcyBoYW5nIGluIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMCAhIHZpZGVvbWl4ZXIgISBmYWtlc2luawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTM1CgoyMDEzLTAxLTMxIDExOjM1OjA5ICswMTAwICBEaXJrIFZhbiBIYWVyZW5ib3JnaCA8dmhkaXJrQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkIHN1cHBvcnQgZm9yIHJhdyBtb25vY2hyb21lIDgtYml0IHZpZGVvCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzIKCjIwMTMtMDEtMTggMjE6MDg6MTIgKzA0MDAgIEFsZXhleSBDaGVybm92IDxhY2hlcm5vdkBuZW9zcGhlcmUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlb3Npbms6IE1ha2UgR3N0TmF2aWdhdGlvbiBrZXkgaW5wdXQgZXZlbnRzIGluIG9zeHZpZGVvc2luayBjb21wYXRpYmxlIHdpdGggeCh2KWltYWdlc2luayBvbmVzCgoyMDEzLTAxLTI5IDEwOjMwOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCAnLi4uaXMgdXNlZCB1bmluaXRpYWxpemVkJwoKMjAxMy0wMS0wOSAxMzoyNDo0OSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZXQgaW50ZXJsZWF2ZWQgbGF5b3V0IGNvcnJlY3RseSBmb3IgTFBDTSBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDIwOjQ1OjIxIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBMUENNIGZvdXJjYyAodW5jb21wcmVzc2VkIGF1ZGlvIGluIFF1aWNrdGltZTcpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMjA6NDI6MzUgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJpbnQgYWxsIGRlYnVnIGZvciBzb3VuZCBzYW1wbGUgZGVzY3JpcHRpb24gdjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAyMDoxNDoxNyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb3VuZCBzYW1wbGUgZGVzY3JpcHRpb24gdjIgZG9lc24ndCBvdmVycmlkZSBzYW1wbGVzX3Blcl9wYWNrZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAxOTo1Nzo1MCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXNzIHN0c2QgZGF0YSB0byBxdGRlbXV4X2F1ZGlvX2NhcHMoKQoJICBXZSB3aWxsIG5lZWQgdGhhdCBsYXRlciBmb3IgTFBDTSBmb3JtYXQgc3VwcG9ydC4gRGlzYWJsZQoJICBRRE0yIHBhcnNpbmcgb2Ygc3RzZCBkYXRhIHdoaWNoIGRlYWQgY29kZSBiZWZvcmUgYXMgd2VsbAoJICBiZWNhdXNlIGRhdGEgd2FzIGFsd2F5cyBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDE5OjU2OjQ2IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBsZW4gY2hlY2sgZm9yIHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbnMgdjEgYW5kIHYyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMjggMjI6NDI6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwbWFuYWdlcjogdXNlIEM4OS1zdHlsZSBjb21tZW50cwoKMjAxMy0wMS0yOCAxODowNjoxNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogRml4IGRvdWJsZS1kZWNsYXJlZCB2YXJpYWJsZQoKMjAxMy0wMS0yOCAxNzo1ODoyMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cDogRml4IGNvbXBpbGF0aW9uIGVycm9ycyBpbiBwcmV2aW91cyBwYXRjaGVzCgoyMDExLTA0LTI4IDIyOjU5OjI4ICswMjAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRW5zdXJlIE1UIHNhZmUgZXZlbnQgaGFuZGxpbmcgYW5kIHBsdWcgZXZlbnQgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgyNgoKMjAxMS0xMC0xNyAyMzo0NTozNyArMDIwMCAgSWRhciBUb2xsZWZzZW4gPGl0b2xsZWZzQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbXQtc2FmZSBldmVudC1wdXNoCgkgIEJ5IHRha2luZyBhIHJlZiBvZiB0aGUgc2luay1wYWQgdW5kZXIgbG9jaywgaXQgd29uJ3QgZGlzc2FwcGVhcgoJICB3aGlsZSB0aGUgcHVzaCBpcyB0YWtpbmcgcGxhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxNgoKMjAxMi0wMS0wNCAxMDoyOTo0NSArMDEwMCAgUGFzY2FsIEJ1aGxlciA8cGFidWhsZXJAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogU2FmZWx5IHB1c2ggb24gcGFkcyB0aGF0IG1pZ2h0IGJlIHJlbW92ZWQgZHVlIHRvIGEgUlRDUCBCWUUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxNQoKMjAxMy0wMS0yOCAyMDo0MjoyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTk0MjI5MyB0byAyZGUyMjFjCgoyMDEzLTAxLTI4IDExOjU0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjcGFyc2U6IGluaXQgc29tZSB2YXJpYWJsZXMgdG8gYXZvaWQgYm9ndXMgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDEtMjggMTI6NDE6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwZGVwYXk6IHJlbW92ZSBwYXlsb2FkIHR5cGUgcmVzdHJpY3Rpb25zCgkgIFJlbW92ZSB0aGUgcHQgcmVzdHJpY3Rpb25zIGZvciBhbGwgdGhlIGRlcGF5bG9hZGVycyB0aGF0IGhhdmUgYW4KCSAgZW5jb2RpbmctbmFtZS4gV2UgY2FuIHVzZSB0aGlzIHRvIGF1dG9wbHVnIGRlY29kZXJzLgoJICBSZW1vdmUgdGhlIGVuY29kaW5nLW5hbWUgZm9yIGFsbCB0aGUgcGF5bG9hZGVycyB3aXRoIGEgZml4ZWQgcGF5bG9hZAoJICB0eXBlLgoJICBXZSBub3cgZWl0aGVyIGhhdmUgYW4gZW5jb2RpbmctbmFtZSBvciBhIHB0IGluIHRoZSBzaW5rcGFkIGNhcHMgb2YKCSAgYSBkZXBheWxvYWRlci4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyOTIKCjIwMTMtMDEtMjggMTI6MjM6NDEgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgcnRwOiByZW1vdmUgcGF5bG9hZCByZXF1aXJlbWVudHMgZnJvbSBzZWxlY3RlZCBkZXBheWxvYWRlcnMKCSAgZW5jb2RpbmcgbmFtZSBpcyByZXF1aXJlZCBpbiB0aGUgY2FwcyBhbmQgaXMgYSBiZXR0ZXIgZml0IGZvciBhdXRvcGx1Z2dpbmcgdGhhbgoJICB0aGUgcHQgdmFsdWUuIEhhcmR3YXJlIG1hbnVmYWN0dXJlcnMgaGF2ZSBhIGJhZCBoYWJpdCBvZiBza2ltbWluZyB0aHJvdWdoIFJGQ3MKCSAgYW5kIGluIHRoaXMgY2FzZTsgdXNlIHVuYXNzaWduZWQgbnVtYmVycyBmb3IgZW5jb2RlcnMgaW5zdGVhZCBvZiBkeW5hbWljCgkgIG51bWJlcnMuCgkgIEluIGVzc2VuY2UsIHRoaXMgcGF0Y2ggd2lsbCBhZGQgc3VwcG9ydCBmb3IgYSBsb3Qgb2YgQm9zY2ggaGFyZHdhcmUgZW5jb2RlcnMKCSAgd2l0aG91dCBicmVha2luZyBhdXRvcGx1Z2dpbmcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyOTIKCjIwMTMtMDEtMjcgMTA6MTc6NTkgKzA1MzAgIEIuUHJhdGhpYmhhIDxib3NzbGludXhAY2RhYy5pbj4KCgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgdGVzdHM6IHVzZSBnX3RpbWVvdXRfYWRkX3NlY29uZHMgaW5zdGVhZCBvZiBnX3RpbWVvdXRfYWRkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI2MTUKCjIwMTMtMDEtMjcgMTI6NTQ6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIG1vZGU6IG9ubHkgcGFyc2UgbW9vdiAxIG9uY2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTU3MAoKMjAxMy0wMS0yNiAyMjo1ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwZHRtZnNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2R0bWZfc3JjX3ByZXBhcmVfbWVzc2FnZS5pc3JhLjEnOgoJICBnc3RydHBkdG1mc3JjLmM6NjY5OjM6IGVycm9yOiAncycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDEzLTAxLTI1IDIxOjA2OjA1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJ0cGR0bWZkZXBheTogRml4IG1pc3Npbmcgd29yayBpbiBkb2MKCjIwMTMtMDEtMjQgMjE6MDA6MDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZmRlcGF5IGFuZCBydHBkdG1mc3JjCgoyMDEzLTAxLTI1IDIwOjM5OjMzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBQb3N0IHRoZSBtZXNzYWdlcyBhZnRlciB0aGUgY2xvY2sgd2FpdAoJICBUaGlzIHdheSwgdGhlIG1lc3NhZ2VzIHdpbGwgYmUgY2xvc2VyIGluIHRpbWUgdG8gd2hlbiB0aGUgcGFja2V0cyBhcmUgc2VudCBvdXQKCjIwMTMtMDEtMjUgMjA6Mzc6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE9ubHkgc2V0IHRoZSBkdXJhdGlvbiB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQKCSAgVGhlIGR1cmF0aW9uIGRlcGVuZHMgb24gdGhlIGNsb2NrIHJhdGUsIHdoaWNoIGNvdWxkIGNoYW5nZSBkdWUgdG8gcmVuZWdvdGlhdGlvbgoKMjAxMy0wMS0yNSAyMDozNzowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogcmVtb3ZlICJzc3JjIiBmcm9tIGNhcHMKCSAgc3NyYyBpcyB1aW50IGFuZCB3ZSBkb24ndCBoYXZlIGEgdWludCByYW5nZSB0eXBlCgoyMDEzLTAxLTI0IDIxOjA4OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJICBxdG11eDogc2V0IGxhbmd1YWdlIHRvICd1bmRlZmluZWQnIGluc3RlYWQgb2YgRW5nbGlzaCBieSBkZWZhdWx0CgoyMDEzLTAxLTIzIDIxOjM1OjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICB4aW1hZ2VzcmM6IFNldCB0aGUgcGl4ZWwgYXNwZWN0IHJhdGlvIGNvcnJlY3RseSBpbiB0aGUgY2FwcwoKMjAxMy0wMS0wOCAwODo1Njo0NSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBSZS1lbmFibGUgcHJlcGFyZS1mb3JtYXQgZW1pc3Npb24KCSAgV2l0aCB0aGUgcG9ydCB0byBnc3RyZWFtZXIgMS4wIHRoZSBwcmVwYXJlLWZvcm1hdCBzaWduYWwgc3RvcHBlZCBiZWluZwoJICBlbWl0dGVkLiBTdGFydCBlbWl0dGluZyB0aGlzIGFnYWluIGZvciB1c2UgaW4gdXZjaDI2NHNyYy4gIFdoaWxlIHRoZXJlCgkgIGNoYW5nZSB0aGUgZW1pc3Npb24gdG8gaW5jbHVkZSB0aGUgY2FwcyBmb3IgZXh0cmEgZmxleGliaWxpdHkgaW5zdGVhZCBvZgoJICBmb3VyY2UsIHdpZHRoLCBoZWlnaHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwNDIKCjIwMTMtMDEtMjIgMTg6MTI6MTAgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhbGxvdyBjYWxsaW5nIGZyb20gb3V0LW9mLXRyZWUKCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0LmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjMwOQoKMjAxMy0wMS0yMiAxOToyNjowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHNiYzogZml4IGJvZ3VzIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3Rfc2JjX3BhcnNlX2hhbmRsZV9mcmFtZSc6CgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOjIxMDozMjogZXJyb3I6ICdjaF9tb2RlJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGkKCjIwMTMtMDEtMTkgMTM6Mjc6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgZXJyb3Igb3V0IGlmIHBhX3N0cmVhbV9wcm9wbGlzdF91cGRhdGUoKSB3aXRoIG5ldyB0YWdzIGZhaWxzCgkgIFNob3VsZG4ndCByZWFsbHkgaGFwcGVuIHRoZXNlIGRheXMsIGJ1dCBpZiBpdCBkb2VzLCBpdCdzIG5vdCByZWFsbHkKCSAgYSBwcm9ibGVtIGVpdGhlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjA2OAoKMjAxMy0wMS0xNiAxODowMToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc2tpcCBzb3VwaHR0cHNyYyB0ZXN0cyBpZiB0aGVyZSBpcyBubyBsb2NhbCBodHRwIHNlcnZlciB0byB1c2UKCSAgU2tpcCB0ZXN0cyBpZiB0aGUgc2VydmVyIGNvdWxkbid0IGJlIHN0YXJ0ZWQgb3Igd2UgY2FuJ3QgY29ubmVjdAoJICB0byBpdCBmb3Igc29tZSByZWFzb24gKGUuZy4gZHJhY29uaWMgYnVpbGQgYm90IGVudmlyb25tZW50cykuCgoyMDEzLTAxLTE2IDE0OjMyOjU2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBhdXRvcGFyc2VyczogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEzLTAxLTE1IDE1OjA1OjQzICswMTAwICBNYXJ0aW4gUGl0dCA8bWFydGlucGl0dEBnbm9tZS5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHVzZSBfMV8wIHZhcmlhbnRzIGZvciB0aGUgdmFyaW91cyByZWdpc3RyeSB2YXJpYWJsZXMKCSAgVGhlc2Ugb3ZlcnJpZGUgdGhlIHZhcmlhbnRzIHdpdGhvdXQgdmVyc2lvbiBzdWZmaXguIE1ha2VzICdtYWtlIGNoZWNrJyB3b3JrCgkgIHByb3Blcmx5IGluIGVudmlyb25tZW50cyB0aGF0IHNldCB0aGUgc3VmZml4ZWQgdmFyaWFudCBmb3IgMS4wLCBzdWNoIGFzCgkgIGpoYnVpbGQuCgoyMDEzLTAxLTExIDE5OjI0OjQzICswNDAwICBBbGV4ZXkgQ2hlcm5vdiA8YWNoZXJub3ZAbmVvc3BoZXJlLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogRml4IGNyYXNoIGluIG9zeHZpZGVvc2luayB3aXRoIGV4dGVybmFsIHdpbmRvdyBvdXRwdXQKCjIwMTMtMDEtMTYgMTI6MDQ6NTkgKzA0MDAgIEFsZXhleSBDaGVybm92IDxhY2hlcm5vdkBuZW9zcGhlcmUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogTWFrZSBHc3RHTFZpZXcgcHJvcGFnYXRlIGlucHV0IGV2ZW50cyB0byBpdHMgcGFyZW50IHZpZXcKCSAgRml4ZXMgYnVnICM2OTE4MzIKCjIwMTMtMDEtMTYgMTA6MTk6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiB1cGRhdGUgc29tZSBmaWVsZHMgaW4gdGhlIGNhcHMgdG8gdGhlaXIgbmV3IG5hbWUKCSAgYW5kIHRvIG1hdGNoIHRoZSBwYXJzZXIuICJtb2RlIiBnb3QgcmVuYW1lZCB0byAiY2hhbm5lbC1tb2RlIgoJICBhbmQgImFsbG9jYXRpb24iIHRvICJhbGxvY2F0aW9uLW1ldGhvZCIuCgoyMDEzLTAxLTE1IDE3OjQ0OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiBhZGQgc2JjcGFyc2UgYW5kIHJ0cHNiY3BheSB0byBwbHVnaW4gZG9jcwoKMjAxMy0wMS0xNSAxNzozODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgU0JDIGF1ZGlvIHBhcnNlcgoJICBGcm9tLXNjcmF0Y2ggcmV3cml0ZSwgdGhlIGJsdWV6IG9uZSB3YXMgdXNlbGVzcyBhbmQgYnJva2VuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAxLTE1IDE1OjA1OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTcyZmFlYSB0byBhOTQyMjkzCgoyMDEzLTAxLTEwIDEyOjM4OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cDogaW1wb3J0IHJ0cHNiY3BheSBmcm9tIGJsdWV6IGFuZCBwb3J0IHRvIDEuMAoJICBDb21waWxlcywgYnV0IG5vdCB0ZXN0ZWQgeWV0IChzYmMgZWxlbWVudHMgc3RpbGwgbmVlZCB0byBiZSBwb3J0ZWQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAxLTA5IDE5OjU5OjE2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWYvc3BhbmRzcDogTW92ZSBkdG1mZGV0ZWN0IHRvIHVzZSBsaWJzcGFuZHNwCgkgIFJlbW92ZSBvdXIgY29weSBvZiB0aGUgdG9uZV9kZXRlY3QuYyBmaWxlIGFuZCB1c2UgdGhlIG9yaWdpbmFsCgkgIGZyb20gbGlic3BhbmRzcC4gQWxzbyBtb3ZlIHRoZSBlbGVtZW50IHRvIHRoZSBzcGFuZHNwIHBsdWdpbi4KCjIwMTEtMDItMTMgMTc6NTE6NDUgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTA1LTE5IDE2OjU5OjMwICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEFkZCBwcmFnbWEgYmFzZWQgd29ya2Fyb3VuZCBmb3IgR1N0cmVhbWVyIHdhcm5pbmdzCgoyMDEwLTAxLTAxIDE3OjA4OjE3IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMDEtMzAgMDA6MzE6MTUgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4IHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIGlzc3VlIHdpdGhpbiBHU3RyZWFtZXIgcGx1Z2luCgoyMDA5LTAxLTAxIDE5OjMzOjIwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMTItMjMgMDU6MjU6NTAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogRmlyc3QgYXR0ZW1wdCBpbiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgKHN0aWxsIG5lZWRzIGNsZWFudXApCgoyMDA4LTEyLTIwIDIxOjQyOjQ5ICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogTW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDgtMDItMjkgMTk6Mzc6MTUgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogUmVtb3ZlIHBvc3NpYmxlIGV4dHJhIG1lbWNweSBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMjggMTk6Mzg6NTMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4IGJ1ZyBzZW5kaW5nIGVtcHR5IHBhY2thZ2VzIGFuZCByZW1vdmUgYSBidWZmZXIgY29weS4KCjIwMDgtMDItMjAgMTM6Mzc6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4IHJ1bnRpbWUgd2FybmluZ3Mgb2YgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMTkgMTk6NDk6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIG5ldyBzYmMgQVBJLgoKMjAwOC0wMi0wMiAwMzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTAxLTMwIDE0OjIxOjQzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeGVzIGdzdHJlYW1lciBjYXBzIGFuZCBjb2RlIGNsZWFudXAuCgoyMDA4LTAxLTI0IDE0OjI1OjI5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeCBndHJlYW1lciBwYXlsb2FkZXIgc2VuZGluZyBmcmFnbWVudGVkIGZyYW1lcy4KCjIwMDgtMDEtMjMgMTk6MTc6MzMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogRml4IHVzZSBvZiBnc3RyZWFtZXIgcGx1Z2luIHdpdGggcmh5dGhtYm94IGFuZCBiYW5zaGVlIGFuZCBydHAgdGltZXN0YW1wcy4KCjIwMDgtMDEtMjMgMTM6MTQ6MDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogTWFrZSBhMmRwc2luayB0byBhY3QgbGlrZSBhIGJpbiBhbmQgc3BsaXQgdGhlIHBheWxvYWRlci4KCjIwMTMtMDEtMDggMTY6Mjc6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cDogc21hbGwgaW1wcm92ZW1lbnRzCgoyMDEzLTAxLTA3IDE1OjUwOjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgaGFuZGxlIHN5bmMgY29kZQoJICBNb3ZlIHRoZSBjb2RlIHRoYXQgY29tYmluZXMgdGhlIGxhc3QgU1IgcGFja2V0IGFuZCB0aGUgY3VycmVudCBqaXR0ZXJidWZmZXIgc3luYwoJICB2YWx1ZXMgaW50byBhIHN5bmMgc3RydWN0dXJlLCBpbnRvIGl0cyBvd24gZnVuY3Rpb24uIFdlIHdhbnQgdG8gcmV1c2UgdGhpcyBiaXQKCSAgbGF0ZXIuCgoyMDEzLTAxLTA3IDE1OjQ1OjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHA6IGluY2x1ZGUgZG93bnN0cmVhbSBsYXRlbmN5IGluIFNSIGNhbGN1bGF0aW9ucwoJICBXaGVuIHdlIG1ha2UgYSBtYXBwaW5nIGJldHdlZW4gYW4gUlRQIHRpbWVzdGFtcCBhbmQgYW4gTlRQIHRpbWVzdGFtcCwgaW5jbHVkZQoJICB0aGUgZG93bnN0cmVhbSBsYXRlbmN5IGFwcGxpZWQgdG8gdGhlIHNpbmtzLiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhdmUKCSAgYm90aCBzaW5rcyBydW4gd2l0aCBkaWZmZXJlbnQgbGF0ZW5jaWVzIGFuZCBzdGlsbCBoYXZlIGNvcnJlY3Qgc3luYyBvbiB0aGUKCSAgY2xpZW50LiBJdCBhbHNvIGlzIG1vcmUgY29ycmVjdCBiZWNhdXNlIHRoZSBSVFAgdGltZXN0YW1wIGluIHRoZSBTUiByZXBvcnQgd2lsbAoJICBhY3R1YWxseSBjb3JyZXNwb25kIG1vcmUgY2xvc2VseSB0byB0aGUgTlRQIHRpbWUgaXQgd2FzIHNlbnQgb24gdGhlIHNlcnZlci4KCSAgRm9yIHBpcGVsaW5lcyB3aXRoIGhpZ2ggbGF0ZW5jeSBvbiB0aGUgc2VuZGVyIHNpZGUsIHRoaXMgYWN0dWFsbHkgYWxsb3dzIGEKCSAgR1N0cmVhbWVyIHJlY2VpdmVyIHRvIHBlcmZvcm0gc3luY2hyb25pc2F0aW9uIGluc3RlYWQgb2YgZHJvcHBpbmcgdGhlIFJUQ1AKCSAgcGFja2V0cy4KCjIwMTMtMDEtMDcgMTQ6MjU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IGNhc3QgZXZlbnQgZnVuY3Rpb25zCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gY2FzdCB0aGUgZXZlbnQgZnVuY3Rpb25zIGFuZCBvbmx5IGNhdXNlcyBwcm9ibGVtcyBsYXRlciB3aGVuCgkgIHdlIGNoYW5nZSB0aGUgc2lnbmF0dXJlIGxhdGVyIGFuZCB0aGluZ3Mgc2lsZW50bHkgY29tcGlsZXMgd3JvbmcgY29kZS4KCjIwMTMtMDEtMDcgMTQ6MjM6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cDogbW9yZSBkZWJ1ZwoKMjAxMy0wMS0wNyAxNDoyMjo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wMS0wMiAwMDowMzoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogc2FuaXR5IGNoZWNrIHNpemUgb2YgYXZhaWxhYmxlIHBhY2tldCBkYXRhIGZvciByZWFkaW5nIHRvIGF2b2lkIG1lbW9yeSB3YXN0ZQoJICBPbiBXaW5kb3dzIGFuZCBPUy9YLCBfZ2V0X2F2YWlsYWJsZV9ieXRlcygpIG1heSBub3QgcmV0dXJuIHRoZSBzaXplCgkgIG9mIHRoZSBuZXh0IHBlbmRpbmcgcGFja2V0LCBidXQgdGhlIHNpemUgb2YgYWxsIHBlbmRpbmcgcGFja2V0cyBpbgoJICB0aGUga2VybmVsLXNpZGUgYnVmZmVyLCB3aGljaCBtaWdodCBiZSByYXRoZXIgbGFyZ2UgZGVwZW5kaW5nIG9uCgkgIGNvbmZpZ3VyYXRpb24uIFNhbml0eS1jaGVjayB0aGUgc2l6ZSByZXR1cm5lZCBieSBfZ2V0X2F2YWlsYWJsZV9ieXRlcygpCgkgIHRvIG1ha2Ugc3VyZSB3ZSBuZXZlciBhbGxvY2F0ZSBtb3JlIG1lbW9yeSB0aGFuIHRoZSBtYXguIHNpemUgZm9yCgkgIGEgcGFja2V0LCBpZiBpdCdzIGFuIElQdjQgc29ja2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwMzY0CgoyMDEzLTAxLTA0IDEwOjAzOjMyICswMTAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBBbHNvIGhhbmRsZSB0aGUgbmV3IEVOT0VOVCByZXR1cm4gdmFsdWUgb2YgVklESU9DX1FVRVJZQ1RSTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxMDk4CgoyMDEzLTAxLTAxIDE5OjE0OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBzb3VwaHR0cHNyYyBlcnJvciBoYW5kbGluZyB3aXRoIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQyOQoKMjAxMi0wNi0yMiAyMTo1Njo1MiArMDAwMCAgTm9yYmVydCBXYXNjaGJ1ZXNjaCA8bndhc2NoYnVAb3BlbnR2LmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBlcnJvciBvdXQgcHJvcGVybHkgd2hlbiByZWNlaXZpbmcgZGF0YSBhbG9uZyB3aXRoIGFuIGVycm9yIHN0YXR1cwoJICBXaGVuIHJlY2VpdmluZyBhbiBlcnJvciBjb2RlIGZyb20gdGhlIGh0dHAgc2VydmVyLCBzdWNoIGFzIDQwNCwKCSAgZGF0YSBtaWdodCBiZSBzZW50IGFsb25nIHdpdGggaXQsIGxpa2UgYSB3ZWIgcGFnZS4gV2UgZG9uJ3Qgd2FudAoJICB0byBvdXRwdXQgdGhhdCBkYXRhIGluIHRoaXMgY2FzZSwgYW5kIHdlIGFsc28gd2FudCB0byBwYXNzIHRoZQoJICBGTE9XX0VSUk9SIHJldHVybiBiYWNrIHRvIHRoZSBiYXNlIGNsYXNzLCBzbyBpdCBjYW4gc3RvcCBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQyOQoKMjAxMy0wMS0wMSAxMjoyMDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgZG9jczogdXBkYXRlIGZvciBuZXcgcnRzcHNyYyBwcm94eS1pZCBhbmQgcHJveHktcHcgcHJvcGVydGllcwoKMjAxMy0wMS0wMSAxMjoxOToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgZG9jczogZml4IGRvY3MgYnVpbGQgYW5kIHVwZGF0ZSBhZnRlciByZW1vdmFsIG9mIG9sZCBjYWlybyBlbGVtZW50cwoKMjAxMy0wMS0wMSAxMjoxMjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIGNhaXJvOiByZW1vdmUgb2xkIGNhaXJvLWJhc2VkIHRleHQgcmVuZGVyZXJpbmcgZWxlbWVudAoJICBUaGV5IGhhdmVuJ3Qgd29ya2VkIHdlbGwgb3IgYXQgYWxsIGluIGEgdmVyeSBsb25nIHRpbWUKCSAgYW5kIHdlcmUgcmF0aGVyIGJpdC1yb3R0ZW4sIGFuZCB0aGVyZSdzIG5vIG5lZWQgZm9yIHRoZW0KCSAgYW55IG1vcmUuCgoyMDEzLTAxLTAxIDExOjUyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2Fpcm8vLmdpdGlnbm9yZToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8tbWFyc2hhbC5saXN0OgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlybzogcG9ydCBjYWlyb292ZXJsYXkgdG8gMC4xMQoJICBUaGUgb3RoZXIgZWxlbWVudHMgYXJlIG5vdCB0aGF0IGludGVyZXN0aW5nIG5vdyB0aGF0IHdlJ3JlCgkgIHVzaW5nIHBhbmdvY2Fpcm8gaW4gdGhlIHBhbmdvIHBsdWdpbiwgYW5kIHNob3VsZCBwcm9iYWJseQoJICBqdXN0IGJlIHJlbW92ZWQuCgoyMDEyLTEyLTMxIDE4OjU5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOgoJICBleGFtcGxlczogY2hlY2sgZm9yIHVyaSBhcmd1bWVudCBpbiBkZWNvZGViaW4taDI2NHAtYW1yIHNlcnZlciBleGFtcGxlCgkgIE90aGVyd2lzZSBwZW9wbGUgZ2V0IGEgcmF0aGVyIGNvbmZ1c2luZyBlcnJvciBtZXNzYWdlLgoKMjAxMi0xMi0zMSAwMDoyMjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgInByb3h5LWlkIiBhbmQgInByb3h5LXB3IiBwcm9wZXJ0aWVzCgkgIHRvIG1hdGNoIHNvdXBodHRwc3JjLiB1c2VyL3Bhc3N3b3JkIHBhc3NlZCB2aWEgdGhlIFVSSQoJICB3aWxsIHN0aWxsIHRha2UgcHJlY2VkZW5jZSB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTU0MjcKCjIwMTItMTItMjUgMTY6NDg6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgb3NzNHNpbms6IG5vdGlmeSAidm9sdW1lIiBwcm9wZXJ0eSBvbiBvcGVuIHRvIG1ha2UgYXBwcyBxdWVyeSBpbml0aWFsIHZvbHVtZQoJICBUaGUgaW5pdGlhbCB2b2x1bWUgbWlnaHQgbm90IGJlIHRoZSBwcm9wZXJ0eSBkZWZhdWx0LCBzbwoJICBlbWl0IGEgbm90aWZ5IG9uIHRoZSB2b2x1bWUgcHJvcGVydHkgdG8gbWFrZSBhcHBzIGdldAoJICBhbiB1cC10by1kYXRlIHJlYWRpbmcgb2YgdGhlIGN1cnJlbnQgdm9sdW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxMDUzCgoyMDEyLTEyLTIwIDE3OjEyOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggY21kIGNvbXBhcmlzb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDQ3NgoKMjAxMi0xMi0yMCAxNzoxMjoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNvbWUgbW9yZSBkZWJ1ZwoKMjAxMi0xMi0yMCAxNjo0NDoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICAxMzk0Y2xvY2s6IG1hcmsgb3VyIGNsb2NrIHR5cGUgYXMgT1RIRVIKCjIwMTItMTItMjAgMTY6MTU6MTMgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGFkZCBqcGVncGF5IHVuaXQgdGVzdAoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTU1CgoyMDEyLTEyLTIwIDE1OjU1OjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IHBhc3MgZmxvd3JldHVybiB1cHN0cmVhbQoKMjAxMi0wOS0yNyAxNTo0Mjo1NiArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogaGFuZGxlIHdpZHRoIGFuZCBoZWlnaHQgPiAyMDQwCgkgIElmIHdpZHRoIG9yIGhlaWdodCBpcyBncmVhdGVyIHRoYW4gMjA0MCBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB6ZXJvIGluCgkgIHRoZSBydHAgaGVhZGVyIGFuZCBhZGQgeC1kaW1lbnNpb25zIHRvIG91dGNhcHMuCgkgIFNvbHZlcyAjNjg0OTU1CgoyMDEyLTEyLTIwIDEzOjAzOjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2xlYW51cCBpbiBmbGFnIGRlZmluZQoKMjAxMi0xMi0yMCAxMzowMjo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGltcHJvdmUgZGVidWcKCjIwMTItMTItMTggMTU6NTY6NTkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2s6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo1NTo0MyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIHRhZ2xpYjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjU0OjA4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZjogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjUxOjQ2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHA6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo0Njo1NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE3IDE2OjM1OjU2ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IHNldCBzcmMgcGFkIGNhcHMgdXBvbiBsYXN0IHNpbmsgcGFkIENBUFMgZXZlbnQKCSAgR2F0aGVyIGNhcHMgb24gYWxsIHNpbmsgcGFkcyBiZWZvcmUgc2V0dGluZyB0aGUgc3JjIHBhZCBjYXBzLiBUaGlzIGlzCgkgIHNwZWNpYWxseSBuZWVkZWQgd2hlbiB0aGUgYXVkaW8gY2hhbm5lbCBtYXBwaW5nIGlzIHNldCBvbiB0aGUgc2luawoJICBwYWRzIGFuZCB0aGUgZWxlbWVudCBuZWVkcyB0byBwcmVzZXJ2ZSBpdCBvbiBpdHMgc3JjIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDI2NwoKMjAxMi0xMi0xNyAyMjo1NToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBza2lwIGVtcHR5IHRhZ3MKCSAgaW5zdGVhZCBvZiB0cnlpbmcgdG8gYWRkIHRhZ3Mgd2l0aCBlbXB0eSBzdHJpbmdzLCB3aGljaAoJICBjYXVzZXMgY3JpdGljYWxzIGF0IHJ1bnRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAzNTgKCjIwMTItMTItMTcgMTU6MTc6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogTWFrZSBzdXJlIHRoZSBjYXBzIGFyZSBhY3R1YWxseSB3cml0YWJsZSBiZWZvcmUgY2hhbmdpbmcgdGhlbQoKMjAxMi0xMi0xNyAxNTowMTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBVc2UgdGhlIHBlZXIgY2FwcyBmb3IgcmVzdHJpY3Rpb25zIGluc3RlYWQgb2YgdGhlIHNyY3BhZCBhbGxvd2VkIGNhcHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgaW50ZXJzZWN0IHdpdGggdGhlIHNyY3BhZCB0ZW1wbGF0ZSBjYXBzIGFuZCBhZGQgYWxsIHRoZSBjYXBzIGZpZWxkcwoJICB0aGF0IHRoZSBwYXJzZXIgd2lsbCBldmVyIHNldCwgbm8gbWF0dGVyIGlmIGRvd25zdHJlYW0gcmVzdHJpY3RzIHRoaXMgZmllbGQgb3Igbm90LgoJICBUaGlzIHJlcXVpcmVzIHVwc3RyZWFtIHRvIHNldCB0aGlzIGZpZWxkIG9uIHRoZSBjYXBzIHRvIHN1Y2Nlc3NmdWxseSBuZWdvdGlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxODQKCjIwMTItMTItMTQgMjI6MjU6MDggKzAwMDAgIEtvb3AgTWFzdCA8a3dtQHJhaW5ib3ctcnVubmVyLm5sPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IFRlYWNoIHdoZXJlIHRoZSB2aWRlb2RldjIuaCBoZWFkZXIgbGl2ZXMgb24gZnJlZWJzZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDIzMwoKMjAxMi0xMi0xNiAyMzoyNzo0MSArMDAwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc2V0IGFwcHJvcHJpYXRlIGJsb2NrIGhlYWRlciBmbGFnIGZvciBWUDggaW52aXNpYmxlIGZyYW1lcwoJICBVc2VmdWwgZm9yIGRlYnVnZ2luZyBtb3N0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNTkKCjIwMTItMTItMTYgMTU6MjU6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIGRvY3M6IGFkZCBydHBtdXggYW5kIHJ0cGR0bWZtdXggdG8gcGx1Z2luIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTExNwoKMjAxMi0xMi0xNiAxNToxMzozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBydHBtYW5hZ2VyOiBtb3ZlIHJ0cG11eCBhbmQgcnRwZHRtZm11eCBlbGVtZW50cyBmcm9tIC1iYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTExNwoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDktMTAgMjA6Mzg6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogTWlzYyBmaXggZm9yIDAuMTEKCSAgQ29udmVydCB0aGUgaW5jb21pbmcgY2FwcyBiZWZvcmUgcHJveHlpbmcgdGhlbQoJICBDbGVhciB0aGUgbGFzdF9wYWQgd2hlbiBnb2luZyB0byByZWFkeQoJICB0ZXN0czogSW1wbGVtZW50IGFjY2VwdF9jYXBzLCBkb24ndCBsZWFrIGV2ZW50CgoyMDEyLTA3LTE3IDE2OjM5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXBkYXRlIGZvciBSVFAgYnVmZmVyIGFwaSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkgIHJ0cG11eDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTAyIDExOjA3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAzLTExIDE5OjA2OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAxLTI2IDA2OjU4OjQ2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAxLTI5IDE4OjAxOjA1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5yZWYgbm9uLWZvcndhcmRlZCBldmVudHMKCSAgQWxzbywgZG9uJ3QgdW5yZWYgZm9yd2FyZGVkIG9uZXMKCjIwMTItMDEtMjggMTY6NTc6MDMgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZXN5bmMgaXRlcmF0b3Igb24gcmVzeW5jCgoyMDEyLTAxLTI3IDEyOjA4OjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlLXB1c2ggc3RpY2t5IGV2ZW50cyBvbiBpbnB1dCBwYWQgY2hhbmdlCgoyMDEyLTAxLTI1IDE1OjQzOjAxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgbGVhayBndmFsdWUgZnJvbSBpdGVyYXRvcgoKMjAxMi0wMS0yNSAxNjo0Njo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG1vcmUgcG9ydGluZwoKMjAxMi0wMS0yNCAxNDoyMDo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTEtMDQgMTI6MjI6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG1ha2UgcmVxdWVzdCBwYWRzIHRha2UgXyV1CgoyMDExLTA0LTE0IDE0OjM0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIGxhc3Qtc3RvcCB0byBkdG1mLWV2ZW50IHVwc3RyZWFtIGV2ZW50cwoJICBBZGQgdGhlIHJ1bm5pbmcgdGltZSBvZiB0aGUgbGFzdCBvdXRwdXR0ZWQgYnVmZmVyIHRvIHRoZQoJICB1cHN0cmVhbSAiZHRtZi1ldmVudCIgZXZlbnRzIHNvIHRoYXQgdGhlIGR0bWYgc291cmNlIGRvZXMgbm90CgkgIGxlYXZlIGEgZ2FwLgoKMjAxMC0xMS0yNSAxOToyMToxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTA5LTMwIDE2OjA3OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEltcHJvdmUgZG9jdW1lbnRhdGlvbgoJICBBZGQgYW4gZXhhbXBsZSBwaXBlbGluZSwgYW5kIHRyeSB0byBleHBsYWluIGEgYml0IG1vcmUgd2hhdCBpdCBkb2VzLgoKMjAxMC0wOS0yNCAxMzoyOTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTA5LTI0IDEzOjI1OjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgc2lnbmFsIGJvaWxlcnBsYXRlCgoyMDEwLTA5LTI0IDEzOjI0OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBubyBuZWVkIHRvIHJlZiBwYWQgaW4gX2NoYWluKCkKCjIwMTAtMDgtMjUgMjI6NTY6MDMgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbmxvY2sgdGhlIHJpZ2h0IG11dGV4CgkgIFRoZSBtdXRleCBsb2NrZWQgaXMgZm9yIHRoZSAnbXV4JyBvYmplY3QsIGJ1dCB3ZSB1bmxvY2sgdGhlCgkgIHBhZCwgd2hpY2ggbWVhbnMgdGhhdCBpZiB0aGUgcnRwbXV4IGdldHMgYSBmbHVzaCwgdGhlbiB0aGUKCSAgb2JqZWN0IGxvY2sgd2lsbCBzdGF5IGxvY2tlZCBmb3JldmVyLCBjYXVzaW5nIGl0IHRvIGZyZWV6ZQoJICB0aGUgbmV4dCB0aW1lIGl0IHRyaWVzIHRvIHRha2UgaXQuCgkgIEZpeGVzIGJ1ZyAjNjI3OTkxCgoyMDEwLTA3LTAxIDE1OjE5OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBBZGQgc3VwcG9ydCBmb3IgR3N0QnVmZmVyTGlzdAoJICBGYWN0b3Igb3V0IG1vc3Qgb2YgdGhlIGJ1ZmZlciBoYW5kbGluZyBhbmQgaW1wbGVtZW50IGEgY2hhaW5fbGlzdAoJICBmdW5jdGlvbi4gQWxzbywgdGhlIERUTUYgbXV4ZXIgaGFzIGJlZW4gbW9kaWZpZWQgdG8ganVzdCBoYXZlIGEKCSAgZnVuY3Rpb24gdG8gYWNjZXB0IG9yIHJlamVjdCBhIGJ1ZmZlciBpbnN0ZWFkIG9mIGhhdmluZyB0byBzdWJjbGFzcwoJICBib3RoIGNoYWluIGFuZCBjaGFpbl9saXN0LgoKMjAxMC0wNy0wMSAxNToxNTo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgbGVhayBpbnZhbGlkIGJ1ZmZlcnMKCjIwMTAtMDYtMDMgMTA6NDM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IGZpeCBtaXNzaW5nIGRlYnVnIGxvZyBtZXNzYWdlIGFyZ3VtZW50CgoyMDEwLTA1LTEwIDE4OjM3OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IEFkZCBzb21lIGRlYnVnIG1lc3NhZ2VzCgoyMDEwLTA1LTA3IDE4OjU2OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBSZW1vdmUgc3RyZWFtLWxvY2sgZXZlbnQgaGFuZGxpbmcKCjIwMTAtMDUtMDcgMTg6NTQ6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvYyBmb3Igc2ltcGxpZmljYXRpb24KCjIwMTAtMDUtMDcgMTg6NDA6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQ2hhbmdlIHRlc3RzIHRvIG5vdCB1c2UgdGhlIHByaW9yaXR5IHBhZHMgaW5zdGVhZCBvZiB0aGUgZXZlbnRzCgoyMDEwLTA1LTA2IDE5OjUxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwZHRtZm11eDogRHJvcCBidWZmZXJzIG9uIG5vbi1wcmlvcml0eSBzaW5rcyB3aGVuIHNvbWV0aGluZyBpcyBpbmNvbWluZyBvbiB0aGUgcHJpb3JpdHkgc2luawoKMjAxMC0wNS0wNiAxODoxMTo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IEFkZCBwcmlvcml0eSBzaW5rIHBhZHMKCjIwMTAtMDUtMDcgMTc6MTU6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQ2xlYW51cCBldmVudCBmdW5jdGlvbgoKMjAxMC0wNS0wNyAxNjo0MjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBBZ2dyZWdhdGUgaW5jb21pbmcgc2VnbWVudHMKCjIwMTAtMDUtMDYgMTk6MDk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDUtMDYgMTg6MTA6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBTaW1wbGlmeSByZXF1ZXN0IHBhZCBjcmVhdGlvbgoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMDktMTEtMTggMTY6Mzg6MzMgKzAxMDAgIHVua25vd24gPGhhdmFyZC5ncmFmZkAuZXUudGFuZGJlcmcuaW50PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXBkYXRlIHRoZSBjdXJyZW50X3NzcmMgZnJvbSB0aGUgY2FwcwoJICBGaXhlcyAjNjA0MTAxCgoyMDA5LTEyLTA5IDE0OjQyOjIxICswMTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVsZWFzZSBwYWRzIHdoZW4gZGlzcG9zaW5nCgkgIEJlY2F1c2Ugb2YgYW4gYWxsb2NhdGVkIHByaXYgKEdzdFJUUE11eFBhZFByaXZhdGUpLCB0aGUgZWxlbWVudCB3aWxsCgkgIGxlYWsgbWVtb3J5IGlmIG5vdCBnc3RfcnRwX211eF9yZWxlYXNlX3BhZCgpIGlzIGNhbGxlZC4gVGhpcyB3b3VsZAoJICBwcmV2aW91c2x5IG9ubHkgaGFwcGVuIGlmIHJlbGVhc2VfcmVxdWVzdF9wYWQoKSB3YXMgY2FsbGVkIGV4cGxpY2l0bHksCgkgIHNvbXRoaW5nIHRoYXQgc2hvdWxkIG5vdCBiZSBuZWNjZXNhcnkuCgkgIEZpeGVzICM2MDQwOTkKCjIwMDktMTItMDkgMTM6NDA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIGR0bWZtdXg6IG1ldGhvZCBuYW1lIGNsZWFudXBzCgoyMDA5LTEwLTA4IDE5OjA2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mbXV4IGxvY2tpbmcKCjIwMDktMDktMjggMTk6NTQ6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQWRkIHVuaXQgdGVzdCBmb3IgcnRwbXV4CgoyMDA5LTA5LTI4IDEzOjM2OjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBpZ25vcmUgcmVxdWVzdGVkIHBhZCBuYW1lCgoyMDA5LTA3LTI5IDE3OjIzOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgZW1wdHkgZmluYWxpemUKCjIwMDktMDctMjEgMTU6MzE6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UKCSAgRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGEgd2VhayByZWYsCgkgIHdoaWNoIGlzIG5vdCB0aHJlYWQgc2FmZS4gQWxzbywgbG9jayB0aGUgY29udGVudCBvZiB0aGUgcGFkIHByaXZhdGUgdXNpbmcgdGhlIGVsZW1lbnQncwoJICBvYmplY3QgbG9jay4KCjIwMDktMDQtMjggMTY6MTA6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlamVjdCB3cm9uZyBjYXBzCgoyMDA5LTA0LTI4IDE2OjAzOjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhayBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yOCAxNTo1ODo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsKCSAgRml4ZWQgYSBsZWFrIGRpc2NvdmVyZWQgYnkgTGF1cmVudCBHbGF5YWwgPHNwZWdsZUB5YWhvby5mcj4KCjIwMDktMDQtMjIgMTg6MDE6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCB3YXJuaW5nCgoyMDA5LTA0LTIwIDIwOjAwOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgZGlmZmVyZW50IGNhcHMgZGVwZW5kaW5nIG9uIHRoZSBpbnB1dAoKMjAwOS0wNC0yMiAxNjoyNTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogT25seSBmcmVlIHBhZCBwcml2YXRlIHdoZW4gcGFkIGlzIGRpc3Bvc2VkCgoyMDA5LTA0LTIwIDE4OjQxOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgdXNlbGVzcyBjYXBzIG1hbmdsaW5nCgoyMDA5LTA0LTIwIDE4OjM2OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW5hbWUgdmFyaWFibGUgZm9yIG1vcmUgY2xhcml0eQoKMjAwOS0wNC0yMCAxNzo0MzozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVc2UgR1NUX0JPSUxFUlBMQVRFCgoyMDA5LTA0LTIwIDE3OjQyOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG8gdGhlIGluY2x1ZGVzIGxvY2FsbHkKCjIwMDktMDQtMTUgMTM6MjM6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogQWRkIEdTVF9ERUJVR19GVU5DUFRScwoKMjAwOS0wNC0xNSAxMzoxNTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIGxvY2tlZCBwYWQgb24gcmVsZWFzZV9wYWQKCSAgUmVsZWFzZSB0aGUgc3BlY2lhbCBwYWQgaWYgdGhlIHBhZCBpcyByZW1vdmVkIGZyb20gdGhlIG11eGVyLgoKMjAwOS0wNC0xNSAxMzowOToyNyAtMDQwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIHNwZWNpYWwgb24gcGFkIGRpc3Bvc2UKCSAgRml4ZXMgIzU3NzY5MAoKMjAwOS0wMi0yNSAxMTo0NTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAyLTEwIDE3OjAyOjI0ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkgIHJ0cG11eDogTW92ZSBydHBtdXggZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQ1OjUwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXhlci5jOgoJICBydHBtdXg6IFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTAgMTk6MTE6MTUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvY3VtZW50IHJ0cCBtdXhlciBhIGJpdAoKMjAwOS0wMi0yMCAxMzozMDo0OSAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkgIHJ0cG11eDogQWRkIHNpZ25hbHMgYmVmb3JlIHN0cmVhbSBsb2NrIGFuZCBhZnRlciB1bmxvY2tpbmcKCjIwMDktMDItMTggMjA6MTg6NDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IExldCBzc3JjIHRocm91Z2ggZ2V0Y2FwcwoKMjAwOS0wMi0xOCAxOTo1ODo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVuYW1lIGhhdmVfYmFzZSB0byBoYXZlX3RzX2Jhc2UKCjIwMDktMDItMTggMTg6MTQ6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBQcm90ZWN0IHRoZSBzZXFudW0gd2l0aCBvYmplY3QgbG9jayBpbiBydHBtdXgKCjIwMDktMDItMTggMTg6MDc6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlbW92ZSB1bnVzZWQgc2lua190c19iYXNlCgoyMDA5LTAyLTE4IDE1OjIwOjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBIYXZlIGdldGNhcHMgdG8gZm9yY2UgdGhlIHNhbWUgY2xvY2tyYXRlIG9uIGFsbCBwYWRzCgoyMDA5LTAyLTE4IDE3OjA1OjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBWYWxpZGF0ZSBSVFAgZGF0YSBpbiBSVFAgTXV4CgoyMDA5LTAyLTE4IDE0OjE2OjAwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmVtb3ZlIHVudXNlZCBjbG9jay1yYXRlIHByb3BlcnR5CgoyMDA5LTAyLTE4IDEzOjU2OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkgIHJ0cG11eDogQ2xhcmlmeSBsb2NraW5nIGluIHJ0cGR0bWZtdXgKCjIwMDktMDItMTggMTM6MzI6NTYgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcgoKMjAwOC0xMi0wMSAxNzo1NToyMiAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVwZGF0ZSBzZXFudW0gYmFzZSBpbiBydHAgbXV4ZXIKCSAgV2l0aCBoZWxwIGZyb20gV2ltCgoyMDA4LTEyLTAxIDE3OjU0OjU4IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggc29tZSBtb3JlIGxlYWtzCgoyMDA4LTEyLTAxIDE3OjQ4OjI5IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrCgoyMDA4LTA5LTI5IDE1OjAzOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCB1bnJlZiBjYXBzIHdlIGRvbid0IGtub3cgKHRoYW5rcyBXaW0pCgoyMDA4LTA4LTEyIDEyOjQ4OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBQdXQgcGVyLWJ1ZmZlciBkZWJ1ZyBhdCBsZXZlbCBMT0cKCjIwMDgtMDgtMTIgMTI6NDc6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1ha2UgZGVidWcgcHJpbnQgYWNjdXJhdGUKCjIwMDgtMDgtMTIgMTI6NDY6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBvdXIgY2FwcyBvbiB0aGUgYnVmZmVycwoKMjAwOC0wOC0xMiAxMjo0NjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVGFrZSB0aGUgY2xvY2stYmFzZSBzdG9yZWQgZnJvbSB0aGUgbGFzdCBzZXRjYXBzCgoyMDA4LTA4LTEyIDEyOjQxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTdG9yZSB0aGUgY2xvY2stYmFzZSBvbiBzZXRjYXBzCgoyMDA4LTA4LTEyIDEyOjMwOjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBBZGQgcGFkcHJpdmF0ZSB0byB0aGUgcmVxdWVzdCBwYWRzCgoyMDA4LTA4LTExIDIxOjIwOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBNYWtlIGluZGVudGF0aW9uIG1vcmUgY29ycmVjdAoKMjAwOC0wOC0xMSAyMTowNTozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IHR5cG8KCjIwMDgtMDgtMTEgMjE6MDM6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBzZXFudW0tYmFzZSBhbmQgY2xvY2stYmFzZSBpbiBjYXBzIGZyb20gcnRwbXV4ZXIKCjIwMDctMDgtMTUgMTM6NTA6MzggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBtb3JlIGRlYnVnCgkgIDIwMDcwODE1MTM1MDM4LWYzZjFlLTljN2E1NDkwYTUyNWM2ZTg3NTNjYjFiOGMwMzM1NGRmOTkxMzJiNWMuZ3oKCjIwMDctMDgtMjAgMTg6NTA6MzIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBtaXNzaW5nIGNvbW1lbnQKCSAgMjAwNzA4MjAxODUwMzItNGYwZjYtMGFiNjdiNmFjNDBkZDRlMzVhOGZlNTNmM2NiNmRhZmY2NWNlNDNiOS5negoKMjAwNy0wNy0xMiAxOTo1MzozNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBNYWtlIGJ1ZmZlciB3cml0YWJsZSBiZWZvcmUgd3JpdGluZyBpbnRvIGl0CgkgIDIwMDcwNzEyMTk1MzM2LTNlMmRjLTkxYTVmYjc5N2NmYTQ5MTlkNGUyZjlhNzI4YzZkNmZiZDNiODNkOTMuZ3oKCjIwMDctMDctMDYgMjA6MjQ6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IHBhZHMgYWN0aXZlIHdoZW4gYWRkaW5nIHRoZW0gdG8gYSBwb3RlbnRpYWxseSBydW5uaW5nIGVsZW1lbnQKCSAgMjAwNzA3MDYyMDI0NTktM2UyZGMtYTM3MzFmODg1NzI1NTk0ZGVmMGE3YmU5OTdmYzdiM2E3MzllZTk2Ny5negoKMjAwNy0wNi0wNyAxMjowMToyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbXVsdGlwbGUgcmVmIGxlYWtzIChwYXRjaGVzIGJ5IFNQIEdMRSkKCSAgMjAwNzA2MDcxMjAxMjEtM2UyZGMtMDYxZTllZjdhNDdiMWI4NGZhOGY4MDkyZjRiOGJjYzBlNmRiOGM4Yy5negoKMjAwNy0wNS0yOCAxNToyNTowNSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogc2VuZCBldmVudCB0byBhbGwgc3JjIHBhZHMKCSAgMjAwNzA1MjgxNTI1MDUtZjNmMWUtMDM5MjE2YzczZGM5M2Y2NGM0OTk2MmM3N2EwMjUzY2I5Y2ZlYzRkMy5negoKMjAwNy0wNS0yOCAxMjozNzo0OSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcHJpbnQgYSB3YXJuaW5nIGlmIHJlY2VpdmUgYW4gZXJyb3IgaXRlcmF0aW5nIHNpbmtwYWRzCgkgIDIwMDcwNTI4MTIzNzQ5LWYzZjFlLTRjMWViM2Y1MTFiNTYxMDE0MzYxMGE2NWE5NGQxMTdmMmMzZDI1ODAuZ3oKCjIwMDctMDUtMjggMTI6Mjg6MDggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGRlYWwgd2l0aCBhbGwgdGhlIGdzdF9pdGVyYXRvcl9uZXh0KCkgcmV0dXJuIHZhbHVlcwoJICAyMDA3MDUyODEyMjgwOC1mM2YxZS1kMzAxNjQ0YzNiZTc2MzNlYzZkYzVlMjg1OTZlOTM0NmQyZGE2YTUwLmd6CgoyMDA3LTA1LTI1IDEyOjMxOjE2ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZXR1cm4gY29ycmVjdCB2YWx1ZSBmcm9tIHRoZSBldmVudCBoYW5kbGVyCgkgIDIwMDcwNTI1MTIzMTE2LWYzZjFlLTEzMWIzN2I1ZjQ1MjE2MThmZTJmMTMyMDQwOWE0N2U2NWIzNWFkMmQuZ3oKCjIwMDctMDUtMjUgMTA6Mjc6MDkgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFZpbGxlJ3Mgb3JpZ2luYWwgcGF0Y2ggdG8gZml4IHRoZSB0cmF2ZXJzYWwgb2YgZHRtZiBldmVudAoJICAyMDA3MDUyNTEwMjcwOS1mM2YxZS02YzQxZDFlZjkzNDA2OGE0ZjRlODEwZTdlOTgxYjQyMDA3NWIwYzk4Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjUwICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCB0aGUgY29ycmVjdCB0cy1vZmZzZXQgb24gdGhlIGdldF9wcm9wIHZhbHVlCgkgIDIwMDcwMzI5MTM1MjUwLTY1MDM1LWE0M2UyMjJkOTFkNTdjMGE2MWNiMzI4NzU4NmFhYTI5YWJmNzg2NzQuZ3oKCjIwMDctMDMtMjkgMTM6NTI6MjMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVmYWN0b3JpemUgc3RhdGVfY2hhbmdlCgkgIDIwMDcwMzI5MTM1MjIzLTY1MDM1LTIzYTAxMDdiMmUzOTc3MTBmMDM1YzZlODhjYzBlNDliNjViYjRkNWQuZ3oKCjIwMDctMDMtMjkgMTM6MzY6MjIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IHNldCBTU1JDIG9uIHRoZSBwYWNrZXRzCgkgIDIwMDcwMzI5MTMzNjIyLTY1MDM1LTFiZTZlMGFhODVhNzEzODlmN2QyNTdiOWNkM2UxM2E3M2Q2Yjc0NWIuZ3oKCjIwMDctMDMtMjkgMTM6MTk6MzYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogQ29kZSBjbGVhbi11cCBhbmQgbW9yZSBkZWJ1ZyBvdXRwdXQKCSAgMjAwNzAzMjkxMzE5MzYtNjUwMzUtOWQ0OTllMjA5ZTBkN2E0MDljM2FhMGQxMDQwNzc4YmFiZjA3NjE3OS5negoKMjAwNy0wMy0yOCAxMToyMjoxOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogVXNlIG93biBjbG9jay1iYXNlCgkgIDIwMDcwMzI4MTEyMjE5LTY1MDM1LTFiYTVmZWZiYzY1MDU5ZTliMGM4NjA1MjhhMzEwNjJjZWI2YTczMzEuZ3oKCjIwMDctMDMtMjMgMTY6MzE6MzkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IE9ubHkgYWNjZXB0IFJUUCBzdHJlYW1zIHRoYXQgaGF2ZSB0aGUgc2FtZSBjbG9jay1yYXRlCgkgIDIwMDcwMzIzMTYzMTM5LTY1MDM1LWZjMGIxN2IwYjhhN2EwNDFmNDg5OTRjNGYyNmU5NjU2ODE2OGJmOTUuZ3oKCjIwMDctMDMtMjIgMTY6MTU6NTIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IFNvbWUgbW9yZSBjb2RlLWNsZWFudXBzCgkgIDIwMDcwMzIyMTYxNTUyLTY1MDM1LWJkYTk2MTY1ZTE0NmI0ZjFkNWZlYTFjYzk1NzZhN2FiM2FiZWJjOWUuZ3oKCjIwMDctMDMtMjIgMTU6NDI6NTEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmV0dXJuIG5ld3BhZCBpbnN0ZWFkIG9mIE5VTEwgYW5kIHdhcm4gaWYgZmFpbGVkIHRvIGNyZWF0ZSBhIHBhZAoJICAyMDA3MDMyMjE1NDI1MS02NTAzNS1jZGI2NjUxZTYxYzJlYjAyMDVjYzhjMjQ2OTNiNDNmOThhMmRhNzE4Lmd6CgoyMDA3LTAzLTIyIDEyOjQxOjMyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlZmFjdG9yaXplIHRoZSBSVFBNdXggY29kZQoJICAyMDA3MDMyMjEyNDEzMi02NTAzNS0wYTMyNzgxNDc1NDZlMzNmNjg3MDk3YTQzYjc3NWIzZjZhYTk5ZjkzLmd6CgoyMDA3LTAzLTIyIDEyOjE0OjUzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBTb21lIG1vcmUgZG9jIGZpeGluZwoJICAyMDA3MDMyMjEyMTQ1My02NTAzNS0xMmQ2MDIyNzIyMTdiNTFiZDk3ZGY0ZTU3OTAwMjRjMzk5NjIyZGQzLmd6CgoyMDA3LTAzLTIyIDExOjMyOjI4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBNb3JlIFJlZmFjdG9yaW5nCgkgIDIwMDcwMzIyMTEzMjI4LTY1MDM1LWJhZTM0YTc5NTk5ZTdkZTUyOTNlZDc3YjAyMjM2MWNjZmY4MjJiYjkuZ3oKCjIwMDctMDMtMjIgMTE6MzE6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IE1vcmUgZG9jdW1lbnRhdGlvbgoJICAyMDA3MDMyMjExMzE1NC02NTAzNS02MjQ4NTA1NDFhNWI1ZmMzZGYyMzEyMDRiZTVhODNkMDcyMzlkYjI4Lmd6CgoyMDA3LTAzLTIxIDE2OjMzOjExICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBSZWZhY3RvciB0aGUgZXZlbnQgaGFuZGxlciBmdW5jdGlvbgoJICAyMDA3MDMyMTE2MzMxMS02NTAzNS05ODdlN2YyNWQxYWI1MzM1Yjc5ZjQ0YjI3N2FiZjE1ZTRlMzdkMzE3Lmd6CgoyMDA3LTAzLTIxIDE0OjUyOjQ0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkgIHJ0cG11eDogQWRkIFJUUERUTUZNdXggZWxlbWVudAoJICAyMDA3MDMyMTE0NTI0NC02NTAzNS05YTAxMzkwYjBkZWUzMzk4ZTUzMTk5YTFmYTFkOTM1MjAwNGYzMzhlLmd6CgoyMDA3LTAzLTIxIDEyOjMxOjQ5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZW1vdmUgRFRNRi1zcGVjaWZpYyBjb2RlIGZyb20gUlRQIG11eGVyIGFuZCBtYWtlIGl0IGV4dGVuZGFibGUKCSAgMjAwNzAzMjExMjMxNDktNjUwMzUtYjhhOGY1NWZmNzhlZWQ4Y2JiMDA0MmU4Mjc4ODVlZGZjNTQzODI0Mi5negoKMjAwNy0wMy0yMCAxMjowNToyNCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBQdXQgbW9yZSBoZWxwZnVsIGRlc2NyaXB0aW9uCgkgIDIwMDcwMzIwMTIwNTI0LTY1MDM1LWRiMjdhN2NmNjMwN2I1MTFhZWIzZDk5NmQyNmU3OTBlMzY3YTdiYWQuZ3oKCjIwMDctMDMtMTYgMTU6MTY6NDEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVtb3ZlIHRoZSAoY29tbWVudGVkLW91dCkgY29kZSBmb3IgYmxvY2tpbmcgdGhlIHBhZHMKCSAgMjAwNzAzMTYxNTE2NDEtNjUwMzUtMDEyM2FmMzg3OTUxZjg4NTk0Nzk3YzcyMmU4ODJjZmU3MDI0MGFmZi5negoKMjAwNy0wMy0xNiAxMzoxNDo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEcm9wIGJ1ZmZlcnMgaW5zdGVhZCBvZiBibG9ja2luZyB0aGUgc2lua3BhZHMKCSAgMjAwNzAzMTYxMzE0NDQtNjUwMzUtOWMxMzQ1YWQ5NjEwODg4MWY0NTVkNGI1NWE3ZjYyM2NkMzAyZDBlZC5negoKMjAwNy0wMy0xNCAxNzoxNjoxOCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBJbXBsZW1lbnQgc3RyZWFtIGxvY2tpbmcsIG5lZWRlZCBmb3IgRFRNRgoJICAyMDA3MDMxNDE3MTYxOC02NTAzNS1lNGQyNGIxNjA2Y2UwYTNlMmU3MzlmMDE4MzNmNjFlNGQ3NTU1ZWFjLmd6CgoyMDA3LTAzLTE0IDEwOjIwOjU4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHVzZSBHU1RfKl9PQkpFQ1QgaW5zdGVhZCBvZiBnXyoKCSAgMjAwNzAzMTQxMDIwNTgtNjUwMzUtZTI0NDI4ODhmMmUzZTVhM2E3NjU5YWQ3OTU0YTRmYmEzNDc0OWNlMi5negoKMjAwNy0wMy0xNCAxMDoxODo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBObyBuZWVkIHRvIG1hbmFnZSBwYWRzLCBwYXJlbnQgZG9lcyB0aGF0IGZvciB1cwoJICAyMDA3MDMxNDEwMTg1NC02NTAzNS1lZjVmNGFiZGUyMjcxMDJhMTEyODgzNWFiMzI1OTA1ZWFlNGMzNzI2Lmd6CgoyMDA3LTAzLTE0IDA5OjAzOjU4ICswMDAwICB6ZWVuaXhAZ21haWwuY29tIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGNvcHlyaWdodCBoZWFkZXIKCSAgMjAwNzAzMTQwOTAzNTgtZDAxNGEtM2E2ZDNlZWVhYWY1Y2I4Y2EzYmNhNmEzM2U5OWE1NTFmNTk4YmQ0OC5negoKMjAwNy0wMy0wNyAwODo1MzowNyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBUaGUgZmlyc3QgaW1wbGVtZW50YXRpb24gb2YgUlRQIG11eGVyCgkgIDIwMDcwMzA3MDg1MzA3LTY1MDM1LTgzMzQwMjQxM2Y5OWNiM2Y4YmU0ODgzZTkyYmFkNGM4NzIyNTEwYzkuZ3oKCjIwMTItMTItMTUgMjE6Mjc6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogbm8gbmVlZCBmb3IgYSBwcml2YXRlIHN0cnVjdAoKMjAxMi0xMi0xNCAxNToxMzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTItMTItMTQgMTU6MTM6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICBkb2NzOiBhZGQgc2NhbGV0ZW1wbyB0byBkb2NzCgoyMDEyLTExLTA2IDEzOjM2OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgIGF1ZGlvZng6IG1vdmUgc2NhbGV0ZW1wbyBlbGVtZW50IGZyb20gLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYyCgoyMDEyLTEwLTIzIDE0OjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRml4IGV2ZW50IGxlYWsKCjIwMTItMTAtMjMgMTQ6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggdGltZXN0YW1wIHRyYWNraW5nCgoyMDEyLTEwLTIzIDE0OjA2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkKCjIwMTItMTAtMjMgMTM6Mzk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IFN0b3JlIGluc3RhbmNlIHByaXZhdGUgZGF0YSBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIEdldHRpbmcgaXQgb3ZlciBhbmQgb3ZlciBhZ2FpbiB2aWEgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKCkKCSAgaXMgcmVhbGx5IHNsb3cuCgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wOS0xNCAxNjo0NTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogZmZtcGVnY29sb3JzcGFjZSBpcyBubyBtb3JlCgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSAgc2NhbGV0ZW1wbzogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTE4IDE4OjMyOjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcG9ydCB0byAwLjExCgoyMDExLTA3LTA3IDEwOjUyOjUwIC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGltcHJvdmUgdGhlIGRvY3MKCSAgRml4IHRoZSBzeW50YXgsIGFkZCBtb3JlIGV4cGxhbmF0aW9uIGFuZCB4cmVmIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMS0wMy0yMiAxMzo0Njo0MiArMDEwMCAgQ2hyaXMgRSBKb25lcyA8Y2hyaXNAY2hyaXNlam9uZXMuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBDb3JyZWN0bHkgaGFuZGxlIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggc3RvcD09LTEKCSAgRml4ZXMgYnVnICM2NDU0MjAuCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDA5LTExLTA1IDEzOjQwOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcHJvcGVybHkgdXBkYXRlIG5ldyBzZWdtZW50cwoJICBTY2FsZXRlbXBvIHdhcyBtaXNzaW5nIGFuIHVwZGF0ZSBvZiAnc3RvcCcgaW4KCSAgbmV3IHNlZ21lbnQgcGFyYW1ldGVycyB3aGVuIHB1c2hpbmcgaXQgZG93bnN0cmVhbSwKCSAgd2hpY2ggY2F1c2VkIGZpbGVzIHRvIGVuZCBlYXJsaWVyIHdoZW4gcmF0ZSA8IDEuCgkgIEZpeGVzICM1OTk5MDMKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEJhc3RpYW4gSGVjaHQgPGhlY2h0YkBnbWFpbC5jb20+CgoyMDA5LTA2LTE0IDIwOjAwOjUxICswMjAwICBNYXhpbWlsaWFuIEjDtmduZXIgPHBibWF4aUBob2VnbmVycy5kZT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRXhwbGljaXRlbHkgY2FzdCB0byBzaWduZWQgaW50ZWdlcnMgdG8gZml4IGEgc2VnZmF1bHQKCSAgRml4ZXMgYnVnICM1ODU2NjAuCgoyMDA5LTAyLTEzIDEyOjE4OjQ4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRG8gbm90IHVzZSB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYy4KCjIwMDgtMTAtMzAgMTI6MTM6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHNjYWxldGVtcG86IFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCjIwMDgtMDgtMzEgMTI6MjA6MzMgKzAwMDAgIFJvdiBKdXZhbm8gPHJvdmp1dmFub0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc2NhbGV0ZW1wbyBwbHVnaW4sIHdoaWNoIGFsbG93cyB0byBzY2FsZSB0aGUgc3BlZWQgb2YgYXVkaW8gd2l0aG91dCBjaGFuZ2luZyB0aGUgcGl0Y2ggYnkgaGFuZGxpbmcgc2Vla3Mgd2l0aCBhIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb3YgSnV2YW5vIDxyb3ZqdXZhbm8gYXQgdXNlcnMgZG90IHNvdXJjZWZvcmdlIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOiAocG9wX3N0YXR1c19iYXIpLAoJICAoc3RhdHVzX2Jhcl9wcmludGYpLCAoZGVtb19ndWlfc2Vla19iYXJfZm9ybWF0KSwgKHVwZGF0ZV9wb3NpdGlvbiksCgkgIChkZW1vX2d1aV9zZWVrX2Jhcl9jaGFuZ2UpLCAoZGVtb19ndWlfZG9fY2hhbmdlX3JhdGUpLAoJICAoZGVtb19ndWlfZG9fc2V0X3JhdGUpLCAoZGVtb19ndWlfZG9fcmF0ZV9lbnRlcmVkKSwKCSAgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9hZHZhbmNlZCksIChkZW1vX2d1aV9kb190b2dnbGVfZGlzYWJsZWQpLAoJICAoZGVtb19ndWlfZG9fc2VlayksIChkZW1vX2d1aV9kb19wbGF5KSwgKGRlbW9fZ3VpX2RvX3BhdXNlKSwKCSAgKGRlbW9fZ3VpX2RvX3BsYXlfcGF1c2UpLCAoZGVtb19ndWlfZG9fb3Blbl9maWxlKSwKCSAgKGRlbW9fZ3VpX2RvX3BsYXlsaXN0X3ByZXYpLCAoZGVtb19ndWlfZG9fcGxheWxpc3RfbmV4dCksCgkgIChkZW1vX2d1aV9kb19hYm91dF9kaWFsb2cpLCAoZGVtb19ndWlfZG9fcXVpdCksCgkgIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9zdHJpZGUpLCAoZGVtb19ndWlfcmVxdWVzdF9zZXRfb3ZlcmxhcCksCgkgIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9zZWFyY2gpLCAoZGVtb19ndWlfcmF0ZV9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfc3RhcnRlZCksIChkZW1vX2d1aV9wbGF5aW5nX3BhdXNlZCksCgkgIChkZW1vX2d1aV9wbGF5aW5nX2VuZGVkKSwgKGRlbW9fZ3VpX3BsYXllcl9lcnJvcmVkKSwKCSAgKGRlbW9fZ3VpX3N0cmlkZV9jaGFuZ2VkKSwgKGRlbW9fZ3VpX292ZXJsYXBfY2hhbmdlZCksCgkgIChkZW1vX2d1aV9zZWFyY2hfY2hhbmdlZCksIChkZW1vX2d1aV9zZXRfcGxheWVyX2Z1bmMpLAoJICAoZGVtb19ndWlfc2V0X3BsYXlsaXN0X2Z1bmMpLCAoYnVpbGRfZ3ZhbHVlX2FycmF5KSwKCSAgKGNyZWF0ZV9hY3Rpb24pLCAoZGVtb19ndWlfc2hvd19mdW5jKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXIpLAoJICAoZGVtb19ndWlfc2V0X3BsYXlsaXN0KSwgKGRlbW9fZ3VpX3Nob3cpLCAoZGVtb19ndWlfZ2V0X3Byb3BlcnR5KSwKCSAgKGRlbW9fZ3VpX3NldF9wcm9wZXJ0eSksIChkZW1vX2d1aV9pbml0KSwgKGRlbW9fZ3VpX2NsYXNzX2luaXQpLAoJICAoZGVtb19ndWlfZ2V0X3R5cGUpOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOiAoaGFuZGxlX2Vycm9yX21lc3NhZ2UpLAoJICAoaGFuZGxlX3F1aXQpLCAobWFpbik6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOiAobm9fcGlwZWxpbmUpLAoJICAoZGVtb19wbGF5ZXJfZXZlbnRfbGlzdGVuZXIpLCAoZGVtb19wbGF5ZXJfc3RhdGVfY2hhbmdlZF9jYiksCgkgIChkZW1vX3BsYXllcl9lb3NfY2IpLCAoZGVtb19wbGF5ZXJfYnVpbGRfcGlwZWxpbmUpLCAoX3NldF9yYXRlKSwKCSAgKGRlbW9fcGxheWVyX3NjYWxlX3JhdGVfZnVuYyksIChkZW1vX3BsYXllcl9zZXRfcmF0ZV9mdW5jKSwKCSAgKF9zZXRfc3RhdGVfYW5kX3dhaXQpLCAoZGVtb19wbGF5ZXJfbG9hZF91cmlfZnVuYyksCgkgIChkZW1vX3BsYXllcl9wbGF5X2Z1bmMpLCAoZGVtb19wbGF5ZXJfcGF1c2VfZnVuYyksIChfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9zZWVrX2J5X2Z1bmMpLCAoZGVtb19wbGF5ZXJfc2Vla190b19mdW5jKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wb3NpdGlvbl9mdW5jKSwgKGRlbW9fcGxheWVyX2dldF9kdXJhdGlvbl9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3NjYWxlX3JhdGUpLCAoZGVtb19wbGF5ZXJfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfbG9hZF91cmkpLCAoZGVtb19wbGF5ZXJfcGxheSksIChkZW1vX3BsYXllcl9wYXVzZSksCgkgIChkZW1vX3BsYXllcl9zZWVrX2J5KSwgKGRlbW9fcGxheWVyX3NlZWtfdG8pLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uKSwgKGRlbW9fcGxheWVyX2dldF9kdXJhdGlvbiksCgkgIChkZW1vX3BsYXllcl9nZXRfcHJvcGVydHkpLCAoZGVtb19wbGF5ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGRlbW9fcGxheWVyX2luaXQpLCAoZGVtb19wbGF5ZXJfY2xhc3NfaW5pdCksCgkgIChkZW1vX3BsYXllcl9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzogKGJlc3Rfb3ZlcmxhcF9vZmZzZXRfZmxvYXQpLAoJICAoYmVzdF9vdmVybGFwX29mZnNldF9zMTYpLCAob3V0cHV0X292ZXJsYXBfZmxvYXQpLAoJICAob3V0cHV0X292ZXJsYXBfczE2KSwgKGZpbGxfcXVldWUpLCAocmVpbml0X2J1ZmZlcnMpLAoJICAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtKSwgKGdzdF9zY2FsZXRlbXBvX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zY2FsZXRlbXBvX3NpbmtfZXZlbnQpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X2NhcHMpLAoJICAoZ3N0X3NjYWxldGVtcG9fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zY2FsZXRlbXBvX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2NhbGV0ZW1wb19iYXNlX2luaXQpLCAoZ3N0X3NjYWxldGVtcG9fY2xhc3NfaW5pdCksCgkgIChnc3Rfc2NhbGV0ZW1wb19pbml0KToKCSAgKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgICogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgc2NhbGV0ZW1wbyBwbHVnaW4sIHdoaWNoIGFsbG93cyB0byBzY2FsZSB0aGUgc3BlZWQgb2YgYXVkaW8gd2l0aG91dAoJICBjaGFuZ2luZyB0aGUgcGl0Y2ggYnkgaGFuZGxpbmcgc2Vla3Mgd2l0aCBhIHJhdGUhPTEuMC4KCSAgSW50ZWdyYXRlIGl0IGludG8gdGhlIGRvY3MgYW5kIGFkZCB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgaXQuCgkgIEZpeGVzIGJ1ZyAjNTM3NzAwLgoKMjAxMi0xMi0xMyAxMjozNjoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogYWRkIChidXQgZGlzYWJsZSkgbW9yZSBydHAgaml0dGVyYnVmZmVyIHRlc3RzCgkgIFRlc3RzIG5lZWQgdG8gYmUgcG9ydGVkIHRvIDEuMCBiZWZvcmUgdGhleSBjYW4gYmUgZW5hYmxlZCBidXQgYWRkZWQgaGVyZSBzbyB0aGV5CgkgIGRvbid0IGdldCBmb3Jnb3R0ZW4uCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODM4CgoyMDEyLTAxLTEzIDAxOjExOjMxICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBidW5kbGUgdG9nZXRoZXIgbGF0ZSBsb3N0LWV2ZW50cwoJICBUaGUgc2NlbmFyaW8gd2hlcmUgeW91IGhhdmUgYSBnYXAgaW4gYSBzdGVhZHkgZmxvdyBvZiBwYWNrZXRzIG9mCgkgIHNheSAxMCBzZWNvbmRzICg1MDAgcGFja2V0cyBvZiB3aXRoIGR1cmF0aW9uIG9mIDIwbXMpLCB0aGUgaml0dGVyYnVmZmVyCgkgIHdpbGwgaWRsZSB1cCB1bnRpbCBpdCByZWNlaXZlcyB0aGUgZmlyc3QgYnVmZmVyIGFmdGVyIHRoZSBnYXAsIGJ1dCB3aWxsCgkgIHRoZW4gZ28gb24gdG8gcHJvZHVjZSA0OTkgbG9zdC1ldmVudHMsIHRvICJjb3ZlciB1cCIgdGhlIGdhcC4KCSAgTm93IHRoaXMgaXMgb2J2aW91c2x5IHdyb25nLCBzaW5jZSB0aGUgbGFzdCBwb3NzaWJsZSB0aW1lIGZvciB0aGUgZWFybGllc3QKCSAgbG9zdC1ldmVudHMgdG8gYmUgcGxheWVkIG91dCBoYXMgb2J2aW91c2x5IGV4cGlyZWQsIGJ1dCB0aGUgZmFjdCB0aGF0CgkgIHRoZSBqaXR0ZXJidWZmZXIgaGFzIGEgImxlbmd0aCIsIHJlcHJlc2VudGVkIHdpdGggaXRzIG93biBsYXRlbmN5IGNvbWJpbmVkCgkgIHdpdGggdGhlIHRvdGFsIGxhdGVuY3kgZG93bnN0cmVhbSwgYWxsb3dzIGZvciBjb3ZlcmluZyB1cCBhdCBsZWFzdCBzb21lCgkgIG9mIHRoaXMgZ2FwLgoJICBTbyBpbiB0aGUgY2FzZSBvZiB0aGUgImxlbmd0aCIgYmVpbmcgMjAwbXMsIHdoaWxlIGhhdmluZyByZWNlaXZlZCBwYWNrZXQKCSAgNTAwLCB0aGUgaml0dGVyYnVmZmVyIHNob3VsZCBzdGlsbCBjcmVhdGUgYSB0aW1lb3V0IGZvciBwYWNrZXQgNDkxLCB3aGljaAoJICB3aWxsIGhhdmUgaXRzIHRpbWUgZXhwaXJlIGF0IDEwLDAyIHNlY29uZHMsIHNwZWNpYWxseSBzaW5jZSBpdCBtaWdodAoJICBhY3R1YWxseSBhcnJpdmUgaW4gdGltZSEgQnV0IG9idmlvdXNseSwgd2FpdGluZyBmb3IgcGFja2V0IDEwMCwgdGhhdCBoYWQKCSAgaXRzIHRpbWUgZXhwaXJlIGF0IDIgc2Vjb25kcywgKHJlbWVtYmVyaW5nIHRoYXQgdGhlIGN1cnJlbnQgdGltZSBpcyAxMCkKCSAgaXMgdXNlbGVzcy4uLgoJICBUaGUgcGF0Y2ggd2lsbCBjcmVhdGUgb25lICJiaWciIGxvc3QtZXZlbnQgZm9yIHRoZSBmaXJzdCA0OTAgcGFja2V0cywKCSAgYW5kIHRoZW4gZ28gb24gdG8gY3JlYXRlIHNpbmdsZSBvbmVzIGlmIHRoZXkgY2FuIHJlYWNoIHRoZWlyCgkgIHBsYXlvdXQgZGVhZGxpbmUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODM4CgoyMDEyLTEyLTEzIDA5OjI3OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggVENQIHJlY29ubmVjdAoJICBJZ25vcmUgb3RoZXIgY29tbWFuZHMgd2hlbiByZWNvbm5lY3RpbmcsIG90aGVyd2lzZSB0aGUgbG9vcCBmdW5jdGlvbiB3b3VsZCBwYXVzZQoJICBhbmQgdGhlIHJlY29ubmVjdGlvbiB3b3VsZCBub3QgaGFwcGVuLiBDb250aW51ZSBsb29waW5nIGFmdGVyIGRvaW5nIGEgcmVjb25uZWN0CgkgIHNvIHRoYXQgd2UgaGF2ZSBhIGNoYW5jZSB0byBhY3R1YWxseSByZWFkIHRoZSBuZXcgZGF0YS4KCjIwMTItMTItMTMgMDE6MDI6MzQgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgZGlyZWN0c291bmQsIHdhdmVmb3JtOiBmaXggY29tcGlsYXRpb24gZXJyb3JzIGNhdXNlZCBieSBjaXJjdWxhciBpbmNsdWRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTI0CgoyMDEyLTEyLTEyIDE3OjM1OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogc3lzL29zcy9jb21tb24uaDoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkgIGV4dC9zeXM6IEZpeCBzb21lIGNvbXBpbGF0aW9uIGVycm9ycyBjYXVzZWQgYnkgY2lyY3VsYXIgaW5jbHVkZXMKCjIwMTItMTItMTIgMTI6MDc6MzQgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBwcm9wZXJseSBzZXQgc3JjcGFkIGNoYW5uZWwgcG9zaXRpb24KCSAgVGhlIHNyYyBwYWQgY2FwcyBhbHdheXMgZGVzY3JpYmUgYSBzaW5nbGUgYXVkaW8gY2hhbm5lbCBzbyBvbmx5IHRoZQoJICBmaXJzdCBwb3NpdGlvbiBtYXR0ZXJzIGlmIGRlaW50ZXJsZWF2ZSBpcyBjb25maWd1cmVkIHRvIGtlZXAgY2hhbm5lbAoJICBwb3NpdGlvbnMgaW4gaXRzIHNyYyBwYWRzLgoKMjAxMi0xMi0xMiAxMTowOTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdGltZW91dCBvbiB1ZHBzcmMgaXMgaW4gbmFub3NlY29uZHMKCjIwMTItMTItMTIgMTE6MDg6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGltcHJvdmUgdGltZW91dHMKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZXQgdGhlIHRpbWVvdXQgYWZ0ZXIgd2Ugd2VudCB0byB0aGUgUkVBRFkgc3RhdGUgYnkgdXNpbmcKCSAgdGhlIHRpbWVvdXQgd2hlbiBjaGVja2luZyB0aGUgY29uZGl0aW9uLiBUaGlzIGFsc28gbWFrZXMgaXQgcG9zc2libGUgdG8gc2V0IHRoZQoJICB0aW1lb3V0IHdpdGggYSBoaWdoZXIgZ3JhbnVsYXJpdHkgdGhhbiBzZWNvbmRzLgoKMjAxMi0xMi0xMSAxMzowMDo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogYWRkIHN1cHBvcnQgZm9yIHN0cmlkZXMKCSAgSW1wbGVtZW50IHN0cmlkZSBzdXBwb3J0IGNvcnJlY3RseSBieSB0YWtpbmcgaXQgZnJvbSB0aGUgR3N0VmlkZW9GcmFtZS4KCSAgUHJvcG9zZSBhIGJ1ZmZlcnBvb2wgdXBzdHJlYW0gd2hlbiBub3Qgb3BlcmF0aW5nIGluIHBhc3N0aHJvdWdoLgoKMjAxMi0wOS0yNyAxMjoxNzo1OCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkgIHJ0c3BzcmM6IGRvIG5vdCBjaGFuZ2Ugc3RhdGUgdG8gUExBWUlORyBpZiBjdXJyZW50bHkgY2hhbmluZyBzdGF0ZQoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYyAoZ3N0X3J0c3BzcmNfcGxheSk6IHN0YXRlIGNoYW5nZSBtaWdodCBiZQoJICBoYXBwZW5pbmcgaW4gdGhlIGFwcGxpY2F0aW9uIHRocmVhZCwgc28gd2UgZG9uJ3QgY2hhbmdlIHRoZSBzdGF0ZSB0bwoJICBQTEFZSU5HIGluIHRoZSBnc3RydHNwc3JjIHRocmVhZCB1bmxlc3MgaXQgaXMgc2FmZS4KCSAgQSBzcGVjaWZpYyBjYXNlIGlzIHdoZW4gY2hhbmluZyB0aGUgc3RhdGUgdG8gTlVMTCBmcm9tIHRoZSBhcHBsaWNhdGlvbgoJICB0aHJlYWQuIFRoaXMgd2lsbCBzeW5jaHJvbm91c2x5IHRyeSB0byBzdG9wIHRoZSB0YXNrICh3aXRoIHRoZSBlbGVtZW50CgkgIHN0YXRlIGxvY2sgYWNxdWlyZWQpLCBidXQgd2Ugd2lsbCB0cnkgYSBnc3RfZWxlbWVudF9zZXRfc3RhdGUgZnJvbQoJICBnc3RydHNwc3JjIHRocmVhZCB3aGljaCB3aWxsIGJsb2NrIG9uIHRoZSBlbGVtZW50IHN0YXRlIGxvY2sgY2F1c2luZyBhCgkgIGRlYWRsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MzEyCgoyMDEyLTEyLTEwIDExOjQ0OjI2ICswMDAwICBBbGV4ZXkgQ2hlcm5vdiA8NGVybm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBGaXggcmVzaXppbmcgdGhlIENvY29hIHdpbmRvdyBvbiByZWNlaXZpbmcgbmV3IGNhcHMKCSAgRml4ZXMgYnVnICM2ODk3MzIuCgoyMDEyLTExLTMwIDIwOjM3OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIHY0bDJzcmM6IGxpbmsgYWdhaW5zdCAtbHJ0IGZvciBjbG9ja19nZXR0aW1lKCkKCSAgTmVlZCB0byBleHBsaWNpdGx5IGxpbmsgYWdhaW5zdCAtbHJ0IGZvciBjbG9ja19nZXR0aW1lKCksIHdoaWNoCgkgIHdlIGRvbid0IGdldCBpbiB0aGUgbGlicyBhbnkgbW9yZSwgYmVjYXVzZSBjb3JlIG1vdmVkIHRoZQoJICBnbW9kdWxlLW5vLWV4cG9ydC0yLjAgYml0IGludG8gUmVxdWlyZXMuUHJpdmF0ZS4KCSAgTm90IHJlcXVpcmVkIGZvciBuZXdlciBnbGliYywgYnV0IGZvciBvbGRlciBvbmVzLCBzbyBjaGVjayBmb3IgdGhhdC4KCjIwMTItMTEtMzAgMTc6MjI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogYWNjZXB0IGF1ZGlvL3dlYm0gYXMgd2VsbCBhcyB2aWRlby93ZWJtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkzMzYKCjIwMTItMTEtMzAgMTc6MjA6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB3ZWJtdXg6IGZpeCBsaW5raW5nIHdpdGggc2hvdXQyc2VuZCBlbGVtZW50CgkgIFNob3V0MnNlbmQgb25seSBhY2NlcHRzIHdlYm0gZm9ybWF0LCBub3QgbWF0cm9za2EsIGJ1dCBkdWUKCSAgdG8gYSBidWcgaW4gbWF0cm9za2FtdXgsIHdlYm1tdXgncyBzb3VyY2UgcGFkIGlzIGFsc28gY3JlYXRlZAoJICB3aXRoIHRoZSBtYXRyb3NrYSBzb3VyY2UgcGFkIHRlbXBsYXRlIGFzIHBhZCB0ZW1wbGF0ZSwgd2hpY2gKCSAgbWFrZXMgdGhlIGxpbmsgZnVuY3Rpb24gdGhpbmsgaXQgY2FuJ3QgbGluayB3ZWJtbXV4IHRvIHNob3V0MnNlbmQuCgkgIEFsc28gYWRkIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTMzNgoKMjAxMi0xMS0yNyAxMToxMzozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIG5ldyBvcHRpb24gcGFyc2VyIGZ1bmN0aW9uCgoyMDEyLTExLTI2IDE1OjE3OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgIGxhdzogZml4IGFjY2lkZW50YWwgZmlsZSBwZXJtaXNzaW9ucyBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2OQoKMjAxMi0xMS0yNSAxNjowNToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBkZWZpbmUKCjIwMTItMTEtMjUgMTQ6MTY6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgY3JpdGljYWxzIGlmIHVua25vd24gZm91cmNjIGhhcyBzcGFjZSBhdCBiZWdpbm5pbmcgb3IgZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI5MzYKCjIwMTItMTEtMjQgMTk6MzI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGZpeCBib3JkZXIgZmlsbGluZyBmb3IgcGxhbmFyIFlVViBmb3JtYXRzCgkgIFdlIHdvdWxkIGdldCBhIGdyZWVuIGJvcmRlciBpbnN0ZWFkIG9mIGEgYmxhY2sgb25lLCBmb3IKCSAgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk5MQoKMjAxMi0xMS0yNCAxNDoyNzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jOgoJICBtdWxhdzogY29uc3QtaWZ5IHNvbWUgYXJyYXlzCgoyMDEyLTExLTAyIDEyOjM4OjQ0IC0wNDAwICBSb2xhbmQgS3Jpa2F2YSA8cmtyaWthdmFAZ21haWwuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgIG11bGF3ZGVjOiBmaXggaW50ZWdlciBvdmVycnVuCgkgIFRoZXJlIG1pZ2h0IGJlIG1vcmUgdGhhbiA2NTUzNSBzYW1wbGVzIGluIGEgY2h1bmsgb2YgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2OQoKMjAxMi0xMS0yMiAxMTozNDozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGF1c2UgdGhlIHRhc2sgaW5zdGVhZCBvZiBzcGlubmluZwoJICBBY3R1YWxseSBwYXVzZSB0aGUgbG9vcCB0YXNrIGluc3RlYWQgb2Ygc3Bpbm5pbmcgZm9yZXZlci4KCjIwMTItMTEtMTkgMDM6MzE6MzcgLTA1MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIGdyYXkgOC8xNiBzdXBwb3J0CgoyMDEyLTExLTE5IDExOjI1OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNDk3YzRmIHRvIGE3MmZhZWEKCjIwMTItMTEtMTYgMTU6Mzg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBzZWdtZW50IGV2ZW50CgkgIE1ha2UgYSBzZWdtZW50IGV2ZW50IHdoZW4gd2Ugc2VuZCBhIG5ldyByYW5nZSBoZWFkZXIgdG8gYSBjbGllbnQgKGZpcnN0IFBMQVkKCSAgcmVxdWVzdCBvciBhZnRlciBhIHNlZWspLiBTZW5kIHRoZSBzZWdtZW50IGV2ZW50IGluIGludGVybGVhdmVkIG1vZGUuCgkgIENsZWFuIHRoZSBzZWdtZW50IGV2ZW50IG9uIGNsZWFudXAKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODM4MgoKMjAxMi0xMS0xNiAxNToxODowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGNoZWNrIGZvciBhY3RpdmUgc3RyZWFtcwoJICBBIHN0cmVhbSBjYW4gYmUgYWN0aXZlIHdpdGhvdXQgYSBzcmNwYWQgeWV0IGFuZCB3ZSB3YW50IHRvIHNlbmQKCSAgZXZlbnRzIG9uIHRob3NlIHN0cmVhbXMgYXMgd2VsbC4KCjIwMTItMTEtMTYgMTM6MzE6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNyZWF0ZSBhbmQgYWRkIHBhZHMgb3V0c2lkZSBvZiBsb2NrCgkgIENyZWF0ZSBhbmQgYWRkIHRoZSBnaG9zdHBhZCBmb3IgdGhlIG5ldyBzdHJlYW0gb3V0c2lkZSBvZiB0aGUgbG9jayBiZWNhdXNlIGl0CgkgIGlzIG5vdCBuZWVkZWQgYW5kIGNhdXNlcyBkZWFkbG9ja3MuCgoyMDEyLTA5LTEyIDIyOjExOjIwIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgcnRzcHNyYzogYWxsb3cgY2xpZW50IHRvIGRpc2FibGUgcmVjb25uZWN0aW9uCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5bY2hdOiBhZGRlZCBuZXcgInVkcC1yZWNvbm5lY3QiIHByb3BlcnR5LiBCZWZvcmUsCgkgIHJ0c3BzcmMgYWx3YXlzIHRyaWVkIHRvIHJlY29ubmVjdCB0byB0aGUgc2VydmVyIHdoZW4gdGhlIFJUU1AKCSAgY29ubmVjdGlvbiB3YXMgY2xvc2VkIGJ5IHRoZSBzZXJ2ZXIuIFRoaXMgcHJvcGVydHkgbGV0cyB0aGUgdXNlcgoJICBkZWNpZGUgd2hldGhlciBpdCB3YW50cyBydHNwc3JjIHRvIHJlY29ubmVjdCBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM5MTIKCjIwMTItMTEtMTYgMTI6MTY6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNsZWFyIHZhcmlhYmxlcyBiZWZvcmUgcmV0cnlpbmcKCSAgRWxzZSB3ZSBtaWdodCB1bnJlZiBhbiBvbGQgdWRwc3JjIHR3aWNlIGluIGNsZWFudXAuCgoyMDEyLTExLTE2IDEyOjAwOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwcm9wb3NlIHBvcnRzIGluIG11bHRpY2FzdAoJICBXaGVuIHRoZSB1c2VyIGNvbmZpZ3VyZWQgYSBwb3J0LXJhbmdlLCBwcm9wb3NlIHBvcnRzIGZyb20gdGhpcyByYW5nZQoJICBhcyB0aGUgbXVsdGljYXN0IHBvcnRzLiBUaGUgc2VydmVyIGlzIGZyZWUgdG8gaWdub3JlIHRoaXMgcmVxdWVzdCBidXQgaWYgaXQKCSAgaG9ub3VycyBpdCwgaW5jcmVtZW50IG91ciBwb3J0cyBzbyB0aGF0IHdlIHN1Z2dlc3QgdGhlIG5leHQgcG9ydCBwYWlyIGZvciB0aGUKCSAgbmV4dCBzdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk0MjAKCjIwMTItMTEtMTYgMTE6NTg6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBtb3JlIGRlYnVnCgoyMDEyLTExLTE2IDA5OjA5OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgbWVzc2FnZXMgaW4gbWF4LXNpemUgbW9kZSBhcyB3ZWxsCgkgIE5vIHJlYXNvbiBub3QgdG8gcmVhbGx5LgoKMjAxMi0xMS0xNSAxNDozNzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogcG9zdCBlcnJvciBiZWZvcmUgc3RvcHBpbmcKCjIwMTItMTEtMTQgMDA6MTM6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBnc3RfYWRhcHRlcl9wcmV2X3RpbWVzdGFtcCAtPiBnc3RfYWRhcHRlcl9wcmV2X3B0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NTk4CgoyMDEyLTExLTEyIDE5OjIzOjQxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIE5WMTIvTlYyMSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODgyMjUKCjIwMTItMTEtMTIgMTM6MDE6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEb24ndCBsZWFrIEdzdFZpZGVvQ29kZWNGcmFtZXMgdGhhdCBjYXVzZSB0aGUgY3JlYXRpb24gb2YgaW52aXNpYmxlIGZyYW1lcwoJICBGaXhlcyBidWcgIzY4MjcxNC4KCjIwMTItMTEtMTIgMTE6NDc6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogVXNlIG5ldyBHVHlwZSBmb3IgR1RocmVhZCBpbnN0ZWFkIG9mIGp1c3QgR19UWVBFX1BPSU5URVIKCjIwMTItMTEtMTIgMTE6MTQ6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBwcm90ZWN0IGFnYWluc3QgaW52YWxpZCBSVFAgcGFja2V0cwoKMjAxMi0xMS0xMiAxMDo0NDowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEFjdHVhbGx5IHVzZSB0aGUgc3RvcCgpIHZmdW5jIGltcGxlbWVudGF0aW9uCgoyMDEyLTExLTEyIDEwOjMxOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IGxhc3QgY29tbWl0CgoyMDEyLTExLTEyIDEwOjEwOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogS2VlcCB0aGUgaW5wdXQgc3RhdGUgaW4gcmVzZXQoKQoJICBJdCdzIHN0aWxsIHZhbGlkIGFmdGVyIGEgZmx1c2ggYW5kIHdlIG1pZ2h0IG5vdCBnZXQgYSBuZXcgb25lLgoKMjAxMi0xMS0xMiAxMDowODo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEFsc28gZGVzdHJveSBkZWNvZGVyIGluIHNldF9mb3JtYXQoKSBpZiBpdCB3YXMgY3JlYXRlZCBhbHJlYWR5CgkgIEZpeGVzIGEgbWVtb3J5IGxlYWsuCgoyMDEyLTExLTEyIDA5OjQ4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRG9uJ3QgY2xlYXIgaW5wdXQgc3RhdGUgaW4gcmVzZXQoKQoJICBUaGUgaW5wdXQgc3RhdGUgaXMgc3RpbGwgdmFsaWQgYWZ0ZXIgZmx1c2hpbmcgdW50aWwKCSAgbmV3IGNhcHMgYXJyaXZlLgoJICBGaXhlcyBidWcgIzY4ODA5Mi4KCjIwMTItMTEtMTAgMTg6MjE6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IGFkZCBzdXBwb3J0IGZvciBZVjEyCgkgIFdlIGNhbiBkbyBJNDIwLCBzbyB3ZSBjYW4gZG8gWVYxMiBhcyB3ZWxsLgoKMjAxMi0xMS0xMCAxMjozOTowOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9uJ3Qgd3JpdGUgc3RyZWFtIGhlYWRlcnMgd2l0aCBrZXktdW5pdC1ldmVudAoJICBEb24ndCB3cml0ZSBzdHJlYW0gaGVhZGVycywgbGV0IHVwc3RyZWFtIGVsZW1lbnRzIGluc2VydCB0aGVtIGluIHRoZSBzdHJlYW0gaWYKCSAgYWxsX2hlYWRlcnM9dHJ1ZSBpcyBzZXQgaW4ga2V5IHVuaXQgZXZlbnRzLgoKMjAxMi0xMS0wOSAxMzoyNzoxNiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBBZGQgTlYxMi9OVjIxIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Nzk2NAoKMjAxMi0xMS0wOSAxNjozMTowNSArMDEwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBEb24ndCBnaXZlIHVwIHNvIGVhc2lseSBpZiBmYWlsZWQgdG8gZGVjb2RlIGEgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQzNgoKMjAxMi0xMS0wOSAxMToyMjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEFsc28gY2xlYXIgR0Vycm9yCgoyMDEyLTExLTA5IDExOjIwOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRG9uJ3QgZXJyb3Igb3V0IGlmIHdlIGdldCBhbiBJQ01QIGRlc3RpbmF0aW9uLXVucmVhY2hhYmxlIG1lc3NhZ2Ugd2hlbiB0cnlpbmcgdG8gcmVhZCBwYWNrZXRzCgkgIFNlZSBidWcgIzUyOTQ1NCBhbmQgIzY4Nzc4MiBhbmQgY29tbWl0CgkgIDc1MWYyYmIzNjQ2ZjJiZWZmMzY5OGM5ZjA5OTAwZGJkMGVhMDhhYmIKCjIwMTItMTEtMDcgMjA6MzU6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogdXBkYXRlIGNvdXJ0ZXN5IG9mIGF1dG91cGRhdGUKCjIwMTItMTEtMDcgMTg6NDg6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbGV0IEFHX0dTVF9QTFVHSU5fRE9DUyBjaGVjayBmb3IgcHl0aG9uCgkgIEFuZCB1cGRhdGUgY29tbW9uIGZvciBtb3ZlIGZyb20gQVNfUEFUSF9QWVRIT04gdG8gQU1fUEFUSF9QWVRIT04sCgkgIHdoaWNoIGFzIGEgc2lkZS1lZmZlY3Qgc2hvdWxkIHBpY2sgdXAgbmV3ZXIgcHl0aG9uIHZlcnNpb25zIGFzCgkgIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjM5MDMKCjIwMTItMTEtMDcgMTM6MzY6MzMgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIEZpeCB2cDhydHAgaGVhZGVyIG5hbWVzIGluIE1ha2VmaWxlCgoyMDEyLTExLTA2IDE1OjAzOjU1ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBBZGQgc3VwcG9ydCBmb3IgYXV0b21hdGljIGNyb3BwaW5nCgkgIFRoaXMgY2hhbmdlIGVuYWJsZSBhdXRvbWF0aWMgY3JvcHBpbmcgdXNpbmcgLTEgc2V0IHRvIGxlZnQsIHRvcCwgcmlnaHQgb3IKCSAgYm90dG9tIHByb3BlcnR5LiBJbiB0aGUgY2FzZSBib3RoIHNpZGUgYXJlIHNldCB0byBhdXRvbWF0aWMgY3JvcHBpbmcsIHRoZQoJICBjcm9waW5nIHdpbGwgYmUgZG9uZSBlcXVhbGx5IG9uIGJvdGggc2lkZSAoaW4gdGhlIG9kZCBjYXNlLCByaWdodCBhbmQKCSAgYm90dG9tIGNyb3BwaW5nIHdpbGwgYmUgMSBwaXhlbCBtb3JlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Nzc2MQoKMjAxMi0xMS0wMiAxNjozOToyOCArMDEwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBEb24ndCB1bm1hcCBvciBmaW5pc2hfZnJhbWUgYW4gaW52YWxpZCBHc3RCdWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2NAoKMjAxMi0xMS0wNiAxMzoyMjo1OCArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogdGhlIFJUQ1AgcG9ydCBudW1iZXIgaXMgaW5jbHVzaXZlCgkgIFRoZSBjb25maWd1cmVkIHBvcnQgbnVtYmVyIHBhaXIgaGFzIGl0cyB1cHBlciBib3VuZCBzZXQgdG8gdGhlIG1heGltdW0KCSAgYWxsb3dlZCBSVENQIHBvcnQsIGluY2x1c2l2ZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk0MjAKCjIwMTItMTEtMDMgMjA6Mzg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDQgMDA6MDc6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkqIGV4dC9kdi9nc3Rkdi5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmM6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5oOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuaDoKCSogZXh0L2pwZWcvc21va2Vmb3JtYXQuaDoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSogZXh0L21pa21vZC9SRUFETUU6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmg6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmg6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmg6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYnBsdWdpbi5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZweC9wbHVnaW4uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkqIGdzdC9hdWRpb2Z4L21hdGhfY29tcGF0Lmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5oOgoJKiBnc3QvYXZpL2F2aS1pZHMuaDoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvcGx1Z2lucy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSogZ3N0L2Zsdi9hbWZkZWZzLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguaDoKCSogZ3N0L2Zsdi9nc3RtZW1pbmRleC5jOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5jOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5oOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkqIGdzdC9nb29tL2RyYXdtZXRob2RzLmM6CgkqIGdzdC9nb29tL2RyYXdtZXRob2RzLmg6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZmlsdGVyc19tbXguczoKCSogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6CgkqIGdzdC9nb29tL2dvb20uaDoKCSogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tL2dvb21fZ3JhcGhpYy5oOgoJKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkqIGdzdC9nb29tL2dvb21fdG9vbHMuYzoKCSogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJKiBnc3QvZ29vbS9nb29tX3R5cGVkZWZzLmg6CgkqIGdzdC9nb29tL2dvb21fdmlzdWFsX2Z4Lmg6CgkqIGdzdC9nb29tL2dyYXBoaWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkqIGdzdC9nb29tL2xpbmVzLmM6CgkqIGdzdC9nb29tL2xpbmVzLmg6CgkqIGdzdC9nb29tL21hdGh0b29scy5jOgoJKiBnc3QvZ29vbS9tYXRodG9vbHMuaDoKCSogZ3N0L2dvb20vbW90aWZfZ29vbTEuaDoKCSogZ3N0L2dvb20vbW90aWZfZ29vbTIuaDoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLmg6CgkqIGdzdC9nb29tL3BwY19kcmF3aW5ncy5zOgoJKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5oOgoJKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5zOgoJKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuYzoKCSogZ3N0L2dvb20vc291bmRfdGVzdGVyLmg6CgkqIGdzdC9nb29tL3N1cmYzZC5jOgoJKiBnc3QvZ29vbS9zdXJmM2QuaDoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmg6CgkqIGdzdC9nb29tL3YzZC5jOgoJKiBnc3QvZ29vbS92M2QuaDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuaDoKCSogZ3N0L2lzb21wNC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L2lzb21wNC9xdHBhbGV0dGUuaDoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5oOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuaDoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5oOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmM6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkqIGdzdC9ydHAvZm52MWhhc2guYzoKCSogZ3N0L3J0cC9mbnYxaGFzaC5oOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJKiBnc3Qvc21wdGUvcGFpbnQuYzoKCSogZ3N0L3NtcHRlL3BhaW50Lmg6CgkqIGdzdC9zbXB0ZS9wbHVnaW4uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmg6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL29zcy9jb21tb24uaDoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5oOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5oOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiBzeXMvdjRsMi90dW5lci5jOgoJKiBzeXMvdjRsMi90dW5lci5oOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuYzoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmg6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5jOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RrcGl4YnVmc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYXBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdW5hdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvYm94LXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wMi10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTExLTAzIDIwOjQwOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZW1wMmVuYy5jOgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmg6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTExLTAzIDIwOjQwOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmg6CgkqIGV4dC9sYW1lL3BsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbGFtZS5jOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMS0wMiAxODo0NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogZG9uJ3QgYWNjZXNzIHJ0cCBidWZmZXIgYWZ0ZXIgdW5tYXAKCSAgUmVhZCB0aGUgbWFya2VyIGJpdCBiZWZvcmUgd2UgdW5tYXAgdGhlIHJ0cCBwYWNrZXQuCgoyMDEyLTExLTAyIDA5OjM0OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogSW1tZWRpYXRlbHkgcmV0dXJuIGlmIG9wZW5pbmcgdGhlIGRlY29kZXIgZmFpbGVkCgkgIEluc3RlYWQgb2YgaWdub3JpbmcgYW55IGVycm9ycy4KCjIwMTItMTEtMDEgMjI6MDI6MzkgKzAxMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogU2hvcnQgY2lyY3VpdCBnc3RfdnA4X2RlY19oYW5kbGVfZnJhbWUgaWYga2V5ZnJhbWUgaXMgbWlzc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3Mzc2CgoyMDEyLTExLTAyIDEwOjUzOjU3ICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9jb252ZXJ0OiBDb21wYXJlIHkgb2Zmc2V0IHdpdGggaGVpZ2h0LCBub3Qgd2lkdGgsIHdoZW4gdGVzdGluZyBmb3Igb3ZlcmxhcAoJICBUaGlzIGNvdWxkIGhhdmUgcHJldmVudGVkIGltYWdlcyBzaG93aW5nIHRoYXQgc2hvdWxkIGhhdmUgd2hlbiB0aGUKCSAgc291cmNlIGhlaWdodCBpcyBncmVhdGVyIHRoYW4gaXRzIHdpZHRoLgoJICBXaGVuIHdpZHRoIGV4Y2VlZHMgaGVpZ2h0LCBhcyBpcyBjb21tb24sIGl0IHByb2JhYmx5IG9ubHkgY2F1c2VkIGEKCSAgbWluaXNjdWxlIGFtb3VudCBvZiB1bm5lY2Vzc2FyeSB3b3JrLiAgSSBoYXZlbid0IHRlc3RlZC4KCjIwMTItMTEtMDEgMjE6MDk6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBpbmNsdWRlIGNvbmZpZy5oIGFuZCBtaW5vciBzdHlsZSBmaXhlcwoKMjAxMi0xMS0wMSAyMDoxMzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogZml4IHRhYnMvc3BhY2UgbWVzcyBpbiBNYWtlZmlsZS5hbQoKMjAxMi0xMS0wMSAyMDowNTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4LmM6CgkgIHJ0cDogbW92ZSBWUDggcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlciBmcm9tIC1iYWQKCSAgU3BlYyBpcyBzdGlsbCBpbiBkcmFmdCBzdGF0ZSwgYnV0IHNob3VsZCBob3BlZnVsbHkgbm90CgkgIGNoYW5nZSBtdWNoIG5vdy4gQmVzaWRlcywgd2UgYW5ub3VuY2UgdGhpbmdzIGFzIFZQOC1EUkFGVC1JRVRGLTAxCgkgIGluIG91ciBjYXBzLCBzbyBldmVuIGlmIHRoaW5ncyBjaGFuZ2UgaW4gaW5jb21wYXRpYmxlIHdheXMgaXQKCSAgc2hvdWxkIG5vdCBicmVhayBhbnl0aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MwoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOC5jOgoJICBydHB2cDg6IHVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wMy0yOCAxMjo0OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogdXBkYXRlIGZvciBidWZmZXIgY2hhbmdlcwoKMjAxMi0wMy0wMSAxNDo1OTo1NSAtMDMwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg7IGZpeCBjb21wYXRpYmlsaXR5IHdpdGggdGhlIHRoaXJkIGRyYWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEwNzMKCjIwMTItMDEtMjUgMTY6MjA6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMDo0NTo1MSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wMyAxMjowNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IEZpeCB0eXBvCgoyMDExLTA5LTIzIDIyOjU4OjMwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IFVwZGF0ZSB0aGUgcGF5L2RlcGF5IHRvIHRoZSBpZXRmLWRyYWZ0LTAxIHNwZWMKCjIwMTEtMDktMTAgMTE6MzE6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBmaXggYml0c3RyZWFtIHBhcnNpbmcgdXNpbmcgdGhlIHdyb25nIGtpbmQgb2YgYml0cmVhZGVyCgkgIFZQOCB1c2VzIGEgcHJvYmFiaWxpc3RpYyBib29sIGNvZGVyLCBub3QgYSBzdHJhaWdodCBiaXQgY29kZXIuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyB3aGVuIGVycm9yLXJlc2lsaWVudCBpcyBzZXQuCgkgIFRoaXMgY29tbWl0IGluY2x1ZGVzIGEgY29weSBvZiBsaWJ2cHgncyBib29sIGNvZGVyLCBCU0QgbGljZW5zZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI2OTQKCjIwMTEtMDctMTIgMTg6MDM6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IFJlamVjdCB1bmtub3duIGJpdHN0cmVhbSB2ZXJzaW9ucwoKMjAxMS0wMy0wNCAxMTo1OTo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoJICBNYWtlcyBtYWNvc3ggY29tcGlsZXIgaGFwcHkuCgoyMDExLTAxLTIzIDE3OjAyOjM4ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBBY2NlcHQgcGFja2V0cyB3aXRoIG9ubHkgb25lIGJ5dGUgb2YgZGF0YQoJICBXaGVuIGZyYWdtZW50aW5nIHBhcnRpb25zIGl0IGNhbiBoYXBwZW4gdGhhdCBhbiBSVFAgcGFja2V0IG9ubHkgY2FyaWVzIDEKCSAgYnl0ZSBvZiBSVFAgZGF0YS4KCjIwMTEtMDEtMjMgMTY6NDI6MTcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwOHBheTogVHJlYXQgdGhlIGZyYW1lIGhlYWRlciBqdXN0IGxpa2UgYW55IG90aGVyIHBhcnRpdGlvbgoJICBXaGVuIHNldHRpbmcgdXAgdGhlIGluaXRpYWwgbWFwcGluZyBqdXN0IGFjdCBhcyBpZiB0aGUgZ2xvYmFsIGZyYW1lCgkgIGluZm9ybWF0aW9uIGlzIGFub3RoZXIgcGFydGl0aW9uLiBUaGlzIHNhdmVzIHNwZWNpYWwtY2FzaW5nIGl0IGxhdGVyIGluCgkgIHRoZSBhY3R1YWwgcGFja2V0aXppbmcgY29kZS4KCjIwMTAtMDUtMTYgMTc6MjM6MTcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHAvZGJvb2xodWZmLkxJQ0VOU0U6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IEFkZCBzaW1wbGUgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzIGZvciBWUDgKCSAgTWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL3J0cC8sCgkgIHZlcnNpb24gMC4zLjIKCjIwMTItMTEtMDEgMTg6NDI6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IGZpeCBmb3IgMS4wIGV2ZW50cwoJICBDYXBzIGV2ZW50cyBhcmUgc29tZXRpbWVzIG5vdCBmb2xsb3dlZCBieSBhIGJ1ZmZlciBidXQgYnkgYW4gZXZlbnQuIEZsdXNoIGFueQoJICBwZW5kaW5nIGNhcHMgYmVmb3JlIHdlIG1ha2UgYSBwYWNrZXQgd2l0aCB0aGUgZXZlbnQuCgkgIENoYWluIHVwIHRvIHRoZSBwYXJlbnQgZXZlbnQgaGFuZGxlciBiZWZvcmUgd2UgYXR0ZW1wdCB0byBwdXNoIFJUUCBwYWNrZXRzLCBpdAoJICBtaWdodCBiZSBhIHNlZ21lbnQgZXZlbnQuCgoyMDEyLTExLTAxIDE4OjQyOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogZml4IHNtYWxsIGxlYWsKCjIwMTItMTEtMDEgMTc6NDQ6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBhZGQgc3VwcG9ydCBmb3IgZXZlbnRzCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jCgoyMDEyLTExLTAxIDE3OjQwOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0cGF5OiBhZGQgc3VwcG9ydCBmb3Igc2VuZGluZyBldmVudHMKCSAgV2UgY3VycmVudGx5IG9ubHkgc2VuZCB0YWdzIGFuZCBjdXN0b20gZXZlbnRzLiBUaGUgb3RoZXIgZXZlbnRzCgkgIG1pZ2h0IGludGVyZmVyZSB3aXRoIHRoZSByZWNlaXZlciB0aW1pbmdzIG9yIGFyZSBvdGhlcndpc2UgaGFuZGxlZAoJICBieSBSVFAuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoKMjAxMi0xMS0wMSAxNTo1NDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIGdzdHBheTogcmV3cml0ZSBwYXlsb2FkZXIKCSAgVXNlIGFkYXB0ZXIgdG8gYXNzZW1ibGUgdGhlIHBheWxvYWQgYW5kIG1ha2UgYSBmbHVzaCBmdW5jdGlvbiB0bwoJICB0dXJuIHRoaXMgcGF5bG9hZCBpbnRvIChmcmFnbWVudGVkKSBwYWNrZXRzLgoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuaAoKMjAxMi0xMS0wMSAxMzowMzo0NCArMDAwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IGdldCBoZWlnaHQgdmlhIEdTVF9WSURFT19GUkFNRV9IRUlHSFQsIG5vdCBfV0lEVEgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzMzMAoKMjAxMi0xMS0wMSAxMzowMjoxNiArMDAwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlYm94OiBmaXggYm9yZGVyIGZpbGxpbmcgZm9yIGdyYXkgZm9ybWF0cwoJICBHZXQgdGhlIGhlaWdodCB2aWEgR1NUX1ZJREVPX0ZSQU1FX0hFSUdIVCwgbm90IF9XSURUSC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzMzMAoKMjAxMi0xMS0wMSAxMTo1ODo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IGNoZWNrIGZvciBjb3JyZWN0IGZyYWdtZW50IG9mZnNldAoJICBNYWtlIHN1cmUgd2Ugb25seSBpbnNlcnQgdGhlIHJ0cCBwYWNrZXQgaW4gdGhlIGFkYXB0ZXIgd2hlbiB0aGUKCSAgZnJhZ19vZmZzZXQgbWF0Y2hlcy4gV2hlbiB0aGUgZmlyc3QgcGFja2V0IG9mIGEgZnJhZ21lbnQgaXMgZHJvcHBlZCwKCSAgaXQgYXZvaWRzIHB1dHRpbmcgdGhlIHJlbWFpbmluZyBwYWNrZXRzIGluIHRoZSBhZGFwdGVyIGFuZCBwcm9jZXNzaW5nCgkgIHRoZSBwYXJ0aWFsIGZyYWdtZW50LgoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYwoKMjAxMi0xMS0wMSAxMTo1NDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogc2V0IEMgZmxhZyBvbiBhbGwgYnVmZmVycyBvZiB0aGUgZnJhZ21lbnQKCSAgU2V0IHRoZSBDIGZsYWdzIG9uIGFsbCB0aGUgZnJhZ21lbnRzIGluc3RlYWQgb2Ygb25seSB0aG9zZSB3aXRoCgkgIGNhcHMgaW4gdGhlbS4gVGhpcyBtYWtlcyBpdCBlYXNpZXIgaW4gdGhlIHJlY2VpdmVyIHRvIGNoZWNrIGlmIHRoZXJlCgkgIGlzIGEgY2FwcyBpbiB0aGUgYXNzZW1ibGVkIGZyYWdtZW50cyBqdXN0IGJ5IGxvb2tpbmcgYXQgdGhlIGxhc3QgUlRQCgkgIHBhY2tldCBmbGFncy4KCjIwMTItMTEtMDEgMTA6NTU6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiB1c2UgdGhlIGNhcHN2ZXJzaW9uCgkgIFRha2UgdGhlIGNhcHMgZnJvbSB0aGUgaW5wdXQgY2FwcyBhbmQgc3RvcmUgaXQgaW4gdGhlIHNsb3QgZ2l2ZW4KCSAgYnkgY2Fwc3ZlcnNpb24uCgoyMDEyLTExLTAxIDEwOjUyOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgZ3N0cGF5OiBzZW5kIGNhcHMgaW5saW5lCgkgIFBsYWNlIHRoZSBjYXBzdmVyc2lvbiBvbiB0aGUgb3V0Z29pbmcgY2FwcyBzbyB0aGF0IHRoZXkgZW5kIHVwIGluCgkgIGFuIFNEUCBhcyB3ZWxsLiBSZWNlaXZlcnMgbmVlZCB0byBrbm93IHdoYXQgY2Fwc3ZlcnNpb24gYSBwYXJ0aWN1bGFyCgkgIGNhcHMgaXMgZm9yIHRvIGJlIGFibGUgdG8gbWF0Y2ggdGhlIGNhcHMgdG8gdGhlIENWIGluIHRoZSBSVFAgcGFja2V0cy4KCSAgUGxhY2UgdGhlIGNhcHMgaW5zaWRlIHRoZSBSVFAgcGFja2V0IHdoZW5ldmVyIHRoZSBjYXBzIGNoYW5nZS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQW5kcnplaiBCaWVuaWVrIDxhbmRyemVqLmJpZW5pZWtAcHVyZS5jb20+CgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oCgoyMDEyLTEwLTMxIDE2OjE3OjQ4ICswMDAwICBBbmRyemVqIEJpZW5pZWsgPGFuZHJ6ZWouYmllbmlla0BwdXJlLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogYWRkIGRlYnVnCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoKMjAxMi0xMC0zMSAxNjowOToyNiArMDAwMCAgQW5kcnplaiBCaWVuaWVrIDxhbmRyemVqLmJpZW5pZWtAcHVyZS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGRlcGF5OiBjb3JyZWN0bHkgc2tpcCBjYXBzIGhlYWRlciBzaXplCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jCgoyMDEyLTA5LTI4IDAwOjQzOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBwdXQgc3RyZWFtaGVhZGVycyBvbiB2b3JiaXMvc3BlZXgvZmxhYy90aGVvcmEgY2FwcyB0byBtYWtlIHJlbXV4aW5nIHdvcmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDU4OQoKMjAxMi0xMC0yOCAwMDowNzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZG9uJ3QgYXNzZXJ0IGluIGdldF90aW1lKCkgd2hlbiBjYWxsZWQgYWZ0ZXIgc2h1dGRvd24KCSAgV2hpY2ggbWlnaHQgaGFwcGVuIGlmIHRoZSBzb3VyY2UgZ2V0cyBzZXQgdG8gTlVMTCBzdGF0ZSBiZWZvcmUKCSAgdGhlIHJlc3Qgb2YgdGhlIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2OTg1CgoyMDEyLTEwLTMwIDExOjEwOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICB0ZXN0czogZml4IGxldmVsIGV4YW1wbGUKCSAgVXNlIHRoZSBHVmFsdWVBcnJheSBpbiB0aGUgbWVzc2FnZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE1NAoKMjAxMi0xMC0zMCAwOToyNzoyNCArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHJlbW92ZWQgdW5uZWNlc3NhcnkgZmluYWxpemUgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE3NgoKMjAxMi0xMC0zMCAxMDoyMDowOSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEZpeCBsZWFrcyBmcm9tIG5vdCBjaGFpbmluZyB1cCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24KCjIwMTItMTAtMjcgMjM6MjI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBnc3Q6IGZpeCB2YXJpYWJsZSBvcmRlciBpbiBzb21lIE1ha2VmaWxlLmFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcwMTMKCjIwMTItMTAtMjcgMTc6Mjc6MTYgLTA0MDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBhZGQgdmFyaW91cyBtaXNzaW5nIEdTVF9QTFVHSU5TX0JBU0VfTElCUyBpbiBNYWtlZmlsZS5hbQoJICBUaG9zZSBwbHVnaW5zIGRlcGVuZCBvbiBlaXRoZXIgbGliZ3N0YXVkaW8gb3IgbGliZ3N0dmlkZW8sCgkgIHdoaWNoIGFyZSBpbiBnc3QtcGx1Z2lucy1iYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MDEzCgoyMDEyLTEwLTI3IDEzOjI0OjI0ICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFyayBpbnZpc2libGUgVlA4IGZyYW1lcyB3aXRoIHRoZSBERUNPREVfT05MWSBmbGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNTkKCjIwMTItMTAtMjYgMTA6NTU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IGFkZCBtdWx0aWZpbGVzcmMgdGVzdCBmb3IgZml4IGluIHByZXZpb3VzIGNvbW1pdAoJICBNYWtlIHN1cmUgdGhlIHN0b3AtaW5kZXggc2V0IGlzIGhvbm91cmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUzCgoyMDEyLTEwLTI2IDEwOjMzOjAzICswMTAwICBTdGFzIFNlcmdlZXYgPHN0c3BAYWtuZXQucnU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCBzdG9wIGluZGV4IGhhbmRsaW5nCgkgIE1ha2Ugc3VyZSB0aGUgc3RvcCBpbmRleCBpcyBhbHdheXMgaG9ub3VyZWQuIEF2b2lkcwoJICBlbmRsZXNzIGxvb3AgaWYgb25lIHdhbnRzIHRvIHJlYWQgYW5kIG91dHB1dCB0aGUgc2FtZQoJICBmaWxlIE4gdGltZXMsIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUzCgoyMDEyLTA4LTI1IDAyOjI2OjI5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBTdXBwb3J0IHJlY3Vyc2l2ZSBTaW1wbGVUYWdzCgkgIEZpeGVzICM2ODI2NDQKCSAgRGVwZW5kcyBvbiAjNjgyNjE1CgoyMDEyLTA4LTI0IDEzOjU1OjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IEV4cGFuZCB0aGUgdGFnIG1hcHBpbmcuCgkgICogQWxzbyBleHBvc2UgdW5rbm93biB0YWdzIGFzIGtleT12YWx1ZSBwYWlycy4KCSAgKiBBcnJhbmdlIHRhZyBtYXAgaW4gdGhlIHNhbWUgb3JkZXIgdGFncyBhcmUgbGlzdGVkIGluIE1hdHJvc2thIHNwZWMsIGxlYXZpbmcKCSAgdW5tYXBwZWQgdGFncyBhcyBjb21tZW50cy4KCSAgKiBNb3JlIHNwZWNpZmljIFRPRE9zLgoJICAqIFJlbW92ZSBkdXBsaWNhdGUgREFURSBkZWZpbmUuCgkgIEZpeGVzICM2ODI2MTUKCSAgRGVwZW5kcyBvbiAjNjgyNTI0CgoyMDEyLTEwLTI2IDEwOjA5OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTA4LTIzIDE1OjA3OjIyICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IE1hdHJvc2thIHRhZyBUYXJnZXRUeXBlIHN1cHBvcnQKCSAgKiBSZWFkcyBUYXJnZXRUeXBlIGFuZCBUYXJnZXRUeXBlVmFsdWUgZnJvbSBhIFRhZy4KCSAgKiBBZnRlciBUYWcgaXMgY29tcGxldGVseSByZWFkLCBwcm9jZXNzZXMgdGFnbGlzdCwgc3Vic3RpdHV0aW5nIHNvbWUgb2YgdGhlCgkgIHRhZ3MgZGVwZW5kaW5nIG9uIHRhcmdldCB0eXBlIHZhbHVlIGFuZCB0aGUgcHJlc2VuY2Ugb2YgdmlkZW8vc3VidGl0bGUgc3RyZWFtcy4KCSAgKiBTdXBwb3J0cyByZWFkaW5nIHR3byBuZXcgc2ltcGxldGFncyAtIFBBUlRfTlVNQkVSIGFuZCBUT1RBTF9QQVJUUwoJICBEZXBlbmRzIG9uICM2ODI0NDgKCSAgRml4ZXMgIzY4MjUyNAoKMjAxMi0wOC0yMiAxNTozMjo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogUGVyLXRyYWNrIHRhZ3MgZm9yIE1hdHJvc2thCgkgIFJlcXVpcmVzIE1hdHJvc2thIGZpbGUgdG8gaGF2ZSBzYW5lIGxheW91dCAodHJhY2sgaW5mbyBiZWZvcmUgdGFnIGluZm8pLgoJICBVc2VzIHJlcGxhY2UtbWVyZ2UuCgkgIE1ha2VzIHRyYWNrIFVJRHMgNjQtYml0LgoJICBGaXhlcyAjNjgyNDQ4CgoyMDEyLTEwLTI1IDIwOjE4OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMi0xMC0yNSAxMjoxODowMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcmVhZCB2aWRlbyBmb3JtYXQgaGVhZGVyIGZ1bGx5IChzbyB3ZSBjYW4gZmluZCAncGFzcCcgYXRvbXMpIGZvciBtb3JlIGZvdXJjY3MuIEZpeGVzIGFzcGVjdCByYXRpbyBvZiBwcm9yZXMgZmlsZXMuCgoyMDEyLTEwLTI1IDAwOjQ0OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHRoZSBuZXcgZ2V0X2NhcHMgYWxyZWFkeSBkb2VzIHRoZSBmaWx0ZXIgaW50ZXJzZWN0aW9uCgkgIEl0IHNob3VsZCBiZSBmYXN0ZXIgdG8gcGFzcyB0aGUgY2FwcyB0byBpbnRlcnNlY3QgYXMgdGhlIGZpbHRlciBjYXBzLAoJICByYXRoZXIgdGhhbiB1c2luZyBOVUxMIGFuZCBpbnRlcnNlY3RpbmcgJ21hbnVhbGx5JyBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjgzNwoKMjAxMi0xMC0yNSAwMDo0Mzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBhdm9pZCBhc3NlcnRpb24gd2hlbiB1c2luZyBhY2NlcHQgY2FwcyBxdWVyeQoJICBUaGlzIHF1ZXJ5IG11c3QgcmVjZWl2ZSBhIGZpeGVkIGNhcHMsIHNvIGltYWdlZnJlZXplIHNob3VsZAoJICBmaXhhdGUgaXRzIGZyYW1lcmF0ZSBiZWZvcmUgc2VuZGluZyB0aGUgcXVlcnkgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjgzNwoKMjAxMi0xMC0yNSAxMjozMzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBmZWF0dXJlIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjAuMiA9PT0KCjIwMTItMTAtMjUgMDE6MDE6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4yCgoyMDEyLTEwLTI0IDEzOjQxOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIHRlc3RzOiBmaXggdXAgbXBnMTIzIHRlc3QgYSBsaXR0bGUKCSAgLSBkaXN0IGlucHV0IGZpbGVzCgkgIC0gZml4IHNhbXBsZSBsZWFrCgkgIC0gc2ltcGxpZnkgY2hlY2sgZm9yIGVsZW1lbnRzCgkgIC0gb25seSBydW4gbXBnMTIzIHRlc3QgaWYgbXBnMTIzIGlzIGF2YWlsYWJsZSBhbmQgc2VsZWN0ZWQKCSAgLSBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAxMjozMDoxMCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSAgdGV0czogYWRkIHVuaXQgdGVzdCBmb3IgbXBnMTIzYXVkaW9kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDozNjo0MiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGFkZGVkIGd0a2RvYyBzZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMDA6MjI6MDUgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBmaXhlZCBidWcgd2l0aCBsYXN0IGZyYW1lLCBkaXNhYmxlZCBpbnRlcm5hbCByZXNhbXBsZXIgJiBjaGF0dGVyCgkgICogVGhlIGxhc3QgTVAzIGZyYW1lIHdhc24ndCBiZWluZyBwdXNoZWQgd2hlbiBiYXNlIGNsYXNzIHdhcyBkcmFpbmluZwoJICAqIE1hZGUgc3VyZSBtcGcxMjMgY2Fubm90IGV2ZXIgdXNlIGl0cyAoY3J1ZGUpIGludGVybmFsIHJlc2FtcGxlcgoJICAqIERpc2FibGVkIG1wZzEyMyBzdGRlcnIgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMTM6NTA6MDAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBjb3JyZWN0IHR5cGUgZm9yIGNoYW5uZWwtbWFzayBiaXRtYXNrCgkgIEZpeGVzIGNyYXNoIG9uIDMyLWJpdCBzeXN0ZW1zLgoKMjAxMi0xMC0yNCAwMDoyMTo0NSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGNsZWFuZWQgdXAgY29tbWVudHMsIGZvcm1hdHRpbmcsIGFuZCBsb2dnaW5nIGxpbmVzCgkgIGFsc28gcmVwbGFjZWQgbXBnMTIzZGVjb2Rlci0+aGFuZGxlICE9IE5VTEwgY2hlY2tzIHdpdGggYXNzZXJ0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDExOjE3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGbHVzaCB0aGUgcmluZ2J1ZmZlciBvbiBHQVAgZXZlbnRzIHdpdGhvdXQgZHVyYXRpb24KCSAgVGhpcyBpcyByZXF1aXJlZCB0byBwcm9wZXJseSBzdGFydCB0aGUgcmluZ2J1ZmZlciBhbmQgY2xvY2suCgoyMDEyLTEwLTAyIDIwOjUxOjI5ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBzZXQgREVDT0RFX09OTFkgZmxhZyBvbiBpbnZpc2libGUgQWx0UmVmIGZyYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0MjE2CgoyMDEyLTEwLTIzIDE2OjAyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IGNvdmVyYXJ0IGV4dHJhY3Rpb24gaWYgdm9yYmlzIGNvbW1lbnRzIGNvbWUgYWZ0ZXIgcGljdHVyZSBoZWFkZXIKCSAgU2VlIHNhbXBsZSBmaWxlIGZvciBidWcgIzY4NDcwMS4KCjIwMTItMTAtMjMgMTM6NDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBpZ25vcmUgYmFkIGhlYWRlcnMgaWYgd2UgaGF2ZSBhIHZhbGlkIFNUUkVBTUlORk8gaGVhZGVyCgkgIElmIHdlIHJ1biBpbnRvIGFueSBoZWFkZXIgcGFyc2luZyBpc3N1ZXMgYW5kIHdlIGhhdmUgYSB2YWxpZAoJICBTVFJFQU1JTkZPIGhlYWRlciBhbHJlYWR5LCBkb24ndCBlcnJvciBvdXQsIGJ1dCBqdXN0IHN0b3AKCSAgaGVhZGVyIHBhcnNpbmcgYW5kIHRyeSB0byBmaW5kIHNvbWUgYXVkaW8gZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NzAxCgoyMDEyLTEwLTIzIDEzOjQzOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcG9zdCBwcm9wZXIgZXJyb3IgbWVzc2FnZSBhbmQgZml4IGJ1ZmZlciBsZWFrIG9uIGhlYWRlciBwYXJzaW5nIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3MDEKCjIwMTItMTAtMjIgMjI6MzI6NDkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB3aXRoIHJhdyBhdWRpbywgc2V0IGEgZGVmYXVsdCBjaGFubmVsLW1hc2sgZm9yIG11bHRpY2hhbm5lbCBhdWRpby4gVGhpcyBkb2Vzbid0IGFjdHVhbGx5IHBhcnNlICdjaGFuJyBiZWNhdXNlIGl0J3MgYWJzdXJkbHkgY29tcGxleC4KCjIwMTItMTAtMjIgMTU6NTQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkc3JjOiBmaXggdHlwbyBjYXVzaW5nIGNvbXBpbGF0aW9uIGVycm9yCgkgIGdzdHVkcHNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X3VkcHNyY19jcmVhdGUnOgoJICBnc3R1ZHBzcmMuYzozNjU6IGVycm9yOiAncmV0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjY0MgoKMjAxMi0xMC0yMiAxMTo1NTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpXyBmaXggaW52ZXJ0IGZ1bmN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NTAKCjIwMTItMTAtMjIgMTE6NTU6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IGRlYnVnCgoyMDEyLTEwLTIyIDExOjM5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yICdnZW5lcmljJyBzYW1wbGVzCgkgIEFkZCBzdXBwb3J0IGZvciBzdHVmZmluZyBhIGNvbXBsZXRlIHN0cmVhbSBpbnRvIDEgc2FtcGxlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU1MAoKMjAxMi0xMC0yMCAxMzowMTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiByZW1vdmUgc3VwZXJmbHVvdXMgZ190eXBlX2luaXQoKSBjYWxsCgkgIEl0J3MgZGVwcmVjYXRlZCBpbiBuZXdlciBHTGliIGFuZCBub3QgbmVlZGVkIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTYKCjIwMTItMTAtMjAgMTE6MzI6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNhcHMgbGVhayBpbiBhY2NlcHRjYXBzIGZ1bmN0aW9uCgoyMDEyLTEwLTE5IDE5OjI0OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBsZWFrIGdzdF9yaWZmX3N0cmZfYXVkcyBpbiBjYXNlIG9mIE1TL1JJRkYgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTE5MgoKMjAxMi0xMC0xOCAyMjoyMDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1bnNpZ25lZCBzdWJ0aXRsZSB0ZW1wbGF0ZQoKMjAxMi0xMC0xOCAxMTozMjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW4gYWNjZXB0X2NhcHMoKSBjaGVjayBpZiByaW5nIGJ1ZmZlciBpcyBOVUxMIGJlZm9yZSBkZS1yZWZlcmVuY2luZwoJICBBbmQgc3ByaW5rbGUgc29tZSB0aHJlYWQtc2FmZXR5ICh0YWtlIG9iamVjdCBsb2NrIGZvcgoJICBhY2Nlc3NpbmcgcmluZyBidWZmZXIsIGFuZCBwYSBtYWluIGxvb3AgbG9jayBmb3IgdGhlCgkgIGNvbnRleHQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNzgyCgoyMDEyLTA5LTEzIDAwOjEwOjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IEZpeCByYWNlIGNvbmRpdGlvbiB3aGVyZSBhIHNyYyBzZXRjYXBzIGlzIGlnbm9yZWQKCSAgSWYgYm90aCBwYWRzIHJlY2VpdmUgZGF0YSBhdCB0aGUgc2FtZSB0aW1lLCB0aGV5IHdpbGwgYm90aCBnZXQgdGhlaXIKCSAgc2lua19zZXRjYXBzIGNhbGxlZCB3aGljaCB3aWxsIGNhbGwgdGhlIHNyY19zZXRjYXBzLCBidXQgdGhlcmUgaXMKCSAgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSB0aGUgc2Vjb25kIG9uZSBtaWdodCBub3QgYmUgY2FsbGVkLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg0MgoKMjAxMS0xMC0zMSAxNTo0MzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgdXNlIHVub2ZmaWNhbCBWX01KUEVHIGNvZGVjIGlkCgkgIFNpbmNlIGl0J3Mgbm90IHNwZWMnZWQsIGNvbnNpZGVyIGl0IGEgVmZXIGNvbXBhdGliaWxpdHkKCSAgY2FzZS4gTWFueSBhcHBsaWNhdGlvbnMgKGUuZy4gYXZpZGVtdXgpIGRvbid0IHVuZGVyc3RhbmQKCSAgdGhlIHVub2ZmaWNpYWwgVl9NSlBFRyBpZC4KCSAgRml4ZXMgIzY1OTgzNy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTEwLTE3IDE3OjAzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICBqcGVnLCBwbmcsIHZweDogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLgoKMjAxMi0xMC0xNyAxNDoyMzowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIGpwZWdkZXBheTogc3RvcmUgcXVhbnQgdGFibGVzIGluIHppZ3phZyBvcmRlcgoKMjAxMi0xMC0xNyAxMzo1NTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRzZXNzaW9uOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMi0xMC0xNyAxMzozNTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGNsYXJpZnkgdGhlIG50cC1zeW5jIG9wdGlvbgoKMjAxMi0xMC0xNyAxMzoxNTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHVwZGF0ZSBjYXBzIGluIHRoZSBzb3VyY2UKCSAgSW5mb3JtIHRoZSBzb3VyY2Ugd2hlbiBjYXBzIGNoYW5nZWQuIFRoaXMgd2FzIHJlbW92ZWQgaW4gdGhlIHBvcnQgdG8gMS4wCgkgIGxlYXZpbmcgdGhlIHNvdXJjZSB1bmF3YXJlIG9mIHRoZSBjbG9jay1yYXRlIGFuZCB1bmFibGUgdG8gaW50ZXJwb2xsYXRlCgkgIHJ0cCB0aW1lc3RhbXBzIGZvciBTUiBwYWNrZXRzLgoKMjAxMi0xMC0xNyAxMjo0NjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwYmluOiBzZXQgUFRTIGFuZCBEVFMgaW4gaml0dGVyYnVmZmZlcgoKMjAxMi0xMC0xNyAxMjoyNDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRpc2FibGUgY2hlY2sgZm9yIG50cC1zeW5jCgkgIERpc2FibGUgdGhlIGNoZWNrIGZvciB0aGUgbnRwLXN5bmMgbWV0aG9kLiBJdCBpcyBleHBlY3RlZCB0aGF0CgkgIGEgcmF0aGVyIGxhcmdlciBvZmZzZXQgbmVlZHMgdG8gYmUgYXBwbGllZCB3aXRoIHRoaXMgbWV0aG9kLgoKMjAxMi0xMC0xNyAxMjoxNzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogdXNlIHJ1bm5pbmctdGltZSBmb3IgTlRQIHRpbWUKCSAgV2hlbiB1c2UtcGlwZWxpbmUtY2xvY2sgaXMgc2V0LCB1c2UgdGhlIHJ1bm5pbmctdGltZSBvZiB0aGUKCSAgcGlwZWxpbmUgdG8gY2FsY3VsYXRlIHRoZSBOVFAgdGltZXN0YW1wcy4gVGhpcyBtZXRob2Qgd291bGQgcHJldmlvdXNseQoJICBvbmx5IHdvcmsgd2hlbiB0aGUgYmFzZS10aW1lIGlzIHNldCB0byAwIGJ1dCB3aXRoIHRoaXMgY2hhbmdlIGl0IGNhbgoJICBhbHNvIHdvcmsgd2l0aCBkaWZmZXJlbnQgb2Zmc2V0cyBhbmQgd2UgY2FuIGFsc28gaW1wbGVtZW50IHBhdXNlL3Jlc3VtZQoJICBvZiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlciBub3cuCgoyMDEyLTEwLTE3IDEwOjIwOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBwb3J0IHRvIHZpZGVvZmlsdGVyCgoyMDEyLTEwLTE3IDA5OjM2OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiB1c2Ugb3V0X2luZm8gZm9yIG91dCBwcm9wZXJ0aWVzCgoyMDEyLTEwLTE2IDE0OjQwOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJICBtZWRpYW46IHNtYWxsIGNsZWFudXBzCgoyMDEyLTEwLTE2IDEzOjU2OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC9tZWRpYW4vLmdpdGlnbm9yZToKCSogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uaDoKCSogZ3N0L21lZGlhbi9tZWRpYW4udmNwcm9qOgoJICBtZWRpYW46IHJlbW92ZSBub3cgdGhhdCBpdCBpcyBpbiB2aWRlb2ZpbHRlcgoKMjAxMi0xMC0xNiAxMzo0OToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbWVkaWFuIGZyb20gYnVpbGQKCjIwMTItMTAtMTYgMTM6NDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJICB2aWRlb21lZGlhbjogY29weSBtZWRpYSB0byB2aWRlb21lZGlhbgoJICBDb3B5IHRoZSBtZWRpYW4gdmlkZW8gZmlsdGVyIHRvIHZpZGVvZmlsdGVycyBhbmQgcmVuYW1lIHRvCgkgIHZpZGVvbWVkaWFuLgoKMjAxMi0xMC0xNiAxMzoxMjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uaDoKCSAgbWVkaWE6IHBvcnQgdG8gMS4wCgoyMDEyLTEwLTE2IDAxOjAyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBhcHBlbmQgcGFsZXR0ZSBkYXRhIHRvIHBhbGV0dGVkIDgtYml0IFJHQiBmcmFtZXMKCSAgRml4ZXMgcGxheWJhY2sgb2YgOC1iaXQgaW5kZXhlZCBSR0IgdmlkZW9zLCB3aXRoIGZpeGVzIGluIC1iYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MDQ2CgoyMDEyLTEwLTE1IDE1OjM2OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQW5kIHRoaXMgdGltZSBmaXggdGhlIGRlZmF1bHQgdGFyZ2V0LWJpdHJhdGUgdmFsdWUgZm9yIHJlYWwKCjIwMTItMTAtMTUgMTU6MzA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggZGVmYXVsdCB0YXJnZXQtYml0cmF0ZSB2YWx1ZQoKMjAxMi0xMC0xMyAwMDowMzoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBhc3NlcnQgaWYgdXBzdHJlYW0gc2l6ZSBpcyBub3QgYXZhaWxhYmxlIHdoZW4gZ3Vlc3NpbmcgYml0cmF0ZXMKCSAgRml4ZXMgYWJvcnQgaW4gcHVzaCBtb2RlIHdoZXJlIHRoZSBzb3VyY2UgaXMgbm90IHNlZWthYmxlIGFuZCB0aGUKCSAgc2l6ZSBvZiB0aGUgZmlsZSBpcyBub3QgYXZhaWxhYmxlLCBhcyB3aXRoCgkgIGNhdCBmb28ubXA0IHwgZ3N0LWxhdW5jaC0xLjAgcGxheWJpbiB1cmk9ZmQ6Ly8wCgkgIExlc3Mgbm90aWNhYmxlIHdpdGggcmVsZWFzZXMsIHNpbmNlIHdlIGRpc2FibGUgYWxsCgkgIGdfYXNzZXJ0KCkgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYwMDgKCjIwMTItMTAtMTIgMTQ6Mzg6MzMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBhbGxvdyBtb3JlIHN0cmVhbXMuIEJ1bXAgdGhpcyBjb25zdGFudCB0byAzMiwgd2hpY2ggc2hvdWxkIGJlIGVub3VnaCBmb3IgcmVhbC13b3JsZCBmaWxlcy4KCjIwMTItMTAtMTIgMTQ6MzU6MjQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IG1vcmUgZGlmZmVyZW50IGZvdXJjYyB2YWx1ZXMgZm9yIG90aGVyIFByb1JlcyB2YXJpYW50cy4KCjIwMTItMTAtMTEgMjI6MzY6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBleGFtcGxlczogdXBkYXRlIHNvbWUgZWxlbWVudCBuYW1lcyBmb3IgMS4wIGluIFJUUCBleGFtcGxlcwoJICBnc3RydHBiaW4gLT4gcnRwYmluCgkgIGZmZGVjXyogICAtPiBhdmRlY18qCgkgIGZmZW5jXyogICAtPiBhdmVuY18qCgoyMDEyLTEwLTEwIDEyOjA1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW51c2VkIGluY2x1ZGUKCjIwMTItMTAtMTAgMTA6NTU6MjggKzAyMDAgIFJhc211cyBSb2hkZSA8cm9oZGVAZHVmZi5kaz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIG11bHRpY2FzdC1pZmFjZSBwcm9wZXJ0eQoJICB1ZHBzcmMgYWxyZWFkeSBoYXMgc3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgbXVsdGljYXN0IGludGVyZmFjZSwgd2hpY2gKCSAgaXMgdXNlZnVsIGZvciBtdWx0aS1ob21lZCBtYWNoaW5lcy4gVGhpcyBwYXRjaCBhZGRzIHRoZSBzYW1lIGNvZGUgdG8KCSAgdGhlIG11bHRpdWRwc2luay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTg2NAoKMjAxMi0xMC0xMCAxMTozMjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZG9uJ3QgZXJyb3Igb24gc2VuZCBlcnJvcnMgYnV0IG9ubHkgd2FybgoJICBEb24ndCBlcnJvciBvbiBzZW5kIGVycm9ycyBidXQgc2ltcGx5IHBvc3QgYSB3YXJuaW5nLCBpdCdzIHBvc3NpYmxlCgkgIHRoYXQgdGhlIG5leHQgcGFja2V0IHdpbGwgYmUgZmluZS4KCjIwMTItMTAtMTAgMTA6Mjg6MjQgKzAyMDAgIFJhc211cyBSb2hkZSA8cm9oZGVAZHVmZi5kaz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIGZvcmNlLWlwdjQgb3B0aW9uCgkgIEFkZCBhbiBvcHRpb24gdG8gdGhlIG11bHRpdWRwc2luayB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIGZvcmNlCgkgIHRoZSB1c2Ugb2YgYW4gSVB2NCBzb2NrZXQuCgkgIFRoaXMgY2FuIGUuZy4gYmUgdXNlZCB0byBoYW5kbGUgdGhlIGlzc3VlIGRlc2NyaWJlZCBpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNDgxCgoyMDEyLTEwLTEwIDEwOjE4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiByZW1vdmUgdW51c2VkIGZpZWxkCgoyMDEyLTEwLTEwIDEwOjEwOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiB1c2UgbmVnb3RpYXRlZCBhbGxvY2F0b3Igb3IgcG9vbAoJICBVc2UgdGhlIGJhc2UgY2xhc3MgdG8gYWxsb2NhdGUgYSBidWZmZXIgZm9yIHVzIGJlY2F1c2UgaXQga25vd3MgaG93CgkgIHRvIHVzZSB0aGUgbmVnb3RpYXRlZCBhbGxvY2F0b3Igb3IgYnVmZmVycG9vbC4KCjIwMTItMTAtMTAgMTA6MDk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHBvc3QgZXJyb3Igd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZwoKMjAxMi0xMC0xMCAxMDowOToxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZWxlbWVudHMgcG9zdCBlbGVtZW50IG1lc3NhZ2VzCgoyMDEyLTEwLTA3IDE2OjU2OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjEgPT09CgoyMDEyLTEwLTA3IDE1OjMxOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMQoKMjAxMi0xMC0wNiAxNDo1NzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmMwYjUyYyB0byA2YmI2OTUxCgoyMDEyLTEwLTA1IDE1OjEyOjI3IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBvdXRwdXQgY2hhbm5lbHMgc2hvdWxkIGJlIG1hcmtlZCBhcyBNT05PLCBub3QgRlJPTlRfTEVGVCwgaWYgd2UncmUgbm90IHByZXNlcnZpbmcgaW5wdXQgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDEyLTEwLTA0IDE1OjEzOjIwIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IHVzZSBnc3RfYXVkaW9fY2hhbm5lbF9wb3NpdGlvbnNfdG9fbWFzayBpbnN0ZWFkIG9mIGEgbG9jYWwgY29weSBvZiBoYWxmIG9mIGl0LiBIYW5kbGVzIHNvbWUgdmFsdWVzIG1vcmUgY29ycmVjdGx5LgoKMjAxMi0xMC0wNCAyMDozMjo0NSArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RydHBkZXBheTogZG9uJ3QgbGVhayBpbnB1dCBidWZmZXIKCSAgVGhlIHJ0cCBidWZmZXIgaXMgbmV2ZXIgdW5tYXBwZWQgaW4gdGhlIG5vcm1hbCBjb2RlIGV4aXQgcGF0aAoJICBvZiBnc3RfcnRwX2dzdF9kZXBheV9wcm9jZXNzKC4uKSByZXN1bHRpbmcgaW4gYSBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTUxMgoKMjAxMi0xMC0wNCAxODozNzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIE5WMTIgYW5kIE5WMjEKCjIwMTItMTAtMDEgMTU6MTE6MDUgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IGRvIG5vdCBwdXNoIHVubWFwcGVkIGRhdGEKCSAgQWxzbyBkbyBub3QgdXNlIGEgR3N0QnVmZmVyIGFmdGVyIGl0IGhhcyBiZWVuIHB1c2hlZCBpbnRvIHRoZSBhZGFwdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjEzCgoyMDEyLTEwLTAzIDEwOjUxOjQ1IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIG1ldGEgaW5mbzogdGhyZWFkc2FmZSByZWdpc3RyYXRpb24gdXNpbmcgZ19vbmNlCgoyMDEyLTEwLTAxIDE1OjQ0OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgaGFuZGxlIHNvbWUgaW5pdGlhbCBqdW5rIGJlZm9yZSBoZHJsIGxpc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTA1OQoKMjAxMi0xMC0wMSAxNDowMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdGVzdHM6IHBvcnQgZ2RrcGl4YnVmc2luayB0ZXN0CgoyMDEyLTA5LTI5IDExOjU5OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICBQdXJnZSByZWZlcmVuY2VzIHRvIGxpYm9pbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMjg1CgoyMDEyLTA5LTI4IDE2OjUxOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvYXZpLWlkcy5oOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZWNvZ25pemUgYWxsIHhzdWIgZnJhbWVzIGFzIGtleWZyYW1lcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTc3CgoyMDEyLTA5LTI4IDE2OjUwOjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTogZmluZCB0aGUgY29ycmVjdCBjaHVuayBmb3Igc2VnbWVudCBmb2xsb3dpbmcgc2VlawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTc3CgoyMDEyLTA5LTI3IDIyOjE3OjQ5ICswMTAwICBBcm5hdWQgVnJhYyA8cmF3b3VsQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBmaXggcGFyc2luZyBpbiBwdXNoIG1vZGUgd2hlbiBtb292IGF0b20gaXMgYXQgdGhlIGVuZAoJICBXaGVuIHBsYXlpbmcgYW4gbXA0IGZpbGUgd2l0aCB0aGUgTU9PViBhdG9tIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUsIHBsYXliYWNrCgkgIGZhaWxzIHdpdGggdGhlIGVycm9yIG1lc3NhZ2UgIm5vICdtb292JyBhdG9tIHdpdGhpbiB0aGUgZmlyc3QgMTAgTUIiLiBUaGlzIGlzCgkgIGR1ZSB0byBhIG1pc3Rha2UgaW4gdGhlIHVwc3RyZWFtX3NpemUgdHlwaW5nLCBtYWtpbmcgdGhlIHNlZWsgdG8gdGhlIGVuZCBvZgoJICBmaWxlIG5ldmVyIGhhcHBlbmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk3MgoKMjAxMi0wOS0yNyAxNTo1MDo0OSAtMDMwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogcmVtb3ZlIGR1cGxpY2F0ZSBlbnRyaWVzIGF0IGZvcm1hdCBhdCBjYXBzCgkgIEF2b2lkcyBleHRyYSBjYXBzL3N0cnVjdHVyZXMgcHJvY2Vzc2luZwoKMjAxMi0wOS0yNyAxNDoxMzo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogbmVnb3RpYXRlIHBvb2wgd2l0aCBzcmNwYWQgY2FwcwoKMjAxMi0wOS0yNyAxMTowMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBUaGUgY29udmVydCBhbmQgZHVyYXRpb24gcXVlcmllcyBhcmUgbm90IHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgZm9ybWF0CgoyMDEyLTA5LTI2IDA5OjI4OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogY2xlYXIgdmlkZW8gZnJhbWUgbW9yZSBjb3JyZWN0bHkKCSAgTWFrZSBzdXJlIG5vdCB0byB0b3VjaCBtZW1vcnkgdGhhdCBkb2Vzbid0IGJlbG9uZyB0bwoJICBvdXIgZnJhbWUsIHdlIG1pZ2h0IGJlIG9uZSBwYXJ0IG9mIGEgc2lkZS1ieS1zaWRlIDNECgkgIGZyYW1lLCBvciBpbiBhIHBpY3R1cmUtaW4tcGljdHVyZSBzY2VuYXJpby4KCjIwMTItMDktMjYgMDA6NDQ6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBtaW5vciBjbGVhbi11cAoJICBVc2UgR3N0Qnl0ZVdyaXRlciwgYmVjYXVzZSB3ZSBjYW4sIGFuZCBnX3ZhbHVlX3Rha2VfYm94ZWQuCgoyMDEyLTA5LTEwIDEwOjI3OjI4ICswNDAwICBEbWl0cml5IFNhbW9uZW5rbyA8ZG1pdHJpeS5zYW1vbmVua29AdGVsaWdlbnQucnU+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggc3BlZXggYXVkaW8gZGVjb2RpbmcgYnkgY3JlYXRpbmcgZmFrZSBzdHJlYW0gaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM2MjIKCjIwMTItMDktMjUgMjE6MjE6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB2aWRlb21peGVyOiBmaXggd2FybmluZ3Mgd2hlbiB1c2luZyB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSBpbmNyZWFzZXMgdGhlIHJlZmNvdW50LCB3aGljaCBtYWtlcwoJICB0aGUgYnVmZmVyIG5vdCB3cml0YWJsZSBhbnkgbW9yZSB0ZWNobmljYWxseSwgc28gY2FsbGluZwoJICBnc3RfYnVmZmVyX21lbXNldCgpIG9uIGl0IHdpbGwgY2F1c2UgbmFzdHkgd2FybmluZ3MuCgkgIFVuaXQgdGVzdCBkaXNhYmxlZCBiZWNhdXNlIGl0IHZlcnkgcmFyZWx5IChmb3IgbWUpCgkgIGZhaWxzLCBwb3NzaWJseSBuZWdvdGlhdGlvbi1yZWxhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0Mzk4CgoyMDEyLTA5LTI1IDEwOjQzOjI4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzb21lIHVzZWZ1bCBkZWJ1ZyBsb2dnaW5nCgoyMDEyLTA5LTI1IDEwOjQxOjQ0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB0ZWxlY2luZQoJICBUaGlzIG9ubHkgYWZmZWN0cyBiZWhhdmlvdXIgaW4gdGVsZWNpbmUgY2FzZXMgd2l0aCBwYXR0ZXJuIGxvY2tpbmcKCSAgZW5hYmxlZC4gVGhlIGRlZmF1bHQgY2FzZSBzaG91bGQgYmUgdW50b3VjaGVkLgoJICBUaGlzIHdvcmtzIHdpdGggdGhlIG91dHB1dCBmcm9tIGZpZWxkYW5hbHlzaXMgYXQgbGVhc3QsIGJ1dCB0aGUgZmllbGQKCSAgb3JkZXIgbG9va3Mgc3dhcHBlZCBmb3IgdGVsZWNpbmUgbWl4ZWQgYnVmZmVycyB3aXRoIHRoZQoJICBEYXZpZF9zbGlkZXNfU2NobGVlZiBjbGlwLgoKMjAxMi0wOS0yNSAxNDo0MzoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERpc2FibGUgR0xJQiBkZXByZWNhdGlvbiB3YXJuaW5ncwoJICBHVmFsdWVBcnJheSBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIDIuMzIgLi4uIGJ1dCB0aGVyZSdzIG5vIHVzYWJsZQoJICByZXBsYWNlbWVudCBmb3IgaXQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjI4CgoyMDEyLTA5LTI1IDE0OjE4OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBsZWFrCgoyMDEyLTA5LTI0IDE2OjQ2OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAoYnVnIGZpeGluZykKCj09PSByZWxlYXNlIDEuMC4wID09PQoKMjAxMi0wOS0yNCAxNDowNjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMAoKMjAxMi0wOS0yNCAxMTo1Njo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiByZW1vdmUgZ19wcmludGVycigpIHRoYXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIKCSAgbm93IHRoYXQgdGNhc2Vfc2tpcF9icm9rZW5fdGVzdCgpIHByaW50cyBpdCBhcyB3ZWxsLgoKMjAxMi0wOS0yMyAxOTo1MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGRpc2FibGUgZmFpbGluZyByZXBsYXlnYWluIHRlc3RzCgoyMDEyLTA5LTIzIDE2OjMxOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBzbXB0ZTogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjMgMTY6MTA6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBtdWx0aXBhcnRtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE2OjAyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc2VuZCBzdHJlYW0tc3RhcnQKCjIwMTItMDktMjMgMTU6NTc6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNTo0ODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBhZGQgYSBidW5jaCBvZiBGSVhNRXMKCSAgTmVlZHMgc29tZSBtb3JlIHdvcmssIHNvIHN0cmVhbS1zdGFydCwgY2FwcyBhbmQgdGFncyBhcmUKCSAgc2VudCBpbiB0aGUgcmlnaHQgb3JkZXIuCgoyMDEyLTA5LTIzIDE1OjE4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNToxNjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjIgMTU6MDA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBVc2UgMS4wLXN0eWxlIGNhcHMgbmVnb3RpYXRpb24gYW5kIGF1ZGlvL3gtcmF3CgoyMDEyLTA5LTIyIDE2OjA4OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0Zjk2MmY3IHRvIDZjMGI1MmMKCjIwMTItMDktMjEgMjE6NTQ6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbnN3ZXIgVVJJIHF1ZXJ5CgkgIFdpdGhvdXQgdGhpcywgc29tZXRoaW5nIGFsc28gYW5zd2VyZWQgdGhlIHF1ZXJ5CgkgIHdpdGggVFJVRSBidXQgd2l0aG91dCBzZXR0aW5nIGEgdXJpLCBub3Qgc3VyZQoJICB3aGF0IHRoYXQgd2FzLi4KCjIwMTItMDktMjAgMTc6Mjg6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogTWFrZSBzdXJlIHRoZSBjYXBzIGRvbid0IGhhdmUgZHVwbGljYXRlZCBzcHMvcHBzCgoyMDEyLTA5LTIwIDE5OjU4OjEyICswMjAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogTXV0ZSBzdHJlYW0gcG9zdC1jb25uZWN0aW9uIGlmIHJlcXVpcmVkCgkgIEEgYnVnIGluIFB1bHNlQXVkaW8gY2F1c2VzIFBBX1NUUkVBTV9TVEFSVF9NVVRFRCB0byBiZSByZWplY3RlZCBvbgoJICByZWNvcmQgc3RyZWFtcy4gVW50aWwgdGhpcyBpcyBmaXhlZCB1cHN0cmVhbSwgd2UgbXV0ZSB0aGUgc3RyZWFtCgkgIG1hbnVhbGx5IGF0IHN0YXJ0dXAuIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQWxiYW4gQnJvd2FleXMKCSAgPHByYWhhbEB5YWhvby5jb20+LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NDY5CgoyMDEyLTA5LTIwIDE4OjAwOjU5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogMjQgYml0IGF1ZGlvIGhlcmUgaXMgUzI0TEUsIG5vdCBTMjRfM0xFLgoKMjAxMi0wOS0yMCAxMDowNzoyNCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBoYW5kbGUgbGF0ZW5jeSBxdWVyeSBiZWZvcmUgc2V0dGluZyB1cCB0aGUgYnVmZmVycG9vbAoJICBGaXhlcyBjcmFzaCBpZiBubyBidWZmZXJwb29sIGlzIHNldCB1cCB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ0MzAKCjIwMTItMDktMTkgMDk6MTc6MDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IFNwZWNpZnkgZW5kaWFubmVzcyBpbiBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICBDb3JyZXNwb25kcyB0byBhbiBBUEkgY2hhbmdlIGluIGdzdC1wbHVnaW5zLWJhc2UuIFRoaXMgbmVlZHMgdG8gYmUgZml4ZWQKCSAgdG8gcXVlcnkgdGhlIGV4cGVjdGVkIGJ5dGUgb3JkZXIgdXNpbmcgYXBwcm9wcmlhdGUgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MDIxCgoyMDEyLTA5LTE5IDA5OjE1OjUzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBTcGVjaWZ5IGVuZGlhbm5lc3MgaW4gSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgRGlyZWN0U291bmQgZXhwZWN0cyBuYXRpdmUgZW5kaWFuIGJ5dGUgb3JkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwMjEKCjIwMTItMDktMTkgMDk6MTM6MTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFNwZWNpZnkgZW5kaWFubmVzcyBpbiBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICBDb3JyZXNwb25kcyB0byBhbiBBUEkgY2hhbmdlIGluIGdzdC1wbHVnaW5zLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwMjEKCjIwMTItMDktMTkgMDA6Mzk6MDEgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVtb3ZlIGluY29ycmVjdCBsb2dpYwoJICBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHRoZXNlIGxpbmVzIHdlcmUgYWRkZWQsIHRoZXkgZG9uJ3QgbWFrZSBzZW5zZSB0bwoJICBtZSBub3cgYW5kIGJvdGggRGF2aWQgYW5kIEkgYWdyZWUgdGhhdCByZW1vdmluZyB0aGVtIG1vdmVzIGNsb3NlciB0bwoJICByZWxhdGVkIGxvZ2ljIGJlaW5nIGNvcnJlY3QsIHRoZXJlZm9yZSwgdGhleSdyZSBiZWluZyByZW1vdmVkLgoJICBJJ3ZlIHRlc3RlZCBhIGZldyBwcm9ncmVzc2l2ZSwgaW50ZXJsYWNlZCBhbmQgdGVsZWNpbmUgY2xpcHMgYW5kIHRoZXkKCSAgYWxsIGJlaGF2ZSBwcm9wZXJseSB0aW1lc3RhbXAtd2lzZSBhbmQgdmlzdWFsbHkgYWZ0ZXIgdGhlc2UgY2hhbmdlcy4KCjIwMTItMDktMTkgMDA6MTc6NDkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGZpZWxkIGR1cmF0aW9uCgkgIFRoZSBmcmFtZSByYXRlIGZyYWN0aW9uIGlzIGNvcnJlY3RseSBhZGp1c3RlZCBpbiB0aGUgY2FzZXMgcHJlY2VkaW5nIHRoZQoJICBmaWVsZCBkdXJhdGlvbiBjYWxjdWxhdGlvbiBhbmQgc28gdGhlIGZhY3RvciBvZiAyIGlzIGluY29ycmVjdC4KCjIwMTItMDktMTggMTA6MzQ6MDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IFUvViBzdHJpZGVzIGZvciBhIG51bWJlciBvZiBjYXNlcy4KCjIwMTItMDktMTggMTI6MTM6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogaW5pdCB2aWRlb2luZm8KCSAgLi4uIHRvIHByZXZlbnQgcmFuZG9tIGJvZ3VzIGNhcHMgZmllbGRzLgoKMjAxMi0wOS0xOCAxMjoxMjozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBjaGFpbiB1cCB0byBjb2xsZWN0cGFkcyBxdWVyeSBmdW5jdGlvbgoKMjAxMi0wOS0xNyAxMzoxNzowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBsZXQgR3N0Q29sbGVjdFBhZCBzaGFkb3cgY3VzdG9tIHNpbmsgcGFkIHF1ZXJ5IGZ1bmMKCSAgSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHRoZSBjdXN0b20gcGFkIHF1ZXJ5IGZ1bmN0aW9uIGlzIG5vdCBjYWxsZWQuCgkgIFRoaXMgcGF0Y2gsIHNldCB0aGF0IHF1ZXJ5IGZ1bmN0aW9uIG9uIHRoZSBHc3RDb2xsZWN0UGFkcyB0byBhdm9pZCB0aGlzCgkgIHNoYWRvd2luZy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTItMDktMTcgMTg6MjM6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkaXN0IGltYWdlLmpwZyBmb3IganBlZyB0ZXN0Cgo9PT0gcmVsZWFzZSAwLjExLjk5ID09PQoKMjAxMi0wOS0xNyAxNzo1Nzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTkKCjIwMTItMDktMTcgMTY6NTc6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSAtREdTVF9VU0VfVU5TVEFCTEVfQVBJCgoyMDEyLTA5LTE3IDE2OjU3OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgLURHU1RfVVNFX1VOU1RBQkxFX0FQSQoKMjAxMi0wOS0xNyAxNjo1MzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0xNyAxMzozMDoxNSArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBGaXggc3BlYyBmaWxlIGZvciB2cDggbW92ZQoKMjAxMi0wOS0xNyAxMzoyMzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYW5ub2RleDogQWRkIHRvIHRoZSBDUlVGVF9ESVJTCgoyMDEyLTA5LTE3IDEyOjE0OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0xNyAwOTo0ODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBmaW5pc2ggZnJhbWVzCgkgIFByZXZpb3VzbHkgd2Ugd291bGQgYWx3YXlzIGdldCB0aGUgc2FtZSBmcmFtZSBpZiBtdWx0aXBsZSBmcmFtZXMgYXJlIHBlbmRpbmcsCgkgIGxlYWtpbmcgbWVtb3J5IG9mIHRoZSBwcmV2aW91cyBmcmFtZXMgYW5kIGJyZWFraW5nIHRpbWVzdGFtcHMuCgoyMDEyLTA5LTE3IDA5OjQwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxsb3cgY2hhbmdpbmcgYml0cmF0ZSBhbmQgb3RoZXIgcGFyYW1ldGVycyBkdXJpbmcgcGxheWJhY2sKCSAgRml4ZXMgYnVnICM2NDgyNzYuCgoyMDEyLTA5LTE3IDA5OjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogU3RvcmUgY29uZmlndXJhdGlvbiBpbiB0aGUgdnB4X2NvZGVjX2VuY19jZmdfdCBzdHJ1Y3QgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBhbGwgdmFyaWFibGVzCgkgIEFsc28gcHJvdGVjdCBlbmNvZGVyIHdpdGggYSBtdXRleC4KCjIwMTItMDktMTYgMTY6MDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiB0byByZWZsZWN0IG5ldyBwcm9wZXJ0eSBuYW1lcwoJICAuLi5hbmQgYWxzbyBsaW5rIHRvIHRoZSBXZWJNIGVuY29kZXIgcGFyYW1ldGVycyB3ZWJzaXRlLgoKMjAxMi0wOS0xNiAxNTo1Nzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IE1ha2Ugc29tZSBwcm9wZXJ0eSBuYW1lcyBtb3JlIHJlYWRhYmxlCgoyMDEyLTA5LTE2IDE1OjQ3OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHZwODogQWRkIHRlc3RzIHRvIC5naXRpZ25vcmUKCjIwMTItMDktMTYgMTU6NDY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIHBhdGNoIHRvIHRoZSBuZXcgcHJvcGVydHkgbmFtZXMKCjIwMTItMDktMTYgMTU6NDY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZweDogSW50ZWdyYXRlIHRlc3QgaW50byB0aGUgYnVpbGQgc3lzdGVtIHRvbwoKMjAxMi0wMi0wNyAxNzowMDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDYvNl0gdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMTEtMjQgMjE6NDI6MzkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1LzZdIHRlc3RzOiB1cGRhdGUgZm9yIGdzdGNoZWNrIEFQSSBjaGFuZ2UKCjIwMTAtMDctMTAgMTU6NDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0LzZdIHZwOGRlYzogQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHZwOGRlYwoKMjAxMC0wNy0xMCAxNTo0Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDMvNl0gdnA4ZW5jOiBJbXByb3ZlIHVuaXQgdGVzdCBhIGJpdAoKMjAxMC0wNy0xMCAxNTozMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDIvNl0gdnA4ZW5jOiBBbHNvIGNoZWNrIHRoZSBvdXRwdXQgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTA3LTEwIDE1OjI5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMS82XSB2cDhlbmM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0CgoyMDEyLTA5LTE2IDE1OjQzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgdnB4OiBJbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDEyLTA5LTE2IDE1OjMzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmg6CgkqIGV4dC92cHgvcGx1Z2luLmM6CgkgIHZweDogUmVuYW1lIHZwOCBwbHVnaW4gdG8gdnB4CgkgIFRoaXMgaXMgdXNpbmcgbGlidnB4LCB3aGljaCBjYW4gc3VwcG9ydCBtb3JlIGNvZGVjcyB0aGFuIGp1c3QgVlA4CgkgIGFuZCB3aWxsIGxpa2VseSBzdXBwb3J0IGZ1dHVyZSBjb2RlY3MuCgoyMDEyLTA5LTE2IDE1OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogQXBwbHkgcmVtYWluaW5nIGNoYW5nZXMgdGhhdCBnb3QgbG9zdCB3aGlsZSBtb3ZpbmcgdGhlIHBsdWdpbiB2aWEgZ2l0IGFtIHRoYW5rcyB0byBtZXJnZXMKCjIwMTItMDktMTYgMTU6MjU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzNC8xMzRdIHZwOGRlYzogVW5yZWYgaW5wdXQvb3V0cHV0IHN0YXRlcyB3aGVuIHN0b3BwaW5nIHRoZSBkZWNvZGVyCgoyMDEyLTA5LTE2IDE1OjE4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSAgW01PVkVEIEZST00gQkFEIDEzMy8xMzRdIHZwOGVuYzogVXBkYXRlIHJlYWx0aW1lIHByb2ZpbGUgdG8gdGhlIG5ldyBwcm9wZXJ0aWVzCgoyMDEyLTA5LTE2IDEwOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzIvMTM0XSB2cDg6IFJlcXVpcmUgbGF0ZXN0IGxpYnZweCByZWxlYXNlICgxLjEuMCBmcm9tIE1heSAyMDEyKQoJICBGaXhlcyBidWcgIzY4NDExNiBhbmQgc2ltcGxpZmllcyBjb25maWd1cmUgY2hlY2tzLgoKMjAxMi0wOS0xNSAyMDoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+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+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnBsdWdpbi5jOgoJICBnZGtwaXhidWY6IHJlLWVuYWJsZSBhbHJlYWR5LXBvcnRlZCBnZGtwaXhidWYgZWxlbWVudCBhcyBnZGtwaXhidWZkZWMKCSAgTm90IHN1cmUgd2h5IGl0IGFzIGRpc2FibGVkIGV4YWN0bHkgZ2l2ZW4gdGhhdCBpdCBoYWQgYWxyZWFkeQoJICBiZWVuIHBvcnRlZCAodGhvdWdoIHdpdGhvdXQgbWV0YXMgb3IgYmFzZWNsYXNzKS4KCSAgTW92ZSBwbHVnaW5faW5pdCBiaXRzIGludG8gc2VwYXJhdGUgc291cmNlIGZpbGUsIGFuZCByZW5hbWUKCSAgZGVjb2RlciBlbGVtZW50IHRvIGdka3BpeGJ1ZmRlYy4KCjIwMTItMDgtMjEgMjM6MjU6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RfbG9hZGVyLmM6CgkgIGdka3BpeGJ1ZjogcmVtb3ZlIG9sZCBhbmQgdW51c2VkIGdzdF9sb2FkZXIgc291cmNlIGZpbGUKCSAgT25jZSB1cG9uIGEgdGltZSB1c2VkIHRvIGxvYWQgR1N0cmVhbWVyIHZpZHMgdmlhIEdka1BpeGJ1ZiBBUEkuCgoyMDEyLTA4LTE2IDE2OjUxOjE2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogbWFrZSBqaXR0ZXJidWZmZXIgZHJvcC1vbi1sYXRlbmN5IGF2YWlsYWJsZSAoZml4ICM2ODIwNTUpCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oCgoyMDEyLTA4LTIxIDE5OjQ3OjQ1ICswODAwICBIdWFjYWkgQ2hlbiA8Y2hlbmhjQGxlbW90ZS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IG1ha2UgZ3N0X3Y0bDJfZmlsbF9saXN0cygpIGFkYXB0IHRvIGtlcm5lbCAzLjMrCgkgIFdoZW4gZG8gdjRsMl9pb2N0bCgpIHdpdGggVklESU9DX0VOVU1JTlBVVCBmYWlscyBvbiBzb21lIGRldmljZXMsCgkgIGtlcm5lbHMgYmVmb3JlIDMuMy4wIHJldHVybiBFSU5WQUwsIGJ1dCBuZXdlciBrZXJuZWxzIHJldHVybiBFTk9UVFkuCgkgIFRoaXMgcGF0Y2ggbWFrZSB0aG9zZSBkZXZpY2VzIHdvcmsgd2VsbCBvbiBrZXJuZWwgMy4zKy4KCSAgUmVsYXRlZCBrZXJuZWwgY29tbWl0OgoJICBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvP3A9bGludXgva2VybmVsL2dpdC90b3J2YWxkcy9saW51eC5naXQ7YT1jb21taXQ7aD0wN2QxMDZkMGEzM2Q2MDYzZDIwNjEzMDU5MDNkZWIwMjQ4OWViYTIwCgkgIFNpZ25lZC1vZmYtYnk6IEh1YWNhaSBDaGVuIDxjaGVuaGNAbGVtb3RlLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogUnVpIFdhbmcgPHdhbmdyQGxlbW90ZS5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEppZSBDaGVuIDxjaGVuakBsZW1vdGUuY29tPgoKMjAxMi0wOC0yMCAyMzozMDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICB2aWRlby94LWR2ZC1zdWJwaWN0dXJlIC0+IHN1YnBpY3R1cmUveC1kdmQKCjIwMTItMDgtMTcgMjA6NTI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MKCjIwMTItMDgtMTcgMTQ6NTk6NTcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogZW5hYmxlIHByZXNldHMgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyCgkgIEFkZCBhIHRlc3QgZm9yIHNhdmluZyBhbmQgcmVzdG9yaW5nIHRoZSBwcmVzZXQuCgoyMDEyLTA4LTE0IDAxOjIwOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggbm90LW5lZ290aWF0ZWQgZXJyb3JzIG9uIHZhcmlhYmxlIG9yIG1pc3NpbmcgZnJhbWVyYXRlIGluIGlucHV0IGNhcHMKCSAgUmVtb3ZlIHNvbWUgYm9ndXMgY29kZSBJIGFkZGVkIGR1cmluZyBwb3J0aW5nIHRoYXQgd291bGQgZXJyb3Igb3V0CgkgIG9uIG1pc3Npbmcgb3IgdmFyaWFibGUgZnJhbWVyYXRlcyBpbiBpbnB1dCBjYXBzLiBIYW5kbGUgdGhpcyBsaWtlCgkgIHdlIGRvIGluIDAuMTAKCSAgRml4ZXMgdGVzdF9tb2RlX2Rpc2FibGVkX3Bhc3N0aHJvdWdoIHVuaXQgdGVzdCBjaGVjay4KCjIwMTItMDgtMTIgMTM6MTY6MzIgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbGF3OiBGaWx0ZXIgbGF5b3V0IGNhcHMgZmllbGQKCSAgVGhlIGxheW91dCBjYXBzIGZpZWxkIHNob3VsZG4ndCBiZSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgc2luayBwYWQKCSAgb2Yge211LGF9bGF3ZGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNjc3CgoyMDEyLTA4LTA5IDE5OjQxOjM0ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFsbG93IGEgVE9DIHdpdGggc2luZ2xlIGFsdGVybmF0aXZlIHRvcC1sZXZlbCBlbnRyeQoJICBBbGxvdyBhIFRPQyB0aGF0IGhhcyBhIHNpbmdsZSBhbHRlcm5hdGl2ZSB0b3AtbGV2ZWwgZW50cnkKCSAgd2l0aCBtdWx0aXBsZSBzZXF1ZW5jZSBzdWItZW50cmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwODkxCgoyMDEyLTA4LTA5IDExOjQ4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBHaXZlIE1BUkdJTkFMIHJhbmsgdG8gdGhlIG1wZzEyMyBkZWNvZGVyIGVsZW1lbnQKCjIwMTItMDgtMDkgMTA6MzE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFuZCBmaXggdGhlIEdUSyBjaGVjayB0byB1c2UgdGhlIGNvcnJlY3QgcGtnLWNvbmZpZyBwYWNrYWdlIG5hbWUKCjIwMTItMDgtMDkgMTA6MjU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBHVEsgcmVxdWlyZWQgdmVyc2lvbiB2YXJpYWJsZSBuYW1lCgoyMDEyLTA4LTA5IDA4OjM1OjIzICswMTAwICBNYXR0aGlhcyBDbGFzZW4gPG1jbGFzZW5AcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCBidWlsZCB3aXRoIHJlY2VudCBrZXJuZWxzLCB0aGUgdjRsMl9idWZmZXIgaW5wdXQgZmllbGQgd2FzIHJlbW92ZWQKCSAgVGhpcyB3YXMgdW51c2VkIGFwcGFyZW50bHkgYW5kIHJlbW92ZWQgaW4gdGhlIGtlcm5lbCBpbiBjb21taXQ6CgkgIEZyb20gMmI3MTlkN2JhZjQ5MGUyNGNlN2Q4MTdjNjMzN2I3Yzg3ZmRhODRjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKCSAgRnJvbTogU2FrYXJpIEFpbHVzIDxzYWthcmkuYWlsdXNAaWtpLmZpPgoJICBEYXRlOiBXZWQsIDIgTWF5IDIwMTIgMDk6NDA6MDMgLTAzMDAKCSAgU3ViamVjdDogW1BBVENIXSBbbWVkaWFdIHY0bDogZHJvcCB2NGwyX2J1ZmZlci5pbnB1dCBhbmQgVjRMMl9CVUZfRkxBR19JTlBVVAoJICBSZW1vdmUgaW5wdXQgZmllbGQgaW4gc3RydWN0IHY0bDJfYnVmZmVyIGFuZCBmbGFnIFY0TDJfQlVGX0ZMQUdfSU5QVVQgd2hpY2gKCSAgdGVsbHMgdGhlIGZvcm1lciBpcyB2YWxpZC4gVGhlIGZsYWcgaXMgdXNlZCBieSBubyBkcml2ZXIgY3VycmVudGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDkxCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwoKMjAxMi0wOC0wOCAxNzoyNTozNiAtMDcwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5OiBNYWtlIGl0IGFjdHVhbGx5IHdvcmsgYWZ0ZXIgY2xlYW51cHMKCjIwMTItMDgtMDggMTc6NDA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZ3N0OiBTZXQgYWxpZ25tZW50IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIEdzdEFsbG9jYXRpb25QYXJhbXMKCjIwMTItMDgtMDggMTc6Mzk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgZ3N0OiBTZXQgYWxpZ25tZW50IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIEdzdEFsbG9jYXRpb25QYXJhbXMKCjIwMTItMDgtMDggMTY6MjU6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTMgPT09CgoyMDEyLTA4LTA4IDE1OjIyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MwoKMjAxMi0wOC0wOCAxNToxNzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5oOgoJICB3aW4zMjogYWRkIGdlbmVyYXRlZCB0dW5lci1tYXJzaGFsL2VudW10eXBlcyBmaWxlcyBmb3IgdjRsMnNyYyBhbmQgdXBkYXRlCgkgIEFuZCBnc3QtaW5kZW50IHRoZSByaWdodCBydHAgbWFyc2hhbCBmaWxlczsgYWRkIG1pc3NpbmcgZmlsZXMgdG8gTUFOSUZFU1QuCgoyMDEyLTA4LTA4IDE1OjEwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkgIGdzdDogdXBkYXRlIGRpc3RlZCBvcmMgZmlsZXMKCjIwMTItMDgtMDggMTI6NTg6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJICBtcGcxMjM6IGRpc3QgaGVhZGVyIGZpbGUKCjIwMTItMDgtMDggMTE6MzE6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgU2lsZW5jZSBzb21lICd2YXJpYWJsZSBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncwoJICBXaGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMi0wOC0wOCAxMDo1Njo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIE5vIGNvZGUgd2l0aCBzaWRlLWVmZmVjdHMgaW5zaWRlIGdfYXNzZXJ0KCkgcGxlYXNlCgoyMDEyLTA4LTA3IDExOjE0OjIxIC0wNzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBSZXR1cm4gRkxVU0hJTkcgaW5zdGVhZCBvZiBFUlJPUiBvbiB1bmxvY2sKCSAgSWYgdGhlIGJhc2UgY2xhc3MgYXNrcyBtdWx0aXVkcHNpbmsgdG8gdW5sb2NrLCB0aGVuIGl0IHNob3VsZCByZXR1cm4KCSAgRkxVU0hJTkcsIG5vdCBFUlJPUgoKMjAxMi0wNy0yNiAxNjoxOTo1NyArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IGFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgVE9DIGFzIGVtYmVkZGVkIGN1ZXNoZWV0cyBpbiBmbGFjIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwODkKCjIwMTItMDgtMDcgMTI6MTI6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBnZW5lcmF0ZSBlbXB0eSB2b3JiaXNjb21tZW50IGZvciBjb21wbGV0ZSBzdHJlYW1oZWFkZXJzIGlmIG5lZWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzM1CgoyMDEyLTA4LTA2IDE4OjAyOjUwIC0wNzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogQmxvY2sgcGFkIHdoaWxlIGl0IGlzIGFubm91bmNlZC4KCSAgQmxvY2sgdGhlIFJUUCBwYWQgYW5kIGFzc29jaWF0ZWQgUlRDUCBwYWRzIHdoaWxlIHRoZXkgYXJlIGJlaW5nCgkgIGFubm91bmNlZC4gVGhpcyBpdCB0byBwcmV2ZW50IGEgcmFjZSB3aGVyZSBvbmUgaXMgYW5ub3VuY2VkIGFuZAoJICBiZWZvcmUgdGhlIGNhbGxiYWNrIGhhcyBjb25uZWN0ZWQgaXQsIHRoZSBvdGhlciBvbmUgZ2V0cyBhIGJ1ZmZlci4KCSAgV2UgY2FuJ3QgdXNlIHRoZSAicGFkbG9jayIgb2Ygc3NyY2RlbXV4IGJlY2F1c2UgaXQgY2F1c2VzIGRlYWRsb2Nrcy4KCjIwMTItMDgtMDYgMTU6MDA6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBjb21tb246IHVuLWRvIGFjY2lkZW50YWwgY29tbW9uIHVwZGF0ZSByZXZlcnQgaW4gY29tbWl0IDdiNTkyNWI1CgoyMDEyLTA4LTA2IDE0OjUwOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHNldCBjb3JyZWN0IGRhdGFfc2l6ZSBmb3IgZ2VuZXJhdGVkIGR1bW15IGZyYW1lCgkgIC4uLiB3aGljaCBwcmV2ZW50cyBnZXR0aW5nIHN0dWNrIGluIGEgbG9vcCBpZiBzdWNoIG9uZSBpcyBuZWVkZWQuCgoyMDEyLTA4LTA2IDE0OjUwOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGltcHJvdmUgYW5kIGZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCSAgLi4uIHNvIGl0IHJlYWxseSBpbmZvcm1zIGFib3V0IG5leHQgcmF0aGVyIHRoYW4gcGFzdCBmcmFtZS4KCjIwMTItMDgtMDYgMTI6MzQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogdXBkYXRlIGF2YWlsYWJsZSBieXRld3JpdGVyIHNwYWNlIHdoZW4gcmVwb3NpdGlvbmluZwoJICAuLi4gYW5kIGFkZCBzb21lIG1vcmUgYXNzZXJ0IHRvIGNhdGNoIHBvdGVudGlhbCBzdXJwcmlzZXMgZWFybHkgb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA1NTgKCjIwMTItMDgtMDQgMTI6NDc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnc3Q6IEFkZCBzdHJlYW0taWQgdG8gc3RyZWFtLXN0YXJ0IGV2ZW50cwoKMjAxMi0wOC0wNCAxMjo1NDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgcXVlcnkgaGFuZGxlciBpZiBubyBwYWQgaXMgcHJvdmlkZWQKCjIwMTItMDgtMDIgMDE6NDg6MjkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhZGQgYSBiZXR0ZXIgZGV0ZWN0aW9uIGZvciB0aGUgbWFpbiBydW4gbG9vcAoKMjAxMi0wNy0yNyAxNjoxMzo0OSArMDIwMCAgWGF2aSBBcnRpZ2FzIDx4YXJ0aWdhc0BmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBEbyBub3Qgb3ZlcndyaXRlIHRoZSBEUyBidWZmZXIgd2hlbiB0ZXN0aW5nIGZvciBBQzMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzA2CgkgIENvbmZsaWN0czoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jCgoyMDEyLTA4LTA1IDE2OjM5OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NGNjZjRjIHRvIDY2OGFjZWUKCjIwMTItMDgtMDMgMTY6MTM6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBSZWxlYXNlIGxvY2sgYmVmb3JlIHNpZ25hbGxpbmcgbmV3IHBhZAoJICBUaGlzIHByZXZlbnRzIGEgZGVhZGxvY2sgd2hlcmUgc29tZXRoaW5nIHdvdWxkIHRyeSB0byBwdXNoIGFuIGV2ZW50CgkgIHRocm91Z2ggdGhlIFNTUkMgZGVtdXggZnJvbSB0aGUgY2FsbGJhY2ssIGNhdXNpbmcgdGhlIHBhZHMgdG8gYmUgaXRlcmF0ZWQKCSAgYW5kIHRoZSBsb2NrIHRha2VuLgoKMjAxMi0wOC0wNCAxNjoxMzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgZ3N0X3RhZ19saXN0X2ZyZWUgLT4gZ3N0X3RhZ19saXN0X3VucmVmCgoyMDEyLTA4LTA0IDE2OjEwOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBnc3RfdGFnX2xpc3RfZnJlZSAtPiBnc3RfdGFnX2xpc3RfdW5yZWYKCjIwMTItMDgtMDMgMTM6NDM6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IG1hcCBpbnB1dCBidWZmZXIgaW4gUkVBRCBtb2RlLCBub3QgV1JJVEUgbW9kZQoJICBNYWtlcyB0aGluZ3MgYWN0dWFsbHkgd29yay4KCjIwMTItMDgtMDMgMTE6NTA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHF1ZXJ5IHN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0cyBhdCBydW4tdGltZQoJICBGaXhlcyBzdHVmZi4gV2UgdXNlIGEgc3RyaW5nIGhlcmUgc2luY2Ugd2UgY2FuJ3QgYmUgYm90aGVyZWQKCSAgd2l0aCBHVmFsdWUuCgoyMDEyLTA4LTAzIDE0OjEwOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFuYWdlIHJhY2UgYmV0d2VlbiBjb25uZWN0aW9uIGNsb3NpbmcgYW5kIGZsdXNoaW5nCgkgIC4uLiB3aGVyZSB0aGUgZm9ybWVyIGNhbiBoYXBwZW4gaW4gdGFzayB0aHJlYWQgYW5kIHRoZSBsYXR0ZXIgaW4gbWFpbmxvb3AKCSAgdXBvbiBkb3dud2FyZCBzdGF0ZSBjaGFuZ2UuCgoyMDEyLTA4LTAzIDE0OjAyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaW1wcm92ZSBhbmQgcmVsYXggYXVkaW8gZnJhbWUgcGFyc2luZwoJICAuLi4gc28gYXMgdG8gcHJvcGVybHkgcmVjb2duaXplIGZpcnN0IGF1ZGlvIGZyYW1lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMDc3CgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgoyMDEyLTA4LTAzIDExOjQ4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIG1wZzEyMzogaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCjIwMTItMDgtMDMgMTE6MTM6NDggKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5oOgoJICBtcGcxMjM6IGFkZCBuZXcgbGlibXBnMTIzLWJhc2VkIG1wMyBkZWNvZGVyIHBsdWdpbgoJICBOZWVkcyBhIGJpdCBvZiBjbGVhbmluZyB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTAwMwoKMjAxMi0wOC0wMSAxMjoxNjo0MSArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZG91YmxlIHVucmVmIG9mIHByaXZhdGUgdGFnIGJ1ZmZlcgoKMjAxMi0wNy0zMCAxNzo1NDo1MSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjcmVhdGUgVE9DIGFzIG5lZWRlZAoJICBBdm9pZCBjcmVhdGluZyB0aGUgdG9jIGlmIHRoZSB3YXYgaGFzIG5vIG9yIGVtcHR5IGN1ZSBjaHVuay4KCSAgQWxzbyBhIHNtYWxsIGNvZGUgY2xlYW51cC4KCjIwMTItMDctMjggMTE6MjY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHVwZGF0ZSBmb3IgVE9DIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI4IDExOjIyOjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIFRPQyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yOCAxMToyMDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXBkYXRlIGZvciBUT0MgQVBJIGNoYW5nZXMKCjIwMTItMDctMjggMDA6MTk6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGFnOiBVcGRhdGUgZm9yIHRhZ2xpc3QvdGFnIGV2ZW50IEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI3IDEyOjA1OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdChkZSltdXg6IHBhc3MgcHJpdmF0ZSBibG9iIHRhZ3MgaW4gYSBzYW1wbGUKCSAgLi4uIHJhdGhlciB0aGFuIGEgYnVmZmVyLCBhbmQgdGhlIGRldGFpbGVkIGluZm8gaW4gdGhlIHNhbXBsZSBpbmZvCgkgIHJhdGhlciB0aGFuIGNhcHMuCgoyMDEyLTA3LTI3IDExOjMxOjEzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IERvbid0IHJldHVybiBOVUxMIGZyb20gX3RyYW5zZm9ybV9jYXBzCgkgIElmIF90cmFuc2Zvcm1fY2FwcyAoKSByZXR1cm5zIE5VTEwsIHRoZSBiYXNldHJhbnNmb3JtIF90cmFuc2Zvcm1fY2FwcwoJICB0cmllcyB0byBjYWxsIGdzdF9jYXBzX2lzX3N1YnNldCAoKSB3aXRoIGEgTlVMTCBzdWJzZXQgd2hpY2ggaGl0cyBhbgoJICBhc3NlcnRpb24uCgoyMDEyLTA3LTI3IDExOjI2OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogb2J0YWluIGltYWdlIHR5cGUgZnJvbSB0aGUgc2FtcGxlIGluZm8KCjIwMTItMDctMjcgMTE6MjU6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgZXh0cmFuZW91cyBfdW5yZWYKCSAgLi4uIHNpbmNlIHdlIGRpZCBub3Qgb2J0YWluIGEgYnVmZmVyIHJlZiBmcm9tIHRoZSBHc3RTYW1wbGUuCgoyMDEyLTA3LTI3IDEwOjE0OjIzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFVwZGF0ZSB0byB1c2UgR3N0U2FtcGxlIHRhZyBzZXR0aW5nIEFQSQoKMjAxMi0wNy0yNiAxNjozNDoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBtb2RpZnkgYnVmZmVyIGRhdGEgcmF0aGVyIHRoYW4gYnVmZmVyIGl0c2VsZgoKMjAxMi0wNy0yNiAxNjoyODozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBhdm9pZCBsZWFraW5nIGJ5dGV3cml0ZXIgaW5zdGFuY2UKCjIwMTItMDctMjYgMTY6MDQ6MjMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHRpbWVzdGFtcCBhZGp1c3RtZW50IGFuZCBjYXBzCgoyMDEyLTA3LTI2IDE2OjAzOjU3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeC9zaW1wbGlmeSB0ZWxlY2luZSBzdGF0ZSBjaGVja3MKCjIwMTItMDctMjYgMTI6MDg6NTggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMDctMjYgMTI6MDg6MzYgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGxvdy1sYXRlbmN5IHBhdHRlcm4gbG9ja2luZwoKMjAxMi0wNy0yNCAxNjoxOTo1MyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSRkYgc2hvdWxkIGJlIGlnbm9yZWQgaW4gZGVpbnRlcmxhY2UKCSAgUkZGIG9ubHkgb2NjdXJzIG9uIHByb2dyZXNzaXZlIGZyYW1lcyBpbiB0ZWxlY2luZSBzZXF1ZW5jZXMuIEZvcgoJICBkZWludGVybGFjZSwgd2UgZG9uJ3Qgd2FudCB0aGVzZSByZXBlYXRlZCBmaWVsZHMgYXMgd2Ugd2lsbCBzaW1wbHkgYmUKCSAgcHVzaGluZyB0aGUgcHJvZ3Jlc3NpdmUgZnJhbWUgYW5kIHRoZW4gbW92aW5nIG9uLgoJICBIb3dldmVyLCB3ZSBuZWVkIHRvIGNvbnNpZGVyIFJGRiBpbiBvcmRlciB0byBjb3JyZWN0bHkgaWRlbnRpZnkgcGF0dGVybnMKCSAgYW5kIGFkanVzdCB0aGUgdGltZXN0YW1wcy4KCjIwMTItMDctMjQgMTQ6NTk6NDcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBwcm9jZXNzIGxvZ2ljCgkgIFRoZSBsb2dpYyBub3cgd29ya3MgYmV0dGVyIGlmIHdlIGZpbHRlciBvcnBoYW5zLCB0aGVuIHByb2dyZXNzaXZlLCB0aGVuCgkgIHRlbGVjaW5lIGludGVybGFjZWQgZmllbGRzIHdoaWNoIG5lZWQgdG8gYmUgd292ZW4gYW5kIGZhbGwgdGhyb3VnaCB0bwoJICBpbnRlcmxhY2UuIFRlbGVjaW5lIGludGVybGFjZWQgZmllbGRzIHdpbGwgYmUgcmVndWxhcmx5IGRlaW50ZXJsYWNlZCBpZgoJICB0aGVyZSBpcyBubyBwYXR0ZXJuIGxvY2sgZm9yIHVzIHRvIGJlIHN1cmUgdGhhdCB3ZSBoYXZlIGEgdGVsZWNpbmUKCSAgcGF0dGVybi4KCSAgVGVsZWNpbmUgc2VxdWVuY2VzIHRoYXQgYXJlbid0IDI0ZnBzIHByb2dyZXNzaXZlIHdpdGggUkZGIGZsYWdzIGNhbid0CgkgIHJlYWxseSBiZSB0ZXN0ZWQgdW50aWwgZmllbGRhbmFseXNpcyBpcyBwb3J0ZWQuCgoyMDEyLTA3LTI1IDE2OjAyOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogb25seSBzZXQgY29tcGxldGUgb3V0cHV0IGNhcHMgb25jZQoJICAuLi4gc28gYXMgdG8gYXZvaWQgZG93bnN0cmVhbSBjb21wbGFpbnRzIGFib3V0IG1pc3Npbmcgc3RyZWFtaGVhZGVycy4KCjIwMTItMDctMjUgMTU6Mjk6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBhbHNvIHN1cHBvcnQgUzI0XzMyIG91dHB1dAoKMjAxMi0wNy0yNSAxNToyODoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHBhc3MgY29ycmVjdCBwYXJhbWV0ZXJzIHRvIGVuY29kZXIgbGliCgoyMDEyLTA3LTI1IDE0OjU3OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWRqdXN0IHRvIG1vZGlmaWVkIGF1ZGlvZW5jb2RlciBnZXRjYXBzIGhlbHBlciBBUEkKCjIwMTItMDctMjUgMTI6NTA6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGdvIGFuZCBzdGF5IGluIHRoZSBsb29wIGZ1bmN0aW9uIG9uIFBMQVkKCSAgV2hlbiB3ZSBoYXZlIGEgUExBWSByZXF1ZXN0LCBnbyBpbnRvIHRoZSBMT09QIGZ1bmN0aW9uIG5leHQuIFdoZW4gd2UgYXJlCgkgIGxvb3BpbmcsIGtlZXAgb24gbG9vcGluZyB1bnRpbCB3ZSBhcmUgdG9sZCBvdGhlcndpc2UuCgkgIFRoaXMgZml4ZWQgcnRzcCBhbmQgVENQIGNvbm5lY3Rpb25zLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNTUxCgoyMDEyLTA3LTI1IDEyOjQ5OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBzZXQgY2FwcyBhZnRlciBhY3RpdmF0aW5nIHRoZSBwYWQKCjIwMTItMDctMjUgMTI6NDk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IHNtYWxsIGNsZWFudXBzCgoyMDEyLTA3LTI1IDEwOjA4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJICB4cXRkZXBheTogZml4IGJ1ZmZlciByZWZjb3VudCBlcnJvcgoJICBBZnRlciBwdXNoaW5nIHRoZSBidWZmZXIgaW50byB0aGUgYWRhcHRlciwgd2Ugc2hvdWxkIG5vdCBsZXQgdGhlIGJhc2VjbGFzcyBwdXNoCgkgIGl0IG91dCBhbnltb3JlLiBUaGlzIGVycm9yIHdhcyBpbnRyb2R1Y2VkIHdoaWxlIHBvcnRpbmcgdG8gMC4xMS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA1NDAKCjIwMTItMDctMjQgMjE6NDE6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHJlbW92ZSBvYnNvbGV0ZSBsaWJvaWwgY29tbWVudAoKMjAxMi0wNy0yNCAyMToxMToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHB1c2ggbW9kZTogaW5jcmVhc2Ugc2VnbWVudCBhY2N1cmFjeSBmb2xsb3dpbmcgc2VlawoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTI0IDE2OjQxOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwZXJmb3JtIHByb3BlciBLRVlfVU5JVCBzZWVrIGFsc28gaW4gcHVzaCBtb2RlCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMjQgMTk6MDQ6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBkb24ndCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgZXJyb3Igd2hlbiBsZWF2aW5nIG11bHRpY2FzdCBncm91cCBvbiBzaHV0ZG93bgoJICBTdHJhbmdlbHkgZW5vdWdoLCBpZiB3ZSBkbyBwYXNzIGFuIGVycm9yIHZhcmlhYmxlIHRvIGJlIGZpbGxlZCwgd2UKCSAgbm8gbG9uZ2VyIGdldCBhbiBlcnJvciBvbiBsZWF2aW5nLgoKMjAxMi0wNy0yNCAxNTo1NToxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZWFycmFuZ2Ugc29tZSBjaGVja3MgdG8gYXZvaWQgTlVMTCB1c2UKCjIwMTItMDctMjQgMTU6Mzg6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdXNlIHNhbWUgZm91cmNjIHRvIGRldGVybWluZSBjYXBzIGluIGRldGVybWluaW5nIHVuY29tcHJlc3NlZC1uZXNzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM4OTgKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmMKCjIwMTItMDctMjQgMTU6MzY6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgImF2aWRlbXV4OiBEb24ndCBjb25zaWRlciAwIGZjY19oYW5kbGVyIGFzIHVuY29tcHJlc3NlZC4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzZiOWY1YjI1YWI0MzU2Njk4MTZhMDcwNDliMGU1YThmMDFlMDljYS4KCSAgZm91cmNjIEdTVF9SSUZGX3JnYiA9IDAgc3RpbGwgbGVhZHMgdG8gcmF3IHVuY29tcHJlc3NlZCByZ2IgY2Fwcy4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OAoKMjAxMi0wNy0yNCAxMjoxMDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB1cCBleGFtcGxlIHBpcGVsaW5lIHNvbWUgbW9yZQoJICBObyBtb3JlIGZmbXBlZ2NvbG9yc3BhY2UKCjIwMTItMDctMjAgMTY6MzA6MDAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IHRoZSBleGFtcGxlIGdzdC1sYXVuY2ggcGlwZWxpbmUuCgoyMDEyLTA3LTI0IDEyOjMzOjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBOVUxMIGFjY2VzcyB3aGVuIGNoZWNraW5nIHN1YnRpdGxlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAzODgKCjIwMTItMDctMjQgMTI6MjI6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVzZXQgcGFyc2VyIHdoZW4gd2UgaGF2ZSBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YQoJICBUaGlzIGVuc3VyZXMgdGhlIGRldGVjdGlvbiAoYW5kIHByb3BlciBkb3duc3RyZWFtIGNhcHMgc2V0dGluZ3MpIHdpbGwKCSAgYWN0dWFsbHkgaGFwcGVuIHdoZW4gd2UgaGF2ZSBuZXcgaW5jb21pbmcgY2FwcyB3aXRob3V0IGNvZGVjX2RhdGEuCgkgIFRoaXMgd2FzIGVhc2lseSB0cmlnZ2VyZWQgYnkgc3RyZWFtcyBmcm9tIG1hdHJvc2thZGVtdXggd2hpY2ggaW5pdGlhbGx5CgkgIHByb3ZpZGVkIGNhcHMgd2l0aCBhIGNvbnN0cnVjdGVkIGNvZGVjX2RhdGEsIGJ1dCB0aGVuIHB1c2hlZCBuZXcgY2FwcwoJICB3aXRob3V0IHRoZSBjb2RlY19kYXRhIG9uY2UgaXQgZGV0ZWN0ZWQgdGhlIHN0cmVhbSB3YXMgYWR0cy4KCjIwMTItMDctMjQgMDk6MTc6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIHZpZGVvX21peGVyX29yY18KCjIwMTItMDctMjQgMDk6MTM6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLm9yYzoKCSAgdmlkZW9ib3g6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggdmlkZW9fYm94X29yY18KCjIwMTItMDctMjMgMTg6NTE6MDAgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDEyLTA3LTIzIDE3OjM3OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBnZW5lcmF0ZSBjb3JyZWN0IHNlZ21lbnQgc3RyZWFtIHRpbWUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI3NQoKMjAxMi0wNy0yMyAxNjo0Mjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJICBydHA6IGFsd2F5cyB1c2UgYnVmZmVyIGxpc3RzCgoyMDEyLTA3LTIzIDE1OjI0OjE3ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogYWx3YXlzIGVuYWJsZSBidWZmZXItbGlzdHMKCjIwMTItMDctMjMgMTU6MjI6MjQgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBydHBqcGVncGF5OiBhbHdheXMgZW5hYmxlIGJ1ZmZlci1saXN0cwoKMjAxMi0wNy0yMyAxNTo0OTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBnZXQgZnJhbWUgZmxhZ3MgY29ycmVjdGx5CgkgIEFsc28gbW92ZSB0aGUgZGVpbnRlcmxhY2UgcGx1Z2luIHRvIHBvcnRlZCBzdGF0dXMKCjIwMTItMDctMjMgMTU6MzM6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByb3BlciBwYXJzZSByZWNvdmVyeSBhZnRlciBzZWVrCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA0MjcKCjIwMTItMDctMjMgMTI6Mzk6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogY2xlYXIgb2xkIHNlZ21lbnQgZXZlbnQgd2hlbiByZXF1ZXN0aW5nIG5ldyBvbmUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI4MwoKMjAxMi0wNy0yMyAxMDozMjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIGV4dDogVXBkYXRlIGZvciB2aWRlbyBiYXNlIGNsYXNzZXMgQVBJIGNoYW5nZXMKCjIwMTItMDctMjMgMDg6NDk6MDcgKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjb252ZXJ0IGFsbCBub24gR1NUX0ZPUk1BVF9CWVRFUyB0byBmb3JtYXQgYnl0ZXMuCgkgIENvbnZlcnQgYWxsIG5vbiBHU1RfRk9STUFUX0JZVEVTIHRvIGZvcm1hdCBieXRlczoKCSAgZml4ZXM6CgkgIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3F1ZXJ5X3NldF9kdXJhdGlvbjogYXNzZXJ0aW9uIGBmb3JtYXQgPT0KCSAgZ192YWx1ZV9nZXRfZW51bSAoZ3N0X3N0cnVjdHVyZV9pZF9nZXRfdmFsdWUgKHMsIEdTVF9RVUFSSyAoRk9STUFUKSkpJwoJICBmYWlsZWQKCSAgd2hlbiBwbGF5aW5nIG1vcmUgdGhhbiBvbmUgd2F2IHN0cmVhbS4KCSAgZ3N0LXBsdWdpbnMtYmFzZS90ZXN0cy9pY2xlcy9wbGF5YmFjay90ZXN0NyB1cmkxLndhdiB1cmkyLndhdgoKMjAxMi0wNy0yMyAwOToyNToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IGZhaWwgaWYgbW9yZSBkYXRhIHRoZW4gbmVlZGVkIGlzIGF2YWlsYWJsZSB3aGVuIHBhcnNpbmcgY3VlIGNodW5rcwoJICBGaXhlcyBidWcgIzY4MDMyOC4KCjIwMTItMDctMjMgMDk6MjI6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBTb21lIG1pbm9yIGNsZWFudXAgdG8gdGhlIGN1ZS9sYWJsIHBhcnNpbmcKCjIwMTItMDctMjMgMDg6NDU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5OGUzODZmIHRvIDk0Y2NmNGMKCjIwMTItMDctMTkgMTQ6NTU6NDUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICBkZWludGVybGFjZTogUG9ydCB0byAxLjAKCSAgVGhpcyByZXF1aXJlcyB0aGUgYWRkaXRpb25hbCBJTlRFUkxBQ0VEIGJ1ZmZlciBmbGFnIHJlY2VudGx5IGFkZGVkIHRvCgkgIC1iYXNlCgoyMDEyLTA3LTIwIDE1OjE4OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBjb252ZXJ0IHRoZSBvdXRwdXQgc2VnbWVudCB0byB0aW1lCgkgIENvbnZlcnQgdGhlIHN0b3JlZCBpbnB1dCBzZWdtZW50IHRvIHRpbWUgYmVmb3JlIHB1c2hpbmcgaXQgb3V0LgoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNy0yMCAxMzoxMjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiB0cnkgdG8gZml4IHNlZ21lbnQgaGFuZGxpbmcKCSAgQ29uZmxpY3RzOgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMKCjIwMTItMDctMjAgMTU6Mjg6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE5vbi11cGRhdGUgc2Vla3Mgc2hvdWxkIHN0aWxsIG1ha2Ugc3VyZSB0aGF0IHJldmVyc2UgcGxheWJhY2sgc3RhdHVzIGlzIHJlc2V0CgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMjAgMTU6MTg6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFByb3Blcmx5IGluaXRpYWxpemUgZnJvbV9vZmZzZXQgYW5kIGZyb21fdGltZQoKMjAxMi0wNy0yMCAxNDoyNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogV2UgbmVlZCBhbiBpbmRleCBhbmQgaW5kZXggZW50cnkgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgUmV2ZXJzZSBwbGF5YmFjayBkb2VzIG5vdCB3b3JrIHdpdGggaW5kZXgtbGVzcyBmaWxlcyB5ZXQuCgoyMDEyLTA3LTIwIDE0OjEwOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2xlYW4gdXAgcHVzaCBtb2RlIHNlZ21lbnQgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI3NwoKMjAxMi0wNy0yMCAxMzozNToyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvcGVybHkgdHJhbnNmb3JtIGluY29taW5nIHNlZ21lbnQgZXZlbnQKCSAgLi4uIHdoaWNoIGlzIHJlYWxseSB1c2VmdWwgZm9yIHByb3BlciBwdXNoIG1vZGUgc2Vla2luZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI3OAoKMjAxMi0wNy0yMCAxMTowNzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCByZXZlcnNlIHBsYXliYWNrIGZvciBzZWVrcyB3aXRob3V0IHN0b3AgcG9zaXRpb24KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaAoKMjAxMi0wNy0yMCAxMDo0ODozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogT25seSB0YWtlIHRoZSBzdHJlYW1fc3RhcnRfdGltZSBpbnRvIGFjY291bnQgZm9yIFNFVCBzZWVrcwoJICBGb3Igb3RoZXIgc2Vla3MgdGhlIHN0cmVhbV9zdGFydF90aW1lIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlCgkgIHNlZ21lbnQgdmFsdWVzLgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTA4IDIwOjM2OjIyICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBBZGQgVE9DIHN1cHBvcnQKCSAgQWRkIHN1cHBvcnQgZm9yOgoJICAqIEN1ZSBDaHVuawoJICAqIEFzc29jaWF0ZWQgRGF0YSBMaXN0IENodW5rCgkgICogTGFiZWwgQ2h1bmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzMwNgoKMjAxMi0wNS0wOSAxNTo1ODoxNiArMDIwMCAgTWFyaWEgR2lvdmFubmEgQ2hpb3NzYSA8bWFyaWFnaW92YW5uYS5jaGlvc3NhIGF0IHNlbGV4ZWxzYWcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIHNldCBVRFAgYnVmZmVyIHNpemUgaW4gbXVsdGljYXN0CgkgIEFsc28gc2V0IHRoZSBVRFAgYnVmZmVyIHNpemUgaW4gbXVsdGljYXN0IG1vZGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0NDgKCjIwMTItMDctMTggMjM6NDM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggaGVhZGVyIHBhcnNpbmcgaW4gcHVzaCBtb2RlCgkgIEZpeCAnYnJlYWsnIHRoYXQgZ290IHdhcnBlZCB0byB0aGUgd3JvbmcgcGxhY2UsCgkgIHByb2JhYmx5IGFzIHBhcnQgb2YgYSBtZXJnZS4gRml4ZXMgR1NUX0lTX0JVRkZFUgoJICBjcml0aWNhbHMgaW4gcGFyc2VfaWRpdCgpIHdoZW4gYmVpbmcgYWNjaWRlbnRhbGx5CgkgIHBhc3NlZCBhIE5VTEwgYnVmZmVyIGJlY2F1c2Ugb2YgdGhlIG1pc3NpbmcgYnJlYWsuCgkgIGdzdC1sYXVuY2gtMS4wIHBsYXliaW4gdXJpPWh0dHA6Ly9kb2NzLmdzdHJlYW1lci5jb20vbWVkaWEvc2ludGVsX3RyYWlsZXItNDgwaS5hdmkKCjIwMTItMDctMTggMjI6NDc6MjIgKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBkZXByZWNhdGVkIHNvdXBfbWVzc2FnZV9oZWFkZXJzIF9nZXQgLT4gX2dldF9vbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDIwNgoKMjAxMi0wNy0xOCAxODoyNzo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIGpwZWcvcG5nOiBDYWxsIHZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDctMTggMTc6NTc6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJICB1cGRhdGUgZm9yIGdob3N0cGFkIGNoYW5nZXMKCjIwMTItMDctMTggMTE6MzY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFBhc3Mgc2VlayByYXRlIHRvIHVwc3RyZWFtIHNlZWsgZXZlbnRzIGluIHB1c2ggbW9kZQoJICBGaXhlcyBidWcgIzY3OTQzNS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0xNyAxNjozOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTcgMTY6Mzg6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTYgMTE6MDc6NDQgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHVzZSBidWZmZXIgbGlzdHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTk5NAoKMjAxMi0wNy0xNyAxMDowMTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBwYXJzaW5nIG9mIElTUkMgZnJvbSB0aGUgY3Vlc2hlZXRzCgoyMDEyLTA3LTA1IDE0OjE1OjI1ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgc3VwcG9ydCBlbWJlZGRlZCBjdWVzaGVldHMgaW4gZmxhYyBmaWxlcy4KCSAgUGFyc2luZyBNRVRBREFUQV9CTE9DS19DVUVTSEVFVCBhcyBUT0MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTItMDctMTMgMTQ6NDM6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhdm9pZCBzb21lIG1vcmUgZnJhbWUgbWlzcGFyc2luZyBieSBhZGRpdGlvbmFsIGhlYWRlciBzYW5pdHkgY2hlY2sKCSAgLi4uIHVzaW5nIGEgcmVxdWlyZWQgY29uc3RhbnQgYmxvY2tpbmdfc3RyYXRlZ3kgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5ODA3CgoyMDEyLTA3LTEzIDEzOjUxOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGRlbXV4OiBQdXNoIFNUUkVBTV9TVEFSVCBldmVudCB3aGVuIG5lZWRlZAoKMjAxMi0wNy0xMSAxMzoxMDowNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHdhcm5pbmcgaWYgYm90aCB0cyBhcmUgZXF1YWwKCjIwMTItMDctMTEgMTI6Mjg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBjaGVjayB0aGUgcmlnaHQgc2l6ZSB3aGVuIHdhcm5pbmcgYWJvdXQgdG9vIGxhcmdlIHVkcCBwYWNrZXRzCgkgIFdoYXQgbWF0dGVycyBpcyB0aGUgdG90YWwgc2l6ZSwgbm90IHRoZSBzaXplIG9mIGFueSBvZiB0aGUKCSAgaW5kaXZpZHVhbCBtZW1vcnkgY2h1bmtzIHRoYXQgbWFrZSB1cCB0aGUgcGFja2V0LgoKMjAxMi0wNy0xMCAxNDozODoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgYXV0b2RldGVjdDogcHJveHkgdHMtb2Zmc2V0IHByb3BlcnRpZXMKCSAgUHJveHkgdGhlIHRzLW9mZnNldCBwcm9wZXJ0eSBpbiB0aGUgYXVkaW8qc2luayBlbGVtZW50cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTM0MwoKMjAxMi0wNy0wOSAxNjoyNzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBmaXggZm9yIGFsbG9jYXRvciBBUEkgY2hhbmdlcwoKMjAxMi0wNy0wOSAxMjoyMjowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgcmlmZiBmaWVsZCByZW5hbWUKCjIwMTItMDUtMjEgMTM6NTQ6NTEgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhc0BvcGVuaXNtdXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkcm9wIHJlZHVuZGFudCBlbGVtZW50c19sZXZlbF9MREFERCBsaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYzMDIKCjIwMTItMDctMDggMTM6MzA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkgIHRlc3RzOiBtaW5vciBqcGVnZGVjIGNsZWFuLXVwcyBhbmQgZml4ZXMKCSAgRml4IHJhY2UgY29uZGl0aW9uIGluIGVvcyBjaGVja2luZyBhbmQgYSBsZWFrLiBBbmQKCSAgYnVpbGQgcGlwZWxpbmUgd2l0aG91dCBwYXJzZV9sYXVuY2guCgoyMDEyLTA1LTIxIDEzOjUzOjU0ICswMjAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXNAb3BlbmlzbXVzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL2ltYWdlLmpwZzoKCSAgdGVzdHM6IEFkZCBzb21lIGJhc2ljIHRlc3RzIGZvciBqcGVnZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYzMDIKCjIwMTItMDctMDggMDA6MDg6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHBhc3MgdW5oYW5kbGVkIG5vbi1jdXN0b20gZXZlbnRzIHRvIHRoZSBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2MjYKCjIwMTItMDctMDYgMTk6MTE6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIHNvbWUgcmVsb2NhdGlvbnMKCjIwMTItMDctMDYgMTQ6NDk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IHJlbW92ZSBkZXByZWNhdGVkIHNlbmQtY29uZmlnIHByb3BlcnR5CgkgIFVzZSBjb25maWctaW50ZXJ2YWwgaW5zdGVhZC4KCjIwMTItMDctMDYgMTQ6NDI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiByZW1vdmUgZGVwcmVjYXRlZCAiYnl0ZS1zdHJlYW0iIGFuZCAiYWNjZXNzLXVuaXQiIHByb3BlcnRpZXMKCSAgVGhlc2Ugd2lsbCBiZSBwaWNrZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkb3duc3RyZWFtIGNhcHMgbm93LCBzbwoJICBpZiB5b3Ugd2FudCB0aGUgZGVwYXlsb2FkZXIgdG8gb3V0cHV0IGEgc3BlY2lmaWMgZm9ybWF0LCBtYWtlIHN1cmUKCSAgdGhlIGVsZW1lbnQgZG93bnN0cmVhbSBhZHZlcnRpc2VzIHRoYXQgcHJlZmVyZW5jZSBvciB1c2UgYSBjYXBzZmlsdGVyCgkgIGFmdGVyIHRoZSBkZXBheWxvYWRlciB0byBmb3JjZSBpdC4KCjIwMTItMDctMDYgMTQ6MTM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHJlbW92ZSBkZXByZWNhdGVkIGFuZCBub24tZnVuY3Rpb25hbCAicHJvZmlsZS1sZXZlbC1pZCIgcHJvcGVydHkKCSAgVGhpcyBpcyBub3cgb3B0aW9uYWxseSB0YWtlbiBmcm9tIGRvd25zdHJlYW0gY2Fwcywgc28gY2FuIGJlCgkgIHNwZWNpZmllZCB2aWEgYSBjYXBzZmlsdGVyIGFmdGVyIHRoZSBwYXlsb2FkZXIuCgoyMDEyLTA3LTA2IDE1OjA3OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBzYW5pdHkgY2hlY2sgYmVmb3JlIGNvbmZpcm1pbmcgQURUUyBmb3JtYXQKCSAgLi4uIGFuZCB0d2VhayBjb25mdXNpbmcgZGVidWcgbWVzc2FnZS4KCjIwMTItMDctMDYgMTU6Mjk6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcmVtb3ZlIHVuaGVscGZ1bCBzdHJheSBkZWJ1ZyBtZXNzYWdlCgoyMDEyLTA3LTA2IDEzOjE2OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIGRlcHJlY2F0ZWQgYW5kIHVudXNlZCAibnRwLW5zLWJhc2UiIHByb3BlcnR5CgoyMDEyLTA3LTA2IDEyOjU3OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkgIGRvY3M6IHVwZGF0ZSBpc29tcDQgZG9jcyBmb3IgZ3BwbXV4IC0+IDNncHBtdXggY2hhbmdlIGFzIHdlbGwKCjIwMTItMDctMDYgMTI6NTQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgaXNvbXA0OiByZW1vdmUgZ3BwbXV4LCB3aGljaCB3YXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgM2dwcG11eAoKMjAxMi0wNy0wNiAxMjo0OTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc210cDogcmVtb3ZlIGRlcHJlY2F0ZWQgImZwcyIgcHJvcGVydHkKCjIwMTItMDctMDYgMTI6NDY6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiByZW1vdmUgZGVwcmVjYXRlZCBhbmQgdW51c2VkICJhdXRvc2NhbiIgcHJvcGVydHkKCSAgUmVwbGFjZWQgYnkgYm91bmRhcnk9TlVMTC4KCjIwMTItMDctMDYgMDk6MDc6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjNwcGF5OiBhY2NlcHQgYW55IGgyNjMgaW5wdXQgdW5sZXNzIGRvd25zdHJlYW0gZm9yY2VzIHNwZWNpZmljIHJlcXVpcmVtZW50cwoJICBydHBoMjYzcHBheSBzaG91bGQgYWNjZXB0IGFueSBpbnB1dCBjb21wYXRpYmxlIHdpdGggaXRzIHNpbmsgdGVtcGxhdGUKCSAgY2FwcyBpZiBpdCBqdXN0IG91dHB1dHMgdG8gZS5nLiB1ZHBzaW5rIG9yIGZha2VzaW5rLgoJICBydHBoMjYzcHBheSAhIHJ0cGgyNjNwZGVwYXkgc2hvdWxkIGFsc28gd29yayB3aXRoIGFueSBjb21wYXRpYmxlIGlucHV0LgoJICBUaGlzIHdvdWxkIGZhaWwgYmVmb3JlIHdpdGggbm90LW5lZ290aWF0ZWQgZXJyb3JzIGJlY2F1c2UgdGhlIGdldF9jYXBzCgkgIGZ1bmN0aW9uIHdvdWxkIHNlZSB0aGUgZW5jb2RpbmctbmFtZSBpbiB0aGUgZGVwYXlsb2FkZXIncyB0ZW1wbGF0ZSBjYXBzCgkgIGFuZCBkZWZhdWx0IHRvIGJhc2VsaW5lIEguMjYzIGJlY2F1c2UgdGhlcmUncyBubyBwcm9maWxlL2xldmVsIGluZm9ybWF0aW9uCgkgIGluIHRob3NlIGNhcHMsIHdoaWNoIGlzIHRoZSByaWdodCB0aGluZyB0byBkbyBpZiBkb3duc3RyZWFtIGhhcyBmaWx0ZXJjYXBzCgkgIGZyb20gYW4gU0RQLCBidXQgbm90IGlmIHRob3NlIGZpZWxkcyBhcmUgYWJzZW50IGJlY2F1c2UgdGhleSBjYW4gYmUKCSAgYW55dGhpbmcgbGlrZSB3aXRoIHRoZSBkZXBheWxvYWRlcidzIHRlbXBsYXRlIGNhcHMuIE1ha2VzCgkgIHZpZGVvdGVzdHNyYyAhIGF2ZW5jX2gyNjNwICEgcnRwaDI2M3BwYXkgISBydHBoMjYzcGRlcGF5ICEgZmFrZXNpbmsKCSAgd29yay4KCjIwMTItMDctMDUgMjI6NTc6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGZpeCBoMjYzcCBwYXlsb2FkICEgZGVwYXlsb2FkIHVuaXQgdGVzdAoJICBOZWVkIHRvIGFkZCBoMjYzdmVyc2lvbiBmaWVsZCB0byBpbnB1dCBjYXBzIHNpbmNlIHRoZQoJICBwYXlsb2FkZXIgc2luayBnZXRfY2FwcyBmdW5jdGlvbiB3aWxsIGNvbnRhaW4gaXQgaW4gdGhlCgkgIHRoZSBjYXBzLCBhbmQgdGhlIHN0cmljdGVyIGNhcHMgc3Vic2V0IGNoZWNrIHJlcXVpcmVzCgkgIHRoaXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgaW5wdXQgY2FwcyBhcyB3ZWxsIHRoZW4uCgoyMDEyLTA3LTA2IDExOjUwOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MjY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MDI6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDctMDUgMTU6MTQ6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IGZpeCByZ3ZvbHVtZSB1bml0IHRlc3QgZXZlbnQgaGFuZGxpbmcKCSAgTXVzdCBmbHVzaCBhZnRlciBFT1MgYmVmb3JlIHNlbmRpbmcgbW9yZSBidWZmZXJzIG9yCgkgIGFub3RoZXIgRU9TIGV2ZW50LCBvciB0aGUgZXZlbnQgb3IgYnVmZmVyIHdpbGwgYmUKCSAgcmVqZWN0ZWQuIEFsc28gc2VuZCBhIFNFR01FTlQgZXZlbnQgYXQgdGhlIHN0YXJ0CgkgIG9mIGVhY2ggc3RyZWFtIGZvciBnb29kIG1lYXN1cmUuCgoyMDEyLTA3LTA1IDEzOjEzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZ3N0OiBJbXBsZW1lbnQgc2VnbWVudC1kb25lIGV2ZW50CgoyMDEyLTA3LTA1IDEyOjM1OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdGhlIFRPQyBxdWVyeSBoYW5kbGluZwoKMjAxMi0wNy0wNCAxOTo1MjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IFVwZGF0ZSBmb3IgbmV3IEdzdFRvYyBBUEkKCSAgVE9DIHN1cHBvcnQgaW4gbWF0cm9za2FtdXggaXMgZGlzYWJsZWQgZm9yIG5vdyBhcyBpdCB3YXMgYnJva2VuIGFueXdheS4KCjIwMTItMDctMDQgMjM6NTc6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBmaXggcmdhbmFseXNpcyB1bml0IHRlc3QgZXZlbnQgaGFuZGxpbmcKCSAgTXVzdCBmbHVzaCBhZnRlciBFT1MgYmVmb3JlIHNlbmRpbmcgbW9yZSBidWZmZXJzIG9yCgkgIGFub3RoZXIgRU9TIGV2ZW50LCBvciB0aGUgZXZlbnQgb3IgYnVmZmVyIHdpbGwgYmUKCSAgcmVqZWN0ZWQuIEFsc28gc2VuZCBhIFNFR01FTlQgZXZlbnQgYXQgdGhlIHN0YXJ0CgkgIG9mIGVhY2ggc3RyZWFtIGZvciBnb29kIG1lYXN1cmUuCgoyMDEyLTA3LTA0IDE4OjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogY2xlYXIgMCBEVFMgb24gYnVmZmVycyBvdXRwdXQsIGFzIHNpbmtzIHdpbGwgcHJlZmVyIERUUyBvdmVyIFBUUyBmb3Igc3luY2luZwoJICBTaW5jZSB0aGUgaW5pdGlhbCBkZWNvZGVkIHN0aWxsIGltYWdlIGJ1ZmZlciB3aWxsIGhhdmUgZHRzPXB0cz0wLCBhbmQKCSAgd2Ugb25seSBzZXQgUFRTIG9uIGJ1ZmZlcnMgd2UgcHVzaCBvdXQsIGFsbCBidWZmZXJzIHB1c2hlZCBvdXQgd291bGQKCSAgaGF2ZSBhIERUUyBvZiAwLiBTaW5rcywgaG93ZXZlciwgd2lsbCBwcmVmZXIgRFRTIG92ZXIgUFRTIGlmIGJvdGggYXJlCgkgIHNldCwgYW5kIHdpbGwgdGhlcmVmb3JlIGFsd2F5cyBzZWUgYSB0aW1lc3RhbXAgb2YgMCBubyBtYXR0ZXIgd2hhdAoJICB0aGUgUFRTIGlzIHNldCB0by4KCSAgRml4ZXMgdW5pdCB0ZXN0IHRvby4KCjIwMTItMDctMDQgMjA6NTk6MDMgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBxdWVyeSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbjsgbW9yZSBkZWJ1Z2dpbmcKCjIwMTItMDctMDQgMTk6NDE6NTIgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBzcGVjIHN0dWZmIGluIGRpcmVjdHNvdW5kc2luawoKMjAxMi0wNS0zMSAxOToyMjo0NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggYWNjZXNzIHRvIGludmFsaWQgcG9pbnRlciBpbiBzZXRfdm9sdW1lCgoyMDEyLTA2LTEzIDEyOjEyOjM5ICswMjAwICBTZWJhc3RpYW4gRHI9QzM9QjZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGNhcHMgbGVha3MKCjIwMTItMDUtMjkgMTE6Mzc6NTkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IGFjY2VwdGNhcHMgY2hlY2sKCjIwMTItMDUtMjUgMTA6MTQ6NTcgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogdXNlIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBmb3Igc3BkaWYgZm9ybWF0cwoKMjAxMi0wNS0yNSAxMDoxOTowOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBhZGQgc3VwcG9ydCBmb3IgRFRTCgoyMDEyLTA1LTA4IDE2OjIzOjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZvcmNlIDQ4MDAwIGtIeiBmb3JjZSBBQy0zIG92ZXIgc3BkaWYKCjIwMTItMDctMDQgMTc6NDI6NDkgKzA0MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogYWRkIHN1cHBvcnQgZm9yIGFjLTMgb3ZlciBzcGRpZgoKMjAxMi0wNy0wNCAxMjozNzo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICB0ZXN0czogZGlzYWJsZSBkZWludGVybGFjZSB0ZXN0IGZvciBub3csIGVsZW1lbnQgc3RpbGwgbmVlZHMgdG8gYmUgcG9ydGVkCgkgIEJ1dCBsZWF2ZSBpdCBhY3RpdmUgYW5kIHByaW50IGEgRklYTUUuIFBvcnRpbmcgaXMgaW4gcHJvZ3Jlc3MuCgoyMDEyLTA3LTAzIDE5OjM4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU7IGRvd25ncmFkZSBjYXBzIGNoYW5nZSBmYWlsdXJlIGRlYnVnIG1lc3NhZ2UKCSAgQWRkIHNvbWUgbW9yZSBpbmZvIGFuZCBkb3duZ3JhZGUgdG8gd2FybmluZywgc28KCSAgaXQgZG9lc24ndCBsb29rIGxpa2UgdGhlIHVuaXQgdGVzdCBmYWlsZWQuCgoyMDEyLTA3LTAzIDE3OjUyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IG5lZ290aWF0aW9uIGFuZCB1bml0IHRlc3QKCSAgTXVzdCByZW1vdmUgYSBwb3NzaWJseS1maXhlZCBjaGFubmVsLW1hc2sgZmllbGQgaWYKCSAgd2UncmUgZ29pbmcgdG8gc2V0IHVuZml4ZWQgY2hhbm5lbHMgb24gdGhlIHN0cnVjdHVyZSwKCSAgb3IgYSBkaWZmZXJlbnQgY2hhbm5lbCBjb3VudC4KCjIwMTItMDctMDMgMTc6MjY6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgcHVzaCB0aGUgVE9DIGV2ZW50LCB0aGUgbWVzc2FnZSBpcyBoYW5kbGVkIGJ5IHRoZSBzaW5rcwoKMjAxMi0wNy0wMyAxMjo0Nzo1OCArMDkwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHRlc3RzOiBkbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrKyBzeW1ib2xzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzMDEKCjIwMTItMDctMDMgMDk6Mjc6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBHdGsrIDMuMCBmb3IgdGVzdHMvZXhhbXBsZXMKCjIwMTItMDctMDMgMTI6NTc6MTggKzA5MDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHA6IHJlbW92ZSBzb21lIG91dGRhdGVkIGNvbW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzMDEKCjIwMTItMDYtMjkgMTE6NTE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRlZmF1bHQgdG8gZm9yY2UtYXNwZWN0LXJhdGlvPXRydWUKCjIwMTItMDYtMjggMjA6MDM6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IGFkZCBwdXNoIG1vZGUgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MzE3CgoyMDEyLTA2LTI4IDExOjI5OjU1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBUcnkgdG8gc2VlayB1cHN0cmVhbSBiZWZvcmUgcHJvY2Vzc2luZyBzZWVrIHB1c2ggZXZlbnQKCSAgV2hlbiBpdCByZWNlaXZlcyBhIHNlZWsgaW4gcHVzaCBtb2RlLCB0aGUgcXRkZW11eCBzaG91bGQgZmlyc3QgdHJ5IHRvIHB1c2ggdGhlIGV2ZW50IHVwc3RyZWFtLCBhbmQgb25seSBpZiB1cHN0cmVhbSBmYWlscyBmYWxsIGJhY2sgdG8KCSAgaXRzIG93biBzZWVrIGxvZ2ljLgoKMjAxMi0wNi0yOCAxMTo0NzoyMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogQWxsb3cgZHVyYXRpb24gcXVlcmllcyB0byBiZSBmb3J3YXJkZWQgdXBzdHJlYW0KCSAgV2hlbiByZWNlaXZpbmcgYSBkdXJhdGlvbiBxdWVyeSBmb3IgVElNRSBmb3JtYXQsIHRyeSB0byBxdWVyeSB1cHN0cmVhbSwgYW5kIG9ubHkgaWYgdXBzdHJlYW0gZmFpbHMgZmFsbCBiYWNrIHRvIHF0ZGVtdXggZHVyYXRpb24gaGFuZGxpbmcuCgoyMDEyLTA2LTI4IDExOjU5OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBjbGVhbnVwcwoJICBVc2UgdGhlIGNhcHMgcHJvcGVydGllcyBmb3IgYWxpZ25tZW50IGFuZCBmb3JtYXQuCgkgIFJlbW92ZSBzb21lIG9sZCBwcm9wZXJ0aWVzLCB3ZSBhbHdheXMgd2FudCB0byB1c2UgYnVmZmVybGlzdHMgd2hlbiB3ZSBjYW4gbm93LgoKMjAxMi0wNi0yOCAxMTozMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBwcmVmZXIgQVZDLCBpdCdzIGVhc2llciB0byBwYXJzZSBldGMKCjIwMTItMDYtMjcgMDk6MDk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IG1hcmsgYWxsIG91dHB1dCBmcmFtZXMgYXMga2V5ZnJhbWVzCgoyMDEyLTA2LTI2IDE4OjQ4OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBHc3RUb2MgQVBJIGFkZGl0aW9ucwoKMjAxMi0wNi0yNiAxNzowNDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogc2V0IGludGVybGFjZS1tb2RlCgoyMDEyLTA2LTI2IDEzOjE5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wNi0yNiAxMzowMjoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIFJldmVydCAidjRsMjogZnJlZSBrZXJuZWwgYnVmZmVycyBiZWZvcmUgYWxsb2NhdGluZyBuZXcgb25lcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxYjA5YmM2MDlhNTc4ZTczMWYwZGJjOGY2ZTY5OGUyNWQ4ZjRjNWY4LgoJICBTZWVtcyB0byBtYWtlIGxpYnY0bDIgY29tcGxhaW4sIG1heWJlIGJlY2F1c2Ugd2UgY2FsbCBSRVFCVUZTIHdpdGggMCBidWZmZXJzCgkgIGJlZm9yZSB3ZSBhbGxvY2F0ZWQgYnVmZmVycy4KCjIwMTItMDYtMjYgMTI6MDc6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmcmVlIGtlcm5lbCBidWZmZXJzIGJlZm9yZSBhbGxvY2F0aW5nIG5ldyBvbmVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMjU3CgoyMDEyLTA2LTI2IDEyOjA3OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA2LTI2IDExOjE0OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogc2V0dXAgc3RyaWRlcyBhbmQgb2Zmc2V0cyBmb3IgYWxsIHBsYW5lcwoKMjAxMi0wNi0yNSAyMDoxMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiB1cGRhdGUgZm9yIEdzdFRvY1NldHRlciBjaGFuZ2VzCgoyMDEyLTA2LTI1IDEzOjMxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZXR1cm4gRkFMU0UgZnJvbSBxdWVyaWVzIGlmIHdlIGNhbid0IGFuc3dlciBQT1NJVElPTi9EVVJBVElPTiBxdWVyaWVzCgoyMDEyLTA2LTIxIDE3OjE1OjExICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmV0dXJuIEZBTFNFIGZyb20gVE9DIHF1ZXJ5IGlmIG5vIFRPQyBleGlzdHMgaW5zdGVhZCBvZiBhbiBlbXB0eSBUT0MKCjIwMTItMDYtMjQgMjI6NTE6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgR3N0VG9jIEFQSSBjaGFuZ2VzCgoyMDEyLTA2LTIzIDE0OjU3OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1cGRhdGUgZm9yIGdzdF9lbGVtZW50X21ha2VfZnJvbV91cmkoKSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEyOjMxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHVwZGF0ZSBmb3IgYnVzIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEwOjMzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIHRhc2sgYXBpIGNoYW5nZQoKMjAxMi0wNi0yMCAwOTo1OTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICB1cGRhdGUgZm9yIGNsb2NrIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTE5IDEyOjE1OjMzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvc2luazogcmVzcGVjdCB0aGUgcHJlZmVyZWQgY2hhbm5lbCBsYXlvdXQKCSAgSW4gT1NYIGlzIGFsbG93ZWQgdG8gY29uZmlndXJlIHRoZSBkZWZhdWx0IGF1ZGlvIG91dHB1dCBkZXZpY2UsCgkgIHByZWZlcmVkIGNoYW5uZWwgbGF5b3V0IGFuZCBzcGVha2VyIHBvc2l0aW9ucyB0aHJvdWdoIHRoZSB0b29sCgkgICJBdWRpbyBNSURJIFNldHVwIi4KCjIwMTItMDQtMzAgMjI6NTk6NTggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFNlbmQgZ2FwIGV2ZW50cyBmb3Igc3VidGl0bGUgc3RyZWFtcwoKMjAxMi0wNi0xNyAwMTowMDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IGZpeCB1cCBkb2NzIGZvciAwLjExCgoyMDEyLTA2LTE2IDIzOjI5OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogc21hbGwgdXJpIGhhbmRsZXIgZml4dXAgYW5kIHNvbWUgbW9yZSBkb2NzCgkgIEdldCBVUkkgbG9jYXRpb24gdXNpbmcgZ3N0X3VyaV9nZXRfbG9jYXRpb24oKSwgc28gYW55CgkgIGVzY2FwZWQgYml0cyBnZXQgdW5lc2NhcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MDQ5CgoyMDEyLTA2LTE3IDAwOjU5OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogcmUtcG9ydCB0byAwLjExCgoyMDEyLTA2LTE2IDE5OjA2OjI1ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IEltcGxlbWVudCBzcGxpdGZpbGU6Ly8gVVJJIHNjaGVtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MDQ5CgkgIENvbmZsaWN0czoKCSAgZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYwoKMjAxMi0wNi0xNCAxMDo0Mzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgdGhlb3JhZGVwYXk6IGZpeCBidWZmZXIgbWVtb3J5CgkgIFRoZSBtZW1vcnkgd2FzIGFkZGVkIHRvIHRoZSBpbnB1dCBidWZmZXIgaW5zdGVhZCBvZiB0aGUgb3V0cHV0IGJ1ZmZlci4KCjIwMTItMDYtMTMgMTM6MzY6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHJlc2V0IHRpbWUgaW4gZmx1c2gtc3RvcAoJICBEb24ndCByZXNldCB0aGUgdGltZSBpbiBmbHVzaC1zdG9wLiBMaXZlIHNvdXJjZXMgY2FuIGRvIHRoaXMgZmx1c2ggaW4gdGhlCgkgIHBsYXlpbmcgc3RhdGUgYW5kIHNvIHRoZSBwaXBlbGluZSB3aWxsIG5ldmVyIGhhdmUgYSBjaGFuY2UgdG8gdXBkYXRlIHRoZQoJICBiYXNlX3RpbWUgb2YgdGhlIGVsZW1lbnRzLCB3aGljaCBvbmx5IGhhcHBlbnMgd2hlbiBnb2luZyBmcm9tIHBhdXNlZCB0bwoJICBwbGF5aW5nLgoKMjAxMi0wNi0xMiAxMjo0MjozMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpb3Npbms6IEFkZCBzdXBwb3J0IGZvciBTUERJRiBvdXRwdXQKCSAgQSBiaWcgcmVmYWN0b3JpbmcgdG8gYWxsb3cgcGFzc3Rocm91Z2ggQUMzL0RUUyBvdmVyIFNQRElGLgoJICBTZXZlcmFsIHJhbmRvbSBjbGVhbnVwcyBhbmQgbWlub3IgZml4ZXMuCgoyMDExLTA5LTAxIDE1OjQxOjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IHNlbmQgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgYSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3OTQxCgoyMDEyLTA2LTEyIDE2OjA1OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFJld29yayB0aGUgYXN5bmMgc3RhdGUgaGFuZGxpbmcKCSAgQWx3YXlzIHNlbmQgdGhlIGZsdXNoaW5nIGV2ZW50cyB0byB0aGUgdWRwIGVsZW1lbnRzIG5vdyB0aGF0IGJhc2VzcmMgc3VwcG9ydHMKCSAgdGhpcy4gVGhpcyBtYWtlcyBzdXJlIGEgc2VnbWVudCBldmVudCBpcyBzZW50IGNvcnJlY3RseSBhZnRlciBhIGZsdXNoLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbW1hbmQgYW5kIG1ha2UgaXQgcG9zc2libGUgdG8gc3BlY2lmeQoJICB3aGF0IGNvbW1hbmQgeW91IHdhbnQgdG8gY2FuY2VsIHdoZW4gc3RhcnRpbmcgYSBuZXcgYXN5bmMgY29tbWFuZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc5MDUKCjIwMTItMDYtMTEgMTg6MjQ6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgY2hpbGRwcm94eTogdXBkYXRlIGFwaSB1c2UKCjIwMTItMDYtMTEgMTI6NTQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFsd2F5cyBwZXJmb3JtIGZ1bGwgc2VlayBpZiBzZWVrIGlzIGZsdXNoaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc4MzgKCjIwMTItMDYtMTEgMTE6MjA6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBwcmludGYgZm9ybWF0IGZpeCBmb3IgbG9uZyAtPiBpbnQgY2hhbmdlCgoyMDEyLTA2LTA4IDIwOjM4OjM0ICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBwcm9iZSBVVkMgZGV2aWNlcyBmb3IgYmVpbmcgaW50ZXJsYWNlZAoJICBVVkMgZGV2aWNlcyBhcmUgbmV2ZXIgaW50ZXJsYWNlZCwgYW5kIGRvaW5nIFZJRElPQ19UUllfRk1UIG9uIHRoZW0KCSAgY2F1c2VzIGV4cGVuc2l2ZSBhbmQgc2xvdyBVU0IgSU8sIHNvIGRvbid0IHByb2JlIHRoZW0gZm9yIGludGVybGFjZWQuCgkgIFRoaXMgc2hhdmVzIDIgc2Vjb25kcyBvZiB0aGUgc3RhcnR1cCB0aW1lIG9mIGNoZWVzZSB3aXRoIGEgTG9naXRlY2gKCSAgV2ViY2FtIFBybyA5MDAwLgoJICBTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NzIyCgoyMDEyLTA2LTA5IDE2OjUzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgZGVidWc6IGNoYW5nZSBybmRidWZmZXJzaXplIHByb3BlcnRpZXMgZnJvbSBsb25nIHRvIGludAoJICBUaGVzZSBzaG91bGQgYWxsIGJlIGludCBpbnN0ZWFkIG9mIGxvbmcsIHRvIGF2b2lkIGJ1Z3MKCSAgd2hlbiBwYXNzaW5nIHRoZXNlIGFzIHZhcmFyZ3Mgd2l0aCBnX29iamVjdF9zZXQoKSwgYW5kCgkgIHRoZXJlIHdhcyBubyByZWFzb24gdG8gdXNlIGxvbmcgaW4gdGhlIGZpcnN0IHBsYWNlIGhlcmUuCgkgIEZpeGVzIEZJWE1FLgoKMjAxMi0wNi0wOCAxNTo1NDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgZWxlbWVudHM6IFVzZSBnc3RfcGFkX3NldF9jYXBzKCkgaW5zdGVhZCBvZiBtYW51YWwgZXZlbnQgZmlkZGxpbmcKCjIwMTItMDYtMDggMTU6MDQ6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwM2EwZTU3IHRvIDk4ZTM4NmYKCjIwMTItMDYtMDggMTA6MTE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHVwZGF0ZSBmb3IgYXVkaW8gYXBpIGNoYW5nZQoKMjAxMi0wNi0wNyAxNjoxMjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTIgPT09CgoyMDEyLTA2LTA3IDE2OjEyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MgoKMjAxMi0wNi0wNyAxNjoxMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNi0wNyAxNTowMzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogaW1wcm92ZSBjbG9jayBoYW5kbGluZwoJICBQb3N0IHRoZSBub3RpZnkgb3V0c2lkZSBvZiB0aGUgcGFfbG9jayB0byBhdm9pZCBhIGRlYWRsb2NrIGNhdXNlZCBieSBiYXNlc3JjCgkgIGNhbGxpbmcgZ2V0X3RpbWUgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFJlc2V0IHRoZSBjbG9jayBvbiBjb25uZWN0LgoJICBQb3N0IGNsb2NrLWxvc3QgYW5kIGNsb2NrLXByb3ZpZGUgbWVzc2FnZXMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5NzcKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoKMjAxMi0wNC0xMiAxMzoyMToxNyArMDMwMCAgTW9oYW1tZWQgU2FtZWVyIDxtc2FtZWVyQGZvb2xhYi5vcmc+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgQmV0dGVyIEdzdENsb2NrIGZvciBwdWxzZXNyYwoJICBUaGlzIGNsb2NrIHVzZXMgdGhlIGFjdHVhbCBzdHJlYW0gdGltZSAocGFfc3RyZWFtX2dldF90aW1lKSB0byBnZXQgYSBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcC4KCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoKMjAxMi0wNi0wNyAxMToxNjo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmc6IGZpeCB2aWRlbyBzdGF0ZSBsZWFrcwoKMjAxMi0wNi0wNyAxMToxNjozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB2aWRlbyBzdGF0ZSBsZWFrCgoyMDEyLTA2LTA3IDEyOjExOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IHJlc2V0IHRoZSBtYW5hZ2VyIG9iamVjdCB3aGVuIHdlIGRpZCBhIHNlZWsKCSAgT25seSByZXNldCB0aGUgbWFuYWdlciBvYmplY3Qgd2hlbiB3ZSB1c2VkIGEgUmFuZ2UgaGVhZGVyLCBpZS4gd2hlbiB3ZSBkaWQgYQoJICBzZWVrLiBPdGhlcndpc2Ugd2UganVzdCBwYXVzZWQgYW5kIHdlIGNhbiByZXN1bWUganVzdCBmaW5lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NDc1CgoyMDEyLTA2LTA2IDE2OjEzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgcnRwc2Vzc2lvbiBjbGVhbnVwCgoyMDEyLTA2LTA2IDE4OjE4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWZhYjM1OSB0byAwM2EwZTU3CgoyMDEyLTA2LTA2IDE0OjE3OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVcGRhdGUgZm9yIFRPQyBldmVudCBBUEkgY2hhbmdlCgoyMDEyLTA2LTA2IDEzOjAyOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wNiAxMzowMDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgZml4IFk4MDAgZm9ybWF0CgoyMDEyLTA2LTAxIDAxOjE5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiBzdHJhaWdodGZvcndhcmQgcG9ydCB0byAwLjExCgoyMDEyLTA1LTMxIDE4OjM5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgU29tZSBwcmludGYgdmFyaWFibGUgZm9ybWF0IGZpeGVzCgkgIFRoZSBvc3ggY29tcGlsZXIgY29tcGxhaW5zIGFib3V0IHRob3NlCgoyMDEyLTA2LTA1IDA5OjE4OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEZpeCBHc3RCYXNlUGFyc2U6OmdldF9zaW5rX2NhcHMoKSBpbXBsZW1lbnRhdGlvbnMKCSAgVGhleSBzaG91bGQgdGFrZSB0aGUgZmlsdGVyIGNhcHMgaW50byBhY2NvdW50IGFuZCBhbHdheXMgcmV0dXJuCgkgIHRoZSB0ZW1wbGF0ZSBjYXBzIGFwcGVuZGVkIHRvIHRoZSBhY3R1YWwgY2Fwcy4gT3RoZXJ3aXNlIHRoZQoJICBwYXJzZXJzIHN0b3AgdG8gYWNjZXB0IHVucGFyc2VkIHN0cmVhbXMgd2hlcmUgdXBzdHJlYW0gZG9lcyBub3QKCSAga25vdyBhYm91dCBjaGFubmVscywgcmF0ZSwgZXRjLgoJICBGaXhlcyBidWcgIzY3NzQwMS4KCjIwMTItMDYtMDQgMTY6MTc6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHNldCBjb2xvcmltZXRyeSBvbiBvdXRwdXQgaW5mbwoKMjAxMi0wNi0wNCAwODoxMDoxNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9zaW5rOiBIYW5kbGUgZW5kaWFubmVzcyBjb3JyZWN0bHkKCjIwMTItMDYtMDEgMTY6Mzc6MDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgaW50IGF1ZGlvCgoyMDEyLTA2LTAxIDEwOjI4OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjFiNWE5NiB0byAxZmFiMzU5CgoyMDEyLTA1LTMxIDEzOjM2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCB0aGUgcGFsZXR0ZSBzaXplIGNvcnJlY3RseQoKMjAxMi0wNS0zMSAxMDoxNTo0MyArMDIwMCAgTWljaGFlbCBKb25lcyA8bWljaGFlbC5qb25lc0BtYXRyaXgtdmlzaW9uLmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgIHY0bDI6IGFkZCBtaXNzaW5nIEdfRU5EX0RFQ0xTCgkgIEdfQkVHSU5fREVDTFMgZGlkbid0IGhhdmUgbWF0Y2hpbmcgR19FTkRfREVDTFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzE2NQoKMjAxMi0wNS0zMSAxMzowODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkyYjcyNjYgdG8gZjFiNWE5NgoKMjAxMi0wNS0zMSAxMDoyNjoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IFJlYWxseSBmaXggdGhlIGJ1aWxkIG9uIDEwLjUKCSAgVGhlIEFQSSB0aGF0IHdlIHVzZSB0byBydW4gdGhlIENvY29hIGxvb3AgaW4gYW5vdGhlcgoJICB0aHJlYWQgZG9lcyBub3QgZXhpc3QgaW4gMTAuNSBvciBlYXJsaWVyLgoKMjAxMi0wNS0yNiAxMjoyMToxOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCByYWNlIGluIHN0YXJ0aW5nIHRoZSBydW5sb29wIHRocmVhZAoJICBCbG9jayBnc3Rfb3N4X3ZpZGVvX3NpbmtfcnVuX2NvY29hX2xvb3AgdW50aWwgdGhlIGxvb3AgdGhyZWFkIGhhcyBzdGFydGVkIGFuZAoJICBmaW5pc2hlZCBpbml0aWFsaXppbmcgTlNBcHAuIEZpeGVzIG9jY2FzaW9uYWwgd2FybmluZ3MvY3Jhc2hlcyBkdWUgdG8gdHdvCgkgIHRocmVhZHMgZ29pbmcgaW5zaWRlIE5TQXBwIGJlZm9yZSBmaW5pc2hMYXVuY2hpbmcgaGFkIGNvbXBsZXRlZC4KCjIwMTItMDUtMzAgMTY6MDM6NTUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggbGFzdCBjb21taXQgdG8gYWN0dWFsbHkgd29yawoJICBNQUNfT1NfWF9WRVJTSU9OXzEwXzYgaXMgb2J2aW91c2x5IG5vdCBkZWZpbmVkIG9uIDEwLjUuCgoyMDEyLTA1LTMwIDEzOjUxOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW9zaW5rOiBQdXQgdGhlIHJpZ2h0IGZsYWdzIGluIHRoZSByaWdodCB2YXJpYWJsZQoKMjAxMi0wNS0zMCAxMzoyNDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEdTVF9PQkpDRkxBR1MKCjIwMTItMDUtMzAgMTI6NDU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzFjNGE4IHRvIDkyYjcyNjYKCjIwMTItMDUtMzAgMTI6NDM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IE5TV2luZG93RGVsZWdhdGUgaXMgYXZhaWxhYmxlIGluIGFsbCBPU1ggdmVyc2lvbnMgbmV3ZXIgdGhhbiAxMC42CgoyMDEyLTA1LTMwIDEyOjQwOjU3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogRml4IGJ1aWxkIHdpdGggb2xkZXIgT1NYIHZlcnNpb25zCgoyMDEyLTA1LTMwIDExOjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IEFkZCBPQkpDIHNwZWNpZmljIGNvbXBpbGVyIGZsYWdzCgkgIFNlZSBidWcgIzY0MzkzOS4KCjIwMTItMDUtMzAgMTE6MjM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNDI5YmE2IHRvIGVjMWM0YTgKCjIwMTItMDUtMjkgMTc6NTA6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlbzogcmVtb3ZlIGR1cGxpY2F0ZSBmb3JtYXQKCjIwMTItMDUtMjkgMTY6NTI6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUG9zdCBlcnJvciBtZXNzYWdlIGlmIEVPUyBiZWZvcmUgcGFkcyB3ZXJlIGNyZWF0ZWQKCSAgSGFwcGVucyB3aXRoIHNvbWUgZmlsZXMgd2l0aCBvbmx5IGhlYWRlcnMKCjIwMTItMDUtMjggMTU6MjI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMTQgMTI6NDY6NTcgKzAyMDAgIEplbnMgR2VvcmcgPG1haWxAamVuc2dlLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IERyb3AgdHJhbnNmZXJNb2RlLmRsbmEub3JnIGhlYWRlcgoJICBMZWF2ZSBpdCB0byB0aGUgYXBwbGljYXRpb24gdG8gZGVjaWRlIG9uIHRoZSBoZWFkZXIuIE5vIGhlYWRlciBhdCBhbGwKCSAgaXMgYmV0dGVyIHRoYW4gaGF2aW5nIHRoZSB3cm9uZyBoZWFkZXIgYXMgRExOQSBtYW5kYXRlcyB0aGF0IGEgbWlzc2luZwoJICBoZWFkZXIgaGFzIHRvIGJlIHRvbGVyYXRlZCB3aGlsZSBhIHdyb25nIGhlYWRlciBpcyBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjAyMAoKMjAxMi0wNC0wNyAwOTo1MjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmc6IFBvcnQgdG8gYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5oCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmMKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuaAoJICBSZXZlcnRlZCB0byAwLjEwLCBuZWVkcyB0byBiZSBwb3J0ZWQgYWdhaW4uCgoyMDEyLTA1LTI3IDAwOjAyOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBmbHYsIG1hdHJvc2thOiBkb24ndCB1c2UgR3N0U3RydWN0dXJlIEFQSSBvbiB0YWcgbGlzdHMKCjIwMTItMDUtMjYgMTE6NTc6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgcnRwbXAydGRlcGF5OiBPbmx5IG91dHB1dCBpbnRlZ3JhbCBtcGVnLXRzIHBhY2tldHMKCSAgRnJvbSBSRkMgMjI1MAoJICAyLiBFbmNhcHN1bGF0aW9uIG9mIE1QRUcgU3lzdGVtIGFuZCBUcmFuc3BvcnQgU3RyZWFtcwoJICAuLi4KCSAgRm9yIE1QRUcyIFRyYW5zcG9ydCBTdHJlYW1zIHRoZSBSVFAgcGF5bG9hZCB3aWxsIGNvbnRhaW4gYW4gaW50ZWdyYWwKCSAgbnVtYmVyIG9mIE1QRUcgdHJhbnNwb3J0IHBhY2tldHMuICBUbyBhdm9pZCBlbmQgc3lzdGVtCgkgIGluZWZmaWNpZW5jaWVzLCBkYXRhIGZyb20gbXVsdGlwbGUgc21hbGwgTVRTIHBhY2tldHMgKG5vcm1hbGx5IGZpeGVkCgkgIGluIHNpemUgYXQgMTg4IGJ5dGVzKSBhcmUgYWdncmVnYXRlZCBpbnRvIGEgc2luZ2xlIFJUUCBwYWNrZXQuICBUaGUKCSAgbnVtYmVyIG9mIHRyYW5zcG9ydCBwYWNrZXRzIGNvbnRhaW5lZCBpcyBjb21wdXRlZCBieSBkaXZpZGluZyBSVFAKCSAgcGF5bG9hZCBsZW5ndGggYnkgdGhlIGxlbmd0aCBvZiBhbiBNVFMgcGFja2V0ICgxODgpLgoJICAuLi4uCgkgIFNpbmNlIGl0IG5lZWRzIHRvIGNvbnRhaW4gImFuIGludGVncmFsIG51bWJlciBvZiBNUEVHIHRyYW5zcG9ydCBwYWNrZXRzIiwgYQoJICBzaW1wbGUgZml4IGlzIHRvIGNoZWNrIHRoYXQncyB0aGUgY2FzZSwgYW5kIHN0cmlwIG9mZiBhbnkgbGVmdG92ZXIgZGF0YS4KCSAgRml4ZXMgIzY3Njc5OQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmMKCjIwMTItMDUtMjQgMjA6NDM6MTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IG1ha2Ugc3VyZSBhbGwgc2VsZWN0b3JzIGFyZSBwZXJmb3JtZWQgb24gdGhlIHNhbWUgdGhyZWFkCgkgIFdoZW4gd2UgYXJlIHVzaW5nIGEgZGVkaWNhdGVkIHRocmVhZCB0byBydW4gdGhlIG1haW4gcnVuIGxvb3Agd2UKCSAgbXVzdCBtYWtlIHN1cmUgdGhhdCBhbGwgc2VsZWN0b3JzIGFyZSBwZXJmb3JtZWQgb24gdGhpcyBzYW1lIHRocmVhZC4KCSAgRm9yIGluc3RhbmNlIGlmIHBlcmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZCBpcyBjYWxsZWQgZnJvbSB0aGUgcmVhbAoJICBtYWluIHRocmVhZCwgaXQgd2lsbCBub3QgZ28gdGhyb3VnaCB0aGUgbWVzc2FnZSBxdWV1ZSBhbmQgd2lsbCBiZQoJICBleGVjdXRlZCBmcm9tIHRoZSByZWFsIG1haW4gdGhyZWFkLiBCeSBmb3JjaW5nIHRoZSB0YXJnZXQgdGhyZWFkLAoJICB3ZSBlbnN1cmUgdGhhdCBhbGwgZnVuY3Rpb25zIHdpbGwgYmUgY2FsbGVkIGVpdGhlciBmcm9tIHRoZSByZWFsCgkgIG1haW4gdGhyZWFkIHdoZW4gdGhlIG1haW4gcnVuIGxvb3AgaXMgcnVubmluZyBvciBmcm9tIG91ciB0aHJlYWQKCSAgc3Bpbm5pbmcgdGhlIG1haW4gbG9vcC4KCjIwMTItMDUtMjQgMTY6MDk6NTQgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhcy5oYXNzZWxtYW5uIGF0IGdteC5kZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVtb3ZlIGZyYW1lcmF0ZQoJICBUaGUganBlZyBkZWNvZGVyIGRvZXNuJ3QgbmVlZC9jYXJlIGFib3V0IHRoZSBmcmFtZXJhdGUgdG8gc28gaXQgc2hvdWxkCgkgIG5vdCBiZSBpbiB0aGUgY2Fwcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNS0yNCAxMzowODozNSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBzdGFydCB0aGUgbG9vcCBiZWZvcmUgY2FsbGluZyBbZ3N0dmlldyBoYXZlU3VwZXJ2aWV3XQoJICAuLi5hcyBoYXZlU3VwZXJ2aWV3IHJlcXVpcmVzIHRoZSBtYWlubG9vcCB0byBiZSBydW5uaW5nCgoyMDEyLTA1LTI0IDEzOjA4OjEzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBpbmRlbnRhdGlvbgoKMjAxMi0wNS0yMiAxNjo0NzozNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW9zaW5rOiBlbmFibGUgcnVubmluZyB0aGUgY29jb2EgbWFpbiBydW5sb29wIGluIGEgdGhyZWFkCgoyMDEyLTA1LTIyIDE2OjQ1OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWRkIGNvZGUgdG8gb3B0aW9uYWxseSBydW4gdGhlIGNvY29hIG1haW4gcnVubG9vcCBpbiBhIHNlcGFyYXRlIHRocmVhZAoJICBBZGQgYSBsaXR0bGUgaGFjayB0byBydW4gdGhlIGNvY29hIG1haW4gcnVubG9vcCBmcm9tIGEgc2VwYXJhdGUgdGhyZWFkIF93aGVuXwoJICB0aGUgbWFpbiBydW5sb29wIGlzIG5vdCBiZWluZyBydW4gKHdoaWNoIG1lYW5zIHRoYXQgdGhlIGFwcCBkb2Vzbid0IHVzZSBjb2NvYSkuCgkgIFJ1bmxvb3BzIGFyZSB0aHJlYWQgc3BlY2lmaWMsIHNvIHRoZSBoYWNrIGJvaWxzIGRvd24gdG8gZ2V0dGluZyB0aGUgcnVubG9vcCBmb3IKCSAgdGhlIG1haW4gdGhyZWFkIGFuZCBzZXR0aW5nIGl0IGFzIHRoZSBydW5sb29wIGZvciBvdXIgZGVkaWNhdGVkIHRocmVhZC4KCjIwMTItMDUtMjIgMTY6MzI6NTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVzZXQgYXBwX3N0YXJ0ZWQgdG8gRkFMU0Ugd2hlbiBzaHV0dGluZyBkb3duCgoyMDEyLTA1LTIyIDE0OjQ5OjE3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlbmFtZSBjb2NvYSBydW5sb29wIGhlbHBlciBmdW5jcwoKMjAxMi0wNS0yMiAxNDoyNjoxMyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBkb24ndCBjcmVhdGUgYXBwbGljYXRpb24gbWVudXMKCjIwMTItMDUtMTYgMjE6NTI6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZXNldCB0aGUgZW1iZWQgcHJvcGVydHkgZm9yIGJhY2t3YXJkIGNvbXBhdGlsaWJpdHkKCjIwMTItMDUtMTYgMjE6MTI6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggbmF2aWdhdGlvbiB3aGVuIGZvcmNlLWFzcGVjdC1yYXRpbyBpcyBhY3RpdmF0ZWQKCjIwMTItMDUtMTYgMTg6NTI6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkZCBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkKCjIwMTItMDUtMTQgMTg6MDE6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHN0YXJ0IGludGVybmFsIHdpbmRvdyBpZiBubyB2aWV3IGlzIHByb3ZpZGVkCgoyMDEyLTA1LTE0IDE0OjI3OjU4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogaW1wbGVtZW50IHRoZSBuYXZpZ2F0aW9uIGludGVyZmFjZQoKMjAxMi0wNS0xMSAxODoyNDowOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3ZpZGVvc2luazogY3JlYXRlLCBkZXN0cm95LCByZXNpemUgYW5kIGRyYXcgZnJvbSB0aGUgbWFpbiB0aHJlYWQKCjIwMTItMDQtMTkgMDg6Mzc6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGluY3JlYXNlIE5FV1NFR01FTlQgYWNjdXJhY3kgYWZ0ZXIgc2Vla2luZwoJICBkZW11eC0+Y29tbW9uLnNlZ21lbnQgaXMgcG9wdWxhdGVkIGR1cmluZyBzZWVrIGhhbmRsaW5nIHdpdGggdGhlIHRhcmdldAoJICBzdGFydC9zdG9wIHBvc2l0aW9ucy4gRG9uJ3Qgb3ZlcnJpZGUgdGhlbSB3aGVuIHNlbmRpbmcgb3V0IGEgTkVXU0VHTUVOVC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNC0xOSAwODozMTowMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgZGlzY2FyZCB0aGUgaW5jb21pbmcgc2VlayBzZWdtZW50IG9uIHB1c2ggYmFzZWQgc2Vla2luZwoJICBUaGUgaW5jb21pbmcgc2VlayBzZWdtZW50IHdhcyBiZWluZyBkaXNjYXJkZWQgbGVhZGluZyB0byBwdXNoIGJhc2VkIHNlZWtpbmcKCSAgYmVpbmcgcG90ZW50aWFsbHkgaW5hY2N1cmF0ZS4KCjIwMTItMDUtMjMgMTg6MTI6MjQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogY29tbW9uOgoJICBjb21tb246IFVwZGF0ZSBzbyB0aGUgcGx1Z2luIHNjYW5uZXIgY2hhbmdlcyBhcmUgaW5jbHVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3NAoKMjAxMi0wNS0yMyAxODowNzozNSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3VwcHJlc3Mgc29tZSB3YXJuaW5ncyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkCgkgIFdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJpYWJsZXMgc2hvdWxkIGJlIHN1cHByZXNzZWQgaWYgY29yZSBoYXMgdGhlCgkgIGRlYnVnIHN5c3RlbSBkaXNhYmxlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3MQoKMjAxMi0wNS0yNCAwOToyOToyNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IGZpeCBidWlsZCBpc3N1ZSBpbiBnc3RydHBoMjY0cGF5LmMKCjIwMTItMDUtMjEgMTI6MTc6MzUgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEFkZCB1bnJlc3RyaWN0ZWQgY2FwcwoJICBJZiB0aGVyZSBhcmUgbm8gcHJvZmlsZSByZXN0cmljdGlvbnMgZG93bnN0cmVhbSwgcmV0dXJuIGNhcHMgd2l0aAoJICBwcm9maWxlPWNvbnN0cmFpbmVkLWJhc2VsaW5lIGluIHRoZSBmaXJzdCBzdHJ1Y3R1cmUgYW5kIGFwcGVuZAoJICB1bnJlc3RyaWN0ZWQgY2FwcyBhcyB0aGUgbGFzdCBzdHJ1Y3R1cmUuCgkgIEZpeGVzIGJ1ZyAjNjcyMDE5CgoyMDEyLTA1LTI0IDA5OjU3OjMxICswMjAwICBNYXJpYSBHaW92YW5uYSBDaGlvc3NhIDxtYXJpYWdpb3Zhbm5hLmNoaW9zc2EgYXQgc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGFkZCB0aGUgU2NhbGUgaGVhZGVyIHdoZW4gbmVlZGVkCgkgIFNldHRpbmcgR1NUX1NFRUtfRkxBR19TS0lQIHdoZW4gc2VuZGluZyBhIHNlZWsgZXZlbnQgaW4gcnRzcHNyYyBzaG91bGQKCSAgc2V0IHRoZSAiU2NhbGUiIGZpZWxkIGluIHRoZSBydHNwIFBMQVkgaGVhZGVyLgoJICBCZWNhdXNlIHRoZSBib29sZWFuICJzcmMtPnNraXAiIGlzIHNldCBhZnRlciB0aGUgY2FsbCwgIlNwZWVkIiBpbnN0ZWFkCgkgIG9mICJTY2FsZSIgaXMgYWx3YXlzIHNldC4gTW92ZSB0aGUgYXNzaWdubWVudCBiZWZvcmUgaXNzdWluZyB0aGUgX3BsYXkKCSAgcmVxdWVzdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjYxOAoKMjAxMi0wNS0xNyAxNjoyMzo1OSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggdGhlIHNhbXBsZSBwaXBlbGluZS4KCjIwMTItMDUtMjIgMTI6MzU6MDQgKzA0MDAgIEFudG9uIE5vdmlrb3YgPHJhbmRvbS5wbGFudEBnbWFpbC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHdhcm5pbmcgaWYgc2V0dGluZyBzcmNwYWQgY2FwcyBmYWlscwoKMjAxMi0wNS0yMiAxMjozNToyOSArMDQwMCAgQW50b24gTm92aWtvdiA8cmFuZG9tLnBsYW50QGdtYWlsLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogYWN0aXZhdGUgc3JjcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgQmVmb3JlIGdzdF9wYWRfc2V0X2FjdGl2ZSgpIGlzIGNhbGxlZCwgdGhlIHBhZCBoYXMKCSAgRkxVU0hJTkcgZmxhZyBzZXQsIHNvIHNldHRpbmcgdGhlIGNhcHMgZmFpbHMKCjIwMTItMDUtMjIgMTM6NDY6MjcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkgIG1uZzogcmVtb3ZlIGV4dC9saWJtbmcKCSAgUG9ydCB0byAwLjEwIHdhcyBuZXZlciBmaW5pc2hlZC4KCSAgSW50ZXJlc3Qgd2FzIGxvc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQzNjQKCjIwMTItMDUtMTggMTY6Mzc6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZml4IGFzc2VydGlvbiB3aGVuIGhhbmRsaW5nIGEgZGF0ZSB0YWcgYXMgYSBzdHJpbmcKCSAgRGF0ZSB0YWdzIGFyZSBHRGF0ZSwgbm90IHN0cmluZ3MuIEFkZCBhIHNwZWNpYWwgY2FzZSB0byBjb252ZXJ0CgkgIGl0IHRvIHRoZSBleGlmIGRhdGUgZm9ybWF0IHJlcHJlc2VudGF0aW9uIGluIHN0cmluZyB0byBhdm9pZAoJICB0aGUgYXNzZXJ0aW9uCgoyMDEyLTA1LTIxIDExOjQ3OjA3ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IExpc3RlbiB0byBzb3VyY2Ugb3V0cHV0IGV2ZW50cywgbm90IHNpbmsgaW5wdXQKCjIwMTItMDUtMTggMTI6NTM6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cG1wMnRwYXk6IHJlc3BlY3QgbXR1IGFuZCBwYWNrZXQgYm91bmRhcmllcwoJICBTZWUgIzY1OTkxNS4KCjIwMTItMDUtMTggMTE6MTA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnOiBSZW1vdmUgZGVhZCBjb2RlCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgoyMDEyLTA1LTE4IDExOjA1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IGNvbXBpbGF0aW9uCgoyMDEyLTA1LTE4IDExOjAyOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogV2hlbiBkcm9wcGluZyBmcmFtZXMgb24gRU9TLCBmbHVzaCBvdXQgZGF0YQoJICBDbGVhbmVyIHdheSBvZiBoYW5kbGluZyBzdHJheSBkYXRhCgoyMDEyLTA1LTE3IDA5OjM0OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgoyMDEyLTA1LTE3IDA5OjMzOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogT25seSBwYXJzZSBmb3IgU09JIHdoZW4gd2UgZGlkbid0IHNlZSBpdCBiZWZvcmUKCjIwMTItMDUtMTcgMDk6MzE6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBSZW1lbWJlciBpZiB3ZSBzYXcgU09JIGFuZCBoYW5kbGUgc3RyYXkgZGF0YSBvbiBFT1MKCjIwMTItMDUtMTUgMjA6NTg6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWxsb3cgVSBhbmQgViBjb21wb25lbnRzIHRvIHVzZSBkaWZmZXJlbnQgcXVhbnQgdGFibGVzIGlmIHRoZXkgY29udGFpbiB0aGUgc2FtZSBkYXRhCgkgIFRoaXMgYWxsb3dzIHNvbWUgY2FtZXJhcyAoTG9naXRlY2ggQzkyMCkgdGhhdCBzcGVjaWZ5IGRpZmZlcmVudCBxdWFudAoJICB0YWJsZXMgYnV0IGJvdGggd2l0aCB0aGUgc2FtZSBkYXRhLCB0byB3b3JrLgoJICBCdWcgcmVwb3J0ZWQgYnkgUm9iZXJ0IEtyYWtvcmEKCjIwMTItMDUtMTQgMTU6NTE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBwb3NzaWJsZSBkYXRhIGNvcnJ1cHRpb24gYWZ0ZXIgc2Vla2luZwoJICBDb25zaWRlciBhIGRvd25zdHJlYW0gZWxlbWVudCB0aGF0IG1heSBpc3N1ZSBzZWVrcyBpbiB2ZXJ5IHNob3J0CgkgIHN1Y2Nlc3Npb24gKGUuZy4gcXVldWUyKSwgZGVwZW5kaW5nIG9uIHRoZSBhY2Nlc3MgcGF0dGVybiBvZgoJICB0aGUgZG93bnN0cmVhbSBlbGVtZW50IChlLmcuIHF0ZGVtdXggd2l0aCBhdWRpby92aWRlbyBjaHVua3MKCSAgaW50ZXJsZWF2ZWQgc28gdGhhdCB0aGVyZSdzIGFsd2F5cyBhIHNpemVhYmxlIGdhcCBiZXR3ZWVuIHRoZQoJICBjdXJyZW50IGNodW5rcyBmb3IgZWFjaCBzdHJlYW0pLiBJbiB0aGlzIGNhc2UsIHF1ZXVlMiB3aWxsIG1haW50YWluCgkgIHR3byByYW5nZXMsIGFuZCBldmVuIHdoZW4gaXQgc2VydmVzIGEgY2h1bmsgZnJvbSBtZW1vcnksIGl0IHdpbGwKCSAgc3dpdGNoIHJhbmdlcyBhbmQgbWFrZSBzb3VwaHR0cHNyYyBzZWVrIHRvIHRoZSBlbmQgb2YgdGhlIGF2YWlsYWJsZQoJICBkYXRhIGZvciB0aGF0IHJhbmdlLCBhc3N1bWluZyB0aGF0IHRoYXQncyB3aGVyZSB3ZSdsbCB3YW50IHRvCgkgIGNvbnRpbnVlIHJlYWRpbmcgZnJvbSBuZXh0LgoJICBUaGlzIG1heSBsZWFkIHRvIHRoZSBmb2xsb3dpbmcgc2VlayByZXF1ZXN0IHBhdHRlcm46CgkgIC0gc291cmNlIHJlYWRpbmcgcG9zaXRpb24gQQoJICAtIHNlZWsgdG8gQgoJICAtIG5vdyByZWFkaW5nIHBvc2l0aW9uIHN0aWxsIEEsIHJlcXVlc3RlZF9wb3N0aW9uIGlzIEIKCSAgLSBzdHJlYW1pbmcgdGhyZWFkIHRvIGJlIHJlc3RhcnRlZCB0byBjb250aW51ZSBmcm9tIEIKCSAgLSBzZWVrIHRvIEEsIGJlZm9yZSBzdHJlYW1pbmcgdGhyZWFkIGhhZCB0aW1lIHRvIGRvIHRoZSBzZWVrCgkgIC0gZG9fc2VlaygpIG5vdyBzZWVzIHJlYWRpbmcgcG9zaXRpb24gPT0gc2VlayBwb3NpdGlvbiBhbmQKCSAgcmV0dXJucyBlYXJseS4KCSAgLSBob3dldmVyLCByZXF1ZXN0ZWQgcG9zaXRpb24gaXMgc3RpbGwgQiBmcm9tIHRoZSBlYXJsaWVyCgkgIHNlZWsgcmVxdWVzdAoJICAtIHN0cmVhbWluZyB0aHJlYWQgc3RhcnRzIHVwLCBzZWVzIHRoYXQgYSBzZWVrIHRvIEIgaXMgcGVuZGluZwoJICBhbmQgcmVxdWVzdHMgZGF0YSBmcm9tIEIgZnJvbSB0aGUgc2VydmVyLCB3aGlsZSB0aGUgR3N0QmFzZVNyYwoJICBzZWdtZW50IGhhcyBvZiBjb3Vyc2UgYmVlbiB1cGRhdGVkL3Jlc2V0IHRvIHBvc2l0aW9uIEEsIHdoaWNoCgkgIHdhcyB0aGUgbGFzdCBzZWVrIHJlcXVlc3QuCgkgIC0gd2Ugd2lsbCBub3cgc2VuZCBkYXRhIGZvciBwb3NpdGlvbiBCIGFuZCBwcmV0ZW5kIHRoYXQncyB0aGUKCSAgZGF0YSBmcm9tIHBvc2l0aW9uIEEgKHZpYSB0aGUgbmV3c2VnbWVudCBldmVudCwgZXRjLikKCSAgLSB0aGlzIGNhdXNlcyBkYXRhIGNvcnJ1cHRpb24KCSAgUmVwcm9kdWNpYmxlIGRvaW5nIHNlZWstZW11bGF0ZWQgZmFzdC1mb3J3YXJkL2JhY2t3YXJkIG9uIDAwNjY0OC4KCjIwMTItMDUtMTYgMDk6MTI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZS9iYXNlIDAuMTEuOTEKCjIwMTItMDEtMTMgMTg6MDk6NTAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBhZGQgdmlzdWFsIHN0dWRpbyBJREUgZmlsZXMgYW5kIE9TIFggLkRTX1N0b3JlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4OTkKCjIwMTItMDUtMDMgMDk6MzI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDQtMDYgMTI6MTM6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBQb3J0IGpwZWdkZWMvanBlZ2VuYyB0byBiYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5oCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYwoJICBleHQvanBlZy9nc3RqcGVnZW5jLmgKCSAgUmV2ZXJ0ZWQgdG8gMC4xMCB2ZXJzaW9ucyBmb3Igbm93LCBuZXh0IHBvcnQgYWdhaW4uCgoyMDEyLTA1LTEzIDE5OjIxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4Lmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgYW5ub2RleDogcmVtb3ZlIGFubm9kZXggcGx1Z2luIGFuZCBDTU1MIGVsZW1lbnRzCgkgIFRoaXMgbmV2ZXIgcmVhbGx5IHRvb2sgb2ZmIGFuZCBpcyBtb3N0IGxpa2VseSBjb21wbGV0ZWx5CgkgIHVudXNlZC4gSWYgdGhlcmUgaXMgc3RpbGwgYSBuZWVkIGZvciB0aGlzLCBpdCBzaG91bGQKCSAgcHJvYmFibHkgYmUgZG9uZSBkaWZmZXJlbnRseSwgcGVyaGFwcyBpbnNpZGUgb2dnZGVtdXgvbXV4LgoKMjAxMi0wNS0xMyAxNjo1OTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTEgPT09CgoyMDEyLTA1LTEzIDE2OjMxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTEKCjIwMTItMDUtMTMgMTY6MzA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDUtMTMgMTU6NTY6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMDkgMTU6MTQ6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBvbmx5IHNlbmQgZmx1c2gtc3RvcCBpZiBpdCB3YXMgYSBmbHVzaGluZyBzZWVrCgoyMDEyLTA1LTA5IDEyOjU0OjExICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCB2NGwyX3N0ZF9pZCBsb2dnaW5nCgkgIGlucHV0LnN0ZCBpcyBvZiB0eXBlIHY0bDJfc3RkX2lkIHdoaWNoIGlzIGRlZmluZWQgYXMgNjQtYml0IHVuc2lnbmVkIGludGVnZXIuCgkgIENhc3RpbmcgdG8gdWludCBtZWFucyB0aGUgaGlnaGVyIGJpdHMsIHdpY2ggYXJlIHVzZWQgZm9yIHRoZSBwcml2YXRlIHZpZGVvCgkgIHN0YW5kYXJkcyBvZiB0aGUgVEkgdmlkZW8gY2FwdHVyZS9kaXNwbGF5IGRyaXZlciBmb3IgZXhhbXBsZSwgYXJlIGxvc3QuCgoyMDEyLTA1LTA5IDEyOjI0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogbXVzdCBzZW5kIGZsdXNoLXN0b3AgYWZ0ZXIgYWNxdWlyaW5nIHRoZSBzdHJlYW0gbG9jawoJICBPdGhlcndpc2UgdGhlIHN0cmVhbWluZyB0aHJlYWQgbWlnaHQganVzdCBrZWVwIG9uIGdvaW5nIGFuZCB3ZQoJICBtaWdodCBuZXZlciBnZXQgdGhlIHN0cmVhbSBsb2NrLgoKMjAxMi0wNS0wOSAxMToxNToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IHBvcnQgc2Vla2luZyBjb2RlIHRvIDAuMTEKCjIwMTItMDUtMDggMTk6MDc6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBhZGQgc3VwcG9ydCBmb3Igc2Vla3MKCSAgVXNlZnVsIGZvciBlLmcuIGZpbGVzcmMgISBybmRidWZmZXJzaXplICEgcXVldWUyICEgLi4uCgoyMDEyLTA1LTA4IDE4OjQ1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogc2VuZCBTRUdNRU5UIGV2ZW50IGJlZm9yZSBwdXNoaW5nIGJ1ZmZlcnMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmMKCjIwMTItMDUtMDkgMTE6MTU6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCBjb21waWxhdGlvbiBhZ2FpbgoKMjAxMi0wMS0xMyAxMDo0OTo0MyArMDEwMCAgUGFzY2FsIEJ1aGxlciA8cGFidWhsZXJAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBjcmVhdGlvbiBzaG91bGQgYmUgc2lnbmFsZWQgYmVmb3JlIHZhbGlkYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg1MAoKMjAxMi0wNS0wNCAxNToyMDo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBkbyBub3QgcHJveHkgb3VyIGZpbHRlciBjYXBzIGRvd25zdHJlYW0gb24gY2FwcyBxdWVyaWVzCgkgIERvd25zdHJlYW0gbGlrZWx5IHdvbid0IGFjY2VwdCB2aWRlby94LXJhdyBhbmQgdGhlIGNhcHMgcXVlcnkKCSAgd2lsbCByZXR1cm4gRU1QVFkgY2Fwcy4gSW5zdGVhZCwgY3JlYXRlIGEgY29weSBvZiB0aGUgY2FwcyB0aGF0CgkgIGhhcyBhbGwgc3RydWN0dXJlIG5hbWVzIHJlcGxhY2VkIGJ5ICdpbWFnZS9qcGVnJwoJICBTaW1wbGUgcGlwZWxpbmUgdGhhdCBzaG93cyB0aGUgcHJvYmxlbToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTEgISAidmlkZW8veC1yYXcsIFwKCSAgd2lkdGg9KGludCk2NDAsIGhlaWdodD0oaW50KTQ4MCIgISB2aWRlb3NjYWxlICEganBlZ2VuYyAhIFwKCSAgImltYWdlL2pwZWcsIHdpZHRoPShpbnQpODAwLCBoZWlnaHQ9KGludCk2MDAiICEgZmlsZXNpbmsgXAoJICBsb2NhdGlvbj0vdG1wL2ltYWdlLmpwZwoKMjAxMi0wNS0wMiAyMToxNzo0MyArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBzZXQgbGF5b3V0PWludGVybGVhdmVkIG9uIHJhdyBhdWRpbyBjYXBzCgkgIFRoaXMgZml4ZXMgYSBub3QtbmVnb3RpYXRlZCBlcnJvciBhdCBsZWFzdCBvbiBtb3YgZmlsZXMgd2l0aAoJICB0d29zIGF1ZGlvIHdpdGggdHdvIGNoYW5uZWxzIGFuZCB2aWRlbyBkdmNwLiBBcyBwbGF5YmluIGFuZCBnc3QtbGF1bmNoCgkgIHNhbXBsZSBjb21pbmcgZnJvbSB0aGUgcXRkZW11eC5jIGZpbGUgdXNlcyBhdWRpb2NvbnZlcnQgYW5kIHRoZSBsYXR0ZXIKCSAgcmVxdWlyZSBmb3JtYXQgaW50ZXJsZWF2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUzMjYKCjIwMTItMDUtMDIgMjE6NDk6NTYgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICB3YXZlZm9ybTogTm8gbW9yZSBnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2NzUzMTkKCjIwMTItMDUtMDIgMjA6MTQ6MjQgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBkaXJlY3Rzb3VuZDogTm8gbW9yZSBnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2NzUzMTkKCjIwMTItMDUtMDEgMTg6NTg6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogY2hhbmdlIHNpbmsgcGFkIHRlbXBsYXRlIG5hbWUgZnJvbSBzaW5rXyVkIHRvIHNpbmtfJXUKCjIwMTItMDQtMzAgMTE6MDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGhhbmRsZSBFT1Mgb24gYWxsIHBhZHMKCSAgV2hlbiBhbGwgcGFkcyBnbyB0byBFT1MgaW1tZWRpYXRlbHksIHdlIGFyZSBub3QgbmVnb3RpYXRlZCBhbmQgb3VyIGNvbGxlY3RlZAoJICBmdW5jdGlvbiBpcyBjYWxsZWQgKHdpdGhvdXQgYW55IGF2YWlsYWJsZSBkYXRhKS4gSGFuZGxlIHRoaXMgY2FzZSBncmFjZWZ1bGx5LgoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNC0zMCAxMDo1OTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTItMDUtMDEgMTM6MzE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBVcGRhdGUgZm9yIGJhc2VzcmMgQVBJIGNoYW5nZXMKCjIwMTItMDQtMzAgMjM6NTc6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBkb24ndCBzZXQgdXAgc3R1ZmYgYmVmb3JlIHRoZSBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdHMgYXJlIGtub3duCgkgIEZpeGVzIGNyYXNoIG9uIHN0YXJ0dXAuCgoyMDEyLTA0LTMwIDE0OjA5OjIzICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9uJ3Qgd3JpdGUgc3RyZWFtIGhlYWRlciB0d2ljZSBmb3IgZmlyc3QgZmlsZQoKMjAxMi0wNC0zMCAxMzozMjo0MSArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGZpeCBidWZmZXIgbGlzdCBzaXplIGNhbGN1bGF0aW9uIGluIHJlbmRlcl9saXN0CgkgIEZpeCB1bmluaXRpYWxpemVkICdzaXplJyB2YXJpYWJsZSBpbiBjYWxsIHRvIGdzdF9idWZmZXJfbGlzdF9mb3JlYWNoKCkuCgoyMDEyLTA0LTMwIDIxOjU4OjAwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlOiB1bm5lY2Vzc2FyeSBzaXplIGNoZWNrCgoyMDEyLTA0LTMwIDIxOjMwOjU2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCBidWlsZCBlcnJvcnMKCSAgZml4IHJlZHVuZGFudCBkZWNsYXJhdGlvbnMKCSAgYW5kIGFsc28gc3R5bGUvaW5kZW50IGlzc3VlcwoKMjAxMi0wNC0yNiAxMjo0NzoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGltcGxlbWVudCBmb3J3YXJkIHNuYXBwaW5nIGtleWZyYW1lIHNlZWtpbmcKCSAgUmVxdWlyZXMgYW4gaW5kZXguCgoyMDEyLTA0LTI2IDEyOjQ2OjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBpbXBsZW1lbnQgZm9yd2FyZCBzbmFwcGluZyBrZXlmcmFtZSBzZWVraW5nCgkgIEluIHB1bGwgbW9kZSB3aXRoIGFuIGluZGV4LgoKMjAxMi0wNC0yOCAyMzoxNDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB0ZXN0czogZml4IG1hdHJvc2thbXV4IHVuaXQgdGVzdCBhZnRlciBtZWRpYSB0eXBlIGNoYW5nZXMKCjIwMTItMDQtMjggMTk6NTc6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBtZWRpYSB0eXBlIGNoYW5nZXMKCjIwMTItMDQtMjQgMTY6MDg6NDcgKzAyMDAgIGlkYy1kcmFnb24gPGlkYy1kcmFnb24gYXQgZ214LmRlPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSAgY2VsdGRlcGF5OiBjYWxjdWxhdGUgc2l6ZSBjb3JyZWN0bHkKCSAgVGhlIHN1bW1hdGlvbiB3YXMgZG9uZSB3cm9uZywgY2F1c2luZyB0aGUgZGUtcGF5bG9hZGVyIHRvIGV4aXQgaXRzIGxvb3AgdG9vCgkgIGVhcmx5LCBiZWZvcmUgYWxsIGZyYW1lcyBhcmUgcHJvY2Vzc2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NDcyCgoyMDEyLTA0LTI0IDE1OjU3OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGltcHJvdmUgZGVidWcKCjIwMTItMDQtMjQgMTU6MzQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc3RhcnQgdW5tdXRlZCB3aGVuIHJlcXVlc3RlZAoJICBXaGVuIHdlIGV4cGxpY2l0ZWx5IHNldCB0aGUgbXV0ZSBwcm9wZXJ0eSB0byBGQUxTRSwgY29ubmVjdCB0byBwdWxzZWF1ZGlvIHdpdGgKCSAgdGhlIFBBX1NUUkVBTV9TVEFSVF9VTk1VVEVEIGZsYWcgc2V0LCBvdGhlcndpc2UgcHVsc2VhdWRpbyB3aWxsIHVzZSBpdHMKCSAgcHJldmlvdXNseSB1c2VkIHZhbHVlICh3aGljaCBtaWdodCBzdGFydCB0aGUgc3RyZWFtIG11dGVkKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjQwMQoKMjAxMi0wNC0yNSAwOTo0MTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wcm92ZSB0aW1lc3RhbXAgY29kZQoJICBTYW1wbGUgdGhlIHBpcGVsaW5lIGNsb2NrIGFuZCBkZXZpY2UgY2xvY2sgY2xvc2VyIHRvIGVhY2hvdGhlciB0byByZWR1Y2Ugaml0dGVyLgoJICBEb24ndCBzdWJ0cmFjdCB0aGUgZnJhbWUgZHVyYXRpb24gZnJvbSB0aGUgdGltZXN0YW1wIHdoZW4gd2UgY2FuIHVzZSB0aGUgZGV2aWNlCgkgIHRpbWVzdGFtcHMuCgkgIEFzc3VtZSBhIGRlbGF5IG9mIDEgZnJhbWUgaW4gcmVhZC13cml0ZSBtb2RlLgoKMjAxMi0wNC0yNCAxMjozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXNlIGRyaXZlciB0aW1lc3RhbXBzCgkgIFVzZSB0aGUgZHJpdmUgdGltZXN0YW1wcyBmb3IgdGltZXN0YW1waW5nIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDEyLTA0LTIzIDE4OjAxOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBJbXByb3ZlIGJ1ZmZlciBtYW5hZ2VtZW50CgkgIFF1ZXJ5IHRoZSBhbW91bnQgb2YgYXZhaWxhYmxlIGJ1ZmZlcnMgd2hlbiBkb2luZyBzZXRfY29uZmlnKCkuIFRoaXMgYWxsb3dzIHVzIHRvCgkgIGNvbmZpZ3VyZSB0aGUgcGFyZW50IGJ1ZmZlcnBvb2wgd2l0aCB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgdG8gcHJlYWxsb2NhdGUuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHByb3ZpZGVkIGFsbG9jYXRvciBhbmQgdXNlIGl0IHdoZW4gd2UgbmVlZCB0byBhbGxvY2F0ZSBhCgkgIGJ1ZmZlciBpbiBSVyBtb2RlLgoJICBXaGVuIHdlIGFyZSBjYW4gbm90IGFsbG9jYXRlIHRoZSByZXF1ZXN0ZWQgbWF4X2J1ZmZlcnMgYW1vdW50IG9mIGJ1ZmZlcnMsIG1ha2UKCSAgc3VyZSB3ZSBrZWVwIDIgYnVmZmVycyBhcm91bmQgaW4gdGhlIHBvb2wgYW5kIGNvcHkgdGhlbSBpbnRvIGFuIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIGEgYnVmZmVyIHRvIGNhcHR1cmUgaW50by4gV2UgYWxzbyBuZWVkIHRvCgkgIGRldGVjdCB0aG9zZSBjb3BpZWQgYnVmZmVycyBhbmQgdW5yZWYgdGhlbSB3aGVuIHRoZXkgcmV0dXJuIHRvIHRoZSBwb29sLgoKMjAxMi0wNC0yMyAxNjo1MToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUgdGhlIHF1ZXVlZCBidWZmZXJzCgkgIE9ubHkgZnJlZSB0aGUgcXVldWVkIGJ1ZmZlcnMgdGhhdCB3ZSBrZWVwIHRyYWNrIG9mIGluIG91ciBidWZmZXIgYXJyYXkuIGZvciBydwoJICBpby1tb2RlLCB3ZSBkbyBhbGxvY2F0ZSBidWZmZXJzIGJ1dCB3ZSBkb24ndCBrZWVwIHRyYWNrIG9mIHRoZW0gaW4gdGhlIGJ1ZmZlcgoJICBhcnJheS4KCjIwMTItMDQtMjMgMTY6MTA6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBtYXJrIG1lbW9yeSBhcyBuby1zaGFyZQoJICBXZSBkb24ndCBzdXBwb3J0IHNoYXJpbmcgb3VyIG1tYXBwZWQgbWVtb3J5IHNvIG1hcmsgaXQgYXMgTk9fU0hBUkUuCgoyMDEyLTA0LTIzIDE2OjA5OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgb2xkIHVudXNlZCBmaWxlCgoyMDEyLTA0LTIzIDEzOjMyOjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9uCgoyMDEyLTA0LTExIDEyOjQyOjE3ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBIYW5kbGUgaWN5IGFuZCBpY3l4IFVSSSBzY2hlbWVzCgkgIEFzIGhhbmRsZWQgYnkgUXVpY2tUaW1lIChmb3IgaWN5KSwgYW5kIE9yYmFuL0NvZGluZyBUZWNobm9sb2dpZXMKCSAgQUFDL2FhY1BsdXMgUGxheWVyIChmb3IgaWN5eCkuIFNlZSBhbHNvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk0MjA3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD00MDMyODUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OQoKMjAxMi0wNC0yMyAxMDowMzoxOSArMDMwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBkb2NzOiBBZGQgU2luY2UgdGFnIGZvciBuZXcgR3N0VjRsMlNyYzo6cHJlcGFyZS1mb3JtYXQgc2lnbmFsCgoyMDEyLTA0LTIzIDEwOjA3OjEyICswMjAwICBDaHJpcyBQYW5rb3cgPGthaW4yMzk2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBGaXggdGltZS1kb21haW4gY29udm9sdXRpb24gZm9yIG11bHRpY2hhbm5lbCBpbnB1dAoJICBGaXhlcyBidWcgIzY3NDAyNS4KCjIwMTItMDQtMjEgMTE6MDg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiByZW1vdmUgc29tZSBtb3JlIG5vbi1leGlzdGVudCBmaWxlcyBmcm9tIHRoZSBsaXN0CgoyMDEyLTA0LTIxIDEwOjA1OjQ1ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogUmVtb3ZlIG5vbi1leGlzdGVudCBwb3RmaWxlcyBmcm9tIHRoZSBsaXN0CgkgIEZpeGVzICM2NzQ1MTgKCjIwMTItMDQtMjAgMTg6MTM6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIHRlc3RzOiBvc3M0OiBsaW1pdCB0ZXN0IHNjb3BlCgoyMDEyLTA0LTIwIDE4OjEzOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSAgb3NzNDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE4OjEyOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suaDoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkgIG9zczogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE2OjQ5OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZmlyc3QgYWN0aXZhdGUgcGFkIHRoZW4gc2V0IGNhcHMKCjIwMTItMDQtMjAgMTM6MzU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgY2FwcyBvbiBzcmNwYWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDIxOQoKMjAxMi0wNC0xOSAxNDoxNjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgdmlkZW8gYXBpIGNoYW5nZQoKMjAxMi0wNC0xOSAxMjozODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGNvbXBpbGF0aW9uIG9uIG9sZGVyIHY0bDIKCSAgRml4IGNvbXBpbGF0aW9uIG9uIHN5c3RlbXMgd2hlcmUgdGhlIEgyNjQgZm9ybWF0IGlzIG5vdCBkZWZpbmVkLgoKMjAxMi0wNC0xOSAxMjoyMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHZpZGVvOiBVcGRhdGUgZm9yIGxpYmdzdHZpZGVvIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTE5IDA4OjI3OjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IEFsbG93IG1wZWctdHMgY2FtZXJhcyB0byBuZWdvY2lhdGUgZm9ybWF0CgkgIFRoaXMgcmVtb3ZlcyBhbiB1Z2x5IGhhY2sgdW50aWwgdGhlIHJlYXNvbiBmb3IgdGhlIGhhY2sgY2FuIGJlIGRvY3VtZW50ZWQKCjIwMTItMDQtMTkgMDk6NTA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBGaXggbWVyZ2UKCjIwMTItMDQtMTkgMDk6NDA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFJlbmFtZSBwcmUtc2V0LWZvcm1hdCBzaWduYWwgdG8gcHJlcGFyZS1mb3JtYXQKCjIwMTItMDQtMTYgMjI6MDg6MjEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IEFkZCBIMjY0IGVuY29kZWQgc3RyZWFtIHN1cHBvcnQgdG8gdGhlIGNhcHMKCSAgVGhpcyBpcyBub3QgZW5vdWdoIHRvIHByb3Blcmx5IHN1cHBvcnQgSDI2NCBjYW1lcmFzLCBidXQgaXQgd2lsbAoJICBhbGxvdyBhbiBIMjY0IHN0cmVhbSB0byBiZSBnZW5lcmF0ZWQgYnkgdjRsMnNyYyB1c2luZyB0aGUgZGVmYXVsdAoJICBzZXR0aW5ncyBvZiB0aGUgY2FtZXJhLiBJZiB1c2VkIHdpdGggdGhlIHByZS1zZXQtZm9ybWF0IHNpZ25hbCwgdGhlCgkgIEgyNjQgZW5jb2RlciBjYW4gYmUgZnVsbHkgY29uZmlndXJlZC4KCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmMKCjIwMTItMDQtMTYgMjI6MDY6MjEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi8uZ2l0aWdub3JlOgoJKiBzeXMvdjRsMi9nc3R2NGwyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IEFkZGluZyBhIHByZS1zZXQtZm9ybWF0IHNpZ25hbAoJICBJbiBvcmRlciB0byBzdXBwb3J0IFVWQyBIMjY0IGVuY29kaW5nIGNhbWVyYXMsIGFuIEgyNjQgUHJvYmUmQ29tbWl0CgkgIG11c3QgaGFwcGVuIGJlZm9yZSB0aGUgbm9ybWFsIHY0bDIgc2V0LWZvcm1hdC4gVGhpcyBuZXcgc2lnbmFsIGlzCgkgIG1lYW50IHRvIGFsbG93IGFuIGV4dGVybmFsIGFwcGxpY2F0aW9uIG9yIGJpbiB0byBkbyBpdC4KCSAgSXQgYWxzbyBzZXJ2ZXMgdG8gZXhwb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3IgdXNlZCBieSB2NGwyc3JjIGluIGNhc2UKCSAgc29tZSBjdXN0b20gaW9jdGxzIG5lZWQgdG8gYmUgY2FsbGVkLgoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL01ha2VmaWxlLmFtCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYwoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTItMDQtMTggMTc6MDk6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGR2MTM5NDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTE3IDE1OjE0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICBjb2xsZWN0cGFkczI6IHJlbmFtZSB0byBjb2xsZWN0cGFkcwoKMjAxMi0wNC0xNiAxNjozNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgbWlzYzogY2hhaW4gdXAgdG8gY29sbGVjdHBhZHMgZXZlbnQgaGFuZGxlcgoKMjAxMi0wNC0xNiAwOTowOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYjI1YmUgdG8gZGM3MDIwMwoKMjAxMi0wNC0xNSAyMjo0OTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHVwZGF0ZSBmb3Igb2dnIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0xMyAxNjo1NDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTA0LTEzIDE2OjU0OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogaW1wcm92ZSBzZWdtZW50IGhhbmRsaW5nCgkgIC4uLiB0byBzZW5kIGEgcHJvcGVyIFRJTUUgc2VnbWVudCBkb3duc3RyZWFtLgoKMjAxMi0wNC0xMyAxNjo1NDo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIGZseGRlYzogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEzIDE2OjU0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IGFkanVzdCB0byBkZXByZWNhdGVkIEdNdXRleCBzZXR1cAoKMjAxMi0wNC0xMyAxNjo1NDozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0xMyAxNjo1NDozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgYWxwaGEsIHNtcHRlOiBhZGp1c3QgdG8gcmVtb3ZlZCBjb2xvci1tYXRyaXggY2FwcyBmaWVsZAoKMjAxMi0wNC0xMyAxNjoyNzozNCArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMjogZW5zdXJlIGF1dG9nZW5lcmF0ZWQgZmlsZXMgYXJlIGNyZWF0ZWQKCSAgVGhlIHR1bmVyIG1hcnNoYWwgYW5kIGVudW10eXBlcyBhcmUgYXV0b2dlbmVyYXRlZCwgYW5kIHRoZXkgbmVlZAoJICB0byBiZSBjcmVhdGVkIGJlZm9yZSB0aGUgY29tcGlsYXRpb24gb2YgZ3N0djRsMnR1bmVyLmMKCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBhdXRvbWFrZSBpbnN0cnVjdGlvbiBmb3IgZW5zdXJpbmcgdGhlCgkgIGF1dG9nZW5lcmF0aW9uIG9mIHRob3NlIGZpbGVzIHByZXZpb3VzIHRoZSBjb21waWxhdGlvbi4KCjIwMTItMDQtMTMgMTM6NDE6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1vZGVybml6ZSBhdXRvdG9vbHMgc2V0dXAgYSBiaXQKCSAgQWxzbyB3ZSBub3cgb25seSBjcmVhdGUgdGFyLmJ6MiBhbmQgdGFyLnh6IHRhcmJhbGxzLgoKMjAxMi0wNC0xMyAxMzozNzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NGZlMTUgdG8gNmRiMjViZQoKMjAxMi0wNC0xMyAxMzowNDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5oOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL3R1bmVyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuaDoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmM6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5oOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uYzoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBVcGRhdGUgZXZlcnl0aGluZyBmb3IgdGhlIHJlbW92YWwgb2YgdGhlIGludGVyZmFjZSBsaWJyYXJ5IGFuZCBtaXhlci90dW5lciBpbnRlcmZhY2VzCgoyMDEyLTA0LTEyIDE1OjUwOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwOiBVc2UgdW5jaGVja2VkIHZhcmlhbnQgb2YgR3N0Qnl0ZVdyaXRlciB3aGVyZSBhcHBsaWNhYmxlCgkgIFRoZSBzaXplIHdhcyBjaGVja2VkIGJlZm9yZQoKMjAxMi0wNC0xMiAxNTo0OTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVSZWFkZXIvV3JpdGVyCgoyMDEyLTA0LTEyIDE1OjQ4OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGlzb21wNDogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVXcml0ZXIKCSAgQW5kIHVzZSB1bmNoZWNrZWQgdmFyaWFudCBvZiBHc3RCeXRlUmVhZGVyIHdoZXJlIGFwcGxpY2FibGUKCjIwMTItMDQtMTIgMTU6NDg6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogVXNlIHVuY2hlY2tlZCB2YXJpYW50IG9mIEdzdEJ5dGVSZWFkZXIKCSAgV2Uga25vdyB0aGVyZSdzIGF0IGxlYXN0IDcgYnl0ZXMgKGNoZWNrZWQgYWJvdmUpCgoyMDEyLTA0LTEyIDE1OjQ3OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVXcml0ZXIKCjIwMTItMDQtMTIgMTU6NDc6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBHc3RCaXRSZWFkZXIvR3N0Qnl0ZVJlYWRlcgoKMjAxMi0wNC0xMiAxMTo1Nzo1OSArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBBZGQgaW50ZXJsZWF2ZSBwbHVnaW4gdG8gc3BlYyBmaWxlCgoyMDEyLTA0LTEyIDExOjE5OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MCA9PT0KCjIwMTItMDQtMTIgMTA6Mjc6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkwCgoyMDEyLTA0LTEyIDEwOjI2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA0LTExIDAwOjE5OjMwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgRml4IGZvcm1hdCBzdHJpbmcKCSAgRml4ZXMgIzY3Mzg1OQoKMjAxMi0wNC0xMSAwMDoxOToxNiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgRml4ZXMgIzY3Mzg1OQoKMjAxMi0wNC0xMCAxMTo1Nzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDQtMTAgMTE6Mzc6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNvbWUgbW9yZSBzZWdtZW50IGhhbmRsaW5nIHR3ZWFraW5nCgoyMDEyLTA0LTEwIDAwOjUxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBVc2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoKMjAxMi0wNC0xMCAwMDo0Nzo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkgIFVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgoyMDEyLTA0LTEwIDAwOjQ3OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgVXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCjIwMTItMDQtMDkgMTI6NTU6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgdGVzdHM6IGRpc2FibGUgc2ltcGxlIHNtb2tlZW5jL2RlYyBsYXVuY2ggbGluZXMgdGVzdAoJICBEaXNhYmxlIHRlc3QgZm9yIHNtb2tlIGVsZW1lbnRzLCB3aGljaCBhcmVuJ3QgcG9ydGVkIHlldAoJICAoYW5kIG1heWJlIHNob3VsZG4ndCBiZSBwb3J0ZWQpLgoKMjAxMi0wNC0wOSAwMDoxNDo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBtYWtlIGNoYW5uZWwtcG9pc2l0aW9ucyBwcm9wZXJ0eSBhIEdWYWx1ZUFycmF5IGFnYWluCgkgIE9yIHBlcmhhcHMgaXQgc2hvdWxkIGp1c3QgYmUgYSBndWludDY0IGNoYW5uZWwgbWFzaywgd2hpY2ggd291bGQKCSAgYmUgbmljZXIgaW4gQywgYnV0IG1vcmUgYXdrd2FyZCBmb3IgYmluZGluZ3MgKGV2ZW4gbW9yZSBzbyBzaW5jZQoJICB3ZSBjYW4ndCBhZGQgYSBmbGFncyB0eXBlIGZvciBpdCwgc2luY2UgdGhhdCBvbmx5IHN1cHBvcnRzIGd1aW50CgkgIHNpemUgZmxhZ3MpLiBGaXhlcyB3YXZlbmMgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjQzCgoyMDEyLTA0LTA2IDE2OjAzOjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBjbGVhbmx5IGluaXRpYWxpemUgYW5kIHNldCBuZWVkZWQgc2VnbWVudAoJICBGaXhlcyAjNjczMTY1LgoKMjAxMi0wNC0wNSAxNzoxNzoyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHRocmVhZGluZyBpc3N1ZSBpbiBpbmRleCBoYW5kbGluZwoKMjAxMi0wNC0wNiAwOToxMzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCB1c2Ugc3RhdGljIHZhcmlhYmxlcyB0byBob2xkIGluZGV4IGFzc29jaWF0aW9ucwoJICBUaGlzIG5vdCByZWFsbHkgdGhyZWFkc2FmZSBpbiBhbnkgd2F5LgoKMjAxMi0wNC0wNSAxOToxNzo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogbWFrZSBmZXcgdGVzdHMgbW9yZSB2YWxncmluZC1mcmllbmRseQoKMjAxMi0wNC0wNSAxOToxNzo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICAoZGUpaW50ZXJsZWF2ZTogZml4IHBvcnRlZCB1bml0IHRlc3QgYW5kIGVuYWJsZSBhcyBwb3J0ZWQKCjIwMTItMDQtMDUgMTk6MTc6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICB0ZXN0czogY21tbGRlYzogYWRqdXN0IHRvIHRhZyBldmVudHMgbm8gbG9uZ2VyIHBvc3RlZCBvbiBidXMgYnkgZWxlbWVudAoKMjAxMi0wNC0wNSAxOToxNzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRzcmM6IGNsZWFyIGVycm9yCgoyMDEyLTA0LTA1IDE4OjQyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2ZkYTUyNCB0byA0NjRmZTE1CgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDUgMTc6NDA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZW1wMmVuYy5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxNzo0MDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9wbHVnaW4uYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDUgMTc6MzY6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvZHYvZ3N0ZHYuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYnBsdWdpbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvcGx1Z2luLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDUgMTM6MjY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVwZGF0ZSB2ZXJzaW9uIHRvIDAuMTEuODkuMQoKMjAxMi0wNC0wNCAyMDowNjo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGVuc3VyZSBpbml0aWFsaXplZCB0ZXN0IGJ1ZmZlciBtZW1vcnkKCjIwMTItMDQtMDQgMTQ6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDQtMDQgMTQ6Mzg6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDQtMDQgMTQ6Mzg6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgIGdzdDogVXBkYXRlIHZlcnNpb25pbmcKCjIwMTItMDQtMDQgMTQ6MzM6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46CgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxMjoxMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmgKCjIwMTItMDQtMDMgMTg6MzY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBwbHVnIHRlbXBsYXRlIGNhcHMgbGVhawoKMjAxMi0wNC0wMyAxMTo1MDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2aSBvbmx5IGtub3dzIGFib3V0IERUUwoJICBPbmx5IHNldCBEVFMgb24gb3V0Z29pbmcgYnVmZmVycyB1bmxlc3Mgd2UgaGF2ZSBhIGtleWZyYW1lIGFuZCB0aGVuIHdlIGNhbiBzZXQKCSAgdGhlIFBUUyB0byBEVFMgYXMgd2VsbC4KCjIwMTItMDQtMDIgMjM6MzU6NDMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWt2OiBwb3J0IHRvYyBjaGFuZ2VzIHRvIDAuMTEKCjIwMTItMDQtMDIgMjM6MTg6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBNZXJnZSBicmFuY2ggJzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oCgoyMDEyLTAzLTI5IDIzOjIyOjI4ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thOiBhZGQgR3N0VG9jIHN1cHBvcnQgZm9yIG11eGVyCgoyMDEyLTAzLTI5IDIzOjEyOjEzICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQgc3VwcG9ydCBmb3IgR3N0VG9jIGluIGRlbXV4ZXIKCjIwMTItMDMtMjkgMjM6MDU6MTQgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBhZGQgY2hhcHRlciBzdXBwb3J0IGluIEdzdE1hdHJvc2thUmVhZENvbW1vbgoKMjAxMi0wNC0wMiAxMzowMDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9saW5lcy5jOgoJICBnb29tMmsxOiBGaXggJ21heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wNC0wMiAxMToxMzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHVzZSB0cmFuc2Zvcm1faXBfb25fcGFzc3Rocm91Z2gKCjIwMTItMDMtMzEgMTU6NDM6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIHVwZGF0ZSBmb3IgY2hpbGQgcHJveHkgYXBpIGNoYW5nZQoKMjAxMi0wMy0zMCAxODoxMzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBhcGkgY2hhbmdlCgoyMDEyLTAzLTMwIDEyOjUzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2VuY29kZXJfc2V0X2hlYWRlcnMoKSBBUEkKCjIwMTItMDMtMzAgMTI6MTg6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgR3N0QXVkaW9FbmNvZGVyIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTI5IDIzOjIyOjI4ICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thOiBhZGQgR3N0VG9jIHN1cHBvcnQgZm9yIG11eGVyCgoyMDEyLTAzLTI5IDIzOjEyOjEzICswNDAwICBBbGV4YW5kZXIgU2FwcnlraW4gPHhlbGZpdW1AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQgc3VwcG9ydCBmb3IgR3N0VG9jIGluIGRlbXV4ZXIKCjIwMTItMDMtMjkgMjM6MDU6MTQgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBhZGQgY2hhcHRlciBzdXBwb3J0IGluIEdzdE1hdHJvc2thUmVhZENvbW1vbgoKMjAxMi0wMy0yOSAxNzoyMjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB0ZXN0czogd2F2cGFjazogZmV3ZXIgYnVmZmVycyBhcmUgYWxzbyBhZGVxdWF0ZSBhbmQgbW9yZSBjb252ZW5pZW50CgoyMDEyLTAzLTI5IDE3OjIyOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogdmlkZW9jcm9wOiB1bm1hcCB2aWRlbyBmcmFtZSBhbmQgdW5yZWYgY2FwcwoKMjAxMi0wMy0yOSAxNzoyMjowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJICB0ZXN0czogYXVkaW93c2luY2JhbmQ6IHVubWFwIGV4YW1pbmVkIG91dHB1dCBidWZmZXJzCgoyMDEyLTAzLTI5IDE3OjIxOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcGx1ZyByZWYgbGVhawoKMjAxMi0wMy0yOSAxNzoyMTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBzdXBwb3J0ZWQgdGVtcGxhdGUgY2FwcyBhbmQgc2FtcGxlIHByb2Nlc3NpbmcKCjIwMTItMDMtMjkgMTc6MjE6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogcGx1ZyBzdHJ1Y3R1cmUgbGVhawoKMjAxMi0wMy0yOSAxNjowNDoyNiArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IHBvcnRlZCBwbHVnaW5zCgoyMDEyLTAzLTI5IDE1OjAzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMi0wMy0yOCAxNjoyNjo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IG11eGVycyBuZWVkIFRJTUUgZm9ybWF0CgoyMDEyLTAzLTI4IDE2OjI2OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzOiBmbGFjZGVjOiBuZWVkcyBmbGFjcGFyc2Ugbm93YWRheXMKCjIwMTItMDMtMjggMTQ6NDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBxdWVyeSBkb3duc3RyZWFtIGZvciBCWVRFIHNlZWtpbmcgc3VwcG9ydAoKMjAxMi0wMy0yOCAxNDo0ODo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHF1ZXJ5IGRvd25zdHJlYW0gZm9yIEJZVEUgc2Vla2luZyBzdXBwb3J0CgoyMDEyLTAzLTI4IDE0OjQ2OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogY2xlYW4gdXAgb2Jzb2xldGUgbG9nIHN0YXRlbWVudAoKMjAxMi0wMy0yOCAxMjo0OToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTI4IDEyOjE2OjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJICB0ZXN0czogYXVkaW9keW5hbWljOiBjb3JyZWN0bHkgcG9ydCBvcmlnaW5hbCB0ZXN0IHRvIG1pbmQgaW4gcGxhY2UgdHJhbnNmb3JtCgoyMDEyLTAzLTI4IDExOjA1OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgYXVkaW9meDogbW9yZSBhZGp1c3RtZW50IHRvIGNoYW5nZWQgc2VtYW50aWNzIG9mIGF1ZGlvZmlsdGVyIF9zZXR1cCBtZXRob2QKCjIwMTItMDMtMjggMTE6MTA6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSAgdGVzdHM6IGF1ZGlvZmlyZmlsdGVyOiBuZWdvdGlhdGUgdGhlIGludGVuZGVkIHJhdyBhdWRpbyBmb3JtYXQKCjIwMTItMDMtMjcgMTg6NDE6NDUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IGluaXQgZGF0YXN0cnVjdHVyZQoKMjAxMi0wMy0yNyAxNzoxODo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogZml4IHN0cmlkZXMKCjIwMTItMDMtMjcgMTY6NDE6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIGNhcHM6IGltcHJvdmUgY2FwcyBoYW5kbGluZwoJICBBdm9pZCBjYXBzIGNvcHkgYW5kIGxlYWtzCgoyMDEyLTAzLTI3IDE0OjA0OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIHRlc3RzOiBpY3lkZW11eDogYWN0aXZhdGUgaW50ZXJuYWwgdGVzdCBoZWxwZXIgc3JjIHBhZAoKMjAxMi0wMy0yNyAxMjo0NDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXBkYXRlIGZvciBnZXRfcGFyYW0KCSAgUmVtb3ZlIGNvbnN0IGZyb20gdGhlIEdzdENhcHMuCgkgIFBsdWcgc29tZSBHc3RTdHJ1Y3R1cmUgbGVha3MKCjIwMTItMDMtMjcgMDA6MDI6MDggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IEZpeCBjb21waWxpbmcgd2l0aCBtaW5ndy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mjg4MAoKMjAxMi0wMy0yNiAxODozMTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3RzOiByZXBsYXlnYWluOiBtaXNjIGNvbXBhdGliaWxpdHkgZml4ZXMKCSAgRGlzY2FyZCBjYXBzIGV2ZW50IHdoZW4gY2hlY2tpbmcgZm9yIGFuZCBjb3VudGluZyB2YXJpb3VzIHRhZyBldmVudHMsCgkgIGFuZCByZW1vdmUgYWxsIHRlc3Rpbmcgb2YgOCBiaXRzIGRlcHRoIGluIDE2IGJpdHMgd2lkdGggZm9ybWF0IHNpbmNlCgkgIGl0IG5vIGxvbmdlciBleGlzdHMuCgoyMDEyLTAzLTI2IDE4OjI4OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogcnRwOiBtaXNjIGNvbXBhdGliaWxpeSBmaXhlcwoJICAuLi4gc3VjaCBhcyBhbHdheXMgc2V0dGluZyBwYWQgY2FwcyBhbmQgcHJvdmlkaW5nIG5lZWRlZCBjYXBzIGZpZWxkcy4KCjIwMTItMDMtMjYgMTg6MjY6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdGVzdHM6IHZpZGVvZmlsdGVyOiBlbnN1cmUgaW5pdGlhbCBzZWdtZW50IGV2ZW50CgoyMDEyLTAzLTI2IDE4OjI1OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogcHJvcGVyIHZpZGVvIGluZm8gYW5kIGZyYW1lIG1hbmFnZW1lbnQKCSAgLi4uIHBhcnRpY3VsYXJseSBzaW5jZSBlYWNoIGluY29taW5nIHBhZCBoYXMgYSBkaXN0aW5jdCBmb3JtYXQuCgoyMDEyLTAzLTI2IDE4OjI0OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBlbnN1cmUgb3V0cHV0IGNhcHMgYXJlIHNldCB3aGVuIHB1c2hpbmcgb3V0cHV0IGRhdGEKCSAgLi4uIGV2ZW4gaWYgc29tZSBTUFMvUFBTIGhhcyBub3QgcGFzc2VkIGJ5IHlldC4KCjIwMTItMDMtMjYgMTg6MjI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9maWx0ZXI6IGF2b2lkIGhvbGRpbmcgb2JqZWN0IGxvY2sgd2hlbiBjYWxsaW5nIGJhc2V0cmFuc2Zvcm0gZnVuY3Rpb24KCjIwMTItMDMtMjYgMTg6MjI6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHNvbWUgbG9jayBtYW5hZ2VtZW50CgkgIC4uLiB0byBhdm9pZCB0cnlpbmcgdG8gdGFrZSBhIG5vbi1yZWN1cnNpdmUgbG9jayB0d2ljZS4KCjIwMTItMDMtMjYgMTg6MjE6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICBydHBMMTYoZGUpcGF5OiBmaXggcmF3IGF1ZGlvIGZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTAzLTI2IDE4OjIwOjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgcmVwbGF5Z2FpbjogYWxzbyBzdGlsbCBwb3N0IHRoZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcwoKMjAxMi0wMy0yNiAxNTo1OTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZG9uJ3QgZXJyb3IgaW4gc2h1dGRvd24KCSAgRG9uJ3QgbG9nIHdpdGggdGhlIEVSUk9SIGNhdGVnb3J5IHdoZW4gd2UgYXJlIHN0b3BwaW5nIGJlY2F1c2Ugd2UgYXJlIHNodXR0aW5nCgkgIGRvd24uCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyODI0CgoyMDEyLTAzLTI2IDE1OjUxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBmaXggbGF0ZW5jeQoKMjAxMi0wMy0yNiAxNTozMDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGNhbGxlZCBiYXNlIGNsYXNzIHN0YXJ0CgkgIENoYWluIHVwIHRvIHRoZSBiYXNlIGNsYXNzIHN0YXJ0IG1ldGhvZCBzbyB0aGF0IG1ldGFkYXRhIGlzIHByb3Blcmx5IHRhZ2dlZC4KCSAgUmVtb3ZlIGFuIHVudXNlZCB2YXJpYWJsZS4KCSAgZml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI4MTMKCjIwMTItMDMtMjYgMTI6MTI6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBSZXBsYWNlIG1hc3RlciB3aXRoIDAuMTEKCjIwMTItMDMtMjUgMDA6MDA6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkICJhbHBoYSIgcHJvcGVydHkgdG8gc2V0IGFscGhhIG9mIG92ZXJsYXkgaW1hZ2UKCSAgLi4gb3IgdHVybiB0aGUgb3ZlcmxheSBvZmYgYnkgc2V0dGluZyBhbHBoYSB0byAwLjAKCjIwMTItMDMtMjQgMDk6NTE6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBwbHVnIGNhcHMgbGVhawoKMjAxMi0wMy0yMyAxODo0Nzo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICB0ZXN0czogaW1hZ2VmcmVlemU6IHJlbW92ZSBleHRyYW5lb3VzIF91bnJlZgoKMjAxMi0wMy0yMyAxODo0NzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgdGVzdHM6IGF2aW11eDogYWRqdXN0IHRvIG1vZGlmaWVkIHNpbmsgcGFkIHRlbXBsYXRlIG5hbWUKCjIwMTItMDMtMjMgMTg6NDY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBjbGVhbnVwIGVsZW1lbnQgc29vbmVyCgkgIC4uLiB0byBhdm9pZCBzdHJheSByZWZzIGluIHN0aWNreSBjYXBzIGV2ZW50cy4KCjIwMTItMDMtMjMgMTg6NDU6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogYXJyYW5nZSBmb3Igc2VuZGluZyBhbiBpbml0aWFsIHNlZ21lbnQgZXZlbnQKCSAgLi4uIHdoaWNoIGlzIG5lZWRlZCBub3dhZGF5cyBzaW5jZSB2YXJpb3VzIGdzdF9zZWdtZW50X3RvXy4uLgoJICBubyBsb25nZXIgYXV0b21hdGljYWxseSBzZXQgdGhlIGZvcm1hdCB0byB0aGUgc3BlY2lmaWVkIG9uZQoJICAoZnJvbSBfVU5ERUZJTkVEKS4KCjIwMTItMDMtMjMgMTg6NDQ6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBpbW1lZGlhdGVseSByZXR1cm4gR1NUX0ZMT1dfRU9TCgkgIC4uLiByYXRoZXIgdGhhbiBfT0sgc2luY2Ugd2Ugd2lsbCBub3QgYmUgY2FyaW5nIGFib3V0IHN1YnNlcXVlbnQgYnVmZmVyCgkgIGFueXdheS4KCjIwMTItMDMtMjMgMTg6NDM6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBmaXggcXVlcnkgYW5kIF9nZXRjYXBzIGhhbmRsaW5nCgoyMDEyLTAzLTIzIDE4OjQyOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb2Z4OiBhZGp1c3QgdG8gY2hhbmdlZCBzZW1hbnRpY3Mgb2YgYXVkaW9maWx0ZXIgX3NldHVwIG1ldGhvZAoJICAuLi4gaW4gdGhhdCBpdCB3aWxsIG5vdyBjYWxsIHN1YmNsYXNzIHdpdGggaW5mbyBvbiBwcm9wb3NlZCBhdWRpbyBmb3JtYXQKCSAgd2l0aG91dCBoYXZpbmcgc2V0IHRoYXQgaW5mbyBhbHJlYWR5IGluIGJhc2UgY2xhc3MuICBBcyBzdWNoLAoJICBzdWJjbGFzcyBjYW4gbm90IHJlbHkgb24gYXVkaW8gZm9ybWF0IGluZm8gYmVpbmcgYXZhaWxhYmxlIHRoZXJlLgoKMjAxMS0wNy0xNCAxNjoyMzo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogTWFrZSBvdXRwdXQgaW4gQVZDIHN0cmVhbSBmb3JtYXQgd29yayBldmVuIHdpdGhvdXQgY29tcGxldGUgc3Byb3AtcGFyYW1ldGVyLXNldAoJICBUaGlzIGFsbG93cyBvdXRwdXR0aW5nIHN0cmVhbXMgaW4gQVZDIGZvcm1hdCBldmVuIGlmIHRoZSBTUFMvUFBTIGFyZSBzZW50IGluc2lkZQoJICB0aGUgUlRQIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoJICBQb3J0ZWQgZnJvbSBtYXN0ZXIKCjIwMTItMDEtMjkgMTg6Mzk6NTQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBVbmxvY2sgb24gZXJyb3IKCjIwMTItMDMtMjIgMTg6Mjc6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXNlIHNpbmsgcGFkIHRlbXBsYXRlIGNhcHMgcmF0aGVyIHRoYW4gc3JjCgoyMDEyLTAzLTIyIDE4OjIzOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDMtMjIgMTg6MjE6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMjIgMTY6MTA6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogaW50ZXJzZWN0IGRvd25zdHJlYW0gYWxsb3dlZCBwZWVyIGNhcHMgd2l0aCBzaW5rIHBhZCB0ZW1wbGF0ZQoKMjAxMi0wMy0yMiAxNTo1NToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4yID09PQoKMjAxMi0wMy0yMiAxNTo1MToxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJICBSZWxlYXNlIDAuMTEuMgoKMjAxMi0wMy0yMiAxMTo1NToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDMtMjIgMTE6NTM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIHVucG9ydCBnZGtwaXhidWYKCSAgbm90IG1lcmdlZDogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoJICBDb25mbGljdHM6CgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbQoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbAoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dAoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeQoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbAoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmMKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYwoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jCgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmMKCSAgZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYwoKMjAxMi0wMy0yMiAxMTo0NToxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IG9ubHkgc3RhcnQgY29sbGVjdHBhZHMyIGF0IHN0YXRlIGNoYW5nZSByYXRoZXIgdGhhbiBpbml0CgoyMDEyLTAzLTIxIDEzOjIyOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMjAgMTA6MjQ6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTkgMTI6MDE6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY3JjIGNoZWNrIGlmIGFwcGxpY2FibGUKCSAgLi4uIHN1Y2ggYXMgYSBmcmFtZSBoZWFkZXIgcGFyc2luZyB0aHJvd2luZyBzb21lIHN1c3BpY2lvdXMgd2FybmluZ3MuCgkgIFNvIHdlIGNhbiBiZSBhIGJpdCBtb3JlIGNvbnZpbmNlZCB3ZSBkZXRlcm1pbmUgdGhlIHJpZ2h0IGZyYW1lIGVuZC4KCjIwMTItMDMtMTkgMTE6NTg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhdm9pZCBpbmRlZmluaXRlIGV4dGVuZGVkIHNlYXJjaCBmb3IgZnJhbWUgZW5kIGlmIHBvc3NpYmxlCgkgIC4uLiB3aGljaCBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIGxvY2tlZCBvbiB0byB0aGUgd3JvbmcgZnJhbWUgc3RhcnQKCSAgYW5kL29yIGNvcnJ1cHQgZnJhbWUgYmVpbmcgY3JjIGNoZWNrZWQuCgoyMDEyLTAzLTE2IDE4OjIzOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBpbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCByZXNpbGllbmNlCgkgIC4uLiBieSBub3RpbmcgdGhhdCBvbmUgb2NjdXJyZWQgaW4gdGhlIGZpcnN0IHBsYWNlLCBhbmQgdGhlbiBhcHByb3ByaWF0ZWx5CgkgIGlnbm9yaW5nIHNvbWUgdHJhbnNpZW50IG9uZXMuCgoyMDEyLTAzLTE5IDEwOjMzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG5lZ290aWF0ZSBhbiBhbGxvY2F0b3Igb24gdGhlIHNyY3BhZHMKCSAgV2UgZG8gYW4gQUxMT0NBVElPTiBxdWVyeSB0byBmaW5kIG91dCBhbiBhbGxvY2F0b3IgYW5kIHBhcmFtZXRlcnMgb24gdGhlCgkgIHNyY3BhZHMuIFRoaXMgd2F5IGRlY29kZXJzIChhbmQgc2lua3MpIGNhbiBzcGVjaWZ5IHRoZSBtZW1vcnkgYW5kIHBhcmFtZXRlcnMKCSAgdGhleSB3YW50IHVzIHRvIHdyaXRlIGludG8uCgoyMDEyLTAzLTE3IDIwOjUzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIG5ldyBwcm9wZXJ0aWVzIGFuZCBhZGQgZ2RrcGl4YnVmb3ZlcmxheSBlbGVtZW50CgkgIFNvbWV3aGF0IGF0IGxlYXN0LiBObyBpZGVhIHdoeSBpdCBkb2Vzbid0IHBpY2sgdXAgdGhlIGRlc2NyaXB0aW9uCgkgIG9yIGV4YW1wbGUgcGlwZWxpbmUuCgoyMDEyLTAzLTE4IDAwOjExOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBtYWtlIG1vc3QgcHJvcGVydGllcyBjb250cm9sbGFibGUgYW5kIGZsYWcgdGhlbSBhcyBtdXRhYmxlLXBsYXlpbmcKCjIwMTItMDMtMTcgMjM6NDE6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCBwcm9wZXJ0aWVzIGZvciBwb3NpdGlvbmluZyBhbmQgc2l6aW5nCgoyMDEyLTAzLTE3IDIwOjE4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1ZjogYWRkIGdka3BpeGJ1Zm92ZXJsYXkgZWxlbWVudAoJICBTdGlsbCBsYWNrcyBmZWF0dXJlcyBzdWNoIGFzIHBvc2l0aW9uaW5nIG9yIHJlc2l6aW5nLCBvcgoJICBhbmltYXRpb25zLCBidXQgaXQncyB1c2FibGUgYWxyZWFkeSwgYW5kIHN1cHBvcnRzIGxvdHMgb2YKCSAgZm9ybWF0cy4KCjIwMTItMDMtMTYgMjI6NTI6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICBkb24ndCBwb2tlIGludG8gYmFzZXRyYW5zZm9ybSBpbnRlcm5hbHMKCSAgQnV0IHVzZSB0aGUgbWV0aG9kcwoKMjAxMi0wMy0xNiAyMTo0NzoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBkb24ndCBwYXNzIHJhbmRvbSBwb2ludGVycyB0byBwdWxsX3JhbmdlCgoyMDEyLTAzLTE1IDIyOjE1OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgdXBkYXJ0ZSBmb3IgYnVmZmVycG9vbCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDIyOjExOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBjaGFuZ2VzCgoyMDEyLTAzLTE1IDIwOjM3OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTEtMDctMTQgMTY6MjM6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IE1ha2Ugb3V0cHV0IGluIEFWQyBzdHJlYW0gZm9ybWF0IHdvcmsgZXZlbiB3aXRob3V0IGNvbXBsZXRlIHNwcm9wLXBhcmFtZXRlci1zZXQKCSAgVGhpcyBhbGxvd3Mgb3V0cHV0dGluZyBzdHJlYW1zIGluIEFWQyBmb3JtYXQgZXZlbiBpZiB0aGUgU1BTL1BQUyBhcmUgc2VudCBpbnNpZGUKCSAgdGhlIFJUUCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCjIwMTItMDMtMTUgMTQ6MDY6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgYXBpIGNoYW5nZQoKMjAxMi0wMy0xNSAxMzozODoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTUgMTM6Mzc6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+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+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBldmVudCBoYW5kbGluZwoJICBGaXggZG9kZ3kgc2VnbWVudCBldmVudCBoYW5kbGluZwoJICBDaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoKMjAxMi0wMi0yNyAwOToxNDowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVzZSBwdWJsaWMgYXBpCgkgIGluc3RlYWQgb2YgcG9raW5nIGludG8gdGhlIHByaXZhdGUgc3RydWN0dXJlcyBvZiB0aGUgYmFzZSBjbGFzcwoKMjAxMi0wMi0yNyAwNjozNTowMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgYW1yd2JkZWMsIGxhbWUsIG1hZDogbGluayB0byBsaWJnc3RiYXNlCgoyMDEyLTAyLTI3IDAxOjA5OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBmbHZtdXgsIG1hdHJvc2thbXV4LCBxdG11eDogaWYgaW4gZG91YnQgYWJvdXQgZG93bnN0cmVhbSBzZWVrYWJpbGl0eSBkZWZhdWx0IHRvIHN0cmVhbWluZz10cnVlCgkgIElmIGRvd25zdHJlYW0gZGlkbid0IGFuc3dlciBvdXIgU0VFS0lORyBxdWVyeSBhbmQgdG9sZCB1cwoJICBpdCdzIHNlZWthYmxlLCBkZWZhdWx0IHRvIHN0cmVhbWluZz10cnVlLiBXZSBjb3VsZG4ndCBkbwoJICB0aGlzIGluIDAuMTAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIGJ1dCB3ZQoJICBjYW4gaW4gMC4xMS4gUGxheSBpdCBzYWZlLgoKMjAxMi0wMi0yNyAwMTowMDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmMKCjIwMTItMDItMjcgMDA6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICdmOTIwNzcyMmNhOGZkOGRjYzFlNzIxNWQ4YWY4NWVmZTRkZWJmZGY0JyBpbnRvIDAuMTEKCjIwMTItMDItMjcgMDA6NTU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IHVwIGFmdGVyIG1lcmdlCgoyMDEyLTAyLTI3IDAwOjQ4OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnMzg1MTZhZDM2NzEyOGQ4M2Y5ZTE1NjUyOTAxOGFkYjQ0MzNjZDMyOCcgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jCgoyMDEyLTAyLTI2IDIwOjM5OjUyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDItMjYgMjA6MzA6MjQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDItMjUgMTU6NTU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogY3JlYXRlIHN0cmVhbWFibGUgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIElnbm9yZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IHNldHRpbmcgYW5kIGNyZWF0ZSBzdHJlYW1hYmxlCgkgIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIGtub3duIG5vdCB0byBiZSBzZWVrYWJsZSAoYXMgcXVlcmllZAoJICB2aWEgYSBTRUVLQUJMRSBxdWVyeSkuCgkgIEZpeGVzIHBpcGVsaW5lcyBsaWtlIHF0bXV4ICEgYXBwc2luayBwb3NzaWJseSBjcmVhdGluZyBzZWVtaW5nbHkKCSAgY29ycnVwdGVkIG91dHB1dCBpZiBzdHJlYW1hYmxlIGhhcyBub3QgYmVlbiBzZXQgdG8gdHJ1ZS4KCjIwMTItMDItMjUgMTU6NDg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBjcmVhdGUgc3RyZWFtYWJsZSBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgSWdub3JlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgc2V0dGluZyBhbmQgY3JlYXRlIHN0cmVhbWFibGUKCSAgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMga25vd24gbm90IHRvIGJlIHNlZWthYmxlIChhcyBxdWVyaWVkCgkgIHZpYSBhIFNFRUtBQkxFIHF1ZXJ5KS4KCSAgRml4ZXMgcGlwZWxpbmVzIGxpa2UgZmx2bXV4ICEgYXBwc2luayBwb3NzaWJseSBjcmVhdGluZyBzZWVtaW5nbHkKCSAgY29ycnVwdGVkIG91dHB1dCBpZiBzdHJlYW1hYmxlIGhhcyBub3QgYmVlbiBzZXQgdG8gdHJ1ZS4KCjIwMTItMDItMjUgMTU6NDA6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogY3JlYXRlIHN0cmVhbWFibGUgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIElnbm9yZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IHNldHRpbmcgYW5kIGNyZWF0ZSBzdHJlYW1hYmxlCgkgIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIGtub3duIG5vdCB0byBiZSBzZWVrYWJsZSAoYXMgcXVlcmllZAoJICB2aWEgYSBTRUVLQUJMRSBxdWVyeSkuCgkgIEZpeGVzIHBpcGVsaW5lcyBsaWtlIHdlYm1tdXggISBhcHBzaW5rIGNyZWF0aW5nIHNlZW1pbmdseQoJICBjb3JydXB0ZWQgb3V0cHV0IGlmIHN0cmVhbWFibGUgaGFzIG5vdCBiZWVuIHNldCB0byB0cnVlLgoKMjAxMi0wMi0yNCAxMTowMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdXBkYXRlIGZvciBiYXNldHJhbnNmb3JtIGNoYW5nZQoKMjAxMi0wMi0yNCAxMDoyNjoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIGNoYW5nZQoKMjAxMi0wMi0yMyAwODo0MjoyNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS52Y3Byb2o6CgkgIGVmZW5jZTogcmVtb3ZlIHBsdWdpbgoJICBWYWxncmluZCBpcyBtdWNoIG1vcmUgdXNlZnVsIHRoZXNlIGRheXMuCgoyMDEyLTAyLTIzIDEyOjA1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkgIFVwZGF0ZSBORVdTIGFuZCBSRUxFQVNFIGFzIHdlbGwKCjIwMTItMDItMjMgMTE6MDc6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJ1bXAgdmVyc2lvbiBhZnRlciByZWxlYXNlCgoyMDEyLTAyLTIzIDEyOjAzOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJICBhdWRpb2Z4OiByZW1vdmUgdHJhbnNmb3JtIGxvY2sgdXNhZ2UKCjIwMTItMDItMjMgMTE6MTY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdXBkYXRlIGZvciBiYXNldHJhbnNmb3JtIGxvY2sgcmVtb3ZhbAoKMjAxMi0wMi0yMiAyMzozNjo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSAgZGVidWd1dGlsczogZGlzYWJsZSBlZmVuY2UgcGx1Z2luIHByb3Blcmx5CgkgIFdlIGRvbid0IHdhbnQgaXQgYnVpbHQgaWYgbW1hcCBpc24ndCBhdmFpbGFibGUgZWl0aGVyLi4KCjIwMTItMDItMjIgMTc6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggZ2V0X2NhcHMgZnVuY3Rpb24gc29tZSBtb3JlIHNvIHRoYXQgYWxsIHN0cnVjdHVyZXMgaGF2ZSBjaGFubmVsIGluZm8KCSAgU2V0IGNoYW5uZWxzIGFuZCBjaGFubmVsLWxheW91dCBvbiB0aGUgcmlnaHQgc3RydWN0dXJlOyB0aGF0IGlzLCB0aGUKCSAgc3RydWN0dXJlIHdlIGFyZSBnb2luZyB0byBhcHBlbmQgdG8gdGhlIGNhcHMgd2UgYXJlIGJ1aWxkaW5nLCBhbmQgbm90CgkgIHRoZSBzdHJ1Y3R1cmUgd2UgYXJlIHVzaW5nIGFzIGEgdGVtcGxhdGUgZm9yIGFsbCB0aGUgc3RydWN0dXJlcy4gRml4ZXMKCSAgZmlyc3Qgc3RydWN0dXJlIG9mIHRoZSByZXR1cm5lZCBjYXBzIG5vdCBoYXZpbmcgYW55IGNoYW5uZWwgaW5mbyBzZXQKCSAgb24gaXQuCgoyMDEyLTAyLTIyIDE3OjA5OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogbWljcm9vcHRpbWlzYXRpb246IGF2b2lkIHVubmVjZXNzYXJ5IGxpc3QgYW5kIHN0cmluZyBjb3BpZXMKCjIwMTItMDItMjIgMTc6MDM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhdWRpbyBjYXBzIGhhdmUgYSAqbGlzdCogb2YgZm9ybWF0cywgbm90IGFuIGFycmF5IG9mIGZvcm1hdHMKCSAgQSBsaXN0IG9mIHRoaW5ncyBpbiBjYXBzIGlzIHNvbWV0aGluZyB3aGVyZSBvbmUgaXMgcGlja2VkIGluIHRoZQoJICBjb3Vyc2Ugb2YgbmVnb3RpYXRpb24uIEFuIGFycmF5IGlzIGFsd2F5cyBzb21ldGhpbmcgdGhhdCBvbmx5IG1ha2VzCgkgIHNlbnNlIGFzIGEgd2hvbGUgaW4gdGhhdCBvcmRlci4KCjIwMTItMDItMjIgMTg6MDI6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgcG9zdC1wb3J0IGJvZ3VzIF91bnJlZgoKMjAxMi0wMi0yMiAxNzowMDoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBib2d1cyBwYWQgbG9ja2luZyB0aGF0IGNhdXNlcyBkZWFkbG9ja3MKCSAgSXQncyBub3QgY2xlYXIgd2h5IHRoZSBwYWQgb2JqZWN0IGxvY2sgaXMgdGFrZW4gaGVyZS4gQnV0CgkgIGdzdF9wYWRfe2hhcyxnZXR9X2N1cnJlbnRfY2FwcygpIHdpbGwgdHJ5IHRvIHRha2UgdGhlIGxvY2sKCSAgYXMgd2VsbCBhbmQgZGVhZGxvY2ssIHNpbmNlIGl0J3Mgbm90IHJlY3Vyc2l2ZS4KCjIwMTItMDItMjIgMTY6NTk6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBzZXQgcmlnaHQgbnVtYmVyIG9mIGNoYW5uZWxzIG9uIGNhcHMgaW4gZ2V0X2NhcHMgZnVuY3Rpb24KCjIwMTItMDItMjEgMTc6MTY6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbjogYXZvaWQgdG91Y2hpbmcgLnBvIGZpbGVzIGR1cmluZyAnbWFrZScKCSAgQSBzaW1wbGUgd29ya2Fyb3VuZCB0byBkZWFsIHdpdGggR05VIGdldHRleHQgYXV0b21ha2UgaW50ZWdyYXRpb24KCSAgZmFpbGluZyB0byBkZWFsIHdpdGggZ2l0LiAgRml4ZXM6ICM2NjkyMDcKCjIwMTItMDItMjIgMDI6MDY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMi0yMSAxNzo1Nzo0NCArMDEwMCAgVmluY2VudCBVbnR6IDx2dW50ekBnbm9tZS5vcmc+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IEZpeCBhIGJ1aWxkIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBhc3NlcnRzIGRpc2FibGVkCgkgIFJldHVybiBhIHZhbHVlIGV2ZW4gaWYgdGhlIGNvZGUgd2lsbCBuZXZlciBiZSByZWFjaGVkLCB0byBtYWtlIGNvbXBpbGVycwoJICBoYXBweS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDU2MQoKMjAxMi0wMi0yMSAxODo0MjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHN1cHBvcnQgcGFyc2luZyBmcmVlZm9ybSBiaXRyYXRlIHN0cmVhbQoKMjAxMi0wMi0yMSAxODozOToxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkgIG1vbm9zY29wZTogcG9ydCB0byAwLjExCgoyMDEyLTAyLTIxIDEwOjUzOjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0yMCAxMjoyMjoxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBGb3JjZSBiYXNlbGluZSBpcyBwcm9maWxlLWxldmVsLWlkIGlzIHVuc3BlY2lmaWVkCgoyMDEyLTAyLTIxIDEwOjQwOjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBGaXggbWVyZ2UgZXJyb3IKCjIwMTItMDItMjAgMTI6MjI6MTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRm9yY2UgYmFzZWxpbmUgaXMgcHJvZmlsZS1sZXZlbC1pZCBpcyB1bnNwZWNpZmllZAoKMjAxMi0wMi0yMCAxNjozNToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMS0yNiAwMzoyOToyOCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMS0yNiAwNjo1ODo0NiAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAyLTE4IDExOjM4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiBmaXggdXAgbGV2ZWwgdGVzdCBmb3IgR3N0VmFsdWVMaXN0IC0+IEdWYWx1ZUFycmF5IGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMzAzCgoyMDEyLTAyLTE2IDE4OjAxOjI5ICswMjAwICBQZXRlcmlzIEtyaXNqYW5pcyA8cGVjaXNrQGdtYWlsLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogdXNlIEdWYWx1ZUFycmF5IGluc3RlYWQgb2YgR3N0VmFsdWVMaXN0IGluIG1lc3NhZ2VzCgkgIFVwZGF0ZWQgR3N0TGV2ZWwgZWxlbWVudCB0byB1c2UgR1ZhbHVlQXJyYXkgaW5zdGVhZCBvZgoJICBHc3RWYWx1ZUxpc3QgZm9yIHJtcy9wZWFrL2RlY2F5IGtleXMgYXR0YWNoZWQgdG8gZWxlbWVudAoJICBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMzAzCgoyMDEyLTAyLTE4IDAwOjAwOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogYmFjayB0byBkZXZlbG9wbWVudAoKMjAxMi0wMi0xNyAyMzo1NDoyOSArMDEwMCAgRG9taW5pcXVlIExldWVuYmVyZ2VyIDxkb21pbmlxdWUtZ25vbWV6aWxsYSBhdCBsZXVlbmJlcmdlci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIE5vIGxvbmdlciByZWZlcmVuY2UgZGVwcmVjYXRlZCBoZWFkZXIgZmlsZXMgd2hpbGUgYnVpbGRpbmcgZG9jcy4KCjIwMTItMDItMTcgMjM6NDk6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYwoKMjAxMi0wMi0xNyAxNzoyMTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGZpeCBzd2l0Y2hpbmcgZnJvbSBwYXNzdGhyb3VnaCB0byBub24tcGFzc3Rocm91Z2ggd2hlbiBwYXJhbWV0ZXJzIGNoYW5nZQoJICBjb21taXQgYjViZjAyOTQgbW92ZWQgdGhlIGlmKG5lZWRfbmV3X2NvZWZmaWNpZW50cykgc2V0X3Bhc3N0aHJvdWdoKGVxdSkKCSAgYWZ0ZXIgdGhlIGlmKGlzX3Bhc3N0aHJvdWdoKSByZXR1cm4gRkxPV19PSyBzaG9ydGN1dCwgc28gdGhlIHBhc3N0aHJvdWdoCgkgIG1vZGUgd291bGQgbmV2ZXIgZ2V0IHVwZGF0ZWQgZXZlbiBpZiB0aGUgY29lZmZpY2llbnRzIGNoYW5nZS4KCSAgRml4ZXMgZXF1YWxpemVyLXRlc3QgZG9pbmcgLi4gbm90aGluZy4KCjIwMTItMDItMTcgMTc6NTc6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20qOiBmaXggbGVha2VkIGNhcHMgZXZlbnQKCjIwMTItMDItMTcgMTM6MjY6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcGFyc2UgZWl0aGVyIFhpbmcgb3IgVkJSSSBkYXRhCgkgIC4uLiBhbmQgYXZvaWQgY29uZnVzaW5nIGRlYnVnIG1lc3NhZ2UgY2xhaW1pbmcgbmVpdGhlciBwcmVzZW50LgoKMjAxMi0wMi0xNyAxNDozODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrOiBmaXggc2VnbWVudCB1cGRhdGUKCjIwMTItMDItMTcgMTE6MDU6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMSA9PT0KCjIwMTItMDItMTcgMTE6MDQ6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5oOgoJICBSRUxFQVNFIDAuMTEuMQoKMjAxMi0wMi0xNiAyMzozMzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCBidWZmZXIgbGVhawoKMjAxMi0wMi0xNiAyMzo0MDo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDItMTYgMjM6MzM6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogcG9ydCB0byAwLjExCgoyMDEyLTAyLTE2IDE1OjMxOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMi0wMi0xNiAxNToyOTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogcG9ydCB0byAwLjExCgoyMDEyLTAyLTE0IDExOjU2OjAwICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogcG9ydCB0byAwLjExCgkgIFBvcnQgb2YgdGhlIGludGVybGVhdmUgZWxlbWVudCBhbmQgaXRzIHVuaXR0ZXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTY0MwoKMjAxMi0wMi0xNiAxNDoyMzo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDItMTYgMTc6MTQ6MjAgKzA4MDAgIEdhcnkgQ2hpbmctUGFuZyBMaW4gPGNoaW5ncGFuZ0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZhaWx1cmUgdG8gcXVlcnkgc29tZSBvcHRpb25hbCBjb250cm9scyBpcyBub3QgYSBmYXRhbCBlcnJvcgoJICBEb24ndCBwb3N0IGEgKGZhdGFsKSBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMganVzdCBiZWNhdXNlIHdlCgkgIGZhaWxlZCB0byBxdWVyeSBzb21lIGNvbnRyb2wuIEZpeGVzIGlzc3VlIHdpdGggYnVpbHQtaW4KCSAgU3V5aW4gQ29ycCB3ZWJjYW0gZm9yIEhQIG5vdGVib29rICh1c2JpZCAwNjRlOmUyOGEpIG9uCgkgIE9wZW5TdXNlIDEyLjEsIHdoZXJlIHF1ZXJ5aW5nIHJlZC9ibHVlIGJhbGFuY2UgZmFpbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAxOTcKCjIwMTItMDItMTYgMTI6NTk6MTAgKzAwMDAgIFR1dWtrYSBQYXNhbmVuIDx0dXVra2EucGFzYW5lbkBpbG1pLmZpPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBmaXggZm9yIHdlYmNhbXN0dWRpbyB2bG9vcGJhY2sKCSAgQmVjYXVzZSB2bG9vYmFjayBlbWl0cyAyNSAtIEVOT1RUWSBhbmQgbm8gRUlOVkFMIHY0bDJzcmMgdGhvdWdodCBpdAoJICBjYW4ndCBoYW5kbGUgdGhpcyBhbmQgZG9lcyBub3Qgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTQ1NQoKMjAxMi0wMi0xNiAxMToyMToyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jawoJICBJdCdzIGhvdyB3ZSByb2xsLiBGaXhlcyAnSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZScKCSAgY29tcGlsZXIgd2FybmluZy4KCjIwMTItMDItMTUgMjM6NTU6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBmaXggc3BlY3RydW0gZXhhbXBsZSBidWlsZCBpc3N1ZXMKCSAgRmluZCBmZnQgaGVhZGVycyBpbiB1bmluc3RhbGxlZCBzZXR1cCwgZml4IExJQlMgb3JkZXIuCgoyMDEyLTAyLTE1IDEyOjQxOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcmVtb3ZlIHNvbWUgdW51c2VkIGRlY2xhcmF0aW9ucwoKMjAxMi0wMi0xNSAxMToyNTo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICBzcGVjdHJ1bS1kZW1vOiBzaG93IHRoZSBlZmZlY3Qgb2YgZmFzdC1tb2RlCgoyMDEyLTAyLTE0IDEyOjI2OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgYXNwZWN0cmF0aW9jcm9wOiBmaXggY2FwcyByZWZjb3VudAoKMjAxMi0wMi0xNCAxMToyMjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkgIHRlc3RzOiBmaXggdGVzdCwgdXNlIHZpZGVvY29udmVydAoKMjAxMi0wMi0xNCAxMDo1MTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYwoKMjAxMi0wMi0wOSAxMzo0MTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGp1c3QgdG8gbW9kaWZpZWQgYmFzZXBhcnNlIEFQSQoKMjAxMi0wMi0xMyAxNzoxMzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlCgoyMDEyLTAyLTEzIDEyOjA2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICB0ZXN0czogZmxhY3BhcnNlOiBjaGVjayBhbmQgY29tcGFyZSBpbnRlbmRlZCBkYXRhCgoyMDEyLTAyLTEyIDE3OjAzOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2MKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYwoJICBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmgKCjIwMTItMDItMTIgMTY6MjI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlicGx1Z2luLmM6CgkgIHRhZ2xpYjogcG9ydCB0byBHc3RUYWdNdXggYmFzZSBjbGFzcwoKMjAxMi0wMi0xMiAxMjoyNDo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICB0YWdsaWI6IGZpbmlzaCBvZmYgYSBmZXcgbWlzc2VkIHZhcmlhYmxlIGNoYW5nZXMKCSAgTG9jYWwgdmFyaWFibGVzIGFyZSBub3cgdW51c2VkLCBhbmQgdGhlIHZhbHVlcyBmcm9tIHRoZSBzZWdtZW50IGNvcHkKCSAgYXJlIHVzZWQgaW5zdGVhZCwgc28gcmVtb3ZlIHRoZSBub3cgdXNlbGVzcyBsb2NhbCB2YXJpYWJsZXMgYW5kIHdyaXRlCgkgIHRvIHRoZSBzZWdtZW50IHdoZXJlIGFwcHJvcHJpYXRlLgoKMjAxMi0wMi0xMCAxNjoyMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jCgkgIGV4dC9wdWxzZS9wbHVnaW4uYwoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYwoKMjAxMi0wMi0wOCAyMzowMzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYWRkIHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCB0byBoMjY0IHNpbmsgY2FwcwoJICBXZSdyZSBoYXBweSB0byBhY2NlcHQgYm90aCBieXRlLXN0cmVhbSBhbmQgYXZjLCBhZHZlcnRpc2UKCSAgdGhhdCBvbiB0aGUgc2luayBjYXBzIGFuZCBmaXggdXAgX2dldF9jYXBzKCkgZnVuY3Rpb24gdG8KCSAgbm90IGp1c3QgcmV0dXJuICJ2aWRlby94LWgyNjQiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDEyLTAyLTA4IDIwOjU4OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogYWRkIHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCBmaWVsZHMgdG8gc3JjIHRlbXBsYXRlIGNhcHMKCSAgQmVjYXVzZSB3ZSBjYW4uIEFuZCBzbyB3ZSBnZXQgYSB3YXJuaW5nIGlmIHdlIHRyeSB0byBvdXRwdXQgYXZjIHdpdGgKCSAgbmFsIGFsaWdubWVudCBvciBzb21lc3VjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMi0wMi0xMCAxMzo0NDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogY2xlYW4gdXAgcnRwLXBheWxvYWRpbmcgdGVzdCBhIGxpdHRsZQoJICBGZWVkIGRhdGEgaW50byB0aGUgcGlwZWxpbmUgdXNpbmcgYXBwc3JjIGluc3RlYWQgb2YgZmRzcmMgYW5kCgkgIGEgcGlwZS4gU3RvcmUgdW5zaWduZWQgYnl0ZSB2YWx1ZXMgaW4gZ3VpbnQ4IGluc3RlYWQgb2YgY2hhci4KCSAgR2V0dGluZyByaWQgb2YgdGhlIGNhcHNmaWx0ZXIgYWxzbyBoZWxwcyB0byBhdm9pZCAnZm9ybWF0IGlzCgkgIG5vdCBmdWxseSBzcGVjaWZpZWQnIHdhcm5pbmdzIHdoZW4gcHVzaGluZyAidmlkZW8veC1oMjY0IiBkYXRhCgkgIGludG8gcnRwaDI2NHBheSB3aXRoIGZ1bGx5IHNwZWNpZmllZCBoMjY0IGNhcHMgaW4gdGhlIHNpbmsgdGVtcGxhdGUuCgoyMDEyLTAyLTEwIDEwOjA3OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHY6IHVzZSBkZWZhdWx0IHBhZCBxdWVyeQoJICBXZSBuZWVkIHRvIGNoYWluIHVwIHVua25vd24gcXVlcmllcyB0byB0aGUgZGVmYXVsdCBxdWVyeSBoYW5kbGVyIGluc3RlYWQgb2YKCSAgYmxpbmRseSBmb3J3YXJkaW5nIHRoZW0uIEluIHRoaXMgY2FzZSBpdCBjYXVzZWQgdGhlIGNhcHMgcXVlcnkgdG8gYmUgZm9yd2FyZGVkCgkgIHRvIHRoZSB1cHN0cmVhbSB0eXBlZmluZCBhbmQgcmV0dXJuIHRoZSB3cm9uZyB0eXBlIGZvciB0aGUgYXVkaW8vdmlkZW8gcGFkLgoKMjAxMi0wMi0wOSAyMjoxMjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICB0ZXN0czogbXBlZ2F1ZGlvcGFyc2U6IHJlbW92ZSBzdHJheSBkZWNsYXJhdGlvbgoKMjAxMi0wMi0wOSAyMjowNzo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBjb3JyZWN0bHkgc2V0IEFESUYgc3JjIGNhcHMKCjIwMTItMDItMDkgMjI6MTA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcHJldmVudCBhIGZldyBkaXJlY3QgZXhpdHMgd2l0aG91dCBjbGVhbnVwCgoyMDEyLTAyLTA5IDIyOjA3OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc2hpZnQgaW4gcHJvcGVyIGRpcmVjdGlvbiBmb3IgYXVkaW8gc2FtcGxlIGNvbnZlcnNpb24KCjIwMTItMDItMDkgMTg6MDk6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbgoKMjAxMi0wMi0wOSAxMDoxMTo0OCArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogdHlwbyBmaXggKGJ5dGVzIHNlbmQgLT4gYnl0ZXMgc2VudCkKCjIwMTItMDItMDggMTY6MzQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgR1NUX0ZMT1dfV1JPTkdfU1RBVEUgLT4gR1NUX0ZMT1dfRkxVU0hJTkcKCjIwMTItMDItMDggMTY6Mzc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgR1NUX0ZMT1dfV1JPTkdfU1RBVEUgLT4gR1NUX0ZMT1dfRkxVU0hJTkcKCjIwMTItMDItMDcgMTQ6MTA6NDQgLTA4MDAgIFJhbHBoIEdpbGVzIDxnaWxlc0Btb3ppbGxhLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IHNlbmQgdmlkZW8vd2VibSB0aHJvdWdoIGxpYnNob3V0LgoJICBUaGlzIHJlcXVpcmVzIFNIT1VUX0ZPUk1BVF9XRUJNLCBhZGRlZCBpbiBsaWJzaG91dCAyLjMuMCwKCSAgc28gdmlkZW8vd2VibSBzdXBwb3J0IGlzIGNvbnRpbmdlbnQgb24gdGhhdCBzeW1ib2wgYmVpbmcKCSAgZGVmaW5lZC4KCSAgQWxzbyBhbiBpbmRlbnRhdGlvbiBjaGFuZ2UgcmVxdWlyZWQgYnkgdGhlIHByZS1jb21taXQgaG9vay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTU5MAoKMjAxMi0wMS0zMCAxNjo0MDoxOSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBwb3J0IHRvIDAuMTEKCSAgUG9ydCBvZiB0aGUgZGVpbnRlcmxlYXZlIGVsZW1lbnQgYW5kIGl0cyB1bml0dGVzdHMuIFRoZSBpbnRlcmxlYXZlCgkgIGVsZW1lbnQgd2lsbCBiZSBwb3J0ZWQgYXMgcGFydCBvZiBhbm90aGVyIHBhdGNoLCBoZW5jZSBkaXNhYmxpbmcgaXQKCSAgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODg0NwoKMjAxMi0wMi0wNyAyMzo0MToxMyArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGNvbXBpbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjA3CgoyMDEyLTAyLTA4IDAwOjA4OjQ5ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgd2F2ZWZvcm1zaW5rOiBQb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTYxMgoKMjAxMi0wMi0wNyAyMTo1Nzo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiByZXdvcmsgdHJhbnNwb3J0IHN1cHBvcnQKCSAgTW92ZSBjb21tb24gY29kZSB0byBqYWNrY2xpZW50LiBUaGVyZSB3ZSBjYW4gYWxzbyBoYW5kbGUgdGhlIHJlcXVlc3Qgc3RhdGUKCSAgbWVzc2FnZSBpbiBhIGJldHRlciB3YXksIGFzIHRoZSBlbGVtZW50IGNhbGxiYWNrcyBhcmUgb25seSBydW4gaWYgdGhlIGVsZW1lbnQgaXMKCSAgYWN0aXZlLgoKMjAxMi0wMi0wNyAxMDo0NzoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIHRlc3RzOiBpbXByb3ZlIHRhZ211eCB0ZXN0cwoKMjAxMi0wMi0wNyAxMDoyOToxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgIHRhZ2xpYjogZml4IG9iamVjdCByZWdpc3RyYXRpb24KCSAgV2UgY2FuJ3QgdXNlIEdfREVGSU5FX1RZUEUgYmVjYXVzZSB0aGUgY2xhc3MgaXMgbm90IHNldCBpbiB0aGUgY2xhc3NfaW5pdCBhbmQgd2UKCSAgbmVlZCBpdCB0byBnZXQgdGhlIHNyY3BhZCB0ZW1wbGF0ZS4KCSAgRml4IGEgY2FwcyBsZWFrCgoyMDEyLTAyLTA3IDEwOjE2OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJICB0ZXN0czogZml4IGpwZWcgdGVzdAoKMjAxMi0wMi0wNyAxMDoxNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGZpeCBjYXBzCgoyMDEyLTAyLTA3IDA5OjU0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIGVmZmVjdHR2OiBmaXggaW5pdGlhbGlzYXRpb24KCjIwMTItMDItMDcgMDk6NDI6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG06IGZpeCBuZWdvdGlhdGlvbgoKMjAxMi0wMi0wNyAwOTo0MTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMjI6MTM6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHY6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wNiAxODozNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdDogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMTU6NTI6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDE1OjUyOjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IGZpeCBjYXBzCgoyMDEyLTAyLTA2IDE1OjIwOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIGlpcmVxdWFsaXplcjogZml4IGVxdWFsaXplciBhbmQgdW5pdCB0ZXN0CgoyMDEyLTAyLTA2IDEzOjQ0OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSAgdGVzdHM6IGZpeCBzb21lIG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMTM6NDM6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHRha2UgdGhlIHBhZCBmcm9tIGNvbGxlY3RwYWRzMiBjb3JyZWN0bHkKCjIwMTItMDItMDYgMTM6Mjk6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJICB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMi0wMi0wNiAxMzoyODo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICBhdWRpb2R5bmFtaWM6IGZpeCBuZWdvdGlhdGlvbgoKMjAxMi0wMS0yOCAxMToxMzoxNiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgcG9zdGluZyBpbnZhbGlkIGR1cmF0aW9uIGZvciBlYWNoIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY1ODMKCjIwMTItMDItMDYgMTA6MDc6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAwOTo0OTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBpbXByb3ZlIHNvbWUgdGVzdHMKCjIwMTItMDItMDYgMDk6MjM6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGZpeCBqaXR0ZXJidWZmZXIgdGVzdAoKMjAxMi0wMi0wNiAwOToyMzowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCBjYXBzIGFmdGVyIHB0IGNoYW5nZQoKMjAxMi0wMi0wNiAwOToxODoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDItMDMgMjI6MDU6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJICBwdWxzZWF1ZGlvc2luazogTG93ZXIgcmFuayB0byBwcmV2ZW50IGF1dG9wbHVnZ2luZwoJICBwdWxzZWF1ZGlvc2luayBicmVha3MgdmlzdWFsaXNhdGlvbnMgaW4gaXRzIGN1cnJlbnQgZm9ybSwgc28gbGV0J3MKCSAgcHJldmVudCBpdCBmcm9tIGJlaW5nIGF1dG9wbHVnZ2VkIGZvciB0aGUgdGltZSBiZWluZy4KCSAgVGhlIGJlc3Qgd2UgY2FuIGhvcGUgdG8gZG8gaW4gdGhlIDAuMTAgc2VyaWVzIGlzIHF1ZXJ5IHRoZSBsaXN0IG9mCgkgIGF2YWlsYWJsZSBzaW5rcyBhbmQgdGhlaXIgZm9ybWF0cywgYW5kIGV4cG9zZSB0aGVzZSBhcyB0aGUgYmluJ3Mgc2lua3BhZAoJICBjYXBzLiBXaGlsZSB0aGlzIGlzIG5vdCBhIGNvbXByZWhlbnNpdmUgc29sdXRpb24sIGl0IHdpbGwgbWFrZSBzdXJlIHRoYXQKCSAgd2UncmUgb25seSB0cnlpbmcgdG8gc3VwcG9ydCBjb21wcmVzc2VkIGZvcm1hdHMgaWYgd2UncmUgY2VydGFpbiB0aGF0CgkgIG9uZSBleGlzdHMuCgkgIFRoZSBsb25nLXRlcm0gZml4IGZvciB0aGlzIHdpbGwgYmUgaW4gdGhlIGZvcm0gb2YgcHJvcGVyIHVwc3RyZWFtCgkgIHJlbmVnb3RpYXRpb24gc3VwcG9ydCBpbiB0aGUgMC4xMS8xLjAgc2VyaWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2MzYxCgoyMDEyLTAyLTAzIDE3OjIzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDMgMTY6MTM6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGZpeCBzb21lIG1vcmUgdGVzdHMKCjIwMTItMDItMDMgMTY6MTI6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggc3JjcGFkIGNhcHMgaGFuZGxpbmcKCjIwMTItMDItMDMgMTY6MTI6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGNtbWxlbmM6IGZpeCBjYXBzIGhhbmRsaW5nCgoyMDEyLTAyLTAzIDE0OjUzOjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IGV2ZW50IGxlYWsgd2hlbiB0aGVyZSBpcyBubyBwZWVyIG9uIHRoZSBzcmMgcGFkCgoyMDEyLTAyLTAyIDE2OjIxOjI5ICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDEyLTAyLTAyIDEyOjI3OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogc3BlY2lmeSB3ZSBvbmx5IGFjY2VwdCByYXcgQUFDIGluIHRlbXBsYXRlIGNhcHMKCSAgTm8gaGVhZGVyIHNlZW1zIHRvIGJlIGFkZGVkLCBhbmQgdGhlIGNvZGVjIElEIGlzIHRoZSBzYW1lIGFzIHVzZWQKCSAgZm9yIHJhdyBieSBmbHZkZW11eCwgc28gcmF3IHNlZW1zIHRoZSBvbmx5IHN1cHBvcnRlZCBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDEyOjI1OjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNwZWNpZnkgd2Ugb25seSBvdXRwdXQgcmF3IEFBQyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDEgMTg6MDE6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICB0YWdsaWI6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wMSAxNjo0MDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBpZ25vcmUgR1ZhbHVlQXJyYXkgZGVwcmVjYXRpb24gd2FybmluZ3MgZm9yIHRoZSB0aW1lIGJlaW5nCgkgIHVudGlsIHRoaXMgZ2V0cyBzb3J0ZWQgb3V0IHdpdGggdGhlIEdMaWIgZm9sa3MgYW5kIHdlIGhhdmUgYQoJICB2aWFibGUgYWx0ZXJuYXRpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjgKCjIwMTItMDItMDEgMTY6MzY6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSAgcHVsc2U6IGRpc2FibGUgc29tZSB1bnVzZWQgcHJvcGVydHkgcHJvYmUgY29kZQoJICB3aGljaCB3YXMgdXNpbmcgR1ZhbHVlQXJyYXkKCjIwMTItMDItMDEgMTY6MjA6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZW1wMmVuYy5jOgoJICB0d29sYW1lOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjA6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MTE6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogVXNlIG5ldyBhdWRpbyBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzcyBBUEkgZm9yIHNyY3BhZCBjYXBzCgoyMDEyLTAyLTAxIDE2OjA1OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDEtMzEgMTU6Mzk6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAxLTMwIDE0OjUyOjM3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBydHBtcDJ0cGF5OiBkbyBub3QgdHJ5IHRvIGZsdXNoIGEgcGFja2V0IHdoZW4gbm8gZGF0YSBpcyBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODg3NAoKMjAxMi0wMS0zMSAxMzo0MTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogdXBkYXRlIHNvbWUgdGVzdHMgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAxLTMxIDEyOjIyOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sLXNvdXJjZSB0eXBlIGNoYW5nZXMKCjIwMTItMDEtMzAgMjE6Mzk6MzQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHJlbmFtZSBjb250cm9sLWJpbmRpbmdzCgkgIGdzdF9jb250cm9sX2JpbmRpbmdfeHh4IC0+IGdzdF94eHhfY29udHJvbF9iaW5kaW5nIGZvciBjb25zaXN0ZW5jeS4KCjIwMTItMDEtMzAgMTc6MTY6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICB1cGRhdGUgZm9yIEhFQURFUiBmbGFnCgoyMDEwLTA2LTExIDA4OjM2OjMzICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogRXhjbHVkZSBOQUx1IHNpemUgZnJvbSBwYXlsb2FkIGxlbmd0aCBvbiB0cnVuY2F0ZWQgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg0NgoKMjAxMi0wMS0yOCAyMzozNTo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgb2Jzb2xldGUgdmFyaWFibGUsIHNldCBidXQgbm90IHVzZWQKCSAgUmVwb3J0ZWQgYnkgYW5kcmVkaWViIG9uICNnc3RyZWFtZXIuCgoyMDEyLTAxLTI4IDEzOjA1OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogYXZvaWQgd3JhcHBpbmcgb3BhcXVlIHRvIHRyYW5zcGFyZW50CgoyMDEyLTAxLTI4IDEyOjM1OjEzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvIG5vdCBmcmVlIG1lbW9yeSB0d2ljZQoJICBBIHJlY2VudCBjaGFuZ2UgdG8gZml4IGxlYWtpbmcgY29kZWMgSUQgc3RyaW5nIGFjY2lkZW50YWxseSBjYXVzZWQKCSAgb25lIG9mIHRoZSB2ZXJ5IGZldyBwbGFjZXMgdGhhdCB3ZXJlbid0IGxlYWtpbmcgdG8gbm93IGZyZWUgdHdpY2UuCgoyMDEyLTAxLTI3IDE2OjI3OjQ5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJICBhbGF3ZGVjOiBFYWNoIG91dHB1dCBzYW1wbGUgaXMgMiBieXRlcwoKMjAxMi0wMS0yNyAxMjoxNDo0OSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERvbid0IGxlYWsgY2FwcyBldmVudCB3aGVuIG5vdCBwdXNoaW5nCgoyMDEyLTAxLTI3IDEyOjA0OjUzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBGb3J3YXJkIHN0aWNreSBldmVudHMKCjIwMTItMDEtMjcgMTI6MDQ6MDUgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IFByb3RlY3QgYWxsIHVzZXMgcGFkIGxpc3Qgd2l0aCBPQkpFQ1QgTE9DSwoJICBBY3R1YWxseSBwcm90ZWN0IHRoZSBlbnRpcmUgcGFkIGxpc3QgYW5kIHVzZSBpdCBpbiBhIHRocmVhZCBzYWZlCgkgIHdheS4KCjIwMTItMDEtMjcgMTI6MDI6MjUgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBGb3J3YXJkIHN0aWNreSBldmVudHMgdG8gbmV3IHBhZHMKCjIwMTItMDEtMjcgMTI6MDE6NDAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBBZGQgc3NyYyB0byBmb3J3YXJkZWQgQ0FQUyBldmVudHMKCSAgQWxzbyBpdGVyYXRlIHRoZSBsaXN0IG9mIEdzdFJ0cFNzcmNEZW11eFBhZCBzYWZlbHkKCjIwMTItMDEtMjcgMTE6NTk6MDggKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2NkZW11eDogRmFjdG9yIG91dCBnZXR0aW5nIGRwYWQgYnkgcGFkCgoyMDEyLTAxLTI2IDE4OjM1OjQ4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBLZWVwIHRoZSBidWZmZXIgbWFwcGVkIHdoaWxlIGl0IGlzIGJlaW5nIG1vZGlmaWVkCgoyMDEyLTAxLTI2IDE4OjM1OjI3ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzZXNzaW9uOiBJbml0aWFsaXNlIHRoZSBhZGRyZXNzIHBvaW50ZXIgdG8gTlVMTAoKMjAxMi0wMS0yNyAxMjowNzo0MyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogVXNlIG5ldy1zdHlsZSBjYXBzCgoyMDEyLTAxLTI3IDE2OjM3OjE5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWNzb3VuZHNpbms6IFBvcnQgZWxlbWVudCB0byAwLjExCgoyMDEyLTAxLTI2IDE5OjQ4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IHJlbW92ZSBwYWQgZXZlbnQgZnVuY3Rpb24KCSAgV2UgdXNlIHRoZSBvbmUgZnJvbSBjb2xsZWN0cGFkcwoKMjAxMi0wMS0yNiAxODoyNjowMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDUzMjYxMjYxMTIwYjRjMDA4ZGU2MTY5MWM3MGU5NDM1NGIyODAwNGEuCgkgIFRoZSBHc3REYXRlVGltZS0+R0RhdGVUaW1lIGNoYW5nZSBpbiBjb3JlIHdhcyBhcHBhcmVudGx5IGFjY2lkZW50YWwsCgkgIGFuZCBpcyBub3cgcmV2ZXJ0ZWQuCgoyMDEyLTAxLTI2IDE4OjI1OjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUmV2ZXJ0ICJhdmlkZW11eDogZml4IEdzdERhdGVUaW1lL0dEYXRlVGltZSBtaXh1cCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhY2M5ZjE1MDk2OGIyNWM1YWU1YTY5NDBiMzRhZDJkNTFiMTc0ZmQyLgoJICBUaGUgR3N0RGF0ZVRpbWUtPkdEYXRlVGltZSBjaGFuZ2UgaW4gY29yZSB3YXMgYXBwYXJlbnRseSBhY2NpZGVudGFsLAoJICBhbmQgaXMgbm93IHJldmVydGVkLgoKMjAxMi0wMS0yNiAxNzo1MDozMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwCgkgIFRoaXMgaXMgYSBibGluZCBmaXggdG8gbWF0Y2ggdGhlIG9uZSBJIGp1c3QgbWFkZSB0byBxdGRlbXV4LAoJICBhcyBJIGRvIG5vdCBoYXZlIGFuIEFWSSBmaWxlIHdoZXJlIHRoZSBjb2RlIGdldHMgZXhlY3V0ZWQuCgoyMDEyLTAxLTI2IDE3OjQ3OjI5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwCgoyMDEyLTAxLTI2IDE4OjUxOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogbW9yZSBmaXhlcwoKMjAxMi0wMS0yNiAxODo0MzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IG1ha2UgdmlkZW9taXhlciB3b3JrIHNvbWV3aGF0CgoyMDEyLTAxLTI2IDE4OjE1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBwb3J0IHRvIDAuMTEKCSAgSXQgYnVpbGRzIGFuZCBnc3QtaW5zcGVjdC0wLjExIHdvcmtzLi4gb3RoZXJ3aXNlIHVudGVzdGVkCgoyMDEyLTAxLTI2IDE1OjQ4OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICBkeW51ZHBzaW5rOiBmaXggZ2V0LXN0YXRzIHNpZ25hbCByZWdpc3RyYXRpb24gc29tZSBtb3JlCgoyMDEyLTAxLTI2IDE1OjQ2OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIFJldmVydCAidWRwOiBtYXJrIGFjdGlvbiBzaWduYWxzIGFzIFJVTl9GSVJTVCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1YzgzMDg1OTkxMjlkOWUxNjA2ZWVkYjJkMzU0MzYxNzY1OGRjMzA2LgoKMjAxMi0wMS0yNiAxNTozOTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IG1hcmsgYWN0aW9uIHNpZ25hbHMgYXMgUlVOX0ZJUlNUCgoyMDEyLTAxLTI2IDE1OjM3OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICB1ZHA6IG1hcmsgImdldC1zdGF0cyIgYXMgYWN0aW9uIHNpZ25hbAoKMjAxMi0wMS0yNiAxNTozMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogZml4IGdldC1zdGF0cyBhY3Rpb24gc2lnbmFsIHJlZ2lzdHJhdGlvbgoJICBJdCByZXR1cm5zIGEgR3N0U3RydWN0dXJlIG5vdywgbm90IGEgR1ZhbHVlQXJyYXkKCjIwMTItMDEtMjYgMTY6MDU6MzQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHByaW50IGZvcm1hdAoKMjAxMi0wMS0yNiAxMTo1MDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogRml4IHNpemUgb2Ygb3V0cHV0IGJ1ZmZlcnMKCjIwMTItMDEtMjYgMTE6MzM6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbmNsdWRlIHJpZ2h0IGNvbGxlY3RwYWRzIHZlcnNpb24KCjIwMTItMDEtMjYgMTE6Mjk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFByb3Blcmx5IHVzZSB0aGUgYWxpZ25tZW50IHBhcmFtZXRlciBvZiBnc3RfYnVmZmVyX25ld19hbGxvY2F0ZSgpCgkgIEl0J3MgYSBiaXRtYXNrIGZvciB0aGUgYWxpZ25tZW50LCBub3QgdGhlIGFsaWdubWVudCBpdHNlbGYuCgoyMDEyLTAxLTI2IDExOjE4OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBQcm9wZXJseSB1bm1hcCBXUklURSBtYXBzIG9mIHRoZSBvdXRwdXQgYnVmZmVycwoKMjAxMi0wMS0yNiAxMDo0NDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogVXBkYXRlIGZvciB0aGUgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6NDA6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXBkYXRlIGZvciB0aGUgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6Mzc6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXBkYXRlIGZvciB0aGUgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6Mjg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBVcGRhdGUgZm9yIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI2IDEwOjI3OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogVXBkYXRlIGZvciBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNSAxODo0MTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBPbmx5IGZvcndhcmQgdGhlIGV2ZW50IHdoZW4gd2UgZGlkbid0IGhhbmRsZSBpdCBvdXJzZWx2ZXMKCjIwMTItMDEtMjUgMTg6NDA6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyOiBzb21lIG1vcmUgcG9ydGluZwoKMjAxMi0wMS0yNSAxODowMDo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkgIHZpZGVvbWl4ZXI6IHBvcnQgYmxlbmQgZnVuY3Rpb24KCjIwMTItMDEtMjUgMTY6NTg6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHY6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCSAgKG9yIHJhdGhlciBjaXJjdW12ZW50IGlzc3VlcyB3aXRoIG5haXZlIGNvbXBpbGVycyAuLi4pCgoyMDEyLTAxLTI1IDE1OjIxOjQ0ICswMDAwICBKYXlha3Jpc2huYW4gTSA8amF5LmtyaXNobmFubUBnbWFpbC5jb20+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGNhaXJvOiBmaXggYnVpbGQsIG1ha2Ugc3VyZSBsaWJnc3R2aWRlbyBjYW4gYmUgZm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODY0OAoKMjAxMi0wMS0yNSAxNDo1MDo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMzoxOToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBkb24ndCBwcmV0ZW5kIG91ciByYW5kb20gaG9zdG5hbWVzIGFyZSBmdWxseS1xdWFsaWZpZWQgZG9tYWluIG5hbWVzCgoyMDEyLTAxLTI1IDEzOjQ3OjMwICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNDYzYmMwIHRvIDdmZGE1MjQKCjIwMTItMDEtMjUgMTI6NDk6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICcwLjExJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZCBpbnRvIDAuMTEKCjIwMTItMDEtMjUgMTI6NDk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoJICBleHQvanBlZy9nc3RqcGVnZW5jLmMKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYwoKMjAxMi0wMS0yNSAxMjo0MTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZzogcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMjo0MTozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNCAxNDozODo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBtb3JlIG1lbW9yeSBBUEkgcG9ydGluZwoKMjAxMi0wMS0yMyAxNzoyNTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMDc6MjQ6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkgIHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMDc6MjQ6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTE6MjE6NTAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxMTozODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDJhNTkwMTYgdG8gYzQ2M2JjMAoKMjAxMi0wMS0yNCAxODoyNDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGRpc2FibHkgc25hcHNob3QgYmVoYXZpb3VyIGJ5IGRlZmF1bHQKCSAgLi4uIHNpbmNlIHN1Y2ggYmVoYXZpb3VyIGlzIG5vdCBjb25zaXN0ZW50LCBpZiBhbGxvd2FibGUgYXQgYWxsLgoKMjAxMi0wMS0yNCAxODoyMzoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIHBuZ2RlYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI0IDE4OjIxOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI0IDE0OjUzOjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHN0cmluZyBsZWFrCgoyMDEyLTAxLTI0IDE0OjUyOjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHVzZSBvZiBmcmVlZCBtZW1vcnkKCjIwMTEtMTItMDEgMTU6NDk6NDAgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgRG9uJ3QgY3Jhc2ggb24gZW1wdHkgbGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTIyNAoKMjAxMi0wMS0yMyAxMzoxNTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBkb24ndCByZXZlYWwgdGhlIHVzZXIncyB1c2VybmFtZSwgaG9zdG5hbWUgb3IgcmVhbCBuYW1lIGJ5IGRlZmF1bHQKCSAgU2VuZCBhIHJhbmRvbWx5IG1hZGUtdXAgdXNlckBob3N0bmFtZSBhcyBDTkFNRSBhbmQgZG9uJ3QKCSAgc2VuZCBhIE5BTUUgYXQgYWxsIGJ5IGRlZmF1bHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgzMjAKCjIwMTItMDEtMjEgMjA6MDc6NTYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IG1vdmUgZnJvbSBjb250cm9sLWJpbmRpbmcgdG8gY29udHJvbC1iaW5kaW5nLWRpcmVjdAoKMjAxMi0wMS0yMiAyMzozMToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIEFQSQoKMjAxMi0wMS0yMiAyMzoxNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgVXNlIG5ldyBHTGliIEFQSSB1bmNvbmRpdGlvbmFsbHkKCjIwMTItMDEtMjAgMTc6MDY6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzaW1wbGlmeSBpbnRlcm5hbCBzcmMgZXZlbnQgZGVidWcgbG9nZ2luZwoJICAuLi4gd2hpY2ggYXZvaWRzIGFsbW9zdCBzdXBlcmZsdW91cyBvYnRhaW5pbmcgb2YgcnRzcCBlbGVtZW50LgoKMjAxMi0wMS0yMCAxNzowMzo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIE5VTEwgc3RyaW5nIGNvbXBhcmlzb24KCjIwMTItMDEtMjAgMTc6MDM6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYXJyYW5nZSBmb3IgaW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEyLTAxLTIwIDE3OjAyOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogcHJldmVudCBvdXQtb2YtYm91bmQgYXJyYXkgYWNjZXNzCgoyMDEyLTAxLTIwIDE3OjAxOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBpc29tcDQ6IHJlY292ZXJ5OiBhZGQgc2FuaXR5IGNoZWNrCgkgIC4uLiBvbiBwb3NzaWJseSBib2d1cy9jb3JydXB0IGlucHV0IGRhdGEuCgoyMDEyLTAxLTIwIDE3OjAwOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IHJlbW92ZSBkZWFkIGNvZGUKCjIwMTItMDEtMjAgMTY6NTg6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiByZW1vdmUgcmVkdW5kYW50IHZhcmlhYmxlCgoyMDEyLTAxLTIwIDE2OjU3OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGFyaXRobWV0aWMgZm9yIHVuc2lnbmVkIGNvbXBhcmlzb24KCjIwMTItMDEtMjAgMTY6NTU6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBhZGQgdmFyaW91cyBtaXNzaW5nIGJyZWFrCgoyMDEyLTAxLTIwIDE2OjU0OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHR3ZWFrIERFRkFVTFQgZm9ybWF0IGR1cmF0aW9uIHF1ZXJ5IHJlc3BvbnNlCgoyMDEyLTAxLTIwIDE2OjQ5OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IHJlbW92ZSByZWR1bmRhbnQgc3RhdGVtZW50CgoyMDEyLTAxLTIwIDE2OjQ4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaW1wcm92ZSB1cHN0cmVhbSBwZWVyIGR1cmF0aW9uIHF1ZXJ5aW5nCgkgIC4uLiB0byBhdm9pZCBhY2NlcHRpbmcgdW5oYW5kbGVkIGR1cmF0aW9uIHF1ZXJ5IHJlc3VsdC4KCjIwMTItMDEtMjAgMTY6NDc6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBhZGRpdGlvbmFsIGVycm9yIGNvbmRpdGlvbiBjaGVja2luZwoKMjAxMi0wMS0yMCAxNjo0NjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkaXRpb25hbCBlcnJvciBjb25kaXRpb24gY2hlY2tpbmcKCjIwMTItMDEtMjAgMTY6NDQ6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBjaGVjayBfYWxsb2NfYnVmZmVyIHJlc3VsdCBhbmQgcGVyZm9ybSBmYWxsYmFjayBhbGxvYyBpZiBuZWVkZWQKCSAgLi4uIHJhdGhlciB0aGFuIGNhcnJ5aW5nIG9uIHdpdGggTlVMTCBidWZmZXIuCgoyMDEyLTAxLTIwIDE0OjQ1OjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sIGJpbmRpbmcgY2hhbmdlcwoKMjAxMi0wMS0yMCAxMTozNzozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbGxlciBhcGkgY2hhbmdlcwoJICBEb24ndCB1c2UgdGhlIGNvbnZlbmllbmNlIGFwaSBmb3IgY29udHJvbCBzb3VyY2VzLgoKMjAxMi0wMS0xOSAxNDoyNDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC0tZGlzYWJsZS1mYXRhbC13YXJuaW5ncyBjb25maWd1cmUgb3B0aW9uCgoyMDEyLTAxLTE5IDEyOjQ0OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBBUEkKCjIwMTItMDEtMTkgMTE6MzM6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgcG9ydCB0byBuZXcgZ3RocmVhZCBBUEkKCjIwMTItMDEtMTggMTY6NTg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBHSU8gY2hlY2ssIHRoaXMgaXMgaW4gZ3N0LWdsaWIyLm00IG5vdwoKMjAxMi0wMS0xOCAxNjo0NjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA4MDcxODcgdG8gMmE1OTAxNgoKMjAxMi0wMS0xOCAxNjoxNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBHTGliIDIuMzEuMTAgYW5kIGltcHJvdmUgR0lPIGNoZWNrCgoyMDEyLTAxLTE3IDE2OjU4OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogUmVtb3ZlIHVubmVlZGVkIHNvY2tldC5oIGluY2x1ZGUKCjIwMTItMDEtMTcgMTY6NTM6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICBjb25maWd1cmU6IFJlbW92ZSBzb2NrZXQvd2luc29jayBzcGVjaWZpYyBjaGVja3MKCSAgTm90IG5lY2Vzc2FyeSBhbnltb3JlLgoKMjAxMi0wMS0xNyAxNjo0OToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVcGRhdGUgZm9yIHRoZSBuZXcgR0lPIHZlcnNpb25zIG9mIHRoZSB1ZHAgZWxlbWVudHMKCjIwMTItMDEtMTcgMTM6MDg6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDExOjE5OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdJTyAyLjMxLjEwCgoyMDEyLTAxLTE3IDExOjE4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IFJlbW92ZSBub3cgdW5lY2Vzc2FyeSBjb2RlCgoyMDEyLTAxLTE3IDExOjE4OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgdWRwc2luay9tdWx0aXVkcHNpbms6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDA5OjM4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZHludWRwc2luazogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMDk6MzI6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICBkeW51ZHBzaW5rOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAwOTowMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE2IDE3OjUxOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIGN1dHRlcjogZml4IGxlYWsgb2YgdW51c2VkIEdWYWx1ZQoKMjAxMi0wMS0xNiAxNjoxMDowOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIHRlc3RzOiBmaXggYXV0b2RldGVjdCB0ZXN0IG5vdCB0ZXN0aW5nIGNvcnJlY3RseSBmb3Igc3RhdGUgY2hhbmdlIHN1Y2Nlc3MKCSAgU3RhdGUgY2hhbmdlIHRvIFBBVVNFRCBjYW4gYmUgZG9uZSBhc3luYywgc28gaWYgdGhpcyBoYXBwZW5zLCB3ZSBuZWVkCgkgIHRvIHdhaXQgZm9yIHRoZSBjaGFuZ2UgdG8gYmUgZG9uZSAob3IgZmFpbGVkKS4KCjIwMTItMDEtMTYgMTU6NDI6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xNiAxMjoxMzo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IG1ha2UgaW50ZXJsYWNlZG5lc3MgdGVzdCBkZXRlcm1pbmlzdGljCgkgIElmIHRoZSBpbnRlcmxhY2VkIGZsYWcgaXMgbm90IHByZXNlbnQgaW4gdGhlIGNhcHMsIHdlIGFzc3VtZSB0aGUKCSAgZGF0YSBpcyBub3QgaW50ZXJsYWNlZCwgaW5zdGVhZCBvZiBsZWF2aW5nIHRoZSBib29sZWFuIHVuaW5pdGlhbGl6ZWQuCgoyMDEyLTAxLTEzIDE4OjEyOjA1IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbWF0cm9za2E6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTUKCjIwMTItMDEtMTMgMTg6MTE6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBmaXggd3JvbmcgZXJyb3IgY2hlY2sKCSAgcGFfc3RyZWFtXyogZnVuY3Rpb25zIHJldHVybiBuZWdhdGl2ZSBvbiBlcnJvciwgZGVzcGl0ZSB0aGUgZGVmaW5lcwoJICBmb3IgZXJyb3IgY29kZXMgYmVpbmcgcG9zaXRpdmUuCgkgIEkgb25seSBnb3QgdG8gcmVwcm8gdGhlIGVycm9yIHR3aWNlLCBzbyBJJ20gbm90IHN1cmUgMTAwJSBzdXJlIHRoaXMKCSAgZml4ZXMgdGhlIGlzc3VlICh0aGUgbmVnYXRpdmUgdmFyIGJlaW5nIHVuaW5pdGlhbGl6ZWQgYWZ0ZXIgcmV0dXJuaW5nCgkgIGZyb20gcGFfc3RyZWFtX2dldF9sYXRlbmN5KS4KCjIwMTItMDEtMTMgMTc6NDM6NDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIG9zczQ6IGZpeCBjYXBzIGxlYWtzCgoyMDEyLTAxLTEzIDE3OjI1OjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMyAxNTo1NzoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IGZpeCBjYXBzIGxlYWsgaW4gdmlkZW90ZXN0c3JjIHRlc3QKCjIwMTItMDEtMTMgMTI6NTA6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBjbGVhbiB1cCBvYnNvbGV0ZSBjbG9zaW5nIHNlZ21lbnQgaGFuZGxpbmcKCjIwMTItMDEtMTMgMTA6MzI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBwbHVnIHBhZCBsZWFrIGluIGVycm9yIGNvZGUgcGF0aAoJICBCYXNlZCBvbiBwYXRjaCBieTogU3RpZyBTYW5kbmVzIDxzdGlnLnNhbmRuZXNAY2lzY28uY29tPgoJICBEb24ndCBsZWFrIHNyY3BhZCBpZiB0aGVyZSBhcmUgbm8gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgyMAoKMjAxMS0xMC0wNCAxMDowMDowMiArMDIwMCAgU3RpZyBTYW5kbmVzIDxzdGlnc2FuZEBjaXNjby5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW86IEZpeCBsZWFrIG9mIE5TT3BlbkdMUGl4ZWxGb3JtYXQgb2JqZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MTgKCjIwMTEtMDktMDUgMTA6NDM6MTkgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRG9uJ3QgYXNzZXJ0IHdoZW4gdGhlIGludGVyZmFjZSBpcyBub3QgaW1wbGVtZW50ZWQuCgkgIFNpbXBseSByZXR1cm4gRkFMU0UgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxNwoKMjAxMi0wMS0xMiAwMDoxODozOSArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgd2F2ZWZvcm1zaW5rOiBGaXggbWluZ3cgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzcxOQoKMjAxMi0wMS0xMiAyMzo1NTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIEdTVF9UWVBFX0RBVEUgLT4gR19UWVBFX0RBVEUKCjIwMTItMDEtMTIgMjM6NDg6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgZXFNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jCgoyMDEyLTAxLTEyIDE4OjIzOjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBnc3RydHBzc3JjZGVtdXg6IGZpeCBlbGVtZW50IGxlYWsKCjIwMTItMDEtMTIgMTQ6MTk6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBkbyBub3QgbGVhayBhdHRhY2htZW50IGJ1ZmZlcnMKCjIwMTItMDEtMTIgMTM6MTc6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVtb3ZlIG9ic29sZXRlIEZJWE1FIGNvbW1lbnRzCgoyMDEyLTAxLTEyIDEwOjMwOjExICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZG8gbm90IGRyb3AgdGhlIGZpcnN0IGRhdGEgYnVmZmVyIG9uIHRoZSBmbG9vciAoYW5kIGxlYWsgaXQgZWl0aGVyKQoKMjAxMi0wMS0xMiAxMTowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9mbHYvZ3N0bWVtaW5kZXguYzoKCSAgZmx2ZGVtdXg6IGFkZCBwcmVmaXggdG8gbG9jYWwgR3N0SW5kZXggcmVsYXRlZCBjb3BpZXMKCSAgLi4uIHRvIGF2b2lkIGR1cGxpY2F0ZSB0eXBlIG5hbWVzIHdpdGggb3RoZXIgc3VjaCBsb2NhbCBjb3BpZXMgaW4gdGhlIHdpbGQuCgoyMDEyLTAxLTEyIDExOjA3OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGFjdGl2YXRlIHBhZCBiZWZvcmUgc2V0dGluZyBjYXBzCgkgIC4uLiByYXRoZXIgdGhhbiB0aGUgdXN1YWwgMC4xMCBvdGhlciB3YXkgYXJvdW5kLgoJICBGaXhlcyAjNjY3NTU4LgoKMjAxMi0wMS0xMSAxODo0NTozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIFRlbXBvcmFyaWx5IGRpc2FibGluZyBtdWx0aWZpbGUgZm9yIHRoZSBBbmRyb2lkIGJ1aWxkCgkgIFRoZXJlIGlzIGEgaGFyZCBkZXBlbmRlbmN5IG9uIGlub3RpZnkgY29tbWluZyBmcm9tIGdpby4gV2UKCSAgYXJlIG5vdCBjdXJyZW50bHkgYnVuZGxpbmcgaW5vdGlmeSB3aXRoIHRoZSBBbmRyb2lkIGRpc3Qgc28KCSAgSSdtIGRpc2FibGluZyBtdWx0aWZpbGUgZm9yIG5vdyB1bnRpbCBzb21lb25lIGdldHMgYXJvdW5kCgkgIHRvIHNvcnQgdGhpcyBvdXQuCgkgIFRoaXMgY2hhbmdlIGZpeGVzIGJ1aWxkaW5nIG9uIEFuZHJvaWQKCjIwMTAtMTAtMjAgMDI6MTc6NDMgLTA3MDAgIExlbyBTaW5nZXIgPGxlby5zaW5nZXJAbGlnby5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IFVzZSBtb3N0IGNvbW1vbiBjb252ZW50aW9uIGZvciBkZWZpbml0aW9ucyBvZiBJSVIgZmlsdGVyIGNvZWZmaWNpZW50cy4KCSAgTW9zdCBzaWduYWwgcHJvY2Vzc2luZyB0ZXh0cywgaW5jbHVkaW5nIE1BVExBQiwgdXNlIHRoZSBmb2xsb3dpbmcgY29udmVudGlvbiBmb3IgSUlSIGZpbHRlciBjb2VmZmljaWVudHM6CgkgIGFfMCB5W25dICsgYV8xIHlbbi0xXSArIC4uLiArIGFfTSB5W24tTV0gPSBiXzAgeFtuXSArIGJfMSB4W24tMV0gKyAuLi4gKyBiW05dIHhbbi1OXQoJICBVc3VhbGx5LCBhXzAgaXMgc2V0IHRvIDEgYmVjYXVzZSB0aGUgY29lZmZpY2llbnRzIGNhbiBhbHdheXMgYmUgcmVzY2FsZWQsIGdpdmluZwoJICB5W25dID0gYl8wIHhbbl0gKyBiXzEgeFtuLTFdICsgLi4uICsgYltOXSB4W24tTl0gLSBhXzEgeVtuLTFdIC0gLi4uIC0gYV9NIHlbbi1NXQoJICBUaGUgY29udmVudGlvbiB0aGF0IHdhcyBwcmV2aW91c2x5IHVzZWQgYnkgYXVkaW9meGJhc2VpaXJmaWx0ZXIgYW5kIGRlcml2ZWQgY2xhc3MgaGFkIHRoZSBhIGFuZCBiIGNvZWZmaWNpZW50cyBzd2FwcGVkLCBhbmQgZGlkIG5vdCBoYXZlIHRoZSBtaW51cyBzaWducy4KCSAgVGhpcyBjaGFuZ2UgbWFrZXMgdGhlIGF1ZGlvZnggcGx1Z2luIHVzZSB0aGUgbW9yZSBjb21tb24gY29udmVudGlvbiBkZXNjcmliZWQgYWJvdmUuCgoyMDEyLTAxLTExIDE0OjQ3OjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZCBhIHRyYW5zcG9ydCBtb2RlIGVudW0KCSAgQ2xpZW50cyBjYW4gY29uZmlndXJlIHRoZSBkZXNpcmVkIGJlaGF2aW91ciB2aWEgInRyYW5zcG9ydCIgcHJvcGVydHkuIFRoZQoJICBkZWZhdWx0IGJlaGF2aW91ciBpcyBpZ25vcmluZyB0aGUgdHJhbnNwb3J0IHN0YXRlLiBPdGhlciBtb2RlcyBhcmUgbWFzdGVyIGFuZAoJICBzbGF2ZS4KCjIwMTItMDEtMTEgMTQ6MTA6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBidWZmZXIgaGFuZGxpbmcKCSAgc291cGh0dHBzcmMgaXMgbm93IHVzYWJsZSBhZ2FpbiBhbmQgZG9lc24ndCBjcmFzaCBhbnltb3JlCgkgIHdoZW5ldmVyIHNvbWV0aGluZyBpcyByZWFkIGZyb20gYSBIVFRQIGNvbm5lY3Rpb24uCgoyMDEyLTAxLTExIDAxOjQ1OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGZpeCB3YXZlbmMgdGVzdCBvbiBiaWcgZW5kaWFuCgkgIHdhdmVuYyBvbmx5IGFjY2VwdHMgbGl0dGxlLWVuZGlhbiBQQ00sIGJ1dCBtb3N0IG9mIG91cgoJICBlbGVtZW50cyBzdWNoIGFzIGF1ZGlvdGVzdHNyYyBvbmx5IHByb2R1Y2Ugb3IgcHJvY2VzcwoJICBhdWRpbyBpbiBuYXRpdmUgZW5kaWFubmVzcywgc28gd2UgbmVlZCB0byBwbHVnIGEKCSAgY29udmVydGVyIGJlZm9yZSB3YXZlbmMgb24gYmlnIGVuZGlhbiBzeXN0ZW1zLgoKMjAxMi0wMS0xMCAyMzowMjo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRlYWN0aXZhdGUgdGhlIHJlcXVlc3Rfc3RhdGUgY29kZQoJICBXaGVuIHFqYWNrY3RsIGlzIHN0YXJ0ZWQsIHRyYW5zcG9ydCBpcyBzdG9wcGVkIGJ5IGRlZmF1bHQuIFRoaXMgd291bGQgYmUgYQoJICByZWdyZXNzaW9uIGZvciBnc3RyZWFtZXIgYXBwcyB0aGF0IGJlZm9yZSBqdXN0IHN0YXJ0ZWQgdG8gcGxheSByaWdodCBhd2F5LgoKMjAxMi0wMS0xMCAyMjoyNzoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWRkIHRyYW5zcG9ydCBjb250cm9sIGhhbmRsaW5nCgkgIFRoaXMgZmVhdHVyZSBhbGxvd3MgdG8gc3RhcnQgYW5kIHN0b3AgcGxheWJhY2sgZnJvbSBvdGhlciBqYWNrIGFwcGxpY2F0aW9ucyAoZS5nLiBxamFja2N0bCkuCgoyMDEyLTAxLTEwIDE4OjUwOjI3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBjb2RlY19wcml2IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc0MTkKCjIwMTItMDEtMTAgMTU6MTc6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9hNTJkZWMvZ3N0YTUyZGVjLmMKCSAgZXh0L2E1MmRlYy9nc3RhNTJkZWMuaAoJICBleHQvbGFtZS9nc3RsYW1lLmMKCSAgZXh0L2xhbWUvZ3N0bGFtZS5oCgkgIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYwoJICBleHQvbWFkL2dzdG1hZC5jCgkgIGV4dC9tYWQvZ3N0bWFkLmgKCSAgZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmMKCSAgZ3N0L21wZWdzdHJlYW0vZ3N0ZHZkZGVtdXguYwoJICBnc3QvcmVhbG1lZGlhL3JkdGRlcGF5LmMKCSAgcG8vZXMucG8KCSAgcG8vbHYucG8KCSAgcG8vc3IucG8KCjIwMTItMDEtMTAgMTU6MDY6MzkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgamFjazogdXNlIGphY2sgdHlwZSBmb3IgdGhlIGNhbGxiYWNrCgkgIEphY2sgaGVhZGVycyBoYXZlIGEgdHlwZWRlZiBmb3IgdGhlIHNodXRkb3duIGNhbGxiYWNrIGFzIHdlbGwuCgoyMDEyLTAxLTEwIDE0OjMyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYwoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmMKCSAgZ3N0L2F2aS9nc3RhdmltdXguYwoJICBnc3QvZmx2L2dzdGZsdm11eC5jCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoJICBnc3QvaXNvbXA0L2dzdHF0bXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaAoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYwoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jCgkgIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmMKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmMKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYwoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYwoJICBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYwoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jCgkgIHBvL2phLnBvCgkgIHBvL2x2LnBvCgkgIHBvL3NyLnBvCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmMKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYwoKMjAxMi0wMS0wOSAyMjo1ODozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IFJlbW92ZSBvbGQgdmlkZW9taXhlciBoZWFkZXJzCgkgIFRoZXNlIGdvdCByZW1vdmVkIGluIHRoZSB0cmFuc2l0aW9uIHRvIHZpZGVvbWl4ZXIyLgoKMjAxMi0wMS0wOSAxNzoyODoxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggY29kZWMgc3RyaW5nIGxlYWtzCgoyMDEyLTAxLTA5IDE0OjUxOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICB2aWRlb21peGVyOiBSZW1vdmUgdmlkZW9taXhlciBhbmQgcmVnaXN0ZXIgdmlkZW9taXhlcjIgYXMgdmlkZW9taXhlcgoKMjAxMi0wMS0wOSAxMTozNjo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5pdGlhbGl6ZSB2YXJpYWJsZSB0byBhdm9pZCB1bmRlZmluZWQgdXNlCgoyMDEyLTAxLTA2IDA5OjQwOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjOiBQb3J0IHRvIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDUgMTk6MjU6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMDUgMTk6MDg6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTItMDEtMDUgMTQ6MTg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIGZpeCBwYWQgdGVtcGxhdGVzCgoyMDEyLTAxLTA0IDE1OjQ0OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWVtcDJlbmMuYzoKCSAgdHdvbGFtZW1wMmVuYzogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE1OjQ1OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE1OjA1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNDo1NDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBBZGQgdGhlIG5ldyBsYXlvdXQgZmllbGQgdG8gdGhlIHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE0OjUyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJICBqYWNrYXVkaW9zcmM6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNDoxMzo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIEZMQUMgYW5kIGludGVybGVhdmUgdG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucyBsaXN0CgkgIEJvdGggbmVlZCB0byBiZSB1cGRhdGVkIHRvIHRoZSBhdWRpby94LXJhdyBjYXBzIGFuZCB3ZXJlIG9ubHkKCSAgaGFsZi1wb3J0ZWQgYmVmb3JlLgoKMjAxMi0wMS0wNCAxMzo0ODozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBVcGRhdGUgZm9yIHRoZSBuZXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxMjowNjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVwZGF0ZSBmb3IgbGliZ3N0cmlmZiBBUEkgY2hhbmdlcwoJICBTdGlsbCBuZWVkcyB0byBoYW5kbGUgcmF3IGF1ZGlvIGNoYW5uZWwgcmVvcmRlcmluZwoKMjAxMi0wMS0wNCAxMjowNToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxMjowMzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6NTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmVwbGF5Z2FpbjogVXBkYXRlIGZvciB0aGUgbmV3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTE6NTI6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gaW50ZXJsZWF2ZWQgY2FwcyBmaWVsZAoJICBTdGlsbCBuZWVkcyB0byBiZSBmaXhlZCB0byBoYW5kbGUgdGhlIG11bHRpY2hhbm5lbCBjaGFubmVsLW1hc2sKCSAgYW5kIHJlb3JkZXJpbmcuCgoyMDEyLTAxLTA0IDExOjMxOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6Mjk6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IFBvcnQgdG8gdGhlIG5ldyBhdWRpbyBjYXBzCgkgIFN0aWxsIG5lZWRzIHRvIGhhbmRsZSB0aGUgY2hhbm5lbCBwb3NpdGlvbnMvbWFza3MgYW5kCgkgIGNoYW5uZWwgcmVvcmRlcmluZy4KCjIwMTItMDEtMDQgMTE6MTE6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowOTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBsYXlvdXQgZmllbGQKCjIwMTItMDEtMDQgMTE6MDg6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowNzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVcGRhdGUgZm9yIHRoZSBsaWJnc3RyaWZmIEFQSSBjaGFuZ2VzCgkgIFN0aWxsIG5lZWRzIHRvIGRvIHJlb3JkZXJpbmcgb2YgY2hhbm5lbHMgZm9yIHJhdyBhdWRpby4KCjIwMTItMDEtMDQgMTE6MDY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb2Z4OiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMDo1NDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgb3NzOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMgYW5kIHRoZSByYXcgYXVkaW8gY2FwcyBpbnRlcmxlYXZlZCBmaWVsZAoKMjAxMi0wMS0wNCAxMDoyNzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBQb3J0IHRvIHRoZSBuZXcgbXVsdGljaGFubmVsIGNhcHMKCjIwMTItMDEtMDQgMTk6NTE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3NjJiNjkyIHRvIDA4MDcxODcKCjIwMTItMDEtMDQgMTc6MDU6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgIGxhbWU6IGZpeCBMSUJBREQgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTItMDEtMDQgMTc6NTk6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IGZpeCBzb21lIGxlYWtzIGFuZCByZW1vdmUgZmlsZXMgd2hlbiBkb25lIGluIHF0bXV4IHRlc3QKCjIwMTEtMTItMTQgMTA6MTQ6MjAgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IGJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gd2UgcnVuIG91dCBvZiBkaXNrIHNwYWNlCgkgIE1hcCB3cml0ZSBlcnJubyBFTk9TUEMgdG8gR1NUX1JFU09VUkNFX0VSUk9SX05PX1NQQUNFX0xFRlQuCgoyMDEyLTAxLTA0IDEzOjI2OjQ1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogTW9yZSBmaXhlcy9jbGVhbnVwCgoyMDEyLTAxLTA0IDEzOjI1OjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUmVmYWN0b3IgcGFyYW0vcHJvY2VzcyBmdW5jdGlvbnMKCSAgV2hlbiA6OnNldF9pbmZvKCkgaXMgY2FsbGVkLCB0aGUgaW5wdXQvb3V0cHV0IFZpZGVvSW5mbyBhcmVuJ3Qgc2V0CgkgIHlldCBvbiB0aGUgdmlkZW9maWx0ZXIuCgoyMDEyLTAxLTA0IDEwOjAxOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMS0xMi0zMSAyMzozMzozMyAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IHVzZSByaWdodCB2YXJpYWJsZQoJICBGaXhlcyB1c2Ugb2YgdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcwODUKCjIwMTItMDEtMDMgMTU6MjY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDEyLTAxLTAzIDE0OjQyOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogcmV3cml0ZSB0ZXN0IGEgbGl0dGxlCgkgIFJld3JpdGUgdGhlIHRhZyBjaGVjayBzbyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gZGVhbCB3aXRoIHRhZyBsaXN0cy4KCjIwMTItMDEtMDMgMTQ6MTY6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBtYWtlIG1vcmUgdGVzdHMgY29tcGlsZQoKMjAxMi0wMS0wMyAxMTo1NjoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0OiBtYWtlIG1vcmUgdW5pdCB0ZXN0cyBjb21waWxlCgoyMDEyLTAxLTAzIDEwOjI2OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL2luZGV4LmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBmaXggc29tZSB1bml0IHRlc3RzCgkgIFJlbW92ZSB1bml0IHRlc3QgZm9yIEdzdEluZGV4LgoJICBNYWtlIHNvbWUgb3RoZXIgdW5pdCB0ZXN0cyBjb21waWxlCgoyMDEyLTAxLTAyIDE0OjMyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSAgYXV0b2RldGVjdCwgcnRzcDogZ3N0X3JlZ2lzdHJ5X2dldF9kZWZhdWx0KCkgLT4gZ3N0X3JlZ2lzdHJ5X2dldCgpCgoyMDExLTEyLTMxIDEwOjAwOjQxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gQVBJIGNoYW5nZXMKCjIwMTEtMTItMzAgMTc6NDE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCjIwMTEtMTItMzAgMTc6MjM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCjIwMTEtMTItMzAgMTc6MjA6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2Zsdi9nc3RpbmRleC5oOgoJKiBnc3QvZmx2L2dzdG1lbWluZGV4LmM6CgkgIGZsdmRlbXV4OiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCSAgQWRkIHByaXZhdGUgR3N0TWVtSW5kZXggZm9yIG5vdy4KCjIwMTEtMTItMzAgMTc6MTI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiB1cGRhdGUgZm9yIEdzdEluZGV4IHJlbW92YWwKCjIwMTEtMTItMjcgMjI6NTk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIE1pbmdXCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY0ODUKCjIwMTEtMTItMjcgMjI6NTQ6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWU6IGZpeCBwcmludGYgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjkyNgoKMjAxMS0xMi0yNyAxMjowNjoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogbWFrZSBnaXQgaWdub3JlIG5ldyB1bml0IHRlc3QgYmluYXJ5CgoyMDExLTEyLTI3IDExOjUwOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHZhbGdyaW5kIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY0NAoKMjAxMS0xMi0yNyAxMTo0OToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHVkcHNyYzogYWRkIHVuaXQgdGVzdCB0aGF0IHNlbmRzIDAtc2l6ZSBwYWNrZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY0NAoKMjAxMS0xMi0yMSAxMzoyMjowMyArMDEwMCAgSm9obiBPZ25lc3MgPGpvaG4ub2duZXNzQGxpbnV0cm9uaXguZGU+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGRyb3AgZGF0YWxlc3MgVURQIHBhY2tldHMKCSAgSXQgaXMgYWxsb3dlZCB0byBzZW5kL3JlY2VpdmUgVURQIHBhY2tldHMgd2l0aCBubyBkYXRhLiBXaGVuIHN1Y2gKCSAgYSBwYWNrZXQgaXMgYXZhaWxhYmxlLCBzZWxlY3QoKSB3aWxsIHJldHVybiB3aXRoIHN1Y2Nlc3MgYnV0CgkgIGlvY3RsKEZJT05SRUFEKSB3aWxsIHJldHVybiAwLiBCdXQgYSByZWFkKCkgbXVzdCBzdGlsbCBvY2N1ciBpbgoJICBvcmRlciB0byBjbGVhciBvZmYgdGhlIFVEUCBwYWNrZXQgZnJvbSB0aGUgcXVldWUuCgkgIFRoaXMgcGF0Y2ggd2lsbCByZWFkIHRoZSBkYXRhbGVzcyBwYWNrZXQgZnJvbSB0aGUgc29ja2V0LiBJZgoJICBzZWxlY3QoKSB3YXMgd29rZW4gZm9yIG90aGVyIHJlYXNvbnMgKGFuZCBGSU9OUkVBRCByZXR1cm5zIDApLAoJICB0aGlzIG1heSByZXN1bHQgaW4gYSBVRFAgcGFja2V0IGdldHRpbmcgYWNjaWRlbnRhbGx5IGRyb3BwZWQuCgkgIEJ1dCBzaW5jZSBVRFAgaXMgbm90IHJlbGlhYmxlLCB0aGlzIGlzIGFjY2VwdGFibGUuCgkgIE5PVEU6IFRoaXMgcGF0Y2ggZml4ZXMgYSBuYXN0eSBidWcgd2hlcmUgc2VuZGluZyBhIGRhdGFsZXNzCgkgIFVEUCBwYWNrZXQgdG8gYSB1ZHBzcmMgaW5zdGFuY2Ugd2lsbCBjYXVzZSBhbiBpbmZpbml0ZQoJICBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjQ0CgkgIFNpZ25lZC1vZmYtYnk6IEpvaG4gT2duZXNzIDxqb2huLm9nbmVzc0BsaW51dHJvbml4LmRlPgoKMjAxMS0xMi0yNiAyMjoyMjo1OSArMDAwMCAgWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2l0ekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICB3YXZlZm9ybTogYWRkIGF1dG90b29scyBiaXRzIGZvciB3YXZlZm9ybSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjQ4NQoKMjAxMS0xMi0yMSAyMDo1MDoyMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBwZWVyX2NhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2Njg4CgoyMDExLTEyLTI2IDE4OjI0OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBsYW1lOiBlbnN1cmUgcGFyc2VkIG91dHB1dAoJICAuLi4gYnkgZG9pbmcgc29tZSBiYXNpYyBwYXJzaW5nIG9mIGVuY29kZWQgbGFtZSBkYXRhLgoKMjAxMS0xMi0yNiAxNjozNDowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIGxhbWU6IGNsZWFudXAgdW51c2VkIGluc3RhbmNlIHN0cnVjdCBmaWVsZHMKCjIwMTEtMTItMjYgMTg6MjM6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5oOgoJICBsYW1lbXAzZW5jOiBlbnN1cmUgcGFyc2VkIG91dHB1dAoJICAuLi4gYnkgZG9pbmcgc29tZSBiYXNpYyBwYXJzaW5nIG9mIGVuY29kZWQgbGFtZSBkYXRhLgoJICBGaXhlcyAjNjUyMTUwLgoKMjAxMS0xMi0yNiAxODoxNTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IGRvIG5vdCBsZWFrIG1lcmdlZCB0YWdzCgoyMDExLTEyLTI1IDIzOjUyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sgZm9yIGdkcCBsaWJyYXJ5CgoyMDExLTEyLTI1IDIyOjE3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2U6IHJlbW92ZSBwdWxzZWF1ZGlvc2luayBoZWxwZXIgYmluCgkgIFRoaXMgaXMgY2F1c2luZyB1cyBsb3RzIG9mIGhlYWRhY2hlcyBpbiAwLjEwIGFuZCBuZWVkcyB0byBiZSBkb25lCgkgIGRpZmZlcmVudGx5IGFuZCBwcm9wZXJseSBpbiAwLjExLiBwbGF5YmluIG9yIGRlY29kZWJpbiBzaG91bGQKCSAgcmVjb25maWd1cmUgdGhlbXNlbHZlcyBiYXNlZCBvbiByZWNvbmZpZ3VyZSBldmVudHMsIGZvciBleGFtcGxlLgoKMjAxMS0xMi0yNSAyMTo0NTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHVwZGF0ZSBmb3IgcmluZyBidWZmZXIgYXVkaW8gZm9ybWF0IHR5cGUgZW51bSByZW5hbWUKCjIwMTEtMTItMjUgMjA6MzQ6NTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbCBzb3VyY2UgYXBpCgoyMDExLTEyLTI1IDE0OjIzOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3QgdHJ5IHRvIHB1c2ggYWxyZWFkeS1mcmVlZCBidWZmZXJzCgkgIEZpeGVzIHVuaXQgdGVzdC4KCjIwMTEtMTItMjQgMTA6NTc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVc2Ugc2NhbGVfY2VpbCgpIGZ1bmN0aW9ucyBmcm9tIGNvcmUgaW5zdGVhZCBvZiBjdXN0b20gb25lcwoKMjAxMS0xMi0yMSAyMzo1MTowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHVwZGF0ZSBmb3IgdmlkZW9maWx0ZXIgY2hhbmdlcy4KCjIwMTEtMTItMjEgMTc6NDM6MTAgKzAxMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGRvIG5vdCBjb25zaWRlciBkdXJhdGlvbiBvZiBub24tZmluYWxpemVkIGZpbGUKCSAgLi4uIHRvIGF2b2lkIGl0IGNsYW1waW5nIHJlcXVlc3RlZCBzZWVrIHBvc2l0aW9uLgoJICBOb24tZmluYWxpemVkIGZpbGUgY2FzZSwgZGV0ZXJtaW5lZCBieSB3aGV0aGVyCgkgIF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrIGV2ZXIgdXBkYXRlcyB0aGUgc2VnbWVudCBkdXJhdGlvbi4KCSAgRml4ZXMgIzY1MjE5NS4KCjIwMTEtMTItMjEgMTU6MDY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgZGVjaXNpb24gdG8gZmFsbCBiYWNrIHRvIHNjYW5uaW5nIHdoZW4gc2Vla2luZwoJICAuLi4gd2hpY2ggaXMgYmFzaWNhbGx5IGlmZiBub3Qgc3RyZWFtaW5nIGFuZCBubyBlbnRyeSBmb3VuZCBpbiBpbmRleAoKMjAxMS0xMi0yMSAwOTowOToyNyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgdG8gZml4IGNvbXBpbGUgZXJyb3I6CgkgIG1ha2UgLUMgYXVkaW9wYXJzZXJzCgkgIG1ha2VbM106IEJldHJldGUgVmVyemVpY2huaXMgJy9ob21lL2xleC90bXAvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvYXVkaW9wYXJzZXJzJwoJICBDQyAgICAgbGliZ3N0YXVkaW9wYXJzZXJzX2xhLWdzdGFhY3BhcnNlLmxvCgkgIGdzdGFhY3BhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfYWFjX3BhcnNlX3JlYWRfbG9hc19hdWRpb19zcGVjaWZpY19jb25maWcnOgoJICBnc3RhYWNwYXJzZS5jOjQ0NjoxMjogZXJyb3I6IHZhcmlhYmxlICdzYnInIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCgkgIGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0xMi0yMSAxMTo1OTo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmM6CgkgIHVwZGF0ZSBmb3IgcmVtb3ZlZCBwcm9wZXJ0eSBwcm9iZQoKMjAxMS0wOS0wOSAxMTo0MjowOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBsZXQgYnNpZCA5IGFuZCAxMCB0aHJvdWdoCgkgIEZpbGVzIHdpdGggOSBhbmQgMTAgaGFwcGVuLCBhbmQgc2VlbSB0byBjb21wbHkgd2l0aCB0aGUgPD0gOAoJICBmb3JtYXQsIHNvIGxldCB0aGVtIHRocm91Z2guCgkgIFRoZSBzcGVjIHNheXMgbm90aGluZyBhYm91dCA5IGFuZCAxMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU0NgoKMjAxMS0xMi0xOSAyMzo1MDoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBpbnRlcnBvbGF0aW9uLW1vZGUgYXBpCgoyMDExLTEyLTE5IDIyOjUzOjU3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgYXBpCgoyMDExLTEyLTE5IDE5OjAzOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1cGRhdGUgZm9yIG5ldyBpbnRlcmxhY2VkIGNhcHMKCjIwMTEtMTItMTYgMTk6MTU6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwcm9wZXJseSBkZXRlcm1pbmUgZmluYWwgZHVyYXRpb24KCSAgLi4uIHdoaWNoIGNhbiBiZSBhdXRob3JhdGl2ZWx5IG9idGFpbmVkIGZyb20gb3VyIG93biB3cml0dGVuIHRpbWVzdGFtcHMuCgoyMDExLTEyLTE5IDEzOjU2OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogb25seSB3cml0ZSBmdWxsIG1ldGFkYXRhIGF0IHN0YXJ0CgkgIC4uLiByYXRoZXIgdGhhbiBoYXZpbmcgKHBvdGVudGlhbGx5KSB1bm5lY2Vzc2FyeSBkdXBsaWNhdGVzIHdyaXR0ZW4gYWxsIG92ZXIsCgkgIG9yIGV2ZW4gY29udHJhZGljdG9yeSB2YXJ5aW5nIGZpbGVzaXplIGluZm8sIG9yIGR1cmF0aW9uIGluZm8gdGhhdCB3aWxsIG5vdAoJICBiZSByZXdyaXR0ZW4gdXBvbiBoZWFkZXIgcmV3cml0ZS4KCjIwMTEtMTItMTYgMTk6MTU6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGJ1ZmZlciBjYWxsYmFjayBhbmQgcnVubmluZyB0aW1lIGNsaXBwZXIKCSAgLi4uIHNpbmNlIHRoZSBkZWZhdWx0IGNvbGxlY3Rpb24gaGV1cmlzdGljcyBzdWZmaWNlLgoKMjAxMS0xMi0xNiAxODowMzowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGJ1ZmZlciBjYWxsYmFjayBhbmQgcnVubmluZyB0aW1lIGNsaXBwZXIKCSAgLi4uIHNpbmNlIGRlZmF1bHQgY29sbGVjdGlvbiBoZXVyaXN0aWNzIHN1ZmZpY2UuCgoyMDExLTEyLTE2IDE3OjIwOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGJyaW5nIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMgdXAgdG8gc3BlY3MKCSAgLi4uIGFuZCBtaW5vciBzcGVsbGluZyBmaXguCgoyMDExLTEyLTE2IDE2OjU2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkZGl0aW9uYWwgc3VidGl0bGUgc3VwcG9ydAoKMjAxMS0xMi0xNSAyMTo1MDo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGFkZGl0aW9uYWwgYnVmZmVyIGhhbmRsaW5nIGNsZWFudXAKCjIwMTEtMTItMTUgMjE6NDU6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBidWZmZXIgY2FsbGJhY2sgYW5kIHJ1bm5pbmcgdGltZSBjbGlwcGVyCgoyMDExLTEyLTA3IDEzOjI0OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogcGFyc2UgTE9BUyB2YXJpYW50CgkgIFRoZSBMT0FTIHZhcmlhbnQgc2VlbXMgdG8gaGF2ZSB0aHJlZSBkaWZmZXJlbnQgc3VidmFyaWFudHMgaXRzZWxmLAoJICBvbmx5IG9uZSBvZiB0aGVtIGlzIGltcGxlbWVudGVkIGFzIG15IHR3byBzYW1wbGVzIGhhcHBlbiB0byBiZQoJICB1c2luZyB0aGF0IG9uZS4KCSAgVGhlIHNhbXBsZSByYXRlIGlzIG5vdCBhbHdheXMgcmVwb3J0ZWQgY29ycmVjdGx5LCBhcyB0aGUgIm1haW4iCgkgIHNhbXBsZSByYXRlIGlzIGFwcGFyZW50bHkgc29tZXRpbWVzIGhhbGYgd2hhdCBpdCBzaG91bGQgYmUgKGJvdGgKCSAgb2YgbXkgc2FtcGxlcyByZXBvcnQgMjQwMDAgSHogdGhlcmUpLCBhbmQgdGhlcmUgYXJlIHR3byBvdGhlcgoJICBwYXJ0cyBvZiB0aGUgc3VidmFyaWFudCB3aXRoIGRpZmZlcmVudCBzYW1wbGluZyByYXRlcy4gT25lIG9mIHRoZW0KCSAgaXMgcGFyc2VkLCBidXQgbm90IHRoZSBvdGhlciwgYXMgaXQncyBsb2NhdGVkIGFmdGVyIHNvbWUgb3RoZXIKCSAgbGFyZ2UgYW1vdW50IG9mIHZhcmlhYmxlIGRhdGEgdGhhdCBuZWVkcyBwYXJzaW5nIGZpcnN0LCBhbmQgdGhlcmUKCSAgc2VlbXMgdG8gYmUgYSBMT1Qgb2YgaXQsIHdoaWNoIGlzIHVzZWxlc3MgZm9yIG91ciBuZWVkcyBoZXJlLgoJICBUaGlzIGVuZHMgdXAgYmVpbmcgcmF0aGVyIGluY29uc2VxdWVudGlhbCwgYXMgZmZkZWNfYWFjX2xhdG0sCgkgIHdoaWNoIGlzIHRoZSBvbmx5IGRlY29kZXIgdGhhdCBjYW4gZGVjb2RlIHN1Y2ggc3RyZWFtcywgZG9lcyBub3QKCSAgbmVlZCB0aGUgc2FtcGxlIHJhdGUgb24gdGhlIGNhcHMgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDExLTEyLTE5IDEwOjQ4OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkb24ndCByZW1vdmUgc3JjcGFkCgkgIERvbid0IHJlbW92ZSB0aGUgYWx3YXlzIHNyY3BhZCBpbiByZWFkeSBhbmQgbWFrZSB0aGUgZWxlbWVudCByZXVzYWJsZS4KCjIwMTEtMTItMTUgMTY6NDA6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNSAxNjozMDoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE1IDE2OjE2OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTUgMTY6MTU6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNCAxOToxMzoyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxOToxMDo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBtdWx0aXBhcnRtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE5OjA3OjIzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTk6MDI6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODo1NTozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6NTI6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx4bXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODozODowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjM0OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTMgMTg6MTg6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpbHRlciBib2d1cyBpbmRleCBlbnRyaWVzIHdpdGggbWlzc2luZyBibG9jayBudW1iZXIKCSAgLi4uIHRvIGF2b2lkIGNvbnRyYWRpY3RvcnkgaW5mb3JtYXRpb24gcmVzdWx0aW5nIGluIHNlZWtzIHNlbmRpbmcgbW9yZQoJICBkb3duc3RyZWFtIHRoYW4gbmVlZGVkIGZvciB0aGUgY29ycmVzcG9uZGluZyBzZWdtZW50LgoKMjAxMS0xMi0xMyAxODoxNToxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2F0ZXIgZm9yIHNhZmVyIGFyaXRobWV0aWMgd2l0aCBnbG9iYWwgc3RhcnQgdGltZQoKMjAxMS0xMi0xMyAxNzowMjowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdHdlYWsgZmluYWwgY2xvc2luZyBzZWdtZW50IHNlbmRpbmcKCSAgLi4uIHRvIGF2b2lkIGl0IGludGVyZmVyaW5nIHdpdGggKHNwYXJzZSkgc3RyZWFtIHN5bmNpbmcuCgoyMDExLTEyLTEyIDExOjUxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYWtlIGRlYnVnIG1lc3NhZ2UgbW9yZSB1c2VmdWwKCSAgQWRkIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0YWdsaXN0IGFuZCB3aGljaCBwYWQgcmVjZWl2ZWQgdGhlCgkgIHRhZyBldmVudCBvbiB0aGUgZGVidWcgbG9nZ2luZy4KCjIwMTEtMTItMTMgMTE6NDY6NDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBhdm9pZCB1c2luZyBmbG9hdGluZyBwb2ludCB1bm5lY2Vzc2FyaWx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU5MTEKCjIwMTEtMTItMTMgMTE6NDI6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBmaXggZm9ybWF0IHNwZWNpZmllciBzaWduZWRuZXNzCgkgIFVzZSB1bnNpZ25lZCBzcGVjaWZpZXJzIGZvciBhbGwgdW5zaWduZWQgdmFsdWVzLgoJICBBIGxvdCBvZiB0aGUgdmFsdWVzIHVzZWQgaGVyZSBhcmUgdW5zaWduZWQsIGFuZCBzb21lIGNhbiB0YWtlCgkgIGhpZ2ggZW5vdWdoIHZhbHVlcyB0aGF0IHRoZWlyIHNpZ25lZCBjb3VudGVycGFydCB3aWxsIGJlIG5lZ2F0aXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTExCgoyMDExLTEyLTEyIDE2OjQ5OjE5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IGFkZCBhIGlnbm9yZS1sZW5ndGggcHJvcGVydHkKCSAgVGhpcyBhbGxvd3MgcGxheWluZyBicm9rZW4gc3RyZWFtcyB3aGljaCB3cml0ZSBhbiBpbmNvcnJlY3QKCSAgbGVuZ3RoIGluIHRoZWlyIGRhdGEgY2h1bmtzIChzdWNoIGFzLCBhdCBsZWFzdCwgb25lIHN0cmVhbWluZwoJICBjYW1lcmEpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTExCgoyMDExLTEyLTEyIDExOjU0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkgIGdsaWItY29tcGF0OiBBZGQgbGljZW5zZSBib2lsZXJwbGF0ZSBmb3IgTEdQTAoKMjAxMS0xMi0xMiAxNToxNTo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWluZCAodW4pc2lnbmVkIGluIHNvbWUgdGltZXN0YW1wIGFyaXRobWV0aWMKCSAgLi4uIHRvIGF2b2lkIGVuZGluZyB1cCB3aXRoIGludmFsaWQgKG5lZ2F0aXZlKSBkdXJhdGlvbi4KCjIwMTEtMDItMDkgMTU6MzE6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluY3JlYXNlIHBhcnNlIHRvbGVyYW5jZSBmb3IgZnV6enkgZmlsZSBjYXNlcwoKMjAxMS0xMi0xMiAxMDozODoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGRpc3QgZ2xpYi1jb21wYXQtcHJpdmF0ZS5oIHByb3Blcmx5CgkgIEFkZCBtaXNzaW5nIHNsYXNoLgoKMjAxMS0xMi0xMiAxMDoxODoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogdXNlIGF0ZXhpdCwgZ19hdGV4aXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBnbGliIG1hc3RlcgoKMjAxMS0xMi0xMiAwMjo1MjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBTdXBwcmVzcyBkZXByZWNhdGlvbiB3YXJuaW5ncyBpbiBzZWxlY3RlZCBmaWxlcywgZm9yIGdfc3RhdGljX3JlY19tdXRleF8qIG1vc3RseQoJICBHU3RhdGljUmVjTXV0ZXggaXMgcGFydCBvZiBvdXIgQVBJL0FCSSwgbm90IG11Y2ggd2UgY2FuIGRvIGhlcmUKCSAgaW4gMC4xMCBmb3IgbW9zdCBvZiB0aGVzZS4KCjIwMTEtMTItMTIgMDI6NDE6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICB0ZXN0czogZ190aHJlYWRfaW5pdCgpIGlzIGRlcHJlY2F0ZWQgaW4gZ2xpYiBtYXN0ZXIKCSAgSXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIuCgoyMDExLTEyLTEyIDAyOjM4OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFVzZSBnX3RocmVhZF90cnlfbmV3KCkgaW5zdGVhZCBvZiBnX3RocmVhZF9jcmF0ZSgpIHdpdGggbmV3ZXIgZ2xpYiB2ZXJzaW9ucwoKMjAxMS0xMi0xMiAwMjozMTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiB1c2UgbmV3IGdsaWIgQVBJIGZvciBzdGF0aWMgbXV0ZXggaWYgYXZhaWxhYmxlCgoyMDExLTEyLTEyIDAyOjMwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBXb3JrIGFyb3VuZCBkZXByZWNhdGVkIHRocmVhZCBBUEkgaW4gZ2xpYiBtYXN0ZXIKCSAgQWRkIHByaXZhdGUgcmVwbGFjZW1lbnRzIGZvciBkZXByZWNhdGVkIGZ1bmN0aW9ucyBzdWNoIGFzCgkgIGdfbXV0ZXhfbmV3KCksIGdfbXV0ZXhfZnJlZSgpLCBnX2NvbmRfbmV3KCkgZXRjLiwgbW9zdGx5CgkgIHRvIGF2b2lkIHRoZSBkZXByZWNhdGlvbiB3YXJuaW5ncy4gV2UnbGwgY2hhbmdlIHRoZXNlCgkgIG92ZXIgdG8gdGhlIG5ldyBBUEkgb25jZSB3ZSBkZXBlbmQgb24gZ2xpYiA+PSAyLjMyLgoKMjAxMS0xMi0xMiAxMDoyNDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHTGliID49IDIuMjQKCSAgQWxsIG90aGVyIG1vZHVsZXMgcmVxdWlyZSB0aGlzIGFscmVhZHkgYW5kIG5vYm9keSBpcyB0ZXN0aW5nIHdpdGgKCSAgb2xkZXIgdmVyc2lvbnMgYW55d2F5LgoKMjAxMS0xMi0xMSAxODo0MDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IGZpeCBpbnZlcnRlZCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgU3BvdHRlZCBieSBNaWtlIE1vcnJpc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODgyCgoyMDExLTEyLTExIDE3OjU1OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogZG9uJ3QgbGVhayBwYWQgdGVtcGxhdGUKCjIwMTEtMTItMTAgMTQ6NDg6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXA6IGZpeCBzdGFydC9zdG9wIHJhY2UgaW4gc291cGh0dHBjbGllbnRzaW5rCgkgIEZpeCBjcmFzaCBvciBoYW5nIGluIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdCB3aGVuIGRvaW5nIHN0b3AoKQoJICByaWdodCBhZnRlciBzdGFydCgpLiBDcmVhdGUgbWFpbiBsb29wIGluIHRoZSBzdGFydCBmdW5jdGlvbiBhbHJlYWR5CgkgIGFuZCBub3QganVzdCBpbiB0aGUgdGhyZWFkIGZ1bmN0aW9uLCBzbyB0aGF0IHN0b3AoKSBhbHdheXMgaGFzIGEKCSAgdmFsaWQgbWFpbiBsb29wIHRvIHF1aXQgb24uIEFsc28sIGNhbGxpbmcgZ19tYWluX2xvb3BfcXVpdCgpIGJlZm9yZQoJICBnX21haW5fbG9vcF9ydW4oKSB3b24ndCB3b3JrIGFuZCByZXN1bHQgaW4gdGhlIHN0b3AgZnVuY3Rpb24gd2FpdGluZwoJICBmb3IgdGhlIHRocmVhZCB0byBqb2luIGZvcmV2ZXIuIFRoZXJlZm9yZSwgd2FpdCBmb3IgdGhlIHRocmVhZCB0bwoJICBiZSByZWFkeSBhbmQgZ2V0IHRoZSBtYWluIGxvb3AgcnVubmluZyBpbiB0aGUgc3RhcnQoKSBmdW5jdGlvbiwgdG8KCSAgYmUgc3VyZSBzdG9wKCkgYWx3YXlzIHdvcmtzLgoKMjAxMS0xMi0xMCAxMzozNTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRpc3QgdGVzdCBmaWxlIHVzZWQgaW4gbWF0cm9za2FwYXJzZSB1bml0IHRlc3QKCjIwMTEtMTItMTAgMTI6MzI6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IGZpeCB1cCByZ3ZvbHVtZSB0ZXN0IGZvciBiYXNldHJhbnNmb3JtIGV2ZW50IGNhY2hpbmcKCSAgU29tZSB0ZXN0cyBhc3N1bWVkIHRoYXQgdGFnIGV2ZW50cyB3b3VsZCBhbHdheXMgcHVzaGVkIHRocm91Z2gKCSAgaW1tZWRpYXRlbHksIHdoaWNoIGlzbid0IHRoZSBjYXNlIGFueSBsb25nZXIsIHNvIHB1c2ggYSBuZXdzZWdtZW50CgkgIGV2ZW50IGFuZCBhbiBlbXB0eSBidWZmZXIgZmlyc3QuCgoyMDExLTEyLTEwIDExOjEyOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHNzcmNkZW11eDogZml4IGl0ZXJhdG9yIGFuZCBjYXBzCgoyMDExLTEyLTEwIDExOjExOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50CgoyMDExLTEyLTEwIDExOjA5OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2ltcGx5IGZvcndhcmQgdGhlIGNhcHMgZXZlbnQKCSAgZm9yd2FyZCB0aGUgY2FwcyBldmVudCB3ZSBnZXQgYXMgaW5wdXQgaW5zdGVhZCBvZiBtYWtpbmcgYSBuZXcgZXZlbnQgZXRjLi4KCjIwMTEtMTItMDkgMjA6MTA6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZvcndhcmQgY2FwcwoKMjAxMS0xMi0wOSAxOTo0NjowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBwYXNzIHBhcmVudCB0byBzZXRjYXBzIG1ldGhvZHMKCjIwMTEtMTItMTAgMDI6MjE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZW8ucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdi5wbzoKCSogcG8vc3IucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTEyLTA5IDE2OjA0OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiByZW5hbWUgImNsaWVudCIgcHJvcGVydGllcyB0byAiY2xpZW50LW5hbWUiCgkgIEJldHRlciBuYW1lLCBidXQgYWxzbyBtYXRjaGVzIHRoZSBwcm9wZXJ0eSBvbiB0aGUgamFjawoJICBlbGVtZW50cyAod2hlcmUgImNsaWVudCIgaXMgdXNlZCBmb3Igc29tZXRoaW5nIGVsc2UpLgoKMjAxMS0xMi0wOSAxNTo1MDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCBsZWFrIGNsaWVudCBuYW1lIHdoZW4gZnJlZWluZyB0aGUgZWxlbWVudAoJICBBbmQgYWRkIGd0ay1kb2MgY2h1bmtzIGZvciB0aGUgbmV3IHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODcyCgoyMDExLTEyLTA5IDE1OjQ1OjAzICswMDAwICBOaWNvbGFzIEJhcm9uIDxob2dnaW5zQHJhZGlvbS5mcj4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZCAiY2xpZW50LW5hbWUiIHByb3BlcnR5IHRvIGphY2thdWRpb3NpbmsgYW5kIGphY2thdWRpb3NyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODcyCgoyMDExLTEyLTA5IDEyOjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkgIGxhdzogZml4IENGTEFHUyBhbmQgTElCUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0xMi0wOSAxMjoxNTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTItMDkgMTA6NTE6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cDogZml4IG1hcnNoYWxsZXJzCgkgIFJlbW92ZSBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIG1pbm9iamVjdC4KCSAgSW5pdCBSVENQIGJ1ZmZlciBjb3JyZWN0bHkuCgkgIEhhbmRsZSByZXN1bHRzIGZyb20gc2V0Y2FwcwoJICBSZW1vdmUgYXNzZXJ0cy4KCjIwMTEtMTItMDkgMTA6NTA6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkgIGxhdzogZml4IG5lZ290aWF0aW9uCgoyMDExLTEyLTA4IDExOjAwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0cmVhbS1mb3JtYXQ9cmF3IGdvZXMgd2l0aCBhYWMgY2Fwcywgbm90IG1wMyBjYXBzCgoyMDExLTEyLTA4IDAxOjI4OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYwoKMjAxMS0xMi0wMiAxMjowNzoyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGRvIG5vdCBpZ25vcmUgdGhlIGhpZ2hlc3QgZnJhbWUgaW50ZXJ2YWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM4NwoKMjAxMS0xMi0wMiAxMTo1OTowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGRvIG5vdCBpZ25vcmUgdGhlIGxhcmdlc3QgcmVzb2x1dGlvbgoJICBUaGUgJ21heCcgdmFsdWUgaXNuJ3QgYW4gU1RMIHN0eWxlICJvbmUgYWZ0ZXIgdGhlIGVuZCIgYm91bmQsCgkgIGJ1dCB0aGUgbGFyZ2VzdCBhbGxvd2VkIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzg3CgoyMDExLTEyLTA2IDE2OjQ3OjI1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIGRvY3M6IGFkZCBhZGQgdGhlIHR3byBlbnVtIHZhbHVlcyB0aGF0IHdlcmUganVzdCBhZGRlZCB0b28KCjIwMTEtMTItMDYgMTY6MTQ6NTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGV4cG9zZSB0aGUgZW51bSBwcm9wZXJ0eSBkb2NzIGZvciBzcGxpdHRpbmcgbW9kZS4KCSAgRml4ZXMgIzY2NTY2Ni4KCjIwMTEtMTItMDYgMTQ6MjM6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgaDI2M3BheTogZml4IGludmFsaWQgcmV0dXJuIHZhbHVlCgoyMDExLTEyLTA2IDEzOjU5OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW51c2VkIGZsdXNoIHBhcmFtCgoyMDExLTEyLTA1IDE4OjQwOjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgcnRweHF0ZGVwYXk6IEluaXRpYWxpemUgR3N0UlRQQnVmZmVyIGJlZm9yZSB1c2FnZQoKMjAxMS0xMi0wNSAxODo0MDoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogSW5pdGlhbGl6ZSBHc3RSVFBCdWZmZXIgYmVmb3JlIHVzYWdlCgoyMDExLTEyLTA1IDE4OjM5OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IEluaXRpYWxpemUgR3N0UlRQQnVmZmVyIGJlZm9yZSB1c2FnZQoKMjAxMS0xMi0wNSAxMjoxNToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHJlcGxhY2UgZGVwcmVjYXRlZCBHU1RfQ0xBU1NfTE9DSwoKMjAxMS0xMS0yNCAxMzo1ODowMSArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQ2VpbCBqcGVnIGRpbWVuc2lvbnMsIGluc3RlYWQgb2YgZmxvb3IKCSAgQSBKUEVHIGltYWdlIGluc2lkZSBhbiBSVFAgc3RyZWFtIGhhcyBhIHByZWNlZWRpbmcgUkZDMjQzNSBoZWFkZXIgdGhhdAoJICBjb252ZXlzIHdpZHRoL2hlaWdodC4gVGhlIGRpbWVuc2lvbnMgaW4gdGhpcyBoZWFkZXIgYXJlIGxpbWl0ZWQgdG8gYmUKCSAgbXVsdGlwbGVzIG9mIDguIFNpbmNlIEpQRUcgdXNlcyBhbiBNQ1Ugb2YgOHg4IHBpeGVscyBhbnkgaW1hZ2UgbXVzdAoJICBhbHJlYWR5IGluZGlyZWN0bHkgaGF2ZSBpbWFnZSBkYXRhIGRpbWVuc2lvbnMgdGhhdCBhcmUgcm91bmRlZCB1cCBpbgoJICBvcmRlciB0byBjb250YWluIGVub3VnaCBkYXRhIHRvIHJlbmRlciB0aGUgaW1hZ2UuIFRoZXJlZm9yZSB0aGlzIGZpeAoJICBzYWZlbHkgcm91bmRzIHRoZSBpbWFnZSBkaW1lbnNpb25zIGluIHRoZSBSRkMyNDM1IGhlYWRlciB1cCB0byB0aGUKCSAgY2xvc2VzdCBtdWx0aXBsZSBvZiA4LgoKMjAxMS0xMi0wNCAxMjo1MDo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGVuc3VyZSB3ZSBvbmx5IGNoZWNrIGZvciBzYW1wbGUvYmxvY2sgbWl4dXAgYXQgc3RhcnQKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHRyaWdnZXIgYXQgc29tZSBwb2ludCB3aXRoaW4gdGhlIGZpbGUsIGJ1dCB0aGUKCSAgY2hlY2sgaXMgb25seSBtYWtpbmcgc2Vuc2UgZm9yIHRoZSBzZWNvbmQgYmxvY2suCgoyMDExLTEyLTAzIDE4OjE0OjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiB3YXJuIGlmIGFjY3VtdWxhdGluZyBoZWFkZXJzIGFmdGVyIHRoZXkgd2VyZSBwdXNoZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTQxMgoKMjAxMS0xMC0yNSAxMjo1NDo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZml4IHBhcnNpbmcKCSAgTWFyayBtb3JlIHBhcnRzIGFzIGJlbG9uZ2luZyB0byBzdHJlYW1oZWFkZXJzLgoKMjAxMS0xMi0wMyAxNzozMDoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggZGlzY29udGludWl0eSB0aHJlc2hvbGQgY2hlY2sgd2hlbiB0aW1lc3RhbXBzIGdvIGJhY2t3YXJkcwoJICBTaW5jZSB1bnNpZ25lZCB0eXBlcyBhcmUgdXNlZCwgYSBuZWdhdGl2ZSB2YWx1ZSB3b3VsZCBzaG93IGFzIHZlcnksIHZlcnkKCSAgcG9zaXRpdmUuCgkgIEZpeGVzIEEvViBzeW5jIG9uIHNvbWUuLi4gbGVzcyB0aGFuIHdlbGwgbWFkZSBmaWxlcyB3aGVyZSB0aW1lc3RhbXBzIGdvCgkgIGJhY2t3YXJkcy4KCjIwMTEtMTItMDIgMjI6MjU6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgdXBkYXRlIGZvciBiYXNlc2luayBldmVudCBoYW5kbGVyIGNoYW5nZXMKCjIwMTEtMTItMDIgMTI6MDE6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBhZGQgYSBjb21tZW50IGFib3V0IGEgImhpZGRlbiIgYXNzdW1wdGlvbiBvbiByYW5rIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzg3CgoyMDExLTEyLTAyIDAxOjU4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWwKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jCgoyMDExLTEyLTAxIDE4OjU1OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB1cGRhdGUgZm9yIHRhZyBBUEkgY2hhbmdlcwoKMjAxMS0xMi0wMSAxNToyOToxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcGxhY2F0ZSBnY2Mgc2luY2UgLVdlcnJvciBpcyB1c2VkCgkgIEluaXRpYWxpemUgdmFsdWVzIHRoYXQgR0NDIGNhbm5vdCBwcm92ZSBhcmUgbm90IHVzZWQgd2l0aG91dAoJICBiZWluZyBpbml0aWFsaXplZCwgYW5kIGFzc2VydCB0aGF0IEkgZGlkIG5vdCBtZXNzIHVwIG15IHByb29mLgoKMjAxMS0xMi0wMSAxNDoxMzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCB1cCBMSUJTIG9yZGVyIHNvbSBtb3JlYAoKMjAxMS0xMi0wMSAxMzoyMjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogZml4IG5hbWUgb2YgbmV3IHByb3BlcnR5IGFuZCB0aGUgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzNzkKCjIwMTEtMDktMjUgMTQ6NTc6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBiYXNpYyBidWZmZXIgbGlzdCBoYW5kbGluZwoJICBXZSBhc3N1bWUgZm9yIG5vdyB0aGF0IGFsbCBidWZmZXJzIGluIGEgYnVmZmVyIGxpc3QKCSAgc2hvdWxkIGVuZCB1cCBpbiB0aGUgc2FtZSBmaWxlIChzbyB3ZSBjYW4gZ3JvdXAgR09QcwoJICBpbiBidWZmZXIgbGlzdHMsIGZvciBleGFtcGxlKS4gQ291bGQgb3B0aW1pc2UgdGhpcwoJICBhIGJpdCB0byBhdm9pZCB0aGUgbWVtY3B5LgoKMjAxMS0wOS0yMyAxODo0MzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogd3JpdGUgc3RyZWFtLWhlYWRlcnMgd2hlbiBzd2l0Y2hpbmcgdG8gdGhlIG5leHQgZmlsZSBpbiBtYXgtc2l6ZSBtb2RlCgoyMDExLTA5LTIzIDE4OjMxOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogYWRkIG5ldyAnbWF4LXNpemUnIG1vZGUgZm9yIHN3aXRjaGluZyB0byB0aGUgbmV4dCBmaWxlCgoyMDExLTA5LTIzIDE3OjQ5OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogYWRkICJtYXgtZmlsZS1zaXplIiBwcm9wZXJ0eSBmb3IgbmV3IG5leHQtZmlsZSBtb2RlCgoyMDExLTEyLTAxIDEzOjM4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBmb3JnZXQgU1NBIHN1YnRpdGxlcyBpbiBsYXN0IGNvbW1pdAoKMjAxMS0xMi0wMSAxMzozNDo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBPbmx5IGNoZWNrIGZvciBtYXJrdXAgYW5kIGVzY2FwZSBpZiBuZWNlc3NhcnkgZm9yIHBsYWludGV4dCBzdWJ0aXRsZXMKCSAgT3RoZXJ3aXNlIHdlIGJyZWFrIFVTRiBhbmQgQVNTL1NTQSBzdWJ0aXRsZXMuCgoyMDExLTEyLTAxIDEzOjIzOjMzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgIG11bHRpZmlsZTogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIEFkZCAtYmFzZSBsaWJzIGluY2x1ZGVzIHRvIENGTEFHUywgZml4IG9yZGVyIG9mIExJQlMgPGNpdD4uCgoyMDExLTEyLTAxIDEzOjA4OjAxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogZml4IGdfbWtkdGVtcCBwcmVzZW5jZSBjaGVjayBpbiBtdWx0aWZpbGUgdGVzdHMKCSAgZ19ta2R0ZW1wIHdhcyBhZGRlZCBpbiBnbGliIDIuMzAgZXZlbiB0aG91Z2ggdGhlIGRvYyBjbGFpbXMgaXQgd2FzIGFkZGVkIGluCgkgIDIuMjYuCgoyMDExLTA3LTE3IDIzOjU2OjA0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgZmxhZyB0byBjdXQgYWZ0ZXIgYSBmb3JjZSBrZXkgdW5pdCBldmVudAoKMjAxMS0xMi0wMSAxMjo0NzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ29weSBhbGwgYnVmZmVyIGZsYWdzIHdoZW4gY3JlYXRpbmcgYSBzdWJ0aXRsZSBidWZmZXIgY29weSBhZnRlciBwb3N0cHJvY2Vzc2luZwoJICBUaGlzIGFsc28gY29waWVzIHRoZSBjYXBzLiBPdGhlcndpc2Ugd2UgY291bGQgZW5kIHVwIHB1c2luZwoJICB0aGUgZmlyc3QgYnVmZmVyIHdpdGhvdXQgYW55IGNhcHMsIHdoaWNoIGNhdXNlcyBkb3duc3RyZWFtCgkgIHRvIG5vdCBnZXQgbm90aWZpZWQgYWJvdXQgdGhlIGNhcHMuCgkgIEZpeGVzIGJ1ZyAjNjY0ODkyLgoKMjAxMS0xMC0xMSAwMjowNzoxMyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBkZWZhdWx0IGZyYW1lcmF0ZSBvcHRpb25hbCBwZXIgc3RyZWFtCgkgIHRoZXJlIGlzIGF0IGxlYXN0IHR3byB1c2UgY2FzZXMgd2hlcmUgZGVmYXVsdCBmcmFtZSByYXRlCgkgIHNob3VsZCBvciBtYXkgYmUgZGlzYWJsZWQ6CgkgIC0gdnA4IHN0cmVhbSB3aXRoIGFsdHJlZiBmcmFtZSBlbmFibGVkLiBJZiBkZWZhdWx0IGZyYW1lIHJhdGUKCSAgaXMgZW5hYmxlZCwgc29tZSBwbGF5ZXJzIHdpbGwgbWlzc2ludGVycHJldGUgaXQgKGNyaXRpY2FsISkKCSAgLSBmb3Igd2VibSBjb250YWluZXIsIHRvIHJlZHVjZSBtaWNybyBvdmVyaGVhZAoJICAtIGZvciBzdHJlYW0gd2l0aCB2YXJpYWJsZSBmcmFtZSByYXRlLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTExLTMwIDIyOjEzOjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkgIHJpcHBsZXR2OiBmaXggQ0xBTVAgZW5kLXZhbHVlcwoKMjAxMS0xMS0zMCAxOToyNTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTEtMTEtMzAgMTk6MDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9wYXR0ZXJuc3BlYy5jOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmg6CgkgIHNwbGl0ZmlsZXNyYzogc3BlY2lmeSBmaWxlbmFtZXMgdmlhIG5vcm1hbCB3aWxkY2FyZHMgaW5zdGVhZCBvZiByZWd1bGFyIGV4cHJlc3Npb25zCgkgIExlc3MgY3JhY2t0YXN0aWMgaW4gdGhlIGVuZC4KCjIwMTEtMTAtMTAgMTg6Mjg6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBjaGVjayBieXRlcyBhY3R1YWxseSByZWFkLCBqdXN0IGluIGNhc2UKCSAgSGFuZGxlIGNvcm5lciBjYXNlIHdoZXJlIHdlIHRyeSB0byByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZQoJICBsYXN0IGZpbGUgcGFydCwgaW4gd2hpY2ggY2FzZSB3ZSB3YW50IHRvIHJldHVybiBhIHNob3J0IHJlYWQuCgkgIElmIHdlIGdldCBmZXdlciBieXRlcyB0aGFuIGV4cGVjdGVkIGZvciBhbnkgb3RoZXIgZmlsZSBwYXJ0LAoJICB3ZSBzaG91bGQganVzdCBlcnJvciBvdXQsIHNpbmNlIHNvbWV0aGluZyBmaXNoeSdzIGdvaW5nIG9uCgkgIHRoZW4uCgoyMDExLTEwLTA2IDA4OjMzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogc2V0IG9mZnNldHMgb24gYnVmZmVycwoJICBMb29rcyBsaWtlIHNvbWUgcGFyc2VycyAoaW4gc29tZSB2ZXJzaW9ucyBhdCBsZWFzdCkgZXhwZWN0IHRoZQoJICBvZmZzZXRzIHRvIGJlIHNldCwgYW5kIGJlaGF2ZSB3ZWlyZCBpZiB0aGF0J3Mgbm90IHRoZSBjYXNlCgkgIChlLmcuIG9mZi1ieS1vbmUgaW4gaDI2NHBhcnNlKS4KCjIwMTEtMDctMjggMjA6MTk6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5oOgoJICBtdWx0aWZpbGU6IGFkZCBzcGxpdGZpbGVzcmMgZWxlbWVudAoJICBBZGQgbmV3IHNwbGl0ZmlsZXNyYyBlbGVtZW50IHRoYXQgcHJlc2VudHMgbXVsdGlwbGUgZmlsZXMKCSAgKHNlbGVjdGFibGUgdmlhIGEgbG9jYXRpb24gcmVnZXgpIGFzIG9uZSBzaW5nbGUgY29udGlndW91cwoJICBmaWxlLgoKMjAxMS0xMS0zMCAwNzo1Nzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICB1cGRhdGUgZm9yIG1vdmVkIGF1ZGlvIGludGVyZmFjZXMKCjIwMTEtMTEtMjkgMTc6MzQ6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBSZXZlcnQgInB1bHNlYXVkaW9zaW5rOiBmaXggY2FwcyBsZWFrIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ2YTlkZTllMmFlZGM4YjY2YWIzMjE5OTAyYjVhMzdlOGQ2NWFkYTIuCgkgIHNldGNhcHMgZnVuY3Rpb25zIGFyZW4ndCBzdXBwb3NlZCB0byB0YWtlIG93bmVyc2hpcCBvZiB0aGUgY2FwcyBwYXNzZWQKCjIwMTEtMTEtMjkgMTk6MTA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBmaXggZm9yIG1vdmVkIGludGVyZmFjZXMKCjIwMTEtMTEtMjggMjM6MjA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICc3NTIxYjU5N2Y0ZGM0OWQ4ZDE2OGYzNjhmMGU3ZWJhZjk4YTcyMTU2JyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjE6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTI4IDIxOjMxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMToyNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjE6Mjc6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICdhMjMzN2I4YWY0NWNiNWU4YzA5MWZmMGUxYzNlZjRiNmNjN2IyMGEzJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMTg6MjU6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgVXBkYXRlIGZvciBpbmRleGFibGUgY2hhbmdlCgoyMDExLTExLTI4IDE3OjUyOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICB1cGRhdGUgZm9yIGNsb2NrIHByb3ZpZGVyIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMjggMTY6NTc6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGZpeCBmb3IgZWxlbWVudCBmbGFnIHVwZGF0ZXMKCjIwMTEtMTEtMjggMTI6NTg6NDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI4IDEzOjEwOjAxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI4IDEzOjEwOjAxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzoKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMS0yOCAxMzowODoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMS0yOCAxMTo0NzoxMSArMDEwMCAgQ2hhZCA8Y2hhbm5hQGNhbHRlY2guZWR1PgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogc2V0IGdhcC1hd2FyZQoJICBUaGUgZWxlbWVudCBkb2VzIG5vdCBtb2RpZnkgdGhlIGRhdGEgYW55d2F5LgoKMjAxMS0xMS0yNyAyMzozMjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHBvIGZpbGVzCgoyMDExLTExLTI3IDIzOjMxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMKCjIwMTEtMTEtMjYgMjE6Mzk6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGFsc28gc3luYyB0aGUgcGFyYW1ldGVycyBmb3IgdGhlIGZpbHRlciBiYW5kcwoKMjAxMS0xMS0yNiAxNjowNjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIG1hdHJvc2thZGVtdXg6IGluaXRpYWxpc2Ugc2Vlbl9tYXJrdXBfdGFnIGZpZWxkIG9uIHN1YnRpdGxlIHN0cmVhbSBjb250ZXh0CgoyMDExLTExLTI2IDEwOjAxOjA3ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2E6IHBvcnQgdG8gMC4xMQoJICBTdXBwb3J0IGZvciBUQUdfSU1BR0UgYW5kIFRBR19BVFRBQ0hNRU5UIGlzIGNvbW1lbnRlZCBvdXQ7IHRoaXMgcmVxdWlyZXMgY2FwcwoJICBvbiBidWZmZXJzIHdoaWNoIGlzIGdvbmUgZnJvbSAwLjExLgoJICBTZWdtZW50IGhhbmRsaW5nIGluIHRoZSBkZW11eGVyIGlzIGEgYml0IGNvbXBsZXg7IEkgYWRkZWQgc29tZSBGSVhNRSBjb21tZW50cwoJICBpbiBwbGFjZXMgd2hlcmUgSSdtIG5vdCB5ZXQgc3VyZSBpZiBJIHBvcnRlZCBjb3JyZWN0bHkuCgoyMDExLTExLTI2IDEzOjU0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlYXVkaW86IHJlcXVpcmUgcHVsc2VhdWRpbyA+PSAxLjAKCjIwMTEtMTEtMjYgMTM6MzQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYwoJICBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmMKCSAgZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oCgkgIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jCgkgIFNvbWUgcG9zc2libGUgRklYTUVzIHJlbWFpbmluZyBpbiB0aGUgYXVkaW8gcGFyc2VyIGdldGNhcHMgZnVuY3Rpb25zLgoKMjAxMS0xMS0yNSAxOToyODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBpc21sbXV4OiBVc2UgaXNvLWZyYWdtZW50ZWQgYXMgdmFyaWFudCB0eXBlCgkgIFVzaW5nICdpc28nIGNvbmZsaWN0cyB3aXRoIG1wNG11eCB2YXJpYW50IHR5cGUsIGlzbWxtdXggbm93CgkgIHVzZXMgaXNvLWZyYWdtZW50ZWQKCSAgRml4ZXMgIzY1NjgyMwoKMjAxMS0xMS0yNCAxMjowNTozMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBJbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZQoJICBQdWxzZUF1ZGlvIDEuMCBzdXBwb3J0cyBwZXItc291cmNlLW91dHB1dCB2b2x1bWVzLCBhbmQgdGhpcyBleHBvc2VzIHRoZQoJICBmdW5jdGlvbmFsaXR5IHZpYSB0aGUgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZS4KCSAgV2hlbiBjb21waWxlZCBhZ2FpbnN0IHByZS0xLjAgUHVsc2VBdWRpbywgdGhlIGludGVyZmFjZSBpcyBub3QKCSAgaW1wbGVtZW50ZWQsIGFuZCB0aGUgInZvbHVtZSIgb3IgIm11dGUiIHByb3BlcnRpZXMgYXJlIG5vdCBhdmFpbGFibGUuCgkgIFRoaXMgYml0IG9mIHVnbGluZXNzIHdpbGwgZ28gYXdheSB3aGVuIHdlIGNhbiBkZXBlbmQgb24gUHVsc2VBdWRpbyAxLjAKCSAgb3IgZ3JlYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTA1NQoKMjAxMS0wOS0xMCAyMToyMTozOCAtMDcwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IFRyaXZpYWwgY29tbWVudCBjb3B5LXBhc3RlLW8gZml4CgoyMDExLTExLTE0IDEyOjQzOjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogUmVtb3ZlIHJlZHVuZGFudCBjb2RlCgoyMDExLTExLTE0IDEyOjQxOjQxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogQ2xlYW4gdXAgcmVmY291bnRpbmcgaW4gZXZlbnQgcHJvYmUKCSAgTWFrZXMgc3VyZSB3ZSBkb24ndCBsZWFrIGEgcmVmY291bnQgaWYgdGhlIG9iamVjdCBpcyBkaXNwb3NlZCBiZWZvcmUgYQoJICBORVdTRUdNRU5UIHR1cm5zIHVwLgoKMjAxMS0xMS0yNCAxNjozMTozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggc2Vla2luZwoJICBXaGljaCBJIGFjY2lkZW50YWxseSBicm9rZSB3aGVuIGZpeGluZyBmbHYgdmlkZW9zIGJyZWFraW5nIG9uCgkgIHNwdXJpb3VzIHRpbWVzdGFtcCBkaXNjb250aW51aXRpZXMgaW4gYnJva2VuIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxNDMwCgoyMDExLTExLTI1IDEzOjEzOjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIGVmZmVjdHY6IHJlcGFpciBjb2xvciBtb2RlcyBpbiByYWRpb2FjdHYgYnkgdGFraW5nIHJnYixiZ3IgaW50byBhY2NvdW50CgoyMDExLTExLTI1IDExOjQ0OjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJICByYWRpb2FjdHY6IGFkZCBvbmUgbW9yZSBzZXQgb2YgY2FwcwoJICBJdCBhbHNvIHdvcmsgaW4gdGhpcyBmb3JtYXQuIEF2b2lkcyB0aGUgbmVlZCBmb3IgY29udmVyc2lvbi4KCjIwMTEtMTEtMjUgMTE6NDQ6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0dHY6IGZpeCByZXZlcnNlIG5lZ290aWF0aW9uCgkgIFRoZSBwbHVnaW5zIHdlcmUgdXNpbmcgX2ZpeGVkX2NhcHNfIGFuZCB0aHVzIG5vdCBhZGp1c3RpbmcgdG8gbmV3IHVwc3RyZWFtCgkgIHNpemVzLiBTcG90dGVkIGJ5IFRpbSBNw7xsbGVyLgoKMjAxMS0xMS0yNSAxMTo0MzoxNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgd2FycHR2OiByZW1vdmUgbm90IG5lZWRlZCBpZmRlZgoKMjAxMS0xMS0yNSAxMDoxNTozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJICByaXBwbGV0djogY2xlYW4gdXAgdGhlIHJlbmRlcmluZyBjb2RlIGEgYml0CgkgIFRoaXMgaXMgY29ycnJ1cHRzIHRoZSBtZW1veSB3aGVuIHJlc2l6aW5nLiBBZGQgYSBGSVhNRSB0byBtYWtlIGl0IHJlc2l6ZWFibGUKCSAgb25jZSB0aGF0IGlzIHNvbHZlZC4KCjIwMTEtMTEtMjQgMjE6NDE6MDMgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIGdzdGNoZWNrIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMjQgMjA6NDI6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHR2OiBmaXggcmV2ZXJzZSBuZWdvdGlhdGlvbgoJICBUaGUgcGx1Z2lucyB3ZXJlIHVzaW5nIF9maXhlZF9jYXBzXyBhbmQgdGh1cyBub3QgYWRqdXN0aW5nIHRvIG5ldyB1cHN0cmVhbQoJICBzaXplcy4gU3BvdHRlZCBieSBUaW0gTcO8bGxlci4KCjIwMTEtMTEtMjQgMTQ6MTQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBGaXggbGVhayBvZiBmaWxlbmFtZSBzdHJpbmdzCgkgIERvIG5vdCBmb3JnZXQgdG8gZnJlZSB0aGUgZmlsZW5hbWUgc3RyaW5ncyB3aGVuIGRlbGV0aW5nCgkgIHRoZSBsaXN0IG9mIGZpbGVzLgoKMjAxMS0xMS0yNCAxNDoxMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogZml4IGJ1aWxkIG9mIHRlc3RzCgkgIFRlc3RzIGZhaWwgdG8gYnVpbGQgYmVjYXVzZSBnX21rZHRlbXAgaXMgYXZhaWxhYmxlIGZyb20gZ2xpYiBzaW5jZQoJICAyLjI2LgoJICBUaGlzIHBhdGNoIGFkZHMgYSBjb25kaXRpb24gYXJvdW5kIHRoZSByZWRlZmluaXRpb24gb2YKCSAgZ19ta2R0ZW1wIG9uIHRoZSB0ZXN0cyB0byBvbmx5IGJ1aWxkIGl0IGlmIGdsaWIgaXMgb2xkZXIgdGhhbgoJICAyLjI2LgoKMjAxMS0wOS0yNyAxNjo0OTo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNraXAgaWQzMiB0YWdzCgkgIFRoaXMgYWxsb3dzIGRlY29kaW5nIGF0IGxlYXN0IG9uZSBzYW1wbGUgd2hlcmUgc29tZXRoaW5nIGhhcwoJICBzdHVmZmVkIHNvbWUgSUQzIHRhZyBiZWZvcmUgdGhlIChzdXBwb3NlZGx5IGluaXRpYWwpIEZNVFwgLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMjQ5CgoyMDExLTEwLTMxIDE3OjA2OjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiB0cml2aWFsIGNvbW1lbnQgZml4IGZvciBjbGFyaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE4NDEKCjIwMTEtMTAtMzEgMTc6MDQ6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IGRvbid0IGxlYXZlIGJpdHMgb2YgdGhlIG91dHB1dCBidWZmZXIgdW5pbml0aWFsaXplZAoJICBMZXQncyBpbml0aWFsaXplIHRoZW0gdG8gemVyby4gSXQgbG9va3MgYWxyaWdodCwgYnV0IHRoZW4gaXQKCSAgYWxzbyBsb29rcyBhbHJpZ2h0IHdpdGggdjMsIG9yIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgcGl4ZWxzCgkgIGZyb20gdGhlIHNvdXJjZS4gSSBkb24ndCBrbm93IHdoYXQgdGhlIG9yaWdpbmFsIGludGVudCB3b3VsZAoJICBiZSwgYW5kIHRoZSBvcmlnaW5hbCBlZmZlY3R2IHNvdXJjZSBhbHNvIGhhcyB0aGlzIGJ1Zy9mZWF0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxODQxCgoyMDExLTExLTI0IDEwOjI1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBVc2UgdGhlIHNpbmtwYWQgdGVtcGxhdGUgY2FwcyBhcyBmYWxsYmFjaywgbm90IHRoZSBzcmNwYWQgb25lcwoKMjAxMS0xMS0yNCAwOTo1OTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NTc6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NTU6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjUzOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo0OToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBNYXJrIHNvbWUgbW9yZSBmdW5jdGlvbnMgYXMgc3RhdGljCgoyMDExLTExLTI0IDA5OjQ4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo0NDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBNYXJrIHNvbWUgZnVuY3Rpb25zIGFzIHN0YXRpYyBhbmQgcmVtb3ZlIHVudXNlZCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMKCjIwMTEtMTEtMjQgMDk6NDM6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDAxOjQ4OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiB1cGRhdGUgc291cCB0ZXN0IGZvciByZW1vdmVkIGlyYWRpby1tb2RlIHByb3BlcnR5CgoyMDExLTExLTI0IDAxOjQ1OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBnZXQgcmlkIG9mIGlyYWRpby0qIHByb3BlcnRpZXMsIHBvc3QgdGFncyBpbnN0ZWFkCgoyMDExLTExLTI0IDAxOjQwOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhbHdheXMgc2VuZCBpY2VjYXN0IHJlcXVlc3QgaGVhZGVyLCBkcm9wIGlyYWRpby1tb2RlIHByb3BlcnR5CgkgIFNlcnZlciBzaG91bGQgaWdub3JlIHVua25vd24vdW5oYW5kbGVkIGhlYWRlcnMuLgoKMjAxMS0xMS0yNCAwMToxOTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogbWFrZSBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5IGEgZ3VpbnQ2NAoKMjAxMS0xMS0yNCAwMDo1Mjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEucHk6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnB5OgoJICBydHBtYW5hZ2VyOiByZW5hbWUgZ3N0cnRwKiAtPiBydHAqCgkgIFRoaXMgd2FzIGRvbmUgaW4gMC4xMCB0byBhdm9pZCBjb25mbGljdCB3aXRoIHRoZSBydHAgZWxlbWVudHMgaW4KCSAgZmFyc2lnaHQsIGJ1dCB0aGUgZ3N0LXByZWZpeGluZyBpcyBubyBsb25nZXIgbmVlZGVkIGluIDAuMTEKCjIwMTEtMTEtMjMgMjM6Mjk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZW1wMmVuYy5jOgoJICBleHQ6IGZpeCBtb3JlIHByaW50ZiBmb3JtYXQgd2FybmluZ3MgaW4gZGVidWcgbWVzc2FnZXMKCjIwMTEtMTEtMjMgMjM6Mjk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBleHQ6IGZpeCBtb3JlIHByaW50ZiBmb3JtYXQgd2FybmluZ3MgaW4gZGVidWcgbWVzc2FnZXMKCjIwMTEtMTEtMjMgMTA6MjM6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTIzIDA5OjI2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBhdm9pZCBlbmRsZXNzIGNhcHMgbG9vcAoJICBDaGVjayBpZiB0aGUgY2FwcyBhcmUgdGhlIHNhbWUgYmVmb3JlIGFkZGluZyBhIG5ldyBwcm9iZS4gQmVjYXVzZSBvZiByZWNvbmZpZ3VyZQoJICBldmVudHMsIHVwc3RyZWFtcyBzZW5kcyBtdWx0aXBsZSBjYXBzIGV2ZW50cy4KCjIwMTEtMTEtMjMgMDA6NTc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thcGFyc2UuYzoKCSogdGVzdHMvZmlsZXMvcGlua25vaXNlLXZvcmJpcy5ta3Y6CgkgIHRlc3RzOiBhZGQgYmFzaWMgdW5pdCB0ZXN0IGZvciBtYXRyb3NrYXBhcnNlCgoyMDExLTExLTIzIDAwOjU2OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBkb24ndCBsZWFrIHN0cmVhbSBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ1NDgKCjIwMTEtMTEtMjIgMDE6NDA6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgTW9yZSBwcmludGYgZm9ybWF0IHdhcm5pbmcgZml4ZXMKCjIwMTEtMTEtMjEgMjA6MzE6MzEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TIFggLyA2NGJpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE1CgoyMDExLTExLTIxIDEzOjM3OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciBhY3RpdmF0aW9uIGNoYW5nZXMKCjIwMTEtMTEtMTggMTc6NTk6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHNjaGVkdWxpbmcgcXVlcnkKCjIwMTEtMTEtMTggMTM6NTc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYWRkIHBhcmVudCB0byBhY3RpdmF0ZSBmdW5jdGlvbnMKCjIwMTEtMTEtMTcgMTc6MzY6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWN0aXZhdGUgcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgU2V0aW5nIGNhcHMgb24gYW4gaW5hY3RpdmUgZmx1c2hpbmcgcGFkIGRvZXMgbm90aGluZy4KCjIwMTEtMTEtMTcgMTc6MTc6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmMKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jCgoyMDExLTExLTE3IDE1OjAyOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBhZGQgcGFyZW50IHRvIHBhZCBmdW5jdGlvbnMKCjIwMTEtMTEtMTcgMDg6MjQ6NTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgY29sbGVjdHBhZHM6IHBvcnQgQVBJIGNoYW5nZXMKCjIwMTEtMTEtMTYgMTk6MDg6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBlbnN1cmUgdG8gZnJlZSBhbGxvY2F0ZWQgcGFkZGVkIGRhdGEKCjIwMTEtMTEtMTYgMTg6NTc6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiByZXNldCB0YWcgc2V0dGVyIGludGVyZmFjZSB3aGVuIGFwcHJvcHJpYXRlCgoyMDExLTExLTE2IDE4OjU3OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVzZXQgdGFnIHNldHRlciBpbnRlcmZhY2Ugd2hlbiBhcHByb3ByaWF0ZQoKMjAxMS0xMS0xNiAxNzo1NDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBhZGQgcGFyZW50IHRvIGludGVybmFsIGxpbmtzCgoyMDExLTExLTE2IDE3OjI3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGFkZCBwYXJlbnQgdG8gcXVlcnkgZnVuY3Rpb24KCjIwMTEtMTEtMTYgMTI6NDA6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IHVwZGF0ZSBmb3IgcmVuYW1lZCBmbGFncwoJICBVc2UgdGhlIF9jaGVja19yZWNvbmZpZ3VyZSBtZXRob2QgaW5zdGVhZCBvZiBjaGVja2luZyBmbGFncy4KCSAgRG9uJ3QgbmVlZCB0byByZWYgdGhlIHBhcmVudCBhbnltb3JlLCBjb3JlIGRvZXMgdGhhdC4KCjIwMTEtMTEtMTUgMTg6MDE6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBfcXVlcnlfcGVlcl8qKCkgLT4gX3BlZXJfcXVlcnlfKigpCgoyMDExLTExLTE1IDE3OjQ1OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIF9hY2NlcHRfY2FwcygpIC0+IF9xdWVyeV9hY2NlcHRfY2FwcygpCgoyMDExLTExLTE1IDE3OjI5OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBfcGVlcl9nZXRfY2FwcygpIC0+IF9wZWVyX3F1ZXJ5X2NhcHMoKQoKMjAxMS0xMS0xNSAxNjo1NToyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHVwZGF0ZSBmb3IgX2dldF9jYXBzKCkgLT4gX3F1ZXJ5X2NhcHMoKQoKMjAxMS0xMS0xNSAxNjozMTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgY2hhbmdlIGdldGNhcHMgdG8gcXVlcnkKCSAgQ2hhaW4gdXAgZXZlbnQgZnVuY3Rpb24gaW4gcGF5bG9hZGVycy4KCjIwMTEtMTEtMTUgMTM6MjM6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggc3B1cmlvdXMgdGltZXN0YW1wIGRpc2NvbnRpbnVpdHkKCSAgV2UgbmVlZCB0byB0ZWxsIHRoZSBiYXNlIGNsYXNzIHRoYXQgd2UncmUgZHJvcHBpbmcgYnVmZmVycywKCSAgc28gaXQgZHJvcHMgdGhlIGlucHV0IHRpbWVzdGFtcHMgY29ycmVzcG9uZGluZyB0byB0aGVzZS4KCSAgT3RoZXJ3aXNlLCB0aGUgZmlyc3QgYWN0dWFsIGF1ZGlvIGJ1ZmZlcnMgd2Ugb3V0cHV0IHdpbGwgYmUKCSAgc3RhbXBlZCB3aXRoIHRob3NlIC0gR1NUX0NMT0NLX1RJTUVTVEFNUF9OT05FLiBUaGF0IG1pc21hdGNoCgkgIGJldHdlZW4gaW5wdXQgYnVmZmVyIGNvdW50IGFuZCBvdXRwdXQgYnVmZmVyIGNvdW50IHdpbGwgc3RheQoJICB3aGlsZSBwbGF5aW5nLiBXaXRoIGVub3VnaCBoZWFkZXJzIGFuZCBsb25nIGVub3VnaCBidWZmZXIKCSAgZHVyYXRpb25zLCB0aGUgc2luayB3aWxsIGhhdmUgcGxheWVkIGVub3VnaCBiZWZvcmUgcmVjZWl2aW5nCgkgIHRoZSBmaXJzdCB2YWxpZCB0aW1lc3RhbXAgKHVzdWFsbHkgMCksIGFuZCB3aWxsIHRyaWdnZXIgYW4KCSAgYXVkaWJsZSBkaXNjb250aW51aXR5LgoKMjAxMS0xMS0xNCAxNTozNDo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGRldGVjdCB3aGVuIGEgZmlsZSBsaWVzIGFib3V0IGZpeGVkIGJsb2NrIHNpemUKCSAgSWYgdGhlIHNhbXBsZS9ibG9jayBudW1iZXIgaGFwcGVucyB0byBiZSB0aGUgc2FtZSBhcyB0aGUgYmxvY2sKCSAgc2l6ZSwgd2UgYXNzdW1lIHZhcmlhYmxlIGJsb2NrIHNpemUsIGFuZCB0aHVzIGNvdW50ZXJzIGluIHNhbXBsZXMKCSAgaW4gdGhlIGhlYWRlcnMuIFRoaXMgY2FuIG9ubHkgZ2V0IHVzIGEgZmFsc2UgcG9zaXRpdmUgZm9yIGEgYmxvY2sKCSAgc2l6ZSBvZiAxLCB3aGljaCBpcyBpbnZhbGlkLiBXZSBjYW4gZ2V0IGZhbHNlIG5lZ2F0aXZlcyBtb3JlCgkgIG9mdGVuIHRob3VnaCAoZWcsIGlmIG5vdCBzdGFydGluZyBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSksCgkgIGJ1dCB0aGVuIHRoYXQncyBhbHJlYWR5IEdJR08uCgoyMDExLTA5LTAyIDE5OjIwOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBBZGQgc3BlY2lhbCBtb2RlIHRvIHVzZSBGSVIgYXMgcmVwYWlyIGFzIEdvb2dsZSBkb2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDktMDEgMTc6NDc6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogU2VuZCBGSVIgcmVxdWVzdHMgaW4gcmVzcG9uc2UgdG8ga2V5IHVuaXQgcmVxdWVzdHMgd2l0aCBhbGwtaGVhZGVycz1UUlVFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDktMDEgMTY6MjU6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogUHV0IHRoZSBQTEkgcmVxdWVzdHMgaW4gZWFjaCBSVFBTb3VyY2UKCSAgQWxzbyByZWZhY3RvciBhIGJpdCBhbmQgcHV0IGFsbCB0aGUga2V5ZnJhbWUgcmVxdWVzdCBjb2RlIGluIG9uZQoJICBwbGFjZSBpbnNpZGUgcnRwc2Vzc2lvbi5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMDgtMzEgMTQ6MzU6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEhhY2sgdG8gRklSIGJlY2F1c2UgR29vZ2xlIGRvZXNuJ3Qgc2V0IHRoZSBzZW5kZXIgc3NyYyBjb3JyZWN0bHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOC0zMCAxOTowNjoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBQcm9jZXNzIHJlY2VpdmVkIEZ1bGwgSW50cmEgUmVxdWVzdHMKCSAgUHJvY2VzcyBGSVIgcmVxdWVzdHMgYWNjb3JkaW5nIHRvIFJGQyA1MTA0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MTkKCjIwMTEtMTEtMDcgMTg6NDM6MjYgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIHRvIDEvMQoJICBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCBzZXR0aW5nIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gZnJvbSBWNEwyLiBTbwoJICBzaW1wbHkgc2V0IGl0IHRvIGJlIDEvMSBpbiB0aGUgY2FwcyB0byBwcmV2ZW50IG5lZ290aWF0aW9uIGZhaWx1cmVzIHdoZW4KCSAgZml4YXRpbmcgdG8gd2VpcmQgdmFsdWVzIChlLmcuIHdoZW4gdGhlIGRvd25zdHJlYW0gY2FwcyBoYXMKCSAgcGl4ZWwtYXNwZWN0LXJhdGlvID0gWyBNSU4sIE1BWCBdICkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzU4MAoKMjAxMS0xMS0xNCAwOTozOToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB0ZXN0czogbWFrZSBpZDNkZW11eCB0ZXN0IGNvbXBpbGUKCSAgU3RpbGwgZmFpbHMgdGhvdWdoLgoKMjAxMS0xMS0xMiAxNTo0MjoyNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogbm8gbmVlZCB0byBleHBsaWNpdGVseSBhZGQgY29udHJvbGxlZCBwcm9wZXJ0aWVzIGFueW1vcmUKCjIwMTEtMTEtMTMgMjM6NDI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgVXBkYXRlIGZvciBHc3RVUklIYW5kbGVyIGdldF9wcm90b2NvbHMoKSBjaGFuZ2VzCgoyMDExLTExLTEzIDE4OjUwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHNvdXAsIHB1c2hmaWxlLCBydHNwLCB1ZHAsIHY0bDI6IHVwZGF0ZSBmb3IgR3N0VVJJSGFuZGxlciBBUEkgY2hhbmdlcwoKMjAxMS0xMS0xMSAxOToyNDoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoKMjAxMS0xMS0xMSAxOToyMTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHA6IGZpeCBmb3IgcnRwIGhlYWRlciBjaGFuZ2VzCgoyMDExLTExLTExIDEwOjA2OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGZpeCBjYXBzIGxlYWsKCjIwMTEtMTEtMTEgMTQ6NTU6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvIG5vdCBsZWFrIGNsaWVudG5hbWUgd2hlbiBzZXR0aW5nIHVwIHByb3BlcnR5CgoyMDExLTExLTExIDE4OjA1OjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogQ2hhaW4gdXAgZGlzcG9zZSgpIGluIHB1bHNlYXVkaW9zaW5rCgoyMDExLTExLTExIDEyOjMyOjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgdXBkYXRlIGZvciBiYXNlIGNsYXNzIHJlbmFtZQoKMjAxMS0xMS0xMSAxMjoyNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgdXBkYXRlIGZvciBiYXNlIGNsYXNzIHJlbmFtZQoKMjAxMS0xMS0xMSAxMjowMToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICB1cGRhdGUgZm9yIGF1ZGlvYmFzZSogcmVuYW1lCgoyMDExLTExLTExIDExOjUzOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgYXVkaW86IHVwZGF0ZSBmb3IgYmFzZSBjbGFzcyByZW5hbWUKCjIwMTEtMTEtMTEgMTE6MzM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIGZpeCBmb3IgcmluZ2J1ZmZlciByZW5hbWUKCjIwMTEtMTEtMTEgMTE6MjQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHVwZGF0ZSBmb3IgcmluZ2J1ZmZlciBjaGFuZ2UKCjIwMTEtMTEtMTEgMDE6Mjc6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lbXAzZW5jOiBjb3NtZXRpYyBlcnJvciBtZXNzYWdlIGNoYW5nZQoJICBMRVQnUyBUUlkgVE8gS0VFUCBDQVBJVEFMUyBUTyBBIE1JTklNVU0uCgoyMDExLTExLTExIDAwOjU4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWVtcDJlbmMuaDoKCSAgdHdvbGFtZTogcmVuYW1lIHRvIHR3b2xhbWVtcDJlbmMKCjIwMTEtMTEtMTEgMDA6NTE6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJICB0d29sYW1lOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTEtMTAgMjM6MTU6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMTAgMjM6MDk6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICB2YXJpb3VzOiBhZGQgbWlzc2luZyBpbmNsdWRlcwoKMjAxMS0xMS0xMCAyMTozNToyNCArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY29tcGlsYXRpb24gd2l0aCBwdWxzZWF1ZGlvIDAuOQoKMjAxMS0xMS0xMCAxODozMjo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciBhZGFwdGVyIGFwaSBjaGFuZ2VzCgoyMDExLTExLTEwIDE3OjIzOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdXBkYXRlIGZvciBjaGFuZ2VkIGJhc2UgY2xhc3NlcwoKMjAxMS0xMS0xMCAxMzo1MDozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgZml4IGZvciBhdWRpbyBjbG9jayBjaGFuZ2UKCjIwMTEtMTEtMTAgMTE6MDM6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdXBkYXRlIGZvciByZW1vdmVkIGZpeGF0ZSBmdW5jdGlvbgoKMjAxMS0xMS0wOSAxNzo0MDoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDkgMTc6Mzg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICB1cGRhdGVzIGZvciBuZXcgYWNjZXB0Y2FwcyBxdWVyeQoKMjAxMS0xMS0wOCAxNTozNToyNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggd3Jvbmcgc3RyaWRlIHdoZW4gaW52ZXJ0aW5nIHVuY29tcHJlc3NlZCB2aWRlbwoJICBTdWNoIGZyYW1lcyBoYXZlIGEgc3RyaWRlIG11bHRpcGxlIG9mIDQsIHNlZQoJICBodHRwOi8vbHNjdWJlLm9yZy9waXBlcm1haWwvZmZtcGVnLWlzc3Vlcy8yMDEwLUFwcmlsLzAxMDI0Ny5odG1sLgoJICBUaGlzIHNob3dlZCB1cCBvbiBhIHNhbXBsZSB1c2luZyBhIG9kZCB3aWR0aCBvZiAyNCBiaXQgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIyODgKCjIwMTEtMTEtMDkgMTI6MjU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIGgyNjNwcGF5OiByZXBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wOSAxMjoxODowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYwoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMS0xMS0wOSAxMTo1NjowNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBmaXggY29tcGlsZXIgd2FybmluZyBmb3IgdW5pbml0aWFsaXplZCB2YWx1ZXMKCjIwMTEtMTEtMDkgMTE6NTM6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHJlbW92ZSBxdWVyeSB0eXBlcwoKMjAxMS0xMS0wOSAxMDozMjowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWluaW1hbCBzYW5pdHkgY2hlY2sgb24gY3JlYXRpb24gZGF0ZXRpbWUKCjIwMTEtMTEtMDQgMTc6NTQ6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IFJlamVjdCBzdGFydC9zdG9wIHJlcXVlc3RzIHRoYXQgY29tZSBvdXQgb2Ygb3JkZXIKCjIwMTEtMTAtMjkgMTg6MjQ6MjYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUG9zdCBtZXNzYWdlcyB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQvcmVjZWl2ZSBEVE1GCgkgIFRoaXMgd2F5LCB0aGUgVUkgY2FuIGRpc3BsYXkgdGhlIERUTUYgZXZlbnRzIGFzIHRoZXkgYXMgYmVpbmcgc2VudC4KCjIwMTEtMTEtMDIgMTI6NTg6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBSZXR1cm4gdGhlIHNpbmsgcGFkIHRlbXBsYXRlIGFzIHNpbmsgY2Fwcywgbm90IHRoZSBzcmMncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDA5LTAzLTE1IDE5OjI2OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBBbHNvIGltcGxlbWVudCBzaXplL2ZyYW1lcmF0ZSByZXN0cmljdGlvbnMgaW4gZ2V0Y2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDA5LTAzLTA0IDIwOjUwOjE5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBJbXBsZW1lbnQgZ2V0Y2FwcyBmb2xsb3dpbmcgUkZDIDQ2MjksIHBpY2tzIHRoZSByaWdodCBhbm5leGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMTEtMTEtMDggMTQ6MzE6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gc2V0IHNlZ21lbnQgc3RvcCBhdCBzdGFydHVwIHJhdGhlciB0aGFuIG9ubHkgcG9zdCBzZWVrCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgY29uc2lzdGVudCBwbGF5YmFjayB3aXRoIG9yIHdpdGhvdXQgc2VlaywgZXNwZWNpYWxseQoJICBpbiBwcmVzZW5jZSBvZiBzb21lIGJvZ3VzIGVkaXQgbGlzdCBlbnRyaWVzLgoKMjAxMS0xMS0wOCAxMToxODowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgcHJvYmUgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMDggMDg6NTA6MTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGNvZGUgY2xlYW51cHMKCSAgTW92ZSB2YXJpYWJsZXMgdG8gdGhlIHNjb3BlIHdoZXJlIHRoZXkgYXJlIG5lZWRlZC4gVXNlIG91ciBtYWNyb3MgYW5kIGZ1bmN0aW9ucwoJICBtb3JlLgoKMjAxMS0xMS0wOCAwODo0OTowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogYWRkIGEgc2lua19xdWVyeSB0byBlYXQgYWxsb2NhdGlvbiBxdWVyaWVzCgkgIFdlIHNob3VsZCBub3QgZm9yd2FyZCBhbGxvY2F0aW9uIHF1ZXJpZXMgZm9yIGF1ZGlvIHRvIHRoZSB2aWRlbyBzaW5rLgoKMjAxMS0xMS0wMiAxNzowMjo1NCArMDAwMCAgUmF1bCBHdXRpZXJyZXogU2VnYWxlcyA8cmdzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgIGdzdC9mbHYvOiBhZGQgYW1mZGVmcy5oIHRvIG5vaW5zdF9IRUFERVJTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMzMzQKCjIwMTEtMTEtMDcgMTc6MTQ6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBmaXggZm9yIHByb2JlIHVwZGF0ZXMKCjIwMTEtMTAtMDMgMTc6NTA6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBkZXRlY3QgbGFyZ2UgcHRzIGdhcHMgYW5kIHJlc3luYwoJICBTaG91bGQgd29yayBvbiBtdWx0aXBsZSBnYXBzLCBidXQgdGVzdGVkIG9uIG9ubHkgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxNDMwCgoyMDExLTA4LTIyIDEwOjQwOjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IG9mZiBieSBvbmUgYmV0d2VlbiBncmFucG9zIGFuZCBsYXN0X3N0b3AKCjIwMTEtMTAtMDcgMTk6NDE6MzUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggbGFzdCBmcmFtZSB0aW1lc3RhbXAgaW4gZml4ZWQgYmxvY2sgc2l6ZSBtb2RlCgkgIFRoZSBsYXN0IGJsb2NrIG1heSBoYXZlIGEgZGlmZmVyZW50IGJsb2NrIHNpemUsIHNvIHdlIHNob3VsZCBub3QKCSAgdXNlIGl0IHRvIHNjYWxlIG9yIHdlJ2xsIGVuZCB1cCB3aXRoIGEgd3JvbmcgdGltZXN0YW1wLgoJICBTZWUgY29tbWVudCBhbmQgcXVvdGUgZnJvbSB0aGUgRkxBQyBmb3JtYXQgZG9jdW1lbnRhdGlvbiBpbiB0aGUgY29kZS4KCSAgRml4ZXMgbG9vcGVkIHBsYXliYWNrIG9mIEZMQUMgZmlsZXMgKHZpYSBhYm91dC10by1maW5pc2gpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxMjE1CgoyMDExLTEwLTI3IDE1OjUyOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogYWRkIGEgJ3NpbGVudCcgcHJvcGVydHkgdG8gc2tpcCByZW5kZXJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mjg1NgoKMjAxMS0xMS0wNyAxMjowMDoxMiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBmaXggcmVncmVzc2lvbiBjYXVzaW5nIG1hbGZvcm1lZCBmaWxlcwoJICBUaGlzIHdhcyBjYXVzZWQgYnkgbWUgaW4gMWIyMTNkLiBJdCBzZWVtcyBJIHdhcyB0b28gZm9jdXNlZCBvbiAwLjExIHdoZW4gSSBkaWQKCSAgdGhpcyBhbmQgdGVzdGVkIHRoZSB3cm9uZyBicmFuY2guCgkgIFRoZSBwcm9ibGVtIHdhcyByZXBvcnRlZCBieSBBbGV4ZXkgRmlzaGVyLgoKMjAxMS0xMS0wNCAxODo0MTozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBsb2NhdGlvbiBhbmQgYXBpCgoyMDExLTExLTA0IDE3OjM5OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDE2OjIxOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBtb3JlIDAuMTEgZml4aW5nCgkgIE1ha2Ugc3VyZSB0aGUgY2FwcyBldmVudCBnZXRzIHRvIHRoZSBzaW5rLgoKMjAxMS0xMS0wNCAxNTozNTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogcG9ydCBzb21lIG1vcmUKCSAgUmVuYW1lIGRlY29kZWJpbjIgLT4gZGVjb2RlYmluIHNvbWUgbW9yZQoJICBDbGVhbnVwIHVwIHNpbmtwYWQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMTEtMDQgMTM6NTY6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IHBvcnQgc29tZSBtb3JlIHRvIDAuMTEKCSAgV2UgbXVzdCBub3QgZm9yd2FyZCB0aGUgY2FwcyBldmVudC4gaW5zdGVhZCB3ZSB3aWxsIGRlY2lkZSB3aGF0IHRvIGRvIHdoZW4gdGhlCgkgIHBhZCBibG9jayBpcyB0YWtlbi4KCSAgVXNlIGRlY29kZWJpbiBpbnN0ZWFkIG9mIGRlY29kZWJpbjIKCjIwMTEtMTEtMDQgMTM6MTI6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxMTo1ODoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBtYWtlICV1IGluIGFsbCByZXF1ZXN0IHBhZCB0ZW1wbGF0ZXMKCjIwMTEtMTEtMDQgMTE6MDE6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYwoKMjAxMS0xMS0wNCAxMDozMjo0NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgUG9ydCBhcGVkZW11eAoKMjAxMS0xMS0wMyAyMzoyODozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHA6IHVzZSBHTGliJ3MgR19CSUdfRU5ESUFOIGRlZmluZSBpbnN0ZWFkIG9mIEJJR19FTkRJQU4KCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyBvbiBtaW5ndzMyCgoyMDExLTExLTAzIDE2OjQzOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldyBuZXQgbGlicmFyeQoKMjAxMS0xMS0wMiAxMjowOToyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHRhZ3M6IHVwZGF0ZSBmb3IgdGFnIEFQSSByZW1vdmFsCgoyMDExLTExLTAyIDEwOjQwOjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0zMSAwMjo0MDowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldGJ1ZmZlciBhcGkgY2hhbmdlCgoyMDExLTEwLTMxIDAyOjM1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXRhZGRyZXNzIGNoYW5nZQoKMjAxMS0xMC0zMSAwMjoyNDowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB1cGRhdGUgZm9yIG1ldGEgYXBpIGNoYW5nZQoKMjAxMS0xMC0yOSAwOToyOToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHRhc2sgYXBpCgoyMDExLTEwLTI5IDA5OjA5OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBzdHJ1Y3R1cmU6IGZpeCBmb3IgYXBpIHVwZGF0ZQoKMjAxMS0xMC0yOSAwODoyNToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIGJ1ZmZlcmxpc3Q6IHVwZGF0ZSBmb3IgbmV3IEFQSQoKMjAxMS0xMS0wMSAwMDo0MDo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBVcGRhdGUgZm9yIHBhZCBBUEkgY2hhbmdlcwoJICBHc3RQcm9iZVR5cGUsIEdzdFByb2JlUmV0dXJuIGFuZCBHc3RBY3RpdmF0ZU1vZGUgLT4gR3N0UGFkKgoKMjAxMS0xMC0zMSAxODozODo1NSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBvYnZpb3VzIGNyYXNoCgoyMDExLTEwLTMxIDE2OjE4OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHNob3J0Y3V0IGV2YWx1YXRpb24gd2hlbiBhZGRpbmcgcGFpcmVkIG1wNCB0YWcKCSAgRml4ZXMgKHBhcnQgb2YpICM2Mzg3MTEuCgoyMDExLTEwLTMxIDE1OjQzOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvIG5vdCB1c2UgdW5vZmZpY2FsIFZfTUpQRUcgY29kZWMgaWQKCSAgLi4uIGJ1dCBhcyBub3Qgc3BlYydlZCBlc3BlY2lhbGx5LCBjb25zaWRlciBpdCBhIFZmVyBjb21wYXRpYmlsaXR5IGNhc2UuCgkgIEZpeGVzICM2NTk4MzcuCgoyMDExLTEwLTMwIDE5OjMwOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogcmVtb3ZlIGRlYWQgY29kZSBmcm9tIGhlYWRlcgoJICBXZSByZXF1aXJlIGEgbmV3LWVub3VnaCBsaWJmbGFjIHRoYXQgdGhpcyBjb25kaXRpb24gd2lsbCBuZXZlciBhcHBseS4KCjIwMTEtMTAtMzAgMTk6MDk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBwYXJzZSBzdHJlYW0gaGVhZGVycyBmcm9tIGNhcHMgaW4gc2V0X2Zvcm1hdCBmdW5jdGlvbgoJICBOb3QgdGhhdCB0aGlzIHNlZW1zIHRvIGJlIGFjdHVhbGx5IG5lZWRlZCwgbGliZmxhYyBoYXBwaWx5IGRlY29kZXMKCSAgc3R1ZmYgZXZlbiBpZiB3ZSBqdXN0IGRyb3AgYWxsIGhlYWRlcnMgYW5kIG5ldmVyIGZlZWQgaXQgdG8gdGhlCgkgIGxpYnJhcnkuCgoyMDExLTEwLTMwIDE4OjQ5OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBkb24ndCBleHRyYWN0IG1ldGFkYXRhLCBsZWF2ZSB0aGF0IHRvIHRoZSBwYXJzZXIgb3IgY29udGFpbmVyCgoyMDExLTEwLTMwIDE4OjQ1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiB3ZSBleHBlY3QgZnJhbWVkIGlucHV0IG5vdywgcmVtb3ZlIHNvbWUgbW9yZSBjb2RlCgoyMDExLTEwLTA5IDE2OjE4OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBuYWl2ZSBwb3J0IHRvIEdzdEF1ZGlvRGVjb2RlcgoJICBUaGlzIHdvdWxkIHByb2JhYmx5IGhhdmUgYmVlbiB0b28gaW52YXNpdmUgdG8gZG8gaW4gdGhlIDAuMTAKCSAgYnJhbmNoLCB3aXRoIGFsbCB0aGUgcHVsbC1tb2RlIGFuZCBwYXJzZXIgaGFuZGxpbmcgY29kZSBpbgoJICB0aGVyZS4KCjIwMTEtMTAtMzAgMTI6Mjk6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYW1lL1JFQURNRToKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkqIGV4dC9sYW1lL3BsdWdpbi5jOgoJKiBleHQvbGFtZS90ZXN0LWxhbWUuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2xhbWUuYzoKCSAgbGFtZTogcmVtb3ZlIGxhbWUgZWxlbWVudCwgaXQncyBiZWVuIHN1cGVyc2VkZWQgYnkgbGFtZW1wM2VuYwoKMjAxMS0xMC0zMCAxMTo1MTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGV4dCwgZ3N0OiB1cGRhdGUgZm9yIHRhZ2xpc3QgQVBJIGNoYW5nZXMKCjIwMTEtMTAtMzAgMTE6NDQ6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZXh0LCBnc3Q6IHVwZGF0ZSBmb3IgdGFnbGlzdCBBUEkgY2hhbmdlcwoKMjAxMS0xMC0zMCAxMTo0MTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBhdWRpbyB0ZXN0cyBpbiB1bmluc3RhbGxlZCBzZXR1cAoKMjAxMS0xMC0yOCAyMToyNjozMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogc2ltcGxpZnkgZ2V0X3VuaXRfc2l6ZQoKMjAxMS0xMC0yOCAyMToxOTo0MiArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJICB0ZXN0czogYXVkaW9lY2hvOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMjE6MTg6MzMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBmaXggaW50ZXJuYWwgYnVmZmVyIHNpemUgY2FsY3VsYXRpb24KCjIwMTEtMTAtMjggMTQ6MDU6NDggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkgIHRlc3RzOiBhdWRpb2NoZWJiYW5kOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMTY6NTI6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTI4IDE1OjA4OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBmaXggcG9ydGluZyBlcnJvcnMKCSAgVGhlIHByb2JlcyB3ZXJlIHBvcnRlZCB3cm9uZ2x5IGFuZCBjYXVzZWQgZGVhZGxvY2tzLgoKMjAxMS0xMC0yOCAwOTo1NzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBzb2YtbWFya2VyIHRvIHRlbXBsYXRlIGNhcHMsIHNvIHdlIGRvbid0IGdldCBwbHVnZ2VkIGZvciBsb3NzbGVzcyBqcGVnCgkgIGpwZWdkZWMgKHVzaW5nIGxpYmpwZWcgNi4yLzgpIGNhbid0IGRlY29kZSBzb21lIGxvc3NsZXNzIHR5cGVzIG9mIEpQRUcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTY2NDgKCjIwMTEtMTAtMjggMTM6MDY6MjAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJICB0ZXN0czogYXVkaW9jaGVibGltaXQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAxMzowMjo1NiArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IGZpeCBjcmFzaCBpbiBwcm9jZXNzKCkKCjIwMTEtMTAtMjggMTE6NDg6MzEgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSAgdGVzdHM6IGF1ZGlvYW1wbGlmeTogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDEyOjUxOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBmaXggY2hlY2sgZm9yIGVtcHR5IGNhcHMKCjIwMTEtMTAtMjggMTI6MzA6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVsYWJvcmF0ZSBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMTAtMTEgMjA6NTY6NTEgKzA0MDAgIFN0YXMgU2VyZ2VldiA8c3RzcEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBiZSBjYXJlZnVsIHdpdGggbmVnYXRpdmUgY3RzCgkgIEZpeGVzICM2NjE0NzcuCgoyMDExLTEwLTA2IDEzOjA0OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiB0dW5lIG5vbi11cGRhdGUgc2VlayBoYW5kbGluZyBjYXNlcwoJICBGaXhlcyAjNjYxMDQ5LgoKMjAxMS0xMC0yOCAxMTo0Njo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuYwoKMjAxMS0xMC0yOCAxMToxNjozOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICBhdWRpb2R5bmFtaWM6IGRvbid0IHNldCBwcm9jZXNzIGZ1bmN0aW9uIHRvbyBlYXJseQoJICBHc3RBdWRpb0luZm8gYW5kIEdzdEF1ZGlvRmlsdGVyIGhhdmUgYmVlbiBjaGFuZ2VkIHNvIHRoYXQgdGhpcyBjb2RlIGRvZXNuJ3QKCSAgY3Jhc2ggYW55bW9yZSB3aGVuIGEgcHJvcGVydHkgaXMgc2V0IGluIE5VTEwgc3RhdGUuCgoyMDExLTEwLTI4IDEwOjQyOjA0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkgIHRlc3RzOiBhdWRpb2R5bmFtaWM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAwMDoyNDoxNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkgIHRlc3RzOiBzcGVjdHJ1bTogcG9ydCB0byAwLjExCgoyMDExLTEwLTI3IDIzOjU3OjE3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJICB0ZXN0czogYXVkaW9wYW5vcmFtYTogcG9ydCB0byAwLjExCgoyMDExLTEwLTI3IDIzOjU2OjEyICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmaXggZ2V0X3VuaXRfc2l6ZQoKMjAxMS0xMC0yOCAxMDo0MDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogVXNlIHRoZSBjbGlwIGZ1bmN0aW9uIGluc3RlYWQgb2YgdGhlIHByZXBhcmVfYnVmZmVyIGZ1bmN0aW9uCgoyMDExLTEwLTI4IDA5OjA1OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBydHBtYW5hZ2VyLCB2NGwyOiBmaXggY29tcGlsZXIgd2FybmluZ3MgYWZ0ZXIgZ3N0X2NhcHNfbmV3X3NpbXBsZSgpIGNoYW5nZQoKMjAxMS0xMC0yOCAwOTowMTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFmdGVyIGdzdF9jYXBzX25ld19zaW1wbGUoKSBjaGFuZ2UKCjIwMTEtMTAtMjggMDk6MzY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSAgdmlkZW9taXhlcjI6IFVzZSBjb2xsZWN0cGFkczIgZnJvbSBjb3JlCgoyMDExLTEwLTI3IDE5OjM5OjIwICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBwb3J0IHRvIDAuMTEgcmF3IGF1ZGlvIGNhcHMKCjIwMTEtMTAtMjcgMTk6MDY6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYwoKMjAxMS0xMC0yNyAxOTowMDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBtYWtlIHNvbWUgbW9yZSB0aGluZ3MgY29tcGlsZSBhZ2FpbgoKMjAxMS0xMC0yNyAxNjowODoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCjIwMTEtMTAtMjcgMTY6MDM6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMjggMDA6NDE6NDUgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRG9uJ3QgcG9pbnRsZXNzbHkgaG9sZCBvYmplY3QgbG9jayBvdmVyIGNhcHMgb3BlcmF0aW9ucwoJICBBdm9pZHMgYSBkZWFkbG9jayB3aGVuIGdldGNhcHMgaXMgcmVjdXJzaXZlIGR1ZSB0byB0aGUgZ2V0Y2FwcyBiZWluZwoJICByZWZsZWN0ZWQgdXBzdHJlYW0vZG93bnN0cmVhbS4gVGhlIGxvY2sgaXNuJ3QgYWN0dWFsbHkgcHJvdGVjdGluZwoJICBhbnl0aGluZyBoZXJlLgoKMjAxMS0xMC0yNyAwMDozNzowMyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2Zsdi9hbWZkZWZzLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogYWRkIHNvbWUgY29tbWVudHMgYW5kIGRlZmluZXMgdG8gY2xhcmlmeSBjb2RlLgoKMjAxMS0xMC0xMCAxNTozNjoxNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiByZWZhY3RvciBlYm1sLXdyaXRlIHRvIGJlIG1vcmUgMC4xMSBmcmllbmRseQoJICBTd2l0Y2hpbmcgdG8gYSBtb3JlIDAuMTEtZnJpZW5kbHkgcGF0dGVybiwgd2hlcmUgZ2V0dGluZyB0aGUgYnVmZmVyJ3MgZGF0YQoJICBwb2ludGVyIGFuZCBzZXR0aW5nIHRoZSBzaXplIG1hbnkgdGltZXMgaXMgbGVzcyBuYXR1cmFsLiBUaGlzIGlzIG9mIGNvdXJzZSBpbgoJICBwcmVwYXJhdGlvbiB0byB0aGUgdXBjb21pbmcgcG9ydCBvZiB0aGUgcGx1Z2luLgoKMjAxMS0xMC0xMSAyMTo0NTo0NiArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiByZW1vdmUgc3RhbGUgZmxvYXRjYXN0IGluY2x1ZGUKCSAgR0RPVUJMRV9UT19CRSB3YXMgbW92ZWQgdG8gY29yZSBhIGxvbmcgdGltZSBhZ28uCgoyMDExLTEwLTExIDIyOjEwOjI3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHBvc3NpYmxlIGNyYXNoIHdpdGggbWFsZm9ybWVkIGRpcmFjIGNvZGVjX2RhdGEKCSAgU2luY2Ugc2l6ZSBpcyB1bnNpZ25lZCwgd2UgbmVlZCB0byBzYWZlZ3VhcmQgYWdhaW5zdCB3cmFwcGluZyBiZWxvdyB6ZXJvLgoKMjAxMS0xMC0yMSAyMjozMzozNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogcmVtb3ZlIGF2b2lkYWJsZSBjYWxsIHRvIGdzdF9vYmplY3Rfc2V0X25hbWUKCjIwMTEtMTAtMjEgMjI6MzI6MzggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBhdm9pZGFibGUgY2FsbCB0byBnc3Rfb2JqZWN0X3NldF9uYW1lCgoyMDExLTEwLTIxIDE0OjUxOjIzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgaW50ZXJmYWNlczogY2xlYW4gdXAgdGhlIHVzZSBvZiBpZmFjZSBhbmQgY2xhc3Mva2xhc3MKCjIwMTEtMTAtMjEgMTE6Mzc6MDUgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgc28gaXRzIHBhcmFsZWwtaW5zdGFsbGFibGUgYW5kIG9ubHkgdHJpZXMgdG8gcGFja2FnZSBwb3J0ZWQgcGx1Z2lucwoKMjAxMS0xMC0xNiAyMDozMDoyNSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogaW5jcmVhc2UgYXJiaXRyYXJ5IHJlc29sdXRpb24gbGltaXRzCgkgIEFwcGFyZW50bHkgbGlicG5nIGNhbiB0ZWNobmljYWxseSBkbyB1cCB0byAyXjMxLTEgcm93cyBhbmQgY29sdW1ucy4gSG93ZXZlciBpdAoJICBpbXBvc2VzIGFuIChhcmJpdHJhcnkpIGRlZmF1bHQgbGltaXQgb2YgMSBtaWxsaW9uICh0aGF0IGNvdWxkIHRoZW9yZXRpY2FsbHkgYmUKCSAgbGlmdGVkIGJ5IHVzaW5nIHNvbWUgYWRkaXRpb25hbCBBUEkpLgoJICBNb3ZlZCBhcnJheSBhbGxvY2F0aW9uIHRvIHRoZSBoZWFwIG5vdy4KCjIwMTEtMTAtMTYgMjA6MjU6NDEgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGRvbid0IHVuY29uZGl0aW9uYWxseSBhbGxvY2F0ZSA0MDk2IHBvaW50ZXJzIG9uIHRoZSBzdGFjawoJICBJbnN0ZWFkIGFsbG9jYXRlIGFzIG1hbnkgYXMgbmVlZGVkIChvbiB0aGUgc3RhY2sgc3RpbGwpLgoKMjAxMS0xMC0xNiAyMDowNToyOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogZW5zdXJlIHNldGNhcHMgd2FzIGNhbGxlZCBiZWZvcmUgY2hhaW4gZnVuY3Rpb24KCSAgVGhpcyBpcyBuZWVkZWQgdG8gcHJvcGVybHkgZXJyb3Igb3V0IGZvciBlLmcuICJmYWtlc3JjICEgcG5nZW5jICEgZmFrZXNpbmsiLgoKMjAxMS0xMC0xNiAxOTo0NDoyNyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogdmFsaWRhdGUgaW5wdXQgYnVmZmVyIHNpemUKCSAgSnVzdCBmb3Igc2FmZXR5OyBvZiBjb3Vyc2Ugc3VjaCBtaXNtYXRjaCByZXByZXNlbnRzIGEgYnVnIGluIGFub3RoZXIgZWxlbWVudC4KCjIwMTEtMTAtMTYgMTk6NDE6MjggKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmdlbmM6IG1ha2Ugc2V0Y2FwcyBtb3JlIHJvYnVzdCwgdXNlIGdzdHZpZGVvIGZ1bmN0aW9ucwoJICBBIHNldGNhcHMgZnVuY3Rpb24gbmVlZHMgdG8gYWN0dWFsbHkgdmVyaWZ5IHRoZSBjYXBzIGNhcmVmdWxseS4gSW4gdGhpcyBjYXNlLAoJICBpdCB3YXMgcG9zc2libGUgdG8gZS5nLiBsaW5rIGEgdmlkZW8gZGVjb2RlciB3aXRoIFlVVitSR0IgdGVtcGxhdGUgY2FwcyB0bwoJICBwbmdlbmMuICBUaGF0IHdvdWxkIGNhdXNlIGEgY3Jhc2ggd2hlbiB0aGUgZGVjb2RlciBwdXNoZXMgYSBZVVYgYnVmZmVyLiBTYW1lCgkgIHRoaW5nIHdoZW4gcHVzaGluZyBhIHZhbGlkIGJ1ZmZlciB0aGF0IGV4Y2VlZHMgdGhlIHJlc29sdXRpb24gbGltaXRzLgoJICBBbHNvLCBtaXNzaW5nIGZyYW1lcmF0ZSBjYXBzIGZpZWxkIHdvdWxkIGNhdXNlIGEgZ2xpYiBjcml0aWNhbCB3YXJuaW5nIGR1ZSB0bwoJICBpbnZhbGlkIEdWYWx1ZS4gVGhpcyBmYWlscyBoYXJkIG5vdy4KCjIwMTEtMTAtMjEgMTA6MDE6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgZWJtbDogc21hbGwgY29ycmVjdGlvbiB0byBwcmV2aW91cyBjb21taXQKCSAgU2lnbmFsIGEgc2hvcnQgcmVhZCB3aXRoIFVORVhQRUNURUQsIGV4YWN0bHkgbGlrZSB0aGUgcGVla19ieXRlcyBmdW5jdGlvbi4KCjIwMTEtMTAtMTkgMTM6MDk6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIGVibWw6IEZpeCBwdXNoLWJhc2VkIGJlaGF2aW91cgoJICBUaGUgJ3BlZWsnIG1ldGhvZCB3YXMgY29tcGxldGVseSB3cm9uZyAoIT8pCgoyMDExLTEwLTE4IDE4OjMxOjE3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogR2V0IGNhcHMgY29ycmVjdGx5IG9uIHBhZCBibG9jawoJICBJbnN0ZWFkIG9mIGFsd2F5cyBnb2luZyB1cHN0cmVhbSwgd2Ugc2hvdWxkIGZpcnN0IHNlZSBpZiBhbHJlYWR5IGdvdAoJICBjYXBzIGZyb20gYSBzZXRjYXBzKCkgY2FsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTI2MgoKMjAxMS0xMC0xOCAxMjoyNToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IGRvbid0IHVucmVmIGJ1ZmZlciB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKQoKMjAxMS0xMC0xOCAxMjowNTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBvbmx5IHVzZSBpc19wY20gZm9yIDEuMCBvZiBwdWxzZWF1ZGlvCgoyMDExLTEwLTE4IDExOjU4OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9ubHkgZGlzYWJsZSB0cmlja21vZGVzIGZvciAhcGNtCgkgIE9ubHkgZGlzYWJsZSB0cmlja21vZGVzIHdoZW4gd2UgYXJlIG5vdCBkZWFsaW5nIHdpdGggcmF3IFBDTSBzYW1wbGVzLgoKMjAxMS0xMC0xNiAxNTozMjo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogZml4IGNvbXBpbGF0aW9uCgoyMDExLTEwLTE2IDE1OjI2OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmMKCjIwMTEtMTAtMTQgMTA6NTY6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZpeCBhIGxlYWsKCSAgQnVmZmVycyB3ZXJlbid0IGJlaW5nIHVucmVmJ2VkIGluIG9uZSBjYXNlIGluc2lkZSwgY2F1c2luZyBtZW1vcnkgdXNhZ2UKCSAgdG8gYmxvdyB1cC4KCjIwMTEtMTAtMTQgMDk6MTA6MDEgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBzZXQgY29sb3VyIG1hc2tzIGZvciB2aWRlby94LXJhdy1yZ2IgaW4gcnRwdnJhd2RlcGF5CgoyMDExLTEwLTEzIDAxOjA1OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmUtZW5hYmxlIHZpZGVvY3JvcCBwbHVnaW4KCSAgQWxyZWFkeSBwb3J0ZWQgdG8gMC4xMQoKMjAxMS0xMC0xMyAwMTowNTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSAgYXNwZWN0cmF0aW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTMgMDA6Mzk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIHZpZGVvY3JvcDogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDE3OjQzOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSAgdGVzdHM6IGFzcGVjdHJhdGlvY3JvcDogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDA4OjI0OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkgIHRlc3RzOiBhbHBoYWNvbG9yOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTMgMTc6MTI6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBQcm9wZXJseSByZWdpc3RlciB0eXBlCgkgIEl0J3MgYSBzdWJjbGFzcyBvZiBHc3RBdWRpb0VuY29kZXIgYW5kIG5vdCBvZiBHc3RFbGVtZW50CgoyMDExLTEwLTEzIDE2OjU5OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBGaXggaW5jb3JyZWN0IGdzdF9idWZmZXJfcmVwbGFjZSgpIGNhbGwKCSAgVGhpcyBnb3QgZXhwb3NlZCB3aGVuIGdzdF9idWZmZXJfcmVwbGFjZSgpIHdhcyBjaGFuZ2VkIGZyb20gYSBtYWNybyB0byBhCgkgIGZ1bmN0aW9uLgoKMjAxMS0xMC0xMyAwOTozNDowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBGaXggd3JvbmcgdXNhZ2Ugb2YgZ3N0X2l0ZXJhdG9yX2ZpbHRlcgoJICBJdCB0YWtlcyBhIEdWYWx1ZSogYXMgdGhlIHVzZXJfZGF0YS4KCSAgQW5kIGRvbid0IGZvcmdldCB0byB1bnJlZiB0aGUgZGVtdXhlciBiZWZvcmUgcmV0dXJuaW5nLgoKMjAxMS0xMC0xMyAwOTowMjo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgZml4IGNvbXBpbGUKCjIwMTEtMTAtMTMgMDg6NTg6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgkgIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jCgoyMDExLTEwLTEyIDA4OjA5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgIHRlc3RzOiBjbW1sZW5jOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMDg6MDI6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgdGVzdHM6IGNtbWxkZWM6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAwNzoyOTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBVc2UgbmV3IEdzdEl0ZXJhdG9yIEFQSSBjb3JyZWN0bHkKCSAgR3N0SXRlcmF0b3Igbm93IHVzZXMgR1ZhbHVlLCB1c2UgaXQgY29ycmVjdGx5LgoKMjAxMS0xMC0xMiAxMToyNjo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogT25seSB1c2UgMjQgTFNCIGZvciBkZXB0aD0yNCBSR0IgY2FwcwoJICAuLi4gYW5kIGluZGVudCB0aGUgbWFza3MgZm9yIGNsYXJpdHkKCjIwMTEtMTAtMTEgMTQ6NTg6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggc2VnbWVudCBoYW5kbGluZywgc28gd2UgYWN0dWFsbHkgdXNlIHJ1bm5pbmcgdGltZQoJICBnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkIGFkanVzdHMgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgdG8gcnVubmluZyB0aW1lIHVzaW5nCgkgIHRoZSBzZWdtZW50IHN0b3JlZCBpbiB0aGUgcGFkJ3MgY29sbGVjdCBkYXRhLiBIb3dldmVyLCB0aGUgZXZlbnQgaGFuZGxlciBkaWRuJ3QKCSAgcGFzcyB0aGUgbmV3c2VnbWVudCBldmVudCBvbiB0byBjb2xsZWN0cGFkcycgaGFuZGxlciwgc28gdGhpcyBzZWdtZW50IHdhcyBuZXZlcgoJICB1cGRhdGVkIGF0IGFsbC4KCSAgUmUtZml4ZXMgYnVnICM0MzI2MTIuCgoyMDExLTEwLTEwIDE5OjAxOjIzICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJICBnc3RydHBnNzIycGF5OiBDb21wZW5zYXRlIGZvciBjbG9ja3JhdGUgdnMuIHNhbXBsZXJhdGUgZGlmZmVyZW5jZQoJICBUaGUgUlRQIGNsb2NrLXJhdGUgdXNlZCBmb3IgRzcyMiBpcyA4MDAwLCBldmVuIHRob3VnaCB0aGUgc2FtcGxlcmF0ZSBpcwoJICAxNjAwMC4gQ29tcGVuc2F0ZSBmb3IgdGhpcyBieSBwcmV0ZW5kaW5nIEc3MjIgaGFzIDggYml0cyBwZXIgc2FtcGxlCgkgIGluc3RlYWQgb2YgdGhlIDQgYml0cyBhcyBpZiBpdCB3ZXJlIGEgY29kZWMgdGhhdCByYW4gYXQgaGFsZiB0aGUgc3BlZWQsCgkgIGJ1dCB3aXRoIHR3aWNlIHRoZSBudW1iZXIgb2YgYml0cy4gRml4ZXMgIzY2MTM3NgoKMjAxMS0wOS0yNyAxOToyNTo1MyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEltcGxlbWVudCB1cHN0cmVhbSBuZWdvdGlhdGlvbgoJICBBZGQgdXBzdHJlYW0gbmVnb3RpYXRpb24gZm9yIGpwZWdkZWMuIEZpeGVzICM2NjAyNzUKCjIwMTEtMTAtMTAgMTk6MDI6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBkb24ndCBsZWFrIGF1ZGlvIGNvZGVjX2RhdGEgYnVmZmVyCgoyMDExLTEwLTEwIDE3OjQxOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIGFscGhhOiBEb24ndCB1c2Ugc3RhcnQoKSB2bWV0aG9kCgkgIFRoZSBvbmx5IHRoaW5nIHdlJ3JlIGRvaW5nIGlzIGluaXRpYWxpemluZyBwYXJhbWV0ZXJzIC4uLgoJICAqIHdoaWNoIHdvbid0IHdvcmsgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIHVwc3RyZWFtL2Rvd25zdHJlYW0gY2FwcwoJICAqIHdoaWNoIHdpbGwgYmUgaW5pdGlhbGl6ZWQgd2hlbiA6OnNldF9jYXBzKCkgaXMgY2FsbGVkCgoyMDExLTEwLTEwIDE0OjA4OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0xMCAxMzoyMjoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIGlkM2RlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTAgMTM6MjA6MDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBtaXNzaW5nIFBMVUdJTl9BU0VfTElCUyB0byBMREFERAoKMjAxMS0xMC0xMCAxMjo1NDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTAgMTI6Mjc6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBhbm5vZGV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTAgMTE6NDg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmMKCjIwMTEtMTAtMTAgMDA6MTg6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogcG9ydCBwdWxzZXV0aWwgdG8gMC4xMQoKMjAxMS0xMC0wOSAyMToxNzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDkgMTg6NTg6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXhpbmcgZ2V0Y2FwcyBmdW5jdGlvbgoJICBVcGRhdGUgZ2V0Y2FwcyBmdW5jdGlvbiB0byAwLjExIEFQSQoKMjAxMS0xMC0wOSAyMTozMToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiBvbmx5IHB1c2ggaGVhZGVyIGJ1ZmZlcnMgZm9sbG93aW5nIGluaXRpYWwgZXZlbnRzCgoyMDExLTEwLTA5IDE2OjI5OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wOSAxNjoyNDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiB1cGRhdGUgZm9yIF9fZ3N0X2RlYnVnX21pbiBuYW1lIGNoYW5nZQoKMjAxMS0xMC0wOSAxMToxODoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIHF0bXV4OiBGaXggbWVtb3J5IGxlYWsgb24gYXRvbXMgcmVjb3ZlcnkgZnVuY3Rpb24KCSAgUmVtZW1iZXIgdG8gZnJlZSB0aGUgZnR5cCBkYXRhIGFmdGVyIHdyaXRpbmcgaXQgdG8gYSBmaWxlLgoJICBGaXhlcyAjNjYwOTY5CgoyMDExLTEwLTA2IDEyOjI2OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVwb3J0IG5ldyBiaXRzCgoyMDExLTEwLTA2IDEyOjIzOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jCgkgIGdzdC9pc29tcDQvYXRvbXMuYwoJICBnc3QvaXNvbXA0L2dzdHF0bXV4LmMKCjIwMTEtMDktMjEgMTg6NDU6NDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIHNlZ21lbnQgaGFuZGxpbmcgd2l0aCBub24temVybyBzdGFydGluZyB0aW1lc3RhbXAKCSAgLi4uIGFzIHdlbGwgYXMgcmVsYXRlZCBpdGVtcywgc3VjaCBhcyBzZWVraW5nIGFuZCBwb3NpdGlvbiByZXBvcnRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk4MDgKCjIwMTEtMDktMjkgMTg6NDE6NTMgKzA0MDAgIFN0YXMgU2VyZ2VldiA8c3RzcEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHY0bDIsIHhpbWFnZXNyYzogZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMTUwCgoyMDExLTA5LTMwIDEyOjQyOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogUmVmYWN0b3IgYml0cmF0ZSBjaGVjayB0ZXN0CgkgIFJlZmFjdG9yIGJpdHJhdGUgY2hlY2sgdGVzdCB0byBhY2NvbW9kYXRlIG11bHRpcGxlIHRlc3RzCgkgIGZvciBiaXRyYXRlCgoyMDExLTA5LTMwIDEzOjAyOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IHVwZGF0ZSBlc2RzIGF0b20gdW5kZXIgd2F2ZSBhdG9tIGZvciBhYWMgYml0cmF0ZXMKCSAgQUFDIGluIG1vdiBmb3JtYXQgcHV0cyBhbiBFU0RTIGF0b20gaW5zaWRlIG9mIGEgV0FWRSBhdG9tIGluCgkgIFNUU0QgYXRvbSwgd2UgbmVlZCB0byB1cGRhdGUgdGhlIGJpdHJhdGUgb24gdGhpcyBFU0RTLiBUaGlzIHBhdGNoCgkgIGZpeGVzIGl0LgoKMjAxMS0wOS0zMCAxMjo0MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkgIHF0bXV4OiBBbHNvIHVwZGF0ZSBidHJ0IGF0b20KCSAgV2hlbiByZXdyaXRpbmcgYml0cmF0ZXMsIGFsc28gdXBkYXRlIHRoZSBidHJ0IGF0b20gdW5kZXIgc3RzZAoKMjAxMS0wOS0zMCAxMDo1NTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGFkZCB0ZXN0cyBmb3IgYml0cmF0ZSBhdmVyYWdlIGNhbGN1bGF0aW9uCgkgIEFkZHMgdGVzdHMgdG8gbWFrZSBzdXJlIHF0bXV4L21wNG11eCBzZXRzIGF2ZXJhZ2UgYml0cmF0ZQoJICBjb3JyZWN0bHkKCjIwMTEtMDktMjggMTE6NDE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogQ2FsY3VsYXRlIGF2ZXJhZ2UgYml0cmF0ZSBmb3Igc3RyZWFtcwoJICBDYWxjdWxhdGUgYW5kIHVzZSBhdmVyYWdlIGJpdHJhdGUgZm9yIHN0cmVhbXMgd2hlbiBubwoJICBiaXRyYXRlIHRhZyB3YXMgcmVjZWl2ZWQKCjIwMTEtMDktMjggMTA6NDE6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQXZvaWQgYSBidWZmZXIgbWV0YWRhdGEgY29weSBpZiBwb3NzaWJsZQoJICBJZiBmaXJzdF90cyBpcyAwIHRoZXJlIGlzIG5vIG5lZWQgdG8gc3VidHJhY3QsIHNvIHdlIG1pZ2h0CgkgIHNraXAgc29tZSBjb3B5aW5nIHRvIG1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZS4KCjIwMTEtMDktMjkgMjM6MjE6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBpbml0aWFsaXNlIHZhcmlhYmxlIGJlZm9yZSBhZGRpbmcgdG8gaXQKCjIwMTEtMDktMjkgMTc6MjE6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleGRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMDktMjkgMTY6MzM6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiBjbGVhbiB1cCBzb21lIHVudXNlZCByZW1uYW50cwoKMjAxMS0wOS0yOSAxNzozMjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTA5LTI4IDE5OjEwOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZ2V0IHJpZCBvZiBncmFudWxlcG9zIGhhbmRsaW5nCgkgIExlYXZlIHRoYXQgdG8gdGhlIHBhcnNlciBvciBkZW11eGVyLiBUaGVyZSdzIHN0aWxsIHNvbWUKCSAgY29kZSBmb3Igb3BlcmF0aW5nIGluIERFRkFVTFQgKHNhbXBsZXMpIGZvcm1hdCwgYnV0IHRoYXQKCSAgd2lsbCBiZSByZW1vdmVkIGxhdGVyLgoKMjAxMS0wOS0yOCAxODozMjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZ2V0IHJpZCBvZiBwdWxsLW1vZGUgc3VwcG9ydCBhbmQgZm9jdXMgb24gYmVpbmcgYSBkZWNvZGVyCgkgIExlYXZlIGFsbCB0aGUgb3RoZXIgc3R1ZmYgdG8gZmxhY3BhcnNlLgoKMjAxMS0wOS0yOCAxNzoyOTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBmbGFjLCBqcGVnOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMS0wOS0yOCAxNzo0MDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWM6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOS0yOCAxNzozOToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmMKCjIwMTEtMDktMjggMTY6MTg6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA5LTI4IDE2OjA5OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjcgMTU6NTk6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thZGVtdXg6IGVuc3VyZSBtaW5pbWFsIGFsaWdubWVudCBmb3IgYXVkaW8veC1yYXctKiBidWZmZXJzCgkgIFNpbmNlIG1hdHJvc2thZGVtdXggd2lsbCBhdHRlbXB0IHRvIHB1c2ggdW5hbGlnbmVkIGJ1ZmZlcnMsCgkgIGRvd25zdHJlYW0gbWlnaHQgaGF2ZSB0cm91YmxlIHdpdGggdGhvc2UsIGVzcGVjaWFsbHkgaWYgZG93bnN0cmVhbQoJICB1c2VzIE9SQywgc3VjaCBhcyBhdWRpb2NvbnZlcnQuCgkgIEVuc3VyZSB3ZSBwdXNoIGJ1ZmZlcnMgYWxpZ25lZCB0byB0aGUgYmFzaWMgdHlwZSBhdCBsZWFzdCBmb3IKCSAgdGhvc2UgcmF3IGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk3OTgKCjIwMTEtMDktMjggMTI6NDQ6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29tbW9uCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoJICBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmMKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmMKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmMKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMKCjIwMTEtMDktMjggMDA6MTA6MDkgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvZ29vbV9jb3JlLmM6CgkgIGdvb20yazE6IEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiA2NCBiaXQgbWluZ3ctdzY0CgkgIEZpeGVzIGJ1ZyAjNjYwMjk0LgoKMjAxMS0wOS0yNyAxODoxOTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lOiBmaXggcmF3IGF1ZGlvIGNhcHMgdG9vCgoyMDExLTA5LTI3IDE4OjE1OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWU6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOS0yNiAxNjoyOToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6CgkgIHR3b2xhbWU6IFNpbXBsZSBmaXggZm9yIEdzdEF1ZGlvRW5jb2RlciBBUEkgY2hhbmdlCgoyMDExLTA5LTI2IDE2OjI4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzoKCSAgdHdvbGFtZTogRml4IHZhcmlhYmxlICdnc3RlbGVtZW50X2NsYXNzJyBzZXQgYnV0IG5vdCB1c2VkIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDktMjYgMTY6MDg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWU6IERvbid0IGdldCB0aGUgcGFyZW50IGNsYXNzIGFnYWluLCBHU1RfQk9JTEVSUExBVEUgZG9lcyB0aGlzIGFscmVhZHkKCjIwMTEtMDktMjYgMTY6MDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWU6IEZpeCB2YXJpYWJsZSAnZ3N0ZWxlbWVudF9jbGFzcycgc2V0IGJ1dCBub3QgdXNlZCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA5LTI2IDEyOjA3OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzoKCSAgdHdvbGFtZTogaW1wcm92ZSBvdXRwdXQgZnJhbWluZyBhbmQgdGltZXN0YW1waW5nCgkgIC4uLiB3aGljaCBzaW1wbHkgY29tZXMgZG93biB0byByZXF1ZXN0aW5nIG9uZSBmcmFtZSBvZiBpbnB1dCBkYXRhIGF0IGEgdGltZSwKCSAgc2luY2UgdGhlIGVuY29kZXIgbmljZWx5IHR1cm5zIHRoaXMgaW50byAxIGVuY29kZWQgZnJhbWUuCgoyMDExLTA5LTI2IDExOjU2OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSAgdHdvbGFtZTogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjMgMTU6MzI6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBsYW1lOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDExLTA5LTIzIDE1OjI2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBsYW1lOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yMyAxNDozMzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTEtMDktMjYgMTQ6NDQ6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lbXAzZW5jOiByZWFsbHkgcmVwb3J0IGJpdHJhdGUgcmF0aGVyIGtiaXRyYXRlCgoyMDExLTA5LTI2IDE0OjQ0OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuaDoKCSAgbGFtZW1wM2VuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjUgMTU6MTM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJICBzb3VwOiByZW5hbWUgc291cGh0dHBzaW5rIHRvIHNvdXBodHRwY2xpZW50c2luawoJICBUbyBhdm9pZCBjb25mdXNpb24sIGFuZCBiZWNhdXNlIHdlIG1pZ2h0IHdhbnQgYSBzZXJ2ZXIKCSAgc2luayBhdCBzb21lIHBvaW50IHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTk0NwoKMjAxMS0wOS0yMyAxNjozOTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmg6CgkgIHNvdXBodHRwc2luazogZG9uJ3QgY3JlYXRlIHVudXNlZCBzZWNvbmQgc2luayBwYWQgb2JqZWN0CgkgIFRoZSBiYXNlIGNsYXNzIHdpbGwgY3JlYXRlIHRoZSBzaW5rIHBhZC4KCjIwMTEtMDktMjMgMTU6MzY6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogY29ycmVjdGx5IGNoZWNrIGZvciBhYzMvZS1hYzMgc3dpdGNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5NDMKCjIwMTEtMDktMjEgMTQ6MDE6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gdG8gMC4xMSBicmFuY2gKCjIwMTEtMDktMjAgMTM6Mzg6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBpbXByb3ZlIGRvd25zdHJlYW0gZmxvdyByZXR1cm4gZmVlZGJhY2sgdG8gdXBzdHJlYW0KCSAgLi4uIGFsdGhvdWdoIGJhc2VydHBkZXBheSBkb2VzIG5vdCByZWFsbHkgbWFrZSBpdCBlYXN5L3Bvc3NpYmxlIHRvIGRvIHNvCgkgIGFsbCB0aGUgd2F5LgoKMjAxMS0wOS0yMCAxMjoxMTo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICB4aW1hZ2VzcmM6IGFkZCB4aWQgYW5kIHhuYW1lIHByb3BlcnRpZXMgdG8gYWxsb3cgY2FwdHVyaW5nIGEgcGFydGljdWxhciB3aW5kb3cKCSAgQSBwYXJ0aWN1bGFyIHdpbmRvdyBtYXkgYmUgc2VsZWN0ZWQgdXNpbmcgdGhlIG5ldyB4aWQgKFgtV2luZG93CgkgIFhJRCwgZWcgYSBwb2ludGVyKSBhbmQgeG5hbWUgKHdpbmRvdyB0aXRsZSkgcHJvcGVydGllcy4gSWYgYm90aAoJICBhcmUgc3BlY2lmaWVkLCB0aGUgWElEIGlzIHVzZWQgaW4gcHJlZmVyZW5jZSwgZmFsbGluZyBiYWNrIHRvCgkgIHhuYW1lIGlmIG5vdCBmb3VuZC4KCSAgRGVmYXVsdCAoaWYgbm9uZSBvZiB4aWQgYW5kIHhuYW1lIGFyZSBzcGVjaWZpZWQsIG9yIGlmIG5vIHN1Y2gKCSAgd2luZG93IGlzIGZvdW5kKSBpcyB0byBjYXB0dXJlIHRoZSByb290IHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjkzMgoKMjAxMS0wOC0wMiAxNzozOTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCB0byBtYWtlIHN1cmUgZW5jb2RlYmluIHBpY2tzIG1wNG11eCBmb3IgdmFyaWFudD1pc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTQ5NgoKMjAxMS0wOS0xOSAxMjoxNToxMSArMDIwMCAgSGEgTmd1eWVuIDxoYW5ndXl0dkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGaXggYSBsZWFrZWQgY2xvY2sgZm9yIGVhY2ggYnVmZmVyaW5nIG1lc3NhZ2UKCSAgRml4ZXMgYnVnICM2NTkyMzcuCgoyMDExLTA5LTE5IDEyOjExOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGVtYmVkZGVkIElEMzIgdGFncwoKMjAxMS0wOS0wMiAxMzo0MTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBzb3VyY2UgcHJlbWF0dXJlIHRpbWluZyBvdXQKCSAgVXNlIHNsaWdodGx5IGFkanVzdGVkIHNlbmRlciBpbnRlcnZhbCB0byBkZXRlcm1pbmUgc2VuZGVyIHRpbWVvdXQgcmF0aGVyIHRoYW4KCSAgb3VyIG93biBzZW5kZXIgc2lkZSBpbnRlcnZhbCAod2hpY2ggbWF5IGhhdmUgYmVlbiBmb3JjZWQgc21hbGwpLgoKMjAxMS0wOC0yNSAxMjo0MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBhdm9pZCB0aW1pbmcgb3V0IHNvdXJjZSB0b28gcXVpY2tseQoJICAuLi4gZm9sbG93aW5nIGEgUEFVU0UvUExBWSBjeWNsZSwgcGFydGljdWxhcmx5IGFwcGxpY2FibGUgd2hlbiBvcGVyYXRpbmcKCSAgd2l0aCBhIHNob3J0IFJUQ1AgaW50ZXJ2YWwgKHBvc3NpYmx5IGZvcmNlZCBzbyBzZXJ2ZXItc2lkZSkuCgoyMDExLTA4LTI0IDE0OjM3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyL3J0cGJpbjogcmVsYXggZHJvcHBpbmcgcnRjcCBwYWNrZXRzCgkgIC4uLiB0byBhdCBsZWFzdCBoYXZpbmcgaXQgdHJpZ2dlciBhL3Ygc3luY2hyb25pemF0aW9uLCBwb3NzaWJseSB3aXRob3V0CgkgIHVzaW5nIHByb3ZpZGVkIHZhbHVlcyB3aGljaCBhcmUgc3RpbGwgbm90IGNvbnNpZGVyZWQgc2FuZQoJICAoYXMgcHJldmlvdXNseSBkcm9wcGVkKS4KCjIwMTEtMDgtMjQgMTQ6MzQ6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc29tZSBtb3JlIHJlc2V0IHdoZW4gY2xlYXJpbmcgcHQgbWFwCgkgIC4uLiB3aGljaCBpbiBwYXJ0aWN1bGFyIGNhdGVycyBmb3Igc29tZSBtb3JlIHJlc2V0IGZvbGxvd2luZyBhIHBvc3NpYmxlCgkgIHJ0c3AgUExBWS4KCjIwMTEtMDgtMjEgMjE6NTg6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkbyBub3Qgc2V0IGVsZW1lbnRzIHRvIFBMQVlJTkcgd2hlbiBkb2luZyBzZWVrIGluIFBBVVNFRAoKMjAxMS0wOS0wMSAxNDo0Nzo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvbmx5IHJlc2V0IHNrZXcgb24gZ2FwIGlmIGlucHV0IHRzIGF2YWlsYWJsZQoKMjAxMS0wOC0xOCAxNDoxMjoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBjaGVjayBzb21lIG1vcmUgZm9yIHBvc3NpYmxlIHJ0cCB0aW1lc3RhbXAgZGlzY29udGludWl0eQoJICAuLi4gd2hlbiBvcGVyYXRpbmcgaW4gbm9uIHNsYXZlIG1vZGUsIGFuZCByZXNldCBpZiBkZXRlY3RlZC4KCSAgVGhpcyBzaG91bGQgYXZvaWQgc29tZSAobGFyZ2UpIGJvZ3VzIG91dGdvaW5nIHRpbWVzdGFtcCBkdWUgdG8ganVtcHMKCSAgaW4gcnRwIHRpbWUsIGFzIHJlc3VsdCBvZiBQQVVTRS9QTEFZIG9yIHNlZWsgb3IgLi4uCgoyMDExLTA4LTA4IDEyOjQ4OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc3dpdGNoIHRvIHJ0cCB0aW1lIGJhc2VkIHN5bmNpbmcgd2hlbiBndWVzc2VkIGFwcHJvcHJpYXRlCgoyMDExLTA4LTA4IDEyOjE1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhbHRlcm5hdGl2ZSBpbnRlci1zdHJlYW0gc3luY2luZyBtZXRob2RzCgkgIC4uLiBhdCBsZWFzdCBpZiBub3Qgc3luY2luZyB0byBOUFQgdGltZToKCSAgKiBlaXRoZXIgc3luYyB1c2luZyBSVENQIFNSIGRhdGEgKGFzIGN1cnJlbnRseSkKCSAgKiBvbmx5IHBlcmZvcm0gdGhlIGFib3ZlIG9uY2UgdXNpbmcgaW5pdGlhbCBSVENQIFNSIHBhY2tldHMKCSAgKiBkaXNjYXJkIFJUQ1AgYW5kIHN5bmMgYnkgZXF1YXRpbmcgcHJvdmlkZWQgc3RyZWFtJ3MgY2xvY2stYmFzZSBydHB0aW1lLAoJICBhcyBwcm92aWRlZCBieSBqaXR0ZXJidWZmZXIgKHR5cGljYWxseSBvYnRhaW5lZCBmcm9tIFJUUC1JbmZvIGluIFJUU1ApLgoKMjAxMS0wOC0wOCAxMjoxMToyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhbHNvIHByb3ZpZGUgY2xvY2stYmFzZSB0byBzeW5jIHNpZ25hbAoKMjAxMS0wOC0wOCAxMjowOTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWxsb3cgY29uZmlndXJhYmxlIHJ0Y3Agc3RyZWFtIHN5bmNpbmcgaW50ZXJ2YWwKCSAgLi4uIHJhdGhlciB0aGFuIG5lY2Vzc2FyaWx5IHN5bmNpbmcgYXQgZWFjaCBSVENQIFNSLgoKMjAxMS0wOC0wMSAwODozNTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHRyaWdnZXIgcmVjb25zaWRlcmF0aW9uIGlmIHJ0Y3AgaW50ZXJ2YWwgc2V0CgoyMDExLTA4LTAxIDA4OjMyOjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY29uZmlndXJlIHJ0Y3AgaW50ZXJ2YWwgaWYgcHJvdmlkZWQKCSAgLi4uIGluIFBMQVkgcmVzcG9uc2UuCgoyMDExLTA5LTE2IDE2OjUzOjIyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogRml4IGFsbG93aW5nIHplcm8gZHVyYXRpb24gdHJhY2tzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc0ODYKCjIwMTEtMDktMDUgMTA6MTE6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHBzcmM6IGVycm9yIG91dCB3aGVuIG5vIHByb3RvY29sIGlzIHNwZWNpZmllZCBpbiB0aGUgdXJpCgkgIEl0IGlzIGNlcnRhaW5seSBiZXR0ZXIgdGhhbiB0byBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODE3OAoKMjAxMS0wOS0xOSAwOTozNzo1OCArMDIwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGRvIG5vdCB1c2UgaW52YWxpZCBidWZmZXIgdGltZXN0YW1wcwoKMjAxMS0wMy0yOSAxMjowOToxOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBOZXcgcHVsc2VhdWRpb3NpbmsgZWxlbWVudCB0byBoYW5kbGUgZm9ybWF0IGNoYW5nZXMKCSAgVGhpcyBpbnRyb2R1Y2VzIGEgbmV3IGJpbiB3aGljaCB3cmFwcyBhcm91bmQgcHVsc2VzaW5rIGFuZCBkZXBlbmRpbmcgb24KCSAgdGhlIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBzaW5rLCBwbHVncyBpbi9vdXQgYSBkZWNvZGViaW4yIGFzCgkgIHJlcXVpcmVkLiBUaGlzIGFsbG93cyB1c2VycyB0byBzd2l0Y2ggc2lua3Mgb24gdGhlIHN0cmVhbSBhbmQgYWRhcHRzCgkgIGFjY29yZGluZ2x5IChmb3IgZXhhbXBsZSwgeW91IGNvdWxkIHdhdGNoIGEgbW92aWUgaW4gcGFzc3Rocm91Z2ggbW9kZSBvbgoJICB5b3VyIHJlY2VpdmVyIHdoaWNoIHN1cHBvcnRzIEFDMyBkZWNvZGUsIHRoZW4gcGx1ZyBvdXQgYW5kIHN3aXRjaCB0byBhCgkgIG5vbi1kaWdpdGFsIHByb2ZpbGUgdG8gY29udGludWUgdW5pbnRlcnJ1cHRlZCBvbiBhbmFsb2cgb3V0cHV0KS4KCSAgVGhlIGJpbiBpcyByZXF1aXJlZCBiZWNhdXNlIGRvaW5nIHRoZSBzYW1lIHdpdGggcGxheWJpbjIvcGxheXNpbmsgd2lsbAoJICByZXF1aXJlIEFQSSBjaGFuZ2VzIHRoYXQgY2Fubm90IGJlIG1hZGUgaW4gMC4xMC4gV2l0aCAwLjExLzEuMCwgd2UKCSAgc2hvdWxkIGJlIGFibGUgdG8gYXNrIGZvciB1cHN0cmVhbSBjYXBzIHJlbmVnb3RpYXRpb24gdG8gZGVhbCB3aXRoIGFsbAoJICB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MTc5CgoyMDExLTA5LTE2IDE1OjAzOjIzICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBBdm9pZCBzZW5kaW5nIEVPUyB3aGVuIGluIHBhdXNlZCBzdGF0ZQoJICBDaGFuZ2VkIHRoZSBlYm1sIHJlYWRlcidzIGdzdF9lYm1sX3BlZWtfaWRfbGVuZ3RoKCkgZnVuY3Rpb24gc28KCSAgdGhhdCBpdCByZXR1cm5zIHRoZSBhY3R1YWwgcmVhc29uIGZvciB3aHkgdGhlIHBlZWsgZmFpbGVkLCBpbnN0ZWFkCgkgIG9mIChhbG1vc3QpIGFsd2F5cyByZXR1cm5pbmcgR1NUX0ZMT1dfVU5FWFBFQ1RFRC4gVGhpcyBwcmV2ZW50cwoJICB0aGUgcHVsbGluZyB0YXNrIGZyb20gc2VuZGluZyBFT1Mgd2hlbiBkb2luZyBhIGZsdXNoaW5nIHNlZWsuCgoyMDExLTA5LTE1IDE1OjUzOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc3R1dHRlcmluZyBBL1YKCSAgU29tZW9uZSBnb3QgaGFkIGJ5IGltcGxpY2l0IHByb21vdGlvbiB0byB1bnNpZ25lZCBpbiBvcHMgd2l0aAoJICBhIHNpZ25lZCBhbmQgYW4gdW5zaWduZWQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkxNTMKCjIwMTEtMDktMTQgMTY6Mzc6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiB0b2dnbGUgcGF1c2UvcGxheSBvbiBzcGFjZSBiYXIKCSAgQSB1c2VmdWwgdGhpbmcgdG8gaGF2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA2NQoKMjAxMS0wOS0xNCAxNDo0NjowMCArMDIwMCAgRGF2aWQgU3ZlbnNzb24gRm9ycyA8ZGF2aWRzZkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogY29uZmlndXJhYmxlIHRpbWVzdGFtcCBnYXAgaGFuZGxpbmcKCSAgbWF0cm9za2FkZW11eCBwZXJmb3JtcyBzZWdtZW50IHRyaWNrcyB0byBza2lwIGdhcHMgaW4gc3RyZWFtcywKCSAgbm90YWJseSBhdCBzdGFydCBmb3Igbm9uIDAgYmFzZWQgZmlsZXMuICBUaGVyZSBtYXkgaG93ZXZlciBiZQoJICBjYXNlcyB3aGVuIGZ1bGwgcHJlc2VudGF0aW9uIChpbmNsdWRpbmcgaW50ZXJtZWRpYXRlIGdhcHMpIGlzCgkgIGRlc2lyZWQsIHNvIGEgcHJvcGVydHkgYWxsb3dzIHRvIGNvbmZpZ3VyZSBhcyBvZiB3aGljaCBnYXAKCSAgdG8gYWN0IChvciBub3QgYXQgYWxsKS4KCSAgQVBJOiBHc3RNYXRyb3NrYURlbXV4OjptYXgtZ2FwLXRpbWUKCSAgRml4ZXMgIzY1OTAwOS4KCjIwMTEtMDktMTIgMDk6MjE6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIHRlc3RzOiBmbHZtdXg6IEZpeCBmbHZtdXgncyB0ZXN0cyBhZnRlciBmaXggZm9yIHJlcXVlc3QgcGFkcyBoYW5kbGluZwoJICBOb3cgdGhhdCBmbHZtdXggZG9lc24ndCByZWxlYXNlIGl0cyByZXF1ZXN0IHBhZHMgb24gUEFVU0VELT5SRUFEWSB0aGUKCSAgdGVzdCBkb2Vzbid0IG5lZWQgdG8gcmUtcmVxdWVzdCB0aGVtIGZvciBldmVyeSByZXVzZSB0ZXN0IHN0YXJ0LgoKMjAxMS0wOS0wOSAwOToxMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggY3R0cyBnZW5lcmF0aW9uIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3Qgc3RhcnQgYXQgMCB0aW1lc3RhbXBzCgkgIFN1YnRyYWN0IHRoZSBmaXJzdCB0aW1lc3RhbXAgb2YgYSBzdHJlYW0gZnJvbSBhbGwgaW5wdXQgYnVmZmVycyB0bwoJICBnZXQgMC1iYXNlZCB0aW1lc3RhbXBzIGZvciBjcmVhdGluZyBhIHNhbmUgY3R0cyB0YWJsZS4gV2l0aG91dCB0aGlzCgkgIHBhdGNoIHRoZSBjdHRzIGNvdWxkIGhhdmUgbGFyZ2VyIHZhbHVlcyB0aGFuIG5lZWRlZCwgY2F1c2luZyB0aGUKCSAgcGxheWJhY2sgdG8gaGF2ZSBhIGRlbGF5IGF0IHN0YXJ0dXAuCgkgIEFzIHRoZSBmaXJzdCB0aW1lc3RhbXAgaXMgb25seSBmb3VuZCBhZnRlciBhIGZldyBidWZmZXJzIGFyZSBxdWV1ZWQKCSAgKGR1ZSB0byBwb3NzaWJsZSByZW9yZGVyZWQgYnVmZmVycyksIG9uY2Ugd2UgZmluZCB0aGUgZmlyc3QgdGltZXN0YW1wCgkgIHdlIHN1YnRyYWN0IGl0IGZyb20gYWxsIGJ1ZmZlcnMgb24gdGhlIHF1ZXVlLCBmcm9tIHRoYXQgcG9pbnQgb24sCgkgIGFsbCBidWZmZXJzIGhhdmUgdGhlaXIgdGltZXN0YW1wcyBzdWJ0cmFjdCB3aGVuIHRoZXkgYXJlIGNvbGxlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODY1OQoKMjAxMS0wOS0xMiAwNzo1NToxOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHJlbGVhc2UgcmVxdWVzdCBwYWRzIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgRG9uJ3QgcmVsZWFzZSByZXF1ZXN0IHBhZHMgYnV0IGp1c3QgcmVzZXQgdGhlbS4gVGhpcyBtYWtlcyBwaXBlbGluZXMgdXNpbmcKCSAgZmx2bXV4IHJldXNhYmxlLgoKMjAxMS0wOS0wOSAxMjozNTo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiB1c2UgYnNpZCA5IGFuZCAxMCB0byBjb250cm9sIHNhbXBsZSByYXRlCgkgIFNlZSBodHRwOi8vbWF0cm9za2Eub3JnL3RlY2huaWNhbC9zcGVjcy9jb2RlY2lkL2luZGV4Lmh0bWwKCSAgVGhlIHNwZWMgaXMgc2lsZW50IGFib3V0IHRoaXMgdGhvdWdoLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NDYKCjIwMTEtMDktMDcgMTQ6MTM6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBlbnN1cmUgc29tZSBpbml0aWFsIHN0YXRlIHZhcmlhYmxlIHNldHVwCgkgIC4uLiB3aGljaCBtaWdodCBvdGhlcndpc2UgYmUgc2tpcHBlZCBpZiB0aGUgUExBWSBjb21tYW5kIGlzIGlzc3VlZCBiZWZvcmUKCSAgdGhlIE9QRU4gY29tbWFuZCBoYWQgYSBjaGFuY2UgdG8gYWN0dWFsbHkgYmUgYWN0ZWQgdXBvbi4KCSAgRml4ZXMgIzY1NzM3Ni4KCjIwMTEtMDktMDggMTU6MDI6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR3ZWFrIGdhcCBoYW5kbGluZwoJICAuLi4gc28gYXMgdG8gYXZvaWQgYnVmZmVycyBiZWZvcmUgYW5kIGFmdGVyIGdhcCB0byBoYXZlIGlkZW50aWNhbCBydW5uaW5nIHRpbWUuCgoyMDExLTA5LTA4IDEzOjI4OjI0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdXNlIEdTVF9SRVNPVVJDRV9FUlJPUl9CVVNZIGlmIHY0bDJfaW9jdGwgZmFpbHMgd2l0aCBFQlVTWQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTQzCgoyMDExLTA5LTA3IDA4OjU0OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBvbmUgR19VTkxJS0VMWSBmb3IgdXNlciBwcm9wZXJ0eQoJICBVc2luZyBHX1VOTElLRUxZIG9uIHVzZXIgcHJvcGVydGllcyBpc24ndCBuaWNlLCBzcGVjaWFsbHkgd2hlbgoJICB0aGF0IGlzIHRoZSBkZWZhdWx0IG9wdGlvbi4KCjIwMTEtMDMtMTUgMTE6MDM6NTMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogaGFuZGxlIEdzdEZvcmNlS2V5VW5pdCBldmVudAoJICAuLi4gYnkgc3RhcnRpbmcgYSBuZXcgY2x1c3RlciBhZnRlciBmb3J3YXJkaW5nIGV2ZW50LgoJICBGaXhlcyAjNjQ0MTU0LgoKMjAxMS0wOS0wNyAxNDoyNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgY21tbDogVXNlIGNvbXBsZXRlIGNtbWwgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDExLTA5LTA3IDE0OjI2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBVc2UgY29tcGxldGUgTVBFRyBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTEtMDktMDcgMTQ6MTg6NTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGNsZWFudXAgbWFrZWZpbGVzCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IHBhcnRzIHRoYXQgd2UgZG9uJ3QgbmVlZC4gUmVtb3ZlICJ0aGUgd2luZ28gYWRkaXRpb24iIC0gbm8KCSAgc28gdXNlZnVsIGFmdGVyIGFsbC4gTmFycm93IGRvd24gZmlsZS1nbG9icyBmb3IgcGx1Z2luIGRvY3MuCgoyMDExLTA4LTI5IDE0OjEyOjIyICswMjAwICBLb25zdGFudGluIE1pbGxlciA8a29uc3RhbnRpbi5taWxsZXJAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGhhbmRsZSBIVFRQIHJlc3BvbnNlIDQwNyBhcyBlcnJvciBpZiBwcm94eSBhdXRoZW50aWNhdGlvbiBkYXRhIGlzIGF2YWlsYWJsZQoJICBGaXhlcyBidWcgIzY1NzQyMi4KCjIwMTEtMDktMDcgMTI6MTE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogQWRkIENvbnZlcnRlciB0byB0aGUgY2xhc3NpZmljYXRpb24gYmVjYXVzZSBpdCBjYW4gY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudCBhbGlnbm1lbnRzCgkgIFRoaXMgYWxsb3dzIGRlY29kZWJpbjIgdG8gbGV0IGl0IG5lZ290aWF0ZSBwcm9wZXJseS4KCjIwMTEtMDktMDcgMTI6MTA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEltcHJvdmUgc3JjIHRlbXBsYXRlIGNhcHMKCSAgUmVtb3ZlIHRoZSBwYXJzZWQvZnJhbWVkIGZpZWxkcyBhbmQgYWRkIGFsbCBmaWVsZHMgdG8gdGhlIHRlbXBsYXRlCgkgIGNhcHMgdGhhdCBhbHdheXMgZXhpc3QuCgoyMDExLTA5LTA2IDE1OjU5OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogcGFyc2UgY29kZWNfZGF0YSB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIHNhbXBsZXMgcGVyIGZyYW1lCgkgIEZpeGVzICM2NTY3MzQuCgoyMDExLTA5LTA2IDIxOjI0OjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhMzllYjgzIHRvIDExZjBjZDUKCjIwMTEtMDktMDYgMTY6NTc6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdHJ5IHRvIGRpc2FibGUgZGVpbnRlcmxhY2UuLgoKMjAxMS0wOS0wNiAxNTo0MDozMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDE2OjM3OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbW1vbgoKMjAxMS0wOS0wNiAxNjowNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmMKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTEtMDktMDYgMTU6NDA6MzIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwNWNkOWEgdG8gYTM5ZWI4MwoKMjAxMS0wOS0wNiAxNTowNTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IG1ha2UgZGVmYXVsdCBkdXJhdGlvbiBjaGVjayBsZXNzIHNlbnNpdGl2ZQoJICBGcmFtZSBkdXJhdGlvbiBtaWdodCB2YXJ5IGZvciAxIHVzZWNvbmQsIGluIHRoaXMgY2FzZSBtYXRyb3NrYW11eAoJICBkZWNpZGVzIHRvIGNyZWF0ZSBCTE9DS0dST1VQIGluc3RlYWQgb2YgU0lNUExFQkxPQ0suCgkgIENvbnZlcnQgZHVyYXRpb24gdG8gdGltZWNvZGVzY2FsZSB3aGljaCBpcyAodHlwaWNhbGx5KSBsZXNzIHByZWNpc2UsIGFuZAoJICB0aGVuIGFsc28gYWxsb3cgdGhlIGRpZmZlcmVuY2Ugb2YgMS8tMSB0byBhcnJhbmdlIGZvciBsZXNzIHNlbnNpdGl2ZSBjaGVjay4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBGaXhlcyAjNjUzMDgwLgoKMjAxMS0wOS0wNiAxMzoxODo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGltcHJvdmUgYm9ndXMgaW50ZXJsZWF2ZWQgaW5kZXggY29tcGVuc2F0aW5nCgkgIFBhdGNoIGJ5IDxndWRha2VAZ21haWwuY29tPgoJICBGaXhlcyAjNjU0NTg1LgoKMjAxMS0wOS0wNiAxMzoxNjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIC1nb29kOiBwb3J0IHRvIG5ldyBhdWRpbyBjYXBzCgoyMDExLTA5LTA2IDEwOjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBbGxvdyBwb3NpdGl2ZSwgbm9uLTEuMCBzZWdtZW50IHJhdGVzCgkgIE9ubHkgbmVnYXRpdmUgcmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQuIEZpeGVzIGJ1ZyAjNjU4MzA1LgoKMjAxMS0wOS0wNSAxNTo1MDo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IHBhcnNlcnM6IHByb3ZpZGUgbW9yZSByZWFsIGRhdGEgd2hlbiB0ZXN0aW5nIGRyYWluaW5nIG9mIGdhcmJhZ2UKCjIwMTEtMDktMDUgMTU6NTA6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogZml4IGFuZCBzdHJlYW1saW5lIHZhbGlkIGZyYW1lIGNoZWNraW5nCgkgIC4uLiB0byBoYW5kbGUgdmFyaW91cyBjb21iaW5hdGlvbnMgb2Ygc3luYyBvciBub3QsIGFuZCBzdWZmaWNpZW50IGRhdGEKCSAgb3Igbm90IGFzIG1pZ2h0IGJlIGV4cGVjdGVkLgoJICBGaXhlcyAjNjUwNzE0LgoKMjAxMS0wOS0wNSAxNDo0OTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBhdm9pZCBhZGp1c3RtZW50IGZvciBrZXlmcmFtZSBzZWVrCgkgIC4uLiBzaW5jZSBhbGwgaW5kZXggZGF0YSBtYXkgbm90IHlldCBiZSBhdmFpbGFibGUgYXQgdGhhdCB0aW1lLgoKMjAxMS0wOS0wNSAxNDo0ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBtYXJrIGFsbCBhdWRpbyB0cmFjayBzYW1wbGVzIGFzIGtleWZyYW1lCgoyMDExLTA5LTA1IDE0OjQ2OjI5ICswMjAwICBCcmlhbiBMaSA8YnJpYW43MDAzQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IHByb3Blcmx5IGluaXQgcmV0dXJuIHZhcmlhYmxlIHZhbHVlCgkgIEZpeGVzICM2NTU5MTguCgoyMDExLTA5LTA1IDEzOjMxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIGd0ay1kb2MgZm9yIG5ldyBzaG9ydC1oZWFkZXIgcHJvcGVydHkKCjIwMTEtMDktMDUgMTM6MTg6MzkgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWxsb3cgc2VuZGluZyBzaG9ydCBSVFNQIHJlcXVlc3RzIHRvIGEgc2VydmVyCgkgIFNvbWUgZW5jb2RlcnMgKEFyZWNvbnQpIGRvIG5vdCBsaWtlIHRoZSBsb25nIE9QVElPTlMgc2VudCBhdCBzdGFydHVwIGFzIHNlbnQgYnkKCSAgR1N0cmVhbWVyLCBidXQgZG8gYWNjZXB0IHRoZSBzaG9ydCBoZWFkZXIgYXMgc2VudCBieSBMaXZlNTU1LgoJICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBleHRlbmRpbmcgdGhlIHJlcXVlc3Qgb3B0aW9uYWwgYnkgYWRkaW5nIGEgcHJvcGVydHkKCSAgKHNob3J0LWhlYWRlcikuCgkgIEZpeGVzICM2NTU4MDUuCgkgIEFQSTogR3N0UlRTUFNyYzpzaG9ydC1oZWFkZXIKCjIwMDktMDMtMDQgMTQ6NTE6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFNldCBIMjYzLTIwMDAgaWYgdGhhdHMgd2hhdCB0aGUgb3RoZXIgc2lkZSB3YW50cwoJICBUaGUgc3RhdGljIGNhcHMgc3RhdGVzIHRoaXMgZWxlbWVudCBzdXBwb3J0cyBIMjYzLTIwMDAsIGJ1dCBzZXRjYXBzIG5ldmVyCgkgIHNldHMgaXQsIHNvIGl0IHdhcyBsaWUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDExLTA4LTMwIDE5OjAyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBJbml0aWFsaXNlIHRoZSBsYXN0X2tleWZyYW1lX3JlcXVlc3QgdmFyaWFibGUKCjIwMTEtMDgtMzEgMTY6MDQ6MjQgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IG1ha2UgYWRkL3JlbW92ZS9jbGVhci9nZXQtc3RhdHMgYWN0aW9uIHNpZ25hbHMKCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3ODMwCgkgIFNpZ25lZC1vZmYtYnk6IFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoyMDExLTA4LTMxIDE4OjQ1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIG1wMnQ6IGZpeCBlbmNvZGluZyBuYW1lIGFjY29yZGluZyB0byBSRkMzNTUxCgoyMDExLTA4LTMwIDEzOjMzOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcHVzaCBtb2RlOyBwZXJmb3JtIHNvbWUgZXh0cmEgY2hlY2tzIHByaW9yIHRvIHVwc3RyZWFtIHNlZWtpbmcKCjIwMTEtMDgtMzAgMTM6Mjg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbW9kZTsgZml4IGJ1ZmZlcmVkIHN0cmVhbWluZwoJICBUaGF0IGlzLCBpbiBjYXNlIHdoZXJlIG5vIHNlZWsgaXMgcGVmb3JtZWQgdG8gbW9vdiwgYnV0IHByZWNlZGluZwoJICBsaW1pdGVkIG1kYXQgaXMgYnVmZmVyZWQuCgoyMDExLTA4LTMwIDE0OjA2OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0zMCAxMjo0OTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbGF3IGlzIHBvcnRlZCBub3cKCjIwMTEtMDgtMzAgMTI6MjU6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0yOSAxOToxMToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICBhbGF3OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDgtMjkgMTk6MTA6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCBjb21tZW50CgoyMDExLTA4LTI5IDE4OjAyOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogcG9ydCBzb3VwIGVsZW1lbnRzIHRvIDAuMTEKCjIwMTEtMDgtMjkgMTU6MTM6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIG92ZXJmbG93IHdyYXBhcm91bmQgaW4gdGltZXN0YW1wIHdoZW4gYWRkaW5nIGR1cmF0aW9ucwoJICBEbyBzb21lIHR5cGUganVnZ2xpbmcgdG8gYXZvaWQgb3ZlcmZsb3csIHdoaWxlIHN0aWxsIGFsbG93aW5nIGZvciAnbmVnYXRpdmUnCgkgIGR1cmF0aW9ucyAod2hpY2ggd291bGQgbmVlZCBhIHdyYXBhcm91bmQgZWZmZWN0KS4KCjIwMTEtMDgtMjkgMTM6NDM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jCgoyMDExLTA4LTI2IDE0OjIwOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGFsbG9jYXRpb246IGZpeCBmb3Igdm1ldGhvZCBjaGFuZ2VzCgoyMDExLTA4LTI1IDIzOjM3OjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogbWFrZSB0aGlzIHdvcmsgbW9yZSB0aGFuIG9uY2UgaW4gYSByb3cKCSAgV2UgdXNlZCB0byBza2lwIGZyYW1lIHJhdGUgc2V0dXAgaWYgdGhlIGNhbWVyYSB3YXMgYWxyZWFkeSBzZXR1cAoJICB3aXRoIHRoZSByZXF1ZXN0ZWQgZnJhbWUgcmF0ZS4gVGhpcyBicmVha3Mgc29tZSBjYW1lcmFzIHRob3VnaCwKCSAgY2F1c2luZyB0aGVtIHRvIG5vdCBvdXRwdXQgZGF0YSAoc2V2ZXJhbCBtb2RlbHMgb2YgVGhpbmtwYWQgY2FtZXJhcwoJICBoYXZlIHRoaXMgcHJvYmxlbSBhdCBsZWFzdCkuCgkgIFNvLCBkb24ndCBza2lwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4MzAwCgoyMDExLTA4LTI1IDE2OjQxOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBwb3J0IHRvIG5ldyB2aWRlbyBmbGFncwoKMjAxMS0wOC0yNCAxODo0MDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IGFkZCBzb21lIG1vcmUgY2hhbm5lbHMKCjIwMTEtMDctMTIgMjE6NDg6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogQWRkIG1vcmUgZGVidWcKCjIwMTEtMDctMTIgMTk6MDk6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBNYXggZXZlbnQgdHlwZSBpcyAxNQoKMjAxMS0wNC0xNCAxNTo0NjowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IEFsaWduIERUTUYgc291bmQgYnVmZmVycyB3aXRoIGxhc3Qtc3RvcCBmcm9tIGV2ZW50CgkgIEFsc28gbWFrZSBzdXJlIHRoZSB0aW1lc3RhbXBzIG5ldmVyIGdvIGJhY2t3YXJkcwoKMjAxMS0wNy0xMSAyMTozMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ29ycmVjdGx5IHJlY29nbml6ZSB0aGUgZW5kIG9mIGEgYnVmZmVyCgoyMDExLTA3LTExIDIwOjQ3OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBNYWtlIHN1cmUgcnRwZHRtZnNyYyB0aW1lc3RhbXBzIGRvbid0IG92ZXJsYXAKCjIwMTEtMDctMTEgMjA6NDY6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFB1dCB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwgYXQgdGhlIGVuZCwgbm90IGF0IHRoZSBzdGFydAoJICBUaGUgcmVhc29uIGlzIHRvIGxldCBydHBkdG1mbXV4IGRyb3AgYnVmZmVycyBkdXJpbmcgdGhlIGludGVyIGRpZ2l0IGludGVydmFsLAoJICB0aGlzIHdheSwgdGhlcmUgd2lsbCBiZSBtb3JlIHNpbGVuY2UgYXJvdW5kIHRoZSBEVE1GIHRvbmVzIHNvIElWRnMgd2lsbCBoYXZlCgkgIGEgYmV0dGVyIGNoYW5jZSByZWNvZ25pemluZyB0aGVtLgoKMjAxMS0wNC0xNCAxNzowODo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFN0YXJ0IGF0IHRoZSBsYXN0X3N0b3AgZnJvbSB0aGUgc3RhcnQgZXZlbnQgaWYgdGhlcmUgd2FzIG9uZQoJICBUaGUgZ29hbCBpcyB0byB0cnkgdG8gbm90IGhhdmUgYSBHQVAgYmV0d2VlbiB0aGUgYXVkaW8gYW5kIHRoZSBEVE1GCgoyMDExLTA0LTE0IDE2OjQ5OjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogUmVzcGVjdCBwdGltZSBmcm9tIHRoZSBjYXBzCgkgIFJlc3BlY3QgdGhlIHB0aW1lIGZyb20gdGhlIGNhcHMgZm9yIHRoZSBEVE1GIHBhY2tldHMKCjIwMTEtMDctMTEgMjE6MzA6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IEp1c3QgZXJyb3Igb3V0IGlmIHRoZXJlIGlzIG5vIGNsb2NrCgoyMDExLTA4LTI0IDE0OjE2OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0yMyAxMjoxMjoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBvbmx5IHJlcXVpcmUgdHdvIGZyYW1lcyBpbiBhIHJvdyB3aGVuIHdlIGRvIG5vdCBoYXZlIHN5bmMKCSAgVGhpcyBhdm9pZHMgYSBzaW5nbGUgYml0IGVycm9yIGRyb3BwaW5nIHR3byBmcmFtZXMgdW5uZWNlc3NhcmlseS4KCSAgVGhlIHR3byBjb25zZWN1dGl2ZSBmcmFtZXMgY2hlY2sgaXMgc3RpbGwgcmVxdWlyZWQgd2hlbiB3ZSBkb24ndAoJICBoYXZlIHN5bmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwODAKCjIwMTEtMDgtMjMgMjE6NDE6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFRyaXZpYWwgaW5kZW50YXRpb24gZml4CgoyMDExLTA4LTIzIDE5OjA5OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2aWRlbzogcG9ydCB0byBuZXcgY29sb3JpbWV0cnkgaW5mbwoKMjAxMS0wNy0yMSAxNzoyMzoyOCAtMDQwMCAgTW9udHkgTW9udGdvbWVyeSA8Y21vbnRnb21AcmVkaGF0LmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogQ29ycmVjdCBzYW1wbGUgbnVtYmVyIHJvdW5kaW5nIHJlc3VsdGluZyBpbiB0aW1lc3RhbXAgaml0dGVyCgkgIGZsYWNkZWMgY29udmVydHMgdGhlIHNyYyB0aW1lc3RhbXAgdG8gYSBzYW1wbGUgbnVtYmVyLCB1c2VzIHRoYXQgaW50ZXJuYWxseSwgdGhlbiByZWNvbnZlcnRzIHRoZSBzYW1wbGUgbnVtYmVyIHRvIGEgdGltZXN0YW1wIGZvciB0aGUgb3V0cHV0IGJ1ZmZlci4gIFVuZm9ydHVuYXRlbHksIHNhbXBsZSBudW1iZXJzIGNhbid0IGJlIHJlcHJlc2VudGVkIGluIGFuIGludGVnZXIgbnVtYmVyIG9mIG5hbm9zZWNvbmRzLCBhbmQgdGhlIGNvbnZlcnNpb24gcHJvY2VzcyB3YXMgdHJ1bmNhdGluZyByYXRoZXIgdGhhbiByb3VuZGluZywgcmVzdWx0aW5nIGluIHNhbXBsZSBudW1iZXJzIGFuZCBvdXRwdXQgdGltZXN0YW1wcyB0aGF0IHdlcmUgb2Z0ZW4gb2ZmIGJ5IGEgZnVsbCBzYW1wbGUuCgkgIFRoaXMgY29ycmVjdHMgdGhlIHRpbWUtPnNhbXBsZSBjb252ZXNpb24KCjIwMTEtMDgtMjIgMTM6MTA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTIyIDEyOjI0OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJICBmb3VyY2M6IHJlbW92ZSBmb3VyY2MgZnJvbSBjYXBzCgoyMDExLTA4LTIwIDE0OjQ4OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkgIGJyZWFrbXlkYXRhOiBlbGVtZW50IGlzIG5vdCBwYXNzdGhyb3VnaAoKMjAxMS0wNy0xMyAxMToyMDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IHF1aWV0IGRlYnVnZ2luZwoKMjAxMS0wNy0xMCAyMTo0MDoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGNoYW5nZSBmaWVsZCBoYW5kbGluZyB0aHJvdWdoIG1ldGhvZHMKCSAgVGhpcyBsaWtlbHkgYnJlYWtzIHN0dWZmLiAgVGhlIGdvb2Q6IGFsbCBvZiB0aGUgbWV0aG9kcyBub3cgY3JlYXRlCgkgIGZpZWxkIGltYWdlcyBhbGlnbmVkIHdpdGggaW5wdXQgZnJhbWVzLCB3aXRob3V0IHRpbWVzdGFtcCBtYW5nbGluZy4KCSAgVGhlIGJhZDogdGhpcyB0b3VjaGVzIGEgbG90IG9mIGNvZGUsIG11Y2ggb2Ygd2hpY2ggaXMgaGFpcnkgYW5kIGluCgkgIG5lZWQgb2YgY2xlYW51cC4gIEhvd2V2ZXIsIGF0IHRoaXMgcG9pbnQgd2UgY2FuIHJlYXNvbmFibHkgY3JlYXRlIGEKCSAgUFNOUi1iYXNlZCB0ZXN0LgoKMjAxMS0wOC0yMSAxNDo0MToxNCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcmVzZXQgLT5zdHJlYW1oZWFkZXJzIHRvIE5VTEwgb24gX3N0b3AKCSAgRml4ZXMgaW52YWxpZCBtZW1vcnkgYWNjZXNzIHJldXNpbmcgbXVsdGlmaWxlc2luawoKMjAxMS0wOC0yMCAxMDo0NjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkgIGN1dHRlcjogYnJpbmcgY3V0dGVyIHNvbWV3aGF0IGludG8gdGhpcyBtaWxsZW5uaXVtCgoyMDExLTA4LTE5IDE2OjI3OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZzogZml4IGNhcHMKCjIwMTEtMDgtMTkgMTY6MTM6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcG9ydCBhZnRlciBtZXJnZQoKMjAxMS0wOC0xOSAxNjoxMjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMTkgMTY6MDk6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHBvcnQgdG8gbW9yZSBhdWRpbyBhcGkgY2hhbmdlcwoKMjAxMS0wOC0xOSAxNDowMTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgcG9ydCBtb3JlIGVsZW1lbnRzIHRvIG5ldyBhdWRpbyBjYXBzIGFuZCBBUEkKCjIwMTEtMDgtMTkgMTE6NDk6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBwb3J0IHRvIG5ldyBhdWRpbyBBUEkgYW5kIGNhcHMKCjIwMTEtMDgtMTggMTM6Mzc6MzkgKzAyMDAgIERhdmlkIEhlbm5pbmdzc29uIDxkYXZpZC5oZW5uaW5nc3NvbkBjYW5vbmljYWwuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFsbG93IHdyaXRlcyBpbiBiaWdnZXIgY2h1bmtzCgkgIFRoZXJlJ3Mgbm8gdXNlIGluIHNwbGl0dGluZyB0aGUgaW5jb21pbmcgZGF0YSBkb3duIHRvIHRoZSBzZWdzaXplCgkgIGxpbWl0IC0gYnkgd3JpdGluZyBhcyBtdWNoIGFzIHBvc3NpYmxlIGluIG9uZSBjaHVuaywgd2UgaW5jcmVhc2UKCSAgcGVyZm9ybWFuY2UgYW5kIGF2b2lkIFB1bHNlQXVkaW8gdW5uZWNlc3NhcnkgcmV3aW5kcy4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoyMDExLTA4LTE4IDE5OjM3OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xOCAxOToyMTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICBwb3J0IHRvIG5ldyBhdWRpbyBjYXBzLgoKMjAxMS0wOC0wOCAyMjoxNDoyOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZW5zdXJlIG5vLW1vcmUtcGFkcyBpcyBhbHdheXMgZW1pdHRlZAoJICBJbiBwYXJ0aWN1bGFyLCBkbyBzbyBldmVuIGlmIGZhaWxpbmcgdG8gcmVhZCB3aGlsZSBwcmVyb2xsaW5nLAoJICBzdWNoIGFzIHdoZW4gcmVhZGluZyBmcm9tIGEgcGFydGlhbCBmaWxlIChlZywgd2hpbGUgaXQgaXMgYmVpbmcKCSAgZG93bmxvYWRlZCkuCgkgIFRoaXMgZml4ZXMgYSB3ZWRnZSBpbiBwbGF5YmluMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTk2NQoKMjAxMS0wOC0xNyAxNzo1NzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wcm92ZSBmaXhhdGUgZnVuY3Rpb24KCSAgVXNlIG5ldyBjb3JlIGZ1bmN0aW9uIHRvIGZpeGF0ZSBhIGZpZWxkLgoJICBDaGFpbiB1cCB0byBwYXJlbnQgZml4YXRlIGZ1bmN0aW9uLgoKMjAxMS0wOC0xNyAxNTo1MjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCjIwMTEtMDgtMTcgMTU6Mzk6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZzogcG9ydCB0byAwLjExCgkgIEFsc28gZGlzYWJsZSBzbW9rZSBmb3Igbm93LgoKMjAxMS0wOC0xNiAxNzoyNzoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGF2b2lkIHRpbWVzdGFtcC9vZmZzZXQgdHJhY2tpbmcgZ29pbmcgb3V0IG9mIHN5bmMKCSAgVGhlIGxpYkZMQUMgQVBJIGlzIGNhbGxiYWNrIGJhc2VkLCBhbmQgd2UgbXVzdCBvbmx5IGNhbGwgaXQgdG8KCSAgb3V0cHV0IGRhdGEgd2hlbiB3ZSBrbm93IHdlIGhhdmUgZW5vdWdoIGlucHV0IGRhdGEuIEZvciB0aGlzCgkgIHJlYXNvbiwgYSBzaW5nbGUgcHJvY2Vzc2luZyBzdGVwIGlzIGRvbmUgd2hlbiByZWNlaXZpbmcgYSBidWZmZXIuCgkgIEhvd2V2ZXIsIGlmIHRoZXJlIHdlcmUgbWV0YWRhdGEgYnVmZmVycyBzdGlsbCBwZW5kaW5nLCBhIHN0ZXAKCSAgaW50ZW5kZWQgZm9yIHRoZSBmaXJzdCBhdWRpbyBmcmFtZSBtaWdodCBlbmQgdXAgd3JpdGluZyB0aGF0CgkgIGxlZnRvdmVyIG1ldGFkYXRhLiBTaW5jZSBhIHNpbmdsZSBzdGVwIGlzIGRvbmUgcGVyIGJ1ZmZlciwgdGhpcwoJICB3aWxsIGNhdXNlIGV2ZXJ5IGJ1ZmZlciB0byBiZSB3cml0dGVuIG9uZSBzdGVwIGxhdGUuCgkgIFRoaXMgd291bGQgYWRkIHNvbWUgbGF0ZW5jeSAoYSBidWZmZXJmdWxsJ3Mgd29ydGgpLCBwb3NzaWJseQoJICBsb3NlIGEgYnVmZmVyIHdoZW4gc2Vla2luZyBvciB0aGUgbGlrZSwgYW5kIGFsc28gY2F1c2UgdGltZXN0YW1wCgkgIGFuZCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgd3JvbmcgYnVmZmVyLCBhcyB1cGRhdGVzIHRvCgkgIHRoZSAiY3VycmVudCIgc2VnbWVudCBsYXN0X3N0b3AgKGZyb20gaW5jb21pbmcgYnVmZmVyIHRpbWVzdGFtcCkKCSAgd2lsbCBiZSBhcHBsaWVkIHRvIGFuIG91dHB1dCBidWZmZXIgb3JpZ2luYXRpbmcgZnJvbSB0aGUgcHJldmlvdXMKCSAgaW5jb21pbmcgYnVmZmVyLgoJICBUaGlzIGZpeGVzIHRoZSBpc3N1ZSBieSBlbnN1cmluZyB0aGF0LCB1cG9uIHJlY2VpdmluZyB0aGUgZmlyc3QKCSAgYXVkaW8gZnJhbWUsIHByb2Nlc3NpbmcgaXMgZG9uZSB0aWxsIGFsbCBtZXRhZGF0YSBpcyBwcm9jZXNzZWQsCgkgIHNvIHRoZSBuZXh0ICJzaW5nbGUgc3RlcCIgZG9uZSB3aWxsIGJlIGZvciB0aGUgYXVkaW8gZnJhbWUuIEFmdGVyCgkgIHRoaXMsIHdlIHNob3VsZCBrZWVwIHRvIDEgaW5wdXQgYnVmZmVyIC0+IDEgb3V0cHV0IGJ1ZmZlciBhbmQgc28KCSAgYXZvaWQgZ2V0dGluZyBvdXQgb2Ygc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNyAxMToxNzozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMTYgMTU6MzI6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBiYWlsIG9uIHJlc2VydmVkIHZhbHVlCgkgIE5vdyB0aGF0IHdlIGxvb2sgYXQgdGhlIHJpZ2h0IGJpdHMsIHdlIGNhbiB0ZXN0IGFnYWluc3QgdGhlIHJlc2VydmVkCgkgIHZhbHVlIGFzIHdlIGRvIGZvciBvdGhlciBmaWVsZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTU6Mjc6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggYml0IHR3aWRkbGluZwoJICBSaWdodCBzaGlmdGluZyBhIDggYml0IHZhbHVlIGJ5IDggYml0cyBpcyB0d2ljZSB0b28gbXVjaAoJICB0byBnZXQgdGhlIGhpZ2ggNCBiaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTYwCgoyMDExLTA4LTE2IDE1OjIyOjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogd2FybiBpZiB3ZSBzZWUgYSB2YXJpYWJsZSBibG9jayBzaXplIHdoZXJlIHVuc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTg6MjU6MjkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhdm9pZCBjcmFzaGluZyBieSByZXNldHRpbmcgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2MDYKCjIwMTEtMDgtMTYgMTg6MzU6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jCgoyMDExLTA4LTE2IDEzOjE2OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IG9mZiBieSBvbmUgaW4gZnJhbWUgc2l6ZSBjaGVjawoJICBZZXMsIEkgd2FzIHRyYWNraW5nIGFub3RoZXIgYnVnIGFuZCB0aGUgc21hbGwgdGVzdCBmaWxlIEkgZ2VuZXJhdGVkCgkgIHRvIHRlc3Qgd2l0aCBpbXByb2JhYmx5IGp1c3QgaGFwcGVuZWQgdG8gdHJpZ2dlciB0aGlzLCB3aXRoIGEgc2Vjb25kCgkgIGFuZCBsYXN0IGZyYW1lIG9mIDE2MTUgYnl0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDkKCjIwMTEtMDgtMTUgMTI6MTk6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgX25lZ290aWF0ZWRfY2FwcygpIGNoYW5nZQoKMjAxMS0wOC0xNCAyMDo0NjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuMy4wLmh0bWw6CgkqIGdzdC9pZDNkZW11eC9pZDN2Mi40LjAtZnJhbWVzLnR4dDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1zdHJ1Y3R1cmUudHh0OgoJICBpZDNkZW11eDogcmVtb3ZlIHNwZWNzIGZyb20gZ2l0IGFzIHdlbGwgbm93IHRoYXQgcGFyc2luZyBjb2RlIGlzIGluIC1iYXNlCgoyMDExLTA3LTE0IDE1OjQyOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiB1c2UgLWJhc2UgcHJvdmlkZWQgaWQzIHRhZyBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzODgKCjIwMTEtMDgtMTMgMTY6NTE6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2thdWRpb3NyYzogZml4IGVycm9yIG1lc3NhZ2UgY29kZQoJICBBbmQgYWxzbyBwb3N0ICdub3QgZm91bmQnIGVycm9yIGlmIGphY2tkIGlzIG5vdCBldmVuIGluc3RhbGxlZC4KCjIwMTEtMDgtMTIgMTY6MzI6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0aWFsaXplIGJpdHJhdGUgdmFyaWFibGUgYW5kIHJlc2V0IGZvciBlYWNoIGxvb3AKCSAgRG9uJ3QgY2hlY2sgZXZlbnR1YWxseSB1bnNldCB2YXJpYWJsZSBhbmQgZG9uJ3QgYWNjaWRlbnRpYWxseSB1c2UgdmFsdWVzIGZyb20gbGFzdAoJICBjeWNsZS4KCjIwMTEtMDgtMTAgMTE6Mjg6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDExLTA4LTA5IDExOjI4OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUHJvcGVybHkgZXJyb3Igb3V0IGlmIFNEUCBjb250YWlucyBubyBzdHJlYW1zCgkgIEFsc28gZml4ZXMgdW5pdGlhbGl6ZWQgdmFyaWFibGUgZXJyb3Igb24gbWFjb3N4LgoKMjAxMS0wOC0wOSAwOTowNTozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IGNsZWFyIGZsYWdzIG9uIGJ1ZmZlciByZXVzZQoJICBUaGlzIHdpbGwgZW5zdXJlIGEgbG9naWNhbGx5IG5ldyBidWZmZXIgZG9lcyBub3Qga2VlcCBmbGFncyBmcm9tCgkgIGEgcHJldmlvdXMgdXNlIG9mIHRoYXQgYnVmZmVyIChlZywgRElTQ09OVCB3b3VsZCBiZSBzZXQgb24gdGhlIGZpcnN0CgkgIGJ1ZmZlciwgYW5kIG1pc3Rha2VubHkga2VwdCB3aGVuIHJldXNlZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3MDkKCjIwMTEtMDgtMDggMTA6NTQ6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB0YWtlIGNhcmUgbm90IHRvIGNoYW5nZSB0aGUgY3VycmVudCBmb3JtYXQgd2hlcmUgYXBwcm9wcmlhdGUKCSAgU29tZSBkcml2ZXJzIGFyZSBidWdneSBhcmUgd2lsbCBjaGFuZ2UgdGhlIGN1cnJlbnQgZm9ybWF0IHdoZW4KCSAgcHJvY2Vzc2luZyBWSURJT0NfVFJZX0ZNVC4gU2F2ZSBhbmQgcmVzdG9yZSB0aGUgY3VycmVudCBmb3JtYXQKCSAgdG8gZW5zdXJlIHRoZSBmb3JtYXQgaXMga2VwdCB1bmNoYW5nZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwNjcKCjIwMTEtMDgtMDggMTU6Mjc6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDgtMDggMTU6MjY6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICBhYWxpYjogbWFrZSBzdXJlIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkgaXMgZGVmaW5lZAoJICBTbyB3ZSBkb24ndCBnZXQgd2FybmluZ3MuCgoyMDExLTA4LTA4IDE1OjI1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJICB2NGwyOiB1cGRhdGUgZm9yIEdzdFhPdmVybGF5ID0+IEdzdFZpZGVvT3ZlcmxheSByZW5hbWUKCjIwMTEtMDgtMDcgMTI6MjM6MjYgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBVc2UgZnJhY3Rpb24gY29tcGFyZSB1dGlsIGZ1bmN0aW9uLgoJICBVc2UgdGhlIGZyYWN0aW9uIGNvbXBhcmUgdXRpbGl0eSB0byBjb21wYXJlIGZ1bmN0aW9uLCBub3QgdGhlCgkgIGhhbmRjcmFmdGVkIG9uZS4gVGhlIGhhbmRjcmFmdGVkIG9uZSBpcyBidWdneSBhcyBpdCBkb2Vzbid0IHRha2UgaW50bwoJICBhY2NvdW50IHJvdW5kaW5nIGVycm9yLiBGb3IgZXhhbXBsZSBjb21wYXJpbmcgYSBmcmFtZXJhdGUgb2YgMjAvMSBvbiBhCgkgIGNhbWVyYSBjb25maWd1cmVkIGFzIDMwLzEgZnBzIHdvdWxkIHlpZWxkIHRydWU6IDEgPT0gKDEgKiAyMCkvMzAgYW5kIG5vdAoJICByZS1jb25maWd1cmUgdGhlIGNhbWVyYS4gRml4ZXMgIzY1NjEwNAoKMjAxMS0wOC0wNyAxMToxNDo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IGF2b2lkIHJhY2UgaW4gc3RhcnRpbmcKCSAgU2luZSB0aGUgYmFzZSBjbGFzcyBub3cgZG9lcyB0aGUgbmVnb3RpYXRpb24gZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCB3ZSBoYXZlCgkgIHRvIGJlIGNhcmVmdWwgYW5kIGNoZWNrIGlmIHRoZSBzdHJlYW0gaXMgcmVhZHkgYmVmb3JlIGNoYW5naW5nIGl0cyBjb3JrZWQgc3RhdGUuCgoyMDExLTA4LTA1IDEyOjI3OjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogVXNlIEdTVF9DRkxBR1Mgd2hlbiBidWlsZGluZyB0ZXN0cwoJICBFbnN1cmVzIHdlIGhhdmUgdGhlIHByb3BlciBkZWZpbmUgZm9yIHVzaW5nIHVuc3RhYmxlIEFQSQoKMjAxMS0wOC0wNSAwODo1OTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBmaXh1cCBhZnRlciBzbWFsbCBhcGkgY2hhbmdlcwoJICBQb3J0IHRvIHJlY2VudGx5IGNoYW5nZWQgYXBpIHNvIHRoYXQgaXQgY29tcGlsZXMgYWdhaW4uCgoyMDExLTA4LTA1IDExOjMyOjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIHk0bWVuYzogTm93IGRlcGVuZHMgb24gbGliZ3N0dmlkZW8KCjIwMTEtMDgtMDQgMTg6NDE6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IG1vcmUgY2xlYW51cHMKCjIwMTEtMDgtMDQgMTg6MTU6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNtYWxsIGNsZWFudXBzCgoyMDExLTA4LTA0IDE2OjM1OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBjYWxsIHNldF9jYXBzIG1ldGhvZCBvZiBiYXNlY2xhc3MKCSAgQ2FsbCB0aGUgYmFzZWNsYXNzIHNldF9jYXBzIGZ1bmN0aW9uIHRvIG1ha2UgaXQgc2VuZCB0aGUgY2FwcyBldmVudCBhbmQKCSAgcHJvcGVybHkgdHJpZ2dlciB0aGUgbmVnb3RpYXRpb24gZnVuY3Rpb25zLgoKMjAxMS0wOC0wNCAxNjoyNTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogc21hbGwgY2xlYW51cHMKCjIwMTEtMDgtMDQgMTU6MjU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogcG9ydCB0byBuZXcgY2FwcwoKMjAxMS0wOC0wNCAxMzo1MjoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogU2l6ZSB2YXJpYWJsZSBzaG91bGQgYmUgYSBndWludCBhbmQgbm90IGEgZ3NpemUKCjIwMTEtMDgtMDQgMTI6NTA6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBhY3RpdmF0ZSB0aGUgcG9vbCBpbiBmYWxsYmFjawoJICBXaGVuIG5vYm9keSBpcyB1c2luZyBvdXIgcG9vbCwgYWN0aXZhdGUgaXQgb3Vyc2VsdmVzLgoJICBBdm9pZCBsZWFraW5nIHRoZSBidWZmZXIgYXJyYXkuCgkgIFNldCBkZWZhdWx0IHBvb2wgY29uZmlndXJhdGlvbiB3aXRoIGNhcHMuCgkgIERvbid0IGtlZXAgY3VycmVudF9jYXBzLCBjb3JlIGRvZXMgdGhhdCBmb3IgdXMgbm93LgoKMjAxMS0wOC0wMyAyMjo1Nzo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgZml4IGNvbXBpbGF0aW9uCgkgIGhhbCBlbGVtZW50cyB3ZXJlIHJlbW92ZWQsIHJlbW92ZSB0aGVtIGZyb20gZG9jcyB0b28KCSAgY2hhbmdlIGV4YW1wbGUgZm9yIHBhZC1ibG9jayBBUEkgKGFjdHVhbGx5IHJlbW92ZSB0aGUgcGFkIGJsb2NrLCBhbiBhcHBsaWNhdGlvbgoJICBzaG91bGQgbm90IGJlIGJvdGhlcmVkIHdpdGggd29ya2luZyBhcm91bmQgYnVncyBpbiBlbGVtZW50cykKCjIwMTEtMDgtMDMgMTg6Mzc6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcG9ydCB0byBuZXcgQVBJCgoyMDExLTA4LTAzIDE4OjI1OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYwoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYwoKMjAxMS0wOC0wMyAyMjo1MDowNSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2E6IFJlZ2lzdGVyIG5ldyBkZWJ1ZyBjYXRlZ29yeQoJICBSZWdpc3RlciB0aGUgbWF0cm9za2FyZWFkY29tbW9uIGRlYnVnIGNhdGVnb3J5IHdoZW4gdGhlCgkgIHBsdWdpbiBpcyBsb2FkZWQgdG8gYXZvaWQgYXNzZXJ0aW9uIG91dHB1dCB3aGVuIGRlYnVnIGlzIHR1cm5lZCBvbi4KCjIwMTEtMDgtMDMgMTM6Mzg6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHRlc3QvaWNrbGVzOiBQb3J0IGdka3BpeGJ1ZnNpbmsgdGVzdAoKMjAxMS0wOC0wMyAxMzozMzo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBSZXZlcnQgInRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGF1dG9kZXRlY3QgdGVzdCB0ZW1wb3JhcmlseSwgc28gdGhhdCB0aGUgYnVpbGQgYm90cyB1cGRhdGUgLWJhZCBhbmQgdGhlIHJhbmtzIG9mIHVuci4uLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0NzVhZWQ4YWY2ZDJhNTdjMWQyMTQ5MGM4MjRlNzU0YTZiMjM2N2E5LgoJICBJdCB3b24ndCBjb25zaWRlciBlbGVtZW50cyBmcm9tIGFueXdoZXJlIGVsc2UgYW55bW9yZQoKMjAxMS0wOC0wMyAxMzoxMDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIGNoZWNrOiBVcGRhdGUgcGFyc2VyIG1pbmktbGliIHRvIDAuMTEgQVBJCgoyMDExLTA4LTAzIDEzOjA5OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIGZvciBtb2RpZmllZCBzb3VyY2UgZmlsZSBsb2NhdGlvbgoKMjAxMS0wOC0wMyAxMzowODo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogY2Fpcm9fZ29iamVjdCBpc24ndCBwb3J0ZWQgZWl0aGVyCgoyMDExLTA4LTAzIDEwOjU5OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaGFsL01ha2VmaWxlLmFtOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5oOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuaDoKCSogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5jOgoJKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmg6CgkqIGV4dC9oYWwvaGFsLmM6CgkqIGV4dC9oYWwvaGFsLmg6CgkgIGhhbDogUmVtb3ZlIGhhbCBwbHVnaW4KCSAgaGFsIGlzIG5vdCBkZXZlbG9wZWQgYW55bW9yZSBhbmQgbm9ib2R5IGlzIHVzaW5nIHRoZSBwbHVnaW4gbm93YWRheXMuCgoyMDExLTA3LTI5IDEzOjAzOjU1ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvZnRlbiBhc3NlcnRpb24gY2hlY2sgb24gc3RyZWFtIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTU3MAoKMjAxMS0wOC0wMyAxMDowOTo0MiArMDIwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBZGQgc3VwcG9ydCBmb3IgSC4yNjQgcGF5bG9hZCBpbiBNSlBFRyBjb250YWluZXIKCSAgU2VlIGh0dHA6Ly93d3cucXVpY2tjYW10ZWFtLm5ldC91dmMtaDI2NC9VU0JfVmlkZW9fUGF5bG9hZF9ILjI2NF8wLjg3LnBkZgoJICBGaXhlcyBidWcgIzY1NTUzMC4KCjIwMTEtMDgtMDIgMjI6MDU6MDggLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIGphY2thdWRpb3Npbms6IERvbid0IGNhbGwgZ19hbGxvY2EoKSBpbiBwcm9jZXNzX2NiCgkgIGdfYWxsb2NhKCkgaXMgbm90IFJULXNhZmUsIHNvIGluc3RlYWQgd2Ugc2hvdWxkIGFsbG9jYXRlIHRoZQoJICBtZW1vcnkgbmVlZGVkIGluIGFkdmFuY2UuIEZpeGVzICM2NTU4NjYKCjIwMTEtMDgtMDMgMDg6NTg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBoYWwgdG8gdGhlIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAzIDA4OjUzOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgbW9ub3Njb3BlIHRvIHRoZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMyAwODo1MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IEZpeCB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOC0wMiAyMzo0Mjo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgZG9jczogZml4IHR3byBtb3JlIFNpbmNlOiB0YWdzCgoyMDExLTA3LTMxIDA0OjE5OjAwICswMzAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBTaW5jZSB0YWdzIGZvciBmaWVsZGFuYWx5c2lzIHJlbGF0ZWQgbmV3IHByb3BlcnRpZXMKCSAgY29tbWl0IGMxYjEwMGNmOWMgaXMgYWZ0ZXIgMC4xMC4yOSBhbmQgMC4xMC4zMCB3YXMgYSBicmFuY2hlZCByZWxlYXNlLgoJICBTbyBmaXggU2luY2UgdGFncyBmcm9tIDAuMTAuMjkgdG8gMC4xMC4zMSBmb3IgdGhlIG5ldyBwcm9wZXJ0aWVzLgoKMjAxMS0wOC0wMiAxMTo1MTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogZml4IHBvcnRpbmcgZXJyb3IKCjIwMTEtMDgtMDIgMTE6Mjk6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IERlZmluZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMiAxMToyOToyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc3VibW9kdWxlCgoyMDExLTA4LTAyIDExOjE3OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBTb3J0IEFHX0dTVF9DSEVDS19QTFVHSU4gYWxwaGFiZXRpY2FsbHkKCjIwMTEtMDctMjkgMTc6Mjc6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkgIC1nb29kOiBmaXggZm9yIGJ1ZmZlcnBvb2wgQVBJIGNoYW5nZQoKMjAxMS0wNy0yOSAxNzoyMTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsOiBjaGFuZ2UgZm9yIG5ldyBBUEkKCjIwMTEtMDctMjkgMTM6MDU6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCB2YXJpYWJsZS1zZXQtYnV0LW5vdC11c2VkIGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBvbGRlciBwdWxzZSB2ZXJzaW9ucwoKMjAxMS0wNy0yOSAxMjowNzoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHByb3Blcmx5IGluaXQgcnRjcF9taW5faW50ZXJ2YWwKCjIwMTEtMDMtMDkgMTE6MDQ6MzYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2VzaW5rOiBBZGQgc3VwcG9ydCBmb3IgY29tcHJlc3NlZCBmb3JtYXRzCgkgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciB2YXJpb3VzIGNvbXByZXNzZWQgZm9ybWF0cyAoQUMzLCBFLUFDMywgRFRTIGFuZAoJICBNUDMpIHBheWxvYWRlZCBpbiBJRUMgNjE5MzcgZm9ybWF0ICh1c2VkIGZvciB0cmFuc21pc3Npb24gb3ZlciBTL1BESUYsCgkgIEhETUkgYW5kIEJsdWV0b290aCkuCgkgIFRoZSBhY2NlcHRjYXBzKCkgZnVuY3Rpb24gYWxsb3dzIGJpbnMgdG8gcHJvYmUgZm9yIHdoYXQgZm9ybWF0cyB0aGUgc2luawoJICBiZWluZyBjb25uZWN0ZWQgdG8gc3VwcG9ydC4gVGhpcyBvbmx5IHdvcmtzIGFmdGVyIHRoZSBlbGVtZW50IGlzIHNldCB0bwoJICBhdCBsZWFzdCBSRUFEWS4KCSAgSWYgdGhlIHVuZGVybHlpbmcgc2luayBjaGFuZ2VzIGFuZCB0aGUgZm9ybWF0IHdlIGFyZSBzdHJlYW1pbmcgaXMgbm90CgkgIGF2YWlsYWJsZSwgd2UgZW1pdCBhIG1lc3NhZ2UgdGhhdCB3aWxsIGFsbG93IHVwc3RyZWFtIGVsZW1lbnRzL2JpbnMgdG8KCSAgYmxvY2sgYW5kIHJlbmVnb3RpYXRlIGEgbmV3IGZvcm1hdC4KCjIwMTEtMDMtMDEgMTU6MzQ6NDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZXNpbms6IFVzZSB0aGUgZXh0ZW5kZWQgc3RyZWFtIEFQSSBpZiBhdmFpbGFibGUKCSAgVGhpcyB1c2VzIHRoZSBuZXcgZXh0ZW5kZWQgQVBJIGZvciBjcmVhdGluZyBzdHJlYW1zLiBUaGlzIHdpbGwgYWxsb3cgdXMKCSAgdG8gc3VwcG9ydCBjb21wcmVzc2VkIGZvcm1hdHMgbmF0aXZlbHkgaW4gcHVsc2VzaW5rIGFzIHdlbGwuCgoyMDExLTA3LTI5IDAwOjA3OjUyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IEFkZCBhIHNvdXJjZS1vdXRwdXQtaW5kZXggcHJvcGVydHkKCSAgVGhpcyBleHBvc2VzIHRoZSBzb3VyY2Ugb3V0cHV0IGluZGV4IG9mIHRoZSByZWNvcmQgc3RyZWFtIHRoYXQgd2Ugb3BlbgoJICBzbyB0aGF0IGNsaWVudHMgY2FuIHVzZSB0aGlzIHdpdGggdGhlIGludHJvc3BlY3Rpb24gaWYgdGhleSB3YW50ICh0bwoJICBtb3ZlIHRoZSBzdHJlYW0sIGZvciBleGFtcGxlKS4KCjIwMTEtMDctMjggMTQ6NDQ6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDoga2VlcCBhIHJlZiBvbiB0aGUgc3JjIHBhZCB3aGlsZSB1c2luZyBpdAoJICBQcmV2ZW50IGEgcG9zc2libGUgcmFjZSBpZiBjbGVhcl9zc3JjKCkgaXMgY2FsbGVkIGJldHdlZW4gZ2V0dGluZyB0aGUgcGFkIGFuZAoJICBkb2luZyB0aGUgcHVzaC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkxNgoKMjAxMS0wNS0yNCAxMToyOTo1NyArMDMwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgcnRwc3NyY2RlbXV4OiBNYWtlIHRoZSBwYWRzIGxvY2sgcmVjdXJzaXZlIGFuZCBob2xkIGl0IGFjcm9zcyB0aGUgc2lnbmFsIGVtaXQKCSAgV2UgbmVlZCB0byBrZWVwIHRoZSBsb2NrIGhlbGQgYmVjYXVzZSB3ZSBkb24ndCB3YW50IGEgcHVzaCBiZWZvcmUgdGhlICJuZXctc3NyYy1wYWQiCgkgIGhhbmRsZXIgaGFzIGNvbXBsZXRlZC4gQnV0IHdlIG1heSB3YW50IHRvIHB1c2ggYW4gZXZlbnQgZnJvbSBpbnNpZGUgdGhhdCBoYW5kbGVyLCBoZW5jZQoJICB0aGUgcmVjdXJzaXZlIG11dGV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTE2CgoyMDExLTA1LTI0IDExOjE3OjI1ICswMzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogVXNlIFBBRHMgbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTE2CgoyMDExLTA3LTI4IDExOjA5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IHVwZGF0ZSBmb3IgcG9zaXRpb24vcXVlcnkvY29udmVydCBBUEkgY2hhbmdlcwoKMjAxMS0wNy0yOCAxMDo1NDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBnc3Q6IHVkcGF0ZSBmb3IgcG9zaXRpb24vZHVyYXRpb24vY29udmVydCBxdWVyeSBBUEkgY2hhbmdlcwoKMjAxMS0wNy0yOCAwMDozNzoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RhdmlkZW11eC5jOiBJbiBmdW5jdGlvbiAnZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0nOgoJICBnc3RhdmlkZW11eC5jOjEyNjE6MjQ6IGVycm9yOiAnZGF0YScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPXVuaW5pdGlhbGl6ZWRdCgkgIGdzdGF2aWRlbXV4LmM6MTIwNDoxMTogbm90ZTogJ2RhdGEnIHdhcyBkZWNsYXJlZCBoZXJlCgoyMDExLTA3LTI3IDE4OjE1OjIwICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogQ29wZSB3aXRoIEZVLUEgRSBiaXQgbm90IGJlaW5nIHNldAoJICBTb21lIGgyNjQgcGF5bG9hZGVycyBhcmUgdW5mb3J0dW5hdGVseSBidWdneSBhbmQgZG9uJ3QgY29ycmVjdGx5IHNldCB0aGUKCSAgRSBiaXQgaW4gRlUtQSBOQUwgd2hlbiB0aGV5IGhhdmUgZW5kZWQuIFdvcmsgYXJvdW5kIHRoaXMgYnkgYXNzdW1pbmcKCSAgc3VjaCBhIGZyYWdtZW50YXRpb24gdW5pdCBoYXMgZW5kZWQgd2hlbiB0aGVyZSB3YXMgbm8gcGFja2V0IGxvc3MgYW5kIGEKCSAgbmV3IE5BTCBpcyBzdGFydGVkCgoyMDExLTA0LTEyIDE3OjAxOjQ3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogU3VwcG9ydCBzd2l0Y2hpbmcgYWxpZ25tZW50IG9uLXRoZS1mbHkKCSAgVGhpcyBhbGxvd3Mgc3dpdGNoaW5nIG9mIGFsaWdubWVudCBmb3IgRS1BQzMgc3RyZWFtcyBhdCBydW4tdGltZS4gVGhpcwoJICBpcyByZXF1ZXN0ZWQgYnkgZG93bnN0cmVhbSBlbGVtZW50cyB2aWEgYSBjdXN0b20gZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAzMTMKCjIwMTEtMDctMjcgMTY6NDY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoJICBVc2UgdGhlIG1vcmUgc3BlY2lhbGl6ZWQgdHlwZSBmb3IgdGhlIGJ1ZmZlcnBvb2wuCgkgIFVzZSB0aGUgc2l6ZSBmcm9tIHRoZSBkcml2ZXIgYXMgdGhlIHNpemUgb2YgdGhlIGltYWdlIHRvIHJlYWQuCgkgIERvbid0IGNvbmZpZ3VyZSB0aGUgcG9vbCB3aGVuIGNyZWF0ZWQuIFRoaXMgd2lsbCBiZSBkb25lIGluIHRoZSBzZXR1cF9hbGxvY2F0aW9uCgkgIG1ldGhvZCBsYXRlciBvciBieSB1cHN0cmVhbSBmb3Igc2lua3MuCgkgIFJlbW92ZSB1bnVzZWQgcHJvcGVydGllcyBhbmQgdmFyaWFibGVzLiBCdWZmZXJwb29sIHNpemVzIGFyZSBub3cgY29uZmlndXJlZCBpbgoJICB0aGUgYnVmZmVycG9vbCBieSB0aGUgZWxlbWVudHMgaW4gdGhlIHBpcGVsaW5lLiBXZSBtaWdodCB3YW50IHRvIGluZmx1ZW5jZSB0aGUKCSAgcG9vbCBzaXplIGxhdGVyIHNvbWVob3cuCgoyMDExLTA3LTI3IDEzOjQ2OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDctMjcgMTM6NDM6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGFkZCBtZXRhZGF0YQoKMjAxMS0wNy0yNyAxMzo0MToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIGJ1ZmZlcnBvb2w6IGNoZWNrIGZvciBtZXRhZGF0YQoJICBPbmx5IGFkZCB2aWRlbyBtZXRhZGF0YSB3aGVuIGl0IHdhcyBjb25maWd1cmVkIGluIHRoZSBwb29sLiBGYWlsIGlmIHRoZXJlIHdhcyBubwoJICB2aWRlbyBtZXRhZGF0YSBjb25maWd1cmVkIGFuZCB0aGUgc3RyaWRlcyBhcmUgbm90IHRoZSBkZWZhdWx0IG9uZXMuCgoyMDExLTA3LTI3IDEyOjQyOjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIHdhcnA6IGFkZCBzdHJpZGUgc3VwcG9ydAoKMjAxMS0wNy0yNyAxMjo0MTozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogYWRkIGNvbG9yc3BhY2UgdG8gZGVidWcKCjIwMTEtMDctMjYgMTc6NDU6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwOiBmaXggY29tcGlsYXRpb24KCjIwMTEtMDctMjYgMTY6MTU6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiByZW5hbWUgYSB2YXJpYWJsZQoJICBSZW5hbWUgdGhlIHNpemUgdmFyaWFibGUgdG8gc2l6ZWltYWdlIGFuZCBmaWxsIGl0IHdpdGggdGhlIHNpemUgdGhhdCBoYXMgYmVlbgoJICBnaXZlbiB0byB1c2UgYnkgdGhlIHY0bDIgZHJpdmVyIGluc3RlYWQgb2YgbWFraW5nIHNvbWV0aGluZyB1cC4uCgoyMDExLTA3LTI2IDEzOjE4OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogdXNlIG5ldyBzZXR1cF9hbGxvY2F0aW9uIHZtZXRob2QKCjIwMTEtMDctMjYgMTA6NTY6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbXBsZW1lbnQgbW9yZSBiaXRzIG9mIFJXIEkvTyBtb2RlCgkgIEltcGxlbWVudCB0aGUgcmVsYWVzZSBvZiBSVyBidWZmZXJzIGluIHRoZSBwb29sLgoJICBXYXJuIGZvciB1bnN1cHBvcnRlZCB3cml0ZSgpIG1vZGUgZm9yIHNpbmtzLgoKMjAxMS0wNy0yNiAxMDo1NDoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaW1wcm92ZSBJTyBtb2RlIGVycm9yIGhhbmRsaW5nCgkgIEVycm9yIG91dCB3aGVuIGFuIHVuc3VwcG9ydGVkIElPIG1vZGUgd2FzIHNlbGVjdGVkCgoyMDExLTA0LTA5IDEyOjI2OjU2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogQWRkIHN1cHBvcnQgZm9yIElFQyA2MTkzNyBhbGlnbm1lbnQKCSAgV2hlbiBwdXNoaW5nIG91dCBidWZmZXJzIG92ZXIgUy9QRElGIG9yIEhETUksIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIHJlcXVpcmVzIGVhY2ggYnVmZmVyIHRvIGNvbnRhaW4gNiBibG9ja3MgZnJvbSBlYWNoIHN1YnN0cmVhbS4gVGhpcyBhZGRzCgkgIGNvZGUgdG8gY29sbGVjdCBhbGwgdGhlIGZyYW1lcyBuZWVkZWQgdG8gbWVldCB0aGlzIHJlcXVpcmVtZW50IGJlZm9yZQoJICBwdXNoaW5nIG91dCBhIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDMxMwoKMjAxMS0wNi0wOCAxNTo1NzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBbHdheXMgc2VuZCBhcHBsaWNhdGlvbiByZXF1ZXN0ZWQgZmVlZGJhY2sgaW4gaW1tZWRpYXRlIG1vZGUKCSAgU2VuZCBhcyBtYW55IGFwcGxpY2F0aW9uIHJlcXVlc3RlZCBmZWVkYmFjayBtZXNzYWdlcyBpbiBpbW1lZGlhdGUgbW9kZSwgZXZlbiBpZiB0aGV5CgkgIGhhdmUgYWxyZWFkeSBiZWVuIHNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ1ODMKCjIwMTEtMDYtMDggMTQ6NDg6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IERvbid0IGxldCB0aGUgY29tcHV0ZWQgUlRQIGJhbmR3aWR0aCBmYWxsIHRvbyBsb3cKCSAgSWYgaXQgZmFsbHMgdG9vIGxvdywgdGhlIGNvbXB1dGVkIFJUQ1AgYmFuZHdpZHRoIHdpbGwgYmUgbmVhciB6ZXJvIGFuZAoJICB0aGUgUlRDUCB0aHJlYWQgd2lsbCBiZSBzdG9wcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NTgzCgoyMDExLTA0LTI1IDE2OjEzOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFdhaXQgbG9uZ2VyIHRvIHRpbWVvdXQgU1NSQyBjb2xsaXNpb24KCSAgVXNpbmcgdGhlIGN1cnJlbnQgUlRDUCBpbnRlcnZhbCB0byB0aW1lb3V0IFNTUkMgY29sbGlzaW9uIGNhbiBsZWFkIHRvCgkgIGNvbGxpc2lvbnMgYmVpbmcgdGltZWQgb3V0IGltbWVkaWF0ZWx5IGlmIGEgQllFIHBhY2tldCBpcyBzZW50IGJlY2F1c2UKCSAgaXQgaXMgc2VudCBpbW1lZGlhdGVseSwgc28gdGhlIGludGVydmFsIGlzIDAuIFRoaXMgaXMgbm90IHdoYXQgd2UKCSAgd2FudC4gU28ganVzdCBzZXQgYSBzdGF0aWMgMTAgdGltZXMgdGhlIGRlZmF1bHQgUlRDUCBpbnRlcnZhbCwgaXQKCSAgc2hvdWxkIGJlIGVub3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4NjQyCgoyMDExLTA3LTI1IDE1OjUxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBtZXRob2QKCjIwMTEtMDctMjUgMTU6Mzg6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBmbHVzaGluZyBzdGFydCBhbmQgc3RvcAoJICBNb3ZlIHRoZSBmbHVzaGluZyBjYWxscyB0byB0aGUgcmlnaHQgcGxhY2UgaW4gdGhlIGJ1ZmZlcnBvb2wuCgkgIEZpeCB0aGUgbWluIGFuZCBtYXggYnVmZmVyIHNpemVzLgoKMjAxMS0wNy0yNSAxNDo0NzowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGRlcXVldWUgYnVmZmVycyB3aGVuIGFsbCBhcmUgcXVldWVkCgkgIFByZWZlciB0byBhbHdheXMgdXNlIHRoZSBkZWZhdWx0IGJ1ZmZlcnBvb2wgcXVldWUgZm9yIHRoZSBfYWNxdWlyZSBmdW5jdGlvbgoJICBiZWNhdXNlIGl0IHByb3Blcmx5IHN1cHBvcnRzIHVuYmxvY2tpbmcgd2hlbiBzZXR0aW5nIGluYWN0aXZlIGV0Yy4gQXMgYSByZXN1bHQsCgkgIHdlIG5lZWQgdG8gZGVxdWV1ZSBidWZmZXJzIGFuZCBwdXQgdGhlbSBiYWNrIGluIHRoZSBidWZmZXJwb29sIHF1ZXVlIHdoZW4gd2UKCSAgaGF2ZSBxdWV1ZWQgYWxsIGJ1ZmZlcnMgaW4gdGhlIHNpbmsuCgkgIFJlbmFtZSBzb21lIHZhcmlhYmxlcyB0byBtb3JlIG1lYW5pbmdmdWxsIG5hbWVzIHRvIGF2b2lkIGEgcHJvYmxlbSB3aXRoCgkgIGZyZWVpbmcgdGhlIHdyb25nIGFtb3VudCBvZiBidWZmZXJzLgoKMjAxMS0wNy0xOSAxMzozODowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBTT1VSQ0UgZmxhZyBhdCBpbml0IHRpbWUKCSAgRml4ZXMgIzY1NDgxNi4KCjIwMTEtMDctMjUgMTA6MTA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgIHZlcnRpZ290djogYWRkIHN0cmlkZSBzdXBwb3J0CgoyMDExLTA3LTE5IDE4OjI1OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogb25seSB0byBTVFJFQU1PRkYgd2hlbiBzdHJlYW1pbmcKCSAgT25seSBjYWxsIFNUUkVBTU9GRiB3aGVuIHdlIHByZXZpb3VzbHkgY2FsbGVkIFNUUkVBTU9OCgoyMDExLTA3LTIyIDIxOjI2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZXBsYXk6IGZpeCBmb3IgZXZlbnQgaGFuZGxlcgoKMjAxMS0wNy0yMiAyMToxOTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgZml4ZXMgZm9yIGV2ZW50IGhhbmRsZXIgY2hhbmdlcwoKMjAxMS0wNy0xOCAxNjo0NjoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogQ29tcGxldGUgbWVyZ2VkIEFVIG9uIG1hcmtlciBiaXQKCSAgVGhlIG1hcmtlciBiaXQgb24gYSBSVFAgcGFja2V0IG1lYW5zIHRoZSBBVSBoYXMgYmVlbiBjb21wbGV0ZWQsIHNvIHB1c2ggaXQgb3V0CgkgIGltbWVkaWF0ZWx5IHRvIHJlZHVjZSB0aGUgbGF0ZW5jeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoKMjAxMS0wNy0xOCAyMDoyNzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogT25seSBzZXQgdGhlIG1hcmtlciBiaXQgb24gdGhlIGxhc3QgTkFMVSBvZiBhIG11bHRpLU5BTFUgYWNjZXNzIHVuaXQKCSAgQW4gYWNjZXNzIHVuaXQgY291bGQgY29udGFpbiBtdWx0aXBsZSBOQUwgdW5pdHMsIGluIHRoYXQgY2FzZSwgb25seSB0aGUgbGFzdAoJICBSVFAgcGFja2V0IG9mIHRoZSBsYXN0IE5BTFUgc2hvdWxkIGhhdmUgaXRzIG1hcmtlciBiaXQgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgoyMDExLTA3LTIwIDA4OjUyOjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDctMTkgMTg6MjA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IGhhbmRsZSB1bnN1cHBvcnRlZCBmb3JtYXRzCgoyMDExLTA3LTE5IDE2OjU5OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IEZpeCBzaW5rIGJ1ZmZlcnBvb2wgaGFuZGxpbmcKCSAgUmVtb3ZlIG9sZCBtZXRob2QsIHVzZSBuZXd3IF9wcm9jZXNzIG1ldGhvZCBmb3IgdGhlIHNpbmsuCgkgIEluZm9ybSB0aGUgcGFyZW50IGJ1ZmZlcnBvb2wgY2xhc3MgYWJvdXQgdGhlIHNldHRpbmdzIHRvby4gVGhpcyBpcyBuZWVkZWQgdG8gbGV0CgkgIGl0IGtub3cgYWJvdXQgdGhlIG1heC1idWZmZXJzLgoJICBBbGxvY2F0ZSB0aGUgbmVnb3RpYXRlZCBtYXgtYnVmZmVycyBhbmQgaW5pdGlhbGx5IG1tYXAgbWluLWJ1ZmZlcnMuIFRoZSBpZGVhIGlzCgkgIHRoYXQgdGhlIGJ1ZmZlcnBvb2wgd2lsbCBhbGxvY2F0ZSBtb3JlIHdoZW4gbmVlZGVkLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgT25seSBwb2xsIGluIGNhcHR1cmUgbW9kZSwgaXQgZG9lcyBub3Qgc2VlbSB0byB3b3JrIGluIHBsYXliYWNrIG1vZGUgb24gdGhpcwoJICBiZWFnbGVib2FyZC4KCjIwMTEtMDctMTkgMTI6MDU6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBhdm9pZCBoYW5naW5nIG9uIGludmFsaWQgc2hvcnQgaW5wdXQKCSAgLi4uIGFzIGluIHN1Y2ggY2FzZSB0aGVyZSBpcyBubyBzcmNwYWQgeWV0IG9uIHdoaWNoIHRvIGZvcndhcmQgRU9TLgoKMjAxMS0wNy0xOCAxNToxMzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEZpeCBkZWZhdWx0IHZhbHVlIGxlYWtpbmcKCSAgUmVtZW1iZXIgdG8gZnJlZSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBjbGllbnQgbmFtZSwgYXZvaWRpbmcgYQoJICBsZWFrCgoyMDExLTA3LTE4IDE4OjU0OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiBNb3JlIHdvcmsgb24gYnVmZmVycG9vbHMKCSAgQWRkIGRpZmZlcmVudCB0cmFuc3BvcnQgbWV0aG9kcyB0byB0aGUgYnVmZmVycG9vbCAoTU1BUCBhbmQgUkVBRC9XUklURSkKCSAgRG8gbW9yZSBwYXJzaW5nIG9mIHRoZSBidWZmZXJwb29sIGNvbmZpZy4KCSAgU3RhcnQgYW5kIHN0b3Agc3RyZWFtaW5nIGJhc2VkIG9uIHRoZSBidWZmZXJwb29sIHN0YXRlLgoJICBNYWtlIHNlcGFyYXRlIG1ldGhvZHMgZm9yIGdldHRpbmcgYSBidWZmZXIgZnJvbSB0aGUgcG9vbCBhbmQgZmlsbGluZyBpdCB3aXRoCgkgIGRhdGEuIFRoaXMgYWxsb3dzIHVzIHRvIGZpbGwgYnVmZmVycyBmcm9tIG90aGVyIHBvb2xzIHRvby4gRWl0aGVyIHVzZSBjb3B5IG9yCgkgIHJlYWQgdG8gZmlsbCB1cCB0aGUgdGFyZ2V0IGJ1ZmZlcnMuCgkgIEFkZCBwcm9wZXJ0eSB0byBmb3JjZSBhIHRyYW5zZmVyIG1vZGUgaW4gdjRsMnNyYy4KCSAgSW5jcmVhc2UgZGVmYXVsdCBudW1iZXIgb2YgYnVmZmVycyB0byA0LgoJICBOZWdvdGlhdGUgYnVmZmVycG9vbCBhbmQgaXRzIHByb3BlcnRpZXMgaW4gdjRsMnNyYy4KCjIwMTEtMDctMTggMTQ6MjQ6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiByZXNldCB1cG9uIEZMVVNIX1NUT1AKCSAgLi4uIHdoaWNoIGlzIHBhcnRpY3VsYXJseSBuZWVkZWQgd2hlbiBtZXJnaW5nIE5BTCB1bml0cywgd2hlcmUgbm90IHJlc2V0dGluZwoJICB3b3VsZCBsZWFkIHRvIG91dHB1dCBvZiBhbiBvbGRlciAocHJlLWZsdXNoKSBBVSAod2l0aCB1bmludGVuZGVkIHRpbWVzdGFtcCkuCgoyMDExLTA3LTE4IDE0OjMwOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkbyBub3QgdXNlIGdfc2xpc3RfZnJlZV9mdWxsCgkgIC4uLiBhcyB0aGF0IGlzIG9ubHkgaW4gR0xpYiAyLjI4LCB3aGljaCBpcyBub3QgeWV0IHJlcXVpcmVkIGF0IHRoaXMgdGltZS4KCjIwMTEtMDctMTggMTA6NTI6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogYWRkIElPIG1ldGhvZCBlbnVtCgoyMDExLTA3LTE4IDEwOjUxOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgYnVmZmVycG9vbDogaW1wcm92ZSBfbmV3IGZ1bmN0aW9uCgoyMDExLTA3LTE4IDA5OjM4OjI2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBtYXgtZmlsZXMgcHJvcGVydHkKCSAgQWRkIG1heC1maWxlcyBwcm9wZXJ0eSB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIGZpbGVzIHNhdmVkIG9uIGRpc2suCgkgIEFQSTogbXVsdGlmaWxlc2luazo6bWF4LWZpbGVzCgoyMDExLTA3LTE3IDIzOjM2OjU1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiByZWZhY3RvciBmaWxlIG9wZW5pbmcgYW5kIGNsb3NpbmcgY29kZQoKMjAxMS0wNy0xNiAxOTozODo1MSArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgaGVhZGVyIGhhcyBvbmx5IG9uZSBkaXNwbGF5IHZhcmlhYmxlCgkgIEN1cnJlbnQgbWF0cm9za2EgZGVtdXggY2FsY3VsYXRlcyB0aGUgcGl4ZWwgYXNwZWN0IHJhdGlvIG9ubHkgaWYgYm90aAoJICBEaXNwbGF5SGVpZ2h0IGFuZCBEaXNwbGF5V2lkdGggYXJlIHNldCwgYnV0IGl0IGlzIGxlZ2FsIHRvIHVzZSBvbmx5CgkgIG9uZSB2YXJpYWJsZSBpZiB0aGUgb3RoZXIgaXMgZXF1YWwgdG8gUGl4ZWxXaWR0aCBvciBQaXhlbEhlaWdodCwgYXQKCSAgbGVhc3QgdGhlIG1rY2xlYW4gdXRpbGl0eSBpcyBkb2luZyB0aGF0LiBTbyB0aGlzIG1ha3NlIG1rY2xlYW5lZAoJICBmaWxlcyBwbGF5IGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDc0NAoKMjAxMS0wNy0xNiAyMzo0Nzo1MCArMDEwMCAgQW50b2luZSBKYWNvdXRvdCA8YWphY291dG90QG9wZW5ic2Qub3JnPgoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgZ29vbTogZml4IGJ1aWxkIG9uIFBQQyBvbiBvcGVuYnNkCgkgIEEgbWlzc2luZyBzeXMvcGFyYW0uaCBpbmNsdWRlIHJlc3VsdHMgaW46CgkgIC91c3IvaW5jbHVkZS9zeXMvcHJvYy5oOjY0OiBlcnJvcjogJ01BWExPR05BTUUnIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEKCSAgZnVuY3Rpb24pCgkgIC91c3IvaW5jbHVkZS9zeXMvcHJvYy5oOjI4NTogZXJyb3I6ICdNQVhDT01MRU4nIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEKCSAgZnVuY3Rpb24pCgkgIHdoZW4gY29tcGlsaW5nIGdvb20gb24gb3BlbmJzZC9wcGMuIFdlIGNhbiBqdXN0IHJlbW92ZSB0aGUgdHdvIHN5cy8gaW5jbHVkZXMKCSAgaGVyZSwgdGhleSBhcmUgbm90IG5lZWRlZCBmb3IgYW55dGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ3NDkKCjIwMTEtMDctMTUgMTc6MDY6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTE1IDE2OjU1OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBpbXBsZW1lbnQgc2V0dXBfYWxsb2NhdGlvbgoJICBJbXBsZW1lbnQgdGhlIHNldHVwX2FsbG9jYXRpb24gdm1ldGhvZCwgd2UnbGwgaG9wZWZ1bGx5IGRvIHNvbWV0aGluZyBjbGV2ZXIgaW4KCSAgdGhlcmUgbGF0ZXIuCgoyMDExLTA3LTE1IDE2OjI2OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBpbXByb3ZlIGJ1ZmZlcnBvb2wgY29uZmlnIHNldHRpbmcKCSAgUGFzcyB0aGUgY2FwcyBhbmQgdGhlIGRlZmF1bHQgdmlkZW8gc2l6ZSB0byB0aGUgYnVmZmVycG9vbCBjb25maWcuCgkgIERvbid0IGFjdGl2YXRlIHRoZSBidWZmZXJwb29sLCB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgb2JqZWN0IHRoYXQgZGVjaWRlcyB0bwoJICB1c2UgdGhlIGJ1ZmZlcnBvb2wuCgkgIEltcHJvdmUgZGVidWdnaW5nIGFuZCBlcnJvciByZXBvcnRpbmcuCgoyMDExLTA3LTE1IDEzOjUyOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaGFuZGxlIGRlcXVldWVpbmcgY29ycmVjbHkKCSAgRmlyc3QgY2xlYW4gdXAgdGhlIGJ1ZmZlcnMgaW4gdGhlIHF1ZXVlLCB0aGVuIHRoZSByZW1haW5pbmcgb25lcyBpbiB0aGUKCSAgZGV2aWNlLgoKMjAxMS0wNy0xNSAxMzoyOTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdW5yZWYgY29waWVkIGJ1ZmZlcgoJICBBZnRlciB3ZSBjb3B5IHRoZSBpbmNvbW1pbmcgYnVmZmVyIHRvIG9uZSBvZiBvdXIgYnVmZmVycG9vbCBidWZmZXJzLCB1bnJlZiB0aGUKCSAgdGFyZ2V0IGJ1ZmZlciBhZnRlciByZW5kZXJpbmcgc28gdGhhdCBpdCBpcyBwdXQgYmFjayBpbiB0aGUgcG9vbC4KCjIwMTEtMDctMTUgMTM6MDc6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBkZXF1ZXVlIGJ1ZmZlcnMgZm9yIHRoZSBzaW5rCgkgIFdoZW4gd2UgaGF2ZSBhbGwgYnVmZmVycyBxdWV1ZWQgZm9yIHBsYXliYWNrIGFuZCB3ZSBuZWVkIGEgbmV3IGVtcHR5IGJ1ZmZlciwKCSAgZGVxdWV1ZSBvbmUgYW5kIHJldHVybiBpdC4KCSAgU2V0IHRoZSByaWdodCBzaXplIGZvciBzaW5rIGJ1ZmZlcnMuCgkgIEltcHJvdmUgY291bnRpbmcgb2YgcXVldWVkIGJ1ZmZlcnMuCgoyMDExLTA3LTE1IDEyOjM1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogdXNlIHRoZSBwYXJlbnQgcXVldWUgZm9yIHRoZSBzaW5rCgkgIFdlIHdhbnQgdG8gbWFpbnRhaW4gYSBxdWV1ZSBvZiBmcmVlIGJ1ZmZlcnMgZm9yIHRoZSBzaW5rLCB1c2UgdGhlIHBhcmVudCBtZXRob2RzCgkgIHRvIGRvIHRoYXQuCgoyMDExLTA3LTE1IDEyOjAwOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggZXJyb3IgbWVzc2FnZXMKCjIwMTEtMDctMTUgMTE6MzA6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBhZGQgQUxMT0NBVElPTiBxdWVyeSB0byB0aGUgc2luawoKMjAxMS0wNy0xNSAxMToyNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBjb252ZXJ0IHRvIEdzdEJ1ZmZlclBvb2wKCSAgRXh0ZW5kIGZyb20gR3N0QnVmZmVyUG9vbC4KCSAgSGFuZGxlIHRoZSBsaWZldGltZSBvZiB0aGUgcG9vbCBidWZmZXJzIGNvcnJlY3RseSB3aXRoIHRoZSBzdGFydC9zdG9wIHZtZXRob2RzLgoJICBNYXAgYWNxdWlyZSBhbmQgcmVsZWFzZSBkaXJlY3RseSB0byBRQlVGIGFuZCBEUUJVRi4gV2Ugc3RpbGwgZXhwb3NlIGFuIGV4cGxpY2l0CgkgIHFidWYgZm9yIHRoZSB2NGwyc2luayBmb3Igbm93LgoKMjAxMS0wNy0xNSAxMToxODowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogcmVtb3ZlIGV4cGVyaW1lbnRhbCBtYXJrZXJzCgoyMDExLTA3LTE0IDIwOjEwOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICBydHBwY21BcGF5L2RlcGF5OiBTdGF0aWMgY2xvY2sgcmF0ZXMgb24gc3RhdGljIHBheWxvYWRzLCBkeW5hbWljIG9uIGR5bmFtaWMKCSAgUGFydGlhbGx5IHJldmVydHMgMzk3ZGM2MGIKCjIwMTEtMDctMTQgMTY6MjE6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IG1lcmdlIGNvZGUKCjIwMTEtMDctMTQgMTY6MTI6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSAgdjRsMjogTW92ZSBvdXRwdXQgZGV0YWlscyB0byBkZXZpY2Ugb2JqZWN0CgkgIE1vdmUgdGhlIGRldGFpbHMgb2YgaG93IGEgYnVmZmVyIGlzIHJlbmRlcmVkIHRvIHRoZSBkZXZpY2Ugb2JqZWN0LgoKMjAxMS0wMy0wNCAxNTo0MToyMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEltcGxlbWVudCBnZXRjYXBzCgkgIENvbnZlcnQgcHJvZmlsZS1sZXZlbC1pZCBmcm9tIFJUUCBjYXBzIGludG8gdmlkZW8veC1oMjY0IHN0eWxlIGNhcHMgKHdpdGggcHJvZmlsZSBhbmQgbGV2ZWwpCgoyMDExLTA3LTEzIDE4OjMyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IG1vdmUgY2FwdHVyZSBjb2RlIHRvIGRldmljZSBvYmplY3QKCSAgTW92ZSB0aGUgZGV0YWlscyBvZiBob3cgdG8gY2FwdHVyZSB0byB0aGUgZGV2aWNlIG9iamVjdC4gUmVtb3ZlIHRoZQoJICB2NGwyc3JjX2NhbGxzLltjaF0gZmlsZXMgYmVjYXVzZSB0aGV5IGFyZSBlbXB0eSBub3cuCgkgIFByb3ZpZGUgdHdvIHNpbXBsZSBtZXRob2RzIHRvIGdldCBhbmQgcmV0dXJuIGEgYnVmZmVyIHRvIHRoZSBkZXZpY2UuCgkgIEFsc28gZG8gYSBzbG93IGNvcHkgd2hlbiB0aGUgYnVmZmVyIGlzIG5vdCBmcm9tIG91ciBwb29sLgoKMjAxMS0wNy0xMyAxNjo1ODowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogYWRkIHNvbWUgbW9yZSBkZWJ1ZwoKMjAxMS0wNy0xMyAxNjo1NjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHN0b3Agc3RyZWFtaW5nIGluIFJFQURZIGFuZCBOVUxMCgoyMDExLTA3LTEzIDE2OjQwOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzdGFydCBzdHJlYW1pbmcgZm9yIHRoZSBvdXRwdXQgYXMgd2VsbAoKMjAxMS0wNy0xMyAxNjozMzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBMZXQgdGhlIGRldmljZSBvYmplY3QgbWFuYWdlIHRoZSBwb29sCgkgIFJlbmFtZSBzdGFydCBhbmQgc3RvcCBtZXRob2RzIHRvIG9wZW4gYW5kIGNsb3NlIGJlY2F1c2UgdGhhdCBpcyB3aGF0IHRoZXkgZG8uCgkgIEFmdGVyIHNldHRpbmcgdGhlIGZvcm1hdCBvbiB0aGUgZGV2aWNlIG9iamVjdCwgc2V0dXAgdGhlIGJ1ZmZlcnBvb2xzLiBNb3ZlIHRoaXMKCSAgY29kZSBmcm9tIHRoZSB2NGwyc3JjX2NhbGxzLmMgZmlsZSwgaXQgaXMgc2hhcmVkIGJldHdlZW4gc291cmNlIGFuZCBzaW5rLgoJICBNYWtlIG5ldyBkZXZpY2Ugc3RhcnQgYW5kIHN0b3AgbWV0aG9kIHRoYXQgbWVyZ2VzIHZhcmlvdXMgYml0cyBvZiBjb21tb24gY29kZQoJICBzcHJlYWQgb3ZlciBzZXZlcmFsIGZpbGVzLgoKMjAxMS0wNy0xMyAxMzo1MjozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBkb24ndCBzdG9yZSBzdHJpZGUgaW4gdGhlIHZpZGVvaW5mbwoJICBXZSB3YW50IHRvIGtlZXAgdGhlIGRlZmF1bHQgc3RyaWRlcyBpbiB0aGUgdmlkZW9pbmZvLiBLZWVwIHRoZSBzdHJpZGUgb2YgdGhlCgkgIHZpZGVvIGZyYW1lcyBzZXBhcmF0ZSBzbyB0aGF0IHdlIGNhbiB1c2UgYm90aCB0byBjb3B5IGEgdmlkZW8gZnJhbWUgYW5kIGRvCgkgIGNvcnJlY3Qgc3RyaWRlIGNvbnZlcnNpb24uCgoyMDExLTA3LTEzIDEzOjM4OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogVXNlIHZpZGVvIGZyYW1lIGNvcHkgZm9yIHJhdyB2aWRlbwoJICBVc2UgdGhlIHZpZGVvIGZyYW1lIGNvcHkgQVBJIGZvciByYXcgdmlkZW8gZnJhbWVzIHNvIHRoYXQgd2UgY29weSB3aXRoIHRoZSByaWdodAoJICBzdHJpZGVzLgoKMjAxMS0wNy0xMyAxMzozNzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGFkZCB2aWRlbyBtZXRhZGF0YSB0byByYXcgdmlkZW8gYnVmZmVycwoKMjAxMS0wNy0xMyAxMzoxNTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc21hbGwgY2xlYW51cHMKCjIwMTEtMDctMTMgMTM6MDA6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogaW1wcm92ZSBjYXBzIHBhcnNpbmcKCSAgVXNlIEdzdFZpZGVvSW5mbyB0byBzdG9yZSB0aGUgcGFyc2VkIGNhcHMuCgkgIFJlbW92ZSBvdXRzaXplIGZyb20gdGhlIGNhcHMgcGFyc2luZyBjb2RlLCBpdCdzIHdyb25nIGJlY2F1c2UgaXQgZG9lcyBub3QgdXNlCgkgIHRoZSBzdHJpZGUgZ2l2ZW4gYnkgdGhlIGRyaXZlci4KCjIwMTEtMDctMTMgMTE6NDA6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHVzZSBlcnJubwoKMjAxMS0wNy0xMyAxMTozNjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaGFuZGxlIEVJTlZBTCB3aXRob3V0IHBvc3RpbmcgYSB3YXJuaW5nCgkgIEVJTlZBTCBtZWFucyB0aGF0IGEgY2FsbCBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBvbmx5IHdhbnQgdG8gcG9zdCBhIFdBUk5JTkcgd2hlbgoJICBzb21ldGhpbmcgaXMgcmVhbGx5IHdyb25nLgoKMjAxMS0wNy0xMyAxMToyOToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogb25seSBzZXQgZnJhbWVyYXRlIGZvciBjYXB0dXJlIGZvciBub3cKCjIwMTEtMDctMTMgMTE6MTk6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IE1vdmUgY29uZmlndXJhdGlvbiBvZiBmcmFtZXJhdGUgdG8gX3NldF9mb3JtYXQKCSAgTW92ZSB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZnJhbWVyYXRlIHRvIHdoZXJlIHdlIHNldCB0aGUgb3RoZXIgZm9ybWF0CgkgIHBhcmFtZXRlcnMuCgkgIFJlbW92ZSBoYWNrIHRvIGNoZWNrIGlmIHRoZSBkZXZpY2UgaXMgYWN0aXZlLgoJICBTdG9yZSBzdHJlYW1wYXJtIGluIHRoZSBkZXZpY2UgaW5mby4KCSAgVXNlIHNvbWUgbWFjcm9zIHRvIGFjY2VzcyB0aGUgY3VycmVudCBkZXZpY2UgY29uZmlndXJhdGlvbi4KCSAgUmVtb3ZlIHNvbWUgZHVwbGljYXRlIGZpZWxkcyBpbiBzcmMgYW5kIHNpbmsgYW5kIHVzZSB0aGUgZGV2aWNlIGNvbmZpZ3VyYXRpb24KCSAgaW5zdGVhZC4KCjIwMTEtMDctMTIgMTk6MTM6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCByZXR1cm4gdmFsdWUuLi4KCjIwMTEtMDctMTIgMTk6MDM6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogc2ltcGxpZnkgc2V0dGluZyB0aGUgY2FwdHVyZSBmb3JtYXQKCSAgUGFzcyB0aGUgY2FwcyB0byB0aGUgc2V0X2Zvcm1hdCBmdW5jdGlvbiBhbmQgbWFrZSBfc2V0X2Zvcm1hdCBwYXJzZSB0aGUgY2Fwcy4KCSAgQWxzbyBrZWVwIHRoZSBwYXJzZWQgdmFsdWVzIGluIHRoZSB2NGwyb2JqZWN0IHNvIHRoYXQgd2UgY2FuIHJlZmVyIHRvIHRoZW0gd2hlbgoJICB3ZSB3YW50LgoKMjAxMS0wNy0xMiAxODo0MTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IHJlbW92ZSBtb3JlIHVudXNlZCBwYXJhbWV0ZXJzCgoyMDExLTA3LTEyIDE4OjI5OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGw6IGhhbmRsZSBvYmplY3Qgb3V0IG9mIHRoZSBub3JtYWwgZmxvdwoKMjAxMS0wNy0xMiAxODoxMzo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IExldCB0aGUgYnVmZmVycG9vbCBvd24gdGhlIFY0bDJPYmplY3QKCSAgS2VlcCB0cmFjayBvZiB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgZm9ybWF0IGFuZCBzZXR0aW5nIGluIHRoZQoJICB2NGwyb2JqZWN0LgoJICBQYXNzIHRoZSB2NGwyb2JqZWN0IHRvIHRoZSBidWZmZXJwb29sIGNvbnN0cnVjdG9yIHNvIHRoYXQgdGhlIGJ1ZmZlcnBvb2wgY2FuCgkgIGtub3cgZXZlcnl0aGluZyBhYm91dCB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgc2V0dGluZ3MuIFRoaXMgYWxzbyBhbGxvd3MgdXMKCSAgdG8gcmVtb3ZlIHNvbWUgYXdrd2FyZCBjb2RlLgoKMjAxMS0wNy0xMiAxNzowNjo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsOiByZW1vdmUgY2FwcyBhcmd1bWVudCwgaXQncyBub3QgbmVlZGVkCgkgIFJlbW92ZSB0aGUgY2FwcyBwYXJhbWV0ZXIsIHdlIGRvbid0IG5lZWQgaXQgYW55bW9yZSBiZWNhdXNlIHdlIGRvbid0IHNldAoJICBjYXBzIG9uIGJ1ZmZlcnMgYW55bW9yZS4KCjIwMTEtMDctMTIgMTY6NDY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGw6IHBhc3MgdGhlIGJ5dGVzcGVybGluZSBhcm91bmQKCSAgV2hlbiBzZXR0aW5nIGEgZm9ybWF0LCByZXR1cm4gdGhlIGJ5dGVzcGVybGluZSB0byB0aGUgY2FsbGVyIHNvIHRoYXQgaXQgY2FuIGJlCgkgIHVzZWQgdG8gYWxsb2NhdGUgYnVmZmVycy4KCjIwMTEtMDctMTIgMTY6NDM6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBwb29sOiBtYWtlIGJ1ZmZlciB3cml0YWJsZQoJICBXZSBuZWVkIHdyaXRhYmxlIGJ1ZmZlcnMgd2hlbiB3ZSBuZWVkIHRvIGRvIGEgc2xvdyBtZW1jcHkuCgoyMDExLTA3LTEyIDE1OjA0OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHNlZWtpbmcgcmVncmVzc2lvbgoJICAuLi4gaW50cm9kdWNlZCB3aGVuIHNodWZmbGluZyBhcm91bmQgY29kZSBmb3IgdGhlIGFzeW5jIGltcGxlbWVudGF0aW9uCgkgIGJ5IHNldHRpbmcgc3RhdGUgb2Ygc291cmNlIChhbmQgdWRwIHNvdXJjZXMpIGluIF9wbGF5IGJlZm9yZSBkb3duc3RyZWFtCgkgIGZsdXNoaW5nIGlzIHVuZG9uZS4KCjIwMTEtMDctMTEgMTU6MjM6NDEgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IGZpeCBidWZmZXIgZHVyYXRpb24gb24gYmxvY2tzLXBlci1mcmFtZSBjaGFuZ2UKCSAgVGhlIGdzdF9iYXNlX3BhcnNlX3NldF9mcmFtZV9yYXRlIGNhbGwgd2FzIHByZWRpY2F0ZWQgb24gYSBjaGFuZ2UgdG8KCSAgc2FtcGxlIHJhdGUsIGR1cmF0aW9uIG9yIHByb2ZpbGUuIEhvd2V2ZXIsIHRoZSBibG9jayBjb3VudCBwZXIgZnJhbWUgY2FuCgkgIGFsc28gY2hhbmdlIGJldHdlZW4gcGFja2V0cywgd2hpY2ggd291bGQgcmVzdWx0IGluIGluY29ycmVjdCBidWZmZXIKCSAgZHVyYXRpb25zLgoKMjAxMS0wNy0xMSAxMzo1MTo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBoYW5kbGUgcG9vbHMKCSAgQ3JlYXRlIGEgbmV3IHBvb2wgaW4gc2V0Y2FwcyBhbmQgc3RvcC9kZXN0cm95IHRoZSBvbGQgb25lLgoJICBSZW1vdmUgYnVmZmVyX2FsbG9jIGZ1bmN0aW9ucy4KCSAgQ2hlY2sgdGhhdCB3ZSBoYXZlIHY0bDIgbWV0YWRhdGEgaW4gc2hvd19mcmFtZSBhbmQgZmFsbCBiYWNrIHRvIG1lbWNweSBpbnRvIGEKCSAgYnVmZmVyIGZyb20gb3VyIHBvb2wgaWYgd2UgZG9uJ3QgcmVjZWl2ZSBvbmUgb2Ygb3VyIG93biBidWZmZXJzLgoKMjAxMS0wNy0xMSAxMjowNDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiB2YXJpb3VzIGNsZWFudXBzCgkgIFZhcmlvdXMgY2xlYW51cHMsIGF2b2lkcyB1c2VsZXNzIGNhc3RzLCBtb3ZlIGVycm9yIGhhbmRsaW5nIG91dHNpZGUgb2YgdGhlIG1haW4KCSAgY29kZSBmbG93LgoJICBOZWdvdGlhdGUgdG8gYSByZXNvbmFibGUgcmVzb2x1dGlvbiBpbnN0ZWFkIG9mIHRoZSBtYXggcmVzb2x1dGlvbi4KCjIwMTEtMDctMTAgMjE6NTA6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHA6IHBvcnQgcmVtYWluaW5nIHRvIDAuMTEKCjIwMTEtMDctMTAgMTQ6NTY6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMTAgMTM6NDQ6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICB5NG06IHBvcnQgc29tZSBtb3JlCgkgIFVzZSB2aWRlbyBoZWxwZXJzLgoKMjAxMS0wNy0xMCAxMzoyODoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bTogcG9ydCB0byAwLjExCgoyMDExLTA3LTEwIDEyOjQ2OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBtdWx0aXBhcnQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0xMCAxMTo0MjozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMTAgMTE6NDA6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJICBkZWJ1ZzogcG9ydCB0byAwLjExLCBkaXNhYmxlIG90aGVycwoJICBEaWFzYWJsZSB0aGUgZWZlbmNlIGFuZCBjYXBzZGVidWcgZWxlbWVudHMsIHBvcnQgdGhlbSBsYXRlci4KCjIwMTEtMDctMDkgMTk6MjM6NDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgbXVsdGlmaWxlc3JjOiBJbXByb3ZlIGxvb3BpbmcKCSAgQWRkIHN0YXJ0LWluZGV4IGFuZCBzdG9wLWluZGV4IHByb3BlcnRpZXMuCgoyMDExLTA2LTE2IDEzOjU3OjAzICswMTAwICBKb25ueSBMYW1iIDxqb25ueWxhbWJAam9ubnlsYW1iLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIG11bHRpZmlsZTogYWRkIGxvb3AgcHJvcGVydHkgdG8gbXVsdGlmaWxlc3JjCgkgIEZpeGVzOiAjNjUyNzI3CgkgIFNpZ25lZC1vZmYtYnk6IEpvbm55IExhbWIgPGpvbm55bGFtYkBqb25ueWxhbWIuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMTEtMjAgMTA6MDc6NDMgKzAxMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogMTYtYml0IGF1ZGlvIGlzIHNpZ25lZCwgOC1iaXQgaXMgdW5zaWduZWQuCgkgIFByZXRlbmRpbmcgdG8gaGFuZGxlIDgtYml0IHNpZ25lZCBjYXVzZXMgZGlzdG9ydGVkIGF1ZGlvIHdoZW4KCSAgYWN0dWFsbHkgZ2l2ZW4gc3VjaCBhdWRpbywgd2hpY2ggeW91IHdpbGwgZ2V0IGlmIHBhc3NpbmcgOC1iaXQKCSAgdW5zaWduZWQgdGhyb3VnaCBhdWRpb2NvbnZlcnQgISBhdWRpb3Jlc2FtcGxlLCBhcyBhdWRpb3Jlc2FtcGxlCgkgIG9ubHkgaGFuZGxlcyA4LWJpdCBzaWduZWQuICBGaXhlcyAjNjA1ODM0LgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDggMTY6Mzc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IGZpeCBncmF5IGZvcm1hdCwgdXNlIGZpbHRlciBpbiBnZXRjYXBzCgoyMDExLTA3LTA4IDE2OjEwOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogcG9ydCBhbmQgZW5hYmxlIHY0bDJzaW5rCgoyMDExLTA3LTA4IDE0OjM0OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IHBvcnQgdG8gbmV3IHZpZGVvIGZvcm1hdHMKCjIwMTEtMDctMDggMTI6NTE6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA3LTA4IDEyOjQ5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNyAxODoyNzozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGhhbmRsZSBibG9ja3Mgd2l0aCBkdXJhdGlvbj0wCgkgIFNvbWUgdmlkZW8gZnJhbWVzLCBmb3IgZXhhbXBsZSBhbHQtcmVmIGZyYW1lIGluIFZQOCwgd2lsbCBiZQoJICBuZXZlciBkaXNwbGF5ZWQuIFRoaXMgaXMgd2h5IGl0IGhhcyBkdXJhdGlvbj0wLgoJICBUaGlzIHBhdGNoIGFsbG93IHRvIHVzZSB0aGlzIGR1cmF0aW9uLgoJICBCdWc6IDY1NDE3NQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA3LTA2IDE3OjE4OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIGRpcmVjdCBkaXJhYyBtYXBwaW5nCgoyMDExLTA3LTA3IDE3OjU5OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5oOgoJICBlZmZlY3R2OiBwb3J0IGxhc3QgZWZmZWN0diBlbGVtZW50IHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6NDk6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuaDoKCSAgZWZmZWN0djogcG9ydCBzdHJlYWt0diB0byAwLjExCgoyMDExLTA3LTA3IDE3OjQwOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIGVmZmVjdHY6IHBvcnQgcmFkaW9hY3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6Mjk6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBmaXggZG9jcwoKMjAxMS0wNy0wNyAxNzoyOTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkgIGVmZmVjdHY6IHBvcnQgb3AgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzoxODoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICBlZmZlY3R2OiBwb3J0IHF1YXJrIHR2CgoyMDExLTA3LTA3IDE2OjU3OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJICBlZmZlY3R2OiBwb3J0IHJldnR2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTY6NDY6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSAgZWZmZWN0djogcG9ydCB2ZXJ0aWdvdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNjozODoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJICBlZmZlY3R2OiBwb3J0IHNoYWdhZGVsaWN0diB0byAwLjExCgoyMDExLTA3LTA3IDExOjIyOjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogdXNlIEFMV0FZUyBzcmMgcGFkIHJhdGhlciB0aGFuIFNPTUVUSU1FUwoKMjAxMS0wNy0wNyAxMToxNDoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxOTowMzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogYmVnaW5uaW5ncyBvZiBwb3J0aW5nCgoyMDExLTA3LTA2IDE4OjUwOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIHdhcnB0djogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE4OjUwOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICBkaWNlOiBrZWVwIHRyYWNrIG9mIGluZm8KCjIwMTEtMDctMDYgMTg6MzI6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSAgZWZmZWN0djogcG9ydCBkaWNlCgoyMDExLTA3LTA2IDE4OjA5OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSAgZWZmZWN0djogcG9ydCBhZ2luZ3R2CgoyMDExLTA3LTA2IDE3OjUwOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSAgYWFzaW5rOiBwb3J0IHRvIG5ldyB2aWRlbyBBUEkKCjIwMTEtMDctMDYgMTc6NDA6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSAgY2FjYXNpbms6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxNjo1MDozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZzogYmVnaW5uaW5ncyBvZiBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMDctMDYgMTY6MzE6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB1c2UgQUxXQVlTIHNvdXJjZSBwYWQgcmF0aGVyIHRoYW4gU09NRVRJTUVTCgoyMDExLTA3LTA2IDE2OjEwOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxNjoxMDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0wNiAxMjoyMjo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRqdXN0IHRvIHVuc2lnbmVkIHNlZ21lbnQgZmllbGRzCgoyMDExLTA3LTA2IDE1OjU3OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogcG9ydCBzcGVleCBlbGVtZW50cwoKMjAxMS0wNy0wNiAxMjowNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMDYgMTA6MTE6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlciBhbmQgY29ycmVzcG9uZGluZyBydHAgYW5kIHJ0Y3AgYnVmZmVyIGludGVyZmFjZXMKCSAgKiBtaXNjIGNhcHMgYW5kIHNlZ21lbnQgaGFuZGxpbmcgY2hhbmdlcwoJICBGSVhNRTogYWxzbyByZWxpZXMgb24gYmVpbmcgYWJsZSB0byBwYXNzIGNhcHMgYWxvbmcgd2l0aCBhIGJ1ZmZlciwKCSAgd2hpY2ggaGFzIG5vIGV2aWRlbnQgZXF1aXZhbGVudCB5ZXQsIHNvIHRoYXQgZWl0aGVyIG5lZWRzIG9uZSwKCSAgb3Igc3RpbGwgbmVlZHMgcXVpdGUgc29tZSBjb2RlIHBhdGggbW9kaWZpY2F0aW9uIHRvIGRyYWcgYWxvbmcgY2Fwcy4KCjIwMTEtMDYtMjkgMjA6NTk6MjYgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBwcmV2ZW50IHJhY2UgY29uZGl0aW9uIGNhdXNpbmcgcmVmIGxlYWsKCSAgU2luY2UgY29tbWl0IDhiZmQ4MCwgZ3N0X3B1bHNlcmluZ2J1ZmZlcl9zdG9wIGRvZXNuJ3Qgd2FpdCBmb3IgdGhlCgkgIGRlZmVycmVkIGNhbGwgdG8gYmUgcnVuIGJlZm9yZSByZXR1cm5pbmcuIFRoaXMgY2F1c2VzIGEgcmFjZSB3aGVuCgkgIFJFQURZLT5OVUxMIGlzIGV4ZWN1dGVkIHNob3J0bHkgYWZ0ZXIsIHdoaWNoIHN0b3BzIHRoZSBtYWlubG9vcC4gVGhpcwoJICBsZWFrcyB0aGUgZWxlbWVudCByZWZlcmVuY2Ugd2hpY2ggaXMgcGFzc2VkIGFzIHVzZXJkYXRhIGZvciB0aGUgY2FsbGJhY2sKCSAgKGludHJvZHVjZWQgaW4gY29tbWl0IDdjZjk5NiwgYnVnICM2MTQ3NjUpLgoJICBUaGUgY29ycmVjdCBmaXggaXMgdG8gd2FpdCBpbiBSRUFEWS0+TlVMTCBmb3IgYWxsIG91dHN0YW5kaW5nIGNhbGxzIHRvCgkgIGJlIGZpcmVkIChzaW5jZSBsaWJwdWxzZSBkb2Vzbid0IHByb3ZpZGUgYSBEZXN0cm95Tm90aWZ5IGZvciB0aGUKCSAgdXNlcmRhdGEpLiBXZSBnZXQgcmlkIG9mIHRoZSByZWZlcmVuY2UgcGFzc2luZyBmcm9tIDdjZjk5NiBhbHRvZ2V0aGVyLAoJICBzaW5jZSBmaW5hbGl6YXRpb24gZnJvbSB0aGUgY2FsbGJhY2sgd291bGQgYW55d2F5cyBsZWFkIHRvIGEgZGVhZGxvY2suCgkgIFJlLWZpeGVzIGJ1ZyAjNjE0NzY1LgoKMjAxMS0wNy0wNCAwODo1ODoxNCArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzbWFsbCBjbGVhbnVwIG9mIGNvcHktcGFzdGUgY29kZQoKMjAxMS0wNi0yOSAxOTo1MDo0MiArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHJlbW92ZSB1bnVzZWQgbWVtYmVyIHZhcmlhYmxlIGFuZCBtaXNsZWFkaW5nIGxvZyBtZXNzYWdlCgkgIFdpbSBjaGFuZ2VkIGl0IGluIGNvbW1pdCA4YmZkODAgc28gdGhhdCBwYV9kZWZlcl9yYW4gaXMgbm90IHJlYWQKCSAgYW55d2hlcmUuCgkgIFRoZSBsb2cgbWVzc2FnZSB1c2VkIHRvIGFubm90YXRlIGEgbWFpbmxvb3Bfd2FpdCBjYWxsIHdoaWNoIGlzIGdvbmUuCgoyMDExLTA3LTA1IDE1OjM3OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IGZpeCBjYXBzCgoyMDExLTA3LTA1IDExOjQwOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkgIGVmZmVjdHY6IHBvcnQgZWRnZXR2CgoyMDExLTA3LTA1IDEwOjEyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkgdG8gdGhlIGNvbXBpbGVyIGZsYWdzIHRvIGF2b2lkIHdhcm5pbmdzCgoyMDExLTA3LTA0IDEyOjU4OjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogRG9uJ3QgYW5zd2VyIGxhbnRlbmN5IHF1ZXJpZXMgYmVmb3JlIG5lZ290aWF0aW9uCgoyMDExLTA3LTA0IDE4OjE1OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogcG9ydCB0byBuZXcgQVBJCgoyMDExLTA3LTA0IDE4OjEyOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHJlbW92ZSBpbXBsZW1lbnRzaW50ZXJmYWNlCgoyMDExLTA3LTA0IDE4OjEwOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBmaXggY2FwcwoKMjAxMS0wNy0wNCAxODowNjo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYTogcG9ydCB0byBuZXcgdmlkZW8gQVBJCgoyMDExLTA3LTA0IDE3OjAwOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBtb3JlIHBvcnRpbmcKCjIwMTEtMDctMDQgMTY6MDk6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIHBvcnQgdG8gbmV3IHZpZGVvIGFwaQoKMjAxMS0wNi0yOCAxNDowMzo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB2aWRlbzogcG9ydCB0byBuZXcgdmlkZW8gYXBpcwoKMjAxMS0wNy0wNCAxNDozMDowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGF2b2lkIGNyYXNoaW5nIG9uIGludmFsaWQgaW5wdXQgd2l0aG91dCBjb21wb25lbnRzCgoyMDExLTA3LTA0IDExOjA5OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCSAgKiBtaXNjIHNlZ21lbnQgYW5kIGNhcHMgY2hhbmdlcwoKMjAxMS0wNy0wNCAxMTo0ODoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgoyMDExLTA3LTA0IDExOjI1OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcGFzcyBhbG9uZyBzZWdtZW50IGluZm8gdG8gY29sbGVjdHBhZHMKCSAgLi4uIHNvIGl0IGNhbiB0cmFjayB0aGlzIGFuZCBiZSBzdWJzZXF1ZW50bHkgdXNlZCB0byBkZXRlcm1pbmUgcnVubmluZyB0aW1lIGV0Yy4KCjIwMTEtMDctMDQgMTE6MjQ6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogaW5kaWNhdGUgcmF3IGZvcm1hdCBpbiBhYWMgY2FwcwoKMjAxMS0wNy0wNCAxMTowNzoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtaW5kIHJlcXVlc3RlZCBuYW1lIGZvciByZXF1ZXN0IHBhZAoKMjAxMS0wNy0wNCAxMTowNjo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmcmVlIHNjaGVkdWxpbmcgcXVlcnkKCjIwMTEtMDctMDMgMTk6NTE6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJICBwdWxzZTogSW5jcmVhc2UgcmFua3MgdG8gUFJJTUFSWSArIDEwCgkgIFNvIHRoYXQgcHVsc2VzcmMvcHVsc2VzaW5rIGdldCBjaG9zZW4gb3ZlciBvdGhlciBwb3NzaWJsZSBQUklNQVJZCgkgIHNyYy9zaW5rcyBieSBhdXRvYXVkaW9zaW5rLiAgUHJlc3VtYWJseSwgaWYgcHVsc2UgaXMgYXZhaWxhYmxlLCBpdAoJICBpcyBhbHdheXMgcHJlZmVycmVkIG92ZXIgYW5vdGhlciBzcmMvc2luay4KCSAgRml4ZXM6ICM2NDc1NDAuCgoyMDExLTA2LTMwIDE4OjQ3OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydG11eDogQWRkIFxyXG4gdG8gdGFpbCBvZiBwdXNoZWQgYnVmZmVycwoJICBDbGllbnRzIHN1Y2ggYXMgRmlyZWZveCByZXF1aXJlIHRoZSBcclxuIGFmdGVyIHRoZSBwYXlsb2FkLgoKMjAxMS0wNi0xNiAxNDo1Mjo1MSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIGxvb3Bpbmcgd2hlbiBzZWFyY2hpbmcgZm9yIGNsdXN0ZXJzCgkgIEZpeGVzIHNvbWUgYnVncyB0aGF0IHJlc3VsdHMgaW4gdGhlIGRlbXV4ZXIgbG9vcGluZyB3aGVuIHNlYWNoaW5nCgkgIGZvciBjbHVzdGVycyBpbiBub24tZmluYWxpemVkIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyMTk1CgoyMDExLTA2LTMwIDEyOjMwOjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGU6IHBvcnQgdG8gMC4xMAoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCSAgKiBtaXNjIGNhcHMgaGFuZGxpbmcKCjIwMTEtMDYtMzAgMTE6MzU6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgkgICogbWlub3IgbWlzYwoKMjAxMS0wNi0zMCAxMToxNzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZXBsYXlnYWluOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgoyMDExLTA2LTMwIDEwOjUzOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcmVtb3ZlIGRlcHJlY2F0ZWQgcHJvcGVydHkKCjIwMTEtMDYtMzAgMTA6NTE6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgoyMDExLTA2LTMwIDEwOjM4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoKMjAxMS0wNi0zMCAxMDozMDoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMTAgMTg6NTQ6NDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBmaXggcmVmZXJlbmNlIGNvdW50aW5nIG9mIHBhcnNlLT5zdHJlYW1oZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjI4NgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMjkgMTQ6Mzk6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBEb24ndCByb3VuZCB1cCBzaXplIG9mIGVuY29kZWQgYnVmZmVycwoJICBGb3Igc29tZSByZWFzb24sIGluIGNvZGUgZGF0aW5nIHRvIDIwMDEsIGVuY29kZWQganBlZyBidWZmZXJzIHdlcmUKCSAgcm91bmRlZCB1cCB0byBtdWx0aXBsZXMgb2YgNCBieXRlcy4gIFdpdGggdGhlIGFkZGVkIGJvbnVzIHRoYXQgdGhlCgkgIGV4dHJhIGJ5dGVzIGFyZSB1bndyaXR0ZW4sIGNhdXNpbmcgdmFsZ3JpbmQgaXNzdWVzLiAgT29wcy4gIEkgY2FuJ3QKCSAgdGhpbmsgb2YgYW55IHJlYXNvbiB3aHkgSlBFRyBidWZmZXJzIG5lZWQgdG8gYmUgbXVsdGlwbGVzIG9mIDQgYnl0ZXMsCgkgIHNvIEkgcmVtb3ZlZCB0aGUgcGFkZGluZy4gIFRoZXJlIG1pZ2h0IGJlIHNvbWUgY29kZSBzb21ld2hlcmUgdGhhdAoJICBkZXBlbmRzIG9uIHRoaXMgYmVoYXZpb3IsIHNvIGlmIHRoaXMgbmVlZHMgdG8gYmUgcmV2ZXJ0ZWQsIHBsZWFzZSBmaXgKCSAgdGhlIHZhbGdyaW5kIGlzc3Vlcy4KCjIwMTEtMDYtMjkgMTI6NDY6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBpc29tcDQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0yOCAxMjo1NTo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB0d2VhayBzb21lIHBvcnRlZCBzZWdtZW50IGhhbmRsaW5nCgkgIC4uLiB0byBhdm9pZCBsb3NpbmcgZHVyYXRpb24gZHVyaW5nIHB1c2ggbW9kZSBzZWVraW5nLCBhbmQgdG8gcHJvcGVybHkKCSAgYWNjdW11bGF0ZSBydW5uaW5nIHRpbWUgd2hlbiBzZWdtZW50IHNlZWtpbmcuCgoyMDExLTA2LTI5IDEyOjA1OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZyZWUgZGF0ZSB0YWcKCjIwMTEtMDYtMjggMTI6MjY6MzcgKzAyMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzLmxhcnNzb25AaGlxLnNlPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbm90IHNvIGdyZWVkeSBtaW5pbXVtIGZyYW1lIHNpemUKCSAgRml4ZXMgIzY1MzU1OS4KCjIwMTEtMDYtMjUgMTE6Mzk6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBub24tcGtnLWNvbmZpZyBjaGVjayBmb3Igc2hvdXQKCSAgRml4ZXM6IDY1MzMyNwoKMjAxMS0wNi0yMCAxODo0OTo1NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIGR2MTM5NHNyYzogbWFrZSB0aGUgaW50ZXJuYWwgY2xvY2sgdGhyZWFkIHNhZmUKCSAgRml4ZXM6ICM2NTMwOTEuCgoyMDExLTA2LTI0IDExOjU0OjI5ICswMjAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJldHVybiBjb3JyZWN0IHR5cGUgd2hlbiBhc3NlcnRpb24gZmFpbHMKCjIwMTEtMDYtMjMgMTE6Mjg6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2OWI5ODFmIHRvIDYwNWNkOWEKCjIwMTEtMDYtMjIgMTY6NDE6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGZpeCBmb3IgdXJpIGNoYW5nZXMKCjIwMTEtMDItMDIgMTY6MTg6NTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IERyb3Agc3VwcG9ydCBmb3IgUEEgdmVyc2lvbnMgYmVmb3JlIDAuOS4xNgoJICBUaGlzIGRyb3BzIHN1cHBvcnQgZm9mIFB1bHNlQXVkaW8gdmVyc2lvbnMgcHJpb3IgdG8gMC45LjE2LCB3aGljaCB3YXMKCSAgcmVsZWFzZWQgYWJvdXQgMS41IHllYXJzIGFnby4gVGVzdGluZyB3aXRoIHZlcnkgb2xkIHZlcnNpb25zIGlzIG5vdAoJICBmZWFzaWJsZSBhbmQgd2UgZG9uJ3Qgd2FudCB0byBtYWludGFpbiAyIGluZGVwZW5kZW50IGNvZGUtcGF0aHMuCgoyMDExLTA2LTIxIDE4OjI0OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sCgoyMDExLTA2LTIxIDE4OjE5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBmb3IgaGVhZGVyIGNsZWFudXBzCgoyMDExLTA2LTIxIDE1OjE1OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogZml4IG91dHB1dCBidWZmZXIgdGltZXN0YW1wcyBpbiBjYXNlIG9mIG11bHRpcGxlIGZyYW1lcwoKMjAxMS0wNi0yMCAxNjo0NzozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVGhlIHNpZ25hbCBoYXMgNSBhcmd1bWVudHMsIG5vdCA0CgoyMDExLTA2LTIwIDEyOjEzOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1c2Ugc3RyaW5nIGZvciB2aWRlbyBmb3JtYXQgbm93CgoyMDExLTA2LTIwIDEyOjA0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgYXZpOiBsaW5rIGFnYWluc3QgZ3N0dmlkZW8gbm93CgoyMDExLTA2LTIwIDEyOjAzOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpOiBwb3J0IHRvIG5ldyBjYXBzCgoyMDExLTA2LTE4IDEzOjQzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIEJ1bXAgZ2l0IHZlcnNpb24gYWZ0ZXIgdW5wbGFubmVkIDAuMTAuMzAgcmVsZWFzZQoJICBNZXJnZSBicmFuY2ggJzAuMTAuMzAnCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbAoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTEtMDYtMTcgMTA6Mzc6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIHN1bmF1ZGlvOiBmaXggdHlwbyBpbiBjb21tZW50CgoyMDExLTA2LTE3IDE4OjEyOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNi0xNyAxODoxMTozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IGZpeCBjYXBzCgoyMDExLTA2LTE2IDE1OjM4OjEwICswMjAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmRlYmV0aGVuY291cnRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IHVudXNlZC1idXQtc2V0LWNvbXBpbGVyIHdhcm5pbmdzCgkgIFJlbW92ZSB1bm5lY2Vzc2FyeSByZXMgdmFyaWFibGVzLCBjb3JlIGNoZWNrcyBleGlzdGFuY2UKCSAgYW5kIHR5cGUgb2YgdGhlc2UgZmllbGRzIGZvciB1cyBhbHJlYWR5IHZpYSB0aGUgdGVtcGxhdGUKCSAgY2FwcywgYW5kIHdlIGtub3cgdGhhdCB0aGVzZSBmaWVsZHMgZXhpc3QgYmVjYXVzZSB3ZSd2ZQoJICBmaXhhdGVkIHRoZW0gYmVmb3JlIGluIF9uZWdvdGlhdGUoKS4KCjIwMTEtMDYtMTcgMDM6MDc6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IGZpeCBwYXJhbSBmbGFncwoJICBJZiB0aGUgcGFyYW1ldGVyIGNhbm5vdCBiZSBjaGFuZ2VkIGluIHBhdXNlZCZwbGF5aW5nLCBpdCBpcyBub3QgY29udHJvbGFibGUuIFNldAoJICB0aGUgYXBwcm9wcmlhdGUgbXV0YWJpbGl0eSBmbGFnIGluc3RlYWQuCgo9PT0gcmVsZWFzZSAwLjEwLjMwID09PQoKMjAxMS0wNi0xNSAyMzo1NzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMzAKCSAgVGhpcyBpcyBhbiBhZC1ob2MgcmVsZWFzZSB0aGF0IGlzIGFsbW9zdCBpZGVudGljYWwgdG8gMC4xMC4yOToKCSAgKiB3b3JrIGFyb3VuZCBHTGliIGF0b21pYyBvcHMgQVBJIGNoYW5nZQoJICAqIGJldHRlciBoYW5kbGluZyBvZiBtYWxmb3JtZWQgYnVmZmVycyBpbiBSVFAgZGVwYXlsb2RlcnMKCSAgKiBzb21lIG1pbm9yIGNvbXBpbGF0aW9uIGZpeGVzCgoyMDExLTA2LTA4IDE4OjMzOjEwICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBtaW5ndy13NjQKCSAgRml4ZXM6ICM2NTIxNDQuCgkgIGdzdHVkcG5ldHV0aWxzLmg6MzI6MDogZXJyb3I6ICJXSU5WRVIiIHJlZGVmaW5lZAoJICAvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvaW5jbHVkZS9fbWluZ3cuaDoyMzE6MDogbm90ZTogdGhpcyBpcyB0aGUKCSAgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24KCjIwMTEtMDYtMDQgMTM6NDk6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBXb3JrIGFyb3VuZCBjaGFuZ2VzIGluIGdfYXRvbWljIEFQSQoJICBTZWUgIzY1MTUxNCBmb3IgZGV0YWlscy4KCjIwMTEtMDUtMTggMTI6MzY6NDAgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cDogRml4IHNlZ21lbnRhdGlvbiBmYXVsdCBwcm9jZXNzaW5nIHBheWxvYWQgYnVmZmVycwoJICBUaGlzIGNvbW1pdCBjaGVja3MgaWYgdGhlIHZhbHVlIHJldHVybmVkIGJ5CgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX2J1ZmZlciBhbmQKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfc3ViYnVmZmVyIGlzIE5VTEwgYmVmb3JlIHVzaW5nIGl0LgoKMjAxMS0wNS0xNiAwOTowNDozMSArMDIwMCAgUGlubyBUb3NjYW5vIDx0b3NjYW5vLnBpbm9AdGlzY2FsaS5pdD4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IERlZmluZSBQQVRIX01BWCBpZiBpdCBpc24ndCBkZWZpbmVkCgkgIEdOVSBIdXJkIGZvciBleGFtcGxlIGRvZXNuJ3QgZGVmaW5lIGl0LgoKMjAxMS0wNC0yOSAwODo1NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEFsbG93IHNldGNhcHMgdG8gYmUgY2FsbGVkIGFmdGVyIGEgZm9ybWF0IHdhcyBuZWdvdGlhdGVkIGlmIGl0J3MgY29tcGF0aWJsZQoJICBPdGhlcndpc2Ugd2F2ZW5jIHdpbGwgZmFpbCBpZiB1cHN0cmVhbSBkZWNpZGVzIHRvIHNldCBlcXVpdmFsZW50IGNhcHMgb3IgY2FwcwoJICB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbGF0ZXIuCgkgIFRoYW5rcyB0byBBbGV4YW5kZXIgU2NocmVtbWVyIGZvciBmaW5kaW5nIHRoaXMgYnVnLgoKMjAxMS0wNi0xNSAxNTowNjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZG1vbi5oOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2VzZC9lc2RzaW5rLmg6CgkqIGV4dC9lc2QvZ3N0ZXNkLmM6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2FzLWFydHMubTQ6CgkqIG00L2VzZC5tNDoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFJlbW92ZSBlc291bmQvZXNkc2luayBwbHVnaW4KCjIwMTEtMDYtMTUgMTQ6Mzc6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL2dzdGdjb25mLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmg6CgkqIGdjb25mLy5naXRpZ25vcmU6CgkqIGdjb25mL01ha2VmaWxlLmFtOgoJKiBnY29uZi9nc3RyZWFtZXIuc2NoZW1hcy5pbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZ2NvbmYtMi5tNDoKCSogcG8vUE9URklMRVMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgZ2NvbmYgZWxlbWVudHMgYW5kIHBsdWdpbgoJICBHQ29uZiB3YXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgR1NldHRpbmdzIGV0Yy4KCjIwMTEtMDYtMTUgMTU6MTc6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCB1bml0aWFsaXplZCBhY2Nlc3MKCjIwMTEtMDYtMDkgMjE6MDY6MjggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogYWRkIG1pc3Npbmcgc3RkaW8gaW5jbHVkZSBmb3Igc3NjYW5mCgoyMDExLTA2LTEzIDE5OjA4OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNi0xMyAxNzo1MTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAtZ29vZDogcG9ydCBzb21lIG1vcmUgcGx1Z2lucwoKMjAxMS0wNi0xMyAxNzoxNDo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogZml4IGZvciBmbHVzaF9zdG9wIEFQSSBjaGFuZ2UKCjIwMTEtMDYtMTMgMTc6MTQ6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHA6IHBvcnQgc29tZSBtb3JlIChkZSlwYXlsb2FkZXIKCjIwMTEtMDYtMTMgMTc6MDU6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2Vyczogbm90IHNvIGdyZWVkeSBtaW5pbXVtIGZyYW1lIHNpemUKCSAgLi4uIHdoaWNoIHdpbGwgYmUgZGV0ZXJtaW5lZCBieSBwYXJzaW5nIGFueXdheSwgYW5kIGF2b2lkcyBpbnRyb2R1Y2luZwoJICByZWR1bmRhbnQgYWRkaXRpb25hbCBsYXRlbmN5LgoKMjAxMS0wNi0xMyAxNjozMzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAtZ29vZDogdXBkYXRlIGZvciBidWZmZXIgQVBJIGNoYW5nZQoKMjAxMS0wNi0xMyAxNjozMzo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMTMgMTM6MjU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwOiBmaXggZm9yIEFQSSBjaGFuZ2VzIGluIHRoZSBiYXNlIGNsYXNzZXMKCjIwMTEtMDYtMTMgMTM6MDc6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVzZSBjYXBzIGV2ZW50IGZvciBuZWdvdGlhdGlvbgoKMjAxMS0wNi0xMyAxMzowNzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBmb3IgZmx1c2ggc3RvcCBldmVudCBjaGFuZ2VzCgoyMDExLTA2LTA4IDE4OjMzOjEwICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBtaW5ndy13NjQKCSAgRml4ZXM6ICM2NTIxNDQuCgkgIGdzdHVkcG5ldHV0aWxzLmg6MzI6MDogZXJyb3I6ICJXSU5WRVIiIHJlZGVmaW5lZAoJICAvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvaW5jbHVkZS9fbWluZ3cuaDoyMzE6MDogbm90ZTogdGhpcyBpcyB0aGUKCSAgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24KCjIwMTEtMDYtMTEgMTg6NTg6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCBmb3IgYnVmZmVycG9vbCB1cGRhdGUKCjIwMTEtMDYtMTAgMTg6MDU6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IHVwZGF0ZSBmb3IgYWxpZ25tZW50IGNoYW5nZQoKMjAxMS0wNi0wOSAxNzo1NjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IHBvcnQgc29tZSBtb3JlCgoyMDExLTA2LTA5IDE3OjUyOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDYtMDkgMTc6NTA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0wOSAxMTozNzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYWFzaW5rOiByZWdpc3RlciB0ZW1wbGF0ZSBhbmQga2xhc3MgY29ycmVjdGx5CgoyMDExLTA2LTA5IDEwOjUwOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIGdvb206IHBvcnQgZ29vbQoKMjAxMS0wNi0wOCAxODowNjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDYtMDggMTg6MDU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFzc2luazogcG9ydCBhYXNpbmsgdG8gMC4xMQoKMjAxMS0wNi0wNyAxMjowNjowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkgIGRlYnVndXRpbHM6IFN3aXRjaCBmcm9tIEdTVF9CT0lMRVJQTEFURSB0byBHX0RFRklORV9UWVBFCgoyMDExLTA2LTA3IDExOjI1OjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9maWx0ZXI6IFVzZSBuZXcgR3N0QmFzZVRyYW5zZm9ybTo6dHJhbnNmb3JtX2NhcHMgQVBJCgoyMDExLTA2LTA3IDExOjIzOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogRG9uJ3QgdXNlIEdTVF9CT0lMRVJQTEFURQoKMjAxMS0wNi0wNyAxMToyMjozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQnVmZmVycyBubyBsb25nZXIgaGF2ZSBjYXBzCgoyMDExLTA2LTA3IDExOjIwOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYTogVXNlIG5ldyB0cmFuc2Zvcm1fY2FwcyB2bWV0aG9kICh3aXRoIGZpbHRlcikKCjIwMTEtMDYtMDYgMjA6NDM6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGZpeCBzb21lIG1vcmUgcGFyc2VycwoKMjAxMS0wNi0wNiAxODoyMTowNCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9jaGFwdGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA2IDE0OjQ3OjI3ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfYXR0YWNobWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNiAxMjo0MzoxNCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9hdHRhY2hlZF9maWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMjI6NDU6NTUgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9pbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMTA6MTU6MjMgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9tZXRhZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDA5OjU0OjQyICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX21ldGFkYXRhX2lkX3RhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA1IDAyOjI0OjQxICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNiAxMjo0Mjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlc2V0IHN0YXRlIHRyYWNraW5nIHZhcmlhYmxlIHdoZW4gYXBwcm9wcmlhdGUKCSAgLi4uIHNvIHdlIGRvbid0IGVuZCB1cCBpbnRlcnJ1cHRpbmcgYW4gb3BlcmF0aW9uIHRoYXQgc2hvdWxkIG5vdCBiZSBpbnRlcnJ1cHRlZAoJICBiYXNlZCBvbiB0aGUgaW5kaWNhdGlvbiBvZiBhIHByZXZpb3VzIGludGVycnVwdGFibGUgb3BlcmF0aW9uLgoKMjAxMS0wNi0wNCAxMzo0OTo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IFdvcmsgYXJvdW5kIGNoYW5nZXMgaW4gZ19hdG9taWMgQVBJCgkgIFNlZSAjNjUxNTE0IGZvciBkZXRhaWxzLgoKMjAxMS0wNi0wNCAxMzo0MzowMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmg6CgkgIHNvdXBodHRwc2luazogY29kZSBjbGVhbnVwCgoyMDExLTA2LTA1IDAyOjAwOjA4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogVXNlIEFSVElTVCB0YWcgaW5zdGVhZCBvZiBBVVRIT1IgZm9yIEdTVF9UQUdfQVJUSVNUCgkgIEFVVEhPUiBvbmx5IGV4aXN0ZWQgaW4gYW4gb2xkIHZlcnNpb24gb2YgdGhlIHNwZWMgYW5kIEFSVElTVCBpcwoJICB0aGUgbmV3IHJlcGxhY2VtZW50IGZvciB0aGlzLiBXZSBhcmUgc3RpbGwgcmVhZGluZyBib3RoIHRvIHN0aWxsCgkgIGJlIGNvbXBhdGlibGUgd2l0aCBvbGQgZmlsZXMuCgkgIEZpeGVzIGJ1ZyAjNjQ0ODc1LgoKMjAxMS0wNi0wMiAxODo1MToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMveGltYWdlL3hpbWFnZXV0aWwuYwoKMjAxMS0wNi0wMiAxODo0NzozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIGF2aTogcG9ydCBBVkkgZWxlbWVudHMgdG8gbmV3IEFQSQoKMjAxMS0wNi0wMiAxMzozODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBGaXJzdCBxdWVyeSB0aGUgcGVlciBkdXJhdGlvbiBpbiB0aGUgcmVxdWVzdGVkIGZvcm1hdCBiZWZvcmUgY29udmVydGluZyB0byBCWVRFUwoJICBGaXhlcyB1c2FnZSBvZiBkdmRlbXV4IGFmdGVyIGFub3RoZXIgZGVtdXhlciwgZS5nLiBteGZkZW11eC4KCSAgRml4ZXMgYnVnICM2NTA1MDMuCgoyMDExLTA2LTAyIDEwOjQxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJICBzb3VwaHR0cHNpbms6IEZpeCByZWZjb3VudGluZyBvZiB0aGUgInNlc3Npb24iIHByb3BlcnR5CgkgIFByb3BlcnRpZXMgc2hvdWxkIG5ldmVyIHRha2Ugb3duZXJzaGlwIG9mIHRoZSB2YWx1ZXMKCSAgcGFzc2VkIHRvIHRoZW0uCgoyMDExLTA2LTAxIDE3OjA0OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEZvciBzdHJlYW1pbmcgZmlsZXMsIHB1c2ggdGFncyBmaXJzdAoKMjAxMS0wNS0yNCAxNDo1MjowMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IEFkZCBzb3VwaHR0cHNpbmsKCjIwMTEtMDYtMDEgMTA6MTk6MzEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGFsbG93IHNraXAtZmlyc3QtYnl0ZXMgb2YgZnVsbCBidWZmZXIgc2l6ZQoKMjAxMS0wNS0zMCAxODozMTo1MCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMzAgMTI6MDk6MzEgKzAyMDAgIEFudG9uaW8gRnJlZGlhbmkgPGFudG9uaW8uZnJlZGlhbmlAaW53aW5kLml0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIEdTVF9UQUdfSU1BR0UgZm9yIGNvdmVyYXJ0IHRvbwoJICBGaXhlcyBidWcgIzYzODEwNy4KCjIwMTEtMDUtMzAgMTA6NDA6MDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2dldF9zZWVrX3RyYWNrCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcmVzZXRfc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI4IDIyOjA0OjM0ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2the2RlbXV4LHBhcnNlfV9mb3VuZF9nbG9iYWxfdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjggMTA6NTk6MDkgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV9pbmRleF9zZWVrX2ZpbmQKCSAgLSBnc3RfbWF0cm9za2F7ZGVtdXgscGFyc2V9X2RvX2luZGV4X3NlZWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNyAyMzoxNToyMyArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV90cmFja251bWJlcl91bmlxdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNyAyMDoyODoxOSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9kZWNvZGVfZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDE5OjMwOjQ4ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2dldF9sZW5ndGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNyAwOToxNzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IFJldmVydCAxYTkwYTZjNCBhbmQgZHJvcCBEaXJhYyBzdXBwb3J0IGFnYWluCgkgIEl0IGRvZXMgbm90IHdvcmsgYXQgYWxsIChBL1Ygc3luYyBpc3N1ZXMpLCBpcyBub3QgdmVyeSB1c2VmdWwsCgkgIG90aGVyIGNvbnRhaW5lcnMgd29yayBtdWNoIGJldHRlciB3aXRoIERpcmFjIGFuZCBEaXJhYyBpbiBBVkkKCSAgaXMgbm90IHN1cHBvcnRlZCBieSBvdGhlciBzb2Z0d2FyZS4KCSAgRml4ZXMgYnVnICM1NDEyMTUuCgoyMDExLTA1LTI2IDIzOjM1OjUyICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9lbmNvZGluZ19jbXAKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9yZWFkX3RyYWNrX2VuY29kaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2lkX2xlbmd0aF9wdWxsCgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19pZF9sZW5ndGhfcHVzaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19hZGFwdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjYgMTI6NDg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHh2aW1hZ2VzaW5rOiBGYWxsYmFjayB0byBub24tWFNobSBtb2RlIGlmIGFsbG9jYXRpbmcgdGhlIFhTaG0gaW1hZ2UgZmFpbGVkCgkgIEZpeGVzIGJ1ZyAjNjMwNDU2LgoKMjAxMS0wNS0yNiAxMjoyMjo1MiArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiBEZXByZWNhdGVkIHNlbmQtY29uZmlnIHByb3BlcnR5IGFuZCByZXBsYWNlIGJ5IGNvbmZpZy1pbnRlcnZhbAoJICBGaXhlcyBidWcgIzYyMjQxMi4KCjIwMTAtMDYtMjMgMTE6MTI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogVVRGLTggc3VidGl0bGVzIG1heSBoYXZlIG1hcmt1cAoJICBGaXhlcyAjNjE2OTM2LgoKMjAxMS0wMS0yMyAxNTo1Njo0OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgIGNhaXJvdGV4dG92ZXJsYXk6IGZvcndhcmQgbmV3IHNlZ21lbnQgZXZlbnRzIGZyb20gdGhlIHNpbmsgdG8gdGhlIHNvdXJjZQoJICBOb3QgZG9pbmcgc28gd2lsbCBjYXVzZSBidWZmZXJzIHRvIGJlIHJlY2VpdmVkIGJ5IGRvd25zdHJlYW0gd2l0aG91dAoJICBhIHRpbWUgYmFzZSBzZXQuCgkgIFdlIHVzZSB0aGUgc2FtZSBtZXRob2QgYXZpbXV4IHVzZXMgdG8gZ2V0IGFjY2VzcyB0byB0aGUgZXZlbnQgd2hlbgoJICBjb2xsZWN0cGFkcyBnb3QgdGhlIHNpbmsgZXZlbnQgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAzMjMKCjIwMTEtMDEtMjQgMTE6MTE6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIHRleHRvdmVybGF5OiBmb3J3YXJkIHNvdXJjZSBldmVudHMgdG8gc2lua3MKCSAgRXZlbnRzIGFyZSBwYXNzZWQgdG8gdGhlIHZpZGVvIHNpbmssIGFuZCB0byB0aGUgdGV4dCBzaW5rIGlmIGl0IGlzCgkgIGxpbmtlZC4KCSAgVGhpcyB3aWxsIGFsbG93IHNlZWtpbmcsIGZvciBpbnN0YW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4NjQ1MAoKMjAxMS0wNS0yNSAyMToxMjoxMiArMDIwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IEFkZCBwcm9wZXJ0eSB0byBhc3N1bWUgYSBzaW5nbGUgc3RyZWFtIGFuZCBlbWl0IG5vLW1vcmUtcGFkcwoJICBGaXhlcyBidWcgIzYxNjY4Ni4KCjIwMTEtMDUtMjUgMTQ6NTA6MjYgKzAyMDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1bmlmb3JtIHVua25vd24gbWVzc2FnZSBoYW5kbGluZwoJICBEbyB0aGUgc2FtZSBwcm9jZXNzaW5nIGluIGFsbCB0aGUgY2FzZXMgd2hlbiBhbiB1bmtub3duIG1lc3NhZ2UgaXMgcmVjZWl2ZWQuCgkgIFRoYXQgaXMsIGdpdmUgYSB3YXJuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxMDU5CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfcHVsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19ieXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9lbmNvZGluZ19vcmRlcl91bmlxdWUKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9yZWFkX3RyYWNrX2VuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjQgMTg6Mjc6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBwb3J0IHRvIG5ldyBBUEkKCjIwMTEtMDUtMjQgMTc6MzQ6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jCgkgIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYwoJICBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYwoKMjAxMS0wNS0yNCAxMzoxMjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICBwY211ZGVwYXk6IGFsbG93IHZhcmlhYmxlIHNhbXBsZSByYXRlCgoyMDExLTA1LTI0IDEzOjExOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgIHBjbWFkZXBheTogYWxsb3cgdmFyaWFibGUgc2FtcGxlIHJhdGUKCjIwMTAtMDQtMDQgMDY6NDM6NDEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYWRkIG5vcm0gcHJvcGVydHkKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBHdWVubmFkaSBMaWFraG92ZXRza2kuCgkgIHYyOiB1cGRhdGVzIGJlY2F1c2UgSSBmb3Jnb3QgdG8gYWRkIEdzdFR1bmVyIGludGVyZmFjZSB0byB2NGwyc2luawoJICB2MzogdXBkYXRlIHRvIGFkZCBhbGwgcG9zc2libGUgdmFsdWVzIHRvIG5vcm0gZW51bQoKMjAxMS0wNS0yMyAyMDo0NjowNCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogZml4ZWQgY29weXJpZ2h0IGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX2RlY29kZV9jb250ZW50X2VuY29kaW5ncwoJICAtIGdzdF9tYXRyb3NrYV9kZWNvbXByZXNzX2RhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yMyAxODo0ODo1NyArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogbW92ZSBHc3RNYXRyb3NrYXtEZW11eCxQYXJzZX06OnN0YXRlIHRvIEdzdE1hdHJvc2thUmVhZENvbW1vbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI0IDA5OjQ4OjU2ICswMjAwICBKb25hcyBMYXJzc29uIDxqb25hcy5sYXJzc29uQGhpcS5zZT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggYnVmZmVyIGxlYWsgd2l0aCBjb3JydXB0ZWQgZmlsZXMKCSAgRml4ZXMgYnVnICM2NTA5MTIuCgoyMDExLTA1LTIzIDAyOjQ2OjM4IC0wNzAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IHBhcmFtZXRlciB0eXBlIGluIHRyYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgUmVwbGFjZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB3aXRoIHRoZWlyIGdzdF9tYXRyb3NrYV9yZWFkX2NvbW1vbl8qCgkgIGNvdW50ZXJwYXJ0czoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9pbmRleAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX3NraXAKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9zdHJlYW1fZnJvbV9udW0KCSAgSW50cm9kdWNlIEdzdE1hdHJvc2thUmVhZENvbW1vbiB0byBjb250YWluIHRob3NlIG1lbWJlcnMgb2YKCSAgR3N0TWF0cm9za2FEZW11eCBhbmQgR3N0TWF0cm9za2FQYXJzZSB0aGF0IHdlcmUgdXNlZCBieSB0aGUgYWJvdmUKCSAgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDEzOjUwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdGVsbCBiYXNlcGFyc2UgdGhlIGR1cmF0aW9uIGluIHNhbXBsZXMgZm9yIGJldHRlciBhY2N1cmFjeQoJICBUZWxsIEdzdEJhc2VQYXJzZSB0aGUgZHVyYXRpb24gaW4gc2FtcGxlcyBpbnN0ZWFkIG9mIHRpbWUsIHNvIHRoYXQKCSAgYSBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdCB3aWxsIHJldHVybiB0aGUgY29ycmVjdCBudW1iZXIKCSAgb2Ygc2FtcGxlcyB3aXRob3V0IHJvdW5kaW5nIGVycm9ycy4gQmFzZXBhcnNlIHdpbGwgY29udmVydCB0aGlzCgkgIGludG8gdGltZSBpdHNlbGYgd2hlbiBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA3ODUKCjIwMTEtMDUtMjMgMTM6MjU6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBhbHNvIHRyeSB1cHN0cmVhbSBmaXJzdCBmb3IgZHVyYXRpb24gcXVlcnkgaW4gREVGQVVMVCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDc4NQoKMjAxMS0wNS0yMyAxMzoyMzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1ha2UgY29udmVyc2lvbiBmcm9tIFRJTUUgdG8gREVGQVVMVCBmb3JtYXQgKHNhbXBsZXMpIHdvcmsKCSAgRml4IGNvcHknbidwYXN0ZSBlcnJvciBpbiB0aGUgcHJldmlvdXMgY29tbWl0LgoKMjAxMS0wNS0yMyAxMTozNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEltcGxlbWVudCBjb252ZXJzaW9ucyBiZXR3ZWVuIFRJTUUgYW5kIERFRkFVTFQgZm9ybWF0CgkgIEZpeGVzIGJ1ZyAjNjUwNzg1LgoKMjAxMS0wNS0yMiAxODo1MDo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRvbid0IGVycm9yIG91dCBvbiBpbnZhbGlkIG1pbmltdW1fYmxvY2tzaXplIHZhbHVlIGluIHN0cmVhbWluZm8gaGVhZGVyCgkgIFdlIGRvbid0IHVzZSBpdCwgc28gbWF5IGp1c3QgYXMgd2VsbCBhY2NlcHQgYW4gaW52YWxpZCB2YWx1ZQoJICBvZiAwIGhlcmUsIHdoaWNoIGlzIGxpa2VseSBpbmNvbnNlcXVlbnRpYWwgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwNjkxCgoyMDExLTA1LTIwIDEwOjM0OjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkgIHJ0cDogZml4IHN0YXRpYyBhcnJheSBvdmVycnVucyBpbiBhIG5pY2VyIHdheQoJICBVc2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgdGhlIGFycmF5IHNpemUuCgoyMDExLTA1LTIwIDAwOjUzOjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkgIHJ0cDogZml4IHN0YXRpYyBhcnJheSBvdmVycnVucwoJICBZZXMgYXJyYXlbMTBdIGhhcyBlbGVtZW50cyBmcm9tIDAuLi45LgoKMjAxMS0wNS0xOSAyMzozMToxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gaW50cm9zcGVjdGlvbiBkYXRhCgkgIE5vdyBtb3JlIGZpbGVzIGFyZSBtZXJnZWQgYW5kIHByb2R1Y2VkIGluIGEgY2Fub25pY2FsIGZhc2hpb24sIHdoaWNoIGhvcGVmdWxseQoJICBjcmVhdGVzIGxlc3Mgb3Igbm8gZGVsdGEgaW4gdGhlIGZ1dHVyZS4KCjIwMTEtMDUtMTkgMjI6NTc6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWU1YmJkNSB0byA2OWI5ODFmCgoyMDExLTA1LTE5IDE4OjIxOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIG1pc3NpbmcgYnJlYWsKCjIwMTAtMTEtMDggMTQ6MDY6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBkZWludGVybGFjaW5nIHVzaW5nIGJ1ZmZlciBjYXBzL2ZsYWdzCgkgIFdoZW4gbm90IHVzaW5nIHRoZSBmaWVsZGFuYWx5c2lzIGVsZW1lbnQgaW1tZWRpYXRlbHkgdXBzdHJlYW0gb2YgZGVpbnRlcmxhY2UsCgkgIGJlaGF2aW91ciBzaG91bGQgcmVtYWluIHVuY2hhbmdlZC4gZmllbGRhbmFseXNpcyB3aWxsIHNldCB0aGUgY2FwcyBhbmQgZmxhZ3Mgb24KCSAgdGhlIGJ1ZmZlcnMgc3VjaCB0aGF0IHRoZXkgY2FuIGJlIGludGVycHJldGVkIGFuZCBhY3RlZCB1cG9uIHRvIHByb2R1Y2UKCSAgcHJvZ3Jlc3NpdmUgb3V0cHV0LgoJICBUaGVyZSBhcmUgdHdvIG1haW4gbW9kZXMgb2Ygb3BlcmF0aW9uOgoJICAtIFBhc3NpdmUgcGF0dGVybiBsb2NraW5nCgkgIFBhc3NpdmUgcGF0dGVybiBsb2NraW5nIGlzIGEgbm9uLWJsb2NraW5nLCBsb3ctbGF0ZW5jeSBtb2RlIG9mIG9wZXJhdGlvbiB0aGF0CgkgIGlzIHN1aXRhYmxlIGZvciBjbG9zZS10by1saXZlIHVzYWdlLiBJbml0aWFsbHkgYSB0ZWxlY2luZSBzdHJlYW0gd2lsbCBiZQoJICBvdXRwdXQgYXMgdmFyaWFibGUgZnJhbWVyYXRlIHdpdGggbmHDr3ZlIHRpbWVzdGFtcCBhZGp1c3RtZW50LiBXaXRoIGVhY2gKCSAgaW5jb21pbmcgYnVmZmVyLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gbG9jayBvbnRvIGEgcGF0dGVybi4gV2hlbiBhIGxvY2sgaXMKCSAgb2J0YWluZWQsIHRoZSBzcmMgcGFkIGFuZCBvdXRwdXQgYnVmZmVyIGNhcHMgd2lsbCByZWZsZWN0IHRoZSBwYXR0ZXJuIGFuZAoJICB0aW1lc3RhbXBzIHdpbGwgYmUgYWNjdXJhdGVseSBpbnRlcnBvbGF0ZWQgYmV0d2VlbiBwYXR0ZXJuIHJlcGVhdHMuIFRoaXMKCSAgbWVhbnMgdGhhdCBpbml0aWFsbHkgYW5kIGF0IHBhdHRlcm4gdHJhbnNpdGlvbnMgdGhlcmUgd2lsbCBiZSBzaG9ydCBwZXJpb2RzCgkgIG9mIGluYWNjdXJhdGUgdGltZXN0YW1waW5nLgoJICAtIEFjdGl2ZSBwYXR0ZXJuIGxvY2tpbmcKCSAgQWN0aXZlIHBhdHRlcm4gbG9ja2luZyBpcyBhIGJsb2NraW5nLCBoaWdoLWxhdGVuY3kgbW9kZSBvZiBvcGVyYXRpb24gdGhhdCBpcwoJICB0YXJnZXRlZCBhdCB1c2UtY2FzZXMgd2hlcmUgdGltZXN0YW1wIGFjY3VyYWN5IGlzIHBhcmFtb3VudC4gQnVmZmVycyB3aWxsIGJlCgkgIHF1ZXVlZCB1bnRpbCBlbm91Z2ggYXJlIHByZXNlbnQgdG8gbWFrZSBhIGxvY2suIFdoZW4gbG9ja2VkLCB0aW1lc3RhbXBzIHdpbGwKCSAgYmUgYWNjdXJhdGVseSBpbnRlcnBvbGF0ZWQgYmV0d2VlbiBwYXR0ZXJuIHJlcGVhdHMuIE9ycGhhbiBmaWVsZHMgY2FuIGJlCgkgIGRyb3BwZWQgb3IgZGVpbnRlcmxhY2VkLiBJZiBubyBsb2NrIGNhbiBiZSBvYnRhaW5lZCwgYSBzaW5nbGUgZmllbGQgbWlnaHQgYmUKCSAgcHVzaGVkIHRocm91Z2ggdG8gYmUgZGVpbnRlcmxhY2VkLgoJICBMb2NraW5nIGNhbiBhbHNvIGJlIGRpc2FibGVkIG9yICdhdXRvJyBjaG9vc2VzIGJldHdlZW4gcGFzc2l2ZSBhbmQgYWN0aXZlCgkgIGxvY2tpbmcgbW9kZXMgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdXBzdHJlYW0gaXMgbGl2ZS4KCjIwMTEtMDUtMTAgMTY6MjU6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlbW92ZSBjb25maWcgc2NyaXB0IGNoZWNrIGZvciBjYWNhCgoyMDExLTA1LTE4IDEyOjM2OjQwICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICBydHA6IEZpeCBzZWdtZW50YXRpb24gZmF1bHQgcHJvY2Vzc2luZyBwYXlsb2FkIGJ1ZmZlcnMKCSAgVGhpcyBjb21taXQgY2hlY2tzIGlmIHRoZSB2YWx1ZSByZXR1cm5lZCBieQoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9idWZmZXIgYW5kCgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX3N1YmJ1ZmZlciBpcyBOVUxMIGJlZm9yZSB1c2luZyBpdC4KCjIwMTEtMDUtMTggMTQ6NDk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogUG9zdCBDT0RFQyBhbmQgQklUUkFURSB0YWdzCgkgIEFsc28gZmlsdGVyIGFueSBDT0RFQy9BVURJT19DT0RFQyB0YWdzIGZyb20gaW5jb21pbmcKCSAgdGFnIGV2ZW50cy4KCSAgRml4ZXMgYnVnICMzOTE1NDMuCgoyMDExLTA1LTE4IDE2OjEwOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkMzUwNzMgdG8gOWU1YmJkNQoKMjAxMS0wNS0xOCAxMjo1MjozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBlbnN1cmUgMC1wYWRkaW5nIHdoZW4gY29ycmVjdGluZyBkdWJpb3VzIGxpc3Qgc2l6ZQoKMjAxMS0wNS0xOCAxMjoyNDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NmRmY2VhIHRvIGZkMzUwNzMKCjIwMTEtMDUtMTggMTA6MjI6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIEVJTlZBTCBmb3IgbWlzc2luZyB1cmwgcGFyYW1ldGVyCgkgIEZpeGVzIGdjYyB3YXJuaW5nIGFib3V0IHVzaW5nIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgJ3JlcycuCgoyMDExLTA0LTI4IDE1OjM3OjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICB2YXJpb3VzOiBmaXggYXV0aG9yIHRhZyBpbiBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDQtMjAgMTU6MjU6NTggLTA0MDAgIENocmlzIEUgSm9uZXMgPGNocmlzQGNocmlzZWpvbmVzLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogaW1wbGVtZW50IHNlZWtpbmcKCSAgSW1wbGVtZW50IHNlZWtpbmcgYW5kIHNlZWtpbmcgcXVlcnkuIEZpeGVzICM2NDQ1MTIKCjIwMTEtMDUtMTcgMTY6MTM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA0LTA2IDE2OjA1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBhbGxvdyBQQVVTRSB0byBiZSBpbnRlcnJ1cHRlZAoJICAuLi4gYXMgaXQgaXMgb24gdGhlIHdheSBvdXQgdG8gTlVMTC4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE1OjUxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZW5zdXJlIHByb3BlciBjbG9zaW5nIGFuZCBjbGVhbnVwCgkgIC4uLiBzaW5jZSB0aGUgVEVBUkRPV04gc2VxdWVuY2UgbWlnaHQgbm90IGhhdmUgaGFkIGEgY2hhbmNlIHRvIGV2ZW4gc3RhcnQsCgkgIGJ1dCBhdCBsZWFzdCBjb25uZWN0aW9ucyBzaG91bGQgYmUgY2xvc2VkIChzeW5jaHJvbm91c2x5KSBhbmQgc3RhdGUgY2xlYW5lZCB1cC4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE1OjQ5OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmaXggYW5kIGltcHJvdmUgYXN5bmMgaGFuZGxpbmcKCSAgU2ltcGxpZnkgdGhlIGNvbW1hbmQgaGFuZGxpbmc7IHBhc3NpbmcgYSBjb21tYW5kIHRvIHRocmVhZCBtZWFucyB3ZSByZWFsbHkKCSAgd2FudCBpdCB0byBnZXQgdGhlIG1lc3NhZ2UsIHdoaWNoIG1lYW5zIHRvIGFsd2F5cyBmbHVzaCBwcm92aWRlZCB0aGUgY29tbWFuZAoJICBjYW4gaGFuZGxlIGJlaW5nIGludGVycnVwdGVkLiAgQ29tbWFuZCB0aHJlYWQgaW5kaWNhdGVzIHdoZXRoZXIgY29tbWFuZAoJICBhbGxvd3MgaW50ZXJydXB0aW9uIGFuZCBlbnN1cmUgbm9uLWZsdXNoaW5nIGNvbm5lY3Rpb24gYXMgaXQgc3Vic2VxdWVudGx5CgkgIG5lZWRzIGl0LgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGFsc28gbWFrZXMgdGhlIFRFQVJET1dOIHNlcXVlbmNlIGludGVycnVwdGFibGUKCSAgYW5kIGFsc28gcHJldmVudHMgcmFjZXMgd2hlcmUgX2xvb3BfIGNvdWxkIG1pc3MgYSBjb21tYW5kIGFuZCB3b3VsZAoJICBjb250aW51ZSByZWNlaXZpbmcgKG9yIGF0IGxlYXN0IHRyeWluZyB0bykuCgkgIFNlZSAjNjMyNTA0LgoKMjAxMS0wNC0wNiAxNDo1MzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHR3ZWFrIHBvc3Qtc2VlayBsb29wIGhhbmRsaW5nCgoyMDExLTAxLTEwIDEyOjQ2OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IG9wZW4gb24gcGxheSBhbmQgcGF1c2Ugd2hlbiBub3QgZG9uZSB5ZXQKCSAgV2l0aCB0aGUgYXN5bmMgc3RhdGUgY2hhbmdlcywgaXQgaXMgcG9zc2libGUgdGhhdCB3ZSBuZWVkIHRvIG9wZW4gdGhlIHN0cmVhbQoJICBiZWZvcmUgcGxheSBhbmQgcGF1c2UuCgkgIEFsc28gbWFrZSBzdXJlIHdlIHJlbWVtYmVyIGEgcHJldmlvdXMgb3BlbiBmYWlsdXJlIHNvIHRoYXQgd2UgZG9uJ3Qga2VlcCB0cnlpbmcKCSAgYWdhaW4uCgoyMDExLTAxLTEwIDExOjQ1OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXByb3ZlIGFzeW5jIGhhbmRsaW5nCgkgIFNpbXBsaWZ5IHRoZSBjb21tYW5kIGhhbmRsaW5nLCBvbmx5IGNvbnRpbnVlIGxvb3Bpbmcgd2hlbiB3ZSBoYXZlIG5vdCByZWNlaXZlZAoJICBhbm90aGVyIGNvbW1hbmQgb3Igd2hlbiB0aGUgcHJldmlvdXMgbG9vcCB3YXMgc3VjY2Vzc2Z1bGwuCgkgIEF2b2lkIGxvb3Bpbmcgb24gYSBkaXNjb25uZWN0ZWQgc29ja2V0LgoKMjAxMS0wMS0wNyAxODowMjo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmV3b3JrIHJlY29ubmVjdCBjb2RlCgkgIFVzZSB0aGUgc2FtZSBhc3luYyBjb2RlIHBhdGggdG8gaW1wbGVtZW50IHJlY29ubmVjdHMuCgkgIE1ha2Ugc3VyZSB3ZSBvbmx5IHBvc3QgcHJvZ3Jlc3MgbWVzc2FnZXMgd2hlbiBkb2luZyBhc3luYyB0aGluZ3MuCgoyMDExLTAxLTA3IDE3OjE5OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzbWFsbCBjbGVhbnVwcwoJICBNYWtlIHN1cmUgd2UgY2FuY2VsIHRoZSBwcmV2aW91cyB0YXNrIHdoZW4gcXVldWluZyBhIG5ldyBvbmUuCgkgIE1vdmUgdGhlIG1lc3NhZ2VzIHRvIGEgY2VudHJhbCBwbGFjZSBzbyB3ZSBjYW4gbW9yZSBlYXNpbHkgcG9zdCB0aGVtLgoKMjAxMS0wMS0wNyAxNToxNTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcG9zdCBlcnJvcnMgd2hlbiBpbnRlcnJ1cHRpbmcKCjIwMTEtMDEtMDcgMTM6NDM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wbGVtZW50IG1vcmUgYXN5bmMgaGFuZGxpbmcKCSAgUmVtb3ZlIHNvbWUgb2xkIGxvY2tzLgoJICBNYWtlIHN1cmUgd2UgbmV2ZXIgZ28gaW50byB0aGUgbG9vcCBmdW5jdGlvbiB3aGVuIGZsdXNoaW5nLgoKMjAxMS0wMS0wNyAxMTo0MDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZmlyc3QgYXR0ZW1wdCBhdCBhc3luYyBpbXBsZW1lbnRhdGlvbgoKMjAxMS0wMS0wNyAxMTo0MDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc21hbGwgaGVhZGVyIGNsZWFudXBzCgoyMDExLTA1LTE3IDEwOjQ3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgZm9yIChwcmUtKSByZWxlYXNlcyB0b28KCjIwMTEtMDQtMjggMTU6NTc6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0czogT25seSBhbGxvdyBtcGVnLXRzIG9uIHNvdXJjZSBvYmplY3RzCgkgIFVnbHkgZml4IGZvciAjNjQ4MzEyCgoyMDExLTA1LTE3IDA5OjI0OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDUtMDYgMTk6MDk6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IEltcGxlbWVudCBpdGVyYXRlIGludGVybmFsIGxpbmtzIGZvciBzaW5rIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0wNiAxODo0MTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogaXRlcmF0ZSBwYWQgZnVuY3Rpb24gaXMgb25seSB2YWxpZCBmb3Igc3JjIHBhZHMKCSAgVGhlIGl0ZXJhdGUgZnVuY3Rpb24gaXMgb25seSB1c2VkIGZvciBzcmMgcGFkcywgc28gbWFyayBpdCBhcyBzdWNoIGFuZCByZW1vdmUKCSAgZGVhZCBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NjE3CgoyMDExLTA1LTA2IDE4OjEyOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHNpZ25hbAoJICBJZiB0aGUgbG9jayBpcyBub3QgcmVsZWFzZWQgYmVmb3JlIGVtaXR0aW5nIGEgc2lnbmFsLCBpdCBtYXkgY2F1c2UgYSBkZWFkbG9jawoJICBpZiBhbnkgb3RoZXIgZnVuY3Rpb24gaW4gdGhlIGVsZW1lbnQgaXMgY2FsbGVkLgoJICBBbHNvIHJlbW92ZWQgYW4gdW51c2VkIHRpbWVzdGFtcCBwYXJhbWV0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0xNSAyMzoyNToxNSArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGNhbGN1bGF0ZSBzZWdtZW50IGR1cmF0aW9uIGFmdGVyIHBhcnNpbmcgYWxsIHRoZSBJRHMKCSAgU2luY2UgdGhlIHNlZ21lbnQgZHVyYXRpb24gaXMgZ2l2ZW4gaW4gdGVybXMgb2YgdGhlCgkgIEdTVF9NQVRST1NLQV9JRF9USU1FQ09ERVNDQUxFIHdlIHNob3VsZCBvbmx5IGNvbnZlcnQgaXQgaW50bwoJICBuYW5vc2Vjb25kcyB3aGVuIHdlIGFyZSBzdXJlIHRoYXQgYW55IHNjYWxlIHNwZWNpZmllZCBpbiB0aGUgZmlsZSBoYXMKCSAgYmVlbiByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMjU4CgoyMDExLTA1LTE2IDE3OjUyOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wNS0xNiAxNzo1MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICAtZ29vZDogZml4IGZvciBuZXcgQVBJCgoyMDExLTA1LTA0IDExOjU1OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGRpdGlvbmFsIGxvY2sgc2FmZXR5CgkgIEZpeGVzICM2MTk1OTAuCgoyMDExLTA0LTI2IDE2OjA2OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNoZWNrIGZvciBiaXRyYXRlIGluZm8gaW4gY2FwcwoKMjAxMC0wNS0yNSAwMTowNDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGd1ZXNzIGJpdHJhdGUgaWYgb25seSBvbmUgc3RyZWFtJ3MgYml0cmF0ZSBpcyB1bmtub3duCgkgIElmIHRoZSBiaXRyYXRlcyBmb3IgYWxsIGJ1dCBvbmUgYXVkaW8vdmlkZW8gc3RyZWFtcyBhcmUga25vd24sIGFuZCB0aGUKCSAgdG90YWwgc3RyZWFtIHNpemUgYW5kIGR1cmF0aW9uIGNhbiBiZSBkZXRlcm1pbmVkLCB0aGlzIGNhbGN1bGF0ZXMgdGhlCgkgIHVua293biBiaXRyYXRlIGFzIChzdHJlYW0gc2l6ZSAvIGR1cmF0aW9uKSAtIChzdW0gb2Yga25vd24gYml0cmF0ZXMpLgoJICBXaGlsZSB0aGlzIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIHZlcnkgYWNjdXJhdGUsIGl0IHNob3VsZCBiZSBnb29kCgkgIGVub3VnaCBmb3IgbW9zdCBwdXJwb3Nlcy4KCSAgRm9yIGV4YW1wbGUsIHRoaXMgaXMgdXNlZnVsIGZvciBILjI2MyArIEFBQyBzdHJlYW1zIHdoZXJlIG5vICdidHJ0JyBhdG9tCgkgIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHZpZGVvIHBvcnRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk1NDgKCjIwMTAtMDUtMzEgMjM6NTk6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBtYXggYml0cmF0ZSBmb3IgQU1SLU5CLy1XQiBzdHJlYW1zCgkgIFRoaXMgcGFyc2VzIHRoZSAnZGFtcicgYXRvbSBpZiBwcmVzZW50LCBhbmQgZXhwb3J0cyB0aGUgbWF4aW11bSBiaXRyYXRlCgkgIG9mIHRoZSBzdHJlYW0gdXNpbmcgdGhlIG1vZGUgc2V0IGZpZWxkIHRvIGRldGVybWluZSB0aGUgaGlnaGVzdCBiaXRyYXRlCgkgIGZyYW1lIHR5cGUgdGhhdCBtaWdodCBiZSBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMTg2CgoyMDExLTA1LTE2IDA5OjA0OjMxICswMjAwICBQaW5vIFRvc2Nhbm8gPHRvc2Nhbm8ucGlub0B0aXNjYWxpLml0PgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogRGVmaW5lIFBBVEhfTUFYIGlmIGl0IGlzbid0IGRlZmluZWQKCSAgR05VIEh1cmQgZm9yIGV4YW1wbGUgZG9lc24ndCBkZWZpbmUgaXQuCgoyMDExLTA1LTE1IDIzOjI1OjE1ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2FsY3VsYXRlIHNlZ21lbnQgZHVyYXRpb24gYWZ0ZXIgcGFyc2luZyBhbGwgdGhlIElEcwoJICBTaW5jZSB0aGUgc2VnbWVudCBkdXJhdGlvbiBpcyBnaXZlbiBpbiB0ZXJtcyBvZiB0aGUKCSAgR1NUX01BVFJPU0tBX0lEX1RJTUVDT0RFU0NBTEUgd2Ugc2hvdWxkIG9ubHkgY29udmVydCBpdCBpbnRvCgkgIG5hbm9zZWNvbmRzIHdoZW4gd2UgYXJlIHN1cmUgdGhhdCBhbnkgc2NhbGUgc3BlY2lmaWVkIGluIHRoZSBmaWxlIGhhcwoJICBiZWVuIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAyNTgKCjIwMTEtMDUtMDkgMTk6MDA6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogQWRkIHN1cHBvcnQgZm9yIG1wZWd2ZXJzaW9uIDIsIHdoaWNoIGlzIGFsc28gQUFDCgoyMDExLTA1LTExIDEwOjI1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBTZW5kIEVPUyB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGVuZCBvZiBmaWxlIGluc3RlYWQgb2YgZmFpbGluZwoJICBGaXhlcyBidWcgIzY0OTc4MC4KCjIwMTEtMDQtMjkgMDg6NTk6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBTZXQgZml4ZWRjYXBzIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlIHNpbmtwYWQKCSAgd2F2ZW5jIGRvZXMgbm90IGFsbG93IHRvIGNoYW5nZSB0aGUgY2FwcyBkdXJpbmcgcGxheWJhY2sKCSAgYW5kIGFsd2F5cyByZXR1cm5pbmcgdGhlIHRlbXBsYXRlIGNhcHMgaXMganVzdCB3cm9uZy4KCjIwMTEtMDQtMjkgMDg6NTU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBbGxvdyBzZXRjYXBzIHRvIGJlIGNhbGxlZCBhZnRlciBhIGZvcm1hdCB3YXMgbmVnb3RpYXRlZCBpZiBpdCdzIGNvbXBhdGlibGUKCSAgT3RoZXJ3aXNlIHdhdmVuYyB3aWxsIGZhaWwgaWYgdXBzdHJlYW0gZGVjaWRlcyB0byBzZXQgZXF1aXZhbGVudCBjYXBzIG9yIGNhcHMKCSAgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGxhdGVyLgoJICBUaGFua3MgdG8gQWxleGFuZGVyIFNjaHJlbW1lciBmb3IgZmluZGluZyB0aGlzIGJ1Zy4KCjIwMTEtMDUtMTQgMTA6MDI6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yOSA9PT0KCjIwMTEtMDUtMTAgMTA6MDQ6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjkKCSAgSGlnaGxpZ2h0czoKCSAgLSBhbXJwYXJzZSwgYWFjcGFyc2UsIGFjM3BhcnNlLCBmbGFjcGFyc2UsIG1wZWdhdWRpb3BhcnNlLCBkY2FwYXJzZSBhdWRpbyBwYXJzZXJzIChtb3ZlZCBmcm9tIC1iYWQpCgkgIC0gbXV4ZXJzIG5vdyBtdXggYmFzZWQgb24gcnVubmluZyB0aW1lCgkgIC0gSVNPIE1QNCBtdXhlcnM6IG1wNG11eC8zZ3BwbXV4L3F0bXV4L21qMm11eCAobW92ZWQgZnJvbSAtYmFkKQoJICAtIG5ldyBtYXRyb3NrYXBhcnNlIGVsZW1lbnQKCSAgLSBuZXcgdjRsMnJhZGlvIGVsZW1lbnQKCSAgLSBydHBzZXNzaW9uOiBzdXBwb3J0IFJUQ1AgRWFybHkgRmVlZGJhY2sgKHRoZSBBVlBGIHByb2ZpbGUpCgkgIC0gb3JjIDAuNC4xNCBvciBuZXdlciByZWNvbW1lbmRlZAoJICAtIG1hbnkgb3RoZXIgZml4ZXMgYW5kIGltcHJvdmVtZW50cwoKMjAxMS0wNS0wNSAxMzoyNDoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggc2lnbmVkIGZsb2F0aW5nIHBvaW50IHZhbHVlcyB3cml0aW5nCgkgIFlvdSB3b3VsZCBlbmQgdXAgb24gc29tZSBhcmNoaXRlY3R1cmVzIHdpdGggMCBiZWluZyB3cml0dGVuIG91dAoJICBpbnN0ZWFkIG9mIHRoZSBwcm9wZXIgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk0NDkKCjIwMTEtMDUtMDQgMTI6MDQ6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYXZvaWQgYnVpbGRpbmcgaW5kZXggd2hlbiBzdHJlYW1hYmxlCgkgIC4uLiBhcyBpdCB3aWxsIG5vdCBiZSB3cml0dGVuIGFueXdheS4KCSAgRml4ZXMgIzY0ODkzNyAoPykuCgoyMDExLTA1LTAyIDEyOjA5OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIG9sZCBxdGRlbXV4L3F1aWNrdGltZSBkaXJlY3RvcmllcyB0byBDUlVGVF9ESVJTIGFuZCBDUlVGVF9GSUxFUwoKMjAxMS0wNS0wMSAwMDowNDowMyAtMDQwMCAgVG9tIEphbmlzemV3c2tpIDx0b20uamFuaXN6ZXdza2lAYWxjYXRlbC1sdWNlbnQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCBvdmVyd3JpdGUgbWV0YWRhdGEgdGFnIHdpdGggZHVyYXRpb24gaW4gc3RyZWFtaW5nIG1vZGUKCSAgQSBkdXJhdGlvbiB0YWcgZ2V0cyBpbnNlcnRlZCBvbmx5IGZvciBzdHJlYW1hYmxlPWZhbHNlLCBzbyBvbmx5CgkgIHVwZGF0ZS93cml0ZSB0aGUgZHVyYXRpb24gbGF0ZXIgaWYgd2UgYWN0dWFsbHkgaW5zZXJ0ZWQgdGhhdCB0YWcsCgkgIG90aGVyd2lzZSB3ZSB3cml0ZSBnYXJiYWdlIGludG8gb3RoZXIgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2MAoKMjAxMS0wNC0zMCAxODoxNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBwby9mci5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI4LjQgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMzAgMTc6NDY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QvaXNvbXA0L0xFR0FMOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9mdHlwY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5oOgoJKiBnc3QvaXNvbXA0L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC52Y3Byb2o6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvaXNvbXA0L3F0cGFsZXR0ZS5oOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcXVpY2t0aW1lOiByZW5hbWUgcGx1Z2luIHRvIGlzb21wNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/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+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWY6IE1vdmUgZHVwbGljYXRlICNkZWZpbmVzIGludG8gYSBjb21tb24gaW5jbHVkZQoJICBDZW50cmFsaXplIGR1cGxpY2F0ZWQgY29uc3RhbnRzIHNvIHRoZXkgaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KCSAgQWxzbyBzdGFuZGFyZGlzZSBtaW5pbXVtIHRvbmUgZHVyYXRpb24gdG8gMjUwbXMgYW5kIG1pbmltdW0gaW50ZXItdG9uZQoJICBpbnRlcnZhbCB0byAxMDBtcy4KCjIwMTEtMDMtMjQgMTQ6MzQ6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGVudHJvcHl3YXZlLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBBZGQgY29uZGl0aW9uYWxzIG9uIFdBVkVfRk9STUFUX0RPTEJZX0FDM19TUERJRgoKMjAxMS0wNC0xMSAyMDowOToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSAgY2Fwc2RlYnVnOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTExIDIwOjA1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nIHdpdGggZ2NjIDQuNgoJICBNb3N0IGxpa2VseSBhIGxlZnRvdmVyIGZyb20gd2hlbiB0aGUgaW5kZXggcGFyc2luZyBjb2RlIHdhcyByZXdyaXR0ZW4uCgoyMDExLTA0LTExIDE5OjU0OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xMSAxOTo1MDowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogZml4IGhhbmRsaW5nIG9mIFlVViBpbWFnZXMgd2l0aCAnb2RkJyB3aWR0aHMKCSAgRml4ZXMgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42LgoKMjAxMS0wNC0xMSAxOTo0OToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xMyAxODoxMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY3tiYW5kLGxpbWl0fTogRml4IGNoZWNrIGZvciBkaXZpc29uIGJ5IHplcm8KCjIwMTEtMDQtMTMgMTg6MDE6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IEZpeCByYW5nZSBvZiBrZXJuZWwgZWxlbWVudHMgKGxpbSAtPiBsaW0tMSkKCjIwMTEtMDQtMTMgMTg6MDA6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pdDogQWRkIHNvbWUgbW9yZSBicmFjZXMgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlCgoyMDExLTA0LTExIDE4OjQwOjMwIC0wNTAwICBKb3JkaSBCdXJndWV0LUNhc3RlbGwgPGpvcmRpLmJ1cmd1ZXQtY2FzdGVsbEBsaWdvLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IEZpeCByYW5nZSBvZiBrZXJuZWwgZWxlbWVudHMgKGxpbSAtPiBsaW0tMSkgaW4gaGlnaC9sb3ctcGFzcyBmaWx0ZXJzCgoyMDExLTA0LTEzIDE3OjQ5OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBBZGQgbmV3IHdpbmRvd2luZyBmdW5jdGlvbnM6IGdhdXNzaWFuLCBjb3MgYW5kIGhhbm4KCjIwMTEtMDQtMTEgMTg6NDE6NDMgLTA1MDAgIEpvcmRpIEJ1cmd1ZXQtQ2FzdGVsbCA8am9yZGkuYnVyZ3VldC1jYXN0ZWxsQGxpZ28ub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pbXQ6IEFkZCBuZXcgd2luZG93cyB0byBoaWdoL2xvdy1wYXNzIGZpbHRlcnM6IGdhdXNzaWFuLCBjb3NpbmUsIGhhbm4KCjIwMTEtMDQtMTMgMTY6NDc6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNldCBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtIG9uIGgyNjQgY2FwcyBpZiB0aGVyZSdzIG5vIGNvZGVjIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMS0wNC0xMyAxNjozNzowNyArMDEwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHJlc3RyaWN0IGgyNjQgc29tZSBtb3JlIHRvIG9ubHkgYWNjZXB0IEFVLWFsaWduZWQgQVZDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTEtMDQtMTMgMTc6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogVGhlIFZCUkkgaGVhZGVyIGlzIGFsd2F5cyBhdCBvZmZzZXQgMHgyMCwgaW5kZXBlbmRlbnQgb2YgTVBFRyB2ZXJzaW9uCgkgIEFsc28gY2xlYW4gdXAgYWR2YW5jaW5nIG9mIHRoZSBkYXRhIHBvaW50ZXIgYSBiaXQuCgkgIEZpeGVzIGJ1ZyAjNjQ3NjU5LgoKMjAxMS0wNC0xMyAxNToxODoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBhZGQgdmFyaWFudC1sZXNzIHZpZGVvL3F1aWNrdGltZSB0byBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIGF1dG9tYXRpYyB0cmFuc2NvZGluZyB1c2luZyBlbmNvZGViaW4uIE91ciB0eXBlZmluZGVyCgkgIGRvZXMgbm90IGFsd2F5cyBhZGQgYSB2YXJpYW50IHRvIHRoZSBmb3VuZCBjYXBzLCBhbmQgZW5jb2RlYmluIG5lZWRzCgkgIGFuICpleGFjdCogbWF0Y2ggdG8gdGhlIGNhcHMgb24gdGhlIHNvdXJjZSBwYWQgdGVtcGxhdGUsIHNvIHdlIG5lZWQKCSAgdG8gYWRkIHRoZSB2YXJpYW50LWxlc3MgdmlkZW8vcXVpY2t0aW1lIGNhcHMgdG8gdGhlIHRlbXBsYXRlIGFzIHdlbGwKCSAgZm9yIGVuY29kZWJpbiB0byBiZSBhYmxlIHRvIGZpbmQgaXQuIEFkZCB1bml0IHRlc3QgZm9yIHRoaXMgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Mjg3OQoKMjAxMS0wNC0xMyAxNjoxNzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IGludGVycHJldGUgdGhlIHJlc3VsdCBvZiBzdHJjbXAoKQoKMjAxMS0wNC0xMyAxNjowOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IERvbid0IHN0b3JlIGltYWdlIHRhZ3MgaW5zaWRlIHRoZSB2b3JiaXNjb21tZW50cyBhbmQgdGhlIGZsYWMgbWV0YWRhdGEKCSAgSW5zdGVhZCBvbmx5IHN0b3JlIHRoZW0gaW5zaWRlIHRoZSBmbGFjIG1ldGFkYXRhLiBUaGVyZSdzCgkgIG5vIHBvaW50IGluIHN0b3JpbmcgdGhlbSB0d2ljZSBhbmQgdGhlIGZsYWMgbWV0YWRhdGEgaXMKCSAgc3RpbGwgdGhlIG9mZmljaWFsIHdheSB0byBzdG9yZSBpbWFnZSB0YWdzIGluc2lkZSBmbGFjLgoKMjAxMS0wNC0xMyAxMjozODoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgcXRtdXgtcmVsYXRlZCB0ZXN0IGJpbmFyaWVzCgoyMDExLTA0LTEzIDExOjI1OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eHBsdWdpbi5jOgoJKiBnc3QvcXVpY2t0aW1lL3F1aWNrdGltZS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgcXVpY2t0aW1lOiBtb3ZlIHF0bXV4IHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjY5OQoKMjAxMS0wNC0xMiAxNjo0MjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBsZWZ0b3ZlciBNQUVNT19CUk9LRU4gZGVmaW5lcwoJICBSZW1vdmUgZGVmaW5lcyB0byB3b3JrIGFyb3VuZCBidWdzIGluIG9sZCBNYWVtbyByZWxlYXNlcwoKMjAxMS0wNC0wNCAxMjoyMToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3JlIGhlbHBmdWwgZGVidWcgZXJyb3IgbWVzc2FnZSB3aGVuIG5vIG5lZWRlZCBkdXJhdGlvbiBvbiBpbnB1dCBidWZmZXJzCgkgIEZpeGVzICM2NDYyNTYuCgoyMDExLTAzLTIxIDEwOjU2OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZQoJICBBZGRzIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2Ugc3VwcG9ydCB0byBxdG11eAoKMjAxMS0wMy0yMiAyMDo1MzowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgU2VlIGFsc28gIzQzMjYxMi4KCjIwMTEtMDMtMTAgMTY6MDM6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSBmb3IgUFRTIG1ldGFkYXRhIHdoZW4gc28gY29uZmlndXJlZAoJICAuLi4gYW5kIG5vdCBvbmx5IHdoZW4gc29ydC1vZiBmZWVsaW5nIGxpa2UgaXQuCgkgIEluIGFueSBjYXNlLCBpZiBpdCB0dXJucyBvdXQgYWxsIHJlYWxseSBpcyBpbiBvcmRlciwKCSAgYW5kIHByZXN1bWFibHkgRFRTID09IFBUUywgdGhlbiBubyBjdHRzIHdpbGwgYmUgcHJvZHVjZWQgYW55d2F5LgoKMjAxMS0wMy0xMCAxNjowMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbHNvIHRyYWNrIG9yaWdpbmFsIFBUUyBidWZmZXIgdGltZXN0YW1wIGluIHJlb3JkZXIgZHRzLW1ldGhvZAoKMjAxMS0wMi0yMSAxMjoxNDo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIFJldmVydCAiQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZDg3NDA0NzZjY2QzYTM0OThkYzRmMThjMTk3MzM2NDM4MjVjN2I4LgoJICBEZXBlbmRzIG9uIGEgY29yZSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQKCjIwMTEtMDItMjAgMjM6NTc6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkCgkgIFRoZSBjb3JlIG5vdyBjYWxscyByZWxlYXNlIHBhZCBmcm9tIGZpbmFsaXplLCBhdCB3aGljaCBwb2ludAoJICB0aGUgY29sbGVjdHBhZHMgbWlnaHQgaGF2ZSBhbHJlYWR5IGJlZW4gZnJlZWQuCgoyMDExLTAxLTEzIDExOjI4OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3Q6IHF0bXV4OiBUZXN0cyBxdG11eCByZXVzZQoJICBGb3JjZXMgdGhlIHVzZSBvZiBxdG11eCBhZnRlciBpdCBoYXMgYmVlbiBwdXQgdG8gUExBWUlORyBhbmQgYmFjawoJICB0byBOVUxMIG9uY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0xMyAxNToyNzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgc3JjIHBhZHMgd2hlbiBzdGFydGluZyBmaWxlCgkgIC4uLiByYXRoZXIgdGhhbiBhdCBfaW5pdCB0aW1lLCBzbyB0aGV5IGFyZSBhbHNvIGF2YWlsYWJsZSBmb2xsb3dpbmcgYQoJICBwYWQgKGRlKWFjdGl2YXRpb24gY3ljbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzgKCjIwMTEtMDEtMDMgMTc6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGp1c3QgbmFzdHkgY2FzZSB0aW1lc3RhbXAgdHJhY2tpbmcKCSAgVGhhdCBpcywgYWxsIHNvcnRzIG9mIHByb2JsZW1zIGFyaXNlIHdpdGggcmUtb3JkZXJlZCBpbnB1dCB0aW1lc3RhbXBzIHRoYXQKCSAgdGVuZCB0byBkZWZ5IGF1dG9tYWdpYyBoYW5kbGluZyBmb3IgZXZlcnkgY2FzZSwgc28gYWxsb3cgZm9yIGEgZmV3IHZhcmlhdGlvbnMKCSAgdGhhdCBjYW4gYmUgdHJpZWQgZGVwZW5kaW5nIG9uIGNpcmN1bXN0YW5jZXMuCgkgIEFsc28gdHJ5IHRvIGRvY3VtZW50IGFjY29yZGluZ2x5LgoJICBBbHNvIGZpeGVzICM2MzgyODguCgoyMDEwLTEyLTMwIDIxOjQ4OjQxICswMjAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdldCByaWQgb2YgdGltZXN0YW1wIG92ZXJwcm90ZWN0aXZlbmVzcwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCjIwMTEtMDEtMDMgMTY6NTY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzaW1wbGlmeSBhbmQgZml4IHB0c19vZmZzZXQgc3RvcmluZwoJICBJbiBwYXJ0aWN1bGFyLCBvbmx5IHdyaXRlIGEgY3R0cyBhdG9tIGlmIGFuZCBvbmx5IGlmIGV2ZXIgYSBub24temVybyBvZmZzZXQuCgoyMDExLTAxLTAzIDEwOjQzOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBzb21lIG1vcmUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxNToyMzowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiByZW1vdmUgbGFyZ2UtZmlsZSBwcm9wZXJ0eQoJICBSYXRoZXIsIGF1dG8tZGV0ZXJtaW5lIGlmIDY0LWJpdHMgZmllbGRzIGFyZSBuZWVkZWQgZm9yIGEgdmFsaWQgcmVzdWx0LCBhbmQKCSAgc3RpY2sgdG8gcGxhaW4gMzItYml0cyBpZiBub3QgbmVlZGVkLgoJICBBUEk6IEdzdFFUTXV4OmxhcmdlLWZpbGUgKHJlbW92ZWQpCgoyMDEwLTEyLTE5IDEyOjUzOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgQXRvbUluZm8gc3RydWN0cwoKMjAxMC0xMi0xOSAxMjo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIHRhZyBzdHJpbmcgYWZ0ZXIgdXNlCgoyMDEwLTEyLTE5IDEyOjEyOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGFnc2NoZWNraW5nOiBGaXggc29tZSBtb3JlIG1lbW9yeSBsZWFrcwoKMjAxMC0xMi0xNyAxOTo0MToyNSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWxsb3cgemVybyBkdXJhdGlvbiB0cmFja3MKCjIwMTAtMTItMDMgMTg6MDk6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDEgMTA6NDU6NDkgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG1zdmMgZnRydW5jYXRlIGluY29tcGF0aWJpbGl0eQoJICBGaXhlcyAjNjM2MTg1LgoKMjAxMC0xMS0yNyAxNjowNzoxOSAtMDYwMCAgQWxlamFuZHJvIEdvbnphbGV6IDxhZ29uemFsZXpAZGV4dHJhdGVjaC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnc3RfcXRtdXhfY2hlY2tfZGlmZmVyZW5jZSB2ZXJpZnkgYmVmb3JlIHN1YnRyYWN0CgkgIEF2b2lkIG5lZ2F0aXZlIG92ZXJmbG93IGJ5IGNoZWNraW5nIHRoZSBvcmRlciBvZiBvcGVyYW5kcwoJICBvbiBzdWJ0cmFjdGlvbiBvZiB1bnNpZ25lZCBpbnRlZ2Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTg3OAoKMjAxMC0xMS0xOSAxNzo1NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgcmVtbmFudCBvZiBvYnNvbGV0ZSBwcm9wZXJ0eQoKMjAxMC0xMS0xOSAxNToxODo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGFsc28gdW5pdCB0ZXN0IGZyYWdtZW50ZWQgZmlsZSBjYXNlcwoKMjAxMC0wNy0zMCAxMjo0ODoyOSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsbG93IHNwZWNpZnlpbmcgdHJhayB0aW1lc2NhbGUKCSAgVGhpcyBpcyBtYWlubHkgYmVjYXVzZSBTbW9vdGhzdHJlYW1pbmcgY2xpZW50IGFyZSBicm9rZW4gYW5kIGRvbid0CgkgIHRha2UgdGhlIFRpbWVTY2FsZSBwcm9wZXJ0eSBpbnRvIGFjY291bnQuCgoyMDEwLTExLTE5IDE3OjQxOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbmNsdWRlIHNkdHAgYXRvbXMgZm9yIGlzbXYgZnJhZ21lbnRlZCBmaWxlcwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTkgMTk6MTc6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZW5hYmxlIGRlZmF1bHQgZnJhZ21lbnRlZCBmaWxlIGZvciBpc21sbXV4CgoyMDEwLTA5LTAyIDEzOjU4OjA1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgIHF0bXV4OiBhZGQgaXNtbG11eCwgZm9yIGZyYWdtZW50ZWQgaXNtbCBtYWpvciBicmFuZAoKMjAxMC0xMS0xOSAxNDo0NDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaW5hbGl6ZSBzaW5rcGFkcyBsaXN0CgoyMDEwLTA3LTIyIDE5OjQwOjA3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtb292IGluIHN0cmVhbWhlYWRlcgoKMjAxMC0wOC0wNiAxMzoyNjoyNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBzdHJlYW1hYmxlIHByb3BlcnR5IHRvIGF2b2lkIGJ1aWxkaW5nIGZyYWdtZW50ZWQgbWZyYSBpbmRleAoKMjAxMC0xMS0xOCAxNjo0ODowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgbWZyYSB0byBmcmFnbWVudGVkIGZpbGUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE1IDE1OjE3OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9wdGlvbmFsbHkgY3JlYXRlIGZyYWdtZW50ZWQgZmlsZQoJICBJbiB0aGlzIG1vZGUsIGFuIGluaXRpYWwgZW1wdHkgbW9vdiAoY29udGFpbmluZyBvbmx5IHN0cmVhbSBtZXRhZGF0YSkgaXMgd3JpdHRlbiwKCSAgZm9sbG93ZWQgYnkgZnJhZ21lbnRzIGNvbnRhaW5pbmcgYWN0dWFsIGRhdGEgKGFsb25nIHdpdGggcmVxdWlyZWQgbWV0YWRhdGEpLgoJICBOZXcgZnJhZ21lbnRzIGFyZSBzdGFydGVkIGVpdGhlciBhdCBrZXlmcmFtZSAoaWYgc3VjaCBhcmUgc3BhcnNlKSBvciB3aGVuCgkgIHByb3BlcnR5IGNvbmZpZ3VyZWQgZHVyYXRpb24gZXhjZWVkZWQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoJICBGaXhlcyAjNjMyOTExLgoKMjAxMC0xMS0xNSAxNToxMjo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiB1c2UgaGVscGVyIHRvIHNldCBhdG9tIGZsYWdzIGZyb20gZ2l2ZW4gdWludAoKMjAxMC0xMS0wOSAxNjo0OTowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBjb25maWd1cmluZyBhbmQgc2VuZGluZyBvZiBtb292CgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0wOSAxNTo1NDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBleHRyYSB0b3AtbGV2ZWwgYXRvbSBoYW5kbGluZwoJICBBbHNvIGNoZWNrIGEgYml0IG1vcmUgZm9yIHBvc3NpYmxlIGVycm9ycywgYW5kIGZyZWUgcHJvcGVyIGl0ZW1zIGluIHN1Y2ggY2FzZS4KCjIwMTAtMTEtMDkgMTU6MDE6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3Igc2xpZ2h0bHkgdXNpbmcgYnVmZmVyIGhlbHBlcgoKMjAxMC0xMS0wNSAxMzo0ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGNvbW1lbnQKCjIwMTAtMTEtMDUgMTI6MDg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlbGVnYXRlIG12ZXggaGFuZGxpbmcgdG8gYXRvbXMKCSAgLi4uIHdoaWNoIGtlZXBzIHF0bXV4IHNpbXBsZXIuCgoyMDA5LTA5LTI4IDE2OjExOjM1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbXZleC90cmV4IGluIGhlYWRlciBpZiBmcmFnbWVudGVkCgkgIE9uZSAidHJleCIgaXMgYWRkZWQgcGVyICJ0cmFrIi4gV2UgZG9uJ3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcywKCSAgYnV0IHRoZSAidHJleCIgYm94IGlzIG1hbmRhdG9yeS4KCjIwMDktMDktMjggMTM6MDE6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgcXRtdXg6IGFkZCBhIGNvdXBsZSBvZiBmb3VyY2MgZm9yIGZyYWdtZW50ZWQgbXA0CgoyMDEwLTExLTA1IDExOjA4OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHJlbW92aW5nIHRlbXAgZmlsZSB3aGVuIGVycm9yIG9jY3VycmVkCgoyMDA5LTA5LTMwIDE3OjE2OjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHRydW5jYXRlIGJ1ZmZlciBmaWxlIGFmdGVyIGVhY2ggc2VuZAoKMjAwOS0wOS0yOCAxNjo1Mzo1MSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgdGVtcCBmaWxlIHdoZW4gcmVzZXQvZmluYWxpemUKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJICB2YXJpb3VzIChnc3QpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTEzIDE3OjQ3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGFkanVzdGluZyBmcmFtZXJhdGUKCSAgRml4ZXMgIzYzMjA3MC4KCjIwMTAtMTAtMDMgMjM6NDU6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gcXRtdXggcHJvcGVydGllcwoKMjAxMC0wOS0xNSAxNzo1NDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBGb2xsb3cgeG1wIHNlcmlhbGl6YXRpb24gZ3VpZGVsaW5lcyBjbG9zZXIKCSAgcXQgYW5kIGlzb20gdmFyaWFudHMgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBzZXJpYWxpemluZwoJICB4bXAsIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzLgoJICBUaG9zZSBjYW4gYmUgZm91bmQgaW4gQWRvYmUncyB4bXAgZG9jcy4KCjIwMTAtMDgtMTYgMTI6MzY6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYXV0b2RldGVjdCBvdXQtb2Ytb3JkZXIgaW5wdXQgdGltZXN0YW1wcyBhbmQgZGV0ZXJtaW5lIERUUyBhY2NvcmRpbmdseQoJICBGYXZvdXIgdXNpbmcgaW5wdXQgYnVmZmVyIHRpbWVzdGFtcHMgZm9yIERUUywgYnV0IGZhbGxiYWNrIHRvIHVzaW5nIGJ1ZmZlcgoJICBkdXJhdGlvbiAoYWNjdW11bGF0aW9uKSBpZiBpbnB1dCB0cyBkZXRlY3RlZCBvdXQtb2Ytb3JkZXIuCgkgIEZpeGVzICM2MjQyMTIuCgoyMDEwLTA3LTI4IDE2OjE1OjUzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjYXBzIGJpdHJhdGUgYXQgbGFzdCBjaGFuY2UKCSAgSWYgd2UgZGlkbid0IGdldCB0aGUgc3RyZWFtJ3MgYml0cmF0ZSBmcm9tIG9uZSBvZiB0aGUgYXRvbXMsCgkgIHRyeSBnZXR0aW5nIGl0IGZyb20gdGhlIGNhcHMgYXMgYSBsYXN0IHJlc29ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0yOCAxNjoxMjoxMSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBidHJ0IC0gbWF4IGJpdHJhdGUgYmVmb3JlIGF2ZXJhZ2UKCSAgQWNjb3JkaW5nIHRvIGlzbyBiYXNlIG1lZGlhIGZpbGUgZm9ybWF0LCB0aGUgbWF4IGJpdHJhdGUKCSAgaXMgYmVmb3JlIHRoZSBhdmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0wNiAxNDo0ODowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgJ2J0cnQnIGF0b20gZm9yIEguMjY0IG1lZGlhIGlmIHBvc3NpYmxlCgkgIFRoaXMgd3JpdGVzIG91dCB0aGUgb3B0aW9uYWwgJ2J0cnQnIGF0b20gKE1QRUc0Qml0cmF0ZUJveCkgZm9yIEguMjY0CgkgIG1lZGlhIGlmIGVpdGhlciBvciBib3RoIG9mIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZSBhcmUgYXZhaWxhYmxlIGZvcgoJICB0aGUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTA1IDE0OjA5OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFdyaXRlIGF2Zy9tYXggYml0cmF0ZSB0byBFU0RTIGlmIGF2YWlsYWJsZQoJICBUaGlzIGNvbGxlY3RzIHRoZSAnYml0cmF0ZScgYW5kICdtYXhpbXVtLWJpdHJhdGUnIHRhZ3Mgb24gdGhlCgkgIGNvcnJlc3BvbmRpbmcgcGFkIGFuZCB1c2VzIHRoZXNlIHRvIHBvcHVsYXRlIHRoZXNlIGZpZWxkcyBpbiB0aGUgRVNEUwoJICB3aGVyZSBhcHBsaWNhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTAyIDEyOjQ1OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgdXNlIGJvZ3VzIGNvZGVjL2Zvcm1hdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzNjUKCjIwMTAtMDYtMjUgMjA6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgdWludCB0YWdzIHRoYXQgZG9uJ3QgaGF2ZSBhIGNvbXBsZW1lbnQKCSAgV3JpdGUgdWludCB0YWdzIHRoYXQgaGF2ZSBjb21wbGVtZW50cyAoZS5nLiB0cmFjay1udW1iZXIvCgkgIHRyYWNrLWNvdW50KSBldmVuIHdoZW4gd2Ugb25seSBoYXZlIG9uZSBvZiB0aGVtIGF2YWlsYWJsZQoJICBhbmQgc2V0IHRoZSBvdGhlciBvbmUgdG8gMC4KCSAgRml4ZXMgIzYyMjQ4NAoKMjAxMC0wNi0yMSAxOTozOTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSB0aGUgcGFkIGZyb20gb3VyIGludGVybmFsIGxpc3QgYmVmb3JlIGNhbGxpbmcgY29sbGVjdHBhZHMKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBlbmQgdXAgd2l0aCB0aGUgY29sbGVjdHBhZGRhdGEgc3RydWN0dXJlIGFscmVhZHkgZnJlZWQuCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGEgYm9ndXMgaXRlcmF0aW9uIG9mIG11eC0+c2lua3BhZHMgKGFsbCB0aGUKCSAgR3N0UVRQYWQgYmVpbmcgZnJlZWQpIGFuZCBpdCB3b3VsZG4ndCBiZSByZW1vdmVkIGZyb20gdGhhdCBsaXN0LgoJICBGaW5hbGx5LCBkdWUgdG8gaXQgbm90IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QsIHdlIHdvdWxkIGVuZCB1cAoJICBjYWxsaW5nIGEgYm9ndXMgZ3N0X3F0X211eF9wYWRfcmVzZXQgb24gdGhvc2Ugc3RydWN0dXJlcyA9PiBTRUdGQVVMVAoKMjAxMC0wNS0xMiAxODo1MDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBWUDgKCjIwMTAtMDUtMTEgMTM6MTU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogZG9uJ3QgZmFpbCB0YWdzY2hlY2tpbmcgdGVzdCBpZiBxdGRlbXV4IGlzIG5vdCBhdmFpbGFibGUgb3IgdG9vIG9sZAoKMjAxMC0wMy0yNyAwOTo0NjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiB1c2UgR1N0cmVhbWVyIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luIGluIHRoZSBwbHVnaW4gaW5mbwoKMjAxMC0wMy0yMyAxNzozNDozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IE5ldyB0YWdzIHRlc3RzCgkgIEFkZHMgbmV3IHRhZ3MgY2hlY2tpbmcgdGVzdHMuCgoyMDEwLTAzLTI1IDAwOjIwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0CgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEzOjE2OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncwoJICBhbmQgZml4IGl0cyB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMTIgMTE6Mjg6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBJbXByb3ZlbWVudHMgYW5kIG5ldyBnZW8tbG9jYXRpb24gdGVzdHMKCSAgTWFrZXMgc29tZSBpbXByb3ZlbWVudHMgdG8gdGFnc2NoZWNraW5nLmMsIG1ha2luZyBpdCB1c2UKCSAgZmFrZXNyYyBpbnN0ZWFkIG9mIHZpZGVvdGVzdHNyYyBhbmQgYWxsb3dpbmcgdG8gc2V0IGlucHV0CgkgIGNhcHMgc28gdGhhdCBtb3JlIG11eGVycyBjYW4gYmUgdXNlZC4gUHJldmlvdXNseSB3ZSBjb3VsZAoJICBvbmx5IHVzZSB0aG9zZSB0aGF0IGFjY2VwdGVkIHJhdyB2aWRlbyBjYXBzLgoJICBBbHNvIGFkZHMgc29tZSB0ZXN0cyBmb3IgZ2VvLWxvY2F0aW9uIHRhZ3MKCjIwMTAtMDMtMTIgMTA6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIHhtcCBvbiBtcDRtdXggYW5kIGdwcG11eCB0b28KCSAgRG8gbm90IHJlc3RyaWN0IHhtcCB0byBxdG11eCwgYnV0IHVzZSBpdCB0b28KCSAgb24gbXA0bXV4IGFuZCBncHBtdXgKCjIwMTAtMDMtMDUgMTM6MzM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBjaGVjazogdGFnc2NoZWNraW5nOiB0ZXN0cyBmb3IgdGFncyBzZXJpYWxpemF0aW9uIGluIG11eGVycwoJICBBZGRzIGEgY2hlY2sgdW5pdCB0ZXN0IHRoYXQgYWltcyB0byB0ZXN0IHRhZ3Mgc2VyaWFsaXphdGlvbgoJICBhbmQgZGVzZXJpYWxpemF0aW9uIGNvbnNpc3RlbmN5IChpbiBtdXhlcnMpLiBJdCBwcm92aWRlcyBhCgkgIGJhc2ljIGZ1bmN0aW9uIHRoYXQgYWxsb3dzIG9uZSB0byBlYXNpbHkgc3BlY2lmeSB0YWdzLCBhCgkgIG11eGVyIGFuZCBhIGRlbXV4ZXIgYW5kIGEgdGVzdCB3aWxsIGJlIGRvbmUgdG8gY2hlY2sgaWYKCSAgdGhlIHRhZ3MgaGF2ZSBiZWVuIGNvbnNpc3RlbnRseSBtdXhlZCBhbmQgZGVtdXhlZAoKMjAxMC0wMi0yMiAxNjo0NTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHhtcCBzdXBwb3J0CgkgIEFkZHMgeG1wIG1ldGF0YWdzIGFkZGluZyB0byBxdG11eC4KCSAgRml4ZXMgIzYwOTUzOQoKMjAxMC0wMy0xMSAxNzoxNzoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgcXRtdXg6IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZQoJICBXZSBuZWVkIHRvIHBhc3MgKE5VTEwpIHJhdGhlciB0aGFuIE5VTEwgZm9yIGVtcHR5IGFyZ3VtZW50cy4KCjIwMTAtMDMtMTAgMTA6MjM6MjMgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IGNvbXBpbGUgZXJyb3IKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6MjY4OiB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMi0yMiAxOTozODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBSZW5hbWUgJ2F2Yy1zYW1wbGUnIHRvICdhdmMnIGluIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMi0yNiAxMTo1MDoyNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBUYWtlIGxvY2sgYXJvdW5kIHVzZSBvZiAobm9uLXRocmVhZHNhZmUpIHRhZ3NldHRlciBpbnRlcmZhY2UuCgoyMDEwLTAyLTIyIDE2OjUxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHdyaXRlIGFsbCB1ZHRhIGNoaWxkcmVuIGF0b21zCgkgIFVEVEEgbWlnaHQgaGF2ZSBNRVRBIGFuZCBvdGhlciBjaGlsZHJlbiBhdG9tcwoJICB0b2dldGhlciwgd3JpdGUgdGhlbSBhbGwuCgoyMDEwLTAyLTIyIDEwOjQ4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogVXNlIGludGVybmFsIHNpbmsgcGFkcyBsaXN0CgkgIER1ZSB0byBHc3RDb2xsZWN0UGFkcyBzaW5rIHBhZHMgbGlzdCBiZWluZyBub3QgcmVsaWFibHkKCSAgaXRlcmF0YWJsZSAod2hlbiBub3QgaW5zaWRlIHRoZSBjb2xsZWN0ZWQgZnVuY3Rpb24pIHRoaXMKCSAgcGF0Y2ggYWRkcyBhIHNpbmsgcGFkcyBsaXN0IHRvIHF0bXV4IHRvIGJlIHVzZWQgd2hlbiBpdGVyYXRpbmcKCSAgc2luayBwYWRzIG9uIHJlc2V0IGZ1bmN0aW9uLgoJICBGaXhlcyAjNjA5MDU1CgoyMDEwLTAyLTE2IDE3OjEzOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHByZXZlbnQgbGVha2luZyBoZGxyIG5hbWUKCjIwMTAtMDItMTYgMTY6MjQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgQUxBQwoJICBGaXhlcyAjNTgwNzMxLgoKMjAxMC0wMi0xNiAxNDoxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiByZWZhY3RvciBidWlsZGluZyBzdHNkIGVudHJ5ICd3YXZlJyBleHRlbnNpb24KCjIwMTAtMDItMDggMTE6NTE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkgIHF0bXV4OiBhdG9tc3JlY292ZXJ5OiBGaXggY29tcGlsYXRpb24gcHJvYmxlbQoJICBGaXhlcyBhIGNvbXBpbGF0aW9uIGVycm9yIGR1ZSB0byB1bnVzZWQgZnVuY3Rpb24gcmVzdWx0LgoKMjAwOS0xMi0xMiAxNjowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiBBZGRzIG1vb3YgcmVjb3ZlcnkgZmVhdHVyZQoJICBBZGRzIGEgbmV3IHByb3BlcnR5IHRvIHF0bXV4IHRoYXQgc2V0cyBhIHBhdGggdG8gYSBmaWxlIHRvIHdyaXRlCgkgIGFuZCB1cGRhdGUgZGF0YSBhYm91dCB0aGUgbW9vdiBhdG9tICh0aGF0IGlzIG5vdCB3cml0ZW4gdGlsbCB0aGUKCSAgZW5kIG9mIHRoZSBmaWxlKS4gSWYgdGhlIHBpcGVsaW5lL2FwcCBjcmFzaGVzIGR1cmluZyBleGVjdXRpb24gaXQKCSAgbWlnaHQgYmUgcG9zc2libGUgdG8gcmVjb3ZlciB0aGUgbW92aWUgdXNpbmcgdGhlIHF0bW9vdnJlY292ZXIgZWxlbWVudC4KCSAgcXRtb292cmVjb3ZlciBpcyBhbiBlbGVtZW50IHRoYXQgaXMgYWxzbyBhIHBpcGVsaW5lLiBJdCBpcyBub3QKCSAgbWVhbnQgdG8gYmUgdXNlZCB3aXRoIG90aGVyIGVsZW1lbnRzIChpdCBoYXMgbm8gcGFkcykuIEl0IGlzIG1lcmVseQoJICBhIHRvb2wvdXRpbGl0YXJ5IHRvIHJlY292ZXIgdW5maW5pc2hlZCBxdG11eCBmaWxlcy4KCSAgRml4ZXMgIzYwMTU3NgoKMjAxMC0wMS0yNyAxOTowNjo1MyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBmb3IgZml4ZWQtc2FtcGxlIHNpemUgc3RyZWFtcyAoUENNIGF1ZGlvLCBldGMpIGRvbid0IGFsbG9jYXRlIGFuIGVub3Jtb3VzIGJ1ZmZlciB0aGF0IHdlIHRoZW4gd29uJ3QgdXNlIGF0IGFsbC4KCjIwMTAtMDEtMjcgMTU6Mzc6MzcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG11eGluZyBhZHBjbSBjb3JyZWN0bHkuCgoyMDEwLTAxLTIyIDEzOjM2OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IFNldCB0aGUgbWRpYSBoZGxyIG5hbWUgZmllbGQgdG8gd2hhdCBxdWlja3RpbWUgdXNlcy4gRml4IHdyaXRpbmcgaXQgc2luY2UgaXQncyBub3QgbnVsbC10ZXJtaW5hdGVkLiBJbXByb3ZlcyBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBoYXJkd2FyZSBwbGF5ZXJzLgoKMjAxMC0wMS0yMiAxMzozMDowNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmRpYW5uZXNzIGluIGdzdHJlYW1lciBpcyBhbiBpbnQsIG5vdCBib29sZWFuLgoKMjAxMC0wMS0yNiAxNzo1NDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgcXRtdXg6IHN0cmVhbWxpbmUgbW9vdiBkYXRhIG1lbW9yeSBzdG9yYWdlCgkgIEluIHBhcnRpY3VsYXIsIHVzZSBhcnJheXMgcmF0aGVyIHRoYW4gKGRvdWJsZSkgbGlua2VkIGxpc3RzLgoKMjAxMC0wMS0yNiAxMzo0NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnX2ZyZWUgaXMgTlVMTCBzYWZlCgoyMDEwLTAxLTIwIDEzOjMwOjQ4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgIFtjbGVhbnVwXSBWYXJpb3VzIHN0eWxlIGFuZCBjbGVhbnVwcwoJICBWYXJpb3VzIGZpeGVzIGZvciBndGstZG9jIHdhcm5pbmdzIGFuZCBtYWtpbmcgZnVuY3Rpb25zIHdpdGhvdXQKCSAgYXJndW1lbnRzIHRha2Ugdm9pZCBhcyBwYXJhbWV0ZXIuCgoyMDEwLTAxLTE0IDA4OjA5OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWN0dWFsbHkgdXNlIG5ldyBjYXBzIGluZm8gb24gcmVuZWdvdGlhdGlvbgoJICBGb2xsb3dpbmcgdGhlIHByZXZpb3VzIHF0bXV4IGNvbW1pdCwgdGhpcyBwYXRjaCB0cmllcwoJICB0byB1c2UgdGhlIG5ldyBpbmZvIGFkZGVkIHRvIHRoZSBjYXBzIHRvIGZpbGwgdGhlICd0cmFrJwoJICBhdG9tJ3MgZmllbGRzIGFuZCBjaGlsZHJlbiBhdG9tcy4gVGhpcyB3YXkgcXRtdXggd2lsbAoJICB1c2UgdGhlIGxhdGUgYWRkZWQgJ2NvZGVjX2RhdGEnIHdoZW4gaDI2NHBhcnNlIGFkZHMKCSAgaXQgaW4gdGhlIGZvbGxvd2luZyBwaXBlbGluZToKCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCAhIHgyNjRlbmMgYnl0ZS1zdHJlYW09dHJ1ZSAhIFwKCSAgaDI2NHBhcnNlIG91dHB1dC1mb3JtYXQ9MCAhIHF0bXV4ICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj10ZXN0Lm1vdgoKMjAxMC0wMS0xMyAyMzozMzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvIGNhcHMgcmVuZWdvdGlhdGlvbiB3aGVuIGl0IG9ubHkgYWRkcyBmaWVsZHMKCSAgUXRtdXggY2FuIGFjY2VwdCBjYXBzIHJlbmVnb3RpYXRpb24gaWYgdGhlIG5ldyBjYXBzIGlzIGEKCSAgc3VwZXJzZXQgb2YgdGhlIG9sZCBvbmUsIG1lYW5pbmcgdXBzdHJlYW0gYWRkZWQgbmV3IGluZm8gdG8KCSAgdGhlIGNhcHMuIFRoaXMgcGF0Y2ggc3RpbGwgZG9lc24ndCBtYWtlIHF0bXV4IHVwZGF0ZSBhbnkKCSAgYXRvbXMgaW5mbyBmcm9tIHRoZSBuZXcgaW5mbywgYnV0IGF0IGxlYXN0IGl0IGRvZXNuJ3QKCSAgcmVqZWN0IHRoZSBuZXcgY2FwcyBhbnltb3JlLgoJICBBIHBpcGVsaW5lIHRoYXQgcmVwcm9kdWNlcyB0aGlzIHVzZSBjYXNlIGlzOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTEzIDE5OjMwOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgcmVxdWVzdCBwYWRzIHVuZGVyIHdpZGVyIGNvbmRpdGlvbnMKCSAgRml4ZXMgIzYwNjg1OS4KCjIwMTAtMDEtMTMgMTA6MzU6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgYXZjLXNhbXBsZSBoMjY0CgkgIHF0bXV4IGFuZCBtcDRtdXggc2hvdWxkIG9ubHkgYWNjZXB0IGgyNjQgaW4gYXZjLXNhbXBsZQoJICBmb3JtYXQKCjIwMTAtMDEtMTEgMTM6MTM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIFJlbmFtZSBhYWMncyBzdHJlYW0tZm9ybWF0ICdub25lJyB0byAncmF3JwoJICBSZW5hbWVzIGFhYydzIHN0cmVhbS1mb3JtYXQgZnJvbSBwcmV2aW91cyBjb21taXRzIGZyb20gbm9uZSB0bwoJICByYXcKCjIwMTAtMDEtMTEgMTA6MzQ6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBzdHJlYW0tZm9ybWF0PSdub25lJyBhYWMKCSAgT25seSBhY2NlcHQgcmF3IGFhYyBzdHJlYW1zIChzdHJlYW0tZm9ybWF0PW5vbmUpIHRvIGF2b2lkCgkgIGdlbmVyYXRpbmcgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgIzYwNDkyNQoKMjAwOS0xMi0yOCAxMTozNDozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWxzbyBhZGQgLmggZmlsZSBjaGFuZ2VzIHRvIHVuYnJlYWsgdGhlIGJ1aWxkCgoyMDA5LTEyLTI3IDIzOjUxOjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY29ycmVjdCBuYW1lcyBmcm9tIHRlbXBsYXRlIGZvciByZXF1ZXN0IHBhZHMKCSAgVGhlIHBhZHMgd2hlcmUgbmFtZXMgcGFkMCwgcGFkMSwgLi4uCgoyMDA5LTEyLTI3IDIzOjMyOjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3ZlIGVycm9ycyBfbmV3X3BhZCB0byB0aGUgZW5kCgoyMDA5LTEyLTIxIDEzOjU4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjY2VwdCBub24tcGFpcmVkIHVpbnQgdGFncwoJICBBZGRzIHN1cHBvcnQgZm9yIHVucGFpcmVkIHVuc2lnbmVkIGludGVyZ2VyIHRhZ3MKCjIwMDktMTItMjEgMTI6MDU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkcyBuZXcgdGFncwoJICBNYXBzIG1vcmUgdGFncyB0aGF0IGFyZSBhbHJlYWR5IHBvc3RlZCBieSBxdGRlbXV4CgkgIEZpeGVzICM1OTk3NTkKCjIwMDktMTItMTAgMjI6MjA6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IG1vcmUgb2YgajJrCgkgIFJlYWRzIHRoZSBuZXcgY2FwcyBhZGRlZCB0byBxdGRlbXV4IGJ5IGNvbW1pdAoJICBjOTE3ZDY1ZTZkZjBiNWQ1ODVmOTA1YzdhZDc4YThhMGE0NGIyY2IwCgkgIGFuZCBhZGRzIGl0cyBjb3JyZXNwb25kaW5nIGF0b21zLgoJICBBbHNvIGFkZHMgc3VwcG9ydCBmb3IgaW1hZ2UveC1qcGMgYXMgaXQgaXMgdGhlIHNhbWUKCSAgYXMgaW1hZ2UveC1qcDIsIGV4Y2VwdCB0aGF0IHRoZSBidWZmZXJzIG5lZWQgdG8gYmUKCSAgYm94ZWQgaW5zaWRlIGEganAyYyBpc29tIGJveCBiZWZvcmUgbXV4aW5nLiBUbyBzb2x2ZQoJICB0aGlzIHRoZSBRVFBhZHMgbm93IGhhdmUgYSBmdW5jdGlvbiB0aGF0IChpZgoJICBub3QgTlVMTCkgaXMgY2FsbGVkIHdoZW4gYSBidWZmZXIgaXMgY29sbGVjdGVkLiBUaGlzCgkgIGZ1bmN0aW9uIHJldHVybnMgYSByZXBsYWNlbWVudCB0byB0aGUgY3VycmVudCBjb2xsZWN0ZWQKCSAgYnVmZmVyLgoJICBGaXhlcyAjNTk4OTE2CgoyMDA5LTEyLTEwIDE2OjUzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogTWFwcyAnY2xhc3NpZmljYXRpb24nIHRhZyBmb3IgM2dwcCBmaWxlcwoJICBBZGRzIHRoZSBtYXBwaW5nIG9mICdjbGFzc2lmaWNhdGlvbicgdGFncyB0byB3cml0aW5nIG9mCgkgICdjbHNmJyBhdG9tcyBmb3IgZ3BwbXV4LgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoyMDA5LTEyLTA4IDE3OjU5OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIGMrKyBjb21tZW50cyBhbmQgYWRkIHNvbWUgbW9yZSBjb21tZW50cy4KCjIwMDktMTItMDggMTc6NTU6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIGltYSBhZHBjbSBzdXBwb3J0CgoyMDA5LTExLTI1IDIxOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlcGxhY2UgX3NjYWxlIHdpdGggX3NjYWxlX3JvdW5kCgkgIFVzZSB0aGUgcm91bmRpbmcgdmVyc2lvbiBmb3IgaW1wcm92ZWQgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgkgIFNtYWxsIHZhcmlhdGlvbnMgaW4gdGhlIGR1cmF0aW9uIHdoZW4gbXV4aW5nIG1pZ2h0IGxlYWQgdG8KCSAgY3VtdWxsYXRpdmUgd3JvbmcgdGltZXN0YW1waW5nIHdoZW4gZGVtdXhpbmcuCgkgIEZpeGVzICM2MDI5MzYKCjIwMDktMTEtMjQgMTY6MTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHRpbWVzdGFtcHMgZm9yIG11eGluZwoJICBUcnkgdG8gdXNlIHRpbWVzdGFtcHMgZXZlbiB3aGVuIHRoZSBzdHJlYW0gaGFzIG91dCBvZiBvcmRlcgoJICB0aW1lc3RhbXBzLCBvbmx5IGZhbGwgYmFjayB0byBkdXJhdGlvbnMgd2hlbiB3ZSBkZXRlY3QgYW4KCSAgb3V0IG9mIG9yZGVyIGJ1ZmZlci4gSW1wcm92ZXMgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgoyMDA5LTExLTE5IDE4OjI4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgkgIEFkZHMgYSBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgoyMDA5LTExLTE5IDExOjM2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgZGVidWcgc3RhdGVtZW50CgoyMDA5LTExLTE5IDExOjE0OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuc3VyZSB3cml0YWJsZSBidWZmZXIgbWV0YWRhdGEgYmVmb3JlIHNldHRpbmcgY2FwcwoKMjAwOS0xMC0yOSAwODozNjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBTVlEzCgkgIEFkZHMgc3VwcG9ydCBmb3IgbXV4aW5nIFNWUTMgY29udGVudC4gVXN1YWxseSB0aGlzIGZvcm1hdAoJICBoYXMgZGVjb2RlciBpbmZvIHRoYXQgbXVzdCBiZSBwYXNzZWQgaW4gdGhlICdzZXFoJyBmaWVsZAoJICBpbiB0aGUgY2Fwcy4gSXQgaXMgYWxzbyBnb29kIHRvIGFkZCB0aGUgZ2FtYSBhdG9tIHRvIG1ha2UKCSAgcXVpY2t0aW1lIG5vdCBjcmFzaC4KCSAgRml4ZXMgIzU4NzkyMgoKMjAwOS0xMS0xNyAwOToyNjowNSAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkbyBub3QgbGVhayBhIHN0cmluZwoJICBGcmVlcyBhIHN0cmluZyBhZnRlciB1c2UuIEFsc28gZG9lcyBzb21lIGNvZGUgb3JnYW5pemF0aW9uCgoyMDA5LTExLTE2IDE0OjU3OjUzIC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGRvIG5vdCBhZGQgc2l6ZSB0byB0aGUgcG9pbnRlciB2YXJpYWJsZQoJICBEbyBub3Qgd3JvbmdseSBhZGQgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24gdG8gdGhlCgkgIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBzaXplLiBJbnN0ZWFkLCBjaGVjayB0aGUgcmVzdWx0CgkgIHRvIHNlZSBpZiB0aGUgc2VyaWFsaXphdGlvbiB3YXMgb2suCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6ICJDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4iCgkgIEZpeGVzICM2MDIxMDYKCjIwMDktMTEtMDYgMTA6MzQ6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogaGFuZGxlICdsYXRlJyBzdHJlYW1zCgkgIFdoZW4gbXV4aW5nIHN0cmVhbXMsIHNvbWUgY2FuIHN0YXJ0IGxhdGVyIHRoYW4gb3RoZXJzLiBxdG11eAoJICBub3cgaGFuZGxlIHRoaXMgYnkgYWRkaW5nIGFuIGVtcHR5IGVkdHMgZW50cnkgd2l0aCB0aGUKCSAgZHVyYXRpb24gb2YgdGhlICdsYXRlbmVzcycgdG8gdGhlIHN0cmVhbSdzIHRyYWsuCgkgIEl0IHRvbGVyYXRlcyBhIHN0cmVhbSB0byBiZSB1cCB0byAwLjFzIGxhdGUuCgkgIEZpeGVzICM1ODY4NDgKCjIwMDktMTEtMDUgMjE6MzU6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgIHF0bXV4OiBhZGRzIHRoZSBFRFRTIGFuZCBFTFRTIGF0b21zIHRvIGF0b21zLmMKCSAgVGhlc2UgYXRvbXMgd2lsbCBiZSB1c2VmdWwgZm9yIHNpZ25hbGluZyBzdHJlYW1zCgkgIHRoYXQgc3RhcnQgbGF0ZXIgaW4gdGhlIGZpbGUuIEFzIHdlbGwgZm9yIGFkZGluZwoJICBlZGl0IGxpc3RzIGlmIG5lZWRlZCBzb21ldGltZSBsYXRlci4KCjIwMDktMTEtMDYgMDA6NDY6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgc29tZSBpZnMgZm9yIHByb3RlY3Rpb24KCSAgQWRkaW5nIHNvbWVzIGlmcyB0byBwcm90ZWN0IGFnYWluc3Qgd2FybmluZyBjb25kaXRpb25zCgkgIHRoYXQgbWlnaHQgaGFwcGVuIHdoZW4gdXBzdHJlYW0gZWxlbWVudCBpcyBub3Qgc2FuZQoJICBGaXhlcyAjNjAwODk1CgoyMDA5LTEwLTE2IDEwOjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgZ3BwbXV4OiBBZGQgc3VwcG9ydCBmb3IgM2dyNgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjaHVuayBkdXJhdGlvbnMgdG8gYmUgYWJsZSB0byBhZGQgM2dyNgoJICBicmFuZCBpZiBpdCBpcyBhIGZhc3RzdGFydCBmaWxlIGFuZCB0aGUgbG9uZ2VzdCBjaHVuayBpcwoJICBzbWFsbGVyIHRoYW4gYSBzZWMuIEltcGxlbWVudGVkIGFjY29yZGluZyB0byAzZ3BwCgkgIFRTIDI2LjI0NCB2Ni40LjAgKDIwMDUtMDkpCgkgIEZpeGVzICM1ODQzNjEKCjIwMDktMTAtMTUgMjE6MTE6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSBwdXNoIGZ0eXAgbGF0ZXIgKGluIGZhc3RzdGFydCBtb2RlKQoJICBJbiBmYXN0c3RhcnQgbW9kZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBzZW5kIHRoZSBmdHlwCgkgIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbS4gV2FpdGluZyBhbmQgc2VuZGluZyBpdAoJICBvbmx5IGxhdGVyICh3aGVuIHRoZSBtb292IGF0b20gaXMgcmVhZHkgdG8gYmUgc2VudCkgcHJvdmlkZXMKCSAgdXMgd2l0aCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdHJlYW0gYW5kIHdlIGNhbiBiZXR0ZXIKCSAgc2VsZWN0IHRoZSBjb21wYXRpYmxlIGJyYW5kcy4KCjIwMDktMTAtMTUgMTc6NTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogSW1wcm92ZSBlcnJvciBtZXNzYWdlCgkgIEltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0IGdldCBvciBlc3RpbWF0ZSB0aGUKCSAgdGltZXN0YW1wL2R1cmF0aW9uIG9mIGEgYnVmZmVyCgoyMDA5LTA5LTI5IDE1OjQ3OjEzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGZpeCBmbGFnc19hc191aW50IHRvIGZsYWdzW10KCjIwMDktMDgtMDQgMTI6NTg6MzUgKzAyMDAgIEphbiBVcmJhbnNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHJlcXVpcmUgZW5kaWFubmVzcyBmaWVsZCBmb3IgOCBiaXQgcmF3IGF1ZGlvCgkgIEZpeGVzIGJ1ZyAjNTkwMzYwLgoKMjAwOS0wNi0yNSAwODozODoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA2LTI1IDA4OjM4OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDYtMTEgMTU6NTQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9ubHkgdXNlICg2NC1iaXQpIGV4dGVuZGVkIChtZGF0KSBhdG9tIHNpemUgaWYgbmVlZGVkLiAgRml4ZXMgIzU4NTMxOS4KCjIwMDktMDYtMTAgMTQ6NDY6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IGRlZmF1bHQgbW92aWUgdGltZXNjYWxlIHRvIG1pY3Jvc2Vjb25kIHVuaXRzCgoyMDA5LTA2LTEwIDEzOjI0OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGNvbXByZXNzL29wdGltaXplIHN0c2Mgd3JpdGluZwoKMjAwOS0wNi0xMCAxMjo0Mjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgM0dQIHN0eWxlIHRhZ2dpbmcgKGFuZCByZWZhY3RvciBhcHByb3ByaWF0ZWx5KQoKMjAwOS0wNi0wMSAyMzowMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eCAoYW5kIHZhcmlhbnRzKTogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpby4gIEZpeGVzICM1ODQzNTguCgoyMDA5LTA2LTAxIDIyOjQyOjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogZW5oYW5jZSBmdHlwIGJyYW5kIGhldXJpc3RpYy4gIEZpeGVzICM1ODQzNjAuCgoyMDA5LTA1LTI4IDEzOjU2OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBkaWZmZXJlbnQgc3RzZCBhdG9tIHR5cGUgZm9yIEgyNjMgZm9yIElTTyBhbmQgUVQgdmFyaWFudHMKCSAgRml4ZXMgIzU4NDExNC4KCjIwMDktMDUtMTUgMDE6NTQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBbcXRtdXhdIEZpeGVzIHNlZ2ZhdWx0IHdoZW4gYWRkaW5nIGEgYmxvYiBhcyBmaXJzdCB0YWcuCgkgIE1vdmVzIHRhZ3MgZGF0YSBpbml0aWFsaXphdGlvbiB0byB0aGUgZnVuY3Rpb24gdGhhdCBhY3R1YWxseSBhcHBlbmRzCgkgIHRoZSB0YWdzIHRvIHRoZSBsaXN0LiBGaXhlcyAjNTgyNzAyCgkgIEFsc28gZml4ZXMgc29tZSBzdHlsZSBjYXVnaHQgYnkgdGhlIHByZS1jb21taXQgaG9vay4KCjIwMDktMDUtMTAgMjE6MjE6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IEFkZCBNUEVHLTQgcGFydCAyIHRvIHN1cHBvcnRlZCBmb3JtYXRzLiAgRml4ZXMgIzU4MTU5My4KCjIwMDktMDUtMDcgMTc6NTM6NDIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgQWRkIHJhbmtzIHRvIHZhcmlvdXMgbXV4ZXJzIGFuZCBlbmNvZGVycyBpbiAtYmFkCgoyMDA5LTA0LTMwIDE0OjQzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGNoYW5nZXMgY2FwcyBvZiBzcmMgcGFkcyB0byB2aWRlby9xdWlja3RpbWUsIHZhcmlhbnQ9c29tZXRoaW5nCgkgIFRha2UgYSBsb29rIGF0IGJ1ZyAjNTgwMDA1IGZvciBmdXJ0aGVyIGluZm8uCgoyMDA5LTA0LTI0IDE4OjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgbXA0bXV4OiBDaGFuZ2VzIHNyYyBjYXBzIHRvIGFwcGxpY2F0aW9uL3gtaXNvLW1wNAoJICBGaXhlcyAjNTgwMDA1CgoyMDA5LTAzLTI1IDIxOjI0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCByZXVzaW5nIGVsZW1lbnQKCSAgU3RhdGUgY2hhbmdlIHRvIFJFQURZIGFuZCB0aGVuIGJhY2sgdG8gUEFVU0VEIHNob3VsZCBzdGlsbCBwcm92aWRlCgkgIHRoZSBwcm9wZXIgc3RydWN0dXJlcyBhcyBhcmUgb3RoZXJ3aXNlIGZyZXNobHkgYXZhaWxhYmxlIGZvbGxvd2luZwoJICBhIHJlcXVlc3RfbmV3X3BhZC4KCSAgUG9pbnRlZCBvdXQgYnkgVGhpYWdvIFNhbnRvcy4KCjIwMDktMDMtMjMgMTE6MTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggaW5jbHVkZXMgZm9yIGxzZWVrCgkgIC0tCgoyMDA5LTAzLTIwIDE0OjIwOjE2ICswMTAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgd2luMzI6IGZpeCBzZWVraW5nIGluIGxhcmdlIGZpbGVzCgkgIFVzZSBfbHNlZWtpNjQoKSBvbiBXaW5kb3dzIHRvIHNlZWsgaW4gbGFyZ2UgZmlsZXMuCgkgIEZpeGVzICM1NzYwMjEuCgoyMDA5LTAzLTAyIDEwOjU3OjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQmUgYSBiaXQgbW9yZSB2ZXJib3NlIGluIG91ciBkZWJ1ZyBtZXNzYWdlIHdoZW4gZmFpbGluZyB0byByZW5lZ290aWF0ZQoKMjAwOS0wMS0yOCAxMzoyNToxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIEFkZGl0aW9uYWwgbWVkaWEgdHlwZSBzdXBwb3J0IGluIHF0bXV4IChhbmQgZnJpZW5kcykuCgkgIFN1cHBvcnQgQU1SIGFuZCBIMjYzIGZvciBib3RoIHF0bXV4IGFuZCBncHBtdXgsCgkgIGFuZCBhZGQgZXh0ZW5zaW9ucyBpbiBzYW1wbGUgdGFibGUgZGVzY3JpcHRpb24uCgoyMDA5LTAxLTA5IDIxOjU5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0IHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQKCSAgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNTY2OTU4CgoyMDA4LTEyLTE5IDE4OjUzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIG5vdCB0ZW1wdCBvciBzdWdnZXN0IHRvIHZpb2xhdGUgZ3N0X2NvbGxlY3RfcGFkcyBBUEkgc3BlY2lmaWNhdGlvbi4KCjIwMDgtMTItMTkgMTg6MzM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoKMjAwOC0xMi0xNiAxNjoyNjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcyB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMKCSAgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCjIwMDgtMTItMDEgMTY6Mzc6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS9hdG9tcy5jOiBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzogKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKToKCSAgRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoKMjAwOC0xMS0xOCAwMTowOTowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5IGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5CgkgIGFkZGVkLgoKMjAwOC0xMS0xNSAwMjo1NjozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lio6IFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCjIwMDgtMTEtMTQgMjE6MjQ6NTEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IFJldmVydCBwcmV2aW91cyBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoKMjAwOC0xMS0xNCAyMDozODoxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoKMjAwOC0xMS0xNCAyMDoxNzoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOiAoYnVpbGRfZXNkc19leHRlbnNpb24pLAoJICAoYnVpbGRfbW92X2FhY19leHRlbnNpb24pLCAoYnVpbGRfanAyaF9leHRlbnNpb24pLAoJICAoYnVpbGRfY29kZWNfZGF0YV9leHRlbnNpb24pOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYXVkaW9fc2lua19zZXRfY2FwcyksCgkgIChnc3RfcXRfbXV4X3ZpZGVvX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzogKGdzdF9xdF9tdXhfbWFwX2Zvcm1hdF90b19oZWFkZXIpOgoJICBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBBbHNvIGFjdHVhbGx5IGltcGxlbWVudCBJU08gSlBFRzIwMDAgbWoyIGZvcm1hdC4KCjIwMDgtMTEtMTEgMTk6MzE6MzUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9xdG11eCksIChjbGVhbnVwX3F0bXV4KSwKCSAgKGNoZWNrX3F0bXV4X3BhZCksIChHU1RfU1RBUlRfVEVTVCksIChxdG11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgoyMDA4LTExLTExIDE5OjI0OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2FkZF9tZXRhZGF0YV90YWdzKToKCSAgQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoKMjAwOC0xMS0wOCAwMjowMDo1OCArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIEZpeGVzICM1NTAyODAuCgoyMDExLTA0LTEyIDE4OjI1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZ3N0L3F1aWNrdGltZS9MRUdBTDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9xdWlja3RpbWUvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXguaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LnZjcHJvajoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfbGFuZy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X3R5cGVzLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRwYWxldHRlLmg6CgkqIGdzdC9xdWlja3RpbWUvcXVpY2t0aW1lLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBxdGRlbXV4OiByZW5hbWUgZGlyZWN0b3J5IHRvIHF1aWNrdGltZSB0byBtYXRjaCBwbHVnaW4gbmFtZQoJICBJbiBwcmVwYXJhdGlvbiBmb3IgcXRtdXggbW92aW5nIHRvIC1nb29kLgoKMjAxMS0wNC0xMiAxMTo0OTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzaW1wbGlmeSBmcmFtZXJhdGUgZnJhY3Rpb24gY2FsY3VsYXRpb24KCjIwMTEtMDEtMjQgMTU6NDU6MjggLTA2MDAgIExlb25hcmRvIFNhbmRvdmFsIDxsc2FuZG92YWxAdGkuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBhZGQgd2lkdGgsIGhlaWdodCBhbmQgZnJhbWVyYXRlIHRvIGNhcHMgd2hlbiBwcmVzZW50IG9uIG9uTWV0YURhdGEKCSAgRml4ZXMgIzY0MDQ4My4KCjIwMTAtMDgtMjQgMTM6NTc6NTUgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogVW5rbm93biBTU1JDIGlzIG5vdCBmYXRhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTY2CgoyMDEwLTA4LTI0IDEzOjU0OjU4ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTnVtYmVyIG9mIGFjdGl2ZSBzb3VyY2VzIHNob3VsZCBiZSB1cGRhdGVkIHdoZW5ldmVyIHRoZSBzdGF0dXMgb2YgdGhlIHNvdXJjZSBjaGFuZ2VzIHRvIGFjdGl2ZQoJICBGb3J3YXJkLXBvcnRlZCBieSBPbGl2aWVyIENyw6p0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTY1CgoyMDEwLTA2LTIzIDExOjI5OjU4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGlnbm9yZSBhIEJZRSBpZiBpdCBpcyBzZW50IHdpdGggb3VyIGludGVybmFsIFNTUkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk2NAoKMjAxMC0wMS0yOSAwOTo0OTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZHMgbW9yZSBoMjY0IGZpZWxkcyB0byBpdHMgY2FwcwoJICBBZGRzIGFsaWdubWVudD1hdSBhbmQgc3RyZWFtLWZvcm1hdD1hdmMgdG8gaDI2NCBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTEtMDQtMTEgMTI6NDQ6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWxzbyBoYW5kbGUgZGVwcmVjYXRpb25zIGZvciBqYWNrIDEuOS43CgkgIEphY2sgMS45Ljcgd2FzIHJlbGVhc2VkIDIwLk1hci4yMDExLCBuZWVkIHRvIGhhbmRsZSB0aGUgZGVwcmVjYXRlZCBhcGkgZm9yIHRoaXMKCSAgdmVyc2lvbiB0b28uCgoyMDExLTA0LTExIDAwOjM2OjM1IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkOiBtYWtlIGl0IHJlYWR5IGZvciBhbmRyb2dlbml6ZXIKCSAgUmVtb3ZlIHRoZSBhbmRyb2lkLyB0b3AgZGlyCgkgIEZpeGUgdGhlIE1ha2VmaWxlLmFtIHRvIGJlIGFuZHJvZ2VuaXplZAoJICBUbyBidWlsZCBnc3RyZWFtZXIgZm9yIGFuZHJvaWQgd2UgYXJlIG5vdyB1c2luZyBhbmRyb2dlbml6ZXIgd2hpY2ggZ2VuZXJhdGVzIHRoZSBuZWVkZWQgQW5kcm9pZC5tayBmaWxlcy4KCSAgQW5kcm9nZW5pemVyIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwOi8vZ2l0LmNvbGxhYm9yYS5jby51ay8/cD11c2VyL2RlcmVrL2FuZHJvZ2VuaXplci5naXQKCjIwMTEtMDQtMTAgMTg6NTY6NTIgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvYXBldGFnLm1rOgoJKiBhbmRyb2lkL2F2aS5tazoKCSogYW5kcm9pZC9mbHYubWs6CgkqIGFuZHJvaWQvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvaWN5ZGVtdXgubWs6CgkqIGFuZHJvaWQvaWQzZGVtdXgubWs6CgkqIGFuZHJvaWQvcXRkZW11eC5tazoKCSogYW5kcm9pZC9ydHAubWs6CgkqIGFuZHJvaWQvcnRwbWFuYWdlci5tazoKCSogYW5kcm9pZC9ydHNwLm1rOgoJKiBhbmRyb2lkL3NvdXAubWs6CgkqIGFuZHJvaWQvdWRwLm1rOgoJKiBhbmRyb2lkL3dhdmVuYy5tazoKCSogYW5kcm9pZC93YXZwYXJzZS5tazoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IE1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wNC0wNSAyMToxNDo0MyArMDIwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGRlY2xhcmUgZnJhZ19vZmZzZXQgdG8gaG9sZCAzMmJpdHMuCgkgIEFzIHNwZWNpZmllZCBpbiBkb2N1bWVuYXRpb24gYWJvdmUgYW5kIGJlbG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTU0CgoyMDExLTA0LTA5IDEyOjQxOjQ4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCB3cm9uZ2x5IGFwcGxpZWQgcGF0Y2gKCSAgT2J2aW91c2x5IHJlY3ZfcnRwX3NpbmsgZG9lcyBub3QgaGF2ZSBtdWNoIHRvIGRvIHdpdGggc2VuZF9ydGNwX3NyYy4uLgoJICBTZWUgY29tbWl0IDA0NmZmMTcwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MjYzCgoyMDExLTA0LTA4IDE1OjU5OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVwZGF0ZSBmb3Igc2V0X2ZyYW1lX3Byb3BzIC0+IHNldF9mcmFtZV9yYXRlIEFQSSBjaGFuZ2UKCjIwMTEtMDQtMDggMDA6MDM6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBob29rIHVwIGF1ZGlvcGFyc2VyIHVuaXQgdGVzdHMKCjIwMTEtMDQtMDcgMTg6MzA6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVsYXggc3luYyBtYXRjaCBhIGJpdCB3aGVuIGRyYWluaW5nCgkgIC4uLiB0byBhdCBsZWFzdCBhbGxvdyBpbml0aWFsIGNhcHMgY2hhbmdlIChidXQgbm8gZnVydGhlciBjYXBzIGppdHRlcikuCgkgIEZpeGVzIHVuaXQgdGVzdCBhZ2FpbiBhZnRlciBwcmV2aW91cyBjaGFuZ2UuCgoyMDExLTA0LTA3IDE1OjIxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgY2hhbmdlcyBpbiBnaXQKCjIwMTEtMDQtMDcgMTU6MjA6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJICBkb2NzOiBhZGQgYXVkaW9wYXJzZXJzIHRvIGRvY3MKCjIwMTEtMDQtMDcgMTU6MDc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhYWNwYXJzZSwgYW1ycGFyc2U6IGdzdF9mb29wYXJzZV94eXogLT4gZ3N0X2Zvb19wYXJzZV94eXogdG8gbWF0Y2ggR3N0Rm9vUGFyc2UKCSAgU2VlIG1vdmluZy1wbHVnaW5zIGNoZWNrbGlzdC4KCjIwMTEtMDQtMDcgMTQ6NDM6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGhvb2sgdXAgdG8gYnVpbGQKCjIwMTEtMDQtMDcgMTM6MjY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHBvcnQgdG8gbmV3IEdzdEJhc2VQYXJzZSBpbiBjb3JlCgoyMDExLTA0LTA0IDIwOjU1OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlcXVpcmUgdGlnaHRlciBzeW5jIG1hdGNoIHdoZW4gZHJhaW5pbmcKCjIwMTEtMDQtMDEgMTQ6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQYXJzZSBlbmNvZGVyIGRlbGF5IGFuZCBlbmNvZGVyIHBhZGRpbmcgZnJvbSB0aGUgTEFNRSBoZWFkZXIgaWYgcHJlc2VudAoKMjAxMS0wMy0wOSAyMzowNjoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBkY2FwYXJzZTogQnVtcCByYW5rIHRvIHByaW1hcnkrMQoJICBTZWVtcyB0byB3b3JrIGZpbmUgd2l0aCBhIHJlYXNvbmFibHkgd2lkZSByYW5nZSBvZiBtZWRpYSwgc28gYnVtcGluZwoJICByYW5rLgoKMjAxMS0wMy0yMyAyMjowMjozNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBmcmFtZSBzaXplIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHRoZSBzaXplIG9mIHRoZSBmcmFtZSAobnVtYmVyIG9mIGJ5dGVzIGZyb20gb25lIHN5bmMgcG9pbnQKCSAgdG8gdGhlIG5leHQpIGFzIHRoZSAiZnJhbWVfc2l6ZSIgZmllbGQgaW4gY2Fwcy4KCjIwMTEtMDMtMDkgMjM6MDM6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBFeHBvc2UgYmxvY2sgc2l6ZSBpbiBjYXBzCgkgIFRoaXMgc2V0cyB0aGUgImJsb2NrX3NpemUiIGZpZWxkIG9uIGNhcHMgYXMgdGhlIG51bWJlciBvZiBzYW1wbGVzCgkgIGVuY29kZWQgaW4gb25lIGZyYW1lLgoKMjAxMS0wMy0xNiAxNTo1MzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgRklYTUUgZm9yIG1ha2luZyB0aGUgYmFzZSBjbGFzcyB1c2UgeGluZyBzZWVrIHRhYmxlcyBiZXR0ZXIKCjIwMTEtMDMtMTQgMTg6MjU6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBBZGQgZGVwdGggYW5kIGVuZGlhbm5lc3MgdG8gdGhlIGNhcHMKCSAgU29tZSBkZWNvZGVycyBjYW4gb25seSBoYW5kbGUgc3BlY2lmaWMgZW5kaWFubmVzcyBvciBhIGZpeGVkCgkgIGRlcHRoIGFuZCB0aGlzIGFsbG93cyBiZXR0ZXIgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjQ0MjA4LgoKMjAxMS0wMi0yNiAxMzo1Mzo0NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIFJldmVydCAiYWFjcGFyc2U6IGFsbG93IHBhcnNlZCBmcmFtZXMgb24gc2luayBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTQ5Yjg5ZDVjNWExMjQ0ZmEwZGNiOGJiNDk5NmUzOGZiOWJmZjllNS4KCjIwMTEtMDItMjMgMTc6MjU6MDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZAoKMjAxMC0xMC0xMyAxNjoxMjowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGZpeCBiYXNlcGFyc2UgdGVzdAoKMjAxMC0xMC0xMyAxNTozOTo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBDcmVhdGUgYmFzZXBhcnNlIGxpYnJhcnkKCjIwMTEtMDItMDcgMTQ6NDY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCSAgRXZlbiBpZiB3ZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgYSBkdXJhdGlvbiB5ZXQsIGFzc3VtZSBzZWVrYWJsZSBpZgoJICBpdCBsb29rcyBsaWtlIHdlJ2xsIGxpa2VseSBiZSBhYmxlIHRvIGRldGVybWluZSBpdCBsYXRlciBvbgoJICAod2hpY2ggY29pbmNpZGVzIHdpdGggbmVlZGVkIGluZm9ybWF0aW9uIHRvIHBlcmZvcm0gc2Vla2luZykuCgkgIEZpeGVzICM2NDEwNDcuCgoyMDExLTAyLTA4IDIzOjM5OjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogVXBkYXRlIG1pbi9tYXggYml0cmF0ZSBiZWZvcmUgZmlyc3QgcG9zdGluZyB0aGVtCgkgIFRoaXMgYXZvaWRzIHBvc3RpbmcgYW4gaW5pdGlhbCBtaW4tYml0cmF0ZSBvZiBHX1VJTlRNQVggYW5kIG1heC1iaXRyYXRlCgkgIG9mIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTcKCjIwMTEtMDItMDggMjM6NTA6MTMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQb3N0IENCUiBiaXRyYXRlIGFzIG5vbWluYWwgYml0cmF0ZQoJICBFdmVuIGlmIFZCUiBoZWFkZXJzIGFyZSBtaXNzaW5nLCB3ZSBjYW4ndCBndWFyYW50ZWUgdGhhdCBhIHN0cmVhbSBpcyBpbgoJICBmYWN0IGEgQ0JSIHN0cmVhbSwgc28gaXQncyBzYWZlciB0byBsZXQgYmFzZXBhcnNlIGNhbGN1bGF0ZSB0aGUgYXZlcmFnZQoJICBiaXRyYXRlIHJhdGhlciB0aGFuIGFzc3VtZSBhIENCUiBzdHJlYW0uIEhvd2V2ZXIsIGluIG9yZGVyIHRvIG1ha2UKCSAgL3NvbWUvIG1ldGFkYXRhIGF2YWlsYWJsZSBiZWZvcmUgdGhlIHJlcXVpc2l0ZSBudW1iZXIgb2YgZnJhbWVzIGhhdmUKCSAgYmVlbiBwYXJzZWQsIHRoaXMgcG9zdHMgdGhlIGJpdHJhdGUgZnJvbSB0aGUgbm9uLVZCUiBoZWFkZXJzIGFzIHRoZQoJICBub21pbmFsIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTgKCjIwMTAtMDktMDYgMTQ6MTA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogYSB2YWxpZCBhbXItd2IgZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHJlc2VydmVkIGZyYW1lIHR5cGUgaW5kZXgKCSAgU2VlICM2Mzk3MTUuCgoyMDExLTAxLTI3IDE2OjUyOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgaGFuZGxpbmcgb2YgZGVwZW5kZW50IHN1YnN0cmVhbSBmcmFtZXMKCSAgSW4gcGFydGljdWxhciwgdGltZXN0YW1wcyBvZiB0aGVzZSBzaG91bGQgdHJhY2sgbWFpbi1zdHJlYW0gdGltZXN0YW1wcy4KCjIwMTEtMDEtMjEgMTQ6NTM6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIGRlZmF1bHQgZHVyYXRpb24gZXN0aW1hdGUgdXBkYXRlIGludGVydmFsCgkgIFJhdGhlciB0aGFuIGEgZml4ZWQgZGVmYXVsdCBmcmFtZSBjb3VudCwgZXN0aW1hdGUgZnJhbWUgY291bnQgdG8gYWltIGZvcgoJICBhbiBpbnRlcnZhbCBkdXJhdGlvbiBkZXBlbmRpbmcgb24gZnBzIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHVzZSBvbGQKCSAgZml4ZWQgZGVmYXVsdC4KCjIwMTEtMDEtMTQgMTU6MTY6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnNlIHBsYXliYWNrOyBtaW5kIGtleWZyYW1lcyBmb3IgZnJhZ21lbnQgYm91bmRhcnkKCjIwMTEtMDEtMTMgMTU6MjY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogcHJvcGVybHkgY2hlY2sgZm9yIHN1ZmZpY2llbnQgYXZhaWxhYmxlIGRhdGEgcHJpb3IgdG8gYWNjZXNzCgoyMDExLTAxLTEyIDE0OjQwOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIG5vbi1lbXB0eSBjYW5kaWRhdGUgZnJhbWVzCgoyMDExLTAxLTExIDE1OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2xhcmlmeSBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMDEtMTEgMTU6MjQ6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXJseSB0cmFjayB1cHN0cmVhbSB0aW1lc3RhbXBzCgkgIC4uLiByYXRoZXIgdGhhbiB3aXRoIGEgZGVsYXkuCgoyMDExLTAxLTExIDE1OjIzOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbmVlZCBwcm9wZXIgZnJhbWUgZHVyYXRpb24gdG8gb2J0YWluIHNlbnNpYmxlIGZyYW1lIGJpdHJhdGUKCjIwMTEtMDEtMTEgMTU6MjI6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXIgaW5pdGlhbCB2YWx1ZXMgZm9yIGluZGV4IHRyYWNraW5nIHZhcmlhYmxlcwoKMjAxMS0wMS0xMSAxMjowNToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFycmFuZ2UgZm9yIGNvbnNpc3RlbnQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDEtMTAgMTY6NTk6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBoZWFkZXIgc3R5bGUgY2xlYW5pbmcKCjIwMTEtMDEtMTAgMTc6MDc6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIHNvbWUgbW9yZSBpbml0aWFsIGZyYW1lIG1ldGFkYXRhIGluIHBhcnNlX2ZyYW1lCgkgIC4uLiBhbmQgZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgoyMDExLTAxLTEwIDE2OjU2OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBwYXNzdGhyb3VnaCBpbnRvIGZvcm1hdCBmbGFncwoJICBBbHNvIGFkZCBhIGZvcm1hdCBmbGFnIHRvIHNpZ25hbCBiYXNlcGFyc2UgdGhhdCBzdWJjbGFzcy9mb3JtYXQgY2FuIHByb3ZpZGUKCSAgKHBhcnNlZCkgdGltZXN0YW1wIHJhdGhlciB0aGFuIGFuIGVzdGltYXRlZCBvbmUuICBJbiBwYXJ0aWN1bGFyLCBzdWNoICJzdHJvbmciCgkgIHRpbWVzdGFtcCB0aGVuIGFsbG93cyB0byBlLmcuIGRldGVybWluZSBkdXJhdGlvbi4KCjIwMTEtMDEtMTAgMTU6MzQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW50cm9kdWNlIGEgYmFzZXBhcnNlIGZyYW1lIHRvIHNlcnZlIGFzIGNvbnRleHQKCSAgLi4uIGFuZCBhZGp1c3Qgc3ViY2xhc3MgcGFyc2VycyBhY2NvcmRpbmdseQoKMjAxMS0wMS0wNyAxNjozOTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlc3RyaWN0IGR1cmF0aW9uIHNjYW5uaW5nIHRvIHB1bGwgbW9kZSBhbmQgYXZvaWQgZXh0cmEgc2V0X2NhcHMgY2FsbAoKMjAxMS0wMS0wNyAxNTo1ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCSAgQWxzbyBhZGQgc29tZSBtb3JlIGRlYnVnLgoKMjAxMS0wMS0wNiAxMTo0MTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFsbG93IGluY3JlYXNpbmcgbWluX3NpemUgZm9yIGN1cnJlbnQgZnJhbWUgcGFyc2luZyBvbmx5CgkgIEFsc28gY2hlY2sgdGhhdCBzdWJjbGFzcyBhY3R1YWxseSBlaXRoZXIgZGlyZWN0cyB0byBza2lwIGJ5dGVzIG9yCgkgIGluY3JlYXNlcyBleHBlY3RlZCBmcmFtZSBzaXplIHRvIGF2b2lkIGdvaW5nIG5vd2hlcmUgaW4gYm9ndXMKCSAgaW5kZWZpbml0ZSBsb29waW5nLgoKMjAxMS0wMS0xNCAxNToyNjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYWVzcGFyc2U6IGZpeCByZWZhY3RvciByZWdyZXNzaW9uIGluIGxvb3AgYmFzZWQgcGFyc2luZwoKMjAxMS0wMS0wNiAxMToxNjo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBhc3MgYWxsIGF2YWlsYWJsZSBkYXRhIHRvIHN1YmNsYXNzIHJhdGhlciB0aGFuIG1pbmltdW0KCSAgQWxzbyByZWR1Y2Ugc29tZSBhZGFwdGVyIGNhbGxzIGFuZCBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTItMTAgMTU6NTk6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcmV2ZXJzZSBwbGF5YmFjayBoYW5kbGluZwoKMjAxMC0xMi0xMCAxNDo1NjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHR5cG8gYW5kIGRlYnVnIHN0YXRlbWVudCBjbGVhbnVwCgoyMDEwLTEyLTEwIDE0OjQwOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVkdWNlIGxvY2tpbmcKCSAgLi4uIHdoaWNoIGlzIGVpdGhlciBhbHJlYWR5IG11dGUgYW5kL29yIGltcGxpY2l0bHkgaGFuZGxlZCBieSBTVFJFQU1fTE9DSy4KCjIwMTEtMDEtMTQgMTQ6MDg6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCBsb29wIGluIGZyYW1lIGxvY2F0aW5nIGludGVycG9sYXRpb24KCjIwMTEtMDEtMTkgMTg6MjY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5kIGdzdF9idWZmZXJfdW5yZWYgbm90IGxpa2luZyBOVUxMCgkgIEZpeGVzICM2Mzk5NTAuCgoyMDExLTAxLTE0IDE2OjMwOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYmFzZXBhcnNlOiBCZSBjYXJlZnVsIHRvIG5vdCBsb3NlIHRoZSBldmVudCByZWYKCSAgRG9uJ3QgdW5yZWYgdGhlIGV2ZW50IGlmIGl0IGhhc24ndCBiZWVuIGhhbmRsZWQsIGJlY2F1c2UgdGhlIGNhbGxlcgoJICBhc3N1bWVzIGl0IGlzIHN0aWxsIHZhbGlkIGFuZCBtaWdodCByZXVzZSBpdC4KCSAgSSByYW4gaW50byB0aGlzIHByb2JsZW0gd2hlbiB0cmFuc2NvZGluZyBhbiBBVkkgKHdpdGggbXAzIGluc2lkZSkKCSAgdG8gZ3BwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTU1CgoyMDExLTAxLTEzIDE3OjEwOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGZpeCBzeW5jIHdvcmQgZm9yIDE0LWJpdCBsaXR0bGUgZW5kaWFuIGNvZGluZwoJICBGaXggY29weSduJ3Bhc3RlIGJ1ZyB0aGF0IG1hZGUgdXMgbG9vayBmb3IgdGhlIHJhdyBsaXR0bGUgZW5kaWFuCgkgIHN5bmMgd29yZCB0d2ljZSBpbnN0ZWFkIG9mIGxvb2tpbmcgZm9yIHRoZSAxNC1iaXQgTEUgc3luYyB3b3JkCgkgIGFzIHdlbGwuIEZpeGVzIHBhcnNpbmcgb2Ygc3VjaCBzdHJlYW1zIChzZWUgIzYzNjIzNCBmb3Igc2FtcGxlIGZpbGUpLgoKMjAxMS0wMS0xMyAxNjoyNzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBkb2NzOiBtaW5vciBiYXNlcGFyc2UgZG9jcy9jb21tZW50IGZpeGVzCgkgIFJlbW92ZSBjb3B5J24ncGFzdGUgbGVmdG92ZXJzLgoKMjAxMS0wMS0wNiAxMjo0OTo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTAtMTItMTMgMTU6MTc6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVsYXggYnNpZCBjaGVja2luZwoJICAuLi4gdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBzcGVjIGludGVycHJldGF0aW9uLgoJICBGaXhlcyAjNjM3MDYyLgoKMjAxMC0xMi0wMyAxODoxMTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTEtMDggMTk6NTg6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbmNyZWFzZSBrZXlmcmFtZSBhd2FyZW5lc3MKCSAgLi4uIHdoaWNoIGlzIG5vdCBwYXJ0aWN1bGFyIHJlbGV2YW50IGZvciBhdWRpbyBwYXJzaW5nLCBidXQgbW9yZSBzbwoJICBpbiB2aWRlbyBjYXNlcy4gIEluIHBhcnRpY3VsYXIsIGF1dG8tZGV0ZXJtaW5lIGlmIGRlYWxpbmcgd2l0aCB2aWRlbyAoY2FwcykuCgoyMDEwLTEyLTAxIDE1OjI4OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogdXNlIHByb3BlciBFQUMtMyBjYXBzCgoyMDEwLTExLTMwIDE1OjQxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXZvaWQgdW5leHBlY3RlZCBzdHJheSBtZXRhZGF0YQoKMjAxMC0xMS0zMCAxNTo0MDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBwcm9wZXIgX05PTkUgb3V0cHV0IHZhbHVlIHdoZW4gYXBwbGljYWJsZQoKMjAxMC0xMS0yNSAxODo1Njo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE3OjE0OjIzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggcG9zc2libGUgZGl2aXNpb24tYnktemVybwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1Nzg2CgoyMDEwLTExLTE3IDE2OjIzOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGNvcnJlY3Qgb2Zmc2V0IHdoZW4gYWRkaW5nIGluZGV4IGVudHJ5CgkgIC4uLiBiZWFyaW5nIGluIG1pbmQgdGhhdCBCVUZGRVJfT0ZGU0VUIGlzIG1lZGlhIHNwZWNpZmljIGFuZCBtYXkgbm90CgkgIHJlZmxlY3QgdGhlIGJhc2ljIG9mZnNldCBhZnRlciBoYXZpbmcgYmVlbiBwYXJzZWQuCgoyMDEwLTExLTE3IDE0OjMwOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5oYW5jZW1lbnRzIGZvciB0aW1lc3RhbXAgbWFya2VkIGZyYW1lZCBmb3JtYXRzCgkgIFRoYXQgaXMsIGFzIHN1Y2ggZm9ybWF0cyBhbGxvdyBzdWJjbGFzcyB0byBleHRyYWN0IHBvc2l0aW9uIGZyb20gZnJhbWUsCgkgIGl0IGlzIHBvc3NpYmxlIHRvIGV4dHJhY3QgZHVyYXRpb24gKGlmIG5vdCBvdGhlcndpc2UgcHJvdmlkZWQpCgkgIGZyb20gKG5lYXIpIGxhc3QgZnJhbWUsIGFuZCBhIHNlZWsgY2FuIGZhaXJseSBhY2N1cmF0ZWx5IHRhcmdldCB0aGUgcmVxdWlyZWQKCSAgcG9zaXRpb24uCgkgIEZpeGVzICM2MzEzODkuCgoyMDEwLTExLTE2IDE3OjA2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3IgZnJhbWUgc2Nhbm5pbmcgcGVmb3JtZWQgYnkgX2xvb3AKCjIwMTAtMTEtMTYgMTg6MDQ6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzbGlnaHRseSBvcHRpbWl6ZSBzZW5kaW5nIG9mIHBlbmRpbmcgbmV3c2VnbWVudCBldmVudHMKCjIwMTAtMTEtMTYgMTc6MDQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzCgkgIEFycmFuZ2UgZm9yIHVwc3RyZWFtIGFzIHdlbGwgYXMgZG93bnN0cmVhbSBmbHVzaGluZyB3aGVuIHNlZWtpbmcuCgkgIEFsc28gZGV0ZXJtaW5lIHVwc3RyZWFtIHNpemUgYXMgd2VsbCBhcyBzZWVrYWJpbGl0eS4gIEFkanVzdCBzb21lIGNvbW1lbnRzCgkgIHRvIHJlYWxpdHkgYW5kIGVtcGxveSBkZWJ1ZyBzdGF0ZW1lbnQgaW4gcHJvcGVyIG9yZGVyLgoKMjAxMC0xMS0xNyAxNTozMzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtaW5vciBjbGVhbnVwcwoKMjAxMC0xMS0xNyAxNToyNDozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggcmVncmVzc2lvbiBpbiBBRElGIHNyYyBjYXBzIHNldHRpbmcKCjIwMTAtMTEtMTYgMTI6MTE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBwYXJzZSBzZWVrdGFibGUKCSAgRml4ZXMgIzYzMTM4OSAocGFydGlhbGx5KS4KCjIwMTAtMTEtMTYgMTI6MDg6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5vciByZWZhY3RvciBhbmQgZW5hYmxlIGRlZmF1bHQgYmFzZXBhcnNlIHNlZ21lbnQgY2xpcHBpbmcKCjIwMTAtMTEtMDkgMTk6Mzg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IHNpbGx5IGxlYWsgaW4gX3Jlc2V0CgoyMDEwLTEwLTI5IDE0OjA4OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIG9ubHkgdXBzdHJlYW0gZHVyYXRpb24gaWYgaXQgcHJvdmlkZXMgb25lCgoyMDEwLTEwLTI1IDE0OjE1OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmbG93IHVwZGF0ZV9iaXRyYXRlIGNvZGUKCSAgLi4uIHdoaWNoIG1ha2VzIGxvY2FsIHZhcmlhYmxlcyByZXByZXNlbnQgcmVhbCBzdGF0ZSBiZXR0ZXIsIGFuZCBhdm9pZHMKCSAgdHJpZ2dlcmluZyB1bm5lZWRlZCB1cGRhdGVzL2FjdGlvbnMuCgoyMDEwLTEwLTI1IDE0OjEzOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMC0xMC0xOSAyMzoyNTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBpbml0IHZhcmlhYmxlIHRvIG1ha2Ugb3N4IGJ1aWxkIGJvdCBoYXBweQoJICBnc3RkY2FwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RjYV9wYXJzZV9jaGVja192YWxpZF9mcmFtZSc6CgkgIGdzdGRjYXBhcnNlLmM6MjQ2OiB3YXJuaW5nOiAnYmVzdF9zeW5jJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTAtMTAtMTkgMDA6MTU6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIHZlcnkgYmFzaWMgZHRzL2RjYSBwYXJzZXIKCSAgU3RpbGwgc29tZSBpc3N1ZXMsIGUuZy4gd2l0aCBzZWVrYWJsZSBxdWVyaWVzIGluIHRvdGVtLCBidXQgYWxzbwoJICBwcm9jZXNzaW5nIGFscmVhZHktY2h1bmtlZCBpbnB1dCAoY3JlYXRlZCB3aXRoIG1hdHJvc2thZGVtdXggISBnZHBwYXkpLgoKMjAxMC0xMC0xNCAxNjo0ODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwcm9wZXJseSBwYXJzZSBlLWFjMyBmcmFtZSBoZWFkZXIKCSAgQWxzbyBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTAtMTMgMTE6MDA6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0d2VhayBzZXR0aW5nIGJ1ZmZlciBtZXRhZGF0YTsgYXZvaWQgdGltZXN0YW1wIGppdHRlcgoJICBGaXhlcyAjNjMxOTkzLgoKMjAxMC0xMC0xMiAxODowNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHN0cmVhbWxpbmUgc3JjIGNhcHMgc2V0dGluZwoJICBJbiBwYXJ0aWN1bGFyLCBhbHNvIHNldCBzcmMgY2FwcyB3aGVuZXZlciBjaGFuZ2VzIGluIHN0cmVhbSB3YXJyYW50IGRvaW5nIHNvLgoKMjAxMC0xMC0xMiAxMDoyODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBBZGp1c3QgdW5pdCB0ZXN0cyB0byBuZXcgZmxhY3BhcnNlIGJlaGF2aW91cgoJICBHYXJiYWdlIGFmdGVyIGZyYW1lcyBpcyBub3cgaW5jbHVkZWQgaW4gdGhlIGZyYW1lcyBiZWNhdXNlIGZsYWNwYXJzZQoJICBoYXMgbm8gZWFzeSB3YXkgdG8gZGV0ZWN0IHRoZSByZWFsIGVuZCBvZiBhIGZyYW1lLiBEZWNvZGVycyBhcmUKCSAgZXhwZWN0ZWQgdG8gZXZlcnl0aGluZyBhZnRlciB0aGUgZnJhbWUgYmVjYXVzZSBvbmx5IGRlY29kaW5nIHRoZQoJICBiaXRzdHJlYW0gd2lsbCByZXZlYWwgdGhlIHJlYWwgZW5kIG9mIHRoZSBmcmFtZS4KCSAgRml4ZXMgYnVnICM2MzE4MTQuCgoyMDEwLTEwLTEyIDEwOjI3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRG9uJ3QgZHJvcCB0aGUgbGFzdCBmcmFtZSBpZiBpdCBpcyBmb2xsb3dlZCBieSBnYXJiYWdlCgkgIFNlZSBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTEgMTc6NDk6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwZXJmb3JtIGJpdHJhdGUgaGFuZGxpbmcgYW5kIHBvc3RpbmcgYWZ0ZXIgbmV3c2VnbWVudCBzZW5kaW5nCgoyMDEwLTEwLTExIDE3OjM2OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1tZWRpYXRlbHkgcG9zdCBzdWJjbGFzcyBwcm92aWRlZCBiaXRyYXRlCgoyMDEwLTEwLTExIDE3OjA2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBhcnNpbmcgd2l0aCB1bmtub3duIGZyYW1lc2l6ZXMKCSAgRml4ZXMgIzYzMTgxNCAobW9zdGx5KS4KCjIwMTAtMTAtMDcgMjM6Mzc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBTaW1wbGlmeSBmcmFtZSBoZWFkZXIgcGFyc2luZyBieSB1c2luZyBsb29rdXAgdGFibGVzCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgRmVsaXBlIENvbnRyZXJhcy4KCSAgU2VlIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNyAyMzoyODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IERvbid0IHBhcnNlIHRoZSBjb21wbGV0ZSBGTEFDIGZyYW1lcyBidXQgb25seSBsb29rIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzCgkgIFRoYW5rcyB0byBGZWxpcGUgQ29udHJlcmFzIGZvciB0aGUgc3VnZ2VzdGlvbi4gVGhpcyBpcyBwYXJ0aWFsbHkKCSAgYmFzZWQgb24gaGlzIHBhdGNoZXMgYW5kIG1ha2VzIGZsYWNwYXJzZSBtb3JlIHRoYW4gMy41IHRpbWVzIGZhc3Rlci4KCSAgTG9va2luZyBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycyBpcyB1bmxpa2VseSB0byBnaXZlIGZhbHNlIHBvc2l0aXZlcwoJICBiZWNhdXNlIGV2ZXJ5IGZyYW1lIGhlYWRlciBpcyBhdCBsZWFzdCA5IGJ5dGVzIGxvbmcsIGNvbnRhaW5zIGEKCSAgMTQgYml0IHN5bmMgY29kZSBhbmQgYSA4IGJpdCBjaGVja3N1bSBvdmVyIHRoZSBmaXJzdCA4IGJ5dGVzLgoJICBGaXhlcyBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDYgMTg6MzI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBSZWFsbHkgcG9zdCB0YWdzIG9ubHkgYWZ0ZXIgdGhlIGluaXRpYWwgbmV3c2VnbWVudCBldmVudAoJICBUaGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCB3aWxsIGJlIHNlbmQgYnkgdGhlIGZpcnN0IGNhbGwgdG8KCSAgZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIoKSBpZiBuZWNlc3NhcnksIHBvc3RpbmcgdGhlIHRhZ3MKCSAgYmVmb3JlIHRoYXQgaXMgbm90IGEgZ29vZCBpZGVhLiBJbnN0ZWFkIGRvIGl0IGZyb20gdGhlCgkgIEdzdEJhc2VQYXJzZTo6cHJlX3B1c2hfYnVmZmVyIHZmdW5jLgoKMjAxMC0xMC0wNSAxMToxNzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBSZXZlcnQgImJhc2VwYXJzZTogYWRkIHNraXAgcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjVhM2Q2MDM2M2Q4MzdhMTBmMDUzM2MxNDFlYzkzZDEwYjc0MjMxMi4KCSAgUmV2ZXJ0aW5nIHRoaXMgZm9yIG5vdywgc2luY2Ugbm8gb25lIHJlYWxseSBzZWVtcyB0byByZW1lbWJlciB3aHkgdGhpcwoJICBwcm9wZXJ0eSBleGlzdHMgb3Igd2hhdCBpdCBjb3VsZCBwb3NzaWJseSBiZSBnb29kIGZvci4gSXQgc2VlbXMgdG8gaGF2ZQoJICBiZWVuIGluIHRoZSBvcmlnaW5hbCBtcDNwYXJzZSBzaW5jZSB0aGUgYmVnaW5uaW5nIG9mIHRpbWUgYW5kIHdhcyBiYWNrLQoJICBwb3J0ZWQgZnJvbSB0aGVyZS4KCjIwMTAtMTAtMDQgMTA6NDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoJICBUaGVzZSB3YXJuaW5ncyBhcmUgd3JvbmcsIHRoZSB2YXJpYWJsZXMgYXJlIG9ubHkgdXNlZCBpZiB0aGV5IHdlcmUKCSAgaW5pdGlhbGl6ZWQgYnkgdGhlIGJpdCByZWFkZXIuCgoyMDEwLTA5LTE0IDAyOjQ4OjU4ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBpY3R1cmUgcGFyc2luZwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NTQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBQdXNoIHRhZ3MgYmVmb3JlIHRoZSBoZWFkZXIgYnVmZmVycyBhcmUgcHVzaGVkCgoyMDEwLTA4LTAyIDIwOjUwOjIxICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdHJpdmlhbCBjYXBzIGZpeAoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXI6IExldCB0aGUgZm9ybWF0IHN0cmluZyBhZ3JlZSB3aXRoIHRoZSBwYXJhbWV0ZXJzIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTEwLTAzIDE1OjQxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IFVzZSB1bmNoZWNrZWQgdmVyc2lvbnMgb2YgdGhlIGJpdHJlYWRlciBnZXQgZnVuY3Rpb25zCgkgIFdlIGRpZG4ndCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlcyBhbnl3YXkuLi4KCjIwMTAtMDktMjIgMTU6NDQ6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggZGVidWcgb3V0cHV0CgkgIFdlIGxvc2UgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGFmdGVyIGdzdF9wYWRfcHVzaCgpLCBzbyB0aGUgZGVidWcKCSAgcHJpbnQgc2hvdWxkIGhhcHBlbiBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMTAtMDEgMTI6MzQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgZmxhY3BhcnNlIHVuaXQgdGVzdAoJICAuLi4gYW5kIHR3ZWFrIHBhcnNlciB0ZXN0IGhlbHBlciBpbiB0aGUgcHJvY2Vzcy4KCjIwMTAtMDktMjkgMTY6MTI6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdXBwb3J0IHJldmVyc2UgcGxheWJhY2sKCSAgLi4uIGluIHB1bGwgbW9kZSBvciB1cHN0cmVhbSBkcml2ZW4uCgoyMDEwLTA5LTI3IDEyOjE2OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGRvbmUgVE9ET3MgYW5kIHVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTI1IDE0OjQwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGRldGVybWluZWQgc2Vla2FiaWxpdHkgaW4gYW5zd2VyaW5nIFNFRUtJTkcgcXVlcnkKCjIwMTAtMDktMjUgMTQ6MzI6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eQoKMjAxMC0wOS0yNSAxMzo1OTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBhYzNwYXJzZSBhbmQgbXBlZ2F1ZGlvcGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTA5LTI1IDEzOjU5OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBtcGVnYXVkaW9wYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIC4uLiBhZGVxdWF0ZWx5IGVxdWl2YWxlbnQgdG8gbXAzcGFyc2UsIHNvIGxldHMgYm9sZGx5IHNldCBpdAoJICB0byBoaWdoZXIgcmFuay4KCjIwMTAtMDktMjUgMTQ6MDE6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IG1pbmltdW0gZnJhbWUgc2l6ZSBhdCBfc3RhcnQKCSAgLi4uIHJhdGhlciB0aGFuIG9uZSB0aW1lIGF0IF9pbml0LgoKMjAxMC0wOS0yNSAxMzo1MDo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIGF1ZGlvcGFyc2VyczogcmVmYWN0b3IgZXhpc3RpbmcgdW5pdCB0ZXN0cyB1c2luZyBjb21tb24gaGVscGVyCgoyMDEwLTA5LTIyIDE1OjA3OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZnJhbWVfcHJvcHMgdG8gY29uZmlndXJlIGZyYW1lIGxlYWRfaW4gYW5kIGxlYWRfb3V0CgkgIC4uLiBwcm92aWRlZCBhIGNvcnJlc3BvbmRpbmcgZGVjb2RlciB3aXRoIHN1ZmZpY2llbnQgbGVhZGluZyBhbmQgZm9sbG93aW5nCgkgIGZyYW1lcyB0byBjYXJyeSBvdXQgZnVsbCBkZWNvZGluZyBmb3IgYSBwYXJ0aWN1bGFyIHNlZ21lbnQuCgoyMDEwLTA5LTIyIDE0OjEzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZHVyYXRpb24gdG8gY29uZmlndXJlIGR1cmF0aW9uIHVwZGF0ZSBpbnRlcnZhbAoJICAuLi4gYXMgaXQgbG9naWNhbGx5IGJlbG9uZ3MgdGhlcmUgYXMgb25lIG9yIHRoZSBvdGhlcjsgZWl0aGVyIHN1YmNsYXNzCgkgIGNhbiBwcm92aWRlIGEgZHVyYXRpb24sIG9yIGFuIGVzdGltYXRlIG11c3QgYmUgbWFkZSAocmVndWFybHkgdXBkYXRlZCkuCgoyMDEwLTA5LTIyIDEzOjU1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbG9jYWxpemUgdXNlIG9mIHByb3ZpZGVkIGZwcyBpbmZvcm1hdGlvbgoKMjAxMC0wOS0yMiAxMjoxMzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNlZWsgdGFibGUgYW5kIGFjY3VyYXRlIHNlZWsgc3VwcG9ydAoKMjAxMC0wOS0yMSAxMzo1NzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBhbmQgbW9yZSBleHRlbmRlZCBzZWdtZW50IGFuZCBzZWVrIGhhbmRsaW5nCgkgIFRoYXQgaXMsIGxvb3AgcGF1c2UgaGFuZGxpbmcsIHNlZ21lbnQgc2VlayBzdXBwb3J0LCBuZXdzZWdtZW50IGZvciBnYXBzLCBldGMKCjIwMTAtMDktMjEgMTA6NTc6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgaW5kZXggc3VwcG9ydAoKMjAxMC0wOS0yMSAwOTo1OTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHN0YXRlIHJlc2V0CgoyMDEwLTA5LTIwIDE2OjM5OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmRlZmluaXRlIHJlc3luY2luZwoKMjAxMC0wOS0yMCAxMzo1Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNwZWNpZmljIEVPUyBoYW5kbGluZyBpZiBubyBvdXRwdXQgc28gZmFyCgoyMDEwLTA5LTIwIDEzOjMxOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IF9zZXRfZnJhbWVfcHJvcCBkb2N1bWVudGF0aW9uIGFuZCBzZXQgZGVmYXVsdCBhcyBjbGFpbWVkCgoyMDEwLTA5LTIwIDEzOjMwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGJpdHJhdGUgY29weS1hbmQtcGFzdGUgYW5kIHVwZGF0ZSBoZXVyaXN0aWMKCjIwMTAtMDktMTcgMTg6MzM6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwb3N0IGR1cmF0aW9uIG1lc3NhZ2UgaWYgYXZlcmFnZSBiaXRyYXRlcyBpcyB1cGRhdGVkCgoyMDEwLTA5LTE3IDE4OjI0OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZW1vdmUgaXNfc2Vla2FibGUgdm1ldGhvZCBhbmQgdXNlIGEgc2V0X3NlZWsgaW5zdGVhZAoJICBTZWVrYWJpbGl0eSwgbGlrZSBkdXJhdGlvbiwgZXRjIGlzIHVubGlrZWx5IHRvIGNoYW5nZSAoZnJlcXVlbnRseSksIGFuZAoJICB0aGUgZGVmYXVsdCBhc3N1bXB0aW9uIGNvdmVycyBtb3N0IGNhc2VzLCBzbyBsZXQgc3ViY2xhc3Mgc2V0IHdoZW4gbmVlZGVkLgoJICBBdCB0aGUgc2FtZSB0aW1lLCBhbGxvdyBzdWJjbGFzcyB0byBpbmRpY2F0ZSBpZiBpdCBoYXMgc2Vlay1tZXRhZGF0YSAodGFibGUpCgkgIGF2YWlsYWJsZSwgYW5kIHBvc3NpYmx5IGhhdmUgaXQgcHJvdmlkZSBhbiBhdmVyYWdlIGJpdHJhdGUuCgoyMDEwLTA5LTE3IDE3OjM1OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgZGVmYXVsdCBpc19zZWVrYWJsZQoKMjAxMC0wOS0xNyAxNzoyMTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBhbm90aGVyIGhvb2sgZm9yIHN1YmNsYXNzIHByaW9yIHRvIHB1c2hpbmcgYnVmZmVyCgkgIC4uLiBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcGVyZm9ybSBjdXN0b20gc2VnbWVudCBjbGlwcGluZywgb3IgdG8KCSAgZW1pdCB0YWdzIG9yIG1lc3NhZ2VzIGF0IHRoaXMgdGltZS4KCjIwMTAtMDktMTcgMTc6MTk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiAwIGNvbnZlcnRzIHRvIDAgYnkgZGVmYXVsdAoKMjAxMC0wOS0xNiAxODo1Njo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFzZTogcmVmYWN0b3IgY29udmVyc2lvbiB1c2luZyBoZWxwZXIgZnVuY3Rpb24gYW5kIGV4cG9ydCBkZWZhdWx0IGNvbnZlcnQKCjIwMTAtMDktMTYgMTg6MzU6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdHJlYW1saW5lIHF1ZXJ5IGhhbmRsaW5nCgoyMDEwLTA5LTE2IDExOjUxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY2xlYW51cCBzdHJ1Y3QgYW5kIHJlbW92ZSB1bnVzZWQgbWVtYmVyCgoyMDEwLTA4LTE2IDExOjA0OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaW5jcmVhc2UgcmFua3MgdG8gZW5hYmxlIGF1dG8tcGx1Z2dpbmcKCSAgQmVjYXVzZSB3ZSBjYW4sIGFuZCBzaG91bGQsIGhhdmUgc29tZSBzaGFrZWRvd24gdGVzdGluZyBiZWZvcmUgaGF2aW5nCgkgIHRoZXNlIG1ha2UgaXQgaW50byAtZ29vZCBsYXRlciBvbiAuLi4KCjIwMTAtMDktMjIgMTY6MDc6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBBbGxvdyBjaGFpbmluZyBvZiBzdWJjbGFzcyBldmVudCBoYW5kbGVycwoJICBUaGlzIGFsbG93cyB0aGUgY2hpbGQgY2xhc3MgdG8gY2hhaW4gaXRzIGV2ZW50IGhhbmRsZXIgd2l0aAoJICBHc3RCYXNlUGFyc2UsIHNvIHRoYXQgc3ViY2xhc3NlcyBkb24ndCBoYXZlIHRvIGR1cGxpY2F0ZSBhbGwgdGhlIGRlZmF1bHQKCSAgZXZlbnQgaGFuZGxpbmcgbG9naWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMDgtMjcgMTg6MzU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbHNvIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgVU5FWFBFQ1RFRCBhbmQgZG8gaXQKCSAgZm9yIE5PVF9MSU5LRUQuCgoyMDEwLTA5LTA2IDE0OjEyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbm9uLVRJTUUgc2VlayBldmVudCBpcyBzaW1wbHkgbm90IGhhbmRsZWQKCjIwMTAtMDYtMTUgMTU6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBldmVudCByZWYgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzM6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGFyaXRobWV0aWMgb3ZlcmZsb3dzIGluIHB1bGwgbW9kZSBidWZmZXIgY2FjaGUgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzI6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBoYW5kbGluZwoJICBBbGxvdyBhIGZldyBtb3JlIHNlZWsgZXZlbnQgdHlwZSBjb21iaW5hdGlvbnMsIGFuZCByZWFsbHkgdXNlIHRoZSByZXN1bHQKCSAgb2YgZ3N0X3NlZ21lbnRfc2V0X3NlZWsgdG8gcGVyZm9ybSB0aGUgc2Vlay4gIEFsc28gYWRkIHNvbWUgZGVidWcuCgoyMDEwLTA0LTEyIDE4OjA3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgY2hlY2s6IERvbid0IHJlLWRlY2xhcmUgJ0dMaXN0ICpidWZmZXJzJyBpbiB0aGUgdGVzdHMKCSAgSXQncyBhbiBleHRlcm5hbCB3aGljaCBsaXZlcyBpbiBnc3RjaGVjay5jLiBSZWRlY2xhcmluZyBpdCBtYWtlcyBzb21lCgkgIGNvbXBpbGVycy9hcmNoaXRlY3R1cmVzIHRoaW5rIHRoZSAnYnVmZmVycycgaW4gdGhlIGluZGl2aWR1YWwgdGVzdHMgYXJlCgkgIGEgZGlmZmVyZW50IHN5bWJvbC4uLiBhbmQgdGhlcmVmb3JlIHdlIGVuZCB1cCBjb21wYXJpbmcgaG9sb2RlY2tzIHdpdGgKCSAgb3Jhbmdlcy4KCjIwMTAtMDMtMjYgMTg6NTY6NDkgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCBlbWl0IGJpdHJhdGUgdGFncyB0b28gZWFybHkKCSAgV2Ugd2FpdCB0byBwYXJzZSBhIG1pbmltdW0gbnVtYmVyIG9mIGZyYW1lcyAoMTAsIGFyYml0cmFyaWx5KSBiZWZvcmUKCSAgZW1pdGluZyBiaXRyYXRlIHRhZ3Mgc28gdGhhdCBvdXIgZWFybHkgZXN0aW1hdGVzIGFyZSBub3Qgd2lsZGx5CgkgIGluYWNjdXJhdGUgZm9yIHN0cmVhbXMgdGhhdCBzdGFydCB3aXRoIGEgc2lsZW5jZS4gSWYgdGhlIHN0cmVhbSBlbmRzCgkgIGJlZm9yZSB0aGF0LCB3ZSBqdXN0IGVtaXQgdGhlIHRhZ3MgYW55d2F5LgoJICBXaGlsZSBpdCBfd291bGRfIGJlIG5pY2VyIHRvIGJlIHNwZWNpZnkgdGhlIHRocmVzaG9sZCB0byBzdGFydCBwdXNoaW5nCgkgIHRoZSB0YWdzIGluIHRlcm1zIG9mIGR1cmF0aW9uLCB0aGlzIHdvdWxkIGludHJvZHVjZSBtb3JlIGNvbXBsZXhpdHkgdGhhbgoJICB0aGlzIG1lcml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDk5MQoKMjAxMC0wMy0yNiAxODo1ODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IE9wdGlvbmFsbHkgY2hlY2sgdGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIHRvbyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBpcyBvcHRpb25hbCBiZWNhdXNlIGl0J3MgYSBxdWl0ZSBleHBlbnNpdmUgb3BlcmF0aW9uIGFuZCBpdCdzIHZlcnkKCSAgdW5saWtlbHkgdGhhdCBhIG5vbi1mcmFtZSBpcyBkZXRlY3RlZCBhcyBmcmFtZSBhZnRlciB0aGUgaGVhZGVyIENSQyBjaGVjawoJICBhbmQgY2hlY2tpbmcgYWxsIGJpdHMgZm9yIHZhbGlkIHZhbHVlcy4gVGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIGFyZQoJICBtYWlubHkgdXNlZnVsIHRvIGRldGVjdCBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIGVuY29kZWQgcGF5bG9hZC4KCjIwMTAtMDMtMjYgMTg6NDI6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBDaGVjayB0aGUgQ1JDLTggb2YgdGhlIGhlYWRlcnMgYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgbWFrZXMgZmFsc2UtcG9zaXRpdmVzIGR1cmluZyBzZWVraW5nIG11Y2ggbGVzcyBsaWtlbHkgYW5kIGRldGVjdGlvbiBvZgoJICB0aGVtIG11Y2ggZmFzdGVyLgoKMjAxMC0wMy0yNiAxODoyMDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNldCB0aGUgbGFzdCBzdG9wIHRvIHRoZSBidWZmZXIgc3RhcnR0aW1lIGlmIHRoZSBkdXJhdGlvbiBpcyBpbnZhbGlkCgkgIC4uLmluc3RlYWQgb2Ygbm90IHNldHRpbmcgaXQgYXQgYWxsLgoKMjAxMC0wMy0yNiAxODoxOTowMCArMDEwMCAgSm9zaHVhIE0uIERvZSA8am9zaEBqb3NoZG9lLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2VuZCBORVdTRUdNRU5UIGV2ZW50IHdpdGggY29ycmVjdCBzdGFydCBhbmQgcG9zaXRpb24KCSAgSW5zdGVhZCBvZiB0YWtpbmcgdGhlIGxhc3Qgc3RvcCAod2hpY2ggY291bGQgYmUgYnVmZmVyIGVuZHRpbWUgaW5zdGVhZAoJICBvZiBzdGFydHRpbWUpIGFsd2F5cyB0YWtlIHRoZSBidWZmZXIgc3RhcnR0aW1lLgoJICBGaXhlcyBidWcgIzYxNDAxNi4KCjIwMTAtMDMtMjYgMTY6NDk6MDEgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggYnVmZmVyIHJlZmNvdW50IGlzc3VlCgkgIFdoZW4gY2FsbGVkIGZyb20gdGhlIEdTVF9GTEFDX1BBUlNFX1NUQVRFX0hFQURFUlMgY2FzZSwKCSAgZ3N0X2ZsYWNfcGFyc2VfaGFuZF9oZWFkZXJzKCkgZG9lcyBhIGdzdF9idWZmZXJfc2V0X2NhcHMoKSBvbiBhIGJ1ZmZlcgoJICB3aXRoIHJlZmNvdW50ID4gMS4gVGhpcyBjaGFuZ2UgaGFuZGxlcyB0aGlzIGNhc2UgYnkgbWFraW5nIHRoZSBidWZmZXIKCSAgbWV0YWRhdGFfV3JpdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQwMzcKCjIwMTAtMDMtMjUgMTc6MDk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiByZW1vdmUgdW51c2VkIEdzdEJhc2VQYXJzZUNsYXNzUHJpdmF0ZSBzdHJ1Y3R1cmUKCjIwMTAtMDMtMjUgMTI6NTU6MDIgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBNYWtlIGJpdHJhdGUgZXN0aW1hdGlvbiBtb3JlIGFjY3VyYXRlCgkgIFRoaXMgaW1wbGVtZW50cyB0aGUgZ2V0X2ZyYW1lX292ZXJoZWFkKCkgdmZ1bmMgc28gdGhhdCBiYXNlcGFyc2UgY2FuCgkgIG1ha2UgbW9yZSBhY2N1cmF0ZSBiaXRyYXRlIGVzdGltYXRlcy4KCjIwMTAtMDMtMjUgMTE6NDg6NDYgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJpdHJhdGUgY2FsY3VsYXRpb24KCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIG1pbi9hdmcvbWF4IGJpdHJhdGVzIGZvciBhYWNwYXJzZS4KCSAgTm90ZTogVGhlIGJpdHJhdGUgd2FzIGJlaW5nIGluY29ycmVjdGx5IGNhbGN1bGF0ZWQgZm9yIEFEVFMgc3RyZWFtcwoJICAoaXQncyBub3QgaW4gdGhlIGhlYWRlciBhcyB0aGUgY29kZSBzdWdnZXN0cykuCgoyMDEwLTAzLTI1IDExOjIyOjU4ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogQWRkIGJpdHJhdGUgY2FsY3VsYXRpb24gdG8gYmFzZXBhcnNlCgkgIFRoaXMgbWFrZXMgYmFzZXBhcnNlIGtlZXAgYSBydW5uaW5nIGF2ZXJhZ2Ugb2YgdGhlIHN0cmVhbSBiaXRyYXRlLCBhcwoJICB3ZWxsIGFzIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIGJpdHJhdGVzLiBTdWJjbGFzc2VzIGNhbiBvdmVycmlkZSBhCgkgIHZmdW5jIHRvIG1ha2Ugc3VyZSB0aGF0IHBlci1mcmFtZSBvdmVyaGVhZCBmcm9tIHRoZSBjb250YWluZXIgaXMgbm90CgkgIGFjY291bnRlZCBmb3IgaW4gdGhlIGJpdHJhdGUgY2FsY3VsYXRpb24uCgkgIFdlIHRha2UgY2FyZSBub3QgdG8gb3ZlcnJpZGUgdGhlIGJpdHJhdGUsIG1pbmltdW0tYml0cmF0ZSwgYW5kCgkgIG1heGltdW0tYml0cmF0ZSB0YWdzIGlmIHRoZXkgaGF2ZSBiZWVuIHBvc3RlZCB1cHN0cmVhbS4gV2UgYWxzbwoJICByYXRlLWxpbWl0IHRoZSBlbWlzc2lvbiBvZiBiaXRyYXRlIHNvIHRoYXQgaXQgaXMgb25seSB0cmlnZ2VyZWQgYnkgYQoJICBjaGFuZ2Ugb2YgPjEwIGticHMuCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAxLTE0IDExOjUwOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lIGJhc2VwYXJzZSBHVHlwZSBuYW1lIHRvIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0cwoKMjAxMC0wMS0xMiAxODo1NTo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW5pdGlhbGl6ZSB2YXJpYWJsZXMuCgkgIEZpeGVzIGJ1aWxkIG9uICQjQCooIG1hY29zeAoKMjAxMC0wMS0xMSAyMjo0MTo1NyArMDMwMCAg0PPx6+DtIMjm4fPr4PLu4iA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgd2luMzI6IEluY2x1ZGUgY29uZmlnLmggYmVmb3JlIGFueXRoaW5nIGVsc2UuIEZpeCBtcGVnZGVtdXggTElCQURECgkgIEJlY2F1c2UgY29uZmlnLmggZGVmaW5lcyBfX01TVkNSVF9WRVJTSU9OX18sIHdoaWNoIHNob3VsZCBiZSBkZWZpbmVkCgkgIGJlZm9yZSBpbmNsdXNpb24gb2YgYW55IHN5c3RlbSBoZWFkZXIuCgkgIEFsc28gZml4ZXMgbXBlZ2RlbXV4IE1ha2VmaWxlLmFtIExJQkFERCB0eXBvLgoJICBGaXhlcyAjNjA2NjY1CgoyMDEwLTAxLTExIDEzOjIwOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsc28gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBEbyBub3QgZm9yZ2V0IHRvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgb2ZmIGFhY3BhcnNlCgoyMDEwLTAxLTExIDEzOjEzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgUmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgJ25vbmUnIHRvICdyYXcnCgkgIFJlbmFtZXMgYWFjJ3Mgc3RyZWFtLWZvcm1hdCBmcm9tIHByZXZpb3VzIGNvbW1pdHMgZnJvbSBub25lIHRvCgkgIHJhdwoKMjAxMC0wMS0xMSAxMjoxMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogdXBkYXRlIHRlc3RzIHRvIHN0cmVhbS1mb3JtYXQgY2hhbmdlcwoJICBVcGRhdGVzIGFhY3BhcnNlIHVuaXQgdGVzdHMgdG8gY2hlY2sgZm9yIHN0cmVhbS1mb3JtYXQKCSAgY29ycmVjdG5lc3MgYXMgd2VsbC4KCjIwMTAtMDEtMTEgMTA6NTE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWRkIHN0cmVhbS1mb3JtYXQgdG8gb3V0cHV0IGNhcHMKCSAgQWRkcyBzdHJlYW0tZm9ybWF0IGZpZWxkIHRvIG91dHB1dCBjYXBzCgoyMDEwLTAxLTA1IDE1OjA1OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMTAtMDEtMDUgMTU6MDQ6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDEtMDUgMTQ6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAwOS0xMi0yMSAxODoyOTo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggKG11bHRpcGxlIGNoYW5uZWwpIGZyYW1lIHBhcnNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkZWNsYXJlIHVucGFyc2VkIGlucHV0IGFuZCBwYXJzZWQgb3V0cHV0CgoyMDA5LTEyLTIxIDE4OjE5OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBzY2FubmluZyBmb3IgbmV4dCBzeW5jd29yZAoKMjAwOS0xMi0yMSAxODoxODozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkanVzdCBzZWVrIGhhbmRsaW5nIGFuZCBuZXdzZWdtZW50IHNlbmRpbmcKCSAgUGVyZm9ybSBzYW5pdHkgY2hlY2sgb24gdHlwZSBvZiBzZWVrLCBhbmQgb25seSBwZXJmb3JtIG9uZSB0aGF0IGlzCgkgIGFwcHJvcHJpYXRlbHkgc3VwcG9ydGVkLiAgQWRqdXN0IGRvd25zdHJlYW0gbmV3c2VnbWVudCBldmVudAoJICB0byBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRoYXQgaXMgc2VudCBkb3duc3RyZWFtLgoKMjAwOS0xMi0yMSAxMTo1OTo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGNsZWFudXAKCSAgQWxzbyBhZGQgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAwOS0xMi0xOCAyMTowNToxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGxvY2F0ZSBuZXh0IHN5bmMgY29kZSBtb3JlIGVmZmljaWVudGx5CgoyMDA5LTEyLTE4IDIxOjA0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYmFzZXBhcnNlIHRha2VzIGNhcmUgb2YgaGFuZGxpbmcgbGVmdG92ZXIgcGllY2VzCgoyMDA5LTEyLTE4IDIxOjAyOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1wbGVtZW50IGxlZnRvdmVyIGRyYWluaW5nIGluIHB1bGwgbW9kZQoKMjAwOS0xMi0xNyAxMjo0NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNldCBfT0ZGU0VUIGFuZCBfT0ZGU0VUX0VORCBvbiBvdXRnb2luZyBidWZmZXJzCgoyMDA5LTEyLTE3IDEyOjQ0OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnZmxhY3BhcnNlJyBpbnRvIGl0CgoyMDA5LTEyLTE2IDE4OjM4OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvdmlkZSBkZWZhdWx0IGNvbnZlcnNpb24gdXNpbmcgYnBzIGlmIG5vIGZwcyBhdmFpbGFibGUKCSAgQWxzbyBzdG9yZSBlc3RpbWF0ZWQgZHVyYXRpb24gYXMgc3VjaCwgcmF0aGVyIHRoYW4gcHJldGVuZGluZyBvdGhlcndpc2UKCSAgKGUuZy4gc2V0IGJ5IHN1YmNsYXNzKS4KCjIwMDktMTItMTggMTM6MzA6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjaGVjayBmb3IgcmVtYWluaW5nIGRhdGEgd2hlbiBkcmFpbmluZyBpbiBwdXNoIG1vZGUKCjIwMDktMTItMTggMTM6MzA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcHVsbCBtb2RlIGNhY2hlIHNpemUgY29tcGFyaXNvbgoKMjAwOS0xMi0xOCAxMzowMToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDktMTItMTcgMTQ6NDY6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBzcGVjIGZpbGUgYW5kIGZpeCBhYzNwYXJzZXIgaGVhZGVyIGxpc3RpbmcgaW4gTWFrZWZpbGUuYW0KCjIwMDktMTItMTEgMTA6MjU6MTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogZml4IGEgZm9ybWF0IHN0cmluZyBhcyByZXBvcnRlZCBvbiBpcmMuCgoyMDA5LTExLTIzIDE2OjM0OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGZvciBwYXJzaW5nCgoyMDA5LTEwLTI5IDE1OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGV4dHJhY3QgYW5kIHVzZSBzb21lIG1vcmUgZGV0YWlscyBmb3IgRW5oYW5jZWQgQWMtMyBzdHJlYW1zCgoyMDA5LTEwLTI5IDE1OjE4OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY3VzdG9tIGJ1ZmZlcmZsYWcgaW5kaWNhdGVzIG5vdCB0byBjb3VudCBmcmFtZSBpbiBzdGF0cwoKMjAwOS0xMC0yOCAxNDowODo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY2hlY2tzIHdoZW4gcmVzeW5jaW5nCgoyMDA5LTEwLTI4IDE0OjA3OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGluZm9ybSBiYXNlIHBhcnNlciBvZiBmcmFtZSBkdXJhdGlvbgoKMjAwOS0xMC0yNyAxNjoxNjo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbXByb3ZlIHNyYyBjYXBzIHNldHRpbmdzCgoyMDA5LTExLTI3IDE3OjU5OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhYzNwYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIE1BUkdJTkFMIHJhbmsgZm9yIG5vdzsgbWlnaHQgdGFrZSBzb21lIHRpbWUgZm9yIHNvbWUgKHVzZWZ1bCkKCSAgZnJhbWVkPXRydWUvZmFsc2UgdG8gYXBwZWFyIGhlcmUgYW5kIHRoZXJlLgoKMjAwOS0xMS0yNiAxODozNDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTExLTI2IDE4OjE1OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IG1vdmUgJ2FtcnBhcnNlJyBpbnRvIGl0CgoyMDA5LTExLTI3IDE3OjI3OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVmZXJlbmNlIEdzdEJhc2VQYXJzZSBub3cgbGl2ZXMgaGVyZQoKMjAwOS0xMS0yOCAxODoxMzozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbmFtZSAnYWFjcGFyc2UnIHBsdWdpbiB0byBnZW5lcmljICdhdWRpb3BhcnNlcnMnIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvcGx1Z2luLmM6CgkgIGFhY3BhcnNlOiBzZXBhcmF0ZSBwbHVnaW4gcmVnaXN0cmF0aW9uIGFuZCByZW5hbWUgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgYmVmb3JlIGFjY2Vzc2luZwoKMjAwOS0xMS0wNSAxNDozMTo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiB1c2UgKGRlZmF1bHQpIHRpbWUgaGFuZGxpbmcgb2YgYmFzZXBhcnNlciBjbGFzcwoKMjAwOS0xMC0yOSAxNToxOTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeHVwIGNvbW1lbnRzIHRvIEMtc3R5bGUKCjIwMDktMTAtMjkgMTY6MDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlc2V0IHBhc3N0aHJvdWdoIG1vZGUgdG8gZGVmYXVsdCAoZGlzYWJsZWQpIG9uIGFjdGl2YXRpb24KCjIwMDktMTAtMjkgMTU6MTY6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuc3VyZSBidWZmZXIgbWV0YWRhdGEgaXMgd3JpdGFibGUKCjIwMDktMTAtMjggMTQ6MDY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogZml4L2VuaGFuY2UgRElTQ09OVCBtYXJraW5nCgkgIEluIHBhcnRpY3VsYXIsIGNvbnNpZGVyIERJU0NPTlQgPT0gIXN5bmMsIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBxdWVyeQoJICBzeW5jIHN0YXRlLCBhcyBpdCBtYXkgd2FudCB0byBwZXJmb3JtIGFkZGl0aW9uYWwgY2hlY2tzIGRlcGVuZGluZwoJICBvbiB3aGV0aGVyIHN5bmMgd2FzIGFjaGlldmVkIGVhcmxpZXIgb24uCgkgIEFsc28gYXJyYW5nZSBmb3Igc3ViY2xhc3MgdG8gcXVlcnkgd2hldGhlciBsZWZ0b3ZlciBkYXRhIGlzIGJlaW5nIGRyYWluZWQuCgoyMDA5LTExLTIzIDE1OjQ4OjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCB0aW1lc3RhbXAgaGFuZGxpbmcsIGFuZCBkZWZhdWx0IGNvbnZlcnNpb24KCSAgSW4gcGFydGljdWxhciwgKG9wdGlvbmFsbHkpIHByb3ZpZGUgYmFzZXBhcnNlIHdpdGggYSBub3Rpb24gb2YgZnJhbWVzIHBlciBzZWNvbmQKCSAgKGFuZCB0aGVyZWZvcmUgYWxzbyBmcmFtZSBkdXJhdGlvbikgYW5kIGhhdmUgaXQgdHJhY2sgZnJhbWUgYW5kIGJ5dGUgY291bnRzLgoJICBUaGlzIHdheSwgc3ViY2xhc3MgY2FuIHByb3ZpZGUgYmFzZXBhcnNlIHdpdGggZnBzIGFuZCBoYXZlIGl0IHByb3ZpZGUgZGVmYXVsdAoJICBidWZmZXIgdGltZSBtZXRhZGF0YSBhbmQgY29udmVyc2lvbnMsIHRob3VnaCBzdWJjbGFzcyBjYW4gc3RpbGwgaW5zdGFsbAoJICBjYWxsYmFja3MgdG8gaGFuZGxlIHN1Y2ggaXRzZWxmLgoKMjAwOS0xMC0yOCAxMjowMjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAwOS0xMC0yOCAxMjowMDowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlX2ZpeGVkX2NhcHMgZm9yIHNyYyBwYWQKCSAgQWZ0ZXIgYWxsLCBzdHJlYW0gaXMgYXMtaXMsIGFuZCB0aGVyZSBpcyBsaXR0bGUgbW9sZGluZyB0byBkb3duc3RyZWFtJ3MKCSAgdGFzdGUgdGhhdCBjYW4gYmUgZG9uZS4gIElmIHN1YmNsYXNzIGNhbiBhbmQgd2FudHMgdG8gZG8gc28sIGl0IGNhbgoJICBzdGlsbCBvdmVycmlkZSBhcyBzdWNoLgoKMjAwOS0xMS0yMCAxNzozMjoxMyArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzCgoyMDA5LTEwLTExIDExOjIyOjExICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMDktMjUgMTc6MDI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogZm9yZWdvIChib2d1cykgcGFyc2luZyBvZiBhbHJlYWR5IHBhcnNlZCAocmF3KSBpbnB1dAoKMjAwOS0wOC0wNyAxMzowNzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gZHJhaW5pbmcKCjIwMDktMDgtMDcgMTM6MDY6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBtaW5vciBtZW1vcnkgbGVhawoKMjAwOS0wNy0xNCAxNDowODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IEFkZCBmdW5jdGlvbiBmb3IgdGhlIGJhc2VwYXJzZSBzdWJjbGFzcyB0byBwdXNoIGJ1ZmZlcnMgZG93bnN0cmVhbQoJICBBbHNvIGhhbmRsZSB0aGUgY2FzZSBncmFjZWZ1bGx5IHdoZXJlIHRoZSBzdWJjbGFzcyBkZWNpZGVzIHRvIGRyb3AKCSAgdGhlIGZpcnN0IGJ1ZmZlcnMgYW5kIGhhcyBubyBjYXBzIHNldCB5ZXQuIEl0J3Mgc3RpbGwgcmVxdWlyZWQgdG8KCSAgaGF2ZSB2YWxpZCBjYXBzIHNldCB3aGVuIHRoZSBmaXJzdCBidWZmZXIgc2hvdWxkIGJlIHBhc3NlZCBkb3duc3RyZWFtLgoKMjAwOS0wNy0xNCAxNDowNzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHNlZWsgZXZlbnQgbGVha2luZwoKMjAwOS0wNi0xOCAxMjoxMzoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFESUY6IGRvIG5vdCBzZW5kIGJvZ3VzIHRpbWVzdGFtcHMsIGxlYXZlIHRvIGRvd25zdHJlYW0gKGRlY29kZXIpCgoyMDA5LTA2LTAxIDE1OjUzOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHNhbXBsZSByYXRlIGV4dHJhY3Rpb24gZnJvbSBjb2RlYyBkYXRhCgkgIEluIG9uZSBjYXNlIHdlIGV4dHJhY3RlZCB0aGUgc2FtcGxlIHJhdGUgaW5kZXggZnJvbSB0aGUgY29kZWMgZGF0YQoJICBhbmQgc2F2ZWQgaXQgYXMgc2FtcGxlIHJhdGUgcmF0aGVyIHRoYW4gZ2V0dGluZyB0aGUgcmVhbCBzYW1wbGUKCSAgcmF0ZSBmcm9tIHRoZSB0YWJsZS4gRml4IHRoYXQsIGFuZCBhbHNvIG1ha2Ugc3VyZSB3ZSBkb24ndCBhY2Nlc3MKCSAgbm9uLWV4aXN0YW50IHRhYmxlIGVudHJpZXMgYnkgYWRkaW5nIGEgc21hbGwgaGVscGVyIGZ1bmN0aW9uIHRoYXQKCSAgZ3VhcmRzIGFnYWluc3Qgb3V0LW9mLWJvdW5kcyBhY2Nlc3MgaW4gY2FzZSBvZiBpbnZhbGlkIGlucHV0IGRhdGEuCgoyMDA5LTA2LTAxIDE0OjAyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZSwgYW1ycGFyc2U6IHJlbW92ZSBib2d1cyBnc3RfcGFkX2ZpeGF0ZV9jYXBzKCkgY2FsbHMKCjIwMDktMDYtMDEgMTM6NTY6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BhZ2F0ZSByZXR1cm4gdmFsdWUgb2YgR3N0QmFzZVBhcnNlOjpzZXRfc2lua19jYXBzKCkKCSAgZ3N0X2Jhc2VfcGFyc2Vfc2lua19zZXRjYXBzKCkgcHJlc3VtYWJseSBzaG91bGQgZmFpbCBpZiB0aGUgc3ViY2xhc3MKCSAgcmV0dXJucyBGQUxTRSBmcm9tIGl0cyA6OnNldF9zaW5rX2NhcHMoKSBmdW5jdGlvbi4KCjIwMDktMDYtMDEgMTM6NDc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvbid0IHRyeSB0byBHU1RfTE9HIGFuIGFscmVhZHktZnJlZWQgY2FwcyBzdHJpbmcKCSAgVGhlIHByb3BlciB3YXkgdG8gbG9nIGNhcHMgaXMgdmlhIEdTVF9QVFJfRk9STUFUIGFueXdheS4KCjIwMDktMDYtMDEgMTM6MDU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gb3V0cHV0IGNhcHMsIGFuZCBrZWVwIGNvZGVjX2RhdGEKCSAgQ3JlYXRlIG91dHB1dCBjYXBzIGZyb20gaW5wdXQgY2Fwcywgc28gd2UgbWFpbnRhaW4gYW55IGZpZWxkcyB3ZQoJICBtaWdodCBnZXQgb24gdGhlIGlucHV0IGNhcHMsIHN1Y2ggYXMgY29kZWNfZGF0YSBvciByYXRlIGFuZCBjaGFubmVscy4KCSAgU2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiB3ZSBkb24ndCBoYXZlIGlucHV0IGNhcHMKCSAgb3IgdGhleSBkb24ndCBjb250YWluIHN1Y2ggZmllbGRzLiBXZSBkbyB0aGlzIHBhcnRseSBiZWNhdXNlIHdlIGNhbiwKCSAgYnV0IGFsc28gYmVjYXVzZSBzb21lIG11eGVycyBuZWVkIHRoaXMgaW5mb3JtYXRpb24uIFRhZ3JlYWRiaW4gd2lsbAoJICBhbHNvIGJlIGhhcHB5IGFib3V0IHRoaXMuCgoyMDA5LTA1LTI2IDE5OjQzOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggZGVidWcgY2F0ZWdvcnkKCjIwMDktMDQtMjcgMjI6Mzk6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCAocmVncmVzc2lvbiBpbikgbmV3c2VnbWVudCBoYW5kbGluZwoJICAoYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UpLiAgRml4ZXMgIzU4MDEzMy4KCjIwMDktMDQtMDcgMDQ6NTM6MDIgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHNsaWdodGx5IGJyb2tlbiBidWZmZXItaW4tc2VnbWVudCBjaGVjayAoYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UpCgoyMDA5LTA0LTA1IDAzOjUwOjE5ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBwdXNoIG1vZGUgc2Vla2luZyAoYWFjcGFyc2UsIGFtcnBhcnNlKQoJICBTZW5kaW5nIHRoZSBmbHVzaC1zdGFydCBldmVudCBmb3J3YXJkIGJlZm9yZSB0YWtpbmcgdGhlIHN0cmVhbSBsb2NrIGFjdHVhbGx5CgkgIHdvcmtzLCBpbiBjb250cmFzdCB0byBkZWFkbG9ja2luZyBpbiBkb3duc3RyZWFtIHByZXJvbGxfd2FpdCAoaHVuayAxKS4KCSAgQWZ0ZXIgdGhhdCB3ZSBnZXQgdGhlIGNoYWluIGZ1bmN0aW9uIGJlaW5nIHN0dWNrIGluIGEgYnVzeSBsb29wLiBUaGlzIGlzIGZpeGVkCgkgIGJ5IHVwZGF0aW5nIHRoZSBtaW5pbXVtIGZyYW1lIHNpemUgaW5zaWRlIHRoZSBzeW5jaHJvbml6YXRpb24gbG9vcCBiZWNhdXNlIHRoZQoJICBzdWJjbGFzcyBhc2tzIGZvciBtb3JlIGRhdGEgaW4gdGhpcyB3YXkgKGh1bmsgMikuCgkgIEZpbmFsbHksIHRoaXMgbGVhZHMgdG8gYSB2ZXJ5IHByb2JhYmxlIGNyYXNoIGJlY2F1c2UgdGhlIHN1YmNsYXNzIGNhbiBmaW5kIGEKCSAgdmFsaWQgZnJhbWUgd2l0aCBhIHNpemUgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50bHkgYXZhaWxhYmxlIGRhdGEgaW4gdGhlCgkgIGFkYXB0ZXIuIFRoaXMgbWFrZXMgdGhlIHN1YnNlcXVlbnQgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIgY2FsbCByZXR1cm4gTlVMTCwKCSAgd2hpY2ggaXMgbm90IGV4cGVjdGVkIChodW5rIDMpLgoKMjAwOS0wMy0zMSAxNjowNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRGVsYXkgbmV3c2VnbWVudCBhcyBsb25nIGFzIHBvc3NpYmxlLgoJICBJZiBuZXdzZWdtZW50IGlzIHNlbnQgKHRvbykgZWFybHksIGNhcHMgbWF5IG5vdCB5ZXQgYmUgZml4ZWQvc2V0LAoJICBhbmQgZG93bnN0cmVhbSBtYXkgbm90IGhhdmUgYmVlbiBsaW5rZWQuCgoyMDA5LTAzLTE5IDAxOjE3OjI1ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYnVzeWxvb3Agd2hlbiBzZWVraW5nLiBGaXhlcyAjNTc1Mzg4CgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgYWZ0ZXIgYSBkaXNjb250LCBzZXRfbWluX2ZyYW1lX3NpemUoMTAyNCkgaXMgY2FsbGVkIHdoZW4KCSAgZGV0ZWN0X3N0cmVhbSByZXR1cm5zIEZBTFNFLiBIb3dldmVyLCBkZXRlY3Rfc3RyZWFtIGNhbGxzIGNoZWNrX2FkdHNfZnJhbWUKCSAgd2hpY2ggc2V0cyB0aGUgZnJhbWUgc2l6ZSBvbiBpdHMgb3duIHRvIHNvbWV0aGluZyBsYXJnZXIgdGhhbiAxMDI0LiBUaGlzIGlzIHRoZQoJICBzYW1lIHNpdHVhdGlvbiBhcyBpbiB0aGUgYmVnaW5uaW5nLCBzbyB0aGUgYmFzZSBjbGFzcyBlbmRzIHVwIGNhbGxpbmcKCSAgY2hlY2tfdmFsaWRfZnJhbWUgaW4gYW4gZW5kbGVzcyBsb29wLgoKMjAwOS0wMy0xOSAwMDozMjo0MCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVmYWN0b3IgY2hlY2tfdmFsaWRfZnJhbWUgdG8gZXhwb3NlIGJyb2tlbiBjb2RlCgkgIEp1c3QgbW92aW5nIGNvZGUgYXJvdW5kIGFuZCByZW1vdmluZyBhbiB1bmhlbHBmdWwvbWlzbGVhZGluZyBjb21tZW50LgoKMjAwOS0wMi0yNyAxMToyNDozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVydCBsYXN0IGNoYW5nZSBhbmQgcHJvcGVybHkgZml4CgkgIEJhc2VwYXJzZSBpbnRlcm5hbHkgYnJlYWtzIHRoZSBzZW1hbnRpY3Mgb2YgYSBfY2hhaW4gZnVuY3Rpb24gYnkgY2FsbGluZyBpdCB3aXRoCgkgIGJ1ZmZlcj09TlVMTC4gVGhlIHJlc29uIEkgYmVsaXZlZCBpdCB3YXMgb2theSB0byByZW1vdmUgaXQgd2FzIHRoYXQgdGhlcmUgaXMKCSAgYWxzbyBhbiB1bmNoZWNrZWQgYWNjZXNzIHRvIGJ1ZmZlciBsYXRlciBpbiBfY2hhaW4uIEFjdHVhbGx5IHRoYXQgY29kZSBpcyB3cm9uZywKCSAgYXMgaXQgbW9zdCBwcm9iYWJseSB3YW50cyB0byBzZXQgZGlzY29udCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVyLgoKMjAwOS0wMi0yNiAxMTowMjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBjaGVja3MgZm9yIGJ1ZmZlcj09TlVMTAoJICBBY2NvcmRpZm4gdG8gZG9jcyBmb3IgR3N0UGFkQ2hhaW5GdW5jdGlvbiBidWZmZXIgY2Fubm90IGJlIE5VTEwuIElmIHdlIHdvdWxkCgkgIGxlYXZlIHRoZSBjaGVjaywgd2Ugd291bGQgYWxzbyBuZWVkIG1vcmUgc3VjaCBjaGVjayBiZWxvdy4KCjIwMDktMDItMTEgMDA6MTU6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBsaWNlbnNlIHNwZWNpZmllZCBpbiBwbHVnaW4gZGV0YWlscy4KCjIwMDktMDEtMzAgMTg6MTg6MTAgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbi4KCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24gaW4gYm90aAoJICBjb3BpZXMgb2YgR3N0QmFzZVBhcnNlCgoyMDA5LTAxLTIzIDE2OjAwOjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgTG9nIGFhYyBkZXRhaWxzIGZvdW5kIGluIGNvZGVjX2RhdGEuCgoyMDA4LTExLTEzIDE3OjI0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgoyMDA4LTExLTEzIDE1OjIwOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgoyMDA4LTExLTEzIDE0OjIxOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgoyMDA4LTExLTEzIDEyOjU5OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmg6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoKMjAxMS0wMy0yMCAwMTowODozOCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogTWFrZSBzcmNfcXVlcnkgTVQtc2FmZQoJICBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBlbGVtZW50IG1pZ2h0IGJlIGdvaW5nIGRvd24gd2hpbGUgdGhlIGV2ZW50IGFycml2ZXMKCjIwMTEtMDQtMDggMTU6MjI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBVbnJlZiBldmVudCBpZiB0aGUgcGFyZW50IGVsZW1lbnQgZGlzYXBwZWFyZWQKCjIwMTEtMDQtMDggMTU6MjI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogVW5yZWYgZXZlbnQgaWYgdGhlIHBhcmVudCBlbGVtZW50IGRpc2FwcGVhcmVkCgoyMDExLTAzLTIxIDE2OjA0OjM0ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IE1ha2UgdXBzdHJlYW0gZXZlbnRzIE1ULXNhZmUKCjIwMTEtMDMtMjEgMTY6MDQ6MzQgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IE1ha2UgdXBzdHJlYW0gZXZlbnRzIE1ULXNhZmUKCjIwMTEtMDQtMDggMTU6MjA6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwOiBVbnJlZiBldmVudHMgaWYgdGhlIHBhcmVudCBlbGVtZW50IGRpc2FwcGVhcmVkCgoyMDExLTAxLTA2IDE4OjI0OjM2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwbWFuYWdlcjogZml4IHBhZCBjYWxsYmFja3Mgc28gdGhleSBoYW5kbGUgd2hlbiBwYXJlbnQgZ29lcyBhd2F5CgkgIDEpIFdlIG5lZWQgdG8gbG9jayBhbmQgZ2V0IGEgc3Ryb25nIHJlZiB0byB0aGUgcGFyZW50LCBpZiBzdGlsbCB0aGVyZS4KCSAgMikgSWYgaXQgaGFzIGdvbmUgYXdheSwgd2UgbmVlZCB0byBoYW5kbGUgdGhhdCBncmFjZWZ1bGx5LgoJICBUaGlzIGlzIG5lY2Vzc2FyeSBpbiBvcmRlciB0byBzYWZlbHkgbW9kaWZ5IGEgcnVubmluZyBwaXBlbGluZS4gSGFzIGJlZW4KCSAgb2JzZXJ2ZWQgd2hlbiBhIHN0cmVhbWluZyB0aHJlYWQgaXMgZG9pbmcgYSBidWZmZXJfYWxsb2MoKSB3aGlsZSBhbgoJICBhcHBsaWNhdGlvbiB0aHJlYWQgc2VuZHMgYW4gZXZlbnQgb24gYSBwYWQgZnVydGhlciBkb3duc3RyZWFtLCBhbmQgZnJvbQoJICB3aXRoaW4gYSBwYWQgcHJvYmUgKGhvbGRpbmcgU1RSRUFNX0xPQ0spIGNhcnJpZXMgb3V0IHRoZSBwaXBlbGluZSBwbHVtYmluZwoJICB3aGlsZSB0aGUgc3RyZWFtaW5nIHRocmVhZCBoYXMgaXRzIGJ1ZmZlcl9hbGxvYygpIGluIHByb2dyZXNzLgoKMjAxMC0xMS0yNiAxNToyMDowNCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBtYWtlIGl0ZXJhdGVfaW50ZXJuYWxfbGlua3MgTVQtc2FmZQoKMjAxMS0wNC0wOCAxNDozNTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIFJldmVydCAiUHVsc2VzaW5rOiBBbGxvdyBjaHVua3MgdXAgdG8gYnVmc2l6ZSBpbnN0ZWFkIG9mIHNlZ3NpemUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWUyYzE0NjdhZTA0MmEzYzZiYjFhNmJjMGMwN2FlZmYxM2VjNWVkYi4KCSAgVGhlIGNvbW1pdCBjYXVzZXMgcHVsc2VzaW5rIHRvIGlnbm9yZSB0aGUgbGF0ZW5jeS10aW1lIGJhc2VhdWRpb3NpbmsgcHJvcGVydHkuCgoyMDExLTA0LTA4IDExOjEzOjA3ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIHJ0cHNwZWV4cGF5OiBEbyBub3QgdHJhbnNtaXR0IHNhbXBsZXMgd2l0aCBHQVAgZmxhZwoJICBJZiB3ZSBnZXQgR0FQIHNhbXBsZXMsIHRoZXJlIGlzIG5vIG5lZWQgdG8gdHJhbnNtaXR0IGl0LgoJICBJbiBzb21lIHNpdHVhdGlvbnMsIG1pY3JvcGhvbmUgaXMgbXV0ZWQsIHdlIGNhbiBkcm9wIG5ldCB0cmFmZmljawoJICB1c2FnZSB0byB+MSBrYml0L3MuIFdpdGhvdXQgcGF0Y2ggaXQgd2lsbCBzdGF5IH4yMCBrYml0L3MKCjIwMTEtMDQtMDggMTE6MTE6NTggKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogVXNlIHNwZWV4IGludGVybiBzaWxlbmNlIGRldGVjdGlvbgoJICBTcGVleCBoYXMgYnVpbGQgaW4gc2lsZW5jZSBkZXRlY3Rpb24uIElmIHNwZWV4X2VuY29kZV9pbnQgcmV0dXJucyAwLAoJICB0aGFuIHRoZXJlIGlzIHNpbGVuY2UgYW5kIHNhbXBsZSBkbyBub3QgbmVlZCB0byBiZSB0cmFuc21pdHRlZC4KCSAgVGhpcyB3b3JrIG9ubHkgaWYgdmJyPTEgYW5kIGR0eD0xIG9wdGlvbmFzIGFyZSBlbmFibGVkLgoJICBTbyBpZiB3ZSBnZXQgMCwgd2UgYWRkIEdBUCBmbGFnIHRvIHRoZSBzYW1wbGUuCgoyMDExLTA0LTA3IDE5OjA0OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkgIHJ0cDogcG9ydCBzb21lIHBheS9kZXBheWxvYWRlcnMKCjIwMTEtMDQtMDUgMTk6MTU6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBoYW5kbGUgc2NhdGhlciBnYXRoZXIgZnJvbSBidWZmZXJzCgkgIEl0ZXJhdGUgdGhlIG1lbW9yeSBibG9ja3Mgb24gdGhlIGJ1ZmZlciBhbmQgc2VuZCB0aGVtIHVzaW5nIHNlbmRtc2cuCgoyMDExLTA0LTA1IDE3OjI2OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHJ0cGRlYzogcmVzZXQgc3RydWN0dXJlIGJlZm9yZSB1c2UKCjIwMTEtMDQtMDUgMTc6MjA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jCgoyMDExLTA0LTA1IDE3OjEyOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgKiBjb250cm9sIGNvcnJlY3RseQoJICBQYXJzZSBzZXNzaW9uIGNvbnRyb2wgYXR0cmlidXRlcyB3aGVuIG5vIG1lZGlhIGNvbnRyb2wgYXR0cmlidXRlIGlzCgkgIHByZXNlbnQuIFRocmVhdCAqIGNvbnRyb2wgYXR0cmlidXRlcyBhcyBhbiBlbXB0eSBzdHJpbmcsIGp1c3QgbGlrZSB0aGUKCSAgc3BlYyBzYXlzLgoJICBGaXhlcyAjNjQ2ODAwCgoyMDExLTA0LTA1IDE3OjA2OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHJ0c3AvdWRwOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDQtMDUgMTQ6Mjg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIEEtTGF3IGFuZCDCtS1MYXcKCSAgRml4ZXMgYnVnICM2NDY1NjcuCgoyMDExLTA0LTA1IDA5OjQ0OjAxICswMjAwICBKb24gTm9yZGJ5IDxqb25vbm9yQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogRml4IGJ1aWxkIHdpdGggamFjayAwLjEyMC4xCgkgIDk1NDQ2MjI2NzRjMGQwYTMxNDdhOWI1MTE0NTE1OWIwMmVlYzY4ZTkgY2hlY2tlZAoJICBmb3IgMC4xMjAuMiBhbmQgbGF0ZXIsIGJ1dCB0aGUgZGVwcmVjYXRpb24gd2FzIGludHJvZHVjZWQgaW4KCSAgMC4xMjAuMQoKMjAxMS0wNC0wNSAxMToxMzozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpOiBtb3JlIHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0wNC0wNSAxMjowNToxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIGRvY3M6IGZpeCBkb2N1ZW1udGF0aW9uIHdhcm5pbmdzIChhbmQgcmVpbmRlbnQpCgoyMDExLTA0LTA0IDE5OjE3OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmk6IHBvcnQgdG8gMC4xMSBBUEkKCjIwMTEtMDQtMDQgMTc6MzQ6MTcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IHVwZGF0ZSBvcmMgZGlzdCBmaWxlcwoKMjAxMS0wNC0wNCAxNTo1NzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxY2NiZTA5IHRvIGMzY2FmZTEKCjIwMTEtMDMtMDEgMTQ6MDg6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFsd2F5cyBjYWxsIHBhX3N0cmVhbV9uZXdfd2l0aF9wcm9wbGlzdCgpCgkgIHBhX3N0cmVhbV9uZXdfd2l0aF9wcm9wbGlzdCgpIGNhbiB0YWtlIGEgTlVMTCBwcm9wbGlzdCwgc28gd2UgZG9uJ3QgbmVlZAoJICB0byBjb25jZXJuIG91cnNlbHZlcyB3aXRoIHdoZXRoZXIgaXQncyBOVUxMIG9yIG5vdC4KCjIwMTEtMDQtMDQgMTE6MzM6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwZXJmb3JtIHBvc3QtZmx1c2ggc3RhdGUgdHJpY2tzIGRvd25zdHJlYW0gdG8gdXBzdHJlYW0KCSAgLi4uIHNvIGRvd25zdHJlYW0gaXMgc2V0IHdoZW4gdXBzdHJlYW0gcmVzdW1lcyBkYXRhIGZsb3cuCgoyMDExLTA0LTA0IDExOjI3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZGlzdHJpYnV0ZSBuZXcgYmFzZV90aW1lIHRvIG1hbmFnZXIgY2hpbGRyZW4gZm9sbG93aW5nIGZsdXNoIHNlZWsKCSAgLi4uIGJ5IGZvcmNpbmcgYSBzdGF0ZSBjaGFuZ2VkIHRvIFBMQVlJTkcsIHdoaWNoIHNob3VsZCBvdGhlcndpc2UgYmUgYQoJICBuby1vcCBhcyBlbGVtZW50cyBzaG91bGQgYWxyZWFkeSBiZSBpbiB0aGF0IHN0YXRlLgoJICBJbiBwYXJ0aWN1bGFyLCBqaXR0ZXJidWZmZXIgbmVlZHMgbmV3IGJhc2VfdGltZSBhcyBzb29uIGFzIHBvc3NpYmxlIHRvIHBlcmZvcm0KCSAgcHJvcGVyIHRpbWluZyAoZS5nLiBlb3MgdGltZW91dCBoYW5kbGluZykgYW5kIGNhbid0IHdhaXQgZm9yIHRoZSBuZXcgYmFzZV90aW1lCgkgIHRoYXQgd2lsbCBiZSBkaXN0cmlidXRlZCB3aGVuIHRoZSB3aG9sZSBwaXBlbGluZSByZXR1cm5zIHRvIFBMQVlJTkcuCgkgIFNlZSBidWcgIzY0NjM5Ny4KCjIwMTEtMDQtMDQgMTE6MzU6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFJldmVydCAiaml0dGVyYnVmZmVyOiByZXNldCBlbGVtZW50IGJhc2VfdGltZSB1cG9uIGZsdXNoIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGY4NGI4YTY5Y2JhOWM1MzhmNTU0Njg2OWNiNGVmNDU0YWQ1ZWZiOWQuCgkgIEZpeGVzIGJ1ZyAjNjQ2Mzk3LgoKMjAxMS0wNC0wNCAxMDozMTo0NCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBTcGVjaWZ5IHRoZSBvbmx5IHBvc3NpYmxlIHN0cmVhbS1mb3JtYXQgZm9yIGgyNjQgaW4gdGhlIHBhZCB0ZW1wbGF0ZXMuCgoyMDExLTA0LTA0IDEwOjA3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgZm9yIGludmFsaWQgKGVtcHR5KSBjbGFzc2lmaWNhdGlvbiBpbmZvIGVudGl0eSBzdHJpbmdzCgkgIE90aGVyd2lzZSB0aGUgY2xhc3NpZmljYXRpb24gc3RyaW5nIGNhbiBiZSBlbXB0eSBhbmQgZ3N0X3RhZ19saXN0X2FkZCgpIHdpbGwKCSAgY29tcGxhaW4gb3IgaGF2ZSBhIFwwIGluIHRoZSBmaXJzdCBmb3VyIGJ5dGVzLCB3aGljaCBpcyB3cm9uZyB0b28uCgoyMDExLTA0LTA0IDEwOjAxOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogWWVhciAwIGlzIG5vdCBhIHZhbGlkIHllYXIgZm9yIEdEYXRlIGFuZCB0aGUgcHJvbGVwdGljIGdyZWdvcmlhbiBjYWxlbmRhcgoKMjAxMS0wNC0wMSAxMzoxODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE1FVEFEQVRBX0JMT0NLX1BJQ1RVUkUgYmxvY2tzIGZvciBHU1RfVEFHX0lNQUdFIGFuZCBHU1RfVEFHX1BSRVZJRVdfSU1BR0UKCjIwMTEtMDQtMDEgMTE6MzM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyWzJdOiBVc2Ugb3JjX21lbXNldCgpIGluc3RlYWQgb2YgbWVtc2V0KCkKCjIwMTEtMDEtMTkgMTg6MDY6NDUgLTA3MDAgIExhbmUgQnJvb2tzIDxkaXJqdWRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIG9wdGlvbiBmb3IgYWxwaGEgY2hhbm5lbCBmb3JtYXRzCgoyMDExLTAxLTE5IDEyOjA3OjE3IC0wNzAwICBMYW5lIEJyb29rcyA8ZGlyanVkQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IEFkZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIG9wdGlvbiBmb3IgYWxwaGEgY2hhbm5lbCBmb3JtYXRzCgkgIFRoaXMgb3B0aW9uIGFsbG93cyB0aGUgdmlkZW9taXhlcjIgZWxlbWVudCB0byBvdXRwdXQgYSB2YWxpZCBhbHBoYQoJICBjaGFubmVsIHdoZW4gdGhlIGlucHV0cyBjb250YWluIGEgdmFsaWQgYWxwaGEgY2hhbm5lbC4gVGhpcyBhbGxvd3MKCSAgbWl4aW5nIHRvIG9jY3VyIGluIG11bHRpcGxlIHN0YWdlcyBzZXJpYWxseS4KCSAgVGhlIGZvbGxvd2luZyBwaXBlbGluZSBzaG93cyBhbiBleGFtcGxlIG9mIHN1Y2ggYSBwaXBlbGluZToKCSAgZ3N0LWxhdW5jaCB2aWRlb3Rlc3RzcmMgYmFja2dyb3VuZC1jb2xvcj0weDAwMDAwMCBwYXR0ZXJuPWJhbGwgISB2aWRlby94LXJhdy15dXYsZm9ybWF0PVwoZm91cmNjXClBWVVWICEgdmlkZW9taXhlcjIgYmFja2dyb3VuZD10cmFuc3BhcmVudCBuYW1lPW1peDEgISB2aWRlb21peGVyMiBuYW1lPW1peDIgISBmZm1wZWdjb2xvcnNwYWNlICEgYXV0b3ZpZGVvc2luayAgdmlkZW90ZXN0c3JjICEgdmlkZW8veC1yYXcteXV2LGZvcm1hdD1cKGZvdXJjY1wpQVlVViAhIG1peDIuCgkgIFRoZSBmaXJzdCB2aWRlb3Rlc3RzcmMgaW4gdGhpcyBwaXBlbGluZSBjcmVhdGVzIGEgbW92aW5nIGJhbGwgb24gYQoJICB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLiBJdCBpcyB0aGVuIHBhc3NlZCB0byB0aGUgZmlyc3QgdmlkZW9taXhlcjIuCgkgIFByZXZpb3VzbHksIHRoaXMgdmlkZW9taXhlcjIgd291bGQgaGF2ZSBmb3JjZWQgdGhlIGFscGhhIGNoYW5uZWwgdG8KCSAgMS4wIGFuZCBnaXZlbiBhIGJhY2tncm91bmQgb2YgY2hlY2tlciwgYmxhY2ssIG9yIHdoaXRlIHRvIHRoZQoJICBzdHJlYW0uIFdpdGggdGhpcyBwYXRjaCwgaG93ZXZlciwgeW91IGNhbiBub3cgc3BlY2lmeSB0aGUgYmFja2dyb3VuZAoJICBhcyB0cmFuc3BhcmVudCwgYW5kIHRoZSBhbHBoYSBjaGFubmVsIG9mIHRoZSBpbnB1dCB3aWxsIGJlCgkgIHByZXNlcnZlZC4gVGhpcyBhbGxvd3MgZm9yIGZ1cnRoZXIgbWl4aW5nIGRvd25zdHJlYW0sIGFzIGlzIHNob3duIGluCgkgIHRoZSBhYm92ZSBwaXBlbGluZSB3aGVyZSB0aGUgYSBzZWNvbmQgdmlkZW9taXhlcjIgaXMgdXNlZCB0byBtaXggaW4gYQoJICBiYWNrZ3JvdW5kIG9mIGFuIHNtcHRlIHZpZGVvdGVzdHNyYy4gU28gdGhlIHJlc3VsdCBpcyBhIGJhbGwgaG92ZXJpbmcKCSAgb3ZlciB0aGUgc21wdGUgdGVzdCBzb3VyY2UuIFRoaXMgY291bGQsIG9mIGNvdXJzZSwgaGF2ZSBiZWVuCgkgIGFjY29tcGxpc2hlZCB3aXRoIGEgc2luZ2xlIG1peGVyIGVsZW1lbnQsIGJ1dCBzdGFnZWQgbWl4aW5nIGlzIHVzZWZ1bAoJICB3aGVuIGl0IGlzIG5vdCBjb252ZW5pZW50IHRvIG1peCBhbGwgdmlkZW8gYXQgb25jZSAoZS5nLiBhIHBpcGVsaW5lCgkgIHdoZXJlIGEgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBiaW4gZXhpc3QgYW5kIGFyZSBtaXhlZCBhdCB0aGUgZmluYWwKCSAgb3V0cHV0LCBidXQgdGhlIGZvcmVncm91bmQgYmluIG5lZWRzIGFuIGludGVybmFsIG1peGVyIHRvIGNyZWF0ZQoJICB0cmFuc2l0aW9ucyBiZXR3ZWVuIGNsaXBzKS4KCSAgRml4ZXMgYnVnICM2Mzk5OTQuCgoyMDExLTAzLTMxIDEzOjI1OjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhbHNvIHVuY29yayBkdXJpbmcgRU9TIHdhaXRpbmcgKGFuZCBhZnRlciBFT1MgaXMgcmVuZGVyZWQpCgkgIFB1bHNlc2luayB3YXMgcmVjZW50bHkgY2hhbmdlZCB0byBkZWZlciB1bmNvcmtpbmcgdW50aWwgdGhlcmUgaXMgZGF0YQoJICB0byB3cml0ZS4gVGhpcyBjb25kaXRpb24gd2lsbCBob3dldmVyIG5ldmVyIG9jY3VyIHdoZW4gRU9TIGluIGJlaW5nCgkgIHJlbmRlcmVkIChzaW5jZSB0aGF0IG1hcmtzIHRoZSBlbmQgb2YgZGF0YSkuIENoYW5naW5nIHRvIFBBVVNFRCBzdGF0ZQoJICB3aGlsZSBFT1MgaXMgYmVpbmcgd2FpdGVkIG9uIHJlc3VsdHMgaW4gYSBoYW5nOiBwYXVzaW5nIGNvcmtzIHRoZQoJICBzdHJlYW0sIHdoaWNoIHdpbGwgbmV2ZXIgYmUgdW5kb25lIHNpbmNlIHRoZXJlIGlzIG5vIG1vcmUgZGF0YSB3aGVuCgkgIGdvaW5nIGJhY2sgdG8gUExBWUlORy4gSWYgcHVsc2VzaW5rIGlzIHRoZSBjbG9jayBwcm92aWRlciwgZGVhZGxvY2sKCSAgZW5zdWVzIHNpbmNlIHRpbWUgZG9lc24ndCBjb250aW51ZSBpbiBjb3JrZWQgc3RhdGUgYW5kIHRoZSBjbG9jayBpZAoJICBmb3IgRU9TIHdhaXQgbmV2ZXIgZmlyZXMuCgkgIEZpeGVzICM2NDU5NjEuCgoyMDExLTAzLTI5IDE2OjMzOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IERvbid0IHRyeSB0byByZXF1ZXN0IHRoZSBzYW1lIHJlcXVlc3QgcGFkIHR3aWNlCgoyMDExLTAzLTI4IDIzOjQ2OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBmaXggaXNzdWVzIHdpdGggbGFyZ2UgbWV0YWRhdGEgYmxvY2tzIHdoZW4gc3RyZWFtaW5nIHVuZnJhbWVkIGZsYWMKCSAgUGFyc2UgbWV0YWRhdGEgYmxvY2tzIHdoZW4gaGFuZGxpbmcgdW5wYXJzZWQgZmxhYyBpbiBwdXNoIG1vZGUuIFRoaXMKCSAgd29ya3MgYXJvdW5kIGEgYnVuY2ggb2YgaXNzdWVzIHdpdGggdGhlIGZsYWMgZGVjb2RlciB3aGVuIGhhbmRsaW5nCgkgIG1ldGFkYXRhIGJsb2NrcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgbWF4LiBmbGFjIGZyYW1lc2l6ZSwgd2hpY2gKCSAgY292ZXJhcnQgYmxvY2tzIG9mdGVuIGFyZS4gV2UgbmVlZCB0byBoYXZlIGFsbCB0aGUgZGF0YSBmb3IgdGhlc2UKCSAgYmxvY2tzIGF2YWlsYWJsZSB3aGVuIHdlIHBhc3MgZGF0YSB0byBsaWJmbGFjLgoJICBodHRwOi8vZ3N0cmVhbWVyLWRldmVsLjk2NjEyNS5uNC5uYWJibGUuY29tL0ZsYWMtZmlsZXMtdGhhdC13aWxsLXBsYXliYWNrLWJ1dC1ub3Qtc3RyZWFtLXRkMzMzODE5OC5odG1sI2EzMzk1Mjc2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY3NjkKCjIwMTEtMDMtMjggMjE6MDU6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHBsdWdpbnM6IHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTEtMDMtMjggMjA6NTA6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExLWZkbwoKMjAxMS0wMy0yNyAyMTozOTo1MCArMDIwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogRG8gbm90IGJ1aWxkIGFuIGluZGV4IGlmIHVwc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBBbiBpbmRleCBpcyBub3QgdXNlZnVsIGlmIHVwc3RyZWFtIGNhbm5vdCBoYW5kbGUgc2Vla3MgYW5kIGJ1aWxkaW5nIGl0CgkgIGZvciBpbmZpbml0ZSBmaWxlcywgZm9yIGluc3RhbmNlIEZMViBzdHJlYW1zLCByZXN1bHRzIGluIGEgbWVtb3J5IGxlYWsuCgoyMDExLTAzLTI3IDAxOjE5OjU4ICswMzAwICBBbGV4ZXkgQ2hlcm5vdiA8NGVybm92QGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5oOgoJICB2NGwyOiBuZXcgdjRsMnJhZGlvIGVsZW1lbnQgdG8gY29udHJvbCBhbmFsb2cgcmFkaW8gZGV2aWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMTE4CgoyMDExLTAzLTI1IDIyOjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTkzYjcxNyB0byAxY2NiZTA5CgoyMDExLTAzLTI1IDE0OjU2OjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI3N2UyYmYgdG8gMTkzYjcxNwoKMjAxMS0wMy0yNSAxMjo1Mzo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICBjYWlybzogZml4IHRoZSBuYW1lIG9mIHRoZSAqLW1hcnNoYWxsLmxpc3QgZmlsZSB0byB1bmJyZWFrIG1ha2UgZGlzdGNoZWNrCgoyMDExLTAzLTI1IDA5OjMxOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDg4MTRiNiB0byBiNzdlMmJmCgoyMDExLTAzLTI1IDA5OjA2OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFhYTI4NiB0byBkODgxNGI2CgoyMDExLTAzLTI1IDAwOjEwOjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiByZWZhY3RvciBwcm9jZXNzaW5nIGxvb3AgZm9yIGJsb2NrIGJhc2VkIG9wZXJhdGlvbgoJICBQcmV2aW91c2x5IHRoZSBjaGFpbiBmdW5jdGlvbiB3YXMgd29ya2luZyBzYW1wbGUgZnJhbWUgYmFzZWQuIEluIGVhY2ggY3ljbGUgaXQKCSAgd2FzIGNoZWNraW5nIGlmIGl0IGlzIHRpbWUgdG8gcnVuIGEgZmZ0IG9yIGlmIGl0IGlzIHRpbWUgdG8gc2VuZCBhIG1lc3NhZ2UuCgkgIE5vdyB3ZSBjaGFuZ2VkIHRoZSBkYXRhIHRyYW5zZm9ybSBmdW5jdGlvbnMgdG8gd29yayBvbiBhIGJsb2NrIG9mIGRhdGEgYW5kCgkgIGNhbGN1bGF0ZSB0aGUgbWF4IGxlbmd0aCB1bnRpbCBlaXRoZXIge2VuZC1vZi1kYXRhLCBkby1mZnQsIGRvLW1zZ30uIFRoaXMgYWxsb3dzCgkgIHVzIGFsc28gdG8gYXZvaWQgdGhlIGR1cGxpY2F0ZWQgY29kZSBmb3IgdGhlIHNpbmdsZSBhbmQgbXVsdGktY2hhbm5lbCBjYXNlIChhcwoJICB0aGUgdHJhbnNmb3JtZXJzIGhhdmUgdGhlIHNhbWUgc2lnbmF0dXJlIG5vdykuCgoyMDExLTAzLTI0IDIzOjQ3OjMzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGphY2s6IHVuYnJlYWsgdGhlIGJ1aWxkIGZvciBqYWNrMiB1c2VycwoJICBKYWNrMiAodmVyc2lvbnMgMS5YLlgpIGRvZXMgb25seSBoYXZlIHRoYXQgQVBJIGluIHN2bi4gTGltbWl0IHRoZSB1c2Ugb2YgdGhlIG5ldwoJICBBUEkgZm9yIGphY2sxIHZlcnNpb25zLgoKMjAxMS0wMy0yNCAxODo0OToxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWVjNmI5IHRvIDZhYWEyODYKCjIwMTEtMDMtMjQgMTQ6MTQ6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZml4IHRoZSBlcnJvciBhY2N1bXVsYXRpb24gYW5kIGZyYW1lc190b2RvIGhhbmRsaW5nCgkgIEV2ZW4gdGhvdWdoIHdlIHdyYXAgYXJvdW5kIHRoZSBhY2N1bXVsYXRlZCBzZWNvbmQsIHdlIHN0aWxsIG5lZWQgdG8gYWRkIHRoZQoJICBlcnJvciBpbiB0aGUgc2FtZSBjeWNsZS4gSW5jcmVhc2UgdGhlIHRvZG8gaW4gdGhlIHNhbWUgY29uZGl0aW9uYWwgYXMgYWZ0ZXJ3YXJkcwoJICB0aGUgYWNjdW11bGF0ZWQgZXJyb3Igd2lsbCBiZSBiZWxvdyBvbmUgc2Vjb25kLgoKMjAxMS0wMy0yNCAxMzo1MzoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBmaXggYnJva2VuIGNvZGUgcmVzdWx0aW5nIGZvciBhIHdyb25nIHNwbGl0dXAgb2YgY2hhbmdlcwoKMjAxMS0wMy0yMiAxNjoyOTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogc2ltcGxpZnkgdGhlIGhhdmVfaW50ZXJ2YWwgY2FsY3VsYXRpb24KCSAgTW92ZSBzb21lIG9mIHRoZSBjb25kaXRpb25zIHRvIHRoZSBwbGFjZXMgd2hlcmUgdGhlIGRlcGVuZGVudCB2YXJpYWJsZXMgY2hhbmdlLgoKMjAxMS0wMy0yMiAxNjoyNjo0NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiB1c2UgbG9jYWwgdmFyIGZvciBpbnB1dF9kYXRhIGZ1bmN0aW9uCgkgIEF2b2lkIGRlcmVmZXJlbmNpbmcgdGhlIGlucHV0X2RhdGEgZnJvbSB0aGUgaW5zdGFuY2UgZnJvbSB3aXRoaW4gYW4gaW5uZXIgbG9vcC4KCjIwMTEtMDMtMjMgMTY6MzQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleGRlYzogR2V0IGFuZCB1c2Ugc3RyZWFtaGVhZGVyIGZyb20gdGhlIGNhcHMgaWYgcG9zc2libGUKCSAgVGhpcyBhbGxvd3MgcGxheWJhY2sgb2Ygc3RyZWFtcyB3aGVyZSB0aGUgc3RyZWFtaGVhZGVyIGJ1ZmZlcnMKCSAgd2VyZSBkcm9wcGVkIGZyb20gdGhlIHN0cmVhbSBmb3Igc29tZSByZWFzb24uCgoyMDExLTAzLTIyIDE5OjM2OjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIEZpeGVzICM0MzI2MTIuCgoyMDExLTAzLTIyIDE5OjM2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBGaXhlcyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxOTozNTo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBTZWUgYnVnICM0MzI2MTIuCgoyMDExLTAzLTIyIDEyOjUzOjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKQoJICBjbGVhbmVkIHRoZSByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkgaW4gY29uZmlndXJlLmFjCgoyMDExLTAzLTE4IDE5OjM0OjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbjogd2luZ28gc2lnbmVkIGNvbW1lbnQKCjIwMTEtMDMtMTYgMTA6NDM6NDcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFja2F1ZGlvc2luazogRml4IHR5cG8gZnJvbSA5NTQ0NjIyNjc0YzBkMGEzMTQ3YTliNTExNDUxNTliMDJlZWM2OGU5CgoyMDExLTAzLTE2IDA5OjM4OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBNYXJrIHRhZyBtYXBwaW5nIHRhYmxlcyBhcyBzdGF0aWMgY29uc3QKCjIwMTEtMDMtMTYgMDk6Mzc6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXNlIEFSVElTVCBpbnN0ZWFkIG9mIEFVVEhPUiBmb3IgR1NUX1RBR19BUlRJU1QKCjIwMTEtMDMtMTYgMDk6MzU6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogVXNlIEFSVElTVCBNYXRyb3NrYSB0YWcgaW5zdGVhZCBvZiBBVVRIT1IgZm9yIEdTVF9UQUdfQVJUSVNUCgkgIEFVVEhPUiBvbmx5IGV4aXN0ZWQgaW4gYW4gb2xkIHZlcnNpb24gb2YgdGhlIHNwZWMgYW5kIEFSVElTVCBpcwoJICB0aGUgbmV3IHJlcGxhY2VtZW50IGZvciB0aGlzLiBXZSBhcmUgc3RpbGwgcmVhZGluZyBib3RoIHRvIHN0aWxsCgkgIGJlIGNvbXBhdGlibGUgd2l0aCBvbGQgZmlsZXMuCgkgIEZpeGVzIGJ1ZyAjNjQ0ODc1LgoKMjAxMS0wMy0xNSAyMDoxOTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB0ZXN0czogZW5hYmxlIG1vcmUgZm9ybWF0cyBpbiB2aWRlb2ZpbHRlciB1bml0IHRlc3QsIGNoZWNrIG1vcmUgcmVzb2x1dGlvbnMKCjIwMTEtMDMtMTQgMTk6MTQ6MDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogRml4IGJ1ZmZlciBvdmVyZmxvdyBidWcgZm9yIG9kZCByZXNvbHV0aW9ucyBhbmQgWTQyMiBjb2xvcnNwYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NzczCgoyMDExLTAzLTE1IDE5OjM2OjAxICswMjAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogc2lsZW5jZSB3YXJuaW5nIG1lc3NhZ2Ugd2hlbiBhcHByb3ByaWF0ZQoJICBJZiB3ZSBkaWQgbm90IGtub3cgaG93IG1hbnkgZnJhbWVzIHRvIGV4cGVjdCwgdGhlbiB3ZSBnZXQgYW4gdW5leHBlY3RlZAoJICBlbmQgb2Ygc3RyZWFtIHdoZW4gdHJ5aW5nIHRvIGRlY29kZSBtb3JlIGZyYW1lcyB0aGF0IGFyZSB0aGVyZSwgaWYgdGhlcmUKCSAgYXJlIGxlZnRvdmVyIGJpdHMgdG8gcGFkIHRvIHRoZSBuZXh0IGJ5dGUKCjIwMTEtMDMtMTQgMTk6MTQ6MDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIHN1cHBvcnQgZm9yIFlVWTIsIFVWWVYgYW5kIFlWWVUgY29sb3JzcGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDc3MwoKMjAxMS0wMy0xNSAwOTo0MzozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB0ZXN0czogaW4gdmlkZW9maWx0ZXIgdW5pdCB0ZXN0IGFsc28gY2hlY2sgd2l0aCAnb2RkJyB3aWR0aHMgYW5kIGhlaWdodHMKCSAgQW5kIG9ubHkgdXNlIG9uZSB0ZXN0IHN1aXRlLgoKMjAxMS0wMy0xNCAxOToyODowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IEFsd2F5cyBwcm9jZXNzIHRoZSBudW1iZXIgb2YgZnJhbWVzIHBlciBwYWNrZXQgYXMgc3BlY2lmaWVkIGluIHRoZSBoZWFkZXIKCSAgTG9va2luZyBhdCB0aGUgcmVtYWluaW5nIGJpdHMgaW4gdGhlIGJpdHN0cmVhbSBhZnRlciBkZWNvZGluZyBhCgkgIHNpbmdsZSBmcmFtZSBjYW4ndCBiZSB1c2VkIGFzIGxvb3AgY29uZGl0aW9uLiBUaGUgcmVtYWluaW5nCgkgIGJpdHMgbWlnaHQgbm90IGdpdmUgYSBjb21wbGV0ZSBmcmFtZSBhbmQgdGhlIHNwZWV4IGRlY29kZXIgd2lsbAoJICB0aGVuIG91dHB1dCBub3RoaW5nIGJ1dCBhY2Nlc3MgdW5pbml0aWFsaXplZCBtZW1vcnksIHdoaWNoIGxlYWRzCgkgIHRvIHZhbGdyaW5kIHdhcm5pbmdzLgoJICBGaXhlcyBidWcgIzY0NDY2OS4KCjIwMTEtMDMtMTQgMTU6NDY6NTAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJldHVybiBUUlVFIGZyb20gc2luayBwYWQgZXZlbnQgZnVuY3Rpb24gZm9yIHRhZyBldmVudHMsIHdoaWNoIGFyZSBoYW5kbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ3MzAKCjIwMTEtMDMtMTIgMDA6NDQ6MzEgKzA1MzAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQmV0dGVyIGZpeCBmb3IgZGVhZGxvY2sgb24gZmFpbGVkIGNvbm5lY3QKCSAgVGhpcyByZXZlcnRzIHRoZSBwcmV2aW91cyBmaXggdGhhdCB3b3VsZCBjYXVzZSBhIGRvdWJsZS11bmxvY2sgd2hlbiB0aGUKCSAgc3RyZWFtIGNvbm5lY3QgZmFpbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NTEwCgoyMDExLTAzLTExIDIzOjA2OjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXggZGVhZGxvY2sgaWYgY29ubmVjdGluZyB0byBQQSBmYWlscwoJICBDb21taXQgZGQ0ZWMyMmUgaW50cm9kdWNlZCBhIGRlYWRsb2NrIGluIHRoZSBmYWlsdXJlIHBhdGggd2hpbGUgdHJ5aW5nCgkgIHRvIGNvbm5lY3QgdG8gUHVsc2VBdWRpby4gVGhpcyBtYWtlcyBzdXJlIHdlIGRyb3AgdGhlIGxvY2sgb24gdGhlCgkgIHJlc291cmNlIG11dGV4IHRvIGF2b2lkIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ1MTAKCjIwMTEtMDMtMTEgMTY6NTk6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogb3JkZXIgc3RhdGUtdGVzdCBibGFja2xpc3QgYW5kIGFkZCBqYWNrIGVsZW1lbnRzCgkgIEphY2sgYXVkaW8gc3JjL3NpbmsgZWxlbWVudHMgcmVjZW50bHkgZ290IG1vdmVkIGZyb20gYmFkIGFuZCBzaG91bGQgYmUgZXhjbHVkZWQKCSAgZnJvbSB0aGUgdGVzdCAobGlrZSB0aGUgb3RoZXIgZGV2aWNlIHNwZWNpZmljIHNvdXJjZSBhbmQgc2lua3MpLgoJICBGaXhlcyAjNjQ0Mjg4CgoyMDExLTAzLTExIDEzOjQ3OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIDo6c2VuZF9ldmVudCBmb3Igbm9uLXNlZWsgZXZlbnRzCgoyMDExLTAzLTExIDEzOjQ2OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpeCByZWZjb3VudCBpc3N1ZXMgd2l0aCB0aGUgc2VlayBldmVudAoJICBGaXhlcyBidWcgIzY0Mjk2My4KCjIwMTEtMDMtMTEgMDk6NTQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBkb2NzOiBmaXggcHVsc2VzaW5rIGd0ay1kb2MgbWFya3VwCgoyMDExLTAzLTExIDEwOjI5OjA4ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggYnVpbGQgYWdhaW5zdCBqYWNrIDAuMTIwLjIKCSAgamFja19wb3J0X2dldF90b3RhbF9sYXRlbmN5KCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvciBvZgoJICBqYWNrX3BvcnRfZ2V0X2xhdGVuY3lfcmFuZ2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDQ3NwoKMjAxMS0wMy0xMCAxNDoyOToyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBtb3JlIGNvbW1lbnRzIGFuZCB0dW5lIGFuZCBsb2dnaW5nCgoyMDExLTAzLTEwIDE0OjE1OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGF2b2lkIHVubmVjY2VzYXJ5IGV4dHJhIGZmdCBydW5zCgkgIEJlZm9yZSBpdCB3YXMgcG9zc2libGUgdGhhdCB3ZSBydW4gYW4gZXh0cmEgZmZ0IHdoZW4gdGhlIHRpbWUgZm9yIHNlbmRpbmcgYSBuZXcKCSAgbWVzc2FnZSBpcyBkdWUuIE9ubHkgZG8gdGhpcyBpZiB3ZSBoYXZlIG5vdCBydW4gdGhlIGZmdCBmb3IgdGhlIGludGVydmFsIGF0IGFsbC4KCjIwMTEtMDMtMTAgMTQ6MTI6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogb25seSBzY2FsZSB0aGUgdmVjdG9ycyB0aGF0IHdlIGFyZSBwcm9jZXNzaW5nCgkgIFBoYXNlIGlzIG5vdCBwcm9kdWNlZCBieSBkZWZhdWx0LCBzbyBsZXRzIG5vdCBzY2FsZSBpdCB1bmNvbmRpdGlvbmFsbHkgdG8gc2F2ZSBhCgkgIGZldyBjeWNsZXMuCgoyMDExLTAzLTEwIDE0OjEwOjI1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBwdXQgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIGluc3RhbmNlIHZhcmlhYmxlCgkgIFdoZW4gZnJlZWluZyBkYXRhIHRoZSBmb3JtYXQgbWlnaHQgaGF2ZSBjaGFuZ2VkLiBUaHVzIHdlIG5lZWQgdG8gcmVtZW1iZXIgZm9yCgkgIHdoaWNoIGZvcm1hdCB3ZSBhbGxvY2F0ZWQgbWVtb3J5LgoKMjAxMS0wMy0xMCAxMDoyNzoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiB1cGRhdGUgZG9jIHJldmlldyBzdGFtcAoKMjAxMS0wMy0xMCAxMDoyMjoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogdXNlIGZ1bmN0aW9uIHBvaW50ZXJzIGZvciBkYXRhIHJlYWRlcnMKCSAgRG9uJ3QgY2hlY2sgdGhlIGZvcm1hdCBmb3IgZWFjaCBzYW1wbGUgZnJhbWUgdG8gcmVhZC4gV2UgY2FuIG1ha2UgdGhhdCBkZWNpc3Npb24KCSAgaW4gX3NldHVwIGFscmVhZHkuIFRoaXMgaXMgc3RpbGwgbm90IGlkZWFsIGFzIHdlIGNhbGwgdGhlIGZ1bmN0aW9uIHBlciBmcmFtZS4KCSAgSWRlYWxseSB3ZSBkZXRlcm1pbmUgaG93IG1hbnkgc2FtcGxlcyB3ZSBjYW4gY29weSBhbmQgaGF2ZSBhIGxvb3AgaW4gdGhlIGlucHV0CgkgIHJlYWRlci4gQXMgYW4gYWx0ZXJuYXRpdmUgd2UgbWlnaHQgYWxzbyBjb25zaWRlciB0byB1c2UgdGhlIGZmdCB2YXJpYW50cyBmb3IgdGhlCgkgIHZhcmlvdXMgZm9ybWF0cyBhbmQgbm90IGNvbnZlcnQgdG8gZmxvYXQgZm9yIGFsbCBjYXNlcyAtIHdlIHdvdWxkIHN0aWxsIG5lZWQgdG8KCSAgbWl4IG9yIGRlaW50ZXJsZWF2ZSB0aG91Z2guCgoyMDExLTAzLTA5IDE3OjA3OjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBpbXByb3ZlIHJlY292ZXJ5IGZyb20gZmFpbGVkIHNlZWsKCSAgSW4gY2FzZSBzZXJ2ZXItc2lkZSBmYWlscyB0byBwZXJmb3JtIHNlZWssIGkuZS4gUExBWSBhdCBub24temVybyByZXF1ZXN0ZWQKCSAgcG9zaXRpb24sIHJlY292ZXJ5IHNvIGZhciB3b3VsZCBhcnJhbmdlIGZvciBzdHJlYW1pbmcgdG8gY29udGludWUsIGFsYmVpdAoJICBoYXZpbmcgbG9zdCBwb3NpdGlvbiB0cmFja2luZyBpbiB0aGUgcHJvY2Vzcy4gIFNvLCBxdWVyeSBwb3NpdGlvbiBwcmlvcgoJICB0byBzZWVrIGFuZCB1c2UgdXBvbiBmYWlsZWQgc2Vlay4KCjIwMTEtMDMtMDkgMTY6NTE6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaGFuZGxlIHBvc2l0aW9uIHF1ZXJ5CgoyMDExLTAzLTA5IDE2OjU3OjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiAgbXVsdGktY2hhbm5lbCBzdXBwb3J0CgkgIEFkZCBhIGJvb2xlYW4gbXVsdGktY2hhbm5lbCBwcm9wZXJ0eSB3aXRoIGEgZGVmYXVsdCBvZiBGQUxTRS4gV2hlbiBzZXQgdG8gVFJVRQoJICB0aGUgZWxlbWVudCB3b24ndCBtaXggYWxsIGlucHV0IGNoYW5uZWxzIHRvIG1vbm8sIGJ1dCBpbnN0ZWFkIHJ1biBhIEZGVCBvbiBlYWNoCgkgIGNoYW5uZWwuIEluIHRoYXQgY2FzZSB0aGUgcmVzdWx0IG1lc3NhZ2Ugd291bGQgY29udGFpbiBhIDIgZGltZW5zaW9uYWwgYXJyYXkKCSAgb2YgY2hhbm5lbCB4IGRhdGEgZm9yIG1hZ25pdHVkZSBhbmQgcGhhc2UuCgkgIEFQSTogR3N0U3BlY3RydW06bXVsdGktY2hhbm5lbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkzNDgyCgoyMDExLTAzLTA5IDE2OjU1OjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IG1vcmUgeHJlZnMgaW4gdGhlIGRvY3MKCjIwMTEtMDMtMDkgMTI6NDE6MTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZmFjdG9yIG91dCB0aGUgY29kZSB0aGF0IGFjY3VtdWxhdGVkIHNhbXBsZXMgaW50byB0aGUgcmluZy1idWZmZXIKCSAgVXNlIGEgc2VwYXJhdGUgZnVuY3Rpb24gdG8gcmVhZCBhIHNhbXBsZSBmcmFtZSBpbnRvIGEgcmluZ2J1ZmZlciBzbG90LiBJbiB0aGUKCSAgZnV0dXJlIHdlIGNhbiB1c2UgZm9ybWF0LXNwZWNpZmljIGZ1bmN0aW9uIHBvaW50ZXIgdG8gYXZvaWQgdGhlIHJlb2NjdXJpbmcKCSAgZm9ybWF0IGNoZWNrcy4KCjIwMTEtMDMtMDkgMTI6Mzg6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcHVsbCBmb3JtYXQgdG8gdGVtcCB2YXIgdG8gaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBsaW5lcyB1c2luZyBpdAoKMjAxMS0wMy0wOSAxMjoyMDoxMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBjb2RlIGNsZWFudXAgZm9yIGNvcHlpbmcgZGF0YSB0byByaW5nLWJ1ZmZlcgoJICBSZW5hbWUgZnAgdG8gaXNfZmxvYXQgYW5kIHJlc3RydWN0dXJlIGlmLWVsc2UgcGFydCBmb3IgaGFuZGxpbmcgdGhlIGRpZmZlcmVudCBmb3JtYXRzLgoKMjAxMS0wMy0wOSAxMTo0MDo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogYWRkIGEgR3N0U3BlY3J0dW1DaGFubmVsIGNvbnRleHQgc3RydWN0dXJlCgkgIFdlIG5vdyBrZWVwIHRoZSBmZnQgZGF0YSB0aGF0IGlzIHJlbGF0ZWQgdG8gb25lIGNoYW5uZWwgaW4gYSBzZXBhcmF0ZSBzdHJ1Y3R1cmUKCSAgdG8gcHJlcGFyZSBmb3IgbXVsdGljaGFubmVsIHN1cHBvcnQuIFdlIGFsc28gcmVmYWN0b3IgdGhlIGNvZGUgdG8gb3BlcmF0ZSBtb3JlCgkgIG9mdGVuIG9uIHRoZSBjaGFubmVsIGNvbnRleHQuCgoyMDExLTAzLTA5IDExOjE4OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGNhbGwgdGhlIGluc3RhbmNlIHZhciBzcGVjdHJ1bSBpbnN0ZWFkIG9mIGZpbHRlcgoKMjAxMS0wMy0wOSAxMToxNDozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBkb24ndCB2YWx1ZSB3ZSBhbHJlYWR5IHRvb2sgZnJvbSB0aGUgZ3ZhbHVlCgoyMDExLTAzLTA4IDE3OjI2OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMy0wOCAxNzowMjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgbWV0YTogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTAzLTA4IDE2OjI4OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGFkLWhvYyByZWxlYXNlIGJyYW5jaCAnMC4xMC4yOCcKCj09PSByZWxlYXNlIDAuMTAuMjggPT09CgoyMDExLTAzLTA4IDE1OjQ3OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI4CgkgIEFkLWhvYyByZWxlYXNlIHRvIGZpeCBidWlsZCBpc3N1ZSB3aXRoIG5ld2VyIGtlcm5lbHMuCgoyMDExLTAzLTAzIDAwOjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogcmVtb3ZlIHVubmVjZXNzYXJ5IGxpbnV4L3ZpZGVvZGV2LmggaW5jbHVkZQoJICBDYXVzZXMgY29tcGlsYXRpb24gaXNzdWVzIHdpdGggbmV3ZXIga2VybmVsIGhlYWRlcnMgd2hlcmUgdGhlIG9sZAoJICB2NGwgaW50ZXJmYWNlIGhhcyBiZWVuIHJlbW92ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM3MTYKCjIwMTEtMDMtMDggMTA6MTQ6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW0KCjIwMTEtMDMtMDcgMTY6NTY6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWxzbyBlc3RpbWF0ZSBlb3MgaWYgdmVyeSBuZWFyIGVvcwoKMjAxMS0wMy0wNyAxNjo1NjoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhdm9pZCB0cnlpbmcgdG8gYnVmZmVyIG1vcmUgdGhhbiBpcyBhdmFpbGFibGUuCgkgIFRoYXQgaXMsIGluIGNhc2Ugb2Ygc2hvcnQgKG9yIG5lYXIgZW9zIG9mKSBzdHJlYW0sIGRlYWRsb2NrICh1bnRpbCB0aW1lb3V0KQoJICB3b3VsZCBvY2N1ciB0cnlpbmcgdG8gYnVmZmVyIG1vcmUgdGhhbiBpcyB5ZXQgZm9ydGhjb21pbmcuCgoyMDExLTAzLTA3IDExOjAxOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlc2V0IGVsZW1lbnQgYmFzZV90aW1lIHVwb24gZmx1c2gKCSAgLi4uIHRvIGFycmFuZ2UgZm9yIHByb3Blcmx5IHNjaGVkdWxlZCB0aW1lb3V0IChmb2xsb3dpbmcgc2VlaykuCgoyMDExLTAzLTA3IDEwOjU0OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBBZGQgYSBidXMgaGFuZGxlciB0byB0aGUgZXhhbXBsZSB0byBoYW5kbGUgRU9TL0VSUk9SL1dBUk5JTkcKCSAgQWxzbyBjbGVhbiB1cCB0aGUgcGlwZWxpbmUgcHJvcGVybHkuCgoyMDExLTAzLTA3IDEwOjQ3OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogQWx3YXlzIGRpc3QgdGhlIGNhaXJvIGV4YW1wbGUKCjIwMTEtMDMtMDcgMTA6NDY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGNhaXJvb3ZlcmxheTogVXNlIExEQUREIGluc3RlYWQgb2YgTERGTEFHUyBmb3IgbGlicyBhbmQgYWRkICQoR1NUX0xJQlMpCgoyMDExLTAzLTA1IDIzOjIyOjU4ICswMDAwICBKb24gTm9yZGJ5IDxqb25vbm9yQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IFJlbW92ZSB1bm5lY2Vzc2FyeSBndGsvZ3RrLXgxMSB1c2UgaW4gZXhhbXBsZS4KCSAgVGhpcyByZW1vdmVzIGNvZGUsIGFuZCBhbGxvd3MgdGhlIGV4YW1wbGUgdG8gYmUgdXNlZCBvbiBhbnkgcGxhdGZvcm0uCgkgIEZpeGVzIGJ1ZyAjNjQzOTgxLgoKMjAxMS0wMy0wNCAxODozNzozOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFVzZSAjaWZkZWZzIGZvciBWNEwyX1BJWF9GTVRfUEpQRwoJICBJdCdzIG9ubHkgcmVjZW50bHkgYWRkZWQgdG8ga2VybmVsIGhlYWRlcnMuCgoyMDExLTAyLTIzIDE2OjUwOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IHR1bmUgb3V0cHV0IG1heCBidWZmZXIgc2l6ZSB0byBtYXRlcmlhbAoJICAuLi4gdG8gYXZvaWQgZW5kaW5nIHVwIHdpdGggdG9ucyBvZiBzaG9ydCB0aW1lIGJ1ZmZlcnMgZm9yIGUuZy4gaGlnaCBzYW1wbGUKCSAgcmF0ZSBhdWRpby4KCjIwMTEtMDMtMDQgMTc6MDQ6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGRvbid0IHVzZSBoYXJkY29kZWMgMC4xMAoKMjAxMS0wMy0wNCAxNjozMDozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDMtMDQgMTU6NTA6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgYSBkb2MgZXhhbXBsZSBmb3Igc2V0dGluZyBzdHJlYW0tcHJvcGVydGllcwoKMjAxMS0wMy0wNCAxNTo0MjoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCB0aGUgeG1sIGluIHRoZSBkb2NzCgoyMDExLTAzLTAzIDAwOjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogcmVtb3ZlIHVubmVjZXNzYXJ5IGxpbnV4L3ZpZGVvZGV2LmggaW5jbHVkZQoJICBDYXVzZXMgY29tcGlsYXRpb24gaXNzdWVzIHdpdGggbmV3ZXIga2VybmVsIGhlYWRlcnMgd2hlcmUgdGhlIG9sZAoJICB2NGwgaW50ZXJmYWNlIGhhcyBiZWVuIHJlbW92ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM3MTYKCjIwMTEtMDMtMDIgMjM6MjE6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBUaGUgZXhhbXBsZSBhbHdheXMgcmVxdWlyZXMgZ3RrLXgxMQoJICBDaGVjayBmb3IgZ3RrLXgxMSBhbmQgb25seSBidWlsZCB0aGUgZXhhbXBsZSBpZiBpdCdzIGF2YWlsYWJsZS4KCjIwMTEtMDMtMDIgMjM6MTQ6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkgIGNhaXJvb3ZlcmxheTogU29tZSBtaW5vciBjbGVhbnVwCgoyMDExLTAzLTAyIDIzOjA5OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJICBkb2NzOiBVcGRhdGUgaW5zcGVjdGVkIHBsdWdpbiBkYXRhCgoyMDExLTAxLTI4IDAyOjE0OjA0ICswMjAwICBKb24gTm9yZGJ5IDxqb25vbm9yQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9jYWlyby8uZ2l0aWdub3JlOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby1tYXJzaGFsLmxpc3Q6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogQWRkIGdlbmVyaWMgQ2Fpcm8gb3ZlcmxheSB2aWRlbyBlbGVtZW50LgoJICBBbGxvd3MgYXBwbGljYXRpb25zIHRvIGNvbm5lY3QgdG8gdGhlICJkcmF3IiBzaWduYWwgb2YKCSAgdGhlIGVsZW1lbnQgYW5kIGRvIHRoZWlyIGN1c3RvbSBkcmF3aW5nIHRoZXJlLgoJICBJbmNsdWRlcyBhbiBleGFtcGxlIGFwcGxpY2F0aW9uIGRlbW9uc3RyYXRpbmcgdXNhZ2UuCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1NTIwCgoyMDExLTAzLTAyIDEzOjAwOjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IGRvbid0IGxlYWsgdGhlIG1vbm9zY29wZV9zdGF0ZSBkYXRhCgkgIFRoZSBtb25vc2NvcGVfY2xvc2UoKSBpbXBsZW1lbnRhdGlvbiB3YXMgZW1wdHkuCgoyMDExLTAzLTAyIDEyOjU5OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IHdlIGhhdmUgNjQgY29sb3JzLCBkb24ndCBhY2Nlc3MgY29sb3JzWzY0XQoJICBGaXhlcyByZW1haW5pbmcgaW52YWxpZCByZWFkLgoKMjAxMS0wMy0wMiAxMDoyNToyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFycmFuZ2UgZm9yIG5vbi1mYXRhbCBlcnJvciB3aGVuIHBhcnNpbmcgbm9uLXZpdGFsIHBhcnRzCgoyMDExLTAzLTAyIDEwOjU2OjMzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkgIG1vbm9zY29wZTogc3RhY2sgbmVlZHMgdG8gYmUgc2l6ZSsxIGFzIHdlIHB1dCBhIGVuZC1tYXJrZXIgaW50byBpdAoJICBWYWxncmluZCBpcyBzdGlsbCBjb21wbGFpbmluZyBhYm91dCBvbmUgYmFkIHJlYWQsIGJ1dCB0aGlzIHRha2VzIGNhcmUgb2YgdGhlCgkgIGNyYXNoIG1lbnRpb25lZCBpbiB0aGUgY29tbWVudCBhbmQgaW4gYnVnICM1NjQxMjIuCgoyMDExLTAzLTAxIDIyOjQwOjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkgIGV4YW1wbGU6IGZpeCB0aGUgdmFyaWFibGUgbmFtZSBmb3IgdGhlIGlwLWFkZHJlc3MKCSAgRml4IHRoZSBuYW1lIGluIHRoZSBsYXVuY2ggcGlwZWxpbmUgYW5kIHVzZSBhIHZhbHVlIG9mICJsb2NhbGhvc3QiIGJ5IGRlZmF1bHQuCgoyMDExLTAyLTI4IDE5OjE2OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBjeWd3aW4vbWluZ3c7IGVuYWJsZSBwbHVnaW4gbGlua2luZyB0byBzdGF0aWMgbGliCgkgIFVzZWZ1bCBmb3IgRGlyZWN0WCBwbHVnaW4ocykuCgkgIEZpeGVzICM2NDI1MDcuCgoyMDExLTAyLTI4IDE5OjEzOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBleHBvcnQgcGx1Z2luIGRlc2NyaXB0aW9uIG1vcmUgcGxhdGZvcm0gaW5kZXBlbmRlbnQKCSAgRml4ZXMgIzY0MjUwNC4KCjIwMTEtMDItMjggMTg6MzI6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZGU3ZjZhIHRvIDZhZWM2YjkKCjIwMTEtMDItMjggMTM6Mjk6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAyLTI4IDEzOjI4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB1c2UgTmV0QWRkcmVzcyBtZXRhZGF0YQoKMjAxMS0wMi0yOCAxMzoxNDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGltcGxlbWVudCBOZXRBZGRyZXNzIHdpdGggbWV0YWRhdGEKCjIwMTEtMDItMjggMTA6MTY6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiByZWdpc3RlciBtZXRhZGF0YQoKMjAxMS0wMi0yNyAxOTo0MzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgbWV0YTogZml4IGZvciBuZXcgQVBJCgoyMDExLTAyLTI1IDE2OjI5OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICBtZXRhZGF0YTogdXNlIG1ldGFkYXRhIGZvciBwcml2YXRlIGJ1ZmZlciBkYXRhCgkgIFVzZSBidWZmZXIgbWV0YWRhdGEgdG8gc3RvcmUgZWxlbWVudCBwcml2YXRlIGRhdGEuCgoyMDExLTAyLTI0IDEzOjUxOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIG1pbmlvYmplY3Q6IHBvcnQgdG8gMC4xMQoJICBVc2UgYnVmZmVyIHByaXZhdGUgZGF0YSBpbnN0ZWFkIG9mIHN1YmNsYXNzaW5nLgoKMjAxMS0wMi0yNCAxMzo1MDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGRvbid0IGhhcmRjb2RlIHZlcnNpb24gbnVtYmVyCgoyMDExLTAyLTI0IDEzOjAzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzOiB1c2UgYm94ZWQgdHlwZSBpbnN0ZWFkIG9mIG1pbmlvYmplY3QKCjIwMTEtMDItMjQgMTM6MDA6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIG1pbmlvYmplY3Q6IHVzZSBidWZmZXIgcHJpdmF0ZSBmaWVsZCBmb3IgZXh0cmEgZGF0YQoJICBVc2UgdGhlIG93bmVyIHByaXZhdGUgZmllbGQgdG8gc3RvcmUgZXh0cmEgYnVmZmVyIGRhdGEgaW5zdGVhZCBvZiB1c2luZwoJICBzdWJjbGFzc2luZy4KCjIwMTEtMDItMjQgMTI6MjM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBkdXJhdGlvbiB3aGVuIGV4dGltYXRpbmcgUW9TIHRpbWUKCSAgV2hlbiB3ZSBuZWVkIHRvIGRlY2lkZSBvbiB0aGUgbmV4dCBRb1MgdGltZSwgdGFrZSBpbnRvIGFjY291bnQgdGhlIGR1cmF0aW9uIG9mCgkgIHRoZSBidWZmZXJzLgoKMjAxMS0wMi0yOCAxMTo1ODowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCjIwMTEtMDItMjMgMTc6NDE6MjIgKzAxMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVsZWFzZSBwYV9zaGFyZWRfcmVzb3VyY2VfbXV0ZXggYmVmb3JlIHBhX3RocmVhZGVkX21haW5sb29wX3dhaXQKCSAgTm90IGRvaW5nIHNvIGNhbiByZXN1bHQgaW4gYSBkZWFkbG9jayB3aGVuIHR3byB0aHJlYWRzIGVudGVyCgkgIGdzdF9wdWxzZXJpbmdidWZmZXJfb3Blbl9kZXZpY2UgYXQgdGhlIHNhbWUgdGltZSwgYXMKCSAgcGFfdGhyZWFkZWRfbWFpbmxvb3Bfd2FpdCByZWxlYXNlcyB0aGUgbWFpbmxvb3AgbG9jayB3aGlsZSB3YWl0aW5nLAoJICBhbGxvd2luZyBhbm90aGVyIHRocmVhZCB0byB0YWtlIGl0LCByZXN1bHRpbmcgaW4gYSBkZWFkbG9jayBhcyB0d28KCSAgdGhyZWFkcyB3YWl0cyBmb3IgdGhlIGxvY2sgdGhlIG90aGVyIGlzIGhvbGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDMwODcKCjIwMTEtMDItMjMgMTc6MTg6MTkgKzAxMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcy9yZXNzb3VyY2UvcmVzb3VyY2UvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDMwODcKCjIwMTEtMDItMjUgMjA6MTI6MzUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgYWNjaWRlbnRhbCBkZWJ1ZyBtZXNzYWdlCgkgIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMS0wMi0yNSAxOTozNTo1MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciAyVnV5IGFuZCByMjEwCgoyMDExLTAyLTI0IDE0OjA4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgTlYyMSBjb2xvcnNwYWNlCgoyMDExLTAyLTI0IDE0OjAwOjM3ICswMTAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgTlYxMiBjb2xvcnNwYWNlCgkgIEZpeGVzIGJ1ZyAjNjQyOTYxLgoKMjAxMS0wMi0yNCAxMzo1NjowNCArMDEwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBGaXJzdCB0cnkgaWYgdXBzdHJlYW0gaGFuZGxlcyBUSU1FIHNlZWtzIGJlZm9yZSBoYW5kbGluZyB0aGVtIGhlcmUKCSAgRml4ZXMgYnVnICM2NDI5NjMuCgoyMDEwLTExLTA4IDE0OjI1OjU5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBTaW1wbGlmeSBzZXRjYXBzCgkgIFRoZSBjdXJyZW50IGNvZGUgbmV2ZXIgdXNlcyB1cHN0cmVhbSBuZWdvdGlhdGlvbiBzbyB0aGUgY29kZSBjYW4gYmUKCSAgc2lnbmlmaWNhbnRseSBzaW1wbGlmaWVkLgoKMjAxMS0wMS0yNCAxMjo0ODoxOCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSAgZGVpbnRlcmxhY2U6IFBvcnQgZ3JlZWR5bCB0byBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZAoJICBUaGUgbWFpbiBnb2FsIG9mIHRoaXMgY2hhbmdlIGlzIHRvIHJldXNlIHRoZSBjb21wbGV4IGJ1dCBub3cgbmVhdGx5CgkgIHdyaXR0ZW4gc2NhbmxpbmUgcG9pbnRlciBjYWxjdWxhdGlvbiBjb2RlIGZyb20gdGhlIHNpbXBsZSBtZXRob2RzLgoKMjAxMS0wMi0yMiAxNToyMDoxMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIFJldmVydCAiaWQzZGVtdXg6IGVuc3VyZSBhIHRhZ2xpc3QgYmVmb3JlIGFkZGluZyB0aGUgY29udGFpbmVyIHRhZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhODZiYWI2Njg5M2JiMWEzMzIzYTc1NjQxMDU3M2MxMTdiODIxOWVmLiBUaGUgaXNzdWUgaXMKCSAgZml4ZWQgd2l0aCBjb21taXQgZmY1ZTVhOGYwZGFhMWZkZjg5NzkyZDA3MjZlYTA2M2JiZDk5ZGIxOCBpbnN0ZWFkLgoKMjAxMS0wMi0yMiAxNToxOTowMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IHJldHVybiBJRDNUQUdTX0JST0tFTl9UQUcgZm9yIHVuc3VwcG9ydGVkIHZlcnNpb25zCgkgIFRoaXMgcHJldmVudHMgdXMgZm9yIHRyeWluZyB0byB3b3JrIHdpdGggYSBOVUxMIHRhZ2xpc3QuCgoyMDExLTAyLTIyIDE0OjE1OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAxMS0wMi0yMiAxNDowMToyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBlbnN1cmUgc2FuZSBwYXJhbWV0ZXJzIHdoZW4gcGFyc2luZyBzdXBlcmluZGV4CgoyMDExLTAyLTIyIDE0OjAwOjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGNoZWNrIGZvciBOVUxMIGF1ZGlvIHN0cmVhbSBmb3JtYXQgaGVhZGVyIHdoZW4gcGFyc2luZyBzdHJlYW0KCjIwMTEtMDItMjIgMTQ6NTI6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBydHAtZXhhbXBsZXM6IG1vdmUgY2Fwc2ZpbHRlciBiZWhpbmQgY29udmVydGVycwoJICBXZSBuZWVkIHRvIGhhdmUgdGhlIGNhcHNmaWx0ZXIgYmVoaW4gdGhlIGNvbnZlcnRlcnMgdG8gbWFrZSB0aGUgY29udmVydGVycwoJICBjb252ZXJ0IGZyb20gdGhlIGZvcm1hdHMgdjRsMnNyYyBjYW4gZG8gdG8gd2hhdCB3ZSByZXF1ZXN0IHdpdGggdGhlCgkgIGNhcHNmaWx0ZXIuCgoyMDExLTAyLTIyIDE0OjUwOjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIHJ0cC1leGFtcGxlczogZml4IGFzY2lpLWFydAoJICBTb21lIGJveGVzIHdoZXJlIG1pc2FsaWduZWQgZHVlIHRvIGxvbmcgImF1ZGlvdGV0c3NyYyIgbmFtZS4gVHJpbSB0cmFpbGluZwoJICB3aGl0ZXNwYWNlLgoKMjAxMS0wMi0yMiAxMzoyOToyNiArMDEwMCAgQmxhaXNlIEdhc3NlbmQgPGJsYWlzZSBhdCB3aWxsb3dnYXJhZ2UgZG90IGNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGhhbmRsZSBOVUxMIGRlbXV4IGVsZW1lbnRzCgkgIFdoZW4gdXNpbmcgZ3N0cnRwYmluIHdpdGggaWdub3JlLXB0PXRydWUsIHRoZSBmcmVlX3N0cmVhbSBmdW5jdGlvbiB0cmllcyB0bwoJICBjYWxsIGdzdF9lbGVtZW50X3NldF9sb2NrZWRfc3RhdGUgYW5kIGdzdF9lbGVtZW50X3NldF9zdGF0ZSBvbiBhIHN0cmVhbS0+ZGVtdXgKCSAgd2hpY2ggaXMgTlVMTC4KCSAgZml4ZXMgIzY0MjQxMgoKMjAxMS0wMS0yNCAxMjoxODozOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogc21hbGwgY2xlYW4tdXBzCgkgIEltcHJvdmUgZGVidWcgb3V0cHV0IGJ5IHByaW50aW5nIHRoZSBidWZmZXIgcG9pbnRlciB3aGVuCgkgIHBvcHBpbmcgYSBidWZmZXIgYW5kIHNpbXBsaWZ5IGNvZGUgdG8gdXNlIHNjYW5saW5lcy5ib3R0b21fZmllbGQKCSAgYXMgYXBwcm9wcmlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDI2OTEKCjIwMTEtMDEtMjQgMTI6MTg6MzkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGFzc2lnbmVkIG1ldGhvZF9pZCB3aGVuIHVzaW5nIGZhbGxiYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDI2OTEKCjIwMTEtMDItMjEgMTc6MTc6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggc2V0dGluZyB0aGUgU0RFUyBwcm9wZXJ0eQoJICBPbmx5IHRoZSBzZGVzIHZlcmlhYmxlIGlzIHByb3RlY3RlZCB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgVXNlIHRoZSByaWdodCBvYmplY3Qgd2hlbiBzZXR0aW5nIHRoZSBzZGVzIHByb3BlcnR5LgoKMjAxMS0wMi0yMSAxMjowOTowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgUmV2ZXJ0ICJDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhlNmI4NzZlNzZjOTQ0MTBkYjE2MGFmZTVlYjMwZjIxNDUyZTQxOWYuCgkgIERlcGVuZHMgb24gYSBjb3JlIGNvbW1pdCB0aGF0IHdhcyByZXZlcnRlZAoKMjAxMS0wMi0yMSAwMDo1NTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGZpeCB0YWcgbGlzdCBoYW5kbGluZyBpc3N1ZXMgdGhhdCBtaWdodCBoYXZlIGNhdXNlZCBjcmFzaGVzCgkgIEZpeCBzbGlnaHRseSBjb25mdXNlZCB0YWcgaGFuZGxpbmcgaW4gc29tZSBwbGFjZXM6IG1ha2UgaXQgY2xlYXIgd2hlbgoJICB3ZSdyZSB0YWtpbmcgb3duZXJzaGlwIG9mIGEgdGFnIGxpc3QgYW5kIHdoZW4gbm90LiBGb3IgZXhhbXBsZSwKCSAgZ3N0X2ljeWRlbXV4X3RhZ19mb3VuZCgpIHdhcyB0YWtpbmcgb3duZXJzaGlwIHdoZW4gdGhlIHNvdXJjZSBwYWQKCSAgZXhpc3RlZCwgYnV0IG90aGVyd2lzZSBub3QgKGxlYWspLiBBbHNvLCBnc3RfZXZlbnRfcGFyc2VfdGFnKCkgZG9lcwoJICBub3QgcmV0dXJuIGEgbmV3bHktYWxsb2NhdGVkIHRhZ2xpc3QsIGJ1dCBhIHRhZyBsaXN0IHRoYXQgYmVsb25ncyB0bwoJICB0aGUgdGFnIGV2ZW50LCBzbyBkb24ndCBnaXZlIG93bmVyc2hpcCBvZiBpdCBhd2F5LgoJICBXaGlsZSB3ZSdyZSBhdCBpdCwgc29tZSBtaW5vciBjbGVhbi11cHM6IGRvbid0IHJlLWludmVudCBnX3N0cm5kdXAoKQoJICBhbmQgc2ltcGxpZnkgZ3N0X2ljeWRlbXV4X3BhcnNlX2FuZF9zZW5kX3RhZ3MoKSBhIGJpdCwgYW5kIGRvbid0CgkgIGxlYWsgdGhlIHRhZyBsaXN0IGluIGNhc2Ugbm8gdmFsaWQgdGFncyB3aGVyZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTMzMAoKMjAxMS0wMi0yMCAyMzozOTo0MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZAoJICBUaGUgY29yZSBub3cgY2FsbHMgcmVsZWFzZSBwYWQgZnJvbSBmaW5hbGl6ZSwgYXQgd2hpY2ggcG9pbnQKCSAgdGhlIGNvbGxlY3RwYWRzIG1pZ2h0IGhhdmUgYWxyZWFkeSBiZWVuIGZyZWVkLgoKMjAxMS0wMi0xOSAxNTo0ODoyMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEhhbmRsZSAxNi1iaXQtcGVyLWNoYW5uZWwgaW1hZ2VzCgoyMDExLTAyLTE4IDEwOjEyOjQ3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdHJlYW0tPmN1cnJlbnRfdG90YWwgaXMgYWNjdW11bGF0ZWQgYnl0ZSBzaXplIGFuZCBub3QgdGltZQoJICBVc2UgdGltZXN0YW1wIGZvciB0aGUgc3RyZWFtIGluZGV4IGFzIHdlbGwuCgoyMDExLTAyLTE1IDE5OjMzOjQ1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IHdhcm4gd2hlbiBwYWNrZXQgaXMgdG9vIGxhcmdlCgoyMDExLTAyLTE3IDE3OjU5OjI1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2FwYXJzZTogTmV3IGVsZW1lbnQKCSAgQ29waWVkIGZyb20gZGVtdXguICBEdXBsaWNhdGVzIG11Y2ggY29kZSwgYWxzbyBzb21lIGRlYWQgY29kZQoJICByZW1haW5pbmcuCgoyMDExLTAyLTE3IDE3OjU3OjU1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBFYXJsaWVyIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uCgoyMDExLTAxLTIyIDAwOjEzOjE2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3Qgc2V0IGR1cmF0aW9uIGZvciBsaXZlIHN0cmVhbQoKMjAxMS0wMS0wNiAxNTo0NDoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSAgZGVidWd1dGlsczogcmVtb3ZlIGJpdHJvdHRlbiBuZWdvdGlhdGlvbiBlbGVtZW50CgkgIFdhc24ndCBlbmFibGVkLCBkaWRuJ3Qgd29yaywgYW5kIHBsYW5uZWQgZmVhdHVyZXMgaGF2ZSBiZWVuCgkgIHN1cGVyY2VkZWQgYnkgY2Fwc2ZpbHRlciBhbmQgY2Fwc2RlYnVnLgoKMjAxMC0wOS0xNyAxMjoxMDozOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHJ0cHZyYXdwYXk6IEltcGxlbWVudCBpbnRlcmxhY2luZwoKMjAxMS0wMi0xNyAxNzo1Nzo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWxzbyBhZGQgdGhlIGZyYW1lLXR5cGUgZm9yIHRoZSBzdHJlYW0gaW5kZXgKCjIwMTEtMDItMTcgMTc6NTY6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGdldCB0aGUgaW5kZXggd3JpdGVyIGlkIHdoZW4gdGhlIHBhZCBoYXMgYSBwYXJlbnQKCSAgT3RoZXJ3aXNlIHRoZSBpbmRleCB3cml0ZXIgaGFzIGEgd2VpcmVkIG5hbWUsIGFzIHRoZSBwYWQgaGFzIG5vIHBhcmVudCB5ZXQuCgoyMDExLTAyLTE3IDE0OjAwOjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgYXZpZGVtdXgsIGZsdmRlbXV4OiBmb3JtYXR0aW5nIGNsZWFudXAKCSAgVHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlcyBhbmQgZml4IHRoZSBmb3JtYXR0aW5nIG9mIGRvdWJsZSBuZWdhdGlvbi4KCjIwMTEtMDItMTcgMTM6NTc6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBhdmlkZW11eCwgZmx2ZGVtdXg6IG1hcmsgZGVsdGEtdW5pdHMgaW4gdGhlIGluZGV4CgkgIFdlIG5lZWQgdG8gdXNlIHRoZSAnZGVsdGEnIGZsYWcgZm9yIGRlbHRhIHVuaXRzIGFuZCBub3QgdGhlICdub25lJyBmbGFnLgoKMjAxMS0wMi0xNyAxMTo1ODo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW92ZWQgZXF1YWxpemVyIHRlc3QgYmluYXJ5CgoyMDExLTAyLTE3IDEyOjQ2OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1hcmsgZGVsdGEtdW5pdCBpbiB0aGUgaW5kZXgKCSAgV2UgbmVlZCB0byB1c2UgdGhlIGRlbHRhIGZsYWcgZnJvIGRlbHRhIHVuaXRzIGFuZCBub3Qgbm9uZS4gUHJpbnQgbW9yZSBkZXRhaWxzCgkgIHRvIHRoZSBkZWJ1ZyBsb2cuCgoyMDExLTAyLTE3IDEyOjQ0OjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZvcm1hdHRpbmcgY2xlYW51cAoJICBUcmltIHRyYWlsaW5nIHdoaXRlc3BhY2VzIGFuZCBmaXggdGhlIGZvcm1hdHRpbmcgb2YgZG91YmxlIG5lZ2F0aW9uLgoKMjAxMS0wMi0xNiAxNzowOToyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmV3b3JrIF9yZXF1ZXN0X25ld19wYWQgdG8gaGFuZGxlIGV4cGxpY3QgcmVxLXBhZC1uYW1lcwoJICBEb24ndCBpZ25vcmUgZXhwbGljaXQgcGFkLW5hbWVzLgoKMjAxMS0wMi0xNiAxNzowNjo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiByZXdvcmsgX3JlcXVlc3RfbmV3X3BhZCB0byBoYW5kbGUgZXhwbGljdCByZXEtcGFkLW5hbWVzCgkgIERvbid0IGlnbm9yZSBleHBsaWNpdCBwYWQtbmFtZXMuIFJlYXJyYW5nZSB0aGUgY29kZSBhbmQgdGhlIGVycm9yIGhhbmRsaW5nIGEKCSAgYml0LiBBZGQgYSBGSVhNRS0wLjExIGZvciB0aGUgYmFkIHBhZC1uYW1lcy4KCjIwMTEtMDItMTYgMTU6Mjg6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGljbGVzOiBBZGQgZXF1YWxpemVyLXRlc3QgdG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMS0wMi0xNiAxNToyMzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNS81XSBlcXVhbGl6ZXItdGVzdDogSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBhZnRlciBnc3RfaW5pdCgpIHRvIGZpeCBzZWdmYXVsdAoKMjAwNy0xMS0wNyAxNTozNjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQvNV0gdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogRml4IGdhaW4gcmFuZ2VzIGZvciB0aGUgbGF0ZXN0IGVxdWFsaXplciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZG9fc2xpZGVyX2ZpZGRsaW5nKToKCSAgRml4IGdhaW4gcmFuZ2VzIGZvciB0aGUgbGF0ZXN0IGVxdWFsaXplciBjaGFuZ2VzLgoKMjAwNy0wNS0yMSAxNDowMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDMvNV0gQ2hhbmdlTG9nOiBDaGFuZ2VMb2cgc3VyZ2VyeS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzdElpckVxdWFsaXplckJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywgcGx1Z2luX2luaXQpOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIEFkZCBmaXhtZSBhbmQgY29tbWVudCBmb3IgZXhhbXBsZS4KCjIwMDctMDMtMTQgMTY6MzM6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyLzVdIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCjIwMDctMDItMDMgMjM6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMS81XSBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgdGhpcy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChjaGVja19idXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIEFkZCBicmFpbi1kZWFkIGludGVyYWN0aXZlIHRlc3QgZm9yIGVxdWFsaXplci4KCjIwMTEtMDItMTUgMTU6NTk6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgUEpQRyBtYXBwaW5nCgkgIEFkZHMgbWFwcGluZyBvZiBwcm9ncmVzc2l2ZSBqcGVnIGZvcm1hdAoKMjAxMS0wMi0xNSAxNjozMDoyMCArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLmNvbT4KCgkgIHBsdWcgcXRkZW11eCByZWZjb3VudCBsZWFrcwoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfc3JjX2NvbnZlcnQpOiBVbnJlZiB0aGUgcXRkZW11eDsgd2UKCSAgd2VyZW4ndCBkb2luZyBzbyBiZWZvcmUuCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50LCBnc3RfcXRkZW11eF9jaGFpbik6IEZpeCBzb21lIGVycm9yCgkgIGNhc2VzIHdoaWNoIHdvdWxkIGxlYWsgYSByZWYgdG8gdGhlIHF0ZGVtdXguCgoyMDExLTAyLTE0IDIwOjIwOjA4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWRkIFVSSSBxdWVyeSBoYW5kbGVyCgkgIEZpeGVzIGJ1ZyAjNjQyMzM3LgoKMjAxMS0wMi0xNCAxNzo0OTo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgc29ydGluZyBOVUxMIGFycmF5IG9mIGNsdXN0ZXIgcG9zaXRpb25zCgoyMDExLTAyLTE0IDE2OjQ2OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IGhhbmRsZSAwIHNpemVkIHBhY2tldHMKCSAgSGFuZGxlIDAgc2l6ZWQgcGFja2V0cyAocmVwZWF0IGZyYW1lKSBpbiB0aGUgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4KCSAgRml4ZXMgIzY0MTgyNwoKMjAxMS0wMi0xNCAxNToyMToyOSArMDIwMCAgVHV1a2thIFBhc2FuZW4gPHR1dWtrYS5wYXNhbmVuQGlsbWkuZmk+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiByZXNlbmQgdGFncyB3aGVuIHRoZXkgYXJlIGNoYW5nZWQKCSAgQWxsb3cgc2V0dGluZyBuZXcgdGFncyBvbiB0aGUgcHJvcGVydHkgd2hpbGUgcnVubmluZyBhbmQgc2VuZCB0aGVtLgoJICBGaXhlcyAjNjQwMjQ5CgoyMDExLTAyLTE0IDEyOjUzOjI3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY5NGQ3MzkgdG8gMWRlN2Y2YQoKMjAxMS0wMi0wNyAyMzozMjo1MyArMDEwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtaW5vciBsZWFrcyB3aGVuIGhhbmRsaW5nIHNlcnZlciByZXF1ZXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDE2MwoKMjAxMS0wMi0xNCAwMDo0OTowMCArMDAwMCAgSGVhdGggTmllbHNvbiA8aGVhdGhuQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBNdXNpY0JyYWlueiB0YWdzCgkgIEV4dHJhY3QgTXVzaWNCcmFpbnogdGFncyBhZGRlZCBieSBNdXNpY0JyYWlueidzIFBpY2FyZAoJICB0YWdnZXIgYXBwbGljYXRpb24uIFRoZXNlIHRhZ3MgKGVzcC4gdGhlIGFsYnVtIGlkKSBhcmUKCSAgaGVscGZ1bCBmb3Igcmh5dGhtYm94IGV0LmFsLiB0byBhdXRvbWF0aWNhbGx5IGRvd25sb2FkcwoJICBjb3ZlciBhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDIyMDUKCjIwMTEtMDItMTQgMDA6Mzg6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWZhY3RvciBpVHVuZXMgdGFnIHBhcnNpbmcgYSBiaXQKCjIwMTEtMDItMTAgMjM6NTI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBkb2FwOiB1cGRhdGUgbWFpbGluZyBsaXN0IGxvY2F0aW9uCgoyMDExLTAyLTEwIDE4OjExOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvcGFnYXRlIGVycm9yIGR1cmluZyBleHBvc2Vfc3RyZWFtcwoJICAuLi4gYXMgaXQgbWF5IG9jY3VyIGR1cmluZyBpbml0aWFsIHBhcnNpbmcgb2YgZnJhZ21lbnRlZCBmaWxlLgoKMjAxMS0wMi0xMCAxODowMDoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIHNraXBwaW5nIGV4cG9zaW5nIGEgc3RyZWFtIGZvbGxvd2luZyBhIHJlbW92ZWQgc3RyZWFtCgoyMDExLTAyLTEwIDExOjU2OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogc3RvcmUgY2x1c3RlciBwb3NpdGlvbnMgcHJvdmlkZWQgYnkgU2Vla0hlYWQKCSAgLi4uIGFuZCB1c2UgdGhvc2UsIGlmIGF2YWlsYWJsZSwgdG8gbG9jYXRlIGEgY2x1c3RlciByYXRoZXIgdGhhbiBzY2FubmluZy4KCjIwMTEtMDItMDkgMTY6MjI6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByb3Blcmx5IHJlc3VtZSBjbHVzdGVyIHNjYW5uaW5nCgkgIC4uLiByYXRoZXIgdGhhbiBnZXR0aW5nIG9mZnNldCB0cmFja2luZyBtZXNzZWQgdXAsIGFuZCB0aGVuIGxpa2VseQoJICBmYWlsaW5nIGEgc3Vic2VxdWVudCBhc3NlcnQuCgoyMDExLTAyLTA4IDEwOjA3OjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgaWQzZGVtdXg6IGVuc3VyZSBhIHRhZ2xpc3QgYmVmb3JlIGFkZGluZyB0aGUgY29udGFpbmVyIHRhZwoJICBJbiB0aGUgY2FzZSBvZiBpZDN2MSBhbHNvIGRvbid0IHJldHVybiBOVUxMIG9uIGVtcHR5IHRhZ3MsIGJ1dCBhbHNvIGNyZWF0ZSBhIG5ldwoJICB0YWdsaXN0IGFuZCBhZGQgdGhlIGNvbnRhaW5lciB0YWcgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMS0wMi0wNyAxNzowODo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzdHJpcCB0cmFpbGluZyBzcGFjZXMKCjIwMTEtMDItMDcgMTc6MDc6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRwc3JjOiBzZXQgbXVsdGlwbGUgcHJvcGVydGllcyBpbiBvbmUgZ28KCSAgVGhlcmUgaXMgbm8gbmVlZCBmb3Igc2VwYXJhdGUgZ19vYmplY3Rfc2V0KCkgY2FsbHMgaGVyZS4KCjIwMTEtMDItMDMgMTY6MTA6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBIYW5kbGUgaW1hZ2UgY2FwcyB3aXRob3V0IGFzc2VydGluZwoJICBJbWFnZXMgbWlnaHQgaGF2ZSBmcmFtZXJhdGU9MC8xIGluIHRoZSBjYXBzLCB3aGljaCBjYXVzZWQgYW4KCSAgYXNzZXJ0aW9uIG9uIGRlaW50ZXJsYWNlLiBJIGRvbid0IGtub3cgb2YgaW50ZXJsYWNlZCBpbWFnZSBmb3JtYXRzCgkgIGJ1dCBkZWludGVybGFjZSBtaWdodCBiZSBoYXJkY29kZWQgb24gc29tZSBnZW5lcmljIHBpcGVsaW5lcyBhbmQKCSAgaXQgc2hvdWxkbid0IGFzc2VydC4KCSAgVGhlIGZpeCB3YXMgdG8gc2V0IGZpZWxkX2R1cmF0aW9uIHRvIDAgaWYgdGhlIGlucHV0IGhhcyBhIGZyYW1lcmF0ZQoJICB3aXRoIGEgMCBudW1lcmF0b3IuCgkgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIGNoZWNrcyBmb3IgdGhpcyBzaXR1YXRpb24gb24gdGhlIHVuaXQgdGVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE0MDAKCjIwMTEtMDItMDQgMTI6MzM6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGRvY3M6IGZpeCBwYXJhbWV0ZXIgbmFtZSBpbiB1ZHBzcmMgZG9jcwoJICBJdCBpcyAiYnVmZmVyLXNpemUiIGFuZCBub3QgImJ1ZmZlciIuIEFsc28gdHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlLgoKMjAxMS0wMi0wMyAyMzo0Mjo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBpbnRlcmxhY2VkIHNldF9mb3JtYXQgY29uZmlndXJhdGlvbgoJICBDb21taXQgNmM4MjY4ZGJmZDVjODhmYWMyOGM4ODJlZjJlNDU5OGE2NTIyZTJkNiBicm9rZSByZWNvcmRpbmcKCSAgZnJvbSBpbnRlcmxhY2VkIHY0bDIgc291cmNlIChlLmcuIHR5cGljYWwgdHYgY2FwdHVyZSBjYXJkKSBzaW5jZQoJICBWNEwyX0ZJRUxEX1NFUV9UQiAod2l0aCBmaWVsZHMgc3RvcmVkIHNlcGFyYXRlbHkpIGRvZXMgbm90IG1hcAoJICB0byBjdXJyZW50bHkgZGVmaW5lZCBpbnRlcmxhY2VkIGZvcm1hdCAoZmllbGRzIHN0b3JlZCBpbnRlcmxlYXZlZCkuCgkgIEJlc2lkZXMgdGhpcyBtaXNtYXRjaCwgaGFyZHdhcmUgbWlnaHQgcXVpdGUgbGlrZWx5IG5vdCBzdXBwb3J0IG9yCgkgIGFwcHJlY2lhdGUgdGhpcyBmaWVsZCB2YWx1ZSwgc2luY2UgcXVlcnlpbmcgc3VwcG9ydGVkIGZvcm1hdHMgbWFwcGVkCgkgIF9JTlRFUkxBQ0VEIGZpZWxkIGZvcm1hdHMgdG8gaW50ZXJsYWNlZD10cnVlIGNhcHMgKHNvIHRoZSBsYXR0ZXIgc2hvdWxkCgkgIG5vdCBiZSBtYXBwZWQgdG8gZmllbGQgdmFsdWUgdGhhdCBpcyBub3Qga25vd24gdG8gYmUgc3VwcG9ydGVkKS4KCjIwMTEtMDItMDMgMTg6MjU6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2xhbWUuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIGxhbWVtcDNlbmMgbmVnb3RpYXRpb24gaXNzdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTE1MQoKMjAxMS0wMi0wMyAxODoxODozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IGltcGxlbWVudCBzaW5rcGFkIGdldF9jYXBzKCkgZnVuY3Rpb24gdG8gcHJveHkgcmF0ZSBhbmQgY2hhbm5lbHMgcmVzdHJpY3Rpb25zIGZyb20gZG93bnN0cmVhbQoJICBUaGUgZWxlbWVudCBkb3duc3RyZWFtIG9mIG1wM2VuYyBtaWdodCBvbmx5IGFjY2VwdCBjZXJ0YWluIHNhbXBsZSByYXRlcyBvciBjaGFubmVscywKCSAgbWFrZSBzdXJlIHdlIHJlbGF5IGFueSByZXN0cmljdGlvbnMgdGhhdCBkbyBleGlzdCB0byB1cHN0cmVhbSB3aGVuIGl0IGRvZXMgYQoJICBnZXRfY2FwcygpIG9uIHRoZSBzaW5rIHBhZC4gVGhhdCB3YXkgdXBzdHJlYW0gZWxlbWVudHMgbGlrZSBhdWRpb3Jlc2FtcGxlIG9yCgkgIGF1ZGlvY29udmVydCBjYW4gcGljayBhIHNhbXBsZSByYXRlIC8gY2hhbm5lbCBjb25maWd1cmF0aW9uIHRoYXQgd2lsbCBiZSBhY2NlcHRlZCwKCSAgaW5zdGVhZCBvZiBqdXN0IG5lZ290aWF0aW5nIHRvIHRoZSBoaWdoZXN0LCB3aGljaCBtaWdodCB0aGVuIGJlIHJlamVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMTUxCgoyMDExLTAyLTAyIDE4OjI3OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogZml4IHR5cGUgb2YgbnRwbnN0aW1lCgoyMDExLTAyLTAyIDE4OjIxOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IEdldCBhbmQgdXNlIHRoZSBOVFAgdGltZSB3aGVuIHJlY2VpdmluZyBSVENQCgkgIFdoZW4gd2UgcmVjZWl2ZSBhbiBSVENQIHBhY2tldCwgZ2V0IHRoZSBjdXJyZW50IE5UUCB0aW1lIGluIG5hbnNlY29uZHMgc28gdGhhdAoJICB3ZSBjYW4gY29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgcm91bmQtdHJpcCB0aW1lLgoKMjAxMS0wMi0wMSAxOTo0MDo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+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+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcmsgRElTQ09OVCB3aGVuIHJlc3VtaW5nIFBMQVkKCSAgSW4gcGFydGljdWxhciwgd2hlbiBzdHJlYW1pbmcgaW50ZXJsZWF2ZWQsIHRoaXMgYXJyYW5nZXMgZm9yIHNldHRpbmcgYSBuZXcKCSAgdGltZXN0YW1wIG9uIG91dGdvaW5nIGJ1ZmZlciBzbyBkb3duc3RyZWFtIGNhbiBhcHByb3ByaWF0ZSByZXNldAoJICB0byBhIGNoYW5nZSBpbiAocnRwKXRpbWUuCgoyMDEwLTEyLTAyIDE2OjA4OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBkZWdyYWRlIGdyYWNlZnVsbHkgdXBvbiBmYWlsaW5nIHNlZWsgYW5kIHR3ZWFrIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCjIwMTAtMTAtMjUgMTE6NTE6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgYW5kIHVzZSBhdXRvIGJ1ZmZlcmluZyBtb2RlCgkgIC4uLiB3aGljaCBzZWxlY3RzIEJVRkZFUiBmb3IgYSBub24tbGl2ZSBzdHJlYW0sIGFuZCBvdGhlcndpc2UgU0xBVkUuCgkgIEZpeGVzICM2MzMwODguCgoyMDEwLTEyLTA2IDEyOjE2OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkgIGoya2RlcGF5OiBtYWtlIHRoZSBkZXBheWxvYWRlciBtb3JlIHJlc2lsaWVudAoJICBVc2UgMyBhZGFwdGVycywgb25lIHRvIGFjY3VtdWxhdGUgcGFrZXRpemF0aW9uIHVuaXRzLCBhbm90aGVyIG9uIHRvIGFjY3VtdWxhdGUKCSAgdGlsZXMgYW5kIGEgbGFzdCBvbmUgdG8gYWNjdW11bGF0ZSB0aGUgZmluYWwgZnJhbWUuCgkgIERvbid0IGp1c3QgYmxpbmRseSBmbHVzaCB0aGUgYWRhcHRlciBvbiBESVNDT05UIGJ1dCBvbmx5IGRpc2NhcmQgdGhlIGN1cnJlbnQKCSAgcGFja2V0aXphdGlvbiB1bml0LgoJICBXaGVuIHdlIGRyb3BwZWQganBlZzIwMDAgcGFja2V0cyBiZXR3ZWVuIFNPUCBtYXJrZXJzLCBhZGp1c3QgdGhlIFNPVCBoZWFkZXIgd2l0aAoJICB0aGUgbmV3IGxlbmdodC4KCjIwMTAtMTItMDkgMTM6NDk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZmxvdyByZXR1cm4gYWdncmVnYXRpb24KCjIwMTAtMTItMDggMTE6MzU6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggaGFuZGxpbmcgbmVhciBlbmQtb2YtZmlsZSBjb3JuZXIgY2FzZXMKCSAgQWxzbywgcmVsYXggc29tZSBlcnJvciBoYW5kbGluZyB0byBub3QgYmFpbCBvdXQgY29tcGxldGVseSB3aGVuIHNvbWV0aGluZwoJICBmZWVscyBhbWlzcywgYnV0IGNvbnNpZGVyIHRoaXMgRU9GIGFuZCBjb250aW51ZSB3aXRoIHdhcyBvYnRhaW5lZCBzbyBmYXIuCgoyMDEwLTEyLTA3IDE3OjE5OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBmaXggb2Zmc2V0IGhhbmRsaW5nIGFuZCByZWxheCBlcnJvciByYWlzaW5nCgkgIEluIHBhcnRpY3VsYXIsIGFjY2VwdCB1bmtub3duIHN0cmVhbSBpbiB0cmFjayBmcmFnbWVudCwgYW5kIG9ubHkgZXJyb3Igb3V0CgkgIGlmIHRoYXQgcmFpc2VzIHByb2JsZW1zIGxhdGVyIG9uIHdpdGggcmVzcGVjdCB0byBvZmZzZXQgdHJhY2tpbmcuCgkgIEZpeGVzICM2MjAyODMuCgoyMDEwLTEyLTA3IDE1OjM5OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2xhbWUuYzoKCSAgY2hlY2s6IGRvbid0IHVzZSBkZXByZWNhdGVkIG1ldGhvZAoKMjAxMC0xMi0wNyAxMzoxMTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB1c2UgYWFjIGNvZGVjLWRhdGEgdG8gYWRqdXN0IHNhbXBsZXJhdGUgaWYgbmVlZGVkCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEZhYmllbiBMZWJhaWxsaWYtRGVsYW1hcmUgPGZhYmllbkBhcnEtbWVkaWEuY29tPgoJICBGaXhlcyAjNjM2NjIxLgoKMjAxMC0xMi0wNyAxMTo0MzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB1bmNvcmsgaW4gX3N0YXJ0CgkgIERvbid0IHVuY29yayBpbiB0aGUgX3N0YXJ0IG1ldGhvZCBqdXN0IHlldCBidXQgd2FpdCB1bnRpbCB3ZSBoYXZlIHdyaXR0ZW4gc29tZQoJICBzYW1wbGVzIHRvIHB1bHNlYXVkaW8uIFRoaXMgYXZvaWQgdW5kZXJydW5zIG9uIHB1bHNlYXVkaW8gYW5kIGxlc3MgY3JhY2tsaW5nCgkgIG5vaXNlcyB3aGVuIHN0YXJ0aW5nLgoKMjAxMC0xMi0wNyAxMTo0Nzo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTAtMTItMDcgMTE6NDM6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgdW5jb3JrIGluIF9zdGFydAoJICBEb24ndCB1bmNvcmsgaW4gdGhlIF9zdGFydCBtZXRob2QganVzdCB5ZXQgYnV0IHdhaXQgdW50aWwgd2UgaGF2ZSB3cml0dGVuIHNvbWUKCSAgc2FtcGxlcyB0byBwdWxzZWF1ZGlvLiBUaGlzIGF2b2lkIHVuZGVycnVucyBvbiBwdWxzZWF1ZGlvIGFuZCBsZXNzIGNyYWNrbGluZwoJICBub2lzZXMgd2hlbiBzdGFydGluZy4KCjIwMTAtMTItMDcgMTE6NDI6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBfb2JqZWN0X3JlZl9zaW5rKCkgd2hlbiB3ZSBjYW4KCjIwMTAtMTItMDcgMTE6NDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRvbid0IGFidXNlIHRoZSBjbGFzcyBsb2NrCgkgIFVzZSBhIG5ldyBzdGF0aWMgbG9jayB0byBwcm90ZWN0IHRoZSBwcm9iZWQgZGV2aWNlIGxpc3QgaW5zdGVhZCBvZiB0aGUgb2JqZWN0CgkgIGNsYXNzIGxvY2suCgoyMDEwLTEyLTA2IDE5OjU5OjQ5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TWC4KCjIwMTAtMTItMDYgMTg6MTc6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgZGVidWcgdG8gbm90aWZ5IHdoZW4gc2tpcHBpbmcgdG8ganBlZyBoZWFkZXIKCjIwMTAtMTItMDYgMTg6MTY6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkaXNjYXJkIGluY29tcGxldGUgaW1hZ2UKCSAgLi4uIGFzIGRldGVybWluZWQgd2hlbiBmaW5kaW5nIFNPSSBuZXh0IGltYWdlIGJlZm9yZSBhbiBFT0kuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IERhdmlkIEhveXQgPGRhdmlkLmhveXRAbGxubC5nb3Y+CgkgIEZpeGVzICM2MzU3MzQuCgoyMDEwLTEyLTA2IDE3OjQ1OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIHJlc3luY2luZwoJICBGaXhlcyAjNjM1NzM0IChwYXJ0bHkpLgoKMjAxMC0xMi0wNiAxNzoyODozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZCBpbnRvIDAuMTEKCjIwMTAtMTItMDYgMTc6Mjc6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBhbmRyb2lkL2FwZXRhZy5tazoKCSogYW5kcm9pZC9hdmkubWs6CgkqIGFuZHJvaWQvZmx2Lm1rOgoJKiBhbmRyb2lkL2ljeWRlbXV4Lm1rOgoJKiBhbmRyb2lkL2lkM2RlbXV4Lm1rOgoJKiBhbmRyb2lkL3F0ZGVtdXgubWs6CgkqIGFuZHJvaWQvcnRwLm1rOgoJKiBhbmRyb2lkL3J0cG1hbmFnZXIubWs6CgkqIGFuZHJvaWQvcnRzcC5tazoKCSogYW5kcm9pZC9zb3VwLm1rOgoJKiBhbmRyb2lkL3VkcC5tazoKCSogYW5kcm9pZC93YXZlbmMubWs6CgkqIGFuZHJvaWQvd2F2cGFyc2UubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgbW9yZSAwLjEwIC0+IDAuMTEgY2hhbmdlcwoKMjAxMC0xMi0wNiAxNToyMTo1MyArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHBhc3MgYWxvbmcgZW9zIGlmIHJlY2VpdmVkIGJlZm9yZSBidWZmZXIgYXJyaXZlcwoJICBGaXhlcyAjNjM2MTcyLgoKMjAxMC0xMC0yMCAxMTowNTo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdHJ5IHRvIHdyaXRlIHRpbWVzdGFtcHMgaW4gYWxsIHRoZSBvdXRnb2luZyBidWZmZXJzCgkgIEZpeGVzICM2MzI2NTQuCgoyMDEwLTEyLTA2IDEyOjIxOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN0YXJ0IDAuMTEgYnJhbmNoCgoyMDEwLTEyLTA2IDEyOjE3OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkgIHByb2dyZXNzcmVwb3J0OiBvcHRpb25hbGx5IGRldGVybWluZSBwcm9ncmVzcyB1c2luZyBidWZmZXIgbWV0YWRhdGEKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTGVvIFNpbmdlciA8bHNpbmdlciBhdCBjYWx0ZWNoLmVkdT4KCSAgRml4ZXMgIzYyOTQxOC4KCjIwMTAtMTItMDUgMTQ6Mzk6MTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGNoZWNrOiBGaXh1cCB0aGUgc2h1dHRpbmcgZG93biBvcmRlcgoJICBGaXJzdCBicmluZyBkb3duIGV2ZXJ5dGhpbmcgdG8gTlVMTCBiZWZvcmUgYXR0ZW1wdGluZyB0byB1bmxpbmsKCSAgb3IgdW5yZWYgYW55dGhpbmcuCgkgIEF2b2lkcyB0aGUgdGVzdHMganVzdCBoYW5naW5nIHRoZXJlIGZvciBldmVyIHdhaXRpbmcgdG8gYWNxdWlyZSBhCgkgIGxvY2sgdGhhdCBkb2Vzbid0IGV4aXN0IGFueW1vcmUuCgoyMDEwLTExLTA0IDE5OjMxOjQ1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBzZXQgdG9wIGZpZWxkIGZpcnN0IGZvciBpbnRlcmxhY2VkIGJ1ZmZlcnMgaWYgdjRsMiBleHBvcnRzIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQzOTMKCjIwMTAtMTEtMDQgMTg6MzY6MDkgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogY2hlY2sgZmllbGQgaW5mb3JtYXRpb24gYW5kIHNldCBpbnRlcmxhY2VkIGNhcHMgYWNjb3JkaW5nbHkKCSAgUmVqZWN0IHRoZSBmb3JtYXQgaWYgdGhlIGZpZWxkIHR5cGUgaXMgbm90IHN1cHBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDM5MQoKMjAxMC0xMi0wMyAxNzo0MjoxNCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvYXBldGFnLm1rOgoJKiBhbmRyb2lkL2F2aS5tazoKCSogYW5kcm9pZC9mbHYubWs6CgkqIGFuZHJvaWQvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvaWN5ZGVtdXgubWs6CgkqIGFuZHJvaWQvaWQzZGVtdXgubWs6CgkqIGFuZHJvaWQvcXRkZW11eC5tazoKCSogYW5kcm9pZC9ydHAubWs6CgkqIGFuZHJvaWQvcnRwbWFuYWdlci5tazoKCSogYW5kcm9pZC9ydHNwLm1rOgoJKiBhbmRyb2lkL3NvdXAubWs6CgkqIGFuZHJvaWQvdWRwLm1rOgoJKiBhbmRyb2lkL3dhdmVuYy5tazoKCSogYW5kcm9pZC93YXZwYXJzZS5tazoKCSAgQWRkIGJ1aWxkIHN5c3RlbSBmb3IgQW5kcm9pZAoKMjAxMC0wMy0yNiAxMzo1MTo1OCArMDEwMCAgR3VpbGxhdW1lIEVtb250IDxnZW1vbnRAaWdhbGlhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSAgbmF2c2VlazogYWRkIGJhc2ljIHN1cHBvcnQgdG8gY2hhbmdlIHBsYXliYWNrIHJhdGUKCSAgVGhlIGZvbGxvd2luZyBrZXlzIHdpbGwgbm93IGJlIGludGVycHJldGVkIGJ5IG5hdnNlZWs6CgkgICdmJyBtZWFucyBmYXN0IGZvcndhcmQ6IHRoZSBzdHJlYW0gZ2V0cyBwbGF5ZWQgYXQgcmF0ZSAyLjAKCSAgJ3InIG1lYW5zIHJld2luZDogdGhlIHN0cmVhbSBnZXRzIHBsYXllZCBhdCByYXRlIC0yLjAKCSAgJ24nIG1lYW5zIG5vcm1hbDogdGhlIHN0cmVhbSBnZXRzIHBsYXllZCBhdCByYXRlIDEuMAoJICBGaXhlcyAjNjMxNTE2LgoKMjAxMC0xMi0wMSAxMzoxMjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBlKGEpYy0zIGF1ZGlvCgoyMDEwLTExLTE5IDEyOjQ0OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc2VuZGluZyBFT1MgZXZlbnQgdHdpY2UKCjIwMTAtMTEtMTkgMTI6NDQ6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgZGVhZCBjb2RlIHRyeWluZyB0byB1cGRhdGUgc3RyZWFtIGR1cmF0aW9uCgkgIE9uIHRoZSBvbmUgaGFuZCwgaXQgaW5zdWZmaWNpZW50bHkgY2hlY2tzIHdoZXRoZXIgaXQgb25seSB1cGRhdGVzIGEgZHVtbXkKCSAgc2VnbWVudC4gIE9uIHRoZSBvdGhlciBoYW5kLCBvbmx5IGRvaW5nIHRoaXMgYXQgdGhlIHRpbWUgdGhlIGxhc3Qgc2FtcGxlZCBpcwoJICBwcmVwYXJlZCAoYW5kIHNlbnQgZG93bnN0cmVhbSkgaXMgdG9vIGxpdHRsZSB0b28gbGF0ZS4KCjIwMTAtMTEtMDkgMTA6NTg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGhhbmRsZSBpc212IHNhbXBsZSBmbGFncwoKMjAxMC0xMS0wOCAxMTo0MToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgaGFuZGxlIGlzbXYgc3RibCBhdG9tcwoJICAuLi4gb3IgbGFjayBvZiBzb21lIHRoZXJlb2YsIHN1Y2ggYXMgbWFuZGF0b3J5IHN0c3ouICBTaHVmZmxlIHNvbWUgY29kZQoJICBpbiBfc3RibF9pbml0IHRvIGRldGVjdCB0aGlzIGVhcmx5IGVub3VnaC4KCjIwMTAtMTEtMDggMTE6Mzk6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGNvbXBlbnNhdGUgZm9yIGlzbXYgb2Zmc2V0IGhhbmRsaW5nCgkgIC4uLiBvciBsYWNrIHRoZXJlb2YsIHdoaWNoIGFjY29yZGluZyB0byBzcGVjcyB3b3VsZCBwdXQgbWVkaWEgZGF0YSBpbgoJICB1bmxpa2VseSBwb3NpdGlvbi4KCjIwMTAtMTEtMDQgMTQ6MDc6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydCBmb3IgcHVzaCBtb2RlCgoyMDEwLTExLTA0IDEwOjE3OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IHByb3BlciBhbmQgaW5jcmVtZW50YWwgbW9vZiBwYXJzaW5nCgkgIFRoYXQgaXMsIHBhcnNlIGVhY2ggbW9vZiBpbiBvbmUgcGFzcyAoY29uc2lkZXJpbmcgYWxsIGNvbnRhaW5lZCBzdHJlYW1zJwoJICBtZXRhZGF0YSksIGFuZCBkbyBzbyBpbmNyZW1lbnRhbGx5IGFzIG5lZWRlZCBmb3IgcGxheWJhY2sgcmF0aGVyIHRoYW4KCSAgYW4gaW5pdGlhbCBjb21wbGV0ZSBzY2FuIG9mIGFsbCBtb29mICh0aG91Z2ggYWxsIG1vb3Ygc2FtcGxlIG1ldGFkYXRhCgkgIGlzIGZ1bGx5IHBhcnNlZCBhdCBzdGFydHVwKS4KCjIwMTAtMTEtMDQgMTA6MDY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWZhY3RvciBzdHJlYW0gZnJlZWluZwoKMjAxMC0xMS0wNCAxMDowNToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRlbGVnYXRlIGxpbmVhciBzZWFyY2ggZm9yIHNhbXBsZSB0byBiaW5hcnkgc2VhcmNoIHdoZW4gcG9zc2libGUKCSAgQWxzbyBhcnJhbmdlIGZvciBwYXJzaW5nIGEgc2FtcGxlIHByaW9yIHRvIHRha2luZyBhIHJlZmVyZW5jZSB0byBpdCwKCSAgd2hpY2ggcmVxdWlyZXMgbGVzcyBtZW1vcnkgbGF5b3V0IGFzc3VtcHRpb25zIGZvciBjb3JyZWN0bmVzcy4KCjIwMTAtMTEtMDEgMTU6NTI6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGhhbmRsZSBtb292IHNhbXBsZXMgYW5kIHByb3BlciBzdHJlYW0gZHVyYXRpb24KCjIwMTAtMTEtMDEgMTM6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGNvbnNpZGVyIG12ZXggYW5kIGhhbmRsZSBmbGFncyBhbmQgb2Zmc2V0IGZpZWxkcwoKMjAxMC0xMC0yOCAxNjo0OTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgZm9yZWdvIGNoZWNrIGZvciBzaG9ydCBzdHJlYW1zCgkgIC4uLiBhcyBzb21lIGJvZ3VzIGZpbGVzIG1heSBpbmRpY2F0ZSBzdHJlYW1zIG9mIDAgZHVyYXRpb24gaW4gbW9vdiwKCSAgd2hpbGUgaW5kaWNhdGluZyB0aGUgY29tcGxldGUgbW92aWUgZHVyYXRpb24gaW4gbXZoZCAodGhlIGxhdHRlciBzaG91bGQKCSAgYmUgaW4gbWVoZCkuCgoyMDEwLTEwLTI4IDE2OjQ2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGNvZGUgY2xlYW51cHMgYW5kIG9wdGltaXphdGlvbnMgaW4gYXRvbSBwYXJzaW5nCgkgIEF2b2lkIGV4dHJhIGFsbG9jYXRpb24gaW4gX3BhcnNlX3RydW4sIGFkZCBtb3JlIGNoZWNrcyBmb3IgcGFyc2luZyBlcnJvcnMsCgkgIGFkZCBvciBhZGp1c3Qgc29tZSBkZWJ1ZyBzdGF0ZW1lbnQsIGZpeCBjb21tZW50cywgc3ByaW5rbGUgc29tZSBicmFuY2gKCSAgcHJlZGljdGlvbi4KCjIwMTAtMDktMTMgMjM6MTk6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXJzZV9tb29mIHNob3VsZCByZXR1cm4gVFJVRSBvbiBzdWNjZXNzCgoyMDEwLTA5LTEwIDIyOjQxOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGl0ZXJhdGlvbiBidWcKCSAgQXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIGl0ZXJhdGluZyB0cmFmCgoyMDEwLTA5LTEwIDIxOjMyOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVmYWN0b3IgdHJ1biBwYXJzaW5nCgkgIFRoZSBhbGxvY2F0aW9uIG9mIHRoZSBzYW1wbGVzIGNhbiBiZSBwbGFjZWQgb3V0IG9mIHRoZSBsb29wLgoJICBNYWtlcyB0aGUgY29kZSBjbGVhcmVyLgoJICBBbHNvIGF2b2lkIHJlbHlpbmcgb24gdHJhZiBpbmZvcm1hdGlvbiBhcyBpdCBpcyBwbGFjZWQgb24gdGhlCgkgIGVuZCBvZiB0aGUgZmlsZSBhbmQgbWlnaHQgbm90IGJlIGFjZXNzaWJsZSBvbiBwdXNoIG1vZGUuCgoyMDEwLTA5LTEwIDAwOjI5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIHBhcnNpbmcgb2YgdW51c2VkIGF0b20KCSAgc2R0cCBhdG9tIGlzIHBhcnNlZCBidXQgbm90IHVzZWQsIHNvIHdlIGRvbid0IGhhdmUgdG8KCSAgcGFyc2UgaXQuCgoyMDEwLTExLTA5IDExOjQ1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdHdlYWsgd2FtIHN1cHBvcnQKCSAgLi4uIHdpdGggc29tZSBjb21tZW50IGFuZCBwb3J0YWJpbGl0eSBtYWNyb3MuCgoyMDA5LTA5LTIzIDE4OjQ3OjQyICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IHdtYSAmIHZjLTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAwOTo1NjowNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGZtcDQgc2FtcGxlcyBpbmZvcm1hdGlvbgoJICBUaGUgZnJhZ21lbnRlZCBtcDQgZm9ybWF0IHN0b3JlcyB0aGUgdHJhY2tzIGFuZCBzYW1wbGVzIGluZm9ybWF0aW9uIGluIHRoZQoJICAnbW9vZicgYm94ZXMsIHdoaWNoIGFyZSBhcHBlbmRlZCBiZWZvcmUgZWFjaCBmcmFnbWVudCAoZnJhZ21lbnQtPidtb29mJysnbWRhdCcpLgoJICBUaGUgJ21mcmEnIGJveCBzdG9yZXMgdGhlIG9mZnNldCBvZiBlYWNoICdtb29mJyBib3ggYW5kIHRoZWlyIHByZXNlbnRhdGlvbgoJICB0aW1lLiBUaGUgbG9jYXRpb24gb2YgdGhpcyBib3ggY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSAnbWZybycgYm94LCB3aGljaCBpcwoJICBsb2NhdGVkIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIFRoZSAnbWZyYScgYm94IGlzIHBhcnNlZCB0byBnZXQgdGhlIG9mZnNldCBvZiBlYWNoICdtb29mJyBib3ggYW5kIHRoZWlyCgkgIHByZXNlbnRhdGlvbiB0aW1lLgoJICBFYWNoICdtb29mJyBib3ggY2FuIGNvbnRhaW4gaW5mb3JtYXRpb24gZm9yIG9uZSBvciBtb3JlIHRyYWNrcyBpbnNpZGUKCSAgJ3RmaGQnIGJveGVzLiBGb3IgZWFjaCB0cmFjayBpbiBhICdtb29mJywgd2UgaGF2ZSBhICd0cnVuJyBib3gsIHdoaWNoCgkgIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9mIGVhY2ggc2FtcGxlIChvZmZzZXQgYW5kIGR1cmF0aW9uKSB1c2VkIHRvIGJ1aWxkCgkgIHRoZSBzYW1wbGVzIHRhYmxlLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAxNTozNDo0OSArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogYWRkIGZyYWdtZW50ZWQgbXA0IGZvdXJjY3MKCSAgQWRkcyBmb3VyY2MncyBmb3IgdGZyYSwgdGZoZCwgdHJ1biwgc2R0cCwgdHJleCwgbWVoZCBhbmQKCSAgdGhlaXIgZHVtcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAxMDoyNDo1NiArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIHRoZSB0cmFjayBpZCBmcm9tIHRoZSB0cmFjayBoZWFkZXIKCSAgU2lnbmVkLW9mZi1ieTogQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDE0OjEwOjEyICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxsb3cgcHVsbGluZyBhdG9tcyB3aXRoIHVua25vd24gc2l6ZQoJICBTaWduZWQtb2ZmLWJ5OiBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDctMTQgMjA6MTM6NTUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IG1ha2UgcXRkZW11eF9kdW1wX212aGQgcGFyc2UgdmVyc2lvbiAxIGNvcnJlY3RseQoJICBWZXJzaW9ucyAwIGFuZCAxIG9mIG12aGQgaGF2ZSBkaWZmZXJlbnQgc2l6ZXMgb2YgaXRzIHZhbHVlcwoJICAoMzJiaXRzLzY0Yml0cykuIFRoaXMgcGF0Y2ggbWFrZXMgaXQgZHVtcCB0aGVtIGNvcnJlY3RseS4KCSAgQWxzbyB1c2UgdGhlIHJpZ2h0IG5vZGUgaW4gdGhlIHBhcmFtZXRlciBhbmQgbm90IHRoZSByb290IG5vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMTEtMTkgMTI6NDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtaW5vciBjbGVhbnVwcyBpbiBzZXR0aW5nIHN0cmVhbWhlYWRlciBvbiBjYXBzCgoyMDEwLTExLTAyIDE3OjA0OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBub3JtYWxpemUgZW1wdHkgQ3VlcyB0byBubyBDdWVzCgkgIC4uLiB0byB0cmlnZ2VyIGluZGV4bGVzcyBzZWVraW5nLgoKMjAxMC0xMC0yNiAxMToxNTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgd29ya2Fyb3VuZCBmb3IgYnVnZ3kgbGlzdCBzaXplCgkgIEZpeGVzIHRydW5jYXRlZCBleHRyYS1kYXRhIGluIGhkcmwvc3RybC9zdHJmIGR1ZSB0byBidWdneSBjb250YWluaW5nCgkgIGxpc3Qgc2l6ZSBub3QgYWNjb3VudGluZyBmb3IgcGFkZGluZyBpbiBjb250YWluZWQgY2h1bmtzLgoKMjAxMC0xMi0wMiAxNjoxMTowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBkbyBub3QgaG9sZCBjdXN0b20gUEFEX0xPQ0sgd2hlbiBwdXNoaW5nIGRvd25zdHJlYW0KCjIwMTAtMTItMDIgMTY6MTA6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldCBzZXNzaW9uIG1hbmFnZXIgYmFzZSB0aW1lIHdoZW4gZmx1c2hpbmcKCSAgLi4uIGFzIHJ0cGJpbiB1c2VzIHJ1bm5pbmcgdGltZSB0byBoYW5kbGUgcnRwaml0dGVyYnVmZmVyJ3MgYnVmZmVyIG1vZGUgcGF1c2VzLgoKMjAxMC0xMi0wMSAxNjo1MTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGluY2x1ZGUgcmFuZ2UgcmVxdWVzdCBmb3IgYWxsIHN0cmVhbXMgd2l0aCBub24tYWdncmVnYXRlIGNvbnRyb2wKCjIwMTAtMTAtMDcgMTQ6NTA6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZGVidWcgc3RhdGVtZW50CgoyMDEwLTEyLTAzIDE1OjM4OjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUGFyc2UgbW9yZSB2YXJpYW50cyBvZiBudW1lcmljYWwgSURJVCB0YWcKCjIwMTAtMDUtMDcgMTc6MzA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IFVzZSBwcm9wZXIgZnJhbWVyYXRlIHJhbmdlIGluIGNhcHMKCjIwMTAtMTItMDMgMTU6MDQ6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBGaXggcHJldmlvdXNseSB1bmJ1aWxkYWJsZS91bnRlc3RlZCB3YXZlbmMgdGVzdAoKMjAxMC0xMC0yNCAxNToyMTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFJlZmFjdG9yIHRhZyBwdXNoaW5nIGxvZ2ljCgkgIFRoZSBsb2dpYyBvZiB3aGVuIHRvIHB1c2ggd2FzIHdyb25nIGFsc28gKHJlc3VsdGluZyBpbiBzb21lIHRhZ3MgbmV2ZXIKCSAgYmVpbmcgcHVzaGVkKS4KCjIwMTAtMTAtMjQgMTU6MjA6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBVc2UgcGJ1dGlscyBmb3IgY29kZWMgZGVzY3JpcHRpb25zCgoyMDEwLTA0LTEzIDExOjI5OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICBjaGVjazogVXNlIGZhaWxfdW5sZXNzX2VxdWFsc19pbnQgaW5zdGVhZCBvZiBmYWlsX2lmCgkgIE1ha2VzIHRoZSBlcnJvciBtZXNzYWdlIG1vcmUgaW50ZXJlc3RpbmcKCjIwMTAtMTEtMzAgMTk6MjI6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBbHNvIGV4dHJhY3QgSURJVCB0YWdzIHByZXNlbnQgdG9vIGVhcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYxNDMKCjIwMTAtMTEtMzAgMTk6MjE6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBbHNvIGVtaXQgRGF0ZVRpbWUgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYxNDMKCjIwMTAtMTItMDMgMDA6MjI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkZXRlY3QgRFRTIGFkdmVydGlzZWQgYXMgUENNIGNvcnJlY3RseSBpbiBzb21lIG1vcmUgY2FzZXMKCSAgVGhlIERUUyB0eXBlZmluZGVyIG1heSByZXR1cm4gYSBsb3dlciBwcm9iYWJpbGl0eSBmb3IgZnJhbWVzIHRoYXQgc3RhcnQKCSAgYXQgbm9uLXplcm8gb2Zmc2V0cyBhbmQgd2hlcmUgdGhlcmUncyBubyBzZWNvbmQgZnJhbWUgc3luYyBpbiB0aGUgZmlyc3QKCSAgYnVmZmVyLiBJdCdzIGZhaXJseSB1bmxpa2VseSB0aGF0IHdlJ2xsIGFjaWRlbnRhbGx5IGlkZW50aWZ5IFBDTSBkYXRhCgkgIGFzIERUUywgc28gd2UgZG9uJ3QgZG8gYWRkaXRpb25hbCBjaGVja3MgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjIzNAoKMjAxMC0xMS0wOCAxNzoxMTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBtYWtlZmlsZSBjbGVhbnVwCgkgIEZpeCBpbmRlbnRhdGlvbi4gVXNlICQoR1NUX01BSk9STUlOT1IpIGluc3RlYWQgb2YgaGFyZGNvZGVkIDAuMTAuCgoyMDEwLTExLTA4IDE3OjAyOjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGFkZCBhIHRlc3QgZm9yIHdhdiBtdXhpbmcKCjIwMTAtMTEtMDggMTY6NTc6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgdGVzdHM6IHJlbW92ZSBuZXdsaW5lcyBiZXR3ZWVuIHZhcmlhYmxlIGRlY2xzIChvbGQgZ3N0LWluZGVudCBmYWlsdXJlKQoKMjAxMC0xMS0wOCAxNDo0NzowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiB1c2UgcG5nX2Vycm9yKCkgYXMgcmVjb21tZW5kZWQgYnkgbGlicG5nIGRvY3MgdG8gc2lnbmFsIGFuIGVycm9yCgkgIFdpdGhvdXQgdGhhdCB0aGUgZWxlbWVudCBsb29wcyBlbmRsZXNzbHkgb24gYnJvZWtuIHBuZ3MuIEZpeGVzICM2MzQzMTQKCjIwMTAtMTEtMTYgMTc6NDg6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSBhbmQgdXNlIGNyZWF0aW9uIHRpbWUgdGFnIGZyb20gbXZoZAoJICBFeHBvc2UgY3JlYXRpb24gdGltZSBmcm9tIG12aGQgYXMgYSBkYXRldGltZSB0YWcKCSAgRml4ZXMgIzYzNDkyOAoKMjAxMC0xMC0yNyAxOToxNToyMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBBZGQgJ1N0cmVhbVVybCcgbWV0YWRhdGEgYXMgR1NUX1RBR19IT01FUEFHRSB0YWcKCjIwMTAtMTAtMjMgMTk6MzQ6MDAgLTA0MDAgIFRvbSBKYW5pc3pld3NraSA8VG9tLkphbmlzemV3c2tpQGFsY2F0ZWwtbHVjZW50LmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IGZvciBuZWxseW1vc2VyIGNvZGVjaWQgc2V0dGluZwoJICBGaXhlcyBidWcgIzYzMjg5Ny4KCjIwMTAtMTAtMjEgMTY6MTU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIEUtQUMzCgoyMDEwLTEwLTIxIDE2OjE0OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBEVFMKCjIwMTAtMTAtMzEgMTg6MDg6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IHNlbmQgc2Vla3MgYmVoaW5kIHRoZSBlbmQgb2YgZmlsZSB0byB0aGUgc2VydmVyCgkgIEFsc28gaW1wcm92ZSBkZWJ1ZyBvdXRwdXQsIHJlLWluaXRpYWxpemUgdGhlIGNvbnRlbnQgc2l6ZSBhbmQgbGV0IHRoZQoJICBzZWVrIGhhbmRsZXIgZXJyb3Igb3V0IG9uIGludmFsaWQgc2VlayBzZWdtZW50cy4KCSAgRml4ZXMgYnVnICM2MzI5NzcuCgoyMDEwLTEyLTAyIDE3OjUzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiB1c2UgU09QIG1hcmtlcnMgdG8gc3BsaXQgYml0c3RyZWFtCgkgIFdoZW4gcGFyc2luZyB0aGUgYml0c3RyZWFtLCBsb29rIGZvciBTT1AgbWFya2VycyBiZWNhdXNlIHdlIGFyZSBhbGxvd2VkIHRvIHNwbGl0CgkgIHBhY2tldHMgb24gdGhvc2UgbWFya2VyIGJvdW5kYXJpZXMuCgkgIFJld29yayB0aGUgcGFyc2luZyBjb2RlIGEgbGl0dGxlIHNvIHRoYXQgd2UgY2FuIHBhY2sgbXVsdGlwbGUgUGFja2V0aXphdGlvbgoJICB1bml0cyBpbiBvbmUgUlRQIHBhY2tldC4KCjIwMTAtMTEtMTggMTI6NDk6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJICBydHBqMmtwYXk6IHVzZSBidWZmZXIgbGlzdHMKCSAgVXNlIGJ1ZmZlciBsaXN0cyBmb3IgZG9pbmcgemVyb2NvcHkgcGF5bG9hZGluZy4KCSAgQWRkIHByb3BlcnR5IHRvIGRpc2FibGUgYnVmZmVyIGxpc3RzLgoKMjAxMC0xMS0xNiAxNjo1NDoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBzbWFsbCBjbGVhbnVwcwoJICBBbGxvY2F0ZSBhZGFwdGVyIG9ubHkgb25jZS4KCSAgTWFrZSBzb21lIGd1aW50OCAqIGNvbnN0LgoKMjAxMC0xMS0xNiAxNTozOToyNCArMDEwMCAgVGFtYmV0IEluZ28gPHRhbWJldCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGltcGxlbWVudCBmdWxsIGJ5dGVzdHJlYW0gc2NhbiBtb2RlLgoJICBJbXBsZW1lbnQgdGhlIGZ1bGwgYnl0ZXN0cmVhbSBzY2FuIG1vZGUuCgkgIEZpeGVzICM2MzQ5MTAKCjIwMTAtMTEtMTUgMTA6NTI6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgZXhhbXBsZXM6IGltcHJvdmUgUlRQIGV4YW1wbGVzCgkgIE1ha2UgdGhlIGV4YW1wbGVzIHVzZSBhdXRvdmlkZW9zaW5rIGFuZCBmZm1wZWdjb2xvcnNwYWNlIGZvciBiZXR0ZXIKCSAgY29tcMOgdGliaWxpdHkuCgkgIE1ha2Ugc29tZSBtb3JlIHZhcmlhYmxlcyBmb3IgdGhlIHNpbmsgYW5kIHRoZSBkZWNvZGVycy4KCSAgU2V0IHplcm9sYXRlbmN5IHR1bmluZyBvbiB4MjY0ZW5jIGZvciBiZXR0ZXIgcmVhbHRpbWUgcmVzdWx0cy4KCjIwMTAtMTEtMTAgMTE6MDQ6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2VsZWN0IG11bHRpY2FzdCB0cmFuc3BvcnRzIGluIGEgc21hcnRlciB3YXkKCSAgV2hlbiB3ZSBzZWUgYSBtdWx0aWNhc3QgYWRkcmVzcyBpbiB0aGUgU0RQIGNvbm5lY3Rpb24sIG9ubHkgdHJ5IHRvIG5lZ290aWF0ZSBhCgkgIG11bHRpY2FzdCB0cmFuc3BvcnQgd2l0aCB0aGUgc2VydmVyLgoJICBGaXhlcyAjNjM0MDkzCgoyMDEwLTEyLTAyIDE4OjE0OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBHTGliIHJlcXVpcmVtZW50IHRvIGltcGxpY2l0IHJlcXVpcmVtZW50CgkgIGllLiA+PSAyLjIwIHdoaWxlIHdlIGRlcGVuZCBvbiBjb3JlL2Jhc2UgMC4xMC4zMQoKMjAxMC0xMi0wMiAxODoxMzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI2ID09PQoKMjAxMC0xMi0wMSAyMToxNTowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI2CgoyMDEwLTExLTMwIDE1OjI4OjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogYW5hbHlzZSBSRkYgZmllbGRzIGluIGNvcnJlY3Qgb3JkZXIKCSAgQ29kZSB3YXMgcmVwZWF0aW5nIHRoZSBzZWNvbmQgZmllbGQsIG5vdCB0aGUgZmlyc3QuCgkgIEZpeGVzOiAjNjM2MTc5LgoKMjAxMC0xMS0yOSAxNTozMjo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBzdGFsZSBkaWdlc3QgYXV0aGVudGljYXRpb24gc2Vzc2lvbiBkYXRhCgkgIEluIHBhcnRpY3VsYXIsIGhhbmRsZSBVbmF1dGhvcml6ZWQgc2VydmVyIHJlc3BvbnNlIHdoZW4gdHJ5aW5nIHRvIGNvbnZleQoJICBrZWVwLWFsaXZlLgoJICBGaXhlcyAjNjM1NTMyLgoKMjAxMC0xMS0yNiAxNTowMDoyOSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IHNlZ2ZhdWx0IG9uIGVtcHR5IHBheWxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTg0MwoKMjAxMC0xMS0yNSAxOTowNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0xOCAwMDo0NToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS41IHByZS1yZWxlYXNlCgoyMDEwLTExLTE4IDAwOjQ0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9maS5wbzoKCSogcG8vaHUucG86CgkqIHBvL3NrLnBvOgoJKiBwby90ci5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMTEtMTQgMDA6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggcmVmZXJlbmNlIGxlYWsKCjIwMTAtMTEtMTIgMjM6NTk6MDYgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRmx1c2ggUW9TIGFuZCBoaXN0b3J5IGJlZm9yZSBhcHBseWluZyBzZWdtZW50CgkgIFdoZW4gaGFuZGxpbmcgbmV3c2VnbWVudCwgZmx1c2ggb3V0IHRoZSBidWZmZXIgaGlzdG9yeSBpbiB0aGUKCSAgZXhpc3Rpbmcgc2VnbWVudCwgbm90IHRoZSBuZXcgb25lLiBGaXhlcyBwbGF5YmFjayBpbiBzb21lIERWRAoJICBjYXNlcy4KCSAgUGFydGlhbGx5IGZpeGVzICM2MzMyOTQKCjIwMTAtMTEtMTIgMTI6MjA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBpbXByb3ZlIGV2ZW50IGxvZ2dpbmcKCjIwMTAtMTEtMDUgMTc6MDA6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCBmaWVsZCBoaXN0b3J5IGZsdXNoaW5nCgkgIEluIGEgbnVtYmVyIG9mIGNhc2VzIGl0IGlzIG5lY2Vzc2FyeSB0byBmbHVzaCB0aGUgZmllbGQgaGlzdG9yeSBieQoJICBwZXJmb3JtaW5nICdkZWdyYWRlZCcgZGVpbnRlcmxhY2luZyAtIHRoYXQgaXMsIHVzaW5nIHRoZSB1c2VyLWNob3NlbgoJICBtZXRob2QgZm9yIGFzIG1hbnkgZmllbGRzIGFzIHBvc3NpYmxlLCB0aGVuIHVzaW5nIHZmaXIgZm9yIGFzIGxvbmcgYXMKCSAgdGhlcmUgYXJlID49IDIgZmllbGRzIHJlbWFpbmluZyBpbiB0aGUgaGlzdG9yeSwgdGhlbiB1c2luZyBsaW5lYXIgZm9yCgkgIHRoZSBsYXN0IGZpZWxkLgoJICBUaGlzIHNob3VsZCBhdm9pZCBsb3NpbmcgZmllbGRzIGJlaW5nIGtlcHQgZm9yIGhpc3RvcnkgZm9yIGV4YW1wbGUgYXQKCSAgRU9TLgoJICBUaGlzIG1heSBhZGRyZXNzIHBhcnQgb2YgIzYzMzI5NAoKMjAxMC0xMS0wNSAxNTo0NDozNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZWZhY3RvciBjaGFpbiBmdW5jdGlvbgoJICBUaGlzIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIG91dHB1dCBhIGZyYW1lIGZyb20gb3V0c2lkZSB0aGUgY2hhaW4KCSAgZnVuY3Rpb24sIGkuZS4gaW4gdGhlIGZvbGxvd2luZyBjb21taXQgdGhhdCBhZGRzIGZsdXNoaW5nIG9mIHRoZSBmaWVsZAoJICBoaXN0b3J5LgoKMjAxMC0xMS0wNSAxNzoxNzo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogd2Ugc3RpbGwgcmVxdWlyZSBHdGsrID49IDIuMTQuMCB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IDIuMAoJICBUaGUgY2hlY2sgZm9yIHRoZSBtaW5vciB2ZXJzaW9uIHdhcyBkcm9wcGVkIGluIHRoZSBwcmV2aW91cyBjb21taXQuCgoyMDEwLTExLTA1IDE2OjI0OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgLS13aXRoLWd0ayBvcHRpb24gYW5kIGRlZmF1bHQgdG8gR3RrKyAyLjAgd2hpbGUgdGhlIDMuMCBBUEkgaXMgc3RpbGwgaW4gZmx1eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MDE0CgoyMDEwLTExLTA0IDE2OjQyOjA3ICsxMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogZml4IHVzZS1hZnRlci1mcmVlIG9mIHRhZ2xpc3QKCSAgQnJva2VuIGJ5IGNvbW1pdCA0YzJmNTMzMyAoYnVnICM2MzAyMDUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMzOTcwCgoyMDEwLTExLTAxIDE3OjI5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjQgcHJlLXJlbGVhc2UKCjIwMTAtMTEtMDEgMTc6Mjg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VzLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMTEtMDEgMTY6MDQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMTEtMDEgMTQ6NTY6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IG9ubHkgc2V0IGRlbHRhIHVuaXQgb24gYWxsLW5vbi1rZXkgdW5pdHMKCSAgT25seSBzZXQgdGhlIGRlbHRhIGZsYWcgd2hlbiBhbGwgb2YgdGhlIHVuaXRzIGluIHRoZSBwYWNrZXQgYXJlIGRlbHRhIHVuaXRzLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCSAgRml4ZXMgIzYzMjk0NQoKMjAxMC0xMC0yNiAxNTo0NDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IFJldHVybiBub3QtbmVnb3RpYXRlZCB3aGVuIGJwcyBpcyB1bmtub3duCgkgIElmIGNhcHMgd2VyZW4ndCBuZWdvdGlhdGVkLCBnb29tIHNob3VsZCByZXR1cm4gbm90LW5lZ290aWF0ZWQKCSAgZnJvbSBpdHMgY2hhaW4gZnVuY3Rpb25zIGluc3RlYWQgb2YgdXNpbmcgYnBzIHVuaXRpYWxpemVkLCB3aGljaAoJICBsZWFkcyB0byBhIGRpdmlzaW9uIGJ5IDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMzIxMgoKMjAxMC0xMC0yNyAxMzoxNjo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YmJkNzA4IHRvIDAxMWJjYzgKCjIwMTAtMTAtMjYgMTY6NTQ6MTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBGb3J3YXJkIHNyYyBwYWQgZXZlbnRzIHVwc3RyZWFtLgoJICBGaXggcGFzc2luZyBuYXZpZ2F0aW9uIGFuZCBvdGhlciBldmVudHMgdXBzdHJlYW0gYnkgYWN0dWFsbHkgc2VuZGluZyB0aGVtLgoJICBGaXhlczogIzYzMzIwNQoKMjAxMC0xMC0yNCAxODo1MDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWFkbG9jayBpbiBlcnJvciBjb2RlIHBhdGgKCSAgR1NUX0VMRU1FTlRfRVJST1IgbXVzdCBub3QgYmUgY2FsbGVkIHdpdGggdGhlIG9iamVjdCBsb2NrIGhlbGQsCgkgIHNpbmNlIGl0IHdpbGwgY2FsbCBnc3Rfb2JqZWN0X2dldF9wYXJlbnQoKSBpbnRlcm5hbGx5LCB3aGljaAoJICB0YWtlcyB0aGUgb2JqZWN0IGxvY2sgYXMgd2VsbC4KCjIwMTAtMTAtMjAgMTA6MjE6NDggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIHVzZWxlc3MgY2xlYXJpbmcgb2Ygc2VuZF94aXBoX2hlYWRlcnMgZm9yIERpcmFjCgkgIFRoaXMgbG9va3MgbGlrZSBhIG1pc3Rha2Ugd2hlbiBjb3B5LXBhc3RpbmcgdGhlIFRoZW9yYSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyNjgyCgoyMDEwLTEwLTIwIDEzOjI4OjI4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGNyYXNoIGlmIHZvcmJpcy90aGVvcmEgY29kZWMgZGF0YSBpcyBtaXNzaW5nCgkgIEVycm9yIG91dCBwcm9wZXJseSBpbiB0aGlzIGNhc2UgaW5zdGVhZCBvZiBjcmFzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjY4MgoKMjAxMC0xMC0yMiAxODoxMTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS4zIHByZS1yZWxlYXNlCgoyMDEwLTEwLTE5IDE2OjQ1OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGR1cmF0aW9uIHJlcG9ydGluZwoJICBJbml0IHNlZ21lbnQgcHJpb3IgdG8gc3RvcmluZyBkdXJhdGlvbiBpbmZvIGluIGl0LgoJICBGaXhlcyAjNjMyNTQ4LgoKMjAxMC0xMC0xOSAxNDoyMTo1MyArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIGdjb25mOiBEb24ndCBpbnN0YWxsIHNjaGVtYXMgd2hlbiBHQ29uZiBpcyBkaXNhYmxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyNTUzCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTkgMTM6NDQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcmVtb3ZlIERFQlVHX0ZVTkNQVFIgZnJvbSBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTEwLTE5IDEyOjIwOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHZhcmlvdXM6IGNhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcwoKMjAxMC0xMC0xOSAxMDowNjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIHZhcmlvdXMgKGV4dCk6IGFkZCBhIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoKMjAxMC0xMC0xNiAxNTo0Mzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHNldCBHU1RfUEFDS0FHRV9SRUxFQVNFX0RBVEVUSU1FIGFsc28gaW4gd2luMzIgY29uZmlnLmgKCjIwMTAtMTAtMTYgMDE6MzM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuMiBwcmUtcmVsZWFzZQoKMjAxMC0xMC0xNiAwMToyNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9lbC5wbzoKCSogcG8vdmkucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTEwLTE1IDEzOjIyOjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogRG9uJ3QgZGlzdCBnZW5lcmF0ZWQgb3JjIGZpbGVzCgoyMDEwLTEwLTE1IDE0OjAyOjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIFVwZGF0ZSBnZW5lcmF0ZWQgb3JjIGNvZGUKCjIwMTAtMTAtMTUgMTg6MDA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgT3JjIHJlcXVpcmVtZW50IHRvIDAuNC4xMQoKMjAxMC0xMC0xNCAxNzo0MTozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVXNlIHRoZSByaWdodCBjb25zdGFudCB0byBkZWZpbmUgdGhlICJ1c2UtcGlwZWxpbmUtY2xvY2siIHByb3BlcnR5CgkgIFRoZSB3cm9uZyAjZGVmaW5lIHdhcyBiZWluZyB1c2VkLCBub3cgdXNlIHRoZSBjb3JyZWN0IG9uZS4KCjIwMTAtMTAtMTQgMTI6MzE6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YTY2OGJmIHRvIDdiYmQ3MDgKCjIwMTAtMTAtMTQgMTc6MjY6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgYWMzOiBkZW11eGVycyBwcm92aWRlIGZyYW1lZCBvdXRwdXQKCjIwMTAtMTAtMTQgMDA6MTE6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgbWF0cm9za2FtdXg6IHJlZHVjZSBuZXdzZWdtZW50IGV2ZW50IHNwYW0gYW5kIHNldCBkaXNjb250IGZsYWcgd2hlcmUgbmVlZGVkCgkgIE9ubHkgc2VuZCBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIG5ldyBwb3NpdGlvbnMgZG93bnN0cmVhbSB3aGVuIGFjdHVhbGx5CgkgIG5lZWRlZCwgaW5zdGVhZCBvZiBzZW5kaW5nIG11bHRpcGxlIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggbmV3IHNlZWsKCSAgcG9zaXRpb25zIGluIGEgcm93LiBBbHNvIHNldCB0aGUgZGlzY29udCBmbGFnIG9uIGJ1ZmZlcnMgYWZ0ZXIgYQoJICBkaXNjb250aW51aXR5LgoKMjAxMC0xMC0xMyAyMzo0NjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBtYXRyb3NrYW11eDogc2V0IGNvcnJlY3QgYnVmZmVyIG9mZnNldHMgYWZ0ZXIgc2Vla3MKCSAgUmUtdXNlIHRoZSBleGlzdGluZyAncG9zJyBmaWVsZCBtYWludGFpbmVkIGJ5IGVibWwgd3JpdGVyIHRvIHNldAoJICBidWZmZXIgb2Zmc2V0cy4gVGhpcyBhbHNvIG1ha2VzIHN1cmUgdGhhdCB3ZSBzZXQgdGhlIHJpZ2h0IG9mZnNldHMKCSAgb24gYnVmZmVycyBhZnRlciBhIHNlZWsgKGUuZy4gd2hlbiB3cml0aW5nIGFuIGluZGV4IGF0IHRoZSBlbmQpLgoKMjAxMC0xMC0xNCAwMDoyMjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBmb3J3YXJkIHRhZyBldmVudHMgZG93bnN0cmVhbQoJICBEb24ndCBmb3J3YXJkIHN0cmVhbS1zcGVjaWZpYyB0YWcgZXZlbnRzIGRvd25zdHJlYW0gKGVzcC4gbm90CgkgIGJlZm9yZSBhbnkgbmV3c2VnbWVudCBldmVudCkueAoKMjAxMC0xMC0xMyAxNzoxNToyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGhhbmRsZSBhbm90aGVyIG1wNHYgdmFyaWF0aW9uCgkgIC4uLiBpbmNsdWRpbmcgdGhlIGdsYmwgYXRvbSBjb250YWluaW5nIGNvZGVjLWRhdGEuCgoyMDEwLTEwLTEzIDE3OjIxOjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBhIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoKMjAxMC0xMC0xMyAxNzoxMzowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdmFyaW91cyAoc3lzKTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTEzIDE2OjI1OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHZhcmlvdXMgKGV4dCk6IGFkZCBhIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoKMjAxMC0xMC0xMyAxNjozNDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJICB2YXJpb3VzOiB3cmFwIHByb3BlcnR5IHJlZ2lzdHJhdGlvbiBhbmQgYWRkIGEgc2luZ2xlIGZpeG1lIGZvciBsb25nIGRlc2MuCgoyMDEwLTEwLTEzIDExOjQ2OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBhbHdheXMgbWFyayB0aGUgY29kZWNfZGF0YSBhcyBrZXlmcmFtZQoJICBXZSBuZWVkIHRvIG1hcmsgdGhlIGNvZGVjX2RhdGEgYXMgYSBrZXlmcmFtZSBvciBlbHNlIGRvd25zdHJlYW0gZGVjb2RlcnMgbWlnaHQKCSAgZGVjaWRlIHRvIHNraXAgaXQsIHdhaXRpbmcgZm9yIGEga2V5ZnJhbWUuCgkgIEZpeGVzICM2MzE5OTYKCjIwMTAtMTAtMTMgMDc6MTY6NDcgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBidWZmZXIgb2Zmc2V0cyBhIGJ5dGUgY291bnQgcmF0aGVyIHRoYW4gYSBidWZmZXIgY291bnQKCjIwMTAtMTAtMDcgMjE6MTI6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBleHQsIGdzdDogY2Fub25pY2FsaXNlIHByb3BlcnR5IG5hbWVzIHdoZXJlIHRoaXMgd2Fzbid0IHRoZSBjYXNlCgkgIGllLiAiZm9vX2JhciIgLT4gImZvby1iYXIiCgoyMDEwLTEwLTEyIDE1OjAyOjQyICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBmaXggdGltZXN0YW1waW5nIG9mIHJ0cCBidWZmZXJzCgkgIEluY29tbWluZyBidWZmZXIgaXMgb25seSBwdXNoZWQgb24gdGhlIGFkYXB0ZXIgYXQgdGhlIGVuZCBvZiB0aGUKCSAgaGFuZGxlX2J1ZmZlciBmdW5jdGlvbi4gQnV0IGR1cmF0aW9uL3RpbWVzdGFtcCBvZiB0aGlzIGJ1ZmZlciBpcyBhbHJlYWR5CgkgIHRha2VuIGludG8gYWNjb3VudCBmb3IgdGhlIGN1cnJlbnQgZGF0YSBpbiB0aGUgYWRhcHRlci4gVGhpcyBsZWFkcyB0bwoJICB3cm9uZyBydHAgdGltZXN0YW1wcyBhbmQgZXh0cmEgbGF0ZW5jeS4KCjIwMTAtMTAtMTIgMTE6Mzc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IEZpeCBidWlsZCB3aXRoIEdUSysgMy4wCgoyMDEwLTEwLTExIDE1OjEyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXJrIGFzIGEgc291cmNlCgkgIE1hcmsgdGhlIHJ0c3BzcmMgZWxlbWVudCBhcyBhIHNvdXJjZS4KCSAgUmVxdWlyZXMgMC4xMC4zMS4xIG5vdwoKMjAxMC0xMC0xMSAxNDoyNDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IFNldCBHU1RfRUxFTUVOVF9JU19TT1VSQ0UgZmxhZyBvbiBzb3VyY2VzCgoyMDEwLTEwLTExIDE0OjIxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSAgc3dpdGNoc3JjOiBTZXQgdGhlIEdTVF9FTEVNRU5UX0lTX1NPVVJDRSBmbGFnCgoyMDEwLTEwLTExIDE0OjE3OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIGNvcmUgMC4xMC4zMC4xCgoyMDEwLTEwLTEwIDE0OjQzOjU4ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgbWF0cm9za2FtdXg6IHNldCBvZmZzZXRzIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMTAtMTAtMDkgMTQ6MTQ6MjcgKzAyMDAgIElPaGFubmVzIG0gem3DtmxuaWcgPHptb2VsbmlnQGllbS5hdD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBPbmx5IGdldC9zZXQgb3ZlcmxheSBwYXJhbXMgaWYgbmVlZGVkCgkgIGl0J3MgcGVyZmVjdGx5IG9rIGZvciBhIHZpZGVvIG91dHB1dCBkZXZpY2UgdG8gbm90IGhhdmUgb3ZlcmxheSBjYXBhYmlsaXRpZXMuCgkgIHRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgbmVlZCB0byBnZXQvc2V0IHRoZSBvdmVybGF5IHBhcmFtZXRlcnMgaWYgdGhlIHVzZXIKCSAgZG9lcyBub3QgZXhwbGljaXRlbHkgcmVxdWVzdCBvbmUgb2YgdGhlIG92ZXJsYXkgcHJvcGVydGllcwoKMjAxMC0wOS0zMCAxNToyODoyMyArMDIwMCAgSU9oYW5uZXMgbSB6bcO2bG5pZyA8em1vZWxuaWdAaWVtLmF0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFByb3RlY3QgYWdhaW5zdCBOVUxMLXBvaW50ZXIgYWNjZXNzCgkgIGdzdF92NGwyc2lua19jaGFuZ2Vfc3RhdGUoKSB3b3VsZCBmcmVlIHRoZSBwb29sIHdpdGhvdXQgY2hlY2tpbmcgd2hldGhlciB0aGVyZQoJICB3YXMgYSB2YWxpZCBwb29sLi4uCgoyMDEwLTEwLTA4IDEyOjQzOjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzRhOGFkYyB0byA1YTY2OGJmCgoyMDEwLTEwLTA4IDEyOjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWUzYzliZiB0byBjNGE4YWRjCgoyMDEwLTEwLTA2IDExOjI5OjU1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCByZXF1aXJlZCBmaWVsZHMgbG9naWMKCSAgQm90aCBoaXN0b3J5X2NvdW50IGFuZCBmaWVsZHNfcmVxdWlyZWQgY291bnQgZnJvbSAxLiBBcyBwZXIgdGhlIHdoaWxlIGxvb3AKCSAgY29uZGl0aW9uIHRoYXQgZm9sbG93cyB0aGlzIGNvZGUsIHRvIHBlcmZvcm0gdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCB3ZSBuZWVkCgkgIGhpc3RvcnlfY291bnQgPj0gZmllbGRzX3JlcXVpcmVkIGZpZWxkcyBpbiB0aGUgaGlzdG9yeS4gVGhlcmVmb3JlIGlmIHdlIGhhdmUKCSAgaGlzdG9yeV9jb3VudCA8IGZpZWxkc19yZXF1aXJlZCAobm90IGZpZWxkc19yZXF1aXJlZCArIDEpLCB3ZSBuZWVkIG1vcmUgZmllbGRzLgoKMjAxMC0wOS0yMCAxOTo0Mzo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiByZXNlbmQgb25NZXRhZGEgdGFnIHdoZW4gdGFncyBjaGFuZ2VzIGluIHN0cmVhbWFibGUgbW9kZQoKMjAxMC0xMC0wNSAxOTo0MDo1MCArMDEwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFBQyBjb2RlY19kYXRhIGNhbiBiZSA+IDIgYnl0ZXMgbG9uZwoJICBUaGlzIGZpeGVzIHRoZSBhc3N1bXB0aW9uIHRoYXQgRGVjb2RlclNwZWNpZmljSW5mbyBtdXN0IGJlIDIgYnl0ZXMgbG9uZwoJICBmb3IgQUFDIGZpbGVzLiBUaGUgc3BlY2lmaWNhdGlvbiBhbGxvd3MgSEUtQUFDIHRvIGJlIGV4cGxpY2l0bHkKCSAgc2lnbmFsbGVkIGluIGEgYmFja3dhcmQgY29tcGF0aWJsZSB3YXkuIFRoaXMgaXMgZG9uZSBieSBtZWFucyBvZiBhbgoJICBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFmdGVyIHRoZSByZWd1bGFyIEFBQyBoZWFkZXIuIEl0IGlzIGV4cGVjdGVkIHRoYXQKCSAgZGVjb2RlcnMgdGhhdCBjYW4gcGxheSBBQUMgYnV0IG5vdCBIRS1BQUMgd2lsbCBwYXJzZSB0aGUgaGVhZGVyIG5vcm1hbGx5CgkgIGFuZCBpZ25vcmUgZXh0ZW5kZWQgYml0cywgbXVjaCBhcyB0aGV5IGRvIGZvciB0aGUgSEUtQUFDIHNwZWNpZmljIHBheWxvYWQKCSAgaW4gdGhlIGFjdHVhbCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIzMTMKCjIwMTAtMTAtMDUgMTY6MDE6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgdW5yZWYgYnVmZmVyIHdoZW4gbm8gbG9uZ2VyIG5lZWRlZCBmb3IgY2x1c3RlciBzY2FubmluZwoJICBGaXhlcyAjNjI5MDQ3LgoKMjAxMC0xMC0wNSAxNjowMDo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgaW5maW5pdGUgY2x1c3RlciBzY2FubmluZwoKMjAxMC0xMC0wNSAxMjoyMDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tOiB0YWtlIGR1cmF0aW9uIGludG8gYWNjb3VudCB3aGVuIGRvaW5nIFFvUwoJICBUYWtlIHRoZSBkdXJhdGlvbiBvZiB0aGUgZnJhbWVzIGludG8gYWNjb3VudCBzbyB0aGF0IHdlIGRvbid0IGRyb3AgZnJhbWVzIHRoYXQKCSAgYXJlIG9ubHkgcGFydGlhbGx5IHBhc3QgdGhlIFFvUyBkZWFkbGluZS4KCjIwMTAtMTAtMDUgMTA6NDA6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb206IHVzZSBhZGFwdGVyIGZvciB0aW1lc3RhbXBpbmcKCSAgVXNlIHRoZSBhZGFwdGVyIHRpbWVzdGFtcCBjb2RlIHRvIGdldCBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcHMuCgkgIEZpeCBsYXRlbmN5IGNhbGN1bGF0aW9uLCB3ZSBhZGQgb3VyIG93biBsYXRlbmN5IGluIHRoZSB3b3JzdCBjYXNlLgoKMjAxMC0xMC0wNCAyMjozMTozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSAgcmF3MTM5NDogRG9uJ3QgY29tcGlsZSBoZHYxMzk0c3JjIGlmIGxpYmllYzYxODgzIGlzbid0IGF2YWlsYWJsZQoJICBGaXhlcyAjNjI5ODk2CgoyMDEwLTA5LTIwIDE5OjQ0OjA5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IGZvcndhcmQgdGFnIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwMjA1CgoyMDEwLTEwLTA0IDE5OjAwOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiByZXBvcnQgb3VyIGxhdGVuY3kgY29ycmVjdGx5CgkgIEZpeGVzICM2MzEzMDMKCjIwMTAtMTAtMDQgMTg6NTY6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IGFkZCBkZWZpbmVzIGZvciBkZWZhdWx0IHdpZHRoL2hlaWdodC9mcHMKCSAgQWRkIHNvbWUgZGVmaW5lcyBmb3IgdGhlIGRlZmF1bHQgd2lkdGgvaGVpZ2h0L2ZwcyBpbnN0ZWFkIG9mIHVzaW5nIGRpZmZlcmVudAoJICB2YWx1ZXMgaW4gZGlmZmVyZW50IHBsYWNlcy4KCjIwMTAtMTAtMDQgMTg6NTI6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGFkZCBsYXRlbmN5IGNvbXBlbnNhdGlvbiBjb2RlLgoJICBJbXBsZW1lbnQgYSBsYXRlbmN5IHF1ZXJ5IGFuZCByZXBvcnQgaG93IG11Y2ggbGF0ZW5jeSB3ZSB3aWxsIGFkZCB0byB0aGUKCSAgc3RyZWFtLgoJICBBbHNlIG1ha2Ugc29tZSBkZWZhdWx0cyBmb3IgdGhlIGRlZmF1bHQgd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZQoJICBGaXhlcyAjNjMxMzAzCgoyMDEwLTEwLTA0IDE3OjU2OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEucHk6CgkgIHRlc3Q6IGFkZCBweXRob24gdmVyc2lvbiBvZiB0aGUgYXVkaW8gc2VuZGVyCgkgIEFkZCBhIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBhdWRpbyBzZW5kZXIgcGlwZWxpbmUuCgkgIFBvcnRlZCBieSBTcDRyYyBvbiBJUkMuCgoyMDEwLTEwLTA0IDE3OjUyOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnB5OgoJICB0ZXN0czogQWRkIHB5dGhvbiBSVFAgY2xpZW50IGV4YW1wbGUKCSAgQWRkIGEgcHl0aG9uIHZlcnNpb24gb2YgdGhlIFBDTUEgY2xpZW50IGFwcC4KCSAgUG9ydGVkIGJ5IFNwNHJjIG9uIElSQy4KCjIwMTAtMTAtMDQgMDk6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgIHJ0cDogRml4IHVuaXRpYWxpemVkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TIFggYnVpbGQgYm90CgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZyB0aG91Z2gsIHRoZSB2YXJpYWJsZXMgYXJlIG9ubHkgdXNlZCBpbgoJICB0aGUgY2FzZXMgd2hlcmUgdGhleSAqYXJlKiBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMTAtMDMgMjM6NDk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkgIHJ0cGc3MjJwYXk6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgVGhlIGNsb2NrIHJhdGUgaXMgYWx3YXlzIDgwMDAgSHogYWNjb3JkaW5nIHRvIHRoZSBSRkMgYW5kCgkgIHRoZSBzYW1wbGluZyByYXRlIG11c3QgYWx3YXlzIGJlIDE2MDAwIEh6LgoKMjAxMC0xMC0wMSAxMzo1OToxMCArMDQwMCAgVmxhZGltaXIgRXJlbWVldiA8ZXJlbWVldkBhdGxhbnRpcy5ydT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgYXJ0aWNsZSByZWZlcmVuY2UgaW4gY29tbWVudCBibG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxMDgyCgoyMDEwLTA0LTMwIDIxOjAwOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgIHF0ZGVtdXg6IFVzZSBwYnV0aWxzIGZvciBILjI2NCBwcm9maWxlL2xldmVsIGV4dHJhY3Rpb24KCSAgVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGV4dHJhY3QgdGhpcyBkYXRhIGhhdmUgYmVlbiBtb3ZlZCB0byBnc3RwYnV0aWxzIHRvCgkgIGZhY2lsaXRhdGUgcmV1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTczMTgKCjIwMTAtMDQtMzAgMjE6MDA6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBwYnV0aWxzIGZvciBILjI2NCBwcm9maWxlL2xldmVsIGV4dHJhY3Rpb24KCSAgVGhlIGZ1bmN0aW9ucyB1c2VkIHRvIGV4dHJhY3QgdGhpcyBkYXRhIGhhdmUgYmVlbiBtb3ZlZCB0byBnc3RwYnV0aWxzIHRvCgkgIGZhY2lsaXRhdGUgcmV1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTczMTgKCjIwMTAtMDQtMjIgMTk6Mzk6NDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgTVBFRy00IHZpZGVvIHByb2ZpbGUgYW5kIGxldmVsIGluIHN0cmVhbSBjYXBzCgkgIFRoaXMgdXNlcyBnc3RwYnV0aWxzIHRvIGV4dHJhY3QgdGhlIHByb2ZpbGUgYW5kIGxldmVsIGZyb20gdGhlIHZpZGVvCgkgIG9iamVjdCBzZXF1ZW5jZSBhbmQgYWRkcyB0aGlzIHRvIHN0cmVhbSBjYXBzLiBUaGlzIGNhbiBiZSB1c2VkIGFzCgkgIG1ldGFkYXRhIGFuZCBmb3IgZmluZS1ncmFpbmVkIGRlY29kZXIgc2VsZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2NTIxCgoyMDEwLTA5LTMwIDEyOjQ0OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGFhYyBjaGFubmVsIG92ZXJyaWRlIGJhc2VkIG9uIGNvZGVjIGRhdGEgZm9yIDcuMSBjYXNlCgoyMDEwLTA0LTMwIDE0OjA2OjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBBQUMgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIEFBQyBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzIGZvciB1c2UgYXMgbWV0YWRhdGEgYW5kCgkgIChldmVudHVhbGx5KSBmb3IgbW9yZSBmaW5lLWdyYWluZWQgc2VsZWN0aW9uIG9mIGRlY29kZXJzIGF0CgkgIGNhcHMtbmVnb3RpYXRpb24gdGltZS4gKERvZXNuJ3Qgd29yayBmb3IgSEUtQUFDIHlldCB0aG91Z2guKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMzEzCgoyMDEwLTA5LTMwIDE4OjM0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJICBydHA6IGFkZCBHNzIyIHBheSBhbmQgZGVwYXlsb2FkZXIKCjIwMTAtMDktMzAgMTI6MDg6NDkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiB1cGRhdGUgbGluayB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTMwIDExOjM0OjU2ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJICBleGFtcGxlczogZml4IGluZGVudGF0aW9uIG9uIHJ0cCBjbGllbnQgZXhhbXBsZQoKMjAxMC0wOS0zMCAxMTozMzoyNCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkgIGV4YW1wbGVzOiBmaXggdHlwbyBpbiBwb3J0IG9mIHJ0cCBleGFtcGxlcwoKMjAxMC0wOS0yOSAxMzoyMDoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IG1pbmlzY3VsZSBjb2RlIGNsZWFuLXVwCgkgIEdTVF9DTE9DS19USU1FX05PTkUgaXMgbm90IHNvbWV0aGluZyB0aGF0IHNob3VsZCBiZSB1c2VkIGluIGNvbm5lY3Rpb24gd2l0aAoJICBHU1RfRk9STUFUX0JZVEVTLgoKMjAxMC0wOS0yOSAxMDozNDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXZlcnNlIHBsYXliYWNrOyBwcmV2ZW50IG92ZXJsYXAgb2Ygc3Vic2VxdWVudCBmcmFnbWVudHMKCjIwMTAtMDktMjggMTY6MjE6NDggKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtaXNzaW5nIG51bGwtdGVybWluYXRvciBpbiBwcm90b2NvbHMgYXJyYXkKCSAgRml4ZXMgcmFuZG9tIGNyYXNoIHJlZ3Jlc3Npb24gZnJvbSBjb21taXQgYWU4NGFlLgoKMjAxMC0wOS0yNCAxNjoyNjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgYWRkIC9VRFAgaW4gdGhlIHRyYW5zcG9ydCwgaXQncyB0aGUgZGVmYXVsdAoJICBkb24ndCBhZGQgdGhlIGRlZmF1bHQgVURQIGxvd2VyLXRyYW5zcG9ydCwgc29tZSBzZXJ2ZXJzIGRvbid0IHNlZW0gdG8gbGlrZSBpdC4KCSAgRml4ZXMgIzYzMDUwMAoKMjAxMC0wNi0yNSAxNzowODowMyArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwbWFuYWdlcjogcGFja2V0IGxvc3Qgc2hvdWxkIG5vdCBiZSBhIHdhcm5pbmcuIEl0IGhhcHBlbnMgYWxsIHRoZSB0aW1lLi4uCgoyMDEwLTA5LTI0IDE1OjMzOjQwICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IE1ha2UgY2xlYW5pbmcgdXAgc291cmNlcyBpbiBydHBfc2Vzc2lvbl9vbl90aW1lb3V0IE1UIHNhZmUKCSAgVXNpbmcgX2ZvcmVhY2hfcmVtb3ZlIG9uIHRoZSBoYXNodGFibGUsIHdoaWxlIHJlbGVhc2luZyB0aGUgbG9jayBwcm90ZWN0aW5nCgkgIHRoYXQgdGFibGUgaW5zaWRlIHRoZSBjYWxsYmFjayBpcyBub3QgYSBnb29kIGlkZWEuIFRoZSBoYXNodGFibGUgbWlnaHQKCSAgdGhlbiBjaGFuZ2UgKGEgc291cmNlIHJlbW92ZWQgb3IgYWRkZWQpIHdoaWxlIHNpZ25hbHMgbGlrZSBvbl90aW1lb3V0CgkgIGFyZSBiZWluZyBzZW50LgoJICBUaGlzIHNvbHV0aW9uIG1ha2VzIGEgY29weSBvZiB0aGUgdGFibGUsIHBlcmZvcm1zIHRoZSBfZm9yZWFjaCB3aXRob3V0CgkgIGFjdHVhbGx5IHJlbW92aW5nIGFueSBzb3VyY2VzLCBidXQgbWFya3MgdGhlbSBmb3IgcmVtb3ZhbCBvbiBhIHNlY29uZAoJICBpdGVyYXRpb24gd2l0aCB0aGUgcmVhbCBsaXN0LCBidXQgdGhpcyB0aW1lIG5vdCBsZXR0aW5nIGdvIG9mIHRoZSBsb2NrLgoJICBGaXhlcyAjNjMwNDUyCgoyMDEwLTA5LTI0IDE1OjE5OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IFNhbml0aXplIGlkMyBmcmFtZSBuYW1lcwoJICBUaGlzIGlzIHNpbWlsYXIgdG8gd2hhdCBpcyBkb25lIGluIHF0ZGVtdXguIEF2b2lkcyBwcm92aWRpbmcgaW52YWxpZAoJICBzdHJ1Y3R1cmUvdGFncyBuYW1lcwoKMjAxMC0wOS0yNCAxNDo1OTo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgYXBlZGVtdXg6IFNraXAgZW1wdHkgdGFncwoJICBBdm9pZCBjcmVhdGluZyBib2d1cyBzdHJpbmcgdGFncy4gQWxzbyBhZGRlZCBsb2dnaW5nIG9mIHRoZSBzdHJpbmcKCSAgdmFsdWVzIG9mIHRoZSB0YWcgbmFtZSBhbmQgdmFsdWUuCgoyMDEwLTA5LTI0IDA4OjU2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0CgoyMDEwLTA0LTEyIDA5OjQ5OjE0ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEhhbmRsZSByeXNuYyBvZiBpdGVyYXRvciB3aGVuIGxvb2tpbmcgZm9yIGZyZWUgcGFkIG5hbWUKCSAgSWYgYSBuZXcgcGFkIHdhcyBhZGRlZCB3aGlsZSBpdGVyYXRpbmcgdGhlbiBhIHBhZCBjb3VsZCBiZQoJICByZXR1cm5lZCB0aGF0IHdhcyBhbHJlYWR5IGluIHVzZS4KCSAgRml4ZXMgIzYzMDQ1MQoKMjAxMC0wOS0yNCAxNDowOToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IGNvbXBpbGF0aW9uCgoyMDEwLTA0LTA3IDE1OjMxOjUyICswMjAwICBUcm9uZCBBbmRlcnNlbiA8dHJvbmQuYW5kZXJzZW5AdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVW5sb2NrIGJlZm9yZSBhZGRpbmcgcGFkIGluIG5ld19wYXlsb2FkX2ZvdW5kCgkgIEhvbGRpbmcgaW50ZXJuYWwgbG9ja3Mgd2hpbGUgcG90ZW50aWFsbHkgY2FsbGluZyBvdXQgaXMgYSBzb3VyY2UKCSAgb2YgZGVhZGxvY2tzLCBhbmQgaW4gdGhpcyBjYXNlIHRoZSBhcHBsaWNhdGlvbiBtaWdodCBzdWJzY3JpYmUgdG8gdGhlCgkgIHBhZC1hZGRlZCBzaWduYWwuCgkgIEZpeGVzICM2MzA0NDkKCjIwMDktMDgtMzEgMTg6Mzc6NDAgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVsYXggdGhpcmQtcGFydHkgY29sbGlzaW9uIGRldGVjdGlvbgoJICBJZiB0aGUgc291cmNlIGhhcyBiZWVuIGluYWN0aXZlIGZvciBzb21lIHRpbWUsIHdlIGFzc3VtZSB0aGF0IGl0IGhhcwoJICBzaW1wbHkgY2hhbmdlZCBpdHMgdHJhbnNwb3J0IHNvdXJjZSBhZGRyZXNzLiBIZW5jZSwgdGhlcmUgaXMgbm8gdHJ1ZQoJICB0aGlyZC1wYXJ0eSBjb2xsaXNpb24gLSBvbmx5IGEgc2ltdWxhdGVkIG9uZS4KCSAgRml4ZXMgIzYzMDQ0NwoKMjAxMC0wOS0yNCAxMzo1MDowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMTAtMDktMjQgMTM6NDg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBzaW1wbGlmeSB0aGUgcmF0ZSBlc3RpbWF0aW9uIHNvbWUgbW9yZQoKMjAwOS0wOC0zMSAxODozNDowOCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IHByb3ZpZGUgYWRkaXRpb25hbCBzdGF0aXN0aWNzCgoyMDEwLTA5LTI0IDAwOjAxOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzZXQgcGx1Z2luIHJlbGVhc2UgZGF0ZXRpbWUKCjIwMTAtMDktMjMgMjE6MjE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgIGVxdWFsaXplcjogZml4IGNsYXNzIGRlZmluaXRpb25zCgkgIENsYXNzIHN0cnVjdHVyZXMgbXVzdCBiZSBiYXNlZCBvbiB0aGUgcGFyZW50IGNsYXNzIHN0cnVjdCwgbm90IG9uCgkgIHRoZSBwYXJlbnQgaW5zdGFuY2Ugc3RydWN0LgoKMjAxMC0wOS0xNSAyMDozNjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogcHJlLXJlZ2lzdGVyIHBhZCBjbGFzcyBwcm9wZXJseSB3aXRoIGdfdHlwZV9jbGFzc19yZWYKCSAgRml4IGNvZGUgdG8gbWF0Y2ggdGhlIGNvbW1lbnQuIEFsc28sIHRoZXJlJ3Mgbm8gbmVlZCB0byByZWdpc3RlciB0aGUKCSAgYmFja2dyb3VuZCBlbnVtIHR5cGUgYWdhaW4sIHRoaXMgaXMgYWxyZWFkeSBkb25lIHZpYSBpbnN0YWxsX3Byb3BlcnR5LgoKMjAxMC0wOS0yMyAyMTo1NzoxOCArMDIwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBGaXggY3Jhc2hlcyB3aXRoIE1TVkMKCSAgVXNpbmcgdGhlIHN5bWJvbHMgZm9yIHRoZSBkaWZmZXJlbnQgU3BlZXggbW9kZXMgcmVzdWx0cwoJICBpbiBjcmFzaGVzIHdoZW4gdXNpbmcgTVNWQy4gVXNlIHRoZSBsaWJyYXJ5IGZ1bmN0aW9ucyB0bwoJICBnZXQgdGhlIG1vZGVzIGluc3RlYWQuCgkgIEZpeGVzIGJ1ZyAjNjMwMzc4LgoKMjAxMC0wOC0yNCAxMzoyNTowMiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBhdm9pZCBkaXZpc2lvbiBieSB6ZXJvIG9uIHNpbGVuY2UKCSAgRml4ZXMgYnVnICM2MzA0NTguCgoyMDEwLTA5LTIzIDE2OjQ2OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcGFyc2UgYW5kIHVzZSBjdHMKCSAgRm9yIEgyNjQsIHRoZXJlIGlzIGFuIGV4dHJhIGhlYWRlciBjb250YWluaW5nIHRoZSBDVFMsIHdoaWNoIGlzIGEgdGltZXN0YW1wCgkgIG9mZnNldCB0aGF0IHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBQVFMuIFBhcnNlIHRoaXMgdmFsdWUgYW5kIHVzZSBpdCB0byBhZGp1c3QKCSAgdGhlIHB0cy4KCSAgRml4ZXMgIzYzMDA4OAoKMjAxMC0wOS0yMyAxNjo0NTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGltcHJvdmUgcHRzIGRlYnVnZ2luZwoKMjAxMC0wOS0yMiAxOTowMTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJICBwdWxzZTogYWRkIHRlc3QgYXBwIGZvciBwdWxzZSBkZXZpY2UgcHJvYmUKCjIwMTAtMDktMjIgMTg6NTA6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogZml4IGRldmljZV9kZXNjcmlwdGlvbiBpbiBSRUFEWQoJICBNYWtlIHRoZSBpc19kZWFkIGNoZWNrIG1vcmUgY2xlYXIgYW5kIGFkZCBhbiBvcHRpb24gdG8gY2hlY2sgZm9yIHRoZSBzdGF0dXMgb2YKCSAgdGhlIHN0cmVhbSBpbiBhZGRpdGlvbiB0byB0aGUgY29udGV4dC4KCSAgV2UgZG9uJ3QgbmVlZCBhIHN0cmVhbSB0byBnZXQgdGhlIGRldmljZV9kZXNjcmlwdGlvbiBzdHJpbmcuCgkgIEZpeGVzICM2MzAzMTcKCjIwMTAtMDktMjIgMTI6NTY6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IHBvc3QgdGFncyBpZiB0aGVyZSBhcmUgbm9uZQoJICBBbmQgbWFrZSBhbGwgY29kZSBnbyB0aHJvdWdoIF9wb3N0X2dsb2JhbF90YWdzLgoKMjAxMC0wOS0yMiAxMjozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogcmVmYWN0b3IgYW5kIHNpbXBsaWZ5IEFVIG1lcmdpbmcKCSAgTW92ZSB0aGUgcHJvY2Vzc2luZyBvZiB0aGUgTkFMVSB0byBhIHNlcGFyYXRlIG1ldGhvZC4KCSAgU2ltcGxpZnkgdGhlIG1lcmdpbmcgb2YgTkFMVSBpbnRvIEFVIGFuZCB1c2UgY29tbW9uIGNvZGUgd2hlbiBwb3NzaWJsZS4KCjIwMTAtMDktMjEgMjM6MjM6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IGFkZCBvcHRpb25hbCBib3JkZXIgcGFyYW1ldGVyIGFuZCBzbG93ZG93biBhbmltYXRpb24KCSAgQWxsb3cgdG8gcGxheSB3aXRoIHRoZSBib3JkZXIgcHJvcGVydHkgKHNoYXJwL3NvZnQgZWRnZXMpLgoKMjAxMC0wOS0yMSAxOToxNDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZvcmNlIGZvcm1hdCB0byBBWVVWIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lIGZvciB0aGUgc2FtZSByZWFzb24KCjIwMTAtMDktMjEgMTk6MTM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogRm9yY2UgdGhlIGlucHV0IHRvIEFZVVYgdG8gcHJldmVudCBuZWdvdGlhdGlvbiBmYWlsdXJlcyBpbiB2aWRlb21peGVyCgkgIFRoZSBzZWNvbmQgdmlkZW90ZXN0c3JjIGNoYWluIG1pZ2h0IHByb2R1Y2UgWVVZMiBiZWNhdXNlIGV2ZXJ5dGhpbmcgaXMKCSAgYWNjZXB0ZWQgZG93bnN0cmVhbSBiZWZvcmUgdGhlIGZpcnN0IHNoYXBld2lwZSBjaGFpbiBnZXRzIG5lZ290aWF0ZWQuCgoyMDEwLTA5LTIxIDE5OjEyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGltbWVkaWF0ZWx5IHJldHVybiBlbXB0eSBjYXBzIGZyb20gdGhlIGdldGNhcHMgZnVuY3Rpb25zCgoyMDEwLTA5LTIxIDE4OjMzOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhYTBkMWQwIHRvIDVlM2M5YmYKCjIwMTAtMDktMjEgMTI6NDk6MzEgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIHY0bDI6IHVzZSB0aGUgeG92ZXJsYXkgQVBJcwoKMjAxMC0wOS0yMSAxMjo0ODozNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHVzZSB0aGUgbmV3IHhvdmVybGF5IEFQSXMKCSAgQWxzbyBidW1wZWQgLWJhc2UgcmVxdWlyZW1lbnRzLgoKMjAxMC0wOS0yMSAxMjozMTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBhZ2FpbiBmb3IgR0lUIHZlcnNpb25zCgoyMDEwLTA5LTIxIDExOjUyOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMDktMjAgMjM6MTc6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSB1dWlkIGF0b21zIGluIHB1c2ggbW9kZQoJICBQYXJzZXMgdXVpZCBhdG9tcyBpbiBwdXNoIG1vZGUgd2hlbiB0aGV5IGFyZSBmb3VuZCwgdGhleSBtaWdodAoJICBjb250YWluIHhtcCB0YWdzLgoJICBBbHNvIGRvZXMgYSBtaW5vciByZWZhY3RvcmluZyB0byBwdXQgdGhlIGdsb2JhbCB0YWdzIHBvc3RpbmcKCSAgaW50byBhIHNpbmdsZSBmdW5jdGlvbiBpbnN0ZWFkIG9mIHJlcGVhdGluZyBpdCBpbiAzIGRpZmZlcmVudAoJICBwbGFjZXMuCgkgIEZpeGVzICM2Mjk4MzkKCjIwMTAtMDktMTYgMDg6MDQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEZWxheSB0YWdzIHBvc3RpbmcgYSBsaXR0bGUKCSAgRGVsYXkgdGFncyBwb3N0aW5nIHVudGlsIHdlJ3ZlIHBhcnNlZCBhbGwgdGhlIGhlYWRlcnMgc28KCSAgdGhhdCB0aGUgbmF0aXZlIGFuZCB4bXAgdGFncyBnZXQgbWVyZ2VkIGJlZm9yZSBwb3N0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk4MzkKCjIwMTAtMDktMTUgMjI6MTM6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBQYXJzZSB4bXAgcGFja2V0IGluIHV1aWQgYXRvbQoJICB4bXAgcGFja2V0IGlzIHBsYWNlZCBpbnRvIGEgdG9wLWxldmVsIHV1aWQgYXRvbSBmb3IKCSAgaXNvbS9tcDQgdmFyaWFudHMuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgcXRkZW11eCBwYXJzZSBhbGwgdG9wLWxldmVsIGF0b21zCgkgIGluIHB1bGwtbW9kZSBiZWZvcmUgc3RhcnRpbmcgdG8gcHVzaCBkYXRhLCBtYWtpbmcKCSAgaXQgYWJsZSB0byBmaW5kIHRob3NlIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk4MzkKCjIwMTAtMDktMTcgMTE6MDc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBzdGF0czogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMC0wOS0xNyAxMTowNzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBwYXk6IHNvbWUgcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMC0wOS0xNSAxODoyMToxMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGxvZ2ljIHdoZW4gcHVzaGluZyBFT1MuCgkgIERvbid0IGNoZWNrIGZvciByZXR1cm4gdmFsdWVzIHdoZW4gcHVzaGluZyBFT1MuIFN0aWxsIHBvc3QgYW4gZXJyb3IgaWYgRU9TIGlzCgkgIHJlYWNoZWQgYW5kIG5vIHN0cmVhbXMgaGF2ZSBiZWVuIGZvdW5kLgoKMjAxMC0wOS0xNSAxNzowMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBkb2NzOiBhZGQgZ3RrLWRvYyBjaHVua3Mgd2l0aCBTaW5jZTogbWFya2VycyBmb3IgbmV3IHY0bDJzcmMgcHJvcGVydGllcwoKMjAxMC0wOS0xNSAxODo0Mzo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNhbWN0cmw6IGFkZCBsaWNlbnNlIGhlYWRlciB0byBkZW1vCgoyMDEwLTA5LTE0IDE3OjQxOjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBzZW5kIEVPUyB0d2ljZSBvbiB0aGUgc2FtZSBwYWQuCgoyMDEwLTA5LTE0IDEwOjA3OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBtb3ZlIHRoZSBzaGFyZWQgbWFpbmxvb3AgZnJvbSBjbGFzcyB0byBzdGF0aWMgdmFyCgkgIEp1c3QgaGF2ZSBvbmUgc3RhdGljIHZhciBmb3IgdGhlIHNoYXJlZCBtYWlubG9vcCBpbnN0ZWFkIG9mIG9uZSBjbGFzcyB2YXJpYWJsZQoJICBhbmQgY29waWVzIGluIHRoZSBpbnN0YW5jZS4KCjIwMTAtMDktMTMgMTc6MzE6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogY2xlYW51cHMgZm9yIERSSSBtYXJrZXJzCgkgIFByb3RlY3QgYWdhaW5zdCBpbnZhbGlkIERSSSBtYXJrZXJzLgoJICBkbyBzb21lIGNsZWFudXBzCgoyMDEwLTA5LTEwIDExOjM1OjUzIC0wNDAwICBBbWVyaWNhbiBEeW5hbWljcyA8R1N0cmVhbWVyLUJ1Z3NAdHljb3NwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBnc3RydHBqcGVncGF5OiBBZGRlZCBEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAoRFJJKSBNYXJrZXIKCSAgQWRkZWQgYWJpbGl0eSB0byBkZXRlY3QgYW5kIHJlc3BvbmQgdG8gYSBKUEVHLWRlZmluZWQgRFJJIG1hcmtlcgoKMjAxMC0wNi0xOSAxOToyMDoxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBTcGxpdCBnZXR0aW5nIHRoZSBjYXBzIGludG8gaXRzIG93biBmdW5jdGlvbgoKMjAxMC0wOS0xMyAxNjowMzo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNtYWxsIGNsZWFudXAuCgoyMDEwLTA5LTEzIDE2OjI0OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiByZXdvcmsgY29udGV4dCBzaGFyaW5nCgkgIFdlIGFsc28gbmVlZCB0byBzaGFyZSB0aGUgbWFpbi1sb29wIHRocmVhZHMgYXMgdGhpcyBvd25zIHRoZSBjb250ZXh0LiBUaHVzIGhhdmUKCSAgYSBjbGFzcyB3aWRlIG1haW4tbG9vcCB0aHJlYWQuIEZyb20gdGhpcyB3ZSBjcmVhdGUgYSBjb250ZXh0IHBlciBjbGllbnQtbmFtZS4KCSAgSW5zdGVhZCBvZiBhbHdheXMgbG9va2luZyB1cCB0aGUgY29udGV4dCwgd2Uga2VlcCB0aGlzIHdpdGggdGhlIGluc3RhbmNlLiBUaGUKCSAgcmV2ZXJzZSBtYXBwaW5nIGlzIG9ubHkgbmVlZGVkIGluIHB1bHNlIHNpbmdhbCBoYW5kbGVycy4gVGhpcyBzYXZlcyBhIGxvdCBvZgoJICBsb2NraW5nLiBBbHNvIG9uZSBzaWduYWwgaGFuZGxlciBiZWNvbWVzIHNpbXBsZXIgYXMgdGhlciBlaXMgb25seSBvbmUgbWFpbmxvb3AKCSAgdG8gbm90aWZ5LgoJICBOb3cgdmFsZ2luZCBoYXBweSAtIG5vIGxlYWtzLCBubyBiYWQgcmVhZHMvd3JpdGVzLgoJICBUaGlzIHJldmVydHMgbWFqb3IgcGFydHMgb2YgY29tbWl0IDY5YTM5N2MzMmY0YmFmMDdhN2IyOTM3YzYxMGY5ZThmMzgzZTlhZTkuCgkgIEZpeGVzICM2Mjg5OTYKCjIwMTAtMDktMTMgMTU6NDQ6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHNlc3Npb246IFNtYWxsIGNsZWFudXBzCgkgIE1ha2UgdGhlIHByb3BlcnR5IGRlc2NyaXB0aW9uIHByZXR0aWVyLgoJICBBY3R1YWxseSBtdWx0aXBsZSB0aGUgYmFuZHdpZHRoIHdpdGggdGhlIGZyYWN0aW9uLgoKMjAxMC0wNi0wMSAyMTozNTo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogQ2FsY3VsYXRlIFJUQ1AgYmFuZHdpZHRoIGFzIGEgZnJhY3Rpb24gb2YgdGhlIFJUUCBiYW5kd2lkdGgKCSAgQ2FsY3VsYXRlIHRoZSBSVENQIGJhbmR3aWR0aCB0byBiZSBhIGZyYWN0aW9uIG9mIHRoZSBSVFAgYmFuZHdpZHRoIGlmIGl0IGlzCgkgIHNwZWNpZmllZCBhcyBhIHZhbHVlIGJldHdlZW4gMCBhbmQgMS4KCjIwMTAtMDktMTMgMTU6Mjk6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGltcHJvdmUgYmFuZHdpZHRoIHJlY2FsY3VsYXRpb24KCSAgQWxzbyByZWNhbGN1bGF0ZSBiYW5kd2lkdGggd2hlbiBvbmUgb2YgdGhlIHNvdXJjZSBiYW5kd2lkdGhzIGNoYW5nZWQuCgkgIFVzZSB0aGUgbmV3bHkgY2FsY3VsYXRlZCBiYW5kd2lkdGguCgoyMDEwLTA2LTAxIDIxOjE3OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHRoZSBvcHRpb24gdG8gYXV0by1kaXNjb3ZlciB0aGUgUlRQIGJhbmR3aWR0aAoKMjAxMC0wOS0xMyAxNDozODoxMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNldCB1c2UtcGlwZWxpbmUtY2xvY2sgb24gY29ycmVjdCBHT2JqZWN0CgoyMDEwLTA2LTAyIDE3OjUxOjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEluaXRpYWxpc2UgdGhlIGF2ZXJhZ2Ugc2NhbGVkIGJ5IDE2CgoyMDEwLTA5LTEzIDEyOjQxOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgcnVubmluZ190aW1lIGFyZ3VtZW50IGRvY3MKCjIwMTAtMDYtMjMgMTY6MTM6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBSZWN0aWZ5IGRlc2NyaXB0aW9uIG9mIGN1cnJlbnRfdGltZSBpbiBSVFBBcnJpdmFsU3RhdHMKCSAgSXQgaXMgdGhlIGN1cnJlbnQgdGltZSwgaXQgaXMgdW5yZWxhdGVkIHRvIHdoZW4gdGhlIHBhY2tldCB3YXMgYWN0dWFsbHkgcmVjZWl2ZWQuCgoyMDEwLTA5LTEzIDEyOjMxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBjb21wdXRlIHRoZSBhdmVyYWdlIGNvcnJlY3RseSBzY2FsZWQKCjIwMTAtMDYtMDEgMjA6MzE6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQ291bnQgc2VudCBSVENQIHBhY2tldHMgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gZmluaXNoZWQKCSAgSWYgdGhleSBhcmUgY291bnRlZCBiZWZvcmUgY2FsbGluZyBnc3RfcnRjcF9idWZmZXJfZW5kKCksIHRoZW4gdGhlCgkgIHNpemUgaXMgd2F5IHRvbyBiaWcuCgoyMDEwLTA2LTAxIDE5OjUxOjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IERvbid0IHVucmVmICBwYWRzIGluIGZpbmFsaXplCgkgIFRoZSBnc3RydHBzZXNzaW9uIG9iamVjdCBpcyBub3QgaG9sZGluZyBhbnkgcmVmZXJlbmNlIHRvIHRoZW0gZGlyZWN0bHkKCjIwMTAtMDktMTIgMDA6MDk6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zIGZvciBuZXcgc291cGh0dHBzcmMgbWVzc2FnZXMKCjIwMTAtMDktMTIgMDA6MDg6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogaG9vayB1cCBpMThuIGJpdHMgZm9yIHBsdWdpbgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgZXRjLgoKMjAxMC0wOS0xMiAwMDowNDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBmaXggZXJyb3IgbWVzc2FnZXMKCSAgRXJyb3IgbWVzc2FnZXMgc2hvdWxkIGJlIHRyYW5zbGF0ZWQuIFVSSXMgYW5kIGZpbGVuYW1lcyBzaG91bGQgbm90CgkgIGJlIHBhcnQgb2YgdGhlIGVycm9yIG1lc3NhZ2Ugc3RyaW5nIHRoYXQncyBzaG93biB0byB0aGUgdXNlci4KCSAgc291cF9tZXNzYWdlLT5yZWFzb25fcGhyYXNlIGlzIG5vdCB0cmFuc2xhdGVkIGFuZCBub3Qgc3VpdGFibGUgYXMKCSAgZXJyb3IgbWVzc2FnZSBmb3IgdXNlcnMgKHNlZSBsaWJzb3VwIGRvY3VtZW50YXRpb24pLiBBbHNvIGZpeCB1cAoJICBlcnJvciBjb2RlcyBhIGJpdCwgYXMgZmFyIGFzIHBvc3NpYmxlIHdpdGggdGhlIGV4aXN0aW5nIGNvZGVzLgoKMjAxMC0wOS0xMCAwOTo0MzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBidWZmZXIgYWxsb2MgZmFpbHMgd2l0aCBOT1RfTElOS0VEIGZsb3cKCSAgVGhpcyBpcyBub3QgZmF0YWwsIGxldCB1cHN0cmVhbSBoYW5kbGUgaXQuCgoyMDEwLTA5LTEwIDE4OjA2OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBjbGVhciBzZHAgd2hlbiBzZXQgYXMgdXJpCgkgIHdoZW4gd2Ugc2V0IHRoZSBTRFAgd2l0aCBhbiB1cmksIGRvbid0IGNsZWFyIGl0IHdoZW4gd2UgZ28gdG8gUkVBRFkuCgoyMDEwLTA5LTEwIDE4OjAxOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2Ugc2RwIHVyaSBwYXJzZSBtZXRob2QKCSAgVXNlIHRoZSBzZHAgcGFyc2UgbWV0aG9kIHRoYXQgZG9lcyBwcm9wZXIgdXJpIGVzY2FwaW5nLgoKMjAxMC0wOS0xMCAxNjo1OToxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgZXhhbXBsZTogYWRkIHY0bDIgZXhhbXBsZSwgZGVtb25zdHJhdGluZyB0aGUgdXNlIG9mIGdzdCBjb250cm9sbGVyCgoyMDEwLTA5LTEwIDE2OjU1OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGRvbid0IHNraXAgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uCgoyMDEwLTA2LTIyIDE1OjQ4OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGFkZCBjb250cm9sYWJsZSBjb2xvcmJhbGFuY2UgcGFyYW1ldGVycwoJICBFeHBvc2UgY29sb3JiYWxhbmNlIGNvbnRyb2xzIGFzIG9iamVjdCBwcm9wZXJ0aWVzIChsaWtlIHdlIGRvIG9uIHh2aW1hZ2VzaW5rKS4KCSAgTWFrZSB0aGVtIGNvbnRyb2xhYmxlLgoKMjAxMC0wOS0xMCAxMzoyNTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBmaXggc29tZSBtaXMtaW1wbGVtZW50YXRpb24KCSAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDktMTAgMTM6MjQ6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogcHJvcGVybHkgaW5zZXJ0IGR1bW15IGJ1ZmZlcnMKCjIwMTAtMDktMTAgMTE6NTU6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHJ0c3Atc2RwIHByb3RvY29sIHN1cHBvcnQKCSAgQWxsb3cgc2V0dGluZyBhbiBTRFAgd2l0aCB0aGUgcnRzcC1zZHA6Ly8gdXJsLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIE1hcmNvIEJhbGxlc2lvLgoJICBTZWUgIzYyODIxNAoKMjAxMC0wOS0xMCAxMTozNTo1OCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IG1ha2UgcGFzc3Rocm91Z2ggd29yay4KCjIwMTAtMDktMDkgMjE6NDM6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIG1wNGFkZXBheTogc21hbGwgbG9nZ2luZyBjbGVhbnVwIGFuZCBhZGRpdGlvbiB0byBkZWJ1ZyBjb25maWcgcGFyc2luZwoKMjAxMC0wOS0wOSAyMTo0Mjo0NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IGZpeCBjb250ZXh0IGluaXRpYWxpc2F0aW9uIGFuZCBmcmVlaW5nIHRvIG5vdCBsZWFrCgoyMDEwLTA5LTA5IDIxOjQwOjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IGFsbG93IHJ1bm5pbmcgc3RhdGUgdGVzdHMgZm9yIGFsbCBlbGVtZW50cwoJICBOb3cgb25lIGNhbiB1c2UgR1NUX05PX1NUQVRFX0lHTk9SRV9FTEVNRU5UUz0xIG1ha2UgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sKCSAgdG8gdHJ5IGVsZW1lbnRzIHRoYXQgd291bGQgbm9ybWFseSBiZSBza2lwcGVkLgoKMjAxMC0wOS0wOSAxODo0Nzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBmaXggcnRwanBlZ3BheSB0ZXN0CgkgIE1ha2UgdGhlIGRhdGEgd2Ugc2VuZCB0byB0aGUganBlZyBwYXlsb2FkZXIgYmUgYSB2YWxpZCBqcGVnIGZpbGUgYmVjYXVzZSB0aGUKCSAgcGF5bG9hZGVyIG5vdyBleHBlY3RzIHRoaXMuCgoyMDEwLTA5LTA5IDE4OjQ3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGltcHJvdmUgZGVidWdnaW5nCgoyMDEwLTA5LTA5IDE2OjMxOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHVzZSB2YWxpZCBiaXRyYXRlIGZvciBkdW1teSBmcmFtZQoKMjAxMC0wOS0wOCAxNzowNzo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDN2Mm11eDogQWRkcyBtYXBwaW5nIGZvciBhbGJ1bSBhcnRpc3QKCSAgTWFwcyBHU1RfVEFHX0FMQlVNX0FSVElTVCB0byBUUEUyIGluIGlkM3YybXV4CgoyMDEwLTA5LTA4IDE4OjM1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIG9yYyAwLjQuOAoJICBUaGUgZGVpbnRlcmxhY2UgcGx1Z2luIGFwcGFyZW50bHkgZmFpbHMgdG8gY29tcGlsZSB3aXRoIG9sZGVyIHZlcnNpb25zLgoKMjAxMC0wOS0wOCAxNzo1MDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUW9TIGhhbmRsaW5nIGxvZ2ljIG9ubHkgYXBwbGllcyB0byBmb3J3YXJkIHBsYXliYWNrCgkgIEZpeGVzICM2Mjg4OTQuCgoyMDEwLTA5LTA4IDE3OjQzOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDEwLTA5LTA4IDE0OjM2OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4dXAgbGFzdCBjb21taXQKCSAgV2UgbmVlZCB0byBwcmV2ZW50IHRoZSBldmVudHVhbCBsZWFrIGJldHRlci4KCjIwMTAtMDktMDggMTQ6MTY6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjb2RlIGNsZWFudXBzCgkgIFVzZSBnX3NsaXN0X3ByZXBlbmQgYXMgd2UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgb3JkZXIuIENoZWNrIGZvciBsaXN0ID09IE5VTEwKCSAgaW5zdGVhZCBvZiBpdGVyYXRpbmcgdGhlIGxpc3QgdG8gc2VlIGlmIGl0IGlzIGVtcHR5LiBNb3ZlIGN0eCBhbGxvY2F0aW9uIGRvd24KCSAgdG8gcHJldmVudCBsZWFrIGluIGNhc2Ugb2YgZmFpbHVyZS4KCjIwMTAtMDktMDggMDc6MTM6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgYnVnICM2MjkwMTguCgoyMDEwLTA5LTA3IDE5OjAyOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNpbXBsaWZ5IGNsb2NrIHByb3ZpZGUgY29kZQoJICBEb24ndCBsZWFrIHRoZSBwdWxzZXNpbmsgZWxlbWVudCBieSBoYXZpbmcgdGhlIGNsb2NrIGtlZXAgYSByZWYgdG8gdGhlIHNpbmsuCgkgIENyZWF0ZSB0aGUgY2xvY2sgb25seSBvbmNlIGluIHRoZSBjb25zdHJ1Y3RvciBhbmQgdXNlIHRoZSBiYXNlYXVkaW9zaW5rIGNsb2NrCgkgIGNsZWFudXAgY29kZS4KCjIwMTAtMDktMDcgMTc6NDk6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBtb3ZlIHRoZSBjb250ZXh0IHRhYmxlIGluaXQgdG8gX2dldF90eXBlIHBoYXNlCgkgIFRoaXMgc2VlbXMgdG8gZml4IHRoZSBpbnZhbGlkIHJlYWRzIG9uIGNvbnRleHQgc2h1dGRvd24gYmV0dGVyLCBhbHRvdWdoCgkgIEkgY2FuJ3QgcmVhbGx5IGV4cGxhaW4uCgoyMDEwLTA5LTA3IDE3OjA2OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2Ugb2xkZXIgZ19hcnJheV9mcmVlCgkgIGdfYXJyYXlfdW5yZWYoKSBpcyBvbmx5IHNpbmNlIDIuMjIKCjIwMTAtMDktMDcgMTY6NDk6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGF2b2lkIGludmFsaWQgYWRhcHRlciBmbHVzaCBvbiBRb1MKCSAgRmlyc3Qgc3RvcmUgdGhlIGF2YWlsYWJsZSBkYXRhIGluIHRoZSBhZGFwdGVyIGluIHRoZSByZW1faW1nX2xlbiBpbnN0YW5jZSBmaWVsZAoJICBiZWZvcmUgdHJ5aW5nIHRvIGZsdXNoIHRoZSBhZGFwdGVyIHdpdGggdGhhdCB2YWx1ZSBvbiBRb1MuCgoyMDEwLTA5LTA3IDE2OjQwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGRvIHNvbWUgbW9yZSBzYW5pdGl0eSBjaGVja3MKCSAgUHJvdGVjdCBzb21lIG1vcmUgYWdhaW5zdCBpbnZhbGlkIGlucHV0LgoKMjAxMC0wOS0wNyAxNToyMDoxMiArMDIwMCAgQW1lcmljYW4gRHluYW1pY3MgPEdTdHJlYW1lci1CdWdzIGF0IHR5Y29zcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAganBlZ3BheTogaGFuZGxlIGNvcnJ1cHRlZCBqcGVnIGJldHRlcgoJICBQcm90ZWN0IGFnYWluc3QgY29ycnVwdGVkIGpwZWcgaW5wdXQuCgoyMDEwLTA5LTA3IDEzOjU1OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnZhd2RlcGF5OiBjbGVhbnVwIHVudXNlZCBmaWVsZHMKCjIwMTAtMDktMDcgMTM6NTE6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGhhbmRsZSBpbnZhbGlkIHBheWxvYWQgYmV0dGVyCgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIG1vcmUgZGF0YSB0aGFuIGF2YWlsYWJsZSBpbiB0aGUgaW5wdXQgYnVmZmVyLgoJICBDbGlwIHRoZSBpbnB1dCBkYXRhIGludG8gdGhlIG91dHB1dCBidWZmZXIuCgoyMDEwLTA4LTE2IDE1OjM1OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IGFsbG93IHNldHRpbmcgc3RyZWFtIHByb3BlcnRpZXMKCSAgQWRkIGEgInByb3BlcnRpZXMiIHByb3BlcnR5IHRvIHRoZSBlbGVtZW50cyB0byBhbGxvdyBzZXR0aW5nIGV4dHJhIHN0cmVhbQoJICBwcm9wZXJ0aWVzLgoJICBGaXhlcyAjNTM3NTQ0CgoyMDEwLTA5LTA3IDEyOjA4OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHJlbW92ZSBpbnRyb3NwZWN0aW9uIGluZm8gZm9yIGdka3BpeGJ1ZjMgcGx1Z2luIGFuZCB1cGRhdGUgdmVyc2lvbiBmb3Igb3RoZXJzCgkgIFRoZSB2ZXJzaW9ucyBnb3QgYWNjaWRlbnRhbGx5IHJldmVydGVkIHRvIGEgcHJlLXJlbGVhc2UgdmVyc2lvbiwgZml4IHRoYXQuCgoyMDEwLTA5LTA3IDExOjQyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzJlMTBiZiB0byBhYTBkMWQwCgoyMDEwLTA5LTA3IDA5OjIwOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgY21tbGRlYzogZml4IGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIEZpeCBidWdneSBHU1RfRkxPV19JU19GQVRBTCBzdWJzdGl0dXRpb24sIGFuZCAnbWFrZSBjaGVjayc6CgkgIC0gIGlmICghR1NUX0ZMT1dfSVNfRkFUQUwgKGRlYy0+Zmxvd19yZXR1cm4pICYmICFkZWMtPnNlbnRfcm9vdCkgewoJICArICBpZiAoZGVjLT5mbG93X3JldHVybiAhPSBHU1RfRkxPV19PSyAmJiAhZGVjLT5zZW50X3Jvb3QpIHsKCjIwMTAtMDktMDcgMDA6Mjc6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCBmcmVlIHRoZSBjb250ZXh0IG11bHRpcGxlIHRpbWVzCgkgIEFwcGFyZW50bHkgdGhlIGNsb3NlIGZ1bmN0aW9uIG9mIHRoZSByaW5nLWJ1ZmZlciBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoKMjAxMC0wOC0xMiAxMjozMzowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBncmFiIHRoZSBzYW1wbGluZyBhcnRlIGFuZCBwdXQgaW50byBjYXBzCgkgIFRoaXMgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gbXV4IHRoZSByZWNlaXZlZCBhdWRpbyBpbnRvIG1wNCAoaW4gdGhlIGNhc2Ugb2YKCSAgYWFjKS4gRml4ZXMgIzYyNTgyNS4KCjIwMTAtMDktMDYgMTQ6NDA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwOiBtYXJrIGNvbnN0YW50IHRhYmxlcyBhcyBjb25zdAoKMjAxMC0wOC0xOCAxNDo0MDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICBydHBhbXJwYXk6IHByb3Blcmx5IHN1cHBvcnQgcGVyZmVjdC1ydHB0aW1lCgoyMDEwLTA4LTE4IDExOjQyOjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cGFtcnBheTogcHJvcGVyIGR1cmF0aW9uIGZvciBtdWx0aXBsZSBmcmFtZSBwYXlsb2FkCgoyMDEwLTA4LTE4IDExOjQyOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwYW1yKGRlKXBheTogc3VwcG9ydCBBTVItV0IgU0lEIGZyYW1lCgoyMDEwLTA4LTE4IDExOjM5OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgcnRwZzcyOXBheTogcHJvcGVybHkgc3VwcG9ydCBwZXJmZWN0LXJ0cHRpbWUKCjIwMTAtMDgtMTYgMTY6MDg6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIGZyYW1lcmF0ZSBkZXRlcm1pbmluZwoJICBDb2xsZWN0IGEgbGltaXRlZCBudW1iZXIgb2Ygc3RhcnRpbmcgc2FtcGxlIGR1cmF0aW9ucyBhbmQgdXNlIHRoZSBtZWRpYW4gb2YKCSAgdGhvc2UgdG8gZGV0ZXJtaW5lIGNhcHMgZnJhbWVyYXRlLgoKMjAxMC0wOC0xNyAxMjowODoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXR0ZW1wdCBtb3JlIHJlc3luYyB1cG9uIChjbHVzdGVyKSBwYXJzZSBlcnJvcgoJICBUaGF0IGlzLCBpZiBwYXJzZSBlcnJvciBvY2N1cnMgaW4gc3RhdGUgcmVxdWlyaW5nIHRvIG1vdmUgdG8gbmV4dCBjbHVzdGVyLAoJICBhbmQgZG9pbmcgc28gdG8gdGhlIGV4cGVjdGVkIG5leHQgcG9zaXRpb24gb2YgY2x1c3RlciBmYWlscywgdGhlbiBzY2FuIGZvciBhCgkgIG5leHQgY2x1c3RlciBmcm9tIHByZXNlbnQgcG9zaXRpb24gYW5kIHJlc3VtZSBmcm9tIHRoZXJlLgoJICBGaXhlcyAjNjIwNzkwLgoKMjAxMC0wOC0xNiAxNjowNTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbm90IHNvIGZhdGFsIGVycm9yIGhhbmRsaW5nCgkgIElmIHNvbWUgYml0cyBvdXQgb2YgcGxhY2UgaW4gYmxvY2soZ3JvdXApIHBhcnNpbmcsIGZvcmVnbyBhbmQgbW92ZSB0byBuZXh0LgoJICBBbHNvIHNraXAgbGFyZ2UgYmxvY2tzIGluIHB1bGwgbW9kZSwgYnV0IG5lZWQgdG8gZ2l2ZSB1cCBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzICM2MjY0NjMuCgkgIEltcHJvdmVzICM2MjA3OTAuCgoyMDEwLTA3LTI2IDE1OjUxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogYWRkaXRpb25hbCBwYXJzZSByZWNvdmVyeQoJICBJbiBwYXJ0aWN1bGFyLCB1cG9uIHBhcnNlIGZhaWx1cmUgaW4gb25lIGNsdXN0ZXIsIHdlIG1heSBmb3JlZ28gcmVtYWluaW5nCgkgIGNvbnRlbnQgYW5kIHRyeSByZXN1bWluZyBmcm9tIG5leHQgY2x1c3RlciBvbndhcmRzLgoJICBGaXhlcyAjNjIwNzkwLgoKMjAxMC0wOC0yNiAwMjo1NDo1NSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogTWFrZSB0aGUgZHRtZnNyYyBhY2NlcHQgZXZlbnRzIHNlbnQgd2l0aCBnc3RfZWxlbWVudF9zZW5kX2V2ZW50CgkgIFRoZSBkb2Mgc2F5cyB0byB1c2UgZ3N0X2VsZW1lbnRfc2VuZF9ldmVudCBvbiB0aGUgcGlwZWxpbmUsIGJ1dCBpZgoJICB3ZSBhcmUgdG8gY2FsbCBpdCBvbiB0aGUgZWxlbWVudCBpdHNlbGYsIGl0J3MgYSBub29wLiBUaGlzIHNob3VsZCBtYWtlIGl0CgkgIGhhbmRsZSB0aGUgZXZlbnQgcHJvcGVybHkgYmVmb3JlIGRlbGVnYXRpbmcgaXQgdG8gYmFzZXNyYy4KCjIwMTAtMDktMDYgMTI6MjI6MTEgKzAyMDAgIEFtZXJpY2FuIER5bmFtaWNzIDxHU3RyZWFtZXItQnVncyBhdCB0eWNvc3AuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdWRwc3JjIGJ1ZmZlciBzaXplCgkgIEFkZCBhIG5ldyB1ZHAtYnVmZmVyLXNpemUgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBidWZmZXItc2l6ZSBvbiB0aGUgdWRwc3JjCgkgIGVsZW1lbnRzLgoJICBGaXhlcyAjNjI4MDU4CgoyMDEwLTA4LTI3IDE3OjU4OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBudHAtc3luYyBwcm9wZXJ0eQoJICBBZGQgYW4gbnRwLXN5bmMgcHJvcGVydHkgdGhhdCB3aWxsIHN5bmMgdGhlIHJlY2VpdmVkIHN0cmVhbXMgdG8gdGhlIHNlcnZlcgoJICBOVFAgdGltZS4gVGhpcyByZXF1aXJlcyBzeW5jaHJvbml6ZWQgTlRQIHRpbWVzIGJldHdlZW4gdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXJzLAoJICBsaWtlIHdpdGggbnRwZC4KCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBUaGlqcyBWZXJtZWlyLgoJICBGaXhlcyAjNjI3Nzk2CgoyMDEwLTA4LTI3IDEyOjE0OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVuYW1lIGEgdmFyaWFibGUgdG8gYXZvaWQgY29uZnVzaW9uCgoyMDEwLTA4LTI3IDExOjA3OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmVuYW1lIHNvbWUgdmFyaWFibGVzIGZvciBsZXNzIGNvbmZ1c2lvbgoKMjAxMC0wOC0yNyAxMDo0MTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG1vdmUgY29tbWVudCB3aGVyZSBpdCBiZWxvbmdzCgoyMDEwLTA4LTI2IDE2OjAwOjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBtaW5vciBjbGVhbnVwcwoJICBNYWtlIGNsb2NrIHNuYXBzaG90cyBtb3JlIGFjY3VyYXRlIGJ5IG9ubHkgc2FtcGxpbmcgdGhlIHNhbWUgY2xvY2sgb25jZS4KCjIwMTAtMDgtMjYgMTA6NTg6MjYgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBhZGQgdXNlLXBpcGVsaW5lLWNsb2NrIHByb3BlcnR5CgkgIFdpdGggdGhpcyBwcm9wZXJ0eSBSVENQIFNSIE5UUCB0aW1lcyBjYW4gYmUgYmFzZWQKCSAgb24gdGhlIHN5c3RlbSBjbG9jayAobWF5YmUgc3luY2VkIHdpdGggbnRwZCkgb3IgdGhlCgkgIGN1cnJlbnQgcGlwZWxpbmUgY2xvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjc3OTYKCjIwMTAtMDgtMjUgMDk6NTg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkgIHJ0c3BleHQ6IHN0b3AgY29uZmlndXJhdGlvbiBvbiBmaXJzdCBmYWlsdXJlCgkgIFN0b3AgdGhlIGNvbmZpZ3VyYXRpb24gb2YgYSBzdHJlYW0gYXMgc29vbiBhcyBzb21lIG9mIHRoZSBleHRlbnNpb25zIHJldHVybgoJICBGQUxTRS4KCSAgRml4ZXMgIzU4MTI5NAoKMjAxMC0wOC0yMCAxNTozNToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpZmRzaW5rOiB1c2UgcmVmY291bnQgdG8gY291bnQgaG9zdC9wb3J0IGR1cGxpY2F0ZXMKCSAgSW5zdGVhZCBvZiBhZGRpbmcgbXVsdGlwbGUgY2xpZW50IHN0cnVjdHVyZXMgZm9yIHRoZSBzYW1lIGhvc3QvcG9ydCBwYWlyLCB1c2UgYQoJICByZWZjb3VudC4KCSAgQWRkIGEgc2VuZC1kdXBsaWNhdGVzIGZlYXR1cmUgdGhhdCBhbGxvd3MgeW91IHRvIGRpc2FibGUgc2VuZGluZyBtdWx0aXBsZSBjb3BpZXMKCSAgb2YgdGhlIHNhbWUgcGFja2V0IHRvIHRoZSBzYW1lIGhvc3Qgd2hlbiBpdCB3YXMgYWRkZWQgbXVsdGlwbGUgdGltZXMuIFRoZQoJICBzZW5kLWR1cGxpY2F0ZXMgcHJvcGVydHkgaXMgYnkgZGVmYXVsdCBzZXQgdG8gVFJVRSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCSAgYWx0aG91Z2ggaXQgaXMgdmVyeSBsaWtlbHkgdGhhdCB0aGlzIGlzIG5vdCBkZXNpcmVkIGJlaGF2aW91ci4KCjIwMTAtMDgtMTkgMTc6MDY6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGltcGxlbWVudCBjdXN0b20gZXZlbnQgaGFuZGxlcgoJICBFeHRlbmQgdGhlIF9wdXNoX2V2ZW50KCkgZnVuY3Rpb24gc28gdGhhdCBpdCBjYW4gYWxzbyBzZW5kIGV2ZW50cyB0byB0aGUgdWRwCgkgIHNvdXJjZXMgd2hlbiBhc2tlZC4KCSAgSW1wbGVtZW50IGEgY3VzdHVtIHNlbmRfZXZlbnQgZnVuY3Rpb24gdGhhdCBjb3JyZWN0bHkgZGlzcGF0Y2hlcyB0aGUgZG93bnN0cmVhbQoJICBldmVudHMgaW4gVENQIG1vZGUuIFRoaXMgZml4ZXMgc2VuZGluZyBFT1MgdG8gcnRzcHNyYyBhbmQgaGF2ZSBpdCBwdXNoIHRoZSBFT1MKCSAgZG93bnN0cmVhbS4KCjIwMTAtMDgtMTkgMTE6Mzc6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHVzZSBfZ2V0X2NhcHNfcmVmZmVkKCkgd2hlbiB3ZSBjYW4KCSAgVXNlIF9nZXRfY2Fwc19yZWZmZWQoKQoJICBBZGQgc29tZSBtb3JlIGRlYnVnIHdoZW4gb3BlbmluZyB0aGUgc2VydmVyIGNvbm5lY3Rpb24uCgoyMDEwLTA4LTE2IDExOjI5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAganBlZ2RlcGF5OiBoYW5kbGUgRElTQ09OVCBhbmQgcmVzZXQgc3RhdGUKCSAgUHV0IGEgRElTQ09OVCBldmVudCBvbiB0aGUgbmV4dCBvdXRwdXQgYnVmZmVyIHdoZW4gdGhlIGlucHV0IGJ1ZmZlciBoYWQgYQoJICBESVNDT05ULgoJICBNYWtlIHN1cmUgd2UgY2xlYXIgb3VyIGFkYXB0ZXIgYW5kIHJlc2V0IG91ciBzdGF0ZSBiZWZvcmUgZ29pbmcgdG8gUEFVU0VELgoJICBGcmVlIHRoZSBxdGFibGVzLgoJICBGaXhlcyAjNjI2ODY5CgoyMDEwLTA4LTE2IDExOjI3OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIGc3MjlwYXk6IGV4dGVuZCBmcm9tIHJpZ2h0IHBhcmVudAoKMjAxMC0wOS0wNiAwOTo1NzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBzaW5jZSBkb2NzIGZvciBuZXcgcHJvcGVydHkuCgoyMDEwLTA4LTMwIDE2OjQ1OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBHU1RfQk9JTEVSUExBVEUgbWFjcm8KCjIwMTAtMDgtMTYgMTc6MjM6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW1peGVyOiBhZGQgYSBleGFtcGxlIHNob3dpbmcgaG93IHRvIHVzZSB0aGUgY2hpbGQgcHJvcGVydGllcwoJICBTaG93IGhvdyB0byBwb3NpdGlvbiBhbmQgc2V0IHRoZSBhbHBobyBvZiB0aGUgdmlkZW9zIG9uIGdzdC1sYXVuY2guCgoyMDEwLTA4LTE2IDE1OjE5OjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IG1vdmUgdGhlIHByb3BlcnR5LXNldHRlciB0byB0aGUgZ2V0dGVyLgoKMjAxMC0wOC0xMSAxNTo0ODoxOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtIG9ubHkgYWdncmVnYXRlIG1hZ25pdHVkZS9waGFzZSBpZiB1c2VyIGFza3MgZm9yIGl0CgoyMDEwLTA4LTExIDE1OjQ1OjU2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGltcHJvdmUgcGVyZm9ybWFuY2Ugd2l0aCBsb2NhbCB2YXJzCgkgIFVzZSAnaW5wdXQnIGluc3RlYWQgb2YgJ3NwZWN0cnVtLT5pbnB1dCcgd2hpY2ggd2FzIGludGVuZGUgYWxyZWFkeSAodmFyaWFibGUKCSAgZXhpc3RzLCBidXQgbm90IHVzZWQgZXZlcnl3aGVyZSkuIEFsc28gdXNlIGEgbG9jYWwgdmVyc2lvbiBvZgoJICAnc3BlY3RydW0tPmlucHV0X3BvcycuCgoyMDEwLTA4LTExIDE1OjQ0OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGNvZGUgY2xlYW51cAoJICBNb3JlIGNvbW1lbnRzIGFuZCBsb2dnaW5nLiBFeHRyYWN0IG9uZSBjb21wbGV4IGNvbmRpdGlvbiB0byBhIHZhcmlhYmxlLiBSZW9yZGVyCgkgIHNvbWUgY29kZSBmb3IgcmVhZGFiaWxpdHkuCgoyMDEwLTA4LTExIDE1OjQwOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGltcHJvdmUgcHJvcGVydHkgc2V0dGVyCgkgIGNvbnNpc3RlbnRseSBvbmx5IHVwZGF0ZSBpZiB0aGUgcHJvcGVydHkgYWN0dWFseSBjaGFuZ2VkIHRoZSB2YWx1ZS4gRG8gaXQKCSAgd2l0aG91dCByZWFkaW5nIHRoZSBndmFsdWUgdHdpY2UuIE5vIG5lZWQgdG8gcmVzZXQgdGhlIHNwZWN0cnVtIGFuYWx5emVyIGZvcgoJICB0aHJlc2hvbGQgY2hhbmdlcy4KCjIwMTAtMDgtMTEgMTU6Mzg6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogYWRkIGhlbHBlciB0byBvbmx5IGZsdXNoIHJpbmdidWZmZXIgZGF0YSB3aXRob3V0IHJlc2V0dGluZyB0aGUgZmZ0CgkgIFJlZHVjZXMgc29tZSBkdXBsaWNhdGVkIGNvZGUgYXMgd2VsbC4KCjIwMTAtMDgtMTEgMTI6NDU6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IG1vcmUgY29tbWVudHMKCjIwMTAtMDktMDUgMjI6MjI6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEb2N1bWVudCBtZXRob2RzIHdpdGggYmFkIHF1YWxpdHkKCjIwMTAtMDktMDUgMjI6MTk6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiBpbml0aWFsaXplIGFsbCBkZWludGVybGFjZSBjbGFzcyBtZW1iZXJzCgkgIFRoaXMgZml4ZXMgVVlWWSBkZWludGVybGFjaW5nLgoKMjAxMC0wOS0wNSAxODo1ODoxMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQzZDlhY2YgdG8gYzJlMTBiZgoKMjAxMC0wOS0wNSAxODo0NToyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBvcmNfaW5pdCgpIGRvZXNuJ3QgbmVlZCB0byBiZSBjYWxsZWQKCSAgVGhlcmUncyBubyBuZWVkIHRvIGNhbGwgb3JjX2luaXQoKSB1bmxlc3MgeW91J3JlIHVzaW5nIHRoZSBPcmMKCSAgQVBJIGRpcmVjdGx5LiAgQWxsIGNvZGUgY3JlYXRlZCBieSBvcmNjIGlzIGd1YXJhbnRlZWQgdG8gd29yawoJICB3aXRob3V0IGNhbGxpbmcgb3JjX2luaXQoKS4KCjIwMTAtMDktMDUgMTg6NDA6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUub3JjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJICBkZWludGVybGFjZTogRml4IGdyZWVkeWwgT3JjIGltcGxlbWVudGF0aW9uCgkgIFRvIGFncmVlIHdpdGggdGhlIHByZXZpb3VzIEMvYXNtIGNvZGUuCgoyMDEwLTA5LTA1IDIyOjMxOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBGYWlsIHdoZW4gY2FwcyBhcmUgaW5jb21wYXRpYmxlCgkgIERvIG5vdCBmb3JnZXQgdG8gcmV0dXJuIGZhbHNlIHdoZW4gY2FwcyBhcmUgaW5jb21wYXRpYmxlLgoKMjAxMC0wOS0wNSAyMDo1Njo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBPbmx5IGluaXQgb3JjIGlmIGl0IGlzIGF2YWlsYWJsZQoJICBQdXQgc29tZSBpZmRlZiBhcm91bmQgb3JjX2luaXQgdG8gcHJldmVudCBidWlsZCBlcnJvcnMKCjIwMTAtMDktMDUgMTI6MTc6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzYwMjE3IHRvIGQzZDlhY2YKCjIwMTAtMDktMDQgMTI6NDY6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJICBkZWludGVybGFjZTogVXBkYXRlIGRpc3RlZCBPcmMgZmlsZXMKCjIwMDktMDYtMjkgMTE6NDM6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGFkZCBkZWNpbWF0ZSBwcm9wZXJ0eQoKMjAxMC0wNi0wNCAxMjowOToyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmg6CgkgIGR2ZGVtdXg6IFBhcnNlIFNNUFRFIHRpbWUgY29kZXMKCjIwMTAtMDgtMjMgMDI6NTA6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGFzc2VtYmx5IGNvZGUgaW4gZmF2b3Igb2Ygb3JjCgoyMDEwLTA2LTA4IDE0OjU0OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUub3JjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJICBkZWludGVybGFjZTogaW1wbGVtZW50IGdyZWVkeSBpbiBPcmMKCjIwMTAtMDktMDQgMTE6NDM6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgdXBkYXRlIGRpc3RlZCBPcmMgZmlsZXMKCjIwMTAtMDktMDIgMTQ6MzQ6NTAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEZpeCBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIGlzIG5vIGVmZmVjdCBidXQgYSBjb252ZXJ0ZXIuIEZpeGVzIGJ1ZyAjNjI4NjA4LgoKMjAxMC0wOS0wMiAxMToxOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMudHlwZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSAgdmlkZW9taXhlcjI6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBhZGQgdG8gdGhlIGRvY3MKCjIwMTAtMDctMjYgMTY6MDc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogQWRkIHZpZGVvbWl4ZXIyIGVsZW1lbnQKCSAgVGhpcyBpcyBiYXNlZCBvbiBjb2xsZWN0cGFkczIgYW5kIGlzIHN5bmNocm9uaXppbmcKCSAgYWxsIHN0cmVhbXMgYmFzZWQgb24gdGhlIHJ1bm5pbmcgdGltZS4KCSAgTmV3IGZlYXR1cmVzIGNvbXBhcmVkIHRvIG9sZCB2aWRlb21peGVyOgoJICAqIFN5bmNocm9uaXppbmcgZnJhbWVzIG9uIHRoZSBydW5uaW5nIHRpbWUKCSAgKiBJbXByb3ZlZCBhbmQgc2ltcGxpZmllZCBuZWdvdGlhdGlvbgoJICAqIEZ1bGwgUW9TIHN1cHBvcnQKCSAgKiBWYXJpYWJsZSBmcmFtZXJhdGUgc3VwcG9ydAoJICBGaXhlcyBidWcgIzYyNjA0OCwgIzYyNDkwNS4KCjIwMTAtMDktMDEgMTE6MTE6MzQgKzAyMDAgIFBhdmVsIEtvc3R5dWNoZW5rbyA8c2hwcm90eEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVsYXggcGFyc2luZyBvZiBkYXRlIHRhZ3MKCSAgQmVmb3JlIHdlIHJlcXVpcmVkIGEgY29tcGxldGUgZGF0ZSBpbiBtYXRyb3NrYWRlbXV4IGJ1dCBpbgoJICBpZDNkZW11eCBmb3IgZXhhbXBsZSBvbmx5IHRoZSB5ZWFyIG9yIHllYXIgYW5kIG1vbnRoIHdhcyBwb3NzaWJsZSB0b28uCgkgIEZpeGVzIGJ1ZyAjNjI4NDU0LgoKMjAxMC0wOC0zMCAxOTowMzo1MiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFVzZSBHc3RCYXNlU3JjOjpibG9jay1zaXplIGFzIGZhbGxiYWNrIHNpemUKCjIwMTAtMDgtMzAgMTg6MzY6NTQgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEZpeCB1c2luZyBtcGVndHMgdmlhIHRoZSBtbWFwIGludGVyZmFjZQoJICBNUEVHIGRvZXNuJ3QgaGF2ZSBhIHN0YXRpYyBzaXplIHBlciBmcmFtZSwgc28gZG9uJ3QgcHJldGVuZCBpdCBoYXMgb25lCgkgIGFuZCBmYWlsIHdoZW4gY2FwdHVyaW5nIGJlY2F1c2UgaXQgZG9lc24ndCBtYXRjaC4gSW5zdGVhZCBtYXJrIHRoZSBzaXplCgkgIGFzIHVua25vd24gYW5kIGxldCB0aGUgcmVhZCBmcmFtZSBncmFiYmluZyBtZXRob2QgdXNlIGEgcmVhc29uYWJsZSBmYWxsYmFjawoJICB2YWx1ZSAoYXNzdW1pbmcgdGhhdCdzIG9ubHkgZm9yIGFjdHVhbCBzdHJlYW1pbmcgZm9ybWF0cykKCSAgRml4ZXMgYnVnICM2MjgzNDkuCgoyMDEwLTA4LTI3IDE4OjE1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjEzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBkb3duc3RyZWFtIHJldHVybnMgVU5FWFBFQ1RFRC4KCjIwMTAtMDgtMjcgMTg6MDk6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6MDU6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIGJ1ZmZlciBhbGxvY2F0aW9uIGZhaWxlZCBiZWNhdXNlCgkgIG9mIFVORVhQRUNURUQsIHdoaWNoIG9ubHkgbWVhbnMgdGhhdCBkb3duc3RyZWFtIHdhbnRzIHVzIHRvIEVPUyBub3cuCgoyMDEwLTA4LTI3IDE4OjAyOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jL2RlYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIHByb3Blcmx5IGhhbmRsZSBVTkVYUEVDVEVEIGFuZCBXUk9OR19TVEFURS4KCjIwMTAtMDgtMjcgMTc6NTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGNtbWxkZWMvZW5jOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgYXMgYSByZXN1bHQsIGRvbid0IGlnbm9yZSBXUk9OR19TVEFURSBhbmQgTk9UX0xJTktFRC4KCSAgQm90aCBtZWFuIHRoYXQgaXQncyBhIGdvb2QgaWRlYSB0byBwYXNzIHRoZW0gdXBzdHJlYW0gaW5zdGVhZAoJICBvZiBwcmV0ZW5kaW5nIHRoYXQgZXZlcnl0aGluZyBpcyBnb29kLgoKMjAxMC0wOC0yNyAxNzo0NzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjQ1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkgYW5kIEdTVF9GTE9XX0lTX1NVQ0NFU1MoKQoKMjAxMC0wOC0yNyAxNzozOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjM3OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxNzozNTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjM1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjMyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb2N1bWVudCB3aHkgd3Jvbmctc3RhdGUgZG9lc24ndCBuZWVkIGFuIGVycm9yIG1lc3NhZ2UuCgoyMDEwLTA4LTI2IDEzOjQ0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGYWlsIGdyYWNlZnVsbHkgaWYgbm8gdGhyZWFkZWQgUEEgbWFpbmxvb3AgY2FuIGJlIGNyZWF0ZWQKCSAgRml4ZXMgYnVnICM2MjgwMjAuCgoyMDEwLTA4LTI0IDE1OjExOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiBVcGRhdGUgZGlzdGVkIE9SQyBmaWxlcwoKMjAxMC0wOC0yMyAxNTo0NDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE9wdGltaXplIEFSR0IgYmxlbmRpbmcgYW5kIGltcGxlbWVudCBCR1JBIGJsZW5kaW5nIHdpdGggb3JjCgkgIFRoaXMgbm93IG1lYW5zLCB0aGF0IHdlIGhhdmUgYWJzb2x1dGVseSBubyBoYW5kd3JpdHRlbiBhc3NlbWJseSBhbnltb3JlCgkgIGluIHZpZGVvbWl4ZXIgYW5kIGl0J3MgYWxzbyBmYXN0ZXIgbm93IHdoZW4gdXNpbmcgU1NFLgoKMjAxMC0wOC0yMiAwMTo1ODowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBvcmMgaW1wbGVtZW50YXRpb24gZm9yIGJsZW5kaW5nCgkgIHZpZGVvbWl4ZXI6IEFkZCBvcmMgaW1wbGVtZW50YXRpb24gZm9yIGJsZW5kaW5nCgoyMDEwLTA4LTIyIDAxOjU0OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRml4IGV4YW1wbGUgcGlwZWxpbmVzCgkgIHZpZGVvbWl4ZXI6IEZpeCBleGFtcGxlIHBpcGVsaW5lcwoKMjAxMC0wOC0yMCAxMTo0MTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWRkIHRlc3QgZm9yIGNoZWNraW5nIGlmIGltYWdlZnJlZXplIGNvcnJlY3RseSByZXR1cm5zIFVORVhQRUNURUQgYWZ0ZXIgdGhlIGZpcnN0IGJ1ZmZlcgoKMjAxMC0wOC0yMCAxMTozODowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWRkIHRlc3QgZm9yIGJ1ZmZlcmFsbG9jIHBhc3N0aHJvdWdoCgoyMDEwLTA4LTIwIDEwOjM1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBGaXggcmFjZSBjb25kaXRpb25zIGluIHRoZSB1bml0IHRlc3QKCSAgSWYgc2V0dGluZyB0aGUgcGlwZWxpbmUgdG8gUExBWUlORyBiZWZvcmUgaXNzdWluZyB0aGUgc2VlaywgYnVmZmVycwoJICBhcmUgYWxyZWFkeSBhcnJpdmluZyBhdCB0aGUgc2luayBiZWZvcmUgdGhlIHNlZWsgaXMgaGFuZGxlZCBhbmQKCSAgd2lsbCBoYXZlIHRoZSB3cm9uZyB0aW1lc3RhbXBzIGFuZCBldmVyeXRoaW5nLgoJICBGaXhlcyBidWcgIzYyNTU0Ny4KCjIwMTAtMDgtMjAgMTA6MzQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogRml4IGFub3RoZXIgc3VidGxlIHJhY2UgY29uZGl0aW9uIHJlbGF0ZWQgdG8gc3RhcnRpbmcgdGhlIHNyY3BhZCB0YXNrCgkgIER1ZSB0byBhIHNlZWsgdGhlIHNyY3BhZCB0YXNrIGNvdWxkIGJlIHN0YXJ0ZWQgaW4gcmFyZSBjaXJjdW1zdGFuY2VzIGFsdGhvdWdoCgkgIGl0IHNob3VsZG4ndCBiZSBzdGFydGVkIGFueW1vcmUgYmVjYXVzZSBubyB1cHN0cmVhbSBidWZmZXIgaXMgYXZhaWxhYmxlLgoKMjAxMC0wOC0yMCAxMDoyNDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBQcm90ZWN0IHRoZSBmbHVzaGluZy1zZWVrIHZhcmlhYmxlIGJ5IHRoZSBzcmNwYWQncyBzdHJlYW0gbG9jawoJICBUaGlzIGZpeGVzIGEgc3VidGxlIHJhY2UgY29uZGl0aW9uLCB0aGF0IGNhdXNlZCBidWZmZXJhbGxvYyB0byBmYWlsCgkgIHdpdGggd3Jvbmctc3RhdGUgZHVlIHRvIGEgc2VlayBidXQgY2F1c2VkIGl0IHRvIGJlIG5vdCByZXRyaWVkIGFzCgkgIGl0IHNob3VsZC4KCjIwMTAtMDgtMjAgMDk6MTQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBbHdheXMgZ2VuZXJhdGUgYSBwZXJmZWN0bHkgdGltZXN0YW1wZWQgc3RyZWFtCgkgIEJlZm9yZSB0aGVyZSBjb3VsZCBiZSByb3VuZGluZyBlcnJvcnMgd2hlbiBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24sCgkgIHJlc3VsdGluZyBpbiB0aW1lc3RhbXAgKyBkdXJhdGlvbiBiZWluZyBzbWFsbGVyIHRoYW4gdGhlIG5leHQgYnVmZmVyJ3MKCSAgdGltZXN0YW1wLgoKMjAxMC0wOC0xOSAxODozODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogT25seSBpbmNsdWRlIHRoZSBzZXJ2ZXIgbmFtZSBpbiB0aGUgY29udGV4dCBuYW1lIGlmIGl0J3Mgbm90IE5VTEwKCjIwMTAtMDgtMTggMTY6Mzc6NDEgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBBZGQgImNsaWVudCIgcHJvcGVydHkgdG8gc2V0IHRoZSBQQSBjbGllbnQgbmFtZQoJICBBbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIG1vZGlmeSB0aGUgY2xpZW50IG5hbWUgdXNlZCB0byBjb25uZWN0IHdoZW4KCSAgY29ubmVjdGluZyB0byB0aGUgUHVsc2VBdWRpbyBkYWVtb24uIE5vdGUgaG93ZXZlciB0aGF0IHVwZGF0aW5nIHRoZQoJICBwcm9wZXJ0eSBhZnRlciB0aGUgZWxlbWVudCByZWFjaGVkIHRoZSBSRUFEWSBzdGF0ZSB3aWxsIGhhdmUgbm8KCSAgZWZmZWN0IHVudGlsIHRoZSBuZXh0IE5VTEwtPlJFQURZIHRyYW5zaXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjI3MTc0LgoKMjAxMC0wOC0xOSAxNzo1OTowOSArMDIwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSW1wcm92ZSBlcnJvciBtZXNzYWdlcwoJICBCZWZvcmUgdGhleSBjb250YWluZWQgdGhlIFVSTCBiZWZvcmUgdGhlIGFjdHVhbCBmYWlsdXJlLiBUaGUgb3RoZXIKCSAgd2F5IGFyb3VuZCBtYWtlcyBtb3JlIHNlbnNlIGFuZCB3ZSBkbyB0aGUgc2FtZSBpbiBvdGhlciBlbGVtZW50cwoJICBsaWtlIGZpbGVzcmMuCgkgIEZpeGVzIGJ1ZyAjNjI3Mjg5LgoKMjAxMC0wOC0xOSAxMjo0Njo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRnJlZSB0aGUgY2xvY2sgb24gc3RhdGUgY2hhbmdlIGZhaWx1cmVzIHRvbwoKMjAxMC0wOC0xNyAxNjoyNjo0MSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHB1bHNldXRpbDogaW5jbHVkZSBwaWQgdmFsdWUgaW4gZ3N0X3B1bHNlX2NsaWVudF9uYW1lKCkgZmFsbGJhY2sgcmV0dXJuIHZhbHVlCgkgIEZpeGVzIGJ1ZyAjNjI3MTYyCgoyMDEwLTA4LTE5IDEyOjMyOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIHRoZSBHc3RQdWxzZUNvbnRleHQgYWZ0ZXIgdXNhZ2UKCjIwMTAtMDgtMTYgMDk6MTI6MDQgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2hhcmUgdGhlIFBBIGNvbnRleHQgYmV0d2VlbiBhbGwgY2xpZW50cyB3aXRoIHRoZSBzYW1lIG5hbWUKCSAgQXZvaWQgdG8gY3JlYXRlIGEgbmV3IFBBIGNvbnRleHQgZm9yIGVhY2ggbmV3IGNsaWVudCBieSB1c2luZyBhIGhhc2gKCSAgdGFibGUgY29udGFpbmluZyB0aGUgbGlzdCBvZiByaW5nLWJ1ZmZlcnMgYW5kIHRoZSBzaGFyZWQgUEEgY29udGV4dAoJICBmb3IgZWFjaCBjbGllbnQuIERvaW5nIHRoaXMgd2lsbCBpbXByb3ZlIGFwcGxpY2F0aW9uIG1lbW9yeSB1c2FnZSBpbgoJICB0aGUgY2FzZXMgd2hlcmUgbXVsdGlwbGUgcGlwZWxpbmVzIGludm9sdmluZyBtdWx0aXBsZSBwdWxzZXNpbmsKCSAgZWxlbWVudHMgYXJlIHVzZWQuCgkgIEZpeGVzIGJ1ZyAjNjI0MzM4LgoKMjAxMC0wOC0xNyAxMzo0MTo0OSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2xlYXIgdGhlIFBBIG1haW5sb29wIGlmIGJhc2VhdWRpb3NpbmsgZmFpbGVkIHRvIG9wZW4gdGhlIHJpbmdfYnVmZmVyCgkgIElmIHRoZSBhcHBsaWNhdGlvbiByZXF1ZXN0cyBhIHN0YXRlLWNoYW5nZSBhbmQgcHVsc2VzaW5rIGZhaWxzIHRvIG9wZW4KCSAgdGhlIHJpbmdfYnVmZmVyIGRldmljZSB0aGUgbWFpbmxvb3AgYXR0cmlidXRlIG9mIHRoZSBzaW5rIHNob3VsZCBiZQoJICBjbGVhbmVkIHVwIHRvIGF2b2lkIGZ1dHVyZSBzdGF0ZS1jaGFuZ2UgKE5VTEwtPlJFQURZKSBmYWlsdXJlcy4KCjIwMTAtMDgtMTkgMTI6MjM6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgRU9TIGhhcHBlbnMgYmVmb3JlIHZhbGlkIGlucHV0IGlzIGZvdW5kCgkgIEZpeGVzIGJ1ZyAjNjI3MzQxLgoKMjAxMC0wOC0xMiAxMTo0OTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IFNlbmQgY2xvc2UgbmV3c2VnbWVudCBldmVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgoyMDEwLTA4LTExIDExOjM2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IFJldHJ5IGJ1ZmZlcmFsbG9jIGlmIGl0IHdhcyBhYm9ydGVkIHdpdGggV1JPTkdfU1RBVEUgYmVjYXVzZSBvZiBhIGZsdXNoaW5nIHNlZWsKCjIwMTAtMDgtMTEgMDg6NDY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGVuIGdldHRpbmcgYSBzZWNvbmQgYnVmZmVyCgkgIFRoaXMgcHJldmVudHMgdXBzdHJlYW0gZnJvbSBwdXNoaW5nIG1hbnkgdXNlbGVzcyBidWZmZXJzIGFuZCBtYWtlcwoJICBpdCBnbyBpbnRvIEVPUyBzdGF0ZS4KCjIwMTAtMDgtMTAgMjA6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBQYXNzdGhyb3VnaCBidWZmZXIgYWxsb2NhdGlvbnMKCjIwMTAtMDktMDQgMTM6MTA6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50CgkgIFRlbXBvcmFyaWx5IGRpc2FibGUgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciBnaXQgYnVpbGRzIHVudGlsCgkgIHRoZSBjb2RlIGlzIHVwZGF0ZWQgZm9yIHRoZSBHU1RfRkxPV19JU18qIG1hY3JvIGRlcHJlY2F0aW9ucy4KCj09PSByZWxlYXNlIDAuMTAuMjUgPT09CgoyMDEwLTA5LTAyIDIzOjQ0OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI1CgoyMDEwLTA5LTAyIDIzOjEyOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIHJlbGVhc2UKCjIwMTAtMDktMDIgMjM6MDc6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZXMucG86CgkqIHBvL2dsLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmwucG86CgkqIHBvL3JvLnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDgtMjUgMTk6MDE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4yNC41IHByZS1yZWxlYXNlCgoyMDEwLTA4LTIyIDIxOjE1OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdXNlIHNlcGFyYXRlIGJ1ZmZlciBtZXRhZGF0YSBmb3IgZmllbGRzCgkgIENhbGwgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgb24gYnVmZmVycyB0aGF0IGFyZQoJICBkdXBsaWNhdGVkIGludG8gZmllbGRzLiAgRml4ZXMgIzYyNzY4OS4KCjIwMTAtMDgtMjEgMjE6NDE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4yNC40IHByZS1yZWxlYXNlCgoyMDEwLTA4LTE5IDE4OjMwOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogUHJldmVudCBjcmFzaCB3aGVuIHJlYWRpbmcgaW1hZ2Ugd2l0aCBwcm9ibGVtcwoJICBDaGVjayBpZiB3ZSBoYXZlIGRhdGEgb24gdGhlIGFkYXB0ZXIgYW5kIGZhaWwgaWYgbm90LgoJICBGaXhlcyAjNjI3NDEzCgoyMDEwLTA4LTEzIDE3OjI0OjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNlOGRiMWQgdG8gZWM2MDIxNwoKMjAxMC0wOC0xMSAyMjoyMDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNlbmQgY2xvc2Ugc2VnbWVudHMgd2hlbiBzZWVraW5nIG9ubHkgZm9yIG5vbi1mbHVzaGluZyBzZWVrcyBhbmQgaWYgd2UgYWxyZWFkeSBzZW50IGEgbmV3c2VnbWVudCBldmVudAoJICBGaXhlcyBidWcgIzYyNjYxOS4KCjIwMTAtMDgtMTEgMTY6NTA6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmM6CgkgIDAuMTAuMjQuMyBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xMSAxMToxNzoxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZXZlbnQgcmVhZGluZyBwYXN0IGF2YzEgYXRvbSB3aGVuIHBhcnNpbmcKCSAgLi4uIHdoZW4gb25lIG9mIHRoZSBzdWJhdG9tcyBoYXMgYSBsYXJnZS9pbnZhbGlkIHNpemUuCgkgIEZpeGVzICM2MjY2MDkuCgoyMDEwLTA4LTEwIDIzOjM3OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI0LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTAgMTA6NTc6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiZDIwNTRiIHRvIDNlOGRiMWQKCjIwMTAtMDgtMDkgMDA6MzY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogZml4IHByaW50ZiBmb3JtYXQgaW4gc29tZSBkZWJ1Z2dpbmcgbWVzc2FnZXMKCjIwMTAtMDgtMDggMjM6MzE6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogc2V0IHBsdWdpbnNkaXIgdG8gdG9wLWxldmVsIGJ1aWxkZGlyIHdpdGhvdXQgdGhlIHBrZ2NvbmZpZy8uLiBiaXRzCgkgIFJlbW92ZXMgY2x1dHRlciBpbiBwbHVnaW4gZGlyIHBhdGhzLiBUaGlzIGlzIG9ubHkgdXNlZCB0byBmaW5kIHRoZSAtZ29vZAoJICBwbHVnaW5zIGZvciB1bml0IHRlc3RzIG9mIHVnbHkvYmFkL2ZmbXBlZy9ldGMuIGluIGFuIHVuaW5zdGFsbGVkIHNldHVwLgoKMjAxMC0wOC0wNiAyMDowNDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGFsc28gbG9nIHBpeGVsIGZvcm1hdHMgaW4gc29ydGVkIG9yZGVyCgoyMDEwLTA4LTA2IDE4OjA3OjQ2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc29ydCBmb3JtYXRzIGluIHRoZSByaWdodCBvcmRlciBzbyB0aGF0IG5vbi1lbXVsYXRlZCBmb3JtYXRzIGFyZSBwcmVmZXJlZAoJICBUaGUgZm9ybWF0IGxpc3Qgc2hvdWxkIGJlIHNvcnRlZCBmcm9tIGhpZ2ggcmFua3MgdG8gbG93IHJhbmtzLiBJbiB0aGUgR1NMaXN0CgkgIHNvcnRpbmcgZnVuY3Rpb24gdGhpcyBtZWFucyB0aGUgY29tcGFyZSBuZWVkcyB0byByZXR1cm4gYSBwb3NpdGl2ZSB2YWx1ZSBpZgoJICBmb3JtYXQgYSBoYXMgYSBsb3dlciByYW5rIHRoYW4gZm9ybWF0IGIuCgkgIEFtb25nIG90aGVyIHRoaW5ncyB0aGlzIGZpeGVzIHY0bDJzcmMgdG8gcHJlZmVyIG5vbi1lbXVsYXRlZCBmb3JtYXRzCgkgIHRvIGVtdWxhdGVkIGZvcm1hdHMgd2hlbiBidWlsdCBhZ2FpbnN0IGxpYnY0bC4KCjIwMTAtMDgtMDYgMTk6MjQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBGaXggcGlwZWxpbmUgaW4gdGhlIGRvY3VtZW50YXRpb24KCSAgTWFrZSBzdXJlIHRoYXQgd2UgaGF2ZSB0aGUgc2FtZSBjb2xvciBmb3JtYXQgb24gYWxsIHN0cmVhbXMsIGkuZS4gQVlVVgoJICBGaXhlcyBidWcgIzYyNTQ1Mi4KCjIwMTAtMDgtMDUgMTM6NTY6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTUxOTU3MSB0byBiZDIwNTRiCgoyMDEwLTA2LTE0IDE5OjU4OjExICsxMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGlkM3YybXV4OiB3cml0ZSBiZWF0cy1wZXItbWludXRlIHRhZyB1c2luZyBUQlBNIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE1MjAKCjIwMTAtMDctMjUgMTE6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IE1vdmUgZGVidWcgY2F0ZWdvcmllcyBpbnRvIHRoZSBzb3VyY2UgZmlsZXMgYW5kIGFkZCBkZWJ1ZyBjYXRlZ29yeSBmb3IgdGhlIGJsZW5kIGZ1bmN0aW9ucwoKMjAxMC0wOC0wNCAxOToyNTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIElTTyBDODkgb3IgQzk5IGFuZCB3aGljaCBwYXJhbWV0ZXJzIGFyZSByZXF1aXJlZAoJICBUaGlzIGZpcnN0IGNoZWNrcyB3aGF0IGlzIHJlcXVpcmVkIGZvciBJU08gQzk5IHN1cHBvcnQgYW5kIHNldHMgdGhlIHJlbGV2YW50CgkgIGNvbXBpbGVyIHBhcmFtZXRlcnMgYW5kIGlmIG5vIEM5OSBjb21waWxlciBpcyBmb3VuZCwgaXQgY2hlY2tzIGZvciBhCgkgIEM4OSBjb21waWxlci4gVGhpcyBlbmFibGVzIHVzIHRvIGNoZWNrIGZvciBhbmQgdXNlIEM4OS9DOTkgZnVuY3Rpb25zCgkgIHRoYXQgZ2NjIGhpZGVzIGZyb20gdXMgd2l0aG91dCB0aGUgY29ycmVjdCBjb21waWxlciBwYXJhbWV0ZXJzLgoKMjAxMC0wNy0xNSAxMDoxMDozMSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgR19UWVBFX0RFRklORSB0byBkZWZpbmUgcmluZyBidWZmZXIgdHlwZQoJICBUaGUgZXhpc3RpbmcgZ2V0X3R5cGUoKSBpbXBsZW1lbnRhdGlvbiBpcyByYWN5LCBhbmQgdGhlCgkgIGdfdHlwZV9jbGFzc19yZWYoKSB3b3JrYXJvdW5kIGRpZG4ndCBhY3R1YWxseSB3b3JrIGJlY2F1c2UKCSAgaXQgd2FzIGluIHRoZSB3cm9uZyBmdW5jdGlvbi4gU2luY2UgY2xhc3MgY3JlYXRpb24gaW4gR09iamVjdAoJICBpcyB0aHJlYWQtc2FmZSB0aGVzZSBkYXlzIChzaW5jZSAyLjE2KSwgdGhlIGNsYXNzX3JlZiB3b3JrYXJvdW5kCgkgIGlzIG5vIGxvbmdlciBuZWVkZWQgYW5kIGl0IGlzIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHRoZSBfZ2V0X3R5cGUoKQoJICBmdW5jdGlvbiBpcyB0aHJlYWQtc2FmZSwgd2hpY2ggR19UWVBFX0RFRklORSBkb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI0MzM4CgoyMDEwLTA4LTA0IDE1OjIwOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBQb3N0IENMT0NLLUxPU1QvQ0xPQ0stUFJPVklERSB3aGVuIGdvaW5nIHRvL2Zyb20gUkVBRFkKCSAgT3RoZXJ3aXNlIHRoZSBjbG9ja3MgYXJlIHJlZGlzdHJpYnV0ZWQgZXZlcnkgdGltZSB0aGUgcGlwZWxpbmUKCSAgZ29lcyB0byBQQVVTRUQsIHdoaWNoIGlzIHF1aXRlIGV4cGVuc2l2ZS4KCjIwMTAtMDctMTIgMTI6MzU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIHJ0cG1wNGdwYXk6IGltcGxlbWVudCBwZXJmZWN0IHRpbWVzdGFtcHMKCSAgVXNlIGJpdHJlYWRlciBmb3IgcGFyc2luZyB0aGUgY29uZmlnIHN0cmluZwoJICBSZXNldCBzdGF0ZSB2YXJpYWJsZXMgd2hlbiBnb2luZyB0byBSRUFEWQoJICBQYXJzZSBmcmFtZSBsZW5ndGggYW5kIHVzZSBpdCB0byBrZWVwIHRyYWNrIG9mIHRoZSBydHB0aW1lc3RhbXBzCgoyMDEwLTA3LTA5IDE0OjA3OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cGgyNjNwZGVwYXk6IGFsbG93IG1vcmUgY2xvY2stcmF0ZXMgYXMgaW5wdXQKCSAgQWx0aG91Z2ggdGhlIHNwZWMgc2F5cyB0aGF0IHRoZSBjbG9jay1yYXRlIHNob3VsZCBhbHdheXMgYmUgOTAwMDAsIHNvbWUgcnRzcAoJICBzZXJ2ZXJzIHNlbmQgZGlmZmVyZW50IGNsb2NrLXJhdGVzIHNvIHdlIG11c3QgYWNjZXB0IHRoZW4gaW4gb3JkZXIgdG8gaGFuZGxlCgkgIHRob3NlIHN0cmVhbXMgdG9vLgoKMjAxMC0wNy0wNiAxOTowMjoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgTDE2ZGVwYXk6IGRlZmF1bHQgdG8gMSBjaGFubmVsCgkgIFdoZW4gd2UgY2FuJ3QgZmluZCBhbnkgY2hhbm5lbCBvciBlbmNvZGluZy1wYXJhbXMgb24gdGhlIGNhcHMgZm9yIGR5bmFtaWMKCSAgcGF5bG9hZCB0eXBlcywgc2V0IHRoZSBkZWZhdWx0IG51bWJlciBvZiBjaGFubmVscyB0byAxLCBhcyB0aGUgc3BlYyBzYXlzIHdlCgkgIHNob3VsZC4KCSAgU2VlICM2MjMyMDkKCjIwMTAtMDctMDYgMTg6MjI6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHJldXNlIHVkcCBzb2NrZXRzCgkgIERvbid0IHJldXNlIHNvY2tldHMgYnV0IG1ha2UgdGhlIHVkcHNyYyBlbGVtZW50IGZhaWwgdGhlIHN0YXRlIGNoYW5nZSB3aGVuIHRoZQoJICBzb2NrZXQgaXMgYWxyZWFkeSBpbiB1c2UuIElmIHdlIGRvbid0IHByZXZlbnQgcmV1c2UsIHdlIG1pZ2h0IGVuZCB1cCB1c2luZyB0aGUgc2FtZQoJICBwb3J0IGZvciBkaWZmZXJlbnQgc3RyZWFtcyBpbiBzb21lIGNhc2VzLgoJICBGaXhlcyAjNjIyMDE3CgoyMDEwLTA3LTA2IDE4OjExOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBhZGQgcHJvcGVydHkgdG8gZW5hYmxlIHBvcnQgcmV1c2UKCjIwMTAtMDctMDUgMTA6MjM6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgIEwxNmRlcGF5OiB1c2UgZW5jb2RpbmctcGFyYW1zIGZvciB0aGUgY2hhbm5lbHMKCSAgV2hlbiBwYXJzaW5nIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMsIHVzZSB0aGUgZW5jb2RpbmctcGFyYW1zIHByb3BlcnR5IGZyb20gdGhlCgkgIFJUUCBjYXBzIGJlY2F1c2UgdGhhdCBpcyB3aGVyZSB3ZSBjYW4gZmluZCB0aGUgY2hhbm5lbHMgYWNjb3JkaW5nIHRvIHRoZSBzcGVjLgoJICBGYWxsIGJhY2sgdG8gdGhlIGNoYW5uZWxzIHByb3BlcnR5IGluIHRoZSBjYXBzIHdoZW4gbmVlZGVkLgoJICBGaXhlcyAjNjIzMjA5CgoyMDEwLTA2LTI5IDEwOjQ2OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXByb3ZlIGVycm9yIGFuZCB3YXJuaW5nIG1lc3NhZ2UKCSAgSW1wcm92ZSBlcnJvciBhbmQgd2FybmluZyBtZXNzYWdlLgoJICBGaXhlcyAjNjIyNTc3CgoyMDEwLTA4LTAyIDIzOjE1OjU2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogbm8gbmVlZCB0byBzZXQgdGhlIGNvbG9yIGZvciBlYWNoIGZycS1iYW5kCgoyMDEwLTA4LTAyIDEyOjU2OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgcnRwZzcyOXBheTogYXZvaWQgYmFzZXJ0cHBheWxvYWQgcGVyZmVjdC1ydHB0aW1lIG1vZGUKCSAgRzcyOSBwYWNrZXRzIG1heSBvbmx5IG9jY3VyIGludGVybWl0dGVudGx5IChlLmcuIGNuIHBhY2tldHMpLCBhbmQgYXMgc3VjaAoJICBkbyBub3QgYWxsb3cgZm9yIHBlcmZlY3QtcnRwdGltZSBjYWxjdWxhdGluZyBydHAgdGltZXMgYmFzZWQgb24gZnJhbWUgb3IgYnl0ZQoJICBjb3VudC4gIEluIHBhcnRpY3VsYXIsIGRvIG5vdCB1c2UgcnRwIGF1ZGlvIGJhc2UgcGF5bG9hZGVyIGFzIGJhc2UgY2xhc3MsIGJ1dAoJICByYXRoZXIgYmFzZSBwYXlsb2FkZXIgZGlyZWN0bHkuCgoyMDEwLTA4LTAyIDEyOjQ4OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBmaXggZWxlbWVudCBsZWFrCgoyMDEwLTA4LTAyIDEyOjQ2OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIHJ0cG1wNHZkZXBheTogZml4IGJ1ZmZlciBsZWFrCgoyMDEwLTA4LTAyIDEyOjQ2OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAgcGF5bG9hZGluZzogZml4IHBhZCBsZWFrCgoyMDEwLTA3LTI5IDE3OjE4OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgdXNlIHByb3BlciBtb3ZpIG9mZnNldCBmb3IgbW92aSBiYXNlZCBpbmRleAoJICBGaXhlcyAjNjIzMzU3LgoKMjAxMC0wNy0yOSAxMDowMDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQ29ycmVjdGx5IHBhcnNlIG12aGQgYXRvbXMKCSAgUGFyc2UgbXZoZCBkYXRhIGFjY29yZGluZyB0byBpdHMgdmVyc2lvbiB0byBhdm9pZCBmYWlsaW5nCgkgIG9uIHZhbGlkIGZpbGVzLgoKMjAxMC0wNy0yOCAxMjoyMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB0aGUgbWF4L2F2ZyBpbiBidHJ0IGF0b20gcmVhZGluZwoJICBBY2NvcmRpbmcgdG8gSVNPIG1lZGlhIGJhc2UgZm9ybWF0LCB0aGUgbWF4IGJpdHJhdGUgaXMgdGhlCgkgIGZpcnN0IG9uZSwgYW5kIHRoZSBhdmcgY29tZXMgbmV4dC4KCjIwMTAtMDctMjcgMTU6NTg6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByb3BlciBoYW5kbGluZyBvZiBzdHJlYW1pbmcgdXBzdHJlYW0gd2l0aG91dCBkdXJhdGlvbgoJICBGaXhlcyAjNjI1MzcxLgoKMjAxMC0wNy0yNiAxODozMzowOSArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW5pdGlhbGl6ZSBzb21lIHZhcmlhYmxlcyB0byBmaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1NYIGJ1aWxkIGJvdAoKMjAxMC0wNy0yNiAxODoxNToyNSArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY29ycmVjdGx5IGNoZWNrIHdoYXQgdmVyc2lvbiBvZiBnc3QtcGx1Z2lucy1iYXNlIHdlJ3JlIGNvbXBpbGluZyBhZ2FpbnN0CgkgIFdlIG5lZWQgdG8gY2hlY2sgdGhlIGdzdC1wbHVnaW5zLWJhc2UgdmVyc2lvbiwgbm90IHRoZSBjb3JlIHZlcnNpb24KCSAgKGV2ZW4gaWYgYm90aCBzaG91bGQgYmUgdGhlIHNhbWUgaW4gYW55IHNhbmUgc2V0dXApLgoKMjAxMC0wNy0yNiAxNzo0NTo0MiArMDIwMCAgQXJuYXVkIFZyYWMgPHJhd291bCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHBvcnQtcmFuZ2UgcHJvcGVydHkgdG8gcnRzcHNyYwoJICBUbyBzdXBwb3J0IHNldHVwcyB3aXRoIGZpcmV3YWxsL2lwc2VjLCBpdCBpcyB1c2VmdWwgZm9yIGFuIHJ0c3AgY2xpZW50IHRvIGJlCgkgIGFibGUgdG8gc2V0IHRoZSByYW5nZSBvZiBwb3J0cyB0aGF0IGNhbiBiZSB1c2VkIGZvciBydHAvcnRjcCByZWNlcHRpb24uCgkgIEFsbG93cyB0aGlzIGJ5IGFkZGluZyBhICJwb3J0LXJhbmdlIiBwcm9wZXJ0eSB0byB0aGUgcnRzcHNyYyBlbGVtZW50LgoJICBGaXhlcyAjNjI1MTUzCgoyMDEwLTA3LTI2IDEzOjM4OjMxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGZpZWxkIGFsc28gZm9yIHBhcj0xLzEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTMwMgoKMjAxMC0wNy0yNiAxNTozMToxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrIGluIHNlcnZlciByZXF1ZXN0IHJlcGx5CgkgIFRoZSBSVFNQIHNlcnZlciBydHNwc3JjIGlzIGNvbW11bmljYXRpbmcgd2l0aCwgc2VuZHMgYSBHRVRfUEFSQU1FVEVSIHJlcXVlc3QKCSAgcGVyaW9kaWNhbGx5IGFzIGEgcGluZy4gIFRoZSBjb2RlIGluIGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0IGZvcm1zIGFuIE9LCgkgIHJlc3BvbnNlIGFuZCBzZW5kcywgYnV0IGRvZXNuJ3QgY2FsbCBnc3RfcnRzcF9tZXNzYWdlX3Vuc2V0IHRvIGZyZWUgdGhlIG1lbW9yeQoJICBhZnRlciBzZW5kaW5nIHRoZSByZXNwb25zZS4gIFRoaXMgcmVzdWx0cyBpbiBhIGNvbnN0YW50IHNsb3cgbWVtb3J5IGxlYWsuCgkgIEZpeGVzICM2MjQ3NzAKCjIwMTAtMDctMjQgMjI6Mzk6NTQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSAgY3B1cmVwb3J0OiByZW1vdmUgYm9ndXMgZG9jcwoKMjAxMC0wNy0yNCAyMjozNzoxMSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkgIGRlYnVndXRpbHM6IG5ldyBlbGVtZW50IGNwdXJlcG9ydAoJICBjcHVyZXBvcnQgcG9zdHMgYnVzIG1lc3NhZ2VzIGFmdGVyIGV2ZXJ5IGJ1ZmZlciByZWNlaXZlZCBvZiBjcHUgdXNlZCwgc3lzdGVtCgkgIGNsb2NrIHRpbWUsIGJ1ZmZlciB0aW1lCgoyMDEwLTA3LTI0IDEwOjI5OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBEZXN0cm95IHRoZSBjYWlybyBjb250ZXh0IGFmdGVyIHVzYWdlCgoyMDEwLTA3LTI0IDEwOjIxOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgUmV2ZXJ0ICJnZGtwaXhidWY6IEFkZCBhIGdka3BpeGJ1ZjMgcGx1Z2luIHRoYXQgdXNlcyBnZGtwaXhidWYzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGI2Nzg4MTUzMTYxYjRlMDdmYmYzZDQyYTJkODkyMWVhMDQ5MzA1ZDAuCgkgIFRoZXJlJ3Mgbm8gZ2RrLXBpeGJ1ZjMgYW55bW9yZS4gZ2RrLXBpeGJ1ZiB3YXMgc2VwYXJhdGVkIGZyb20gR1RLKwoJICBhbmQgd2lsbCBzdGF5IGF0IHZlcnNpb24gMi4wIGZvciBHVEsrIDMuMC4KCjIwMTAtMDctMjQgMTA6MTk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IFVzZSBjYWlybyBpbnN0ZWFkIG9mIHRvLWJlLWRlcHJlY2F0ZWQgR0RLIEFQSQoJICBGaXhlcyBidWcgIzYyNTAwMi4KCjIwMTAtMDctMjIgMTY6MjQ6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggZXZlbnQgbGVhawoKMjAxMC0wNy0yMiAxMjowNToyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHB1bGwgbW9kZSBub24tY3VlIHNlZWtpbmcKCSAgVGhhdCBpcywgaW4gZmlsZXMgdGhhdCBoYXZlIG5vIGluZGV4IChDdWUpLCBwZXJmb3JtIHNlZWsgYnkgc2Nhbm5pbmcgZm9yCgkgIG5lYXJlc3QgY2x1c3RlciB3aXRoIHRpbWVjb2RlIGJlZm9yZSByZXF1ZXN0ZWQgcG9zaXRpb24uICBTY2FubmluZyBpcyBkb25lCgkgIGFzIGEgY29tYmluYXRpb24gb2YgaW50ZXJwb2xhdGlvbiBhbmQgc2VxdWVudGlhbCBzY2FuLgoJICBGaXhlcyAjNjE3MzY4LgoKMjAxMC0wNy0xNiAxMjo0Njo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzdHJlYW1hYmxlIGZpbGVzIG5lZWQgbm8gX2ZpbmlzaAoJICBGaXhlcyAjNjI0NDU1LgoKMjAxMC0wNy0yMiAxMTo0NjozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGhhbmRsZSAwLXNpemUgZGF0YSBjaHVua3MKCSAgRml4ZXMgIzYxODUzNS4KCjIwMTAtMDctMjEgMDg6MTE6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBPbmx5IHJlc2V0IFFvUyBpbmZvcm1hdGlvbiBhbmQgc2VuZCBhIE5FV1NFR01FTlQgZXZlbnQgZG93bnN0cmVhbSBmb3IgTkVXU0VHTUVOVCBldmVudHMgb24gdGhlIG1hc3RlciBwYWQKCjIwMTAtMDctMTQgMjA6MzE6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSAgY2Fwc2RlYnVnOiBBZGQgbmV3IGVsZW1lbnQKCjIwMTAtMDctMjAgMTY6MTE6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZGVtb3RlIFdBUk5JTkcgbWVzc2FnZSB0byBMT0cgbGV2ZWwKCSAgSXQncyBub3QgYSB3YXJuaW5nLgoKMjAxMC0wNy0xOSAxNDo0NzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEZpeCByZWdyZXNzaW9uIG9uIG1hcmtlcnMgcGFyc2luZwoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCB3aGVuIGZpeGluZyBidWcgIzU4MzA0NyBpbgoJICBjb21taXQgYTM5MWJmNTJjYzNjNTgwYzdhMGEyMzE2Y2E1MmViNjZkYTNiODVjMQoJICBTa2lwIHRoZSBkYXRhIHdoZW4gbGlianBlZyBhc2tzIGl0IHRvIGJlIHNraXBwZWQgb24KCSAgb25lIG9mIGl0cyBjYWxsYmFja3MuCgoyMDEwLTA3LTE2IDE4OjA0OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGQgbWlzc2luZyBhcmd1bWVudCBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTA3LTE2IDE3OjUzOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNpbms6IE9ubHkgdXNlIGdzdF9hdWRpb19jbG9ja19uZXcoKSB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IG5ld2VyIGJhc2UKCjIwMTAtMDctMDkgMTc6MzM6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIGR2MTM5NHNyYzogUG9zdCBjbG9jay1wcm92aWRlIGFuZCBjbG9jay1sb3N0IG1lc3NhZ2VzIHdoZW4gZ29pbmcgZnJvbS90byBQTEFZSU5HCgkgIEluIFBBVVNFRCBhbmQgYmVsb3cgdGhlIGNsb2NrIGlzIG5vdCB3b3JraW5nLgoKMjAxMC0wNy0wNCAxNjo1Nzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuaDoKCSAgZ2NvbmY6IEZpeCByZWYgaGFuZGxpbmcgb2YgbmV3IGNoaWxkIGVsZW1lbnRzIGFuZCBtaW5vciBjbGVhbnVwCgoyMDEwLTA3LTA0IDA5OjQ1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkgIGdjb25mdmlkZW9zcmM6IFVzZSBjb3JyZWN0IEdDb25mIGtleQoKMjAxMC0wNy0wMyAxNDoxNjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICBnY29uZjogUG9ydCBnY29uZmF1ZGlvc3JjIHRvIEdzdFN3aXRjaFNyYwoKMjAxMC0wNy0wMyAxNDoxMjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBnY29uZjogUG9ydCBnY29uZnZpZGVvc3JjIHRvIEdzdFN3aXRjaFNyYwoKMjAxMC0wNy0wMyAxNDoxMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5oOgoJICBnY29uZjogQWRkIEdzdFN3aXRjaFNyYyBiYXNlIGNsYXNzCgoyMDEwLTA3LTAzIDEzOjU2OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkgIGdjb25mOiBDcmVhdGUgdGhlIGdob3N0cGFkIG9mIHRoZSBzd2l0Y2hzaW5rIGZyb20gdGhlIHRlbXBsYXRlCgoyMDEwLTA3LTA3IDEwOjEwOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBQb3N0IGNsb2NrLXByb3ZpZGUvY2xvY2stbG9zdCB3aGVuIGdvaW5nIHRvL2Zyb20gUEFVU0VECgkgIEFsc28gdXNlIGdzdF9hdWRpb19jbG9ja19uZXdfZnVsbCgpIHRvIHByZXZlbnQgY3Jhc2hlcyB3aGVuIHRoZQoJICBjbG9jayBpcyB1c2VkIGFmdGVyIHRoZSBlbGVtZW50IHdhcyBkZXN0cm95ZWQuCgoyMDEwLTA3LTE1IDExOjQ5OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZW1vdmUgYm9ndXMgVU5MT0NLCgoyMDEwLTA3LTEzIDEyOjM0OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBjYWxjdWxhdGUgUEFSIHVzaW5nIHRyYWNrIHdpZHRoIGFuZCBoZWlnaHQgZm9yIFFUIGZpbGVzCgkgICguLi4gYXMgb3Bwb3NlZCB0byBvbmx5IGZvciBJU08gc3R5bGUgZmlsZXMpLgoJICBGaXhlcyAjNjI0MTczLgoKMjAxMC0wNy0xMiAxNzoyOToxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaGFuZGxlIGJvZ3VzIGZpbGVzIHN0b3JpbmcgQURUUyBBQUMgZGF0YQoKMjAxMC0wNy0wOSAxNjo1NzozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG8gbm90IGVycm9yIG91dCBvbiBhIGJsb2NrIHdpdGggdW5rbm93biB0cmFja251bWJlcgoKMjAxMC0wNy0wOCAxODo1NzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCBhbGlnbiByZXZlcnNlIHBsYXliYWNrIHJlZmVyZW5jZSBzdHJlYW0gdHdpY2UKCSAgVGltZXN0YW1wIHJvdW5kaW5nIGlzc3VlcyBjb3VsZCBsZWFkIHRvIGdvaW5nIGJhY2t3YXJkcyAyIGtleWZyYW1lIHBlcmlvZHMKCSAgKHJhdGhlciB0aGFuIG9ubHkgMSkuICBXaGlsZSB0aGlzIGlzIG5vdCBuZWNlc3NhcmlseSBhIHByb2JsZW0sIGl0IG1pZ2h0CgkgIHBvdGVudGlhbGx5IHBsYWNlIGFkZGl0aW9uYWwgKGJ1ZmZlcmluZykgbG9hZCBvbiBkb3duc3RyZWFtIGFuZCBjb3VsZCBiZQoJICBhdm9pZGVkIChiZWNhdXNlIFdlIENhbikuCgkgIEZpeGVzICM2MjM2MjkuCgoyMDEwLTA3LTA4IDE2OjA3OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29udmVydCBzb21lIG1vcmUgbW92IGZvcm1hdCB0aW1lc3RhbXAgdG8gZ3N0IHRpbWUKCjIwMTAtMDctMDcgMTQ6MTY6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkaXRpb25hbCB2ZXJpZmljYXRpb24gaGV1cmlzdGljcyBmb3IgVkJSIGF1ZGlvIHN0cmVhbQoJICBDaGVjayBmb3IgYW5kIG92ZXJyaWRlIHNvbWUgaGVhZGVyIGZpZWxkKHMpIGZvciByZWFzb25hYmxlIHZhbHVlcywgYWNjb3JkaW5nCgkgIHRvIGxhdGVyIGV4cGVjdGVkIHVzZSBpbiBjYWxjdWxhdGlvbnMuCgoyMDEwLTA3LTE0IDE1OjIxOjIxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBGaXggd3JvbmcgbG9jayBvcmRlciB0aGF0IGNvdWxkIGxlYWQgdG8gYSBkZWFkbG9jay4gRml4ZXMgIzYyNDMzMS4KCjIwMTAtMDctMTYgMTE6MzE6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yNCA9PT0KCjIwMTAtMDctMTUgMDE6NDk6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI0CgoyMDEwLTA3LTE1IDAxOjM1OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2NzLnBvOgoJKiBwby9sdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDctMDcgMDA6NDI6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIzLjQgcHJlLXJlbGVhc2UKCjIwMTAtMDctMDcgMDA6MzE6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZGEucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZnIucG86CgkqIHBvL2lkLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vc2wucG86CgkqIHBvL3RyLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDYtMjMgMTE6NDc6NDMgKzAyMDAgIE1pY2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBkZXN0cm95IGJ1ZmZlciBwb29sIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gTlVMTAoJICBJbiB0aGUgY2FzZSB3ZSBjaGFuZ2UgdGhlIFN0YXRlIGZyb20gUkVBRFlfVE9fTlVMTCB0aGUgYnVmZmVycyBpbiB0aGUgcG9vbAoJICBzdGlsbCBob2xkIGFuIG9wZW4gZHVwIGZpbGUgZGVzY3JpcHRvciB0byB0aGUgZGV2aWNlLCB0aGVyZWZvcmUgdGhlIGRldmljZQoJICByZWxlYXNlIGZ1bmN0aW9uIHdpbGwgbm90IGJlIGNhbGxlZCBhbmQgdGhlIGRldmljZSB3aWxsIHByb2JhYmx5IGFuc3dlciB3aXRoCgkgIC1FQlVTWSB3aGVuIHdlIHJlb3BlbiBpdCBpbiB0aGUgbmV4dCBOVUxMX1RPX1JFQURZIHRyYW5zaXRpb24uCgkgIFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KCSAgU2VlIGJ1ZyAjNjIyNTAwIGFuZCAjNjEyMjQ0LgoKMjAxMC0wNy0wNiAxMzoyMToxOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvcmRlciBvZiBiaXRyYXRlcyBpbiAnYnRydCcgYXRvbQoJICBUaGVyZSBzZWVtcyB0byBiZSBhIGJ1ZyBpbiBsaWJtcDR2MiB0aGF0IGdlbmVyYXRlcyBhIE1QRUc0Qml0UmF0ZUJveCBhcwoJICAoYnVmZmVyU2l6ZURCLCBhdmdCaXRyYXRlLCBtYXhCaXRyYXRlKSBpbnN0ZWFkIG9mIChidWZmZXJTaXplREIsCgkgIG1heEJpdHJhdGUsIGF2Z0JpdHJhdGUpLCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMuIEkgdXNlZCB0aGUgbXA0ZmlsZQoJICBvdXRwdXQgd2hpbGUgd3JpdGluZyB0aGlzIGNvZGUsIHNvIHRoZSBvcmRlciBpcyB3cm9uZy4gVGhpcyBwYXRjaGVzCgkgIGZpeGVzIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NTQKCjIwMTAtMDctMDUgMTI6MDU6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggc2tpcHBpbmcgZXh0cmEgMHhmZiBtYXJrZXJzCgkgIEZpeGVzICM2MjM1ODUuCgoyMDEwLTA2LTI5IDIzOjE4OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBmaXggbWVtb3J5IGxlYWsKCSAgRG9uJ3QgbGVhayByZXN1bHQgb2YgZ3N0X2FkYXB0ZXJfdGFrZSgpLiBUaGVyZSBhcmUgbW9zdCBsaWtlbHkKCSAgc21hcnRlciB0aGluZ3Mgd2UgY2FuIGRvLCBidXQgbGV0J3Mga2VlcCB0aGluZ3Mgc2ltcGxlIGZvciB0aGUKCSAgcmVsZWFzZS4KCSAgRml4ZXMgIzYyMzE3Mi4KCjIwMTAtMDctMDIgMTI6MzE6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN0cmlwIG91dCBib2d1cyB0YWdzIGZyb20gWE1QIGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM2NgoKMjAxMC0wNy0wMiAxNDoyNToyMiArMDIwMCAgQW5kcnplaiBLLiBIYWN6ZXdza2kgPGFoYWN6ZXdza2lAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBXcml0ZSBkdXJhdGlvbiBhdCB0aGUgY29ycmVjdCBwb3NpdGlvbgoKMjAxMC0wNi0zMCAxMToxMjowOCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogZml4IG1lbWxlYWsgb24gY3VzdG9tIGRvd25zdHJlYW0gZXZlbnRzCgkgIGJ5IG5vdCBzZW5kaW5nIGN1c3RvbSBkb3duc3RyZWFtIGV2ZW50IHR3aWNlIGFuZCBmaXggbWVtbGVhayB3aGVuCgkgIG5vdCBoYW5kbGluZyB0aGUgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzE5NgoKMjAxMC0wNi0yOSAyMDoxODo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIzLjMgcHJlLXJlbGVhc2UKCjIwMTAtMDYtMjkgMjA6MTQ6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBmaXggdW5wb3J0YWJsZSBwcmludGYgZm9ybWF0IHNwZWNpZmllcnMgaW4gY29tbWVudGVkIG91dCBjb2RlCgkgIFRvIGF2b2lkIGZhbHNlIHBvc2l0aXZlcyB3aGVuIGdyZXBwaW5nIGZvciB1bnBvcnRhYmxlIHNwZWNpZmllcnMuCgoyMDEwLTA2LTI5IDE5OjEyOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDEwLTA2LTI4IDE1OjQ0OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjEwIGFuZCBhdXRvY29uZiB0byAyLjYwCgkgIEZvciBtYWludGFpbmFiaWxpdHkgcmVhc29ucyBhbmQgJChidWlsZGRpcikuCgkgIFNlZSAjNjIyOTQ0LgoKMjAxMC0wNi0yOCAwOTowNzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiBkb24ndCBhbGxvY2F0ZSAyNjBrQiBzdHJ1Y3Qgb24gdGhlIHN0YWNrCgkgIFBsdWdpbkluZm8gaXMgcXVpdGUgYSBzaXplYWJsZSBzdHJ1Y3QsIGxldCdzIG5vdCBhbGxvY2F0ZSBpdCBvbiB0aGUKCSAgc3RhY2ssIGVzcGVjaWFsbHkgbm90IGlmIHdlJ3JlIGNvcHlpbmcgaXQgb3ZlciBpbnRvIGFub3RoZXIgZHluYW1pY2FsbHkKCSAgYWxsb2NhdGVkIGNvcHkgYW55d2F5LgoJICBGaXhlcyAjNTcwNzYxLgoKMjAxMC0wNi0yNyAxMDozMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHVEsrID49IDIuMTQgZm9yIHRoZSBleGFtcGxlcwoKMjAxMC0wNi0yNiAyMDoxMjoyNSArMDIwMCAgR3VpZG8gR8O8bnRoZXIgPGFneEBzaWd4Y3B1Lm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBNYWtlIGRlbW9zIC1EU0VBTCBzYWZlIHRvIGZpeCBidWlsZCB3aXRoIEdUSysgMy4wCgoyMDEwLTA2LTI2IDIxOjM5OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICBqcGVnOiBFeHBsaWNpdGVseSBsaW5rIHdpdGggbGliZ3N0YmFzZQoKMjAxMC0wNi0yNiAxODo0MjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMy4yIHByZS1yZWxlYXNlCgoyMDEwLTA2LTI2IDE4OjQxOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJICBnc3Q6IHVwZGF0ZSBvcmMgZmlsZXMKCjIwMTAtMDYtMjYgMTg6NDE6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDYtMjUgMTk6NDA6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRml4IGxlYWtpbmcgb2YgdGhlIHN0cmVhbWhlYWRlciBidWZmZXJzCgkgIGdzdF92YWx1ZV9zZXRfYnVmZmVyKCkgaW5jcmVhc2VzIHRoZSByZWZjb3VudCBhbmQgZG9lc24ndAoJICB0YWtlIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyLgoKMjAxMC0wNi0yNCAxNjozMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIG1hdHJvc2thLCB2aWRlb2JveCwgdmlkZW9maWx0ZXI6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGRlYnVnZ2luZyBpcyBkaXNhYmxlZCBpbiBnc3RyZWFtZXIKCSAgRml4ZXMgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmdzIHdoZW4gR1N0cmVhbWVyJ3MgZGVidWdnaW5nIHN5c3RlbSBoYXMgYmVlbiBkaXNhYmxlZC4KCjIwMTAtMDYtMjQgMTU6MTc6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgcGx1Z2luIGxvYWRpbmcgd2hpdGVsaXN0IHRvIHRlc3QgZW52aXJvbm1lbnQKCSAgT25seSB3YW50IHRvIGxvYWQgY29yZS9iYXNlL2dvb2QgcGx1Z2lucyBoZXJlLgoJICBGaXhlcyAjNjE5NzE3LgoKMjAxMC0wNi0yNCAxNTowOToxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3M2ZmOTNhIHRvIGE1MTk1NzEKCjIwMTAtMDYtMjQgMTM6MDI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIGdka3BpeGJ1ZmRlYzogYnVtcCByYW5rIHRvIFNFQ09OREFSWQoJICBCdW1wIGdka3BpeGJ1ZmRlYydzIHJhbmsgdG8gU0VDT05EQVJZIHRvIGdpdmUgaXQgYW4gZWRnZSBvdmVyIG1pc2MuCgkgIGltYWdlIGRlY29kZXJzIGluIGdzdC1mZm1wZWcgdGhhdCBhbHNvIGhhdmUgYSBNQVJHSU5BTCByYW5rLgoJICBGaXhlcyAjNjIwMTYyLgoKMjAxMC0wNi0yMyAxMjoxNToxMyArMDIwMCAgTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICByZXNldCB0aGUgaGF2ZV9pbmRleCBmbGFnIGF0IHRyYW5zaXRpb24gUEFVU0VEX1RPX1JFQURZCgkgIElmIHdlIHJlc3RhcnQgdGhlIFN0cmVhbSBpbiB0aGUgY2FzZSBvZiBkb2luZyBhIHRyYW5zaXRpb24gZnJvbQoJICBQQVVTRURfVE9fUkVBRFkgYW5kIGJhY2sgd2l0aCBSRUFEWV9UT19QQVVTRUQgYXNvLiB0aGUgZHVyYXRpb24gb2YgdGhlIHZpZGVvCgkgIHdpbGwgZ2V0IGNhbGN1bGF0ZWQgZXZlbiBpZiB3ZSBoYXZlIGEgYXZpIGhlYWRlciB3aXRoIHRoYXQgaW5mb3JtYXRpb24uCgkgIFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgR3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KCjIwMTAtMDYtMjMgMjA6Mjk6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggbmVnb3RpYXRpb24gZm9yIEk0MjAvWVYxMgoJICBXZSBkb24ndCBzdXBwb3J0IGNvbnZlcnNpb24gaW50byAqYWxsKiBZVVYKCSAgZm9ybWF0cyBmb3IgdGhlbSwgb25seSBpbnRvIEk0MjAvWVYxMi9BWVVWLgoJICBGaXhlcyBidWcgIzYyMjUwMS4KCjIwMTAtMDYtMjIgMTU6MjI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBwcm9wZXIgY2xvc2luZyBzZWdtZW50IGNvbnN0cnVjdGlvbgoJICBGaXhlcyAjNjE4OTgyLgoKMjAxMC0wNi0yMiAxNTo0Njo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogcHJlY2FsY3VsYXRlIGR1cmF0aW9uCgkgIEhhdmUgZnJhbWUgZHVyYXRpb24gaW4gdGhlIGluc3RhbmNlIHN0cnVjdCBhbmQgY2FsY3VsYXRlIGl0IGFmdGVyIGNoYW5naW5nIHRoZSBjYXBzLgoKMjAxMC0wNi0yMSAxMjoxNzozOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IHVzZSBnbGliIGRlZmluZXMgaW4gcHJvcGVydHkgZGVjbGFyYXRpb25zIGZvciByZWFkYWJpbGl0eQoKMjAxMC0wNi0yMSAxMjoxNToxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIHRvIHNhdmUgYSBmZXcgYnl0ZXMgYW5kIHN0cmR1cHMKCjIwMTAtMDYtMTggMjA6MDI6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBsb2NraW5nIGFmdGVyIG1vdmluZyB0aGluZ3MgYXJvdW5kCgoyMDEwLTA2LTE4IDE0OjEzOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgIHRhZ2xpYjogVXNlIG5ld2x5IGFkZGVkIGdzdF90YWdfbGlzdF9wZWVrX3N0cmluZ19pbmRleAoJICBSZXBsYWNlIGNhbGxzIHRvIGdzdF90YWdfbGlzdF9nZXRfc3RyaW5nX2luZGV4IHdpdGgKCSAgZ3N0X3RhZ19saXN0X3BlZWtfc3RyaW5nX2luZGV4IHRvIGF2b2lkIGEgc3RyaW5nIGNvcHkKCjIwMTAtMDYtMTggMTY6NTY6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2Ugc29tZSBlcnJvcnMgYXMgd2FybmluZ3MKCSAgQXZvaWQgc3BhbW1pbmcgdGhlIHRlc3RzdWl0ZSB3aXRoIHRoZXNlIGVycm9yIGRlYnVnIGxpbmVzLgoKMjAxMC0wNi0xOCAxNjo0OTowOCArMDIwMCAgS2VpdGggTmljaG9sc29uIDxrZWl0aC5uaWNob2xzb24gYXQgdWx0cmEtY2NzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IG11bHRpY2FzdCBzdXBwb3J0IG9uIHdpbmRvd3MgYnVpbGRzCgkgIE9uIHdpbmRvd3MgYnVpbGRzLCBzZXRzIHNvdXJjZSBhZGRyZXNzIGZvciBiaW5kIHRvIElOQUREUl9BTlksIHdoaWxlCgkgIG1haW50YWluaW5nIHRoZSBvcmlnaW5hbCBtdWx0aWNhc3QgZ3JvdXAgYWRkcmVzcyBmb3Igc3Vic2VxdWVudCBqb2luLgoJICBGaXhlcyAjNTk1OTc4CgoyMDEwLTA2LTE4IDE2OjE2OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IG1ha2UgdXJsIHBhcnNpbmcgY29tcGF0aWJsZSB3aXRoIFZMQyBzeW50YXgKCSAgU2tpcCBldmVyeXRoaW5nIGJlZm9yZSB0aGUgQCBzaWduIGluIHRoZSB1cmwgbG9jYXRpb24uIFZMQyB1c2VzIHRoYXQgYXMgdGhlCgkgIHJlbW90ZSBhZGRyZXNzIHRvIGNvbm5lY3QgdG8gKGJ1dCB3ZSBpZ25vcmUgaXQgZm9yIG5vdykuIFRoaXMgbWFrZXMgb3VyIHVkcCB1cmxzCgkgIGNvbXBhdGlibGUgd2l0aCB0aGUgb25lcyB1c2VkIGJ5IFZMQy4KCSAgRml4ZXMgIzU5NzY5NQoKMjAxMC0wNi0xOCAxNTowODoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmYWN0b3Igb3V0IHRoZSBjb25uZWN0aW9ucwoJICBLZWVwIGEgZ2xvYmFsIGNvbm5lY3Rpb24gZm9yIGFnZ3JlZ2F0ZSBjb250cm9sIGJ1dCBhbHNvIGtlZXAgc3RyZWFtIGNvbm5lY3Rpb25zCgkgIGZvciBub24tYWdncmVnYXRlIGNvbnRyb2wuCgkgIEFkZCBzb21lIGhlbHBlciBtZXRob2RzIHRvIGNvbm5lY3QvY2xvc2UvZmx1c2ggdGhlIGNvbm5lY3Rpb25zLgoKMjAxMC0wNi0xNyAxMzowNjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIG5vbi1hZ2dyZWdhdGUgY29udHJvbAoJICBBZGQgbm9uLWFnZ3JlZ2F0ZSBjb250cm9sLgoJICBTZXBhcmF0ZSByZXRyaWV2aW5nIHRociBTRFAgZnJvbSBwYXJzaW5nIGFuZCBzZXR0aW5nIHVwIHRoZSBzdHJlYW1pbmcgZnJvbSB0aGUKCSAgU0RQLgoKMjAxMC0wNi0xNyAyMjoxMDowMyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiB1cGRhdGUgY29tbW9uIGJhY2sgdG8gd2hhdCBpdCB3YXMKCjIwMTAtMDYtMTcgMTc6MjQ6MjIgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogYWRkIGRvY3VtZW50YXRpb24gZm9yIHN0cmVhbWFibGUgcHJvcGVydHkKCjIwMTAtMDYtMTcgMTY6NDM6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGRvY3M6IHVwZGF0ZSBpbnRyb3NwZWN0ZWQgcGx1Z2luIGRvY3MgZm9yIGdzdGRvYy1zY2FuZ29iaiBhbmQgb3RoZXIgY2hhbmdlcwoJICBVcGRhdGUgY29tbW9uIGZvciBsYXRlc3QgZ3N0ZG9jLXNjYW5nb2JqLCBhbmQgaW5zcGVjdCB4bWwgZmlsZXMgZm9yCgkgIGVzY2FwaW5nIGFuZCBwYWQgdGVtcGxhdGUgb3JkZXIgY2hhbmdlcy4KCjIwMTAtMDYtMTcgMTY6NDE6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBzdWItZGlyZWN0b3J5IHdpdGggb3JjIHRlc3RzCgoyMDEwLTA2LTE3IDEwOjQ0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggYW4gdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEwLTA2LTE2IDIxOjAyOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbC1yZWFkOiBaZXJvLXNpemVkIGludHMvdWludHMvZmxvYXRzIGhhdmUgYSB2YWx1ZSBvZiAwIGFjY29yZGluZyB0byB0aGUgRUJNTCBzcGVjCgoyMDEwLTA2LTE2IDIwOjAyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggcG9zc2libGUgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGFuZCBhc3NlcnRpb24gdGhhdCBjb3VsZCBiZSBjYXVzZWQgYnkgaW52YWxpZCBmaWxlcwoKMjAxMC0wNi0xNiAxOTo1MDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2xlYW4gdXAvZml4IHNvbWUgbWlub3IgZXJyb3IgaGFuZGxpbmcgYnVncwoKMjAxMC0wNi0xNiAxOTozMDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugd2hlbiBhbGxvY2F0aW9uIG9mIHRoZSB4aW1hZ2UgZmFpbHMKCjIwMTAtMDYtMTYgMTk6Mjg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjdGFnOiBGaXggcG9zc2libGUgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlCgoyMDEwLTA2LTE2IDE5OjI0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkgIGF1ZGlvaWlyZmlsdGVyOiBGaXggcG9zc2libGUgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlCgoyMDEwLTA2LTE2IDE5OjIwOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgd2FycHR2OiBEb24ndCB1c2UgZmxvYXRzIGFzIGxvb3AgY291bnRlcnMKCjIwMTAtMDYtMTYgMTE6MjE6MzUgLTA0MDAgIEhhdm9jIFBlbm5pbmd0b24gPGhwQHBvYm94LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZG8gbm90IHRyeSB0byBjaGFuZ2UgZGV2aWNlIGZvcm1hdCBpZiBpdCdzIGFscmVhZHkgY29ycmVjdAoJICBUaGlzIGFsbG93cyBzZXRfY2FwcyB0byBzdWNjZWVkIGlmIGNhcHMgY2hhbmdlIGluIGEgd2F5IHRoYXQKCSAgd291bGQgbm90IG1vZGlmeSB0aGUgZm9ybWF0IHdlJ3JlIGdldHRpbmcgZnJvbSB0aGUgaGFyZHdhcmUuCgkgIE90aGVyd2lzZSBpZiBub3QgaW4gTlVMTCBzdGF0ZSwgc2V0dGluZyBjYXBzIHdvdWxkIGZhaWwKCSAgd2l0aCBFQlVTWS4KCSAgV2l0aCB0aGlzIGNoYW5nZSwgaW4gc29tZSBjYXNlcyBpdCdzIE9LIHRvIGdvIFBMQVlJTkctPlJFQURZLT5QTEFZSU5HCgkgIHJhdGhlciB0aGFuIFBMQVlJTkctPk5VTEwtPlBMQVlJTkcgdG8gYXZvaWQgYSB0aW1lLWNvbnN1bWluZyBjbG9zZQoJICBhbmQgcmVvcGVuIG9mIHRoZSBkZXZpY2UuCgkgIEZpeGVzICM2MjE3MjMKCjIwMTAtMDYtMTYgMTE6MDk6MTcgLTA0MDAgIEhhdm9jIFBlbm5pbmd0b24gPGhwQHBvYm94LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogaW4gbmVnb3RpYXRlLCBjaGVjayBmb3IgZXJyb3IgcmV0dXJuIGZyb20gc2V0X2NhcHMKCSAgRml4ZXMgIzYyMTcyMyAgKHBhcnRpYWxseSkKCSAgc2V0X2NhcHMgY2FuIGZhaWwgaWYgdGhlIHZpZGVvIGRldmljZSBpcyBydW5uaW5nLCBpbiB0aGF0IGNhc2UKCSAgc2V0dGluZyBpdHMgZm9ybWF0IGxlYWRzIHRvIEVCVVNZLgoJICBJZiBzZXRfY2FwcyBmYWlscyB0aGVuIHdlIHdpbGwgbm90IGhhdmUgc2V0IHVwIHRoZSBidWZmZXIgcG9vbAoJICAoaXQgd2lsbCBiZSBOVUxMKSB3aGljaCBsZWFkcyB0byBhIGNyYXNoIHdoZW4gd2UgdHJ5IHRvIHB1bGwKCSAgYnVmZmVycy4gSWYgd2UgZmFpbCB0aGUgbmVnb3RpYXRlIG9uIHNldF9jYXBzIGZhaWx1cmUsIHRoZW4gd2UKCSAgd29uJ3QgZ28gdG8gcGxheWluZyBzdGF0ZSBhbmQgd29uJ3QgY3Jhc2guCgkgIFRoaXMgaXMgYSBzbWFsbCBpbXByb3ZlbWVudC4gT2YgY291cnNlLCBhIG5pY2VyIGZpeCB3b3VsZAoJICBiZSB0byBtYWtlIHNldF9jYXBzIHdvcmsgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIGZvcm1hdCBpcwoJICB1bmNoYW5nZWQuIElmIHRoZSBmb3JtYXQgaGFzIGNoYW5nZWQsIGZhaWxpbmcgaXMKCSAgcHJvYmFibHkgY29ycmVjdCBiZWNhdXNlIHdlIG5lZWQgdG8gY2xvc2UgdGhlIGRldmljZQoJICAoZ28gdG8gTlVMTCBzdGF0ZSkgaW4gb3JkZXIgdG8gc2V0IGNhcHMuCgoyMDEwLTA2LTE2IDE1OjQwOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGltcHJvdmUgYXVkaW8gdmJyIGRldGVjdGlvbgoJICBTdWJzZXF1ZW50IGVudHJ5IHRpbWUgY2FsY3VsYXRpb25zIHVzZSBibG9ja2FsaWduIHZhbHVlIHRvIGRldGVybWluZQoJICBudW1iZXIgb2YgZnJhbWVzIHBlciBjaHVuaywgYW5kIGJsb2NrYWxpZ24gPT0gMSBpcyB0aGVuIG1vc3QgdW5saWtlbHkgdG8gcmVzdWx0CgkgIGluIHJlYXNvbmFibGUgdmFsdWVzICh3aGljaCBhbHNvIGFsaWducyB3aXRoICJzcGVjIikuCgoyMDEwLTA2LTE2IDE1OjUyOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogdHdlYWsgREVMVEFfVU5JVCBsYWJlbGluZwoJICBDb25zaWRlciBTUFMsIFBQUyBhbmQgSURSIGFzIGtleWZyYW1lLCBhbGwgb3RoZXJzIGFzIERFTFRBX1VOSVQuCgkgIFNlZSAjNjIwMTU0LgoKMjAxMC0wNi0xNSAyMDowNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IEluaXRpYWxpemUgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBhbmQgZG9uJ3QgdW5yZWYgaXQgaWYgaXQncyBOVUxMCgoyMDEwLTA2LTE1IDIwOjA0OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFzc2lnbiB2YXJpYWJsZXMgYmVmb3JlIHByaW50aW5nIHRoZW0KCjIwMTAtMDYtMTUgMjA6MDA6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBJbml0aWFsaXplIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTk6NDc6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBJbml0aWFsaXplIHZhcmlhYmxlCgoyMDEwLTA2LTE1IDE5OjQ1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogRml4IE5FV1NFR01FTlQgcGFyc2luZyBsb2dpYyBhbmQgZG9uJ3QgdXNlIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEwLTA2LTE1IDE3OjIwOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEwLTA2LTE1IDE2OjQ5OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5MzM5Y2NjIHRvIDM1NjE3YzIKCjIwMTAtMDYtMTUgMTY6NTQ6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWFkYjFjYSB0byA5MzM5Y2NjCgoyMDEwLTA2LTE1IDE2OjM1OjE4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3Yzg5YjcgdG8gNWFkYjFjYQoKMjAxMC0wNi0xNSAxNDowODoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgZ2VuZXJhdGVkIHR2dGltZS5oIGZpbGUKCjIwMTAtMDYtMTUgMTU6MzY6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzgwNDk4OCB0byA1N2M4OWI3CgoyMDEwLTA1LTE3IDEzOjU0OjAzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suaDoKCSAgcmF3MTM5NDogcmVtb3ZlIHVzZWxlc3MgbGFzdF90aW1lCgkgIEl0IHNlZW1zIHRvIG1lIHRoaXMgY29kZSBpcyB1c2VsZXNzOiByZW1vdmluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxODg3MQoKMjAxMC0wNi0xNCAxOToyMToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiByZXNwZWN0IGFnZ3JlZ2F0ZSBjb250cm9sIGF0dHJpYnV0ZXMKCSAgd2hlbiB0aGUgU0RQIHNwZWNpZmllcyBhbiBhZ2dyZWdhdGUgY29udHJvbCB1cmwsIHVzZSB0aGF0IGZvciBwbGF5YmFjawoJICBjb250cm9sLgoJICBGaXhlcyAjNjE5NTMxCgoyMDEwLTA2LTE0IDE1OjM2OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogQ2FsbCBvcmNfaW5pdCgpIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRhcmdldCBmbGFncwoKMjAxMC0wNi0xNCAxNTozNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IENhbGwgb3JjX2luaXQoKSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0YXJnZXQgZmxhZ3MKCjIwMTAtMDYtMTQgMTQ6MjY6MjIgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZXZlcnQgY2hhbmdlIHRoYXQgc2V0IGEgcmVzZXJ2ZWQgZmxhZyBvbiB0aGUgQmxvY2suCgkgIFNvIG1hdHJvc2thJ3MgQmxvY2sgc3RydWN0dXJlIGhhcyBubyBrZXlmcmFtZSBmbGFnLCBvbmx5IHRoZSBTaW1wbGVCbG9jayBoYXMgaXQuCgkgIFRvIGRldGVjdCBrZXlmcmFtZXMgaW4gQmxvY2tzLCBpdCBpcyBqdXN0IHRoZSBCbG9ja0dyb3VwIGNvbnRhaW5lciB0aGF0IG5lZWRzCgkgIHRvIGhhdmUgYSBSZWZlcmVuY2VCbG9jayBhdHRhY2hlZCBpZiBpdCBpcyBhIGRlbHRhIGZyYW1lIGluIHZpZGVvLgoKMjAxMC0wNS0zMSAxMjo0NTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogdXNlIGxpYmpwZWcgc2NhdHRlci1nYXRoZXIgb3BlcmF0aW9uIHRvIGF2b2lkIGRhdGEgY29weWluZwoJICBGaXhlcyAjNTgzMDQ3IChtb3JlKS4KCjIwMTAtMDUtMjcgMTU6NDU6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IG9wdGltaXplIGJ1ZmZlciBoYW5kbGluZyB3aGVuIHBhcnNpbmcKCSAgVXNlIGFuIGFkYXB0ZXIgdG8gY29sbGVjdCBpbmNvbWluZyBkYXRhLCBhbmQgdXNlIGFkYXB0ZXIgQVBJIHRvIHNjYW4gYW5kIHBlZWsuCgkgIEZpeGVzICM1ODMwNDcuCgoyMDEwLTA2LTE0IDEzOjQ4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogVXNlIGdfYXNjaWlfc3RyY2FzZWNtcCgpIGluc3RlYWQgb2YgdGhlIGRlcHJlY2F0ZWQgZ19zdHJjYXNlY21wKCkKCjIwMTAtMDYtMTQgMTM6Mjc6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBHTElCX0VYVFJBX0NGTEFHUwoKMjAxMC0wNi0xNCAxMzowMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhMGZkZjUgdG8gYzgwNDk4OAoKMjAxMC0wNi0xNCAxMTo0NjozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGFsc28gY29uc2lkZXIgQVUgYW5kIFNFSSBOQUxVcyBhcyBERUxUQV9VTklUCgkgIEZpeGVzICM2MjAxNTQuCgoyMDEwLTA2LTE0IDExOjMyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRhM2JhYiB0byA3YTBmZGY1CgoyMDEwLTA2LTEyIDIxOjI2OjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIGJ1aWxkOiBpbmNsdWRlIHN0ZGlvLmggZm9yIHNzY2FuZgoKMjAxMC0wNi0xMiAxNDoxMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBjbGVhbiBydWxlIGZvciB0aGUgb3JjIHRlc3RzCgoyMDEwLTA2LTEyIDE0OjEyOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIGF1dG9nZW5lcmF0ZWQgb3JjIHRlc3RzCgoyMDEwLTA2LTEyIDA4OjI3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzMzZmNhOSB0byA2ZGEzYmFiCgoyMDEwLTA2LTExIDE2OjIzOjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCjIwMTAtMDYtMTEgMjE6MTM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogZG9uJ3QgdHJ5IHRvIHVucmVmIE5VTEwgYnVmZmVycwoJICBGaXhlcyBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3QuCgoyMDEwLTA2LTExIDIwOjUwOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdXNlIHR5cGVmaW5kIGZ1bmN0aW9ucyB0byBjaGVjayBpZiBQQ00gZGF0YSBjb250YWlucyBkdHMgc3RyZWFtCgkgIFVzZSBuZXcgZHRzIGF1ZGlvIHR5cGVmaW5kZXIgZnJvbSAtYmFzZSB0byBjaGVjayBpZiB0aGUgUENNIGRhdGEKCSAgY29udGFpbnMgYSBkdHMgc3RyZWFtLiBUaGlzIHdheSB3ZSByZWNvZ25pc2UgbW9yZSB2YXJpZXRpZXMgbW9yZQoJICByZWxpYWJseSBhbmQgYWxzbyBkZXRlY3QgdGhlIGR0cyBzdHJlYW0gaWYgdGhlcmUgaXNuJ3QgYSBmcmFtZQoJICBzeW5jIHJpZ2h0IGF0IHRoZSBzdGFydCBvZiB0aGUgZGF0YS4KCSAgRml4ZXMgIzQxMzk0Mi4KCjIwMTAtMDYtMTEgMjA6NDc6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBzZXQgYnVmZmVyIG9mZnNldHMgYmVmb3JlIHVzaW5nIHRoZSBidWZmZXIgZm9yIHRoZSBmaXJzdCB0aW1lCgkgIGdzdF90eXBlX2ZpbmRfaGVscGVyX2Zvcl9idWZmZXIoKSB3aWxsIG5lZWQgdGhlIGNvcnJlY3Qgb2Zmc2V0CgkgIHNldCBvbiB0aGUgYnVmZmVyIChpZS4gMCkgYW5kIG5vdCB0aGUgYnl0ZSBvZmZzZXQgd2Ugc3RhcnRlZAoJICBwdWxsaW5nIHRoZSBkYXRhIGZyb20uCgoyMDEwLTA2LTEwIDE2OjE0OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJICBydHA6IGFkZCBtcGEtcm9idXN0IGRlcGF5bG9hZGVyCgkgIEZpeGVzICM1ODk5OTcuCgoyMDEwLTA2LTExIDEwOjU3OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZml4IGF2aSBoZWFkZXIgYnl0ZXdyaXRpbmcKCSAgLi4uIGJ5IHVzaW5nIHByb3BlciBvZmZzZXRzIGZvciB0YWcgbGlzdCB3cml0aW5nLgoJICBBbHNvIHVzZSBfcmVzZXQgcmF0aGVyIHRoYW4gX2ZyZWUgYW5kIGNvbnNpc3RlbnRseSB1c2UgYnl0ZXdyaXRlciBwb3NpdGlvbi4KCSAgU2VlICM2MTkyOTMuCgoyMDEwLTA2LTEwIDIyOjU4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgkgIEFkZCB0aGUgZ2VuZXJhdGVkIG9yYyBzb3VyY2UgZmlsZXMKCjIwMTAtMDYtMTAgMjI6NTU6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IEZpeCB1bml0IHRlc3QgZm9yIGNoYW5nZWQga2V5LWZyYW1lIGJlaGF2aW91cgoJICBBbGwgYXVkaW8gZnJhbWVzIGFyZSBtYXJrZWQgYXMga2V5ZnJhbWUgbm93IGluc3RlYWQgb2YgbWFya2luZwoJICB0aGVtIGFsbCBhcyBkZWx0YSB1bml0Li4uCgoyMDEwLTA2LTEwIDIyOjQ1OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogUG9ydCBtb3N0IGJsZW5kaW5nIHJlbGF0ZWQgZnVuY3Rpb25zIHRvIG9yYwoJICBPbmx5IHJlbWFpbmluZyBNTVggaW1wbGVtZW50YXRpb24gaXMgdGhlIEFSR0IvQkdSQS9BWVVWIGJsZW5kaW5nCgkgIGZvciB3aGljaCB3ZSBmaXJzdCBuZWVkIHRoZSBvcmMgY29tcG9zaXRpbmcgb3Bjb2Rlcy4KCjIwMTAtMDYtMTAgMjA6MTc6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IFJlcGxhY2Ugc29tZSB0YWJzIGJ5IHNwYWNlcwoKMjAxMC0wNi0xMCAxMTowNDozOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIGR2MTM5NDogRml4IHRoZSBpbnRlcm5hbCBjbG9jayBldmVuIG1vcmUKCSAgVGhlIGN5Y2xlQ291bnQgcmVnaXN0ZXIgaXMgMTMgYml0cyBsb25nIGFuZCB0aGUgY3ljbGVPZmZzZXQgb25lCgkgIGlzIDEyIGJpdHMgbG9uZy4gVG8gcmVhZCB0aGUgY3ljbGVDb3VudCByZWdpc3RlciB3ZSBuZWVkIHRvIHNoaWZ0CgkgIDEyIGJpdHMgYW5kIG5vdCAxMy4gRml4ZXMgIzYxNTQ2MQoKMjAxMC0wNi0wOSAxODozNzoyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIG00IG1hY3JvIHRvIGNoZWNrIGZvciBPcmMKCjIwMTAtMDYtMDkgMjI6NDA6MjMgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzb21lIG5vbi1kZWx0YSBidWZmZXJzIHdlcmUgbm90IG1hcmtlZCBhcyBrZXlmcmFtZXMKCjIwMTAtMDYtMDkgMjI6MDA6MTYgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGNoYW5nZSAyIHNlY29uZCBsaW1pdCBwZXIgY2x1c3RlcgoJICBTdGFydCBjbHVzdGVyIGF0IGV2ZXJ5IGtleWZyYW1lIG9yIHdoZW4gd2Ugd291bGQgb3ZlcmZsb3cgdGhlIHByZXZpb3VzCgkgIGNsdXN0ZXIncyByZWxhdGl2ZSB0aW1lc3RhbXAgZmllbGQuIFRoaXMgd291bGQgYXZvaWQgYXMgbXVjaCBhcyBwb3NzaWJsZQoJICBzdGFydGluZyBjbHVzdGVycyBhdCBub24ta2V5ZnJhbWVzLgoKMjAxMC0wNi0wOSAxMjo0MDowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZhZDE0NWIgdG8gNzMzZmNhOQoKMjAxMC0wNi0wOSAxMjozNDowMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ3NjgzYzEgdG8gZmFkMTQ1YgoKMjAxMC0wNi0wOSAyMDo1MzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRG9uJ3QgcmVxdWVzdCBtb3JlIHNoYXJlZCBtZW1vcnkgdGhhbiBuZWVkZWQKCjIwMTAtMDYtMDkgMjA6NDU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgc3dpdGNoc2luazogU2V0IHRoZSBHU1RfRUxFTUVOVF9JU19TSU5LIGZsYWcgb24gdGhlIHNpbmsKCjIwMTAtMDYtMDkgMjA6NDM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJICBnY29uZnZpZGVvc2luazogVXNlIEdzdFN3aXRjaFNpbmsgYXMgYmFzZSBjbGFzcwoKMjAxMC0wNi0wOSAyMDozMDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSAgZ2NvbmZhdWRpb3Npbms6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDEwLTA2LTA5IDIwOjI5OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgZ2NvbmZhdWRpb3Npbms6IFJlbmFtZSBpbnN0YW5jZSB2YXJpYWJsZSB0byBiZSBtb3JlIGRlc2NyaXB0aXZlCgoyMDEwLTA2LTA5IDIwOjIyOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICBhdXRve2F1ZGlvLHZpZGVvfXNpbms6IERvbid0IGxvc2UgdGhlIEdTVF9FTEVNRU5UX0lTX1NJTksgZmxhZyBhZnRlciByZW1vdmluZyB0aGUgY2hpbGQKCjIwMTAtMDYtMDkgMjA6MDc6MDkgKzAyMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBQbHVnIHNvbWUgbWVtbGVhayBhbmQgc3VwcG9ydCAyMjA1MEh6IG1vbm8gc291bmQuCgkgIFNlZ21lbnQgc2l6ZSBuZWVkcyB0byBiZSBhIG11bHRpcGxlIG9mIHRoZSBzYW1wbGUgc2l6ZSBpbiBieXRlcy4KCjIwMTAtMDYtMDkgMTY6MjI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZsdXNoIHNobSBidWZmZXIgaW1tZWRpYXRlbHkgaWYgaXQncyBmdWxsCgoyMDEwLTA2LTA5IDE2OjIxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXggd3JpdGluZyBvZiBidWZmZXJzIGxhcmdlciB0aGFuIHNlZ3NpemUKCSAgRml4ZXMgYnVnICM2MjA1NDAuCgoyMDEwLTA2LTA5IDE1OjQyOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGaXggcGxheWJhY2sgaWYgUEEgZG9lc24ndCBnaXZlIHVzIGEgbGFyZ2UgZW5vdWdoIHNoYXJlZCBtZW1vcnkgYnVmZmVyCgoyMDEwLTA2LTA5IDE1OjQyOjE5ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBjaGFuZ2UgaW5kZXhlZCBwcm9wZXJ0eSB0byBzdHJlYW1hYmxlCgkgIFRoZSBwcm9wZXJ0eSBzdHJlYW1hYmxlIGhhcyByZXZlcnNlIHNlbWFudGljcyB0byBpbmRleGVkLgoKMjAxMC0wNi0wOSAwOToxMzowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IFJlbmFtZSB1bnJlbGVhc2VkIHByb3BlcnR5ICdpbmRleGVkJyB0byAnc3RyZWFtYWJsZScKCSAgUmVuYW1lICdpbmRleGVkJyB0byAnc3RyZWFtYWJsZScgZm9yIGEgYmV0dGVyIG5hbWUgd2hpbGUgaXQKCSAgaGFzbid0IGJlZW4gcmVsZWFzZWQKCjIwMTAtMDYtMDggMTU6MjM6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIGxpYm9pbCBjaGVjawoKMjAxMC0wNi0wOCAxNDo0NDoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHJlbW92ZSB1bnVzZWQgbGlib2lsIGluY2x1ZGUKCjIwMTAtMDYtMDQgMTg6MjI6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IGxpYm9pbCB0byBvcmMgY29udmVyc2lvbgoKMjAxMC0wNi0wNCAxODoyMToyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMub3JjOgoJICB2aWRlb2JveDogbGlib2lsIHRvIG9yYyBjb252ZXJzaW9uCgoyMDEwLTA2LTA0IDE4OjE2OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9SRUFETUU6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgZ29vbTogbGlib2lsIHRvIG9yYyBjb252ZXJzaW9uCgoyMDEwLTA2LTA4IDE2OjA0OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLm9yYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSAgZGVpbnRlcmxhY2U6IG9yY2lmeSBzb21lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcwoKMjAxMC0wNi0wOCAxNjowMzozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBjb252ZXJ0IGZyb20gbGlib2lsIHRvIG9yYwoKMjAxMC0wNi0wOCAxNToyMzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgb3JjIGNoZWNrCgoyMDEwLTA2LTA4IDE0OjA5OjAwICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBBZGQgaW5kZXhlZCBwcm9wZXJ0eSB0byByZXBsYWNlIGRpc2FibGVkIGlzLWxpdmUuCgkgIEFkZCBpbmRleGVkIHByb3BlcnR5IHRvIGJlIHRoZSBuZWdhdGlvbiBvZiB3aGF0IHRoZSBkaXNhYmxlZCBpcy1saXZlIHByb3BlcnR5CgkgIHdhcy4gRml4ZXMgYnVnICM2MTMwNjYuCgoyMDEwLTA2LTA4IDA5OjIyOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmF3MTM5NDogUmVxdWlyZSBsaWJyYXcxMzk0ID49IDIuMC4wIGZvciByYXcxMzk0X3JlYWRfY3ljbGVfdGltZXIKCSAgRml4ZXMgYnVnICM2MjA5MjkuCgoyMDEwLTA2LTA4IDA3OjM1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgY21tbGVuYzogUmVtb3ZlIGhhY2sgdG8gbGV0IG9nZ211eCBzdGFydCBhIG5ldyBwYWdlIGZvciBldmVyeSBDTU1MIGJ1ZmZlcgoJICBvZ2dtdXggZG9lcyB0aGlzIGZvciBDTU1MIGJ5IGl0cyBvd24gbm93CgoyMDEwLTA2LTA3IDE4OjMyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGhhbmRsZSBub24tVElNRSBzZWVrcwoJICBEb24ndCBzZW5kIHRoZW0gdXBzdHJlYW0gYmVjYXVzZSBmb3IgdXBzdHJlYW0gYSBCWVRFUyBzZWVrCgkgIG1pZ2h0IG1ha2Ugc2Vuc2UgYnV0IGlzIGNvbXBsZXRlbHkgd3JvbmcgYmVjYXVzZSB1cHN0cmVhbQoJICBjYW4ndCBzZWVrIHRvIGEgYnl0ZSBwb3NpdGlvbiBvZiB0aGUgYXVkaW8gb3IgdmlkZW8gc3RyZWFtLgoJICBBbHNvIGRvbid0IGJ1aWxkIHRoZSBpbmRleCBpbiBwdXNoIG1vZGUgZm9yIG5vbi1USU1FIHNlZWtzLAoJICB0aGluZ3Mgd2lsbCBnbyB3cm9uZyBoZXJlIG90aGVyd2lzZS4KCjIwMTAtMDYtMDcgMTE6MTU6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IE9ubHkgd29ya3Mgd2l0aCByYXRlPTgwMDAsIGZpeCBpbiBjYXBzCgoyMDEwLTA2LTAyIDE5OjE2OjIwICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBDb3BlIHdpdGggc2hvcnQgc3RhcnRjb2RlcyBpbiB0aGUgaDI2NCBieXRlc3RyZWFtCgoyMDEwLTA2LTA2IDE3OjI1OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IGxvZyBtZXNzYWdlIHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTAtMDYtMDYgMTg6MDA6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgZXh0OiBEb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEwLTA2LTA2IDE3OjU3OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHN5czogRG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMC0wNi0wNiAxNzo1Mjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBnc3Q6IERvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTAtMDYtMDYgMTU6MTI6MTYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVmYWN0b3IgZGVsdGEgdW5pdCBoYW5kbGluZwoJICBUaGlzIGFsbG93cyB1cyB0byBza2lwIGRlbHRhIHVuaXRzIGVhcmxpZXIgYW5kIGlzIGEgYml0IGNsZWFyZXIgaW4gbXkKCSAgb3Bpbmlvbi4gSXQgYWxzbyBtYWtlcyBvbmx5IHZpZGVvIGJ1ZmZlcnMgZXZlciBiZSBkZWx0YSB1bml0cywgbm90CgkgIGp1c3QgZm9yIFNpbXBsZUJsb2NrIGFzIGJlZm9yZS4KCjIwMTAtMDYtMDYgMTU6MTc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQ2xlYXIgYWRhcHRlciBvbiBkaXNjb250aW51aXRpZXMKCjIwMTAtMDYtMDYgMTQ6MDM6NTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSWdub3JlIGtleWZyYW1lIGZsYWcgZm9yIG5vbi12aWRlbyBzdHJlYW1zCgkgIFdoZW4gdGhlIGtleWZyYW1lIGJpdCBvZiBTaW1wbGVCbG9jayBGbGFncyB3YXNuJ3Qgc2V0LCB0aGUgYnVmZmVyIHdhcyBiZWluZwoJICBtYXJrZWQgd2l0aCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCwgY2F1c2luZyBhbGwgYnVmZmVycyB0byBiZSBza2lwcGVkCgkgIGFmdGVyIGEgc2Vlay4gVGhpcyBtYXkgYmUgYSBwcm9ibGVtIHdpdGggdGhlIFNvcmVuc29uIFNxdWlzaCBlbmNvZGVyLCBidXQKCSAgYXJndWFibHkgdGhlIGtleWZyYW1lIGJpdCBzaG91bGQgb25seSBiZSBhcHBsaWVkIHRvIHZpZGVvLgoJICBGaXhlcyBidWcgIzYyMDM1OC4KCjIwMTAtMDYtMDYgMTQ6NTY6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRmlyc3QgdHJ5IHVwc3RyZWFtIHdoZW4gaGFuZGxpbmcgc2VlayBldmVudHMvcXVlcmllcwoKMjAxMC0wNi0wNCAxNDo1NDo1OSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgZ3N0cnRwY2VsdHBheTogZG9uJ3QgYWx3YXlzIGZpeGF0ZSBzaW5rIGNhcHMgdG8gMSBjaGFubmVsCgkgIFRoZSBnZXRjYXBzIGZ1bmN0aW9uIHNob3VsZCBub3QgZml4YXRlIHRoZSBjaGFubmVscyBmaWVsZCB1bnRpbCB3ZQoJICBnZXQgdGhlIGVuY29kaW5nLXBhcmFtcyBmaWVsZCBmcm9tIG91ciBzcmNwYWQncyBjYXBzLiBGaXhlcyAjNjIwNTkxCgoyMDEwLTA2LTA0IDEzOjU3OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiB0cnkgYWxsIHJhbmdlcyBmcm9tIHRoZSBzZHAKCSAgVHJ5IGFsbCByYW5nZXMgaW4gdGhlIFNEUCBiZWZvcmUgZ2l2aW5nIHVwLgoKMjAxMC0wNi0wNCAxMzo1NjowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBwYXJzZV9yYW5nZSByZXR1cm4gcmVzdWx0CgkgIE1ha2UgdGhlIHBhcnNlX3JhbmdlIGZ1bmN0aW9uIHJldHVybiBpZiB0aGUgcGFyc2luZyBzdWNjZWVkZWQgb3IgZmFpbGVkLgoKMjAxMC0wNi0wNCAxMTo0NDowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogaWYgd2UncmUgbm90IGxpbmtlZCBkb3duc3RyZWFtLCB3ZSBjYW4gZG8gYW55IGZvcm1hdAoJICBTdHVwaWQgbWUsIGFzc3VtaW5nIF9nZXRfYWxsb3dlZF9jYXBzKCkgd291bGQgYWN0dWFsbHkgcmV0dXJuIHRoZQoJICBwYWQgdGVtcGxhdGVzIGlmIHRoZXJlIHdhcyBubyBwZWVyLgoKMjAxMC0wNS0zMSAxNjoyNjoxOSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBLZWVwIGFubm91bmNpbmcgdGhlIGRlbGl2ZXJ5LW1ldGhvZCBpbiB0aGUgY2FwYWJpbGl0aWVzCgkgIEV2ZW4gdGhvdWdoIHdlIGRvbid0IHVzZSBkZWxpdmVyeS1tZXRob2QgaW4gb3VyIHBheWxvYWRlciwgb2xkZXIgdmVyc2lvbnMgb2YKCSAgdGhlIHRoZW9yYSBwYXlsb2FkZXIgaW4gZ3N0cmVhbWVyIHJlcXVpcmVkIGl0LiBBcyBzdWNoIHdlIG5lZWQgdG8ga2VlcCB0aGlzCgkgIGFyb3VuZCBpbiB0aGUgY2FwcyBmb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkuCgkgIFRoaXMgcmV2ZXJ0cyBwYXJ0IG9mIDQ5NDYzYTM3Y2JhYTk1MmUxNDAxMjkxZjBhMjYyM2RlNmNhYjM4ODAKCSAgRml4ZXMgIzYxODk0MAoKMjAxMC0wNi0wMyAxNzo1MjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IGFkZCBzb21lIGNvbW1lbnRzIGZvciB0cmFuc2xhdG9ycyB0byBjbGFyaWZ5IG1lYW5pbmcgb2YgIkxvdyIKCSAgIkxvdyIgZXRjLiBhcmUgcXVhbGl0eSBzZXR0aW5ncyBoZXJlIChlLmcuIGZvciB0aGUgaW50ZXJuYWwgcmVzYW1wbGVyKS4KCSAgU29tZSBkYXkgd2hlbiB3ZSB1c2UgR0xpYidzIGkxOG4gZnVuY3Rpb25zIHdlIG1pZ2h0IHdhbnQgdG8gdXNlCgkgIE5DXygpIGFuZCBnX2RwZ2V0dGV4dDIoKSBoZXJlIGluc3RlYWQgb2YgdGhlIGNvbW1lbnRzLgoJICBGaXhlcyAjNTU1OTY3LgoKMjAxMC0wNi0wMyAxOToyMzowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgIG1wNGdkZXBheTogY2FsY3VsYXRlIHRoZSBmcmFtZSBkdXJhdGlvbiBjb3JyZWN0bHkKCSAgV2hlbiB3ZSBjYWxjdWxhdGUgdGhlIGZyYW1lIGR1cmF0aW9uLCB3ZSBuZWVkIHRvIHVzZSB0aGUgYW1vdW50IG9mCgkgIGZyYW1lcyBpbiB0aGUgX3ByZXZpb3VzXyBwYWNrZXQsIG5vdCB0aGUgY3VycmVudCBwYWNrZXQuIFRoZSBmcmFtZSBkdXJhdGlvbiBpcwoJICBuZWVkZWQgdG8gY29ycmVjdGx5IGRlLWludGVybGVhdmUgaW50ZXJsZWF2ZWQgc3RyZWFtcy4gVGhpcyBmaXhlcyB0aGUgY2FzZSB3aGVyZQoJICB0aGVyZSBhcmUgYSB2YXJpYWJsZSBudW1iZXIgb2YgZnJhbWVzIGluIGEgcGFja2V0LgoJICBGaXhlcyAjNjIwNDk0CgoyMDEwLTA2LTAzIDE4OjU4OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBEb24ndCByZXR1cm4gY2FwcyBpbiBnZXRfY2FwcygpIHRoYXQgd2lsbCBiZSByZWplY3RlZAoJICBUaGlzIGNvbW1pdCBiYXNpY2FsbHkgcHV0cyBfZ2V0X2NhcHMoKSBpbiBzeW5jIHdpdGggYWNjZXB0X2NhcHMoKS4KCSAgSWYgd2UgZG9uJ3QgaGF2ZSBhIG1hc3RlciBwYWQgT1IgdGhlIG1hc3RlciBwYWQgY2FwcyBhcmVuJ3QgbmVnb3RpYXRlZAoJICB0aGVuIHdlIGp1c3QgcmV0dXJuIHRoZSBkb3duc3RyZWFtIGFsbG93ZWQgY2Fwcy4KCSAgSWYgd2UgaGF2ZSBhIG1hc3RlciBwYWQgd2l0aCBuZWdvdGlhdGVkIGNhcHMsIHdlIHJldHVybiB0aG9zZSBjYXBzCgkgIHdpdGggYSBmcmVlIHJhbmdlIG9mIHdpZHRoL2hlaWdodC9mcmFtZXJhdGUKCjIwMTAtMDYtMDMgMTM6NDU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBSZXZlcnQgInB1bHNlc2luazogQWRkIGNvbW1lbnRzIHRvIHJlbW92ZSB0aGUgcHJvdmlkZS1jbG9jayBtZXNzYWdlIHBvc3Rpbmcgb25jZSB3ZSBkZXBlbmQgb24gYmFzZSAwLjEwLjMwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhmMzcwOGYzOGFhMzgzOWE2YTYyNWNhN2QxYzE2NjEwMWM5ZmJiN2YuCgkgIFRoZSBiYXNlYXVkaW9zaW5rIGNvbW1pdCB3YXMgcmV2ZXJ0ZWQKCjIwMTAtMDYtMDMgMTA6Mjc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFkZCBjb21tZW50cyB0byByZW1vdmUgdGhlIHByb3ZpZGUtY2xvY2sgbWVzc2FnZSBwb3N0aW5nIG9uY2Ugd2UgZGVwZW5kIG9uIGJhc2UgMC4xMC4zMAoJICBiYXNlYXVkaW9zaW5rIGRvZXMgYWxsIHRoaXMgZm9yIHVzIG5vdy4KCjIwMTAtMDUtMDcgMTg6NDI6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBSZW1vdmUgcnRwZHRtZm11eCBzdHJlYW0tbG9jayBjb2RlCgoyMDEwLTA2LTAyIDE2OjM2OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGRlbGF5ZWQgc2VlayBoYW5kbGluZyBhbHNvIGRlc2VydmVzIFRSVUUgZXZlbnQgcmVzcG9uc2UKCjIwMTAtMDYtMDIgMTU6MzA6NDcgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY29tcGlsZXIgd2FybmluZwoJICB1bnVzZWQgdmFyaWFibGUg4oCYZXN0aW1hdGVk4oCZCgoyMDEwLTA2LTAyIDE1OjA0OjAwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiByZXZlcnQgdGhlIGNoYW5nZSBpIGRpZCBpbiBteSBwcmV2aW91cyBjb21taXQKCjIwMTAtMDYtMDIgMTM6Mzk6MTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzdG9wIGJ1ZmZlcmluZyBhbmQgZW1pdCBFT1MgYXQgdGhlIGVuZCBvZiBhIHN0cmVhbQoJICBXaGVuIHVzaW5nIFJUUF9KSVRURVJfQlVGRkVSX01PREVfQlVGRkVSLCBtYWtlIHN1cmUgdGhhdCB0aGUgcmluZ2J1ZmZlciBkb2Vzbid0CgkgIGdldCBzdHVjayBidWZmZXJpbmcgZm9yZXZlciB3aGVuIHRoZXJlIGlzbid0IGVub3VnaCBkYXRhIGxlZnQgdG8gZmlsbCB0aGUKCSAgYnVmZmVyLgoKMjAxMC0wNi0wMSAyMTo1Mjo1OSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJICBkZWJ1Z3V0aWxzOiBEb24ndCBjb25zdW1lIHByZXJvbGwgYnVmZmVyIHR3aWNlCgoyMDEwLTA2LTAxIDIxOjMyOjExICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBTdHlsZSBmaXg6IHVzZSBnX3N0cmR1cCgpIGluc3RlYWQgb2YgcHJpbnRmKClpbmcgYSBzaW1wbGUgc3RyaW5nCgoyMDEwLTA1LTI3IDE2OjA3OjMxICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJICBkZWJ1Z3V0aWxzOiBSZXBsYWNlIG1kNSBpbXBsZW1lbnRhdGlvbiB3aXRoIGdsaWIncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5ODI0CgoyMDEwLTA1LTIyIDExOjU1OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogY2xlYW4gdXAgY29kZSBmb3IgYXZpIGhlYWRlciB1c2luZyBhIGJ5dGV3cml0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTI5MwoKMjAxMC0wNi0wMSAxODo1NDo0MSAtMDUwMCAgUGllcnJlLUxvdWlzIEJvc3NhcnQgPHBpZXJyZS1sb3Vpcy5ib3NzYXJ0QGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9wdGltaXplIGNvbW11bmljYXRpb24gd2l0aCBQdWxzZUF1ZGlvIHVzaW5nIHBhX3N0cmVhbV9iZWdpbl93cml0ZQoKMjAxMC0wNi0wMiAxMDo1Mjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogUG9zdCBwcm92aWRlLWNsb2NrIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiB0aGUgY2xvY2sgYXBwZWFycy9kaXNhcHBlYXJzCgkgIEZpeGVzIGJ1ZyAjNjIwMjc3LgoKMjAxMC0wNi0wMSAyMzo0OToxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE3Zjg5ZTUgdG8gNDc2ODNjMQoKMjAxMC0wNi0wMSAyMjo1NDo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGNkZmYwZmIgdG8gMTdmODllNQoKMjAxMC0wNi0wMSAyMDo0NToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogZmlsdGVyIGNhcHMgcmV0dXJuZWQgZnJvbSBkb3duc3RyZWFtIHdpdGggb3VyIHBhZCB0ZW1wbGF0ZS4KCjIwMTAtMDYtMDEgMTY6NTY6MzIgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBSZW1vdmUgbW9yZSB1bm5lZWRlZCB3YXJuaW5ncwoKMjAxMC0wNi0wMSAxNjo1NDowMyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgdW5uZWVkZWQgd2FybmluZwoKMjAxMC0wNi0wMSAxNjo0OToxNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiByZW1vdmUgdW5uZWVkZWQgZGVidWcgc3RhdGVtZW50CgoyMDEwLTA2LTAxIDE2OjI0OjUzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBjaGFuZ2UgaXMtbGl2ZSBwcm9wZXJ0eSB0byBpbmRleGVkCgoyMDEwLTA1LTIzIDEzOjU2OjE2ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IHVzZSB0aGUgdWludDY0IHNjYWxpbmcgZnVuY3Rpb25zCgkgIEluIGRlbXV4ZXIgYW5kIG11eGVyIHVzZSB0aGUgZ3N0X3V0aWxfdWludDY0IHNjYWxpbmcgZnVuY3Rpb25zIHJhdGhlciB0aGFuCgkgIHN0YW5kYXJkIGludGVnZXIgZGl2aXNpb24uIEFkZCB3YXJuaW5ncyAodG8gYmUgY2hhbmdlZCB0byBkZWJ1ZykgZm9yIGRlYnVnZ2luZwoJICB0aGUgdGltZXN0YW1wIGFuZCBkdXJhdGlvbi4KCjIwMTAtMDUtMjEgMTQ6MzU6MzQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgZGVsdGEgdW5pdCBvbiBhbGwgYnVmZmVycyBleGNlcHQgY2x1c3RlciBzdGFydCBvbmVzCgoyMDEwLTA1LTIxIDEzOjM4OjExICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RvcmUgY2FwcyBhbmQgc2V0IG9uIGJ1ZmZlcnMgcmF0aGVyIHRoYW4gdXNpbmcgcGFkIGNhcHMKCjIwMTAtMDUtMjEgMTM6MjU6MjQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIHN1cmUgcGFkcyBjYXBzIGFyZSBzZXQgYmVmb3JlIGFueSBidWZmZXJzIHB1c2hlZC4KCjIwMTAtMDUtMjEgMTM6MTQ6MDQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGQgc3RyZWFtaGVhZGVycwoKMjAxMC0wNS0yMSAxMjoyMzowOCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG5vIG5lZWQgdG8gc2V0IGNhY2hlIHR3aWNlCgoyMDEwLTA1LTIxIDAxOjU5OjUzICswMjAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBEbyBub3QgY3JlYXRlIGEgU2Vla0hlYWRlciwgQ3VlcywgLi4gd2hlbiBkb2luZyBsaXZlCgoyMDEwLTA1LTIwIDIzOjM5OjU5ICswMjAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBpcy1saXZlIHByb3BlcnR5CgoyMDEwLTA2LTAxIDEzOjIyOjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHZhcmlhYmxlIGluaXQKCjIwMTAtMDUtMjggMTY6Mzc6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgcmV2ZXJzZSBwbGF5YmFjawoJICBTbGlnaHRseSBtb2RpZnkgYXBwcm9hY2ggdG8gYWxzbyBoYW5kbGUgY2FzZXMgd2hlcmUgY3VlIGVudHJpZXMgZG8gbm90IHJlbGlhYmx5CgkgIGxlYWQgdG8gaW5pdGlhbCBrZXlmcmFtZXMuCgkgIEZpeGVzICM2MTk4MTcuCgoyMDEwLTA1LTI0IDE2OjAyOjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGF2b2lkIGd0ay1kb2MgY29uZnVzaW5nIGNvbW1lbnRzCgoyMDEwLTA1LTIxIDExOjIxOjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRqdXN0IHVuaXQgdGVzdCB0byBtb2RpZmllZCBiZWhhdmlvdXIKCjIwMTAtMDUtMjAgMTQ6MzM6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIHdyaXRlIGNhY2hpbmcgYWxzbyB3aGVuIHdyaXRpbmcgYnVmZmVyIGRhdGEKCSAgU3BlY2lmaWNhbGx5LCB0aGlzIHJlZHVjZXMgcHVzaGluZyBzZXZlcmFsIHNtYWxsIGJ1ZmZlcnMgZm9yIGVhY2gKCSAgZGF0YSBidWZmZXIgYW5kIGFsc28gYXZvaWRzIGEgc2VlayBmb3IgZWFjaCBidWZmZXIgYWx0b2dldGhlcgoJICAodGhvdWdoIGEgc2VlayBpcyBzdGlsbCBuZWVkZWQgZm9yIGVhY2ggY2x1c3RlcikuCgkgIEZpeGVzICM2MTkyNzMuCgoyMDEwLTA1LTIwIDE0OjIzOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBlYm1sIHdyaXRlIGNhY2hpbmcgd2l0aCBieXRld3JpdGVyIGltcGxlbWVudGF0aW9uCgkgIEFsc28gY2FjaGUgYSBiaXQgbW9yZSBkdXJpbmcgaGVhZGVyIHdyaXRpbmcuCgkgIEZpeGVzICM2MTkyNzMuCgoyMDEwLTA1LTIwIDE0OjA4OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgY29uc2lzdGVudCBkZWJ1ZyBjYXRlZ29yeSBuYW1lIGZvciBlYm1sd3JpdGUKCjIwMTAtMDUtMTggMTQ6NDQ6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogdXNlIGJ5dGVyZWFkZXIgYmFzZWQgR3N0RWJtbFJlYWQgYXMgYSBoZWxwZXIKCSAgLi4uIHJhdGhlciB0aGFuIGJhc2luZyBvbiBpdCBieSBpbmhlcml0YW5jZS4KCSAgQWxzbyB1c2UgbW9yZSBjb21tb24gY29kZSBmb3IgcHVzaCBhbmQgcHVsbCBtb2RlLgoJICBGaXhlcyAjNjE5MTk4LgoJICBGaXhlcyAjNjExMTE3LgoKMjAxMC0wNi0wMSAxNTo0NzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBfZ2V0X3BhZF90ZW1wbGF0ZSByZXN1bHQgbmVlZHMgbm8gdW5yZWYKCjIwMTAtMDUtMTggMTk6NDI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBTdXBwb3J0IDggYml0IGdyYXlzY2FsZQoJICBBZGRzIHN1cHBvcnQgdG8gOCBiaXQgZ3JheXNjYWxlIGlucHV0CgoyMDEwLTA1LTE4IDE0OjQ2OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQWRkcyA4Yml0IGdyYXlzY2FsZSBzdXBwb3J0CgkgIEFkZHMgZGVjb2Rpbmcgc3VwcG9ydCBmb3IganBlZyBpbWFnZXMgaW4gOCBiaXQgZ3JheXNjYWxlIGZvcm1hdC4KCjIwMTAtMDUtMTggMDE6NTc6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBBY2NlcHQgZ3JheXNjYWxlIGFzIGlucHV0CgkgIEFkZHMgdmlkZW8veC1yYXctZ3JheXNjYWxlICg4IGJpdCkgc3VwcG9ydCB0byBqcGVnZW5jCgoyMDEwLTA1LTMxIDEzOjMwOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBJbXBsZW1lbnQgc2lua3BhZCBHZXRDYXBzRnVuY3Rpb24uCgkgIFRoaXMgYWxsb3dzIHJldHVybmluZyBvbmx5IHRoZSBmb3JtYXRzLCB3aWR0aCwgaGVpZ2h0LCBmcmFtZXJhdGUKCSAgYW5kIHBpeGVsLWFzcGVjdC1yYXRpbyB0aGF0IGRvd25zdHJlYW0gY2FuIHN1cHBvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjAxNDgKCjIwMTAtMDUtMjAgMTE6Mjg6NDcgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lbXAzZW5jOiBpbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeQoJICBUaGUgZW5jb2RlcidzIGxhdGVuY3kgaXMgZGVkdWNlZCBmcm9tIHRoZSBmcmFtZXNpemUuIEZpeGVzICM2MTg4OTYuCgoyMDEwLTA1LTMxIDA3OjQ5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBjb21wYXJlIHJ1bm5pbmcgdGltZXMgd2l0aCBzdHJlYW0gdGltZXMgd2hlbiBkb2luZyBRb1MKCjIwMTAtMDUtMjcgMjE6MDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogRG9uJ3QgcmVjb25maWd1cmUgdGhlIGNhcHMgd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzCgkgIEZpeGVzIGJ1ZyAjNjE5ODQ4LgoKMjAxMC0wNS0yNiAxMzoxMzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+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+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdHlwbyBpbiBoZWFkZXIgdmFsaWRhdGlvbiBjaGVjawoKMjAxMC0wMy0yNCAxODo1MzoyMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTVjZDUxNCB0byBjMWQwN2RkCgoyMDEwLTAzLTI0IDExOjI3OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5oOgoJKiBleHQvbGFtZS9wbHVnaW4uYzoKCSAgYnVpbGQ6IEFkZCBhbGwga2luZHMgb2YgY29tcGlsZXIgd2FybmluZyBmbGFncyBhbmQgZml4IHRoZSByZXN1bHRpbmcgd2FybmluZ3MKCjIwMTAtMDMtMjMgMTk6NDY6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgIGljeWRlbXV4OiBIYW5kbGUgdXBzdHJlYW0gQ29udGVudC1UeXBlLgoJICBBbGxvd3MgdXMgdG8gaGFuZGxlIFNob3V0Q2FzdCBUViAoTlNWKSBzdHJlYW1zLgoJICBJZiB0aGUgdXBzdHJlYW0gY2FwcyBoYXZlIHRoZSAnY29udGVudC10eXBlJyBmaWVsZCBzZXQgdG8gdmlkZW8vbnN2LCB0aGVuCgkgIHdlIHNob3J0Y3V0IHRoZSB0eXBlZmluZGluZyBhbmQgc2V0IHZpZGVvL3gtbnN2IGRpcmVjdGx5LgoKMjAxMC0wMy0yMyAxOTozMDo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBTZXQgdGhlIENvbnRlbnQtVHlwZSBIVFRQIGhlYWRlciBvbiB0aGUgY2Fwcy4KCSAgRmlyc3Qgc3RlcCB0byBmaXhpbmcgU2hvdXRDYXN0IChOU1YpIHN0cmVhbWluZy4KCjIwMTAtMDMtMjMgMDI6Mzg6NDMgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIG9zeDogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIEFkZGVkIHZvaWQgcGFyYW1ldGVyIHRvIGF2b2lkIG9sZC1zdHlsZSBkZWZpbml0aW9uIHdhcm5pbmcuCgkgIEFkZGVkIC1Xbm8tYWdncmVnYXRlLXJldHVybiBmbGFnIHRvIGF2b2lkIGVycm9uZW91cyBhZ2dyZWdhdGUgcmV0dXJuIHdhcm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM2NjMKCjIwMTAtMDMtMjMgMDA6MTU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiB1c2UgbG9vcCB0ZXN0IGZvciBsb25nLXJ1bm5pbmcgdmlkZW9jcm9wIGNoZWNrCgkgIFRoaXMgc2hvdWxkIGF2b2lkIHRpbWVvdXRzIG9uIHNsb3cgbWFjaGluZXMuCgkgIEZpeGVzICM1OTc3MzkuCgoyMDEwLTAzLTIyIDE3OjI2OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgaTE4bjogYnVpbGQgZml4ZXM6ICNpZiAtPiAjaWZkZWYgZm9yIEVOQUJMRV9OTFMKCjIwMTAtMDMtMjIgMTc6MjU6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgaTE4bjogZml4IHRoZSBidWlsZAoJICBEb24ndCBpbmxjdWRlIGxvY2FsZS5oIHdoaWNoIHdlIGluY2x1ZGUgaW4gZ2V0dGV4dC5oIGlmIG5lZWRlZC4gR3VhcmQgdGhlCgkgIGlubGN1ZGUgbGlrZSB3ZSBkbyBpbiB0aGUgc2ltaWxsYXIgaGVhZGVycyBpbiBjb3JlLgoKMjAxMC0wMy0yMiAxMzoxNjozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncwoJICBhbmQgZml4IGl0cyB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMjowMjoxNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBBZGQgLVdyZWR1bmRhbnQtZGVjbHMgZmxhZwoJICBhbmQgZml4IHdhcm5pbmdzIGZyb20gaXQKCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMjEgMTc6NDY6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiBpcyBub3QgdmFsaWQgZm9yIEMrKwoKMjAxMC0wMy0yMSAxNzozNjoyOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBJbmNsdWRlIGhlYWRlcnMgaW5zdGVhZCBmbyBkZWZpbmluZyBmdW5jdGlvbnMKCjIwMTAtMDMtMjEgMTc6MjQ6MTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGEgbGFyZ2Ugc2V0IG9mIHdhcm5pbmcgZmxhZ3MuCgkgIE5vbmUgb2YgdGhlbSB0cmlnZ2VyIHdhcm5pbmdzIGFueW1vcmUsIHNvIG5vdGhpbmcgbmVlZGVkIHRvIGJlIGZpeGVkLgoKMjAxMC0wMy0yMSAxNzoyMzo0MyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6CgkqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJKiBnc3QvZ29vbS9nb29tX2ZpbHRlcnMuaDoKCSogZ3N0L2dvb20vZ29vbV9meC5oOgoJKiBnc3QvZ29vbS9pZnMuYzoKCSogZ3N0L2dvb20vaWZzLmg6CgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5oOgoJICBNYWtlIGdvb20gbm90IHVzZSBhZ2dyZWdhdGUgcmV0dXJucwoKMjAxMC0wMy0yMSAxNToxNzo0NiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiBmbGFnCgkgIEFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIwIDAwOjU0OjE0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9oYWwvaGFsLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzIHRvIHRoZSBjb25maWd1cmUgZmxhZ3MKCSAgLi4uIGFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDExOjE0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIHN1cHBvcnQgZm9yIHRoZSByZW1haW5pbmcgQVJHQiBmb3JtYXRzCgkgIEFuZCBoYW5kbGUgQVlVViBsaWtlIEFSR0IsIHdlIG5lZWQgbm8gWVVWIHNwZWNpZmljIGhhbmRsaW5nLgoKMjAxMC0wMy0yMCAyMTozMDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBSR0IgYW5kIHhSR0IgaW5wdXQKCjIwMTAtMDMtMjAgMjE6MTM6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgQVJHQiBpbnB1dAoKMjAxMC0wMy0yMCAyMDo0NjoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBnZW5lcmF0aW5nIEFSR0Igb3V0cHV0CgoyMDEwLTAzLTIwIDEwOjQ3OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBBQkdSIGFuZCBSR0JBCgkgIE5vdyBhbGwgNCBBUkdCIHZhcmlhbnRzIGFyZSBzdXBwb3J0ZWQgYnkgdmlkZW9taXhlci4KCjIwMTAtMDMtMjAgMTA6MjQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBNb3ZlIGNocm9tYSBrZXlpbmcgcGFyYW1ldGVycyBpbnRvIHN0YWNrIHZhcmlhYmxlcyB0byBwcmV2ZW50IG11bHRpcGxlIHBvaW50ZXIgZGVyZWZlcmVuY2VzIHBlciBwaXhlbAoKMjAxMC0wMy0yMCAxMDoyMDo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IE1vdmUgY29sb3IgY29udmVyc2lvbiBtYXRyaXhlcyBpbnRvIHN0YWNrIHZhcmlhYmxlcyB0byBzcGVlZCB1cCBwcm9jZXNzaW5nCgoyMDEwLTAzLTIwIDEwOjE4OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogVXNlIGNvcnJlY3QgbWF0cml4ZXMgdG8gY29udmVydCBjaHJvbWEga2V5aW5nIGNvbG9yIHRvIFlVVgoKMjAxMC0wMy0xOSAxODo1MTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBkaWZmZXJlbnQgY29sb3IgbWF0cml4ZXMKCjIwMTAtMDMtMTkgMTg6MjE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZW5hbWUgYW5kIG1vdmUgZnVuY3Rpb25zIGFzIGZ1cnRoZXIgcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgbW9yZSBjb2xvciBmb3JtYXRzCgoyMDEwLTAzLTE5IDE4OjE4OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IFJlbW92ZSBzb21lIHVubmVlZGVkIGNhbGN1bGF0aW9ucyBhbmQgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcwoJICBBbmQgZG9jdW1lbnQgdGhlIGluc3RhbmNlIHN0cnVjdCBmaWVsZHMgYSBiaXQgYmV0dGVyCgoyMDEwLTAzLTE5IDE4OjExOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IFNvbWUgcHJlcGFyYXRpb25zIGZvciBzdXBwb3J0aW5nIG1vcmUgY29sb3IgZm9ybWF0cwoKMjAxMC0wMy0xOSAxNzowOTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBmaXggY29uZmlnLWludGVydmFsIHByb3BlcnR5CgkgIFVzZSB0aGUgc2FtZSB1bml0cyBmb3IgY29tcGFyaW5nIHRoZSBlbGFwc2VkIHRpbWUgYWdhaW5zdCB0aGUgaW50ZXJ2YWwuCgkgIEZpeGVzICM2MTMwMTMKCjIwMTAtMDMtMTkgMTY6NDQ6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGFjb2xvcjogSW1wbGVtZW50IGNvbG9yLW1hdHJpeCBzdXBwb3J0IGFuZCB1c2UgaW50ZWdlciBhcml0aG1ldGljIG9ubHkKCSAgQWxwaGFjb2xvciBub3cgdXNlcyB0aGUgY29ycmVjdCBtYXRyaXhlcyBmb3IgU0RUViBhbmQgSERUViBhbmQgY2FuCgkgIGNvbnZlcnQgYmV0d2VlbiB0aGVtLgoKMjAxMC0wMy0xOSAxNTowMzo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiB1c2UgR1R5cGUgZnJvbSAtYmFzZSBhbmQgYnVtcCByZXF1aXJlZCB2ZXJzaW9uCgkgIFVzZSB0aGUgdHJhbnNwb3J0IGZsYWdzIEdUeXBlIGZyb20gLWJhc2UgYW5kIGJ1bXAgdGhlIHJlcXVpcmVkIHZlcnNpb24gb2YgLWJhc2UKCSAgYmVjYXVzZSBvZiB0aGlzLgoKMjAxMC0wMy0xOSAwMDowNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICBhcGV0YWc6IG1pbm9yIE1ha2VmaWxlLmFtIHN1cmdlcnkKCSAgLUkkKHRvcF9zcmNkaXIpL2dzdC1saWJzLyBpcyBhbHJlYWR5IGluICQoR1NUX0NGTEFHUykKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMDQgMjI6MTI6MzUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgZHYxMzk0c3JjOiBGaXggaW50ZXJuYWwgY2xvY2sKCSAgRml4ZXMgIzU5MzkxMC4KCjIwMTAtMDMtMTggMjE6MTQ6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJICBidWlsZDogTWFrZWZpbGUuYW0gY2xlYW51cHMKCSAgTW9zdGx5IGFkZCAkKEdTVF9CQVNFX0NGTEFHUykgd2hlcmUgaXQgd2FzIG1pc3NpbmcsIGJ1dCBhbHNvIGZpeCB1cAoJICBvcmRlciBvZiBmbGFncyBhbmQgbGlicyBpZiBuZWVkZWQgKHNlZSBkb2NzL3JhbmRvbS9tb3ZpbmctcGx1Z2lucykuCgoyMDEwLTAzLTE4IDE4OjQ5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggcmVkdW5kYW50IGZ1bmN0aW9uIHJlZGVjbGFyYXRpb24gY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDMtMTggMTk6MDA6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogUmVtb3ZlIHJlbWFpbmluZyBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIHdoZW4gcHJvY2Vzc2luZyBhIHBpeGVsCgoyMDEwLTAzLTE4IDE4OjU1OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUmVmYWN0b3IgY2hyb21hIGtleWluZyBpbnRvIGEgc2luZ2xlIGZ1bmN0aW9uCgkgIFRoaXMgcmVkdWNlcyBjb2RlIGR1cGxpY2F0aW9uIG9uY2Ugd2UgYWRkIHN1cHBvcnQgZm9yIG1vcmUgY29sb3IgZm9ybWF0cy4KCjIwMTAtMDMtMTggMTU6NTM6MTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTE4IDE0OjMxOjM1ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+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+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50KCkgZm9yIGZwcyB0byBzZWNvbmRzIHBlciBmcmFtZSBjYWxjdWxhdGlvbnMKCjIwMDktMTItMDggMTc6MzQ6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEtlZXAgdGhlIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBmb3IgdXBkYXRlIG5ld3NlZ21lbnQgZXZlbnRzCgoyMDA5LTEyLTA0IDE0OjQyOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBleHQvbGFkc3BhL2xvYWQuYzoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJICBsYWRzcGE6IFJlbW92ZSB0aGUgc291cmNlcyBmcm9tIGdzdC1wbHVnaW5zLWdvb2QKCSAgSXQncyBkaXNhYmxlZCBhbnl3YXkgYW5kIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBpdCBpcyBpbgoJICBnc3QtcGx1Z2lucy1iYWQuIEZpeGVzIGJ1ZyAjNjAzNzc5LgoKMjAwOS0xMi0wNCAxMzo1MDo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGluaXQgY3VycmVudF9lbnRyeSBpbiBwdXNoIG1vZGUKCSAgU2V0IHRoZSBjdXJyZW50X2VudHJ5IHRvIDAgKGluc3RlYWQgb2YgLTEpIGluIHB1c2ggbW9kZSBzbyB0aGF0IHdlIGNvcnJlY3RseQoJICBjYWxjdWxhdGUgdGhlIGN1cnJlbnQgZnJhbWUgbnVtYmVyIGFuZCB0aW1lc3RhbXAuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyBhbmQgZmljIHRoZSBkdXJhdGlvbiBkZWJ1Zy4KCjIwMDktMTItMDQgMTE6MTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWFqb3IgbWVtb3J5IGxlYWsgd2hlbiBwbGF5aW5nIGJhY2sgcnRzcCB2aWRlbyBzdHJlYW1zCgkgIERvbid0IGZvcmdldCB0byB1bnJlZiBRb1MsIG5hdmlnYXRpb24gYW5kIGxhdGVuY3kgZXZlbnRzIHdoZW4KCSAgZHJvcHBpbmcgdGhlbS4KCjIwMDktMTItMDMgMDg6NTg6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG9ubHkgc2VuZCBwZW5kaW5nIHRhZ3Mgd2l0aCBuZXdzZWdtZW50IGV2ZW50cwoJICBTZW5kIHBlbmRpbmcgdGFncyBvbmx5IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGp1c3QgYWZ0ZXIgd2UndmUgc2VudAoJICB0aGUgbmV3c2VnbWVudCBldmVudCwgbm90IHdpdGggZS5nLiBmbHVzaC1zdGFydC4gVGhpcyBub3Qgb25seSBkb2VzIHRoZQoJICByaWdodCB0aGluZywgYnV0IGFsc28gbWFrZXMgc3VyZSB3ZSdyZSBub3QgdHJhbXBsaW5nIG92ZXIgdmFyaWFibGVzIHNldAoJICB1cCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZCBmcm9tIHRoZSBzZWVraW5nIHRocmVhZCBpbiBjYXNlIHNvbWVvbmUgdHJpZXMKCSAgdG8gaXNzdWUgYSBzZWVrIGp1c3QgYXMgdGhlIGRlbXV4ZXIgaXMgcGFyc2luZyB0aGUgaGVhZGVycy4KCSAgRml4ZXMgIzYwMTYxNy4gU3BvdHRlZCBieSBPZ255YW4gVG9uY2hldi4KCjIwMDktMTItMDMgMTc6NDk6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVidWcgbWVzc2FnZSBwcmludGYgYXJncwoJICBGaXhlcyBkZWJ1ZyBtZXNzYWdlIHByaW50ZiBmb3JtYXQgdG8gbWFrZSBpdCBidWlsZCBpbiBtYWMncyBnY2MKCjIwMDktMTItMDIgMTM6MzM6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBDb252ZXJ0IGRlbGF5IGNvcnJlY3RseQoJICBVc2UgR1NUX01TRUNPTkQgdG8gY29udmVydCBkZWxheSBpbiBtc2VjcyB0byBuYW5vc2VjcwoJICBGaXhlcyAjNjAzNTQ3CgoyMDA5LTEyLTAyIDExOjIxOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lOiBBdm9pZCBjcmFzaCB3aGVuIHNlZWtpbmcgYmVmb3JlIG5lZ290aWF0aW5nCgkgIGxhbWUncyAnbGd2JyB2YXJpYWJsZSBpcyBvbmx5IGluaXRpYWxpemVkIHdoZW4gdGhlIGNhcHMKCSAgaXMgbmVnb3RpYXRlZCwgd2hlbmV2ZXIgYSBzZWVrIGhhcHBlbnMgYmVmb3JlIHRoYXQsIGl0IHdvdWxkCgkgIGF0dGVtcHQgdG8gY2FsbCBhIGZ1bmN0aW9uIG9uIGFuIGVtcHR5IHBvaW50ZXIsIGNhdXNpbmcgdGhlIGNyYXNoLgoJICBGaXhlcyAjNjAzNTE1CgoyMDA5LTEyLTAxIDE5OjI0OjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZXNldCBzZWdtZW50IGluZm8gYWZ0ZXIgZmx1c2gKCSAgUmVzZXQgdGhlIHNlZ21lbnQgaW5mbyBhZnRlciBhIGZsdXNoLiBXZSB1c2UgdGhlIHNlZ21lbnQgZm9yIGhhbmRsaW5nIFFvUyBhbmQgaWYKCSAgd2UgZG9uJ3QgcmVzZXQgdGhlIHNlZ21lbnQsIFFvUyBpcyBiYXNpY2FsbHkgZGlzYWJsZWQgYWZ0ZXIgYSBmbHVzaGluZyBzZWVrLgoKMjAwOS0xMi0wMSAxNTowNzowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+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+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIG1vcmUgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgZml4ZXMKCjIwMDEtMTItMjMgMTM6MTc6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBCQkIgYXNrZWQgbWUgdG8gcmVuYW1lIGxhdiB0byB5NG0gY2FuIHNvbWVvbmUgd2hvIGtub3dzIHRoZSBwbHVnaW4gZG8gdGhpcyBpbiB0aGUgc291cmNlIGFzIHdlbGwgPwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQkJCIGFza2VkIG1lIHRvIHJlbmFtZSBsYXYgdG8geTRtCgkgIGNhbiBzb21lb25lIHdobyBrbm93cyB0aGUgcGx1Z2luIGRvIHRoaXMgaW4gdGhlIHNvdXJjZSBhcyB3ZWxsID8KCjIwMDktMDUtMTUgMTg6MTc6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBhZGQgTWFrZXZhcnMgbWFnaWMgc28gd2UgZG9uJ3QgZ2V0IGxpbmUgbnVtYmVycyBpbiAqLnBvIGZpbGVzCgkgIFRoaXMgYXZvaWRzIHRoZSBudW1iZXIgb25lIHJlYXNvbiBmb3IgbG9jYWwgbW9kaWZpY2F0aW9ucyBpbiAqLnBvCgkgIGZpbGVzIGFuZCBhbmQgbWFrZXMgdGhpbmdzIGxlc3MgYW5ub3lpbmcgd2hlbiB3b3JraW5nIHdpdGggZ2l0IChvcgoJICBhbnkgb3RoZXIgVkNTIGZvciB0aGF0IG1hdHRlcikuCgoyMDA5LTA1LTE1IDE3OjExOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvYXVkaW90ZXN0c3JjLmZsYWM6CgkqIHRlc3RzL2ZpbGVzL3Rlc3QtY2VydC5wZW06CgkqIHRlc3RzL2ZpbGVzL3Rlc3Qta2V5LnBlbToKCSAgY2hlY2tzOiBtb3ZlIGZpbGVzIHJlcXVpcmVkIGJ5IHVuaXQgdGVzdHMgaW50byB0ZXN0cy9maWxlcyBhbmQgbWFrZSBzdXJlIHRoZXkncmUgZGlzdGVkCgkgIE1vdmUgdW5pdCB0ZXN0IGRhdGEgaW50byB0aGUgZGlyZWN0b3J5IHdoZXJlIGl0IGJlbG9uZ3MgYW5kIG1ha2UgaW4gcGFydGljdWxhcgoJICB0aGUgZmxhY2RlYyB1bml0IHRlc3QgY2QgaW50byB0aGUgZGlyZWN0b3J5IHdpdGggdGhlIHRlc3QgZmlsZXMgaW5zdGVhZCBvZiBtYWtpbmcKCSAgYXNzdW1wdGlvbnMgYWJvdXQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaW4gdGhhdCB1bml0IHRlc3QuIEFzIGEgc2lkZSBlZmZlY3QKCSAgb2YgbW92bmcgdGhvc2UgZmlsZXMsIHRoZXJlJ3Mgb25seSBvbmUgRVhUUkFfRElTVCBpbiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbSBub3csCgkgIHdoaWNoIGlzIGxpa2VseSB0byB3b3JrIGJldHRlciB0aGFuIGhhdmluZyB0d28uIEhvcGVmdWxseSBmaXhlcyAjNTgyNzUzLgoKMjAwOS0wNS0xNCAyMTo0MzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IElmIHRoZSB1cHN0cmVhbSBtYXggbGF0ZW5jeSBpcyB1bmJvdW5kIHJldHVybiB1bmJvdW5kIG1heCBsYXRlbmN5CgkgIEZpeGVzIGJ1ZyAjNTgyNjYxLgoKMjAwOS0wNS0xNSAwODo0NDozOSArMDIwMCAgSmFtZXMgQW5kcmV3YXJ0aGEgPHRyczgwQHVjYy5ndS51d2EuZWR1LmF1PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIEZpeGVzIGJ1ZyAjNTgyNzE1LgoKMjAwOS0wNS0xNCAxMjozMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0CgoyMDA5LTA1LTEzIDIyOjQ2OjQ0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlY292ZXJlZCBkZWJ1Z3V0aWxzIGxpbmUgYWNjaWRlbnRhbGx5IHJlbW92ZWQgaW4gZGVpbnRlcmxhY2UyIG1vdmUuCgoyMDA5LTA1LTEzIDEwOjQ2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL21teC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3BsdWdpbnMuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zc2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIE1vdmVkICdkZWludGVybGFjZTInIGZyb20gLWJhZCB0byAtZ29vZAoJICBBbmQgcmVuYW1lIGl0IHRvIGRlaW50ZXJsYWNlLgoKMjAwOS0wNS0wOCAxNTozOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTYvNTZdIGRlaW50ZXJsYWNlMjogQWRkIGEgZGlzYWJsZWQgbW9kZSBmb3IgcGFzc3Rocm91Z2ggb3BlcmF0aW9uCgkgIEFsc28gYWxsb3cgdG8gY2hhbmdlIHRoZSBtb2RlIGluIFBBVVNFRCBhbmQgUExBWUlORyBieSB1cGRhdGluZwoJICB0aGUgY2FwcyBpZiBuZWNlc3NhcnkuCgoyMDA5LTA0LTIyIDE5OjQzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NS81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNC0xOSAxNzoxODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTQvNTZdIGRlaW50ZXJsYWNlMjogTWFrZSBpdCBwb3NzaWJsZSB0byBzZWxlY3QgaW50ZXJsYWNpbmcgYXV0b2RldGVjdGlvbiBvciB0byBlbmZvcmUgZGVpbnRlcmxhY2luZwoJICBGb3IgdGhpcyBhZGQgYSAibW9kZSIgcHJvcGVydHkgdGhhdCBkZWZhdWx0cyB0byAiaW50ZXJsYWNlZCIgZm9yIG5vdyBhcwoJICBtb3N0IGRlY29kZXJzL2RlbXV4ZXJzIGRvbid0IHByb3Blcmx5IHNldCB0aGUgImludGVybGFjZWQiIGZpZWxkIG9uIHRoZQoJICBjYXBzIHlldC4KCSAgSWYgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gImF1dG8iIHRoZSBlbGVtZW50IHdpbGwgd29yayBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHVubGVzcyB0aGUgY2FwcyBjb250YWluIHRoZSAiaW50ZXJsYWNlZCIgZmllbGQuCgoyMDA5LTA0LTE3IDE1OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1My81Nl0gZGVpbnRlcmxhY2UyOiBVc2UgR1NUXyhERUJVR3xXQVJOSU5HfEVSUk9SKV9PQkpFQ1QgaW5zdGVhZCBvZiB0aGUgbm9uLU9CSkVDVCBvbmVzCgoyMDA5LTA0LTE3IDE1OjM5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Mi81Nl0gZGVpbnRlcmxhY2UyOiBSZXNldCBoaXN0b3J5IGlmIERJU0NPTlQgaXMgc2V0IG9uIHRoZSBpbmNvbWluZyBidWZmZXIKCjIwMDktMDQtMTcgMTU6Mzk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDUxLzU2XSBkZWludGVybGFjZTI6IEZpeCB0aW1lc3RhbXBzIGZvciBidWZmZXJzIHdpdGggUkZGIGZsYWcgc2V0CgoyMDA5LTA0LTE2IDE3OjQxOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTAvNTZdIGRlaW50ZXJsYWNlMjogUmVuYW1lIGxpbmVfbGVuZ3RoIHRvIHJvd19zdHJpZGUgYW5kIHJlbW92ZSBvdXRwdXRfc3RyaWRlCgoyMDA5LTA0LTE2IDE1OjUyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0OS81Nl0gZGVpbnRlcmxhY2UyOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgUkZGIGFuZCBPTkVGSUVMRCBidWZmZXIgZmxhZ3MKCjIwMDktMDQtMTUgMTU6NDY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgW01PVkVEIEZST00gQkFEIDQ4LzU2XSBkZWludGVybGFjZTI6IE1vdmUgb3V0cHV0IGJ1ZmZlciBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgdG8gYSBmdW5jdGlvbiBwYXJhbWV0ZXIKCjIwMDktMDQtMTUgMTU6MzM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgW01PVkVEIEZST00gQkFEIDQ3LzU2XSBkZWludGVybGFjZTI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2YgdGhlIGZpZWxkIG9yZGVyCgoyMDA5LTA0LTE1IDE0OjQ3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ni81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgc3VwcG9ydCBmb3IgWVZZVSBjb2xvcnNwYWNlCgkgIFRoaXMgaXMgdGhlIHNhbWUgYXMgWVVZMiB3aXRoIGp1c3QgQ3IgYW5kIENiIHN3YXBwZWQuIEFzCgkgIHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSB3aGVuIGRlaW50ZXJsYWNpbmcKCSAgdGhpcyB3b3Jrcy4KCjIwMDgtMTEtMDYgMTQ6MDU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KToKCSAgQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NC81Nl0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMDkgMTk6Mzg6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0My81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgWDg2IGFzc2VtYmx5LgoKMjAwOC0wOC0yOCAxNzoxNjo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDIvNTZdIGdzdC9kY2NwLzogRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggRm9ydGUgLSBhcHBhcmVudGx5IGl0IGhhdGVzIGNvbmNhdGVuYXRpbmcgYQoJICBtYWNybyBhcmd1bWVudCB0aGF0IHN0YXJ0cyB3aXRoIGFuIHVuZGVyc2NvcmU/PwoKMjAwOC0wOC0yNiAxMjozMzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQxLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLzogVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZSBhIHNtYWxsIHNwZWVkdXAgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgIFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUKCSAgYSBzbWFsbCBzcGVlZHVwIGFuZCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYW5kbGUgY2hyb21hIGFuZCBsdW1hCgkgIGRpZmZlcmVudCB3aGljaCBpcyBuZWVkZWQgbGF0ZXIuCgoyMDA4LTA4LTI1IDE0OjM3OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDAvNTZdIGdzdC9kZWludGVybGFjZTIvOiBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcKCSAgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgc2VhcmNoLWVmZm9ydD0wIGN1cnJlbnRseSwgaXMgcGFpbmZ1bGx5CgkgIHNsb3cgYW5kIG5lZWRzIHNvbWUgY2xlYW51cCBsYXRlciB3aGVuIGFsbCBzZWFyY2gtZWZmb3J0IHNldHRpbmdzCgkgIGFyZSBpbXBsZW1lbnRlZCBpbiBDLgoKMjAwOC0wOC0wMiAxODo0ODoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM5LzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdCBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0CgkgIGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCjIwMDgtMDgtMDIgMTg6MzY6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYyksIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXhleHQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXJibGVuZC5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9tbXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfaW5pdCk6CgkgIEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUKCSAgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MzA6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgoyMDA4LTA4LTAyIDE4OjE4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzYvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQgY2FuIGJlIHVzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQKCSAgY2FuIGJlIHVzZWQgYnkgc2ltcGxlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcy4gVGhleSBvbmx5IGhhdmUgdG8gcHJvdmlkZQoJICBhIGZ1bmN0aW9uIGZvciBpbnRlcnBvbGF0aW5nIGEgc2NhbmxpbmUgb3IgY29weWluZyBhIHNjYW5saW5lLgoKMjAwOC0wOC0wMiAxODoxNTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMgb2YgZXZlcnkgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfY2hhaW4pOgoJICBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMKCSAgb2YgZXZlcnkgYnVmZmVyLgoKMjAwOC0wOC0wMiAxODoxMzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM0LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMgZGVmaW5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcwoJICBkZWZpbmVkLgoKMjAwOC0wOC0wMiAxODowOTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMzLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dCByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCk6CgkgIEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQKCSAgcmVsZWFzZS4KCjIwMDgtMDgtMDIgMTg6MDI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uIHRoYXQgZG91Ymxlcy9oLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yKSwgKGdzdF9mcmFjdGlvbl9kb3VibGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbgoJICB0aGF0IGRvdWJsZXMvaGFsZnMgdGhlIGZyYW1lcmF0ZSBpZiBhbGwgZmllbGRzIHNob3VsZCBiZSBzZW50IG91dC4KCjIwMDgtMDctMTggMDg6MzQ6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMS81Nl0gRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5IGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kKCSAgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgQnVpbGQgdGhlIGRlaW50ZXJsYWNlMiBwbHVnaW4gb24gYWxsIGFyY2hpdGVjdHVyZXMgYnV0IHN0aWxsIG1hcmsgaXQKCSAgYXMgZXhwZXJpbWVudGFsLgoJICBCdWlsZCB0aGUgeDg2IGlubGluZSBhc3NlbWJseSBvbmx5IGlmIEdDQyBpbmxpbmUgYXNzZW1ibHkgaXMgc3VwcG9ydGVkCgkgIGFuZCBvbmx5IG9uIHg4NiBvciBhbWQ2NC4gRml4ZXMgYnVnICM1NDMyODYuCgoyMDA4LTA3LTE0IDE0OjEzOjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDMwLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEZpeCBidWlsZCBvbiB4ODZfNjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBGaXggYnVpbGQgb24geDg2XzY0CgoyMDA4LTA3LTEzIDEwOjU2OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjkvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZSBhc3NlbWJseSBvcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gb25seSBoYW5kbGUgdGhpcyBhbmQgY2FsbGluZyB0aGUgQwoJICBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHJlbWFpbmluZyBwYXJ0IGRvZXNuJ3Qgd29yayBiZWNhdXNlIGl0IG5lZWRzCgkgIHByZXZpb3VzIGNhbGN1bGF0aW9ucy4KCjIwMDgtMDctMTMgMTA6NTI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFRoZSBTU0UgbWV0aG9kIGluIGZhY3Qgb25seSBuZWVkcyBNTVhFWFQsIGRlY2xhcmUgaXQgYXMgc3VjaC4KCjIwMDgtMDctMDggMTM6MzE6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNy81Nl0gRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKHNwY19zZXR1cCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCjIwMDgtMDctMDYgMjA6NDM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6IE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIHNvbWUKCSAgc3BlZWR1cCBhcyB0aGV5J3JlIHVzZWQgb25seSBvbmNlIGFuZCBuZWVkIHRvIGdldCBtYW55IGxvY2FsIHZhcmlhYmxlcwoJICBwYXNzZWQgYXMgcGFyYW1ldGVyLgoKMjAwOC0wNy0wNSAxOToyMDozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoKMjAwOC0wNy0wNSAxOToxMTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI0LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2xhdGVuY3kpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIEZpeCBvdXRwdXR0aW5nIG9mIGFsbCBmaWVsZHMsIGkuZS4gZG91Ymxpbmcgb2YgdGhlIGZyYW1lcmF0ZS4KCjIwMDgtMDctMDUgMTY6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9maWVsZHNfcmVxdWlyZWQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKF9kb19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpciksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfaW5pdCk6CgkgIFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQKCSAgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkZWludGVybGFjaW5nIG1ldGhvZCB2aWEgR09iamVjdAoJICBwcm9wZXJ0aWVzLgoJICBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSB1c2VkCgkgIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFuZCB0byBhbGxvdyBhZGp1c3RpbmcgdGhlIGRpZmZlcmVudCBzZXR0aW5ncy4KCSAgTW92ZSBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGludG8KCSAgZnVuY3Rpb24gbG9jYWwgdmFyaWFibGVzIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoaXMgZGVpbnRlcmxhY2luZwoJICBtZXRob2QgZnJvbSBkaWZmZXJlbnQgaW5zdGFuY2VzLgoKMjAwOC0wNy0wNSAxMjoyMjozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIyLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgZ3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkKCSAgb3B0aW1pemVkIGdyZWVkeWggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNy0wNCAxODo1NDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIxLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgoyMDA4LTA2LTMwIDA3OjUxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjAvNTZdIGdzdC9kZWludGVybGFjZTIvOiBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKHRvbXNtb2NvbXBfaW5pdCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLCAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLAoJICAodG9tc21vY29tcF9maWx0ZXJfc3NlKSwgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIFVzZSAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4uCgoyMDA4LTA2LTI5IDEwOjU2OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTkvNTZdIGdzdC9kZWludGVybGFjZTIvOiBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkKCSAgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vuc2VkIHRvIExHUEwuIFVzZSBtZW1jcHkoKSBpbnN0ZWFkCgkgIG9mIHRoZSBzcGVlZHkgbWVtY3B5IGV2ZXJ5d2hlcmUgaW5zdGVhZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZW1vdmUgbWFueSB1bnVzZWQgZGVjbGFyYXRpb25zLgoKMjAwOC0wNi0yOCAxODoxMzowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE4LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoKMjAwOC0wNi0yOCAxODoxMDo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE3LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzCgkgIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG1ldGhvZC4gSW5zdGVhZCBpbXBsZW1lbnQgZGVpbnRlcmxhY2VfZnJhbWUKCSAgZnVuY3Rpb24gYnkgdGFraW5nIHRoZSBvbmUgZnJvbSBncmVlZHloLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyk6CgkgIFNtYWxsIGZpeCBmb3IgdGhlIEMgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIERvbid0IHVzZSB0aGUgc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgb25seQoJICB1c2VkIGZvciB0aGlzIG1ldGhvZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBJbnN0ZWFkIGltcGxlbWVudAoJICBkZWludGVybGFjZV9mcmFtZSBmdW5jdGlvbiBhbmQgbWFrZSBpdCBhIGJpdCBtb3JlIGVmZmljaWVudC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBGaXggY29kaW5nIHN0eWxlIGFuZCByZW1vdmUgc2NhbmxpbmVzIGZ1bmN0aW9uIGFzIGl0J3MgdW51c2VkIG5vdy4KCjIwMDgtMDYtMjggMTc6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4gdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbgoJICB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWFyayB0aGUgU1NFIHZlcnNpb24gYXMgTU1YRVhUIGFzIGl0IGRvZXNuJ3QKCSAgcmVxdWlyZSBhbnkgU1NFIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjcgMTM6MjI6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBTZXQgZHVyYXRpb24gb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTA2LTI1IDE2OjA1OjA4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE0LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA2LTI0IDEyOjA4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTMvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MgbWVtb3J5IGFjY2Vzc2VzIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzCgkgIG1lbW9yeSBhY2Nlc3NlcyBhbmQgZml4IHRoZSB3b3JrYXJvdW5kIGZvciB0aGUgbWlzc2luZyByaWdodCBzaGlmdAoJICBvbiBieXRlcyB0byB1bnNldCB0aGUgaGlnaGVzdCBiaXQgb2YgZXZlcnkgYnl0ZS4KCjIwMDgtMDYtMjQgMTA6MTU6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UgaW5zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFCgkgIGluc3RydWN0aW9uLgoKMjAwOC0wNi0yNCAxMDoxMjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDExLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgoyMDA4LTA2LTI0IDA5OjQwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTAvNTZdIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06IE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpOgoJICBGaXggQyBhbmQgTU1YIGltcGxlbWVudGF0aW9ucyBhIGJpdCBtb3JlLgoKMjAwOC0wNi0yNCAwOToxMDo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA5LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE1NWEVYVCBpbXBsZW1lbnRhdGlvbi4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgYW5kIGRvbid0IHJlYWQgb3ZlciBhcnJheSBib3VuZGFyaWVzIGluIHRoZSBNTVhFWFQKCSAgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBGaXggYSBzbWFsbCByb3VuZGluZyBidWcgaW4gdGhlIE1NWCBpbXBsZW1lbnRhdGlvbiwgdGhlIE1NWAoJICBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IGFjdHVhbGx5IG5lZWQgTU1YRVhUIGluc3RydWN0aW9ucyBzbyBkb24ndCBtYXJrCgkgIGl0IGFzIHN1Y2guCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGluIGJvdGggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNi0yMSAwOTowNTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA4LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlIGFzc2VtYmx5IG9wdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX3NzZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBhcyBTU0UgYXMgaXQgdXNlcyBTU0UgaW5zdHJ1Y3Rpb25zCgkgIGFkZGl0aW9uYWwgdG8gTU1YIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjAgMTQ6NDg6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vIGJ1dCB1c2UgdGhlIE1NLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfYyksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbwoJICBidXQgdXNlIHRoZSBNTVhFWFQgb3B0aW1pemVkIGNvZGUgd2hlbmV2ZXIgcG9zc2libGUuCgoyMDA4LTA2LTIwIDE0OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDYvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycyB3aGVuIGZpbmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMKCSAgd2hlbiBmaW5hbGl6aW5nLCBhbGxvY2F0ZSBidWZmZXJzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhbmQKCSAgcHJvcGVybHkgcmV0dXJuIGZsb3cgcmV0dXJucyBmcm9tIGdzdF9wYWRfcHVzaCgpIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbS4KCjIwMDgtMDYtMjAgMTM6NDU6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IEFkZCBtaXNzaW5nIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlci4KCjIwMDgtMDYtMjAgMTM6MjQ6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNC81Nl0gRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbCBlbmFibGVkIG9ubHkKCSAgYnkgLS1lbmFibGUtZXhwZXJpbWVudGFsLgoKMjAwOC0wNi0xOCAwNjozMToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAzLzU2XSBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbAoJICBjb21tZW50cy4KCjIwMDgtMDYtMTEgMTE6MTI6NDkgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDIvNTZdIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA4LTA2LTExIDExOjEyOjE0ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgW01PVkVEIEZST00gQkFEIDAxLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOS0wNS0xMyAxMDozMDozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZsdjogQWN0dWFsbHkgYWRkIHRoZSBmbHYgcGx1Z2luIHRvIGNvbmZpZ3VyZS5hYwoKMjAwOS0wNS0xMyAwOToyNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBjaGVja3M6IGZpeCBmbGFjZGVjIHVuaXQgdGVzdHMgb24gYmlnLWVuZGlhbiBtYWNoaW5lcyBhbmQgdW5kZXIgdmFsZ3JpbmQKCSAgRmxhY2RlYyBvdXRwdXRzIDE2LWJpdCBzYW1wbGVzLCBzbyBsZXQncyBjaGVjayBpZiB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0CgkgIHNhbXBsZSBpcyB3aGF0IHdlIGV4cGVjdCByYXRoZXIgdGhhbiBqdXN0IHRoZSBmaXJzdCBieXRlLCB3aGljaCBtYXkgYmUKCSAgZGlmZmVyZW50IGZyb20gd2hhdCB3ZSBleHBlY3QgZGVwZW5kaW5nIG9uIHRoZSBob3N0J3MgZW5kaWFubmVzcy4gRml4ZXMKCSAgdGhlIGZsYWNkZWMgdW5pdCB0ZXN0cyBvbiBQUEMuIEFsc28gZml4IGEgYnVuY2ggb2YgbGVha3MgaW4gdGhlIHVuaXQKCSAgdGVzdHMgdG8gbWFrZSB2YWxncmluZCBoYXBweS4gRml4ZXMgIzU4MjQyMC4KCjIwMDktMDUtMTMgMDk6MTg6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggYnVmZmVyIGxlYWsKCSAgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgd2lsbCB0YWtlIGl0cyBvd24gcmVmLCBzbyB3ZSBzdGlsbCBoYXZlCgkgIHRvIHVucmVmIHRoZSBidWZmZXIgaWYgd2UgZG9uJ3QgbmVlZCBpdCBhbnkgbG9uZ2VyLgoKMjAwOS0wNS0xMiAyMToyMDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggcG9pbnRlciBhcml0aG1ldGljCgkgIFRoaXMgZml4ZXMgYSBzZWVraW5nIHJlZ3Jlc3Npb24sIGJ1ZyAjMTM0NTIyLgoKMjAwOS0wNS0xMiAxOToyMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IGFkZCBTaW5jZSB0YWcgdG8gZ3RrLWRvYyBjaHVuawoKMjAwOS0wNS0xMiAyMTozNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgTW92ZWQgJ2ZsdicgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTA3IDE3OjUzOjQyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Ny81N10gQWRkIHJhbmtzIHRvIHZhcmlvdXMgbXV4ZXJzIGFuZCBlbmNvZGVycyBpbiAtYmFkCgoyMDA5LTA0LTI5IDE4OjUyOjIwICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTYvNTddIGZsdm11eDogaW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzICM1ODA3ODYuCgoyMDA5LTA0LTI5IDEzOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDU1LzU3XSBmbHY6IFNldC9yZXF1aXJlIHRoZSBmcmFtZWQvcGFyc2VkIGZpZWxkcyBvZiB0aGUgYXVkaW8vbXBlZyBjYXBzIHRvIFRSVUUKCjIwMDktMDQtMjkgMTM6MTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgW01PVkVEIEZST00gQkFEIDU0LzU3XSBmbHY6IEFsd2F5cyB3cml0ZSBhdCBsZWFzdCB0aGUgbWluaW1hbCB0YWdzIGFuZCB3cml0ZSB0aGUgUEFSIGFzIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgW01PVkVEIEZST00gQkFEIDUzLzU3XSBmbHY6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgc29tZSB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDUyLzU3XSBmbHY6IEFkZCBzdXBwb3J0IGZvciB0aXRsZSB0YWcKCjIwMDktMDQtMjkgMDk6NDA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTEvNTddIGZsdjogRml4IHBhcnNpbmcgb2YgdGFncyBhbmQgYWRkIG5ldyBtYXBwaW5ncwoJICBXZSBzaG91bGRuJ3QgcmVnaXN0ZXIgYSBuZXcgR3N0VGFnIGZvciBldmVyeSB1bmtub3duIHRhZwoJICB3ZSBmaW5kIGFzIHRoaXMgbWlnaHQgbGVhZCB0byBjb25mbGljdHMgYW5kIGFsc28gdGhvc2UKCSAgdGFncyBhcmUgZXNzZW50aWFsbHkgdW5rbm93bi4KCSAgQWRkIG1hcHBpbmdzIGZvciBzb21lIGtub3duIHRhZ3MgYW5kIGFsc28gY29udmVydCBzdHJpbmcKCSAgZGF0ZXMgdG8gR0RhdGUsIGFzIGZvdW5kIGluIG1hbnkgRkxWIGZpbGVzLgoKMjAwOS0wNC0yMiAxOTo1MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgW01PVkVEIEZST00gQkFEIDUwLzU3XSBmbHY6IEFkZCBkb2N1bWVudGF0aW9uIHRvIGZsdm11eCBhbmQgZmx2ZGVtdXgKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNzM3LgoKMjAwOS0wMS0yMiAxMzozOTozNCArMDEwMCAgSmFuIFVyYmFuc2tpIDxqLnVyYmFuc2tpQHN0dWRlbnRzLm1pbXV3LmVkdS5wbD4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgW01PVkVEIEZST00gQkFEIDQ5LzU3XSBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIEZpeGVzIGJ1ZyAjNTY3OTY1LgoJICBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIFRoaXMgZml4ZXMKCSAgc2Vla2luZyBvbiBzb21lIGZpbGVzIHRoYXQgaGF2ZSB0aGUgc2VlayB0YWJsZSBzdG9yZWQKCSAgaW5zaWRlIGFuIEVDTUEgYXJyYXkgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIGFycmF5LgoKMjAwOC0xMi0wMyAxMTo0MzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQ4LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKToKCSAgQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCjIwMDgtMTEtMjQgMTE6MTc6MTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDQ3LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzIGtleWZyYW1lLiBNYXJrIHRoZSBkaXNjb250IGZsYWcgd2hlbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTEtMjQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMKCSAga2V5ZnJhbWUuIE1hcmsKCSAgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIHdlJ3ZlIG1vdmVkIGluIHRoZSBmaWxlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKTogTVAzCgkgIHN0cmVhbXMKCSAgYXJlIHBhcnNlZCBhbHJlYWR5LCBtYWtlcyBhdXRvcGx1Z2dlZCBwaXBlbGluZXMgc2hvcnRlci4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Ni81N10gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTAtMjggMTg6NDQ6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgoyMDA4LTEwLTI4IDE4OjQxOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDQvNTddIGdzdC9mbHYvOiBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgIFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZgoJICBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgUHVzaCB0YWdzIGFscmVhZHkgaWYgb25seSBvbmUgcGFkIHdhcyBhZGRlZCwgbm8gbmVlZCB0byB3YWl0IGZvcgoJICB0aGUgc2Vjb25kIG9uZS4KCSAgV2hlbiBnZW5lcmF0aW5nIG91ciBpbmRleCBzZXQgaGFzX3ZpZGVvIGFuZCBoYXNfYXVkaW8gaWYgd2UgZmluZAoJICB2aWRlbyBvciBhdWRpbyBpbiBjYXNlIHRoZSBGTFYgaGVhZGVyIGhhcyBpbmNvcnJlY3QgZGF0YS4KCjIwMDgtMTAtMjcgMDk6NDU6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0My81N10gZ3N0L2Zsdi86IERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QKCSAgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBGaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgoyMDA4LTEwLTI3IDA5OjQxOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDIvNTddIGdzdC9mbHYvTWFrZWZpbGUuYW06IEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKToKCSAgUmV3cml0ZSB0aGUgc2NyaXB0IHRhZyBwYXJzaW5nIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgdG8gcmVhZAoJICBtb3JlIGRhdGEgdGhhbiB3ZSBoYXZlLiBBbHNvIHVzZSBHU1RfUkVBRF9VSU5UMjRfQkUgZGlyZWN0bHkgYW5kCgkgIGZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCSAgVGhpcyBzaG91bGQgbWFrZSBhbGwgY3Jhc2hlcyBvbiBmdXp6ZWQgRkxWIGZpbGVzIGRpc2FwcGVhci4KCjIwMDgtMTAtMjcgMDk6Mzc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQKCSAgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHJlZ2lvbi4KCjIwMDgtMTAtMjcgMDk6MzU6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0CgkgIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoKMjAwOC0xMC0yNyAwOTozMzo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM5LzU3XSBnc3QvZmx2LzogQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpLAoJICAoZ3N0X2Zsdl9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQKCSAgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCjIwMDgtMTAtMjcgMDk6MzI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzOC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0KCSAgZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBGaXggc2VlayBldmVudCBoYW5kbGluZyB0byBsb29rIGF0IHRoZSBmbGFncyBvZiB0aGUgc2VlayBldmVudAoJICBpbnN0ZWFkIG9mIGFzc3VtaW5nIHNvbWUgcmFuZG9tIGZsYWdzLCBkb24ndCBzZW5kIHNlZ21lbnQtc3RhcnQKCSAgbWVzc2FnZXMgd2hlbiBvcGVyYXRpbmcgaW4gcHVzaCBtb2RlIGFuZCBwdXNoIHNlZWsgZXZlbnRzIHVwc3RyZWFtCgkgIGlmIHdlIGNvdWxkbid0IGhhbmRsZSB0aGVtLgoKMjAwOC0xMC0yNyAwOToyNzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM3LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgIEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCjIwMDgtMTAtMjcgMDk6MjU6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNi81N10gZ3N0L2Zsdi86IEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZSBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UKCSAgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaWxlcyAod2hpY2ggYXJlIG1vcmUgdGhhbgoJICBvZnRlbiBpbmNvcnJlY3QgYW5kIGNhdXNlIGZhaWxlZCBzZWVrcykuCgkgIEZvciBwdXNoIG1vZGUgd2Ugc3RpbGwgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSB0aGUgZmlsZSBhbmQgZXh0ZW5kIGl0CgkgIHdoaWxlIGRvaW5nIHRoZSBwbGF5YmFjay4KCjIwMDgtMTAtMjcgMDk6MjA6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpOgoJICBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsCgkgIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvZXMgd2hhdCB3ZSB3YW50IGFuZCBpcyBtdWNoCgkgIG1vcmUgc2ltcGxlLgoKMjAwOC0xMC0yNyAwOToxNDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM0LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4Lio6IElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlCgkgIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQgd2hlbiBzdGFydGluZyBhIG5ldyBzdHJlYW0gdG8gZ2V0CgkgIGFsbCBvbGQgZW50cmllcyByZW1vdmVkLgoKMjAwOC0xMC0yNyAwOToxMjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMzLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCjIwMDgtMTAtMjcgMDk6MTA6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMi81N10gZ3N0L2Zsdi86IENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcyBoYW5kbGVkLgoKMjAwOC0xMC0xNiAxNToyMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMxLzU3XSBnc3QvZmx2L2dzdGZsdm11eC5jOiBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlcik6CgkgIERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28KCSAgaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZSBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyBidWcgIzU1NjU2NC4KCjIwMDgtMTAtMTIgMTc6MDg6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzMC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBGaXhlcyBidWcgIzU1NjAwMy4KCjIwMDgtMTAtMTAgMTY6MzM6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldCBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQKCSAgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvcmsgd2l0aCAoaS5lLiB0aGUgcGFkJ3MgY2FwcykuCgkgIEFkZCBub24ta2V5ZnJhbWUgdmlkZW8gZnJhbWVzIHRvIHRoZSBpbmRleCB0b28gYnV0IHdpdGhvdXQgdGhlCgkgIGtleWZyYW1lIGZsYWcuCgkgIEFkZCBhdWRpbyBmcmFtZXMgdG8gdGhlIGluZGV4IG9ubHkgaWYgd2UgaGF2ZSBubyB2aWRlbyBzdHJlYW0uCgoyMDA4LTEwLTEwIDE2OjE1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjgvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbSBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0KCSAgYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2FwcyBhcmUgc2V0LgoKMjAwOC0xMC0wOSAxNjoyMDoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI3LzU3XSBnc3QvZmx2LzogR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcAoJICBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQgKG1heWJlIGJldHRlcikgZHVyYXRpb24gZnJvbQoJICBtZXRhZGF0YSBsYXRlciB3ZSdsbCB1c2UgdGhhdCBpbnN0ZWFkLgoKMjAwOC0xMC0wOSAxNTo0MzowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI2LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uCgkgIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmVhZGFibGUuCgoyMDA4LTEwLTA5IDE1OjI2OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjUvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KToKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBJZiB3ZSBnZXQgR1NUX0ZMT1dfTk9UX0xJTktFRCBpbiB0aGUgcGFyc2UgbG9vcCBidXQgYXQgbGVhc3QKCSAgb25lIG9mIHRoZSBwYWRzIGlzIGxpbmtlZCBjb250aW51ZSB0aGUgbG9vcC4KCjIwMDgtMTAtMDkgMTA6MDA6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKToKCSAgQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsCgkgIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlY29kZXIgYW5kIGhhcyBkaWZmZXJlbnQgY2Fwcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvIGNvZGVjIGlkIDE0LCB3aGljaCBpcyBNUDMgd2l0aCA4a0h6IHNhbXBsaW5nCgkgIHJhdGUuCgkgIEZpeCBlbmRpYW5uZXNzIGFuZCBzaWduZWRuZXNzIGZvciByYXcgYXVkaW8gY29kZWMgaWRzLgoJICBBZGQgc3VwcG9ydCBmb3IgYWxhdyBhbmQgbXVsYXcgYXVkaW8uCgoyMDA4LTEwLTA5IDA5OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjMvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKToKCSAgR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQKCSAgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcyBlbXB0eS4KCSAgQWRkIHNvbWUgZXhwbGFuYXRpb25zIGFib3V0IHRoZSBoZWFkZXIgYW5kIHRhZyBzaXplLgoJICBEb24ndCBwcmludCBzeW5jaHJvbml6aW5nIG1lc3NhZ2UgaWYgZXZlcnl0aGluZyBpcyBmaW5lLgoKMjAwOC0xMC0wOSAwOToyNjo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIyLzU3XSBnc3QvZmx2LzogQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nIG9mIHN0cmVhbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfZmx2X211eF9jbGFzc19pbml0KSwgKGdzdF9mbHZfbXV4X2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfZmluYWxpemUpLCAoZ3N0X2Zsdl9tdXhfcmVzZXQpLAoJICAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfZmx2X211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZmx2X211eF92aWRlb19wYWRfc2V0Y2FwcyksIChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfaGVhZGVyKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpLCAoZ3N0X2Zsdl9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcKCSAgb2Ygc3RyZWFtIG1ldGFkYXRhLgoKMjAwOC0wNi0xMyAyMjo0Njo0MyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjEvNTddIGdzdC9mbHYvOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0xNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDCgkgIGFuZAoJICBILjI2NC9BVkMgaW5zaWRlIEZMVi4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfY2hhaW4pLCAoZ3N0X2RzaG93YXVkaW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3dhdWRpb2RlY19zZXR1cF9ncmFwaCk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIChnc3RfZHNob3d2aWRlb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93dmlkZW9kZWNfY2hhaW4pLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc3JjX2dldGNhcHMpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOiBMb3Qgb2YgcmFuZG9tIGZpeGVzCgkgIHRvIGltcHJvdmUgc3RhYmlsaXR5IChyZWYgY291bnRpbmcsIHNhZmV0eSBjaGVja3MuLi4pCgoyMDA4LTA0LTI1IDA4OjA3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDIwLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoKMjAwOC0wNC0xMSAyMzoxOToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpOgoJICBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzCgkgIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhIE5VTEwgc3RyaW5nICgjNTI3NjIyKS4KCjIwMDctMTItMTEgMTE6NTQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTgvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZwoJICB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCjIwMDctMTItMDkgMTk6Mzc6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTcvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIEVtaXQgdGFnIHdpdGggdGhlIGNvZGVjIG5hbWUgc28gaXQgZ2V0cyBwcm9wZXJseSByZXBvcnRlZCBpbiB0b3RlbSBhbmQKCSAgb3RoZXIgYXBwbGljYXRpb25zLgoKMjAwNy0xMS0yNSAxMDo0NTowOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNi81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZSB3aXRoIGdub25saW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUKCSAgd2l0aCBnbm9ubGluLgoKMjAwNy0xMS0xMiAxOToyMjoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZQoJICBhY3R1YWxseSBoYXZlIGRhdGEgdG8gcmVhZCBhdCB0aGUgZW5kIG9mIHRoZSB0YWcuIFRoaXMgYXZvaWRzIHRyeWluZwoJICB0byBhbGxvY2F0ZSBuZWdhdGl2ZSBidWZmZXJzLgoKMjAwNy0xMC0yMiAxNTo0NTo0OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTQvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3QgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOiBEb24ndAoJICBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlcgoJICBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgZW1pdCB0aGVtIGZvciAyIHBhZHMgc2NlbmFyaW9zCgkgIHRob3VnaCB0byBzcGVlZCB1cCBtZWRpYSBkaXNjb3ZlcnkuCgoyMDA3LTA5LTI3IDEwOjA2OjIzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMy81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZSB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZQoJICB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgoyMDA3LTA5LTI2IDE2OjMwOjUwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMi81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnCgkgIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRob3V0CgkgIHRlc3RpbmcpCgoyMDA3LTA5LTI2IDExOjE3OjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMS81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUKCSAgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIEZpeCByYXcgYXVkaW8gY2FwcyBnZW5lcmF0aW9uLgoKMjAwNy0wOS0xMiAwODozODoyMiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTAvNTddIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoKMjAwNy0wOC0yNyAxNDo1NjowNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDkvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCjIwMDctMDgtMjQgMTc6MDM6MTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA4LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgoyMDA3LTA4LTI0IDE1OjMxOjI2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBJbXBsZW1lbnQKCSAgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoKMjAwNy0wOC0yMiAxNDo1MDo1MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDYvNTddIGdzdC9mbHYvOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2ggbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoCgkgIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBGbGFzaCBwbGF5ZXJzIGNhbiBzdXBwb3J0IGl0IGFzIHdlbGwgdGhpcyB3YXkuCgoyMDA3LTA4LTIyIDE0OjAzOjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNS81N10gZ3N0L2Zsdi86IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0byBwdXNoIHRhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUKCSAgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0bwoJICBwdXNoCgkgIHRhZ3MgYW5kIGVtaXQgbm8tbW9yZS1wYWRzLiBGaXggc29tZSBwcmludGYgdHlwaW5nIGluIGRlYnVnZ2luZy4KCjIwMDctMDgtMTQgMTQ6NTY6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDQvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpOgoJICBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoKMjAwNy0wOC0xNCAxNDoyMjowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDMvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0xNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2FkYXB0ZXJfZmx1c2gpLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbAoJICBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBQYXJzZQoJICBtb3JlIG1ldGFkYXRhIHR5cGVzIGFuZCBrZXlmcmFtZXMgaW5kZXguCgoyMDA3LTA3LTI1IDEzOjI5OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMi81N10gZ3N0L2Zsdi86IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0IHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQKCSAgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCjIwMDctMDctMTkgMTU6MDU6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAxLzU3XSBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZWVrX3RvX3ByZXZfa2V5ZnJhbWUpLCAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX0JFVUkyNCksIChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X2RlbXV4X3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgSXQgZG9lcyBub3QgZG8gc2Vla2luZyB5ZXQsIGl0IHN1cHBvcnRzIHB1bGwgYW5kIHB1c2ggbW9kZSBzbwoJICBZRVMKCSAgeW91IGNhbiB1c2UgaXQgdG8gcGxheSB5b3V0dWJlIHZpZGVvcyBkaXJlY3RseSBmcm9tIGFuIEhUVFAgdXJpLgoJICBOb3Qgc28gbXVjaCB0ZXN0aW5nIGRvbmUgeWV0IGJ1dCBpdCBwYXJzZXMgbWV0YWRhdGEsIHJlcGx5IHRvCgkgIGR1cmF0aW9uIHF1ZXJpZXMsIGV0Yy4uLgoKMjAwOS0wNS0xMiAxMzowMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IExpbmsgdG8gLWxtCgkgIEZpeGVzIGJ1ZyAjNTgyMjgxLgoKMjAwOS0wNS0xMiAxMToxNjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IFJlbW92ZSBpbnZhbGlkIHVuaXQgdGVzdAoJICBUaGUgdGVzdCBjcmVhdGVzIGJ1ZmZlcnMgd2l0aCBub24tc2lsZW5jZSwgc2V0cyB0aGUgR0FQCgkgIGZsYWcgb24gaXQgYW5kIGV4cGVjdHMgcmdhbmFseXNpcyB0byBpZ25vcmUgdGhlIGNvbnRlbnQgYW5kIGFzc3VtZSBzaWxlbmNlLgoJICBUaGF0J3Mgbm90IHRoZSB3YXkgaG93IEdBUCBidWZmZXJzIHNob3VsZCBiZSB1c2VkLCBpZiB0aGUgR0FQIGZsYWcgaXMgc2V0CgkgIGVsZW1lbnRzICpjYW4qIGFzc3VtZSB0aGF0IHRoZXkgb25seSBjb250YWluIHNpbGVuY2UgYnV0IHRoZXkncmUgbm90ICpyZXF1aXJlZCoKCSAgdG8gYXNzdW1lIHRoYXQuIFRoZSBHQVAgZmxhZyBtdXN0IG9ubHkgYmUgc2V0IG9uIHNpbGVuY2UgYnVmZmVycy4KCSAgRml4ZXMgYnVnICM1ODIyNTIuCgoyMDA5LTA1LTEyIDAwOjQ4OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMiBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xMSAyMzoxMzoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIGNoZWNrczogZGlzdCBpZDMtNTc3NDY4LXVuc3luY2VkLXRhZy50YWcgdGVzdCBmaWxlCgoyMDA5LTA1LTExIDIxOjAyOjI3ICswMjAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbml0aWFsaXplIHZhcmlhYmxlIHRvIDAKCSAgRml4ZXMgIzU4MjIxOC4KCjIwMDktMDUtMTEgMTg6MjE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgc2VhcmNoIGZvciB0aGUgaW5kZXggZW50cnkgb25jZQoKMjAwOS0wNS0xMSAxODoxODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVXNlIHRoZSBmaXJzdCBpbmRleCBlbnRyeSBpZiBpdCdzIGFmdGVyIHRoZSBzZWVrIHBvc2l0aW9uCgoyMDA5LTA1LTExIDE4OjE1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVzZSB0aGUgZmlyc3QgZW50cnkgZm9yIGEgZ2l2ZW4gc3RyZWFtIGlmIHRoZSBmaXJzdCBlbnRyeSBpcyBhZnRlciB0aGUgc2VlayBwb3NpdGlvbgoKMjAwOS0wNS0xMSAxNjo1MDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVc2UgYmluYXJ5IHNlYXJjaCBmb3IgZmluZGluZyB0aGUgcmVxdWVzdGVkIGluZGV4IGVudHJ5IHdoZW4gc2Vla2luZwoKMjAwOS0wNS0xMSAxNTozNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBJbXByb3ZlL29wdGltaXplIHNlZWtpbmcKCSAgRmlyc3Qgb2YgYWxsIGEga2V5ZnJhbWUgc2VlayBzaG91bGQgYmUgZG9uZSB0byB0aGUKCSAga2V5ZnJhbWUgcmlnaHQgYmVmb3JlIHRoZSByZXF1ZXN0ZWQgcG9zaXRpb24gYW5kIG5vdAoJICB0byB0aGUga2V5ZnJhbWUgdGhhdCBpcyBuZWFyZXN0IHRvIHRoZSByZXF1ZXN0ZWQgcG9zaXRpb24uCgkgIFVzZSBwZXIgdHJhY2sgaW5kZXggYXJyYXlzIGFuZCB1c2Ugb3VyIG5ldyBiaW5hcnkgc2VhcmNoIGZ1bmN0aW9uCgkgIGZyb20gY29yZSB0byBzcGVlZCB1cCB0aGUgc2VhcmNoLgoKMjAwOS0wNS0xMSAxNTozNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlCgoyMDA5LTA1LTExIDEwOjE1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnZGtwaXhidWY6IFVzZSB0aGUgbGlicyBhbmQgY2ZsYWdzIG9mIGdkayBwaXhidWYgaW5zdGVhZCBvZiBndGsKCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQgaWYgZ2RrLXBpeGJ1ZiBpcyBmb3VuZCBidXQgZ3RrIGlzbid0CgoyMDA5LTA1LTExIDA5OjU4OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWx3YXlzIGRlZmluZSB0aGUgY29uZGl0aW9uYWwgSEFWRV9HVEsgdG8gZml4IGNvbmZpZ3VyZSBpbiBzb21lIGNhc2VzCgoyMDA5LTA1LTEwIDE2OjUzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogRG9uJ3Qgd3JpdGUgYSBYaW5nIGhlYWRlcgoKMjAwOS0wNS0xMCAxMToxNzoyMyArMDIwMCAgTWFyYy1BbmRyZSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgUnVuIGxpYnRvb2xpemUgYmVmb3JlIGFjbG9jYWwKCSAgVGhpcyB1bmJyZWFrcyB0aGUgYnVpbGQgaW4gc29tZSBjYXNlcy4gRml4ZXMgYnVnICM1ODIwMjEKCjIwMDktMDUtMDkgMTA6NTA6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggcHJpbnRmIGZvcm1hdCB0byBhZ3JlZSB3aXRoIGFyZ3VtZW50CgoyMDA5LTA1LTA4IDE5OjQyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIHJhdzEzOTQ6IGluY2x1ZGUgc3RkbGliLmggZm9yIHN0cnRvbCgpCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCB4bWwgc3R1ZmYgaW4gY29yZSBkaXNhYmxlZC4KCjIwMDktMDUtMDggMTY6NDA6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEFjdHVhbGx5IG91dHB1dCB0aGUgcGVuZGluZyBidWZmZXIuLiBhbmQgbm90IGEgYmxhbmsgb25lLgoJICBJdCB3YXMgcHJldmlvdXNseSBzZW5kaW5nIHRoZSBib2d1cyBidWZmZXIgd2hpY2ggd2FzIHJldHVybmVkIGZyb20KCSAgdGhlIGJ1ZmZlcmFsbG9jIChyZXF1aXJlZCBmb3IgcmV2ZXJzZSBuZWdvdGlhdGlvbiBhcHBhcmVudGx5KSBpbnN0ZWFkCgkgIG9mIHRoZSBwZW5kaW5nIGJ1ZmZlci4KCjIwMDktMDUtMDggMTQ6MjQ6NDcgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzoKCSAgU3dpdGNoIHR3b2xhbWUgdG8gcHJpbWFyeSByYW5rCgoyMDA5LTA1LTA4IDEyOjAwOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBbGxvdyBub24tc3RyaW5nIGZpZWxkcyBpbiB0aGUgZXh0cmEtaGVhZGVycyBwcm9wZXJ0eQoKMjAwOS0wNS0wOCAxMTozNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJICBydGoya2RlcGF5OiBhZGQgYmFzaWMgSlBFRyAyMDAwIGRlcGF5bG9hZGVyCgoyMDA5LTA1LTA4IDExOjMxOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBzZXQgbWFya2VyIGJpdCBjb3JyZWN0bHkKCjIwMDktMDUtMDggMTE6Mjk6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBzdXBwb3J0IGZvciBleHRyYS1oZWFkZXJzIGFwcGVuZGVkIHRvIHRoZSBIVFRQIHJlcXVlc3QKCSAgVGhpcyBhbGxvd3MgdG8gc2V0IHRoZSBSZWZlcmVyIGhlYWRlciBhbW9uZyBvdGhlciB0aGluZ3MgYnkKCSAgYWRkaW5nIGEgImV4dHJhLWhlYWRlcnMiIHByb3BlcnR5IHRoYXQgdGFrZXMgYSBHc3RTdHJ1Y3R1cmUKCSAgd2l0aCBmaWVsZD1zdHJpbmcgcGFpcnMuCgkgIEZpeGVzIGJ1ZyAjNTgxODA2LgoKMjAwOS0wNS0wOCAxMDozODo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cGoya3BheTogYWRkIGEgc2ltcGxlIEpQRUcgMjAwMCBwYXlsb2FkZXIKCjIwMDktMDUtMDggMTA6MzE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogd2Ugb25seSBuZWVkIHRvIHN3YXAgYml0cyBvbiBMRQoKMjAwOS0wNS0wNyAxODoxMDowOCArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEFkZCBSQU5LUyBmb3IgdmFyaW91cyBlbmNvZGVycyBhbmQgbXV4ZXJzCgoyMDA5LTA1LTA3IDE3OjU5OjUyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgQWRkIHJhbmtzIHRvIG1wMyBlbmNvZGVycwoKMjAwOS0wNS0wNyAxNzo1OTo1MiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJICBBZGQgcmFua3MgdG8gbXAzIGVuY29kZXJzCgoyMDA5LTA1LTA3IDE3OjA5OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBzb21lIGRlYnVnZ2luZwoKMjAwOS0wNS0wNyAxNTo1ODo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwYXJzZSB4aXBoIGhlYWRlcnMgbGVuZ3RoIGNvcnJlY3RseQoJICBTZWUgIzU4MDk4MAoKMjAwOS0wNS0wNyAxNjoyNTo0MSArMDIwMCAgR2FicmllbCBCb3V2aWduZSA8Ym91dmlnbmVAbXAzLXRlY2gub3JnPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICByZ2FuYWx5c2lzOiBBZGQgYWJpbGl0eSB0byBwb3N0IGxldmVsIG1lc3NhZ2VzCgkgIEZpeGVzIGJ1ZyAjNTgxNTY4LgoKMjAwOS0wNS0wNyAxMDoxMDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IEZpeHVwIHRoZSBiaXRyYXRlIG9ubHkgZm9yIENCUgoJICBBZGRpdGlvbmFsbHkgY2xhcmlmeSBzb21lIHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCjIwMDktMDUtMDYgMjM6NTY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcmVmdXNlIHNvbWUgdW5zdXBwb3J0ZWQganBlZyBmb3JtYXRzCgoyMDA5LTA1LTA2IDIxOjQ3OjE3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZTogZml4IGZvcm1hdCBzdHJpbmcgaW4gZGVidWcgc3RhdGVtZW50CgoyMDA5LTA1LTA2IDE4OjA2OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBmaXggZGVzY3JpcHRpb24KCjIwMDktMDUtMDYgMTY6MDk6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcmV3cml0ZSBxdWFudCB0YWJsZSBoYW5kbGluZwoJICBSZXdyaXRlIHRoZSBxdWFudCB0YWJsZSBwYXJzaW5nIHRvIGFsc28gaGFuZGxlIG11bHRpcGxlIHRhYmxlcyBpbiBvbmUgSlBFRyBIRFEKCSAgc2VnbWVudC4KCSAgSGFuZGxlIG1vcmUganBlZyB0eXBlcyBieSBrZWVwaW5nIHRyYWNrIG9mIHRoZSB0YWJsZXMgdXNlZCBwZXIgY29tcG9uZW50IGFuZAoJICBwdXR0aW5nIHRoZSB1c2VkIG9uZXMgaW4gdGhlIHF1YW50IGhlYWRlcnMuCgoyMDA5LTA0LTE4IDE3OjIzOjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBpZDN2Mm11eDogTWFrZSB0aGUgdGVzdCBmYWlsdXJlIHNsaWdodGx5IG1vcmUgaW5mb3JtYXRpdmUKCjIwMDktMDQtMjAgMTg6MzM6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhYzogTWFrZSBidWZmZXJzIGNyZWF0ZWQgZHVyaW5nIHNlZWsgYWN0IGxpa2Ugbm9ybWFsIGJ1ZmZlcnMuCgkgIFN0b3JlIHRoZSBvZmZzZXQgYW5kIGNhcHMgd2hlbiBhbGxvY2F0aW5nIGEgYnVmZmVyIGR1cmluZyBzZWVraW5nLCBhbmQgdGhlbgoJICBhbGxvY2F0ZSBhIG5ldyBidWZmZXIgd2l0aCBidWZmZXJfYWxsb2MgYmVmb3JlIHdlIHB1c2ggaXQgb3V0LiBUaGlzIGVuc3VyZXMKCSAgdGhhdCBpbiBhbGwgcmVzcGVjdHMgdGhlIGZpcnN0IGJ1ZmZlciBkZWNvZGVkIGR1cmluZyBzZWVraW5nIGJlaGF2ZXMgbGlrZQoJICBhbGwgb3RoZXIgYnVmZmVycywgaW5jbHVkaW5nIGFsbG93aW5nIGRvd25zdHJlYW0gcmUtbmVnb3RpYXRpb24uCgoyMDA5LTA0LTE4IDE4OjAwOjU0ICswMjAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZG9uJ3QgdXNlIHBhZF9hbGxvYyB3aGVuIGRlY29kaW5nIHdoaWxlIHNlZWtpbmcuIEZpeGVzICM1Nzk0MjIKCjIwMDktMDUtMDYgMTM6MjI6NTEgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVmYWN0b3JlZCBnc3RfanBlZ19kZWNfcGFyc2VfaW1hZ2VfZGF0YQoJICBGaXhlcyAjNTc5ODA4CgoyMDA5LTA1LTA2IDEzOjExOjUzICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHN1cHBvcnQgYWRkaXRpb25hbCAweGZmIGJlZm9yZSBlbmQgbWFya2VyLgoJICBKUEVHIG1hcmtlcnMgbWF5IGJlIHByZWNlZGVkIGJ5IGFkZGl0aW9uYWwgMHhmZi4gIGpwZWdkZWMgc2hvdWxkCgkgIHNraXAgb3ZlciB0aGVzZSwgZXZlbiBiZWZvcmUgdGhlIGVuZCBtYXJrZXIuCgkgIFNlZSAjNTc5ODA4CgoyMDA5LTA1LTA2IDEyOjU0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IGhhbmRsZSBpbnB1dCB3aXRoIDEgcXVhbnQgdGFibGUKCSAgQWxzbyBoYW5kbGUgaW5wdXQgd2l0aCBqdXN0IG9uZSBxdWFudCB0YWJsZSwgc2ltcGx5IGR1cGxpY2F0ZSB0aGUgcXVhbnQgdGFibGUuCgkgIEhhbmRsZSBpbnZhbGlkIFNPRiBjb3JyZWN0bHkgYW5kIHNvbWUgc21hbGwgY2xlYW51cHMuCgkgIEZpeGVzICM1NzgyNTcKCjIwMDktMDQtMjkgMTU6NTg6MTAgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBieXRlIG9yZGVyIHN3YXBwaW5nIGluIDNHUFAgY2xhc3NpZmljYXRpb24gZW50aXR5IHRhZwoJICBGaXhlcyAjNTgwNzQ2LgoKMjAwOS0wNS0wNSAxNjozODoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWU6IGZpeCBjb21waWxhdGlvbiB3aXRoIExBTUUgdmVyc2lvbnMgPCAzLjk4CgkgIGxhbWVfc2V0X1ZCUl9xdWFsaXR5KCksIHdoaWNoIHRha2VzIGEgZmxvYXRpbmcgcG9pbnQgdmFsdWUgZm9yIHRoZQoJICBxdWFsaXR5LCBoYXMgYmVlbiBhZGRlZCBvbmx5IGluIHYzLjk4LiBVc2UgbGFtZV9zZXRfVkJSX3EoKSwgd2hpY2gKCSAgdGFrZXMgcXVhbGl0eSBhcyBhbiBpbnRlZ2VyLCBmb3Igb2xkZXIgTEFNRSB2ZXJzaW9ucy4KCSAgRml4ZXMgIzU4MTM0MS4KCjIwMDktMDUtMDUgMTc6MDc6MTMgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGF2b2lkIHJlYWRpbmcgZnJvbSBpbmF2bGlkIG1lbW9yeQoJICBSZWFkIHRoZSB0aW1lc3RhbXAgb2YgdGhlIGluY29tbWluZyBidWZmZXIgYmVmb3JlIHdlIHB1c2ggaXQgaW4gdGhlIGFkYXB0ZXIgYW5kCgkgIGZsdXNoIGl0IG91dCBhZ2FpbiBhcyB0aGUgYnVmZmVyIG1pZ2h0IGJlIHVucmVmZmVkIHRoZW4gYW5kIHdlIHJlYWQgZnJvbSBpbnZhbGlkCgkgIG1lbW9yeS4KCSAgRml4ZXMgIzU4MTQ0NC4KCjIwMDktMDUtMDUgMTc6MDM6MjkgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGRvbid0IGxlYWsgZHluYW1pYyBwYWRzCgkgIEZyZWUgdGhlIGR5bmFtaWMgcGFkcyBkYXRhIGluIGZpbmFsaXplLgoJICBGaXhlcyAjNTgxNDMyCgoyMDA5LTA1LTA1IDE2OjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBydHBqcGVncGF5OiBjb3JyZWN0bHkgc2V0IHRoZSB0eXBlIGhlYWRlcgoJICBEb24ndCByZXF1aXJlIHdpZHRoL2hlaWdodCBvbiB0aGUgY2Fwcy4gVXNlIHRoZSBTT0YgaGVhZGVyIHRvIGZpbmQgd2lkdGgvaGVpZ2h0CgkgIGFuZCBmYWxsIGJhY2sgdG8gdGhlIGNhcHMgaWYgdGhlcmUgaXMgbm8gU09GLiBBbHNvIHVzZSB0aGUgU09GIGluZm8gdG8gZmluZCB0aGUKCSAgc3Vic2FtcGxpbmcgYW5kIHF1YW50aXphdGlvbiB0YWJsZXMgdXNlZC4gVGhpcyBhbGxvd3MgdXMgdG8gc2V0IHRoZSByaWdodCB0eXBlCgkgIHZhbHVlIGluIHRoZSBKUEVHIHJ0cCBoZWFkZXIuCgkgIERlcHJlY2F0ZSB0aGUgcXVhbGl0eSBwcm9wZXJ0eSwgaXQncyB1bnVzZWQgbm93IGFuZCBpdCB3YXMgdXNlZCB3cm9uZ2x5IGJlZm9yZS4KCSAgQWx3YXlzIHNlbmQgZnVsbCBxdWFudCB0YWJsZXMgZm9yIG5vdyB1bnRpbCB3ZSBoYXZlIHNvbWUgY29kZSB0byBkZXRlY3QgZGVmYXVsdAoJICBvbmVzLgoJICBGaXhlcyAjNTgwODgwCgoyMDA5LTA1LTA1IDE2OjI4OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAgcnRwanBlZ2RlcGF5OiB1c2Ugd2lkdGgvaGVpZ2h0IGZyb20gcGF5bG9hZAoJICBVc2UgdGhlIHdpZHRoIGFuZCB0aGUgaGVpZ2h0IGZyb20gdGhlIHBheWxvYWQgaGVhZGVycyBhbmQgc2V0IHRoZW0gb24gdGhlCgkgIG91dHB1dCBjYXBzIGZvciBhZGRlZCBhd2Vzb21lbmVzcy4KCSAgRml4IHF1YW50IHBhcnNpbmcsIHdlIG5lZWQgdG8gY2hlY2sgdGhlIHR5cGUgaW4gdGhlIGxvd2VyIDYgYml0cy4KCSAgQWRkIGZpcnN0IGJpdHMgb2YgY2FjaGluZyBxdWFudGl6YXRpb24gdGFibGVzLgoKMjAwOS0wNS0wNSAxNjoyNDoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogc2V0IGNvbG9yc3BhY2UgYmVmb3JlIF9zZXRfZGVmYXVsdHMoKQoJICBUaGUgbGlianBlZyBhcGkgc2F5cyB0aGF0IHdlIG5lZWQgdG8gc2V0IHRoZSBjb2xvcnNwYWNlIGJlZm9yZSB3ZSBjYWxsCgkgIF9zZXRfZGVmYXVsdHMoKS4gSW5kZWVkLCBpZiB3ZSBkb24ndCBkbyB0aGF0IHdlIGVuZCB1cCB3aXRoIHNvbWUgdmVyeSBmcmVha3kKCSAgbm9uLXN0YW5kYXJkIHF1YW50IHRhYmxlIGFuZCBodWZmbWFuIHRhYmxlIGluZGV4ZXMuCgoyMDA5LTA1LTA1IDEzOjE5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZG9uJ3QgYnVpbGQgZXhhbXBsZXMgaWYgLS1kaXNhYmxlLWV4YW1wbGVzIHdhcyBwYXNzZWQgdG8gY29uZmlndXJlCgoyMDA5LTA1LTA1IDEyOjMzOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjbGVhbiB1cCBtZXNzIGFyb3VuZCBndGsrIGNoZWNraW5nCgkgIEFuZCBkb24ndCBjaGVjayBmb3IgZ3RrKyB3aGVuIGl0J3Mgbm90IG5lZWRlZCAoaWUuIGlmIGV4YW1wbGVzIGFyZSBkaXNhYmxlZCkKCjIwMDktMDUtMDUgMTI6Mjc6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgY29uZmlndXJlOiBtYWtlIGdkay1waXhidWYgcGx1Z2luIGRlcGVuZCBvbmx5IG9uIGdkay1waXhidWYsIG5vdCBndGsrCgoyMDA5LTA1LTA0IDE4OjU1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggZmluZF9zdHJlYW1fYnlfKiBmdW5jdGlvbnMKCSAgRml4IHZhcmlvdXMgdmVyc2lvbiBvZiBmaW5kX3N0cmVhbV9ieV8qIGJ5IG5vdCB0cnlpbmcgdG8gY29udmVydCBhbiBpbnQgdG8gYQoJICBwb2ludGVyIGFuZCB2aWNlIHZlcnNhLCBmb3IgcG9ydGFiaWxpdHkgcmVhc29ucy4KCSAgRml4ZXMgIzU4MTMzMwoKMjAwOS0wNS0wNCAxODozMjowNSArMDIwMCAgQ2hyaXMgV2ludGVyIDxlbHdpbnRybyBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkdW1teSBuYXQgcGFja2V0IGxvZ2ljCgkgIEZpeCBhIHR5cG8gaW4gdGhlIGR1bW15IE5BVCBwYWNrZXQgc2VuZGluZyBjb2RlLgoJICBGaXhlcyAjNTgxMzI5CgoyMDA5LTA0LTMwIDEwOjI0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgZXJyb3JzIGFmdGVyIHNlcnZlciBlb2YKCSAgU2VydmVyIGVvZiAoZS5nLiBjb25uZWN0aW9uIGNsb3NlZCkgaXMgYW5ub3VuY2VkIGFzIGNvbm5lY3Rpb24gY2xvc2VkLAoJICBzbyBiZXR0ZXIgcmVjb3JkIHN0YXRlIGFuZCBhY3QgYWNjb3JkaW5nbHkgdG8gcHJldmVudCAocmVhZC93cml0ZSkKCSAgZXJyb3JzIGR1cmluZyBzdWJzZXF1ZW50IHRlYXJkb3duL2NsZWFudXAgc2VxdWVuY2VzLiAgI0ZpeGVzIDU4MDg1MS4oYykuCgoyMDA5LTA0LTMwIDEwOjE5OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWxzbyBzZXQgYmFzZV90aW1lIG9uIHNyYyBhZnRlciBmbHVzaAoJICB0aW1lc3RhbXBzIGZvbGxvd2luZyBmbHVzaC9zZWVrIHNob3VsZCBiZSBjb25zaXN0ZW50IGJldHdlZW4KCSAgVURQIGFuZCBUQ1AgaW50ZXJsZWF2ZWQgY2FzZS4gIEZpeGVzICM1ODA4NTEuKGIpLgoKMjAwOS0wNC0zMCAxMDoxNzoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNhbml0eSBjaGVja3Mgb24gcmFuZ2UgaW5mbwoJICBBIG1heCByYW5nZSB0aGF0IG92ZXJmbG93cyBzaG91bGQgbm90IGJlIHRydXN0ZWQsCgkgIG5vciBzaG91bGQgYSBtYXggcmFuZ2UgdGhhdCBlcXVhbHMgdGhlIG1pbiByYW5nZS4KCSAgRml4ZXMgIzU4MDg1MS4oYSkuCgoyMDA5LTA1LTA0IDE2OjE2OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHVzZSBTS0lQIGZsYWcgdG8gdXNlIFNDQUxFIGhlYWRlcnMKCSAgV2UgY2FuIHVzZSB0aGUgU0tJUCBzZWVrIGZsYWcgdG8gaW5zdHJ1Y3QgdGhlIHNlcnZlciB0byBzZW5kIGRhdGEgZmFzdGVyIHRoZW4KCSAgbm9ybWFsIGJ1dCB3aXRoIHRoZSBzYW1lIGJhbmR3aWR0aC4KCSAgRml4ZXMgIzUzNzYwOQoKMjAwOS0wNS0wNCAxNDoxOToyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IG1ha2Ugc3BlZXhfZGVjX2NvbnZlcnQgd29yayB3aXRoIHNhbWUtZm9ybWF0IHZhbHVlcyB3aGVuIG5vIGRhdGEgaGFzIGJlZW4gZGVjb2RlZC4KCjIwMDktMDUtMDQgMTI6NTE6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lbXAzZW5jOiBBZGQgYSBub3RlIHRvIHRoZSBlbmNvZGluZy1lbmdpbmUtcXVhbGl0eSBwcm9wZXJ0eQoJICB0aGF0IHNheXMsIHRoYXQgdGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGJpdHJhdGUgYXQgYWxsLgoKMjAwOS0wNS0wNCAxMjo0ODo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZTogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6NDc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJICB0d29sYW1lOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjo0Mzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjQxOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6NDA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozNToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGJpbmFyeSBzZWFyY2ggZm9yIGluZGV4CgkgIFVzZSB0aGUgbmV3IGJpbmFyeSBzZWFyY2ggbWV0aG9kIGZvciBmaW5kaW5nIHRoZSByaWdodCBpbmRleCBlbnRyeSBmYXN0ZXIuCgoyMDA5LTA1LTA0IDExOjI2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBkcmF3IHRoZSBjb21wbGV0ZSBVIGFuZCBWIHBsYW5lcwoJICBSb3VuZCB1cCB0aGUgc2NhbGVkIFUgYW5kIFYgd2lkdGggYW5kIGhlaWdodCBzbyB0aGF0IHdlIGFsd2F5cyBkcmF3IHRoZSBjb3JyZWN0CgkgIGFtb3VudCBvZiBwaXhlbHMgdG8gZmlsbCB0aGUgY29tcGxldGUgaW1hZ2UuCgkgIEZpeGVzICM1Njk2MTEKCjIwMDktMDQtMzAgMTA6MjE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmg6CgkgIGxhbWVtcDNlbmM6IFJlbW92ZSBmYXN0LXZiciBwcm9wZXJ0eSBhbmQgcmVuYW1lIHZici1xdWFsaXR5IHRvIHF1YWxpdHkKCjIwMDktMDQtMzAgMTA6MTY6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWUvbGFtZW1wM2VuYzogRml4IG1lbW9yeSBsZWFrIG9uIEZMVVNIX1NUT1AKCjIwMDktMDQtMzAgMTA6MTQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBsYW1lOiBEZXByZWNhdGUgdGhlIGxhbWUgZWxlbWVudAoKMjAwOS0wNC0zMCAxMDoxMDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWU6IFVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lcyB3aXRoIHRoZSBuZXcgcHJvcGVydGllcwoKMjAwOS0wNC0yOSAxOTowMTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuaDoKCSogZXh0L2xhbWUvcGx1Z2luLmM6CgkgIGxhbWU6IEFkZCBsYW1lbXAzZW5jIGVsZW1lbnQgd2l0aCBtdWNoIHNpbXBsaWZpZWQgaW50ZXJmYWNlCgkgIFRoaXMgZGVwcmVjYXRlcyB0aGUgbGFtZSBlbGVtZW50IGFuZCBmaXhlcyBidWcgIzQ5NDUyOC4KCjIwMDktMDUtMDEgMTk6MzU6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzb21lIG1vcmUgbWljcm8gb3B0aW1pc2F0aW9ucwoKMjAwOS0wNC0zMCAxODo0MTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogbWljcm8gb3B0aW1pemUgcXRkZW11eCBhIGxpdHRsZQoJICBTcHJpbmtsZSBzb21lIEdfTElLRUxZIGFyb3VuZC4KCSAgQXZvaWQgdHJhdmVyc2luZyBhbmQgZHVtcGluZyB0aGUgdHJlZSB3aGVuIGRlYnVnZ2luZyBpcyBub3QgYWN0aXZhdGVkLgoKMjAwOS0wNC0zMCAxNDoyMjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3Igc3VidGl0bGUgcGljdHVyZXMKCSAgQWRkIHN1cHBvcnQgZm9yIHN1YnRpdGxlIHBpY3R1cmVzLgoJICBGaXhlcyAjNTY4Mjc4LgoKMjAwOS0wNC0zMCAxMDozMjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBtYWtlIHN1cmUgd2UgYWx3YXlzIHNpZ25hbCB3YWl0ZXJzCgkgIEFsd2F5cyBzaWduYWwgdGhlIHdhaXRlcnMgaW4gdGhlIGFzeW5jIGNhbGxiYWNrcy4gRXNwZWNpYWxseSBmb3IgdGhlIHZvbHVtZQoJICBjYWxsYmFja3Mgc2luY2UgdGhpcyBtaWdodCBjYXVzZSBkZWFkbG9ja3MuCgoyMDA5LTA0LTI5IDE4OjA5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZWxlYXNlIHN0YXRlIGxvY2sgYmVmb3JlIHN0b3BwaW5nIHRhc2sKCSAgV2UgbmVlZCB0byByZWxlYXNlIHRoZSBzdGF0ZSBsb2NrIGJlZm9yZSB0cnlpbmcgdG8gd2FpdCBmb3IgdGhlIHRhc2sgdG8gZW5kCgkgIGJlY2F1c2UgdGhlIHRhc2sgbWlnaHQgYWxzbyB0YWtlIHRoZSBsb2NrLgoJICBGaXhlcyAjNTc3NjcxCgoyMDA5LTA0LTI5IDEyOjE5OjI3ICswMjAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlIGF0IGZlZG9yYXByb2plY3Qub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgYWMtMyBhdWRpbwoJICBmaXggZGVtdXhpbmcgb2YgbTR2IHN0cmVhbXMgd2l0aCBhYy0zIGF1ZGlvCgkgIEZpeGVzICM1ODA1NTQKCjIwMDktMDQtMjkgMTE6MTI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBVc2UgdGhlIHRhZyBtZXJnZSBtb2RlIHRoYXQgd2FzIHNldCBvbiB0aGUgaW50ZXJmYWNlIGZvciBtZXJnaW5nIHRhZyBldmVudHMKCjIwMDktMDQtMjUgMDk6NDM6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBnZXRhZGRyaW5mbyBlcnJvciByZXBvcnRpbmcKCSAgZ2V0YWRkcmluZm8gZXJyb3JzIHNob3VsZCBiZSByZXBvcnRlZCB3aXRoIGdhaV9zdHJlcnJvciBpbnN0ZWFkIG9mIGVycm5vIGFzCgkgIHNwb3R0ZWQgYnkgTWlrZVMuCgoyMDA5LTA0LTI3IDEwOjA4OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIGc3MjZwYXk6IGZpeCBjb21waWxhdGlvbgoKMjAwOS0wNC0yNyAxMDowMjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSAgZzcyNnBheTogYWRkIFJGQyBjb21wbGlhbnQgcGFja2V0aXppbmcKCSAgU2h1ZmZsZSB0aGUgaW5wdXQgYml0cyBhY2NvcmRpbmcgdG8gUkZDIDM1NTEgZm9yIEc3MjYgcGF5bG9hZHMuCgkgIEFkZCBvcHRpb24gdG8gZm9yY2UgdGhlIHByZXZpb3VzIGJlaGF2aW91ci4KCSAgRml4ZXMgIzU2NzE0MAoKMjAwOS0wNC0yNyAwOTo1OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkgIGc3MjZkZXBheTogYWRkIGRlYnVnIGNhdGVnb3J5CgkgIEFkZCBhIGRlYnVnZ2luZyBjYXRlZ29yeSwgYWRkIHNvbWUgY29tbWVudHMgYW5kIHJlbW92ZSBfcGVla19wYXJlbnQoKS4KCjIwMDktMDQtMjYgMTU6NTk6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBpZDN2Mm11eDogd2UgbmVlZCB0YWdsaWIgMS41IGZvciBJRDN2Mjo6UmVsYXRpdmVWb2x1bWVGcmFtZTo6c2V0SWRlbnRpZmljYXRpb24KCSAgQnVtcCB0YWdsaWIgcmVxdWlyZW1lbnQuCgoyMDA5LTA0LTI0IDAyOjExOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2ZpbGVzL2lkMy01Nzc0NjgtdW5zeW5jZWQtdGFnLnRhZzoKCSAgaWQzZGVtdXg6IGFkZCB1bml0IHRlc3QgZmlsZSBmb3IgdW5zeW5jZWQgaWQzIHRhZ3MKCjIwMDktMDQtMjQgMDE6NTE6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IHBhcnNlIHVuc3luY2hyb25pc2VkIHRhZ3MgcHJvcGVybHkKCSAgV2UgZGlkbid0IGhhbmRsZSB1bnN5bmNocm9uaXphdGlvbiBhdCBhbGwgdXAgdG8gbm93LCB3aGljaCBtaWdodCBoYXZlCgkgIGNhdXNlZCBmcmFtZXMgdG8gbm90IGJlIGV4dHJhY3RlZCAtIGVzcC4gZnJhbWVzIGFmdGVyIGFuIEFQSUMgcGljdHVyZQoJICBmcmFtZS4gRml4ZXMgIzU3NzQ2OC4KCjIwMDktMDQtMjQgMDE6MDE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IHBhc3MgdGhlIHJpZ2h0IHNpemUgdmFsdWUgZm9yIHNpemUgb2YgYWxsIGZyYW1lcyB0byB0aGUgcGFyc2VyCgkgIEZyYW1lIGRhdGEgc2l6ZSBpcyB0YWcgc2l6ZSBhZGp1c3RlZCBmb3Igc2l6ZSBvZiB0aGUgdGFnIGhlYWRlciBhbmQKCSAgZm9vdGVyLCBub3QgdGFnIHNpemUgaW5jbHVkaW5nIGhlYWRlciBhbmQgZm9vdGVyLgoKMjAwOS0wNC0yMiAxNToyNDo1NSArMDIwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sucmFkaXppIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc29tZSBtb3JlIHBhZCBsZWFrcwoJICBGaXggc29tZSBwYWQgbGVha3MuCgkgIFNlZSAjNTc3MzE4LgoKMjAwOS0wNC0yMSAyMjoxMjo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzk0MWVhIHRvIDZhYjExZDEKCjIwMDktMDQtMjEgMTQ6MDI6MDEgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvdmVycmlkZSBjYXBzIGJhc2VkIG9uIGRhdGEgZnJvbSBFU0RTIGF0b21zIGluIG1wZWc0LgoJICBJZiB0aGUgY29kZWMgaXMgYWN0dWFsbHkgc29tZXRoaW5nIGVsc2UgKGUuZy4gbWpwZWcpIGNoYW5nZSB0aGUgY2FwcyB0bwoJICBtYXRjaCB3aGVuIHBhcnNpbmcgdGhlIEVTRFMgYXRvbS4KCSAgQWxzbywgZm9yIEFBQywgb3ZlcnJpZGUgcmF0ZSBhbmQgY2hhbm5lbHMgd2l0aCBjb3JyZWN0IHZhbHVlcyByZWFkIGZyb20KCSAgRVNEUywgc2luY2UgdGhlIHJhdGUvY2hhbm5lbHMgdmFsdWVzIGVsc2V3aGVyZSBhcmUgb2Z0ZW4gd3JvbmcuCgoyMDA5LTA0LTIwIDE5OjMyOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHdhcm5pbmcgZm9yIHN0aWxsIGltYWdlcyBieSBub3QgdHJ5aW5nIHRvIGRpdmlkZSBieSAwCgkgIERvbid0IHBhc3MgYSAwIGRpdmlzb3IgdG8gZ3N0X3V0aWxfdWludDY0X3NjYWxlKCksIG9yIGl0IHdpbGwgY29tcGxhaW4KCSAgaW4gdGhlIHNpbmdsZSBpbWFnZSBjYXNlIHdoZXJlIGZwcz0wLzEgKGFyZSB3ZSBzdXBwb3NlZCB0byBkaWZmZXJlbnRpYXRlCgkgIGJldHdlZW4gbm8gZnBzPXN0aWxsIGltYWdlIGFuZCBmcHM9MC8xPXZhcmlhYmxlIHJhdGUgaGVyZSBidHc/KQoKMjAwOS0wNC0yMCAxNzoyNTozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IEZpeCBhIHNpbXBsZSB0eXBvIGluIHRoZSBwcmV2aW91cyBjb21taXQKCSAgVXNlICNpZmRlZiBpbnN0ZWFkIG9mICNpZiwgdG8gZml4IHRoZSBidWlsZAoKMjAwOS0wNC0yMCAxNTo0ODoyMSArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ad2luZ29tYWMuYmNuLm9ibG9uZy5uZXQ+CgoJICBmaXggZm9ybWF0IHN0cmluZyBpbiBwbmdkZWMKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBGaXggc2l6ZV90IHZzIHVuc2lnbmVkIGludCBmb3JtYXQgaW4gZXJyb3IgbWVzc2FnZS4KCjIwMDktMDQtMjAgMTU6NDY6MDMgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQHdpbmdvbWFjLmJjbi5vYmxvbmcubmV0PgoKCSAgb25seSB1c2Ugc3RydWN0IGlwX21yZXFuIGlmIGl0IGlzIGRldGVjdGVkCgkgICogY29uZmlndXJlLmFjOiBNYWtlIGFuIGV4cGxpY2l0IGNoZWNrIGZvciBzdHJ1Y3QgaXBfbXJlcW4uCgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiBVc2UgSEFWRV9JUF9NUkVRTiBpbnN0ZWFkIG9mIHRoZSBhZC1ob2MgY2hlY2tzLgoKMjAwOS0wNC0yMCAxMzo0NTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEZpeCBwdXNoIG1vZGUgYnVmZmVyaW5nIHNhbml0eSBjaGVjayB0byBhY3R1YWxseSBmaXQgdGhlIGRlc2NyaXB0aW9uLgoKMjAwOS0wNC0xOSAxNDowMzozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzoKCSAgdHdvbGFtZTogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlLCB2YWx1ZSBhc3NpZ25lZCB3YXMgbmV2ZXIgcmVhZC4KCjIwMDktMDQtMTkgMTQ6MDI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGxhbWU6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZSwgaXQncyBhc3NpZ25lZCBhIHZhbHVlIG5ldmVyIHJlYWQuCgoyMDA5LTA0LTE4IDE5OjExOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEFuZCBsZXQncyBub3QgZm9yZ2V0IHRvIHJlbW92ZSB0aGUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNC0xOCAxODo1MDozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cywgdGhlIHZhcmlhYmxlcyBhcmUgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVGhlIHZhbHVlIGlzIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ4OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LgoJICB0IGlzIGJlaW5nIG92ZXJ3cml0dGVuIGFmdGVyLCBiZWZvcmUgaXQncyB1c2VkLgoKMjAwOS0wNC0xOCAxODo0ODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgcnRwYW1yZGVwYXk6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZSwgdGhlIHZhbHVlIGlzIG9ubHkgcmVhZCBvbmNlLgoKMjAwOS0wNC0xOCAxODo0NzowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cGFtcnBheTogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlLCB0aGUgdmFsdWUgaXMgb25seSByZWFkIG9uY2UuCgoyMDA5LTA0LTE4IDE4OjQ2OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJICBnb29tL2ZpbHRlcnM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFZhbHVlIG92ZXJ3cml0dGVuIGp1c3QgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ1OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBWYWx1ZSBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0NTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVmFsdWUgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDM6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLCBpdCdzIG5ldmVyIGJlaW5nIHJlYWQuCgoyMDA5LTA0LTE4IDE4OjQyOjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiAncmVzJyBpc24ndCByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0MTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4gJ3JlcycgaXMgbmV2ZXIgcmVhZC4KCjIwMDktMDQtMTggMTg6NDA6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSBkZWFkIHZhcmlhYmxlLiAnc3RyZWFtJyBpcyBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODozOTo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlYm94OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cy4KCSAgVGhlc2UgdmFyaWFibGVzIGFyZSBuZXZlciByZWFkIGFmdGVyIHRoaXMgcG9pbnQuCgoyMDA5LTA0LTE4IDE4OjM4OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgZ29vbTogZmYgYW5kIGlmZiBhcmUgb25seSB1c2VkIGluIGEgJyNpZmRlZiBEUkFXX01PVElGJyBibG9jay4KCjIwMDktMDQtMTggMTg6MzQ6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuCgkgIHJlcyBpc24ndCByZWFkIGFmdGVyIHRoaXMuCgoyMDA5LTA0LTE4IDE4OjMyOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cywgbW92ZSB2YXJpYWJsZSB0byB3aGVyZSBpdCdzIG5lZWRlZC4KCSAgVGhlIGhlYWRlcl9yZWFkX2Vycm9yIGxhYmVsIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SCgoyMDA5LTA0LTE4IDE4OjIxOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LgoJICBUaGUgdmFsdWUgb2YgJ3N0cicgd2lsbCBuZXZlciBiZSB1c2VkIGluIHRoZXNlIGNhc2VzLgoKMjAwOS0wNC0xOCAxODoxOToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZS4KCSAgaXJldCB3YXMgbmV2ZXIgcmVhZCBvdXRzaWRlIG9mIHRoYXQgbG9vcCwgYW5kIGlzIGFsd2F5cyBiZWluZyBleGl0ZWQgaWYKCSAgaXJldCB3YXMgIT0gR1NUX0ZMT1dfT0sgYW55d2F5LgoKMjAwOS0wNC0xOCAxODoxNzozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IE1vdmUgJ3JlcycgdG8gd2hlcmUgaXQncyBhY3R1YWxseSBiZWluZyB1c2VkLgoJICByZXMgd2FzIG5ldmVyIHVzZWQgb3V0c2lkZSBvZiB0aGF0IGJsb2NrIGV4Y2VwdCBmb3IgYSBkZWFkIGFzc2lnbm1lbnQuCgoyMDA5LTA0LTE4IDE4OjE2OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICBhdWRpb2Z4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoJICByeiBpcyBuZXZlciB1c2VkIGluIHRoZXNlIG1ldGhvZHMuCgoyMDA5LTA0LTE4IDE4OjE1OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4cmluZ2J1ZmZlcjogUnVuIGdzdC1pbmRlbnQuCgoyMDA5LTA0LTE4IDE4OjE0OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cy4KCSAgVGhvc2UgdmFyaWFibGVzIGFyZSBub3QgcmVhZCBhZnRlciB0aGF0IHBvaW50LgoKMjAwOS0wNC0xOCAxODoxMTowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9wYWludC5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBSZW1vdmUgdHJpdmlhbCB1bnVzZWQgdmFyaWFibGVzIGRldGVjdGVkIGJ5IENMYW5nIHN0YXRpYyBhbmFseXplci4KCjIwMDktMDQtMTggMTc6NTI6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgUmVtb3ZlIGJsYW5rIHtzZXR8Z2V0fV9wcm9wZXJ0eS9jaGFuZ2Vfc3RhdGUvZmluYWxpemUgbWV0aG9kcy4KCjIwMDktMDQtMTggMTc6NDI6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgaW4gX2NsYXNzX2luaXQKCSAgRGV0ZWN0ZWQgYnkgTExWTSdzIENMYW5nIHN0YXRpYyBhbmFseXplcgoKMjAwOS0wNC0xOCAxMzo1NDowOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2s6IENoZWNrIHdoZXRoZXIgdGhyZWFkcyBhcmUgYWxyZWFkeSBpbml0aWFsaXNlZCBiZWZvcmUgZ190aHJlYWRfaW5pdCgpCgoyMDA5LTA0LTE4IDE0OjMyOjQwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcmsgZGlzY29udCBvbiB0aGUgc3RyZWFtcyBhcyB3YXMgc2FpZCB0aGUgZGVidWcgbGluZQoJICBBZnRlciBhIHNlZWsgbWFyayBhbGwgc3RyZWFtcyB3aXRoIGRpc2NvbnQgYXMgaXQgd2FzIHNhaWQgaW4gdGhlIGRlYnVnIGxpbmUuCgkgIEZpeGVzIHRoYXQgYnVmZmVycyBhZnRlciBhIHNlZWsgYXJlIGdlbmVyYXRlZCB3aXRob3V0IGEgdmFsaWQgdGltZXN0YW1wLgoKMjAwOS0wNC0xOCAwODo0NToxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXAgR1NUX1JUU1BfRUVPRiB0byBFT1Mgb24gc2VydmVyIHJlcXVlc3RzCgkgIFBlcm1pdCBwcm9wZXJseSBoYW5kbGUgdGhlIEVPUyBjb25kaXRpb24gd2hlbiBzZXJ2ZXIgcmVwb3J0IGl0IGluIGEgcmVxdWVzdC4KCjIwMDktMDQtMTggMDg6Mzk6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiB1LgoKMjAwOS0wNC0xNiAyMjo1MDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggc2FtcGxlIG9mZnNldCBjYWxjdWxhdGlvbiBhZ2FpbgoKMjAwOS0wNC0xNSAxOTozMjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgc3VuYXVkaW86IGZpeCBicm9rZW4gaW5kZW50YXRpb24gb2YgdmFyaWFibGUgZGVjbGFyYXRpb25zCgoyMDA5LTA0LTE1IDE5OjI4OjUzICswMTAwICBKYW1lcyBBbmRyZXdhcnRoYSA8dHJzODBAdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICBzdW5hdWRpbzogcmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBhbmQgZ290byBsYWJlbHMKCSAgRml4ZXMgIzU3OTA3MC4KCjIwMDktMDQtMTUgMTk6MjQ6NDkgKzAyMDAgIEphbWVzIEFuZHJld2FydGhhIDx0cnM4MCBhdCB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogZml4IGNvbXBpbGF0aW9uIG9uIGJpZy1lbmRpYW4KCSAgU29tZSBzZW1pY29sb25zIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBiaWctZW5kaWFuIHN0cnVjdHMgaW4gZ3N0cnRwaDI2M3BheS5oLgoJICBBIEdTVF9ERUJVRyBjYWxsIHdhcyBtaXNzaW5nIGEgZm9ybWF0IHNwZWNpZmllci4KCSAgRml4ZXMgIzU3OTA2OQoKMjAwOS0wNC0xNSAyMDoxMDowNCArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICBxdGRlbXV4OiBpbXBsZW1lbnQgM0dQUCAoVFMgMjYuMjQ0IFY4LjAuMCkgQXNzZXQgbWV0YWRhdGEgaGFuZGxpbmcsIEZpeGVzICMxMzIxOTMKCSAgSW1wbGVtZW50cyAzZ3BwIGlzbyBtZXRhZGF0YSB0YWdzIHdoaWNoIGFyZSBkaWZmZXJlbnQgZnJvbSBtb3YgdWR0YSBhdG9tcy4KCjIwMDktMDQtMTUgMTU6NTE6MjQgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmg6CgkgIGRlYnVndXRpbHM6IFVzZSBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xTLgoJICBVc2UgR19CRUdJTl9ERUNMUy9HX0VORF9ERUNMUyB0byBhdm9pZCBnc3QtaW5kZW50IG1lc3NpbmcgdXAgdGhlCgkgIGluZGVudGF0aW9uIGR1ZSB0byBleHRlcm4gIkMiIHsgfS4KCjIwMDktMDQtMTUgMTY6MDM6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWcudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL25hdmlnYXRpb250ZXN0LnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmg6CgkgIGRlYnVnOiByZW5hbWUgZGVidWcgdG8gZGVidWd1dGlscyB0byBhdm9pZCBjbGFzaCB3aXRoIC0tZGlzYWJsZS1kZWJ1Zy4gRml4ZXMgIzU2MjE2OAoKMjAwOS0wNC0xNSAxNTo0MzowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJKiBnc3QvZGVidWcvZWZlbmNlLmg6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuaDoKCSogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5oOgoJKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVnL3Rlc3RzLmg6CgkgIGRlYnVnOiBpbmRlbnQgYmVmb3JlIHJlbmFtaW5nCgoyMDA5LTA0LTE1IDE0OjA3OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgZzcyNmRlcGF5OiBhZGQgcHJvcGVydHkgZm9yIGFhbDIgZm9yY2UKCjIwMDktMDQtMTUgMTM6NTY6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+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+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgbTQgZGlyZWN0b3J5CgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTA5LTAyIDA5OjU2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBFbmFibGUvZml4IHVwIHRyYW5zbGF0aW9ucyBmb3IgdGhlc2UgcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBFbmFibGUvZml4IHVwIHRyYW5zbGF0aW9ucyBmb3IgdGhlc2UgcGx1Z2lucy4KCSAgKiBwby9MSU5HVUFTOgoJICBBZGQgJ2NhJyB0byBMSU5HVUFTLgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCBtb3JlIGZpbGVzIGZvciB0cmFuc2xhdGlvbiBhbmQgbW9yZSBmaWxlcyB3aGljaCB0b29scwoJICBzaG91bGQgc2tpcC4KCjIwMDgtMDgtMDcgMTQ6MzQ6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS4qOiBBbGxvdyByYXcgZmxvYXQgc2FtcGxlcyBhcyBpbnB1dCBmb3IgZW5jb2RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKGdzdF90d29fbGFtZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3R3b19sYW1lX2NoYWluKToKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmg6CgkgIEFsbG93IHJhdyBmbG9hdCBzYW1wbGVzIGFzIGlucHV0IGZvciBlbmNvZGluZy4KCjIwMDgtMDgtMDIgMTc6Mzk6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gQWRkIFR3b0xBTUUgTVAyIGVuY29kaW5nIGVsZW1lbnQsIGJhc2VkIG9uIHRoZSBMQU1FIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAoZ3N0X3R3b19sYW1lX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3R3b19sYW1lX3BhZGRpbmdfZ2V0X3R5cGUpLCAoZ3N0X3R3b19sYW1lX2VtcGhhc2lzX2dldF90eXBlKSwKCSAgKGdzdF90d29fbGFtZV9yZWxlYXNlX21lbW9yeSksIChnc3RfdHdvX2xhbWVfZmluYWxpemUpLAoJICAoZ3N0X3R3b19sYW1lX2Jhc2VfaW5pdCksIChnc3RfdHdvX2xhbWVfY2xhc3NfaW5pdCksCgkgIChnc3RfdHdvX2xhbWVfc3JjX3NldGNhcHMpLCAoZ3N0X3R3b19sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdHdvX2xhbWVfaW5pdCksIChnc3RfdHdvX2xhbWVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF90d29fbGFtZV9nZXRfcHJvcGVydHkpLCAoZ3N0X3R3b19sYW1lX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3R3b19sYW1lX2NoYWluKSwgKGdzdF90d29fbGFtZV9zZXR1cCksCgkgIChnc3RfdHdvX2xhbWVfY2hhbmdlX3N0YXRlKSwgKGdzdF90d29fbGFtZV9nZXRfZGVmYXVsdF9zZXR0aW5ncyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJICBBZGQgVHdvTEFNRSBNUDIgZW5jb2RpbmcgZWxlbWVudCwgYmFzZWQgb24gdGhlIExBTUUgZWxlbWVudC4KCjIwMDktMDMtMDkgMjM6MTI6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzAzMjE2MyB0byBmOGIzZDkxCgoyMDA5LTAzLTA5IDE4OjA3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICB2b3JiaXNkZXBheTogZml4IHNvbWUgbGVha3MKCSAgQW5kIGxlYWsgdGhlIGNvZGVib29rcy4KCSAgVXNlIGdsaWIgYmFzZTY0IGRlY29kZXJzLgoJICBVc2Ugc3ViYnVmZmVycyB0byBhdm9pZCBhIG1lbWNweSBvZiB0aGUgaGVhZGVycy4KCjIwMDktMDMtMDkgMTc6MTQ6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZG9uJ3QgbG9zZSB0aGUgZmlyc3QgYnVmZmVyIGFmdGVyIGEgc2VlawoJICBUaGUgZmxhY2RlYyBBUEkgY2FsbHMgdGhlIHdyaXRlIGNhbGxiYWNrIHdoZW4gcGVyZm9ybWluZyBhIHNlZWsuIFdlIGNhbm5vdCB5ZXQKCSAgcHVzaCBvdXQgYSBidWZmZXIgYXQgdGhhdCB0aW1lIHNvIHdlIG11c3Qga2VlcCBpdCBhbmQgcHVzaCBpdCBvdXQgbGF0ZXIuCgkgIEZsdXNoIG91dCB0aGUgdXBzdHJlYW0gcGFydCBvZiB0aGUgcGlwZWxpbmUgd2hlbiBkb2luZyBhIHNlZWsuCgkgIEZpeGVzICM1NzQyNzUuCgoyMDA5LTAzLTA5IDE1OjIwOjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzYW5pdGl6ZSB0YWcgbmFtZXMKCSAgU2FuaXRpemUgdGhlIHRhZyBuYW1lcyBiZWZvcmUgdHVybmluZyB0aGVtIGludG8gYSBzdHJ1Y3R1cmUgbmFtZS4gV2UgY2FuIG9ubHkKCSAgYWRkIGFscGhhbnVtZXJpYyB2YWx1ZXMgYXMgdGhlIHN0cnVjdHVyZSBuYW1lLgoKMjAwOS0wMy0wOCAxMjowNDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZmYTczOGQgdG8gNzAzMjE2MwoKMjAwOS0wMy0wOCAxMToxOTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNmMTNlNGUgdG8gZmZhNzM4ZAoKMjAwOS0wMy0wNyAxMTo0NTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjNzQ1NmIgdG8gM2YxM2U0ZQoKMjAwOS0wMy0wNyAxMDo0NTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3YzgzZjIgdG8gM2M3NDU2YgoKMjAwOS0wMy0wNiAyMTo1NjoyNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBmaXggcGFkcywgc28gdGhhdCB0aGV5IGFyZSBzdWJzZXQgb2YgdGVtcGxhdGUgY2FwcwoJICBEbyBub3QgYWRkIHc9MCB8IGg9MC4gV2hlbiB3ZSBjYW4ndCBnZXQgYSBmcmFtZXJhdGUgYWRkIGZyYWN0aW9uIHJhbmdlLgoKMjAwOS0wMy0wNSAxNDowODoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmaXggcmFuZ2UgcGFyc2luZwoJICBGaXggcGFyc2luZyBvZiB0aGUgcmFuZ2UgaGVhZGVycy4KCjIwMDktMDItMTAgMTc6MjA6NTcgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkgIE1vdmUgc2lyZW4gcnRwIHBheS9kZXBheSBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0CgoyMDA5LTAzLTA0IDE2OjI1OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gY2xvc2UKCSAgQ2xvc2UgdGhlIGNvbm5lY3Rpb24gZXZlbiB3aGVuIHdlIGZhaWwgdG8gc2VuZCB0aGUgdGVhcmRvd24gbWVzc2FnZS4KCSAgVXNlIHRoZSBjb25uZWN0aW9uIHVybCAod2hpY2ggaXMgYSBjb3B5IG9mIHRoZSBzcmMgdXJsKS4KCjIwMDktMDMtMDQgMTY6MTU6MDUgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBnc3QtcGx1Z2lucy1nb29kLnN1cHAgbmVlZHMgdG8gYmUgZGlzdHJpYnV0ZWQuCgoyMDA5LTAzLTA0IDEyOjI5OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZG8tcnRjcCBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoJICAtLS0KCjIwMDktMDMtMDMgMTI6MjA6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogRXhwb3NlIHRoZSBTb3VwU2Vzc2lvbiAndGltZW91dCcgcHJvcGVydHkuCgoyMDA5LTAzLTAyIDE1OjA3OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIHRoZSBtNC8gZGlyZWN0b3J5CgoyMDA5LTAzLTAyIDE3OjE4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IEFkZCBzdXBwb3J0IGZvciBtb3JlIGZvcm1hdHMKCSAgSGFjayBhcm91bmQgc2hvcnQgaGVhZGVyIG1wZWc0IHZpZGVvIGZpbGVzIGFuZCBwdXQgdGhlIHNob3J0IGhlYWRlciBhcyB0aGUKCSAgY29uZmlnIHN0cmluZy4KCSAgRml4ZXMgIzU3MjU1MS4KCjIwMDktMDMtMDIgMTY6MDg6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzdXBwb3J0IGZvciBodHRwIHR1bm5lbGluZwoJICBBZGQgc3VwcG9ydCBmb3IgaHR0cCB0dW5uZWxpbmcgYW5kIGEgbmV3IHJ0c3BoOi8vIHVyaSBmb3IgaXQuCgkgIFNlZSAjNTczMTczLgoKMjAwOS0wMy0wMiAwOTo0MzozMCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly90aG9tYXN2c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZAoKMjAwOS0wMy0wMiAwODo0MToxNSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgQWRkL2NsYXJpZnkvZml4IHNvbWUgbG9nZ2luZy4KCjIwMDktMDMtMDEgMTI6NDc6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBoYXJkY29kZWQgZGVmaW5pdGlvbiBvZiBPQkpDCgoyMDA5LTAzLTAxIDE5OjU1OjI2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBXYWl0IGZvciBhIGZyYW1lIHRvIGJlY29tZSBhdmFpbGFibGUgYmVmb3JlIGNhcHR1cmluZyBpdAoJICBVc2UgR3N0UG9sbCB0byB3YWl0IGZvciB0aGUgZmQgb2YgdGhlIHZpZGVvIGRldmljZSB0byBiZWNvbWUgcmVhZGFibGUgYmVmb3JlCgkgIHRyeWluZyB0byBjYXB0dXJlIGEgZnJhbWUuIFRoaXMgc3BlZWRzIHVwIHN0b3BwaW5nIHY0bDJzcmMgYSBsb3QgYXMgaXQgbm8KCSAgbG9uZ2VyIGhhcyB0byB3YWl0IGZvciB0aGUgbmV4dCBmcmFtZSwgZXNwZWNpYWxseSB3aGVuIGNhcHR1cmluZyB3aXRoIGxvdwoJICBmcmFtZXJhdGVzIG9yIHdoZW4gdGhlIHZpZGVvIGRldmljZSBqdXN0IG5ldmVyIGdlbmVyYXRlcyBhIGZyYW1lICh3aGljaCBzZWVtcyBhCgkgIGNvbW1vbiBpc3N1ZSBmb3IgdXZjdmlkZW8gZGV2aWNlcykKCSAgRml4ZXMgYnVnICM1NjM1NzQuCgoyMDA5LTAyLTE0IDE3OjU2OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgYWxhd2RlYywgbXVsYXdkZWM6IGRlbW90ZSBzb21lIGRlYnVnIG1lc3NhZ2VzIGZyb20gRVJST1IgdG8gV0FSTklORyBvciBERUJVRwoJICBOb24tb2sgZmxvdyByZXR1cm5zIG1heSBoYXBwZW4gZm9yIGEgdmFyaWV0eSBvZiBwZXJmZWN0bHkgbGVnaXRpbWF0ZSBhbmQgZXhwZWN0ZWQgcmVhc29ucwoJICAodGVtcG9yYXJpbHkgbm90IGxpbmtlZCwgc2Vla2luZywgcGlwZWxpbmUgc2h1dGRvd24pLCBzbyB3ZSByZWFsbHkgc2hvdWxkbid0IHNwZXcgRVJST1IKCSAgZGVidWcgbWVzc2FnZXMgdG8gc3RkZXJyIGluIHRob3NlIGNhc2VzLiBGaXhlcyAjNTcwNzgxLiAoU2VlbXMgbGlrZSBzb21lb25lIGFscmVhZHkgdG9vawoJICBjYXJlIG9mIHNvbWUgb2YgdGhlc2UuKQoKMjAwOS0wMi0yOCAxNToyNjowMCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBJbXByb3ZlIGxvZyBtZXNzYWdlIGZvciBwZWFrIHZhbHVlcyA+MS4wIGJ5IGNsYW1waW5nIGV4cGxpY2l0bHkuCgoyMDA5LTAyLTI3IDIzOjI1OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBGaXggdGhlIGZpZWxkIGRvbWluYW5jZQoJICBQQUwgaXMgVEZGLCBOVFNDIGlzIEJGRi4gIFNvbWUgZGF5IEkgd2lsbCBsZWFybiB0byBrZWVwIHRoaXMKCSAgc3RyYWlnaHQuCgoyMDA5LTAyLTI3IDIwOjQwOjMxICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEZpeCB0eXBlIG1pc21hdGNoZXMKCSAgRml4ZXMgYnVnICM1NzMzNDMuCgoyMDA5LTAyLTI3IDIwOjI4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZAoKMjAwOS0wMi0yNyAyMDoyNDo1MyArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBEb24ndCBzZXQgZXJybm8gdG8gRUFGTk9TVVBQT1JUIHVuY29uZGl0aW9uYWxseQoJICBGaXhlcyBidWcgIzU3MzM0Mi4KCjIwMDktMDItMjcgMTE6MTc6NTAgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IGlnbm9yZSBvdXQtb2YtcmFuZ2UgcGVhayB2YWx1ZXMKCSAgSWYgdGhlIHBlYWsgdmFsdWUgaXMgPiAxIChhbmQgdGh1cyBub25zZW5zaWNhbCkgaWdub3JlIGl0LiBQcmV2ZW50cwoJICByZ3ZvbHVtZSByZWR1Y2luZyB2b2x1bWUgdG8gZWZmZWN0aXZlbHkgc2lsZW50IG9uIGZpbGVzIHdpdGggYm9ndXMgcGVhawoJICB2YWx1ZXMuCgoyMDA5LTAyLTI3IDEzOjI5OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRml4IFNFRUsgZXZlbnQgaGFuZGxpbmcgaW4gcHVzaCBtb2RlLCBhbmQgU0VFS0FCTFkgcXVlcnkgaGFuZGxpbmcKCSAgU3RhbmRhcmQgcHVsbCBtb2RlIGxvb3AgYmFzZWQgU0VFSyBoYW5kbGluZyBmYWlscyBpbiBwdXNoIG1vZGUsCgkgIHNvIGNvbnZlcnQgdGhlIFNFRUsgZXZlbnQgYXBwcm9wcmlhdGVseSBhbmQgZGlzcGF0Y2ggdG8gdXBzdHJlYW0uCgkgIEFsc28gY2F0ZXIgZm9yIE5FV1NFR01FTlQgZXZlbnQgaGFuZGxpbmcsIGFuZCBwcm9wZXJseSBpbmZvcm0KCSAgZG93bnN0cmVhbSBhbmQgYXBwbGljYXRpb24gb2YgU0VFS0FCTEUgY2FwYWJpbGl0aWVzLCBkZXBlbmRpbmcKCSAgb24gc2NoZWR1bGluZyBtb2RlIGFuZCB1cHN0cmVhbS4KCjIwMDktMDItMjcgMTE6MDQ6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIGdzdF91dGlsX2R1bXBfbWVtKCkgY2FsbHMuCgoyMDA5LTAyLTI2IDE5OjA3OjM1ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggU0VFSyBldmVudCBoYW5kbGluZyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBpbiBwdXNoIG1vZGUgd2Ugc2hvdWxkIG5vdCB0cnkgdG8gaGFuZGxlIHRoZSBTRUVLIGV2ZW50IGFzIHRoZXJlJ3MKCSAgbm8gY29kZSB0byBoYW5kbGUgaXQgcHJvcGVybHkuIFByb3BhZ2F0ZSB1cHN0cmVhbS4KCjIwMDktMDItMjYgMTk6MDU6MDYgKzAxMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrIGRvdCByYWRpemkgYXQgYXhpcyBkb3QgY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgdGhlIC5oIGZpbGUgY2hhbmdlIHRvbwoJICBBZGQgdGhlIC5oIGZpbGUgY2hhbmdlIGZvciB0aGUgbmV3IHByb3BlcnR5LgoKMjAwOS0wMi0yNiAxOTowMzo1MiArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sgZG90IHJhZGl6aSBhdCBheGlzIGRvdCBjb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBwcm9wZXJ0eSB0byBkaXNhYmxlIFJUQ1AKCSAgU29tZSBvbGQgc2VydmVycyBkb24ndCBsaWtlIHVzIGRvaW5nIFJUQ1AgYW5kIHRodXMgd2UgbmVlZCBhIHByb3BlcnR5IHRvIGRpc2FibGUKCSAgaXQuIFNlZSAjNTczMTczLgoKMjAwOS0wMi0yNiAxMzoxOTozMSArMDEwMCAgSmFuIFNtb3V0IDxqYW4gZG90IHNtb3V0IGF0IGdtYWlsIGRvdCBjb20+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogZml4IGdzdF91ZHBfc2V0X2xvb3BfdHRsKCkgYWdhaW4KCSAgRml4IHRoZSBnc3RfdWRwX3NldF9sb29wX3R0bCgpIGZ1bmN0aW9uIHRoYXQgd2FzIGNvbW1lbnRlZCBvdXQgaW4gYQoJICBwcmV2aW91cyBjb21taXQuIFNlZSAjNTczMTE1LgoKMjAwOS0wMi0yNiAxMzowNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogZmFpbCBvbiBpbnRlcmxhY2VkIHZpZGVvCgkgIEZhaWwgb24gaW50ZXJsYWNlZCB2aWRlbyB1bnRpbCB3ZSBzdXBwb3J0IGl0LgoKMjAwOS0wMi0yNiAxMzowMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBmYWlsIG9uIGludGVybGFjZWQgdmlkZW8KCSAgRGV0ZWN0IGFuZCBmYWlsIHdoZW4gdHJ5aW5nIHRvIHBheWxvYWQgaW50ZXJsYWNlZCB2aWRlby4KCjIwMDktMDItMjUgMjA6NDc6MTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBDaGFuZ2UgaG93IHdpbjMyL2NvbW1vbi9jb25maWcuaCBpcyB1cGRhdGVkCgkgIEdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaC1uZXcgZGlyZWN0bHkgZnJvbSBjb25maWcuaC5pbiwKCSAgdXNpbmcgc2hlbGwgdmFyaWFibGVzIGluIGNvbmZpZ3VyZSBhbmQgc29tZSBoYXJkLWNvZGVkIGluZm9ybWF0aW9uLgoJICBDaGFuZ2UgdG9wLWxldmVsIG1ha2VmaWxlIHNvIHRoYXQgJ21ha2Ugd2luMzItdXBkYXRlJyBjb3BpZXMgdGhlCgkgIGdlbmVyYXRlZCBmaWxlIHRvIHdpbjMyL2NvbW1vbi9jb25maWcuaCwgd2hpY2ggd2Uga2VlcCBpbiBzb3VyY2UKCSAgY29udHJvbC4gIEl0J3Mga2VwdCBpbiBzb3VyY2UgY29udHJvbCBzbyB0aGF0IHRoZSBnaXQgdHJlZSBpcwoJICBidWlsZGFibGUgZnJvbSBWUy4KCSAgVGhpcyBjaGFuZ2UgaXMgc2ltaWxhciB0byB0aGUgb25lIHJlY2VudGx5IGFwcGxpZWQgdG8gR1N0cmVhbWVyCgkgIGFuZCBnc3QtcGx1Z2lucy1nb29kLiAgVGhlIHByZXZpb3VzIGNvbmZpZy5oIGZpbGUgaW4gLWdvb2Qgd2FzIGluCgkgIHByZXR0eSBiYWQgc2hhcGUsIHNvIHVubGlrZSBjb3JlIGFuZCBiYXNlLCBJIGRpZG4ndCBhdHRlbXB0IHRvCgkgIGxlYXZlIGl0IHN0cmljdGx5IHRoZSBzYW1lLCBidXQgZml4ZWQgaXQgYXMgbmVjZXNzYXJ5LiAgTmVlZHMKCSAgdGVzdGluZyBJIGNhbm5vdCBkbyBteXNlbGYuCgoyMDA5LTAyLTI1IDE5OjU4OjI5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgZHZkZWM6IEFkZCBpbnRlcmxhY2luZyBpbmZvIHRvIGNhcHMgYW5kIGJ1ZmZlcnMKCjIwMDktMDItMjUgMTQ6NTc6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogVXBkYXRlIHNoYXZlIGluaXQgc3RhdGVtZW50IGZvciBjaGFuZ2VzIGluIGNvbW1vbi4gQnVtcCBjb21tb24uCgoyMDA5LTAyLTI1IDE0OjAxOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggY29tcGlsYXRpb24KCSAgRml4IGNvbXBpbGF0aW9uIG9uIHN5c3RlbXMgTVNHX0VSUlFVRVVFIGFuZCBJUF9SRUNWRVJSLgoKMjAwOS0wMi0xOSAyMDoxNDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGNyYXNoaW5nIGlmIG5vIGNhcHMgaGF2ZSBiZWVuIHNldAoJICBEb24ndCBjcmFzaCBpZiB3ZSByZWNlaXZlIGEgYnVmZmVyIHdpdGhvdXQgY2Fwcy4gRml4ZXMgIzU3MjQxMy4KCjIwMDktMDItMjUgMTE6MzU6MzEgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBNYWtlIHN1cmUgdGhlIHNvY2thZGRyIGxlbmd0aCB1c2VkIGZvciByZWN2ZnJvbSgpIGlzIGJpZyBlbm91Z2guCgkgIFByZXZpb3VzbHkgdGhlIHNvY2thZGRyIGxlbmd0aCB1c2VkIGZvciByZWN2ZnJvbSgpIHdhcyBjYWxjdWxhdGVkIGFzCgkgIHNpemVvZiAoc3RydWN0IHNvY2thZGRyKS4gSG93ZXZlciwgdGhpcyBpcyB0b28gbGl0dGxlIHRvIGhvbGQgYW4gSVB2NgoJICBhZGRyZXNzLCBzbyB0aGUgZnVsbCBzaXplIG9mIHRoZSBnc3Rfc29ja2FkZHIgdW5pb24gc2hvdWxkIGJlIHVzZWQKCSAgaW5zdGVhZC4KCjIwMDktMDItMjUgMTE6MzI6MjggKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBVbmlmeSB0aGUgdXNlIG9mIHVuaW9uIGdzdF9zb2NrYWRkci4KCjIwMDktMDItMjUgMTE6MzI6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWNmOGM5YiB0byBhNmNlNWM2CgoyMDA5LTAyLTI1IDEyOjA1OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgY3Jhc2hpbmcgb24gc3VidGl0bGVzCgkgIEF2b2lkIGEgY3Jhc2ggaW4gYXZpIHdpdGggc3VidGl0bGVzIGJ5IG9ubHkgZGVyZWZlcmVuY2luZyB0aGUgdmlkZW8gZGVzY3JpcHRpb24KCSAgd2hlbiB3ZSBhY3R1YWxseSBhcmUgZGVhbGluZyB3aXRoIHZpZGVvIGluIHRoZSBfaW52ZXJ0IGZ1bmN0aW9uLgoKMjAwOS0wMi0yNSAxMTo0NTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGRvY3M6IHZhcmlvdXMgZG9jIGZpeGVzCgkgIE5vIHNob3J0LWRlc2MgYXMgd2UgaGF2ZSB0aGVtIGluIHRoZSBlbGVtZW50IGRldGFpbHMuCgkgIEFsc28ga2VlcCB0aGluZ3MgKE1ha2VmaWxlLmFtIGFuZCBzZWN0aW9ucy50eHQpIHNvcnRlZC4KCSAgUmV3b3JkIGFtYmlnb3VzIHJldHVybnMuIE5vIHRleHQgYWZ0ZXIgc2luY2UgcGxlYXNlLgoKMjAwOS0wMi0yNCAxNzo1ODozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBGaXggc3RyaWN0LWFsaWFzaW5nIHdhcm5pbmdzIGZyb20gZ2NjIDQuNC4wCgkgIEZpeCBzdHJpY3QgYWxpYXNpbmcgd2FybmluZ3MgYnkgZGVmaW5pbmcgYSB1bmlvbiBvbiB0aGUgZGlmZmVyZW50CgkgIHNvY2thZGRyIHN0cnVjdHMgdGhhdCB3ZSBuZWVkLgoKMjAwOS0wMi0yNCAxNzozNTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwOiBGaXggY29tcGlsZXIgd2FybmluZyBpbiBoMjY0IHBheWxvYWRlcgoJICBGaXggYW4gdW5kZWZpbmVkIGJlaGF2aW91ciB3YXJuaW5nIGZyb20gZ2NjIDQuNC4wCgkgIFBhdGNoIEJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCSAgRml4ZXM6ICM1NzA5OTUKCSAgU2lnbmVkLU9mZi1CeTogSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoyMDA5LTAyLTIyIDE3OjIzOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXNlIHNoYXZlIGZvciB0aGUgYnVpbGQgb3V0cHV0CgoyMDA5LTAyLTI0IDE0OjU1OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL2dzdGdjb25mLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5oOgoJICBnY29uZjogUmVuYW1lIGdjb25mLltjaF0gdG8gZ3N0Z2NvbmYuW2NoXSB0byBwcmV2ZW50IG5hbWUgY29uZmxpY3RzCgoyMDA5LTAyLTI0IDE0OjQxOjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBBbHNvIHVzZSAiKGMpaW5mIiB0byBmaWxsIHRoZSBjb21tZW50IHRhZwoKMjAwOS0wMS0yNiAxMTowNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+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+CgoJKiBjb21tb246CgkgIEZpeCBwcmUtY29tbWl0IGhvb2sKCjIwMDktMDEtMjIgMTA6NDA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSAgUmVuYW1lIGF1ZGlvcmV2ZXJiIHRvIGF1ZGlvZWNoby4gRml4ZXMgYnVnICM1NjgzOTUuCgkgIFRoZSBlbGVtZW50IGNhbiBhZGQgYW4gZWNobyBhbmQgYSBzaW1wbGUgcmV2ZXJiIGVmZmVjdCB0bwoJICBhbiBhdWRpbyBzdHJlYW0gYnV0IGZvciBhIHJlYWwgcmV2ZXJiIGZpbHRlciBpdCB3b3VsZCBuZWVkCgkgIHNvbWUgYWRkaXRpb25hbCBmaWx0ZXJpbmcgdG8gcHJldmVudCBhIG1ldGFsbGljLXNvdW5kaW5nCgkgIHJlc3VsdC4KCjIwMDktMDEtMjIgMTI6MjE6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+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+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBwcm9ibGVtYXRpYyBhbmQgdXNlbGVzcyByZWZjb3VudCBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9ub2RlKToKCSAgUmVtb3ZlIHByb2JsZW1hdGljIGFuZCB1c2VsZXNzIHJlZmNvdW50IGNoZWNrLgoJICBGaXhlcyAjNTU2MzgxCgoyMDA4LTEwLTEzIDE4OjEwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciB1Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYTUyZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJuYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHZkbmF2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdmRyZWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaWRwbGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hYzNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXNmZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZGxwY21kZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHN1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWVjOTU4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3N0cmVhbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbG1lZGlhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zeW5hZXN0aGVzaWEvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIHVnbHkuCgoyMDA4LTEwLTEwIDEyOjI4OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mbGFjLzogQ2FzdCBzb21lIHNpemVfdCBhcmd1bWVudHMgdG8gZ3VpbnQgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgb24gNjQtYml0IHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNfZGVjX3JlYWRfc3RyZWFtKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmMgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayk6CgkgIENhc3Qgc29tZSBzaXplX3QgYXJndW1lbnRzIHRvIGd1aW50IHRvIGF2b2lkIGNvbXBpbGVyCgkgIHdhcm5pbmdzIG9uIDY0LWJpdCBzeXN0ZW1zLgoKMjAwOC0xMC0wOSAxNDoyNzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmV0dXJuIFRSVUUgaW5zdGVhZCBvZiBGQUxTRSBmcm9tIHRoZSBldmVudCBoYW5kbGVyIHdoZW4gd2Ugc3dhbGxvd2VkIHRoZSBldmVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCk6CgkgIFJldHVybiBUUlVFIGluc3RlYWQgb2YgRkFMU0UgZnJvbSB0aGUgZXZlbnQgaGFuZGxlciB3aGVuIHdlIHN3YWxsb3dlZCB0aGUKCSAgZXZlbnQuCgoyMDA4LTEwLTA4IDE1OjU5OjU2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+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+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGNvcnJlY3RseSwgbWFyayBoZWFkZXIgcGFja2V0cyBhcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZW5jX2NoZWNrX2Rpc2NvbnQpLCAoZ3N0X2ZsYWNfZW5jX2NoYWluKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgY29ycmVjdGx5LCBtYXJrIGhlYWRlciBwYWNrZXRzIGFzCgkgIElOX0NBUFMgYW5kIHByaW50IGEgd2FybmluZyBhbmQgc3VnZ2VzdCB1c2luZyBhdWRpb3JhdGUgaWYgc3RyZWFtCgkgIGRpc2NvbnRpbnVpdGllcyBhcmUgZGV0ZWN0ZWQuIFdoZW4gRkxBQyBzdXBwb3J0cyBmbHVzaGluZyB0aGUgZW5jb2RlcgoJICBzb21laG93IHRoaXMgc2hvdWxkIGJlIGRvbmUgZm9yIGRpc2NvbnRpbnVpdGllcyBpbnN0ZWFkLgoJICBSZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdC4KCjIwMDgtMDgtMDcgMTc6MTQ6MzkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHB1bHNlYXVkaW8gdG8gcGx1Z2lucyBsaXN0IGluIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHB1bHNlYXVkaW8gdG8gcGx1Z2lucyBsaXN0IGluIHNwZWMgZmlsZQoKMjAwOC0wOC0wNyAxNjoxNDo0MiArMDAwMCAgRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlciB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCSAgKiBleHQvZHZkcmVhZC9kdmRyZWFkc3JjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hc2ZkZW11eC9nc3Rhc2YuYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyCgkgIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCjIwMDgtMDgtMDcgMTY6MTM6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogSWYgc2Vla2luZyBmYWlsZWQgcmV0dXJuIHRoZSBhcHByb3BpYXRlIHJldHVybiB2YWx1ZSB0byBGTEFDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfc2Vla19jYWxsYmFjayk6CgkgIElmIHNlZWtpbmcgZmFpbGVkIHJldHVybiB0aGUgYXBwcm9waWF0ZSByZXR1cm4gdmFsdWUgdG8gRkxBQy4KCSAgT3RoZXJ3aXNlIGl0IHRoaW5rcyBzZWVraW5nIHdhcyBzdWNjZXNzZnVsbCBhbmQgdHJpZXMgdG8gcmV3cml0ZQoJICBwYXJ0cyBvZiB0aGUgaGVhZGVycyB3aGljaCB0aGVuIGdldCBhcHBlbmRlZCB0byB0aGUgb3V0cHV0LgoKMjAwOC0wOC0wNyAxNjoxMTowMCArMDAwMCAgRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlciB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCSAgKiBleHQvZXNkL2dzdGVzZC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIKCSAgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoKMjAwOC0wOC0wNyAxNDo0MDoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBZGQgRklYTUUgZm9yIDAuMTEgdG8gc2ltcGx5IG91dHB1dCBldmVyeXRoaW5nIHdpdGggd2lkdGg9MzIgYXMgZ2l2ZW4gYnkgRkxBQyBhbmQgbGV0IGF1ZGlvY29uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgQWRkIEZJWE1FIGZvciAwLjExIHRvIHNpbXBseSBvdXRwdXQgZXZlcnl0aGluZyB3aXRoIHdpZHRoPTMyIGFzIGdpdmVuCgkgIGJ5IEZMQUMgYW5kIGxldCBhdWRpb2NvbnZlcnQgaGFuZGxlIHRoZSBjb252ZXJzaW9ucyBpbnN0ZWFkIG9mIGRvaW5nCgkgIHRoZW0gaW4gZmxhY2RlYy4KCjIwMDgtMDgtMDcgMTA6MjI6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBXaGVuIG91dHB1dHRpbmcgYSBwYWQgdGVtcGxhdGUgcmFuZ2UgZm9yIHRoZSBzaXplLCBpbmNsdWRlIGEgZnJhbWVyYXRlIHJhbmdlIHRvbywgdG8gYXZvaWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIFdoZW4gb3V0cHV0dGluZyBhIHBhZCB0ZW1wbGF0ZSByYW5nZSBmb3IgdGhlIHNpemUsIGluY2x1ZGUgYSBmcmFtZXJhdGUKCSAgcmFuZ2UgdG9vLCB0byBhdm9pZCAnbm90IGEgcmVhbCBzdWJzZXQgb2YgdGVtcGxhdGUgY2FwcycgZXJyb3JzLgoKMjAwOC0wOC0wNiAxNTozNDo1NSArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjLzogUG9ydCBmbGFjdGFnIHRvIDAuMTAsIGFkZCBkb2N1bWVudGF0aW9uIGZvciBpdCBhbmQgY2xlYW4gaXQgdXAgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnQgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX3NldHVwX2ludGVyZmFjZXMpLAoJICAoZ3N0X2ZsYWNfdGFnX2Jhc2VfaW5pdCksIChnc3RfZmxhY190YWdfY2xhc3NfaW5pdCksCgkgIChnc3RfZmxhY190YWdfZGlzcG9zZSksIChnc3RfZmxhY190YWdfaW5pdCksCgkgIChnc3RfZmxhY190YWdfc2lua19zZXRjYXBzKSwgKGdzdF9mbGFjX3RhZ19jaGFpbiksCgkgIChnc3RfZmxhY190YWdfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmg6CgkgIFBvcnQgZmxhY3RhZyB0byAwLjEwLCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgaXQgYW5kIGNsZWFuIGl0IHVwIGEgYml0LgoJICBGaXhlcyBidWcgIzQxMzg0MS4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19iYXNlX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgQWRkIGZsYWN0YWcgYW5kIGZsYWNlbmMgdG8gdGhlIGRvY3VtZW50YXRpb24gYW5kIG1hcmsKCSAgdGhlIHByaXZhdGUgcGFydHMgb2YgdGhlIGZsYWNkZWMgaW5zdGFuY2Ugc3RydWN0dXJlIGFzIHByaXZhdGUuCgkgIEFsc28gdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpIGluIGZsYWNkZWMgYW5kCgkgIGZsYWNlbmMuCgoyMDA4LTA4LTA2IDEzOjEyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBhdWRpby94LXFkbSBmb3IgY2Fwcy4gQ29sbGVjdCBzb21lIGluZm8gLSBtcGxheWVyIGhhcyBhIGRlY29kZXIgZm9yIGl0IGJ1dCBmZm1wZWcgZG9lcyBub3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgVXNlIGF1ZGlvL3gtcWRtIGZvciBjYXBzLiBDb2xsZWN0IHNvbWUgaW5mbyAtIG1wbGF5ZXIgaGFzIGEgZGVjb2RlcgoJICBmb3IgaXQgYnV0IGZmbXBlZyBkb2VzIG5vdC4KCjIwMDgtMDgtMDUgMTU6MDU6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgdGhlIGxpc3QgY2h1bmsgYW5kIHVzZSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgdG8gcGFyc2UgdGhlIGluZm8gc3ViLWNodW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgSGFuZGxlIHRoZSBsaXN0IGNodW5rIGFuZCB1c2UgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIHRvIHBhcnNlIHRoZSBpbmZvCgkgIHN1Yi1jaHVuay4KCjIwMDgtMDgtMDUgMTQ6MjI6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgdGhlIGFjaWQgY2h1bmsgYW5kIHNlbmQgdGVtcG8gYXMgcGFydCBvZiB0YWdzLiBPdGhlciBmaWVsZHMgYXJlIGludGVyZXN0aW5nIHRvbywgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgSGFuZGxlIHRoZSBhY2lkIGNodW5rIGFuZCBzZW5kIHRlbXBvIGFzIHBhcnQgb2YgdGFncy4gT3RoZXIgZmllbGRzIGFyZQoJICBpbnRlcmVzdGluZyB0b28sIGJ1dCBuZWVkIG1vcmUgdGFnLWRlZmluaXRpb25zLiBGaXhlcyAjNTQ1NDMzLgoKMjAwOC0wOC0wNSAxNDoxNjozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJlZmFjdG9yIHdhdnBhcnNlLiBDYWxsIF9yZXNldCgpIGZyb20gZGlzcG9zZSgpIGFuZCBtb3ZlIG9sZCBjb2RlIGZyb20gZGlzcG9zZSBpbnRvIHJlc2V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZWZhY3RvciB3YXZwYXJzZS4gQ2FsbCBfcmVzZXQoKSBmcm9tIGRpc3Bvc2UoKSBhbmQgbW92ZSBvbGQgY29kZSBmcm9tCgkgIGRpc3Bvc2UgaW50byByZXNldC4gVGhpcyB3YXkgd2UgZG9uJ3QgbGVhayB0YWdsaXN0cyB3aGVuIHdlIGFib3J0CgkgIHBhcnNpbmcuIEZpeCBzb21lIGNvbW1lbnRzLiBNb3ZlIGNvZGUgZm9yIHNraXBwaW5nIGEgY2h1bmsgaW50byBleHRyYQoJICBmdW5jdGlvbi4gUmVwbGFjZSBjaHVuayBzaXplcyB3aXRoIGEgY29uc3QgdG8gZWFzZSByZWFkYWJpbGl0eS4KCjIwMDgtMDgtMDUgMTM6NTc6NTcgKzAwMDAgIEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenpAeWFob28uZnI+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEltcHJvdmUgdWRwIHBvcnQgc2V0dXAuIEZpeGVzICM1NDU3MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6eiBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWxsb2NfdWRwX3BvcnRzKToKCSAgSW1wcm92ZSB1ZHAgcG9ydCBzZXR1cC4gRml4ZXMgIzU0NTcxMC4KCjIwMDgtMDgtMDUgMTM6NTQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIE1QMVMgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOiAoZ3N0X3J0cF9tcDFzX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wMXNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wMXNfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkgIEFkZCBNUDFTIGRlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIFNvbWUgbW9yZSBzYW1wbGUgcnRzcCBzdHJlYW1zLgoKMjAwOC0wOC0wNSAwODo0Mzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBhbm90aGVyIFVSTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIGFub3RoZXIgVVJMLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwOC0wOC0wNCAwOToxNjo0MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBQcm92aWRlIGNiU2l6ZSBmaWVsZCBmb3IgYXVkaW8gZXh0cmFfZGF0YSBzaXplLCBhbmQgdGFrZSBjYXJlIHRvIHBhZCBleHRyYV9kYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgIFByb3ZpZGUgY2JTaXplIGZpZWxkIGZvciBhdWRpbyBleHRyYV9kYXRhIHNpemUsIGFuZCB0YWtlIGNhcmUgdG8KCSAgcGFkIGV4dHJhX2RhdGEuCgoyMDA4LTA4LTA0IDA3OjIzOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJldHVybiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfe3N0YXJ0LHN0b3B9X3Rhc2sgaW5zdGVhZCBvZiBoYXJkLWNvZGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF97c3RhcnQsc3RvcH1fdGFzayBpbnN0ZWFkIG9mIGhhcmQtY29kZWQKCSAgVFJVRS4KCjIwMDgtMDgtMDQgMDc6MTc6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIGtleXdvcmQgdGFnIHN1cHBvcnQuIEZpeGVzICM1MjA2OTQgZm9yIHF0ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBBZGQga2V5d29yZCB0YWcgc3VwcG9ydC4gRml4ZXMgIzUyMDY5NCBmb3IgcXRkZW11eC4KCjIwMDgtMDgtMDQgMDc6MDU6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIHRtcG8gdGFnIChCUE0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0bXBvIHRhZyAoQlBNKS4KCjIwMDgtMDgtMDMgMTI6MjM6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogU2V0IGFuIGVzdGltYXRlIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB3aWxsIGJlIGVuY29kZWQgaWYgcG9zc2libGUgdG8gaGVscCBkZWNvZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfcXVlcnlfcGVlcl90b3RhbF9zYW1wbGVzKSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgU2V0IGFuIGVzdGltYXRlIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB3aWxsIGJlIGVuY29kZWQKCSAgaWYgcG9zc2libGUgdG8gaGVscCBkZWNvZGVycyBpZiB0aGUgc3RyZWFtaW5mbyBjYW4ndCBiZSByZXdyaXR0ZW4KCSAgbGF0ZXIgKGxpa2Ugd2hlbiBtdXhpbmcgaW50byBPZ2cgY29udGFpbmVycykuCgkgIEFkZCBhIHdhcm5pbmcgaWYgd2UgZ2V0IGhlYWRlciBwYWNrZXRzIGFmdGVyIGRhdGEgcGFja2V0cyBhcyB0aG9zZQoJICB3aWxsIGdldCBsb3N0IHdoZW4gbXV4aW5nIGludG8gT2dnLCBpLmUuIHJld3JpdGluZyB0aGUgaGVhZGVycyBkb2Vzbid0CgkgIHdvcmsuCgoyMDA4LTA4LTAzIDExOjM4OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFN1cHBvcnQgZGVjb2Rpbmcgb2YgYWxsIGRlcHRocyBiZXR3ZWVuIDQgYW5kIDMyIGJpdHMgYW5kIHJlYWQgdGhlIGRlcHRoIGZyb20gdGhlIHN0cmVhbWluZm8gaGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIFN1cHBvcnQgZGVjb2Rpbmcgb2YgYWxsIGRlcHRocyBiZXR3ZWVuIDQgYW5kIDMyIGJpdHMgYW5kIHJlYWQgdGhlCgkgIGRlcHRoIGZyb20gdGhlIHN0cmVhbWluZm8gaGVhZGVyIGlmIG5lZWRlZC4gQWxzbyBzdXBwb3J0IGFsbCBzYW1wbGluZwoJICByYXRlcyBiZXR3ZWVuIDEgYW5kIDY1NTM1MCBIei4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIChnc3RfZmxhY19lbmNfY2Fwc19hcHBlbmRfc3RydWN0dXJlX3dpdGhfd2lkdGhzKSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX2dldGNhcHMpLCAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZmxhY19lbmNfY2hhaW4pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgU3VwcG9ydCBlbmNvZGluZyBpbiBhbGwgYml0IGRlcHRocyBzdXBwb3J0ZWQgYnkgdGhlIHN0cmVhbWFibGUKCSAgc3ViZm9ybWF0IChpLmUuIDgsIDEyLCAxNiwgMjAgYW5kIDI0IGJpdHMpIGFuZCBhbGwgc2FtcGxpbmcgcmF0ZXMKCSAgYmV0d2VlbiAxIEh6IGFuZCA2NTUzNTAgSHouCgoyMDA4LTA4LTAzIDA5OjIzOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFN1cHBvcnQgZW5jb2Rpbmcgb2YgdXAgdG8gOCBjaGFubmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2luaXQpLAoJICAoZ3N0X2ZsYWNfZW5jX3NpbmtfZ2V0Y2Fwcyk6CgkgIFN1cHBvcnQgZW5jb2Rpbmcgb2YgdXAgdG8gOCBjaGFubmVscy4KCjIwMDgtMDgtMDIgMjE6Mzk6MDEgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBGaXggc2Vla2luZyByYWNlIGNvbmRpdGlvbiBpbiAjNTQwMzAwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgRml4IHNlZWtpbmcgcmFjZSBjb25kaXRpb24gaW4gIzU0MDMwMAoJICBQYXRjaCBCeTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgoyMDA4LTA4LTAyIDE4OjM1OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogV2hlbiByZWNlaXZpbmcgYSBTRUVLIGV2ZW50IG9uIGEgc3BlY2lmaWMgcGFkIGZpcnN0IHNlYXJjaCBmb3IgYSBzZWVrIHRhYmxlIGVudHJ5IGZvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgV2hlbiByZWNlaXZpbmcgYSBTRUVLIGV2ZW50IG9uIGEgc3BlY2lmaWMgcGFkIGZpcnN0IHNlYXJjaCBmb3IgYSBzZWVrCgkgIHRhYmxlIGVudHJ5IGZvciB0aGUgc3RyZWFtIG9mIHRoZSBwYWQgYW5kIHRoZW4gZmFsbCBiYWNrIHRvIGFuIGVudHJ5CgkgIGZvciBhIGRpZmZlcmVudCBzdHJlYW0uCgoyMDA4LTA4LTAyIDE4OjIwOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBCdWlsZCBkZXBlbmQgb24gY29yZSBDVlMgZm9yIHRoZSBhdHRhY2htZW50IHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzogKGdzdF9tYXRyb3NrYV9yZWdpc3Rlcl90YWdzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEJ1aWxkIGRlcGVuZCBvbiBjb3JlIENWUyBmb3IgdGhlIGF0dGFjaG1lbnQgdGFnLgoKMjAwOC0wOC0wMiAxODoxODowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRGVjb2RlIHRoZSBjb2RlYyBwcml2YXRlIGRhdGEgYW5kIGZvbGxvd2luZyBDb250ZW50RW5jb2RpbmcgaWYgbmVjZXNzYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9sem8uYzogKGdldF9ieXRlKSwgKGdldF9sZW4pLCAoY29weSksCgkgIChjb3B5X2JhY2twdHIpLCAobHpvMXhfZGVjb2RlKSwgKG1haW4pOgoJICAqIGdzdC9tYXRyb3NrYS9sem8uaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvbXByZXNzX2RhdGEpLCAoZ3N0X21hdHJvc2thX2RlY29kZV9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfY29udGVudF9lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIERlY29kZSB0aGUgY29kZWMgcHJpdmF0ZSBkYXRhIGFuZCBmb2xsb3dpbmcgQ29udGVudEVuY29kaW5nIGlmCgkgIG5lY2Vzc2FyeS4KCSAgU3VwcG9ydCBiemlwMiwgbHpvIGFuZCBoZWFkZXIgc3RyaXBwZWQgY29tcHJlc3Npb24uIEZvciBsem8gdXNlIHRoZQoJICBmZm1wZWcgbHpvIGltcGxlbWVudGF0aW9uIGFzIGxpYmx6byBpcyBHUEwgbGljZW5zZWQuCgkgIEZpeCB6bGliIGRlY29tcHJlc3Npb24uCgoyMDA4LTA4LTAyIDE4OjExOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBtdXhpbmcgb2YgTVAzL01QMiB3aXRoIGRpZmZlcmVudCBNUEVHIHZlcnNpb25zIGJ5IGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbiBvZiBhIGZyYW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEZpeCBtdXhpbmcgb2YgTVAzL01QMiB3aXRoIGRpZmZlcmVudCBNUEVHIHZlcnNpb25zIGJ5IGNhbGN1bGF0aW5nIHRoZQoJICBkdXJhdGlvbiBvZiBhIGZyYW1lIHdpdGggdGhlIG5ldyBtcGVnYXVkaW92ZXJzaW9uIGNhcHMgZmllbGQuCgoyMDA4LTA4LTAyIDE4OjA2OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguKjogQWxsb3cgYW4gaW5maW5pdGUgbnVtYmVyIG9mIHN0cmVhbSBpbnNpZGUgTWF0cm9za2EgY29udGFpbmVycyBhbmQgdXNlIGEgR1B0ckFycmF5IGZvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdHJlYW1fZnJvbV9udW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3RyYWNrbnVtYmVyX3VuaXF1ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIEFsbG93IGFuIGluZmluaXRlIG51bWJlciBvZiBzdHJlYW0gaW5zaWRlIE1hdHJvc2thIGNvbnRhaW5lcnMgYW5kIHVzZQoJICBhIEdQdHJBcnJheSBmb3Igc3RvcmluZyB0aGVtIGluc3RlYWQgb2YgYWxsb3dpbmcgIm9ubHkiIDEyNyBzdHJlYW1zLgoKMjAwOC0wOC0wMiAxODowMTozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IGluZGVudGlvbiBldmVyeXdoZXJlLiBBIGJyb2tlbiBpbmRlbnQgdmVyc2lvbiBoYXMgYWRkZWQgbmV3bGluZXMgYWZ0ZXIgZXZlcnkgc2luZ2xlIGRlY2xhcmF0aW9uIHNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfZWJtbF9yZWFkX2NoYW5nZV9zdGF0ZSksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGV2ZWxfdXApLAoJICAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3BlZWtfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9nZXRfbGVuZ3RoKSwgKGdzdF9lYm1sX3JlYWRfc2tpcCksCgkgIChnc3RfZWJtbF9yZWFkX2J1ZmZlciksIChnc3RfZWJtbF9yZWFkX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfdWludCksIChnc3RfZWJtbF9yZWFkX3NpbnQpLCAoX2V4dDJkYmwpLAoJICAoZ3N0X2VibWxfcmVhZF9mbG9hdCksIChnc3RfZWJtbF9yZWFkX2FzY2lpKSwgKGdzdF9lYm1sX3JlYWRfZGF0ZSksCgkgIChnc3RfZWJtbF9yZWFkX21hc3RlciksIChnc3RfZWJtbF9yZWFkX2JpbmFyeSksCgkgIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9zaXplKSwgKGdzdF9lYm1sX3dyaXRlX3VpbnQpLAoJICAoZ3N0X2VibWxfd3JpdGVfc2ludCksIChnc3RfZWJtbF93cml0ZV9hc2NpaSksCgkgIChnc3RfZWJtbF93cml0ZV9tYXN0ZXJfc3RhcnQpLCAoZ3N0X2VibWxfd3JpdGVfbWFzdGVyX2ZpbmlzaCksCgkgIChnc3RfZWJtbF9yZXBsYWNlX3VpbnQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksIChnc3RfbWF0cm9za2FfZWJtbG51bV91aW50KSwKCSAgKGdzdF9tYXRyb3NrYV9lYm1sbnVtX3NpbnQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfaGRyX2J1ZiksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9mbGFjX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9kdmRfY2x1dF9jaGFuZ2VfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9tcGVnX3NlcV9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgICh4aXBoM19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHZvcmJpc19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHRoZW9yYV9zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3RyYWNrX2hlYWRlciksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCksIChnc3RfbWF0cm9za2FfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBpbmRlbnRpb24gZXZlcnl3aGVyZS4gQSBicm9rZW4gaW5kZW50IHZlcnNpb24gaGFzIGFkZGVkIG5ld2xpbmVzCgkgIGFmdGVyIGV2ZXJ5IHNpbmdsZSBkZWNsYXJhdGlvbiBzb21lIHRpbWUgYWdvLgoKMjAwOC0wOC0wMiAxNzo1OTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIG5vIFRyYWNrcyBhcmUgZm91bmQgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIGl0IGFnYWluIHVudGlsIHRoZSBlbmQgb2YgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICBJZiBubyBUcmFja3MgYXJlIGZvdW5kIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyBpdCBhZ2FpbiB1bnRpbCB0aGUKCSAgZW5kIG9mIHRpbWUuCgoyMDA4LTA4LTAyIDE3OjU3OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IGRlbXV4aW5nIG9mIHJhdyBpbnRlZ2VyIGF1ZGlvLiBUaGUgc2FtcGxlcyBhcmUgdW5zaWduZWQgb25seSBmb3IgOCBiaXQgYW5kIHNpZ25lZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEZpeCBkZW11eGluZyBvZiByYXcgaW50ZWdlciBhdWRpby4gVGhlIHNhbXBsZXMgYXJlIHVuc2lnbmVkIG9ubHkgZm9yIDgKCSAgYml0IGFuZCBzaWduZWQgb3RoZXJ3aXNlLCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuCgoyMDA4LTA4LTAyIDE3OjU0OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBtb3JlIHJhdyBZVVYgZm9ybWF0cyB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBBZGQgbW9yZSByYXcgWVVWIGZvcm1hdHMgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgoyMDA4LTA4LTAyIDE3OjUyOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGZsb2F0IGF1ZGlvIG5vdyB0aGF0IHRoZSBzcGVjIGRlZmluZXMgdGhlIGVuZGlhbm5lc3MgYW5kIGFkZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGZsb2F0IGF1ZGlvIG5vdyB0aGF0IHRoZSBzcGVjIGRlZmluZXMgdGhlCgkgIGVuZGlhbm5lc3MgYW5kIGFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGludGVnZXIgYXVkaW8gd2l0aCAyNCBhbmQKCSAgMzIgYml0cy4KCSAgQWxsb3cgbXV4aW5nIG9mIG1vcmUgdGhhbiA4IGF1ZGlvIGNoYW5uZWxzLgoKMjAwOC0wOC0wMiAxNzo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgbG9ja2luZyB0byB0aGUgZ2xvYmFsIGFycmF5IG9mIHVzZWQgdHJhY2sgVUlEcyB0byBwcmV2ZW50IHJhbmRvbSBjcmFzaGVzIGlmIG1vcmUgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX3VpZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICBBZGQgbG9ja2luZyB0byB0aGUgZ2xvYmFsIGFycmF5IG9mIHVzZWQgdHJhY2sgVUlEcyB0byBwcmV2ZW50IHJhbmRvbQoJICBjcmFzaGVzIGlmIG1vcmUgdGhhbiBhIHNpbmdsZSBtYXRyb3NtdXggaW5zdGFuY2UgaXMgdXNlZC4KCSAgVXNlIDY0IGJpdCB2YWx1ZXMgZm9yIHRoZSB0cmFjayBVSURzLgoJICBVc2UgdGhlIGdsb2JhbCBHUmFuZG9tIG9mIEdMaWIgaW5zdGVhZCBvZiBjcmVhdGluZyBvdXIgb3duIG9uZQoJICBmb3IgdGhlIGZldyByYW5kb20gbnVtYmVycyB3ZSBuZWVkIGV2ZXJ5IHNpbmdsZSB0aW1lLgoKMjAwOC0wOC0wMiAxNzoxODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBbHdheXMgcG9zdCB0aGUgYXVkaW8tY29kZWMgdGFnLCBub3Qgb25seSBpZiBvdGhlciB0YWdzIGFyZSBwcmVzZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3VwZGF0ZV9tZXRhZGF0YSk6CgkgIEFsd2F5cyBwb3N0IHRoZSBhdWRpby1jb2RlYyB0YWcsIG5vdCBvbmx5IGlmIG90aGVyIHRhZ3MgYXJlIHByZXNlbnQuCgoyMDA4LTA4LTAxIDIzOjI2OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCjIwMDgtMDgtMDEgMTU6NTg6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIG1pc3NpbmcgZ3N0cmVhbWVyIHBsdWdpbnMgdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBnc3RyZWFtZXIgcGx1Z2lucyB0byBzcGVjIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuOSA9PT0KCjIwMDgtMDctMzEgMjI6MTA6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjkKCjIwMDgtMDctMzEgMjE6NTA6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA3LTMxIDIxOjI2OjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IERvbid0IHRocm93IGFuIGVycm9yIHdoZW4gc291cCBjb21wbGV0ZXMgYSBtc2cgd2l0aCBzdGF0dXMgJ2NhbmNlbGxlZCcsIGFzIHRoYXQgaW5kaWNhdGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBEb24ndCB0aHJvdyBhbiBlcnJvciB3aGVuIHNvdXAgY29tcGxldGVzIGEgbXNnIHdpdGggc3RhdHVzCgkgICdjYW5jZWxsZWQnLCBhcyB0aGF0IGluZGljYXRlcyB3ZSBjYW5jZWxsZWQgYSByZXF1ZXN0IHdoaWxlCgkgIHNodXR0aW5nIGRvd24gb3Igc2Vla2luZywgYW5kIGl0J3Mgbm90IGFuIGVycm9yLgoJICBGaXhlczogIzU0MDMwMCBhZ2Fpbi4KCjIwMDgtMDctMzEgMTQ6MjQ6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogVXNlIHRoZSBkZWZhdWx0IGZvciB0aGUgc3RyaWN0LWlzbyBwcm9wZXJ0eSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xhbWVfZ2V0X2RlZmF1bHRfc2V0dGluZ3MpOgoJICBVc2UgdGhlIGRlZmF1bHQgZm9yIHRoZSBzdHJpY3QtaXNvIHByb3BlcnR5IHRvby4KCSAgQWxsb3cgYSBiaXRyYXRlIHNldHRpbmcgb2YgMCwgd2hpY2ggbGV0cyBsYW1lIGNob29zZSB0aGUgZGVmYXVsdCB2YWx1ZQoJICBhbmQgd2hpY2ggbWFrZXMgaXQgcG9zc2libGUgdG8gc2V0IHRoZSBjb21wcmVzc2lvbi1yYXRpbyBwcm9wZXJ0eS4KCjIwMDgtMDctMjkgMTY6NTc6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuKjogR2V0IHRoZSBkZWZhdWx0cyBzZXR0aW5ncyBvZiBMQU1FIGluIHRoZSBwbHVnaW4gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gYW5kIHJldHVybiBGQUxTRSBoZXJlIGlmIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9jbGFzc19pbml0KSwgKGdzdF9sYW1lX2luaXQpLAoJICAoZ3N0X2xhbWVfY2hhaW4pLCAoZ3N0X2xhbWVfZ2V0X2RlZmF1bHRfc2V0dGluZ3MpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgR2V0IHRoZSBkZWZhdWx0cyBzZXR0aW5ncyBvZiBMQU1FIGluIHRoZSBwbHVnaW4gaW5pdGlhbGl6YXRpb24KCSAgZnVuY3Rpb24gYW5kIHJldHVybiBGQUxTRSBoZXJlIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nLiBUaGlzIHJlbW92ZXMKCSAgdGhlIGhhY2t5IGZhaWxpbmcgaW5zdGFuY2UgaW5pdCBmdW5jdGlvbi4KCSAgVXNlIExBTUVzIGRlZmF1bHQgdmFsdWUgZm9yIGFsbCBzZXR0aW5ncyBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIHNvbWUKCSAgb2YgdGhlbS4gT3ZlcndyaXRpbmcgc29tZSBvZiB0aGVtIGdpdmVzIHVuZXhwZWN0ZWQgcmVzdWx0cyBpZiBvbmUgb25seQoJICBzZXRzIGEgcHJlc2V0LiBGaXhlcyBidWcgIzQ5ODAwNC4KCjIwMDgtMDctMjggMjA6MTc6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC40IHByZS1yZWxlYXNlCgoyMDA4LTA3LTI3IDE1OjU2OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IFVzZSBMQU1FJ3MgZGVmYXVsdCBmb3IgdGhlIG1pbi9tYXgvbWVhbiBWQlIgYml0cmF0ZS4gU2V0dGluZyBvdXIgb3duIGRlZmF1bHRzIHdpbGwgcmVzdHJpY3QgdGhlIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfaW5pdCk6CgkgIFVzZSBMQU1FJ3MgZGVmYXVsdCBmb3IgdGhlIG1pbi9tYXgvbWVhbiBWQlIgYml0cmF0ZS4gU2V0dGluZyBvdXIgb3duCgkgIGRlZmF1bHRzIHdpbGwgcmVzdHJpY3QgdGhlIGJpdHJhdGUgd2hlbiB1c2luZyB0aGUgcHJlc2V0cyBpbiBhIGJhZCB3YXkuCgkgIEZpeGVzIGJ1ZyAjNDk4MDA0LgoKMjAwOC0wNy0yNyAxMTowMToxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUHV0IHRoZSBNUEVHIGF1ZGlvIHZlcnNpb24gaW50byB0aGUgY2FwcyBhcyAibXBlZ2F1ZGlvdmVyc2lvbiIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3Npbmtfc2V0Y2Fwcyk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChtcDNfdHlwZV9mcmFtZV9sZW5ndGhfZnJvbV9oZWFkZXIpLCAobXAzX2NhcHNfY3JlYXRlKSwKCSAgKGdzdF9tcDNwYXJzZV9jaGFpbik6CgkgIFB1dCB0aGUgTVBFRyBhdWRpbyB2ZXJzaW9uIGludG8gdGhlIGNhcHMgYXMgIm1wZWdhdWRpb3ZlcnNpb24iLgoJICBUaGlzIGlzIGRpZmZlcmVudCBmcm9tICJtcGVndmVyc2lvbiIuCgoyMDA4LTA3LTI1IDE0OjUwOjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2VnbWVudC1zdG9wIHJlZ3Jlc3Npb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBGaXggc2VnbWVudC1zdG9wIHJlZ3Jlc3Npb24uCgkgIEFkZCBkb2N1bWVudGF0aW9uIHJlZ2FyZGluZyBzZWdtZW50cyBpbiBxdWlja3RpbWUgZmlsZXMgYnkgV2ltIFRheW1hbnMuCgkgIEZpeGVzICM1NDQ1MDkKCjIwMDgtMDctMjQgMjM6NTU6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC4zIHByZS1yZWxlYXNlCgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9wdF9CUi5wbzoKCSAgQWRkIHB0X0JSIHRyYW5zbGF0aW9uCgoyMDA4LTA3LTIzIDIyOjAxOjIwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZ29vbS86IEZpeCBidWlsZCB3aXRoIE1TVkM6IGluY2x1ZGUgZ2xpYi5oIHRvIGRlZmluZSBpbmxpbmUgYXBwcm9wcmlhdGVseSwgdXNlIGhlYWRlciBndWFyZHMgd2hlcmUgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSAgRml4IGJ1aWxkIHdpdGggTVNWQzogaW5jbHVkZSBnbGliLmggdG8gZGVmaW5lIGlubGluZSBhcHByb3ByaWF0ZWx5LAoJICB1c2UgaGVhZGVyIGd1YXJkcyB3aGVyZSBuZWVkZWQuCgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEZpeCBidWlsZCB3aXRoIE1TVkM6IHVzZSBXU0EqIGNvbnN0YW50cy9mdW5jdGlvbnMgd2hlcmUgYXBwcm9wcmlhdGUsIHVzZQoJICBnX3NucHJpbnRmIHJhdGhlciB0aGFuIHNucHJpbnRmLgoJICBGaXhlcyAjNTQ0NDMzLgoKMjAwOC0wNy0yMiAxODoyNTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBGaXggYnVpbGQgd2l0aCBsYW1lID49IDMuOTcuIFRoZSBwYWRkaW5nIHR5cGUgYW5kIGN3bGltaXQgc2V0dGluZ3MgYXJlIGRlcHJlY2F0ZWQgbm93IGFuZCB0aGUgZnVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NsYXNzX2luaXQpLCAoZ3N0X2xhbWVfaW5pdCksCgkgIChnc3RfbGFtZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2xhbWVfZ2V0X3Byb3BlcnR5KSwgKGdzdF9sYW1lX3NldHVwKToKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIEZpeCBidWlsZCB3aXRoIGxhbWUgPj0gMy45Ny4gVGhlIHBhZGRpbmcgdHlwZSBhbmQgY3dsaW1pdCBzZXR0aW5ncwoJICBhcmUgZGVwcmVjYXRlZCBub3cgYW5kIHRoZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIGhpZGRlbiBpbiB0aGUKCSAgaGVhZGVycyBzbyBkZXByZWNhdGUgdGhlIEdPYmplY3QgcHJvcGVydGllcyBmb3IgdGhlbSBhbmQgcmVtb3ZlIHRoZW0KCSAgaW4gMC4xMS4gRml4ZXMgYnVnICM1NDQwMzkuCgoyMDA4LTA3LTIyIDA2OjMyOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+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+CgoJICBnc3QvbWF0cm9za2EvOiBSZXZlcnNlIHRoZSBsZXZlbCBsaXN0IGFzIHdlIHVzdWFsbHkgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUgZmlyc3QgZWxlbWVudCBvciB3YW50IHRvIGFkZCBhIG5ldyBmaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfbGV2ZWxfZnJlZSksCgkgIChnc3RfZWJtbF9maW5hbGl6ZSksIChnc3RfZWJtbF9yZWFkX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGV2ZWxfdXApLCAoZ3N0X2VibWxfcmVhZF9tYXN0ZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSk6CgkgIFJldmVyc2UgdGhlIGxldmVsIGxpc3QgYXMgd2UgdXN1YWxseSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZQoJICBmaXJzdCBlbGVtZW50IG9yIHdhbnQgdG8gYWRkIGEgbmV3IGZpcnN0IGVsZW1lbnQuIEhhdmluZyB0aGUKCSAgZmlyc3QgZWxlbWVudCBzdG9yZWQgYXQgdGhlIGVuZCBhbmQgY2FsbGluZyBnX2xpc3RfbGFzdCgpIGFuZAoJICBnX2xpc3RfYXBwZW5kKCkgaXMgbW9yZSBleHBlbnNpdmUuCgkgIEFsc28gdXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyB0aGUgR3N0RWJtbExldmVsIHN0cnVjdHMuCgoyMDA4LTA2LTEzIDIxOjEzOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiBEb24ndCB1bnJlZiBOVUxMIHRhZ2xpc3QgaW4gZmluYWxpemUuIERvbid0IHVzZSBjKysgc3R5bGUgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogKGdzdF90YWdfaW5qZWN0X2ZpbmFsaXplKSwKCSAgKGdzdF90YWdfaW5qZWN0X2NsYXNzX2luaXQpLCAoZ3N0X3RhZ19pbmplY3RfaW5pdCk6CgkgIERvbid0IHVucmVmIE5VTEwgdGFnbGlzdCBpbiBmaW5hbGl6ZS4gRG9uJ3QgdXNlIGMrKyBzdHlsZQoJICBjb21tZW50cy4KCjIwMDgtMDYtMTMgMTk6MTQ6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFVzZSBnc3RfdmFsdWVfc2VyaWFsaXplKCkgYW5kIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSgpIGZvciB0cmFuc2Zvcm1pbmcgdGFncyBmcm9tIHNvbWUgR1R5cGUgdG8gYSBzdHJpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgVXNlIGdzdF92YWx1ZV9zZXJpYWxpemUoKSBhbmQgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplKCkgZm9yIHRyYW5zZm9ybWluZwoJICB0YWdzIGZyb20gc29tZSBHVHlwZSB0byBhIHN0cmluZyBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQuIFRoZSBkZWZhdWx0CgkgIHRyYW5zZm9ybWF0aW9ucyBpbiBHTGliIGRvbid0IGluY2x1ZGUgdHJhbnNmb3JtYXRpb25zIGZyb20gc3RyaW5nIHRvCgkgIG51bWJlciB0eXBlcy4KCjIwMDgtMDYtMTMgMTk6MDc6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBPbmx5IHBhcnNlIFRyYWNrcywgU2Vla0hlYWQgYW5kIFNlZ21lbnRJbmZvIGVsZW1lbnRzIG9uY2UgYnV0IGFsbG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBPbmx5IHBhcnNlIFRyYWNrcywgU2Vla0hlYWQgYW5kIFNlZ21lbnRJbmZvIGVsZW1lbnRzIG9uY2UgYnV0IGFsbG93CgkgIFRhZ3MgbXVsdGlwbGUgdGltZXMuIFRoZSBmaXJzdCBvbmVzIGNhbiBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgYnV0IG11c3QKCSAgY29udGFpbiB0aGUgc2FtZSBjb250ZW50IGFzIHRoZSBmaXJzdCBmb3IgYmFja3VwIHB1cnBvc2VzIHNvIHdlIGlnbm9yZQoJICBhbGwgYnV0IHRoZSBmaXJzdCBvbmUuIFRhZ3MgY2FuIGFwcGVhciBtdWx0aXBsZSB0aW1lcyB3aXRoIGRpZmZlcmVudAoJICBjb250ZW50LgoJICBKdW1wIHRvIGFsbCBlbGVtZW50cyBleGNlcHQgQ2x1c3RlcnMgdGhhdCBhcmUgYXZhaWxhYmxlIGZyb20gYQoJICBTZWVrSGVhZCB0byBtYWtlIGl0IG1vcmUgbGlrZWx5IHRvIGhhdmUgYWxsIHJlcXVpcmVkIGluZm9ybWF0aW9ucwoJICBiZWZvcmUgZ2V0dGluZyB0byB0aGUgZmlyc3QgQ2x1c3RlcnMuCgkgIEFkZCBkdW1teSBmdW5jdGlvbnMgZm9yIHBhcnNpbmcgQXR0YWNobWVudHMgYW5kIENoYXB0ZXJzLgoKMjAwOC0wNi0xMyAxNDozMzo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vOiBNb3JlIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTMgMTE6NTk6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBGaXggZG9jLW1hcmt1cDogdXNlIGNvbnZpbmllbmNlIHN5bnRheAoJICBmb3IgZXhhbXBsZXMgKHByb2R1Y2VzIHZhbGlkIGRvY2Jvb2spLCBhZGQgc2V2ZXJhbCByZWZzZWMyIHdoZW4gd2UKCSAgaGF2ZSBzZXZlcmFsIHRpdGxlcy4gRml4IHNvbWUgdHlwZXMuCgoyMDA4LTA2LTEzIDExOjU0OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYXV0b21hdGljIGpvaW4vbGVhdmUgb2YgbXVsdGljYXN0IGdyb3Vwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGF1dG9tYXRpYyBqb2luL2xlYXZlIG9mIG11bHRpY2FzdCBncm91cHMuCgkgIEFkZCBHX0xJS0VMWS4KCSAgUmVtb3ZlIHNldHRpbmcgY2FwcyBvbiBidWZmZXJzIGV4cGxpY2l0bHksIGJhc2VzcmMgZG9lcyB0aGF0IGZvciB1cyBub3cuCgkgIEltcHJvdmUgZGVidWcgaW5mby4KCSAgQ29udmVydCBzb21lIG5vbi1mYXRhbCBlcnJvciBpbnRvIHdhcm5pbmdzLgoJICBVc2UgZ19udG9ocyBmb3IgYmV0dGVyIHBvcnRhYmlsaXR5LgoJICBMZWF2ZSBtdWx0aWNhc3QgZ3JvdXBzIHdoZW4gc3RvcHBpbmcuCgkgIFdoZW4gdXNpbmcgZXh0ZXJuYWwgc29ja2V0cywgdXNlIGdldHNvY2tuYW1lKCkgb24gdGhlbSB0byBmaWxsIHVwIHRoZQoJICBhZGRyIHN0cnVjdHVyZSBiZWZvcmUgY2FsbGluZyBtZXRob2RzIHRoYXQgdXNlIHRoZSBzdHJ1Y3R1cmUuCgkgIFNob3VsZCBhbGwgZml4ICM1MzY5MDMuCgkgIEFQSTogR3N0VURQU3JjOjphdXRvLW11bHRpY2FzdCBwcm9wZXJ0eQoKMjAwOC0wNi0xMyAxMTo0NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogVXNlIGdfbnRvaGwgZm9yIGJldHRlciBwb3J0YWJpbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9pc19tdWx0aWNhc3QpOgoJICBVc2UgZ19udG9obCBmb3IgYmV0dGVyIHBvcnRhYmlsaXR5LgoKMjAwOC0wNi0xMyAxMTo0NTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEZpeCBhIHR5cG8gYW5kIGRvIHNvbWUgc21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgIEZpeCBhIHR5cG8gYW5kIGRvIHNvbWUgc21hbGwgY2xlYW51cHMuCgoyMDA4LTA2LTEzIDA5OjM5OjQxICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiBNYWtlIHRoZSBkZWxpdmVyeS1tZXRob2QgbWFuZGF0b3J5IG9uIHRoZSBjYXBzIGFuZCBvbmx5IGFjY2VwdCBpbmxpbmUgZm9yIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKToKCSAgTWFrZSB0aGUgZGVsaXZlcnktbWV0aG9kIG1hbmRhdG9yeSBvbiB0aGUgY2FwcyBhbmQgb25seSBhY2NlcHQgaW5saW5lCgkgIGZvciBub3cuCgkgIFJldmVyc2Ugc3RyY21wIGNoZWNrcyBmb3IgZGVsaXZlcnktbWV0aG9kLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIGRlbGl2ZXJ5IG1ldGhvZCBvcHRpb25hbCB3aGVuIHBhcnNpbmcgY2FwcyBhbmQgbm90ZSB0aGlzIGluIHRoZQoJICBjYXBzLgoJICBSZXZlcnNlIHN0cmNtcCBjaGVja3MgZm9yIGRlbGl2ZXJ5LW1ldGhvZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBVcGRhdGUgYSBjb21tZW50IHRvIG5vdGUgdGhhdCB0aGUgZGVsaXZlcnktbWV0aG9kIGlzIG9wdGlvbmFsLAoJICBGaXhlcyAjNTM3Njc1LgoKMjAwOC0wNi0xMyAwNjo1NzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIG1pc3NpbmcgZWxlbWVudHMgdG8gZG9jcy4gUmVzdG9yZSBhbHBoYWJldGljYWwgb3JkZXIgaW4gc2VjdGlvbiBmaWxlLiBEb2N1bWVudCBtYWQgKGl0IHdhcyBpbmNsdWRlZCBpbiBkb2NzIGFscmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy11Z2x5LXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy11Z2x5LXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9hNTJkZWMvZ3N0YTUyZGVjLmM6CgkgICogZXh0L2Ftcm5iL2Ftcm5iZGVjLmM6CgkgICogZXh0L2Ftcm5iL2Ftcm5iZW5jLmM6CgkgICogZXh0L2Ftcm5iL2Ftcm5icGFyc2UuYzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgICogZXh0L21hZC9nc3RtYWQuYzoKCSAgKiBleHQvc2lkcGxheS9nc3RzaWRkZWMuY2M6CgkgICogZ3N0L2FzZmRlbXV4L2dzdHJ0c3B3bXMuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0eGluZ211eC5jOgoJICAqIGdzdC9yZWFsbWVkaWEvcmFkZW11eC5jOgoJICAqIGdzdC9yZWFsbWVkaWEvcmR0bWFuYWdlci5jOgoJICAqIGdzdC9yZWFsbWVkaWEvcnRzcHJlYWwuYzoKCSAgKiBnc3Qvc3luYWVzdGhlc2lhL2dzdHN5bmFlc3RoZXNpYS5jOgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBSZXN0b3JlIGFscGhhYmV0aWNhbCBvcmRlciBpbiBzZWN0aW9uCgkgIGZpbGUuIERvY3VtZW50IG1hZCAoaXQgd2FzIGluY2x1ZGVkIGluIGRvY3MgYWxyZWFkeSkuCgkgIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4IGZvciBleGFtcGxlcwoJICAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZSBoYXZlIHNldmVyYWwKCSAgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTMgMDU6NTI6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgICogZXh0L3NpZHBsYXkvZ3N0c2lkZGVjLmNjOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3R4aW5nbXV4LmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoKMjAwOC0wNi0xMiAxNzozMDowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU2V0IHVkcHNyYyBmb3IgcmVjZWl2aW5nIGRhdGEgZnJvbSBtdWx0aWNhc3QgZ3JvdXBzIHRvIFBBVVNFRCBpbnN0ZWFkIG9mIGxlYXZpbmcgdGhlbSBpbiBSRUFEWS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KToKCSAgU2V0IHVkcHNyYyBmb3IgcmVjZWl2aW5nIGRhdGEgZnJvbSBtdWx0aWNhc3QgZ3JvdXBzIHRvIFBBVVNFRCBpbnN0ZWFkIG9mCgkgIGxlYXZpbmcgdGhlbSBpbiBSRUFEWS4gRml4ZXMgIzUzNzgzMi4KCjIwMDgtMDYtMTIgMTI6MTQ6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFNpbXBsaWZ5IGNvZGUuIGdzdF90YWdfbGlzdF9tZXJnZSgpIGRvZXMgdGhlIE5VTEwgY2hlY2tzLiBBZGQgYSBGSVhNRSBmb3IgYSByYW5kb20gY29uc3RhbnQgaW4gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBTaW1wbGlmeSBjb2RlLiBnc3RfdGFnX2xpc3RfbWVyZ2UoKSBkb2VzIHRoZSBOVUxMIGNoZWNrcy4gQWRkIGEgRklYTUUKCSAgZm9yIGEgcmFuZG9tIGNvbnN0YW50IGluIHRhZ211eGluZyBjb2RlLgoKMjAwOC0wNi0xMSAxNDoyODo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC4qOiBOb3cgYWN0dWFsbHkgYWRkaW5nIHRoZSBuZXcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuaDoKCSAgTm93IGFjdHVhbGx5IGFkZGluZyB0aGUgbmV3IGVsZW1lbnQuCgoyMDA4LTA2LTExIDE0OjExOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+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+CgkgICogY29uZmlndXJlLmFjOiBBZGQgY2hlY2tzIGZvciBGbGV4L1lhY2MvQmlzb24gYW5kIG90aGVyCgkgIGZ1cnJ5IGFuaW1hbHMsIGZvciB0aGUgbmV3IGdvb20gMms0IGJhc2VkIHBsdWdpbgoJICAqIGdzdC9nb29tLyo6IFVwZGF0ZSB0byB1c2UgZ29vbSAyazQsIHVzZXMgbGlib2lsIHRvIGRldGVjdAoJICBDUFUgb3B0aW1pc2F0aW9ucyAobm90IHdvcmtpbmcgeWV0KSwgbW92ZSB0aGUgb2xkIHBsdWdpbiB0by4uLgoJICAqIGdzdC9nb29tMmsxLyo6IC4uLiBoZXJlLCBpbiBjYXNlIHNvbWVib2R5IGlzIHNpY2sgZW5vdWdoCgkgIEZpeGVzICM1MTUwNzMKCjIwMDgtMDItMjIgMTQ6NTU6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IEZpeCBicm9rZW4gR1NUX0VMRU1FTlRfRVJST1IgbWFjcm8sIGZpeGVzIGNvbXBpbGUgd2l0aCB0aGUgU3VuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3Npbmtfc2V0Y2Fwcyk6CgkgIEZpeCBicm9rZW4gR1NUX0VMRU1FTlRfRVJST1IgbWFjcm8sIGZpeGVzIGNvbXBpbGUgd2l0aCB0aGUgU3VuCgkgIFdvcmtzaG9wIDEyIGNvbXBpbGVyLCBidXQgcHJvYmFibHkgYWxzbyBjcmFzaGVzICgjNTE3OTg1KS4KCjIwMDgtMDItMjIgMDk6NTY6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFBvc3QgdGhlIHNlcnZlciByZXNwb25zZSBjb2RlIGluIGFuIGVycm9yIG1lc3NhZ2UgaW5zdGVhZCBvZiBhIGdlbmVyaWMgJ2Vycm9yJyBtZXNzYWdlLiBGaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIFBvc3QgdGhlIHNlcnZlciByZXNwb25zZSBjb2RlIGluIGFuIGVycm9yIG1lc3NhZ2UgaW5zdGVhZCBvZiBhIGdlbmVyaWMKCSAgJ2Vycm9yJyBtZXNzYWdlLiBGaXhlcyAjNTE3MjM3LgoKMjAwOC0wMi0yMiAwNzoyMDowMyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2ZyZWUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIFByZWZpeCBwcm94eSBVUklzIHdpdGggImh0dHA6Ly8iIGlmIHRoZXkgZG9uJ3Qgc3RhcnQgd2l0aCBpdAoJICBhbHJlYWR5IGFuZCBjYXRjaCBlcnJvcnMgZWFybGllciwgZml4ZXMgaGFuZ2luZyBpbiBzb21lIHNpdHVhdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTE0OTQ4LgoKMjAwOC0wMi0yMiAwNjoyMjozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IElnbm9yZSBnY29uZmF1ZGlvc3JjIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCB0b28uIEl0IHdpbGwgZmFsbGJhY2sgdG8gYWxzYXNyYyBpZiB0aGUgZ2NvbmYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgZ2NvbmZhdWRpb3NyYyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QgdG9vLiBJdCB3aWxsIGZhbGxiYWNrCgkgIHRvIGFsc2FzcmMgaWYgdGhlIGdjb25mIHNldHRpbmdzIGNhbid0IGJlIHJlYWQgYW5kIG5vdCBldmVyeWJvZHkgaGFzCgkgIGFsc2EuCgoyMDA4LTAyLTIyIDA2OjA2OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogQWx3YXlzIHJlcG9ydCB0aGUgZHVyYXRpb24gaWYgd2Uga25vdyBpdCBpbiBwdXNoIG1vZGUgYW5kIGRvbid0IHJldHVybiAwIGp1c3QgdG8gbWFrZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBbHdheXMgcmVwb3J0IHRoZSBkdXJhdGlvbiBpZiB3ZSBrbm93IGl0IGluIHB1c2ggbW9kZSBhbmQgZG9uJ3QKCSAgcmV0dXJuIDAganVzdCB0byBtYWtlIHRvdGVtIGJlbGlldmUgd2UgY2FuJ3Qgc2VlayBpbiBwdXNoIG1vZGUuCgkgIE5ld2VyIHRvdGVtIHZlcnNpb24gdXNlIHRoZSBTRUVLSU5HIHF1ZXJ5IHdoaWNoIHByb3Blcmx5IHJlcG9ydHMKCSAgaWYgd2UgY2FuIHNlZWsgb3Igbm90LgoKMjAwOC0wMi0yMiAwNTozOTowMSArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzogQzg5IGZpeCwgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOiAobWFpbik6CgkgIEM4OSBmaXgsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZgoJICB0aGUgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTMzLgoKMjAwOC0wMi0yMSAyMzo0NzozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgo9PT0gcmVsZWFzZSAwLjEwLjcgPT09CgoyMDA4LTAyLTIxIDAwOjA5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNyAtIFJlZCBEb29yIEJsYWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNyAtIFJlZCBEb29yIEJsYWNrCgoyMDA4LTAyLTIwIDIyOjUxOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wMi0xOSAxMDo0NzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2FscGhhL01ha2VmaWxlLmFtOiBMaW5rIGFscGhhIHBsdWdpbiB3aXRoIGxpYmdzdGJhc2UuIEZpeGVzIGJ1ZyAjNTE3Mzg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgIExpbmsgYWxwaGEgcGx1Z2luIHdpdGggbGliZ3N0YmFzZS4gRml4ZXMgYnVnICM1MTczODYuCgoyMDA4LTAyLTE4IDExOjEzOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbml0IHZhbHVlcyB0byAtMSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IDAgdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pOgoJICBJbml0IHZhbHVlcyB0byAtMSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IDAgdmFsdWUuCgkgIEZpeGVzICM1MTY1MjQuCgoyMDA4LTAyLTE0IDE0OjUwOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6IEFkZCBtaXNzaW5nIGluY2x1ZGUgdG8gZml4IGNvbXBpbGF0aW9uIHdoZW4gbGlieG1sIHVzYWdlIGlzIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIEFkZCBtaXNzaW5nIGluY2x1ZGUgdG8gZml4IGNvbXBpbGF0aW9uIHdoZW4gbGlieG1sIHVzYWdlIGlzIGRpc2FibGVkLgoJICBGaXhlczogIzUxNjM3MQoKMjAwOC0wMi0xMiAyMzozODoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIGZpeGVzOiAjNTE0ODg5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogIFdpbSBUYXltYW5zICA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoJICBmaXhlczogIzUxNDg4OQoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBGaXggdmFyaW91cyBsZWFrcyBzaG93biB1cCBpbiB2YWxncmluZAoJICAtIGZyZWUgc3Byb3BzIGFuZCBidWZmZXIgaW4gZXJyb3IgY2FzZXMgaW4gSDI2NCBwYXlsb2FkZXIKCSAgLSBmaXggbGVhayBpbiBtcDRnIGRlcGF5bG9hZGVyIHdoZW4gY29uc3RydWN0aW9uIHRoZSBjYXBzCgkgIC0gZG9uJ3QgbGVhayBjb25maWcgc3RyaW5nIGluIHRoZSBtcDRnIHBheWxvYWRlcgoJICAtIGRvbid0IGxlYWsgYnVmZmVycyBhbmQgaGVhZGVycyBpbiB0aGVvcmEgYW5kIHZvcmJpcyBwYXlsb2FkZXJzCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgRml4IHRoZSBSVFAgZGF0YSB0ZXN0CgkgIC0gQWN0dWFsbHkgc2VuZCB2YWxpZCBhbXIgZGF0YSB0byB0aGUgcGF5bG9hZGVyIGluc3RlYWQgb2YgMjAKCSAgemVyby1ieXRlcwoJICAtIFRoZSBtcDRnIHBheWxvYWRlciBleHBlY3RzIGNvZGVjX2RhdGEgb24gdGhlIGNhcHMKCjIwMDgtMDItMTIgMjE6MzY6NDAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgbGliZ3N0cG5nLmRzcCB0byBNQU5JRkVTVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBsaWJnc3RwbmcuZHNwIHRvIE1BTklGRVNULgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgQWRkIG5ldyBzb3VyY2UgZmlsZXMgdG8gVlMgcHJvamVjdCBmaWxlLgoKMjAwOC0wMi0xMiAxMzozNDo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBJbml0aWFsaXNlIHZhcmlhYmxlcyB3aGVuIG9wZW5pbmcgdGhlIFggZGlzcGxheSByYXRoZXIgdGhhbiBpbiBfc3RhcnQoKSwgYXMgdGhlIGRpc3BsYXkgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgSW5pdGlhbGlzZSB2YXJpYWJsZXMgd2hlbiBvcGVuaW5nIHRoZSBYIGRpc3BsYXkgcmF0aGVyCgkgIHRoYW4gaW4gX3N0YXJ0KCksIGFzIHRoZSBkaXNwbGF5IGNhbiBiZSBvcGVuZWQgYmVmb3JlIHRoYXQuCgkgIEZpeGVzOiAjNTE1OTg1CgoyMDA4LTAyLTEyIDEyOjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RkcmF3c3VyZmFjZV9jbGFzc19pbml0KSwgKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19maW5hbGl6ZSk6CgkgIFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgoyMDA4LTAyLTEyIDExOjM4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IENoYWluIHVwIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfY2xhc3NfaW5pdCk6CgkgIENoYWluIHVwIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTg0LgoKMjAwOC0wMi0xMiAxMToxNDozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6IENoYWluIHVwIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiBmb3Igb3VyIGN1c3RvbSBidWZmZXIgc3ViLWNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgQ2hhaW4gdXAgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uIGZvciBvdXIgY3VzdG9tCgkgIGJ1ZmZlciBzdWItY2xhc3MuCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICBGaXhlczogIzUxNTcwNgoKMjAwOC0wMi0xMiAxMToxMjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlYnVnL2VmZW5jZS5jOiBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBtZXRob2QuIEZpeGVzIGJ1ZyAjNTE1OTc5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZmVuY2VkX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9jbGFzc19pbml0KToKCSAgUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgbWV0aG9kLiBGaXhlcyBidWcgIzUxNTk3OS4KCjIwMDgtMDItMTIgMTE6MDk6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRnJlZSBhbGxvY2F0ZWQgRGFtYWdlIG1lbW9yeSBiZWZvcmUgY2xvc2luZyBvdXIgY29ubmVjdGlvbiB0byB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgRnJlZSBhbGxvY2F0ZWQgRGFtYWdlIG1lbW9yeSBiZWZvcmUgY2xvc2luZyBvdXIgY29ubmVjdGlvbiB0byB0aGUKCSAgWCBzZXJ2ZXIuIEZpeGVzOiAjNTE1NzA2CgoyMDA4LTAyLTEyIDA1OjIxOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgoyMDA4LTAyLTEyIDA1OjE0OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgYSBmZXcgbGlianBlZyBzdXBwcmVzc2lvbnMgYW5kIGluaXRpYWxpemUgYSB2YXJpYWJsZSB0byBtYWtlIHNtb2tlZW5jIHZhbGdyaW5kIGNsZWFuLiBGaXhlcyBidWcgIzUxNTcwMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtZ29vZC5zdXBwOgoJICBBZGQgYSBmZXcgbGlianBlZyBzdXBwcmVzc2lvbnMgYW5kIGluaXRpYWxpemUgYSB2YXJpYWJsZSB0bwoJICBtYWtlIHNtb2tlZW5jIHZhbGdyaW5kIGNsZWFuLiBGaXhlcyBidWcgIzUxNTcwMS4KCjIwMDgtMDItMTEgMjE6MjQ6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBSZXZlcnQgcGF0Y2ggd2hpY2ggc2VuZHMgdGltZXN0YW1wcyBvbmx5IG9uIGtleWZyYW1lcywgYXMgaXQgYnJlYWtzIHBsYXliYWNrIHdpdGggY3VycmVudCBnc3QtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUmV2ZXJ0IHBhdGNoIHdoaWNoIHNlbmRzIHRpbWVzdGFtcHMgb25seSBvbiBrZXlmcmFtZXMsIGFzIGl0CgkgIGJyZWFrcyBwbGF5YmFjayB3aXRoIGN1cnJlbnQgZ3N0LWZmbXBlZy4KCSAgRml4ZXM6ICM1MTU1NjIKCjIwMDgtMDItMTEgMTQ6MDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENsb3NlIHNvbWUgbWVtb3J5IGxlYWtzIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4gRml4ZXMgYnVnICM1MTU2OTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQ2xvc2Ugc29tZSBtZW1vcnkgbGVha3Mgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LiBGaXhlcyBidWcgIzUxNTY5Ny4KCjIwMDgtMDItMTEgMTM6NDg6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9nY29uZi9nY29uZi5jOiBVc2UgYW5kIHVuc2V0IHRoZSBHRXJyb3Igd2hlbiBwaXBlbGluZSBjcmVhdGlvbiBmYWlscyBpbnN0ZWFkIG9mIHNpbXBseSBsZWFraW5nIGl0LiBGaXhlcyBidWcgIzUxNS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgIFVzZSBhbmQgdW5zZXQgdGhlIEdFcnJvciB3aGVuIHBpcGVsaW5lIGNyZWF0aW9uIGZhaWxzIGluc3RlYWQgb2YKCSAgc2ltcGx5IGxlYWtpbmcgaXQuIEZpeGVzIGJ1ZyAjNTE1NzA0LgoKMjAwOC0wMi0xMSAwOToxMzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBEb24ndCBsZWFrIHRoZSBhbGxvd2VkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NldHVwKToKCSAgRG9uJ3QgbGVhayB0aGUgYWxsb3dlZCBjYXBzLgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9sYW1lLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFN0b3AgbGVha2luZyBhbGwgYnVmZmVycy4gRml4ZXMgYnVnICM1MTU1NzUuCgoyMDA4LTAyLTEwIDEwOjQ2OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEZpeCBsb25nIGRlc2NyaXB0aW9uIG9mIGF1ZGlvZnggZWxlbWVudHMuIEZpeGVzIGJ1ZyAjNTE1NDU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBGaXggbG9uZyBkZXNjcmlwdGlvbiBvZiBhdWRpb2Z4IGVsZW1lbnRzLiBGaXhlcyBidWcgIzUxNTQ1Ny4KCjIwMDgtMDItMDkgMDE6NDU6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIGEgc2ltcGxlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHRoZSBzcGVjdHJ1bSBlbGVtZW50LCBpbmNsdWRlIGl0IGluIHRoZSBkb2NzLCBhbmQgZml4IHNvbWUgZG9jdW1lbnRhdGlvbiBhbWJpZ3VpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgQWRkIGEgc2ltcGxlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHRoZSBzcGVjdHJ1bSBlbGVtZW50LCBpbmNsdWRlIGl0CgkgIGluIHRoZSBkb2NzLCBhbmQgZml4IHNvbWUgZG9jdW1lbnRhdGlvbiBhbWJpZ3VpdGllcy4KCSAgRml4ZXM6ICMzNDgwODUKCjIwMDgtMDItMDkgMDA6MTU6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGluY2x1ZGVzIG9yZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBGaXggaW5jbHVkZXMgb3JkZXIKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRXhjbHVkZSB2NGwyc3JjIGZyb20gdGhlIHN0YXRlcyB0ZXN0IC0gaXQgdGFrZXMgdG9vIGxvbmcgdG8gc3RhcnQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgTWFrZSB0aGUgdGVzdCBydW4gcHJvcGVybHkgd2l0aCBDS19GT1JLPW5vCgoyMDA4LTAyLTA4IDE1OjMyOjM2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCAzIG5ldyBwbHVnaW5zIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIDMgbmV3IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDA4LTAyLTA4IDE1OjI3OjUxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoKMjAwOC0wMi0wOCAxNToyMDozMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRmxhZyBrZXlmcmFtZSBhbmQgZGVsdGEgdW5pdHMgY29ycmVjdGx5IHdoZW4gZGVhbGlnbiB3aXRoIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDItMDggIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6IEZsYWcKCSAga2V5ZnJhbWUgYW5kIGRlbHRhIHVuaXRzIGNvcnJlY3RseSB3aGVuIGRlYWxpZ24gd2l0aCBhCgkgIEJsb2NrR3JvdXAuCgkgIEZpeGVzOiAjNTE0Mzk3CgoyMDA4LTAyLTA4IDEwOjE5OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IFNwZWxsIHRoZSBuZXcgdGVzdHMgY29ycmVjdGx5IGluIC5jdnNpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgU3BlbGwgdGhlIG5ldyB0ZXN0cyBjb3JyZWN0bHkgaW4gLmN2c2lnbm9yZQoKMjAwOC0wMi0wOCAxMDowOTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IE5lZWQgdG8gdXNlIGdzaXplIGhlcmUgZm9yIHRoZSBzaXplLCBmaXhlcyBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIE5lZWQgdG8gdXNlIGdzaXplIGhlcmUgZm9yIHRoZSBzaXplLCBmaXhlcyBjb21waWxlciB3YXJuaW5nLgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBmaWxlcyB0byBmaXggdGhlIGJ1aWxkLgoKMjAwOC0wMi0wOCAwNDoyNTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIG11bHRpZmlsZSBwbHVnaW4gZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBNb3ZlIG11bHRpZmlsZSBwbHVnaW4gZnJvbSAtYmFkLgoJICBGaXhlczogIzQ5MDI4MwoKMjAwOC0wMi0wOCAwMzo0NDoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlLzogVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgU2hvdWxkIGJlIGxlc3MgZXJyb3IgcHJvbmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIENyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdXNpbmcgc3RhbmRhcmQgZnVuY3Rpb25zIGluc3RlYWQgb2YKCSAgY3JlYXRpbmcgYSBkaXJlY3RvcnkgaW4gdGhlIGN1cnJlbnQgZGlyLgoKMjAwOC0wMi0wOCAwMzoyODo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHNwZWN0cnVtIHBsdWdpbiBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgc3BlY3RydW0gcGx1Z2luIGZyb20gLWJhZC4KCSAgTW92ZSBleGFtcGxlcyBpbnRvIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLgoKMjAwOC0wMi0wOCAwMjo1NjoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE1lbnRpb24gYnVnIDQxNTYyNyBmaXhlZCB3aXRoIHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVudGlvbiBidWcgNDE1NjI3IGZpeGVkIHdpdGggcHJldmlvdXMgY29tbWl0CgoyMDA4LTAyLTA4IDAyOjQ5OjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4gYWNyb3NzIGZyb20gLWJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiBhY3Jvc3MgZnJvbSAtYmFkCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIGVxdWFsaXplciwgYXVkaW9zaW5jd2JhbmQgYW5kIGF1ZGlvc2luY3dsaW1pdAoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMDgtMDItMDggMDI6NDg6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX09QVElPTl9DRkxBR1MsIHRvIGdldCAtV2Vycm9yIC1XYWxsIGludG8gdGhlIHRlc3RzIGFzIGZvcgoJICBvdGhlciBtb2R1bGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIGZyb20gLVdhbGwgLVdlcnJvcgoKMjAwOC0wMi0wOCAwMTowNzowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IE9ubHkgYnVpbGQgd2l0aCBESVNBQkxFX0RFUFJFQ0FURUQgZHVyaW5nIHRoZSBDVlMgY3ljbGUuIFByZS1yZWxlYXNlcyBhcmUgdHJlYXRlZCBsaWtlIHJlbGVhc2VzIGFuZCBidWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBPbmx5IGJ1aWxkIHdpdGggRElTQUJMRV9ERVBSRUNBVEVEIGR1cmluZyB0aGUgQ1ZTIGN5Y2xlLiBQcmUtcmVsZWFzZXMKCSAgYXJlIHRyZWF0ZWQgbGlrZSByZWxlYXNlcyBhbmQgYnVpbGQgd2l0aG91dCBpdC4KCjIwMDgtMDItMDcgMjE6NTc6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB0aGUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWJhZCBpbnRvIHRoZSBhdWRpb2Z4IHBsdWdpbiwgYW5kIHJlbmFtZSB0byBhdWRpb3dzaW5jbGltaXQgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSAgTW92ZSB0aGUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWJhZCBpbnRvCgkgIHRoZSBhdWRpb2Z4IHBsdWdpbiwgYW5kIHJlbmFtZSB0byBhdWRpb3dzaW5jbGltaXQgYW5kIGF1ZGlvd3NpbmNiYW5kCgkgIHJlc3BlY3RpdmVseS4KCSAgRml4ZXM6ICM0Njc2NjYKCjIwMDgtMDItMDcgMjE6MTc6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgaWYgd2UgZ2V0IGEgYnVmZmVyIHdpdGhvdXQgY2FwcywgYW5kIGFkZCBhIHNvbWV3aGF0IHVzZWZ1bCBkZWJ1ZyBtZXNzYWdlLiBQbHVzIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X2NoYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgaWYgd2UgZ2V0IGEgYnVmZmVyIHdpdGhvdXQKCSAgY2FwcywgYW5kIGFkZCBhIHNvbWV3aGF0IHVzZWZ1bCBkZWJ1ZyBtZXNzYWdlLiBQbHVzIHRlc3QuCgoyMDA4LTAyLTA3IDE5OjEzOjU2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBIQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgSEFWRV9VTklTVERfSCBpcyBkZWZpbmVkCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRGVmaW5lIHNvY2tsZW5fdCBhcyBpdCBzZWVtcyBpdCdzIG5vdCBkZWZpbmVkIGluIGRlZmF1bHQKCSAgVmlzdWFsIFN0dWRpbyBoZWFkZXJzLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZSBkZXBlbmRlbmNpZXMgYW5kIGFkZCBuZXcgc291cmNlIGZpbGVzCgoyMDA4LTAyLTA3IDE2OjM4OjU1ICswMDAwICBCamFybmUgUm9zZW5ncmVuIDxiamFybmVAYXhpcy5jb20+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiB3ZSBkb24ndCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCamFybmUgUm9zZW5ncmVuIDxiamFybmUgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3B1c2gpOgoJICBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiB3ZSBkb24ndCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgRml4ZXMgYnVnICM1MTQ5NjUuCgoyMDA4LTAyLTA3IDEzOjQ4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzogQWRkIGEgZml4bWUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCBzYW1lIGxlYWsgYXMgaW4gaW5wdXQtc2VsZWN0b3IuCgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdC4KCjIwMDgtMDItMDcgMTM6NDE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXByb3ZlIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgSW1wcm92ZSB0aGUgZG9jcy4KCjIwMDgtMDItMDcgMTA6MTc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIChnb29kKSByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZCBjb25mdXNpb24gYW5kIG1ha2UgaW1wbGljaXQgY29yZSByZXF1aXJlbWVudCBleHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byAoZ29vZCkgcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQKCSAgY29uZnVzaW9uIGFuZCBtYWtlIGltcGxpY2l0IGNvcmUgcmVxdWlyZW1lbnQgZXhwbGljaXQuCgoyMDA4LTAyLTA3IDEwOjA0OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDItMDYgMjM6NDQ6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQgLT4gYXVkaW9jaGViYmFuZCBhbmQgYXVkaW9jaGVieXNoZXZmcmVxbGltaXQgLT4gYXVkaW9jaGVibGltaXQgYW5kIGRvIHRoZSByZXF1aXNpdGUgQ1ZTLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICBSZW5hbWUgYXVkaW9jaGVieXNoZXZmcmVxYmFuZCAtPiBhdWRpb2NoZWJiYW5kIGFuZAoJICBhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCAtPiBhdWRpb2NoZWJsaW1pdCBhbmQgZG8gdGhlIHJlcXVpc2l0ZSBDVlMKCSAgc3VyZ2VyeS4KCSAgQ2xvc2VzOiAjNDkxODExCgoyMDA4LTAyLTA2IDExOjA3OjQ3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTAyLTA1IDE3OjU5OjI0ICswMDAwICBvcmphbiA8b3JqYW5mQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogRml4IGNhcHMgbWVtb3J5IGxlYWsuIEZpeGVzICM1MTQ1NzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogb3JqYW4gPG9yamFuZiBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCBjYXBzIG1lbW9yeSBsZWFrLiBGaXhlcyAjNTE0NTczLgoKMjAwOC0wMi0wNCAxMjowNzoxNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSWYgdGhlcmUncyBubyBlbnRyaWVzIGluIHRoZSBzdWJpbmRleCwgZG9uJ3QgdHJ5IHRvIGRvIGFueXRoaW5nIHN0dXBpZCwganVzdCByZXR1cm4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpOgoJICBJZiB0aGVyZSdzIG5vIGVudHJpZXMgaW4gdGhlIHN1YmluZGV4LCBkb24ndCB0cnkgdG8gZG8gYW55dGhpbmcgc3R1cGlkLAoJICBqdXN0IHJldHVybi4KCjIwMDgtMDItMDIgMTk6NDc6NTAgKzAwMDAgIEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbkBnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEZpeCBleHRyYWN0aW9uIG9mIHBpY3R1cmUgYmxvY2tzIHdpdGggbmV3ZXIgbGliZmxhYyB2ZXJzaW9ucyBhZ2FpbjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb2huIE1pbGxpa2luIDxqbWlsbGlraW4gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2Nhbl9mb3JfbGFzdF9ibG9jayksCgkgIChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKSwgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayk6CgkgIEZpeCBleHRyYWN0aW9uIG9mIHBpY3R1cmUgYmxvY2tzIHdpdGggbmV3ZXIgbGliZmxhYyB2ZXJzaW9ucyBhZ2FpbjoKCSAgRkxBQ19fTUVUQURBVEFfVFlQRV9QSUNUVVJFIGlzIGFuIGVudW0sIG5vdCBhIGRlZmluZSAoIzUxMzYyOCkuCgoyMDA4LTAyLTAyIDE4OjA2OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBydHAtcGF5bG9hZGluZyB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBydHAtcGF5bG9hZGluZyB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfVEVTVF9FTkQgc28gZ3N0LWluZGVudCBnZXRzIHRoZQoJICBmb3JtYXR0aW5nIHJpZ2h0OyBtYWtlIHRlc3QgbGVzcyB2ZXJib3NlIGluIGdlbmVyYWwsIGJ1dAoJICBtb3JlIHZlcmJvc2UgaW4gdGhlIGVycm9yIGNhc2UgKHdoaWNoIHNob3VsZCBwcm9iYWJseQoJICBtYWtlIHRoZSB0ZXN0IGZhaWwgYW55d2F5KS4KCjIwMDgtMDItMDEgMTg6Mjk6MjEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgYXZpc3VidGl0bGUgYW5kIGNoYW5nZSBjbGFzcyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgYXZpc3VidGl0bGUgYW5kIGNoYW5nZSBjbGFzcyB0bwoJICBDb2RlYy9QYXJzZXIvU3VidGl0bGUKCjIwMDgtMDEtMzEgMTY6MTI6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBUcmVhdCBFTk9UVFkgKGRyaXZlciBkb2VzIG5vdCBpbXBsZW1lbnQgaW9jdGwpIHRoZSBzYW1lIGFzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBUcmVhdCBFTk9UVFkgKGRyaXZlciBkb2VzIG5vdCBpbXBsZW1lbnQgaW9jdGwpIHRoZSBzYW1lIGFzCgkgIEVJTlZBTCBzaW5jZSBpdCBpbXBsaWVzIHRoZXJlIGFyZSBubyBhdmFpbGFibGUgc3RhbmRhcmRzLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksCgkgIChnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplKToKCSAgUmVwbGFjZSBnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMgd2l0aCAyIGNhbGxzIHRvIG5ldyBmdW5jdGlvbgoJICBnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplLCBhbmQgZ2V0IGl0IHRvIHVzZSBWSURJT0NfU19GTVQgdG8KCSAgcHJvYmUgaWYgdGhlIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IFZJRElPQ19UUllfRk1UIGZvciB3aGF0ZXZlcgoJICByZWFzb24sIGFuZCBpZiB3ZSBhcmVuJ3QgeWV0IGFjdGl2ZWx5IGNhcHR1cmluZy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIFJlbW92ZSByZXBsYWNlZCBmdW5jdGlvbiBkZWNsYXJhdGlvbi4KCjIwMDgtMDEtMzEgMTY6MDM6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjE2IGZvciB0aGUgZ3N0X3ZpZGVvX2Zvcm1hdF8qCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4xNiBmb3IgdGhlIGdzdF92aWRlb19mb3JtYXRfKgoJICBBUEkuCgoyMDA4LTAxLTMxIDA5OjUwOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCjIwMDgtMDEtMzEgMDg6NTc6MTYgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoKMjAwOC0wMS0zMSAwMDowMzoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCB0eXBvLgoKMjAwOC0wMS0zMSAwMDowMDoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYWxwaGEvOiBSZS13cml0ZSB0aGUgJ2FscGhhJyBwbHVnaW4gdG8gYmUgQmFzZVRyYW5zZm9ybSBiYXNlZCwgc2ltcGxpZnlpbmcgc29tZSBzdHVmZiwgYW5kIG1ha2luZyBidWZmZXItYWxsb2MgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBSZS13cml0ZSB0aGUgJ2FscGhhJyBwbHVnaW4gdG8gYmUgQmFzZVRyYW5zZm9ybSBiYXNlZCwgc2ltcGxpZnlpbmcKCSAgc29tZSBzdHVmZiwgYW5kIG1ha2luZyBidWZmZXItYWxsb2MgYW5kIHJlc2l6aW5nIHdvcmsgYXV0b21hdGljYWxseS4KCSAgTm8gbG9uZ2VyIGNyYXNoZXMgb24gb2RkIGZyYW1lIHdpZHRocyBhbmQgaGVpZ2h0cywgYWx0aG91Z2ggdGhlcmUKCSAgc2VlbXMgdG8gYmUgYSBkaXNhZ3JlZW1lbnQgd2l0aCBmZm1wZWdjb2xvcnNwYWNlIGFib3V0IHdoYXQgc2l6ZQoJICBhbiBBWVVWIGZyYW1lIHdpdGggb2RkIGhlaWdodCBzaG91bGQgYmUuCgoyMDA4LTAxLTMwIDE1OjQwOjM2ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICBSZWdlbmVyYXRlIGV2ZXJ5dGhpbmcgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGNoYW5nZXMgd2UgaGFkLgoKMjAwOC0wMS0zMCAxMzoyOToxNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCk6CgkgIExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkKCSAgZW52aXJvbm1lbnQgdmFyaWFibGUuCgoyMDA4LTAxLTMwIDEzOjA4OjQ1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSAgQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTMwIDEzOjA2OjAxICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2JvZHlfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Jlc3BvbnNlX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm94eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdXAyLjQgYW5kIHJlcXVpcmUgaXQuIEFsc28gaW1wbGVtZW50IHJlZGlyZWN0aW9uCgkgIGFuZCBtYW51YWwgcHJveHkgc3BlY2lmaWNhdGlvbi4gRml4ZXMgYnVnICM1MTA3MDguCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBzb3VwaHR0cHNyYy4KCjIwMDgtMDEtMjkgMTg6NDM6MzIgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuKjogUHJlYWxsb2NhdGUgdGhlIG91dHB1dCBidWZmZXIgc28gdGhhdCBnX21lbWR1cCgpIGFuZCBnc3RfYnVmZmVyX21lcmdlKCkgYXJlbid0IG5lZWRlZCBhbnltb3JlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6ICh1c2VyX3dyaXRlX2RhdGEpLCAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgUHJlYWxsb2NhdGUgdGhlIG91dHB1dCBidWZmZXIgc28gdGhhdCBnX21lbWR1cCgpIGFuZAoJICBnc3RfYnVmZmVyX21lcmdlKCkgYXJlbid0IG5lZWRlZCBhbnltb3JlLiBUaGlzIGdyZWF0bHkgaW1wcm92ZXMKCSAgcGVyZm9ybWFuY2VzIGFuZCBmaXhlcyAjNTEyNTQ0LgoKMjAwOC0wMS0yOSAxODoyNDoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogR1N0cmVhbWVyIHRpbWVzdGFtcHMgYXJlIFBUUyB2YWx1ZXMgd2hpbGUgQVZJIG9ubHkga25vd3MgYWJvdXQgRFRTIHRpbWVzdGFtcHMuIE1ha2Ugc3VyZSB3ZSBvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgR1N0cmVhbWVyIHRpbWVzdGFtcHMgYXJlIFBUUyB2YWx1ZXMgd2hpbGUgQVZJIG9ubHkga25vd3MgYWJvdXQgRFRTCgkgIHRpbWVzdGFtcHMuIE1ha2Ugc3VyZSB3ZSBvbmx5IGNvcHkgdGhlIERUUyBhcyB0aGUgYnVmZmVyIHRpbWVzdGFtcCB3aGVuCgkgIHdlIGFyZSBkZWFsaW5nIHdpdGggYSBrZXkgZnJhbWUuCgoyMDA4LTAxLTI5IDE1OjQ1OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBhZGQgdGVzdHN1aXRlIGZvciB0aGUgcnRwLXBheWxvYWRlciB0aGF0IHRyaWVzIHNpbXVsYXRpbmcgZGF0YWZsb3cuIE5lZWRzIG1vcmUgdGVzdCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIEFkZCBhZGQgdGVzdHN1aXRlIGZvciB0aGUgcnRwLXBheWxvYWRlciB0aGF0IHRyaWVzIHNpbXVsYXRpbmcKCSAgZGF0YWZsb3cuIE5lZWRzIG1vcmUgdGVzdCBkYXRhLgoKMjAwOC0wMS0yOSAxNToyNzowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOiBSZW1vdmUgdHdvIHVudXNlZCB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgUmVtb3ZlIHR3byB1bnVzZWQgdmFyaWFibGVzLgoKMjAwOC0wMS0yOCAxMjoxNzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIGdfYXNjaWlfc3RydG9sbCgpIGluc3RlYWQgb2YgYXRvbGwsIHdoaWNoIGlzIG9ubHkgYXZhaWxhYmxlIGluIEM5OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFVzZSBnX2FzY2lpX3N0cnRvbGwoKSBpbnN0ZWFkIG9mIGF0b2xsLCB3aGljaCBpcyBvbmx5CgkgIGF2YWlsYWJsZSBpbiBDOTkuCgoyMDA4LTAxLTI2IDE2OjE5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UKCSAgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoKMjAwOC0wMS0yNSAxMDo1MzoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgTVBFRzIgdmlkZW8gcGF5bG9hZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkgIEFkZCBNUEVHMiB2aWRlbyBwYXlsb2FkZXIKCjIwMDgtMDEtMjMgMTc6MDU6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBVc2UgI2luY2x1ZGUgPG1hdGguaD4gaW5zdGVhZCBvZiAjaW5jbHVkZSAibWF0aC5oIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIFVzZSAjaW5jbHVkZSA8bWF0aC5oPiBpbnN0ZWFkIG9mICNpbmNsdWRlICJtYXRoLmgiLgoKMjAwOC0wMS0yMSAxOTo0MTo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRml4IHVwIHNvbWUgQ0ZMQUdTIHNldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBGaXggdXAgc29tZSBDRkxBR1Mgc2V0cy4KCSAgRG9uJ3QgaW5jbHVkZSBnY29uZnZpZGVvc3JjIGluIHRoZSBzdGF0ZXMgdGVzdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCBzb21lIGVycm9yIHN0cmluZ3MgdG8gZmFpbF91bmxlc3MgYXJndW1lbnRzIHRvIGZpeCBzb21lIHdlaXJkCgkgIGNvbXBpbGVyIGVycm9ycyBvbiBTb2xhcmlzLgoKMjAwOC0wMS0yMSAxOTozNTo1OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgY29uZmlndXJlLmFjOiBEZXRlY3QgdmlkZW80bGludXggaGVhZGVycyBvbiBTb2xhcmlzIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXRlY3QgdmlkZW80bGludXggaGVhZGVycyBvbiBTb2xhcmlzIHRvby4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX25ldyk6CgkgIE1ha2UgdjRsMiBidWlsZCBvbiBTb2xhcmlzLgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjNTEwNTA1CgoyMDA4LTAxLTIxIDExOjQ2OjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDogVXBkYXRlIGxpc3QgZnJvbSAoc3RpbGwgbG9jYWwpIHNjYW5uaW5nIHNjcmlwdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFVwZGF0ZSBsaXN0IGZyb20gKHN0aWxsIGxvY2FsKSBzY2FubmluZyBzY3JpcHQuCgoyMDA4LTAxLTIxIDA5OjU3OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldCBldmVuIG1vcmUuCgoyMDA4LTAxLTIxIDA3OjU0OjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBVcGRhdGUgeG1sIGluY2x1ZGVzLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBSZWdlbmVyYXRlIGZpbGVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgdGVzdCBiaW5hcnkgdG8gaWdub3Jlcy4KCjIwMDgtMDEtMjAgMDU6MDc6NTIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YKCSAgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgd2hpY2ggaXMgd3JvbmcgYWZ0ZXIgYSBzZWVrLgoKMjAwOC0wMS0xOSAxNDo1OTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBBZGQgYnVnIG51bWJlciB0byB0aGUgbGF0ZXN0IGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgYnVnIG51bWJlciB0byB0aGUgbGF0ZXN0IGVudHJ5CgoyMDA4LTAxLTE5IDE0OjUzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU2V0IHZhcmlhYmxlIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBpdCB0byBwcmV2ZW50IGRvdWJsZSBmcmVlcyBvciBtYWtlIGZhaWx1cmVzIGJ5IGFub3RoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6CgkgIFZpY3RvciBTVElOTkVSIDx2aWN0b3IgZG90IHN0aW5uZXIgYXQgaGF5cG9jYWxjIGRvdCBjb20+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBTZXQgdmFyaWFibGUgdG8gTlVMTCBhZnRlciBmcmVlaW5nIGl0IHRvIHByZXZlbnQgZG91YmxlIGZyZWVzCgkgIG9yIG1ha2UgZmFpbHVyZXMgYnkgYW5vdGhlciB1c2Ugb2YgaXQgYWZ0ZXJ3YXJkcyBtb3JlIG9idmlvdXMKCSAgYW5kIGZpeCB1c2Ugb2YgaXQgYWZ0ZXIgdGhlIGZyZWVpbmcuCgoyMDA4LTAxLTE5IDE0OjM0OjUwICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdCB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0CgkgIHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGlvbiBxdWVyeS4KCjIwMDgtMDEtMTggMTM6NDA6MzggKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiB1c2UgR1NUX1dBUk5JTkcgZm9yIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdXNlIEdTVF9XQVJOSU5HIGZvciBsb2dnaW5nCgoyMDA4LTAxLTE4IDEwOjA1OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTE4IDEwOjA0OjI1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRG9uJ3QgdHJ5IHRvIGxlYXZlIGEgbXVsdGljYXN0IGdyb3VwIHdpdGggYW4gaW52YWxpZCBzb2NrZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgRG9uJ3QgdHJ5IHRvIGxlYXZlIGEgbXVsdGljYXN0IGdyb3VwIHdpdGggYW4gaW52YWxpZCBzb2NrZXQKCjIwMDgtMDEtMTggMDg6NDk6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6IChzZXR1cF9lcXVhbGl6ZXIpLAoJICAoY2xlYW51cF9lcXVhbGl6ZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoZXF1YWxpemVyX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCjIwMDgtMDEtMTggMDc6MDM6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AgbGVha2luZwl0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpOgoJICBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wCgkgIGxlYWtpbmcJdGhlbS4KCjIwMDgtMDEtMTggMDU6MzI6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCjIwMDgtMDEtMTggMDU6MjQ6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoc291cF9hZGRfcmFuZ2VfaGVhZGVyKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfY2h1bmspOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCjIwMDgtMDEtMTcgMjE6MjM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IHdoZXJlIHRoZSBwaWN0dXJlIG1ldGFkYXRhIGRlZmluZXMgYW5kIHN0cnVjdHMgZG9uJ3QgZXhpc3QgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIEZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IGZsYWMgMS4xLjIgKGFzIG9uIGRlYmlhbiBzdGFibGUpLCB3aGVyZQoJICB0aGUgcGljdHVyZSBtZXRhZGF0YSBkZWZpbmVzIGFuZCBzdHJ1Y3RzIGRvbid0IGV4aXN0IHlldC4KCSAgRml4ZXMgIzUwOTMwMS4KCjIwMDgtMDEtMTcgMTc6MjY6NDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLio6IEZpeCB0aGUgY2FzZSB3aGVyZSB5b3UgaW5pdGlhbGx5IGhhdmUgc3RlcmVvIGlucHV0LCBhbmQgc28gbGFtZSdzIG1vZGUgaXMgbm90IHNldCB0byBtb25vLCBhbmQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgRml4IHRoZSBjYXNlIHdoZXJlIHlvdSBpbml0aWFsbHkgaGF2ZSBzdGVyZW8gaW5wdXQsIGFuZCBzbyBsYW1lJ3MKCSAgbW9kZSBpcyBub3Qgc2V0IHRvIG1vbm8sIGFuZCB0aGVuIHlvdSBnZXQgaW5wdXQgd2l0aCBtb25vIGF1ZGlvIGFuZAoJICBzb29uIGFmdGVyIHlvdSBnZXQgc3RlcmVvIGlucHV0IGFnYWluLiBXaGF0IGhhcHBlbmVkIGJlZm9yZSB0aGlzCgkgIGNvbW1pdCBpcyB0aGF0IGl0IHdvdWxkIGtlZXAgdGhlIGVuY29kaW5nIG1vZGUgYXMgbW9uby4gSXQgc2hvdWxkCgkgIGNoYW5nZSBpdCBiYWNrIHRvIHRoZSBvbmUgcmVxdWVzdGVkIGJ5IHRoZSBhcHAgKG9yIHRoZSBkZWZhdWx0IG9uZSkKCSAgaWYgbm90IHJlcXVlc3RlZC4KCjIwMDgtMDEtMTcgMTE6MTM6MTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgcHJvcGVydHkgdG8gYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0IGdyb3VwIG9yIG5vdC4gVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4gc2hhcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCksIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGF1dG9tYXRpY2FsbHkgam9pbiBhIG11bHRpY2FzdCBncm91cCBvciBub3QuIFRoaXMgY2FuIGJlCgkgIHVzZWZ1bCB3aGVuIHNoYXJpbmcgYSBzb2NrZXQgYmV0d2VlbiBtdWx0aXBsZSBlbGVtZW50cy4KCSAgRml4ZXMgIzUwOTUzMS4KCjIwMDgtMDEtMTYgMjE6NTM6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOiBBZGQgY29udHJvbGxlciBmbGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBjb250cm9sbGVyIGZsYWdzLgoKMjAwOC0wMS0xNiAyMDoxNzowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBBbHNvIGNvbW1pdCB0aGUgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgQWxzbyBjb21taXQgdGhlIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpLgoKMjAwOC0wMS0xNiAwODoxMTo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBSZW1vdmUgZHVwbGljYXRlIGVudHJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBkdXBsaWNhdGUgZW50cnkuCgoyMDA4LTAxLTE1IDE2OjUyOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgMyBtb3JlIHBsdWdpbnMgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgIEFkZCAzIG1vcmUgcGx1Z2lucyB0byBkb2NzLgoKMjAwOC0wMS0xNSAxNjowNDo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSBjYXVzZWQgYnkgYSBmaWxlIHRoYXQgZ290IHN0dWNrIG9uIGFuIG9sZCByZXZpc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIGNhdXNlZCBieSBhIGZpbGUgdGhhdCBnb3Qgc3R1Y2sgb24gYW4gb2xkCgkgIHJldmlzaW9uLgoKMjAwOC0wMS0xNSAxNTo0MDo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmUtYWRkIG11bHRpcGFydGRlbXV4IHRvIHRoZSBkb2NzLiBMYXN0IHJvdW5kIG9mIHNlY3Rpb24gY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgUmUtYWRkIG11bHRpcGFydGRlbXV4IHRvIHRoZSBkb2NzLiBMYXN0IHJvdW5kIG9mIHNlY3Rpb24gY2xlYW51cC4KCjIwMDgtMDEtMTUgMTU6MjI6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1hbmFnZWQgdG8gcmVzb2x2ZSBtb3N0IHVudXNlZCBkZWNsYXJhdGlvbnMuIEZpbGVkIGEgYnVnIGZvciBvbmUgbGVmdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIE1hbmFnZWQgdG8gcmVzb2x2ZSBtb3N0IHVudXNlZCBkZWNsYXJhdGlvbnMuIEZpbGVkIGEgYnVnIGZvciBvbmUgbGVmdC4KCjIwMDgtMDEtMTUgMDg6MDM6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBDbGVhbnVwIHNlY3Rpb24gZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIENsZWFudXAgc2VjdGlvbiBmaWxlLgoKMjAwOC0wMS0xNSAwNzo0Mjo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIHBsdWdpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIFVwZGF0ZSBwbHVnaW4gZG9jcy4KCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJwYWQuaDoKCSAgU3BsaXQgb3V0IGhlYWRlciB0byBmaXggd2FybmluZ3MgZnJvbSB0aGUgZG9jLWJ1aWxkLgoKMjAwOC0wMS0xNCAxMjozNToyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFzIGZvdW5kIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW4gbm9raWEgY29tPgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQXMgZm91bmQgYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbiBub2tpYSBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFVzZSBhdG9sbCB0byBwYXJzZSB0aGUgcnRwdGltZSB3aXRoIGVub3VnaCBwcmVjaXNpb24uIEZpeGVzICM1MDkzMjkuCgoyMDA4LTAxLTE0IDEyOjExOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSW5pdGlhbGlzZSB2YXJpYWJsZXMgdG8gd29yayBhcm91bmQgKGZhbHNlKSAnZm9vIG1pZ2h0IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uJyB3YXJuaW5ncyBieSBnY2MtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogKGdzdF9hdmlfc3VidGl0bGVfZXh0cmFjdF9maWxlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKToKCSAgSW5pdGlhbGlzZSB2YXJpYWJsZXMgdG8gd29yayBhcm91bmQgKGZhbHNlKSAnZm9vIG1pZ2h0IGJlIHVzZWQKCSAgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uJyB3YXJuaW5ncyBieSBnY2MtMy4zLjMgKCM1MDkyOTgpLgoKMjAwOC0wMS0xNCAxMToyNDo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBVc2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlIGluc3RlYWQgb2YgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCBhcyA4ICogR1NUX1NFQ09ORCBpcyB0b28gbGFyZ2UgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NpbmtfZXZlbnQpOgoJICBVc2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlIGluc3RlYWQgb2YgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludAoJICBhcyA4ICogR1NUX1NFQ09ORCBpcyB0b28gbGFyZ2UgZm9yIGludC4KCjIwMDgtMDEtMTQgMDk6MTc6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0BzeWtuZXQuYmU+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IENvcnJlY3RseSBzZXQgbnVtYmVyIG9mIGNoYW5uZWxzIHdoZW4gdXNpbmcgbW9uby1lbmNvZGluZyBtb2RlIGFuZCBmaXggdGhlIGR1cmF0aW9uIGNhbGN1bGF0aW9uIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc3lrbmV0IGRvdCBiZT4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2xhbWVfc2lua19ldmVudCk6CgkgIENvcnJlY3RseSBzZXQgbnVtYmVyIG9mIGNoYW5uZWxzIHdoZW4gdXNpbmcgbW9uby1lbmNvZGluZyBtb2RlCgkgIGFuZCBmaXggdGhlIGR1cmF0aW9uIGNhbGN1bGF0aW9uIG9mIHRoZSBFT1MgYnVmZmVyLgoKMjAwOC0wMS0xMiAwMjozMjozNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJZ25vcmUgbW9yZSBmaWxlcyBmb3IgdGhlIGJ1aWxkYm90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUgZmlsZXMgZm9yIHRoZSBidWlsZGJvdC4KCjIwMDgtMDEtMTEgMjE6MDg6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgR2VuZXJhdGUgdGhlIGltYWdlLXR5cGUgdmFsdWVzIGNvcnJlY3RseS4gTGVhdmUgdGhlbSBvdXQgb2YgdGhlIGNhcHMgd2hlbiBvdXRwdXR0aW5nIGEgInByZXZpZXcgaW1hZ2UiIHRhZywgc2luY2UgaXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIEdlbmVyYXRlIHRoZSBpbWFnZS10eXBlIHZhbHVlcyBjb3JyZWN0bHkuIExlYXZlIHRoZW0gb3V0IG9mIHRoZSBjYXBzCgkgIHdoZW4gb3V0cHV0dGluZyBhICJwcmV2aWV3IGltYWdlIiB0YWcsIHNpbmNlIGl0IG9ubHkgbWFrZXMgc2Vuc2UKCSAgdG8gaGF2ZSBvbmUgb2YgdGhvc2UgLSB0aGUgdHlwZSBpcyBpcnJlbGV2YW50LgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9vcGVuKToKCSAgSWYgd2UgY2FuLCBtYXJrIHRoZSBtaXhlciBtdWx0aXBsZSBvcGVuIHdoZW4gd2UgdXNlIGl0LCBpbiBjYXNlCgkgIChmb3Igc29tZSByZWFzb24pIHRoZSBwcm9jZXNzIHdhbnRzIHRvIG9wZW4gaXQgYWdhaW4gZWxzZXdoZXJlLgoKMjAwOC0wMS0xMSAxOToxNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKGNyZWF0ZV90ZXN0X2J1ZmZlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKHRlc3RfYnVmZmVyX25ldyk6CgkgIEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgoyMDA4LTAxLTExIDE4OjU2OjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdmlnbm9yZToKCSAgaWdub3JlIHNvbWUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIHNvbWUgbW9yZQoKMjAwOC0wMS0xMSAxODo1NDozMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBzb21lIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBzb21lIG1vcmUKCjIwMDgtMDEtMTEgMTc6MjE6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogRml4IHRoZSBjbG9jayByYXRlIHRvIDkwMDAwIGFzIHJlcXVpcmVkIGJ5IHRoZSBSRkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgRml4IHRoZSBjbG9jayByYXRlIHRvIDkwMDAwIGFzIHJlcXVpcmVkIGJ5IHRoZSBSRkMuCgkgIEZpeGVzICM1MDg2NDQuCgoyMDA4LTAxLTExIDE3OjEyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1NUX1BMVUdJTl9ERUZJTkVfU1RBVElDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoaWN5ZGVtdXhfc3VpdGUpOgoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCBHU1RfUExVR0lOX0RFRklORV9TVEFUSUMuCgoyMDA4LTAxLTEwIDEyOjI1OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBhdXRvZ2VuLnNoOiBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncwoJICBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlIHJlcXVpcmUgR05VIG1ha2UgaW4gYWxtb3N0CgkgIGV2ZXJ5IE1ha2VmaWxlIGFueXdheS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBTV9QUk9HX0NDX0NfTyBhcyBhIGNvbXBpbGVyIHRoYXQgYWNjZXB0cyBib3RoIC1jIGFuZCAtbwoJICBhdCB0aGUgc2FtZSB0aW1lIGlzIHJlcXVpcmVkIGZvciBwZXIgdGFyZ2V0IGZsYWdzLgoKMjAwOC0wMS0wOSAxNToyODoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IGVycm9yIGZyb20gbXkgbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpOgoJICBGaXggZXJyb3IgZnJvbSBteSBsYXN0IGNvbW1pdC4KCjIwMDgtMDEtMDkgMTU6MjA6MTkgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTWFrZSBzdXJlIHRoZSBJU08gNjM5LVggbGFuZ3VhZ2UgY29kZSBpbiBJRDN2MiBDT01NIGZyYW1lcyBzbyB3ZSBkb24ndCBlbmQgdXAgd2l0aCBub24tVVQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW4gbm9raWEgY29tPgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfY29tbWVudF9mcmFtZSk6CgkgIE1ha2Ugc3VyZSB0aGUgSVNPIDYzOS1YIGxhbmd1YWdlIGNvZGUgaW4gSUQzdjIgQ09NTSBmcmFtZXMKCSAgaXMgYWN0dWFsbHkgdmFsaWQgVVRGLTggKG9yIHJhdGhlcjogQVNDSUkpLCBzbyB3ZSBkb24ndCBlbmQKCSAgdXAgd2l0aCBub24tVVRGOCBzdHJpbmdzIGluIHRhZ3MgaWYgdGhlcmUncyBnYXJiYWdlIGluIHRoZQoJICBsYW5ndWFnZSBmaWVsZC4gQWxzbyBtYWtlIHN1cmUgdGhlIGxhbmd1YWdlIGNvZGUgaXMgYWx3YXlzCgkgIGxvd2VyIGNhc2UuIEZpeGVzOiAjNTA4MjkxLgoKMjAwOC0wMS0wOSAxMzo1NToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBGaXggQ2hhbmdlTG9nIHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgRml4IENoYW5nZUxvZyB0eXBvLgoKMjAwOC0wMS0wOSAxMzo1MDowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGdpbmcgY292ZXJhZ2UgcmVwb3J0cy4gR3VhcmQgY2hlY2stdG9ydHVyZSB0YXJnZXQgbGlrZSBpbiB0aGUgb3RoZXIgcGFja2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxnaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEd1YXJkCgkgIGNoZWNrLXRvcnR1cmUgdGFyZ2V0IGxpa2UgaW4gdGhlIG90aGVyIHBhY2thZ2VzLgoKMjAwOC0wMS0wOSAxMjozMzo1OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwgKF9kb19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hpbGRfcHJveHlfaW5pdCksIChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9yZWxlYXNlX3BhZCksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyk6CgkgIEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZS4KCSAgU2VuZCBuZXdzZWdtZW50IGF0IHRoZSByaWdodCBtb21lbnQKCSAgRml4ZXMgIzQ4ODg3OQoKMjAwOC0wMS0wOSAxMjowMToxNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hbHBoYS86IE1ha2UgdGhlIHZhcmlvdXMgcHJvcGVydGllcyBvZiAnYWxwaGEnIGNvbnRyb2xsYWJsZS4gVGhpcyBhbGxvd3MgZG9pbmcgbmljZXRpZXMgbGlrZSBmYWRlLWluL2ZhZGUtb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfY2xhc3NfaW5pdCksIChnc3RfYWxwaGFfaW5pdCksCgkgIChnc3RfYWxwaGFfc2lua19ldmVudCksIChnc3RfYWxwaGFfY2hhaW4pLAoJICAoZ3N0X2FscGhhX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgIE1ha2UgdGhlIHZhcmlvdXMgcHJvcGVydGllcyBvZiAnYWxwaGEnIGNvbnRyb2xsYWJsZS4gVGhpcyBhbGxvd3MgZG9pbmcKCSAgbmljZXRpZXMgbGlrZSBmYWRlLWluL2ZhZGUtb3V0LgoKMjAwOC0wMS0wOSAxMToxMTowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC86IFJlbW92ZSBjb3B5L3Bhc3RlIHVudXNlZCBjb2RlIChwcm9wZXJ0eSBzZXR0ZXJzIGFuZCBnZXR0ZXIpIGZvdW5kIGJ5IHRoZSBjb3ZlcmFnZSBzdWl0ZSAoeWF5LCBzYXZlcyB+MjBrIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgUmVtb3ZlIGNvcHkvcGFzdGUgdW51c2VkIGNvZGUgKHByb3BlcnR5IHNldHRlcnMgYW5kIGdldHRlcikgZm91bmQgYnkKCSAgdGhlIGNvdmVyYWdlIHN1aXRlICh5YXksIHNhdmVzIH4yMGsgb24gZGlzaykuCgoyMDA4LTAxLTA4IDIwOjAzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBbHNvIGZpeCB1cCBwYWQgdGVtcGxhdGVzIHRvIGluZGljYXRlIHRoYXQgaW1hZ2UvanBlZyBkb2Vzbid0IGFic29sdXRlbHkgcmVxdWlyZSB0aGUgZnJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKENPTU1PTl9WSURFT19DQVBTX05PX0ZSQU1FUkFURSksCgkgICh2aWRlb3NpbmtfdGVtcGwpOgoJICBBbHNvIGZpeCB1cCBwYWQgdGVtcGxhdGVzIHRvIGluZGljYXRlIHRoYXQgaW1hZ2UvanBlZyBkb2Vzbid0CgkgIGFic29sdXRlbHkgcmVxdWlyZSB0aGUgZnJhbWVyYXRlIHByb3BlcnR5IHRvIGJlIHNldCAoIzUwNDA4MSkuCgoyMDA4LTAxLTA4IDE5OjU3OjIzICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBLZWVwIHRyYWNrIG9mIGZpcnN0IGFuZCBsYXN0IHRpbWVzdGFtcHMgZm9yIGVhY2ggaW5jb21pbmcgc3RyZWFtLCBzbyB3ZSBjYW4gY2FsY3VsYXRlIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEtlZXAgdHJhY2sgb2YgZmlyc3QgYW5kIGxhc3QgdGltZXN0YW1wcyBmb3IgZWFjaCBpbmNvbWluZyBzdHJlYW0sCgkgIHNvIHdlIGNhbiBjYWxjdWxhdGUgdGhlIHRvdGFsIGR1cmF0aW9uIGZvciBsaXZlIHNvdXJjZXMgYW5kIG90aGVyCgkgIGlucHV0IHdoZXJlIHdlIGNhbid0IHF1ZXJ5IHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBzdGFydCBvciB3aGVyZQoJICB0aGVyZSdzIG5vIGNvbnN0YW50IGZyYW1lcmF0ZSBmcm9tIHdoaWNoIHdlIGNhbiBkZWR1Y2UgdGhlCgkgIGR1cmF0aW9uOyBhbHNvIHVzZSBjYWxjdWxhdGVkL29ic2VydmVkIGR1cmF0aW9uIGlmIGl0IGlzIGJpZ2dlcgoJICB0aGFuIHRoZSBwcmV2aW91c2x5IHF1ZXJpZWQgZHVyYXRpb24uIEZ1cnRoZXJtb3JlLCB1c2UKCSAgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgYW5kIHRha2UgaW50byBhY2NvdW50IHRoYXQgaXQgbWF5CgkgIHJldHVybiBUUlVFIGJ1dCBzdGlsbCBhIGR1cmF0aW9uIG9mIENMT0NLX1RJTUVfTk9ORSwgd2hpY2ggZWFzaWx5CgkgIHNjcmV3cyB1cCBjb21wYXJpc29ucyB3aGVuIHVzaW5nIHVuc2lnbmVkIGludGVnZXJzLiBGaXhlcyAjNTA0MDgxLgoKMjAwOC0wMS0wOCAxNDo1ODoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgTWFrZSBlbGVtZW50cyBHU1RfQlVGRkVSX0ZMQUdfR0FQIGF3YXJlIGFuZCBjYWxsIGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfZ2FwX2F3YXJlIGZvciB0aGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIChnc3RfYXVkaW9fYW1wbGlmeV9jbGlwcGluZ19tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfaW5pdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpOgoJICBNYWtlIGVsZW1lbnRzIEdTVF9CVUZGRVJfRkxBR19HQVAgYXdhcmUgYW5kIGNhbGwKCSAgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9nYXBfYXdhcmUgZm9yIHRoaXMuCgkgIEJ1bXAgY29yZSByZXF1aXJlbWVudCB0byBDVlMuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3RyYW5zZm9ybV9pcCk6CgkgIEFsc28gc3luYyBHT2JqZWN0IHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaWYgb3BlcmF0aW5nCgkgIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA4LTAxLTA3IDE2OjQxOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCjIwMDgtMDEtMDUgMjE6MjA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAxLTA1ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF93aW5kb3dfaWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2RyYXdfYm9yZGVycyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91cgoJICBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2hhbmNlIHRvCgkgIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIHByZXBhcmUteHdpbmRvdy1pZCBidXMgbWVzc2FnZS4gRHJhdwoJICBibGFjayBib3JkZXJzIHdoZW4ga2VlcGluZyBhc3BlY3QgcmF0aW8uIEhhbmRsZSB0aGUgY2FzZSB3aGVyZQoJICBvdXIKCSAgcmVuZGVyaW5nIHdpbmRvdyBkaXNhcHBlYXJzIChjbG9zZWQgb3IgZXJyb3JzKSBsaWtlIG90aGVyIHNpbmtzCgkgIGRvLiBWYXJpb3VzIDgwIGNvbHVtbnMgZml4ZXMsIGltcHJvdmUgc3RhdGUgY2hhbmdlIG9yZGVyLiBUaGF0CgkgIGVsZW1lbnQgY291bGQgbmVlZCBzb21lIG1vcmUgbG92ZS4KCjIwMDgtMDEtMDQgMTg6MzA6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90YWdsaWIvOiBSZW1vdmUgdXNlbGVzcyB0eXBlZGVmcyB3aXRob3V0IG5ldyB0eXBlIG5hbWUuIEZpeGVzIGEgd2FybmluZyB3aXRoIGdjYyA0LjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgIFJlbW92ZSB1c2VsZXNzIHR5cGVkZWZzIHdpdGhvdXQgbmV3IHR5cGUgbmFtZS4gRml4ZXMgYSB3YXJuaW5nIHdpdGgKCSAgZ2NjIDQuMy4KCjIwMDgtMDEtMDMgMTI6MjY6MDMgKzAwMDAgIEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbkBnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEVtaXQgbWV0YWRhdGEgbWVzc2FnZXMgd2hlbiBhIFBJQ1RVUkUgYmxvY2sgaXMgZW5jb3VudGVyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9obiBNaWxsaWtpbiA8am1pbGxpa2luIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX25vcm1hbGl6ZV9waWN0dXJlX21pbWVfdHlwZSksCgkgIChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayk6CgkgIEVtaXQgbWV0YWRhdGEgbWVzc2FnZXMgd2hlbiBhIFBJQ1RVUkUgYmxvY2sgaXMgZW5jb3VudGVyZWQuCgkgIEZpeGVzICM1MDY3MTUuCgoyMDA4LTAxLTAyIDEzOjU0OjEwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmkuYzogaW5jcmVhc2UgcmFuayBiZWNhdXNlIG5vIGtub3duIGlzc3VlcyBhbnltb3JlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aS5jOgoJICBpbmNyZWFzZSByYW5rIGJlY2F1c2Ugbm8ga25vd24gaXNzdWVzIGFueW1vcmUgLi4uCgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBzZW5kIHN1YnRpdGxlIG5hbWUgdG8gdGhlIHNyY3BhZAoKMjAwNy0xMi0zMSAxMzoyNzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSW1wbGVtZW50IHJlZGlyZWN0IGZvciB0aGUgREVTQ1JJQkUgcmVwbHkuIEZpeGVzICM1MDYwMjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXBsZW1lbnQgcmVkaXJlY3QgZm9yIHRoZSBERVNDUklCRSByZXBseS4gRml4ZXMgIzUwNjAyNS4KCjIwMDctMTItMjkgMTY6NDg6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQKCSAgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggYW5kIGRvbid0CgkgIGFib3J0KCkgaW4gYW55IGNhc2UgYnV0IHByb3Blcmx5IHJlcG9ydCB0aGUgZXJyb3IuCgoyMDA3LTEyLTI4IDExOjQ0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NvdXAvOiBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24gaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChzb3VwX2dvdF9oZWFkZXJzKToKCSAgVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uCgkgIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoKMjAwNy0xMi0yNiAxNjowMzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCAoaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKToKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkCgkgIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IChpdCdzCgkgIG5vdCByZWFsbHkgbmljZSB0byBhYm9ydCBpbiBhbnkgY2FzZSkuIEZpeGVzICM1MDU3NDUuCgoyMDA3LTEyLTIwIDE3OjA3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3dpdGNoLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNy0xMi0xOCAyMzoxNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6IFNtYWxsIHVuaXQgdGVzdCBmaXggKGhhcyBubyBwcmFjdGljYWwgaW1wYWN0IGF0IHRoZSBtb21lbnQsIHNpbmNlIHdlJ3JlIG9ubHkgZmVlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOiAoY2hlY2tfY29ycmVjdF9idWZmZXIpOgoJICBTbWFsbCB1bml0IHRlc3QgZml4IChoYXMgbm8gcHJhY3RpY2FsIGltcGFjdCBhdCB0aGUgbW9tZW50LAoJICBzaW5jZSB3ZSdyZSBvbmx5IGZlZWRpbmcgdXRmOCBhbmQgaGVuY2UganVzdCBjcmVhdGUgYSBzdWItCgkgIGJ1ZmZlciBmb3IgdGhlIG91dHB1dCkuCgoyMDA3LTEyLTE4IDIxOjEzOjA1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIHNlZWtpbmcgc3VwcG9ydCBmb3IgYXZpIHN1YnRpdGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJICBBZGQgc2Vla2luZyBzdXBwb3J0IGZvciBhdmkgc3VidGl0bGUKCjIwMDctMTItMTggMTc6NDA6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IFJlbW92ZSBzb21lIHVudXNlZCB2YXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfcmVzZXRfZGVjb2RlcnMpLAoJICAoZ3N0X2ZsYWNfZGVjX3VwZGF0ZV9tZXRhZGF0YSksIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJzLgoJICBEbyBtb3JlIGNsZWFudXAgb2YgbGVmdG92ZXIgZXZlbnRzIGFuZCB0YWdzLgoJICBPdXRwdXQgdGFncyBhZnRlciB0aGUgc2VnbWVudCBldmVudC4gRml4ZXMgIzUwNDAxOC4KCjIwMDctMTItMTggMTQ6MzE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IERldGVjdCBvdGhlciBVVEYgYnl0ZSBvcmRlciBtYXJrZXJzIGFuZCBjb252ZXJ0IHRvIFVURi04IGFzIGFwcHJvcHJpYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6IChJU19CT01fVVRGOCksIChJU19CT01fVVRGMTZfQkUpLAoJICAoSVNfQk9NX1VURjE2X0xFKSwgKElTX0JPTV9VVEYzMl9CRSksIChJU19CT01fVVRGMzJfTEUpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9leHRyYWN0X2ZpbGUpLCAoZ3N0X2F2aV9zdWJ0aXRsZV9wYXJzZV9nYWIyX2NodW5rKToKCSAgRGV0ZWN0IG90aGVyIFVURiBieXRlIG9yZGVyIG1hcmtlcnMgYW5kIGNvbnZlcnQgdG8gVVRGLTggYXMKCSAgYXBwcm9wcmlhdGUuCgoyMDA3LTEyLTE4IDEzOjMwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS4qOiBSZWZhY3RvciBhIGJpdDsgZml4IG5hbWUgZXh0cmFjdGlvbjsgZG9uJ3QgYXNzdW1lIGFsbCB0aGUgZGF0YSBpbiB0aGUgY2h1bmsgaXMgYWN0dWFsbHkgc3ViLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogKHNyY190ZW1wbGF0ZSksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2V4dHJhY3RfdXRmOF9maWxlKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfcGFyc2VfZ2FiMl9jaHVuayksIChnc3RfYXZpX3N1YnRpdGxlX2NoYWluKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfYmFzZV9pbml0KSwgKGdzdF9hdmlfc3VidGl0bGVfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2luaXQpLCAoZ3N0X2F2aV9zdWJ0aXRsZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDoKCSAgUmVmYWN0b3IgYSBiaXQ7IGZpeCBuYW1lIGV4dHJhY3Rpb247IGRvbid0IGFzc3VtZSBhbGwgdGhlIGRhdGEKCSAgaW4gdGhlIGNodW5rIGlzIGFjdHVhbGx5IHN1YnRpdGxlIGRhdGEsIHRoZXJlIG1heSBiZSBwYWRkaW5nIGF0CgkgIHRoZSBlbmQ7IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZTsgc3RvcmUgZXh0cmFjdGVkIHN1YnRpdGxlCgkgIGZpbGUgc28gaXQncyB0aGVyZSB0byBzZW5kIGFnYWluIGFmdGVyIGEgc2VlayAoZm9yIGZ1dHVyZSB1c2UpLgoKMjAwNy0xMi0xOCAwOToxMzoxMiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBhdmkgc3VidGl0bGUgZWxlbWVudCBmb3IgYnVnICM0NDIwMzQuIE5lZWQgc2Vla2luZyBzdXBwb3J0IGFuZCBtb3JlIHN1cHBvcnQgZm9yIGNoYXJhY3RlciBjb252ZXJzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQWRkIGF2aSBzdWJ0aXRsZSBlbGVtZW50IGZvciBidWcgIzQ0MjAzNC4gTmVlZCBzZWVraW5nIHN1cHBvcnQKCSAgYW5kIG1vcmUgc3VwcG9ydCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24uCgoyMDA3LTEyLTE4IDA5OjA3OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0IGZpbGVzIChzZWUgIzM5MzYyNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdAoJICBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RwbmcuZHNwOgoJICBGaXggbGluZSBlbmRpbmdzIGFuZCBkbyBjdnMgYWRtaW4gLWtiLgoKMjAwNy0xMi0xNyAyMToxMjoyOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy4qOiBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQgYW4gRU9TIGluc3RlYWQgb2YgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQKCSAgYW4gRU9TIGluc3RlYWQgb2YgY2F1c2luZyBhbiBlcnJvci4KCjIwMDctMTItMTYgMjM6NDM6NDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFjdHVhbGx5IGRyb3AgdGhlIGJ1ZmZlcnMgd2hpY2ggYXJlIG91dHNpZGUgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIHNlZ21lbnQgaW5zdGVhZCBvZiBqdXN0IGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgQWN0dWFsbHkgZHJvcCB0aGUgYnVmZmVycyB3aGljaCBhcmUgb3V0c2lkZSB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQKCSAgc2VnbWVudCBpbnN0ZWFkIG9mIGp1c3QgZW1pdHRpbmcgYSBXQVJOSU5HLgoKMjAwNy0xMi0xNCAxODo0OTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogU2VuZCBzZWdtZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLiBGaXhlcyAjNTAyMTg3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFNlbmQgc2VnbWVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4gRml4ZXMgIzUwMjE4Ny4KCSAgRml4IHNlZ21lbnQgc2Vla2luZyBhbmQgYSBidW5jaCBvZiBvdGhlciBzZWVraW5nIGNhc2VzLgoKMjAwNy0xMi0xNCAxMDoxNzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBQYXJzZSBXT0FGIGZyYW1lcyBhbmQgcHV0IHRoZSByZXN1bHQgaW50byBHU1RfVEFHX0NPTlRBQ1QsIHdoaWNoIGlzIHdoZXJlIGl0IHdvdWxkIGVuZCB1cC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3VybF9saW5rX2ZyYW1lKToKCSAgUGFyc2UgV09BRiBmcmFtZXMgYW5kIHB1dCB0aGUgcmVzdWx0IGludG8gR1NUX1RBR19DT05UQUNULAoJICB3aGljaCBpcyB3aGVyZSBpdCB3b3VsZCBlbmQgdXAgaWYgdGhlIHNhbWUgaW5mb3JtYXRpb24gd2FzCgkgIHB1dCBpbiBhIHZvcmJpcyBjb21tZW50IChkb24ndCB0aGluayBpdCdzIHdvcnRoIGFkZGluZyBhCgkgIG5ldyBVUkkgdGFnIGZvciB0aGlzKS4gRml4ZXMgIzQ4ODExMi4KCjIwMDctMTItMTEgMjI6Mjk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFdlIG5lZWQgY29yZS9iYXNlIDAuMTAuMTUgb3IgbGF0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgbmVlZCBjb3JlL2Jhc2UgMC4xMC4xNSBvciBsYXRlci4KCjIwMDctMTItMTEgMTY6NDc6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggcmVncmVzc2lvbiBpbiBzdHJlYW0gbnVtYmVyaW5nLiBGaXhlcyAjNTAyNjU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpOgoJICBGaXggcmVncmVzc2lvbiBpbiBzdHJlYW0gbnVtYmVyaW5nLiBGaXhlcyAjNTAyNjU1LgoKMjAwNy0xMi0xMSAxNjozOTozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksICh1bmljb2RpZnkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwgKHNvdXBfZmluaXNoZWQpLAoJICAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksIChzb3VwX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBodHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBSZW9yZ2FuaXNlIGEgYnVuY2ggb2YgdGhpbmdzIGFuZCBjbGVhbnVwcy4KCSAgVXNlcyBHX0dVSU5UNjRfRk9STUFUIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgJWxsdS4KCSAgU2VlICM1MDIzMzUuCgoyMDA3LTEyLTExIDE2OjMxOjQ5ICswMDAwICBXYWktTWluZyBIbyA8d2VicmVnYm94QHlhaG9vLmNvLnVrPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IFVzZSBoaWdoZXIgcGVyZm9ybWFuY2Ugc3RhcnQtY29kZSBzZWFyY2hpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2FpLU1pbmcgSG8gPHdlYnJlZ2JveCBhdCB5YWhvbyBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwKCSAgKG5leHRfc3RhcnRfY29kZSksIChpc19uYWxfZXF1YWwpLCAoZ3N0X3J0cF9oMjY0X3BheV9kZWNvZGVfbmFsKSwKCSAgKGVuY29kZV9iYXNlNjQpLCAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIFVzZSBoaWdoZXIgcGVyZm9ybWFuY2Ugc3RhcnQtY29kZSBzZWFyY2hpbmcuCgkgIFBhcnNlIE5BTHMgYW5kIHN0b3JlIFNQUywgUFBTIGFuZCBwcm9maWxlIGluIHRoZSBjYXBzIHNvIHRoYXQgdGhleSBjYW4KCSAgYmUgdXNlZCBpbiB0aGUgU0RQLiBGaXhlcyAjNTAyODE0LgoKMjAwNy0xMi0xMSAxMTo1MDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyLzogSW5pdCBzb21lIHN0cnVjdHMgdG8gemVybyBiZWZvcmUgd2UgcGFzcyB0aGVtIHRvIGlvY3RsLCB3aGljaCBhdm9pZHMgdmFsZ3JpbmQgd2FybmluZ3MuICBBbHNvIGZpeCBhIHNtYWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KToKCSAgSW5pdCBzb21lIHN0cnVjdHMgdG8gemVybyBiZWZvcmUgd2UgcGFzcyB0aGVtIHRvIGlvY3RsLCB3aGljaAoJICBhdm9pZHMgdmFsZ3JpbmQgd2FybmluZ3MuICBBbHNvIGZpeCBhIHNtYWxsIG1lbW9yeSBsZWFrLgoKMjAwNy0xMi0xMSAxMTowNTo1NyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQ29weSB0aW1lc3RhbXAgZnJvbSBpbnB1dCB0byBvdXRwdXQuIE5vdCB2ZXJ5IHBlcmZlY3QgeWV0IGJ1dCBiZXR0ZXIgdGhhbiBub3RoaW5nLiBGaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICBDb3B5IHRpbWVzdGFtcCBmcm9tIGlucHV0IHRvIG91dHB1dC4gTm90IHZlcnkgcGVyZmVjdCB5ZXQgYnV0IGJldHRlcgoJICB0aGFuIG5vdGhpbmcuIEZpeGVzICM1MDMwMjMuCgoyMDA3LTEyLTA5IDE2OjQ5OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEFsc28gcHJpbnQgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSB3aXRoIHRoZSBvbGQgV2F2cGFjayBBUEkgaWYgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIEFsc28gcHJpbnQgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSB3aXRoIHRoZSBvbGQgV2F2cGFjayBBUEkKCSAgaWYgcG9zc2libGUuCgoyMDA3LTEyLTA5IDE2OjM0OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBNb3JlIGJ1aWxkIGZpeGVzIGZvciBvbGQgbGlid2F2cGFjayB2ZXJzaW9uczogaW5jbHVkZSBjb25maWcuaCBzbyB0aGF0IFdBVlBBQ0tfT0xEX0FQSSBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgTW9yZSBidWlsZCBmaXhlcyBmb3Igb2xkIGxpYndhdnBhY2sgdmVyc2lvbnM6IGluY2x1ZGUgY29uZmlnLmggc28KCSAgdGhhdCBXQVZQQUNLX09MRF9BUEkgaXMgYWN0dWFsbHkgZGVmaW5lZCBhcyBkZXRlY3RlZDsgb25seSB1c2UKCSAgV2F2cGFja0dldEVycm9yTWVzc2FnZSBpZiBpdCBpcyBhdmFpbGFibGUuIFRoaXMgZml4ZXMgdGhlIGJ1aWxkCgkgIG9uIGRlYmlhbiBzdGFibGUgZm9yIG1lLgoKMjAwNy0xMi0wOSAxNjoyMTowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBXb3JrYXJvdW5kIHRoZSBub24tZXhpc3RhbmNlIG9mIFdhdnBhY2tHZXRDaGFubmVsTWFzayBpbiBXYXZwYWNrIHZlcnNpb25zIGJlbG93IDQuNDAuMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgV29ya2Fyb3VuZCB0aGUgbm9uLWV4aXN0YW5jZSBvZiBXYXZwYWNrR2V0Q2hhbm5lbE1hc2sgaW4gV2F2cGFjawoJICB2ZXJzaW9ucyBiZWxvdyA0LjQwLjAuCgoyMDA3LTEyLTA5IDA1OjEzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFuZCBub3cgZG8gaXQgcmlnaHQgZm9yIHJlYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbmQgbm93IGRvIGl0IHJpZ2h0IGZvciByZWFsLi4uCgoyMDA3LTEyLTA5IDA1OjA5OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENvcnJlY3RseSByZXNldCAkTElCUyB0byBub3QgY29udGFpbiAtbG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29ycmVjdGx5IHJlc2V0ICRMSUJTIHRvIG5vdCBjb250YWluIC1sbS4KCjIwMDctMTItMDkgMDU6MDI6MTcgKzAwMDAgIEt3YW5nIFl1bCBTZW8gPGt3YW5neXVsLnNlb0BnbWFpbC5jb20+CgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDIGJ5IHVzaW5nIGdzdF91dGlsX2d1aW50NjRfdG9fZ2RvdWJsZSgpIGFuZCBjaGVja2luZyBmb3IgcmludCgpIGFuZCBpbXBsZW1lbnRpbmcgaXQgb3Vyc2VsZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IEt3YW5nIFl1bCBTZW8gPGt3YW5neXVsIGRvdCBzZW8gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgIChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3ByaW50X3NtcHRlX3RpbWUpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDIGJ5IHVzaW5nIGdzdF91dGlsX2d1aW50NjRfdG9fZ2RvdWJsZSgpCgkgIGFuZCBjaGVja2luZyBmb3IgcmludCgpIGFuZCBpbXBsZW1lbnRpbmcgaXQgb3Vyc2VsZiBpZiBpdCBkb2Vzbid0CgkgIGV4aXN0LgoKMjAwNy0xMi0wOSAwNDoyOTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoKMjAwNy0xMi0wOCAxNjo0NzozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOiBWZXJpZnkgdGhhdCB0aGUgZm9ybWF0IHJldHVybmVkIGFmdGVyIHRoZSBpb2N0bCBpcyB0aGUgb25lIHdlIHJlcXVlc3RlZC4gSXQgaXMgdmFsaWQgZm9yIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgVmVyaWZ5IHRoYXQgdGhlIGZvcm1hdCByZXR1cm5lZCBhZnRlciB0aGUgaW9jdGwgaXMgdGhlIG9uZQoJICB3ZSByZXF1ZXN0ZWQuIEl0IGlzIHZhbGlkIGZvciB0aGUgaW9jdGwgdG8gc3VjY2VlZCB3aGlsZQoJICBzdWJzdGl0dXRpbmcgYW4gYWx0ZXJuYXRlICdzdXBwb3J0ZWQnIHNhbXBsZSBmb3JtYXQuCgoyMDA3LTEyLTA3IDIwOjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IFBvc3QgZGVjZW50IChhbmQgdHJhbnNsYXRlZCkgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0IG9wZW4gdGhlIGF1ZGlvIGRldmljZSBmb3Igc29tZSByZWFzb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19vcGVuKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfb3Blbik6CgkgIFBvc3QgZGVjZW50IChhbmQgdHJhbnNsYXRlZCkgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0CgkgIG9wZW4gdGhlIGF1ZGlvIGRldmljZSBmb3Igc29tZSByZWFzb24uCgoyMDA3LTEyLTA3IDE5OjI5OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3MvOiBBbGxvdyB0aGUgQVVESU9ERVYgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcmVkaXJlY3QgdXMgdG8gYSBkaWZmZXJlbnQgZGVmYXVsdCBPU1MgZGV2aWNlLCBsaWtlIHN1bmF1ZGlvc2luay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBBbGxvdyB0aGUgQVVESU9ERVYgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcmVkaXJlY3QgdXMKCSAgdG8gYSBkaWZmZXJlbnQgZGVmYXVsdCBPU1MgZGV2aWNlLCBsaWtlIHN1bmF1ZGlvc2luayBkb2VzCgkgIG9uIFNvbGFyaXMgKG1ha2VzIGF1ZGlvIHBsYXkgYXV0b21hdGljYWxseSBvbiBTdW5SYXlzKS4KCjIwMDctMTItMDYgMTI6NDU6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMTItMDYgMTI6NDI6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjM3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28KCSAgdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVudCBpcyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjoyOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2ggbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoKMjAwNy0xMi0wNiAxMjoxMToyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBUaGUgdHJhbnNmb3JtX2lwKCkgbWV0aG9kcyBzaG91bGQgZG8gbm90aGluZyBpZiBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzogKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgIFRoZSB0cmFuc2Zvcm1faXAoKSBtZXRob2RzIHNob3VsZCBkbyBub3RoaW5nIGlmIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIEl0IG1pZ2h0IGdldCBub24td3JpdGFibGUgYnVmZmVycyBpbiB0aGF0IGNhc2UgYnV0IHRoZSBidWZmZXIgbWlnaHQKCSAgYXMgd2VsbCBiZSB3cml0YWJsZS4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgd29uJ3QgYmUgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgYW5kCgkgIG90aGVyd2lzZSB0aGUgYnVmZmVyIGlzIGFsd2F5cyB3cml0YWJsZSBzbyBkb24ndCBjaGVjayBoZXJlLgoKMjAwNy0xMi0wNiAxMTo0NjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggc2Vla2luZyBpbiAud2F2IGZpbGVzIGFnYWluICgjNTAxNzc1KS4gIFNvbWUgcGVvcGxlIHNlZW0gdG8gdGhpbmsgdGhleSBkb24ndCBuZWVkIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBGaXggc2Vla2luZyBpbiAud2F2IGZpbGVzIGFnYWluICgjNTAxNzc1KS4gIFNvbWUgcGVvcGxlIHNlZW0gdG8gdGhpbmsKCSAgdGhleSBkb24ndCBuZWVkIHRvIHRlc3QgdGhlaXIgY2hhbmdlcyB3aGVuIHRoZXkncmUganVzdCAncmVmbG93aW5nJwoJICBzb21lIGNvZGUuCgoyMDA3LTEyLTA1IDE2OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay4qOiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jcmVhdGVfZWxlbWVudF93aXRoX3ByZXR0eV9uYW1lKSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkgIEZpeCBkb2NzLgoJICBVc2Ugc2FtZSBlcnJvciByZXBvcnRpbmcgY29kZSBhcyBhdXRvYXVkaW9zaW5rLgoJICBBZGQgcHJvcGVydHkgdG8gZmlsdGVyIHNpbmtzIGJhc2VkIG9uIGNhcHMuIE9ubHkgc2VsZWN0IHJhdyB2aWRlbyBzaW5rcwoJICBieSBkZWZhdWx0IGZvciBiYWNrd2FyZHMgY29tcGF0LgoJICBBUEk6IEdzdEF1dG9WaWRlb1Npbms6OmZpbHRlci1jYXBzCgoyMDA3LTEyLTA1IDE2OjAyOjE1ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay4qOiBBZGQgcHJvcGVydHkgdG8gZmlsdGVyIHNpbmtzIGJhc2VkIG9uIGNhcHMuIE9ubHkgc2VsZWN0IHJhdyBhdWRpbyBzaW5rcyBieSBkZWZhdWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJICBBZGQgcHJvcGVydHkgdG8gZmlsdGVyIHNpbmtzIGJhc2VkIG9uIGNhcHMuIE9ubHkgc2VsZWN0IHJhdyBhdWRpbyBzaW5rcwoJICBieSBkZWZhdWx0IGZvciBiYWNrd2FyZHMgY29tcGF0LiAgRml4ZXMgIzQxNzQyMC4KCSAgQVBJOiBHc3RBdXRvQXVkaW9TaW5rOjpmaWx0ZXItY2FwcwoKMjAwNy0xMS0yOSAxMTo0MDoxNSArMDAwMCAgQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBJbml0aWFsaXNlIGxpYm9pbCBpbiBwbHVnaW5faW5pdCgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKHBsdWdpbl9pbml0KToKCSAgSW5pdGlhbGlzZSBsaWJvaWwgaW4gcGx1Z2luX2luaXQoKQoKMjAwNy0xMS0yOSAxMDo0OToxOCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQKCSAgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbmQgaXQgaGFzIHNvbWUgbGVha3MuCgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLAoJICAoc291cF9maW5pc2hlZCksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHVubG9jaygpLgoJICBQaWNrcyB1cCB0aGUgc2l6ZSBmcm9tIHRoZSBDb250ZW50LUxlbmd0aCBoZWFkZXIgYW5kIGVtaXQgYSBkdXJhdGlvbgoJICBtZXNzYWdlLgoJICBEb24ndCBsZWFrIHRoZSBHTWFpbkNvbnRleHQgb2JqZWN0LgoJICBGaXhlcyAjNTAwMDk5LgoKMjAwNy0xMS0yOSAxMDozNDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFBvc3QgZXJyb3IgYmVmb3JlIHNlbmRpbmcgRU9TLiBGaXhlcyAjNDk5MTc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKToKCSAgUG9zdCBlcnJvciBiZWZvcmUgc2VuZGluZyBFT1MuIEZpeGVzICM0OTkxNzguCgoyMDA3LTExLTI4IDIxOjU0OjUwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi92czYvOiBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIGxpYmdzdHBuZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdHBuZy5kc3A6CgkgIEFkZCBhIHByb2plY3QgZmlsZSBmb3IgbGliZ3N0cG5nCgoyMDA3LTExLTI4IDE3OjQ4OjQ1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogQ29kZSBiZWF1dGlmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgQ29kZSBiZWF1dGlmaWNhdGlvbi4KCSAgQWRkZWQgZGVidWcgc3RhdGVtZW50cy4KCSAgRG9uJ3QgYml0LXNoaWZ0IGV2ZXJ5dGhpbmcsIGp1c3QgZG8gb3BlcmF0aW9ucyBvbiBsYXN0L2ZpcnN0IGJ5dGUKCSAgaW5zdGVhZC4KCjIwMDctMTEtMjcgMTE6MTE6MDggKzAwMDAgIEpheWFyYW1hIFMuIFNhbnRhbmEgPHN1bmRhcnNhbnRhbmFAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogRml4IHdyb25nIGNvbXBhcmlzb24gaW4gb3ZlcnJ1biBjaGVjay4gRml4ZXMgIzQ5OTIzOSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmF5YXJhbWEgUy4gU2FudGFuYSA8c3VuZGFyc2FudGFuYSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCB3cm9uZyBjb21wYXJpc29uIGluIG92ZXJydW4gY2hlY2suIEZpeGVzICM0OTkyMzkgc29tZSBtb3JlLgoKMjAwNy0xMS0yNyAwMDowMTo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lio6IEZpeCBoMjYzIGRlcGF5bG9hZGVyIHNvIHRoYXQgQU5ZIGgyNjMgZGVjb2RlciBjYW4gaGFuZGxlIHRoZSBvdXRnb2luZyBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgRml4IGgyNjMgZGVwYXlsb2FkZXIgc28gdGhhdCBBTlkgaDI2MyBkZWNvZGVyIGNhbiBoYW5kbGUgdGhlIG91dGdvaW5nCgkgIHN0cmVhbS4KCjIwMDctMTEtMjYgMTk6MTc6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS4qOiBGaXggZGVwYXlsb2FkaW5nIHdoZW4gbXVsdGlwbGUgZnJhbWVzIGFyZSBpbnNpZGUgb25lIFJUUCBwYWNrZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBQYXRoIGJ5OiBKYXlhcmFtYSBTLiBTYW50YW5hIDxzdW5kYXJzYW50YW5hIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBGaXggZGVwYXlsb2FkaW5nIHdoZW4gbXVsdGlwbGUgZnJhbWVzIGFyZSBpbnNpZGUgb25lIFJUUCBwYWNrZXQuCgkgIEZpeGVzICM0OTkyMzkuCgoyMDA3LTExLTI2IDEyOjI2OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogQWRkIEdBUC1mbGFnIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBBZGQgR0FQLWZsYWcgc3VwcG9ydC4KCjIwMDctMTEtMjYgMTI6MDE6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiBSZWFkIHRoZSBJIGZsYWcgZm9yIE1vZGUgQSBoMjYzIHJ0cCBzdHJlYW0gYW5kIHNldCB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgUmVhZCB0aGUgSSBmbGFnIGZvciBNb2RlIEEgaDI2MyBydHAgc3RyZWFtIGFuZCBzZXQgdGhlCgkgIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIGFjY29yZGluZ2x5LgoJICBGaXhlcyAjNDk5MzgzCgoyMDA3LTExLTI2IDEwOjA4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCjIwMDctMTEtMjYgMTA6MDQ6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBSZW1vdmUgc29tZSBkZWFkIGNvZGUgYW5kIGRvIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIGFuZCBkbyBjbGVhbnVwcy4KCjIwMDctMTEtMjYgMDk6MTM6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IEltcHJvdmUgdGhlIHRlc3RzIGJ5IGFsbG93aW5nIHRvIHNldCBhIHRhcmdldCBzdGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdHMgYnkgYWxsb3dpbmcgdG8gc2V0IGEgdGFyZ2V0IHN0YXRlLgoKMjAwNy0xMS0yNiAwOTowNDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiBEb24ndCBjaGVjayB0aGUgY2FwcyBvZiB0aGUgb3V0cHV0IGJ1ZmZlciBpZiB0aGV5J3JlIGVxdWFsIHNvbWUgb3RoZXIgY2Fwcy4gVGhlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgY2hlY2sgdGhlIGNhcHMgb2YgdGhlIG91dHB1dCBidWZmZXIgaWYgdGhleSdyZSBlcXVhbCBzb21lCgkgIG90aGVyIGNhcHMuIFRoZSBjYXBzIGNhbiBjaGFuZ2UgaW4gYSBiYWNrd2FyZCBjb21wYXRpYmxlIHdheQoJICBhbmQgZGlkIGF0IHRoaXMgcG9pbnQuCgoyMDA3LTExLTI0IDE0OjU1OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0pLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9zZWVrX3RvX3ByZXZpb3VzX2tleWZyYW1lKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKTogSW1wbGVtZW50CgkgIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCjIwMDctMTEtMjEgMDk6NTY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCjIwMDctMTEtMjEgMDg6MjE6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZCBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQKCSAgaW4gLWdvb2QuCgoyMDA3LTExLTIwIDEzOjE0OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IEFsc28gc2V0IHRoZSBjaGFubmVsIGxheW91dCBvbiB0aGUgV2F2cGFjayBjYXBzIGlmIHdlJ3JlIGhhdmluZyBhIG1vbm8gbGF5b3V0LiBPZiBjb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiAoZ3N0X3dhdnBhY2tfc2V0X2NoYW5uZWxfbGF5b3V0KToKCSAgQWxzbyBzZXQgdGhlIGNoYW5uZWwgbGF5b3V0IG9uIHRoZSBXYXZwYWNrIGNhcHMgaWYgd2UncmUgaGF2aW5nCgkgIGEgbW9ubyBsYXlvdXQuIE9mIGNvdXJzZSBvbmx5IGRvIGl0IGZvciAiYXVkaW8veC13YXZwYWNrIi4KCjIwMDctMTEtMjAgMTM6MDg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogQWRkIHN1cHBvcnQgZm9yIGVuY29kaW5nLCBwYXJzaW5nIGFuZCBkZWNvZGluZyBtdWx0aWNoYW5uZWwgZmlsZXMgd2l0aCB1cCB0byA4IGNoYW5uZWxzLiBUaGlzIGFsc28gaW1wci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgIChnc3Rfd2F2cGFja19nZXRfZGVmYXVsdF9jaGFubmVsX21hc2spLAoJICAoZ3N0X3dhdnBhY2tfc2V0X2NoYW5uZWxfbGF5b3V0KSwKCSAgKGdzdF93YXZwYWNrX2dldF9kZWZhdWx0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF93YXZwYWNrX2dldF9jaGFubmVsX21hc2tfZnJvbV9wb3NpdGlvbnMpLAoJICAoZ3N0X3dhdnBhY2tfc2V0X2NoYW5uZWxfbWFwcGluZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2ZpeF9jaGFubmVsX29yZGVyKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGVuY29kaW5nLCBwYXJzaW5nIGFuZCBkZWNvZGluZyBtdWx0aWNoYW5uZWwKCSAgZmlsZXMgd2l0aCB1cCB0byA4IGNoYW5uZWxzLiBUaGlzIGFsc28gaW1wcm92ZXMgdGhlIHJvYnVzdG5lc3MKCSAgb2YgcGFyc2luZyBxdWl0ZSBhIGJpdC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3JlYWRfYnl0ZXMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9nZXRfcG9zKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19hYnMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX3JlbCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3B1c2hfYmFja19ieXRlKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfZ2V0X2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX2Nhbl9zZWVrKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfd3JpdGVfYnl0ZXMpOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDctMTEtMjAgMTI6MjA6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IERvbid0IHJlbGVhc2UgdGhlIHBuZy1tZW1vcnkgZnJvbSB3aXRoaW4gdGhlIGNhbGxiYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIERvbid0IHJlbGVhc2UgdGhlIHBuZy1tZW1vcnkgZnJvbSB3aXRoaW4gdGhlIGNhbGxiYWNrLgoKMjAwNy0xMS0yMCAxMjoxMToxMyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IERvbid0IGxlYWsgYnVmZmVyIGRhdGEgbWVtb3J5LiBGaXhlcyAjNDk4Mzk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIERvbid0IGxlYWsgYnVmZmVyIGRhdGEgbWVtb3J5LiBGaXhlcyAjNDk4Mzk1LgoKMjAwNy0xMS0yMCAxMTo0NjoyOCArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IFRlc3RzIGZvciAjNDk4Mzk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFRlc3RzIGZvciAjNDk4Mzk1LgoKMjAwNy0xMS0yMCAxMTo0MToxMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYnVpbGQgb24gTWFjIE9TIFggMTAuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IChnc3RfdGFnX2xpYl9tdXhfcmVuZGVyX3RhZyksCgkgIChnc3RfdGFnX2xpYl9tdXhfYWRqdXN0X2V2ZW50X29mZnNldHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdGhlb3JhX2V4dGVuc2lvbik6CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOiBGaXggYnVpbGQgb24gTWFjIE9TIFggMTAuNQoKMjAwNy0xMS0xOSAyMDozMDoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgoyMDA3LTExLTE2IDA1OjUyOjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBDaGFuZ2Ugc3RyY2FzZWNtcCgpIHRvIGdfc3RyY2FzZWNtcCgpLiAgRml4ZXMgIzQ5NzI5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIENoYW5nZSBzdHJjYXNlY21wKCkgdG8gZ19zdHJjYXNlY21wKCkuICBGaXhlcyAjNDk3MjkyLgoKMjAwNy0xMS0xNSAxODoxOToxOSArMDAwMCAgSm9yZGkgSmFlbiBQYWxsYXJlcyA8am9yZGlqcEBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuKjogRmlsbCB0aGUgTVRVIHdpdGggYXMgbWFueSBwYWNrZXRzIGFzIHBvc3NpYmxlLiBGaXhlcyAjNDkxMzIzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvcmRpIEphZW4gUGFsbGFyZXMgPGpvcmRpanAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzogKGdzdF9ydHBfbXAydF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDJ0X3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wMnRfcGF5X2ZsdXNoKSwgKGdzdF9ydHBfbXAydF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkgIEZpbGwgdGhlIE1UVSB3aXRoIGFzIG1hbnkgcGFja2V0cyBhcyBwb3NzaWJsZS4gRml4ZXMgIzQ5MTMyMy4KCjIwMDctMTEtMTUgMTc6NDc6NDMgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBzb21lIG1vcmUgbGVha3MuIEZpeGVzICM0OTcwMDcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgRml4IHNvbWUgbW9yZSBsZWFrcy4gRml4ZXMgIzQ5NzAwNy4KCjIwMDctMTEtMTUgMTc6MzU6MTggKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCAzIHBhZCBsZWFrcy4gRml4ZXMgIzQ5Njk4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKToKCSAgRml4IDMgcGFkIGxlYWtzLiBGaXhlcyAjNDk2OTgzLgoKMjAwNy0xMS0xNSAxNzoyNjoyNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgoyMDA3LTExLTE1IDE3OjAxOjMyICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogRml4IHNtYWxsIGxlYWsuIEZpeGVzICM0OTcwMTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpOgoJICBGaXggc21hbGwgbGVhay4gRml4ZXMgIzQ5NzAxNy4KCjIwMDctMTEtMTUgMTY6MzE6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEFkZCBzdXBwcG9ydCBmb3IgdGhlb3JhIGluIHF1aWNrdGltZSBhY2NvcmRpbmcgdG8gWGlwaFFULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKHF0ZGVtdXhfcGFyc2VfdGhlb3JhX2V4dGVuc2lvbiksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBzdXBwcG9ydCBmb3IgdGhlb3JhIGluIHF1aWNrdGltZSBhY2NvcmRpbmcgdG8gWGlwaFFULgoKMjAwNy0xMS0xNSAxMjoyMjoxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBBbHdheXMgY29weSBidWZmZXJzIGJ5IGRlZmF1bHQgKGhhbmRsZSBzYWZlciB3aXRoIGJ1Z2dlZCBkcml2ZXJzKSBhbmQgYWRkZWQgYSBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBtbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsd2F5cyBjb3B5IGJ1ZmZlcnMgYnkgZGVmYXVsdCAoaGFuZGxlIHNhZmVyIHdpdGggYnVnZ2VkIGRyaXZlcnMpIGFuZCBhZGRlZCBhIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIG1tYXAgZWZmZWN0aXZlbHkgKG5vIGNvcHkgaWYgcG9zc2libGUpIHdoZW4gYXBwbGljYXRpb24gd2FudHMgdG8uIEZpeGVzOiAjNDgwNTU3LgoKMjAwNy0xMS0xNCAyMTozOTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IFdlIGRvbid0IHdhbnQgdGhlIHNhbWUgc3RyaW5nIG11bHRpcGxlIHRpbWVzIGluIGEgdGFnIGxpc3QgZm9yIHRoZSBzYW1lIHRhZyBldmVyLCBmb3IgYW55IHRhZywgbm90IGp1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIFdlIGRvbid0IHdhbnQgdGhlIHNhbWUgc3RyaW5nIG11bHRpcGxlIHRpbWVzIGluIGEgdGFnIGxpc3QgZm9yIHRoZQoJICBzYW1lIHRhZyBldmVyLCBmb3IgYW55IHRhZywgbm90IGp1c3QgZm9yIEdTVF9UQUdfR0VOUkUsIHNvIG1ha2Ugc3VyZQoJICB0aGlzIGRvZXNuJ3QgaGFwcGVuIGFuZCByZW1vdmUgc3BlY2lhbC1jYXNlIGNvZGUgZm9yIEdTVF9UQUdfR0VOUkUuCgoyMDA3LTExLTE0IDIxOjA0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogV3JpdGUgR1NUX1RBR19NVVNJQ0JSQUlOWl9ESVNDSUQgYW5kIEdTVF9UQUdfQ0REQV9DRERCX0RJU0NJRCBpbnRvIElEM3YyIFRYWFggZnJhbWVzIChmaXhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IChhZGRfbXVzaWNicmFpbnpfdGFnKSwgKGFkZF9mdW5jcyk6CgkgIFdyaXRlIEdTVF9UQUdfTVVTSUNCUkFJTlpfRElTQ0lEIGFuZCBHU1RfVEFHX0NEREFfQ0REQl9ESVNDSUQKCSAgaW50byBJRDN2MiBUWFhYIGZyYW1lcyAoZml4ZXMgIzM0Nzg0OCkuCgoyMDA3LTExLTE0IDIwOjM0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBsZWFrIHNkcCBtZXNzYWdlIGNvbnRlbnRzIChmaXhlcyAjNDk2NzczKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIERvbid0IGxlYWsgc2RwIG1lc3NhZ2UgY29udGVudHMgKGZpeGVzICM0OTY3NzMpLgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfZmluYWxpemUpOgoJICBEb24ndCBsZWFrIFVSSSBzdHJpbmcuCgoyMDA3LTExLTE0IDE5OjEwOjM3ICswMDAwICBKdWxpZW4gUHV5ZHQgPGp1bGllbi5wdXlkdEBsYXBvc3RlLm5ldD4KCgkgIGV4dC9yYXcxMzk0LzogSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIGFuZCBhZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwgc28gYXBwbGljYXRpb25zIGNhbiB1c2UgdGhpcyB0byBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEp1bGllbiBQdXlkdCA8anVsaWVuIGRvdCBwdXlkdCBhdCBsYXBvc3RlIG5ldD4KCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzogKGdzdF8xMzk0X2dldF9ndWlkX2FycmF5KSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX2dldF9wcm9wZXJ0aWVzKSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX3Byb2JlX3Byb3BlcnR5KSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF8xMzk0X3Byb3BlcnR5X3Byb2JlX2dldF92YWx1ZXMpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0XzEzOTRfdHlwZV9hZGRfcHJvcGVydHlfcHJvYmVfaW50ZXJmYWNlKToKCSAgKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuaDogKEdTVF8xMzk0X1BST0JFX0gpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoX2RvX2luaXQpLCAoZ3N0X2R2MTM5NHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9kdjEzOTRzcmNfaW5pdCksIChnc3RfZHYxMzk0c3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2R2MTM5NHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2R2MTM5NHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSksIChnc3RfZHYxMzk0c3JjX3F1ZXJ5KSwKCSAgKGdzdF9kdjEzOTRzcmNfdXBkYXRlX2RldmljZV9uYW1lKToKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIGFuZCBhZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSwKCSAgc28gYXBwbGljYXRpb25zIGNhbiB1c2UgdGhpcyB0byBwcm9iZSBmb3IgYXZhaWxhYmxlIGRldmljZXMgaW4gdGhlCgkgIHNhbWUgd2F5IHRoZXkgY2FuIGFscmVhZHkgd2l0aCB2NGxzcmMgYW5kIHY0bDJzcmMgKGhvd2V2ZXIgaG9ycmlibGUKCSAgdGhpcyBwcm9wZXJ0eSBwcm9iZSBpbnRlcmZhY2UgbWF5IGJlKS4gRml4ZXMgIzM1ODg0MS4KCjIwMDctMTEtMTQgMTc6MDM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoKMjAwNy0xMS0xNCAxNToyOTowNSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgbGVhayBldmVudCwgZG9uJ3QgbGVhayByYW5nZSAoZml4ZXMgIzQ5Njc1MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKToKCSAgRG9uJ3QgbGVhayBldmVudCwgZG9uJ3QgbGVhayByYW5nZSAoZml4ZXMgIzQ5Njc1MikuCgoyMDA3LTExLTE0IDEwOjIyOjQxICswMDAwICBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogRGV0ZWN0IFJHQkEvQkdSQSBjb3JyZWN0bHkgb24gbGl0dGxlIGVuZGlhbiBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2Fwcyk6CgkgIERldGVjdCBSR0JBL0JHUkEgY29ycmVjdGx5IG9uIGxpdHRsZSBlbmRpYW4gc3lzdGVtcy4KCjIwMDctMTEtMTMgMTc6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGJ1dCB0aGUgY29ycmVzcG9uZGluZyBpb2N0bCgpIGNhbGwgZmFpbHMgZXZlbiB0aG91Z2ggdGhlIGRyaXZlciBjbGFpbXMgdG8gc3VwcG9ydCB0aGlzIGZvcm0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgSWYgVklESU9DX0VOVU1fRlJBTUVTSVpFUyBpcyBkZWZpbmVkICg9IHJlY2VudCBrZXJuZWwpLCBidXQgdGhlCgkgIGNvcnJlc3BvbmRpbmcgaW9jdGwoKSBjYWxsIGZhaWxzIGV2ZW4gdGhvdWdoIHRoZSBkcml2ZXIgY2xhaW1zIHRvCgkgIHN1cHBvcnQgdGhpcyBmb3JtYXQsIGp1c3QgZmFsbCBiYWNrIHRvIHRoZSBwcmUtMi42LjE5IGtlcm5lbAoJICByb3V0aW5lIHRoYXQgY3JlYXRlcyBjYXBzIHdpdGggc3VpdGFibGUgaGVpZ2h0IGFuZCB3aWR0aCByYW5nZXMKCSAgKHNlZSAjNDQ4Mjc4KS4KCjIwMDctMTEtMTMgMTc6MDE6MDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvOiBFeHRyYWN0IHBhbGV0dGUgZGF0YSBmb3IgZHZkIHN1YnBpY3R1cmUgc3RyZWFtcyBhbmQgc2VuZCBpdCBkb3duc3RyZWFtIGFzIGN1c3RvbSBnc3RyZWFtZXIgZHZkIGV2ZW50ICguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZHZkX2NsdXRfY2hhbmdlX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEV4dHJhY3QgcGFsZXR0ZSBkYXRhIGZvciBkdmQgc3VicGljdHVyZSBzdHJlYW1zIGFuZCBzZW5kIGl0CgkgIGRvd25zdHJlYW0gYXMgY3VzdG9tIGdzdHJlYW1lciBkdmQgZXZlbnQgKGZpeGVzICM0NTM0MTcpLgoKMjAwNy0xMS0xMyAxNDo1MTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBJbXBsZW1lbnQgbWluaW1hbCBwYXJzaW5nIG9mIHRoZSBwYXNzZWQgcGFuZ28gZm9udCBkZXNjcmlwdGlvbiBzdHJpbmcsIHNvIHBhc3NpbmcgYSBmb250IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfZm9udF9pbml0KToKCSAgSW1wbGVtZW50IG1pbmltYWwgcGFyc2luZyBvZiB0aGUgcGFzc2VkIHBhbmdvIGZvbnQgZGVzY3JpcHRpb24KCSAgc3RyaW5nLCBzbyBwYXNzaW5nIGEgZm9udCBzaXplIHdvcmtzIHRoZSBzYW1lIGFzIHdpdGggdGhlCgkgIHBhbmdvIHRleHRvdmVybGF5IHBsdWdpbjsgZml4ZXMgIzQ1NTA4Ni4KCSAgKE1heWJlIHdlIGNvdWxkIGp1c3QgdXNlIHBhbmdvY2Fpcm8gaGVyZSBhdCBzb21lIHBvaW50KS4KCjIwMDctMTEtMTMgMDY6NTU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IFJldHVybiB0aGUgcmVzdWx0IGluIF9hY3RpdmF0ZV9wdWxsKCkuIERvbid0IHJlZiBlbGVtZW50IHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IGluIF9hY3RpdmF0ZV9wdWxsKCkuIERvbid0IHJlZiBlbGVtZW50IHRoZXJlLgoKMjAwNy0xMS0xMyAwNjoyMzo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJlZiB0aGUgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBub3QgbmVlZGVkLiBSZWZsb3cgdGhlIGV2ZW50X2hhbmRsaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpOgoJICBSZWYgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm90IG5lZWRlZC4gUmVmbG93CgkgIHRoZSBldmVudF9oYW5kbGluZyB0byBub3QgbGVhayB0aGUgZXZlbnQuCgoyMDA3LTExLTEyIDIxOjA3OjMxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpOgoJICBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIFNwb3R0ZWQgYnkgR2FicmllbCBCb3V2aWduZS4gRml4ZXMgIzQ5NDQ5OS4KCjIwMDctMTEtMTIgMTc6NTk6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFByb3Blcmx5IGZyZWUgUVREZW11eFNhbXBsZXMgYXJyYXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpOgoJICBQcm9wZXJseSBmcmVlIFFURGVtdXhTYW1wbGVzIGFycmF5LgoJICBQcm90ZWN0IHRhYmxlIHdyaXRlIHdpdGggYSBzZW5zaWJsZSBjaGVjaywgc29tZSBmaWxlcyBhcHBhcmVudGx5IERPIGNvbnRhaW4KCSAgc3R0cyB2YWx1ZXMgc3RhcnRpbmcgd2l0aCAwIDooCgoyMDA3LTExLTEyIDE3OjIxOjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBEcm9wIEVPUyBpbiBfaGFuZGxlX3NyY19ldmVudCgpLiBGaXggdGhlIHJlZmNvdW50IGluIHF0ZGVtdXggdGhhdCBwcmV2aW91cyBjb21taXQgbWVzc2VkIHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBEcm9wIEVPUyBpbiBfaGFuZGxlX3NyY19ldmVudCgpLiBGaXggdGhlIHJlZmNvdW50IGluIHF0ZGVtdXggdGhhdAoJICBwcmV2aW91cyBjb21taXQgbWVzc2VkIHVwLgoKMjAwNy0xMS0xMiAxNzowNjozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogU3luYyBfaGFuZGxlX3NyY19ldmVudCgpIHdpdGggb2dnZGVtdXguIEluIGF2aWRlbXV4IGFsc28gcmVmIHRoZSBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFN5bmMgX2hhbmRsZV9zcmNfZXZlbnQoKSB3aXRoIG9nZ2RlbXV4LiBJbiBhdmlkZW11eCBhbHNvIHJlZiB0aGUKCSAgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBub3QgbmVlZGVkLgoKMjAwNy0xMS0xMSAyMToxMjoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0LzogQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBHc3RNZXNzYWdlcyBieSBzcGVjdHJ1bSB0byBkZWNpYmVsIGluc3RlYWQgb2YKCSAgZGVjaWJlbCt0aHJlc2hvbGQuCgoyMDA3LTExLTExIDEzOjU1OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZSBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZQoJICBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgoyMDA3LTExLTExIDEyOjU0OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoKMjAwNy0xMS0wOSAxNzoyNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5CgkgIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA3LTExLTA4IDE1OjU2OjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2RlbW8uYzogTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0byB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6CgkgIE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8KCSAgdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iZXJzIGFuZCBlbmFibGUgZmlsbC4KCjIwMDctMTEtMDggMTU6MDA6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBSZXR1cm4gRkFMU0UgaWYgd2UgY2FuJ3QgaGFuZGxlIGEgcXVlcnkgaW5zdGVhZCBvZiBjaGFuZ2luZyB0aGUgZm9ybWF0LiBJZ25vcmUgZmFjdCB3aGVuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmV0dXJuIEZBTFNFIGlmIHdlIGNhbid0IGhhbmRsZSBhIHF1ZXJ5IGluc3RlYWQgb2YgY2hhbmdpbmcgdGhlCgkgIGZvcm1hdC4gSWdub3JlIGZhY3Qgd2hlbiBkZWFsaW5nIHdpdGggbXBlZyBhdWRpby4KCjIwMDctMTEtMDYgMTI6MjM6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgIFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IHRoZSBtYWduaXR1ZGUgY2FsY3VsYXRpb24uCgoyMDA3LTExLTAzIDE5OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG1haW4pOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoc2V0dXBfZmlsdGVyKToKCSAgQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBBbHNvIGhhbmRsZSBhIGJhbmR3aWR0aCBvZiByYXRlLzIgcHJvcGVybHkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19jbGFzc19pbml0KToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBnZW5lcmF0ZSBhIE4tYmFuZCBlcXVhbGl6ZXIgd2l0aCAxIGJhbmRzLiBUaGUKCSAgcHJldmlvdXMgbGltaXQgb2YgMiB3YXMgY2F1c2VkIGJ5IGEgbm93YWRheXMgcmVwbGFjZWQgY2FsY3VsYXRpb24KCSAgZG9pbmcgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIG51bWJlciBvZiBiYW5kcyB3YXMgMS4KCjIwMDctMTEtMDIgMjE6MTY6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBGaXggaW5jbHVkZXMgZm9yIE1TVkMgYW5kIEdMaWItMi4xNC4wICgjNDkyMzg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICBGaXggaW5jbHVkZXMgZm9yIE1TVkMgYW5kIEdMaWItMi4xNC4wICgjNDkyMzg4KS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIE5vIG1vcmUgcGlwZSBkZWZpbmUgc2luY2UgR0xpYi0yLjE0LjAsIG5lZWQgdG8gdXNlIF9waXBlKCkgZGlyZWN0bHkuCgoyMDA3LTExLTAyIDE3OjIzOjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xhdy9tdWxhdy1kZWNvZGUuKjogQ2FsY3VsYXRlIG91dGdvaW5nIGJ1ZmZlciBkdXJhdGlvbiBpZiBpbmNvbWluZyBidWZmZXIgZGlkbid0IGhhdmUgYSB2YWxpZCBkdXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXVsYXdkZWNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgIENhbGN1bGF0ZSBvdXRnb2luZyBidWZmZXIgZHVyYXRpb24gaWYgaW5jb21pbmcgYnVmZmVyIGRpZG4ndCBoYXZlIGEKCSAgdmFsaWQgZHVyYXRpb24uCgoyMDA3LTEwLTMwIDIxOjM3OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKG9uX2NvbmZpZ3VyZV9ldmVudCksCgkgIChvbl9nYWluX2NoYW5nZWQpLCAob25fYmFuZHdpZHRoX2NoYW5nZWQpLCAob25fZnJlcV9jaGFuZ2VkKSwKCSAgKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMKCSAgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdXNoZXMgaXQgdGhyb3VnaCBhbiBlcXVhbGl6ZXIgYW5kCgkgIHBhaW50cyB0aGUgc3BlY3RydW0uIEZvciBldmVyeSBlcXVhbGl6ZXIgYmFuZCBpdCdzIHBvc3NpYmxlIHRvIHNldAoJICBnYWluLCBiYW5kd2lkdGggYW5kIGZyZXF1ZW5jeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoc2V0dXBfZmlsdGVyKToKCSAgQWRkIHNvbWUgZ3VhcmRpbmcgYWdhaW5zdCB0b28gbGFyZ2Ugb3IgdG9vIHNtYWxsIGZyZXF1ZW5jaWVzIGFuZAoJICBiYW5kd2lkdGhzLiBBbHNvIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0xMC0zMCAyMToxODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseSBmaW5kIGRvY3VtZW50YXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseQoJICBmaW5kIGRvY3VtZW50YXRpb24sIHdoaWNoIGRvbid0IGNoYW5nZSBhbnl0aGluZyBvbiB6ZXJvIGdhaW4sIGV0Yy4KCSAgTWFrZSB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IG9mIHRoZSBiYW5kcyB3cml0YWJsZSwgcmVuYW1lIHRoZQoJICBiYW5kLXdpZHRoIHByb3BlcnR5IHRvIGJhbmR3aWR0aCBhbmQgY2hhbmdlIHRoZQltZWFuaW5nIHRvIHRoZQoJICBmcmVxdWVuY3kgZGlmZmVyZW5jZSBiZXR3ZWVuIGJhbmRlZGdlcywgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZQoJICBnYWluIHByb3BlcnR5IHRvIGRCIGluc3RlYWQgb2YgYSB3ZWlyZCBzY2FsZSBiZXR3ZWVuIC0xCWFuZCAxIHRoYXQKCSAgaGFzIG5vIHJlYWwgbWVhbmluZy4KCjIwMDctMTAtMzAgMTI6Mjk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNtYXJ0ZXIgY29tYmluZV9mbG93IGNvZGUgdGhhdCBhbHNvIGRlYWxzIHdpdGggZG93bnN0cmVhbSBlbGVtZW50cyByZXR1cm5pbmcgVU5FWFBFQ1RFRCB3aGVuIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBTbWFydGVyIGNvbWJpbmVfZmxvdyBjb2RlIHRoYXQgYWxzbyBkZWFscyB3aXRoIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgcmV0dXJuaW5nIFVORVhQRUNURUQgd2hlbiB0aGV5IHJlY2VpdmUgZGF0YSBvdXQgb2YgdGhlIHNlZ21lbnQKCSAgYm91bmRhcmllcy4gRml4ZXMgIzQ5MTMwNS4KCjIwMDctMTAtMjcgMTY6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbCBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKToKCSAgTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsCgkgIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIHRvIGJlIG1vcmUgdGhhbiBvbmUgcGFkLiBGaXhlcyAjNDkwNjgyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgYWJvdmUuCgoyMDA3LTEwLTI2IDE1OjAzOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXggJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IG9sZGVyIGtlcm5lbCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIGFnYWluc3QKCSAgb2xkZXIga2VybmVsIGhlYWRlcnMuCgoyMDA3LTEwLTI2IDEyOjEwOjQzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDctMTAtMjUgMjM6NDI6NTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luayBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rCgkgIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoKMjAwNy0xMC0yNSAxNTowMDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2MgKGFkZF9mdW5jcyk6IE1hcCBuZXcgU09SVE5BTUUgdGFncyB0byBJRDN2MiBUU09QLCBUU09BIGFuZCBUU09UIGZyYW1lcyAoIzQxNDUzOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2MgKGFkZF9mdW5jcyk6CgkgIE1hcCBuZXcgU09SVE5BTUUgdGFncyB0byBJRDN2MiBUU09QLCBUU09BIGFuZCBUU09UIGZyYW1lcyAoIzQxNDUzOSkuCgoyMDA3LTEwLTI0IDA3OjAxOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiBJbXByb3ZlIHRoZSB0ZXN0cyBhIGxpdHRsZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0cyBhIGxpdHRsZSBtb3JlLgoKMjAwNy0xMC0yMyAwODozODo1MCArMDAwMCAgWXVuIFpoZW5nIEh1IDx5dW56aGVuZy5odUBnbWFpbC5jb20+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzogVXNlIGRlZmF1bHQgaW5wdXQgZGV2aWNlIGluc3RlYWQgb2YgZGVmYXVsdCBvdXRwdXQgZGV2aWNlIGFuZCBvbmx5IG1lbWNweSBhY3R1YWwgYXZhaWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBZdW4gWmhlbmcgSHUKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgVXNlIGRlZmF1bHQgaW5wdXQgZGV2aWNlIGluc3RlYWQgb2YgZGVmYXVsdCBvdXRwdXQgZGV2aWNlIGFuZAoJICBvbmx5IG1lbWNweSBhY3R1YWwgYXZhaWxhYmxlIGJ5dGVzLgoKMjAwNy0xMC0yMiAxOToxNDowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBGaXhlcyAidjRsMnNyYyAhIHF1ZXVlICEgeHZpbWFnZXNpbmsiLiBUaGUgcXVldWUgYXNrIGZvciBidWZmZXIgdG9vIGVhcmx5LiBJdCBpcyB0ZW1wb3JhcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBGaXhlcyAidjRsMnNyYyAhIHF1ZXVlICEgeHZpbWFnZXNpbmsiLiBUaGUgcXVldWUgYXNrIGZvciBidWZmZXIgdG9vCgkgIGVhcmx5LiBJdCBpcyB0ZW1wb3JhcnkgdW50aWwgd2UgZmluZCBzb21ldGhpbmcgYmV0dGVyLgoKMjAwNy0xMC0yMiAxNjo0NDo0OCArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IHJhY2Ugd2hlbiBwYXVzaW5nIGEgUlRTUCBzdHJlYW0gaW4gaW50ZXJsZWF2ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKToKCSAgRml4IHJhY2Ugd2hlbiBwYXVzaW5nIGEgUlRTUCBzdHJlYW0gaW4gaW50ZXJsZWF2ZWQuCgkgIEZpeGVzICM0NzU3ODQuCgoyMDA3LTEwLTIyIDA5OjUzOjE2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBVc2UgY29ycmVjdCB1bnJlZiBmdW5jdGlvbiBmb3IgYnVmZmVycy4gIzQ4ODg0NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZmluYWxpemUpOgoJICBVc2UgY29ycmVjdCB1bnJlZiBmdW5jdGlvbiBmb3IgYnVmZmVycy4gIzQ4ODg0NC4KCjIwMDctMTAtMTkgMTk6MzM6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzb21lIGRlYnVnIGFuZCBzeW5jIHRlc3RzIHdpdGggdGhlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgQWRkIHNvbWUgZGVidWcgYW5kIHN5bmMgdGVzdHMgd2l0aCB0aGUgZml4LgoKMjAwNy0xMC0xOCAxNzowNDoxNCArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogV2hlbiB0aGUgc29ja2V0IGlzIHVzZWQgYnkgdGhlIGFwcCBmb3Igb3RoZXIgcHVycG9zZXMsIGRvbid0IGdlbmVyYXRlIGFuIGVycm9yIGlmIHRoZXJlIGlzIGFjdGl2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTGF1cmVudCBHbGF5YWwgIDxzcGdsZWdsZSB5YWhvbyBmcj4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBXaGVuIHRoZSBzb2NrZXQgaXMgdXNlZCBieSB0aGUgYXBwIGZvciBvdGhlciBwdXJwb3NlcywgZG9uJ3QgZ2VuZXJhdGUgYW4KCSAgZXJyb3IgaWYgdGhlcmUgaXMgYWN0aXZhdHkgb24gdGhlIHNvY2tldCB0aGF0IGlzIG5vdCBkYXRhIHJlbGF0ZWQuCgkgIEZpeGVzICM0ODc0ODguCgoyMDA3LTEwLTE4IDE0OjU1OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uIEdlbmVyYXRlIGFuIGVycm9yIHdoZW4gd2UgcnVuIG91dCBvZiBidWZmZXJzIGZvciBzb21lIHJlYXNvbi4gU2VlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBHZW5lcmF0ZSBhbiBlcnJvciB3aGVuIHdlIHJ1biBvdXQgb2YgYnVmZmVycwoJICBmb3Igc29tZSByZWFzb24uIFNlZSAjNDgwNTU3LgoKMjAwNy0xMC0xOCAwODoyNzo1NiArMDAwMCAgQW5kZXJzIFNrYXJncmVuIDxhbmRlcnMuc2thcmdyZW5AYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogU2V0IG1hcmtlciBiaXQgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZGVycyBTa2FyZ3JlbiA8YW5kZXJzIGRvdCBza2FyZ3JlbiBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBTZXQgbWFya2VyIGJpdCBjb3JyZWN0bHkuCgoyMDA3LTEwLTE4IDA2OjIwOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBBZGQgYSBtaXNzaW5nIGJyZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpOgoJICBBZGQgYSBtaXNzaW5nIGJyZWFrLgoKMjAwNy0xMC0xOCAwNjoxNDo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuKjogTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgoyMDA3LTEwLTE3IDE1OjA4OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgYWxsb3dlZCBuYW1lIGZvciB0aGUgR3N0U3RydWN0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgVXNlIGFsbG93ZWQgbmFtZSBmb3IgdGhlIEdzdFN0cnVjdHVyZS4KCjIwMDctMTAtMTcgMTE6NDc6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IGdzdF9idXNfcG9wX2ZpbHRlcmVkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICBVc2UgbmV3IGdzdF9idXNfcG9wX2ZpbHRlcmVkKCkuCgoyMDA3LTEwLTEzIDEyOjAzOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvOiBXaGVuIHByb2JpbmcgdGhlIGZvcm1hdHMgYW5kIHNpemVzIGEgY2FtZXJhIHN1cHBvcnRzLCBtYWtlIHN1cmUgdGhlIGJlc3Qgb25lcyAoaGlnaGVzdCByZXNvbHV0aW9uLCBwcmVmZXJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFdoZW4gcHJvYmluZyB0aGUgZm9ybWF0cyBhbmQgc2l6ZXMgYSBjYW1lcmEgc3VwcG9ydHMsIG1ha2UKCSAgc3VyZSB0aGUgYmVzdCBvbmVzIChoaWdoZXN0IHJlc29sdXRpb24sIHByZWZlcmVkIGZvcm1hdCkKCSAgZW5kIHVwIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHByb2JlZCBjYXBzIGFuZCB0aGUgbGVzcwoJICBkZXNpcmFibGUgb25lcyBhdCB0aGUgZW5kLiAgVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSB0aGUKCSAgb3JkZXIgd2l0aGluIHRoZSBjYXBzIG1hdHRlcnMgZm9yIHRoaW5ncyBsaWtlIGZpeGF0aW9uIGFuZAoJICBuZWdvdGlhdGlvbiwgaWUuIHdoYXQgZm9ybWF0IGlzIGNob3NlbiBpbiB0aGUgZW5kLgoJICBXaXRoIHJlY2VudCBrZXJuZWxzLCB0aGUgY3VycmVudCBwcm9iaW5nIGNvZGUgd2lsbCBlbmQgdXAKCSAgcXVlcnlpbmcgdGhlIHN1cHBvcnRlZCBzaXplcyBmcm9tIGxvd2VzdCByZXNvbHV0aW9uIHRvCgkgIGhpZ2hlc3QgcmVzb2x1dGlvbiwgYWRkaW5nIHRoZW0gdG8gdGhlIHByb2JlZCBjYXBzIGluIHRoYXQKCSAgb3JkZXIsIHJlc3VsdGluZyB0byB2NGwyc3JjIGZpeGF0aW5nIHRvIHRoZSBsb3dlc3QgcG9zc2libGUKCSAgcmVzb2x1dGlvbiBpZiBkb3duc3RyZWFtIGRvZXMgbm90IGV4cHJlc3MgYSBzaXplIHByZWZlcmVuY2UuCgkgIEFsc28gbWFrZSB1cCBhIHNvbWV3aGF0IHJhbmRvbSByYW5raW5nIG9mIHByZWZlcmVkIG91dHB1dAoJICBmb3JtYXRzIGZvciB0aGUgc2FtZSByZWFzb24uIEZpeGVzICM0ODU4MjguCgoyMDA3LTEwLTExIDE3OjU1OjI5ICswMDAwICBKYXNvbiBLaXZsaWdobiA8amtpdmxpZ2huQGdtYWlsLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBFeHRyYWN0IGxpY2Vuc2UvY29weXJpZ2h0IFVSSXMgZnJvbSBJRDN2MiBXQ09QIGZyYW1lcyAoRml4ZXMgIzQ0NzAwMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogSmFzb24gS2l2bGlnaG4gIDxqa2l2bGlnaG4gZ21haWwgY29tPgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBFeHRyYWN0IGxpY2Vuc2UvY29weXJpZ2h0IFVSSXMgZnJvbSBJRDN2MiBXQ09QIGZyYW1lcwoJICAoRml4ZXMgIzQ0NzAwMCkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9maWxlcy9pZDMtNDQ3MDAwLXdjb3AudGFnOgoJICBBZGQgc2ltcGxlIHVuaXQgdGVzdC4KCjIwMDctMTAtMTEgMTY6NDE6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBBZGQgc3VwcG9ydCBmb3IgbGljZW5zZS9jb3B5cmlnaHQgVVJJIHRhZ3MgKElEM3YyIFdDT1AgZnJhbWUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBBZGQgc3VwcG9ydCBmb3IgbGljZW5zZS9jb3B5cmlnaHQgVVJJIHRhZ3MgKElEM3YyIFdDT1AgZnJhbWUpLgoJICBQcmVyZXF1aXNpdGUgZm9yICM0NDcwMDAuCgoyMDA3LTEwLTA4IDE3OjQ0OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgdXNpbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBpbml0aWFsaXNlIGEgR3N0Q2xvY2tUaW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IHVzaW5nIEdTVF9DTE9DS19USU1FX05PTkUgdG8gaW5pdGlhbGlzZQoJICBhIEdzdENsb2NrVGltZS4KCjIwMDctMTAtMDggMTE6NTg6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE1vcmUgc2Vla2luZyBmaXhlcywgbW9zdGx5IHBhc3NpbmcgYXJvdW5kIHRoZSBuZXcgcGxheWJhY2sgc2VnbWVudCBpbiBvcmRlciB0byBjb25maWd1cmUgaXQgcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpLAoJICAoZ3N0X3J0c3BzcmNfZG9fc2VlayksIChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLCAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIE1vcmUgc2Vla2luZyBmaXhlcywgbW9zdGx5IHBhc3NpbmcgYXJvdW5kIHRoZSBuZXcgcGxheWJhY2sgc2VnbWVudCBpbgoJICBvcmRlciB0byBjb25maWd1cmUgaXQgcHJvcGVybHkuCgkgIEFsc28gcmVzZXQgYmFzZV90aW1lIG9mIHVkcCBzb3VyY2VzIHdoZW4gc2V0dGluZyB0aGVtIGJhY2sgdG8gUExBWUlORyBhcwoJICBhIHRlbXBvcmFyeSBoYWNrIHVudGlsIGNvcmUgc3VwcG9ydHMgc2VlayBpbiBsaXZlIHNvdXJjZXMgcHJvcGVybHkuCgoyMDA3LTEwLTA4IDEwOjM0OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogRml4IGNhcHMgYXMgdG8gbm90IGNvbmZ1c2UgYXV0b3BsdWdnZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBGaXggY2FwcyBhcyB0byBub3QgY29uZnVzZSBhdXRvcGx1Z2dlcnMuCgoyMDA3LTEwLTA2IDE2OjEzOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogUG9ydCBJRDMgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlIChub3cgd291bGQgYmUgYSBnb29kIHRpbWUgdG8gdGVzdCByZS1pbXBvcnRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgUG9ydCBJRDMgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlCgkgIChub3cgd291bGQgYmUgYSBnb29kIHRpbWUgdG8gdGVzdCByZS1pbXBvcnRpbmcgeW91ciBtdXNpYwoJICBjb2xsZWN0aW9uKS4KCjIwMDctMTAtMDYgMTU6MTM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnLzogUG9ydCBBUEUgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguaDoKCSAgUG9ydCBBUEUgdGFnIGRlbXV4ZXIgb3ZlciB0byB0aGUgbmV3IEdzdFRhZ0RlbXV4IGluIC1iYXNlLgoKMjAwNy0xMC0wNSAxMzoxODoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW1wcm92ZSBmbHVzaGluZyBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKSwKCSAgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9pbnRlcm5hbF9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksIChuZXdfc2Vzc2lvbl9wYWQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCk6CgkgIEltcHJvdmUgZmx1c2hpbmcgYmVoYXZpb3VyLgoJICBTZXQgc3RhdGUgb2YgdGhlIHVkcCBzb3VyY2VzIHRvIFBBVVNFL1BMQVlJTkcgY29ycmVjdGx5LgoJICBIYW5kbGUgZXZlbnRzIGFuZCBxdWVyaWVzIGZvciBVRFAgYW5kIFRDUCB0cmFuc3BvcnQgbm93LgoKMjAwNy0xMC0wNCAwNzoyOTo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC86IEFkZCBsb2cgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBBZGQgbG9nIGNhdGVnb3J5LgoKMjAwNy0xMC0wNCAwNzoyNDowMiArMDAwMCAgVGltbyBIb3R0aSA8VGltby5Ib3R0aUBzeXNvcGVuZGlnaWEuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGltbyBIb3R0aSA8VGltby5Ib3R0aUBzeXNvcGVuZGlnaWEuY29tPgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycy4KCjIwMDctMTAtMDIgMTA6NDk6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IEFsc28gc2F2ZSBjb2RlYyBkYXRhIGZvciBhdWRpbyBzdHJlYW1zLiBGaXhlcyAjNDgyNDk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIEFsc28gc2F2ZSBjb2RlYyBkYXRhIGZvciBhdWRpbyBzdHJlYW1zLiBGaXhlcyAjNDgyNDk1LgoKMjAwNy0xMC0wMiAxMDoyMzowNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4ICJJbmRleCBlbnRyeSBoYXMgaW52YWxpZCBzdHJlYW0gbnIgMSIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEZpeCAiSW5kZXggZW50cnkgaGFzIGludmFsaWQgc3RyZWFtIG5yIDEiLgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIGFhYyAtIHdvcmsgaW4gcHJvZ3Jlc3MgKHNlZSAjNDgyNDk1KS4KCjIwMDctMTAtMDEgMTY6MzQ6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFBhcnNlIGJhbmR3aWR0aCBtb2RpZmllcnMsIHRoZXkgYXJlIG5vdCB5ZXQgY29uZmlndXJlZCBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIGJlY2F1c2Ugd2UgZG9uJ3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZ2V0X2JhbmR3aWR0aCksCgkgIChnc3RfcnRzcHNyY19jb2xsZWN0X2JhbmR3aWR0aCksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBQYXJzZSBiYW5kd2lkdGggbW9kaWZpZXJzLCB0aGV5IGFyZSBub3QgeWV0IGNvbmZpZ3VyZWQgaW4gdGhlIHNlc3Npb24KCSAgbWFuYWdlciBiZWNhdXNlIHdlIGRvbid0IGhhdmUgYW4gQVBJIGZvciB0aGF0IHlldC4KCjIwMDctMTAtMDEgMTM6NTc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBzaGlueSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpOgoJICBVc2Ugc2hpbnkgbmV3IGZ1bmN0aW9uIGluIC1iYXNlIHRvIGdldCB0aGUgZGVmYXVsdCBjbG9jay1yYXRlLgoJICBVcGRhdGUgc29tZSBkb2NzLgoKMjAwNy0wOS0yOSAxMjo1MDozNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBmaWxlcyB0byB3aW4zMiBtYW5pZmVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBmaWxlcyB0byB3aW4zMiBtYW5pZmVzdC4KCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTA5LTI4IDE0OjU2OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBJbiBUQ1AgbW9kZSwgb25seSB0aW1lc3RhbXAgdGhlIGZpcnN0IGJ1ZmZlci4gVENQIGlzIG5vdCByZWFsIHRpbWUgYW5kIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbiBUQ1AgbW9kZSwgb25seSB0aW1lc3RhbXAgdGhlIGZpcnN0IGJ1ZmZlci4gVENQIGlzIG5vdCByZWFsIHRpbWUgYW5kCgkgIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gdHJ5IHRvIHNrZXcgY29tcGVuc2F0ZSwgYWxzbyBzb21lIHNlcnZlcnMgc2VuZAoJICB0aGUgZmlyc3QgYmF0Y2ggb2YgZGF0YSBpbiBhIGJ1cnN0LgoKMjAwNy0wOS0yNyAxNTowMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggc2V0dGluZyB0aGUgZGlzY29udCBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIgcHVzaGVkIGRvd25zdHJlYW0gZm9yIGZvcm1hdHMgd2l0aCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgRml4IHNldHRpbmcgdGhlIGRpc2NvbnQgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyCgkgIHB1c2hlZCBkb3duc3RyZWFtIGZvciBmb3JtYXRzIHdpdGggcHJpdmF0ZSBjb2RlYwoJICBkYXRhIHRoYXQgbmVlZHMgdG8gYmUgZGVzZXJpYWxpc2VkIGludG8gYnVmZmVycwoJICAoc3VjaCBhcyB2b3JiaXMgYW5kIEZMQUMgd2hlbiBpbiBhIG1hdHJvc2thIGNvbnRhaW5lcikuCgoyMDA3LTA5LTI3IDExOjEwOjEyICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lio6IEZyZWUgdGhlIGNvbmZpZyBzdHJpbmcuIEZpeGVzICM0ODA3MDcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNHZfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIEZyZWUgdGhlIGNvbmZpZyBzdHJpbmcuIEZpeGVzICM0ODA3MDcuCgkgIENsZWFuIHVwIHRoZSB0aW1lc3RhbXAgY29kZSBhIGxpdHRsZS4KCjIwMDctMDktMjYgMjA6MTI6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFNldCB0aW1lc3RhbXBzIG9uIFJUUCBidWZmZXJzIGluIGludGVybGVhdmVkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFNldCB0aW1lc3RhbXBzIG9uIFJUUCBidWZmZXJzIGluIGludGVybGVhdmVkIG1vZGUuCgkgIE1hcmsgZmlyc3QgYnVmZmVycyB3aXRoIGEgRElTQ09OVC4KCSAgUmVtb3ZlIGZsdXNoIGhhY2sgbm93IHRoYXQgc3luYyBmb3IgbGl2ZSBzb3VyY2VzIGhhcyBiZWVuIGZpZ3VyZWQgb3V0LgoKMjAwNy0wOS0yNiAxNDoyODoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCjIwMDctMDktMjYgMTQ6MjY6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS4qOiBGYWlsIGlmIHdlIGRvbid0IGtub3cgdGhlIHF1aWNrdGltZSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgRmFpbCBpZiB3ZSBkb24ndCBrbm93IHRoZSBxdWlja3RpbWUgZm9ybWF0LgoKMjAwNy0wOS0yNiAxMzo0MDozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogRml4IHVwIGNhc2Ugd2hlcmUgdGhlcmUgaXMgbm8gcGVlciwgaW4gd2hpY2ggY2FzZSBfZ2V0X2FsbG93ZWRfY2FwcygpIHdpbGwgcmV0dXJuIE5VTEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgRml4IHVwIGNhc2Ugd2hlcmUgdGhlcmUgaXMgbm8gcGVlciwgaW4gd2hpY2ggY2FzZQoJICBfZ2V0X2FsbG93ZWRfY2FwcygpIHdpbGwgcmV0dXJuIE5VTEwuCgoyMDA3LTA5LTI2IDEzOjE5OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBTYXZlIHRoZSBmbG93IHJldHVybiBmcm9tIHRoZSBsYXN0IGdzdF9wYWRfcHVzaCgpIGFuZCBtYWtlIHN1cmUgd2UgcGFzcyB0aGUgcmlnaHQgZmxvdyByZXR1cm4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIFNhdmUgdGhlIGZsb3cgcmV0dXJuIGZyb20gdGhlIGxhc3QgZ3N0X3BhZF9wdXNoKCkgYW5kCgkgIG1ha2Ugc3VyZSB3ZSBwYXNzIHRoZSByaWdodCBmbG93IHJldHVybiB2YWx1ZSB1cHN0cmVhbQoJICBpbiB0aGUgY2FzZSBvZiBmYWlsdXJlOyBtaW5vciBjbGVhbi11cHMuCgoyMDA3LTA5LTI1IDE5OjA5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgR1NUX1RBR19DT01QT1NFUiAoIzQ1OTgwOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IEdTVF9UQUdfQ09NUE9TRVIgKCM0NTk4MDkpLgoKMjAwNy0wOS0yNSAxNzoxODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9sYXcvOiBDb21wdWxzaXZlIGNsZWFuLXVwczogdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgYWRkIGRlYnVnIGNhdGVnb3JpZXMsIGZpeCB1cCB0aGluZ3MgdG8gY29uZm9ybSB0byBzeW1ib2wgbm9tZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LmM6CgkgICogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmg6CgkgIENvbXB1bHNpdmUgY2xlYW4tdXBzOiB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBhZGQgZGVidWcKCSAgY2F0ZWdvcmllcywgZml4IHVwIHRoaW5ncyB0byBjb25mb3JtIHRvIHN5bWJvbCBub21lbmtsYXR1cmEsCgkgIGV0Yy4KCjIwMDctMDktMjUgMTY6MDU6MjkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9sYXcvOiBVc2Ugc3RhdGljIHRhYmxlcyBmb3IgQS1MYXcgZGVjb2RpbmcgYW5kIGVuY29kaW5nOyB0aGlzIG1ha2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTGF1cmVudCBHbGF5YWwgIDxzcGdsZWdsZSB5YWhvbyBmcj4KCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICBVc2Ugc3RhdGljIHRhYmxlcyBmb3IgQS1MYXcgZGVjb2RpbmcgYW5kIGVuY29kaW5nOyB0aGlzIG1ha2VzCgkgIEEtTGF3IGRlY29kaW5nIGFuZCBlbmNvZGluZyBsZXNzIENQVS1pbnRlbnNpdmUsIGJ1dCBpbmNyZWFzZXMKCSAgdGhlIGJpbmFyeSBzaXplIGEgYml0LiBMZWF2aW5nIG9sZCBjb2RlIGFyb3VuZCBmb3Igbm93LAoJICBzZWxlY3RhYmxlIGJ5IGEgZGVmaW5lIGluIHRoZSBjb2RlLiBGaXhlcyAjNDM1NDM1LgoKMjAwNy0wOS0yNSAxMzoyMDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogVXNlIEdTVF9QVFJfRk9STUFUIHRvIHByaW50IGNhcHMgaW4gZGVidWcgc3RhdGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIFVzZSBHU1RfUFRSX0ZPUk1BVCB0byBwcmludCBjYXBzIGluIGRlYnVnIHN0YXRlbWVudC4KCjIwMDctMDktMjUgMDg6NTE6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFHX0dTVF9BUkdfV0lUSF9QTFVHSU5TLCBBR19HU1RfQVJHX0VOQUJMRV9FWFRFUk5BTCBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUdfR1NUX0FSR19XSVRIX1BMVUdJTlMsIEFHX0dTVF9BUkdfRU5BQkxFX0VYVEVSTkFMIGFuZAoJICBBR19HU1RfQVJHX0VOQUJMRV9FWFBFUklNRU5UQUwgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aG9zZSBtYWNyb3MKCSAgaW4gY29uZmlndXJlLmFjLgoKMjAwNy0wOS0yNSAwNTowMzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgZm91cmNjcyBmb3IgTVBFRzIgSERWIHN0cmVhbXMuIEZpeGVzICM0Nzk5NjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBmb3VyY2NzIGZvciBNUEVHMiBIRFYgc3RyZWFtcy4gRml4ZXMgIzQ3OTk2MC4KCjIwMDctMDktMjQgMTA6NTM6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoKMjAwNy0wOS0yNCAxMDoyNjoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IEFsbG93IGZpeGluZyB0aGUgc2FtcGxlIHJhdGUgbGFtZSBjb252ZXJ0cyB0byBieSBuZWdvdGlhdGluZyBmaXhlZCBzYW1wbGUgcmF0ZSBvbiB0aGUgc3JjIHBhZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIEFsbG93IGZpeGluZyB0aGUgc2FtcGxlIHJhdGUgbGFtZSBjb252ZXJ0cyB0byBieSBuZWdvdGlhdGluZyBmaXhlZAoJICBzYW1wbGUgcmF0ZSBvbiB0aGUgc3JjIHBhZCBjYXBzLgoJICBBZGQgZG9jcyBmb3IgaXQuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2xhbWUuYzoKCSAgQWRkIGEgY2hlY2sgZm9yIGl0LgoKMjAwNy0wOS0yMyAxODo1NzoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzogVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgYSBnX2NyaXRpY2FsLiBUaGlzIHNpdHVhdGlvbiBpcyBub3QgY2F1c2VkIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgYSBnX2NyaXRpY2FsLiBUaGlzIHNpdHVhdGlvbiBpcyBub3QgY2F1c2VkCgkgIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCjIwMDctMDktMjIgMTg6MTU6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9ubC5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA5LTIyIDE4OjEzOjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2V1LnBvOiBBZGRlZCBCYXNxdWUgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBNaWtlbCBPbGFzYWdhc3RpIDxoZXlfbmVrZW5AbXVuZHVyYXQubmV0PgoJICAqIHBvL2V1LnBvOgoJICBBZGRlZCBCYXNxdWUgdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjEzOjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgQ2hpbmVzZSAodHJhZGl0aW9uYWwgYW5kIEhvbmcgS29uZykgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBBYmVsIENoZXVuZyA8YWJlbGNoZXVuZ0BnbWFpbC5jb20+CgkgICogcG8vemhfSEsucG86CgkgICogcG8vemhfVFcucG86CgkgIEFkZGVkIENoaW5lc2UgKHRyYWRpdGlvbmFsIGFuZCBIb25nIEtvbmcpIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoxMDo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9wbC5wbzogQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4KCSAgKiBwby9wbC5wbzoKCSAgQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowOTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9maS5wbzogQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IElsa2thIFR1b2hlbGEgPGhpbGVAaWtpLmZpPgoJICAqIHBvL2ZpLnBvOgoJICBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowOTowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9lcy5wbzogQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpvcmdlIEdvbnrDoWxleiBHb256w6FsZXogPGFsb3JpZWxAZ21haWwuY29tPgoJICAqIHBvL2VzLnBvOgoJICBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowODoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9kYS5wbzogQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogTW9nZW5zIEphZWdlciA8bW9nZW5zQGphZWdlci50Zj4KCSAgKiBwby9kYS5wbzoKCSAgQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowNjo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby96aF9DTi5wbzogQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBGdW5kYSBXYW5nIDxmdW5kYXdhbmdAbGludXgubmV0LmNuPgoJICAqIHBvL3poX0NOLnBvOgoJICBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MDU6MzcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vYmcucG86IEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBjb250YWN0LmJnPgoJICAqIHBvL2JnLnBvOgoJICBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDA4OjEyOjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgZml4IGhlYWRlciBhbmQgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgoyMDA3LTA5LTIxIDExOjM0OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBTZXQgb3V0Z29pbmcgcGFja2V0IGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuLiBGaXhlcyAjNDc4MjQ0IHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgIFNldCBvdXRnb2luZyBwYWNrZXQgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4uIEZpeGVzICM0NzgyNDQgc29tZSBtb3JlLgoKMjAwNy0wOS0yMCAxMzozNTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEFkZCBpbmZvIGFib3V0IHN0YXRpYyBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgQWRkIGluZm8gYWJvdXQgc3RhdGljIGxlYWsuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgSW1wcm92ZWQgc3RhdGUgY2hhbmdlIHVuaXQgdGVzdC4KCjIwMDctMDktMTkgMTg6MTk6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgoyMDA3LTA5LTE5IDE2OjI0OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogUmVtb3ZlZCBzb21lIHVudXNlZCBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBSZW1vdmVkIHNvbWUgdW51c2VkIGNvZGUuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOiAoZ3N0X3J0cF9tcDJ0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9mbHVzaF9wYWNrZXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0KToKCSAgVHJ5IHRvIHByZXNlcnZlIHRoZSBpbmNvbW1pbmcgYnVmZmVyIGR1cmF0aW9uIG9uIHRoZSBvdXRnb2luZwoJICBwYWNrZXRzLiBGaXhlcyAjNDc4MjQ0LgoKMjAwNy0wOS0xOSAxMDoyMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBXb3JrIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGcrKy00LjIgd2hlbiBhc3NpZ25pbmcgYSBzdHJpbmcgY29uc3RhbnQgdG8gYSBnY2hhciAqIChwYXJ0aWFsbHkgZml4ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIFdvcmsgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZysrLTQuMiB3aGVuIGFzc2lnbmluZyBhCgkgIHN0cmluZyBjb25zdGFudCB0byBhIGdjaGFyICogKHBhcnRpYWxseSBmaXhlcyAjNDc4MDkyKS4KCjIwMDctMDktMTggMTY6NDQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFdlIHJlcXVpcmUgY29yZSBDVlMgbm93IGZvciBnc3RfYmFzZV9zcmNfc2V0X2RvX3RpbWVzdGFtcCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIHJlcXVpcmUgY29yZSBDVlMgbm93IGZvciBnc3RfYmFzZV9zcmNfc2V0X2RvX3RpbWVzdGFtcCgpLgoKMjAwNy0wOS0xOCAxMzo1NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgoyMDA3LTA5LTE4IDExOjQ1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzCgkgIGFuZCBzdGFydC9zdG9wLiBSZXBvcnQgbWVzc2FnZSB0aW1lc3RhbXAgYXMgc3RyZWFtIHRpbWUsIHdoaWNoIGlzIHdoYXQKCSAgYW4gYXBwbGljYXRpb24gY2FuIHVuZGVyc3RhbmQuIChZZXMgdGhlc2UgYXJlIGFkYXB0ZWQgZnJvbSB3aW0gcmVjZW50CgkgIGxldmVsIGVsZW1lbnQgY2hhbmdlcykKCjIwMDctMDktMTcgMTc6MzU6MTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIHdpdGggRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLCAoZ3N0X3J0c3BzcmNfZG9fc3RyZWFtX2VvcyksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gd2l0aCBGb3J0ZS4KCjIwMDctMDktMTcgMDI6MDU6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEdpdmUgbWVhbmluZ2Z1bGwgZXJyb3Igd2hlbiBhbGwgc3RyZWFtcyBmYWlsZWQgdG8gY29uZmlndXJlIGZvciBzb21lIHJlYXNvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19kdXBfcHJpbnRmKToKCSAgR2l2ZSBtZWFuaW5nZnVsbCBlcnJvciB3aGVuIGFsbCBzdHJlYW1zIGZhaWxlZCB0byBjb25maWd1cmUgZm9yIHNvbWUKCSAgcmVhc29uLgoKMjAwNy0wOS0xNiAxOToxMzo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvUkVBRE1FOiBVcGRhdGUgUkVBRE1FIHdpdGggdGhlIGRlc2lnbiBmb3Igc3luY2hyb25pc2F0aW9uIHJ1bGVzIG9mIFJUUCBvbiBzZW5kZXIgYW5kIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRSB3aXRoIHRoZSBkZXNpZ24gZm9yIHN5bmNocm9uaXNhdGlvbiBydWxlcyBvZiBSVFAgb24KCSAgc2VuZGVyIGFuZCByZWNlaXZlci4KCjIwMDctMDktMTQgMDk6NDA6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBEb24ndCBwdXNoIEVPUyBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiwgdGhlIGVsZW1lbnQgZHJpdmluZyB0aGUgcGlwZWxpbmUgaXMgcmVzcG9uc2libGUgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgIERvbid0IHB1c2ggRU9TIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uLCB0aGUgZWxlbWVudAoJICBkcml2aW5nIHRoZSBwaXBlbGluZSBpcyByZXNwb25zaWJsZSBmb3IgdGhpcy4gVGhlIGJ1ZwoJICB0aGlzIHdhcyBtZWFudCB0byBmaXggc2VlbXMgdG8gYmUgcXVldWUgbm90IGZvcndhcmRpbmcKCSAgRU9TIGluIGFsbCBjYXNlcyAoc2VlICM0NzY1MTQpLgoKMjAwNy0wOS0xMyAxNzozMToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBVc2UgYmFzZXRyYW5zZm9ybSBzZWdtZW50IHNvIHRoYXQgaXQgaXMgY29ycmVjdGx5IG1hbmFnZWQgb24gZmx1c2hlcyBhbmQgc3RhcnQvc3RvcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksIChnc3RfbGV2ZWxfc3RhcnQpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzIGFuZAoJICBzdGFydC9zdG9wLgoJICBSZXBvcnQgbWVzc2FnZSB0aW1lc3RhbXAgYXMgc3RyZWFtIHRpbWUsIHdoaWNoIGlzIHdoYXQgYW4gYXBwbGljYXRpb24KCSAgY2FuIHVuZGVyc3RhbmQuCgoyMDA3LTA5LTEzIDE1OjA0OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgbXkgbWFpbCBhZGRyZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkgIFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MuCgoyMDA3LTA5LTEzIDEyOjM3OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWRkIEVPUyBsb2dpYyBmb3IgdGhlIHB1c2gtYmFzZWQgbW9kZSB0b28uIEZpeGVzICM0NzY1MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fZW9zKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgIEFkZCBFT1MgbG9naWMgZm9yIHRoZSBwdXNoLWJhc2VkIG1vZGUgdG9vLiBGaXhlcyAjNDc2NTE0LgoKMjAwNy0wOS0xMiAyMjowMTo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBGaXggbGF3IGVuY29kZXIgdGltZXN0YW1wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfaW5pdCksIChnc3RfYWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfaW5pdCksCgkgIChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgIEZpeCBsYXcgZW5jb2RlciB0aW1lc3RhbXBzLgoKMjAwNy0wOS0xMiAwOToxMzozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IEZpeCB3YXJuaW5nIHdoZW4gYnVpbGRpbmcgd2l0aG91dCBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkgIEZpeCB3YXJuaW5nIHdoZW4gYnVpbGRpbmcgd2l0aG91dCBkZWJ1Zy4KCSAgKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSAgVXNlIGNvbnN0IGxpa2UgaW4gYWxzYW1peGVydHJhY2suYyAoZml4ZXMgd2FybmluZ3MpLgoKMjAwNy0wOS0xMiAwODozODoyMSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCjIwMDctMDktMTEgMTU6Mzc6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uIGNvZGUgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBGaXggZnJhbWVyYXRlIGRldGVjdGlvbiBjb2RlIHNvbWUgbW9yZS4KCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGlzIGEgd2VpcmQgc3RlcCBpbiB0aGUgc3RlcHdpc2UgZnJhbWVyYXRlcy4KCSAgRG9uJ3Qgb3ZlcndyaXRlIHRoZSBtaW4gaW50ZXJ2YWwgd2l0aCB0aGUgZnJhbWVyYXRlLCB1c2UgYSB0ZW1wIHZhcmlhYmxlCgkgIGluc3RlYWQuCgkgIFVzZSBtYXggaW4gdGhlIENvbnRpbnVvdXMgZnJhbWVyYXRlIGludGVydmFscyBpbnN0ZWFkIG9mIHN0ZXAsIHdoaWNoIGlzCgkgIDEgYWNjb3JkaW5nIHRvIHRoZSBkb2NzLiBGaXhlcyAjNDc1NDI0LgoKMjAwNy0wOS0xMCAxOTo1MzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IE1ha2UgdWRwc3JjIHRpbWVzdGFtcCBvdXRnb2luZyBidWZmZXJzIGJhc2VkIG9uIHdoZW4gdGhleSB3ZXJlIHJlY2VpdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19pbml0KSwgKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgTWFrZSB1ZHBzcmMgdGltZXN0YW1wIG91dGdvaW5nIGJ1ZmZlcnMgYmFzZWQgb24gd2hlbiB0aGV5IHdlcmUgcmVjZWl2ZWQuCgkgIEFsc28gbWFrZSBpdCBvdXRwdXQgYSBzZWdtZW50IGluIHRpbWUuCgoyMDA3LTA5LTEwIDA2OjQ5OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFBsdWcgYSBsaXR0bGUgbGVhay4gTGl0dGxlIGNvZGUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUGx1ZyBhIGxpdHRsZSBsZWFrLiBMaXR0bGUgY29kZSBjbGVhbnVwcy4KCjIwMDctMDktMDkgMTg6MDg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gdG8gY2hlY2sgZm9yIG9sZCBmbGFjIHZlcnNpb25zLCAncyBnb29kIGZvciBjcm9zcy1jb21waWxhdGlvbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIHRvIGNoZWNrIGZvciBvbGQKCSAgZmxhYyB2ZXJzaW9ucywgJ3MgZ29vZCBmb3IgY3Jvc3MtY29tcGlsYXRpb24ga2FybWEuCgoyMDA3LTA5LTA3IDE4OjA0OjQxICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOiBGaXggdXAgaGVhZGVyIHN0cnVjdHVyZSBzbyB0aGF0IGNvbXBpbGVycyBkb24ndCBhZGQgcGFkZGluZyBiZXR3ZWVuIHRoZSBzdHJ1Y3R1cmUgZmllbGRzLCBzaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgRml4IHVwIGhlYWRlciBzdHJ1Y3R1cmUgc28gdGhhdCBjb21waWxlcnMgZG9uJ3QgYWRkIHBhZGRpbmcKCSAgYmV0d2VlbiB0aGUgc3RydWN0dXJlIGZpZWxkcywgc2luY2UgdGhhdCB3b3VsZCBsZWFkIHRvIHVzCgkgIHNlbmRpbmcgUlRQIHBhY2tldHMgd2l0aCBicm9rZW4gaGVhZGVycyAoYXMgaXMgY3VycmVudGx5IHRoZQoJICBjYXNlIHdoZW4gY29tcGlsaW5nIHdpdGggTVNWQykuIEFsc28gc2VlIHNpbWlsYXIgZml4ZXMgaW4KCSAgbGliZ3N0cnRwIGluIGdzdC1wbHVnaW5zLWJhc2UuICgjNDc0NjE2OyAjNDcxMTk0KQoKMjAwNy0wOS0wNyAxNjowNDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRG9uJ3Qgb3ZlcndyaXRlIG91ciBHVmFsdWUgd2l0aCAwIGJ1dCBpbnN0ZWFkIHVzZSB0aGUgcHJldmlvdXNseSBjb21wdXRlZCB2YWx1ZS4gRml4ZXMgIzQ3MS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBEb24ndCBvdmVyd3JpdGUgb3VyIEdWYWx1ZSB3aXRoIDAgYnV0IGluc3RlYWQgdXNlIHRoZSBwcmV2aW91c2x5CgkgIGNvbXB1dGVkIHZhbHVlLiBGaXhlcyAjNDcxODIzIHNvbWUgbW9yZS4KCjIwMDctMDktMDcgMTU6NTQ6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgVGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlciBmb3Igbm90aWNpbmcuCgoyMDA3LTA5LTA2IDEyOjAwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6IE5vIHRhYnMgaW4gdGhpcyBmaWxlIHBsZWFzZSwgb3IgZ3RrLWRvYyB3aWxsIGVuZCB1cCBkb2N1bWVudGluZyByYXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBObyB0YWJzIGluIHRoaXMgZmlsZSBwbGVhc2UsIG9yIGd0ay1kb2Mgd2lsbCBlbmQgdXAgZG9jdW1lbnRpbmcKCSAgcmF0aGVyIGFic3VyZCBjbGFzcyBoaWVyYXJjaGllcy4KCjIwMDctMDktMDYgMTA6NDg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBJZiB0aGUgbmV3IGtpZCBlbGVtZW50IGZhaWxzIHRvIGNoYW5nZSBzdGF0ZSBmb3Igc29tZSByZWFzb24gZm9yd2FyZCB0aGUgZXJyb3IgbWVzc2FnZSBpdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgSWYgdGhlIG5ldyBraWQgZWxlbWVudCBmYWlscyB0byBjaGFuZ2Ugc3RhdGUgZm9yIHNvbWUgcmVhc29uCgkgIChlLmcuIGVzZHNpbmsgbm90IGJlaW5nIGFibGUgdG8gY29ubmVjdCB0byB0aGUgc291bmQgc2VydmVyKSwKCSAgZm9yd2FyZCB0aGUgZXJyb3IgbWVzc2FnZSBpdCBwb3N0ZWQgb24gdGhlIGJ1cyBpbnN0ZWFkIG9mIGp1c3QKCSAgcG9zdGluZyBhIGdlbmVyaWMgJ0ludGVybmFsIHN0YXRlIGNoYW5nZSBlcnJvcjogcGxlYXNlIGZpbGUgYQoJICBidWcnIGVycm9yIG1lc3NhZ2UuIEZpeGVzICM0NzEzNjQuCgoyMDA3LTA5LTA2IDA3OjIxOjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0IGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksIChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXR1cCksIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQKCSAgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZSBjb250ZW50cywKCSAgYXZlcmFnZSBhbGwgRkZUcyBkb25lIGluIG9uZSBpbnRlcnZhbCBmb3IgYmV0dGVyIHJlc3VsdHMsIHVzZQoJICBhIGJldHRlciB3aW5kb3dpbmcgZnVuY3Rpb24sIGFsbG93IHBvc3RpbmcgdGhlIHBoYXNlIGluIHRoZSBtZXNzYWdlCgkgIGFuZCBhY3R1YWxseSBkbyBhbiBGRlQgd2l0aCB0aGUgcmVxdWVzdGVkIG51bWJlciBvZiBiYW5kcyBpbnN0ZWFkCgkgIG9mIGludGVycG9sYXRpbmcuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNwZWN0cnVtX3N1aXRlKToKCSAgSW1wcm92ZSB0aGUgdW5pdHMgdGVzdHMgYnkgY2hlY2tpbmcgZm9yIGEgMTEwMjVIeiBzaW5lIHdhdmUKCSAgYW5kIGFkZCB1bml0IHRlc3RzIGZvciBhbGwgNCBzdXBwb3J0ZWQgc2FtcGxlIHR5cGVzLgoKMjAwNy0wOS0wNSAxNjoyMzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogRG9uJ3QgYXNzdW1lIHRhZ3MgYXJlIGVuY29kZWQgYXMgVVRGLTggKCM0NzM2NzApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIERvbid0IGFzc3VtZSB0YWdzIGFyZSBlbmNvZGVkIGFzIFVURi04ICgjNDczNjcwKS4KCjIwMDctMDktMDUgMTQ6NDM6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi86IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJpZXMgaW4gdGhlIGNydWRlc3Qgd2F5IHBvc3NpYmxlIHNvIEkgZG9uJ3QgaGF2ZSB0byB1c2Ugc3luYz1mYWxzZSBhbnkgbG9uZ2VyIHdoZW4gdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEltcGxlbWVudCBMQVRFTkNZIHF1ZXJpZXMgaW4gdGhlIGNydWRlc3Qgd2F5IHBvc3NpYmxlIHNvIEkgZG9uJ3QKCSAgaGF2ZSB0byB1c2Ugc3luYz1mYWxzZSBhbnkgbG9uZ2VyIHdoZW4gdGVzdGluZyB3aXRoIHZpZGVvc2lua3MuCgoyMDA3LTA5LTA1IDA5OjI1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGJ1aWxkLgoKMjAwNy0wOS0wNSAwMDoxMjo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW4gdGhlIGZyYW1lcmF0ZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW4gdGhlIGZyYW1lcmF0ZSBmdW5jdGlvbi4KCSAgSXRlcmF0ZSBzdGVwd2lzZSBmcmFtZXJhdGUgdXAgdG8gYW5kIF9pbmNsdWRpbmdfIHRoZSBtYXggYW5kIGlmIG5vdGhpbmcKCSAgd2FzIGFkZGVkIHRvIHRoZSBsaXN0LCBhZGQgYSBkdW1teSAwLzEgdG8gMTAwLzEgZnJhbWVyYXRlIHNvIHRoYXQgd2UKCSAgZG9uJ3QgZW5kIHVwIHdpdGggYW4gZW1wdHkgbGlzdC4KCjIwMDctMDktMDQgMjI6NDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBBZGQgcHJvcGVydHkgZG8gY29uZmlndXJlIGRlc3RpbmF0aW9uIGFkZHJlc3MvcG9ydCBwYWlycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X2NsaWVudHNfc3RyaW5nKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X2NsaWVudHNfc3RyaW5nKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXJfaW50ZXJuYWwpLAoJICAoZ3N0X211bHRpdWRwc2lua19jbGVhcik6CgkgIEFkZCBwcm9wZXJ0eSBkbyBjb25maWd1cmUgZGVzdGluYXRpb24gYWRkcmVzcy9wb3J0IHBhaXJzCgkgIEFQSTpHc3RNdWx0aVVEUFNpbms6OmNsaWVudHMKCjIwMDctMDktMDQgMTg6MzA6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy86IEFkZGVkIHNvbWUgUlRQIGV4YW1wbGUgc2NyaXB0cyBmb3Igc2VuZGluZyBhbmQgcmVjZWl2aW5nIFJUUCBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBBZGRlZCBzb21lIFJUUCBleGFtcGxlIHNjcmlwdHMgZm9yIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBSVFAgc3RyZWFtcy4KCjIwMDctMDktMDQgMTY6NDA6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFJlc3RydWN0dXJlIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGFsc28gY29tcHV0ZSB0aGUgZXhwZWN0ZWQgR1N0cmVhbWVyIG91dHB1dCBzaXouLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwcyksIChnc3RfdjRsMnNyY19nZXRfbW1hcCk6CgkgIFJlc3RydWN0dXJlIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGFsc28gY29tcHV0ZSB0aGUKCSAgZXhwZWN0ZWQgR1N0cmVhbWVyIG91dHB1dCBzaXplIG9mIHRoZSB2aWRlbyBmcmFtZXMuCgkgIFNldCBmcmFtZV9ieXRlX3NpemUgY29ycmVjdGx5IHNvIHRoYXQgcmVhZC1iYXNlZCBkZXZpY2VzIGhhdmUgYSBjaGFuY2UKCSAgb2Ygd29ya2luZyBjb3JyZWN0bHkuCgkgIFdoZW4gZ3JhYmJpbmcgYSBmcmFtZSwgZGlzY2FyZCBmcmFtZXMgdGhhdCBhcmUgbm90IG9mIHRoZSBleHBlY3RlZCBzaXplLgoJICBTb21lIGNhbWVyYXMgZG9uJ3Qgb3V0cHV0IHRoZSByaWdodCBmcmFtZXNpemUgZm9yIHRoZSBmaXJzdCBidWZmZXIuCgkgIFRyeSBvbmx5IGEgY291cGxlIG9mIHRpbWVzIHRvIGdldCBhIHZhbGlkIGZyYW1lLCBlbHNlIGVycm9yIG91dC4KCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfZ2V0X2lucHV0KToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIHdoZW4gc2Nhbm5pbmcgdGhlIGRldmljZS4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMl9idWZmZXJfbmV3KSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldyksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9hY3RpdmF0ZSksCgkgIChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIHdoZW4gZGVxdWVpbmcgYSBmcmFtZS4KCjIwMDctMDktMDQgMTQ6Mzc6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBNb3JlIGNvZGUgY2xlYW51cHMuIEFkZCBzb21lIG1vcmUgY29tbWVudCBhbmQgaW1wcm92ZSBkZWJ1Z3MgbG9ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIE1vcmUgY29kZSBjbGVhbnVwcy4gQWRkIHNvbWUgbW9yZSBjb21tZW50IGFuZCBpbXByb3ZlIGRlYnVncyBsb2dzLgoKMjAwNy0wOS0wNCAwNzo1ODozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEltcGxlbWVudCBzZWVrLXF1ZXJ5LiBSZWZhY3RvciBkdXJhdGlvbiBjYWxjdWxhdGlvbnMuIEFwcHJvcHJpYXRlIHVzZSBvZiB1aW50NjRfc2NhbGVfaW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBJbXBsZW1lbnQgc2Vlay1xdWVyeS4gUmVmYWN0b3IgZHVyYXRpb24gY2FsY3VsYXRpb25zLiBBcHByb3ByaWF0ZSB1c2UKCSAgb2YgdWludDY0X3NjYWxlX2ludCBhbmQgdWludDY0X3NjYWxlLiBNb3ZlIHJlcGVhZGVkbHkgY2FsY3VsYXRlZCBzdHVmZgoJICBvdXQgb2YgbG9vcHMuCgoyMDA3LTA5LTAzIDA3OjQ0OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEltcGxlbWVudCBzZWVrLXF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEltcGxlbWVudCBzZWVrLXF1ZXJ5LgoKMjAwNy0wOC0yOSAyMTo0MzowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIG5ldyBiYXNlc2luayBhc3luYyBwcm9wZXJ0eSB0byBtYWtlIHNwYXJzZSBSVENQIHBhY2tldCBub3Qgd2FpdCBmb3IgcHJlcm9sbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19kdXBfcHJpbnRmKToKCSAgVXNlIG5ldyBiYXNlc2luayBhc3luYyBwcm9wZXJ0eSB0byBtYWtlIHNwYXJzZSBSVENQIHBhY2tldCBub3Qgd2FpdCBmb3IKCSAgcHJlcm9sbC4KCjIwMDctMDgtMjcgMTQ6NDQ6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06IERpc3QgdGhlIHJpZ2h0IGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICBEaXN0IHRoZSByaWdodCBmaWxlLgoKMjAwNy0wOC0yMyAxNjoyNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTWFrZSBzdXJlIHdlIGdlbmVyYXRlIGFuZCBwYXJzZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMgaW4gdGhlIFBPU0lYIGxvY2FsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kdXBfcHJpbnRmKSwKCSAgKGdzdF9ydHNwc3JjX2dldF9mbG9hdCksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgTWFrZSBzdXJlIHdlIGdlbmVyYXRlIGFuZCBwYXJzZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMgaW4gdGhlIFBPU0lYCgkgIGxvY2FsZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGxvY2FsZS4KCjIwMDctMDgtMjIgMTU6MDE6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZpeCBtZXRob2QgZGV0ZWN0aW9uIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kb19zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCBtZXRob2QgZGV0ZWN0aW9uIGFnYWluLgoJICBLZWVwIHRyYWNrIG9mIHdoZW4gd2UgbXVzdCBzZW5kIGEgUmFuZ2UgaGVhZGVyLgoJICBVc2Ugc2VnbWVudCB2YWx1ZXMgZm9yIFJhbmdlLCBTcGVlZCBhbmQgU2NhbGUgaGVhZGVycy4KCSAgUGFyc2UgU3BlZWQgYW5kIFNjYWxlIGhlYWRlcnMgdG8gdXBkYXRlIHRoZSBzZWdtZW50IHZhbHVlcy4KCjIwMDctMDgtMjIgMDg6MjI6NTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEhhbmRsZSBvcHRpb25hbCB2NGwyIGlvY3RscyBncmFjZWZ1bGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBIYW5kbGUgb3B0aW9uYWwgdjRsMiBpb2N0bHMgZ3JhY2VmdWxseS4KCjIwMDctMDgtMjAgMTY6NTI6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgYW4gSDI2MyBkZXBheWxvYWRlci4gRml4ZXMgIzM2OTM5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2M19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIEFkZGVkIGFuIEgyNjMgZGVwYXlsb2FkZXIuIEZpeGVzICMzNjkzOTIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfZnJhZ21lbnRhdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpOgoJICBNYWtlIHRoZSBIMjYzKyBwYXkvZGVwYXlsb2FkZXIgc3VwcG9ydCBIMjYzLTE5OTggYW5kIEgyNjMtMjAwMAoJICBwYXlsb2Fkcy4KCSAgQWxzbyBhbG93IHBsYWluIEgyNjMgb24gdGhlIGgyNjNwIHBheWxvYWRlcnMuIEZpeGVzICM0NjUwNDAuCgoyMDA3LTA4LTE5IDE5OjE2OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoKMjAwNy0wOC0xOSAxOToxMTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgd2luZG93ZWQgc2luYyBmaWx0ZXJzIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIHdpbmRvd2VkIHNpbmMgZmlsdGVycyBpbiB0aGUgZG9jcy4KCjIwMDctMDgtMTkgMTk6MDE6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGJwd3NpbmNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGxwd3NpbmNfc3VpdGUpOgoJICBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCjIwMDctMDgtMTkgMTg6NDc6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWxzbyB0ZXN0IDMyIGJpdCBmbG9hdCBtb2RlIGFuZCB0aGUgdHlwZSAyIHZhcmlhbnRzIG9mIHRoZSBmaWx0ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2NoZWJ5c2hldmZyZXFiYW5kX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9jaGVieXNoZXZmcmVxbGltaXRfc3VpdGUpOgoJICBBbHNvIHRlc3QgMzIgYml0IGZsb2F0IG1vZGUgYW5kIHRoZSB0eXBlIDIgdmFyaWFudHMgb2YgdGhlIGZpbHRlcnMuCgoyMDA3LTA4LTE4IDE5OjQ0OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWZhY3RvciB0aGUgdWRwIGFuZCBpbnRlcmxlYXZlZCBsb29wIGZ1bmN0aW9uIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCk6CgkgIFJlZmFjdG9yIHRoZSB1ZHAgYW5kIGludGVybGVhdmVkIGxvb3AgZnVuY3Rpb24gYSBiaXQuCgoyMDA3LTA4LTE3IDE3OjA4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQcm90ZWN0IGNvbm5lY3Rpb24gYWN0aXZpdHkgd2l0aCBhIG5ldyBsb2NrLCBhdm9pZHMgZGVhZGxvY2tzIHdoZW4gZ29pbmcgdG8gUEFVU0VELiBGaXhlcyAjNDU1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFByb3RlY3QgY29ubmVjdGlvbiBhY3Rpdml0eSB3aXRoIGEgbmV3IGxvY2ssIGF2b2lkcyBkZWFkbG9ja3Mgd2hlbiBnb2luZwoJICB0byBQQVVTRUQuIEZpeGVzICM0NTU4MDguCgoyMDA3LTA4LTE3IDE1OjMwOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogRml4IGRlYnVnIHN0YXRlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogKGdzdF9ybmRfYnVmZmVyX3NpemVfbG9vcCk6CgkgIEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA3LTA4LTE3IDE1OjI4OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggc3RyYXkgJXUgaW4gZGVidWcgbGluZSBhcyBzcG90dGVkIGJ5IFNhdXIgb24gSVJDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19kb19zdHJlYW1fZW9zKToKCSAgRml4IHN0cmF5ICV1IGluIGRlYnVnIGxpbmUgYXMgc3BvdHRlZCBieSBTYXVyIG9uIElSQy4KCjIwMDctMDgtMTcgMTU6MDU6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKCSAgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYmplY3QgcHJvcGVydGllcwoJICBzbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBVSXMgY2FuIHVzZSBzbGlkZXJzIGFuZCBjaGFuZ2UgZnJlcXVlbmN5CgkgIHByb3BlcnRpZXMgdG8gZmxvYXRzIHRvIHNhdmUgYSBiaXQgb2YgbWVtb3J5LCBldmVuIGludHMgd291bGQgaW4KCSAgdGhlb3J5IGJlIGVub3VnaC4gQWxzbyByZW5hbWUgZnJlcXVlbmN5IHRvIGN1dG9mZiBmb3IgY29uc2lzdGVuY3kKCSAgcmVhc29ucy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgIFJlZ2VuZXJhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4KCjIwMDctMDgtMTcgMTQ6NDM6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2NsYXNzX2luaXQpOgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50CgkgIHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMKCSAgc28gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgVUlzIGNhbiB1c2Ugc2xpZGVycyBhbmQgYWRkIGEgbm90ZSBhYm91dAoJICB0aGUgbnVtYmVyIG9mIHBvbGVzIGFzIGEgdG9vIGhpZ2ggbnVtYmVyIG9mIHBvbGVzIGNvbWJpbmVkIHdpdGgKCSAgdmVyeSBsb3cgb3IgdmVyeSBoaWdoIGZyZXF1ZW5jaWVzIHdpbGwgcHJvZHVjZSBvbmx5IG5vaXNlLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgUmVnZW5lcmF0ZWQgZm9yIHRoZSBwcm9wZXJ0eSBjaGFuZ2VzLgoKMjAwNy0wOC0xNyAxNDoxNToxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogSW1wcm92ZSB0aW1lb3V0IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfZmx1c2gpLCAoZ3N0X3J0c3BzcmNfc2lua19jaGFpbiksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcHJvdmUgdGltZW91dCBoYW5kbGluZy4KCSAgVXNlIHRoZSBzYW1lIHNvY2tldCBmb3Igc2VuZGluZyBhbmQgcmVjZWl2aW5nIFJUQ1AgcGFja2V0cyBzbyB0aGF0IHNvbWUKCSAgc2VydmVycyBjYW4gdHJhY2sgY2xpZW50cyBiZXR0ZXIuCgkgIEltcHJvdmUgY29ubmVjdGlvbiBjbG9zZWQgaGFuZGxpbmcuIFRyeSB0byByZWNvbm5lY3QuCgkgIERvbid0IG92ZXJ3cml0ZSBvdXIgY29udGVudCBiYXNlIHdpdGggTlVMTC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIEltcHJvdmUgcmFuZ2UgcGFyc2luZyBhbmQgaGFuZGxpbmcuCgkgIFJlbW92ZSBmbHVzaGluZyBoYWNrIG5vdyB0aGF0IGNvcmUgZG9lcyB0aGUgcmlnaHQgdGhpbmcuCgoyMDA3LTA4LTE3IDEzOjU5OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIHNvY2tldCB0byB1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfY2xvc2UpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBzb2NrZXQgdG8gdXNlLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgdGhlIGN1cnJlbnRseSB1c2VkIHNvY2tldC4KCjIwMDctMDgtMTYgMTk6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zdGFydCksIChicHdzaW5jX3F1ZXJ5KSwKCSAgKGJwd3NpbmNfcXVlcnlfdHlwZSksIChicHdzaW5jX2V2ZW50KSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIFJlc2V0IHJlc2lkdWUgbGVuZ3RoIG9ubHkgd2hlbiBhY3R1YWxseSBjcmVhdGluZyBhIHJlc2lkdWUuCgoyMDA3LTA4LTE2IDE3OjAyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBDaGVieXNoZXYgbG93cGFzcy9oaWdocGFzcyBhbmQgYmFuZHBhc3MvYmFuZHJlamVjdCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9pbml0KSwKCSAgKGdlbmVyYXRlX2JpcXVhZF9jb2VmZmljaWVudHMpLCAoY2FsY3VsYXRlX2dhaW4pLAoJICAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfc2V0dXApLCAocHJvY2VzcyksIChwcm9jZXNzXzY0KSwKCSAgKHByb2Nlc3NfMzIpLCAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX3N0YXJ0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2luaXQpLAoJICAoZ2VuZXJhdGVfYmlxdWFkX2NvZWZmaWNpZW50cyksIChjYWxjdWxhdGVfZ2FpbiksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9zZXR1cCksIChwcm9jZXNzKSwgKHByb2Nlc3NfNjQpLAoJICAocHJvY2Vzc18zMiksIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9zdGFydCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBDaGVieXNoZXYgbG93cGFzcy9oaWdocGFzcyBhbmQgYmFuZHBhc3MvYmFuZHJlamVjdCBlbGVtZW50cy4KCSAgRml4ZXMgIzQ2NDgwMC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKHNldHVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQpLCAoY2xlYW51cF9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmRfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxbGltaXQuYzoKCSAgKHNldHVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0KSwgKGNsZWFudXBfYXVkaW9jaGVieXNoZXZmcmVxbGltaXQpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9jaGVieXNoZXZmcmVxbGltaXRfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgY2hlYnlzaGV2IGZpbHRlcnMuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICBBbmQgYWRkIGRvY3MgZm9yIHRoZSBjaGVieXNoZXYgZmlsdGVycy4gV2hpbGUgZG9pbmcKCSAgdGhhdCBhbHNvIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgoyMDA3LTA4LTE2IDEyOjE1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlIHJvIG1lbW9yeSB0byBzaGFyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIE1ha2Ugcm8gbWVtb3J5IHRvIHNoYXJlLgoKMjAwNy0wOC0xNiAxMTo0OTowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEltcHJvdmUgVURQIHBlcmZvcm1hbmNlIGJ5IGF2b2lkaW5nIGEgc2VsZWN0KCkgd2hlbiB3ZSBoYXZlIGRhdGEgYXZhaWxhYmxlIGltbWVkaWF0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEltcHJvdmUgVURQIHBlcmZvcm1hbmNlIGJ5IGF2b2lkaW5nIGEgc2VsZWN0KCkgd2hlbiB3ZSBoYXZlIGRhdGEKCSAgYXZhaWxhYmxlIGltbWVkaWF0bHkuCgoyMDA3LTA4LTE2IDExOjQ3OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IEFkZCAoZHVtbXkpIFNTUkMgbWFuYWdlbWVudCBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX21hcnNoYWxfVk9JRF9fVUlOVF9VSU5UKSwKCSAgKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBBZGQgKGR1bW15KSBTU1JDIG1hbmFnZW1lbnQgc2lnbmFscy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZmluZF9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChuZXdfc2Vzc2lvbl9wYWQpLAoJICAocmVxdWVzdF9wdF9tYXApLCAoZ3N0X3J0c3BzcmNfZG9fc3RyZWFtX2VvcyksIChvbl9ieWVfc3NyYyksCgkgIChvbl90aW1lb3V0KSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fcHVzaF9ldmVudCksIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkuCgkgIEFkZCBmaW5kX3N0cmVhbSBoZWxwZXIgZnVuY3Rpb25zLgoJICBIYW5kbGUgc3RyZWFtIEVPUyBiYXNlZCBvbiBCWUUgbWVzc2FnZXMgb3IgU1NSQyB0aW1lb3V0LgoJICBSZXR1cm5zIFNVQ0NFU1MgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFzIHdlIGhpZGUgb3VyIGFzeW5jCgkgIGVsZW1lbnRzIGZyb20gdGhlIHBhcmVudC4KCjIwMDctMDgtMTYgMDk6NDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAobHB3c2luY190cmFuc2Zvcm0pLCAobHB3c2luY19zdGFydCksIChscHdzaW5jX3F1ZXJ5KSwKCSAgKGxwd3NpbmNfcXVlcnlfdHlwZSksIChscHdzaW5jX2V2ZW50KSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgoyMDA3LTA4LTE2IDA3OjQwOjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBGaXggZGEgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSAgRml4IGRhIGxlYWsuCgoyMDA3LTA4LTE0IDEzOjUwOjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvOiBBZGQgbmV3IHRlc3QgZWxlbWVudCBhbmQgY2xlYW4tdXAgdGhlIG90aGVycyBhIGxpdHRsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgQWRkIG5ldyB0ZXN0IGVsZW1lbnQgYW5kIGNsZWFuLXVwIHRoZSBvdGhlcnMgYSBsaXR0bGUuCgoyMDA3LTA4LTEzIDEzOjUwOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0gaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlIGFsbCBvdGhlciBkb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0KCSAgaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlCgkgIGFsbCBvdGhlciBkb2NzIHZpYSBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgoyMDA3LTA4LTEyIDIwOjU1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgoyMDA3LTA4LTEyIDIwOjUzOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoc2V0dXBfYnB3c2luYyksCgkgIChjbGVhbnVwX2Jwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYnB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCjIwMDctMDgtMTIgMjA6MTk6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChzZXR1cF9scHdzaW5jKSwKCSAgKGNsZWFudXBfbHB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChscHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoKMjAwNy0wOC0xMiAxNTo0MTo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTA4LTEyIDE0OjM1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBtcDRhIHZlcnNpb24gMCBhdG9tcy4gRml4ZXMgIzQ2NTc3NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9ub2RlKToKCSAgRml4IHBhcnNpbmcgb2YgbXA0YSB2ZXJzaW9uIDAgYXRvbXMuIEZpeGVzICM0NjU3NzQuCgoyMDA3LTA4LTEyIDEyOjQ2OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZSBvbiBzdHJlYW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGJwd3NpbmNfc3RhcnQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChscHdzaW5jX3N0YXJ0KToKCSAgUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZQoJICBvbiBzdHJlYW0gY2hhbmdlcy4KCjIwMDctMDgtMTEgMTU6NTg6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyIGtlcm5lbCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyCgkgIGtlcm5lbCBzaXplLgoKMjAwNy0wOC0xMCAxNzowODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogSW5jbHVkZSBzdGRsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgIEluY2x1ZGUgc3RkbGliLgoKMjAwNy0wOC0xMCAxNjoxMDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogU2V0IHRoZSBtcGVndmVyc2lvbiBpbiB0aGUgY2FwcyBzbyB0aGF0IGF1dG9wbHVnZ2luZyBkb2VzIG5vdCBnZXQgY29uZnVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgU2V0IHRoZSBtcGVndmVyc2lvbiBpbiB0aGUgY2FwcyBzbyB0aGF0IGF1dG9wbHVnZ2luZyBkb2VzIG5vdCBnZXQKCSAgY29uZnVzZWQuCgoyMDA3LTA4LTEwIDA1OjUxOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkCgkgIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgYnVmZmVyLgoKMjAwNy0wOC0xMCAwNTozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93IGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYnB3c2luY193aW5kb3dfZ2V0X3R5cGUpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cKCSAgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQW5kIGFub3RoZXIgc21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA1OjIwOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX2dldF91bml0X3NpemUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIC0gU3VwcG9ydCBkb3VibGUgaW5wdXQKCSAgLSBGaXggcHJvY2Vzc2luZyBmb3IgaW5wdXQgd2l0aCA+MSBjaGFubmVscwoJICAtIFNwZWNpZnkgZnJlcXVlbmN5IGluIEh6CgkgIC0gU3BlY2lmeSBhY3R1YWwgZmlsdGVyIGtlcm5lbCBsZW5ndGgKCSAgLSBVc2UgdHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwIGFzIHdlJ3JlIHdvcmtpbmcKCSAgb3V0IG9mIHBsYWNlIGFueXdheQoJICAtIEZhY3RvciBvdXQgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIGFuZCB1cGRhdGUgdGhlIGZpbHRlcgoJICBrZXJuZWwgd2hlbiB0aGUgcHJvcGVydGllcyBhcmUgc2V0CgkgIEZpeCBiYW5kcGFzcyBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gdG8gYWN0dWFsbHkgZ2VuZXJhdGUKCSAgYSBiYW5kcGFzcyBmaWx0ZXIgYnkgY3JlYXRpbmcgYSBoaWdocGFzcyBpbnN0ZWFkIG9mIGEgc2Vjb25kCgkgIGxvd3Bhc3MuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgU21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA0OjQ0OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkCgkgIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8gdGhlIG5leHQgb2RkIG51bWJlci4KCSAgQWxzbyByZW1vdmUgbm93IG9ic29sZXRlIEZJWE1Fcy4KCjIwMDctMDgtMTAgMDQ6MzI6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuCgkgIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdG9wYmFuZCBhdHRlbnVhdGlvbiBidXQgYSBiaXQgc2xvd2VyCgkgIHJvbGxvZmYuCgoyMDA3LTA4LTEwIDA0OjIxOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGEgaGlnaHBhc3MgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGEgaGlnaHBhc3MgbW9kZS4KCjIwMDctMDgtMTAgMDQ6MDY6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCjIwMDctMDgtMDkgMTk6MjM6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgQWRkIFRPRE9zIGFuZCBGSVhNRXMgYW5kIHJlbW92ZSB0d28gd3JvbmcgRklYTUVzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgRklYTUVzIGFuZCBhIG5ldyBUT0RPLgoKMjAwNy0wOC0wOSAxODowODowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lciBpcyBhIEMrKyBrZXl3b3JkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLAoJICAocHJvY2Vzc182NCksIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldHVwKSwKCSAgKGxwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksIChscHdzaW5jX3RyYW5zZm9ybSksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lcgoJICBpcyBhIEMrKyBrZXl3b3JkLgoJICBJbXBsZW1lbnQgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBpbiBIeiBpbnN0ZWFkIG9mIGZyYWN0aW9uCgkgIG9mIHNhbXBsaW5nIGZyZXF1ZW5jeS4KCSAgUmVtb3ZlIHNvbWUgdW5lY2Vzc2FyeSBGSVhNRXMgYW5kIGFkZCBzb21lIFRPRE9zLCBhZGQgc29tZQoJICByZXF1aXJlZCBsb2NraW5nIGFuZCByZWZhY3RvciB0aGUga2VybmVsIGdlbmVyYXRpb24gaW50byBhCgkgIHNlcGFyYXRlIGZ1bmN0aW9uIHRoYXQgaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgcHJvcGVydGllcwoJICBjaGFuZ2Ugbm93LgoJICBBbmQgdXNlIEJhc2VUcmFuc2Zvcm06OnRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcAoJICBhcyB0aGUgY29udm9sdXRpb24gaXMgZG9uZSBvdXQgb2YgcGxhY2UgYW55d2F5LiBTaG91bGQKCSAgYmUgZG9uZSBpbiBwbGFjZSBsYXRlci4KCjIwMDctMDgtMDkgMTA6NTQ6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vaHUucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOC0wOCAyMDo0NzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkKCSAgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgoyMDA3LTA4LTA4IDE3OjQ3OjA1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogUmVuZGVyIHJpZ2h0IGJvcmRlciBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2F5dXZfaTQyMCk6CgkgIFJlbmRlciByaWdodCBib3JkZXIgaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24uCgoyMDA3LTA4LTA4IDEwOjU0OjUwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IE1ha2UgbW9kZSBwcm9wZXJ0eSBhIHN0cmluZy4gRml4ZXMgIzQ2NDQ3NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgIE1ha2UgbW9kZSBwcm9wZXJ0eSBhIHN0cmluZy4gRml4ZXMgIzQ2NDQ3NS4KCjIwMDctMDgtMDUgMTQ6NTg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogV2lkZW4gY2FwcyB0byBtYXRjaCBkZWNvZGVyIGEgYml0IGFuZCBhZGQgbW9yZSBGSVhNRXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgV2lkZW4gY2FwcyB0byBtYXRjaCBkZWNvZGVyIGEgYml0IGFuZCBhZGQgbW9yZSBGSVhNRXMuCgoyMDA3LTA4LTA1IDE0OjUzOjM2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4IE9ETUwgaW5kZXggdGFnIG51bWJlcmluZy4gRml4ZXMgIzQ2MzYyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEZpeCBPRE1MIGluZGV4IHRhZyBudW1iZXJpbmcuIEZpeGVzICM0NjM2MjQuCgoyMDA3LTA4LTAzIDE2OjA4OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggZGVmYXVsdCBjbG9jay1yYXRlIGZvciByZWFsbWVkaWEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdldF9kZWZhdWx0X3JhdGVfZm9yX3B0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICBGaXggZGVmYXVsdCBjbG9jay1yYXRlIGZvciByZWFsbWVkaWEuCgkgIEZpeCBwYXJzaW5nIG9mIHRyYW5zcG9ydC4KCSAgRG9uJ3QgdHJ5IHRvIGxpbmsgTlVMTCBwYWRzLgoKMjAwNy0wNy0zMCAxNzoxNzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLnNraXA6IEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZSBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUKCSAgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWJsZSBzdHJpbmdzLiBTaG91bGQgaG9wZWZ1bGx5IHBhY2lmeQoJICBicm9rZW4gdG9vbHMgYW5kIG1ha2UgaXQgY2xlYXJlciB0aGF0IHRoZXNlIGZpbGVzIGFyZSBsZWZ0IG91dAoJICBpbnRlbnRpb25hbGx5ICgjNDYxNjAwKS4KCjIwMDctMDctMzAgMTI6NDE6NTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IElmIHRoZSBidWZmZXIgd2FzIGVudGlyZWx5IGNsaXBwZWQgLi4uIGRvbid0IHRyeSBzZW5kaW5nIGl0IDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBJZiB0aGUgYnVmZmVyIHdhcyBlbnRpcmVseSBjbGlwcGVkIC4uLiBkb24ndCB0cnkgc2VuZGluZyBpdCA6KQoKMjAwNy0wNy0yNyAxNjo1Njo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWYgd2UgZG9uJ3QgaGF2IGEgc2Vzc2lvbiBtYW5hZ2VyLCBzZXQgdGhlIGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycyBvdXJzZWx2ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wcmVwYXJlX3RyYW5zcG9ydHMpOgoJICBJZiB3ZSBkb24ndCBoYXYgYSBzZXNzaW9uIG1hbmFnZXIsIHNldCB0aGUgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzCgkgIG91cnNlbHZlcy4KCSAgRm9yY2UgUEFVU0UvUExBWSBtZXRob2RzIGZvciBub3cgdW50aWwgdGhlIGV4dGVuc2lvbnMgY2FuIG92ZXJ3cml0ZS4KCSAgQXBwZW5kIGZpbmFsIGJpdCBvZiB0aGUgdHJhbnNwb3J0IHN0cmluZyBldmVuIHdoZW4gaXQgZG9lcyBub3QgY29udGFpbiBhCgkgIHBsYWNlaG9sZGVyLgoKMjAwNy0wNy0yNyAxMToyMToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQ2xlYW4gdXAgdGhlIGludGVyZmFjZSBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6IChnc3RfcnRzcF9leHRfbGlzdF9mcmVlKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2Nvbm5lY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX3NlbmRfY2IpOgoJICBDbGVhbiB1cCB0aGUgaW50ZXJmYWNlIGxpc3QuCgkgIEFsbG93IGNvbm5lY3RpbmcgdG8gaW50ZXJmYWNlIHNpZ25hbHMgZm9yIHRoZSBleHRlbnNpb25zLgoJICBSZW1vdmUgb2xkIGV4dGVuc2lvbiBjb2RlLgoJICBGcmVlIGxpc3Qgb24gY2xlYW51cC4KCSAgQWxsb3cgZXh0ZW5zaW9ucyB0byBzZW5kIGFkZGl0aW9uYWwgUlRTUCBtZXNzYWdlcy4KCjIwMDctMDctMjcgMTA6Mzg6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2djb25mLmM6IEhhbmRsZSBhIE5VTEwgZ2NvbmYga2V5IGdyYWNlZnVsbHkgYnkgcmVuZGVyaW5nIHRoZSBkZWZhdWx0IGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgSGFuZGxlIGEgTlVMTCBnY29uZiBrZXkgZ3JhY2VmdWxseSBieSByZW5kZXJpbmcgdGhlIGRlZmF1bHQgZWxlbWVudC4KCjIwMDctMDctMjcgMTA6MTE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6IEZpeCBpbmNsdWRlIHBhdGggZm9yIGV4dGVuc2lvbiBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgRml4IGluY2x1ZGUgcGF0aCBmb3IgZXh0ZW5zaW9uIGludGVyZmFjZS4KCjIwMDctMDctMjYgMTk6NDU6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOiBBbHNvIHJlbW92ZSBhIG5vdyB1bmVjZXNzYXJ5IHZhcmlhYmxlIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJICBBbHNvIHJlbW92ZSBhIG5vdyB1bmVjZXNzYXJ5IHZhcmlhYmxlIGhlcmUuCgoyMDA3LTA3LTI2IDE5OjQxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IERvbid0IHNhdmUgZm9ybWF0IGluZm9ybWF0aW9uIG91cnNlbHZlcywgdGhpcyBpcyBhbHJlYWR5IHNhdmVkIGluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXR1cCksIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfaW5pdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY19zZXR1cCksIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6IChnc3RfYXVkaW9faW52ZXJ0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9zZXR1cCksIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuaDoKCSAgRG9uJ3Qgc2F2ZSBmb3JtYXQgaW5mb3JtYXRpb24gb3Vyc2VsdmVzLCB0aGlzIGlzIGFscmVhZHkgc2F2ZWQgaW4KCSAgR3N0QXVkaW9GaWx0ZXIuCgoyMDA3LTA3LTI2IDE1OjQ4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBVc2UgcmFuayB0byBmaWx0ZXIgb3V0IGV4dGVuc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzogKGdzdF9ydHNwX2V4dF9saXN0X2ZpbHRlciksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9zdHJlYW1fc2VsZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIFVzZSByYW5rIHRvIGZpbHRlciBvdXQgZXh0ZW5zaW9ucy4KCSAgQWRkIHVybCB0byBzdHJlYW1fc2VsZWN0IGludGVyZmFjZSBjYWxsLgoKMjAwNy0wNy0yNSAxODo1MDowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogVXNlIHNoaW55IG5ldyBSVFNQIGFuZCBTRFAgbGlicmFyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvYmFzZTY0LmM6CgkgICogZ3N0L3J0c3AvYmFzZTY0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOiAoZ3N0X3J0c3BfZXh0X2xpc3RfZmlsdGVyKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2luaXQpLCAoZ3N0X3J0c3BfZXh0X2xpc3RfZ2V0KSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2RldGVjdF9zZXJ2ZXIpLCAoZ3N0X3J0c3BfZXh0X2xpc3RfYmVmb3JlX3NlbmQpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfYWZ0ZXJfc2VuZCksIChnc3RfcnRzcF9leHRfbGlzdF9wYXJzZV9zZHApLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3Rfc2V0dXBfbWVkaWEpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfY29uZmlndXJlX3N0cmVhbSksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9nZXRfdHJhbnNwb3J0cyksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9zdHJlYW1fc2VsZWN0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfbG93ZXJfdHJhbnNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfZmx1c2gpLCAoZ3N0X3J0c3BzcmNfZG9fc2VlayksCgkgIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksIChnc3RfcnRzcF9hdXRoX21ldGhvZF90b19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3ByZXBhcmVfdHJhbnNwb3J0cyksIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLAoJICAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmM6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmg6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICAqIGdzdC9ydHNwL3NkcC5oOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvdGVzdC5jOgoJICBVc2Ugc2hpbnkgbmV3IFJUU1AgYW5kIFNEUCBsaWJyYXJ5LgoJICBJbXBsZW1lbnQgUlRTUCBleHRlbnNpb25zIHVzaW5nIHRoZSBuZXcgaW50ZXJmYWNlLgoJICBSZW1vdmUgYSBsb3Qgb2Ygb2xkIGNvZGUuCgoyMDA3LTA3LTI0IDE0OjMxOjU2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgY29kZWMgbWFwcGluZyBmb3IgJzJ2dXknIChSYXcgWVVWIHByb2R1Y2VkIGJ5IEZDUCkgYW5kICdkaXZ4Jy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIGNvZGVjIG1hcHBpbmcgZm9yICcydnV5JyAoUmF3IFlVViBwcm9kdWNlZCBieSBGQ1ApIGFuZCAnZGl2eCcuCgoyMDA3LTA3LTI0IDA1OjA3OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IERvbid0IHVucmVmIHRoZSBvdXRnb2luZyBidWZmZXIgdHdpY2Ugd2hlbiBkcm9wcGluZyBpdCBiZWNhdXNlIGl0J3Mgb3V0c2lkZSBvZiB0aGUgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRG9uJ3QgdW5yZWYgdGhlIG91dGdvaW5nIGJ1ZmZlciB0d2ljZSB3aGVuIGRyb3BwaW5nIGl0IGJlY2F1c2UgaXQncwoJICBvdXRzaWRlIG9mIHRoZSBzZWdtZW50LgoKMjAwNy0wNy0yNCAwNDo1NzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpOgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZAoJICByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRm9yIGZyYW1lZCBXYXZwYWNrIGJ1ZmZlcnMgd2UgcmVxdWlyZSBhIHZhbGlkIHRpbWVzdGFtcC4KCjIwMDctMDctMjMgMTg6MDM6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsaXAgcmF3IGF1ZGlvIGFuZCB2aWRlbyB3aGVuIHdlIGNhbiwga2VlcCB0cmFjayBvZiBjdXJyZW50IG91dHB1dCBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NsaXBfYnVmZmVyKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBDbGlwIHJhdyBhdWRpbyBhbmQgdmlkZW8gd2hlbiB3ZSBjYW4sIGtlZXAgdHJhY2sgb2YgY3VycmVudCBvdXRwdXQKCSAgc2VnbWVudC4KCSAgRG9uJ3QgbGVhayBidWZmZXJzIGFuZCBldmVudHMgd2hlbiB0aGVyZSBpcyBubyBvdXRwdXQgcGFkLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBoZXJlIGFuZCB0aGVyZS4KCjIwMDctMDctMjMgMDk6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgoyMDA3LTA3LTIwIDExOjM3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbSBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20KCSAgaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvcmsgdGhlIGdhaW4gbWFwcGluZy4KCjIwMDctMDctMjAgMDc6NDE6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOiBGaXggQ0ZMQUdTL0xJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICBGaXggQ0ZMQUdTL0xJQlMuCgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKToKCSAgSW5jbHVkZSBzdGRsaWIKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJICBVc2UgJChMSUJNKSBpbnN0ZWFkIG9mIC1sbQoKMjAwNy0wNy0xOCAxMTo1NToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgYW5vdGhlciBleGFtcGxlIHBpcGVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZCBhbm90aGVyIGV4YW1wbGUgcGlwZWxpbmUuCgoyMDA3LTA3LTE4IDExOjQyOjMzICswMDAwICBBbGV4YW5kZXIgRWljaG5lciA8YWxleGVpY2hpQHlhaG9vLmRlPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBVc2UgZGVmaW5lIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxleGFuZGVyIEVpY2huZXIgPGFsZXhlaWNoaUB5YWhvby5kZT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgVXNlIGRlZmluZSBoZXJlLgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2ZyZXF1ZW5jeV9hbmRfbm90aWZ5KToKCSAgRG9uJ3QgdG91Y2ggdGhlIHByb3BlcnR5IC0gaXRzIHN0aWxsIGRpc2FibGVkLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBJbXByb3ZlIGZhbGxiYWNrIGZvcm1hdCBuZWdvdGlvbmF0aW9uLiBGaXhlcyAjNDUxMzg4CgoyMDA3LTA3LTE4IDEwOjMzOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogRml4IHRoZSB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IHRoZSB0ZXN0LgoKMjAwNy0wNy0xOCAwOToyMToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBkb2NzLiBNb3JlIGxvZ3MgaW4gcG5nZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKSwKCSAgKGdzdF9wbmdkZWNfc2lua19zZXRjYXBzKToKCSAgTW9yZSBkb2NzLiBNb3JlIGxvZ3MgaW4gcG5nZGVjLgoKMjAwNy0wNy0xOCAwNzo1MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgoyMDA3LTA3LTE4IDA3OjM1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoKMjAwNy0wNy0xNyAxMTozNToyOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbml0aWFsaXplIG51bV9idWZmZXJzIHdpdGggbWluaW11bSB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgIEluaXRpYWxpemUgbnVtX2J1ZmZlcnMgd2l0aCBtaW5pbXVtIHZhbHVlLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBIYW5kbGUgZnJhbWUtc2l6ZSBxdWVyeSBmYWlsdXJlIGdyYWNlZnVsbHkuCgoyMDA3LTA3LTE2IDEyOjExOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBlc2RzIGF0b21zIGluc2lkZSBtcDRhIGF0b21zIHNvIHRoYXQgd2UgY2FuIHNldCBjb3JyZWN0IGNvZGVjX2luZm8gZm9yIEFBQyBhdWRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfbm9kZSk6CgkgIEZpeCBwYXJzaW5nIG9mIGVzZHMgYXRvbXMgaW5zaWRlIG1wNGEgYXRvbXMgc28gdGhhdCB3ZSBjYW4gc2V0IGNvcnJlY3QKCSAgY29kZWNfaW5mbyBmb3IgQUFDIGF1ZGlvLiBGaXhlcyAjNDU3MDk3IGFsb25nIHdpdGggYSB3aG9sZSBvdGhlciBidW5jaAoJICBvZiBxdC9hYWMgZmlsZXMuCgoyMDA3LTA3LTE2IDA5OjE2OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKToKCSAgRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNy0wNy0xMyAxNjozMToyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IKCSAgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLAoJICBhbmQgd2Ugd2VyZW4ndCBhY3R1YWxseSBfdXNpbmdfIHRoZSBpbmZvcm1hdGlvbiBmb3IgbGliY2hlY2sKCSAgb3Vyc2VsdmVzIGFueXdheS4KCjIwMDctMDctMTIgMTE6MjE6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCjIwMDctMDctMTEgMjM6NDM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKHZtbmNfbWFrZV9idWZmZXIpOgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCjIwMDctMDctMTEgMjI6MzE6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3RyYW5zZm9ybSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZ3N0X25hdmlnYXRpb250ZXN0X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzogKGdzdF9hZ2luZ3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOiAoZ3N0X2RpY2V0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzogKGdzdF9lZGdldHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzogKGdzdF9yZXZ0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzogKGdzdF9zaGFnYWRlbGljdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6IChnc3RfdmVydGlnb3R2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOiAoZ3N0X3dhcnB0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9fZmxpcF90cmFuc2Zvcm0pOgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCjIwMDctMDctMTAgMTA6MTY6MzggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gcHVzaGluZyBhbiBldmVudCByZXR1cm5zIEZBTFNFLiBXZSBkb24ndCBoYXZlIGVub3VnaCBncmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBwdXNoaW5nIGFuIGV2ZW50IHJldHVybnMgRkFMU0UuIFdlCgkgIGRvbid0IGhhdmUgZW5vdWdoIGdyYW51bGFyaXR5IHRvIGNvbnZlcnQgdGhhdCBib29sZWFuIGludG8gYQoJICBHc3RGbG93UmV0dXJuLgoKMjAwNy0wNy0wNiAxNTowMDo0NyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xhdy86IEZpeCBjYXBzbmVnbyBib2dvc2l0eSBpbiAqbGF3IGRlY29kZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChhbGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfYWxhd2RlY19jbGFzc19pbml0KSwgKGdzdF9hbGF3ZGVjX2luaXQpLCAoZ3N0X2FsYXdkZWNfY2hhaW4pLAoJICAoZ3N0X2FsYXdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXVsYXdkZWNfY2xhc3NfaW5pdCksIChnc3RfbXVsYXdkZWNfaW5pdCksCgkgIChnc3RfbXVsYXdkZWNfY2hhaW4pLCAoZ3N0X211bGF3ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgRml4IGNhcHNuZWdvIGJvZ29zaXR5IGluICpsYXcgZGVjb2RlcnMuCgoyMDA3LTA3LTA2IDE0OjM1OjU5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy4qOiBSZW1vdmUgc3R1cGlkaXR5IGluIGdldC9zZXQgY2FwcyBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfaW5pdCksCgkgIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksIChnc3Rfc21va2VlbmNfY2hhaW4pLAoJICAoZ3N0X3Ntb2tlZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgUmVtb3ZlIHN0dXBpZGl0eSBpbiBnZXQvc2V0IGNhcHMgZnVuY3Rpb25zLgoJICBGaXggc29tZSByZWZjb3VudGluZyBwcm9ibGVtcy4KCjIwMDctMDctMDYgMTE6NDI6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogUmVtb3ZlIGVuZGlhbm5lc3MtZmxpcHBpbmcgaGFjayB0aGF0IHNlZW1zIHRvIGhhdmUgYmVlbiByZXF1aXJlZCBvbmx5IGJlY2F1c2Ugb2YgYSBidWcgaW4gZmZtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICBSZW1vdmUgZW5kaWFubmVzcy1mbGlwcGluZyBoYWNrIHRoYXQgc2VlbXMgdG8gaGF2ZSBiZWVuIHJlcXVpcmVkCgkgIG9ubHkgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBmZm1wZWdjb2xvcnNwYWNlLgoJICBQYXJ0aWFsbHkgRml4ZXM6ICM0NTE5MDgKCjIwMDctMDctMDUgMDg6NDQ6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCjIwMDctMDctMDMgMDk6NTk6NDYgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogU2V0IHRoZSBlbmNvZGluZy1uYW1lIGluIHRoZSBydHAgY2FwcyB0byBhbGwgdXBwZXJjYXNlLCBhcyByZXF1aXJlZCBieSB0aGUgY2FwcyBzcGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgU2V0IHRoZSBlbmNvZGluZy1uYW1lIGluIHRoZSBydHAgY2FwcyB0byBhbGwgdXBwZXJjYXNlLCBhcyByZXF1aXJlZCBieQoJICB0aGUgY2FwcyBzcGVjLgoJICBTb21lIHNtYWxsIGNsZWFudXBzIGluIHRoZSBlcnJvciBwYXRocy4gRml4ZXMgIzQ1MzAzNy4KCjIwMDctMDctMDMgMDg6MDE6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvOiBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCjIwMDctMDctMDMgMDc6MTY6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6IEZpeCBHT2JqZWN0IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNy0wNi0yOCAxOTowMDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLio6IFVzZSBhIEdTTGlzdCBmb3IgdGhlIEdBcnJheSB0aGF0IGlzIHVzZWQgbGlrZSBhIGxpc3QgYW55d2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9sYXN0X2VudHJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFVzZSBhIEdTTGlzdCBmb3IgdGhlIEdBcnJheSB0aGF0IGlzIHVzZWQgbGlrZSBhIGxpc3QgYW55d2F5LgoKMjAwNy0wNi0yOCAxMzoyNTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBBZGQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZXJlIHdlIHNldCAwLzEgYXMgZGVmYXVsdCBmcmFtZXJhdGUgaW4gY2FzZSBvdXIgc2V0Y2FwcyBmdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZXZlbnQpLCAoZ3N0X2dka19waXhidWZfY2hhbmdlX3N0YXRlKToKCSAgQWRkIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVyZSB3ZSBzZXQgMC8xIGFzIGRlZmF1bHQgZnJhbWVyYXRlIGluCgkgIGNhc2Ugb3VyIHNldGNhcHMgZnVuY3Rpb24gaXNuJ3QgY2FsbGVkLCBsaWtlIGl0IG1pZ2h0IG5vdCBpbiBhCgkgIGZpbGVzcmMgISBnZGtwaXhidWZkZWMgc2NlbmFyaW8uIEZpeGVzIGFzc2VydGlvbiB0cmlnZ2VyZWQgYnkKCSAgZ2RrcGl4YnVmZGVjIHRyeWluZyB0byBjcmVhdGUgY2FwcyB3aXRoIGEgMC8wIGZyYW1lcmF0ZS4KCSAgQWxzbyBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBnc3RfcGFkX3B1c2goKSBmYWlscyB3aGVuCgkgIGNhbGxlZCBmcm9tIG91ciBzaW5rIGV2ZW50IGhhbmRsZXIgKCsxIGZvciBmbG93IHJldHVybnMgZm9yIGV2ZW50CgkgIGZ1bmN0aW9ucyBpbiAwLjExKSBpbnN0ZWFkIG9mIGZhaWxpbmcgc2lsZW50bHkuCgoyMDA3LTA2LTI3IDExOjM2OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDYXN0IHN0YWNrIGFyZ3MgdG8gdGhlIHByb3BlciB0eXBlcy4gRml4ZXMgIzQ1MTI0OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX2NhcHMpOgoJICBDYXN0IHN0YWNrIGFyZ3MgdG8gdGhlIHByb3BlciB0eXBlcy4gRml4ZXMgIzQ1MTI0OS4KCjIwMDctMDYtMjcgMTE6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZvciBjb250YWluZXIgZm9ybWF0cyB3ZSBvbmx5IG5lZWQgdG8gYWN0aXZhdGUgb25lIG9mIHRoZSBzdHJlYW1zIHNvIHRoYXQgd2UgY29ycmVjdGx5IHNpZ25hbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGb3IgY29udGFpbmVyIGZvcm1hdHMgd2Ugb25seSBuZWVkIHRvIGFjdGl2YXRlIG9uZSBvZiB0aGUgc3RyZWFtcyBzbwoJICB0aGF0IHdlIGNvcnJlY3RseSBzaWduYWwgbm8tbW9yZS1wYWRzLiBGaXhlcyAjNDUxMDE1LgoKMjAwNy0wNi0yNSAxMjo0NjowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCjIwMDctMDYtMjUgMTI6MTM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogQWRkIG1vcmUgZmlsZXMgd2l0aCB0cmFuc2xhdGFibGUgc3RyaW5ncyAoIzQ1MDg3OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0YWJsZSBzdHJpbmdzICgjNDUwODc4KS4KCjIwMDctMDYtMjIgMjA6MjM6MTggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC86IEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIEZpeGVzICM0NTAxODUuCgoyMDA3LTA2LTIyIDE0OjI2OjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1BSU5UQUlORVJTOiBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1BSU5UQUlORVJTOgoJICBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgoyMDA3LTA2LTIyIDEwOjEyOjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgRml4IG1lbW9yeSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX2luaXQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZGVpbnRlcmxlYXZlX3NpbmtfbGluayk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOiAoZ3N0X21lZGlhbl9pbml0KToKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aWZpbGVzcmNfaW5pdCk6CgkgIEZpeCBtZW1vcnkgbGVha3MuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzogKHBhZF9hZGRlZF9jYik6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA3LTA2LTIxIDEwOjQ4OjEwICswMDAwICBEYW1pZW4gQ2FyYmVyeSA8ZGFtaWVuLmNhcmJlcnlAc3VuLmNvbT4KCgkgIGV4dC9nY29uZi9nY29uZi5oOiBNYWtlIHRoZSBwcm90b3R5cGUgb2YgZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZSBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICBNYWtlIHRoZSBwcm90b3R5cGUgb2YgZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZQoJICBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24uCgkgIFBhdGNoIGJ5OiBEYW1pZW4gQ2FyYmVyeSA8ZGFtaWVuIGRvdCBjYXJiZXJ5IGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzQ0OTc0NwoKMjAwNy0wNi0yMCAxMjo1NjoxMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBkZXBheS5jOiBGaXggZGVzY3JpcHRpb24gLSBydHBkZXBheSBpcyBub3QgYSBwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgRml4IGRlc2NyaXB0aW9uIC0gcnRwZGVwYXkgaXMgbm90IGEgcGF5bG9hZGVyLgoKMjAwNy0wNi0yMCAxMDoxNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoKMjAwNy0wNi0yMCAwODo1NjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbGVha2luZyBidWZmZXJzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChzZXR1cF9zcGVjdHJ1bSksCgkgIChjbGVhbnVwX3NwZWN0cnVtKSwgKEdTVF9TVEFSVF9URVNUKSwgKHNwZWN0cnVtX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc2ltcGxlIHRlc3QgZm9yIHNwZWN0cnVtIGVsZW1lbnQuCgoyMDA3LTA2LTIwIDA4OjI2OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC86IEFkZCBNSlBHIHRvIHRoZSB2YXJpYW50cyBvZiBtb3Rpb24ganBlZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgQWRkIE1KUEcgdG8gdGhlIHZhcmlhbnRzIG9mIG1vdGlvbiBqcGVnLgoKMjAwNy0wNi0xOSAxNjo0MDo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIEdTVF9PUFRJT05fQ0ZMQUdTIHRvIENGTEFHUyB3aGVuIGJ1aWxkaW5nIHVuaXQgdGVzdHMsIHNvIHRoZSBlcnJvciBmbGFncyBhcmUgaW5jbHVkZWQgYW5kIGl0IGVycm9ycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCBHU1RfT1BUSU9OX0NGTEFHUyB0byBDRkxBR1Mgd2hlbiBidWlsZGluZyB1bml0IHRlc3RzLCBzbyB0aGUKCSAgZXJyb3IgZmxhZ3MgYXJlIGluY2x1ZGVkIGFuZCBpdCBlcnJvcnMgb3V0IG9uIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGZvciBDVlMgYnVpbGRzOyByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBpbiB2YXJpb3VzIHVuaXQgdGVzdHMuCgoyMDA3LTA2LTE5IDE0OjQ4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogVXNlIHRocmVhZHNhZmUgaW5ldF9udG9wIHRvIGNvbnZlcnQgYW4gaXAgbnVtYmVyIHRvIGEgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKSwgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgVXNlIHRocmVhZHNhZmUgaW5ldF9udG9wIHRvIGNvbnZlcnQgYW4gaXAgbnVtYmVyIHRvIGEgc3RyaW5nLgoJICBGaXhlcyAjNDQ3OTYxLgoJICBEb24ndCBsZWFrIGZkIChhbmQgaXApIHdoZW4gZnJlZWluZyBhIGNvbm5lY3Rpb24gd2l0aG91dCBmaXJzdCBjbG9zaW5nCgkgIGl0LgoKMjAwNy0wNi0xOSAxNDoxMTo0OSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0L3F0ZGVtdXgvTEVHQUw6CgkgIGFkZCAnTEVHQUwnIGZpbGUgZGVzY3JpYmluZyB3aHkgdGhpcyBpcyBpbiAtZ29vZCBhbmQgdW5kZXIgd2hhdCBjaXJjdW1zdGFuY2VzIGl0IG1pZ2h0IG5lZWQgdG8gbW92ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCAnTEVHQUwnIGZpbGUgZGVzY3JpYmluZyB3aHkgdGhpcyBpcyBpbiAtZ29vZCBhbmQgdW5kZXIgd2hhdAoJICBjaXJjdW1zdGFuY2VzIGl0IG1pZ2h0IG5lZWQgdG8gbW92ZS4KCjIwMDctMDYtMTkgMTA6NDE6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgMC4xMC42IHRvIHRoZSBkb2FwIGZpbGUuCgo9PT0gcmVsZWFzZSAwLjEwLjYgPT09CgoyMDA3LTA2LTE5IDEwOjI0OjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC42CgoyMDA3LTA2LTE4IDE3OjUzOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDctMDYtMTcgMTI6MzU6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0IGFnYWluLCBzaW5jZSB3ZSBhcmUgZnJvemVuIChzb3JyeSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIFJldmVydCBwcmV2aW91cyBjb21taXQgYWdhaW4sIHNpbmNlIHdlIGFyZSBmcm96ZW4gKHNvcnJ5KS4KCjIwMDctMDYtMTcgMTI6MjQ6NTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogaW5ldF9udG9hKCkgdXNlcyBhIHN0YXRpYyBidWZmZXIgaW50ZXJuYWxseSwgc28gd2UgbmVlZCB0byBjb3B5IHRoZSByZXR1cm5lZCBzdHJpbmcgaWYgd2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgaW5ldF9udG9hKCkgdXNlcyBhIHN0YXRpYyBidWZmZXIgaW50ZXJuYWxseSwgc28gd2UgbmVlZCB0byBjb3B5IHRoZQoJICByZXR1cm5lZCBzdHJpbmcgaWYgd2Ugd2FudCB0byBzdG9yZSBpdCBmb3IgbGF0ZXIgKCM0NDc5NjEpLgoKMjAwNy0wNi0xNSAwOToxMzo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi92czYvOiBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkgIE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUKCSAgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseSBvdGhlcndpc2UuCgoyMDA3LTA2LTE1IDA4OjMyOjUyICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogRml4IHRoZSBNaW5nVyBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpOgoJICBGaXggdGhlIE1pbmdXIGJ1aWxkLgoJICBQYXRjaCBCeTogVmluY2VudCBUb3JyaSA8dnRvcnJpIGF0IHVuaXYtZXZyeSBkb3QgZnI+CgkgIEZpeGVzOiAjNDQ2OTgxCgoyMDA3LTA2LTE0IDE0OjAzOjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzLzogSHVzaCB0aGUgYnVpbGRib3RzIHVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgSHVzaCB0aGUgYnVpbGRib3RzIHVwCgoyMDA3LTA2LTE0IDEyOjE0OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCjIwMDctMDYtMTQgMTA6MjM6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZvciBBTVItTkIgc3RyZWFtcywgZXhwb3J0IHRoZSBBTVJTcGVjaWZpY0JveCBhcyBjb2RlY19kYXRhIG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGb3IgQU1SLU5CIHN0cmVhbXMsIGV4cG9ydCB0aGUgQU1SU3BlY2lmaWNCb3ggYXMgY29kZWNfZGF0YSBvbiB0aGUKCSAgY2Fwcy4KCSAgRml4ZXMgIzQ0NzQ1OAoKMjAwNy0wNi0xMyAxNzoxMToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IE1ha2Ugc3VyZSB3ZSBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IGZvciB0aGUgY29kZWNfZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKToKCSAgTWFrZSBzdXJlIHdlIGFsbG9jYXRlIGVub3VnaCBtZW1vcnkgZm9yIHRoZSBjb2RlY19kYXRhLgoJICBGaXhlcyAjNDQ3MjEwLgoKMjAwNy0wNi0xMiAyMTowNToyMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCB2aWRlb2Nyb3AgcHJvamVjdCBmaWxlIHRvIHRoZSB3aW4zMiBtYW5pZmVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCB2aWRlb2Nyb3AgcHJvamVjdCBmaWxlIHRvIHRoZSB3aW4zMiBtYW5pZmVzdC4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgIEFkZCBxdGRlbXV4LHZpZGVvY3JvcCBhbmQgd2F2ZWZvcm0gcHJvamVjdHMgdG8gdGhlIHdvcmtzcGFjZS4KCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIEFkZCB6bGliIHRvIHRoZSBsaW5rIGxpc3Qgb2YgcXRkZW11eC4KCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9jcm9wLmRzcDoKCSAgQWRkIGEgcHJvamVjdCBmaWxlIGZvciB2aWRlb2Nyb3AuCgoyMDA3LTA2LTEyIDIwOjIyOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvL1BPVEZJTEVTLmluOiBBZGQgcXRkZW11eCBmb3IgdHJhbnNsYXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCBxdGRlbXV4IGZvciB0cmFuc2xhdGlvbgoKMjAwNy0wNi0xMiAyMDoxNToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIGZyb20gLWJhZC4KCjIwMDctMDYtMTIgMTk6MzU6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBxdGRlbXV4IGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBNb3ZlIHF0ZGVtdXggZnJvbSAtYmFkLgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byByZWZsZWN0IG1vdmluZyBvZiBxdGRlbXV4IGFuZCB3YXZwYWNrCgoyMDA3LTA2LTEyIDE5OjAxOjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCB0eXBvIGluIHRoZSBjaGFuZ2Vsb2cgYW5kIGNvbW1pdCB0aGUgbWFuaWZlc3QgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdHlwbyBpbiB0aGUgY2hhbmdlbG9nIGFuZCBjb21taXQgdGhlIG1hbmlmZXN0IHRvbwoKMjAwNy0wNi0xMiAxODo1MjozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi9NQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVAoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICBNb3ZlIHRoZSB3YXZlZm9ybSBwbHVnaW4gZnJvbSAtYmFkIHRvby4gVXBkYXRlIHRoZSBpbnNwZWN0IHhtbAoJICBmaWxlcyB0byBtZW50aW9uIFBsdWdpbnMgR29vZCBpbnN0ZWFkIG9mIFBsdWdpbnMgQmFkLgoKMjAwNy0wNi0xMiAxMzozMzo1NiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFJldHVybiBhIGNvcHkgb2YgdGhlIHBvb2wgYnVmZmVyIGlmIGFsbCBtbWFwIGJ1ZmZlcnMgaGF2ZSBiZWVuIGRlcXVldWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOiBSZXR1cm4gYSBjb3B5IG9mIHRoZSBwb29sIGJ1ZmZlciBpZiBhbGwKCSAgbW1hcCBidWZmZXJzIGhhdmUgYmVlbiBkZXF1ZXVlZC4KCjIwMDctMDYtMTIgMTE6MjM6MDEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSAoZ3N0X3Y0bDJfYnVmZmVyX2NsYXNzX2luaXQsIGdzdF92NGwyX2J1ZmZlcl9nZXRfdHlwZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDYtMTIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpCgkgIChnc3RfdjRsMl9idWZmZXJfY2xhc3NfaW5pdCwgZ3N0X3Y0bDJfYnVmZmVyX2dldF90eXBlKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX25ldyk6IEJlaGF2ZSBtb3JlIGxpa2UgeGltYWdlc2luaydzIGJ1ZmZlcnMsIHdpdGgKCSAgZmluYWxpemF0aW9uIGFuZCByZXN1c2NpdGF0aW9uLiBObyBsb25nZXIgcHVibGljLgoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmluYWxpemUsIGdzdF92NGwyX2J1ZmZlcl9wb29sX2luaXQpCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9jbGFzc19pbml0LCBnc3RfdjRsMl9idWZmZXJfcG9vbF9nZXRfdHlwZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldywgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfYWN0aXZhdGUpCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9kZXN0cm95KTogTWFrZSB0aGUgcG9vbCBmb2xsb3cgY29tbW9uCgkgIG1pbmlvYmplY3Qgc2VtYW50aWNzLCBhbmQgYmUgdGhyZWFkc2FmZS4KCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKTogUmVtb3ZlIHRoaXMgZnVuY3Rpb24sIGFzIHdlIGp1c3QgY2FsbAoJICB0aGUgaW9jdGxzIGRpcmVjdGx5IGluIHRoZSB0d28gcGxhY2VzIHdoZXJlIHdlIHF1ZXVlIGJ1ZmZlcnMuCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKTogUmV0dXJuIGEgZmxvd3JldHVybiBhbmQgZmlsbCB0aGUgYnVmZmVyCgkgIGRpcmVjdGx5LgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KTogVXNlIHRoZSBuZXcgYnVmZmVyX3Bvb2xfbmV3IGZ1bmN0aW9uCgkgIHRvIGFsbG9jYXRlIHRoZSBwb29sLCB3aGljaCBhbHNvIHByZWFsbG9jYXRlcyB0aGUgR3N0QnVmZmVycy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpOiBDYWxsIGJ1ZmZlcl9wb29sX2FjdGl2YXRlIGluc3RlYWQgb2YKCSAgcXVldWVpbmcgdGhlIGZyYW1lcyBkaXJlY3RseS4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmggKHN0cnVjdCBfR3N0VjRsMkJ1ZmZlclBvb2wpOiBNYWtlIHRoaXMgYQoJICByZWFsIE1pbmlPYmplY3QgaW5zdGVhZCBvZiByb2xsaW5nIG91ciBvd24gcmVmY291bnRpbmcgYW5kCgkgIGZpbmFsaXppbmcuIEdpdmUgaXQgYSBsb2NrLgoJICAoc3RydWN0IF9Hc3RWNGwyQnVmZmVyKTogUmVtb3ZlIG9uZSBpbnRlcm1lZGlhcnkgb2JqZWN0LCBoYXZpbmcKCSAgdGhlIGJ1ZmZlcnMgaG9sZCB0aGUgc3RydWN0IHY0bDJfYnVmZmVyIGRpcmVjdGx5LgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpOiBQYXNzIHRoZSBjYXBzIHRvCgkgIGNhcHR1cmVfaW5pdCBzbyB0aGF0IGl0IGNhbiBzZXQgdGhlbSBvbiB0aGUgYnVmZmVycyB0aGF0IGl0IHdpbGwKCSAgY3JlYXRlLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpOiBGb3IgYmV0dGVyIG9yIGZvciB3b3JzZSwgaW5jbHVkZSB0aGUKCSAgdGltZXN0YW1waW5nIGFuZCBvZmZzZXR0aW5nIGNvZGUgaGVyZTsgcmVhbGx5IHdlIHNob3VsZCBiZSB1c2luZwoJICBidWZmZXJhbGxvYyB0aG91Z2guCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCk6IEp1c3QgbWFrZSBncmFiX2ZyYW1lIHJldHVybiBvbmUgb2Ygb3VyCgkgIHByZWFsbG9jYXRlZCwgbW1hcCdkIGJ1ZmZlcnMuCgoyMDA3LTA2LTExIDExOjQxOjU2ICswMDAwICBkYW5pZWwgZmlzY2hlciA8ZGFuQGYzYy5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBBY3R1YWxseSB1c2UgdGhlIGRpc3BsYXlfbmFtZSBwcm9wZXJ0eSBzbyB0aGF0IHdlIGNhbiBkdW1wIGFueSBhdmFpbGFibGUgWCBkaXNwbGF5LiBGaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBkYW5pZWwgZmlzY2hlciA8ZGFuIGF0IGYzYyBkb3QgY29tPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19zdGFydCksCgkgIChnc3RfeGltYWdlX3NyY19nZXRfY2Fwcyk6CgkgIEFjdHVhbGx5IHVzZSB0aGUgZGlzcGxheV9uYW1lIHByb3BlcnR5IHNvIHRoYXQgd2UgY2FuIGR1bXAgYW55CgkgIGF2YWlsYWJsZSBYIGRpc3BsYXkuIEZpeGVzICM0NDU5MDUuCgoyMDA3LTA2LTExIDEwOjIxOjEzICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBtaXNzaW5nIHJhdGUgZmllbGRzIHRvIGNhcHMuIEZpeGVzICM0NDExMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfc2V0Y2Fwcyk6CgkgIEFkZCBtaXNzaW5nIHJhdGUgZmllbGRzIHRvIGNhcHMuIEZpeGVzICM0NDExMTguCgoyMDA3LTA2LTEwIDIxOjE0OjExICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi86IEFkZCBEaXJlY3RTb3VuZCBhbmQgRGlyZWN0RHJhdyBzaW5rcyBwcm9qZWN0IGZpbGVzIHRvIHdvcmtzcGFjZSBhbmQgc29sdXRpb24gZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkgIEFkZCBEaXJlY3RTb3VuZCBhbmQgRGlyZWN0RHJhdyBzaW5rcyBwcm9qZWN0IGZpbGVzIHRvCgkgIHdvcmtzcGFjZSBhbmQgc29sdXRpb24gZmlsZXMuCgoyMDA3LTA2LTEwIDEwOjUzOjI2ICswMDAwICBKb3NoIENvYWxzb24gPHhmbGFjQHlhaG9vLmNvbT4KCgkgIEFkZCBzdXBwb3J0IGZvciBmbGFjID49IDEuMS4zIHdoaWNoIGNoYW5nZWQgdGhlIEFQSS4gRml4ZXMgYnVnICMzODU4ODcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zaCBDb2Fsc29uIDx4ZmxhYyBhdCB5YWhvbyBkb3QgY29tPiwKCSAgdXBkYXRlZCBieSBBbGV4aXMgQmFsbGllciA8YWJhbGxpZXIgYXQgZ2VudG9vIGRvdCBvcmc+OgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfcmVzZXRfZGVjb2RlcnMpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwgKGdzdF9mbGFjX2RlY19zZWVrKSwKCSAgKGdzdF9mbGFjX2RlY190ZWxsKSwgKGdzdF9mbGFjX2RlY19sZW5ndGgpLCAoZ3N0X2ZsYWNfZGVjX2VvZiksCgkgIChnc3RfZmxhY19kZWNfcmVhZF9zZWVrYWJsZSksIChnc3RfZmxhY19kZWNfcmVhZF9zdHJlYW0pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfaW5pdCksCgkgIChnc3RfZmxhY19lbmNfZmluYWxpemUpLCAoZ3N0X2ZsYWNfZW5jX3NldF9tZXRhZGF0YSksCgkgIChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9mbGFjX2VuY191cGRhdGVfcXVhbGl0eSksCgkgIChnc3RfZmxhY19lbmNfc2Vla19jYWxsYmFjayksIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZW5jX3RlbGxfY2FsbGJhY2spLCAoZ3N0X2ZsYWNfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYWluKSwgKGdzdF9mbGFjX2VuY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ZsYWNfZW5jX2dldF9wcm9wZXJ0eSksIChnc3RfZmxhY19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBmbGFjID49IDEuMS4zIHdoaWNoIGNoYW5nZWQgdGhlIEFQSS4gRml4ZXMgYnVnICMzODU4ODcuCgoyMDA3LTA2LTA5IDE1OjQxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0My4gVGhpcyBpcyBmaXhlZCBpbiBjb3JlIDAuMTAuMTMgYW5kIG5vdCBuZWNlc3NhcnkgYW55bW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpOgoJICBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDMuIFRoaXMgaXMgZml4ZWQgaW4gY29yZSAwLjEwLjEzIGFuZAoJICBub3QgbmVjZXNzYXJ5IGFueW1vcmUgYXMgd2UgbmVlZCBhdCBsZWFzdCB0aGF0IGNvcmUgdmVyc2lvbi4KCjIwMDctMDYtMDkgMTU6MzM6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogSW1wcm92ZSBkaXNjb250IGhhbmRsaW5nIGJ5IGNoZWNraW5nIGlmIHRoZSBuZXh0IFdhdnBhY2sgYmxvY2sgaGFzIHRoZSBleHBlY3RlZCwgZm9sbG93aW5nIGJsb2NrIGluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlcik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEltcHJvdmUgZGlzY29udCBoYW5kbGluZyBieSBjaGVja2luZyBpZiB0aGUgbmV4dCBXYXZwYWNrIGJsb2NrIGhhcwoJICB0aGUgZXhwZWN0ZWQsIGZvbGxvd2luZyBibG9jayBpbmRleC4KCjIwMDctMDYtMDggMjA6MjM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgbW9hcCBpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vYXAgaWdub3JlCgoyMDA3LTA2LTA4IDIwOjIwOjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jIChnc3RfcnRwX21wNHZwYXlfZGV0YWlscyk6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYyAoZ3N0X3J0cF9tcDR2cGF5X2RldGFpbHMpOgoJICBGaXggZWxlbWVudCBkZXNjcmlwdGlvbi4KCjIwMDctMDYtMDggMjA6MTk6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZSB3YXZwYWNrIHBsdWdpbi4gIFNlZSAjMzUyNjA1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtb3ZlIHdhdnBhY2sgcGx1Z2luLiAgU2VlICMzNTI2MDUuCgoyMDA3LTA2LTA4IDE5OjQ1OjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgdGhlIGFscGhhYmV0IHRyaXBwaW5nIHVwIHBlb3BsZSBzaW5jZSAxMDkyOUJDCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0aGUgYWxwaGFiZXQKCSAgdHJpcHBpbmcgdXAgcGVvcGxlIHNpbmNlIDEwOTI5QkMKCjIwMDctMDYtMDggMTc6Mzc6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIERpcmVjdERyYXcgJiBEaXJlY3RTb3VuZCBwbHVnaW5zIHRvIHRoZSBidWlsZCBhbmQgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMgdG8gdGhlIGJ1aWxkIGFuZCBkb2NzLgoKMjAwNy0wNi0wOCAxNjozMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2xhc3NfaW5pdCk6CgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UKCSAgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoKMjAwNy0wNi0wOCAxMDo0MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IFdoZW4gb3BlcmF0aW5nIGluIHB1bGwgbW9kZSwgZXJyb3Igb3V0IGNvcnJlY3Qgb24gbm90LWxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2xvb3ApOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX3Rhc2spOgoJICBXaGVuIG9wZXJhdGluZyBpbiBwdWxsIG1vZGUsIGVycm9yIG91dCBjb3JyZWN0IG9uIG5vdC1saW5rZWQuCgoyMDA3LTA2LTA4IDA4OjEyOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUKCSAgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgZG9uJ3QgaGFuZGxlIHRoZSB3YXkgd2UgdXNlIGl0IGluCgkgIHRoZSB3YXkgd2UgZXhwZWN0IGl0IHRvLgoKMjAwNy0wNi0wNiAxMDoxOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNi0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCkKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6IE9ubHkgcHJvYmUgZm9yCgkgIGZvcm1hdCBhbmQgc2l6ZSBpZiB0aGUgaW9jdGxzIGFyZSBkZWZpbmVkOyBzaG91bGQgZml4IGNvbXBpbGF0aW9uCgkgIG9uIExpbnV4IDwgMi4xNi4xOS4KCjIwMDctMDYtMDYgMDg6NTM6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogUHJpbnRmIGZpeGVzIGluIGRlYnVnIHN0YXRlbWVudHM7IHVzZSBMT0cgbGV2ZWwgZm9yIGRlYnVnIHN0YXRlbWVudHMgdGhhdCBhcmUgcHJpbnRlZCBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2F5dXZfaTQyMCk6CgkgIFByaW50ZiBmaXhlcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzOyB1c2UgTE9HIGxldmVsIGZvciBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIHRoYXQgYXJlIHByaW50ZWQgZm9yIGVhY2ggYW5kIGV2ZXJ5IGZyYW1lOyBjb252ZXJ0IGMrKyBjb21tZW50cyB0bwoJICBDLXN0eWxlIGNvbW1lbnRzOyBub3QgbXVjaCBwb2ludCB1c2luZyBnX3RyeV9tYWxsb2MoKSBpZiB3ZSB0aGVuIG5vdAoJICBldmVuIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUuCgoyMDA3LTA2LTA1IDE2OjMyOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyAoY29yZSBhbmQgYmFzZSAwLjEwLjEzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyAoY29yZSBhbmQgYmFzZSAwLjEwLjEzKS4KCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF91bmljb2RpZnkpOgoJICBVc2UgZ3N0X3RhZ191dGY4X2Zyb21fZnJlZWZvcm1fc3RyaW5nKCkgZnJvbSBsaWJnc3R0YWcgaW5zdGVhZCBvZgoJICBvd24gaW1wbGVtZW50YXRpb24uCgoyMDA3LTA2LTA1IDE0OjE3OjI1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX3N0YXJ0LCBnc3RfdjRsMnNyY19zdG9wKTogQWRkIHNvbWUgdXNlbGVzcyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDYtMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19zdGFydCwgZ3N0X3Y0bDJzcmNfc3RvcCk6IEFkZAoJICBzb21lIHVzZWxlc3MgY29tbWVudHMuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOiBEb24ndCBxdWV1ZQoJICBmcmFtZXMgYmVmb3JlIGNhbGxpbmcgU1RSRUFNT04sIHRoYXQgbWlnaHQgbGVhdmUgdGhlbSBpbiBhIHN0YXRlCgkgIHdoZXJlIHRoZXkgY2FuJ3QgYmUgZGVxdWV1ZWQgaWYgd2UgZ28gYmFjayB0byBOVUxMIHdpdGhvdXQgY2FsbGluZwoJICBTVFJFQU1PTiwgYWNjb3JkaW5nIHRvIHRoZSBkb2NzLgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCk6IEVucXVldWUgYnVmZmVycyBoZXJlIGluc3RlYWQsIHJpZ2h0CgkgIGJlZm9yZSB3ZSBjYWxsIFNUUkVBTU9OLgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOiBSZW1vdmUgY3JhY2sgdG8gd29yayBhcm91bmQgZGVxdWV1ZQoJICBmYWlsdXJlcy4gKEZvciBtZSB0aGlzIGNvZGUgaHVuZy4pIFRoZSBwb29sIHJlZmNvdW50aW5nIGlzIHN0aWxsCgkgIGNyYWNrOyBhZGRlZCBhIG5vdGUgdG8gdGhhdCBlZmZlY3QuCgoyMDA3LTA2LTA1IDA5OjExOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogQWRkIHN1cHBvcnQgZm9yIG1hcHBpbmcgZ3N0IHN0cnVjdHVyZSBuYW1lcyB0byB0aGUgTUlNRSB0eXBlIGVxdWl2YWxlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2dldF9taW1lKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEFkZCBzdXBwb3J0IGZvciBtYXBwaW5nIGdzdCBzdHJ1Y3R1cmUgbmFtZXMgdG8gdGhlIE1JTUUgdHlwZSBlcXVpdmFsZW50LgoJICBJbXBsZW1lbnRlZCBmb3IgYXVkaW8veC1tdWxhdy0+YXVkaW8vYmFzaWMuIEZpeGVzICM0NDI4NzQuCgoyMDA3LTA2LTAzIDExOjIxOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy4qOiBQcm9wZXJseSB3cml0ZSB3YXYgZmlsZXMgd2l0aCB3aWR0aCE9ZGVwdGggYnkgaGF2aW5nIHRoZSBkZXB0aCBtb3N0IHNpZ25pZmljYW50IGJ5dGVzIHNldCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2ZW5jX2NoYWluKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBQcm9wZXJseSB3cml0ZSB3YXYgZmlsZXMgd2l0aCB3aWR0aCE9ZGVwdGggYnkgaGF2aW5nIHRoZSBkZXB0aCBtb3N0CgkgIHNpZ25pZmljYW50IGJ5dGVzIHNldCBhbmQgYWxsIG90aGVycyB6ZXJvLiBGaXhlcyAjNDQyNTM1LgoKMjAwNy0wNi0wMSAxMzo1MjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEFkZCBpbmNsdWRlIHRvIG1ha2UgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgIEFkZCBpbmNsdWRlIHRvIG1ha2UgYnVpbGRib3QgaGFwcHkuCgoyMDA3LTA2LTAxIDEzOjA3OjExICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogSW1wcm92ZXMgdmVyc2lvbiBjaGVja2luZywgYWxsb3dpbmcgYW4gUlRTUCBzZXJ2ZXIgdG8gcmVwbHkgd2l0aCAiNTA1CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKGFkZF9kYXRlX2hlYWRlciksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChwYXJzZV9yZXNwb25zZV9zdGF0dXMpLAoJICAocGFyc2VfcmVxdWVzdF9saW5lKSwgKHBhcnNlX2xpbmUpLCAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3ZlcnNpb25fYXNfdGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAoa2V5X3ZhbHVlX2ZvcmVhY2gpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfcmVtb3ZlX2hlYWRlciksIChydHNwX21lc3NhZ2VfYXBwZW5kX2hlYWRlcnMpLAoJICAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIEltcHJvdmVzIHZlcnNpb24gY2hlY2tpbmcsIGFsbG93aW5nIGFuIFJUU1Agc2VydmVyIHRvIHJlcGx5IHdpdGggIjUwNQoJICBSVFNQIFZlcnNpb24gbm90IHN1cHBvcnRlZC4KCSAgQWRkcyBhIERhdGUgaGVhZGVyIHRvIGFsbCBtZXNzYWdlcy4KCSAgUmVwbGllcyB3aXRoIFJUU1BfRVBBUlNFIHJhdGhlciB0aGFuIFJUU1BfRUlOVkFMSUQgaW4gY2FzZXMgd2hlcmUgd2UKCSAgd2FudCB0byBiZSBhYmxlIHRvIHNlbmQgYSByZXNwb25zZSBldmVuIGlmIHNvbWV0aGluZyBpbiB0aGUgcmVxdWVzdCB3YXMKCSAgaW52YWxpZC4gRUlOVkFMIGlzIG9ubHkgdXNlZCB3aGVuIHBhc3Npbmcgd3JvbmcgYXJndW1lbnRzIHRvIGZ1bmN0aW9ucy4KCSAgRG8gbm90IGhhbmRsZSBhbiBpbnZhbGlkIG1ldGhvZCBpbiBwYXJzZV9yZXF1ZXN0X2xpbmUoKS4gRGVmZXIgdGhpcyB0bwoJICB0aGUgY2FsbGVyIHNvIGl0IGNhbiByZXNwb25kIHdpdGggIjQwNSBNZXRob2QgTm90IEFsbG93ZWQiLgoJICBJbXByb3ZlcyBwYXJzaW5nIG9mIHRoZSB0aW1lb3V0IHBhcmFtZXRlciB0byB0aGUgU2Vzc2lvbiBoZWFkZXIsCgkgIGFsbG93aW5nIHdoaXRlc3BhY2UgYWZ0ZXIgdGhlIHNlbWljb2xvbi4KCSAgQXZvaWRzIGEgY29tcGlsZXIgd2FybmluZyBkdWUgdG8gdmFyaWFibGVzIHNoYWRvd2luZyBhIGZ1bmN0aW9uIGFyZ3VtZW50LgoKMjAwNy0wNi0wMSAxMToxNjoxNyArMDAwMCAgRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzQHRpLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgc3VwcG9ydCBmb3IgQU1SLVdCLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gUGF0Y2ggYnk6IERhbmllbCBDaGFybGVzIDxkY2hhcmxlcyBhdCB0aSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYW1yX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgQU1SLVdCLgoJICBTbWFsbCBjbGVhbnVwcyBzdWNoIGFzIHVzaW5nIEJPSUxFUlBMQVRFLgoKMjAwNy0wNS0zMSAxNTo1NzowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogRml4IGNvbXBpbGUgd2FybmluZyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkIGFzIHNwb3R0ZWQgYnUgU2F1ciBvbiBJUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKToKCSAgRml4IGNvbXBpbGUgd2FybmluZyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkIGFzIHNwb3R0ZWQgYnUgU2F1ciBvbiBJUkMuCgoyMDA3LTA1LTMwIDE0OjU3OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lio6IFJldmVydCBzb21lIHVuaW50ZW5kZWQgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDUtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYyAoZ3N0X3Y0bDJfb2JqZWN0X25ldyk6IFJldmVydCBzb21lCgkgIHVuaW50ZW5kZWQgY2hhbmdlcy4KCjIwMDctMDUtMzAgMTQ6NDA6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuKjogU3RvcmUgdGhlIGZvcm1hdCBsaXN0IGluIHRoZSBvcmRlciB0aGF0IHRoZSBkcml2ZXIgZ2l2ZXMgaXQgdG8gdXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA1LTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpOiBTdG9yZQoJICB0aGUgZm9ybWF0IGxpc3QgaW4gdGhlIG9yZGVyIHRoYXQgdGhlIGRyaXZlciBnaXZlcyBpdCB0byB1cy4KCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSkKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6IE5ldyBmdW5jdGlvbnMsIGZpbGwgR3N0Q2FwcwoJICBiYXNlZCBvbiB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSBkZXZpY2UuCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgcmVuYW1pbmcuCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSk6IFVwZGF0ZSB0byBiZSBzdHJpY3QgaW4gaXRzIHBhcmFtZXRlcnMsCgkgIGFzIGluIHRoZSBzZXRfY2FwcyBiZWxvdy4KCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIHJlbmFtaW5nLAoJICBhbmQgcmVmbG93LgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCwgZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKQoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSByZW5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3VwZGF0ZV9mcHMsIGdzdF92NGwyc3JjX3NldF9mcHMpCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKTogUmVtb3ZlOyB0aGVzZSBmdW5jdGlvbnMgZG9uJ3QgaGF2ZSBtdWNoCgkgIG1lYW5pbmcgb3V0c2lkZSBvZiBhbiBhdG9taWMgc2V0X2NhcHMgbWV0aG9kLgoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6IERvbid0IHNldCBidWZmZXIgZHVyYXRpb24sIGl0IGlzIG5vdAoJICBrbm93bi4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYyAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2NoYW5uZWwpOiBSZW1vdmUKCSAgY2FsbCB0byB1cGRhdGVfZnBzOyBub3Qgc3VyZSBhYm91dCB0aGlzIGNoYW5nZS4KCSAgKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtKTogV29yayBhcm91bmQgdGhlIGZhY3QgdGhhdCBmb3IgdGhlCgkgIG1vbWVudCB3ZSBkb24ndCBoYXZlIGFuIHVwZGF0ZV9mcHNfZnVuYy4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmggKHN0cnVjdCBfR3N0VjRsMlNyYyk6IERvbid0IHB1dCB2NGwyCgkgIHN0cnVjdHVyZXMgaW4gdGhlIG9iamVjdCwganVzdCBzdG9yZSB3aGF0IHdlIG5lZWQuIERvIHN0b3JlIHRoZQoJICBwcm9iZWQgY2FwcyBvZiB0aGUgZGV2aWNlLiBEb24ndCBzdG9yZSB0aGUgY3VycmVudCBmcmFtZSByYXRlLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfaW5pdCk6IFJlbW92ZSB0aGUKCSAgdXBkYXRlX2Zwc19mdW5jdGlvbiwgZm9yIG5vdy4gVXBkYXRlIGZvciBuZXcgb2JqZWN0IHZhcmlhYmxlCgkgIG5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSwgZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KTogVXBkYXRlIGZvcgoJICBuZXcgb2JqZWN0IHZhcmlhYmxlIG5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKTogUmVuYW1lIGZyb20gLi4uX3RvX2NhcHMuCgkgIChnc3RfdjRsMl9zdHJ1Y3R1cmVfdG9fdjRsMmZvdXJjYyk6IFJlbmFtZSBmcm9tIC4uLmNhcHNfdG9fLi4uLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOiBSZXdvcmsgdG8gcHJvYmUgdGhlIGRldmljZSBmb3Igc3VwcG9ydGVkCgkgIGZyYW1lIHNpemVzIGFuZCBmcmFtZSByYXRlcy4KCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKTogUmV3b3JrIHRvIGJlIHN0cmljdCBpbiB0aGUgZ2l2ZW4KCSAgcGFyYW1ldGVyczogaWYgc29tZW9uZSBhc2tzIHVzIHRvIGhhdmUgYSBjZXJ0YWluIHNpemUgYW5kIHJhdGUsCgkgIHRoYXQgaXMgd2hhdCB3ZSBjb25maWd1cmUuCgkgIChnc3RfdjRsMnNyY19nZXRfcmVhZCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIG5hbWluZy4gRG9uJ3QKCSAgbGVhayBidWZmZXJzIG9uIHNob3J0IHJlYWRzLgoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSBuYW1pbmcsIGFuZCBhZGQKCSAgY29tbWVudHMuCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSBuYW1pbmcuCgoyMDA3LTA1LTMwIDE0OjM4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBQYXJzZSBzdWJ0aXRsZSB0ZXh0IHN0cmVhbXMgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQgKCM0NDIwMzQpLiBTdGlsbCBuZWVkcyBhIHBhcnNlciBmb3IgdGhlIHN1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgUGFyc2Ugc3VidGl0bGUgdGV4dCBzdHJlYW1zIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0ICgjNDQyMDM0KS4gU3RpbGwKCSAgbmVlZHMgYSBwYXJzZXIgZm9yIHRoZSBzdWJ0aXRsZXMgdG8gYWN0dWFsbHkgc2hvdyB1cC4KCjIwMDctMDUtMzAgMTI6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1ha2UgX3B1c2hfZXZlbnQoKSByZXR1cm4gVFJVRSBpZiB0aGUgZXZlbnQgY291bGQgYmUgcHVzaGVkIG9uIGF0IGxlYXN0IG9uZSBwYWQgYW5kIG5vdCBvbmx5IGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE1ha2UgX3B1c2hfZXZlbnQoKSByZXR1cm4gVFJVRSBpZiB0aGUgZXZlbnQgY291bGQgYmUgcHVzaGVkIG9uIGF0CgkgIGxlYXN0IG9uZSBwYWQgYW5kIG5vdCBvbmx5IGlmIGl0IGNvdWxkIGJlIHB1c2hlZCBvbiBhbGwgcGFkcywKCSAgb3RoZXJ3aXNlIHdlJ2xsIGVuZCB1cCBwb3N0aW5nIGFuIGVycm9yIG1lc3NhZ2Ugb24gRU9TIGlmIG9uZSBvcgoJICBtb3JlIHNvdXJjZSBwYWRzIGFyZSBub3QgY29ubmVjdGVkLgoKMjAwNy0wNS0yOCAxNjozOTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogVXNlIHJlbmFtZWQgUlRQIGJpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBVc2UgcmVuYW1lZCBSVFAgYmluLgoKMjAwNy0wNS0yOCAxNTowMTozMyArMDAwMCAgRGVqYW4gU2FrZWzFoWFrIDxzYWtkZWFuQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBBZGQgQVlVVi0+QVlVViBhbmQgQVlVVi0+STQyMCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IERlamFuIFNha2VsxaFhayA8c2FrZGVhbiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLAoJICAodmlkZW9fYm94X3JlY2FsY190cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2JveF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2JveF9hcHBseV9hbHBoYSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXZfYXl1diksIChnc3RfdmlkZW9fYm94X2NsZWFyKSwgKFVWZmxvb3IpLAoJICAoVVZjZWlsKSwgKGdzdF92aWRlb19ib3hfYXl1dl9pNDIwKSwgKGdzdF92aWRlb19ib3hfaTQyMF9heXV2KSwKCSAgKGdzdF92aWRlb19ib3hfaTQyMF9pNDIwKSwgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgQWRkIEFZVVYtPkFZVVYgYW5kIEFZVVYtPkk0MjAgZm9ybWF0cy4KCSAgRml4IG5lZ290aWF0aW9uIGFuZCBJNDIwLT5BWVVWIGNvbnZlcnNpb24uCgkgIEZpeGVzICM0MjkzMjkuCgoyMDA3LTA1LTI2IDE1OjI1OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFVzZSBkaWZmZXJlbnQgdmFyaWFibGVzIGZvciBuZXN0ZWQgZm9yIGxvb3BzIHNvIHRoYXQgdGhlIG91dGVyIGxvb3AgZnVuY3Rpb25zIHByb3Blcmx5IGFuZCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICBVc2UgZGlmZmVyZW50IHZhcmlhYmxlcyBmb3IgbmVzdGVkIGZvciBsb29wcyBzbyB0aGF0IHRoZSBvdXRlciBsb29wCgkgIGZ1bmN0aW9ucyBwcm9wZXJseSBhbmQgc3BlZXggZmlsZXMgd2l0aCBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciB3b3JrCgkgIHByb3Blcmx5LgoJICBGaXhlcyAjNDQxNDA4LgoKMjAwNy0wNS0yNSAyMDo1MTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCBsZWFrIG5ld3NlZ21lbnQgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9zaW5rX2V2ZW50KToKCSAgRG9uJ3QgbGVhayBuZXdzZWdtZW50IGV2ZW50cy4KCjIwMDctMDUtMjUgMjA6MzM6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06IEFkZCAnLWxtJyB0byBMSUJTIGZvciBjZWlsKCksIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyIGRlcGVuZGVuY2llcyBkcmFncyBpdCBpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgJy1sbScgdG8gTElCUyBmb3IgY2VpbCgpLCBkb24ndCBhc3N1bWUgb25lIG9mIG91ciBkZXBlbmRlbmNpZXMKCSAgZHJhZ3MgaXQgaW4uCgoyMDA3LTA1LTI1IDE2OjAyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBDb2xsZWN0IGhlYWRlcnMsIGFkZCAic3RyZWFtaGVhZGVyIiBmaWVsZCB0byBvdXRwdXQgY2FwcyBhbmQgc2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19pbml0KSwKCSAgKG5vdGdzdF92YWx1ZV9hcnJheV9hcHBlbmRfYnVmZmVyKSwKCSAgKGdzdF9mbGFjX2VuY19wcm9jZXNzX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayksIChnc3RfZmxhY19lbmNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBDb2xsZWN0IGhlYWRlcnMsIGFkZCAic3RyZWFtaGVhZGVyIiBmaWVsZCB0byBvdXRwdXQgY2FwcyBhbmQgc2V0CgkgIEJVRkZFUl9JTl9DQVBTIGZsYWcgb24gcHVzaGVkIGhlYWRlciBidWZmZXJzLiBUaGF0IHdheSBvZ2dtdXgKCSAgcHJvZHVjZXMgb3V0cHV0IGFjY29yZGluZyB0byB0aGUgb2ZmaWNpYWwgRkxBQy10by1PZ2cgbWFwcGluZwoJICBpbnN0ZWFkIG9mIGNvbXBsZXRlbHkgYnJva2VuIGZpbGVzLiBGaXhlcyAjNDI2MDQ0LgoKMjAwNy0wNS0yNSAxMDo0NDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBIYW5kbGUgYW5kIGFkanVzdCBuZXctc2VnbWVudCBldmVudHMgc28gdGhhdCBkb3duc3RyZWFtIHJlYWxseSBzZWVzIGEgc3RyZWFtIHdpdGggdGhlIHRhZyBwaWVjZXMgc3RyaXBwZWQgb2ZmIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2lkM2RlbXV4X3NlbmRfbmV3X3NlZ21lbnQpLCAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2V2ZW50KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF90YWdfZGVtdXhfY2hhaW4pLCAoZ3N0X3RhZ19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF90YWdfZGVtdXhfc2VuZF9uZXdfc2VnbWVudCk6CgkgIEhhbmRsZSBhbmQgYWRqdXN0IG5ldy1zZWdtZW50IGV2ZW50cyBzbyB0aGF0IGRvd25zdHJlYW0gcmVhbGx5CgkgIHNlZXMgYSBzdHJlYW0gd2l0aCB0aGUgdGFnIHBpZWNlcyBzdHJpcHBlZCBvZmYgdGhlIGZyb250IGFuZCBiYWNrLgoJICBGaXhlcyBzdHJhbmdlbmVzcyBpbiBzZWVraW5nIHdoZW4gbXAzIGRlY29kZXJzIHVzZSB0aGUgbmV3LXNlZ21lbnQKCSAgYnl0ZSBwb3NpdGlvbiB0byBlc3RpbWF0ZSB0aGVpciBjdXJyZW50IHBsYXliYWNrIHBvc2l0aW9uIHRpbWVzdGFtcAoJICBhbmQgdGhlbiB0aGUgYXJyaXZpbmcgYnVmZmVycyBkb24ndCBtYXRjaCB1cC4KCjIwMDctMDUtMjUgMTA6MjM6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBEb24ndCB1bm5lY2Vzc2FyaWx5IHBlcmZvcm0gYSBSRUFEWS0+TlVMTC0+UkVBRFkgdHJhbnNpdGlvbiBvbiB0aGUgZGV0ZWN0ZWQgYXVkaW8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgRG9uJ3QgdW5uZWNlc3NhcmlseSBwZXJmb3JtIGEgUkVBRFktPk5VTEwtPlJFQURZIHRyYW5zaXRpb24gb24gdGhlCgkgIGRldGVjdGVkIGF1ZGlvIHNpbmsgd2hlbiBzdGFydGluZyB1cC4gRml4ZXM6ICM0NDAxMjcKCjIwMDctMDUtMjQgMTc6MDA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IERvbid0IGNyYXNoIGluIGNoYWluIGZ1bmN0aW9uIGlmIHNldGNhcHMgaGFzbid0IGJlZW4gY2FsbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFpbik6CgkgIERvbid0IGNyYXNoIGluIGNoYWluIGZ1bmN0aW9uIGlmIHNldGNhcHMgaGFzbid0IGJlZW4gY2FsbGVkLgoKMjAwNy0wNS0yNCAwODozNToyMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19wcmltYXJ5X3N1cmZhY2UpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19vZmZzY3JlZW5fc3VyZmFjZSksCgkgIChFbnVtTW9kZXNDYWxsYmFjazIpLCAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoKMjAwNy0wNS0yNCAwODoxNDowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW5pdCB2YWx1ZSB0byBhdm9pZCBpbmZpbnRlIGxvb3BzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKToKCSAgSW5pdCB2YWx1ZSB0byBhdm9pZCBpbmZpbnRlIGxvb3BzLgoKMjAwNy0wNS0yNCAwODoxMDo0MiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC86IEZpeCBmb3IgbmV3IEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfYWZ0ZXJfc2VuZCk6CgkgIEZpeCBmb3IgbmV3IEFQSS4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoYWRkX2F1dGhfaGVhZGVyKSwKCSAgT25seSBhZGQgYXV0aG9yaXNhdGlvbiBhbmQgc2Vzc2lvbiBoZWFkZXJzIHdoZW4gc2VuZGluZyBtZXNzYWdlcy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAoa2V5X3ZhbHVlX2ZvcmVhY2gpLCAocnRzcF9tZXNzYWdlX2luaXQpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfdW5zZXQpLCAocnRzcF9tZXNzYWdlX2FkZF9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX3JlbW92ZV9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX2FwcGVuZF9oZWFkZXJzKSwgKGR1bXBfa2V5X3ZhbHVlKSwKCSAgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgaGVhZGVycyBvZiB0aGUgc2FtZSB0eXBlIGJ5IHN0b3JpbmcgdGhlIHBhcnNlZAoJICBoZWFkZXJzIGluIGEgR0FycmF5IGluc3RhZWQgb2YgYSBoYXNodGFibGUuCgoyMDA3LTA1LTIzIDIyOjQ0OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIgaW50ZXJmYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyCgkgIGludGVyZmFjZSBub3cuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIEFkZCBpbnRlcmZhY2VzIGltcGxlbWVudGVkIGJ5IFdpbmRvd3Mgc2lua3MuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSAgYW5kIGltcGxlbWVudCB0aGUgbWl4ZXIgaW50ZXJmYWNlLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93Lmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmg6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdGRzaG93LmRlZjoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJICBBZGQgYSBuZXcgZ3N0IGxpYnJhcnkgd2hpY2ggYWxsb3cgdG8gY3JlYXRlIGludGVybmFsIERpcmVjdCBTaG93CgkgIGdyYXBoIChwaXBlbGluZXMpIHRvIHdyYXAgV2luZG93cyBzb3VyY2VzLCBkZWNvZGVycyBvciBlbmNvZGVycy4KCSAgSXQgaW5jbHVkZXMgYSBEaXJlY3RTaG93IGZha2Ugc291cmNlIGFuZCBzaW5rIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgICogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkgIEFkZCBhIG5ldyBwbHVnaW4gdG8gd3JhcCBEaXJlY3RTaG93IHNvdXJjZXMgb24gV2luZG93cy4KCSAgSXQgZ2V0cyBkYXRhIGZyb20gYW55IHdlYmNhbSwgZHYgY2FtLCBtaWNyby4gV2UgY291bGQgYWRkCgkgIHR2IHR1bm5lciBjYXJkIGxhdGVyLgoKMjAwNy0wNS0yMiAxMToxNDoxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5LCBnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHksCgkgIHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oIChhdWRpb2ZpbHRlcik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYyAoQVJHX05VTV9CQU5EUywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jIChicHdzaW5jX3NldF9jYXBzKToKCSAgQWRkIGZpeG1lLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChTUEVDVFJVTV9XSU5ET1dfQkFTRSwKCSAgU1BFQ1RSVU1fV0lORE9XX0xFTiwgZ3N0X3NwZWN0cnVtX2luaXQsIGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuIFR1cm4gdHdvIGZpeGVkIHZhbHVlcyBpbnRvICNkZWZpbmVzLgoKMjAwNy0wNS0yMiAxMTowMzozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBlbGVtZW50IGFuZCBwcm9wZXJ0aWVzLgoKMjAwNy0wNS0yMSAxNDowMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBDaGFuZ2VMb2cgc3VyZ2VyeS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzdElpckVxdWFsaXplckJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywgcGx1Z2luX2luaXQpOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIEFkZCBmaXhtZSBhbmQgY29tbWVudCBmb3IgZXhhbXBsZS4KCjIwMDctMDUtMjEgMTI6NDM6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgZnJvbSBjb25jdXJyZW50IGFjY2Vzcy4KCjIwMDctMDUtMjEgMTE6Mzc6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCjIwMDctMDUtMjEgMTE6MTc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZCBhbGxvdyB0byBzZXQgdGhlIGRpZmZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZAoJICBhbGxvdyB0byBzZXQgdGhlIGRpZmZlcmVudCBleHRyYSBwcm9jZXNzaW5nIG1vZGVzIGluc3RlYWQgb2Ygb25seQoJICBhbGxvd2luZyBub25lIGFuZCB0aGUgZGVmYXVsdCBvbmUuCgoyMDA3LTA1LTIxIDEwOjA3OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogU2luY2Ugd2UgZGVwZW5kIG9uIDAuMTAuMTMgLWNvcmUsIG92ZXJyaWRlIHRoZSB1bmxvY2tfc3RvcCB2bWV0aG9kIGZvciBzYWZlciBzaHV0ZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3VubG9jayksIChnc3RfdWRwc3JjX3VubG9ja19zdG9wKToKCSAgU2luY2Ugd2UgZGVwZW5kIG9uIDAuMTAuMTMgLWNvcmUsIG92ZXJyaWRlIHRoZSB1bmxvY2tfc3RvcCB2bWV0aG9kIGZvcgoJICBzYWZlciBzaHV0ZG93bi4KCjIwMDctMDUtMjEgMTA6MDM6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogQWRkZWQgc2lnbmFsIGZvciBiYWNrd2FyZHMgY29tcGF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBBZGRlZCBzaWduYWwgZm9yIGJhY2t3YXJkcyBjb21wYXQuCgoyMDA3LTA1LTIxIDA5OjMyOjI2ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgVXNlIGF1ZGlvY29udmVydCBmb3IgY29udmVydGluZyBmcm9tIG5vbi1uYXRpdmUgZW5kaWFubmVzcyBmbG9hdHMgaW4gYXVwYXJzZSBpbnN0ZWFkIG9mIGRvaW5nIGl0IG91cnNlbGYuIEZpeGVzICM0MjQ1MjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9yZXNldCksCgkgIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwgKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBVc2UgYXVkaW9jb252ZXJ0IGZvciBjb252ZXJ0aW5nIGZyb20gbm9uLW5hdGl2ZSBlbmRpYW5uZXNzIGZsb2F0cwoJICBpbiBhdXBhcnNlIGluc3RlYWQgb2YgZG9pbmcgaXQgb3Vyc2VsZi4gRml4ZXMgIzQyNDUyNy4KCSAgVGhpcyBuZWVkcyB0aGUgYXVkaW9jb252ZXJ0IGZyb20gcGx1Z2lucy1iYXNlIENWUy4KCjIwMDctMDUtMjEgMDk6Mjk6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IEZpeCBlbnVtIHJlZ2lzdHJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X2ZyYWdtZW50YXRpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCk6CgkgIEZpeCBlbnVtIHJlZ2lzdHJhdGlvbi4KCjIwMDctMDUtMjEgMDg6NTc6MTggKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lio6IEFkZCBuZXcgZnJhZ21lbnRhdGlvbiBtb2RlIGJhc2Ugb24gR09CIGhlYWRlcnMuIEZpeGVzICM0Mzg5NDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X2ZyYWdtZW50YXRpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2M3BfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2M3BfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICBBZGQgbmV3IGZyYWdtZW50YXRpb24gbW9kZSBiYXNlIG9uIEdPQiBoZWFkZXJzLiBGaXhlcyAjNDM4OTQwLgoKMjAwNy0wNS0yMCAyMTozMTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcyB0aGUgd2F2cGFjayBzdHVmZiBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMKCSAgdGhlIHdhdnBhY2sgc3R1ZmYgbm93IG5lZWRzIGlucHV0IHdpdGggMzIgYml0IHdpZHRoIChhbmQgcmFuZG9tIGRlcHRoKQoJICB0aGlzIGlzIG5lZWRlZCBub3cuIFRoZSBleGFtcGxlIHBpcGVsaW5lcyBmb3IgdGhlIHBhcnNlciBhbmQgZGVjb2RlcgoJICBhcmUgc3RpbGwgZmluZS4KCjIwMDctMDUtMjAgMTQ6NTk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7IGRlY2xhcmUgYW5vdGhlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7CgkgIGRlY2xhcmUgYW5vdGhlciBvbmUgdGhhdCBkb2VzOyBwcmludGYgZm9ybWF0IGZpeDsgdXNlIHJpZ2h0IG1hY3JvCgkgIHdoZW4gc3BlY2lmeWluZyBkZWJ1ZyBjYXRlZ29yeTsgcmVtb3ZlIGEgYnVuY2ggb2YgdW51c2VkIHZhcmlhYmxlczsKCSAgI2lmIDAgb3V0IGFuIHVudXNlZCBjaHVuayBvZiBjb2RlIChwYXJ0aWFsbHkgZml4ZXMgIzQzOTkxNCkuCgoyMDA3LTA1LTIwIDE0OjE0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgoyMDA3LTA1LTIwIDE0OjA1OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQcmludGYgZm9ybWF0IGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICBQcmludGYgZm9ybWF0IGZpeC4KCjIwMDctMDUtMTkgMTA6MDE6NDUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzogKGdzdF9yZ19saW1pdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9jbGFzc19pbml0KSwgKGdzdF9yZ19saW1pdGVyX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19saW1pdGVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2Jhc2VfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX2NsYXNzX2luaXQpLCAoZ3N0X3JnX3ZvbHVtZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ192b2x1bWVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ192b2x1bWVfZGlzcG9zZSksIChnc3Rfcmdfdm9sdW1lX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfcmdfdm9sdW1lX3NpbmtfZXZlbnQpLCAoZ3N0X3JnX3ZvbHVtZV90YWdfZXZlbnQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9yZXNldCksIChnc3Rfcmdfdm9sdW1lX3VwZGF0ZV9nYWluKSwKCSAgKGdzdF9yZ192b2x1bWVfZGV0ZXJtaW5lX2dhaW4pOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChzZXR1cF9yZ2xpbWl0ZXIpLAoJICAoY2xlYW51cF9yZ2xpbWl0ZXIpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoY3JlYXRlX3Rlc3RfYnVmZmVyKSwKCSAgKHZlcmlmeV90ZXN0X2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksIChyZ2xpbWl0ZXJfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKGV2ZW50X2Z1bmMpLCAoc2V0dXBfcmd2b2x1bWUpLAoJICAoY2xlYW51cF9yZ3ZvbHVtZSksIChzZXRfcGxheWluZ19zdGF0ZSksIChzZXRfbnVsbF9zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksICh0ZXN0X2J1ZmZlcl9uZXcpLAoJICAoZmFpbF91bmxlc3NfdGFyZ2V0X2dhaW4pLCAoZmFpbF91bmxlc3NfcmVzdWx0X2dhaW4pLAoJICAoZmFpbF91bmxlc3NfZ2FpbiksIChHU1RfU1RBUlRfVEVTVCksIChyZ3ZvbHVtZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoKMjAwNy0wNS0xOCAxMzoyNzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgY3Jhc2ggd2hlbiBhbiB1bnN1cHBvcnRlZCB0cmFuc3BvcnQgZXJyb3Igd2FzIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIsIGp1c3QgdHJ5IHRvIGNvbmZpZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiBhbiB1bnN1cHBvcnRlZCB0cmFuc3BvcnQgZXJyb3Igd2FzIHJldHVybmVkIGJ5IHRoZQoJICBzZXJ2ZXIsIGp1c3QgdHJ5IHRvIGNvbmZpZ3VyZSB0aGUgbmV4dCBzdHJlYW0uIEZpeGVzICM0MzkyNTUuCgoyMDA3LTA1LTE4IDExOjM5OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBBZGQgVENQIHRpbWVvdXQgcHJvcGVydHkgYW5kIHVzZSBpdCBmb3IgYWxsIFRDUCBjb25uZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgVENQIHRpbWVvdXQgcHJvcGVydHkgYW5kIHVzZSBpdCBmb3IgYWxsIFRDUCBjb25uZWN0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fd3JpdGUpLCAocnRzcF9jb25uZWN0aW9uX25leHRfdGltZW91dCksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVzZXRfdGltZW91dCk6CgkgIE1ha2UgY29ubmVjdCBhbmQgd3JpdGVzIGNhbmNlbGFibGUgYW5kIG1ha2UgdGhlbSB1c2UgdGhlIHRpbWVvdXQuCgoyMDA3LTA1LTE4IDEwOjM2OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWZhY3RvciB0aW1lb3V0IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBSZWZhY3RvciB0aW1lb3V0IGhhbmRsaW5nLgoJICBBbHNvIHNlbmQga2VlcC1hbGl2ZSB3aGVuIGRlYWxpbmcgd2l0aCBUQ1AgdHJhbnNwb3J0LgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKSwgKHJ0c3BfY29ubmVjdGlvbl9uZXh0X3RpbWVvdXQpLAoJICAocnRzcF9jb25uZWN0aW9uX3Jlc2V0X3RpbWVvdXQpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIFVzZSBhIHRpbWVyIHRvIGhhbmRsZSB0aGUgc2Vzc2lvbiB0aW1lb3V0cywgYWRkIHNvbWUgbWV0aG9kcyB0byBkZWFsCgkgIHdpdGggdGltZW91dHMuCgoyMDA3LTA1LTE3IDE0OjU2OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZ25vcmUgc3RyZWFtcyB0aGF0IGZhaWwgdGhlIHNldHVwIGNvbW1hbmQsIHdlIHdpbGwgcmV0cnkgd2l0aCBhIGRpZmZlcmVudCB0cmFuc3BvcnQgbGF0ZXIgb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIElnbm9yZSBzdHJlYW1zIHRoYXQgZmFpbCB0aGUgc2V0dXAgY29tbWFuZCwgd2Ugd2lsbCByZXRyeSB3aXRoIGEKCSAgZGlmZmVyZW50IHRyYW5zcG9ydCBsYXRlciBvbi4KCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfcGFyc2Vfc2RwKSwKCSAgKHJ0c3BfZXh0X3dtc19jb25maWd1cmVfc3RyZWFtKToKCSAgRml4IGVuY29kaW5nIG5hbWUgY2FzZS4KCjIwMDctMDUtMTcgMTA6NTk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1ggaXMgJCNAKColJCMgISBGb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWAoJICBpcyAkI0AoKiUkIyAhIEZvciB0aG9zZSB3b25kZXJpbmcsIHRoZSBldmVudCBoYW5kbGluZyBuZWVkcyB0byBiZSBkb25lCgkgIGluIHRoZSBtYWluIHRocmVhZCBhZnRlciBhbGwuLgoKMjAwNy0wNS0xNyAwOTo0MTo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBVc2UgYSBzZXBhcmF0ZSB0aHJlYWQvdGFzayBmb3IgdGhlIGNvY29hIGV2ZW50X2xvb3AsIGVsc2UgaXQgd291bGRuJ3QKCSAgc3RvcC4KCjIwMDctMDUtMTYgMTY6NTA6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9lbmRyb3dfY2FsbGJhY2spLCAodXNlcl9yZWFkX2RhdGEpOgoJICBGaXggYnVpbGQgb24gbWFjb3N4LgoKMjAwNy0wNS0xNiAxNjozMDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IFJlcGxhY2UgZGlyZWN0IGNvbXBhcmlzb24gb2YgYSBzdHJpbmcgd2l0aCB0aGUgc3RyaW5nIGxpdGVyYWwgIiIgd2l0aCBhIGNvbXBhcmlzb24gb2YgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY191cmlfc2V0X3VyaSk6CgkgIFJlcGxhY2UgZGlyZWN0IGNvbXBhcmlzb24gb2YgYSBzdHJpbmcgd2l0aCB0aGUgc3RyaW5nIGxpdGVyYWwgIiIgd2l0aAoJICBhIGNvbXBhcmlzb24gb2YgdGhlIGZpcnN0IGNoYXJhY3RlciB3aXRoICdcMCcuIEZpeGVzICM0Mzg5MjYuCgoyMDA3LTA1LTE1IDE3OjIyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlCgkgIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2RpcmVjdHNvdW5kCgkgIGRldGVjdGlvbiBzZWN0aW9uLiBBcHBhcmVudGx5IGltcHJvdmVzIGNyb3NzLWNvbXBpbGluZyBmb3Igd2luMzIKCSAgd2l0aCBtaW5ndzMyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyAoIzQzNzUzOSkuCgoyMDA3LTA1LTE1IDExOjE4OjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvYnJlYWtteWRhdGEuYyAoZ3N0X2JyZWFrX215X2RhdGFfaW5pdCk6IE9uZSBtb3JlIHRyeS4gVGhpcyBzaG91bGQgYmUgdGhlIHByb3BlciBmaXggbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYyAoZ3N0X2JyZWFrX215X2RhdGFfaW5pdCk6CgkgIE9uZSBtb3JlIHRyeS4gVGhpcyBzaG91bGQgYmUgdGhlIHByb3BlciBmaXggbm93LgoKMjAwNy0wNS0xNSAwNjo0MTo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6IE9vb3BzLCBubyAvLyBjb21tZW50cyBwbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICBPb29wcywgbm8gLy8gY29tbWVudHMgcGxlYXNlLgoKMjAwNy0wNS0xNSAwNjozNDo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6IEZpeCBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlKCkgYXNzZXJ0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzogKGdzdF9icmVha19teV9kYXRhX2NsYXNzX2luaXQpLAoJICAoZ3N0X2JyZWFrX215X2RhdGFfaW5pdCk6CgkgIEZpeCBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlKCkgYXNzZXJ0aW9uLgoKMjAwNy0wNS0xNSAwMjo1NjoyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBCYXllciBpbWFnZXMgYXMgdmlkZW8veC1yYXctYmF5ZXIuICBGaXhlcyAjMzE0MTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBCYXllciBpbWFnZXMgYXMKCSAgdmlkZW8veC1yYXctYmF5ZXIuICBGaXhlcyAjMzE0MTYwLgoKMjAwNy0wNS0xNCAxNzoxMDoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBVcGRhdGUgdGhlb3JhIHBheS9kZXBheWxvYWRlciBpbiBhIHNpbWlsYXIgdG8gdm9yYmlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChkZWNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFVwZGF0ZSB0aGVvcmEgcGF5L2RlcGF5bG9hZGVyIGluIGEgc2ltaWxhciB0byB2b3JiaXMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbik6CgkgIFVwZGF0ZSBkb2NzLgoKMjAwNy0wNS0xNCAxNjoxOTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogV2hlbiB3ZSB0cnkgdG8gZXhlY3V0ZSBhIG1ldGhvZCB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciwgZG9uJ3QgZXJyb3Igb3V0IGJ1dCByZW1vdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKToKCSAgV2hlbiB3ZSB0cnkgdG8gZXhlY3V0ZSBhIG1ldGhvZCB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciwKCSAgZG9uJ3QgZXJyb3Igb3V0IGJ1dCByZW1vdmUgdGhlIG1ldGhvZCBmcm9tIHRoZSBhY2NlcHRlZCBtZXRob2RzIHNvIHRoYXQKCSAgd2UgbmV2ZXIgdHJ5IHRvIHBlcmZvcm0gdGhpcyBtZXRob2QgYWdhaW4uCgoyMDA3LTA1LTE0IDE0OjQ3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiBSZW1vdmUgYW5ub3lpbmcgX2R1bXBfbWVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgUmVtb3ZlIGFubm95aW5nIF9kdW1wX21lbS4KCjIwMDctMDUtMTQgMTE6MTE6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFBhcnNlIHJhbmdlIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpOgoJICBQYXJzZSByYW5nZSBjb3JyZWN0bHkuCgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfZ2V0X3JlcXVlc3RfdXJpKToKCSAgVGhlIGJhc2V1cmwgbm93IGFsd2F5cyBoYXMgYSAnLycgYXQgdGhlIHN0YXJ0LgoKMjAwNy0wNS0xNCAwOTowMTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRmFjdG9yIG91dCBjYXBzIGNvbmZpZ3VyYXRpb24gYW5kIGNvbmZpZ3VyZSBtb3JlIHN0dWZmIHN1Y2ggYXMgdGhlIHRpbWUgcmFuZ2VzIGFuZCBzcGVlZC9zY2FsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jb25maWd1cmVfY2FwcyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgIEZhY3RvciBvdXQgY2FwcyBjb25maWd1cmF0aW9uIGFuZCBjb25maWd1cmUgbW9yZSBzdHVmZiBzdWNoIGFzIHRoZSB0aW1lCgkgIHJhbmdlcyBhbmQgc3BlZWQvc2NhbGUgdmFsdWVzLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgQWRkIENvcHlyaWdodCBhZnRlciBub24tdHJpdmFsIGZpeGVzLgoKMjAwNy0wNS0xMyAxOTo1Nzo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgIEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBCeSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+LgoKMjAwNy0wNS0xMyAxNTo0NzoxMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGNhbiBidWlsZCBpbl9kYXRhICs9IChmaWx0ZXItPndpZHRoIC8gOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGNhbiBidWlsZAoJICBpbl9kYXRhICs9IChmaWx0ZXItPndpZHRoIC8gOCkuCgoyMDA3LTA1LTEyIDE2OjM3OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogTWFrZSBjaGFubmVsIGd1aW50OCB3aGVyZSBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIE1ha2UgY2hhbm5lbCBndWludDggd2hlcmUgcG9zc2libGUuCgkgIE1ha2UgcnRzcF9tZXNzYWdlX2luaXRfZGF0YSgpIHRha2UgdGhlIGNoYW5uZWwgYXMgYSBndWludDguCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgRml4ZWQgYSB0eXBvOiBUaW1vdXQgLT4gVGltZW91dAoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIE1ha2UgUlRTUF9DSEVDSygpIGJlaGF2ZSBhcyBhIHN0YXRlbWVudC4KCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6CgkgIEF2b2lkIGEgY29tcGlsZXIgd2FybmluZyBpbiBJTklUX0FSUkFZKCkuCgkgIEZpeGVzICM0Mzc2OTIuCgoyMDA3LTA1LTEyIDE2OjI3OjUxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B1cmwuKjogQWRkIHN1cHBvcnQgZm9yIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gUlRTUCBVUkxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSksIChydHNwX3VybF9mcmVlKSwKCSAgKHJ0c3BfdXJsX2dldF9yZXF1ZXN0X3VyaSk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgcXVlcnkgcGFyYW1ldGVycyB0byBSVFNQIFVSTHMuCgoyMDA3LTA1LTEyIDE2OjI2OjA2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuKjogQWRkIHZhbGlkYXRpb24gdG8gcnRzcF90cmFuc3BvcnRfcGFyc2UoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfaW5pdCksIChwYXJzZV9tb2RlKSwKCSAgKHBhcnNlX3JhbmdlKSwgKHJhbmdlX2FzX3RleHQpLCAocnRzcF90cmFuc3BvcnRfbW9kZV9hc190ZXh0KSwKCSAgKHJ0c3BfdHJhbnNwb3J0X3Byb2ZpbGVfYXNfdGV4dCksIChydHNwX3RyYW5zcG9ydF9sdHJhbnNfYXNfdGV4dCksCgkgIChydHNwX3RyYW5zcG9ydF9wYXJzZSksIChydHNwX3RyYW5zcG9ydF9hc190ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEFkZCB2YWxpZGF0aW9uIHRvIHJ0c3BfdHJhbnNwb3J0X3BhcnNlKCkuCgkgIEFkZCBydHNwX3RyYW5zcG9ydF9hc190ZXh0KCkgdG8gZ2VuZXJhdGUgYW4gUlRTUCBoZWFkZXIgZnJvbSBhbgoJICBSVFNQVHJhbnNwb3J0LgoJICBDaGFuZ2Ugc3NyYyB0byBndWludCAod2FzIGEgc3RyaW5nKSBzaW5jZSB0aGF0IGlzIHdoYXQgaXQgaXMsIGV2ZW4KCSAgdGhvdWdoIGl0IGlzIHNlbnQgYXMgYSBoZXggc3RyaW5nLgoJICBDb3JyZWN0bHkgaWRlbnRpZnkgUExBWXxSRUNPUkQgbW9kZSBwYXJhbWV0ZXJzICh0aGUgc3ludGF4IGluIHRoZSBSRkMgaXMKCSAgaW5jb3JyZWN0LCB3aGljaCBjYW4gYmUgc2VlbiB3aGVuIGxvb2tpbmcgYXQgdGhlIGV4YW1wbGVzIGluIHRoZSBSRkMpLgoJICBGaXhlcyAjNDM3NjcwLgoKMjAwNy0wNS0xMSAxNjoxMTowNCArMDAwMCAgRXJpYyBBbmhvbHQgPGFuaG9sdEBmcmVlYnNkLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfb3Blbl9kaXNwbGF5LCBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFcmljIEFuaG9sdAoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX29wZW5fZGlzcGxheSwKCSAgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIFVzZSB1bmlvbiBvZiBhbGwgZGFtYWdlIGJldHdlZW4gZnJhbWVzIHRvIG1ha2UgaXQgZmFzdGVyLgoJICBGaXhlcyBidWcgIzM0MjQ2My4KCSAgQWxzbyBmaXggY3Jhc2hlciB3aGVuIGN1cnNvciBpcyBhdCBib3R0b20gcmlnaHQgb2Ygd2luZG93LgoKMjAwNy0wNS0xMSAxNjowMTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTa2lwIExJU1QgY2h1bmtzIGJlZm9yZSB0aGUgZm10IGNodW5rIChmaXhlcyAjNDM3NDk5KS4gQWxzbyBmaXggc3RyZWFtaW5nIG1vZGUgcmVncmVzc2lvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFNraXAgTElTVCBjaHVua3MgYmVmb3JlIHRoZSBmbXQgY2h1bmsgKGZpeGVzICM0Mzc0OTkpLiBBbHNvIGZpeAoJICBzdHJlYW1pbmcgbW9kZSByZWdyZXNzaW9uIGZvciBmaWxlIGZyb20gIzM0MzgzNyB3aXRoICdiZXh0JyBjaHVuawoJICBiZWZvcmUgdGhlICdmbXQnIGNodW5rLgoKMjAwNy0wNS0xMSAxNTowOTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUHJlbGltaW5hcnkgc2VlayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCksCgkgIChnc3RfcnRzcHNyY19kb19zZWVrKSwgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIFByZWxpbWluYXJ5IHNlZWsgc3VwcG9ydC4KCSAgQWN0aXZhdGUgaW50ZXJuYWwgcGFkcyBzbyB0aGF0IHdlIGNhbiByZWNlaXZlIGV2ZW50cyBvbiB0aGVtLgoJICBEb24ndCB0cnkgdG8gcGFyc2UgYSByYW5nZSBzdHJpbmcgd2hlbiBpdCdzIE5VTEwuCgoyMDA3LTA1LTExIDE1OjA0OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUgd2l0aCBuZXcgUlRQIHZhcmlhYmxlcyB0aGF0IHdpbGwgYmUgdXNlZCBmb3Igc3luY2hyb25pc2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRSB3aXRoIG5ldyBSVFAgdmFyaWFibGVzIHRoYXQgd2lsbCBiZSB1c2VkIGZvcgoJICBzeW5jaHJvbmlzYXRpb24uCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZGVjb2RlX2Jhc2U2NCksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFVwZGF0ZSB2b3JiaXMgcGF5IGFuZCBkZXBheWxvYWRlciB0byBkcmFmdC0wNC4KCjIwMDctMDUtMTEgMTE6MjQ6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IFVEUCBNQ0FTVCBpcyBhY3R1YWxseSB0aGUgZGVmYXVsdCBmb3IgUlRQL0FWUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBVRFAgTUNBU1QgaXMgYWN0dWFsbHkgdGhlIGRlZmF1bHQgZm9yIFJUUC9BVlAuCgoyMDA3LTA1LTExIDEwOjMxOjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfc3RhcnQsIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19zdGFydCwKCSAgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaCAobGFzdF94aW1hZ2UpOgoJICBXaGVuIHVzaW5nIERhbWFnZSBhY3R1YWxseSBrZWVwIHRoZSBsYXN0IGZyYW1lLCBhbmQgbm90IGFzc3VtZQoJICB0aGF0IHRoZSBidWZmZXIgd2UgZ2V0IGFscmVhZHkgaGFzIHRoZSBsYXN0IGZyYW1lIG9uIGl0LgoJICBDb3B5IHRoZSBjdXJzb3Igb3ZlciBpZiB3ZSBzcGVjaWZ5IGEgbm9uLXplcm8gc3RhcnQgeCBhbmQKCSAgc3RhcnQgeS4KCjIwMDctMDUtMTEgMDk6MTI6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IE1ha2UgVURQIHRoZSBkZWZhdWx0IHRyYW5zcG9ydCB3aGVuIG5vdCBzcGVjaWZpZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzoKCSAgTWFrZSBVRFAgdGhlIGRlZmF1bHQgdHJhbnNwb3J0IHdoZW4gbm90IHNwZWNpZmllZC4KCjIwMDctMDUtMTAgMTQ6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LCBnc3RfcXRkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwKCSAgZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSwgZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cywKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSwgZ3N0X3F0ZGVtdXhfbG9vcCwKCSAgcXRkZW11eF9wYXJzZV9zZWdtZW50cywgcXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgsCgkgIHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCwgcnRwX3Nlc3Npb25fZ2V0X2NuYW1lLAoJICBydHBfc2Vzc2lvbl9nZXRfbmFtZSwgcnRwX3Nlc3Npb25fZ2V0X2VtYWlsLCBydHBfc2Vzc2lvbl9nZXRfcGhvbmUsCgkgIHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiwgcnRwX3Nlc3Npb25fZ2V0X3Rvb2wsCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllLCBzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jIChydHBfc291cmNlX3Byb2Nlc3NfcnRwLAoJICBydHBfc291cmNlX3NlbmRfcnRwLCBydHBfc291cmNlX3Byb2Nlc3Nfc3IsIHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgIE1vcmUgZm9ybWF0IGFyZyBmaXhpbmcgKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmUgbGlicmFyaWVzKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgoyMDA3LTA1LTEwIDAxOjIxOjE5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBSZXZlcnQgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBSZXZlcnQgbGFzdCBjaGFuZ2UuCgoyMDA3LTA1LTA5IDIxOjMwOjUzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYga25vdyB0aGUgc2l6ZSBvZiBkYXRhIHBvaW50ZWQgd2hlbiBtb3ZpbmcgdGhlIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NhbGN1bGF0ZV8jI1RZUEUpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBndWludDggKiBpbnN0ZWFkIG9mIGdwb2ludGVyIHRoZW4gdnM2IGtub3cgdGhlIHNpemUgb2YgZGF0YQoJICBwb2ludGVkIHdoZW4gbW92aW5nIHRoZSBwb2ludGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgTW92ZSBpbnN0cnVjdGlvbnMgYWZ0ZXIgdmFyaWFibGVzIGRlY2xhcmF0aW9uLgoJICAqIHdpbjMyL3ZzNi9hdXRvZ2VuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgIFVwZGF0ZSB2czYgcHJvamVjdCBmaWxlcy4KCjIwMDctMDUtMDkgMTE6MjM6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBjb2RlIHRvIHBhcnNlIHRpbWUgcmFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuYzogKHBhcnNlX25wdF90aW1lKSwgKHBhcnNlX25wdF9yYW5nZSksCgkgIChwYXJzZV9jbG9ja19yYW5nZSksIChwYXJzZV9zbXB0ZV9yYW5nZSksIChydHNwX3JhbmdlX3BhcnNlKSwKCSAgKHJ0c3BfcmFuZ2VfZnJlZSk6CgkgICogZ3N0L3J0c3AvcnRzcHJhbmdlLmg6CgkgIEFkZCBjb2RlIHRvIHBhcnNlIHRpbWUgcmFuZ2VzLgoJICBSZXBvcnQgRFVSQVRJT04gb24gdGhlIHN0cmVhbSB3aGVuIHBvc3NpYmxlLgoKMjAwNy0wNS0wOCAxNTo0OTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IHN0cmlkZXMgY2FsY3VsYXRpb24gZm9yIEFZVVYgKGl0J3MganVzdCB3aWR0aCo0KSAoIzQzNjkxMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2JsZW5kX2F5dXZfYXl1diksCgkgIChnc3RfdmlkZW9taXhlcl9maWxsX2NoZWNrZXIpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9jb2xvciksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICBGaXggc3RyaWRlcyBjYWxjdWxhdGlvbiBmb3IgQVlVViAoaXQncyBqdXN0IHdpZHRoKjQpICgjNDM2OTEwKS4KCjIwMDctMDUtMDYgMjE6MzI6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIGJlZm9yZSBlYWNoIHByb2Nlc3Npbmcgc3RlcCB0byBwcm9wZXJseSB3b3JrIHdpdGggdGhlIGNvbnRyb2xsZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIGJlZm9yZSBlYWNoIHByb2Nlc3Npbmcgc3RlcCB0byBwcm9wZXJseQoJICB3b3JrIHdpdGggdGhlIGNvbnRyb2xsZXIuCgoyMDA3LTA1LTA0IDE1OjE3OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBMZXQgbW9yZSBlcnJvciBzdGF0ZSB0cmlja2xlIGRvd24gc28gdGhhdCB3ZSBjYW4gY2F0Y2ggbW9yZSBlcnJvciBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgTGV0IG1vcmUgZXJyb3Igc3RhdGUgdHJpY2tsZSBkb3duIHNvIHRoYXQgd2UgY2FuIGNhdGNoIG1vcmUgZXJyb3IKCSAgY2FzZXMuCgkgIEhhbmRsZSBrZWVwLWFsaXZlIGEgbGl0dGxlIHNtYXJ0ZXIgYnkgc2VsZWN0aW5nIGEgbWV0aG9kIHRoZSBzZXJ2ZXIKCSAgYWN0dWFsbHkgc3VwcG9ydHMuCgkgIEZpeCBhIHJhY2UgaW4gVURQIHN0cmVhbWluZyBzaHV0ZG93bi4KCjIwMDctMDUtMDQgMTM6MDQ6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElnbm9yZSBlcnJvcnMgd2hlbiB0cnlpbmcgdG8gdXNlIHRoZSBrZWVwLWFsaXZlIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpOgoJICBJZ25vcmUgZXJyb3JzIHdoZW4gdHJ5aW5nIHRvIHVzZSB0aGUga2VlcC1hbGl2ZSBtZXNzYWdlcy4KCjIwMDctMDUtMDQgMTI6MzE6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFNlbmQgUlRDUCBtZXNzYWdlcyBiYWNrIHRvIHRoZSBzZXJ2ZXIgb3ZlciB0aGUgVENQIGNvbm5lY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZV91ZHApLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KToKCSAgU2VuZCBSVENQIG1lc3NhZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBvdmVyIHRoZSBUQ1AgY29ubmVjdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3dyaXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgRmFjdG9yIG91dCBhbmQgZXhwb3NlIGxvd2xldmVsIF93cml0ZSBhbmQgX3JlYWQgbWV0aG9kcy4KCSAgSW1wbGVtZW50IHNlbmRpbmcgZGF0YSBtZXNzYWdlcyB0byB0aGUgc2VydmVyLgoKMjAwNy0wNS0wMyAxNTo1NTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IEZpeCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA3LTA1LTAzIDE0OjM5OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogRW1pdCBORVdTRUdNRU5UIGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGUgZmlyc3QgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAoZ3N0X211bHRpcGFydF9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBFbWl0IE5FV1NFR01FTlQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZSBmaXJzdCBidWZmZXIuCgoyMDA3LTA1LTAzIDEzOjQ4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWZhY3RvciB0cmFuc3BvcnQgY29uZmlndXJhdGlvbiBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZV91ZHApLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICBSZWZhY3RvciB0cmFuc3BvcnQgY29uZmlndXJhdGlvbiBjb2RlLgoJICBDcmVhdGUgaW50ZXJuYWwgcGFkcyBmb3IgVENQIHRyYW5zcG9ydCBzbyB0aGF0IHdlIGNhbiBpbXBsZW1lbnQgZXZlbnRzCgkgIGFuZCBxdWVyaWVzLgoJICBIYW5kbGUgZXZlbnRzIGFuZCBxdWVyaWVzLgoJICBQYXJzZSByYW5nZSBmcm9tIHRoZSBTRFAuCgkgIEZpeCByYWNlIGluIHBhdXNlIGhhbmRsZXIgd2hlcmUgdGhlIGNvbm5lY3Rpb24gY291bGQgc3RpbGwgYmUgZmx1c2hpbmcuCgoyMDA3LTA1LTAyIDE5OjMyOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBGaXggcmFjZSB3aGVuIG11bHRpcGxlIHVkcCBzb3VyY2VzIHBvc3QgdGltZW91dHMsIGp1c3QgYWN0IG9uIHRoZSBmaXJzdCByZWNlaXZlZCB0aW1lb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpLCAoZ3N0X3J0c3BzcmNfYXN5bmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksCgkgIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggcmFjZSB3aGVuIG11bHRpcGxlIHVkcCBzb3VyY2VzIHBvc3QgdGltZW91dHMsIGp1c3QgYWN0IG9uIHRoZSBmaXJzdAoJICByZWNlaXZlZCB0aW1lb3V0LgoJICBQcm90ZWN0IHN0cmVhbSBsaXN0IHdpdGggYSByZWN1cnNpdmUgbG9jayB0byBmaXggc29tZSByYWNlcy4KCSAgRmx1c2ggY29ubmVjdGlvbiB3aGVuIHdlIG5lZWQgdG8gZG8gYSByZWNvbm5lY3Qgb3Igc3RvcC4KCSAgTWFrZSBzdGF0ZSBsb2NrIHJlY3Vyc2l2ZS4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgU29tZSBzbWFsbCBjbGVhbnVwcy4KCjIwMDctMDUtMDIgMTg6MzE6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEhhbmRsZSBESVNDT05UIGJ1ZmZlcnMgYnkgY29ycmVjdGx5IHNldHRpbmcgdGhlIERJU0NPTlQgZmxhZwoJICBvbiBvdXRnb2luZyBidWZmZXJzIHdoZW4gbmVjZXNzYXJ5LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpCgkgIFNlbmQgbmV3c2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNy0wNS0wMiAxODoyNTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBPbmx5IHNldCBESVNDT05UIHdoZW4gdGhlcmUgYWN0dWFsbHkgaXMgYSBkaXNjb250IG9yIHdoZW4gd2UganVzdCBzdGFydGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIE9ubHkgc2V0IERJU0NPTlQgd2hlbiB0aGVyZSBhY3R1YWxseSBpcyBhIGRpc2NvbnQgb3Igd2hlbiB3ZSBqdXN0CgkgIHN0YXJ0ZWQuCgoyMDA3LTA1LTAyIDE4OjAxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjLmM6IENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCjIwMDctMDUtMDIgMTc6MTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogQmUgYSBiaXQgbW9yZSBjbGV2ZXIgd2hlbiBkZWFsaW5nIHdpdGggVkJSIGZpbGVzIHdpdGggRkFDVCB0YWdzLCB3ZSBkb24ndCB3YW50IHRvIHRpbWVzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgQmUgYSBiaXQgbW9yZSBjbGV2ZXIgd2hlbiBkZWFsaW5nIHdpdGggVkJSIGZpbGVzIHdpdGggRkFDVCB0YWdzLCB3ZQoJICBkb24ndCB3YW50IHRvIHRpbWVzdGFtcCBidWZmZXJzIGluIHRoYXQgY2FzZSBidXQgdGhlIGVzdGltYXRlZCBCUFMgY2FuCgkgIGJlIHVzZWQgZm9yIHNlZWtpbmcuCgkgIE9ubHkgc2VuZCBjbG9zZSBzZWdtZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNy0wNS0wMiAxNzowODowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBDb3JyZWN0bHkgcG9zdCBhbiBlcnJvciBvbiB0aGUgYnVzIGlmIHNvbWV0aGluZyB3ZW50IHdyb25nIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBUaGlzIGZpeGVzIGEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKToKCSAgQ29ycmVjdGx5IHBvc3QgYW4gZXJyb3Igb24gdGhlIGJ1cyBpZiBzb21ldGhpbmcgd2VudCB3cm9uZyBpbiB0aGUgbG9vcAoJICBmdW5jdGlvbi4gVGhpcyBmaXhlcyBhIGZldyBjYXNlcyB3aGVyZSB0aGUgdGFzayB3YXMgcGF1c2VkIGFuZCBub3RoaW5nCgkgIGhhcHBlbmVkIGFueW1vcmUuCgoyMDA3LTA1LTAyIDE2OjU4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3Qgc2FtcGxlLiBXaXRoIHRoZSBmaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0CgkgIHNhbXBsZS4gV2l0aCB0aGUgZml4ZWQgZXJyb3IgaGFuZGxpbmcgdGhpcyB3b3JrcyBub3cgYXMgZXhwZWN0ZWQKCSAgd2l0aG91dCBwdXNoaW5nIHRoZSBsYXN0IHNhbXBsZSBhbHRob3VnaCBpdCB3YXNuJ3QgcmVxdWVzdGVkLgoKMjAwNy0wNS0wMiAxNjo0NTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGggc3RvcCBwb3NpdGlvbiA9PSAtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoCgkgIHN0b3AgcG9zaXRpb24gPT0gLTEgYW5kIGluc3RlYWQgb2Ygc3RvcHBpbmcgdGhlIHRhc2sgb24gc2VlayBqdXN0CgkgIHBhdXNlIGl0LgoKMjAwNy0wNS0wMiAxNjoxOTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoKMjAwNy0wNS0wMiAxNToxMzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQgd2FzIGVhc3kgdG8gZ2V0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQKCSAgd2FzIGVhc3kgdG8gZ2V0IHRoZSB0YXNrIHBhdXNlZCBidXQgbm8gZXJyb3IgYmVpbmcgcG9zdGVkIG9uIHRoZSBidXMuCgoyMDA3LTA1LTAyIDE0OjI3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvdGVzdC5jOiBGaXggY29tcGlsYXRpb24gb2YgZGVwcmVjYXRlZCB0ZXN0IGp1c3QgYmVjYXVzZSBJJ20gdG9vIGxhenkgdG8gZGVsZXRlIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC90ZXN0LmM6IChtYWluKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIGRlcHJlY2F0ZWQgdGVzdCBqdXN0IGJlY2F1c2UgSSdtIHRvbyBsYXp5IHRvIGRlbGV0ZQoJICBpdC4KCjIwMDctMDUtMDIgMTM6MzI6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZpeCBzZW5kaW5nIFJUQ1AgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9yZXF1ZXN0KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBGaXggc2VuZGluZyBSVENQIHRvIHRoZSByaWdodCBwbGFjZS4KCSAgRml4IGJ1ZyBpbiByZWZmaW5nIHRoZSB3cm9uZyBVRFAgZWxlbWVudC4KCSAgVXNlIG5ldyBwYWQgbmFtZXMgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEltcGxlbWVudCBoYW5kbGluZyBzZXJ2ZXIgcmVxdWVzdHMgaW4gaW50ZXJsZWF2ZWQgYW5kIFVEUCBtb2Rlcy4KCSAgSGFuZGxlIHNlc3Npb24ga2VlcC1hbGl2ZSBpbiBVRFAgbW9kZXMuCgkgIFJlbW92ZSBHQ29uZCBmb3IgaGFuZGxpbmcgVURQIHRpbWVvdXRzLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksIChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpLCAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBTdG9yZSBjb25uZWN0aW9uIElQIGFkZHJlc3MgZm9yIGxhdGVyLgoJICBBZGQgdGltZW91dCBhcmdzIHRvIGFsbCBvcGVyYXRpb25zIHRoYXQgbWlnaHQgYmxvY2sgZm9yZXZlci4KCSAgUGFyc2Ugc2Vzc2lvbiB0aW1lb3V0LgoJICBPbmx5IGNsb3NlIHNvY2tldHMgd2hlbiBub3QgYWxyZWFkeSBjbG9zZWQuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGQgdGltZW91dCByZXR1cm4gdmFsdWUgYW5kIGVycm9yIHN0cmluZy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpOgoJICBBZGQgc21hbGwgY29tbWVudC4KCjIwMDctMDUtMDEgMTY6MTM6NTggKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS4qOiBIYW5kbGUgTkVXU0VHTUVOVCBhbmQgRkxVU0ggZXZlbnRzLiBGaXhlcyAjNDM0ODI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9lbXB0eSksIChnc3RfcnRwX21wNHZfcGF5X2V2ZW50KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgSGFuZGxlIE5FV1NFR01FTlQgYW5kIEZMVVNIIGV2ZW50cy4gRml4ZXMgIzQzNDgyNC4KCjIwMDctMDQtMzAgMTE6MTU6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDogUmVtb3ZlIHY0bDJzcmMgZnJvbSBkb2NzLCBzaW5jZSBpdCBicmVha3MgdGhlIGRvY3MgYnVpbGQsIGFuZCB0aGUgcGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFJlbW92ZSB2NGwyc3JjIGZyb20gZG9jcywgc2luY2UgaXQgYnJlYWtzIHRoZSBkb2NzIGJ1aWxkLCBhbmQgdGhlCgkgIHBsdWdpbiBpcyBvbmx5IGJ1aWx0IGlmIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBpcyB1c2VkIGFueXdheS4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFNwYWNlcyA9PiB0YWIuCgoyMDA3LTA0LTI5IDE0OjQzOjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogQWRkIGNvZGUgdG8gZHJvcCBtZW1iZXJzaGlwIG9mIGEgbXVsdGljYXN0IGdyb3VwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAobGVhdmVfbXVsdGljYXN0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgQWRkIGNvZGUgdG8gZHJvcCBtZW1iZXJzaGlwIG9mIGEgbXVsdGljYXN0IGdyb3VwLgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfdXBkYXRlX3VyaSksCgkgIChnc3RfdWRwc2lua19zZXRfdXJpKToKCSAgSW1wbGVtZW50IFVSSSBoYW5kbGVyLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBVc2UgVVJJIGhhbmRsZXIgdG8gbWFrZSB1ZHBzaW5rIGluc3RhY2UuCgkgIEltcHJvdmUgY29kZSB0byBjb25maWd1cmUgcG9ydCBhbmQgZGVzdGluYXRpb24uCgoyMDA3LTA0LTI5IDEzOjU2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgODAgY2hhciBwb2xpY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDgwIGNoYXIgcG9saWNlCgoyMDA3LTA0LTI5IDEzOjUzOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IFJlcXVpcmUgYXV0b21ha2UgMS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIFJlcXVpcmUgYXV0b21ha2UgMS43CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBNYWtlZmlsZS5hbSBhY2NvcmRpbmdseS4KCjIwMDctMDQtMjkgMTM6NDk6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgamFjayBhbmQgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBBZGQgamFjayBhbmQgdXBkYXRlLgoKMjAwNy0wNC0yOSAxMjoxOToyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEZpeCBtdWx0aWNhc3QgZGV0ZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICBGaXggbXVsdGljYXN0IGRldGVjdGlvbi4KCSAgRG9uJ3QgdHJ5IHRvIGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAgaWYgdGhlIGFkZHJlc3MgaXMgbm90IG11bHRpY2FzdC4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY191cGRhdGVfdXJpKToKCSAgU21hbGwgZGVidWcgaW1wcm92ZW1lbnQuCgoyMDA3LTA0LTI3IDE2OjQ0OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZ25vcmUgQVNZTkMgc3RhdGUgbWVzc2FnZXMgZnJvbSB0aGUgdWRwc2luaywgaXQncyBpcnJlbGV2YW50IGZvciB0aGUgcGFyZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICBJZ25vcmUgQVNZTkMgc3RhdGUgbWVzc2FnZXMgZnJvbSB0aGUgdWRwc2luaywgaXQncyBpcnJlbGV2YW50IGZvciB0aGUKCSAgcGFyZW50LgoKMjAwNy0wNC0yNyAxNTozMDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6IEZpeCBtb2RlIHByb3BlcnR5IHdoZW4gc3BlY2lmaWVkIGFzIGFuIGFyZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSAgRml4IG1vZGUgcHJvcGVydHkgd2hlbiBzcGVjaWZpZWQgYXMgYW4gYXJnLgoKMjAwNy0wNC0yNiAxNTowODoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3hhdWRpbyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3hhdWRpby54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3hhdWRpbyBwbHVnaW4uCgoyMDA3LTA0LTI2IDE0OjMxOjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3h2aWRlby54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoKMjAwNy0wNC0yNiAxMDowODoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUHJvdGVjdCBzdGF0ZSBjaGFuZ2VzIHdpdGggYSBsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFByb3RlY3Qgc3RhdGUgY2hhbmdlcyB3aXRoIGEgbG9jay4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChwYXJzZV9saW5lKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgc3R1ZmYuCgoyMDA3LTA0LTI2IDA4OjQ4OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGFyZSBleGFjdGx5IDAgYnl0ZXMgdG8gcmVhZCBhbmQgdGhlIGlvY3RsIGRpZCBub3QgcmVwb3J0IGFuIGVycm9yLiBGLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUgZXhhY3RseSAwIGJ5dGVzIHRvIHJlYWQgYW5kIHRoZSBpb2N0bAoJICBkaWQgbm90IHJlcG9ydCBhbiBlcnJvci4gRml4ZXMgIzQzMzUzMC4KCjIwMDctMDQtMjYgMDg6Mzk6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogQXBwbHkgRElTQ09OVCB0byBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEFwcGx5IERJU0NPTlQgdG8gYnVmZmVycy4KCSAgT25seSBhcHBseSB0aW1lc3RhbXAgdG8gdGhlIGZpcnN0IHNhbXBsZSBhZnRlciBhIERJU0NPTlQsIHRvbyBtYW55IFZCUgoJICBmaWxlcyBjYXVzZSByYW5kb20gaml0dGVyIGluIHRoZSB0aW1lc3RhbXBzLiBGaXhlcyAjNDMzMTE5LgoKMjAwNy0wNC0yNSAxNTo1NTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBBZGQgZHVtbXkgbGF0ZW5jeSBwcm9wZXJ0eSB0byBiZSBiYWNrd2FyZHMgY29tcGF0IHdpdGggcnRwYmluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9kZWNfaW5pdCksIChnc3RfcnRwX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9kZWNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgQWRkIGR1bW15IGxhdGVuY3kgcHJvcGVydHkgdG8gYmUgYmFja3dhcmRzIGNvbXBhdCB3aXRoIHJ0cGJpbi4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgbGF0ZW5jeSBwcm9wZXJ0eSBhbmQgY29uZmlndXJlIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIERvbid0IHNldCBpbnZhbGlkIGNsb2NrLWJhc2UgYW5kIHNlcW51bS1iYXNlIG9uIGNhcHMsIHNvbWUgc2VydmVycwoJICBzb21ldGltZXMgZG9uJ3Qgc2VuZCB0aGVtLgoKMjAwNy0wNC0yNSAxNTozMTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IERvdWJsZS1jaGVjayB0aGF0IFJHQiBpbnB1dCBjYXBzIGFyZSByZWFsbHkgUkdCQSBjYXBzIChhcHBhcmVudGx5IHRoZSBjb3JlIGRvZXNuJ3QgYWx3YXlzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKToKCSAgRG91YmxlLWNoZWNrIHRoYXQgUkdCIGlucHV0IGNhcHMgYXJlIHJlYWxseSBSR0JBIGNhcHMgKGFwcGFyZW50bHkKCSAgdGhlIGNvcmUgZG9lc24ndCBhbHdheXMgY2F0Y2ggaXQgaWYgdGhvc2UgY2FwcyBhcmVuJ3QgYSBzdWJzZXQgb2YKCSAgb3VyIHRlbXBsYXRlIGNhcHMsIGFsc28gc2VlICM0MjE1NDMpLiBGaXhlcyAjNDI5MzE5IGluIGEgd2F5LgoJICBBbHNvLCBkb24ndCBsZWFrIHRoZSBwYWQgdGVtcGxhdGUgaW4gdGhlIHRyYW5zZm9ybV9jYXBzIGZ1bmN0aW9uLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOiAoc2V0dXBfYWxwaGFjb2xvciksCgkgIChjbGVhbnVwX2FscGhhY29sb3IpLCAoY3JlYXRlX2NhcHNfcmdiMjQpLCAoY3JlYXRlX2NhcHNfcmdiYTMyKSwKCSAgKGNyZWF0ZV9idWZmZXJfcmdiMjRfM3g0KSwgKGNyZWF0ZV9idWZmZXJfcmdiYTMyXzN4NCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhbHBoYWNvbG9yX3N1aXRlKToKCSAgQWRkIHNvbWUgYmFzaWMgdW5pdCB0ZXN0cyBmb3IgYWxwaGFjb2xvci4KCjIwMDctMDQtMjUgMTU6MDg6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBJZiB3ZSBnZXQgYSBmYXRhbCBmbG93IHJldHVybiBpbiB0aGUgbG9vcCBmdW5jdGlvbiwgZmlyc3QgcG9zdCB0aGUgZXJyb3IgbWVzc2FnZSBhbmQgb25seSB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfdGFzayk6CgkgIElmIHdlIGdldCBhIGZhdGFsIGZsb3cgcmV0dXJuIGluIHRoZSBsb29wIGZ1bmN0aW9uLCBmaXJzdCBwb3N0IHRoZQoJICBlcnJvciBtZXNzYWdlIGFuZCBvbmx5IHRoZW4gc2VuZCB0aGUgRU9TIGV2ZW50IGRvd25zdHJlYW0sIG90aGVyd2lzZQoJICBhcHBsaWNhdGlvbnMgbWlnaHQgZ2V0IGFuIGVvcyBtZXNzYWdlIGJlZm9yZSB0aGUgZXJyb3IgbWVzc2FnZSBhbmQKCSAgdGhpbmsgZXZlcnl0aGluZyB3YXMgb2sgKHJlbGF0ZWQgdG8gIzQyOTMxOSkuCgoyMDA3LTA0LTI1IDEwOjA3OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogUmVhZCB0aGUgY2hhbm5lbCBieXRlIGFzIGFuIHVuc2lnbmVkIGJ5dGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgIFJlYWQgdGhlIGNoYW5uZWwgYnl0ZSBhcyBhbiB1bnNpZ25lZCBieXRlLgoKMjAwNy0wNC0yNSAwOTo0Nzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBNYWtlIHN1cmUgd2UgY29uZmlndXJlIHRoZSBjbG9ja19yYXRlIGluIHRoZSBiYXNlY2xhc3MgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24uIEZpeGVzICM0MzEyODIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nc21fZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaWxiY19kZXBheV9pbml0KSwgKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaWxiY19kZXBheV9wcm9jZXNzKSwgKGdzdF9pbGJjX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWxiY19kZXBheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9wY21hX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3BjbXVfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2Ugc3VyZSB3ZSBjb25maWd1cmUgdGhlIGNsb2NrX3JhdGUgaW4gdGhlIGJhc2VjbGFzcyBpbiB0aGUgc2V0Y2FwcwoJICBmdW5jdGlvbi4gRml4ZXMgIzQzMTI4Mi4KCjIwMDctMDQtMjUgMDg6MzY6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFBhcnNlIHNlcnZlciBhZGRyZXNzIGZyb20gU0RQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFBhcnNlIHNlcnZlciBhZGRyZXNzIGZyb20gU0RQLgoJICBIb29rIHVwIGEgdWRwc2luayB0byBzZW5kIFJUQ1AgYmFjayB0byB0aGUgc2VydmVyLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgQWRkIHNvbWUgZG9jcy4KCjIwMDctMDQtMjUgMDY6NTI6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBNYWtlIGhlYWRlciBmaWVsZCBjaGVjayBjb25kaXRpb25hbC4gRml4ZXMgIzQzMzEzNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIE1ha2UgaGVhZGVyIGZpZWxkIGNoZWNrIGNvbmRpdGlvbmFsLiBGaXhlcyAjNDMzMTM1CgoyMDA3LTA0LTI0IDA5OjEyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIG1pbmltYWwgZG9jcyBibHVyYiB0byBhbHBoYWNvbG9yOyBzcGxpdCBvdXQgaGVhZGVycyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlIGZvciBndGstZG9jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIEFkZCBtaW5pbWFsIGRvY3MgYmx1cmIgdG8gYWxwaGFjb2xvcjsgc3BsaXQgb3V0IGhlYWRlcnMgaW50bwoJICBzZXBhcmF0ZSBoZWFkZXIgZmlsZSBmb3IgZ3RrLWRvYy4KCjIwMDctMDQtMjAgMTc6MjU6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogRG9uJ3QgdHJ5IHRvIHBvc3QgTlVMTCBtZXNzYWdlIChpbiBjYXNlIHdlIGNhbid0IHF1ZXJ5IHVwc3RyZWFtIHBvc2l0aW9uIG9yIGR1cmF0aW9uKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3JlcG9ydCk6CgkgIERvbid0IHRyeSB0byBwb3N0IE5VTEwgbWVzc2FnZSAoaW4gY2FzZSB3ZSBjYW4ndCBxdWVyeSB1cHN0cmVhbQoJICBwb3NpdGlvbiBvciBkdXJhdGlvbikuCgoyMDA3LTA0LTE4IDEyOjM2OjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvY3V0dGVyL2dzdGN1dHRlci4qOiBGaXggc29tZSBvZiB0aGUgbW9zdCBvYnZpb3VzIGJ1Z3MgaW4gY3V0dGVyLiBOb3cgZG9lc24ndCBsZWFrIGV2ZXJ5dGhpbmcgaWYgaW5wdXQgaXMgc2lsZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9pbml0KSwgKGdzdF9jdXR0ZXJfY2hhaW4pLAoJICAoZ3N0X2N1dHRlcl9nZXRfY2Fwcyk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgRml4IHNvbWUgb2YgdGhlIG1vc3Qgb2J2aW91cyBidWdzIGluIGN1dHRlci4gTm93IGRvZXNuJ3QgbGVhawoJICBldmVyeXRoaW5nIGlmIGlucHV0IGlzIHNpbGVudC4KCjIwMDctMDQtMTggMDk6NDg6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IGV2ZXJ5dGhpbmcgZWxzZSByZXN1bHRzIGluIGEgaW52YWxpZCBibG9jayBhbGlnbiBhbmQgaW52YWxpZCBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIFdhdiBhcHBhcmVudGx5IG9ubHkgc3VwcG9ydHMgd2lkdGg9PUdTVF9ST1VORF9VUChkZXB0aCksIGV2ZXJ5dGhpbmcKCSAgZWxzZSByZXN1bHRzIGluIGEgaW52YWxpZCBibG9jayBhbGlnbiBhbmQgaW52YWxpZCBmaWxlcy4KCjIwMDctMDQtMTcgMTY6Mzk6MDIgKzAwMDAgIFNuYWlrIDxzbmFpazMyQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOiBBZGQgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQgZm9yIEJPWF9IT1JJWk9OVEFMIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU25haWsgPHNuYWlrMzIgZ21haWwgY29tPgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOiAoZ3N0X3dpcGVfYm94ZXNfZHJhdyk6CgkgIEFkZCBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudCBmb3IgQk9YX0hPUklaT05UQUwgY2FzZS4KCjIwMDctMDQtMTcgMTA6MTQ6NDMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIGludGVnZXIgdHlwZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSA8dnRvcnJpIGF0IHVuaXYtZXZyeSBkb3QgZnI+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBVc2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgaW50ZWdlciB0eXBlcy4KCjIwMDctMDQtMTcgMDI6NTE6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX3RlbXBsYXRlX2NhcHMgKCkgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKToKCSAgVXNlIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb190ZW1wbGF0ZV9jYXBzICgpIGluc3RlYWQgb2YgdGhlIGxvY2FsIGNhcHMuCgkgIFRoaXMgbWFrZXMgdXBkYXRlcyBvZiB0aGUgbG9jYWwgY2FwcyB1bmVjZXNzYXJ5IHdoZW5ldmVyIGxpYmdzdHJpZmYKCSAgZ2V0cyBzdXBwb3J0IGZvciBuZXcgZm9ybWF0cy4KCjIwMDctMDQtMTYgMjE6Mjk6NDAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEZpeCBhbmQvb3IgdXBkYXRlIGNvcHlyaWdodCBhdHRyaWJ1dGlvbnMgKCM0MzAyMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgRml4IGFuZC9vciB1cGRhdGUgY29weXJpZ2h0IGF0dHJpYnV0aW9ucyAoIzQzMDIyOCkuCgoyMDA3LTA0LTE0IDE3OjE4OjE0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgIEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgIFVwZGF0ZSBwcm9qZWN0cyBmaWxlcy4KCjIwMDctMDQtMTMgMDk6MzI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBGaXggZG9jcy4KCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgc29tZSBtb3JlIGV4YW1wbGUgdXJscy4KCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBfZGVjX21hcnNoYWxfQk9YRURfX1VJTlRfVUlOVCksCgkgIChnc3RfcnRwX2RlY19jaGFpbl9ydHApOgoJICBCZXR0ZXIgZGVidWdnaW5nLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAwNy0wNC0xMyAwODoxOTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJlbGF4IHRoZSBhdWRpby9tcGVnIGNhcHMgYWdhaW4gYW5kIGFkZCBGSVhNRTogY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgUmVsYXggdGhlIGF1ZGlvL21wZWcgY2FwcyBhZ2FpbiBhbmQgYWRkIEZJWE1FOiBjb21tZW50LgoKMjAwNy0wNC0xMyAwNjoyMDoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IE1vcmUgc2FuaXR5IGNoZWNrIGZvciB0aGUgaGVhZGVyIGZpZWxkcy4gRml4IHR5cGUgZm9yICdyYXRlJyBoZWFkZXIgZmllbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIE1vcmUgc2FuaXR5IGNoZWNrIGZvciB0aGUgaGVhZGVyIGZpZWxkcy4gRml4IHR5cGUgZm9yICdyYXRlJyBoZWFkZXIKCSAgZmllbGQuCgoyMDA3LTA0LTEyIDE2OjA2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IElmIHRoZSBtZXRhZGF0YSBzdHJpbmdzIHdlIGdldCBpbiB0aGUgc3RyZWFtIGFyZSBub3QgVVRGLTgsIHRyeSB0byBpbnRlcnByZXQgdGhlbSBhY2NvcmRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAobm90Z3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCksCgkgIChnc3RfaWN5ZGVtdXhfdW5pY29kaWZ5KToKCSAgSWYgdGhlIG1ldGFkYXRhIHN0cmluZ3Mgd2UgZ2V0IGluIHRoZSBzdHJlYW0gYXJlIG5vdCBVVEYtOCwgdHJ5IHRvCgkgIGludGVycHJldCB0aGVtIGFjY29yZGluZyB0byB0aGUgY2hhcmFjdGVyIGVuY29kaW5ncyBzcGVjaWZpZWQgaW4gdGhlCgkgIEdTVF9JQ1lfVEFHX0VOQ09ESU5HIGFuZCBHU1RfVEFHX0VOQ09ESU5HIGVudmlyb25tZW50IHZhcmlhYmxlcywgYW5kCgkgIG9ubHkgZmFsbCBiYWNrIHRvIGxvY2FsZS9JU08tODg1OS0xIGlmIHRob3NlIGFyZW4ndCBzZXQgb3IgZG9uJ3QKCSAgd29yay4gU2hvdWxkIGZpeCAjNDI4OTAxLgoKMjAwNy0wNC0xMiAxNDoyMDo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IFVzZSB0aGUgcHJvcGVyIHN5bmMgd29yZCBmb3IgU1BTIGFuZCBQUFMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIFVzZSB0aGUgcHJvcGVyIHN5bmMgd29yZCBmb3IgU1BTIGFuZCBQUFMuCgoyMDA3LTA0LTEyIDExOjQxOjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IGdzdC9ydHAvZm52MWhhc2guYyAoTUFTS18yNCwgRk5WMV9IQVNIXzMyX0lOSVQsIEZOVjFfSEFTSF8zMl9QUklNRSwgZm52MV9oYXNoXzMyX25ldywgZm52MV9oYXNoXy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZm52MWhhc2guYyAoTUFTS18yNCwgRk5WMV9IQVNIXzMyX0lOSVQsIEZOVjFfSEFTSF8zMl9QUklNRSwKCSAgZm52MV9oYXNoXzMyX25ldywgZm52MV9oYXNoXzMyX3VwZGF0ZSwgZm52MV9oYXNoXzMyX3RvXzI0KToKCSAgKiBnc3QvcnRwL2ZudjFoYXNoLmggKF9fR1NUX0ZOVjFfSEFTSF9IX18pOgoJICBBZGQgYSBzaW1wbGUgaGFzaGluZyBpbXBsZW1lbnRhdGlvbiB0aGF0IHdlIGNhbiB1c2UgdG8gZ2VuZXJhdGUKCSAgYSAyNC1iaXQgaWRlbnQgdmFsdWUgYmFzZWQgb24gdGhlIGNvZGVib29rcyBmb3Igdm9yYmlzIGFuZCB0aGVvcmEuCgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYyAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzLAoJICBnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uLAoJICBnc3RfcnRwX3ZvcmJpc19kZXBheV9zd2l0Y2hfY29kZWJvb2ssIGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmMgKGdzdF9ydHBfdm9yYmlzX3BheV9yZXNldF9wYWNrZXQsCgkgIGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCwgZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCwKCSAgZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzLCBnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFVzZSB0aGUgaGFzaGluZyBmdW5jdGlvbiwgZW5zdXJpbmcgdGhhdCB0aGUgc2FtZSBjb2RlYm9va3MgcmVzdWx0CgkgIGluIHRoZSBzYW1lIGlkZW50IGFuZCB0aHVzIHRoZSBzYW1lIFNEUCBkZXNjcmlwdGlvbi4KCSAgVmFyaW91cyBsb2cgZml4ZXMvY2hhbmdlcy4KCjIwMDctMDQtMTIgMTE6Mzc6NTAgKzAwMDAgIGplcnJ5IHRhbiA8amVycnkudGFuQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogaXQgaXMgdGhlIGFwcGxpY2F0aW9uJ3MgcmVzcG9uc2liaWxpdHkgdG8gbWFrZSBzdXJlIGl0IG9wZW4gdGhlIGRldmljZSBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGplcnJ5IHRhbiA8amVycnkgZG90IHRhbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgcmVtb3ZlIHRoZSBjYWxsIG9mICBpb2N0bCAoZmQsIEFVRElPX01JWEVSX01VTFRJUExFX09QRU4pLCBpdCBpcyB0aGUKCSAgYXBwbGljYXRpb24ncyByZXNwb25zaWJpbGl0eSB0byBtYWtlIHN1cmUgaXQgb3BlbiB0aGUgZGV2aWNlIG9uY2UuCgkgIFJlbW92ZSBhIGNhcmVsZXNzIGVycm9yIGlmIEFVRElPREVWIGlzIHNldC4gRml4ZXMgIzM5MjYyMC4KCjIwMDctMDQtMTIgMTA6NTI6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQgY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQKCSAgY2FsY3VsYXRpb25zLgoKMjAwNy0wNC0xMiAwODoyMToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBNYWtlIGJhY2t3YXJkIGNvbXBhdCB3aXRoIHJ0cGJpbiBieSBhZGRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfbWFyc2hhbF9CT1hFRF9fVUlOVF9VSU5UKSwKCSAgKGdzdF9ydHBfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRwKToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgTWFrZSBiYWNrd2FyZCBjb21wYXQgd2l0aCBydHBiaW4gYnkgYWRkaW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfY2FwcyksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcGxlbWVudCByZXF1ZXN0LXB0LW1hcCBzaWduYWxzIGluc3RlYWQgb2Ygc2V0dGluZyBjYXBzIG9uIHRoZSBidWZmZXJzCgkgIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoKMjAwNy0wNC0xMSAxMDoyNToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwLmM6IFJlZ2lzdGVyIEdzdE5ldEJ1ZmZlciBpbiBwbHVnaW5faW5pdCBzbyB0aGF0IHRoZSB0eXBlIGNhbiBiZSB1c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcyB3aXRob3V0IHJhY2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcC5jOiAocGx1Z2luX2luaXQpOgoJICBSZWdpc3RlciBHc3ROZXRCdWZmZXIgaW4gcGx1Z2luX2luaXQgc28gdGhhdCB0aGUgdHlwZSBjYW4gYmUgdXNlZCBmcm9tCgkgIG11bHRpcGxlIHRocmVhZHMgd2l0aG91dCByYWNlcy4KCjIwMDctMDQtMTEgMTA6MTk6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIHNwZWMgZmlsZQoKMjAwNy0wNC0xMSAwOTo1MzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbWRoZCk6CgkgIEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgRml4ZXMgIzQyNjk3Mi4KCjIwMDctMDQtMTAgMTc6MDY6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IEZpeCBkZXBheWxvYWRlciBjbG9ja19yYXRlIGFuZCBzb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggZGVwYXlsb2FkZXIgY2xvY2tfcmF0ZSBhbmQgc29tZSBjbGVhbnVwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBEb24ndCBwdXNoIGNvZGVjX2RhdGEgaW4gdGhlIGFkYXB0ZXIgYmVjYXVzZSBpdCBtaWdodCBnZXQgZmx1c2hlZCB3aGVuCgkgIHdlIGdldCBhIGRpc2NvbnQuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgSGFuZGxlIG11bHRpcGxlIEFVIHBlciBwYWNrZXQuCgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgIERpc2FibGUgcmFuaywgdGhpcyBvbmUgZG9lcyBub3Qgd29yay4KCSAgUmVtb3ZlIHRpbWVzdGFtcGluZywgYmFzZSBjbGFzcyBkb2VzIHRoYXQuCgoyMDA3LTA0LTEwIDEyOjAxOjMzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IGxpbWl0IGNhcHMgdG8gdGhlIGZvcm1hdHMgd2UgYW5ub3VuY2UgaW4gdGhlIHRlbXBsYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICBsaW1pdCBjYXBzIHRvIHRoZSBmb3JtYXRzIHdlIGFubm91bmNlIGluIHRoZSB0ZW1wbGF0ZQoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBmaXggc29tZSBjcmFzaGVycy9hc3NlcnRzIHdoZW4gZGVhbGluZyB3aXRoIGJyb2tlbiBmaWxlcwoKMjAwNy0wNC0xMCAxMDowMToxNCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4gRml4ZXMgIzQyODE4Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfZ2V0X21vZGUpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpOgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4gRml4ZXMgIzQyODE4Mi4KCjIwMDctMDQtMDYgMTI6NTQ6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IE1vcnBoIFJUUERlYyBpbnRvIHNvbWV0aGluZyBjb21wYXRpYmxlIHdpdGggUlRQQmluIGFzIGEgZmFsbGJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGZyZWVfc2Vzc2lvbiksIChnc3RfcnRwX2RlY19iYXNlX2luaXQpLCAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2RlY19pbml0KSwgKGdzdF9ydHBfZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfZGVjX3F1ZXJ5X3NyYyksIChnc3RfcnRwX2RlY19jaGFpbl9ydHApLAoJICAoZ3N0X3J0cF9kZWNfY2hhaW5fcnRjcCksIChnc3RfcnRwX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfZGVjX3Byb3ZpZGVfY2xvY2spLAoJICAoZ3N0X3J0cF9kZWNfY2hhbmdlX3N0YXRlKSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9ydGNwKSwgKGdzdF9ydHBfZGVjX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfcnRwX2RlY19yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICBNb3JwaCBSVFBEZWMgaW50byBzb21ldGhpbmcgY29tcGF0aWJsZSB3aXRoIFJUUEJpbiBhcyBhIGZhbGxiYWNrLgoJICBWYXJpb3VzIG90aGVyIHN0eWxlIGZpeGVzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X2lkKSwKCSAgKGZpbmRfc3RyZWFtX2J5X3VkcHNyYyksIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnc3RfcnRzcHNyY19jbGVhbnVwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBJbXBsZW1lbnQgUlRQQmluIHNlc3Npb24gbWFuYWdlciBoYW5kbGluZy4KCSAgRG9uJ3QgdHJ5IHRvIGFkZCBlbXB0eSBwcm9wZXJ0aWVzIHRvIGNhcHMuCgkgIEltcGxlbWVudCBmYWxsYmFjayBzZXNzaW9uIG1hbmFnZXIsIGhhbmRsaW5nLgoJICBEb24ndCBjb21iaW5lIGVycm9ycyBmcm9tIFJUQ1Agc3RyZWFtcywganVzdCBpZ25vcmUgdGhlbS4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9nZXRfbWFuYWdlcik6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBJbXBsZW1lbnQgZmFsbGJhY2sgc2Vzc2lvbiBtYW5hZ2VyLgoJICBNYWtlIFJUUEJpbiB0aGUgZGVmYXVsdCBvbmUgd2hlbiBhdmFpbGFibGUuCgoyMDA3LTA0LTA1IDE1OjA1OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuKjogVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgoyMDA3LTA0LTA1IDEzOjU2OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogVGhpcyBlbGVtZW50IGlzIHJlYWR5IHRvIGJlIGF1dG9wbHVnZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgVGhpcyBlbGVtZW50IGlzIHJlYWR5IHRvIGJlIGF1dG9wbHVnZ2VkLgoKMjAwNy0wNC0wNSAxMToyNjoyNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IGxlYXZlIHRoZSBvZmZzZXRzIGRlZmluZWQgYnkgdXBzdHJlYW0gZWxlbWVudCBvbiB0aGUgY29tcHJlc3NlZCBkYXRhIGJ1ZmZlciB3ZSBhcmUgcHVzaGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDQtMDUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIERvbid0IGxlYXZlIHRoZSBvZmZzZXRzIGRlZmluZWQgYnkgdXBzdHJlYW0gZWxlbWVudCBvbiB0aGUKCSAgY29tcHJlc3NlZCBkYXRhIGJ1ZmZlciB3ZSBhcmUgcHVzaGluZyBkb3duc3RyZWFtLiBNYWtlIHRoZW0KCSAgR1NUX0JVRkZFUl9PRkZTRVRfTk9ORS4KCjIwMDctMDQtMDQgMTI6Mzk6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvOiBEb24ndCBhYm9ydCBvbiBvdXQtb2YtbWVtb3J5LiBVc2Ugc3RyZWFtLW5yIGFzIHVuc2lnbmVkIGludGVnZXIgb25seS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9SRUFETUU6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zeW5jKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgRG9uJ3QgYWJvcnQgb24gb3V0LW9mLW1lbW9yeS4gVXNlIHN0cmVhbS1uciBhcyB1bnNpZ25lZCBpbnRlZ2VyIG9ubHkuCgoyMDA3LTA0LTAzIDA5OjU1OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJICBGaXggZXJyb3IgYXMgc3BvdHRlZCBieSBTbmFpayA8c25haWszMiBhdCBnbWFpbCBkb3QgY29tPgoKMjAwNy0wMy0zMCAxNzoxOTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFN1cHBvcnQgYXVkaW8veC1yYXctZmxvYXQgaW4gd2F2IGZpbGVzLiBUaGlzIG9ubHkgd29ya3Mgd2l0aCBwbHVnaW5zLWJhc2UgQ1ZTLCB1c2luZyBhbiBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBTdXBwb3J0IGF1ZGlvL3gtcmF3LWZsb2F0IGluIHdhdiBmaWxlcy4gVGhpcyBvbmx5IHdvcmtzIHdpdGgKCSAgcGx1Z2lucy1iYXNlIENWUywgdXNpbmcgYW4gb2xkZXIgdmVyc2lvbiBkb2Vzbid0IGhhdmUgYW55CgkgIGRpc2FkdmFudGFnZXMgdGhvdWdoLgoKMjAwNy0wMy0zMCAxNTo1OToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmV2ZXJ0IGxhc3QgY2hhbmdlIGFzIHdlIGRvbid0IHdhbnQgcGx1Z2lucy1nb29kIHRvIGRlcGVuZCBvbiBwbHVnaW5zLWJhc2UgQ1ZTIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9yZXNldCksCgkgIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwgKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBSZXZlcnQgbGFzdCBjaGFuZ2UgYXMgd2UgZG9uJ3Qgd2FudCBwbHVnaW5zLWdvb2QgdG8gZGVwZW5kIG9uCgkgIHBsdWdpbnMtYmFzZSBDVlMgbm93LgoKMjAwNy0wMy0zMCAwNDo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGggd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aAoJICB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGhpcyBhbmQgbGV0IGF1ZGlvY29udmVydCBjb252ZXJ0CgkgIHRvIGFjY2VwdGVkIGZvcm1hdHMgaW5zdGVhZCBvZiBkb2luZyBpdCBpbiB0aGUgZWxlbWVudCBmb3Igbio4IGRlcHRocy4KCSAgVGhpcyBhbHNvIGFkZHMgc3VwcG9ydCBmb3Igbm9uLW4qOCBkZXB0aHMgYW5kIHByZXZlbnRzIHNvbWUgdXNlbGVzcwoJICBtZW1vcnkgYWxsb2NhdGlvbnMuIEZpeGVzICM0MjE1OTgKCSAgQWxzbyBhZGQgYSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0MiBpbiB3YXZwYWNrZW5jIGZvciBub3cuLi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBDb25zaWRlciB0aGUgY2hhbmdlIGFib3ZlIGluIHRoZSB1bml0IHRlc3RzIGFuZCB0ZXN0IGlmIHRoZSBjb3JyZWN0CgkgIGNhcHMgYXJlIGFjY2VwdGVkIGFuZCBzZXQuIEFsc28gY2hlY2sgZm9yIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBpbgoJICB0aGUgd2F2cGFja3BhcnNlIHVuaXQgdGVzdC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2Fwcyk6CgkgIFNldCBjYXBzIG9uIHRoZSBzcmMgcGFkIGFzIHNvb24gYXMgcG9zc2libGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEZpeCBpbmRlbnRpb24uIGdzdC1pbmRlbnQgaXMgbm93IGNhbGxlZCBieSBjaWNsLgoKMjAwNy0wMy0yOSAxODo1MTozMyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUyBmb3IgYXVkaW9jb252ZXJ0IHdpdGggbm9uLW5hdGl2ZSBmbG9hdCBzdXBwb3J0IGFuZCB3aWR0aC9kZXB0aCBmaXggaW4gbGliZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMgZm9yIGF1ZGlvY29udmVydCB3aXRoIG5vbi1uYXRpdmUKCSAgZmxvYXQgc3VwcG9ydCBhbmQgd2lkdGgvZGVwdGggZml4IGluIGxpYmdzdHJpZmYuCgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlciksIChnc3RfYXVfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgRG9uJ3Qgc3dhcCB0aGUgZmxvYXRzIG91cnNlbGYgaWYgdGhleSdyZSBub3QgaW4gbmF0aXZlIGVuZGlhbm5lc3MuCgkgIEluc3RlYWQgbGV0IGF1ZGlvY29udmVydCBoYW5kbGUgdGhpcy4gRml4ZXMgIzMzOTgzOC4KCjIwMDctMDMtMjkgMTQ6NDA6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRmx1c2ggYWRhcHRlciBvbiBkaXNjb250cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBGbHVzaCBhZGFwdGVyIG9uIGRpc2NvbnRzLgoKMjAwNy0wMy0yOSAxNDowMzoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBVc2UgbW9yZSBlZmZpY2llbnQgYWRhcHRlciBhbmQgcnRwYnVmZmVyIG1ldGhvZHMgd2hlbiBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzogKGdzdF9ydHBfbXBhX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2Vzcyk6CgkgIFVzZSBtb3JlIGVmZmljaWVudCBhZGFwdGVyIGFuZCBydHBidWZmZXIgbWV0aG9kcyB3aGVuIHBvc3NpYmxlLgoKMjAwNy0wMy0yOSAxMjoxNDoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogQ29ycmVjdGx5IGhhbmRsZSB3aWR0aCE9ZGVwdGggaW5wdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKToKCSAgQ29ycmVjdGx5IGhhbmRsZSB3aWR0aCE9ZGVwdGggaW5wdXQuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFscmVhZHkgZXhwb3J0IGluIHRoZSBjYXBzIHRoYXQgd2lkdGg9PTggdXNlcyB1bnNpZ25lZCBzYW1wbGVzIGFuZAoJICBldmVyeXRoaW5nIGVsc2UgdXNlcyBzaWduZWQgc2FtcGxlcy4KCjIwMDctMDMtMjkgMDk6NTk6MjMgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC91ZHAvOiBSZXdvcmsgdGhlIHNvY2tldCBhbGxvY2F0aW9uIGEgYml0IGJhc2VkIG9uIHRoZSBzb2NrZmQgYXJndW1lbnQgc28gdGhhdCBpdCBiZWNvbWVzIHVzYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZHludWRwc2lua19pbml0KSwgKGdzdF9keW51ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHludWRwc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2R5bnVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9keW51ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgUmV3b3JrIHRoZSBzb2NrZXQgYWxsb2NhdGlvbiBhIGJpdCBiYXNlZCBvbiB0aGUgc29ja2ZkIGFyZ3VtZW50IHNvIHRoYXQKCSAgaXQgYmVjb21lcyB1c2FibGUuCgkgIEFkZCBhIGNsb3NlZmQgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHVkcCBlbGVtZW50cyB0byBjbG9zZSB0aGUgY3VzdG9tCgkgIGZpbGUgZGVzY3JpcHRvcnMgd2hlbiBnb2luZyB0byBSRUFEWS4gRml4ZXMgIzQyMzMwNC4KCSAgQVBJOkdzdFVEUFNyYzo6Y2xvc2VmZCBwcm9wZXJ0eQoJICBBUEk6R3N0RHluVURQU2luazo6Y2xvc2VmZCBwcm9wZXJ0eQoKMjAwNy0wMy0yOSAwODowODo0OSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3J0cC86IEFkZGVkIEgyNjQgcGF5bG9hZGVyLiBGaXhlcyAjNDIzNzgyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2NF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjY0X3BheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIEFkZGVkIEgyNjQgcGF5bG9hZGVyLiBGaXhlcyAjNDIzNzgyLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIFNtYWxsIGZpeGVzLgoKMjAwNy0wMy0yOCAyMjoyNzozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFjdHVhbGx5IHN1cHBvcnQgZGVwdGhzIGZyb20gMSB0byAzMiwgbm90IG9ubHkgOCB0byAzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIEFjdHVhbGx5IHN1cHBvcnQgZGVwdGhzIGZyb20gMSB0byAzMiwgbm90IG9ubHkgOCB0byAzMi4KCjIwMDctMDMtMjggMjI6MjM6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBZGQgc3VwcG9ydCBmb3Igd2F2IGZpbGVzIGNvbnRhaW5pbmcgYXVkaW8veC1yYXctaW50IHdpdGggcmFuZG9tIGRlcHRocyBiZXR3ZWVuIDEgYW5kIDMyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHdhdiBmaWxlcyBjb250YWluaW5nIGF1ZGlvL3gtcmF3LWludCB3aXRoIHJhbmRvbQoJICBkZXB0aHMgYmV0d2VlbiAxIGFuZCAzMiBiaXRzLgoKMjAwNy0wMy0yOCAxODo0MDoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgZ3N0L3J0cC86IEFkZGVkIE1QNEEtTEFUTSBkZXBheWxvYWRlci4gRml4ZXMgIzQxNzc5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wNGFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBBZGRlZCBNUDRBLUxBVE0gZGVwYXlsb2FkZXIuIEZpeGVzICM0MTc3OTIuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgRml4dXAgZGVwYXlsb2FkZXIsIHNldHRpbmcgY29kZWNfZGF0YSwgdXNpbmcgbW9yZSBlZmZpY2llbnQgYWRhcHRvciBhbmQKCSAgcnRwYnVmZmVyIGhhbmRsaW5nLgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCB1cmwgdG8gdGVzdCBhYm92ZS4KCjIwMDctMDMtMjggMTU6MTc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzIHdpdGggaDI2NCB2aWRlbykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV9zYW1wbGVzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9jdHRzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMKCSAgd2l0aCBoMjY0IHZpZGVvKS4KCSAgVXNlIHRoZSBvZmZzZXQgcHJlc2VudCBpbiAnY3R0cycgdG8gY2FsY3VsYXRlIHRoZSBQVFMgZm9yIGVhY2ggcGFja2V0CgkgIGFuZCBzZXQgdGhlIFBUUyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBGaXhlcyAjNDIzMjgzCgoyMDA3LTAzLTI1IDE1OjM0OjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBIYW5kbGUgZGVmYXVsdCBjbG9jay1yYXRlcyBmb3Igc3RhdGljIHBheWxvYWQgdHlwZXMsIHJlYXJyYW5nZSBzdHVmZiBzbyB0aGF0IHRoZSBydHBtYXAgZmllbGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X3NldHVwKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ2V0X2RlZmF1bHRfcmF0ZV9mb3JfcHQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBIYW5kbGUgZGVmYXVsdCBjbG9jay1yYXRlcyBmb3Igc3RhdGljIHBheWxvYWQgdHlwZXMsIHJlYXJyYW5nZSBzdHVmZiBzbwoJICB0aGF0IHRoZSBydHBtYXAgZmllbGQgaW4gdGhlIHNkcCBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHRzLgoJICBQYXJzZSBSVFAtSW5mbyBmaWVsZCB0byBnZXQgdGhlIHNlcW51bSBhbmQgdGltZWJhc2UgZmllbGRzIHRoYXQgc2hvdWxkCgkgIGdvIGluIHRoZSBjYXBzLgoJICBEZWxheSBjb25maWd1cmluZyBjYXBzIGFmdGVyIHdlIGdvdCB0aGUgUlRQLUluZm8gZnJvbSB0aGUgUExBWSByZXBseSBmcm9tCgkgIHRoZSBzZXJ2ZXIuCgoyMDA3LTAzLTI0IDE5OjQ2OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8gMS1jaGFubmVsIG91dHB1dCBjYXBzIChJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOgoJICBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvCgkgIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSSBndWVzcyB0ZWNobmljYWxseSB3ZSBzaG91bGQgc2V0IHRoZQoJICBwb3NpdGlvbiBmb3IgZWFjaCBjaGFubmVsIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiBpdCdzIG5vbi1OT05FLAoJICBidXQgSSdsbCBzYXZlIHRoYXQgYXMgYSB0YXNrIGZvciBhbm90aGVyIGRheSkuCgoyMDA3LTAzLTIyIDIyOjE0OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2Ygc291cmNlIHBhZHMgLSB0aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbik6CgkgIERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2YKCSAgc291cmNlIHBhZHMgLSB0aGVyZSBhcmUgbm8gZ3VhcmFudGVlcyBhYm91dCB0aGUgb3JkZXIgb2YgdGhlIGxpc3QKCSAgaW4gdGhlIEdzdEVsZW1lbnQgc3RydWN0LCBhbmQgd2Ugd2FudCBhIHZlcnkgc3BlY2lmaWMgb3JkZXI7IGxhc3RseSwKCSAgc29tZSBtb3JlIGRlYnVnZ2luZy4KCjIwMDctMDMtMjIgMTY6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcyBpcyBubyBjbGVhbiBzb2x1dGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MKCSAgaXMgbm8gY2xlYW4gc29sdXRpb24gYW5kIGluIGdlbmVyYWwgdGhlcmUncyBubyByZWFzb24gd2h5IG9uZSB3YW50cwoJICB0byBwYXJzZSBmcmFtZWQgd2F2cGFjayBkYXRhIGFnYWluLgoKMjAwNy0wMy0yMiAxNTo1Mjo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcwoJICBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrZGVjICEgc29tZWF1ZGlvc2luayIgcGlwZWxpbmVzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBBY2NlcHQgZnJhbWVkIGFuZCBub24tZnJhbWVkIGlucHV0LCB3YXZwYWNrcGFyc2UgZG9lc24ndCBjYXJlLiBUbwoJICBwcmV2ZW50ICJ3YXZwYWNrcGFyc2UgISB3YXZwYWNrcGFyc2UgISAuLi4iIHBpcGVsaW5lcyBsb3dlciB0aGUKCSAgcmFuayBvZiB3YXZwYWNrcGFyc2UgYnkgb25lLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2twYXJzZSAhCgkgIC4uLiIgcGlwZWxpbmVzLgoKMjAwNy0wMy0yMiAxMTowODowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBUaGFua3MgdG8gSmFuIGFuZCBNaWtlIGZvciBub3RpY2luZyBteSBtaXN0YWtlLgoKMjAwNy0wMy0yMiAwOTo0NDoxNyArMDAwMCAgQ2hyaXN0b3BoZSBEZWhhaXMgPGNocmlzdG9waGUuZGVoYWlzQGdtYWlsLmNvbT4KCgkgIGV4dC9nY29uZi9nY29uZi5jOiBBY2NlcHQgY29tcGxleCBwaXBlbGluZSBkZXNjcmlwdGlvbnMgYXMgYW4gYXVkaW8gcHJvZmlsZSBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgZWxlbWVudC4gRml4ZXMgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENocmlzdG9waGUgRGVoYWlzIDxjaHJpc3RvcGhlIGRvdCBkZWhhaXMgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9yZW5kZXJfYmluX3dpdGhfZGVmYXVsdCk6CgkgIEFjY2VwdCBjb21wbGV4IHBpcGVsaW5lIGRlc2NyaXB0aW9ucyBhcyBhbiBhdWRpbyBwcm9maWxlIGluc3RlYWQgb2YganVzdAoJICBhIHNpbmdsZSBlbGVtZW50LiBGaXhlcyAjNDIwNjU4LgoKMjAwNy0wMy0yMiAwMDoxNzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdCBhcyBhIHBvaW50ZXIgdG8gc2F2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdAoJICBhcyBhIHBvaW50ZXIgdG8gc2F2ZSB0d28gc21hbGwsIGJ1dCB1c2VsZXNzIG1hbGxvY3MuIFRoaXMgYWxzbyBtYWtlcwoJICBpdCBwb3NzaWJsZSB0byBkcm9wIHRoZSBmaW5hbGl6ZSBtZXRob2QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlcik6CgkgIEZvciBjb25zaXN0ZW5jeSByZWFzb25zIGFsc28gc2V0IEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBvbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVycyB0aGUgc2FtZSB3YXkgd2F2cGFja2VuYyBkb2VzIGl0LgoKMjAwNy0wMy0yMSAyMzo1MDowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgQmFzZVRyYW5zZm9ybS1iYXNlZCBlbGVtZW50cyB3aWxsIGxpa2VseSBicmVhayBiZWNhdXNlIG9mIHdyb25nCgkgIHVuaXQtc2l6ZS4gQWxzbyBwbHVnIGEgcG9zc2libGUgbWVtbGVhayB0aGF0IGhhcHBlbnMgd2hlbiBkZWNvZGluZwoJICBmYWlscyBmb3Igc29tZSByZWFzb24uCgoyMDA3LTAzLTIxIDEyOjUzOjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogRGlzYWJsZSB0aGUgYml0cmF0ZSBjaGVja2luZyB3aGVuIHRoZSB1c2VyIGhhcyByZXF1ZXN0ZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2V0dXApOgoJICBEaXNhYmxlIHRoZSBiaXRyYXRlIGNoZWNraW5nIHdoZW4gdGhlIHVzZXIgaGFzIHJlcXVlc3RlZAoJICBGcmVlIEZvcm1hdCBtb2RlLCBhcyBhbGwgYml0cmF0ZXMgbGVzcyB0aGFuIHRoZSBtYXhpbXVtCgkgIGFyZSB2YWxpZCB0aGVuLgoKMjAwNy0wMy0yMSAxMTo0OTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogUmVuYW1lIHJlZ2lzdGVyZWQgdHlwZSBpbiBwcmVwYXJhdGlvbiBvZiBHc3RUYWdEZW11eCBtb3ZpbmcgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9nZXRfdHlwZSk6CgkgIFJlbmFtZSByZWdpc3RlcmVkIHR5cGUgaW4gcHJlcGFyYXRpb24gb2YgR3N0VGFnRGVtdXggbW92aW5nIHRvCgkgIC1iYXNlIGF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZS4KCjIwMDctMDMtMTkgMTA6Mjk6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+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+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBFcnJvciBvdXQgY29ycmVjdGx5IHdoZW4gZ2V0dGluZyB4Y29udGV4dCBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDMtMDEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfb3Blbl9kaXNwbGF5KToKCSAgRXJyb3Igb3V0IGNvcnJlY3RseSB3aGVuIGdldHRpbmcgeGNvbnRleHQgZmFpbHMuCgoyMDA3LTAzLTAxIDA5OjI5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IE1ha2Ugc3RhdGUgY2hhbmdlIHRvIFBBVVNFRCBOT19QUkVST0xMIGJlY2F1c2UgdGhhdCdzIHdoYXQgaXQgd2lsbCBiZSBpbiB0aGUgZnV0dXJlIGFuZCBydHNwc3JjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIHN0YXRlIGNoYW5nZSB0byBQQVVTRUQgTk9fUFJFUk9MTCBiZWNhdXNlIHRoYXQncyB3aGF0IGl0IHdpbGwgYmUgaW4KCSAgdGhlIGZ1dHVyZSBhbmQgcnRzcHNyYyByZWxpZXMgb24gaXQuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgZXJyb3Igb3V0IHdoZW4gd2UgZG9uJ3QgZ2V0IGFuIGVycm9yIGZyb20gdGhlIHN0YXRlIGNoYW5nZQoJICBmdW5jdGlvbi4KCjIwMDctMDMtMDEgMDE6NDg6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9oYWwvOiBDaGVjayBpZiB0aGUgZGV2aWNlIFVESSBpcyBzZXQgYmVmb3JlIHRyeWluZyB0byBxdWVyeSBIQUwgYWJvdXQgaXQgYW5kIGdpdmUgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSBpZiBpdCB3YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgQ2hlY2sgaWYgdGhlIGRldmljZSBVREkgaXMgc2V0IGJlZm9yZSB0cnlpbmcgdG8gcXVlcnkgSEFMCgkgIGFib3V0IGl0IGFuZCBnaXZlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgaWYgaXQgd2Fzbid0IHNldC4KCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfc3RyaW5nKToKCSAgRG9uJ3QgcXVlcnkgSEFMIGZvciBOVUxMIFVESXMuIFBhc3NpbmcgTlVMTCBhcyBVREkgdG8gSEFMCgkgIGdpdmVzIGFuIGFzc2VydGlvbiBmYWlsdXJlIGluIEQtQnVzIHdoZW4gcnVubmluZyB3aXRoCgkgIERCVVNfRkFUQUxfV0FSTklOR1M9MS4KCjIwMDctMDItMjggMTk6Mjk6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgY29uZmlnIHRvIHRydW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29uZmlnIHRvIHRydW5rCgoyMDA3LTAyLTI4IDE5OjI5OjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCjIwMDctMDItMjggMTg6NDE6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBEaXNwbGF5IHNlbnNpYmxlIGRlZmF1bHRzIGFuZCBsaW1pdHMgZm9yIHRoZSB2YnItbWluL21heC9tZWFuIHByb3BlcnRpZXMuIEZpeCB0aGUgJ2hhcmQtbGltaXQnIFZCLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NsYXNzX2luaXQpLCAoZ3N0X2xhbWVfaW5pdCksCgkgIChnc3RfbGFtZV9zZXR1cCk6CgkgIERpc3BsYXkgc2Vuc2libGUgZGVmYXVsdHMgYW5kIGxpbWl0cyBmb3IgdGhlCgkgIHZici1taW4vbWF4L21lYW4gcHJvcGVydGllcy4gRml4IHRoZSAnaGFyZC1saW1pdCcgVkJSIG1pbgoJICBwcm9wZXJ0eSAtIGl0J3Mgc3VwcG9zZWQgdG8gYmUgYSBib29sZWFuIDAvMSB2YWx1ZS4KCjIwMDctMDItMjggMTY6MDE6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBJbml0aWFsaXNlIHRoZSB2YXJpYWJsZXMgc28gZ2NjIGRvZXNuJ3QgY29tcGxhaW4gYWJvdXQgcG9zc2libHkgdW5pbml0aWFsaXNlZCB1c2VzLCBldmVuIHRob3VnaCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgSW5pdGlhbGlzZSB0aGUgdmFyaWFibGVzIHNvIGdjYyBkb2Vzbid0IGNvbXBsYWluIGFib3V0IHBvc3NpYmx5CgkgIHVuaW5pdGlhbGlzZWQgdXNlcywgZXZlbiB0aG91Z2ggdGhleSBjYW4ndCBhY3R1YWxseSBoYXBwZW4uCgoyMDA3LTAyLTI4IDEyOjU5OjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogYWRkIHRlc3QgZm9yIHN0YXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoc3RhdGVzX3N1aXRlKToKCSAgYWRkIHRlc3QgZm9yIHN0YXRlcwoKMjAwNy0wMi0yOCAxMDo1ODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFkZCBuZXcgdmlkZW9maWx0ZXIgY2hlY2sgdG8gLmN2c2lnbm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIG5ldyB2aWRlb2ZpbHRlciBjaGVjayB0byAuY3ZzaWdub3JlLgoKMjAwNy0wMi0yOCAxMDo1NDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGNvbWJpbmVkIGZsb3cgcmV0dXJuLiBGaXhlcyAjNDEyNjA4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApLCAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIEZpeCBjb21iaW5lZCBmbG93IHJldHVybi4gRml4ZXMgIzQxMjYwOC4KCjIwMDctMDItMjggMTA6NDE6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06IERpc3QgaGVhZGVyLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICBEaXN0IGhlYWRlci4uCgoyMDA3LTAyLTI4IDEwOjI5OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6IEFkZCBoZWFkZXIgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSAgQWRkIGhlYWRlciB0b28uCgoyMDA3LTAyLTI4IDEwOjE3OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3ZpZGVvZmlsdGVyLzogUG9ydCBnYW1tYSBmaWx0ZXIgdG8gMC4xMC4gRml4ZXMgIzQxMjcwNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzogKGdzdF9nYW1tYV9iYXNlX2luaXQpLAoJICAoZ3N0X2dhbW1hX2NsYXNzX2luaXQpLCAoZ3N0X2dhbW1hX2luaXQpLCAoZ3N0X2dhbW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2FtbWFfZ2V0X3Byb3BlcnR5KSwgKGdzdF9nYW1tYV9jYWxjdWxhdGVfdGFibGVzKSwKCSAgKG9pbF90YWJsZWxvb2t1cF91OCksIChnc3RfZ2FtbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2dhbW1hX3BsYW5hcjQxMV9pcCksIChnc3RfZ2FtbWFfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgUG9ydCBnYW1tYSBmaWx0ZXIgdG8gMC4xMC4gRml4ZXMgIzQxMjcwNC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOiAoc2V0dXBfZmlsdGVyKSwKCSAgKGNsZWFudXBfZmlsdGVyKSwgKGNoZWNrX2ZpbHRlciksIChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2JhbGFuY2Vfc3VpdGUpLCAodmlkZW9mbGlwX3N1aXRlKSwgKGdhbW1hX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdmlkZW9maWx0ZXJzLgoKMjAwNy0wMi0yOCAxMDowNjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBhbm90aGVyIGludGVyZXN0aW5nIHRlc3QgdXJsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgYW5vdGhlciBpbnRlcmVzdGluZyB0ZXN0IHVybC4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpOgoJICBEb24ndCBhbGxvdyBnZXR0aW5nIGhlYWRlciBmaWVsZHMgZnJvbSBkYXRhIHBhY2tldHMuCgoyMDA3LTAyLTI3IDIzOjQzOjA4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi4qOiBBZGQgYSBwcm9wZXJ0eSBmb3IgdXNlcm5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2luaXQpLCAoZ3N0X3Nob3V0MnNlbmRfc3RhcnQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfc2V0X3Byb3BlcnR5KSwgKGdzdF9zaG91dDJzZW5kX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgQWRkIGEgcHJvcGVydHkgZm9yIHVzZXJuYW1lLgoKMjAwNy0wMi0yNyAxMjowMjowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgoyMDA3LTAyLTI3IDExOjU5OjIxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudAoKMjAwNy0wMi0yNyAxMTozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5IG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seQoJICBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCB3aXRoaW4gYW4gTlNBcHAgKHdoaWNoIGhhcyBhbHJlYWR5IGdvdAoJICBhIGNvY2EgZXZlbnQgbG9vcCkuCgkgIFJlbW92ZSBhbGwgdW51c2VkIGNvZGUuCgoyMDA3LTAyLTI2IDEyOjA3OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwL01ha2VmaWxlLmFtOiBGaXggbWFrZSBjaGVjayB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICBGaXggbWFrZSBjaGVjayB0b28uCgoyMDA3LTAyLTI2IDEwOjAwOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwL2Jhc2U2NC4qOiBDb21taXQgbWlzc2luZyBmaWxlcyBmb3IgYmFzZTY0IGVuY29kaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9iYXNlNjQuYzogKHV0aWxfYmFzZTY0X2VuY29kZSk6CgkgICogZ3N0L3J0c3AvYmFzZTY0Lmg6CgkgIENvbW1pdCBtaXNzaW5nIGZpbGVzIGZvciBiYXNlNjQgZW5jb2RpbmcuCgoyMDA3LTAyLTI0IDIyOjU3OjQ5ICswMDAwICBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWVAdmlhLmVjcC5mcj4KCgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJyAoIzQxMDk5NykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWUgYXQgdmlhIGVjcCBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnICgjNDEwOTk3KQoKMjAwNy0wMi0yNCAyMjo1Mjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoKMjAwNy0wMi0yMyAxOToxMjo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC86IGdfYmFzZTY0X2VuY29kZSBpcyBhIEdMaWIgMi4xMiBmdW5jdGlvbi4gVXNlIGFuIGVxdWl2YWxlbnQgdGFrZW4gZnJvbSBpY2VjYXN0IHRvIHJlcGxhY2UgaXQuIFJlbGljZW5zZWQgZnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGFwcGVuZF9hdXRoX2hlYWRlciksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fc2V0X2F1dGgpOgoJICBnX2Jhc2U2NF9lbmNvZGUgaXMgYSBHTGliIDIuMTIgZnVuY3Rpb24uIFVzZSBhbiBlcXVpdmFsZW50IHRha2VuCgkgIGZyb20gaWNlY2FzdCB0byByZXBsYWNlIGl0LiBSZWxpY2Vuc2VkIGZyb20gR1BMIGNvdXJ0ZXN5IG9mIE1pa2UKCSAgU21pdGguCgoyMDA3LTAyLTIzIDE4OjEyOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwLzogSW1wbGVtZW50IHNpbXBsZSBCYXNpYyBBdXRoZW50aWNhdGlvbiBzdXBwb3J0IHNvIHRoYXQgdXJscyBsaWtlIHJ0c3A6Ly91c2VyOnBhc3NAaG9zdG5hbWUvcnRzcHN0cmVhbSB3b3JrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKHJ0c3BfYXV0aF9tZXRob2RfdG9fc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKSwgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChhcHBlbmRfYXV0aF9oZWFkZXIpLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpLCAocnRzcF9jb25uZWN0aW9uX3NldF9hdXRoKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfZ2V0X3JlcXVlc3RfdXJpKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIEltcGxlbWVudCBzaW1wbGUgQmFzaWMgQXV0aGVudGljYXRpb24gc3VwcG9ydCBzbyB0aGF0IHVybHMgbGlrZQoJICBydHNwOi8vdXNlcjpwYXNzQGhvc3RuYW1lL3J0c3BzdHJlYW0gd29yayBvbiBob3N0cyB0aGF0IHJlcXVpcmUKCSAgYXV0aGVudGljYXRpb24uCgoyMDA3LTAyLTIyIDE3OjUzOjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgRml4IHNlZ2ZhdWx0IHdoZW4gb3BwZW5pbmcgYSByYWRpbyBkZXZpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggc2VnZmF1bHQgd2hlbiBvcHBlbmluZyBhIHJhZGlvIGRldmljZS4KCjIwMDctMDItMjIgMTQ6MzU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBsZXZlbCBmb3IgbXVsdGktY2hhbm5lbCBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfY2FwcyksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBzeXMvdjRsMi9SRUFETUU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGxldmVsIGZvciBtdWx0aS1jaGFubmVsIGNhc2UuCgoyMDA3LTAyLTIxIDE2OjAyOjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogRml4IHVwIGJpdHJhdGUgY2hlY2tpbmcgbWFjcm8uICBNYWtlIGl0IGdpdmUgdXMgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2xhbWVfc2V0X3Byb3BlcnR5KSwgKGdzdF9sYW1lX3NldHVwKToKCSAgRml4IHVwIGJpdHJhdGUgY2hlY2tpbmcgbWFjcm8uICBNYWtlIGl0IGdpdmUgdXMgYQoJICBHU1RfRUxFTUVOVF9XQVJOSU5HIG1lc3NhZ2Ugc28gdGhlIGFwcGxpY2F0aW9uIGhhcyBhIGNoYW5jZSBvZgoJICByZXBvcnRpbmcgdGhpcyB0byB0aGUgdXNlci4gIE1vdmUgdGhlIGNoZWNraW5nIHRvIF9zZXR1cCwgc28gd2UKCSAgYXJlIHN1cmUgaXQgcnVucyBpbiB0aGUgUkVBRFkgc3RhdGUsIHdoZW4gd2UgaG9wZSB0byBoYXZlIGEgcGlwZWxpbmUKCSAgYW5kIGEgYnVzIHRoYXQgaXMgbm90IGZsdXNoaW5nLgoJICBUaGlzIGZpeGVzIGUuZy4gdXNpbmcgOTYga2JpdC9zZWMgYXMgYSBiaXRyYXRlLgoKMjAwNy0wMi0yMSAxMDoxODoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFVzZSBmdW5jdGlvbiBwb2ludGVyIGZvciBwcm9jZXNzIGZ1bmN0aW9uIGFuZCBhZGQgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIGZsb2F0IGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KSwgKGdzdF9sZXZlbF9zZXRfY2FwcyksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgVXNlIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIHByb2Nlc3MgZnVuY3Rpb24gYW5kIGFkZCBwcm9jZXNzIGZ1bmN0aW9ucwoJICBmb3IgZmxvYXQgYXVkaW8uCgoyMDA3LTAyLTIwIDIxOjM0OjAwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgIEFkZCBhIG5ldyB3YXZlZm9ybSBwbHVnaW4gd2hpY2ggaW5jbHVkZXMgYW4gYXVkaW8gc2luawoJICBlbGVtZW50IHVzaW5nIHRoZSBXYXZlRm9ybSB3aW4zMiBBUEkuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCB0aGUgbmV3IHByb2plY3QgZmlsZSBmb3JtIHdhdmVmb3JtIHBsdWdpbi4KCjIwMDctMDItMTkgMTI6MjI6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogUmVhZGQgR1NUX0VMRU1FTlRfRVJST1IgaWYgd2UgY2FuJ3QgcmVlbnF1ZSBidWZmZXJzIGFmdGVyIEVJTywgZml4ZXMgIzQwNzM2OQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgUmVhZGQgR1NUX0VMRU1FTlRfRVJST1IgaWYgd2UgY2FuJ3QgcmVlbnF1ZSBidWZmZXJzIGFmdGVyIEVJTywKCSAgZml4ZXMgIzQwNzM2OQoKMjAwNy0wMi0xOCAxODowMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvOiBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW1vdmUgdW51c2VkL3VudGVzdGVkIGNvZGUgKHJlbmRlcmluZyB0byBhbiBleHRlcm4gc3VyZmFjZSwKCSAgeXV2IGZvcm1hdCByZW5kZXJpbmcpLlVzZSBHU1RfKERFQlVHLyopX09CSkVDVCBtYWNyb3MKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0ZHJhd3NpbmsgdG8gZ3N0X2RpcmVjdGRyYXdfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICBGaXggYSBidWcgaW4gZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLCBtZW1jcHkgbGluZSBieSBsaW5lCgkgIHJlc3BlY3RpbmcgZGVzdGluYXRpb24gc3VyZmFjZSBzdHJpZGUuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0c291bmRzaW5rIHRvIGdzdF9kaXJlY3Rzb3VuZF9zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgY29uZmlnLmguaW4KCjIwMDctMDItMTggMTM6MjQ6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgc2ltcGxlIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzogKGdzdF9ydHBfbXAydF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wMnRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXAydF9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX21wMnRfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSAgQWRkZWQgc2ltcGxlIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXlsb2FkZXIuCgoyMDA3LTAyLTE2IDEyOjMyOjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIGV4YW1wbGUgSDI2NCBydHNwIHVybC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIGV4YW1wbGUgSDI2NCBydHNwIHVybC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNvbnZlcnQgdmFsdWVzIHRvIGxvd2VyY2FzZSBvciB3ZSBtaWdodCBtZXNzIHVwIGJhc2U2NCBlbmNvZGVkCgkgIHByb3BlcnRpZXMuCgoyMDA3LTAyLTE2IDEyOjMwOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IEZpeCBjYXNlIG9mIHN0cmluZyBwYXJhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBGaXggY2FzZSBvZiBzdHJpbmcgcGFyYW1zLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBkZXBheWxvYWRlciwgc3VwcG9ydCBtb3JlIHBhY2tldCB0eXBlcy4KCSAgQWRkIHN5bmMgY29kZXMgdG8gbWFrZSBzdXJlIHRoZSBwYWNrZXRpemVyIGNhbiBkbyBpdHMgam9iLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBjYXBzIGNhc2UgYWdhaW4uCgoyMDA3LTAyLTE1IDEyOjI2OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogU2V0IHJpZ2h0IGNhcHMgb24gb3V0cHV0IGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIFNldCByaWdodCBjYXBzIG9uIG91dHB1dCBidWZmZXJzLgoKMjAwNy0wMi0xNCAxNzowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogQ2xlYXIgc3RhY2sgYWxsb2NhdGVkIFNEUE1lZGlhIHN0cnVjdCBiZWZvcmUgY2FsbGluZyBfaW5pdCgpIG9uIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfcGFyc2VfbGluZSk6CgkgIEFzIHNwb3R0ZWQgYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT46CgkgIENsZWFyIHN0YWNrIGFsbG9jYXRlZCBTRFBNZWRpYSBzdHJ1Y3QgYmVmb3JlIGNhbGxpbmcgX2luaXQoKSBvbiBpdC4KCSAgQ2xhcmlmeSB0aGlzIGluIHRoZSBkb2NzIGFzIHdlbGwuCgoyMDA3LTAyLTE0IDE3OjAxOjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiBEb24ndCByZXNldCB0aGUgcHJvZmlsZSB3aGVuIGdvaW5nIHN3aXRjaGluZyBzdGF0ZXMsIGFzIGl0IG1ha2VzIHRoZSBlbGVtZW50IG5vbi1yZXVzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGRvX2NoYW5nZV9jaGlsZCk6CgkgIERvbid0IHJlc2V0IHRoZSBwcm9maWxlIHdoZW4gZ29pbmcgc3dpdGNoaW5nIHN0YXRlcywgYXMgaXQgbWFrZXMKCSAgdGhlIGVsZW1lbnQgbm9uLXJldXNhYmxlLgoKMjAwNy0wMi0xNCAxNToyNDo1MCArMDAwMCAganAubGl1IDxqcF9saXVAYXN0cm9jb20uY24+CgoJICBnc3QvcnRzcC9zZHBtZXNzYWdlLio6IEZpeCBtZW1vcnkgbWFuYWdlbWVudCBvZiBTRFAgbWVzc2FnZXMuIEZpeGVzICM0MDc3OTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9vcmlnaW5faW5pdCksIChzZHBfY29ubmVjdGlvbl9pbml0KSwKCSAgKHNkcF9iYW5kd2lkdGhfaW5pdCksIChzZHBfdGltZV9pbml0KSwgKHNkcF96b25lX2luaXQpLAoJICAoc2RwX2tleV9pbml0KSwgKHNkcF9hdHRyaWJ1dGVfaW5pdCksIChzZHBfbWVzc2FnZV9pbml0KSwKCSAgKHNkcF9tZXNzYWdlX3VuaW5pdCksIChzZHBfbWVzc2FnZV9mcmVlKSwgKHNkcF9tZWRpYV9pbml0KSwKCSAgKHNkcF9tZWRpYV91bmluaXQpLCAoc2RwX21lZGlhX2ZyZWUpLCAoc2RwX21lc3NhZ2VfYWRkX21lZGlhKSwKCSAgKHNkcF9wYXJzZV9saW5lKToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBqcC5saXUgPGpwX2xpdSBhdCBhc3Ryb2NvbSBkb3QgY24+CgkgIEZpeCBtZW1vcnkgbWFuYWdlbWVudCBvZiBTRFAgbWVzc2FnZXMuIEZpeGVzICM0MDc3OTMuCgoyMDA3LTAyLTE0IDEyOjA3OjAxICswMDAwICB6aGFuZ2ZlaSBnYW8gPGdhb3poYW5nZmVpQHlhaG9vLmNvbS5jbj4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFsbG93IG11eGluZyB2aWRlby94LWgyNjQgKHdhcyBhbHJlYWR5IGluIHRoZSBjYXBzKS4gRml4ZXMgIzQwNzc4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB6aGFuZ2ZlaSBnYW8gPGdhb3poYW5nZmVpQHlhaG9vLmNvbS5jbj4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2Fwcyk6CgkgIEFsbG93IG11eGluZyB2aWRlby94LWgyNjQgKHdhcyBhbHJlYWR5IGluIHRoZSBjYXBzKS4gRml4ZXMgIzQwNzc4MC4KCjIwMDctMDItMTQgMTA6MDk6MTIgKzAwMDAgIGpwLmxpdSA8anBfbGl1QGFzdHJvY29tLmNuPgoKCSAgZ3N0L3J0c3AvcnRzcHVybC5jOiBGaXggcGFyc2luZyBvZiBwYXNzd29yZCBmaWVsZCBpbiB1cmwuIEZpeGVzICM0MDc3OTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieToganAubGl1IDxqcF9saXUgYXQgYXN0cm9jb20gZG90IGNuPgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgRml4IHBhcnNpbmcgb2YgcGFzc3dvcmQgZmllbGQgaW4gdXJsLiBGaXhlcyAjNDA3Nzk3LgoKMjAwNy0wMi0xNCAwOTo1NTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBVcGRhdGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2Rlc3Ryb3lfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9mbXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9jaGFpbiksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBVcGRhdGUgZG9jcy4KCSAgVXNlIGJvaWxlcnBsYXRlLgoJICBWYXJpb3VzIGNvZGUgY2xlYW51cHMuCgkgIFdoZW4gdGhlIGJpdHJhdGUgaXMgbm90IGtub3duIChicHMgPT0gMCBvciBjb21wcmVzc2VkIGZvcm1hdHMpIGxldAoJICBkb3duc3RyZWFtIGVsZW1lbnQgZ3Vlc3RpbWF0ZSB0aGUgZHVyYXRpb24gYW5kIHBvc2l0aW9uIGFuZCBkb24ndAoJICBnZW5lcmF0ZSB0aW1lc3RhbXBzIG9yIGR1cmF0aW9ucy4gRml4ZXMgIzQwNTIxMy4KCSAgRml4IEVPUyBhbmQgRVJST1IgY29uZGl0aW9ucyBpbiBjaGFpbiBtb2RlLCB3ZSBqdXN0IG5lZWQgdG8gZm9yd2FyZCB0aGUKCSAgZXJyb3IgZmxvd3JldHVybiB1cHN0cmVhbS4KCjIwMDctMDItMTMgMTY6MDE6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmUtZmFjdG9yIHRoZSBnY29uZmF1ZGlvc2luayBpbnRvIGEgIkdzdFN3aXRjaFNpbmsiIGJhc2UgY2xhc3MgYW5kIGEgY2hpbGQgdGhhdCBpbXBsZW1lbnRzIHRoZSBHQ29uZiBrZXkgbW9uaXRvcmluZy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9nZXRfc3RyaW5nKSwKCSAgKGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUpLCAoZ3N0X2djb25mX3NldF9zdHJpbmcpLAoJICAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19yZXNldCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2Rpc3Bvc2UpLCAoZG9fY2hhbmdlX2NoaWxkKSwKCSAgKGdzdF9nY29uZl9zd2l0Y2hfcHJvZmlsZSksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoY2JfY2hhbmdlX2NoaWxkKSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KSwKCSAgKGdzdF9zd2l0Y2hfc2lua19pbml0KSwgKGdzdF9zd2l0Y2hfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpLCAoZ3N0X3N3aXRjaF9zaW5rX3NldF9jaGlsZCksCgkgIChnc3Rfc3dpdGNoX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9zd2l0Y2hfc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfc3dpdGNoX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGVhcl9raWQpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsZWFyX2tpZCksIChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgUmUtZmFjdG9yIHRoZSBnY29uZmF1ZGlvc2luayBpbnRvIGEgIkdzdFN3aXRjaFNpbmsiIGJhc2UgY2xhc3MKCSAgYW5kIGEgY2hpbGQgdGhhdCBpbXBsZW1lbnRzIHRoZSBHQ29uZiBrZXkgbW9uaXRvcmluZy4gVGhlIGVuZCBnb2FsIG9mCgkgIHRoaXMgaXMgYW4gYXVkaW8gc2luayB0aGF0IGNhbiBiZSBjaGFuZ2VkIG9uIHRoZSBmbHksIGJ1dCBhdCB0aGUKCSAgbW9tZW50IGl0IHN0aWxsIG9ubHkgY2hhbmdlcyBvbiB0aGUgbmV4dCBSRUFEWSB0cmFuc2l0aW9uLgoKMjAwNy0wMi0xMyAxMTo1NzoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQdXQgZGVidWcgc3R1ZmYgaW50byAjaWZuZGVmIEdTVF9ESVNBQkxFX0RFQlVHICNlbmRpZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIFB1dCBkZWJ1ZyBzdHVmZiBpbnRvICNpZm5kZWYgR1NUX0RJU0FCTEVfREVCVUcgI2VuZGlmCgoyMDA3LTAyLTEzIDA5OjQ2OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4KCjIwMDctMDItMTIgMjM6MzU6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9ub3Njb3BlLzogRml4IGNvcHknbidwYXN0ZS1vIGluIGRvY3MgY2h1bmsuIEFsc28gYWRkIHNvbWUgbWlzc2luZyBDRkxBR1MgKGJ1dCBubyBMSUJTLCBzaW5jZSB3ZSBvbmx5IHVzZSBkZWZpbmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBGaXggY29weSduJ3Bhc3RlLW8gaW4gZG9jcyBjaHVuay4gQWxzbyBhZGQgc29tZSBtaXNzaW5nIENGTEFHUwoJICAoYnV0IG5vIExJQlMsIHNpbmNlIHdlIG9ubHkgdXNlIGRlZmluZXMgZnJvbSB0aGUgaGVhZGVycykuCgoyMDA3LTAyLTEyIDIzOjI3OjMxICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggbWFzc2l2ZSBtZW1vcnkgbGVhayB3aGVuIG9wZXJhdGluZyBpbiBzdHJlYW1pbmcgbW9kZSBkdWUgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3ICA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgRml4IG1hc3NpdmUgbWVtb3J5IGxlYWsgd2hlbiBvcGVyYXRpbmcgaW4gc3RyZWFtaW5nIG1vZGUgZHVlIHRvCgkgIEdTVF9CVUZGRVJfTUFMTE9DREFUQSgpIG5vdCBiZWluZyBzZXQgb24gbmV3bHktY3JlYXRlZCBidWZmZXJzLgoJICBGaXhlcyAjNDA3MDU3LgoKMjAwNy0wMi0xMiAxNToyOTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBTYXZlIHNvbWUgbWVtb3J5ICg4JSkgYnkgcmVwYWNraW5nIHRoZSBpbmRleCBlbnRyeSBzdHJ1Y3R1cmUgKG1vcmUgdG8gY29tZSkuIEFkZCBtb3JlIEZJWE1FcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFNhdmUgc29tZSBtZW1vcnkgKDglKSBieSByZXBhY2tpbmcgdGhlIGluZGV4IGVudHJ5IHN0cnVjdHVyZSAobW9yZSB0bwoJICBjb21lKS4gQWRkIG1vcmUgRklYTUVzIHRvIHF1ZXN0aW9uYWJsZSBwYXJ0cy4KCjIwMDctMDItMTIgMTI6NTc6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogTW9yZSBGSVhNRSBjb21tZW50cyBhbmQgbWVzc2FnaW5nIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fY2FwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgIE1vcmUgRklYTUUgY29tbWVudHMgYW5kIG1lc3NhZ2luZyBjaGFuZ2VzLgoKMjAwNy0wMi0xMiAxMjo0MzowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS4qOiBJbXByb3ZlZCBkb2NzIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksCgkgIChnc3RfZ29vbV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgSW1wcm92ZWQgZG9jcyBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpOgoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX2NoYWluKSwgKGdzdF9tb25vc2NvcGVfY2hhbmdlX3N0YXRlKToKCSAgSW1wcm92ZWQgZG9jcyBzb3VyY2UgY2xlYW51cHMuCgoyMDA3LTAyLTEyIDEwOjI5OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnLzogQWRkIGNvZGUgZm9yIGEgcHVzaGZpbGVzcmMgZWxlbWVudCB0aGF0IGltcGxlbWVudHMgYSBwdXNoZmlsZTovLyBVUkkgaGFuZGxlciwgdG8gbWFrZSBkZWJ1Z2dpbmcgcHVzaC1tb2RlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuYzoKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuaDoKCSAgQWRkIGNvZGUgZm9yIGEgcHVzaGZpbGVzcmMgZWxlbWVudCB0aGF0IGltcGxlbWVudHMgYSBwdXNoZmlsZTovLyBVUkkKCSAgaGFuZGxlciwgdG8gbWFrZSBkZWJ1Z2dpbmcgcHVzaC1tb2RlIG9wZXJhdGlvbiBvZiBkZW11eGVyL2RlY29kZXJzCgkgIHRoYXQgc3VwcG9ydCBib3RoIGVhc2llciBpbiBjb25uZWN0aW9uIHdpdGggc2Vlay9wbGF5YmluL2V0Yy4KCSAgVGhlIGVsZW1lbnQgaXNuJ3QgcmVnaXN0ZXJlZCBhdCB0aGUgbW9tZW50LgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDItMTEgMTI6NTc6NDcgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IENvbW1lbnQgYSAjaWYgMCBpbiBjYXBzIHRlbXBsYXRlIGRlZmluaXRpb24gYXMgVlM2IHNlZW1zIHRvIGRvIG5vdCBzdXBwb3J0IGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBDb21tZW50IGEgI2lmIDAgaW4gY2FwcyB0ZW1wbGF0ZSBkZWZpbml0aW9uIGFzIFZTNiBzZWVtcyB0bwoJICBkbyBub3Qgc3VwcG9ydCBpdC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6KGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoocnRzcF9jb25uZWN0aW9uX3NlbmQpOgoJICBNb3ZlIHZhcmlhYmxlcyBkZWNsYXJhdGlvbiBiZWZvcmUgdGhlIGZpcnN0IGluc3RydWN0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6KHJ0c3Bfc3RycmVzdWx0KToKCSAgRG9uJ3QgdXNlIGhzdHJlcnJvciBmb3IgZXJyb3IgbG9nIG9uIEdfT1NfV0lOMzIgYnVpbGQgYXMgaXQncyBub3Qgc3VwcG9ydGVkLgoJICBBbmQgZG9uJ3QgaW5jbHVkZSBuZXRkYi5oIGZvciBHX09TX1dJTjMyCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOihzZHBfcGFyc2VfbGluZSk6CgkgIFRoaXMgaW5pdGlhbGl6YXRpb24gU0RQTWVkaWEgbm1lZGlhID0gey5tZWRpYSA9IE5VTEwgfTsgaXMgbm90IHN1cHBvcnRlZAoJICBieSBWUzYgdGhlbiB1c2UgYW4gb3RoZXIgd2F5IHRvIGluaXRpYWxpemUgU0RQTWVkaWEgc3RydWN0dXJlLgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwbmV0dXRpbHMuaDoKCSAgRG8gbm90IGluY2x1ZGUgPHN5cy90aW1lLmg+IGZvciBHX09TX1dJTjMyCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRGVmaW5lIHNvY2tsZW5fdCBhcyBpbnQgZm9yIEdfT1NfV0lOMzIKCSAgKiB3aW4vY29tbW9uL2NvbmZpZy5oLmluOgoJICBVbmRlZiBIQVZFX05FVElORVRfSU5fSAoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSAgQWRkIGFuZCB1cGRhdGUgcHJvamVjdCBmaWxlcy4KCSAgKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJICAqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmg6CgkgIEFkZCBhIGNvcHkgb2YgdWRwIGVudW10eXBlcyB0byB3aW4zMi9jb21tb24gYXMgaW4gY29yZQoJICBhbmQgYmFzZS4KCjIwMDctMDItMTEgMTA6NTM6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWN0aXZhdGUgbW9ub3Njb3BlIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWVuYWJsZS1leHBlcmltZW50YWwuIEZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFjdGl2YXRlIG1vbm9zY29wZSB3aGVuIGJ1aWxkaW5nIHdpdGggLS1lbmFibGUtZXhwZXJpbWVudGFsLiBGaXgKCSAgLS1lbmFibGUtZXh0ZXJuYWwgY29uZmlndXJlIHN3aXRjaCBkZXNjcmlwdGlvbi4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOiAoZ3N0X3N1bmF1ZGlvbWl4ZXJfYmFzZV9pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19kaXNwb3NlKToKCSAgSGVscCBnc3QtaW5kZW50LgoKMjAwNy0wMi0wOSAxNjoyNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuKjogT24gcmVjZWl2aW5nIEVPUywgd2UgdHJ5IHRvIHB1c2ggYSBsYXN0IGJ1ZmZlciB3aXRoIHRoZSByZW1haW5pbmcgc2FtcGxlcy4gRG9uJ3QgZG8gdGhhdCBpZiB3ZSBnby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX2V2ZW50KSwgKGdzdF9sYW1lX2NoYWluKSwKCSAgKGdzdF9sYW1lX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBPbiByZWNlaXZpbmcgRU9TLCB3ZSB0cnkgdG8gcHVzaCBhIGxhc3QgYnVmZmVyIHdpdGggdGhlIHJlbWFpbmluZwoJICBzYW1wbGVzLiBEb24ndCBkbyB0aGF0IGlmIHdlIGdvdCBhbiB1bmNsZWFuIGZsb3cgcmV0dXJuIG9uIHRoZSBsYXN0CgkgIGdzdF9wYWRfcHVzaCgpLCBkb3duc3RyZWFtIG1pZ2h0IG5vdCBoYW5kbGUgdGhpcyB2ZXJ5IGdyYWNlZnVsbHkKCSAgKHNlZSAjNDAzMTY4KS4KCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzogKGdzdF9tcDNwYXJzZV9jaGFpbik6CgkgIFBhc3MgZmxvdyByZXR1cm5zIHVwc3RyZWFtIChoZWxwcyAjNDAzMTY4KS4KCjIwMDctMDItMDkgMDk6MjQ6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+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+CgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19lbmNvZGUpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChpaXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9oZWFkZXJfbG9hZCksCgkgIChnc3RfbnV2X2RlbXV4X3N0cmVhbV9leHRlbmRfaGVhZGVyKToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhCgkgIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoKMjAwNi0xMi0zMCAyMDowMTozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IHdhcm4gd2hlbiBvdXRnb2luZyBzYW1wbGUgcmF0ZSBpcyBkaWZmZXJlbnQgZnJvbSBpbmNvbWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2xhbWVfY2hhaW4pOgoJICB3YXJuIHdoZW4gb3V0Z29pbmcgc2FtcGxlIHJhdGUgaXMgZGlmZmVyZW50IGZyb20gaW5jb21pbmcKCjIwMDYtMTItMzAgMTI6NDQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UgZGV0YWlsaW5nIHdoaWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpOgoJICBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZQoJICBkZXRhaWxpbmcgd2hpY2ggZWxlbWVudCBpdCBhY3R1YWxseSBpcyB0aGF0J3MgbWlzc2luZyAoIzM5MDY3MykuCgoyMDA2LTEyLTI0IDExOjM2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IHByZXN1bWFibHkgY29weSduJ3Bhc3RvIGZvciAxNmJwcCBkZXB0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCk6CgkgIEZpeCBwcmVzdW1hYmx5IGNvcHknbidwYXN0byBmb3IgMTZicHAgZGVwdGguCgoyMDA2LTEyLTI0IDExOjI0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBUaGUgInNpZ25lZCIgZmllbGQgaW4gYXVkaW8gY2FwcyBpcyBvZiBib29sZWFuIHR5cGUsIHRyeWluZyB0byB1c2UgZ3N0X3N0cnVjdHVyZV9nZXRfaW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBUaGUgInNpZ25lZCIgZmllbGQgaW4gYXVkaW8gY2FwcyBpcyBvZiBib29sZWFuIHR5cGUsIHRyeWluZyB0byB1c2UKCSAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50KCkgdG8gZXh0cmFjdCBpdCB3aWxsIGZhaWwuIEZpeGluZyB0aGlzIG1ha2VzCgkgIG1hdHJvc2thbXV4IGFjY2VwdCByYXcgYXVkaW8gaW5wdXQgKCMzODcxMjEpICh1c2UgYXQgeW91ciBvd24gcmlzawoJICB0aG91Z2gsIGR1ZSB0byB0aGUgbWF0cm9za2Egc3BlYyBiZWluZyBub3QgZW50aXJlbHkgdXNlZnVsIGluIHRoaXMKCSAgcmVzcGVjdCkuCgkgIEFsc28gZml4IHVwIHJhdyBhdWRpbyBzdHJ1Y3R1cmVzIGluIHRlbXBsYXRlIGNhcHMgc28gdGhhdCB0aGV5CgkgIHJlcHJlc2VudCB3aGF0IG91ciBzZXRjYXBzIGZ1bmN0aW9uIHdpbGwgYWN0dWFsbHkgYWNjZXB0LCBzbyB0aGF0CgkgIGNvbnZlcnRlcnMga25vdyB3aGF0IHRvIGNvbnZlcnQgdG8uCgkgIEZpbmFsbHksIGRvbid0IGZhaWwgaWYgdGhlcmUgaXNuJ3QgYW4gImVuZGlhbm5lc3MiIGZpZWxkIGluIDgtYml0CgkgIFBDTSBjYXBzLgoKMjAwNi0xMi0yMiAxMDoxNToyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIyIDEwOjE1OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoY2xlYW51cF9wYW5vcmFtYSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9hdmltdXgpLCAoY2xlYW51cF9hdmltdXgpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoc2V0dXBfbGV2ZWwpLCAoY2xlYW51cF9sZXZlbCk6CgkgIHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMTc6MDM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgMC4xMC41IGRvYXAgZW50cnkKCj09PSByZWxlYXNlIDAuMTAuNCA9PT0KCjIwMDYtMTItMjEgMTU6NDU6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgID09PSByZWxlYXNlIDAuMTAuNCA9PT0KCSAgMjAwNi0xMi0yMSAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCj09PSByZWxlYXNlIDAuMTAuNSA9PT0KCjIwMDYtMTItMjEgMTU6NDA6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC41LCAiVGhlIFBhdGggb2YgVGhvcm5zIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgPT09IHJlbGVhc2UgMC4xMC41ID09PQoJICAyMDA2LTEyLTIxICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjUsICJUaGUgUGF0aCBvZiBUaG9ybnMiCgoyMDA2LTEyLTIxIDE0OjAzOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMTI6NDg6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChjbGVhbnVwX3Bhbm9yYW1hKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX2F2aW11eCksIChjbGVhbnVwX2F2aW11eCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChzZXR1cF9sZXZlbCksIChjbGVhbnVwX2xldmVsKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAwODoyMDoxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMDg6MTU6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoY2xlYW51cF9wYW5vcmFtYSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9hdmltdXgpLCAoY2xlYW51cF9hdmltdXgpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoc2V0dXBfbGV2ZWwpLCAoY2xlYW51cF9sZXZlbCk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTE4IDE3OjExOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfcHJvZ3Jlc3MpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtCgkgIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0YTsgaW5zdGVhZCwgcG9zdCAicHJvZ3Jlc3MiIGVsZW1lbnQKCSAgbWVzc2FnZXMgYXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24uIEFwcHMgbWlnaHQgZ2V0IGNvbmZ1c2VkIGFuZCBkbwoJICBzaWxseSB0aGluZ3MgdG8gdGhlIHBpcGVsaW5lIHN0YXRlIGlmIHRoZXkgc2VlIGJ1ZmZlcmluZyBtZXNzYWdlcwoJICBmcm9tIGRpZmZlcmVudCBzb3VyY2VzIGFuZCBkb24ndCByZWFsaXplIHRoZXkgY29tZSBmcm9tIGRpZmZlcmVudAoJICBzb3VyY2VzICgjMzg3MTYwKS4KCjIwMDYtMTItMTggMTY6NDY6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRGlzYWJsZSBMQURQU0EsIGFzIGl0IGhhcyBtb3ZlZCB0byB0aGUgLWJhZCBtb2R1bGUgZm9yIHRoZSBkdXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBMQURQU0EsIGFzIGl0IGhhcyBtb3ZlZCB0byB0aGUgLWJhZCBtb2R1bGUgZm9yIHRoZSBkdXJhdGlvbi4KCjIwMDYtMTItMTggMTU6NTE6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyIGVycm9yIHN0YXRlIGFmdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOgoJICBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyCgkgIGVycm9yIHN0YXRlIGFmdGVyIHRoZSBmbHVzaC4gRml4ZXMgIzM3NDIxMwoKMjAwNi0xMi0xOCAxNTo0OTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSBvbiBvbmUgb2YgU3RlZmFuJ3MgY29tbWl0cyBmcm9tIEF1Z3VzdDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IG9uIG9uZSBvZiBTdGVmYW4ncyBjb21taXRzIGZyb20gQXVndXN0OgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgUXVpZXRseSAoYWNjaWRlbnRhbGx5KSBlbmFibGUgTEFEU1BBIGZvciBidWlsZGluZyBieSBkZWZhdWx0LAoJICBkZXNwaXRlIHRoZSBmYWN0IHRoYXQgaXQgZG9lc24ndCBtZWV0IHRoZSBwbHVnaW4gY2hlY2tsaXN0LgoJICAtLSBBZGRlZCBieSBKYW4gU2NobWlkdCAxOCBEZWMgMjAwNgoKMjAwNi0xMi0xOCAxMzo0MDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgR1NUX0VMRU1FTlRfV0FSTklORyBhbmQgZG9uJ3QgYWRkIHRoZSBwYWQuCgkgIEZpeCB0aGUgY2FzZSB3aGVyZSBpdCBkb2Vzbid0IGNoZWNrIGZvciBhIE5VTEwgcGFkIGluIHN0cmVhbWluZyBtb2RlLgoJICBGaXhlcyAjMzg3MTM3CgoyMDA2LTEyLTE4IDEyOjI3OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgRml4ZXMgIzM4NzEyMi4KCjIwMDYtMTItMTggMTA6MDI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQHVidW50dS5jb20+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6IFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjayBpbnN0YWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sKCSAgaW5zdGFsbHMuCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCB1YnVudHUgZG90IGNvbT4KCSAgRml4ZXM6ICMzODcwNzYKCjIwMDYtMTItMTcgMTk6NDI6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTEyLTE3IDA2OjExOjM5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogRGVjZW50IGVmZm9ydCBhdCBwb3J0aW5nIHRvIDAuMTAuICBOZWVkcyBjbGVhbnVwIG9uIE9TL1guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIERlY2VudCBlZmZvcnQgYXQgcG9ydGluZyB0byAwLjEwLiAgTmVlZHMgY2xlYW51cCBvbiBPUy9YLgoKMjAwNi0xMi0xNyAwNTowNzowNyArMDAwMCAgVmlqYXkgU2FudGhhbmFtIDx2aWpheUBzYW50aGFuYW0uZ21haWwuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogUHJlbGltaW5hcnkgcGF0Y2ggZm9yIHBvcnRpbmcgb3N4dmlkZW9zaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmlqYXkgU2FudGhhbmFtIDx2aWpheSBzYW50aGFuYW0gZ21haWwgY29tPgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBQcmVsaW1pbmFyeSBwYXRjaCBmb3IgcG9ydGluZyBvc3h2aWRlb3NpbmsKCjIwMDYtMTItMTYgMTY6MjE6MjYgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogSW50cm9kdWNlIHNvbWUgbG9ja2luZyBhcm91bmQgdGhlIHZpZGVvbWl4ZXIgc3RhdGUgc28gdGhhdCBpdCBkb2VzIG5vdCBjcmFzaCB3aGVuIGFkZGluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdF9mcmVlKSwKCSAgKGdzdF92aWRlb21peGVyX3Jlc2V0KSwgKGdzdF92aWRlb21peGVyX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmluYWxpemUpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX3JlbGVhc2VfcGFkKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBJbnRyb2R1Y2Ugc29tZSBsb2NraW5nIGFyb3VuZCB0aGUgdmlkZW9taXhlciBzdGF0ZSBzbyB0aGF0IGl0IGRvZXMgbm90CgkgIGNyYXNoIHdoZW4gYWRkaW5nL3JlbW92aW5nIHBhZHMuIEZpeGVzICMzODMwNDMuCgoyMDA2LTEyLTE2IDE1OjI1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIEltcGxlbWVudCBzZWVraW5nIHF1ZXJ5IHNvIGFwcHMgY2FuIHF1ZXJ5IHNlZWthYmlsaXR5IHByb3Blcmx5CgkgIChzZWUgIzM2NTQxNCkuIEZpeCBkdXJhdGlvbiBxdWVyeS4KCjIwMDYtMTItMTYgMTE6NDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IE1ha2Ugc3VyZSBsaWJjYWNhIGNhbiBhY3R1YWxseSBiZSB1c2VkIGluc3RlYWQgb2YganVzdCBjaGVja2luZyBmb3IgL3Vzci9iaW4vY2FjYS1jb25maWcsIHNvIHdlIGRvbid0IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBNYWtlIHN1cmUgbGliY2FjYSBjYW4gYWN0dWFsbHkgYmUgdXNlZCBpbnN0ZWFkIG9mIGp1c3QgY2hlY2tpbmcgZm9yCgkgIC91c3IvYmluL2NhY2EtY29uZmlnLCBzbyB3ZSBkb24ndCB3cm9uZ2x5IHRyeSB0byBidWlsZCBjYWNhc2luayB3aGVuCgkgIGNyb3NzLWNvbXBpbGluZyAoZml4ZXMgIzM4NDU4NykuCgoyMDA2LTEyLTE1IDEwOjU0OjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZGluZyBkb2FwIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkaW5nIGRvYXAgZmlsZQoKMjAwNi0xMi0xNCAxNjoyMDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogbGliZmxhYy0xLjEuMyBjaGFuZ2VkIEFQSSBhZ2FpbiwgYnV0IHdlIGNhbid0IGJ1aWxkIGFnYWluc3QgaXQgeWV0LCBzbyBtYWtlIHN1cmUgb3VyIGNoZWNrIGRvZXNuJ3QgdXNlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGxpYmZsYWMtMS4xLjMgY2hhbmdlZCBBUEkgYWdhaW4sIGJ1dCB3ZSBjYW4ndCBidWlsZCBhZ2FpbnN0IGl0IHlldCwKCSAgc28gbWFrZSBzdXJlIG91ciBjaGVjayBkb2Vzbid0IHVzZSBsaWJmbGFjLTEuMS4zIGFuZCBhZGQgYSBjb21tZW50CgkgIHRvIHRoaXMgZWZmZWN0LgoKMjAwNi0xMi0xNCAxNDoyNToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IEFkZCBzb21lIE5VTEwgcG9pbnRlciBjaGVja3MgKHBvc3NpYmx5IHJlbGF0ZWQgdG8gIzM4NTYyMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3F1YXJrdHZfcGxhbmV0YWJsZV9jbGVhcik6CgkgIEFkZCBzb21lIE5VTEwgcG9pbnRlciBjaGVja3MgKHBvc3NpYmx5IHJlbGF0ZWQgdG8gIzM4NTYyMykuCgoyMDA2LTEyLTE0IDEwOjE1OjI0ICswMDAwICBSb2xhbmQgS2F5IDxyb2xhbmQua2F5QG94LmNvbXBzb2MubmV0PgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBGaXggbGVhayAoYnkgY2FsbGluZyBsYW1lX2luaXRfcGFyYW1zKCkgYmVmb3JlIGxhbWVfY2xvc2UoKSk7IGhhbmRsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFJvbGFuZCBLYXkgIDxyb2xhbmQua2F5IGF0IG94IGNvbXBzb2MgbmV0PgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2luaXQpLCAoZ3N0X2xhbWVfY2hhaW4pLAoJICAoZ3N0X2xhbWVfc2V0dXApOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgRml4IGxlYWsgKGJ5IGNhbGxpbmcgbGFtZV9pbml0X3BhcmFtcygpIGJlZm9yZSBsYW1lX2Nsb3NlKCkpOyBoYW5kbGUKCSAgTlVMTCByZXR1cm4gZnJvbSBsYW1lX2luaXQoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzICMzODUzMTEuCgoyMDA2LTEyLTEzIDE3OjEyOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCjIwMDYtMTItMTIgMTg6NDU6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJbiBzdHJlYW1pbmcgbW9kZSwgaWYgdGhlIGZpcnN0IGJ1ZmZlciB3ZSBnZXQgZG9lc24ndCBoYXZlIGFuIG9mZnNldCwgZml4IGl0IHVwIHRvIGJlIDAsIG90aGVyd2lzZSB0cmltbWluZyB3b24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbl9wYXJzZV90YWcpLAoJICAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBJbiBzdHJlYW1pbmcgbW9kZSwgaWYgdGhlIGZpcnN0IGJ1ZmZlciB3ZSBnZXQgZG9lc24ndCBoYXZlIGFuCgkgIG9mZnNldCwgZml4IGl0IHVwIHRvIGJlIDAsIG90aGVyd2lzZSB0cmltbWluZyB3b24ndCB3b3JrIGxhdGVyIG9uCgkgIGFuZCB3ZSdsbCBiZSB0eXBlZmluZGluZyBhcHBsaWNhdGlvbi94LWlkMywgd2hpY2ggbWF5IHJlc3VsdCBpbgoJICBkZWNvZGViaW4gcGx1Z2dpbmcgYW4gZW5kbGVzcyBudW1iZXIgb2YgaWQzZGVtdXggZWxlbWVudHMgYXMgYQoJICBjb25zZXF1ZW5jZS4gRml4ZXMgIzM4NTAzMS4KCjIwMDYtMTItMTEgMjE6MjE6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiBJZ25vcmUgdGhlIGJ1ZmZlcl90aW1lIHRoZSBzb3VuZCBkZXZpY2UgcmVwb3J0cy4gVHVybnMgb3V0IGl0IGlzIHNvbWV0aW1lcyBjb21wbGV0ZWx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSk6CgkgIElnbm9yZSB0aGUgYnVmZmVyX3RpbWUgdGhlIHNvdW5kIGRldmljZSByZXBvcnRzLiBUdXJucyBvdXQgaXQgaXMKCSAgc29tZXRpbWVzIGNvbXBsZXRlbHkgYm9ndXMgYW5kIHdlJ3JlIGJldHRlciBvZmYgd2l0aG91dCBpdC4KCjIwMDYtMTItMTEgMTc6MzM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UKCSAgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcyAjMzc4NjEzLgoKMjAwNi0xMi0xMSAxMzo1OTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFRyeSBoYXJkZXIgdG8gZXh0cmFjdCB0aGUgZnJhbWVyYXRlIGZvciB2aWRlbyB0cmFja3MgY29ycmVjdGx5IGFuZCBzYXZlIGl0IGRpcmVjdGx5IGluc3RlYWQgb2YgY29udmVydC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF92aWRlb19jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFRyeSBoYXJkZXIgdG8gZXh0cmFjdCB0aGUgZnJhbWVyYXRlIGZvciB2aWRlbyB0cmFja3MgY29ycmVjdGx5IGFuZAoJICBzYXZlIGl0IGRpcmVjdGx5IGluc3RlYWQgb2YgY29udmVydGluZyBpdCBiYWNrIGFuZCBmb3J0aCBhIGZldwoJICB0aW1lcy4gTW9zdGx5IG1ha2VzIGEgZGlmZmVyZW5jZSBmb3IgdmVyeSBzbWFsbCBmcmFtZXJhdGVzICg8MSkuCgkgIEZpeGVzICMzODAxOTkuCgoyMDA2LTEyLTExIDExOjQxOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuKjogUmVtb3ZlIGdjb25mIG5vdGlmeSBob29rIHdoZW4gdGhlIGdjb25mYXVkaW9zcmMgZWxlbWVudCBpcyBkZXN0cm95ZWQsIG90aGVyd2lzZSB0aGUgY2FsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICBSZW1vdmUgZ2NvbmYgbm90aWZ5IGhvb2sgd2hlbiB0aGUgZ2NvbmZhdWRpb3NyYyBlbGVtZW50IGlzCgkgIGRlc3Ryb3llZCwgb3RoZXJ3aXNlIHRoZSBjYWxsYmFjayBtYXkgYmUgY2FsbGVkIG9uIGFuCgkgIGFscmVhZHktZGVzdHJveWVkIGluc3RhbmNlIGFuZCBiYWQgdGhpbmdzIGhhcHBlbi4gU2hvdWxkIGZpeAoJICAjMzc4MTg0LgoJICBBbHNvIGlnbm9yZSBnY29uZiBrZXkgY2hhbmdlcyB3aGVuIHRoZSBzb3VyY2UgaXMgYWxyZWFkeSBydW5uaW5nLgoKMjAwNi0xMi0wOSAxOToyNzoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBXZSBuZWVkIHRvIGJlIGFibGUgdG8gcmVhZCBhbmQgcGFyc2UgYW55IHBvc3NpYmxlIGZsb2F0aW5nIHBvaW50IHN0cmluZyBmb3JtYXQgKCIxLDIzNCIgb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZT4KCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIFdlIG5lZWQgdG8gYmUgYWJsZSB0byByZWFkIGFuZCBwYXJzZSBhbnkgcG9zc2libGUgZmxvYXRpbmcgcG9pbnQgc3RyaW5nCgkgIGZvcm1hdCAoIjEsMjM0IiBvciAiMS4yMzQiKSBpcnJlc3BlY3RpdmUgb2YgdGhlIGN1cnJlbnQgbG9jYWxlLiBnX3N0cm9kKCkKCSAgd2lsbCBwYXJzZSB0aGUgZm9ybWVyIG9ubHkgaW4gY2VydGFpbiBsb2NhbGVzIHRob3VnaCwgc28gd2UgcmVhbGx5IG5lZWQKCSAgdG8gY2Fub25pY2FsaXNlIHRoZSBzZXBhcmF0b3IgdG8gJy4nIGFuZCB0aGVuIHVzZSBnX2FzY2lpX3N0cnRvZCgpIHRvCgkgIG1ha2Ugc3VyZSB3ZSBjYW4gcGFyc2UgZWl0aGVyIHZlcnNpb24gYXQgYWxsIHRpbWVzLgoJICBGaXhlcyAjMzgyOTgyIGZvciByZWFsLgoKMjAwNi0xMi0wOSAxNjoxNzozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBVc2UgdGhlIHN1bmF1ZGlvIGRlYnVnIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgVXNlIHRoZSBzdW5hdWRpbyBkZWJ1ZyBjYXRlZ29yeS4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfY2xhc3NfaW5pdCksIChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3N1bmF1ZGlvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19vcGVuKSwgKGdzdF9zdW5hdWRpb3NpbmtfY2xvc2UpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKSwgKGdzdF9zdW5hdWRpb19zaW5rX2RvX2RlbGF5KSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfd3JpdGUpLCAoZ3N0X3N1bmF1ZGlvc2lua19kZWxheSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3Jlc2V0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIFVzZXMgdGhlIHN1bmF1ZGlvIGRlYnVnIGNhdGVnb3J5IGZvciBhbGwgZGVidWcgb3V0cHV0CgkgIEltcGxlbWVudHMgdGhlIF9kZWxheSgpIGNhbGxiYWNrIHRvIHN5bmNocm9uaXNlIHZpZGVvIHBsYXliYWNrIGJldHRlcgoJICBDaGFuZ2UgdGhlIHNlZ3RvdGFsIGFuZCBzZWdzaXplIHZhbHVlcyBiYWNrIHRvIHRoZSBwYXJlbnQgY2xhc3MKCSAgZGVmYXVsdHMgKHRha2VuIGZyb20gYnVmZmVyX3RpbWUgYW5kIGxhdGVuY3lfdGltZXMgb2YgMjAwbXMgYW5kIDEwbXMKCSAgcmVzcGVjdGl2ZWx5KQoJICBNZWFzdXJlIHRoZSBzYW1wbGVzIHdyaXR0ZW4gdG8gdGhlIGRldmljZSB2cy4gcGxheWVkLgoJICBLZWVwIHRyYWNrIG9mIHNlZ21lbnRzIGluIHRoZSBkZXZpY2UgYnkgd3JpdGluZyBlbXB0eSBlb2YgZnJhbWVzLCBhbmQKCSAgc2xlZXAgdXNpbmcgYSBHQ29uZCB3aGVuIHdlIGdldCB0b28gZmFyIGFoZWFkIGFuZCByaXNrIG92ZXJydW5uaW5nIHRoZQoJICBzaW5rJ3MgcmluZ2J1ZmZlci4KCSAgRml4ZXM6ICMzNjA2NzMKCjIwMDYtMTItMDggMjE6MTI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBDb3JyZWN0IHRoZSBhdHRyaWJ1dGlvbiBvZiB0aGUgcHJldmlvdXMgY29tbWl0LiBUaGUgcGF0Y2ggaW4gcXVlc3Rpb24gd2FzIHdyaXR0ZW4gYnkgQnJpYW4gQ2FtZXJvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvcnJlY3QgdGhlIGF0dHJpYnV0aW9uIG9mIHRoZSBwcmV2aW91cyBjb21taXQuIFRoZSBwYXRjaCBpbgoJICBxdWVzdGlvbiB3YXMgd3JpdHRlbiBieSBCcmlhbiBDYW1lcm9uLgoKMjAwNi0xMi0wOCAxNzowNjo0MyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgRml4ZXMgIzM4MzQ3MS4KCjIwMDYtMTItMDggMTY6Mzg6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuKjogRml4IGF1ZGlvcGFub3JhbWUgd2l0aCBmbG9hdCBzYW1wbGVzLiBGaXhlcyAjMzgzNzI2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGUgPgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkgIEZpeCBhdWRpb3Bhbm9yYW1lIHdpdGggZmxvYXQgc2FtcGxlcy4gRml4ZXMgIzM4MzcyNi4KCjIwMDYtMTItMDggMTU6MTI6MDEgKzAwMDAgIFBhZHJhaWcgTydCcmlhaW4gPHBhZHJhaWcub2JyaWFpbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogSW1wbGVtZW50IHJlc2V0IGZ1bmN0aW9ucyB0byB1bmJsb2NrIHRoZSBzcmMvc2luayBtb3JlIHF1aWNrbHkgb24gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX3Jlc2V0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19yZXNldCk6CgkgIEltcGxlbWVudCByZXNldCBmdW5jdGlvbnMgdG8gdW5ibG9jayB0aGUgc3JjL3NpbmsgbW9yZSBxdWlja2x5IG9uCgkgIHN0YXRlIGNoYW5nZSByZXF1ZXN0cy4KCSAgUGF0Y2ggYnk6IFBhZHJhaWcgTydCcmlhaW4gPHBhZHJhaWcgZG90IG9icmlhaW4gYXQgc3VuIGRvdCBjb20+CgoyMDA2LTEyLTA4IDE0OjQyOjQyICswMDAwICBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzogQ29uc3RydWN0IHRoZSBjb3JyZWN0IG1peGVyIGRldmljZSBuYW1lIHdoZW4gdGhlIEFVRElPREVWIGVudiB2YXIgaXMgc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgQ29uc3RydWN0IHRoZSBjb3JyZWN0IG1peGVyIGRldmljZSBuYW1lIHdoZW4gdGhlIEFVRElPREVWIGVudiB2YXIKCSAgaXMgc2V0LgoJICBQYXRjaCBieTogSmVycnkgVGFuIDxqZXJyeS50YW4gYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjMzgzNTk2CgoyMDA2LTEyLTA4IDE0OjMyOjUxICswMDAwICBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IEFwcGx5IHBhdGNoIHRvIG9wZW4gdGhlIG1peGVyIGNvbnRyb2wgYW5kIHNldCB0aGUgTVVMVElQTEVfT1BFTiBpb2N0bC4gT24gc29sYXJpcywgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICBBcHBseSBwYXRjaCB0byBvcGVuIHRoZSBtaXhlciBjb250cm9sIGFuZCBzZXQgdGhlIE1VTFRJUExFX09QRU4KCSAgaW9jdGwuIE9uIHNvbGFyaXMsIHRoZSBtaXhlciBkZXZpY2UgZG9lc24ndCBuZWVkIG9wZW5pbmcgbm9uLWJsb2NraW5nCgkgIC0gaXQgY2FuIGJlIG9wZW5lZCBieSBtdWx0aXBsZSBwcm9jZXNzZXMgYnkgZGVmYXVsdCwgYnV0IG5lZWRzIHRoZSBpb2N0bCAJZm9yIG11bHRpcGxlIG9wZW5zIHdpdGhpbiAxIHByb2Nlc3MuCgkgIFBhdGNoIGJ5OiBKZXJyeSBUYW4gPGplcnJ5LnRhbiBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICMzNDkwMTUKCjIwMDYtMTItMDcgMTc6MzA6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvOiBQb3J0IHRvIDAuMTAgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NtcHRlX3NldGNhcHMpLCAoZ3N0X3NtcHRlX2luaXQpLCAoZ3N0X3NtcHRlX3Jlc2V0KSwKCSAgKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpLCAoZ3N0X3NtcHRlX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc21wdGVfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zbXB0ZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBQb3J0IHRvIDAuMTAgc29tZSBtb3JlLgoJICBBZGRlZCBkdXJhdGlvbiBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBkdXJhdGlvbiBvZiB0aGUgdHJhbnNpdGlvbi4KCSAgTWFrZSBmcmFtZXJhdGUgYSBmcmFjdGlvbi4KCSAgRGVwcmVjYXRlIGZwcyBwcm9wZXJ0eSwgd2Ugb25seSB1c2UgbmVnb3RpYXRlZCBmcHMuCgkgIEFkZGVkIGRvY3MuCgkgIEZpeCBjb2xsZWN0cGFkIHVzYWdlLgoJICBSZXNldCBzdGF0ZSBpbiBSRUFEWS4KCSAgU2VuZCBORVdTRUdNRU5UIGV2ZW50LgoJICBGaXggcmFjeSB1cGRhdGVzIG9mIG9iamVjdCBwcm9wZXJ0aWVzLgoJICBBZGRlZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgRml4ZXMgIzM4MzMyMy4KCjIwMDYtMTItMDcgMTE6MzU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoKMjAwNi0xMi0wNiAxNTowNjowNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCByZXNldCB4cG9zIGFuZCB5cG9zIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGJlY2F1c2UgY2F1c2VzIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RfZnJlZSk6CgkgIERvbid0IHJlc2V0IHhwb3MgYW5kIHlwb3MgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24gYmVjYXVzZSBjYXVzZXMKCSAgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgkgIEZpeGVzICMzODIxNzkuCgoyMDA2LTEyLTA2IDE0OjQ1OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogS2VlcCB0cmFjayBvZiB0aGUgYnVmZmVyIHRpbWVzdGFtcCBpbiB0aGUgY29sbGVjdGRhdGEgbWVtYmVyIGluc3RlYWQgb2YgbW9kaWZ5aW5nIHRoZSBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb21wYXJlX3BhZHMpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcXVldWVfcGFkcyksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBidWZmZXIgdGltZXN0YW1wIGluIHRoZSBjb2xsZWN0ZGF0YSBtZW1iZXIgaW5zdGVhZAoJICBvZiBtb2RpZnlpbmcgdGhlIGJ1ZmZlciB3aXRob3V0IG1ha2luZyB0aGUgbWV0YWRhdGEgd3JpdGFibGUgZmlyc3QuCgkgIEZpeGVzICMzODIyNzcuCgoyMDA2LTEyLTA2IDE0OjMzOjU0ICswMDAwICBSb2IgVGF5bG9yIDxyb2J0YXlsb3JAZmxvb3BpbHkub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogSWYgdXNpbmcgbXVsdGljYXN0IGluIHVkcHNyYywgYmluZCB0byB0aGUgbXVsdGljYXN0IGFkZHJlc3MgcmF0aGVyIHRoYW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2IgVGF5bG9yIDxyb2J0YXlsb3IgYXQgZmxvb3BpbHkgZG90IG9yZz4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIElmIHVzaW5nIG11bHRpY2FzdCBpbiB1ZHBzcmMsIGJpbmQgdG8gdGhlIG11bHRpY2FzdCBhZGRyZXNzIHJhdGhlciB0aGFuCgkgIElOX0FERFJfQU5ZLgoJICBUaGlzIGFsbG93cyB0aGUgc2ltdWx0YW5vdXMgdXNlIG9mIG11bHRpcGxlIHVkcHNyY3MgbGlzdGVuaW5nIG9uCgkgIGRpZmZlcmVudCBtdWx0aWNhdCBhZGRyZXNzZXMuIFdpdGhvdXQgdGhpcyBhbGwgdWRwc3JjcyB3aWxsIHJlY2VpdmUgYWxsCgkgIHBhY2tldHMgZnJvbSBhbGwgc3Vic2NyaWJlZCBtdWx0aWNhc3QgYWRkcmVzc2VzLgoJICBGaXhlcyAjMzgzMDAxLgoKMjAwNi0xMi0wNiAxMzozNTo1MiArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AMGthb2xpbi53aDkubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogRG9uJ3QgYXR0ZW1wdCB0byB3cml0ZSBhIE5VTEwgZnJhbWUgaW50byB0aGUgSUQzIHRhZyBzZXQgd2hlbiB0aGUgY3JlYXRlRnJhbWUgbWV0aG9kIHJldHVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIERvbid0IGF0dGVtcHQgdG8gd3JpdGUgYSBOVUxMIGZyYW1lIGludG8gdGhlIElEMyB0YWcgc2V0IHdoZW4gdGhlCgkgIGNyZWF0ZUZyYW1lIG1ldGhvZCByZXR1cm5lZCBOVUxMLgoJICBGaXhlczogIzM4MTg1NwoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW4gYXQgMGthb2xpbiB3aDkgbmV0ID4KCjIwMDYtMTItMDYgMTM6MTY6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogVXNlIGdfc3RydG9kKCkgaW5zdGVhZCBvZiBzc2NhbmYgdG8gcGFyc2UgZG91Ymxlcywgc28gdGhhdCBpdCB3aWxsIHRyeSBwYXJzaW5nIGluIHRoZSBDIGxvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIFVzZSBnX3N0cnRvZCgpIGluc3RlYWQgb2Ygc3NjYW5mIHRvIHBhcnNlIGRvdWJsZXMsIHNvIHRoYXQgaXQgd2lsbAoJICB0cnkgcGFyc2luZyBpbiB0aGUgQyBsb2NhbGUgaWYgdGhlIGN1cnJlbnQgbG9jYWxlIGZhaWxzLgoJICBGaXhlczogIzM4Mjk4MgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZSA+CgoyMDA2LTEyLTAxIDEwOjMxOjQ2ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvTUFOSUZFU1Q6IEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgZG90IGNvbT4KCSAgUGFydGlhbGx5IGZpeGVzICMzODExNzUKCjIwMDYtMTEtMzAgMTY6NDg6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IGFjY2VwdCBhbGwgbXBlZ3ZlcnNpb25zLGZpeGVzICMzODA4MjUgc3BvdHRlZCBieTogSmVyb21lIEFsZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYWNjZXB0IGFsbCBtcGVndmVyc2lvbnMsZml4ZXMgIzM4MDgyNQoJICBzcG90dGVkIGJ5OiBKZXJvbWUgQWxldAoKMjAwNi0xMS0zMCAxNjo0NjoxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBjbGVhbnVwIHRoZSBlcnJvciBtZXNzYWdlIGEgYml0IG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19idWZmZXJfZmluYWxpemUpOgoJICBjbGVhbnVwIHRoZSBlcnJvciBtZXNzYWdlIGEgYml0IG1vcmUKCjIwMDYtMTEtMzAgMTU6MDg6MDggKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KToKCSAgQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCjIwMDYtMTEtMjggMTI6MzA6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiBGaXggd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiAoZ3N0X2NhY2FzaW5rX2NsYXNzX2luaXQpOgoJICBGaXggd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzLgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBuZXdlciBsaWJjYWNhIHRoYXQgcmVxdWlyZSB1cyB0byBpbmNsdWRlIGEgbmV3CgkgIGhlYWRlci4gRml4ZXMgIzM3OTkxOC4KCjIwMDYtMTEtMjggMTE6NTI6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBtZXRob2Qgc28gdGhhdCBleHRlbnNpb25zIGNhbiBjaG9vc2UgdG8gZGlzYWJsZSB0aGUgc2V0dXAgb2YgYSBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pLAoJICAocnRzcF9leHRfd21zX2dldF9jb250ZXh0KToKCSAgQWRkIG1ldGhvZCBzbyB0aGF0IGV4dGVuc2lvbnMgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZSBzZXR1cCBvZgoJICBhIHN0cmVhbS4KCSAgTWFrZSB0aGUgV01TIGV4dGVuc2lvbiBza2lwIHNldHVwIG9mIHgtd21zLXJ0eCBzdHJlYW1zLiBGaXhlcyAjMzc3NzkyLgoKMjAwNi0xMS0yNyAxNzoxNjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IKCSAgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCjIwMDYtMTEtMjcgMTY6MzA6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIG1lbnRpb24gYnVnIGZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWVudGlvbiBidWcgZml4CgoyMDA2LTExLTI3IDE2OjI5OjA3ICswMDAwICBKb25hcyBIb2xtYmVyZyA8am9uYXMuaG9sbWJlcmdAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBQdXNoIGhlYWRlciBpbiBhIHNlcGFyYXRlIGJ1ZmZlciBpbnN0ZWFkIG9mIG1lbWNweTppbmcgYWxsIGRhdGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hcyBIb2xtYmVyZyA8am9uYXMgZG90IGhvbG1iZXJnIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgUHVzaCBoZWFkZXIgaW4gYSBzZXBhcmF0ZSBidWZmZXIgaW5zdGVhZCBvZiBtZW1jcHk6aW5nIGFsbCBkYXRhCgkgIENoYW5nZSBMRiA9PiBDUkxGIGluIGhlYWRlcnMKCSAgTW92ZSB0cmFpbGluZyBMRiB0byBoZWFkZXIKCjIwMDYtMTEtMjcgMTY6MjY6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IFNtYWxsIGJ1ZmZlciBvdmVyZmxvdyBmaXggYW5kIGltcHJvdmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9jaGFpbik6CgkgIFNtYWxsIGJ1ZmZlciBvdmVyZmxvdyBmaXggYW5kIGltcHJvdmUgZGVidWdnaW5nLgoKMjAwNi0xMS0yNCAwODo1ODo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2VzZC86IHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5oOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MKCjIwMDYtMTEtMjQgMDc6NDY6NTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogcmVtb3ZlIGRlYWQgY29kZSwgdHdlYWsgZGVidWdzIHN0YXRlbWVudHMsIGFkZCBjb21tZW50cywgdXNlIF91aW50NjRfc2NhbGUgaW5zdGVhZCBfdWludDY0X3NjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGVla19jaHVuayksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgcmVtb3ZlIGRlYWQgY29kZSwgdHdlYWsgZGVidWdzIHN0YXRlbWVudHMsIGFkZCBjb21tZW50cywgdXNlCgkgIF91aW50NjRfc2NhbGUgaW5zdGVhZCBfdWludDY0X3NjYWxlX2ludCB3aGVuIHVzaW5nIGd1aW50NjQgdmFsdWVzLAoJICBzbWFsbCBvcHRpbWl6YXRpb25zLCByZWZsb3cgc29tZSBlcnJvciBoYW5kbGluZwoKMjAwNi0xMS0yMiAxNzozOToxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHBvLy5jdnNpZ25vcmU6IFdlIG5ldmVyIHB1dCAucG90IGZpbGVzIGluIGN2cy4gTGV0J3MgaWdub3JlIHRoZW0gYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby8uY3ZzaWdub3JlOgoJICBXZSBuZXZlciBwdXQgLnBvdCBmaWxlcyBpbiBjdnMuIExldCdzIGlnbm9yZSB0aGVtIGFsbC4KCjIwMDYtMTEtMjEgMTI6NTc6NTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgZW5hbGJlIExBRFNQQSBwbHVnaW4gaW4gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBlbmFsYmUgTEFEU1BBIHBsdWdpbiBpbiBzcGVjIGZpbGUKCjIwMDYtMTEtMTkgMTg6NDY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogLi4uIGJ1dCBiZXR0ZXIgZXhjbHVkZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAuLi4gYnV0IGJldHRlciBleGNsdWRlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZC4KCjIwMDYtMTEtMTkgMTY6MzI6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogQWRkIHY0bDIgc291cmNlIGZpbGVzIHRvIGxpc3Qgb2YgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMsIHNvIHRoZSBzdHJpbmdzIGFyZSBhY3R1YWxseSBleHRyYWN0ZWQgKGhvd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCB2NGwyIHNvdXJjZSBmaWxlcyB0byBsaXN0IG9mIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zLCBzbyB0aGUKCSAgc3RyaW5ncyBhcmUgYWN0dWFsbHkgZXh0cmFjdGVkIChob3dldmVyIGJhZCB0aGV5IHN0aWxsIG1heSBiZSkuCgoyMDA2LTExLTE5IDE2OjMwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IE1pbm9yIGNsZWFuLXVwczogY29uc3QtaWZ5IHN0YXRpYyBhcnJheSwgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCk6CgkgIE1pbm9yIGNsZWFuLXVwczogY29uc3QtaWZ5IHN0YXRpYyBhcnJheSwgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20KCSAgbGFzdCBlbnVtIChnY2MtMi45eCB0cmlwcyBvdmVyIHRoYXQpLCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgoyMDA2LTExLTE5IDEzOjQxOjUzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IE1ha2Ugc3VyZSB0aGF0IGdfZnJlZSBhbHdheXMgZ2V0cyBjYWxsZWQgb24gdGhlIHNhbWUgcG9pbnRlciB0aGF0IHdhcyByZXR1cm5lZCBieSBnX21hbGxvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICBNYWtlIHN1cmUgdGhhdCBnX2ZyZWUgYWx3YXlzIGdldHMgY2FsbGVkIG9uIHRoZSBzYW1lIHBvaW50ZXIgdGhhdCB3YXMKCSAgcmV0dXJuZWQgYnkgZ19tYWxsb2MuICBGaXhlcyAjMzc2NTk0LgoJICBEbyBub3QgbGVhayBtZW1vcnkgaWYgZGVjb21wcmVzc2VkIHNpemUgaXMgd3JvbmcuCgkgIFJlbW92ZSB1bm5lZWRlZCBjaGVjayBvZiByZXR1cm4gdmFsdWUgb2YgZ19tYWxsb2MuCgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKMjAwNi0xMS0xOCAxODoxNDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQWRkIG1pc3NpbmcgY3VybHkgYnJhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KToKCSAgQWRkIG1pc3NpbmcgY3VybHkgYnJhY2tldHMuCgoyMDA2LTExLTE3IDE0OjU0OjAxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IGNhcHR1cmVfZGVpbml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGNhcHR1cmVfZGVpbml0LgoKMjAwNi0xMS0xNiAxNTozNjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhY3RpdmF0ZSByZXF1ZXN0IHBhZCBiZWZvcmUgcmV0dXJuaW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpOgoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFjdGl2YXRlIHJlcXVlc3QgcGFkIGJlZm9yZSByZXR1cm5pbmcgaXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAoc2V0dXBfc2lua19wYWQpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSB1c2luZyB0aGVtLgoKMjAwNi0xMS0xNiAxNTowNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW5pdGlhbGlzZSB2YXJpYWJsZSB0byBnZXQgcmlkIG9mIGJvZ3VzIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBJbml0aWFsaXNlIHZhcmlhYmxlIHRvIGdldCByaWQgb2YgYm9ndXMgY29tcGlsZXIgd2FybmluZy4KCjIwMDYtMTEtMTYgMDc6MjY6MTcgKzAwMDAgIFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbW92aWFsLmZpPgoKCSAgZ3N0L3J0cC86IFNwZWNpZnkgSC4yNjMgdmFyaWFudCBhbmQgdmVyc2lvbiBpbiB0aGUgY2FwcyAoZml4ZXMgIzM2MTYzNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQG1vdmlhbC5maT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIFNwZWNpZnkgSC4yNjMgdmFyaWFudCBhbmQgdmVyc2lvbiBpbiB0aGUgY2FwcyAoZml4ZXMgIzM2MTYzNykKCjIwMDYtMTEtMTUgMTc6NDQ6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBEb24ndCBzZXQgYSBkYXRhIHBvaW50ZXIgdG8gTlVMTCBhbmQgYSBzaXplID4gMCB3aGVuIHdlIGRlYWwgd2l0aCBlbXB0eSBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocmVhZF9ib2R5KToKCSAgRG9uJ3Qgc2V0IGEgZGF0YSBwb2ludGVyIHRvIE5VTEwgYW5kIGEgc2l6ZSA+IDAgd2hlbiB3ZSBkZWFsCgkgIHdpdGggZW1wdHkgcGFja2V0cy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfZnJlZSksCgkgIChydHNwX21lc3NhZ2VfdGFrZV9ib2R5KToKCSAgQ2hlY2sgdGhhdCB3ZSBjYW4ndCBjcmVhdGUgaW52YWxpZCBlbXB0eSBwYWNrZXRzLgoKMjAwNi0xMS0xNSAxMjozNTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLCBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsCgkgIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb21lIGNvZGUgaW50byBfcmVzZXQoKQoJICBmdW5jdGlvbnMgKCMzNTI2MDUpLgoKMjAwNi0xMS0xNSAxMjowODoyMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguKjogQWRkIGJhc2ljIHRhZyB3cml0aW5nIHN1cHBvcnQ7IGltcGxlbWVudCByZWxlYXNpbmcgcGFkcyAoIzM3NDY1OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9hZGRfaW50ZXJmYWNlcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX3BhZF9mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdHJhY2tfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBiYXNpYyB0YWcgd3JpdGluZyBzdXBwb3J0OyBpbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgKCMzNzQ2NTgpLgoKMjAwNi0xMS0xNSAxMToxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgb3BhcXVlL3Vuc3BlY2lmaWVkIEFfQUFDIGF1ZGlvIGNvZGVjIElEIChmaXhlcyAjMzc0NzM3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEhhbmRsZSBvcGFxdWUvdW5zcGVjaWZpZWQgQV9BQUMgYXVkaW8gY29kZWMgSUQgKGZpeGVzICMzNzQ3MzcpLgoKMjAwNi0xMS0xNSAwMDoxMjoxOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBEaXJhYyBmb3VyY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIERpcmFjIGZvdXJjYy4KCjIwMDYtMTEtMTQgMjA6MDc6MjIgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi92czgvOiBNYWtlIGVuZC1vZi1saW5lIHJldHVybnMgdW5peHksIHNvIHRoYXQgd2hlbiB0aGUgZmlsZXMgYXJlIGNoZWNrZWQgb3V0IG9uIHdpbjMyIHRoZSBsaW5lIHJldHVybnMgd2lsbCBiZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleS5zY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkgICogd2luMzIvdnM4L2xpYmdzdDEzOTQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYWNvbG9yLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YW5ub2RleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFwZXRhZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1ZGlvZngudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXBhcnNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXV0b2RldGVjdC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF2aS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNhY2FzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2Rpby52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGN1dHRlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGR2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZWZmZWN0di52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZsYWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbHhkZWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rnb29tLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWN5ZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpZDNkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGpwZWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsYWRzcGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsZXZlbC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1hdHJvc2thLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWlrbW9kLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW9ub3Njb3BlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWx0aXBhcnQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RwbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHNwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c2hvdXQyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c21wdGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzcGVleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHRhZ2xpYi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHVkcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYmFsYW5jZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYm94LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9mbGlwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9taXhlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdmVuYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdnBhcnNlLnZjcHJvajoKCSAgTWFrZSBlbmQtb2YtbGluZSByZXR1cm5zIHVuaXh5LCBzbyB0aGF0IHdoZW4gdGhlIGZpbGVzIGFyZSBjaGVja2VkCgkgIG91dCBvbiB3aW4zMiB0aGUgbGluZSByZXR1cm5zIHdpbGwgYmUgMGQgMGEgYW5kIG5vdCAwZCAwZCAwYS4KCSAgSG9wZWZ1bGx5IGZpeGVzICMzNjY0OTIuCgoyMDA2LTExLTE0IDE1OjU1OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEaXNhYmxlIGluaXRfZnJhbWVzIGRlbGF5IHRpbWVzdGFtcCBhZGp1c3RtZW50LCBpdCBkb2VzIG5vdCBzZWVtIHRvIGJlIG5lZWRlZCBhdCBhbGwuIEZpeGVzICMzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgIERpc2FibGUgaW5pdF9mcmFtZXMgZGVsYXkgdGltZXN0YW1wIGFkanVzdG1lbnQsIGl0IGRvZXMgbm90CgkgIHNlZW0gdG8gYmUgbmVlZGVkIGF0IGFsbC4gRml4ZXMgIzM2OTYyMS4KCjIwMDYtMTEtMTQgMTE6NDM6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgoyMDA2LTExLTE0IDEwOjI5OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBNYWtlIGxhbWUgdGltZXN0YW1wIGZsdXNoZWQgZW9zIGJ1ZmZlciBieSBzb21lIGFkZGl0aW9uYWwgdGltZXN0YW1wIGFjY291bnRpbmcuIEZpeGVzICMzNzQ3NjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NpbmtfZXZlbnQpLCAoZ3N0X2xhbWVfY2hhaW4pLAoJICAoZ3N0X2xhbWVfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIE1ha2UgbGFtZSB0aW1lc3RhbXAgZmx1c2hlZCBlb3MgYnVmZmVyIGJ5IHNvbWUgYWRkaXRpb25hbCB0aW1lc3RhbXAKCSAgYWNjb3VudGluZy4gRml4ZXMgIzM3NDc2MC4KCjIwMDYtMTEtMTMgMTg6MzE6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBtZW1sZWFrIGJ5IHVucmVmJ2luZyBjb2xsZWN0cGFkcyBpbnN0YW5jZSAod2hlbiBmaW5hbGl6aW5nKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RfZnJlZSksIChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX2ZpbmFsaXplKSwKCSAgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfdmlkZW9taXhlcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgRml4IG1lbWxlYWsgYnkgdW5yZWYnaW5nIGNvbGxlY3RwYWRzIGluc3RhbmNlICh3aGVuIGZpbmFsaXppbmcpCgkgIEltcGxlbWVudCByZWxlYXNpbmcgYSByZXF1ZXN0IHBhZC4gRml4ZXMgIzM3NDQ3OS4KCjIwMDYtMTEtMTAgMjA6MDg6NDIgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi92czgvOiBBZGQgVlM4IHByb2plY3QgZmlsZXMgKG5vdGUgdGhhdCBtYW55IG9mIHRoZSBwbHVnaW5zIGluIGV4dCBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCkuIEZpeGVzICMzNjY0OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkuc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWdvb2Quc2xuOgoJICAqIHdpbjMyL3ZzOC9saWJnc3QxMzk0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWFzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGFjb2xvci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFubm9kZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhcGV0YWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdWRpb2Z4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVwYXJzZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1dG9kZXRlY3QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdmkudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjYWNhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNkaW8udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjdXR0ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rkdi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGVmZmVjdHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbGFjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Zmx4ZGVjLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Z29vbS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGljeWRlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWQzZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RqcGVnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGFkc3BhLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bGV2ZWwudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtYXRyb3NrYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1pa21vZC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1uZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1vbm9zY29wZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsdGlwYXJ0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cG5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0cnRzcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNob3V0Mi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNtcHRlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c3BlZXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R0YWdsaWIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R1ZHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JhbGFuY2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JveC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvZmxpcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvbWl4ZXIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZlbmMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R3YXZwYXJzZS52Y3Byb2o6CgkgIEFkZCBWUzggcHJvamVjdCBmaWxlcyAobm90ZSB0aGF0IG1hbnkgb2YgdGhlIHBsdWdpbnMgaW4gZXh0IGFyZQoJICBkaXNhYmxlZCBieSBkZWZhdWx0KS4gRml4ZXMgIzM2NjQ5Mi4KCjIwMDYtMTEtMTAgMTk6MTg6MzMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbTogTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgoyMDA2LTExLTEwIDE4OjUxOjEwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9tdWx0aWZpbGUudnByb2o6CgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoKMjAwNi0xMS0xMCAwODowOTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiB3ZSBkbyBub3QgdHJhbnNsYXRlIGRlYnVnIG1lc3NhZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICB3ZSBkbyBub3QgdHJhbnNsYXRlIGRlYnVnIG1lc3NhZ2VzCgoyMDA2LTExLTA4IDEyOjA0OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZmx4L2dzdGZseGRlYy5jOiBmaXggY2F0ZWdvcmlzYXRpb24sIG1ha2Ugc2hvcnQgZGVzYyBtb3JlIGV4cGxpY2l0LCByZW1vdmUgdW51c2VkIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2xhc3NfaW5pdCk6CgkgIGZpeCBjYXRlZ29yaXNhdGlvbiwgbWFrZSBzaG9ydCBkZXNjIG1vcmUgZXhwbGljaXQsIHJlbW92ZSB1bnVzZWQgY29kZQoJICBGaXhlcyAjMzcyMDIxCgoyMDA2LTExLTA4IDAxOjMwOjM5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwLzogRml4IGVsZW1lbnQgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgRml4IGVsZW1lbnQgZGVzY3JpcHRpb25zLgoKMjAwNi0xMS0wOCAwMToyOTo1MSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC86IEZpeCBkZXNjcmlwdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEZpeCBkZXNjcmlwdGlvbi4KCSAgU21hbGwgY2xlYW51cCBpbiB0aGUgcGF5bG9hZGVyLgoKMjAwNi0xMS0wOCAwMToyODowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC86IEFkZCB0aGVvcmEgcGF5L2RlcGF5bG9hZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3N3aXRjaF9jb2RlYm9vayksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGdzdF9ydHBfdGhlb3JhX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X3Jlc2V0X3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZsdXNoX3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpLCAoZ3N0X3J0cF90aGVvcmFfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgQWRkIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXJzLgoKMjAwNi0xMS0wNyAwMTo0MzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogV2UgZGVwZW5kIG9uIGdzdHRhZyB0byBnZW5lcmF0ZSB0aGUgdm9yYmlzIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBXZSBkZXBlbmQgb24gZ3N0dGFnIHRvIGdlbmVyYXRlIHRoZSB2b3JiaXMgY29tbWVudHMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbiksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3N3aXRjaF9jb2RlYm9vayksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkgIFBhcnNlIGNvbmZpZ3VyYXRpb24gc3RyaW5nIGluIHRoZSBkZXBheWxvYWRlci4KCSAgSW1wbGVtZW50IHNlbGVjdGluZyBhbmQgc3dpdGNoaW5nIHRvIGEgbmV3IGNvZGVib29rLgoJICBSZWNlaXZpbmcgdm9yYmlzIG92ZXIgUlRQIG5vdyB3b3Jrcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X3Jlc2V0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICBTZXQgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzIGFuZCBSVFAgcGFja2V0cy4KCSAgRml4IGNvbmZpZ3VyYXRpb24gc3RyaW5nLCBwcmVwZW5kIG51bWJlciBvZiBQYWNrZXQgaGVhZGVycy4KCSAgRml4IGVuY29kaW5nIG9mIGlkZW50IHN0cmluZy4KCSAgQWRkIGRlbGl2ZXJ5LW1ldGhvZCB0byBjYXBzLgoJICBTdHJlYW1pbmcgdm9yYmlzIG92ZXIgUlRQIG5vdyB3b3Jrcy4KCjIwMDYtMTEtMDYgMjA6NTI6MTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lio6IEdlbmVyYXRlIGEgdmFsaWQgY29uZmlndXJhdGlvbiBzdHJpbmcgaW4gdGhlIGNhcHMgYmFzZWQgb24gdGhlIHZvcmJpcyBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKSwgKGdzdF9ydHBfdm9yYmlzX3BheV9wYXJzZV9pZCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgR2VuZXJhdGUgYSB2YWxpZCBjb25maWd1cmF0aW9uIHN0cmluZyBpbiB0aGUgY2FwcyBiYXNlZCBvbiB0aGUKCSAgdm9yYmlzIGhlYWRlcnMuCgoyMDA2LTExLTAyIDIwOjEzOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeSBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkKCSAgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5NTM5KS4KCjIwMDYtMTEtMDIgMTQ6NDM6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby86IE1vdmUgQ0QtVEVYVCB1dGlsaXR5IGZ1bmN0aW9uIGludG8gY29tbW9uIGZpbGUgc28gaXQgY2FuIGFsc28gYmUgdXNlZCBieSBhIGZ1dHVyZSBjZGlvcGFyYW5vaWFzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKGdzdF9jZGlvX2dldF9jZHRleHQpOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfb3Blbik6CgkgIE1vdmUgQ0QtVEVYVCB1dGlsaXR5IGZ1bmN0aW9uIGludG8gY29tbW9uIGZpbGUgc28gaXQgY2FuIGFsc28gYmUKCSAgdXNlZCBieSBhIGZ1dHVyZSBjZGlvcGFyYW5vaWFzcmMuCgoyMDA2LTExLTAxIDE5OjQ4OjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEltcHJvdmVkIGNvbW1lbnRzIGluIEVMRU1FTlRfRVJST1IvV0FSTklORyBhbmQgYWRkZWQgIiNpZiAwIiB0byB4b3ZlcmxheSBjb2RlIHRoYXQgaXMgc3RpbGwgbm90IGltcGxlbWVudGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSW1wcm92ZWQgY29tbWVudHMgaW4gRUxFTUVOVF9FUlJPUi9XQVJOSU5HIGFuZCBhZGRlZCAiI2lmIDAiIHRvIHhvdmVybGF5IGNvZGUgdGhhdCBpcyBzdGlsbCBub3QgaW1wbGVtZW50ZWQuCgoyMDA2LTExLTAxIDEzOjU5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFdlIHJlcXVpcmUgYSAtYmFzZSBtb3JlIHJlY2VudCB0aGFuIDAuMTAuOSwgc28gaXQncyBzYWZlIHRvIHVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBXZSByZXF1aXJlIGEgLWJhc2UgbW9yZSByZWNlbnQgdGhhbiAwLjEwLjksIHNvIGl0J3Mgc2FmZSB0byB1c2UKCSAgR1NUX1RZUEVfVEFHX0lNQUdFX1RZUEUgdW5jb25kaXRpb25hbGx5IG5vdy4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19zaW5rX2V2ZW50KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfc2lua19ldmVudCk6CgkgIFVzZSBfbmV3c2VnbWVudF9mdWxsKCkgbm93IHRoYXQgd2UgZGVwZW5kIG9uIGEgcmVjZW50IGVub3VnaCBjb3JlLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZW1vdmUgY3J1ZnQgdGhhdCB3ZSBkb24ndCBuZWVkIGFueSBsb25nZXIgbm93IHRoYXQgd2UgZGVwZW5kIG9uCgkgIGEgcmVjZW50IGVub3VnaCAtYmFzZS4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMTAtMzEgMTA6NTI6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGFuZCBhY3RpdmF0ZSBJTEJDIHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjMzY4MTYyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9pbml0KSwKCSAgKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICBGaXggYW5kIGFjdGl2YXRlIElMQkMgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICMzNjgxNjIuCgoyMDA2LTEwLTMxIDEwOjMxOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmVlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoKMjAwNi0xMC0zMSAwOTo0NDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBTb21lIHNtYWxsIGNsZWFudXBzLCB1c2UgX3NjYWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jb252ZXJ0KSwKCSAgKHNwZWV4X2RlY19zaW5rX2V2ZW50KSwgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpOgoJICBTb21lIHNtYWxsIGNsZWFudXBzLCB1c2UgX3NjYWxlLgoKMjAwNi0xMC0zMSAwOToyOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVXNlIGhpZ2hlciBwcmVjaXNpb24gc2NhbGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgIFVzZSBoaWdoZXIgcHJlY2lzaW9uIHNjYWxlIGZ1bmN0aW9uLgoKMjAwNi0xMC0zMCAxNjoxODoxOCArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAaXRvbmlzLnR2PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIGVuY29kZWQvY29tcHJlc3NlZC9lbmNyeXB0ZWQvc2lnbmVkIHRyYWNrczsgYWxzbywgcmVtb3ZlIHN1cGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsIGRvdCBiZW5lcyBhdCBpdG9uaXMgdHY+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2RpbmdfY21wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlcik6CgkgIEZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIGVuY29kZWQvY29tcHJlc3NlZC9lbmNyeXB0ZWQvc2lnbmVkIHRyYWNrczsKCSAgYWxzbywgcmVtb3ZlIHN1cGVyZmx1b3VzIG5ld2xpbmUgY2hhcmFjdGVycyBmcm9tIHNvbWUgZGVidWcKCSAgc3RhdGVtZW50cy4gKCMzNjYxNTUpCgoyMDA2LTEwLTMwIDA5OjI0OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvOiBWYXJpb3VzIGNsZWFudXBzLCBjYXBzbmVnbyBhbmQgbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfZ2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zbW9rZWRlY19pbml0KSwgKGdzdF9zbW9rZWRlY19maW5hbGl6ZSksIChnc3Rfc21va2VkZWNfY2hhaW4pLAoJICAoZ3N0X3Ntb2tlZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9zbW9rZWVuY19pbml0KSwgKGdzdF9zbW9rZWVuY19maW5hbGl6ZSksCgkgIChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfcmVzeW5jKSwgKGdzdF9zbW9rZWVuY19jaGFpbiksCgkgIChnc3Rfc21va2VlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zbW9rZWVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Ntb2tlZW5jX2NoYW5nZV9zdGF0ZSk6CgkgIFZhcmlvdXMgY2xlYW51cHMsIGNhcHNuZWdvIGFuZCBsZWFrIGZpeGVzLgoKMjAwNi0xMC0zMCAwODoxNzowOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IHZpZGVvbWl4ZXIgc28gdGhhdCBpdCBjYW4gaGFuZGxlIGFueSBjb21iaW5hdGlvbiBvZiBmcmFtZXJhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOgoJICBGaXggdmlkZW9taXhlciBzbyB0aGF0IGl0IGNhbiBoYW5kbGUgYW55IGNvbWJpbmF0aW9uIG9mIGZyYW1lcmF0ZXMuCgkgIEZpeGVzICMzNjcyMjEuCgoyMDA2LTEwLTI4IDE2OjM3OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggcG9zaXRpb24gcXVlcnkgZm9yIGF1ZGlvLiBhbHNvIGZpeGVzIHRpbWVzdGFtcHMgaW4gc3RyZWFtaW5nIG1vZGUgYW5kIGJ1ZyAjMzY0OTU4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0X3B1c2gpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgRml4IHBvc2l0aW9uIHF1ZXJ5IGZvciBhdWRpby4gYWxzbyBmaXhlcyB0aW1lc3RhbXBzIGluIHN0cmVhbWluZwoJICBtb2RlIGFuZCBidWcgIzM2NDk1OC4KCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTEwLTI3IDE3OjEwOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuKjogRml4IHN0cmlkZXMuIEZpeGVzICMzNjQ4NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX3NldGNhcHMpLCAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgRml4IHN0cmlkZXMuIEZpeGVzICMzNjQ4NTYuCgkgIENsZWFudXAgY2Fwc25lZ28uCgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA2LTEwLTE4IDE3OjA2OjIxICswMDAwICBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQG1vdmlhbC5maT4KCgkgIGdzdC9ydHAvOiBBZGQgc3RhdGljIHBheWxvYWQgbnVtYmVycyBpbiBhZGRpdGlvbiB0byB0aGUgZHluYW1pYyBvbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbGxlIFN5cmphbGEgPHZpbGxlIGRvdCBzeXJqYWxhIGF0IG1vdmlhbCBkb3QgZmk+CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOiAoZ3N0X3J0cF9wY21hX3BheV9mbHVzaCksCgkgIChnc3RfcnRwX3BjbWFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9mbHVzaCk6CgkgIEFkZCBzdGF0aWMgcGF5bG9hZCBudW1iZXJzIGluIGFkZGl0aW9uIHRvIHRoZSBkeW5hbWljIG9uZXMuCgkgIEZpeGVzICMzNjE2MzkuCgoyMDA2LTEwLTE4IDE2OjE4OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBSZXVzZSBhbHJlYWR5IGV4aXN0aW5nIGVudW0gZm9yIGxvd2VyIHRyYW5zcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfbG93ZXJfdHJhbnNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF9wcm90b2NvbHMpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIFJldXNlIGFscmVhZHkgZXhpc3RpbmcgZW51bSBmb3IgbG93ZXIgdHJhbnNwb3J0LgoJICBBZGQgcnRzcHQgYW5kIHJ0c3B1IHByb3RvY29scy4KCSAgU2VuZCByZWRpcmVjdCB0byBydHNwdCB3aGVuIHVkcCB0aW1lcyBvdXQuCgoyMDA2LTEwLTE4IDE0OjAwOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBzZWVraW5nIHNvbWUgbW9yZSwgbW9zdGx5IGZvciBzcGVlZCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgRml4IHNlZWtpbmcgc29tZSBtb3JlLCBtb3N0bHkgZm9yIHNwZWVkIGNoYW5nZXMuCgoyMDA2LTEwLTE4IDExOjI4OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IEZyZWRyaWsncyBlLW1haWwgYWRkcmVzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IGZpeCBGcmVkcmlrJ3MgZS1tYWlsIGFkZHJlc3MKCjIwMDYtMTAtMTggMTE6MDQ6MDkgKzAwMDAgIEZyZWRyaWsgUGVyc3NvbiA8ZnJlcGVAYnJvYWRiYW5kLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJ0dW5lci4qOiBGaXggX3NldF9jaGFubmVsKCk6IHJlbW92ZSB1c2VsZXNzIGdfb2JqZWN0X25vdGlmeSgpIGZvciAiY2hhbm5lbCIgcHJvcGVydHkgdGhhdCBkb2Vzbid0IGV4aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRyaWsgUGVyc3NvbiAgPGZyZXBlIGF0IGJyb2FkYmFuZCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgIEZpeCBfc2V0X2NoYW5uZWwoKTogcmVtb3ZlIHVzZWxlc3MgZ19vYmplY3Rfbm90aWZ5KCkgZm9yICJjaGFubmVsIgoJICBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpc3QgYW55IGxvbmdlciBhbmQgdGhlcmVmb3JlIG5vdyBhbHNvCgkgIHVzZWxlc3MgcmVkaXJlY3QgKCMzMzg4MTgpLgoKMjAwNi0xMC0xNyAxNToxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9jcmVhdGVfcGFkcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoKMjAwNi0xMC0xNyAxNDo1NzoxNyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKToKCSAgTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMKCSAgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNjI2KS4KCjIwMDYtMTAtMTcgMTQ6Mzc6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogU29tZSBkcml2ZXJzIGRvIG5vdCBzdXBwb3J0IHVuc2V0dGluZyB0aGUgbm9uLWJsb2NraW5nIGZsYWcgb25jZSB0aGUgZGV2aWNlIGlzIG9wZW5lZC4gSW4gdGhvc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfcHJlcGFyZSk6CgkgIFNvbWUgZHJpdmVycyBkbyBub3Qgc3VwcG9ydCB1bnNldHRpbmcgdGhlIG5vbi1ibG9ja2luZyBmbGFnIG9uY2UgdGhlCgkgIGRldmljZSBpcyBvcGVuZWQuIEluIHRob3NlIGNhc2VzLCBjbG9zZS9vcGVuIHRoZSBkZXZpY2UgaW4KCSAgbm9uLWJsb2NraW5nIG1vZGUuIEZpeGVzICMzNjI2NzMuCgoyMDA2LTEwLTE3IDEzOjQ0OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IGRlYXIgc3RlZmFuLCBmcmFtZXNwZXJzZWNvbmQgaXMgbm90IGZyYW1lcGVyaW9kLCByZXZlcnRpbmcgYnV0IGFkZGluZyBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIGRlYXIgc3RlZmFuLCBmcmFtZXNwZXJzZWNvbmQgaXMgbm90IGZyYW1lcGVyaW9kLCByZXZlcnRpbmcgYnV0IGFkZGluZwoJICBjb21tZW50CgoyMDA2LTEwLTE3IDExOjI4OjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IE51bWVyYXRvciBpcyBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yIGlzIGRlbm9taW5hdG9yLiBTYXkgdGhhdCBhbG91ZCA1IHRpbWVzIGFuZCByZXRyeSBhZnRlciBuZXh0IGJlZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIE51bWVyYXRvciBpcyBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yIGlzIGRlbm9taW5hdG9yLiBTYXkgdGhhdCBhbG91ZAoJICA1IHRpbWVzIGFuZCByZXRyeSBhZnRlciBuZXh0IGJlZXIuCgoyMDA2LTEwLTE3IDEwOjU5OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgoyMDA2LTEwLTE2IDE4OjIyOjQ3ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgRml4IGEgYnVuY2ggb2YgcHJvYmxlbXMgZGlzY292ZXJlZCBieSB0aGUgRm9ydGUgY29tcGlsZXIsIG1vc3RseSB0eXBlIG1peHVwcyBhbmQgcG9pbnRlciBhcml0aG1ldGljcyB3aXRoIHZvaWQgcG9pbnRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3RyYW5zZm9ybSk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xlbmd0aCksCgkgIChnc3RfZmxhY19kZWNfcmVhZF9zZWVrYWJsZSksIChnc3RfZmxhY19kZWNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZGVjX3NlbmRfbmV3c2VnbWVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3NlZWtfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZW5jX3RlbGxfY2FsbGJhY2spOgoJICAqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzogKGZpbmRfYmVzdF9zaXplKSwgKHNtb2tlY29kZWNfZW5jb2RlKSwKCSAgKHNtb2tlY29kZWNfcGFyc2VfaGVhZGVyKSwgKHNtb2tlY29kZWNfZGVjb2RlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfd3JpdGVfYXZpeF9pbmRleCk6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2ZlbmNlZF9idWZmZXJfYWxsb2MpOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWFkKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICBGaXggYSBidW5jaCBvZiBwcm9ibGVtcyBkaXNjb3ZlcmVkIGJ5IHRoZSBGb3J0ZSBjb21waWxlciwgbW9zdGx5IHR5cGUKCSAgbWl4dXBzIGFuZCBwb2ludGVyIGFyaXRobWV0aWNzIHdpdGggdm9pZCBwb2ludGVycy4gRml4ZXMgIzM2MjYwMy4KCjIwMDYtMTAtMTMgMTQ6NDU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IFJvdW5kIHVwIG5vdCBhbGxvd2VkIGJpdHJhdGVzIHRvIHRoZSBuZXh0IGhpZ2hlciBhbGxvd2VkIG9uZSAoQ2xvc2VzOiAjMzYxMTQwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2V0X3Byb3BlcnR5KToKCSAgUm91bmQgdXAgbm90IGFsbG93ZWQgYml0cmF0ZXMgdG8gdGhlIG5leHQgaGlnaGVyIGFsbG93ZWQgb25lCgkgIChDbG9zZXM6ICMzNjExNDApLgoKMjAwNi0xMC0xMyAxNDoxOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBkb2NzIGZvciBsYW1lIGFuZCBsYW1lIHRvIGRvY3MuIFNwZWNpZnkgYWxsb3dlZCBiaXRyYXRlcyBpbiB0aGUgcHJvcGVydGllcyBkZXNjcmlwdGlvbiAoIzM2MTE0MCkuIENhbm9uaWNhbGlzZSBvYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLXVnbHktcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLXVnbHktcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBBZGQgZG9jcyBmb3IgbGFtZSBhbmQgbGFtZSB0byBkb2NzLiBTcGVjaWZ5IGFsbG93ZWQgYml0cmF0ZXMKCSAgaW4gdGhlIHByb3BlcnRpZXMgZGVzY3JpcHRpb24gKCMzNjExNDApLiBDYW5vbmljYWxpc2Ugb2JqZWN0CgkgIHByb3BlcnR5IG5hbWVzIChpZS4gdXNlIGh5cGhlbiBpbnN0ZWFkIG9mIHVuZGVyc2NvcmUpLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hNTJkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJuYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZGxwY21kZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRyZWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3ViLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWVjOTU4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2F1ZGlvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnc3RyZWFtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2lkZGVjLnhtbDoKCSAgVXBkYXRlIHZlcnNpb24gdG8gQ1ZTLgoKMjAwNi0xMC0xMyAxMDowMDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBpMThuIG1hZ2ljIHRvIGxhbWUgcGx1Z2luLiBUaHJvdyBkZWNlbnQgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGZhaWwgdG8gc2V0dXAgdGhlIGVuY29kZXIgKCMzNjExNDAsIDM2MTE1MSk7IG1pc2MuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2xhbWVfc2V0X3Byb3BlcnR5KSwgKGdzdF9sYW1lX2dldF9wcm9wZXJ0eSksIChnc3RfbGFtZV9jaGFpbiksCgkgIChwbHVnaW5faW5pdCk6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCBpMThuIG1hZ2ljIHRvIGxhbWUgcGx1Z2luLiBUaHJvdyBkZWNlbnQgZXJyb3IgbWVzc2FnZSB3aGVuIHdlCgkgIGZhaWwgdG8gc2V0dXAgdGhlIGVuY29kZXIgKCMzNjExNDAsIDM2MTE1MSk7IG1pc2MuIG1pbm9yIGNsZWFuLXVwcy4KCjIwMDYtMTAtMTIgMTk6MDI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+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+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBNb3ZlIGJvaWxlcnBsYXRlIHN0dWZmIGFuZCBzdHJ1Y3R1cmVzIGludG8gYSBoZWFkZXIgZmlsZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwKCSAgKHRlc3RfdW5pdF9zaXplcyksICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAodGVzdF9jcm9wcGluZyksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdmlkZW9jcm9wLgoKMjAwNi0wOS0wMiAxNTozMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb25fdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19jcm9wX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UKCSAgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCjIwMDYtMDktMDIgMTQ6NDU6MDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoKMjAwNi0wOS0wMiAxNDoyODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoKMjAwNi0wOC0zMSAxMzowNDozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgbWlzc2luZyBHU1RfTElCUyB0byB0aGUgbGluayBmbGFncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZGxwY21kZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHN1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIEdTVF9MSUJTIHRvIHRoZSBsaW5rIGZsYWdzCgoyMDA2LTA4LTMwIDE4OjAxOjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDEzOjMwOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCjIwMDYtMDgtMzAgMTE6MzY6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTE6Mjc6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIFJlbW92aW5nIG15c3RpYyBtb2RpZmljYXRpb25zIGZvciBnb29kLgoKMjAwNi0wOC0zMCAxMTowNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkgdGhlIGxhc3QgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5CgkgIHRoZSBsYXN0IGNvbW1pdAoKMjAwNi0wOC0zMCAxMDo0Mzo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgoyMDA2LTA4LTI5IDIwOjU5OjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgoyMDA2LTA4LTI4IDE3OjQ3OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoKMjAwNi0wOC0yOCAxNjo1OToxMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmMgKGdzdF9kdjEzOTRzcmNfZnJvbV9yYXcxMzk0aGFuZGxlKTogTmV3IGhlbHBlciBmdW5jdGlvbiB0byBsZXNzZW4gdGhlIGlmZGVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMjggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmMgKGdzdF9kdjEzOTRzcmNfZnJvbV9yYXcxMzk0aGFuZGxlKToKCSAgTmV3IGhlbHBlciBmdW5jdGlvbiB0byBsZXNzZW4gdGhlIGlmZGVmcy4KCSAgKEdTVF9JTkZPX09CSkVDVCk6CgkgIChnc3RfZHYxMzk0c3JjX2lzb19yZWNlaXZlKTogVXNlIGl0LgoJICAoZ3N0X2R2MTM5NHNyY19jcmVhdGUpOiBBbHNvIHVzZSB0aGUgY29udHJvbCBzb2NrZXRzIGluIGllYzYxODgzCgkgIG1vZGUuCgkgIChnc3RfZHYxMzk0c3JjX3N0YXJ0LCBnc3RfZHYxMzk0c3JjX3N0b3ApOiBBbHdheXMgdXNlIGEgc2VwYXJhdGUKCSAgaGFuZGxlIGZvciBBVkMgb3BlcmF0aW9uczsgZml4ZXMgIzM0ODIzMy4KCjIwMDYtMDgtMjggMTQ6NTk6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDA2LTA4LTI3IDE3OjE0OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZW5hbWUgYWdhaW4gKGF1ZGlvZnhnb29kIC0+IGF1ZGlvZngpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4Z29vZC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgUmVuYW1lIGFnYWluIChhdWRpb2Z4Z29vZCAtPiBhdWRpb2Z4KS4KCjIwMDYtMDgtMjcgMTM6MTI6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW5pdGlhbHplIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBJbml0aWFsemUgdmFyaWFibGVzLgoKMjAwNi0wOC0yNSAxNjoyMTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogTW9yZSBhdHRlbXB0cyB0byB0dXJuIHRoaXMgaW50byByZWFkYWJsZSBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbml0KSwgKGdzdF9hdmlfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X2luZGV4X2xhc3QpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X2xvb3ApLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbiksIChnc3RfYXZpX2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgTW9yZSBhdHRlbXB0cyB0byB0dXJuIHRoaXMgaW50byByZWFkYWJsZSBjb2RlLgoJICBEb24ndCBsZWFrIGFkYXB0ZXJzLgoJICBDYWxjdWxhdGUgZHVyYXRpb24gYWNjb3JkaW5nIHRvIGluZGV4IG1vcmUgZWZmaWNpZW50bHkuCgkgIERvbid0IHRyeSB0byBhY3QgbGlrZSB3ZSBkcml2ZSB0aGUgcGlwZWxpbmUgaW4gY2hhaW4gbW9kZS4KCjIwMDYtMDgtMjUgMDk6NTM6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX2Nsb2NrX3RpbWVfZnJvbV9ucHQpOgoJICBGaXggYnVpbGQuCgoyMDA2LTA4LTI1IDA5OjQyOjQzICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzogRG8gc29tZSBleHRyYSBzYW5pdHkgY2hlY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6IChnc3RfYW5ub2RleF9ncmFudWxlX3RvX3RpbWUpOgoJICBEbyBzb21lIGV4dHJhIHNhbml0eSBjaGVja3MuCgkgIEZpeGVzICMzNTAzNDAuCgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfY21tbF9lbmNfcGFyc2VfdGFnX2hlYWQpLCAoZ3N0X2NtbWxfZW5jX3BhcnNlX3RhZ19jbGlwKSwKCSAgKGdzdF9jbW1sX2VuY19wdXNoX2NsaXApLCAoZ3N0X2NtbWxfZW5jX3B1c2gpOgoJICBDaGVjayBpZiBjbGlwLT5zdGFydF90aW1lIGlzIHZhbGlkIGJlZm9yZSBhZGRpbmcgdGhlIGNsaXAgdG8gdGhlCgkgIHRyYWNrIGxpc3QuCgkgIFJlc2V0IGVuYy0+cHJlYW1ibGUgZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkuCgkgIERvbid0IHVzZSBHU1RfRkxPV19VTkVYUEVDVEVEIGZvciB3cm9uZyB1c2FnZSBvZiB0aGUgZWxlbWVudCwgaXQgaXMKCSAgb25seSB1c2VkIGZvciBFT1MuCgkgIE9ubHkgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIHdlIHdlcmUgdGhlIG9uZSB0aGF0IGNyZWF0ZWQgdGhlIGZhdGFsCgkgIEdzdEZsb3dSZXR1cm4gdmFsdWUuCgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF9jbG9ja190aW1lX2Zyb21fbnB0KSwKCSAgKGdzdF9jbW1sX2Nsb2NrX3RpbWVfdG9fZ3JhbnVsZSksIChnc3RfY21tbF90cmFja19saXN0X2hhc19jbGlwKToKCSAgUGFyc2UgdGhlIHNlY29uZHMgZmllbGQgb2YgdGhlIG5wdC1zZWMgdGltZSBmb3JtYXQgdXNpbmcgJWxsdSByYXRoZXIgdGhhbgoJICAlZCBhbmQgY2hlY2sgdGhhdCB0aGUgdmFsdWUgc2NhbGVkIGJ5IEdTVF9TRUNPTkQgZG9lc24ndCBvdmVyZmxvdy4KCSAgVXNlIGd1aW50NjQocykgdG8gcmVwcmVzZW50IHRoZSBrZXlpbmRleCBhbmQga2V5b2Zmc2V0IGZpZWxkcyBvZiBhIGdyYW51bGVwb3MuCgkgIExvb2t1cCBhIGNsaXAncyB0cmFjayB3aXRoIGNsaXAtPnRyYWNrIHJhdGhlciB0aGFuIGNsaXAtPmlkIHdoaWNoCgkgIG1ha2VzIG5vIHNlbnNlLgoJICBJZGVudGlmeSBhIGNsaXAgYnkgaXRzIHRyYWNrIGFuZCBzdGFydCB0aW1lIGFuZCBub3QgaXRzIHhtbCBpZC4KCSAgZG8gc29tZSBtb3JlIGlucHV0IGNoZWNraW5nIGFuZCBtYWtlIHN1cmUgd2UgZG9uJ3QgZG8gdW5kZWZpbmVkIHNoaWZ0cy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpLCAoY2hlY2tfb3V0cHV0X2J1ZmZlcl9pc19lcXVhbCksIChwdXNoX2RhdGEpLAoJICAoY21tbF90YWdfbWVzc2FnZV9wb3ApLCAoY2hlY2tfaGVhZGVycyksIChwdXNoX2NsaXBfZnVsbCksCgkgIChwdXNoX2NsaXApLCAocHVzaF9lbXB0eV9jbGlwKSwgKGNoZWNrX291dHB1dF9jbGlwKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGNtbWxkZWNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyksIChjaGVja19vdXRwdXRfYnVmZmVyX2lzX2VxdWFsKSwgKHB1c2hfZGF0YSksCgkgIChjaGVja19oZWFkZXJzKSwgKHB1c2hfY2xpcCksIChjaGVja19jbGlwX3RpbWVzKSwgKGNoZWNrX2NsaXApLAoJICAoY2hlY2tfZW1wdHlfY2xpcCksIChHU1RfU1RBUlRfVEVTVCksIChjbW1sZW5jX3N1aXRlKToKCSAgQWRkZWQgc29tZSBtb3JlIGNoZWNrcy4KCjIwMDYtMDgtMjQgMTk6MDA6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2UgYWxzbyB0aGUgcGFuLXByb3BlcnR5IGZsb2F0IChzYXZlcyBzY2FsaW5nIGFuZCB5aWVsZHMgYmV0dGVyIHJlc29sdXRpb24pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdCk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2UgYWxzbyB0aGUgcGFuLXByb3BlcnR5IGZsb2F0IChzYXZlcyBzY2FsaW5nIGFuZCB5aWVsZHMgYmV0dGVyCgkgIHJlc29sdXRpb24pCgoyMDA2LTA4LTI0IDE4OjIzOjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiBDaGFuZ2VMb2cgc3VyZ2VyeSB0byBhZGQgY3ltYXgncyByZWFsIG5hbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdCk6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IHRvIGFkZCBjeW1heCdzIHJlYWwgbmFtZQoKMjAwNi0wOC0yNCAxODoxNzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuKjogQWRkZWQgZmxvYXQgc3VwcG9ydCAodGhhbmtzIGN5bWF4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgQWRkZWQgZmxvYXQgc3VwcG9ydCAodGhhbmtzIGN5bWF4KQoKMjAwNi0wOC0yNCAxNDoxNjo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogRml4IGRvY3MgJiBkZWJ1ZyBjYXRlZ29yeS4gQWRkIEZpeG1lIGZvciB2b2x1bWUgcGFuIGxldmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzoKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzKToKCSAgRml4IGRvY3MgJiBkZWJ1ZyBjYXRlZ29yeS4gQWRkIEZpeG1lIGZvciB2b2x1bWUgcGFuIGxldmVscy4KCjIwMDYtMDgtMjQgMTM6NTE6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogdW5icmVhayBBVkkgaW5kZXggaGFuZGxpbmcsIHNvbWUgbW9yZSBkZWJ1ZywgcmVtb3ZlIGFuIG9ic29sZXRlIGFkYXB0ZXJfZmx1c2ggdGhhdCBjYXVzZWQgc3RyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICB1bmJyZWFrIEFWSSBpbmRleCBoYW5kbGluZywgc29tZSBtb3JlIGRlYnVnLCByZW1vdmUgYW4gb2Jzb2xldGUKCSAgYWRhcHRlcl9mbHVzaCB0aGF0IGNhdXNlZCBzdHJlYW1pbmcgdG8gd2FuZGVyIG9mZiBpbiB0aGUgd2lsZAoKMjAwNi0wOC0yNCAxMToyMTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogU29tZSBtb3JlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9vZG1sKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgU29tZSBtb3JlIGNsZWFudXBzLgoJICBGaXggdG90YWxGcmFtZXMgcGFyc2luZyBpbiBPRE1MLgoJICBEaXNhYmxlIHVzZSBvZiBpbmRleCBmb3IgbGVuZ3RoIGNhbGN1bGF0aW9uIGluIGNhc2Ugb2YgT0RNTCBhcyB0aGlzIGlzCgkgIGJyb2tlbiBub3cuCgoyMDA2LTA4LTI0IDEwOjAzOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBVc2UgbGliZ3N0dGFnIGhlbHBlciBmdW5jdGlvbiBoZXJlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3VwZGF0ZV9tZXRhZGF0YSk6CgkgIFVzZSBsaWJnc3R0YWcgaGVscGVyIGZ1bmN0aW9uIGhlcmUgdG9vLgoKMjAwNi0wOC0yNCAwOToyNDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRm9yd2FyZCBxdWVyaWVzIGluIG90aGVyIGZvcm1hdHMgKEJZVEUgZm9ybWF0IGluIHBhcnRpY3VsYXIpCgkgIHVwc3RyZWFtOyBhZGQgU2ViYXN0aWFuIHRvIGF1dGhvcnMuCgoyMDA2LTA4LTI0IDAwOjQwOjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgoyMDA2LTA4LTIzIDE1OjMzOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IEluaXRpYWwgc3RyZWFtaW5nIHN1cHBvcnQgZm9yIGF2aWRlbXV4IChmaXhlcyAjMzM2NDY1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbml0KSwgKGdzdF9hdmlfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwgKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmtfaW5mbyksIChnc3RfYXZpX2RlbXV4X3BlZWtfY2h1bmspLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdF9wdXNoKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXRfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChzb3J0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAocHVzaF90YWdfbGlzdHMpLCAoZ3N0X2F2aV9kZW11eF9sb29wKSwgKGdzdF9hdmlfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2F2aV9kZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9hdmlfZGVtdXhfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBJbml0aWFsIHN0cmVhbWluZyBzdXBwb3J0IGZvciBhdmlkZW11eCAoZml4ZXMgIzMzNjQ2NSkKCjIwMDYtMDgtMjMgMTA6MzA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkIGFzIHdlbGwgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkCgkgIGFzIHdlbGwgKCMzNTI0NzYpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgUmVzdG9yZSBvcmlnaW5hbCBhdXRob3IgKG9uIFNlYmFzdGlhbidzIHJlcXVlc3QpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgKHNvIGZhciBlbXB0eSkgc3VwcHJlc3Npb24gZmlsZSBmb3IgLWJhZC4gUmVtb3ZlCgkgIHdhdnBhY2tlbmMgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBub3cgdGhhdCB0aGUgbGVhawoJICBpcyBmaXhlZC4KCjIwMDYtMDgtMjMgMDk6MjI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tkZWNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2VuY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpLAoJICAoc2V0dXBfd2F2cGFja3BhcnNlKSwgKGNsZWFudXBfd2F2cGFja3BhcnNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHdhdnBhY2twYXJzZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMyAwODo1Mjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMiAyMDozOToyNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCjIwMDYtMDgtMjIgMTc6MjA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDogVGhlcmUgaXMgbm8gdGFnbGlibXV4IGVsZW1lbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBUaGVyZSBpcyBubyB0YWdsaWJtdXggZWxlbWVudCAuLi4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFVzZSAnJScgcmF0aGVyIHRoYW4gJyZwZXJjOycgaW4gZ3RrLWRvYyBibHVyYiwgZG9jcyBidWlsZAoJICB3YXMgY29tcGxhaW5pbmcgYWJvdXQgdW5rbm93biBlbnRpdHkgaGVyZS4KCjIwMDYtMDgtMjIgMTc6MDI6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IE1hcmsgRElTQ09OVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgTWFyayBESVNDT05ULgoJICBSZW1vdmUgb2xkIHVudXNlZCBmaWVsZHMgYW5kIHJlb3JkZXIgdGhlIHN0cnVjdCBhIGJpdC4KCjIwMDYtMDgtMjIgMTY6NDU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTbWFsbCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3Npbmtfb3BlbiksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSksIChnc3Rfb3NzX3NpbmtfdW5wcmVwYXJlKToKCSAgU21hbGwgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoKMjAwNi0wOC0yMiAxNjo0MjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogUHJlY2FsYyBtb3N0IG9mIHRoZSBkdXJhdGlvbiBxdWVyeSBmb3IgZWFjaCBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfYWdncmVnYXRlZF9mbG93KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfbG9vcCksCgkgIChnc3RfYXZpX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBQcmVjYWxjIG1vc3Qgb2YgdGhlIGR1cmF0aW9uIHF1ZXJ5IGZvciBlYWNoIHN0cmVhbS4KCSAgTWFrZSBzZWVraW5nIG1vcmUgY29ycmVjdC4KCSAgVXNlIEdzdFNlZ21lbnQgdG8gdHJhY2sgcG9zaXRpb24gYW5kIGR1cmF0aW9uLgoJICBDb2RlIGNsZWFudXBzIGFuZCBsZWFrIGZpeGVzLgoJICBDYWxjdWxhdGUgY29ycmVjdCB0b3RhbCBkdXJhdGlvbiBiYXNlZCBvbiBpbmRleCBsZW5ndGguCgoyMDA2LTA4LTIyIDEzOjUzOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBJZiBzdHJpbmdzIGluIHRleHQgZmllbGRzIGFyZSBtYXJrZWQgSVNPODg1OS0xLCBidXQgY29udGFpbiB2YWxpZCBVVEYtOCBhbHJlYWR5LCB0aGVuIGhhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCk6CgkgIElmIHN0cmluZ3MgaW4gdGV4dCBmaWVsZHMgYXJlIG1hcmtlZCBJU084ODU5LTEsIGJ1dCBjb250YWluCgkgIHZhbGlkIFVURi04IGFscmVhZHksIHRoZW4gaGFuZGxlIHRoZW0gYXMgVVRGLTggYW5kIGlnbm9yZQoJICB0aGUgZW5jb2RpbmcuICgjMzUxNzk0KQoKMjAwNi0wOC0yMiAxMjoyODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogTWFrZSBmbGFjLWluLW9nZyB3b3JrICgjMzUyMTAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NjYW5fZ290X2ZyYW1lKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSksIChnc3RfZmxhY19kZWNfbG9vcCksCgkgIChnc3RfZmxhY19kZWNfc2lua19ldmVudCksIChnc3RfZmxhY19kZWNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBNYWtlIGZsYWMtaW4tb2dnIHdvcmsgKCMzNTIxMDApLgoKMjAwNi0wOC0yMiAxMjoxMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IERvbid0IHVucmVmIGJ1ZmZlcnMgb2Ygd2hpY2ggd2UndmUgYWxyZWFkeSBnaXZlbiBhd2F5IG93bmVyc2hpcCB0byB0aGUgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfY2hhaW4pOgoJICBEb24ndCB1bnJlZiBidWZmZXJzIG9mIHdoaWNoIHdlJ3ZlIGFscmVhZHkgZ2l2ZW4gYXdheQoJICBvd25lcnNoaXAgdG8gdGhlIGFkYXB0ZXIuCgoyMDA2LTA4LTIyIDEwOjMyOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IE1ha2UgbWV0YWRhdGEgZXh0cmFjdGlvbiBhY3R1YWxseSB3b3JrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9jb21tZW50cyk6CgkgIE1ha2UgbWV0YWRhdGEgZXh0cmFjdGlvbiBhY3R1YWxseSB3b3JrLgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlZXhlbmNfaW5pdCksIChnc3Rfc3BlZXhlbmNfY3JlYXRlX21ldGFkYXRhX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICBGaXggbWV0YWRhdGEgd3JpdGluZzogcmVwbGFjZSBvbGQgY29kZSB3aGljaCB3cm90ZSBjb21wbGV0ZWx5CgkgIGJyb2tlbiB0YWdzIHdpdGggbGliZ3N0dGFnLWJhc2VkIGNvZGUuIFBsdXMgbWlzY2VsbGFuZW91cwoJICBjb2RlIGNsZWFudXBzICh1c2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgZXRjLikgYW5kIGEgYnVuY2gKCSAgb2YgbGVhayBmaXhlcy4KCjIwMDYtMDgtMjEgMTk6MzQ6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb3Bhbm9yYW1hLzogZGllISBkaWUhIGRpZSEgeW91IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gdGhlcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvYXVkaW9wYW5vcmFtYS5jOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL2F1ZGlvcGFub3JhbWEuaDoKCSAgZGllISBkaWUhIGRpZSEgeW91IHNob3VsZCBuZXZlciBoYXZlIGJlZW4gdGhlcmUKCjIwMDYtMDgtMjEgMTY6MjQ6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIEZpeCBzb21lIHBhbGV0dGVkIGRhdGEgZm9ybWF0cyBhZ2Fpbi4KCSAgRml4IHVsYXcvYWxhdyBpbiBxdC4KCSAgU2V0IGNvcnJlY3QgY2FwcyBmb3IgcmF3IFJHQi4KCSAgQWRkIHN1cHBvcnQgZm9yIHl1djIsIHdoaWNoIGlzIGxpa2UgWXV2Mi4KCSAgQWRkIHN1cHBvcnQgZm9yIHJhdyBhdWRpbyB3aXRoIHRoZSBOT05FIGZvdXJjYywgd2hpY2ggaXMgbGlrZSByYXcuCgoyMDA2LTA4LTIxIDEzOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svOiBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0byByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8KCSAgcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdGggJ0dzdCcgdG8gbWFrZSBpdCBjbGVhcmVyCgkgIHdoZXJlIHRoZXkgY29tZSBmcm9tLgoKMjAwNi0wOC0yMSAxMzoyNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2Ni4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpOgoJICBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkKCSAgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Myk7IHVzZSBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZgoJICBHU1RfRUxFTUVOVF9XQVJOSU5HOyBzaW1wbGlmeSBwdXNoX2Jsb2NrKCk7IGRvIHNvbWUgc21hbGwKCSAgY2xlYW4tdXBzIGhlcmUgYW5kIHRoZXJlOyBmaXggbWVtbGVhayAoIzM1MTY2MykuCgoyMDA2LTA4LTIxIDEzOjEyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBpbiBhdWRpb3Bhbm9yYW1hIHRlc3Qgc3VpdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBpbiBhdWRpb3Bhbm9yYW1hIHRlc3Qgc3VpdGUuCgoyMDA2LTA4LTIxIDExOjM0OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogaWdub3JlIGJ1aWx0IGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgaWdub3JlIGJ1aWx0IGZpbGUKCjIwMDYtMDgtMjEgMTA6NDY6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBGaXggdGhlIGJ1aWxkIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBGaXggdGhlIGJ1aWxkIGFnYWluLgoKMjAwNi0wOC0yMSAwOToyMToyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kLzogcmVzdWJtaXQgd2l0aCB0aGUgZGVzaXJlZCBuYW1lICphZ2FpbioKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvZnhnb29kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fY2FwcyksIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgcmVzdWJtaXQgd2l0aCB0aGUgZGVzaXJlZCBuYW1lICphZ2FpbioKCjIwMDYtMDgtMjAgMTM6MDk6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2dldF91bml0X3NpemUpOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKToKCSAgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgoyMDA2LTA4LTIwIDEzOjA2OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBjbGVhbnVwIC11bnVzZWQudHh0IHRvIG1ha2UgaXQgdXNlZnVsLCBhZGQgcHJldmlvdXNseSBtaXNzaW5nIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhnb29kLnhtbDoKCSAgY2xlYW51cCAtdW51c2VkLnR4dCB0byBtYWtlIGl0IHVzZWZ1bCwgYWRkIHByZXZpb3VzbHkgbWlzc2luZyBkb2NzCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgICogZXh0L2VzZC9nc3Rlc2QuYzogKHBsdWdpbl9pbml0KToKCSAgcmVmbG93IHRvIGdldCByaWQgb2YgdHdvIGV4dGVybmFsIHN5bWJvbHMKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICByZS1hZGQKCjIwMDYtMDgtMjAgMTI6MDk6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9meC5jCgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fY2FwcyksIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnMpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChzZXR1cF9wYW5vcmFtYV9tKSwKCSAgKHNldHVwX3Bhbm9yYW1hX3MpLCAoY2xlYW51cF9wYW5vcmFtYSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChwYW5vcmFtYV9zdWl0ZSksIChtYWluKToKCSAgQWRkIGF1ZGlvZnhnb29kIHBsdWdpbiB3aXRoIGF1ZGlvcGFub3JhbWEgZWxlbWVudAoKMjAwNi0wOC0xOCAyMTozOTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkIHplcm9lczsgc2tpcCBnYXJiYWdlIGJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmRfbWFya2VyKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpOgoJICBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZAoJICB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZXR3ZWVuIGZyYW1lcyBpbiBwdWxsIG1vZGUgYXMgd2VsbCBpZgoJICBuZWNlc3Nhcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKTsgcHVzaCBFT1MgYW5kCgkgIE5FV1NFR01FTlQgZXZlbnQgaW4gcmlnaHQgZGlyZWN0aW9uICgjMzUxNjU5KS4KCjIwMDYtMDgtMTggMTc6MDA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IE1vcmUgT3NzIGRvY3MgZml4YWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIE1vcmUgT3NzIGRvY3MgZml4YWdlLgoKMjAwNi0wOC0xOCAxNjo1MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBleHBlcmltZW50YWwgU1ZRMyBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3Yzdl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3N2M3ZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX3N2M3ZfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkgIEFkZGVkIGV4cGVyaW1lbnRhbCBTVlEzIGRlcGF5bG9hZGVyLgoKMjAwNi0wOC0xOCAxMzoyNTowNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4Lio6IFdoZW4gaGFuZGxpbmcgc2VlayByZXF1ZXN0cywgZG9uJ3Qgc2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBmcm9tIHRoZSBjYWxsaW5nIHRocmVhZC4gSW5zdGVhZCBzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1bGxfc2VlayksCgkgIChnc3RfZHZkZW11eF9sb29wKSwgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgV2hlbiBoYW5kbGluZyBzZWVrIHJlcXVlc3RzLCBkb24ndCBzZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlCgkgIGNhbGxpbmcgdGhyZWFkLiBJbnN0ZWFkIHNhdmUgaXQgc28gaXQgY2FuIGJlIHNlbnQgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZC4KCjIwMDYtMDgtMTcgMTU6NTE6NTAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQWNjZXB0IGxlYWRpbmcgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIGJvdW5kYXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChtdWx0aXBhcnRfcGFyc2VfaGVhZGVyKToKCSAgQWNjZXB0IGxlYWRpbmcgd2hpdGVzcGFjZSBiZWZvcmUgdGhlIGJvdW5kYXJ5CgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIGRlbXV4ZXIgYWxsb3cgc29tZSB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgYWN0dWFsCgkgIGJvdW5kYXJ5LiBUaGlzIG1ha2VzIHRoZSBkZW11eGVyIHdvcmsgd2l0aCB0aGUgYGBvbGQnJyBnc3RyZWFtZXIKCSAgbXVsdGlwYXJ0bXV4ZXIgYWdhaW4gKHdoaWNoIHBsYWNlZCBhbiBleHRyYSBcbiBiZWZvcmUgdGhlIHN0YXJ0CgkgIG9mIHRoZSBzdHJlYW0pIEZpeGVzICMzNDkwNjguCgoyMDA2LTA4LTE3IDE1OjQ3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogRXJyb3Igb3V0IG9uIG5vbi1pbXBsZW1lbnRlZCBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgRXJyb3Igb3V0IG9uIG5vbi1pbXBsZW1lbnRlZCBzdHVmZi4KCjIwMDYtMDgtMTYgMTY6NTA6MDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHkgV2luZ28gPHdpbmdvIGF0IHBvYm94IGRvdCBjb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoKMjAwNi0wOC0xNiAxNTozMzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlIG5hbWVzIGFzIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOgoJICBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZQoJICBuYW1lcyBhcyBwb3NzaWJsZS4KCjIwMDYtMDgtMTYgMTQ6NDc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZSBwZW4gYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyk6CgkgIEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlCgkgIHBlbiBhbnltb3JlLgoKMjAwNi0wOC0xNiAxMzo0ODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IERvbid0IGxlYWsgZGV2aWNlIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9maW5hbGl6ZSk6CgkgIERvbid0IGxlYWsgZGV2aWNlIHN0cmluZy4KCjIwMDYtMDgtMTYgMTM6MDE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ1ZTIG9mIEdTdHJlYW1lciBjb3JlIGFuZCAtYmFzZSAoZm9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBDVlMgb2YgR1N0cmVhbWVyIGNvcmUgYW5kIC1iYXNlIChmb3IKCSAgR1NUX1RBR19FWFRFTkRFRF9DT01NRU5UIGFuZCBnc3RfdGFnX3BhcnNlX2V4dGVuZGVkX2NvbW1lbnQoKSkuCgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgV3JpdGUgZXh0ZW5kZWQgY29tbWVudCB0YWdzIHByb3Blcmx5ICgjMzQ4NzYyKS4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2NvbW1lbnRfZnJhbWUpOgoJICBFeHRyYWN0IENPTU0gZnJhbWVzIGludG8gZXh0ZW5kZWQgY29tbWVudHMsIHdoaWNoIG1ha2VzIGl0CgkgIGVhc2llciB0byBwcm9wZXJseSByZXRhaW4gdGhlIGRlc2NyaXB0aW9uIGJpdCBvZiB0aGUgdGFnCgkgIGFuZCBtYWludGFpbiB0aGlzIGluZm9ybWF0aW9uIHdoZW4gcmUtdGFnZ2luZyAoIzM0ODc2MikuCgoyMDA2LTA4LTE2IDEyOjAyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERvbid0IHRyeSB0byBydW4gYW5ub2RleCB1bml0IHRlc3RzIGlmIHRoZSBhbm5vZGV4IHBsdWdpbiBoYXMgbm90IGJlZW4gYnVpbHQgKEZpeGVzICMzNTExMTYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgdHJ5IHRvIHJ1biBhbm5vZGV4IHVuaXQgdGVzdHMgaWYgdGhlIGFubm9kZXgKCSAgcGx1Z2luIGhhcyBub3QgYmVlbiBidWlsdCAoRml4ZXMgIzM1MTExNikuCgoyMDA2LTA4LTE2IDEwOjUzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBXaGVuIHdlIGNhbid0IGZpbmQgYSB1c2FibGUgYXVkaW9zaW5rLCBkb24ndCBlcnJvciBvdXQsIGJ1dCB1c2UgYSBmYWtlIHNpbmsgaW5zdGVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KToKCSAgV2hlbiB3ZSBjYW4ndCBmaW5kIGEgdXNhYmxlIGF1ZGlvc2luaywgZG9uJ3QgZXJyb3Igb3V0LAoJICBidXQgdXNlIGEgZmFrZSBzaW5rIGluc3RlYWQgYW5kIHBvc3QgYSB3YXJuaW5nIG1lc3NhZ2UKCSAgb24gdGhlIGJ1cyAoIzM0MTI3OCkuCgoyMDA2LTA4LTE2IDEwOjQwOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdCAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QKCSAgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kZXJzY29yZXMgaW4KCSAgR09iamVjdCBwcm9wZXJ0eSBuYW1lcy4KCjIwMDYtMDgtMTYgMTA6MjI6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogRG9jdW1lbnQgT1NTIGVsZW1lbnRzOyBhZGQgZ3RrLWRvYyBibHVyYiB3aXRoICdTaW5jZSAwLjEwLjUnIGZvciBvc3NtaXhlcidzIG5ldyBkZXZpY2UgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgRG9jdW1lbnQgT1NTIGVsZW1lbnRzOyBhZGQgZ3RrLWRvYyBibHVyYiB3aXRoICdTaW5jZSAwLjEwLjUnIGZvcgoJICBvc3NtaXhlcidzIG5ldyBkZXZpY2UgcHJvcGVydHkuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBkb2NzIGZvciBPU1MgZWxlbWVudHMuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgdG8gQ1ZTIHZlcnNpb24uCgoyMDA2LTA4LTE2IDEwOjA1OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IENhcHMgZXh0cmEgcHJvcGVydGllcyBtdXN0IGJlIGRlZmluZWQgYXMgc3RyaW5ncyBmb3IgZGVwYXlsb2FkZXJzIGJlY2F1c2UgdGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gYW4gU0RQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgQ2FwcyBleHRyYSBwcm9wZXJ0aWVzIG11c3QgYmUgZGVmaW5lZCBhcyBzdHJpbmdzIGZvcgoJICBkZXBheWxvYWRlcnMgYmVjYXVzZSB0aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSBhbiBTRFAuCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2NF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9maW5hbGl6ZSksIChkZWNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgQWRkZWQgYmFzaWMsIG5vdCBjb21wbGV0ZWx5IGZ1bmN0aW9uYWwgUkZDIDM5ODQgSDI2NCBkZXBheWxvYWRlci4KCjIwMDYtMDgtMTYgMDk6NDg6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuYzogQWRkIHBhZHMgYWZ0ZXIgc2V0dGluZyB0aGVtIHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfaW5pdCksIChnc3RfcnRwZGVjX2dldGNhcHMpOgoJICBBZGQgcGFkcyBhZnRlciBzZXR0aW5nIHRoZW0gdXAuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX2ZyZWVfc3RyZWFtKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19jb21iaW5lX2Zsb3dzKSwgKGdzdF9ydHNwc3JjX2xvb3ApLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCBpbnRlcmxlYXZlZCBtb2RlLgoJICAtIFByb3RlY3Qgc3RyZWFtaW5nIHdpdGggbG9jay4KCSAgLSBDb21iaW5lIGZsb3dzCgkgIC0gc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgLSBzdHJpcCB0cmFpbGluZyBcMCBmcm9tIGRhdGEgcGFja2V0cy4KCSAgLSBDb25maWd1cmUgUlRQL1JUQ1AgaW4gc3RyZWFtLgoJICBVc2UgREVCVUdfT0JKRUNUIG1vcmUuCgoyMDA2LTA4LTE2IDA5OjI5OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogVHVybiBhIGdfcHJpbnQgaW50byBhIERFQlVHIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgIFR1cm4gYSBnX3ByaW50IGludG8gYSBERUJVRyBsaW5lLgoKMjAwNi0wOC0xNiAwOToyNToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvOiBTbWFsbCBjbGVhbnVwcy4gQmV0dGVyIGVycm9yIHJlcG9ydGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlci5jOiAoZ3N0X29zc21peGVyX29wZW4pLCAoZ3N0X29zc21peGVyX25ldyk6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9pbml0KSwgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJICBTbWFsbCBjbGVhbnVwcy4gQmV0dGVyIGVycm9yIHJlcG9ydGluZy4KCSAgQWRkIGRldmljZSBwcm9wZXJ0eSBmb3IgdGhlIG1peGVyIGluc3RlYWQgb2YgdGhlIGhhcmRjb2RlZAoJICAvZGV2L21peGVyLiBGaXhlcyAjMzUwNzg1LgoJICBBUEk6IEdzdE9zc01peGVyRWxlbWVudDo6ZGV2aWNlIHByb3BlcnR5CgoyMDA2LTA4LTE1IDIyOjQ0OjI3ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnY29uZi9NYWtlZmlsZS5hbTogTWFrZSAtLWRpc2FibGUtc2NoZW1hcyB3b3JrIHJpZ2h0ICh0aGV5IHN0aWxsIG5lZWQgdG8gYmUgY29waWVkIHRvIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LCBqdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIE1ha2UgLS1kaXNhYmxlLXNjaGVtYXMgd29yayByaWdodCAodGhleSBzdGlsbCBuZWVkCgkgIHRvIGJlIGNvcGllZCB0byB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwganVzdCBub3QKCSAgYXBwbGllZCkuIEZpeGVzICMzNTEzNDcgKGFsc28gIzM0NDEwMCkuCgoyMDA2LTA4LTE1IDIwOjI5OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOyBzb21lIHNtYWxsIGNsZWFuLXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKSwgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOwoJICBzb21lIHNtYWxsIGNsZWFuLXVwcyBhbG9uZyB0aGUgd2F5OyBhZGQgc3VwcG9ydCBmb3IgU0VFS0lORyBxdWVyeQoJICBhbmQgcXVlcnkgdHlwZXMgZnVuY3Rpb24uICgjMzUxNDk1KS4KCjIwMDYtMDgtMTQgMTE6Mzc6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCjIwMDYtMDgtMTQgMTE6MTQ6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICByZWxlYXNpbmcgMC4xMC40CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC40CgoyMDA2LTA4LTE0IDEwOjA2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUKCSAgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmltdW0gcmVxdWlyZWQKCSAgYml0cmF0ZSBpbmZvcm1hdGlvbiBpZiBhdmFpbGFibGUuICgjMzUwMzk5KQoKMjAwNi0wOC0xMCAxNDoxMDoyOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoKCSAgU2VuZCB0aGUgbmV3c2VnbWVudCBldmVudCBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBTZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBGaXhlcyAjMzQ3NTI5CgoyMDA2LTA4LTEwIDE0OjAyOjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgYnVtcGVkIGZvciBwcmVyZWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1bXBlZCBmb3IgcHJlcmVsCgoyMDA2LTA4LTEwIDEzOjEwOjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAwNi0wOC0wOCAxNDo1NTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBzaWxseSB0eXBvLgoKMjAwNi0wOC0wOCAxNDo0NjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIG51bWJlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIG51bWJlcgoKMjAwNi0wOC0wOCAxNDo0MDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnLzogUmVmdXNlIHNpbmsgY2FwcyBpbiB0aGUgZW5jb2RlciBpZiB3aWR0aCBvciBoZWlnaHQgaXMgbm90IGEgbXVsdGlwbGUgb2YgMTYsIHRoZSBlbmNvZGVyIGRvZXMgbm90IHN1cHBvcnQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3Jlc3luYyksIChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBSZWZ1c2Ugc2luayBjYXBzIGluIHRoZSBlbmNvZGVyIGlmIHdpZHRoIG9yIGhlaWdodCBpcyBub3QgYQoJICBtdWx0aXBsZSBvZiAxNiwgdGhlIGVuY29kZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGF0IHlldDsgYWxvbmcgdGhlCgkgIHNhbWUgbGluZXMsIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGVuY29kZXIgc2V0dXAgZnVuY3Rpb247CgkgIGFsc28gcmVtb3ZlIHNvbWUgZGVidWcgbG9nIGNsdXR0ZXIuCgoyMDA2LTA4LTA0IDExOjM4OjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3Jpbmcgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nCgkgIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yIGtlZXBpbmcKCSAgdHJhY2sgb2YgaXRzIHN0YXRlLiBDaGFuZ2UgdGhlIEZsb3dSZXR1cm4gaW5zdGFuY2UgdmFyaWFibGUgZnJvbQoJICAic3RhdGUiIHRvICJmbG93X3N0YXRlIiwgYWxsIGNhbGxlcnMgY2hhbmdlZC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXR1cCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0LCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdG9wKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCk6IE5ldyBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZQoJICBwcm9jZXNzb3IncyBzdGF0ZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBzdGFydCgpIGFzIHdlbGwgYXMgc2V0dXAoKSBoZXJlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6IFJlc3BlY3QgQ0FOX1BST0NFU1NfSU5fUExBQ0UuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOiBTdG9wIGFuZCBjbGVhbnVwIHRoZQoJICBwcm9jZXNzb3IgYXMgd2UgZ28gdG8gTlVMTC4KCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jIChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6IFJldXNlIGJ1ZmZlcnMgaWYKCSAgSU5QTEFDRV9CUk9LRU4gaXMgbm90IHNldC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKToKCSAgRG8gdGhlIGFsbG9jX2J1ZmZlciBpbiBieXRlcywgbm90IGZyYW1lcy4KCjIwMDYtMDgtMDQgMTA6MjE6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogRml4IHJnYiBtYXNrcyB3aGVuIHJlY29yZGluZyBpbiA8IDI0YnBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICBGaXggcmdiIG1hc2tzIHdoZW4gcmVjb3JkaW5nIGluIDwgMjRicHAuCgoyMDA2LTA4LTA0IDA5OjIwOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEJQQgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogQlBCCgoyMDA2LTA4LTA0IDA5OjA1OjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3VwZGF0ZV9pbnB1dHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFJlbW92ZSB0aGUgbGFzdCBvZiB0aGUgY29kZQoJICB0aGF0IGFzc3VtZXMgdGhhdCB3ZSBwcm9jZXNzIHdob2xlIGJ1ZmZlcnMgYXQgYSB0aW1lLiBGaXggc29tZQoJICBkZWJ1Z2dpbmcuIFNlZW1zIHRvIHdvcmsgbm93IGluIHNvbWUgY2FzZXMuCgoyMDA2LTA3LTMxIDIyOjI3OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBJbml0IHBlbmRpbmdfaW4gYW5kIHBlbmRpbmdfb3V0LgoKMjAwNi0wNy0zMSAyMjowMzowOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObwoJICBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYXQgdGhlIHNhbXBsZQoJICByYXRlIGFjdHVhbGx5IGdldHMgc2V0LiBTb21ldGhpbmcgZm9yIHRoZSBmdXR1cmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogU29tZSByZWZjb3VudCBmaXhlcywgZmxvdyBmaXhlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KTogUmVmY291bnQgZml4ZW4uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogUHVsbCB0aGUgbnVtYmVyIG9mIGZyYW1lcyB0bwoJICBwcm9jZXNzIGZyb20gdGhlIHNpemVzIG9mIHRoZSBidWZmZXJzIGluIHRoZSBpbnB1dCBwZW5zLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcik6IFJlbW92ZSBhbiBpbmNvcnJlY3QgRklYTUUgOikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKTogQWRkIGFuIG5mcmFtZXMgYXJndW1lbnQsIGFuZCB1c2UKCSAgaXQgaW5zdGVhZCBvZiBidWZmZXJfZnJhbWVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpOiBSZWZjb3VudCBmaXhlbiwgcGFzcyBuZnJhbWVzIG9uCgkgIHRvIGRvX3B1bGxzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6ICBSZWZjb3VudCBmaXhlbi4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBObyBtb3JlIGJ1ZmZlcl9mcmFtZXMsIHlheS4KCjIwMDYtMDctMzEgMTk6NDQ6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywKCSAgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5MTg5KQoKMjAwNi0wNy0zMSAxNTo1ODo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBGaXggZG9jcy4KCjIwMDYtMDctMjkgMTY6MzI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgRklYTUUgY29tbWVudHMsIGZpbGVkICMzNDkxODkKCjIwMDYtMDctMjkgMTE6MjI6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiBTZXQgY2FwcyBvbiBidWZmZXIgY29ycmVjdGx5LiAgRml4ZXMgYnVnICMzNDkxNTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTI5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIFNldCBjYXBzIG9uIGJ1ZmZlciBjb3JyZWN0bHkuICBGaXhlcyBidWcgIzM0OTE1NS4KCjIwMDYtMDctMjggMTY6MTc6MTcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogVXNlcyBHc3RBZGFwdGVyIGluc3RlYWQgb2Ygb3duIGJ1ZmZlcmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9maW5hbGl6ZSksIChnZXRfbGluZV9lbmQpLAoJICAobXVsdGlwYXJ0X3BhcnNlX2hlYWRlciksIChtdWx0aXBhcnRfZmluZF9ib3VuZGFyeSksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tdWx0aXBhcnRfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXBhcnRfZ2V0X3Byb3BlcnR5KToKCSAgVXNlcyBHc3RBZGFwdGVyIGluc3RlYWQgb2Ygb3duIGJ1ZmZlcmluZy4KCSAgQWN0dWFsbHkgcGFyc2VzIHRoZSBtaW1lLXR5cGUgY29ycmVjdGx5IChJbiB0ZXN0cyB0aGUgbWltZS10eXBlIHdhcwoJICBhbHdheXMgIiIgd2l0aCB0aGUgb2xkIHZlcnNpb24pLgoJICBVc2VzIHRoZSBDb250ZW50LWxlbmd0aCBoZWFkZXIgaWYgYXZhaWxhYmxlIHRvIHNwZWVkIHVwIHRoaW5ncy4KCSAgUmVsaWFibHkgYXV0b3NjYW5zIHRoZSBib3VuZGFyeSBuYW1lIGJ5IGRlZmF1bHQuCgkgIEZpeGVzICMzNDkwNjguCgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIERvbid0IHN0YXJ0IHRoZSBzdHJlYW0gd2l0aCBhIFxuLgoKMjAwNi0wNy0yOCAwODozMjo0NyArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IE9wZW4gc291cmNlIHdpdGggT19OT05CTE9DSyAoIzM0OTAxNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKToKCSAgT3BlbiBzb3VyY2Ugd2l0aCBPX05PTkJMT0NLICgjMzQ5MDE1KS4KCjIwMDYtMDctMjggMDg6MjE6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogV2hpdGVzcGFjZSBmaXhlcyBhbmQgbW9yZSBkZWJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgV2hpdGVzcGFjZSBmaXhlcyBhbmQgbW9yZSBkZWJ1ZwoKMjAwNi0wNy0yNyAxMToyMTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogR2V0IHJpZCBvZiBvbGQgYW5kIHVudXNlZCBtYWdpYyBzb3VuZC1zZXJ2ZXIgcHJvcGVydGllcyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jcmVhdGVfZWxlbWVudF93aXRoX3ByZXR0eV9uYW1lKSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgR2V0IHJpZCBvZiBvbGQgYW5kIHVudXNlZCBtYWdpYyBzb3VuZC1zZXJ2ZXIgcHJvcGVydGllcyBzdHVmZi4KCSAgQWRkIHN1ZmZpeCB0byBjaGlsZCBzaW5rJ3MgbmFtZSB0aGF0IG1ha2VzIGl0IGVhc3kgdG8gc2VlIGZyb20KCSAgdGhlIG5hbWUgYWxvbmUgd2hpY2ggdHlwZSBpdCBhY3R1YWxseSBpcyAoYWxzYSwgb3NzLCBlc2QsIGV0Yy4pLgoKMjAwNi0wNy0yNyAxMDowNToyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IFJlbmFtZSAiYnVmZmVyIiB0byAiYnVmZmVyLXNpemUiIHRvIG1ha2UgY2xlYXIgaXQgaXMgYSBzaXplIHdlIHNldCBhbmQgbm90IHNvbWUgc29ydCBvZiBmZWF0dXJlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBSZW5hbWUgImJ1ZmZlciIgdG8gImJ1ZmZlci1zaXplIiB0byBtYWtlIGNsZWFyIGl0IGlzIGEgc2l6ZSB3ZSBzZXQgYW5kCgkgIG5vdCBzb21lIHNvcnQgb2YgZmVhdHVyZSB3ZSBlbmFibGUuCgoyMDA2LTA3LTI3IDEwOjAxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogVXNlIENMT1NFX1NPQ0tFVCgpIGhlcmUgaW5zdGVhZCBvZiBjbG9zZSgpIHRvIG1haW50YWluIHdpbjMyIHdvcmtpbmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBVc2UgQ0xPU0VfU09DS0VUKCkgaGVyZSBpbnN0ZWFkIG9mIGNsb3NlKCkgdG8gbWFpbnRhaW4KCSAgd2luMzIgd29ya2luZXNzLgoKMjAwNi0wNy0yNyAwOTowNDo1MSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGRlZCAiYnVmZmVyIiBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBrZXJuZWwgcmVjZWl2ZSBidWZmZXIgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqcyBkb3QgdmVybWVpciBhdCBiYXJjbyBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZGVkICJidWZmZXIiIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIGtlcm5lbCByZWNlaXZlIGJ1ZmZlciBzaXplLgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgU21hbGwgY2xlYW51cHMuIEZpeGVzICMzNDg3NTIuCgkgIEFQSTogYnVmZmVyIHByb3BlcnR5CgoyMDA2LTA3LTI2IDE3OjA5OjA0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBGaXggbGFtZSBwdXR0aW5nIGxvdHMgb2YgMCdzIGF0IHN0YXJ0IG9mIG1wMy4gIEZpeGVzIGJ1ZyAjMzQ4Nzg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0yNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NldHVwKToKCSAgRml4IGxhbWUgcHV0dGluZyBsb3RzIG9mIDAncyBhdCBzdGFydCBvZiBtcDMuICBGaXhlcyBidWcgIzM0ODc4Ni4KCjIwMDYtMDctMjYgMTY6MzY6NTkgKzAwMDAgIEthaSBWZWhtYW5lbiA8a3YyMDA0QGVjYS5jeD4KCgkgIGdzdC9ydHAvOiBGaXggdGltZXN0YW1wIGNhbGN1bGF0aW9uIG9uIG91dGdvaW5nIFJUUCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEthaSBWZWhtYW5lbiA8a3YyMDA0IGF0IGVjYSBkb3QgY3g+CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfcGNtYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfcGNtdV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEZpeCB0aW1lc3RhbXAgY2FsY3VsYXRpb24gb24gb3V0Z29pbmcgUlRQIHBhY2tldHMuCgkgIEZpeGVzICMzNDg2NzUuCgoyMDA2LTA3LTI2IDEwOjA3OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogaXMgc3RpbGwgc3ViLW9wdGltYWwgdGhvdWdoLCBzaW5jZSB3ZSBkb24ndCByZXRhaW4gb3IgZXh0cmFjdCB0aGUgY29tbWVudCBkZXNjcmlwdGlvbnMgcHJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEZpeCB3cml0aW5nIG9mIGNvbW1lbnQgZnJhbWVzIChzaG91bGQgYmUgQ09NTSBub3QgVENPTSksCgkgIGlzIHN0aWxsIHN1Yi1vcHRpbWFsIHRob3VnaCwgc2luY2Ugd2UgZG9uJ3QgcmV0YWluIG9yCgkgIGV4dHJhY3QgdGhlIGNvbW1lbnQgZGVzY3JpcHRpb25zIHByb3Blcmx5ICgjMzM0Mzc1LAoJICBhbHNvIHNlZSAjMzM0Mzc1KS4KCjIwMDYtMDctMjYgMDk6MDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogI2RlZmluZSAnZmFjdCcgUklGRiBjaHVuayBpZiB3ZSBhcmUgbm90IGNvbXBpbGluZyBhZ2FpbnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICAjZGVmaW5lICdmYWN0JyBSSUZGIGNodW5rIGlmIHdlIGFyZSBub3QgY29tcGlsaW5nIGFnYWluc3QKCSAgLWJhc2UgQ1ZTICh3ZSBkb24ndCB3YW50IHRvIGRlcGVuZCBvbiAtYmFzZSBDVlMgZm9yIHRoaXMKCSAgb25lIGRlZmluZSBvbmx5LCBhbmQgYWxzbyBub3QgZm9yIHJlbGVhc2Ugb3JkZXIgcmVhc29ucykuCgoyMDA2LTA3LTI2IDA4OjE3OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogSGFuZGxlIG11bHRpcGxlIHRhZ3Mgb2YgdGhlIHNhbWUgdHlwZSBwcm9wZXJseS4gUmUtaW5qZWN0IHVucGFyc2VkIElEM3YyIGZyYW1lcyB0aGF0IHdlIGdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEhhbmRsZSBtdWx0aXBsZSB0YWdzIG9mIHRoZSBzYW1lIHR5cGUgcHJvcGVybHkuIFJlLWluamVjdAoJICB1bnBhcnNlZCBJRDN2MiBmcmFtZXMgdGhhdCB3ZSBnZXQgYXMgYmluYXJ5IGJsb2JzIGZyb20KCSAgaWQzZGVtdXggaW50byB0aGUgdGFnIGFnYWluIHNvIHdlIGRvbid0IGxvc2UgaW5mb3JtYXRpb24KCSAgd2hlbiByZXRhZ2dpbmcgKCMzMzQzNzUpLgoKMjAwNi0wNy0yNSAxNzo1NDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IERvY3VtZW50IG5ld2x5LWFkZGVkIHByb3BlcnRpZXMgcHJvcGVybHksIHNvIHRoYXQgdGhlcmUgaXMgYSAnU2luY2U6IDAuMTAuNCcgaW4gdGhlIHBsdWdpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCk6CgkgIERvY3VtZW50IG5ld2x5LWFkZGVkIHByb3BlcnRpZXMgcHJvcGVybHksIHNvIHRoYXQgdGhlcmUgaXMgYQoJICAnU2luY2U6IDAuMTAuNCcgaW4gdGhlIHBsdWdpbiBkb2NzLiBDb252ZXJ0IHNvbWUgcHJvcGVydHkKCSAgbmFtZXMgaW50byBjYW5vbmljYWwgR09iamVjdCBzdHlsZSAoR09iamVjdCB3aWxsIGRvIHRoYXQKCSAgaW50ZXJuYWxseSBhbnl3YXkpLgoKMjAwNi0wNy0yNSAxNjo0NzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IEV4dHJhY3QgZnJhbWVzIGZvciBJRDN2MiB2ZXJzaW9ucyBwcmlvciB0byBJRDN2Mi4zLjAgcHJvcGVybHkgYXMgd2VsbCwgYW5kIGFkZCB0aGUgdmVyc2lvbiB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAoaWQzZGVtdXhfYWRkX2lkM3YyX2ZyYW1lX2Jsb2JfdG9fdGFnbGlzdCk6CgkgIEV4dHJhY3QgZnJhbWVzIGZvciBJRDN2MiB2ZXJzaW9ucyBwcmlvciB0byBJRDN2Mi4zLjAgcHJvcGVybHkgYXMKCSAgd2VsbCwgYW5kIGFkZCB0aGUgdmVyc2lvbiB0byB0aGUgYmxvYidzIGJ1ZmZlciBjYXBzLCBzaW5jZSB0aGF0CgkgIGluZm9ybWF0aW9uIHdpbGwgYmUgbmVlZGVkIGZvciBkZXNlcmlhbGlzYXRpb24gbGF0ZXIgb24gKCMzNDg2NDQpLgoKMjAwNi0wNy0yNSAxMzoxNDowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNb3ZlZCB3aW4zMiB2YXJpYW50IG9mIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gdG8gZ3N0aW5mby5oLiBGaXhlZCBpbmRlbnRhdGlvbiBhbmQgc3BhY2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXMpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICBNb3ZlZCB3aW4zMiB2YXJpYW50IG9mIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gdG8gZ3N0aW5mby5oLiBGaXhlZAoJICBpbmRlbnRhdGlvbiBhbmQgc3BhY2luZy4KCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDctMjQgMTU6MjU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZmlsZXMgdG8gQ1ZTL1ByZXJlbGVhc2UgdmVyc2lvbiwgYWRkIGVzZHNpbmsgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgZmlsZXMgdG8gQ1ZTL1ByZXJlbGVhc2UgdmVyc2lvbiwgYWRkIGVzZHNpbmsgZG9jcy4KCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIEZpeCB0eXBvIGluIGVsZW1lbnQgZGVzY3JpcHRpb24uCgoyMDA2LTA3LTI0IDE0OjU0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IFN0ZWZhbidzIGUtbWFpbCBhZGRyZXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IFN0ZWZhbidzIGUtbWFpbCBhZGRyZXNzCgoyMDA2LTA3LTI0IDE0OjQ5OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFByZXZlbnQgbGliZXNkIGZyb20gYXV0by1zcGF3bmluZyBhIHNvdW5kIGRhZW1vbiBpZiBpdCBpcyBub3QgYWxyZWFkeSBydW5uaW5nLiBOb3cgdGhhdCB3ZSBkb24ndCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfb3BlbiksCgkgIChnc3RfZXNkc2lua19mYWN0b3J5X2luaXQpOgoJICBQcmV2ZW50IGxpYmVzZCBmcm9tIGF1dG8tc3Bhd25pbmcgYSBzb3VuZCBkYWVtb24gaWYgaXQKCSAgaXMgbm90IGFscmVhZHkgcnVubmluZy4gTm93IHRoYXQgd2UgZG9uJ3QgZG8gZXZpbCBzdHVmZgoJICBsaWtlIHRoYXQgYW55IGxvbmdlciB3ZSBjYW4gZ2l2ZSBlc2RzaW5rIGEgcmFuayBzbyB0aGF0CgkgIGF1dG9hdWRpb3Npbmsgd2lsbCB0cnkgaXQgYXMgd2VsbCBpZiBhbGwgb3RoZXIgYXVkaW8KCSAgc2lua3MgZmFpbCAoIzM0MzA1MSkuCgoyMDA2LTA3LTI0IDE0OjQyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9NYWtlZmlsZS5hbTogT29wcywgbmVlZCB0byByZW1vdmUgUkVBRE1FIGZyb20gRVhUUkFfRElTVCBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICBPb3BzLCBuZWVkIHRvIHJlbW92ZSBSRUFETUUgZnJvbSBFWFRSQV9ESVNUIGFzIHdlbGwuCgoyMDA2LTA3LTI0IDE0OjM3OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9SRUFETUU6IFJlbW92ZSwgaXQgY29udGFpbnMgbm90aGluZyB1c2VmdWwgYW55d2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL1JFQURNRToKCSAgUmVtb3ZlLCBpdCBjb250YWlucyBub3RoaW5nIHVzZWZ1bCBhbnl3YXkuCgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19pbml0KSwgKGdzdF9lc2RzaW5rX3ByZXBhcmUpLAoJICAoZ3N0X2VzZHNpbmtfZGVsYXkpOgoJICBTb21lIHNtYWxsIGNsZWFuLXVwczsgdXNlIEdTVF9CT0lMRVJQTEFURSBldGMuCgoyMDA2LTA3LTI0IDE0OjE2OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IEZpeCBuZWdvdGlhdGlvbiB0byBkZWFsIHdpdGggQU5ZL0VNUFRZIGNhcHMgaW5zdGVhZCBvZiBsZWFraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChhbGF3ZGVjX2dldGNhcHMpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGFsYXdlbmNfZ2V0Y2FwcyksIChnc3RfYWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX2dldGNhcHMpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChtdWxhd2VuY19nZXRjYXBzKToKCSAgRml4IG5lZ290aWF0aW9uIHRvIGRlYWwgd2l0aCBBTlkvRU1QVFkgY2FwcyBpbnN0ZWFkIG9mIGxlYWtpbmcuCgoyMDA2LTA3LTI0IDEzOjQwOjU2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogVXNlIGluZm9ybWF0aW9uIGZyb20gJ2ZhY3QnIGNodW5rIGZvciBsZW5ndGggY2FsY3VsYXRpb24gb2YgY29tcHJlc3NlZCBzYW1wbGVzLiBDYWxjdWxhdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX290aGVyKSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX2dldF91cHN0cmVhbV9zaXplKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBVc2UgaW5mb3JtYXRpb24gZnJvbSAnZmFjdCcgY2h1bmsgZm9yIGxlbmd0aCBjYWxjdWxhdGlvbiBvZiBjb21wcmVzc2VkCgkgIHNhbXBsZXMuIENhbGN1bGF0ZSBicHMgaWYgYm9ndXMgdmFsdWUgaXMgZm91bmQgaW4gd2F2IGhlYWRlciAoZW1iZWRlZAoJICBtcDIvbXAzKS4KCjIwMDYtMDctMjQgMTE6NDg6MDMgKzAwMDAgIEpvbmkgVmFsdGFuZW4gPGpvbmkudmFsdGFuZW5AbW92aWFsLmZpPgoKCSAgUG9ydCB1ZHAgcGx1Z2luIHRvIHdpbjMyICgjMzQ1Mjg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKb25pIFZhbHRhbmVuICA8am9uaSBkb3QgdmFsdGFuZW4gYXQgbW92aWFsIGZpPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfaW5pdCksCgkgIChnc3RfZHludWRwc2lua19maW5hbGl6ZSksIChnc3RfZHludWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19pbml0KSwgKGdzdF91ZHBzcmNfY3JlYXRlKSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfbmV0X3V0aWxzX3dpbjMyX2luZXRfYXRvbiksCgkgIChnc3RfdWRwX25ldF91dGlsc193aW4zMl93c2Ffc3RhcnR1cCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBQb3J0IHVkcCBwbHVnaW4gdG8gd2luMzIgKCMzNDUyODgpLgoKMjAwNi0wNy0yNCAxMTowMDozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFJlbW92ZSB1bndhbnRlZCBERUJVRyBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3NlbmQpOgoJICBSZW1vdmUgdW53YW50ZWQgREVCVUcgbGluZS4KCjIwMDYtMDctMjMgMTE6MzM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBPbiBzZWNvbmQgdGhvdWdodCwgaXQgbWlnaHQgYmUgd2lzZXIgYW5kIG1vcmUgZWZmaWNpZW50IG5vdCB0byBkbyB0YWcgcmVnaXN0cmF0aW9uIGZyb20gYSBzdHJlYW1pbmcgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKGlkM2RlbXV4X2FkZF9pZDN2Ml9mcmFtZV9ibG9iX3RvX3RhZ2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgIE9uIHNlY29uZCB0aG91Z2h0LCBpdCBtaWdodCBiZSB3aXNlciBhbmQgbW9yZSBlZmZpY2llbnQKCSAgbm90IHRvIGRvIHRhZyByZWdpc3RyYXRpb24gZnJvbSBhIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA2LTA3LTIzIDEwOjU2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogUHV0IElEM3YyIGZyYW1lcyB3ZSBjYW4ndCBwYXJzZSBhcyBiaW5hcnkgYmxvYnMgaW50byBwcml2YXRlIHRhZ3MsIHNvIHRoYXQgdGhleSBhcmUgbm90IGxvc3QgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIChpZDNkZW11eF9hZGRfaWQzdjJfZnJhbWVfYmxvYl90b190YWdsaXN0KSwKCSAgKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgIFB1dCBJRDN2MiBmcmFtZXMgd2UgY2FuJ3QgcGFyc2UgYXMgYmluYXJ5IGJsb2JzIGludG8gcHJpdmF0ZQoJICB0YWdzLCBzbyB0aGF0IHRoZXkgYXJlIG5vdCBsb3N0IHdoZW4gcmV0YWdnaW5nLCBhdCBsZWFzdCBvbmNlCgkgIGlkM3YybXV4IGhhcyBiZWVuIHRhdWdodCB0byByZS1pbmplY3QgdGhvc2UgZnJhbWVzIGFnYWluLgoJICBTZWUgYnVnICMzMzQzNzUuCgoyMDA2LTA3LTIxIDEwOjU3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggc29tZSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBGaXggc29tZSBsZWFrcy4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgRG9uJ3QgdXNlIFxuIGluIGRlYnVnIGxpbmVzLgoKMjAwNi0wNy0yMCAxODo0ODozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGFubm9kZXggYW5kIGljeWRlbXV4LCBjbGVhbnVwIHRoZSBzZWN0aW9ucyBhIGJpdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGFubm9kZXggYW5kIGljeWRlbXV4LCBjbGVhbnVwIHRoZSBzZWN0aW9ucyBhIGJpdAoKMjAwNi0wNy0xOSAxNDozNjowMCArMDAwMCAgTWFydGluIFN6dWxlY2tpIDxjb21waXpAc3VraW1hc2hpdGEuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3Qgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFydGluIFN6dWxlY2tpCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpOgoJICBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3QKCSAgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0YWluIHRoaXMKCSAgaW5mb3JtYXRpb24gKCMzNDI0OTQpLgoKMjAwNi0wNy0xOSAxMTo1Mjo1MyArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IFdyaXRlIEdTVF9UQUdfRU5DT0RFUiBhbmQgR1NUX1RBR19FTkNPREVSX1ZFUlNJT04gYXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGV4IExhbmNhc3RlciA8YWxleGwgYXQgdXNlcnMgc291cmNlZm9yZ2UgbmV0PgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIFdyaXRlIEdTVF9UQUdfRU5DT0RFUiBhbmQgR1NUX1RBR19FTkNPREVSX1ZFUlNJT04gYXMKCSAgSUQzdjIgVFNTRSBmcmFtZXMgKCMzNDc4OTgpLgoKMjAwNi0wNy0xOSAwNzo0MDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gZml4ZWQgYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBmaXhlZCBidWcKCjIwMDYtMDctMTggMTk6NTk6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFJlc3BlY3QgbXBlZ3ZlcnNpb24gZm9yICJ2aWRlby9tcGVnIiBhbmQgZ2l2ZSBtZXNzYWdlIGluIGNhc2Ugb2YgdW5oYW5kbGVkIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2Fwcyk6CgkgIFJlc3BlY3QgbXBlZ3ZlcnNpb24gZm9yICJ2aWRlby9tcGVnIiBhbmQgZ2l2ZSBtZXNzYWdlIGluIGNhc2Ugb2YKCSAgdW5oYW5kbGVkIHZlcnNpb25zLgoKMjAwNi0wNy0xOCAxODowNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUXVldWUgaW5jb21pbmcgZXZlbnRzIGlmIHRoZXJlJ3Mgbm8gc291cmNlIHBhZCB5ZXQgYW5kCgkgIHNlbmQgdGhlbSBkb3duc3RyZWFtIGxhdGVyIHdoZW4gdGhlIHBhZCBpcyB0aGVyZS4KCjIwMDYtMDctMTggMTY6NDc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0IHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldAoJICBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1dCBzYW1wbGVzIHdpdGggMjEtMjQgYml0IGRlcHRoCgkgIHdpdGggMzIgYml0IHdpZHRoIChtYWtlcyB0aGluZ3MgZWFzaWVyIGZvciB1cykuCgoyMDA2LTA3LTE4IDE1OjUzOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbiBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24KCSAgcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZXIgZ2V0cyBpbXBsZW1lbnRlZCBhIGxvdCBvZiBzdHVmZgoJICB3aWxsIGhhdmUgdG8gYmUgcmV3cml0dGVuIGFueXdheTsgcmVkbyBjaGFpbiBmdW5jdGlvbiwgbW92ZQoJICBlcnJvcnMgdG8gZW5kLCBlcnJvciBvdXQgaW5zdGVhZCBvZiBnX2Fzc2VydCgpaW5nLiBBbHNvIHJlbmFtZQoJICBvdmVybHkgbG9uZyB2YXJpYWJsZSAnd2F2cGFja2RlYycgdG8ganVzdCAnZGVjJzsgbWlzY2VsbGFuZW91cwoJICBvdGhlciBzbWFsbCBzdHVmZi4KCjIwMDYtMDctMTggMTQ6MDg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZiBuZWNlc3NhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZgoJICBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiAoZ3N0X3dhdnBhY2tfcmVhZF9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhY2tfcmVhZF9tZXRhZGF0YSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3JlcXVlc3RfbmV3X3BhZCksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkgIFBvcnQgdG8gbmV3L29mZmljaWFsIHdhdnBhY2sgQVBJLCBkb24ndCB1c2UgQVBJIHRoYXQgd2FzIGV4cG9ydGVkCgkgIGluIHdhdnBhY2sgaGVhZGVyIGZpbGVzIGFuZCBpbiB0aGUgbGliIGJ1dCBtZWFudCB0byBiZSBwcml2YXRlLCBhdAoJICBsZWFzdCBub3QgZm9yIHJlY2VudCB3YXZwYWNrIHZlcnNpb25zOyBtaXNjLiAnY2xlYW51cHMnICgjMzQ3NDQzKS4KCjIwMDYtMDctMTcgMTA6MjU6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgV2hlbiB3ZSBkbyBhIGtleWZyYW1lIHNlZWsgYW5kIHRoZSByZXF1ZXN0ZWQgdGltZSBpcyBhdCB0aGUKCSAga2V5ZnJhbWUsIGRvbid0IHNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBrZXlmcmFtZS4KCSAgRml4ZXMgIzM0NzQzOS4KCjIwMDYtMDctMTcgMTA6MjI6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBVc2Ugc3RhdGljYWxseSBhbGxvY2F0ZWQgc2VnbWVudCBpbnN0ZWFkIG9mIGxlYWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLCAoYnVmZmVyX2NsaXApLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwgKGdzdF9wbmdkZWNfdGFzayksCgkgIChnc3RfcG5nZGVjX2NoYWluKSwgKGdzdF9wbmdkZWNfc2lua19ldmVudCksCgkgIChnc3RfcG5nZGVjX2xpYnBuZ19pbml0KSwgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBVc2Ugc3RhdGljYWxseSBhbGxvY2F0ZWQgc2VnbWVudCBpbnN0ZWFkIG9mIGxlYWtpbmcuCgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEZpeCBmbHVzaCBhbmQgc2VlayBoYW5kbGluZy4KCjIwMDYtMDctMTYgMTQ6MzE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgc2ltcGxlIGdlbmVyaWMgbXBlZzQgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wNGdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpLCAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpOgoJICBBZGRlZCBzaW1wbGUgZ2VuZXJpYyBtcGVnNCBkZXBheWxvYWRlci4KCSAgRml4IGdlbmVyaWMgbXBlZzQgcGF5bG9hZGVyLgoKMjAwNi0wNy0xNSAxNToyNTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgdHJ5IGRvaW5nIHN0YXRlIGNoYW5nZXMgb24gYSBOVUxMIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9zdGF0ZSk6CgkgIERvbid0IHRyeSBkb2luZyBzdGF0ZSBjaGFuZ2VzIG9uIGEgTlVMTCBwb2ludGVyLgoKMjAwNi0wNy0xNSAxMTo1MDoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgoyMDA2LTA3LTE0IDEzOjMzOjU0ICswMDAwICBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDJAeWFob28uY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lio6IHJ0cGFtcmRlYyBpc24ndCBhIHN1YmNsYXNzIG9mIEdzdEJhc2VSdHBEZXBheWxvYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyIGF0IHlhaG9vIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2Ftcl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICBydHBhbXJkZWMgaXNuJ3QgYSBzdWJjbGFzcyBvZiBHc3RCYXNlUnRwRGVwYXlsb2FkLgoJICBGaXhlcyAjMzIxMTkxCgoyMDA2LTA3LTE0IDEyOjAxOjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IHNlZ2ZhdWx0IHdoZW4gbW92aW5nIG1vdXNlIHBvaW50ZXIgdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTE0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCBzZWdmYXVsdCB3aGVuIG1vdmluZyBtb3VzZSBwb2ludGVyIHRvIHRoZSBib3R0b20gcmlnaHQgY29ybmVyLgoKMjAwNi0wNy0xMyAxNToyMjoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoKMjAwNi0wNy0xMiAwOTozNDoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBtcGVnMiBUUyBkZXBheWxvYWRlci4gQ2xvc2luZyAjMzQ3MjM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJICBBZGRlZCBtcGVnMiBUUyBkZXBheWxvYWRlci4gQ2xvc2luZyAjMzQ3MjM0LgoKMjAwNi0wNy0xMiAwOToyODo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCjIwMDYtMDctMTEgMjI6NDY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiBSZW1vdmUgZ19hc3NlcnQgdGhhdCBzaG91bGRuJ3QgYmUgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19jbG9zZSk6CgkgIFJlbW92ZSBnX2Fzc2VydCB0aGF0IHNob3VsZG4ndCBiZSB0aGVyZS4KCjIwMDYtMDctMTAgMjA6MTE6MzQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IERvbid0IHB1c2ggdGFnIGV2ZW50cyBmb3VuZCBieSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgYmVmb3JlIG91dHB1dHRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAocHVzaF90YWdfbGlzdHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgRG9uJ3QgcHVzaCB0YWcgZXZlbnRzIGZvdW5kIGJ5IGdzdF9yaWZmX3BhcnNlX2luZm8oKSBiZWZvcmUgb3V0cHV0dGluZwoJICBHU1RfRVZFTlRfTkVXU0VHTUVOVC4KCjIwMDYtMDctMTAgMTY6NDE6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IHJlcGxhY2VkIGNsb3Nlc29ja2V0IGFuZCBjbG9zZSBpbiBjb2RlIHdpdGggb25lIENMT1NFX1NPQ0tFVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgcmVwbGFjZWQgY2xvc2Vzb2NrZXQgYW5kIGNsb3NlIGluIGNvZGUgd2l0aCBvbmUgQ0xPU0VfU09DS0VULgoJICBTb21lIG1vcmUgY2xlYW51cHMuIEZpeGVzICMzNDUzMDEuCgoyMDA2LTA3LTEwIDE1OjI2OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBGaXggZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIEZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MuCgoyMDA2LTA3LTEwIDE0OjQ5OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZpbHRlci86IERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgoyMDA2LTA3LTEwIDE0OjQyOjE1ICswMDAwICBNYXRoaXMgSG9mZXIgPG1hdGhpcy5ob2ZlckBkcmVhbWxhYi5uZXQ+CgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWF0aGlzIEhvZmVyIDxtYXRoaXMgZG90IGhvZmVyIGF0IGRyZWFtbGFiIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXRfY2FwcyksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2Rpc3Bvc2UpLCAoZ3N0X2lpcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9jbGFzc19pbml0KSwgKGdzdF9paXJfaW5pdCksIChpaXJfc2V0X2NhcHMpLAoJICAoaWlyX3RyYW5zZm9ybV9pcCksIChpaXJfc2V0X3Byb3BlcnR5KSwgKGlpcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0X2NhcHMpLCAobHB3c2luY190cmFuc2Zvcm1faXApLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgoyMDA2LTA3LTEwIDEwOjIxOjU3ICswMDAwICBSb2IgVGF5bG9yIDxyb2J0YXlsb3JAZmxvb3BpbHkub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogSWYgYSBkZXN0aW5hdGlvbiBpcyBhZGRlZCBiZWZvcmUgdGhlIHN0cmVhbSBpcyBzZXQgdG8gUEFVU0VELCB0aGUgbXVsdGljYXN0IGdyb3VwIGlzIG5vdCBqLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iIFRheWxvciA8cm9idGF5bG9yIGF0IGZsb29waWx5IGRvdCBvcmc+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGpvaW5fbXVsdGljYXN0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgSWYgYSBkZXN0aW5hdGlvbiBpcyBhZGRlZCBiZWZvcmUgdGhlIHN0cmVhbSBpcyBzZXQgdG8gUEFVU0VELCB0aGUKCSAgbXVsdGljYXN0IGdyb3VwIGlzIG5vdCBqb2luZWQgYXMgdGhlIHNvY2tldCBpcyBub3QgY3JlYXRlZCB5ZXQuCgkgIEFsc28gVFRMIGFuZCBMT09QIHNob3VsZCBhbHNvIGJlIHNldC4gRml4ZXMgIzM0NjkyMS4KCjIwMDYtMDctMTAgMDk6NTc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgoyMDA2LTA3LTEwIDA5OjQ2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSk6CgkgIEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCjIwMDYtMDctMDggMjI6NDE6MjUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy4qOiBGaXggdXNlLWRhbWFnZSBwcm9wZXJ0eSB0byBhY3R1YWxseSB3b3JrIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTA5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2Vfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlX3NyY19nZXRfY2FwcyksIChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2luaXQpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIEZpeCB1c2UtZGFtYWdlIHByb3BlcnR5IHRvIGFjdHVhbGx5IHdvcmsgOikKCSAgQWRkIHN0YXJ0eCwgc3RhcnR5LCBlbmR4LCBlbmR5IHByb3BlcnRpZXMgc28gc2NyZWVuY2FzdHMgb3RoZXIgdGhhbiBmdWxsCgkgIHNjcmVlbiBvbmVzIGNhbiB3b3JrLgoKMjAwNi0wNy0wOCAxOTowMzo1NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLio6IEFkZCB1c2VfZGFtYWdlIHByb3BlcnR5IHRvIG9mZmVyIGFiaWxpdHkgdG8gY2hvb3NlIHdoZXRoZXIgdG8gdXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTA4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2Vfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KSwgKGdzdF94aW1hZ2Vfc3JjX2luaXQpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIEFkZCB1c2VfZGFtYWdlIHByb3BlcnR5IHRvIG9mZmVyIGFiaWxpdHkgdG8gY2hvb3NlIHdoZXRoZXIgdG8gdXNlCgkgIFhEYW1hZ2Ugb3Igbm90LgoKMjAwNi0wNy0wNyAxNTowNDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2ZpbHRlcnMuYzogQXZvaWQgZ29vbSBjb3JlZHVtcGluZyBieSBjbGVhcmluZyBtZW1vcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJTZXRSZXNvbHV0aW9uKToKCSAgQXZvaWQgZ29vbSBjb3JlZHVtcGluZyBieSBjbGVhcmluZyBtZW1vcnkuCgkgIEZpeGVzIDM0NTY3OS4KCjIwMDYtMDctMDcgMTQ6MzA6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgoyMDA2LTA3LTA1IDIwOjIxOjAyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOiBBZGQgYSBsaW5rIHRvIGxpYmdzdHRhZy0wLjEwLmxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgQWRkIGEgbGluayB0byBsaWJnc3R0YWctMC4xMC5saWIuCgoyMDA2LTA3LTA1IDE0OjUyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRG9uJ3QgcmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGEgYnVmZmVyIGlzIGJlZm9yZSB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSAod2hpY2ggbWlnaHQgaGFwcGVuIHdpdGggbGFyZ2UgSUQzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X3RhZ19kZW11eF9yZWFkX3JhbmdlKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSk6CgkgIERvbid0IHJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhIGJ1ZmZlciBpcyBiZWZvcmUKCSAgdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0gKHdoaWNoIG1pZ2h0IGhhcHBlbiB3aXRoCgkgIGxhcmdlIElEM3YyIHRhZ3MgaWYgdGhlIHRhZyByZWFkaW5nIHdhcyBkb25lIHB1bGxyYW5nZQoJICBiYXNlZCBhbmQgd2UgdGhlbiBzd2l0Y2hlZCB0byBwdXNoIG1vZGUgbGF0ZXIgb24pLgoJICBGaXhlcyByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY29tbWl0IGZyb20gSnVuZSAyOXRoLgoKMjAwNi0wNy0wNSAxMDoxNDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IE1ha2UgVVRGLTggdGhlIGRlZmF1bHQgZW5jb2Rpbmcgd2hlbiB3cml0aW5nIHN0cmluZyB0YWdzIChiZWZvcmUsIG91ciBVVEYtOCBzdHJpbmdzIHdvdWxkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBNYWtlIFVURi04IHRoZSBkZWZhdWx0IGVuY29kaW5nIHdoZW4gd3JpdGluZyBzdHJpbmcKCSAgdGFncyAoYmVmb3JlLCBvdXIgVVRGLTggc3RyaW5ncyB3b3VsZCBhdXRvbWF0aWNhbGx5CgkgIGJlIGNvbnZlcnRlZCB0byBJU08tODg1OS0xIGJ5IHRhZ2xpYiBhbmQgd3JpdHRlbiBhcwoJICBJU08tODg1OS0xIGZpZWxkcyBpZiB0aGF0IHdhcyBwb3NzaWJsZSkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHV0Zjhfc3RyaW5nX2luX2J1ZiksCgkgICh0ZXN0X3RhZ2xpYl9pZDNtdXhfY2hlY2tfdGFnX2J1ZmZlciksIChpZGVudGl0eV9jYiksCgkgICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgQWRkIHRlc3QgY2FzZSB0aGF0IG1ha2VzIHN1cmUgb3VyIFVURi04IHN0cmluZ3MgaGF2ZQoJICBhY3R1YWxseSBiZWVuIHdyaXR0ZW4gaW50byB0aGUgdGFnIGFzIFVURi04LgoKMjAwNi0wNy0wNCAxNjowMDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogTGV0J3MgdHJ5IHRoYXQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTGV0J3MgdHJ5IHRoYXQgYWdhaW4uCgoyMDA2LTA3LTA0IDE1OjQwOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIG1vbm9zY29wZSBwbHVnaW4gZm9yIG5vdyB1bnRpbCBpdCBmdWxmaWxscyBhbGwgdGhlIHJlcXVpcmVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIG1vbm9zY29wZSBwbHVnaW4gZm9yIG5vdyB1bnRpbCBpdCBmdWxmaWxscwoJICBhbGwgdGhlIHJlcXVpcmVtZW50cy4KCjIwMDYtMDctMDMgMjA6MzU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IG1vbm9zY29wZSB2aXN1YWxpc2F0aW9uIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2Jhc2VfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX2NsYXNzX2luaXQpLCAoZ3N0X21vbm9zY29wZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfZmluYWxpemUpLCAoZ3N0X21vbm9zY29wZV9yZXNldCksCgkgIChnc3RfbW9ub3Njb3BlX3Npbmtfc2V0Y2FwcyksIChnc3RfbW9ub3Njb3BlX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9tb25vc2NvcGVfc3JjX25lZ290aWF0ZSksIChnZXRfYnVmZmVyKSwgKGdzdF9tb25vc2NvcGVfY2hhaW4pLAoJICAoZ3N0X21vbm9zY29wZV9zaW5rX2V2ZW50KSwgKGdzdF9tb25vc2NvcGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tb25vc2NvcGVfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJICBQb3J0IG1vbm9zY29wZSB2aXN1YWxpc2F0aW9uIHRvIDAuMTAuCgoyMDA2LTA3LTAzIDIwOjAyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgSVY0MSBmb3VyY2MgKHNlZSBidWcgIzE3MTExMSk7IGRvbid0IG91dHB1dCBjb25mdXNpbmcKCSAgZGVidWcgbWVzc2FnZSB3aGVuIHNraXBwaW5nIGF0b21zLgoKMjAwNi0wNy0wMyAxNjo0MzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLCBub3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwgbm90CgkgIEZMT1dfRVJST1IuIEZpeGVzICdpbnRlcm5hbCBzdHJlYW0gZXJyb3InIGVycm9ycyB0aGF0CgkgIHdvdWxkIHNvbWV0aW1lcyBvY2N1ciBpbiB0b3RlbSB3aGVuIHNjcnViYmluZyB0byB0aGUKCSAgZW5kIG9mIGFuIElEM3YxIHRhZ2dlZCBtcDMgZmlsZS4KCjIwMDYtMDctMDMgMTU6MzE6MjIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBJbXBsZW1lbnQgYnVmZmVyIGNsaXBwaW5nL2Ryb3BwaW5nIHVzaW5nIEdzdFNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLCAodXNlcl9pbmZvX2NhbGxiYWNrKSwKCSAgKGJ1ZmZlcl9jbGlwKSwgKHVzZXJfZW5kX2NhbGxiYWNrKSwgKGdzdF9wbmdkZWNfY2hhaW4pLAoJICAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBJbXBsZW1lbnQgYnVmZmVyIGNsaXBwaW5nL2Ryb3BwaW5nIHVzaW5nIEdzdFNlZ21lbnQuCgkgIFRoaXMgcHJvdmlkZXMgYWNjdXJhdGUgc2Vla2luZy4KCjIwMDYtMDctMDMgMTU6Mjg6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFByb3BlciBhZ2dyZWdhdGlvbiBvZiBlYWNoIHN0cmVhbSdzIEdzdEZsb3dSZXR1cm4gaW4gb3JkZXIgdG8gZmlndXJlIG91dCB3aGV0aGVyIHRoZSB0YXNrIHNob3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlcyksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfYWdncmVnYXRlZF9mbG93KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKHB1c2hfdGFnX2xpc3RzKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFByb3BlciBhZ2dyZWdhdGlvbiBvZiBlYWNoIHN0cmVhbSdzIEdzdEZsb3dSZXR1cm4gaW4gb3JkZXIgdG8gZmlndXJlIG91dAoJICB3aGV0aGVyIHRoZSB0YXNrIHNob3VsZCBzdG9wIG9yIG5vdC4KCSAgRG9uJ3Qgc2VuZCBpbmxpbmUgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIG91dCBhIE5FV19TRUdNRU5ULCBtb3JlCgkgIHNwZWNpZmljYWxseSBmb3IgR1NUX1RBR19FVkVOVC4KCSAgQ2hhbmdlIGEgR1NUX0VSUk9SIHRvIGEgR1NUX1dBUk5JTkcgZm9yIGEgbm9uLWZhdGFsIHNpdHVhdGlvbiBpbiByZWFkaW5nCgkgIHN1Yi1pbmRleGVzLgoKMjAwNi0wNi0zMCAwNzoxMToyNCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IE1vdmUgIk1vbml0b3IiIHNsaWRlciB0byBpbnB1dCB0YWIgc28gaXQgd29ya3MgbW9yZSBsaWtlIHNkdGF1ZGlvY29udHJvbCwgd2hpY2ggLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KToKCSAgTW92ZSAiTW9uaXRvciIgc2xpZGVyIHRvIGlucHV0IHRhYiBzbyBpdCB3b3JrcyBtb3JlIGxpa2UKCSAgc2R0YXVkaW9jb250cm9sLCB3aGljaCBpcyB3aGF0IHBlb3BsZSBvbiBTb2xhcmlzIGFyZSB1c2VkCgkgIHRvIHVzaW5nIGZvciB0aGVpciBtaXhlciBwcm9ncmFtICgjMzQ2MjU5KS4KCjIwMDYtMDYtMjkgMTQ6NTA6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogZml4IGEgbGVhaywgY2xlYW4gdXAgYXQgdGhlIGVuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBmaXggYSBsZWFrLCBjbGVhbiB1cCBhdCB0aGUgZW5kCgoyMDA2LTA2LTI5IDExOjQxOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogU2VuZCB0YWcgZXZlbnQgYWZ0ZXIgbmV3c2VnbWVudCBldmVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgU2VuZCB0YWcgZXZlbnQgYWZ0ZXIgbmV3c2VnbWVudCBldmVudC4KCjIwMDYtMDYtMjkgMTE6MTE6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogTWFrZSBzdXJlIHdlIGRvbid0IHJldHVybiBHU1RfRkxPV19PSyB3aXRoIGEgTlVMTCBidWZmZXIgaW4gY2VydGFpbiBjYXNlcyB3aGVyZSBhIHJlYWQgYmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIEdTVF9GTE9XX09LIHdpdGggYSBOVUxMIGJ1ZmZlciBpbgoJICBjZXJ0YWluIGNhc2VzIHdoZXJlIGEgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSBpcwoJICByZXF1ZXN0ZWQuIEZpeGVzICMzNDU5MzAuCgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfdGFnX2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBGaXggc2FtZSBpc3N1ZSBoZXJlIGFzIHdlbGwuCgoyMDA2LTA2LTI5IDExOjA1OjE0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IGh5cG90aGV0aWNhbCBjcmFzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMjkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIEZpeCBoeXBvdGhldGljYWwgY3Jhc2guCgoyMDA2LTA2LTI4IDA4OjM2OjMwICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IERvIG5vdCBtb2RpZnkgdGhlIHBvcnRzIHZhbHVlLiBJZiB0aGUgdXNlciBoYXMgdHVybmVkIG9mZiB0aGUgYnVpbHQtaW4gc3BlYWtlcnMsIHRoZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKToKCSAgRG8gbm90IG1vZGlmeSB0aGUgcG9ydHMgdmFsdWUuIElmIHRoZSB1c2VyIGhhcyB0dXJuZWQgb2ZmIHRoZQoJICBidWlsdC1pbiBzcGVha2VycywgdGhlbiB3ZSBzaG91bGQgbm90IHJlc2V0IGl0IGluIHRoZSBwcmVwYXJlCgkgIGZ1bmN0aW9uLCBzaW5jZSB0aGlzIGNhdXNlcyB0aGUgYnVpbHQtaW4gc3BlYWtlcnMgdG8gdHVybgoJICBiYWNrIG9uIGFueXRpbWUgdGhlIHVzZXIgY2hhbmdlcyBhIHRyYWNrIGluIHRvdGVtLCByaHl0aG1ib3gsCgkgIGV0Yy4gKCMzNDYwNjYpLgoKMjAwNi0wNi0yMyAwOTozNTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2dzdGdvb20uYzogRml4IGRvdWJsZSBjYXBzIHVucmVmIHdoZW4gbmVnb3RpYXRpb24gZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpOgoJICBGaXggZG91YmxlIGNhcHMgdW5yZWYgd2hlbiBuZWdvdGlhdGlvbiBmYWlscy4KCjIwMDYtMDYtMjIgMTk6MzE6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgcGx1cyB0d28gbWlub3IgbWFjcm8gZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpCgkgIHBsdXMgdHdvIG1pbm9yIG1hY3JvIGZpeGVzLgoKMjAwNi0wNi0yMiAxNjoyNzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFRyeSB0byBmaXggdXAgYnJva2VuIG1hdHJvc2thIGZpbGVzIGNvbnRhaW5pbmcgc3VidGl0bGUgc3RyZWFtcyB3aXRoIG5vbi1VVEY4IGNoYXJhY3RlciBlbmNvZGluZ3MgKGNvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3N1YnRpdGxlX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgVHJ5IHRvIGZpeCB1cCBicm9rZW4gbWF0cm9za2EgZmlsZXMgY29udGFpbmluZyBzdWJ0aXRsZQoJICBzdHJlYW1zIHdpdGggbm9uLVVURjggY2hhcmFjdGVyIGVuY29kaW5ncyAoY291cnRlc3kgb2YKCSAgbWt2bWVyZ2UpIHVzaW5nIGVpdGhlciB0aGUgZW5jb2Rpbmcgc3BlY2lmaWVkIGluIHRoZQoJICBHU1RfU1VCVElUTEVfRU5DT0RJTkcgZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgdGhlCgkgIGN1cnJlbnQgbG9jYWxlJ3MgY2hhcmFjdGVyIHNldCBpZiBpdCBpcyBub24tVVRGOC4KCSAgRml4ZXMgIzMzNzA3Ni4KCjIwMDYtMDYtMjIgMTI6MTc6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogU2V0IGltYWdlIHR5cGUgZnJvbSBBUElDIGZyYW1lIGFzICJpbWFnZS10eXBlIiBmaWVsZCBvZiBHU1RfVEFHX0lNQUdFIGJ1ZmZlciBjYXBzICgjMzQ0NjA1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgU2V0IGltYWdlIHR5cGUgZnJvbSBBUElDIGZyYW1lIGFzICJpbWFnZS10eXBlIiBmaWVsZAoJICBvZiBHU1RfVEFHX0lNQUdFIGJ1ZmZlciBjYXBzICgjMzQ0NjA1KS4KCjIwMDYtMDYtMjAgMTk6NDA6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy86IFN1cHBvcnQgY2hhaW4tYmFzZWQgb3BlcmF0aW9uLCBzaG91bGQgbWFrZSBmbGFjLW92ZXItREFBUCB3b3JrICgjMzQwNDkyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX3Jlc2V0X2RlY29kZXJzKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksIChnc3RfZmxhY19kZWNfZmluYWxpemUpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFja19zZWVrYWJsZSksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2tfc3RyZWFtKSwKCSAgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2tfc2Vla2FibGUpLAoJICAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrX3N0cmVhbSksIChnc3RfZmxhY19kZWNfcmVhZF9zZWVrYWJsZSksCgkgIChnc3RfZmxhY19kZWNfcmVhZF9zdHJlYW0pLCAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZV9zZWVrYWJsZSksIChnc3RfZmxhY19kZWNfd3JpdGVfc3RyZWFtKSwKCSAgKGdzdF9mbGFjX2RlY19sb29wKSwgKGdzdF9mbGFjX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbGFjX2RlY19jaGFpbiksIChnc3RfZmxhY19kZWNfY29udmVydF9zaW5rKSwKCSAgKGdzdF9mbGFjX2RlY19nZXRfc2lua19xdWVyeV90eXBlcyksIChnc3RfZmxhY19kZWNfc2lua19xdWVyeSksCgkgIChnc3RfZmxhY19kZWNfZ2V0X3NyY19xdWVyeV90eXBlcyksIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfZmxhY19kZWNfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfZmxhY19kZWNfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9mbGFjX2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2ZsYWNfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBTdXBwb3J0IGNoYWluLWJhc2VkIG9wZXJhdGlvbiwgc2hvdWxkIG1ha2UgZmxhYy1vdmVyLURBQVAKCSAgd29yayAoIzM0MDQ5MikuCgoyMDA2LTA2LTIwIDE1OjM1OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IERvYyB1cGRhdGVzLCBtZXJnZSBzb21lIHVudXNlZCBzeW1ib2xzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgRG9jIHVwZGF0ZXMsIG1lcmdlIHNvbWUgdW51c2VkIHN5bWJvbHMuCgoyMDA2LTA2LTIwIDE0OjU3OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHJ0c3AgcGx1Z2luLiBGaXhlcyAjMzQ1MzkzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZGVkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBydHNwIHBsdWdpbi4gRml4ZXMgIzM0NTM5My4KCjIwMDYtMDYtMjAgMTI6MTA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBVc2UgYmV0dGVyIEdfT1NfKiBtYWNyb3MuIEZpeGVzICMzNDUzMDEgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoaW5ldF9hdG9uKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSksIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIFVzZSBiZXR0ZXIgR19PU18qIG1hY3Jvcy4gRml4ZXMgIzM0NTMwMSBzb21lIG1vcmUuCgoyMDA2LTA2LTIwIDEwOjM1OjQ4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBBZGQgYSBTdW5BdWRpbyBzb3VyY2UgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCksIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX25ldyksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2xpc3RfdHJhY2tzKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfbXV0ZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF9yZWNvcmQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX2luaXQpLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfYmFzZV9pbml0KSwgKGdzdF9zdW5hdWRpb3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19pbml0KSwgKGdzdF9zdW5hdWRpb3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2dldF9wcm9wZXJ0eSksIChnc3Rfc3VuYXVkaW9zcmNfZ2V0Y2FwcyksCgkgIChnc3Rfc3VuYXVkaW9zcmNfb3BlbiksIChnc3Rfc3VuYXVkaW9zcmNfY2xvc2UpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3ByZXBhcmUpLCAoZ3N0X3N1bmF1ZGlvc3JjX3VucHJlcGFyZSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcmVhZCksIChnc3Rfc3VuYXVkaW9zcmNfZGVsYXkpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3Jlc2V0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgQWRkIGEgU3VuQXVkaW8gc291cmNlIHBsdWdpbi4KCSAgU3VwcG9ydCBzdGVyZW8gYW5kIHJpZ2h0L2xlZnQgY2hhbm5lbCBnYWluIGluIHRoZSBtaXhlciBwbHVnaW4uCgkgIFN1cHBvcnQgdGhlIFJFQ09SRCBmbGFnIHNvIHRoYXQgeW91IGNhbiBzd2l0Y2ggYmV0d2VlbiBsaW5lLWlucHV0IGFuZAoJICBtaWNyb3Bob25lIGluIGdub21lLXZvbHVtZS1jb250cm9sLgoJICBDb2RlIGNsZWFudXBzIGxpa2UgdXNpbmcgYW4gZW51bWVyYXRvciBmb3IgdHJhY2sgbnVtYmVyIGluc3RlYWQgb2YgYW4KCSAgaW50ZWdlci4gRml4ZXMgIzM0NDkyMy4KCjIwMDYtMDYtMjAgMTA6MzE6NDEgKzAwMDAgIEpvbmkgVmFsdGFuZW4gPGpvbmkudmFsdGFuZW5AbW92aWFsLmZpPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogTWFrZSBSVFNQIHBsdWdpbiBjb21waWxlIG9uIHdpbmRvd3MuIEZpeGVzICMzNDUzMDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uaSBWYWx0YW5lbiA8am9uaSBkb3QgdmFsdGFuZW4gYXQgbW92aWFsIGRvdCBmaT4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoaW5ldF9hdG9uKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgIE1ha2UgUlRTUCBwbHVnaW4gY29tcGlsZSBvbiB3aW5kb3dzLiBGaXhlcyAjMzQ1MzAxLgoJICBTb21lIGNoYW5nZXMgdG8gb3JpZ2luYWwgcGF0Y2ggdG8gY2F0Y2ggZXJyb3JzIGJldHRlci4KCSAgdXNlIGlmZGVmIFdJTjMyIGluc3RlYWQgb2YgaWZuZGVmLgoKMjAwNi0wNi0xOSAxMDowMDoxOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogSWYgd2UgaGF2ZSBsaWJyYXcxMzk0ID49IDEuMi4xLCB0aGVuIHdlIG5lZWQgbGliaWVjNjE4ODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTE5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBJZiB3ZSBoYXZlIGxpYnJhdzEzOTQgPj0gMS4yLjEsIHRoZW4gd2UgbmVlZCBsaWJpZWM2MTg4My4KCjIwMDYtMDYtMTggMTQ6MDA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFmdGVyIGEgZmFpbGVkIGJ1ZmZlciBhbGxvYywgd2UgbmVlZCB0byBhYm9ydCB0aGUganBlZyBkZWNvZGluZyAoaXQgc3RhcnRlZCB3aGVuIHBhcnNpbmcgaGVhZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgQWZ0ZXIgYSBmYWlsZWQgYnVmZmVyIGFsbG9jLCB3ZSBuZWVkIHRvIGFib3J0IHRoZSBqcGVnIGRlY29kaW5nIChpdAoJICBzdGFydGVkIHdoZW4gcGFyc2luZyBoZWFkZXJzIHRvIGZpZ3VyZSBvdXQgaG93IG1hbnkgYnl0ZXMgd2UgbmVlZAoJICB0byByZXF1ZXN0IGRvd25zdHJlYW0pLgoKMjAwNi0wNi0xOCAxMjozNzoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAoIzM0NTIzMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKToKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKCMzNDUyMzIpLgoKMjAwNi0wNi0xNyAxNDozNTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LCAjMzQzNjAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksCgkgICMzNDM2MDIpLgoKMjAwNi0wNi0xNiAxMjozNTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0xNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNi0xNiAxMDo1NjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfUExVR0lOX0RPQ1MsIC0tZW5hYmxlLXBsdWdpbi1kb2NzIGV0Yy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9QTFVHSU5fRE9DUywgLS1lbmFibGUtcGx1Z2luLWRvY3MgZXRjLgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgQWRkL2ZpeCBhcGV2Mm11eCBkb2NzLgoKMjAwNi0wNi0xNiAwOTo0OTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fd2luZG93X2Rlc3Ryb3kpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHBvcnQgdG8gZGVyaXZlIGZyb20gYmFzZXRyYW5zZm9ybSBhbmQgc2VuZCByZXN1bHRzIHZpYSBtZXNzYWdlcwoJICAobGlrZSBsZXZlbCBlbGVtZW50KQoKMjAwNi0wNi0xNSAxNTo1ODowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCjIwMDYtMDYtMTUgMDg6NTA6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgRml4ZXMgIzM0NDk0NC4KCjIwMDYtMDYtMTQgMTU6NTk6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuYzogUmVzZXQgc2VnbWVudCBpbmZvIG9uIGZsdXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jbGFzc19pbml0KSwgKGdzdF9kdmRlY19pbml0KSwKCSAgKGdzdF9kdmRlY19maW5hbGl6ZSksIChnc3RfZHZkZWNfc2lua19ldmVudCksCgkgIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgUmVzZXQgc2VnbWVudCBpbmZvIG9uIGZsdXNoLgoJICBBbGxvYyBzZWdtZW50IGluIF9pbml0LCBmcmVlIGluIF9maW5hbGl6ZS4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1bGxfc2Vlayk6CgkgIERvbid0IHNlbmQgc2VnbWVudHMgdHdpY2UuCgoyMDA2LTA2LTE0IDE1OjA3OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogUmVzcGVjdCBzZWdtZW50LnN0b3AuIEZpeGVzICMzNDI1OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgIFJlc3BlY3Qgc2VnbWVudC5zdG9wLiBGaXhlcyAjMzQyNTkyLgoKMjAwNi0wNi0xNCAxMToyODo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBObyBsYW5ndWFnZSBzcGVjaWZpZWQgbWVhbnMgdGhlIGltcGxpZWQgbGFuZ3VhZ2UgaXMgRW5nbGlzaCBhY2NvcmRpbmcgdG8gdGhlIG1hdHJvc2thIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKToKCSAgTm8gbGFuZ3VhZ2Ugc3BlY2lmaWVkIG1lYW5zIHRoZSBpbXBsaWVkIGxhbmd1YWdlIGlzIEVuZ2xpc2gKCSAgYWNjb3JkaW5nIHRvIHRoZSBtYXRyb3NrYSBzcGVjIChwYXJ0aWFsbHkgZml4ZXMgIzM0NDcwOCk7CgkgIGFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0LgoKMjAwNi0wNi0xNCAwOTozMjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3IGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldwoJICBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdGhlciBzdHVmZi4gU2V0IGR1cmF0aW9uCgkgIHRvICd1bmtub3duJyBpbiBpbml0aWFsIGhlYWRlciBhbmQgcmVzZW5kIGhlYWRlciB3aXRoIHByb3BlcgoJICBkdXJhdGlvbiBvbiBFT1M7IHVwZGF0ZSBTZWJhc3RpYW4ncyBlLW1haWwgYWRkcmVzcy4KCjIwMDYtMDYtMTQgMDg6MDY6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogV2hlbiBvcGVyYXRpbmcgY2hhaW4tYmFzZWQsIGRvbid0IG1ha2UgYW55IGFzc3VtcHRpb25zIGFib3V0IHRoZSBjaHVua2luZyBvZiB0aGUgaW5jb21pbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwKCSAgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICBXaGVuIG9wZXJhdGluZyBjaGFpbi1iYXNlZCwgZG9uJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMgYWJvdXQgdGhlCgkgIGNodW5raW5nIG9mIHRoZSBpbmNvbWluZyBkYXRhIGFuZCBtYWtlIHN0cmVhbWluZyB3b3JrIG9uIGRheXMgb3RoZXIKCSAgdGhhbiB0aGUgc2Vjb25kIFRodXJzZGF5IGFmdGVyIGEgZnVsbCBtb29uLiBBbHNvIGZpeCB1cCBkZWJ1ZwoJICBtZXNzYWdlcyBoZXJlIGFuZCB0aGVyZSBhbmQgbWFrZSB1c2Ugb2YgdGhlIG1vc3QgZXhjZWxsZW50IG5ldwoJICBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB1dGlsaXR5IGZ1bmN0aW9uLgoJICBTa2lwIGFueSAnYmV4dCcgY2h1bmtzIGluIGZyb250IG9mIHRoZSAnZm10ICcgY2h1bmsuIEZpeGVzICMzNDM4MzcuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFJlbW92ZSB0cmFpbGluZyBjb21tYSBhZnRlciBsYXN0IGVudW0gdmFsdWUsIHNvbWUgY29tcGlsZXJzIGRvbid0CgkgIGxpa2UgdGhhdC4KCjIwMDYtMDYtMTMgMTc6MDU6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHByZW1hdHVyZSBFT1MgZ3JhY2VmdWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBIYW5kbGUgcHJlbWF0dXJlIEVPUyBncmFjZWZ1bGx5LgoKMjAwNi0wNi0xMyAwOTo1NDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUHJldmVudCBvdXQgb2YgYm91bmRzIGFycmF5IGFjY2VzcyB3aGVuIHNjcnViYmluZyB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIGZpbGUgYmV0d2VlbiB0aGUgbGFzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgUHJldmVudCBvdXQgb2YgYm91bmRzIGFycmF5IGFjY2VzcyB3aGVuIHNjcnViYmluZyB0b3dhcmRzCgkgIHRoZSBlbmQgb2YgdGhlIGZpbGUgYmV0d2VlbiB0aGUgbGFzdCBpbmRleCBlbnRyeSBhbmQgdGhlCgkgIGVuZC4gRml4ZXMgb2NjYXNpb25hbCAnc3RhcnQgPD0gc3RvcCcgbmV3c2VnbWVudCBldmVudAoJICBhc3NlcnRpb25zIHdoZW4gc2NydWJiaW5nIGluIE1KUEVHIGZpbGVzLgoKMjAwNi0wNi0xMiAxMToxMzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFuZCBhbm90aGVyIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQW5kIGFub3RoZXIgb25lLgoKMjAwNi0wNi0xMiAxMTowNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNi0wNi0xMiAxMDo1MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kaXJlY3RkcmF3c2lua19pbml0KToKCSAgQ29tbWVudCBvdXQgdW51c2VkIGdsb2JhbCBpbnN0YW5jZSB2YXJpYWJsZS4KCjIwMDYtMDYtMTEgMTk6MzE6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRXh0cmFjdCBpbWFnZXMgZnJvbSBJRDN2MiB0YWdzIChBUElDIGZyYW1lcykuIEZpeGVzICMzMzk3MDQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAoc2Nhbl9lbmNvZGVkX3N0cmluZyksIChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgRXh0cmFjdCBpbWFnZXMgZnJvbSBJRDN2MiB0YWdzIChBUElDIGZyYW1lcykuIEZpeGVzICMzMzk3MDQuCgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgPj0gMC4xMC44IChmb3IgR1NUX1RBR19JTUFHRSBhbmQKCSAgR1NUX1RBR19QUEVWSUVXX0lNQUdFIHVzZWQgaW4gdGhlIHBhdGNoIGFib3ZlKS4KCjIwMDYtMDYtMTEgMTg6NTY6MjQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3JhdzEzOTQvLmdpdGlnbm9yZToKCSogZXh0L3RhZ2xpYi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDYtMDYtMTEgMTg6NTI6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IGdyYXR1aXRvdXMgY29tbWVudCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSk6CgkgIGdyYXR1aXRvdXMgY29tbWVudCBjaGFuZ2VzCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgZml4IGxldmVsIHRlc3QgbGVha3MKCjIwMDYtMDYtMTEgMTg6NDQ6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA2LTExIDE4OjIwOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogVXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHV0aWxpdHkgZnVuY3Rpb24gaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChpZDNkZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSk6CgkgIFVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB1dGlsaXR5IGZ1bmN0aW9uIGhlcmUuCgoyMDA2LTA2LTExIDE3OjA4OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHVwZGF0ZSBidWlsZCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYTUyZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdmRuYXYvTWFrZWZpbGUuYW06CgkgICogZXh0L2R2ZHJlYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L21hZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NpZHBsYXkvTWFrZWZpbGUuYW06CgkgIHVwZGF0ZSBidWlsZCBmaWxlcwoKMjAwNi0wNi0xMSAxMzo1NzoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiByZXF1aXJlIGFtMTcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgcmVxdWlyZSBhbTE3CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgY2xlYW4gdXAgYnVpbGQgZnVydGhlcgoKMjAwNi0wNi0xMSAxMzo1NTozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUKCjIwMDYtMDYtMTAgMTU6MzM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGV4dC93YXZwYWNrLzogQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlPgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL21kNS5jOgoJICAqIGV4dC93YXZwYWNrL21kNS5oOgoJICBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoKMjAwNi0wNi0wOSAyMDozNjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdjb25mL01ha2VmaWxlLmFtOiBIb25vdXIgLS1kaXNhYmxlLXNjaGVtYXMtaW5zdGFsbCBjb25maWd1cmUgb3B0aW9uLiBGaXhlcyAjMzQ0MTAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgSG9ub3VyIC0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwgY29uZmlndXJlIG9wdGlvbi4gRml4ZXMgIzM0NDEwMC4KCjIwMDYtMDYtMDkgMTg6MzM6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbTogQWRkIC1sbSB0byBMSUJTIGZvciBwb3coKSBmdW5jdGlvbiwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIgZGVwZW5kZW5jaWVzIChzdWNoIGFzIGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkgIEFkZCAtbG0gdG8gTElCUyBmb3IgcG93KCkgZnVuY3Rpb24sIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyCgkgIGRlcGVuZGVuY2llcyAoc3VjaCBhcyBsaWJ4bWwtMi4wKSBkcmFncyBpdCBpbiBhdXRvbWF0aWNhbGx5CgkgICgjMzQzNjAzKS4KCjIwMDYtMDYtMDkgMTg6MTc6MjMgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBXZSBzaG91bGQgdXNlICRTRUQgYW5kIG5vdCAkKFNFRCkgaW4gY29uZmlndXJlLmFjICgjMzQzNjc4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2Ugc2hvdWxkIHVzZSAkU0VEIGFuZCBub3QgJChTRUQpIGluIGNvbmZpZ3VyZS5hYyAoIzM0MzY3OCkuCgoyMDA2LTA2LTA5IDE3OjM4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMsIGZpeGVzIGJ1aWxkIG9uIGN5Z3dpbiAoIzM0Mzg2NikuCgoyMDA2LTA2LTA5IDE3OjI5OjA4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBBdHRhY2hlZCBmaW5kIGEgcGF0Y2ggdGhhdCBmaXhlcyBhIG51bWJlciBvZiBidWdzIHdpdGggdGhlIFN1bkF1ZGlvIG1peGVyIHBsdWdpbiBhbmQgZml4ZXMgIzM0NDEwMTogMS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfb3BlbiksIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9uZXcpLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X211dGUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfd3JpdGUpOgoJICBBdHRhY2hlZCBmaW5kIGEgcGF0Y2ggdGhhdCBmaXhlcyBhIG51bWJlciBvZiBidWdzIHdpdGggdGhlIFN1bkF1ZGlvIG1peGVyCgkgIHBsdWdpbiBhbmQgZml4ZXMgIzM0NDEwMToKCSAgMS4gVGhlIGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCBrZXB0IGFwcGVuZGluZyB0aGUgc2FtZSAzIHRyYWNrcyBvbnRvCgkgIHRoZSB0cmFja2xpc3QgY2F1c2luZyBnbm9tZS12b2x1bWUtY29udHJvbCdzIHByZWZlcmVuY2VzIGRpYWxvZyB0byBiZSBtZXNzZWQKCSAgdXAgYW5kIHdvdWxkIGNvcmUgZHVtcCBpZiB5b3UgY2hlY2tlZC91bmNoZWNrZWQgYW55IGl0ZW0uCgkgIDIuIFdlIHdlcmVuJ3QgcHJldmlvdXNseSBzZXR0aW5nIHRoZSBNVVRFIGZsYWcgcHJvcGVybHkuICBGaXhpbmcgdGhpcyBtYWtlcwoJICBnbm9tZS12b2x1bWUtY29udHJvbCB3b3JrIGJldHRlci4KCSAgMy4gTm93IHdlIHByb3Blcmx5IGRlZmluZSB0aGUgaW5wdXQgdHJhY2sgdG8gYmUgR1NUX01JWEVSX1RSQUNLX0lOUFVUIGFuZAoJICB0aGUgbW9uaXRvciB0byBiZSBHU1RfTUlYRVJfVFJBQ0tfT1VUUFVULCBzbyB0aGF0IG1ha2VzIGdub21lLXZvbHVtZS1jb250cm9sCgkgIGxvb2sgYmV0dGVyLgoJICBBbHNvIHNvbWUgbWlub3IgY2xlYW51cCBpbiBnc3RzdW5hdWRpb3NpbmsuYy4KCjIwMDYtMDYtMDkgMTc6MTI6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IEFQSTogQWRkZWQgSURDVCBtZXRob2QgcHJvcGVydHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2lkY3RfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9qcGVnX2RlY19jbGFzc19pbml0KSwgKGdzdF9qcGVnX2RlY19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19kZWNvZGVfaW5kaXJlY3QpLCAoZ3N0X2pwZWdfZGVjX2RlY29kZV9kaXJlY3QpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKSwgKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9qcGVnX2RlY19zZXRfcHJvcGVydHkpLCAoZ3N0X2pwZWdfZGVjX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBBUEk6IEFkZGVkIElEQ1QgbWV0aG9kIHByb3BlcnR5CgkgIFNtYWxsIGNsZWFudXBzLgoJICBBdm9pZCBkeW5hbWljIGFsbG9jYXRpb24gb2YgdHJpdmlhbCBmaXhlZCBzdHJ1Y3R1cmUuCgkgIEFsbG9jYXRlIGVub3VnaCBzcGFjZSBmb3IgdGVtcCA0OjQ6NCBZVVYgYnVmZmVycy4gRml4ZXMgIzM0MzY2MS4KCjIwMDYtMDYtMDcgMDk6MjU6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBjb25maWd1cmUuYWM6IFdlIG5vdyByZXF1aXJlIGxpYnJhdzEzOTQgPj0gMS4xLjAgYW5kIHRoYXQgdmVyc2lvbiBvbndhcmRzIGFsbCBoYXZlIC5wYyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIG5vdyByZXF1aXJlIGxpYnJhdzEzOTQgPj0gMS4xLjAgYW5kIHRoYXQgdmVyc2lvbiBvbndhcmRzIGFsbAoJICBoYXZlIC5wYyBmaWxlcy4KCjIwMDYtMDYtMDIgMTU6MDI6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IFRyeWluZyB0byBnZXQgaXRlbXMgZnJvbSBhbiBBTlkgb3IgRU1QVFkgY2FwcyBpcyAuLi4gc3R1cGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChhbGF3ZGVjX2dldGNhcHMpOgoJICBUcnlpbmcgdG8gZ2V0IGl0ZW1zIGZyb20gYW4gQU5ZIG9yIEVNUFRZIGNhcHMgaXMgLi4uIHN0dXBpZC4KCjIwMDYtMDYtMDIgMTE6MzM6MTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuKjogQWRkZWQgR3N0U2VnbWVudCBoYW5kbGluZywgbm93IGltcGxlbWVudHMgZHJvcHBpbmcvY2xpcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpLCAoZ3N0X2R2ZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVjX2NoYWluKSwgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBBZGRlZCBHc3RTZWdtZW50IGhhbmRsaW5nLCBub3cgaW1wbGVtZW50cyBkcm9wcGluZy9jbGlwcGluZy4KCjIwMDYtMDYtMDEgMjI6MDA6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNi0wMSAyMTowNzoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgICogZXh0L2VzZC9lc2Rtb24uaDoKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmg6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmg6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuaDoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmg6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDUtMzEgMTY6MjM6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ29vbS9nc3Rnb29tLio6IEhhbmRsZSBRb1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksCgkgIChnc3RfZ29vbV9maW5hbGl6ZSksIChnc3RfZ29vbV9yZXNldCksIChnc3RfZ29vbV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLCAoZ3N0X2dvb21fc3JjX2V2ZW50KSwKCSAgKGdzdF9nb29tX3NpbmtfZXZlbnQpLCAoZ2V0X2J1ZmZlciksIChnc3RfZ29vbV9jaGFpbiksCgkgIChnc3RfZ29vbV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgSGFuZGxlIFFvUy4KCSAgSGFuZGxlIGZsdXNoaW5nLCBkaXNjb250IGFuZCBldmVudHMuCgkgIEZpeCB0aW1lc3RhbXBzIGFuZCB2YXJpb3VzIG90aGVyIGNsZWFudXBzLgoKMjAwNi0wNS0zMSAxNTozNzoxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBGaXggYnVzIHJlc2V0IHdoZW4gdXNpbmcgbGliaWVjNjE4ODMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KToKCSAgRml4IGJ1cyByZXNldCB3aGVuIHVzaW5nIGxpYmllYzYxODgzCgoyMDA2LTA1LTMxIDEwOjMxOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEZXRlY3QgbGliaWVjNjE4ODMgYW5kIHNldCBuZWNlc3NhcnkgQ0ZMQUdTIGFuZCBMSUJTIGZvciBkdjEzOTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBEZXRlY3QgbGliaWVjNjE4ODMgYW5kIHNldCBuZWNlc3NhcnkgQ0ZMQUdTIGFuZCBMSUJTIGZvciBkdjEzOTQuCgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgIEFkZCBDRkxBR1MuCgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2llYzYxODgzX3JlY2VpdmUpLAoJICBOZXcgbWV0aG9kLCB0byByZWNlaXZlIHVzaW5nIGxpYmllYzYxODgzLgoJICAoZ3N0X2R2MTM5NHNyY19pc29fcmVjZWl2ZSksCgkgICNpZmRlZidkIG91dCBpZiBsaWJpZWM2MTg4MyBpcyBwcmVzZW50LgoJICAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpLAoJICBHZXQgdXNlcmRhdGEgY29ycmVjdGx5IGlmIHVzaW5nIGxpYmllYzYxODgzLgoJICAoZ3N0X2R2MTM5NHNyY19jcmVhdGUpLAoJICBXaGVuIHVzaW5nIGxpYmllYzYxODgzLCBvbmx5IHBvbGwgb25lIGZkIGFuZCBubyBuZWVkIHRvIHJlYWQuCgkgIChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwKCSAgUmVwbGFjZSBnX3dhcm5pbmdzLgoJICAoZ3N0X2R2MTM5NHNyY19zdGFydCksCgkgIENyZWF0ZSBuZXcgaGFuZGxlIHdoZW4gd2Uga25vdyB3aGljaCBkdiBwb3J0LiAgTW9yZSByZWxpYWJsZQoJICB0aGFuIHNldHRpbmcgcG9ydCBvbiBhbiBleGlzdGluZyBoYW5kbGUuICBJbml0aWFsaXNlIGxpYmllYzYxODgzLgoJICAoZ3N0X2R2MTM5NHNyY19zdG9wKToKCSAgSWYgdXNpbmcgbGliaWVjNjE4ODMsIHRoZW4gY2xlYW51cCBpdHMgaGFuZGxlIHByb3Blcmx5LgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBBZGQgbGliaWVjNjE4ODMgaGFuZGxlLgoKMjAwNi0wNS0zMCAyMTowNzozOCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBhZGQgYW4gZXhwbGljaXQgZGxsIGltcG9ydGVkIGRlY2xhcmF0aW9uIGZvciBHU1RfQ0FUX0VWRU5UK1dJTjMyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYWRkIGFuIGV4cGxpY2l0IGRsbCBpbXBvcnRlZCBkZWNsYXJhdGlvbiBmb3IgR1NUX0NBVF9FVkVOVCtXSU4zMgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBzb3J0IGZpbGUgbGlzdGluZwoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICBhZGQgZ3N0YXZpbXV4LmMgdG8gdGhlIHByb2plY3QKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICBhZGQgbGluayB0byB6bGliIGxpYnJhcnkKCSAgKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJICBhZGQgbWF0cm9za2EtaWRzLmMgdG8gdGhlIHByb2plY3QKCjIwMDYtMDUtMzAgMTQ6MzU6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIEFkZCBhcGV2Mm11eCBlbGVtZW50ICgjMzQzMTIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlID4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICBBZGQgYXBldjJtdXggZWxlbWVudCAoIzM0MzEyMikuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSAgKHRlc3RfdGFnbGliX2FwZXYybXV4X2NyZWF0ZV90YWdzKSwKCSAgKHRlc3RfdGFnbGliX2FwZXYybXV4X2NoZWNrX3RhZ3MpLCAoZmlsbF9tcDNfYnVmZmVyKSwgKGdvdF9idWZmZXIpLAoJICAoZGVtdXhfcGFkX2FkZGVkKSwgKHRlc3RfdGFnbGliX2FwZXYybXV4X2NoZWNrX291dHB1dF9idWZmZXIpLAoJICAodGVzdF90YWdsaWJfYXBldjJtdXhfd2l0aF90YWdzKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGFwZXYybXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhcGV2Mm11eCBlbGVtZW50LgoKMjAwNi0wNS0yOCAxNzozMzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEdTVF9QVFJfRk9STUFUIHNob3VsZCBiZSB1c2VkIHRvIHByaW50IGNhcHMgaW4gZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2Fwcyk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fdXBkYXRlX2NhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2Fwcyk6CgkgIEdTVF9QVFJfRk9STUFUIHNob3VsZCBiZSB1c2VkIHRvIHByaW50IGNhcHMgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDYtMDUtMjggMTQ6Mzg6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQHVidW50dS5jb20+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IFNvbWUgY2xlYW4tdXBzIGFuZCBhZGRpdGlvbnM6IG1hcCBBUEUgJ2ZpbGUnIHRhZyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tbyBhdCB1YnVudHUgZG90IGNvbT4KCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfZ2V0X2dzdF90YWdfZnJvbV90YWcpLAoJICAoYXBlX2RlbXV4X3BhcnNlX3RhZ3MpOgoJICBTb21lIGNsZWFuLXVwcyBhbmQgYWRkaXRpb25zOiBtYXAgQVBFICdmaWxlJyB0YWcgdG8KCSAgR1NUX1RBR19MT0NBVElPTiAoIzM0MzEyMyk7IGFkZCBzdXBwb3J0IGZvciBleHRyYWN0aW5nCgkgIHRoZSB0cmFjayBjb3VudCBhbmQgY2xlYW4gdXAgcGFyc2luZyBhIGJpdCAoIzM0MzEyNykuCgoyMDA2LTA1LTI4IDEzOjQ5OjEyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBJbml0aWFsaXplIHNlZ21lbnQgdG8gR1NUX0ZPUk1BVF9VTkRFRklORUQgaW4gUkVBRFktPlBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIEluaXRpYWxpemUgc2VnbWVudCB0byBHU1RfRk9STUFUX1VOREVGSU5FRCBpbiBSRUFEWS0+UEFVU0VELgoKMjAwNi0wNS0yOCAxMzozMDoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogQ2xpcCBvdXRnb2luZyBidWZmZXJzIGFjY29yZGluZyB0byBjdXJyZW50bHkgY29uZmlndXJlZCBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfZmluYWxpemUpLAoJICAoZ3N0X2pwZWdfZGVjX2luaXQpLCAoZ3N0X2pwZWdfZGVjX2NoYWluKSwKCSAgKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KSwgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgQ2xpcCBvdXRnb2luZyBidWZmZXJzIGFjY29yZGluZyB0byBjdXJyZW50bHkgY29uZmlndXJlZCBzZWdtZW50LgoKMjAwNi0wNS0yOCAxMDozOTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEhhbmRsZSAgd3JpdGluZyBvZiB0cmFjay1jb3VudCBvciBhbGJ1bS12b2x1bWUtY291bnQgd2l0aG91dCB0cmFjay1udW1iZXIgb3IgYWxidW1lLXZvbHVtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBIYW5kbGUgIHdyaXRpbmcgb2YgdHJhY2stY291bnQgb3IgYWxidW0tdm9sdW1lLWNvdW50IHdpdGhvdXQKCSAgdHJhY2stbnVtYmVyIG9yIGFsYnVtZS12b2x1bWUtbnVtYmVyIChpbiB0aGlzIGNhc2UgdGhlIG51bWJlcgoJICB3aWxsIGp1c3QgYmUgc2V0IHRvIDApLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh0ZXN0X3RhZ2xpYl9pZDNtdXhfY2hlY2tfdGFncyk6CgkgIEl0IHdvdWxkIGJlIG5pY2UgaWYgd2UgYWN0dWFsbHkgY2hlY2tlZCB0aGUgdmFsdWVzIHJlY2VpdmVkIGZvcgoJICB0cmFjay9hbGJ1bS12b2x1bWUgbnVtYmVyL2NvdW50IGluICBfY2hlY2tfdGFncygpLCByYXRoZXIgdGhhbgoJICBzZXR0aW5nIHRoZW0gYWdhaW4gLi4uCgoyMDA2LTA1LTI4IDEwOjA1OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEEgdHJhY2svdm9sdW1lIG51bWJlciBvciBjb3VudCBvZiAwIGRvZXMgbm90IG1ha2Ugc2Vuc2UsIGp1c3QgaWdub3JlIGl0IGFsb25nIHdpdGggbmVnYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBBIHRyYWNrL3ZvbHVtZSBudW1iZXIgb3IgY291bnQgb2YgMCBkb2VzIG5vdCBtYWtlIHNlbnNlLAoJICBqdXN0IGlnbm9yZSBpdCBhbG9uZyB3aXRoIG5lZ2F0aXZlIG51bWJlcnMgKGEgdGFnIG1pZ2h0CgkgIG9ubHkgY29udGFpbiBhIHRyYWNrIGNvdW50IHdpdGhvdXQgYSB0cmFjayBudW1iZXIpLgoKMjAwNi0wNS0yNyAxMzoxMTozNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWJvcnQgZGVjb21wcmVzc2lvbiB3aGVuIHJlY2VpdmluZyBGTFVTSF9TVE9QLiBUaGlzIHNob3VsZCBhdm9pZCBpc3N1ZXMgd2hlbiBpbnRlcnJ1cHRpbmcgZGVjby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfaW5pdCksCgkgIChnc3RfanBlZ19kZWNfc2lua19ldmVudCk6CgkgIEFib3J0IGRlY29tcHJlc3Npb24gd2hlbiByZWNlaXZpbmcgRkxVU0hfU1RPUC4gVGhpcyBzaG91bGQgYXZvaWQKCSAgaXNzdWVzIHdoZW4gaW50ZXJydXB0aW5nIGRlY29kaW5nIHdpdGggZmx1c2hlcy4KCjIwMDYtMDUtMjcgMTI6MTA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjLmM6IERvbid0ICNpbmNsdWRlIGZpbGUgd2UgZG9uJ3QgZGlzdCBhbnkgbG9uZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkgIERvbid0ICNpbmNsdWRlIGZpbGUgd2UgZG9uJ3QgZGlzdCBhbnkgbG9uZ2VyLgoKMjAwNi0wNS0yNyAxMToyNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJFQURNRTogUmVwbGFjZSBjdXJyZW50IFJFQURNRSAoY29udGFpbmluZyB0aGUgcmVsZWFzZSBub3RlcyBmcm9tIHNvbWUgMC45LnggdmVyc2lvbikgd2l0aCBhIHByb3BlciBSRUFETUUgdGFrZW4gZnJvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRUFETUU6CgkgIFJlcGxhY2UgY3VycmVudCBSRUFETUUgKGNvbnRhaW5pbmcgdGhlIHJlbGVhc2Ugbm90ZXMgZnJvbQoJICBzb21lIDAuOS54IHZlcnNpb24pIHdpdGggYSBwcm9wZXIgUkVBRE1FIHRha2VuIGZyb20gdGhlIGNvcmUuCgoyMDA2LTA1LTI2IDIyOjM1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fZnJlcXVlbmN5X2NoYW5nZWQpLAoJICAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgZml4IHR5cG8KCjIwMDYtMDUtMjYgMTM6MTY6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcCB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wCgkgIHRpbWUuCgoyMDA2LTA1LTI2IDExOjQ4OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCjIwMDYtMDUtMjQgMTY6MDM6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBJbXBsZW1lbnQgRU9TIGNvcnJlY3RseSBieSBlaXRoZXIgcG9zdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfbG9vcCk6CgkgIEltcGxlbWVudCBFT1MgY29ycmVjdGx5IGJ5IGVpdGhlciBwb3N0aW5nCgkgIFNFR01FTlRfRE9ORSBvciBwdXNoaW5nIGFuIEVPUyBtZXNzYWdlIGRlcGVuZGluZwoJICBvbiB0aGUgc2VlayB0eXBlLiBGaXhlcyAjMzQyNTkyCgoyMDA2LTA1LTI0IDExOjU2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCjIwMDYtMDUtMjQgMTA6MDA6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogU29tZSBjbGVhbnVwcyBpbiB0aGUgY2hhaW4gZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19jaGFpbik6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICBTb21lIGNsZWFudXBzIGluIHRoZSBjaGFpbiBmdW5jdGlvbnMuCgkgIFJlbW92ZSBzb21lIEdTdHJlYW1lciAwLjAuMiBiaXRzLgoKMjAwNi0wNS0yMyAyMDoxNTowNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogZ3N0X2NvbGxlY3RfcGFkc19zdG9wKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IGNsYXNzICgjMzQyNy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgZ3N0X2NvbGxlY3RfcGFkc19zdG9wKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSBjaGFpbmluZyB1cAoJICB0byB0aGUgcGFyZW50IGNsYXNzICgjMzQyNzM0KS4KCjIwMDYtMDUtMjMgMTY6NDU6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy86IFJlbW92ZSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBjcnVmdCBmb3IgZGVhbGluZyB3aXRoIEZMQUMgQVBJIGNoYW5nZXMgaW4gdGhlIDEuMC54IHNlcmllcyAtIHdlIHJlcXVpcmUgMS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZmxhY19jb21wYXQuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgUmVtb3ZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGNydWZ0IGZvciBkZWFsaW5nIHdpdGggRkxBQyBBUEkKCSAgY2hhbmdlcyBpbiB0aGUgMS4wLnggc2VyaWVzIC0gd2UgcmVxdWlyZSAxLjEuMSBvciBuZXdlciB0aGVzZSBkYXlzLgoKMjAwNi0wNS0yMyAxMzo0NDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcvZGVtdXhpbmcgdGhlb3JhIHZpZGVvICgjMzQyNDQ4OyB0b28gYmFkIG5vbmUgb2YgdGhlIHVzdWFsIGxpbnV4IHBsYXllcnMgY2FuIGFjdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgICh4aXBoM19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHZvcmJpc19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHRoZW9yYV9zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyB0aGVvcmEgdmlkZW8gKCMzNDI0NDg7IHRvbyBiYWQKCSAgbm9uZSBvZiB0aGUgdXN1YWwgbGludXggcGxheWVycyBjYW4gYWN0dWFsbHkgcGxheSB0aGlzKS4gUGxheWJhY2sKCSAgaW4gR1N0cmVhbWVyIHdpbGwgcmVxdWlyZSBhZGRpdGlvbmFsIGNoYW5nZXMgdG8gdGhlb3JhZGVjIGluIC1iYXNlLgoJICBSZWZhY3RvciBzdHJlYW1oZWFkZXJzIDw9PiBDb2RlY1ByaXZhdGVEYXRhIGNvZGUgYSBiaXQ7IHNvbWUgc21hbGwKCSAgY2xlYW51cHMuCgoyMDA2LTA1LTIyIDE4OjAwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwby9QT1RGSUxFUy5pbjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwgKHBsdWdpbl9pbml0KToKCSAgcG8vUE9URklMRVMuaW46CgkgIFRocm93IGFuIGVycm9yIHdoZW4gdGhlIGZpbGUgaXMgZW5jcnlwdGVkLiBNb3ZlIHBsdWdpbl9pbml0IHN0dWZmCgkgIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUsIGFkZCBzdHVmZiBmb3IgaTE4biwgbWFrZSBkZWJ1ZyBjYXRlZ29yeQoJICBzdGF0aWMuCgoyMDA2LTA1LTIyIDE1OjIzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBGaXggY3Jhc2hlcyB3aGVuIHRoZSBob3Jpem9udGFsIHN1YnNhbXBsaW5nIGlzIDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGhyZXNhbXBsZWNweTEpLAoJICAoZ3N0X2pwZWdfZGVjX2RlY29kZV9pbmRpcmVjdCksIChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBGaXggY3Jhc2hlcyB3aGVuIHRoZSBob3Jpem9udGFsIHN1YnNhbXBsaW5nIGlzIDEuCgkgIEZpeGVzICMzNDIwOTcuCgoyMDA2LTA1LTIyIDE0OjU2OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgY292ZXIgdXAgdGhlIGRpcnR5IHRydXRoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb3ZlciB1cCB0aGUgZGlydHkgdHJ1dGgKCjIwMDYtMDUtMjIgMTM6NTM6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiAtIGFkZCBvZG1sIChsYXJnZSBmaWxlKSBpbmRleCBzdXBwb3J0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2ZpbmFsaXplKSwgKGdzdF9hdmlfbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9hdmlfbXV4X3dyaXRlX3RhZyksIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aXhfaGVhZGVyKSwgKGdzdF9hdmlfbXV4X3dyaXRlX2F2aXhfaW5kZXgpLAoJICAoZ3N0X2F2aV9tdXhfYWRkX2luZGV4KSwgKGdzdF9hdmlfbXV4X2JpZ2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSksIChnc3RfYXZpX211eF9zdG9wX2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfaGFuZGxlX2V2ZW50KSwgKGdzdF9hdmlfbXV4X2RvX2F1ZGlvX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9kb192aWRlb19idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fb25lX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIFNvbWUgZW5oYW5jZW1lbnRzIGZvciBhdmltdXggKCMzNDI1MjYpOgoJICAtIGFkZCBvZG1sIChsYXJnZSBmaWxlKSBpbmRleCBzdXBwb3J0CgkgIC0gc3RvcmUgY29kZWMgaW5pdCBkYXRhIChlLmcuIGh1ZmZ5dXYpCgkgIC0gbWlzY2VsbGFuZW91cyBvdGhlciBmaXhlcy9jbGVhbnVwcwoKMjAwNi0wNS0yMiAxMzo1MTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIGZpeCBkZXNjcmlwdGlvbnMgYW5kIGxpY2Vuc2UgYmxvY2tzIGN1dCBhbmQgcGFzdGUgYW55b25lID8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkZXNjcmlwdGlvbnMgYW5kIGxpY2Vuc2UgYmxvY2tzCgkgIGN1dCBhbmQgcGFzdGUgYW55b25lID8KCjIwMDYtMDUtMjEgMTY6NDE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCjIwMDYtMDUtMjEgMTY6MjM6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogTGluayB0byBiYXNlIGxpYnJhcmllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICB1c2UgbmV3IHRocmVzaGhvbGQgcHJvcGVydHkKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKSwKCSAgKGdzdF9zcGVjdHJ1bV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgZ3N0X2FkYXB0ZXIsIHN1cHBvcnQgbXVsdGlwbGUtY2hhbm5lbHMsIGFkZCB0aHJlc2hvbGQgcHJvcGVydHkgZm9yCgkgIHJlc3VsdCwgYWRkIGRvY3MsIGZpeCByZXN1bHRpbmcgc3BlY3RydW0gcmFuZ2UgKHdhcyBpbmNsdWRpbmcgbWlycm9yZWQKCSAgcmVzdWx0cykKCjIwMDYtMDUtMjAgMjI6NDI6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOiAoZ3N0X3NwZWN0cnVtX2ZpeF9kb3QpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2dldF90eXBlKSwKCSAgKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCjIwMDYtMDUtMTkgMTg6NTg6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCjIwMDYtMDUtMTkgMTg6MzE6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xOSAxNDowNTo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRG9uJ3Qgb3V0cHV0IGFueSB0YWcgd2hlbiB3ZSBlbmNvdW50ZXIgYSBuZWdhdGl2ZSB0cmFjayBudW1iZXIgLSB0aGUgdGFnIHR5cGUgaXMgdWludCwgc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIERvbid0IG91dHB1dCBhbnkgdGFnIHdoZW4gd2UgZW5jb3VudGVyIGEgbmVnYXRpdmUgdHJhY2sgbnVtYmVyIC0gdGhlCgkgIHRhZyB0eXBlIGlzIHVpbnQsIHNvIHdlIGVuZCB1cCBvdXRwdXR0aW5nIGh1Z2UgcG9zaXRpdmUgbnVtYmVycwoJICBpbnN0ZWFkLiAoRml4ZXM6ICMzNDIwMjkpCgoyMDA2LTA1LTE4IDIzOjA0OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogdXBkYXRlIGZvciBuZXcgR1NUUEJfUExVR0lOU19ESVIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICB1cGRhdGUgZm9yIG5ldyBHU1RQQl9QTFVHSU5TX0RJUgoKMjAwNi0wNS0xOCAxOTozNDo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWDExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFgxMQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pZmFjZV9zdXBwb3J0ZWQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICBDb2RlIGNsZWFudXBzLCBmaXggZGVidWcgbWFjcm9zCgoyMDA2LTA1LTE4IDE0OjQ1OjMzICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgcnRwL2dzdC9nc3RydHBoMjYzcGF5LmM6IFByb3Blcmx5IHNldCBzdGF0aWMgY2FwcyBmb3IgSDI2MyBhdCAzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMTggIFBoaWxpcHBlIEthbGFmICA8cGhpbGlwcGUua2FsYWYgYXQgY29sbGFib3JhLmNvLnVrPgoJICAqIHJ0cC9nc3QvZ3N0cnRwaDI2M3BheS5jOgoJICBQcm9wZXJseSBzZXQgc3RhdGljIGNhcHMgZm9yIEgyNjMgYXQgMzQuCgoyMDA2LTA1LTE4IDEyOjQ2OjA4ICswMDAwICBKYW1lcyBEb2MgTGl2aW5nc3RvbiA8ZG9jbGl2aW5nc3RvbkBnbWFpbC5jb20+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiBNZXJnZSBldmVudCB0YWdzIGFuZCB0YWcgc2V0dGVyIHRhZ3MgY29ycmVjdGx5ICgjMzM5OTE4KS4gQWxzbywgZG9uJ3QgbGVhayB0YWdsaXN0IGluIGNhc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBnbWFpbCBjb20+CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogKGdzdF90YWdfbGliX211eF9yZW5kZXJfdGFnKToKCSAgTWVyZ2UgZXZlbnQgdGFncyBhbmQgdGFnIHNldHRlciB0YWdzIGNvcnJlY3RseSAoIzMzOTkxOCkuIEFsc28sCgkgIGRvbid0IGxlYWsgdGFnbGlzdCBpbiBjYXNlIG9mIGFuIGVycm9yLgoKMjAwNi0wNS0xNyAxODowOTowNiArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIEZpeGVkIGNhcHMgZm9yIEgyNjMgKG5vdCB0aGUgc2FtZSBhcyBIMjYzKykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGNhcHMgZm9yIEgyNjMgKG5vdCB0aGUgc2FtZSBhcyBIMjYzKykKCjIwMDYtMDUtMTcgMTI6MzY6MjYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGF3L211bGF3LWRlY29kZS5jOiBXZSBjYW4gb25seSBkbyBjYXBzIGludGVyc2VjdGlvbiBpZiB0aGUgb3RoZXJjYXBzIGFyZSBub24tZW1wdHkgYW5kIG5vdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfZ2V0Y2Fwcyk6CgkgIFdlIGNhbiBvbmx5IGRvIGNhcHMgaW50ZXJzZWN0aW9uIGlmIHRoZSBvdGhlcmNhcHMgYXJlIG5vbi1lbXB0eSBhbmQgbm90CgkgIEFOWS4gRWxzZSB3ZSByZXR1cm4gdGhlIHBhZCB0ZW1wbGF0ZSAoYmFzZV9jYXBzKS4KCjIwMDYtMDUtMTcgMTE6MjA6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEZpeCBjcmFzaCB3aGVuIG91dHB1dHRpbmcgZGVidWdnaW5nIGluZm9ybWF0aW9uIGZvciBjZXJ0YWluIHBpY3R1cmVzIChhbHdheXMgZ29vZCB0byB1c2UgdGhlIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgRml4IGNyYXNoIHdoZW4gb3V0cHV0dGluZyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gZm9yIGNlcnRhaW4KCSAgcGljdHVyZXMgKGFsd2F5cyBnb29kIHRvIHVzZSB0aGUgcmlnaHQgc3RydWN0IG1lbWJlciBmb3IKCSAgdGhlIG51bWJlciBvZiByZWNvcmRzIGluIGFuIGFycmF5KS4KCjIwMDYtMDUtMTcgMDg6MTA6MzEgKzAwMDAgIEppbmRyaWNoIE1ha292aWNrYSA8amluZHJpY2gubWFraXZpY2thQGl0b25pcy50dj4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogRG9uJ3QgY3JlYXRlIHVubmVjZXNzYXJ5IHN1Yi1idWZmZXJzIGFsbCB0aGUgdGltZS4gRHJhbWF0aWNhbGx5IGltcHJvdmVzIHBlcmZvcm1hbmNlIHdpdGggbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEppbmRyaWNoIE1ha292aWNrYSAgPGppbmRyaWNoLm1ha2l2aWNrYSBhdCBpdG9uaXMgdHY+CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfcHVsbF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9yZWFkX2J1ZmZlciksCgkgIChnc3RfZWJtbF9yZWFkX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfdWludCksIChnc3RfZWJtbF9yZWFkX3NpbnQpLAoJICAoZ3N0X2VibWxfcmVhZF9mbG9hdCksIChnc3RfZWJtbF9yZWFkX2FzY2lpKSwKCSAgKGdzdF9lYm1sX3JlYWRfYmluYXJ5KToKCSAgRG9uJ3QgY3JlYXRlIHVubmVjZXNzYXJ5IHN1Yi1idWZmZXJzIGFsbCB0aGUgdGltZS4gRHJhbWF0aWNhbGx5CgkgIGltcHJvdmVzIHBlcmZvcm1hbmNlIHdpdGggbXVsdGlwbGUgY29uY3VycmVudGx5IHJ1bm5pbmcKCSAgbWF0cm9za2FkZW11eCBpbnN0YW5jZXMgKCMzNDE4MTgpIChhbmQgYXZvaWRzIGRvaW5nCgkgIHVubmVjZXNzYXJpbHkgaW5lZmZpY2llbnQgdGhpbmdzIGluIHRoZSBnZW5lcmFsIGNhc2UpLgoKMjAwNi0wNS0xNiAxNzoyMDowNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IEluIHNuYXBzaG90IG1vZGUsIHdlIGFsd2F5cyByZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGF0ZXZlciB0aGUgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jaGFpbik6CgkgIEluIHNuYXBzaG90IG1vZGUsIHdlIGFsd2F5cyByZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGF0ZXZlciB0aGUKCSAgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfcHVzaF9ldmVudCgpLgoKMjAwNi0wNS0xNiAxNDowNzoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IE1ha2UgdGhlIG5hbWUgb2YgdGhlIGNoaWxkIGVsZW1lbnQgYmUgYmFzZWQgb24gdGhlIG5hbWUgb2YgdGhlIHBhcmVudCwgc28gdGhhdCBkZWJ1ZyBvdXRwdXQgaXMgbW9yZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KToKCSAgTWFrZSB0aGUgbmFtZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBiZSBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUKCSAgcGFyZW50LCBzbyB0aGF0IGRlYnVnIG91dHB1dCBpcyBtb3JlIHVzZWZ1bC4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGZpbmRfdXRmMTZfYm9tKSwKCSAgKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpLCAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIFJld29yayBzdHJpbmcgcGFyc2luZyB0byBhbHdheXMgd2FsayBvdmVyIEJPTSBtYXJrZXJzIGluIFVURjE2CgkgIHN0cmluZ3MsIHVzaW5nIHRoZSBlbmRpYW5uZXNzIGluZGljYXRlZCBieSB0aGUgaW5uZXJtb3N0IG9uZSwKCSAgdGhlbiB0cnlpbmcgdGhlIG9wcG9zaXRlIGVuZGlhbm5lc3MgaWYgdGhhdCBmYWlscyB0byBjb252ZXJ0CgkgIHRvIHZhbGlkIFVURi04LiBGaXhlcyAjMzQxNzc0CgoyMDA2LTA1LTE2IDEzOjMxOjAyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xpYnBuZy9NYWtlZmlsZS5hbTogQWRkIExJQlBOR19DRkxBR1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTE2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgIFBhdGNoIGZyb206IE1hdHRoaWV1IDxtYXR0aGlldSBhdCBmbHVlbmRvIGRvdCBjb20+CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgQWRkIExJQlBOR19DRkxBR1MuCgoyMDA2LTA1LTE1IDExOjIwOjIxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwNi0wNS0xNSAwOTowMDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIGltYWdlcyAoQVBJQyBmcmFtZXMpIGludG8gSUQzdjIgdGFncyAocGljdHVyZSB0eXBlIGFsd2F5cyBzZXQgdG8gJy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBpbWFnZXMgKEFQSUMgZnJhbWVzKSBpbnRvIElEM3YyCgkgIHRhZ3MgKHBpY3R1cmUgdHlwZSBhbHdheXMgc2V0IHRvICdvdGhlcicgZm9yIG5vdyB0aG91Z2gpLgoKMjAwNi0wNS0xNCAxMjo1MDowNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVwZGF0ZSBkb2NzOyB3YXZwYXJzZSBpbXBsZW1lbnRzIHB1c2ggYW5kIHB1bGwgbW9kZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBVcGRhdGUgZG9jczsgd2F2cGFyc2UgaW1wbGVtZW50cyBwdXNoIGFuZCBwdWxsIG1vZGVzLgoKMjAwNi0wNS0xMiAxODoxMDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogT29vcHMsIGJpdHRlbiBieSB0aGUgY29weS1hbmQtcGFzdGUgZGVzaWduIHBhcmFkaWdtLCBmaXhlcyBzZWVrIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBPb29wcywgYml0dGVuIGJ5IHRoZSBjb3B5LWFuZC1wYXN0ZSBkZXNpZ24gcGFyYWRpZ20sIGZpeGVzCgkgIHNlZWsgYWdhaW4uCgoyMDA2LTA1LTEyIDE4OjA0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBTb21lIGNsZWFudXBzLCBwcmVwYXJlIHRvIHVzZSBHc3RTZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFNvbWUgY2xlYW51cHMsIHByZXBhcmUgdG8gdXNlIEdzdFNlZ21lbnQuCgkgIEZpeCBlcnJvciBpbiBlbnRyeSB3YWxraW5nIGNvZGUuCgkgIEZpeCBWQlIgZGV0ZWN0aW9uLgoJICBTbWFydGVyIHRpbWVzdGFtcCBjYWxjdWxhdGlvbiBjb2RlLgoJICBVbmlmb3JtIGVycm9yL2VvcyBoYW5kbGluZy4KCjIwMDYtMDUtMTIgMTc6NDQ6MTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggdXNlIG9mIHVuaW5pdGlhbGlzZWQgdmFsdWVzIGlmIHdlJ3JlIE5PVCBzZWVraW5nIGluIHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9mbXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBGaXggdXNlIG9mIHVuaW5pdGlhbGlzZWQgdmFsdWVzIGlmIHdlJ3JlIE5PVCBzZWVraW5nIGluIHJlYWR5LgoJICBGaXggdHlwb3MuCgoyMDA2LTA1LTEyIDA4OjIzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOiBBZGQgQ0ZMQUdTIGFuZCBMSUJTIGZvciBsaWJnc3RiYXNlLCBmaXhlcyBidWlsZCBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCBDRkxBR1MgYW5kIExJQlMgZm9yIGxpYmdzdGJhc2UsIGZpeGVzIGJ1aWxkIG9uCgkgIEN5Z3dpbiAoIzM0MTQ4OSkuCgoyMDA2LTA1LTEyIDA4OjIxOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBObyBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHN0cmluZyByZXR1cm5lZCBieSBnX2NvbnZlcnQoKSBpcyByZWFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCk6CgkgIFNvbWUgbW9yZSBkZWJ1ZyBpbmZvLiBObyBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgdGhlIHN0cmluZwoJICByZXR1cm5lZCBieSBnX2NvbnZlcnQoKSBpcyByZWFsbHkgVVRGLTggLSBlaXRoZXIgaXQgaXMgb3IKCSAgd2UgZ2V0IE5VTEwgcmV0dXJuZWQuCgoyMDA2LTA1LTExIDE3OjU5OjU5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTEgMDk6MDk6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZQoJICBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uYWwgZXNkcyBib3guIFByb21vdGUgdGhlCgkgIGRlZmF1bHQgQUFDIHRvIG1wMyB3aGVuIGluZGljYXRlZC4gRml4ZXMgIzMzMDYzMi4KCjIwMDYtMDUtMTAgMTc6NDQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBEb24ndCAjZGVmaW5lIGdzdF91dGlsX2R1bXBfbWVtKCksIHVzZSBzb21ldGhpbmcgbW9yZQoJICBzcGVjaWZpYyBpbnN0ZWFkIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDYtMDUtMTAgMTM6NTE6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEZpeCBwYXJzaW5nIG9mIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBzb21lIG1vcmUsIGJ5IGVuc3VyaW5nIHRoYXQgd2Ugb25seSB0cnkgYW5kIHBhcnNlIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpOgoJICBGaXggcGFyc2luZyBvZiBudW1lcmljIGdlbnJlIHN0cmluZ3Mgc29tZSBtb3JlLCBieSBlbnN1cmluZyB0aGF0CgkgIHdlIG9ubHkgdHJ5IGFuZCBwYXJzZSBzdHJpbmdzIHRoYXQgYSkgU3RhcnQgd2l0aCAnKCcgYW5kIGIpIENvbnNpc3QKCSAgb25seSBvZiBkaWdpdHMuCgkgIEFsc28sIHdoZW4gZmluZGluZyBhbiBlc2NhcGluZyAnKCgnIHNlcXVlbmNlLCBidXN0IGl0IGJhY2sgdG8gJygnIGJ5CgkgIHN3YWxsb3dpbmcgdGhlIGZpcnN0IHBhcmVudGhlc2lzCgoyMDA2LTA1LTEwIDExOjE3OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9lc2RzaW5rLio6IE1vdmUgdGhlIGVzZF9nZXRfc2VydmVyX2luZm8oKSBpbnRvIGdzdF9lc2RzaW5rX29wZW4oKSBhbmQgZmFpbCB3aXRoIGEgZGVjZW50IGVycm9yIG1lc3NhZ2Ugb24gZXJyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfZmluYWxpemUpLCAoZ3N0X2VzZHNpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZXNkc2lua19vcGVuKSwgKGdzdF9lc2RzaW5rX2Nsb3NlKToKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgTW92ZSB0aGUgZXNkX2dldF9zZXJ2ZXJfaW5mbygpIGludG8gZ3N0X2VzZHNpbmtfb3BlbigpIGFuZCBmYWlsCgkgIHdpdGggYSBkZWNlbnQgZXJyb3IgbWVzc2FnZSBvbiBlcnJvcnMuCgoyMDA2LTA1LTEwIDEwOjI5OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ29uc3QtaWZ5IEdFbnVtVmFsdWUgYXJyYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9kZXB0aHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2VzZG1vbl9jaGFubmVsc19nZXRfdHlwZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfcHJvZmlsZV9nZXRfdHlwZSk6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9tZXRob2RfZ2V0X3R5cGUpOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IChnc3RfY2FjYXNpbmtfZGl0aGVyX2dldF90eXBlKToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfcHJvdG9jb2xfZ2V0X3R5cGUpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX21ldGhvZF9nZXRfdHlwZSk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9pbGJjX21vZGVfZ2V0X3R5cGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX3Byb3RvX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfZmlsbF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvX2ZsaXBfbWV0aG9kX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9fbWl4ZXJfYmFja2dyb3VuZF9nZXRfdHlwZSk6CgkgIENvbnN0LWlmeSBHRW51bVZhbHVlIGFycmF5cy4KCjIwMDYtMDUtMDkgMTQ6MDg6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogV29yayBhcm91bmQgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgYnVnIHRoYXQgcmVzdWx0cyBpbiBhdmltdXggbWFya2luZyBhbGwgZnJhbWVzIGluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmV0PgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9kb19hdWRpb19idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfZG9fdmlkZW9fYnVmZmVyKToKCSAgV29yayBhcm91bmQgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgYnVnIHRoYXQKCSAgcmVzdWx0cyBpbiBhdmltdXggbWFya2luZyBhbGwgZnJhbWVzIGluIHRoZSBpbmRleCBhcwoJICBrZXlmcmFtZXMgKCMzNDA4NTkpLgoKMjAwNi0wNS0wOCAxOToyMToxOCArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoKMjAwNi0wNS0wOCAxNToyMDoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKHF0ZGVtdXhfZHVtcF9tdmhkKToKCSAgRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBBbHNvIHJlcG9ydCBkdXJhdGlvbiBpbiBwdXNoIG1vZGUgc2luY2Ugd2UgY2FuLgoKMjAwNi0wNS0wOCAxNDozNToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B1cmwuYzogTWFrZSBwYXJzaW5nIG9mIHVybHMgc3VjayBzbGlnaHRseSBsZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgIE1ha2UgcGFyc2luZyBvZiB1cmxzIHN1Y2sgc2xpZ2h0bHkgbGVzcy4KCjIwMDYtMDUtMDggMTE6NTM6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBhdXRvZ2VuLnNoOiBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOiAoQ09ORklHVVJFX0RFRl9PUFQpOgoJICBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplLgoKMjAwNi0wNS0wOCAxMDo1OTowNSArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgQzg5IGNvbXBsaWFuY2UgZml4ZXMuIEZpeGVzICMzNDA5ODAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfaW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZGlzcG9zZSk6CgkgIEM4OSBjb21wbGlhbmNlIGZpeGVzLiBGaXhlcyAjMzQwOTgwCgoyMDA2LTA1LTA2IDExOjM4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBSZW1vdmUgdGFnIHdyaXRpbmcgZnJvbSBsYW1lICh3aGljaCB3YXMgY29tcGxldGVseSBicm9rZW4gYW55d2F5LCAjMzI5MTg0KS4gTGVhdmluZyBHc3RUYWdTZXR0ZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2dldF90eXBlKSwKCSAgKGdzdF9sYW1lX3JlbGVhc2VfbWVtb3J5KSwgKGdzdF9sYW1lX2luaXQpLCAoZ3N0X2xhbWVfc2lua19ldmVudCksCgkgIChnc3RfbGFtZV9zZXR1cCksIChnc3RfbGFtZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgUmVtb3ZlIHRhZyB3cml0aW5nIGZyb20gbGFtZSAod2hpY2ggd2FzIGNvbXBsZXRlbHkgYnJva2VuCgkgIGFueXdheSwgIzMyOTE4NCkuIExlYXZpbmcgR3N0VGFnU2V0dGVyIGludGVyZmFjZSBhcm91bmQgZm9yCgkgIG5vdywgYWxiZWl0IG5vbi1mdW5jdGlvbmFsLiBTaG91bGQgYmUgcmVtb3ZlZCBjb21wbGV0ZWx5CgkgIGluIDAuMTEuIFVzZSB0aGUgJ2lkM3YybXV4JyBwbHVnaW4gZnJvbSAtZ29vZCBmb3Igd3JpdGluZwoJICB0YWdzLgoKMjAwNi0wNS0wNiAwOTowMTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogSGFuZGxlIHNlZ21lbnQgc2Vla3MgdGhhdCBpbmNsdWRlIHRoZSBlbmQgb2YgdGhlIGZpbGUgYXMgc3RvcCBwb2ludCBwcm9wZXJseTogd2hlbiB0aGUgZGVjb2Rlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBIYW5kbGUgc2VnbWVudCBzZWVrcyB0aGF0IGluY2x1ZGUgdGhlIGVuZCBvZiB0aGUgZmlsZSBhcyBzdG9wIHBvaW50CgkgIHByb3Blcmx5OiB3aGVuIHRoZSBkZWNvZGVyIGhpdHMgRU9TIHdlIHdhbnQgdG8gc2VuZCBhIFNFR01FTlRfRE9ORQoJICBtZXNzYWdlIGluc3RlYWQgb2YgYW4gRU9TIGV2ZW50IGluIGNhc2Ugd2UncmUgaW4gc2VnbWVudCBzZWVrCgkgIG1vZGUgKGZpeGVzICMzNDA2OTkpLgoKMjAwNi0wNS0wNiAwMDoxNDowOSArMDAwMCAgTWFjaWVqIEthdGFmaWFzeiA8bWF0aHJpY2tAbWF0aHJpY2sub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoKMjAwNi0wNS0wNSAyMDoxMjo1OSArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGVjdGlvbi4KCjIwMDYtMDUtMDUgMDg6MjM6MzkgKzAwMDAgIEFuZHJlcyBTYWxvbW9uIDxkaWxpbmdlckBkZWJpYW4ub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBGaXggdHlwbyAoY29tbWEgdnMuIHNlbWljb2xvbikgKCMzNDA3MTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJlcyBTYWxvbW9uICA8ZGlsaW5nZXIgYXQgZGViaWFuIG9yZz4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX2V2ZW50KToKCSAgRml4IHR5cG8gKGNvbW1hIHZzLiBzZW1pY29sb24pICgjMzQwNzEwKS4KCjIwMDYtMDUtMDQgMTc6Mjc6MjcgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IERvbid0IGxlYWsgY2FwcyB3aGVuIGZyZWVpbmcgdGhlIHN0cmVhbSBjb250ZXh0ICgjMzQwNjIzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwgZG90IGJlbmVzIGF0IHhlcmlzIGRvdCBjej4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCk6CgkgIERvbid0IGxlYWsgY2FwcyB3aGVuIGZyZWVpbmcgdGhlIHN0cmVhbSBjb250ZXh0ICgjMzQwNjIzKS4KCjIwMDYtMDUtMDQgMTU6NDA6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgo9PT0gcmVsZWFzZSAwLjEwLjMgPT09CgoyMDA2LTA1LTA0IDE1OjM2OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMwoKMjAwNi0wNS0wNCAxNToyODo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCjIwMDYtMDUtMDQgMTU6MDU6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuMwoKMjAwNi0wNS0wMyAxODo0NDozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMDUtMDMgMTg6NDE6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IERvbid0IHN0cmNtcCgpIE5VTEwgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9zdHJlYW1faXNfdm9yYmlzX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBEb24ndCBzdHJjbXAoKSBOVUxMIHN0cmluZ3MuCgkgIE9ubHkgc3RhcnQgbmV3IGNsdXN0ZXJzIG9uIHZpZGVvIGtleWZyYW1lcywgbm90IG9uIGFueQoJICByYW5kb20gYXVkaW8gYnVmZmVyIHRoYXQgZG9lc24ndCBoYXZlIHRoZSBERUxUQV9VTklUCgkgIGZsYWcgc2V0IChmaXhlcyAnbWFrZSBjaGVjaycgYWdhaW4pLgoKMjAwNi0wNS0wMyAxNDo1MTo1MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRG9uJ3QgbWlzaW50ZXJwcmV0IEdTVF9DTE9DS19USU1FX05PTkUgYXMgdmVyeSBoaWdoIHRpbWVzdGFtcCB2YWx1ZSBhbmQgdGhlbiBkZWFkLWxvY2sgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdHJlYW1faXNfdm9yYmlzX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBEb24ndCBtaXNpbnRlcnByZXQgR1NUX0NMT0NLX1RJTUVfTk9ORSBhcyB2ZXJ5IGhpZ2ggdGltZXN0YW1wCgkgIHZhbHVlIGFuZCB0aGVuIGRlYWQtbG9jayB3aGVuIG11eGluZyB2b3JiaXMgYXVkaW8gc3RyZWFtcwoJICAodGhlIHRocmVlIHZvcmJpcyBoZWFkZXIgYnVmZmVycyBjYXJyeSBubyB0aW1lc3RhbXAsIGFuZCBpdAoJICB3b3VsZCB0cnkgdG8gbXV4IHRoZXNlIGFmdGVyIGFsbCB2aWRlbyBidWZmZXJzKS4gRml4ZXMgIzM0MDM0Ni4KCSAgSW1wcm92ZSBjbHVzdGVyaW5nOiBzdGFydCBhIG5ldyBjbHVzdGVyIGFsc28gd2hlbmV2ZXIgd2UgZ2V0CgkgIGEga2V5ZnJhbWUuCgoyMDA2LTA1LTAzIDE0OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYSBkZWFkIGNvZGUgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEKCSAgZGVhZCBjb2RlIGJsb2NrLgoKMjAwNi0wNS0wMyAxNDoyODo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgd2luMzIgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgYWRkIHdpbjMyIHN0dWZmCgoyMDA2LTA1LTAzIDE0OjI2OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCB3aW4zMiBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBhZGQgd2luMzIgc3R1ZmYKCjIwMDYtMDUtMDIgMjI6MzQ6NTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiBGaXggdGltZW92ZXJsYXkgZm9yIG5vbi1tdWx0aXBsZS1vZi00IHdpZHRocy4gVGhpcyBmb3VyY2MgY3JhcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdHJhbnNmb3JtKToKCSAgRml4IHRpbWVvdmVybGF5IGZvciBub24tbXVsdGlwbGUtb2YtNCB3aWR0aHMuIFRoaXMgZm91cmNjIGNyYXAKCSAgU1VDS1MuCgoyMDA2LTA1LTAyIDIxOjUyOjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoKMjAwNi0wNS0wMiAxODo1MDoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogZG9uJ3QgbGVhayBjYXBzLXN0cmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl91cGRhdGVfY2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKToKCSAgZG9uJ3QgbGVhayBjYXBzLXN0cmluZwoKMjAwNi0wNS0wMiAxNTo0NjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBMZXQgY29yZSBpbnNlcnQgZGVmYXVsdCBlcnJvciBtZXNzYWdlIGZvciBUWVBFX05PVF9GT1VORCBlcnJvcnMsIGl0J3MganVzdCBhcyBnb29kIGFzIG91ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIExldCBjb3JlIGluc2VydCBkZWZhdWx0IGVycm9yIG1lc3NhZ2UgZm9yIFRZUEVfTk9UX0ZPVU5ECgkgIGVycm9ycywgaXQncyBqdXN0IGFzIGdvb2QgYXMgb3VyIG93biBhbmQgaGFzIHRoZSBhZGRlZAoJICBib251cyBvZiBiZWluZyB0cmFuc2xhdGVkLgoKMjAwNi0wNS0wMiAxNTo0MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYW5kIHdlcmUgbm90IGFibGUgdG8gZmluZCBvdXQgdGhlIHR5cGUgb2Ygc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2luaXQpLAoJICAoZ3N0X3RhZ19kZW11eF9zaW5rX2V2ZW50KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9pbml0KSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2V2ZW50KToKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBhbmQgd2VyZSBub3QKCSAgYWJsZSB0byBmaW5kIG91dCB0aGUgdHlwZSBvZiBzdHJlYW0uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKGZpbGxfbXAzX2J1ZmZlciksIChnb3RfYnVmZmVyKSwKCSAgKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICBEZWNyZWFzZSBudW0tYnVmZmVycyB0byAxNiBwZXIgaXRlcmF0aW9uIGFnYWluLCBvdGhlcndpc2UgdGhlCgkgIG1hbnkgbWVtY3B5KClzIGFuZCByZWFsbG9jYXRpb25zIGluIHRoZSB0ZXN0IHdpbGwgaGFtbWVyIHNsb3cKCSAgQ1BVcyBjb21wbGV0ZWx5IGFuZCBtYWtlIHRoZSB0ZXN0IHRpbWVvdXQuCgoyMDA2LTA1LTAyIDEzOjI0OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZmlndXJlIG91dCB3aGVyZSBwbHVnaW5zLWJhc2UgcGx1Z2lucyBhcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBmaWd1cmUgb3V0IHdoZXJlIHBsdWdpbnMtYmFzZSBwbHVnaW5zIGFyZQoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB1c2UgcGx1Z2lucy1iYXNlIHBsdWdpbnMsIHNvIHdlIGhhdmUgdHlwZWZpbmQgZnVuY3Rpb25zCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICBpbmNyZWFzZSBudW0tYnVmZmVycywgdGhpcyBtYWtlcyBzdXJlIHRoZSB0ZXN0IGVycm9ycyBvdXQgaW5zdGVhZAoJICBvZiB0aW1pbmcgb3V0IHdoZW4gbm8gdHlwZWZpbmQgZnVuY3Rpb25zIGFyZSBwcmVzZW50CgoyMDA2LTA1LTAyIDEzOjAxOjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBmaXggZG9jcyBmb3Igd2F2cGFyc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkb2NzIGZvciB3YXZwYXJzZQoKMjAwNi0wNS0wMSAyMTozNzo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgoyMDA2LTA1LTAxIDExOjQ2OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogYWxzbyBjaGVjayAuY2MgZmlsZXMgZm9yIGd0ay1kb2MgbWFya3VwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgYWxzbyBjaGVjayAuY2MgZmlsZXMgZm9yIGd0ay1kb2MgbWFya3VwCgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6IChpZDN2Mm11eF9zdWl0ZSksIChtYWluKToKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICBtb3ZlIHRhZ2xpYi1iYXNlZCBpZDN2Mm11eGVyIHRvIC1nb29kLiAgRml4ZXMgIzMzNjExMC4KCjIwMDYtMDUtMDEgMTE6NDU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgYWRkIGljeWRlbXV4IGluc3BlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBpY3lkZW11eCBpbnNwZWN0aW9uCgoyMDA2LTA1LTAxIDExOjQzOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIGFkZCB4aW1hZ2VzcmMgZm9yIHRyYW5zbGF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgeGltYWdlc3JjIGZvciB0cmFuc2xhdGlvbgoKMjAwNi0wNC0zMCAxNjoxNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMzAgMTU6MzI6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgZml4IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkb2NzCgoyMDA2LTA0LTMwIDE0OjU1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgoyMDA2LTA0LTI5IDE4OjQ2OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KSBjYXNlIG9mIGFuIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpCgkgIGNhc2Ugb2YgYW4gZXJyb3IuCgoyMDA2LTA0LTI5IDE4OjE4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8gaXRzIG93biBzdWJjbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvCgkgIGl0cyBvd24gc3ViY2xhc3MuCgoyMDA2LTA0LTI5IDE2OjE0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IC4uLiBhbmQgZml4IG11bHRpY2hhbm5lbC9XQVZGT1JNQVRFWCBzdXBwb3J0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIC4uLiBhbmQgZml4IG11bHRpY2hhbm5lbC9XQVZGT1JNQVRFWCBzdXBwb3J0IGFnYWluLgoKMjAwNi0wNC0yOCAyMzowOToxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEFkZCBwdXNoIChzdHJlYW1pbmcpIG1vZGUgdG8gd2F2cGFyc2UgKGZpeGVzICMzMzc2MjUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2FkdGwpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2N1ZXMpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLCAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEFkZCBwdXNoIChzdHJlYW1pbmcpIG1vZGUgdG8gd2F2cGFyc2UgKGZpeGVzICMzMzc2MjUpCgoyMDA2LTA0LTI4IDIxOjQzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGVsZW1lbnQgcmVuYW1lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZWxlbWVudCByZW5hbWVkCgoyMDA2LTA0LTI4IDE5OjIyOjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBhZGQgcGx1Z2luIGRvY3MgZm9yIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHBsdWdpbiBkb2NzIGZvciB4aW1hZ2VzcmMKCjIwMDYtMDQtMjggMTk6MTU6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIHhpbWFnZXNyYyBpY2xlcyB0ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgYWRkIHhpbWFnZXNyYyBpY2xlcyB0ZXN0CgoyMDA2LTA0LTI4IDE4OjU3OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIE1vdmUgeGltYWdlc3JjIHBsdWctaW4gdG8gZ29vZCBhZnRlciByZXZpZXcuICBGaXhlcyAjMzM2NzU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9jbW1sX2VuY19wdXNoX2NsaXApOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIE1vdmUgeGltYWdlc3JjIHBsdWctaW4gdG8gZ29vZCBhZnRlciByZXZpZXcuICBGaXhlcyAjMzM2NzU2LgoKMjAwNi0wNC0yOCAxNjo1MTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICBib3JnaWZ5IG5hbWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeSBuYW1pbmcKCjIwMDYtMDQtMjggMTY6NDY6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZG9jIHR3ZWFrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHR3ZWFrcwoKMjAwNi0wNC0yOCAxNjoxNToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCjIwMDYtMDQtMjggMTU6MzM6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgcGVkYW50aWMgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBlZGFudGljIGNsZWFudXBzCgoyMDA2LTA0LTI4IDE0OjU3OjU3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguKjogRml4IGV2ZW50IGhhbmRsaW5nOiBjYWNoZSBldmVudHMgd2hlbiB0eXBlZmluZGluZyBhbmQgZm9yd2FyZCBsYXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfcmVzZXQpLCAgICAgICAgIChnc3RfaWN5ZGVtdXhfaW5pdCksIChnc3RfaWN5ZGVtdXhfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9pY3lkZW11eF9hZGRfc3JjcGFkKSwgKGdzdF9pY3lkZW11eF9wYXJzZV9hbmRfc2VuZF90YWdzKSwKCSAgKGdzdF9pY3lkZW11eF9oYW5kbGVfZXZlbnQpLCAoZ3N0X2ljeWRlbXV4X3NlbmRfY2FjaGVkX2V2ZW50cyksCgkgIChnc3RfaWN5ZGVtdXhfdHlwZWZpbmRfb3JfZm9yd2FyZCksIChnc3RfaWN5ZGVtdXhfYWRkX21ldGEpLAoJICAoZ3N0X2ljeWRlbXV4X2NoYWluKSwgKGdzdF9pY3lkZW11eF9zZW5kX3RhZ19ldmVudCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgIEZpeCBldmVudCBoYW5kbGluZzogY2FjaGUgZXZlbnRzIHdoZW4gdHlwZWZpbmRpbmcgYW5kIGZvcndhcmQgbGF0ZXIuCgoyMDA2LTA0LTI4IDE0OjU1OjIwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiBSZWdpc3RlciBvc3hhdWRpb3NyYyB0byB0aGUgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0yOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKHBsdWdpbl9pbml0KToKCSAgUmVnaXN0ZXIgb3N4YXVkaW9zcmMgdG8gdGhlIHBsdWdpbi4KCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX29zeGVsZW1lbnRfZG9faW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19iYXNlX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfY3JlYXRlX3JpbmdidWZmZXIpLCAoZ3N0X29zeF9hdWRpb19zcmNfaW9fcHJvYyksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19vc3hlbGVtZW50X2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBQb3J0IG9mIG9zeGF1ZGlvc3JjIHRvIDAuMTAuCgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBBZGQgb3N4YXVkaW9zcmMKCjIwMDYtMDQtMjggMTI6MDA6MzkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIGNvbW1pdCBDaGFuZ2Vsb2cgZm9yIHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWl0IENoYW5nZWxvZyBmb3IgcHJldmlvdXMgY29tbWl0CgoyMDA2LTA0LTI4IDExOjU3OjM5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgRm9yZ290IHRvIGNvbW1pdCwgcXVpY2sgY29tbWl0IGJlNCBhcHBsZSBkaWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGb3Jnb3QgdG8gY29tbWl0LCBxdWljayBjb21taXQgYmU0IGFwcGxlIGRpZXMKCjIwMDYtMDQtMjggMTE6Mzc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUmVjb2duaXNlIGFuZCBza2lwIGFueSBieXRlIG9yZGVyIG1hcmtlciAoQk9NKSBpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGhhc191dGYxNl9ib20pLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIFJlY29nbmlzZSBhbmQgc2tpcCBhbnkgYnl0ZSBvcmRlciBtYXJrZXIgKEJPTSkgaW4KCSAgVVRGLTE2IHN0cmluZ3MuCgoyMDA2LTA0LTI3IDE2OjA1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGRvY3MgZm9yIGJvdGggYXZpZGVtdXggYW5kIGF2aW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBBZGQgZG9jcyBmb3IgYm90aCBhdmlkZW11eCBhbmQgYXZpbXV4LgoKMjAwNi0wNC0yNyAxNDo1MTowNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvOiBQb3J0IEFWSSBtdXhlciB0byBHU3RyZWFtZXItMC4xMCAoIzMzMjAzMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9nc3RhdmkuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2F2aV9tdXhfYmFzZV9pbml0KSwgKGdzdF9hdmlfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9hdmlfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2F2aV9tdXhfaW5pdCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2F2aV9tdXhfcGFkX2xpbmspLCAoZ3N0X2F2aV9tdXhfcGFkX3VubGluayksCgkgIChnc3RfYXZpX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2F2aV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfdGFnKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpeF9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfdmlkZW9faGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F1ZGlvX2hlYWRlciksIChnc3RfYXZpX211eF9hZGRfaW5kZXgpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfaW5kZXgpLCAoZ3N0X2F2aV9tdXhfYmlnZmlsZSksCgkgIChnc3RfYXZpX211eF9zdGFydF9maWxlKSwgKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSksCgkgIChnc3RfYXZpX211eF9yZXN0YXJ0X2ZpbGUpLCAoZ3N0X2F2aV9tdXhfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9hdmlfbXV4X2ZpbGxfcXVldWUpLCAoZ3N0X2F2aV9tdXhfc2VuZF9wYWRfZGF0YSksCgkgIChnc3RfYXZpX211eF9zdHJpcF9idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fYXVkaW9fYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2RvX3ZpZGVvX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19vbmVfYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2xvb3ApLCAoZ3N0X2F2aV9tdXhfY29sbGVjdF9wYWRzKSwKCSAgKGdzdF9hdmlfbXV4X2dldF9wcm9wZXJ0eSksIChnc3RfYXZpX211eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F2aV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBQb3J0IEFWSSBtdXhlciB0byBHU3RyZWFtZXItMC4xMCAoIzMzMjAzMSkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgQVZJIG11eGVyLgoKMjAwNi0wNC0yNiAyMToyOTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IHJldmVydGVkIHBhdGNoICMzMzc2MjUgZm9yIHRoZSBwcmljZSBvZiAxIGhvdXIgc2xlZXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfaW5pdCksIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICByZXZlcnRlZCBwYXRjaCAjMzM3NjI1IGZvciB0aGUgcHJpY2Ugb2YgMSBob3VyIHNsZWVwCgoyMDA2LTA0LTI2IDIwOjExOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogY29ycmVjdCBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHB1c2ggbW9kZSAoZnJvbSBteSBsYXN0IGNvbW1pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfaW5pdCksIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfYWR0bCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfY3VlcyksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBjb3JyZWN0IHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgcHVzaCBtb2RlCgkgIChmcm9tIG15IGxhc3QgY29tbWl0KQoKMjAwNi0wNC0yNiAxNzozNzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBGaXggY29tcGlsZSBwcm9ibGVtIGJ5IGRlZmluaW5nIEVTRF9NQVhfV1JJVEVfU0laRSBpZiBpdCBpcyBub3QgaW4gZXNkLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgIEZpeCBjb21waWxlIHByb2JsZW0gYnkgZGVmaW5pbmcgRVNEX01BWF9XUklURV9TSVpFIGlmCgkgIGl0IGlzIG5vdCBpbiBlc2QuaAoKMjAwNi0wNC0yNiAxNzowODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuKjogUmV3cml0ZSBhdXBhcnNlIHRvIHN1Y2sgYSBsaXR0bGUgYml0IGxlc3M6IG1ha2Ugc291cmNlIHBhZCBkeW5hbWljLCBzbyBkZWNvZGViaW4vcGxheWJpbiB3by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hdV9wYXJzZV9pbml0KSwKCSAgKGdzdF9hdV9wYXJzZV9yZXNldCksIChnc3RfYXVfcGFyc2VfYWRkX3NyY3BhZCksCgkgIChnc3RfYXVfcGFyc2VfcmVtb3ZlX3NyY3BhZCksIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwKCSAgKGdzdF9hdV9wYXJzZV9jaGFpbiksIChnc3RfYXVfcGFyc2Vfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2F1X3BhcnNlX3NyY19xdWVyeSksIChnc3RfYXVfcGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X2F1X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X2F1X3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfYXVfcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFJld3JpdGUgYXVwYXJzZSB0byBzdWNrIGEgbGl0dGxlIGJpdCBsZXNzOiBtYWtlIHNvdXJjZSBwYWQKCSAgZHluYW1pYywgc28gZGVjb2RlYmluL3BsYXliaW4gd29yayB3aXRoIG5vbi1yYXcgZm9ybWF0cwoJICBsaWtlIGFsYXcvbXVsYXc7IGFkZCBxdWVyeSBmdW5jdGlvbiBmb3IgZHVyYXRpb24vcG9zaXRpb24KCSAgcXVlcmllczsgY2hlY2sgd2hldGhlciB3ZSBoYXZlIGVub3VnaCBkYXRhIGJlZm9yZSBhdHRlbXB0aW5nCgkgIHRvIHBhcnNlIHRoZSBoZWFkZXIgKGluc3RlYWQgb2YgY3Jhc2hpbmcgd2hlbiB0aGF0IGlzIG5vdCB0aGUKCSAgY2FzZSk7IHdvcmsgYXJvdW5kIGF1ZGlvY29udmVydCBzdWNraW5nIGJ5IHN3YXBwaW5nIGVuZGlhbm5lc3MKCSAgdG8gdGhlIG5hdGl2ZSBlbmRpYW5uZXNzIG91cnNlbHZlcyBmb3IgZmxvYXQgZm9ybWF0czsgc2VuZAoJICBpbml0aWFsIG5ld3NlZ21lbnQgZXZlbnQuIEZpeGVzICMxNjE3MTIuCgoyMDA2LTA0LTI2IDE2OjI5OjM4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL29zeGF1ZGlvLzogUG9ydCBvZiBvc3hhdWRpb3NpbmsgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0yNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgIChnc3Rfb3N4X2F1ZGlvX2VsZW1lbnRfZ2V0X3R5cGUpLAoJICAoZ3N0X29zeF9hdWRpb19lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3Npbmtfb3N4ZWxlbWVudF9kb19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19iYXNlX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9vc3hfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlciksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfaW9fcHJvYyksIChnc3Rfb3N4X2F1ZGlvX3Npbmtfb3N4ZWxlbWVudF9pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIFBvcnQgb2Ygb3N4YXVkaW9zaW5rIHRvIDAuMTAKCjIwMDYtMDQtMjYgMDg6NTU6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogQWx3YXlzIHdyaXRlIEVTRF9CVUZfU0laRSBieXRlcyBhbmQgdXNlIEVTRF9NQVhfV1JJVEVfU0laRSBhcyB0aGUgc2l6ZSBvZiB0aGUgcmluZ2J1ZmZlci4gVGhpcyBzaG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19wcmVwYXJlKSwgKGdzdF9lc2RzaW5rX2RlbGF5KToKCSAgQWx3YXlzIHdyaXRlIEVTRF9CVUZfU0laRSBieXRlcyBhbmQgdXNlIEVTRF9NQVhfV1JJVEVfU0laRSBhcwoJICB0aGUgc2l6ZSBvZiB0aGUgcmluZ2J1ZmZlci4gVGhpcyBzaG91bGQgZml4IGhhbmdzIHdpdGggb2xkZXIKCSAgZXNkIHNvdW5kIHNlcnZlcnMuCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMjUgMjE6Mzk6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfaW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzogKGdzdF9nYW1tYV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSAgKGdzdF92aWRlb3RlbXBsYXRlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwKCSAgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0yNSAxNzo1NzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogU291cmNlIHBhZCBoYXMgZml4ZWQgY2Fwcy4gSWYgd2UgZG9uJ3Qgc2V0IHRoaXMsIGJhZCB0aGluZ3MgaGFwcGVuIHdoZW4gdGhlIHdpbmRvdyBpcyByZXNpemVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBTb3VyY2UgcGFkIGhhcyBmaXhlZCBjYXBzLiBJZiB3ZSBkb24ndCBzZXQgdGhpcywgYmFkCgkgIHRoaW5ncyBoYXBwZW4gd2hlbiB0aGUgd2luZG93IGlzIHJlc2l6ZWQuCgoyMDA2LTA0LTI1IDE2OjM4OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogSGFuZGxlIGNhc2Ugd2hlcmUgdGhlIFRyYWNrVHlwZSBlYm1sIGNodW5rIGRvZXMgbm90IGNvbWUgYmVmb3JlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfdmlkZW9fY29udGV4dCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9hdWRpb19jb250ZXh0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3N1YnRpdGxlX2NvbnRleHQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfY29tcGxleF9jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEhhbmRsZSBjYXNlIHdoZXJlIHRoZSBUcmFja1R5cGUgZWJtbCBjaHVuayBkb2VzIG5vdCBjb21lIGJlZm9yZSB0aGUKCSAgVHJhY2tJbmZvQXVkaW8gb3IgVHJhY2tJbmZvVmlkZW8gZWJtbCBjaHVuayAoIzMzOTQ0NikuIElnbm9yZSBRb1MKCSAgZXZlbnRzLgoKMjAwNi0wNC0yNSAxNjowOTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBJdCdzIGNvZGVjX2RhdGEsIG5vdCBjb2RlY19pbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBJdCdzIGNvZGVjX2RhdGEsIG5vdCBjb2RlY19pbmZvLgoKMjAwNi0wNC0yNSAxMTo0NTowMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgY29kZWNfZGF0YSBmb3IgVmZXIGNvbXBhdGliaWxpdHkgY29kZWMgSURzICgjMzM5NDUxKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgSGFuZGxlIGNvZGVjX2RhdGEgZm9yIFZmVyBjb21wYXRpYmlsaXR5IGNvZGVjIElEcyAoIzMzOTQ1MSkKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgU2FtZSBoZXJlLCBoYW5kbGUgY29kZWNfZGF0YSBhbmQgYWRkIGFkZGl0aW9uYWwgY2FwcyB3ZSBjYW4gaGFuZGxlCgkgIG5vdyB0byB0aGUgcGFkIHRlbXBsYXRlIChodWZmeXV2LCBkdiBhbmQgaDI2MyB2aWRlbykgKCMzMzk0NTEpCgoyMDA2LTA0LTI1IDExOjA5OjI0ICswMDAwICBKb3NlZiBabG9tZWsgPGpvc2VmLnpsb21la0BpdG9uaXMudHY+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCB0aW1lc3RhbXBpbmcgb2YgQi1mcmFtZXMsIHVzZSBzaWduZWQgaW50ZWdlcnMsIGRvIHNvbWUgcm91bmRpbmcgKCMzMzk2NzgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VmIFpsb21layAgPGpvc2VmIGRvdCB6bG9tZWsgYXQgaXRvbmlzIGRvdCB0dj4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV9idWZmZXJfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIEZpeCB0aW1lc3RhbXBpbmcgb2YgQi1mcmFtZXMsIHVzZSBzaWduZWQgaW50ZWdlcnMsIGRvCgkgIHNvbWUgcm91bmRpbmcgKCMzMzk2NzgpLgoKMjAwNi0wNC0yNCAxODozMDo1NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgIGp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCjIwMDYtMDQtMjMgMTU6NTU6MzAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggYSBiYWQgY29udmVyc2lvbiB1c2luZyBnc3RfZ3VpbnQ2NF90b19nZG91YmxlLiBmYWJzICgoZ2RvdWJsZSkgZGVtdXgtPmluZGV4W2VudHJ5XS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspOgoJICBGaXggYSBiYWQgY29udmVyc2lvbiB1c2luZyBnc3RfZ3VpbnQ2NF90b19nZG91YmxlLgoJICBmYWJzICgoZ2RvdWJsZSkgZGVtdXgtPmluZGV4W2VudHJ5XS50aW1lIC0gKGdkb3VibGUpIHNlZWtfcG9zKSBjYW4gbm90IGJlCgkgIHJlcGxhY2VkIGJ5IGZhYnMgKGdzdF9ndWludDY0X3RvX2dkb3VibGUgKGRlbXV4LT5pbmRleFtlbnRyeV0udGltZSAtIHNlZWtfcG9zKSkgYXMgdGhlCgkgIGRpZmZlcmVuY2UgY291bGQgYmUgbmVnYXRpdmUuIGZhYnMgKGdzdF9ndWludDY0X3RvX2dkb3VibGUgKGRlbXV4LT5pbmRleFtlbnRyeV0udGltZSkgLQoJICBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIChzZWVrX3BvcykpIGlzIHRoZSBnb29kIHNvbHV0aW9uLiBUaGFua3MgdG8gVGltIHdobyBoYXMgc2VlbiBteQoJICBtaXN0YWtlLgoKMjAwNi0wNC0yMiAxNTozMjo0OCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspOgoJICBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbnMKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGljeWRlbXV4LmRzcDoKCSAgQWRkIGEgcHJvamVjdCBmaWxlIGZvciBpY3lkZW11eAoKMjAwNi0wNC0yMSAxODowNzoxMCArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogV2hlbiBzcGxpdHRpbmcgYXVkaW8gY2h1bmtzLCB0aGUgYmxvY2sgYWxpZ25tZW50IGlzIG5vdCB0YWtlbiBpbiBjb25zaWRlcmF0aW9uLCBzbyB0aGUgc21hbGxlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgIFdoZW4gc3BsaXR0aW5nIGF1ZGlvIGNodW5rcywgdGhlIGJsb2NrIGFsaWdubWVudCBpcyBub3QgdGFrZW4gaW4KCSAgY29uc2lkZXJhdGlvbiwgc28gdGhlIHNtYWxsZXIgY2h1bmtzIGNvdWxkIGJlIG9mIHNpemUgd2hpY2ggaXMKCSAgbm90IGEgbXVsdGlwbGUgb2YgdGhlIGJsb2NrIGFsaWdubWVudC4gRml4ZXMgIzMzNjkwNAoKMjAwNi0wNC0yMSAxNzo1OTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBVc2Ugc2NhbGUgZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19jb252ZXJ0KToKCSAgVXNlIHNjYWxlIGZ1bmN0aW9ucwoKMjAwNi0wNC0yMSAxNzoyNzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdi9nc3Rkdi5jOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICBGaXggYnVpbGQuCgoyMDA2LTA0LTIxIDE3OjE1OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IEFkZCAnZm9ybWF0JyBwcm9wZXJ0eSB0byBmb3JjZSBxdWVyeWluZyB0byBhIHBhcnRpY3VsYXIgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfZmluYWxpemUpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9jbGFzc19pbml0KSwgKGdzdF9wcm9ncmVzc19yZXBvcnRfaW5pdCksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2RvX3F1ZXJ5KSwgKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfZ2V0X3Byb3BlcnR5KToKCSAgQWRkICdmb3JtYXQnIHByb3BlcnR5IHRvIGZvcmNlIHF1ZXJ5aW5nIHRvIGEgcGFydGljdWxhciBmb3JtYXQuCgoyMDA2LTA0LTIxIDE1OjUwOjI4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZHYvZ3N0ZHYuYyAocGx1Z2luX2luaXQpOiBsaWJkdiBpcyBhIG1hcmdpbmFsIGRlY29kZXIsIGF0IGJlc3QsIG9uIGJpZyBlbmRpYW4gc3lzdGVtcy4gRHJvcCBpdHMgcmFuayBpbiB0aGF0IGNhc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMjEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2LmMgKHBsdWdpbl9pbml0KTogbGliZHYgaXMgYSBtYXJnaW5hbCBkZWNvZGVyLCBhdAoJICBiZXN0LCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMuIERyb3AgaXRzIHJhbmsgaW4gdGhhdCBjYXNlLiBPVE9IIG9uCgkgIHg4NiBpdCdzIHF1aXRlIGZpbmUuIFNlZSBjaGFuZ2VzIGZyb20gdG9kYXkgaW4gZ3N0LWZmbXBlZyBhcyB3ZWxsLgoKMjAwNi0wNC0yMSAxMjo0MDo0MSArMDAwMCAgRWQgQ2F0bXVyIDxlZEBjYXRtdXIuY28udWs+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IERvbid0IGNyYXNoIGlmIHdlIGdldCBhbiBFT1MgZXZlbnQgYmVmb3JlIHRoZSBlbmNvZGVyIGhhcyBiZWVuIHNldCB1cCAoIzMzOTI4NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRWQgQ2F0bXVyICA8ZWQgYXQgY2F0bXVyIGRvdCBjbyBkb3QgdWs+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2lua19ldmVudCk6CgkgIERvbid0IGNyYXNoIGlmIHdlIGdldCBhbiBFT1MgZXZlbnQgYmVmb3JlIHRoZSBlbmNvZGVyCgkgIGhhcyBiZWVuIHNldCB1cCAoIzMzOTI4NykuCgoyMDA2LTA0LTIxIDA5OjI3OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgaWN5ZGVtdXgsIGFuZCB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9nZXRfdHlwZSksCgkgIChnc3RfaWN5ZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9pY3lkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9pY3lkZW11eF9yZXNldCksIChnc3RfaWN5ZGVtdXhfaW5pdCksCgkgIChnc3RfaWN5ZGVtdXhfc2lua19zZXRjYXBzKSwgKGdzdF9pY3lkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9pY3lkZW11eF9hZGRfc3JjcGFkKSwgKGdzdF9pY3lkZW11eF9yZW1vdmVfc3JjcGFkKSwKCSAgKHVuaWNvZGlmeSksIChnc3RfaWN5ZGVtdXhfdW5pY29kaWZ5KSwKCSAgKGdzdF9pY3lkZW11eF9wYXJzZV9hbmRfc2VuZF90YWdzKSwKCSAgKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKSwgKGdzdF9pY3lkZW11eF9hZGRfbWV0YSksCgkgIChnc3RfaWN5ZGVtdXhfY2hhaW4pLCAoZ3N0X2ljeWRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfaWN5ZGVtdXhfc2VuZF90YWdfZXZlbnQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6ICh0eXBlZmluZF9zdWNjZWVkKSwKCSAgKHBsdWdpbl9pbml0KSwgKGljeWRlbXV4X2ZvdW5kX3BhZCksIChjcmVhdGVfaWN5ZGVtdXgpLAoJICAoY2xlYW51cF9pY3lkZW11eCksIChwdXNoX2RhdGEpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoaWN5ZGVtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBpY3lkZW11eCwgYW5kIHRlc3RzLgoKMjAwNi0wNC0yMCAxNzo0ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogUG9zdCBTRUdNRU5UX0RPTkUgbWVzc2FnZSBpbiBUSU1FIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApOgoJICBQb3N0IFNFR01FTlRfRE9ORSBtZXNzYWdlIGluIFRJTUUgZm9ybWF0LgoKMjAwNi0wNC0yMCAxNzoyOTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoKMjAwNi0wNC0yMCAxNjozMzo1NSArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGluZGV4IGNyZWF0aW9uIHdoZW4gd2UgaGF2ZSB0byBzY2FuIHRoZSBmaWxlIHRvIGNyZWF0ZSBhbiBpbmRleC4gVGhlcmUgbWF5IGJlIG90aGVyIHR5cGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIEZpeCBpbmRleCBjcmVhdGlvbiB3aGVuIHdlIGhhdmUgdG8gc2NhbiB0aGUgZmlsZSB0byBjcmVhdGUKCSAgYW4gaW5kZXguIFRoZXJlIG1heSBiZSBvdGhlciB0eXBlcyBvZiBSSUZGICdMSVNUJyBjaHVua3MgdGhhbgoJICAnbW92aScgYW5kIHdlIG5lZWQgdG8gc2tpcCB0aGVtIHByb3Blcmx5IGFzIHdlbGwgb3Igd2UnbGwgZW5kIHVwCgkgIHJlYWRpbmcgZ2FyYmFnZSAoIzMzNjg4OSkuIFNvbWUgb3RoZXIgY29zbWV0aWMgY2hhbmdlcy4KCjIwMDYtMDQtMjAgMTQ6MjE6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzIChmaXhlcyAjMzM4MjkwKS4gQWxzbyBkZW1vdGUgc29tZSByZWN1cnJpbmcgZGVidWcgbWVzc2FnZSBmcm9tIEQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MgKGZpeGVzICMzMzgyOTApLiBBbHNvIGRlbW90ZQoJICBzb21lIHJlY3VycmluZyBkZWJ1ZyBtZXNzYWdlIGZyb20gREVCVUcgdG8gTE9HIGxldmVsLgoKMjAwNi0wNC0yMCAxMzoyMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFNldCBESVNDT05UIGZsYWcgb24gZmlyc3QgYnVmZmVyIGFmdGVyIGEgZGlzY29udGludWl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBTZXQgRElTQ09OVCBmbGFnIG9uIGZpcnN0IGJ1ZmZlciBhZnRlciBhIGRpc2NvbnRpbnVpdHkuCgkgIEZpeCBuZXdzZWdtZW50IGV2ZW50cyBzZW50IHdoZW4gc2Vla2luZyBhbmQgaG9ub3VyIEtFWV9VTklUCgkgIHNlZWsgZmxhZy4gQ3JlYXRlIHBhZCB3aXRoIGJvZ3VzIGNhcHMgaWYgd2UgZG9uJ3QgcmVjb2duaXNlCgkgIHRoZSBzdHJlYW0gY29kZWMgaWQuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDYtMDQtMjAgMTE6MDA6MTYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIGVuZCBvZiBzZWdtZW50IHByb3Blcmx5IHdoZW4gc2V0OyBkb24ndCBkZWFkLWxvY2sgd2hlbiBwb3N0aW5nIHN0YXJ0IG9mIHNlZ21lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICBIYW5kbGUgZW5kIG9mIHNlZ21lbnQgcHJvcGVybHkgd2hlbiBzZXQ7IGRvbid0IGRlYWQtbG9jayB3aGVuCgkgIHBvc3Rpbmcgc3RhcnQgb2Ygc2VnbWVudCBtZXNzYWdlIHdoZW4gZG9pbmcgYSBzZWdtZW50IHNlZWsuCgkgIEZpeGVzICMzMzg4MTAuCgoyMDA2LTA0LTIwIDA5OjQ4OjA1ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgQWRkIHF0ZHJ3IG1pbWUgdHlwZS4KCSAgRml4ZXMgIzMzOTA0MQoKMjAwNi0wNC0yMCAwOToxMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBNYWtlIG1wZWcyIGFhYyBhdWRpbyB3b3JrOiBjcmVhdGUgYXJ0aWZpY2lhbCBwcml2YXRlIGNvZGVjIGRhdGEgY2h1bmsgd2hpY2ggZmFhZDIgc2VlbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgIE1ha2UgbXBlZzIgYWFjIGF1ZGlvIHdvcms6IGNyZWF0ZSBhcnRpZmljaWFsIHByaXZhdGUgY29kZWMgZGF0YQoJICBjaHVuayB3aGljaCBmYWFkMiBzZWVtcyB0byByZXF1aXJlLCBqdXN0IGFzIHdlIGRvIGZvciBtcGVnNCBhYWMuCgkgIEFsc28gY2FsbCBnc3RfcmlmZl9pbml0KCkuIFBhcnRpYWxseSBmaXhlcyAjMzM4NzY3LgoKMjAwNi0wNC0xOSAxNToxNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IFNldCBjYXBzIG9uIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciwgc28gdGhhdCBpdCBkb2Vzbid0IGVycm9yIG91dCBpbW1lZGlhdGVseSB3aXRoIGEgbm9uLW5lZ290aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdmVuY19jbGFzc19pbml0KSwgKGdzdF93YXZlbmNfaW5pdCksCgkgIChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwgKGdzdF93YXZlbmNfcHVzaF9oZWFkZXIpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ2V0X2lkX2Zyb21fbmFtZSksIChnc3Rfd2F2ZW5jX2V2ZW50KSwKCSAgKGdzdF93YXZlbmNfY2hhaW4pLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIFNldCBjYXBzIG9uIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciwgc28gdGhhdCBpdCBkb2Vzbid0IGVycm9yIG91dAoJICBpbW1lZGlhdGVseSB3aXRoIGEgbm9uLW5lZ290aWF0ZWQgZXJyb3IgKCMzMzg3MTYpLiBSZXdyaXRlIGFuZAoJICBjbGVhbiB1cCBhIGJpdDsgZml4IHNldGNhcHMgZnVuY3Rpb24gdG8gcGFyc2UgdGhpbmdzIHByb3Blcmx5OwoJICBmaXggc2luayBjYXBzICg4Yml0IGF1ZGlvIGlzIHVuc2lnbmVkIGFuZCBkb2Vzbid0IGhhdmUgZGVwdGgpOwoJICB1c2UgYm9pbGVycGxhdGUgbWFjcm9zOyByZW1vdmUgdW51c2VkIHByb3BlcnRpZXMgc3R1ZmYuCgoyMDA2LTA0LTE5IDA5OjI3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIEZpeGVzICMzMzg5MzUuCgoyMDA2LTA0LTE4IDE4OjE0OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IExlYXZlIEpQRUcgZGVjb2RpbmcgdG8gb3VyIGpwZWdkZWMgcGx1Z2luLiBnZGtwaXhidWZkZWMgY2Fubm90IGhhbmRsZSBNSlBFRyBzdHJlYW1zIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBMZWF2ZSBKUEVHIGRlY29kaW5nIHRvIG91ciBqcGVnZGVjIHBsdWdpbi4gZ2RrcGl4YnVmZGVjIGNhbm5vdAoJICBoYW5kbGUgTUpQRUcgc3RyZWFtcyBhbmQgbWlnaHQgYmUgYXV0b3BsdWdnZWQgZm9yIHRob3NlIGlmIHRoZQoJICB1c2VyIGRvZXNuJ3QgaGF2ZSBqcGVnZGVjIGluc3RhbGxlZCAocmVzdWx0aW5nIGluIGEgY3J5cHRpYyBlcnJvcgoJICBtZXNzYWdlIGFib3V0IGh1ZmZtYW4gdGFibGVzKS4gQmV0dGVyIHRvIGRpc2FibGUgSlBFRyBkZWNvZGluZyBoZXJlCgkgIGFuZCBsZXQgdGhlIHVzZXIgZmlndXJlIG91dCB0aGF0IHNoZSBuZWVkcyB0byBpbnN0YWxsIGpwZWdkZWMuCgoyMDA2LTA0LTE4IDE4OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLio6IE1ha2Ugd29yayB3aXRoIHBhY2tldGlzZWQvZnJhbWVkIGlucHV0IChlLmcuIHBuZy1pbi1xdWlja3RpbWUpLiBVc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwgKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgTWFrZSB3b3JrIHdpdGggcGFja2V0aXNlZC9mcmFtZWQgaW5wdXQgKGUuZy4gcG5nLWluLXF1aWNrdGltZSkuIFVzZQoJICBHU1RfRUxFTUVOVF9FUlJPUiB3aGVuIHdlIHJldHVybiBHU1RfRkxPV19FUlJPUi4gQWRkIHNvbWUKCSAgR1NUX0RFQlVHX0ZVTkNQVFIgaGVyZSBhbmQgdGhlcmUuIFVzZSBHU1RfTE9HIGZvciByZWN1cnJpbmcKCSAgZGVidWcgbWVzc2FnZXMuIEZpeCBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTA0LTE4IDE3OjI5OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IE5vIG5lZWQgdG8gc3BlY2lhbC1jYXNlIGZvciBHZGstMi4wIGFueSBsb25nZXIsIHdlIHJlcXVpcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9nZXRfY2Fwc2xpc3QpLAoJICAoZ3N0X2dka19waXhidWZfc2V0X3Byb3BlcnR5KSwgKGdzdF9nZGtfcGl4YnVmX2dldF9wcm9wZXJ0eSk6CgkgIE5vIG5lZWQgdG8gc3BlY2lhbC1jYXNlIGZvciBHZGstMi4wIGFueSBsb25nZXIsIHdlIHJlcXVpcmUKCSAgR2RrIDIuMiBvciBuZXdlcjsgbWlub3IgY2xlYW4tdXBzLgoKMjAwNi0wNC0xOCAxNzoxNzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJld3JpdGUgYSBiaXQ6IHVzZSBHc3RCYXNlU2luazo6c3RhcnQgYW5kIHN0b3AgaW5zdGVhZCBvZiBhIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgdXNlIEdTVF9FTEVNRU5UX0VSUk9SIGZvciBlcnJvciByZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfYmFzZV9pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLCAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksCgkgIChzZXRfc2hvdXRfbWV0YWRhdGEpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9zaG91dDJzZW5kX2V2ZW50KSwgKGdzdF9zaG91dDJzZW5kX3N0YXJ0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2Nvbm5lY3QpLCAoZ3N0X3Nob3V0MnNlbmRfc3RvcCksCgkgIChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zaG91dDJzZW5kX2dldF9wcm9wZXJ0eSksIChnc3Rfc2hvdXQyc2VuZF9zZXRjYXBzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBSZXdyaXRlIGEgYml0OiB1c2UgR3N0QmFzZVNpbms6OnN0YXJ0IGFuZCBzdG9wIGluc3RlYWQgb2YgYSBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb247IHVzZSBHU1RfRUxFTUVOVF9FUlJPUiBmb3IgZXJyb3IgcmVwb3J0aW5nLCBub3QKCSAgZ19lcnJvcigpIG9yIEdTVF9FUlJPUigpOyBkb24ndCB1bnJlZiBjYXBzIGluIHNldGNhcHMgZnVuY3Rpb24sCgkgIHdpbGwgY2F1c2UgY3Jhc2hlcyBvciBhc3NlcnRpb24gZmFpbHVyZXM7IHJlbW92ZSAodW51c2VkKSAic3luYyIKCSAgcHJvcGVydHksIGJhc2VzaW5rIGFscmVhZHkgaGFzIHN1Y2ggYSBwcm9wZXJ0eTsgbWlzYy4gb3RoZXIKCSAgbWlub3IgZml4ZXMgYW5kIGNsZWFudXBzLgoKMjAwNi0wNC0xOCAxNDoxNTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCB0cmFuc2xhdGFibGUgZXJyb3IgbWVzc2FnZSBmb3Igd2hlbiB3ZSBjYW5ub3QgY29ubmVjdCB0byB0aGUgc291bmQgc2VydmVyLCBhcyAiQ2Fubm90IG9wZW4gcmVzb3VyY2UgZm9yIHdyaXRpbmciIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX29wZW4pLCAoZ3N0X2VzZHNpbmtfcHJlcGFyZSk6CgkgICogZXh0L2VzZC9nc3Rlc2QuYzogKHBsdWdpbl9pbml0KToKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIHRyYW5zbGF0YWJsZSBlcnJvciBtZXNzYWdlIGZvciB3aGVuIHdlIGNhbm5vdAoJICBjb25uZWN0IHRvIHRoZSBzb3VuZCBzZXJ2ZXIsIGFzICJDYW5ub3Qgb3BlbiByZXNvdXJjZQoJICBmb3Igd3JpdGluZyIgaXNuJ3QgcmVhbGx5IGFuIGFjY2VwdGFibGUgbWVzc2FnZSB0byBzaG93CgkgIHRvIHRoZSB1c2VyIGluIHRoaXMgY2FzZS4KCjIwMDYtMDQtMTggMTM6MzI6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdC1pMThuLXBsdWdpbi5oOiBSZW1vdmUgYm9ndXMgZmlsZSB0aGF0IGRvZXNuJ3QgYmVsb25nIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIFJlbW92ZSBib2d1cyBmaWxlIHRoYXQgZG9lc24ndCBiZWxvbmcgaGVyZS4KCjIwMDYtMDQtMTcgMTk6NTc6MTAgKzAwMDAgIFBoaWxpcHBlIFZhbGVtYm9pcyA8bGVwaGlsb3Vzb3BoZUB1c2Vycy5zZi5uZXQ+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi4qOiBIYW5kbGUgdGFncyBiZWluZyByZWNlaXZlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBpcyBlc3RhYmxpc2hlZCBwcm9wZXJseSAoc2VlICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQaGlsaXBwZSBWYWxlbWJvaXMKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9zZXRfbWV0YWRhdGEpLCAoZ3N0X3Nob3V0MnNlbmRfZXZlbnQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfcmVuZGVyKSwgKGdzdF9zaG91dDJzZW5kX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgSGFuZGxlIHRhZ3MgYmVpbmcgcmVjZWl2ZWQgYmVmb3JlIHRoZSBjb25uZWN0aW9uIHRvCgkgIHRoZSBzZXJ2ZXIgaXMgZXN0YWJsaXNoZWQgcHJvcGVybHkgKHNlZSAjMzM4NjM2KS4KCjIwMDYtMDQtMTcgMTk6NDM6MzIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgoyMDA2LTA0LTE3IDE5OjEyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogRG9uJ3QgY3Jhc2ggaW4gY2FzZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGZhaWxzOiBkb24ndCBzZXQgcG9pbnRlciB0byBOVUxMIGJ5IGFzc2lnbmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpOgoJICBEb24ndCBjcmFzaCBpbiBjYXNlIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgZmFpbHM6CgkgIGRvbid0IHNldCBwb2ludGVyIHRvIE5VTEwgYnkgYXNzaWduaW5nIEZBTFNFOyBlcnJvciBvdXQKCSAgcHJvcGVybHkgYnkgdXNpbmcgR1NUX0VMRU1FTlRfRVJST1IgYW5kIHJldHVybmluZwoJICBHU1RfRkxPV19FUlJPUiAoZml4ZXMgIzMzODYzNikuIExhc3RseSwgZnJlZSBjb25uZWN0aW9uCgkgIGJlZm9yZSByZXNldHRpbmcgdGhlIHBvaW50ZXIuCgoyMDA2LTA0LTE3IDEwOjAxOjUxICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxhbkBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChGaXhlcyAjMzM4NzEzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBSZWNvZ25pc2UgVENPIChHZW5yZSkgdGFncyBpbiBJRDN2Mi4yLiBQYXRjaCBieSBBbGV4IExhbmNhc3RlcgoJICAoRml4ZXMgIzMzODcxMykKCjIwMDYtMDQtMTMgMjE6NDU6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoKMjAwNi0wNC0xMyAwOToxNTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgcmV2ZXJ0aW5nIHJ0cCBwYXRjaGVzIHRvIGZpeCBmcmVlemUgYnJlYWsgb24gLWJhc2UgYXMgZXhwbGFpbmVkIG9uIHRoZSBsaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZlcnRpbmcgcnRwIHBhdGNoZXMgdG8gZml4IGZyZWV6ZSBicmVhayBvbiAtYmFzZSBhcyBleHBsYWluZWQgb24gdGhlIGxpc3QKCjIwMDYtMDQtMTMgMDk6MDE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwLzogRml4IEdPYmplY3QgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDYtMDQtMTMgMDM6NDI6NTEgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwLzogUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTEyIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgIFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkgIEFkZGVkIG5ldyBpTEJDIHBheWxvYWRlci9kZXBheWxvYWRlci4gUGF5bG9hZGVyIHVzZXMgbmV3IGF1ZGlvIHBheWxvYWQgYmFzZQoJICBjbGFzcy4KCjIwMDYtMDQtMTIgMjE6NTc6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoKMjAwNi0wNC0xMiAwOTo0MjoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9nZXRfY2Fwc2xpc3QpLCAoZ3N0X2dka19waXhidWZfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgQWRkZWQgUkdCQSBhcyBhIHBvc3NpYmxlIG91dHB1dCBmb3JtYXQuCgkgIENvcnJlY3RseSBmcmVlIHRoZSBzdXBwb3J0ZWQgbWltZXR5cGVzLgoJICBkZXByZWNhdGUgc2lsZW50IGFyZywgaXQncyBub3QgdXNlZC4KCSAgUmV0dXJuIHJlc3VsdCBmcm9tIF9hbGxvY19idWZmZXIgdG8gcGVlci4KCjIwMDYtMDQtMTEgMTg6MDM6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiBEb24ndCBsZWFrIG1lbW9yeSBhbGxvY2F0ZWQgYnkgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgYnkgb3ZlcndyaXRpbmcgR1NUX0JVRkZFUl9NQUxMT0MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgRG9uJ3QgbGVhayBtZW1vcnkgYWxsb2NhdGVkIGJ5IGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIGJ5CgkgIG92ZXJ3cml0aW5nIEdTVF9CVUZGRVJfTUFMTE9DREFUQS4KCjIwMDYtMDQtMTEgMTU6Mjc6MzEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgZml4IHZlcnNpb24gbnVtYmVyIG1hY3JvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdmVyc2lvbiBudW1iZXIgbWFjcm8KCjIwMDYtMDQtMTEgMDk6MzU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBIYW5kbGUgbW9yZSB0aGFuIG9uZSBmcmFtZSBpZiB0aGUgY29udGVudCBpcyBmcmFtZWQsIGxpa2Ugd2l0aCBwbmctaW4tcXVpY2t0aW1lICgjMzMxOTE3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksCgkgICh1c2VyX2VuZHJvd19jYWxsYmFjayksICh1c2VyX2VuZF9jYWxsYmFjayksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY19jaGFpbiksCgkgIChnc3RfcG5nZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3BuZ2RlY19saWJwbmdfY2xlYXIpLCAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIEhhbmRsZSBtb3JlIHRoYW4gb25lIGZyYW1lIGlmIHRoZSBjb250ZW50IGlzIGZyYW1lZCwKCSAgbGlrZSB3aXRoIHBuZy1pbi1xdWlja3RpbWUgKCMzMzE5MTcpLgoKMjAwNi0wNC0xMCAxOTo1NTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBzeXMvb3NzLzogLSB0aGUgdXNlci12aXNpYmxlIGVycm9yIHN0cmluZ3Mgd2VyZSBpbiB0aGUgd3JvbmcgY2F0ZWdvcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL2NvbW1vbi5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2luaXQpLCAoZ3N0X29zc19zaW5rX29wZW4pLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpLCAoZ3N0X29zc19zaW5rX3VucHJlcGFyZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3ByZXBhcmUpLAoJICAoZ3N0X29zc19zcmNfdW5wcmVwYXJlKToKCSAgLSB0aGUgdXNlci12aXNpYmxlIGVycm9yIHN0cmluZ3Mgd2VyZSBpbiB0aGUgd3JvbmcgY2F0ZWdvcnkKCSAgLSBhbmQgdGhlIG1lc3NhZ2VzIHdlcmUgbm90IG1hcmtlZCBmb3IgdHJhbnNsYXRpb24KCSAgLSB3aGljaCBpcyBhY3R1YWxseSBhIGdvb2QgdGhpbmcsIGJlY2F1c2UgdGhleSB3ZXJlIGV4YWN0bHkKCSAgdGhlIGtpbmQgb2YgbWVzc2FnZSB5b3Ugd291bGQgbmV2ZXIgd2FudCBhbnlvbmUgdG8gc2VlCgkgIC0gdGhlIG1hY3JvcyB3ZXJlIHVzaW5nIHZhcmlhYmxlcyB0aGF0IGRpZG4ndCBleGlzdCBpbiB0aGUgbWFjcm8KCSAgYXJndW1lbnRzCgkgIC0gYW5kIHRoZXkgd2VyZSBvYnZpb3VzbHkgY29waWVkIGZyb20gZWFjaCBvdGhlciBhbmQgdGhlbiBtb2RpZmllZAoJICAtIHNvIGEgY29tbW9uIGhlYWRlciBtYWtlcyBzZW5zZQoKMjAwNi0wNC0xMCAxNzoxNjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoKMjAwNi0wNC0xMCAxNjowOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogRG9uJ3QgdHJ5IHRvIG1vZGlmeSByZWFkLW9ubHkgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgRG9uJ3QgdHJ5IHRvIG1vZGlmeSByZWFkLW9ubHkgZGF0YS4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgRml4IGNvbW1lbnQgKHdvbid0IGNyYXNoIGFueSBsb25nZXIgbm93KS4KCjIwMDYtMDQtMTAgMTU6NDg6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogVXNlIGNvcGllcyBvZiBoZWFkZXIgYnVmZmVycyBmb3IgY2FwcyB0byBhdm9pZCBjaXJjdWxhciByZWZjb3VudGluZyBwcm9ibGVtcyAoYXMgaW4gdGhlb3JhZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfc2V0X2hlYWRlcl9vbl9jYXBzKToKCSAgVXNlIGNvcGllcyBvZiBoZWFkZXIgYnVmZmVycyBmb3IgY2FwcyB0byBhdm9pZCBjaXJjdWxhciByZWZjb3VudGluZwoJICBwcm9ibGVtcyAoYXMgaW4gdGhlb3JhZGVjLCB2b3JiaXNkZWMpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGEgdHlwbyBpbiB0ZXN0IHRoYXQgbWVhbnQgaXQgd2FzIHRlc3RpbmcgdGhlIHdyb25nIHRoaW5nLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKGNoZWNrX2hlYWRlcnMpOgoJICBGaXggcmVmY291bnQgY2hlY2tzIG5vdyB0aGF0IHdlIHVzZSBidWZmZXItY29waWVzIGZvciBjYXBzLgoKMjAwNi0wNC0xMCAxNTo0Mzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBVc2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgd2l0aCBBTlkgY2FwcyBmb3IgYXVkaW8gYW5kIHZpZGVvIHNvdXJjZSBwYWRzIGFuZCBnZXQgcmlkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgIFVzZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyB3aXRoIEFOWSBjYXBzIGZvciBhdWRpbyBhbmQgdmlkZW8KCSAgc291cmNlIHBhZHMgYW5kIGdldCByaWQgb2YgYSBsb3Qgb2YgdW5uZWNlc3NhcnkgKGFuZCBwYXJ0aWFsbHkKCSAgYnJva2VuKSBjb2RlIGZvciB0aGUgdGVtcGxhdGUgY2Fwcy4gQ2xlYW4gdXAgY2FwcyBmaW5kaW5nCgkgIGZ1bmN0aW9ucy4gRml4ZXMgcGxheWJhY2sgb2YgYXVkaW8gZmlsZXMvc3RyZWFtcyB0aGF0IGRvIG5vdAoJICBjb250YWluIHRoZSBzYW1wbGUgcmF0ZSBhbmQvb3IgbnVtYmVyIG9mIGNoYW5uZWxzIGluIHRoZSBhdWRpbwoJICBjb250ZXh0IChoYXBwZW5zIGEgbG90IHdpdGggdm9yYmlzL21wMyAubWthIGZpbGVzIGl0IHNlZW1zKS4KCSAgRml4ZXMgIzMzNzE4My4KCSAgQWxzbyBhZGQgbXlzZWxmIHRvIGNvcHlyaWdodCBob2xkZXJzLgoKMjAwNi0wNC0xMCAxNToyOToyMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IFVzZSBnX2xpc3RfZGVsZXRlX2xpbmsgKCkgaW5zdGVhZCBvZiBnX2xpc3RfcmVtb3ZlX2xpbmsgKCkgc28gdGhhdCB3ZSBmcmVlIHRoZSBsaW5rIGFzIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfdHJhY2tfbGlzdF9kZWxfY2xpcCk6CgkgIFVzZSBnX2xpc3RfZGVsZXRlX2xpbmsgKCkgaW5zdGVhZCBvZiBnX2xpc3RfcmVtb3ZlX2xpbmsgKCkgc28gdGhhdAoJICB3ZSBmcmVlIHRoZSBsaW5rIGFzIHdlbGwgYXMgdGhlIGNvbnRhaW5lZCBkYXRhLgoKMjAwNi0wNC0xMCAxNDoyMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoKMjAwNi0wNC0xMCAxMDoxMDo1NSArMDAwMCAgUnlhbiBMb3J0aWUgKGRlc3J0KSA8ZGVzcnRAZGVzdHIuY2E+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBzb21lIGNyYXNoZXJzIHdpdGggZW1wdHkgY2h1bmtzLiAoRml4ZXMgIzMzNzc0OSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSeWFuIExvcnRpZSAoZGVzcnQpIDxkZXNydCBhdCBkZXN0ciBkb3QgY2E+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKToKCSAgRml4IHNvbWUgY3Jhc2hlcnMgd2l0aCBlbXB0eSBjaHVua3MuIChGaXhlcyAjMzM3NzQ5KQoKMjAwNi0wNC0xMCAwODozMTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgoyMDA2LTA0LTA5IDE4OjMwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpOgoJICByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZG9uZSBzb21lIGNsZWFucyBpbiBzb3VyY2VzCgkgICogd2luMzIvdnM2OgoJICBhZGQgcHJvamVjdCBmaWxlcyBmb3IgbmVvbiwgcXRkZW11eAoKMjAwNi0wNC0wOSAxNzozMTozNyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IHVzZSBHX0dJTlQ2NF9DT05TVEFOVCBmb3IgSU5UNjQgY29uc3RhbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9jYXBzKSwoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIHVzZSBHX0dJTlQ2NF9DT05TVEFOVCBmb3IgSU5UNjQgY29uc3RhbnRzCgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICBkZWZpbmUgcmludCBmb3IgV0lOMzIgI2RlZmluZSByaW50KHgpIChmbG9vcigoeCkrMC41KSkKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgYWRkIG1pc3NpbmcgbGlicmFyaWVzIGZvciB0aGUgbGluayBhbmQgcmVtb3ZlIGF2aW11eC5jIGZyb20KCSAgdGhlIHByb2plY3QgYXMgaXQgaXNuJ3QgcG9ydGVkIHRvIDAuMTAgeWV0CgoyMDA2LTA0LTA5IDE0OjAwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBFdmVuIGJldHRlciB3b3VsZCBiZSBpZiB3ZSBhY3R1YWxseSBkaWQgdGhlIHJpZ2h0IHRoaW5nIGhlcmUgKGFsc28sIEdfR1VJTlQ2NF9DT05TVEFOVCBvbmx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIEV2ZW4gYmV0dGVyIHdvdWxkIGJlIGlmIHdlIGFjdHVhbGx5IGRpZCB0aGUgcmlnaHQgdGhpbmcKCSAgaGVyZSAoYWxzbywgR19HVUlOVDY0X0NPTlNUQU5UIG9ubHkgZXhpc3RzIHNpbmNlIEdMaWItMi4xMCkuCgoyMDA2LTA0LTA5IDEzOjUyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBDYW4ndCBqdXN0IHJlcGxhY2UgMUxMIHdpdGggMUwgaGVyZSBqdXN0IGJlY2F1c2UgTVNWQyBkb2Vzbid0IHN1cHBvcnQgaXQsIGFzIGl0IG1pZ2h0IGxlYWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIENhbid0IGp1c3QgcmVwbGFjZSAxTEwgd2l0aCAxTCBoZXJlIGp1c3QgYmVjYXVzZSBNU1ZDIGRvZXNuJ3QKCSAgc3VwcG9ydCBpdCwgYXMgaXQgbWlnaHQgbGVhZCB0byBpbmNvcnJlY3QgcmVzdWx0cyB3aGVuIGRvaW5nIHRoZQoJICBiaXRzaGlmdGluZyBoZXJlLiBVc2luZyBHTGliJ3MgR19HVUlOVDY0X0NPTlNUQU5UKCkgbWFjcm8gdG8KCSAgZm9yY2UgYSA2NC1iaXQgY29uc3RhbnQgaW4gYSB3YXkgdGhhdCBhbGwgY29tcGlsZXJzIGFyZSBoYXBweSB3aXRoLgoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAyMToyMTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19jbGFzc19pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiAoZ3N0X2NhY2FzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6IChnc3RfbW5nZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6IChnc3RfbW5nZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6IChnc3RfbWlrbW9kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOiAoZ3N0X21lZGlhbl9jbGFzc19pbml0KToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cEwxNnBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzogKGdzdF9ydHBfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzogKGdzdF9ydHBfaDI2M19wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOiAoZ3N0X3J0cF9tcGFfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzogKGdzdF91ZHBzaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2NsYXNzX2luaXQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6IChnc3Rfb3NzZG1hYnVmZmVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKGdzdF9vc3hhdWRpb2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiAoZ3N0X29zeGF1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzogKGdzdF9vc3hhdWRpb3NyY19jbGFzc19pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAxOTowNjoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmg6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODo0MTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjU6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjM6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfc3RzeiksCgkgIChxdGRlbXV4X2R1bXBfc3RjbyksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBGaXggdGltZXN0YW1wcyBmb3IgQU1SIGFuZCBJTUE0LiAgRml4ZXMgKCMzMzc0MzYpLgoJICBDcmVhdGUgYSBkdW1teSBzZWdtZW50IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyBlZGl0IGxpc3QuCgoyMDA2LTA0LTA4IDEzOjA5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBEb24ndCB0cnkgdG8gc2VlayBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAod291bGQgb2NjYXNpb25hbGx5IGRpc3BsYXkgZXJyb3IgZGlhbG9ncyBpbiB0b3RlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCk6CgkgIERvbid0IHRyeSB0byBzZWVrIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICh3b3VsZAoJICBvY2Nhc2lvbmFsbHkgZGlzcGxheSBlcnJvciBkaWFsb2dzIGluIHRvdGVtIHdoZW4gc2Vla2luZwoJICB0byB0aGUgZW5kKSAoIzMzNTg2OSkuIFdpbGwgc3RpbGwgdGhyb3cgYW4gZXJyb3IgdGhvdWdoCgkgIGlmIHRoZSBmaWxlIGlzIHRydW5jYXRlZCBhbmQgdGhlIHRvdGFsX3NhbXBsZXMgdmFsdWUgaW4KCSAgdGhlIHN0cmVhbSBoZWFkZXIgaXMgd3JvbmcuCgoyMDA2LTA0LTA3IDE4OjE1OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBJZiB0aGUgc3RyZWFtIGhlYWRlciBkb2Vzbid0IGNvbnRhaW4gdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzLCBzZWFyY2ggZm9yIHRoZSBsYXN0IGZsYWMgZnJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2NhbGN1bGF0ZV9jcmM4KSwKCSAgKGdzdF9mbGFjX2RlY19zY2FuX2dvdF9mcmFtZSksIChnc3RfZmxhY19kZWNfc2Nhbl9mb3JfbGFzdF9ibG9jayksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgSWYgdGhlIHN0cmVhbSBoZWFkZXIgZG9lc24ndCBjb250YWluIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcywKCSAgc2VhcmNoIGZvciB0aGUgbGFzdCBmbGFjIGZyYW1lIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgYW5kIGNhbGN1bGF0ZQoJICB0aGUgdG90YWwgZHVyYXRpb24gZnJvbSB0aGF0IGZyYW1lJ3Mgb2Zmc2V0IChmaXhlcyAjMzM3NjA5KS4KCjIwMDYtMDQtMDcgMTU6NTM6NDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8gMjVmcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8KCSAgMjVmcHMKCjIwMDYtMDQtMDcgMTU6NDc6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAobWFpbik6CgkgIEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoKMjAwNi0wNC0wNyAxNToyNzo0MCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGNvbXBvc2l0ZV9waXhlbCksIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0wNyAxMDo0ODoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgdW5yZWYgdGhlIEdzdFBhZFRlbXBsYXRlIHJldHVybmVkIGJ5IGdzdF9lbGVtZW50X2NsYXNzX2dldF9wYWRfdGVtcGxhdGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICBEb24ndCB1bnJlZiB0aGUgR3N0UGFkVGVtcGxhdGUgcmV0dXJuZWQgYnkKCSAgZ3N0X2VsZW1lbnRfY2xhc3NfZ2V0X3BhZF90ZW1wbGF0ZSgpLgoKMjAwNi0wNC0wNiAxOToxNjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2ZpbmRfaW5kZXgpLAoJICAoZ3N0X3F0ZGVtdXhfZmluZF9rZXlmcmFtZSksIChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0pLCAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgQXZvaWQgb3ZlcmZsb3dzIGluIHByb2xvZ3VlIGltYWdlIGRldGVjdGlvbiBjb2RlLgoJICBBdm9pZCByb3VuZG9mZiBlcnJvcnMgaW4gdGltZXN0YW1wIGNhbGN1bGF0aW9ucy4KCjIwMDYtMDQtMDYgMTE6MzU6MjYgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCjIwMDYtMDQtMDYgMDk6MTQ6MzAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuKjogVXNlIHNwZWMtPnNlZ3NpemUgYW5kIHNwZWMtPnNlZ3RvdGFsIGluIHRoZSBwcmVwYXJlIGZ1bmN0aW9uIHRvIGluaXRpYWxpc2UgdGhlIHJpbmcgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKSwgKGdzdF9zdW5hdWRpb3Npbmtfd3JpdGUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgVXNlIHNwZWMtPnNlZ3NpemUgYW5kIHNwZWMtPnNlZ3RvdGFsIGluIHRoZSBwcmVwYXJlIGZ1bmN0aW9uCgkgIHRvIGluaXRpYWxpc2UgdGhlIHJpbmcgYnVmZmVyIGluc3RlYWQgb2YgdXNpbmcgdGhlIGJ1ZmZlci10aW1lCgkgIHByb3BlcnR5ICgjMzM3NDIxKS4KCjIwMDYtMDQtMDYgMDg6NTI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB3aGljaCBpcyB1c2VkIGJ5IHNwZWV4ZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKQoJICB3aGljaCBpcyB1c2VkIGJ5IHNwZWV4ZGVjLgoKMjAwNi0wNC0wNSAxODoyNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC86IEZpeCBzZWVraW5nIGFuZCBkdXJhdGlvbiBxdWVyaWVzICgjMzM3MDMzKTsgY2xlYW4gdXAgYW5kIHJlZmFjdG9yIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKGdzdF9zcGVleF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlZXhfZGVjX3Jlc2V0KSwgKGdzdF9zcGVleF9kZWNfaW5pdCksIChzcGVleF9kZWNfY29udmVydCksCgkgIChzcGVleF9nZXRfc2lua19xdWVyeV90eXBlcyksIChzcGVleF9kZWNfc2lua19xdWVyeSksCgkgIChzcGVleF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKHNwZWV4X2RlY19zcmNfcXVlcnkpLAoJICAoc3BlZXhfZGVjX3NyY19ldmVudCksIChzcGVleF9kZWNfc2lua19ldmVudCksCgkgIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfaGVhZGVyKSwgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9jb21tZW50cyksCgkgIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSksIChzcGVleF9kZWNfY2hhaW4pLAoJICAoZ3N0X3NwZWV4X2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWV4X2RlY19zZXRfcHJvcGVydHkpLAoJICAoc3BlZXhfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIEZpeCBzZWVraW5nIGFuZCBkdXJhdGlvbiBxdWVyaWVzICgjMzM3MDMzKTsgY2xlYW4gdXAgYW5kCgkgIHJlZmFjdG9yIGEgYml0LgoKMjAwNi0wNC0wNSAxMjo0MToxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogZGlzdGluZ3Vpc2ggYmV0d2VlbiBkZXZpY2Ugbm90IGZvdW5kIGFuZCBjb3VsZCBub3Qgb3BlbiBmb3IgcmVhZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgZGlzdGluZ3Vpc2ggYmV0d2VlbiBkZXZpY2Ugbm90IGZvdW5kIGFuZCBjb3VsZCBub3Qgb3BlbiBmb3IKCSAgcmVhZGluZwoKMjAwNi0wNC0wNSAwODozNjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKToKCSAgVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzCgkgIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgQWxzbyBwZXJmb3JtIEVPUyB3aGVuIHdlIHJ1biBwYXN0IHRoZSBzZWdtZW50IHN0b3AuCgoyMDA2LTA0LTA0IDExOjIwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBNYXJrIGRpc2NvbnRpbnVpdGllcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBQb3N0IGJldHRlciBlcnJvcnMgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgSGFuZGxlIEVPUyBhbmQgc2VnbWVudCBlbmQgcHJvcGVybHkuCgoyMDA2LTA0LTA0IDA4OjMxOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAocGx1Z2luX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgSW1wbGVtZW50IGNvcnJlY3QgYWNjdXJhdGUgYW5kIGtleWZyYW1lIHNlZWtpbmcuCgkgIFVzZSBfREVCVUdfT0JKRUNUIHdoZW4gcG9zc2libGUuCgoyMDA2LTA0LTAzIDEzOjI5OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNC0wMyAxMzoyODo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGZpeCBkaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdAoKMjAwNi0wNC0wMyAwOTowMjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgYSAucGMgZmlsZSBzbyBvdGhlciBtb2R1bGVzIGNhbiB1c2UgZ29vZCBwbHVnaW5zIGluIHRlc3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBwa2djb25maWcvLmN2c2lnbm9yZToKCSAgKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkgIGFkZCBhIC5wYyBmaWxlIHNvIG90aGVyIG1vZHVsZXMgY2FuIHVzZSBnb29kIHBsdWdpbnMgaW4gdGVzdHMKCjIwMDYtMDQtMDEgMTY6NTA6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCjIwMDYtMDQtMDEgMTU6MzA6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy91cGxvYWQubWFrOgoJICBkaXNhYmxlIHVzZSBvZiBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc2FibGUgdXNlIG9mIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrIGNvcnJlY3RseQoKMjAwNi0wNC0wMSAxNDowMzowMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBhZGRpbmcgaW5zcGVjdCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGluc3BlY3QgZmlsZXMKCjIwMDYtMDQtMDEgMTA6MTU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgNSBzZWNvbmQgdGltZW91dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgNSBzZWNvbmQgdGltZW91dAoKMjAwNi0wNC0wMSAxMDoxNDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgcmVuYW1lIHRlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbmFtZSB0ZXN0CgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDQtMDEgMDk6NTY6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBjbGVhbiB1cCwgdXNlIEFTX1ZFUlNJT04gYW5kIEFTX05BTk8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBjbGVhbiB1cCwgdXNlIEFTX1ZFUlNJT04gYW5kIEFTX05BTk8KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgdXNlIFBBQ0tBR0VfVkVSU0lPTiBkZWZpbmUKCSAgKiBwby9hZi5wbzoKCSAgKiBwby9hei5wbzoKCSAgKiBwby9jcy5wbzoKCSAgKiBwby9lbl9HQi5wbzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9uYi5wbzoKCSAgKiBwby9ubC5wbzoKCSAgKiBwby9vci5wbzoKCSAgKiBwby9zcS5wbzoKCSAgKiBwby9zci5wbzoKCSAgKiBwby9zdi5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgdXBkYXRlZAoKMjAwNi0wNC0wMSAwOTo1NDozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IHJld29yayBzaW1pbGFybHkgdG8gb3RoZXIgbW9kdWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHJld29yayBzaW1pbGFybHkgdG8gb3RoZXIgbW9kdWxlcwoJICAqIGV4dC9hNTJkZWMvZ3N0YTUyZGVjLmM6CgkgICogZXh0L2Ftcm5iL2Ftcm5iLmM6CgkgICogZXh0L2R2ZG5hdi9kdmRuYXZzcmMuYzoKCSAgKiBleHQvZHZkcmVhZC9kdmRyZWFkc3JjLmM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICAqIGV4dC9tYWQvZ3N0aWQzdGFnLmM6CgkgICogZXh0L21wZWcyZGVjL2dzdG1wZWcyZGVjLmM6CgkgICogZXh0L3NpZHBsYXkvZ3N0c2lkZGVjLmNjOgoJICAqIGdzdC9hc2ZkZW11eC9nc3Rhc2YuYzoKCSAgKiBnc3QvZHZkbHBjbWRlYy9nc3RkdmRscGNtZGVjLmM6CgkgICogZ3N0L2R2ZHN1Yi9nc3RkdmRzdWJkZWMuYzoKCSAgKiBnc3QvaWVjOTU4L2FjM2llYy5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnc3RyZWFtL2dzdG1wZWdzdHJlYW0uYzoKCSAgKiBnc3QvcmVhbG1lZGlhL3JtZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgdXNlIHRoZSBjb3JyZWN0IGRlZmluZXMKCjIwMDYtMDMtMzEgMTc6NTI6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKHRlcm1pbmF0ZV9wbGF5YmFjayksIChtYWluKToKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE2OjMyOjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogQWRkIGRvY3MgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgQWRkIGRvY3MgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE1OjIxOjM1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy86IEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubyB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vCgkgIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoKMjAwNi0wMy0zMCAyMzo0Njo0MiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1dG9kZXRlY3QuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RlZmZlY3R2LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0anBlZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtZWRpYW4uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG11bHRpcGFydC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RzcGVleC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9mbGlwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2ZW5jLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKioqIGVtcHR5IGxvZyBtZXNzYWdlICoqKgoKMjAwNi0wMy0zMCAyMzozNzoxNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0XGpwZWdcc21va2Vjb2RlYy5jOiB1c2Ugb2YgR1NUX0RFQlVHIGluc3RlYWQgb2YgREVCVUcoYS4uLikgZm9yIFdJTjMyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dFxqcGVnXHNtb2tlY29kZWMuYzoKCSAgdXNlIG9mIEdTVF9ERUJVRyBpbnN0ZWFkIG9mIERFQlVHKGEuLi4pIGZvciBXSU4zMgoJICAqIGV4dFxzcGVleFxnc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX3NldF9oZWFkZXJfb25fY2Fwcyk6CgkgIG1vdmUgZmlyc3QgaW5zdHJ1Y3Rpb24gYWZ0ZXIgYWxsIHZhcmlhYmxlcyBkZWNsYXJhdGlvbnMKCSAgKiBnc3RcYWxwaGFcZ3N0YWxwaGEuYzoKCSAgKiBnc3RcZWZmZWN0dlxnc3RzaGFnYWRlbGljLmM6CgkgICogZ3N0XHNtcHRlXHBhaW50LmM6CgkgICogZ3N0XHZpZGVvZmlsdGVyXGdzdHZpZGVvYmFsYW5jZS5jOgoJICBkZWZpbmUgTV9QSSBpZiBpdCdzIG5vdCBkZWZpbmVkIChpdCdzIG5vdCBkZWZpbmVkIG9uIFdJTjMyKQoJICAqIGdzdFxjdXR0ZXJcZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKToKCSAgKiBnc3RcaWQzZGVtdXhcaWQzdjJmcmFtZXMuYzogKHBhcnNlX3JlbGF0aXZlX3ZvbHVtZV9hZGp1c3RtZW50X3R3byk6CgkgICogZ3N0XGxldmVsXGdzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X3Byb3BlcnR5KSwgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdFxtYXRyb3NrYVxtYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdFxtYXRyb3NrYVxtYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICAqIGdzdFx3YXZwYXJzZVxnc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgdXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb25zCgkgICogZ3N0XGdvb21cZmlsdGVycy5jOiAoc2V0UGl4ZWxSR0JfKToKCSAgZml4IGEgZGVidWcgd2hpY2ggd2FzIHVzaW5nIHVuZGVmaW5lZCB2YXJpYWJsZQoJICAqIGdzdFxsZXZlbFxnc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9jYXBzKSwgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdFxtYXRyb3NrYVxlYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2ludCk6CgkgIHJlcGxhY2UgTEwgc3VmZml4IHdpdGggTCBzdWZmaXggKExMIGlzbid0IHN1cHBvcnRlZCBieSBNU1ZDNi4wKQoJICAqIHdpbjMyL3ZzNjoKCSAgYWRkIHZzNiBwcm9qZWN0cyBmaWxlcyBmb3IgbW9zdCBvZiBwbHVnaW5zLWdvb2QKCjIwMDYtMDMtMzAgMTU6Mzc6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBiZXR0ZXIvdW5pZmllZCBsb25nIGRlc2NyaXB0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuYzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6IChnc3RfZ2FtbWFfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkgIChnc3RfdmlkZW90ZW1wbGF0ZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCk6CgkgIGJldHRlci91bmlmaWVkIGxvbmcgZGVzY3JpcHRpb25zCgkgIEZpeGVkICMzMzY2MDIKCSAgU29tZSBjbGVhbnVwcyB0byBhdXBhcnNlLCBkb24ndCBzZW5kIG11bHRpcGxlIG5ld3NlZ21lbnRzLgoKMjAwNi0wMy0yOSAxNjowNjo1MCArMDAwMCAgTWljaGFlbCBEb21pbmljIEsgPG1ka0BtZGsub3JnLnBsPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguKjogU2VlayBpbiBSRUFEWSBwYXRjaC4gT25seSB3b3JrcyBmb3IgcHVsbCBiYXNlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRnJvbSBhIHBhdGNoIGJ5OiBNaWNoYWVsIERvbWluaWMgSy4gPG1kayBhdCBtZGsgZG90IG9yZyBkb3QgcGw+CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfcmVzZXQpLCAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc2VuZF9ldmVudCksIChnc3RfZHZkZW11eF9mbHVzaCksIChnc3RfZHZkZW11eF9sb29wKSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIFNlZWsgaW4gUkVBRFkgcGF0Y2guIE9ubHkgd29ya3MgZm9yIHB1bGwgYmFzZWQgbW9kZS4KCSAgRml4ZXMgIzMyMzg4MAoKMjAwNi0wMy0yOCAxNjowNjowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuKjogTWFrZSB4aW5naGVhZGVyIHByb3BlcnR5IG5vbi1mdW5jdGlvbmFsLCBpdCdzIGJyb2tlbiBhbnl3YXkgYWZ0ZXIgYWxsICh1c2UgeGluZ211eCBpbnN0ZWFkKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfaW5pdCksIChnc3RfbGFtZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2xhbWVfZ2V0X3Byb3BlcnR5KSwgKGdzdF9sYW1lX3NldHVwKToKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIE1ha2UgeGluZ2hlYWRlciBwcm9wZXJ0eSBub24tZnVuY3Rpb25hbCwgaXQncyBicm9rZW4gYW55d2F5CgkgIGFmdGVyIGFsbCAodXNlIHhpbmdtdXggaW5zdGVhZCkuCgoyMDA2LTAzLTI4IDE1OjEwOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBPbiBFT1MsIGZsdXNoIGVuY29kZXIgYW5kIHNlbmQgcmVtYWluaW5nIGRhdGEuIEZpeCByZXR1cm4gdmFsdWUgaGFuZGxpbmcgaW4gc2luayBldmVudCBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2lua19ldmVudCk6CgkgIE9uIEVPUywgZmx1c2ggZW5jb2RlciBhbmQgc2VuZCByZW1haW5pbmcgZGF0YS4gRml4CgkgIHJldHVybiB2YWx1ZSBoYW5kbGluZyBpbiBzaW5rIGV2ZW50IGZ1bmN0aW9uLgoKMjAwNi0wMy0yNyAxNzowNjo0NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCjIwMDYtMDMtMjcgMTQ6MDk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogRml4IHR3byBjcmFzaGVyczogZG9uJ3QgdW5yZWYgdGhlIHNhbWUgY2FwcyB0d2ljZSwgYW5kIHNldCBwaXhidWYgbG9hZGVyIHRvIE5VTEwgYWZ0ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9mbHVzaCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9ldmVudCk6CgkgIEZpeCB0d28gY3Jhc2hlcnM6IGRvbid0IHVucmVmIHRoZSBzYW1lIGNhcHMgdHdpY2UsIGFuZAoJICBzZXQgcGl4YnVmIGxvYWRlciB0byBOVUxMIGFmdGVyIGZyZWVpbmcgaXQuCgoyMDA2LTAzLTI3IDE0OjAwOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLio6IERvbid0IGxlYWsgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlZXhlbmNfZmluYWxpemUpLCAoZ3N0X3NwZWV4ZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBEb24ndCBsZWFrIGFkYXB0ZXIuCgkgIEEgcHVzaCAqYWx3YXlzKiB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlciwgZXZlbiBvbgoJICBlcnJvcnMuCgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNi0wMy0yNiAxOTo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLio6IEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0bwoJICBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSBjYW4ndAoJICBhZGp1c3Qgb2Zmc2V0cyB5ZXQgd2hlbiB3ZSBnZXQgaXQsIGFzIHdlIGRvbid0CgkgIGtub3cgdGhlIHNpemUgb2YgdGhlIHRhZyB5ZXQgZm9yIHN1cmUgYXQgdGhhdCBwb2ludC4KCSAgQWxzbyBkbyBzb21lIG1pbm9yIGNsZWFuaW5nIHVwIGhlcmUgYW5kIHRoZXJlIGFuZCBhZGQKCSAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0wMy0yNiAxMjoyNDo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBDcmVhdGUgc291cmNlIHBhZCB3aXRob3V0IGxlYWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpOgoJICBDcmVhdGUgc291cmNlIHBhZCB3aXRob3V0IGxlYWtpbmcuCgoyMDA2LTAzLTI1IDIxOjU3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91cgoJICBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaWQzIGNhcHM7IGFsc28sCgkgIGRvbid0IHVzZSBhbHJlYWR5LWZyZWVkIHN0cmluZ3MgaW4gZGVidWcgbWVzc2FnZXM7CgkgIGZpbmFsbHksIGFkanVzdCBidWZmZXIgb2Zmc2V0cyBvbiBidWZmZXJzIHNlbnQgb3V0LgoKMjAwNi0wMy0yNSAxMzowMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LCBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwKCSAgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGZpeGVkIHByb3Blcmx5IChhbmQgbWFrZQoJICBidWlsZGJvdHMgaGFwcHkpLgoKMjAwNi0wMy0yNSAwNTozMToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgoyMDA2LTAzLTI0IDE5OjQxOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvOiBTcGlmaWZ5IGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIFNwaWZpZnkgYSBiaXQuCgkgIEZpeCBkZWFkbHkgbG9jayBvcmRlciBlcnJvciBpbiBzZWVraW5nIGNvZGUsIFNUUkVBTV9MT0NLCgkgIGNhbm5vdCBiZSB0YWtlbiB3aXRoaW4gTE9DSyBhbmQgdGhlIHN0cmVhbWluZyB2YXJpYWJsZXMgYXJlCgkgIHByb3RlY3RlZCB3aXRoIHRoZSBTVFJFQU1fTE9DSyBhbnl3YXkuCgoyMDA2LTAzLTI0IDE4OjU2OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiB0aGlzIHBhdGNoIGNvbWJpbmVzIHRoZSBnbG9iYWwgaW5pdF9mcmFtZXMgd2l0aCB0aGUgc3RyZWFtIGluaXRfZnJhbWVzLiBSYXRpb25hbGUgYmVpbmcgdGhhdCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIHRoaXMgcGF0Y2ggY29tYmluZXMgdGhlIGdsb2JhbCBpbml0X2ZyYW1lcyB3aXRoIHRoZSBzdHJlYW0KCSAgaW5pdF9mcmFtZXMuIFJhdGlvbmFsZSBiZWluZyB0aGF0IHRoZSBnbG9iYWwgZGVsYXkgc2hvdWxkCgkgIGJlIHN1YnRyYWN0ZWQgZnJvbSBhbnkgc3RyZWFtIGRlbGF5LgoJICBGaXhlcyAjMzM1ODU4LgoKMjAwNi0wMy0yNCAxNzoxMTo1NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogdXNlIERFQlVHX0ZVTkNQVFIgZm9yIGNvbGxlY3RwYWRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpOgoJICB1c2UgREVCVUdfRlVOQ1BUUiBmb3IgY29sbGVjdHBhZHMKCjIwMDYtMDMtMjQgMDk6NTQ6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZW5jLmM6IERvbid0IGNyYXNoIHdoZW4gZW5jb2RpbmcgaW1hZ2VzIHdoZXJlIHRoZSBudW1iZXIgb2Ygcm93cyBpc24ndCBhIG11bHRpcGxlIG9mIDIqRENUU0laRS4gQWRkIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfaW5pdCksIChnc3RfanBlZ2VuY19jaGFpbik6CgkgIERvbid0IGNyYXNoIHdoZW4gZW5jb2RpbmcgaW1hZ2VzIHdoZXJlIHRoZSBudW1iZXIgb2Ygcm93cyBpc24ndAoJICBhIG11bHRpcGxlIG9mIDIqRENUU0laRS4gQWRkIHNvbWUgR1NUX0RFQlVHX0ZVTkNQVFIuCgoyMDA2LTAzLTIzIDIxOjI4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTW9yZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgTW9yZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZml4ZXMuCgoyMDA2LTAzLTIzIDIwOjEyOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLio6IEZpeCBlc2QgY2hvcHB5IHBsYXliYWNrIGJ5IGNvbmZpZ3VyaW5nIGF1ZGlvc2luayBjb3JyZWN0bHkuIEZpeGVzICMzMjUxOTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9lc2RzaW5rX2dldGNhcHMpLCAoZ3N0X2VzZHNpbmtfb3BlbiksIChnc3RfZXNkc2lua19jbG9zZSksCgkgIChnc3RfZXNkc2lua19wcmVwYXJlKSwgKGdzdF9lc2RzaW5rX3VucHJlcGFyZSksCgkgIChnc3RfZXNkc2lua19kZWxheSksIChnc3RfZXNkc2lua19yZXNldCk6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgIEZpeCBlc2QgY2hvcHB5IHBsYXliYWNrIGJ5IGNvbmZpZ3VyaW5nIGF1ZGlvc2luawoJICBjb3JyZWN0bHkuIEZpeGVzICMzMjUxOTEKCjIwMDYtMDMtMjMgMTk6NTc6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBNYWtlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtc2FmZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXNhZmUuCgoyMDA2LTAzLTIzIDE2OjUwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IERvbid0IHRyeSB0byByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlIGp1c3QgYmVjYXVzZSB0aGUgaGVhZGVyIGNsYWltcyBhIGJpZ2dlciBzaXplLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2dldF91cHN0cmVhbV9zaXplKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBEb24ndCB0cnkgdG8gcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSBqdXN0IGJlY2F1c2UKCSAgdGhlIGhlYWRlciBjbGFpbXMgYSBiaWdnZXIgc2l6ZSAobGlrZSB3aXRoIHRydW5jYXRlZCBmaWxlcykuCgoyMDA2LTAzLTIzIDE1OjM2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IERlbGF5IHNvdXJjZSBwYWQgY3JlYXRpb24gdW50aWwgd2UgaGF2ZSB0aGUgZmlyc3QgY2h1bmsgb2YgbWVkaWEgZGF0YSwgc28gdGhlIHdlIGNhbiBleGFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIERlbGF5IHNvdXJjZSBwYWQgY3JlYXRpb24gdW50aWwgd2UgaGF2ZSB0aGUgZmlyc3QgY2h1bmsgb2YKCSAgbWVkaWEgZGF0YSwgc28gdGhlIHdlIGNhbiBleGFtaW5lIHRoZSBkYXRhIGFuZCBhZGp1c3QgdGhlCgkgIGNhcHMgYWNjb3JkaW5nbHkgaWYgcmVxdWlyZWQuIFRoaXMgbWFrZXMgcGxheWJhY2sgb2YgLndhdgoJICBmaWxlcyB3aXRoIERUUy1kZWNsYXJlZC1hcy1QQ00gY29udGVudCB3b3JrICgjMzEzMjY2KS4KCjIwMDYtMDMtMjIgMTk6NTA6NTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHZpZGVvYmFsYW5jZSBwbHVnbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHZpZGVvYmFsYW5jZSBwbHVnbgoKMjAwNi0wMy0yMiAxMzowMjoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIG1lbnRpb24gZml4ZWQgYnVnIG51bWJlciBpbiB0aGUgY2hhbmdlbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtZW50aW9uIGZpeGVkIGJ1ZyBudW1iZXIgaW4gdGhlIGNoYW5nZWxvZwoKMjAwNi0wMy0yMiAxMzowMDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBEb24ndCBhdHRlbXB0IHR5cGVmaW5kaW5nIG9uIHRvby1zaG9ydCBidWZmZXJzIHRoYXQgaGF2ZSBiZWVuIGNvbXBsZXRlbHkgdHJpbW1lZCBhd2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIERvbid0IGF0dGVtcHQgdHlwZWZpbmRpbmcgb24gdG9vLXNob3J0IGJ1ZmZlcnMgdGhhdCBoYXZlIGJlZW4KCSAgY29tcGxldGVseSB0cmltbWVkIGF3YXkuCgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKToKCSAgSW1wcm92ZSB0aGUgZGVidWcgb3V0cHV0CgoyMDA2LTAzLTIxIDE4OjEyOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfY2xhc3NfaW5pdCksIChnc3RfZXNkc2lua19pbml0KSwKCSAgKGdzdF9lc2RzaW5rX2ZpbmFsaXplKSwgKGdzdF9lc2RzaW5rX2dldGNhcHMpLCAoZ3N0X2VzZHNpbmtfb3BlbiksCgkgIChnc3RfZXNkc2lua19jbG9zZSksIChnc3RfZXNkc2lua19wcmVwYXJlKSwgKGdzdF9lc2RzaW5rX3dyaXRlKSwKCSAgKGdzdF9lc2RzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfZXNkc2lua19nZXRfcHJvcGVydHkpOgoJICBTb21lIGNsZWFudXBzLgoJICBSZXNldCBmZCB0byAtMSB3aGVuIHdlIGNsb3NlIHRoZW0uCgoyMDA2LTAzLTIxIDE2OjE5OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiB0aGUgT1BUSU9OUyByZXF1ZXN0IHJlc3VsdCBpcyBvcHRpb25hbCBzbyBkb24ndCBmYWlsIG9uIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgdGhlIE9QVElPTlMgcmVxdWVzdCByZXN1bHQgaXMgb3B0aW9uYWwgc28gZG9uJ3QKCSAgZmFpbCBvbiBpdC4KCjIwMDYtMDMtMjEgMTQ6NTM6MzYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBnY2MgNC4xIHVucmVmZXJlbmNlZCBwb2ludGVyIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3Jlc2V0KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZXNldCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgIGdjYyA0LjEgdW5yZWZlcmVuY2VkIHBvaW50ZXIgZml4ZXMuCgoyMDA2LTAzLTIxIDEzOjA3OjMxICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBibG9jayBhbGlnbm1lbnQgY2FsY3VsYXRpb24uIEFsaWdubWVudCBzaG91bGQgYmUgZG9uZSBiZWZvcmUgYWRkaW5nIHRoZSBieXRlIG9mZnNldCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspOgoJICBGaXggYmxvY2sgYWxpZ25tZW50IGNhbGN1bGF0aW9uLiBBbGlnbm1lbnQgc2hvdWxkIGJlIGRvbmUgYmVmb3JlCgkgIGFkZGluZyB0aGUgYnl0ZSBvZmZzZXQgd2hlcmUgdGhlIGRhdGEgc3RhcnRzICgjMzM1MjMxKS4KCjIwMDYtMDMtMjAgMTg6MzQ6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogRW5zdXJlIHRoYXQgd2Ugc2V0IGNvcnJlY3QgY2FwcyBvbiBidWZmZXJzIHRoYXQgYXJlIHRyYW5zZmVycmVkIGRpcmVjdCBmcm9tIHRoZSBpbnB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfcHVzaCk6CgkgIEVuc3VyZSB0aGF0IHdlIHNldCBjb3JyZWN0IGNhcHMgb24gYnVmZmVycyB0aGF0IGFyZSB0cmFuc2ZlcnJlZAoJICBkaXJlY3QgZnJvbSB0aGUgaW5wdXQuCgoyMDA2LTAzLTIwIDE3OjM4OjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tLzogRnJlZSBmaWx0ZXIgZGF0YSB3aGVuIGNsZWFuaW5nIHVwLiAoRml4ZXM6ICMzMzQ5OTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJEZXN0cm95KToKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGdvb21fY2xvc2UpOgoJICBGcmVlIGZpbHRlciBkYXRhIHdoZW4gY2xlYW5pbmcgdXAuIChGaXhlczogIzMzNDk5NSkKCjIwMDYtMDMtMjAgMDg6NTk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCjIwMDYtMDMtMTcgMTY6MzQ6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgoyMDA2LTAzLTE3IDE1OjMzOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBjb21waWxlIHVkcCBhbmQgcnRzcCBwbHVnaW5zIG9uIHdpbjMyIChtaW5ndykgb3Igb3RoZXIgc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgPHN5cy9zb2NrZXQuaD4gZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgY29tcGlsZSB1ZHAgYW5kIHJ0c3AgcGx1Z2lucyBvbiB3aW4zMiAobWluZ3cpIG9yIG90aGVyCgkgIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIDxzeXMvc29ja2V0Lmg+IGZvciBzb21lIHJlYXNvbiAoIzMxNjIwMykuCgoyMDA2LTAzLTE2IDE3OjI4OjA3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIENoYW5nZSBidXMgcmVzZXQgaGFuZGxlciBzbyBpdCByZXBvcnRzIHVzZWZ1bCBpbmZvcm1hdGlvbiBzdWNoIGFzIHdoZXRoZXIgdGhlIGRldmljZSBiZWluZyB1c2VkIGNvbm5lY3RlZCBvciBkaXNjb25uZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlIGJ1cyByZXNldCBoYW5kbGVyIHNvIGl0IHJlcG9ydHMgdXNlZnVsIGluZm9ybWF0aW9uIHN1Y2ggYXMKCSAgd2hldGhlciB0aGUgZGV2aWNlIGJlaW5nIHVzZWQgY29ubmVjdGVkIG9yIGRpc2Nvbm5lY3RlZAoKMjAwNi0wMy0xNiAxNjowNjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBXZSBvbmx5IGNhcmUgYWJvdXQgZ2FpbiBhbmQgcGVhayBkYXRhIGZvciB0aGUgbWFzdGVyIHZvbHVtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIChwYXJzZV9yZWxhdGl2ZV92b2x1bWVfYWRqdXN0bWVudF90d28pOgoJICBXZSBvbmx5IGNhcmUgYWJvdXQgZ2FpbiBhbmQgcGVhayBkYXRhIGZvciB0aGUgbWFzdGVyIHZvbHVtZS4KCjIwMDYtMDMtMTYgMTM6MjI6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogUmVhZCByZXBsYXkgZ2FpbiB0YWdzICgjMzIzNzIxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9pZF9zdHJpbmcpLCAocGFyc2VfdW5pcXVlX2ZpbGVfaWRlbnRpZmllciksCgkgIChwYXJzZV9yZWxhdGl2ZV92b2x1bWVfYWRqdXN0bWVudF90d28pLCAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpOgoJICBSZWFkIHJlcGxheSBnYWluIHRhZ3MgKCMzMjM3MjEpLgoKMjAwNi0wMy0xNSAyMzoxOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gZ3N0LXBsdWdpbnMtYmFzZSBDVlMgYmVjYXVzZSBvZiBidWdneSBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCkgaW4gMC4xMC41LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGJlY2F1c2UKCSAgb2YgYnVnZ3kgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpIGluIDAuMTAuNS4KCjIwMDYtMDMtMTUgMjI6MzA6MjQgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgIEZpeGVkIG9uZSBvZiB0aGUgY2FwcyBpbiB0aGUgY29kZSBmcm9tIG11bGF3IHRvIGFsYXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBvbmUgb2YgdGhlIGNhcHMgaW4gdGhlIGNvZGUgZnJvbSBtdWxhdyB0byBhbGF3LgoKMjAwNi0wMy0xNSAxNjoyMTozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IEVuc3VyZSB0aGF0IHdlIHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHdlIHBhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICBFbnN1cmUgdGhhdCB3ZSBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB3ZSBwYXNzLgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgRW5zdXJlIHRoYXQgd2Ugc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgd2UgcGFzcy4KCSAgVXNlIFNUUkVBTSwgVFlQRV9OT1RfRk9VTkQgYXMgdGhlIGVycm9yIGNsYXNzIHdoZW4KCSAgdHlwZWZpbmRpbmcgZmFpbHMuCgoyMDA2LTAzLTE1IDE2OjE3OjEyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgRml4IG1lbWxlYWsgd2l0aCBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2luaXQpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9pbml0KSwgKGdzdF9kdmRlbXV4X2FkZF9wYWRzKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19zZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfaW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdkZWNfaW5pdCksCgkgIChnc3RfbW5nZGVjX3NyY19nZXRjYXBzKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfaW5pdCk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2RfaW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChnc3Rfc3BlZXhfZGVjX2luaXQpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2luaXQpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9pbml0KToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2luaXQpLCAoZ3N0X2VmZW5jZV9nZXRyYW5nZSksCgkgIChnc3RfZWZlbmNlX2NoZWNrZ2V0cmFuZ2UpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX2luaXQpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2luaXQpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBMMTZwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOiAoZ3N0X3J0cF9kZXBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfaW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCk6CgkgIEZpeCBtZW1sZWFrIHdpdGggZ3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0KCkuCgkgIFRoaXMgdXNlcyBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpIGluc3RlYWQuCgkgIEZpeGVzICMzMzM1MTIKCjIwMDYtMDMtMTUgMTU6MDg6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kaXNwb3NlKToKCSAgTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgoyMDA2LTAzLTE1IDE0OjM5OjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcXRkZW11eF9pbml0KSwgKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgLSBVbnJlZiB0aGUgR3N0QWRhcHRlciBpbiBmaW5hbGl6ZS4KCSAgLSBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSwgc2hvcnRlciBhbmQgc2FmZXIuCgkgIC0gRnJlZSB1bnVzZWQgUXREZW11eFN0cmVhbSB3aGVuIG5vdCB1c2VkLgoKMjAwNi0wMy0xNSAxMzo0Mzo0MiArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogdXNlIEdTVF9ERUJVR19GVU5DUFRSIG1vcmUgb2Z0ZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZiBnbm9tZSBvcmc+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfcmVsZWFzZV9tZW1vcnkpLAoJICAoZ3N0X2xhbWVfZmluYWxpemUpLCAoZ3N0X2xhbWVfY2xhc3NfaW5pdCksCgkgIChnc3RfbGFtZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2xhbWVfaW5pdCksIChnc3RfbGFtZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9sYW1lX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzb21lIG1lbW9yeSBsZWFrcyAoIzMzMzM0NSksIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBtb3JlIG9mdGVuLgoKMjAwNi0wMy0xNCAxNzo1NjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCAtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjUgZm9yIGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSwgdXNlZCBieSBpZDNkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIC1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuNSBmb3IgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpLAoJICB1c2VkIGJ5IGlkM2RlbXV4LgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfdXNlcl90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKHBhcnNlX3VuaXF1ZV9maWxlX2lkZW50aWZpZXIpOgoJICBBZGQgc3VwcG9ydCBmb3IgVUZJRCBhbmQgVFhYWCBmcmFtZXMgYW5kIGV4dHJhY3QgbXVzaWNicmFpbnogdGFncy4KCjIwMDYtMDMtMTQgMTc6MjQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLCBtb3ZpbmcgaXQgZnJvbSBfY2xhc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwKCSAgbW92aW5nIGl0IGZyb20gX2NsYXNzX2luaXQoKSB0byBiZWdpbm5pbmcgb2YgX2Jhc2VfaW5pdCgpLgoKMjAwNi0wMy0xNCAxNToyODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ2F0Y2ggc2hvcnQgcmVhZHMsIGxpa2UgdGhleSBtaWdodCBoYXBwZW4gd2l0aCB0cnVuY2F0ZWQgZmlsZXMgKHNlZSAjMzA1Mjc5KTsgcmVtb3ZlIHVubmVjZXNzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIENhdGNoIHNob3J0IHJlYWRzLCBsaWtlIHRoZXkgbWlnaHQgaGFwcGVuIHdpdGggdHJ1bmNhdGVkCgkgIGZpbGVzIChzZWUgIzMwNTI3OSk7IHJlbW92ZSB1bm5lY2Vzc2FyeSBpbmRlbnRhdGlvbi4KCjIwMDYtMDMtMTQgMTQ6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBESUIgaW1hZ2UgaW52ZXJzaW9uIGZvciBwaWN0dXJlcyB3aXRoIGEgZGVwdGggIT0gOCAoIzMwNTI3OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KToKCSAgRml4IERJQiBpbWFnZSBpbnZlcnNpb24gZm9yIHBpY3R1cmVzIHdpdGggYQoJICBkZXB0aCAhPSA4ICgjMzA1Mjc5KS4KCjIwMDYtMDMtMTQgMDk6MjM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IEZpeCBkdXJhdGlvbnMgb24gb3V0Z29pbmcgYnVmZmVycyBhZnRlciBzZWVraW5nIGluIE1KUEVHIGZpbGVzICgjMzM0MDgzKTsgc29tZSBtaW5vciBjbGVhbi11cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbiksIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIEZpeCBkdXJhdGlvbnMgb24gb3V0Z29pbmcgYnVmZmVycyBhZnRlciBzZWVraW5nCgkgIGluIE1KUEVHIGZpbGVzICgjMzM0MDgzKTsgc29tZSBtaW5vciBjbGVhbi11cHMuCgoyMDA2LTAzLTEzIDE4OjI4OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEltcGxlbWVudCBzZWVrIGluIFJFQURZIChyZS1maXhlcyAjMzI3NjU4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgSW1wbGVtZW50IHNlZWsgaW4gUkVBRFkgKHJlLWZpeGVzICMzMjc2NTgpCgoyMDA2LTAzLTEzIDE3OjIyOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZCBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQKCSAgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIG9mIHRoZSBwbHVnaW4gKHRhZ2xpYm11eCA9PiB0YWdsaWIpCgoyMDA2LTAzLTEzIDE1OjQ5OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY2xvc2UgIzMzMzc4NCB1bnJlZiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfZ2V0X3BhcmVudCgpIGJ5OiBDaHJpc3RvcGhlIEZlcmdlYXUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKToKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9nZXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzogKGdzdF9mbGFjX3RhZ19jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19nZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19nZXRjYXBzKSwKCSAgKGdzdF9qcGVnZW5jX3NldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdkZWNfc2lua2xpbmspLAoJICAoZ3N0X21uZ2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzogKGdzdF9tbmdlbmNfc2lua2xpbmspLAoJICAoZ3N0X21uZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2Rfc3JjbGluayk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY29udmVydCksCgkgIChzcGVleF9kZWNfc3JjX2V2ZW50KSwgKHNwZWV4X2RlY19jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfdmlkc2lua2Nvbm5lY3QpLAoJICAoZ3N0X2F2aW11eF9hdWRzaW5rY29ubmVjdCksIChnc3RfYXZpbXV4X2hhbmRsZV9ldmVudCk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fZ2V0Y2FwcyksCgkgIChnc3RfbmVnb3RpYXRpb25fcGFkX2xpbmspLCAoZ3N0X25lZ290aWF0aW9uX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfcXVlcnlfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9zaW5rX2xpbmspLAoJICAoZGVpbnRlcmxlYXZlX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAobXVsYXdlbmNfc2V0Y2Fwcyk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzogKGdzdF9tZWRpYW5fbGluayk6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfc3JjY29ubmVjdCksCgkgIChnc3RfbW9ub3Njb3BlX2NoYWluKToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cEwxNnBheV9zaW5rY29ubmVjdCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IChnc3Rfb3N4YXVkaW9zaW5rX2NoYWluKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzogKGdzdF9vc3hhdWRpb3NyY19nZXQpOgoJICBjbG9zZSAjMzMzNzg0IHVucmVmIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF9nZXRfcGFyZW50KCkKCSAgYnk6IENocmlzdG9waGUgRmVyZ2VhdS4KCjIwMDYtMDMtMTMgMTA6MDU6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoKMjAwNi0wMy0xMiAxNTozMzowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldCBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX3Bvb2xfZnJlZSk6CgkgIGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQKCSAgaW5zdGVhZC4KCjIwMDYtMDMtMTIgMTU6MjU6NTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQwoJICBidWlsZGJvdCBoYXBweS4KCSAgSSB3aWxsIGp1c3QgdXNlIHRoZSBzYW1lIGNvbW1lbnQgUm9uYWxkIHVzZWQgd2hlbiBoZSBhZGRlZCB0aGVzZSBsaW5lczoKCSAgWWV0IEFub3RoZXIgSGFjayAodG0pIGZvciBrZXJuZWwgaGVhZGVyIGJvcmtlZG5lc3MuCgoyMDA2LTAzLTEyIDE1OjAyOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgoyMDA2LTAzLTEyIDE0OjQzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBQUEMtYnVpbGRib3QgaGFwcHkuCgoyMDA2LTAzLTEyIDExOjAwOjMzICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBtYXJrIHRoZSB4aW5nLWhlYWRlciBwcm9wZXJ0eSBhcyBCUk9LRU4gKHNlZSBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzAzMTcjYzE5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEyICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9jbGFzc19pbml0KTogbWFyayB0aGUgeGluZy1oZWFkZXIKCSAgcHJvcGVydHkgYXMgQlJPS0VOIChzZWUKCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMwMzE3I2MxOSBmb3IgYW4KCSAgZXhwbGFuYXRpb24gd2h5IGl0J3MgYnJva2VuKS4KCjIwMDYtMDMtMTEgMjI6NTA6MDMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoKMjAwNi0wMy0xMSAxMDo1ODowOCArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsYW5AZmVkb3JhcHJvamVjdC5vcmc+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTExICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUGF0Y2ggYnk6IEFsZXggTGFuY2FzdGVyCgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGZpeCB3cml0aW5nIG9mIFRQT1MgdGFncyAoYWxidW0gbnVtYmVyKSwKCSAgYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgoyMDA2LTAzLTA5IDIwOjAyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCk6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoKMjAwNi0wMy0wOSAxNzo0NDoxNyArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMDkgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICByZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgoyMDA2LTAzLTA5IDExOjQ3OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogSGFuZGxlIGV2ZW50cyBpbiBwdXNoIG1vZGUgYmV0dGVyLCBjYW4gbm93IGRvIG5vbi1mbHVzaGluZyBzZWVrcyBpbiBwdXNoIG1vZGUgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc2VnbWVudCksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgIEhhbmRsZSBldmVudHMgaW4gcHVzaCBtb2RlIGJldHRlciwgY2FuIG5vdyBkbyBub24tZmx1c2hpbmcKCSAgc2Vla3MgaW4gcHVzaCBtb2RlIGFzIHdlbGwuCgoyMDA2LTAzLTA4IDEyOjE2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UKCSAgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciBmb3IgdGhhdAoJICAoZml4ZXMgIzMzMjA2NikuCgoyMDA2LTAzLTA3IDE3OjMxOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IEFwcGxpZWQgcGF0Y2ggZnJvbSBLYWkgVmVobWFuZW4sIGZpeGVzICMzMzM2MjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfY2xhc3NfaW5pdCk6CgkgIEFwcGxpZWQgcGF0Y2ggZnJvbSBLYWkgVmVobWFuZW4sIGZpeGVzICMzMzM2MjQuCgoyMDA2LTAzLTA2IDIyOjIyOjQ1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IEltcGxlbWVudCBwYWxldHRlZCBhbmQgZ3JheXNjYWxlIHBuZyBmaWxlcyBoYW5kbGluZy4gKCMxNTAzNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICBJbXBsZW1lbnQgcGFsZXR0ZWQgYW5kIGdyYXlzY2FsZSBwbmcgZmlsZXMgaGFuZGxpbmcuCgkgICgjMTUwMzYzKS4KCjIwMDYtMDMtMDYgMDA6MTA6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IGZpeCBhIHRhZyBsaXN0IGFzc2VydCBmb2xsb3cgZ3N0LXBsdWdpbnMtYmFzZS9leHQvb2dnL1JFQURNRTsgc2V0IE9GRlNFVCBhbmQgT0ZGU0VUX0VORC4gIE11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX3NldF9oZWFkZXJfb25fY2FwcyksCgkgIChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICBmaXggYSB0YWcgbGlzdCBhc3NlcnQKCSAgZm9sbG93IGdzdC1wbHVnaW5zLWJhc2UvZXh0L29nZy9SRUFETUU7IHNldCBPRkZTRVQKCSAgYW5kIE9GRlNFVF9FTkQuICBNdXhlcyBjb3JyZWN0bHkgd2l0aCBnc3QtcGx1Z2lucy1iYXNlCgkgID4gMC45LjMKCjIwMDYtMDMtMDUgMTM6MDM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoKMjAwNi0wMy0wNCAyMDoxMTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IFVzZSBuZXcgdHlwZWZpbmQgaGVscGVyIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwsIGFuZCBkbyB0eXBlZmluZGluZyBpbiBwdWxsLW1vZGUgaWYgdXBzdHJlYW0gc3VwcG9ydHMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCksCgkgIChnc3RfaWQzZGVtdXhfY2hhaW4pLCAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBVc2UgbmV3IHR5cGVmaW5kIGhlbHBlciBmdW5jdGlvbnMgaGVyZSBhcyB3ZWxsLCBhbmQKCSAgZG8gdHlwZWZpbmRpbmcgaW4gcHVsbC1tb2RlIGlmIHVwc3RyZWFtIHN1cHBvcnRzIHRoYXQuCgoyMDA2LTAzLTA0IDE4OjU3OjM3ICswMDAwICBCZW5qYW1pbiBQaW5lYXUgPGJlbi5waW5lYXVAZ21haWwuY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMsIGJyZWFrcyBidWlsZCBmcm9tIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX25ldyk6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzLCBicmVha3MgYnVpbGQgZnJvbSBDVlMKCSAgd2l0aCAtV2Vycm9yICgjMzMzMzkyLCBwYXRjaCBieTogQmVuamFtaW4gUGluZWF1KQoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMy0wMyAxODozNjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIHdhdnBhcnNlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkZWQgd2F2cGFyc2UgZG9jcy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEltcGxlbWVudCBzZWVrIGluIFJFQURZIChmaXhlcyAjMzI3NjU4KQoJICBBZGRlZCBkb2NzIGFuZCBkaWQgc29tZSBjbGVhbnVwcy4KCjIwMDYtMDMtMDMgMTc6NTE6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IElmIHdlIGhhdmUgYW4gaW5kZXgsIHVzZSBhIGR1cmF0aW9uIGJhc2VkIG9uIHRoZSBpbmRleCBpbnN0ZWFkIG9mIGJsaW5kbHkgdHJ1c3RpbmcgdGhlIGluZm9ybWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgSWYgd2UgaGF2ZSBhbiBpbmRleCwgdXNlIGEgZHVyYXRpb24gYmFzZWQgb24gdGhlIGluZGV4IGluc3RlYWQKCSAgb2YgYmxpbmRseSB0cnVzdGluZyB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIHN0cmVhbSBoZWFkZXJzCgkgIChmaXhlcyAjMzMxODE3KS4KCjIwMDYtMDMtMDMgMTU6NTA6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCBzbW9rZSBhbmQganBlZyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGRlZCBzbW9rZSBhbmQganBlZyB0byB0aGUgZG9jcy4KCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9nc3RqcGVnLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19pbml0KSwKCSAgKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICAqIGV4dC9qcGVnL3Ntb2tlY29kZWMuaDoKCSAgUG9ydCBzbW9rZWRlYyAoZml4ZXMgIzMzMTkwNSkuCgkgIEFkZGVkIHNvbWUgZG9jcy4KCSAgU29tZSBjbGVhbnVwcy4KCjIwMDYtMDMtMDMgMTQ6Mzk6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGRlZCB2aWRlb2JhbGFuY2UgYW5kIHZpZGVvZmxpcCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGRlZCB2aWRlb2JhbGFuY2UgYW5kIHZpZGVvZmxpcCB0byB0aGUgZG9jcy4KCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfdXBkYXRlX3RhYmxlc19wbGFuYXI0MTEpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfaXNfcGFzc3Rocm91Z2gpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfdXBkYXRlX3Byb3BlcnRpZXMpLCAob2lsX3RhYmxlbG9va3VwX3U4KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3BsYW5hcjQxMV9pcCksIChnc3RfdmlkZW9fYmFsYW5jZV9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV90cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2ZpbmFsaXplKSwgKGdzdF92aWRlb19iYWxhbmNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfaW5pdCksIChnc3RfdmlkZW9fYmFsYW5jZV9pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9zZXRfdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX2dldF92YWx1ZSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2dldF90eXBlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIFBvcnRlZCB0byAwLjEwLiAoRml4ZXMgIzMyNjE2MCkKCSAgQWRkZWQgZG9jcy4KCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICBBZGRlZCBkb2NzLgoKMjAwNi0wMy0wMyAxMTowNzo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zIHdoZW4gcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMKCSAgd2hlbiBwYXJzaW5nLgoJICBBbHNvIGxldCdzIGJlIGEgYml0IGxlc3MgdnVsZ2FyIGluIG91ciB3YXJuaW5nIG1lc3NhZ2VzIDopCgoyMDA2LTAzLTAyIDE1OjE0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byBjdXJyZW50IGNvcmUgYW5kIC1iYXNlIENWUyAoY29yZSBmb3IgbmV3IHR5cGVmaW5kIGhlbHBlciBBUEksIGFuZCAtYmFzZSBmb3IgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gY3VycmVudCBjb3JlIGFuZCAtYmFzZSBDVlMKCSAgKGNvcmUgZm9yIG5ldyB0eXBlZmluZCBoZWxwZXIgQVBJLCBhbmQgLWJhc2UgZm9yIHRoZQoJICBXQVZGT1JNQVRFWCBzdXBwb3J0IHRoYXQgd2FzIGFkZGVkIHRvIGxpYmdzdHJpZmYgYW5kCgkgIGlzIG5lZWRlZCBieSB3YXZwYXJzZSkuCgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKSwKCSAgKGdzdF90YWdfZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIFVzZSBuZXcgdHlwZWZpbmQgaGVscGVycyBmb3IgdHlwZWZpbmRpbmcgaW5zdGVhZCBvZiBvdXIKCSAgaG9tZS1ncm93biBzdHVmZjsgYWxzbywgZG8gdHlwZWZpbmRpbmcgaW4gcHVsbC1tb2RlIGlmCgkgIHVwc3RyZWFtIHN1cHBvcnRzIHRoYXQuCgoyMDA2LTAyLTI4IDExOjU5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2Ygc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZgoJICBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpIChzZWUgIzMyNzA4MykKCjIwMDYtMDItMjggMTA6NDA6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgcmVtb3ZlIGNvbmZsaWN0IGluZGljYXRvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGNvbmZsaWN0IGluZGljYXRvcgoKMjAwNi0wMi0yOCAxMDozOTowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBhZGQgbWlzc2luZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgZW50cnkKCjIwMDYtMDItMjggMTA6Mjk6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIERFQlVHX09CSkVDVCBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgVXNlIERFQlVHX09CSkVDVCBtb3JlLgoKMjAwNi0wMi0yOCAxMDoyMjoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIGR2ZGVjIGFuZCBkdmRlbXV4IHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkZWQgZHZkZWMgYW5kIGR2ZGVtdXggdG8gZG9jcy4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19iYXNlX2luaXQpLCAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgQWRkZWQgZG9jcy4KCSAgQ2hlY2sgZnJhbWUgc2l6ZXMgc28gd2UgZG9uJ3QgY3Jhc2ggd2hlbiBkb24ndCBoYXZlIGVub3VnaAoJICBkYXRhLgoJICBTZW5kIG5pY2UgZXJyb3IgbWVzc2FnZXMgb24gZXJyb3IuCgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfZHZkZW11eF9jbGFzc19pbml0KSwgKGdzdF9kdmRlbXV4X2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfZmluYWxpemUpLCAoZ3N0X2R2ZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2R2ZGVtdXhfc2lua19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksIChnc3RfZHZkZW11eF9zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9kdmRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVtdXhfY29udmVydF9zcmNfcGFpciksIChnc3RfZHZkZW11eF9jb252ZXJ0X3NpbmtfcGFpciksCgkgIChnc3RfZHZkZW11eF9jb252ZXJ0X3NyY190b19zaW5rKSwgKGdzdF9kdmRlbXV4X2hhbmRsZV9wdXNoX3NlZWspLAoJICAoZ3N0X2R2ZGVtdXhfZG9fc2VlayksIChnc3RfZHZkZW11eF9oYW5kbGVfcHVsbF9zZWVrKSwKCSAgKGdzdF9kdmRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfYXVkaW8pLAoJICAoZ3N0X2R2ZGVtdXhfZGVtdXhfdmlkZW8pLCAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpLAoJICAoZ3N0X2R2ZGVtdXhfZmx1c2gpLCAoZ3N0X2R2ZGVtdXhfY2hhaW4pLCAoZ3N0X2R2ZGVtdXhfbG9vcCksCgkgIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBBZGRlZCBkb2NzLgoJICBJbXBsZW1lbnQgcHVsbCBtb2RlLgoJICBGaXggbWVtbGVha3MuCgkgIFJlZHVjZSBtZW1jcHkgZm9yIHRoZSB2aWRlbyBkZW11eGluZy4KCjIwMDYtMDItMjggMDk6MjE6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2Fubm9kZXgvOiBBZGQgYSBsaXR0bGUgZXh0cmEgZGVidWcuIE1ha2UgdGhlIGRlY29kZXIgbm90IHJldHVybiBOT1RfTElOS0VELCBhcyB3ZSB3YW50IHRvIGNvbnRpbnVlIGRlY29kaW5nIGFsbCBDLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogKGdzdF9jbW1sX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9jbW1sX2RlY19uZXdfYnVmZmVyKSwgKGdzdF9jbW1sX2RlY19wYXJzZV9wcmVhbWJsZSksCgkgIChnc3RfY21tbF9kZWNfcGFyc2VfaGVhZCksIChnc3RfY21tbF9kZWNfcHVzaF9jbGlwKToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6IChnc3RfY21tbF9wYXJzZXJfcGFyc2VfY2h1bmspOgoJICBBZGQgYSBsaXR0bGUgZXh0cmEgZGVidWcuIE1ha2UgdGhlIGRlY29kZXIgbm90IHJldHVybiBOT1RfTElOS0VELAoJICBhcyB3ZSB3YW50IHRvIGNvbnRpbnVlIGRlY29kaW5nIGFsbCBDTU1MIGFuZCBlbWl0dGluZyB0YWdzLgoKMjAwNi0wMi0yNyAxNDozNzoyOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgYW5ub2RleCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhbm5vZGV4IHBsdWdpbgoKMjAwNi0wMi0yNyAxNDowMDoxOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy4qOiBEZWxldGVkOyB0aGVzZSBmaWxlcyBhcmVuJ3QgdXNlZCBhbnkgbW9yZSBlaXRoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmg6CgkgIERlbGV0ZWQ7IHRoZXNlIGZpbGVzIGFyZW4ndCB1c2VkIGFueSBtb3JlIGVpdGhlci4KCjIwMDYtMDItMjUgMjA6Mzc6MjkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggZGlzdC1jaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvTWFrZWZpbGUuYW06IEZpeCBkaXN0LWNoZWNrLgoKMjAwNi0wMi0yNSAxOTozNjoyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IEZpeCBhbm90aGVyIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX3B1c2hfY2xpcCk6IEZpeCBhbm90aGVyCgkgIG1lbWxlYWsuCgoyMDA2LTAyLTI1IDE5OjA3OjQxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBhIG1lbWxlYWsgaW4gZ3N0X2NtbWxfdHJhY2tfbGlzdF9hZGRfY2xpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgRml4IGEgbWVtbGVhayBpbiBnc3RfY21tbF90cmFja19saXN0X2FkZF9jbGlwLgoJICBIYW5kbGUgb3ZlcmZsb3dzIGluIGNsaXAncyBzdGFydCBhbmQgZW5kIHRpbWVzLgoJICBBZGQgdGhlICJlbmNvZGVkIiBwYXJhbWV0ZXIgdG8gY21tbGRlYyBhbmQgY21tbGVuYyBjYXBzLgoJICBEbyBub3QgcGFyc2UganVuayBhdCB0aGUgZW5kIG9mIGEgQ01NTCBwcmVhbWJsZSBidWZmZXIuCgkgIFJlZ2lzdGVyIGEgbGlieG1sIGVycm9yIGhhbmRsZXIgdG8gbm90IHByaW50IHN0dWZmIG9uIHN0ZGVyci4KCSAgQ2hlY2sgZm9yIGJhZCBjbGlwIHN0YXJ0IGFuZCBlbmQgdGltZXMgaW4gdGhlIHRlc3RzdWl0ZXMuCgoyMDA2LTAyLTI1IDExOjM3OjEwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9hbm5vZGV4LzogRml4IHBvc3NpYmxlIG1lbWxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogKGdzdF9jbW1sX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9jbW1sX2RlY19maW5hbGl6ZSksIChnc3RfY21tbF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfY21tbF9lbmNfZmluYWxpemUpLCAoZ3N0X2NtbWxfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF90cmFja19saXN0X2Rlc3Ryb3kpOiBGaXgKCSAgcG9zc2libGUgbWVtbGVha3MuCgoyMDA2LTAyLTI0IDIzOjUyOjI4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogRml4IHRlc3RzIHNvIHRoYXQgdGhleSB1c2UgdGhlIHBsdWdpbnMtYmFzZSB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IEZpeCB0ZXN0cyBzbyB0aGF0IHRoZXkgdXNlCgkgIHRoZSBwbHVnaW5zLWJhc2UgdGFncy4KCjIwMDYtMDItMjQgMjM6MzY6NTggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBSZS1lbmFibGUgbW9kdWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogUmUtZW5hYmxlIG1vZHVsZS4KCjIwMDYtMDItMjQgMjM6MzI6MTQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEZvcmdvdCB0byByZW1vdmUgdGhhdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gcmVtb3ZlIHRoYXQgdGVzdC4KCjIwMDYtMDItMjQgMjM6MzE6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgVHJ5IHRvIGZpeCBBbm5vZGV4IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2tlbGRlYy5jOiBUcnkgdG8gZml4IEFubm9kZXggcGx1Z2luLgoKMjAwNi0wMi0yNCAyMzowNjoyNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aG9zZSBjaGVja3MgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aG9zZSBjaGVja3MgYXMgd2VsbC4KCjIwMDYtMDItMjQgMjI6NDk6MjkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBEaXNhYmxlIGFubm9kZXggZm9yIG5vdyB1bnRpbCB3ZSBmaWd1cmUgb3V0IGhvdyB0byBtYWtlIGl0IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogRGlzYWJsZSBhbm5vZGV4IGZvciBub3cgdW50aWwgd2UgZmlndXJlIG91dAoJICBob3cgdG8gbWFrZSBpdCBidWlsZC4KCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbTogTm90ZSBmb3IgVGhvbWFzIDoKCSAgQWRkIGEgcnVsZSB0byB5b3VyIGNoZWNrbGlzdCA6ICJwbGVhc2UgdHJ5IHRvIGF0IGxlYXN0IGJ1aWxkCgkgIHdoYXQgeW91IGFyZSBnb2luZyB0byBjb21taXQgaW50byAtZ29vZCwgb3IgaWYgeW91IGFyZSB0b28gbGF6eQoJICB0byBkbyB0aGF0LCBwbGVhc2UgY2hlY2sgdGhhdCB0aGUgYnVpbGRib3RzIGFyZSBub3QgY3J5aW5nIGJlY2F1c2UKCSAgb2YgeW91ciBjb21taXQuIgoKMjAwNi0wMi0yNCAxOTo1MToyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR2RrcGl4YnVmIHBvcnRlZCBmcm9tIDAuOCB0byAwLjEwIGJ5IFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPi4gZ3N0X2xvYWRlciBhbmQgZ2RrcGl4YnVmYW5pbWF0aW9uIHN0aWxsIG5lZWQgcG9ydC4KCjIwMDYtMDItMjQgMTk6NDk6MzIgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIHBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCjIwMDYtMDItMjQgMTk6MDc6MTAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBBbm5vZGV4IGVsZW1lbnRzIGZyb20gQWxlc3NlbmRybyBEZWNpbmE6IHNrZWxldG9uIGFuZCBDTU1MLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4Lmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsdGFnLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9za2VsZGVjLmM6CgkgIEFkZCBBbm5vZGV4IGVsZW1lbnRzIGZyb20gQWxlc3NlbmRybyBEZWNpbmE6IHNrZWxldG9uIGFuZCBDTU1MLgoJICBJbmNsdWRlcyB0ZXN0cyAmIGRvY3MsIG9oIG15ISBQYXNzZXMgVGhvbWFzJ3MgLWdvb2QgY2hlY2tsaXN0CgkgIGVudGlyZWx5LiBXb3cuCgoyMDA2LTAyLTI0IDE3OjA5OjU2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBDaGVjayBmb3IgYXV0b21ha2UgMS45IGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIENoZWNrIGZvciBhdXRvbWFrZSAxLjkgYXMgd2VsbC4KCjIwMDYtMDItMjQgMTQ6NDk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IENoYW5nZSBtaW4uIHNhbXBsZSByYXRlIHRvIDhrSHogdG8gbWF0Y2ggZmxhY2RlYydzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIENoYW5nZSBtaW4uIHNhbXBsZSByYXRlIHRvIDhrSHogdG8gbWF0Y2ggZmxhY2RlYydzLgoKMjAwNi0wMi0yMyAyMDowODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvL01ha2VmaWxlLmFtOiBBZGQgR1NUX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQkFTRV9MSUJTIChzZWVtcyB0byBiZSByZXF1aXJlZCBmb3IgQ3lnd2luLCBzZWUgIzMxNzA0OCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfQkFTRV9DRkxBR1MgYW5kIEdTVF9CQVNFX0xJQlMgKHNlZW1zIHRvIGJlCgkgIHJlcXVpcmVkIGZvciBDeWd3aW4sIHNlZSAjMzE3MDQ4KQoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgIEN5Z3dpbiBoYXMgaW5jbHVkZXMgZm9yIGJvdGggdGhlIHVuaXggbmV0d29yayBzb2NrZXQgQVBJCgkgIGFuZCB0aGUgd2luZG93cyBBUEksIGJ1dCBvbmx5IG9uZSBjYW4gYmUgaW5jbHVkZWQsIHNvIGZpeAoJICBpbmNsdWRlcyB0byBvbmx5IHVzZSBvbmUgb3IgdGhlIG90aGVyLCBwcmVmZXJpbmcgdGhlIHVueGkKCSAgb25lICgjMzE3MDQ4KS4KCjIwMDYtMDItMjMgMTI6MjE6MjUgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBydHAvZ3N0LzogU2VwYXJhdGVkIHRoZSBHNzExIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzIGludG8gc2VwYXJhdGUgZWxlbWVudHMgZm9yIG11bGF3L2FsYXcuIEFsc28gcmVtb3ZlZCB0aGUgb2xkIGc3MTEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjMgIFBoaWxpcHBlIEthbGFmICA8cGhpbGlwcGUua2FsYWYgYXQgY29sbGFib3JhLmNvLnVrPgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogcnRwL2dzdC9nc3RydHBwY21hZGVwYXkuaDoKCSAgKiBydHAvZ3N0L2dzdGdzdHJ0cHBjbWFwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdGdzdHJ0cHBjbWFwYXkuaDoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkgICogcnRwL2dzdC9nc3RydHBwY211cGF5LmM6CgkgICogcnRwL2dzdC9nc3RydHBwY211cGF5Lmg6CgkgICogcnRwL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBydHAvZ3N0L2dzdHJ0cC5jOgoJICAqIHJ0cC9nc3QvUkVBRE1FOgoJICBTZXBhcmF0ZWQgdGhlIEc3MTEgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMgaW50byBzZXBhcmF0ZSBlbGVtZW50cyBmb3IKCSAgbXVsYXcvYWxhdy4gQWxzbyByZW1vdmVkIHRoZSBvbGQgZzcxMSBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycy4KCjIwMDYtMDItMjIgMjA6MjI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvOiBVZWJlciBzcGlmZmlmeSBzb21lIG1vcmUsIGFkZGVkIGRlYnVnIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19iYXNlX2luaXQpLCAoZ3N0X2R2ZGVjX2luaXQpLAoJICAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2Jhc2VfaW5pdCksIChnc3RfZHZkZW11eF9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9kdmRlbXV4X3NpbmtfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLCAoZ3N0X2R2ZGVtdXhfc2lua19xdWVyeSksCgkgIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSksCgkgIChnc3RfZHZkZW11eF9mbHVzaCksIChnc3RfZHZkZW11eF9jaGFpbiksCgkgIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIFVlYmVyIHNwaWZmaWZ5IHNvbWUgbW9yZSwgYWRkZWQgZGVidWcgY2F0ZWdvcnkuCgkgIFVzZSBfc2NhbGUuCgkgIFVzZSBzZWdtZW50cywgcmVzcGVjdCBwbGF5YmFjayByYXRlIGZyb20gbmV3c2VnbWVudC4KCSAgRml4IHJlZmNvdW50IGlzc3VlLgoKMjAwNi0wMi0yMiAwOTozMzoyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieSA6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgQWRkIGltYWdlL3BuZyBmb3IgZm91cmNjICdwbmcgJwoKMjAwNi0wMi0yMCAyMToxOTo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JldHVybl9idWYpLAoJICAoZ3N0X3hpbWFnZXNyY19vcGVuX2Rpc3BsYXkpLCAoZ3N0X3hpbWFnZXNyY19zdGFydCksCgkgIChnc3RfeGltYWdlc3JjX3N0b3ApLCAoZ3N0X3hpbWFnZXNyY191bmxvY2spLAoJICAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLCAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksCgkgIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfeGltYWdlc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2NsZWFyX2J1ZnBvb2wpLCAoZ3N0X3hpbWFnZXNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19kaXNwb3NlKSwgKGdzdF94aW1hZ2VzcmNfZmluYWxpemUpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX3NldF9jYXBzKSwKCSAgKGdzdF94aW1hZ2VzcmNfZml4YXRlKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX2hhbmRsZV94ZXJyb3IpLAoJICAoeGltYWdldXRpbF9jaGVja194c2htX2NhbGxzKSwgKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KSwKCSAgKHhpbWFnZXV0aWxfeGNvbnRleHRfY2xlYXIpLAoJICAoeGltYWdldXRpbF9jYWxjdWxhdGVfcGl4ZWxfYXNwZWN0X3JhdGlvKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF94aW1hZ2VfYnVmZmVyX2ZyZWUpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfaW5pdCksIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2dldF90eXBlKSwgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9uZXcpLAoJICAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX2Rlc3Ryb3kpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCj09PSByZWxlYXNlIDAuMTAuMSA9PT0KCjIwMDYtMDItMjAgMTk6MTI6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgoyMDA2LTAyLTIwIDEzOjA4OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QKCSAgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLCBidXQgaXQgaGVscHMgbWUgd2luIHRoZSBmZWF0dXJlLWNvdW50CgkgIGNvbXBldGl0aW9ucyBvb2ggeWVhaC4KCjIwMDYtMDItMTkgMTY6MDI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFVzZSBzY2FsaW5nIGNvZGUgZm9yIGFkZGVkIHByZWNpc3Npb24gYW5kIG1vcmUgY29ycmVjdCBzdG9wIHBvc2l0aW9uIGluIGNhc2Ugc2NhbGU9PTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9hdmloKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIFVzZSBzY2FsaW5nIGNvZGUgZm9yIGFkZGVkIHByZWNpc3Npb24gYW5kIG1vcmUgY29ycmVjdCBzdG9wCgkgIHBvc2l0aW9uIGluIGNhc2Ugc2NhbGU9PTAuCgoyMDA2LTAyLTE5IDEyOjA5OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZseC9nc3RmbHhkZWMuKjogSW1wbGVtZW50IERVUkFUSU9OIHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfcXVlcnlfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBJbXBsZW1lbnQgRFVSQVRJT04gcXVlcnkuCgoyMDA2LTAyLTE5IDExOjU3OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZseC86IFNldCBNQUxMT0NEQVRBIGZvciB0aGUgdGVtcCBidWZmZXJzIHNvIHdlIGRvbid0IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZmx4X2NvbG9yLmg6CgkgICogZ3N0L2ZseC9mbHhfZm10Lmg6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfaW5pdCksCgkgIChnc3RfZmx4ZGVjX3NyY19xdWVyeV9oYW5kbGVyKSwgKGZseF9kZWNvZGVfY29sb3IpLAoJICAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgU2V0IE1BTExPQ0RBVEEgZm9yIHRoZSB0ZW1wIGJ1ZmZlcnMgc28gd2UgZG9uJ3QgbGVhay4KCSAgU29tZSBkZWJ1ZyBjbGVhbnVwcy4KCSAgQ29uc3VtZSBhbGwgZGF0YSBpbiB0aGUgYWRhcHRlciBiZWZvcmUgbGVhdmluZyB0aGUgY2hhaW4KCSAgZnVuY3Rpb24uIEZpeGVzICMzMzA2NzguCgoyMDA2LTAyLTE4IDIwOjQ4OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC86IEhhbmRsZSAwIGRhdGEgc2l6ZSBpbiBvdGhlcndpc2UgdmFsaWQgZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KToKCSAgSGFuZGxlIDAgZGF0YSBzaXplIGluIG90aGVyd2lzZSB2YWxpZCBmcmFtZXMuCgkgIEhhbmRsZSBudW1lcmljIHN0cmluZ3MgaW4gMi40LjAgZXZlbiB3aGVuIG5vdCBpbiBwYXJlbnRoZXNlcwoKMjAwNi0wMi0xOCAxNzoyMDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFJlY29nbmlzZSBTU0EvQVNTIGFuZCBVU0Ygc3VidGl0bGUgZm9ybWF0cyBhbmQgc2V0IHByb3BlciBjYXBzIHdoZW4gdGhleSBhcmUgZm91bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFJlY29nbmlzZSBTU0EvQVNTIGFuZCBVU0Ygc3VidGl0bGUgZm9ybWF0cyBhbmQKCSAgc2V0IHByb3BlciBjYXBzIHdoZW4gdGhleSBhcmUgZm91bmQuCgoyMDA2LTAyLTE3IDE4OjI1OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleCBlbnRyaWVzICgjMzMxNTgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4CgkgIGVudHJpZXMgKCMzMzE1ODIpLgoKMjAwNi0wMi0xNyAxNzo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBmb3Igc29tZSBvZGQtc2l6ZWQgaW1hZ2VzIChzZWUgaW1hZ2UgY29udGFpbmVkIGluIHF1aWNrdGltZSBzdHJlYW0gaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfZGVjb2RlX2RpcmVjdCksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGZvciBzb21lIG9kZC1zaXplZCBpbWFnZXMKCSAgKHNlZSBpbWFnZSBjb250YWluZWQgaW4gcXVpY2t0aW1lIHN0cmVhbSBpbiAjMzI3MDgzKTsKCSAgdXNlIGdfbWFsbG9jKCkgaW5zdGVhZCBvZiBnX2FsbG9jYSgpLgoKMjAwNi0wMi0xNyAxNjoyODoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplCgkgIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHRoYXQuCgkgIEZpeGVzICMzMzE1NDMuCgoyMDA2LTAyLTE3IDE1OjM3OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlLCBmaXhlcyAjMzE5ODg0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NoYWluKToKCSAgUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSwgZml4ZXMgIzMxOTg4NAoKMjAwNi0wMi0xNyAxMToxOTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvL2dzdGNkaW8uYzogSW5pdCBkZWJ1ZyBjYXRlZ29yeSAoIzMzMTI1MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgSW5pdCBkZWJ1ZyBjYXRlZ29yeSAoIzMzMTI1MykuCgoyMDA2LTAyLTE3IDEwOjUzOjM4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvZ2NvbmYvZ2NvbmYuYzoKCSogZXh0L2djb25mL2djb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSogZ2NvbmYvZ3N0cmVhbWVyLnNjaGVtYXMuaW46CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIEp1cmcncyBwYXRjaCBmb3IgbXVsdGlkZXZpY2Ugc3VwcG9ydAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIEp1cmcncyBwYXRjaCBmb3IgbXVsdGlkZXZpY2Ugc3VwcG9ydAoKMjAwNi0wMi0xNiAyMDozMDoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBQYXNzIGV4dHJhX2RhdGEgdG8gZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX2NhcHMoKSwgc28gdGhhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFBhc3MgZXh0cmFfZGF0YSB0byBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fY2FwcygpLCBzbyB0aGF0CgkgIFdBVkVGT1JNQVRFWCBzdHVmZiB3b3Jrcy4gUG9zdCBhdWRpbyBjb2RlYyBuYW1lIGFuZCBwb3N0CgkgIGl0IGFzIHRhZ2xpc3Qgb24gdGhlIGJ1cy4gQWxsb3cgdXAgdG8gOCBjaGFubmVzbCBmb3IgcmF3CgkgIFBDTSBpbiB0aGUgc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLgoKMjAwNi0wMi0xNiAxNzoxNjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogRml4IHVwIGxhbWUgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2luaXQpLCAoZ3N0X2xhbWVfY2hhaW4pLAoJICAoZ3N0X2xhbWVfY2hhbmdlX3N0YXRlKToKCSAgRml4IHVwIGxhbWUgYSBiaXQuCgkgIEFwcGx5IHBhdGNoICMzMTk3ODIgYnkgR2F1dGllciBQb3J0ZXQuCgoyMDA2LTAyLTE2IDE2OjUzOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBBcHBsaWVkICMzMTg2NjMuIEdpdmVzIHF1aXRlIGEgZmV3IGZhbHNlIHBvc2l0aXZlcyBpbiBhdXRvc2NhbiBtb2RlLCBidXQgaXQncyBiZXR0ZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9maW5hbGl6ZSksIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbiksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXVsdGlwYXJ0X3NldF9wcm9wZXJ0eSksIChnc3RfbXVsdGlwYXJ0X2dldF9wcm9wZXJ0eSk6CgkgIEFwcGxpZWQgIzMxODY2My4gR2l2ZXMgcXVpdGUgYSBmZXcgZmFsc2UgcG9zaXRpdmVzIGluCgkgIGF1dG9zY2FuIG1vZGUsIGJ1dCBpdCdzIGJldHRlciB0aGFuIG5vdGhpbmcuIE5vdCBjbG9zaW5nIHlldC4KCjIwMDYtMDItMTYgMTQ6MTM6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIEZpeCBhcmdzLgoKMjAwNi0wMi0xNiAxNDowMjo1NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCjIwMDYtMDItMTYgMTA6NTg6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogSUQzIDIuMy4wIHVzZWQgc3luY2gtc2FmZSBpbnRlZ2VycyBmb3IgdGhlIHRhZyBzaXplLCBidXQgbm90IGZvciB0aGUgZnJhbWUgc2l6ZS4gKEZpeGVzICMzMzEzNjgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICBJRDMgMi4zLjAgdXNlZCBzeW5jaC1zYWZlIGludGVnZXJzIGZvciB0aGUgdGFnIHNpemUsIGJ1dCBub3QgZm9yIHRoZQoJICBmcmFtZSBzaXplLiAoRml4ZXMgIzMzMTM2OCkKCjIwMDYtMDItMTYgMTA6NDI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9SRUFETUU6IFVwZGF0ZWQgUkVBRE1FLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9SRUFETUU6CgkgIFVwZGF0ZWQgUkVBRE1FLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIE1ha2Ugc3VyZSB0aGUgUlRQIHBvcnQgaXMgYW4gZXZlbiBwb3J0IGFuIHRyeSB0byBhbGxvY2F0ZQoJICBhbm90aGVyIGlmIG5vdC4KCSAgQWRkZWQgcmV0cnkgcHJvcGVydHkgdG8gY29udHJvbCBtYXggcmV0cmllcyBmb3IgcG9ydCBhbGxvY2F0aW9uLgoJICBNYWtlIHN1cmUgUlRDUCBwb3J0IGlzIFJUUCBwb3J0KzEuCgkgIENsZWFudXAgd2hlbiBwb3J0IGFsbG9jYXRpb24gZmFpbHMuCgkgIEZpeGVzICMzMTkxODMuCgoyMDA2LTAyLTE2IDA5OjE3OjU4ICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAa2FuZ2Fyb290Lm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiBEb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIG9mIHRoZSBwYXJlbnQgY2xhc3MncyBzdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIG9mIHRoZSBwYXJlbnQgY2xhc3MncyBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb24gKCMzMzEzODUsIHBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuKS4KCjIwMDYtMDItMTUgMTI6MTc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgSEFMIHNvdW5kIGRldmljZSB3cmFwcGVyIHBsdWdpbnMuIENsb3NlcyAjMzI5MTA2CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGdzdF9oYWxfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfaGFsX2F1ZGlvX3NyY19jbGFzc19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChnc3RfaGFsX2F1ZGlvX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hhbF9hdWRpb19zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9oYWxfYXVkaW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmg6CgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X3N0cmluZyksCgkgIChnc3RfaGFsX3JlbmRlcl9iaW5fZnJvbV91ZGkpLCAoZ3N0X2hhbF9nZXRfYXVkaW9fc2luayksCgkgIChnc3RfaGFsX2dldF9hdWRpb19zcmMpOgoJICAqIGV4dC9oYWwvaGFsLmg6CgkgIEFkZCBIQUwgc291bmQgZGV2aWNlIHdyYXBwZXIgcGx1Z2lucy4gQ2xvc2VzICMzMjkxMDYKCjIwMDYtMDItMTUgMTI6MTM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCjIwMDYtMDItMTUgMTA6MTU6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEFkZCBjb21tZW50IGluIGEgZnVsdGlsZSBhdHRlbXB0IHRvIHN0b3AgdGhlIGNvcHktYW5kLXBhc3RlIHBhcmFkaWdtIGxlYWRpbmcgdG8gZHVwbGljYXRpb24gb2YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgQWRkIGNvbW1lbnQgaW4gYSBmdWx0aWxlIGF0dGVtcHQgdG8gc3RvcCB0aGUgY29weS1hbmQtcGFzdGUKCSAgcGFyYWRpZ20gbGVhZGluZyB0byBkdXBsaWNhdGlvbiBvZiBiYWQgY29kZS4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9wYXJzZSk6CgkgIE1pbWUgcGFyYW1ldGVycyBoYXZlIHRvIGJlIGNoZWNrZWQgY2FzZSBpbnNlbnNpdGl2ZQoKMjAwNi0wMi0xNSAwOTo0NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMKCSAgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDYtMDItMTQgMjM6MjM6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogQWR2YW5jZSBzdHJlYW0gdGltZSBmb3IgbGFnZ2luZyBzdWJ0aXRsZSBzdHJlYW1zIGJ5IHNlbmRpbmcgbmV3c2VnbWVudCBldmVudHMgd2l0aCB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKToKCSAgQWR2YW5jZSBzdHJlYW0gdGltZSBmb3IgbGFnZ2luZyBzdWJ0aXRsZSBzdHJlYW1zIGJ5IHNlbmRpbmcKCSAgbmV3c2VnbWVudCBldmVudHMgd2l0aCB0aGUgdXBkYXRlIGZsYWcgc2V0LgoKMjAwNi0wMi0xNCAxODo1MDoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBEb24ndCBhbnN3ZXIgZHVyYXRpb24gcXVlcnkuIFRoaXMgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGludG8gcmVwbHlpbmcKCSAgRkFMU0UgdG8gc2VlayBldmVudHMuCgoyMDA2LTAyLTE0IDE2OjU4OjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBUaGVyZSBjYW4gYmUgYm9ndXMgZGF0YSBiZWZvcmUgdGhlIGhkcmwgTElTVCB0YWcgaW4gdGhlIFJJRkYgaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpOgoJICBUaGVyZSBjYW4gYmUgYm9ndXMgZGF0YSBiZWZvcmUgdGhlIGhkcmwgTElTVCB0YWcgaW4gdGhlIFJJRkYgaGVhZGVyLgoJICBJdCdzIGhhcmQgdG8gc2F5IGlmIGl0J3Mgbm90IHJlc3BlY3RpbmcgdGhlIEFWSSBzcGVjaWZpY2F0aW9ucyBvciBub3QsCgkgIGJ1dCBzaW5jZSBHb29nbGUgVmlkZW8gaXMgcHJvZHVjaW5nIEFWSXMgbGlrZSB0aGF0IGFuZCB0aGUgb3RoZXIgcGxheWVyCgkgIGRvbid0IHNlZW0gdG8gY29tcGxhaW4sIEkgZ3Vlc3Mgd2Ugc2hvdWxkIGRvIHRoZSBzYW1lLgoKMjAwNi0wMi0xNCAxMToyNDo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgRXJyb3JzIG91dCBncmFjZWZ1bGx5LgoKMjAwNi0wMi0xMyAyMjowNDo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLCAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZSksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgSXQgc3RpbGwgbmVlZHMgc29tZSBsb3ZlIGZvciBzZWVraW5nLgoKMjAwNi0wMi0xMyAxMjowMDo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogQWRkIG1vcmUgdmFsaWRhdGlvbiB0byBlbnN1cmUgdGhhdCBhIGNoYXIgZW5jb2RpbmcgY29udmVyc2lvbiBwcm9kdWNlZCBhIHZhbGlkIFVURi04IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBBZGQgbW9yZSB2YWxpZGF0aW9uIHRvIGVuc3VyZSB0aGF0IGEgY2hhciBlbmNvZGluZyBjb252ZXJzaW9uCgkgIHByb2R1Y2VkIGEgdmFsaWQgVVRGLTggc3RyaW5nLgoKMjAwNi0wMi0xMyAxMDo0MzoxNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUHJvcGVybHkgaGFuZGxlIGVuZCBvZiBzZWdtZW50LiBDbG9zZXMgIzMzMDg4NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgUHJvcGVybHkgaGFuZGxlIGVuZCBvZiBzZWdtZW50LiBDbG9zZXMgIzMzMDg4NS4KCjIwMDYtMDItMTMgMTA6MzY6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDogRm9yIGdvdCB0byBjb21taXQgdGhpcyBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBGb3IgZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCjIwMDYtMDItMTIgMTg6NTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuKjogTWFrZSBtb3JlIHRoaW5ncyB3b3JrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV92aWRlb19jb25maWcpLCAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIE1ha2UgbW9yZSB0aGluZ3Mgd29yay4KCSAgSGFuZGxlIEFDQyBjb25maWcgc3RyaW5ncy4KCjIwMDYtMDItMTIgMTM6MTA6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogc2V0IHRpbWVzdGFtcHMgaWYgbm8gaW5jb21pbmcgdGltZXN0YW1wcyBzZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgc2V0IHRpbWVzdGFtcHMgaWYgbm8gaW5jb21pbmcgdGltZXN0YW1wcyBzZXQKCjIwMDYtMDItMTEgMTM6NTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IC4uLiBhbmQgZml4IHRoZSB2ZXJ5IHNhbWUgbGVha3MgaW4gR3N0VGFnRGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X3RhZ19kZW11eF9kb190eXBlZmluZCk6CgkgIC4uLiBhbmQgZml4IHRoZSB2ZXJ5IHNhbWUgbGVha3MgaW4gR3N0VGFnRGVtdXguCgoyMDA2LTAyLTExIDEzOjM1OjEzICswMDAwICBKb24gVHJvd2JyaWRnZSA8dHJvd0B4aW1pYW4uY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoaWQzZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X2lkM2RlbXV4X2RvX3R5cGVmaW5kKToKCSAgRml4IGEgY291cGxlIG9mIG1lbSBsZWFrcy4gKFBhdGNoIGJ5IEpvbmF0aGFuIE1hdHRoZXcKCSAgPGpvbmF0aGFuIGF0IGthb2xpbiBkb3Qgd2g5IGRvdCBuZXQ+KQoKMjAwNi0wMi0xMCAxNzozNzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBGaXJzdCBzZXQgb3B0aW9ucywgdGhlbiBzZXQgY2FwcyBvciBlbHNlIHRoZSBiYXNlY2xhc3Mgd2lsbCBub3Qga25vdyBhYm91dCB0aGUgb3B0aW9ucywgZHVoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIEZpcnN0IHNldCBvcHRpb25zLCB0aGVuIHNldCBjYXBzIG9yIGVsc2UgdGhlIGJhc2VjbGFzcwoJICB3aWxsIG5vdCBrbm93IGFib3V0IHRoZSBvcHRpb25zLCBkdWguCgoyMDA2LTAyLTEwIDE3OjE2OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IERvbid0IHdhc3RlIHRpbWUgbG9va2luZyBmb3IgYSBjb25maWcgc3RyaW5nIGlmIHdlIGhhdmUgY29kZWNfaW5mbyBvbiB0aGUgaW5jb21taW5nIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IHdhc3RlIHRpbWUgbG9va2luZyBmb3IgYSBjb25maWcgc3RyaW5nIGlmIHdlIGhhdmUgY29kZWNfaW5mbwoJICBvbiB0aGUgaW5jb21taW5nIGNhcHMuCgoyMDA2LTAyLTEwIDE2OjQwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFNheSBzb21ldGhpbmcgYWJvdXQgY2FzZS1zZW5zaXRpdml0eSBvZiBjYXBzIHZzIG1pbWUtYXR0cmlidXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFNheSBzb21ldGhpbmcgYWJvdXQgY2FzZS1zZW5zaXRpdml0eSBvZiBjYXBzIHZzIG1pbWUtYXR0cmlidXRlcy4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfaW5pdCksIChnc3RfcnRwX21wNGdfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfbmV3X2NhcHMpLCAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpLCAoZ3N0X3J0cF9tcDRnX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfbXA0Z19wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBBZGRlZCBiZWdpbm5pbmdzIG9mIG1wZWc0LWdlbmVyaWMgcGF5bG9hZGVyIChSRkMgMzY0MCkKCjIwMDYtMDItMDkgMTQ6MjA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFJlc3VyZWN0ZWQgcnRwZGVjIHRvIG1ha2UgcnRzcHNyYyBoYXBweSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2dldF90eXBlKSwKCSAgKGdzdF9ydHBkZWNfY2xhc3NfaW5pdCksIChnc3RfcnRwZGVjX2luaXQpLCAoZ3N0X3J0cGRlY19nZXRjYXBzKSwKCSAgKGdzdF9ydHBkZWNfY2hhaW5fcnRwKSwgKGdzdF9ydHBkZWNfY2hhaW5fcnRjcCksCgkgIChnc3RfcnRwZGVjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwZGVjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2R1bXApOgoJICBSZXN1cmVjdGVkIHJ0cGRlYyB0byBtYWtlIHJ0c3BzcmMgaGFwcHkgYWdhaW4uCgkgIFNraXAgYXR0cmlidXRlcyBmcm9tIHRoZSBzZXNzaW9uIGlkLgoJICBEb24ndCBjcmFzaCB3aGVuIGR1bXBpbmcgYSBtZXNzYWdlIHdpdGggYW4gZW1wdHkgYm9keS4KCjIwMDYtMDItMDkgMTQ6MTQ6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IEFkZGVkIG1vcmUgbWVhbmluZ2Z1bGwgd2FybmluZ3Mgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2hhaW4pOgoJICBBZGRlZCBtb3JlIG1lYW5pbmdmdWxsIHdhcm5pbmdzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIENsZWFyIEYgYml0IG9uIG91dGdvaW5nIEFNUiBwYWNrZXRzLgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEFkZGVkIGRlYnVnZ2luZyBjYXRlZ29yeQoJICBTdXBwb3J0IHBheWxvYWRpbmcgb2YgbXVsdGlwbGUgQU1SIGZyYW1lcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZGVwYXlfZGF0YSk6CgkgIEFkZGVkIHNvbWUgZGVidWdnaW5nLgoKMjAwNi0wMi0wOSAxMToyNTo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCj09PSByZWxlYXNlIDAuMTAuMiA9PT0KCjIwMDYtMDItMDkgMTE6MjI6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgUmVsZWFzaW5nIDAuMTAuMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzaW5nIDAuMTAuMgoKMjAwNi0wMi0wOCAxNzozNTowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMDItMDggMTc6MTg6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBPb3BzLCBqdW1waW5nIHRoZSBndW4gd2l0aCB0aGUgQ2hhbmdlTG9nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBPb3BzLCBqdW1waW5nIHRoZSBndW4gd2l0aCB0aGUgQ2hhbmdlTG9nIGVudHJ5CgoyMDA2LTAyLTA4IDE3OjE2OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlIGFuZCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yLjIgZm9yIEFQSSBhZGRpdGlvbnMgKGFuZCAxIG1pZ3JhdGlvbiBvZiBnc3RfYmluX2ZpbmRfdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZSBhbmQgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMi4yCgkgIGZvciBBUEkgYWRkaXRpb25zIChhbmQgMSBtaWdyYXRpb24gb2YgZ3N0X2Jpbl9maW5kX3VuY29ubmVjdGVkX3BhZCkKCjIwMDYtMDItMDggMTc6MTI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBSZWdpc3RlciBtdXNpY2JyYWlueiB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4LmM6IChwbHVnaW5faW5pdCk6CgkgIFJlZ2lzdGVyIG11c2ljYnJhaW56IHRhZ3MuCgoyMDA2LTAyLTA3IDE4OjMxOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgoyMDA2LTAyLTA3IDE4OjAxOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZQoJICB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBidWcsIGFuZCBtYWtlcwoJICB0aGUgZHVtcCBvZiBvZmZzZXRzIGNvbXBhcmFibGUgdG8gb3RoZXIgdG9vbHMKCjIwMDYtMDItMDcgMTc6NTQ6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZyBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcKCSAgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgoyMDA2LTAyLTA3IDE2OjIzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mL2djb25mLmg6IFJlbW92ZSBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiB0aGF0IG5vIGxvbmdlciBleGlzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICBSZW1vdmUgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gdGhhdCBubyBsb25nZXIgZXhpc3RzLgoKMjAwNi0wMi0wNyAxMzozOTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IE1ha2Ugc2hvdXQyIHdvcmsgZm9yIG5vbiBvZ2cgc3RyZWFtcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpLAoJICAoZ3N0X3Nob3V0MnNlbmRfc2V0Y2FwcyksIChnc3Rfc2hvdXQyc2VuZF9jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIHNob3V0MiB3b3JrIGZvciBub24gb2dnIHN0cmVhbXMKCjIwMDYtMDItMDYgMTc6MjY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBVcGRhdGVkIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpLCAoZ3N0X211bHRpdWRwc2lua19jbGVhciksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyksIChnc3RfbXVsdGl1ZHBzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgVXBkYXRlZCBkb2NzLgoJICBBZGRlZCBwcm9wZXJ0aWVzIGJ5dGVzLXNlcnZlZCwgYnl0ZXNfdG9fc2VydmUuCgkgIFBvc3QgcHJvcGVyIGVycm9yIG1lc3NhZ2VzLAoJICBFbWl0IGNsaWVudCBhZGRlZCBzaWduYWwgdG9vLgoKMjAwNi0wMi0wNiAxNTo0MToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBIYW5kbGUgc2Vla2luZyBpbiBhIGxlc3MgYnJva2VuIHdheS4KCSAgRml4IEFNUiBjYXBzIHRvIG1hdGNoIHRoZSBBTVIgZGVjb2Rlci4KCSAgU2V0IGZpcnN0IHRpbWVzdGFtcCBvbiBBTVIgc2FtcGxlcyB0byAwIGZvciBub3cuCgkgIFJlbW92ZSBzb21lIFxuIGluIERFQlVHIHN0cmluZ3MuCgkgIFVzZSBfc2NhbGVfaW50IGZvciBtYXhpbXVtIHByZWNpc2lvbi4KCjIwMDYtMDItMDYgMTU6MzE6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBhZGRpbmcgZG9jcyBmb3IgbXVsdGl1ZHBzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgZG9jcyBmb3IgbXVsdGl1ZHBzaW5rCgoyMDA2LTAyLTA2IDE1OjI4OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBwZWFrIGJlbG93IGRlY2F5IGlzIG5vdCBuZWNlc3NhcmlseSBhbiBlcnJvciwgc28gZG9uJ3QgRVJST1IgbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIHBlYWsgYmVsb3cgZGVjYXkgaXMgbm90IG5lY2Vzc2FyaWx5IGFuIGVycm9yLCBzbyBkb24ndCBFUlJPUiBsb2cKCjIwMDYtMDItMDYgMTU6Mjc6MDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGN2cyB2ZXJzaW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY3ZzIHZlcnNpb25zCgoyMDA2LTAyLTA2IDE0OjI1OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuKjogTWFrZSBzdXJlIHdlIHNlbmQgYSBuZXdzZWdtZW50IGV2ZW50IGluIEJZVEVTIGZvcm1hdCBiZWZvcmUgc2VuZGluZyBidWZmZXJzICgjMzI4NTMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX3Jlc2V0KSwKCSAgKGdzdF9lYm1sX3dyaXRlX2ZsdXNoX2NhY2hlKSwgKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfcHVzaCksCgkgIChnc3RfZWJtbF93cml0ZV9zZWVrKToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBNYWtlIHN1cmUgd2Ugc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgaW4gQllURVMgZm9ybWF0CgkgIGJlZm9yZSBzZW5kaW5nIGJ1ZmZlcnMgKCMzMjg1MzEpLgoKMjAwNi0wMi0wNiAxMjoxODo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBhc3MgdW5oYW5kbGVkIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiBqdXN0IGRyb3BwaW5nIHRoZW0gKCMzMjY0NDYpLiBVcGRhdGUgcXVlcnkgdHlwZSBhcnJheXMgaGVyZSBhbmQgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19xdWVyeSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9nZXRfcXVlcnlfdHlwZXMpLAoJICAoc3BlZXhfZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9zcGVleGVuY19zaW5rX3F1ZXJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KToKCSAgUGFzcyB1bmhhbmRsZWQgcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIGp1c3QgZHJvcHBpbmcKCSAgdGhlbSAoIzMyNjQ0NikuIFVwZGF0ZSBxdWVyeSB0eXBlIGFycmF5cyBoZXJlIGFuZCB0aGVyZS4KCjIwMDYtMDItMDYgMTE6NTc6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiBDb2xsZWN0cGFkcyBpbiBjb3JlIGdvdCBjaGFuZ2VkIGFuZCBub3cgYWxzbyBob2xkcyBhIHJlZmVyZW5jZSB0byBhbnkgcGFkIHRoYXQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpOgoJICBDb2xsZWN0cGFkcyBpbiBjb3JlIGdvdCBjaGFuZ2VkIGFuZCBub3cgYWxzbyBob2xkcyBhCgkgIHJlZmVyZW5jZSB0byBhbnkgcGFkIHRoYXQgaXMgcGFydCBvZiBpdC4gRml4IHJlZmNvdW50CgkgIGNoZWNrcyBpbiB0ZXN0IGNhc2UgYWNjb3JkaW5nbHkuCgoyMDA2LTAyLTA2IDExOjQxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOiBGaXggaW5jbHVkZSwgZm9yIG5vdyBHc3RUYWdEZW11eCBpcyBpbiB0aGUgYXBldGFnIGRpci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJICBGaXggaW5jbHVkZSwgZm9yIG5vdyBHc3RUYWdEZW11eCBpcyBpbiB0aGUgYXBldGFnIGRpci4KCjIwMDYtMDItMDYgMTE6MzQ6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgY2RpbyBwbHVnaW4gdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgQWRkIGNkaW8gcGx1Z2luIHRvIGRvY3MuCgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIuCgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOgoJICBUaGUgcGx1Z2luIGlzIGNhbGxlZCAnY2Rpbycgbm90ICdjZGRpbycuCgoyMDA2LTAyLTA2IDEwOjU2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIEFQRSB0YWcgZGVtdXhlciAoIzMyNTY0OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4Lmg6CgkgIEFkZCBBUEUgdGFnIGRlbXV4ZXIgKCMzMjU2NDkpLgoKMjAwNi0wMi0wNSAyMjoyMjo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvOiBJZ25vcmUgY2hhbmdpbmcgdGhlIEdDb25mIGtleSB0byAiIi4gSWdub3JlIEdDb25mIGtleSB1cGRhdGVzIHRoYXQgZG9uJ3QgYWN0dWFsbHkgY2hhbmdlIHRoZSBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX2dldF9kZWZhdWx0X2F1ZGlvX3NpbmspLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X3ZpZGVvX3NpbmspLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X2F1ZGlvX3NyYyksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfdmlkZW9fc3JjKToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgSWdub3JlIGNoYW5naW5nIHRoZSBHQ29uZiBrZXkgdG8gIiIuIElnbm9yZSBHQ29uZiBrZXkgdXBkYXRlcwoJICB0aGF0IGRvbid0IGFjdHVhbGx5IGNoYW5nZSB0aGUgc3RyaW5nLgoJICBGb3Igbm93LCBpZ25vcmUgdGhlIEdDb25mIGtleSB3aGVuIHRoZSBzdGF0ZSBpcyA+IFJFQURZLCBhcwoJICBpdCBicmVha3Mgc3RyZWFtaW5nLiBTb21ldGltZSBpdCB3aWxsIGJlIG5pY2UgdG8gYnJpbmcgdGhlCgkgIG5ldyBzaW5rIG9ubGluZSBldmVuIG1pZC1zdHJlYW0sIGJ5IHNlbmRpbmcgTkVXU0VHTUVOVCBpbmZvCgkgIGFuZCBwb3NzaWJseSBwcmVyb2xsaW5nLgoJICAoRml4ZXMgIzMyNjczNikKCjIwMDYtMDItMDUgMjA6NDM6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vOiBNYWtlIGdvb20gcmVlbnRyYW50IGJ5IG1vdmluZyBhbGwgaW1wb3J0YW50IHN0YXRpYyB2YXJpYWJsZXMgaW50byBpbnN0YW5jZSBzdHJ1Y3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tRmlsdGVyTmV3KSwgKGNhbGN1bGF0ZVBYYW5kUFkpLAoJICAoc2V0UGl4ZWxSR0IpLCAoc2V0UGl4ZWxSR0JfKSwgKGdldFBpeGVsUkdCKSwgKGdldFBpeGVsUkdCXyksCgkgICh6b29tRmlsdGVyU2V0UmVzb2x1dGlvbiksICh6b29tRmlsdGVyRGVzdHJveSksCgkgICh6b29tRmlsdGVyRmFzdFJHQiksIChwb2ludEZpbHRlcik6CgkgICogZ3N0L2dvb20vZmlsdGVycy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV9pbml0KSwgKGdvb21fc2V0X3Jlc29sdXRpb24pLAoJICAoZ29vbV91cGRhdGUpLCAoZ29vbV9jbG9zZSk6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmg6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJICAqIGdzdC9nb29tL2dyYXBoaWMuYzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLAoJICAoZ3N0X2dvb21fZGlzcG9zZSksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6IChnb29tX2xpbmVzKToKCSAgKiBnc3QvZ29vbS9saW5lcy5oOgoJICBNYWtlIGdvb20gcmVlbnRyYW50IGJ5IG1vdmluZyBhbGwgaW1wb3J0YW50IHN0YXRpYyB2YXJpYWJsZXMKCSAgaW50byBpbnN0YW5jZSBzdHJ1Y3R1cmVzLgoJICAoRml4ZXMgIzMyOTE4MSkKCjIwMDYtMDItMDQgMTU6NDE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFRoaXJkIGF0dGVtcHQsIHVzZSBnc3RfcGFkX2lzX2xpbmtlZCgpIHRoaXMgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9hbGxfc291cmNlX3BhZHNfdW5saW5rZWQpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgVGhpcmQgYXR0ZW1wdCwgdXNlIGdzdF9wYWRfaXNfbGlua2VkKCkgdGhpcyB0aW1lLgoKMjAwNi0wMi0wNCAxMzozMDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogQWRqdXN0IGZvciBkYXRhIGxlbmd0aCBpbmRpY2F0b3JzIHdoZW4gcGFyc2luZyAoRml4ZXMgIzMyOTgxMCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgQWRqdXN0IGZvciBkYXRhIGxlbmd0aCBpbmRpY2F0b3JzIHdoZW4gcGFyc2luZyAoRml4ZXMgIzMyOTgxMCkKCSAgRml4IHN0dXBpZCBidWcgcGFyc2luZyBVVEYtOCB0YWcgdGV4dC4KCSAgT3V0cHV0IHRhZyBzdHJpbmdzIHdpdGggbXVsdGlwbGUgZmllbGRzIGFzIG11bHRpcGxlIHRhZ3MsIHNvIHRoZQoJICBhcHAgZ2V0cyBhbGwgdGhlIGRhdGEuCgoyMDA2LTAyLTAzIDIwOjA1OjIwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgRml4ZWQgYSBidWcgYWRkIGluIGxhc3QgY29tbWl0LCB3aGVyZSBubyBldmVudCBpcyBzZW5kLiBUaGFua3MgVGltIHRvIHNob3cgbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBhIGJ1ZyBhZGQgaW4gbGFzdCBjb21taXQsIHdoZXJlIG5vIGV2ZW50IGlzIHNlbmQuIFRoYW5rcyBUaW0gdG8gc2hvdyBtZS4KCjIwMDYtMDItMDMgMTg6MDc6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIEp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCjIwMDYtMDItMDMgMTY6NTU6NDIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNi0wMi0wMyAxMzowNjoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTmV2ZXIgb3V0cHV0IGEgdGFnIHdpdGggYSBudWxsIGNvbnRlbnRzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKGlkM3YyX3RhZ190b190YWdsaXN0KSwgKGlkM3YyX2dlbnJlX3N0cmluZ190b190YWdsaXN0KSwKCSAgKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KToKCSAgTmV2ZXIgb3V0cHV0IGEgdGFnIHdpdGggYSBudWxsIGNvbnRlbnRzIHN0cmluZy4KCjIwMDYtMDItMDIgMjE6MDA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE9ubHkgcGF1c2UgaWYgYWxsIHBhZHMgYXJlIHVubGlua2VkIEFORCB3ZSd2ZSB0cmllZCB0byBzZW5kIGRhdGEgb24gYWxsIG9mIHRoZW0gYXQgbGVhc3Qgb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9hbGxfc291cmNlX3BhZHNfdW5saW5rZWQpOgoJICBPbmx5IHBhdXNlIGlmIGFsbCBwYWRzIGFyZSB1bmxpbmtlZCBBTkQgd2UndmUgdHJpZWQgdG8gc2VuZCBkYXRhCgkgIG9uIGFsbCBvZiB0aGVtIGF0IGxlYXN0IG9uY2UuCgoyMDA2LTAyLTAyIDEyOjI5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNYWtlIGxvb3AgZnVuY3Rpb24vdGFzayBwYXVzZSBpdHNlbGYgd2hlbiBhbGwgc291cmNlIHBhZHMgYXJlIHVubGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2FsbF9zb3VyY2VfcGFkc191bmxpbmtlZCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBNYWtlIGxvb3AgZnVuY3Rpb24vdGFzayBwYXVzZSBpdHNlbGYgd2hlbiBhbGwgc291cmNlIHBhZHMgYXJlCgkgIHVubGlua2VkLgoKMjAwNi0wMi0wMiAxMDo0NzoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgZnVuY3Rpb25zIGZyb20gY29yZSB0byByZW5kZXIgYSBiaW4gZnJvbSBhIHN0cmluZy4gRml4ZXMgYnVpbGQuIFVwIHJlcXVpcmVtZW50cyB0byBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fZnJvbV9rZXkpOgoJICBVc2UgbmV3IGZ1bmN0aW9ucyBmcm9tIGNvcmUgdG8gcmVuZGVyIGEgYmluIGZyb20gYQoJICBzdHJpbmcuIEZpeGVzIGJ1aWxkLiBVcCByZXF1aXJlbWVudHMgdG8gY29yZSBDVlMuCgoyMDA2LTAyLTAxIDExOjAxOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiBEb24ndCBwdXNoIGJ1ZmZlcnMgaW50byB0aGUgYWRhcHRlciB0aGF0IHdlIGFyZSBnb2luZyB0byBwdXNoIGRvd25zdHJlYW0gYWdhaW4gd2l0aG91dCBmcmFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgIERvbid0IHB1c2ggYnVmZmVycyBpbnRvIHRoZSBhZGFwdGVyIHRoYXQgd2UgYXJlIGdvaW5nIHRvCgkgIHB1c2ggZG93bnN0cmVhbSBhZ2FpbiB3aXRob3V0IGZyYW1pbmcgYW55d2F5LiBBbHNvLCB0aGUKCSAgYWRhcHRvciB0YWtlcyBvd25lcnNoaXAgb2YgYnVmZmVycyBwdXQgaW50byBpdCAoZml4ZXMKCSAgYXVwYXJzZSBwdXNoaW5nIGludmFsaWQgYnVmZmVycyBmb3IgLmF1IGZpbGVzIHdpdGgKCSAgQURQQ00gY29udGVudHMpLiBGaW5hbGx5LCBzZXQgY2FwcyBvbiBhbGwgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDYtMDEtMzAgMjM6MTM6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4LzogU29tZW9uZSBzaG91bGQga2ljayBteSBidXR0LiBSZW1vdmUgSUQzdjEgdGFncyBmcm9tIHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX2lkM3YxKSwgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9pZDNkZW11eF9zZW5kX3RhZ19ldmVudCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjFfdGFnKToKCSAgU29tZW9uZSBzaG91bGQga2ljayBteSBidXR0LiBSZW1vdmUgSUQzdjEgdGFncyBmcm9tIHRoZSBlbmQgb2YgdGhlCgkgIGZpbGUuCgkgIEltcHJvdmUgZXJyb3IgbWVzc2FnZXMuIFNlbmQgdGhlIFRBRyBtZXNzYWdlIGFzIHNvb24gYXMgd2UgY29tcGxldGUKCSAgdHlwZWZpbmRpbmcsIGluc3RlYWQgb2Ygd2FpdGluZyB1bnRpbCB3ZSBzZW5kIHRoZSBmaXJzdCBidWZmZXIuCgkgIERvd25zdHJlYW0gdGFnIGV2ZW50IGlzIHN0aWxsIHNlbnQgYmVmb3JlIHRoZSBmaXJzdCBidWZmZXIuCgoyMDA2LTAxLTI5IDIwOjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZyBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3NldGNhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nCgkgIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfbGFzdF9lbnRyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1bGxfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBSZXdyaXRlIGEgYml0LCBtb3N0bHkgdG8gZml4IGZsb3cgbG9naWMgYW5kIHRvIG1ha2Ugc2Vla2luZyB3b3JrLgoJICBGaXggYnVmZmVyL2V2ZW50IHJlZmNvdW50aW5nLiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLiBBZGQKCSAgd2lkdGggb2YgMzIgdG8gc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLiBVc2UgYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0wMS0yNyAxMjoxNzo1NiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2R2LzogQ2FsbCBkdl9zZXRfZXJyb3JfbG9nIChkdl9kZWNvZGVyX3QgKiwgTlVMTCk7IGFmdGVyIGR2X2RlY29kZXJfbmV3IHRvIG5vdCBoYXZlIHdhcmluZ3MgZmxvb2Rpbmcgc3RkZXJyLiB0aGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTI3ICBKYW4gR2VyYmVyICA8akBib290bGFiLm9yZz4KCSAgUmV2aWV3ZWQgYnk6IEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYyAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQ2FsbCBkdl9zZXRfZXJyb3JfbG9nIChkdl9kZWNvZGVyX3QgKiwgTlVMTCk7IGFmdGVyIGR2X2RlY29kZXJfbmV3CgkgIHRvIG5vdCBoYXZlIHdhcmluZ3MgZmxvb2Rpbmcgc3RkZXJyLiB0aGlzIGlzIHRoZSBzdWdnZXN0ZWQgd2F5CgkgIGFsc28gdXNlZCBpbiBkdmdyYWIgYW5kIGtpbm8uICgjMzI4MzM2KQoKMjAwNi0wMS0yNyAwMTo0MzowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogRnJlZSB0aGUgZGV2aWNlIG5hbWUgc3RyaW5nIHdoZW4gZmluYWxpc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc2lua19pbml0KSwgKGdzdF9vc3Nfc2lua19maW5hbGlzZSk6CgkgIEZyZWUgdGhlIGRldmljZSBuYW1lIHN0cmluZyB3aGVuIGZpbmFsaXNlZC4KCjIwMDYtMDEtMjYgMTY6MjM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgoyMDA2LTAxLTI1IDIyOjA1OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IHB1dCBmdW5jdGlvbiBjYWxscyBpbiBnX3JldHVybl9pZl9mYWlsKCkgc3RhdGVtZW50cywgb3IgdGhleSdsbCBiZSByZXBsYWNlZCB3aXRoIE5PLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3JlbW92ZV9zcmNwYWQpOgoJICBEb24ndCBwdXQgZnVuY3Rpb24gY2FsbHMgaW4gZ19yZXR1cm5faWZfZmFpbCgpIHN0YXRlbWVudHMsCgkgIG9yIHRoZXknbGwgYmUgcmVwbGFjZWQgd2l0aCBOT09QcyBpZiBzb21lb25lIGNvbXBpbGVzIHdpdGgKCSAgR19ESVNBQkxFX0NIRUNLUyBkZWZpbmVkLgoKMjAwNi0wMS0yNSAyMDozMzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIGNoYW5nZWxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2Vsb2cgc3VyZ2VyeQoKMjAwNi0wMS0yNSAxODoyMzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTmV2ZXIgdHJ1c3QgQU5ZIGluZm9ybWF0aW9uIGVuY29kZWQgaW4gYSBtZWRpYSBmaWxlLCBlc3BlY2lhbGx5IHdoZW4gaXQncyBnaXZpbmcgeW91IHNpemUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgIE5ldmVyIHRydXN0IEFOWSBpbmZvcm1hdGlvbiBlbmNvZGVkIGluIGEgbWVkaWEgZmlsZSwgZXNwZWNpYWxseQoJICB3aGVuIGl0J3MgZ2l2aW5nIHlvdSBzaXplcy4gKEZpeGVzICMzMjg0NTIpCgoyMDA2LTAxLTI0IDE4OjAzOjQ2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCB3cml0dGVuIGJ5IEthaSBWZWhtYW5lbiA8a2FpLnZlaG1hbmVuQG5va2lhLmNvbT4gYXBwbGllZC4gU2VlIGJ1ZyAjMzI1MTQ4LgoKMjAwNi0wMS0yNCAxMTo1ODo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgSWYgc2FtcGxlX3NpemUgaXMgYXZhaWxhYmxlLCB1c2UgdGhhdCBmb3IgdGhlIHNhbXBsZXMnIGR1cmF0aW9uIGluCgkgIHRoZSBpbmRleC4gVGhpcyBlbmFibGVzIHNpbmdsZSBmcmFtZSBzdHJlYW1zIHRvIHdvcmsgKGFuZCBJIGltYWdpbmUKCSAgZml4ZXMgc29tZSBvdGhlciBjYXNlcykuCgkgIFRlc3RlZCBvbiB0ZXN0c3VpdGUsIG5vIHJlZ3Jlc3Npb24uCgoyMDA2LTAxLTIzIDE4OjM5OjMxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkZWQgcmVjb2duaXRpb24gb2YgUmVhbCBBdWRpbyBhbmQgVmlkZW8gc3RyZWFtcyBpbiBtYXRyb3NrYSBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGRlZCByZWNvZ25pdGlvbiBvZiBSZWFsIEF1ZGlvIGFuZCBWaWRlbyBzdHJlYW1zIGluIG1hdHJvc2thIGRlbXV4ZXIuCgoyMDA2LTAxLTIzIDE4OjM3OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBDb250cmFyeSB0byB3aGF0IHRoZSBjb25zdCBjaGFyIGluIHRoZSBsYW1lIEFQSSBtaWdodCBzdWdnZXN0LCBsYW1lIGV4cGVjdHMgdXMgdG8ga2VlcCB0aGUgc3RyaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2ZpbmFsaXplKSwgKGdzdF9sYW1lX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xhbWVfaW5pdCksIChhZGRfb25lX3RhZyksIChnc3RfbGFtZV9zZXRfbWV0YWRhdGEpOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgQ29udHJhcnkgdG8gd2hhdCB0aGUgY29uc3QgY2hhciBpbiB0aGUgbGFtZSBBUEkgbWlnaHQgc3VnZ2VzdCwKCSAgbGFtZSBleHBlY3RzIHVzIHRvIGtlZXAgdGhlIHN0cmluZ3Mgd2UgcGFzcyB0byBpZDN0YWdfc2V0X2ZvbygpCgkgIGFyb3VuZDsgaXQgZG9lc24ndCBmcmVlIHRoZW0gZWl0aGVyIHRob3VnaCwgc28gd2UgaGF2ZSB0byBzdG9yZQoJICB0aGVtIHNvbWV3aGVyZSBhbmQgZnJlZSB0aGVtIGxhdGVyIHdoZW4gd2UgY2FuIGJlIHN1cmUgbGFtZQoJICBkb2Vzbid0IG5lZWQgdGhlbSBhbnkgbG9uZ2VyLgoKMjAwNi0wMS0yMyAxNToxMDo1NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOiBfIFZQMzEgOiB2aWRlby94LXZwMyBfIEFWREogOiBpbWFnZS9qcGVnIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjoKCSAgXyBWUDMxIDogdmlkZW8veC12cDMKCSAgXyBBVkRKIDogaW1hZ2UvanBlZwoJICBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWR2LCBzeXN0ZW1zdHJlYW09KGJvb2xlYW4pZmFsc2UKCSAgXyAweDZkNzMwMDE3IDogYXVkaW8veC1hZHBjbSwgbGF5b3V0PShzdHJpbmcpcXVpY2t0aW1lCgoyMDA2LTAxLTIzIDE1OjAyOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBkb24ndCBwYXNzIGFuIHVuaW5pdGlhbGlzZWQgc3RyaW5nIHBvaW50ZXIgdG8gbGFtZSBpZiB3ZSBkb24ndCBrbm93IGhvdyB0byBoYW5kbGUgdGhlIHRhZyB0eXBlLCBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGFkZF9vbmVfdGFnKToKCSAgRml4IGhhbmRsaW5nIG9mIEdTVF9UQUdfREFURSAoIzMxMTY3OSksIGRvbid0IHBhc3MgYW4KCSAgdW5pbml0aWFsaXNlZCBzdHJpbmcgcG9pbnRlciB0byBsYW1lIGlmIHdlIGRvbid0IGtub3cKCSAgaG93IHRvIGhhbmRsZSB0aGUgdGFnIHR5cGUsIGFuZCBmaXggbWlub3IgbWVtb3J5IGxlYWsuCgoyMDA2LTAxLTIzIDE0OjMyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBSZW1vdmUgZXJyYW50IGJyZWFrIHN0YXRlbWVudCwgYW5kIGZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIEdDQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIFJlbW92ZSBlcnJhbnQgYnJlYWsgc3RhdGVtZW50LCBhbmQgZml4IGNvbXBpbGF0aW9uIHdpdGgKCSAgb2xkZXIgR0NDLgoKMjAwNi0wMS0yMyAxMjowNDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE1lbnRpb24gdGhhdCBteSBsYXN0IGNvbW1pdCBmaXhlcyAjMzI4MjQxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZW50aW9uIHRoYXQgbXkgbGFzdCBjb21taXQgZml4ZXMgIzMyODI0MQoKMjAwNi0wMS0yMyAxMTowNjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9zdW5hdWRpby86IEV4cG9ydCBmdW5jdGlvbnMgdGhhdCBhcmUgbmVlZGVkIGluIG90aGVyIHBhcnRzIG9mIHRoZSBjb2RlLCBtYWtlcyB0aGUgbWl4ZXIgYWN0dWFsbHkgd29yazsgYWRqdXN0IG1hZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpOgoJICBFeHBvcnQgZnVuY3Rpb25zIHRoYXQgYXJlIG5lZWRlZCBpbiBvdGhlciBwYXJ0cyBvZiB0aGUgY29kZSwKCSAgbWFrZXMgdGhlIG1peGVyIGFjdHVhbGx5IHdvcms7IGFkanVzdCBtYWdpYyBtaW5pbXVtIGJ1ZmZlci10aW1lCgkgIHZhbHVlIGZyb20gM21zIHRvIDVtcyB0byB3b3JrIGFyb3VuZCBzdHV0dGVyaW5nIGR1cmluZyBtcDMKCSAgcGxheWJhY2sgKCMzMjc3NjUpLgoKMjAwNi0wMS0yMyAxMDo0NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IHBvc3NpYmxlIGRlYWRsb2NrIGluIG1hdHJvc2thIG11eGVyICgjMzI3ODI1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLCAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICBGaXggcG9zc2libGUgZGVhZGxvY2sgaW4gbWF0cm9za2EgbXV4ZXIgKCMzMjc4MjUpLgoKMjAwNi0wMS0yMyAwOTo1OTowMyArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgQzg5IGZpeGVzOiBkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2ludmVydCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19yZW5kZXIpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyk6CgkgIEM4OSBmaXhlczogZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGFuZAoJICBtYWtlIGdjYy0yLjl4IGhhcHB5ICgjMzI4MjY0OyBwYXRjaCBieTogSmVucyBHcmFuc2V1ZXIKCSAgPGplbnNnciBhdCBnbXggZG90IG5ldD4pLgoKMjAwNi0wMS0yMyAwOToyMjoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvOiBSZXdyaXRlIHBhcnNpbmcgb2YgdGV4dCB0YWdzIHRvIGhhbmRsZSBtdWx0aXBsZSBOVUxMIHRlcm1pbmF0ZWQgc3RyaW5ncy4gUGFyc2UgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfY29tbWVudF9mcmFtZSksIChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKGlkM3YyX3RhZ190b190YWdsaXN0KSwgKGlkM3YyX2FyZV9kaWdpdHMpLAoJICAoaWQzdjJfZ2VucmVfc3RyaW5nX3RvX3RhZ2xpc3QpLCAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyksIChmcmVlX3RhZ19zdHJpbmdzKToKCSAgUmV3cml0ZSBwYXJzaW5nIG9mIHRleHQgdGFncyB0byBoYW5kbGUgbXVsdGlwbGUgTlVMTCB0ZXJtaW5hdGVkCgkgIHN0cmluZ3MuIFBhcnNlIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBhbmQgSUQzdjIgdHlwZQoJICAiKDMpKDYpQWx0ZXJuYXRpdmUiIHN0eWxlIGdlbnJlIHN0cmluZ3MuCgkgIFBhcnNlIGRhdGVzIHRoYXQgYXJlIG9ubHkgWVlZWSBvciBZWVlZLW1tIGZvcm1hdC4KCjIwMDYtMDEtMjEgMTE6NDM6NTMgKzAwMDAgIEZhYnJpemlvIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIEZpeCA4Yml0IGNhc2UgKCMzMjcxMzMsIGJhc2VkIG9uIHBhdGNoIGJ5OiBGYWJyaXppbwoJICBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCSAgQWxzbywgIkdfTElUVExFX0VORElBTiIgYW5kICJHX0JJR19FTkRJQU4iIGFyZSBub3QKCSAgdmFsaWQgbGl0ZXJhbHMgZm9yIGVuZGlhbm5lc3MgaW4gY2FwcyBzdHJpbmdzLAoJICBvbmx5ICJMSVRUTEVfRU5ESUFOIiBhbmQgIkJJR19FTkRJQU4iIGFyZSB2YWxpZC4KCjIwMDYtMDEtMjAgMTU6MDY6MjggKzAwMDAgIENocmlzdG9waCBCdXJnaGFyZHQgPGhhd2tlc0B3ZWIuZGU+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRG9uJ3QgZm9yZ2V0IHRvIGluaXRpYWxpemUgbGlib2lsLCBvdGhlcndpc2Ugb3VyIG9pbCBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpOgoJICBEb24ndCBmb3JnZXQgdG8gaW5pdGlhbGl6ZSBsaWJvaWwsIG90aGVyd2lzZSBvdXIgb2lsIGZ1bmN0aW9ucwoJICB3aWxsIGNyYXNoIChmaXhlcyAjMzI3ODcxOyBwYXRjaCBieTogQ2hyaXN0b3BoIEJ1cmdoYXJkdAoJICA8aGF3a2VzIGF0IHdlYiBkb3QgZGU+KS4KCjIwMDYtMDEtMTkgMjE6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IChsYXN0IGVudHJ5IG1heSBoYXZlIGJlZW4gc2xpZ2h0bHkgbWlzbGVhZGluZykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IChsYXN0IGVudHJ5IG1heSBoYXZlIGJlZW4gc2xpZ2h0bHkgbWlzbGVhZGluZykKCjIwMDYtMDEtMTkgMjE6MDA6NTAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzoganVzdCBsaWtlIGluIHRoZSBjb3JlIGFuZCBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWlsZCBvbiBTb2xhcmlzIChmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwbGFpbiBBU19MSUJUT09MX1RBR1MgaW5zdGVhZCBvZiBBU19MSUJUT09MX1RBR1MoW0NYWF0pLCBqdXN0CgkgIGxpa2UgaW4gdGhlIGNvcmUgYW5kIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1aWxkIG9uIFNvbGFyaXMgKGZpeGVzCgkgICMzMjY2ODM7IHBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4pCgoyMDA2LTAxLTE5IDAwOjEwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vOiBGaXggYnVpbGQgZm9yIGxpYmNkaW8gdmVyc2lvbnMgPj0gNzY7IGdpdmUgc2xpZ2h0bHkgbG93ZXIgcmFuayB0aGFuIGNkcGFyYW5vaWEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfZ2V0X2NkdGV4dCk6CgkgIEZpeCBidWlsZCBmb3IgbGliY2RpbyB2ZXJzaW9ucyA+PSA3NjsgZ2l2ZSBzbGlnaHRseSBsb3dlciByYW5rCgkgIHRoYW4gY2RwYXJhbm9pYS4KCjIwMDYtMDEtMTggMTk6MzA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IGxpYmNkaW8gY2RkYSBzb3VyY2UsIGZvcm1lcmx5IGtub3duIGFzIGNkZGFzcmMsIG5vdyBrbm93biBhcyBjZGlvY2RkYXNyYyAoZml4ZXMgIzMyMzMyNykuIFNob3VsZCBhbHNvIHJlYWQgQ0QtVEUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuaDoKCSAgUG9ydCBsaWJjZGlvIGNkZGEgc291cmNlLCBmb3JtZXJseSBrbm93biBhcyBjZGRhc3JjLCBub3cga25vd24gYXMKCSAgY2Rpb2NkZGFzcmMgKGZpeGVzICMzMjMzMjcpLiBTaG91bGQgYWxzbyByZWFkIENELVRFWFQgaWYgYXZhaWxhYmxlLAoJICBidXQgdGhhdCdzIG5vdCB0ZXN0ZWQgKGZpeGVzICMzMTc2NTgpLgoKMjAwNi0wMS0xOCAxOTowODowOCArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggY29udmVyc2lvbiBmcm9tIFRJTUUgdG8gQllURVMgZm9ybWF0IChmaXhlcyAjMzI2ODY0OwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCk6CgkgIEZpeCBjb252ZXJzaW9uIGZyb20gVElNRSB0byBCWVRFUyBmb3JtYXQgKGZpeGVzICMzMjY4NjQ7CgkgIHBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+KQoKMjAwNi0wMS0xOCAxODo1NDowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgoyMDA2LTAxLTE3IDE2OjQ1OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZQoJICBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCjIwMDYtMDEtMTYgMTA6MjM6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHdpdGggbG92ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHdpdGggbG92ZQoKMjAwNi0wMS0xNSAyMDoyMTo0OCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBGaXggY29tcGlsYXRpb24gb2YgaWQzZGVtdXggd2hlbiB6bGliIGlzIG5vdCBwcmVzZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIGlkM2RlbXV4IHdoZW4gemxpYiBpcyBub3QgcHJlc2VudC4KCSAgKEZpeGVzICMzMjY2MDI7IHBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCkKCjIwMDYtMDEtMTUgMTQ6MTI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL01ha2VmaWxlLmFtOiBvdGhlcndpc2UgYnVpbGQgd2lsbCBmYWlsIGZvciBmb2xrcyB3aXRoIGxpYmVzZCBpbiBhIG5vbi1zdGFuZGFyZCBwcmVmaXggKCMzMjcwMDkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICBBZGQgJChFU0RfQ0ZMQUdTKSwgb3RoZXJ3aXNlIGJ1aWxkIHdpbGwgZmFpbCBmb3IgZm9sa3MKCSAgd2l0aCBsaWJlc2QgaW4gYSBub24tc3RhbmRhcmQgcHJlZml4ICgjMzI3MDA5KS4KCjIwMDYtMDEtMTMgMTk6Mjk6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgoyMDA2LTAxLTEzIDE5OjI1OjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgcmVsZWFzaW5nIDAuMTAuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMQoKMjAwNi0wMS0xMyAxODozNzoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IGZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFdpbSBUYXltYW5zCgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIGZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxOAoKMjAwNi0wMS0xMyAxODozNTowMCArMDAwMCAgTWlrZSBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0xMyAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgcGF0Y2ggYnk6IE1pa2UgU21pdGgKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9tZXNzYWdlX25ldyksCgkgIChnc3RfbGV2ZWxfbWVzc2FnZV9hcHBlbmRfY2hhbm5lbCk6CgkgIEZpeCBtZW1sZWFrLiAgRml4ZXMgIzMyNjYxMgoKMjAwNi0wMS0xMSAxMTozOToxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IHByZXJlbGVhc2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHByZXJlbGVhc2luZwoJICAqIHBvL2FmLnBvOgoJICAqIHBvL2F6LnBvOgoJICAqIHBvL2NzLnBvOgoJICAqIHBvL2VuX0dCLnBvOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL25iLnBvOgoJICAqIHBvL25sLnBvOgoJICAqIHBvL29yLnBvOgoJICAqIHBvL3NxLnBvOgoJICAqIHBvL3NyLnBvOgoJICAqIHBvL3N2LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDA2LTAxLTExIDExOjA0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBDbG9zZXMgIzMyNjUyNAoKMjAwNi0wMS0xMCAxMjozODo1OSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IERvbid0IGxlYWsgZmlsdGVyIGFycmF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfbGV2ZWxfZGlzcG9zZSk6CgkgIERvbid0IGxlYWsgZmlsdGVyIGFycmF5cy4KCjIwMDYtMDEtMDkgMTc6MDQ6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy91cGxvYWQubWFrOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIGFkZCBTdW4gQXVkaW8gcGx1Z2luLiBWZXJpZmllZCB0aGF0IG5vdGhpbmcgYnJlYWtzIGFuZCB0aGF0IG1ha2UgY2hlY2sgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgU3VuIEF1ZGlvIHBsdWdpbi4gVmVyaWZpZWQgdGhhdCBub3RoaW5nIGJyZWFrcyBhbmQgdGhhdCBtYWtlIGNoZWNrIHdvcmtzLgoJICBEb24ndCB0aGluayB0aGUgZG9jcyBnZXRzIHByb3Blcmx5IGJ1aWx0IHlldCwgYnV0IEkgZG9uJ3QgdW5kZXJzdGFuZCBleGFjdGx5IGhvdyB0byBlbmFibGUgdGhhdC4KCjIwMDYtMDEtMDcgMjA6MDE6MDkgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC91ZHAvOiBBbGxvdyB1ZHBzcmMgYW5kIGR5bnVkcHNpbmsgdG8gdGFrZSBhIHNvY2tmZCBhcyBhIHBhcmFtZXRlci4gRm9yIHVkcHNyYywgb3ZlcnJpZGVzIHRoZSBwb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDEtMDcgIFBoaWxpcHBlIEtoYWxhZiAgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgQWxsb3cgdWRwc3JjIGFuZCBkeW51ZHBzaW5rIHRvIHRha2UgYSBzb2NrZmQgYXMgYSBwYXJhbWV0ZXIuIEZvciB1ZHBzcmMsCgkgIG92ZXJyaWRlcyB0aGUgcG9ydCBvciBtdWx0aWNhc3QgcGFyYW1ldGVycy4gRml4ZXMgYnVncyAjMzIzMDIxLgoKMjAwNi0wMS0wNiAxNjoyODozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi86IEFkZCBuZXcgZ2NvbmZhdWRpb3NyYyBhbmQgZ2NvbmZ2aWRlb3NyYyBlbGVtZW50cyAobmVlZGVkIGZvciBnbm9tZS1zb3VuZC1yZWNvcmRlcikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jbGFzc19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChjYl90b2dnbGVfZWxlbWVudCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGNiX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBBZGQgbmV3IGdjb25mYXVkaW9zcmMgYW5kIGdjb25mdmlkZW9zcmMgZWxlbWVudHMKCSAgKG5lZWRlZCBmb3IgZ25vbWUtc291bmQtcmVjb3JkZXIpLgoKMjAwNi0wMS0wNiAxMTo0Njo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBBZGQgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgZm9yIHByb3BlciBkZWNvZGViaW4gYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKToKCSAgQWRkIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGZvciBwcm9wZXIgZGVjb2RlYmluIGJlaGF2aW91ci4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2NvbW1lbnRfZnJhbWUpLAoJICAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgRmFpbHVyZSB0byBkZWNvZGUgc29tZSB0YWdzIGlzIG5vdCBhIEdTVF9FUlJPUigpIGJ1dCBhCgkgIEdTVF9XQVJOSU5HKCkKCSAgV2hlbiBpdGVyYXRpbmcgb3ZlciBhIGNodW5rIG9mIHRleHQsIGNoZWNrIHRoYXQgd2UgaGF2ZW4ndCBnb25lIHRvbwoJICBmYXIuCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwNi0wMS0wNSAxNzowMzo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChwbHVnaW5faW5pdCk6CgkgIGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoKMjAwNi0wMS0wNCAxNzoyODo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnLzogRml4IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgRml4IGxlYWtzLgoKMjAwNi0wMS0wMiAxOTozODozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRG9uJ3QgZ19hc3NlcnQoKSB3aGVyZSB3ZSBzaG91bGQganVzdCByZXR1cm4gRkFMU0U7IHJlbW92ZSB1bm5lY2Vzc2FyeSBnX2Fzc2VydCgpOyBpbml0aWFsaXplIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpLAoJICAoZ3N0X2ZsYWNfZGVjX2NvbnZlcnRfc3JjKSwgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X2ZsYWNfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGdfYXNzZXJ0KCkgd2hlcmUgd2Ugc2hvdWxkIGp1c3QgcmV0dXJuIEZBTFNFOyByZW1vdmUKCSAgdW5uZWNlc3NhcnkgZ19hc3NlcnQoKTsgaW5pdGlhbGl6ZSBzb21lIGZpZWxkcyBwcm9wZXJseSBpbgoJICBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gKGZpeGVzICMzMjU1MDQpLiBBbHNvLCB1c2UKCSAgR1NUX0RFQlVHX09CSkVDVCBpbiB0d28gbW9yZSBwbGFjZXMuCgoyMDA1LTEyLTMwIDE1OjUxOjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IGFsc28gcmVtb3ZlIHNtb290aHdhdmUncyBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGFsc28gcmVtb3ZlIHNtb290aHdhdmUncyBNYWtlZmlsZS5hbQoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZml4IHBsdWdpbiBkb2NzCgoyMDA1LTEyLTMwIDE1OjM5OjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9zbW9vdGh3YXZlLy5naXRpZ25vcmU6CgkqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3Rod2F2ZS9SRUFETUU6CgkqIGdzdC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICByZW1vdmUgb2xkIHBsdWdpbiB0aGF0IHdlbnQgYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgb2xkIHBsdWdpbiB0aGF0IHdlbnQgYmFkCgoyMDA1LTEyLTMwIDE1OjM0OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbTogYWRkZWQgbWlzc2luZyBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgYWRkZWQgbWlzc2luZyBNYWtlZmlsZS5hbQoKMjAwNS0xMi0zMCAxNToyODo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgbW92ZWQgbGV2ZWwtZXhhbXBsZSB0byB0ZXN0cy9leGFtcGxlcy9sZXZlbC1leGFtcGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIG1vdmVkIGxldmVsLWV4YW1wbGUgdG8gdGVzdHMvZXhhbXBsZXMvbGV2ZWwtZXhhbXBsZQoJICAqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9kZW1vLmM6IChtYWluKToKCSAgKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOiAobWFpbik6CgkgIHNvbWUgaW5pdGlhbCBmaXhlcwoKMjAwNS0xMi0yOSAxNjozNjoxOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogVHJhY2sgcGFja2V0cyBzZW50IHBlciBjbGllbnQgaW4gYWRkaXRpb24gdG8gYnl0ZXMgc2VudDsgcHJvdmlkZSB0aGlzIGluZm8gdGhyb3VnaCBnZXQtc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgVHJhY2sgcGFja2V0cyBzZW50IHBlciBjbGllbnQgaW4gYWRkaXRpb24gdG8gYnl0ZXMgc2VudDsgcHJvdmlkZQoJICB0aGlzIGluZm8gdGhyb3VnaCBnZXQtc3RhdHMgc2lnbmFsCgoyMDA1LTEyLTI5IDExOjI2OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiBDYW4ndCB1c2UgZ3N0X29iamVjdF91bnJlZigpIG9uIGEgR3N0QWRhcHRlciAoIzMyNTE5MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9kaXNwb3NlKToKCSAgQ2FuJ3QgdXNlIGdzdF9vYmplY3RfdW5yZWYoKSBvbiBhIEdzdEFkYXB0ZXIgKCMzMjUxOTEpLgoKMjAwNS0xMi0yOCAxODo1NTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBJZiBhIGJyb2tlbiB0YWcgaGFzIDAgYnl0ZXMgcGF5bG9hZCwgYXQgbGVhc3Qgc3RpbGwgc2tpcCB0aGUgMTAgYnl0ZSBoZWFkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKToKCSAgSWYgYSBicm9rZW4gdGFnIGhhcyAwIGJ5dGVzIHBheWxvYWQsIGF0IGxlYXN0IHN0aWxsIHNraXAKCSAgdGhlIDEwIGJ5dGUgaGVhZGVyCgoyMDA1LTEyLTIyIDE1OjAwOjQxICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwLzogTWFraW5nIHRoZXNlIGRlcGF5bG9hZGVycyAoSDI2MysgYW5kIG1wZWc0IHZpZGVvKSBpbmhlcml0IGZyb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMjIgIFBoaWxpcHBlIEtoYWxhZiAgPGJ1cmdlckBzcGVlZHkub3JnPgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBNYWtpbmcgdGhlc2UgZGVwYXlsb2FkZXJzIChIMjYzKyBhbmQgbXBlZzQgdmlkZW8pIGluaGVyaXQgZnJvbQoJICBSdHBCYXNlRGVwYXlsb2FkZXJDbGFzcy4gRml4ZXMgYnVncyAjMzIzOTIyIGFuZCAjMzIzOTA4LgoKMjAwNS0xMi0yMSAxNzoxNTowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLio6IFJlZ2VuZXJhdGUgdGhlIHBsdWdpbiBoaWVhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBSZWdlbmVyYXRlIHRoZSBwbHVnaW4gaGllYXJjaHkuCgoyMDA1LTEyLTIxIDE1OjI0OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBpZDNkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMjEgIEphbiBTY2htaWR0ICA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9pZDNkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2lkM2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGlkM2RlbXV4LgoJICBEb24ndCBmYWlsIGlmIHRoZSBmaXJzdCBidWZmZXIgaXMgbm90IGF0IG9mZnNldCAwLCBqdXN0CgkgIGF0dGVtcHQgdG8gdHlwZWZpbmQgYW5kIGRvIHBhc3MgdGhyb3VnaAoJICBSZW5hbWUgdGhlIGdzdF90eXBlIGZ1bmN0aW9uIGZyb20gZ3N0X2dzdF9pZDNkZW11eC4uCgoyMDA1LTEyLTIwIDEyOjQ0OjI1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBDb2xsZWN0IHN0YXRpc3RpY3M7IHJldHVybiB0aGVtIGZyb20gZ2V0X3N0YXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGQpLCAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfc3RhdHMpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIENvbGxlY3Qgc3RhdGlzdGljczsgcmV0dXJuIHRoZW0gZnJvbSBnZXRfc3RhdHMuCgoyMDA1LTEyLTE5IDE1OjQzOjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBTdHVwaWQgc2lnbmVkbmVzcyBpc3N1ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgU3R1cGlkIHNpZ25lZG5lc3MgaXNzdWUuLi4KCjIwMDUtMTItMTkgMTU6MTk6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jaGFpbiksIChnc3Rfc3dmZGVjX3JlbmRlcik6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgIEdldCBzb21ldGhpbmcgZnJvbSB0aGUgcGVlciBwYWQgb25jZSB3ZSd2ZSBjaGVja2VkIGlmIHRoZXJlIGlzIGEgcGVlciBwYWQuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQ291cGxlIG9mIGZpeGVzCgoyMDA1LTEyLTE5IDE1OjA2OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDb25zdHJ1Y3QgaW5kZXggZm9yIGluZGV4bGVzcyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9vZG1sKSwgKGdzdF9hdmlfZGVtdXhfcGVla190YWcpLAoJICAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIENvbnN0cnVjdCBpbmRleCBmb3IgaW5kZXhsZXNzIGZpbGVzLgoJICBNYWtlIHN1cmUgcGFkL2J1ZmZlcnMgYXJlIGNvcnJlY3RseSByZXNldCB0byBOVUxMIG9uY2Ugd2UgZG9uJ3QgbmVlZAoJICB0aGVtIGFueW1vcmUsIGVsc2Ugd2UgZ2V0IGxvdmVseSBzZWdmYXVsdHMvYXNzZXJ0aW9ucy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgWWVzLCB5b3UgY2FuIGhhdmUgOTZLSHogYXVkaW8gYW5kIHdtYSBpbiB3YXYgOigKCjIwMDUtMTItMTggMTU6MTQ6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igb3B0aW9uYWwgZGVwZW5kZW5jeSBvbiB6bGliIGZvciBpZDNkZW11eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBvcHRpb25hbCBkZXBlbmRlbmN5IG9uIHpsaWIgZm9yIGlkM2RlbXV4CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2dzdF9pZDNkZW11eF9nZXRfdHlwZSksCgkgIChnc3RfaWQzZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9pZDNkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9pZDNkZW11eF9yZXNldCksIChnc3RfaWQzZGVtdXhfaW5pdCksIChnc3RfaWQzZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCksIChnc3RfaWQzZGVtdXhfcmVtb3ZlX3NyY3BhZCksCgkgIChnc3RfaWQzZGVtdXhfdHJpbV9idWZmZXIpLCAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zZXRfcHJvcGVydHkpLCAoZ3N0X2lkM2RlbXV4X2dldF9wcm9wZXJ0eSksCgkgIChpZDNkZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSksIChnc3RfaWQzZGVtdXhfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX2lkM3YxKSwgKGdzdF9pZDNkZW11eF9yZWFkX2lkM3YyKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9pZDNkZW11eF9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfaWQzZGVtdXhfc3JjX2NoZWNrZ2V0cmFuZ2UpLCAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpLAoJICAoZ3N0X2lkM2RlbXV4X3NyY19nZXRyYW5nZSksIChnc3RfaWQzZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9pZDNkZW11eF9wYWRfcXVlcnkpLCAoZ3N0X2lkM2RlbXV4X2dldF9xdWVyeV90eXBlcyksCgkgIChzaW1wbGVfZmluZF9wZWVrKSwgKHNpbXBsZV9maW5kX3N1Z2dlc3QpLAoJICAoZ3N0X2lkM2RlbXV4X2RvX3R5cGVmaW5kKSwgKGdzdF9pZDNkZW11eF9zZW5kX3RhZ19ldmVudCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKHJlYWRfc3luY2hfdWludCksCgkgIChpZDNkZW11eF9yZWFkX2lkM3YxX3RhZyksIChpZDNkZW11eF9yZWFkX2lkM3YyX3RhZyksCgkgIChpZDNkZW11eF9pZDN2Ml9mcmFtZV9oZHJfc2l6ZSksIChjb252ZXJ0X2ZpZF90b192MjQwKSwKCSAgKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLWZyYW1lcy50eHQ6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1zdHJ1Y3R1cmUudHh0OgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfY29tbWVudF9mcmFtZSksIChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKGlkM3YyX3RhZ190b190YWdsaXN0KSwgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBBbGwgbmV3IExHUEwgaWQzIGRlbXV4ZXIuIENhbiB1c2UgemxpYiBmb3IgY29tcHJlc3NlZCBmcmFtZXMsCgkgIG90aGVyd2lzZSBpdCBkaXNjYXJkcyB0aGVtLiBXb3JrcyBvbiBteSB0ZXN0IGZpbGVzLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2xvb3ApOgoJICBEb24ndCBzZW5kIEVPUyB0byBhIG5vbi1leGlzdGluZyBzcmNwYWQKCSAgVGhlIGRlYnVnIGNhdGVnb3J5IGNhbiBiZSBzdGF0aWMKCjIwMDUtMTItMTcgMTc6NDg6MzggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDogVXBkYXRlcy4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV92bW9kZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfbGlzdF9jaGFubmVscyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9zZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfZ2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBJbXBsZW1lbnQgdmVydGljYWwgc3luYyBhbmQKCSAgY29sb3IgYmFsYW5jZSBpbnRlcmZhY2UuCgoyMDA1LTEyLTE2IDIxOjU3OjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9vcGVuX2F1ZGlvKToKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3ByZXBhcmUpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCjIwMDUtMTItMTYgMTk6MzI6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogVXNlIEdzdFNlZ21lbnQgdG8gaW1wbGVtZW50IG1vcmUgc2Vla2luZyBmZWF0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX290aGVyKSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgVXNlIEdzdFNlZ21lbnQgdG8gaW1wbGVtZW50IG1vcmUgc2Vla2luZyBmZWF0dXJlcy4KCjIwMDUtMTItMTYgMTI6MjU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoKMjAwNS0xMi0xNiAxMDoxMjo0OSArMDAwMCAgQmVuamFtaW4gUGluZWF1IDxiZW4ucGluZWF1QGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEFkZCA8bmV0aW5ldC9pbi5oPiBpbmNsdWRlIGFuZCBtb3ZlIDxhcnBhL2luZXQuaD4gaW5jbHVkZSB0byBtYWtlIHRoaW5ncyB3b3JrIG9uIE9wZW5CU0QgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICBBZGQgPG5ldGluZXQvaW4uaD4gaW5jbHVkZSBhbmQgbW92ZSA8YXJwYS9pbmV0Lmg+IGluY2x1ZGUKCSAgdG8gbWFrZSB0aGluZ3Mgd29yayBvbiBPcGVuQlNEIGFzIHdlbGwgKGZpeGVzICMzMjM3MTc7CgkgIHBhdGNoIGJ5OiBCZW5qYW1pbiBQaW5lYXUpCgoyMDA1LTEyLTE2IDA5OjU5OjIxICswMDAwICBnY29jYXRyZUBnbWFpbC5jb20gPGdjb2NhdHJlQGdtYWlsLmNvbT4KCgkgIGV4dC93YXZwYWNrLzogV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZQoJICBjYXBzIChmaXhlcyAjMzIyOTczOyBwYXRjaCBieTogZ2NvY2F0cmVAZ21haWwuY29tKS4gQWxzbwoJICByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGdvbmUgaW4gMC4xMC4KCjIwMDUtMTItMTQgMjA6MDU6NDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgU2V0IGNsb2NrIHJhdGUgdG8gYmUgZml4ZWQgaW4gODAwMC4gSXQgZml4ZXMgYnVnICMzMjQwMTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXQgY2xvY2sgcmF0ZSB0byBiZSBmaXhlZCBpbiA4MDAwLiBJdCBmaXhlcyBidWcgIzMyNDAxMi4KCjIwMDUtMTItMTQgMTg6MDc6MTYgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvOiBGaXhlZCBwYXlsb2FkIHJhbmdlIGluIHBheWxvZGVyIGNhcHMuIFJlbW92ZWQgcGF5bG9hZCByYW5nZSBjb21wbGV0bHkgZnJvbSBkZXBheWxvYWRlcnMgYXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTQgIFBoaWxpcHBlIEtoYWxhZiAgPGJ1cmdlckBzcGVlZHkub3JnPgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9SRUFETUU6CgkgIEZpeGVkIHBheWxvYWQgcmFuZ2UgaW4gcGF5bG9kZXIgY2Fwcy4gUmVtb3ZlZCBwYXlsb2FkIHJhbmdlIGNvbXBsZXRseSBmcm9tCgkgIGRlcGF5bG9hZGVycyBhcyB0aGV5IGRvbid0IHJlcXVpcmUgcGF5bG9hZCB0eXBlIGluIHRoZWlyIGNhcHMuIEluIGVmZmVjdCwKCSAgdGhlcmUgaXNuJ3QgYW55IHNwZWNpZmljIHBheWxvYWQgdHlwZSBmb3IgYW55IGdpdmVuIGNvZGVjLCBvbmx5IHN1Z2dlc3Rpb25zLgoJICBGaXhlcyBidWcgIzMyNDAxMS4KCjIwMDUtMTItMTMgMjE6NTg6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBDb2RlIGNsZWFudXAgYW5kIHJlLWVuYWJsaW5nIHF1ZXVlZCB0aW1lIHZhbGlkaXR5IGNoZWNrIGZvciBjb3JyZWN0IEVPUyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKTogQ29kZSBjbGVhbnVwIGFuZCByZS1lbmFibGluZwoJICBxdWV1ZWQgdGltZSB2YWxpZGl0eSBjaGVjayBmb3IgY29ycmVjdCBFT1MgaGFuZGxpbmcuCgoyMDA1LTEyLTEzIDE3OjE4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogQWRkICdkZXZpY2UtbmFtZScgcHJvcGVydHkgYW5kIGZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6IChnc3Rfb3NzX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgJ2RldmljZS1uYW1lJyBwcm9wZXJ0eSBhbmQgZml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCjIwMDUtMTItMTMgMTA6NDU6MDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx4L2dzdGZseGRlYy5jOiBJZiB0aGUgc3BlZWQgb2YgdGhlIGZpbGUgaXMgbnVsbCBpbiB0aGUgaGVhZGVyLCBzZXQgdGhlIGZyYW1lX3RpbWUgdG8gdGhlIGRlZmF1bHQgc2V0dGluZyBvZiBHU1QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICBJZiB0aGUgc3BlZWQgb2YgdGhlIGZpbGUgaXMgbnVsbCBpbiB0aGUgaGVhZGVyLCBzZXQgdGhlIGZyYW1lX3RpbWUgdG8gdGhlIGRlZmF1bHQKCSAgc2V0dGluZyBvZiBHU1RfU0VDT05EIC8gNzAuIFdoaWNoIGlzIHRoZSBkZWZhdWx0IGZyYW1lX2RlbGF5IGZvciAuZmxpIGZpbGVzIGFzCgkgIHN0YXRlZCBpbiB0aGlzIGRvY3VtZW50IDogaHR0cDovL3d3dy5jb21wdXBoYXNlLmNvbS9mbGljLmh0bQoJICBXb3VsZCBiZSBuaWNlIHRvIGhhdmUgdGhlIHRpbWUgY29udmVyc2lvbiBkb25lIHByb3Blcmx5IHRvbwoJICAoZHVyYXRpb24gPSBmbHhoLT5mcmFtZXMgKiBmbHhkZWMtPmZyYW1lX3RpbWUpCgoyMDA1LTEyLTEyIDIyOjI5OjM0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEFkZGluZyBkb2N1bWVudGF0aW9uIGZvciB2aWRlb21peGVyIG9uIG15IHdheSB3aXRoIGEgZnVubnkgc2FtcGxlIHBpcGVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICBBZGRpbmcKCSAgZG9jdW1lbnRhdGlvbiBmb3IgdmlkZW9taXhlciBvbiBteSB3YXkgd2l0aCBhIGZ1bm55IHNhbXBsZQoJICBwaXBlbGluZS4KCjIwMDUtMTItMTIgMjE6NDM6MDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggY2FwcyBuZWdvdGlhdGlvbi4gKCMzMjM4OTYpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTEyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgRml4IGNhcHMgbmVnb3RpYXRpb24uICgjMzIzODk2KQoKMjAwNS0xMi0xMiAxODoxNDo1OCArMDAwMCAgQXJ3ZWQgdi4gTWVya2F0eiA8di5tZXJrYXR6QGdteC5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBTZXQgY29ycmVjdCB0aW1lc3RhbXBzIG9uIGF1ZGlvIGxhY2VzLCBmaXhlcyBwbGF5YmFjayBvZiBtcDMgZnJvbSBtYXRyb3NrYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldCBjb3JyZWN0IHRpbWVzdGFtcHMgb24gYXVkaW8gbGFjZXMsIGZpeGVzIHBsYXliYWNrIG9mIG1wMyBmcm9tIG1hdHJvc2thLgoKMjAwNS0xMi0xMiAxMDo0MDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfbG9vcCk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfc3JjX3F1ZXJ5KSwgKGdzdF9tbXNfY3JlYXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX3ZpZGVvX2xpbmspLAoJICAoZ3N0X3N3ZmRlY19zcmNfcXVlcnkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YKCSAgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpYi0yLjYgdXNlcnMuCgoyMDA1LTEyLTEyIDEwOjMwOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS4qOiBVc2UgZ3N0X29iamVjdF91bnJlZigpIGZvciBHc3RPYmplY3RzIGluc3RlYWQgb2YgZ19vYmplY3RfdW5yZWYoKSBhbmQgZml4IGEgbWVtIGxlYWsgaW4gYSBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1X3BhcnNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX2Rpc3Bvc2UpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9hdV9wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgVXNlIGdzdF9vYmplY3RfdW5yZWYoKSBmb3IgR3N0T2JqZWN0cyBpbnN0ZWFkIG9mCgkgIGdfb2JqZWN0X3VucmVmKCkgYW5kIGZpeCBhIG1lbSBsZWFrIGluIGEgZGVidWcKCSAgc3RhdGVtZW50OyB3aGlsZSB3ZSdyZSBhdCBpdCwgYWxzbyBib3JnaWZ5LCB1c2UKCSAgYm9pbGVycGxhdGUgbWFjcm9zIGFuZCBjbGVhbiB1cCBhIGxpdHRsZSBiaXQuCgoyMDA1LTEyLTExIDIwOjI3OjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlYnVnL2VmZW5jZS5jOiBBZGRlZCBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfaW5pdCksIChnc3RfZWZlbmNlX2dldHJhbmdlKSwKCSAgKGdzdF9lZmVuY2VfY2hlY2tnZXRyYW5nZSksIChnc3RfZWZlbmNlX2FjdGl2YXRlX3NyY19wdWxsKToKCSAgQWRkZWQgcHVsbCBtb2RlLgoKMjAwNS0xMi0xMSAxOToyNTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFVzZSBhdWRpb3Rlc3RzcmMgaW5zdGVhZCBvZiBzaW5lc3JjICgjMzIzNzk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtYWluKToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIFVzZSBhdWRpb3Rlc3RzcmMgaW5zdGVhZCBvZiBzaW5lc3JjICgjMzIzNzk4KS4KCjIwMDUtMTItMTEgMTc6NTA6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBtb3JlIGRlYnVnLWZ1bmMtcHRyIHVzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpOgoJICBtb3JlIGRlYnVnLWZ1bmMtcHRyIHVzYWdlCgoyMDA1LTEyLTExIDE2OjQzOjQyICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2ZseC9mbHhfY29sb3IuYzoKCSogZ3N0L2ZseC9mbHhfY29sb3IuaDoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIE5vdyBmbHhkZWMgd29ya3Mgb24gYmlnLWVuZGlhbiBtYWNoaW5lcyBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGZseGRlYyB3b3JrcyBvbiBiaWctZW5kaWFuIG1hY2hpbmVzIGFzIHdlbGwuCgoyMDA1LTEyLTExIDE2OjE0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL2VmZW5jZS5jOiBNYWtlIHN1cmUgR1NUX0JVRkZFUl9EQVRBIGlzIHNldCBvbiBmZW5jZWQgY29waWVkIGJ1ZmZlcnM7IGZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2luaXQpLCAoZ3N0X2VmZW5jZV9jaGFpbiksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9jb3B5KToKCSAgTWFrZSBzdXJlIEdTVF9CVUZGRVJfREFUQSBpcyBzZXQgb24gZmVuY2VkIGNvcGllZCBidWZmZXJzOyBmaXgKCSAgR1NUX0RFQlVHIGNyYXNoZXIgd2hlcmUgR1NUX1RJTUVfRk9STUFUIHdhcyBub3QgdXNlZCBpbgoJICBjb25qdW5jdGlvbiB3aXRoIEdTVF9USU1FX0FSR1MuIEFsc28sIGRvbid0IGxlYWsgcGFkIHRlbXBsYXRlcwoJICBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBwYWQgZnVuY3Rpb25zLgoKMjAwNS0xMi0xMCAyMDoyNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogUmV3cml0ZSBmbGFjZGVjIGEgYml0LCBzbyB0aGF0IGV2ZW4gc2Vla2luZyBtaWdodCB3b3JrIG5vdy4gTW9zdCBpbXBvcnRhbnRseSwgZG9uJ3QgYWN0IHVwb24gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19jbGFzc19pbml0KSwgKGdzdF9mbGFjX2RlY19pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX2VvZiksIChnc3RfZmxhY19kZWNfd3JpdGUpLCAoZ3N0X2ZsYWNfZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNfZGVjX2NvbnZlcnRfc3JjKSwgKGdzdF9mbGFjX2RlY19nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpLCAoZ3N0X2ZsYWNfZGVjX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X2ZsYWNfZGVjX3NyY19ldmVudCksCgkgIChnc3RfZmxhY19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFJld3JpdGUgZmxhY2RlYyBhIGJpdCwgc28gdGhhdCBldmVuIHNlZWtpbmcgbWlnaHQgd29yayBub3cuIE1vc3QKCSAgaW1wb3J0YW50bHksIGRvbid0IGFjdCB1cG9uIGFueSBmbG93IHJldHVybiB2YWx1ZXMgd2UgZ2V0LCBqdXN0IHRlbGwKCSAgdGhlIGRlY29kZXIgZXZlcnl0aGluZydzIGRhbmR5IGFuZCBhY3Qgb24gdGhlIGZsb3cgcmV0dXJuIHZhbHVlcwoJICBsYXRlciBvbiBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gV2UgZG9uJ3Qgd2FudCB0byBtZXNzIHVwIHRoZSBpbnRlcm5hbAoJICBkZWNvZGVyIHN0YXRlIGZvciBub24tZmF0YWwgdGhpbmdzIGxpa2UgZmx1c2hpbmcgcGFkcyBldGMuIE90aGVyCgkgIHRoYW4gdGhhdCwgdXNlIEdzdFNlZ21lbnQgKHNlZ21lbnQgc2Vla3MgZG9uJ3Qgd29yayB5ZXQgdGhvdWdoLCBidXQKCSAgc2hvdWxkIGJlIGVhc3kgdG8gYWRkKSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZHJvcCB0aGUgc3VwZXJmbHVvdXMKCSAgJ2ZsYWNkZWM6JyBmcm9tIGRlYnVnIG1lc3NhZ2VzLCB1c2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCwgYW5kCgkgIGxvdHMgb2Ygb3RoZXIgdGhpbmdzLgoKMjAwNS0xMi0xMCAxNDo1Nzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIGNvbW1lbnQgaW4gT1NTIGluY2x1ZGVzIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBjb21tZW50IGluIE9TUyBpbmNsdWRlcyBjaGVjay4KCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgICogc3lzL29zcy9vc3NfcHJvYmUuYzoKCSAgRG9uJ3QgYXNzdW1lIHRoZSBPU1Mgc291bmRjYXJkLmggaW5jbHVkZSBpcyBhbHdheXMgaW4KCSAgdGhlIHN5cy8gZGlyZWN0b3J5LiBJbnN0ZWFkLCB1c2UgdGhlIGV4aXN0aW5nIGRlZmluZXMKCSAgZnJvbSBjb25maWcuaCB0byBpbmNsdWRlIHRoZSByaWdodCBmaWxlLiBGaXhlcwoJICBjb21waWxhdGlvbiBvbiBPcGVuQlNEIDMuOCAoIzMyMzcxOCkuCgoyMDA1LTEyLTA5IDE5OjUxOjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgYm9yZ2lmeSBhbmQgZml4IHVwIGRvY3VtZW50YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkgYW5kIGZpeCB1cCBkb2N1bWVudGF0aW9uCgoyMDA1LTEyLTA5IDE1OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksCgkgIChnc3RfZmFhZF91cGRhdGVfY2Fwcyk6CgkgIEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscwoJICBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiBlcnJvcmluZy4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSBlLmcuIGpwZWcgc3RyZWFtcyB3aXRoIDAgZHVyYXRpb24gZnJhbWVzIGFzIGhhdmluZyAwIGZyYW1lcmF0ZS4KCSAgRGVidWcgZml4ZXMuIFNvbWUgNjQgYml0IHZhcmlhYmxlIGZpeGVzCgoyMDA1LTEyLTA5IDExOjEyOjQ4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFjY2VwdCBhIHdpZGVyIHJhbmdlIG9mIGZsYWMgZmlsZXMsIG1vcmUgY2xvc2VseSBtYXRjaGluZyBmbGFjIHNwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKHJhd19jYXBzX2ZhY3RvcnkpLCAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICBBY2NlcHQgYSB3aWRlciByYW5nZSBvZiBmbGFjIGZpbGVzLCBtb3JlIGNsb3NlbHkgbWF0Y2hpbmcgZmxhYyBzcAoKMjAwNS0xMi0wOCAxNjoyNzoxMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFkZCBtdWx0aXBhcnQgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBZGQgbXVsdGlwYXJ0IGVsZW1lbnRzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBGaXggZmxhYy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogQWRkIGRvY3MuCgoyMDA1LTEyLTA3IDExOjQ2OjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNZW1sZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgTWVtbGVhayBmaXhlcy4KCSAgU2VuZCBvdXQgRU9TIGZvciB2YWxpZCByZWFzb25zIChjb3VsZG4ndCBwdWxsX3JhbmdlKCkgZnJvbSB1cHN0cmVhbQoJICBmb3IgZXhhbXBsZSkuCgoyMDA1LTEyLTA3IDExOjQwOjQ2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNZW1sZWFrIGFuZCBjcmFzaGVyIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KToKCSAgTWVtbGVhayBhbmQgY3Jhc2hlciBmaXhlcy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgTWVtbGVhayBmaXhlcwoKMjAwNS0xMi0wNiAxOTo1NTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDg6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDQ6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSogZXh0L2VzZC9lc2RzaW5rLmg6CgkqIGV4dC9mbGFjL2ZsYWNfY29tcGF0Lmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmg6CgkqIGV4dC9qcGVnL3Ntb2tlZm9ybWF0Lmg6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJKiBnc3QvZGVidWcvdGVzdHMuYzoKCSogZ3N0L2RlYnVnL3Rlc3RzLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2ZseC9mbHhfZm10Lmg6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmg6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSogZ3N0L3J0c3AvcnRzcHVybC5jOgoJKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzoKCSogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9wYWludC5jOgoJKiBnc3Qvc21wdGUvcGFpbnQuaDoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL3JpZmYuaDoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDUgMTg6MTI6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC4xMC4wID09PQoKMjAwNS0xMi0wNSAxODowMzoyMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuMTAuMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMAoKMjAwNS0xMi0wNSAxODowMTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbGVhc2luZyAwLjEwLjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjAKCjIwMDUtMTItMDUgMTY6MjE6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTEyLTA1IDE1OjA4OjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaXQucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDA1LTEyLTA1IDEzOjA0OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KSwgKGdzdF9mYWFjX2NoYWluKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6IChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOiAoZ3N0X3hpbmVfaW5wdXRfZ2V0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9jaGFpbik6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDUgMTM6MDM6MDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfd3JpdGVfY2FsbGJhY2spOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwgKGdzdF9wbmdkZWNfdGFzayk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW4pOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3ZvcmJpc19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlcik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA1IDEyOjIzOjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6IFJlbW92ZSBhcmdzIGZvciBwbHVnaW5zIHRoYXQgYXJlbid0IGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgIFJlbW92ZSBhcmdzIGZvciBwbHVnaW5zIHRoYXQgYXJlbid0IGluIC1nb29kLgoKMjAwNS0xMi0wNCAyMjoyNjowNyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICByZW1vdmUgcGFuZ28gcGx1Z2luIGFzIGl0cyBnb25lIGludG8gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHBhbmdvIHBsdWdpbiBhcyBpdHMgZ29uZSBpbnRvIGJhc2UKCjIwMDUtMTItMDMgMTg6NTE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgZml4IGVsZW1lbnQgZGVzY3JpcHRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZWxlbWVudCBkZXNjcmlwdGlvbnMKCjIwMDUtMTItMDMgMTg6NTA6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZkc3JjLnhtbDoKCSAgcmVtb3ZlIGZkc3JjIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBmZHNyYyBkb2NzCgoyMDA1LTEyLTAxIDE5OjE4OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS43ID09PQoKMjAwNS0xMi0wMSAxOToxNDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC45LjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNwoKMjAwNS0xMi0wMSAxOToxMzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbGVhc2luZyAwLjkuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS43CgoyMDA1LTEyLTAxIDE3OjUzOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTEyLTAxIDE1OjM0OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGFkZCBtdWx0aXBhcnQgcGx1Z2luIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtdWx0aXBhcnQgcGx1Z2luIHRvIGRvY3MKCjIwMDUtMTItMDEgMTU6MjI6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuaDoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5oOgoJKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIG1vdmUgcGFuZ28gdG8gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBwYW5nbyB0byBiYXNlCgoyMDA1LTEyLTAxIDE0OjM5OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9ydHAvOiBwYXJzZXJzIGFyZSBkZXBheWVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkgIHBhcnNlcnMgYXJlIGRlcGF5ZXJzCgoyMDA1LTEyLTAxIDE0OjMwOjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICBEbyBidXJnZXIncyByZW5hbWUgZm9yIHJ0cCBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIERvIGJ1cmdlcidzIHJlbmFtZSBmb3IgcnRwIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycwoKMjAwNS0xMS0zMCAxOTowMjozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi86IEZpeCBzZWVraW5nIGluIGR2ZGVtdXggYWdhaW4sIGFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2hhaW4pOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgRml4IHNlZWtpbmcgaW4gZHZkZW11eCBhZ2FpbiwgYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwNS0xMS0zMCAxODo0ODo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IHRlc3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdGVzdHMKCjIwMDUtMTEtMzAgMTg6NDA6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCB0ZXN0cyBzdWJkaXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB0ZXN0cyBzdWJkaXIKCjIwMDUtMTEtMzAgMTg6MzY6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGFkZCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIE1ha2VmaWxlLmFtCgoyMDA1LTExLTMwIDE4OjI4OjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUE9SVEVEXzA5OgoJICAqIGRvY3MvcmFuZG9tL1BPUlRFRF8wOToKCSAgbW92ZQoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBhZGQKCSAgKiB3aW4zMi9nc3Quc2xuOgoJICByZW1vdmUKCjIwMDUtMTEtMzAgMTg6MjQ6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY2hlY2svLmdpdGlnbm9yZToKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIGNoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkqIGV4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiBleGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiBleGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIGV4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgbW92ZSB1bmRlciB0ZXN0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSB1bmRlciB0ZXN0cwoKMjAwNS0xMS0zMCAxNjo1Nzo1NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGNoYW5nZXMKCjIwMDUtMTEtMzAgMTQ6NTM6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci4qOiBBZGQgbWlzc2luZyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzogKGdzdF90ZXh0X3JlbmRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2NsYXNzX2luaXQpLCAocmVzaXplX2JpdG1hcCksCgkgIChnc3RfdGV4dF9yZW5kZXJfcmVuZGVyX3RleHQpLCAoZ3N0X3RleHRfcmVuZGVyX3NldGNhcHMpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2ZpeGF0ZV9jYXBzKSwgKGdzdF90ZXh0X3JlbmRlcmVyX2JpdG1hcF90b19heXV2KSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9jaGFpbiksIChnc3RfdGV4dF9yZW5kZXJfZmluYWxpemUpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2luaXQpLCAoZ3N0X3RleHRfcmVuZGVyX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuaDoKCSAgQWRkIG1pc3NpbmcgZmlsZXMuCgoyMDA1LTExLTMwIDEzOjIwOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBwYW5nby1iYXNlZCB0ZXh0b3ZlcmxheSwgdGltZW92ZXJsYXkgYW5kIHRleHRyZW5kZXIgdG8gMC45IGFuZCBhZGQgYmFja2dyb3VuZCBzaGFkaW5nIGFuZCB0ZXh0IHdyYXBwaW5nIG1vZGVzLiBNLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzogKGdzdF9jbG9ja19vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfY2xvY2tfb3ZlcmxheV9yZW5kZXJfdGltZSksIChnc3RfY2xvY2tfb3ZlcmxheV9nZXRfdGV4dCksCgkgIChnc3RfY2xvY2tfb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF9jbG9ja19vdmVybGF5X2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuaDoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfZ2V0X3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfZmluYWxpemUpLCAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdXBkYXRlX3dyYXBfbW9kZSksIChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF9saW5rZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF91bmxpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSksIChnc3RfdGV4dF9vdmVybGF5X2dldGNhcHMpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zaGFkZV95KSwgKGdzdF90ZXh0X292ZXJsYXlfYmxpdF95dXY0MjApLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9yZXNpemVfYml0bWFwKSwgKGdzdF90ZXh0X292ZXJsYXlfcmVuZGVyX3RleHQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wdXNoX2ZyYW1lKSwgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3ZpZGVvKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X3RpbWVfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RpbWVfb3ZlcmxheV9yZW5kZXJfdGltZSksIChnc3RfdGltZV9vdmVybGF5X2dldF90ZXh0KSwKCSAgKGdzdF90aW1lX292ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfdGltZV9vdmVybGF5X2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5oOgoJICBQb3J0IHBhbmdvLWJhc2VkIHRleHRvdmVybGF5LCB0aW1lb3ZlcmxheSBhbmQgdGV4dHJlbmRlciB0byAwLjkKCSAgYW5kIGFkZCBiYWNrZ3JvdW5kIHNoYWRpbmcgYW5kIHRleHQgd3JhcHBpbmcgbW9kZXMuIE1ha2UKCSAgdGltb3ZlcmxheSBkZXJpdmUgZnJvbSB0ZXh0b3ZlcmxheS4gQWxzbyBhZGQgbmV3IGNsb2Nrb3ZlcmxheQoJICBlbGVtZW50LgoKMjAwNS0xMS0zMCAxMToxMDowMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdWRwL01ha2VmaWxlLmFtOiBNb3ZlZCB0byBuZXRidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTMwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbTogTW92ZWQgdG8gbmV0YnVmZmVyLgoKMjAwNS0xMS0zMCAxMDoxODo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBQb3J0ZWQgbXVsdGlwYXJ0IG11eC9kZW11eCB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTMwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIFBPUlRFRF9POToKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCksIChnc3RfbXVsdGlwYXJ0X211eF9maW5hbGl6ZSksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9zaW5rY29ubmVjdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jaGFuZ2Vfc3RhdGUpOiBQb3J0ZWQgbXVsdGlwYXJ0IG11eC9kZW11eCB0bwoJICAwLjkuCgoyMDA1LTExLTMwIDA4OjI2OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC86IHVwZGF0ZSBmb3Igc3ltYm9scyBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChnc3RfbmF2aWdhdGlvbnRlc3RfZ2V0X3R5cGUpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6IChnc3RfYWdpbmd0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOiAoZ3N0X2RpY2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOiAoZ3N0X2VkZ2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzogKGdzdF9yZXZ0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOiAoZ3N0X3NoYWdhZGVsaWN0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOiAoZ3N0X3ZlcnRpZ290dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOiAoZ3N0X3dhcnB0dl9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOiAoZ3N0X3ZpZGVvX2ZsaXBfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19mbGlwX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHVwZGF0ZSBmb3Igc3ltYm9scyBjaGFuZ2UKCjIwMDUtMTEtMjkgMTc6NDY6MDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3VkcC86IHRoZSBvbGQgZ3N0bmV0IGxpYiB3YXMgcmVuYW1lZCBnc3RuZXRidWZmZXIgKCMzMjIyNTcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHRoZSBvbGQgZ3N0bmV0IGxpYiB3YXMgcmVuYW1lZCBnc3RuZXRidWZmZXIgKCMzMjIyNTcpCgoyMDA1LTExLTI5IDE1OjQyOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEFjdHVhbGx5IHJlbmRlciB0aGUgdGV4dCBmcm9tIHRoZSB0ZXh0IHBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3JlbmRlcl90ZXh0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKToKCSAgQWN0dWFsbHkgcmVuZGVyIHRoZSB0ZXh0IGZyb20gdGhlIHRleHQgcGFkLgoKMjAwNS0xMS0yOSAxNDo0OTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kZWJ1Zy86IFVwZGF0ZSBmb3IgR3N0QmFzZVRyYW5zZm9ybSBldmVudCB2aXJ0dWFsIG1ldGhvZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOiAoZ3N0X25hdnNlZWtfZXZlbnQpOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9ldmVudCk6CgkgIFVwZGF0ZSBmb3IgR3N0QmFzZVRyYW5zZm9ybSBldmVudCB2aXJ0dWFsIG1ldGhvZAoKMjAwNS0xMS0yOSAxMDo1NTowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvY2Fpcm8vTWFrZWZpbGUuYW06IG5vIG5lZWQgdG8gbGluayB0byB2aWRlb2ZpbHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yOSAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIG5vIG5lZWQgdG8gbGluayB0byB2aWRlb2ZpbHRlcgoKMjAwNS0xMS0yOSAxMDo0NjowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHJlbW92ZSB0aGUgdmlkZW9maWx0ZXIgbGlicmFyeSBhbmQgbGluayB0byB0aGUgb25lIGluIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB0aGUgdmlkZW9maWx0ZXIgbGlicmFyeSBhbmQgbGluayB0byB0aGUgb25lIGluIGJhc2UKCjIwMDUtMTEtMjkgMDE6MzA6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgYm9yZ2lmeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeQoKMjAwNS0xMS0yOCAxNzozMTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVXNlbGVzcyBjaGVjayBub3cgd2UncmUgc2V0dGluZyB0aGUgY3VycmVudCBlbnRyeSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgVXNlbGVzcyBjaGVjayBub3cgd2UncmUgc2V0dGluZyB0aGUgY3VycmVudCBlbnRyeSBjb3JyZWN0bHkuCgoyMDA1LTExLTI4IDE2OjU0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbiAoZml4ZXMgIzMyMjY2Nyk7IG1ha2Ugc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX3Jlc3luYyksIChnc3RfanBlZ2VuY19jaGFpbiksCgkgIChnc3RfanBlZ2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2pwZWdlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qcGVnZW5jX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uIChmaXhlcyAjMzIyNjY3KTsgbWFrZQoJICBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXNhZmU7IGRvbid0IHJlcGVhdCB0aGUgY3VycmVudCBmdW5jdGlvbgoJICBuYW1lIGluIEdTVF9ERUJVRyBzdGF0ZW1lbnRzOyB1c2UgR1NUX1JPVU5EX1VQXyogbWFjcm9zOyB1c2UKCSAgZ3N0X3BhZF9hbGxvY19idWZmZXIoKTsgbWlzYy4gbWlub3IgY2xlYW51cHMuCgoyMDA1LTExLTI4IDE1OjQzOjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NyY2dldGNhcHMpOgoJICBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yCgkgIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0cyBpbiAwIGNoYW5uZWxzIHdpdGggc2FtcGxlcmF0ZXMgb2YgMC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyB1cHdhcmQgdHJhbnNpdGlvbnMsIHRoZW4gY2FsbCBwYXJlbnQgc3RhdGVfY2hhbmdlLCB0aGVuIGRvCgkgIGRvd253YXJkIHRyYW5zaXRpb25zLgoKMjAwNS0xMS0yOCAxNToxMzoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IExvb2sgZm9yIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzLCBub3QgcGl4ZWxfd2lkdGggYW5kIHBpeGVsX2hlaWdodCAoRml4ZXM6ICMzMjI2NDUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBMb29rIGZvciBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2Fwcywgbm90IHBpeGVsX3dpZHRoIGFuZAoJICBwaXhlbF9oZWlnaHQgKEZpeGVzOiAjMzIyNjQ1KQoKMjAwNS0xMS0yOCAxMjo1OTowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZyb20gTWljaGFsIEJlbmVzOiBmcmFtZSBkdXJhdGlvbiBzaG91bGQgYmUgR1NUX1NFQ09ORCAvIGZyYW1lcmF0ZSwgbm90CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBGcm9tIE1pY2hhbCBCZW5lczoKCSAgZnJhbWUgZHVyYXRpb24gc2hvdWxkIGJlIEdTVF9TRUNPTkQgLyBmcmFtZXJhdGUsIG5vdAoJICBHU1RfU0VDT05EICogZnJhbWVyYXRlLiAoRml4ZXM6ICMzMjI2NDMpCgoyMDA1LTExLTI3IDE3OjAyOjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZml4IHVwIEdTVF9QTFVHSU5fTERGTEFHUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGZpeCB1cCBHU1RfUExVR0lOX0xERkxBR1MKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICBmaXggaW5jbHVkZXMgKHNlZSAjMzE3MDQzKQoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgc3RvcCBpbnN0YWxsaW5nIHRoaXMgbGlicmFyeQoKMjAwNS0xMS0yNyAxNTozMDoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG5vIG5lZWQgZm9yIGFuIEFTX0xJQlRPT0wgY2FsbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbm8gbmVlZCBmb3IgYW4gQVNfTElCVE9PTCBjYWxsCgoyMDA1LTExLTI3IDE0OjMzOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCjIwMDUtMTEtMjYgMTI6NTQ6NDcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBpbmNvbWluZyBWaWRlbyBkdiBzdHJlYW0gZG9lc24ndCBoYXZlIGEgcGl4ZWwgYXNwZWN0IHJhdGlvIHNldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfc2lua19zZXRjYXBzKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBpbmNvbWluZyBWaWRlbyBkdiBzdHJlYW0gZG9lc24ndCBoYXZlCgkgIGEgcGl4ZWwgYXNwZWN0IHJhdGlvIHNldC4KCjIwMDUtMTEtMjUgMjI6MTQ6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBkb2N1bWVudCBmbGFjZGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2N1bWVudCBmbGFjZGVjCgoyMDA1LTExLTI1IDIxOjM2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICBkbyBzb21lIG5hbWUgYm9yZ2lmeWluZyBkb2N1bWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG8gc29tZSBuYW1lIGJvcmdpZnlpbmcKCSAgZG9jdW1lbnQKCjIwMDUtMTEtMjUgMjE6MDI6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jdW1lbnRpbmcgYXV0bypzaW5rIHVzaW5nIHN0cnN0ciBmb3IgdGhlIHZpZGVvIHNpbmsgbG9va3VwLCBjbGFzcyBmaWVsZCBpcyBub3Qgb3JkZXJlZCB1cGRhdGUgb3RoZXIgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmFjdG9yeV9maWx0ZXIpOgoJICBkb2N1bWVudGluZyBhdXRvKnNpbmsKCSAgdXNpbmcgc3Ryc3RyIGZvciB0aGUgdmlkZW8gc2luayBsb29rdXAsIGNsYXNzIGZpZWxkIGlzIG5vdCBvcmRlcmVkCgkgIHVwZGF0ZSBvdGhlciBwbHVnaW5zCgoyMDA1LTExLTI1IDE5OjU4OjE5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoKMjAwNS0xMS0yNSAxODoxNTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvd2F2cGFjay86IHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayksCgkgIChnc3Rfd2F2cGFja19kZWNfd3ZjbGluayksIChnc3Rfd2F2cGFja19kZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zZXR1cF9jb250ZXh0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19kZWNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChmaW5kX2hlYWRlciksIChmaW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZWVrKSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCjIwMDUtMTEtMjUgMTg6MDM6MjQgKzAwMDAgIFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MkB5YWhvby5jYT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gY2xvc2UgY29udHJvbCBzb2NrZXRzIGluIHVkcHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RvcCk6CgkgIFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gY2xvc2UgY29udHJvbCBzb2NrZXRzIGluIHVkcHNyYy4KCjIwMDUtMTEtMjQgMTU6MDc6MDYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogRmx1c2ggdGhlIHBsYW5lcyBsaXN0IG9uIHJldmVyc2UgY2FwcyBuZWdvdGlhdGlvbi4gVGhpcyB3YXMgY3Jhc2hpbmcgYmVjYXVzZSBvZiBkaWZmZXJlbnRseSBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3NldF9jYXBzKSwKCSAgKGdzdF9xdWFya3R2X2dldF91bml0X3NpemUpLCAoZ3N0X3F1YXJrdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9xdWFya3R2X3BsYW5ldGFibGVfY2xlYXIpLCAoZ3N0X3F1YXJrdHZfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdWFya3R2X2Jhc2VfaW5pdCksIChnc3RfcXVhcmt0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9xdWFya3R2X2luaXQpOiBGbHVzaCB0aGUgcGxhbmVzIGxpc3Qgb24gcmV2ZXJzZSBjYXBzCgkgIG5lZ290aWF0aW9uLiBUaGlzIHdhcyBjcmFzaGluZyBiZWNhdXNlIG9mIGRpZmZlcmVudGx5IHNpemVkCgkgIGJ1ZmZlcnMuCgoyMDA1LTExLTI0IDEyOjUwOjI4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC86IEhhbmRsZSBzdHJpZGVzIGNvcnJlY3RseSwgZml4IGlkZW50aXR5IGZsaXBwaW5nLCBjb252ZXJ0IG5hdmlnYXRpb24gZXZlbnQgY29ycmVjdGx5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZHJhd19ib3hfcGxhbmFyNDExKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIChnc3RfdmlkZW9mbGlwX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9mbGlwX3NldF9jYXBzKSwgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvZmxpcF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb2ZsaXBfZmxpcCksCgkgIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybSksIChnc3RfdmlkZW9mbGlwX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3ZpZGVvZmxpcF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvZmxpcF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvZmxpcF9jbGFzc19pbml0KSwgKGdzdF92aWRlb2ZsaXBfaW5pdCk6IEhhbmRsZSBzdHJpZGVzCgkgIGNvcnJlY3RseSwgZml4IGlkZW50aXR5IGZsaXBwaW5nLCBjb252ZXJ0IG5hdmlnYXRpb24gZXZlbnQKCSAgY29ycmVjdGx5IGFnYWluLgoKMjAwNS0xMS0yNCAxMToxNjo1MyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogUkVBRE1FOgoJICBGaXggIzMyMDI4ODogd3JvbmcgcmVhZG1lIGluIHBsdWdpbnMtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ICMzMjAyODg6IHdyb25nIHJlYWRtZSBpbiBwbHVnaW5zLWdvb2QKCjIwMDUtMTEtMjQgMTE6MDY6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGZpeCB0b3J0dXJlIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHRvcnR1cmUgdGFyZ2V0CgoyMDA1LTExLTIzIDIxOjI1OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCjIwMDUtMTEtMjMgMjA6MDU6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNiA9PT0KCjIwMDUtMTEtMjMgMTk6NTc6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZWxlYXNpbmcgMC45LjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNgoKMjAwNS0xMS0yMyAxOTo1NjozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS42CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjYKCjIwMDUtMTEtMjMgMTk6MTQ6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgIGFkZGluZyBjdXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBjdXR0ZXIKCjIwMDUtMTEtMjMgMTk6MDU6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTExLTIzIDE2OjQ5OjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiBPb3BzLCBpbml0aWFsaXNlIHRoZSBmcmFtZXJhdGUgR1ZhbHVlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOiAoZ3N0X25hdmlnYXRpb250ZXN0X2luaXQpOgoJICBPb3BzLCBpbml0aWFsaXNlIHRoZSBmcmFtZXJhdGUgR1ZhbHVlCgoyMDA1LTExLTIzIDE1OjUwOjUxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFZpZGVvRmlsdGVyIGluaGVyaXRzIGZyb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKGdzdF90aW1lb3ZlcmxheV91cGRhdGVfZm9udF9oZWlnaHQpLAoJICAoZ3N0X3RpbWVvdmVybGF5X3NldF9jYXBzKSwgKGdzdF90aW1lb3ZlcmxheV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF90aW1lb3ZlcmxheV90cmFuc2Zvcm0pLCAoZ3N0X3RpbWVvdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGltZW92ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfdGltZW92ZXJsYXlfaW5pdCksCgkgIChnc3RfdGltZW92ZXJsYXlfZ2V0X3R5cGUpOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5oOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9zZXRfY2FwcyksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfdHJhbnNmb3JtKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2Jhc2VfaW5pdCksIChnc3RfbmF2aWdhdGlvbnRlc3RfY2xhc3NfaW5pdCksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfaW5pdCksIChnc3RfbmF2aWdhdGlvbnRlc3RfZ2V0X3R5cGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6IChnc3RfYWdpbmd0dl9zZXRfY2FwcyksCgkgIChnc3RfYWdpbmd0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9hZ2luZ3R2X3RyYW5zZm9ybSksCgkgIChnc3RfYWdpbmd0dl9iYXNlX2luaXQpLCAoZ3N0X2FnaW5ndHZfY2xhc3NfaW5pdCksCgkgIChnc3RfYWdpbmd0dl9pbml0KSwgKGdzdF9hZ2luZ3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6IChnc3RfZGljZXR2X3NldF9jYXBzKSwKCSAgKGdzdF9kaWNldHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfZGljZXR2X3RyYW5zZm9ybSksCgkgIChnc3RfZGljZXR2X2Jhc2VfaW5pdCksIChnc3RfZGljZXR2X2NsYXNzX2luaXQpLAoJICAoZ3N0X2RpY2V0dl9pbml0KSwKCSAgKGdzdF9kaWNldHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzogKGdzdF9lZGdldHZfc2V0X2NhcHMpLAoJICAoZ3N0X2VkZ2V0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9lZGdldHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9lZGdldHZfYmFzZV9pbml0KSwgKGdzdF9lZGdldHZfY2xhc3NfaW5pdCksCgkgIChnc3RfZWRnZXR2X2luaXQpLAoJICAoZ3N0X2VkZ2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3F1YXJrdHZfZ2V0X3VuaXRfc2l6ZSksIChmYXN0cmFuZCksCgkgIChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3F1YXJrdHZfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdWFya3R2X2Jhc2VfaW5pdCksCgkgIChnc3RfcXVhcmt0dl9jbGFzc19pbml0KSwgKGdzdF9xdWFya3R2X2luaXQpLAoJICAoZ3N0X3F1YXJrdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOiAoZ3N0X3JldnR2X3NldF9jYXBzKSwKCSAgKGdzdF9yZXZ0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9yZXZ0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3JldnR2X2Jhc2VfaW5pdCksIChnc3RfcmV2dHZfY2xhc3NfaW5pdCksIChnc3RfcmV2dHZfaW5pdCksCgkgIChnc3RfcmV2dHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzogKGdzdF9zaGFnYWRlbGljdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3NoYWdhZGVsaWN0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9zaGFnYWRlbGljdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9zaGFnYWRlbGljdHZfYmFzZV9pbml0KSwgKGdzdF9zaGFnYWRlbGljdHZfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2hhZ2FkZWxpY3R2X2luaXQpLCAoZ3N0X3NoYWdhZGVsaWN0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOiAoZ3N0X3ZlcnRpZ290dl9zZXRfY2FwcyksCgkgIChnc3RfdmVydGlnb3R2X2dldF91bml0X3NpemUpLCAoZ3N0X3ZlcnRpZ290dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZlcnRpZ290dl9iYXNlX2luaXQpLCAoZ3N0X3ZlcnRpZ290dl9jbGFzc19pbml0KSwKCSAgKGdzdF92ZXJ0aWdvdHZfaW5pdCksIChnc3RfdmVydGlnb3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6IChnc3Rfd2FycHR2X3NldF9jYXBzKSwKCSAgKGdzdF93YXJwdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3Rfd2FycHR2X3RyYW5zZm9ybSksCgkgIChnc3Rfd2FycHR2X2Jhc2VfaW5pdCksIChnc3Rfd2FycHR2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhcnB0dl9pbml0KSwKCSAgKGdzdF93YXJwdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5jOiAoZ3N0X3ZpZGVvZmlsdGVyX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb2ZpbHRlcl9jbGFzc19pbml0KSwgKGdzdF92aWRlb2ZpbHRlcl9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuaDoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9mbGlwX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvZmxpcF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb2ZsaXBfZmxpcCksIChnc3RfdmlkZW9mbGlwX3RyYW5zZm9ybSksCgkgIChnc3RfdmlkZW9mbGlwX2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X3ZpZGVvZmxpcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvZmxpcF9iYXNlX2luaXQpLCAoZ3N0X3ZpZGVvZmxpcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb2ZsaXBfaW5pdCksIChwbHVnaW5faW5pdCksIChnc3RfdmlkZW9mbGlwX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6IFZpZGVvRmlsdGVyIGluaGVyaXRzIGZyb20KCSAgQmFzZVRyYW5zZm9ybSwgaXQncyBqdXN0IGEgcGxhY2UgaG9sZGVyIGZvciBub3cgYW5kIGV2ZXJ5IHZpZGVvCgkgIGVmZmVjdCBwbHVnaW4gaGFzIGJlZW4gcG9ydGVkIHRvIHVzZSBCYXNlVHJhbnNmb3JtIGZlYXR1cmVzCgkgIGRpcmVjdGx5LiBRdWFya1RWIHdhcyBmaXhlZCB0b28gKHdhcyBicm9rZW4pLCBuYXZpZ2F0aW9udGVzdAoJICB3b3JrcwoJICBhbmQgYmVzdCBmb3IgdGhlIGVuZCwgdmlkZW9mbGlwIGNvbnZlcnRzIG5hdmlnYXRpb24gZXZlbnRzCgkgIGRlcGVuZGluZwoJICBvbiBmbGlwIG1ldGhvZCAhIEZpeGVzICMzMjA5NTMKCjIwMDUtMTEtMjMgMTQ6MjI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4ZXMgZm9yIEFQSSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfZml4YXRlKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9pbml0KSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4ZXMgZm9yIEFQSSBjaGFuZ2VzCgoyMDA1LTExLTIzIDEyOjE5OjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBjdXR0ZXIgdG8gc3BlYyBpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGN1dHRlciB0byBzcGVjIGluCgoyMDA1LTExLTIzIDExOjU3OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoKMjAwNS0xMS0yMiAyMzo1ODoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2pwZWcvOiBKUEVHIGZyYWN0aW9ueSBnb29kbmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX3NldGNhcHMpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKSwgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19zZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19yZXN5bmMpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgIEpQRUcgZnJhY3Rpb255IGdvb2RuZXNzLgoKMjAwNS0xMS0yMiAyMjozNTo1NyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tL2dyYXBoaWMuaDoKCSAgRml4IGZvciAjMzIxNDMwOiB1bnJlc29sdmVkIHN5bWJvbHMgZHVlIHRvIGluY29ycmVjdCBsaW5rYWdlIG9uIGlubGluZSBmdW5jdGlvbnMgaW4gZ29vbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBmb3IgIzMyMTQzMDogdW5yZXNvbHZlZCBzeW1ib2xzIGR1ZSB0byBpbmNvcnJlY3QgbGlua2FnZSBvbiBpbmxpbmUgZnVuY3Rpb25zCgkgIGluIGdvb20uCgkgIERvZXMgbm90LCBob3dldmVyLCBmaXggdGhlIGdlbmVyYWwgY3JhY2toZWFkZWRuZXNzIG9mIGdvb20gKGdsb2JhbCB2YXJpYWJsZXMsCgkgIG9oIG15ISk7IHRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIC1iYWQuCgoyMDA1LTExLTIyIDIyOjIxOjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vcmUgZnJhY3Rpb25hbCBmcmFtZXJhdGUgY29udmVyc2lvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKSwgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3NpbmtfbGluayk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfc2V0Y2Fwcyk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2Fwcyk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfaW5pdCksCgkgIChnc3RfYXZpbXV4X3ZpZHNpbmtjb25uZWN0KToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21faW5pdCksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKSwgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgTW9yZSBmcmFjdGlvbmFsIGZyYW1lcmF0ZSBjb252ZXJzaW9ucwoKMjAwNS0xMS0yMiAyMDowNzo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19maXhhdGUpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5jOgoJICAoZ3N0X3ZpZGVvZmlsdGVyX2Zvcm1hdF9nZXRfc3RydWN0dXJlKSwgKGdzdF92aWRlb2ZpbHRlcl9zZXRjYXBzKSwKCSAgKGdzdF92aWRlb2ZpbHRlcl9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuaDoKCSAgQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMuCgoyMDA1LTExLTIyIDE4OjExOjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGZpeCB1cCBtb3JlIGVudW1zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdXAgbW9yZSBlbnVtcwoKMjAwNS0xMS0yMiAxNzozOToxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMsIHZpZGVvbWl4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKToKCSAgRnJhY3Rpb25hbCBmcmFtZXJhdGVzLCB2aWRlb21peGVyLgoKMjAwNS0xMS0yMiAxNzoxNToyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGRvaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9oCgoyMDA1LTExLTIyIDE3OjA5OjM2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZHYvOiBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMgZm9yIERWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KSwgKGdzdF9kdmRlY19zaW5rX3NldGNhcHMpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9kdmRlbXV4X3NpbmtfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9kZW11eF92aWRlbyksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSksCgkgIChnc3RfZHZkZW11eF9mbHVzaCk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgRnJhY3Rpb25hbCBmcmFtZXJhdGVzIGZvciBEVi4KCjIwMDUtMTEtMjIgMTc6MDQ6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBmaXggdXAgR1ZhbHVlRW51bQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHVwIEdWYWx1ZUVudW0KCjIwMDUtMTEtMjIgMTQ6NDQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IFVzZSBnc3RfcGx1Z2luX2ZlYXR1cmVfbGlzdF9mcmVlKCkgdG8gZnJlZSBmZWF0dXJlIGxpc3QgYW5kIGluIHRoZSBjYXNlIG9mIGF1dG92aWRlb3NpbmsgZnJlZSB0aGUgbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgVXNlIGdzdF9wbHVnaW5fZmVhdHVyZV9saXN0X2ZyZWUoKSB0byBmcmVlIGZlYXR1cmUgbGlzdCBhbmQKCSAgaW4gdGhlIGNhc2Ugb2YgYXV0b3ZpZGVvc2luayBmcmVlIHRoZSBsaXN0IGF0IGFsbC4gQWxzbwoJICBtaXNjZWxsYW5lb3VzIGNvc21ldGljIGZpeGVzLgoKMjAwNS0xMS0yMiAxMzoxMzoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiBjb3B5IGNhbGN1bGF0aW9uIGNvZGUgZnJvbSBsZXZlbDsgcmVtb3ZlIHVzZSBvZiBzb21lIGF1ZGlvIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbiksCgkgIChnc3RfY3V0dGVyX3NldF9wcm9wZXJ0eSksIChnc3RfY3V0dGVyX2dldF9jYXBzKToKCSAgY29weSBjYWxjdWxhdGlvbiBjb2RlIGZyb20gbGV2ZWw7IHJlbW92ZSB1c2Ugb2Ygc29tZSBhdWRpbwoJICBmdW5jdGlvbnMKCjIwMDUtMTEtMjIgMTM6MTE6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCjIwMDUtMTEtMjIgMTI6NDg6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCjIwMDUtMTEtMjIgMTI6NDE6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCjIwMDUtMTEtMjIgMTI6Mzk6MjkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgVXBkYXRlIGZvciBnc3RfdGFnX3NldHRlciBBUEkgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogVXBkYXRlIGZvciBnc3RfdGFnX3NldHRlciBBUEkgY2hhbmdlcy4KCjIwMDUtMTEtMjIgMTI6Mzg6MzMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBVcGRhdGUgZm9yIGdzdF90YWdfc2V0dGVyIEFQSSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBVcGRhdGUgZm9yIGdzdF90YWdfc2V0dGVyIEFQSSBjaGFuZ2VzLgoKMjAwNS0xMS0yMiAxMTo1Nzo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KSBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKSBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKQoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpCgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmMgKHNwZWVkX3NpbmtfZXZlbnQpCgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jIChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCkKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKTogUnVuIHVwZGF0ZS1mdW5jbmFtZXMuCgoyMDA1LTExLTIyIDExOjUzOjM0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCkgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpCgkgIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSkKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXRlKQoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYyAoZ3N0X2ZsYWNlbmNfc2Vla19jYWxsYmFjaykKCSAgKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpCgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmMgKGdzdF9nY29uZl9hdWRpb19zaW5rX2luaXQpCgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmMgKGdzdF9nY29uZl92aWRlb19zaW5rX2luaXQpCgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYyAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KQoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jIChzcGVleF9kZWNfZXZlbnQsIHNwZWV4X2RlY19jaGFpbikKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmMgKGdzdF9hdXBhcnNlX2NoYWluKQoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYyAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KQoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYyAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KQoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYyAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKQoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlaykKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmMgKGdzdF9nb29tX2V2ZW50KQoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmMgKGdzdF9lYm1sX3dyaXRlX3NlZWspCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCkKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCkKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jIChnc3Rfd2F2ZW5jX3N0b3BfZmlsZSkKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYyAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKQoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKTogUnVuIHVwZGF0ZS1mdW5jbmFtZXMuCgoyMDA1LTExLTIyIDExOjQ5OjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgVVJJSGFuZGxlciBpbnRlcmZhY2UgYW5kIGVsZW1lbnQgcHJvcGVydGllcyBhcmUgbm93IHByb3Blcmx5IHN5bmNocm9uaXplZCBmb3IgRFYxMzk0c3JjIGFuZCBVRFBTcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2R2MTM5NHNyY19pbml0KSwgKGdzdF9kdjEzOTRzcmNfZGlzcG9zZSksCgkgIChnc3RfZHYxMzk0c3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwKCSAgKGdzdF9kdjEzOTRzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY191cGRhdGVfdXJpKSwgKGdzdF91ZHBzcmNfc2V0X3VyaSksCgkgIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3VyaV9nZXRfdXJpKToKCSAgVVJJSGFuZGxlciBpbnRlcmZhY2UgYW5kIGVsZW1lbnQgcHJvcGVydGllcyBhcmUgbm93IHByb3Blcmx5CgkgIHN5bmNocm9uaXplZCBmb3IgRFYxMzk0c3JjIGFuZCBVRFBTcmMKCjIwMDUtMTEtMjIgMTE6MzY6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBsaWJnc3R0YWdlZGl0IGhhcyBiZWVuIHJlbmFtZWQgdG8gbGliZ3N0dGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgIGxpYmdzdHRhZ2VkaXQgaGFzIGJlZW4gcmVuYW1lZCB0byBsaWJnc3R0YWcuCgoyMDA1LTExLTIxIDIzOjUwOjAyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBEb24ndCB0YWtlIHRoZSBzdHJlYW0gbG9jawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX2V2ZW50KToKCSAgRG9uJ3QgdGFrZSB0aGUgc3RyZWFtIGxvY2sKCjIwMDUtMTEtMjEgMjA6MTE6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+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+CgoJICBQb3J0IG1hdHJvc2thIG11eGVyIHRvIDAuOSAoIzMxODg0NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOiAocGx1Z2luX2luaXQpOgoJICBQb3J0IG1hdHJvc2thIG11eGVyIHRvIDAuOSAoIzMxODg0NykuCgoyMDA1LTEwLTEzIDE4OjU5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEZpeCBoYW5kbGluZyBvZiBHU1RfVEFHX0RBVEUsIHdoaWNoIGlzIG5vdyBvZiBHU1RfVFlQRV9EQVRFOyB1c2UgR1NUX1JFQURfVUlOVDMyX0xFKCkgYW5kIGZyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2dldF90YWdfdmFsdWUpLAoJICAoY29tbWVudF9pbml0KSwgKGNvbW1lbnRfYWRkKToKCSAgRml4IGhhbmRsaW5nIG9mIEdTVF9UQUdfREFURSwgd2hpY2ggaXMgbm93IG9mIEdTVF9UWVBFX0RBVEU7CgkgIHVzZSBHU1RfUkVBRF9VSU5UMzJfTEUoKSBhbmQgZnJpZW5kcyByYXRoZXIgdGhhbiB0aGUgcHJpdmF0ZQoJICBpbXBsZW1lbnRhdGlvbiBvZiB0aG9zZSBzYW1lIG1hY3Jvcy4KCjIwMDUtMTAtMTMgMTY6MDE6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICBmaXggZGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3QKCjIwMDUtMTAtMTMgMTU6Mjg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOiBtb3JlIHR5cG8gZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkgIG1vcmUgdHlwbyBmaXhlcwoKMjAwNS0xMC0xMiAxNDozMDozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvYTUyZGVjL2dzdGE1MmRlYy5jOiAoZ3N0X2E1MmRlY19pbml0KToKCSAgKiBleHQvZHZkbmF2L2R2ZG5hdnNyYy5jOiAoZHZkbmF2c3JjX2lzX29wZW4pLAoJICAoZHZkbmF2c3JjX3NldF9wcm9wZXJ0eSksIChkdmRuYXZzcmNfb3BlbiksIChkdmRuYXZzcmNfY2xvc2UpLAoJICAoZHZkbmF2c3JjX2V2ZW50KSwgKGR2ZG5hdnNyY19jb252ZXJ0KSwgKGR2ZG5hdnNyY19xdWVyeSk6CgkgICogZXh0L2R2ZHJlYWQvZHZkcmVhZHNyYy5jOiAoZHZkcmVhZHNyY19zZXRfcHJvcGVydHkpLAoJICAoZHZkcmVhZHNyY19zcmNwYWRfcXVlcnkpLCAoZHZkcmVhZHNyY19nZXQpLAoJICAoZHZkcmVhZHNyY19vcGVuX2ZpbGUpLCAoZHZkcmVhZHNyY19jbG9zZV9maWxlKToKCSAgKiBleHQvZHZkcmVhZC9kdmRyZWFkc3JjLmg6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICAqIGdzdC9hc2ZkZW11eC9nc3Rhc2ZkZW11eC5jOiAoZ3N0X2FzZl9kZW11eF9pbml0KToKCSAgKiBnc3QvYXNmZGVtdXgvZ3N0YXNmbXV4LmM6IChnc3RfYXNmbXV4X2luaXQpOgoJICAqIGdzdC9pZWM5NTgvYWMzaWVjLmg6CgkgICogZ3N0L21wZWdzdHJlYW0vZ3N0ZHZkZGVtdXguYzogKGdzdF9kdmRfZGVtdXhfaW5pdCk6CgkgICogZ3N0L21wZWdzdHJlYW0vZ3N0bXBlZ2RlbXV4LmM6IChnc3RfbXBlZ19kZW11eF9pbml0KToKCSAgKiBnc3QvbXBlZ3N0cmVhbS9nc3RtcGVncGFyc2UuYzogKGdzdF9tcGVnX3BhcnNlX2luaXQpOgoJICAqIGdzdC9tcGVnc3RyZWFtL2dzdHJmYzIyNTBlbmMuYzogKGdzdF9yZmMyMjUwX2VuY19pbml0KToKCSAgKiBnc3Qvc3luYWVzdGhlc2lhL2dzdHN5bmFlc3RoZXNpYS5jOiAoZ3N0X3N5bmFlc3RoZXNpYV9pbml0KToKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksCgkgIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLAoJICAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksCgkgIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwKCSAgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwKCSAgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLAoJICAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwKCSAgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwKCSAgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLAoJICAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLAoJICAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwKCSAgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksCgkgIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0xMC0xMiAxNDoyOTo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9vcGVuX2F1ZGlvKSwKCSAgKGdzdF9lc2Rtb25fY2xvc2VfYXVkaW8pLCAoZ3N0X2VzZG1vbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9lc2QvZXNkbW9uLmg6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0b3ZlcmxheV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfaW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCk6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlmaWxlc3JjX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNyY19nZXQpLCAoZ3N0X211bHRpZmlsZXNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNyY19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6IChnc3RfcGlwZWZpbHRlcl9pbml0KSwKCSAgKGdzdF9waXBlZmlsdGVyX29wZW5fZmlsZSksIChnc3RfcGlwZWZpbHRlcl9jbG9zZV9maWxlKSwKCSAgKGdzdF9waXBlZmlsdGVyX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogKGdzdF9vc3hhdWRpb3NpbmtfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0xMC0xMiAwMzoxNDo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRpc3QgY2Fpcm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc3QgY2Fpcm8KCjIwMDUtMTAtMTIgMDM6MTI6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0LzogdXBkYXRlIG9mIGNhaXJvLWJhc2VkIHRpbWVvdmVybGF5IHRvIDEuMCBDYWlybyBBUEkgZG9lc24ndCB3b3JrIHlldCBmb3IgcmVzaXppbmcgb2Ygb3V0cHV0IHNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0b3ZlcmxheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X3RpbWVvdmVybGF5X3VwZGF0ZV9mb250X2hlaWdodCksCgkgIChnc3RfdGltZW92ZXJsYXlfc2V0dXApLCAoZ3N0X3RpbWVvdmVybGF5X3BsYW5hcjQxMSk6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIHVwZGF0ZSBvZiBjYWlyby1iYXNlZCB0aW1lb3ZlcmxheSB0byAxLjAgQ2Fpcm8gQVBJCgkgIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHJlc2l6aW5nIG9mIG91dHB1dCBzaW5rCgoyMDA1LTEwLTEyIDAzOjA3OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgY2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGNoZWNrCgoyMDA1LTEwLTEyIDAzOjAzOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGdzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBnc3RjaGVjawoKMjAwNS0xMC0xMSAxNzozODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBuZXdzZWdtZW50IEFQSSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2V2ZW50KSwgKHNwZWV4X2RlY19jaGFpbik6CgkgIG5ld3NlZ21lbnQgQVBJIGZpeC4KCjIwMDUtMTAtMTEgMTY6MzQ6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCjIwMDUtMTAtMTEgMTY6MzM6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fZXZlbnQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX3N0b3BfZmlsZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCjIwMDUtMTAtMTEgMTA6MDc6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBTaWduZWRuZXNzIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogU2lnbmVkbmVzcyBjbGVhbnVwcy4KCjIwMDUtMTAtMTAgMTk6NTc6NDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgU3BlZXhlbmMgcG9ydGVkIHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNwZWV4ZW5jIHBvcnRlZCB0byAwLjkuCgoyMDA1LTEwLTEwIDE0OjE2OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy86IENsZWFudXBzLCBtYWtlIGRldmljZSBjb25maWd1cmFibGUgaW4gdGhlIHNpbmssIGhhbmRsZSBhbmQgcmVwb3J0IGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NpbmtfaW5pdCksIChnc3Rfb3NzX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3Nfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X29zc19zaW5rX29wZW4pLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpLCAoZ3N0X29zc19zaW5rX3Jlc2V0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X29zc19zcmNfaW5pdCksIChnc3Rfb3NzX3NyY19vcGVuKSwKCSAgKGdzdF9vc3Nfc3JjX3ByZXBhcmUpOgoJICBDbGVhbnVwcywgbWFrZSBkZXZpY2UgY29uZmlndXJhYmxlIGluIHRoZSBzaW5rLCBoYW5kbGUgYW5kIHJlcG9ydAoJICBlcnJvcnMuCgoyMDA1LTEwLTEwIDEyOjMxOjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2djb25mLzogTWFrZSBzdXJlIGVsZW1lbnQgaXMgTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSB0aGUgYmluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KToKCSAgTWFrZSBzdXJlIGVsZW1lbnQgaXMgTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSB0aGUgYmluLgoKMjAwNS0xMC0wNyAxNjoyODoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgRG9uJ3QgdW5yZWYgdGhlIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpOiBEb24ndCB1bnJlZiB0aGUgbWVzc2FnZS4KCjIwMDUtMTAtMDcgMTY6MjI6NTkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIGNhYmxlIGlzIHVucGx1Z2dlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCk6IFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIGNhYmxlIGlzCgkgIHVucGx1Z2dlZC4KCSAgKGdzdF9kdjEzOTRzcmNfY3JlYXRlLCBnc3RfZHYxMzk0c3JjX3VubG9jayk6IFJlbW92ZSBzb21lIHByaW50cy4KCjIwMDUtMTAtMDcgMTU6MjQ6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0IGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0CgkgIGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgoyMDA1LTEwLTA3IDEzOjE3OjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogQ2xlYW4gdXAgZm9yIHN0eWxlIGJlZm9yZSBkb2luZyBzb21lIGhhY2tpbmcuIFRoZSBvbmx5IGNoYW5nZSBzaG91bGQgYmUgdGhhdCB0aGUgc3RhdGUgY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IENsZWFuIHVwIGZvciBzdHlsZSBiZWZvcmUgZG9pbmcgc29tZQoJICBoYWNraW5nLiBUaGUgb25seSBjaGFuZ2Ugc2hvdWxkIGJlIHRoYXQgdGhlIHN0YXRlIGNoYW5nZSBzdHVmZiB3YXMKCSAgcHV0IGludG8gYmFzZXNyYydzIHN0YXJ0KCkgYW5kIHN0b3AoKSByb3V0aW5lcywgd2hpY2ggY29hbGVzY2VzCgkgIHNvbWUgc3RlcHMuCgoyMDA1LTEwLTA3IDExOjMwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgY2hlY2sgZm9yIG1tYXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgY2hlY2sgZm9yIG1tYXAKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgIE9ubHkgY29tcGlsZSBlZmVuY2UgcGx1Z2luIG9uIHN5c3RlbXMgdGhhdCBoYXZlIG1tYXAuCgoyMDA1LTEwLTA1IDE2OjM2OjU3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgZmlsZXMKCjIwMDUtMTAtMDUgMTE6Mzg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvOiBQb3J0IHByb2dyZXNzcmVwb3J0LCBuYXZzZWVrLCBuYXZpZ2F0aW9udGVzdCwgdGVzdHNpbmsgYW5kIGJyZWFrbXlkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgIFBvcnQgcHJvZ3Jlc3NyZXBvcnQsIG5hdnNlZWssIG5hdmlnYXRpb250ZXN0LCB0ZXN0c2luayBhbmQKCSAgYnJlYWtteWRhdGEuCgoyMDA1LTEwLTA1IDExOjE1OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogRml4ZXMgZm9yIGJldHRlciBjb252ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpOgoJICBGaXhlcyBmb3IgYmV0dGVyIGNvbnZlcnNpb24KCjIwMDUtMTAtMDQgMTc6NTg6NDAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogU2V0IHN0YXRlIG9mIGVsZW1lbnRzIHRvIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gYmlucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgIFNldCBzdGF0ZSBvZiBlbGVtZW50cyB0byBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIGJpbnMuCgkgIFNldCBzdGF0ZSBvZiB0ZXN0IGVsZW1lbnQgdG8gTlVMTCBpZiB3ZSBmYWlsZWQgdG8gbW92ZSBpdCB0byBSRUFEWQoKMjAwNS0xMC0wNCAxNzo0NDo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi86IEFkZGVkIERFRkFVTFQgPD09PiBCWVRFUywgVElNRSBjb252ZXJzaW9ucyBvbiBzcmNwYWQsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwgKGdzdF9kdmRlbXV4X3NyY19jb252ZXIpOgoJICBBZGRlZCBERUZBVUxUIDw9PT4gQllURVMsIFRJTUUgY29udmVyc2lvbnMgb24gc3JjcGFkLAoJICBDb3JyZWN0ZWQgdGhlIHF1ZXJ5IGZ1bmN0aW9uIGZvciBwb3NpdGlvbiBzbyBpdCBkb2Vzbid0IGZvcmdldCB3aGF0CgkgIGZvcm1hdCB3YXMgYXNrZWQsIGFuZCBjYWxscyB0aGUgY29udmVyc2lvbiBmdW5jdGlvbnMgb24gdGhlIGNvcnJlY3QgcGFkLgoKMjAwNS0xMC0wMyAxNzo1OToxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS4zID09PQoKMjAwNS0xMC0wMyAxNzo0ODo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFQURNRToKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2UgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzZSB0aW1lCgoyMDA1LTEwLTAyIDIzOjA4OjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXRlKTogRGVhbCB3aXRoIHBhZF9hbGxvYyBlcnJvciByZXR1cm5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXRlKTogRGVhbCB3aXRoIHBhZF9hbGxvYwoJICBlcnJvciByZXR1cm5zLgoKMjAwNS0xMC0wMiAxNTozMzoxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiBDaGFuZ2UgdG8gYmUgbGlrZSAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiBDaGFuZ2UgdG8gYmUgbGlrZSAtYmFzZS4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFBvcnRlZCB0byAwLjkuCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY19sb29wKTogSGFuZGxlIGVycm9ycyBiZXR0ZXIuCgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06IEFkZCB0aGUgR1NUX1BMVUdJTlNfQkFTRSBjZmxhZ3MgYW5kIGxpYnMsCgkgIGFuZCBsaW5rIHRvIGdzdHRhZ2VkaXQuIEVuYWJsZSBmbGFjZW5jLgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogUmUtZW5hYmxlIHRhZyByZWFkaW5nLgoKMjAwNS0wOS0zMCAxNjozNjo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBWYXJpb3VzIGNsYXNzIGFuZCBjYXBzIGZpeGVzIGZyb20gQW5kcmUgTWFnYWxoYWVzIChhbmRydW5rbykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzogKGdzdF9ydHBhbXJlbmNfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfaGFuZGxlX2J1ZmZlcik6CgkgIFZhcmlvdXMgY2xhc3MgYW5kIGNhcHMgZml4ZXMgZnJvbSBBbmRyZSBNYWdhbGhhZXMgKGFuZHJ1bmtvKQoKMjAwNS0wOS0yOSAxMzowODo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IFVwZGF0ZSBmb3IgbmV3IGJ1cyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtYWluKToKCSAgVXBkYXRlIGZvciBuZXcgYnVzIEFQSS4KCjIwMDUtMDktMjggMTM6Mzg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgIE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoKMjAwNS0wOS0yOCAwOTo0NTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHVuZXhwYW5kZWQgYXV0b2NvbmYgbWFjcm8gR1NUX0RPQywgd2hpY2ggaGFzIGJlZW4gcmVuYW1lZCB0byBHU1RfRE9DQk9PS19DSEVDSyAoc2VlIGNvbW1vbi9tNC9nc3QtZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCB1bmV4cGFuZGVkIGF1dG9jb25mIG1hY3JvIEdTVF9ET0MsIHdoaWNoIGhhcyBiZWVuIHJlbmFtZWQKCSAgdG8gR1NUX0RPQ0JPT0tfQ0hFQ0sgKHNlZSBjb21tb24vbTQvZ3N0LWRvYy5tNCkgKCMzMTYyMDIpLgoKMjAwNS0wOS0yNyAxNToxMjo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBGaXggcGxheWJhY2sgb2YgbW9ubyBzdHJlYW1zIChieXRlc19wZXJfc2FtcGxlIHNob3VsZCBiZSBzZXQgZnJvbSB0aGUgc2FtcGxlIHdpZHRoIGFuZCB0aGUgbnVtYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19wcmVwYXJlKToKCSAgRml4IHBsYXliYWNrIG9mIG1vbm8gc3RyZWFtcyAoYnl0ZXNfcGVyX3NhbXBsZSBzaG91bGQgYmUgc2V0CgkgIGZyb20gdGhlIHNhbXBsZSB3aWR0aCBhbmQgdGhlIG51bWJlciBvZiBjaGFubmVscyBuZWdvdGlhdGVkLAoJICBhbmQgbm90IGp1c3QgYmUgc2V0IHRvIDQpICgjMzE3MzM4KQoKMjAwNS0wOS0yNiAxNDo1OToxMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgYXVwYXJzZSB0byBwbHVnaW5zIGxpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhdXBhcnNlIHRvIHBsdWdpbnMgbGlzdAoKMjAwNS0wOS0yNiAxNDo0MjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IFNldCBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19mbHVzaCksCgkgIChnc3RfcnRwbXBhZW5jX2hhbmRsZV9idWZmZXIpOgoJICBTZXQgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseS4KCjIwMDUtMDktMjYgMTM6MDY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IGNyYXNoIHdoZW4gZW5jb3VudGVyaW5nIGEgc3RyZWFtIHdpdGggYW4gdW5rbm93biBmb3VyY2Mgb3IgY29kZWMgaWQuIEluc3RlYWQsIGNyZWF0ZSBhIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvdW50ZXJpbmcgYSBzdHJlYW0gd2l0aCBhbiB1bmtub3duIGZvdXJjYyBvcgoJICBjb2RlYyBpZC4gSW5zdGVhZCwgY3JlYXRlIGEgcGFkIG9mIHR5cGUgdmlkZW8veC1hdmktdW5rbm93biBvcgoJICBhdWRpby94LWF2aS11bmtub3duLCB3aGljaCBhcyBhIHNpZGUtZWZmZWN0IGFsc28gcmVzdWx0cyBpbiBsZXNzCgkgIGNvbmZ1c2luZyBlcnJvciBtZXNzYWdlcyBpbiBwbGF5ZXJzICgnbm8gZGVjb2RlcicgdnMuICdubyBzdHJlYW1zJyk7CgkgIG1pbm9yIGZpeGVzIHRvIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbmQgY2xhc3NfaW5pdCBmdW5jdGlvbi4KCjIwMDUtMDktMjQgMTM6MzQ6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzZXQgdXAgcGx1Z2luIHBhdGhzIHByb3Blcmx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZXQgdXAgcGx1Z2luIHBhdGhzIHByb3Blcmx5CgoyMDA1LTA5LTI0IDEzOjEwOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBUaGVzZSBhcmUgc2lua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KToKCSAgVGhlc2UgYXJlIHNpbmtzLgoKMjAwNS0wOS0yNCAxMjoxMDowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiBmaXggdGVzdCBmb3IgbmV3IEdzdENsb2NrVGltZSB1c2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgZml4IHRlc3QgZm9yIG5ldyBHc3RDbG9ja1RpbWUgdXNlCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCksIChnc3RfbGV2ZWxfc2V0X2NhcHMpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGZpeCB1cCB0aGUgZGVjYXkgcGVhaywgZW5zdXJpbmcgdGhlIGRlY2F5IHBlYWsgaXMgbmV2ZXIgbG93ZXIKCSAgdGhhbiB0aGUgcGVhayBmb3IgdGhhdCBpbnRlcnZhbAoKMjAwNS0wOS0yMyAxODoyMzowNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB1cGRhdGluZyBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGluZyBkb2NzCgoyMDA1LTA5LTIzIDE4OjE1OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGNvbW1vbjoKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGNvbnZlcnQgdG8gdXNpbmcgR3N0Q2xvY2tUaW1lIGZvciBhbGwgdGltZSB2YWx1ZXMsIGZpbmFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb252ZXJ0IHRvIHVzaW5nIEdzdENsb2NrVGltZSBmb3IgYWxsIHRpbWUgdmFsdWVzLCBmaW5hbGx5LgoKMjAwNS0wOS0yMyAxNTowMTowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIG9mIGdvb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBvZiBnb29tCgoyMDA1LTA5LTIzIDE0OjIwOjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHdlIGhhbmRsZSBtb3JlIHRoYW4gdHdvIGNoYW5uZWxzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3ZSBoYW5kbGUgbW9yZSB0aGFuIHR3byBjaGFubmVscwoKMjAwNS0wOS0yMyAwNDoyMzowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCjIwMDUtMDktMjIgMjI6Mzg6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBBdXBhcnNlIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBhdXBhcnNlICEgb3Nzc2luayBhbmQgYWxzYXNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEF1cGFyc2UgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGF1cGFyc2UgISBvc3NzaW5rIGFuZCBhbHNhc2luawoKMjAwNS0wOS0yMiAxNDoxMzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBVc2UgaXNfZmlsbGVkIHRvIGJvdGggY2hlY2sgTVRVIGFuZCBtYXgtcHRpbWUgb2YgYmFzZSBjbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9UT0RPOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2dldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5oOgoJICBVc2UgaXNfZmlsbGVkIHRvIGJvdGggY2hlY2sgTVRVIGFuZCBtYXgtcHRpbWUgb2YgYmFzZSBjbGFzcy4KCjIwMDUtMDktMjIgMTE6Mjg6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogRG9uJ3QgZnJhZ21lbnQgcGFja2V0cyB3aXRoIG11bHRpcGxlIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLCAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpOgoJICBEb24ndCBmcmFnbWVudCBwYWNrZXRzIHdpdGggbXVsdGlwbGUgZnJhbWVzLgoKMjAwNS0wOS0yMiAxMDozOToxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBSZW1vdmUgZ19wcmludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9UT0RPOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOiAoZ3N0X3J0cG1wNHZkZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2luaXQpLCAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksCgkgIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwbXA0dmVuY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJICBSZW1vdmUgZ19wcmludC4KCSAgVXBkYXRlIFRPRE8KCSAgTWFrZSBwYXlsb2FkIGVuY29kZXIgYSBiaXQgc21hcnRlciBhbmQgbW9yZSBjb3JyZWN0IHdpdGgKCSAgdGltZXN0YW1wcy4KCSAgQWRkZWQgb3B0aW9uIGluIHBheWxvYWRlciB0byBpbmNsdWRlIGNvbmZpZyBzdHJpbmcgaW4tYmFuZC4KCjIwMDUtMDktMjEgMTk6NDE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFN0cmlwIHNwYWNlcyBmb3Iga2V5L3ZhbHVlIHBhaXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBTdHJpcCBzcGFjZXMgZm9yIGtleS92YWx1ZSBwYWlycy4KCjIwMDUtMDktMjEgMTc6NTM6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE1vcmUgU0RQIHBhcnNpbmcgYW5kIGNhcHMgc2V0dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIE1vcmUgU0RQIHBhcnNpbmcgYW5kIGNhcHMgc2V0dGluZy4KCSAgRG8gTk9fUFJFUk9MTCBkaWZmZXJlbnRseS4KCSAgYWRkIHBhZHMgb25seSBhZnRlciBuZWdvdGlhdGVkLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19nZXRjYXBzKToKCSAgSW1wbGVtZW50IHRoZSBnZXRjYXBzIGZ1bmN0aW9uLgoKMjAwNS0wOS0yMSAxNzo1MDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6IEhhbmRsZSBtdWx0aXBsZSBBTXIgcGFja2V0cyBwZXIgcGF5bG9hZC4gSGFuZGxlIENSQyBhbmQgcGFyc2UgSUxML0lMUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzogKGdzdF9ydHBhbXJkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBhbXJkZWNfY2hhaW4pOgoJICBIYW5kbGUgbXVsdGlwbGUgQU1yIHBhY2tldHMgcGVyIHBheWxvYWQuIEhhbmRsZSBDUkMgYW5kCgkgIHBhcnNlIElMTC9JTFAuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzogKGdzdF9ydHBhbXJlbmNfc2V0Y2Fwcyk6CgkgIE1ha2UgY2FwcyBwYXJhbXMgc3RyaW5ncyBmb3IgZWFzeSBTRFAgbWFwcGluZy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19pbml0KSwgKGdzdF9ydHBkZWNfZ2V0Y2Fwcyk6CgkgIEhhbmRsZSBjYXBzbmVnbyBiZXR0ZXIuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6IChnc3RfcnRwbXA0dmRlY19zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX25ld19jYXBzKToKCSAgR2VuZXJhdGUgYW5kIHBhcnNlIGNvbmZpZyBzdHJpbmcgaW4gdGhlIGNhcHMuCgoyMDA1LTA5LTIxIDEyOjE5OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFVwZGF0ZSBSRUFETUUKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOiAoZ3N0X3J0cGFtcmRlY19zaW5rX3NldGNhcHMpOgoJICBNYWtlIGV4dHJhIHBhcmFtcyBhcyBzdHJpbmdzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9zdGF0ZSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwgKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBNYWtlIHN0YXRlIGNoYW5nZSByZXR1cm4gTk9fUFJFUk9MTCBhcyB0aGlzIGlzIGEgbGl2ZQoJICBzb3VyY2UuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgRG9uJ3QgdW5yZWYgb2xkIGNhcHMgd2hlbiBOVUxMLgoKMjAwNS0wOS0yMCAxNzozNToxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIFVSSSBoYW5kbGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF9wcm90b2NvbHMpLCAoZ3N0X3J0c3BzcmNfdXJpX2dldF91cmkpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpLCAoZ3N0X3J0c3BzcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lZGlhX2dldF9mb3JtYXQpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgQWRkIFVSSSBoYW5kbGVyLgoJICBQYXJzZSBTRFAgYW5kIGNyZWF0ZSBjYXBzLgoKMjAwNS0wOS0yMCAxNzoxOTo0MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBtb3JlIHNwZWMgZmlsZSBmaXhvcmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBzcGVjIGZpbGUgZml4b3JpbmcKCjIwMDUtMDktMjAgMTc6MDQ6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0LXBsdWdpbnMuc3BlYy5pbjoKCSAgZml4IHNwZWMgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBzcGVjIGZpbGVzCgoyMDA1LTA5LTIwIDEwOjUxOjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIGRvbid0IHVzZSB1bmRlcnNjb3JlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgdXNlIHVuZGVyc2NvcmVzCgoyMDA1LTA5LTIwIDA3OjMwOjMxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogZml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDA1LTA5LTE5IDE3OjU3OjA2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgcHJlcmVxcyBhcyB3ZWxsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwcmVyZXFzIGFzIHdlbGwKCjIwMDUtMDktMTkgMTc6NTM6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICBjb21taXQgcmVzdWx0IG9mIHNjYW5vYmogc3RlcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWl0IHJlc3VsdCBvZiBzY2Fub2JqIHN0ZXAKCjIwMDUtMDktMTkgMTc6MDM6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6IERvbid0IGNoZWNrIHBheWxvYWQgZm9yIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOiAoZ3N0X3J0cGgyNjNwZGVjX2NoYWluKToKCSAgRG9uJ3QgY2hlY2sgcGF5bG9hZCBmb3Igbm93LgoKMjAwNS0wOS0xOSAxNjo0Mzo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoKMjAwNS0wOS0xOSAxNjoyNjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBGaXggd2F2cGFyc2Ugc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfaW5pdCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEZpeCB3YXZwYXJzZSBzb21lIG1vcmUuCgoyMDA1LTA5LTE5IDExOjQ4OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogRml4IGZvciBidXMgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGZvciBidXMgQVBJIGNoYW5nZS4KCjIwMDUtMDktMTkgMTE6Mzg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiBGaXggZm9yIG5ldyBidXMgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWFpbik6CgkgIEZpeCBmb3IgbmV3IGJ1cyBBUEkuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgU2V0IGNhcHMgb24gcGFkcy4KCjIwMDUtMDktMTkgMTE6MDc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NoYWluKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDUtMDktMTkgMTE6MDY6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICBkaXNhYmxlIGZsYWdzIGZvciB1bmJ1aWx0IHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc2FibGUgZmxhZ3MgZm9yIHVuYnVpbHQgcGx1Z2lucwoKMjAwNS0wOS0xOSAwODoyMToyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9zY2Fub2JqLWJ1aWxkLnN0YW1wOgoJICBub3JtYWwgYnVpbGRzIHNob3VsZG4ndCBzY2FuIGdvYmplY3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBub3JtYWwgYnVpbGRzIHNob3VsZG4ndCBzY2FuIGdvYmplY3RzCgoyMDA1LTA5LTE2IDE2OjA0OjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBjbGVhbiB1cCBmdXJ0aGVyIHNvIHdlIGRvbid0IHRyeSB0byBzZXQgdXAgZml2ZSB0aW1lcyBmb3IgYSBzaW1wbGUgcGlwZWxpbmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuIHVwIGZ1cnRoZXIgc28gd2UgZG9uJ3QgdHJ5IHRvIHNldCB1cCBmaXZlIHRpbWVzIGZvcgoJICBhIHNpbXBsZSBwaXBlbGluZQoKMjAwNS0wOS0xNiAwMDozODo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgcmVtb3ZlIGdzdC1yZWdpc3RlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGdzdC1yZWdpc3RlcgoKMjAwNS0wOS0xNSAxMzo1Nzo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgIFVwZGF0ZXMgdG8gcGF5bG9hZGVyL2RlcGF5bG9hZGVycywgbWFrZSBwYXlsb2FkZXJzIHVzZSB0aGUgYmFzZSBjbGFzc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlcyB0byBwYXlsb2FkZXIvZGVwYXlsb2FkZXJzLCBtYWtlIHBheWxvYWRlcnMgdXNlCgkgIHRoZSBiYXNlIGNsYXNzZXMuCgkgIFVwZGF0ZWQgUkVBRE1FIHdpdGggc3VnZ2VzdGVkIFJUUCBjYXBzIGFuZCBob3cgdG8gY29udmVydAoJICB0by9mcm9tIFNEUC4KCSAgQWRkZWQgY29uZmlnIGRlc2NyaXB0b3IgaW4gbXA0diBwYXlsb2FkZXIuCgoyMDA1LTA5LTE1IDEwOjQ3OjU4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmMgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KTogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTE1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYyAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYwoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpOiBVcGRhdGUgZm9yIG5ldyByZWdpc3RyeSBBUEkuCgoyMDA1LTA5LTE0IDIwOjUxOjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbW1vbi86IGEgc2ltcGxlIHB5IHNjcmlwdCB0byBnZW5lcmF0ZSB2YWxpZCB4bWwgZnJvbSBhIEMgZXhhbXBsZSBwcm9iYWJseSBhbHNvIG5lZWQgdG8gc3RyaXAgYW4gTUlUIGxpY2Vuc2Ugd2hlbiB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb21tb24vYy10by14bWwucHk6CgkgICogY29tbW9uL2d0ay1kb2MtcGx1Z2lucy5tYWs6CgkgIGEgc2ltcGxlIHB5IHNjcmlwdCB0byBnZW5lcmF0ZSB2YWxpZCB4bWwgZnJvbSBhIEMgZXhhbXBsZQoJICBwcm9iYWJseSBhbHNvIG5lZWQgdG8gc3RyaXAgYW4gTUlUIGxpY2Vuc2Ugd2hlbiB3ZSBkZWNpZGUKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIGFkZCBhbiBleGFtcGxlIHRvIGxldmVsIHRoYXQgd2lsbCBzaG93IHVwIGluIHRoZSBkb2NzCgkgICogZ3N0L3J0cC9UT0RPOgoJICBhZGQgYSBub3RlIGZvciB0aGUgZnV0dXJlCgoyMDA1LTA5LTE0IDExOjQ0OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBBY3R1YWxseSBkZWZpbmUgdGhlIGRlYnVnIG9iamVjdCBiZWluZyB1c2VkIGluIHdhdmVuYy4gRml4ZXMgIzMxNjIwNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jbGFzc19pbml0KToKCSAgQWN0dWFsbHkgZGVmaW5lIHRoZSBkZWJ1ZyBvYmplY3QgYmVpbmcgdXNlZCBpbiB3YXZlbmMuIEZpeGVzICMzMTYyMDUKCjIwMDUtMDktMTQgMTE6MjM6NDQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICBMaW5rIHNtcHRlIHBsdWdpbiBhZ2FpbnN0IEdTVF9CQVNFX0xJQlMsIHRvIGdldCBsaWJnc3RiYXNlOyBuZWVkZWQgdG8gYnVpbGQgb24gd2luMzIgYXMgdGhpcyBwbHVnaW4gdXNlcyBjb2xsZWN0cGFkcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIExpbmsgc21wdGUgcGx1Z2luIGFnYWluc3QgR1NUX0JBU0VfTElCUywgdG8gZ2V0IGxpYmdzdGJhc2U7IG5lZWRlZCB0bwoJICBidWlsZCBvbiB3aW4zMiBhcyB0aGlzIHBsdWdpbiB1c2VzIGNvbGxlY3RwYWRzIChidWcgMzE2MjA0KQoKMjAwNS0wOS0xMiAxNjozNzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCB1cCBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCjIwMDUtMDktMTIgMTY6MTQ6NDggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGF1dG9nZW4uc2ggKHBhY2thZ2UpOiBOb3cgdHlwZSAnbWFrZScgdG8gYnVpbGQgZ3N0LXBsdWdpbnMtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMTIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogYXV0b2dlbi5zaCAocGFja2FnZSk6IE5vdyB0eXBlICdtYWtlJyB0byBidWlsZCBnc3QtcGx1Z2lucy1nb29kLgoKMjAwNS0wOS0xMSAxNzo1MjowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBhZGQgc291cmNlIG1vZHVsZSB0byBkb2NzOyByZWluc3BlY3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb3VyY2UgbW9kdWxlIHRvIGRvY3M7IHJlaW5zcGVjdAoKMjAwNS0wOS0wOSAxNzo1Njo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIGZkc3JjIGJhY2sgaW50byBnc3RyZWFtZXIgY29yZSBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mZHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmRzcmMvZ3N0ZmRzcmMuYzoKCSAgKiBnc3QvZmRzcmMvZ3N0ZmRzcmMuaDoKCSAgTW92ZSBmZHNyYyBiYWNrIGludG8gZ3N0cmVhbWVyIGNvcmUgZWxlbWVudHMuCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KToKCSAgQmFzZXRyYW5zZm9ybSBjaGFuZ2VzLgoKMjAwNS0wOS0wOSAxNjoxMTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMDUtMDktMDkgMTE6MDk6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOiBzcGVjIGZpbGUgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBzcGVjIGZpbGUgZml4ZXMKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfY2xlYXIpOgoJICBpdCBhY3R1YWxseSBoZWxwcyB0byBhY3R1YWxseSBzdHJlYW0gaWYgd2UgaG9vayB1cCB0aGUKCSAgYWRkIHNpZ25hbCB0byBhbiBhY3R1YWwgaW1wbGVtZW50YXRpb24KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIHNvbWUgZGVidWdnaW5nCgoyMDA1LTA5LTA4IDE2OjU4OjQwICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSAganBnZW5jIHBvcnRlZCB0byBHU1RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqcGdlbmMgcG9ydGVkIHRvIEdTVHJlYW1lciAwLjkKCjIwMDUtMDktMDggMTY6MjY6MTcgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJICBqcGVnZW5jIHBvcnRlZCB0byBHU3RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqcGVnZW5jIHBvcnRlZCB0byBHU3RyZWFtZXIgMC45CgoyMDA1LTA5LTA3IDEzOjQ5OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvOiBnc3R0YWdpbnRlcmZhY2UuaCAtPiBnc3R0YWdzZXR0ZXIuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgZ3N0dGFnaW50ZXJmYWNlLmggLT4gZ3N0dGFnc2V0dGVyLmgKCjIwMDUtMDktMDYgMjM6MzA6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCB0byAwLjkgYW5kIHJlLWVuYWJsZSBlZmVuY2UgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfY2xhc3NfaW5pdCksIChnc3RfZWZlbmNlX2luaXQpLAoJICAoZ3N0X2VmZW5jZV9jaGFpbiksIChnc3RfZWZlbmNlX2J1ZmZlcl9hbGxvYyksIChwbHVnaW5faW5pdCksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfZmVuY2VkX2J1ZmZlcl9jb3B5KSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2FsbG9jKSwgKGdzdF9mZW5jZWRfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfaW5pdCksIChnc3RfZmVuY2VkX2J1ZmZlcl9nZXRfdHlwZSk6CgkgIFBvcnQgdG8gMC45IGFuZCByZS1lbmFibGUgZWZlbmNlIHBsdWdpbi4KCjIwMDUtMDktMDYgMjE6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IEFkZCBzdXBwb3J0IGZvciBmbGFjIGZpbGVzIHdpdGggMjQvMzIgYml0cyBwZXIgc2FtcGxlOyBhbmQgbWlzYy4gbWlub3IgY2xlYW4tdXBzLiBTZWVraW5nIGlzIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZmxhY19jYXBzX2ZhY3RvcnkpLCAocmF3X2NhcHNfZmFjdG9yeSksCgkgIChnc3RfZmxhY2RlY193cml0ZSksIChnc3RfZmxhY2RlY19jb252ZXJ0X3NyYyk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZmxhYyBmaWxlcyB3aXRoIDI0LzMyIGJpdHMgcGVyIHNhbXBsZTsgYW5kIG1pc2MuCgkgIG1pbm9yIGNsZWFuLXVwcy4gU2Vla2luZyBpcyBzdGlsbCBwYXJ0bHkgYnJva2VuIChmb3IgbWUgYXQgbGVhc3QpLgoKMjAwNS0wOS0wNiAxNTo1MDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBtcGVnNCB2aWRlbyBwYXlsb2FkIGVuY29kZXIvZGVjb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOiAoZ3N0X3J0cG1wNHZkZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cG1wNHZkZWNfYmFzZV9pbml0KSwgKGdzdF9ydHBtcDR2ZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZkZWNfaW5pdCksIChnc3RfcnRwbXA0dmRlY19zZXRjYXBzKSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2NoYWluKSwgKGdzdF9ydHBtcDR2ZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwbXA0dmRlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cG1wNHZkZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBtcDR2ZGVjX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2dldF90eXBlKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2Jhc2VfaW5pdCksIChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2luaXQpLCAoZ3N0X3J0cG1wNHZlbmNfc2V0Y2FwcyksCgkgIChnc3RfcnRwbXA0dmVuY19mbHVzaCksIChnc3RfcnRwbXA0dmVuY19jaGFpbiksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cG1wNHZlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwbXA0dmVuY19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzogKGdzdF9ydHBtcGFkZWNfY2hhaW4pOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2ZsdXNoKToKCSAgQWRkZWQgbXBlZzQgdmlkZW8gcGF5bG9hZCBlbmNvZGVyL2RlY29kZXIuCgkgIEFkZGVkIHNvbWUgZG9jcyBpbiBtcGEgcGF5bG9hZGVyLgoKMjAwNS0wOS0wNiAxNDowNjo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuMSA9PT0KCjIwMDUtMDktMDYgMTQ6MDU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUFETUU6CgkqIFJFTEVBU0U6CgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC45LjIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuMgoKMjAwNS0wOS0wNSAxNzoyMDoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNS0wOS0wNSAxNjoyODoxNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfY2hhaW4pOiBNb3ZlIHRoZSBwYWQgYWRkaW5nIGhlcmUgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGhhbmRsZXIsIHNvIHdlIGZpcmUgc2lnbmFscyB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2NoYWluKTogTW92ZSB0aGUgcGFkIGFkZGluZwoJICBoZXJlIGZyb20gdGhlIHN0YXRlIGNoYW5nZSBoYW5kbGVyLCBzbyB3ZSBmaXJlIHNpZ25hbHMgd2l0aG91dAoJICBob2xkaW5nIHRoZSBzdGF0ZSBsb2NrLgoKMjAwNS0wOS0wNSAxNToxMDoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIGNsZWFuaW5nIHVwIGJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW5pbmcgdXAgYmFkCgoyMDA1LTA5LTA1IDEzOjE4OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIG1haW50ZW5hbmNlIGNvbW1pdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1haW50ZW5hbmNlIGNvbW1pdHMKCjIwMDUtMDktMDQgMTU6MDk6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QtYnVpbGQuc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZGlzdGNoZWNrIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXN0Y2hlY2sgZml4ZXMKCjIwMDUtMDktMDQgMTE6NTA6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIGZpeCBkaXN0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0Y2hlY2sKCjIwMDUtMDktMDIgMTU6NTY6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB2YXJpb3VzIHNwZWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgc3BlYyBmaXhlcwoKMjAwNS0wOS0wMiAxNTo0NDo1MCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2Zkc3JjL2dzdGZkc3JjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgoyMDA1LTA5LTAyIDE1OjQzOjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoKMjAwNS0wOS0wMSAyMToyNDo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIxOjIzOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjE6MjA6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMToxNTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIwOjIzOjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNoZWNrLy5naXRpZ25vcmU6CgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiBjaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiB0ZXN0cy9jaGVjay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQW5kcmV3aW8gUGF0cmlja29mb3J1cyBXaW5nb255bXVzIC0gNSBhZGRpdGlvbmFsIHRlc3RzIGZvciB5b3VyIHNpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFuZHJld2lvIFBhdHJpY2tvZm9ydXMgV2luZ29ueW11cyAtIDUgYWRkaXRpb25hbCB0ZXN0cyBmb3IgeW91ciBzaW5zCgkgIEFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgbGV2ZWwgYW5kIGZpeCBhIGNhc3RpbmcgYnVnIHRoYXQgbWFkZSB0aGUgYWRkaXRpb25hbAoJICBjaGFubmVscyB0dXJuIG91dCB3cm9uZwoKMjAwNS0wOS0wMSAxNzo1NToxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgZG9jcyB0byBidWlsZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgIGFkZCBkb2NzIHRvIGJ1aWxkCgkgICogY29tbW9uL3BsdWdpbnMueHNsOgoJICB3cmFwIERlc2NyaXB0aW9uIGludG8gYSByZWZzZWN0MgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2dldF90eXBlKSwgKGdzdF9nb29tX2Jhc2VfaW5pdCksCgkgIChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLCAoZ3N0X2dvb21fZGlzcG9zZSksCgkgIChnc3RfZ29vbV9zaW5rX3NldGNhcHMpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSksIChnc3RfZ29vbV9ldmVudCksIChnc3RfZ29vbV9jaGFpbiksCgkgIChnc3RfZ29vbV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgR3N0R09PTSAtPiBHc3RHb29tCgkgIGFkZCBhbiBleGFtcGxlIGxhdW5jaCBsaW5lCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgY2xlYW51cHMKCjIwMDUtMDgtMzEgMTY6Mjg6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2R2ZGxwY21kZWMvLmdpdGlnbm9yZToKCSogZ3N0L2R2ZGxwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRscGNtZGVjL2dzdGR2ZGxwY21kZWMuYzoKCSogZ3N0L2R2ZGxwY21kZWMvZ3N0ZHZkbHBjbWRlYy5oOgoJICByZW1vdmUgZHZkbHBjbWRlYywgaXQncyBkdmQgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBkdmRscGNtZGVjLCBpdCdzIGR2ZCBzdHVmZgoKMjAwNS0wOC0zMCAxOTo0MToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJICBhZGQgc29tZSBpMThuIGhlYWRlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb21lIGkxOG4gaGVhZGVycwoKMjAwNS0wOC0zMCAxOToyNDozNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA1LTA4LTMwIDE5OjI0OjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYWtlZmlsZS5hbQoKMjAwNS0wOC0zMCAxOToyMDowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjoKCSAgY29tbWl0IG5ldyBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWl0IG5ldyBzdHVmZgoKMjAwNS0wOC0zMCAxOTowMToxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSAgZG9jdW1lbnQgZWxlbWVudHMgYW5kIHBsdWdpbnMuICBTaGF6YW0gIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jdW1lbnQgZWxlbWVudHMgYW5kIHBsdWdpbnMuICBTaGF6YW0gIQoKMjAwNS0wOC0zMCAxNzozNzowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJKiBDT1BZSU5HOgoJKiBSRUxFQVNFOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBzb21lIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgc29tZSBmaWxlcwoKMjAwNS0wOC0xNyAxOTowNTo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkZWQgbXBlZ2F1ZGlvcGFyc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBZGRlZCBtcGVnYXVkaW9wYXJzZQoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NyY19nZXRjYXBzKSwKCSAgKGdzdF9sYW1lX3NyY19zZXRjYXBzKSwgKGdzdF9sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbGFtZV9zaW5rX2V2ZW50KSwgKGdzdF9sYW1lX2NoYWluKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgRml4IG1lbWxlYWsuCgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfbXAzcGFyc2VfaW5pdCksCgkgIChnc3RfbXAzcGFyc2VfY2hhaW4pLCAoZ3N0X21wM3BhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIFBvcnRlZCBtcGVnYXVkaW9wYXJzZQoKMjAwNS0wOC0xNiAxNjoxMjoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEZpeCBjb21waWxlIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW1ybmIvYW1ybmJwYXJzZS5jOiAoZ3N0X2Ftcm5icGFyc2VfcmVhZF9oZWFkZXIpOgoJICBGaXggY29tcGlsZSB3YXJuaW5nLgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xhbWVfc3JjX2dldGNhcHMpLCAoZ3N0X2xhbWVfc3JjX3NldGNhcHMpLAoJICAoZ3N0X2xhbWVfc2lua19zZXRjYXBzKSwgKGdzdF9sYW1lX2luaXQpLCAoZ3N0X2xhbWVfc2lua19ldmVudCksCgkgIChnc3RfbGFtZV9jaGFpbiksIChnc3RfbGFtZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgUG9ydCBsYW1lIHBsdWdpbgoKMjAwNS0wNy0wNSAxMDo1MTo0MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgV2F5LCB3YXksIHdheSB0b28gbWFueSBmaWxlczogUmVtb3ZlIGNyYWNrIGNvbW1lbnQgZnJvbSB0aGUgMjAwMCBlcmEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA3LTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIFdheSwgd2F5LCB3YXkgdG9vIG1hbnkgZmlsZXM6CgkgIFJlbW92ZSBjcmFjayBjb21tZW50IGZyb20gdGhlIDIwMDAgZXJhLgoKMjAwNC0xMC0yNiAxMTozNjo1MiArMDAwMCAgSWFpbiBIb2xtZXMgPGlhaW5AcHJldHR5cGVvcGxlLm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgTWVtb3J5IGxlYWsgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lbW9yeSBsZWFrIGZpeGVzCgkgIEFsbG93IGxldmVsIHRvIHRha2UgbW9ubyBvciBzdGVyZW8gYXVkaW8KCjIwMDQtMDgtMjYgMDA6MzI6MDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLio6IEFkZGVkIG5ldyBtZWRpYSBzdXBwb3J0IHRvIGxhbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDQtMDgtMjYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9pbml0KSwgKGdzdF9sYW1lX2NoYWluKToKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIEFkZGVkIG5ldyBtZWRpYSBzdXBwb3J0IHRvIGxhbWUKCjIwMDQtMDgtMTkgMjI6NDQ6NTAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBPbmx5IGVuYWJsZSBsYW1lIHByZXNldHMgaWYgdmVyc2lvbiBvZiBsYW1lIGhhcyBwcmVzZXRzIGluIEFQSQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0xOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9jbGFzc19pbml0KSwKCSAgKGdzdF9sYW1lX3NldF9wcm9wZXJ0eSksIChnc3RfbGFtZV9nZXRfcHJvcGVydHkpLCAoZ3N0X2xhbWVfc2V0dXApOgoJICBPbmx5IGVuYWJsZSBsYW1lIHByZXNldHMgaWYgdmVyc2lvbiBvZiBsYW1lIGhhcyBwcmVzZXRzIGluIEFQSQoKMjAwNC0wOC0xNSAxMzo0NzowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogZGVzY3JpYmUgdGhlIGVudW0gdmFsdWVzIGZvciB2YnIgbW9kZSBhbmQgcHJlc2V0cyBtb3JlIHZlcmJvc2VseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0xNSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3Zicm1vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xhbWVfcHJlc2V0X2dldF90eXBlKSwgKGdzdF9sYW1lX2NsYXNzX2luaXQpOgoJICBkZXNjcmliZSB0aGUgZW51bSB2YWx1ZXMgZm9yIHZiciBtb2RlIGFuZCBwcmVzZXRzIG1vcmUgdmVyYm9zZWx5CgoyMDA0LTA4LTEzIDE1OjIyOjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBhZGQgcHJlc2V0IHByb3BlcnR5IHRvIGxhbWUgc28gaXQgY2FuIHVzZSBsYW1lIHByZXNldHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDQtMDgtMTMgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9sYW1lX3F1YWxpdHlfZ2V0X3R5cGUpLCAoZ3N0X2xhbWVfcGFkZGluZ19nZXRfdHlwZSksCgkgIChnc3RfbGFtZV9wcmVzZXRfZ2V0X3R5cGUpLCAoZ3N0X2xhbWVfY2xhc3NfaW5pdCksIChnc3RfbGFtZV9pbml0KSwKCSAgKGdzdF9sYW1lX3NldF9wcm9wZXJ0eSksIChnc3RfbGFtZV9nZXRfcHJvcGVydHkpLCAoZ3N0X2xhbWVfc2V0dXApOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgYWRkIHByZXNldCBwcm9wZXJ0eSB0byBsYW1lIHNvIGl0IGNhbiB1c2UgbGFtZSBwcmVzZXRzCgoyMDA0LTA4LTEzIDE0OjU1OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiB3aG9vcHMgZm9yZ290IGJyZWFrLCB0aGFua3MgdGV1ZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0xMyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2dldF9wcm9wZXJ0eSk6CgkgIHdob29wcyBmb3Jnb3QgYnJlYWssIHRoYW5rcyB0ZXVmCgoyMDA0LTA4LTEzIDE0OjQxOjAyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBmaXggbGFtZSdzIGJyb2tlbiB2YnIgc3R1ZmYsIGFsbG93IGl0IHRvIHJlc2FtcGxlIGlmIG5lZWQgYmUsIGFuZCBhbHNvIG1ha2UgeGluZyBoZWFkZXIgb3B0aW9uYWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDQtMDgtMTMgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV92YnJtb2RlX2dldF90eXBlKSwKCSAgKGdzdF9sYW1lX2NsYXNzX2luaXQpLCAoZ3N0X2xhbWVfc3JjX2dldGNhcHMpLAoJICAoZ3N0X2xhbWVfc2lua19saW5rKSwgKGdzdF9sYW1lX2luaXQpLCAoZ3N0X2xhbWVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9sYW1lX2dldF9wcm9wZXJ0eSksIChnc3RfbGFtZV9zZXR1cCk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBmaXggbGFtZSdzIGJyb2tlbiB2YnIgc3R1ZmYsIGFsbG93IGl0IHRvIHJlc2FtcGxlIGlmIG5lZWQgYmUsIGFuZCBhbHNvCgkgIG1ha2UgeGluZyBoZWFkZXIgb3B0aW9uYWwKCjIwMDQtMDgtMTIgMTc6MjI6MzAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IGFkZGVkIGdldGNhcHMgZnVuY3Rpb24gc28gc2FtcGxlcmF0ZSBkb2VzbnRnZXQgZml4YXRlZCB0byBzaWxseSB2YWx1ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDQtMDgtMTIgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zcmNfZ2V0Y2FwcyksIChnc3RfbGFtZV9pbml0KToKCSAgYWRkZWQgZ2V0Y2FwcyBmdW5jdGlvbiBzbyBzYW1wbGVyYXRlIGRvZXNudGdldCBmaXhhdGVkIHRvIHNpbGx5IHZhbHVlcwoKMjAwNC0wOC0xMiAxNjo0NDoxNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogcmV2ZXJ0IHByZXZpb3VzIGZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0xMiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NyY19saW5rKToKCSAgcmV2ZXJ0IHByZXZpb3VzIGZpeAoKMjAwNC0wOC0xMiAxNjoxMjowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogbWFkZSBzb3VyY2UgcGFkIGxpbmsgZnVuY3Rpb24gY2hlY2sgaWYgc2lua3BhZCBpcyBvay4uZml4ZXMgdGhlIHByb2JsZW0gd2hlcmUgY29yZSBmaXhhdGVzIHRoZSBvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0xMiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NyY19saW5rKToKCSAgbWFkZSBzb3VyY2UgcGFkIGxpbmsgZnVuY3Rpb24gY2hlY2sgaWYgc2lua3BhZCBpcyBvay4uZml4ZXMgdGhlIHByb2JsZW0KCSAgd2hlcmUgY29yZSBmaXhhdGVzIHRoZSBvdXRwdXQgcmF0ZSBvZiBsYW1lIHN0dXBpZGx5CgoyMDA0LTA4LTEyIDE1OjQ4OjUwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBzZXQgZGVmYXVsdCBjb21wcmVzc2lvbiByYXRpbyBwYXJhbXRlciB0byAwLjAgc28gYml0cmF0ZSBwYXJhbWV0ZXIgd29ya3MgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDQtMDgtMTIgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9jbGFzc19pbml0KSwgKGdzdF9sYW1lX2luaXQpOgoJICBzZXQgZGVmYXVsdCBjb21wcmVzc2lvbiByYXRpbyBwYXJhbXRlciB0byAwLjAgc28gYml0cmF0ZSBwYXJhbWV0ZXIKCSAgd29ya3MgOikKCjIwMDQtMDgtMDkgMDk6MjI6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBmaXggYWRkIGRlYnVnZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGFkZCBkZWJ1Z2dpbmcKCjIwMDQtMDgtMDIgMTE6Mzk6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBnZWFyaW5nIHVwIGZvciByZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnZWFyaW5nIHVwIGZvciByZWxlYXNlCgoyMDA0LTA4LTAyIDA5OjE2OjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgYWRkIGxpbmsgZnVuY3Rpb24uIGZpeGVzIEAxNDg5ODYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsaW5rIGZ1bmN0aW9uLiBmaXhlcyBAMTQ4OTg2CgoyMDA0LTA3LTI4IDIwOjI2OjMxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBzZW5kIHRhZyBldmVudHMgZG93bnN0cmVhbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wNy0yOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NoYWluKTogc2VuZCB0YWcgZXZlbnRzIGRvd25zdHJlYW0KCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfcHJvdG9jb2xfZ2V0X3R5cGUpLAoJICAoZ3N0X3Nob3V0MnNlbmRfZ2V0X3R5cGUpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0X2Nsb2NrKSwKCSAgKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLCAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksCgkgIChzZXRfc2hvdXRfbWV0YWRhdGEpLCAoZ3N0X3Nob3V0MnNlbmRfc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9zaG91dDJzZW5kX2NoYWluKSwgKGdzdF9zaG91dDJzZW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2hvdXQyc2VuZF9nZXRfcHJvcGVydHkpLCAoZ3N0X3Nob3V0MnNlbmRfY29ubmVjdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIC0gZml4IGZvciBzZW5kaW5nIG1wMyBhdWRpbyB0byBpY2VjYXN0MiBzZXJ2ZXIsIGlmIHBhZCBsaW5rIGZ1bmN0aW9uIG5vdAoJICBjYWxsZWQgYmVmb3JlIFBBVVNFRCBzdGF0ZQoJICAtIGFkZGVkIG9wdGlvbiB0byB1c2UgR1N0cmVhbWVyIGNsb2NrIHN5bmMgKGFzIG9wcG9zZWQgdG8gbGlic2hvdXQncyBvd24gc3luYykKCSAgLSBhZGRlZCB0YWdnaW5nIHN1cHBvcnQgZm9yIG1wMyBhdWRpbyBicm9hZGNhc3RlZAoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2NsYXNzX2luaXQpOgoJICBkZWJ1ZyBpbmZvCgoyMDA0LTA3LTI2IDE1OjQyOjE4ICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogYWRkIGRlYnVnZ2luZyBjYXRlZ29yeSwgYWRkIGVycm9yIGNoZWNrcyBsaWtlIGNoZWNraW5nIHJldHVybiB2YWx1ZXMgb2Ygc2V0dXAgY2FsbHMsIG1ha2Ugc3VyZSBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX2xpbmspLCAoZ3N0X2xhbWVfaW5pdCksCgkgIChnc3RfbGFtZV9jaGFpbiksIChnc3RfbGFtZV9zZXR1cCksIChnc3RfbGFtZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICBhZGQgZGVidWdnaW5nIGNhdGVnb3J5LCBhZGQgZXJyb3IgY2hlY2tzIGxpa2UgY2hlY2tpbmcgcmV0dXJuIHZhbHVlcwoJICBvZiBzZXR1cCBjYWxscywgbWFrZSBzdXJlIGl0IHN0aWxsIHdvcmtzIGFmdGVyCgkgIFBMQVlJTkc9Pk5VTEw9PlBMQVlJTkcsIGZpeCBlbmNvZGluZyBvZiBtb25vIHN0cmVhbXMKCjIwMDQtMDYtMTQgMTA6NTg6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBzeW5jIG1wMyBjYXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzeW5jIG1wMyBjYXBzCgoyMDA0LTA2LTE0IDEwOjUyOjM1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgYWRkIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBjb21tZW50CgoyMDA0LTA1LTIxIDIzOjI4OjU3ICswMDAwICBTdMOpcGhhbmUgTG9ldWlsbGV0IDxnc3RyZWFtZXJAbGVyb3V0aWVyLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgc2Vjb25kIGJhdGNoIDogcmVtb3ZlICcsJyBhdCBlbmQgb2YgZW51bXMgYXMgdGhleSBjb3VsZCBjb25mdXNlIG9sZGVyIGdjYywgZm9yZWlnbiBjb21waWxlcnMgKGZvcnRlKSBhbmQgZ3RrLWRvYyAoaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZWNvbmQgYmF0Y2ggOgoJICByZW1vdmUgJywnIGF0IGVuZCBvZiBlbnVtcyBhcyB0aGV5IGNvdWxkIGNvbmZ1c2Ugb2xkZXIgZ2NjLCBmb3JlaWduIGNvbXBpbGVycyAoZm9ydGUpIGFuZCBndGstZG9jCgkgIChpbiBnc3QtcGx1Z2lucy9leHQvIHRoaXMgdGltZSkKCjIwMDQtMDUtMDkgMTQ6Mzc6MTUgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgZXh0LzogXDEvQ29kZWMsIChmaXhlcyAjMTQyMTkzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnkgQmVuamFtaW4gT3R0ZSAgPG90dGVAZ25vbWUub3JnPgoJICAqIGV4dC9hNTJkZWMvZ3N0YTUyZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfYmFzZV9pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L3NpZHBsYXkvZ3N0c2lkZGVjLmNjOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIGNvcnJlY3Qga2xhc3Nlcy4gTW9zdGx5IHMsQ29kZWMvKEF1ZGlvfFZpZGVvKSxcMS9Db2RlYywKCSAgKGZpeGVzICMxNDIxOTMpCgoyMDA0LTA1LTA3IDAwOjQzOjUwICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogc2ltcGxpZnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfY2hhaW4pOgoJICBzaW1wbGlmeQoJICAqIGV4dC9tYWQvZ3N0bWFkLmM6IChnc3RfbWFkX2hhbmRsZV9ldmVudCk6CgkgIGZpeCBldmVudCBsZWFrCgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6IChtcDNfdHlwZV9maW5kKToKCSAgYmUgYWJsZSB0byBkZXRlY3QgbXAzIGZpbGVzIDwgNDA5NiBieXRlcwoKMjAwNC0wNS0wMyAxNjo0NjoxMCArMDAwMCAgU3TDqXBoYW5lIExvZXVpbGxldCA8Z3N0cmVhbWVyQGxlcm91dGllci5uZXQ+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGRvbid0IHRydXN0IGxhbWVfaW5pdCB0byBzZXQgZ29vZCB2YWx1ZXMgYXMgZGVmYXVsdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IHRydXN0IGxhbWVfaW5pdCB0byBzZXQgZ29vZCB2YWx1ZXMgYXMgZGVmYXVsdHMKCjIwMDQtMDMtMTUgMTk6MzI6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgoyMDA0LTAzLTE1IDE2OjMyOjUzICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkgICouaDogUmV2ZXJ0IGluZGVudGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiAqLmg6IFJldmVydCBpbmRlbnRpbmcKCjIwMDQtMDMtMTQgMjI6MzQ6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkqIGV4dC9sYW1lL3Rlc3QtbGFtZS5jOgoJICBnc3QtaW5kZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnc3QtaW5kZW50CgoyMDA0LTAyLTIyIDE1OjE0OjI0ICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZXhwb3J0IFtfXSp7Z3N0LEdzdCxHU1R9Liogc3ltYm9scyBmcm9tIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDQtMDItMjIgIEJlbmphbWluIE90dGUgIDxvdHRlQGdub21lLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIGV4cG9ydCBbX10qe2dzdCxHc3QsR1NUfS4qIHN5bWJvbHMgZnJvbSBwbHVnaW5zCgkgIDIwMDQtMDItMjIgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgkgIHJldmlld2VkIGJ5OiBCZW5qYW1pbiBPdHRlICA8b3R0ZUBnbm9tZS5vcmc+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoYWRkX29uZV90YWcpOgoJICAqIGV4dC9tYWQvZ3N0aWQzdGFnLmM6IChnc3RfbWFkX2lkM190b190YWdfbGlzdCk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNlbmNfZ2V0X3RhZ192YWx1ZSksCgkgIChnc3Rfdm9yYmlzZW5jX21ldGFkYXRhX3NldDEpOgoJICAqIGdzdC90YWdzL2dzdGlkM3RhZy5jOgoJICAqIGdzdC90YWdzL2dzdHZvcmJpc3RhZy5jOiAoZ3N0X3ZvcmJpc190YWdfYWRkKToKCSAgYXBwbHkgZml4ZXMgZnJvbSBidWdzICMxMzUwNDIgKGxhbWUgY2FuJ3Qgd3JpdGUgdGFncykgYW5kICMxMzM4MTcKCSAgKGFkZCBHU1RfQUxCVU1fVk9MVU1FX3tDT1VOVCxOVU1CRVJ9IHRhZ3MpCgoyMDA0LTAyLTE5IDIyOjE5OjU1ICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkgIGV4dC86IHVzZSBnc3RfdGFnX2xpc3RfaW5zZXJ0IHdoZW4geW91IHdhbnQgdG8gaW5zZXJ0IHRhZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDQtMDItMTkgIEJlbmphbWluIE90dGUgIDxvdHRlQGdub21lLm9yZz4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9jaGFpbik6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNlbmNfY2hhaW4pOgoJICB1c2UgZ3N0X3RhZ19saXN0X2luc2VydCB3aGVuIHlvdSB3YW50IHRvIGluc2VydCB0YWdzCgoyMDA0LTAyLTAyIDE3OjIzOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgY2hhbmdlIE5VTEwgdG8gKE5VTEwpIGZvciBHU1RfRUxFTUVOVF9FUlJPUgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2hhbmdlIE5VTEwgdG8gKE5VTEwpIGZvciBHU1RfRUxFTUVOVF9FUlJPUgoJICBNYWtlIHN1cmUgZXJyb3JzIGVuZCB3aXRoICIuIgoKMjAwNC0wMS0yOSAyMzoyMDo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIEdTVF9FTEVNRU5UX0VSUk9SCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHU1RfRUxFTUVOVF9FUlJPUgoKMjAwNC0wMS0xOCAyMTo0Njo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHVzZSBuZXcgZXJyb3Igc2lnbmFsIGFuZCBjbGFzc2lmaWNhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIG5ldyBlcnJvciBzaWduYWwgYW5kIGNsYXNzaWZpY2F0aW9uCgoyMDAzLTEyLTIyIDAxOjQ3OjA4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgTWVyZ2UgQ0FQUyBicmFuY2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lcmdlIENBUFMgYnJhbmNoCgoyMDAzLTEyLTA3IDE0OjQ3OjA5ICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIFVzZXMgbmV3IHRhZ2dpbmcgZnJhbWV3b3JrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVc2VzIG5ldyB0YWdnaW5nIGZyYW1ld29yawoKMjAwMy0xMi0wNCAxMDozNzozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCjIwMDMtMTItMDIgMDI6Mjg6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xhbWUvdGVzdC1sYW1lLmM6CgkgIGNoYW5nZSBfY29ubmVjdCB0byBfbGluawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2hhbmdlIF9jb25uZWN0IHRvIF9saW5rCgoyMDAzLTExLTA3IDEyOjQ2OjUxICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBzZXZlcmFsIHNvdXJjZSBmaWxlcwoKMjAwMy0xMS0wMiAwMDoxMzoyNiArMDAwMCAgSWFpbiBIb2xtZXMgPGlhaW5AcHJldHR5cGVvcGxlLm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgRml4ZWQgbGFtZSB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGxhbWUgdG9vCgoyMDAzLTEwLTA5IDA5OjA0OjIzICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIEZpeCB0eXBvIGluIEFuZHkncyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0eXBvIGluIEFuZHkncyBjb21taXQKCjIwMDMtMTAtMDggMTY6MDg6MTAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgoyMDAzLTA5LTMwIDE5OjQ4OjM5ICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIElucHV0IGFuZCBvdXRwdXQgc2FtcGxlcmF0ZSBhcmUgKm5vdCogbmVjZXNzYXJpbHkgdGhlIHNhbWUgaW4gbGFtZS4gVGhpcyBmaXhlcyB0aGUgb3V0cHV0IGNhcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIElucHV0IGFuZCBvdXRwdXQgc2FtcGxlcmF0ZSBhcmUgKm5vdCogbmVjZXNzYXJpbHkgdGhlIHNhbWUgaW4gbGFtZS4gVGhpcyBmaXhlcyB0aGUgb3V0cHV0IGNhcHMKCjIwMDMtMDktMTYgMTA6MDA6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICByZXZlcnRpbmcgZXJyb3IgcGF0Y2ggYmVmb3JlIG1ha2luZyBhIGJyYW5jaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmVydGluZyBlcnJvciBwYXRjaCBiZWZvcmUgbWFraW5nIGEgYnJhbmNoLgoKMjAwMy0wOS0xNSAwMTowODozOCArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGNvbnZlcnRlZCBnc3RfZWxlbWVudF9lcnJvciB0byBuZXcgZm9ybWF0IGluIGV4dC8gLSBnZXR0ZXh0IHBlbmRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbnZlcnRlZCBnc3RfZWxlbWVudF9lcnJvciB0byBuZXcgZm9ybWF0IGluIGV4dC8gLSBnZXR0ZXh0IHBlbmRpbmcKCjIwMDMtMDktMTIgMTE6MzU6MjMgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgRml4IHRpbnkgY2FwcyBlcnJvciBpbiBsYW1lIGNhcHMgLSBtcGVndmVyc2lvbigxKSB3YXMgbWlzc2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRpbnkgY2FwcyBlcnJvciBpbiBsYW1lIGNhcHMgLSBtcGVndmVyc2lvbigxKSB3YXMgbWlzc2luZwoKMjAwMy0wOC0xMCAwMDowMTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoKMjAwMy0wNy0xMCAxNTozOToxMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L2xhbWUvUkVBRE1FOgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGZpeCBsaWNlbnNlIGZpZWxkIG9mIGxhbWUgcGx1Z2luIHRvIHNheSBMR1BMLCBsYW1lIGlzIExHUEwuIEFkZCBSZWFkbWUgd2l0aCBpbmZvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbGljZW5zZSBmaWVsZCBvZiBsYW1lIHBsdWdpbiB0byBzYXkgTEdQTCwgbGFtZSBpcyBMR1BMLiBBZGQgUmVhZG1lIHdpdGggaW5mbwoKMjAwMy0wNy0wNiAyMDo0OTo1MCArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0J3MgZG9jdW1lbnQuIE5vdGU6IHNvbWUgcGx1Z2lucyB3aWxsIGJyZWFrLCBzb21lIHBpcGVsaW5lcyB3aWxsIGJyZWFrLCBleHBlY3QgSEVBRCB0byBiZSBicm9rZW4gb3IgYXQgbGVhc3Qgbm90IDEwMCUgd29ya2luZyBmb3IgYSBmZXcgZGF5cywgYnV0IGRvbid0IGZvcmdldCB0byByZXBvcnQgYnVncwoKMjAwMy0wNy0wNSAyMjo0ODo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgcGF0Y2ggZnJvbSBoYWRlc3MsIG1vZGlmaWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBmcm9tIGhhZGVzcywgbW9kaWZpZWQKCjIwMDMtMDYtMjkgMTk6NDY6MDkgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBJbmNsdWRlcyBmaXhlcyBmb3IgbWlzc2luZyBpbmNsdWRlcyBmb3IgY29uZmlnLmggYW5kIHVuaXN0ZC5oCgkgIEkgb25seSBlbnN1cmVkIGZvciBwbHVnaW5zIEkgY2FuIGJ1aWxkIHRoYXQgdGhleSB3b3JrLCBzbyBpZiBzb21lIG9mIHRoZW0gYXJlIHN0aWxsIGJyb2tlbiwgeW91IGdvdHRhIGZpeCB0aGVtIHlvdXJzZWx2ZXMgdW5mb3J0dW5hdGVseS4KCjIwMDMtMDYtMDcgMDA6MzQ6NTEgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBBbm90aGVyIGR1cmF0aW9uIHBhdGNoIGZyb20gSm9zaHVhIChzbGlnaHRseSBtb2RpZmllZCBieSBtZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFub3RoZXIgZHVyYXRpb24gcGF0Y2ggZnJvbSBKb3NodWEgKHNsaWdodGx5IG1vZGlmaWVkIGJ5IG1lKQoKMjAwMy0wNS0yOSAxOTozMjozOSArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBGaXggYnVpbGQgcHJvYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGJ1aWxkIHByb2IKCjIwMDMtMDUtMjkgMTI6NDE6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIC0gY29weSBvZmZzZXQgZnJvbSBpbnB1dCBidWZmZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC0gY29weSBvZmZzZXQgZnJvbSBpbnB1dCBidWZmZXIKCjIwMDMtMDUtMTMgMTI6Mjg6MTYgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBHZXQgdGltZXN0YW1waW5nIHNvbWV3aGF0IGJldHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR2V0IHRpbWVzdGFtcGluZyBzb21ld2hhdCBiZXR0ZXIKCjIwMDMtMDUtMTIgMjA6MDg6MTcgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBIYWNrZWQgbGFtZSB0byBtYWtlIGl0IGNvcHkgdGhlIHRpbWVzdGFtcCBvbiB0aGUgc291cmNlIGJ1ZmZlciB0byB0aGUgc2luayBidWZmZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEhhY2tlZCBsYW1lIHRvIG1ha2UgaXQgY29weSB0aGUgdGltZXN0YW1wIG9uIHRoZSBzb3VyY2UgYnVmZmVyIHRvIHRoZSBzaW5rIGJ1ZmZlcgoKMjAwMy0wMS0xMCAxMzozODoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIFBhZENvbm5lY3QgLT4gUGFkTGluawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgoyMDAzLTAxLTEwIDEwOjIyOjI0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMKCSAgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcwoJICBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHRoYXQgSSBkb24ndCBzcGVuZCBkb3VibGUKCSAgdGhlIHRpbWUgcmVzb2x2aW5nIGNvbmZsaWN0cwoKMjAwMi0xMi0wOCAxNzoyMDo0NCArMDAwMCAgSWFpbiBIb2xtZXMgPGlhaW5AcHJldHR5cGVvcGxlLm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgUmVwbGFjZSBhdWRpby9tcDMgd2l0aCBhdWRpby94LW1wMyBhbmQgYXVkaW8veC1mbGFjIHdpdGggYXBwbGljYXRpb24veC1mbGFjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXBsYWNlIGF1ZGlvL21wMyB3aXRoIGF1ZGlvL3gtbXAzIGFuZCBhdWRpby94LWZsYWMgd2l0aCBhcHBsaWNhdGlvbi94LWZsYWMKCjIwMDItMTItMDggMTQ6NTA6MDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCjIwMDItMTItMDggMDI6NDQ6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbnVwcwoKMjAwMi0xMS0yMCAyMTowMjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgUmVtb3ZlIHJlZHVuZGFudCBwcm9wZXJ0aWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIHJlZHVuZGFudCBwcm9wZXJ0aWVzLgoKMjAwMi0xMS0wMiAwNTozOToyMSArMDAwMCAgRGF2aWQgSS4gTGVobiA8ZGxlaG5AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgIHVzZSBBTV9DRkxBR1MgaW5zdGVhZCBvZiBDRkxBR1MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVzZSBBTV9DRkxBR1MgaW5zdGVhZCBvZiBDRkxBR1MKCjIwMDItMTAtMDIgMDg6MDQ6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBhcGkgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhcGkgY2hhbmdlCgoyMDAyLTA5LTE4IDE5OjAyOjQ2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoKMjAwMi0wOS0xMCAwOTozMTozOCArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2xhbWUvdGVzdC1sYW1lLmM6CgkgIFRoaXMgdXBkYXRlcyBhbGwgcGx1Z2lucyB0byB0aGUgbmV3IEFQSSBmb3IgZ3N0X3BhZF90cnlfc2V0X2NhcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRoaXMgdXBkYXRlcyBhbGwgcGx1Z2lucyB0byB0aGUgbmV3IEFQSSBmb3IgZ3N0X3BhZF90cnlfc2V0X2NhcHMKCjIwMDItMDktMDEgMTU6NDA6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBzbWFsbCB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCB1cGRhdGVzCgoyMDAyLTA3LTA4IDE5OjMyOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICB1bnJlZiBldmVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdW5yZWYgZXZlbnQKCjIwMDItMDctMDcgMTQ6MTc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIERvbid0IGZyZWUgdW5pbml0aWFsaXplZCBwb2ludGVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRG9uJ3QgZnJlZSB1bmluaXRpYWxpemVkIHBvaW50ZXJzCgoyMDAyLTA3LTA3IDE0OjA2OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBMYW1lIHNob3VsZCBhY2NlcHQgZXZlbnRzIGV2ZW4gd2hlbiBub3QgbmVnb3RpYXRlZCB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBMYW1lIHNob3VsZCBhY2NlcHQgZXZlbnRzIGV2ZW4gd2hlbiBub3QgbmVnb3RpYXRlZCB5ZXQuCgoyMDAyLTA2LTA4IDA5OjI2OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgcmVvcmRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVvcmRlcgoKMjAwMi0wNC0xMSAyMDo0MjoyNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS90ZXN0LWxhbWUuYzoKCSAgR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFCgkgIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIGFsc28sIHNvbWUgLVdlcnJvciBmaXhlcy4KCjIwMDItMDMtMzAgMTc6MDY6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL3Rlc3QtbGFtZS5jOgoJICBDaGFuZ2VkIHRvIHRoZSBuZXcgcHJvcHMgQVBJCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIHRvIHRoZSBuZXcgcHJvcHMgQVBJCgkgIE90aGVyIHNtYWxsIHR1ZmYuCgoyMDAyLTAzLTI3IDA0OjAyOjM4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHVwZGF0ZSBnX3ZhbHVlIHN0dWZmIHRvIG1hdGNoIHByb3BlcnR5IHR5cGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgZ192YWx1ZSBzdHVmZiB0byBtYXRjaCBwcm9wZXJ0eSB0eXBlcwoKMjAwMi0wMy0yNCAyMjowNzowMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBmaWx0ZXIgbmV3bGluZXMgb3V0IG9mIEdTVF9ERUJVRyBzdGF0ZW1lbnRzIHRvIHJlZmxlY3QgbmV3IGNvcmUgYmVoYXZpb3IgZml4ZXMgdG8gYWRkZXIncyBjYXBzLCBhZ2FpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBmaWx0ZXIgbmV3bGluZXMgb3V0IG9mIEdTVF9ERUJVRyBzdGF0ZW1lbnRzIHRvIHJlZmxlY3QgbmV3IGNvcmUgYmVoYXZpb3IKCSAgKiBmaXhlcyB0byBhZGRlcidzIGNhcHMsIGFnYWluCgoyMDAyLTAzLTIwIDIxOjQ1OjAzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCjIwMDItMDMtMTkgMTc6MTQ6NTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgZml4IGNvbXBpbGUgZXJyb3IgKHVudGVzdGVkKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGNvbXBpbGUgZXJyb3IgKHVudGVzdGVkKQoKMjAwMi0wMy0xOSAwNDoxMDowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cyBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMKCSAgKiBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoIHRoZSBwbHVnaW5faW5mbyBzdHJ1Y3QsCgkgIGFuZCBzeW1ib2wgcmVzb2x1dGlvbiBpcyBsYXp5LCBzbyB3ZSBjYW4gYWx3YXlzIGtub3cgaWYgYSBwbHVnaW4gY2FuIGJlIGxvYWRlZCBieSB0aGUgcGx1Z2luX2luZm8gZGF0YS4gaW4gdGhlb3J5LgoKMjAwMi0wMy0xOSAwMTozOTo0MiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLyBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvCgkgIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpY2FsbHksCgkgIGFuZCB0aGlzIGdpdmVzIHRoZSB1c2VyIHRoZSBmcmVlZG9tIHRvIHNheSBtYWtlIEdTVF9QTFVHSU5fTERGTEFHUz0tbXlmbGFnCgoyMDAyLTAzLTAzIDAwOjUzOjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGdldCB1cC10by1kYXRlIHdpdGggdGhlIGdzdF9jYXBzX2RlYnVnIGFwaSBpbXByb3ZlZCBjYXBzbmVnbyBpbiBtYWQgaW1wcm92ZWQgY2Fwc25lZ28gaW4gYWRkZXIgaW1wcm92ZWQgY2Fwc25lZ28gaW4gaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnZXQgdXAtdG8tZGF0ZSB3aXRoIHRoZSBnc3RfY2Fwc19kZWJ1ZyBhcGkKCSAgKiBpbXByb3ZlZCBjYXBzbmVnbyBpbiBtYWQKCSAgKiBpbXByb3ZlZCBjYXBzbmVnbyBpbiBhZGRlcgoJICAqIGltcHJvdmVkIGNhcHNuZWdvIGluIGludGZsb2F0IHBsdWdpbnMKCSAgKiB1bmJyb2tlIGNhcHNuZWdvIGluIHN0ZXJlb21vbm8gcGx1Z2lucwoJICAqIGZpeCBjb3RocmVhZCBzdGFjayBhbGxvY2F0aW9uIHdpdGhpbiB0aGUgbWFpbiB0aHJlYWQgaW4gbmV3IGNvdGhyZWFkcwoKMjAwMi0wMi0yMSAxNzozMzo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgdW5jb21tZW50IGxhbWUgdGVzdCB1bnRpbCB3ZSBjYW4gZ2V0IHRoZSByZWdpc3RlciB0byB3b3JrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1bmNvbW1lbnQgbGFtZSB0ZXN0IHVudGlsIHdlIGNhbiBnZXQgdGhlIHJlZ2lzdGVyIHRvIHdvcmsKCjIwMDItMDItMjEgMTc6MjA6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICB1c2UgZ3N0LWRlYnVnaW5mby5tNCBtYWNybyBzbyBwbHVnaW5zIGFyZSBhY3R1YWxseSBjb21waWxlZCB3aXRoIGRlYnVnIGluZm8gc29tZSBtb3JlIGRlYnVnIG91dHB1dCBmb3IgbGFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB1c2UgZ3N0LWRlYnVnaW5mby5tNCBtYWNybyBzbyBwbHVnaW5zIGFyZSBhY3R1YWxseSBjb21waWxlZCB3aXRoCgkgIGRlYnVnIGluZm8KCSAgKiBzb21lIG1vcmUgZGVidWcgb3V0cHV0IGZvciBsYW1lCgoyMDAyLTAyLTIxIDE0OjA0OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgb24gc2luayBjb25uZWN0LCBjaGVjayBpZiB0aGUgY3VycmVudCBwYWQgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBnaXZlbiBjYXBzIGNsZWFuZWQgdXAgZGVidWcgb3V0cHV0IGNoYW5nZSBwYWQgdGVtcGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG9uIHNpbmsgY29ubmVjdCwgY2hlY2sgaWYgdGhlIGN1cnJlbnQgcGFkIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgZ2l2ZW4KCSAgY2FwcwoJICAqIGNsZWFuZWQgdXAgZGVidWcgb3V0cHV0CgkgICogY2hhbmdlIHBhZCB0ZW1wbGF0ZSB0byBvbmx5IGFjY2VwdCBhbGxvd2VkIHNhbXBsZSByYXRlcwoJICBpZiB0aGVzZSBjaGFuZ2VzIGFyZSBjb25zaWRlcmVkIG9rIGJ5IG90aGVycyB0aGVuIHRoZSBzYW1lIHNob3VsZCBiZQoJICBhcHBsaWVkIHRvIG90aGVyIGVuY29kaW5nIHBsdWdpbnMgKG5vdGFibHkgdGhlIGNvbXBhdGliaWxpdHkgY2hlY2spCgoyMDAyLTAyLTE5IDIwOjQ5OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL3Rlc3QtbGFtZS5jOgoJICBvaywgdGhpcyB3b3JrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgb2ssIHRoaXMgd29ya3MKCjIwMDItMDItMTkgMjA6MzU6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvbGFtZS90ZXN0LWxhbWUuYzoKCSAgQWx3YXlzIGJyaW5nIHRoZSBlbGVtZW50cyB0byBSRUFEWSBiZWZvcmUgdHJ5aW5nIHRvIGRvIGNhcHNuZWdvLiBmaXggdGhlIGNhcHMgYXMgbGFtZSBkb2Vzbid0IGFjY2VwdCBsYXc9PTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsd2F5cyBicmluZyB0aGUgZWxlbWVudHMgdG8gUkVBRFkgYmVmb3JlIHRyeWluZyB0byBkbyBjYXBzbmVnby4KCSAgZml4IHRoZSBjYXBzIGFzIGxhbWUgZG9lc24ndCBhY2NlcHQgbGF3PT0xCgoyMDAyLTAyLTE5IDIwOjE5OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL3Rlc3QtbGFtZS5jOgoJICBzdGlsbCBkb2VzIG5vdCB3b3JrIDsoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzdGlsbCBkb2VzIG5vdCB3b3JrIDsoCgoyMDAyLTAyLTE5IDE4OjI4OjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvbGFtZS90ZXN0LWxhbWUuYzoKCSAgYWRkaW5nIGEgdGVzdCBmb3IgbGFtZSBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGEgdGVzdCBmb3IgbGFtZSBzdHVmZgoKMjAwMi0wMi0xOSAxNzoyOTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgQWRkZWQgZXZlbnQgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBldmVudCBoYW5kbGluZy4KCSAgRml4IGZsdXNoCgkgIEZpeCBzdGF0ZSBjaGFuZ2UuCgkgIENvbnZlcnQgdG8gZ29iamVjdCBkZWVwX25vdGlmeQoKMjAwMi0wMi0xOSAxMjo1NToxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHNvbWVib2R5IGhlbHAgbWUgZml4IGxhbWUgOykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNvbWVib2R5IGhlbHAgbWUgZml4IGxhbWUgOykKCSAgSSBjb21tZW50ZWQgb3V0IHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYmVjYXVzZSBpdCBpcyBjYWxsZWQgYmVmb3JlIGxhbWUgaGFzIHRoZSByaWdodCBjYXBzLgoJICBJcyB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHN0aWxsIG5lY2Vzc2FyeSA/CgkgIGluIGFueSBjYXNlLCBhdCBsZWFzdCBub3cgbGFtZSBhY3R1YWxseSBsaXN0ZW5zIHRvIG9zc3NyYyByZTogcmF0ZSBhbmQgY2hhbm5lbHMKCjIwMDItMDEtMzEgMTc6MDg6NDYgKzAwMDAgIERhdmlkIEkuIExlaG4gPGRsZWhuQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgUmV2ZXJ0IGxhbWUgaW5jbHVkZSBkaXIgY2hhbmdlLiAgVXBzdHJlYW0gdXNlcyAkcHJlZml4L2luY2x1ZGUvbGFtZS9sYW1lLmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZlcnQgbGFtZSBpbmNsdWRlIGRpciBjaGFuZ2UuICBVcHN0cmVhbSB1c2VzICRwcmVmaXgvaW5jbHVkZS9sYW1lL2xhbWUuaC4KCjIwMDItMDEtMzAgMTE6MjU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBJIGNoZWNrZWQgbGFtZSBwYWNrYWdlcyBhbmQgc291cmNlIGNvZGUgYW5kIHRoZXkgc2VlbSB0byB3YW50IGxhbWUuaCBpbiBwcmVmaXgvaW5jbHVkZS9sYW1lLmggc28gSSBmaXhlZCBzdHVmZiBhY2NvcmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEkgY2hlY2tlZCBsYW1lIHBhY2thZ2VzIGFuZCBzb3VyY2UgY29kZSBhbmQgdGhleSBzZWVtIHRvIHdhbnQgbGFtZS5oIGluCgkgIHByZWZpeC9pbmNsdWRlL2xhbWUuaAoJICBzbyBJIGZpeGVkIHN0dWZmIGFjY29yZGluZ2x5LgoJICBEbyBhbnkgc3lzdGVtcyBoYXZlIGxhbWUgaW4gaW5jbHVkZS9sYW1lL2xhbWUuaCA/CgkgIElmIHNvLCBtYWlsIG1lIGFuZCB3ZSdsbCB3b3JrIGl0IG91dC4KCjIwMDItMDEtMTggMDI6MDU6MjUgKzAwMDAgIFdyb2JlbGwgPHdyb2JlbGxAaXRlLnBsPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgIC0gcGx1Z2lucyBhcmUgYnVpbHQgd2l0aG91dCB2ZXJzaW9uaW5nIGluZm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC0gcGx1Z2lucyBhcmUgYnVpbHQgd2l0aG91dCB2ZXJzaW9uaW5nIGluZm8KCjIwMDItMDEtMTMgMjI6Mjc6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIEJyaW5nIHRoZSBwbHVnaW5zIGluIHN5bmMgd2l0aCB0aGUgbmV3IGNvcmUgY2Fwc25lZ28gc3lzdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQnJpbmcgdGhlIHBsdWdpbnMgaW4gc3luYyB3aXRoIHRoZSBuZXcgY29yZSBjYXBzbmVnbyBzeXN0ZW0uCgkgIEFkZGVkIHNvbWUgZmVhdHVyZXMsIGVuaGFuY2VtZW50cy4uLgoKMjAwMi0wMS0xMiAwMzozNDoyNiArMDAwMCAgRGF2aWQgSS4gTGVobiA8ZGxlaG5AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgIHMvZmlsdGVyL3BsdWdpbi8gbGluayBwbHVnaW5zIHRvIEdTVF9MSUJTIHJlYXJyYW5nZSBydWxlcyB0byBhIGNvbW1vbiBmb3JtYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcy9maWx0ZXIvcGx1Z2luLwoJICAqIGxpbmsgcGx1Z2lucyB0byBHU1RfTElCUwoJICAqIHJlYXJyYW5nZSBydWxlcyB0byBhIGNvbW1vbiBmb3JtYXQKCjIwMDEtMTItMjEgMTI6NDc6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgTGFtZSBjbGVhbnVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBMYW1lIGNsZWFudXAKCSAgQWRkZWQgRU9TLCBmbHVzaCwgZXJyb3IgcmVwb3J0aW5nIGV0Yy4KCjIwMDEtMTItMjAgMjM6NDg6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBhZGRpbmcgbGFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGxhbWUKCjIwMDEtMTItMTcgMTg6Mzc6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYnVpbGRpbmcgdXAgc3BlZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1aWxkaW5nIHVwIHNwZWVkCgo=