ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggNmRhOWZkYy4uYWUyNTU3OCAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTIgKzEsMTIgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDAzMDkxMSBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDMxMDE2IG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDAzMDkxMTogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gTWFueSBpbXByb3ZlbWVudHMgdG8gdGhlIHdpbmVjZmcgY29uZmlndXJhdGlvbiB0b29sLgotICAgICAgICAtIE1hc3NpdmUgaGVhZGVyIGZpbGVzIGNsZWFudXAgZm9yIGJldHRlciBzb3VyY2UgY29tcGF0aWJpbGl0eS4KLSAgICAgICAgLSBTb21lIG1vcmUgcHJvZ3Jlc3Mgb24gdGhlIGtlcm5lbC9udGRsbCBzZXBhcmF0aW9uLgorV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMzEwMTY6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorICAgICAgICAtIFN1cHBvcnQgZm9yIHRoZSBYcmFuZHIgZXh0ZW5zaW9uLgorICAgICAgICAtIERsbCBzZXBhcmF0aW9uIG9mIGtlcm5lbCBhbmQgbnRkbGwgaXMgZmluaXNoZWQuCisgICAgICAgIC0gTWFueSBlbmhhbmNlZCBtZXRhZmlsZSBpbXByb3ZlbWVudHMuCiAgICAgICAgIC0gTG90cyBvZiBidWcgZml4ZXMuCiAKIFNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KQEAgLTE1LDggKzE1LDggQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDMwOTExLnRhci5negotICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDAzMDkxMS50YXIuZ3oKKyAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDMxMDE2LnRhci5negorICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDAzMTAxNi50YXIuZ3oKIAogSXQgc2hvdWxkIGFsc28gYmUgYXZhaWxhYmxlIGZyb20gYW55IG90aGVyIHNpdGUgdGhhdCBtaXJyb3JzIGliaWJsaW8ub3JnLgogVGhlc2UgbG9jYXRpb25zIGFsc28gaG9sZCBwcmUtYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWNrYWdlcyBpbiB2YXJpb3VzCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZmQ3M2JjYS4uZDg2NjNkNiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSw0ICsxLDIyNTQgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIwMDMtMTAtMTYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGxpYnMvd2luZS93aW5lLmRlZjogRG9uJ3QgZXhwb3J0IHRoZSB3aW5lX3B0aHJlYWRfKiBmdW5jdGlvbnMuCisKKwkqIGRsbHMvY29tbWRsZy9jZGxnMzIuYywgZGxscy9kbWxvYWRlci9sb2FkZXJzdHJlYW0uYywKKwkgIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgcHJvZ3JhbXMvbm90ZXBhZC9kaWFsb2cuYzoKKwlSZXBsYWNlZCBhIGZldyBtb3JlIDB4ZmZmZmZmZmYgYnkgdGhlIGFwcHJvcHJpYXRlIGNvbnN0YW50cy4KKworCSogZGxscy9tc3ZjcnQvZGlyLmMsIGRsbHMvbXN2Y3J0L2ZpbGUuYywgZGxscy9zaGVsbDMyL3NoZWxsb3JkLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmMsIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxmaWxlb3AuYywKKwkgIGRsbHMvdmVyc2lvbi9pbnN0YWxsLmMsIGRsbHMvd2luZWRvcy9pbnQyMS5jLCBkbGxzL3dpbm1tL21taW8uYywKKwkgIGZpbGVzL2ZpbGUuYywgbWlzYy9yZWdpc3RyeS5jLCBwcm9ncmFtcy9hdml0b29scy9hdmlpbmZvLmMsCisJICBwcm9ncmFtcy9hdml0b29scy9hdmlwbGF5LmMsIHByb2dyYW1zL3djbWQvZGlyZWN0b3J5LmMsCisJICBwcm9ncmFtcy93aW5lZGJnL3NvdXJjZS5jLCBwcm9ncmFtcy93aW5oZWxwL21hY3JvLmM6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJVXNlIElOVkFMSURfRklMRV9BVFRSSUJVVEVTIHRvIHRlc3QgZm9yIGZhaWx1cmUgb2YKKwlHZXRGaWxlQXR0cmlidXRlc0EvVyBhbmQgbm90IC0xIG9yIDB4RkZGRkZGRkYuCisKKwkqIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWc6IEFsZXggUGFzYWR5biA8YWpwQG1haWwudXRleGFzLmVkdT4KKwlBZGQgVXNlWFJhbmRSIHRvIHNhbXBsZSBjb25maWcgZmlsZS4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6CisJVGhlIGltcG9ydGVkIHR5cGVsaWIgbmFtZSBtdXN0IGJlIGNvbnZlcnRlZCB0byBVbmljb2RlLgorCisJKiBkbGxzL2RkcmF3L2QzZGRldmljZS9tZXNhLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBZGQgc3VwcG9ydCBmb3IgYWxsIFogYnVmZmVyIGRlcHRocyB0aGF0IGFyZSBsb3dlciB0aGF0IHRoZSBjdXJyZW50CisJb25lLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzoKKwlSZWNlbnQgdmVyc2lvbnMgb2YgbGliWHJhbmRyIGRlcGVuZCBvbiBsaWJYcmVuZGVyLgorCisJKiBkbGxzL2tlcm5lbC9yZWxheTE2LmMsIGRsbHMvbnRkbGwvcmVsYXkuYywKKwkgIGRvY3VtZW50YXRpb24vd2luZS5jb25mLm1hbjoKKwlGaXhlZCBoYW5kbGluZyBvZiByZWxheSBhbmQgc25vb3AgaW5jbHVkZS9leGNsdWRlIGxpc3RzIHRvIGJlaGF2ZSBhcworCWRvY3VtZW50ZWQgKGJhc2VkIG9uIGEgcGF0Y2ggYnkgUmVpbiBLbGF6ZXMpLgorCisJKiBkbGxzL2tlcm5lbC9zbm9vcDE2LmM6IFByaW50IHRocmVhZCBpZCBpbiBzbm9vcCB0cmFjZXMuCisKKwkqIGRsbHMveDExZHJ2L01ha2VmaWxlLmluLCBkbGxzL3gxMWRydi9kZXNrdG9wLmMsCisJICBkbGxzL3gxMWRydi9zZXR0aW5ncy5jLCBkbGxzL3gxMWRydi94MTFkZHJhdy5jLCBkbGxzL3gxMWRydi94MTFkcnYuaCwKKwkgIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmMsIGRsbHMveDExZHJ2L3hyYW5kci5jLAorCSAgZGxscy94MTFkcnYveHJhbmRyLmgsIGRsbHMveDExZHJ2L3h2aWRtb2RlLmMsIGRsbHMveDExZHJ2L3h2aWRtb2RlLmg6CisJQWxleCBQYXNhZHluIDxhanBAbWFpbC51dGV4YXMuZWR1PgorCS0gQWRkZWQgc3VwcG9ydCBmb3IgWFJhbmRSIGV4dGVuc2lvbi4KKwktIEFkZGVkIG5ldyBkZWJ1Z2dpbmcgY2hhbm5lbHMgZm9yIHJlc29sdXRpb24gY2hhbmdpbmcuCisJLSBTdHJlYW1saW5lZCByZXNvbHV0aW9uIGNoYW5naW5nIGFuZCByZW1vdmVkIGR1cGxpY2F0ZWQgY29kZS4KKworCSogZGxscy9jb21tZGxnL01ha2VmaWxlLmluLCBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jLAorCSAgZGxscy9jb21tZGxnL2ZpbGVkbGcuaCwgZGxscy9jb21tZGxnL2ZpbGVkbGcxNi5jLAorCSAgZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwktIFNwbGl0IFdpbjE2LzMyIGZpbGUgZGlhbG9ncy4KKwktIFJlbW92ZSBzdXBwb3J0IGZvciBXaW4xNiBzdHlsZSdkIFdpbjMyIGRpYWxvZ3MuCisKKzIwMDMtMTAtMTUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHByb2dyYW1zL3dpbmVkYmcvZGVidWdnZXIuaCwgcHJvZ3JhbXMvd2luZWRiZy9tZW1vcnkuYzoKKwlHZXQgcmlkIG9mIHRoZSBtZW1vcnkgYWxsb2NhdGlvbiBtYWNyb3MsIHVzZSByZWFsIGZ1bmN0aW9ucyBpbnN0ZWFkLgorCisJKiBkbGxzL3NobHdhcGkvcmVnLmM6IEZpeGVkIGN1dCZwYXN0ZSBlcnJvci4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jOiBBZGFtIEd1bmR5IDxhcmdAY3liZXJzY2llbmNlLmNvbT4KKwlPbmx5IHNlbmQgVFZOX0lURU1FWFBBTkRJTkcgZm9yIGl0ZW1zIG1hcmtlZCBhcyBoYXZpbmcgY2hpbGRyZW4uCisKKwkqIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgZGxscy93aW5tbS90aW1lLmMsCisJICBkbGxzL3dpbm1tL3dpbmVqYWNrL2F1ZGlvLmMsIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jLAorCSAgZGxscy93aW5zcG9vbC9pbmZvLmMsIGdyYXBoaWNzL3gxMWRydi9wYWxldHRlLmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS9jdXJzZXMuYywgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGUuYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvaGxwZmlsZS5jOgorCU9sZWcgUHJva2hvcm92IDx4b2xlZ3Byb0ByYmNtYWlsLnJ1PgorCUFub3RoZXIgcG9ydGlvbiBvZiBIZWFwUmVBbGxvYyBmaXhlcy4KKworCSogZG9jdW1lbnRhdGlvbi9zYW1wbGVzL3dpbi5pbmk6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTWVyZ2Ugd2luLmluaS9bbWNpIGV4dGVuc2lvbnNdIGludG8gdGhlIHJlZ2lzdHJ5LgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9sb2NhbGUuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUltcGxlbWVudGVkIEZvbGRTdHJpbmdXLgorCisJKiBpbmNsdWRlL3dpbmUvdW5pY29kZS5oLCBsaWJzL3VuaWNvZGUvTWFrZWZpbGUuaW4sCisJICBsaWJzL3VuaWNvZGUvZm9sZC5jLCBsaWJzL3VuaWNvZGUvd2luZV91bmljb2RlLmRlZjoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZGVkIHN0cmluZyBmb2xkaW5nIHN1cHBvcnQuCisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVNwZWNpZnkgZm91cmNjIGNvZGVzIGZvciBlbmNvZGluZ3MgZGlyZWN0bHksIGluc3RlYWQgb2YgdXNpbmcgY2hhbmdpbmcKKwllbnVtIG5hbWVzLgorCisJKiBwcm9ncmFtcy9yZWdhcGkvcmVnYXBpLmM6IEdlcmFsZCBQZmVpZmVyIDxnZXJhbGRAcGZlaWZlci5jb20+CisJUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBjb21tYW5kU2F2ZVJlZ2lzdHJ5LgorCisJKiBkbGxzL3VzZXIvaG9vay5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUZpeCBhbiBvYnZpb3VzIHR5cG8gaW4gY2FsbF9ob29rX0F0b1cuCisKKwkqIGRsbHMvb2xlYXV0MzIvLmN2c2lnbm9yZSwgZGxscy9vbGVhdXQzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvb2xlYXV0MzIvb2xlYXV0LmMsIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzIucmMsCisJICBkbGxzL29sZWF1dDMyL29sZWF1dDMyX0N6LnJjLCBkbGxzL29sZWF1dDMyL29sZWF1dDMyX0RlLnJjLAorCSAgZGxscy9vbGVhdXQzMi9vbGVhdXQzMl9Eay5yYywgZGxscy9vbGVhdXQzMi9vbGVhdXQzMl9Fbi5yYywKKwkgIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzJfRXMucmMsIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzJfRnIucmMsCisJICBkbGxzL29sZWF1dDMyL29sZWF1dDMyX0h1LnJjLCBkbGxzL29sZWF1dDMyL29sZWF1dDMyX0l0LnJjLAorCSAgZGxscy9vbGVhdXQzMi9vbGVhdXQzMl9ObC5yYywgZGxscy9vbGVhdXQzMi9vbGVhdXQzMl9Oby5yYywKKwkgIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzJfU3YucmMsIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzJfVGgucmMsCisJICBkbGxzL29sZWF1dDMyL3Jlc291cmNlLmgsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5oOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJQWRkIHJlc291cmNlcyBmb3IgYm9vbGVhbiBzdHJpbmdzIGluIHNldmVyYWwgbGFuZ3VhZ2VzLgorCisJKiBkbGxzL3dpbm1tL21jaS5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1lcmdlIHdpbi5pbmkvW21jaSBleHRlbnNpb25zXSBpbnRvIHRoZSByZWdpc3RyeS4KKworCSogd2luZWRlZmF1bHQucmVnOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUEgZmV3IG1vcmUga2V5cyBleHRyYWN0ZWQgZnJvbSB0aGUgb2xkIGRvY3VtZW50YXRpb24vc2hlbGwzMi4KKworCSogZG9jdW1lbnRhdGlvbi9pbnN0YWxsYXRpb24tdW5kLWtvbmZpZ3VyYXRpb24uZ2VybWFuOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIG91dC1vZi1iYW5kIGluc3RhbGxhdGlvbi11bmQta29uZmlndXJhdGlvbi5nZXJtYW4uCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOgorCVJlZ3JvdXAgdGhlIFgxMSBoZWFkZXIgY2hlY2tzIHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgZ2VuZXJhdGVkCisJY29uZmlndXJlIGEgYml0LgorCisJKiBkbGxzL2tlcm5lbC9wcm9maWxlLmMsIGZpbGVzL2RpcmVjdG9yeS5jLCBmaWxlcy9kb3NfZnMuYywKKwkgIGZpbGVzL2RyaXZlLmMsIGluY2x1ZGUvZHJpdmUuaDoKKwlHZXQgcmlkIG9mIHRoZSBkcml2ZSBjb2RlcGFnZXMgYW5kIHVzZSBDUF9VTklYQ1AgaW5zdGVhZC4KKworCSogZGxscy9tc3ZjcnQvZmlsZS5jLCBkbGxzL21zdmNydC90ZXN0cy9jcHAuYywgaW5jbHVkZS93aW5lL3BvcnQuaCwKKwkgIGxpYnMvcG9ydC9zcGF3bi5jLCBwcm9ncmFtcy93aW5lbWVudWJ1aWxkZXIvd2luZW1lbnVidWlsZGVyLmMsCisJICB0b29scy93aW5lZ2NjL3V0aWxzLmMsIHRvb2xzL3dpbmVnY2MvdXRpbHMuaCwKKwkgIHRvb2xzL3dpbmVnY2Mvd2luZXdyYXAuYzoKKwlEYW5pZWwgTWFybWllciA8ZC5tYXJtaWVyQGJsdWV3aW4uY2g+CisJRml4ZWQgd2FybmluZ3Mgd2l0aCBnY2Mgb3B0aW9uICItV3dyaXRlLXN0cmluZ3MiLgorCisJKiBvYmplY3RzL2ZvbnQuYzogRGF2ZSBCZWxhbmdlciA8ZGF2ZS5iZWxhbmdlckBjaW1tZXRyeS5jb20+CisJR2V0IFdpbmUgdG8gYmVoYXZlIGxpa2UgV2luZG93cyBkb2VzIHdoZW4gQm9sZCBhbmQvb3IgSXRhbGljIGlzCisJc3BlY2lmaWVkIGluIHRoZSB0eXBlZmFjZSBuYW1lIGFyZ3VtZW50IHRvIENyZWF0ZUZvbnQuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBpbmNsdWRlL2NvbmZpZy5oLmluOgorCUFsZXggUGFzYWR5biA8YWpwQG1haWwudXRleGFzLmVkdT4KKwlDaGVjayBmb3IgWHJhbmRyIGV4dGVuc2lvbi4KKworCSogZGxscy9tc3ZjcnQvZGlyLmMsIGRsbHMvbnRkbGwvc3RyaW5nLmM6CisJUmV3cm90ZSBzcGxpdHBhdGggYW5kIHdzcGxpdHBhdGggdG8gYXZvaWQgbW9kaWZ5aW5nIHRoZSBwYXRoCisJc2VwYXJhdG9ycy4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzogRGF2ZSBCZWxhbmdlciA8ZGF2ZS5iZWxhbmdlckBjaW1tZXRyeS5jb20+CisJSW1wcm92ZWQgc2VsZWN0aW9uIG9mIGZyZWV0eXBlIGZhY2UgY2hhcm1hcC4KKworCSogZGxscy9nZGkvZW5obWZkcnYvYml0Ymx0LmMsIGRsbHMvZ2RpL2VuaG1mZHJ2L2luaXQuYzoKKwlEYXZlIEJlbGFuZ2VyIDxkYXZlLmJlbGFuZ2VyQGNpbW1ldHJ5LmNvbT4KKwlJbXBsZW1lbnRlZCBCaXRCbHQsIFN0cmV0Y2hCbHQgYW5kIFNldERJQml0c1RvRGV2aWNlIEVNRiBkcml2ZXIKKwljYWxsYmFja3MuCisJQ2xlYW5lZCB1cCByZWR1bmRhbnQgY29kZSBpbiBFTUZEUlZfU3RyZXRjaERJQml0cy4KKworCSogbGlicy91bmljb2RlL2Nhc2VtYXAuYywgbGlicy91bmljb2RlL2NwbWFwLnBsOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJQWRkIGdlbmVyYXRpb24gb2YgZGlnaXQgYW5kIGNvbXBhdGFiaWxpdHkgbWFwcGluZyB0YWJsZXMuCisJR2VuZXJhdGUgc21hbGxlciBtYXBwaW5nIHRhYmxlcyBieSBtZXJnaW5nIG92ZXJsYXBzLgorCisJKiBvYmplY3RzL2RpYi5jOiBEYXZlIEJlbGFuZ2VyIDxkYXZlLmJlbGFuZ2VyQGNpbW1ldHJ5LmNvbT4KKwlJbiBDcmVhdGVESUJpdG1hcCwgdGhlIGZhY3QgdGhhdCB0aGUgYml0cyBpbml0IGZsYWcgaXMgc2V0IG9yIG5vdAorCWRvZXNuJ3QgaGF2ZSBhbnl0aGluZyB0byBkbyB3aXRoIHRoZSBjb2xvciBzdGF0ZSBvZiB0aGUgRElCLgorCisyMDAzLTEwLTE0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBwcm9ncmFtcy93aW5lZGJnL2RiZy55LCBwcm9ncmFtcy93aW5lZGJnL2RlYnVnLmwsCisJICBwcm9ncmFtcy93aW5lZGJnL2RlYnVnZ2VyLmgsIHByb2dyYW1zL3dpbmVkYmcvZGlzcGxheS5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9oYXNoLmMsIHByb2dyYW1zL3dpbmVkYmcvaW5mby5jOgorCU1pY2hhbCBKYW51c3ogTWlyb3NsYXcgPE0uTWlyb3NsYXdAZWxrYS5wdy5lZHUucGw+CisJRXh0ZW5kIGRpc3BsYXlzOiBub3cgb25lIGNhbiBhZGQgZGlzcGxheXMgYWN0aXZlIG9ubHkgaW4gc3BlY2lmaWVkCisJZnVuY3Rpb247IGRpc3BsYXlzIG5vdyBjYW4gYmUgZW5hYmxlZC9kaXNhYmxlZCBsaWtlIGluIGdkYi4KKworCSogZGxscy9vbGUzMi9pZnMuaCwgaW5jbHVkZS9vYmpiYXNlLmgsIGluY2x1ZGUvb2JqaWRsLmgsCisJICBpbmNsdWRlL29iamlkbC5pZGw6CisJTW92ZWQgdGhlIDE2LWJpdCBzdG9yYWdlIGludGVyZmFjZXMgb3V0IG9mIHRoZSBleHBvcnRlZCBoZWFkZXJzLgorCisJKiBkb2N1bWVudGF0aW9uL3J1bm5pbmcuc2dtbDogUmVtb3ZlZCB0aGUgLS1kbGwgb3B0aW9uLgorCisJKiBkb2N1bWVudGF0aW9uL01ha2VmaWxlLmluLCBkb2N1bWVudGF0aW9uL2RlZmF1bHQuZHNsOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIHRoZSBkZWZhdWx0LmRzbCBzaGVldCAtLSB0aGUgZGVmYXVsdCBpcyBnb29kIGVub3VnaC4KKworCSogZGxscy9jb21jdGwzMi9oZWFkZXIuYywgaW5jbHVkZS9jb21tY3RybC5oOgorCU1heGltZSBCZWxsZW5n6SA8bWF4aW1lLmJlbGxlbmdlQGxhcG9zdGUubmV0PgorCS0gSW1wbGVtZW50ZWQgSEVBREVSX1NldEJpdG1hcE1hcmdpbiBhbmQgSEVBREVSX0dldEJpdG1hcE1hcmdpbi4KKwktIEdldCByaWQgb2Ygc29tZSBtYWdpYyBudW1iZXJzIGluIEhFQURFUl9EcmF3SXRlbS4KKwktIEZpeGVkIHRoZSBkcmF3aW5nIG9mIGltYWdlcyBmcm9tIGltYWdlbGlzdCB3aGVuIHRoZQorCSAgSERGX0JJVE1BUF9PTl9SSUdIVCBmbGFnIGlzIHNldC4KKworCSogZGxscy9jb21jdGwzMi90YWIuYzogTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJT25seSByZWRyYXcgdGhlIG5lY2Vzc2FyeSBhcmVhIG9mIHRoZSB0YWIgY29tcG9uZW50IGFuZCBub3QgdGhlIHdob2xlCisJY29tcG9uZW50IGxpa2Ugd2luZG93cyBkb2VzLgorCisJKiBncmFwaGljcy94MTFkcnYvYml0Ymx0LmM6CisJTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJUHJldmVudCBhIGNyYXNoIHdpdGggYSBCYWREcmF3YWJsZSBYIGVycm9yIG1lc3NhZ2Ugd2l0aCBzb21lIE1hc2tCbHQKKwljYWxscy4KKworCSogcHJvZ3JhbXMvd2luaGVscC9obHAyc2dtbC5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCVJlbW92ZSB1bnVzZWQgdmFyaWFibGUgZGVidWdfY2hhbm5lbHMuCisKKwkqIGRsbHMvb2xlYXV0MzIvcGFyc2VkdC5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCVJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIG1kYXlzLCBtb250aHMsIGRheXMsIGFuZCBEYXRlU3R5bGUuCisKKwkqIGRsbHMveDExZHJ2L2tleWJvYXJkLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJRml4IEZpbm5pc2gga2V5Ym9hcmQgbGF5b3V0IHRvIGJldHRlciBtYXRjaCB0aGUgWEZyZWU4NiBvbmUuCisKKwkqIGRsbHMvY29tbWRsZy9wcmludGRsZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUGFzcyB0aGUgY29ycmVjdCBscGFyYW0gd2hlbiBjYWxsaW5nIFBhZ2VEbGdQcm9jQSdzIFBhZ2VTZXR1cEhvb2sgZm9yCisJV01fSU5JVERJQUxPRy4KKworCSogZGxscy9hdmlmaWwzMi9hY21zdHJlYW0uYywgZGxscy9hdmlmaWwzMi9hdmlmaWxlLmM6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJRml4ZWQgdXNhZ2Ugb2YgR2xvYmFSZUFsbG9jLgorCisJKiBkbGxzL3dpbm1tL3dpbm1tLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRnJlZSBzaG91bGQgbm90IGhhcHBlbiB3aGVuIHN0aWxsIHBsYXlpbmcuCisKKwkqIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLAorCSAgZGxscy9rZXJuZWwvbG9jYWxlLmMsIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgbWVtb3J5L2NvZGVwYWdlLmM6CisJTW92ZWQgY29kZXBhZ2UgZnVuY3Rpb25zIHRvIGRsbHMva2VybmVsLgorCUNoYW5nZWQgaW5pdGlhbGlzYXRpb24gb2YgdGhlIGxvY2FsZSBmdW5jdGlvbnMgc28gdGhhdCBDUF9VTklYQ1Agd29ya3MKKwlhcyBzb29uIGFzIHBvc3NpYmxlIGR1cmluZyBrZXJuZWwzMiBpbml0LgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9nZGkvTWFrZWZpbGUuaW4sCisJICBkbGxzL2lwaGxwYXBpL2lmZW51bS5jLCBkbGxzL2lwaGxwYXBpL2lwc3RhdHMuYywKKwkgIGRsbHMvbXNodG1sL21zaHRtbC5zcGVjLCBkbGxzL21zaS9tc2kuc3BlYywgZGxscy9ycGNydDQvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbmluZXQvTWFrZWZpbGUuaW4sIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5oLAorCSAgZGxscy93aW5zb2NrL3NvY2tldC5jLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL3dpbmUvcG9ydC5oLAorCSAgbGlicy93aW5lL3dpbmUuZGVmOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgc29tZSBwcm9ibGVtcyBmb3VuZCB3aGlsZSBjb21waWxpbmcgYW5kIGxpbmtpbmcgV2luZSB1bmRlcgorCUN5Z3dpbi4KKworCSogY29udHJvbHMvbGlzdGJveC5jLCBkbGxzL2Rzb3VuZC9idWZmZXIuYywgZGxscy9kc291bmQvY2FwdHVyZS5jLAorCSAgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9kc291bmQvcHJpbWFyeS5jLAorCSAgZGxscy9rZXJuZWwvZWRpdGxpbmUuYywgZGxscy9rZXJuZWwvZ2xvYmFsMTYuYywKKwkgIGRsbHMva2VybmVsL3Jlc291cmNlMTYuYywgZGxscy9rZXJuZWwvc25vb3AxNi5jLAorCSAgZGxscy9vbGUzMi9vbGVwcm94eS5jLCBkbGxzL29sZTMyL3JwYy5jLCBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmMsCisJICBkbGxzL3NldHVwYXBpL2RpcmlkLmMsIGRsbHMvc2V0dXBhcGkvc2V0dXB4X21haW4uYywKKwkgIGRsbHMvdXNlci9tZXNzYWdlLmM6CisJT2xlZyBQcm9raG9yb3YgPHhvbGVncHJvQHJiY21haWwucnU+CisJQW5vdGhlciBwb3J0aW9uIG9mIEhlYXBSZUFsbG9jIGZpeGVzLgorCisJKiBkbGxzL2tlcm5lbC9pbnN0ci5jLCBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmMsIGRsbHMvd2luZWRvcy9kb3N2bS5jLAorCSAgZGxscy93aW5lZG9zL3JlbGF5LmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCVJlbW92ZSByYWNlcyBmcm9tIERQTUkgYXN5bmMgZXZlbnQgaGFuZGxpbmcuCisKKwkqIGRsbHMvbnRkbGwvbG9hZGVyLmM6IEdlcmFsZCBQZmVpZmVyIDxnZXJhbGRAcGZlaWZlci5jb20+CisJRml4IGZ1bmN0aW9uIHBvaW50ZXIgdmFyaWFibGUgZGVjbGFyYXRpb24gaW4gX193aW5lX3Byb2Nlc3NfaW5pdCgpLgorCisJKiBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvLmM6IE9sZWcgUHJva2hvcm92IDx4b2xlZ3Byb0ByYmNtYWlsLnJ1PgorCVNtYWxsIGZpeCBpbiBzb3VuZCBmbHVzaGluZyBjb2RlLgorCisJKiBkbGxzL2tlcm5lbC9kZWJ1Z2dlci5jLCBkbGxzL2tlcm5lbC9leGNlcHQuYywgZGxscy9rZXJuZWwvcHJvY2Vzcy5jLAorCSAgZGxscy9udGRsbC9leGNlcHRpb24uYywgZGxscy9udGRsbC9sb2FkZXIuYywKKwkgIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL2RlYnVnZ2VyLmMsIHNlcnZlci9wcm9jZXNzLmMsCisJICBzZXJ2ZXIvcHJvY2Vzcy5oLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvdHJhY2UuYzoKKwlTZXQgb3IgY2xlYXIgdGhlIEJlaW5nRGVidWdnZWQgZmxhZyBpbiB0aGUgUEVCIHdoZW4gYSBkZWJ1Z2dlciBpcworCWF0dGFjaGVkIHRvIG9yIGRldGFjaGVkIGZyb20gYSBwcm9jZXNzLgorCURvbid0IHNlbmQgZXhjZXB0aW9uIGV2ZW50cyB0byB0aGUgc2VydmVyIHVubGVzcyBhIGRlYnVnZ2VyIGlzCisJcHJlc2VudC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMva2VybmVsL3B0aHJlYWQuYywgaW5jbHVkZS9jb25maWcuaC5pbiwKKwkgIGxpYnMvd2luZS9wb3J0LmM6CisJQWRkZWQgY2hlY2sgZm9yIHB0aHJlYWQuaCAocmVwb3J0ZWQgYnkgU3RldmVuIEVkd2FyZHMpLgorCVJlbW92ZWQgaW5pdF9kb25lIGNoZWNrLCB0aGUgcHJvY2VzcyBoZWFwIGlzIG5vdyBjcmVhdGVkIGJlZm9yZSBrZXJuZWwKKwlpcyBsb2FkZWQgYW55d2F5LgorCisJKiBkbGxzL21zaS9zcWwueSwgdG9vbHMvd3JjL2R1bXByZXMuYywgdG9vbHMvd3JjL2R1bXByZXMuaCwKKwkgIHRvb2xzL3dyYy9nZW5yZXMuYywgdG9vbHMvd3JjL2dlbnJlcy5oLCB0b29scy93cmMvcGFyc2VyLmwsCisJICB0b29scy93cmMvcGFyc2VyLnksIHRvb2xzL3dyYy9yZWFkcmVzLmMsIHRvb2xzL3dyYy91dGlscy5jLAorCSAgdG9vbHMvd3JjL3V0aWxzLmg6CisJRGFuaWVsIE1hcm1pZXIgPGQubWFybWllckBibHVld2luLmNoPgorCUZpeGVkIHdhcm5pbmdzIHdpdGggZ2NjIG9wdGlvbiAiLVd3cml0ZS1zdHJpbmdzIi4KKworCSogZGxscy94MTFkcnYva2V5Ym9hcmQuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggc29tZSBjYXNlcyB3aGVuICdrZXlzeW0nIG1pZ2h0IGJlIGxlZnQgdW5pbml0aWFsaXplZC4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jOiBEYW5pZWwgTWFybWllciA8ZC5tYXJtaWVyQGJsdWV3aW4uY2g+CisJQUxTQV9XYXZlSW5pdDogcmVwYWlyZWQgZGV2aWNlIG5hbWUuCisKKwkqIGxvYWRlci9tb2R1bGUuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb252ZXJ0IEdldEJpbmFyeVR5cGUgdG8gdW5pY29kZS4KKworCSogZGxscy9kZHJhdy9kM2RkZXZpY2UvbWFpbi5jLCBkbGxzL2RkcmF3L2QzZHZpZXdwb3J0LmM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZCBuZWNlc3NhcnkgQWRkUmVmL1JlbGVhc2Ugc3R1ZmYgdG8ge1NldC9HZXR9Q3VycmVudFZpZXdwb3J0LgorCVdoZW4gY2hhbmdpbmcgcGFyYW1ldGVycyBvZiBhIHZpZXdwb3J0LCBkbyB0aGUgYXBwcm9wcmlhdGUgdXBkYXRlIGlmCisJaXQgaXMgY3VycmVudC4KKworCSogZGxscy9jb21jdGwzMi90YWIuYzogVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJRml4IHNldHRpbmcgc2l6ZSBvZiB0YWIgY29udHJvbC4KKworMjAwMy0xMC0xMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogc2NoZWR1bGVyL3B0aHJlYWQuYzoKKwlNb3ZlZCB0aGUgZXJybm8gZnVuY3Rpb25zIHBhdGNoaW5nIHRvIHdpbmVfcHRocmVhZF9pbml0X3RocmVhZCBzbyB0aGF0CisJaXQncyBkb25lIGVhcmx5IGVub3VnaCBub3cgdGhhdCBrZXJuZWwgaXMgb25seSBsb2FkZWQgbGF0ZXIgb24uCisKKwkqIG1pc2NlbXUvTWFrZWZpbGUuaW46CisJTGluayB0aGUgbWFpbiBiaW5hcnkgYWdhaW5zdCBsaWJwdGhyZWFkIGZvciBOUFRMIGJ1aWxkcy4KKworMjAwMy0xMC0xMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jOgorCVVwZGF0ZSBfX3dpbmVfbWFpbl9hcmdjIGFmdGVyIG9wdGlvbiBwcm9jZXNzaW5nLgorCisJKiBkbGxzL2RtdXNpYy9kbXVzaWMuYywgcHJvZ3JhbXMvd2luZWRiZy9oYXNoLmMsCisJICBwcm9ncmFtcy93aW5oZWxwL21hY3JvLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggc29tZSBpbnN0YW5jZXMgb2YgbWVtb3J5IGFsbG9jYXRpb24gdGhyb3VnaCBIZWFwUmVBbGxvYygpLgorCisJKiBkbGxzL2dkaS9mcmVldHlwZS5jLCBkbGxzL3gxMWRydi94cmVuZGVyLmM6CisJRGF2ZSBCZWxhbmdlciA8ZGF2ZS5iZWxhbmdlckBjaW1tZXRyeS5jb20+CisJSW1wbGVtZW50YXRpb24gb2YgdW5kZXJsaW5lIGFuZCBzdHJpa2VvdXQgdGV4dCBpbiB4cmVuZGVyLgorCisJKiBvYmplY3RzL2RpYi5jOiBEYXZlIEJlbGFuZ2VyIDxkYXZlLmJlbGFuZ2VyQGNpbW1ldHJ5LmNvbT4KKwlJbXByb3ZlbWVudCBvbiB0aGUgY29kZSB0aGF0IGRlYWxzIHdpdGggc2V0dGluZyB0aGUgY29sb3IgbWFwIGluCisJR2V0RElCaXRzLgorCisJKiBkbGxzLyovTWFrZWZpbGUuaW46CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW1vdmUgU1lNQk9MRklMRSBhbmQgTERETExGTEFHUyBmcm9tIE1ha2VmaWxlcy4KKworCSogTWFrZS5ydWxlcy5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwKKwkgIGRsbHMvTWFrZXRlc3QucnVsZXMuaW4sIHByb2dyYW1zL01ha2Vwcm9nLnJ1bGVzLmluLAorCSAgcHJvZ3JhbXMvYXZpdG9vbHMvTWFrZWZpbGUuaW46CisJRGVmaW5lIGFuIExERExMIGNvbW1hbmQgdG8gbGluayBkbGxzLCBpbnN0ZWFkIG9mIHVzaW5nIExERExMRkxBR1MuCisKKwkqIE1ha2VmaWxlLmluLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL21ha2VfZGxscywgdG9vbHMvd2luZXdyYXBwZXI6CisJV2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbGluayBhZ2FpbnN0IG50ZGxsIGluIHRoZSBVbml4IHNlbnNlLgorCisyMDAzLTEwLTEwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBtaXNjZW11L01ha2VmaWxlLmluOgorCU1vdmVkIHRoZSBwdGhyZWFkIGVtdWxhdGlvbiBpbnRvIHRoZSBtYWluIGJpbmFyeSBzbyB0aGF0IHdlIGRvbid0IG5lZWQKKwl0byBsaW5rIGl0IGFnYWluc3QgbnRkbGwuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlYXV0LmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGUuCisKKwkqIHRvb2xzL3dpbmVnY2Mvd2luZXdyYXAuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlIYXZlIHRoZSB3cmFwcGVyIGxvYWQgdGhlIHVzZWQgRExMcyBpbiBjYXNlIHRoZSBtYWluIHByb2dyYW0KKwljYWxscyB0aGVtIGZyb20gY29uc3RydWN0b3JzICh3aXRoIGhlbHAgZnJvbSBBbGV4YW5kcmUgSnVsbGlhcmQpLgorCisJKiBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGluY2x1ZGUvd2luZS9saWJyYXJ5LmgsIGxpYnMvd2luZS9sb2FkZXIuYzoKKwlEb24ndCByZWZlcmVuY2UgdGhlIGVudmlyb24gZ2xvYmFsIHZhcmlhYmxlIGZyb20ga2VybmVsMzIsIGl0IG1heSBmYWlsCisJdG8gbGluayAocmVwb3J0ZWQgYnkgR2VyYWxkIFBmZWlmZXIpLgorCisJKiBkbGxzL250ZGxsL2xvYWRlci5jOgorCUZpeGVkIGltcG9ydGluZyBvZiBkbGxzIHdpdGggbm8gZXhwb3J0cyAocmVwb3J0ZWQgYnkgV2FycmVuIEJhaXJkKS4KKwlEb24ndCBjcmFzaCBvbiBhbiBlbXB0eSBsb2FkIG9yZGVyIHNwZWNpZmljYXRpb24gKHJlcG9ydGVkIGJ5IE1heGltZQorCUJlbGxlbmfpKS4KKwlUcnkgdG8gYXZvaWQgY3Jhc2hpbmcgd2hlbiBhbiBpbXBvcnQgaXMgbWlzc2luZyBmb3IgYSBidWlsdGluIGRsbC4KKworCSogZGxscy9NYWtlZGxsLnJ1bGVzLmluOgorCVRoZSBpbnRlcm1lZGlhdGUgLnRtcC5vIGZpbGUgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KKwlETExNQUlOIGlzIG5vdCB1c2VkIGFueW1vcmUuCisKKwkqIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgZGxscy91c2VyL3VzZXIzMi5zcGVjLCBkbGxzL3VzZXIvdXNlcl9tYWluLmM6CisJVXNlIHRoZSBzdGFuZGFyZCBEbGxNYWluIGVudHJ5IHBvaW50LgorCisJKiBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbWFrZV9kbGxzOgorCUxESU1QT1JUUyBpcyBubyBsb25nZXIgbmVlZGVkLgorCisJKiBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwva2VybmVsX21haW4uYzoKKwlXZSBjYW4gbm93IHVzZSB0aGUgc3RhbmRhcmQgRGxsTWFpbiBhcyBlbnRyeSBwb2ludC4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMvbnRkbGwvbnRkbGwuc3BlYzoKKwlMaW5rIGtlcm5lbDMyIGFzIGEgbm9ybWFsIGRsbC4KKworCSogbGlicy93aW5lL3BvcnQuYzoKKwlBZGRlZCBwbGFjZWhvbGRlcnMgZm9yIHdpbmVfcHRocmVhZF9pbml0X3Byb2Nlc3MgYW5kCisJd2luZV9wdGhyZWFkX2luaXRfdGhyZWFkLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGRsbHMvbnRkbGwvaGVhcC5jLAorCSAgZGxscy9udGRsbC9sb2FkZXIuYywgZGxscy9udGRsbC9udGRsbF9taXNjLmgsIGRsbHMvbnRkbGwvc2VydmVyLmMsCisJICBpbmNsdWRlL21vZHVsZS5oLCBpbmNsdWRlL3dpbnRlcm5sLmgsIGxpYnMvd2luZS9sb2FkZXIuYzoKKwlDaGFuZ2VkIHRoZSBpbml0IGNvZGUgdG8gbWFrZSBsaWJ3aW5lIGxvYWQgb25seSBudGRsbCBhbmQgdHJhbnNmZXIKKwljb250cm9sIHRvIGl0LCBhbmQgdGhlbiBoYXZlIG50ZGxsIGxvYWQga2VybmVsMzIgdXNpbmcgdGhlIG5vcm1hbAorCWxvYWRlciBtZWNoYW5pc21zLgorCUdldCByaWQgb2YgQlVJTFRJTjMyX0xvYWRFeGVNb2R1bGUuCisKKwkqIGRsbHMvZ2RpL2VuaG1mZHJ2L2RjLmMsIGRsbHMvZ2RpL2VuaG1mZHJ2L2VuaG1ldGFmaWxlZHJ2LmgsCisJICBkbGxzL2dkaS9lbmhtZmRydi9pbml0LmM6CisJRGF2ZSBCZWxhbmdlciA8ZGF2ZS5iZWxhbmdlckBjaW1tZXRyeS5jb20+CisJSW1wbGVtZW50YXRpb24gb2YgU2V0VGV4dEp1c3RpY2F0aW9uIEVNRiBkcml2ZXIgY2FsbGJhY2suCisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmM6IERhdmUgQmVsYW5nZXIgPGRhdmUuYmVsYW5nZXJAY2ltbWV0cnkuY29tPgorCUltcHJvdmVkIGZvbnQgZ2x5cGggdHJhbnNmb3JtYXRpb24gc3VwcG9ydCBpbiBHZXRHbHlwaE91dGxpbmUuCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jOgorCU1ha2Ugc3VyZSB3ZSBhbHdheXMgdXNlIHRoZSBzYW1lIG5hbWUgZm9yIHRoZSBzZW1hcGhvcmUgKHNwb3R0ZWQgYnkKKwlCZW4gQSBMIEplbW1ldHQpLgorCisJKiBwcm9ncmFtcy93aW5lY29uc29sZS9jdXJzZXMuYzogUGV0ZXIgQmVyZyBMYXJzZW4gPHBlYmxAbWF0aC5rdS5kaz4KKwlDaGFuZ2VkIGRlYnVnIGNoYW5uZWwgdG8gImN1cnNlcyIgdG8gc2VwZXJhdGUgaXQgZnJvbSB3aW5lY29uc29sZS5jCisJYW5kIGFkZGVkIHNvbWUgdHJhY2UgaW5mb21hdGlvbi4KKworCSogZGxscy9tc3ZjcnQvdGVzdHMvc2NhbmYuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJQWRkZWQgdGVzdCBmb3IgJW4uCisKKwkqIGRsbHMvbXN2Y3J0L3NjYW5mLmg6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCSVuIHJldHVybnMgdGhlIG51bWJlciBvZiBjb25zdW1lZCBjaGFyYWN0ZXJzLgorCisyMDAzLTEwLTA5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGRsbHMvbnRkbGwvdGhyZWFkLmMsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlVc2UgdGhlIFJ0bCBiaXRtYXAgZnVuY3Rpb25zIHRvIGltcGxlbWVudCBUbHMgYWxsb2NhdGlvbi4KKwlHZXQgcmlkIG9mIHRoZSBQREIgc3RydWN0dXJlLgorCisJKiBkbGxzL2tlcm5lbC93b3d0aHVuay5jOgorCVdlIG5lZWQgdG8gaW5pdGlhbGl6ZSB0aGUgcmVsYXkgZGVidWcgbGlzdHMgZm9yICtzbm9vcCB0b28uCisKKwkqIGRsbHMva2VybmVsL25lX3NlZ21lbnQuYywgZGxscy93aW5lZG9zL3ZnYS5jLCBmaWxlcy9kaXJlY3RvcnkuYzoKKwlPbGVnIFByb2tob3JvdiA8eG9sZWdwcm9AcmJjbWFpbC5ydT4KKwlBdm9pZCBIZWFwUmVBbGxvYyBvZiBhIE5VTEwgcG9pbnRlci4KKworCSogREVWRUxPUEVSUy1ISU5UUzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW1vdmUgaW5leGlzdGVudCBkaXIsIGFkZCBhIGRvYyByZWZlcmVuY2UgZnJvbSBzaGVsbDMyLgorCisJKiBkbGxzL3NoZWxsMzIvcGlkbC5jLCBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsIGRvY3VtZW50YXRpb24vc2hlbGwzMjoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1vdmUgdXNlZnVsIGluZm9ybWF0aW9uIG91dCBvZiBkb2N1bWVudGF0aW9uL3NoZWxsMzIuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMva2VybmVsL3N5bmMuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIHNvbWUgZnVuY3Rpb25zIHJlbGF0ZWQgdG8gUmVnaXN0ZXJXYWl0LgorCisJKiBwcm9ncmFtcy91bmluc3RhbGxlci9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvdW5pbnN0YWxsZXIvbWFpbi5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlIYW5kbGUgcXVvdGluZyBvbiB0aGUgY29tbWFuZCBsaW5lIGluIHVuaW5zdGFsbGVyLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlGaXhlZCBTTVBURSB0aW1lLgorCUZpeGVkIGJhZCB3YXZlIGluIHBvc2l0aW9uIGF0IHN0YXJ0dXAgYW5kIHJlc2V0LgorCisJKiBkbGxzL2ltYWdlaGxwL2RlYnVnLmMsIGRsbHMvaW1hZ2VobHAvaW1hZ2VobHBfbWFpbi5jLAorCSAgaW5jbHVkZS9pbWFnZWhscC5oOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlCcmluZyBpbWFnZWhscCAobW9zdGx5KSBpbmxpbmUgd2l0aCB0aGUgUFNESyBhbmQgTWluZ3cuCisKKwkqIGRsbHMvZ2RpL2VuaG1mZHJ2L2dyYXBoaWNzLmM6CisJRGF2ZSBCZWxhbmdlciA8ZGF2ZS5iZWxhbmdlckBjaW1tZXRyeS5jb20+CisJSW1wcm92ZWQgdGhlIGJvdW5kaW5nIGJveCBjYWxjdWxhdGlvbiBmb3IgdGhlIEVNRiBkcml2ZXIgRXh0VGV4dE91dAorCW1ldGFyZWNvcmQuIEl0IHRha2VzIHRoZSB0ZXh0IGFsaWdubWVudCBpbnRvIGFjY291bnQuCisKKwkqIGRsbHMvbnRkbGwvbnRkbGwuc3BlYzogQWRkZWQgYSBmZXcgbWlzc2luZyBleHBvcnRzLgorCisJKiBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGRsbHMva2VybmVsL3RocmVhZC5jLCBkbGxzL250ZGxsL3RocmVhZC5jLAorCSAgaW5jbHVkZS90aHJlYWQuaDoKKwlNb3ZlZCB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBpbml0aWFsIFRFQiB0byBudGRsbCBzbyB0aGF0IGl0IHJ1bnMgYXMKKwllYXJseSBhcyBwb3NzaWJsZSBvbiBzdGFydHVwLgorCisJKiBkbGxzL2dkaS9lbmhtZmRydi9pbml0LmMsIGRsbHMvZ2RpL2VuaG1mZHJ2L21hcHBpbmcuYzoKKwlEYXZlIEJlbGFuZ2VyIDxkYXZlLmJlbGFuZ2VyQGNpbW1ldHJ5LmNvbT4KKwlJbXBsZW1lbnRhdGlvbiBvZiBFTUYgZHJpdmVyIE9mZnNldFZpZXdwb3J0T3JnIGFuZCBPZmZzZXRXaW5kb3dPcmcKKwljYWxsYmFja3MgdXNpbmcgdGhlIEVNUl9TRVRWSUVXUE9SVE9SR0VYIGFuZCBFTVJfU0VUV0lORE9XT1JHRVgKKwltZXRhcmVjb3JkcyByZXNwZWN0aXZlbHkuCisKKwkqIHByb2dyYW1zL3djbWQvYnVpbHRpbnMuYywgcHJvZ3JhbXMvd2NtZC93Y21kLmgsCisJICBwcm9ncmFtcy93Y21kL3djbWRtYWluLmMsIHByb2dyYW1zL3dpbmVjZmcvZHJpdmUuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5jLCBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuaCwKKwkgIHByb2dyYW1zL3dpbmVkYmcvZGJfZGlzYXNtLmMsIHByb2dyYW1zL3dpbmVkYmcvZGJnLnksCisJICBwcm9ncmFtcy93aW5lZGJnL2RlYnVnZ2VyLmgsIHByb2dyYW1zL3dpbmVkYmcvZ2RicHJveHkuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvaGFzaC5jLCBwcm9ncmFtcy93aW5lZGJnL2luZm8uYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvdHlwZXMuYzoKKwlEYW5pZWwgTWFybWllciA8ZC5tYXJtaWVyQGJsdWV3aW4uY2g+CisJRml4ZWQgd2FybmluZ3Mgd2l0aCBnY2Mgb3B0aW9uICItV3dyaXRlLXN0cmluZ3MiLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbjoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVVzZSBkb2Nib29rMnR4dCB0byBnZW5lcmF0ZSB0aGUgdGV4dCBvdXRwdXQgaW5zdGVhZCBvZiBhZGhvYyBoYWNrcy4KKworCSogcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGUuYzoKKwlQZXRlciBCZXJnIExhcnNlbiA8cGVibEBtYXRoLmt1LmRrPgorCVVzZSBDT05TT0xFX1JFTkRFUkVSX05PTkVfRVZFTlQgdG8gY29tcHJlc3MgYW4gZXZlbnQgaW5zdGVhZCBvZgorCWRlbGV0aW5nIGl0IHdpdGggYSBtZW1tb3ZlLgorCisJKiBwcm9ncmFtcy93aW5lY29uc29sZS9jdXJzZXMuYzogUGV0ZXIgQmVyZyBMYXJzZW4gPHBlYmxAbWF0aC5rdS5kaz4KKwlUaGUgVGFiIGtleSB3YXMgY29uc2lkZXJlZCBhIGN0cmwta2V5IGFuZCBTaGlmdC1UYWIgd2FzIGlnbm9yZWQuCisKKzIwMDMtMTAtMDggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL3N5c2xldmVsLmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywKKwkgIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYywgdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmM6CisJQWRkZWQgX193aW5lX3NldF9zaWduYWxfZnMgZnVuY3Rpb24gdG8gYXZvaWQgc2hhcmluZyB0aGUKKwlTWVNMRVZFTF9XaW4xNkN1cnJlbnRUZWIgdmFyaWFibGUgYmV0d2VlbiBrZXJuZWwgYW5kIG50ZGxsLgorCU9uIHRoZSBrZXJuZWwgc2lkZSwgcmVwbGFjZWQgU1lTTEVWRUxfV2luMTZDdXJyZW50VGViIGJ5CisJQ2FsbFRvMTZfVGViU2VsZWN0b3Igc3RvcmVkIGRpcmVjdGx5IGluIHRoZSBhc20gcmVsYXkgY29kZSB0byBhdm9pZCBhCisJcnVuLXRpbWUgcmVsb2NhdGlvbi4KKworCSogZGxscy9rZXJuZWwvcmVsYXkxNi5jLCBkbGxzL2tlcm5lbC9zbm9vcDE2LmMsIGRsbHMva2VybmVsL3dvd3RodW5rLmMsCisJICBkbGxzL250ZGxsL3JlbGF5LmM6CisJRHVwbGljYXRlIHBhcnRzIG9mIHRoZSByZWxheSBkZWJ1Z2dpbmcgaW5pdCBjb2RlIGludG8ga2VybmVsIHRvIGF2b2lkCisJcmVmZXJlbmNpbmcgbnRkbGwgaW50ZXJuYWwgc3ltYm9scy4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL250ZGxsL2Vudi5jOgorCU1vdmVkIGJ1aWxkX2NvbW1hbmRfbGluZSBiYWNrIHRvIGtlcm5lbCBhbmQgbWFrZSBpdCBoYW5kbGUgVW5pY29kZQorCXByb3Blcmx5LgorCisJKiBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZF9wcml2YXRlLmgsCisJICBkbGxzL2Rzb3VuZC9wcm9wc2V0LmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2NhcHR1cmUuYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCU1ha2UgY2FwdHVyZSBtb3JlIHJlbGlhYmxlIGJ5IHN1Ym1pdHRpbmcgYWxsIGJ1ZmZlcnMgYmVmb3JlIHN0YXJ0LgorCUFkZGVkIHN1cHBvcnQgZm9yIG5vbiBwY20gZm9ybWF0cy4KKwlBZGRlZCBtb3JlIHByb3BlcnR5IHNldCBzdXBwb3J0LgorCisJKiBkbGxzL250ZGxsL2RlYnVndG9vbHMuYzogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlJbmNsdWRlIG50ZGxsX21pc2MuaCB0byBnZXQgdGhlIEdldEN1cnJlbnRQcm9jZXNzL1RocmVhZElkIG1hY3Jvcy4KKworCSogZGxscy9nZGkvZW5obWZkcnYvZ3JhcGhpY3MuYzoKKwlEYXZlIEJlbGFuZ2VyIDxkYXZlLmJlbGFuZ2VyQGNpbW1ldHJ5LmNvbT4KKwlJbXBsZW1lbnRhdGlvbiBvZiBTZXRQaXhlbCBtZXRhcmVjb3JkLgorCisJKiBkbGxzL2dkaS9lbmhtZmRydi9pbml0LmM6IERhdmUgQmVsYW5nZXIgPGRhdmUuYmVsYW5nZXJAY2ltbWV0cnkuY29tPgorCUF2b2lkIGV4Y2Vzc2l2ZSBoZWFwIG1lbW9yeSByZWFsbG9jYXRpb24gd2hlbiBnZW5lcmF0aW5nIEVNRgorCW1ldGFyZWNvcmRzIGluIG1lbW9yeS4KKworCSogcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGUuYzoKKwlSZW1vdmVkIHVzZWxlc3MgV0lORV9UUkFDRV9PTiB0ZXN0cy4KKworCSogcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGUuYzoKKwlQZXRlciBCZXJnIExhcnNlbiA8cGVibEBtYXRoLmt1LmRrPgorCU1vdmVkIGRlYnVnIG91dHB1dCB1cCBiZWZvcmUgY2FsbGluZyB0aGUgYmFja2VuZC4KKworCSogZGxscy9udGRsbC9zZXJ2ZXIuYywgZGxscy9udGRsbC92aXJ0dWFsLmM6CisJUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlJbmNsdWRlIG50ZGxsX21pc2MuaCB0byBnZXQgdGhlIEdldEN1cnJlbnRQcm9jZXNzL1RocmVhZElkIG1hY3Jvcy4KKworCSogZGxscy9udGRsbC9oZWFwLmM6IFBhdmVsIFJvc2tpbiA8cHJvc2tpQGdudS5vcmc+CisJRWxpbWluYXRlIGRlcGVuZGVuY3kgb24gU2V0TGFzdEVycm9yKCkuCisKKwkqIGRsbHMvZ2RpL3dpbmcuYywgZGxscy93aW5pbmV0L25ldGNvbm5lY3Rpb24uYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlTb21lIHNwZWxsaW5nIGZpeGVzLgorCisJKiBkb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uc2dtbDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJUmVtb3ZlIGlycmVsZXZhbnQgKGFuZCBpbmNvbXBsZXRlKSBkb2N1bWVudGF0aW9uIGluICdUaGUgV2luZSBEb2NCb29rCisJU3lzdGVtJyBzZWN0aW9uLgorCisJKiBkbGxzL29sZTMyL3N0b3JhZ2UuYzogV2FycmVuIEJhaXJkIDx3YXJyZW4uYmFpcmRAY2ltbWV0cnkuY29tPgorCURhdmUgQmVsYW5nZXIgPGRhdmUuYmVsYW5nZXJAY2ltbWV0cnkuY29tPgorCU1vdmVkIGNvZGUgb3V0IG9mIGFzc2VydCBzdGF0ZW1lbnRzIHNvIHlvdSBjYW4gc2FmZWx5IGNvbXBpbGUgd2l0aAorCS1ETkRFQlVHLgorCisJKiBkbGxzL3dpbmVkb3MvaW50ZXJydXB0cy5jLCBpbmNsdWRlL3Rhc2suaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRG9uJ3Qgc2hhcmUgc29tZSBwcm90ZWN0ZWQgbW9kZSBpbnRlcnJ1cHRzIGluIHdpbmVkb3MuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOgorCVJlbW92ZWQgY3JlYXRpb24gb2YgbG9hZGVyL25lIGFuZCB3aW4zMiBkaXJlY3Rvcmllcy4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL2NvbnNvbGUuYywgZGxscy9rZXJuZWwvZGV2aWNlLmMsCisJICBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGRsbHMva2VybmVsL3N5bmMuYywgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwKKwkgIHNjaGVkdWxlci9oYW5kbGUuYzoKKwlNb3ZlZCBhIGZldyBtb3JlIGZ1bmN0aW9ucyB0byB0aGUgZGxscy9rZXJuZWwgZGlyZWN0b3J5LgorCisJKiBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwvZ2xvYmFsMTYuYywgZGxscy9rZXJuZWwvaGVhcC5jLAorCSAgZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMsIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9rZXJuZWwvc3RyaW5nLmMsCisJICBkbGxzL2tlcm5lbC90YXNrLmMsIGRsbHMva2VybmVsL3RocmVhZC5jLCBkbGxzL250ZGxsL01ha2VmaWxlLmluLAorCSAgbG9hZGVyL3Rhc2suYywgbWVtb3J5L2dsb2JhbC5jLCBtZW1vcnkvaGVhcC5jLCBtZW1vcnkvc3RyaW5nLmMsCisJICBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzY2hlZHVsZXIvdGhyZWFkLmM6CisJTGluayBhbGwgcmVtYWluaW5nIGZpbGVzIHRoYXQgY29udGFpbiBrZXJuZWwgQVBJcyBpbnRvIGtlcm5lbDMyLmRsbAorCWluc3RlYWQgb2YgbnRkbGwuZGxsLiBSZW1vdmVkIGEgbnVtYmVyIG9mIG5vIGxvbmdlciBuZWVkZWQgZmlsZXMuCisKKwkqIGluY2x1ZGUvbW9kdWxlLmg6CisJQWRkZWQgaGFjayB0byBjYWxsIENyZWF0ZUZpbGVXIHRocm91Z2ggYSBwb2ludGVyIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZAorCXRvIGxpbmsgdG8ga2VybmVsIGZ1bmN0aW9ucy4KKwlDb21tZW50ZWQgb3V0IFNNQiBzdXBwb3J0IGluIE50UmVhZEZpbGUgZm9yIG5vdy4KKworCSogZmlsZXMvc21iLmM6IFJlbW92ZWQgZGVwZW5kZW5jeSBvbiBudGRsbF9taXNjLmguCisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9udGRsbC9maWxlLmMsIGRsbHMvbnRkbGwvbG9hZGVyLmMsCisJICBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwgZGxscy9udGRsbC9wYXRoLmM6CisJQWRkZWQgaGFjayB0byBjYWxsIENyZWF0ZUZpbGVXIHRocm91Z2ggYSBwb2ludGVyIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZAorCXRvIGxpbmsgdG8ga2VybmVsIGZ1bmN0aW9ucy4KKwlDb21tZW50ZWQgb3V0IFNNQiBzdXBwb3J0IGluIE50UmVhZEZpbGUgZm9yIG5vdy4KKworCSogZGxscy9udGRsbC9jZHJvbS5jLCBkbGxzL250ZGxsL2ZpbGUuYywgZmlsZXMvZHJpdmUuYzoKKwlQYXNzIHRoZSBjZHJvbSBkZXZpY2UgcGF0aCBpbiBDRFJPTV9Jbml0UmVnaXN0cnkgc28gdGhhdCBudGRsbCBkb2Vzbid0CisJbmVlZCB0byBjYWxsIERSSVZFX0dldERldmljZS4KKwlHZXQgcmlkIG9mIEdldERyaXZlVHlwZSBjYWxscy4KKworCSogaW5jbHVkZS93aW5pbmV0Lmg6IFdhcnJlbiBCYWlyZCA8d2FycmVuLmJhaXJkQGNpbW1ldHJ5LmNvbT4KKwlDaGFuZ2VkIEludGVybmV0U2V0U3RhdHVzQ2FsbGJhY2sgZGVjbGFyYXRpb24gdG8KKwlJbnRlcm5ldFNldFN0YXR1c0NhbGxiYWNrQS9XLgorCisJKiBncmFwaGljcy94MTFkcnYvYml0Ymx0LmM6IFdhcnJlbiBCYWlyZCA8d2FycmVuLmJhaXJkQGNpbW1ldHJ5LmNvbT4KKwlIYW5kbGUgY2FzZXMgd2hlcmUgWEdldEltYWdlIG9yIFgxMURSVl9ESUJfQ3JlYXRlWEltYWdlIGZhaWwuCisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9udGRsbC9zZXJ2ZXIuYywgaW5jbHVkZS9vcHRpb25zLmgsCisJICBtaXNjL29wdGlvbnMuYzoKKwlHZXQgcmlkIG9mIHRoZSBhcmd2MCBhbmQgZnVsbF9hcmd2MCBnbG9iYWwgdmFyaWFibGVzLgorCisJKiBpbmNsdWRlL3dpbmUvbGlicmFyeS5oLCBsaWJzL3dpbmUvY29uZmlnLmMsIGxpYnMvd2luZS9sb2FkZXIuYzoKKwlBZGRlZCB3aW5lX2dldF9hcmd2MF9wYXRoKCkgdG8gcmV0cmlldmUgdGhlIHBhdGggb2YgdGhlIHdpbmUgYmluYXJ5LgorCisJKiBkbGxzL250ZGxsL2xvYWRlci5jLCBkbGxzL250ZGxsL3ZpcnR1YWwuYywgZmlsZXMvZmlsZS5jLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvZmlsZS5oLAorCSAgc2VydmVyL21hcHBpbmcuYywgc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3Byb3RvY29sLmRlZiwKKwkgIHNlcnZlci90cmFjZS5jOgorCVN0b3JlIGEgInJlbW92YWJsZSIgZmxhZyBpbnN0ZWFkIG9mIHRoZSBmdWxsIGRyaXZlIHR5cGUgaW4gdGhlIHNlcnZlcgorCWZpbGUgb2JqZWN0OyB0aGlzIHdheSB3ZSBkb24ndCBuZWVkIHRvIHVzZSBHZXREcml2ZVR5cGVXIGluIHRoZSBsb2FkZXIKKwljb2RlLgorCU1ha2Ugc3VyZSB3ZSBhbHdheXMgaGF2ZSBhIHZhbGlkIGJ1aWx0aW5fbG9hZF9pbmZvIHBvaW50ZXIuCisKKzIwMDMtMTAtMDcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbnRkbGwvbG9hZGVyLmMsIGRsbHMvbnRkbGwvbG9hZG9yZGVyLmMsIGRsbHMvbnRkbGwvbnRkbGxfbWlzYy5oOgorCVJlbW92ZWQgcmVmZXJlbmNlcyB0byBHZXRTeXN0ZW1EaXJlY3RvcnlXLgorCU9wdGltaXplZCBtb2R1bGUgbG9va3VwIGEgYml0LgorCUtlZXAgdHJhY2sgb2YgdGhlIG1vZHJlZiBwb2ludGVyIGFjcm9zcyBidWlsdGluIGRsbCBsb2FkcyB0byBhdm9pZAorCWhhdmluZyB0byBsb29rIGl0IHVwIGJ5IG5hbWUgYWZ0ZXJ3YXJkcy4KKworCSogZGxscy9vZGJjMzIvcHJveHlvZGJjLmgsIGRsbHMvcXVhcnR6L21haW4uYywKKwkgIGRsbHMvcnBjcnQ0L3JwY19iaW5kaW5nLmMsIGRsbHMvcnBjcnQ0L3JwY19iaW5kaW5nLmgsCisJICBkbGxzL3NobHdhcGkvcmVnLmMsIGRsbHMvc2hsd2FwaS90ZXN0cy9wYXRoLmMsCisJICBkbGxzL3NobHdhcGkvdGVzdHMvc2hyZWcuYywgZGxscy93aW5tbS9tY2lhbmltL21jaWFuaW0uYywKKwkgIGRsbHMvd2lubW0vbWNpYXZpL2luZm8uYywgZGxscy93aW5tbS9tY2ljZGEvbWNpY2RhLmMsCisJICBkbGxzL3dpbm1tL21jaXNlcS9tY2ltaWRpLmMsIGRsbHMvd2lubW0vd2luZWFsc2EvYXVkaW8uYywKKwkgIGRsbHMvd2lubW0vd2luZW9zcy9taXhlci5jOgorCURhbmllbCBNYXJtaWVyIDxkLm1hcm1pZXJAYmx1ZXdpbi5jaD4KKwlGaXhlZCB3YXJuaW5ncyB3aXRoIGdjYyBvcHRpb24gIi1Xd3JpdGUtc3RyaW5ncyIuCisKKwkqIGluY2x1ZGUvd2luY3J5cHQuaDogV2FycmVuIEJhaXJkIDx3YXJyZW4uYmFpcmRAY2ltbWV0cnkuY29tPgorCUFkZGVkIGV4dGVybiAiQyIuCisKKwkqIGRsbHMvY29tbWRsZy9wcmludGRsZy5jLCBkbGxzL3NldHVwYXBpL2Rldmluc3QuYywKKwkgIGRsbHMvd2lubW0vam95c3RpY2suYywgaW5jbHVkZS9zZXR1cGFwaS5oOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlSZW1vdmUgYSBmZXcgdW5uZWVkZWQgaW5jbHVkZSBzdGF0ZW1lbnRzIGluIGludGVybmFsIGhlYWRlcnMuCisJU3RhcnRlZCBicmluZ2luZyBzZXR1cGFwaSBpbiBsaW5lIHdpdGggUFNESy4KKworCSogcHJvZ3JhbXMvcmVnc3ZyMzIvcmVnc3ZyMzIuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVdoZW4gcmVnaXN0ZXJpbmcgYSBkbGwsIHNlYXJjaCB0aGUgZGxsJ3MgZGlyZWN0b3J5IGZvciBkbGwKKwlkZXBlbmRlbmNpZXMgdG9vLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9udGRsbC9jZHJvbS5jLCBpbmNsdWRlL2NvbmZpZy5oLmluOgorCVJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlBZGRlZCBhIGNoZWNrIGZvciA8c2NzaS9zY3NpLmg+IGFuZCBpbmNsdWRlIGl0IGluIGRsbHMvbnRkbGwvY2Ryb20uYy4KKworCSogZGxscy9tc3ZjcnQvdGVzdHMvZmlsZS5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlBZGRlZCBzb21lIHRlc3RzIGFyb3VuZCBmZ2V0KHcpcy4KKworCSogZGxscy9tc3ZjcnQvZmlsZS5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlmZ2V0KHcpcygpOiBEb24ndCBkcm9wIGNoYXJhY3RlcnMgd2hlbiBidWZmZXIgaXMgbm90IGxhcmdlIGVub3VnaC4KKworCSogZGxscy9tc3ZjcnQvZmlsZS5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlfd3JpdGUoKTogRG9uJ3QgZnJhZ21lbnQgV3JpdGVGaWxlKCkgZm9yIFRFWFQgbW9kZSB3cml0ZS4KKworCSogZGxscy9udGRsbC9sb2FkZXIuYzoKKwlSZXdyaXRlIG9mIHRoZSBkbGwgZmlsZSBzZWFyY2ggYWxnb3JpdGhtIHRvIGJldHRlciBkZWFsIHdpdGggdGhlCisJYnJva2VuIGJlaGF2aW9yIG9mIFJ0bERvc1NlYXJjaFBhdGhfVS4KKworCSogZGxscy9udGRsbC9wYXRoLmM6IEEgY291cGxlIG1vcmUgZml4ZXMgaW4gUnRsR2V0RnVsbFBhdGhOYW1lX1UuCisJUmV2ZXJ0ZWQgbXkgcHJldmlvdXMgZml4IGluIFJ0bERvc1NlYXJjaFBhdGhfVSwgZXh0ZW5zaW9uIGhhbmRsaW5nIGlzCisJc3VwcG9zZWQgdG8gYmUgYnJva2VuLgorCisJKiBkbGxzL3VzZXIvZm9jdXMuYywgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RyYWNlLmMsCisJICBzZXJ2ZXIvd2luZG93LmMsIHdpbmRvd3Mvd2lucG9zLmM6CisJU3RvcmUgdGhlIGdsb2JhbCBzaGVsbCwgcHJvZ21hbiBhbmQgdGFza21hbiB3aW5kb3dzIGluIHRoZSBzZXJ2ZXIKKwkoYmFzZWQgb24gYSBwYXRjaCBieSBNYXJ0aW4gRnVjaHMpLgorCisJKiBkbGxzL21zdmNydC9maWxlLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCV9yZWFkKCk6IEluIF9PX1RFWFQgbW9kZSBtYWtlIFJlYWRmaWxlIGNhbGxzIGluIGNodW5rcyBhcyBiaWcgYXMKKwlwb3NzaWJsZS4KKworCSogZGxscy9nZGkvZW5obWZkcnYvZGMuYzogRGF2ZSBCZWxhbmdlciA8ZGF2ZS5iZWxhbmdlckBjaW1tZXRyeS5jb20+CisJU3BpdCBvdXQgRU1SX1JFU1RPUkVEQyBtZXRhcmVjb3JkcyB3aXRoIC0xIGFzIGFyZ3VtZW50IGFzIGxvbmcgYXMgd2UKKwlkb24ndCBnZXQgdG8gdGhlIHNhdmVkIHN0YXRlIHdlIHdhbnQuCisKKwkqIGRsbHMvd2luZWRvcy9pbnRlcnJ1cHRzLmM6IEp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlVc2UgY29ycmVjdCBwb2ludGVyIHdoZW4gYWNjZXNzaW5nIHJlYWwgbW9kZSBpbnRlcnJ1cHQgdmVjdG9ycyB1bmRlcgorCVdpbjE2LgorCisJKiBkbGxzL2QzZDgvZHJhd3ByaW0uYywgZGxscy9kM2Q4L3N1cmZhY2UuYzoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCURYVG4gc3RyaWRlIGlzIHRvIHRoZSBuZXh0IGJsb2NrLCB3aGljaCBpcyB0aGUgZXF1aXZhbGVudCB0byA0IHJvd3MKKwl3b3J0aCBvZiBieXRlcy4KKworCSogZGxscy9hZHZhcGkzMi9jcnlwdC5jLCBkbGxzL2NhYmluZXQvY2FiZXh0cmFjdC5jLAorCSAgZGxscy9jb21jdGwzMi9oZWFkZXIuYywgZGxscy9jb21jdGwzMi9saXN0dmlldy5jLAorCSAgZGxscy9jb21jdGwzMi9yZWJhci5jLCBkbGxzL2RpbnB1dC9kZXZpY2UuYywgZGxscy9kcGxheXgvZHBsYXkuYywKKwkgIGRsbHMvZHBsYXl4L2RwbG9iYnkuYywgZGxscy93aW5zb2NrL3Rlc3RzL3NvY2suYzoKKwlEYW5pZWwgTWFybWllciA8ZC5tYXJtaWVyQGJsdWV3aW4uY2g+CisJRml4ZWQgd2FybmluZ3Mgd2l0aCBnY2Mgb3B0aW9uICItV3dyaXRlLXN0cmluZ3MiLgorCisyMDAzLTEwLTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGRsbHMvbnRkbGwvbG9hZGVyLmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywKKwkgIGRsbHMvbnRkbGwvbnRkbGxfbWlzYy5oLCBpbmNsdWRlL21vZHVsZS5oLCBpbmNsdWRlL3dpbnRlcm5sLmg6CisJTW92ZWQgdGhlIGZpbmFsIHByb2Nlc3MgaW5pdCBhbmQgZGVwZW5kZW5jeSBsb2FkaW5nIHRvCisJZGxscy9udGRsbC9sb2FkZXIuYywgKGFiKXVzaW5nIHRoZSBMZHJJbml0aWFsaXplVGh1bmsgZW50cnkgcG9pbnQuCisKKwkqIGRsbHMvdXNlci9yZXNvdXJjZXMvdmVyc2lvbi5yYywgZGxscy93aW5tbS93aW5tbV9yZXMucmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUNoYW5nZSByZXNvdXJjZXMgZnJvbSBsYXN0IGxhbmd1YWdlIGZpbGUgdXNlZCB0byBMQU5HX05FVVRSQUwuCisKKwkqIGRsbHMvbXN2Y3J0L2NwcC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlNU1ZDUlRfX19SVER5bmFtaWNDYXN0OiBSZWplY3QgYSBOVUxMIGNwcG9iai4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jLAorCSAgZGxscy9vbGVhdXQzMi92YXJpYW50LmM6CisJRGFuaWVsIE1hcm1pZXIgPGQubWFybWllckBibHVld2luLmNoPgorCUZpeGVkIHdhcm5pbmdzIHdpdGggZ2NjIG9wdGlvbiAiLVd3cml0ZS1zdHJpbmdzIi4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgbWVtb3J5L2NvZGVwYWdlLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnRlZCBHZXRDUEluZm9FeEEvVy4KKwlEb2N1bWVudGF0aW9uIHVwZGF0ZXMuCisKKwkqIHRvb2xzL2JpbjJyZXMuYzogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlSZWFkIGFuZCB3cml0ZSBiaW5hcnkgZmlsZXMgaW4gYmluYXJ5IG1vZGUgb24gV2luZG93cy4KKworCSogaW5jbHVkZS90bXNjaGVtYS5oOiBLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlBZGRlZCBtaXNzaW5nIGRlZmluZXMgYW5kIGZpeGVkIGEgZmV3IHR5cG9zLgorCisJKiBkbGxzL250ZGxsL250LmM6IEFsZXggUGFzYWR5biA8YWpwQG1haWwudXRleGFzLmVkdT4KKwlGaXggYnVmZmVyIGxlbmd0aCBlcnJvciBjb2RlIGZvciBOdFF1ZXJ5SW5mb3JtYXRpb25Ub2tlbi4KKworCSogZGxscy9kZHJhdy9kM2RkZXZpY2UvbWVzYS5jLCBkbGxzL2RkcmF3L2hlbHBlci5jLCBkbGxzL2RkcmF3L21haW4uYywKKwkgIGRsbHMvbnRkbGwvdGVzdHMvcGF0aC5jLCBkbGxzL250ZGxsL3Rlc3RzL3J0bHN0ci5jLAorCSAgZGxscy9vbGUzMi9jb21wb2JqLmMsIGRsbHMvdXNlci90ZXN0cy9zeXNwYXJhbXMuYywKKwkgIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgZGxscy93aW5tbS9tY2kuYywgd2luZG93cy9kaWFsb2cuYywKKwkgIHdpbmRvd3Mvc3B5LmMsIHdpbmRvd3Mvc3lzcGFyYW1zLmMsIHdpbmRvd3Mvd2lucG9zLmM6CisJRGFuaWVsIE1hcm1pZXIgPGQubWFybWllckBibHVld2luLmNoPgorCUZpeGVkIHdhcm5pbmdzIHdpdGggZ2NjIG9wdGlvbiAiLVd3cml0ZS1zdHJpbmdzIi4KKworCSogdG9vbHMvd3JjL2R1bXByZXMuYzogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUdldCByaWQgb2YgdXNlbGVzcyBjb21tZW50IChlbXB0eSBmdW5jdGlvbiBoZWFkZXIpLgorCisyMDAzLTEwLTA0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBwcm9ncmFtcy9jbWRsZ3RzdC8uY3ZzaWdub3JlLCBwcm9ncmFtcy9jbWRsZ3RzdC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL2NtZGxndHN0L2NtZGxnci5yYywgcHJvZ3JhbXMvbm90ZXBhZC9ObC5yYywKKwkgIHByb2dyYW1zL3Byb2dtYW4vUHQucmMsIHByb2dyYW1zL3JlZ2VkaXQvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy92aWV3L0VuLnJjLCBwcm9ncmFtcy92aWV3L0VzLnJjLCBwcm9ncmFtcy92aWV3L0ZyLnJjLAorCSAgcHJvZ3JhbXMvdmlldy9JdC5yYywgcHJvZ3JhbXMvdmlldy9QdC5yYywgcHJvZ3JhbXMvdmlldy9SdS5yYywKKwkgIHByb2dyYW1zL3ZpZXcvU2kucmMsIHByb2dyYW1zL3djbWQvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvd2NtZC9Fbi5yYywKKwkgIHByb2dyYW1zL3djbWQvRnIucmMsIHByb2dyYW1zL3djbWQvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3djbWQvUHQucmMsCisJICBwcm9ncmFtcy93Y21kL1J1LnJjLCBwcm9ncmFtcy93Y21kL1NpLnJjLCBwcm9ncmFtcy93Y21kL3djbWRyYy5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlLy5jdnNpZ25vcmUsIHByb2dyYW1zL3dpbmVmaWxlL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvcmVzb3VyY2UucmMsIHByb2dyYW1zL3dpbmVtaW5lLy5jdnNpZ25vcmUsCisJICBwcm9ncmFtcy93aW5lbWluZS9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZW1pbmUvcnNyYy5yYzoKKwlQYXZlbCBSb3NraW4gPHByb3NraUBnbnUub3JnPgorCUNvbnZlcnQgcmVzb3VyY2VzIHRvIHN0YW5kYXJkIGZvcm1hdCB3aXRob3V0IGVtYmVkZGVkIGJpbmFyeSBkYXRhLgorCUZpeGVzIHRvIGJlIGNvbXBhdGlibGUgd2l0aCB3aW5kcmVzLgorCisJKiBkbGxzL2dkaS9mcmVldHlwZS5jOiBEYXZlIEJlbGFuZ2VyIDxkYXZlLmJlbGFuZ2VyQGNpbW1ldHJ5LmNvbT4KKwlJbXByb3ZlZCBnZW5lcmF0aW9uIG9mIGZvbnQgc2lnbmF0dXJlIGZyb20gZnJlZXR5cGUgZmFjZSBjaGFybWFwcy4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL250ZGxsL2Vudi5jLCBkbGxzL250ZGxsL2xvYWRvcmRlci5jLAorCSAgZGxscy9udGRsbC92ZXJzaW9uLmMsIGZpbGVzL2RyaXZlLmMsIGluY2x1ZGUvZHJpdmUuaCwgaW5jbHVkZS9maWxlLmgsCisJICBpbmNsdWRlL21vZHVsZS5oLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNlcnZlci9wcm9jZXNzLmMsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvdHJhY2UuYzoKKwlDb252ZXJ0ZWQgcHJvY2VzcyBjcmVhdGlvbiB0byBVbmljb2RlLgorCisJKiBkbGxzL2dkaS9mcmVldHlwZS5jOiBEYXZlIEJlbGFuZ2VyIDxkYXZlLmJlbGFuZ2VyQGNpbW1ldHJ5LmNvbT4KKwlGYWNlIGZhbWlsaWVzIGFyZSBpbiB0aGUgdG9wIDQgYml0cyBvZiBsZlBpdGNoQW5kRmFtaWx5LCBzbyBtYXNrIHdpdGgKKwkweEYwIGJlZm9yZSB0ZXN0aW5nLgorCisJKiBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyLnJjLAorCSAgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfYmluLnJjLAorCSAgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfYml0bWFwcy5yYywKKwkgIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX2N1cnNvcnMucmMsCisJICBkbGxzL3VzZXIvcmVzb3VyY2VzL3VzZXIzMl9pY29ucy5yYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1lcmdlIGFsbCBiaW5hcnkgcmVzb3VyY2VzIGZvciB1c2VyMzIgaW4gb25lIGZpbGUuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL3V4dGhlbWUvLmN2c2lnbm9yZSwKKwkgIGRsbHMvdXh0aGVtZS9NYWtlZmlsZS5pbiwgZGxscy91eHRoZW1lL21haW4uYywKKwkgIGRsbHMvdXh0aGVtZS91eHRoZW1lLnNwZWMsIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvdXh0aGVtZS5oOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgdXh0aGVtZS5kbGwsIG1vc3RseSBzdHViYmVkIG91dCBmb3Igbm93LgorCisJKiBkbGxzL250ZGxsL2Vudi5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGRsbHMvbnRkbGwvcnRsLmMsCisJICBpbmNsdWRlL3dpbnRlcm5sLmg6CisJSW1wbGVtZW50ZWQgUnRsQ3JlYXRlUHJvY2Vzc1BhcmFtZXRlcnMgYW5kIHJlbGF0ZWQgZnVuY3Rpb25zLgorCisJKiBwcm9ncmFtcy91bmluc3RhbGxlci8uY3ZzaWdub3JlLCBwcm9ncmFtcy91bmluc3RhbGxlci9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3VuaW5zdGFsbGVyL3JzcmMucmM6CisJUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlVc2UgYSBiZXR0ZXIgaWNvbi4gIENvbW1lbnQgb3V0IHRoZSBiaW5hcnkgcmVzb3VyY2UuCisKKwkqIHByb2dyYW1zL3Byb2dtYW4vRW4ucmMsIHByb2dyYW1zL3Byb2dtYW4vTmwucmMsCisJICBwcm9ncmFtcy9wcm9nbWFuL3JzcmMucmM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJRHV0Y2ggdHJhbnNsYXRpb24gb2YgcHJvZ21hbi4KKwlDb3JyZWN0IHR5cG8gaW4gRW5nbGlzaCByZXNvdXJjZXMuCisKKwkqIGRsbHMvZ2RpL2RyaXZlci5jLCBkbGxzL2dkaS9lbmhtZmRydi9lbmhtZXRhZmlsZWRydi5oLAorCSAgZGxscy9nZGkvZW5obWZkcnYvZ3JhcGhpY3MuYywgZGxscy9nZGkvZW5obWZkcnYvaW5pdC5jLAorCSAgZGxscy9nZGkvbWZkcnYvaW5pdC5jLCBpbmNsdWRlL2dkaS5oLCBvYmplY3RzL2RjLmM6CisJRGF2ZSBCZWxhbmdlciA8ZGF2ZS5iZWxhbmdlckBjaW1tZXRyeS5jb20+CisJSW1wbGVtZW50ZWQgdGhlIFNldEFyY0RpcmVjdGlvbiBtZXRhcmVjb3JkIGluIEVNRiBkcml2ZXIuCisKKwkqIHByb2dyYW1zL3dpbmVtaW5lL21haW4uYzogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlEb24ndCBwYXNzIHVudXNlZCBwb2ludGVycyB0byBSZWdDcmVhdGVLZXlFeCgpIC0gdGhpcyBwcmV2ZW50cyBzY29yZQorCXNhdmluZyBvbiBXaW5kb3dzIDIwMDAuCisKKwkqIGRsbHMvbnRkbGwvcGF0aC5jOiBFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlGaXhlZCBhIGNvdXBsZSBvZiBidWdzIGluIFJ0bEdldEZ1bGxQYXRoTmFtZV9VLgorCisJKiBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuYzogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlTZXQgd2luX3N0eWxlIG9mIHRoZSBtYWluIHdpbmRvdyB0byBXU19PVkVSTEFQUEVEV0lORE9XLgorCisJKiBkbGxzL2tlcm5lbC9kb3NtZW0uYywgZGxscy93aW5lZG9zL2ludDE5LmMsIGRsbHMvd2luZWRvcy9pbnRlcnJ1cHRzLmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCVJlYm9vdCAoaW50MTkpIHVuZGVyIERPUyBub3cgZG9lcyBFeGl0UHJvY2Vzcy4KKwlNYWRlIEJJT1MgcmVib290IHZlY3RvciBjYWxsIGludDE5LgorCisJKiBkbGxzL250ZGxsL3JlbGF5LmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCVNOT09QX1Nob3dEZWJ1Z21zZ1Nub29wKCk6IGNoZWNrIGZvciBOVUxMIGZ1bmN0aW9uIG5hbWUuCisKKwkqIGRsbHMvYXZpZmlsMzIvTWFrZWZpbGUuaW4sIGRsbHMvYXZpZmlsMzIvYXBpLmMsCisJICBkbGxzL2F2aWZpbDMyL2F2aWZpbDMyLnNwZWMsIGRsbHMvYXZpZmlsMzIvYXZpZmlsZS5jLAorCSAgZGxscy9hdmlmaWwzMi9hdmlmaWxlX3ByaXZhdGUuaCwgZGxscy9hdmlmaWwzMi9lZGl0c3RyZWFtLmMsCisJICBkbGxzL2F2aWZpbDMyL2dldGZyYW1lLmM6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJLSBGaXJzdCBwYXJ0IG9mIGEgbmV3IElBVklFZGl0U3RyZWFtIGltcGxlbWVudGF0aW9uLgorCS0gRml4ZWQvQWRkZWQgc29tZSBwYXJhbWV0ZXIgY2hlY2tpbmcuCisJLSBGaXhlZCBidWcgaW4gRWRpdFN0cmVhbVNldEluZm9XLgorCS0gRml4ZWQgYnVnIGluIGF2aWZpbDMyLnNwZWMgKHN0ciBpbnN0ZWFkIG9mIHdzdHIpLgorCS0gRml4ZWQgY29zbWV0aWMgYnVnIGluIElBVklTdHJlYW1JbXBsX2ZuUmVsZWFzZS4KKwktIEZpeGVkIHR5cG8uCisKKwkqIGRsbHMvY29tbWRsZy9wcmludGRsZy5oLCBkbGxzL2NvbW1kbGcvcHJpbnRkbGcxNi5jLAorCSAgZGxscy9udGRsbC90ZXN0cy9lcnJvci5jLCBkbGxzL250ZGxsL3Rlc3RzL2xhcmdlX2ludC5jLAorCSAgZGxscy9udGRsbC90ZXN0cy9ydGxzdHIuYywgZGxscy9udGRsbC90ZXN0cy9zdHJpbmcuYywKKwkgIGRsbHMvb3BlbmdsMzIvb3BlbmdsX2V4dC5oLCBkbGxzL3dpbm1tL21jaWF2aS93bmQuYzoKKwlNaWNoYWVsIEf8bm5ld2lnIDxNaWNoYWVsR3Vlbm5ld2lnQGdteC5kZT4KKwlGaXhlZCB3YXJuaW5ncyB3aXRoIGdjYyBvcHRpb24gIi1Xd3JpdGUtc3RyaW5ncyIuCisKKzIwMDMtMTAtMDMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIE1ha2UucnVsZXMuaW4sIGRsbHMvY29tY3RsMzIvLmN2c2lnbm9yZSwgZGxscy9jb21jdGwzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvY29tY3RsMzIvcnNyYy5yYywgZGxscy9jb21tZGxnLy5jdnNpZ25vcmUsCisJICBkbGxzL2NvbW1kbGcvTWFrZWZpbGUuaW4sIGRsbHMvY29tbWRsZy9jZGxnX3h4LnJjLAorCSAgZGxscy9vbGUzMi8uY3ZzaWdub3JlLCBkbGxzL29sZTMyL01ha2VmaWxlLmluLAorCSAgZGxscy9vbGUzMi9vbGUzMnJlcy5yYywgZGxscy9zaGVsbDMyLy5jdnNpZ25vcmUsCisJICBkbGxzL3NoZWxsMzIvTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi9zaHJlcy5yYywKKwkgIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgZGxscy91c2VyL3Jlc291cmNlcy8uY3ZzaWdub3JlLAorCSAgZGxscy91c2VyL3Jlc291cmNlcy9kaXNwbGF5LnJjLAorCSAgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfYml0bWFwcy5yYywKKwkgIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX2N1cnNvcnMucmMsCisJICBkbGxzL3VzZXIvcmVzb3VyY2VzL3VzZXIzMl9pY29ucy5yYywgcHJvZ3JhbXMvcmVnZWRpdC8uY3ZzaWdub3JlLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvcmVnZWRpdC9yZXNvdXJjZS5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvd2luZWNmZy9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5yYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUV4dHJhY3QgYmluYXJ5IHJlc291cmNlcyB0byBmaWxlcywgdG8gZml0IHRoZSBzdGFuZGFyZC4KKworCSogZGxscy9udGRsbC9jZHJvbS5jOiBBdm9pZCBjbG9zaW5nIHRoZSBjZHJvbSBpZiB3ZSBmYWlsZWQgdG8gb3BlbiBpdC4KKworCSogZGxscy9kM2Q4L2QzZDhfcHJpdmF0ZS5oLCBkbGxzL2QzZDgvZGlyZWN0eC5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJQ2hlY2sgZm9yIGFkdmVydGl6ZWQgdmVydGV4IGJsZW5kIHN1cHBvcnQgYmVmb3JlIHF1ZXJ5aW5nIGRldmljZQorCWNhcGFiaWxpdGllcywgd2hpY2ggc2lsZW5jZXMgaXNzdWVzIGFib3V0IHZlcnRleCBibGVuZGluZy4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlUZXN0cyBmb3IgcmVjZW50IHZhcmlhbnQgY2hhbmdlcy4KKworCSogZGxscy9udGRsbC9jZHJvbS5jOiBQYXZlbCBSb3NraW4gPHByb3NraUBnbnUub3JnPgorCUFkZCBzdXBwb3J0IGZvciBTQ1NJIENELVJPTXMgdG8gQ0RST01fR2V0SW50ZXJmYWNlSW5mbygpLgorCUZpeCBkZXZpY2UgbnVtYmVyIGZvciBJREUgQ0QtUk9Ncy4gIFJldHVybiAwIGZvciB1bnN1cHBvcnRlZCBkcml2ZXMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBpbmNsdWRlL2NvbmZpZy5oLmluOgorCVBhdmVsIFJvc2tpbiA8cHJvc2tpQGdudS5vcmc+CisJQWRkZWQgY2hlY2sgZm9yIHNjc2kvc2NzaV9pb2N0bC5oLgorCisJKiBkbGxzL21zaS9tc2kuc3BlYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeGVkIG1zaSBzcGVjIGZpbGUuCisKKwkqIHNjaGVkdWxlci9wdGhyZWFkLmM6CisJQSBjb3VwbGUgb2YgbmV3IGZ1bmN0aW9ucyBoYXZlIGJlZW4gYWRkZWQgdG8gdGhlIHB0aHJlYWRfZnVuY3Rpb25zCisJc3RydWN0dXJlLgorCisJKiBkbGxzL3gxMWRydi93aW5kb3cuYzoKKwlXZSBvbmx5IG5lZWQgdG8gY2hlY2sgZm9yIHNhbWUgcHJvY2VzcyBzaWJsaW5ncyBpbiBkZXNrdG9wIG1vZGUgZm9yCisJdG9wLWxldmVsIHdpbmRvd3MuCisKKwkqIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jLCBkbGxzL29sZWF1dDMyL3ZhcmlhbnQuaDoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZCBWYXJQYXJzZU51bUZyb21TdHIoKS9WYXJOdW1Gcm9tUGFyc2VOdW0oKSwgdXNlIHRoZW0gZm9yCisJY29udmVyc2lvbnMuCisJVmFyaWFudEluaXQoKTogT25seSB0b3VjaCBWX1ZUIGZpZWxkLgorCVZhcmlhbnRDbGVhcigpOiBTdXBwb3J0IElSZWNvcmRJbmZvLCBkb24ndCBmcmVlIG51bGwgYnN0cnMuCisJQWRkIHN1cHBvcnQgZm9yIHVwY29taW5nIHZ0eXBlcywgcmVtb3ZlIGRlYWQgY29kZSwgZG9jcy4KKworCSogZGxscy9kM2Q4L2RldmljZS5jLCBkbGxzL2QzZDgvZHJhd3ByaW0uYzoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCU1pbm9yIGZpeGVzIC0gUmVtb3ZlIGxpZ2h0IGRlYnVnIHN0YXRlbWVudHMsIGhhbmRsZSBkaXNhYmxlZCBzcGVjdWxhcgorCW1hdGVyaWFsIHByb3Blcmx5LCByZWxlYXNlIHN1cmZhY2VzIHdoZW4gZGVidWdnaW5nIGFuZCBjbGVhbiB1cCB0cmFjZQorCWEgbGl0dGxlLgorCisJKiBsaWJzL3dpbmUvZGVidWcuYywgdG9vbHMvZm50MmJkZi5jLCB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwKKwkgIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jOgorCURhbmllbCBNYXJtaWVyIDxkLm1hcm1pZXJAYmx1ZXdpbi5jaD4KKwlGaXhlZCB3YXJuaW5ncyB3aXRoIGdjYyBvcHRpb24gIi1Xd3JpdGUtc3RyaW5ncyIuCisKKwkqIHByb2dyYW1zL3JlZ2FwaS9yZWdTZXQuc2g6IEdlcmFsZCBQZmVpZmVyIDxnZXJhbGRAcGZlaWZlci5jb20+CisJVGhpcyBpcyBhY3R1YWxseSBhIC9iaW4vc2ggc2NyaXB0LCAvYmluL2Jhc2ggaXMgbm90IG5lZWRlZC4KKwlDaGVjayB3aGV0aGVyIHRoZSB0d28gaW5wdXQgZmlsZXMgZXhpc3RzIGluc3RlYWQgb2YgYXNzdW1pbmcgdGhleSBkby4KKworCSogdG9vbHMvYmluMnJlcy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1ha2UgYmluMnJlcyBzaWxlbnQgYnkgZGVmYXVsdC4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9jb21tY3RybC5oLCBpbmNsdWRlL3Rtc2NoZW1hLmgsCisJICBpbmNsdWRlL3dpbnVzZXIuaDoKKwlLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlBZGRlZCB0bXNjaGVtYS5oIGFuZCBzb21lIG90aGVyIHRoZW1lIGRlZmluZXMuCisKKwkqIGZpbGVzL2ZpbGUuYzogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlJbXBsZW1lbnRlZCBHZXRDb21wcmVzc2VkRmlsZVNpemVbQVddLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgaW5jbHVkZS9jb25maWcuaC5pbjoKKwlQYXZlbCBSb3NraW4gPHByb3NraUBnbnUub3JnPgorCUFkZGVkIGNoZWNrIGZvciBzdF9ibG9ja3MgaW4gc3RydWN0IHN0YXQuCisKKzIwMDMtMTAtMDIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9udGRsbC9sb2FkZXIuYywgZmlsZXMvZGlyZWN0b3J5LmMsCisJICBpbmNsdWRlL2ZpbGUuaCwgbG9hZGVyL21vZHVsZS5jOgorCUNoYW5nZWQgTGRyTG9hZERsbCB0byBvbmx5IHNlYXJjaCBmb3IgdGhlIGRsbCBpbiB0aGUgc3BlY2lmaWVkIHBhdGgsCisJdXNpbmcgbnRkbGwgZnVuY3Rpb25zLgorCU1vdmVkIExPQURfV0lUSF9BTFRFUkVEX1NFQVJDSF9QQVRIIGZ1bmN0aW9uYWxpdHkgdG8gTG9hZExpYnJhcnlFeAorCXdoZXJlIGl0IGJlbG9uZ3MuCisKKwkqIGRsbHMveDExZHJ2L3dpbmRvdy5jOgorCUluIGRlc2t0b3AgbW9kZSwgb25seSBtb3ZlIHRoZSB3aW5kb3cgaW4gWi1vcmRlciByZWxhdGl2ZSB0byBzaWJsaW5ncworCWJlbG9uZ2luZyB0byB0aGUgc2FtZSBwcm9jZXNzLgorCisJKiBmaWxlcy9kcml2ZS5jOgorCUhhY2sgdG8gdXBkYXRlIG50ZGxsIGN1cnJlbnQgZGlyZWN0b3J5IHZhbHVlIGluIERSSVZFX0NoZGlyLgorCisJKiBkbGxzL250ZGxsL3BhdGguYzoKKwlGaXhlZCBhIGNvdXBsZSBvZiBidWdzIGluIFJ0bERvc1NlYXJjaFBhdGhfVSBhbmQgUnRsR2V0RnVsbFBhdGhOYW1lX1UuCisJTWFrZSBSdGxEb2VzRmlsZUV4aXN0c19VIGRvIHNvbWV0aGluZyB1c2VmdWwgYnkgY2FsbGluZyBDcmVhdGVGaWxlVworCWZvciBub3cuCisKKwkqIGRsbHMvdXNlci90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL3VzZXIvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL3VzZXIvdGVzdHMvbXNnLmMsIGRvY3VtZW50YXRpb24vZ3VpOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW92ZSB0aGUgbWVzc2FnZSBzZXF1ZW5jZXMgZG9jdW1lbnRlZCBpbiBkb2N1bWVudGF0aW9uL2d1aSBpbnRvIGEgdW5pdAorCXRlc3QuCisKKwkqIGRsbHMvdXNlci9yZXNvdXJjZXMvVE9ETzogRGltaXRyaWUgTy4gUGF1biA8ZGltaUBpbnRlbGxpd2FyZS5jYT4KKwlSZW1vdmVkIG9ic29sZXRlIFRPRE8gZmlsZS4KKworCSogZGxscy9zaGRvY3Z3L3NoZG9jdndfbWFpbi5jOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCVNIRE9DVldfMTE4IChTaGVsbERERUluaXQpIGlzIHJlYWxseSBhIGR5bmFtaWMgZm9yd2FyZCB0byBTSEVMTDMyXzE4OC4KKworCSogZGxscy9zaGVsbDMyL3NocG9saWN5LmMsIGRsbHMvc2hlbGwzMi91bmRvY3NoZWxsLmgsIGluY2x1ZGUvc2hsb2JqLmg6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJTW92ZWQgZGVmaW5pdGlvbiBvZiBuZXdseSBkb2N1bWVudGVkIEFQSSBTSFJlc3RyaWN0ZWQoKSBhbmQgdGhlCisJYWNjb3JkaW5nIHBvbGljeSBkZWZpbml0aW9ucyB0byBzaGxvYmouaC4KKwlSZXBsYWNlIHRoZSBwb2xpY3kgbnVtZXJpYyB2YWx1ZXMgd2l0aCB0aGUgbmV3IG9mZmljaWFsIGRlZmluZXMgYW5kCisJY2hhbmdlIFNIUmVzdHJpY3RlZCgpIHRvIG1hdGNoIHRoZSBuZXcgZG9jdW1lbnRlZCBwcm90b3R5cGUuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jLCB0b29scy93bWMvd3JpdGUuYzoKKwlHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCUNhc3QgdGltZV90IHBhcmFtZXRlcnMgdG8gZnByaW50ZiguLi4sIiVsIiwuLi4pIHRvIGxvbmcuCisKKwkqIGRsbHMveDExZHJ2L2tleWJvYXJkLmM6IFNhbG1lbGEgPDk3MDA1ODRAY3Muc3RhZGlhLmZpPgorCVVwZGF0ZWQgRmlubmlzaCBrZXlib2FyZCBsYXlvdXQuCisKKwkqIGRvY3VtZW50YXRpb24vTWFrZWZpbGUuaW46IEdlcmFsZCBQZmVpZmVyIDxnZXJhbGRAcGZlaWZlci5jb20+CisJUmVtb3ZlIG9ic29sZXRlICJzdGF0dXMiIGRpcmVjdG9yeSBmcm9tIEVYVFJBU1VCRElSUy4KKworCSogcHJvZ3JhbXMvbm90ZXBhZC9ObC5yYywgcHJvZ3JhbXMvbm90ZXBhZC9yc3JjLnJjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUFkZGVkIER1dGNoIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDaGFuZ2UgYSBNRVNTQUdFIGFib3V0IGNyZWF0aW5nIGEgZGlyZWN0b3J5IHRvIGEgVFJBQ0UuCisKKwkqIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmM6IFBhdmVsIFJvc2tpbiA8cHJvc2tpQGdudS5vcmc+CisJSWdub3JlIHdpbmRvdyBjYXB0aW9uIGZyb20gUFJPUFNIRUVUSEVBREVSIGluIHdpemFyZHMuICBVcGRhdGUgd2luZG93CisJY2FwdGlvbiB3aGVuIGNoYW5naW5nIHBhZ2VzLgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmVsaWItYmluZGxscy5zZ21sLCBkb2N1bWVudGF0aW9uL3dpbmVsaWItbWZjLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmVsaWItcG9ydGluZy5zZ21sLCBkb2N1bWVudGF0aW9uL3dpbmVsaWItdXNlci5zZ21sOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQWRkIGF1dGhvciBsaXN0IGFzIHdpdGggdGhlIG90aGVyIGd1aWRlcy4KKwlTbWFsbCBjbGVhbnVwcy4KKworCSogZGxscy9vZGJjMzIvcHJveHlvZGJjLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVGlkeSB1cCB0aGUgbm90ZXMgZm9yIHRoZSBPREJDIGRyaXZlci4KKworCSogaW5jbHVkZS9tbWRkay5oOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIHNvbWUgbWlzc2luZyBkZWZpbmVzLgorCU1vdmVkIFdpbmUgb25seSBkZWZpbmVzIHRvIG5vdCBjb25mbGljdC4KKworMjAwMy0xMC0wMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogc2VydmVyL3JlZ2lzdHJ5LmMsIHNlcnZlci90cmFjZS5jLCB0b29scy9tYWtlX3JlcXVlc3RzOgorCUdlcmFsZCBQZmVpZmVyIDxnZXJhbGRAcGZlaWZlci5jb20+CisJQ2FzdCB0aW1lX3QgdG8gbG9uZyBmb3IgcHJpbnRpbmcuCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VjdXJpdHkuYywgZGxscy9nZGkvd2luZy5jLCBkbGxzL2tlcm5lbC9hdG9tLmMsCisJICBkbGxzL250ZGxsL2xhcmdlX2ludC5jLCBkbGxzL3NobHdhcGkvc3RyaW5nLmMsIGxvYWRlci9tb2R1bGUuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCURvY3VtZW50YXRpb24gdXBkYXRlcy4KKworCSogZGxscy9hZHZhcGkzMi9jcnlwdC5jLCBkbGxzL2NvbW1kbGcvcHJpbnRkbGcxNi5jLAorCSAgZGxscy9vbGUzMi9jbGlwYm9hcmQuYywgZGxscy9vbGUzMi9maWxlbW9uaWtlci5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJRml4IG1pc3NpbmcgbWVtIGZyZWVpbmcgb24gZXJyb3IgcGF0aC4KKworCSogdG9vbHMvYmluMnJlcy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVRlYWNoIGJpbjJyZXMgdG8gZGVhbCB3aXRoIG9uZSBmaWxlIGF0IGEgdGltZS4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvbG9jYWxlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVN0dWJzIGZvciBHZXQvU2V0VXNlckdlb0lEKCkuCisKKwkqIGRsbHMvc2hsd2FwaS90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL3NobHdhcGkvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL3NobHdhcGkvdGVzdHMvY2xzaWQuYywgZGxscy9zaGx3YXBpL3Rlc3RzL3N0cmluZy5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJTmV3IHRlc3RzIGZvciBzaGx3YXBpIHN0cmluZyBhbmQgY2xzaWQgZnVuY3Rpb25zLgorCisJKiBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLCBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjLCBkbGxzL3NobHdhcGkvdXJsLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlBZGQgQDQwNS80MDYsIGRvY3VtZW50IFVSTCBmdW5jdGlvbnMuCisJRml4IE1MTG9hZExpYnJhcnlXIHByb3RvdHlwZS4KKworCSogdG9vbHMvYzJtYW4ucGw6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRW5zdXJlIHdlIGdlbmVyYXRlIGZvciAtbm9uYW1lIG9yZGluYWxzIGRvY3VtZW50ZWQgYXMgJ0AnLgorCisJKiBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZC5zcGVjLAorCSAgZGxscy9kc291bmQvZHNvdW5kX21haW4uYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUZpeGVkIHNvbWUgdHJhY2VzLgorCUZpeGVkIHNwZWMgZmlsZSB0byBtYXRjaCBNaWNyb3NvZnQgZGxsLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmM6IFBhdmVsIFJvc2tpbiA8cHJvc2tpQGdudS5vcmc+CisJTWFrZSBpdCBwb3NzaWJsZSB0byBjbG9zZSB0aGUgIkFib3V0IFdpbmUiIGRpYWxvZyBieSBwcmVzc2luZyBFc2NhcGUuCisKKwkqIHByb2dyYW1zL2Nsb2NrL05sLnJjLCBwcm9ncmFtcy9jbG9jay9yc3JjLnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvTmwucmMsIHByb2dyYW1zL2NtZGxndHN0L2NtZGxnci5yYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlEdXRjaCB0cmFuc2xhdGlvbiBvZiBjbG9jayBhbmQgY21kbGd0c3QuCisKKwkqIHByb2dyYW1zL3dpbmhlbHAvbWFjcm8uYzogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlDb3JyZWN0bHkgc2V0IG9wZW5maWxlbmFtZS5sU3RydWN0U2l6ZSBiZWZvcmUgY2FsbGluZworCUdldE9wZW5GaWxlTmFtZSgpLgorCisyMDAzLTA5LTMwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGRsbHMva2VybmVsL3Rvb2xoZWxwLmMsIGRsbHMvbnRkbGwvZW52LmMsCisJICBkbGxzL250ZGxsL2xvYWRlci5jLCBkbGxzL250ZGxsL250LmMsIGRsbHMvcHNhcGkvcHNhcGlfbWFpbi5jLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBwcm9ncmFtcy93aW5lZGJnL2RlYnVnZ2VyLmgsCisJICBwcm9ncmFtcy93aW5lZGJnL2dkYnByb3h5LmMsIHByb2dyYW1zL3dpbmVkYmcvd2luZWRiZy5jLAorCSAgc2VydmVyL2RlYnVnZ2VyLmMsIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci9wcm9jZXNzLmgsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvdHJhY2UuYzoKKwlTdG9yZSBtb2R1bGUgbmFtZXMgaW4gVW5pY29kZSBpbiB0aGUgc2VydmVyLgorCisJKiBkbGxzL2dkaS9iaWRpLmMsIGRsbHMvaXBobHBhcGkvaXBzdGF0cy5jLCBkbGxzL2tlcm5lbC9wdGhyZWFkLmMsCisJICBkbGxzL21zdmNydC9wcm9jZXNzLmMsIGRsbHMvd2luc29jay9hc3luYy5jLCBkbGxzL3dpbnNvY2svc29ja2V0LmMsCisJICBpbmNsdWRlL3BzaHBhY2sxLmgsIGluY2x1ZGUvcHNocGFjazIuaCwgaW5jbHVkZS9wc2hwYWNrNC5oLAorCSAgaW5jbHVkZS9wc2hwYWNrOC5oLCBpbmNsdWRlL3dpbm50LmgsIHNjaGVkdWxlci9wdGhyZWFkLmMsCisJICB0b29scy93aW5hcGkvd2luYXBpX3Rlc3Q6CisJRGFuaWVsIE1hcm1pZXIgPGQubWFybWllckBibHVld2luLmNoPgorCVVzZSAjaWZkZWYgaW5zdGVhZCBvZiAjaWYgZm9yIGFsbCBmZWF0dXJlIHRlc3RzLgorCUNoZWNrIHRoYXQgX01TQ19WRVIgaXMgZGVmaW5lZCBiZWZvcmUgdXNpbmcgaXQuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXcvdXNlci5jLCBkbGxzL3gxMWRydi9kZXNrdG9wLmMsCisJICBkbGxzL3gxMWRydi94dmlkbW9kZS5jOgorCUFsZXggUGFzYWR5biA8YWpwQG1haWwudXRleGFzLmVkdT4KKwktIEFkZCBtb3JlIGxvZ2dpbmcgdG8gcmVzb2x1dGlvbiBjaGFuZ2VzIGFuZCBxdWVyaWVzLgorCS0gQWx3YXlzIGVudW1lcmF0ZSBhbmQgYWxsb3cgOCwgMTYsIGFuZCAzMi1iaXQgbW9kZXMuCisJLSBBZGQgbW9yZSBkZWZhdWx0IGNob2ljZXMgdG8gV2luZSBkZXNrdG9wIHNpemVzLgorCS0gUmVuYW1lZCBzb21lIHZhcmlhYmxlcyB0byBtYWtlIHRoaW5ncyBlYXNpZXIgdG8gZm9sbG93LgorCisJKiBkbGxzL29sZXN2ci9vbGVzdnIuc3BlYywgZGxscy9vbGVzdnIvb2xlc3ZyMzIuc3BlYywKKwkgIGRsbHMvb2xlc3ZyL29sZXN2cl9tYWluLmM6CisJUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlJbXBsZW1lbnQgc3R1YnMgZm9yIE9sZVJlbmFtZVNlcnZlckRvYywgT2xlUmV2ZXJ0U2VydmVyRG9jIGFuZAorCU9sZVNhdmVkU2VydmVyRG9jIGFuZCB0aGVpciAxNi1iaXQgZXF1aXZhbGVudHMuCisKKwkqIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21lc2EuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCVNtYWxsIGxpZ2h0aW5nIGZpeC4KKworCSogdG9vbHMvd2luZXNoZWxsbGluazogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJUmV0dXJuIDIgaW4gY2FzZSBvZiBhIHVzYWdlIGVycm9yLgorCVVzZSAteiBpbnN0ZWFkIG9mIGNvbXBhcmluZyB0byBhbiBlbXB0eSBzdHJpbmcuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy93aW5lY2ZnL2FwcGRlZmF1bHRzLmMsIHByb2dyYW1zL3dpbmVjZmcvZHJpdmUuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvbWFpbi5jLCBwcm9ncmFtcy93aW5lY2ZnL3Jlc291cmNlLmgsCisJICBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuYywgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmgsCisJICBwcm9ncmFtcy93aW5lY2ZnL3gxMWRydmRsZy5jOgorCU1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwlNb3ZlIEFwcGxpY2F0aW9ucyB0YWIgYmVmb3JlIExpYnJhcmllcyB0YWIuCisJSW1wcm92ZSByZXR1cm5faWZfZmFpbC4KKwlQYXJ0bHkgaW1wbGVtZW50IGFwcGRlZmF1bHRzIFVJLgorCVJlcGxhY2UgdXNhZ2Ugb2YgRW5hYmxlV2luZG93IHdpdGggY2xlYXJlciBlbmFibGUvZGlzYWJsZSBtYWNyb3MuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0VuLnJjLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Gci5yYywKKwkgIGRsbHMvc2hlbGwzMi9zaHJlcy5yYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJRXh0cmFjdCBsb2NhbGlzYWJsZSByZXNvdXJjZXMgZnJvbSBzaHJlcy5yYyB0byBwcm9wZXIgbGFuZ3VhZ2UgZmlsZS4KKworCSogZGxscy9vbGUzMi9jb21wb3NpdGVtb25pa2VyLmMsIGRsbHMvb2xlMzIvZmlsZW1vbmlrZXIuYywKKwkgIGRsbHMvb2xlMzIvb2xlMTYuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUZpeGVzIGZvciBtZW1vcnkgbGVha3Mgb24gZXJyb3IgcGF0aC4KKwlPbmUgZml4IGZvciB1c2Ugb2YgcHJldmlvdXMgcmVsZWFzZWQgcG9pbnRlci4KKworCSogZGxscy9jb21tZGxnL2NvbG9yZGxnLmM6IE1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJRml4IG1lbW9yeSBsZWFrcyBvbiBlcnJvciBwYXRoLgorCisJKiBkbGxzL3dpbmVkb3MvZGV2aWNlcy5jLCBkbGxzL3dpbmVkb3MvZG9zZXhlLmgsIGRsbHMvd2luZWRvcy9kb3N2bS5jLAorCSAgZGxscy93aW5lZG9zL2ludDA5LmMsIGRsbHMvd2luZWRvcy9pbnQxMC5jLCBkbGxzL3dpbmVkb3MvaW50MTYuYywKKwkgIGRsbHMvd2luZWRvcy9pbnQxYS5jLCBkbGxzL3dpbmVkb3MvdGltZXIuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJVXNlIGNvcnJlY3QgbGluZWFyIHBvaW50ZXIgd2hlbiBhY2Nlc3NpbmcgQklPUyBkYXRhIGFyZWEuCisKKwkqIGRsbHMva2VybmVsL3ZlcnNpb24ucmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJU2V0IHZlcnNpb24gb2Yga2VybmVsMzIgdG8gV2luZG93cyAyMDAwIFNQNC4KKworCSogZGxscy9kM2Q4L2QzZDhfcHJpdmF0ZS5oLCBkbGxzL2QzZDgvZGV2aWNlLmMsIGRsbHMvZDNkOC9kaXJlY3R4LmMsCisJICBkbGxzL2QzZDgvc3RhdGVibG9jay5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJTWF4QWN0aXZlTGlnaHRzIG1lYW5zIG51bWJlciBvZiBjb25jdXJyZW50IGxpZ2h0cywgYnV0IGFueSBudW1iZXIgY2FuCisJYmUgIHNldCB1cC4gQ2hhbmdlIHN1cHBvcnQgZm9yIGxpZ2h0cyBpbnRvIGEgbGlua2VkIGxpc3QgYW5kIG9ubHkgc2V0CisJdXAgYW4gZXF1aXZhbGVudCBnbCBsaWdodCB3aGVuIHRoZSBsaWdodCBpcyBlbmFibGVkLgorCisJKiBkbGxzL2QzZDgvc3VyZmFjZS5jOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCU1ha2UgdW5sb2NrIG9mIHRoZSBiYWNrYnVmZmVyIGNvcnJlY3RseSByZXN0b3JlIHRoZSBjb250ZW50cy4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzIuc3BlYywgZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCUFkZGVkIElzTEZORHJpdmVBL1cvQVcgZXhwb3J0cyBhbmQgdHdvIG1vcmUgc3R1YnMuCisKKzIwMDMtMDktMjkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL3JlbGF5MTYuYywgZGxscy9udGRsbC9sb2FkZXIuYywgZGxscy9udGRsbC9udGRsbF9taXNjLmgsCisJICBkbGxzL250ZGxsL3JlbGF5LmMsIGZpbGVzL2RpcmVjdG9yeS5jLCBpbmNsdWRlL2ZpbGUuaCwKKwkgIGluY2x1ZGUvd2ludGVybmwuaDoKKwlDb252ZXJ0ZWQgbW9zdCBvZiB0aGUgbG9hZGVyIGNvZGUgdG8gVW5pY29kZS4KKworCSogdG9vbHMvd2luZWluc3RhbGw6CisJVHJ5IHRvIGNhdGNoIHRoZSBjYXNlIG9mIGEgbm9uLXdyaXRhYmxlIHNvdXJjZSBkaXJlY3RvcnkgYmVmb3JlCisJcnVubmluZyBjb25maWd1cmUuCisKKwkqIHRvb2xzL3dyYy9wYXJzZXIueToKKwlGaXhlZCBoYW5kbGluZyBvZiBVbmljb2RlIHN0cmluZ3MgdXNlZCBhcyBmaWxlbmFtZXMgKHJlcG9ydHMgYnkgTWFydGluCisJRnVjaHMpLgorCisJKiBkbGxzL2RwbGF5eC9kcGxheXhfbWVzc2FnZXMuYywgZGxscy9pbW0zMi9pbW0uYywKKwkgIGRsbHMva2VybmVsL2xjZm9ybWF0LmMsIGRsbHMva2VybmVsL3Rlc3RzL2NvbW0uYywKKwkgIGRsbHMva2VybmVsL3Rlc3RzL2xvY2FsZS5jLCBkbGxzL29sZWF1dDMyL2Rpc3BhdGNoLmMsCisJICBkbGxzL3NoZWxsMzIvcGlkbC5jLCBkbGxzL3NoZWxsMzIvc2hsZm9sZGVyLmMsCisJICBkb2N1bWVudGF0aW9uL1JFQURNRS5pdCwgZG9jdW1lbnRhdGlvbi9jdnMtcmVncmVzc2lvbi5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9kZWJ1Z2dpbmcuc2dtbDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlTb21lIHNwZWxsaW5nIGZpeGVzLgorCUZpeCB0aGUgY2FzZSBvZiBXaW5lSFEuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0VuLnJjLCBkbGxzL3dpbm1tL3dpbm1tX0VuLnJjOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlDaGFuZ2Ugc29tZSByZXNvdXJjZXMgZnJvbSBMQU5HX05FVVRSQUwgdG8gTEFOR19FTkdMSVNILgorCisJKiB0b29scy9jMm1hbi5wbCwgdG9vbHMvd2luYXBpL3dpbmFwaS5wbSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay9tb2R1bGVzLmRhdDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlVcGRhdGUgd2luYXBpIGFuZCBjMm1hbiBzbyB0aGV5IGtub3cgYWJvdXQgLXJldDE2LiBSZW1vdmUgc3VwcG9ydCBmb3IKKwl0aGUgb2Jzb2xldGUgcGFzY2FsMTYgYW5kIC1ub2ltcG9ydC4KKwlVcGRhdGUgbW9kdWxlcy5kYXQgc28gd2luYXBpIGtub3dzIGFib3V0IHRoZSBuZXcgZGxscy4KKworCSogZG9jdW1lbnRhdGlvbi9IT1dUTy13aW5lbGliOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSB0aGUgb2Jzb2xldGUgV2luZWxpYiBIT1dUTyBhbmQgRERFIHN0YXR1cy4KKworCSogZGxscy9tc2FjbS9tc2FjbS5yYywgZGxscy9tc2FjbS9tc2FjbV9Fbi5yYywgZGxscy9tc2FjbS9tc2FjbV9Gci5yYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJRXh0cmFjdCBsb2NhbGlzYWJsZSByZXNvdXJjZXMgZnJvbSBtc2FjbSByZXNvdXJjZSBmaWxlLgorCisJKiBwcm9ncmFtcy93aW5lbWluZS9Fbi5yYywgcHJvZ3JhbXMvd2luZW1pbmUvRXMucmMsCisJICBwcm9ncmFtcy93aW5lbWluZS9Gci5yYywgcHJvZ3JhbXMvd2luZW1pbmUvUHQucmMsCisJICBwcm9ncmFtcy93aW5lbWluZS9TaS5yYzoKKwlQYXZlbCBSb3NraW4gPHByb3NraUBnbnUub3JnPgorCVdpZGVuIHRoZSAiQWJvdXQiIGRpYWxvZyB0byBwcmV2ZW50IHdyYXBwaW5nIG9mIHRleHQuCisKKwkqIHByb2dyYW1zL3dpbmVtaW5lL2RpYWxvZy5jLCBwcm9ncmFtcy93aW5lbWluZS9tYWluLmM6CisJUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlGaXggcHJvY2Vzc2luZyBvZiBJRENBTkNFTCBjb21tYW5kLgorCURvbid0IGNoYW5nZSBzZXR0aW5ncyBpZiB0aGUgdXNlciBjYW5jZWxlZCB0aGUgIkN1c3RvbSIgZGlhbG9nLgorCisJKiBkbGxzL2QzZDkvdmVyc2lvbi5yYzogVG9tIFdpY2tsaW5lIDx0d2lja2xpbmVAc2t5YmVzdC5jb20+CisJU2V0IHZlcnNpb24gdG8gOS4KKworCSogZGxscy9kcGxheXgvZHBsYXlzcC5jLCBkbGxzL2RwbGF5eC9kcGxheXhfZ2xvYmFsLmMsCisJICBkbGxzL2RwbGF5eC9kcGxheXhfbWFpbi5jLCBkbGxzL2RwbGF5eC9kcGxvYmJ5LmMsCisJICBkbGxzL2RwbGF5eC9sb2JieXNwLmMsIGRsbHMvZHBsYXl4L25hbWVfc2VydmVyLmM6CisJVG9tIFdpY2tsaW5lIDx0d2lja2xpbmVAc2t5YmVzdC5jb20+CisJUmVtb3ZlIG9ic29sZXRlIGluZm9ybWF0aW9uLgorCisyMDAzLTA5LTI3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL250ZGxsL2xvYWRlci5jLAorCSAgZGxscy9udGRsbC9sb2Fkb3JkZXIuYywgaW5jbHVkZS9tb2R1bGUuaDoKKwlDb252ZXJ0ZWQgdGhlIGxvYWQgb3JkZXIgY29kZSB0byB1c2UgVW5pY29kZSB0aHJvdWdob3V0LgorCisJKiBpbmNsdWRlL3dpbmUvdW5pY29kZS5oOiBBZGRlZCBzdHJzcG5XIGFuZCBzdHJjc3BuVy4KKworCSogZGxscy9zaGVsbDMyL3NobGZpbGVvcC5jLCBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZmlsZW9wLmM6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJRml4IGEgcmV0dXJuIHZhbHVlIGluIFNIRmlsZU9wZXJhdGlvbiBhbmQgYWRkIHNvbWUgZXh0cmEgdGVzdHMgdG8KKwlpbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb25zIG5lY2Vzc2FyeSB0byBkZWFsIHdpdGggc2hvcnRjb21pbmdzIG9mCisJa2VybmVsMzIgZnVuY3Rpb25zIGZvciB0aGUgdGltZSBiZWluZy4KKworCSogZGxscy91c2VyL3VzZXIzMi5zcGVjLCBpbmNsdWRlL3dpbnVzZXIuaCwgd2luZG93cy9jbGFzcy5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50ZWQgUmVhbEdldFdpbmRvd0NsYXNzLgorCisJKiBkbGxzL21zdmNydC9maWxlLmM6CisJX3RlbXBuYW0gYW5kIF93dGVtcG5hbSBzaG91bGQgbm90IGNyZWF0ZSB0aGUgdGVtcCBmaWxlIChyZXBvcnRlZCBieQorCVdpbSBWYW5kZXJiYXV3aGVkZSkuCisKKwkqIHRvb2xzL3dpbmVkdW1wL25lLmM6CisJQWRkZWQgZHVtcGluZyBvZiB0aGUgcmVzaWRlbnQgbmFtZSB0YWJsZSBvZiBORSBmaWxlcy4KKworCSogZGxscy90dHlkcnYvdHR5ZHJ2X21haW4uYywgZGxscy94MTFkcnYveDExZHJ2X21haW4uYywKKwkgIHByb2dyYW1zL3dpbmV2ZG0vd2luZXZkbS5jOgorCU1ha2Ugc3VyZSBhbGwgMTYtYml0IHN5c3RlbSBkcml2ZXJzIGFyZSBsb2FkZWQgZm9yIDE2LWJpdCBhcHBzLgorCisJKiBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC8uY3ZzaWdub3JlLCBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMva2VybmVsL2NvbW0uZHJ2LnNwZWMsIGRsbHMva2VybmVsL2NvbW0uc3BlYywKKwkgIGRsbHMvdXNlci8uY3ZzaWdub3JlLCBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3VzZXIvZGlzcGxheS5kcnYuc3BlYywgZGxscy91c2VyL2Rpc3BsYXkuc3BlYywKKwkgIGRsbHMvdXNlci9rZXlib2FyZC5kcnYuc3BlYywgZGxscy91c2VyL2tleWJvYXJkLnNwZWMsCisJICBkbGxzL3VzZXIvbW91c2UuZHJ2LnNwZWMsIGRsbHMvdXNlci9tb3VzZS5zcGVjOgorCVJlbmFtZWQgY29tbS5kbGwsIGRpc3BsYXkuZGxsLCBrZXlib2FyZC5kbGwgYW5kIG1vdXNlLmRsbCB0byB1c2UgdGhlCisJLmRydiBleHRlbnNpb24uCisKKwkqIGRsbHMvc2V0dXBhcGkvcXVldWUuYzogTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5jb20+CisJRHVlIHRvIGEgbWlzcGxhY2VkICJ9IiBtZW1vcnkgd2Fzbid0IGZyZWVkIG9uIHRoZSBlcnJvciBwYXRoLgorCisJKiBwcm9ncmFtcy9ub3RlcGFkL2RpYWxvZy5jLCBwcm9ncmFtcy9yZWdhcGkvcmVnYXBpLmMsCisJICBwcm9ncmFtcy9yZWd0ZXN0L3JlZ3Rlc3QuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUZpeCBzb21lIG1lbW9yeSBsZWFrcyBmb3VuZCBieSBzbWF0Y2guCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbC5jOiBFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlGaXggYm90aCBhIHdhcm5pbmcgYW5kIHNvbWUgbmFzdHkgY3Jhc2hlcy4uLgorCisJKiBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9tc2lxdWVyeS5jLAorCSAgZGxscy9tc2kvc3VtaW5mby5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgcmVmZXJlbmNlcyB0byBIRUFQX3N0cmR1cEF0b1cuCisKKwkqIGRsbHMvZHBsYXl4L2RwY2xhc3NmYWN0b3J5LmMsIGRsbHMvZHBsYXl4L2RwbGF5LmMsCisJICBkbGxzL2RwbGF5eC9kcGxheXhfZ2xvYmFsLmMsIGRsbHMvZHBsYXl4L2RwbGF5eF9tYWluLmMsCisJICBkbGxzL2RwbGF5eC9kcGxheXhfbWVzc2FnZXMuYywgZGxscy9kcGxheXgvZHBsYXl4X3F1ZXVlLmg6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlNZXJnZSBkb2N1bWVudGF0aW9uL3N0YXR1cy9kaXJlY3RwbGF5IGludG8gdGhlIGNvZGUuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXcvbWFpbi5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1lcmdlIGRvY3VtZW50YXRpb24vc3RhdHVzL2RpcmVjdGRyYXcgaW50byB0aGUgZGRyYXcgY29kZS4KKworCSogZGxscy92ZXJzaW9uL2luZm8uYywgZGxscy92ZXJzaW9uL2luc3RhbGwuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1lcmdlIGRvY3VtZW50YXRpb24vc3RhdHVzL3ZlcnNpb24gaW50byB0aGUgdmVyc2lvbiBjb2RlLgorCisJKiBkbGxzL2x6ZXhwYW5kL2x6ZXhwYW5kX21haW4uYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlNZXJnZSBkb2N1bWVudGF0aW9uL3N0YXR1cy9semV4cGFuZCBpbnRvIHRoZSBsemV4cGFuZCBzb3VyY2UuCisKKwkqIHByb2dyYW1zL3N0YXJ0L0VzLnJjLCBwcm9ncmFtcy9zdGFydC9yc3JjLnJjOgorCUpvc+kgTWFudWVsIEZlcnJlciBPcnRpeiA8am1mbzE5ODJAeWFob28uZXM+CisJQWRkZWQgU3BhbmlzaCByZXNvdXJjZXMuCisKKwkqIGRsbHMvZHNvdW5kL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvZHNvdW5kL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9kc291bmQvdGVzdHMvY2FwdHVyZS5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmQuYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCVJlbW92ZSBjYXB0dXJlIHRlc3RzIGZyb20gZHNvdW5kLmMgYW5kIHBsYWNlIHRoZW0gaW4gYSBuZXcgZmlsZQorCWNhcHR1cmUuYy4KKworCSogZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWxsb3cgd2F2ZSBlbXVsYXRlZCBjYXB0dXJlIHdoaWxlIGRvaW5nIGhhcmR3YXJlIGFjY2VsZXJhdGVkCisJcGxheWJhY2suCisKKwkqIGluY2x1ZGUvbXNpLmgsIGluY2x1ZGUvbXNpcXVlcnkuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgQVcgZGVmaW5lcyB0byBtc2kuaCBhbmQgbXNpcXVlcnkuaC4KKworMjAwMy0wOS0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jOgorCVN0b3JlIHRoZSBkbGwgbmFtZSBmb3IgdGhlIGV4cG9ydCBkaXJlY3RvcnkgaW5zaWRlIHRoZSBleHBvcnRlZCBuYW1lcworCWxpc3QuCisKKwkqIGxvYWRlci9tb2R1bGUuYzoKKwlBdm9pZCBkZXBlbmRpbmcgb24gTU9EVUxFX0dldEJpbmFyeVR5cGUgaW4gbG9hZF9saWJyYXJ5X2FzX2RhdGFmaWxlLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmgsIGRsbHMvc2hlbGwzMi9zaGxleGVjLmMsCisJICBmaWxlcy9kaXJlY3RvcnkuYzoKKwlUaGUgIlBhdGgiIHZhbHVlIG9mIHRoZSAiQXBwIFBhdGhzIiBlbnRyeSBzaG91bGQgYmUgaGFuZGxlZCBpbgorCVNoZWxsRXhlY3V0ZSBieSBjaGFuZ2luZyBQQVRIIGluIHRoZSBuZXcgcHJvY2VzcywgaW5zdGVhZCBvZiBiZWluZworCWRvbmUgaW4gU2VhcmNoUGF0aC4KKworCSogZGxscy9jb21tZGxnL2NvbW1kbGcuc3BlYywgZGxscy9jdGwzZC9jdGwzZC5zcGVjLAorCSAgZGxscy9jdGwzZC9jdGwzZHYyLnNwZWMsIGRsbHMvZ2RpL2Rpc3BkaWIuc3BlYywKKwkgIGRsbHMvZ2RpL2dkaS5leGUuc3BlYywgZGxscy9nZGkvd2luZy5zcGVjLAorCSAgZGxscy9rZXJuZWwva3JubDM4Ni5leGUuc3BlYywgZGxscy9rZXJuZWwvc3lzdGVtLmRydi5zcGVjLAorCSAgZGxscy9rZXJuZWwvdG9vbGhlbHAuc3BlYywgZGxscy9rZXJuZWwvd2luODdlbS5zcGVjLAorCSAgZGxscy9semV4cGFuZC9semV4cGFuZC5zcGVjLCBkbGxzL21zYWNtL21zYWNtLnNwZWMsCisJICBkbGxzL21zdmlkZW8vbXN2aWRlby5zcGVjLCBkbGxzL29sZTMyL2NvbXBvYmouc3BlYywKKwkgIGRsbHMvb2xlMzIvb2xlMi5zcGVjLCBkbGxzL29sZTMyL29sZTJubHMuc3BlYywKKwkgIGRsbHMvb2xlY2xpL29sZWNsaS5zcGVjLCBkbGxzL3NldHVwYXBpL3NldHVweC5zcGVjLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsLnNwZWMsIGRsbHMvdXNlci9kZGVtbC5zcGVjLAorCSAgZGxscy91c2VyL2Rpc3BsYXkuc3BlYywgZGxscy91c2VyL2tleWJvYXJkLnNwZWMsCisJICBkbGxzL3VzZXIvbW91c2Uuc3BlYywgZGxscy91c2VyL3VzZXIuZXhlLnNwZWMsCisJICBkbGxzL3dpbjMycy93MzJzeXMuc3BlYywgZGxscy93aW4zMnMvd2luMzJzMTYuc3BlYywKKwkgIGRsbHMvd2luYXNwaS93aW5hc3BpLnNwZWMsIGRsbHMvd2luZXBzL3dpbmVwczE2LmRydi5zcGVjLAorCSAgZGxscy93aW5tbS9tbXN5c3RlbS5zcGVjLCBkbGxzL3dpbm1tL3NvdW5kLnNwZWMsCisJICBkbGxzL3dpbm5scy93aW5ubHMuc3BlYywgZGxscy93aW5zb2NrL3dpbnNvY2suc3BlYywKKwkgIGRsbHMvd2ludGFiMzIvd2ludGFiLnNwZWMsIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYywKKwkgIHRvb2xzL3dpbmVidWlsZC93aW5lYnVpbGQubWFuLmluOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIHRoZSBvYnNvbGV0ZSBwYXNjYWwxNiAocmVwbGFjZWQgYnkgcGFzY2FsIC1yZXQxNikuCisKKwkqIGRsbHMveDExZHJ2L2Rlc2t0b3AuYzogTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlGaXhlZCBtaXNzaW5nIHdpbmVfdHN4MTFfdW5sb2NrKCkgb24gZXJyb3IgcGF0aC4KKworMjAwMy0wOS0yNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9udGRsbC9sb2FkZXIuYywgaW5jbHVkZS9tb2R1bGUuaDoKKwlNb3ZlZCBXSU5FX01PRFJFRiBkZWZpbml0aW9uIHRvIGxvYWRlci5jLgorCVJlbW92ZWQgc2hvcnQgbW9kdWxlIG5hbWUgZnJvbSBXSU5FX01PRFJFRiwgV2luZG93cyBkb2Vzbid0IGhhdmUgaXQuCisJUmV3cm90ZSBMZHJHZXREbGxIYW5kbGUgdG8gb25seSB1c2UgVW5pY29kZS4KKworCSogZGxscy9xdWFydHovZmlsZXNvdXJjZS5jLCBkbGxzL3F1YXJ0ei9waW4uYywgZGxscy9xdWFydHovcGluLmgsCisJICBkbGxzL3F1YXJ0ei9xdWFydHpfcHJpdmF0ZS5oOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBBIGZldyBjb3NtZXRpYyBmaXhlcy4KKwktIFZhcmlvdXMgYnVnIGZpeGVzLgorCS0gQWRkIHNvbWUgT3V0cHV0UGluIGhlbHBlcnMuCisJLSBBZGQgYSBuZXcgdHlwZSBvZiBwaW4sIFB1bGxQaW4uCisKKwkqIGRvY3VtZW50YXRpb24vaW1wbGVtZW50YXRpb24uc2dtbCwgZG9jdW1lbnRhdGlvbi93aW5lLWRldmVsLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmUudGV4aW5mbzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1lcmdlIHRoZSBub24tb2Jzb2xldGUgYml0cyBmcm9tIHdpbmUudGV4aW5mbyBpbnRvIHRoZSBXaW5lIERldmVsb3BlcnMKKwlHdWlkZS4KKworCSogcHJvZ3JhbXMvY21kbGd0c3QvRW4ucmMsIHByb2dyYW1zL2NtZGxndHN0L0ZyLnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvSXQucmMsIHByb2dyYW1zL2NtZGxndHN0L1B0LnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvUnUucmMsIHByb2dyYW1zL2NtZGxndHN0L1NpLnJjOgorCVBhdmVsIFJvc2tpbiA8cHJvc2tpQGdudS5vcmc+CisJRml4IGNoZWNrYm94ZXMgaW4gdGhlICJDb2xvciBkaWFsb2cgZmxhZ3MiIGRpYWxvZ3MuICBUaGV5IHdvdWxkIG5vdAorCWNoYW5nZSBzdGF0ZS4KKworCSogZGxscy9zZXJpYWx1aS9Fcy5yYywgZGxscy9zZXJpYWx1aS9zZXJpYWx1aV9yYy5yYywKKwkgIGRsbHMvc2V0dXBhcGkvRXMucmMsIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGkucmM6CisJSm9z6SBNYW51ZWwgRmVycmVyIE9ydGl6IDxqbWZvMTk4MkB5YWhvby5lcz4KKwlBZGRlZCBTcGFuaXNoIHJlc291cmNlcy4KKworCSogZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMsIGRsbHMva2VybmVsL3Byb2Nlc3MuYywKKwkgIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGRsbHMvbnRkbGwvbG9hZGVyLmMsIGRsbHMvbnRkbGwvbG9hZG9yZGVyLmMsCisJICBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwgZG9jdW1lbnRhdGlvbi93aW5lLm1hbi5pbiwgaW5jbHVkZS9tb2R1bGUuaCwKKwkgIGxvYWRlci9sb2Fkb3JkZXIuYywgbWlzYy9vcHRpb25zLmMsIHRvb2xzL3J1bnRlc3Q6CisJTW92ZWQgbG9hZG9yZGVyIHN1cHBvcnQgdG8gZGxscy9udGRsbC4KKwlSZW1vdmVkIHRoZSAtLWRsbCBvcHRpb24gYW5kIHJlcGxhY2VkIGl0IGJ5IHRoZSBXSU5FRExMT1ZFUlJJREVTCisJZW52aXJvbm1lbnQgdmFyaWFibGUuCisKKwkqIHNjaGVkdWxlci9wdGhyZWFkLmM6CisJSWdub3JlIF9fcHRocmVhZF9yd2xvY2tfdW5sb2NrIGNhbGwgaWYgdGhlIHB0aHJlYWQgZnVuY3Rpb25zIGFyZSBub3QKKwlpbml0aWFsaXplZCB5ZXQuCisKKwkqIGRsbHMvYWR2YXBpMzIvdGVzdHMvcmVnaXN0cnkuYywgZGxscy9rZXJuZWwvdGVzdHMvY29uc29sZS5jLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvZmlsZS5jLCBkbGxzL21zdmNydC90ZXN0cy9zY2FuZi5jLAorCSAgZGxscy9uZXRhcGkzMi90ZXN0cy9hY2Nlc3MuYywgZGxscy9uZXRhcGkzMi90ZXN0cy93a3N0YS5jLAorCSAgZGxscy9udGRsbC90ZXN0cy9ydGxzdHIuYywgZGxscy9zaGx3YXBpL3Rlc3RzL2NsaXN0LmMsCisJICBkbGxzL3NobHdhcGkvdGVzdHMvcGF0aC5jLCBkbGxzL3dpbmluZXQvdGVzdHMvaHR0cC5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJVmFyaW91cyB0ZXN0IGZpeGVzIGZvciBYUC9tc3ZjLgorCisJKiBkbGxzL3NoZWxsMzIvcGlkbC5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCUFkZCBzb21lIGNvbW1lbnRzIHRvIGZ1bmN0aW9ucyBhbmQgbWlub3IgZml4ZXMuCisJRXhwb3J0IGFscmVhZHkgZXhpc3RpbmcgKGJ1dCBzdGlsbCB1bmRvY3VtZW50ZWQpIGZ1bmN0aW9ucworCUlMQ3JlYXRlRnJvbVBhdGhBL1cuCisKKwkqIGRsbHMvd2luaW5ldC9mdHAuYywgZGxscy93aW5pbmV0L2h0dHAuYywgZGxscy93aW5pbmV0L2ludGVybmV0LmMsCisJICBkbGxzL3dpbmluZXQvaW50ZXJuZXQuaCwgZGxscy93aW5pbmV0L3V0aWxpdHkuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIHVuaW9ucyBpbnN0ZWFkIG9mIGRlZmluZXMgaW4gYXN5bmMgd29yayByZXF1ZXN0cy4KKworCSogZG9jdW1lbnRhdGlvbi9jdnMtcmVncmVzc2lvbi5zZ21sOgorCVJpY2hhcmQgQ29oZW4gPHJpY2hhcmQuY29oZW5AdmlyZ2luLm5ldD4KKwktICJ3aW5lLWN2c2RpcnMiIHNob3VsZCBiZSAiZnVsbC1jdnMiLgorCS0gUmVtb3ZlZCB1bm5lY2Vzc2FyeSAnY2QnLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBdm9pZCBkaXZpZGUgYnkgemVybyBpZiB0aGUgc291bmQgZHJpdmVyIHJldHVybnMgMCBmb3Igc3BlZWQuCisKKwkqIGRsbHMvZDNkOC9zaGFkZXIuYzogSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlBZGQgcmVhbCBzdXBwb3J0IGZvciBWUzEuMSwgaWUgbWFrZSB0aGUgcmVsYXRpdmUgYWRkcmVzc2luZyBtb2RlCisJd29yay4KKworCSogZGxscy9kM2Q4L2RpcmVjdHguYywgZGxscy9kM2Q4L2RyYXdwcmltLmM6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlUaGUgJ3cnIGNvbXBvbmVudCBpcyB1c2VkIG1vcmUgdGhhbiBqdXN0IGZvciB0aGUgdmVydGV4LCBzbyB3ZSBjYW5ub3QKKwlkbyB0aGUgcHJvamVjdGlvbiBtYXBwaW5nIG91cnNlbHZlcy4gQWxzbyB0aWR5IHVwIGEgdHJhY2Vwb2ludCwgYW5kCisJcHJlaW5pdGlhbGl6ZSB0aGUgc2hhZGVycyBvdXRwdXQgYXMgd2luZG93cyBzZWVtcyB0by4KKworCSogcHJvZ3JhbXMvdW5pbnN0YWxsZXIvbWFpbi5jOiBQYXZlbCBSb3NraW4gPHByb3NraUBnbnUub3JnPgorCUNhbGwgSGVhcEFsbG9jKCkgb24gZW50cmllcyBiZWZvcmUgSGVhcFJlQWxsb2MoKSB0byBhdm9pZCBjcmFzaCBvbgorCVdpbmRvd3MgMjAwMC4KKworCSogcHJvZ3JhbXMvY29udHJvbC9jb250cm9sLmM6IFBhdmVsIFJvc2tpbiA8cHJvc2tpQGdudS5vcmc+CisJRml4IHByb2Nlc3Npbmcgb2YgdGhlIGNvbW1hbmQgbGluZS4KKworMjAwMy0wOS0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogTWFrZS5ydWxlcy5pbiwgZGxscy9NYWtlZGxsLnJ1bGVzLmluLCBkbGxzL01ha2V0ZXN0LnJ1bGVzLmluLAorCSAgZGxscy9nZGkvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL01ha2VmaWxlLmluLAorCSAgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy9zaGVsbDMyL01ha2VmaWxlLmluLAorCSAgZGxscy91c2VyL01ha2VmaWxlLmluLCBpbmNsdWRlL01ha2VmaWxlLmluLCBsaWJzL01ha2VsaWIucnVsZXMuaW4sCisJICBsaWJzL3BvcnQvTWFrZWZpbGUuaW4sIGxpYnMvdXVpZC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL01ha2Vwcm9nLnJ1bGVzLmluLCBwcm9ncmFtcy9hdml0b29scy9NYWtlZmlsZS5pbjoKKwlNb3ZlZCBETExGTEFHUyB0byBhIHNlcGFyYXRlIHZhcmlhYmxlIGluc3RlYWQgb2YgaW5jbHVkaW5nIGl0IGluCisJREVGUy4KKworCSogZGxscy9tc3ZjcnQvZW52aXJvbi5jOgorCVJld3JvdGUgZ2V0ZW52IGFuZCBfd2dldGVudiB0byBhdm9pZCByZXR1cm5pbmcgYSBwb2ludGVyIHRvIGEgZnJlZWQKKwltZW1vcnkgYmxvY2suCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL3dpbmUvcG9ydC5oLAorCSAgbGlicy9wb3J0L3NwYXduLmM6CisJUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlBZGRlZCBjb25maWd1cmUgY2hlY2sgZm9yIHNwYXdudnAoKS4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvbG9jYWxlLmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJTW9yZSBsb2NhbGUgdGVzdHMuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMva2VybmVsL2xvY2FsZS5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJQWRkIExhbmd1YWdlR3JvdXAvR2VvSUQgZW51bWVyYXRpb24gZm5zLgorCUFkZCBzb21lIHJlZyBlbnRyaWVzIGZyb20gWFAuCisJU2V0TG9jYWxlSW5mbygpOiBTZXQgMiBJLXZhbHVlcyBmcm9tIFMtdmFsdWVzLgorCU9wdGltaXNlIGNvZGUgc2l6ZSwgZml4IGEgZmV3IGJ1Z3MsIGRvY3VtZW50YXRpb24uCisKKwkqIGRsbHMvbXN2Y3J0L3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvbXN2Y3J0L3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9tc3ZjcnQvdGVzdHMvY3BwLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlBZGRlZCB0ZXN0cyBmb3IgY3BwIG9iamVjdHMvUlRUSS4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL3Byb2Nlc3MuYywKKwkgIGRsbHMva2VybmVsL3ZlcnNpb24uYywgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC9ydGwuYywKKwkgIGRsbHMvbnRkbGwvdmVyc2lvbi5jLCBmaWxlcy9kcml2ZS5jLCBpbmNsdWRlL3dpbmJhc2UuaCwKKwkgIGluY2x1ZGUvd2luZGVmLmgsIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaCwgaW5jbHVkZS93aW5udC5oLAorCSAgaW5jbHVkZS93aW50ZXJubC5oLCBtaXNjL3ZlcnNpb24uYzoKKwlNb3ZlZCB0aGUgV2luZG93cyB2ZXJzaW9uIGNvZGUgdG8gZGxscy9udGRsbCwgYW5kIGltcGxlbWVudGVkCisJUnRsR2V0VmVyc2lvbiBhbmQgUnRsVmVyaWZ5VmVyc2lvbkluZm8uCisJTW92ZWQgdGhlIDE2LWJpdCBhbmQgRE9TIHZlcnNpb24gc3VwcG9ydCB0byBkbGxzL2tlcm5lbC4KKworCSogZGxscy9udGRsbC9lcnJvci5jLCBkbGxzL3NobHdhcGkvY2xpc3QuYywgZGxscy9zaGx3YXBpL2lzdHJlYW0uYywKKwkgIGRsbHMvc2hsd2FwaS93c3ByaW50Zi5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgorCisJKiBkbGxzL29sZWF1dDMyL29sZWF1dC5jLCBkbGxzL29sZWF1dDMyL29sZWF1dDMyLnNwZWM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlEb2N1bWVudCBCU1RSIGZ1bmN0aW9ucywgYWRkIFNldE9BTm9DYWNoZSgpLgorCisJKiB0b29scy93aW5lYnVpbGQvcmVzMTYuYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlNU1ZDIHdhcm5pbmcgZml4LgorCisJKiBsaWJzL3BvcnQvbWtzdGVtcHMuYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlQb3J0YWJpbGl0eSBmaXguCisKKwkqIGRvY3VtZW50YXRpb24vY29uZmlndXJpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmUtZmFxLnNnbWwsIGRvY3VtZW50YXRpb24vd2luZS11c2VyLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmVsaWItdXNlci5zZ21sOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU21hbGwgY2xlYW51cHMsIHJlbW92ZSByZWZlcmVuY2VzIHRvIGF1dGhvcnMuZW50LgorCisyMDAzLTA5LTIzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9wdGhyZWFkLmMsIGluY2x1ZGUvd2luZS9wdGhyZWFkLmgsIHNjaGVkdWxlci9wdGhyZWFkLmM6CisJSnVyYWogSGVyY2VrIDxqdXJhakBzeW5jYWQuY29tPgorCUVyaWMgRnJpYXMgPGVmcmlhc0BzeW5jYWQuY29tPgorCUltcGxlbWVudGVkIHB0aHJlYWQgY29uZGl0aW9ucy4KKworCSogaW5jbHVkZS93aW51c2VyLmg6IEp1cmFqIEhlcmNlayA8anVyYWpAc3luY2FkLmNvbT4KKwlBZGRlZCBTU19FTkRFTExJUFNJUy4KKworCSogZG9jdW1lbnRhdGlvbi9hdXRob3JzLmVudCwgZG9jdW1lbnRhdGlvbi9jb25maWd1cmluZy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9mb250cy5zZ21sLCBkb2N1bWVudGF0aW9uL2ludHJvZHVjdGlvbi5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9wcmludGluZy5zZ21sLCBkb2N1bWVudGF0aW9uL3J1bm5pbmcuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vd2luZS1kb2Muc2dtbCwgZG9jdW1lbnRhdGlvbi93aW5lLXVzZXIuc2dtbDoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1vdmUgYXV0aG9ycyB0byB0aGUgd2luZS11c2VyLnNnbWwuCisJUmVtb3ZlIHVudXNlZCBmaWxlcy4KKworCSogbGlicy9wb3J0L3ByZWFkLmMsIGxpYnMvcG9ydC9wd3JpdGUuYywgbGlicy93cHAvcHJlcHJvYy5jLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvY3Vyc2VzLmMsIHByb2dyYW1zL3dpbmVkYmcvZXh0X2RlYnVnZ2VyLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL2dkYnByb3h5LmMsIHByb2dyYW1zL3dpbmVkYmcvbXNjLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL3NvdXJjZS5jLCBwcm9ncmFtcy93aW5lZGJnL3N0YWJzLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL3R5cGVzLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlOb3QgZXZlcnlvbmUgaGFzIDx1bmlzdGQuaD4sIHNvbWUgZmlsZXMgbmVlZCA8aW8uaD4gdG9vIChtc3ZjKS4KKworCSogdG9vbHMvd2luYXBpL21zdmNtYWtlcjogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlBZGRlZCBzb21lIG5lZWRlZCBjb25maWcuaCBlbnRyaWVzLgorCisJKiBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYywgZGxscy9tc3ZjcnQvd2NzLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlBIGZpcnN0IHN0YWIgYXQgd2NzdG9kKCkuCisKKwkqIGluY2x1ZGUvc2hsd2FwaS5oOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZGVkIFN0ckZvcm1hdEtCU2l6ZUEvVy4KKworCSogaW5jbHVkZS9jb21tY3RybC5oOiBGZWxpeCBOYXdvdGhuaWcgPGZsZXhvQGFyYXJhLmRlPgorCUFkZGVkIGRlZmluaXRpb25zIGZvciBMaXN0Vmlld19HZXRDb2x1bW5XaWR0aCwgTGlzdFZpZXdfU2V0Q29sdW1uV2lkdGgKKwlhbmQgTGlzdFZpZXdfUmVkcmF3SXRlbXMuCisKKwkqIHdpbmRvd3MvbWRpLmM6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlGaXggTURJU2V0TWVudSBpbiB0aGUgY2FzZSBpdCBpcyBjYWxsZWQgYmVmb3JlIGEgV2luZG93cyBNZW51IGV4aXN0cworCWFzIEFnZW50IG5ld3NyZWFkZXIgZG9lcy4KKworCSogZGxscy93aW5pbmV0L2Z0cC5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IG1vcmUgdW5pY29kZS9tZW1vcnkgYWxsb2NhdGlvbiBlcnJvcnMuCisKKzIwMDMtMDktMjIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvYW5pbWF0ZS5jLCBkbGxzL2NvbWN0bDMyL2NvbWJvZXguYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuaCwgZGxscy9jb21jdGwzMi9kYXRldGltZS5jLAorCSAgZGxscy9jb21jdGwzMi9oZWFkZXIuYywgZGxscy9jb21jdGwzMi9ob3RrZXkuYywKKwkgIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmMsIGRsbHMvY29tY3RsMzIvaXBhZGRyZXNzLmMsCisJICBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsIGRsbHMvY29tY3RsMzIvbW9udGhjYWwuYywKKwkgIGRsbHMvY29tY3RsMzIvbmF0aXZlZm9udC5jLCBkbGxzL2NvbWN0bDMyL3BhZ2VyLmMsCisJICBkbGxzL2NvbWN0bDMyL3Byb2dyZXNzLmMsIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmMsCisJICBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsIGRsbHMvY29tY3RsMzIvc3RhdHVzLmMsIGRsbHMvY29tY3RsMzIvdGFiLmMsCisJICBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYywgZGxscy9jb21jdGwzMi90b29sdGlwcy5jLAorCSAgZGxscy9jb21jdGwzMi90cmFja2Jhci5jLCBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmMsCisJICBkbGxzL2NvbWN0bDMyL3VwZG93bi5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVuYW1lIENPTUNUTDMyX3tBbGxvYyxSZUFsbG9jLEZyZWV9IHRvIHtBbGxvYyxSZUFsbG9jLEZyZWV9LgorCisJKiBkb2N1bWVudGF0aW9uL01ha2VmaWxlLmluLCBkb2N1bWVudGF0aW9uL2J1aWxkLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL2N2cy5zZ21sLCBkb2N1bWVudGF0aW9uL3Rvb2xzLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmUtZGV2ZWwuc2dtbDoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSByZWR1bmRhbnQgc2VjdGlvbnMgZnJvbSB0aGUgZ3VpZGU6CisJICB0b29sczogaXMgbm93IGluY2x1ZGVkIGluIHRoZSBuZXcgYmluMnJlcworCSAgYnVpbGQ6IG1vdmVkIHRvIFBBQ0tBR0lORworCSAgY3ZzOiBpcyBhdmFpbGFibGUgaW4gbWFueSBvdGhlciBwbGFjZXMuCisKKwkqIG1zZG9zL2ludDIxLmM6IFNtYWxsIGNsZWFudXAuCisKKwkqIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9Gci5yYywgZGxscy9hdmlmaWwzMi9yc3JjLnJjLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGxfRnIucmMsIGRsbHMvY29tY3RsMzIvcnNyYy5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX0ZyLnJjLCBkbGxzL21zdmlkZW8vbXNybGUzMi9tc3JsZV9Gci5yYywKKwkgIGRsbHMvc2VyaWFsdWkvRnIucmMsIGRsbHMvc2VyaWFsdWkvc2VyaWFsdWlfcmMucmMsCisJICBkbGxzL3NldHVwYXBpL0ZyLnJjLCBkbGxzL3NldHVwYXBpL3NldHVwYXBpLnJjLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfRnIucmMsIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX0ZyLnJjLAorCSAgZGxscy93aW5lcHMvd3BzX0ZyLnJjLCBkbGxzL3dpbmluZXQvcnNyYy5yYywKKwkgIGRsbHMvd2luaW5ldC93aW5pbmV0X0ZyLnJjLCBkbGxzL3dpbm1tL3dpbm1tX0ZyLnJjOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlZZXQgYW5vdGhlciBiYXRjaCBvZiBGcmVuY2ggcmVzb3VyY2VzIHVwZGF0ZXMuCisKKwkqIGRsbHMvd2luaW5ldC9uZXRjb25uZWN0aW9uLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggbG9naWMgcHJvYmxlbXMgd2l0aCBORVRDT05fY29ubmVjdGVkLgorCisJKiBkb2N1bWVudGF0aW9uL211bHRpbWVkaWEuc2dtbDogRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgorCisJKiBkb2N1bWVudGF0aW9uL2RlYnVnZ2luZy5zZ21sOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUJpZyB1cGRhdGUgdG8gdGhlIGRlYnVnIGxvZ2dpbmcgc2VjdGlvbi4KKworCSogZG9jdW1lbnRhdGlvbi93aW5lLWRldmVsLnNnbWw6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW92ZSB0aGUgYXV0aG9ycyBvdXQgb2YgdGhlIHNlY3Rpb25zLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLCBwcm9ncmFtcy93aW5lY2ZnL3Jlc291cmNlLmgsCisJICBwcm9ncmFtcy93aW5lY2ZnL3gxMWRydmRsZy5jOgorCU1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwlSZW1vdmUgTWFuYWdlZCBvcHRpb24uIEFkZCBEWEdyYWIsIERlc2t0b3BEb3VibGVCdWZmZXIsIFVzZVRha2VGb2N1cy4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jLCBkbGxzL3dpbm1tL3dpbmVhdWRpb2lvL2F1ZGlvLmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlWb2x1bWUgYW5kIFBhbiBkcml2ZXIgcmVxdWVzdHMgbmVlZCB0byByZXR1cm4gc3VjY2VzcyBldmVuIHRob3VnaCB0aGV5CisJYXJlIG5vdCBpbXBsZW1lbnRlZC4KKworCSogcHJvZ3JhbXMvd2luZWRiZy9oYXNoLmM6CisJTWljaGFsIEphbnVzeiBNaXJvc2xhdyA8TS5NaXJvc2xhd0BlbGthLnB3LmVkdS5wbD4KKwlERUJVR19jbXBfc3ltOiBtaWNybyBvcHRpbWl6YXRpb24vY2xlYW51cC4KKworCSogcHJvZ3JhbXMvc3RhcnQvRnIucmMsIHByb2dyYW1zL3N0YXJ0L3JzcmMucmMsIHByb2dyYW1zL3djbWQvRnIucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9Gci5yYywgcHJvZ3JhbXMvd2luZWZpbGUvRnIucmMsCisJICBwcm9ncmFtcy93aW5lbWluZS9Gci5yYywgcHJvZ3JhbXMvd2luZW1pbmUvcnNyYy5yYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvRnIucmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUFub3RoZXIgYmF0Y2ggb2YgRnJlbmNoIHJlc291cmNlcyB1cGRhdGVzLgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmg6IE1heGltZSBCZWxsZW5n6SA8bWF4aW1lLmJlbGxlbmdlQGxhcG9zdGUubmV0PgorCUFkZGVkIExWS0ZfKiBkZWZpbmVzLgorCisJKiBkbGxzL3NobHdhcGkvcGF0aC5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgYSBtZW1vcnkgbGVhay4KKworCSogZGxscy9vbGUzMi9zdG9yYWdlMzIuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUNoYW5nZSBlcnJvbmVvdXMgbWFsbG9jIHRvIEhlYXBBbGxvYy4KKworCSogZGxscy93aW5pbmV0L2ludGVybmV0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYSBidW5jaCBvZiB1bmljb2RlL21lbW9yeSBhbGxvY2F0aW9uIGVycm9ycy4KKworCSogdG9vbHMvd3JjL2R1bXByZXMuYzogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUZpeCBzdHJuY3B5V3RvQSB0byBhY3R1YWxseSBhY3QgYXMgYWR2ZXJ0aXNlZCAoYW5kIG5vdCBvdmVyZmxvdyB0aGUKKwlpbnB1dCBidWZmZXIpLgorCVNtYWxsIGNsZWFudXBzIG9mIGl0IGF0IHRoZSBzYW1lIHRpbWUuCisKKwkqIGRsbHMvYWR2YXBpMzIvY3J5cHQuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJUHJpbnQgZml4bWVzIGlmIHdlIGRvIG5vdCBmaW5kIGEgY3J5cHRvIHByb3ZpZGVycyBmb3IgYSBzcGVjaWZpZWQKKwl0eXBlL25hbWUgYW5kIG90aGVyIGZhaWx1cmVzLgorCisJKiBkbGxzL2RtbG9hZGVyL2RtbG9hZGVyX3ByaXZhdGUuaCwgZGxscy9kbWxvYWRlci9sb2FkZXIuYywKKwkgIGRsbHMvZG1sb2FkZXIvbG9hZGVyc3RyZWFtLmM6CisJUm9rIE1hbmRlbGpjIDxyb2subWFuZGVsamNAZ2ltYi5vcmc+CisJUmV3cml0dGVuIGNhY2hlIGNvZGUgYW5kIGZpeGVkIGEgYnVnIHRoYXQgd2FzIGluIGl0LgorCisJKiBkb2N1bWVudGF0aW9uL2N2cy1yZWdyZXNzaW9uLnNnbWw6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlNb3ZlIEdlcmFyZCdzIG5hbWUgdG8gdGhlIGF1dGhvciBsaXN0LgorCisJKiBkb2N1bWVudGF0aW9uL2NvbnNvbGVzLnNnbWw6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQ2xlYW51cCBmb3JtYXR0aW5nIGEgYml0LgorCisJKiBkb2N1bWVudGF0aW9uL3BvcnRpbmcuc2dtbDogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlDbGVhbnVwIHRoZSBpbnRyb2R1Y3Rpb24gYSBiaXQuCisKKwkqIGRvY3VtZW50YXRpb24vaW1wbGVtZW50YXRpb24uc2dtbDoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSBhIGxvdCBvZiBvYnNvbGV0ZSBpbmZvcm1hdGlvbiwgbWlzYyBjbGVhbnVwcy4KKworCSogZG9jdW1lbnRhdGlvbi9tdWx0aW1lZGlhLnNnbWw6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW92ZSBFcmljJ3MgbmFtZSBpbiB0aGUgYXV0aG9yIGxpc3QuCisKKwkqIGRvY3VtZW50YXRpb24vb3BlbmdsLnNnbWw6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU21hbGwgY2xlYW51cHMgb2YgdGhlIE9wZW5HTCBzZWN0aW9uLgorCisJKiBkb2N1bWVudGF0aW9uL29sZS5zZ21sOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVRyaXZpYWwgY2xlYW51cHMgdG8gdGhlIE9MRSBzZWN0aW9uLgorCisJKiBkb2N1bWVudGF0aW9uL2FyY2hpdGVjdHVyZS5zZ21sOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSBvYnNvbGV0ZSBpbmZvIGFib3V0IHRoZSBzZXJ2aWNlIHRocmVhZC4KKwlVcGRhdGUgeDExIHdyYXBwaW5nIGRlc2NyaXB0aW9uLCBtaXNjIGNsZWFudXBzLgorCisJKiBkb2N1bWVudGF0aW9uL2kxOG4uc2dtbDogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZXdyaXRlIHRoZSBpMThuIHNlY3Rpb24uCisKKwkqIGRvY3VtZW50YXRpb24vdGVzdGluZy5zZ21sOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSB1Z2xpZnlpbmcgbm90ZXMuCisKKwkqIGRvY3VtZW50YXRpb24vcGF0Y2hlcy5zZ21sOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVNtYWxsIGNsZWFudXBzIG9uIGhvdyB0byBzZW5kIGluIHBhdGNoZXMuCisKKwkqIGRvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi5zZ21sOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUNsZWFudXAgdGhlIGRvY3VtZW50YXRpb24gc2VjdGlvbi4KKwlDb21tZW50IG91dCBzb21lIGVtcHR5IHNlY3Rpb25zLgorCisJKiBkb2N1bWVudGF0aW9uL2RlYnVnZ2VyLnNnbWw6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQ2xlYW51cCB0aGUgZGVidWdnaW5nIHNlY3Rpb24uCisKKwkqIGRsbHMvd2luZWRvcy9pbnQyZi5jOiBNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCVNpbGVuY2UgdGhlIEZJWE1FIHByb2R1Y2VkIGJ5IGFuIGluc3RhbGwgY2hlY2sgb2YgTVZTT1VORC5TWVMuCisKKwkqIGRsbHMvd2luZWRvcy9pbnQyMS5jOiBNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCVNpbGVuY2UgdGhlIEZJWE1FJ3MgcHJvZHVjZWQgYnkgYSBjaGVjayBmb3IgYSBkb3MzMiBleHRlbmRlci4KKworCSogZGxscy93aW5lZG9zL2ludDMxLmM6IEp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlXaGVuIGVudGVyaW5nIHByb3RlY3RlZCBtb2RlLCBWODYgZmxhZyBtdXN0IGJlIGNsZWFyLgorCisJKiBwcm9ncmFtcy93aW5lY29uc29sZS9jdXJzZXMuYzogRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJLSB3aW4zMiBjb25zb2xlJ3Mgd2luZG93IGNhbm5vdCBiZSBsYXJnZXIgdGhhbiBjdXJzZXMnIHN0ZHNjcgorCS0gY29ycmVjdGx5IG1hbmFnZSBiYWNrc3BhY2UKKwktIHZhcmlvdXMgY2xlYW51cAorCisJKiBkbGxzL3VzZXIvbWVzc2FnZS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWx3YXlzIGluaXRpYWxpemUgc2VuZF9tZXNzYWdlX2luZm8uZmxhZ3MuCisKKwkqIGRsbHMveDExZHJ2L2tleWJvYXJkLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlPbmx5IGlnbm9yZSBjZXJ0YWluIGtleWJvYXJkIGV2ZW50cyBpZiBhIFhMb29rdXBTdHJpbmcgcmV0dXJuZWQgYQorCXZhbHVlIChkZXRlY3RlZCBieSBWYWxncmluZCkuCisKKwkqIGRsbHMvc2hlbGwzMi9mb2xkZXJzLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZXJyb3JzIGluIElFeHRyYWN0SWNvbiBkZXRlY3RlZCBieSB2YWxncmluZC4KKworCSogZG9jdW1lbnRhdGlvbi9mYXEuc2dtbDogTWlrZSBIZWFybiA8bWlrZUB0aGVvcmV0aWMuY29tPgorCVJlbW92aW5nIHRoZSBkaXJlY3RvcnkgaXMgYWxtb3N0IGFsd2F5cyB0aGUgd3Jvbmcgd2F5IHRvIHJlbW92ZSB3aW5lLgorCisJKiB0b29scy93aW5lY2hlY2s6IE1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCUFkYXB0ZWQgd2luZWNoZWNrIHRvIHVzZSBuZXcgZW52aXJvbm1lbnQgdmFyaWFibGUgc3ludGF4CisJKGV4LiAlSE9NRSUpLgorCisJKiBkbGxzL250ZGxsL3JlbGF5LmM6IFN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlQb3J0aW5nIGZpeC4KKworCSogdG9vbHMvd2luZWJ1aWxkL3V0aWxzLmM6IFN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlQb3J0aW5nIGZpeCBmb3IgQWxwaGEuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzoKKwlNYXhpbWUgQmVsbGVuZ+kgPG1heGltZS5iZWxsZW5nZUBsYXBvc3RlLm5ldD4KKwlXaGVuIGFuIGl0ZW0gaXMgYWN0aXZhdGVkLCB3ZSBzaG91bGQgc2VuZCBhIE5NSVRFTUFDVElWQVRFIHN0cnVjdCBhbmQKKwlub3QgYSBOTUhEUiBvbmUuCisKKwkqIERFVkVMT1BFUlMtSElOVFM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVXBkYXRlIHRoZSBkaXJlY3RvcnkgbGlzdCwgdGlkeSBpdCB1cCBpbiB0aGUgcHJvY2Vzcy4KKwlBIGZldyBmaXhlcyBmb3Igb2Jzb2xldGUgZmlsZW5hbWVzIGluIHRoZSBkZWJ1Z2dpbmcgaGludHMuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvcmVzb3VyY2UuaCwKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5jLCBwcm9ncmFtcy93aW5lY2ZnL3gxMWRydmRsZy5jOgorCU1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwlBZGQgc2NyZWVuIGRlcHRoIG9wdGlvbiBhbmQgcmVtb3ZlICJBbGxvY2F0ZWQgU3lzdGVtIENvbG9ycyIgc2V0dGluZy4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jOiBPbGVnIFByb2tob3JvdiA8eG9sZWdwcm9AcmJjbWFpbC5ydT4KKwlJbXBsZW1lbnRlZCBzb3VuZCBmbHVzaGluZy4KKworCSogZGxscy93aW5tbS9sb2x2bGRydi5jOgorCU1pY2hhbCBKYW51c3ogTWlyb3NsYXcgPE0uTWlyb3NsYXdAZWxrYS5wdy5lZHUucGw+CisJTU1EUlZfSW5zdGFsbDogRml4IGNvbmZ1c2luZyBpbmRlbnRhdGlvbi4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9ObC5yYywgcHJvZ3JhbXMvcmVnZWRpdC9yc3JjLnJjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUFkZGVkIER1dGNoIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL3NoZWxsMzIvY2hhbmdlbm90aWZ5LmMsIGRsbHMvc2hlbGwzMi9waWRsLmMsCisJICBkbGxzL3NoZWxsMzIvc2hsdmlldy5jLCBkbGxzL3NoZWxsMzIvdW5kb2NzaGVsbC5oLCBpbmNsdWRlL3NobG9iai5oOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCUFkZGVkIGRlY2xhcmF0aW9ucyBmb3IgbmV3bHkgZG9jdW1lbnRlZCBTSENoYW5nZU5vdGlmeSBBUEkgYW5kIGZpeGVkCisJc29tZSBwcm90b3R5cGVzLgorCisJKiBpbmNsdWRlL3dpbmRlZi5oOiBSb2xmIEthbGJlcm1hdHRlciA8cm9sZi5rYWxiZXJtYXR0ZXJAY2l0ZW5nLmNvbT4KKwlEb24ndCByZWRlZmluZSBkZWNsc3BlYyB1bmRlciBNU1ZDLgorCisJKiBkbGxzL29sZWF1dDMyL3RtYXJzaGFsLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCV9ucnJvZmZ1bmNzOiBDaGVjayBmb3IgZXJyb3IgYmVmb3JlIGRlcmVmZXJlbmNpbmcgcmV0dXJuZWQgcG9pbnRlci4KKworMjAwMy0wOS0xOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogREVWRUxPUEVSUy1ISU5UUywgY29uZmlndXJlLCBjb25maWd1cmUuYWMsIHRvb2xzL3dpbmFwaS9tc3ZjbWFrZXI6CisJR2V0IHJpZCBvZiByZWxheTMyIGRpcmVjdG9yeS4KKworCSogZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMsIGRsbHMva2VybmVsL3Nub29wMTYuYywKKwkgIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGRsbHMvbnRkbGwvbnRkbGxfbWlzYy5oLCBkbGxzL250ZGxsL3JlbGF5LmMsCisJICBpbmNsdWRlL3Nub29wLmg6CisJTW92ZWQgMzItYml0IHJlbGF5IGFuZCBzbm9vcCBzdXBwb3J0IHRvIGRsbHMvbnRkbGwuCisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC9sb2FkZXIuYywKKwkgIGRsbHMvbnRkbGwvbnRkbGxfbWlzYy5oLCBpbmNsdWRlL21vZHVsZS5oLCBpbmNsdWRlL3Nub29wLmgsCisJICBsb2FkZXIvcGVfaW1hZ2UuYzoKKwlNb3ZlZCB0aGUgMzItYml0IGJ1aWx0aW4gbG9hZGVyIGFuZCB0aGUgcmVtYWluaW5nIGJpdHMgb2YgdGhlIFBFCisJbG9hZGVyIGludG8gZGxscy9udGRsbC9sb2FkZXIuYy4KKworCSogZGxscy9kM2Q4L2RldmljZS5jOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCURYVG4gZm9ybWF0IGhhcyBvZGQgbWlwbWFwIGxldmVscyBpbiB0aGF0IHRoZSBzcGFjZSBhbGxvY2F0ZWQgZm9yCisJc21hbGwgbGV2ZWxzIG5lZWRzIGEgbG90IG9mIHBhZGRpbmcuCisKKwkqIGRsbHMvZDNkOC9kZXZpY2UuYywgZGxscy9kM2Q4L2RpcmVjdHguYywgZGxscy9kM2Q4L3N1cmZhY2UuYywKKwkgIGRsbHMvZDNkOC91dGlscy5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJR0wgZG9lc24ndCBsaWtlIGluY29ycmVjdCBsZW5ndGhzIHBhc3NlZCBpbnRvIERYVE4gcHJvY2Vzc2luZy4KKworCSogdG9vbHMvd2luZWdjYy93aW5lZ2NjLmMsIHRvb2xzL3dpbmVnY2Mvd2luZXdyYXAuYzoKKwlSaWNoYXJkIENvaGVuIDxyaWNoYXJkLmNvaGVuQHZpcmdpbi5uZXQ+CisJSGFuZGxlIGRlZmF1bHQgbGlua2VyIG91dHB1dCBuYW1lIGluIHdpbmV3cmFwIGluc3RlYWQgb2Ygd2luZWdjYy4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9yZXMxNi5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3JlczMyLmM6CisJUmljaGFyZCBDb2hlbiA8cmljaGFyZC5jb2hlbkB2aXJnaW4ubmV0PgorCUFkZCBwcmludGYgZm9ybWF0IGF0dHJpYnV0ZXMgJiBmaXggdGhlIHdhcm5pbmdzLgorCisJKiBkbGxzL2Rzb3VuZC9kc291bmRfbWFpbi5jLCBkbGxzL2Rzb3VuZC9taXhlci5jLAorCSAgZGxscy9kc291bmQvcHJpbWFyeS5jLCBkbGxzL2Rzb3VuZC9wcm9wc2V0LmMsCisJICBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmQuYywgZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCB2b2x1bWUgYW5kIHBhbiBzdXBwb3J0IHRvIHByaW1hcnkgYnVmZmVycy4KKwlBZGRlZCBtb3JlIHByb3BlcnR5IHNldCBzdXBwb3J0LgorCisJKiBkb2N1bWVudGF0aW9uLy5jdnNpZ25vcmUsIGRvY3VtZW50YXRpb24vTWFrZWZpbGUuaW46CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlCdWlsZCB0aGUgSFRNTCBkb2N1bWVudHMgYXMgb25lIGJpZyBmaWxlLgorCisJKiBkbGxzL2QzZDgvZHJhd3ByaW0uYywgZGxscy9kM2Q4L3ZzaGFkZXJkZWNsYXJhdGlvbi5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJVmVydGV4IHNoYWRlciBvdXRwdXQgaXMgbGl0IGFuZCB0cmFuc2Zvcm1lZCwgc28gc3RvcCBHTCBkb2luZyBpdCBhbGwKKwlhZ2Fpbi4KKworCSogZGxscy9kM2Q4L2RpcmVjdHguYzogSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlTaW1wbGUgZml4IHRvIGhhbmRsZSB0aGUgbW9yZSBjb21tb24gY2FzZSBvZiBhY3R1YWxseSBoYXZpbmcgYSBHTAorCWNvbnRleHQhCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMva2VybmVsL3Byb2Nlc3MuYywKKwkgIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGRsbHMvbnRkbGwvbnQuYywgZGxscy9udGRsbC9wcm9jZXNzLmMsCisJICBpbmNsdWRlL3dpbm50Lmg6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJSW1wbGVtZW50ZWQga2VybmVsMzIuR2V0SW9Qcm9jZXNzQ291bnRlcnMgYW5kIHN0dWJiZWQKKwludGRsbC5OdFF1ZXJ5UHJvY2Vzc0luZm9ybWF0aW9uKFByb2Nlc3NJb0NvdW50ZXJzKS4KKworCSogZGxscy9rZXJuZWwvY29uc29sZS5jOiBFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlCeSBkZWZhdWx0LCBjb25zb2xlIGhhbmRsZXMgYXJlIGluaGVyaXRhYmxlLgorCisyMDAzLTA5LTE4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGRsbHMva2VybmVsL3RocmVhZC5jLCBkbGxzL250ZGxsL01ha2VmaWxlLmluLAorCSAgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL3NlcnZlci5jLCBpbmNsdWRlL3dpbmUvc2VydmVyLmgsCisJICBtaXNjL3JlZ2lzdHJ5LmMsIHNjaGVkdWxlci9jbGllbnQuYzoKKwlNb3ZlZCB0aGUgd2luZSBzZXJ2ZXIgY2xpZW50LXNpZGUgc3VwcG9ydCB0byBkbGxzL250ZGxsLiBSZW1vdmVkIGEKKwljb3VwbGUgb2YgdW5uZWNlc3NhcnkgZnVuY3Rpb25zLgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgbG9hZGVyL3Rhc2suYzoKKwlNb3ZlZCBhIGNvdXBsZSBtb3JlIGZ1bmN0aW9ucyB0byBkbGxzL2tlcm5lbC4KKworCSogZGxscy9rZXJuZWwvc2VsZWN0b3IuYywgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sCisJICBkbGxzL2tlcm5lbC9kb3NtZW0uYywgZGxscy9rZXJuZWwvZ2xvYmFsMTYuYywgZGxscy9rZXJuZWwvaGVhcC5jLAorCSAgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgbWVtb3J5L2dsb2JhbC5jLCBtZW1vcnkvc2VsZWN0b3IuYywKKwkgIG1zZG9zL2Rvc21lbS5jOgorCU1vdmVkIDE2LWJpdCBnbG9iYWwgaGVhcCwgRE9TIG1lbW9yeSBhbmQgc2VsZWN0b3IgZnVuY3Rpb25zIHRvCisJZGxscy9rZXJuZWwuCisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYzogRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJU2V0IGRlZmF1bHQgU3RkRXJyb3IgdG8gZmQgMiAod2FzIG9uIDEpLgorCisJKiB0b29scy9iaW4ycmVzLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQ29tcGxldGUgcmV3cml0ZSBvZiBiaW4ycmVzLCBmb3IgYSBjbGVhbmVyIGNvZGViYXNlLgorCUFkZCBvbmxpbmUgaGVscCBkZXNjcmliaW5nIGhvdyB0aGUgcHJvZ3JhbSB3b3Jrcy4KKwlTYW5pdGl6ZSBjb21tYW5kIGxpbmUgb3B0aW9ucy4KKworCSogc2NoZWR1bGVyL3B0aHJlYWQuYzoKKwlHYWJyaWVsZSBHaW9yZ2V0dGkgPGdhYnJpZWxlLmdpb3JnZXR0aUB0ZWFtZmFiLml0PgorCUZpeCBidWlsZCB3aXRoIG9sZCBsaWJjLgorCisJKiBkb2N1bWVudGF0aW9uLy5jdnNpZ25vcmUsIGRvY3VtZW50YXRpb24vTWFrZWZpbGUuaW46CisJUmVtb3ZlIHRoZSBGQVEgZnJvbSB0aGUgZG9jIHRhcmJhbGwsIGFuZCBidWlsZCBpdCBhcyBhIHNpbmdsZSAuaHRtbAorCWZpbGUgKGJhc2VkIG9uIHBhdGNoIGJ5IERpbWl0cmllIE8uIFBhdW4pLgorCisJKiBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwva2VybmVsX3ByaXZhdGUuaCwKKwkgIGRsbHMva2VybmVsL3JlbGF5MTYuYywgZGxscy9rZXJuZWwvc3luYy5jLCBkbGxzL2tlcm5lbC9zeXNsZXZlbC5jLAorCSAgZGxscy9rZXJuZWwvdGFzay5jLCBkbGxzL2tlcm5lbC93b3d0aHVuay5jLCBkbGxzL250ZGxsL01ha2VmaWxlLmluLAorCSAgZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jLCBpbmNsdWRlL3N5c2xldmVsLmgsIHNjaGVkdWxlci9zeW5jaHJvLmMsCisJICBzY2hlZHVsZXIvc3lzbGV2ZWwuYzoKKwlNb3ZlZCBzeW5jaHJvbml6YXRpb24gYW5kIHN5c2xldmVsIHJvdXRpbmVzIHRvIGRsbHMva2VybmVsLgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL21vZHVsZS5oLAorCSAgbG9hZGVyL21vZHVsZS5jOgorCUtlZXAgdGhlIGZpbGUgaGFuZGxlIG9mIDE2LWJpdCBtb2R1bGVzIG9wZW4gd2hpbGUgdGhlIG1vZHVsZSBpcworCWxvYWRlZC4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byByZW1vdmUgdGhlIEluc3RhbGxTaGllbGQgaGFjayBpbgorCU9wZW5GaWxlMTYuCisJTW92ZWQgTG9hZExpYnJhcnkzMl8xNiB0byBrZXJuZWwuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvcmVzb3VyY2UuaCwKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5jLCBwcm9ncmFtcy93aW5lY2ZnL3gxMWRydmRsZy5jOgorCU1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwktIEltcGxlbWVudCAibWFuYWdlZCBtb2RlIiBzZXR0aW5nLgorCS0gTWFrZSBzeXN0ZW0gY29sb3JzIHNldHRpbmcgd29yay4KKwktIERpc2FibGUgREdBIHNldHRpbmcsIGFzIGVuYWJsaW5nIGl0IGJyZWFrcyB3aW5lLgorCisJKiB0b29scy93cmMvcGFyc2VyLnk6IEVyaWMgRnJpYXMgPGVmcmlhc0BzeW5jYWQuY29tPgorCUZpeGVkIGNvbWJvYm94IGZsYWdzIGhhbmRsaW5nIHRvIGFsbG93IENCU19EUk9QRE9XTiBzdHlsZS4KKworCSogZG9jdW1lbnRhdGlvbi9QQUNLQUdJTkc6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQWRkIGJsdXJiIGFib3V0IHNvZnQvaGFyZCBkZXBlbmRlbmNpZXMgdG8gdGhlIFBhY2thZ2luZyBHdWlkZSwgYmFzZWQKKwlvbiBhIGNvbnRyaWJ1dGlvbiBieSBTaGFjaGFyIFNoZW1lc2guCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmMsIGRsbHMva2VybmVsL3Rhc2suYywgbWVtb3J5L2Vudmlyb24uYzoKKwlNb3ZlZCB0aGUgMTYtYml0IGVudmlyb25tZW50IHN1cHBvcnQgdG8gZGxscy9rZXJuZWwuCisKKwkqIGRsbHMva2VybmVsL2ZpbGUxNi5jLCBmaWxlcy9kb3NfZnMuYzoKKwlSZWltcGxlbWVudGVkIHRoZSAxNi1iaXQgRmluZEZpcnN0RmlsZSwgRmluZE5leHRGaWxlIGFuZCBGaW5kQ2xvc2UKKwlmdW5jdGlvbnMgb24gdG9wIG9mIHRoZWlyIDMyLWJpdCBjb3VudGVycGFydCwgYW5kIG1vdmVkIHRoZW0gdG8KKwlkbGxzL2tlcm5lbC4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW46CisJTGluayBtc2Rvcy9pbnQyMS5jIGludG8ga2VybmVsIGZvciBub3csIHVudGlsIGl0IGlzIHByb3Blcmx5IG1vdmVkIHRvCisJd2luZWRvcy4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL3Z4ZC5jOgorCU1vdmVkIFZ4RENhbGwgc3VwcG9ydCB0byBkbGxzL2tlcm5lbC4KKworMjAwMy0wOS0xNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvaW5zdHIuYywgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2luZWRvcy9NYWtlZmlsZS5pbiwgZGxscy93aW5lZG9zL2Rvc2V4ZS5oLAorCSAgZGxscy93aW5lZG9zL2lvcG9ydHMuYywgZGxscy93aW5lZG9zL3BwZGV2LmMsIGRsbHMvd2luZWRvcy90aW1lci5jLAorCSAgZGxscy93aW5lZG9zL3dpbmVkb3Muc3BlYywgaW5jbHVkZS9jYWxsYmFjay5oLCBpbmNsdWRlL21pc2NlbXUuaCwKKwkgIG1zZG9zL2RwbWkuYywgbXNkb3MvaW9wb3J0cy5jLCBtc2Rvcy9wcGRldi5jOgorCU1vdmVkIEkvTyBwb3J0IGhhbmRsaW5nIHRvIGRsbHMvd2luZWRvcy4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMi5oLCBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLnNwZWMsCisJICBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYzoKKwlSZW5hbWVkIHRoZSBDT01DVEwzMl8qIGZ1bmN0aW9ucyB0byB1c2UgdGhlIGV4cG9ydGVkIG5hbWUuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvZHJpdmUuYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvcmVzb3VyY2UuaCwgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuaDoKKwlNaWtlIEhlYXJuIDxtaWtlQHRoZW9yZXRpYy5jb20+CisJLSBBbGwgc2V0dGluZ3MgaW4gdGhlIGRyaXZlIGVkaXQgZGlhbG9nIGFyZSBub3cgaW5zdGFudCBhcHBseS4KKwktIFJlcGxhY2UgT0svQ2FuY2VsIGJ1dHRvbnMgb24gdGhlIHJpZ2h0IHdpdGggYSBjbG9zZSBidXR0b24gb24gdGhlCisJICBib3R0b20uCisJLSBXYXJuIHRoZSB1c2VyIHdoZW4gYSBDIGRyaXZlIGlzIG5vdCBwcmVzZW50LgorCS0gQWRkIGRyaXZlIGZ1bmN0aW9uYWxpdHkgd2lsbCBub3cgYWx3YXlzIGNyZWF0ZSBhIEMgZHJpdmUgaWYgb25lCisJICBpc24ndCBwcmVzZW50LgorCS0gTWlzYyBjcmFzaGVyIGZpeGVzLgorCS0gRHJpdmUgbGlzdCBib3ggbm93IHJlZmxlY3RzIGRyaXZlcyB0aGF0IHRha2UgdGhlaXIgZGF0YSBmcm9tIGEKKwkgIGRldmljZSBjb3JyZWN0bHkuCisJLSBWYXJpb3VzIGNvZGUgY2xlYW51cHMuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2xvY2FsZS5jOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCU1vcmUgdGVzdHMgZm9yIGtlcm5lbCBOTFMgZnVuY3Rpb25zLgorCVVzZSBMT0NBTEVfTk9VU0VST1ZFUlJJREUgd2hlcmUgYXBwcm9wcmlhdGUuCisKKwkqIGRsbHMva2VybmVsL2xjZm9ybWF0LmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJUmUtaW1wbGVtZW50IGFuZCBvcHRpbWlzZSB0aGUgTkxTIGZvcm1hdHRpbmcgZnVuY3Rpb25zIChtYW55IGZpeGVzKS4KKwlEb2N1bWVudGF0aW9uIHVwZGF0ZXMuCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvYXVkaW8uYzogT2xlZyBQcm9raG9yb3YgPHhvbGVncHJvQHJiY21haWwucnU+CisJQXZvaWQgY3Jhc2ggaWYgaW52YWxpZCByYXRlIHdhcyBzcGVjaWZpZWQuCisKKwkqIGRsbHMvc2V0dXBhcGkvRW4ucmMsIGRsbHMvc2V0dXBhcGkvUnUucmMsIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGkucmM6CisJSWdvciBTdGVwaW4gPGlzQGlzdHVkaW8ucnU+CisJQWRkZWQgUnVzc2lhbiB0cmFuc2xhdGlvbi4KKworCSogZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbiwgZG9jdW1lbnRhdGlvbi9tYWtlX3dpbmVocSwKKwkgIGRvY3VtZW50YXRpb24vcHJpbnQuZHNsLCBkb2N1bWVudGF0aW9uL3dpbmVocS5kc2w6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlHZXQgcmlkIG9mIG5vIGxvbmdlciBuZWVkZWQgZmlsZXMuCisKKwkqIHByb2dyYW1zL3dpbmhlbHAvd2luaGVscC5jOiBNaWtlIEhlYXJuIDxtaWtlQHRoZW9yZXRpYy5jb20+CisJSW1wbGVtZW50ZWQgbW91c2Ugd2hlZWwgc3VwcG9ydC4KKworCSogZGxscy9rZXJuZWwvaW5zdHIuYywgZGxscy9rZXJuZWwvd293dGh1bmsuYywgZGxscy93aW5lZG9zL2Rvc3ZtLmMsCisJICBpbmNsdWRlL21pc2NlbXUuaDoKKwlVc2UgV09XQ2FsbGJhY2sxNkV4IHRvIHN3aXRjaCB0byB2bTg2IG1vZGUgc28gdGhhdCB3ZSBjYW4gc2V0dXAgYQorCXByb3BlciBleGNlcHRpb24gaGFuZGxlciBhbmQgaGFuZGxlIGluc3RydWN0aW9uIGVtdWxhdGlvbi4KKworCSogZGxscy9jb21jdGwzMi9hbmltYXRlLmMsIGRsbHMvY29tY3RsMzIvY29tYm9leC5jLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGwzMi5oLCBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYywKKwkgIGRsbHMvY29tY3RsMzIvZGF0ZXRpbWUuYywgZGxscy9jb21jdGwzMi9pbWFnZWxpc3QuYywKKwkgIGRsbHMvY29tY3RsMzIvaXBhZGRyZXNzLmMsIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywKKwkgIGRsbHMvY29tY3RsMzIvbmF0aXZlZm9udC5jLCBkbGxzL2NvbWN0bDMyL3BhZ2VyLmMsCisJICBkbGxzL2NvbWN0bDMyL3Byb2dyZXNzLmMsIGRsbHMvY29tY3RsMzIvcmViYXIuYywKKwkgIGRsbHMvY29tY3RsMzIvc3RhdHVzLmMsIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jLAorCSAgZGxscy9jb21jdGwzMi90b29sdGlwcy5jLCBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmMsCisJICBkbGxzL2NvbWN0bDMyL3VwZG93bi5jLCBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGRsbHMvc2hlbGwzMi9zaGx2aWV3LmMsCisJICBpbmNsdWRlL2NvbW1jdHJsLmg6CisJTW92ZWQgdW5kb2N1bWVudGVkIGZ1bmN0aW9ucyBvdXQgb2YgdGhlIGV4cG9ydGVkIGNvbW1jdHJsLmguCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvbWlkaS5jOiBBdm9pZCBsaW5raW5nIGVycm9yIHdpdGggb2xkZXIgYWxzYSBsaWJzLgorCisJKiBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfUnUucmMsIGRsbHMva2VybmVsL25scy9ydXMubmxzLAorCSAgZGxscy93aW5pbmV0L3JzcmMucmMsIGRsbHMvd2luaW5ldC93aW5pbmV0X1J1LnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvUnUucmMsIHByb2dyYW1zL2NtZGxndHN0L2NtZGxnci5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvUnUucmMsIHByb2dyYW1zL3JlZ2VkaXQvcnNyYy5yYywKKwkgIHByb2dyYW1zL3N0YXJ0L1J1LnJjLCBwcm9ncmFtcy92aWV3L1J1LnJjLCBwcm9ncmFtcy92aWV3L3ZpZXdyYy5yYywKKwkgIHByb2dyYW1zL3djbWQvUnUucmMsIHByb2dyYW1zL3djbWQvd2NtZHJjLnJjLCBwcm9ncmFtcy93aW5lY2ZnL1J1LnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLnJjOgorCUlnb3IgU3RlcGluIDxpc0Bpc3R1ZGlvLnJ1PgorCUFkZGVkIGEgbG90IG9mIFJ1c3NpYW4gdHJhbnNsYXRpb25zLgorCisJKiBkbGxzL3NlcmlhbHVpL0VuLnJjLCBkbGxzL3NlcmlhbHVpL1J1LnJjLAorCSAgZGxscy9zZXJpYWx1aS9zZXJpYWx1aV9yYy5yYzoKKwlJZ29yIFN0ZXBpbiA8aXNAaXN0dWRpby5ydT4KKwlBZGRlZCBSdXNzaWFuIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL2tlcm5lbC9zeW5jLmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgorCisJKiBkbGxzL2FkdmFwaTMyL2FkdmFwaTMyLnNwZWMsIGRsbHMvYWR2YXBpMzIvc2VjdXJpdHkuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQ3JlYXRlZCBzdHViIGZ1bmN0aW9ucyBmb3IgYWR2YXBpMzIuR2V0RXhwbGljaXRFbnRyaWVzRnJvbUFjbEEvVygpLgorCisJKiBkbGxzL29wZW5nbDMyL3dnbC5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIG1pc3NpbmcgTEYgaW4gdHJhY2UgbWVzc2FnZS4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9Fcy5yYzogSm9z6SBNYW51ZWwgRmVycmVyIE9ydGl6IDxqbWZvMTk4MkB5YWhvby5lcz4KKwlVcGRhdGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCisKKwkqIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC9leGNlcHQuYywgZGxscy9rZXJuZWwvZmliZXIuYywKKwkgIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9rZXJuZWwvdGhyZWFkLmMsIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sCisJICBsaWJzL3dpbmUvbG9hZGVyLmMsIGxvYWRlci9tb2R1bGUuYywgc2NoZWR1bGVyL2ZpYmVyLmMsCisJICBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzY2hlZHVsZXIvdGhyZWFkLmM6CisJTW92ZWQgYWxtb3N0IGFsbCByZW1haW5pbmcgcHJvY2VzcywgdGhyZWFkLCBmaWJlciBhbmQgZXhjZXB0aW9uCisJZnVuY3Rpb25zIHRvIGRsbHMva2VybmVsLgorCisJKiBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwvaW5zdHIuYywgZGxscy9rZXJuZWwvd293dGh1bmsuYywKKwkgIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYywgbWVtb3J5L2luc3RyLmM6CisJTW92ZWQgaW5zdHJ1Y3Rpb24gZW11bGF0aW9uIHRvIGRsbHMva2VybmVsLgorCisJKiBjb250cm9scy9jb21iby5jLCBkbGxzL2NvbWN0bDMyL3RyYWNrYmFyLmMsIGRsbHMvb2xlYXV0MzIvcGFyc2VkdC5oLAorCSAgaW5jbHVkZS93aW5kZWYuaCwgaW5jbHVkZS93aW5lL3dpbmRlZjE2LmgsIGluY2x1ZGUvd2ludXNlci5oLAorCSAgaW5jbHVkZS93dHlwZXMuaCwgaW5jbHVkZS93dHlwZXMuaWRsOgorCU1vdmVkIG91dCBvZiB3aW5kZWYuaCBhIGZldyBkZWZpbml0aW9ucyB0aGF0IGRvbid0IGJlbG9uZyB0aGVyZQorCShyZXBvcnRlZCBieSBGaWxpcCBOYXZhcmEpLgorCisJKiBjb250cm9scy9lZGl0LmMsIGNvbnRyb2xzL21lbnUuYywgY29udHJvbHMvc2Nyb2xsLmMsCisJICBkbGxzL2NvbWN0bDMyL2hlYWRlci5jLCBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsCisJICBkbGxzL2NvbWN0bDMyL21vbnRoY2FsLmMsIGRsbHMvY29tY3RsMzIvcGFnZXIuYywKKwkgIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYywgZGxscy9jb21jdGwzMi91cGRvd24uYywKKwkgIGRsbHMvY29tbWRsZy9jb2xvcmRsZy5jLCBkbGxzL3gxMWRydi93aW5wb3MuYywKKwkgIGdyYXBoaWNzL3gxMWRydi90ZXh0LmMsIHdpbmRvd3MvZGVmd25kLmMsIHdpbmRvd3MvbWRpLmMsCisJICB3aW5kb3dzL25vbmNsaWVudC5jOgorCVNMT1dPUkQgYW5kIFNISVdPUkQgZG8gbm90IGV4aXN0IG9uIFdpbjMyIChyZXBvcnRlZCBieSBGaWxpcCBOYXZhcmEpLgorCisJKiBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnOiBIYW5udSBWYWx0b25lbiA8SGFubnUuVmFsdG9uZW5AaHV0LmZpPgorCVVzZSBuYXRpdmUgbXNpIHVudGlsIG91ciBvd24gaW1wbGVtZW50YXRpb24gd29ya3MgZGVjZW50bHkuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2ZpbGUuYzoKKwlSb2xmIEthbGJlcm1hdHRlciA8cm9sZi5rYWxiZXJtYXR0ZXJAY2l0ZW5nLmNvbT4KKwlGaXggYW5vdGhlciBlcnJvciB1bmRlciBXaW45eCAoaG9wZWZ1bGx5KS4KKworCSogZGxscy9zaGVsbDMyL01ha2VmaWxlLmluLCBkbGxzL3NoZWxsMzIvcGlkbC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLCBkbGxzL3NoZWxsMzIvc2hmbGRyX2ZzLmMsCisJICBkbGxzL3NoZWxsMzIvc2hsZnNiaW5kLmM6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJSW1wbGVtZW50ZWQgU0hTaW1wbGVJRExpc3RGcm9tUGF0aCBjb3JyZWN0bHkuCisKKwkqIGRsbHMvbnRkbGwvZGVidWd0b29scy5jOiBTdGV2ZW4gRWR3YXJkcyA8c3RldmVuX2VkNDE1M0B5YWhvby5jb20+CisJUmVtb3ZlIHJlZHVuZGFudCBpbmNsdWRlcy4KKworMjAwMy0wOS0xNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvbG9jYWxlLmM6IE1vcmUgcm9idXN0IGRldGVjdGlvbiBvZiBjaGFyc2V0IG5hbWVzLgorCisJKiBkbGxzL2tlcm5lbC9zdHJpbmcuYywgZGxscy9udGRsbC9wYXRoLmMsIGZpbGVzL2Rvc19mcy5jLAorCSAgbWVtb3J5L3N0cmluZy5jOgorCU1vdmVkIG1vc3Qga2VybmVsIHN0cmluZyBmdW5jdGlvbnMgdG8gZGxscy9rZXJuZWwuCisKKwkqIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC9oZWFwLmMsIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sCisJICBtZW1vcnkvZ2xvYmFsLmMsIG1lbW9yeS9oZWFwLmMsIG1lbW9yeS9sb2NhbC5jLCBtZW1vcnkvc2VsZWN0b3IuYywKKwkgIHNjaGVkdWxlci9wcm9jZXNzLmM6CisJTW92ZWQgbW9zdCAzMi1iaXQgaGVhcCBmdW5jdGlvbnMgdG8gZGxscy9rZXJuZWwuCisKKwkqIHRvb2xzL3dpbmVnY2Mvd2luZXdyYXAuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlEbyBub3QgcmVxdWlyZSBHVUkgc3VwcG9ydCBmb3IgZGlzcGxheWluZyBlcnJvcnMgaW4gd3JhcHBlci4KKwlMaW5rIHRoZSB3cmFwcGVyIG9ubHkgYWdhaW5zdCBrZXJuZWwgKG5vIGRsLCBtc3ZjcnQsIGV0YykuCisJQWxsb3cgdGhlIHNldHRpbmcgb2YgdGhlIGFwcCBETEwgd2hlbiBhIHdyYXBwZXIgaXMgY3JlYXRlZC4KKworCSogZGxscy9pbWFnZWhscC9pbnRlZ3JpdHkuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudGVkIEltYWdlR2V0Q2VydGlmaWNhdGVEYXRhLgorCisJKiBpbmNsdWRlL3dpbm50Lmg6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBtYWlsc2xvdCBkZWZpbmVzLgorCisJKiBkbGxzL3dpbm1tL3dpbmVhbHNhL21pZGkuYzogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlNb3ZlZCBXSU5FX0RFRkFVTFRfREVCVUdfQ0hBTk5FTCBvdXRzaWRlIG9mIHRoZSAjaWZkZWYuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXcvdXNlci5jOiBBbGV4IFBhc2FkeW4gPGFqcEBtYWlsLnV0ZXhhcy5lZHU+CisJRW5hYmxlIHJlc29sdXRpb24gY2hhbmdlcyBmb3Igb2xkZXIgRDNEL0REcmF3IGFwcGxpY2F0aW9ucy4KKworCSogZGxscy9kM2Q4L2RpcmVjdHguYzogQWxleCBQYXNhZHluIDxhanBAbWFpbC51dGV4YXMuZWR1PgorCUVuYWJsZSByZXNvbHV0aW9uIGNoYW5nZXMgZm9yIEQzRDggYXBwbGljYXRpb25zLgorCisJKiBkbGxzL3gxMWRydi9kZXNrdG9wLmMsIGRsbHMveDExZHJ2L3gxMWRkcmF3LmMsIGRsbHMveDExZHJ2L3gxMWRydi5oLAorCSAgZGxscy94MTFkcnYveHZpZG1vZGUuYzoKKwlBbGV4IFBhc2FkeW4gPGFqcEBtYWlsLnV0ZXhhcy5lZHU+CisJLSBBbGxvdyBhcHBsaWNhdGlvbnMgdG8gcmVzaXplIHRoZSBXaW5lIGRlc2t0b3Agd2luZG93LgorCS0gU29tZSBjbGVhbnVwIG9mIENoYW5nZURpc3BsYXlTZXR0aW5ncyBhbmQgZnJpZW5kcy4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvZmlsZS5jLCBmaWxlcy9kb3NfZnMuYzoKKwlBbGV4IFBhc2FkeW4gPGFqcEBtYWlsLnV0ZXhhcy5lZHU+CisJLSBVc2UgSGVhcEFsbG9jIGluc3RlYWQgb2YgR2xvYmFsQWxsb2MgaW4gRmluZE5leHRGaWxlLgorCS0gQWRkIHRlc3QgZm9yIEZpbmROZXh0RmlsZSB0aGF0IGNoZWNrcyBsYXN0IGVycm9yIHZhbHVlLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9kaXJlY3RvcnkuYywgZGxscy9rZXJuZWwvdGVzdHMvZmlsZS5jOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCUFkZGVkIGEgZmV3IHRvZG9fd2luZSB0ZXN0cyB3aXRoIGZpbGVuYW1lcyB3aXRoIHdpbGRjYXJkcy4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvcHJvY2Vzcy5jLCBkbGxzL2tlcm5lbC90ZXN0cy90aHJlYWQuYzoKKwlSb2xmIEthbGJlcm1hdHRlciA8cm9sZi5rYWxiZXJtYXR0ZXJAY2l0ZW5nLmNvbT4KKwlSZW1vdmUgPG50c3RhdHVzLmg+IHRvIGFsbG93IGNvbXBpbGF0aW9uIHdpdGggTVMgUFNESyBoZWFkZXJzLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsIGRsbHMvY29tY3RsMzIvdG9vbHRpcHMuYywgaW5jbHVkZS9jb21tY3RybC5oOgorCUZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwlGaXhlZCBkZWZpbml0aW9ucyBvZiBUVFRPT0xJTkZPQS9XX1YxX1NJWkUgYW5kCisJUkVCQVJCQU5ESU5GT0EvV19WM19TSVpFLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL21haW4uYywgcHJvZ3JhbXMvd2luZWNmZy9wcm9wZXJ0aWVzLmM6CisJTWlrZSBIZWFybiA8bWlrZUB0aGVvcmV0aWMuY29tPgorCU5vcm1hbGl6ZSB3aW4yMDAwLCBudDJrLCBudDIwMDAgdG8gd2luMmssIG5vcm1hbGl6ZSB3aW4yazMgdG8gd2luMjAwMworCShzcG90dGVkIGJ5IFZpbmNlbnQgQulyb24pLgorCisJKiBkbGxzL250ZGxsL250LmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgaW5jbHVkZS93aW50ZXJubC5oLAorCSAgc2VydmVyL2hhbmRsZS5jLCBzZXJ2ZXIvaGFuZGxlLmgsIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci9wcm9jZXNzLmgsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvc25hcHNob3QuYywgc2VydmVyL3RyYWNlLmM6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJLSBJbXBsZW1lbnRlZCBhIGZldyBpbmZvcm1hdGlvbiBjbGFzc2VzIGluIE50UXVlcnlTeXN0ZW1JbmZvcm1hdGlvbi4KKwktIEFkZGVkIGhhbmRsZSBpbmZvcm1hdGlvbiB0byAod2luZXNlcnZlcikgcHJvY2VzcyBzbmFwc2hvdC4KKworCSogZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbjogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW1vdmUgdGhlIHVudXNlZCBXSU5FX0RPQ19TUkNTLCBhbmQgdGhlIHVzZWxlc3MgQk9PS1NfVEFSR0VUUy4KKworCSogZGxscy9vbGVhdXQzMi92YXJpYW50LmM6IDxkZXZlbG9wQHN0dWViZW4uY29tPgorCVVzZSBTeXNBbGxvY1N0cmluZ0J5dGVMZW4vU3lzU3RyaW5nQnl0ZUxlbiB0byBjb3B5IEJTVFIgdmFyaWFudHMuCisKKwkqIHByb2dyYW1zL2Nsb2NrL0ZyLnJjLCBwcm9ncmFtcy9jbWRsZ3RzdC9Gci5yYywKKwkgIHByb2dyYW1zL2NtZGxndHN0L2NtZGxnci5yYywgcHJvZ3JhbXMvbm90ZXBhZC9Gci5yYywKKwkgIHByb2dyYW1zL3Byb2dtYW4vRnIucmMsIHByb2dyYW1zL3Byb2dtYW4vcnNyYy5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvRnIucmMsIHByb2dyYW1zL3JlZ2VkaXQvcnNyYy5yYywKKwkgIHByb2dyYW1zL3VuaW5zdGFsbGVyL3JzcmMucmMsIHByb2dyYW1zL3ZpZXcvRnIucmMsCisJICBwcm9ncmFtcy92aWV3L2luaXQuYywgcHJvZ3JhbXMvdmlldy92aWV3cmMucmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVwZGF0ZXMgZm9yIHZhcmlvdXMgRnJlbmNoIHJlc291cmNlcy4KKworMjAwMy0wOS0xNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvY2xvY2svSXQucmMsIHByb2dyYW1zL25vdGVwYWQvSXQucmMsIHByb2dyYW1zL3N0YXJ0L0l0LnJjLAorCSAgcHJvZ3JhbXMvc3RhcnQvcnNyYy5yYywgcHJvZ3JhbXMvdmlldy9JdC5yYywgcHJvZ3JhbXMvdmlldy92aWV3cmMucmM6CisJSXZhbiBMZW8gTXVycmF5LVNtaXRoIDxwdW90aUBpbndpbmQuaXQ+CisJQWRkZWQvaW1wcm92ZWQgSXRhbGlhbiB0cmFuc2xhdGlvbnMuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHIuaCwgZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmMsCisJICBkbGxzL3NoZWxsMzIvc2hmbGRyX2ZzLmMsIGRsbHMvc2hlbGwzMi9zaGZsZHJfbXljb21wLmMsCisJICBkbGxzL3NoZWxsMzIvc2hsZm9sZGVyLmM6CisJUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZ2luZWVyaW5nLmNvbT4KKwlNYWtlIHN1cmUgdGhlIGJpbmQgY29udGV4dCBpcyBmb3J3YXJkZWQgaW4KKwlTaGVsbEZvbGRlcl9QYXJzZURpc3BsYXlOYW1lLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmdpbmVlcmluZy5jb20+CisJU2lnbmVkL3Vuc2lnbmVkIHdhcm5pbmdzIGFuZCBzb21lIGZvcm1hdHRpbmcuCisKKwkqIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLAorCSAgZGxscy9zaGVsbDMyL3NobGZzYmluZC5jLCBpbmNsdWRlL3NobG9iai5oOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmdpbmVlcmluZy5jb20+CisJQWRkZWQgSUZpbGVTeXN0ZW1CaW5kRGF0YSBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy9zaGVsbDMyL2NoYW5nZW5vdGlmeS5jOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmdpbmVlcmluZy5jb20+CisJU0hDaGFuZ2VOb3RpZnkgc2hvdWxkIHVzZSBTSFNpbXBsZUlETGlzdEZyb21QYXRoIGFzIHRoaXMgZnVuY3Rpb24KKwlzaG91bGQgbm90IGZhaWwgb24gcGF0aHMgdGhhdCBkbyBub3QgZXhpc3QgYW55bW9yZS4KKworCSogcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmM6IE1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwlBZGRlZCBhIHNpbXBsZSBUT0RPIGxpc3QuCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vd2luZWFsc2EvYWxzYS5jLAorCSAgZGxscy93aW5tbS93aW5lYWxzYS9hbHNhLmgsIGRsbHMvd2lubW0vd2luZWFsc2EvbWlkaS5jLAorCSAgZGxscy93aW5tbS93aW5lYWxzYS93aW5lYWxzYS5kcnYuc3BlYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJQWRkZWQgbWlkaSBzdXBwb3J0IHRvIHRoZSBBTFNBIGRyaXZlci4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvc3luYy5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlIHRoZSBtYWlsc2xvdCBzdHVicyBpbnRvIHRoZSBkbGxzL2tlcm5lbCBkaXJlY3RvcnkuCisKKwkqIGRvY3VtZW50YXRpb24vTWFrZWZpbGUuaW4sIGRvY3VtZW50YXRpb24vZGxscy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi93aW5lLWRldmVsLnNnbWwsIGRvY3VtZW50YXRpb24vd2luZS1kb2Muc2dtbDoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSBvYnNvbGV0ZSBkb2N1bWVudGF0aW9uL2RsbHMuc2dtbC4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW46CisJUmVtb3ZlIGdlbmVyYXRlZCBhc3NlbWJseSBjb2RlIG9uIG1ha2UgY2xlYW4uCisKKwkqIGRsbHMvd2lubW0vZHJpdmVyLmMsIGRsbHMvd2lubW0vbWNpLmMsIGRsbHMvd2lubW0vbW1pby5jLAorCSAgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3dpbm1tL3dpbm1tLmMsIGRsbHMvd2lubW0vd2lubW0uc3BlYywKKwkgIGluY2x1ZGUvbW1kZGsuaCwgaW5jbHVkZS9tbXN5c3RlbS5oOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gTW92ZWQgV2luZSBleHRlbnNpb24gdG8gZ2V0IERTb3VuZCBpbnRlcmZhY2UgZnJvbSBhIHdhdmUgZGV2aWNlIGZyb20KKwkgIGluY2x1ZGUvbW1zeXN0ZW0uaCB0byBpbmNsdWRlL21tZGRrLmguCisJLSBSZW1vdmVkIGFsbCBkZXBlbmRlbmNpZXMgb24gaGVhcC5oLgorCS0gRml4ZWQgYSBmZXcgcHJvdG90eXBlcyAobW1pb1JlbmFtZVtBV10sIG1jaVNlbmRTdHJpbmdXLCAqTWVzc2FnZSkuCisKKwkqIGRvY3VtZW50YXRpb24vd2luZWxpYi1wb3J0aW5nLnNnbWw6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW1vdmUgbm8gbG9uZ2VyIGN1cnJlbnQgaXNzdWVzIGZyb20gdGhlIFdpbmVsaWIgZ3VpZGUuCisKKwkqIGRvY3VtZW50YXRpb24vcG9ydGluZy5zZ21sOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVVwZGF0ZSB0aGUgcG9ydGluZyBkb2N1bWVudGF0aW9uLgorCisJKiBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmQuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCBiZXR0ZXIgdGVzdHMgZm9yIHZvbHVtZSBhbmQgcGFuLgorCUFkZGVkIGNhcHR1cmUgbm90aWZpY2F0aW9uIHRlc3QuCisJRml4ZWQgY2FwdHVyZSBxdWVyeSBub3RpZmljYXRpb24gdGVzdCBidWcuCisKKwkqIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsCisJICBkbGxzL2Rzb3VuZC9kc291bmRfbWFpbi5jLCBkbGxzL2Rzb3VuZC9wcmltYXJ5LmMsCisJICBkbGxzL2Rzb3VuZC9wcm9wc2V0LmMsIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRGV2aWNlIGVudW1lcmF0aW9uIGNhbGxiYWNrcyBzaG91bGQgcmV0dXJuIGEgTlVMTCBndWlkIGZvciBkZWZhdWx0CisJZGV2aWNlcy4KKwlGaXhlZCBzb21lIHZvbHVtZSBhbmQgcGFuIGNhc2VzLgorCUFkZGVkIG1pc3NpbmcgcHJvcGVydHkgc2V0LgorCUZpeGVkIGNhcHR1cmUgbm90aWZpY2F0aW9uIGJ1Zy4KKworCSogZG9jdW1lbnRhdGlvbi9kZWJ1Z2dlci5zZ21sLCBkb2N1bWVudGF0aW9uL2RlZmF1bHQuZHNsOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVJlbW92ZWQgcmVmZXJlbmNlIHRvICdzeXN0ZW1uYW1lJyBhbmQgYWRkZWQgYSBsaW5rIHRvIHdpbnNpdGUgaW4KKwlkZWJ1Z2dlci5zZ21sLgorCVJlbW92ZSBjcnVmdCBmcm9tIGRlZmF1bHQuZHNsLiBBZGQgY29tbWVudHMgZXhwbGFpbmluZyB3aGF0IG91ciBvdGhlcgorCXNldHRpbmdzIGRvLgorCisJKiBkb2N1bWVudGF0aW9uL2ZhcS5zZ21sOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlSZW1vdmUgdGhlIEx5Y29zIGxpbmsgKHdoaWNoIGRvZXMgbm90IGV2ZW4gcG9pbnQgdG8gTHljb3MpLiBQb2ludCB0bworCWliaWJsaW8ub3JnJ3MgbWlycm9ycyBwYWdlLgorCisJKiBncmFwaGljcy94MTFkcnYveGZvbnQuYzogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlDaGVjayBYMTEgZXJyb3JzIG9uIGVhY2ggWExvYWRRdWVyeUZvbnQgY2FsbHMuCisKKwkqIHRvb2xzL3dpbmVnY2MvTWFrZWZpbGUuaW4sIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRpbWlAaW50ZWxsaXdhcmUuY2E+CisJVGVhY2ggd2luZWdjYyB0byBtYXNxdWVyYWRlIGFzIGNwcC4KKworCSogaW5jbHVkZS93aW5iYXNlLmg6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEZWNsYXJlIG1haWxzbG90IGZ1bmN0aW9ucy4KKworCSogZGxscy9rZXJuZWwvY29tbS5jLCBkbGxzL2tlcm5lbC90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL3Rlc3RzL2NvbW0uYzoKKwlLZXZpbiBHcm9lbmV2ZWxkIDxrZ3JvZW5ldmVsZEBtY21hc3Rlci5jYT4KKwktIEZpeCBzbWFsbCBidWcgd2l0aCBwYXJzaW5nIG9mIG51bWJlcnMgaW4gQnVpbGRDb21tRENCIGZ1bmN0aW9ucy4KKwktIEFkZCBjb25mb3JtYW5jZSB0ZXN0IGZvciBCdWlsZENvbW1EQ0IgZnVuY3Rpb25zLgorCisJKiBkbGxzL2RkcmF3L2QzZF9wcml2YXRlLmgsIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21lc2EuYywKKwkgIGRsbHMvZGRyYXcvZGRyYXdfcHJpdmF0ZS5oLCBkbGxzL2RkcmF3L2RzdXJmYWNlL2Zha2V6YnVmZmVyLmMsCisJICBkbGxzL2RkcmF3L2RzdXJmYWNlL2Zha2V6YnVmZmVyLmgsIGRsbHMvZGRyYXcvZ2xfYXBpLmgsCisJICBkbGxzL2RkcmF3L2dsX3ByaXZhdGUuaCwgZGxscy9kZHJhdy9oZWxwZXIuYzoKKwlMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCS0gYWRkIFpCdWZmZXIgd3JpdGUgc3VwcG9ydAorCS0gc29tZSBUUkFDRWluZyBmaXhlcworCisJKiBkbGxzL2RkcmF3L2QzZGV4ZWN1dGVidWZmZXIuYzogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlVc2UgZGRyYXdfZ2VvbSBpbiB0aGUgZXhlY3V0ZSBidWZmZXIgY29kZS4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYywgZGxscy91c2VyL3VzZXIzMi5zcGVjOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gSW1wbGVtZW50ZWQgSXNIdW5nQXBwV2luZG93LgorCS0gQWRkZWQgcmVqZWN0aW9uIG9mIGludGVycHJvY2VzcyBtZXNzYWdlcyByZWxhdGVkIHRvIGljb25zLgorCisJKiBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmM6IE1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwlNb3ZlIHBhY2tldCBsaW5rZWQgbGlzdCB0YWlsIGZvcndhcmQgY29ycmVjdGx5IG9uIHB1c2guCisKKzIwMDMtMDktMTEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIEFOTk9VTkNFLCBDaGFuZ2VMb2csIFZFUlNJT04sIGNvbmZpZ3VyZTogUmVsZWFzZSAyMDAzMDkxMS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMjAwMy0wOS0xMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogZGxscy9rZXJuZWwvY29tbS5jLCBpbmNsdWRlL3dpbmJhc2UuaDoKZGlmZiAtLWdpdCBhL1ZFUlNJT04gYi9WRVJTSU9OCmluZGV4IDI1YTc0ZWYuLjFmNGUyMzggMTAwNjQ0Ci0tLSBhL1ZFUlNJT04KKysrIGIvVkVSU0lPTgpAQCAtMSArMSBAQAotV2luZSB2ZXJzaW9uIDIwMDMwOTExCitXaW5lIHZlcnNpb24gMjAwMzEwMTYKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBmYWQ4Mjc3Li5lZGVhZTgzIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0xLDYgKzEsNiBAQAogIyEgL2Jpbi9zaAogIyBHdWVzcyB2YWx1ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUgTWFrZWZpbGVzLgotIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTcgZm9yIFdpbmUgMjAwMzA5MTEuCisjIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NyBmb3IgV2luZSAyMDAzMTAxNi4KICMKICMgQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIKICMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0yNjYsOCArMjY2LDggQEAKICMgSWRlbnRpdHkgb2YgdGhpcyBwYWNrYWdlLgogUEFDS0FHRV9OQU1FPSdXaW5lJwogUEFDS0FHRV9UQVJOQU1FPSd3aW5lJwotUEFDS0FHRV9WRVJTSU9OPScyMDAzMDkxMScKLVBBQ0tBR0VfU1RSSU5HPSdXaW5lIDIwMDMwOTExJworUEFDS0FHRV9WRVJTSU9OPScyMDAzMTAxNicKK1BBQ0tBR0VfU1RSSU5HPSdXaW5lIDIwMDMxMDE2JwogUEFDS0FHRV9CVUdSRVBPUlQ9JycKIAogYWNfdW5pcXVlX2ZpbGU9InNlcnZlci9hdG9tLmMiCkBAIC03NzcsNyArNzc3LDcgQEAKICAgIyBPbWl0IHNvbWUgaW50ZXJuYWwgb3Igb2Jzb2xldGUgb3B0aW9ucyB0byBtYWtlIHRoZSBsaXN0IGxlc3MgaW1wb3NpbmcuCiAgICMgVGhpcyBtZXNzYWdlIGlzIHRvbyBsb25nIHRvIGJlIGEgc3RyaW5nIGluIHRoZSBBL1VYIDMuMSBzaC4KICAgY2F0IDw8X0FDRU9GCi1cYGNvbmZpZ3VyZScgY29uZmlndXJlcyBXaW5lIDIwMDMwOTExIHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KK1xgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwMzEwMTYgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgogCiBVc2FnZTogJDAgW09QVElPTl0uLi4gW1ZBUj1WQUxVRV0uLi4KIApAQCAtODQyLDcgKzg0Miw3IEBACiAKIGlmIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiOyB0aGVuCiAgIGNhc2UgJGFjX2luaXRfaGVscCBpbgotICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDAzMDkxMToiOzsKKyAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIFdpbmUgMjAwMzEwMTY6Ijs7CiAgICBlc2FjCiAgIGNhdCA8PFxfQUNFT0YKIApAQCAtOTM2LDcgKzkzNiw3IEBACiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIiAmJiBleGl0IDAKIGlmICRhY19pbml0X3ZlcnNpb247IHRoZW4KICAgY2F0IDw8XF9BQ0VPRgotV2luZSBjb25maWd1cmUgMjAwMzA5MTEKK1dpbmUgY29uZmlndXJlIDIwMDMxMDE2CiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTcKIAogQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDIKQEAgLTk1MSw3ICs5NTEsNyBAQAogVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCiAKLUl0IHdhcyBjcmVhdGVkIGJ5IFdpbmUgJGFzX21lIDIwMDMwOTExLCB3aGljaCB3YXMKK0l0IHdhcyBjcmVhdGVkIGJ5IFdpbmUgJGFzX21lIDIwMDMxMDE2LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41Ny4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgICQgJDAgJEAKQEAgLTE2OTMxLDcgKzE2OTMxLDcgQEAKIH0gPiY1CiBjYXQgPiY1IDw8X0NTRU9GCiAKLVRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgV2luZSAkYXNfbWUgMjAwMzA5MTEsIHdoaWNoIHdhcworVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDAzMTAxNiwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTcuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCkBAIC0xNjk5NCw3ICsxNjk5NCw3IEBACiAKIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCiBhY19jc192ZXJzaW9uPSJcXAotV2luZSBjb25maWcuc3RhdHVzIDIwMDMwOTExCitXaW5lIGNvbmZpZy5zdGF0dXMgMjAwMzEwMTYKIGNvbmZpZ3VyZWQgYnkgJDAsIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NywKICAgd2l0aCBvcHRpb25zIFxcImBlY2hvICIkYWNfY29uZmlndXJlX2FyZ3MiIHwgc2VkICdzL1tcXCIiXGBcJF0vXFxcXCYvZydgXFwiCiAK