ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggNjAzYTYxZS4uNGI1MDdiOCAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTIgKzEsMTQgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDA1MDIxMSBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDUwMzEwIG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA1MDIxMTogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gU3RpbGwgbW9yZSB3b3JrIG9uIHRoZSBNU0kgZGxsLgotICAgICAgICAtIE1vcmUgT0xFIHdvcmssIGluY2x1ZGluZyBhIGJ1aWx0aW4gc3Rkb2xlMzIudGxiLgotICAgICAgICAtIEZpeGVkIGludGVyLXByb2Nlc3Mgd2luZG93IHJlc2l6ZSBhbmQgcmVwYWludC4KK1dIQVQnUyBORVcgd2l0aCBXaW5lLTIwMDUwMzEwOiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKKyAgICAgICAgLSBJbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIGEgdHJ1ZSBSaWNoZWRpdCBjb250cm9sLgorICAgICAgICAtIFNoZWxsIGV4dGVuc2lvbiBmb3IgYnJvd3NpbmcgVW5peCBkaXJlY3Rvcmllcy4KKyAgICAgICAgLSBNb3JlIE1TSSB3b3JrLgorICAgICAgICAtIFBCdWZmZXIgc3VwcG9ydCBpbiBPcGVuR0wuCisgICAgICAgIC0gV2luZG93IHBhaW50aW5nIHJlZ3Jlc3Npb25zIHNob3VsZCBiZSBmaXhlZC4KICAgICAgICAgLSBMb3RzIG9mIGJ1ZyBmaXhlcy4KIAogU2VlIHRoZSBSRUFETUUgZmlsZSBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zLgpAQCAtMTUsOCArMTcsOCBAQAogdGhlIHJlbGVhc2UgaXMgYXZhaWxhYmxlIGF0IHRoZSBmdHAgc2l0ZXMuICBUaGUgc291cmNlcyB3aWxsIGJlIGF2YWlsYWJsZQogZnJvbSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKIAotICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNTAyMTEudGFyLmd6Ci0gIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDUwMjExLnRhci5negorICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwNTAzMTAudGFyLmd6CisgIGh0dHA6Ly9wcmRvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2luZS9XaW5lLTIwMDUwMzEwLnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCiBUaGVzZSBsb2NhdGlvbnMgYWxzbyBob2xkIHByZS1idWlsdCBkb2N1bWVudGF0aW9uIHBhY2thZ2VzIGluIHZhcmlvdXMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA2ZjgzMDhmLi4zZDc5ZTI0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsMjAyOCBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNS0wMy0xMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9zaGRvY3Z3L3NoZG9jdndfbWFpbi5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJRml4IGEgY3Jhc2ggaWYgdGhlIE1vemlsbGEgQWN0aXZlWCBjb250cm9sIGRvZXNuJ3QgaW1wbGVtZW50CisJRGxsQ2FuVW5sb2FkTm93LgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYzogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUZpeCB0aGUgY2FsbGluZyBjb252ZW50aW9uIG9mIERsbENhblVubG9hZE5vdy4KKworCSogZGxscy9tc2kvYXBwc2VhcmNoLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlGaXggYSByZWdyZXNzaW9uIGluIEFwcFNlYXJjaC4KKworCSogZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9yZWdpc3RyeS5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgTXNpRW51bVJlbGF0ZWRQcm9kdWN0cy4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYywgc2VydmVyL3dpbmRvdy5jOgorCUNsZWFyIHRoZSBpbnRlcm5hbCBwYWludCBmbGFnIGluIHRoZSBzZXJ2ZXIgYmVmb3JlIHJldHVybmluZyBhCisJV01fUEFJTlQgbWVzc2FnZSB0byBhdm9pZCBhbiBleHRyYSBzZXJ2ZXIgcm91bmQtdHJpcC4KKworCSogcHJvZ3JhbXMvd2luZXRlc3QvbWFpbi5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBhIHRlc3QgZm9yIHRoZSBkZXNrdG9wIHZpc2liaWxpdHkgYmFzZWQgb24gdGhlIE1TRE4gYXJ0aWNsZQorCXBvaW50ZWQgb3V0IGJ5IFJvYmVydCBTaGVhcm1hbi4KKworCSogZGxscy91c2VyL3Rlc3RzL2xpc3Rib3guYywgd2luZG93cy93aW5wcm9jLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCVVzZSA1MTIgYnl0ZSBidWZmZXIgZm9yIGJ1ZmZlciBvZiBMQl9HRVRURVhUIGFuZCBDQl9HRVRMQlRFWFQuCisJQWRkZWQgdGVzdGNhc2Ugd2l0aCA+IDI1NiBieXRlIHN0cmluZyBpbiBsaXN0Ym94LgorCisJKiB0b29scy93aW5lc2hlbGxsaW5rOiBCcm91YXJkIE5pY29sYXMgPG5pY29sYXMuYnJvdWFyZEBsaWJlcnR5c3VyZi5mcj4KKwlGaXggbWVudSBiYWNrc2xhc2ggZXNjYXBpbmcuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2Vudmlyb24uYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJVGVzdCBmb3IgJVN5c3RlbXJvb3QlLgorCisJKiBkbGxzL3VzZXIvc2Nyb2xsLmMsIGRsbHMvdXNlci91c2VyMzIuc3BlYzoKKwlQaGlsIEtyeWxvdiA8cGhpbEBuZXdzdGFyLnJpbmV0LnJ1PgorCUltcGxlbWVudGVkIEdldFNjcm9sbEJhckluZm8oKSBmdW5jdGlvbiBhbmQgU0JNX0dFVFNDUk9MTEJBUklORk8KKwltZXNzYWdlLgorCisJKiBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9tZXNzYWdlLmMsIGRsbHMvdXNlci9tZXNzYWdlLmgsCisJICB3aW5kb3dzL21lc3NhZ2UuYzoKKwlNZXJnZSB0aGUgcmVzdCBvZiB0aGUgbWVzc2FnaW5nIGNvZGUgaW50byBkbGxzL3VzZXIvbWVzc2FnZS5jIGFuZCBnZXQKKwlyaWQgb2Ygd2luZG93cy9tZXNzYWdlLmMuCisKKwkqIHByb2dyYW1zL3VuaW5zdGFsbGVyL0VuLnJjLCBwcm9ncmFtcy91bmluc3RhbGxlci9tYWluLmMsCisJICBwcm9ncmFtcy91bmluc3RhbGxlci9tYWluLmgsIHByb2dyYW1zL3VuaW5zdGFsbGVyL3Jlc291cmNlLmgsCisJICBwcm9ncmFtcy91bmluc3RhbGxlci9yc3JjLnJjOgorCUpvbmF0aGFuIEVybnN0IDxKb25hdGhhbkBFcm5zdEZhbWlseS5jaD4KKwlVc2UgYSBkaWFsb2cgaW5zdGVhZCBvZiBhIG5vcm1hbCB3aW5kb3cuCisKKwkqIGRsbHMvdXNlci9tZXNzYWdlLmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9xdWV1ZS5jLCBzZXJ2ZXIvdHJhY2UuYzoKKwlQcm9wZXJseSBjb3BlIHdpdGggZ2V0X21lc3NhZ2UgYmVpbmcgY2FsbGVkIHJlY3Vyc2l2ZWx5IHdoaWxlCisJcHJvY2Vzc2luZyBhIGhhcmR3YXJlIG1lc3NhZ2UuCisKKwkqIGRsbHMveDExZHJ2L3dpbnRhYi5jOiBSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwktIFhMaXN0SW5wdXREZXZpY2VzIHNwZWMgc2F5IHRoYXQgZGV2aWNlIGxpc3Qgc2hvdWxkIGJlIGZyZWVkIHVzaW5nCisJICBYRnJlZURldmljZUxpc3QKKwktIGJldHRlciByb2J1c3RuZXNzIG9uIFgxMURSVl9BdHRhY2hFdmVudFF1ZXVlVG9UYWJsZXQKKworCSogZGxscy9tc3ZjcnQvc2NhbmYuaCwgZGxscy9tc3ZjcnQvdGVzdHMvc2NhbmYuYzoKKwlDLiBTY290dCBBbmFuaWFuIDxjc2NvdHRAY3Njb3R0Lm5ldD4KKwlBbGxvdyBzY2FuZiB0byBjb250aW51ZSBwYXJzaW5nIGZvcm1hdCBzdHJpbmcgYWZ0ZXIgYSAnJW4nLgorCisJKiB3aW5kb3dzL21lc3NhZ2UuYzoKKwlUYWtlIG1lc3NhZ2UgZmlsdGVyaW5nIGludG8gYWNjb3VudCB3aGVuIHVwZGF0aW5nIHRoZSBzdGF0aWMgZGF0YSBmb3IKKwlkb3VibGUgY2xpY2sgc3VwcG9ydC4KKworCSogZGxscy9nZGkvZ2Rpb2JqLmM6CisJQWxsb2NhdGUgZm9udHMgYW5kIHJlZ2lvbnMgZnJvbSB0aGUgbGFyZ2UgaGVhcCB0b28uCisKKwkqIHNlcnZlci9yZWdpc3RyeS5jOiBQZXRlciBCZXJnIExhcnNlbiA8cGVibEBtYXRoLmt1LmRrPgorCVRtcCB3YXMgbm90IGZyZWVkIGluIGNhc2Ugb2YgZXJyb3JzIGluIHNhdmVfYnJhbmNoKCkuCisKKwkqIGRsbHMvcmljaGVkaXQvTWFrZWZpbGUuaW4sIGRsbHMvcmljaGVkaXQvYW5zaV9nZW4uaCwKKwkgIGRsbHMvcmljaGVkaXQvYW5zaV9zeW0uaCwgZGxscy9yaWNoZWRpdC9yZWFkZXIuYywKKwkgIGRsbHMvcmljaGVkaXQvcmljaGVkMzIuaCwgZGxscy9yaWNoZWRpdC9yaWNoZWRpdC5jLAorCSAgZGxscy9yaWNoZWRpdC9ydGYuaCwgZGxscy9yaWNoZWRpdC9ydGYydGV4dC5oLAorCSAgZGxscy9yaWNoZWRpdC9zdGRjaGFybmFtZXMuaCwgZGxscy9yaWNoZWRpdC90ZXh0LXdyaXRlci5jLAorCSAgZGxscy9yaWNoZWRpdC90ZXh0X21hcC5oOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGb3J3YXJkIHRoZSBSaWNoRWRpdCAxLjAgY29udHJvbCB0byB0aGUgUmljaEVkaXQgMi4wIGNvbnRyb2wuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jLCBkbGxzL21zaS9mb3JtYXQuYywgZGxscy9tc2kvbXNpLmMsCisJICBkbGxzL21zaS9tc2lxdWVyeS5jLCBkbGxzL21zaS9wYWNrYWdlLmMsIGRsbHMvbXNpL3ByZXZpZXcuYywKKwkgIGRsbHMvbXNpL3JlY29yZC5jLCBkbGxzL21zaS9zdW1pbmZvLmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCS0gbWFrZSBzdXJlIG1zaWhhbmRsZTJtc2lpbmZvIGlzIGNvcnJlY3RseSBtYXRjaGVkIHdpdGggbXNpb2JqX3JlbGVhc2UKKwktIGRvbid0IGRvIHJlZHVuZGFudCBOVUxMIGNoZWNrcworCisJKiBpbmNsdWRlL3Byb3BpZGwuaWRsOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJQWRkIHNvbWUgbWlzc2luZyBkZWNsYXJhdGlvbnMuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEZ1bGx5IGRlbGV0ZSBjdXN0b20gaGVhZGVycyBvbiBjb25uZWN0aW9uIG9wZW5pbmcuCisJLSBGcmVlIHVubmVlZGVkIG1lbW9yeSBvbiBjbGVhcmluZyBvZiBzdGFuZGFyZCBoZWFkZXJzLgorCS0gRml4IGluZGV4IHNhbml0eSB0ZXN0IGluIGRlbGV0ZSBmdW5jdGlvbi4KKworCSogZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmM6IEFsZXhhbmRlciBZYXdvcnNreSA8eWF3b3Jza3lAbWlndXNvZnQucnU+CisJQ29ycmVjdCBpbmNvcnJlY3QgdXNlIG9mIGFyZ3VtZW50cyB0byBRdWVyeVNlcnZpY2VDb25maWdBLiBTcG90dGVkIGJ5CisJVHJveSBSb2xsby4KKworCSogZGxscy9vcGVuZ2wzMi93Z2wuYywgZGxscy9vcGVuZ2wzMi93Z2xfZXh0LmMsCisJICBkbGxzL29wZW5nbDMyL3dnbF9leHQuaDoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwktIGltcGxlbWVudHMgV0dMX0FSQl9yZW5kZXJfdGV4dHVyZSBzdXBwb3J0IChubyBtb3JlIHN0dWJzKQorCS0gcGFzcyBnbFhHZXRQcm9jQWRkcmVzc0FSQiBwdHIgdG8gaW5pdGlhbGlzZSBmdW5jdGlvbgorCisJKiBkbGxzL2RkcmF3L2RzdXJmYWNlL2RpYi5jOiBQYXVsIFZyaWVucyA8UGF1bC5WcmllbnNAeHM0YWxsLm5sPgorCUNoZWNrIGFsd2F5cyBpZiBkZXN0aW5hdGlvbiBzdXJmYWNlIGlzIGxvY2tlZC4KKworMjAwNS0wMy0wOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy94MTFkcnYvZXZlbnQuYywgZGxscy94MTFkcnYveDExZHJ2Lmg6CisJQWRkZWQgV01fWDExRFJWX0RFTEVURV9XSU5ET1cgbWVzc2FnZSB0byBoYW5kbGUgY2xvc2UgcmVxdWVzdHMgc28gdGhhdAorCXdlIGNhbiBzZW5kIHRoZSBXTV9TWVNDT01NQU5EIHdpdGggU2VuZE1lc3NhZ2UgaW5zdGVhZCBvZiBQb3N0TWVzc2FnZS4KKwlBZGRlZCBtaXNzaW5nIE5PTkFNRUxFU1NVTklPTiBkZWZpbmUuCisKKwkqIGRsbHMvcmljaGVkMjAvY2FyZXQuYywgZGxscy9yaWNoZWQyMC9lZGl0b3IuYywKKwkgIGRsbHMvcmljaGVkMjAvZWRpdG9yLmgsIGRsbHMvcmljaGVkMjAvZWRpdHN0ci5oLAorCSAgZGxscy9yaWNoZWQyMC9wYWludC5jLCBkbGxzL3JpY2hlZDIwL3J1bi5jLCBkbGxzL3JpY2hlZDIwL3dyYXAuYzoKKwlLcnp5c3p0b2YgRm9sdG1hbiA8a2ZvbHRtYW5AcG9ydGFsLm9uZXQucGw+CisJLSBPcHRpbWl6ZWQgcmVwYWludCBvZiB0aGUgYXJlYSBiZWxvdyB0aGUgdGV4dC4KKwktIE1FX0pvaW5SdW5zIGRpZG4ndCBtYXJrIHRoZSBwYXJhZ3JhcGggZm9yIHJld3JhcHBpbmcsIGZpeGVkLgorCS0gUmVtb3ZlZCBQb3N0UXVpdE1lc3NhZ2UoMCkgZnJvbSBXTV9ERVNUUk9ZIGhhbmRsZXIgKGR1aCEpLgorCS0gVXNlIG9mIEVNX0dFVE9MRUlOVEVSRkFDRSBpcyByZXBvcnRlZCB3aXRoIEZJWE1FIGluc3RlYWQgb2YgVFJBQ0UKKwkgIChhbnkgYXBwIHVzaW5nIHRoaXMgbWVzc2FnZSBpcyBsaWtlbHkgdG8gZW5jb3VudGVyIG1ham9yIHByb2JsZW1zKS4KKworCSogZGxscy9tc2Ntcy9tc2Ntcy5zcGVjLCBkbGxzL21zY21zL21zY21zX21haW4uYywgZGxscy9tc2Ntcy9wcm9maWxlLmMsCisJICBkbGxzL21zY21zL3N0dWIuYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwktIEltcGxlbWVudGF0aW9uIHN0dWJzIGZvciBHZW5lcmF0ZUNvcHlGaWxlUGF0aHMsCisJICBTcG9vbGVyQ29weUZpbGVFdmVudC4KKwktIENhbGwgRGlzYWJsZVRocmVhZExpYnJhcnlDYWxscyBvbiBwcm9jZXNzIGF0dGFjaC4KKwktIERvY3VtZW50IG1vcmUgZnVuY3Rpb25zLgorCisJKiBkbGxzL2RkcmF3L2RzdXJmYWNlL2RpYi5jOiBQYXVsIFZyaWVucyA8UGF1bC5WcmllbnNAeHM0YWxsLm5sPgorCUNoZWNrIGZvciBOVUxMIGJlZm9yZSB0b3VjaGluZyBzcmMuCisKKwkqIGRsbHMvdXNlci91c2VyX21haW4uYywgZGxscy91c2VyL3VzZXJfcHJpdmF0ZS5oLCBkbGxzL3gxMWRydi9ldmVudC5jLAorCSAgZGxscy94MTFkcnYva2V5Ym9hcmQuYywgZGxscy94MTFkcnYvbW91c2UuYywgZGxscy94MTFkcnYveDExZHJ2LmgsCisJICBkbGxzL3gxMWRydi94MTFkcnYuc3BlYywgZGxscy94MTFkcnYveDExZHJ2X21haW4uYywgaW5jbHVkZS93aW4uaCwKKwkgIHdpbmRvd3MvaW5wdXQuYzoKKwlNb3ZlZCBTZW5kSW5wdXQgYW5kIHJlbGF0ZWQgZnVuY3Rpb25zIHRvIHRoZSBVU0VSIGRyaXZlciB0byBhdm9pZCBhCisJbnVtYmVyIG9mIGRsbCBzZXBhcmF0aW9uIGhhY2tzLgorCisJKiB3aW5kb3dzL3dpbi5jOiBSZW1vdmUgYSB0cmFjZSB0aGF0J3MgY2F1c2luZyB0b28gbXVjaCBvdXRwdXQuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmVjZmcvZHJpdmV1aS5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9tYWluLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUltcGxlbWVudGVkICdCcm93c2UnIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZSBkcml2ZSBtYXBwaW5nIHByb3BlcnR5CisJc2hlZXQuCisKKwkqIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy9zaGVsbDMyL3JlZ3N2ci5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLCBkbGxzL3NoZWxsMzIvc2hlbGxvbGUuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGZsZHJfdW5peGZzLmM6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUJlZ2lubmluZyBvZiBhIHNoZWxsIG5hbWVzcGFjZSBleHRlbnNpb24gdG8gYnJvd3NlIHRoZSB1bml4CisJZmlsZXN5c3RlbS4KKworCSogd2luZG93cy9kZWZ3bmQuYzogS3J6eXN6dG9mIEZvbHRtYW4gPGtyenlzenRvZkBmb2x0bWFuLmNvbT4KKwlXTV9DQU5DRUxNT0RFIHJlc2V0cyBtZW51IGZsYWcgaW4gdGhlIGRlZmF1bHQgd2luZG93IHByb2NlZHVyZS4KKworCSogZGxscy9yaWNoZWQyMC9lZGl0b3IuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlDaGFuZ2VkIGJ1ZmZlciBzaXplIGZvciBFTV9TVFJFQU1JTiBtZXNzYWdlIHRvIDQwOTYsIGFzIGl0J3Mgd2hhdCBNJAorCXVzZXMuCisKKwkqIGluY2x1ZGUvcmljaGVkaXQuaDogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZSBkdXBsaWNhdGUgbWVzc2FnZSBkZWZpbmVzIGluIGhlYWRlci4KKworCSogZGxscy91c2VyL21lbnUuYywgaW5jbHVkZS93aW51c2VyLmg6CisJTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJSW1wbGVtZW50ZWQgTUlJTV9CSVRNQVAgc3RhdGUuCisJSGFuZGxlIE1OU19DSEVDS09SQk1QIHN0eWxlLgorCisJKiBkbGxzL3VzZXIvc3lzcGFyYW1zLmMsIHdpbmRvd3MvaW5wdXQuYzoKKwlNYWtlIHRoZSBTd2FwTW91c2VCdXR0b24gZnVuY3Rpb24gYW5kIHRoZSBTUElfU0VUTU9VU0VCVVRUT05TV0FQCisJcGFyYW1ldGVyIHdvcmsgb24gdGhlIHNhbWUgZmxhZy4KKworCSogc2VydmVyL3dpbmRvdy5jOgorCURvbid0IGNoZWNrIGNoaWxkcmVuIG9mIG1pbmltaXplZCB3aW5kb3dzIGluIGdldF91cGRhdGVfcmVnaW9uLgorCisJKiBkbGxzL3JpY2hlZDIwL2NhcmV0LmMsIGRsbHMvcmljaGVkMjAvZWRpdG9yLmMsCisJICBkbGxzL3JpY2hlZDIwL2VkaXRvci5oLCBkbGxzL3JpY2hlZDIwL2VkaXRzdHIuaCwKKwkgIGRsbHMvcmljaGVkMjAvbGlzdC5jLCBkbGxzL3JpY2hlZDIwL3BhaW50LmMsIGRsbHMvcmljaGVkMjAvcGFyYS5jLAorCSAgZGxscy9yaWNoZWQyMC9ydW4uYywgZGxscy9yaWNoZWQyMC93cmFwLmM6CisJS3J6eXN6dG9mIEZvbHRtYW4gPGtmb2x0bWFuQHBvcnRhbC5vbmV0LnBsPgorCVRoZSBtZWFuaW5nIG9mIHRoZSByZXdyYXAgZmxhZyBnb3QgaW52ZXJ0ZWQgKE1FUEZfUkVXUkFQIGluc3RlYWQgb2YKKwlNRVBGX1dSQVBQRUQpIGZvciBjb25zaXN0ZW5jeS4KKwlNYWpvciBjb2RlIGNsZWFudXBzIGluIHJld3JhcC9yZXBhaW50IGNvZGUsIGxlYWRpbmcgdG8gInNtYXJ0ZXIiCisJYmVoYXZpb3VyIHdydCByZXBhaW50aW5nIHNlbGVjdGlvbnMuCisKKwkqIGRsbHMvZHBsYXl4L2RwbG9iYnkuYzogUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJQXZvaWQgQ29udmVydFRvR2xvYmFsSGFuZGxlIGNhbGxzLgorCisJKiBkbGxzL29sZTMyL3N0b3JhZ2UzMi5jLCBkbGxzL29sZTMyL3Rlc3RzL3N0b3JhZ2UzMi5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTaGFyZWQgcmVhZGluZyBvZiBzdG9yYWdlIGZpbGVzIHJlcXVpcmVzIFNUR01fVFJBTlNBQ1RFRC4KKworCSogZGxscy9rZXJuZWwvY29uc29sZS5jOiBHYWJyaWVsIEJ1YWRlcyBSdWJpbyA8YnVidUBkb29wbGV4LmVzPgorCVdoZW4gc2VuZGluZyBtdWx0aS1saW5lIGJveGVzIHRvIGNvbnNvbGUgdGhyb2doIFdpbmVDb25zb2xlT3V0cHV0QSwKKwlvbmx5IHRoZSBmaXJzdCBsaW5lIHdhcyBiZWluZyB0cmFuc2xhdGVkIGludG8gd2lkZS1jaGFycy4KKworCSogZGxscy9vbGVhdXQzMi9yZWNpbmZvLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJTW9yZSBpbXBsZW1lbnRhdGlvbiBvZiBJUmVjb3JkSW5mby4KKworCSogd2luZG93cy9zcHkuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUFkZCBtZXNzYWdlIHNweSBzdXBwb3J0IGZvciBSaWNoRWRpdDIwVyBjb250cm9sLgorCisyMDA1LTAzLTA4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3VzZXIvcGFpbnRpbmcuYzoKKwlQcm9jZXNzIG9ubHkgcGVuZGluZyBleHBvc2UgZXZlbnRzIGR1cmluZyBSRFdfVVBEQVRFTk9XLCBub3QgYWxsIHRoZQorCW90aGVyIFggZXZlbnRzLgorCisJKiBkbGxzL3gxMWRydi9ldmVudC5jOgorCVRha2UgaW50byBhY2NvdW50IHRoZSBldmVudCBtYXNrIHBhc3NlZCB0byBNc2dXYWl0Rm9yTXVsdGlwbGVPYmplY3RzRXgKKwl0byBhbGxvdyBwcm9jZXNzaW5nIG9ubHkgYSBzdWJzZXQgb2YgdGhlIGF2YWlsYWJsZSBYIGV2ZW50cy4KKworCSogdG9vbHMvd3JjL3BhcnNlci55OgorCUFsbG93IHNwZWNpZnlpbmcgZXh0ZW5kZWQgY29udHJvbCBzdHlsZXMgYWxzbyBpbiBzdGFuZGFyZCBkaWFsb2dzCisJKHJlcG9ydGVkIGJ5IE1pY2hhZWwgTGluKS4KKworCSogZGxscy9yaWNoZWQyMC9jYXJldC5jLCBkbGxzL3JpY2hlZDIwL2VkaXRvci5jLAorCSAgZGxscy9yaWNoZWQyMC9lZGl0b3IuaDoKKwlLcnp5c3p0b2YgRm9sdG1hbiA8a2ZvbHRtYW5AcG9ydGFsLm9uZXQucGw+CisJLSBzcGVjaWFsaXplZCBoYW5kbGVyIGZvciBTRl9URVhUIChBTlNJIG9yIFVuaWNvZGUpLCBzaW1wbGUgYW5kIGZhc3QKKwktIGNsZWFycyBjb250cm9sJ3MgdGV4dCBvbiBFTV9TVFJFQU1JTiB3aXRoIG5vIFNGRl9TRUxFQ1RJT04KKworCSogZGxscy9yaWNoZWQyMC9yZWFkZXIuYzogS3J6eXN6dG9mIEZvbHRtYW4gPGtmb2x0bWFuQHBvcnRhbC5vbmV0LnBsPgorCS0gU2luZ2xlIHF1b3RlcyBhcmUgbm93IGhhbmRsZWQgcHJvcGVybHkgKHByZXZpb3VzbHkgdGhleSB3ZXJlCisJICBpbnNlcnRlZCBhcyBbWyddXSkuCisJLSBCZXR0ZXIgaGFuZGxpbmcgb2YgY2FsbGJhY2sgZnVuY3Rpb24ncyByZXN1bHRzLgorCisJKiBkbGxzL21zY21zL2xjbXNfYXBpLmgsIGRsbHMvbXNjbXMvbXNjbXNfbWFpbi5jLCBkbGxzL21zY21zL3N0dWIuYywKKwkgIGRsbHMvbXNjbXMvdHJhbnNmb3JtLmM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJLSBJbXBsZW1lbnQgVHJhbnNsYXRlQml0bWFwQml0cy4KKwktIERvbid0IHBhc3MgYm9ndXMgaW50ZW50IHZhbHVlcyB0byBsY21zLgorCisJKiBwcm9ncmFtcy93aW5ldGVzdC9tYWluLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBydW5uaW5nIHRlc3RzIG9uIGEgdmlzaWJsZSBkZXNrdG9wIGEgbWFuZGF0b3J5IHJlcXVpcmVtZW50LgorCisJKiBkbGxzL3gxMWRydi93aW5kb3cuYzogTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJLSBGaXggdW5tb3ZhYmxlIHdpbmRvd3MgaWYgdGhlIHdpbmRvdyBzdHlsZSBpcyBzZXQgdG8gV1NfUE9QVVAgfAorCSAgV1NfVklTSUJMRSBhbmQgV1NfRVhfQVBQV0lORE9XLgorCS0gRml4IG1ldGFjaXR5IGRpc3BsYXlpbmcgZGVjb3JhdGlvbnMgd2hlcmUgaXQgc2hvdWxkIG5vdC4KKworCSogZGxscy9kaW5wdXQva2V5Ym9hcmQuYywgZGxscy91c2VyL21lc3NhZ2UuYywKKwkgIGRsbHMvd2lubW0vbWNpYXZpL21jaWF2aS5jLCB3aW5kb3dzL3F1ZXVlLmM6CisJTWFrZSBzdXJlIHRvIGFsd2F5cyBwYXNzIHZhbGlkIFFTXyogZmxhZ3MgdG8KKwlNc2dXYWl0Rm9yTXVsdGlwbGVPYmplY3RzLgorCisJKiBNYWtlLnJ1bGVzLmluLCBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGRsbHMvZ2RpL01ha2VmaWxlLmluLAorCSAgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZWJ1aWxkL21haW4uYywKKwkgIHRvb2xzL3dpbmVidWlsZC93aW5lYnVpbGQubWFuLmluLCB0b29scy93aW5lZ2NjL3dpbmVnY2MuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFkZCBzdXBwb3J0IGZvciAuZXhlJ3Mgd2l0aCBleHBvcnRlZCBmdW5jdGlvbnMuCisKKwkqIGRsbHMveDExZHJ2L3hmb250LmM6IEFkZGVkIHN1cHBvcnQgZm9yIGlzbzg4NTktMTYgY2hhcnNldC4KKworCSogZGxscy9yaWNoZWQyMC9NYWtlZmlsZS5pbiwgZGxscy9yaWNoZWQyMC9lZGl0b3IuYywKKwkgIGRsbHMvcmljaGVkMjAvZWRpdG9yLmgsIGRsbHMvcmljaGVkMjAvcmljaG9sZS5jLCBkbGxzL3V1aWQvdXVpZC5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IEVNX0dFVE9MRUlOVEVSRkFDRS4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IFVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbGxvY2F0ZSBzcGFjZSBmb3IgdGVybWluYXRpbmcgbnVsbC4KKworCSogZGxscy9yaWNoZWQyMC9lZGl0b3IuYywgZGxscy9yaWNoZWQyMC9lZGl0b3IuaCwKKwkgIGRsbHMvcmljaGVkMjAvZWRpdHN0ci5oLCBkbGxzL3JpY2hlZDIwL3BhaW50LmMsIGRsbHMvcmljaGVkMjAvcnVuLmMsCisJICBkbGxzL3JpY2hlZDIwL3N0eWxlLmMsIGRsbHMvcmljaGVkMjAvd3JhcC5jOgorCUtyenlzenRvZiBGb2x0bWFuIDxrZm9sdG1hbkBwb3J0YWwub25ldC5wbD4KKwlPbGQgZm9udCBtYW5hZ2VtZW50IHJlcGxhY2VkIGJ5IHRoZSBjYWNoZS1iYXNlZCBvbmUsIHdoaWNoIGtlZXBzCisJbWF4aW11bSBvZiAxMCBIRk9OVHMgYXQgb25jZSwgaW5zdGVhZCBvZiBvbmUgcGVyIGEgY291cGxlIG9mIHJ1bnMuCisKKwkqIGluY2x1ZGUvd2luc29jay5oOgorCUZpeGVkIFdTX0ZEX0NMUiBhbmQgV1NfRkRfU0VUIG1hY3JvcyAoc3BvdHRlZCBieSBUaG9tYXMgS2hvKS4KKworCSogZGxscy91cmxtb24vdXJsbW9uLnNwZWM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCBhIGNvbW1lbnQgZXhwbGFpbmluZyB3aHkgQ0RMR2V0TG9uZ1BhdGhOYW1lW0FXXSBhbmQKKwlJc0pJVEluUHJvZ3Jlc3MgaGF2ZSBoYXJkY29kZWQgb3JkaW5hbHMuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJRml4IGEgbWVtb3J5IGxlYWsuCisKKzIwMDUtMDMtMDcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMveDExZHJ2L3gxMWRydi5oOiBBZGRlZCBhIG1pc3NpbmcgcHJvdG90eXBlLgorCisJKiBkbGxzL3gxMWRydi9jbGlwYm9hcmQuYywgZGxscy94MTFkcnYvZXZlbnQuYywgZGxscy94MTFkcnYveDExZHJ2LmgsCisJICBkbGxzL3gxMWRydi94MTFkcnYuc3BlYywgZGxscy94MTFkcnYveDExZHJ2X21haW4uYywKKwkgIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL2NsaXBib2FyZC5jLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZjoKKwlVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJQ3JlYXRlIGEgdGhyZWFkLXNwZWNpZmljIHNlbGVjdGlvbiB3aW5kb3cgdG8gbWFrZSBzdXJlIHdlIHJlY2VpdmUgdGhlCisJc2VsZWN0aW9uIGV2ZW50cyBpbiB0aGUgY29ycmVjdCB0aHJlYWQuCisKKwkqIGRsbHMva2VybmVsL25lX21vZHVsZS5jLCBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsCisJICBwcm9ncmFtcy93aW5ldmRtL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5ldmRtL3dpbmV2ZG0uYzoKKwlSZWluIEtsYXplcyA8d2lqbkB3YW5hZG9vLm5sPgorCVN1cHBvcnQgZXhlY3V0aW9uIG9mIHBpZiBmaWxlcy4KKworCSogZGxscy91c2VyL3Rlc3RzL3N5c3BhcmFtcy5jOiBKdXN0aW4gQ2hldnJpZXIgPGpjaGV2cmllckBuZXhpY29tLm5ldD4KKwlQYXVsIFZyaWVucyA8UGF1bC5WcmllbnNAeHM0YWxsLm5sPgorCS0gQ29uc29saWRhdGUgZXJyb3IgbWVzc2FnZSBoYW5kbGluZy4KKwktIEFkZCBlcnJvciBjaGVja2luZyB0byBhbGwgaW5pdGlhbCBTeXN0ZW1QYXJhbWV0ZXJzSW5mb0EgY2FsbHMgaW4KKwkgIGVhY2ggcGFyYW1ldGVyIHRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgaWYgYSBnaXZlbiBwYXJhbWV0ZXIgaXNuJ3QKKwkgIHN1cHBvcnRlZCBvciBoYXMgZmFpbGVkIGluIHNvbWUgb3RoZXIgd2F5IHRoYXQgd2UgcmV0dXJuIGFuZCBkb24ndAorCSAgY29udGludWUgb24gd2l0aCB0aGUgdGVzdC4KKwktIFNldExhc3RFcnJvciBiZWZvcmUgY2FsbGluZyB0ZXN0X2Vycm9yX21zZy4KKwktIFNQSV97R0VULFNFVH1JQ09OVElUTEVXUkFQIGlzIHN1cHBvcnRlZCBvbiBXaW45OC4KKworCSogZGxscy9vbGVhdXQzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVhdXQzMi9vbGVhdXQuYywKKwkgIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzIuc3BlYywgZGxscy9vbGVhdXQzMi9yZWNpbmZvLmM6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwktIEltcGxlbWVudGVkIEdldFJlY29yZEluZm9Gcm9tVHlwZUluZm8gYW5kIEdldFJlY29yZEluZm9Gcm9tR3VpZC4KKwktIEJlZ2lubmlnIGltcGxlbWVudGF0aW9uIG9mIElSZWNvcmRJbmZvLgorCisJKiBkbGxzL3VzZXIvbWVzc2FnZS5jLCBkbGxzL3VzZXIvdXNlcl9tYWluLmMsIGRsbHMvdXNlci91c2VyX3ByaXZhdGUuaCwKKwkgIHdpbmRvd3MvbWVzc2FnZS5jOgorCU1vdmVkIFRyYW5zbGF0ZU1lc3NhZ2UgYW5kIERpc3BhdGNoTWVzc2FnZSB0byBkbGxzL3VzZXIvbWVzc2FnZS5jLgorCUFkZGVkIHN1cHBvcnQgZm9yIHBvc3RpbmcgaW50ZXJuYWwgbWVzc2FnZXMuCisJQWRkZWQgc3VwcG9ydCBmb3IgZHJpdmVyLXNwZWNpZmljIGludGVybmFsIG1lc3NhZ2VzLgorCisJKiBkbGxzL3VzZXIvc3lzcGFyYW1zLmM6CisJU2V0IFNNX0RCQ1NFTkFCTEVEIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUgaW5zdGVhZCBvZgorCWhhcmRjb2RpbmcgaXQgdG8gMCAoZm91bmQgYnkgTWlrZSBNY0Nvcm1hY2spLgorCisJKiBkbGxzL3JpY2hlZDIwL01ha2VmaWxlLmluLCBkbGxzL3JpY2hlZDIwL2VkaXRvci5jLAorCSAgZGxscy9yaWNoZWQyMC9yZWFkZXIuYywgZGxscy9yaWNoZWQyMC9ydGYuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUG9ydCB0aGUgUlRGIHBhcnNlciB0byB0aGUgcmljaGVkaXQgMi4wIGNvbnRyb2wuCisKKwkqIGRsbHMvb2xlMzIvY29tcG9ial9wcml2YXRlLmgsIGRsbHMvb2xlMzIvbWFyc2hhbC5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIGVhY2ggaWZwcm94eSBoYXZlIGl0cyBvd24gY2hhbm5lbCBidWZmZXIgdG8gZml4IGEgYnVnIHdoZXJlIGEKKwlwcm94eSB3aXRoIG11bHRpcGxlIGludGVyZmFjZXMgY291bGQgaW52b2tlIHRoZSB3cm9uZyBzdHViIGJ1ZmZlciBvbgorCXRoZSBzZXJ2ZXIuCisKKwkqIGRsbHMveDExZHJ2L3dpbmRvdy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUF2b2lkIHVubmVjZXNzYXJ5IHdpbmRvdyBsb2NraW5nIGluIFgxMURSVl9EZXN0cm95V2luZG93LgorCisJKiBkbGxzL3VzZXIvdGVzdHMvd2luLmMsIHdpbmRvd3MvaW5wdXQuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCS0gQ2FsbCBTZXRDdXJzb3JQb3MgZm9yIGFuIGluamVjdGVkIG1vdXNlIG1lc3NhZ2Ugb25seSBpZiB3ZSByZWFsbHkKKwkgIG5lZWQgdG8gbW92ZSBtb3VzZSBwb2ludGVyLgorCS0gQWRkIGEgdGVzdCBjYXNlIGZvciBtb3VzZSBjbGljayBoYW5kbGluZy4KKworCSogcHJvZ3JhbXMvd2luZWRiZy93aW5lZGJnLmM6CisJTWFrZSBvdXRwdXQgbGluZS1idWZmZXJlZCB0byBhdm9pZCBtZXNzaW5nIHVwIGxvZyBmaWxlcy4KKworCSogZGxscy9vbGUzMi9zdGdfYmlnYmxvY2tmaWxlLmMsIGRsbHMvb2xlMzIvc3RnX3N0cmVhbS5jLAorCSAgZGxscy9vbGUzMi9zdG9yYWdlMzIuYywgZGxscy9vbGUzMi9zdG9yYWdlMzIuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IG1vcmUgaW5jb3JyZWN0IHVzZXMgb2YgU1RHTV8gZW51bWVyYXRpb25zLgorCisJKiBkbGxzL2RiZ2hlbHAvZGJnaGVscC5jOiBFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlXaGVuIGluaXRpYWxpemluZyBhIGxpdmUgdGFyZ2V0LCBhc2sgdG8gbG9hZCBtb2R1bGUgZmlsZSBuYW1lcywgbm90CisJbW9kdWxlIG5hbWVzIChzcG90dGVkIGJ5IFJvYmVydCBSZWlmKS4KKworCSogZGxscy9kZHJhdy9kZHJhd19wcml2YXRlLmgsIGRsbHMvZGRyYXcvZHN1cmZhY2UvZGliLmMsCisJICBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYzoKKwlNYXR0aGV3IE1hc3RyYWNjaSA8bWF0dEBhY2xhcm8uY29tPgorCUFkZGVkIHN1cmZhY2UgbG9ja2luZy4KKworCSogZGxscy91c2VyL3BhaW50aW5nLmM6CisJUmV0cnkgc2VuZGluZyBhIFdNX1BBSU5UIGluIHVwZGF0ZV9ub3cgYWZ0ZXIgd2Ugc2VudCBhbiBlcmFzZQorCW1lc3NhZ2UuCisKKwkqIGRsbHMvc2hlbGwzMi9kaWFsb2dzLmMsIGRsbHMvc2hlbGwzMi9mb2xkZXJzLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmMsIGRsbHMvc2hlbGwzMi9zaGxmb2xkZXIuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGx2aWV3LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVVzZSBsc3RyY21waUEgaW4gcHJlZmVyZW5jZSB0byBzdHJjYXNlY21wLgorCisJKiBkbGxzL3JpY2hlZDIwL2VkaXRvci5jOgorCUZpeGVkIERMTF9QUk9DRVNTX0RFVEFDSCBoYW5kbGVyIHRvIGFjdHVhbGx5IHVucmVnaXN0ZXIgdGhlIHdpbmRvdworCWNsYXNzZXMuCisKKwkqIHRvb2xzL3dpbmVkdW1wL01ha2VmaWxlLmluLCB0b29scy93aW5lZHVtcC9kZWJ1Zy5jLAorCSAgdG9vbHMvd2luZWR1bXAvZHVtcC5jLCB0b29scy93aW5lZHVtcC9taW5pZHVtcC5jLAorCSAgdG9vbHMvd2luZWR1bXAvcGUuYywgdG9vbHMvd2luZWR1bXAvcGUuaCwgdG9vbHMvd2luZWR1bXAvd2luZWR1bXAuaDoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlDcmVhdGVkIGR1bXAuYyBhcyBhIGNlbnRyYWwgcG9pbnQgZm9yIGZpbGUgZHVtcGluZyAoaW5jbHVkZXMgaGVhZGVyCisJYW5hbHlzaXMsIHV0aWxpdHkgZnVuY3MuLi4pLgorCUFkZGVkIHN1cHBvcnQgZm9yIGR1bXBpbmcgbWluaWR1bXAgZmlsZXMuCisKKwkqIGRsbHMvZGJnaGVscC9kYmdoZWxwLnNwZWMsIGRsbHMvZGJnaGVscC9lbGZfbW9kdWxlLmMsCisJICBkbGxzL2RiZ2hlbHAvbWluaWR1bXAuYywgaW5jbHVkZS9kYmdoZWxwLmg6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJQWRkZWQgc3VwcG9ydCBmb3IgbWluaWR1bXAgKHJlYWQgJiB3cml0ZSkuCisKKwkqIGRsbHMvYXRsL2F0bC5zcGVjLCBkbGxzL2F0bC9yZWdzdnIuYzoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCUFkZCBzdHViIGZvciBHZXRDbGFzc09iamVjdCBmdW5jdGlvbi4KKworCSogZGxscy9kZHJhdy9kZHJhdy91c2VyLmM6IE1hdHRoZXcgTWFzdHJhY2NpIDxtbWFzdHJhY0BjYW5hZGEuY29tPgorCUFkZCBERENBUFNfT1ZFUkxBWSBhbmQgRERDQVBTX09WRVJMQVlTVFJFVENIIHRvIEdldENhcHMoKS4KKworCSogZGxscy9tc3ZjcnQvZmlsZS5jLCBkbGxzL21zdmNydC9tc3ZjcnQuaDoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCU1ha2UgbXN2Y3J0IHByaW50ZiB1c2UgdGhlIGludGVybmFsIHJvdXRpbmVzIHdoaWNoIHVuZGVyc3RhbmQgJVMgYW5kCisJJUMuCisKKwkqIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywgZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJQWRkIHN0dWIgZm9yIFNldFNlY3VyaXR5SW5mby4KKworCSogZGxscy9yaWNoZWQyMC9wYWludC5jOiBLcnp5c3p0b2YgRm9sdG1hbiA8a2ZvbHRtYW5AcG9ydGFsLm9uZXQucGw+CisJQWRkZWQgYSBjaGVjayBmb3IgZW1wdHkgc2Nyb2xsYmFyIHJhbmdlLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvbWl4ZXIuYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJTWFrZSB3aW5lb3NzJ3MgbWl4ZXIga25vdyBhYm91dCBEU1RfSEVBRFBIT05FUywgRFNUX0xJTkUgYW5kCisJRFNUX1ZPSUNFSU4uIFVzZSBwcm9wZXIgY29uc3RhbnRzIGluc3RlYWQgb2YgMCBhbmQgMS4KKworCSogZGxscy9vbGUzMi9vbGUzMi5zcGVjLCBkbGxzL29sZTMyL3N0b3JhZ2UzMi5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgU3RnQ3JlYXRlUHJvcFNldFN0Zy4KKworCSogcHJvZ3JhbXMvd2luZXRlc3QvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmV0ZXN0L21haW4uYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFub3RoZXIgYXR0ZW1wdCBvZiBhIHRlc3QgZm9yIGEgdmlzaWJsZSBkZXNrdG9wLgorCisJKiB3aW5kb3dzL21zZ2JveC5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUNhbGwgUmVsZWFzZURDKCkgd2l0aCBjb3JyZWN0IHdpbmRvdyBoYW5kbGUuCisKKwkqIGRsbHMvdXNlci9tZXNzYWdlLmM6IFVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlQcmludCBvdXQgZXJyb3IgbWVzc2FnZSBpZiB3ZSBmYWlsIHRvIHJlbW92ZSBtZXNzYWdlIGZyb20gcXVldWUuCisKKzIwMDUtMDMtMDUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvcmljaGVkMjAvcmljaG9sZS5jOiBGaXhlZCBET1MgbGluZSBlbmRpbmdzLgorCisJKiB0b29scy93aW5lZ2NjL01ha2VmaWxlLmluOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlDcmVhdGUgc3ltbGlua3MgbmFtZWQgd2luZWcrKyBhbmQgd2luZWNwcCB3aGlsZSBidWlsZGluZyB3aW5lZ2NjLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwgZGxscy9yaWNoZWQyMC8uY3ZzaWdub3JlLAorCSAgZGxscy9yaWNoZWQyMC9NYWtlZmlsZS5pbiwgZGxscy9yaWNoZWQyMC9jYXJldC5jLAorCSAgZGxscy9yaWNoZWQyMC9jb250ZXh0LmMsIGRsbHMvcmljaGVkMjAvZWRpdG9yLmMsCisJICBkbGxzL3JpY2hlZDIwL2VkaXRvci5oLCBkbGxzL3JpY2hlZDIwL2VkaXRzdHIuaCwKKwkgIGRsbHMvcmljaGVkMjAvbGlzdC5jLCBkbGxzL3JpY2hlZDIwL3BhaW50LmMsIGRsbHMvcmljaGVkMjAvcGFyYS5jLAorCSAgZGxscy9yaWNoZWQyMC9yaWNoZWQyMC5zcGVjLCBkbGxzL3JpY2hlZDIwL3JpY2hvbGUuYywKKwkgIGRsbHMvcmljaGVkMjAvcm93LmMsIGRsbHMvcmljaGVkMjAvcnVuLmMsIGRsbHMvcmljaGVkMjAvc3RyaW5nLmMsCisJICBkbGxzL3JpY2hlZDIwL3N0eWxlLmMsIGRsbHMvcmljaGVkMjAvdW5kby5jLCBkbGxzL3JpY2hlZDIwL3dyYXAuYzoKKwlLcnp5c3p0b2YgRm9sdG1hbiA8a2ZvbHRtYW5AcG9ydGFsLm9uZXQucGw+CisJSW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiByaWNoZWQyMC4KKworCSogZGxscy9kc291bmQvdGVzdHMvZHNvdW5kLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRG9uJ3QgY29uc2lkZXIgbm8gc291bmQgZGV2aWNlIGEgZmFpbHVyZS4KKworCSogc2VydmVyL3F1ZXVlLmM6IEF2b2lkIHBvdGVudGlhbCBjcmFzaCB3aGVuIGZyZWVpbmcgYSBtZXNzYWdlIHF1ZXVlLgorCVByb3Blcmx5IGluaXRpYWxpemUgbmV3bHkgYWxsb2NhdGVkIG1lc3NhZ2VzLgorCisJKiB3aW5kb3dzL3NweS5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJV01fVVNFUiBtZXNzYWdlcyBzaG91bGQgYmUgZHVtcGVkIGluIHRoZSBmb3JtYXQgIldNX1VTRVIgKyAlZCIgdG8gbWFrZQorCWl0IGVhc2llciB0byBzZWUgd2hhdCBtZXNzYWdlIGl0IGlzIGZvciB1bmtub3duIGNsYXNzZXMuCisKKwkqIHRvb2xzL3dpZGwvaGVhZGVyLmMsIHRvb2xzL3dpZGwvaGVhZGVyLmgsIHRvb2xzL3dpZGwvcGFyc2VyLnk6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlXcml0ZSB1dWlkIG9mIGxpYnJhcnkgaW4gaGVhZGVyLgorCisJKiBkbGxzL2Rzb3VuZC90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9kc291bmQvdGVzdHMvY2FwdHVyZS5jLAorCSAgZGxscy9kc291bmQvdGVzdHMvZHMzZC5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kczNkOC5jLAorCSAgZGxscy9kc291bmQvdGVzdHMvZHNvdW5kLmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZDguYywKKwkgIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZF90ZXN0LmgsIGRsbHMvZHNvdW5kL3Rlc3RzL3Byb3BzZXQuYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCVByaW50IGRzb3VuZC5kbGwgdmVyc2lvbiBmcm9tIGZpbGUgdmVyc2lvbmluZm8gcmVzb3VyY2UuCisKKwkqIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmMsIGRsbHMvb2xlMzIvdGVzdHMvc3RvcmFnZTMyLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVRlc3QgYW5kIGZpeCBncmZNb2RlIGhhbmRsaW5nIGluIFN0Z09wZW5Eb2NmaWxlLgorCisJKiBwcm9ncmFtcy9NYWtlcHJvZy5ydWxlcy5pbjoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQVBQTU9ERSBjYW4gbm93IGJlIG9uZSBvZiAtbXdpbmRvd3Mgb3IgLW1jb25zb2xlLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvc3lzcGFyYW1zLmM6IFBhdWwgVnJpZW5zIDxQYXVsLlZyaWVuc0B4czRhbGwubmw+CisJTGFzdEVycm9yIGlzIG5vdCBzZXQgb24gZmFpbHVyZSBmb3IgKk1PVVNFSE9WRVIqIG9uIFdpbjk4LgorCisJKiBkbGxzL2FkdmFwaTMyL3Rlc3RzL3NlY3VyaXR5LmM6IEpha29iIEVyaWtzc29uIDxqYWtvdkB2bWxpbnV4Lm9yZz4KKwlBY2NvdW50IGZvciBwZXJtaXNzaW9ucyBvbiBXaW4yay4KKworCSogaW5jbHVkZS9vYmpiYXNlLmg6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEZWNsYXJlIHRoZSB2YWx1ZSBvZiBTVEdNX0RJUkVDVF9TV01SLgorCisJKiBkbGxzL21zdmNydC90ZXN0cy9wcmludGYuYywgZGxscy9tc3ZjcnQvd2NzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUhhbmRsZSAlbHMgaW4gc3ByaW50Zi4KKworCSogZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jOiBUcm95IFJvbGxvIDx3aW5lQHRyb3kucm9sbG8ubmFtZT4KKwlNYWtlIEdldEZpbGVTZWN1cml0eVcgcmV0dXJuIGEgc3RhbmRhcmQgU0VDVVJJVFlfREVTQ1JJUFRPUiBpbnN0ZWFkIG9mCisJYW4gdW5pbml0aWFsaXNlZCAoYW5kIGludmFsaWQpIG9uZS4KKworMjAwNS0wMy0wNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMva2VybmVsL3N5bmMuYywgZGxscy9udGRsbC9zeW5jLmMsCisJICBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYywgZGxscy93aW5tbS93aW5lb3NzL2RzY2FwdHVyZS5jLAorCSAgZGxscy93aW5tbS93aW5lb3NzL2RzcmVuZGVyLmMsIGRsbHMvd2lubW0vd2luZW9zcy9taWRpLmMsCisJICBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGluY2x1ZGUvY29uZmlnLmguaW4sIHNlcnZlci9mZC5jLAorCSAgc2VydmVyL2ZpbGUuYywgc2VydmVyL25hbWVkX3BpcGUuYywgc2VydmVyL3Byb2Nlc3MuYywKKwkgIHNlcnZlci9yZXF1ZXN0LmMsIHNlcnZlci9zZXJpYWwuYywgc2VydmVyL3NpZ25hbC5jLCBzZXJ2ZXIvdGhyZWFkLmM6CisJU3RldmVuIEVkd2FyZHMgPHN0ZXZlbl9lZDQxNTNAeWFob28uY29tPgorCUFkZGVkIGEgY2hlY2sgZm9yIHBvbGwuaC4KKworCSogcHJvZ3JhbXMvd2luZWRiZy9tZW1vcnkuYzogQXZvaWQgYSBjb21waWxlciB3YXJuaW5nLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYzogVHJveSBSb2xsbyA8d2luZUB0cm95LnJvbGxvLm5hbWU+CisJUmV0dXJuIGFuIGVtcHR5IHN0cmluZyBmb3Igc2VydmljZSBkZXBlbmRlbmNpZXMgd2hlbiB0aGVyZSBhcmUgbm8KKwlkZXBlbmRlbmNpZXMsIHJhdGhlciB0aGFuIGEgTlVMTCBwb2ludGVyLCB3aGljaCBjYXVzZXMgc29tZSBhcHBzIHRvCisJU0VHVi4KKworCSogZGxscy9tc2kvZGlhbG9nLmM6IFVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc3VwcG9ydCBmb3IgcmFkaW8gYnV0dG9ucy4KKworCSogZGxscy91c2VyL3Rlc3RzL3N5c3BhcmFtcy5jOiBKdXN0aW4gQ2hldnJpZXIgPGpjaGV2cmllckBuZXhpY29tLm5ldD4KKwlFeHBhbmQgY29uZm9ybWFuY2UgcmVnaXN0cnkgZW50cnkgdGVzdCB0byBoYW5kbGUgcmVnaXN0cnkgZW50cmllcyB0aGF0CisJZGlmZmVyIGJvdGggaW4gS2V5IGFuZCBWYWx1ZSBmcm9tIHRoZSBub3JtLgorCVRha2UgYWR2YW50YWdlIG9mIGV4cGFuZGVkIHJlZ2lzdHJ5IHRlc3QgdG8gYWxsb3cKKwlTUElfe0dFVCxTRVR9U0NSRUVOUkVBREVSIGFuZCBTUElfe0dFVCxTRVR9S0VZQk9BUkRQUkVGRVJFTkNFIHRvIHBhc3MKKwlvbiBXaW45eC4KKworCSogZGxscy9vbGUzMi9ycGMuYywgZGxscy9vbGUzMi90ZXN0cy9tYXJzaGFsLmM6CisJUm9iIFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCU1pa2UgSGVhcm4gPG1oQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEFkZCByZS1lbnRyYW5jeSB0ZXN0cyB0byB0aGUgdGVzdCBzdWl0ZS4KKwktIFJ1biBSUENzIG9uIGEgbmV3IHRocmVhZCBjbGllbnQgc2lkZSBzbyB3ZSBjYW4gcHVtcCB0aGUgbWVzc2FnZQorCSAgbG9vcC4KKworCSogZGxscy9vbGVhdXQzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmM6CisJTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJSW1wbGVtZW50cyBPbGVMb2FkUGljdHVyZVBhdGguCisKKwkqIGRsbHMvdXNlci9tZXNzYWdlLmM6CisJU3VwcG9ydCBzZW5kaW5nIFdNX1BBSU5UIGFjcm9zcyBwcm9jZXNzZXMgd2hlbiBpdCBkb2Vzbid0IGNvbnRhaW4gYW4KKwlIREMuCisKKwkqIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgU3RnU2V0VGltZXMuCisKKwkqIGRsbHMvcmljaGVkaXQvcmljaGVkaXQuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURvbid0IGNsZWFyIEVTX0FVVE9bSFZdU0NST0xMIGluIHRoZSBlZGl0IGNvbnRyb2wgY3JlYXRlZCBieQorCXJpY2hlZGl0LgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYzogVHJveSBSb2xsbyA8d2luZUB0cm95LnJvbGxvLm5hbWU+CisJQ29ycmVjdCBpbmNvcnJlY3QgdXNlIG9mIGFyZ3VtZW50cyB0byBRdWVyeVNlcnZpY2VDb25maWdXLgorCisJKiBkbGxzL21zdmNydC90ZXN0cy9wcmludGYuYywgZGxscy9tc3ZjcnQvd2NzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUhhbmRsZSB0aGUgcHJpbnRmICVGIGZvcm1hdCBtb2RpZmllci4KKworCSogaW5jbHVkZS9yaWNoZWRpdC5oOiBLcnp5c3p0b2YgRm9sdG1hbiA8a2ZvbHRtYW5Ab25ldC5wbD4KKwktIGFkZGVkIG1pc3NpbmcgQ0ZNXyBjb25zdGFudHMgdG8gbWFrZSBSaWNoRWRpdCAyLjAgaW1wbGVtZW50YXRpb24KKwkgIHBvc3NpYmxlCisJLSBhZGRlZCBhIG1pc3Npbmcgc3RydWN0dXJlIFBBUkFGT1JNQVQyCisKKwkqIGRsbHMva2VybmVsL3Byb2ZpbGUuYywgZGxscy9rZXJuZWwvdGVzdHMvcHJvZmlsZS5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJRml4IHJlZ3Jlc3Npb24gaW4gR2V0UHJpdmF0ZVByb2ZpbGVTZWN0aW9uIGZvciBsaW5lcyB3aXRob3V0IGFuICc9Jy4KKwlBZGQgdGVzdC4KKworCSogZGxscy9ycGNydDQvcnBjX2JpbmRpbmcuYzogTWlrZSBIZWFybiA8bWhAY29kZXdlYXZlcnMuY29tPgorCVN1cHByZXNzIHNvbWUgdXNlbGVzcyB3YXJuaW5ncyBpbiB0aGUgUlBDIHJ1bnRpbWUsIGFuZCBtYWtlIGEgZmV3CisJVFJBQ0VzIHRoYXQgd2VyZSByZXBvcnRpbmcgcHJvYmxlbXMgaW50byBXQVJOcy4KKworCSogZGxscy91c2VyL3Rlc3RzL3N5c3BhcmFtcy5jOiBQYXVsIFZyaWVucyA8UGF1bC5WcmllbnNAeHM0YWxsLm5sPgorCUJldHRlciB3YXkgb2YgaGFuZGxpbmcgbm9uLWV4aXN0ZW50IFN5c3RlbVBhcmFtZXRlcnNJbmZvVy4KKwlTZXRMYXN0RXJyb3IgaWYgR2V0TGFzdEVycm9yIGlzIGNoZWNrZWQgYWZ0ZXIgYSBjYWxsLgorCisyMDA1LTAzLTAzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBwcm9ncmFtcy93aW5lZGJnL2RiZy55LCBwcm9ncmFtcy93aW5lZGJnL2RlYnVnZ2VyLmgsCisJICBwcm9ncmFtcy93aW5lZGJnL2Rpc3BsYXkuYywgcHJvZ3JhbXMvd2luZWRiZy9tZW1vcnkuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvc3RhY2suYywgcHJvZ3JhbXMvd2luZWRiZy93aW5lZGJnLmM6CisJRml4ZWQgYSBmZXcgcmVncmVzc2lvbnMgaW4gdGhlIGhhbmRsaW5nIG9mIHNlZ21lbnRlZCBhZGRyZXNzZXMuCisKKwkqIGRsbHMvZDNkOS9kM2Q5X3ByaXZhdGUuaCwgZGxscy9kM2Q5L3F1ZXJ5LmMsCisJICBkbGxzL3dpbmVkM2QvTWFrZWZpbGUuaW4sIGRsbHMvd2luZWQzZC9kZXZpY2UuYywKKwkgIGRsbHMvd2luZWQzZC9kcmF3cHJpbS5jLCBkbGxzL3dpbmVkM2QvcXVlcnkuYywKKwkgIGRsbHMvd2luZWQzZC9zdGF0ZWJsb2NrLmMsIGRsbHMvd2luZWQzZC9zdXJmYWNlLmMsCisJICBkbGxzL3dpbmVkM2QvdXRpbHMuYywgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oLAorCSAgaW5jbHVkZS9kM2Q5dHlwZXMuaCwgaW5jbHVkZS93aW5lL3dpbmVkM2RfaW50ZXJmYWNlLmgsCisJICBpbmNsdWRlL3dpbmUvd2luZWQzZF90eXBlcy5oOgorCU9saXZlciBTdGllYmVyIDxvbGl2ZXJfc3RpZWJlckB5YWhvby5jby51az4KKwlBZGRlZCBhIHN0dWJiZWQgb3V0IHZlcnNpb24gb2YgcXVlcnkgdG8gZDNkOSBhbmQgd2luZWQzZC4KKwlVcGRhdGUgdGhlIGQzZDkgaGVhZGVycyBhbmQgY3JlYXRlcyB3aW5lZDNkIHR5cGVzIHdoZXJlIGQzZDkgYW5kIGQzZDgKKwlhcmUgaW5jb21wYXRpYmxlLgorCisJKiBkbGxzL3NoZWxsMzIvY2xhc3Nlcy5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCURvbid0IHByZXBlbmQgJ1xcJyB0byB0aGUgc3Via2V5IG5hbWUuCisKKwkqIGRsbHMvY29tY3RsMzIvZHJhZ2xpc3QuYywgaW5jbHVkZS9jb21tY3RybC5oOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVW5pY29kaWZpY2F0aW9uLiBTbWFsbCBjbGVhbnVwcy4KKworCSogZGxscy9udGRsbC9oZWFwLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUR1bXAgSGVhcFdhbGsgZW50cmllcy4KKworCSogcHJvZ3JhbXMvd2luZXRlc3QvbWFpbi5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVVzZSBJc1dpbmRvd1Zpc2libGUgaW5zdGVhZCBvZiBHZXRXaW5kb3dMb25nKEdXTF9TVFlMRSkgJiBXU19WSVNJQkxFCisJYXMgYSB0ZXN0IGZvciBkZXNrdG9wIHZpc2liaWxpdHkuCisKKwkqIGRsbHMvd2lubW0vdGVzdHMvd2F2ZS5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVdhcm4gdGhlIHVzZXIgaWYgaGUgaXMgcnVubmluZyB0aGUgdGVzdCBpbiBpbnRlcmFjdGl2ZSBtb2RlIGJ1dCB0aGUKKwlzb3VuZCBpcyB0dXJuZWQgb2ZmLgorCisyMDA1LTAzLTAyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsIGRsbHMvY29tY3RsMzIvc3lzbGluay5jLCBkbGxzL2dkaS9yZWdpb24uYywKKwkgIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9rZXJuZWwvdGVzdHMvZmlsZS5jLCBkbGxzL21zaS9hY3Rpb24uYywKKwkgIGRsbHMvbXNpL21zaS5jLCBkbGxzL21zdmNydC9maWxlLmMsIGRsbHMvbnRkbGwvcmVnLmMsCisJICBkbGxzL29sZTMyL2NsaXBib2FyZC5jLCBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYywKKwkgIGRsbHMvb2xlYXV0MzIvdmFyZm9ybWF0LmMsIGRsbHMvcmljaGVkaXQvcmVhZGVyLmMsCisJICBkbGxzL3JpY2hlZGl0L3JpY2hlZGl0LmMsIGRsbHMvc2hlbGwzMi9jbGlwYm9hcmQuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYywgZGxscy9zaGVsbDMyL3NoZmxkcl9mcy5jLAorCSAgZGxscy91c2VyL2RkZS9kZGVfcHJpdmF0ZS5oLCBkbGxzL3VzZXIvdGVzdHMvc3lzcGFyYW1zLmMsCisJICBkbGxzL3dpbmVkb3MvdnhkLmMsIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jLAorCSAgZG9jdW1lbnRhdGlvbi9hcmNoaXRlY3R1cmUuc2dtbCwgZG9jdW1lbnRhdGlvbi9nZXR0aW5nLnNnbWwsCisJICBpbmNsdWRlL29iamJhc2UuaCwgcHJvZ3JhbXMvY21kbGd0c3QvY21kbGd0c3QuYywKKwkgIHByb2dyYW1zL3djbWQvd2NtZG1haW4uYywgcHJvZ3JhbXMvd2luZWJvb3Qvd2luZWJvb3QuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvZGJfZGlzYXNtLmMsIHByb2dyYW1zL3dpbmV2ZG0vd2luZXZkbS5jLAorCSAgdG9vbHMvd2lkbC9jbGllbnQuYywgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW4sCisJICB0b29scy93aW5lZHVtcC9wZS5jLCB0b29scy93aW5lZHVtcC9zeW1ib2wuYywgdG9vbHMvd3JjL3BhcnNlci55OgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFzc29ydGVkIHNwZWxsaW5nIGZpeGVzLgorCisJKiBkbGxzL2QzZDkvZDNkOV9tYWluLmMsIGRsbHMvZDNkOS9zdXJmYWNlLmMsCisJICBkbGxzL3dpbmVkM2QvYmFzZXRleHR1cmUuYywgZGxscy93aW5lZDNkL2N1YmV0ZXh0dXJlLmMsCisJICBkbGxzL3dpbmVkM2QvZGV2aWNlLmMsIGRsbHMvd2luZWQzZC9kaXJlY3R4LmMsCisJICBkbGxzL3dpbmVkM2QvaW5kZXhidWZmZXIuYywgZGxscy93aW5lZDNkL3Jlc291cmNlLmMsCisJICBkbGxzL3dpbmVkM2Qvc3RhdGVibG9jay5jLCBkbGxzL3dpbmVkM2QvdGV4dHVyZS5jLAorCSAgZGxscy93aW5lZDNkL3ZlcnRleGJ1ZmZlci5jLCBkbGxzL3dpbmVkM2QvdmVydGV4ZGVjbGFyYXRpb24uYywKKwkgIGRsbHMvd2luZWQzZC92b2x1bWUuYywgZGxscy93aW5lZDNkL3ZvbHVtZXRleHR1cmUuYywKKwkgIGRsbHMvd2luZWQzZC93aW5lZDNkX21haW4uYywgaW5jbHVkZS93aW5lL3dpbmVkM2RfaW50ZXJmYWNlLmg6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUltcGxlbWVudGVkIGd1aWRzIGZvciB3aW5lZDNkLgorCisJKiBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvLmMsIGRsbHMvd2lubW0vd2luZWFydHMvYXVkaW8uYywKKwkgIGRsbHMvd2lubW0vd2luZWF1ZGlvaW8vYXVkaW8uYywgZGxscy93aW5tbS93aW5lamFjay9hdWRpby5jLAorCSAgZGxscy93aW5tbS93aW5lbmFzL2F1ZGlvLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBcHBseSBKZXJlbXkgV2hpdGUncyBTTVBURSBjYWxjdWxhdGlvbiBmaXggdG8gZWFjaCBhdWRpbyBkcml2ZXIuCisKKwkqIGRsbHMvZDNkOC9kM2Q4X3ByaXZhdGUuaCwgZGxscy9rZXJuZWwvbG9jYWwxNi5jLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvdGhyZWFkLmMsIGRsbHMvbXNjbXMvbXNjbXNfbWFpbi5jLAorCSAgZGxscy9tc2kvYWN0aW9uLmMsIGRsbHMvbnRkbGwvY2Ryb20uYywgZGxscy9udGRsbC9maWxlLmMsCisJICBkbGxzL29sZTMyL2NsaXBib2FyZC5jLCBkbGxzL3F1YXJ0ei9tYWluLmMsCisJICBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYywgZGxscy90d2Fpbi90d2Fpbi5oLCBkbGxzL3dpbmVkM2QvdXRpbHMuYywKKwkgIGRsbHMvd2luZXBzL2dyYXBoaWNzLmMsIGRsbHMvd2lubW0vam95c3RpY2svam95c3RpY2suYywKKwkgIGRsbHMvd3NvY2szMi9zb2NrZXQuYywgZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsIGluY2x1ZGUvZG11c2ljYy5oLAorCSAgaW5jbHVkZS93aW5lL3JwY2ZjLmgsIHByb2dyYW1zL3JwY3NzL3JwY3NzX21haW4uYywKKwkgIHByb2dyYW1zL3Rhc2ttZ3IvcGVyZmRhdGEuYywgcHJvZ3JhbXMvdGFza21nci9wcm9jcGFnZS5jLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvY3Vyc2VzLmMsIHByb2dyYW1zL3dpbmVtaW5lL21haW4uaCwKKwkgIHRvb2xzL3dyYy9wYXJzZXIueToKKwlBdm9pZCBzcGFjZXMgYmVmb3JlIHByZXByb2Nlc3NvciBkaXJlY3RpdmVzLCB0aGF0J3Mgbm90IHBvcnRhYmxlLgorCisJKiBNYWtlZmlsZS5pbiwgdG9vbHMvTWFrZWZpbGUuaW46CisJd2luZXByZWZpeGNyZWF0ZSBhbmQgcmVsYXRlZCBmaWxlcyBuZWVkIHRvIGJlIGluc3RhbGxlZCB3aGVuIGRvaW5nIGFuCisJaW5zdGFsbC1saWIuCisKKwkqIGRsbHMvd2lubW0vd2F2ZW1hcC93YXZlbWFwLmM6IEplcmVteSBXaGl0ZSA8andoaXRlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZ2dyZXNzaXZlbHkgcm91bmQgdXAgdG8gdGhlIHByb3BlciBhbGlnbm1lbnQgd2hlbiByZXBvcnRpbmcgcG9zaXRpb24KKwlvbiBzdHJlYW1zIHdoZXJlIHdlIGFyZSBjb252ZXJ0aW5nIHVwLgorCisJKiB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL3dpbi5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQXNrIGZvciBhbiBNREkgY2hpbGQgaWQgaW4gYWxsIGNhc2VzLgorCisJKiBkbGxzL3VzZXIvbWVudS5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCURlc3Ryb3lNZW51IHNob3VsZCBub3QgZGVzdHJveSBzeXN0ZW0gbWVudSBwb3B1cCBvd25lci4KKworCSogZGxscy9kM2Q5L2QzZDlfcHJpdmF0ZS5oLCBkbGxzL2QzZDkvZGV2aWNlLmMsIGRsbHMvZDNkOS9zdXJmYWNlLmMsCisJICBkbGxzL2QzZDkvdmVydGV4ZGVjbGFyYXRpb24uYywgZGxscy93aW5lZDNkL2RldmljZS5jLAorCSAgZGxscy93aW5lZDNkL3N1cmZhY2UuYywgZGxscy93aW5lZDNkL3ZlcnRleHNoYWRlci5jLAorCSAgZGxscy93aW5lZDNkL3dpbmVkM2RfcHJpdmF0ZS5oLCBpbmNsdWRlL3dpbmUvd2luZWQzZF9pbnRlcmZhY2UuaDoKKwlPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJUHV0IGFsbCB0aGUgc3R1YnMgaW4gd2luZWQzZCBpbiBwbGFjZSwgd2l0aCBzb21lIGZ1bmN0aW9uYWxpdHkgY29waWVkCisJYWNyb3NzIGZyb20gZDNkOS4KKwlNYWtlIHN1cmUgYWxsIGQzZDkgZGV2aWNlIGZ1bmN0aW9uIGNhbGwgdGhlaXIgd2luZWQzZCBjb3VudGVycGFydCAob3IKKwlwZXJmb3JtIGEgZnVuY3Rpb24pLgorCisJKiBpbmNsdWRlL2RjZS5oLCB3aW5kb3dzL2RjZS5jOgorCUJlZ2lubmluZ3Mgb2YgaW50ZXItcHJvY2VzcyBHZXREQyBzdXBwb3J0LgorCVVzZSBhIHN0YW5kYXJkIGxpc3QgZm9yIHRoZSBEQ0UgbGlzdC4KKwlTbWFsbCBjbGVhbnVwcy4KKworCSogc2VydmVyL2RlYnVnZ2VyLmMsIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci9wcm9jZXNzLmg6CisJQ29udmVydCB0aGUgcHJvY2VzcyBkbGwgbGlzdCB0byBhIHN0YW5kYXJkIGxpc3QuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHIuaCwgZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmMsCisJICBkbGxzL3NoZWxsMzIvc2hmbGRyX2ZzLmMsIGRsbHMvc2hlbGwzMi9zaGZsZHJfbXljb21wLmM6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUNvbnZlcnQgbW9yZSBBUEkgY2FsbHMgdG8gVW5pY29kZS4KKworCSogdG9vbHMvd2luZS5kZXNrdG9wOiBTY290dCBSaXRjaGllIDxzY290dEBvcGVuLXZvdGUub3JnPgorCUFkZCBhbGwga25vd24gd2luZG93cyBleGVjdXRhYmxlcyB0byBNSU1FIHR5cGUgaW4gd2luZS5kZXNrdG9wLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEZpeCBvbmUgbW9yZSBwbGFjZSB3aGVyZSB0aGUgY29kZSBhc3N1bWVzIHJvdyBpbmRpY2VzIGFyZQorCSAgemVyby1iYXNlZC4KKwktIERvY3VtZW50IGEga25vd24gYnVnIGluIHRoZSBsYXlvdXQgY29kZS4KKworCSogZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmMsIGRsbHMvd2lubW0vd2luZW9zcy9kc3JlbmRlci5jOgorCUplcmVteSBXaGl0ZSA8andoaXRlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3JlIGNvcnJlY3RseSBlc3RhYmxpc2ggY2FzZXMgd2hlcmUgdGhlIE9TUyBpbnB1dCBidWZmZXIgc2hvdWxkIG5vdAorCWJlIGVuYWJsZWQuCisKKwkqIGRsbHMvcXVhcnR6L2F2aXNwbGl0LmMsIGRsbHMvcXVhcnR6L2Rzb3VuZHJlbmRlci5jLAorCSAgZGxscy9xdWFydHovZmlsdGVyZ3JhcGguYywgZGxscy9xdWFydHovcGluLmMsCisJICBkbGxzL3F1YXJ0ei90ZXN0cy9maWx0ZXJncmFwaC5jLCBkbGxzL3F1YXJ0ei90cmFuc2Zvcm0uYywKKwkgIGRsbHMvcXVhcnR6L3ZpZGVvcmVuZGVyZXIuYywgZGxscy9xdWFydHovd2F2ZXBhcnNlci5jOgorCUNocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlIYW5kbGUgRW5kIE9mIFN0cmVhbSBub3RpZmljYXRpb25zLgorCVNvbWUgQVZJIFNwbGl0dGVyIGZpeGVzLgorCisJKiBkbGxzL3JzYWVuaC90ZXN0cy9yc2FlbmguYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlNYWtlIHJzYWVuaF9jcm9zc3Rlc3QuZXhlIGxvYWRhYmxlIG9uIE5UIDQuMC4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvbG9jYWxlLmM6IEpha29iIEVyaWtzc29uIDxqYWtvdkB2bWxpbnV4Lm9yZz4KKwlBY2NlcHQgKHNob3J0ZXIpIGRhdGUgZm9ybWF0IGluIFdpbiBOVCBhbmQgV2luIDk1LgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmMsIGRsbHMvdXNlci90ZXN0cy93aW4uYywgd2luZG93cy93aW4uYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVByb3RlY3QgU2V0UGFyZW50IGZyb20gY3JlYXRpbmcgY2lyY3VsYXIgd2luZG93IGRlcGVuZGVuY2llcy4KKwlBZGQgYSB0ZXN0IGNhc2UuCisKKwkqIGRsbHMvY29tY3RsMzIvc3RhdHVzLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGluZGVudGF0aW9uIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSByZXN0IG9mIHRoZSBmaWxlLgorCisJKiBkbGxzL2tlcm5lbC9wcm9maWxlLmMsIGRsbHMva2VybmVsL3Rlc3RzL3Byb2ZpbGUuYzoKKwlSZWluIEtsYXplcyA8d2lqbkB3YW5hZG9vLm5sPgorCVdoZW4gZW51bWVyYXRpbmcga2V5cyB1c2luZyBHZXQoUHJpdmF0ZSlQcm9maWxlU3RyaW5nIGRvIG5vdCBpbmNsdWRlCisJbGluZXMgd2l0aG91dCBhbiAnPScgY2hhcmFjdGVyLiBBZGRlZCBhIHRlc3QgdGhhdCBzaG93cyB0aGUgYmVoYXZpb3IuCisKKzIwMDUtMDMtMDEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMveDExZHJ2L2V2ZW50LmMsIGRsbHMveDExZHJ2L3gxMWRydi5oLCBkbGxzL3gxMWRydi94ZG5kLmM6CisJVXNlIGEgZGlzcGF0Y2ggdGFibGUgdG8gaGFuZGxlIFggY2xpZW50IG1lc3NhZ2VzLgorCisJKiBzZXJ2ZXIvZmQuYywgc2VydmVyL29iamVjdC5jLCBzZXJ2ZXIvb2JqZWN0LmgsIHNlcnZlci9xdWV1ZS5jLAorCSAgc2VydmVyL3RocmVhZC5jOgorCUNvbnZlcnQgdGhlIG9iamVjdCB3YWl0IHF1ZXVlIHRvIGEgc3RhbmRhcmQgbGlzdC4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9Dcy5yYywgcHJvZ3JhbXMvcmVnZWRpdC9EZS5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvRW4ucmMsIHByb2dyYW1zL3JlZ2VkaXQvRXMucmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L0ZyLnJjLCBwcm9ncmFtcy9yZWdlZGl0L0l0LnJjLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9KYS5yYywgcHJvZ3JhbXMvcmVnZWRpdC9ObC5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvUGwucmMsIHByb2dyYW1zL3JlZ2VkaXQvUHQucmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L1J1LnJjLCBwcm9ncmFtcy9yZWdlZGl0L1NpLnJjLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9yZXNvdXJjZS5oOgorCVBhdWwgVnJpZW5zIDxQYXVsLlZyaWVuc0B4czRhbGwubmw+CisJQ2hhbmdlIEZhdm91cml0ZShzKSBpbnRvIEZhdm9yaXRlKHMpLgorCUNoYW5nZSB2YXJpYWJsZXMgY29udGFpbmluZyBGQVZPVVJJVEUgaW50byBGQVZPUklURS4KKworCSogZGxscy91c2VyL3Rlc3RzL3N5c3BhcmFtcy5jOiBKdXN0aW4gQ2hldnJpZXIgPGpjaGV2cmllckBuZXhpY29tLm5ldD4KKwktIENyZWF0ZWQgU1BJX3tHRVQsU0VUfUtFWUJPQVJEUFJFRiBhbmQgU1BJX3tHRVQsU0VUfVNDUkVFTlJFQURFUiB1bml0CisJICB0ZXN0cy4KKwktIFJlbW92ZWQgYSB0cmFjZSB0aGF0IHNob3VsZG4ndCBoYXZlIGJlZW4gdGhlcmUuCisJLSBBZGQgcmV0dXJuIGNoZWNraW5nIHRvIFNQSV97R0VULFNFVH1XSEVFTFNDUk9MTExJTkVTIGFuZAorCSAgU1BJX3tHRVQsU0VUfU1FTlVTSE9XREVMQVkgdW5pdCB0ZXN0cyBzbyB0aGV5IG5vIGxvbmdlciBydW4gb24KKwkgIFdpbmRvd3MgOTUgd2hlcmUgdGhleSBhcmVuJ3Qgc3VwcG9ydGVkLgorCS0gQ2hhbmdlZCBtaW5pbXVtIGhvdmVydGltZSBpbiBTUElfe0dFVCxTRVR9TU9VU0VIT1ZFUlRJTUUgdG8gMTAgYXMKKwkgIFdpbmRvd3MgWFAgZGVmYXVsdHMgdG8gMTAgYW55IHZhbHVlIGJlbG93IHRoYXQuCisKKwkqIGRsbHMvc2hlbGwzMi9icnNmb2xkZXIuYzogTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUZpeGVkIHBhcnNpbmcgb2YgSVRFTUlETElTVCBpbiBJbml0aWFsaXplVHJlZVZpZXcuCisJQWRkZWQgc29tZSBkb2N1bWVudGF0aW9uLgorCUZpeGVkIGEgY3Jhc2ggb2NjdXJpbmcgd2hlbiB0aGUgdXNlciBkb3VibGUtY2xpY2tzIGEgbGVhZiBpdGVtLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUZXh0IHJlZm9ybWF0dGluZyBwYXRjaCB0byBjbGVhbiB1cCBhbGwgdGhlIHN0YXRpYyBzdHJpbmdzLgorCisJKiBkbGxzL2NvbWN0bDMyL3N0YXR1cy5jOiBGaWxpcCBOYXZhcmEgPG5hdmFyYWZAcmVhY3Rvcy5jb20+CisJSW1wbGVtZW50IFNCX1NFVEJPUkRFUlMuCisKKwkqIGRsbHMvc2V0dXBhcGkvZGV2aW5zdC5jLCBpbmNsdWRlL3dpbmlvY3RsLmg6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUltcGxlbWVudCBTZXR1cERpR2V0Q2xhc3NEZXZzQS9XLCBTZXR1cERpRW51bURldmljZUludGVyZmFjZXMsCisJU2V0dXBEaURlc3Ryb3lEZXZpY2VJbmZvTGlzdCwgYW5kIFNldHVwRGlHZXREZXZpY2VJbnRlcmZhY2VEZXRhaWxBIGZvcgorCXNlcmlhbCBwb3J0cy4KKworCSogc2VydmVyL3JlcXVlc3QuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYSByYWNlIGNvbmRpdGlvbiBpbiBjcmVhdGVfZGlyKCkuCisKKwkqIHNlcnZlci9jb25zb2xlLmMsIHNlcnZlci9kZWJ1Z2dlci5jLCBzZXJ2ZXIvcHJvY2Vzcy5jLAorCSAgc2VydmVyL3Byb2Nlc3MuaCwgc2VydmVyL3B0cmFjZS5jLCBzZXJ2ZXIvcmVxdWVzdC5jLCBzZXJ2ZXIvdGhyZWFkLmg6CisJQ29udmVydCB0aGUgcGVyLXByb2Nlc3MgdGhyZWFkIGxpc3QgdG8gYSBzdGFuZGFyZCBsaXN0LgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzogRW1tYW51ZWwgTWFpbGxhcmQgPGUucnN6QGxpYmVydHlzdXJmLmZyPgorCUFkZCAnLXJlYWRfb25seV9yZWxvY3Mgd2FybmluZycgdG8gTERETExGTEFHUyBvbiBEYXJ3aW4uCisKKwkqIGRsbHMvY29tY3RsMzIvcmViYXIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gTWFrZSByb3cgbnVtYmVyIGJlIHplcm8tYmFzZWQuCisJLSBJbXByb3ZlbWVudHMgdG8gZHVtcGluZyBmdW5jdGlvbnMgdG8gbm90IGR1bXAgb3V0IGZpZWxkcyB0aGF0IG1heQorCSAgbm90IGhhdmUgYmVlbiBmaWxsZWQgaW4uCisKKwkqIGRsbHMveDExZHJ2L2NsaXBib2FyZC5jOiBVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJSWYgdW5leHBlY3RlZCBjb25kaXRpb24gb2NjdXJzIGp1c3QgcmVwb3J0IGFuIGVycm9yLgorCisJKiBkbGxzL3gxMWRydi9iaXRtYXAuYywgZGxscy94MTFkcnYvZGliLmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJZiB0aGUgZGlic2VjdGlvbiBpcyBiYXNlZCBvbiBhIGZpbGUtbWFwcGluZyBvYmplY3QsIHRoZW4gbWFrZSBzdXJlCisJdGhhdCB0aGUgc2VjdGlvbiBpcyBpbiBzeW5jIHdoZW4gdGhlIGRpYnNlY3Rpb24gaXMgZGVsZXRlZC4KKworCSogZGxscy9rZXJuZWwvcGF0aC5jOiBNYXJjZWxvIER1YXJ0ZSA8d2luZS1kZXZlbEBib2wuY29tLmJyPgorCUNvcHlGaWxlIG5lZWRzIHRvIHJldGFpbiB0aW1lc3RhbXAuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2ZpbGUuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgYW5vdGhlciB0ZXN0IGNhc2UgZm9yIGZpbGUgc2hhcmluZy4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlEb24ndCBoYXJkY29kZSB3aW5kb3dzIG9yIHN5c3RlbSBkaXJlY3RvcmllcywgY29ycmVjdCBhIHR5cG8uCisKKwkqIGRsbHMvb2xlMzIvc3RnX3Byb3AuYzogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCU1vdmUgdnRibCB0byBlbmQgb2YgZmlsZSBhbmQgZ2V0IHJpZCBvZiB1bm5lY2Vzc2FyeSBwcm90b3R5cGVzLgorCisJKiBkbGxzL3NoZWxsMzIvc2hmbGRyX2ZzLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlDb252ZXJ0IHRhYnMgdG8gc3BhY2UsIHdyYXAgbG9uZyBsaW5lcywgbWFrZSBpbmRlbnRpbmcgY29uc2lzdGVudC4KKworCSogZGxscy9kYmdoZWxwL2RiZ2hlbHAuYywgZGxscy9kYmdoZWxwL2RiZ2hlbHBfcHJpdmF0ZS5oLAorCSAgZGxscy9kYmdoZWxwL2VsZl9tb2R1bGUuYywgZGxscy9kYmdoZWxwL21vZHVsZS5jLAorCSAgZGxscy9kYmdoZWxwL3BlX21vZHVsZS5jLCBkbGxzL2RiZ2hlbHAvc3RhYnMuYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlNZW1vcnkgY29uc3VtcHRpb24gb3B0aW1pemF0aW9uIHdoaWxlIGxvYWRpbmcgRUxGIGRlYnVnIGluZm86CisJLSBkb24ndCBtYXAgdHdpY2UgYW4gRUxGIGZpbGUgZm9yIHN5bWJvbCBsb29rdXAgKGluIG5vbiBkZWZlcnJlZCBtb2RlKQorCS0gbm8gbG9uZ2VyIGVudGlyZWx5IG1hcCBhbiBFTEYgZmlsZSBpbnRvIG1lbW9yeSwgYnV0IG9ubHkgdGhlCisJICBzZWN0aW9ucyB3ZSBuZWVkLgorCUFkZGVkIHN1cHBvcnQgZm9yIGxvYWRpbmcgRUxGIG1vZHVsZXMgdGhydSBTeW1Mb2FkTW9kdWxlIGluIGEgbm9uIGxpZmUKKwlwcm9jZXNzLgorCUZhY3RvcmlzYXRpb24gb2YgY29kZSBmb3IgRUxGIG1vZHVsZSBoYW5kbGluZy4KKwlGaXhlcyB0byBFTEYgc3ltYm9sIGxvYWRpbmcKKwktIGRyb3BzIHN5bWJvbHMgZnJvbSBzeW10YWIgd2hpY2ggYXJlIG5laXRoZXIgZnVuY3Mgbm9yIGdsb2JhbAorCSAgdmFyaWFibGVzCisJLSBmaXhlcyBzb21lIGluY29ycmVjdCBzaXplIGNvbXB1dGF0aW9uIGZvciBsYXRlc3QgR0NDIHZlcnNpb25zLgorCVNldmVyYWwgY2xlYW51cHMgYW5kIGZpeGVzLgorCisJKiB0b29scy93aW5laW5zdGFsbDogSmVmZiBTbWl0aCA8d2h5ZG91YnRAeWFob28uY29tPgorCUF2b2lkcyBhIHNoaWZ0IHdhcm5pbmcgdGhyb3duIGJ5IG9sZGVyIHZlcnNpb25zIG9mIGJhc2guCisKKzIwMDUtMDItMjYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMveDExZHJ2L2NsaXBib2FyZC5jLCBkbGxzL3gxMWRydi9kZ2EyLmMsIGRsbHMveDExZHJ2L2V2ZW50LmMsCisJICBkbGxzL3gxMWRydi9rZXlib2FyZC5jLCBkbGxzL3gxMWRydi9tb3VzZS5jLCBkbGxzL3gxMWRydi93aW5wb3MuYywKKwkgIGRsbHMveDExZHJ2L3dpbnRhYi5jLCBkbGxzL3gxMWRydi94MTFkcnYuaDoKKwlVc2UgYSB0YWJsZSBvZiBoYW5kbGVycyB0byBkaXNwYXRjaCBYIGV2ZW50cyBhbmQgZ2V0IHJpZCBvZiB0aGUKKwlzcGVjaWFsIGNhc2luZyBmb3IgREdBIGFuZCB0YWJsZXQgZXZlbnRzLgorCVVuaWZ5IHRoZSBkZWNsYXJhdGlvbnMgb2YgYWxsIHRoZSBldmVudCBoYW5kbGVycy4KKworCSogZGxscy9rZXJuZWwvdm9sdW1lLmM6CisJRml4ZWQgcmVncmVzc2lvbiBpbiBRdWVyeURvc0RldmljZUEgd2hlbiBwYXNzZWQgYSBOVUxMIGRldmljZSBuYW1lLgorCisJKiBzZXJ2ZXIvZGVidWdnZXIuYzoKKwlDb252ZXJ0ZWQgdGhlIGRlYnVnIGV2ZW50IHF1ZXVlIHRvIGEgc3RhbmRhcmQgbGlzdC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWM6IFBpZXJyZSBkJ0hlcmJlbW9udCA8c3RlZ2VmaW5AZnJlZS5mcj4KKwlTeW50YXggZml4IGluIGNvbmZpZ3VyZS5hYy4KKworCSogZGxscy9tc2kvdGVzdHMvZGIuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgYSB0ZW1wb3JhcnkgbXNpIGRhdGFiYXNlIGZpbGUuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGZsZHJfbXljb21wLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlDb252ZXJ0IGEgZmV3IGNhbGxzIHRvIFVuaWNvZGUuCisKKwkqIGRsbHMvd2lubW0vbWNpLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBZGRlZCBzb21lIG1vcmUgY2FzZXMgdG8gTUNJX01hcE1zZ0F0b1cuCisKKwkqIHdpbmRvd3MvY3Vyc29yaWNvbi5jOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCU1ha2UgTFJfTE9BRFRSQU5TUEFSRU5UIHdvcmsgYW5kIGdpdmUgdHJhbnNwYXJlbnQgaW1hZ2VzLgorCisyMDA1LTAyLTI1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBzZXJ2ZXIvY29uc29sZS5jOgorCUNvbnZlcnRlZCB0aGUgZ2xvYmFsIHNjcmVlbiBidWZmZXIgbGlzdCB0byBhIHN0YW5kYXJkIGxpc3QuCisKKwkqIHNlcnZlci9xdWV1ZS5jOgorCVJlcGxhY2VkIHRoZSBtZXNzYWdlX2xpc3Qgc3RydWN0dXJlIGJ5IGEgc3RhbmRhcmQgbGlzdC4KKworCSogZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsIGRsbHMveDExZHJ2L2V2ZW50LmMsIGRsbHMveDExZHJ2L3gxMWRydi5oOgorCU1vdmVkIGNsaXBib2FyZCBldmVudCBoYW5kbGluZyBmdW5jdGlvbnMgYW5kIHNvbWUgcHJpdmF0ZSBkYXRhCisJc3RydWN0dXJlcyB0byBjbGlwYm9hcmQuYy4KKworCSogc2VydmVyL3RocmVhZC5jLCBzZXJ2ZXIvdGhyZWFkLmg6CisJQ29udmVydCB0aGUgZ2xvYmFsIHRocmVhZCBsaXN0IHRvIGEgc3RhbmRhcmQgbGlzdC4KKworCSogc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3Byb2Nlc3MuaDoKKwlDb252ZXJ0IHRoZSBnbG9iYWwgcHJvY2VzcyBsaXN0IHRvIGEgc3RhbmRhcmQgbGlzdC4KKworCSogZGxscy9kc291bmQvdGVzdHMvZHMzZC5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmQuYywKKwkgIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZF90ZXN0Lmg6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGQgc2Vjb25kYXJ5IGJ1ZmZlciBTZXRGcmVxdWVuY3kgdGVzdC4KKworCSogZGxscy9kc291bmQvbWl4ZXIuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlVc2UgbkJsb2NrQWxpZ24gcmF0aGVyIHRoYW4gY2FsY3VsYXRpbmcgaXQuCisJQWRkIGEgYnVmZmVyIGxlbmd0aCBhbGlnbm1lbnQgZXJyb3IgbWVzc2FnZS4KKworCSogZGxscy9tc3ZjcnQvdGVzdHMvcHJpbnRmLmMsIGRsbHMvbXN2Y3J0L3djcy5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlBZHZhbmNlIG92ZXIgKiBhcmd1bWVudCBmb3IgcHJlY2lzaW9uLgorCUhvbm9yIHByZWNpc2lvbiBhcmd1bWVudCBmb3Igc3RyaW5ncy4KKworCSogc2VydmVyL211dGV4LmMsIHNlcnZlci90aHJlYWQuYywgc2VydmVyL3RocmVhZC5oOgorCUNvbnZlcnQgdGhlIHBlci10aHJlYWQgbXV0ZXggbGlzdCB0byBhIHN0YW5kYXJkIGxpc3QuCisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYywgZGxscy9hZHZhcGkzMi90ZXN0cy9yZWdpc3RyeS5jOgorCUphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUZpeCBSZWdPcGVuL0Nsb3NlS2V5LgorCisJKiBkbGxzL3VzZXIvZWRpdC5jOiBMYXVyaSBUdWxtaW4gPHR1bG1pbkBnbWFpbC5jb20+CisJTWFrZSBzdXJlIHRoYXQgbGFzdCBsaW5lIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIGVkaXQgY29udHJvbC4KKworCSogZGxscy9kc291bmQvZHNvdW5kLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQ2hhbmdlIFNldENvb3BlcmF0aXZlTGV2ZWwgRklYTUUgdG8gV0FSTi4KKworCSogdG9vbHMvd2luZWR1bXAvbG5rLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEdW1wIHRoZSBwaWRsIG9mIGEgbG5rIGZpbGUuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYywgZGxscy9zaGVsbDMyL3Rlc3RzL3NoZWxsbGluay5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIGltcGxlbWVudCBsb2FkaW5nIGFuZCBzYXZpbmcgb2YgTVNJIGFkdmVydGlzZWQgc2hvcnRjdXQgaW5mbworCS0gbWFrZSBtb3JlIHRlc3QgY2FzZXMgcGFzcworCS0gcmVhZCBhbmQgd3JpdGUgdGhlIGxvY2F0aW9uIGJsb2NrCisJLSBpbXByb3ZlIHRoZSBiaW5hcnkgY29tcGF0aWJpbGl0eSBvZiBsbmsgZmlsZXMKKworCSogbGlicy93cHAvcHBsLmw6IEdlIHZhbiBHZWxkb3JwIDxndmdAcmVhY3Rvcy5jb20+CisJVHJlYXQgYWxyZWFkeSBwcmVwcm9jZXNzZWQgY29kZSBqdXN0IGxpa2Ugbm9ybWFsICNpbmNsdWRlJ2VkIGNvZGUuCisKKwkqIGRsbHMvdmVyc2lvbi90ZXN0cy9pbmZvLmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJRXhjbHVkZSB0d28gdGVzdHMgY3Jhc2hpbmcgb24gV2luTlQ0LgorCisJKiBkbGxzL2NvbWN0bDMyL3RhYi5jOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVJlbW92ZSB1bm5lZWRlZCBjYWxscyB0byBUQUJfR2V0SW5mb1B0cigpLCBjb25zdCBmaXhlcywgaW5saW5lIHNtYWxsCisJZnVuY3MgJiByZW1vdmUgdW51c2VkIHBhcmFtZXRlcnMuCisKKwkqIGRsbHMvY29tY3RsMzIvc3RyaW5nLmMsIGRsbHMvY29tbWRsZy9jZGxnMzIuYywgZGxscy9rZXJuZWwvY29tbS5jLAorCSAgZGxscy9rZXJuZWwvZWRpdGxpbmUuYywgZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL2tlcm5lbC90aHVuay5jLAorCSAgZGxscy9rZXJuZWwvdGltZS5jLCBkbGxzL21zaS9tc2kuYywgZGxscy9tc3ZjcnQvbWJjcy5jLAorCSAgZGxscy9udGRsbC9oZWFwLmMsIGRsbHMvbnRkbGwvbGFyZ2VfaW50LmMsIGRsbHMvbnRkbGwvcnRsYml0bWFwLmMsCisJICBkbGxzL250ZGxsL3J0bHN0ci5jLCBkbGxzL250ZGxsL3NlYy5jLCBkbGxzL29sZTMyL29sZTIuYywKKwkgIGRsbHMvb2xlYXV0MzIvb2xlcGljdHVyZS5jLCBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnR5cGUuYywKKwkgIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jLCBkbGxzL29sZWF1dDMyL3R5cGVsaWIyLmMsCisJICBkbGxzL29sZWF1dDMyL3ZhcmZvcm1hdC5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsCisJICBkbGxzL3NobHdhcGkvYXNzb2MuYywgZGxscy9zaGx3YXBpL3N0cmluZy5jLCBkbGxzL3dpbjMycy93MzJzeXMuYywKKwkgIGRsbHMvd2luZXBzL2dyYXBoaWNzLmMsIGRsbHMvd2luaW5ldC9uZXRjb25uZWN0aW9uLmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L3JlZ3Byb2MuYywgcHJvZ3JhbXMvcnVuZGxsMzIvcnVuZGxsMzIuYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmMsIHRvb2xzL3dpZGwvd3JpdGVfbXNmdC5jLAorCSAgdG9vbHMvd3JjL25ld3N0cnVjLmMsIHdpbmRvd3MvY3Vyc29yaWNvbi5jLCB3aW5kb3dzL3NweS5jLAorCSAgd2luZG93cy91c2VyLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlEb2N1bWVudGF0aW9uIHNwZWxsaW5nIGZpeGVzLgorCisJKiBzZXJ2ZXIvZmQuYzoKKwlSZWd1bGFyIGZpbGVzIGFyZSBhbHdheXMgcmVhZHkgZm9yIEkvTywgbm8gbmVlZCB0byBwb2xsIG9uIHRoZW0uCisKKwkqIHNlcnZlci90aHJlYWQuYywgc2VydmVyL3RocmVhZC5oOgorCUNvbnZlcnQgdGhlIEFQQyBxdWV1ZXMgdG8gdXNlIHN0YW5kYXJkIGxpc3RzLgorCisJKiBkbGxzL2NvbW1kbGcvZm9udGRsZy5jOiBUcm95IFJvbGxvIDx3aW5lQHRyb3kucm9sbG8ubmFtZT4KKwlGaXggc3RhY2sgb2JqZWN0IG92ZXJydW4gd2hlbiBhbiBhcHBsaWNhdGlvbiBjYWxscyBDaG9vc2VGb250QS4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IHRoZSBhY3Rpb24gUmVnaXN0ZXJGb250cy4KKworCSogZGxscy91c2VyL2VkaXQuYzogTGF1cmkgVHVsbWluIDx0dWxtaW5AZ21haWwuY29tPgorCUltcGxlbWVudGVkICFFU19BVVRPW0hWXVNDUk9MTC4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzoKKwlUQU5BQkUgSGlyb3NoaSA8aGlyb2t1bl9kYXlvbW9uQGluZm9zZWVrLnRvPiB3cm90ZToKKwlSZW1vdmUgKGJ1ZiAmJiAhYnVmbGVuKSBjaGVja2luZy4KKwlGaXhlZCBvdXRsaW5lIHJlbmRlcmluZyB3aXRoIEdHT19HUkFZP19CSVRNQVAgb3B0aW9uLgorCUltcHJvdmVkIGZpeGVkLXBpdGNoIGZvbnRzIGRldGVjdGlvbi4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9kcml2ZWRldGVjdC5jLCBwcm9ncmFtcy93aW5lY2ZnL3Byb3BlcnRpZXMuaDoKKwlQYXVsIHZhbiBTY2hheWNrIDxwb2xsZWtlQGdtYWlsLmNvbT4KKwlBcyBsYXN0IG9wdGlvbiBmb3IgZHJpdmUgdHlwZSBkZXRlY3Rpb24gd2UgdHJ5IHRoZSBkZXZpY2Ugbm9kZSBuYW1lLgorCisJKiBkbGxzL29sZTMyL3N0b3JhZ2UzMi5jOiBQYXVsIFZyaWVucyA8UGF1bC5WcmllbnNAeHM0YWxsLm5sPgorCUFkZGVkIHNvbWUgVFJBQ0Ugc3RhdGVtZW50cy4KKworMjAwNS0wMi0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogc2VydmVyL3JlZ2lzdHJ5LmM6CisJQ29udmVydCB0aGUga2V5IG5vdGlmaWNhdGlvbnMgbGlzdCB0byBhIHN0YW5kYXJkIGxpc3QuCisKKwkqIGRsbHMvdXNlci9wYWludGluZy5jOgorCVJlcGFpbnQgdGhlIG5vbi1jbGllbnQgYXJlYSB0byB3b3JrIGFyb3VuZCBicm9rZW4gV01fUEFJTlQgaGFuZGxlcnMKKwlhbHNvIHdoZW4gZG9pbmcgYSBzeW5jaHJvbm91cyB1cGRhdGUgd2l0aCBSRFdfVVBEQVRFTk9XLgorCisJKiBkbGxzL29sZTMyL3N0Z19wcm9wLmMsIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmMsCisJICBkbGxzL29sZTMyL3N0b3JhZ2UzMi5oOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc3RydWN0IFN0b3JhZ2VCYXNlSW1wbCBhdCB0aGUgc3RhcnQgb2YgZGVyaXZlZCBzdHJ1Y3R1cmVzIGluc3RlYWQKKwlvZiB0cnlpbmcgdG8ga2VlcCB0aGUgZmlyc3QgbWVtYmVycyB0aGUgc2FtZS4KKworCSogZGxscy91c2VyL3Njcm9sbC5jOiBWaXRhbHkgTGlwYXRvdiA8bGF2QGV0ZXJzb2Z0LnJ1PgorCS0gRml4IHNjcm9sbGJhciBzaG93L3VwZGF0ZSBjb25kaXRpb25zIGluIFNDUk9MTF9TZXRTY3JvbGxJbmZvOiB3ZSBETworCSAgTk9UIHNob3cgc2Nyb2xsIGJhciBpZiBvbmx5IHBhZ2UgcGFyYW1ldGVyIGNoYW5naW5nIHdoZW4gc2Nyb2xsYmFyCisJICBpcyBkaXNhYmxlZC4KKwktIFJlbW92ZWQgYkNoYW5nZVBhcmFtcyBmcm9tIFNDUk9MTF9TZXRTY3JvbGxJbmZvIGFzIHVubmVlZGVkIGZsYWcuCisKKwkqIGRvY3VtZW50YXRpb24vZmFxLnNnbWw6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU2hvcnRlbiB0aGUgaWQgb2YgdGhlIHF1ZXN0aW9uIHRvIGF2b2lkIGphZGUgZXJyb3IuCisKKwkqIHByb2dyYW1zL3Rhc2ttZ3IvRnIucmMsIHByb2dyYW1zL3Rhc2ttZ3IvdGFza21nci5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvRnIucmMsIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5yYzoKKwlKb25hdGhhbiBFcm5zdCA8Sm9uYXRoYW5ARXJuc3RGYW1pbHkuY2g+CisJRnJlbmNoIGxvY2FsaXphdGlvbi4KKworCSogc2VydmVyL2ZkLmMsIHNlcnZlci9maWxlLmMsIHNlcnZlci9maWxlLmgsIHNlcnZlci9zZXJpYWwuYywKKwkgIHNlcnZlci9zb2NrLmM6CisJQ29udmVydCBhc3luYyBJL08gcXVldWVzIHRvIHN0YW5kYXJkIGxpc3RzLgorCisJKiBkbGxzL3JpY2hlZGl0L3JpY2hlZGl0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgdW51c2VkIGRlY2xhcmF0aW9uLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmMsIHdpbmRvd3Mvd2luLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUmVsZWFzZSBjYXB0dXJlIGJlZm9yZSBzZW5kaW5nIFdNX05DREVTVFJPWSBtZXNzYWdlLCBkbyBub3Qgc2VuZAorCVdNX0NBUFRVUkVDSEFOR0VEIGluIHRoYXQgY2FzZS4gQWRkIGEgdGVzdCBjYXNlIGZvciB0aGF0IGJlaGF2aW91ci4KKworCSogZGxscy91c2VyL3Rlc3RzL3dpbi5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUdldFdpbmRvd1JlY3QgYW5kIEdldENsaWVudFJlY3QgZG8gbm90IGNoYW5nZSBSRUNUIGNvbnRlbnRzIGlmIHRoZQorCXBhc3NlZCB3aW5kb3cgaGFuZGxlIGlzIGludmFsaWQuCisKKwkqIGRsbHMvZHNvdW5kL3Rlc3RzL2NhcHR1cmUuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlUcnkgb2xkIGJ1ZmZlciBkZXNjcmlwdGlvbiBzdHJ1Y3R1cmUgb24gZmFpbHVyZSB3aXRoIG5ldyBvbmUuCisKKwkqIGRsbHMva2VybmVsL2V4Y2VwdC5jLCBkbGxzL250ZGxsL2NyaXRzZWN0aW9uLmMsCisJICBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jLCBkbGxzL250ZGxsL2xvYWRlci5jLAorCSAgZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jLCBkbGxzL250ZGxsL3NpZ25hbF9wb3dlcnBjLmMsCisJICBkbGxzL250ZGxsL3NpZ25hbF9zcGFyYy5jLCBkbGxzL250ZGxsL3Rlc3RzL2dlbmVyYXRlZC5jLAorCSAgaW5jbHVkZS93aW5iYXNlLmgsIGluY2x1ZGUvd2lubnQuaDoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCU1hdGNoIFJhaXNlRXhjZXB0aW9uIGFuZCBFWENFUFRJT05fUkVDT1JEIHRvIFNESyBkZWZpbml0aW9ucy4KKworCSogZGxscy9vcGVuZ2wzMi93Z2xfZXh0LmM6IFJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gaW1wbGVtZW50IHBhcnRpYWwgUEJ1ZmZlciBzdXBwb3J0CisJLSBtaW5pbWFsIHBpeGVsIGZvcm1hdCBzdXBwb3J0CisKKwkqIGRsbHMvbXNkbW8vZG1vcnQuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZSB0YWJzLCByZWZvcm1hdCwgbWVyZ2UgY29tbWVudHMuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jLCBkbGxzL21zaS9hY3Rpb24uaCwgZGxscy9tc2kvbXNpcHJpdi5oOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJQWRkIHRoZSBFeGVjdXRlQWN0aW9uIGhhbmRsZXIuCisJU3RvcmUgdGhlIGtleXBhdGgsIGFuZCBkbyByZWZjb3VudGluZyBhbmQgcmVnaXN0cmF0aW9uIG9mIFNoYXJlZERMTHMuCisJRml4IGEgYnVnIHdpdGggaGFuZGluZyBkd29yZCB2YWx1ZXMgaW4gdGhlIHJlZ2lzdHJ5LgorCUZpeCBidWdzIHdpdGggd3JpdGluZyByZWdpc3RyeSBrZXlzIHdoZXJlIHZhbHVlID09IE5VTEwuCisJTWFrZSB1c2Ugb2YgbXNpZGVmcy5oLgorCUxheSBzb21lIGdyb3VuZHdvcmsgZm9yIHVuaW5zdGFsbHMuCisKKwkqIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmM6IE1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJLSBJbWFnZUxpc3RfTG9hZEltYWdle0EsV30gd2VyZSBiYXNpY2FseSBhIGN1dCduJ3Bhc3RlIG9mIGVhY2gKKwkgIG90aGVyLiBSZW1vdmVkIHRoZSBBIHZhcmlhbnQgYW5kIGRpZCBhIEEtPlcgdHJhbnNsYXRpb24uCisJLSBJbWFnZUxpc3RfTG9hZEltYWdlVzogZ2V0IHRoZSBiaXRtYXAgc2l6ZSBmcm9tIHRoZSBpbWFnZSBpdHNlbGYgYW5kCisJICBub3QgZnJvbSB0aGUgbWFzayAoSW1hZ2VMaXN0X0xvYWRJbWFnZUEgZGlkIHRoYXQpLgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmVkZXYta2VybmVsLnNnbWw6IEJyaWFuIFZpbmNlbnQgPHZpbm5AdGhlc2hlbGwuY29tPgorCUNsZWFuIHVwIHJlZmVyZW5jZXMgdG8gdGhyZWFkaW5nIGluIERldmVsb3BlcidzIEd1aWRlLgorCisJKiBkb2N1bWVudGF0aW9uL2ZhcS5zZ21sOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUNhbiB3ZSBidW5kbGUgZXZlcnRoaW5nIHRvZ2V0aGVyPworCVN1Z2dlc3RlZCBieSBHcmFoYW0gVG9hbCA8Z3RvYWxAZ3RvYWwuY29tPi4KKworCSogZG9jdW1lbnRhdGlvbi9kZWJ1Z2dpbmcuc2dtbDogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBZGQgaW5mbyBvbiBidWlsZGluZyBkeW5hbWljIHN0cmluZ3MgZm9yIGxvZ2dpbmcuCisJUmVvcmRlciBzb21lIHBvaW50cyBmb3IgYSBtb3JlIGxvZ2ljYWwgb3JnYW5pemF0aW9uLgorCisJKiBkbGxzL21zaS9tc2kuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEbyBzb21lIGJhc2ljIHdvcmsgd2l0aCByZWdpc3RyeSBjb21wb25lbnQgcGF0aHMuCisKKwkqIGluY2x1ZGUvbXNpZGVmcy5oOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCURlZmluZSBtc2lkYkNvbXBvbmVudEF0dHJpYnV0ZXMuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJUHJldmVudCBhY2Nlc3NpbmcgZnJlZWQgbWVtb3J5IGluIGZhaWx1cmUgY2FzZS4KKworCSogZGxscy9kM2Q4L2RpcmVjdHguYywgZGxscy93aW5lZDNkL2RldmljZS5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJQ29ycmVjdCBoYW5kbGluZyBvZiB1bnVzdWFsIHZlbmRvciBzdHJpbmdzIGluIGQzZDgsIGFuZCBjaGVjayBmb3IgYQorCXN0YXRlYmxvY2sgYmVmb3JlIHRyeWluZyB0byByZWxlYXNlIGl0IGluIHdpbmVkM2QuCisKKwkqIGRsbHMvdXNlci9lZGl0LmM6IExhdXJpIFR1bG1pbiA8dHVsbWluQGdtYWlsLmNvbT4KKwlDb250cm9scyB3aXRoIEVTX1JJR0hUIG9yIEVTX0NFTlRFUiBzaG91bGRuJ3QgaGF2ZSBFU19BVVRPSFNDUk9MTC4KKworMjAwNS0wMi0yMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy94MTFkcnYvZXZlbnQuYzoKKwlSZXZlcnQgU0NfQ0xPU0UgY2hhbmdlLCB0aGlzIGlzIGNhdXNpbmcgZGVhZGxvY2tzLgorCisJKiBkb2N1bWVudGF0aW9uL3RocmVhZGluZy5zZ21sOiBSZW1vdmVkIG5vIGxvbmdlciB1c2VkIHRocmVhZGluZy5zZ21sLgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmVkZXYta2VybmVsLnNnbWw6CisJQmlsbCBNZWRsYW5kIDxiaWxsbWVkbGFuZEBtZXJjdXJ5c3BlZWQuY29tPgorCUNvcnJlY3QgYSBjb3VwbGUgb2YgbWlub3IgZG9jdW1lbnRhdGlvbiB0eXBvcy4KKworCSogdG9vbHMvd2lkbC9jbGllbnQuYywgdG9vbHMvd2lkbC9wYXJzZXIueSwgdG9vbHMvd2lkbC9wcm94eS5oLAorCSAgdG9vbHMvd2lkbC9zZXJ2ZXIuYywgdG9vbHMvd2lkbC93aWRsLmMsIHRvb2xzL3dpZGwvd2lkbC5oOgorCVJlbW92ZWQgdGhlIHVzZWxlc3MgcHJveHkuaCBoZWFkZXIgZmlsZS4KKwlGaXhlZCBhIGNvdXBsZSBvZiB3YXJuaW5ncy4KKworCSogZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmMsIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5oOgorCUplcmVteSBXaGl0ZSA8andoaXRlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3JlIGNvcnJlY3QgZml4IGZvciBkc3AgZW1wdHkgY2FzZS4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvRGUucmM6IEhlbm5pbmcgR2VyaGFyZHQgPGhlbm5pbmcuZ2VyaGFyZHRAd2ViLmRlPgorCVNtYWxsIGZpeCBmb3IgdGhlIEdlcm1hbiByZXNvdXJjZSBmaWxlLgorCisJKiBwcm9ncmFtcy90YXNrbWdyL0RlLnJjLCBwcm9ncmFtcy90YXNrbWdyL3Rhc2ttZ3IucmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL0RlLnJjLCBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcucmM6CisJSGVubmluZyBHZXJoYXJkdCA8aGVubmluZy5nZXJoYXJkdEB3ZWIuZGU+CisJQWRkZWQgR2VybWFuIGxhbmd1YWdlIHN1cHBvcnQuCisKKwkqIHRvb2xzL3dpbmVpbnN0YWxsOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVN1Z2dlc3QgbWFrZSB1bmluc3RhbGwgaW4gY2FzZSB0aGUgdXNlciB0cmllZCBtYWtlIGluc3RhbGwuCisKKwkqIHRvb2xzL3dpZGwvTWFrZWZpbGUuaW4sIHRvb2xzL3dpZGwvY2xpZW50LmMsIHRvb2xzL3dpZGwvaGVhZGVyLmMsCisJICB0b29scy93aWRsL3BhcnNlci5sLCB0b29scy93aWRsL3BhcnNlci55LCB0b29scy93aWRsL3NlcnZlci5jLAorCSAgdG9vbHMvd2lkbC93aWRsLmMsIHRvb2xzL3dpZGwvd2lkbC5oLCB0b29scy93aWRsL3dpZGx0eXBlcy5oOgorCUVyaWMgS29obCA8ZXJpYy5rb2hsQHQtb25saW5lLmRlPgorCS0gQWRkIGJhc2ljIHN1cHBvcnQgZm9yIGNyZWF0aW5nIGNsaWVudCBhbmQgc2VydmVyIHN0dWIgZmlsZXMuCisJLSBTdXBwb3J0IGltcGxpY2l0X2hhbmRsZSBhdHRyaWJ1dGUgaW4gSURMIGZpbGVzLgorCS0gQnVpbGQgbWl4ZWQtbW9kZSBzdHViIGZpbGVzLgorCisJKiBkbGxzL3JzYWJhc2UvTWFrZWZpbGUuaW4sIGRsbHMvcnNhYmFzZS9tYWluLmMsCisJICBkbGxzL3JzYWJhc2UvcnNhYmFzZS5zcGVjOgorCU1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlNYWRlIHJzYWJhc2UgZm9yd2FyZCBldmVyeXRoaW5nIHRvIHJzYWVuaC4KKworCSogZGxscy9rZXJuZWwvY3B1LmMsIGRsbHMvbnRkbGwvbnQuYzogUmVpbiBLbGF6ZXMgPHdpam5Ad2FuYWRvby5ubD4KKwlOdFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIHNob3VsZCByZXR1cm4gYSBmcmVxdWVuY3kgb2YgMTE5MzE4Mkh6IGFuZAorCWNvdW50cyBsaWtlIGluIFdpbmRvd3MuIFNvbWUgYXBwbGljYXRpb25zIGRlcGVuZCBvbiB0aGF0LgorCVNpbXBsaWZ5IFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIGEgYml0LgorCisJKiBkbGxzL3dpbm1tL3Rlc3RzL3dhdmUuYzogSmVyZW15IFdoaXRlIDxqd2hpdGVAY29kZXdlYXZlcnMuY29tPgorCUFuIGludGVyYWN0aXZlIHRlc3Qgc2hvdWxkIGhhdmUgdm9sdW1lLCBlbHNlIGEgcmF0aW9uYWwgdXNlciB3aWxsCisJZGVjaWRlIGl0IGlzIGJyb2tlbi4KKworCSogZGxscy9zaGVsbDMyL3NoZmxkcl9teWNvbXAuYywgZGxscy9zaGVsbDMyL3NobGZzYmluZC5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgdGFicyBhbmQgcmVmb3JtYXQuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuc3BlYywgZGxscy9zaGVsbDMyL3NoZWxsMzIuc3BlYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBZGQgdGhlIC1ub25hbWUgZmxhZyB0byBtYXRjaCB0aGUgUGxhdGZvcm0gU0RLLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogSmVyZW15IFdoaXRlIDxqd2hpdGVAY29kZXdlYXZlcnMuY29tPgorCUluIGNhbGN1bGF0aW5nIHRoZSBTTVBURSB0aW1lLCB3ZSB3b3VsZCByb3VuZCBpbmNvcnJlY3RseSAoMDowOjQuMzAKKwlpbnN0ZWFkIG9mIDA6MDo1LjAgW3RoZSBsYXN0IGNvbHVtbiBvbmx5IGdvZXMgdG8gMjldKS4KKworCSogZGxscy9zaGVsbDMyL2VudW1pZGxpc3QuYywgZGxscy9zaGVsbDMyL2VudW1pZGxpc3QuaCwKKwkgIGRsbHMvc2hlbGwzMi9waWRsLmgsIGRsbHMvc2hlbGwzMi9zaGZsZHIuaCwKKwkgIGRsbHMvc2hlbGwzMi9zaGZsZHJfZGVza3RvcC5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX2ZzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCS0gaGFuZGxlIElGaWxlU3lzdGVtQmluZERhdGEgaW4gSVNGX0Rlc2t0b3BfZm5QYXJzZURpc3BsYXlOYW1lCisJLSBtb3JlIFVuaWNvZGUgY29udmVyc2lvbgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlEb24ndCBoYXJkY29kZSBvcmRpbmFscyBpZiB3aGljaCBhcmUgbm90IGhhcmRjb2RlZCBvbiBXaW5kb3dzLgorCisJKiBkbGxzL21zaS9mb3JtYXQuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIHN1cmUgZm9ybWF0cyBsaWtlIFtcXF1dIGFuZCBbXFxbXSB3b3JrIHByb3Blcmx5LgorCisJKiBkbGxzL2FkdmFwaTMyL3Rlc3RzL2NyeXB0LmM6IEpha29iIEVyaWtzc29uIDxqYWtvdkB2bWxpbnV4Lm9yZz4KKwlBcHBhcmVudGx5IE5UNCBjYW4gYWxzbyByZXR1cm4gRVJST1JfRU5WVkFSX05PVF9GT1VORC4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCS0gUGFzcyBvcmlnaW5hbCB3UGFyYW0gdG8gQ2FsbE5leHRIb29rRXguCisJLSBBdm9pZCBwbGF5aW5nIGdhbWVzIHdpdGggZm9jdXMgaW4gYSBuZXdseSBjcmVhdGVkIHRocmVhZCwgdGhhdCBsZWFkcworCSAgdG8gYWxsIGtpbmRzIG9mIG1pc2JlaGF2aW91cnMgYW5kIGZhaWx1cmVzIGluIHdpbmRvdyBhY3RpdmF0aW9uCisJICB1bmRlciBXaW5kb3dzLgorCisJKiBkbGxzL2Rzb3VuZC90ZXN0cy9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2QuYywKKwkgIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2Q4LmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvdGVzdHMvZHNvdW5kOC5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9wcm9wc2V0LmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlGaXggdGVzdHMgZm9yIHdpbjl4IGFuZCBvbGQgdmVyc2lvbnMgb2YgRGlyZWN0WC4KKworCSogZGxscy93aW50cnVzdC93aW50cnVzdC5zcGVjLCBkbGxzL3dpbnRydXN0L3dpbnRydXN0X21haW4uYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCVN0dWIgZm9yIENyeXB0Q0FUQWRtaW5SZWxlYXNlQ29udGV4dC4KKworCSogZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6IEplcmVteSBXaGl0ZSA8andoaXRlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaGVuIHdlIGdldCBkb3duIHRvIHRoZSBsYXN0IGZyYWdtZW50IG9yIHR3byBpbiBvdXIgb3V0cHV0IHRvIHRoZSBEU1AsCisJd2Ugc2hvdWxkIHVzZSB0aGUgU05EX0RTUF9QT1NUIGlvY3RsIHRvIGxldCB0aGUgc291bmQgY2FyZCBrbm93IHRvCisJZmx1c2ggdGhvc2UgZnJhZ21lbnRzLiAgVGhpcyBhbGxvd3MgdXMgdG8gcHJlY2lzZWx5IGtub3cgd2hlbiB0aGUKKwlidWZmZXIgaXMgZW1wdHksIGFuZCBmaXhlcyBhbm90aGVyIHNldCBvZiB3aW5tbSB0ZXN0cy4KKworCSogZGxscy93aW5tbS90ZXN0cy93YXZlLmM6IEplcmVteSBXaGl0ZSA8andoaXRlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaGVuIHRlc3RpbmcgdGhlIFdBVkVfTUFQUEVSIGRldmljZSwgaXQgc2VlbXMgaW5hcHByb3ByaWF0ZSAodG8gbWUpIHRvCisJZGVtYW5kIFdBVkVfRk9STUFUX0RJUkVDVDsgdGhpcyBmaXhlcyBhbm90aGVyIHNsZXcgb2YgdGVzdHMuCisKKwkqIGRsbHMvd2lubW0vd2F2ZW1hcC93YXZlbWFwLmM6IEplcmVteSBXaGl0ZSA8andoaXRlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaGVuIHdlIGFyZSBjb252ZXJ0aW5nIGZyb20gb25lIHNhbXBsZSByYXRlIHRvIGFub3RoZXIsIHdlIGRvIGhhdmUgdG8KKwlhZGp1c3Qgd2hlbiBjYWxjdWxhdGluZyBUSU1FX1NBTVBMRVMuCisKKwkqIGRsbHMveDExZHJ2L3hyZW5kZXIuYzogSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlUYWtlIGludG8gYWNjb3VudCBhZGRpdGlvbmFsIHJlcXVlc3RlZCBzcGFjaW5nIG9uIGJyZWFrIGNoYXJhY3RlcnMuCisKKwkqIGRsbHMvd2luZWQzZC9kaXJlY3R4LmM6IEphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJRW5hYmxlIHBhcnNpbmcgb2YgdmVuZG9yIHN0cmluZ3Mgbm90IG1hdGNoaW5nIHRoZSBleHBlY3RlZCB0ZW1wbGF0ZS4KKworCSogZGxscy9jb21jdGwzMi9oZWFkZXIuYzogTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJQ29ycmVjdGx5IGRpc3BsYXlzIHRoZSB0ZXh0IHdpdGggZWxsaXBzaXMgd2hlbiB0aGVyZSBpcyBub3QgZW5vdWdoCisJcm9vbSBpbiBhIGhlYWRlciBpdGVtIGFuZCBhbiBpbWFnZSBmcm9tIGFuIGltYWdlbGlzdCBpcyBkaXNwbGF5ZWQgb24KKwl0aGUgcmlnaHQgb2YgdGhlIHRleHQuCisKKwkqIHByb2dyYW1zL3dpbmVtaW5lL1BsLnJjOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCVRyYW5zbGF0aW9uIHVwZGF0ZS4KKworCSogZGxscy9tc2kvbXNpLnJjLCBkbGxzL21zaS9tc2lfRXMucmM6CisJSm9z6SBNYW51ZWwgRmVycmVyIE9ydGl6IDxqbWZvMTk4MkB5YWhvby5lcz4KKwlBZGRlZCBNU0kgU3BhbmlzaCByZXNvdXJjZXMuCisKKzIwMDUtMDItMjIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHNlcnZlci9yZWdpb24uYywgc2VydmVyL3VzZXIuaDoKKwlSZW1vdmVkIG5vIGxvbmdlciB1c2VkIGNyZWF0ZV9yZWdpb24gZnVuY3Rpb24sIGFuZCBkaXJlY3RseSBleHBvcnQKKwljcmVhdGVfZW1wdHlfcmVnaW9uIGluc3RlYWQuCisKKwkqIGRsbHMvdXNlci90ZXN0cy93aW4uYywgZGxscy94MTFkcnYvd2luZG93LmMsIGRsbHMveDExZHJ2L3dpbnBvcy5jLAorCSAgc2VydmVyL3dpbmRvdy5jOgorCUFsbG93IHRoZSBjbGllbnQgcmVjdGFuZ2xlIHRvIGJlIG9mIGFyYml0cmFyeSBzaXplIGFuZCBkaW1lbnNpb25zLAorCXJlZ2FyZGxlc3Mgb2YgdGhlIHdpbmRvdyByZWN0YW5nbGUuCisKKwkqIGRsbHMvZ2RpL2ZvbnQuYzogVEFOQUJFIEhpcm9zaGkgPGhpcm9rdW5fZGF5b21vbkBpbmZvc2Vlay50bz4KKwlBZGRlZCBNdWx0aWJ5dGUgY2hhcmFjdGVyIHNldCBzdXBwb3J0IGluIEdldEdseXBoT3V0bGluZUEuCisKKwkqIGRsbHMvZ2RpL2RpYi5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCURvbid0IGhvbGQgdGhlIEdESSBsb2NrIHdoZW4gY2FsbGluZyBEQ19HZXREQ1VwZGF0ZS4KKworCSogZGxscy9jcnlwdGRsbC9NYWtlZmlsZS5pbiwgZGxscy9jcnlwdGRsbC9jcnlwdGRsbC5zcGVjOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUZvcndhcmQgTUQ1e0ZpbmFsLEluaXQsVXBkYXRlfSB0byBhZHZhcGkzMi4KKworCSogZGxscy9udGRsbC9oYW5kbGV0YWJsZS5jLCBkbGxzL250ZGxsL2hlYXAuYywgZGxscy9udGRsbC9sb2FkZXIuYywKKwkgIGRsbHMvbnRkbGwvcmVsYXkuYywgZGxscy9udGRsbC90aHJlYWQuYywgZGxscy9udGRsbC92aXJ0dWFsLmM6CisJSXZhbiBMZW8gUHVvdGkgPGl2YW5sZW9AZ21haWwuY29tPgorCVJlcGxhY2UgR2V0Q3VycmVudFByb2Nlc3MoKSB3aXRoIE50Q3VycmVudFByb2Nlc3MoKSBpbiBudGRsbC4KKworCSogaW5jbHVkZS93aW5iYXNlLmgsIGluY2x1ZGUvd2lubnQuaDoKKwlJdmFuIExlbyBQdW90aSA8aXZhbmxlb0BnbWFpbC5jb20+CisJQWRkZWQgYSBjb3VwbGUgb2YgZGVmaW5lcy4KKworCSogZGxscy9tc2kvYWN0aW9uLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIHN1cmUgc3RyaW5ncyBhcmUgbnVsbCB0ZXJtaW5hdGVkLgorCisJKiBwcm9ncmFtcy93aW5lbWVudWJ1aWxkZXIvd2luZW1lbnVidWlsZGVyLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVdoZW4gcnVubmluZyBhIHNlY29uZCB0aW1lLCBkb24ndCBmYWlsIGlmIHdlIGNhbid0IGV4dHJhY3QgYW4gaWNvbi4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jOiBNYXJ0aWpuIFZlcm5vb2lqIDx5dXhkd2E3MDJAc25lYWtlbWFpbC5jb20+CisJU2Nyb2xsIGluc3RlYWQgb2YgcmVwYWludGluZyB3aGVuIGV4cGFuZGluZy9jb2xsYXBzaW5nIHRyZWVzLgorCURvbid0IHJlcGFpbnQgb24gaG92ZXIgaWYgJ2hvdCB0cmFja2luZycgaXNuJ3Qgb24uCisKKwkqIGRsbHMvaXRzcy9pdHNzLmM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgaW1wbGVtZW50YXRpb24gb2YgTG9ja1NlcnZlci4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJVGhlIHR5cGVsaWIgY2FjaGUgc2hvdWxkIHRha2UgdGhlIHR5cGVsaWIgcmVzb3VyY2UgaW5kZXggaW50bworCWFjY291bnQuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYzogQ29zbWV0aWMgZml4ZXMuCisKKwkqIGRsbHMva2VybmVsL3N0cmluZy5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjLCBpbmNsdWRlL3dpbmJhc2UuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBsc3RyKiBmdW5jdGlvbnMgaW5saW5lIGluc2lkZSBXaW5lLgorCisJKiBkbGxzL3NoZWxsMzIvcGlkbC5oLCBkbGxzL3NoZWxsMzIvc2hmbGRyX2ZzLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCS0gaGFuZGxlIElGaWxlU3lzdGVtQmluZERhdGEgaW4gSVNoZWxsRm9sZGVyOjpQYXJzZURpc3BsYXlOYW1lCisJLSBjb252ZXJ0IElTaGVsbEZvbGRlcjo6UGFyc2VEaXNwbGF5TmFtZSB0byB1c2UgVW5pY29kZQorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVcGRhdGUgdGhlIGluc3RhbGxlZCBzdGF0ZSBmb3IgY29tcG9uZW50cyBkdXJpbmcgQ29zdEZpbmFsaXplLiBMYXlpbmcKKwlncm91bmR3b3JrIHRvIGJlIGFibGUgdG8gc3RhcnQgcHJvY2Vzc2luZyB1bmluc3RhbGwgbG9naWMgYXMgd2VsbC4KKworCSogZGxscy91c2VyL3Rlc3RzL3dpbi5jLCB3aW5kb3dzL25vbmNsaWVudC5jOgorCVJlaW4gS2xhemVzIDx3aWpuQHdhbmFkb28ubmw+CisJRGVmV2luZG93UHJvYydzIFdNX05DQ0FMQyBoYW5kbGVyIG11c3Qgbm90IHN1YnRyYWN0IHNwYWNlIGZvcgorCXNjcm9sbGJhcnMgaWYgdGhlcmUgaXMgbm90IGVub3VnaCBzcGFjZSBmb3IgaXQgYW55d2F5LiBXaXRoIHRlc3RzIHRvCisJY29uZmlybSB0aGUgYmVoYXZpb3IuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYzogU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJTWFrZSB1c2VyMzJfY3Jvc3N0ZXN0LmV4ZSBsb2FkYWJsZSBvbiBOVCAzLjUxLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmMsIHdpbmRvd3MvbWVzc2FnZS5jOgorCURpc3BhdGNoTWVzc2FnZSBuZWVkcyB0byByZXBhaW50IHRoZSBub24tY2xpZW50IGFyZWEgaWYgdGhlIFdNX1BBSU5UCisJaGFuZGxlciBkaWRuJ3QgZG8gaXQuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9jbGFzcy5jLCB3aW5kb3dzL2NsYXNzLmM6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlNYWtlIFJlZ2lzdGVyQ2xhc3NFeEEgY2hlY2sgdGhhdCByZXNlcnZlZCBieXRlcyBpcyBhIHZhbGlkIHZhbHVlLgorCVRlc3RzIHRvIGNvbmZpcm0gdGhpcyBiZWhhdmlvdXIuCisKKwkqIGRsbHMvdXNlci9zeXNwYXJhbXMuYzogSnVzdGluIENoZXZyaWVyIDxqY2hldnJpZXJAbmV4aWNvbS5uZXQ+CisJUG9pbnQgS0VZQk9BUkRQUkVGIGFuZCBTQ1JFRU5SRUFERVIgdG8gcmVnaXN0cnkga2V5cyBhbmQgdmFsdWVzIHRoYXQKKwltYXRjaCBuYXRpdmUuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlcGljdHVyZS5jLCBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYywKKwkgIGRsbHMvb2xlYXV0MzIvdXNybWFyc2hhbC5jLCBkbGxzL29sZWF1dDMyL3ZhcmlhbnQuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVVzZSB2YXJpYW50IG1hY3JvcyBpbnN0ZWFkIG9mIGFjY2Vzc2luZyB0aGUgdW5pb24gZGlyZWN0bHkuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBTdGV2ZW4gRWR3YXJkcyA8c3RldmVuQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb3JyZWN0IHR5cG8uCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvZGJnLnksIHRvb2xzL3dpbmVkdW1wL2VtZi5jLCB0b29scy93aW5lZHVtcC9sbmsuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVVzZSBjb25maWcuaCAmIEhBVkVfIHdoZXJlIG5lZWRlZCwgLVcgZml4ZXMuCisKKwkqIGRsbHMvbWFwaTMyL3Byb3AuYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlGaXggcmFjZSBpbiBJTUFQSVByb3BfUmVsZWFzZSgpLCAtVyBmaXhlcy4KKworCSogZGxscy9zaGVsbDMyL3BpZGwuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUNsZWFudXAsIGNyZWF0ZSB1bmljb2RlIHZlcnNpb25zIG9mIF9JTENyZWF0ZUZyb21QYXRoLAorCV9JTENyZWF0ZUd1aWRGcm9tU3RyLCBhbmQgX0lMQ3JlYXRlRnJvbUZpbmREYXRhLgorCisJKiBkbGxzL3F1YXJ0ei9hY213cmFwcGVyLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlGaXhlZCBBQ00gV3JhcHBlci4KKworCSogZGxscy9udGRsbC90aW1lLmM6CisJRGFycnlsIERpeG9uIDxlc3JldmVyX290dWFAcHl0aG9uaGFja2VyLmlzLWEtZ2Vlay5uZXQ+CisJQWRkZWQgc3VwcG9ydCBmb3IgTlpEVCAoTmV3IFplYWxhbmQgRGF5bGlnaHQgVGltZSkgdG8gVFpfSU5GTy4KKworCSogZGxscy91bmljb3dzL01ha2VmaWxlLmluLCBkbGxzL3VuaWNvd3MvbWFpbi5jLAorCSAgZGxscy91bmljb3dzL3VuaWNvd3Muc3BlYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlBZGQgSXNEZXN0aW5hdGlvblJlYWNoYWJsZVcuCisKKzIwMDUtMDItMjEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMva2VybmVsL3RocmVhZC5jOgorCUhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUltcGxlbWVudGF0aW9uIHN0dWIgZm9yIFF1ZXVlVXNlcldvcmtJdGVtLgorCisJKiBkbGxzL29sZTMyL01ha2VmaWxlLmluLCBkbGxzL29sZTMyL3N0Z19wcm9wLmMsCisJICBkbGxzL29sZTMyL3N0b3JhZ2UzMi5jLCBkbGxzL29sZTMyL3N0b3JhZ2UzMi5oLAorCSAgZGxscy9vbGUzMi90ZXN0cy9zdG9yYWdlMzIuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IGFuZCB0ZXN0IElQcm9wZXJ0eVNldFN0b3JhZ2UuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMva2VybmVsL3Rvb2xoZWxwLmM6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlJbXBsZW1lbnQgJ1cnIHZhcmlhbnRzIG9mIFByb2Nlc3MzMkZpcnN0IC8gTmV4dCBBUElzCisKKwkqIGRsbHMvZ2RpL2ZvbnQuYywgZGxscy9nZGkvZ2RpMTYuYzoKKwlBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJSW1wbGVtZW50ZWQgR2V0R2x5cGhPdXRsaW5lMTYuCisKKwkqIGRsbHMvdXNlci9zeXNwYXJhbXMuYywgZGxscy91c2VyL3Rlc3RzL3N5c3BhcmFtcy5jOgorCUp1c3RpbiBDaGV2cmllciA8amNoZXZyaWVyQG5leGljb20ubmV0PgorCS0gSW1wbGVtZW50IFNQSV97R0VULFNFVH1QT1dFUk9GRkFDVElWRSBhbmQgU1BJX1NFVExPV1BPV0VSQUNUSVZFLgorCS0gQ29ycmVjdGVkIFNQSV9HRVRMT1dQT1dFUkFDVElWRSB0byB1c2UgYW4gaW5kZXggKGluc3RlYWQgb2YgaXRzIFNQSQorCSAgdmFsdWUpIHRvIGF2b2lkIGFuIG91dCBvZiBib3VuZHMgY29uZGl0aW9uLgorCS0gQ3JlYXRlZCB1bml0IHRlc3RzIGZvciBTUElfe0dFVCxTRVR9UE9XRVJPRkZBQ1RJVkUgYW5kCisJICBTUElfe0dFVCxTRVQpU0VUTE9XUE9XRVJBQ1RJVkUuCisKKwkqIGluY2x1ZGUvd2ludXNlci5oOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQWRkIGEgZGVmaW5pdGlvbiBmb3IgT3BlbklucHV0RGVza3RvcCgpLgorCUFkZCBjb25zdGFudHMgZm9yIFBCVF9BUE0qIHBhcmFtZXRlcnMuCisKKwkqIGRsbHMvdXNlci9lZGl0LmM6IExhdXJpIFR1bG1pbiA8bGF1cmlfQHV0LmVlPgorCUhvcml6b250YWwgc2Nyb2xsYmFyIGlzIGhpZGRlbiB3aGVuIGVkaXQgY29udHJvbCBpcyBlbXB0aWVkLgorCisJKiBwcm9ncmFtcy93aW5lbWluZS9QbC5yYzogTWFyY2VsbyBEdWFydGUgPHdpbmUtZGV2ZWxAYm9sLmNvbS5icj4KKwlTeW5jIFBvbGlzaCByZXNvdXJjZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzoKKwlNYXhpbWUgQmVsbGVuZ+kgPG1heGltZS5iZWxsZW5nZUBsYXBvc3RlLm5ldD4KKwlUYWtlIGludG8gYWNjb3VudCB0aGUgbmV3IHNpemUgb2YgYSBjb2x1bW4gd2hlbiB0aGUgaGVhZGVyIHNpemUKKwljaGFuZ2UuCisKKwkqIGRsbHMvcXVhcnR6L2FjbXdyYXBwZXIuYywgZGxscy9xdWFydHovYXZpZGVjLmMsCisJICBkbGxzL3F1YXJ0ei90cmFuc2Zvcm0uYywgZGxscy9xdWFydHovdHJhbnNmb3JtLmg6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUltcHJvdmVkIEFWSURlYy4KKwlBZGRlZCAyIG5ldyBjYWxsYmFjayBmdW5jdGlvbnMgdG8gdGhlIHRyYW5zZm9ybSB0ZW1wbGF0ZSBhbmQgbW92ZWQgYWxsCisJb2YgdGhlbSBpbnRvIGEgZnVuY3MgdGFibGUuCisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYywgZGxscy9hZHZhcGkzMi90ZXN0cy9yZWdpc3RyeS5jOgorCUphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUFkZCBSZWdPcGVuS2V5LCBSZWdDbG9zZUtleSB0ZXN0cy4KKworCSogZGxscy9tcHIvbXByX0RlLnJjLCBkbGxzL21wci9tcHJfRW4ucmMsIGRsbHMvbXByL21wcl9Gci5yYywKKwkgIGRsbHMvbXByL21wcl9QdC5yYywgZGxscy9zaGRvY3Z3L0RlLnJjLCBkbGxzL3NoZG9jdncvRW4ucmMsCisJICBkbGxzL3NoZG9jdncvRnIucmMsIGRsbHMvc2hkb2N2dy9QdC5yYywKKwkgIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX1NpLnJjLCBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9ObC5yYzoKKwlNYXJjZWxvIER1YXJ0ZSA8d2luZS1kZXZlbEBib2wuY29tLmJyPgorCVVzZSAiTVMgU2hlbGwgRGxnIiBldmVyeXdoZXJlIGV4Y2VwdCBmb3IgSmFwYW5lc2UuCisKKwkqIGRsbHMvbXNjbXMvTWFrZWZpbGUuaW4sIGRsbHMvbXNjbXMvaGFuZGxlLmMsIGRsbHMvbXNjbXMvbGNtc19hcGkuaCwKKwkgIGRsbHMvbXNjbXMvbXNjbXNfbWFpbi5jLCBkbGxzL21zY21zL21zY21zX3ByaXYuaCwKKwkgIGRsbHMvbXNjbXMvcHJvZmlsZS5jLCBkbGxzL21zY21zL3N0dWIuYywgZGxscy9tc2Ntcy90cmFuc2Zvcm0uYywKKwkgIGluY2x1ZGUvaWNtLmg6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJLSBBZGQgc3VwcG9ydCBmb3IgY29sb3IgdHJhbnNmb3JtIGhhbmRsZXMuCisJLSBJbXBsZW1lbnQgQ3JlYXRlQ29sb3JUcmFuc2Zvcm17QSxXfSwgQ3JlYXRlTXVsdGlQcm9maWxlVHJhbnNmb3JtLAorCSAgRGVsZXRlQ29sb3JUcmFuc2Zvcm0uCisJLSBEb24ndCBkZXBlbmQgb24gbGNtcyBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mCisJICBJc0NvbG9yUHJvZmlsZVRhZ1ByZXNlbnQuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbDMyLnNwZWMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYywKKwkgIGRsbHMvc2hlbGwzMi9zaGxmaWxlb3AuYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwktIFJldmVydCB3cm9uZyAtbm9uYW1lIG1hcmt1cCBmb3IgRHJhZyosIERvRW52aXJvbm1lbnRTdWJzdCBhbmQKKwkgIFNIR2V0TmV3TGlua0luZm97QSxXfS4KKwktIEFsc28gbWFyayBzdHViIGV4cG9ydHMgLW5vbmFtZSB3aGVuIHRoZXkgYXJlIGV4cG9ydGVkIGJ5IG9yZGluYWwKKwkgIG9ubHkgb24gd2luOTgvMmsuCisJLSBJbXBsZW1lbnRhdGlvbiBsZXZlbCBzdHVicyBmb3IgU2hlQ2hhbmdlRGlyQSwgU2hlR2V0RGlyQSwKKwkgIFNISGVscFNob3J0Y3V0c19SdW5ETEx7QSxXfS4KKwktIE5ldyBzcGVjIGZpbGUgc3R1YnMgZm9yIENvbnRyb2xfUnVuRExMQXNVc2VyVywKKwkgIEZpeHVwT3B0aW9uYWxDb21wb25lbnRzLCBPQ0luc3RhbGwsIFNIQ2hhbmdlTm90aWZ5U3VzcGVuZFJlc3VtZSwKKwkgIFNIQ3JlYXRlUHJvY2Vzc0FzVXNlclcsIFNIRXh0cmFjdEljb25zVywKKwkgIFNISW52b2tlUHJpbnRlckNvbW1hbmR7QSxXfSwgU0hJc0ZpbGVBdmFpbGFibGVPZmZsaW5lLAorCSAgU0hMb2FkTm9ubG9hZGVkSWNvbk92ZXJsYXlJZGVudGlmaWVycywgU0hQYXRoUHJlcGFyZUZvcldyaXRle0EsV30sCisJICBTaGVsbEV4ZWNfUnVuRExMeyxBLFd9LCBTSEdldEljb25PdmVybGF5SW5kZXh7QSxXfS4KKworCSogZGxscy9zaGVsbDMyL3BpZGwuYywgZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZSB0YWJzIGFuZCBtYWtlIGZvcm1hdHRpbmcgY29uc2lzdGVudC4KKworCSogZGxscy9vbGVhdXQzMi9vbGVhdXQzMi5zcGVjLCBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYywKKwkgIGluY2x1ZGUvb2xlY3RsLmg6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUFkZCBhIHN0dWIgZm9yIE9sZUxvYWRQaWN0dXJlUGF0aCgpLgorCisJKiBpbmNsdWRlL3dpbnVzZXIuaDogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUFkZCBMV0FfIGNvbnN0YW50cywgdXNlZCBpbiB7Uy9HfUxheWVyZWRXaW5kb3dBdHRyaWJ1dGVzKCkuCisKKwkqIGRsbHMvb2xlMzIvbWFyc2hhbC5jOiBNaWtlIEhlYXJuIDxtaEBjb2Rld2VhdmVycy5jb20+CisJQXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIGRvaW5nIGEgdHlwZWxpYiBtYXJzaGFsbGVkCisJSVVua25vd246OlF1ZXJ5SW50ZXJmYWNlIGJ5IG9ubHkgZG9pbmcgYW4gZXh0cmEgUUkgaWYgcmVxdWVzdGVkIElJRCBpcworCW5vdCBlcXVhbCB0byBtYXJzaGFsbGVkIElJRC4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6IE1pa2UgSGVhcm4gPG1oQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbGxvdyBsb2FkaW5nIG9mIGJ1aWx0aW4gdHlwZWxpYnMuCisKKwkqIGRsbHMvY29tY3RsMzIvaGVhZGVyLmM6IE1heGltZSBCZWxsZW5n6SA8bWF4aW1lLmJlbGxlbmdlQGxhcG9zdGUubmV0PgorCUZpeCBTZXRJdGVtIHNvIHRoYXQgaXRlbXMgZG9uJ3QgZ2V0IHdyb25nbHkgcmUtb3JkZXJlZC4KKworCSogZGxscy93aW5zcG9vbC9pbmZvLmMsIGRsbHMvd2luc3Bvb2wvd2luc3Bvb2wuZHJ2LnNwZWMsCisJICBpbmNsdWRlL3dpbnNwb29sLmg6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJU3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIEFib3J0UHJpbnRlciwgQWRkUG9ydEV4e0EsV30sCisJQWRkUHJpbnRlckNvbm5lY3Rpb257QSxXfSwgQ29ubmVjdFRvUHJpbnRlckRsZywKKwlEZWxldGVQcmludGVyQ29ubmVjdGlvbntBLFd9LCBFbnVtRm9ybXN7QSxXfSwgRW51bVByaW50ZXJEYXRhe0EsV10sCisJRXh0RGV2aWNlTW9kZSwgRmluZHtDbG9zZSxGaXJzdCxOZXh0fVByaW50ZXJDaGFuZ2VOb3RpZmljYXRpb24sCisJRnJlZVByaW50ZXJOb3RpZnlJbmZvLCBTY2hlZHVsZUpvYi4KKworCSogZGxscy91c2VyL21lbnUuYywgZGxscy91c2VyL3Rlc3RzL21zZy5jLCBkbGxzL3VzZXIvdGVzdHMvcmVzb3VyY2UucmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlUYWtlIFNoaWZ0IGtleSBzdGF0ZSBpbnRvIGFjY291bnQgd2hpbGUgcHJvY2Vzc2luZyBhbiBhY2NlbGVyYXRvci4KKwlBZGQgYSBjb3VwbGUgb2YgdGVzdCBjYXNlcy4KKworCSogcHJvZ3JhbXMvdGFza21nci9Fbi5yYywgcHJvZ3JhbXMvdGFza21nci90YXNrbWdyLnJjOgorCU1hcmNlbG8gRHVhcnRlIDx3aW5lLWRldmVsQGJvbC5jb20uYnI+CisJQ2xlYW51cCB0YXNrbWdyIHJlc291cmNlIGZpbGUgKGdldCByaWQgb2YgQysrIHN0eWxlIGNvbWVudHMsIHVzZSAiTVMKKwlTaGVsbCBEbGciIGZvciBkaWFsb2dzLCBldGMpLgorCVByZXBhcmF0aW9uIGZvciB0cmFuc2xhdG9ycyAobW92ZSBlbmdsaXNoIHJlc291cmNlcyB0byBFbi5yYykuCisKKwkqIGRsbHMvdXNlci9saXN0Ym94LmM6IE1heGltZSBCZWxsZW5n6SA8bWF4aW1lLmJlbGxlbmdlQGxhcG9zdGUubmV0PgorCVJldmVyc2UgdGhlIG9yZGVyIGZvciBkZWxldGluZyB0aGUgaXRlbXMgaW4gcmVzZXRjb250ZW50IHRvIGNvcnJlY3RseQorCWVtcHR5IGEgY29tYm9ib3hleC4KKworCSogaW5jbHVkZS93dHlwZXMuaWRsOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQWRkZWQgTFBEV09SRCBkZWZpbml0aW9uLgorCisJKiB0b29scy93aW5lbWFrZXI6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCU9ubHkgJ2ZpeCcgdGhlIG5hbWVzIG9mIHNvdXJjZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgKHRoaXMgd2F5CisJZG9jdW1lbnRhdGlvbiBmaWxlcyBhcmUgdW5oYXJtZWQpLgorCUJldHRlciBoYW5kbGUgTWFrZWZpbGVzIGdlbmVyYXRlZCBieSBXaW5lbWFrZXIuIEluIHBhcnRpY3VsYXIsIGRvbid0CisJcmVuYW1lIHRoZW0gdG8gbWFrZWZpbGUud2luIQorCisJKiBwcm9ncmFtcy9tc2lleGVjL21zaWV4ZWMuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUaGUgdmFsdWVzIGFyZSBxdW90ZWQgYW5kIHNwYWNlcyBhZGRlZCwgc28gaGF2aW5nIHNwYWNlcyBpbiB0aGUKKwlwcm9wZXJ0aWVzIHJlc3VsdHMgaW4gc3BhY2VzIGluIHRoZSB2YWx1ZXMgd2hpY2ggaXMgaW5jb3JyZWN0LgorCisJKiBpbmNsdWRlL3JpY2hvbGUuaWRsOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQWRkZWQgSVJpY2hFZGl0T2xlQ2FsbGJhY2suCisKKwkqIGluY2x1ZGUvY29tbWN0cmwuaDogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUNvcnJlY3QgdGhlIG51bWJlciBvZiBhcmdzIG9mIFNORE1TR0EgaW4gTGlzdFZpZXdfR2V0U3ViSXRlbVJlY3QuCisKKwkqIGRsbHMvbnRkbGwvbnQuYzogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCUZpeCBOdFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyIHBhcmFtZXRlciBjaGVja2luZy4gU3BvdHRlZCBieSBBbGV4CisJV29vZHMuCisKKzIwMDUtMDItMTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvb2xlMzIvZmlsZW1vbmlrZXIuYywgZGxscy9vbGUzMi9pdGVtbW9uaWtlci5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEJldHRlciB0cmFjaW5nLgorCS0gU21hbGwgY2xlYW51cCBvZiBjcmVhdGlvbiBmdW5jdGlvbnMuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbDMyLnNwZWM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCU1hcmsgZXhwb3J0cyAtbm9uYW1lIHdoZW4gdGhleSBhcmUgZXhwb3J0ZWQgYnkgb3JkaW5hbCBvbmx5IG9uCisJd2luOTgvMmsuCisKKwkqIE1ha2VmaWxlLmluOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCWRsbHMvX19pbnN0YWxsLWxpYl9fIGFuZCBwcm9ncmFtcy9fX2luc3RhbGxfXyBzaG91bGQgbm90IGZvcmNlIHRoZQorCWluc3RhbGxhdGlvbiBvZiB0aGUgV2luZSBoZWFkZXJzIGFzIHRoaXMgaXMgY29udHJhcnkgdG8gdGhlIHB1cnBvc2Ugb2YKKwlpbnN0YWxsLWxpYi4KKworCSogZGxscy9vbGUzMi9jb21wb2JqX3ByaXZhdGUuaCwgZGxscy9vbGUzMi9tYXJzaGFsLmMsCisJICBkbGxzL29sZTMyL3N0dWJtYW5hZ2VyLmMsIGRsbHMvb2xlMzIvdGVzdHMvbWFyc2hhbC5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIE1vdmUgbWFyc2hhbGluZyBzdGF0ZSBtYWNoaW5lIGludG8gc3R1YiBtYW5hZ2VyIGZyb20gaWZzdHViLgorCS0gQWRkIGFkZGl0aW9uYWwgbmVlZGVkIHN0YXRlcyBmb3IgdGFibGUtd2VhayBtYXJzaGFsaW5nLCBhcyBzaG93biBieQorCSAgdGVzdHMuCisJLSBQcm90ZWN0IGV4dGVybmFsIHJlZmVyZW5jZSBjb3VudCBmcm9tIHVuZGVyZmxvd3Mvb3ZlcmZsb3dzLgorCisJKiBzZXJ2ZXIvcXVldWUuYzogS3J6eXN6dG9mIEZvbHRtYW4gPGtmb2x0bWFuQHBvcnRhbC5vbmV0LnBsPgorCUVuc3VyZSB0aGF0IGNhcmV0IHBvc2l0aW9uIGlzIG5vdCByZXNldCB0byAoMCwgMCkgd2hlbiBDcmVhdGVDYXJldCBpcworCWNhbGxlZCBzZWNvbmQgdGltZSB3aXRoIHRoZSBzYW1lIHdpbmRvdy4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jLCB3aW5kb3dzL3dpbi5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJLSBBbHdheXMgdW5saW5rIGNoaWxkcmVuIGJlZm9yZSBzZW5kaW5nIFdNX05DREVTVFJPWSBtZXNzYWdlLgorCS0gRml4IG9yZGVyIG9mIFdNX0RFU1RST1kgbWVzc2FnZXMgZm9yIHRoZSBjaGlsZHJlbidzIHJlY3Vyc2lvbi4KKwktIERlc3Ryb3lXaW5kb3cgc2hvdWxkIGhpZGUgb25seSB2aXNpYmxlIHdpbmRvd3MuCisJLSBBZGQgYSB0ZXN0IGNhc2UgZm9yIHRoZSBhYm92ZSBmaXhlcy4KKworCSogZGxscy94MTFkcnYvZXZlbnQuYzogVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2hAY29kZXdlYXZlcnMuY29tPgorCUR1cGxpY2F0ZSBXaW5kb3dzIGJlaGF2aW91ciBhbmQgdXNlIFNlbmRNZXNzYWdlIGZvciB0aGUgU0NfQ0xPU0UKKwlzeXN0ZW0gY29tbWFuZCBpbnN0ZWFkIG9mIFBvc3RNZXNzYWdlLgorCisJKiBkbGxzL21zaS9hY3Rpb24uYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlZCBwcm9ibGVtcyB3aXRoIG15IGNvZGUgZm9yIGZpbmRpbmcgdGhlIFBhY2thZ2VDb2RlLgorCisJKiB0b29scy93aW5lZHVtcC9sbmsuYzogR2VyYWxkIFBmZWlmZXIgPGdlcmFsZEBwZmVpZmVyLmNvbT4KKwlVc2Ugc3RkbGliLmggaW5zdGVhZCBvZiBub24tc3RhbmRhcmQgbWFsbG9jLmguCisKKwkqIGluY2x1ZGUvYmFzZXRzZC5oLCBpbmNsdWRlL3dpbm50Lmg6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUNvbmRpdGlvbmFsbHkgYWRkIERFQ0xTUEVDX0FMSUdOKDgpIHRvIHdpbmUncyA2NC1iaXQgdHlwZXMgYW5kIGxlYXZlCisJdGhlIG1vZGlmaWVyIG9mZiB3aGVuIGNvbXBpbGluZyB3aXRoIG1zdmMuCisKKwkqIGRsbHMvd2lubW0vbWNpLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlGaXhlZCBvZmZzZXRzIGNhbGN1bGF0aW9ucy4KKworCSogdG9vbHMvd2luZWR1bXAvbG5rLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEdW1wIG91dCBtb3JlIGRldGFpbHMgb24gdGhlIHRhcmdldCBvZiBhIGxpbmsuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvb2RiY2luc3QuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgb2RiY2luc3QuaC4KKworCSogcHJvZ3JhbXMvd2luZW1lbnVidWlsZGVyL3dpbmVtZW51YnVpbGRlci5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTbWFsbCBpbmRlbnRhdGlvbiBmaXhlcy4KKworCSogZGxscy9kc291bmQvdGVzdHMvY2FwdHVyZS5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUZpeCBjYXB0dXJlIHRlc3QgdG8gcGFzcyBvbiB3aW5kb3dzIDk4IHdoZW4gbm8gc291bmQgY2FyZCBwcmVzZW50IG9yCisJZGV2aWNlIGFscmVhZHkgaW4gdXNlLgorCisJKiBkbGxzL3dpbm1tL3Rlc3RzL3RpbWVyLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRml4IHRpbWVyIHRlc3RzIHRvIHBhc3Mgb24gd2luZG93cyA5OC4KKworCSogZGxscy9kc291bmQvdGVzdHMvZHNvdW5kLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRml4IGJsb2NrIGFsaWduIHRlc3QuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlZm9udC5jOgorCUFsZXggVmlsbGFj7XMgTGFzc28gPGFfdmlsbGFjaXNAcGFsb3NhbnRvLmNvbT4KKwlJbXBsZW1lbnQgT2xlRm9udEltcGxfUXVlcnlUZXh0TWV0cmljcy4KKworCSogZGxscy9tc3ZjcnQvZGlyLmM6IEd1bm5hciBEYWxzbmVzIDxoYXJkb25Ab25saW5lLm5vPgorCVdoZW4gZ2V0dGluZyBjdXJyZW50IGRpcmVjdG9yeSBvbiBhIGRyaXZlIGRpZmZlcmVudCBmcm9tIHRoZSB3b3JraW5nCisJZHJpdmUsIF9nZXRkY3dkIGluY29ycmVjdGx5IHBhc3NlZCAiWDpcIiAoWCA9IGFueSBkcml2ZSkgYXMgcGF0aCB0bworCUdldEZ1bGxQYXRoTmFtZS4gIlg6IiAod2l0aG91dCB0aGUgYmFja3NsYXNoKSBpcyB0aGUgY29ycmVjdCB0aGluZyB0bworCXVzZS4KKworMjAwNS0wMi0xNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL3Njcm9sbC5jOiBWaXRhbHkgTGlwYXRvdiA8bGF2QGV0ZXJzb2Z0LnJ1PgorCVJlbmFtZSBTQ1JPTExfR2V0U2Nyb2xsQmFySW5mbyB0byBTQ1JPTExfR2V0SW50ZXJuYWxJbmZvIGFuZCBtYWtlCisJYWxsb2NhdGlvbiBvZiBhIG5ldyBpbmZvIHN0cnVjdHVyZSBvcHRpb25hbC4KKwlBZGQgc29tZSBkZXNjcmlwdGlvbnMuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYywgcHJvZ3JhbXMvd2luZW1lbnVidWlsZGVyL3dpbmVtZW51YnVpbGRlci5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQ29udmVydCB3aW5lbWVudWJ1aWxkZXIgdG8gdW5pY29kZS4KKworCSogdG9vbHMvd2luZWR1bXAvTWFrZWZpbGUuaW4sIHRvb2xzL3dpbmVkdW1wL2xuay5jLAorCSAgdG9vbHMvd2luZWR1bXAvbWFpbi5jLCB0b29scy93aW5lZHVtcC93aW5lZHVtcC5oOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgZHVtcGluZyBvZiBsbmsgZmlsZXMuCisKKwkqIGRsbHMvbXN2aWRlby9tc3ZpZGVvX21haW4uYzogRGF2aWQgU21pdGggPGRzbWl0aEBhbGdvbmV0LnNlPgorCUZpeCBmb3IgSUNJbmZvKCkgaW4gbXN2aWRlbyB3aGVuIGl0IGlzIHVzZWQgdG8gYXNrIGZvciBhIGNvZGVjIGJ5CisJaW5kZXguCisKKwkqIGRsbHMvYWR2YXBpMzIvdGVzdHMvY3J5cHQuYzogSmFrb2IgRXJpa3Nzb24gPGpha292QHZtbGludXgub3JnPgorCUFwcGFyZW50bHkgTlQ0IGNhbiBhbHNvIHJldHVybiBFUlJPUl9FTlZWQVJfTk9UX0ZPVU5ELgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZmlsZW9wLmM6IEpvcmlzIEh1aXplciA8am9yaXNodWl6ZXJAcGxhbmV0Lm5sPgorCS0gcmVuYW1lZCBmaWxlX29wZXJhdGlvbl9kZWxldGUgYW5kIHRvIHNoZmlsZW9wc19kZWxldGUKKwktIHJlbmFtZWQgZmlsZV9vcGVyYXRpb25fY2hlY2tGbGFncyB0byBzaGZpbGVvcHNfY2hlY2tfZmxhZ3MKKwktIGFkZGVkIGhlbHBlciBmdW5jdGlvbiBzaGZpbGVvcHNfZG9fb3BlcmF0aW9uKCkKKwktIGFkZGVkIGhlbHBlciBmdW5jdGlvbiBzaGZpbGVvcHNfZ2V0X3BhcmVudF9hdHRyKCkKKwktIGFkZGVkIGhlbHBlciBmdW5jdGlvbiBzaGZpbGVvcHNfZ2V0X3BhcmVudF9hdHRyMigpCisJLSB2YXJpb3VzIGNsZWFudXBzIGluIFNIRmlsZU9wZXJhdGlvblcgdXNpbmcgdGhlc2UgZnVuY3Rpb25zCisKKzIwMDUtMDItMTYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9Fcy5yYywgZGxscy9jb21jdGwzMi9jb21jdGxfRXMucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Fcy5yYywgZGxscy9tcHIvbXByX0VzLnJjLCBkbGxzL21zYWNtL21zYWNtX0VzLnJjLAorCSAgZGxscy9tc3JsZTMyL21zcmxlX0VzLnJjLCBkbGxzL29sZWF1dDMyL29sZWF1dDMyX0VzLnJjLAorCSAgZGxscy9vbGVkbGcvb2xlZGxnX0VzLnJjLCBkbGxzL3NlcmlhbHVpL0VzLnJjLCBkbGxzL3NldHVwYXBpL0VzLnJjLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfRXMucmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpX0VzLnJjLAorCSAgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfRXMucmMsIGRsbHMvd2luZXBzL3dwc19Fcy5yYywKKwkgIGRsbHMvd2luaW5ldC93aW5pbmV0X0VzLnJjLCBkbGxzL3dpbm1tL3dpbm1tX0VzLnJjLAorCSAgcHJvZ3JhbXMvY2xvY2svRXMucmMsIHByb2dyYW1zL2NtZGxndHN0L0VzLnJjLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9Fcy5yYywgcHJvZ3JhbXMvcHJvZ21hbi9Fcy5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvRXMucmMsIHByb2dyYW1zL3N0YXJ0L0VzLnJjLCBwcm9ncmFtcy92aWV3L0VzLnJjLAorCSAgcHJvZ3JhbXMvd2NtZC9Fcy5yYywgcHJvZ3JhbXMvd2luZWNmZy9Fcy5yYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlX0VzLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9Fcy5yYywKKwkgIHByb2dyYW1zL3dpbmVtaW5lL0VzLnJjLCBwcm9ncmFtcy93aW5oZWxwL0VzLnJjOgorCUFsZXggVmlsbGFj7XMgTGFzc28gPGFfdmlsbGFjaXNAcGFsb3NhbnRvLmNvbT4KKwlDaGFuZ2UgU1VCTEFOR19ERUZBVUxUIHRvIFNVQkxBTkdfTkVVVFJBTCBmb3IgTEFOR19TUEFOSVNIIGluIGFsbAorCXJlc291cmNlcywgc28gdGhhdCBTcGFuaXNoIGxvY2FsZXMgb3RoZXIgdGhhbiBTcGFpbiBhbHNvIHVzZSBTcGFuaXNoCisJcmVzb3VyY2VzLgorCisJKiBkbGxzL21zaS9tc2kucmMsIGRsbHMvbXNpL21zaV9Gci5yYywgZGxscy9zaGRvY3Z3L0ZyLnJjLAorCSAgZGxscy9zaGRvY3Z3L3NoZG9jdncucmM6CisJSm9uYXRoYW4gRXJuc3QgPEpvbmF0aGFuQEVybnN0RmFtaWx5LmNoPgorCUFkZCBGcmVuY2ggcmVzb3VyY2VzLgorCisJKiBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvcmVnaXN0cnkuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTW92ZSBwcm9kdWN0LCBmZWF0dXJlIGFuZCBjb21wb25lbnQgZW51bWVyYXRpb24gZnVuY3Rpb25zIHRvCisJcmVnaXN0cnkuYy4KKworCSogZGxscy93aW5tbS90ZXN0cy93YXZlLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUZpeCBpbXByb3BlciB0eXBlLWNvbnZlcnNpb25zLgorCisJKiBpbmNsdWRlL3dpbm50Lmg6IEl2YW4gTGVvIFB1b3RpIDxpdmFubGVvQGdtYWlsLmNvbT4KKwlBZGQgRVZFTlRfUVVFUllfU1RBVEUgZGVmaW5lLgorCisJKiBkbGxzL3VzZXIvcGFpbnRpbmcuYywgZGxscy91c2VyL3Rlc3RzL3dpbi5jOgorCVJlaW4gS2xhemVzIDx3aWpuQHdhbmFkb28ubmw+CisJQ2FsbGluZyBWYWxpZGF0ZVJlY3Qgb3IgVmFsaWRhdGVSZ24gb24gYSB3aW5kb3dzIGFsc28gdmFsaWRhdGVzIHRoZQorCWNoaWxkcmVuLiBBZGQgYSB0ZXN0IHRvIHNob3cgdGhlIGJlaGF2aW9yLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL2F1ZGlvLmM6IFBhdWwgdmFuIFNjaGF5Y2sgPHBvbGxla2VAZ21haWwuY29tPgorCUNoYW5nZSBkZXRlY3Rpb24gb3JkZXIgdG86IE9TUy1BTFNBLUFSVFMtSkFDSy4KKworCSogZGxscy91c2VyL2VkaXQuYzogVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2hAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBFU19DRU5URVIgYW5kIEVTX1JJR0hUIGFsaWdubWVudCBzdHlsZXMuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYywgZGxscy9zaGVsbDMyL3Rlc3RzL3NoZWxsbGluay5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJU2V0UGF0aCgiIikgc2hvdWxkIHJldHVybiBTX09LLgorCVNldFBhdGgoIm5vbmV4aXN0ZW50X3BhdGgiKSBzaG91bGQgcmV0dXJuIFNfRkFMU0UuCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWM6CisJVGhvbWFzIFdlaWRlbm11ZWxsZXIgPHdpbmUtcGF0Y2hlc0ByZWFjdHNvZnQuY29tPgorCUZvcndhcmQgdG8gdXNlcjMyIHdoZW4gYXBwcm9wcmlhdGUuCisKKwkqIGRsbHMvZHNvdW5kL21peGVyLmMsIGRsbHMvZHNvdW5kL3ByaW1hcnkuYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCVNvbWUgYmxvY2sgYWxpZ24gY2xlYW51cHMuCisKKwkqIGRsbHMvbXNpL2RpYWxvZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgYm9yZGVyIHRvIHRoZSBlZGl0IGNvbnRyb2wsIGFkZCBzb21lIG1vcmUgY29udHJvbHMuCisKKwkqIGRsbHMvbXNpL3N1bWluZm8uYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCB1cCB0aGUgc3VtbWFyeSBpbmZvcm1hdGlvbiBjb2RlIGEgbGl0dGxlLgorCisJKiBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpLnNwZWM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdHVicyBmb3IgTXNpVXNlRmVhdHVyZS4KKworCSogZGxscy9kc291bmQvYnVmZmVyLmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2QuYywKKwkgIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2Q4LmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvdGVzdHMvZHNvdW5kOC5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmRfdGVzdC5oOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRml4ZWQgaW52YWxpZCBidWZmZXIgc2l6ZSBieSByb3VuZGluZyB1cCB0byBuZXh0IG11bHRpcGxlIG9mCisJbkJsb2NrQWxpZ24uCisJQWRkZWQgdGVzdCB0byB2ZXJpZnkgYnVmZmVyIHJvdW5kaW5nIGJlaGF2aW9yLgorCisJKiBkbGxzL3gxMWRydi93aW5wb3MuYzogTGF1cmkgVHVsbWluIDxsYXVyaV9AdXQuZWU+CisJTWFrZSBtaW5pbWl6ZWQgd2luZG93cyBzdGF5IG1pbmltaXplZC4KKworCSogZGxscy9tc2kvcGFja2FnZS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUmVtb3ZlIGNvbnN0IGRlY2xhcmF0aW9uIGZyb20gbm9uLWNvbnN0IGZ1bmN0aW9uLgorCisJKiBkbGxzL21zaS90YWJsZS5jLCBkbGxzL21zaS93aGVyZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbGxvdyBNc2lWaWV3RXhlY3V0ZSB0byBiZSBjYWxsZWQgdHdpY2Ugb24gdGhlIHNhbWUgcXVlcnkuCisKKwkqIGRsbHMvbXNpL21zaXF1ZXJ5LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgTXNpRGF0YWJhc2VHZXRQcmltYXJ5S2V5cy4KKworCSogZGxscy9tc2kvbXNpLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNc2lHZXRDb21wb25lbnRQYXRoIHNob3VsZCBhbGxvdyBudWxsIHBvaW50ZXJzIGZvciBwY2NoQnVmIGFuZAorCWxwUGF0aEJ1Zi4KKworCSogcHJvZ3JhbXMvd2luZW1lbnVidWlsZGVyL3dpbmVtZW51YnVpbGRlci5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTbWFsbCBmaXhlcywgaW5kZW50YXRpb24gYW5kIGNvbW1lbnRzLgorCisyMDA1LTAyLTE1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsIGRsbHMvY29tbWRsZy9jb2xvcmRsZy5jLAorCSAgZGxscy9jb21tZGxnL2NvbG9yZGxnMTYuYywgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywKKwkgIGRsbHMvY29tbWRsZy9maW5kZGxnLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnMTYuYywKKwkgIGRsbHMvc2VyaWFsdWkvY29uZmRsZy5jLCBkbGxzL3NoZWxsMzIvZGlhbG9ncy5jLAorCSAgZGxscy9zaGx3YXBpL21zZ2JveC5jLCBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLCBkbGxzL3VzZXIvY29udHJvbHMuaCwKKwkgIGRsbHMvdXNlci9kZXNrdG9wLmMsIGRsbHMvdXNlci9kaWFsb2cxNi5jLCBkbGxzL3VzZXIvaWNvbnRpdGxlLmMsCisJICBkbGxzL3dpbmVwcy9kcml2ZXIuYywgZGxscy94MTFkcnYvd2luZG93LmMsIGRsbHMveDExZHJ2L3dpbnBvcy5jLAorCSAgaW5jbHVkZS93aW5kb3dzeC5oLCBpbmNsdWRlL3dpbnVzZXIuaCwgcHJvZ3JhbXMvdGFza21nci9hcHBscGFnZS5jLAorCSAgcHJvZ3JhbXMvdGFza21nci9wcm9jbGlzdC5jLCBwcm9ncmFtcy93aW5lY2ZnL2FwcGRlZmF1bHRzLmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL2F1ZGlvLmMsIHByb2dyYW1zL3dpbmVjZmcvZHJpdmV1aS5jLAorCSAgcHJvZ3JhbXMvd2luZWNmZy94MTFkcnZkbGcuYywgcHJvZ3JhbXMvd2luZWNvbnNvbGUvZGlhbG9nLmMsCisJICB3aW5kb3dzL2NsYXNzLmMsIHdpbmRvd3MvZGVmZGxnLmMsIHdpbmRvd3MvZGVmd25kLmMsCisJICB3aW5kb3dzL2RpYWxvZy5jLCB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL25vbmNsaWVudC5jLCB3aW5kb3dzL3dpbi5jLAorCSAgd2luZG93cy93aW5wcm9jLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEZpeCBwcm90b3R5cGVzIG9mIEdldENsYXNzTG9uZ0EvVywgR2V0Q2xhc3NMb25nUHRyQS9XIGFuZAorCSAgU2V0Q2xhc3NMb25nQS9XIGFjY29yZGluZyB0byBTREsgZGVmaW5pdGlvbnMuCisJLSBBZGQgcHJvdG90eXBlcyBmb3IgU2V0Q2xhc3NMb25nUHRyQS9XLCBwcm90ZWN0IHNvbWUgR1dMXyBhbmQgR0NMXworCSAgY29uc3RhbnRzIGZyb20gdXNpbmcgaW4gV2luZSBvciBpbiBfV0lONjQgbW9kZS4KKwktIEZpeCBhbGwgcGxhY2VzIGluIFdpbmUgYWZmZWN0ZWQgYnkgdGhlIGFib3ZlIGNoYW5nZXMuCisKKwkqIGRsbHMvb2xlMzIvY29tcG9iai5jLCBkbGxzL29sZTMyL29sZXByb3h5LmMsIGRsbHMvb2xlMzIvcnBjLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gVXNlIElfUnBjR2V0QnVmZmVyLCBpbnN0ZWFkIG9mIG91ciBvd24gYnVmZmVyIHJvdXRpbmVzIHRvIGZpeCBhbgorCSAgb2NjYXNpb25hbCB0ZXN0IGNyYXNoIGNhdXNlZCBieSBoZWFwIGNvcnJ1cHRpb24uCisJLSBaZXJvIHRoZSBtZW1vcnkgYmxvY2sgcGFzc2VkIHRvIFJwY1NlcnZlclJlZ2lzdGVySWZFeCBzbyB3ZSBkb24ndAorCSAgcGFzcyBnYXJiYWdlIGluIHNvbWUgb2YgdGhlIGZpZWxkcyB3ZSBkb24ndCBmaWxsIGluLgorCS0gUmV0dXJuIHRoZSBjb3JyZWN0IGVycm9yIGNvZGUgZnJvbSBjcmVhdGVfc2VydmVyIGFuZCBmaXggdHdvIGhhbmRsZQorCSAgbGVha3MuCisJLSBUT0RPIHVwZGF0ZS4KKworCSogZGxscy9udGRsbC9ydGxzdHIuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJVXNlIGxvY2FsIGJ1ZmZlciBpbiBSdGxVcGNhc2VVbmljb2RlU3RyaW5nVG9Db3VudGVkT2VtU3RyaW5nLCBpZgorCWFwcHJvcHJpYXRlLgorCisJKiBkbGxzL250ZGxsL3JlZy5jLCBkbGxzL250ZGxsL3Rlc3RzL3JlZy5jLCBpbmNsdWRlL3dpbnRlcm5sLmg6CisJSXZhbiBMZW8gUHVvdGkgPGl2YW5sZW9AZ21haWwuY29tPgorCU1vdmUgUnRsKlJlZ2lzdHJ5KiBzdHJ1Y3RzLCBkZWZpbmVzIGFuZCBwcm90b3R5cGVzIHRvIHdpbnRlcm5sLmguCisJRml4IHR3byBmdW5jdGlvbiBkZWNsYXJhdGlvbnMuCisKKwkqIGRsbHMvbXNpL21zaS5yYywgZGxscy9tc2kvbXNpX0RlLnJjLCBkbGxzL3NoZG9jdncvRGUucmMsCisJICBkbGxzL3NoZG9jdncvc2hkb2N2dy5yYywgcHJvZ3JhbXMvd2luZWZpbGUvRGUucmM6CisJSGVubmluZyBHZXJoYXJkdCA8aGVubmluZy5nZXJoYXJkdEB3ZWIuZGU+CisJQWRkL3VwZGF0ZWQgR2VybWFuIHJlc291cmNlcy4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUmVpbmRlbnQgc29tZSBjb2RlIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkuCisKKwkqIGRsbHMvcnBjcnQ0L3JwY19iaW5kaW5nLmMsIGRsbHMvcnBjcnQ0L3JwY19tZXNzYWdlLmMsCisJICBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBBZGQgYSBzdHViIGltcGxlbWVudGF0aW9uIG9mIFJwY0ltcGVyc29uYXRlQ2xpZW50LgorCS0gTW9yZSB0cmFjaW5nLCBwYXJ0aWN1bGFybHkgb24gZXJyb3IgcGF0aHMuCisKKwkqIGRsbHMva2VybmVsL3ZvbHVtZS5jOiBQYXVsIHZhbiBTY2hheWNrIDxwb2xsZWtlQGdtYWlsLmNvbT4KKwlPbmx5IHN0b3Agd3JpdGluZyBhIHZvbHVtZSBsYWJlbCBpZiB3ZSBmb3VuZCBhIG5vbiB3cml0YWJsZSBmYXQKKwlwYXJ0aXRpb24uCisKKwkqIGRsbHMvb2xlMzIvZ2l0LmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUaGUgR2xvYmFsIEludGVyZmFjZSBUYWJsZSBzaG91bGQgZG8gdGFibGUtc3Ryb25nIG1hcnNoYWxpbmcgaW5zdGVhZAorCW9mIG5vcm1hbCBtYXJzaGFsaW5nIHNvIHRoYXQgYW4gaW50ZXJmYWNlIGNhbiBiZSByZXRyaWV2ZWQgbW9yZSB0aGFuCisJb25lIHRpbWUuCisKKwkqIGRsbHMvb2xlMzIvY29tcG9iai5jLCBkbGxzL29sZTMyL2NvbXBvYmpfcHJpdmF0ZS5oLAorCSAgZGxscy9vbGUzMi9tYXJzaGFsLmMsIGRsbHMvb2xlMzIvcnBjLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gUmVtb3ZlIGNydWZ0IGxlZnQgb3ZlciBmcm9tIHByZXZpb3VzIFJQQyBiYWNrZW5kIGltcGxlbWVudGF0aW9uIGluCisJICB0aGUgYXBhcnRtZW50IHN0cnVjdHVyZS4KKwktIERvbid0IHBhc3MgYW4gSVBJRCBieSB2YWx1ZSBmb3IgcHJveHlfbWFuYWdlcl9jcmVhdGVfaWZwcm94eS4KKwktIERpc2FibGUgbW9yZSBvZiBSUENfVW5yZWdpc3RlckludGVyZmFjZSB0byBwcmV2ZW50IHRoZSBSUEMgcnVudGltZQorCSAgdXNpbmcgZnJlZWQgbWVtb3J5LgorCS0gUmVuYW1lIHZhcmlvdXMgZXh0ZXJuYWwgUlBDIGJhY2tlbmQgZnVuY3Rpb25zIHNvIHRoYXQgdGhleSBhbGwgaGF2ZQorCSAgdGhlIHNhbWUgIlJQQ18iIHByZWZpeC4KKwktIFJlZHVjZSB0aGUgdGltZW91dCBvZiB0aGUgZnVuY3Rpb24gdGhhdCBjb25uZWN0cyB0byBhIGxvY2FsIHNlcnZlcgorCSAgdG8gMzBzLCBsaWtlIG5hdGl2ZS4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jLCBpbmNsdWRlL3NoZWxsYXBpLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURlZmluZSBzb21lIGV4dHJhIFNIRkdJIHZhbHVlcy4KKworCSogZGxscy91c2VyL3N5c3BhcmFtcy5jLCBpbmNsdWRlL3dpbnVzZXIuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIHNvbWUgbW9yZSBTUEkgdmFsdWVzLgorCisJKiBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggUlBDIHNlcnZlciB0aHJlYWQgcmFjZS4KKworCSogZGxscy9ycGNydDQvcnBjX2JpbmRpbmcuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUVSUk9SX0lPX1BFTkRJTkcgaXMgZXhwZWN0ZWQsIHNvIGRvbid0IHJldHVybiBhbiBlcnJvci4KKworCSogZGxscy9kaW5wdXQvam95c3RpY2tfbGludXhpbnB1dC5jLCBkbGxzL2RpbnB1dC9rZXlib2FyZC5jLAorCSAgZGxscy9kaW5wdXQvbW91c2UuYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJSW1wbGVtZW50ZWQgR2V0UHJvcGVydHkgbWV0aG9kIGZvciBrZXlib2FyZCBkZXZpY2UuCisKKwkqIGRsbHMvb2xlMzIvY29tcG9iai5jLCBkbGxzL29sZTMyL2NvbXBvYmpfcHJpdmF0ZS5oLAorCSAgZGxscy9vbGUzMi9tYXJzaGFsLmMsIGRsbHMvb2xlMzIvcnBjLmMsIGRsbHMvb2xlMzIvc3R1Ym1hbmFnZXIuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBDT00gdXNlIHRoZSBSUEMgcnVudGltZSBhcyB0aGUgYmFja2VuZCBmb3IgUlBDIGNhbGxzLiBCYXNlZCBvbiBhCisJcGF0Y2ggYnkgT3ZlIEvldmVuLgorCisyMDA1LTAyLTE0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvbnRkbGwvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL250ZGxsL3Rlc3RzL3JlZy5jOgorCUJyYWQgRGVNb3Jyb3cKKwlUZXN0cyBmb3IgdGhlIG50ZGxsIHJlZ2lzdHJ5IGZ1bmN0aW9ucy4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL3JlZy5jOgorCUl2YW4gTGVvIFB1b3RpIDxpdmFubGVvQGdtYWlsLmNvbT4KKwlBZGQgaW1wbGVtZW50YXRpb24gZm9yIFJ0bFF1ZXJ5UmVnaXN0cnlWYWx1ZXMsIFJ0bENoZWNrUmVnaXN0cnlLZXkgYW5kCisJUnRsRGVsZXRlUmVnaXN0cnlWYWx1ZS4KKworCSogZGxscy9hZHZhcGkzMi90ZXN0cy9zZWN1cml0eS5jLCBkbGxzL2dkaS90ZXN0cy9tZXRhZmlsZS5jLAorCSAgZGxscy9tbGFuZy90ZXN0cy9tbGFuZy5jLCBkbGxzL21zdmNydC90ZXN0cy9maWxlLmMsCisJICBkbGxzL250ZGxsL3Rlc3RzL3BhdGguYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUNhc3QgdGhlIEdldFByb2NBZGRyZXNzKCkgcmV0dXJuIHZhbHVlIHRvIGF2b2lkIHdhcm5pbmdzIGFib3V0IHRoZQorCWZ1bmN0aW9uIHBvaW50ZXIgYmVpbmcgb2YgdGhlIHdyb25nIHR5cGUuCisJRml4IGFzc29ydGVkIHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIHdhcm5pbmdzLgorCisJKiBkbGxzL3JpY2hlZGl0L3JlYWRlci5jLCBkbGxzL3JpY2hlZGl0L3J0Zi5oLAorCSAgZGxscy9yaWNoZWRpdC9zdGRjaGFybmFtZXMuaCwgZGxscy9yaWNoZWRpdC90ZXh0X21hcC5oOgorCVLpbWkgQXNzYWlsbHkgPHJlbWkuYXNzYWlsbHlAZnJlZS5mcj4KKwljaGFyIC0+IGNvbnN0IGNoYXIgZml4ZXMuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvbWFpbi5jOiBNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJQWRkZWQgc3VwcG9ydCBmb3IgY29tbWFuZCBsaW5lIHBhcmFtZXRlciAnL0QnIHRvIGRvIGRyaXZlIGRldGVjdGlvbgorCWZyb20gd2luZXByZWZpeGNyZWF0ZS4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9kcml2ZWRldGVjdC5jOgorCU1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlJbmNsdWRlIGNvbmZpZy5oIHRvIHJlZW5hYmxlIHJlYWRpbmcgL2V0Yy9mc3RhYiBvbiBwbGF0Zm9ybXMgdGhhdAorCXN1cHBvcnQgaXQuCisJSW1wbGVtZW50ZWQgYSBibGFjayBsaXN0IG9mIG1vdW50IGRpcmVjdG9yaWVzLCB3aGljaCBzaG91bGQgbm90IGJlCisJbWFwcGVkLgorCUVuc3VyZSB0aGF0IHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkgaXMgbWFwcGVkLgorCisJKiBkbGxzL3JzYWVuaC9yc2FlbmguYzogTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUNoZWNrIHBkd0RhdGFMZW4gcGFyYW0gZm9yIG5vbiBOVUxMJ25lc3MuCisJSW1wbGVtZW50ZWQgUFBfSU1QTFRZUEUgYW5kIFBQX1ZFUlNJT04gcHJvdmlkZXIgcGFyYW1zLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL2RyaXZlLmM6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlTZXQgcG9pbnRlcnMgdG8gTlVMTCBpbiBkZWxldGVfZHJpdmUgdG8gcHJldmVudCBoZWFwIGNvcnJ1cHRpb24gaW4KKwlsb2FkX2RyaXZlcy4KKworCSogZGxscy93aW5tbS90ZXN0cy90aW1lci5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZCBzb21lIG1pc3NpbmcgXG5zLgorCisJKiBkbGxzL21zY21zL2hhbmRsZS5jLCBkbGxzL21zY21zL2ljYy5jLCBkbGxzL21zY21zL21zY21zX3ByaXYuaCwKKwkgIGRsbHMvbXNjbXMvcHJvZmlsZS5jLCBkbGxzL21zY21zL3Rlc3RzL3Byb2ZpbGUuYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlJbXBsZW1lbnQgYW5kIHRlc3QgYWNjZXNzIGZsYWdzIGZvciBjb2xvciBwcm9maWxlcy4KKwlXcml0ZSB0aGUgY29sb3IgcHJvZmlsZSBiYWNrIHRvIGRpc2sgd2hlbiBpdCB3YXMgb3BlbmVkIGZvciB3cml0aW5nLgorCisJKiBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYywgZGxscy9tc3ZjcnQvdGVzdHMvcHJpbnRmLmMsCisJICBkbGxzL21zdmNydC93Y3MuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGhhbmRsaW5nIG9mICV3cywgJVMgYW5kICVDIHRvIF92bnModylwcmludGYsIGltcHJvdmUgc3ByaW50ZgorCXRlc3RzLgorCisJKiBkbGxzL3VzZXIvZGRlL2NsaWVudC5jLCBkbGxzL3VzZXIvZGRlL2RkZV9wcml2YXRlLmgsCisJICBkbGxzL3VzZXIvZGRlL2RkZW1sMTYuYywgZGxscy91c2VyL2RkZS9taXNjLmMsCisJICBkbGxzL3VzZXIvZGRlL3NlcnZlci5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBEREUgaW1wbGVtZW50YXRpb24gYWx3YXlzIHdvcmsgaW50ZXJuYWxseSBpbiBVbmljb2RlLgorCisJKiBkbGxzL2FkdmFwaTMyL3Rlc3RzL3NlY3VyaXR5LmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVN1cHByZXNzIGEgd2FybmluZy4KKworCSogZGxscy9zaGVsbDMyL3Rlc3RzL3NoZWxsbGluay5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJVGVzdCB0aGUgaW50ZXJhY3Rpb24gYmV0d2VlbiBJU2hlbGxMaW5rOjpTZXRJRExpc3QoKSBhbmQKKwlJU2hlbGxMaW5rOjpTZXRQYXRoKCkuCisJQ2hlY2sgd2hhdCBkZWZhdWx0IHZhbHVlcyBvbmUgZ2V0cyBvbiBhIGZyZXNoIElTaGVsbExpbmsgb2JqZWN0LgorCUFkZCBzb21lIG1vcmUgdGVzdHMgdmVyaWZ5aW5nIG5vdGhpbmcgaXMgbG9zdCBpbiBhbiBJU2hlbGxMaW5rCisJc2F2ZS9sb2FkIGN5Y2xlLiBNZXJnZWQgdGhlIGVtcHR5IHNoZWxsbGluayB0ZXN0IHdpdGggdGhlc2UuCisKKwkqIGRsbHMvZ2RpL3JlZ2lvbi5jOiBSZWluIEtsYXplcyA8d2lqbkB3YW5hZG9vLm5sPgorCVJFR0lPTl9GcmFtZVJnbiBjb21wdXRlcyB0aGUgZnJhbWUgcmVnaW9uIGluc2lkZSB0aGUgb3JpZ2luYWwgcmVnaW9uLgorCisJKiBkbGxzL3VzZXIvZWRpdC5jOiBMYXVyaSBUdWxtaW4gPGxhdXJpX0B1dC5lZT4KKwlVcGRhdGUgc2Nyb2xsIGluZm8gb24gV01fU0VUVEVYVC4KKworCSogcHJvZ3JhbXMvbm90ZXBhZC9kaWFsb2cuYzogTGF1cmkgVHVsbWluIDxsYXVyaV9AdXQuZWU+CisJSW1wbGVtZW50IHdvcmQgd3JhcC4KKworCSogZG9jdW1lbnRhdGlvbi9SRUFETUUucHQsIGRvY3VtZW50YXRpb24vUkVBRE1FLnB0X2JyOgorCU1hcmNlbG8gRHVhcnRlIDx3aW5lLWRldmVsQGJvbC5jb20uYnI+CisJVXBkYXRlIFJFQURNRSBmb3IgUHRfYnIgYW5kIFB0LgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYywgZGxscy9vbGUzMi9jb21wb2JqX3ByaXZhdGUuaCwgZGxscy9vbGUzMi9ycGMuYywKKwkgIGRsbHMvb2xlMzIvc3R1Ym1hbmFnZXIuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJSW52b2tlIG9iamVjdHMgaW4gU1RBJ3MgaW4gdGhlIGNvcnJlY3QgdGhyZWFkIGJ5IHNlbmRpbmcgbWVzc2FnZXMgdG8KKwl0aGUgaGlkZGVuIGFwYXJ0bWVudCB3aW5kb3cuCisKKwkqIGRsbHMvcmljaGVkaXQvcmljaGVkaXQuYzoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCU1ha2UgdGhlIGVkaXQgZmllbGQgY3JlYXRlZCBmcm9tIGEgcmljaGVkaXQgY29udHJvbCB3aGljaCB3YXMgY3JlYXRlZAorCXdpdGggRVNfRElTQUJMRU5PU0NST0xMLCBub3QgaGF2ZSB0aGUgRVNfTlVNQkVSIHN0eWxlIGFuZCBoZW5jZSBhY2NlcHQKKwlhbHBoYW51bWVyaWMgaW5wdXQuCisKKwkqIGRsbHMvY29tbWRsZy9jZGxnX0VuLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19QdC5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX3h4LnJjLCBkbGxzL21wci9tcHJfUHQucmMsIGRsbHMvbXNpL21zaS5yYywKKwkgIGRsbHMvbXNpL21zaV9QdC5yYywgZGxscy9vbGVhdXQzMi9vbGVhdXQzMi5yYywgZGxscy9zaGRvY3Z3L0VuLnJjLAorCSAgZGxscy9zaGRvY3Z3L1B0LnJjLCBkbGxzL3NoZG9jdncvc2hkb2N2dy5yYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX1B0LnJjLCBkbGxzL3dpbmluZXQvd2luaW5ldF9QdC5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvUHQucmMsIHByb2dyYW1zL3dpbmVmaWxlL1B0LnJjOgorCU1hcmNlbG8gRHVhcnRlIDx3aW5lLWRldmVsQGJvbC5jb20uYnI+CisJVXBkYXRlIHRoZSByZXNvdXJjZXMgZm9yIFBvcnR1Z3Vlc2UuCisKKwkqIGRsbHMvZGRyYXcvZDNkX3ByaXZhdGUuaCwgZGxscy9kZHJhdy9kM2RkZXZpY2UvbWFpbi5jLAorCSAgZGxscy9kZHJhdy9tZXNhLmMsIGRsbHMvZGRyYXcvbWVzYV9wcml2YXRlLmgsCisJICBkbGxzL2RkcmF3L2QzZGRldmljZS9tZXNhLmMsIGRsbHMvZGRyYXcvZGlyZWN0M2QvbWVzYS5jLAorCSAgZGxscy9kZHJhdy9kc3VyZmFjZS9tYWluLmM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUhhbmRsZSBtb3JlIHByb3Blcmx5IHZlcnNpb25zIGZvciBEaXJlY3QzRCBhbmQgRGlyZWN0M0REZXZpY2UKKwlvYmplY3RzLgorCisJKiBkb2N1bWVudGF0aW9uL2dldHRpbmcuc2dtbDoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQWRkIDIgbWlzc2luZyB0YWdzIGluIGdldHRpbmcuc2dtbC4KKworCSogZGxscy9nZGkvZGliLmMsIGRsbHMvb2xlYXV0MzIvb2xlcGljdHVyZS5jLCBkbGxzL3dpbmVwcy9wcy5jLAorCSAgd2luZG93cy9jdXJzb3JpY29uLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQ2hlY2sgZm9yIG92ZXJmbG93cyB3aXRoIENsclVzZWQuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jLCBkbGxzL29sZTMyL2Vycm9yaW5mby5jLCBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJT3V0cHV0IHNvbWUgbW9yZSBpbmZvcm1hdGlvbnMuCisJTWFyayBvbmUgZ2xvYmFsIHZhcmlhYmxlIHN0YXRpYy4KKworCSogZGxscy9tc2kvTWFrZWZpbGUuaW4sIGRsbHMvbXNpL2RlbGV0ZS5jLCBkbGxzL21zaS9xdWVyeS5oLAorCSAgZGxscy9tc2kvc3FsLnk6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBTUUwgZGVsZXRlIHF1ZXJ5LgorCisJKiBkbGxzL3NoZWxsMzIvc2hsdmlldy5jOiBGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJRG9uJ3QgY3Jhc2ggaWYgU2hlbGxGb2xkZXIgZG9lc24ndCBpbXBsZW1lbnQgdGhlIElJRF9JU0ZIZWxwZXIKKwlpbnRlcmZhY2UuCisKKwkqIGRsbHMvYWR2YXBpMzIvdGVzdHMvY3J5cHQuYywgZGxscy9hZHZhcGkzMi90ZXN0cy9zZWN1cml0eS5jOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCU1ha2UgYWR2YXBpMzJfdGVzdC5leGUgbG9hZGFibGUgb24gTlQgMy41MS4KKworCSogdG9vbHMvd2lkbC90eXBlbGliLmM6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlBIFJQQ19GQ19FTlVNMTYgaXMgYSBWVF9VU0VSREVGSU5FRC4KKworCSogZGxscy9zZXR1cGFwaS9taXNjLmMsIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGkuc3BlYywKKwkgIGluY2x1ZGUvc2V0dXBhcGkuaDoKKwlFcmljIEtvaGwgPGVyaWMua29obEB0LW9ubGluZS5kZT4KKwlJbXBsZW1lbnQgRGVsYXllZE1vdmUgYW5kIEZpbGVFeGlzdHMuCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvaW5mby5jOiBPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJTWVudGlvbiBidCBbYWxsIHwgPHRpZD5dLgorCisJKiBkbGxzL2dkaS90ZXN0cy9icnVzaC5jOiBS6W1pIEFzc2FpbGx5IDxyZW1pLmFzc2FpbGx5QGZyZWUuZnI+CisJU21hbGwgY2hhciAtPiBjb25zdCBjaGFyIGZpeC4KKworCSogZGxscy9zaGVsbDMyL3NobGV4ZWMuYzogR2UgdmFuIEdlbGRvcnAgPGd2Z0ByZWFjdG9zLmNvbT4KKwlFcnJvciBudW1iZXJzID49IDMyIGFyZSB0byBiZSBleHBlY3RlZC4KKworCSogZGxscy9udGRsbC90aW1lLmM6IE1hcmNlbG8gRHVhcnRlIDx3aW5lLWRldmVsQGJvbC5jb20uYnI+CisJLSBDb3JyZWN0IHRpbWUgem9uZSBmb3IgQlJUIGFuZCBCUlNULgorCS0gQmV0dGVyIGV4cGxhaW5lZCBmaXhtZS4KKworCSogZGxscy9hZHZwYWNrL3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL2FkdnBhY2svdGVzdHMvYWR2cGFjay5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJTG9hZCBhZHZwYWNrLmRsbCBhdCBydW50aW1lIHRvIGF2b2lkIGxpbmsgcHJvYmxlbXMgd2l0aCB0aGUgcGxhdGZvcm0KKwlzZGsuCisKKwkqIGRsbHMvd2luc29jay90ZXN0cy9wcm90b2NvbC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJVGVzdHMgY2Fubm90IHVzZSB3aW5lL2RlYnVnLmggYmVjYXVzZSBpdCBkb2VzIG5vdCBleGlzdCBvbiBXaW5kb3dzLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvZWRpdC5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUVTX0NPTUJPIGlzIG5vdCBkZWZpbmVkIGluIHRoZSBXaW5kb3dzIGhlYWRlcnMuIFNvIGRlZmluZSBpdCBpZgorCW5lY2Vzc2FyeSBzbyB0aGUgdGVzdCBjYW4gYmUgY29tcGlsZWQgb24gV2luZG93cy4KKworCSogZGxscy9vbGUzMi90ZXN0cy9tYXJzaGFsLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIE9sZSB0ZXN0cyBydW4gb24gV2luZG93cyA5NS4KKworCSogcHJvZ3JhbXMvd2NtZC9idWlsdGlucy5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJTWFrZSAnZXhpc3QnIGluIHdjbWQgaGFuZGxlIGJvdGggZmlsZSBhbmQgZGlyZWN0b3JpZXMuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvZHJpdmVkZXRlY3QuYywgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLmg6CisJTWljaGFlbCBKdW5nIDxtanVuZ0Bpc3MudHUtZGFybXN0YWR0LmRlPgorCUZpeGVkIGF1dG9tYXRpYyBkcml2ZSBkZXRlY3Rpb24gZm9yIHRoZSBjYXNlIHRoYXQgdGhlIHJvb3QgZGlyZWN0b3J5CisJaXMgbm90IGFscmVhZHkgbWFwcGVkLgorCisJKiBkbGxzL3dpbm1tL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvd2lubW0vdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbm1tL3Rlc3RzL3RpbWVyLmMsIGRsbHMvd2lubW0vdGltZS5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgcGFyYW1ldGVyIGNoZWNraW5nIHRvIHRpbWVHZXREZXZDYXBzLgorCUFkZGVkIHRpbWVyIHRlc3RzLgorCisJKiBkbGxzL2NvbW1kbGcvZm9udGRsZy5jOiBNaWtlIEhlYXJuIDxtaEBjb2Rld2VhdmVycy5jb20+CisJUmVzcGVjdCB0aGUgZmxhZ3MgbWVtYmVyIG9mIHRoZSBDSE9PU0VGT05UIHN0cnVjdHVyZSwgYW5kIGRvbid0CisJYXR0ZW1wdCB0byBwcm9jZXNzIGJvZ3VzIHN0cmluZ3MuCisKKzIwMDUtMDItMTEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIFZFUlNJT04sIGNvbmZpZ3VyZSwgQU5OT1VOQ0UsIENoYW5nZUxvZzogUmVsZWFzZSAyMDA1MDIxMS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMjAwNS0wMi0xMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbiwgZG9jdW1lbnRhdGlvbi9jb21waWxpbmcuc2dtbCwKZGlmZiAtLWdpdCBhL1ZFUlNJT04gYi9WRVJTSU9OCmluZGV4IDc5MGZiNjcuLmNjNzM2NDkgMTAwNjQ0Ci0tLSBhL1ZFUlNJT04KKysrIGIvVkVSU0lPTgpAQCAtMSArMSBAQAotV2luZSB2ZXJzaW9uIDIwMDUwMjExCitXaW5lIHZlcnNpb24gMjAwNTAzMTAKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCA2NmE3Yzg1Li44ZGYwM2ZiIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0xLDYgKzEsNiBAQAogIyEgL2Jpbi9zaAogIyBHdWVzcyB2YWx1ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUgTWFrZWZpbGVzLgotIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkgZm9yIFdpbmUgMjAwNTAyMTEuCisjIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OSBmb3IgV2luZSAyMDA1MDMxMC4KICMKICMgUmVwb3J0IGJ1Z3MgdG8gPHdpbmUtZGV2ZWxAd2luZWhxLm9yZz4uCiAjCkBAIC0yNjksOCArMjY5LDggQEAKICMgSWRlbnRpdHkgb2YgdGhpcyBwYWNrYWdlLgogUEFDS0FHRV9OQU1FPSdXaW5lJwogUEFDS0FHRV9UQVJOQU1FPSd3aW5lJwotUEFDS0FHRV9WRVJTSU9OPScyMDA1MDIxMScKLVBBQ0tBR0VfU1RSSU5HPSdXaW5lIDIwMDUwMjExJworUEFDS0FHRV9WRVJTSU9OPScyMDA1MDMxMCcKK1BBQ0tBR0VfU1RSSU5HPSdXaW5lIDIwMDUwMzEwJwogUEFDS0FHRV9CVUdSRVBPUlQ9J3dpbmUtZGV2ZWxAd2luZWhxLm9yZycKIAogYWNfdW5pcXVlX2ZpbGU9InNlcnZlci9hdG9tLmMiCkBAIC03ODgsNyArNzg4LDcgQEAKICAgIyBPbWl0IHNvbWUgaW50ZXJuYWwgb3Igb2Jzb2xldGUgb3B0aW9ucyB0byBtYWtlIHRoZSBsaXN0IGxlc3MgaW1wb3NpbmcuCiAgICMgVGhpcyBtZXNzYWdlIGlzIHRvbyBsb25nIHRvIGJlIGEgc3RyaW5nIGluIHRoZSBBL1VYIDMuMSBzaC4KICAgY2F0IDw8X0FDRU9GCi1cYGNvbmZpZ3VyZScgY29uZmlndXJlcyBXaW5lIDIwMDUwMjExIHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KK1xgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwNTAzMTAgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgogCiBVc2FnZTogJDAgW09QVElPTl0uLi4gW1ZBUj1WQUxVRV0uLi4KIApAQCAtODUzLDcgKzg1Myw3IEBACiAKIGlmIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiOyB0aGVuCiAgIGNhc2UgJGFjX2luaXRfaGVscCBpbgotICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDA1MDIxMToiOzsKKyAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIFdpbmUgMjAwNTAzMTA6Ijs7CiAgICBlc2FjCiAgIGNhdCA8PFxfQUNFT0YKIApAQCAtOTg0LDcgKzk4NCw3IEBACiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIiAmJiBleGl0IDAKIGlmICRhY19pbml0X3ZlcnNpb247IHRoZW4KICAgY2F0IDw8XF9BQ0VPRgotV2luZSBjb25maWd1cmUgMjAwNTAyMTEKK1dpbmUgY29uZmlndXJlIDIwMDUwMzEwCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkKIAogQ29weXJpZ2h0IChDKSAyMDAzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtOTk4LDcgKzk5OCw3IEBACiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwNTAyMTEsIHdoaWNoIHdhcworSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwNTAzMTAsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMjAzNTMsNyArMjAzNTMsNyBAQAogfSA+JjUKIGNhdCA+JjUgPDxfQ1NFT0YKIAotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDA1MDIxMSwgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDUwMzEwLCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTIwNDE2LDcgKzIwNDE2LDcgQEAKIAogY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKIGFjX2NzX3ZlcnNpb249IlxcCi1XaW5lIGNvbmZpZy5zdGF0dXMgMjAwNTAyMTEKK1dpbmUgY29uZmlnLnN0YXR1cyAyMDA1MDMxMAogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5LAogICB3aXRoIG9wdGlvbnMgXFwiYGVjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKIAo=