ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggZGMxZmQ2Ni4uMThiYmY1YSAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTQgKzEsMTMgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDA0MDMwOSBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDQwNDA4IG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA0MDMwOTogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gTXVjaCBpbXByb3ZlZCB3aW5lZ2NjIHRvb2wsIG5vdyB1c2VkIHRvIGJ1aWxkIFdpbmUgaXRzZWxmLgotICAgICAgICAtIFZ4RHMgYXJlIG5vdyBzZXBhcmF0ZSBsaWJyYXJpZXMgZm9yIGJldHRlciBtb2R1bGFyaXR5LgotICAgICAgICAtIEltcHJvdmVtZW50cyBhbmQgc2ltcGxpZmljYXRpb25zIHRvIHRoZSBkcml2ZSBjb25maWd1cmF0aW9uLgotICAgICAgICAtIE5ldyBzZXR1cGFwaSBJTkYgc2NyaXB0IHRvIGNyZWF0ZSB0aGUgaW5pdGlhbCByZWdpc3RyeS4KLSAgICAgICAgLSBNYW55IGltcHJvdmVtZW50cyB0byB0aGUgdmFyaW91cyBtdWx0aW1lZGlhIGRsbHMuCitXSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA0MDQwODogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCisgICAgICAgIC0gRE9TIGRldmljZXMgYW5kIGRyaXZlcyBhcmUgbm93IGNvbmZpZ3VyZWQgdGhyb3VnaCBzeW1saW5rcy4KKyAgICAgICAgLSBNYW55IHNoZWxsMzIgaW1wcm92ZW1lbnRzLgorICAgICAgICAtIE5ldyB0YXNrIG1hbmFnZXIgbWVyZ2VkIGZyb20gUmVhY3RPUy4KKyAgICAgICAgLSBGaXJzdCB2ZXJzaW9uIG9mIHdpbmVwcmVmaXhjcmVhdGUgdG9vbCBmb3IgaW5pdGlhbCBzZXR1cC4KICAgICAgICAgLSBMb3RzIG9mIGJ1ZyBmaXhlcy4KIAogU2VlIHRoZSBSRUFETUUgZmlsZSBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zLgpAQCAtMTcsOCArMTYsOCBAQAogdGhlIHJlbGVhc2UgaXMgYXZhaWxhYmxlIGF0IHRoZSBmdHAgc2l0ZXMuICBUaGUgc291cmNlcyB3aWxsIGJlIGF2YWlsYWJsZQogZnJvbSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKIAotICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNDAzMDkudGFyLmd6Ci0gIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDQwMzA5LnRhci5negorICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNDA0MDgudGFyLmd6CisgIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDQwNDA4LnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCiBUaGVzZSBsb2NhdGlvbnMgYWxzbyBob2xkIHByZS1idWlsdCBkb2N1bWVudGF0aW9uIHBhY2thZ2VzIGluIHZhcmlvdXMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0NTU0M2I2Li5iYzJjMWY0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsMTc2NSBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNC0wNC0wOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9zaGVsbDMyL2VudW1pZGxpc3QuYywgZGxscy9zaGVsbDMyL2VudW1pZGxpc3QuaCwKKwkgIGRsbHMvc2hlbGwzMi9zaGZsZHJfZGVza3RvcC5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX2ZzLmMsCisJICBkbGxzL3NoZWxsMzIvc2hmbGRyX215Y29tcC5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwktIG1vdmUgQ3JlYXRlTXlDb21wRW51bUxpc3QgYW5kIENyZWF0ZURlc2t0b3BFbnVtTGlzdCB0byB0aGVpcgorCSAgcmVzcGVjdGl2ZSBmaWxlcworCS0gcmV3cml0ZSBDcmVhdGVGb2xkZXJFbnVtTGlzdCB0byBvbmx5IEZpbmRGaXJzdEZpbGUvRmluZE5leHRGaWxlIG9uY2UKKworCSogZGxscy9tc3ZjcnQvbWF0aC5jOiBQb3J0YWJpbGl0eSBmaXguCisKKwkqIGRsbHMvbXN2Y3J0L3djcy5jOiBEYXZlIEJlbGFuZ2VyIDxkYXZlLmJlbGFuZ2VyQGNpbW1ldHJ5LmNvbT4KKwl3Y3N0b2Q6IGFkZGVkIGV4cG9uZW50IHBhcnNpbmcgYW5kIGZpeGVkIGhhbmRsaW5nIG9mIG5lZ2F0aXZlIHNpZ24uCisKKwkqIGRsbHMveDExZHJ2L3dpbnBvcy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVJlc3RvcmUgY29ycmVjdCBmb2N1cyBoYW5kbGluZyBmb3IgU2hvd1dpbmRvdyhTV19ISURFKSBjYXNlLgorCisJKiBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNlcnZlci9mZC5jLCBzZXJ2ZXIvZmlsZS5jLAorCSAgc2VydmVyL2ZpbGUuaCwgc2VydmVyL25hbWVkX3BpcGUuYywgc2VydmVyL3Byb3RvY29sLmRlZiwKKwkgIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci9zZXJpYWwuYywgc2VydmVyL3NtYi5jLCBzZXJ2ZXIvc29jay5jLAorCSAgc2VydmVyL3RyYWNlLmM6CisJUmVtb3ZlZCB0aGUgZ2V0X2ZpbGVfaW5mbyByZXF1ZXN0LgorCisJKiBkbGxzL3gxMWRydi93aW5wb3MuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZXZlcnQgYW4gZXJyb25lb3VzIHBhdGNoLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIFdNX1NFVFJFRFJBVyB0ZXN0LgorCisJKiBkbGxzL2tlcm5lbC9wcm9maWxlLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJRW1wdHkgdmFsdWVzIG5lZWQgdG8gYmUgcHJlc2VydmVkIGFzIGVtcHR5IHZhbHVlcyBhbmQgbm90IGFzc3VtZWQgdG8KKwliZSBub25leGlzdGVudCB2YWx1ZXMuCisKKwkqIGluY2x1ZGUvdGFwaS5oOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJQWRkIHNvbWUgc3RydWN0dXJlcyBhbmQgZGVmaW5lcy4KKworCSogdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmMsCisJICB0b29scy93aW5lYnVpbGQvd2luZWJ1aWxkLm1hbi5pbjoKKwlBdXRvbWF0aWNhbGx5IGRldGVjdCB3aGV0aGVyIHRoZSBlbnRyeSBwb2ludCBpcyBtYWluIG9yIFdpbk1haW4KKwlpbnN0ZWFkIG9mIGRlcGVuZGluZyBvbiB0aGUgc3Vic3lzdGVtIHR5cGUuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2ZpbGUuYywgZGxscy9udGRsbC9maWxlLmMsIGZpbGVzL2ZpbGUuYywKKwkgIGluY2x1ZGUvd2luYmFzZS5oOgorCVJlcGxhY2UgdGhlIGdldF9maWxlX2luZm8gcmVxdWVzdCBieSBhbiBmc3RhdCgpIG9uIHRoZSBjbGllbnQgc2lkZS4KKworCSogZGxscy9udGRsbC9ydGxzdHIuYzogUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJRml4IGJhZCBpbml0aWFsaXphdGlvbiBvZiBVbmljb2RlIGxlbmd0aCBwYXJhbWV0ZXJzIGluCisJUnRsU3RyaW5nRnJvbUdVSUQuCisKKwkqIGRsbHMvZHBuZXQvYWRkcmVzcy5jLCBkbGxzL2RwbmV0L2NsaWVudC5jLAorCSAgZGxscy9kcG5ldC9kcG5ldF9wcml2YXRlLmg6CisJUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJLSBhZGQgdHJhY2VzIHRvIGNsaWVudC5jIGFuZCBhZGRyZXNzLmMgc3R1YiBmdW5jdGlvbnMKKwktIGltcGxlbWVudCBzb21lIGRlYnVnZ2luZyBmdW5jdGlvbnMgKGRlYnVnc3RyX1NQKQorCS0gaW1wbGVtZW50IElEaXJlY3RQbGF5OEFkZHJlc3M6OkdldFNQL0lEaXJlY3RQbGF5OEFkZHJlc3M6OlNldFNQCisKKwkqIGRsbHMvc2hlbGwzMi9jcGFuZWwuaCwgZGxscy9zaGVsbDMyL2NwYW5lbGZvbGRlci5jLAorCSAgZGxscy9zaGVsbDMyL2VudW1pZGxpc3QuYywgZGxscy9zaGVsbDMyL2VudW1pZGxpc3QuaCwKKwkgIGRsbHMvc2hlbGwzMi9waWRsLmMsIGRsbHMvc2hlbGwzMi9waWRsLmgsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmgsIGRsbHMvc2hlbGwzMi9zaGZsZHJfZGVza3RvcC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl9mcy5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX215Y29tcC5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlNb3ZlIGNvbnRyb2wgcGFuZWwgYXBwbGV0IGVudW1lcmF0aW9uIHRvIGNwYW5lbGZvbGRlci5jLgorCisyMDA0LTA0LTA3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL2ZpbGUuYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsCisJICBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvdHJhY2UuYzoKKwlIYW5kbGUgdGhlIHNldF9maWxlX3BvaW50ZXIgcmVxdWVzdCBvbiB0aGUgY2xpZW50IHNpZGUuCisKKwkqIGluY2x1ZGUvd2luZS93aW5lX2NvbW1vbl92ZXIucmM6CisJU3RldmVuIEVkd2FyZHMgPHN0ZXZlbl9lZDQxNTNAeWFob28uY29tPgorCUZpeCBjb21waWxpbmcgdW5kZXIgTVNfVkMgNi4KKworCSogZGxscy9zaGVsbDMyL3BpZGwuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwktIFNIQmluZFRvUGFyZW50KCk6IHJlcXVlc3QgY29ycmVjdCBDT00gaW50ZXJmYWNlIGZyb20gZGVza3RvcC4KKwktIF9JTENyZWF0ZUZyb21GaW5kRGF0YUEoKTogdHlwZSBjYXN0IHRvIGVsaW1pbmF0ZSBNU1ZDIGNvbXBpbGVyCisJICB3YXJuaW5nLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwgZGxscy9kcG5ldC8uY3ZzaWdub3JlLAorCSAgZGxscy9kcG5ldC9NYWtlZmlsZS5pbiwgZGxscy9kcG5ldC9hZGRyZXNzLmMsIGRsbHMvZHBuZXQvY2xpZW50LmMsCisJICBkbGxzL2RwbmV0L2RwbmV0LnNwZWMsIGRsbHMvZHBuZXQvZHBuZXRfbWFpbi5jLAorCSAgZGxscy9kcG5ldC9kcG5ldF9wcml2YXRlLmgsIGRsbHMvZHBuZXQvcGVlci5jLCBkbGxzL2RwbmV0L3JlZ3N2ci5jLAorCSAgZGxscy9kcG5ldC9zZXJ2ZXIuYywgZGxscy9kcG5ldC92ZXJzaW9uLnJjLCB0b29scy93aW5lLmluZjoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlBZGRlZCBzaW1wbGUgZHBuZXQuZGxsIGltcGxlbWVudGF0aW9uLgorCisJKiBkbGxzL3NoZWxsMzIvY3BhbmVsZm9sZGVyLmMsIGRsbHMvc2hlbGwzMi9waWRsLmMsCisJICBkbGxzL3NoZWxsMzIvcGlkbC5oLCBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCS0gY29tbWVudCBmaXhlcworCS0gaW1wcm92ZWQgZXJyb3IgY2hlY2tpbmcgYW5kIGNvbmZvcm1hbmNlIHdpdGggV2luZG93cworCS0gcmVtb3ZlIHNvbWUgc3B1cmlvdXMgZXJyb3IgbWVzc2FnZXMKKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9taXNjLmMsCisJICBkbGxzL3VzZXIvcmVzb3VyY2UuYywgZGxscy91c2VyL3VzZXIzMi5zcGVjLCBkbGxzL3ZkbWRiZy8uY3ZzaWdub3JlLAorCSAgZGxscy92ZG1kYmcvTWFrZWZpbGUuaW4sIGRsbHMvdmRtZGJnL3ZkbWRiZy5jLAorCSAgZGxscy92ZG1kYmcvdmRtZGJnLnNwZWM6CisJU2FtaSBBYXJpbyA8c2FtaS5hYXJpb0BzdXJmZXUuZmk+CisJU3R1YnMgdG8gcHJldmVudCB0YXNrbWdyLmV4ZSBmcm9tIGNyYXNoaW5nIG9yIGFib3J0aW5nIGR1cmluZworCXN0YXJ0dXAuCisKKwkqIGZpbGVzL2ZpbGUuYzogQmV0dGVyIGZhbGxiYWNrIGluIFNldEZpbGVUaW1lIHdoZW4gZnV0aW1lcyBpcyBtaXNzaW5nLgorCisJKiBkb2N1bWVudGF0aW9uL3Rlc3Rpbmcuc2dtbDogTWljaGFlbCBKYWNvYnNlbiA8aW1fbm90dEBob3RtYWlsLmNvbT4KKwlDbGVhbmVkIHVwIHRoZSB0ZXh0IGNvbmNlcm5pbmcgdGhlIG5lZWQgZm9yIGNvbmZvcm1hbmNlIHRlc3RzLgorCisJKiBkbGxzL2RiZ2hlbHAvZWxmX21vZHVsZS5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCUNhc3QgdGhpcmQgcGFyYW1ldGVyIG9mIGVsZl9zZWFyY2hfYW5kX2xvYWRfZmlsZSgpIHRvIHByb3BlciB0eXBlLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZHVtYiBlcnJvciBmcm9tIHJldi4gMS4xNTguCisKKwkqIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZGxscy9udGRsbC9ydGwuYywgaW5jbHVkZS93aW50ZXJubC5oOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gZml4IERiZ1ByaW50IGFuZCBpbXBsZW1lbnQgRGJnUHJpbnRFeAorCS0gc3R1YiBmb3IgTnRJbXBlcnNvbmF0ZUFub255bW91c1Rva2VuCisKKwkqIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYzoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlBZGRlZCBzb21lIHN0dWJzLgorCisJKiBpbmNsdWRlL2RwYWRkci5oLCBpbmNsdWRlL2RwbGF5OC5oOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCUNvcnJlY3QgZHBsYXk4IGhlYWRlcnMgZm9yIGZ1dHVyZSB1c2UuCisKKwkqIGRsbHMvdXh0aGVtZS9zeXN0ZW0uYywgZGxscy91eHRoZW1lL3V4dGhlbWUuc3BlYzoKKwlLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlJbXBsZW1lbnQgQ2hlY2tUaGVtZVNpZ25hdHVyZS4KKworCSogdG9vbHMvbWFrZWRlcC5jOgorCUFkZGVkIHNvbWUgY2hlY2tzIGZvciB0aGUgY29uZmlnLmggaW5jbHVzaW9uIHJ1bGVzIGluIHRoZSBXaW5lIHRyZWUuCisKKwkqIGRsbHMvZGRyYXcvbWFpbi5jLCBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsIGRsbHMvdXNlci9jb21tMTYuYywKKwkgIGRsbHMvd2luZXBzL3R5cGUxLmMsIGRsbHMvd2luZXBzL3R5cGU0Mi5jOgorCUZpeGVkIGEgY291cGxlIG9mIGhlYWRlciBmaWxlcyBvcmRlcmluZyBpc3N1ZXMuCisKKwkqIGRsbHMvbnRkbGwvZmlsZS5jOgorCUJldHRlciBzdXBwb3J0IGZvciBkZXZpY2UgaGFuZGxlcyBpbiBOdFF1ZXJ5Vm9sdW1lSW5mb3JtYXRpb25GaWxlLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy94MTFkcnYveHJhbmRyLmMsIGluY2x1ZGUvY29uZmlnLmguaW46CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUxvYWQgdGhlIFhSYW5kUiBleHRlbnNpb24gZHluYW1pY2FsbHkgKHdpdGggaGVscCBmcm9tIEFsZXggUGFzYWR5bikuCisKKwkqIGZpbGVzL3NtYi5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJUHJvcGVybHkgbWFwIFNNQiBlcnJvcnMgdXNpbmcgRE9TLXN0eWxlIGVycm9yIGNvZGVzLgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCVJlc29sdmUgc2hlbGwgc2hvcnRjdXRzIGFuZCBwcm9jZXNzIElEIGxpc3RzIGluIFNoZWxsRXhlY3V0ZSgpCisJZnVuY3Rpb25zLgorCisyMDA0LTA0LTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC92b2x1bWUuYywgZGxscy9rZXJuZWwvdnhkLmMsIGRsbHMvd2luZWRvcy9pbnQyMS5jLAorCSAgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL2ZpbGUuaCwgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLAorCSAgbWlzYy9yZWdpc3RyeS5jLCBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvZmlsZS5oLCBzZXJ2ZXIvbWFwcGluZy5jLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3RyYWNlLmM6CisJR2V0IHJpZCBvZiB0aGUgcmVtb3ZhYmxlIG1lZGlhIGhhbmRsaW5nIGluIHRoZSBzZXJ2ZXIuCisKKwkqIGRsbHMvbnRkbGwvZmlsZS5jLCBkbGxzL250ZGxsL2xvYWRlci5jLCBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwKKwkgIGRsbHMvbnRkbGwvdmlydHVhbC5jLCBpbmNsdWRlL3dpbnRlcm5sLmgsIHNlcnZlci9wcm9jZXNzLmM6CisJSGFuZGxlIGZpbGUgbWFwcGluZ3Mgb24gcmVtb3ZhYmxlIG1lZGlhIGVudGlyZWx5IGluc2lkZSBudGRsbC4KKworCSogZGxscy9zaGVsbDMyL2RlYnVnaGxwLmMsIGRsbHMvc2hlbGwzMi9lbnVtaWRsaXN0LmMsCisJICBkbGxzL3NoZWxsMzIvcGlkbC5jLCBkbGxzL3NoZWxsMzIvcGlkbC5oLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmMsIGRsbHMvc2hlbGwzMi9zaGZsZHJfbXljb21wLmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCS0gcmVuYW1lIFBUX1NQRUNJQUwgdG8gUFRfU0hFTExFWFQKKwktIHJlbW92ZSB1bm5lY2Vzc2FyaWx5IGNvbXBsZXggX0lMQ3JlYXRlCisJLSBjb21iaW5lIF9JTENyZWF0ZVZhbHVlIGFuZCBfSUxDcmVhdGVGb2xkZXIsIHNpbmNlIHRoZWlyIG91dHB1dHMKKwkgIGRpZmZlcmVkIGJ5IG9ubHkgb25lIGJ5dGUuCisKKwkqIGRsbHMvbnRkbGwvdmlydHVhbC5jOgorCUZpeGVkIHNvbWUgcG90ZW50aWFsIHJhY2VzIGluIHRoZSBoYW5kbGluZyBvZiB0aGUgdmlldyBzdHJ1Y3R1cmVzLgorCisJKiBkbGxzL3dpbmVkb3MvaW50MTUuYzogRmxvcmlhbiBHb3RoIDxDYXB0YWluc2lmZmZAZ214LmRlPgorCUFkZGVkIHNvbWUgbW9yZSBzdHVicyBhZnRlciBleGFtaW5pbmcgdGhlIGRvc2JveCBzb3VyY2UgY29kZS4KKworCSogZGxscy9kYmdoZWxwL3N0b3JhZ2UuYzogR2VyYWxkIFBmZWlmZXIgPGdlcmFsZEBwZmVpZmVyLmNvbT4KKwlBdm9pZCBjb21waWxlciB3YXJuaW5nIGluIHZlY3Rvcl9wb3NpdGlvbigpLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzogU2hhY2hhciBTaGVtZXNoIDx3aW5lLXBhdGNoZXNAc2hlbWVzaC5iaXo+CisJU3RhdGljIGxpYnJhcmllcyBuYW1lcyBmb3IgSUNVIGFyZSBsaWJzaWN1Ki5hIG5vdy4KKwlBZGQgcHJpbnRvdXQgb2YgdGhlIGxpbmtpbmcgdGVzdC4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCU1ha2UgdXNlIG9mIHRoZSAnZGVmd2lucHJvYycgZmxhZyBpbiB0aGUgbWVzc2FnZSB0ZXN0LgorCisJKiBkbGxzL2RpbnB1dC9NYWtlZmlsZS5pbiwgZGxscy9kaW5wdXQvZGlucHV0X21haW4uYywKKwkgIGRsbHMvZGlucHV0L3JlZ3N2ci5jLCB0b29scy93aW5lLmluZjoKKwlKYW1lcyBQZXJyeSA8amFtZXNwQGVwY2MuZWQuYWMudWs+CisJTWFrZSBkaW5wdXQuZGxsIHNlbGYgcmVnaXN0ZXIuCisKKwkqIGRsbHMvZHNvdW5kL2NhcHR1cmUuYywgZGxscy9kc291bmQvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL2Rzb3VuZC90ZXN0cy9jYXB0dXJlLmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlGaXhlZCBkZWFkbG9jayBpbiBjYXB0dXJlIGNhbGxiYWNrLgorCUZpeGVkIGNhcHR1cmUgdGVzdCB0byBjaGVjayBhbGwgbm90aWZpY2F0aW9ucy4KKwlBZGRlZCBiZXR0ZXIgZGVidWcgbWVzc2FnZXMgdG8gY2FwdHVyZSB0ZXN0LgorCisJKiBkbGxzL250ZGxsL2ZpbGUuYzoKKwlQYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIE50UXVlcnlWb2x1bWVJbmZvcm1hdGlvbkZpbGUuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBpbmNsdWRlL3dpbmUvcG9ydC5oLAorCSAgbGlicy9wb3J0L01ha2VmaWxlLmluLCBsaWJzL3BvcnQvZnN0YXR2ZnMuYzoKKwlBZGRlZCBzdXBwb3J0IGZvciBmc3RhdHZmcy4KKworCSogZGxscy9jb21tZGxnL2NkbGdfRXMucmMsIGRsbHMvbXNhY20vbXNhY20ucmMsIGRsbHMvbXNhY20vbXNhY21fRXMucmMsCisJICBkbGxzL29sZWRsZy9vbGVkbGdfRXMucmMsIGRsbHMvb2xlZGxnL3JzcmMucmMsCisJICBkbGxzL3NobHdhcGkvc2hsd2FwaS5yYywgZGxscy9zaGx3YXBpL3NobHdhcGlfRXMucmMsCisJICBkbGxzL3VzZXIvcmVzb3VyY2VzL3VzZXIzMl9Fcy5yYywgZGxscy93aW5lcHMvd3BzX0VzLnJjLAorCSAgcHJvZ3JhbXMvY2xvY2svRXMucmMsIHByb2dyYW1zL2NtZGxndHN0L0VzLnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvY21kbGdyLnJjLCBwcm9ncmFtcy9ub3RlcGFkL0VzLnJjLAorCSAgcHJvZ3JhbXMvcHJvZ21hbi9Fcy5yYywgcHJvZ3JhbXMvcmVnZWRpdC9Fcy5yYywgcHJvZ3JhbXMvd2NtZC9Fcy5yYywKKwkgIHByb2dyYW1zL3djbWQvd2NtZHJjLnJjOgorCUpvc+kgTWFudWVsIEZlcnJlciBPcnRpeiA8am1mbzE5ODJAeWFob28uZXM+CisJVXBkYXRlZCBTcGFuaXNoIHRyYW5zbGF0aW9ucy4KKworCSogZGxscy9zaGVsbDMyL2RlYnVnaGxwLmMsIGRsbHMvc2hlbGwzMi9waWRsLmMsIGRsbHMvc2hlbGwzMi9waWRsLmgsCisJICBkbGxzL3NoZWxsMzIvc2hmbGRyX2Rlc2t0b3AuYywgZGxscy9zaGVsbDMyL3NoZmxkcl9teWNvbXAuYzoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJUmVuYW1lIFBUX01ZQ09NUCB0byBQVF9HVUlELCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgdW5pb24gbWVtYmVyIGZyb20KKwlteWNvbXAgdG8gZ3VpZC4KKworCSogZGxscy91c2VyL21pc2MuYzogU2FtaSBBYXJpbyA8c2FtaS5hYXJpb0BzdXJmZXUuZmk+CisJRml4IHJldHVybiB0eXBlcyBvZiBHZXRUaHJlYWREZXNrdG9wIGFuZCBPcGVuRGVza3RvcEEuCisKKzIwMDQtMDQtMDUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbXByLy5jdnNpZ25vcmUsIGRsbHMvbXByL01ha2VmaWxlLmluLCBkbGxzL21wci9tcHIucmMsCisJICBkbGxzL21wci9tcHJfRW4ucmMsIGRsbHMvbXByL21wcl9tYWluLmMsIGRsbHMvbXByL21wcnJlcy5oLAorCSAgZGxscy9tcHIvdmVyc2lvbi5yYywgZGxscy9tcHIvd25ldC5jLCBkbGxzL21wci93bmV0cHJpdi5oLAorCSAgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9ucGFwaS5oOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwktIGltcGxlbWVudCBsb2FkaW5nIG5ldHdvcmsgcHJvdmlkZXJzCisJLSBpbXBsZW1lbnQgZW51bWVyYXRpb24gZnVuY3Rpb25zCisJLSBzb21lIGltcHJvdmVkIGVycm9yIGNoZWNraW5nIGFuZCBBLT5XIGNvbnZlcnNpb24KKworCSogZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJVXNlIHN5bWJvbGljIGNvbnN0YW50cyBmb3IgbWFnaWMgbnVtYmVycyBpbiBTSEdldEZvbGRlclBhdGhXLCBhdm9pZAorCWRvaW5nIE11bHRpQnl0ZVRvV2lkZUNoYXIgb24gdmFsdWVzIHRoYXQgZG9uJ3QgbmVlZCBpdCwKKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvdmVyc2lvbi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvdmVyc2lvbi90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL3ZlcnNpb24vdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL3ZlcnNpb24vdGVzdHMvaW5mby5jOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUFkZGVkIHRlc3RzIGZvciBHZXRGaWxlVmVyc2lvbkluZm9TaXplQS4KKworCSogZGxscy92ZXJzaW9uL2luZm8uYzogU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJTW92ZWQgaW1wbGVtZW50YXRpb24gb2YgR2V0RmlsZVZlcnNpb25JbmZvU2l6ZSBmcm9tIGFzY2lpIHRvIHVuaWNvZGUsCisJZml4ZWQgZmFpbGluZywgY3Jhc2hpbmcgdGVzdCBjYXNlcy4KKworCSogZGxscy9pbWFnZWhscC9NYWtlZmlsZS5pbiwgZGxscy9pbWFnZWhscC9hY2Nlc3MuYywKKwkgIGRsbHMvaW1hZ2VobHAvZGVidWcuYywgZGxscy9pbWFnZWhscC9pbWFnZWhscC5zcGVjLAorCSAgZGxscy9pbWFnZWhscC9pbWFnZWhscF9tYWluLmMsIGRsbHMvaW1hZ2VobHAvc3ltYm9sLmMsCisJICBpbmNsdWRlL2ltYWdlaGxwLmg6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJTW92ZWQgcXVpdGUgYSBmZXcgZnVuY3Rpb25zIHRvIGRiZ2hlbHAgKHJlbW92ZWQgZGVidWcuYyBhbmQgc3ltYm9sLmMKKwlmaWxlcykuCisKKwkqIHByb2dyYW1zL3Rhc2ttZ3IvZGJnY2hubC5jOiBFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlTZXQgY29ycmVjdCBvcHRpb25zIGZvciBkYmdoZWxwIChFTEYgbG9hZGluZyAmIHBhcnNpbmcgc3BlZWQpLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGRsbHMvd2luc29jay93czJfMzIuc3BlYywgaW5jbHVkZS93aW5zb2NrMi5oLAorCSAgaW5jbHVkZS93dHlwZXMuaCwgaW5jbHVkZS93dHlwZXMuaWRsOgorCVJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlTdHViIGltcGxlbWVudGF0aW9uIGZvciBXU0FMb29rdXBTZXJ2aWNlQmVnaW5BL1cuCisKKwkqIGRsbHMvc2hlbGwzMi9mb2xkZXJzLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlHZXQgcmlkIG9mIGEgZmV3IHBvaW50bGVzcyBBL1cgY29udmVyc2lvbnMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2RiZ2hlbHAvLmN2c2lnbm9yZSwKKwkgIGRsbHMvZGJnaGVscC9NYWtlZmlsZS5pbiwgZGxscy9kYmdoZWxwL2RiZ2hlbHAuYywKKwkgIGRsbHMvZGJnaGVscC9kYmdoZWxwLnNwZWMsIGRsbHMvZGJnaGVscC9kYmdoZWxwX3ByaXZhdGUuaCwKKwkgIGRsbHMvZGJnaGVscC9lbGZfbW9kdWxlLmMsIGRsbHMvZGJnaGVscC9pbWFnZS5jLAorCSAgZGxscy9kYmdoZWxwL21lbW9yeS5jLCBkbGxzL2RiZ2hlbHAvbWluaWR1bXAuYywKKwkgIGRsbHMvZGJnaGVscC9tb2R1bGUuYywgZGxscy9kYmdoZWxwL21zYy5jLCBkbGxzL2RiZ2hlbHAvcGF0aC5jLAorCSAgZGxscy9kYmdoZWxwL3BlX21vZHVsZS5jLCBkbGxzL2RiZ2hlbHAvc291cmNlLmMsCisJICBkbGxzL2RiZ2hlbHAvc3RhYnMuYywgZGxscy9kYmdoZWxwL3N0YWNrLmMsIGRsbHMvZGJnaGVscC9zdG9yYWdlLmMsCisJICBkbGxzL2RiZ2hlbHAvc3ltYm9sLmMsIGRsbHMvZGJnaGVscC90eXBlLmMsIGluY2x1ZGUvTWFrZWZpbGUuaW4sCisJICBpbmNsdWRlL2N2Y29uc3QuaCwgaW5jbHVkZS9kYmdoZWxwLmg6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJRmlyc3Qgc2hvdCBhdCBpbXBsZW1lbnRpbmcgZGJnaGVscC4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfQ24ucmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0RlLnJjLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfRW4ucmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0VzLnJjLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfRnIucmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0l0LnJjLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfSmEucmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX1B0LnJjLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfU2kucmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX1NrLnJjLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfWmgucmM6CisJTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlBZGQgcmVzb3VyY2Ugc3RyaW5ncyBmb3IgY29udHJvbCBwYW5lbCBmb2xkZXIuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGxleGVjLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJT3B0aW1pemF0aW9uOiBudWxsIHRlcm1pbmF0ZSBzdHJpbmcgYnVmZmVycyBpbnN0ZWFkIG9mIGZpbGxpbmcgdGhlbQorCWNvbXBsZXRlbHkgd2l0aCAwLgorCisJKiBkbGxzL3NoZWxsMzIvZm9sZGVycy5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUdldCBpY29ucyBmb3Igc2hlbGwgbGluayBmaWxlcy4KKworCSogZGxscy9udGRsbC9wYXRoLmMsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlGaXhlZCBSdGxEb3NQYXRoTmFtZVRvTnRQYXRoTmFtZV9VIHByb3RvdHlwZS4KKworCSogZGxscy93aW5tbS9tY2lhdmkvbW1vdXRwdXQuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUZhbGxiYWNrIHRvIGEgY29tcHJlc3Npb24gc2NoZW1lIHNwZWNpZmllZCBpbiB0aGUgc3RyZWFtIGZvcm1hdCBpbiB0aGUKKwljYXNlIEZPVVJDQyBoYW5kbGVyIGRvZXMgbm90IGV4aXN0IG9yIGZvcm1hdCBpcyBub3Qgc3VwcG9ydGVkLgorCisJKiBpbmNsdWRlL3dpbmNyeXB0Lmg6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlBZGQgYSBidW5jaCBvZiBtaXNzaW5nIGRlY2xhcmF0aW9ucy4KKworCSogaW5jbHVkZS93aW5udC5oOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJaWZkZWYgZ3VhcmQgVENIQVIgZGVjbGFyYXRpb24gbGlrZSBQU0RLIGRvZXMuCisKKwkqIGRsbHMvbmV0YXBpMzIvbmV0YXBpMzIuYywgZGxscy9uZXRhcGkzMi9uZXRhcGkzMi5zcGVjLAorCSAgZGxscy9uZXRhcGkzMi90ZXN0cy9hY2Nlc3MuYywgZGxscy9uZXRhcGkzMi90ZXN0cy93a3N0YS5jLAorCSAgZGxscy9uZXRhcGkzMi93a3N0YS5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwktIGZpeCBhIGNvdXBsZSB0ZXN0cyBhbmQgdHJhY2VzCisJLSBhZGQgYSBjb3VwbGUgc3R1YnMgcmVxdWlyZWQgYnkgbmF0aXZlIG50bGFubWFuLmRsbAorCisJKiBkbGxzL3gxMWRydi9jbGlwYm9hcmQuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCURvIG5vdCBjcmFzaCBpZiB0aGUgY2xpcGJvYXJkIGZvcm1hdCBpcyB1bmtub3duLgorCisJKiBkbGxzL3F1YXJ0ei9maWx0ZXJncmFwaC5jOiBNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmNvbT4KKwlGaXggY3V0J24ncGFzdGUgZXJyb3I6IGxlYXZlIHRoZSBDcml0aWNhbFNlY3Rpb24gbm90IGVudGVyIGl0IGFnYWluCisJKGZvdW5kIGJ5IHNtYXRjaCkuCisKKwkqIGRsbHMvd2lubW0vbWNpLmMsIGRsbHMvd2lubW0vbWVzc2FnZTE2LmMsIGRsbHMvd2lubW0vd2lubW1fcmVzLnJjLAorCSAgaW5jbHVkZS93aW5lL21tc3lzdGVtMTYuaDoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwktIGltcGxlbWVudGVkIE1DSV9TT1VORCBjb21tYW5kCisJLSBmaXhlZCBNQ0kgY29tbWFuZCB0YWJsZSBpbiByZXNvdXJjZQorCS0gYWRkZWQgYSBUT0RPIGxpc3Qgb24gTUNJIGhhbmRsaW5nCisKKwkqIGRsbHMva2VybmVsL2xvY2FsZS5jLCBkbGxzL2tlcm5lbC90ZXN0cy9sb2NhbGUuYzoKKwlMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCUFkZCBiZXR0ZXIgTlVMTCBjaGVja3MgdG8gbHN0cmNtcFtpXShBL1cpIGZ1bmN0aW9ucy4KKworCSogb2JqZWN0cy9yZWdpb24uYzogUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwlEb2N1bWVudGF0aW9uIGZvciBtb3N0IG9mIHRoZSByZWdpb24gZnVuY3Rpb25zLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJLSBmaXggZGlydHkgZmxhZyBvbiBzaGVsbGxpbmsgbG9hZGluZyBhbmQgc2F2aW5nCisJLSB1cGRhdGUgYWJzb2x1dGUgcGF0aCB3aGVuIGNoYW5naW5nIHJlbGF0aXZlIHBhdGgKKworCSogZGxscy91eHRoZW1lL3N5c3RlbS5jOiBLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlJbXBsZW1lbnRlZCBFbnVtVGhlbWVzLgorCisyMDA0LTA0LTAzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9maWxlLmMsIGRsbHMva2VybmVsL3Rlc3RzL2ZpbGUuYywgZGxscy9rZXJuZWwvdm9sdW1lLmMsCisJICBmaWxlcy9maWxlLmM6CisJUmVpbXBsZW1lbnRlZCBEZWxldGVGaWxlIGJ5IHVzaW5nIENyZWF0ZUZpbGUgd2l0aAorCUZJTEVfRkxBR19ERUxFVEVfT05fQ0xPU0UuIEFkZGVkL2ZpeGVkIGEgZmV3IHRlc3RzLgorCisyMDA0LTA0LTAyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC92b2x1bWUuYywgZGxscy9rZXJuZWwvdnhkLmMsIGRvY3VtZW50YXRpb24vd2luZS5jb25mLm1hbiwKKwkgIGZpbGVzL2RyaXZlLmMsIGZpbGVzL2ZpbGUuYywgaW5jbHVkZS9maWxlLmgsIG1pc2MvcmVnaXN0cnkuYzoKKwlSZW1vdmVkIHRoZSBGYWlsUmVhZE9ubHkgb3B0aW9uLCB0aGlzIGlzIG5vdyB0aGUgZGVmYXVsdCBiZWhhdmlvci4KKworCSogaW5jbHVkZS9tc3ZjcnQvbGltaXRzLmg6CisJRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJRGVmaW5lIGFsbCBtYWNyb3MgZGVzY3JpYmVkIG9uIE1TRE4uCisKKwkqIGRsbHMvY29tbWRsZy9jZGxnX0VuLnJjOiBSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCVNlcGFyYXRlIFVTIEVuZ2xpc2ggcmVzb3VyY2VzIGZyb20gRW5nbGlzaCBvbmVzLgorCisJKiBkbGxzL2QzZDgvZDNkY29yZV9nbC5oOiBSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlGaXggdGhlIEdMX01BWF9WRVJURVhfVU5JVFNfQVJCIHVuZGVjbGFyZWQgY29tcGlsYXRpb24gZXJyb3IuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jOiBBIGNvdXBsZSBvZiBvcHRpbWl6YXRpb25zIGFuZCBidWcgZml4ZXMuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgbmV3IHRlc3RzIGZvciB2YXJpb3VzIHdpbmRvdyBjcmVhdGlvbi9wb3NpdGlvbmluZyBiZWhhdmlvdXJzLgorCisJKiBkbGxzL3gxMWRydi93aW5wb3MuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgU1dQX05PWk9SREVSIGluIHRoZSBjYXNlIGl0J3Mgbm90IG5lZWRlZC4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQSBkZWNpc2lvbiB3aGV0aGVyIGFkZCBTV1BfTk9BQ1RJVkFURSBvciBub3Qgc2hvdWxkIGJlIGJhc2VkIG9uCisJR2V0QWN0aXZlV2luZG93KCkgdGVzdC4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJU2hvd1dpbmRvdyBzaG91bGQgbm90IG9wdGltaXplIFNXX0hJREUsIGl0J3MgdGhlIGpvYiBvZiBTZXRXaW5kb3dQb3MuCisKKwkqIGRsbHMveDExZHJ2L3dpbnBvcy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVNlbmRpbmcgV01fU0hPV1dJTkRPVyBpcyBhIGpvYiBvZiBTZXRXaW5kb3dQb3MuCisKKwkqIGRsbHMveDExZHJ2L3dpbmRvdy5jLCB3aW5kb3dzL3dpbi5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJU2V0dGluZyBXU19WSVNJQkxFIHN0eWxlIGRvZXMgbm90IHJlcXVpcmUgYW55IHNwZWNpYWwgaGFuZGxpbmcuCisKKwkqIHdpbmRvd3Mvd2luLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJV01fUEFSRU5UTk9USUZZIHNob3VsZCBub3QgYmUgc2VudCB0byBXU19QT1BVUCB3aW5kb3dzLgorCisJKiBzZXJ2ZXIvZmQuYywgc2VydmVyL2ZpbGUuYywgc2VydmVyL2ZpbGUuaDoKKwlNb3ZlZCBGSUxFX0RFTEVURV9PTl9DTE9TRSBzdXBwb3J0IHRvIHRoZSBpbm9kZSBvYmplY3Qgc28gdGhhdCB3ZQorCXJlYWxseSB3YWl0IGZvciB0aGUgbGFzdCBjbG9zZS4KKwlBZGRlZCBGSUxFX1NIQVJFX0RFTEVURSBzdXBwb3J0LgorCisJKiBpbmNsdWRlL3dpbmUvdW5pY29kZS5oLCBsaWJzL3VuaWNvZGUvc3RyaW5nLmMsCisJICBsaWJzL3VuaWNvZGUvd2luZV91bmljb2RlLmRlZiwgbGlicy91bmljb2RlL3dpbmVfdW5pY29kZS5tYXA6CisJQWRkZWQgbWVtaWNtcFcuCisKKwkqIGRsbHMva2VybmVsL3Byb2ZpbGUuYzoKKwlEb24ndCB0cnkgdG8gZ2V0IHRoZSBmaWxlIHRpbWUgaWYgdGhlIGZpbGUgd2Fzbid0IGZvdW5kLgorCisJKiBjb250cm9scy9tZW51LmM6IEJvYmJ5IEJpbmdoYW0gPGJpbmdoYW0uMjFAb3N1LmVkdT4KKwlGaXggdHJhY2tpbmcgdGhlIGN1cnJlbnRseSBoaWdobGlnaHRlZCBpdGVtIGluIG1lbnVzIHdoZW4gdGhlIG1vdXNlCisJYnV0dG9uIGlzIG5vdCBoZWxkIGRvd24uCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJRml4IGluY29ycmVjdCBjYWxjdWxhdGlvbiBvZiBsZWFwIHllYXIgaW4gUnRsVGltZUZpZWxkc1RvVGltZSgpLgorCisJKiBkbGxzL2tlcm5lbC9jb25zb2xlLmMsIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJR2V0Q29uc29sZUluZm8oKSBwc2V1ZG8gc3R1Yi4KKworCSogZGxscy9uZXRhcGkzMi9uZXRhcGkzMi5jLCBkbGxzL25ldGFwaTMyL25ldGFwaTMyLnNwZWM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJTmV0U2VydmVyR2V0SW5mbygpIHBzZXVkbyBzdHViLgorCisJKiBkbGxzL2dkaS9wYWludGluZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGJ1ZyBpbiBHZGlHcmFkaWVudEZpbGwuCisKKwkqIGRsbHMvZG1zY3JpcHQvc2NyaXB0LmM6IFJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCUluaXRpYWxpemUgY29ycmVjdGx5IHRoZSBETVVTX09CSkVDVERFU0MgbG9jYWwgc3RydWN0dXJlLgorCisyMDA0LTA0LTAxICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBjb250cm9scy9lZGl0LmMsIGNvbnRyb2xzL21lbnUuYywgY29udHJvbHMvdWl0b29scy5jLAorCSAgZGxscy91c2VyL3VzZXJfbWFpbi5jLCBkb2N1bWVudGF0aW9uL1BBQ0tBR0lORywKKwkgIGRvY3VtZW50YXRpb24vY29uZmlndXJpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZywKKwkgIGRvY3VtZW50YXRpb24vd2luZS5jb25mLm1hbiwgaW5jbHVkZS91c2VyLmgsIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL0VzLnJjLCBwcm9ncmFtcy93aW5lY2ZnL1B0LnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9SdS5yYywgcHJvZ3JhbXMvd2luZWNmZy9TaS5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvYXBwZGVmYXVsdHMuYywgcHJvZ3JhbXMvd2luZWNmZy9wcm9wZXJ0aWVzLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL3Byb3BlcnRpZXMuaCwgcHJvZ3JhbXMvd2luZWNmZy9yZXNvdXJjZS5oLAorCSAgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW1vdmUgdGhlIHJlc3Qgb2YgdGhlIFR3ZWFrIGxvb2sgaGFjay4KKworCSogZGxscy9udGRsbC9zeW5jLmM6IFJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCU50UHVsc2VFdmVudDogRG9uJ3QgcHJpbnQgRklYTUUgZm9yIGFuIG9wdGlvbmFsIHBhcmFtZXRlciBpZiBpdCBpc24ndAorCXVzZWQuCisKKwkqIGluY2x1ZGUvc2hlbGxhcGkuaDogUm9sZiBLYWxiZXJtYXR0ZXIgPHJvbGYua2FsYmVybWF0dGVyQGNpdGVuZy5jb20+CisJQWRkIHNvbWUgZGVjbGFyYXRpb25zIGZvciBhZGRpdGlvbmFsIFNIRmlsZU9wZXJhdGlvbiBmZWF0dXJlcy4KKworCSogZGxscy9zaGVsbDMyL3NobGV4ZWMuYzoKKwlSb2xmIEthbGJlcm1hdHRlciA8cm9sZi5rYWxiZXJtYXR0ZXJAY2l0ZW5nLmNvbT4KKwlVc2UgbmFtZWQgY29uc3RhbnQgaW5zdGVhZCBvZiBhIHNpbXBsZSBudW1iZXIgKGdldHMgcmlkIG9mIHNpZ25lZAorCXdhcm5pbmcgdG9vKS4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBGaXggTEJ1dHRvbkRvd24gZnJvbSBwcmV2aW91cyBjaGFuZ2UuCisJLSBEb24ndCB1c2UgQkZfQURKVVNUIGZsYWcgZm9yIGRyb3Bkb3duIGJ1dHRvbnMuCisJLSBGaXggTEJ1dHRvbkRibENsay4KKworCSogZGxscy9jb21jdGwzMi90b29sdGlwcy5jOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBUVE1fVFJBQ0tBQ1RJVkFURSBjYW4gaGF2ZSBOVUxMIGxQYXJhbSB3aGVuIGRlYWN0aXZhdGluZy4KKwktIEZhY3RvciBvdXQgY29tbW9uIGNvZGUgZnJvbSBUT09MVElQU19EZWxUb29se0EsV30uCisJLSBVcGRhdGUgYWxsIGluZGljZXMgY29ycmVjdGx5IGFmdGVyIGRlbGV0ZS4KKworCSogdG9vbHMvLmN2c2lnbm9yZSwgdG9vbHMvTWFrZWZpbGUuaW4sIHRvb2xzL3dpbmVwcmVmaXhjcmVhdGUuaW46CisJQmVnaW5uaW5ncyBvZiBhIHNjcmlwdCB0byBpbml0aWFsaXplIHRoZSAud2luZSBkaXJlY3RvcnkgKHdpdGggaGVscAorCWZyb20gQ2hyaXMgTW9yZ2FuKS4KKworCSogY29udHJvbHMvYnV0dG9uLmMsIGNvbnRyb2xzL2NvbWJvLmMsIGNvbnRyb2xzL2VkaXQuYywKKwkgIGNvbnRyb2xzL2xpc3Rib3guYywgY29udHJvbHMvbWVudS5jLCBjb250cm9scy9zY3JvbGwuYywKKwkgIGNvbnRyb2xzL3N0YXRpYy5jLCBkbGxzL3VzZXIvdXNlcl9tYWluLmMsCisJICBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnLCBpbmNsdWRlL25vbmNsaWVudC5oLCBpbmNsdWRlL3VzZXIuaCwKKwkgIHdpbmRvd3MvZGVmd25kLmMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3MvbXNnYm94LmMsCisJICB3aW5kb3dzL25vbmNsaWVudC5jLCB3aW5kb3dzL3N5c2NvbG9yLmMsIHdpbmRvd3Mvc3lzbWV0cmljcy5jLAorCSAgd2luZG93cy9zeXNwYXJhbXMuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSB0aGUgc3VwcG9ydCBmb3IgdGhlIFdpbiAzLjEgTG9vay4KKworCSogZGxscy9pbW0zMi9pbW0zMi5zcGVjLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLAorCSAgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL3VzZXIvbWlzYy5jLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJQWRkZWQgc29tZSBzdHVicy4KKworCSogZGxscy9udGRsbC9wYXRoLmM6CisJTWFrZSBSdGxHZXRGdWxsUGF0aE5hbWVfVSBoYW5kbGUgVW5peCBwYXRocywgdXNpbmcgdGhlIG5ldyBzeW1saW5rcworCXNjaGVtZS4KKworCSogZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jOiBLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlBZGRlZCBzdXBwb3J0IGZvciBDU0lETF9SRVNPVVJDRVMgcGF0aC4KKworMjAwNC0wMy0zMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jYXJkcy8uY3ZzaWdub3JlLCBkbGxzL2NhcmRzL01ha2VmaWxlLmluOgorCWpyLmJtcCBpc24ndCBnZW5lcmF0ZWQuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmM6IEZpeGVkIGxlbmd0aCBoYW5kbGluZyBpbiBIdHRwUXVlcnlJbmZvVy4KKworCSogdG9vbHMvYzJtYW4ucGw6IFBhdWwgVnJpZW5zIDxwdnJpZW5zQHhzNGFsbC5ubD4KKwlBZGRlZCBtaXNzaW5nIGNvbW1hIGluIGluZGV4Lmh0bWwuCisKKwkqIGRsbHMvb3BlbmdsMzIvLmN2c2lnbm9yZSwgZGxscy9vcGVuZ2wzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvb3BlbmdsMzIvdmVyc2lvbi5yYzoKKwlUb20gV2lja2xpbmUgPHR3aWNrbGluZUBza3liZXN0LmNvbT4KKwlTZXQgdmVyc2lvbiB0byBXaW4gWFAgU2VydmljZSBwYXRjaCAyLgorCisJKiBkbGxzL2QzZDgvdXRpbHMuYywgZGxscy9vbGVhdXQzMi9zYWZlYXJyYXkuYywgZG9jdW1lbnRhdGlvbi9mYXEuc2dtbDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBc3NvcnRlZCBzcGVsbGluZyBhbmQgY2FzZSBmaXhlcy4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jOgorCUZlbGl4IE5hd290aG5pZyA8ZmVsaXgubmF3b3RobmlnQHQtb25saW5lLmRlPgorCURvbid0IGZyZWUgQUxTQSBkZXZpY2Ugc3RyaW5nIHdoZW4gdGhlIGRldmljZSBpcyBjbG9zZWQgc2luY2UgaXQgbWlnaHQKKwliZSByZW9wZW5lZC4KKworCSogaW5jbHVkZS93aW5zb2NrLmgsIGluY2x1ZGUvd3MydGNwaXAuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlNYWtlIHN1cmUgaXBfbXJlcSBpcyBub3QgZXhwb3J0ZWQgYnkgd2luc29jazIuaC4KKwlBZGQgaXBfbXJlcSwgaXBfbXJlcV9zb3VyY2UgYW5kIGlwX21zZmlsdGVyIHRvIHdzMnRjcGlwLmguCisKKwkqIGRsbHMvZ2RpL3BhaW50aW5nLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlPcHRpbWl6ZSBHZGlHcmFkaWVudEZpbGwgYnkgZHJhd2luZyBsaW5lcyBpbnN0ZWFkIG9mIHBpeGVscy4KKworCSogZGxscy91cmxtb24vdW1vbi5jOiBLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlJbXBsZW1lbnRlZCBJc0VxdWFsLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlNb3JlIGR1cGxleCBtb2RlIHNvdW5kY2FyZCBpbmZvLgorCisJKiBkbGxzL21hcGkzMi9tYXBpMzIuc3BlYywgZGxscy9zaGVsbDMyL3NoZWxsMzIuc3BlYywKKwkgIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYzoKKwlEbyBub3Qgc3RyaXAgc3RkY2FsbCBkZWNvcmF0aW9uIGluIHNwZWMgZmlsZXMuCisJRml4ZWQgbWFwaTMyIG9yZGluYWxzLgorCisJKiB0b29scy93aW5lZ2NjL3dpbmVnY2MuYzoKKwlGaXhlZCBoYW5kbGluZyBvZiAuc28gYW5kIC5hIGxpYnJhcmllcyBzcGVjaWZpZWQgYXMgaW5wdXQgZmlsZXMuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L21haW4uYzogRmVyZW5jIFdhZ25lciA8d2ZlcmlAYWZhdmFudC5lbHRlLmh1PgorCUdpdmUgU2V0RXJyb3JNb2RlIHRoZSByaWdodCBhcmd1bWVudCB0byBzdXBwcmVzcyBjcmFzaCBkaWFsb2dzLgorCisJKiB0b29scy9idWdfcmVwb3J0LnBsOiBJdmFuIExlbyBNdXJyYXktU21pdGggPHB1b3RpQGlud2luZC5pdD4KKwlTbWFsbCBmaXguCisKKzIwMDQtMDMtMzAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL3ZvbHVtZS5jLCBmaWxlcy9kcml2ZS5jOgorCUdldCB0aGUgZHJpdmUgcm9vdCBkaXJlY3RvcmllcyBmcm9tIHRoZSBzeW1saW5rcyBpbiBkb3NkZXZpY2VzLyBpZgorCXRoZXkgZXhpc3QuCisJQWRkZWQgY3JlYXRpb24gb2YgZHJpdmUgc3ltbGlua3MgaW4gdGhlIGRldmljZSB0cmFuc2l0aW9uIGNvZGUuCisKKwkqIGRsbHMva2VybmVsL3ZvbHVtZS5jOgorCUFkZGVkIHN1cHBvcnQgZm9yIERPUyBkcml2ZXMgaW4gUXVlcnlEb3NEZXZpY2UgYW5kIERlZmluZURvc0RldmljZS4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9yZXNvdXJjZS5yYzogSXZhbiBMZW8gTXVycmF5LVNtaXRoIDxwdW90aUBpbndpbmQuaXQ+CisJRml4ZWQgc29tZSB2YWx1ZXMuCisKKwkqIGRsbHMvd2luZWRvcy9pbnQxNi5jLCBkbGxzL3dpbmVkb3MvaW50MTcuYzoKKwlGbG9yaWFuIEdvdGggPENhcHRhaW5zaWZmZkBnbXguZGU+CisJQWRkZWQgc29tZSBzdHVicy4KKworCSogZGxscy9tc2kvTWFrZWZpbGUuaW4sIGRsbHMvbXNpL21zaS5jLCBkbGxzL21zaS9tc2kuc3BlYywKKwkgIGRsbHMvbXNpL21zaXByaXYuaCwgZGxscy9tc2kvcmVnc3ZyLmMsIHRvb2xzL3dpbmUuaW5mOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCUltcGxlbWVudCBEbGxHZXRDbGFzc09iamVjdCwgRGxsUmVnaXN0ZXJTZXJ2ZXIsIERsbFVucmVnaXN0ZXJTZXJ2ZXIKKwkoYXMgdGhlIGludGVyZmFjZXMgYXJlbid0IGRvY3VtZW50ZWQgd2Ugb25seSBoYXZlIHN0dWJzKS4KKworCSogZGxscy94MTFkcnYvZGliLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJV2UgZG9uJ3Qgc3VwcG9ydCBHZXRESUJpdHMgd2l0aCBCSV9STEU0LzgsIHNvIGZvciBub3cgcmV0dXJuIGFuCisJdW5jb21wcmVzc2VkIGJpdG1hcCBpZiB0aGUgYml0cyBidWZmZXIgaXMgbGFyZ2UgZW5vdWdoLgorCisJKiBvYmplY3RzL2RpYi5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVNlbGVjdCB0aGUgZGlic2VjdGlvbiBpbnRvIGEgZGMgYmVmb3JlIGNhbGxpbmcgR2V0RElCQ29sb3JUYWJsZS4KKworCSogZGxscy9rZXJuZWwvbG9jYWxlLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIENQOTMyLCBDUDkzNiwgQ1A5NDkgYW5kIENQOTUwIHRvIHRoZSBjaGFyc2V0IG1hcC4KKworCSogZGxscy93aW5pbmV0L2Nvb2tpZS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVW5pY29kaWZ5IHRoZSBjb29raWUgaGFuZGxpbmcgY29kZS4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCB0aGUgSHR0cFF1ZXJ5SW5mb0EgZnVuY3Rpb24gYnVmZmVyIHNpemUuCisKKwkqIGRsbHMva2VybmVsL25lX21vZHVsZS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGJ1aWx0aW4gTkUgbW9kdWxlIHJlZmNvdW50aW5nIG9mIDMyYml0IHBhcmVudC4KKworCSogZGxscy9kM2Q4L2QzZGNvcmVfZ2wuaCwgZGxscy9kM2Q4L2RldmljZS5jLCBkbGxzL2QzZDgvZGlyZWN0eC5jLAorCSAgZGxscy9kM2Q4L3V0aWxzLmM6CisJUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJLSBtb3JlIEV4dGVuc2lvbnMgd29yayAoYmVnaW4gdG8gZGV0ZWN0IEFUSSBleHRlbnNpb25zKQorCS0gdHJ5IHRvIGZpeCBEM0RUQUREUkVTU19CT1JERVIsIEQzRFRBRERSRVNTX01JUlJPUiwKKwkgIEQzRFRBRERSRVNTX01JUlJPUk9OQ0UgdXNpbmcgT3BlbkdMIGV4dGVuc2lvbnMKKwktIGJldHRlciBzZXRfdGV4X29wOiBub3cgdXNlIFJ1bnRpbWUgRXh0ZW5zaW9uIHN1cHBvcnQgKGFuZCBub3QKKwkgIGNvbXBpbGUgc3VwcG9ydCkKKworCSogZGxscy9vbGUzMi9vbGUyLmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJUmVnaXN0ZXJEcmFnRHJvcDogZmFpbCBvbiBOVUxMIGRyb3AgdGFyZ2V0LgorCisJKiBsb2FkZXIvcHRocmVhZC5jOgorCUZpeGVkIHJvdW5kaW5nIGJ1ZyBpbiB0aGUgc3RhY2sgaW5mbyBjYWxjdWxhdGlvbiB3aGVuIHdlIGRvbid0IGhhdmUKKwlwdGhyZWFkX2dldGF0dHJfbnAuCisKKwkqIGRsbHMvd2luaW5ldC9jb29raWUuYywgZGxscy93aW5pbmV0L2RpYWxvZ3MuYywgZGxscy93aW5pbmV0L2Z0cC5jLAorCSAgZGxscy93aW5pbmV0L2h0dHAuYywgZGxscy93aW5pbmV0L2ludGVybmV0LmMsCisJICBkbGxzL3dpbmluZXQvaW50ZXJuZXQuaCwgZGxscy93aW5pbmV0L25ldGNvbm5lY3Rpb24uYywKKwkgIGRsbHMvd2luaW5ldC91dGlsaXR5LmMsIGRsbHMvd2luaW5ldC93aW5pbmV0LnNwZWMsIGluY2x1ZGUvd2luaW5ldC5oOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb252ZXJ0IHRoZSB3aW5pbmV0IEhUVFAgZnVuY3Rpb25zIHRvIFVuaWNvZGUuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcveDExZHJ2ZGxnLmM6IENocmlzIE1vcmdhbiA8Y21vcmdhbkBhbHVtLndwaS5lZHU+CisJSW52YWxpZCAiRGVza3RvcCIgdmFsdWVzIHdvdWxkIGNyYXNoIHdpbmVjZmcsIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZQorCWluc3RlYWQuCisKKwkqIGRsbHMvY29tbWRsZy9jZGxnX1B0LnJjOiBNYXJjZWxvIER1YXJ0ZSA8d2luZS1kZXZlbEBib2wuY29tLmJyPgorCU1pbm9yIHVwZGF0ZXMgaW4gcmVzb3VyY2UgZm9yIFBvcnR1Z3Vlc2UuCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvcmVzb3VyY2UucmM6IEl2YW4gTGVvIE11cnJheS1TbWl0aCA8cHVvdGlAaW53aW5kLml0PgorCUltcHJvdmVkIHZlcnNpb24gcmVzb3VyY2UgaW5mby4KKworCSogaW5jbHVkZS93aW5lL3dpbmVfY29tbW9uX3Zlci5yYzoKKwlJdmFuIExlbyBNdXJyYXktU21pdGggPHB1b3RpQGlud2luZC5pdD4KKwlJbiByZXNvdXJjZSBpbmZvIGFsbG93IE9yaWdpbmFsRmlsZW5hbWUgYW5kIEludGVybmFsTmFtZSB0byBiZQorCWRpZmZlcmVudC4KKworCSogcHJvZ3JhbXMvd2luZXRlc3QvbWFpbi5jLCBwcm9ncmFtcy93aW5ldGVzdC91dGlsLmM6CisJRmVyZW5jIFdhZ25lciA8d2ZlcmlAYWZhdmFudC5lbHRlLmh1PgorCURvbid0IGV4cGVjdCBzdGRvdXQgYmUgdXNhYmxlIGFmdGVyIGV4Y2hhbmdpbmcgZmlsZSBkZXNjcmlwdG9ycyB1bmRlcgorCWl0LgorCisyMDA0LTAzLTI5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkb2N1bWVudGF0aW9uL2J1Z3Muc2dtbCwgZG9jdW1lbnRhdGlvbi9jb25maWd1cmluZy5zZ21sOgorCUNocmlzIE1vcmdhbiA8Y21vcmdhbkBhbHVtLndwaS5lZHU+CisJUmVtb3ZlIHJlZmVyZW5jZXMgdG8gd2luZWNoZWNrIGZyb20gdGhlIGRvY3VtZW50YXRpb24gYW5kIGluc2VydCBhCisJVE9ETyB0aGF0ICBtZW50aW9ucyB0aGF0IHRoZSBmdW5jdGlvbmFsaXR5IGlzIHRvIGJlIG1vdmVkIGludG8KKwl3aW5lY2ZnLgorCisJKiBwcm9ncmFtcy9wcm9nbWFuL3JzcmMucmM6IEl2YW4gTGVvIE11cnJheS1TbWl0aCA8cHVvdGlAaW53aW5kLml0PgorCUVuYWJsZSBJdGFsaWFuIHRyYW5zbGF0aW9ucy4KKworCSogcHJvZ3JhbXMvcHJvZ21hbi9JdC5yYzogRml4ZWQgbGFuZ3VhZ2UgZGVjbGFyYXRpb25zLgorCisJKiBkbGxzL2tlcm5lbC92ZXJzaW9uLnJjOiBJdmFuIExlbyBNdXJyYXktU21pdGggPHB1b3RpQGlud2luZC5pdD4KKwlXSU5FX0ZJTEVERVNDUklQVElPTl9TVFIgaXMgYWxyZWFkeSBkZWZpbmVkIGluIHdpbmVfY29tbW9uX3Zlci5yYy4KKworCSogZGxscy9vbGVhY2MvbWFpbi5jLCBkbGxzL29sZWFjYy9vbGVhY2Muc3BlYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIExyZXN1bHRGcm9tT2JqZWN0IGFuZAorCUFjY2Vzc2libGVPYmplY3RGcm9tV2luZG93LgorCisJKiBkbGxzL2dkaS9lbmhtZmRydi9ncmFwaGljcy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJV3JpdGUgRU1SUE9MWUxJTkUxNiBpZiBwb2ludHMgZml0IGludG8gYSBTSE9SVC4KKworCSogaW5jbHVkZS93aW5lL3dpbmdkaTE2LmgsIGluY2x1ZGUvd2luZ2RpLmgsIG9iamVjdHMvZW5obWV0YWZpbGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTW92ZSBFTVIqMTYgZGVmaW5pdGlvbnMgdG8gd2luZ2RpLmgsIGFzIHRoZXkncmUgcGFydCBvZiB0aGUgV0lOMzIgQVBJLgorCisJKiBkbGxzL3gxMWRydi9rZXlib2FyZC5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUZpeCBTbG92ZW5pYW4ga2V5Ym9hcmQgbGF5b3V0IHRvIGJldHRlciBtYXRjaCB0aGUgWEZyZWU4NiBvbmUuCisKKwkqIGNvbnRyb2xzL3Njcm9sbC5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVNjcm9sbGJhciBzaG91bGQgYWxzbyByZWFjdCBvbiBXTV9MQlVUVE9OREJMQ0xLLgorCisJKiBkbGxzL2tlcm5lbC9sb2NhbGUuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgVHJhZGl0aW9uYWwgQ2hpbmVzZSBCaWc1IGFuZCBTaW1wbGlmaWVkIENoaW5lc2UgR0JLIG1hcHBpbmdzLgorCisJKiBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvLmM6IFN5bHZhaW4gUGV0cmVvbGxlIDxzcGV0cmVvbGxlQHlhaG9vLmZyPgorCUZpeGVkIGVycm9yIHJlcG9ydGluZy4KKworCSogZGxscy93aW5ubHMvd2lubmxzLmMsIGRsbHMvd2lubmxzL3dpbm5sczMyLnNwZWM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZGVkIHN0dWIgZm9yIFdJTk5MUzMyRW5hYmxlSU1FLgorCisJKiBjb250cm9scy9lZGl0LmMsIHRvb2xzL3dpbmVjaGVjazogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlBZGQgc29tZSBUUkFDRWluZyB0byB0aGUgZWRpdCBjb250cm9sLgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYzogV2FycmVuIFR1cmthbCA8d3RAbWlkc291dGgucnIuY29tPgorCUZpeGVkIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBDb1RyZWF0QXNDbGFzcy4KKworCSogZGxscy91cmxtb24vdW1vbi5jLCBpbmNsdWRlL3VybG1vbi5oLCBpbmNsdWRlL3VybG1vbi5pZGw6CisJS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJSW1wbGVtZW50IGxvYWRpbmcgYW5kIHNhdmluZyB0byBhIHN0cmVhbSwgYW5kIGEgZmV3IG90aGVyIGJhc2ljCisJZnVuY3Rpb25zLgorCisJKiBvYmplY3RzL2RpYi5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUhvbm91ciBESUJfUEFMX0NPTE9SUyB3aGVuIHRoZSBiaXRtYXAgZGVwdGhzIG1hdGNoLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlQcmludCBvdXQgc291bmQgY2FyZCBpbmZvIGZvciBwbGF5YmFjaywgY2FwdHVyZSBhbmQgZHVwbGV4IG1vZGVzLgorCUhhcmR3YXJlIGNhcGFiaWxpdGllcyBjYW4gdmFyeSBkZXBlbmRpbmcgb24gdXNhZ2UgbW9kZS4KKwlQcmludCBvdXQgZm9ybWF0IHJlcXVlc3RlZCBhbmQgYWN0dWFsIGZvcm1hdCByZXR1cm5lZC4KKworCSogZGxscy9nZGkvZ2RpX3ByaXZhdGUuaCwgZGxscy9nZGkvbWZkcnYvaW5pdC5jLCBvYmplY3RzL21ldGFmaWxlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVVuaWNvZGlmeSBDcmVhdGVNZXRhRmlsZS4KKworCSogZGxscy9rZXJuZWwvc3luYy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIENyZWF0ZUV2ZW50VyBpbiBwcmVmZXJlbmNlIHRvIENyZWF0ZUV2ZW50QS4KKworCSogZGxscy9jYXJkcy8uY3ZzaWdub3JlLCBkbGxzL2NhcmRzL01ha2VmaWxlLmluLCBkbGxzL2NhcmRzL2NhcmRzLmMsCisJICBkbGxzL2NhcmRzL2NhcmRzLmgsIGRsbHMvY2FyZHMvY2FyZHMucmM6CisJU2FtaSBOb3BhbmVuIDx4YXNteEBvcHRvbmxpbmUubmV0PgorCUltcGxlbWVudGVkIGludmlzaWJsZWdob3N0LCBkZWNreCBhbmQgZGVja28gZHJhd2luZyBtb2RlcywgYW5kCisJaW1wcm92ZWQgZ2hvc3QgZHJhd2luZyBtb2RlLgorCisyMDA0LTAzLTI3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9maWxlLmMsIHNlcnZlci9mZC5jLCBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvZmlsZS5oOgorCUNoZWNrIGZpbGUgc2hhcmluZyBwZXJtaXNzaW9ucyBiYXNlZCBvbiB0aGUgZmlsZSBpbm9kZSBpbnN0ZWFkIG9mIHRoZQorCWZpbGUgbmFtZS4KKwlBZGRlZCByZWdyZXNzaW9uIHRlc3QgZm9yIHNoYXJpbmcgcGVybWlzc2lvbnMuCisKKwkqIGZpbGVzL2ZpbGUuYzoKKwlGaXhlZCBjb3B5L3Bhc3RlIGVycm9yIGluIHByZXZpb3VzIHBhdGNoIChzcG90dGVkIGJ5IERpbWl0cmllCisJTy4gUGF1bikuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIGZldyBtaXNzaW5nIF9fQVNNX05BTUUgbWFjcm9zLgorCisJKiBkbGxzL3dpbm1tL3Rlc3RzL3dhdmUuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlDbGVhbiB1cCB3aGl0ZSBzcGFjZXMuCisJRml4IHNwZWxsaW5nIGVycm9yLgorCUltcHJvdmUgY2FwdHVyZSBlcnJvciBtZXNzYWdlcy4KKwlGaXggZXJyb3IgcmVwb3J0aW5nIHdoZW4gY2FwdHVyaW5nIGZyb20gbm9uZXhpc3RlbnQgZGV2aWNlLgorCisJKiB0b29scy9idWdfcmVwb3J0LnBsOiBJdmFuIExlbyBNdXJyYXktU21pdGggPHB1b3RpQGlud2luZC5pdD4KKwlVc2UgV0lORURFQlVHIGluc3RlYWQgb2YgLS1kZWJ1Z21zZy4KKworCSogZGxscy9kM2Q4L2QzZGNvcmVfZ2wuaCwgZGxscy9kM2Q4L2RldmljZS5jOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gc3VwcG9ydCBvZiBEM0RUU1NfTUFYTUlQTEVWRUwKKwktIHN1cHBvcnQgb2YgRDNEVFNTX01JUE1BUExPREJJQVMgKHVzaW5nIEVYVF9URVhUVVJFX0xPRF9CSUFTIGV4dGVuc2lvbikKKwktIGNvcnJlY3Qgc3VwcG9ydCBvZiBEM0RUU1NfTUFYQU5JU09UUk9QWSBmb3IgRDNEVFNTX01BR0ZJTFRFUiBhbmQKKwkgIEQzRFRTU19NSU5GSUxURVIKKwktIGZpeGVzIGZvciBEM0RUU1NfTUFHRklMVEVSIGFuZCBEM0RUU1NfTUFHRklMVEVSCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXb3JrYXJvdW5kIGEgbXN2Y3J0LnJlYWxsb2MgYnVnIHVuZGVyIFdpbjl4IGJ5IHVzaW5nIFdpbjMyIEFQSXMgaW5zdGVhZC4KKwlUYWtlIGludG8gYWNjb3VudCB0aGF0IEhlYXBSZWFsbG9jIG1heSBtb3ZlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IGJsb2NrLgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUNhbGwgSVNoZWxsRXhlY3V0ZUhvb2sgaW50ZXJmYWNlIGZvciBTaGVsbEV4ZWN1dGUoKSBjYWxscyB3aXRoIElECisJbGlzdHMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvY29uZmlnLmguaW4sCisJICBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNlcnZlci9maWxlLmMsIHNlcnZlci9wcm90b2NvbC5kZWYsCisJICBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvdHJhY2UuYzoKKwlVc2UgZnV0aW1lcygpIGluc3RlYWQgb2YgdXRpbWUoKSB0byBpbXBsZW1lbnQgU2V0RmlsZVRpbWUsIHNvIHRoYXQgaXQKKwljYW4gYmUgZG9uZSBvbiB0aGUgY2xpZW50IHNpZGUuCisKKwkqIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy9zaGVsbDMyL2NvbnRyb2wuYywKKwkgIGRsbHMvc2hlbGwzMi9jcGFuZWwuaCwgZGxscy9zaGVsbDMyL2NwYW5lbGZvbGRlci5jLAorCSAgZGxscy9zaGVsbDMyL2VudW1pZGxpc3QuYywgZGxscy9zaGVsbDMyL2ZvbGRlcnMuYywKKwkgIGRsbHMvc2hlbGwzMi9waWRsLmMsIGRsbHMvc2hlbGwzMi9waWRsLmgsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmgsIGRsbHMvc2hlbGwzMi9zaGVsbG9sZS5jOgorCU1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJSW1wbGVtZW50YXRpb24gb2YgdGhlIGNvbnRyb2wgcGFuZWwgZm9sZGVyIGluIHNoZWxsIG5hbWVzcGFjZS4KKworCSogZGxscy93aW5tbS93aW5lYWxzYS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jOgorCU1pa2UgSGVhcm4gPG1oQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbGxvdyBjb25maWd1cmF0aW9uIG9mIG91dHB1dCBkZXZpY2VzIHRvIHVzZSBhbmQgY2hhbmdlIHN0YW5kYXJkCisJb3V0cHV0IHBsdWdpbiByZXF1ZXN0ZWQgdG8gImRlZmF1bHQiLgorCisJKiBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLCBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjOgorCVVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgRml4U2xhc2hlc0FuZENvbG9uVyBhbmQgYWRkIHN0dWIgZm9yIFNIR2V0QXBwQ29tcGF0RmxhZ3MuCisKKwkqIGRsbHMveDExZHJ2L3BhbGV0dGUuYzoKKwlBdm9pZCBjcmFzaCBpbiBYMTFEUlZfSXNTb2xpZENvbG9yIGZvciBUcnVlQ29sb3IgZGlzcGxheXMuCisKKwkqIGRsbHMveDExZHJ2L2RpYi5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUJ1aWxkIHRoZSBjb3JyZWN0IGNvbG91ciBtYXAgd2hlbiB0aGUgbW9kZSBpcyBESUJfUEFMX0NPTE9SUy4KKworCSogb2JqZWN0cy9kaWIuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaGVuIHVzaW5nIERJQl9QQUxfQ09MT1JTIHNlbGVjdCB0aGUgY3VycmVudCBwYWxldHRlIGludG8gdGhlIG1lbW9yeQorCWRjIHNvIHRoYXQgU2V0RElCaXRzIHdvcmtzIGNvcnJlY3RseS4KKworCSogZGxscy9kZHJhdy9tZXNhLmM6IEphbWVzIFBlcnJ5IDxqYW1lc3BAZXBjYy5lZC5hYy51az4KKwlGaXggaGFuZGxpbmcgb2YgRDNEQkxFTkRfQk9USCogYmxlbmQgbW9kZXMuCisKKzIwMDQtMDMtMjYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL2ZpbGUxNi5jOgorCUZpeGVkIEdldERyaXZlVHlwZTE2IHJldHVybiB2YWx1ZSBmb3Igbm9uLWV4aXN0ZW50IGRyaXZlcy4KKwlGaXhlZCBidWcgaW4gT3BlbkZpbGUxNiBpbnRyb2R1Y2VkIGJ5IHByZXZpb3VzIGNoYW5nZS4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLCBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsCisJICBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jOgorCU1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJLSBGaXggaGFuZGxpbmcgb2YgJTIsICUzLCAuLi4gYW5kIGxvd2VyIGNhc2UgZm9ybWF0IGNoYXJhY3RlcnMgaW4KKwkgIFNIRUxMX0FyZ2lmeVcoKS4KKwktIE1vdmUgIiVJIiBleHBhbnNpb24gZnJvbSBTaGVsbEV4ZWN1dGVFeCgpIGludG8gY29tbW9uIGZ1bmN0aW9uCisJICBTSEVMTF9BcmdpZnlXKCkuCisJLSBQYXNzIGJ1ZmZlciBsZW5ndGggdG8gU0hFTExfRmluZEV4ZWN1dGFibGUoKS4KKwktIEZJWE1FIGNvbW1lbnQgZm9yIGxlbiBwYXJhbWF0ZXIgaW4gU0hFTExfQXJnaWZ5VygpLgorCisJR2UgdmFuIEdlbGRvcnAgPGdlQGdzZS5ubD4KKwktIEFkZCBkb3VibGUgcXVvdGF0aW9uIG1hcmtzIHVubGVzcyB3ZSBhbHJlYWR5IGhhdmUgdGhlbSAoZS5nLjogIiUxIgorCSAgJSogZm9yIGV4ZWZpbGUpLgorCS0gUmVtb3ZlIHVubmVjZXNzYXJ5IGRvdWJsZSBxdW90YXRpb24gbWFya3MgYW5kIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgYSBwcm9jZWR1cmUgZm9yIGxvZ2dpbmcgV01fUEFSRU5UTk9USUZZIG1lc3NhZ2VzLgorCisJKiBkbGxzL2tlcm5lbC9maWxlMTYuYywgZGxscy9rZXJuZWwvcGF0aC5jLCBmaWxlcy9kaXJlY3RvcnkuYzoKKwlTdG9yZSB0aGUgd2luZG93cyBhbmQgc3lzdGVtIGRpcmVjdG9yaWVzIGFzIGxvbmcgcGF0aCBuYW1lcy4KKwlNb3ZlZCBHZXRUZW1wUGF0aCBhbmQgR2V0VGVtcERyaXZlIHRvIGRsbHMva2VybmVsLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmMsIHdpbmRvd3Mvd2luLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIERlc3Ryb3lXaW5kb3coKSBub3QgbWVzcyB3aXRoIGEgd2luZG93IGZvY3VzLCB0aGlzIHNob3VsZCBiZQorCXRha2VuIGNhcmUgb2YgYnkgU2hvd1dpbmRvdyhTV19ISURFKS4KKwlBZGQgYSB0ZXN0IGZvciBEZXN0cm95V2luZG93KCkgb24gYSBmb2N1c2VkIGNoaWxkLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkICdob29rJyBmbGFnIGZvciBtZXNzYWdlcy4gQWRkIGEgdGVzdCBmb3IgQ0JUIGhvb2sgbWVzc2FnZXMuCisKKzIwMDQtMDMtMjUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL2tlcm5lbF9wcml2YXRlLmgsIGRsbHMva2VybmVsL21vZHVsZS5jLAorCSAgZGxscy9rZXJuZWwvcGF0aC5jLCBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsIGZpbGVzL2RpcmVjdG9yeS5jLAorCSAgaW5jbHVkZS9maWxlLmg6CisJUmVpbXBsZW1lbnRlZCBTZWFyY2hQYXRoVyB1c2luZyBudGRsbCBmdW5jdGlvbnMuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlJbXBsZW1lbnRhdGlvbiBvZiBJUGVyc2lzdEZpbGU6OklzRGlydHkoKS4KKworCSogaW5jbHVkZS93aW5zb2NrLmg6IEZlbGl4IE5hd290aG5pZyA8ZmVsaXgubmF3b3RobmlnQHQtb25saW5lLmRlPgorCURlZmluZSBpcF9tcmVxLgorCisJKiBpbmNsdWRlL21zdmNydC9mbG9hdC5oOiBGZWxpeCBOYXdvdGhuaWcgPGZlbGl4Lm5hd290aG5pZ0B0LW9ubGluZS5kZT4KKwlEZWZpbmUgKEwpREJMXyogYW5kIEZMVF8qLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkICdvcHRpb25hbCcgZmxhZyBmb3IgbWVzc2FnZXMsIG1ha2UgdGhlIHRlc3QgcnVuIHVuZGVyIHdpbjJrLgorCisJKiBkbGxzL2tlcm5lbC9maWxlLmMsIGRsbHMva2VybmVsL2ZpbGUxNi5jLCBmaWxlcy9maWxlLmM6CisJU3BsaXQgT3BlbkZpbGUgaW1wbGVtZW50YXRpb24gaW4gc2VwYXJhdGUgMTYtIGFuZCAzMi1iaXQgdmVyc2lvbnMsIGFuZAorCWNoYW5nZWQgaXQgdG8gdXNlIGV4cG9ydGVkIEFQSXMgaW5zdGVhZCBvZiBpbnRlcm5hbCBmdW5jdGlvbnMgd2hlcmUKKwlwb3NzaWJsZS4KKworCSogZGxscy9rZXJuZWwvd293dGh1bmsuYzoKKwlDaGFuZ2VkIExvYWRMaWJyYXJ5RXgzMlcxNiB0byB1c2UgT3BlbkZpbGUxNiB0byBsb29rIGZvciB0aGUgZmlsZQorCWluc3RlYWQgb2YgRElSX1NlYXJjaFBhdGguCisKKwkqIGRsbHMvd2luaW5ldC9kaWFsb2dzLmMsIGRsbHMvd2luaW5ldC9mdHAuYywgZGxscy93aW5pbmV0L2h0dHAuYywKKwkgIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jLCBkbGxzL3dpbmluZXQvaW50ZXJuZXQuaCwKKwkgIGRsbHMvd2luaW5ldC91dGlsaXR5LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUNvbnZlcnQgV0lOSU5FVEFQUElORk9BIHN0cnVjdHVyZSB0byB1bmljb2RlLgorCisJKiBpbmNsdWRlL3dpbnVzZXIuaDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURlZmluZSBmbGFncyBmb3IgR2V0VXNlck9iamVjdEluZm9ybWF0aW9uLgorCisJKiBkbGxzL3dpbmVkb3MvaW50MTUuYzogRmxvcmlhbiBHb3RoIDxDYXB0YWluc2lmZmZAZ214LmRlPgorCUFkZGVkIHN0dWJzIGZvciBhIGZldyBmdW5jdGlvbnMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGluY2x1ZGUvY29uZmlnLmguaW46CisJUmVtb3ZlZCBjaGVjayBmb3IgLWxtLCB3aW5lZ2NjIHRha2VzIGNhcmUgb2YgdGhhdC4KKworCSogdG9vbHMvd2luZWJ1aWxkL2J1aWxkLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYywKKwkgIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYywKKwkgIHRvb2xzL3dpbmVidWlsZC91dGlscy5jLCB0b29scy93aW5lYnVpbGQvd2luZWJ1aWxkLm1hbi5pbiwKKwkgIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOgorCVJlcGxhY2VkIHRoZSAtLW1vZGUgd2luZWJ1aWxkIG9wdGlvbiBieSBhIC0tc3Vic3lzdGVtIG9wdGlvbiBmb3IKKwliZXR0ZXIgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBQRSBiaW51dGlscy4KKworCSogdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbjogVGFrZSBFWEVFWFQgaW50byBhY2NvdW50IGZvciBQRSBidWlsZHMuCisKKwkqIGRsbHMvbXN2Y3J0L3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvbXN2Y3J0L3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9tc3ZjcnQvdGVzdHMvdGltZS5jLCBkbGxzL21zdmNydC90aW1lLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUNvcnJlY3QgZXJyb3JzIHdpdGggbW92ZSB0byBrZXJuZWwgdGltZSBmdW5jdGlvbnMuCisJQWRkIHRlc3QgY2FzZS4KKworCSogaW5jbHVkZS9tc3ZjcnQvd2NoYXIuaDogRmVsaXggTmF3b3RobmlnIDxmZWxpeC5uYXdvdGhuaWdAdC1vbmxpbmUuZGU+CisJRGVmaW5lIHN0YXQgaW4gbXN2Y3J0L3djaGFyLmguCisKKzIwMDQtMDMtMjQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5ldGVzdC9ndWkucmMsCisJICBwcm9ncmFtcy93aW5ldGVzdC9tYWluLmMsIHByb2dyYW1zL3dpbmV0ZXN0L21ha2V0ZXN0LAorCSAgcHJvZ3JhbXMvd2luZXRlc3Qvc2VuZC5jOgorCUZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwktIEV4dHJhY3QgcmV2aXNpb24gaW5mbyBmcm9tIENWUy9FbnRyaWVzLgorCS0gI2luY2x1ZGUgIndpbmV0ZXN0LnJjIiBpbnRvIGd1aS5yYy4gIE1pbkdXIGNhbid0IGxpbmsgaW4KKwkgIG1vcmUgdGhhbiBvbmUgcmVzb3VyY2UgZmlsZXMuCisJLSBFbmxhcmdlIGNodW5rIHNpemUgb2YgbmV0d29yayB0cmFuc2Zlci4KKworCSogZGxscy9jYXJkcy9jYXJkcy5jLCBkbGxzL2NhcmRzL2NhcmRzLmg6CisJU2FtaSBOb3BhbmVuIDx4YXNteEBvcHRvbmxpbmUubmV0PgorCUltcGxlbWVudGVkIGNhcmQgZHJhd2luZyBtb2RlIGZsYWcgZm9yIHJvdW5kaW5nIGNhcmQgY29ybmVycy4KKworCSogZGxscy9tc3ZjcnQvbXN2Y3J0LnNwZWM6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlUaGUgbmFtZSBpcyBfbG9uZ2ptcGV4ICh3aXRoIHRoZSB1bmRlcnNjb3JlKS4KKworCSogZGxscy9kaW5wdXQvam95c3RpY2tfbGludXhpbnB1dC5jOgorCUNocmlzdG9waCBGcmljayA8ZnJpY2tAU0MtTmV0d29ya3MuZGU+CisJLSBBZGRlZCBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudC4KKwktIENoYW5nZWQgdGhlIG1hcHBpbmcgb2YgdGhlIGF4aXMgdG8gYSBzaW1wbGVyIGZvcm11bGEsIHRoYXQgaWdub3JlcworCSAgdGhlIG1pZGRsZSBvZiBhbiBheGlzLgorCS0gTWluL21heCB2YWx1ZXMgd2hlcmUgaW5pdGFsaXplZCBzd2l0Y2hlZC4KKwktIEFkZGVkIHRoZSBtaXNzaW5nIGJ1dHRvbiBhbmQgYXhpcyBldmVudHMgdGhhdCBhcmUgcmVnaXN0ZXJlZCBlYXJsaWVyCisJICBpbiB0aGUgY29kZSBidXQgbmV2ZXIgbWFkZSBpdCB0byB0aGUgYXBwbGljYXRpb24uCisJLSBBZGRlZCBhIGxpdHRsZSBtb3JlIGRlc2NyaXB0aXZlIGNvbW1lbnQgYWJvdXQgdGhlIGRlYWR6b25lLgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL21haW4uYywgdG9vbHMvd2luZWJ1aWxkL3NwZWMzMi5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW46CisJUmVtb3ZlZCB0aGUgVW5pY29kZSBleGUgbW9kZXMsIGFuZCBpbnN0ZWFkIGRldGVjdCBhdXRvbWF0aWNhbGx5IHdoaWNoCisJbW9kZSB0byB1c2UgYmFzZWQgb24gdGhlIGV4aXN0ZW5jZSBvZiBtYWluIG9yIHdtYWluLgorCisJKiBkbGxzLyovLmN2c2lnbm9yZToKKwkuc3BlYy5jIGZpbGVzIGFyZSBubyBsb25nZXIgdXNlZCBmb3IgMzItYml0IGRsbHMuCisKKwkqIE1ha2UucnVsZXMuaW4sIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwgdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbjoKKwlCdWlsZCB0aGUgZGxscyB3aXRoIHdpbmVnY2MuCisKKzIwMDQtMDMtMjMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvcmViYXIuYywgZGxscy9kM2Q4L3V0aWxzLmMsIGRsbHMva2VybmVsL2xvY2FsZS5jLAorCSAgZGxscy9udGRsbC9ydGxzdHIuYywgZGxscy9vbGUzMi9jb21wb2JqLmMsIGRsbHMvb2xlMzIvaWZzLmMsCisJICBkbGxzL29sZWF1dDMyL3NhZmVhcnJheS5jLCBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnR5cGUuYywKKwkgIGRsbHMvb2xlYXV0MzIvdmFydHlwZS5jLCBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmMsCisJICBkbGxzL3NoZWxsMzIvcGlkbC5jLCBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLAorCSAgcHJvZ3JhbXMvYXZpdG9vbHMvYXZpcGxheS5jLCB0b29scy93aW5lZHVtcC9taXNjLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQXNzb3J0ZWQgc3BlbGxpbmcgZml4ZXMuCisKKwkqIGRsbHMvZDNkOC9kZXZpY2UuYzogT2ZpciBQZXRydXNrYSA8aGF0a3lAdXNlcnMuc2YubmV0PgorCUtlZXAgdGhlIGNoZWNrR0xjYWxsIGdsQWN0aXZlVGV4dHVyZS9nbEFjdGl2ZVRleHR1cmVBUkIgc2VwYXJhdGlvbiBpbgorCWFsbCB0aGUgZmlsZS4KKworCSogZGxscy9jb21jdGwzMi8uY3ZzaWdub3JlLCBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGwzMi5oLCBkbGxzL2NvbWN0bDMyL3JzcmMucmMsCisJICBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCS0gQWRkIGN1cnNvciByZXNvdXJjZS4KKwktIEltcGxlbWVudCBUQl9NT1ZFQlVUVE9OLgorCS0gSW1wbGVtZW50IGRyYWcgY3VzdG9taXNlLgorCS0gU2VuZCBUQk5fVE9PTEJBUkNIQU5HRSBhbmQgVEJOX0RFTEVUSU5HQlVUVE9OLgorCisJKiB0b29scy93aW5lZ2NjL3dpbmVnY2MuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBZGQgYSBkZWZhdWx0IC5kbGwgZXh0ZW5zaW9uIG9ubHkgd2hlbiBubyBleHRlbnNpb24gaXMgcHJlc2VudC4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9yZWdwcm9jLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQ29tcHV0ZSBkd0xlbiBhZnRlciBwYXNzaW5nIHRoZSBzdHJpbmcgdGhyb3VnaAorCVJFR1BST0NfdW5lc2NhcGVfc3RyaW5nKCkgc28gd2UgZG9uJ3Qgc2F2ZSBnYXJiYWdlIGNoYXJhY3RlcnMgaW4gdGhlCisJcmVnaXN0cnkuCisKKwkqIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21lc2EuYywgZGxscy9kZHJhdy9kM2RleGVjdXRlYnVmZmVyLmMsCisJICBkbGxzL2RkcmF3L2QzZGxpZ2h0LmMsIGRsbHMvZGRyYXcvZGlyZWN0M2QvbWVzYS5jOgorCUNocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlEbyBub3QgcmV0dXJuIGFuIGVycm9yIHdoZW4gc2V0dGluZyBhIG1hdGVyaWFsIHRvIE5VTEwuCisJRml4ZWQgYWNjZXNzIHRvIGQzZCBwcml2YXRlIGRhdGEuCisKKwkqIGRsbHMvZDNkOC9kZXZpY2UuYzogT2ZpciBQZXRydXNrYSA8aGF0a3lAdXNlcnMuc2YubmV0PgorCURlZmluZSBFWFRSQV9UUkFDRVMgaW5zdGVhZCBvZiAjaWYgMC4KKworCSogZGxscy9jYXJkcy9jYXJkcy5jOiBBZGRlZCBtaXNzaW5nIFxuIGluIHRyYWNlLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgcHJvZ3JhbXMvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy90YXNrbWdyLy5jdnNpZ25vcmUsIHByb2dyYW1zL3Rhc2ttZ3IvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy90YXNrbWdyL2Fib3V0LmMsIHByb2dyYW1zL3Rhc2ttZ3IvYWZmaW5pdHkuYywKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvYXBwbHBhZ2UuYywgcHJvZ3JhbXMvdGFza21nci9jb2x1bW4uYywKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvY29sdW1uLmgsIHByb2dyYW1zL3Rhc2ttZ3IvZGJnY2hubC5jLAorCSAgcHJvZ3JhbXMvdGFza21nci9kZWJ1Zy5jLCBwcm9ncmFtcy90YXNrbWdyL2VuZHByb2MuYywKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvZ3JhcGguYywgcHJvZ3JhbXMvdGFza21nci9ncmFwaGN0bC5jLAorCSAgcHJvZ3JhbXMvdGFza21nci9ncmFwaGN0bC5oLCBwcm9ncmFtcy90YXNrbWdyL29wdG5tZW51LmMsCisJICBwcm9ncmFtcy90YXNrbWdyL3BlcmZkYXRhLmMsIHByb2dyYW1zL3Rhc2ttZ3IvcGVyZmRhdGEuaCwKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvcGVyZnBhZ2UuYywgcHJvZ3JhbXMvdGFza21nci9wcmlvcml0eS5jLAorCSAgcHJvZ3JhbXMvdGFza21nci9wcm9jbGlzdC5jLCBwcm9ncmFtcy90YXNrbWdyL3Byb2NwYWdlLmMsCisJICBwcm9ncmFtcy90YXNrbWdyL3Jlc291cmNlLmgsIHByb2dyYW1zL3Rhc2ttZ3IvcnVuLmMsCisJICBwcm9ncmFtcy90YXNrbWdyL3Rhc2ttZ3IuYywgcHJvZ3JhbXMvdGFza21nci90YXNrbWdyLmgsCisJICBwcm9ncmFtcy90YXNrbWdyL3Rhc2ttZ3IucmMsIHByb2dyYW1zL3Rhc2ttZ3IvdHJheWljb24uYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlQb3J0ZWQgdGhlIFJlYWN0T1MgdGFza21nciB3cml0dGVuIGJ5IEJyaWFuIFBhbG1lci4KKworCSogdG9vbHMvd2luZWdjYy91dGlscy5jLCB0b29scy93aW5lZ2NjL3V0aWxzLmgsIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRmlyc3QgY3V0IGF0IC1zaGFyZWQgc3VwcG9ydC4KKworMjAwNC0wMy0yMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9udGRsbC90ZXN0cy9wYXRoLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUFkZGVkIHNvbWUgdGVzdHMgZm9yIFJ0bEdldEZ1bGxQYXRoTmFtZV9VLgorCisJKiBkbGxzL250ZGxsL3BhdGguYzoKKwlNb3ZlZCBzbGFzaCBjb252ZXJzaW9uIHRvIGNvbGxhcHNlX3BhdGgsIGFuZCByZW1vdmUgZHVwbGljYXRlCisJYmFja3NsYXNoZXMgdG9vLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJRml4IGZvciByZWNlbnQgc2hlbGxsaW5rIHBhdGNoLCB3aGljaCByZW1vdmVkIHRoZSBpbXBvcnRhbnQgcGFydCBvZgorCXJldHVybmluZyB0aGUgcmVzdWx0IHBvaW50ZXIgZnJvbSBJU2hlbGxMaW5rX0NvbnN0cnVjdEZyb21GaWxlKCkuCisKKwkqIGRsbHMvc2hlbGwzMi9waWRsLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJQWxsb3cgcGFzc2luZyBOVUxMIHRvIElMRmluZExhc3RJRC4KKworCSogaW5jbHVkZS9ycGNuZHIuaDogUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwlBZGRlZCBzb21lIGRlY2xhcmF0aW9ucy4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJQlNUUiBvZiBsZW5ndGggMCBpcyBhbGxvd2VkLgorCisJKiBkbGxzL2RkcmF3L2RkcmF3L21haW4uYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUVuYWJsZSBjcmVhdGlvbiBvZiBhIHpidWZmZXIgaW4gc3lzdGVtIG1lbW9yeS4KKworCSogZGxscy9zaGVsbDMyL2ljb25jYWNoZS5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUZpeCByZWNlbnQgVW5pY29kZS1pZmljYXRpb24gcGF0Y2guCisKKwkqIHByb2dyYW1zL3djbWQvYnVpbHRpbnMuYywgcHJvZ3JhbXMvd2NtZC93Y21kLmgsCisJICBwcm9ncmFtcy93Y21kL3djbWRtYWluLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBzZXRsb2NhbC9lbmRsb2NhbC4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQWxsb2NhdGUgdGhlIGNvcnJlY3QgbnIgb2YgYnl0ZXMgZm9yIGxwc3pDb29raWVzIGluIEhUVFBfSHR0cE9wZW5SZXF1ZXN0QS4KKwlBbGxvY2F0ZSB0aGUgY29ycmVjdCBuciBvZiBieXRlcyBmb3IgcmVxdWVzdCBzdHJpbmdsZW4gd2l0aG91dCBvcHRpb25zLgorCisJKiBkbGxzL2FkdmFwaTMyL2FkdmFwaS5jLCBkbGxzL2FkdmFwaTMyL2FkdmFwaTMyLnNwZWM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCVN0dWIgQ29tbWFuZExpbmVGcm9tTXNpRGVzY3JpcHRvciB0byBwcmV2ZW50IGEgY3Jhc2ggaW4gQWNjZWxlcnlzCisJTWF0ZXJpYWxzIFN0dWRpby4KKworCSogdG9vbHMvd2luYXBpL21zdmNtYWtlcjogU3RldmVuIEVkd2FyZHMgPHN0ZXZlbl9lZDQxNTNAeWFob28uY29tPgorCVJlbW92ZSByZWZlcmVuY2UgdG8gb2xkIGdyYXBoaWNzIGRpcmVjdG9yeQorCisJKiBkbGxzL3VybG1vbi9NYWtlZmlsZS5pbiwgZGxscy91cmxtb24vdW1vbi5jOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUltcGxlbWVudCBGaW5kTWltZUZyb21EYXRhLgorCisJKiBkbGxzL2lwaGxwYXBpL3Rlc3RzL2lwaGxwYXBpLmM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCURvbid0IGluY2x1ZGUgY29uZmlnLmguCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVVwZGF0ZSBwYXRoIGZyb20gcmVsYXRpdmUgcGF0aCBvbiBsb2FkaW5nLgorCisJKiB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6IFBpZXJyZSBkJ0hlcmJlbW9udCA8c3RlZ2VmaW5AZnJlZS5mcj4KKwlEYXJ3aW4gc3VwcG9ydCBmb3IgX2luaXQvX2ZpbmkgZnVuY3Rpb25zIGFuZCBfZW5kIHN5bWJvbC4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9rZXJuZWwvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL2tlcm5lbC90ZXN0cy90aW1lLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUFkZGVkIHRlc3RzIGZvciB0aW1lIGZ1bmN0aW9ucy4KKworCSogZGxscy9zaGVsbDMyL2ZvbGRlcnMuYywgZGxscy9zaGVsbDMyL2ljb25jYWNoZS5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVVuaWNvZGUtaWZ5IHRoZSBpY29uIGNhY2hlIGFuZCBTSEdldEZpbGVJbmZvLgorCisJKiB3aW5kb3dzL3N5c3BhcmFtcy5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJQ29ycmVjdGx5IHNpemUgdGhlIHNwaV9sb2FkZWQgYXJyYXkgcHJldmVudHMgb3ZlcndyaXRpbmcgb2Ygc3lzdGVtCisJcGFyYW1ldGVycy4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQWxsb2NhdGUgY29ycmVjdCBudW1iZXIgb2YgcG9pbnRlcnMgZm9yIHN6QWNjZXB0VHlwZXMsIHNpbmNlIHdlIG5lZWQKKwlpdCBOVUxMIHRlcm1pbmF0ZWQuCisJSGVhcFJlQWxsb2Mgd2lsbCBtb2RpZnkgdGhlIHBvaW50ZXIsIHNvIHN0b3JlIGl0IHRoZXJlLgorCisJKiBkb2N1bWVudGF0aW9uL2RkcmF3LnNnbWw6IFJ1ZG9sZiBLYXN0bCA8Y2hlNjY2QHVuaS5kZT4KKwlBZGRlZCBtaXNzaW5nIHBhcmEgdGFnLgorCisJKiBkbGxzL3NobHdhcGkvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9zaGx3YXBpL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9zaGx3YXBpL3Rlc3RzL29yZGluYWwuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVRlc3QgU0hTZWFyY2hNYXBJbnQuCisKKwkqIGRsbHMvb2xlYXV0MzIvdGVzdHMvdmFydGVzdC5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJVGVzdHMgZm9yIFZhclhvci9WYXJFcXYuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzIuc3BlYywgZGxscy9vbGVhdXQzMi92YXJpYW50LmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgVmFyWG9yIGFuZCBzaW1wbGlmeSBWYXJFcXYgdG8gdXNlIGl0LgorCisJKiBpbmNsdWRlL3JwY25kci5oOiBFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlBZGRlZCBDKysgc3VwcG9ydC4KKworCSogZGxscy93c29jazMyL3Byb3RvY29sLmM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCVBvcnRpbmcgZml4ZXMuCisKKzIwMDQtMDMtMjAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGNvbnRyb2xzL2xpc3Rib3guYzogRml4ZWQgdHlwbyBpbiBwcmV2aW91cyBjaGFuZ2UuCisKKwkqIGZpbGVzL2ZpbGUuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUZpeGVkIE9wZW5GaWxlIHJldHVybmVkIHZhbHVlIHdoZW4gT0ZfRVhJU1QgZmxhZyBpcyBzcGVjaWZpZWQuCisKKwkqIHdpbmRvd3MvZGlhbG9nLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQ2hhbmdlIG9yZGVyIG9mIEVuYWJsZVdpbmRvdy9EZXN0cm95V2luZG93IGluIHRoZSBjYXNlIG9mIGZhaWx1cmUgaW4KKwlESUFMT0dfQ3JlYXRlQ29udHJvbHMzMi4KKworCSogZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbiwgZG9jdW1lbnRhdGlvbi9kZHJhdy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9kZHJhdy50eHQsIGRvY3VtZW50YXRpb24vd2luZS1kZXZlbC5zZ21sOgorCUNocmlzIE1vcmdhbiA8Y21vcmdhbkBhbHVtLndwaS5lZHU+CisJQ29udmVydCBkZHJhdy50eHQgdG8gZGRyYXcuc2dtbCBhbmQgYWRkIGl0IHRvIHRoZSB3aW5lLWRldmVsCisJZG9jdW1lbnRhdGlvbi4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGcuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCUZpeCBhIHBvc3NpYmxlIG51bGwgcG9pbnRlciBjcmFzaCBpbiBGSUxFRExHOTVfTE9PS0lOX0luaXQuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5ldGVzdC9tYWluLmMsCisJICBwcm9ncmFtcy93aW5ldGVzdC9tYWtldGVzdDoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFkZCByZXZpc2lvbiBzdXBwb3J0IHRvIHdpbmV0ZXN0LmV4ZS4KKworCSogdG9vbHMvd2luZS5pbmY6IEtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUFkZCBDb250ZW50IFR5cGVzIGZvciBhIGZldyBjb21tb24gZXh0ZW5zaW9ucy4KKworCSogZGxscy9tc2kvTWFrZWZpbGUuaW4sIGRsbHMvbXNpL2luc2VydC5jLCBkbGxzL21zaS9xdWVyeS5oLAorCSAgZGxscy9tc2kvc3FsLnksIGRsbHMvbXNpL3doZXJlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVN0YXJ0IGltcGxlbWVudGluZyB0aGUgU1FMIGluc2VydCBxdWVyeS4KKworCSogZGxscy9kZHJhdy9kM2RkZXZpY2UvbWVzYS5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJSW1wcm92ZSBEM0Q3IGNvbXBhdGliaWxpdHkuCisKKwkqIGRsbHMvZDNkOC9kZXZpY2UuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZFJlZiB0ZXh0dXJlIG9ubHkgaWYgdGhlcmUgaXMgb25lIGZvciB0aGUgcmVxdWVzdGVkIHN0YWdlLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLCBkbGxzL2tlcm5lbC9rZXJuZWxfcHJpdmF0ZS5oLAorCSAgZGxscy9rZXJuZWwvdm9sdW1lLmMsIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcsCisJICBkb2N1bWVudGF0aW9uL3dpbmUuY29uZi5tYW4sIGZpbGVzL2Rvc19mcy5jLCBmaWxlcy9kcml2ZS5jLAorCSAgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL2ZpbGUuaDoKKwlSZXdyb3RlIGhhbmRsaW5nIG9mIENPTSBhbmQgTFBUIGRldmljZXMgdG8gdXNlIHN5bWxpbmtzIGluCisJJFdJTkVQUkVGSVgvZG9zZGV2aWNlcywgd2l0aCBzdWl0YWJsZSBkZWZhdWx0cyBpZiB0aGUgc3ltbGlua3MgYXJlCisJbWlzc2luZy4KKwlSZXdyb3RlIFF1ZXJ5RG9zRGV2aWNlIGFuZCBEZWZpbmVEb3NEZXZpY2UgdG8gdXNlIHRoZSBuZXcgc2NoZW1lLgorCUFkZGVkIHRlbXBvcmFyeSBjb2RlIHRvIGNyZWF0ZSB0aGUgc3ltbGlua3MgYmFzZWQgb24gdGhlIGNvbnRlbnRzIG9mCisJdGhlIGNvbmZpZyBmaWxlLgorCisyMDA0LTAzLTE5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9mb3JtYXRfbXNnLmM6IFVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggdHlwbyBpbiBGb3JtYXRNZXNzYWdlVy4KKworCSogcHJvZ3JhbXMvd2luZXRlc3Qvc2VuZC5jLCBwcm9ncmFtcy93aW5ldGVzdC91dGlsLmM6CisJRmVyZW5jIFdhZ25lciA8d2ZlcmlAYWZhdmFudC5lbHRlLmh1PgorCS0gUmVmYWN0b3IgYW5kIGZpeCBjb25uZWN0aW9uIG9wZW5pbmcuCisJLSBUYXJnZXQgdGVzdC53aW5laHEub3JnLgorCisJKiBkbGxzL3dpbm1tL21jaWF2aS9tY2lhdmkuYywgZGxscy93aW5tbS9tY2lhdmkvcHJpdmF0ZV9tY2lhdmkuaDoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUp1c3QgdXBkYXRlIGZyb20vdG8gcG9pbnRlcnMgYW5kIGV4aXQgb24gYSBzdWJzZXF1ZW50IE1DSV9QTEFZCisJY29tbWFuZC4KKworCSogZGxscy91c2VyL3Rlc3RzL3dpbi5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIHRlc3QgY2FzZSB3aGljaCBjb25maXJtcyB0aGF0IFNldE1lbnUgaW1wbGVtZW50YXRpb24gaW4gV2luZSBpcworCWNvcnJlY3QuCisKKwkqIGRsbHMvY29tY3RsMzIvcmViYXIuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU1ha2Ugc3VyZSB0aGUgcmViYXIgc2l6ZSBpcyBhYm92ZSBhIG1pbmltdW0uCisKKwkqIGRsbHMvbXNpL2NyZWF0ZS5jLCBkbGxzL21zaS9oYW5kbGUuYywgZGxscy9tc2kvbXNpLmMsCisJICBkbGxzL21zaS9tc2lwcml2LmgsIGRsbHMvbXNpL21zaXF1ZXJ5LmMsIGRsbHMvbXNpL3JlY29yZC5jLAorCSAgZGxscy9tc2kvc3RyaW5nLmMsIGRsbHMvbXNpL3N1bWluZm8uYywgZGxscy9tc2kvdGFibGUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IGhhbmRsZSBhbGxvY2F0aW9uIGFuZCB0aGUgQ1JFQVRFIFRBQkxFIHF1ZXJ5LgorCisJKiBkbGxzL250ZGxsL2xvYWRlci5jOgorCUFkZGVkIHdvcmthcm91bmQgZm9yIGJyb2tlbiBkbGxzIHRoYXQgbW9kaWZ5IGVieCBpbiB0aGVpciBlbnRyeSBwb2ludAorCShyZXBvcnRlZCBieSBDaHJpc3RpYW4gQ29zdGEpLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9ndWkuYywgcHJvZ3JhbXMvd2luZXRlc3QvbWFpbi5jLAorCSAgcHJvZ3JhbXMvd2luZXRlc3Qvc2VuZC5jOgorCUZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwktIEZpeCByZXBvcnQoKSBkaXNwYXRjaC4KKwktIFN0cmlwICJfdGVzdC4uLiIgZnJvbSB0ZXN0IGZpbGUgbmFtZXMuCisJLSBVc2UgbXlzdHJ0b2soKSBmb3IgY29tbWFuZCBsaW5lIHBhcnNpbmcgdG8gYXZvaWQgY29sbGlzaW9uIHdpdGggdGhlCisJICBvbmUgaW4gZ2V0X3N1YnRlc3RzKCkuCisJLSBDaGFuZ2UgVXNlci1BZ2VudCBIVFRQIGhlYWRlciB0byAiV2luZXRlc3QgU2hlbGwiLgorCisJKiBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYywgZGxscy9tc3ZjcnQvdGVzdHMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbXN2Y3J0L3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL21zdmNydC90ZXN0cy9zdHJpbmcuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJUmVsYXkgbXN2Y3J0X21lbWNweSB0byBtZW1tb3ZlLCBDU3RyaW5nOjpJbnNlcnQgc2VlbXMgdG8gcmVseSBvbiB0aGF0CisJYmVoYXZpb3VyLiBBZGQgYSB0ZXN0IGNhc2UuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGxleGVjLmM6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlJbiBTSEVMTF9FeGVjdXRlVywgaWYgYSBuZXcgY3VycmVudCBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLCBjaGFuZ2UgdG8KKwlpdCBiZWZvcmUgY2FsbGluZyBDcmVhdGVQcm9jZXNzIHNvIHRoYXQgaXQgd2lsbCBmaW5kIHRoZSBjb3JyZWN0CisJZXhlY3V0YWJsZS4KKworCSogZGxscy9rZXJuZWwvZm9ybWF0X21zZy5jOiBVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJQ29udmVydCBGb3JtYXRNZXNzYWdlVyB0byB1c2UgdW5pY29kZSBmdW5jdGlvbnMuCisKKwkqIGRsbHMvdXNlci9jb21tMTYuYzoKKwlHZXQgcmlkIG9mIHRoZSByZWdpc3RyeSBsb29rdXBzLCByZWx5IGVudGlyZWx5IG9uIHRoZSBrZXJuZWwgZGV2aWNlcworCWluc3RlYWQuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvbWFpbi5jOgorCUF2b2lkIGluY2x1ZGluZyB3aW5kb3dzLmggc2luY2UgaXQgY29uZmxpY3RzIHdpdGggdW5pc3RkLmguCisKKwkqIGRsbHMveDExZHJ2L2V2ZW50LmM6IE1pa2UgSGVhcm4gPG1oQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUaGUgS2V5bWFwTm90aWZ5IGV2ZW50IGRvZXMgbm90IHVzZSB0aGUgd2luZG93IG1lbWJlciwgc28gZG9uJ3Qgd2FybgorCWFib3V0IGl0IGJlaW5nIHVua25vd24uCisKKwkqIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjLCBkbGxzL21zdmNydC90aW1lLmM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJUmVpbXBsZW1lbnQgdGltZSBmdW5jdGlvbnMgd2l0aCBXaW4zMiBBUElzLgorCUltcGxlbWVudCBsb2NhbHRpbWUoKS9nbXRpbWUoKS4KKworCSogZGxscy9tc2kvY3JlYXRlLmMsIGRsbHMvbXNpL2Rpc3RpbmN0LmMsIGRsbHMvbXNpL21zaS5jLAorCSAgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9vcmRlci5jLCBkbGxzL21zaS9xdWVyeS5oLAorCSAgZGxscy9tc2kvc2VsZWN0LmMsIGRsbHMvbXNpL3NxbC55LCBkbGxzL21zaS9zdHJpbmcuYywKKwkgIGRsbHMvbXNpL3RhYmxlLmMsIGRsbHMvbXNpL3Rva2VuaXplLmMsIGRsbHMvbXNpL3doZXJlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpcnN0IGdvIGF0IHdyaXRlIHN1cHBvcnQuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9zeXNwYXJhbXMuYywgd2luZG93cy9zeXNwYXJhbXMuYzoKKwlKdXN0aW4gQ2hldnJpZXIgPGpjaGV2cmllckBuZXhpY29tLm5ldD4KKwlJbXBsZW1lbnRlZCBTUEl7R0VULFNFVH1NT1VTRUhPVkVSV0lEVEgsIFNQSXtHRVQsU0VUfU1PVVNFSE9WRVJIRUlHSFQsCisJU1BJe0dFVCxTRVR9TU9VU0VIT1ZFUlRJTUUsIFNQSXtHRVQsU0VUfU1PVVNFU0NST0xMTElORVMsCisJU1BJe0dFVCxTRVR9TUVOVVNIT1dERUxBWS4KKworMjAwNC0wMy0xOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZmlsZXMvZG9zX2ZzLmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL2ZpbGUuYywKKwkgIHNlcnZlci9maWxlLmgsIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9yZXF1ZXN0LmgsCisJICBzZXJ2ZXIvc2VyaWFsLmMsIHNlcnZlci90cmFjZS5jOgorCU1ha2UgdGhlIHN0YW5kYXJkIGNyZWF0ZV9maWxlIHJlcXVlc3QgaGFuZGxlIHNlcmlhbCBwb3J0cyB0b28sIGFuZAorCXJlbW92ZSB0aGUgY3JlYXRlX3NlcmlhbCByZXF1ZXN0LgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwuYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLAorCSAgZGxscy9zaGVsbDMyL3NobGV4ZWMuYzoKKwlNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUV4cGFuZCBlbnZpcm9ubWVudCBzdHJpbmdzIGluIGNvbW1hbmQsIHBhcmFtZXRlciBhbmQgZGlyZWN0b3J5IHN0cmluZ3MKKwlvZiBTaGVsbEV4ZWN1dGVFeFczMigpLgorCisJKiBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9tc2lxdWVyeS5jLAorCSAgZGxscy9tc2kvc3RyaW5nLmMsIGRsbHMvbXNpL3RhYmxlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVdoZW4gbG9hZGluZyB0YWJsZSBkYXRhLCBzcGxpdCBpdCB1cCBpbnRvIHJvd3MuCisKKwkqIHByb2dyYW1zL3djbWQvYnVpbHRpbnMuYywgcHJvZ3JhbXMvd2NtZC93Y21kbWFpbi5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlZCBoYW5kbGluZyBvZiAiZWNoby4iCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOiBSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCS0gRml4IFNldEJpdG1hcFNpemUuCisJLSBGaXggU2V0QnV0dG9uSW5mby4KKworCSogY29udHJvbHMvbWVudS5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVRyYW5zbGF0ZUFjY2VsZXJhdG9yIHNob3VsZCBvbmx5IGlnbm9yZSBjb21tYW5kcyB3aGVuIG1vdXNlIGNhcHR1cmUgaXMKKwlpbiBlZmZlY3Qgb3IgdGhlIHdpbmRvdyBpcyBkaXNhYmxlZCwgaWYgdGhlIGNvbW1hbmQgY29ycmVzcG9uZHMgdG8gYQorCW1lbnUgaXRlbS4gIE90aGVyd2lzZSBpdCBzaG91bGQgcHJvY2VzcyB0aGVtIGFzIG5vcm1hbC4KKworCSogY29udHJvbHMvbGlzdGJveC5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUludmFsaWRhdGUgdGhlIGZvY3VzZWQgaXRlbSB3aGVuIHNjcm9sbGluZyBob3Jpem9udGFsbHkgc28gdGhhdCBpdAorCXJlcGFpbnRzIGNvcnJlY3RseS4KKworCSogZGxscy9zaGx3YXBpLy5jdnNpZ25vcmUsIGRsbHMvc2hsd2FwaS9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc2hsd2FwaS9tc2dib3guYywgZGxscy9zaGx3YXBpL29yZGluYWwuYywKKwkgIGRsbHMvc2hsd2FwaS9yZXNvdXJjZS5oLCBkbGxzL3NobHdhcGkvc2hsd2FwaS5yYywKKwkgIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpX0VuLnJjLAorCSAgZGxscy9zaGx3YXBpL3N0cmluZy5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSW1wbGVtZW50IFNITWVzc2FnZUJveENoZWNrIGZ1bmN0aW9ucyAmJiBhZGQgZGlhbG9nIHJlc291cmNlcy4KKwlBZGQgU0hXYWl0Rm9yU2VuZE1lc3NhZ2VUaHJlYWQsIFNIQW5zaVRvVW5pY29kZUNQLFNIU3RyaXBNbmV1bW9uaWNXLAorCVNIU2VhcmNoTWFwSW50LgorCisJKiBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBkbGxzL250ZGxsL2RlYnVnYnVmZmVyLmMsCisJICBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlTdHViIGltcGxlbWVudGF0aW9ucyBvZiBSdGxDcmVhdGVRdWVyeURlYnVnQnVmZmVyLAorCVJ0bERlc3Ryb3lRdWVyeURlYnVnQnVmZmVyIGFuZCBSdGxRdWVyeVByb2Nlc3NEZWJ1Z0luZm9ybWF0aW9uLgorCisJKiBkbGxzL2tlcm5lbC9zeW5jLmM6IFJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCVJlbW92ZSBkdXBsaWNhdGUgY29kZSBieSB1c2luZyBOdCogZnVuY3Rpb25zIGZvciBQdWxzZUV2ZW50LAorCVJlc2V0RXZlbnQgYW5kIFNldEV2ZW50LgorCisJKiBkbGxzL2tlcm5lbC9jb25zb2xlLmM6IFJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwlBZGRlZCBzb21lIHRyYWNlcy4KKworCSogZGxscy93aW5tbS9tY2lhdmkvbWNpYXZpLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlSZWxlYXNlIGxvY2sgYmVmb3JlIHdhdmUgY2FsbHMgdGhhdCBnZW5lcmF0ZSBub3RpZmljYXRpb24uCisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYzogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUFsbG93IFJlZ0Nvbm5lY3RSZWdpc3RyeVcgdG8gdGhlIGxvY2FsIG1hY2hpbmUgbmFtZS4KKworMjAwNC0wMy0xNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvZmlsZS5jLCBkbGxzL2tlcm5lbC90ZXN0cy9maWxlLmMsIGZpbGVzL2Rvc19mcy5jOgorCVJlaW1wbGVtZW50ZWQgRmluZEZpcnN0RmlsZS9GaW5kTmV4dEZpbGUgb24gdG9wIG9mCisJTnRRdWVyeURpcmVjdG9yeUZpbGUuCisKKwkqIGRsbHMvbXNpL01ha2VmaWxlLmluLCBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpcHJpdi5oLAorCSAgZGxscy9tc2kvc3RyaW5nLmMsIGRsbHMvbXNpL3RhYmxlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU1vdmUgdGhlIHN0cmluZyB0YWJsZSBvdXQgaW50byBhIHNlcGFyYXRlIGZpbGUsIGltcHJvdmUgbG9va3Vwcy4KKworCSogZGxscy9vbGVhdXQzMi9vbGVhdXQzMi5zcGVjLCBkbGxzL29sZWF1dDMyL3ZhcmlhbnQuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUltcGxlbWVudCBWYXJFcXYuCisKKwkqIGRsbHMva2VybmVsL2NvbnNvbGUuYzogUmljaGFyZCBDb2hlbiA8cmljaGFyZEBkYWlqb2J1LmNvLnVrPgorCUZpeCByZWxhdGl2ZSBzY3JlZW4gcmVzaXppbmcuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYzogUmljaGFyZCBDb2hlbiA8cmljaGFyZEBkYWlqb2J1LmNvLnVrPgorCVJlbW92ZSAuIGZyb20gZGVmYXVsdCBsaWJyYXJ5IHNlYXJjaCBwYXRoLgorCisJKiBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZS5jOgorCVJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwlGaXggY3Vyc29yIHBvc2l0aW9uIG9wdGltaXphdGlvbi4KKworCSogd2luZG93cy9wYWludGluZy5jOiBSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJRklYTUVfKHdpbikgLT4gRklYTUUuCisKKwkqIGRsbHMvc2hsd2FwaS9yZWcuYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlNYWtlIGNvcGllcyBvZiBrZXlzIHdoZW4gY3JlYXRpbmcsIGZyZWUgdGhlbSB3aGVuIGRvbmUuCisJVXNlIEtFWV9BTExfQUNDRVNTIHdoZW4gd3JpdGluZyBVUyByZWcgdmFsdWVzLgorCVNIUmVnV3JpdGVVU1ZhbHVlVzogSGFuZGxlIGFsbCBmbGFnIGNvbWJpbmF0aW9ucy4KKwlNYWtlIHNvbWUgQSBjYWxscyB1c2UgdGhlIFcgdmVyc2lvbi4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy9vbGVmb250LmMsIGRsbHMvb2xlYXV0MzIvdGVzdHMvc2FmZWFycmF5LmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlVc2UgZnVuY3Rpb24gcHRycyBmb3IgY2FsbCBvbmx5IHByZXNlbnQgaW4gbGF0ZXIgdmVyc2lvbnMuCisJRml4IHRlc3RzIHRoYXQgZmFpbCB3aXRoIG9sZCB2ZXJzaW9ucy4KKworCSogZGxscy9pY2N2aWQvaWNjdmlkLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb3JyZWN0IGdlb21ldHJ5IGVycm9yIGluIHRoZSBJQ0NWSUQgY29kZWMuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOiBSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCS0gRG9jdW1lbnRhdGlvbiB1cGRhdGUuCisJLSBCZXR0ZXIgaG90IGl0ZW0gaGFuZGxpbmcuCisJLSBGaXggRHJhd01hc2tlZCB0byBhbHdheXMgdXNlIHRoZSByaWdodCBpbWFnZSBsaXN0IGFuZCBiaXRtYXAgaW5kZXguCisKKwkqIGRsbHMvbnRkbGwvcGF0aC5jOgorCVJld3JvdGUgdGhlIGNvbGxhcHNpbmcgb2YgLiBhbmQgLi4gaW4gUnRsR2V0RnVsbFBhdGhOYW1lX1UgZm9yIGJldHRlcgorCWNvbXBhdGliaWxpdHkuCisKKwkqIGRsbHMva2VybmVsL3BhdGguYzoKKwlSZXRyaWV2ZSBhIHNob3J0IG5hbWUgaW4gR2V0U2hvcnRQYXRoTmFtZVcgaWYgdGhlIGxvbmcgbmFtZSBjb250YWlucworCXNwYWNlcy4KKworCSogY29udHJvbHMvbGlzdGJveC5jLCBkbGxzL3NoZWxsMzIvcGlkbC5jLCBkbGxzL3dpbmVkb3MvaW50MjEuYzoKKwlGaW5kRmlyc3RGaWxlIGNhbiByZXR1cm4gYW4gZW1wdHkgc2hvcnQgbmFtZSBpZiB0aGUgbG9uZyBuYW1lIGlzIGEKKwl2YWxpZCBET1MgbmFtZSwgZml4ZWQgY2FsbGVycyB0byBoYW5kbGUgdGhhdCBwcm9wZXJseS4KKworCSogZGxscy9zZXR1cGFwaS9NYWtlZmlsZS5pbiwgZGxscy9zZXR1cGFwaS9kaXNrc3BhY2UuYywKKwkgIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGkuc3BlYywgZGxscy9zZXR1cGFwaS9zdHVicy5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQmVnaW5uaW5ncyBvbiBpbXBsZW1lbnRhdGlvbnMgb2YgU2V0dXBDcmVhdGVEaXNrU3BhY2VMaXN0QS9XLAorCVNldHVwUXVlcnlTcGFjZVJlcXVpcmVkT25Ecml2ZUEsIFNldHVwRGVzdHJveURpc2tTcGFjZUxpc3QgYW5kCisJU2V0dXBBZGRJbnN0YWxsU2VjdGlvblRvRGlza1NwYWNlTGlzdEEgZm9yIE1EQUMgaW5zdGFsbC4KKworCSogZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9kc291bmQvZHNvdW5kX3ByaXZhdGUuaCwKKwkgIGRsbHMvZHNvdW5kL3NvdW5kM2QuYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCVJlbW92ZSB1bnVzZWQgbG9jay4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvc3luYy5jOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCUFkZGVkIHN0dWIgZm9yIFNpZ25hbE9iamVjdEFuZFdhaXQuCisKKwkqIGRsbHMvd2luc3Bvb2wvaW5mby5jLCBkbGxzL3dpbnNwb29sL3dpbnNwb29sLmRydi5zcGVjOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlBZGQgc3R1YnMgZm9yIEVudW1Nb25pdG9yc1tBL1ddLgorCisyMDA0LTAzLTE2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2RkcmF3L2RzdXJmYWNlL2RpYi5jOiBFbGlhcyBSb3NzIDxnZW5tYW5AbWFpc29uLW90YWt1Lm5ldD4KKwlBZGRlZCAyNC1iaXQgY29sb3Iga2V5IHN1cHBvcnQgaW4gRElCX0RpcmVjdERyYXdTdXJmYWNlX0JsdEZhc3QuCisKKwkqIGRsbHMvbXNpL01ha2VmaWxlLmluOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUV4cGxpY2l0bHkgc3BlY2lmeSBvdXRwdXQgZmlsZSBuYW1lcyBmb3IgYmlzb24uCisKKwkqIGRsbHMvbnRkbGwvZGlyZWN0b3J5LmM6IE9fRElSRUNUT1JZIGlzIG5vdCByZWFsbHkgbmVlZGVkLgorCisJKiBkbGxzL21zaS9NYWtlZmlsZS5pbiwgZGxscy9tc2kvY3JlYXRlLmMsIGRsbHMvbXNpL21zaS5jLAorCSAgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9xdWVyeS5oLCBkbGxzL21zaS9zcWwueSwKKwkgIGRsbHMvbXNpL3Rva2VuaXplLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUV4dGVuZCB0aGUgcGFyc2VyIHRvIGRlYWwgd2l0aCB0aGUgQ1JFQVRFIFRBQkxFIHF1ZXJ5LiBUaGUgcXVlcnkKKwlkb2Vzbid0IGRvIGFueXRoaW5nIGFzIHlldC4KKworCSogZGxscy9tc3ZjcnQvZGlyLmMsIGRsbHMvbXN2Y3J0L2Vycm5vLmMsIGRsbHMvbXN2Y3J0L2V4aXQuYywKKwkgIGRsbHMvbXN2Y3J0L2ZpbGUuYywgZGxscy9tc3ZjcnQvbWF0aC5jLCBkbGxzL21zdmNydC9tc3ZjcnQuaCwKKwkgIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjLCBkbGxzL21zdmNydC9wcm9jZXNzLmMsIGRsbHMvbXN2Y3J0L3N0cmluZy5jLAorCSAgaW5jbHVkZS9tc3ZjcnQvZGlyZWN0LmgsIGluY2x1ZGUvbXN2Y3J0L2Rvcy5oLCBpbmNsdWRlL21zdmNydC9pby5oLAorCSAgaW5jbHVkZS9tc3ZjcnQvc3RkaW8uaCwgaW5jbHVkZS9tc3ZjcnQvc3RkbGliLmgsCisJICBpbmNsdWRlL21zdmNydC9zdHJpbmcuaCwgaW5jbHVkZS9tc3ZjcnQvc3lzL3N0YXQuaCwKKwkgIGluY2x1ZGUvbXN2Y3J0L3RpbWUuaCwgaW5jbHVkZS9tc3ZjcnQvd2NoYXIuaDoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwktIFByZWZpeCBtYW55IG1vcmUgZnVuY3Rpb25zLCB0eXBlcywgc3RydWN0cywgZXRjLiB3aXRoIE1TVkNSVF8uCisJLSBDb3JyZWN0IHByb3RvdHlwZXMgZm9yIF9tZW1jY3B5KCkvX21lbWljbXAoKS4KKwktICJkZWZpbmUgYmVmb3JlIHVzZSIgcmVvcmRlcmluZyBpbiBmaWxlLmMuCisJLSBVc2UgdGhlIG5ldyBtYXRoLmgvZmxvYXQuaC4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmMsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOgorCUZhYmlhbiBDZW5lZGVzZSA8Q2VuZWRlc2VAaW5kZWwuY2g+CisJTGV0IFZhclBhcnNlTnVtRnJvbVN0ciBhbmQgVmFyTnVtRnJvbVBhcnNlTnVtIGNvcGUgd2l0aCBoZXggYW5kIG9jdAorCXN0cmluZ3MuIE5lZWRlZCBmcm9tIFZCIGNvbnZlcnNpb25zIHN1Y2ggYXMgQ0xuZywgQ0ludCwgQ0J5dGUuLi4KKworCSogZGxscy9jb21jdGwzMi9yZWJhci5jOiBGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJU3VwcG9ydCBmb3IgUkJCU19ISURFVElUTEUgc3R5bGUuCisKKwkqIGRsbHMvY2FyZHMvY2FyZHMuYywgZGxscy9jYXJkcy9jYXJkcy5oOgorCVNhbWkgTm9wYW5lbiA8eGFzbXhAb3B0b25saW5lLm5ldD4KKwktIEVudW1lcmF0ZWQgZGlmZmVyZW50IGRyYXdpbmcgbW9kZXMuCisJLSBJbXBsZW1lbnRlZCBISUxJVEUsIFJFTU9WRSBhbmQgR0hPU1QgZHJhd2luZyBtb2Rlcy4KKworCSogZGxscy9zZXR1cGFwaS9zZXR1cGFwaS5zcGVjLCBkbGxzL3NldHVwYXBpL3N0dWJzLmM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBzdHVicyBuZWVkZWQgYnkgc29tZSBXaW5kb3dzIFVwZGF0ZSBpbnN0YWxscy4KKworCSogY29udHJvbHMvc2Nyb2xsLmM6IFVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgY2FzdCB0byBjb3JyZWN0bHkgaW50ZXJwcmV0IHNpZ25lZCBjb29yZGluYXRlIHZhbHVlcy4KKworCSogZGxscy9tc2kvLmN2c2lnbm9yZSwgZGxscy9tc2kvTWFrZWZpbGUuaW4sIGRsbHMvbXNpL2NvbmQueSwKKwkgIGRsbHMvbXNpL21zaS5zcGVjLCBkbGxzL21zaS9zcWwueSwgZGxscy9tc2kvdG9rZW5pemUuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU3RhcnQgaW1wbGVtZW50YXRpb24gb2YgTXNpRXZhbHVhdGVDb25kaXRpb25BL1cuCisKKwkqIE1ha2UucnVsZXMuaW4sIFJFQURNRSwgY29uZmlndXJlLCBjb25maWd1cmUuYWMsCisJICBkb2N1bWVudGF0aW9uL1JFQURNRS5kZSwgZG9jdW1lbnRhdGlvbi9SRUFETUUuZnIsCisJICBkb2N1bWVudGF0aW9uL1JFQURNRS5pdCwgZG9jdW1lbnRhdGlvbi9SRUFETUUucHQsCisJICBkb2N1bWVudGF0aW9uL1JFQURNRS5wdF9icjoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUmVxdWlyZSBiaXNvbiB0byBjb21waWxlIFdpbmUuCisKKwkqIGRsbHMvbnRkbGwvbG9hZGVyLmMsIGRsbHMvbnRkbGwvbnRkbGxfbWlzYy5oLCBkbGxzL250ZGxsL3JlbGF5LmM6CisJTWlrZSBIZWFybiA8bWhAY29kZXdlYXZlcnMuY29tPgorCS0gQWRkIGRlYnVnIFNub29wRnJvbUluY2x1ZGUvU25vb3BGcm9tRXhjbHVkZSBvcHRpb25zLgorCS0gQ29ycmVjdCBUUkFDRSBkZWJ1ZyBjaGFubmVsIHVzYWdlIGluIFNOT09QX1NldHVwRExMLgorCS0gUmVmYWN0b3IgY2hlY2tfcmVsYXlfZnJvbV9yZWxheS4KKworCSogZGxscy93aW5tbS9tY2lhdmkvd25kLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBZGRlZCBzdXBwb3J0IGZvciBNQ0lfREdWX1dIRVJFX01BWCBmbGFnIGluIE1DSUFWSV9tY2lXaGVyZS4KKwlGaXhlZCBXSEVSRV9XSU5ET1cuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvbWFpbi5jOiBOZWVkIHRvIGluY2x1ZGUgY29uZmlnLmguCisKKwkqIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGRsbHMvbnRkbGwvZGlyZWN0b3J5LmMsIGRsbHMvbnRkbGwvZmlsZS5jLAorCSAgZGxscy9udGRsbC9udGRsbF9taXNjLmgsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlJbXBsZW1lbnRlZCBOdFF1ZXJ5RGlyZWN0b3J5RmlsZSAocGFydGx5IGJhc2VkIG9uIGEgcGF0Y2ggYnkgRXJpYworCVBvdWVjaCkuCisKKwkqIGRvY3VtZW50YXRpb24vZmFxLnNnbWw6IEl2YW4gTGVvIE11cnJheS1TbWl0aCA8cHVvdGlAaW53aW5kLml0PgorCUEgZmV3IHVwZGF0ZXMuCisKKwkqIGRsbHMva2VybmVsL2luc3RyLmMsIGRsbHMva2VybmVsL3dvd3RodW5rLmMsIHRvb2xzL3dpbmVidWlsZC9yZWxheS5jOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlEUE1JIHByb2dyYW1zIG5vdyBoYW5kbGUgcGVuZGluZyBldmVudHMuCisKKwkqIGRsbHMvd2lubW0vbWNpYXZpL21tb3V0cHV0LmM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUhhbmRsZSBhdmkgZmlsZXMgd2l0aCBub24gc3RhbmRhcmQgdmlkZW8gc3RyZWFtIG5hbWVzLgorCisJKiBkbGxzL3dpbm1tL21jaS5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJTUNJIHN0cmluZ3MgYXJlIGNhc2UgaW5zZW5zaXRpdmUuCisJRml4ZWQgYSByZXR1cm5lZCBlcnJvciB2YWx1ZS4KKworCSogZGxscy93aW5tbS9tbWlvLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlEZWZhdWx0IHRvIEZPVVJDQ19ET1MgaWYgbm8gSU9Qcm9jIGZvdW5kLgorCisJKiBkbGxzL3dpbm1tL21jaWF2aS9tY2lhdmkuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUZpeGVkIGRlYWRsb2NrIHdoZW4gc3RvcHBpbmcgcGxheWJhY2suCisKKwkqIGRsbHMvZGRyYXcvZGRyYXdfcHJpdmF0ZS5oOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJRERfU1RSVUNUX0NPUFlfQllTSVpFOiBEbyBub3QgY2xlYXIgbW9yZSB0aGF0IHN0cnVjdCBzaXplLgorCisJKiBkbGxzL3NobHdhcGkvdGVzdHMvcGF0aC5jLCBkbGxzL3NobHdhcGkvdXJsLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCVVybENhbm9uaWNhbGl6ZVc6IFJlbW92ZSBcciBhbmQgXG4gYXQgdGhlIGVuZCBvZiBscHN6VXJsQ3B5LCB3aXRoIHRlc3QKKwljYXNlcy4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJSFRUUF9IdHRwU2VuZFJlcXVlc3RBOiBSZW1vdmUgXHIgYW5kIFxuIGF0IHRoZSBlbmQgb2YKKwlscHdoci0+bHBzelBhdGguCisKKzIwMDQtMDMtMTUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2NhcmRzLy5jdnNpZ25vcmUsCisJICBkbGxzL2NhcmRzL01ha2VmaWxlLmluLCBkbGxzL2NhcmRzL2NhcmRzLmMsIGRsbHMvY2FyZHMvY2FyZHMuaCwKKwkgIGRsbHMvY2FyZHMvY2FyZHMucmMsIGRsbHMvY2FyZHMvY2FyZHMuc3BlYywgZGxscy9jYXJkcy92ZXJzaW9uLnJjOgorCVNhbWkgTm9wYW5lbiA8eGFzbXhAb3B0b25saW5lLm5ldD4KKwlJbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIGNhcmRzLmRsbC4KKworCSogZGxscy9jb21jdGwzMi91cGRvd24uYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaGVuIHNldHRpbmcgdGhlIGJ1ZGR5IHRvIDAgdGhlbiB3ZSBtdXN0IHN0aWxsIHJlc2l6ZSB0aGUgdXBkb3duCisJY29udHJvbC4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBEb2N1bWVudCBjb21wbGV0ZW5lc3MuCisJLSBGaW5pc2ggdG9vbHRpcCBzdXBwb3J0LgorCisJKiBwcm9ncmFtcy9yZWdlZGl0L2NoaWxkd25kLmMsIHByb2dyYW1zL3JlZ2VkaXQvZWRpdC5jLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9mcmFtZXduZC5jLCBwcm9ncmFtcy9yZWdlZGl0L2xpc3R2aWV3LmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L21haW4uaCwgcHJvZ3JhbXMvcmVnZWRpdC90cmVldmlldy5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUHJvcGVybHkgaW1wbGVtZW50IGFsbCBrZXkgb3BlcmF0aW9uczogbmV3LCBkZWxldGUsIHJlbmFtZS4KKwlGaXggcmVuYW1lIGNvbW1hbmQgdG8gaGFuZGxlIGJvdGgga2V5cyBhbmQgdmFsdWVzLgorCisJKiBkb2N1bWVudGF0aW9uL2NvbmZpZ3VyaW5nLnNnbWw6IEJvYXogSGFycm9zaCA8Ym9hekBoaXNob21lLm5ldD4KKwlUaXBzIGZvciB1c2luZyBuYXRpdmUgTVMgU1FMIE9EQkMgZHJpdmVycy4KKworCSogaW5jbHVkZS9tc2kuaDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURlY2xhcmUgTXNpR2V0UHJvZHVjdFByb3BlcnR5QS9XLgorCisJKiBkbGxzL2NvbWN0bDMyL3VwZG93bi5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIENTX0hSRURSQVcuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvbWFpbi5jOiBDaHJpcyBNb3JnYW4gPGNtb3JnYW5AYWx1bS53cGkuZWR1PgorCU1lc3NhZ2UgYm94IHRvIHN1Z2dlc3QgdGhlIHVzZXIgbm90IHJ1biB3aW5lIGFzIHJvb3QuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbHRpcHMuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCS0gVW5pY29kZSBub3RpZmljYXRpb24gZGV0ZWN0aW9uIHNob3VsZCBiZSBsb2NhbCB0byBlYWNoIHRvb2wuCisJLSBJbXBsZW1lbnQgVFROX0dFVERJU1BJTkZPVyBub3RpZmljYXRpb24uCisKKwkqIGRsbHMva2VybmVsL2luc3RyLmM6IEp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlFbXVsYXRpbmcgU1RJIGluc3RydWN0aW9uIG5vdyByYWlzZXMgYW4gZXhjZXB0aW9uIGlmIHRoZXJlIGFyZSBwZW5kaW5nCisJZXZlbnRzLgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL3BhcnNlci5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3NwZWMxNi5jLCB0b29scy93aW5lYnVpbGQvd2luZWJ1aWxkLm1hbi5pbjoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJUmVtb3ZlIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgaW50ZXJydXB0IGhhbmRsZXJzLgorCisJKiBwcm9ncmFtcy93aW5lbWluZS9JdC5yYzogT2xlZyBQcm9raG9yb3YgPHhvbGVncHJvQHJiY21haWwucnU+CisJRml4IHNtYWxsIHR5cG8uCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvbWFpbi5jLCBwcm9ncmFtcy9yZWdlZGl0L3JzcmMucmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBZGQgYWxsIG5lZWRlZCBhY2NlbGVyYXRvcnMgdG8gcmVnZWRpdC4gQ2xlYW51cHMuCisKKwkqIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGkuc3BlYywgZGxscy9zZXR1cGFwaS9zdHVicy5jLCBpbmNsdWRlL3NldHVwYXBpLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIFNldHVwQ3JlYXRlRGlza1NwYWNlTGlzdCBzdHViLgorCisJKiBkbGxzL250ZGxsL3ZpcnR1YWwuYzogTWlrZSBIZWFybiA8bWlrZUBuYXZpLmN4PgorCUltcHJvdmUgbWVzc2FnZSBnaXZlbiBvbiBpbWFnZSBtYXAgZmFpbHVyZS4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBIb25vdXIgV01fU0VUUkVEUkFXLgorCS0gRml4IGFsbCBjYWxscyBvZiBJbnZhbGlkYXRlUmVjdC4KKworCSogdG9vbHMvd2luZWdjYy91dGlscy5jOiBQaWVycmUgZCdIZXJiZW1vbnQgPHN0ZWdlZmluQGZyZWUuZnI+CisJU3VwcG9ydCBEYXJ3aW4gIi5keWxpYiIuCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvSXQucmM6IEl2YW4gTGVvIE11cnJheS1TbWl0aCA8cHVvdGlAaW53aW5kLml0PgorCUFkZGVkICJjYW4ndCBxdWVyeSBrZXkiIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIyLmM6IEFsYXN0YWlyIEJyaWRnZXdhdGVyIDxueWVmQHNvZnRob21lLm5ldD4KKwlJbXBsZW1lbnRhdGlvbiBvZiBJQ3JlYXRlVHlwZUluZm8yX1NldEhlbHBDb250ZXh0LAorCUlDcmVhdGVUeXBlSW5mbzJfU2V0VHlwZURlc2NBbGlhcywgSVR5cGVMaWIyX0dldFR5cGVJbmZvQ291bnQsCisJSVR5cGVMaWIyX0dldFR5cGVJbmZvVHlwZSwgYW5kIElUeXBlTGliMl9Jc05hbWUuCisJRml4IHRvIElDcmVhdGVUeXBlSW5mbzJfU2V0VmFyTmFtZSB0byBmaXggYSBjYXNlIHdoZXJlIG11bHRpcGxlCisJaW5zdGFuY2VzIG9mIHRoZSBzYW1lIG5hbWUgYXJlIHVzZWQgaW4gdGhlIHNhbWUgdHlwZWxpYi4KKworMjAwNC0wMy0xMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliMi5jOiBBbGFzdGFpciBCcmlkZ2V3YXRlciA8bnllZkBzb2Z0aG9tZS5uZXQ+CisJSW1wbGVtZW50ZWQgSVR5cGVMaWIyX0dldFR5cGVJbmZvKCkgYW5kCisJSVR5cGVMaWIyX0dldFR5cGVJbmZvT2ZHdWlkKCkuCisKKwkqIGRsbHMvb2xlYXV0MzIvdHlwZWxpYjIuYzogQWxhc3RhaXIgQnJpZGdld2F0ZXIgPG55ZWZAc29mdGhvbWUubmV0PgorCUltcHJvdmUgaG93IHRoZSBHVUlEIGhhc2ggc3lzdGVtIHdvcmtzLiBNYWlubHkgYSBjbGVhbnVwIHNvIHRoYXQgdGhlCisJaGFzaCBsb29rdXBzIGNhbiBiZSBkb25lIGZyb20gb3RoZXIgZnVuY3Rpb25zLgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIuaCwgZGxscy9vbGVhdXQzMi90eXBlbGliMi5jOgorCUFsYXN0YWlyIEJyaWRnZXdhdGVyIDxueWVmQHNvZnRob21lLm5ldD4KKwlSZW5hbWUgc29tZSBvZiB0aGUgZmllbGRzIGluIHR5cGVsaWIuaCB0byBtYWtlcyBtb3JlIGV2b2NhdGl2ZSB0aGFuCisJJ3VuazAwJy4KKworCSogZGxscy9jb21jdGwzMi9yZWJhci5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBzdXJlIHRvIHRha2UgYWNjb3VudCBvZiBoaWRkZW4gYmFuZHMgZHVyaW5nIGxheW91dC4KKworCSogZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYzogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCVByZXZlbnQgbmVnYXRpdmUgY29vcmRzIGZvciBsaW5lLCB0dXJuIG9mZiByZWRyYXcgd2hlbiBpbml0aWFsaXppbmcsCisJZG9jdW1lbnQgb25lIGRpZmZlcmVuY2UgaW4gbmF0aXZlL2J1aWx0aW4gYmVoYXZpb3IuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOiBSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCS0gSW1wbGVtZW50IFRCX0xPQURJTUFHRVMsIFRCX01BUEFDQ0VMRVJBVE9Se0EsV30sIFRCX01BUktCVVRUT04gYW5kCisJICB1bmRvY3VtZW50ZWQgbWVzc2FnZSAweDQ2MC4KKwktIEJldHRlciBkZWJ1ZyBvdXRwdXQgb2YgdW5kb2N1bWVudGVkIG1lc3NhZ2UgMHg0NUQuCisKKzIwMDQtMDMtMTIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbXNhY20vcGNtY29udmVydGVyLmMsIGRsbHMvbXNhY20vc3RyZWFtLmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlGaXhlZCBidWcgd2hlbiBQQ01XQVZFRk9STUFUIGlzIHBhc3NlZCBpbnRvIGFjbVN0cmVhbU9wZW4uCisJRml4ZWQgYnVnIHdoZXJlIGludGVycG9sYXRpb24gaXMgZG9uZSB3aXRoIGRhdGEgcGFzdCBlbmQgb2YgYnVmZmVyLiBBCisJcHJvcGVyIGZpeCB3b3VsZCBiZSB0byBwcm9qZWN0IHRoZSBsYXN0IHNhbXBsZSBiYXNlZCBvbiB0aGUgcHJldmlvdXMKKwl0d28gYnV0IHRoYXQgcmVxdWlyZXMgc2lnbmlmaWNhbnQgY2hhbmdlcy4KKwlBZGRlZCBUUkFDRSBhbmQgV0FSTiB3aGVyZSBuZWVkZWQuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOiBSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCS0gQWRkIHN1cHBvcnQgZm9yIGEgdG9vbGJhciBnbG9iYWwgaUxpc3RHYXAuCisJLSBNYWtlIFRPT0xCQVJfQ2FsY1Rvb2xiYXIgYW5kIFRPT0xCQVJfRHJhd0J1dHRvbiBub3QgcmVseSBvbiAibWFnaWMKKwkgIG51bWJlcnMiIGFuZCBjYWxjdWxhdGUgc2l6ZXMgYW5kIHBvc2l0aW9ucyBtb3JlIGxpa2UgbmF0aXZlLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCBjYWxjdWxhdGUgdGhlIHJlZHVuZGFudCBhbmQgdW51c2VkIFJFQkFSX1JPVyBzdHJ1Y3R1cmVzLgorCisJKiBkbGxzL01ha2VmaWxlLmluLCBkbGxzL21ha2VfZGxsczoKKwlGaXhlZCBpbXBsaWIgdGFyZ2V0IGJyb2tlbiBieSBwcmV2aW91cyBjaGFuZ2UuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvbXN2Y3J0L2Zsb2F0LmgsIGluY2x1ZGUvbXN2Y3J0L21hdGguaDoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlUaGUgYmVnaW5uaW5ncyBvZiBtYXRoLmggYW5kIGZsb2F0LmguCisKKwkqIGRsbHMvZGRyYXcvZHN1cmZhY2UvZGliLmMsIGRsbHMvZ2RpL2dkaV9wcml2YXRlLmgsIGRsbHMveDExZHJ2L2RpYi5jLAorCSAgZGxscy94MTFkcnYveDExZHJ2LmgsIGluY2x1ZGUvd2luZS93aW5nZGkxNi5oLCBpbmNsdWRlL3dpbmdkaS5oLAorCSAgb2JqZWN0cy9kaWIuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUNyZWF0ZURJQlNlY3Rpb24gdGFrZXMgYSBjb25zdCBwb2ludGVyIHRvIEJJVE1BUElORk8uCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvRW4ucmMsIHByb2dyYW1zL3JlZ2VkaXQvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy9yZWdlZGl0L2VkaXQuYywgcHJvZ3JhbXMvcmVnZWRpdC9mcmFtZXduZC5jLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9tYWluLmgsIHByb2dyYW1zL3JlZ2VkaXQvcmVzb3VyY2UuaDoKKwlaaW1sZXIgQXR0aWxhIDxoaWphc3p1QGhsZnNsaW51eC5odT4KKwlBZGQgZGVsZXRlIGtleSBzdXBwb3J0LgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLCBwcm9ncmFtcy93aW5lY2ZnL0VzLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9QdC5yYywgcHJvZ3JhbXMvd2luZWNmZy9SdS5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvZHJpdmUuYywgcHJvZ3JhbXMvd2luZWNmZy9yZXNvdXJjZS5oOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIHRoZSBGaWxlU3lzdGVtIG9wdGlvbiBmcm9tIHRoZSBkcml2ZSBjb25maWd1cmF0aW9uLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlFbmFibGUgZXhhY3QgcG9zaXRpb24gY2FsY3VsYXRpb24gd2hlbiBoYXJkd2FyZSBzdXBwb3J0cyBpdC4KKworCSogaW5jbHVkZS9tbXJlZy5oOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIFdBVkVGT1JNQVRFWFRFTlNJQkxFLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmM6IFVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggcmViYXIgYmFuZCBpbnNlcnRpb24gYW5kIG5vbi1jbGllbnQgY2FsY3VsYXRpb24gaW4gcGFnZXIgY29udHJvbC4KKworCSogZGxscy9rZXJuZWwvZXhjZXB0LmMsIHRvb2xzL3dpbmUuaW5mOgorCVdlIG5vIGxvbmdlciBuZWVkIHRvIHBhc3MgLS1kZWJ1Z21zZyAtYWxsIHRvIHdpbmVkYmcuCisKKwkqIGZpbGVzL2ZpbGUuYzogU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJRml4ZWQgdHlwbyBpbiBET1MgZGV2aWNlIGNoZWNrIGluIENyZWF0ZUZpbGVXLgorCisJKiBkbGxzL250ZGxsL2NyaXRzZWN0aW9uLmMsIGRsbHMvbnRkbGwvZW52LmMsIGRsbHMvbnRkbGwvZmlsZS5jLAorCSAgZGxscy9udGRsbC9sb2FkZXIuYywgZGxscy9udGRsbC9udGRsbF9taXNjLmgsIGRsbHMvbnRkbGwvcGF0aC5jLAorCSAgZGxscy9udGRsbC9yZWcuYywgZGxscy9udGRsbC9yZWxheS5jLCBkbGxzL250ZGxsL3J0bHN0ci5jLAorCSAgZGxscy9udGRsbC9zZWMuYzoKKwlHZXQgcmlkIG9mIG50ZGxsX2dldF9wcm9jZXNzX2hlYXAgYW5kIG50ZGxsX2dldF9wcm9jZXNzX3BtdHMgYnkgdXNpbmcKKwlzdGFuZGFyZCBBUElzIGluc3RlYWQuCisKKwkqIGRsbHMvd2luZWRvcy9pbnQyMS5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwKKwkgIGluY2x1ZGUvd2ludGVybmwuaCwgc2VydmVyL2ZpbGUuYywgc2VydmVyL3Byb3RvY29sLmRlZiwKKwkgIHNlcnZlci90cmFjZS5jOgorCUNoYW5nZWQgdGhlIGNyZWF0ZV9maWxlIHNlcnZlciByZXF1ZXN0IHRvIHRha2UgTnRDcmVhdGVGaWxlIGZsYWdzCisJaW5zdGVhZCBvZiBDcmVhdGVGaWxlVyBvbmVzIChiYXNlZCBvbiBhIHBhdGNoIGJ5IEVyaWMgUG91ZWNoKS4KKworCSogZGxscy9kbWltZS9zZWdtZW50LmMsIGRsbHMvZG1sb2FkZXIvY29udGFpbmVyLmMsCisJICBkbGxzL2RtbG9hZGVyL2xvYWRlci5jLCBkbGxzL2Rtc2NyaXB0L3NjcmlwdC5jOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gc2NyaXB0cyBzdWItY29udGFpbmVycyBsb2FkaW5nCisJLSBiZXR0ZXIgc2VnbWVudHMgTG9hZCBhbmQgUGFyc2VEZXNjcmlwdG9yIGJlaGF2aW9ycworCisJKiBkbGxzL2NvbW1kbGcvZmlsZXRpdGxlLmMsIGluY2x1ZGUvY29tbWRsZy5oOgorCUdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJQ2hhbmdlIEdldEZpbGVUaXRsZUEvVyBwcm90b3R5cGUgdG8gbWF0Y2ggUFNESy4KKworMjAwNC0wMy0xMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkb2N1bWVudGF0aW9uL3dpbmUubWFuLmluLCBtaXNjL29wdGlvbnMuYzoKKwlHZXQgcmlkIG9mIHRoZSBXSU5FT1BUSU9OUyB2YXJpYWJsZSBhbmQgaW5zdGVhZCB1c2UgV0lORURFQlVHIHRvCisJaW5oZXJpdCBkZWJ1ZyBvcHRpb25zLgorCVN0YXJ0IGRlcHJlY2F0aW5nIHRoZSAtLWRlYnVnbXNnIG9wdGlvbi4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IEdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJRXhwbGljaXRseSBhc2sgZm9yIGltYWdlIGxpc3Qgd2l0aCBzY3JlZW4gZGVwdGggYXMgSUxDX0NPTE9SIGNhbi93aWxsCisJbGltaXQgdGhlIGRlcHRoIHRvIDRicHAgbm93LgorCisJKiBkbGxzL2tlcm5lbC9jb25zb2xlLmMsIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsCisJICBkbGxzL2tlcm5lbC9rZXJuZWxfcHJpdmF0ZS5oLCBmaWxlcy9maWxlLmM6CisJVGhlIE9wZW5Db25zb2xlVyBpbmhlcml0IGFyZ3VtZW50IGlzIGEgYm9vbGVhbiBub3QgYQorCVNFQ1VSSVRZX0FUVFJJQlVURVMgcG9pbnRlci4KKworCSogdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQnVpbGQgYWxsIGZpbGUgY29uc2lzdGVudGx5LCB3aXRob3V0IHNob3J0Y3V0cy4KKwlEbyBub3QgcGFzcyB3aW5lYnVpbGQgZXNjYXBlZCBvcHRpb25zIHRvIHRoZSBjb21waWxlci4KKworCSogcHJvZ3JhbXMvd2luaGVscC9NYWtlZmlsZS5pbjogTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlBZGQgdGhlIExERkxBR1Mgd2hlbiBsaW5raW5nIGhscDJzZ21sLgorCisJKiBkbGxzL250ZGxsL3djc3RyaW5nLmM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCV93dG97bCxpLGk2NH0gcGFyYW1ldGVycyBhcmUgY29uc3QuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCUZpeCBzdWJjbGFzc2luZyB0byBzdXBwb3J0IG5lc3RlZCBtZXNzYWdlcy4KKworCSogcHJvZ3JhbXMvd2luZWJyb3dzZXIvbWFpbi5jOgorCVdlIHNob3VsZCBubyBsb25nZXIgbmVlZCB0byB1bnNldCBUTVAgYW5kIFRFTVAuCisKKwkqIGRsbHMvdXNlci90ZXN0cy93aW4uYywgZGxscy94MTFkcnYvd2lucG9zLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaW5kb3dzIHRydW5jYXRlcyB3aW5kb3dzIGNvb3JkaW5hdGVzIGF0IDE2IGJpdHMgd2hlbiBtb3Zpbmcgb3IKKwlyZXNpemluZyBhIHdpbmRvdy4KKworCSogZG9jdW1lbnRhdGlvbi9SRUFETUUuZGU6IENocmlzdGlhbiBCcml0eiA8Y2JyaXR6QGdteC5uZXQ+CisJQ29ycmVjdGlvbiBvZiBzbWFsbCBzcGVsbGluZyBtaXN0YWtlcy4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJUmV3cml0ZSBkcmF3aW5nIGNvZGUuCisKKwkqIGluY2x1ZGUvY29tbWN0cmwuaDogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCBzb21lIG1pc3NpbmcgZGVmaW5lcy4KKworCSogZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBmaWxlcy9kaXJlY3RvcnkuYzoKKwlEbyBub3QgcHV0IHRoZSBURU1QIGFuZCBUTVAgdmFyaWFibGVzIGludG8gdGhlIFVuaXggZW52aXJvbm1lbnQsIHVzZQorCVdJTkVURU1QIGFuZCBXSU5FVE1QIGluc3RlYWQsIGxpa2Ugd2UgYWxyZWFkeSBkbyBmb3IgUEFUSC4KKworCSogZGxscy9rZXJuZWwvZXhjZXB0LmM6CisJUmVtb3ZlIHRoZSBXSU5FREVCVUcgdmFyaWFibGUgZnJvbSB0aGUgZW52aXJvbm1lbnQgb2YgdGhlIGRlYnVnZ2VyCisJcHJvY2Vzcy4KKworCSogZGxscy9udGRsbC90aW1lLmMsIGZpbGVzL3NtYi5jOiBQb3J0YWJpbGl0eSBmaXhlcy4KKworCSogZG9jdW1lbnRhdGlvbi9jb25maWd1cmluZy5zZ21sOiBBZGRlZCBhIGNvdXBsZSBvZiBtaXNzaW5nIGNsb3NlIHRhZ3MuCisKKwkqIGRsbHMvbXN2Y3J0L3RpbWUuYzogSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJSW1wbGVtZW50IF9mdGltZSB3aXRoIFdpbjMyIEFQSXMuCisKKwkqIGNvbnRyb2xzL21lbnUuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXZSBuZWVkIHRvIHNldCB0aGUgbmV3IHRleHQgZXZlbiBpZiB0aGUgb2xkIHRleHQgc3RyaW5nIHdhcyBOVUxMLgorCisJKiBkbGxzL2NvbWN0bDMyL2FuaW1hdGUuYzoKKwlEbyBub3Qga2lsbCB0aGUgYW5pbWF0aW9uIHRocmVhZCB3aXRoIFRlcm1pbmF0ZVRocmVhZCwgbGV0IGl0IGZpbmlzaAorCXByb3Blcmx5LgorCUZpeGVkIGEgY291cGxlIG9mIHJhY2VzIHdpdGggdGhlIGFuaW1hdGlvbiB0aHJlYWQuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tYm9leC5jLCBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmMsCisJICBkbGxzL2NvbWN0bDMyL2lwYWRkcmVzcy5jLCBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsCisJICBkbGxzL2NvbWN0bDMyL3Byb2dyZXNzLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwlTcGVsbGluZyBmaXhlcy4KKworCSogZGxscy9jb21jdGwzMi9kcmFnbGlzdC5jOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBEb2N1bWVudCBjb250cm9sIGNvbXBsZXRlbmVzcy4KKwktIFJlbW92ZSB1bm5lZWRlZCBpbmNsdWRlLgorCS0gRml4IFRFWFQgZGVmaW5lLgorCS0gRml4IHRhYnMuCisJLSBTbWFsbCBvcHRpbWlzYXRpb24gaW4gRHJhd0luc2VydC4KKworCSogZGxscy9tc3ZjcnQvdGVzdHMvaGVhcC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUhlYXAgdGVzdHMgY2xlYW51cC4KKworCSogZGxscy9nZGkvZW5obWZkcnYvYml0Ymx0LmMsIGRsbHMvZ2RpL2VuaG1mZHJ2L2dyYXBoaWNzLmMsCisJICBkbGxzL2dkaS9lbmhtZmRydi9tYXBwaW5nLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlFbGltaW5hdGUgc29tZSB1bm5lY2Vzc2FyeSBkaXJlY3QgYWNjZXNzZXMgdG8gREMgaW50ZXJuYWxzIGZyb20gRU1GCisJZHJpdmVyLgorCisyMDA0LTAzLTA5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBBTk5PVU5DRSwgQ2hhbmdlTG9nLCBWRVJTSU9OLCBjb25maWd1cmU6IFJlbGVhc2UgMjAwNDAzMDkuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIwMDQtMDMtMDkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIGRsbHMva2VybmVsL2ZpbGUxNi5jLCBkbGxzL2tlcm5lbC9wcm9maWxlLmMsIGZpbGVzL2RpcmVjdG9yeS5jLApkaWZmIC0tZ2l0IGEvVkVSU0lPTiBiL1ZFUlNJT04KaW5kZXggZGNiZGQxYi4uNWQyY2MyOSAxMDA2NDQKLS0tIGEvVkVSU0lPTgorKysgYi9WRVJTSU9OCkBAIC0xICsxIEBACi1XaW5lIHZlcnNpb24gMjAwNDAzMDkKK1dpbmUgdmVyc2lvbiAyMDA0MDQwOApkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IDVlYjNjZTMuLjdiZmRlYTAgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OSBmb3IgV2luZSAyMDA0MDMwOS4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5IGZvciBXaW5lIDIwMDQwNDA4LgogIwogIyBSZXBvcnQgYnVncyB0byA8d2luZS1kZXZlbEB3aW5laHEub3JnPi4KICMKQEAgLTI2OSw4ICsyNjksOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J1dpbmUnCiBQQUNLQUdFX1RBUk5BTUU9J3dpbmUnCi1QQUNLQUdFX1ZFUlNJT049JzIwMDQwMzA5JwotUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwNDAzMDknCitQQUNLQUdFX1ZFUlNJT049JzIwMDQwNDA4JworUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwNDA0MDgnCiBQQUNLQUdFX0JVR1JFUE9SVD0nd2luZS1kZXZlbEB3aW5laHEub3JnJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc4OCw3ICs3ODgsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwNDAzMDkgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDA0MDQwOCB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC04NTMsNyArODUzLDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDQwMzA5OiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDA0MDQwODoiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC05ODIsNyArOTgyLDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1XaW5lIGNvbmZpZ3VyZSAyMDA0MDMwOQorV2luZSBjb25maWd1cmUgMjAwNDA0MDgKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OQogCiBDb3B5cmlnaHQgKEMpIDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC05OTYsNyArOTk2LDcgQEAKIFRoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGlsZXJzIHdoaWxlCiBydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgogCi1JdCB3YXMgY3JlYXRlZCBieSBXaW5lICRhc19tZSAyMDA0MDMwOSwgd2hpY2ggd2FzCitJdCB3YXMgY3JlYXRlZCBieSBXaW5lICRhc19tZSAyMDA0MDQwOCwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICAkICQwICRACkBAIC0yMDM5Niw3ICsyMDM5Niw3IEBACiB9ID4mNQogY2F0ID4mNSA8PF9DU0VPRgogCi1UaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDQwMzA5LCB3aGljaCB3YXMKK1RoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgV2luZSAkYXNfbWUgMjAwNDA0MDgsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgQ09ORklHX0ZJTEVTICAgID0gJENPTkZJR19GSUxFUwpAQCAtMjA0NTksNyArMjA0NTksNyBAQAogCiBjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRgogYWNfY3NfdmVyc2lvbj0iXFwKLVdpbmUgY29uZmlnLnN0YXR1cyAyMDA0MDMwOQorV2luZSBjb25maWcuc3RhdHVzIDIwMDQwNDA4CiBjb25maWd1cmVkIGJ5ICQwLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTksCiAgIHdpdGggb3B0aW9ucyBcXCJgZWNobyAiJGFjX2NvbmZpZ3VyZV9hcmdzIiB8IHNlZCAncy9bXFwiIlxgXCRdL1xcXFwmL2cnYFxcIgogCg==