ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggMTIwZDczYS4uMWRjOTIzMyAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTMgKzEsMTMgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDA0MDgxMyBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDQwOTE0IG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA0MDgxMzogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gTmV3IG1zaWV4ZWMgYXBwbGljYXRpb24uCi0gICAgICAgIC0gU3VwcG9ydCBmb3IgYWxwaGEgYmxlbmRpbmcuCi0gICAgICAgIC0gTW9yZSBzb3VuZCBzdXBwb3J0IGltcHJvdmVtZW50cy4KLSAgICAgICAgLSBWYXJpb3VzIGNvZGUgY2xlYW51cHMuCitXSEFUJ1MgTkVXIHdpdGggV2luZS0yMDA0MDkxNDogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCisgICAgICAgIC0gVmFyaW91cyBpbXByb3ZlbWVudHMgdG8gdGhlIGNvbW1vbiBjb250cm9scy4KKyAgICAgICAgLSBOZXcgSVRTUyBkbGwgKGZvciBIVE1MIEhlbHAgc3VwcG9ydCkuCisgICAgICAgIC0gTWFueSBjb21wYXRpYmlsaXR5IGZpeGVzIGluIHRoZSBleHBvcnRlZCBoZWFkZXJzLgorICAgICAgICAtIFJlcGxhY2VtZW50cyBmb3IgdGhlIFdpbmRvd3Mgc3RhbmRhcmQgYml0bWFwIGZvbnRzLgogICAgICAgICAtIExvdHMgb2YgYnVnIGZpeGVzLgogCiBTZWUgdGhlIFJFQURNRSBmaWxlIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCkBAIC0xNiw4ICsxNiw4IEBACiB0aGUgcmVsZWFzZSBpcyBhdmFpbGFibGUgYXQgdGhlIGZ0cCBzaXRlcy4gIFRoZSBzb3VyY2VzIHdpbGwgYmUgYXZhaWxhYmxlCiBmcm9tIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgogCi0gIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDA0MDgxMy50YXIuZ3oKLSAgaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC93aW5lL1dpbmUtMjAwNDA4MTMudGFyLmd6CisgIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDA0MDkxNC50YXIuZ3oKKyAgaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC93aW5lL1dpbmUtMjAwNDA5MTQudGFyLmd6CiAKIEl0IHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZSBmcm9tIGFueSBvdGhlciBzaXRlIHRoYXQgbWlycm9ycyBpYmlibGlvLm9yZy4KIFRoZXNlIGxvY2F0aW9ucyBhbHNvIGhvbGQgcHJlLWJ1aWx0IGRvY3VtZW50YXRpb24gcGFja2FnZXMgaW4gdmFyaW91cwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDBkMjQzMGUuLjIwY2JmZTggMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNCArMSwyNDgyIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyMDA0LTA5LTE0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jOiBKZW5zIENvbGxpbiA8amVucy5jb2xsaW5AbGFraGVpLmNvbT4KKwlBZGRlZCBsb29rdXAgb2YgZW52aXJvbm1lbnQgdmFycyBpbiBTSEVMTF9BcmdpZnlXLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYzogQWxleGFuZGVyIFlhd29yc2t5IDx5YXdvcnNreUBtaWd1c29mdC5ydT4KKwlQcm9wZXIgZmluYWxpemF0aW9uIGluIFN0YXJ0U2VydmljZVcuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCBsZXQgYXBwbGljYXRpb25zIGFkZCBDb25uZWN0aW9uIGhlYWRlciB0byByZXF1ZXN0LgorCisJKiBkbGxzL250ZGxsL2ZpbGUuYywgZGxscy9zaGx3YXBpL3JlZy5jLCBkbGxzL3R3YWluL1JFQURNRSwKKwkgIGRsbHMvdHdhaW4vZHNfaW1hZ2UuYywgZGxscy90d2Fpbi9kc21fY3RybC5jLCBkbGxzL3R3YWluL3R3YWluX2kuaCwKKwkgIGRsbHMvd2luYXNwaS9hc3BpLmgsIGRsbHMvd2luYXNwaS93aW5hc3BpMTYuYywKKwkgIGRsbHMvd2luYXNwaS93aW5hc3BpMzIuYywgZGxscy93aW5hc3BpL3dpbmVzY3NpLmgsIGluY2x1ZGUvd2luYmFzZS5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFzc29ydGVkIHNwZWxsaW5nIGZpeGVzLgorCisJKiBkbGxzL250ZGxsL250LmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYzoKKwlTdGV2ZW4gRWR3YXJkcyA8c3RldmVuX2VkNDE1M0B5YWhvby5jb20+CisJQWRkZWQgc3R1YiBmb3IgTnRTaHV0ZG93blN5c3RlbS4KKworCSogZGxscy91c2VyL3VzZXIzMi5zcGVjLCB3aW5kb3dzL3dpbi5jOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlBZGRlZCBzdHViIGZvciBTd2l0Y2hEZXNrdG9wLgorCisJKiB0b29scy93aWRsL2hlYWRlci5jLCB0b29scy93aWRsL3BhcnNlci55OgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEZXRlcm1pbmUgUlBDIHN0cnVjdCB0eXBlcyBtb3JlIGV4YWN0bHkuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYywKKwkgIGluY2x1ZGUvY29uZmlnLmguaW46CisJTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCUF1dG9kZXRlY3QgbGliZ2lmIHNvIGV4dGVuc2lvbiBhbmQgdHJ5IHRvIGxvYWQgaXQuCisKKwkqIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywgZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVN0dWIgaW1wbGVtZW50YXRpb24gZm9yIFF1ZXJ5U2VydmljZU9iamVjdFNlY3VyaXR5LgorCisJKiBmb250cy8uY3ZzaWdub3JlLCBmb250cy9NYWtlZmlsZS5pbiwgZm9udHMvd2luZV9jb3VyaWVyLnNmZDoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUFkZCBjcDEyNTAgZ2x5cGhzIHRvIFdpbmUgQ291cmllci4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJQWRkZWQgc3VwcG9ydCBmb3IgRExMVkVSU0lPTklORk8yIGluIERsbEdldFZlcnNpb24uCisKKwkqIGluY2x1ZGUvd2luZS9ycGNmYy5oOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgbWlzc2luZyBycGMgdHlwZS4KKworCSogZGxscy9tbGFuZy9tbGFuZy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIEludGVybG9ja2VkKiBmdW5jdGlvbnMgaW4gQWRkUmVmIGFuZCBSZWxlYXNlLgorCisJKiBkbGxzL2FkdmFwaTMyL2NyeXB0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIHN1cmUgbm90IHRvIGludGVyZmVyZSB3aXRoIHRoZSBsYXN0ZXJyb3IgdmFsdWUgcmV0dXJuZWQgYnkgdGhlCisJQ1NQIGluIENyeXB0QWNxdWlyZUNvbnRleHRBLgorCisJKiBERVZFTE9QRVJTLUhJTlRTOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGRldiBoaW50IGxpbmUgZm9yIGl0c3MgKHBhcnQgb2YgaHRtbCBoZWxwKS4KKworCSogZGxscy9rZXJuZWwvcmVzb3VyY2UuYzogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUltcGxlbWVudCBCZWdpblVwZGF0ZVJlc291cmNlIGFuZCBVcGRhdGVSZXNvdXJjZS4KKwlTdHViIG91dCBhIGJpdCBtb3JlIG9mIEVuZFVwZGF0ZVJlc291cmNlLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOiBGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJU3RhdHVzIHVwZGF0ZS4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIE1ha2UgY3VzdG9taXphdGlvbiBsaXN0IGJveGVzIGludG8gZHJhZyBsaXN0IGJveGVzLgorCS0gT3JkZXIgYXZhaWxhYmxlIGJ1dHRvbnMgaW4gdGhlIHNhbWUgd2F5IGFzIHRoZSBuYXRpdmUgdmVyc2lvbi4KKworCSogZGxscy9jb21jdGwzMi9kcmFnbGlzdC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBDbGVhciBkYXRhIHN0cnVjdHVyZSBhZnRlciBkcmFnZ2luZy4KKwktIFdNX1NFVENVUlNPUiBkb2VzIG5vdCBuZWVkIHRvIGJlIGhhbmRsZWQgYXMgaXQgaXMgbm90IHNlbnQgd2hpbHN0CisJICB0aGUgd2luZG93IGlzIGNhcHR1cmVkLgorCS0gTWFrZSB1RHJhZ0xpc3RNZXNzYWdlIG5vbi1zdGF0aWMgc28gdGhhdCB3ZSBjYW4gcmUtdXNlIGl0CisJICBlbHNld2hlcmUuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYzogUm9kZXJpY2sgQ29sZW5icmFuZGVyIDx0aHVuZGVyYmlyZDJrQGdteC5uZXQ+CisJR2VyYWxkIFBmZWlmZXIgPGdlcmFsZEBwZmVpZmVyLmNvbT4KKwlNYWtlIFdTMl9zZW5kKCksIFdTX2dldHNvY2tvcHQoKSwgYW5kIFdTX3NldHNvY2tvcHQoKSBJUFggc3VwcG9ydCB3b3JrCisJb24gRnJlZUJTRC4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jOgorCVN0b3AgdGVzdGluZyBhIHNlcXVlbmNlIHVwb24gdGhlIGZpcnN0IGV4cGVjdGVkIGVycm9yLCB0byBhdm9pZAorCXNwdXJpb3VzIGVycm9ycyBsYXRlciBvbi4KKworCSogZGxscy9jb21jdGwzMi9pcGFkZHJlc3MuYywgZGxscy9jb21jdGwzMi9zdGF0dXMuYywKKwkgIGRsbHMvY29tY3RsMzIvdHJhY2tiYXIuYywgZGxscy9jb21jdGwzMi91cGRvd24uYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJU2V0IGNsYXNzIGhickJhY2tncm91bmQgYW5kIHN0eWxlIHRvIHRoZSBzYW1lIGFzIG5hdGl2ZS4KKworCSogZGxscy9jb21jdGwzMi9wYWdlci5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBTZXQgaGJyQmFja2dyb3VuZCBjbGFzcyBwcm9wZXJ0eSB0byBzYW1lIHZhbHVlIGFzIG5hdGl2ZS4KKwktIFVzZSBVbmljb2RlIHdpbmRvdyBmdW5jdGlvbnMgaW5zdGVhZCBvZiBBTlNJLgorCisJKiBkbGxzL2NvbWN0bDMyL3RhYi5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBTZXQgaGJyQmFja2dyb3VuZCBjbGFzcyBwcm9wZXJ0eSB0byBzYW1lIHZhbHVlIGFzIG5hdGl2ZS4KKwktIFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIFdNX0VSQVNFQktHTkQgaGFuZGxlci4KKwktIFVzZSBVbmljb2RlIHdpbmRvdyBmdW5jdGlvbnMgaW5zdGVhZCBvZiBBTlNJLgorCisJKiBwcm9ncmFtcy93aW5lbWVudWJ1aWxkZXIvd2luZW1lbnVidWlsZGVyLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJSWYgd2UgZG8gbm90IGhhdmUgYW4gSWNvbnNEaXIsIHVzZSB0aGUgdGVtcCBkaXJlY3RvcnkuCisKKzIwMDQtMDktMTMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hlbGwzMi9zaGxmb2xkZXIuYywgZGxscy9zaGVsbDMyL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL3NoZWxsMzIvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxmb2xkZXIuYzoKKwlWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlJU2hlbGxGb2xkZXI6OkNvbXBhcmVJRHMgLSByZXR1cm4gb25seSAtMS8wLzEgaW4gbG93ZXIgMTYgYml0LgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmMsIGRsbHMvZ2RpL2VuaG1ldGFmaWxlLmMsIGRsbHMvZ2RpL3dpbmcuYywKKwkgIHdpbmRvd3MvZGNlLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlDcmVhdGVEQ0EgLT4gQ3JlYXRlRENXCisKKwkqIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmM6IEZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwlGaXggcmVzaXppbmcgb2Ygd2l6YXJkcy4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jLCBkbGxzL3dpbnNvY2svd3MyXzMyLnNwZWMsIGluY2x1ZGUvd2luc29jazIuaDoKKwlBbmRyZWFzIFJvc2VuYmVyZyA8YW5kcmVhc19yb3NlbmJlcmdAd2ViLmRlPgorCUltcGxlbWVudGF0aW9uIG9mIFdTQVN0cmluZ1RvQWRkcmVzcyhBL1cpLCBXU0FIdG9ubCwgV1NBSHRvbnMuCisKKwkqIGRsbHMvZ2RpL2RpYi5jLCBkbGxzL2dkaS9lbmhtZXRhZmlsZS5jLCBkbGxzL2dkaS90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9nZGkvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvZ2RpL3Rlc3RzL2JpdG1hcC5jLAorCSAgd2luZG93cy9jdXJzb3JpY29uLmM6CisJTWljaGFlbCBLYXVmbWFubiA8aGFsbG9AbWljaGFlbC1rYXVmbWFubi5jaD4KKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUNyZWF0ZURJQml0bWFwIHNob3VsZCByZXR1cm4gYml0bWFwcyBhdCB0aGUgZGVwdGggb2YgdGhlIHN1cHBsaWVkIGRjLgorCUFkZCBhIHRlc3QgdG8gZXhlcmNpc2UgdGhpcyBiZWhhdmlvdXIuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmMsIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jLAorCSAgZGxscy93aW5pbmV0L2ludGVybmV0Lmg6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCVN0b3JlIEhUVFAgaG9zdCBoZWFkZXIgaW4gdGhlIHNhbWUgd2F5IGFzIG1vc3Qgb3RoZXIgaGVhZGVycy4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jLCB3aW5kb3dzL25vbmNsaWVudC5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIHN1cHBvcnQgZm9yIEhDQlRfU1lTQ09NTUFORCBob29rLCBhZGQgbG9nZ2luZyBmb3IgSENCVF9TWVNDT01NQU5ECisJaW4gdGhlIG1lc3NhZ2UgdGVzdC4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBoSUMuCisJLSBSZW1vdmUgY2hlY2sgZm9yIEhUVFAgc2lnbmF0dXJlIGluIHNlcnZlciByZXBseS4KKwktIEZpeCBzdHVwaWQgZXJyb3Igd2l0aCBmcmVlaW5nIHRoZSB3cm9uZyBidWZmZXIuCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJTWFrZSBzdXJlIFRyZWVWaWV3IGdldHMgcmVkcmF3biBhZnRlciBjYWxsaW5nIEVuc3VyZVZpc2libGUuCisKKwkqIGZvbnRzLy5jdnNpZ25vcmUsIGZvbnRzL01ha2VmaWxlLmluLCBmb250cy93aW5lX3N5c3RlbS5zZmQ6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgY3AxMjUwIGdseXBocyB0byBXaW5lIFN5c3RlbS4KKworCSogZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYzogRmlsaXAgTmF2YXJhIDx4bmF2YXJhQHZvbG55LmN6PgorCUZpbGwgdGhlIGFyZWEgbmV4dCB0byB3YXRlcm1hcmsgYml0bWFwIHdpdGggd2luZG93IGNvbG9yIGFuZCBzdWJjbGFzcworCWV4dGVyaW9yIHdpemFyZCBwYWdlcyB0byBzdXBwcmVzcyBkcmF3aW5nIGJhY2tncm91bmQuCisKKwkqIGRsbHMvZGlucHV0L2RpbnB1dF9tYWluLmMsIGRsbHMvZGlucHV0L2RpbnB1dF9wcml2YXRlLmgsCisJICBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eC5jLCBkbGxzL2RpbnB1dC9qb3lzdGlja19saW51eGlucHV0LmMsCisJICBkbGxzL2RpbnB1dC9rZXlib2FyZC5jLCBkbGxzL2RpbnB1dC9tb3VzZS5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgZGV2aWNlcy4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIGJ1bmNoIG9mIG5ldyBNREkgdGVzdHMuCisKKwkqIE1ha2UucnVsZXMuaW46IFR1cm4gb24gd2FybmluZ3Mgd2hlbiBidWlsZGluZyB0aGUgLmRlZiBmaWxlLgorCisJKiBkbGxzL250ZGxsL2RpcmVjdG9yeS5jOgorCURvbid0IHRyeSB0byBzdGF0IG5ldHdvcmsgbW91bnRzIGluIHBhcnNlX21vdW50X2VudHJpZXMsIHdlIGNhbid0CisJcmV0dXJuIGEgbWVhbmluZ2Z1bCBkZXZpY2UgZm9yIHRoZW0gYW55d2F5IChzdWdnZXN0ZWQgYnkgUm9iZXJ0CisJU2hlYXJtYW4pLgorCisJKiBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLCBkbGxzL3NobHdhcGkvcmVnLmMsCisJICBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjLCBkbGxzL3NobHdhcGkvc3RyaW5nLmMsCisJICBkbGxzL3NobHdhcGkvdGVzdHMvc3RyaW5nLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgU0hTaW11bGF0ZURyb3AsIE1JTUVfR2V0RXh0ZW5zaW9uQS9XLCBTdHJDcHlOWEEvVywKKwlTSEFuc2lUb0Fuc2ksIFNIVW5pY29kZVRvVW5pY29kZS4KKworCSogZGxscy9tYXBpMzIvbWFwaTMyLnNwZWMsIGRsbHMvbWFwaTMyL3Byb3AuYywKKwkgIGRsbHMvbWFwaTMyL3Rlc3RzL3V0aWwuYywgZGxscy9tYXBpMzIvdXRpbC5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSW1wbGVtZW50IEhyR2V0T25lUHJvcCwgSHJTZXRPbmVQcm9wLCBGUHJvcEV4aXN0cywgRnJlZVBhZHJsaXN0LAorCUZyZWVQcm93cywgU2NEdXBQcm9wc2V0LCBIZXhGcm9tQmluLCBGQmluRnJvbUhleCwgRkVxdWFsTmFtZXMuCisJRml4IDIgY2FzZXMgd2hlcmUgaXRlcmF0aW5nIG92ZXIgdmFsdWUgYXJyYXlzIHJldXNlZCBhIGxvb3AgdmFyaWFibGUKKwlpbmNvcnJlY3RseS4KKworCSogdG9vbHMvd2luZS5pbmY6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSGVsdiBzaG91bGQgYmUgYW4gYWxpYXMgZm9yIE1TIFNhbnMgU2VyaWYuIFNwb3R0ZWQgYnkgRnJhbmNvaXMuCisKKwkqIGRsbHMvdHdhaW4vY2FwYWJpbGl0eS5jLCBkbGxzL3R3YWluL2RzX2F1ZGlvLmMsCisJICBkbGxzL3R3YWluL3R3YWluMTZfbWFpbi5jLCBkbGxzL3R3YWluL3R3YWluMzJfbWFpbi5jLAorCSAgZGxscy90d2Fpbi90d2Fpbl9pLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIHN1cmUgd2UgaW5jbHVkZSBjb25maWcuaCBiZWZvcmUgaW5jbHVkaW5nIHR3YWluX2kuaC4KKwlGaXhlcyBhbiBhY3RpdmVEUy5kZXZpY2VIYW5kbGUgY29ycnVwdGlvbiBidWcuCisKKwkqIHRvb2xzL3dpZGwvcGFyc2VyLnksIHRvb2xzL3dpZGwvcHJveHkuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wcm92ZSBwcm94eSBjb2RlIGdlbmVyYXRlZCBmb3Igb2FpZGwuaWRsLgorCisJKiBkbGxzL2NvbWN0bDMyL2hlYWRlci5jOiBWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlTZW5kIGNvcnJlY3QgdHJhY2luZyBub3RpZmljYXRpb24gbWVzc2FnZXMuCisKKwkqIGRsbHMva2VybmVsL2NvbnNvbGUuYywgZGxscy9rZXJuZWwvdGVzdHMvY29uc29sZS5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUZpeGVkIChmaW5hbGx5KSBTY3JvbGxDb25zb2xlU2NyZWVuQnVmZmVyIGltcGxlbWVudGF0aW9uLgorCisJKiBkbGxzL250ZGxsL3J0bC5jLCBkbGxzL250ZGxsL3J0bGJpdG1hcC5jLCBkbGxzL250ZGxsL3N0cmluZy5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgorCisJKiBmb250cy93aW5lX3NhbnNfc2VyaWYuc2ZkOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUZpeCB0aGUgc2l6ZSBvZiB0aGUgJ0cnIGF0IDE2IHBwZW0uIFRoYW5rcyB0byBEbWl0cnkgZm9yIHNwb3R0aW5nCisJdGhpcy4KKworCSogZGxscy9nZGkvZGMuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaGVuIERDIG1hcHBpbmcgY2hhbmdlcyByZXNlbGVjdCBjdXJyZW50IHBlbiB0byB1cGRhdGUgcGh5c2ljYWwKKwl3aWR0aC4KKworCSogZGxscy9kaW5wdXQvZGV2aWNlX3ByaXZhdGUuaCwgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXguYywKKwkgIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4aW5wdXQuYywgZGxscy9kaW5wdXQvbW91c2UuYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZCBidWZmZXJlZCBtb2RlIHRvIGpveXN0aWNrLgorCUFkZCBKb3lzdGlja1dJbXBsX0dldERldmljZUluZm8uCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYywgZGxscy94MTFkcnYvd2lucG9zLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlMb2cgZmxhZ3MgZm9yIFdNX1dJTkRPV1BPU0NIQU5HSU5HL1dNX1dJTkRPV1BPU0NIQU5HRUQgbWVzc2FnZXMsIG1ha2UKKwl0aGUgdGVzdHMgcGFzcyBvbiBXaW45NS9XaW45OC9XaW4yMDAwLCBmaXggc29tZSB0ZXN0IGZhaWx1cmVzIHVuZGVyCisJV2luZS4KKworCSogZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYzogRmlsaXAgTmF2YXJhIDx4bmF2YXJhQHZvbG55LmN6PgorCUNvcnJlY3QgZGlzcGxheWluZyBvZiB3aXphcmQgc3VidGl0bGUuCisKKzIwMDQtMDktMTAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZC5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJUmVtb3ZlIGxvY2sgbmFtZSBmcm9tIGxvY2sgZGVidWcgc3RydWN0dXJlIGJlZm9yZSBkZWxldGlvbiBzbyBpdCBnZXRzCisJZnJlZWQgcHJvcGVybHkuCisKKwkqIGRsbHMvbXNpL2FjdGlvbi5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBVc2UgRkRJIGZ1bmN0aW9ucyBsaWtlIG5hdGl2ZSBpbnN0ZWFkIG9mIGFkdnBhY2suRXh0cmFjdEZpbGVzIGFuZAorCSAgY2FiaW5ldC5FeHRyYWN0ICh3aGljaCBkb2Vzbid0IHdvcmsgd2l0aCBuYXRpdmUgY2FiaW5ldCkKKwktIElmIE1vdmVGaWxlIGZhaWxzIHRoZSBtZXNzYWdlIG5vdyBkaXNwbGF5ZXMgdGhlIGNvcnJlY3QgbGFzdCBlcnJvcgorCSAgYW5kIGJhaWxzIHJhdGhlciB0aGFuIHNpbGVudGx5IGJyZWFraW5nIHRoZSBpbnN0YWxsLgorCisJKiBkbGxzL3VzZXIvbWVudS5jOiBNaWNoYWVsIEthdWZtYW5uIDxoYWxsb0BtaWNoYWVsLWthdWZtYW5uLmNoPgorCU1ha2UgdGhlIG1lbnVzIG9mIERlbHBoaSBhcHBsaWNhdGlvbnMgd29yay4KKworCSogZGxscy91c2VyL3Rlc3RzL2RpYWxvZy5jLCB3aW5kb3dzL2RlZmRsZy5jLCB3aW5kb3dzL2RpYWxvZy5jOgorCVphY2ggR29ybWFuIDx6YWNoQGFyY2hldHlwZWF1Y3Rpb24uY29tPgorCVRoZSBpbml0aWFsIGRpYWxvZyBmb2N1cyBzaG91bGQgYmUgZXN0YWJsaXNoZWQgYnkgdGhlIGRlZmF1bHQgaGFuZGxlcgorCWZvciBTZXRGb2N1cygpLCBub3QgaW4gdGhlIGRpYWxvZyBjcmVhdGlvbiBjb2RlLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvZGlhbG9nLmMsIHdpbmRvd3MvZGlhbG9nLmM6CisJWmFjaCBHb3JtYW4gPHphY2hAYXJjaGV0eXBlYXVjdGlvbi5jb20+CisJTW9kYWwgZGlhbG9ncyBzaG91bGQgbm90IGJlIHNob3duIHZpYSBTaG93V2luZG93IHVudGlsIHRoZSBtZXNzYWdlCisJcXVldWUgZmlyc3QgcnVucyBlbXB0eS4gVGhpcyBhbGxvd3MgYWxsIGluaXRpYWxpemF0aW9uIHRvIGNvbXBsZXRlCisJYmVmb3JlIGEgZGVmYXVsdCBmb2N1cyBpcyBhc3NpZ25lZC4KKworCSogZGxscy9rZXJuZWwvbW9kdWxlLmMsIGRsbHMva2VybmVsL25lX21vZHVsZS5jLCBkbGxzL2tlcm5lbC9wcm9jZXNzLmM6CisJQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCURvbid0IHJlamVjdCBPUy8yIHByb2dyYW1zLCB0cnkgdG8gY2Fycnkgb24gaW4gRE9TIG1vZGUuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9kaWFsb2cuYywgZGxscy91c2VyL3Rlc3RzL3Jlc291cmNlLnJjOgorCVphY2ggR29ybWFuIDx6YWNoQGFyY2hldHlwZWF1Y3Rpb24uY29tPgorCUFkZGVkIHRlc3RzIGZvciBkZWZhdWx0IGZvY3VzIGFzc2lnbm1lbnQgaW4gZGlhbG9ncy4KKworCSogaW5jbHVkZS93aW50ZXJubC5oOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCURvY3VtZW50IGFsbCB0aGUgc3RydWN0dXJlIG1lbWJlcnMgdXAgdG8gU2Vzc2lvbklkIGluIHRoZSBQRUIuCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jOiBBbGV4YW5kZXIgWWF3b3Jza3kgPHlhd29yc2t5QG1pZ3Vzb2Z0LnJ1PgorCUltcGxlbWVudGVkIExvY2tTZXJ2aWNlRGF0YWJhc2UgYW5kIFVubG9ja1NlcnZpY2VEYXRhYmFzZS4KKworCSogZGxscy9zaGx3YXBpL3BhdGguYzogRGllZ28gUGV0dGVu8iA8ZGdwODVAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorCUFkZCBzdXBwb3J0IGZvciBmaWxlOi8vLyB1cmxzIGluIFBhdGhDcmVhdGVGcm9tVXJsLgorCisJKiBkbGxzL3dpbmluZXQvaHR0cC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlTdHJpcCBkYW5nbGluZyBcclxuIGZyb20gSFRUUF9IdHRwU2VuZFJlcXVlc3QuCisKKwkqIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9QbC5yYywgZGxscy9hdmlmaWwzMi9yc3JjLnJjOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL3gxMWRydi9kaWIuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXZSB3YW50IGFsbCAxYnBwIGRpYnNlY3Rpb25zIHRvIGhhdmUgYSBtb25vY2hyb21lIGJpdG1hcCBhbmQKKwlldmVyeXRoaW5nIGVsc2UgdG8gYmUgYXQgdGhlIHNjcmVlbiBkZXB0aC4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvdGltZS5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJQWRkIHRlc3RzIG9mIFR6U3BlY2lmaWNMb2NhbFRpbWVUb1N5c3RlbVRpbWUgYW5kCisJU3lzdGVtVGltZVRvVHpTcGVjaWZpY0xvY2FsVGltZS4KKworCSogZGxscy9rZXJuZWwvdGltZS5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJRml4ZWQgVHpTcGVjaWZpY0xvY2FsVGltZVRvU3lzdGVtVGltZSBhbmQKKwlTeXN0ZW1UaW1lVG9UelNwZWNpZmljTG9jYWxUaW1lOgorCS0gdGFrZSB0aGUgdGltZSBvZiBkYXkgaW50byB0aGUgY2FsY3VsYXRpb24sIHNvIHRoZSBiaWFzIGlzIGNhbGN1bGF0ZWQKKwkgIGNvcnJlY3RseSBkdXJpbmcgdGhlIHRyYW5zaXRpb24gZGF5czsKKwktIHRoZSB0cmFuc2l0aW9uIHRpbWVzIGFyZSBleHByZXNzZWQgYXMgbG9jYWwgdGltZSwgbm90IHN5c3RlbSB0aW1lOworCS0gY29ycmVjdCB0aGUgZGF5bGlnaHQgbG9naWMgZm9yIHVzZSBvbiB0aGUgc291dGhlcm4gaGVtaXNwaGVyZTsKKwktIGJlYXV0aWZ5IHNvbWUgTE9OR0xPTkcgYXJpdGhtZXRpYy4KKworCSogZGxscy9kYmdoZWxwL2RiZ2hlbHAuc3BlYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBJbWFnZURpcmVjdG9yeUVudHJ5VG9EYXRhIGJ5IGZvcndhcmRpbmcgaXQgdG8gdGhlIG50ZGxsCisJaW1wbGVtZW50YXRpb24gb2YgdGhlIGZ1bmN0aW9uLgorCisJKiB0b29scy93aWRsL3Byb3h5LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlPdXRwdXQgTmRyQ29udmVydCwgTmRyQ2xlYXJPdXRQYXJhbWV0ZXJzIGFuZCBJSUQgY29uc3RyYWludHMuCisKKwkqIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9wcmltYXJ5LmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlSZXR1cm4gZXJyb3IgZnJvbSBsb3cgbGV2ZWwgZHJpdmVyIHdoZW4gbmVjZXNzYXJ5LgorCisyMDA0LTA5LTA5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL29sZTMyL2FudGltb25pa2VyLmMsIGRsbHMvb2xlMzIvYmluZGN0eC5jLAorCSAgZGxscy9vbGUzMi9jbGlwYm9hcmQuYywgZGxscy9vbGUzMi9jb21wb3NpdGVtb25pa2VyLmMsCisJICBkbGxzL29sZTMyL2ZpbGVtb25pa2VyLmMsIGRsbHMvb2xlMzIvaXRlbW1vbmlrZXIuYywKKwkgIGRsbHMvb2xlMzIvbWFyc2hhbC5jLCBkbGxzL29sZTMyL21vbmlrZXIuYywgZGxscy9vbGUzMi9vbGUxNi5jLAorCSAgZGxscy9vbGUzMi9vbGVvYmouYywgZGxscy9vbGUzMi9vbGVwcm94eS5jLCBkbGxzL29sZTMyL3JwYy5jLAorCSAgZGxscy9vbGUzMi9zdG9yYWdlLmMsIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmMsIGRsbHMvb2xlYXV0MzIvY29ubnB0LmMsCisJICBkbGxzL29sZWF1dDMyL2Rpc3BhdGNoLmMsIGRsbHMvb2xlYXV0MzIvb2xlZm9udC5jLAorCSAgZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmMsIGRsbHMvb2xlYXV0MzIvdG1hcnNoYWwuYywKKwkgIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jLCBkbGxzL29sZWF1dDMyL3R5cGVsaWIyLmMsIGluY2x1ZGUvb2JqYmFzZS5oOgorCUdldCByaWQgb2YgdGhlIG5vbi1zdGFuZGFyZCBJQ09NX1RISVMgbWFjcm8uCisKKwkqIGRsbHMvZGlucHV0L2RldmljZS5jLCBkbGxzL2RpbnB1dC9kaW5wdXRfbWFpbi5jLAorCSAgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXguYywgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXhpbnB1dC5jLAorCSAgZGxscy9kaW5wdXQva2V5Ym9hcmQuYywgZGxscy9kaW5wdXQvbW91c2UuYywgZGxscy9kc291bmQvYnVmZmVyLmMsCisJICBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9kc291bmQvcHJpbWFyeS5jLAorCSAgZGxscy9kc291bmQvcHJvcHNldC5jLCBkbGxzL2Rzb3VuZC9zb3VuZDNkLmMsCisJICBkbGxzL3NoZWxsMzIvYXV0b2NvbXBsZXRlLmMsIGRsbHMvc2hlbGwzMi9jcGFuZWxmb2xkZXIuYywKKwkgIGRsbHMvc2hlbGwzMi9kYXRhb2JqZWN0LmMsIGRsbHMvc2hlbGwzMi9lbnVtaWRsaXN0LmMsCisJICBkbGxzL3NoZWxsMzIvZm9sZGVycy5jLCBkbGxzL3NoZWxsMzIvbWVtb3J5c3RyZWFtLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9sZS5jLAorCSAgZGxscy9zaGVsbDMyL3NobGZzYmluZC5jLCBkbGxzL3NoZWxsMzIvc2hsdmlldy5jLAorCSAgZGxscy9zaGVsbDMyL3Nodl9iZ19jbWVudS5jLCBkbGxzL3NoZWxsMzIvc2h2X2l0ZW1fY21lbnUuYzoKKwlSZW1vdmVkIHNvbWUgbW9yZSB1c2VzIG9mIHRoZSBub24tc3RhbmRhcmQgSUNPTV9USElTIG1hY3JvLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9jb25zb2xlLmM6IENvbW1lbnQgb3V0IGFuIHVucmVsaWFibGUgdGVzdC4KKworCSogZGxscy9vbGUzMi9vbGUyLmMsIGRsbHMvb2xlMzIvdGVzdHMvcHJvcHZhcmlhbnQuYywKKwkgIGRsbHMvb2xlY2xpL29sZWNsaTE2LmMsIGRsbHMvb2xlY2xpL29sZWNsaV9tYWluLmMsCisJICBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL29iamJhc2UuaCwgaW5jbHVkZS9vYmppZGwuaCwKKwkgIGluY2x1ZGUvb2JqaWRsLmlkbCwgaW5jbHVkZS9wcm9waWRsLmgsIGluY2x1ZGUvcHJvcGlkbC5pZGwsCisJICBpbmNsdWRlL3Nob2JqaWRsLmgsIGluY2x1ZGUvc2hvYmppZGwuaWRsOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCU1vdmUgdGhlIFBST1BWQVJJQU5UIGRlY2xhcmF0aW9uIGZyb20gb2JqaWRsLmlkbCB0byBwcm9waWRsLmlkbC4KKwlNb3ZlIHJlbGF0ZWQgQVBJIGRlY2xhcmF0aW9ucyBmcm9tIGluZGl2aWR1YWwgQyBmaWxlcyB0byBwcm9waWRsLmlkbC4KKwlSZW1vdmUgdW5lZWRlZCBpbmNsdWRlIG9mIHByb3BpZGwuaCBpbiB0aGUgcHJvcHZhcmlhbnQuYyB0ZXN0LgorCisJKiBkbGxzL21wci9tcHIucmMsIGRsbHMvbXByL21wcl9ObC5yYywgZGxscy9zaGx3YXBpL3NobHdhcGkucmMsCisJICBkbGxzL3NobHdhcGkvc2hsd2FwaV9ObC5yYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlEdXRjaCByZXNvdXJjZSB0cmFuc2xhdGlvbi4KKworCSogZGxscy91c2VyL2VkaXQuYzogVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2hAY29kZXdlYXZlcnMuY29tPgorCUFsbG93IGNvcHlpbmcgc2VsZWN0aW9uIHdoZW4gY29udHJvbCBpcyByZWFkIG9ubHkuCisKKwkqIHRvb2xzL3dpZGwvcHJveHkuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU91dHB1dCBpbnRlcm1lZGlhdGUgdmFyaWFibGVzIGZvciB0aGUgbWV0aG9kIHRvIHdyaXRlIGludG8gaW4gc3R1YnMuCisKKwkqIGRsbHMvdXJsbW9uL3VybG1vbi5zcGVjLCBkbGxzL3VybG1vbi91cmxtb25fbWFpbi5jOgorCUphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUFkZGVkIHN0dWIgZm9yIElzVmFsaWRVUkwuCisKKwkqIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4LmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJb2Zmc2V0cyBhcnJheSBpcyB0aGUgc2l6ZSBvZiB0aGUgd2luZSBkYXRhIGZvcm1hdCBzbyB0aGVyZSBpcyBubyBuZWVkCisJdG8gcmVhbGxvY2F0ZSBpdCB3aGVuIHRoZSBmb3JtYXQgY2hhbmdlcy4KKworCSogZGxscy90dHlkcnYvTWFrZWZpbGUuaW4sIGRsbHMvdHR5ZHJ2L3duZC5jLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWMsCisJICBkbGxzL3gxMWRydi93aW5kb3cuYywgZGxscy94MTFkcnYvd2lucG9zLmMsIGRsbHMveDExZHJ2L3gxMWRydi5oLAorCSAgaW5jbHVkZS93aW4uaCwgd2luZG93cy93aW4uYzoKKwlHZXQgcmlkIG9mIHRoZSBXSU5fU2V0UmVjdGFuZ2xlcyBleHBvcnQgZnJvbSB1c2VyMzIuCisKKwkqIHNlcnZlci9mZC5jOgorCVRha2UgY2FyZSB0byBub3QgY2xvc2UgdGhlIGZpbGUgaGFuZGxlIGlmIHRoZXJlIGFyZSBvdXRzdGFuZGluZyBsb2NrcworCWFuZCB0aGUgZGlyZWN0b3J5IG9wdGlvbnMgZG9uJ3QgbWF0Y2guCisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYzoKKwlGaXhlZCB0aGUgY2hlY2sgZm9yIHJlbW92YWJsZSBtZWRpYSBpbiBsb2FkX3BlX2V4ZSAoc3BvdHRlZCBieQorCUZyYW5jb2lzIEdvdWdldCkuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbHRpcHMuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gU3RhdHVzIHVwZGF0ZS4KKwktIFJlbW92ZSBubyBsb25nZXIgdmFsaWQgY29tbWVudC4KKwktIE1pbm9yIGNvZGluZyBzdHlsZSBjbGVhbnVwcy4KKworCSogZGxscy9kaW5wdXQvbW91c2UuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlGaXhlcyBhIG1vdXNlIHJlZ3Jlc3Npb24gZHVlIHRvIHN0cnVjdHVyZSBzaXplIGNoYW5nZS4KKworMjAwNC0wOS0wOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jOiBGaXhlZCBzb21lIG1lc3NhZ2Ugc2VxdWVuY2VzIHRvIHN1Y2NlZWQgb24gWFAuCisJQWRkZWQgc29tZSB0ZXN0cyBmb3Igc2hvd2luZy9oaWRpbmcgYSBjaGlsZCB3aW5kb3cgd2l0aCBhbiBpbnZpc2libGUKKwlwYXJlbnQuCisKKwkqIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4LmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJLSBBZGQgbGludXggdG8gZGlucHV0IGF4aXMgbWFwcGluZyB1c2luZyBIS0xNL1NvZnR3YXJlL1dpbmUvZGlucHV0CisJICByZWdpc3RyeSBzZXR0aW5ncy4KKwktIEZpeCBzb21lIGZvcm1hdCBtYXBwaW5nIGJ1Z3MuCisJLSBBZGRzIEdldERldmljZUluZm8uCisJLSBBZGRzICBTZXRQcm9wZXJ0eSBESVBIX0RFVklDRSBzdXBwb3J0IGZvciBzZXR0aW5nIGFsbCBwcm9wZXJ0aWVzLgorCS0gVXNlIHdpbmRvd3MgY29tcGF0aWJsZSBvYmplY3QgbmFtaW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOiBGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJRG8gbm90IGRpc3Rpbmd1aXNoIGV4dGVyaW9yIHdpemFyZCBwYWdlcyBieSB0aGVpciBwb3NpdGlvbiwgYnV0CisJaW5zdGVhZCBleHBlY3QgdGhhdCBldmVyeSBwYWdlIGluIHdpemFyZCB0aGF0IGRvZXNuJ3QgaGF2ZSBoZWFkZXIgaXMKKwlleHRlcmlvci4KKworCSogZGxscy93aW5pbmV0L2ludGVybmV0LmM6IEtyenlzenRvZiBGb2x0bWFuIDxrZm9sdG1hbkBwb3J0YWwub25ldC5wbD4KKwlNYWtlIHN1cmUgSW50ZXJuZXRSZWFkRmlsZSByZXR1cm5zIGZ1bGwgYnVmZmVycy4KKworCSogZGxscy9kc291bmQvdGVzdHMvY2FwdHVyZS5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kczNkOC5jLAorCSAgZGxscy9kc291bmQvdGVzdHMvZHNvdW5kOC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJTWFrZSB0aGUgZHNvdW5kIHRlc3RzIHJ1biB3aXRoIERpcmVjdFggPCA4LgorCisJKiBkbGxzL2Rzb3VuZC90ZXN0cy9wcm9wc2V0LmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgdGhlIGdldF9od25kKCkgaW1wbGVtZW50YXRpb24gZnJvbSBwcm9wc2V0LmMgYW5kIHJldXNlIHRoZQorCWNvbW1vbiBvbmUuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL3RpbWVyLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVNldCBfV0lOMzJfV0lOTlQgdG8gMHgwNTAxIHNvIHdlIGdldCB0aGUgZGVmaW5pdGlvbiBvZgorCVBUSU1FUkFQQ1JPVVRJTkUgZnJvbSB0aGUgV2luZG93cyBoZWFkZXJzLgorCisJKiBkbGxzL29sZTMyL3Rlc3RzL3Byb3B2YXJpYW50LmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVRoZSB1bmlvbiBpbiBQUk9QVkFSSUFOVCBpcyBhbHdheXMgbmFtZWxlc3Mgb24gV2luZG93cy4gU28gZGVmaW5lIGEKKwltYWNybyB0byBkZWFsIHdpdGggaXQgY29ycmVjdGx5LgorCisJKiBkbGxzL3dpbmVkb3MvaW50MjEuYzogTWFya3VzIEFtc2xlciA8bWFya3VzLmFtc2xlckBvcmliaS5vcmc+CisJUmVzcGVjdCBnaXZlbiBidWZmZXIgc2l6ZSBpbiBHRVQgRVhURU5ERUQgQ09VTlRSWSBJTkZPUk1BVElPTi4KKworCSogZGxscy9tc3ZjcnQvbXN2Y3J0LmgsIGRsbHMvbXN2Y3J0L3Rlc3RzL2hlYWRlcnMuYywKKwkgIGRsbHMvbXN2Y3J0L3RpbWUuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJQWRkZWQgTVNWQ1JUX0NMT0NLU19QRVJfU0VDIGRlZmluZS4KKworCSogdG9vbHMvd2lkbC9wcm94eS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJR2VuZXJhdGUgc29tZSBtYXJzaGFsbGluZyBjb2RlIGZvciBzdHVicy4KKworCSogc2VydmVyL2ZkLmM6CisJQ29udmVydGVkIHRoZSB0aW1lb3V0IGxpc3QgdG8gdXNlIHRoZSBzdGFuZGFyZCBsaXN0IGZ1bmN0aW9ucy4KKworCSogZGxscy9kM2Q4L2Jhc2V0ZXh0dXJlLmMsIGRsbHMvZDNkOC9jdWJldGV4dHVyZS5jLCBkbGxzL2QzZDgvZGV2aWNlLmMsCisJICBkbGxzL2QzZDgvZGlyZWN0eC5jLCBkbGxzL2QzZDgvZHJhd3ByaW0uYywgZGxscy9kM2Q4L2luZGV4YnVmZmVyLmMsCisJICBkbGxzL2QzZDgvcmVzb3VyY2UuYywgZGxscy9kM2Q4L3N1cmZhY2UuYywgZGxscy9kM2Q4L3N3YXBjaGFpbi5jLAorCSAgZGxscy9kM2Q4L3RleHR1cmUuYywgZGxscy9kM2Q4L3V0aWxzLmMsIGRsbHMvZDNkOC92ZXJ0ZXhidWZmZXIuYywKKwkgIGRsbHMvZDNkOC92b2x1bWUuYywgZGxscy9kM2Q4L3ZvbHVtZXRleHR1cmUuYywKKwkgIGRsbHMvZDNkOS9iYXNldGV4dHVyZS5jLCBkbGxzL2QzZDkvY3ViZXRleHR1cmUuYywgZGxscy9kM2Q5L2RldmljZS5jLAorCSAgZGxscy9kM2Q5L2RpcmVjdHguYywgZGxscy9kM2Q5L2luZGV4YnVmZmVyLmMsCisJICBkbGxzL2QzZDkvcGl4ZWxzaGFkZXIuYywgZGxscy9kM2Q5L3F1ZXJ5LmMsIGRsbHMvZDNkOS9yZXNvdXJjZS5jLAorCSAgZGxscy9kM2Q5L3N0YXRlYmxvY2suYywgZGxscy9kM2Q5L3N1cmZhY2UuYywgZGxscy9kM2Q5L3N3YXBjaGFpbi5jLAorCSAgZGxscy9kM2Q5L3RleHR1cmUuYywgZGxscy9kM2Q5L3ZlcnRleGJ1ZmZlci5jLAorCSAgZGxscy9kM2Q5L3ZlcnRleGRlY2xhcmF0aW9uLmMsIGRsbHMvZDNkOS92ZXJ0ZXhzaGFkZXIuYywKKwkgIGRsbHMvZDNkOS92b2x1bWUuYywgZGxscy9kM2Q5L3ZvbHVtZXRleHR1cmUuYywKKwkgIGRsbHMvZDNkOS92c2hhZGVyZGVjbGFyYXRpb24uYywgZGxscy9kM2R4OC9kM2R4YnVmZmVyLmMsCisJICBkbGxzL2RkcmF3L2QzZGRldmljZS9tYWluLmMsIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21lc2EuYywKKwkgIGRsbHMvZGRyYXcvZGNsaXBwZXIvbWFpbi5jLCBkbGxzL2RkcmF3L2RkcmF3L2hhbC5jLAorCSAgZGxscy9kZHJhdy9kZHJhdy9tYWluLmMsIGRsbHMvZGRyYXcvZGRyYXcvdXNlci5jLAorCSAgZGxscy9kZHJhdy9kcGFsZXR0ZS9oYWwuYywgZGxscy9kZHJhdy9kcGFsZXR0ZS9tYWluLmMsCisJICBkbGxzL2RkcmF3L2RzdXJmYWNlL2RpYi5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL2Zha2V6YnVmZmVyLmMsCisJICBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYywgZGxscy9kZHJhdy9tYWluLmMsIGRsbHMvcXVhcnR6L2F2aWRlYy5jLAorCSAgZGxscy9xdWFydHovYXZpc3BsaXQuYywgZGxscy9xdWFydHovY29udHJvbC5jLAorCSAgZGxscy9xdWFydHovZHNvdW5kcmVuZGVyLmMsIGRsbHMvcXVhcnR6L2VudW1maWx0ZXJzLmMsCisJICBkbGxzL3F1YXJ0ei9lbnVtbWVkaWEuYywgZGxscy9xdWFydHovZW51bW1vbmlrZXIuYywKKwkgIGRsbHMvcXVhcnR6L2VudW1waW5zLmMsIGRsbHMvcXVhcnR6L2VudW1yZWdmaWx0ZXJzLmMsCisJICBkbGxzL3F1YXJ0ei9maWxlc291cmNlLmMsIGRsbHMvcXVhcnR6L2ZpbHRlcm1hcHBlci5jLAorCSAgZGxscy9xdWFydHovbWFpbi5jLCBkbGxzL3F1YXJ0ei9tZW1hbGxvY2F0b3IuYywgZGxscy9xdWFydHovcGluLmMsCisJICBkbGxzL3F1YXJ0ei9zeXN0ZW1jbG9jay5jLCBkbGxzL3F1YXJ0ei92aWRlb3JlbmRlcmVyLmMsCisJICBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvLmMsIGRsbHMvd2lubW0vd2luZWFsc2EvYXVkaW9fMDUuYywKKwkgIGRsbHMvd2lubW0vd2luZWF1ZGlvaW8vYXVkaW8uYywgZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6CisJUmVtb3ZlZCBzb21lIG1vcmUgdXNlcyBvZiB0aGUgbm9uLXN0YW5kYXJkIElDT01fVEhJUyBtYWNyby4KKworCSogZGxscy9kZHJhdy9jb252ZXJ0LmMsIGRsbHMvZGRyYXcvZDNkY29tbW9uLmMsCisJICBkbGxzL2RkcmF3L2QzZGRldmljZS9tYWluLmMsIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21lc2EuYywKKwkgIGRsbHMvZGRyYXcvZDNkZXhlY3V0ZWJ1ZmZlci5jLCBkbGxzL2RkcmF3L2QzZHZlcnRleGJ1ZmZlci5jLAorCSAgZGxscy9kZHJhdy9kZHJhdy9oYWwuYywgZGxscy9kZHJhdy9kZHJhdy9tYWluLmMsCisJICBkbGxzL2RkcmF3L2RwYWxldHRlL21haW4uYywgZGxscy9kZHJhdy9kc3VyZmFjZS9kaWIuYywKKwkgIGRsbHMvZGRyYXcvZHN1cmZhY2UvbWFpbi5jLCBkbGxzL2RkcmF3L21lc2EuYywgZGxscy9kaW5wdXQvZGV2aWNlLmMsCisJICBkbGxzL2RpbnB1dC9kZXZpY2VfcHJpdmF0ZS5oLCBkbGxzL2RpbnB1dC9kaW5wdXRfbWFpbi5jLAorCSAgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXguYywgZGxscy9kaW5wdXQvbW91c2UuYywKKwkgIGRsbHMvZG1sb2FkZXIvbG9hZGVyLmMsIGRsbHMvZG11c2ljL2NvbGxlY3Rpb24uYywKKwkgIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvbWl4ZXIuYywgZGxscy9kc291bmQvcHJvcHNldC5jLCBkbGxzL2dkaS9lbmhtZXRhZmlsZS5jLAorCSAgZGxscy9nZGkvZW5obWZkcnYvZ3JhcGhpY3MuYywgZGxscy9nZGkvZm9udC5jLCBkbGxzL2dkaS9mcmVldHlwZS5jLAorCSAgZGxscy9nZGkvZ2Rpb2JqLmMsIGRsbHMvZ2RpL21mZHJ2L2dyYXBoaWNzLmMsCisJICBkbGxzL2dkaS9tZmRydi9vYmplY3RzLmMsIGRsbHMvZ2RpL21mZHJ2L3RleHQuYywgZGxscy9nZGkvcGFpbnRpbmcuYywKKwkgIGRsbHMvZ2RpL3BhdGguYywgZGxscy9pbW0zMi9pbW0uYywgZGxscy9pcGhscGFwaS9pZmVudW0uYywKKwkgIGRsbHMvbXNhY20vZmlsdGVyLmMsIGRsbHMvbXNhY20vZm9ybWF0LmMsIGRsbHMvbXNhY20vaW50ZXJuYWwuYywKKwkgIGRsbHMvbXNhY20vbXNhY20zMl9tYWluLmMsIGRsbHMvbXNhY20vcGNtY29udmVydGVyLmMsCisJICBkbGxzL21zZG1vL2Rtb3JlZy5jLCBkbGxzL21zdmNydC9maWxlLmMsIGRsbHMvbXN2aWRlby9tc3ZpZGVvX21haW4uYywKKwkgIGRsbHMvbmV0YXBpMzIvbmJ0LmM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJRml4IHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIHdhcm5pbmdzLgorCisJKiBzZXJ2ZXIvcmVnaW9uLmMsIHNlcnZlci91c2VyLmg6CisJQWRkZWQgeG9yX3JlZ2lvbiwgZml4ZWQgcmVjdF9pbl9yZWdpb24uCisKKwkqIGRsbHMvcnBjcnQ0L25kcl9taWRsLmMsIGRsbHMvcnBjcnQ0L3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL3JwY3J0NC90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9ycGNydDQvdGVzdHMvZ2VuZXJhdGVkLmMsCisJICBpbmNsdWRlL3JwY2RjZS5oLCBpbmNsdWRlL3JwY25kci5oLCB0b29scy93aW5hcGkvY19wYXJzZXIucG0sCisJICB0b29scy93aW5hcGkvdGVzdHMuZGF0OgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUZpeCBhbmQgdW5pZnkgcGFyc2luZyBvZiBjYWxsaW5nIGNvbnZlbnRpb25zLgorCUhhY2sgaGFuZGxpbmcgb2YgJ3N0cnVjdCB7IH0gKk5EUl9TQ09OVEVYVDsnIHNvIHdlIGRvbid0IGNhdXNlIGEgcGFyc2UKKwllcnJvciBhcyB0aGlzIGlzIGEgdmFsaWQgQyBjb25zdHJ1Y3QuCisJR2VuZXJhdGUgdHlwZSB0ZXN0cyBmb3IgcnBjcnQ0LgorCVJlbW92ZSBQUlBDX0JJTkRJTkdfVkVDVE9SIGFuZCBQVVVJRF9WRUNUT1IsIHRoZXkgZG9uJ3QgZXhpc3Qgb24KKwlXaW5kb3dzLgorCUZpeCB0aGUgTUlETF9TVFVCX01FU1NBR0UsIE1JRExfU0VSVkVSX0lORk8gYW5kCisJTUlETF9TVFVCTEVTU19QUk9YWV9JTkZPIHN0cnVjdHMuCisJQWRkIE5EUl9BTExPQ19BTExfTk9ERVNfQ09OVEVYVCwgTkRSX1BPSU5URVJfUVVFVUVfU1RBVEUgYW5kCisJQ1NfU1RVQl9JTkZPLgorCisJKiBkbGxzL3NobHdhcGkvdXJsLmM6IERpZWdvIFBldHRlbvIgPGRncDg1QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKwlBZGQgc3VwcG9ydCBpbiBVcmxJcygpIGZvciBVUkxJU19ESVJFQ1RPUlkgYW5kIFVSTElTX0ZJTEVVUkwgZmxhZ3MuCisKKwkqIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlHZXQgZnVsbCBidWZmZXJzIGluIEludGVybmV0X1JlYWRmaWxlLgorCisJKiBkbGxzL2tlcm5lbC9jb25zb2xlLmMsIGRsbHMva2VybmVsL3Rlc3RzL2NvbnNvbGUuYywgZGxscy9udGRsbC9lbnYuYywKKwkgIGluY2x1ZGUvd2ludGVybmwuaCwgc2VydmVyL2NvbnNvbGUuYywgc2VydmVyL3RyYWNlLmM6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJLSBjdHJsLWMgZW5hYmxpbmcgZmxhZyBpcyBub3cgaW5oZXJpdGVkCisJLSBmaXhlZCBjb25zb2xlLXJlbGF0ZWQgZmllbGRzIGluIFJUTF9VU0VSX1BST0NFU1NfUEFSQU1FVEVSUworCS0gdmFyaW91cyBjbGVhbi11cCBpbiBrZXJuZWwzMi5TZXRDb25zb2xlQ3RybEhhbmRsZXIKKwktIG9ubHkgc2VuZCBhIGNvbnNvbGUgZXZlbnQgb25jZSB0byBhIHByb2Nlc3MgYW5kIG5vdCB0byBhbGwgdGhlCisJICBwcm9jZXNzJyB0aHJlYWRzCisKKwkqIGRsbHMvZDNkOC9jdWJldGV4dHVyZS5jLCBkbGxzL2QzZDgvZGV2aWNlLmMsIGRsbHMvZDNkOC9kcmF3cHJpbS5jLAorCSAgZGxscy9kM2Q4L3N0YXRlYmxvY2suYywgZGxscy9kM2Q4L3RleHR1cmUuYywKKwkgIGRsbHMvZDNkOC92b2x1bWV0ZXh0dXJlLmMsIGRsbHMvZDNkOS9jdWJldGV4dHVyZS5jLAorCSAgZGxscy9kM2Q5L3RleHR1cmUuYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZ3MuCisKKzIwMDQtMDktMDcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMva2VybmVsL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvdGltZXIuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgdGVzdCBmb3IgdGltZXJzLgorCisJKiBzZXJ2ZXIvZmQuYzoKKwlNYWtlIHN1cmUgdG8gcnVuIHRocm91Z2ggdGhlIHBvbGwgbG9vcCBvbmNlIGJlZm9yZSBwcm9jZXNzaW5nIG5ld2x5CisJYWRkZWQgdGltZXJzIChyZXBvcnRlZCBieSBNaWtlIE1jQ29ybWFjaykuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jOgorCUF2b2lkIGludGVnZXIgb3ZlcmZsb3dzIGluIE5URExMX2dldF9zZXJ2ZXJfdGltZW91dCAoc3BvdHRlZCBieSBNaWtlCisJTWNDb3JtYWNrKS4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsb3JkLmMsIGRsbHMvc2hlbGwzMi90ZXN0cy9nZW5lcmF0ZWQuYywKKwkgIGluY2x1ZGUvc2hsb2JqLmgsIHRvb2xzL3dpbmFwaS9jX3BhcnNlci5wbSwgdG9vbHMvd2luYXBpL3Rlc3RzLmRhdDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXggY19wYXJzZXIucG0gc28gaXQgaGFuZGxlcyAnY29uc3QnIHByZWNlZWRpbmcgYSAnKicuCisJQWRkIG1pc3NpbmcgI3ByYWdtYSBwYWNrIGRpcmVjdGl2ZXMgZm9yIHRoZSBuZXcgc2hsb2JqLmggdHlwZXMuCisJRml4IHNvbWUgZmllbGQgbmFtZXMgaW4gQ1NGViBhbmQgUUNNSU5GTy4KKwlVcGRhdGUgdGhlIGdlbmVyYXRlZCB0ZXN0cyB0byBhbHNvIGNoZWNrIHNodHlwZXMuaCBhbmQgdGVzdCBzb21lIG1vcmUKKwl0eXBlcy4KKworCSogZGxscy93aW5lZG9zL2ludDIxLmM6IE1hcmt1cyBBbXNsZXIgPG1hcmt1cy5hbXNsZXJAb3JpYmkub3JnPgorCUZpeCBmaWxlbmFtZSB0ZXJtaW5hdG9yIHRhYmxlLCBjb3JyZWN0IGV4Y2x1ZGVfbGFzdCB2YWx1ZS4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvd2luZWRvcy9pbnQxMy5jLCBpbmNsdWRlL2NvbmZpZy5oLmluOgorCVJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlGaXggY29tcGlsZSBlcnJvciB3aXRoIGluY2x1ZGUgZmlsZXMgZnJvbSBMaW51eCAyLjYuNysuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYywgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS93c253bGluay5oOgorCVJvZGVyaWNrIENvbGVuYnJhbmRlciA8dGh1bmRlcmJpcmQya0BnbXgubmV0PgorCS0gc2V0IGlweCBwYWNrZXQgdHlwZQorCS0gYWRkIHN1cHBvcnQgZm9yIHJldHJpZXZpbmcgc29tZSBpcHggaW5mbworCisJKiB0b29scy93aW5lYnVpbGQvcmVzMzIuYzoKKwlGaWxsIGluIHRoZSBwcm9wZXIgb2Zmc2V0cyBpbiB0aGUgcmVzb3VyY2UgZGlyZWN0b3J5IGluc3RlYWQgb2YKKwlyZWx5aW5nIG9uIHRoZSBjb21waWxlciB0byBkbyBpdC4KKworCSogZGxscy9jb21jdGwzMi90b29sdGlwcy5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IHRpdGxlcy4KKworCSogZGxscy9jb21jdGwzMi8uY3ZzaWdub3JlLCBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGwzMi5oLCBkbGxzL2NvbWN0bDMyL3JzcmMucmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUFkZCAxNngxNiBlcnJvciwgaW5mbyBhbmQgd2FybmluZyBpY29ucy4KKworCSogZG9jdW1lbnRhdGlvbi90ZXN0aW5nLnNnbWw6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCB0cmFpbGluZyAnXG4ncyB0byBvaygpIGFuZCB0cmFjZSgpIGNhbGxzLgorCVBvaW50IHRvIHRoZSBwcmUtY29tcGlsZWQgd2luZXRlc3QgYmluYXJpZXMuCisJQSBjb3VwbGUgb2Ygc21hbGwgdHdlYWtzIGhlcmUgYW5kIHRoZXJlLgorCisJKiBkbGxzL29sZWF1dDMyL3RtYXJzaGFsLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIE1ha2UgdHlwZWxpYiBtYXJzaGFsZXIgdGhyZWFkLXNhZmUgKHByb2JsZW0gcmVwb3J0ZWQgYnkgQXJpYworCSAgU3Rld2FydCkuCisJLSBTZXZlcmFsIHNtYWxsIGNsZWFudXBzLgorCisJKiBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuYywgcHJvZ3JhbXMvd2luaGVscC93aW5oZWxwLmg6CisJWXZvbiBCZWxsZWF1IDxqYW1lekBpdmljLnFjLmNhPgorCS0gSW1wbGVtZW50ZWQga2V5Ym9hcmQgbmF2aWdhdGlvbiAoVXAgLyBEb3duIC8gUGdVcCAvIFBnRG4gLyBFU0MpLgorCS0gU2hhZG93IHdpbmRvd3MgKGJlaGluZCBwb3B1cHMpIHdlcmUgcmVhY3RpbmcgdG8gbW91c2UgY2xpY2tzIGFuZAorCSAgd2VyZSBnb2luZyBvdmVyIHRoZSBwb3B1cC4gTWFrZSB0aGVtIGNsb3NlIHRoZSBwb3B1cCBpbnN0ZWFkLgorCS0gVGl0bGUgd2FzIG5vdCBkaXNwbGF5ZWQgd2hlbiB0aGUgaGVscCBmaWxlIHdhcyBvcGVuZWQgYnkgdGhlIGNvbW1hbmQKKwkgIGxpbmUuCisJLSBDb3JyZWN0ZWQgaW5jb3JyZWN0IGxpbmtzIGJlaGF2aW9yIChpbiByZWxhdGlvbiB3aXRoIHRoZSBzY3JvbGxiYXIpLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlY3VyaXR5LmM6CisJV29sZmdhbmcgU2Nod290emVyIDx3b2xmZ2FuZy5zY2h3b3R6ZXJAZ214Lm5ldD4KKwlMb29rdXBBY2NvdW50TmFtZUEgc3R1YiBhbHdheXMgcmV0dXJucyBhIHZhbGlkIFNJRC4KKworCSogZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYzogRmlsaXAgTmF2YXJhIDx4bmF2YXJhQHZvbG55LmN6PgorCS0gUmV2ZXJ0IGluY29ycmVjdCBjaGFuZ2UgdG8gdGFiIGNvbnRyb2wgcmVzaXppbmcgZnJvbSByZXZpc2lvbiAxLjEwOS4KKwktIE1vdmUgdGhlIHByb3BlcnR5IHNoZWV0IHJlc2l6aW5nIGNvZGUgZnJvbSBQUk9QU0hFRVRfQ3JlYXRlUGFnZSB0bworCSAgUFJPUFNIRUVUX1NldEN1clNlbC4gSXQgbmVlZHMgdG8gYmUgZXhlY3V0ZWQgb24gZXZlcnkgcGFnZSBjaGFuZ2UKKwkgIGJlY2F1c2UgdGhlIGFwcGxpY2F0aW9uIGNhbiBtb2RpZnkgaXQgZHVyaW5nIHRoZSBub3RpZmljYXRpb25zLgorCisJKiBkbGxzL2dkaS90ZXN0cy9nZW5lcmF0ZWQuYywgdG9vbHMvd2luYXBpL3Rlc3RzLmRhdDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlUZXN0IHNvbWUgbW9yZSBnZGkgdHlwZXMuCisKKwkqIGRsbHMvd2luZWRvcy9pbnQyMS5jLCBkbGxzL3dpbmVkb3MvaW50MjUuYywgZGxscy93aW5lZG9zL2ludDI2LmM6CisJQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCS0gZml4IGludDIxIGJsb2NrIGRldmljZSByZWFkL3dyaXRlCisJLSBtb3ZlZCBkZXZpY2UgYmxvY2sgYWNjZXNzIGxvZyBtZXNzYWdlcyB0byBpbm5lciBmdW5jdGlvbiB1c2VkIGJ5IHR3bworCSAgZGlmZmVyZW50IHBsYWNlcworCS0gcmVtb3ZlZCBib2d1cyBDbG9zZUhhbmRsZSgpCisKKwkqIGRsbHMvb2xlMzIvY29tcG9iai5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IHNvbWUgd2FybmluZ3MgZm91bmQgd2l0aCAtV3NpZ24tY29tcGFyZS4KKworCSogcHJvZ3JhbXMvd2luZXRlc3QvbWFpbi5jOiBGZXJlbmMgV2FnbmVyIDx3ZmVyaUBhZmF2YW50LmVsdGUuaHU+CisJQXMgdGVzdCBydW5zIGFyZSBub3QgaW52b2tlZCBmcm9tIHRoZSBvcHRpb24gcGFyc2luZyBsb29wIGFueW1vcmUsIHdlCisJY2FuIHN3aXRjaCBiYWNrIHRvIGxpYmMncyBzdHJ0b2soKSBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy91cmxtb24vdGVzdHMvZ2VuZXJhdGVkLmMsIHRvb2xzL3dpbmFwaS90ZXN0cy5kYXQ6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJVGVzdCBzb21lIG1vcmUgdXJsbW9uIHR5cGVzLgorCisJKiBkbGxzL29sZWF1dDMyL29sZWZvbnQuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJUmVtb3ZlIGJvZ3VzICNkZWZpbmUgc3RhdGVtZW50LgorCisJKiBkbGxzL3VzZXIvYnV0dG9uLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUmVzZXQgQlVUVE9OX0hBU0ZPQ1VTIHN0YXRlIGluIFdNX0tJTExGT0NVUyBoYW5kbGVyIGJlZm9yZSBjYWxsaW5nCisJUmVsZWFzZUNhcHR1cmUuCisKKwkqIGluY2x1ZGUvZGlucHV0Lmg6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgbWlzc2luZyBzdHJ1Y3QuCisKKwkqIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9kc291bmQuYywKKwkgIGRsbHMvZHNvdW5kL2Rzb3VuZF9tYWluLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZF9wcml2YXRlLmgsCisJICBkbGxzL2Rzb3VuZC9taXhlci5jLCBkbGxzL2Rzb3VuZC9wcmltYXJ5LmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlDb25zb2xpZGF0ZSBzZWNvbmRhcnkgYnVmZmVyIGxpc3QgcHJvY2Vzc2luZyBhbmQgbG9ja2luZy4KKwlUd28gbmV3IGZ1bmN0aW9ucyBEU09VTkRfQWRkQnVmZmVyIGFuZCBEU09VTkRfUmVtb3ZlQnVmZmVyCisJaGF2ZSBiZWVuIGFkZGVkIGFuZCB0aGUgbG9ja2luZyBoYXMgYmVlbiBtb3ZlZCBpbnRvIHRoZXNlIGZ1bmN0aW9ucy4KKwlSZW5hbWVkIElEaXJlY3RTb3VuZCBsb2NrIHRvIGJ1ZmZlcl9saXN0X2xvY2suCisJUmVtb3ZlZCByZWR1bmRhbnQgdGVzdCBmb3IgSUlEX0lEaXJlY3RTb3VuZE5vdGlmeSBhbmQKKwlJSURfSURpcmVjdFNvdW5kTm90aWZ5OCBiZWNhdXNlIHRoZXkgYXJlIHRoZSBzYW1lLgorCVJlbW92ZWQgY2hlY2sgZm9yIGludmFsaWQgYnVmZmVycyBvbiBsaXN0IGJlY2F1c2UgdGhhdCBzaG91bGRuJ3QKKwloYXBwZW4gYW55bW9yZSBiZWNhdXNlIG9mIGZpeGVkIDNkIGJ1ZmZlciByZWZlcmVuY2UgY291bnRpbmcuCisJTWlub3IgY29kZSBjbGVhbnVwcy4KKworCSogZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYzogRmlsaXAgTmF2YXJhIDx4bmF2YXJhQHZvbG55LmN6PgorCS0gRHJhdyB0aGUgV2l6YXJkOTcgaGVhZGVyIGJpdG1hcHMgYmVmb3JlIGRyYXdpbmcgdGhlIGhlYWRlciBzdHJpbmdzLgorCS0gQ2VudGVyIHRoZSBoZWFkZXIgYml0bWFwIG9mIHRoZSBuZXcgV2l6YXJkOTcgY29ycmVjdGx5LgorCS0gRGlzcGxheSB0aGUgY29ycmVjdCB3aXphcmQgdGl0bGUgZm9yIGFueSB3aXphcmQgdHlwZSBhbmQgZG8gbm90CisJICBjaGFuZ2UgaXQgZm9yIHJlcXVsYXIgcHJvcGVydHkgc2hlZXRzLgorCisyMDA0LTA5LTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2F2aWZpbDMyL2FjbXN0cmVhbS5jLCBkbGxzL2F2aWZpbDMyL2F2aWZpbGUuYywKKwkgIGRsbHMvYXZpZmlsMzIvZWRpdHN0cmVhbS5jLCBkbGxzL2F2aWZpbDMyL2ZhY3RvcnkuYywKKwkgIGRsbHMvYXZpZmlsMzIvZ2V0ZnJhbWUuYywgZGxscy9hdmlmaWwzMi9pY21zdHJlYW0uYywKKwkgIGRsbHMvYXZpZmlsMzIvdG1wZmlsZS5jLCBkbGxzL2F2aWZpbDMyL3dhdmZpbGUuYywKKwkgIGRsbHMvZDNkeG9mL2QzZHhvZi5jLCBkbGxzL2QzZHhvZi9tYWluLmMsIGRsbHMvZG1jb21wb3MvY29tcG9zZXIuYywKKwkgIGRsbHMvZG1jb21wb3MvZG1jb21wb3NfbWFpbi5jLCBkbGxzL2RtY29tcG9zL3NpZ25wb3N0dHJhY2suYywKKwkgIGRsbHMvZG1pbWUvZG1pbWVfbWFpbi5jLCBkbGxzL2RtaW1lL3BhdHRlcm50cmFjay5jLAorCSAgZGxscy9kbWltZS9wZXJmb3JtYW5jZS5jLCBkbGxzL2RtaW1lL3NlZ21lbnRzdGF0ZS5jLAorCSAgZGxscy9kbWltZS90b29sLmMsIGRsbHMvZG1zdHlsZS9kbXN0eWxlX21haW4uYywKKwkgIGRsbHMvZG1zeW50aC9kbXN5bnRoX21haW4uYywgZGxscy9kbXN5bnRoL3N5bnRoLmMsCisJICBkbGxzL2Rtc3ludGgvc3ludGhzaW5rLmMsIGRsbHMvZG11c2ljL2J1ZmZlci5jLCBkbGxzL2RtdXNpYy9jbG9jay5jLAorCSAgZGxscy9kbXVzaWMvZG11c2ljLmMsIGRsbHMvZG11c2ljL2RtdXNpY19tYWluLmMsCisJICBkbGxzL2RtdXNpYy9kb3dubG9hZC5jLCBkbGxzL2RtdXNpYy9kb3dubG9hZGVkaW5zdHJ1bWVudC5jLAorCSAgZGxscy9kbXVzaWMvcG9ydC5jLCBkbGxzL2RtdXNpYy9wb3J0ZG93bmxvYWQuYywgZGxscy9kbXVzaWMvdGhydS5jLAorCSAgZGxscy9kcGxheXgvZHBjbGFzc2ZhY3RvcnkuYywgZGxscy9kcGxheXgvZHBsYXkuYywKKwkgIGRsbHMvZHBsYXl4L2RwbGF5c3AuYywgZGxscy9kcGxheXgvZHBsb2JieS5jLCBkbGxzL2RwbGF5eC9sb2JieXNwLmMsCisJICBkbGxzL2R4ZGlhZ24vY29udGFpbmVyLmMsIGRsbHMvZHhkaWFnbi9keGRpYWdfbWFpbi5jLAorCSAgZGxscy9keGRpYWduL3Byb3ZpZGVyLmMsIGRsbHMvc2hkb2N2dy9jbGFzc2luZm8uYywKKwkgIGRsbHMvc2hkb2N2dy9ldmVudHMuYywgZGxscy9zaGRvY3Z3L2ZhY3RvcnkuYywgZGxscy9zaGRvY3Z3L21pc2MuYywKKwkgIGRsbHMvc2hkb2N2dy9vbGVvYmplY3QuYywgZGxscy9zaGRvY3Z3L3BlcnNpc3QuYywKKwkgIGRsbHMvc2hkb2N2dy93ZWJicm93c2VyLmM6CisJUmVtb3ZlZCBzb21lIHVzZXMgb2YgdGhlIG5vbi1zdGFuZGFyZCBJQ09NX1RISVMgbWFjcm8uCisKKwkqIGRsbHMvbXN3c29jay9tc3dzb2NrLnNwZWMsIGRsbHMvd2luc29jay9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2luc29jay9wcm90b2NvbC5jLCBkbGxzL3dpbnNvY2svc29ja2V0LmMsCisJICBkbGxzL3dzb2NrMzIvcHJvdG9jb2wuYywgZGxscy93c29jazMyL3dzb2NrMzIuc3BlYzoKKwlIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlNb3ZlIGltcGxlbWVudGF0aW9uIG9mIEVudW1Qcm90b2NvbHN7QSxXfSBmcm9tIHdzb2NrMzIgdG8gd3MyXzMyLgorCUZvcndhcmQge21zd3NvY2ssd3NvY2szMn0uRW51bVByb3RvY29sc3tBLFd9IHRvIHdzMl8zMi5XU0FFbnVtUHJvdG9jb2xze0EsV30uCisJSW1wcm92ZSBzb21lIHRyYWNlcy4KKworCSogZGxscy9vbGUzMi9vbGUyLmMsIGRsbHMvb2xlMzIvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL29sZTMyL3Rlc3RzL3Byb3B2YXJpYW50LmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gRml4IFByb3BWYXJpYW50Q29weSBmb3IgVlRfTFBTVFIgYW5kIFZUX0xQV1NUUi4KKwktIFRlc3QgY2FzZSBWVF9CU1RSLCBWVF9MUFNUUiBhbmQgVlRfTFBXU1RSLgorCisJKiBkbGxzL250ZGxsL3Rlc3RzL2dlbmVyYXRlZC5jLCB0b29scy93aW5hcGkvdGVzdHMuZGF0OgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVRlc3Qgc29tZSBtb3JlIG50ZGxsIHR5cGVzLgorCXRlc3RzLmRhdDogUmVtb3ZlIHR5cGVzIHRoYXQgZG9uJ3QgZXhpc3QsIHdoZXRoZXIgaW4gdGhlIFdpbmRvd3Mgb3IKKwlXaW5lIGhlYWRlcnMuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlNb3JlIGRlZmluZXMgZm9yIFRaX0lORk8uCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBPYmV5IFRCQ0RSRl9OT09GRlNFVCBmb3IgdGhlIGJ1dHRvbiB0ZXh0LgorCS0gTWFrZSBhbmNob3IgaGlnaGxpZ2h0aW5nIGJlaGF2ZSBtb3JlIGxpa2UgbmF0aXZlIHZlcnNpb24uCisJLSBEb24ndCByZWNhbGN1bGF0ZSB0b29sYmFyIGluIFRPT0xCQVJfVW5rd240NjAuCisJLSBPYmV5IFdNX1NFVFJFRFJBVyBmb3IgdGhlIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBhcyB3ZWxsIGFzCisJICBXTV9QQUlOVC4KKworCSogZGxscy9kaW5wdXQvZGV2aWNlLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJV2hlbiBhY3R1YWwgb2Zmc2V0IGRvZXNuJ3QgbWF0Y2ggdGhlIHNwZWNpZmllZCBvZmZzZXQsIHVzZSB0aGUgYWN0dWFsCisJb2Zmc2V0LgorCisJKiBkbGxzL21zaS9tc2kuYywgZGxscy9tc2kvbXNpLnNwZWMsIGRsbHMvbXNpL3BhY2thZ2UuYywgaW5jbHVkZS9tc2kuaDoKKwlLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlQYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIE1zaUdldEZpbGVWZXJzaW9uQS9XLgorCisJKiBpbmNsdWRlL2d1aWRkZWYuaCwgaW5jbHVkZS9ycGNwcm94eS5oOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIEdVSURzIG5vbi1jb25zdCB3aGVuIGNvbXBpbGluZyBNSURML3dpZGwgZ2VuZXJhdGVkIHByb3hpZXMuCisKKwkqIGRsbHMvYW1zdHJlYW0vYW1zdHJlYW0uYywgZGxscy9hbXN0cmVhbS9tYWluLmMsCisJICBkbGxzL2NvbWNhdC9mYWN0b3J5LmMsIGRsbHMvY29tY2F0L2luZm9ybWF0aW9uLmMsCisJICBkbGxzL2NvbW1kbGcvZmlsZWRsZ2Jyb3dzZXIuYywgZGxscy9kZXZlbnVtL2NyZWF0ZWRldmVudW0uYywKKwkgIGRsbHMvZGV2ZW51bS9mYWN0b3J5LmMsIGRsbHMvZGV2ZW51bS9tZWRpYWNhdGVudW0uYywKKwkgIGRsbHMvZGV2ZW51bS9wYXJzZWRpc3BsYXluYW1lLmMsIGRsbHMvZG1iYW5kL2RtYmFuZF9tYWluLmMsCisJICBkbGxzL2RtbG9hZGVyL2NsYXNzZmFjdG9yeS5jLCBkbGxzL2Rtc2NyaXB0L2Rtc2NyaXB0X21haW4uYywKKwkgIGRsbHMvZHBuZXQvYWRkcmVzcy5jLCBkbGxzL2RwbmV0L2NsaWVudC5jLCBkbGxzL2RwbmV0L2RwbmV0X21haW4uYywKKwkgIGRsbHMvZHN3YXZlL2Rzd2F2ZV9tYWluLmMsIGRsbHMvaXRzcy9pdHNzLmMsIGRsbHMvaXRzcy9tb25pa2VyLmMsCisJICBkbGxzL2l0c3Mvc3RvcmFnZS5jLCBkbGxzL21sYW5nL21sYW5nLmMsIGRsbHMvbXNkbW8vZG1vcmVnLmMsCisJICBkbGxzL21zaS9tc2kuYywgZGxscy9vbGUzMi9mdG1hcnNoYWwuYywgZGxscy9vbGUzMi9pZnMuYywKKwkgIGRsbHMvb2xlYXV0MzIvb2xlZm9udC5jLCBkbGxzL3JwY3J0NC9jcHNmLmMsIGRsbHMvcnBjcnQ0L2NzdHViLmMsCisJICBkbGxzL3JwY3J0NC9uZHJfb2xlLmMsIGRsbHMvc2hlbGwzMi9kcmFnZHJvcGhlbHBlci5jLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmMsIGRsbHMvc2hlbGwzMi9zaGZsZHJfZnMuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGZsZHJfbXljb21wLmMsIGRsbHMvc2hsd2FwaS9hc3NvYy5jLAorCSAgZGxscy9zaGx3YXBpL2lzdHJlYW0uYywgZGxscy9zaGx3YXBpL3JlZ3N0cmVhbS5jLCBkbGxzL3VybG1vbi91bW9uLmM6CisJUmVtb3ZlZCBzb21lIHVzZXMgb2YgdGhlIG5vbi1zdGFuZGFyZCBJQ09NX1RISVMgbWFjcm8uCisKKwkqIGRsbHMvZ2RpL3Rlc3RzL2dlbmVyYXRlZC5jLCBkbGxzL2tlcm5lbC90ZXN0cy9nZW5lcmF0ZWQuYywKKwkgIGRsbHMvbnRkbGwvdGVzdHMvZ2VuZXJhdGVkLmMsIGRsbHMvc2hlbGwzMi90ZXN0cy9nZW5lcmF0ZWQuYywKKwkgIGRsbHMvc2hsd2FwaS90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy91cmxtb24vdGVzdHMvZ2VuZXJhdGVkLmMsCisJICBkbGxzL3VzZXIvdGVzdHMvZ2VuZXJhdGVkLmMsIGRsbHMvd2luaW5ldC90ZXN0cy9nZW5lcmF0ZWQuYywKKwkgIHRvb2xzL3dpbmFwaS93aW5hcGlfdGVzdDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlEaXNhYmxlIE1TVkMgd2FybmluZyA0MTE2IHRvIGF2b2lkIHRoZSAndW5uYW1lZCB0eXBlIGRlZmluaXRpb24gaW4KKwlwYXJlbnRoZXNlcycgd2FybmluZyBjYXVzZWQgYnkgVFlQRV9BTElHTk1FTlQoKS4KKworCSogZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZXR1cm4gdGhlIGNvcnJlY3QgZXJyb3Igd2hlbiBPcGVuU2VydmljZSBpcyBjYWxsZWQgd2l0aCBhCisJbm9uLWV4aXN0aW5nIHNlcnZpY2UuCisKKwkqIGRsbHMvY29tbWRsZy9jZGxnX1BsLnJjOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCVRyYW5zbGF0aW9uIHVwZGF0ZS4KKworCSogaW5jbHVkZS93aW5iYXNlLmgsIGluY2x1ZGUvd2luZ2RpLmg6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlIE11bERpdiBwcm90b3R5cGUgZnJvbSB3aW5nZGkuaCB0byB3aW5iYXNlLmggd2hlcmUgaXQgYmVsb25ncy4KKworCSogaW5jbHVkZS93aW5jcnlwdC5oOiBNaWNoYWVsIEp1bmcgPG1qdW5nQGlzcy50dS1kYXJtc3RhZHQuZGU+CisJQWRkZWQgc29tZSBkZWZpbmVzIGZvciBDcnlwdHtHZXQvU2V0fUtleVBhcmFtLgorCisJKiBkbGxzL3dpbmluZXQvaHR0cC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlDaGVjayBmb3IgbW9yZSBzdGFuZGFyZCBoZWFkZXJzLgorCisJKiB0b29scy9iaW4ycmVzLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYmluMnJlcyBoZWxwIHRleHQuCisKKwkqIGRsbHMvbnRkbGwvY3JpdHNlY3Rpb24uYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUltcHJvdmUgZG9jdW1lbnRhdGlvbiBmb3IgY3JpdGljYWwgc2VjdGlvbnMuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuaCwgZGxscy9jb21jdGwzMi9jb21tY3RybC5jOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUZpeCBidWcgd2l0aCBjaGFpbmVkIG1lc3NhZ2VzLgorCisJKiB0b29scy93aWRsL3Byb3h5LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIG1ha2UgdGhlIHdpZGwgZ2VuZXJhdGVkIHByb3h5LXN0dWIgY29kZSBjb21waWxhYmxlCisJLSBnZW5lcmF0ZSBtYXJzaGFsbGluZyBhbmQgdW5tYXJzaGFsbGluZyBjb2RlIGZvciBwcm94aWVzCisJLSBnZW5lcmF0ZSBleGNlcHRpb24gaGFuZGxpbmcgY29uc3RydWN0cworCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL3NjaGVtYWRlZi5oLCBpbmNsdWRlL3Rtc2NoZW1hLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRGVmaW5lIHRoZSB0bXNjaGVtYS5oIGNvbnN0YW50cyB1c2luZyBlbnVtZXJhdGlvbnMgYW5kIHRoZSBtYWNyb3MKKwlwcm92aWRlZCBieSBzY2hlbWFkZWYuaC4KKworCSogZGxscy93aW5pbmV0L2Z0cC5jOiBLcnp5c3p0b2YgRm9sdG1hbiA8a2ZvbHRtYW5AcG9ydGFsLm9uZXQucGw+CisJLSBSZXZlcnNlZCB0aGUgYXNzZXJ0aW9uIGNhdXNpbmcgSW50ZXJuZXRDb25uZWN0IHRvIGFsd2F5cyBmYWlsLgorCS0gRlRQX0NvbnZlcnRGaWxlUHJvcDogV0lOMzJfRklORF9EQVRBIGNvbnRhaW5zIHByb3BlciBtb2RpZmljYXRpb24KKwkgIGFuZCBjcmVhdGlvbiB0aW1lLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjLCBkbGxzL3NoZWxsMzIvc2hlbGxvcmQuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBBZGQgZXhwb3J0cyBmb3IgbWlzc2luZyBvcmRpbmFscyAxOTEtMTk0LgorCS0gU3R1YiBmb3IgU0hVcGRhdGVJbWFnZVcuCisKKwkqIGRsbHMvcXVhcnR6L21haW4uYywgZGxscy9xdWFydHovcXVhcnR6LnNwZWM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZGVkIHN0dWJzIGZvciBBbXBGYWN0b3JUb0RCIGFuZCBEQlRvQW1wRmFjdG9yLgorCUFkZGVkIEdldFByb3h5RGxsSW5mby4KKworCSogZGxscy9kYmdoZWxwL3N0YWJzLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlCZXR0ZXIgZml4IGZvciBpbmNsdWRlcyB3aXRoIHJlbGF0aXZlIHBhdGhzLgorCisyMDA0LTA5LTAzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy93aW5pbmV0L01ha2VmaWxlLmluLAorCSAgZGxscy93aW5pbmV0L2Z0cC5jLCBkbGxzL3dpbmluZXQvaW50ZXJuZXQuaCwKKwkgIGRsbHMvd2luaW5ldC9uZXRjb25uZWN0aW9uLmMsIGluY2x1ZGUvd2luc29jay5oOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlVc2UgV2luZG93cyBzb2NrZXRzIHdoZW4gYnVpbGRpbmcgV2luaW5ldCBvbiBNaW5ndy4KKworCSogZGxscy9kaW5wdXQvam95c3RpY2tfbGludXguYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlSZWFkIGRldmljZSBuYW1lIGZyb20gZGV2aWNlIGlmIHBvc3NpYmxlLgorCUZpeCBlbnVtZXJhdGUgb3BlbiBidWcuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL3dpbmluZXQvY29va2llLmMsCisJICBkbGxzL3dpbmluZXQvZGlhbG9ncy5jLCBkbGxzL3dpbmluZXQvaHR0cC5jLCBkbGxzL3dpbmluZXQvdXJsY2FjaGUuYywKKwkgIGRsbHMvd2luaW5ldC91dGlsaXR5LmMsIGluY2x1ZGUvY29uZmlnLmguaW4sIGluY2x1ZGUvd2luZS9wb3J0Lmg6CisJQWRkZWQgY29uZmlndXJlIGNoZWNrIGZvciBzb2NrbGVuX3QuCisKKwkqIGRvY3VtZW50YXRpb24vdGVzdGluZy5zZ21sOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlSZW1vdmUgdW51c2VkIDxzY3JlZW4+IHNlY3Rpb24uCisKKwkqIGRsbHMvdXh0aGVtZS9zdHlsZW1hcC5jLCBpbmNsdWRlL3Rtc2NoZW1hLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRml4IHR5cG8gaW4gUkJTX1VOQ0hFQ0tFREhPVCAoc3BvdHRlZCBieSBKYW4gU2Nod2VpemVyKS4KKwlGaXggdGhlIEhTQVNfIGVudW1lcmF0aW9uLgorCisJKiBpbmNsdWRlL3JwY25kci5oOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIG9ubHkgc3RhbmRhcmQgQyB0eXBlcyBpbiBycGNoZHIuaC4KKworCSogbGlicy93aW5lL2xvYWRlci5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRmlsbCBpbiB0aGUgTVogaGVhZGVyIGluIGJ1aWx0aW4gUEUgRExMcy4KKworCSogZGxscy9zaGx3YXBpL3Rlc3RzL29yZGluYWwuYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlGaXhlZCB0ZXN0IG9mIEdldEFjY2VwdExhbmd1YWdlc0Egb24gTlQ0LgorCisJKiBkbGxzL2RpbnB1dC9kYXRhX2Zvcm1hdHMuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlSZW1vdmVkIHRyYWlsaW5nIHdoaXRlIHNwYWNlLgorCUFkZGVkIG1vdXNlIGZvcm1hdHMuCisKKwkqIGRsbHMva2VybmVsL2Vudmlyb24uYywgZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL21zdmNydC9maWxlLmMsCisJICBkbGxzL21zdmNydC9tc3ZjcnQuaCwgZGxscy9tc3ZjcnQvcHJvY2Vzcy5jLAorCSAgZGxscy9tc3ZjcnQvdGVzdHMvZmlsZS5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gbXN2Y3J0OiB0aGUgZmlsZSBkZXNjcmlwdG9ycyBhcmUgbm93IGluaGVyaXRlZCBiZXR3ZWVuIHBhcmVudC9jaGlsZAorCSAgcHJvY2Vzc2VzCisJLSBrZXJuZWwzMi5DcmVhdGVQcm9jZXNzOiBtYWtlIHVzZSBvZiB0aGUgKnJlc2VydmVkMiBmaWVsZHMgZm9yCisJICBDLVJ1blRpbWUgZGF0YSBpbmhlcml0YW5jZQorCisJKiBkbGxzL29sZTMyL29sZTIuYywgZGxscy9vbGUzMi90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9vbGUzMi90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9vbGUzMi90ZXN0cy9wcm9wdmFyaWFudC5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEZpeCBQcm9wVmFyaWFudENsZWFyIHRvIHJlamVjdCBpbnZhbGlkIHR5cGVzLgorCS0gRG9uJ3QgY3Jhc2ggb24gTlVMTCBwb2ludGVycy4KKwktIEFkZCB0ZXN0IGNhc2UuCisKKwkqIGRsbHMvcnBjcnQ0L01ha2VmaWxlLmluLCBkbGxzL3JwY3J0NC9ycGNfYmluZGluZy5jLAorCSAgZGxscy9ycGNydDQvcnBjX3NlcnZlci5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBdm9pZCBub24tc3RhbmRhcmQgdHlwZXMgaW4gcnBjZGNlcC5oLgorCisJKiBpbmNsdWRlL3JwY25kci5oOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBZGRlZCBtaXNzaW5nIGZpZWxkIHRvIE1JRExfU1RVQl9NRVNTQUdFLgorCisJKiBpbmNsdWRlL3JwY2RjZXAuaDogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUF2b2lkIG5vbi1zdGFuZGFyZCB0eXBlcy4KKworCSogaW5jbHVkZS9ycGNwcm94eS5oOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXBkYXRlIGEgdXJsLgorCisJKiBkbGxzL3NobHdhcGkvcGF0aC5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRG9uJ3QgcmVhZCBwYXN0IGVuZCBvZiB0YWJsZSBpbiBQYXRoRmlsZUV4aXN0c0RlZkV4dFcuCisKKzIwMDQtMDktMDIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYywgZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmMsCisJICBkbGxzL2F2aWZpbDMyL2FjbXN0cmVhbS5jLCBkbGxzL2F2aWZpbDMyL2FwaS5jLAorCSAgZGxscy9hdmlmaWwzMi9hdmlmaWxlLmMsIGRsbHMvYXZpZmlsMzIvZWRpdHN0cmVhbS5jLAorCSAgZGxscy9hdmlmaWwzMi9pY21zdHJlYW0uYywgZGxscy9hdmlmaWwzMi90bXBmaWxlLmMsCisJICBkbGxzL2NhYmluZXQvY2FiZXh0cmFjdC5jLCBkbGxzL2NhYmluZXQvY2FiaW5ldF9tYWluLmMsCisJICBkbGxzL2NhYmluZXQvZmRpLmMsIGRsbHMvY29tY3RsMzIvY29tYm9leC5jLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGwzMnVuZG9jLmMsIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYywKKwkgIGRsbHMvY29tY3RsMzIvZGF0ZXRpbWUuYywgZGxscy9jb21jdGwzMi9oZWFkZXIuYywKKwkgIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywgZGxscy9jb21jdGwzMi9yZWJhci5jLAorCSAgZGxscy9jb21jdGwzMi9zeXNsaW5rLmMsIGRsbHMvY29tY3RsMzIvdGFiLmMsCisJICBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYywgZGxscy9jb21jdGwzMi90b29sdGlwcy5jLAorCSAgZGxscy9jb21jdGwzMi90cmFja2Jhci5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZzMxLmM6CisJSGFucyBMZWlkZWtrZXIgPGhhbnNAaXQudnUubmw+CisJRml4IHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIHdhcm5pbmdzLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvbWl4ZXIuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCUZpeCBhIGhlYXAgY29ycnVwdGlvbiBpbiBNSVhfSW5pdCAoIHNpemVvZigpICE9IHN0cmxlbigpICkuCisKKwkqIGluY2x1ZGUvZGlucHV0Lmg6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgc29tZSBtaXNzaW5nIGRlZmluZXMuCisKKwkqIGRsbHMvc2hsd2FwaS9wYXRoLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVc2UgdGhlIEFDUCBkZWZpbmUgaW4gTUIvV0MgY29udmVyc2lvbiBmdW5jdGlvbnMuCisKKwkqIGRsbHMvdXNlci9wYWludGluZy5jLCBkbGxzL3VzZXIvdGVzdHMvbXNnLmM6CisJR2V0VXBkYXRlUmVjdCBzaG91bGQgcmV0dXJuIFRSVUUgZXZlbiBpZiBvbmx5IHRoZSBub24tY2xpZW50IGFyZWEgaXMKKwlpbnZhbGlkIChyZXBvcnRlZCBieSBSZWluIEtsYXplcykuCisKKwkqIGRsbHMvZGlucHV0L2RldmljZS5jLCBkbGxzL2RpbnB1dC9kZXZpY2VfcHJpdmF0ZS5oLAorCSAgZGxscy9kaW5wdXQvam95c3RpY2tfbGludXguYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIHN1cHBvcnQgZm9yIGFsdGVybmF0ZSBkYXRhIGZvcm1hdHMuCisKKwkqIGRsbHMvbWxhbmcvdGVzdHMvbWxhbmcuYywgZGxscy9vbGUzMi90ZXN0cy9zdG9yYWdlMzIuYywKKwkgIGRsbHMvdXNlci90ZXN0cy9jbGlwYm9hcmQuYywgZGxscy91c2VyL3Rlc3RzL2RpYWxvZy5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZGVkIG1pc3NpbmcgdHJhaWxpbmcgJ1xuJ3MgdG8gb2soKSBjYWxscy4KKworCSogaW5jbHVkZS9ycGMuaCwgaW5jbHVkZS9ycGNkY2UuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIHN0YW5kYXJkIHR5cGVzIGluIHJwY3J0NCBoZWFkZXJzIHNvIHRoZXkgY2FuIGJlIHVzZWQgdG8gYnVpbGQgTUlETAorCWdlbmVyYXRlZCBwcm94eSBjb2RlLgorCisJKiBkbGxzL3NobHdhcGkvcGF0aC5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlGaXggYnVmZmVyIG92ZXJmbG93IGluIFBhdGhTZXREbGdJdGVtUGF0aFcgdGhhdCBsZWQgdG8gYSB0cmFzaGVkCisJc3RhY2suCisKKwkqIGRsbHMvZ2RpL2NsaXBwaW5nLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEZWZhdWx0IGNsaXBwaW5nIHJlZ2lvbiBzaG91bGQgYmUgcmVzb2x1dGlvbiBvZiB0aGUgREMsIG5vdCB0aGUKKwljdXJyZW50IHZpc2libGUgcmVnaW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rlc3RzL2ltYWdlbGlzdC5jOgorCUZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwlBZGRlZCBcbiB0byBvaygpIHN0cmluZ3MgaW4gdGhlIGltYWdlbGlzdCB0ZXN0cy4KKworCSogdG9vbHMvd2lkbC9wcm94eS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJT3V0cHV0IGNvZGUgdG8gY2xlYXIgT1VUIHZhcmlhYmxlcyBpbiBwcm94eSBjb2RlLgorCisJKiBkbGxzL2dkaS90ZXN0cy9nZGlvYmouYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBhIHRlc3Qgc2hvd2luZyBob3cgR0RJIHNjYWxlcyBiaXRtYXAgZm9udCBtZXRyaWNzLgorCisJKiBkbGxzL2F0bC9hdGwuc3BlYywgZGxscy9hdGwvYXRsX21haW4uYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlBZGRlZCBzdHViIGZvciBBdGxNb2R1bGVVcGRhdGVSZWdpc3RyeUZyb21SZXNvdXJjZUQuCisKKwkqIGRvY3VtZW50YXRpb24vdGVzdGluZy5zZ21sOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlVcGRhdGUgdGhlIGluc3RydWN0aW9ucyBkZXNjcmliaW5nIGhvdyB0byBjb21waWxlIHRoZSBjb25mb3JtYW5jZQorCXRlc3RzIHdpdGggTVNWQyBhbmQgdGhlIE1pY3Jvc29mdCBoZWFkZXJzLgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnR5cGUuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRGV0ZWN0IHdoZXRoZXIgVmlzdWFsIFN0dWRpbyBjYW4gY2FzdCBfX3VpbnQ2NCdzIHRvIGZsb2F0cyBhbmQgZGlzYWJsZQorCXRoZSByZWxldmFudCB0ZXN0cyBpZiBpdCBjYW5ub3QuCisJRml4IGEgZG91YmxlIHRvIGZsb2F0IGxpdGVyYWwgY29udmVyc2lvbiB3YXJuaW5nLgorCisyMDA0LTA5LTAxICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBzZXJ2ZXIvcmVnaW9uLmMsIHNlcnZlci91c2VyLmg6IEFkZGVkIHJlY3RfaW5fcmVnaW9uIGZ1bmN0aW9uLgorCisJKiBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9rYmQxNi5jLAorCSAgZGxscy91c2VyL2tleWJvYXJkLmRydi5zcGVjLCBkbGxzL3VzZXIvbWVzc2FnZS5jLCBkbGxzL3VzZXIvbW91c2UuYywKKwkgIGRsbHMvdXNlci9tb3VzZTE2LmMsIHdpbmRvd3MvaW5wdXQuYywgd2luZG93cy9rZXlib2FyZC5jOgorCU1vdmVkIGtleWJvYXJkLmMgdG8gZGxscy91c2VyL2tiZDE2LmMuCisJS2V5Ym9hcmQsIG1vdXNlIGFuZCBkaXNwbGF5IGRyaXZlcnMgYXJlIDE2LWJpdCBvbmx5LgorCisJKiBkbGxzL29wZW5nbDMyL3dnbC5jOiBMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCUNvbnZlcnQgbW9zdGx5IHVzZWxlc3MgRVJSIHRvIFdBUk4gbWVzc2FnZS4KKworCSogZGxscy9hZHZhcGkzMi90ZXN0cy9jcnlwdC5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwktIHJlbW92ZSB1bm5lY2Vzc2FyeSB0eXBlIGNvbnZlcnNpb25zCisJLSBhZGRlZCB0ZXN0cyBmb3IgY3J5cHQKKworCSogZGxscy91c2VyL01ha2VmaWxlLmluLCBkbGxzL3VzZXIvY2FjaGUuYywgZGxscy91c2VyL2NvbnRyb2xzLmgsCisJICBkbGxzL3VzZXIvdGV4dC5jLCBkbGxzL3VzZXIvdWl0b29scy5jLCBpbmNsdWRlL3VzZXIuaCwKKwkgIHdpbmRvd3MvZGVmd25kLmMsIHdpbmRvd3Mvbm9uY2xpZW50LmMsIHdpbmRvd3MvcGFpbnRpbmcuYzoKKwlNb3ZlZCBzb21lIHdpbmRvdyBwYWludGluZyBmdW5jdGlvbnMgdG8gdWl0b29scy5jLgorCisJKiBkbGxzL3NoZWxsMzIvaWNvbmNhY2hlLmMsIGluY2x1ZGUvd2luZS9leGNlcHRpb24uaCwgaW5jbHVkZS93aW5udC5oLAorCSAgd2luZG93cy9kcml2ZXIuYzoKKwlHZXQgcmlkIG9mIHRoZSBXSU5FX1VOVVNFRCBtYWNyby4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6CisJV2Ugc3RpbGwgbmVlZCB0byBsb29rIGZvciB0aGUgdG9wIHBhcmVudCB0aGF0IGRvZXNuJ3QgY2xpcCBzaWJsaW5ncyBpbgorCUdldERDIGJlY2F1c2Ugb2YgdGhlIFggd2luZG93IGNsaXBwaW5nLgorCisJKiBkbGxzL2dkaS9mb250LmMsIGRsbHMvZ2RpL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL2dkaS90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9nZGkvdGVzdHMvZ2Rpb2JqLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIGJhc2ljIEdESSBMT0dGT05UIHRlc3QsIGZpeCBhIGNvdXBsZSBvZiBmYWlsdXJlcy4KKworCSogZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmM6IEFsZXhhbmRlciBZYXdvcnNreSA8eWF3b3Jza3lAbWlndXNvZnQucnU+CisJSW1wbGVtZW50ZWQgUXVlcnlTZXJ2aWNlQ29uZmlnQS4KKworCSogZm9udHMvLmN2c2lnbm9yZSwgZm9udHMvTWFrZWZpbGUuaW4sIGZvbnRzL3dpbmVfc3lzdGVtLnNmZDoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBjeXJpbGxpYyBnbHlwaHMgdG8gV2luZSBTeXN0ZW0uCisKKwkqIGRsbHMvYXRsL2F0bF9tYWluLmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUNoZWNrIGZvciBOVUxMIGJlZm9yZSBkb2luZyBJc0VxdWFsR1VJRCgpIGluCisJQXRsSW50ZXJuYWxRdWVyeUludGVyZmFjZS4KKworCSogaW5jbHVkZS93aW5udC5oOiBGaXhlZCBhbGlnbm1lbnQgb2YgVE9LRU5fU1RBVElTVElDUy4KKworCSogZGxscy9tc3ZjcnQvZXhjZXB0LmMsIGRsbHMvbXN2Y3J0L2xvY2FsZS5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmM6CisJRnVuY3Rpb24gcGFyYW1ldGVycyBkb24ndCBuZWVkIFdJTkVfVU5VU0VELgorCisJKiBkbGxzL2dkaS9nZGlfcHJpdmF0ZS5oLCBkbGxzL2dkaS9wYXRoLmMsIGRsbHMvbXN2Y3J0L21haW4uYywKKwkgIGRsbHMvb2xlMzIvY29tcG9ial9wcml2YXRlLmgsIGluY2x1ZGUvc3RhY2tmcmFtZS5oOgorCUlubGluZSBmdW5jdGlvbnMgZG9uJ3QgbmVlZCBXSU5FX1VOVVNFRC4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy9zYWZlYXJyYXkuYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJUmVtb3ZlIHJlZmVyZW5jZXMgdG8gSUNPTV9USElTIGFuZCBXSU5FX1VOVVNFRCBhcyB0aGV5IGRvbid0IGV4aXN0IG9uCisJV2luZG93cy4KKwlEZWZpbmUgQ09CSk1BQ1JPUyBzbyB3ZSBnZXQgdGhlIElSZWNvcmRJbmZvXyogbWFjcm9zLgorCisJKiBkbGxzL250ZGxsL3Rlc3RzL2dlbmVyYXRlZC5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXgvdXBkYXRlIHRoZSBUT0tFTl9TVEFUSVNUSUNTIGNoZWNrLgorCisJKiB0b29scy93aW5hcGkvd2luYXBpX3Rlc3Q6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCURvbid0IG91dHB1dCB0aGUgREVDTFNQRUNfQUxJR04oKSBkaXJlY3RpdmVzIGluIHRoZSBUWVBFX0ZJRUxEIHRlc3RzLgorCisJKiBpbmNsdWRlL2RpbnB1dC5oOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIHNvbWUgbWlzc2luZyBMUEMgdHlwZWRlZnMuCisKKwkqIGRsbHMveDExZHJ2Ly5jdnNpZ25vcmUsIGRsbHMveDExZHJ2L01ha2VmaWxlLmluLAorCSAgZGxscy94MTFkcnYvd2luZWNsaXBzcnYuYywgZG9jdW1lbnRhdGlvbi9QQUNLQUdJTkcsCisJICBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnLCBkb2N1bWVudGF0aW9uL3dpbmUubWFuLmluOgorCXdpbmVjbGlwc3J2IGlzIG5vIGxvbmdlciB1c2VkLCByZW1vdmUgaXQuCisKKwkqIGRsbHMvbnRkbGwvdGVzdHMvcnRsYml0bWFwLmMsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlEaXNhYmxlIHRoZSBSdGxCaXRNYXAgdGVzdHMgaWYgY29tcGlsaW5nIHdpdGggdGhlIE1pY3Jvc29mdCBoZWFkZXJzIGFzCisJdGhleSBhcmUgbWlzc2luZyBjcml0aWNhbCBzdHJ1Y3R1cmUgYW5kIEFQSSBkZWNsYXJhdGlvbnMuCisKKwkqIGRsbHMvc2hsd2FwaS9zdHJpbmcuYywgZG9jdW1lbnRhdGlvbi9pbXBsZW1lbnRhdGlvbi5zZ21sLAorCSAgcHJvZ3JhbXMvdGFza21nci9vcHRubWVudS5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFzc29ydGVkIHNwZWxsaW5nIGZpeGVzLgorCisJKiBpbmNsdWRlL2RpbnB1dC5oOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIHNvbWUgbWlzc2luZyBkZmluZXMuCisKKwkqIGRsbHMvcXVhcnR6L2ZpbHRlcm1hcHBlci5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJRml4ZWQgRmlsdGVyTWFwcGVyMl9DcmVhdGVDYXRlZ29yeS4KKworCSogZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkIHN1cHBvcnQgZm9yIHRoZSBBVURJT0RFViBhbmQgTUlYRVJERVYgZW52aXJvbm1lbnQgdmFyaWFibGVzLgorCisyMDA0LTA4LTMxICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2RpbnB1dC9NYWtlZmlsZS5pbiwgZGxscy9kaW5wdXQvZGF0YV9mb3JtYXRzLmMsCisJICBkbGxzL2RpbnB1dC9kZXZpY2UuYywgZGxscy9kaW5wdXQvZGV2aWNlX3ByaXZhdGUuaCwKKwkgIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4LmM6CisJUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCBkZWZhdWx0IGRhdGEgZm9ybWF0cyBmb3IgY19kZkRJSm95c3RpY2sgYW5kIGNfZGZESUpveXN0aWNrMi4KKwlBZGRlZCBvYmplY3QgcHJvcGVydGllcyBmb3IgbW9yZSB0aGFuIG9uZSBvYmplY3QuCisJQWRkZWQgZXJyb3IgY2hlY2tzIGZvciBhY3F1aXJlZC4KKwlEZWZhdWx0IHRvIHVzaW5nIGNfZGZESUpveXN0aWNrMiBkYXRhIGZvcm1hdC4KKwlUcnkgdG8gdXNlIHVzZXIgc3VwcGxpZWQgZGF0YSBmb3JtYXRzIChvbmx5IHdvcmtzIGlmIHNhbWUgYXMgb25lIG9mCisJdGhlIGRlZmF1bHRzKS4KKwlDb2RlIGNsZWFudXAsIGVycm9yIGNoZWNraW5nIGFuZCB0cmFjaW5nIGFkZGVkLgorCUFkZGVkIHN1cHBvcnQgZm9yIHVwIHRvIDggYXhpcy4KKworCSogZGxscy9kc291bmQvZHNvdW5kLmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2QuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCURvbid0IHVzZSBEU0JDQVBTX3tDVFJMREVGQVVMVCxDVFJMQUxMfSBpbiBjYXBhYmlsaXR5LWR1bXBpbmcKKwlmdW5jdGlvbnMgc2luY2UgdGhleSBhcmUgbm90aGluZyBidXQgYSBjb21iaW5hdGlvbiBvZiBvdGhlciBmbGFncyBhbmQKKwlhcmUgdGh1cyByZWR1bmRhbnQuCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jOiBBbGV4YW5kZXIgWWF3b3Jza3kgPHlhd29yc2t5QG1pZ3Vzb2Z0LnJ1PgorCUV4cGFuZCBJbWFnZVBhdGggaW4gUXVlcnlTZXJ2aWNlQ29uZmlnVy4KKworCSogZGxscy9pdHNzL2NobV9saWIuYywgZGxscy9pdHNzL2NobV9saWIuaCwgZGxscy9pdHNzL2x6eC5jLAorCSAgZGxscy9pdHNzL2x6eC5oOgorCUdldCByaWQgb2YgQ1ZTIGtleXdvcmRzLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjLCBkbGxzL3NoZWxsMzIvc2hlbGxvcmQuYywKKwkgIGRsbHMvc2hlbGwzMi91bmRvY3NoZWxsLmgsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsCisJICBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjLCBkbGxzL3NobHdhcGkvdGVzdHMvb3JkaW5hbC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCURvbid0IGV4cG9ydCB0aGUgc2hlbGwzMiBTSEFsbG9jU2hhcmVkIGZ1bmN0aW9ucyBieSBuYW1lLgorCUltcGxlbWVudCB0aGVtIGJ5IGNhbGxpbmcgb3V0IHRoZWlyIHNobHdhcGkgZXF1aXZhbGVudCAod2hpY2ggaGFkIGEKKwltdWNoIG1vcmUgY29tcGxldGUgaW1wbGVtZW50YXRpb24gYW55d2F5KS4KKwlGaXggdGhlIHByb3RvdHlwZSBvZiBzaGx3YXBpJ3MgU0hBbGxvY1NoYXJlZCgpLgorCURvbid0IGNyYXNoIGlmIGxwdkRhdGEgaXMgTlVMTCBpbiBTSEFsbG9jU2hhcmVkKCkuCisJQWRkIGEgY29uZm9ybWFuY2UgdGVzdCB0byBzaGx3YXBpLgorCisJKiBkbGxzL3dpbm1tL3Rlc3RzL2NhcHR1cmUuYywgZGxscy93aW5tbS90ZXN0cy9taXhlci5jLAorCSAgZGxscy93aW5tbS90ZXN0cy93YXZlLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCBpbmNsdWRlICdtbWRkay5oJywgaXQncyBub3QgbmVlZGVkLiBUaGUgd2lubW0gdGVzdHMgY2FuIG5vdyBiZQorCWNvbXBpbGVkIG9uIFdpbmRvd3Mgd2l0aG91dCB0aGUgRERLLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rlc3RzL2ltYWdlbGlzdC5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlNU1ZDIGRvZXMgbm90IGxpa2UgdGhlIHR5cGVvZigpIGluIHRoZSBmdW5jdGlvbiBwb2ludGVyIGRlY2xhcmF0aW9uLgorCUZpeCBhIHdhcm5pbmcuCisKKwkqIGluY2x1ZGUvd2luZGVmLmgsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBZGQgUFNaIHRvIHdpbmRlZi5oLgorCUFkZCBhIGNvdXBsZSBtaXNzaW5nIGRlY2xhcmF0aW9ucyB0byB3aW50ZXJubC5oLgorCVR3ZWFrIFZNX0NPVU5URVJTIHRvIG1hdGNoIHRoZSBkZGsgZGVjbGFyYXRpb24uCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jOiBBbGV4YW5kZXIgWWF3b3Jza3kgPHlhd29yc2t5QG1pZ3Vzb2Z0LnJ1PgorCVNhbml0eSBjaGVjayB3aGVuIGNsb3Npbmcgc2VydmljZSBoYW5kbGUuCisKKwkqIGRsbHMvdmVyc2lvbi9pbmZvLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJU2V0IGxhc3QgZXJyb3IgdmFsdWVzIGNvbXBhdGlibGUgd2l0aCBXaW45eCBpbXBsZW1lbnRhdGlvbgorCW9mIEdldEZpbGVWZXJzaW9uSW5mb1NpemUsIFF1aWNrZW4gaW5zdGFsbGVyIGRlcGVuZHMgb24gaXQuCisKKwkqIGRsbHMvd2luZXBzL2dlbmVyaWMucHBkOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVVzZSAxLzQiIG1hcmdpbnMgZm9yIHNvbWUgc3RhbmRhcmQgcGFwZXIgc2l6ZXMuCisJVHVybiBUeXBlNDIgc3VwcG9ydCBvZmYgYnkgZGVmYXVsdC4KKwlCdW1wIHRoZSBGaWxlVmVyc2lvbi4KKworCSogZm9udHMvd2luZV9jb3VyaWVyLnNmZDogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb21wbGV0ZSBjcDEyNTIgY292ZXJhZ2UuCisJRml4IGhlaWdodCBvZiAnSScuCisKKwkqIERFVkVMT1BFUlMtSElOVFMsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3VzZXIvYnV0dG9uLmMsIGRsbHMvdXNlci9jb21iby5jLCBkbGxzL3VzZXIvZGVza3RvcC5jLAorCSAgZGxscy91c2VyL2VkaXQuYywgZGxscy91c2VyL2ljb250aXRsZS5jLCBkbGxzL3VzZXIvbGlzdGJveC5jLAorCSAgZGxscy91c2VyL21lbnUuYywgZGxscy91c2VyL3Njcm9sbC5jLCBkbGxzL3VzZXIvc3RhdGljLmMsCisJICBkbGxzL3VzZXIvdWl0b29scy5jLCB0b29scy93aW5hcGkvbXN2Y21ha2VyLAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV9jbGVhbnVwOgorCU1vdmVkIGFsbCBmaWxlcyBmcm9tIHRoZSBjb250cm9scy8gZGlyZWN0b3J5IHRvIGRsbHMvdXNlci4KKworCSogZGxscy9jb21tZGxnL2ZvbnRkbGcxNi5jLCBkbGxzL2dkaS9lbmhtZXRhZmlsZS5jLCBkbGxzL2dkaS9nZGkxNi5jLAorCSAgZGxscy9nZGkvbWZkcnYvZ3JhcGhpY3MuYywgZGxscy9nZGkvbWZkcnYvdGV4dC5jLCBkbGxzL2dkaS9wZW4uYywKKwkgIGRsbHMvdXNlci9ob29rMTYuYywgZGxscy91c2VyL3VzZXIxNi5jLCBkbGxzL3VzZXIvd25kMTYuYywKKwkgIGluY2x1ZGUvd2luZS93aW5nZGkxNi5oLCB3aW5kb3dzL2N1cnNvcmljb24uYywgd2luZG93cy9kZWZ3bmQuYywKKwkgIHdpbmRvd3Mvbm9uY2xpZW50LmMsIHdpbmRvd3Mvc3lzcGFyYW1zLmMsIHdpbmRvd3Mvd2lucG9zLmMsCisJICB3aW5kb3dzL3dpbnByb2MuYzoKKwlHZXQgcmlkIG9mIHRoZSBub24tc3RhbmRhcmQgQ09OVl9QT0lOVCBhbmQgQ09OVl9SRUNUIGZ1bmN0aW9ucy4KKworMjAwNC0wOC0zMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9hZHZhcGkzMi9jcnlwdC5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlNYWtlIENyeXB0U2V0UHJvdmlkZXJFeCBvbmx5IGRlbGV0ZSB0aGUgJ05hbWUnIHZhbHVlIGFuZCBub3QgZGVsZXRlCisJdGhlIGVudGlyZSAnVHlwZSBYWFgnIGtleSB3aGVuIGRlbGV0aW5nIHRoZSBkZWZhdWx0IHByb3ZpZGVyLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYzogQWxleGFuZGVyIFlhd29yc2t5IDx5YXdvcnNreUBtaWd1c29mdC5ydT4KKwlDaGFuZ2VkIFNDX0hBTkRMRXMgZnJvbSBIS0VZcyB0byBwb2ludGVycyB0byBpbnRlcm5hbCBzdHJ1Y3R1cmVzLgorCisJKiBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3Mvc3RydWN0MzIuYywKKwkgIHdpbmRvd3Mvc3RydWN0MzIuaCwgd2luZG93cy93aW5wcm9jLmM6CisJUmVtb3ZlZCBzdHJ1Y3QzMi5bY2hdLgorCisJKiBkbGxzL2RiZ2hlbHAvZGJnaGVscC5jLCBkbGxzL2RiZ2hlbHAvZGJnaGVscF9wcml2YXRlLmgsCisJICBkbGxzL2RiZ2hlbHAvZWxmX21vZHVsZS5jLCBkbGxzL2RiZ2hlbHAvbW9kdWxlLmMsIGRsbHMvZGJnaGVscC9tc2MuYywKKwkgIGRsbHMvZGJnaGVscC9wZV9tb2R1bGUuYywgZGxscy9kYmdoZWxwL3N0YWJzLmMsCisJICBkbGxzL2RiZ2hlbHAvc3ltYm9sLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gRml4IGRlYnVnIGluZm8gbG9vay11cCAoYnVnIGluIHRyYW5zbGF0aW5nIHRoZSBSVkEgb2YgdGhlIGRlYnVnCisJICBkaXJlY3RvcnkpLgorCS0gRml4IGNvZGUgZm9yIGFkZGluZyBQRSBleHBvcnQgdGFibGUgYXMgZGVidWcgaW5mbyAoY3Jhc2ggd2l0aCBOVUxMCisJICBwYXNzZWQgdG8gUnRsSW1hZ2VEaXJlY3RvcnlFbnRyeVRvRGF0YSkuCisJLSBGaXggY29tcHV0YXRpb24gb2Ygbm9uLXJlbG9jYXRhYmxlIEVMRiBzaGFyZWQgb2JqZWN0cyBzaXplLgorCS0gRml4IGxvYWRpbmcgKHdoaWxlIHBhcnNpbmcgdGhlIGxpbmsgbWFwKSBvZiBuZXcgbm9uLXJlbG9jYXRhYmxlIEVMRgorCSAgc2hhcmVkIG9iamVjdHMgKG5vIGxvbmdlciB0YWtlIGFjY291bnQgbG9hZC1hZGRyZXNzIG9mIGxpbmstbWFwKS4KKwktIEZpbmlzaGVkIHRoZSBBVVRPX1BVQkxJQywgTk9fUFVCTElDUyBhbmQgUFVCTElDU19PTkxZIHN1cHBvcnQgZm9yIFBFIGFuZCBFTEYuCisJLSBDbGVhbmVkIHVwIHB1YmxpYyBzeW1ib2wgbWFuYWdlbWVudCAod2hpY2ggc2hvdWxkIG5vdyBwcm9wZXJseSB3b3JrKS4KKworCSogZGxscy9hdGwvcmVnc3ZyLmMsIGRsbHMvbWxhbmcvTWFrZWZpbGUuaW4sIGRsbHMvbWxhbmcvbWxhbmcuYywKKwkgIGRsbHMvbWxhbmcvcmVnc3ZyLmMsIHRvb2xzL3dpbmUuaW5mOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlBZGQgRGxsUmVnaXN0ZXJTZXJ2ZXIgYW5kIGZyaWVuZHMgZm9yIG1sYW5nLgorCisJKiBwcm9ncmFtcy9ub3RlcGFkL21haW4uYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbHNvIHJlY29nbml6ZSAnLycgYXMgdGhlIHN0YXJ0IG9mIGFuIG9wdGlvbi4KKwlJbXBsZW1lbnQgJ25vdGVwYWQgL3AnLgorCVNpbXBsaWZ5IG1hbnkgc3RyaW5nIHBhcnNpbmcgbG9vcHMuCisKKwkqIHByb2dyYW1zL3dpbmVtZW51YnVpbGRlci93aW5lbWVudWJ1aWxkZXIuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUZpeCBhIG1lbW9yeSBsZWFrLgorCUltcHJvdmUgdGhlIEdldEZ1bGxQYXRoTmFtZSgpIGVycm9yIGNoZWNrcy4KKwlTdHJpY3RlciBtYXRjaCBjaGVjayBpbiBHZXRMaW5rTG9jYXRpb24oKS4KKwlDbGFyaWZ5IHRoZSAnVW5rbm93biBsaW5rIGxvY2F0aW9uJyBtZXNzYWdlLgorCisJKiBkbGxzL3JpY2hlZGl0L3JlYWRlci5jOiBFdmFuIERlYXVibCA8d2luZUB3YXJwZWR2aWV3LmNvbT4KKwlTdG9wIHByb2Nlc3NpbmcgaW5wdXQgc3RyZWFtIHdoZW4gdGhlIG91dGVybW9zdCBSVEYgZ3JvdXAgaXMgY2xvc2VkLgorCisJKiBkbGxzL3VzZXIvdXNlcjE2LmMsIHdpbmRvd3MvcGFpbnRpbmcuYzoKKwlNb3ZlZCBhIGNvdXBsZSBvZiAxNi1iaXQgZnVuY3Rpb25zIHRvIHVzZXIxNi5jLgorCisJKiBmb250cy8uY3ZzaWdub3JlLCBmb250cy9NYWtlZmlsZS5pbiwgZm9udHMvd2luZV9jb3VyaWVyLnNmZDoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBjeXJpbGxpYyBnbHlwaHMgdG8gV2luZSBDb3VyaWVyIGF0IDEzIHBpeGVsIHNpemUuCisKKwkqIGluY2x1ZGUvZGlucHV0Lmg6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgc29tZSBtaXNzaW5nIGRlZmluaXRpb25zLgorCisJKiBkbGxzL3VzZXIvY29tbTE2LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVc2UgSGVhcCBmdW5jdGlvbnMgaW5zdGVhZCBvZiBtYWxsb2MvZnJlZS4KKworCSogaW5jbHVkZS9yaWNoZWRpdC5oOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgc29tZSBkZWZpbmVzIHVzZWQgaW4gUmljaEVkaXQgMi4wLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9maWxlLmM6IEZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwktIERvbid0IGV4cGVjdCB0aGF0IGRyaXZlIEM6IGV4aXN0cywgdXNlIHRoZSBkcml2ZSBXaW5kb3dzIGlzCisJICBpbnN0YWxsZWQgb24gaW5zdGVhZC4KKwktIFJlbW92ZSBtaXNsZWFkaW5nIG1lc3NhZ2UgYWJvdXQgZmlsZSBtYXBwaW5nLgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIyLmM6IEZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwlGb3Igbm9uLW92ZXJsYXBwZWQgd3JpdGVzIHRoZSBscE51bWJlck9mQnl0ZXNXcml0dGVuIHBhcmFtZXRlciBvZgorCVdyaXRlRmlsZSBtdXN0bid0IGJlIE5VTEwuCisKKwkqIHByb2dyYW1zL21zaWV4ZWMvbXNpZXhlYy5jOiBLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlDb3JyZWN0IHBhcnNpbmcgb2YgL2kgYXJndW1lbnQuCisKKwkqIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmM6IEZpbGlwIE5hdmFyYSA8eG5hdmFyYUB2b2xueS5jej4KKwlGaXggbG9hZGluZyB3aXphcmQgdGl0bGUgYW5kIHN1YnRpdGxlIGZyb20gcmVzb3VyY2VzLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZ19QbC5yYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlQb2xpc2ggdHJhbnNsYXRpb24gdXBkYXRlLgorCisJKiBkbGxzL29sZWF1dDMyL29sZWF1dDMyLnJjLCBkbGxzL29sZWF1dDMyL29sZWF1dDMyX1BsLnJjOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL2RkcmF3L21haW4uYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJQWRkZWQgQVBJIGRvY3VtZW50YXRpb24gZm9yIERpcmVjdERyYXdFbnVtZXJhdGVFeC4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUQl9NQVJLSVRFTSBzaG91bGQgcmVkcmF3IGJ1dHRvbi4KKworCSogZGxscy94MTFkcnYvaW5pdC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlTcGVsbGluZyBmaXguCisKKwkqIGRsbHMvbnRkbGwvbnQuYywgZGxscy9udGRsbC9udGRsbC5zcGVjOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdHViIGltcGxlbWVudGF0aW9ucyBmb3IgTnRBZGp1c3RHcm91cHNUb2tlbiBhbmQgTnRBbGVydFRocmVhZC4KKworCSogZGxscy93aW5tbS90ZXN0cy9jYXB0dXJlLmMsIGRsbHMvd2lubW0vdGVzdHMvd2F2ZS5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJVGVzdCAzMiBiaXQgZmxvYXQgc2FtcGxlcy4KKworCSogZGxscy93aW5tbS93aW5lb3NzL21peGVyLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJUm91bmQgcmVzdWx0cyBvZiBjb252ZXJzaW9ucyBiZXR3ZWVuIE9TUyBhbmQgd2luZG93cyB2YWx1ZXMuCisKKzIwMDQtMDgtMjcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYzoKKwlQcmludCBhIHdhcm5pbmcgd2hlbiBEbGxSZWdpc3RlclNlcnZlciBhbmQgc2ltaWxhciBmdW5jdGlvbnMgYXJlIG5vdAorCW1hcmtlZCBwcml2YXRlLgorCisJKiBkbGxzL3dpbm1tL3Rlc3RzL21peGVyLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkcyB0ZXN0cyB0byByZWFkIGFuZCB3cml0ZSBjb250cm9sIGRldGFpbHMuCisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9taXhlci5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCVNldCBwcm9wZXIgdGFyZ2V0IHR5cGUuCisJU2V0IHByb3BlciBtYXggYW5kIHN0ZXAgZm9yIG11eCBjb250cm9sLgorCisJKiBkbGxzL21sYW5nL21sYW5nLnNwZWMsIGRsbHMvbXNpL21zaS5zcGVjOgorCUFkZGVkIGEgZmV3IG1pc3NpbmcgLXByaXZhdGUgZmxhZ3MuCisKKwkqIGRsbHMvcmljaGVkaXQvTWFrZWZpbGUuaW4sIGRsbHMvcmljaGVkaXQvY2hhcmxpc3QuYywKKwkgIGRsbHMvcmljaGVkaXQvY2hhcmxpc3QuaCwgZGxscy9yaWNoZWRpdC9yZWFkZXIuYywKKwkgIGRsbHMvcmljaGVkaXQvcmljaGVkaXQuYywgZGxscy9yaWNoZWRpdC9ydGYuaCwKKwkgIGRsbHMvcmljaGVkaXQvdGV4dC13cml0ZXIuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJVXNlIGJ1ZmZlcnMgcmF0aGVyIHRoYW4gbGlua2VkIGxpc3RzIGZvciBpbnB1dCBhbmQgb3V0IGJ1ZmZlcnMuCisJU3RvcCByZWFkaW5nIGlucHV0IGF0IGEgbnVsIGJ5dGUuCisKKwkqIGRsbHMvb2xlYWNjL21haW4uYywgZGxscy9vbGVhY2Mvb2xlYWNjLnNwZWM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIERsbFJlZ2lzdGVyU2VydmVyL0RsbFVucmVnaXN0ZXJTZXJ2ZXIgY2FsbHMuCisKKwkqIGluY2x1ZGUvd2ludXNlci5oOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRGVmaW5lIGEgY291cGxlIG1vcmUgU1BJXyBjb25zdGFudHMuCisKKwkqIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfcGFyc2VyLnBtOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUhhY2sgd2luYXBpX3BhcnNlciBzbyB3ZSByZWNvZ25pc2UgRWxmVyhhdXh2X3QpIGFzIGEgdHlwZS4gRml4ZXMgdGhlCisJc2NyaXB0cyB0aGF0IGNvbXB1dGUgQVBJIHN0YXRpc3RpY3MuCisKKwkqIGluY2x1ZGUvd2lubnQuaCwgaW5jbHVkZS93aW50ZXJubC5oOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBhIGZldyBtb3JlIHByb3RvdHlwZXMgdG8gdGhlIGhlYWRlcnMuCisKKwkqIGRsbHMvbnRkbGwvZmlsZS5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIHN0dWIgaW1wbGVtZW50YXRpb25zIGZvciBOdERlbGV0ZUZpbGUgYW5kIE50Q2FuY2VsSW9GaWxlLgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBzdXBvcnQgZm9yIG9wdGlvbmFsIGFyZ3VtZW50cyBpbiBJVHlwZUluZm86Okludm9rZS4KKworMjAwNC0wOC0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL3Rlc3RzL3dpbi5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUJ1dHRvbiBzaG91bGQgZG8gUmVsZWFzZUNhcHR1cmUoKSBvbiBXTV9LSUxMRk9DVVMgaWYgaXQncyBpbiBhIHByZXNzZWQKKwlzdGF0ZS4KKwlBZGQgYSBjb21wcmVoZW5zaXZlIHRlc3QgY2FzZSBmb3IgY2FwdHVyZSBiZWhhdmlvdXIuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlCdXR0b24gc2hvdWxkIHNlbmQgQk1fU0VUU1RBVEUgbWVzc2FnZSBhZnRlciBpdCBoYXMgY2hhbmdlZCBpdHMKKwlpbnRlcm5hbCBzdGF0ZS4KKworCSogZGxscy94MTFkcnYvaW5pdC5jLCBkbGxzL3gxMWRydi94MTFkcnYuaCwgZGxscy94MTFkcnYveGZvbnQuYywKKwkgIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcsIHRvb2xzL3dpbmUuaW5mOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJRGVwcmVjYXRlIHRoZSAiUmVzb2x1dGlvbiIgZW50cnkgaW4gdGhlIGNvbmZpZyBmaWxlIGluIGZhdm91ciBvZgorCUhLRVlfQ1VSUk5FVF9DT05GSUdcU29mdHdhcmVcRm9udHNcTG9nUGl4ZWxzLgorCisJKiBkbGxzL2dkaS9mcmVldHlwZS5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUZyZWVUeXBlIGRvZXNuJ3Qgc3VwcGx5IGEgY2hhcm1hcCBmb3IgYml0bWFwIGZvbnRzLCBzbyB3ZSBtdXN0IGRvIG91cgorCW93biBtYXBwaW5nLiAgVGhhbmtzIHRvIERtaXRyeSBmb3IgdGVzdGluZy4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9EZS5yYywgcHJvZ3JhbXMvcmVnZWRpdC9Fbi5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvRXMucmMsIHByb2dyYW1zL3JlZ2VkaXQvRnIucmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L0l0LnJjLCBwcm9ncmFtcy9yZWdlZGl0L05sLnJjLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9QbC5yYywgcHJvZ3JhbXMvcmVnZWRpdC9QdC5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvUnUucmMsIHByb2dyYW1zL3JlZ2VkaXQvU2kucmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDaGFuZ2UgU3lzdGVtIHRvIE1TIFNoZWxsIERsZy4KKworCSogZGxscy9hZHZhcGkzMi9yZWdpc3RyeS5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUZpeCBmdWxsIG5hbWUgb2YgSEtFWV9DVVJSRU5UX0NPTkZJRy4KKworCSogZGxscy93aW5pbmV0L3VybGNhY2hlLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCB1c2UgZnJlZWQgbWVtb3J5LgorCisJKiBkbGxzL2NvbWN0bDMyL3Rlc3RzL2ltYWdlbGlzdC5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbGxvdyBpbWFnZSBsaXN0IHRlc3RzIHRvIGNvbXBpbGUgYW5kIHJ1biBvbiBvbGQgcGxhdGZvcm1zLgorCisJKiBkbGxzL2tlcm5lbC9kZWJ1Z2dlci5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJSW1wcm92ZSBkb2N1bWVudGF0aW9uIGZvciBkZWJ1Z2dlciBmdW5jdGlvbnMuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9tc2cuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggbXNnIHRlc3QgZmFpbHVyZXMgd2hlbiBydW4gdW5kZXIgd2luMmsuCisKKwkqIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDYWxjdWxhdGUgdGhlIGNvcnJlY3Qgc2l6ZSBvZiBkaWFsb2cgdGVtcGxhdGVzIGluIHRoZSBwcm9wc2hlZXQKKwljb250cm9sLgorCisJKiBkbGxzL3gxMWRydi93aW5kb3cuYzogRXZhbiBEZWF1YmwgPHdpbmVAd2FycGVkdmlldy5jb20+CisJRml4IGFuIEVSUiBsb2cgaW4gWDExRFJWX0NyZWF0ZVdpbmRvdy4KKworCSogZGxscy92ZXJzaW9uL2luZm8uYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlUcnkgdG8gYXZvaWQgbG9hZGluZyAxNi1iaXQgRExMcyBpbnRvIG1lbW9yeSBmb3IgYWNjZXNzaW5nIHZlcnNpb24KKwlpbmZvLCB0aGlzIG1pZ2h0IGxlYWQgdG8gdW5kZXNpcmVkIHNpZGUgZWZmZWN0cyBsaWtlIGxvYWRpbmcgYSBidW5jaAorCW9mIG90aGVyIDE2LWJpdCBETExzLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYzogQWxleGFuZGVyIFlhd29yc2t5IDx5YXdvcnNreUBtaWd1c29mdC5ydT4KKwlTdGFydFNlcnZpY2UgbXVzdCBwYXNzIGZ1bGwgY29tbWFuZCBsaW5lIHRvIHNlcnZpY2UgcHJvZ3JhbS4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jOgorCUFkZGVkIHNvbWUgdGVzdHMgZm9yIHBhaW50IG1lc3NhZ2VzIGFuZCB1cGRhdGUgcmVnaW9ucy4KKworCSogZGxscy91c2VyL3BhaW50aW5nLmMsIHdpbmRvd3MvcGFpbnRpbmcuYzoKKwlHZXRVcGRhdGVSZ24gc2hvdWxkIGNsaXAgdGhlIHJldHVybmVkIHJlZ2lvbiB0byB0aGUgY2xpZW50IGFyZWEuCisJQ2hhbmdlZCBHZXRVcGRhdGVSZWN0IGFuZCBFeGNsdWRlVXBkYXRlUmduIHRvIGNhbGwgR2V0VXBkYXRlUmduLgorCU1vdmVkIHRoZXNlIDMgZnVuY3Rpb25zIHRvIGRsbHMvdXNlci9wYWludGluZy5jLgorCisJKiB3aW5kb3dzL25vbmNsaWVudC5jOiBQcmludCB0aGUgV2luZG93IGNhcHRpb24gdXNpbmcgVW5pY29kZSBjYWxscy4KKwlEb24ndCBzZW5kIFdNX0dFVFRFWFQgdG8gcmV0cmlldmUgdGhlIGNhcHRpb24gdGV4dC4KKworCSogZGxscy9jb21jdGwzMi90ZXN0cy9zdWJjbGFzcy5jLCBkbGxzL21zdmNydC90ZXN0cy90aW1lLmMsCisJICBkbGxzL3F1YXJ0ei9hdmlkZWMuYywgZGxscy9xdWFydHovZHNvdW5kcmVuZGVyLmMsCisJICBkbGxzL3F1YXJ0ei92aWRlb3JlbmRlcmVyLmMsIGRsbHMvd2lubW0vdGVzdHMvY2FwdHVyZS5jLAorCSAgZGxscy93aW5tbS90ZXN0cy93YXZlLmMsIGluY2x1ZGUvYmFzZXRzZC5oLCBpbmNsdWRlL3dpbm50Lmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQXNzb3J0ZWQgc3BlbGxpbmcgZml4ZXMuCisKKwkqIGRsbHMvY3J5cHQzMi9jZXJ0LmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUFkZGVkIG1pc3NpbmcgbGluZSBicmVhay4KKworCSogZGxscy9udGRsbC9udC5jOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCURvbid0IGNsZWFyIHRoZSBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmUgZm9yIG5vbiBzdXBwb3J0ZWQgY2FzZXMuCisKKwkqIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywgZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jOgorCUV2YW4gRGVhdWJsIDx3aW5lQHdhcnBlZHZpZXcuY29tPgorCUFkZGVkIEdldFNlY3VyaXR5SW5mbyBzdHViLgorCisJKiBkbGxzL29sZWF1dDMyL3ZhcmZvcm1hdC5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJRW5zdXJlIGRpZ2l0cyBhcmUgcHJpbnRhYmxlIGNoYXJhY3RlcnMgZnJvbSBvbGVhdXQzMiBGb3JtYXQgY29tbWFuZC4KKworMjAwNC0wOC0yNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL3Rlc3RzL21zZy5jOgorCUFsbG93IGVuYWJsaW5nIG9yIGRpc2FibGluZyB0b2RvX3dpbmUgZm9yIGVhY2ggbWVzc2FnZSBzZXF1ZW5jZSBzbworCXRoYXQgd2UgY2FuIHByb3Blcmx5IHRlc3QgdGhlIHNlcXVlbmNlcyB0aGF0IGFyZSBhbHJlYWR5IGNvcnJlY3QuCisKKwkqIGRsbHMvc2hkb2N2dy9zaGRvY3Z3X21haW4uYzogSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBtZXNzYWdlIGJveCB0byBpbmZvcm0gdXNlciB0aGF0IG9uZSBuZWVkcyBNb3ppbGxhIEFjdGl2ZVguCisKKwkqIGRsbHMvY29tY3RsMzIvYW5pbWF0ZS5jLCBkbGxzL2NvbWN0bDMyL2NvbWJvZXguYywKKwkgIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYywgZGxscy9jb21jdGwzMi9kYXRldGltZS5jLAorCSAgZGxscy9jb21jdGwzMi9mbGF0c2IuYywgZGxscy9jb21jdGwzMi9oZWFkZXIuYywKKwkgIGRsbHMvY29tY3RsMzIvaG90a2V5LmMsIGRsbHMvY29tY3RsMzIvaXBhZGRyZXNzLmMsCisJICBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsIGRsbHMvY29tY3RsMzIvbW9udGhjYWwuYywKKwkgIGRsbHMvY29tY3RsMzIvbmF0aXZlZm9udC5jLCBkbGxzL2NvbWN0bDMyL3BhZ2VyLmMsCisJICBkbGxzL2NvbWN0bDMyL3Byb2dyZXNzLmMsIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmMsCisJICBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsIGRsbHMvY29tY3RsMzIvc3RhdHVzLmMsCisJICBkbGxzL2NvbWN0bDMyL3N5c2xpbmsuYywgZGxscy9jb21jdGwzMi90YWIuYywKKwkgIGRsbHMvY29tY3RsMzIvdG9vbHRpcHMuYywgZGxscy9jb21jdGwzMi90cmFja2Jhci5jLAorCSAgZGxscy9jb21jdGwzMi90cmVldmlldy5jLCBkbGxzL2NvbWN0bDMyL3VwZG93bi5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZXBsYWNlIEdldFdpbmRvd0xvbmcgYnkgR2V0V2luZG93TG9uZ1B0ci4KKworCSogZGxscy9tc2kvY3JlYXRlLmMsIGRsbHMvbXNpL2Rpc3RpbmN0LmMsIGRsbHMvbXNpL2luc2VydC5jLAorCSAgZGxscy9tc2kvb3JkZXIuYywgZGxscy9tc2kvdXBkYXRlLmMsIGRsbHMvbXNpL3doZXJlLmM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGcmVlIG1lbW9yeSBhZnRlciB3ZSBmaW5pc2ggdXNpbmcgaXQgaW5zdGVhZCBvZiBqdXN0IGJlZm9yZS4KKworCSogZGxscy9nZGkvZ2Rpb2JqLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJTWFrZSB0aGUgREVGQVVMVF9HVUlfRk9OVCBzY2FsYWJsZSB3aXRoIHNjcmVlbiByZXNvbHV0aW9uIGFuZCBsZXQgaXQKKwliZSA4cHQgTVMgU2hlbGwgRGxnIGZvciBzaW1wbGUgc2NyaXB0cy4KKworCSogZGxscy93aW5tbS9tY2kuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYW4gb2J2aW91cyB0eXBvIGxlYWRpbmcgdG8gYSBjcmFzaC4KKworCSogZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJTWFrZSBTZXRUb2tlbkluZm9ybWF0aW9uIGNhbGwgTnRTZXRJbmZvcm1hdGlvblRva2VuLgorCisJKiBkbGxzL2ljY3ZpZC9pY2N2aWQuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVNpZ25lZCBjb21wYXJlIGZpeGVzLgorCisJKiBkbGxzL2l0c3MvY2htX2xpYi5jLCBkbGxzL2l0c3MvaXRzcy5jLCBkbGxzL2l0c3MvaXRzc3Rvci5oLAorCSAgZGxscy9pdHNzL21vbmlrZXIuYywgZGxscy9pdHNzL3N0b3JhZ2UuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRml4IHRoZSBJVFMgbW9uaWtlciBpbXBsZW1lbnRhdGlvbi4KKworCSogZG9jdW1lbnRhdGlvbi9jdnMtcmVncmVzc2lvbi5zZ21sOiBJdmFuIExlbyBQdW90aSA8cHVvdGlAaW53aW5kLml0PgorCVVwZGF0ZSBjdnMgY29tbWFuZCBsaW5lLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gU2VuZCBOTV9MRE9XTiBub3RpZmljYXRpb24uCisJLSBOTV9SREJMQ0xLIG9ubHkgbmVlZHMgdG8gc2VuZCBhIE5NSERSIHN0cnVjdHVyZS4KKwktIE9uIG1vdXNlIG5vdGlmaWNhdGlvbnMgcmV0dXJuaW5nIDAgRGVmV25kUHJvYyBzaG91bGQgYmUgY2FsbGVkLgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmg6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlCcmluZyBjb21tb24gY29udHJvbCBoZWFkZXIgdXAgdG8gZGF0ZSB3aXRoIG5ldyBhZGRpdGlvbnMgaW4gWFAuCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvYXVkaW8uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCAzMiBiaXQgZmxvYXQgc3VwcG9ydC4KKworCSogZGxscy9kc291bmQvZHNvdW5kLmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2QuYywKKwkgIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2Q4LmMsIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvdGVzdHMvZHNvdW5kOC5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmRfdGVzdC5oOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRGlyZWN0U291bmQ4IGRvZXNuJ3QgYWNjZXB0IDNEIHN0ZXJlbyBzZWNvbmRhcnkgYnVmZmVycyBidXQKKwlEaXJlY3RTb3VuZCBkb2VzLgorCUFkZGVkIHRlc3RzLgorCisJKiBpbmNsdWRlL2tzbWVkaWEuaDogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCBJRUVFIGZsb2F0IGF1ZGlvIGRhdGEgdHlwZS4KKworCSogbWlzYy9yZWdpc3RyeS5jOiBBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJRG8gbm90IGFzc3VtZSBIS0VZX0NVUlJFTlRfVVNFUi9FbnZpcm9ubWVudCBleGlzdHMgPT0+IGNvbmZpZyBmaWxlIHdhcworCW1pZ3JhdGVkLiBJbnN0ZWFkIHRlc3QgZm9yIGV2ZXJ5IGtleSB0byBtaWdyYXRlIHVuZGVyCisJSEtFWV9DVVJSRU5UX1VTRVIvRW52aXJvbm1lbnQuCisKKwkqIGRsbHMvdXNlci90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy9nZGkvdGVzdHMvZ2VuZXJhdGVkLmMsCisJICBkbGxzL2tlcm5lbC90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy9udGRsbC90ZXN0cy9nZW5lcmF0ZWQuYywKKwkgIGRsbHMvc2hlbGwzMi90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy93aW5pbmV0L3Rlc3RzL2dlbmVyYXRlZC5jLAorCSAgdG9vbHMvd2luYXBpL3Rlc3RzLmRhdDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlFbmFibGUgdGhlIGRpc2FibGVkIHRlc3RzIGluIHRlc3RzLmRhdGEgb3IgYWRkIGEgY29tbWVudCBkZXNjcmliaW5nCisJd2h5IHRoZSB0eXBlIGNhbm5vdCBiZSB0ZXN0ZWQuCisJVXBkYXRlIHRoZSBnZW5lcmF0ZWQgZmlsZXMsIHRoZXkgY29tcGlsZSBhbmQgcnVuIHN1Y2Nlc3NmdWxseSBib3RoIG9uCisJV2luZG93cyAod2l0aCB0aGUgV2luZG93cyBoZWFkZXJzKSBhbmQgaW4gV2luZS4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0eXBlLmMsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJRml4IGhhbmRsaW5nIG9mIFZBUklBTlQgd2l0aCBWVF9CWVJFRiBhbmQgbnVsbCBwb2ludGVyIGluCisJVmFyaWFudENoYW5nZVR5cGVFeC4KKworMjAwNC0wOC0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvaXRzcy8uY3ZzaWdub3JlLAorCSAgZGxscy9pdHNzL01ha2VmaWxlLmluLCBkbGxzL2l0c3MvY2htX2xpYi5jLCBkbGxzL2l0c3MvY2htX2xpYi5oLAorCSAgZGxscy9pdHNzL2l0c3MuYywgZGxscy9pdHNzL2l0c3MuaCwgZGxscy9pdHNzL2l0c3MuaWRsLAorCSAgZGxscy9pdHNzL2l0c3Muc3BlYywgZGxscy9pdHNzL2x6eC5jLCBkbGxzL2l0c3MvbHp4LmgsCisJICBkbGxzL2l0c3MvbW9uaWtlci5jLCBkbGxzL2l0c3Mvc3RvcmFnZS5jOgorCVN0ZXdhcnQgQ2FpZTxreXpAdWtsaW51eC5uZXQ+CisJSmVkIFdpbmcgPGplZHdpbkB1Z2NzLmNhbHRlY2guZWR1PgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBhbiBpbXBsZW1lbmF0aW9uIG9mIElUU1MuRExMLgorCisJKiBkbGxzL21zaS9yZWNvcmQuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlHZXR0aW5nIHRoZSBzdHJpbmcgZm9yIGEgbnVsbCBmaWVsZCBzaG91bGQgbm90IGNyZWF0ZSBhbiBlcnJvci4gQWRkIGEKKwltaXNzaW5nIGJyZWFrLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy9udGRsbC90ZXN0cy9nZW5lcmF0ZWQuYywKKwkgIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbm50LmgsIHRvb2xzL3dpbmFwaS90ZXN0cy5kYXQ6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJRml4IGFsaWdubWVudCBpc3N1ZXMgZm9yIE1FTU9SWVNUQVRVU0VYLCBXSU4zMl9TVFJFQU1fSUQgYW5kCisJSU9fQ09VTlRFUlMuIFRoZSBjb3JyZXNwb25kaW5nIHRlc3RzIG5vdyBzdWNjZWVkIGJvdGggd2hlbiBjb21waWxlZAorCXdpdGggdGhlIFdpbmRvd3MgaGVhZGVycyBhbmQgd2hlbiBjb21waWxlZCB3aXRoIHRoZSBXaW5lIGhlYWRlcnMuCisKKwkqIHdpbmRvd3Mvc2Nyb2xsLmM6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlXaGVuIHRoZXJlIGFyZSBubyBwaXhlbHMgdG8gc2Nyb2xsLCBTY3JvbGxXaW5kb3dFeCBtdXN0IHN0aWxsIHNjcm9sbAorCWNoaWxkcmVuIGFuZCB1cGRhdGUgdGhlIGhyZ25VcGRhdGUgYW5kIHJjVXBkYXRlIGFyZ3VtZW50cy4KKworCSogZGxscy9kZHJhdy9kY2xpcHBlci9tYWluLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgSURpcmVjdERyYXdDbGlwcGVyX0dldENsaXBMaXN0IGZvciBjYXNlIHdoZXJlIHdlIGhhdmUgYQorCWhhbmRsZSB0byBhIHdpbmRvdy4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6CisJSW4gR2V0REMgdXNlIHRoZSBwYXJlbnQgZHJhd2FibGUgd2hlbiBEQ1hfUEFSRU5UQ0xJUCBpcyBzZXQuCisKKwkqIGZvbnRzLy5jdnNpZ25vcmUsIGZvbnRzL01ha2VmaWxlLmluLCBmb250cy93aW5lX3NhbnNfc2VyaWYuc2ZkOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGN5cmlsbGljIGdseXBocyB0byB3aW5lX3NhbnNfc2VyaWYgYXQgMTMgYW5kIDE2IHBpeGVsIHNpemVzLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9rcm5sMzg2LmV4ZS5zcGVjLAorCSAgZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBpbmNsdWRlL3dpbmJhc2UuaDoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgR2V0UHJvY2Vzc0lkLgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzL3NhZmVhcnJheS5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3JlIHNhZmUgYXJyYXkgdGVzdHMuCisKKwkqIGRsbHMvY29tY3RsMzIvdGVzdHMvaW1hZ2VsaXN0LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVRlc3RzIGZvciBpY29uIGFuZCBiaXRtYXAgYWRkaW5nIGFuZCByZW1vdmluZyBhbmQgYml0bWFwIGRyYXdpbmcgd2l0aAorCWltYWdlIGxpc3RzLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUZpeCByZWdyZXNzaW9uIHdpdGggSUUncyBNZW51IEJhci4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWxlX0NzLnJjLCBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfRGUucmMsCisJICBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfRW4ucmMsIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9Fcy5yYywKKwkgIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9Gci5yYywgZGxscy9hdmlmaWwzMi9hdmlmaWxlX0l0LnJjLAorCSAgZGxscy9hdmlmaWwzMi9hdmlmaWxlX05sLnJjLCBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfUHQucmMsCisJICBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfUnUucmMsIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9TaS5yYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsX0NuLnJjLCBkbGxzL2NvbWN0bDMyL2NvbWN0bF9Dcy5yYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsX0RlLnJjLCBkbGxzL2NvbWN0bDMyL2NvbWN0bF9Fbi5yYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsX0VzLnJjLCBkbGxzL2NvbWN0bDMyL2NvbWN0bF9Gci5yYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsX0l0LnJjLCBkbGxzL2NvbWN0bDMyL2NvbWN0bF9Lby5yYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsX05sLnJjLCBkbGxzL2NvbWN0bDMyL2NvbWN0bF9QbC5yYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsX1B0LnJjLCBkbGxzL2NvbWN0bDMyL2NvbWN0bF9SdS5yYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsX1NpLnJjLCBkbGxzL2NvbWN0bDMyL2NvbWN0bF9UaC5yYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsX1VrLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19DYS5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX0NuLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19Dcy5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX0RhLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19EZS5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX0VuLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19Fby5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX0VzLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19GaS5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX0ZyLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19IdS5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX0l0LnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19Lby5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX05sLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19Oby5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX1BsLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19QdC5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX1J1LnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19TaS5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX1NrLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19Tdi5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX1RoLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19Vay5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX1dhLnJjLCBkbGxzL2NvbW1kbGcvY2RsZ19aaC5yYywKKwkgIGRsbHMvb2xlZGxnL29sZWRsZ19Dcy5yYywgZGxscy9vbGVkbGcvb2xlZGxnX0RlLnJjLAorCSAgZGxscy9vbGVkbGcvb2xlZGxnX0VuLnJjLCBkbGxzL29sZWRsZy9vbGVkbGdfRXMucmMsCisJICBkbGxzL29sZWRsZy9vbGVkbGdfSXQucmMsIGRsbHMvb2xlZGxnL29sZWRsZ19ObC5yYywKKwkgIGRsbHMvb2xlZGxnL29sZWRsZ19QdC5yYywgZGxscy9zZXJpYWx1aS9Dcy5yYywgZGxscy9zZXJpYWx1aS9EZS5yYywKKwkgIGRsbHMvc2VyaWFsdWkvRW4ucmMsIGRsbHMvc2VyaWFsdWkvRXMucmMsIGRsbHMvc2VyaWFsdWkvRnIucmMsCisJICBkbGxzL3NlcmlhbHVpL0l0LnJjLCBkbGxzL3NlcmlhbHVpL05sLnJjLCBkbGxzL3NlcmlhbHVpL1B0LnJjLAorCSAgZGxscy9zZXJpYWx1aS9SdS5yYywgZGxscy9zZXR1cGFwaS9Dcy5yYywgZGxscy9zZXR1cGFwaS9EZS5yYywKKwkgIGRsbHMvc2V0dXBhcGkvRW4ucmMsIGRsbHMvc2V0dXBhcGkvRXMucmMsIGRsbHMvc2V0dXBhcGkvRnIucmMsCisJICBkbGxzL3NldHVwYXBpL0l0LnJjLCBkbGxzL3NldHVwYXBpL05sLnJjLCBkbGxzL3NldHVwYXBpL1B0LnJjLAorCSAgZGxscy9zZXR1cGFwaS9SdS5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfQ2EucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Dbi5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfQ3MucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9EYS5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfRGUucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Fbi5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfRW8ucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Fcy5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfRmkucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Gci5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfSHUucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9JdC5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfSmEucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Lby5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfTmwucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Oby5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfUGwucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9QdC5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfUnUucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9TaS5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfU2sucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Tdi5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfVWsucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9XYS5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfWmgucmMsCisJICBkbGxzL3VzZXIvdGVzdHMvcmVzb3VyY2UucmMsIGRsbHMvd2luZXBzL3dwc19Dcy5yYywKKwkgIGRsbHMvd2luZXBzL3dwc19EZS5yYywgZGxscy93aW5lcHMvd3BzX0VuLnJjLCBkbGxzL3dpbmVwcy93cHNfRXMucmMsCisJICBkbGxzL3dpbmVwcy93cHNfRnIucmMsIGRsbHMvd2luZXBzL3dwc19JdC5yYywgZGxscy93aW5lcHMvd3BzX0tvLnJjLAorCSAgZGxscy93aW5lcHMvd3BzX05sLnJjLCBkbGxzL3dpbmVwcy93cHNfUHQucmMsIGRsbHMvd2luZXBzL3dwc19SdS5yYywKKwkgIGRsbHMvd2luZXBzL3dwc19TaS5yYywgZGxscy93aW5lcHMvd3BzX1NrLnJjLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXRfQ3MucmMsIGRsbHMvd2luaW5ldC93aW5pbmV0X0RlLnJjLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXRfRW4ucmMsIGRsbHMvd2luaW5ldC93aW5pbmV0X0VzLnJjLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXRfRnIucmMsIGRsbHMvd2luaW5ldC93aW5pbmV0X0l0LnJjLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXRfTmwucmMsIGRsbHMvd2luaW5ldC93aW5pbmV0X1B0LnJjLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXRfUnUucmMsIGRsbHMvd2luaW5ldC93aW5pbmV0X1NpLnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvRGUucmMsIHByb2dyYW1zL2NtZGxndHN0L0VuLnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvRXMucmMsIHByb2dyYW1zL2NtZGxndHN0L0ZyLnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvSXQucmMsIHByb2dyYW1zL2NtZGxndHN0L05sLnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvUHQucmMsIHByb2dyYW1zL2NtZGxndHN0L1J1LnJjLAorCSAgcHJvZ3JhbXMvY21kbGd0c3QvU2kucmMsIHByb2dyYW1zL25vdGVwYWQvRGEucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL0RlLnJjLCBwcm9ncmFtcy9ub3RlcGFkL0VuLnJjLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9Fcy5yYywgcHJvZ3JhbXMvbm90ZXBhZC9GaS5yYywKKwkgIHByb2dyYW1zL25vdGVwYWQvRnIucmMsIHByb2dyYW1zL25vdGVwYWQvSHUucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL0l0LnJjLCBwcm9ncmFtcy9ub3RlcGFkL05sLnJjLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9QbC5yYywgcHJvZ3JhbXMvbm90ZXBhZC9QdC5yYywKKwkgIHByb2dyYW1zL25vdGVwYWQvUnUucmMsIHByb2dyYW1zL25vdGVwYWQvU2kucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL1NrLnJjLCBwcm9ncmFtcy9ub3RlcGFkL1N3LnJjLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9UaC5yYywgcHJvZ3JhbXMvbm90ZXBhZC9XYS5yYywKKwkgIHByb2dyYW1zL25vdGVwYWQvWmgucmMsIHByb2dyYW1zL3JlZ2VkaXQvRGUucmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L0VuLnJjLCBwcm9ncmFtcy9yZWdlZGl0L0VzLnJjLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9Gci5yYywgcHJvZ3JhbXMvcmVnZWRpdC9JdC5yYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvTmwucmMsIHByb2dyYW1zL3JlZ2VkaXQvUGwucmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L1B0LnJjLCBwcm9ncmFtcy9yZWdlZGl0L1J1LnJjLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9TaS5yYywgcHJvZ3JhbXMvd2luZWNmZy9Fbi5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvRXMucmMsIHByb2dyYW1zL3dpbmVjZmcvSXQucmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL1B0LnJjLCBwcm9ncmFtcy93aW5lY2ZnL1J1LnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9TaS5yYywgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGVfRGUucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9Fbi5yYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlX0VzLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGVfRnIucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9IdS5yYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlX05sLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGVfUHQucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9SdS5yYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlX1poLnJjLCBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJQ2hhbmdlIGRpYWxvZ3MgdG8gdXNlIE1TIFNoZWxsIERsZyByYXRoZXIgdGhhbiBIZWx2IG9yIE1TIFNhbnMgU2VyaWYuCisKKwkqIGRsbHMveDExZHJ2L3dpbnBvcy5jOgorCVdoZW4gcG9zc2libGUsIHVzZSB0aGUgWCB3aW5kb3cgb2YgdGhlIHJlcXVlc3RlZCB3aW5kb3cgaW4gR2V0REMKKwlpbnN0ZWFkIG9mIHRoZSBwYXJlbnQgdG8gYXZvaWQgdHJvdWJsZSB3aXRoIE9wZW5HTCBjbGlwcGluZy4KKworCSogZGxscy9tYWtlX2RsbHM6IFJlbW92ZWQgZGVidWcgdHJhY2UuCisKKwkqIGRsbHMvcXVhcnR6L01ha2VmaWxlLmluLCBkbGxzL3F1YXJ0ei9hdmlkZWMuYywKKwkgIGRsbHMvcXVhcnR6L2Rzb3VuZHJlbmRlci5jLCBkbGxzL3F1YXJ0ei9tYWluLmMsCisJICBkbGxzL3F1YXJ0ei9xdWFydHpfcHJpdmF0ZS5oLCBkbGxzL3F1YXJ0ei9yZWdzdnIuYywKKwkgIGRsbHMvcXVhcnR6L3ZpZGVvcmVuZGVyZXIuYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJQWRkZWQgVmlkZW8gUmVuZGVyZXIgKGJhc2VkIG9uIERpcmVjdCBEcmF3KS4KKwlBZGRlZCBEaXJlY3QgU291bmQgQXVkaW8gUmVuZGVyZXIuCisJQWRkZWQgQVZJIERlY29tcHJlc3NvciAoVkZXIGRlY29tcHJlc3NvcnMgd3JhcHBlcikuCisKKwkqIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYzogUGllcnJlIGQnSGVyYmVtb250IDxzdGVnZWZpbkBmcmVlLmZyPgorCUFkZGVkIHNpZ25hbCBzdXBwb3J0IGZvciBEYXJ3aW4vaTM4Ni4KKworCSogd2luZG93cy9kaWFsb2cuYzogVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2hAY29kZXdlYXZlcnMuY29tPgorCVNldCBXU19FWF9DT05UUk9MUEFSRU5UIHdoZW4gZGlhbG9nIGhhcyBEU19DT05UUk9MLgorCisyMDA0LTA4LTIzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2Ftc3RyZWFtL2Ftc3RyZWFtLmMsIGRsbHMvYW1zdHJlYW0vbWFpbi5jLAorCSAgZGxscy9hdmlmaWwzMi9hY21zdHJlYW0uYywgZGxscy9hdmlmaWwzMi9hdmlmaWxlLmMsCisJICBkbGxzL2F2aWZpbDMyL2VkaXRzdHJlYW0uYywgZGxscy9hdmlmaWwzMi9mYWN0b3J5LmMsCisJICBkbGxzL2F2aWZpbDMyL2dldGZyYW1lLmMsIGRsbHMvYXZpZmlsMzIvaWNtc3RyZWFtLmMsCisJICBkbGxzL2F2aWZpbDMyL3RtcGZpbGUuYywgZGxscy9hdmlmaWwzMi93YXZmaWxlLmMsCisJICBkbGxzL2NvbWNhdC9mYWN0b3J5LmMsIGRsbHMvY29tY2F0L2luZm9ybWF0aW9uLmMsCisJICBkbGxzL2NvbWNhdC9tYW5hZ2VyLmMsIGRsbHMvY29tY2F0L3JlZ2lzdGVyLmMsCisJICBkbGxzL2NvbW1kbGcvZmlsZWRsZ2Jyb3dzZXIuYywgZGxscy9kM2Q4L2Jhc2V0ZXh0dXJlLmMsCisJICBkbGxzL2QzZDgvY3ViZXRleHR1cmUuYywgZGxscy9kM2Q4L2RldmljZS5jLCBkbGxzL2QzZDgvZGlyZWN0eC5jLAorCSAgZGxscy9kM2Q4L2luZGV4YnVmZmVyLmMsIGRsbHMvZDNkOC9yZXNvdXJjZS5jLCBkbGxzL2QzZDgvc3VyZmFjZS5jLAorCSAgZGxscy9kM2Q4L3N3YXBjaGFpbi5jLCBkbGxzL2QzZDgvdGV4dHVyZS5jLCBkbGxzL2QzZDgvdmVydGV4YnVmZmVyLmMsCisJICBkbGxzL2QzZDgvdm9sdW1lLmMsIGRsbHMvZDNkOC92b2x1bWV0ZXh0dXJlLmMsCisJICBkbGxzL2QzZDkvYmFzZXRleHR1cmUuYywgZGxscy9kM2Q5L2N1YmV0ZXh0dXJlLmMsIGRsbHMvZDNkOS9kZXZpY2UuYywKKwkgIGRsbHMvZDNkOS9kaXJlY3R4LmMsIGRsbHMvZDNkOS9pbmRleGJ1ZmZlci5jLAorCSAgZGxscy9kM2Q5L3BpeGVsc2hhZGVyLmMsIGRsbHMvZDNkOS9xdWVyeS5jLCBkbGxzL2QzZDkvcmVzb3VyY2UuYywKKwkgIGRsbHMvZDNkOS9zdGF0ZWJsb2NrLmMsIGRsbHMvZDNkOS9zdXJmYWNlLmMsIGRsbHMvZDNkOS9zd2FwY2hhaW4uYywKKwkgIGRsbHMvZDNkOS90ZXh0dXJlLmMsIGRsbHMvZDNkOS92ZXJ0ZXhidWZmZXIuYywKKwkgIGRsbHMvZDNkOS92ZXJ0ZXhkZWNsYXJhdGlvbi5jLCBkbGxzL2QzZDkvdmVydGV4c2hhZGVyLmMsCisJICBkbGxzL2QzZDkvdm9sdW1lLmMsIGRsbHMvZDNkOS92b2x1bWV0ZXh0dXJlLmMsCisJICBkbGxzL2QzZHg4L2QzZHhidWZmZXIuYywgZGxscy9kM2R4b2YvZDNkeG9mLmMsIGRsbHMvZDNkeG9mL21haW4uYywKKwkgIGRsbHMvZGRyYXcvZDNkZXhlY3V0ZWJ1ZmZlci5jLCBkbGxzL2RkcmF3L2QzZGxpZ2h0LmMsCisJICBkbGxzL2RkcmF3L2QzZG1hdGVyaWFsLmMsIGRsbHMvZGRyYXcvZDNkdGV4dHVyZS5jLAorCSAgZGxscy9kZHJhdy9kM2R2ZXJ0ZXhidWZmZXIuYywgZGxscy9kZHJhdy9kM2RkZXZpY2UvbWVzYS5jLAorCSAgZGxscy9kZHJhdy9kM2R2aWV3cG9ydC5jLCBkbGxzL2RkcmF3L2RjbGlwcGVyL21haW4uYywKKwkgIGRsbHMvZGRyYXcvbWFpbi5jLCBkbGxzL2RkcmF3L2RkcmF3L2hhbC5jLCBkbGxzL2RkcmF3L2RkcmF3L21haW4uYywKKwkgIGRsbHMvZGRyYXcvZGRyYXcvdGh1bmtzLmMsIGRsbHMvZGRyYXcvZGRyYXcvdXNlci5jLAorCSAgZGxscy9kZHJhdy9kaXJlY3QzZC9tZXNhLmMsIGRsbHMvZGRyYXcvZHBhbGV0dGUvaGFsLmMsCisJICBkbGxzL2RkcmF3L2RwYWxldHRlL21haW4uYywgZGxscy9kZHJhdy9kc3VyZmFjZS9kaWIuYywKKwkgIGRsbHMvZGRyYXcvZHN1cmZhY2UvZmFrZXpidWZmZXIuYywgZGxscy9kZHJhdy9kc3VyZmFjZS9nYW1tYS5jLAorCSAgZGxscy9kZHJhdy9kc3VyZmFjZS9oYWwuYywgZGxscy9kZHJhdy9kc3VyZmFjZS90aHVua3MuYywKKwkgIGRsbHMvZGRyYXcvZHN1cmZhY2UvdXNlci5jLCBkbGxzL2RldmVudW0vY3JlYXRlZGV2ZW51bS5jLAorCSAgZGxscy9kZXZlbnVtL2ZhY3RvcnkuYywgZGxscy9kZXZlbnVtL21lZGlhY2F0ZW51bS5jLAorCSAgZGxscy9kZXZlbnVtL3BhcnNlZGlzcGxheW5hbWUuYywgZGxscy9kaW5wdXQvZGlucHV0X21haW4uYywKKwkgIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4LmMsIGRsbHMvZGlucHV0L2pveXN0aWNrX2xpbnV4aW5wdXQuYywKKwkgIGRsbHMvZGlucHV0L2tleWJvYXJkLmMsIGRsbHMvZGlucHV0L21vdXNlLmMsIGRsbHMvZG1iYW5kL2JhbmQuYywKKwkgIGRsbHMvZG1iYW5kL2JhbmR0cmFjay5jLCBkbGxzL2RtYmFuZC9kbWJhbmRfbWFpbi5jLAorCSAgZGxscy9kbWNvbXBvcy9jaG9yZG1hcC5jLCBkbGxzL2RtY29tcG9zL2Nob3JkbWFwdHJhY2suYywKKwkgIGRsbHMvZG1jb21wb3MvY29tcG9zZXIuYywgZGxscy9kbWNvbXBvcy9kbWNvbXBvc19tYWluLmMsCisJICBkbGxzL2RtY29tcG9zL3NpZ25wb3N0dHJhY2suYywgZGxscy9kbWltZS9hdWRpb3BhdGguYywKKwkgIGRsbHMvZG1pbWUvZG1pbWVfbWFpbi5jLCBkbGxzL2RtaW1lL2dyYXBoLmMsCisJICBkbGxzL2RtaW1lL2x5cmljc3RyYWNrLmMsIGRsbHMvZG1pbWUvbWFya2VydHJhY2suYywKKwkgIGRsbHMvZG1pbWUvcGFyYW1jb250cm9sdHJhY2suYywgZGxscy9kbWltZS9wYXR0ZXJudHJhY2suYywKKwkgIGRsbHMvZG1pbWUvcGVyZm9ybWFuY2UuYywgZGxscy9kbWltZS9zZWdtZW50LmMsCisJICBkbGxzL2RtaW1lL3NlZ21lbnRzdGF0ZS5jLCBkbGxzL2RtaW1lL3NlZ3RyaWdnZXJ0cmFjay5jLAorCSAgZGxscy9kbWltZS9zZXF0cmFjay5jLCBkbGxzL2RtaW1lL3N5c2V4dHJhY2suYywKKwkgIGRsbHMvZG1pbWUvdGVtcG90cmFjay5jLCBkbGxzL2RtaW1lL3RpbWVzaWd0cmFjay5jLAorCSAgZGxscy9kbWltZS90b29sLmMsIGRsbHMvZG1pbWUvd2F2ZXRyYWNrLmMsCisJICBkbGxzL2RtbG9hZGVyL2NsYXNzZmFjdG9yeS5jLCBkbGxzL2RtbG9hZGVyL2NvbnRhaW5lci5jLAorCSAgZGxscy9kbWxvYWRlci9sb2FkZXIuYywgZGxscy9kbWxvYWRlci9sb2FkZXJzdHJlYW0uYywKKwkgIGRsbHMvZG1zY3JpcHQvZG1zY3JpcHRfbWFpbi5jLCBkbGxzL2Rtc2NyaXB0L3NjcmlwdC5jLAorCSAgZGxscy9kbXNjcmlwdC9zY3JpcHR0cmFjay5jLCBkbGxzL2Rtc3R5bGUvYXVkaXRpb250cmFjay5jLAorCSAgZGxscy9kbXN0eWxlL2Nob3JkdHJhY2suYywgZGxscy9kbXN0eWxlL2NvbW1hbmR0cmFjay5jLAorCSAgZGxscy9kbXN0eWxlL2Rtc3R5bGVfbWFpbi5jLCBkbGxzL2Rtc3R5bGUvbW90aWZ0cmFjay5jLAorCSAgZGxscy9kbXN0eWxlL211dGV0cmFjay5jLCBkbGxzL2Rtc3R5bGUvc3R5bGUuYywKKwkgIGRsbHMvZG1zdHlsZS9zdHlsZXRyYWNrLmMsIGRsbHMvZG1zeW50aC9kbXN5bnRoX21haW4uYywKKwkgIGRsbHMvZG1zeW50aC9zeW50aC5jLCBkbGxzL2Rtc3ludGgvc3ludGhzaW5rLmMsIGRsbHMvZG11c2ljL2J1ZmZlci5jLAorCSAgZGxscy9kbXVzaWMvY2xvY2suYywgZGxscy9kbXVzaWMvY29sbGVjdGlvbi5jLCBkbGxzL2RtdXNpYy9kbXVzaWMuYywKKwkgIGRsbHMvZG11c2ljL2RtdXNpY19tYWluLmMsIGRsbHMvZG11c2ljL2Rvd25sb2FkLmMsCisJICBkbGxzL2RtdXNpYy9kb3dubG9hZGVkaW5zdHJ1bWVudC5jLCBkbGxzL2RtdXNpYy9pbnN0cnVtZW50LmMsCisJICBkbGxzL2RtdXNpYy9wb3J0LmMsIGRsbHMvZG11c2ljL3BvcnRkb3dubG9hZC5jLCBkbGxzL2RtdXNpYy90aHJ1LmMsCisJICBkbGxzL2RwbGF5eC9kcGNsYXNzZmFjdG9yeS5jLCBkbGxzL2RwbGF5eC9kcGxheS5jLAorCSAgZGxscy9kcGxheXgvZHBsYXlzcC5jLCBkbGxzL2RwbGF5eC9kcGxvYmJ5LmMsIGRsbHMvZHBsYXl4L2xvYmJ5c3AuYywKKwkgIGRsbHMvZHBuZXQvYWRkcmVzcy5jLCBkbGxzL2RwbmV0L2NsaWVudC5jLCBkbGxzL2RwbmV0L2RwbmV0X21haW4uYywKKwkgIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9kc291bmQvcHJpbWFyeS5jLAorCSAgZGxscy9kc291bmQvcHJvcHNldC5jLCBkbGxzL2Rzb3VuZC9zb3VuZDNkLmMsIGRsbHMvZHN3YXZlL2Rzd2F2ZS5jLAorCSAgZGxscy9kc3dhdmUvZHN3YXZlX21haW4uYywgZGxscy9keGRpYWduL2NvbnRhaW5lci5jLAorCSAgZGxscy9keGRpYWduL2R4ZGlhZ19tYWluLmMsIGRsbHMvZHhkaWFnbi9wcm92aWRlci5jLAorCSAgZGxscy9tbGFuZy9tbGFuZy5jLCBkbGxzL21zZG1vL2Rtb3JlZy5jLCBkbGxzL21zaS9tc2kuYywKKwkgIGRsbHMvb2xlMzIvYW50aW1vbmlrZXIuYywgZGxscy9vbGUzMi9iaW5kY3R4LmMsCisJICBkbGxzL29sZTMyL2NsaXBib2FyZC5jLCBkbGxzL29sZTMyL2NvbXBvc2l0ZW1vbmlrZXIuYywKKwkgIGRsbHMvb2xlMzIvZGF0YWNhY2hlLmMsIGRsbHMvb2xlMzIvZGVmYXVsdGhhbmRsZXIuYywKKwkgIGRsbHMvb2xlMzIvZXJyb3JpbmZvLmMsIGRsbHMvb2xlMzIvZmlsZW1vbmlrZXIuYywKKwkgIGRsbHMvb2xlMzIvZnRtYXJzaGFsLmMsIGRsbHMvb2xlMzIvZ2l0LmMsIGRsbHMvb2xlMzIvaGdsb2JhbHN0cmVhbS5jLAorCSAgZGxscy9vbGUzMi9pZnMuYywgZGxscy9vbGUzMi9pdGVtbW9uaWtlci5jLCBkbGxzL29sZTMyL21hcnNoYWwuYywKKwkgIGRsbHMvb2xlMzIvbWVtbG9ja2J5dGVzLmMsIGRsbHMvb2xlMzIvbW9uaWtlci5jLCBkbGxzL29sZTMyL29sZW9iai5jLAorCSAgZGxscy9vbGUzMi9vbGVwcm94eS5jLCBkbGxzL29sZTMyL3JwYy5jLCBkbGxzL29sZTMyL3N0Z19zdHJlYW0uYywKKwkgIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmMsIGRsbHMvb2xlYXV0MzIvY29ubnB0LmMsCisJICBkbGxzL29sZWF1dDMyL2Rpc3BhdGNoLmMsIGRsbHMvb2xlYXV0MzIvb2xlZm9udC5jLAorCSAgZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmMsIGRsbHMvb2xlYXV0MzIvdGVzdHMvc2FmZWFycmF5LmMsCisJICBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnR5cGUuYywgZGxscy9vbGVhdXQzMi90bWFyc2hhbC5jLAorCSAgZGxscy9vbGVhdXQzMi90eXBlbGliLmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYjIuYywKKwkgIGRsbHMvcXVhcnR6L2F2aXNwbGl0LmMsIGRsbHMvcXVhcnR6L2VudW1maWx0ZXJzLmMsCisJICBkbGxzL3F1YXJ0ei9lbnVtbWVkaWEuYywgZGxscy9xdWFydHovZW51bW1vbmlrZXIuYywKKwkgIGRsbHMvcXVhcnR6L2VudW1waW5zLmMsIGRsbHMvcXVhcnR6L2VudW1yZWdmaWx0ZXJzLmMsCisJICBkbGxzL3F1YXJ0ei9maWxlc291cmNlLmMsIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmMsCisJICBkbGxzL3F1YXJ0ei9maWx0ZXJtYXBwZXIuYywgZGxscy9xdWFydHovbWFpbi5jLAorCSAgZGxscy9xdWFydHovbWVtYWxsb2NhdG9yLmMsIGRsbHMvcXVhcnR6L3Bpbi5jLAorCSAgZGxscy9xdWFydHovc3lzdGVtY2xvY2suYywgZGxscy9ycGNydDQvY3Byb3h5LmMsIGRsbHMvcnBjcnQ0L2Nwc2YuYywKKwkgIGRsbHMvcnBjcnQ0L25kcl9vbGUuYywgZGxscy9zaGRvY3Z3L2NsYXNzaW5mby5jLAorCSAgZGxscy9zaGRvY3Z3L2V2ZW50cy5jLCBkbGxzL3NoZG9jdncvZmFjdG9yeS5jLCBkbGxzL3NoZG9jdncvbWlzYy5jLAorCSAgZGxscy9zaGRvY3Z3L29sZW9iamVjdC5jLCBkbGxzL3NoZG9jdncvcGVyc2lzdC5jLAorCSAgZGxscy9zaGRvY3Z3L3dlYmJyb3dzZXIuYywgZGxscy9zaGVsbDMyL2F1dG9jb21wbGV0ZS5jLAorCSAgZGxscy9zaGVsbDMyL2NwYW5lbGZvbGRlci5jLCBkbGxzL3NoZWxsMzIvZGF0YW9iamVjdC5jLAorCSAgZGxscy9zaGVsbDMyL2RyYWdkcm9waGVscGVyLmMsIGRsbHMvc2hlbGwzMi9lbnVtaWRsaXN0LmMsCisJICBkbGxzL3NoZWxsMzIvZm9sZGVycy5jLCBkbGxzL3NoZWxsMzIvbWVtb3J5c3RyZWFtLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9sZS5jLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmMsIGRsbHMvc2hlbGwzMi9zaGZsZHJfZnMuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGZsZHJfbXljb21wLmMsIGRsbHMvc2hlbGwzMi9zaGxmc2JpbmQuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGx2aWV3LmMsIGRsbHMvc2hlbGwzMi9zaHZfYmdfY21lbnUuYywKKwkgIGRsbHMvc2hlbGwzMi9zaHZfaXRlbV9jbWVudS5jLCBkbGxzL3NobHdhcGkvYXNzb2MuYywKKwkgIGRsbHMvc2hsd2FwaS9pc3RyZWFtLmMsIGRsbHMvc2hsd2FwaS9yZWdzdHJlYW0uYywgZGxscy91cmxtb24vdW1vbi5jLAorCSAgZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jLCBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvXzA1LmMsCisJICBkbGxzL3dpbm1tL3dpbmVhdWRpb2lvL2F1ZGlvLmMsIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jLAorCSAgaW5jbHVkZS9vYmpiYXNlLmg6CisJR2V0IHJpZCBvZiB0aGUgbm8gbG9uZ2VyIHVzZWQgSUNPTV9NU1ZUQUJMRV9DT01QQVRfRHVtbXlSVFRJVkFMVUUKKwltYWNyby4KKworCSogZGxscy9tc3ZjcnQvc2NhbmYuaCwgZGxscy9udGRsbC9ydGxiaXRtYXAuYywKKwkgIGRsbHMvbnRkbGwvdGVzdHMvcnRsYml0bWFwLmMsIGRsbHMvbnRkbGwvdGhyZWFkLmMsCisJICBpbmNsdWRlL3dpbnRlcm5sLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJVXBkYXRlIFJUTF9CSVRNQVAgYW5kIFJUTF9CSVRNQVBfUlVOIHRvIG1hdGNoIHRoZSAyMDAwIERESy4KKwlPbmx5IHRlc3QgdGhlIFJ0bHtJbml0aWFsaXplLFNldEFsbCxDbGVhckFsbH1CaXRzIG1hY3JvcyBpZiB0aGV5IGFyZQorCWRlZmluZWQuCisKKwkqIGRsbHMvaGhjdHJsLm9jeC9NYWtlZmlsZS5pbiwgZGxscy9oaGN0cmwub2N4L2hoY3RybC5vY3guc3BlYywKKwkgIGRsbHMvaGhjdHJsLm9jeC9yZWdzdnIuYywgdG9vbHMvd2luZS5pbmY6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJQWRkZWQgZW1wdHkgRGxsUmVnaXN0ZXJTZXJ2ZXIuCisKKwkqIGRsbHMvZGRyYXcvZGNsaXBwZXIvbWFpbi5jLCBkbGxzL2RkcmF3L2RjbGlwcGVyL21haW4uaDoKKwlUb2JpYXMgQnVybnVzIDxidXJudXNAZ214LmRlPgorCS0gTGltaXQgbnVtYmVyIG9mIEZJWE1FKClzIGluIENsaXBwZXJfU2V0Q2xpcExpc3QgYW5kIGRvY3VtZW50CisJICBmdW5jdGlvbi4KKwktIERvY3VtZW50IENsaXBwZXJfR2V0Q2xpcExpc3QuCisKKwkqIGRsbHMvb2xlMzIvZGNvbS5oLCBpbmNsdWRlL2FjdGl2c2NwLmgsIGluY2x1ZGUvYW1zdHJlYW0uaCwKKwkgIGluY2x1ZGUvYW12aWRlby5oLCBpbmNsdWRlL2F1c3RyZWFtLmgsIGluY2x1ZGUvY29tY2F0LmgsCisJICBpbmNsdWRlL2Rkc3RyZWFtLmgsIGluY2x1ZGUvZGlzcGV4LmgsIGluY2x1ZGUvZG9jb2JqLmgsCisJICBpbmNsdWRlL2V4ZGlzcC5oLCBpbmNsdWRlL21sYW5nLmgsIGluY2x1ZGUvbW1zdHJlYW0uaCwKKwkgIGluY2x1ZGUvb2FpZGwuaCwgaW5jbHVkZS9vYmpiYXNlLmgsIGluY2x1ZGUvb2JqaWRsLmgsCisJICBpbmNsdWRlL29jaWRsLmgsIGluY2x1ZGUvb2xlaWRsLmgsIGluY2x1ZGUvcHN0b3JlLmgsCisJICBpbmNsdWRlL3JwY3Byb3h5LmgsIGluY2x1ZGUvc2VydnByb3YuaCwgaW5jbHVkZS9zaGxkaXNwLmgsCisJICBpbmNsdWRlL3NobG9iai5oLCBpbmNsdWRlL3Nob2JqaWRsLmgsIGluY2x1ZGUvc3RybWlmLmgsCisJICBpbmNsdWRlL3Vua253bi5oLCBpbmNsdWRlL3Vua253bi5pZGwsIGluY2x1ZGUvdXJsbW9uLmgsCisJICB0b29scy93aWRsL2hlYWRlci5jOgorCUdldCByaWQgb2YgdGhlIElDT01fTVNWVEFCTEVfQ09NUEFUIHN1cHBvcnQsIGcrKyBubyBsb25nZXIgcmVxdWlyZXMKKwl0aGlzLgorCisJKiBzZXJ2ZXIvY2xpcGJvYXJkLmM6IFVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlUaGUgY2xpcGJvYXJkIG93bmVyIGNhbiBiZSBzZXQgYnkgdGhlIHRocmVhZCB0aGF0IGhhcyB0aGUgY2xpcGJvYXJkCisJb3Blbi4KKworCSogZGxscy9kYmdoZWxwL3N0YWJzLmM6IFJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdG9yZSB0aGUgY3VycmVudCBzb3VyY2UgZGlyZWN0b3J5IGFuZCB1c2UgaXQgd2hlbiBlbmNvdW50ZXJpbmcgYQorCXJlbGF0aXZlIGluY2x1ZGUgc28gdGhhdCB0aGUgZnVsbCBwYXRoIHRvIGl0IGlzIHN0b3JlZCBpbnN0ZWFkLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJTWFrZSBzdXJlIGV4ZVBhdGggY29udGFpbnMgdGhlIHBhdGggc2luY2UgaXQgaXMgdXNlZCBsYXRlciBpbiB0aGUKKwlmdW5jdGlvbiBhcyB3ZWxsLgorCisJKiBkbGxzL21sYW5nL21sYW5nLmMsIGRsbHMvbWxhbmcvdGVzdHMvbWxhbmcuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUVudW1lcmF0ZSBhbGwgYXZhaWxhYmxlIHNjcmlwdHMgaW4gSU11bHRpTGFuZ3VhZ2UyX0VudW1TY3JpcHRzLCBhZGQKKwlmaXhlZC9wcm9wb3J0aW9uYWwgZm9udCBuYW1lcyBpbnRvIG1sYW5nIGRhdGFiYXNlLgorCisJKiBkbGxzL2tlcm5lbC9sb2NhbGUuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlHZXRDUEluZm8oRXgpIHNob3VsZCB3b3JrIG9uIENQX1VURjcvQ1BfVVRGOCBwc2V1ZG8gY29kZSBwYWdlcywgYXMKKwlJc1ZhbGlkQ29kZVBhZ2UgZG9lcy4KKworCSogZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUFkanVzdCB0aGUgdGFiIGNvbnRlbnRzIHRvIGZpeCB0aGUgcHJvcHNoZWV0IGJldHdlZW4gUFNNX0tJTExBQ1RJVkUKKwlhbmQgUFNNX1NFVEFDVElWRS4KKworCSogZGxscy9kc291bmQvdGVzdHMvY2FwdHVyZS5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kczNkLmMsCisJICBkbGxzL2Rzb3VuZC90ZXN0cy9kczNkOC5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kc291bmQuYywKKwkgIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZDguYywgZGxscy9kc291bmQvdGVzdHMvcHJvcHNldC5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJT25seSBwcmludCBmb3JtYXQgaW5mbyB3aGVuIGluIGludGVyYWN0aXZlIG1vZGUgZm9yIGNhcHR1cmUgdGVzdC4KKwlDbGVhbnVwIGVycm9yIGFuZCBpbmZvIG1lc3NnZXMuCisKKwkqIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbm50Lmg6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCU1vdmUgTERUX0VOVFJZIHRvIHdpbm50LmguCisKKzIwMDQtMDgtMjIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRvY3VtZW50YXRpb24vZGVidWdnZXIuc2dtbCwgcHJvZ3JhbXMvd2luZWRiZy9icmVhay5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9kYmcueSwgcHJvZ3JhbXMvd2luZWRiZy9kZWJ1Z2dlci5oLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9kaXNwbGF5LmMsIHByb2dyYW1zL3dpbmVkYmcvZXhwci5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9nZGJwcm94eS5jLCBwcm9ncmFtcy93aW5lZGJnL21lbW9yeS5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9zdGFjay5jLCBwcm9ncmFtcy93aW5lZGJnL3N5bWJvbC5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy90eXBlcy5jLCBwcm9ncmFtcy93aW5lZGJnL3dpbmVkYmcuYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwktIGZpeGVkIGJyZWFrcG9pbnQgZW5hYmxlZC9kaXNhYmxlZCBzdGF0ZSBtYW5hZ2VtZW50CisJLSBmaXhlZCByZWN1cnNpb24gaW4gdHlwZSBwcmludGluZworCS0gbm93IGFsbCB0eXBlLWlkIGFyZSBzdG9yZWQgd2l0aCB0aGUgYmFzZSBhZGRyZXNzIG9mIHRoZSBtb2R1bGUgd2hpY2gKKwkgIGRlZmluZXMgdGhlIHR5cGUgKHN0cnVjdCBkYmdfdHlwZSB0YWtlcyBjYXJlIG9mIHRoaXMgcGFpcmluZykKKwktIGZpeGVkIGEgY291cGxlIG9mIGJ1Z3MgaW4gZGlzcGxheSBoYW5kbGluZworCS0gZml4ZWQgc3RyaW5ncyBwcmludCBhbmQgZXhhbWluYXRpb24KKworCSogTWFrZS5ydWxlcy5pbiwgZGxscy9vbGUzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGUzMi9kY29tLmgsCisJICBpbmNsdWRlL01ha2VmaWxlLmluOgorCUFkZGVkIHJlY3Vyc2l2ZSBpZGwgdGFyZ2V0IHRvIGFsbG93IHVwZGF0aW5nIGlkbCBmaWxlcyBwcml2YXRlIHRvIGEKKwlkbGwuCisKKwkqIGluY2x1ZGUvdW5rbnduLmgsIHRvb2xzL3dpZGwvaGVhZGVyLmM6CisJT3V0cHV0IEJFR0lOL0VORF9JTlRFUkZBQ0UgZm9yIEMrKyBiYXNlIGNsYXNzZXMgdG9vLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLmgsIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYywKKwkgIGRsbHMvY29tY3RsMzIvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9jb21jdGwzMi90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvY29tY3RsMzIvdGVzdHMvc3ViY2xhc3MuYzoKKwlLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlNYWtlIFNldFdpbmRvd1N1YmNsYXNzIGJlaGF2ZSB3aXRoIFNldFdpbmRvd0xvbmcgc3ViY2xhc3Nlcy4KKwlBbGxvdyB1bmxpbWl0ZWQgbnVtYmVyIG9mIHN1YmNsYXNzZXMuCisJQ29ycmVjdCBpc3N1ZSB3aGVuIFNlbmRNZXNzYWdlIGlzIGNhbGxlZCBmcm9tIHdpdGhpbiBhIHN1YmNsYXNzIHByb2MuCisJQWRkIHJlZ3Jlc3Npb24gdGVzdC4KKworCSogZGxscy9udGRsbC90ZXN0cy9nZW5lcmF0ZWQuYywgaW5jbHVkZS93aW5udC5oLAorCSAgdG9vbHMvd2luYXBpL3Rlc3RzLmRhdDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlVcGRhdGUgRlBPX0RBVEEgYW5kIElNQUdFX0xPQURfQ09ORklHX0RJUkVDVE9SWSB0byBtYXRjaCB0aGUgbGF0ZXN0CisJcGxhdGZvcm0gU0RLLiBUaGlzIGhlbHBzIGNvbXBpbGUgdGhlIG50ZGxsIHRlc3RzIG9uIFdpbmRvd3MuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jLCBkbGxzL3NoZWxsMzIvdGVzdHMvZ2VuZXJhdGVkLmMsCisJICBkbGxzL3NoZWxsMzIvdW5kb2NzaGVsbC5oLCBpbmNsdWRlL3NobG9iai5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCU1vdmVkIGRlY2xhcmF0aW9ucyBmcm9tIHVuZG9jc2hlbGwuaCB0byBzaGxvYmouaCB0byBtYXRjaCB0aGUgbGF0ZXN0CisJcGxhdGZvcm0gU0RLLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvbWl4ZXIuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBtaXhlcnMuCisJR2V0IG1peGVyIG5hbWUgZnJvbSBPU1MuCisJTW9yZSB0cmFjaW5nLgorCisJKiBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVkgY29vcmRpbmF0ZSBvZiB0aGUgIm1hZ2ljIiBzdGF0aWMgY29udHJvbCBzaG91bGQgYmUgdHJlYXRlZAorCWluY2x1c2l2ZWx5LgorCisJKiBkbGxzL2RiZ2hlbHAvZGJnaGVscF9wcml2YXRlLmgsIGRsbHMvZG1iYW5kL2RtYmFuZF9wcml2YXRlLmgsCisJICBkbGxzL2RtYmFuZC9kbXV0aWxzLmMsIGRsbHMvZG1jb21wb3MvZG1jb21wb3NfcHJpdmF0ZS5oLAorCSAgZGxscy9kbWltZS9kbWltZV9wcml2YXRlLmgsIGRsbHMvZG1pbWUvZG11dGlscy5jLAorCSAgZGxscy9kbWxvYWRlci9kbWxvYWRlcl9wcml2YXRlLmgsIGRsbHMvZG1zY3JpcHQvZG1zY3JpcHRfcHJpdmF0ZS5oLAorCSAgZGxscy9kbXN0eWxlL2Rtc3R5bGVfcHJpdmF0ZS5oLCBkbGxzL2Rtc3R5bGUvZG11dGlscy5jLAorCSAgZGxscy9kbXN5bnRoL2Rtc3ludGhfcHJpdmF0ZS5oLCBkbGxzL2RtdXNpYy9kbXVzaWNfcHJpdmF0ZS5oLAorCSAgZGxscy9kbXVzaWMzMi9kbXVzaWMzMl9tYWluLmMsIGRsbHMvZHN3YXZlL2Rzd2F2ZV9wcml2YXRlLmgsCisJICBkbGxzL2R4ZGlhZ24vZHhkaWFnX3ByaXZhdGUuaCwgZGxscy9tc2kvbXNpcHJpdi5oLCBkbGxzL21zaS9xdWVyeS5oLAorCSAgZGxscy9vbGUzMi9lcnJvcmluZm8uYywgZGxscy9vbGVhdXQzMi9oYXNoLmMsCisJICBkbGxzL29sZWF1dDMyL29sZWZvbnQuYywgZGxscy9vbGVhdXQzMi9zYWZlYXJyYXkuYywKKwkgIGRsbHMvb2xlYXV0MzIvdmFyZm9ybWF0LmMsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jLAorCSAgZGxscy9vbGVhdXQzMi92YXJpYW50LmgsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwKKwkgIGRsbHMvc2hlbGwzMi9zaGx2aWV3LmMsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGluY2x1ZGUvb2JqYmFzZS5oLAorCSAgaW5jbHVkZS91bmtud24uaCwgaW5jbHVkZS91bmtud24uaWRsLCBwcm9ncmFtcy93aW5lZGJnL2RlYnVnZ2VyLmg6CisJRG9uJ3QgZGVmaW5lIEJFR0lOX0lOVEVSRkFDRSBpbiB1bmtud24uaC4KKworCSogaW5jbHVkZS9hY3RpdnNjcC5oLCBpbmNsdWRlL2Ftc3RyZWFtLmgsIGluY2x1ZGUvYW12aWRlby5oLAorCSAgaW5jbHVkZS9hdXN0cmVhbS5oLCBpbmNsdWRlL2NvbWNhdC5oLCBpbmNsdWRlL2Rkc3RyZWFtLmgsCisJICBpbmNsdWRlL2Rpc3BleC5oLCBpbmNsdWRlL2RvY29iai5oLCBpbmNsdWRlL2V4ZGlzcC5oLAorCSAgaW5jbHVkZS9tbGFuZy5oLCBpbmNsdWRlL21tc3RyZWFtLmgsIGluY2x1ZGUvb2FpZGwuaCwKKwkgIGluY2x1ZGUvb2JqaWRsLmgsIGluY2x1ZGUvb2NpZGwuaCwgaW5jbHVkZS9vbGVpZGwuaCwKKwkgIGluY2x1ZGUvcHN0b3JlLmgsIGluY2x1ZGUvc2VydnByb3YuaCwgaW5jbHVkZS9zaGxkaXNwLmgsCisJICBpbmNsdWRlL3Nob2JqaWRsLmgsIGluY2x1ZGUvc3RybWlmLmgsIGluY2x1ZGUvdW5rbnduLmgsCisJICBpbmNsdWRlL3Vua253bi5pZGwsIGluY2x1ZGUvdXJsbW9uLmgsIHRvb2xzL3dpZGwvaGVhZGVyLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUdlbmVyYXRlIEJFR0lOX0lOVEVSRkFDRSxFTkRfSU5URVJGQUNFIG1hY3JvcyBpbnN0ZWFkIG9mCisJSUNPTV9NU1ZUQUJMRV9DT01QQVRfRklFTERTLgorCisJKiBkbGxzL2dkaS90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy9tc3ZjcnQvZXhjZXB0LmMsCisJICBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jLCBkbGxzL250ZGxsL3Rlc3RzL2dlbmVyYXRlZC5jLAorCSAgaW5jbHVkZS93aW5nZGkuaCwgaW5jbHVkZS93aW5udC5oLCB0b29scy93aW5hcGkvdGVzdHMuZGF0OgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVJlbW92ZSB0aGVzZSBXaW5lLW9ubHkgdHlwZXM6CisJICBFbnVtSUNNUHJvZmlsZXNQcm9jQ2FsbGJhY2sKKwkgIFBFWENFUFRJT05fUkVHSVNUUkFUSU9OX1JFQ09SRAorCURvbid0IHRlc3QgdGhlc2UgV2luZS1vbmx5IHR5cGVzOgorCSAgRU1SU0VUVEVYVEpVU1RJRklDQVRJT04KKwkgIEVYQ0VQVElPTl9SRUdJU1RSQVRJT05fUkVDT1JECisJUmVtb3ZlIEVYQ0VQVElPTl9GUkFNRSwgaXQgZG9lc24ndCBleGlzdCBhdCBhbGwuCisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9taXhlci5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUZpeGVkIGJ1ZyBpbiB2b2x1bWUgY29udHJvbCBzdGVwIHNpemUgc28gdGhhdCBpdCBhY3R1YWxseSB3b3Jrcy4KKwlBZGRlZCBhZGRpdGlvbmFsIGRlYnVnIHRyYWNpbmcuCisJQ29kZSBjbGVhbnVwLgorCisJKiB0b29scy93aW5hcGkvY19wYXJzZXIucG06IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCURFQ0xBUkVfT0xEX0hBTkRMRSBpcyBub3QgdXNlZCBhbnltb3JlLgorCisJKiB0b29scy9zZm50MmZudC5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCUluY2x1ZGUgPHN0ZGxpYi5oPiBmb3IgYSBwcm90b3R5cGUgb2YgZXhpdCgpLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL05sLnJjLCBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcucmM6CisJUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCUFkZGVkIER1dGNoIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvY29tY3RsMzIvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL2NvbWN0bDMyL3Rlc3RzL2ltYWdlbGlzdC5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJVGVzdCBjYXNlIGZvciBob3RzcG90IGhhbmRsaW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL2ltYWdlbGlzdC5jOiBNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCS0gRml4IGhvdHNwb3QgaGFuZGxpbmcKKwktIFJlbW92ZSB1bnVzZWQgZmxhZyBmcm9tIHRoZSBJbnRlcm5hbERyYWcgc3RydWN0LgorCisyMDA0LTA4LTIwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9kc291bmQvZHNvdW5kX3ByaXZhdGUuaCwKKwkgIGRsbHMvZHNvdW5kL3Byb3BzZXQuYywgZGxscy93aW5tbS9sb2x2bGRydi5jLAorCSAgZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jLCBkbGxzL3dpbm1tL3dpbmVhcnRzL2F1ZGlvLmMsCisJICBkbGxzL3dpbm1tL3dpbmVhdWRpb2lvL2F1ZGlvLmMsIGRsbHMvd2lubW0vd2luZWphY2svYXVkaW8uYywKKwkgIGRsbHMvd2lubW0vd2luZW5hcy9hdWRpby5jLCBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYywKKwkgIGluY2x1ZGUvbW1kZGsuaDoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCVJlbW92ZSB3aW5lIHNwZWNpZmljIERSVl9RVUVSWURTT1VOREdVSUQgbWVzc2FnZSBhbmQgY2FsY3VsYXRlIGl0IGluCisJZHNvdW5kLmRsbCAobGlrZSBpbiAyay94cCkuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlZm9udC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgaW1wbGVtZW50YXRpb24gZm9yIElQZXJzaXN0UHJvcGVydHlCYWdfTG9hZCBvbiBPTEVGb250IChiYXNlZCBvbgorCWEgcGF0Y2ggYnkgQWxleCBWaWxsYWPtcyBMYXNzbykuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbHBhdGguYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlVbmljb2RpZnkgYSBsb2FkIG9mIHN0cmluZ3MuCisKKwkqIGRsbHMvZ2RpL2JydXNoLmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJUmV0dXJuIGEgc3RvY2sgYnJ1c2ggd2hlbiBhc2tpbmcgZm9yIGEgYnJ1c2ggd2l0aCB0aGUgc2FtZQorCWNoYXJhY3RlcmlzdGljcywgYXMgcGVyIG5hdGl2ZS4gRG9jdW1lbnQgdGhlIGJydXNoIGZ1bmN0aW9ucy4KKworCSogZGxscy9zaGVsbDMyL3Rlc3RzL2dlbmVyYXRlZC5jLCBpbmNsdWRlL3NobG9iai5oLAorCSAgdG9vbHMvd2luYXBpL2NfcGFyc2VyLnBtLCB0b29scy93aW5hcGkvY190eXBlLnBtLAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV90ZXN0OgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUZpeCBwYWNraW5nIGJ1ZyBpbiBzaGxvYmouaC4KKwlGaXggdGhlIGRlY2xhcmF0aW9uIG9mIGJpdGZpZWxkcyBzbyB0aGVpciBsYXlvdXQgbWF0Y2hlcyB3aGF0IE1TVkMKKwlnZW5lcmF0ZXMuCisJTW9kaWZ5IHdpbmFwaV90ZXN0IHRvIGNvbXB1dGUgdGhlIGJpdGZpZWxkcyBzaXplL2FsaWdubWVudCBsaWtlIE1TVkMKKwlkb2VzLgorCVVwZGF0ZSB0aGUgaW1wYWN0ZWQgZ2VuZXJhdGVkLmMgZmlsZXMuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbiBJUGVyc2lzdEZpbGVfU2F2ZSBpZiB0aGUgZXhlIGZpbGUgaXMgbm90IGZvdW5kLCB0cnVzdCB0aGUgcGF0aCB3ZQorCWFyZSBnaXZlbiBhbmQgYWxsb3cgY3JlYXRpb24gb2YgdGhlIGxpbmsuCisKKwkqIGRsbHMvd2lubW0vbWNpY2RhL21jaWNkYS5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBJbnB1dCBwYXRoIGNhbiBoYXZlIHRyYWlsaW5nIHNsYXNoLgorCS0gSW1wcm92ZSBzb21lIGRlYnVnZ2luZyBtZXNzYWdlcy4KKworCSogZGxscy9nZGkvY2xpcHBpbmcuYywgaW5jbHVkZS93aW5nZGkuaDoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBGaXggdHlwZSBpbiBHZXRSYW5kb21SZWdpb24gZnVuY3Rpb24uCisJLSBBZGQgcHJvdG90eXBlIHRvIGhlYWRlci4KKworCSogZGxscy9hZHZhcGkzMi9jcnlwdC5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlFbmFibGUgRVJST1JfTU9SRV9EQVRBIHRvIGJlIHNldCBpbiBDcnlwdEdldERlZmF1bHRQcm92aWRlci4KKworCSogZGxscy9hZHZhcGkzMi90ZXN0cy9jcnlwdC5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlBZGRlZCB0ZXN0cyBmb3IgQ3J5cHRTZXRQcm92aWRlckV4LgorCisJKiBpbmNsdWRlL3dpbnRlcm5sLmg6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBwcm90b3R5cGVzIGZvciBhIGZldyBtb3JlIE5hdGl2ZSBBUEkgZnVuY3Rpb25zLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvbWl4ZXIuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlDaGFuZ2Ugc3RlcCBzaXplIGZyb20gMCB0byAxIGZvciB2b2x1bWUgY29udHJvbHMgdG8gc3RvcCBkaXZpZGUgYnkKKwl6ZXJvIGluIGFwcC4KKwlDaGFuZ2UgZGVidWcgY2hhbm5lbCB0byBtaXhlci4KKwlBZGQgbW9yZSB0cmFjaW5nIGFuZCBlcnJvcnMuCisKKzIwMDQtMDgtMTkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2dlbmVyYXRlZC5jLCBkbGxzL250ZGxsL3Rlc3RzL2dlbmVyYXRlZC5jLAorCSAgZGxscy9zaGVsbDMyL3Rlc3RzL2dlbmVyYXRlZC5jLCB0b29scy93aW5hcGkvdGVzdHMuZGF0OgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVJlbW92ZSB0eXBlcyB0aGF0IGRvbid0IGV4aXN0IGZyb20gdGVzdHMuZGF0LgorCURvbid0IHRlc3QgdHlwZXMgdGhhdCBoYXZlIGEgcGxhdGZvcm0gZGVwZW5kZW50IGxheW91dC4KKwlEb24ndCB0ZXN0IFdpbmUtb25seSB0eXBlcy4KKwlIZWxwcyBnZXQgdGhlIGdlbmVyYXRlZCB0ZXN0cyBjb21waWxpbmcgb24gV2luZG93cy4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL29sZWF1dDMyL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9vbGVhdXQzMi90ZXN0cy90eXBlbGliLmMsIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJUmVmIGNvdW50aW5nIGZpeGVzLgorCisJKiBmb250cy9nZW50dGYuZmY6IEdlbmVyYXRlIHRoZSAudHRmIGZpbGUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgorCisJKiBkbGxzL3NobHdhcGkvdGVzdHMvZ2VuZXJhdGVkLmMsIGluY2x1ZGUvc2hsd2FwaS5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUZpeCBwYWNraW5nIG9mIHNobHdhcGkuaAorCUFkZCBhIERFQ0xTUEVDX0FMSUdOKDgpIHRvIGZvcmNlIERMTFZFUlNJT05JTkZPMiB0byBoYXZlIHRoZSBjb3JyZWN0CisJYWxpZ25tZW50LgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLmgsIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYywKKwkgIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOgorCVJvYmVydCBTaGVhcm1hbiA8cm9iQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEltcGxlbWVudCBpbnNlcnQgbWFya3MuCisJLSBSZWFycmFuZ2UgVE9PTEJBUl9JTkZPLgorCisJKiBkbGxzL3dpbmluZXQvdXJsY2FjaGUuYywgZGxscy93aW5pbmV0L3dpbmluZXQuc3BlYzoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJRml4IHR5cGUgb2YgRGVsZXRlSUUzQ2FjaGUgZnVuY3Rpb24uCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvYXVkaW8uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCAyNC8zMiBiaXQgc2FtcGxlIHNpemUgYW5kIDQvNiBjaGFubmVsIHN1cHBvcnQuCisJQWRkZWQgZHNvdW5kIGNhcHR1cmUgd2luZSBzcGVjaWZpYyBtZXNzYWdlIHN1cHBvcnQuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2Ftc3RyZWFtL01ha2VmaWxlLmluLAorCSAgZGxscy9kZXZlbnVtL01ha2VmaWxlLmluLCBkbGxzL21zaHRtbC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvcXVhcnR6L01ha2VmaWxlLmluLCBkbGxzL3F1YXJ0ei90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc3RybWlpZHMvLmN2c2lnbm9yZSwgZGxscy9zdHJtaWlkcy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc3RybWlpZHMvc3RybWlpZHMuYywgZGxscy91dWlkL3V1aWQuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBZGRlZCAnc3RybWlpZHMubGliJy4KKwlNb3ZlZCBDTFNJRF9GaWx0ZXJHcmFwaCBhbmQgdGhlIHJlbGF0ZWQgR1VJRHMgdG8gc3RybWlpZHMuCisKKwkqIGRsbHMvcXVhcnR6L3Rlc3RzL2ZpbHRlcmdyYXBoLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCURlZmluZSBDT0JKTUFDUk9TLiBGaXhlcyBjb21waWxhdGlvbiBvbiBXaW5kb3dzLgorCisJKiBkbGxzL3NoZWxsMzIvdGVzdHMvZ2VuZXJhdGVkLmMsIGluY2x1ZGUvc2hlbGxhcGkuaDoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlBZGQgbmV3IGZpZWxkcyB0byB0aGUgTk9USUZZSUNPTkRBVEEgc3RydWN0dXJlIHNvIGl0IG1hdGNoZXMgdGhlCisJbGF0ZXN0IHBsYXRmb3JtIFNESy4KKwlVcGRhdGUgc2hlbGwzMi90ZXN0cy9nZW5lcmF0ZWQuYy4gSXQgbm93IHdvcmtzIHdoZW4gY29tcGlsZWQgd2l0aCB0aGUKKwlXaW5kb3dzIGhlYWRlcnMuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbHRpcHMuYzogVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2hAY29kZXdlYXZlcnMuY29tPgorCUNsZWFyIHRvb2x0aXAgd2hlbiB0ZXh0IGlzIHNldCB0byBOVUxMLgorCVJlcGFpbnQgdG9vbHRpcCB3aGVuIGl0ZW0gaW5mbyBjaGFuZ2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWJvZXguYzogVWxyaWNoIEN6ZWthbGxhIDx1bHJpY2hAY29kZXdlYXZlcnMuY29tPgorCUZvcndhcmQgZm9jdXMgdG8gY29tYm9ib3gsIG90aGVyd2lzZSBlZGl0IGNvbnRyb2wgd29uJ3QgZ2V0IGZvY3VzLgorCisJKiBkbGxzL2NvbWN0bDMyL3RhYi5jOiBVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJVGhlIHJlY3RhbmdsZSBwYXNzZWQgaW4gRFJBV0lURU1TVFJVQ1QgaXMgc2xpZ2h0bHkgdG9vIGxhcmdlIGFzCisJY29tcGFyZWQgd2l0aCBXaW5kb3dzLgorCisJKiBmb250cy93aW5lX3N5c3RlbS5zZmQ6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJQ29tcGxldGUgY3AxMjUyIGZvciBTeXN0ZW0uCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJLSBGaXggYW5jaG9yIGhpZ2hsaWdodGluZy4KKwktIFJlbW92ZSByZWR1bmRhbnQgdGVzdCBpbiBUT09MQkFSX0RyYXdCdXR0b24uCisKKwkqIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJQmV0dGVyIFRSQUNFJ3MgZm9yIHNvbWUgSW50ZXJuZXQqIGZ1bmN0aW9ucy4KKworCSogZGxscy9hZHZhcGkzMi9hZHZhcGkzMi5zcGVjLCBkbGxzL2FkdmFwaTMyL3NlY3VyaXR5LmMsCisJICBkbGxzL2FkdmFwaTMyL3Rlc3RzL3NlY3VyaXR5LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUZpeCBCdWlsZFRydXN0ZWVXaXRoU2lkLCBpbXBsZW1lbnQgYW5kIHRlc3QgQnVpbGRUcnVzdGVlV2l0aE5hbWUuCisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jOiBKb2huIEsuIEhvaG0gPGpob2htQGFjbS5vcmc+CisJQ29uc2lzdGVudGx5IHN1Z2dlc3QgcHJvcGVyIEVtdWxhdGlvbiByYXRoZXIgdGhhbiBFbXVsYXRlZCBmb3IKKwlIYXJkd2FyZUFjY2VsZXJhdGlvbiBpbiBbZHNvdW5kXSBzZWN0aW9uIG9mIGNvbmZpZyBmaWxlLgorCisJKiBkbGxzL250ZGxsL2ZpbGUuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUhhbmRsZSBFQ09OTlJFU0VUIGluIEZJTEVfR2V0TnRTdGF0dXMuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2ZpbGUuYywgZGxscy9udGRsbC9maWxlLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gRXJyb3JzIHNob3VsZCBvbmx5IGJlIHJlcG9ydGVkIHRvIEkvTyBjb21wbGV0aW9uIHJvdXRpbmUgYWZ0ZXIKKwkgIE50UmVhZEZpbGUgaGFzIHN1Y2NlZWRlZC4KKwktIFRlc3QgY2FzZSBmb3IgdGhpcyBiZWhhdmlvdXIuCisKKwkqIGRsbHMvcXVhcnR6L2ZpbGVzb3VyY2UuYywgZGxscy9xdWFydHovcGluLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCS0gUmVtb3ZlIGR1cGxpY2F0ZWQgY29kZSBpbiBmaWxlIHJlYWRlci4KKwktIFVzZSBuZXcgQ3JlYXRlU3BlY2lmaWMgZnVuY3Rpb24gZm9yIGZpbGUgcmVhZGVyIHRoYXQgZG9lc24ndCBxdWVyeQorCSAgZm9yIElNZW1JbnB1dFBpbi4KKwktIEdldCByaWQgb2YgaW5lZmZpY2llbnQgdXNlIG9mIElNZW1JbnB1dFBpbiBpbiBnZW5lcmFsIHBpbiBjb2RlLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sCisJICBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBkbGxzL250ZGxsL2ZpbGUuYywgdG9vbHMvd2luZWdjYy93aW5lZ2NjLmM6CisJRW1tYW51ZWwgTWFpbGxhcmQgPGUucnN6QGxpYmVydHlzdXJmLmZyPgorCS0gVXBkYXRlIGJ1aWxkIHN5c3RlbSB0byBzdXBwb3J0IElPS2l0IGFuZCBDb3JlRm91bmRhdGlvbiBmcmFtZXdvcmtzCisJICBvbiBEYXJ3aW4uCisJLSBBZGQgc3VwcG9ydCBmb3IgdGhlIC1mcmFtZXdvcmsgIm5hbWUiIGxpbmtlciBvcHRpb24uCisJLSBOdFF1ZXJ5Vm9sdW1lSW5mb3JtYXRpb25GaWxlIHNldCBkZXZpY2UgaW5mbyBvbiBEYXJ3aW4uCisKKwkqIGRsbHMvd2lubW0vdGVzdHMvY2FwdHVyZS5jLCBkbGxzL3dpbm1tL3Rlc3RzL3dhdmUuYywKKwkgIGRsbHMvd2lubW0vdGVzdHMvd2lubW1fdGVzdC5oOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkZWQgMzIgYml0IHNhbXBsZSBzaXplIHRlc3RzIGFuZCA0IGFuZCA2IGNoYW5uZWwgdGVzdHMuCisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUNsZWFudXAgbWVzc2FnZXMgaW4gc3VwcG9ydGVkRm9ybWF0LgorCisJKiBkbGxzL3dpbm1tL3dhdmVtYXAvd2F2ZW1hcC5jOiBSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCURvbid0IHRyeSB0byBmaW5kIGFsdGVybmF0ZSBmb3JtYXRzIGZvciBub24gUENNIGZvcm1hdHMuCisKKwkqIGRsbHMvd2luaW5ldC91cmxjYWNoZS5jLCBkbGxzL3dpbmluZXQvd2luaW5ldC5zcGVjOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUFkZGVkIHN0dWIgZm9yIERlbGV0ZUlFM0NhY2hlLgorCisJKiB3aW5kb3dzL2RlZmRsZy5jOiBaYWNoIEdvcm1hbiA8emFjaEBhcmNoZXR5cGVhdWN0aW9uLmNvbT4KKwlXaGVuIHNlYXJjaGluZyBmb3IgdGhlIERFRlBVU0hCVVRUT04gaW4gYSBkaWFsb2csIHJlY3Vyc2UgaW50byBjaGlsZAorCXdpbmRvd3Mgd2l0aCB0aGUgV1NfRVhfQ09OVFJPTFBBUkVOVCBzdHlsZSAoaWYgdGhleSBhcmUgdmlzaWJsZSBhbmQKKwllbmFibGVkKS4KKworCSogdG9vbHMvd3JjL3BhcnNlci55OiBaYWNoIEdvcm1hbiA8emFjaEBhcmNoZXR5cGVhdWN0aW9uLmNvbT4KKwlXU19UQUJTVE9QIHNob3VsZCBub3QgYmUgYSBkZWZhdWx0IHN0eWxlIGZvciBHUk9VUEJPWCBjb250cm9scy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWM6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlTaG93IHRoZSBwcm9wZXIgbWFrZSBjb21tYW5kIGF0IHRoZSBlbmQgb2YgY29uZmlndXJlLgorCisyMDA0LTA4LTE4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3dpbmNyeXB0Lmg6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlBZGRlZCBzb21lIGRlZmluZXMgZm9yIENQU2V0S2V5UGFyYW0uCisKKwkqIGRsbHMvc2hsd2FwaS90ZXN0cy9vcmRpbmFsLmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJRml4ZWQgdGVzdHMgb2YgR2V0QWNjZXB0TGFuZ3VhZ2VzQSBmb3Igd2luMmsgYW5kIHdpbiBYUC4KKworCSogZGxscy94MTFkcnYvd2luZG93LmMsIGRsbHMveDExZHJ2L3dpbnBvcy5jLCBkbGxzL3gxMWRydi94MTFkcnYuaDoKKwlSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJQWxsb3cgdGhlIHVzZXIgdG8gbW92ZSBtYW5hZ2VkIHdpbmRvd3MgYnkgZHJhZ2dpbmcgb24gSFRDQVBUSU9OCisJYXJlYXMuCisKKwkqIGRsbHMvbXNpL3BhY2thZ2UuYywgZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlEb24ndCBoYXJkY29kZSBjOlx3aW5kb3dzIHBhdGhzIGluIG1zaS5kbGwuCisKKwkqIHByb2dyYW1zL3dpbmVtZW51YnVpbGRlci93aW5lbWVudWJ1aWxkZXIuYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJRG9uJ3QgaGFyZGNvZGUgQzpcd2luZG93c1xzeXN0ZW1cc3RhcnQuZXhlLgorCisJKiBkbGxzL2tlcm5lbC9wcm9jZXNzLmM6CisJVGhlIGFyZ3YgYXJyYXkgcGFzc2VkIHRvIHRoZSBhcHAgbmVlZHMgdG8gYmUgaW4gdGhlIEFuc2kgY29kZXBhZ2UsIG5vdAorCXRoZSBVbml4IG9uZS4KKworCSogZGxscy9jb21tZGxnL3ByaW50ZGxnLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJRml4IHByaW50ZXIgc2VsZWN0aW9uIGluIFBEX1BSSU5UU0VUVVAgdHlwZSBkaWFsb2dzLgorCisJKiBpbmNsdWRlL3dpbmdkaS5oOiBBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJQWRkZWQgT0JKX0NPTE9SU1BBQ0UgZGVmaW5lLgorCisJKiBkbGxzL250ZGxsL2ZpbGUuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCURvIG5vdCBtYWtlIGEgZGlyZWN0b3J5IHJlYWQtb25seS4KKworCSogcHJvZ3JhbXMvd2luZXRlc3Qvc2VuZC5jOiBGZXJlbmMgV2FnbmVyIDx3ZmVyaUBhZmF2YW50LmVsdGUuaHU+CisJQXZvaWQgY3Jhc2hpbmcgb24gdW5zdWNjZXNzZnVsIHNlbmQuCisKKwkqIGRsbHMvZHNvdW5kL3Rlc3RzL2NhcHR1cmUuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlDbGVhbnVwIG1lc3NhZ2VzLgorCisJKiBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYzoKKwlBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJQWRkIGRldGVjdGlvbiBvZiBncmFwaGljIGZpbGUgaGVhZGVyIGluIHBpY3R1cmUgbG9hZCwgdHJlYXQgaXQgYXMKKwluby1oZWFkZXIgY2FzZS4KKworCSogZGxscy9kc291bmQvYnVmZmVyLmMsIGRsbHMvZHNvdW5kL2NhcHR1cmUuYywgZGxscy9kc291bmQvZHNvdW5kLmMsCisJICBkbGxzL2Rzb3VuZC9kc291bmRfcHJpdmF0ZS5oLCBkbGxzL2Rzb3VuZC9taXhlci5jLAorCSAgZGxscy9kc291bmQvcHJpbWFyeS5jLCBkbGxzL2Rzb3VuZC9wcm9wc2V0LmMsIGRsbHMvZHNvdW5kL3NvdW5kM2QuYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFsbG9jYXRlIHdhdmUgZm9ybWF0IHN0cnVjdHVyZSBkeW5hbWljYWxseSBiYXNlZCBvbiBmb3JtYXQuCisJUmVtb3ZlIGZvcm1hdCBjaGVja3MgdG8gYWxsb3cgZHJpdmVyIHRvIGRlY2lkZSBpZiBmb3JtYXQgc3VwcG9ydGVkLgorCUNvZGUgY2xlYW51cHMuCisKKwkqIGRsbHMvZHNvdW5kL3Rlc3RzL2RzM2QuYywgZGxscy9kc291bmQvdGVzdHMvZHMzZDguYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUNsZWFudXAgc29tZSBtb3JlIG1lc3NhZ2VzLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlTb21lIHNvdW5kIGNhcmRzIGhhdmUgZGlmZmVyZW50IGNhcGFiaWxpdGllcyB3aGVuIGRvaW5nIGZ1bGwgZHVwbGV4IHNvCisJYWRkIGR1cGxleCBjYXBzIGFuZCByZXR1cm4gdGhlbSB3aGVuIG5lY2Vzc2FyeS4KKwlDbGVhbiB1cCBldmVudCBtZXNzYWdlIHByaW50aW5nLgorCisJKiBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYzoKKwlBbGV4IFZpbGxhY+1zIExhc3NvIDxhX3ZpbGxhY2lzQHBhbG9zYW50by5jb20+CisJQXBwbHkgSElNRVRSSUMgdHJhbnNmb3JtYXRpb24gb24gaWNvbnMsIGp1c3QgbGlrZSBiaXRtYXBzLgorCisJKiBkbGxzL2RldmVudW0vZGV2ZW51bS5yYzogSm9z6SBNYW51ZWwgRmVycmVyIE9ydGl6IDxqbWZvMTk4MkB5YWhvby5lcz4KKwlBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL2tlcm5lbC9jb21tLmMsIGRsbHMva2VybmVsL2ZpbGUuYywgZGxscy9rZXJuZWwvc3luYy5jLAorCSAgZGxscy9rZXJuZWwvdnhkLmMsIGRsbHMvbnRkbGwvY2Ryb20uYywgZGxscy9udGRsbC9kaXJlY3RvcnkuYywKKwkgIGRsbHMvbnRkbGwvZmlsZS5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGRsbHMvbnRkbGwvc2VydmVyLmMsCisJICBkbGxzL250ZGxsL3ZpcnR1YWwuYywgZGxscy93aW5lZG9zL2ludDEzLmMsIGRsbHMvd2luZWRvcy9pbnQyMS5jLAorCSAgZGxscy93aW5zb2NrL3NvY2tldC5jLCBpbmNsdWRlL3dpbmUvc2VydmVyLmgsCisJICBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIG1pc2MvcmVnaXN0cnkuYywgc2VydmVyL2ZkLmMsCisJICBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvZmlsZS5oLCBzZXJ2ZXIvbmFtZWRfcGlwZS5jLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3NlcmlhbC5jLCBzZXJ2ZXIvc29jay5jLCBzZXJ2ZXIvdHJhY2UuYzoKKwlGZCB0eXBlIGlzIG5vIGxvbmdlciB1c2VkLCBnZXQgcmlkIG9mIGl0LgorCisyMDA0LTA4LTE3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9maWxlLmMsIGRsbHMvbnRkbGwvZmlsZS5jLCBpbmNsdWRlL2FzeW5jLmgsCisJICBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9zZXJpYWwuYywKKwkgIHNlcnZlci9zb2NrLmM6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJLSBiZXR0ZXIgc3VwcG9ydCBmb3Igbm9uLWJsb2NraW5nIENPTU0gYW5kIHNvY2tldCByZWFkL3dyaXRlczoKKwkgICsgYWRkZWQgbmVjZXNzYXJ5IHNlbWFudGljcyB0byBmZCBmbGFncworCSAgKyBubyBsb25nZXIgdXNlcyBmZCB0eXBlIChidXQgZmQgZmxhZ3MpIHJlYWQvd3JpdGUgc2VtYW50aWMgYmVoYXZpb3IKKwktIGZpeGVkIHNvY2tldCBjb2RlIHRvIHVzZSB0aGUgcHJvcGVyIG1hbmlmZXN0IGNvbnN0YW50cworCS0gZml4ZXMgZm9yIGtlcm5lbDMyLkdldE92ZXJsYXBwZWRSZXN1bHQgd2l0aG91dCBoRXZlbnQgc2V0CisJLSBpbiBudGRsbC5OdHtSZWFkfFdyaXRlfUZpbGUKKwkgICsgYWx3YXlzIHJlc2V0IHRoZSBldmVudAorCSAgKyBhZGRlZCBzdXBwb3J0IGZvciBsb25nbG9uZyBvZmZzZXRzCisJICArIGJldHRlciBvYmplY3QgZGlzcG9zYWwgaW4gZXJyb3IgaGFuZGxpbmcgY29kZSBwYXRocworCisJKiBNYWtlLnJ1bGVzLmluLCBNYWtlZmlsZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuYWMsCisJICBmb250cy8uY3ZzaWdub3JlLCBmb250cy9NYWtlZmlsZS5pbiwgZm9udHMvZ2VudHRmLmZmLAorCSAgZm9udHMvd2luZV9jb3VyaWVyLnNmZCwgZm9udHMvd2luZV9zYW5zX3NlcmlmLnNmZCwKKwkgIGZvbnRzL3dpbmVfc3lzdGVtLnNmZCwgdG9vbHMvLmN2c2lnbm9yZSwgdG9vbHMvTWFrZWZpbGUuaW4sCisJICB0b29scy9mbnQyZm9uLmMsIHRvb2xzL3NmbnQyZm50LmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXJzdCBzdGFiIGF0IFdpbmUgdmVyc2lvbnMgb2YgQ291cmllciwgU3lzdGVtIGFuZCBNUyBTYW5zIFNlcmlmCisJZm9udHMuCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUxldCBTdGFydFNlcnZpY2VDdHJsRGlzcGF0Y2hlciBoYW5kbGUgc2VydmljZXMgbm90IHN0YXJ0ZWQgYnkKKwlTdGFydFNlcnZpY2UuCisKKwkqIGRsbHMvbnRkbGwvbnQuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBoYW5kbGluZyBvZiBUb2tlblByaW1hcnlHcm91cC4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6CisJS3Jpc2huYSBNdXJ0aHkgPEtyaXNobmEuTXVydGh5QGd1cHRhd29ybGR3aWRlLmNvbT4KKwlBbGxvdyByZXNpemluZyB3aW5kb3dzIHdpdGhvdXQgdGhpY2tmcmFtZSBzdHlsZS4KKworCSogZGxscy9tYWtlX2RsbHM6IEFMVE5BTUVTIGhhcyBiZWVuIHJlbW92ZWQsIHVzZSBTUEVDX1NSQ1MxNiBpbnN0ZWFkLgorCisJKiBkb2N1bWVudGF0aW9uL2NvbmZpZ3VyaW5nLnNnbWw6IEZlcmdhbCBEYWx5IDxmZXJnYWxAZXNhdGNsZWFyLmllPgorCURvY3VtZW50IGRvc2RldmljZXMvdW5jIG1hcHBpbmcuCisKKwkqIGRsbHMvbnRkbGwvbnQuYywgZGxscy9udGRsbC9udGRsbC5zcGVjLCBpbmNsdWRlL3dpbnRlcm5sLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVN0dWIgaW1wbGVtZW50YXRpb24gZm9yIE50U2V0SW5mb3JtYXRpb25Ub2tlbi4KKworCSogZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCUFsd2F5cyByZWRyYXcgZGlhbG9nIG9uIGNoYW5naW5nIGJldHdlZW4gcGFnZXMuCisKKwkqIGRsbHMvY2FwaTIwMzIvY2FwMjB3eHguYzogTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCU5ld2VyIGRlcGVuZGVudCBsaW51eCBoZWFkZXJzIGhhdmUgX191c2VyIG5vdGF0aW9ucywgd2hpY2ggd2UgbmVlZCB0bworCXByb3ZpZGUuIERlZmluZSBpdCB0byBiZSBlbXB0eS4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDb252ZXJ0IGluc3RhbGxlZCBmb250IGxpc3QgdG8gbGlzdC5oLgorCisJKiBkbGxzL2FkdmFwaTMyL2NyeXB0LmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUlmIHBzelR5cGVOYW1lIGlzIHRvbyBzbWFsbCB0byBob2xkIHRoZSB0eXBlIG5hbWUgaW4KKwlDcnlwdEVudW1Qcm92aWRlclR5cGVzLCByZXR1cm4gRVJST1JfTU9SRV9EQVRBLgorCisJKiBkbGxzL2FkdmFwaTMyL3Rlc3RzL2NyeXB0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZW1vdmUgdW5uZWNlc3NhcnkgY2FzdHMgaW4gY3J5cHQgdGVzdHMuCisKKwkqIERFVkVMT1BFUlMtSElOVFM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVcGRhdGUgZGlyZWN0b3J5IGxpc3QuCisKKzIwMDQtMDgtMTYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvd2lubW0vd2lubW0uYywgZGxscy93aW5tbS93aW5tbS5zcGVjOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUltcGxlbWVudGVkIHRoZSBtbVRhc2sqIGZ1bmN0aW9ucy4KKworCSogZGxscy91c2VyL3Rlc3RzL3dpbi5jOiBGZXJlbmMgV2FnbmVyIDx3ZmVyaUBhZmF2YW50LmVsdGUuaHU+CisJVGhlIGRlc2t0b3AgcHJvY2VzcyBpcyBub3QgYXV0b21hdGljYWxseSByZXN0YXJ0ZWQgdW5kZXIgV2luOTUsIHNvCisJc3RvcCBraWxsaW5nIGl0LgorCisJKiBkbGxzL21hcGkzMi90ZXN0cy9wcm9wLmM6IEZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwlUZXJtaW5hdGUgdGVzdCBsb29wIG9uIHRoZSBmaXJzdCBlcnJvciB0byBhdm9pZCBleGNlc3NpdmUgbG9nIHZvbHVtZS4KKworCSogZGxscy9zaGVsbDMyL3NobGV4ZWMuYzogR2UgdmFuIEdlbGRvcnAgPGd2Z0ByZWFjdG9zLmNvbT4KKwlIYW5kbGUgc2hlbGwgbGluayBmaWxlcyBjb250YWluZWQgaW4gZG91YmxlIHF1b3Rlcy4KKworCSogZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50ZWQgR2V0L1NldEZpbGVTZWN1cml0eSBBLT5XLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOiBaYWNoIEdvcm1hbiA8emFjaEBhcmNoZXR5cGVhdWN0aW9uLmNvbT4KKwlPSyBidXR0b24gc2hvdWxkIGJlIGRlZmF1bHQgaW4gbm9uLXdpemFyZCBwcm9wZXJ0eSBzaGVldHMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL3F1YXJ0ei9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvcXVhcnR6L3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvcXVhcnR6L3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9xdWFydHovdGVzdHMvZmlsdGVyZ3JhcGguYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJQWRkZWQgdGVzdHMgZm9yIGZpbHRlcmdyYXBoLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZ19DYS5yYywgZGxscy9jb21tZGxnL2NkbGdfQ24ucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Dcy5yYywgZGxscy9jb21tZGxnL2NkbGdfRGEucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19EZS5yYywgZGxscy9jb21tZGxnL2NkbGdfRW4ucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Fby5yYywgZGxscy9jb21tZGxnL2NkbGdfRXMucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19GaS5yYywgZGxscy9jb21tZGxnL2NkbGdfRnIucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19IdS5yYywgZGxscy9jb21tZGxnL2NkbGdfSXQucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Lby5yYywgZGxscy9jb21tZGxnL2NkbGdfTmwucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Oby5yYywgZGxscy9jb21tZGxnL2NkbGdfUGwucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19QdC5yYywgZGxscy9jb21tZGxnL2NkbGdfUnUucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19TaS5yYywgZGxscy9jb21tZGxnL2NkbGdfU2sucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Tdi5yYywgZGxscy9jb21tZGxnL2NkbGdfVGgucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Vay5yYywgZGxscy9jb21tZGxnL2NkbGdfV2EucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19aaC5yYywgZGxscy9jb21tZGxnL2ZpbGVkbGcuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCS0gVXNlICJNUyBTaGVsbCBEbGciIGluIHRoZSBPcGVuIEZpbGUgZGlhbG9nIHRlbXBsYXRlcyBhcyBpbiBXaW5kb3dzCisJLSBSZXNpemUgY2hpbGQgZGlhbG9nIHdoZW4gaXRzIGNvbnRyb2xzIGFyZSBtb3ZlZCByZWxhdGl2ZWx5IHN0YzMyCisJICAibWFnaWMiIGNvbnRyb2wuCisKKwkqIGRsbHMvcnNhYmFzZS9tYWluLmM6IE1pY2hhZWwgSnVuZyA8bWp1bmdAaXNzLnR1LWRhcm1zdGFkdC5kZT4KKwlSZWdpc3RlciBUeXBlTmFtZSByZWdpc3RyeSBrZXkgdmFsdWUuCisKKwkqIGRsbHMvYWR2YXBpMzIvY3J5cHQuYzogSmFtZXMgSGF3a2lucyA8dHJ1aWtlbkBnbWFpbC5jb20+CisJRml4IGFsbG9jIHRlc3QgaW4gQ3J5cHRFbnVtUHJvdmlkZXJUeXBlc1cgdGhhdCBmYWlsZWQgaWYgdGhlIGFsbG9jCisJc3VjY2VlZGVkLgorCisJKiBkbGxzL2FkdmFwaTMyL3Rlc3RzL2NyeXB0LmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCUZpeGVkIGEgZmV3IGNyeXB0IHRlc3QgYnVncy4KKworCSogZGxscy93aW5tbS90ZXN0cy9taXhlci5jLCBkbGxzL3dpbm1tL3Rlc3RzL3dhdmUuYzoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZGVkIHRlc3QgZm9yIFdBVkVGT1JNQVRFWFRFTlNJQkxFIHN1cHBvcnQuCisJRXJyb3IgbWVzc2FnZSBjbGVhbnVwLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlBZGRlZCBXQVZFRk9STUFURVhURU5TSUJMRSBzdXBwb3J0LgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL2tzLmgsIGluY2x1ZGUva3NndWlkLmgsCisJICBpbmNsdWRlL2tzbWVkaWEuaDoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUFkZHMgZW5vdWdoIG9mIGtzLmgsIGtzZ3VpZC5oIGFuZCBrc21lZGlhLmggdG8gc3RhcnQgYWRkaW5nIHN1cHBvcnQKKwlmb3IgV0FWRUZPUk1BVEVYVEVOU0lCTEUuCisKKwkqIGRsbHMvbnRkbGwvZmlsZS5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU3R1YiBpbXBsZW1lbnRhdGlvbiBhbmQgZGVjbGFyYXRpb24gZm9yIE50Q3JlYXRlTmFtZWRQaXBlRmlsZS4KKworCSogZGxscy9tbGFuZy9tbGFuZy5jLCBkbGxzL21sYW5nL3Rlc3RzL21sYW5nLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgSU11bHRpTGFuZ3VhZ2UyX0dldENoYXJzZXRJbmZvLCBhZGQgYSB0ZXN0IGNhc2UgZm9yIGl0LgorCisJKiBkbGxzL2FkdmFwaTMyL3NlY3VyaXR5LmMsIGRsbHMvYWR2YXBpMzIvdGVzdHMvc2VjdXJpdHkuYywKKwkgIGluY2x1ZGUvYWNsYXBpLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURlY2xhcmF0aW9uLCBpbXBsZW1lbnRpb24gYW5kIHRlc3QgZm9yIEJ1aWxkVHJ1c3RlZVdpdGhTaWQuCisKKwkqIGRsbHMvcXVhcnR6L3Bpbi5jOiBSb2JlcnQgU2hlYXJtYW4gPHJvYkBjb2Rld2VhdmVycy5jb20+CisJRml4IHBvdGVudGlhbCByYWNlIGluIElQaW5JbXBsX0Nvbm5lY3RlZFRvLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzoKKwlNYWtlIHN1cmUgd2UgY2hlY2sgZm9yIGVncmVwIGJlZm9yZSB3ZSB1c2UgaXQuCisKKwkqIGRsbHMvb3BlbmdsMzIvd2dsLmMsIGRsbHMvb3BlbmdsMzIvd2dsLmgsIGluY2x1ZGUvd2luZGVmLmgsCisJICBpbmNsdWRlL3dpbmdkaS5oOgorCUFuZHJlYXMgTW9ociA8YW5kaUByaGx4MDEuZmh0LWVzc2xpbmdlbi5kZT4KKwlNb3ZlIHNvbWUgT3BlbkdMIGRlZmluZXMgZnJvbSB0aGUgcHJpdmF0ZSB3Z2wuaCBoZWFkZXIgdG8gd2hlcmUgdGhleQorCWJlbG9uZy4KKworCSogZGxscy9xdWFydHovYXZpc3BsaXQuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZGVkIGhhbmRsaW5nIG9mICdpZHgxJyAoaW5kZXgpIGNodW5rLgorCUFkZGVkIGhhbmRsaW5nIG9mICdyZWMgJyBsaXN0IHRoYXQgZW1iZWRzIHN0cmVhbXMgZGF0YS4KKwlEaXNhYmxlZCBjaGVja2luZyBvZiB0aGUgVFdPQ0Mgb2Ygc3RyZWFtcyBkYXRhIGNodW5rLiBJdCBpcyBub3QKKwlyZWxldmFudCBpbiBhdmkgZmlsZXMuCisJT25seSByZWxlYXNlIG1lZGlhIHNhbXBsZSB3aGVuIHRoZSBkZWxpdmVyeSB0byB0aGUgZG93bnN0cmVhbSBmaWx0ZXIKKwlkb2VzIG5vdCBzdWNjZWVkZWQuCisJU29tZSBjbGVhbi11cC4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWxlX0NzLnJjLCBkbGxzL2F2aWZpbDMyL3JzcmMucmMsCisJICBkbGxzL2NvbWN0bDMyL2NvbWN0bF9Dcy5yYywgZGxscy9jb21jdGwzMi9yc3JjLnJjLCBkbGxzL21wci9tcHIucmMsCisJICBkbGxzL21wci9tcHJfQ3MucmMsIGRsbHMvbXNhY20vbXNhY20ucmMsIGRsbHMvbXNhY20vbXNhY21fQ3MucmMsCisJICBkbGxzL21zcmxlMzIvbXNybGVfQ3MucmMsIGRsbHMvbXNybGUzMi9yc3JjLnJjLAorCSAgZGxscy9vbGVkbGcvb2xlZGxnX0NzLnJjLCBkbGxzL29sZWRsZy9yc3JjLnJjLCBkbGxzL3NlcmlhbHVpL0NzLnJjLAorCSAgZGxscy9zZXJpYWx1aS9zZXJpYWx1aV9yYy5yYywgZGxscy9zZXR1cGFwaS9Dcy5yYywKKwkgIGRsbHMvc2V0dXBhcGkvc2V0dXBhcGkucmMsIGRsbHMvd2luZXBzL3JzcmMucmMsCisJICBkbGxzL3dpbmVwcy93cHNfQ3MucmMsIGRsbHMvd2luaW5ldC9yc3JjLnJjLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXRfQ3MucmMsIGRsbHMvd2lubW0vd2lubW1fQ3MucmMsCisJICBkbGxzL3dpbm1tL3dpbm1tX3Jlcy5yYzoKKwlEYXZpZCBLcmVkYmEgPGtyZWRiYUBpYm90LmNhcy5jej4KKwlBZGRlZCBDemVjaCByZXNvdXJjZXMuCisKKwkqIGluY2x1ZGUvcHJzaHQuaCwgd2luZG93cy9zcHkuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCURlZmluZSBuZXcgcHJvcHNoZWV0IG1lc3NhZ2VzLgorCisJKiBkbGxzL2Rzb3VuZC9idWZmZXIuYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlEZWxldGUgYnVmZmVyIGFycmF5IHdoZW4gcmVsZWFzaW5nIGxhc3QgYnVmZmVyLgorCisJKiBkbGxzL2Rzb3VuZC9jYXB0dXJlLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWxsb3cgcHJvcGVyIHJlbGVhc2Ugd2hpbGUgY2FwdHVyaW5nLgorCisJKiBkbGxzL250ZGxsL3NlYy5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCUZpeCBpbmNvcnJlY3Qgc2l6ZW9mIGluIFJ0bENyZWF0ZVNlY3VyaXR5RGVzY3JpcHRvcigpLgorCisJKiBkbGxzL2FkdmFwaTMyL2FkdmFwaTMyLnNwZWM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc29tZSBzdHViIGRlY2xhcmF0aW9ucy4KKworCSogZG9jdW1lbnRhdGlvbi9mYXEuc2dtbDogVG9tIFdpY2tsaW5lIDx0d2lja2xpbmVAc2l0ZXN0YXIubmV0PgorCVJlbW92ZSByZXdpbmQgc2VjdGlvbiBkdWUgdG8gbGFjayBvZiB1cGRhdGVzLgorCVJlbW92ZSBvbGQgbGlzdCBvZiBjb250cmlidXRvcnMgdGhhdCBnYXZlIHRvIHRoZSB3cGYuCisJTGluayB0byBoaXN0b3J5IHBhZ2UgaW4gcXVlc3Rpb24gYXNraW5nIGFib3V0IHdpbmUncyBoaXN0b3J5LgorCUNoYW5nZSBXaW5lWCBuYW1lIHRvIENlZGVnYS4KKwlVc2UgY3VycmVudCB3aW5lIHZlcnNpb24gaW4gYW5zd2VyLgorCisJKiBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJRml4IGEgY3Jhc2ggc2F2aW5nIGEgZmlsZSB3aXRob3V0IGZpbGUgbmFtZSBleHRlbnNpb24gYW5kIHdpdGhvdXQKKwlleHRlbnNpb24gZmlsdGVyLgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZmlsZW9wLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlDbGVhbiB1cCBtZXNzeSBjb21tZW50IGluIFNIRmlsZU9wZXJhdGlvbi4KKwlSZWR1Y2UgdGhlIG51bWJlciBvZiBnb3RvIGxhYmVscyBpbiBTSEZpbGVPcGVyYXRpb24gYnkgb25lLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOiBaYWNoIEdvcm1hbiA8emFjaEBhcmNoZXR5cGVhdWN0aW9uLmNvbT4KKwlQcm9wc2hlZXQgcGFnZXMgbmVlZCBXU19FWF9DT05UUk9MUEFSRU5UIHN0eWxlLgorCisJKiBkbGxzL21sYW5nL21sYW5nLmMsIGRsbHMvbWxhbmcvbWxhbmcuc3BlYzoKKwlTdGV2ZW4gRWR3YXJkcyA8c3RldmVuX2VkNDE1M0B5YWhvby5jb20+CisJQWRkZWQgc3R1YnMgZm9yIExjaWRUb1JmYzE3NjZbQS9XXS4KKworCSogZGxscy9xdWFydHovcGluLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlGaXhlZCBhIGJ1ZyB0aGF0IG1hZGUgdGhlIGNvbm5lY3Rpb24gcG9zc2libGUgd2hlcmVhcyBubyBzdWl0YWJsZQorCW1lZGlhIHR5cGUgaGFzIGJlIGZvdW5kIGR1cmluZyB0aGUgbmVnb3RpYXRpb24uCisJRml4ZWQgdGhlIHJlbGVhc2Ugb2YgdGhlIG1lZGlhIHNhbXBsZSBpbiBQdWxsUGluX1RocmVhZF9Qcm9jZXNzLgorCUFkZGVkIGFuZCBmaXhlZCBhIGxvdCBvZiB0cmFjZXMuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvZGV2Z3VpZC5oOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJZGV2Z3VpZC5oIGRlZmluZXMgZGV2aWNlIGNsYXNzIEdVSURzIHVzZWQgaW4gZGV2aWNlIGRldGVjdGlvbiBhbmQKKwljbGFzc2lmaWNhdGlvbi4KKworCSogaW5jbHVkZS9udGRkc3Rvci5oOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUFkZCBzb21lIEdVSURzIGZyb20gdGhlIHdpbjJrIERESyB0aGF0IGFyZSB1c2VkIGZvciBVU0IgZGV2aWNlcy4KKworCSogZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jLCBpbmNsdWRlL250c2VjYXBpLmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU1vdmUgZGVjbGFyYXRpb24gb2YgTFNBKiBzdHJ1Y3RzIHRvIG50c2VjYXBpLmguCisKKwkqIGRsbHMvc2hlbGwzMi90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy91c2VyL3Rlc3RzL2dlbmVyYXRlZC5jLAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV90ZXN0OgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUFkZCB0aGUgQ0NISUxEUkVOX1RJVExFQkFSKzEgYW5kIE5VTV9QT0lOVFMgbWFjcm9zLgorCUFkZCBhIGNvdXBsZSBiYXNlIHR5cGVzIHRoYXQgd2luYXBpX3Rlc3QgZG9lcyBub3Qga25vdyBob3cgdG8gcGFyc2UuCisJRml4IGEgYnVnIHNvIHRoYXQgJ3NpZ25lZCcgYW5kICd1bnNpZ25lZCcgYXJlIHJlY29nbmlzZWQgYXMgdmFsaWQKKwl0eXBlcy4KKworMjAwNC0wOC0xMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogQU5OT1VOQ0UsIENoYW5nZUxvZywgVkVSU0lPTiwgY29uZmlndXJlOiBSZWxlYXNlIDIwMDQwODEzLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyMDA0LTA4LTEzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiBkbGxzL3dpbmVkb3MvaW50MjEuYywgZGxscy93aW5lZG9zL3ZnYS5jOgpkaWZmIC0tZ2l0IGEvVkVSU0lPTiBiL1ZFUlNJT04KaW5kZXggYjliNjJhMS4uMDI4YjBiYSAxMDA2NDQKLS0tIGEvVkVSU0lPTgorKysgYi9WRVJTSU9OCkBAIC0xICsxIEBACi1XaW5lIHZlcnNpb24gMjAwNDA4MTMKK1dpbmUgdmVyc2lvbiAyMDA0MDkxNApkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IGM3MGYyMjYuLjUyNGY0ZmIgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OSBmb3IgV2luZSAyMDA0MDgxMy4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5IGZvciBXaW5lIDIwMDQwOTE0LgogIwogIyBSZXBvcnQgYnVncyB0byA8d2luZS1kZXZlbEB3aW5laHEub3JnPi4KICMKQEAgLTI2OSw4ICsyNjksOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J1dpbmUnCiBQQUNLQUdFX1RBUk5BTUU9J3dpbmUnCi1QQUNLQUdFX1ZFUlNJT049JzIwMDQwODEzJwotUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwNDA4MTMnCitQQUNLQUdFX1ZFUlNJT049JzIwMDQwOTE0JworUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwNDA5MTQnCiBQQUNLQUdFX0JVR1JFUE9SVD0nd2luZS1kZXZlbEB3aW5laHEub3JnJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc4OCw3ICs3ODgsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwNDA4MTMgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDA0MDkxNCB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC04NTMsNyArODUzLDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDQwODEzOiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDA0MDkxNDoiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC05ODIsNyArOTgyLDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1XaW5lIGNvbmZpZ3VyZSAyMDA0MDgxMworV2luZSBjb25maWd1cmUgMjAwNDA5MTQKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OQogCiBDb3B5cmlnaHQgKEMpIDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC05OTYsNyArOTk2LDcgQEAKIFRoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGlsZXJzIHdoaWxlCiBydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgogCi1JdCB3YXMgY3JlYXRlZCBieSBXaW5lICRhc19tZSAyMDA0MDgxMywgd2hpY2ggd2FzCitJdCB3YXMgY3JlYXRlZCBieSBXaW5lICRhc19tZSAyMDA0MDkxNCwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICAkICQwICRACkBAIC0yMDQ2MCw3ICsyMDQ2MCw3IEBACiB9ID4mNQogY2F0ID4mNSA8PF9DU0VPRgogCi1UaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDQwODEzLCB3aGljaCB3YXMKK1RoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgV2luZSAkYXNfbWUgMjAwNDA5MTQsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgQ09ORklHX0ZJTEVTICAgID0gJENPTkZJR19GSUxFUwpAQCAtMjA1MjMsNyArMjA1MjMsNyBAQAogCiBjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRgogYWNfY3NfdmVyc2lvbj0iXFwKLVdpbmUgY29uZmlnLnN0YXR1cyAyMDA0MDgxMworV2luZSBjb25maWcuc3RhdHVzIDIwMDQwOTE0CiBjb25maWd1cmVkIGJ5ICQwLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTksCiAgIHdpdGggb3B0aW9ucyBcXCJgZWNobyAiJGFjX2NvbmZpZ3VyZV9hcmdzIiB8IHNlZCAncy9bXFwiIlxgXCRdL1xcXFwmL2cnYFxcIgogCg==