ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggOTM5YmIzNy4uMmZmMWVlMyAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgMjAwMjEwMzEgb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24KK1RoaXMgaXMgcmVsZWFzZSAyMDAyMTEyNSBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgogVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKIGFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKIGNvcnJlY3RseS4KQEAgLTYsMTIgKzYsMTEgQEAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAid2luZS1wYXRjaGVzQHdpbmVocS5jb20iLiAgUGxlYXNlIGRvbid0CiBmb3JnZXQgdG8gaW5jbHVkZSBhIENoYW5nZUxvZyBlbnRyeS4KIAotV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMjEwMzE6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQotICAgICAgICAtIENvbXBsZXRlIGxpc3R2aWV3IG92ZXJoYXVsLgotICAgICAgICAtIEJlZ2lubmluZ3Mgb2YgcmVhbCBSUEMgc3VwcG9ydC4KLSAgICAgICAgLSBNb3N0IGRsbHMgbm93IGJ1aWxkIHByb3Blcmx5IGluIFNUUklDVCBtb2RlLgotICAgICAgICAtIEludGVyLXByb2Nlc3Mgd2luZG93IGFjdGl2YXRpb24gYW5kIGZvY3VzIGhhbmRsaW5nLgotICAgICAgICAtIE1hbnkgaW1wcm92ZW1lbnRzIHRvIEFWSSBzdXBwb3J0LgorV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMjExMjU6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorCS0gRmluaXNoZWQgY29udmVyc2lvbiB0byBTVFJJQ1QgY29tcGlsYXRpb24gbW9kZS4KKwktIFdpbkhlbHAgcmV2aXZhbC4KKwktIENsaWVudC1zaWRlIGZvbnRzIHN1cHBvcnRlZCBldmVuIHdpdGhvdXQgUkVOREVSIGV4dGVuc2lvbi4KKwktIFJlZ3Jlc3Npb24gdGVzdHMgbm8gbG9uZ2VyIHJlcXVpcmUgUGVybC4KIAktIExvdHMgb2YgYnVnIGZpeGVzLgogCiBTZWUgdGhlIFJFQURNRSBmaWxlIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCkBAIC0yMCwxNiArMTksMTUgQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDIxMDMxLnRhci5negotICBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAyMTAzMS50YXIuZ3oKLSAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS91bml4L2xpbnV4L21pcnJvcnMvc3Vuc2l0ZS51bmMuZWR1L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAyMTAzMS50YXIuZ3oKLSAgZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjEwMzEudGFyLmd6CisgIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAyMTEyNS50YXIuZ3oKKyAgZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjExMjUudGFyLmd6CisgIGZ0cDovL2Z0cC5mdS1iZXJsaW4uZGUvdW5peC9saW51eC9taXJyb3JzL3N1bnNpdGUudW5jLmVkdS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjExMjUudGFyLmd6CisgIGZ0cDovL29yY3VzLnByb2dzb2MudXRzLmVkdS5hdS9wdWIvV2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDIxMTI1LnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCi1Gb3IgbW9yZSBkb3dubG9hZCBsb2NhdGlvbnMsIHNlZSBodHRwOi8vZnRwc2VhcmNoLmx5Y29zLmNvbS4gVGhlc2UKLWxvY2F0aW9ucyBhbHNvIGhvbGQgcHJlLWJ1aWx0IGRvY3VtZW50YXRpb24gcGFja2FnZXMgaW4gdmFyaW91cwotZm9ybWF0czogd2luZS1kb2MtaHRtbC50YXIuZ3osIHdpbmUtZG9jLXR4dC50YXIuZ3osIHdpbmUtZG9jLnBkZi5negotYW5kIHdpbmUtZG9jLnBzLmd6LgorVGhlc2UgbG9jYXRpb25zIGFsc28gaG9sZCBwcmUtYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWNrYWdlcyBpbiB2YXJpb3VzCitmb3JtYXRzOiB3aW5lLWRvYy1odG1sLnRhci5neiwgd2luZS1kb2MtdHh0LnRhci5neiwKK3dpbmUtZG9jLXBkZi50YXIuZ3ogYW5kIHdpbmUtZG9jLXBzLnRhci5nei4KIAogWW91IGNhbiBhbHNvIGdldCB0aGUgY3VycmVudCBzb3VyY2UgZGlyZWN0bHkgZnJvbSB0aGUgQ1ZTIHRyZWUuIENoZWNrCiBodHRwOi8vd3d3LndpbmVocS5jb20vZGV2ZWxvcG1lbnQvIGZvciBkZXRhaWxzLgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDNlODA2MzAuLjMxNzQ0MDkgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNCArMSwxMzI2IEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyMDAyLTExLTI1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgaW5jbHVkZS9jb25maWcuaC5pbiwgbGlicmFyeS9wb3J0LmMsCisJICBzY2hlZHVsZXIvcHRocmVhZC5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIHB0aHJlYWRzIG9uIEZyZWVCU0QgKGJhc2VkIG9uIHBhdGNoIGJ5IEFsZXhhbmRyZSBKdWxsaWFyZCkuCisKKwkqIHdpbmRvd3MvZGlhbG9nLmM6IEFkZGVkIENTX0RCTENMS1Mgc3R5bGUgdG8gZGlhbG9nIHdpbmRvdyBjbGFzcy4KKworCSogb2JqZWN0cy9mb250LmM6IFNoYWNoYXIgU2hlbWVzaCA8d2luZS1wYXRjaGVzQHN1bi5jb25zdW1lci5vcmcuaWw+CisJQ2hhbmdlIHNvbWUgb2YgdGhlIG51bWJlciBzZXBlcmF0b3JzIHRvICJOZXV0cmFsIiByYXRoZXIgdGhhbiAiTGVmdCB0bworCXJpZ2h0Ii4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgaW5jbHVkZS93aW5iYXNlLmgsIHNjaGVkdWxlci90aW1lci5jOgorCVN0ZXZlIEx1c3RiYWRlciA8c3RldmUubHVzdGJhZGVyQHBoaWxpcHMuY29tPgorCVN0dWJzIGZvciBDcmVhdGVUaW1lclF1ZXVlIGFuZCBEZWxldGVUaW1lclF1ZXVlRXguCisKKwkqIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywgZGxscy9hZHZhcGkzMi9zZXJ2aWNlLmMsCisJICBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGluY2x1ZGUvd2luc3ZjLmg6CisJU3RldmUgTHVzdGJhZGVyIDxzdGV2ZS5sdXN0YmFkZXJAcGhpbGlwcy5jb20+CisJQXNzb3J0ZWQgV2luMmsvV2luWFAgc3R1YnMuCisKKwkqIGRsbHMvbXN2Y3J0L2ZpbGUuYywgZGxscy9tc3ZjcnQvbXN2Y3J0LnNwZWM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJQ29udmVydGVkIGltcGxlbWVudGF0aW9uIG9mIF9sc2VlayB0byBfbHNlZWtpNjQsIGltcGxlbWVudGVkIF9sc2VlayBieQorCWNhbGxpbmcgX2xzZWVraTY0LgorCisJKiBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwKKwkgIGluY2x1ZGUvd2lubnQuaCwgc2VydmVyL2hhbmRsZS5jLCBzZXJ2ZXIvb2JqZWN0LmgsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvcmVnaXN0cnkuYywgc2VydmVyL3JlcXVlc3QuaCwKKwkgIHNlcnZlci90cmFjZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnRlZCByZWdpc3RyeSBjaGFuZ2Ugbm90aWZpY2F0aW9ucy4KKworCSogZ3JhcGhpY3MveDExZHJ2L2dyYXBoaWNzLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCVgxMURSVl9EcmF3QXJjOiBEb24ndCBvdmVyd3JpdGUgdGhlIEVORENBUCBzdHlsZS4KKworCSogZ3JhcGhpY3MveDExZHJ2L3Blbi5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlYMTFEUlZfU2VsZWN0UGVuKCk6IERvbid0IHVzZSBhIHBlbiB3aXRoIGhhbGYgdGhlIHdpZHRoLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOgorCUFuZHJlYXMgTW9ociA8YW5kaUByaGx4MDEuZmh0LWVzc2xpbmdlbi5kZT4KKwlBZGRlZCB0aGUgbWlzc2luZyBjeCBtZW1iZXIgdG8gdGhlIE15RExHSVRFTVRFTVBMQVRFRVggc3RydWN0LgorCisJKiBkbGxzL21zdmNydC9maWxlLmMsIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUNvbnZlcnRlZCBpbXBsZW1lbnRhdGlvbiBvZiBfc3RhdCBhbmQgX2ZzdGF0IHRvIF9zdGF0aTY0IGFuZAorCV9mc3RhdGk2NC4KKwlJbXBsZW1lbnRlZCBfc3RhdC9fZnN0YXQgYnkgY2FsbGluZyBfc3RhdGk2NC9fZnN0YXRpNjQuCisKKwkqIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCUFkZCBzdXBwb3J0IGZvciBWYXJBbmQgYmV0d2VlbiBpbnRlZ2Vycy4KKworCSogZGxscy9kZHJhdy9kZHJhdy9tYWluLmMsIGRsbHMvZGRyYXcvZGRyYXdfcHJpdmF0ZS5oLAorCSAgZGxscy9kZHJhdy9kc3VyZmFjZS9tYWluLmMsIGRsbHMvZGRyYXcvaGVscGVyLmM6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwktIFByZXZlbnQgdGhlIGJhY2tidWZmZXIgdG8gYWxzbyBoYXZlIHRoZSBmcm9udGJ1ZmZlciBmbGFnIHNldC4KKwktIExvZyB0aGUgTG9ja2luZyBmbGFncy4KKwktIFByaW50IHN5bWJvbGljIG5hbWUgKGlmIGFueSkgb2YgemVybyB2YWx1ZXMgZm9yIGJpdCBmaWVsZHMgKHRoYW5rcworCSAgQW5kaSkuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL3RocmVhZC5jOgorCU1vdmVkIHNvbWUgR2V0VGhyZWFkVGltZXMgdGVzdHMgb3V0IG9mIHRoZSB0b2RvIGJsb2NrLgorCisJKiBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNjaGVkdWxlci90aHJlYWQuYywKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci90aHJlYWQuYywgc2VydmVyL3RocmVhZC5oLAorCSAgc2VydmVyL3RyYWNlLmM6CisJUnlhbiBDdW1taW5nIDxyeWFuQGNvbXBsZXRlbHkua2lja3MtYXNzLm9yZz4KKwlQYXJ0aWFsbHkgaW1wbGVtZW50IEdldFRocmVhZFRpbWVzLgorCisJKiBtaXNjL3JlZ2lzdHJ5LmM6IFdhcm5pbmdzIGZpeGVzLgorCisJKiBkbGxzL2tlcm5lbC90aW1lLmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZGxscy9udGRsbC90aW1lLmMsCisJICBpbmNsdWRlL3dpbnRlcm5sLmg6CisJR3n2cmd5ICdOb2cnIEplbmV5IDxub2dAc2RmLmxvbmVzdGFyLm9yZz4KKwktIE1vdmUgU2V0U3lzdGVtVGltZSwgR2V0VGltZVpvbmVJbmZvcm1hdGlvbiBhbmQKKwkgIFNldFRpbWVab25lSW5mb3JtYXRpb24gaW1wbGVtZW50YXRpb24gdG8gbnRkbGwuCisJLSBEb2N1IHVwZGF0ZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlMVk5fR0VURElTUElORk8gc2VlbXMgdG8gYWx3YXlzIGJlIEFuc2kuCisKKwkqIG9iamVjdHMvZGliLmM6IFN0ZXZlIEx1c3RiYWRlciA8c3RldmUubHVzdGJhZGVyQHBoaWxpcHMuY29tPgorCVN0cmV0Y2hESUJpdHM6IGF2b2lkIGNyYXNoIG9uIG51bGwgcG9pbnRlcnMuCisKKwkqIGNvbnRyb2xzL3Njcm9sbC5jOiBSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCUFkZCBzdXBwb3J0IGZvciBwYWludGluZyBTQlNfU0laRUJPWCBzdHlsZSBwcm9wZXJseS4KKworMjAwMi0xMS0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2luZWRvcy9NYWtlZmlsZS5pbiwgZGxscy93aW5lZG9zL2Rvc2V4ZS5oLAorCSAgZGxscy93aW5lZG9zL2ludDExLmMsIGRsbHMvd2luZWRvcy9pbnQxNS5jLCBkbGxzL3dpbmVkb3MvaW50NWMuYywKKwkgIGRsbHMvd2luZWRvcy9pbnRlcnJ1cHRzLmMsIGluY2x1ZGUvbWlzY2VtdS5oLCBtc2Rvcy9kcG1pLmMsCisJICBtc2Rvcy9pbnQxMS5jLCBtc2Rvcy9pbnQxNS5jLCBtc2Rvcy9pbnQ1Yy5jOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlNb3ZlZCBoYW5kbGVycyBmb3IgaW50MTEsIGludDE1IGFuZCBpbnQ1YyB0byB3aW5lZG9zLgorCisJKiBkbGxzL2RkcmF3L2QzZGRldmljZS9tZXNhLmMsIGRsbHMvZGRyYXcvZDNkdGV4dHVyZS5jLAorCSAgZGxscy9kZHJhdy9kaXJlY3QzZC9tYWluLmMsIGRsbHMvZGRyYXcvZGlyZWN0M2QvbWFpbi5oLAorCSAgZGxscy9kZHJhdy9kaXJlY3QzZC9tZXNhLmMsIGRsbHMvZGRyYXcvbWVzYV9wcml2YXRlLmg6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwktIGFkZCBpbXBsZW1lbnRhdGlvbiBmb3IgRmluZERldmljZSBmdW5jdGlvbgorCS0gc29tZSBtaXNjZWxsYW5lb3VzIGNsZWFuLXVwcyAvIGFkZGl0aW9ucworCisJKiBtaXNjL3JlZ2lzdHJ5LmM6CisJUmVwbGFjZSBtb3N0IFBST0ZJTEVfR2V0V2luZUluaSBjYWxscyBieSBkaXJlY3QgcmVnaXN0cnkgYWNjZXNzZXMuCisJS2VlcCB0aGUgY29uZmlnIGtleSBvcGVuIHRvIHF1ZXJ5IGFsbCB2YWx1ZXMgaW5zdGVhZCBvZiByZS1vcGVuaW5nIGl0CisJYWxsIHRoZSB0aW1lLgorCisJKiBkb2N1bWVudGF0aW9uL01ha2VmaWxlLmluOgorCUFkZGVkIGRpc3QgcnVsZSBmb3IgYnVpbGRpbmcgdGhlIGRpc3RyaWJ1dGlvbiB0YXJiYWxscy4KKworCSogZGxscy9zaGVsbDMyL3N5c3RyYXkuYzoKKwlBZGRlZCBDU19EQkxDTEtTIHNvIHRoYXQgc3lzdHJheSByZWNlaXZlcyBkb3VibGUgY2xpY2tzLgorCisJKiBkbGxzL3dpbmVkb3MvaW50MTAuYywgZGxscy93aW5lZG9zL2ludDMzLmMsIGRsbHMvd2luZWRvcy92Z2EuYywKKwkgIGRsbHMvd2luZWRvcy92Z2EuaDoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJVkdBIHRleHQgbW9kZSBubyBsb25nZXIgZmxpY2tlcnMgYW5kIGl0IGlzIG11Y2ggZmFzdGVyLgorCVZHQSB0ZXh0IG1vZGUgaXMgbm93IGluaXRpYWxpemVkIGVhcmxpZXIuCisJVkdBIHRleHQgbW9kZSBpcyBub3cgZW11bGF0ZWQgZXZlbiB3aXRob3V0IGNvbnNvbGUuCisKKwkqIGRsbHMvdXNlci9ob29rLmM6IEJpbGwgTWVkbGFuZCA8bWVkYmkwMUBhY2NwYWMuY29tPgorCUNvcnJlY3QgVW5ob29rV2luZG93c0hvb2s6IGNsZWFyIHRoZSBoYW5kbGUgc28gdGhhdCB0aGUgc2VydmVyIGRvZXNuJ3QKKwl0cnkgdG8gdXNlIGl0LgorCisJKiBkbGxzL2RkcmF3L2QzZGRldmljZS9tZXNhLmMsIGRsbHMvZGRyYXcvZDNkZXhlY3V0ZWJ1ZmZlci5jLAorCSAgZGxscy9kZHJhdy9kaXJlY3QzZC9tYWluLmMsIGRsbHMvZGRyYXcvZGlyZWN0M2QvbWVzYS5jOgorCUNocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlSZWVuYWJsZSBPcGVuR0wgc3VyZmFjZSdzIGZsaXAgbWV0aG9kLgorCVJlZW5hYmxlIGV4ZWN1dGUgYnVmZmVycy4KKwlTb21lIGJ1ZyBmaXhlcy4KKworCSogZGxscy9kaW5wdXQvZGlucHV0X21haW4uYzogSmVucyBIb2ZmbWFubiA8aG9mZm1hanNAZ214LmRlPgorCVBhc3MgY29ycmVjdCBpbnN0YW5jZSBpbiBrZXlib2FyZF9ob29rIHNldHVwLgorCisJKiB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL21zZ2JveC5jLCB3aW5kb3dzL25vbmNsaWVudC5jLCB3aW5kb3dzL3dpbi5jOgorCU1hdHRoZXcgRGF2aXNvbiA8bS5kYXZpc29uQHZpcmdpbi5uZXQ+CisJRml4IHNvbWUgdW5pY29kZS0+YXNjaWkgY2FsbHMuCisKKwkqIHRvb2xzL3dpZGwvcGFyc2VyLnk6IEdlcmFsZCBQZmVpZmVyIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgorCUF2b2lkIHVzaW5nIGxhYmVscyBhdCB0aGUgZW5kIG9mIGNvbW1wb3VuZCBzdGF0ZW1lbnRzLgorCisyMDAyLTExLTIzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBmaWxlcy9wcm9maWxlLmMsIGluY2x1ZGUvZmlsZS5oLCBsb2FkZXIvbWFpbi5jOgorCVJlbW92ZWQgbm8gbG9uZ2VyIG5lZWRlZCBQUk9GSUxFX0xvYWRXaW5lSW5pKCkuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbmVkb3MvTWFrZWZpbGUuaW4sIGRsbHMvd2luZWRvcy9kb3NleGUuaCwKKwkgIGRsbHMvd2luZWRvcy9pbnQyZi5jLCBkbGxzL3dpbmVkb3MvaW50ZXJydXB0cy5jLCBpbmNsdWRlL21pc2NlbXUuaCwKKwkgIG1zZG9zL2ludDJmLmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCU1vdmUgaW50MmYgaGFuZGxlciB0byB3aW5lZG9zLgorCUNsZWFuIHdpbmVkb3MgaGVhZGVycyBhIGJpdC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRvY3VtZW50YXRpb24vLmN2c2lnbm9yZSwKKwkgIGRvY3VtZW50YXRpb24vTWFrZWZpbGUuaW46CisJIFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlUaGUgZGVmYXVsdCBiZWhhdmlvciBvZiAibWFrZSBldmVyeXRoaW5nIiBpcyBub3cgdG8gYnVpbGQgc2VwYXJhdGUKKwlndWlkZXMgcmF0aGVyIHRoYW4gdGhlIGJpZyBvbmUuCisJRGV0ZXJtaW5lcyB0aGUgbmFtZSBvZiB0aGUgaW5zdGFsbGVkIGRvY2Jvb2sgZmlsdGVyIChkYjJodG1sIG9yCisJZG9jYm9vazJodG1sLCBldGMuKSBpbiBjb25maWd1cmUsIGRlZmF1bHRpbmcgdG8gZmFsc2UgaWYgYWJzZW50LgorCisJKiB3aW5kb3dzL2lucHV0LmM6IE1pa2UgSGVhcm4gPG0uaGVhcm5Ac2lnbmFsLnFpbmV0aXEuY29tPgorCUFsdGVyZWQgV01fTU9VU0VIT1ZFUiBzbyB0aGUgbFBhcmFtIGFuZCB3UGFyYW0gZmllbGRzIGFyZSBzZXQKKwljb3JyZWN0bHkgdG8gdmlydHVhbCBrZXkgc3RhdGVzIGFuZCBjdXJzb3IgcG9zaXRpb24uCisKKwkqIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgaW5jbHVkZS93aW5udC5oLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZjoKKwlSZW1vdmVkIHRoZSBXSU5FX05PX1NUUklDVCBzdXBwb3J0LgorCisJKiBpbmNsdWRlL2Jhc2V0c2QuaDogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBbGxvdyBhcHBzIHRvIGRlZmluZSAgX19pbnR7OCwxNiwzMiw2NH0gb24gdGhlIGNvbW1hbmQgbGluZS4KKworMjAwMi0xMS0yMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29udHJvbHMvbWVudS5jOiBGaXhlZCB1c2Ugb2YgSEJNTUVOVV8qIGluIHN3aXRjaCBzdGF0ZW1lbnRzLgorCisJKiBkbGxzL2dkaS9NYWtlZmlsZS5pbiwgZGxscy9nZGkvZHJpdmVyLmMsIGRsbHMvZ2RpL2VuaG1mZHJ2L2luaXQuYywKKwkgIGRsbHMvZ2RpL2ZyZWV0eXBlLmMsIGRsbHMvZ2RpL21mZHJ2L2luaXQuYywgZGxscy9nZGkvcHJpbnRkcnYuYywKKwkgIGRsbHMvZ2RpL3dpbjE2ZHJ2L2ZvbnQuYywgZGxscy9nZGkvd2luMTZkcnYvaW5pdC5jLAorCSAgZGxscy9nZGkvd2luMTZkcnYvdGV4dC5jLCBncmFwaGljcy9iaXRibHQuYywgZ3JhcGhpY3MvbWFwcGluZy5jLAorCSAgZ3JhcGhpY3MvcGFpbnRpbmcuYywgZ3JhcGhpY3MvcGF0aC5jLCBvYmplY3RzL2JpdG1hcC5jLAorCSAgb2JqZWN0cy9icnVzaC5jLCBvYmplY3RzL2NsaXBwaW5nLmMsIG9iamVjdHMvZGMuYywgb2JqZWN0cy9kaWIuYywKKwkgIG9iamVjdHMvZW5obWV0YWZpbGUuYywgb2JqZWN0cy9mb250LmMsIG9iamVjdHMvZ2Rpb2JqLmMsCisJICBvYmplY3RzL21ldGFmaWxlLmMsIG9iamVjdHMvcGFsZXR0ZS5jLCBvYmplY3RzL3JlZ2lvbi5jOgorCU1hZGUgZ2RpIGNvbXBpbGUgd2l0aCAtRFNUUklDVC4KKworCSogZGxscy9nZGkvcHJpbnRkcnYuYywgb2JqZWN0cy9jbGlwcGluZy5jLCBvYmplY3RzL2RjLmMsCisJICBvYmplY3RzL2dkaW9iai5jLCBvYmplY3RzL21ldGFmaWxlLmM6CisJRml4ZWQgYSBudW1iZXIgb2YgLURTVFJJQ1QgaXNzdWVzLgorCisJKiBjb250cm9scy9jb21iby5jLCBjb250cm9scy9lZGl0LmMsIGNvbnRyb2xzL2xpc3Rib3guYywKKwkgIGNvbnRyb2xzL21lbnUuYywgY29udHJvbHMvc2Nyb2xsLmMsIGNvbnRyb2xzL3VpdG9vbHMuYywKKwkgIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgZGxscy91c2VyL2NhcmV0LmMsIGRsbHMvdXNlci9jb21tMTYuYywKKwkgIGRsbHMvdXNlci9mb2N1cy5jLCBkbGxzL3VzZXIvaG9vay5jLCBkbGxzL3VzZXIvZGRlL2NsaWVudC5jLAorCSAgZGxscy91c2VyL2RkZS9taXNjLmMsIGRsbHMvdXNlci9kZGUvc2VydmVyLmMsIGRsbHMvdXNlci9tZXNzYWdlLmMsCisJICBkbGxzL3VzZXIvbWlzYy5jLCBkbGxzL3VzZXIvbXNnMTYuYywgZGxscy91c2VyL3BhaW50aW5nLmMsCisJICBkbGxzL3VzZXIvcmVzb3VyY2UuYywgZGxscy91c2VyL3RleHQuYywgd2luZG93cy9jbGFzcy5jLAorCSAgd2luZG93cy9jbGlwYm9hcmQuYywgd2luZG93cy9jdXJzb3JpY29uLmMsIHdpbmRvd3MvZGNlLmMsCisJICB3aW5kb3dzL2RlZmRsZy5jLCB3aW5kb3dzL2RlZnduZC5jLCB3aW5kb3dzL2RpYWxvZy5jLAorCSAgd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL21lc3NhZ2UuYywKKwkgIHdpbmRvd3Mvbm9uY2xpZW50LmMsIHdpbmRvd3MvcGFpbnRpbmcuYywgd2luZG93cy9zcHkuYywKKwkgIHdpbmRvd3MvdGltZXIuYywgd2luZG93cy91c2VyLmMsIHdpbmRvd3Mvd2luLmMsIHdpbmRvd3Mvd2lucG9zLmMsCisJICB3aW5kb3dzL3dpbnByb2MuYzoKKwlNYWRlIHVzZXIgY29tcGlsZSB3aXRoIC1EU1RSSUNULgorCisJKiBmaWxlcy9wcm9maWxlLmMsIHRvb2xzL3dpbmVpbnN0YWxsOgorCVJlbW92ZWQgc3VwcG9ydCBmb3IgY29udmVydGluZyBvbGQgZm9ybWF0IGNvbmZpZywgZXZlcnlib2R5IHNob3VsZAorCWhhdmUgY29udmVydGVkIGJ5IG5vdy4KKwlSZW1vdmVkIGxvZyBpbmZvIGZyb20gd2luZWluc3RhbGwsIHRoaXMgaW5mbyBpcyBhbHJlYWR5IGluIENoYW5nZUxvZy4KKworCSogY29udHJvbHMvbWVudS5jLCBkbGxzL3VzZXIvZGRlL2NsaWVudC5jLCBkbGxzL3VzZXIvZGRlL2RkZW1sMTYuYywKKwkgIGRsbHMvdXNlci9kZGUvbWlzYy5jLCBkbGxzL3VzZXIvZGRlL3NlcnZlci5jLCBkbGxzL3VzZXIvbWVzc2FnZS5jLAorCSAgaW5jbHVkZS9jdXJzb3JpY29uLmgsIGluY2x1ZGUvdXNlci5oLCB3aW5kb3dzL2NsYXNzLmMsCisJICB3aW5kb3dzL2NsaXBib2FyZC5jLCB3aW5kb3dzL2N1cnNvcmljb24uYywgd2luZG93cy9kY2UuYywKKwkgIHdpbmRvd3MvZGlhbG9nLmMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3Mvc3RydWN0MzIuYywKKwkgIHdpbmRvd3Mvc3lzY29sb3IuYywgd2luZG93cy93aW4uYywgd2luZG93cy93aW5wcm9jLmM6CisJRml4ZWQgbW9yZSAtRFNUUklDVCBpc3N1ZXMuCisKKwkqIGRsbHMvdXNlci90ZXh0LmMsIGRsbHMvdXNlci91c2VyMTYuYzoKKwlQcm9wZXJseSBzcGxpdCB0aGUgMTYtYml0IHZlcnNpb25zIG9mIEdyYXlTdHJpbmcgYW5kIFRhYmJlZFRleHRPdXQuCisKKwkqIGNvbnRyb2xzL2VkaXQuYywgY29udHJvbHMvaWNvbnRpdGxlLmMsIGNvbnRyb2xzL21lbnUuYywKKwkgIGNvbnRyb2xzL3Njcm9sbC5jLCBkbGxzL3VzZXIvY2FyZXQuYywgZGxscy91c2VyL2ZvY3VzLmMsCisJICBkbGxzL3VzZXIvcGFpbnRpbmcuYywgZGxscy91c2VyL3Byb3BlcnR5LmMsIGRsbHMvdXNlci90ZXh0LmMsCisJICBkbGxzL3VzZXIvdXNlcjE2LmMsIHdpbmRvd3MvY2xhc3MuYywgd2luZG93cy9jbGlwYm9hcmQuYywKKwkgIHdpbmRvd3MvZGNlLmMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3Mvc3lzY29sb3IuYywgd2luZG93cy93aW4uYywKKwkgIHdpbmRvd3Mvd2luaGVscC5jLCB3aW5kb3dzL3dpbnByb2MuYzoKKwlNb3ZlZCBzb21lIG1vcmUgMTYtYml0IGZ1bmN0aW9ucyB0byB1c2VyMTYuYy4KKwlBIGZldyBmaXhlcyBmb3IgLURTVFJJQ1QuCisKKwkqIGRsbHMvb2xlMzIvTWFrZWZpbGUuaW4sIGRsbHMvb2xlMzIvY2xpcGJvYXJkLmMsCisJICBkbGxzL29sZTMyL2NvbXBvYmouYywgZGxscy9vbGUzMi9kYXRhY2FjaGUuYywgZGxscy9vbGUzMi9vbGUyLmMsCisJICBkbGxzL29sZTMyL29sZTJzdHVicy5jLCBkbGxzL29sZTMyL29sZTMyX21haW4uYywgZGxscy9vbGUzMi9ycGMuYywKKwkgIGRsbHMvb2xlMzIvc3RvcmFnZS5jOgorCUNvbXBpbGUgb2xlMzIgd2l0aCAtRFNUUklDVC4KKworMjAwMi0xMS0yMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9zaGVsbDMyL01ha2VmaWxlLmluLCBkbGxzL3NoZWxsMzIvYnJzZm9sZGVyLmMsCisJICBkbGxzL3NoZWxsMzIvY2hhbmdlbm90aWZ5LmMsIGRsbHMvc2hlbGwzMi9jb250cm9sLmMsCisJICBkbGxzL3NoZWxsMzIvZGlhbG9ncy5jLCBkbGxzL3NoZWxsMzIvZHJhZ2Ryb3BoZWxwZXIuYywKKwkgIGRsbHMvc2hlbGwzMi9pY29uY2FjaGUuYywgZGxscy9zaGVsbDMyL21lbW9yeXN0cmVhbS5jLAorCSAgZGxscy9zaGVsbDMyL3BpZGwuYywgZGxscy9zaGVsbDMyL3NoZWxsLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYywgZGxscy9zaGVsbDMyL3NoZWxsb2xlLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGxvcmQuYywgZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxscmVnLmMsIGRsbHMvc2hlbGwzMi9zaGZsZHJfZGVza3RvcC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZmxkcl9mcy5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX215Y29tcC5jLAorCSAgZGxscy9zaGVsbDMyL3NobGV4ZWMuYywgZGxscy9zaGVsbDMyL3NobG1lbnUuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGx2aWV3LmMsIGRsbHMvc2hlbGwzMi9zaHZfYmdfY21lbnUuYywKKwkgIGRsbHMvc2hlbGwzMi9zaHZfaXRlbV9jbWVudS5jLCBkbGxzL3NoZWxsMzIvc3lzdHJheS5jOgorCUpvaGFuIERhaGxpbiA8amRhaGxpbkBhc3luYy5jb20uYnI+CisJTWFrZSBzaGVsbDMyIGNvbXBpbGUgd2l0aCAtRFNUUklDVC4KKworCSogZGxscy9jb21tZGxnL01ha2VmaWxlLmluLCBkbGxzL2NvbW1kbGcvY2RsZy5oLAorCSAgZGxscy9jb21tZGxnL2NkbGczMi5jLCBkbGxzL2NvbW1kbGcvY29sb3JkbGcuYywKKwkgIGRsbHMvY29tbWRsZy9maWxlZGxnLmMsIGRsbHMvY29tbWRsZy9maWxlZGxnOTUuYywKKwkgIGRsbHMvY29tbWRsZy9maW5kZGxnMzIuYywgZGxscy9jb21tZGxnL2ZvbnRkbGcuYywKKwkgIGRsbHMvY29tbWRsZy9wcmludGRsZy5jOgorCUFuZHJldyBKb2huIEh1Z2hlcyA8aHVnaGVzMjAwMkBidGludGVybmV0LmNvbT4KKwlNYWtlIGNvbW1kbGcgY29tcGlsZSB3aXRoIC1EU1RSSUNULgorCisJKiB0b29scy93aW5laW5zdGFsbDogTWF0dGhldyBEYXZpc29uIDxtLmRhdmlzb25AdmlyZ2luLm5ldD4KKwlSZW1vdmUgb2Jzb2xldGUgLS1lbmFibGUtb3BlbmdsLgorCisJKiBvYmplY3RzL2NsaXBwaW5nLmMsIG9iamVjdHMvZW5obWV0YWZpbGUuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlGaXhlZCBhbGlhc2luZyBwcm9ibGVtcyAoZG8gbm90IHVzZSAoUE9JTlQqKSZyZWN0IGNvbnN0cnVjdHMpLgorCisJKiBkbGxzL2tlcm5lbC9jb25zb2xlLmMsIGluY2x1ZGUvd2luY29uLmg6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJSGFuZGxlIHRoZSBDT09SRCA8LT4gRFdPUkQgY29udmVyc2lvbiB0aGUgY2Fub25pY2FsIHdheS4KKworCSogZGxscy91c2VyL21lc3NhZ2UuYzogU3RldmUgTHVzdGJhZGVyIDxzdGV2ZS5sdXN0YmFkZXJAcGhpbGlwcy5jb20+CisJSGF2ZSBQb3N0TWVzc2FnZSBjYWxsIFBvc3RUaHJlYWRNZXNzYWdlIHdoZW4gaHduZCBpcyBOVUxMLgorCisJKiBpbmNsdWRlL3dpbnNvY2suaDogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBZGQgZGVmaW5pdGlvbiBmb3IgV1NBRURJU0NPTi4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWM6IFJlbW92ZWQgT3BlbkdMIHRocmVhZCBzYWZldHkgY2hlY2suCisJUmVuYW1lZCBvcHRpb24gdG8gLS13aXRob3V0LW9wZW5nbCBmb3IgY29uc2lzdGVuY3kuCisKKwkqIGRsbHMvZ2RpL2VuaG1mZHJ2L29iamVjdHMuYywgZGxscy9nZGkvbWZkcnYvaW5pdC5jLAorCSAgZGxscy9nZGkvbWZkcnYvb2JqZWN0cy5jLCBkbGxzL2dkaS93aW5nLmMsIGRsbHMvZ2RpL3dpbjE2ZHJ2L2ZvbnQuYywKKwkgIGRsbHMvZ2RpL3dpbjE2ZHJ2L2dyYXBoaWNzLmMsIGRsbHMvZ2RpL3dpbjE2ZHJ2L29iamVjdHMuYywKKwkgIGdyYXBoaWNzL21hcHBpbmcuYywgb2JqZWN0cy9iaXRtYXAuYywgb2JqZWN0cy9icnVzaC5jLAorCSAgb2JqZWN0cy9kY3ZhbHVlcy5jLCBvYmplY3RzL2RpYi5jLCBvYmplY3RzL2VuaG1ldGFmaWxlLmMsCisJICBvYmplY3RzL2ZvbnQuYywgb2JqZWN0cy9tZXRhZmlsZS5jLCBvYmplY3RzL3BhbGV0dGUuYywKKwkgIG9iamVjdHMvcGVuLmMsIG9iamVjdHMvcmVnaW9uLmM6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlTb21lIC1EU1RSSUNUIGZpeGVzLgorCisJKiBpbmNsdWRlL3dpbnNvY2suaDogTWFydGluIFdpbGNrIDxNYXJ0aW4uV2lsY2tARnVqaXRzdS1TaWVtZW5zLmNvbT4KKwlGaXhlZCBjaXJjdWxhciBpbmNsdWRlIHNlcXVlbmNlIHdpbnNvY2suaCAtPiB3aW5kb3dzLmggLT4gd2luc29jazIuaAorCS0+IHdpbnNvY2suaC4KKworCSogd2luZG93cy9jbGFzcy5jOiBTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlNb3ZlZCBpbXBsZW1lbnRhdGlvbiBvZiBHZXQvU2V0Q2xhc3NMb25nIGZyb20gYXNjaWkgdG8gdW5pY29kZS4KKworCSogd2luZG93cy9jdXJzb3JpY29uLmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCVJlcGxhY2VkIENyZWF0ZURDQSBieSBDcmVhdGVEQ1cgaW4gTG9hZEltYWdlVy4KKworCSogZGxscy9kZHJhdy9NYWtlZmlsZS5pbiwgZGxscy9kZHJhdy9kM2RfcHJpdmF0ZS5oLAorCSAgZGxscy9kZHJhdy9kM2RkZXZpY2UvbWFpbi5jLCBkbGxzL2RkcmF3L2QzZGRldmljZS9tYWluLmgsCisJICBkbGxzL2RkcmF3L2QzZGRldmljZS9tZXNhLmMsIGRsbHMvZGRyYXcvZDNkZXhlY3V0ZWJ1ZmZlci5jLAorCSAgZGxscy9kZHJhdy9kM2RsaWdodC5jLCBkbGxzL2RkcmF3L2QzZG1hdGVyaWFsLmMsCisJICBkbGxzL2RkcmF3L2QzZHRleHR1cmUuYywgZGxscy9kZHJhdy9kM2R2ZXJ0ZXhidWZmZXIuYywKKwkgIGRsbHMvZGRyYXcvZDNkdmlld3BvcnQuYywgZGxscy9kZHJhdy9kZGNvbWltcGwuaCwKKwkgIGRsbHMvZGRyYXcvZGRyYXcvbWFpbi5jLCBkbGxzL2RkcmF3L2RkcmF3X3ByaXZhdGUuaCwKKwkgIGRsbHMvZGRyYXcvZGlyZWN0M2QvbWFpbi5jLCBkbGxzL2RkcmF3L2RpcmVjdDNkL21haW4uaCwKKwkgIGRsbHMvZGRyYXcvZGlyZWN0M2QvbWVzYS5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL2RpYi5jLAorCSAgZGxscy9kZHJhdy9kc3VyZmFjZS9tYWluLmMsIGRsbHMvZGRyYXcvbWVzYS5jLAorCSAgZGxscy9kZHJhdy9tZXNhX3ByaXZhdGUuaCwgaW5jbHVkZS9kM2QuaDoKKwlMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCS0gQ2xlYW4gdXAgYWxsIHRoZSBEM0QgQ09NIGhhbmRsaW5nIChidXQgdGhlIHVuZGVybGF5aW5nIGNvZGUgaXMgc3RpbGwKKwkgIGFzIHVnbHkgYXMgYmVmb3JlKS4KKwktIEhhbmRsZSBwcm9wZXJseSAoaWUgYXMgb24gcmVhbCBXaW5kb3dzKSBuZWdhdGl2ZSB2YWx1ZXMgaW4KKwkgIHJlY3RhbmdsZXMgZHVyaW5nIGJsaXR0aW5nLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzoKKwlVc2UgdGhlICcteiBkZWZzJyBsaW5rZXIgb3B0aW9uIGlmIHN1cHBvcnRlZCB0byBiZXR0ZXIgY2F0Y2ggdW5kZWZpbmVkCisJc3ltYm9scy4KKworCSogY29udHJvbHMvZWRpdC5jOiBDYXJsIFNvcGNoYWsgPGNhcmwuc29wY2hha0BjZWdpczEyMy5jb20+CisJSWdub3JlIGJ1ZmZlciBsaW1pdCBvbiBXTV9TRVRURVhULgorCisJKiBkbGxzL2dkaS9nZGkzMi5zcGVjLCBpbmNsdWRlL3dpbmdkaS5oLCBvYmplY3RzL2RjLmM6CisJU3RldmUgTHVzdGJhZGVyIDxzdGV2ZS5sdXN0YmFkZXJAcGhpbGlwcy5jb20+CisJU3R1YiBmb3IgU2V0RENCcnVzaENvbG9yLgorCisJKiBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGRsbHMvTWFrZXRlc3QucnVsZXMuaW4sCisJICBwcm9ncmFtcy9NYWtlcHJvZy5ydWxlcy5pbiwgcHJvZ3JhbXMvYXZpdG9vbHMvTWFrZWZpbGUuaW46CisJQWRkIC1sYyB3aGVuIGxpbmtpbmcgZGxscyB0byBhdm9pZCB3YXJuaW5ncyBvbiBGcmVlQlNELgorCisJKiBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBkbGxzL250ZGxsL2ZpbGUuYywgZGxscy9udGRsbC9oZWFwLmMsCisJICBkbGxzL250ZGxsL21pc2MuYywgZGxscy9udGRsbC9udC5jLCBkbGxzL250ZGxsL29tLmMsCisJICBkbGxzL250ZGxsL3JlZy5jLCBkbGxzL250ZGxsL3J0bC5jLCBkbGxzL250ZGxsL3NlYy5jLAorCSAgZGxscy9udGRsbC9zeW5jLmMsIGRsbHMvbnRkbGwvdmlydHVhbC5jLCBmaWxlcy9kb3NfZnMuYywKKwkgIGZpbGVzL2ZpbGUuYywgZmlsZXMvc21iLmMsIGZpbGVzL3RhcGUuYywgbG9hZGVyL21vZHVsZS5jLAorCSAgbG9hZGVyL25lL21vZHVsZS5jLCBsb2FkZXIvbmUvcmVzb3VyY2UuYywgbG9hZGVyL25lL3NlZ21lbnQuYywKKwkgIGxvYWRlci9wZV9pbWFnZS5jLCBsb2FkZXIvcmVzb3VyY2UuYywgbWVtb3J5L2dsb2JhbC5jLAorCSAgbWlzYy9yZWdpc3RyeS5jLCByZWxheTMyL2J1aWx0aW4zMi5jLCByZWxheTMyL3Nub29wLmMsCisJICBzY2hlZHVsZXIvaGFuZGxlLmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHNjaGVkdWxlci9zeXNsZXZlbC5jLAorCSAgc2NoZWR1bGVyL3RocmVhZC5jLCB3aW4zMi9kZXZpY2UuYywgd2luMzIvZXhjZXB0LmMsIHdpbjMyL25ld2Zucy5jOgorCUFuZHJldyBKb2huIEh1Z2hlcyA8aHVnaGVzMjAwMkBidGludGVybmV0LmNvbT4KKwlCdWlsZCBudGRsbCB3aXRoIC1EU1RSSUNULgorCisJKiBsb2FkZXIvbmUvbW9kdWxlLmM6CisJQWRkZWQgd3JhcHBlciB0byByZXBsYWNlIGxsc2VlaytscmVhZCB0byBhdm9pZCBIQU5ETEUvSEZJTEUKKwljb252ZXJzaW9ucy4KKworCSogdG9vbHMvd2luZWluc3RhbGw6IFNoYWNoYXIgU2hlbWVzaCA8d2luZS1wYXRjaGVzQHN1bi5jb25zdW1lci5vcmcuaWw+CisJLSBJZiBydW5uaW5nIHdpbmVpbnN0YWxsIGFuZCBhc2tpbmcgbm90IHRvIGluc3RhbGwsIHRoZSBzeW1ib2xpYyBsaW5rcworCSAgYXJlIG5vIGNyZWF0ZWQgcG9pbnRpbmcgdG8gdGhlIHNvdXJjZSB0cmVlIGZpbGVzIHJhdGhlciB0byB0aGUKKwkgIChub24tZXhpc3RpbmcpICRsaWJkaXIKKwktIElmIFdpbmRvd3MgaXMgZm91bmQgb24gdGhlIHN5c3RlbSwgdGhlIGluc3RhbGxlciBkb2VzIG5vdCBhc3N1bWUKKwkgIHRoYXQgdGhlIHVzZXIgaXMgaW50ZXJlc3RlZCBpbiB1c2luZyBpdC4gSW5zdGVhZCwgdGhlIHVzZXIgaXMgYXNrZWQsCisJICBhbmQgaWYgc2hlIGFuc3dlcnMgIm5vIiwgV2luZSBpcyBpbnN0YWxsZWQgYXMgaWYgbm8gV2luZG93cyB3YXMKKwkgIGZvdW5kLgorCisJKiB0b29scy93aWRsL2hlYWRlci5jLCB0b29scy93aWRsL3BhcnNlci5sLCB0b29scy93aWRsL3BhcnNlci55LAorCSAgdG9vbHMvd2lkbC9wcm94eS5jLCB0b29scy93aWRsL3dpZGwuYywgdG9vbHMvd2lkbC93aWRsLmg6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJQWRkZWQgImdlbmVyYXRlIGhlYWRlcnMgb25seSIgY29tbWFuZC1saW5lIG9wdGlvbi4gSW1wbGVtZW50ZWQgaW1wb3J0cworCWZyb20gaW5zaWRlIGludGVyZmFjZSBkZWZpbml0aW9ucy4gRml4ZWQgYSBmZXcgcHJvYmxlbXMgd2l0aAorCWdlbmVyYXRpbmcgaGVhZGVyIGZpbGVzIGZvciBDT00gaW50ZXJmYWNlcy4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvd3Byb2NzLnNwZWMsCisJICBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBsb2FkZXIvdGFzay5jLCBtc2Rvcy9pbnQyMS5jLAorCSAgbXNkb3MvaW50ZXJydXB0cy5jLCB3aW5kb3dzL3VzZXIuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJUmVtb3ZlZCBsYXN0IHVzZXJzIG9mIG1zZG9zL2ludGVycnVwdHMuYy4KKworMjAwMi0xMS0yMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL2hvb2suYywgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvaG9vay5jLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3JlcXVlc3QuYywgc2VydmVyL3RyYWNlLmMsCisJICBzZXJ2ZXIvdXNlci5oOgorCUFkZGVkIHN1cHBvcnQgZm9yIHN5c3RlbS13aWRlIGhvb2tzLgorCisJKiBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYzoKKwlSZW1vdmVkIC1ub2ltcG9ydCBvbiBmdW5jdGlvbnMgdGhhdCBhcmUgZm9yd2FyZHMgdG8gbnRkbGwuCisJQWRkZWQgLW5vaW1wb3J0IG9uIGZ1bmN0aW9ucyB0aGF0IGRpcmVjdGx5IGNhbGwgdGhlIGxpYmMgZXF1aXZhbGVudC4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGxfQ24ucmMsIGRsbHMvY29tY3RsMzIvcnNyYy5yYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnX0NuLnJjLCBkbGxzL2NvbW1kbGcvcnNyYy5yYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0NuLnJjLCBkbGxzL3NoZWxsMzIvc2hyZXMucmMsIHRvb2xzL3dtYy9sYW5nLmM6CisJVGlzaGVuZyBDaGVuIDxzaGFkb3dAamNucC5wa3UuZWR1LmNuPgorCUFkZGVkIFNpbXBsaWZpZWQgQ2hpbmVzZSBzdXBwb3J0LgorCisJKiBkbGxzL21zdmlkZW8vZHJhd2RpYi5jLCBkbGxzL21zdmlkZW8vbXN2aWRlbzE2LmMsCisJICBkbGxzL21zdmlkZW8vbXN2aWRlb19tYWluLmMsIGRsbHMvbXN2aWRlby9tc3ZpZGVvX3ByaXZhdGUuaDoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlObyBsb25nZXIgdXNpbmcgV2luMzIgQVBJIHJlbGF0aXZlIHRvIDE2IGJpdCBzdWJzeXN0ZW0gZm9yIHRoZSAzMiBiaXQKKwlwYXJ0LgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvbWlkaS5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlCZXR0ZXIgc3VwcG9ydCBmb3IgbXVsdGlwbGUgbWlkaSBkZXZpY2VzIG9uIHRoZSBPU1MgaW50ZXJmYWNlLgorCisJKiBwcm9ncmFtcy93aW5oZWxwL2hscGZpbGUuYywgcHJvZ3JhbXMvd2luaGVscC9obHBmaWxlLmgsCisJICBwcm9ncmFtcy93aW5oZWxwL21hY3JvLmMsIHByb2dyYW1zL3dpbmhlbHAvc3RyaW5nLmMsCisJICBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuYywgcHJvZ3JhbXMvd2luaGVscC93aW5oZWxwLmg6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJV3JvdGUgYmFjayAmIGhpc3Rvcnkgc3VwcG9ydC4KKwlDb3JyZWN0bHkgaW1wbGVtZW50ZWQgPDwgYW5kID4+IGJ1dHRvbnMuCisJQWRkZWQgc3VwcG9ydCBmb3IgcGFnZSBsZXZlbCBtYWNyb3MuCisKKwkqIHRvb2xzL3dpbmVkdW1wL291dHB1dC5jOiBBbGJlcnRvIE1hc3NhcmkgPGFsYnlAZXhsbi5jb20+CisJd2luZWR1bXAgd2FzIHN0aWxsIHVzaW5nIHRoZSAiaW5pdCIga2V5d29yZCBpbiB0aGUgLnNwZWMgZmlsZS4KKworCSogZGxscy9rZXJuZWwva3JubDM4Ni5leGUuc3BlYywgaW5jbHVkZS9zZWxlY3RvcnMuaCwKKwkgIG1lbW9yeS9zZWxlY3Rvci5jLCBtc2Rvcy92eGQuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJUmVtb3ZlIHNvbWUgV2luMzJzIHNwZWNpZmljIGNvZGUuCisKKwkqIG1zZG9zL2ludDEzLmMsIG1zZG9zL2ludDIwLmMsIGRsbHMva2VybmVsL3dwcm9jcy5zcGVjLAorCSAgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgaW5jbHVkZS9taXNjZW11Lmg6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCVJlbW92ZWQgb2Jzb2xldGUgY29kZS4KKworMjAwMi0xMS0xOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9tc3ZjcnQvbWJjcy5jLCBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYzoKKwlJbXBsZW1lbnRlZCBzb21lIGlzbWJjKiBmdW5jdGlvbnMgKGJhc2VkIG9uIGEgcGF0Y2ggYnkgR3JlZyBUdXJuZXIpLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwgZGxscy9jYWJpbmV0Ly5jdnNpZ25vcmUsCisJICBkbGxzL2NhYmluZXQvTWFrZWZpbGUuaW4sIGRsbHMvY2FiaW5ldC9jYWJpbmV0LnNwZWMsCisJICBkbGxzL2NhYmluZXQvZmNpLmMsIGRsbHMvY2FiaW5ldC9mZGkuYywgaW5jbHVkZS9NYWtlZmlsZS5pbiwKKwkgIGluY2x1ZGUvZmNpLmgsIGluY2x1ZGUvZmRpLmg6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQWRkZWQgc3R1YiBpbXBsZW1lbnRhdGlvbiBvZiBjYWJpbmV0LmRsbC4KKworCSogaW5jbHVkZS9yaWNoZWRpdC5oOiBSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCUFkZCBzb21lIFJpY2hFZGl0IDIuMC8zLjAgZGVmaW5pdGlvbnMuCisKKwkqIGluY2x1ZGUvd2luYmFzZS5oOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFkZGVkIGRlZmluaXRpb24gZm9yIFBlZWtOYW1lZFBpcGUKKwlGaXhlZCBhIGxvdCBvZiBiYWRseSBpbmRlbnRlZCBmdW5jdGlvbnMuCisKKzIwMDItMTEtMTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvZ2RpL01ha2VmaWxlLmluLCBkbGxzL2dkaS9nZGkuZXhlLnNwZWMsCisJICBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwva3JubDM4Ni5leGUuc3BlYywKKwkgIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy9zaGVsbDMyL3NoZWxsLnNwZWMsCisJICBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9kaXNwbGF5LnNwZWMsIGRsbHMvdXNlci9tb3VzZS5zcGVjLAorCSAgZGxscy91c2VyL3VzZXIuZXhlLnNwZWMsIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLAorCSAgdG9vbHMvd2luZWJ1aWxkL21haW4uYywgdG9vbHMvd2luZWJ1aWxkL3BhcnNlci5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW46CisJUmVtb3ZlZCBzdXBwb3J0IGZvciAncnNyYycgc3BlYyBmaWxlIHN0YXRlbWVudC4KKworCSogZGxscy9yaWNoZWRpdC9yZWFkZXIuYywgZGxscy9yaWNoZWRpdC9ydGYuaDoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJR2V0IHJpZCBvZiB0aGUgdmFyYXJnIGFuZCBnZW5lcmljIHN0dWZmLgorCisJKiB0b29scy93aW5hcGkvd2luMTYuYXBpLCB0b29scy93aW5hcGkvd2luMzIuYXBpOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlSZW1vdmVkIHNvbWUgdW51c2VkIHR5cGVzLgorCisJKiBkbGxzL2tlcm5lbC9jb21wdXRlcm5hbWUuYzoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQWRkZWQgbmV0ZGIuaCBwcm90ZWN0aW9uLgorCisJKiBzY2hlZHVsZXIvcHRocmVhZC5jLCBzY2hlZHVsZXIvdGltZXIuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlGaXhlZCBzdHJpY3QgYWxpYXNpbmcgaXNzdWUgaW4gX19wdGhyZWFkX29uY2UgYW5kIFNldFdhaXRhYmxlVGltZXIuCisKKwkqIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIG1zZG9zL2Rvc21lbS5jLCBtc2Rvcy9pbnQxYS5jOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlSZW1vdmVkIGxhc3QgdXNlciBvZiBtc2Rvcy9pbnQxYS5jLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC93cHJvY3Muc3BlYywKKwkgIGRsbHMvd2luZWRvcy9kb3Nhc3BpLmMsIGRsbHMvd2luZWRvcy9kb3NleGUuaCwgaW5jbHVkZS9jYWxsYmFjay5oLAorCSAgaW5jbHVkZS9taXNjZW11LmgsIG1zZG9zL2RwbWkuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJUmVtb3ZlZCBvYnNvbGV0ZSBJTlRfSW50MzFIYW5kbGVyLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6CisJU2V0dGluZyB0aGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgY2FuIGNoYW5nZSB0aGUgdmFsdWVzIGZvciB0aGUKKwl2ZXJ0aWNhbCBvbmUgc28gbWFrZSBzdXJlIHdlIGNvbXB1dGUgdGhlbSBzZXBhcmF0ZWx5LgorCisJKiBncmFwaGljcy94MTFkcnYvb3BlbmdsLmM6CisJQWRkZWQgZW1wdHkgWDExRFJWX09wZW5HTF9Jbml0IGZvciB0aGUgbm9uLU9wZW5HTCBjYXNlLgorCisJKiBkbGxzL250ZGxsL2xhcmdlX2ludC5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlGaXhlZCBzdHJpY3QgYWxpYXNpbmcgcHJvYmxlbSBpbiBSdGxFbmxhcmdlZFVuc2lnbmVkRGl2aWRlLgorCisJKiBpbmNsdWRlL3dpbmNvbi5oOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlGaXhlZCBzdHJpY3QgYWxpYXNpbmcgcHJvYmxlbSBpbgorCV9fd2luZV9HZXRMYXJnZXN0Q29uc29sZVdpbmRvd1NpemVfd3JhcHBlci4KKworCSogcHJvZ3JhbXMvd2luaGVscC9obHBmaWxlLmMsIHByb2dyYW1zL3dpbmhlbHAvaGxwZmlsZS5oLAorCSAgcHJvZ3JhbXMvd2luaGVscC9tYWNyby5jLCBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvd2luaGVscC5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUFkZGVkIHN1cHBvcnQgZm9yIHdpbmRvdyBpbmZvcm1hdGlvbiBmcm9tIHRoZSAuaGxwIGZpbGUuCisJQWRkZWQgc3VwcG9ydCBmb3Igd2luZG93IG51bWJlcnMgaW4gbGluay4KKworCSogd2luZG93cy9pbnB1dC5jOiBTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlNb3ZlZCBpbXBsZW1lbnRhdGlvbiBvZiBMb2FkS2V5Ym9hcmRMYXlvdXQgZnJvbSBBU0NJSSB0byBVbmljb2RlLgorCisJKiBpbmNsdWRlL3dpbm50LmgsIGluY2x1ZGUvd2ludXNlci5oOiBQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlObyB2ZXJzaW9uIG9mIEdOVSBDKysgKHVubGlrZSBHTlUgQykgc3VwcG9ydHMgdW5uYW1lZCBzdHJ1Y3RzLgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmg6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU3VwcG9ydCBjb21tY3RybCBtZXNzYWdlLWhlbHBlciBtYWNyb3MgaW4gQysrLgorCisJKiBkbGxzL2NvbWN0bDMyL2ltYWdlbGlzdC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVVzZSBEZWxldGVEQyBpbnN0ZWFkIG9mIERlbGV0ZU9iamVjdCB0byBmcmVlIEhEQ3MgKHNwb3R0ZWQgYnkgRGlldHJpY2gKKwlUZWlja25lciA8RGlldHJpY2hfVGVpY2tuZXJAdC1vbmxpbmUuZGU+KS4KKwlDbGVhciB0aGUgaW1hZ2VsaXN0IHN0cnVjdHVyZSBvbiBkZWxldGlvbiwgYXMgc29tZSBzdHVwaWQgYXBwcyBmcmVlCisJaW1hZ2VsaXN0cyBtdWx0aXBsZSB0aW1lcy4KKworCSogd2luZG93cy91c2VyLmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCU1vdmVkIGltcGxlbWVudGF0aW9uIG9mIEVudW1EaXNwbGF5U2V0dGluZ3MgZnJvbSBBU0NJSSB0byBVbmljb2RlLgorCisJKiBpbmNsdWRlL3dpbnRlcm5sLmg6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc29tZSBkZWZpbml0aW9ucyBmb3Igc3RydWN0dXJlcyB1c2VkIGJ5IE50UXVlcnlGaWxlSW5mby4KKworCSogZGxscy9vbGUzMi9zdG9yYWdlLmMsIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmM6CisJUnlhbiBDdW1taW5nIDxyeWFuQGNvbXBsZXRlbHkua2lja3MtYXNzLm9yZz4KKwktIE1vdmUgU3RnSXNTdG9yYWdlRmlsZTE2J3MgaW1wbGVtZW50YXRpb24gdG8gU3RnSXNTdG9yYWdlRmlsZTsgcG9ydAorCSAgaXQgdG8gV2luMzIuCisJLSBNb3ZlIFN0Z0lzU3RvcmFnZUZpbGUgZnJvbSBzdG9yYWdlLmMgdG8gc3RvcmFnZTMyLmMuCisJLSBTdGdJc1N0b3JhZ2VGaWxlIG9ubHkgcmV0dXJucyBTX09LLCBTVEdfRV9GSUxFTk9URk9VTkQsIGFuZCBTX0ZBTFNFLgorCS0gU3RnSXNTdG9yYWdlRmlsZSBkb2Vzbid0IGNoZWNrIGlmIGEgZmlsZSBpcyBsYXJnZSBlbm91Z2ggdG8gYmUgYQorCSAgc3RvcmFnZSBmaWxlLCBpdCBvbmx5IGNoZWNrcyBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSA4LWJ5dGUgbWFnaWMuCisKKwkqIGluY2x1ZGUvdXJsbW9uLmgsIGluY2x1ZGUvd2luaW5ldC5oOiBBbGJlcnRvIE1hc3NhcmkgPGFsYnlAZXhsbi5jb20+CisJLSBBZGRlZCBzb21lIGRlZmluaXRpb25zLgorCS0gRml4ZWQgc2lnbmF0dXJlIG9mIEdldFVybENhY2hlRW50cnlJbmZvRXhXLgorCisJKiB0b29scy93aW5laW5zdGFsbDogQWxiZXJ0byBNYXNzYXJpIDxhbGJ5QGV4bG4uY29tPgorCUluc3RhbGwgbGluayB0byBydW5kbGwzMi5leGUgdG9vLgorCisJKiBwcm9ncmFtcy9ydW5kbGwzMi9ydW5kbGwzMi5jOiBBbGJlcnRvIE1hc3NhcmkgPGFsYnlAZXhsbi5jb20+CisJRml4IGNyYXNoIHdoZW4gaW52b2tlZCB3aXRoIG5vIGFyZ3VtZW50cy4KKworCSogd2luZG93cy9jdXJzb3JpY29uLmM6IFJ5YW4gQ3VtbWluZyA8cnlhbkBjb21wbGV0ZWx5LmtpY2tzLWFzcy5vcmc+CisJTWFrZSBMb29rdXBJY29uSWRGcm9tRGlyZWN0b3J5RXgxNiBjYWxsIExvb2t1cEljb25JZEZyb21EaXJlY3RvcnlFeCwKKwlpbnN0ZWFkIG9mIHRoZSBvdGhlciB3YXkgYXJvdW5kLgorCisyMDAyLTExLTE1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9jb21wdXRlcm5hbWUuYywgcHJvZ3JhbXMvcnVuZGxsMzIvcnVuZGxsMzIuYzoKKwlXYXJuaW5nIGZpeGVzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9kM2Q4L01ha2VmaWxlLmluLAorCSAgZGxscy9kZHJhdy9NYWtlZmlsZS5pbiwgZGxscy9nbHUzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvb3BlbmdsMzIvTWFrZWZpbGUuaW4sIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmMsCisJICBncmFwaGljcy94MTFkcnYvb3BlbmdsLmMsIGluY2x1ZGUvY29uZmlnLmguaW4sIGluY2x1ZGUveDExZHJ2Lmg6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlMb2FkIE9wZW5HTCBsaWJyYXJ5IGR5bmFtaWNhbGx5IGZyb20geDExZHJ2LgorCisJKiBsb2FkZXIvbW9kdWxlLmM6IEVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCURvbid0IGZ1bGx5IHByb2Nlc3MgRnJlZUxpYnJhcnkgd2hlbiBwcm9jZXNzIGlzIHN0b3BwaW5nLgorCisJKiBwcm9ncmFtcy9ub3RlcGFkL21haW4uYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGJhaWthbC5ydT4KKwlNaW5vciBidWcgZml4ZXMuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGZpbGVzL2ZpbGUuYywgaW5jbHVkZS93aW5iYXNlLmg6CisJUnlhbiBDdW1taW5nIDxyeWFuQGNvbXBsZXRlbHkua2lja3MtYXNzLm9yZz4KKwlJbXBsZW1lbnRlZCBHZXRGaWxlU2l6ZUV4IChiYXNlZCBvbiBhIHBhdGNoIGJ5IFN0ZXZlIEx1c3RiYWRlcikuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBwcm9ncmFtcy9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3J1bmRsbDMyLy5jdnNpZ25vcmUsIHByb2dyYW1zL3J1bmRsbDMyL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvcnVuZGxsMzIvcnVuZGxsMzIuYzoKKwlBbGJlcnRvIE1hc3NhcmkgPGFsYnlAZXhsbi5jb20+CisJQWRkZWQgcnVuZGxsMzIgdXRpbGl0eS4KKworCSogZGxscy93aW5lZG9zL2ludGVycnVwdHMuYywgZGxscy93aW5lZG9zL3dpbmVkb3Muc3BlYywKKwkgIGluY2x1ZGUvY2FsbGJhY2suaCwgbXNkb3MvZHBtaS5jLCB3aW4zMi9kZXZpY2UuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJRGV2aWNlSW9Db250cm9sIG5vdyBjYWxscyB3aW5lZG9zIGludGVycnVwdCBoYW5kbGVycy4KKwlGaXhlZCBSYXdNb2RlU3dpdGNoLgorCisJKiB3aW5kb3dzL3N5c21ldHJpY3MuYzogVG9ueSBMYW1icmVndHMgPHRvbnlfbGFtYnJlZ3RzQHRlbHVzcGxhbmV0Lm5ldD4KKwlGaXggU01fQ1lWVEhVTUIsIFNNX0NYU01TSVpFLCBTTV9DWE1FTlVDSEVDSyBhbmQgU01fQ1lNRU5VQ0hFQ0suCisKKwkqIHByb2dyYW1zL3dpbmhlbHAvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvd2luaGVscC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmhlbHAvbWFjcm8uYywgcHJvZ3JhbXMvd2luaGVscC9tYWNyby5oLAorCSAgcHJvZ3JhbXMvd2luaGVscC9tYWNyby5sZXgubCwgcHJvZ3JhbXMvd2luaGVscC9tYWNyby55YWNjLnksCisJICBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuYywgcHJvZ3JhbXMvd2luaGVscC93aW5oZWxwLmg6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJUmV3cm90ZSBtYWNybyBlbmdpbmUgZm9yIGFkZGluZyBkeW5hbWljIG1hY3JvIGxvYWRpbmcgY2FwYWJpbGl0eS4KKwlXcm90ZSBSZWdpc3RlclJvdXRpbmUgYW5kIElzQm9vayBtYWNyb3MuCisKKwkqIGRsbHMvZ2RpL21mZHJ2L2RjLmMsIGRsbHMvd2luZXBzL3RleHQuYywgb2JqZWN0cy9mb250LmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlQcm9wZXIgaGFuZGxpbmcgb2YgU2V0VGV4dENoYXJhY3RlckV4dHJhLgorCisJKiBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwvY29tcHV0ZXJuYW1lLmMsCisJICBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLAorCSAgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZG9jdW1lbnRhdGlvbi9jb25maWd1cmluZy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZywgZG9jdW1lbnRhdGlvbi93aW5lLmNvbmYubWFuLAorCSAgaW5jbHVkZS93aW5iYXNlLmgsIG1pc2MvcmVnaXN0cnkuYywgd2luMzIvaW5pdC5jLCB3aW4zMi9uZXdmbnMuYzoKKwlNYXJ0aW4gV2lsY2sgPE1hcnRpbi5XaWxja0BGdWppdHN1LVNpZW1lbnMuY29tPgorCS0gQWxsb3cgc2V0dGluZyBOZXRCSU9TIENvbXB1dGVyTmFtZSB0aHJvdWdoIHJlZ2lzdHJ5LgorCS0gS2VlcCBvbGQgYmVoYXZpb3IgYXMgZGVmYXVsdCwgdXNpbmcgbmV3IGNvbmZpZyBvcHRpb24gdG8gY2hhbmdlLgorCS0gSW1wbGVtZW50IFNldENvbXB1dGVyTmFtZSgpLCBTZXRDb21wdXRlck5hbWVFeCgpLAorCSAgR2V0Q29tcHV0ZXJOYW1lRXgoKS4KKwktIENvbXB1dGVyTmFtZSBpbml0aWFsaXphdGlvbiBtb3ZlZCB0byBrZXJuZWwzMi4KKworCSogZGxscy9udGRsbC9ydGwuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgUnRsRG9zUGF0aE5hbWVUb050UGF0aE5hbWVfVS4KKworCSogZGxscy9zaGVsbDMyL3Rlc3RzL3NobGZpbGVvcC5jLCBkbGxzL3VzZXIvdGVzdHMvd2luLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJTWFkZSB0ZXN0cyBjb21waWxlIG9uIFdpbmRvd3MuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYzogTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCUFsc28gc2lsZW5jZSBJU2hlbGxMaW5rQV9mblNldFNob3dDbWQuCisKKwkqIGRsbHMvd2luZXBzL2JydXNoLmMsIGRsbHMvd2luZXBzL2VzY2FwZS5jLCBkbGxzL3dpbmVwcy9ncmFwaGljcy5jLAorCSAgZGxscy93aW5lcHMvcHMuYywgZGxscy93aW5lcHMvcHNkcnYuaCwgaW5jbHVkZS93aW5lL3dpbmdkaTE2Lmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnRlZCBFc2NhcGVzICpfUEFUSCBhbmQgUE9TVFNDUklQVF9JR05PUkUuCisKKzIwMDItMTEtMTQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmMsIGRsbHMveDExZHJ2L3hyZW5kZXIuYywKKwkgIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcsIGdyYXBoaWNzL3gxMWRydi9iaXRtYXAuYywKKwkgIGdyYXBoaWNzL3gxMWRydi9jbGlwcGluZy5jLCBncmFwaGljcy94MTFkcnYveGZvbnQuYywKKwkgIGluY2x1ZGUveDExZHJ2Lmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlDbGllbnQgc2lkZSByZW5kZXIgZm9udHMgZm9yIFhTZXJ2ZXJzIHdpdGhvdXQgdGhlIFJlbmRlciBleHRlbnNpb24KKwl1c2luZyBYMTEgY29yZSByZXF1ZXN0cy4KKworCSogZGxscy91c2VyL3VzZXJfbWFpbi5jLCBkbGxzL3gxMWRydi93aW5wb3MuYywKKwkgIGRsbHMveDExZHJ2L3gxMWRydi5zcGVjLCBpbmNsdWRlL3VzZXIuaCwgd2luZG93cy9kY2UuYywKKwkgIHdpbmRvd3Mvd2luLmM6CisJQWRkZWQgUmVsZWFzZURDIGZ1bmN0aW9uIHRvIHRoZSBVU0VSIGRyaXZlciBpbnRlcmZhY2UuCisKKzIwMDItMTEtMTMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJV2UgbmVlZCB0byBjb21wYXJlIHRoZSB3b3JsZCB0cmFuc2Zvcm1zIChhdCBsZWFzdCB0aGUgNCBzY2FsaW5nCisJZWxlbWVudHMpIHdoZW4gd2UgYWNjZXB0IGEgZm9udCBmcm9tIHRoZSBjYWNoZS4KKwlHZXQgdGhlIGNvcnJlY3QgdmFsdWVzIGZvciB0aGUgdW5kZXJzY29yZSBzaXplIGFuZCBwb3NpdGlvbi4KKwlBZGRlZCBhIG1pc3NpbmcgY2xvc2VkaXIoKS4KKworCSogZGxscy93aW5lcHMvZ3JhcGhpY3MuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggUFNEUlZfRHJhd0FyYyB0byB3b3JrIHByb3Blcmx5IHdpdGggbG9naWNhbCBjb29yZHMuCisKKwkqIGRsbHMvd2luZXBzL2Rvd25sb2FkLmMsIGRsbHMvd2luZXBzL3BwZC5jLCBkbGxzL3dpbmVwcy90eXBlNDIuYzoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUluc3RlYWQgb2YgdHJ5aW5nIHRvIGRvd25sb2FkIHRoZSBUeXBlIDQyIGdscHloIG1ldHJpY3MgaW5jcmVtZW50YWxseQorCSh3aGljaCBtb3N0IHByaW50ZXJzIGRvbid0IHNlZW0gdG8gdW5kZXJzdGFuZCksIHdlJ2xsIGRvd25sb2FkIHRoZQorCXdob2xlIGhtdHggdGFibGUgaW4gb25lIGdvIChzaWdoKSB1bmxlc3MgaXQncyBsYXJnZXIgdGhhbiA2NEsgaW4gd2hpY2gKKwljYXNlIHdlJ2xsIGdvIGJhY2sgdG8gdXNpbmcgYSBUeXBlIDEgZm9udC4KKworCSogZGxscy93aW5lcHMvdHlwZTEuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXZSBjYW4ndCBjYWNoZSB0aGUgdW5zY2FsZWQgZm9udCdzIGhmb250LCBzaW5jZSB0aGUgbWFwcGluZyBtb2RlIG1heQorCWNoYW5nZS4gIFRoaXMgcmVzdWx0ZWQgaW4gc29tZSBnbHlwaHMgYmVpbmcgZG93bmxvYWRlZCBhdCB0aGUgd3JvbmcKKwlzaXplLgorCisJKiB0b29scy93aWRsL2hlYWRlci5jLCB0b29scy93aWRsL3BhcnNlci5sLCB0b29scy93aWRsL3BhcnNlci55LAorCSAgdG9vbHMvd2lkbC93aWRsdHlwZXMuaDoKKwlNYWtlIHN1cmUgd2lkbCBkb2Vzbid0IGRlcGVuZCBvbiB0aGUgaGVhZGVycyBpdCBoYXMgdG8gZ2VuZXJhdGUuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW46IFVwZGF0ZWQgZGVwZW5kZW5jaWVzLgorCisJKiBkbGxzL3RhcGkzMi9NYWtlZmlsZS5pbiwgZGxscy90YXBpMzIvbGluZS5jLCB3aW5lZGVmYXVsdC5yZWc6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlaZXJvIG91dCB0aGUgcmV0dXJuZWQgTElORVRSQU5TTEFURUNBUFMgc3RydWN0dXJlLgorCVJlYWQgY291bnRyeSBsaXN0IGZyb20gdGhlIHJlZ2lzdHJ5LgorCUFkZCBhIGxvYWQgb2YgY291bnRyaWVzIHRvIHdpbmVkZWZhdWx0LnJlZy4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU2VuZCBhIENETl9GSUxFT0sgaW4gRklMRURMRzk1X09uT3Blbk11bHRpcGxlRmlsZXMuCisJUmVzdHJ1Y3R1cmUgdGhlIGhhbmRsaW5nIG9mIEN1c3RvbSBkaWFsb2cgbm90aWZpY2F0aW9ucy4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmMsIGluY2x1ZGUvY29tbWN0cmwuaDoKKwlVbHJpY2ggQ3pla2FsbGEgPHVjemVrYWxsYUBjb2Rld2VhdmVycy5jb20+CisJLSBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgaW1hZ2UgbGlzdHMuCisJLSBBZGQgVEJOX0lOSVRDVVNUT01JWkUgbm90aWZpY2F0aW9uLgorCS0gQ29ycmVjdGx5IHBvcHVsYXRlIFRCTl9RVUVSWURFTEVURS4KKwktIFN1cHBvcnQgVEJOX0dFVEJVVFRPTklORk9XLgorCisJKiBjb250cm9scy9jb21iby5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUZpeGVkIGEgYnVnIHdpdGggY29tYm8gYm94ZXMgd2hlcmUgb25seSAxIGl0ZW1zIHdhcyBiZWluZyBkaXNwbGF5ZWQuCisKKwkqIHdpbmRvd3Mvd2luLmM6CisJRml4ZWQgc2lnbiBwcm9ibGVtIGluIEdldFdpbmRvd1dvcmQvTG9uZyBjaGVjayBmb3Igb2Zmc2V0IGxhcmdlciB0aGFuCisJdGhlIHdpbmRvdyBleHRyYSBieXRlcy4KKworCSogd2luZWRlZmF1bHQucmVnOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUFkZCBJU3RyZWFtIGFuZCBJU3RvcmFnZSBpbnRlcmZhY2UgZW50cmllcy4KKworCSogbWVtb3J5L2dsb2JhbC5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUNhcCB0aGUgcmVwb3J0ZWQgcGh5c2ljYWwgbWVtb3J5IHRvIDJHQiB0byBwcmV2ZW50IGFwcGxpY2F0aW9ucworCShlLmcuIFF1aWNrVGltZSA2KSBmcm9tIGNyYXNoaW5nLgorCisJKiBmaWxlcy9wcm9maWxlLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJTWFpbnRhaW4gbG93ZXIgY2FzZWQgZmlsZSBuYW1lcyBpbiB0aGUgV2luZSBjb25maWcgZGlyZWN0b3J5LgorCisJKiBkbGxzL3gxMWRydi9rZXlib2FyZC5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVVzZSBpc284ODU5LTE1IG9uIEV1cm9wZWFuIGtleWJvYXJkcy4KKworCSogZGxscy9hZHZhcGkzMi9yZWdpc3RyeS5jOiBBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCVdvcmsgd2l0aCB0aGUgY29ycmVjdCBzdWJrZXkgd2l0aCBsb2FkaW5nIGtleXMuIE5vdCBhIHRydWUgZml4IHRvIHRoZQorCUxvYWRLZXkvU2F2ZUtleSBzaXR1YXRpb24uCisKKwkqIGRsbHMvc2hsd2FwaS9wYXRoLmMsIHdpbmRvd3MvY3Vyc29yaWNvbi5jLCB3aW5kb3dzL25vbmNsaWVudC5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggYSBmZXcgR0RJIG1lbW9yeSBsZWFrcy4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jLCBkbGxzL3dpbnNvY2svd3MyXzMyLnNwZWMsIGluY2x1ZGUvd2luc29jazIuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkIHN0dWJzIGFuZCBkZWNsYXJhdGlvbnMgZm9yIFdTQUluc3RhbGxTZXJ2aWNlQ2xhc3NBL1cuCisKKwkqIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIGNvdW50ZXIgdG8ga2VlcCB0cmFjayBvZiB0aGUgbnVtYmVyIG9mIG91dHN0YW5kaW5nIGFzeW5jCisJcmVxdWVzdHMuICBUaGlzIGdldHMgYXJvdW5kIGEgcHJvYmxlbSB3aGVyZSBhIFNldEV2ZW50IGNvdWxkIGJlIGNhbGxlZAorCWJlZm9yZSBhIHByZXZpb3VzIGV2ZW50IGhhZCBiZWVuIGRlYWx0IHdpdGguCisKKwkqIGRsbHMvY29tY3RsMzIvY29tYm9leC5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUNoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgSW1hZ2VMaXN0X0dldEltYWdlSW5mbyBiZWZvcmUgYWRqdXN0aW5nIHRoZQorCXNpemUuCisKKwkqIGRsbHMvbnRkbGwvZGVidWd0b29scy5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVJlZHVjZSB0aGUgbWF4aW11bSBsZW5ndGggb2YgZGVidWcgc3RyaW5ncyB0byA4MCBjaGFyYWN0ZXJzLgorCisJKiBkbGxzL3dpbmVkb3MvZG9zZXhlLmg6IE1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlEbyBub3QgZGVmaW5lIE1aX1NVUFBPUlRFRCBpZiB3ZSBkbyBub3QgaGF2ZSBzeXMvdm04Ni5oIGZvciBhbGwgdGhlCisJc3RydWN0IGRlZmluaXRpb25zLgorCisJKiBkbGxzL3R0eWRydi90dHlkcnYuaDogTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCU9ubHkgaW5jbHVkZSBjdXJzZXMgaGVhZGVycyBpZiB3ZSBhcmUgdXNpbmcgY3Vyc2VzIGF0IGFsbC4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6IEFsYmVydG8gTWFzc2FyaSA8YWxieUBleGxuLmNvbT4KKwlJVHlwZUluZm86Okludm9rZSBub3cgaXMgYWJsZSB0byBpbnZva2UgYSBmdW5jdGlvbiBldmVuIHdoZW4gaXQgaXMKKwlwcm92aWRlZCB3aXRoIGEgYnlyZWYgYXJndW1lbnQuCisKKwkqIGRsbHMvbXN2Y3J0L3Byb2Nlc3MuYzoKKwlGaXhlZCBkYXRhIGNvcHlpbmcgaW4gbXN2Y3J0X2FyZ3Z0b3MgKHNwb3R0ZWQgYnkgYmlsbEB0YW5pd2hhLm9yZykuCisKKwkqIGluY2x1ZGUvd3R5cGVzLmgsIGluY2x1ZGUvd3R5cGVzLmlkbCwgdG9vbHMvd2lkbC93aWRsLmM6CisJTW92ZWQgcnBjLmggaW5jbHVzaW9uIGluIHdpZGwtZ2VuZXJhdGVkIGZpbGUgc28gdGhhdCB0ZXN0cyBjb21waWxlLgorCisJKiBpbmNsdWRlL3dpbmUvd2luZ2RpMTYuaCwgaW5jbHVkZS93aW5nZGkuaCwgaW5jbHVkZS94MTFmb250LmgsCisJICBvYmplY3RzL2ZvbnQuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCBtaXNtYXRjaGVzIGJldHdlZW4gdGhlIFdpbmUgaGVhZGVycyBhbmQgdGhlIE1pY3Jvc29mdCBoZWFkZXJzLgorCisJKiBwcm9ncmFtcy93aW5oZWxwL2hscGZpbGUuYywgcHJvZ3JhbXMvd2luaGVscC9obHBmaWxlLmgsCisJICBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlZCBzZXZlcmFsIGJ1Z3MgaW46CisJICAtIHBhZ2UvcGFyYWdyYXBoIHJlYWRpbmcgZm9yID49IFdpbjk1IGhlbHAgZmlsZXMgd2l0aG91dCBjb21wcmVzc2lvbgorCSAgLSBiaXRtYXAgJiBtZXRhZmlsZSBsb2FkaW5nCisJICAtIGJ0cmVlIHJlYWRpbmcKKwlOb3cgY2FjaGluZyBiaXRtYXAgbG9hZGluZyBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlLgorCVNldmVyYWwgaW50ZXJuYWwgY29kZSBjbGVhbnVwcy4KKworCSogZGxscy9jb21tZGxnL2ZvbnRkbGcuYzoKKwlTaGFjaGFyIFNoZW1lc2ggPHdpbmUtcGF0Y2hlc0BzdW4uY29uc3VtZXIub3JnLmlsPgorCS0gQWRkZWQgc3VwcG9ydCBmb3IgQ0ZfRU5BQkxFVEVNUExBVEVIQU5ETEUuCisJLSBSZXZpc2VkIHRoZSBGSVhNRSBvbiB1bnN1cHBvcnRlZCBmbGFncyB0byBub3QgcmVwb3J0ZWQgdGhlIGZsYWdzIG5vdworCSAgdHVybmVkIHN1cHBvcnRlZC4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYywgZGxscy93aW5pbmV0L3VybGNhY2hlLmMsCisJICBkbGxzL3dpbmluZXQvd2luaW5ldC5zcGVjOgorCUFsYmVydG8gTWFzc2FyaSA8YWxieUBleGxuLmNvbT4KKwlBZGRlZCBzdHVicyBmb3IgSXNIb3N0SW5Qcm94eUJ5cGFzc0xpc3QgYW5kIEdldFVybENhY2hlRW50cnlJbmZvRXhBLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL21lbW9yeS5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlBY3R1YWxseSBleGl0IGxvb3Agb24gJ1wwJyB3aGlsZSBwcmludGluZyBhIHN0cmluZy4KKworCSogaW5jbHVkZS93dHlwZXMuaCwgaW5jbHVkZS93dHlwZXMuaWRsOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCVdyb3RlIGEgV2luZS1jb21wYXRpYmxlIHd0eXBlcy5pZGwsIGFuZCBnZW5lcmF0ZWQgd3R5cGVzLmggZnJvbSBpdC4KKworMjAwMi0xMS0xMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwvd3Byb2NzLnNwZWMsCisJICBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBkbGxzL3dpbmVkb3MvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbmVkb3MvZG9zZXhlLmgsIGRsbHMvd2luZWRvcy9mcHUuYywgZGxscy93aW5lZG9zL2ludDEyLmMsCisJICBkbGxzL3dpbmVkb3MvaW50MTMuYywgZGxscy93aW5lZG9zL2ludDFhLmMsIGRsbHMvd2luZWRvcy9pbnQyYS5jLAorCSAgZGxscy93aW5lZG9zL2ludDQxLmMsIGRsbHMvd2luZWRvcy9pbnQ0Yi5jLAorCSAgZGxscy93aW5lZG9zL2ludGVycnVwdHMuYywgbXNkb3MvZnB1LmMsIG1zZG9zL2ludDEyLmMsCisJICBtc2Rvcy9pbnQyYS5jLCBtc2Rvcy9pbnQ0MS5jLCBtc2Rvcy9pbnQ0Yi5jOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlNb3ZlIHNpbXBsZSBpbnRlcnJ1cHQgaGFuZGxlcnMgdG8gd2luZWRvcy4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsbGluay5jOiBNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJU2lsZW5jZSBJU2hlbGxMaW5rOjpTZXRTaG93Q21kIGZvciB0aGUgY2FzZSB3ZSBzdXBwb3J0LgorCisJKiBkb2N1bWVudGF0aW9uL2J1Z3Muc2dtbDoKKwlUb255IExhbWJyZWd0cyA8dG9ueV9sYW1icmVndHNAdGVsdXNwbGFuZXQubmV0PgorCVVwZGF0ZSBSZXBvcnRpbmcgQnVncyBzZWN0aW9uIHRvIHJlZmxlY3QgY3VycmVudCBzdGF0ZSBvZiB3aW5lIGJ1Z3MuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOiBHZXJhbGQgUGZlaWZlciA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KKwl1Y29udGV4dC5oIGNoZWNrIHJlcXVpcmVzIHNpZ25hbC5oLgorCisJKiBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYzogQWxiZXJ0byBNYXNzYXJpIDxhbGJ5QGV4bG4uY29tPgorCVRoZSBhbHJlYWR5IGltcGxlbWVudGVkIGZ1bmN0aW9uIHN3c2NhbmYgd2FzIG1pc3NpbmcgYW4gZW50cnkuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL3dpbmVwcy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2luZXBzL2luaXQuYywgZGxscy93aW5zcG9vbC9NYWtlZmlsZS5pbiwgZGxscy93aW5zcG9vbC9pbmZvLmMsCisJICBpbmNsdWRlL2NvbmZpZy5oLmluOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCURvIG5vdCBsaW5rIGFnYWluc3QgLWxjdXBzIGRpcmVjdGx5LCBidXQgZHluYW1pY2FsbHkgbG9hZCBpdCBpZgorCXByZXNlbnQgKGp1c3QgbGlrZSBmcmVldHlwZSBldGMuKQorCisJKiBkbGxzL250ZGxsL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvbnRkbGwvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL250ZGxsL3Rlc3RzL3J0bHN0ci5jOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJRmlyc3Qgb2YgdGVzdHMgZm9yIHRoZSBSdGwqIHN0cmluZyBtYW5pcHVsYXRpb24gZnVuY3Rpb25zLgorCisJKiBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGRsbHMvbnRkbGwvcnRsc3RyLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwlJbXBsZW1lbnRlZCBSdGxVbmljb2RlU3RyaW5nVG9JbnRlZ2VyLgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmUtZGV2ZWwuc2dtbDoKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQWRkIG11bHRpbWVkaWEuc2dtbCB0byBzdGFuZGFsb25lIHdpbmUtZGV2ZWwgZ3VpZGUsIHdhcyBhbHJlYWR5IGluCisJd2luZS1kb2Muc2dtbC4KKworCSogZG9jdW1lbnRhdGlvbi9kYjJodG1sLXdpbmVocToKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQ29ycmVjdGx5IGlkZW50aWZ5IGEgUmVkSGF0IGRpc3RyaWJ1dGlvbi4KKworCSogZG9jdW1lbnRhdGlvbi9nZXR0aW5nLnNnbWw6IER1c3RpbiBOYXZlYSA8c3BlZWRkeW1vbkB5YWhvby5jb20+CisJUmVhcnJhbmdlZCBjb2RlIHRvIG1ha2UgaXQgbW9yZSByZWFkYWJsZS4KKwlBZGRlZCBpbiBSZWRoYXQgaW5zdGFsbCBpbnN0cnVjdGlvbnMsIGFuZCBtYWRlIG5vdGUgaW4gT3RoZXIgRGlzdHJvJ3MKKwlzZWN0aW9uIHRvIGNoZWNrIHRoZSBSZWRoYXQgcGFnZSBpZiB5b3UgYXJlIHVzaW5nIE1hbmRyYWtlLCBhcyBpdCBpcworCVJlZGhhdC1iYXNlZC4KKwlVcGRhdGVkIEZUUCBsaXN0IGluIHRoZSBkb2NzLCBvbmx5IDEgbGluayBkaWZmZXJlbnQgZnJvbSB0aGUgbW9zdCByZWNlbnQKKwlBTk5PVU5DRSwgd293IQorCUFkZGVkIGluc3RydWN0aW9ucyBvbiB1bi10YXJyaW5nLCBjb21waWxpbmcsIGFuZCBpbnN0YWxsaW5nIHdpbmUgZnJvbQorCWEgdGFyYmFsbC4KKworCSogZG9jdW1lbnRhdGlvbi93aW5lLWRvYy5zZ21sOiBEdXN0aW4gTmF2ZWEgPHNwZWVkZHltb25AeWFob28uY29tPgorCUNvcnJlY3RlZCBjb2RlIHNwYWNpbmcgZm9yIHJlYWRhYmlsaXR5LgorCisJKiBkb2N1bWVudGF0aW9uL2ludHJvZHVjdGlvbi5zZ21sOiBEdXN0aW4gTmF2ZWEgPHNwZWVkZHltb25AeWFob28uY29tPgorCUNoYW5nZSBmaXJzdCB1c2FnZSBvZiB0aGUgV29yZCBMaW51eCBpbnRvIGEgbGluayB0byB0aGUgbGludXggRkFRIGF0CisJbGludXhkb2Mub3JnLgorCUNoYW5nZSBmaXJzdCB1c2FnZSBvZiB0aGUgd29yZCBYMTEgaW50byBhIGxpbmsgdG8gdGhlIFgxMSBGQVEgYXQKKwl4ZnJlZTg2Lm9yZy4KKwlBZGQgd2luZS1kZXZlbCB0byB0aGUgcGxhY2VzIHRvIGdvIGZvciBidXJuaW5nIHF1ZXN0aW9ucy4KKwlVcHBlZCB0aGUgc3lzdGVtIHJlcSdzIHRvIHRoZSBjdXJyZW50IHJlcXVpcmVtZW50cy4KKwlGaXhlZCBhIGZldyBncmFtbWF0aWNhbCBlcnJvcnMgYW5kIG1hZGUgdGhlIHRleHQgbG9vayBhIGxpdHRsZQorCXByZXR0aWVyLgorCisJKiBkb2N1bWVudGF0aW9uL2F1dGhvcnMuZW50OiBEdXN0aW4gTmF2ZWEgPHNwZWVkZHltb25AeWFob28uY29tPgorCUFkZCB0aGUgd2luZS1kZXZlbCBsaXN0IGFuZCBteXNlbGYgdG8gdGhlIGVudGl0aWVzIHRvIGJlIHJlZmVyZW5jZWQgaW4KKwl0aGUgZG9jcy4KKworCSogZGxscy9kM2Q4L2RldmljZS5jOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCS0gRml4IGJ1ZyBpbiBtdWx0aXRleHR1cmluZyBpbnRyb2R1Y2VkIGR1cmluZyBkdW1teSB0ZXh0dXJlIGNoYW5nZXMuCisJLSBBZGRpdGlvbmFsIHRyYWNlcy4KKworCSogZGxscy9vbGUzMi9oZ2xvYmFsc3RyZWFtLmM6IEFsYmVydG8gTWFzc2FyaSA8YWxieUBleGxuLmNvbT4KKwlJbXBsZW1lbnRlZCBib2R5IG9mIEhHTE9CQUxTdHJlYW1JbXBsOjpDbG9uZS4KKworCSogZGxscy93aW5pbmV0L01ha2VmaWxlLmluLCBkbGxzL3dpbmluZXQvaHR0cC5jLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXQuc3BlYzoKKwlBbGJlcnRvIE1hc3NhcmkgPGFsYnlAZXhsbi5jb20+CisJQWRkZWQgSHR0cE9wZW5SZXF1ZXN0VywgSHR0cFF1ZXJ5SW5mb1csIEh0dHBTZW5kUmVxdWVzdFcuCisKKwkqIHRvb2xzL3dpZGwvaGVhZGVyLmMsIHRvb2xzL3dpZGwvcGFyc2VyLmwsIHRvb2xzL3dpZGwvcGFyc2VyLnksCisJICB0b29scy93aWRsL3Byb3h5LmMsIHRvb2xzL3dpZGwvd2lkbC5jLCB0b29scy93aWRsL3dpZGx0eXBlcy5oOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCVN1cHBvcnQgZm9yIGVudW1zLCBhcnJheXMsIGVuY2Fwc3VsYXRlZCB1bmlvbnMsIHNpZ25lZC91bnNpZ25lZAorCXF1YWxpZmllcnMsIFVVSURzLCBpbmNsdWRlIGd1YXJkcywgdGhlIG5ldyBJQ09NX0RFRklORTEgbWFjcm8sIGFuZAorCXNvbWUgb3RoZXIgaW1wcm92ZW1lbnRzLgorCisJKiBkb2N1bWVudGF0aW9uL0hPV1RPLXdpbmVsaWI6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIHBhcnRzIHRoYXQgaGF2ZSBiZWVuIG1vdmVkIGFscmVhZHkgaW4gdGhlIERldmVsb3BtZW50IEd1aWRlLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9maWxlLmM6CisJUnlhbiBDdW1taW5nIDxyeWFuQGNvbXBsZXRlbHkua2lja3MtYXNzLm9yZz4KKwlBZGQgdGVzdCBmb3IgRGVsZXRlRmlsZUEgd2l0aCBlbXB0eSBwYXRocy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvZ2RpL3Rlc3RzL2dlbmVyYXRlZC5jLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvZ2VuZXJhdGVkLmMsIGRsbHMvbnRkbGwvdGVzdHMvZ2VuZXJhdGVkLmMsCisJICBkbGxzL3NoZWxsMzIvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9zaGVsbDMyL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9zaGVsbDMyL3Rlc3RzL2dlbmVyYXRlZC5jLCBkbGxzL3NobHdhcGkvdGVzdHMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvc2hsd2FwaS90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9zaGx3YXBpL3Rlc3RzL2dlbmVyYXRlZC5jLAorCSAgZGxscy91cmxtb24vTWFrZWZpbGUuaW4sIGRsbHMvdXJsbW9uL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL3VybG1vbi90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy91cmxtb24vdGVzdHMvZ2VuZXJhdGVkLmMsCisJICBkbGxzL3VzZXIvdGVzdHMvZ2VuZXJhdGVkLmMsIGRsbHMvd2luaW5ldC90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy93aW5pbmV0L3Rlc3RzL01ha2VmaWxlLmluLCBkbGxzL3dpbmluZXQvdGVzdHMvZ2VuZXJhdGVkLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJVXBkYXRlZCB0aGUgZ2VuZXJhdGVkIHRlc3RzLgorCisJKiB0b29scy93aW5hcGkvY19wYXJzZXIucG0sIHRvb2xzL3dpbmFwaS9jX3R5cGUucG0sCisJICB0b29scy93aW5hcGkvdGVzdHMuZGF0LCB0b29scy93aW5hcGkvd2luYXBpX3Rlc3Q6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQWRkZWQgdGVzdHMgZm9yIGEgZmV3IG5ldyBETExzLgorCisJKiBkbGxzL3NoZWxsMzIvY2xpcGJvYXJkLmMsIGRsbHMvc2hlbGwzMi9waWRsLmMsIGRsbHMvc2hlbGwzMi9waWRsLmgsCisJICBkbGxzL3NoZWxsMzIvc2h2X2JnX2NtZW51LmMsIGluY2x1ZGUvc2hlbGxhcGkuaCwgaW5jbHVkZS9zaGxvYmouaCwKKwkgIGluY2x1ZGUvc2hsd2FwaS5oOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIG1pc21hdGNoZXMgYmV0d2VlbiB0aGUgV2luZSBoZWFkZXJzIGFuZCB0aGUgTWljcm9zb2Z0IGhlYWRlcnMuCisKKwkqIHNjaGVkdWxlci9zeXNkZXBzLmM6IEZpeGVkIHNwYXJjIGNoZWNrLgorCisyMDAyLTExLTExICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkb2N1bWVudGF0aW9uL2F1dGhvcnMuZW50LCBkb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uc2dtbDoKKwlUb255IExhbWJyZWd0cyA8dG9ueV9sYW1icmVndHNAdGVsdXNwbGFuZXQubmV0PgorCU1ha2UgdGhlIGluc3RydWN0aW9ucyBvZiBob3cgdG8gaW5zdGFsbCBzZ21sIGVhc2llciB0byB1bmRlcnN0YW5kLgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQWRkZWQgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBJVHlwZUluZm86OkdldERsbEVudHJ5KCkuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXdfcHJpdmF0ZS5oLCBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYywKKwkgIGRsbHMvZGRyYXcvaGVscGVyLmM6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlQcm9wZXIgbG9nZ2luZyBvZiBERFNDQVBTIC8gRERTQ0FQUzIgc3RydWN0dXJlcy4KKworCSogZGxscy91c2VyL3VzZXIxNi5jLCBwcm9ncmFtcy9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luaGVscC9zdHJpbmcuYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvd2luaGVscC5jLCB3aW5kb3dzL3dpbmhlbHAuYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlJbXBsZW1lbnRlZCBhIFdpbmUtb25seSBzY2hlbWUgZm9yIGludGVycHJvY2VzcyBXaW5IZWxwIG1lc3NhZ2UKKwlwYXNzaW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL2ltYWdlbGlzdC5jOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCUZpeCBzb21lIE5VTEwgZGVyZWZlcmVuY2luZy4KKworCSogbXNkb3MvaW50MTEuYzogUm9iZXJ0ICdBZG1pcmFsJyBDb2V5bWFuIDxhZG1pcmFsQGNvcm5lci5uZXQ+CisJRml4ZWQgYml0IDIgdmFsdWUgYW5kIHNldCBiaXQgMSB0b28uCisKKwkqIE1ha2VmaWxlLmluLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgcHJvZ3JhbXMvTWFrZWZpbGUuaW46CisJUmVtb3ZlZCB3aW5ldGVzdC4KKworCSogZGxscy9kZHJhdy9kc3VyZmFjZS9kaWIuYzogTWFya28gS3JlZW4gPG1hcmtvQGwtdC5lZT4KKwlDbGlwIGJvdHRvbSBjb29yZGluYXRlcy4KKworCSogTWFrZS5ydWxlcy5pbiwgZGxscy9NYWtldGVzdC5ydWxlcy5pbiwgdG9vbHMvbWFrZV9jdGVzdHMsCisJICB0b29scy9ydW50ZXN0OgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmV3cml0ZSBtYWtlX2N0ZXN0cyBhbmQgcnVudGVzdCBpbiBzaGVsbC4KKworCSogZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy93aW5lZG9zL2ludDMxLmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCU1vdmUgYWxsIGludDMxIGZ1bmN0aW9ucyB0byB3aW5lZG9zLgorCUZpeCBzb21lIG9idmlvdXMgYnVncyBpbiBpbnQzMSBmdW5jdGlvbnMuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYzogUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJRml4ZWQgc29tZSBpc3N1ZXMgZm91bmQgYnkgd2luYXBpX2NoZWNrLgorCisJKiB0b29scy93aW5hcGkvd2luMTYuYXBpLCB0b29scy93aW5hcGkvd2luMzIuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9jaGVjaywKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfZnVuY3Rpb24ucG0sCisJICB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2dsb2JhbC5wbSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfbG9jYWwucG06CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJLSBBUEkgZmlsZXMgdXBkYXRlLgorCS0gRml4ZWQgb3B0aW9ucyAtLWNyb3NzLWNhbGwte3VuaWNvZGUtYXNjaWksd2luMzItd2luMTZ9LgorCS0gTWlub3IgcmVvcmdhbml6YXRpb24gb2YgdGhlIGdsb2JhbCBjaGVja3MuCisKKwkqIHNjaGVkdWxlci9zeXNkZXBzLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUFkZCBjYXNlIGZvciBub24gc3BhcmMgLyBub24gaTM4NiBTWVNERVBTX0NhbGxPblN0YWNrLgorCisJKiBkbGxzL29sZWF1dDMyL29sZXBpY3R1cmUuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJSW1wbGVtZW50ZWQgT2xlTG9hZFBpY3R1cmVFeC4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVNpbGVuY2Ugb25lIEZJWE1FKCkuIEltcGxlbWVudCBJVHlwZUluZm86OkdldERvY3VtZW50YXRpb24gZm9yCisJdmFyaWFibGUgZGVzY3JpcHRpb25zLgorCisJKiBkbGxzL3dpbm1tL2RyaXZlci5jLCBkbGxzL3dpbm1tL2xvbHZsZHJ2LmMsIGRsbHMvd2lubW0vd2luZW1tLmgsCisJICBkbGxzL3dpbm1tL3dpbm1tLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJTm93IHByb3Blcmx5IHVubG9hZGluZyBtdWx0aW1lZGlhIGRyaXZlcnMgd2hlbiB3aW5tbSB1bmxvYWRzLgorCisJKiB3aW5kb3dzL21zZ2JveC5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAYmFpa2FsLnJ1PgorCUZpeCBjb3B5L3Bhc3RlIGJ1Zy4gTWFrZSBNZXNzYWdlQm94IHdpdGhvdXQgYW4gaWNvbiBsb29rIGJldHRlci4KKworCSogcHJvZ3JhbXMvd2luaGVscC9obHBmaWxlLmM6IEVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUZpeGVkIGxvYWRpbmcgSENXIDQuMCBmaWxlcyB3aXRob3V0IHBocmFzZSBpbWFnZSBjb21wcmVzc2lvbi4KKworMjAwMi0xMS0wOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWM6IFBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gQWRkZWQgI2luY2x1ZGUgPHN5cy90eXBlcy5oPiB3aGVyZSBuZWVkZWQgZm9yIEZyZWVCU0QuCisJLSBBZGRlZCBwcm90ZWN0aW9uIGZvciAjaW5jbHVkZSA8c3lzL3tzb2NrZXQsdW59Lmg+LgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZ19DYS5yYywgZGxscy9jb21tZGxnL2NkbGdfRGEucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19EZS5yYywgZGxscy9jb21tZGxnL2NkbGdfRW4ucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Fcy5yYywgZGxscy9jb21tZGxnL2NkbGdfRmkucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Gci5yYywgZGxscy9jb21tZGxnL2NkbGdfSHUucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19JdC5yYywgZGxscy9jb21tZGxnL2NkbGdfSmEucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19ObC5yYywgZGxscy9jb21tZGxnL2NkbGdfUGwucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19QdC5yYywgZGxscy9jb21tZGxnL2NkbGdfUnUucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19TaS5yYywgZGxscy9jb21tZGxnL2NkbGdfU2sucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Tdi5yYywgZGxscy9jb21tZGxnL2NkbGdfV2EucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19aaC5yYywgZGxscy9jb21tZGxnL2ZvbnRkbGcuYzoKKwlTaGFjaGFyIFNoZW1lc2ggPHdpbmVjb2RlQHN1bi5jb25zdW1lci5vcmcuaWw+CisJLSBDaGFuZ2VkIGFsbCBudW1lcmljIHJlc291cmNlcyBpbiBDaG9vc2VGb250IHRvIGxhYmVscyBmb3IgYmV0dGVyCisJICByZWFkYWJpbGl0eS4KKwktIENoYW5nZWQgYWxsIGhhbmRsaW5nIG9mIHN0YzYgKDEwOTMpIHRvIGF0YzUgKDEwOTIpIHNvIHRoYXQgd2lsbCBiZQorCSAgY29tcGF0aWJsZSB3aXRoIFdpbmRvd3MgcmVzb3VyY2UgbnVtYmVycy4KKwktIEFkZGVkIGNvZGUgdG8gbG9hZCB0aGUgdXNlcidzIHJlc291cmNlcyByYXRoZXIgdGhhbiBvdXIgb3duIGlmCisJICBDRl9FTkFCTEVURU1QTEFURSBpcyBwYXNzZWQgaW4gImZsYWdzIi4KKworCSogc2VydmVyL2NvbnRleHRfaTM4Ni5jOiBQaWVycmUgQmV5c3NhYyA8cGItd2luZUBmYXN0ZXJpeC5mcm11Zy5vcmc+CisJQXZvaWQgRnJlZUJTRCBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoIGRicmVnIHN0cnVjdHVyZS4KKworCSogaW5jbHVkZS93aW5lL29ial9iYXNlLmgsIGluY2x1ZGUvd2luZS9vYmpfbWlzYy5oOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCU1vdmVkIElNYWxsb2MgZGVmaW5pdGlvbiBmcm9tIG9ial9iYXNlLmggdG8gb2JqX21pc2MuaC4KKworCSogaW5jbHVkZS9jdXN0Y250bC5oOiBKdXJhaiBIZXJjZWsgPGp1cmFqQHN5bmNhZC5jb20+CisJQWRkZWQgV0lORUxJQl9OQU1FX0FXIGZvciBMUENDSU5GTy4KKworCSogZGxscy9udGRsbC9zaWduYWxfc3BhcmMuYzogSnVyYWogSGVyY2VrIDxqdXJhakBzeW5jYWQuY29tPgorCUZpeGVkIGJ1ZyBpbiBjb250ZXh0IHJlZ2lzdGVycywgYWRkZWQgSEFORExFUl9ERUYgYW5kIEhBTkRMRVJfQ09OVEVYVAorCW1hY3Jvcy4KKworCSogZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jOiBNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJT25seSBlbmFibGUgVk04NiBtb2RlIGlmIHdlIGhhdmUgdGhlIDxzeXMvdm04Ni5oPiBpbmNsdWRlIGZpbGUuCisKKwkqIGRsbHMvcmFzYXBpMzIvcmFzYXBpLmMsIGRsbHMvcmFzYXBpMzIvcmFzYXBpMzIuc3BlYywgaW5jbHVkZS9yYXMuaDoKKwlNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJTmV3IHN0cnVjdHVyZXM6IFJBU0lQQUREUiwgUkFTREVWSU5GTywgUkFTRU5UUlkuCisJTmV3IHN0dWJzOiBSYXNTZXRFbnRyeVByb3BlcnRpZXMuCisJUmFzRW51bURldmljZXNBIGVuaGFuY2VkLgorCisJKiBkbGxzL3NoZWxsMzIvZGF0YW9iamVjdC5jOiBBbGJlcnRvIE1hc3NhcmkgPGFsYnlAZXhsbi5jb20+CisJVGhlIG9iamVjdCByZXR1cm5lZCBieSBJRW51bUZPUk1BVEVUQzo6Q2xvbmUgc2hvdWxkIGhhdmUgdGhlIHNhbWUKKwljdXJzb3IgcG9zaXRpb24gb2YgdGhlIHNvdXJjZSBvYmplY3QuCisKKwkqIGRsbHMvcnBjcnQ0L2NzdHViLmM6IEFsYmVydG8gTWFzc2FyaSA8YWxieUBleGxuLmNvbT4KKwlBdm9pZCBjcmFzaGluZyB3aGVuIHJlbGVhc2luZyBhbiBOZHJDU3RkU3R1YkJ1ZmZlciB0aGF0IGhhZCBiZWVuCisJcHJldmlvdXNseSBkaXNjb25uZWN0ZWQuCisKKwkqIGZpbGVzL2ZpbGUuYzogUnlhbiBDdW1taW5nIDxyeWFuQGNvbXBsZXRlbHkua2lja3MtYXNzLm9yZz4KKwktIFNpbGVuY2UgYW5ub3lpbmcgIkVtcHR5IHBhdGggcGFzc2VkIiBlcnJvci4KKwktIFNldCBlcnJvciBjb3JyZWN0bHkgd2hlbiBhbiBlbXB0eSBwYXRoIGlzIHBhc3NlZCB0byBEZWxldGVGaWxlLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9sb2NhbGUuYywgb2xlL29sZTJubHMuYzoKKwlSeWFuIEN1bW1pbmcgPHJ5YW5AY29tcGxldGVseS5raWNrcy1hc3Mub3JnPgorCVJlbW92ZSBPTEVfR2V0Rm9ybWF0QSwgcmVpbXBsZW1lbnQgR2V0RGF0ZUZvcm1hdEEgYW5kIEdldFRpbWVGb3JtYXRBCisJYXMgd3JhcHBlcnMgYXJvdW5kIHRoZWlyIFVuaWNvZGUgdmVyc2lvbnMuCisKKwkqIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzIuc3BlYywgZGxscy9vbGVhdXQzMi90eXBlbGliLmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRHJhZnQgaW1wbGVtZW50YXRpb24gb2YgRGlzcENhbGxGdW5jLgorCisyMDAyLTExLTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL3ZpcnR1YWwuYzoKKwlEaXNhYmxlIGFkZHJlc3Mgc3BhY2UgbGltaXQgY2hlY2sgb24gbm9uLWkzODYgcGxhdGZvcm1zLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRG8gbm90IGRyYXcgdGhlIHRleHQgb2YgdGhlIGl0ZW0gYmVpbmcgZWRpdGVkLgorCisJKiB0b29scy93aW5lYnVpbGQvaW1wb3J0LmM6IEVyaWMgRnJpYXMgPGVmcmlhc0BzeW5jYWQuY29tPgorCUFkZGVkIHF1b3RlcyB0byBhc3NlbWJseSBsYW5ndWFnZSBvdXRwdXQuCisKKwkqIHNjaGVkdWxlci9zeXNkZXBzLmM6IEp1cmFqIEhlcmNlayA8anVyYWpAc3luY2FkLmNvbT4KKwlJbXBsZW1lbnRlZCBTWVNERVBTX0NhbGxPblN0YWNrIGZvciBzcGFyY3MuCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvcmVncHJvYy5jOiBKdXJhaiBIZXJjZWsgPGp1cmFqQHN5bmNhZC5jb20+CisJQnVnIGZpeGVzIHJlbGF0ZWQgdG8gc3BhcmMgNC1ieXRlIGJvdW5kYXJ5IGFsaWdubWVudC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeCB0aGUgJ2p1bXBpbmcgc2VsZWN0aW9uJyBidWcgKCMxMTA4KS4KKwlNaXNjIHNtYWxsIGNsZWFudXBzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzogR2VyYWxkIFBmZWlmZXIgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CisJV2hlbiBjaGVja2luZyBmb3Igc3lzL21vdW50LmggYW5kIHN5cy91c2VyLmggYWxzbyBpbmNsdWRlIHN5cy90eXBlcy5oCisJaWYgYXZhaWxhYmxlLgorCisJKiBkbGxzL2dkaS90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy9rZXJuZWwvdGVzdHMvZ2VuZXJhdGVkLmMsCisJICBkbGxzL250ZGxsL3Rlc3RzL2dlbmVyYXRlZC5jLCBkbGxzL3VzZXIvdGVzdHMvZ2VuZXJhdGVkLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJVXBkYXRlZCB0aGUgZ2VuZXJhdGVkIHRlc3RzLgorCisJKiB0b29scy93aW5hcGkvdGVzdHMuZGF0LCB0b29scy93aW5hcGkvd2luYXBpX3Rlc3Q6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJLSBBZGRlZCBjb2RlIGZvciBkZXRlY3Rpb24gb2YgbWlzc2luZyB0eXBlcy4KKwktIEFkZGVkIG1pc3NpbmcgdHlwZXMuCisJLSBBZGRlZCBhIGZ1bmN0aW9uIGZvciBlYWNoIHR5cGUgdGVzdCB0byBpbXByb3ZlIGNvbXBpbGluZyB3aXRoIC1PMi4KKworCSogZGxscy9ycGNydDQvcnBjX2JpbmRpbmcuYywgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYzoKKwlHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwktIFJlbW92ZSBzdHVwaWQgaW5kZW50YXRpb25zIGZyb20gdHJhY2UgbXNncy4KKwktIFVwZGF0ZSB0aGUgcnBjIFRPRE8gbGlzdCBhIGJpdC4KKwktIEFkZCBzb21lIGNvbnN0YW50cyBmb3Igd2luYXBpX2NoZWNrLgorCS0gTmlsIHBvaW50ZXIgc3VwcG9ydCBmb3Igc29tZSBVVUlEIGZ1bmN0aW9ucyAoc3BvdHRlZCBieSBPbGl2aWVyCisJICBFdmFsZXQpLgorCisJKiBjb250cm9scy9tZW51LmM6IENocmlzIE1vcmdhbiA8Y21vcmdhbkBhbHVtLndwaS5lZHU+CisJUmVtb3ZlIEVSUigpIGlmIG1lbnUgZW50cnkgaXNuJ3Qgb2YgdHlwZSBNRl9TVFJJTkcgYXMgc29tZQorCWFwcGxpY2F0aW9ucyBzZXQgZmxhZ3Mgb2YgTVRfU0VQQVJBVE9SIGFuZCBlcnJvbmVvdXMgZXJyb3JzIGFyZQorCXByb2R1Y2VkLiAgQWRkIGEgY291cGxlIG9mIGNvbW1lbnRzLgorCisJKiBkbGxzL250ZGxsL3RpbWUuYzogR3n2cmd5ICdOb2cnIEplbmV5IDxub2dAc2RmLmxvbmVzdGFyLm9yZz4KKwktIEZpeCBSdGxUaW1lVG9UaW1lRmllbGRzIHRvIGFjdHVhbGx5IHdvcmsuCisJLSBSZW1vdmUgY29tbWVudHMgYWJvdXQgbGVhcCBzZWNvbmRzLCB3aW5kb3dzIGRvZXNuJ3QgdGFrZSB0aGF0IGludG8KKwkgIGFjY291bnQuCisKKwkqIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBkbGxzL3dpbmVkb3MvaW50ZXJydXB0cy5jOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlTdGFydCB1c2luZyB3aW5lZG9zIGhhbmRsZXJzIGZvciBhbGwgaW50ZXJydXB0cy4KKworCSogd2luZG93cy9zeXNtZXRyaWNzLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUNvbXB1dGUgU01fQ1lNQVhJTUlaRUQgcHVyZWx5IGJhc2VkIG9uIHRoZSBzY3JlZW4gaGVpZ2h0IHVudGlsIHdlIGtub3cKKwlob3cgdG8gdGFrZSBpbnRvIGFjY291bnQgJ3N0YXJ0IG1lbnVzJyBjb3JyZWN0bHkuCisKKwkqIE1ha2UucnVsZXMuaW4sIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwgZGxscy9NYWtldGVzdC5ydWxlcy5pbiwKKwkgIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLAorCSAgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy91c2VyL01ha2VmaWxlLmluLAorCSAgZGxscy91c2VyL3VzZXIzMi5zcGVjLCBtaXNjZW11L01ha2VmaWxlLmluLCBtaXNjZW11L3dpbmUuc3BlYywKKwkgIHByb2dyYW1zL01ha2Vwcm9nLnJ1bGVzLmluLCBwcm9ncmFtcy9hdml0b29scy9NYWtlZmlsZS5pbiwKKwkgIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC9wYXJzZXIuYywKKwkgIHRvb2xzL3dpbmVidWlsZC93aW5lYnVpbGQubWFuLmluLCB0b29scy93aW5lbWFrZXI6CisJQWRkZWQgd2luZWJ1aWxkIC1lIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBlbnRyeSBwb2ludCBhbmQgcmVtb3ZlZCB0aGUKKwknaW5pdCcgc3BlYyBmaWxlIGRpcmVjdGl2ZS4KKwlXaW5lYnVpbGQgbG9uZyBvcHRpb25zIG5vdyB1c2UgYSBtb3JlIHN0YW5kYXJkIGRvdWJsZSBkYXNoIGZvcm1hdAorCShvbGRlciBmb3JtYXQgc3RpbGwgc3VwcG9ydGVkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSkuCisKKwkqIHRvb2xzL3dpbmFwaS93aW4xNi5hcGksIHRvb2xzL3dpbmFwaS93aW4zMi5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svbW9kdWxlcy5kYXQ6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQVBJIGZpbGVzIHVwZGF0ZS4KKworCSogZGxscy9tc3ZjcnQvdGVzdHMvc2NhbmYuYywgZGxscy9tc3ZpZGVvL21zdmlkZW8xNi5jLAorCSAgZGxscy93aW5lZG9zL2ludDA5LmMsIGRsbHMvd2luZWRvcy9pbnQxMC5jLCBkbGxzL3dpbmVkb3MvaW50MTYuYywKKwkgIGRsbHMvd2luZWRvcy9pbnQxNy5jLCBkbGxzL3dpbmVkb3MvaW50MjAuYywgZGxscy93aW5lZG9zL2ludDIxLmMsCisJICBkbGxzL3dpbmVkb3MvaW50MjkuYywgZGxscy93aW5lZG9zL2ludDMzLmMsIGRsbHMvd2luZWRvcy9pbnQ2Ny5jLAorCSAgZGxscy93aW5lZG9zL2ludGVycnVwdHMuYywgZGxscy93aW5tbS9tbXN5c3RlbS5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIHNvbWUgaXNzdWVzIGZvdW5kIGJ5IHdpbmFwaV9jaGVjay4KKworCSogaW5jbHVkZS93aW5lL29ial9iYXNlLmg6IE92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUFkZCBJQ09NX0RFRklORTEgbWFjcm8gdG8gZGVmaW5lIGEgQ09NIGludGVyZmFjZSB3aXRob3V0IGEgYmFzZQorCWNsYXNzLgorCVVzZSBpdCB0byBkZWZpbmUgSVVua25vd24uCisKKwkqIGRsbHMvZDNkOC9kM2Q4X21haW4uYywgZGxscy9kM2Q4L2QzZDhfcHJpdmF0ZS5oLCBkbGxzL2QzZDgvZGV2aWNlLmMsCisJICBkbGxzL2QzZDgvZGlyZWN0eC5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJLSBTdGVuY2lsIG1hcHBpbmcgbm93IHdvcmtzIChpdCBoZWxwcyB0byBhY3R1YWxseSBhbGxvY2F0ZSBhIHN0ZW5jaWwKKwkgIGJ1ZmZlcikuCisJLSBUZXh0dXJlIG1hcHBpbmcgY29ycmVjdGVkIGlmIG5vIHJlYWwgdGV4dHVyZSBib3VuZC4KKwktIENvZGUgbm93IGRldGVjdHMgd2hpY2ggb3BlbmdsIGV4dGVuc2lvbnMgYXJlIHByZXNlbnQgLSB0byBiZQorCSAgZXh0ZW5kZWQgbGF0ZXIuCisJLSBNb3JlIGRlYnVnIHRyYWNlcG9pbnRzLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL2hhc2guYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJUmVwbGFjZWQgYXNzZXJ0IGJ5IHNpbXBsZSBpZiArIHdhcm5pbmcgbWVzc2FnZSBmb3IgdG9vIGxvbmcgc3ltYm9scy4KKworCSogZGxscy93aW5lZG9zL2ludDMxLmM6IEp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlNb3ZlIG1vc3QgaW50MzEgZnVuY3Rpb25zIHRvIHdpbmVkb3MuCisJQWRkIERQTUkzMiBmaXhlcy4KKworCSogZGxscy9kZHJhdy9kZHJhdy9oYWwuYywgZGxscy9kZHJhdy9kZHJhdy91c2VyLmMsCisJICBkbGxzL2RkcmF3L2RzdXJmYWNlL2RpYi5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL2Zha2V6YnVmZmVyLmMsCisJICBkbGxzL2RkcmF3L2RzdXJmYWNlL2dhbW1hLmMsIGRsbHMvZGRyYXcvZHN1cmZhY2UvaGFsLmMsCisJICBkbGxzL2RkcmF3L2RzdXJmYWNlL3RodW5rcy5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL3VzZXIuYzoKKwlNYXR0aGV3IEJsb2NoIDxtYXR0aGV3QGJ5dGVtYXJrLmNvLnVrPgorCVZ0YWJsZSBmaXhlcy4KKworCSogZGxscy9yYXNhcGkzMi9yYXNhcGkuYywgZGxscy9yYXNhcGkzMi9yYXNhcGkzMi5zcGVjOgorCU1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlBZGRlZCBSYXNWYWxpZGF0ZUVudHJ5TmFtZUEgc3R1Yi4KKworMjAwMi0xMS0wNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWwzMi5zcGVjLCBkbGxzL2F2aWZpbDMyL2ZhY3RvcnkuYywKKwkgIGRsbHMvY29tY2F0L2NvbWNhdC5zcGVjLCBkbGxzL2NvbWNhdC9jb21jYXRfbWFpbi5jLAorCSAgZGxscy9jb21jdGwzMi9jb21jdGwzMi5zcGVjLCBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZzMyLmMsIGRsbHMvY29tbWRsZy9jb21kbGczMi5zcGVjLAorCSAgZGxscy9jcnRkbGwvY3J0ZGxsLnNwZWMsIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmMsCisJICBkbGxzL2QzZDgvZDNkOC5zcGVjLCBkbGxzL2QzZDgvZDNkOF9tYWluLmMsIGRsbHMvZGRyYXcvZGRyYXcuc3BlYywKKwkgIGRsbHMvZGRyYXcvbWFpbi5jLCBkbGxzL2RpbnB1dC9kaW5wdXQuc3BlYywKKwkgIGRsbHMvZGlucHV0L2RpbnB1dF9tYWluLmMsIGRsbHMvZHBsYXl4L2RwbGF5eC5zcGVjLAorCSAgZGxscy9kcGxheXgvZHBsYXl4X21haW4uYywgZGxscy9nZGkvZ2RpMzIuc3BlYywgZGxscy9nZGkvZ2RpX21haW4uYywKKwkgIGRsbHMvaW1hZ2VobHAvaW1hZ2VobHAuc3BlYywgZGxscy9pbWFnZWhscC9pbWFnZWhscF9tYWluLmMsCisJICBkbGxzL21zYWNtL21zYWNtMzIuc3BlYywgZGxscy9tc2FjbS9tc2FjbTMyX21haW4uYywKKwkgIGRsbHMvbXNpc3lzL21zaXN5cy5jLCBkbGxzL21zaXN5cy9tc2lzeXMub2N4LnNwZWMsCisJICBkbGxzL21zdmNydC9tYWluLmMsIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjLAorCSAgZGxscy9tc3ZpZGVvL21zcmxlMzIvbXNybGUzMi5jLCBkbGxzL21zdmlkZW8vbXNybGUzMi9tc3JsZTMyLnNwZWMsCisJICBkbGxzL25ldGFwaTMyL25ldGFwaTMyLmMsIGRsbHMvbmV0YXBpMzIvbmV0YXBpMzIuc3BlYywKKwkgIGRsbHMvb2RiYzMyL29kYmMzMi5zcGVjLCBkbGxzL29kYmMzMi9wcm94eW9kYmMuYywKKwkgIGRsbHMvb2xlMzIvb2xlMzIuc3BlYywgZGxscy9vbGUzMi9vbGUzMl9tYWluLmMsCisJICBkbGxzL29wZW5nbDMyL29wZW5nbDMyLnNwZWMsIGRsbHMvb3BlbmdsMzIvd2dsLmMsCisJICBkbGxzL3JpY2hlZGl0L3JpY2hlZDMyLnNwZWMsIGRsbHMvcmljaGVkaXQvcmljaGVkaXQuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NC5zcGVjLCBkbGxzL3JwY3J0NC9ycGNydDRfbWFpbi5jLAorCSAgZGxscy9zZXJpYWx1aS9jb25mZGxnLmMsIGRsbHMvc2VyaWFsdWkvc2VyaWFsdWkuc3BlYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbDMyLnNwZWMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYywKKwkgIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpX21haW4uYywKKwkgIGRsbHMvc25tcGFwaS9tYWluLmMsIGRsbHMvc25tcGFwaS9zbm1wYXBpLnNwZWMsCisJICBkbGxzL3R0eWRydi90dHlkcnYuc3BlYywgZGxscy90dHlkcnYvdHR5ZHJ2X21haW4uYywKKwkgIGRsbHMvdHdhaW4vdHdhaW4zMl9tYWluLmMsIGRsbHMvdHdhaW4vdHdhaW5fMzIuc3BlYywKKwkgIGRsbHMvdXJsbW9uL3VybG1vbi5zcGVjLCBkbGxzL3VybG1vbi91cmxtb25fbWFpbi5jLAorCSAgZGxscy93aW5hc3BpL3dpbmFzcGkzMi5jLCBkbGxzL3dpbmFzcGkvd25hc3BpMzIuc3BlYywKKwkgIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBkbGxzL3dpbmVkb3Mvd2luZWRvcy5zcGVjLCBkbGxzL3dpbmVwcy9pbml0LmMsCisJICBkbGxzL3dpbmVwcy93aW5lcHMuc3BlYywgZGxscy93aW5pbmV0L2ludGVybmV0LmMsCisJICBkbGxzL3dpbmluZXQvd2luaW5ldC5zcGVjLCBkbGxzL3dpbm1tL21jaWF2aS9tY2lhdmkuYywKKwkgIGRsbHMvd2lubW0vbWNpYXZpL21jaWF2aS5kcnYuc3BlYywgZGxscy93aW5tbS93aW5tbS5jLAorCSAgZGxscy93aW5tbS93aW5tbS5zcGVjLCBkbGxzL3dpbnNvY2svc29ja2V0LmMsCisJICBkbGxzL3dpbnNvY2svd3MyXzMyLnNwZWMsIGRsbHMvd2luc3Bvb2wvd2luc3Bvb2wuZHJ2LnNwZWMsCisJICBkbGxzL3dpbnNwb29sL3dzcG9vbC5jLCBkbGxzL3gxMWRydi94MTFkcnYuc3BlYywKKwkgIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlNYWRlIHRoZSBkbGwgZW50cnkgcG9pbnQgZGVmYXVsdCB0byBEbGxNYWluIGFuZCByZW1vdmVkIG1vc3Qgb2YgdGhlCisJJ2luaXQnIHNwZWMgZmlsZSBkZWNsYXJhdGlvbnMuCisKKwkqIGRsbHMvc2hlbGwzMi9jb250cm9sLmM6IFdhcm5pbmcgZml4LgorCisJKiBkbGxzL2tlcm5lbC9mb3JtYXRfbXNnLmM6CisJUnlhbiBDdW1taW5nIDxyeWFuQGNvbXBsZXRlbHkua2lja3MtYXNzLm9yZz4KKwlIYW5kbGUgRk9STUFUX01FU1NBR0VfRlJPTV9ITU9EVUxFIGFuZCBGT1JNQVRfTUVTU0FHRV9GUk9NX1NZU1RFTSBib3RoCisJYmVpbmcgc2V0IGF0IG9uY2UuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL3dpbm1tL01ha2VmaWxlLmluLAorCSAgZGxscy93aW5tbS90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL3dpbm1tL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy93aW5tbS90ZXN0cy93YXZlLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlUZXN0IHNvdW5kIGZvcm1hdCBzdXBwb3J0IHdpdGggd2F2ZU91dEdldERldkNhcHMgYW5kIHdhdmVPdXRPcGVuLgorCisJKiByZWxheTMyL3JlbGF5Mzg2LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlIYWNrIHRvIGRldGVjdCByZWdpc3RlciBmdW5jdGlvbnMgYXV0b21hdGljYWxseSBzbyB0aGF0IHJlbGF5IGRlYnVnCisJYWxzbyB3b3JrcyBmb3IgZnVuY3Rpb25zIHVzaW5nIHRoZSBERUZJTkVfUkVHU19FTlRSWV9QT0lOVCBtYWNyb3MuCisKKwkqIGZpbGVzL2RpcmVjdG9yeS5jOiBNYWtlIENPTVNQRUMgcG9pbnQgdG8gd2NtZC5leGUsIG5vdCBjb21tYW5kLmNvbS4KKworCSogaW5jbHVkZS93aW51c2VyLmgsIHdpbmRvd3Mvc3lzcGFyYW1zLmM6CisJR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJLSBub29wIHJlZGVmaW5pdGlvbiBvZiBTUElfW0dFVC9TRVRdTUVOVVVOREVSTElORVMKKwktIGRlZmluZSBhbmQgZml4bWUgZm9yCisJICBTUElfW0dFVC9TRVRdW1NFTEVDVElPTkZBREUvRFJPUFNIQURPVy9LRVlCT0FSRENVRVNdCisKKwkqIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX0h1LnJjLCBwcm9ncmFtcy9jbG9jay9IdS5yYywKKwkgIHByb2dyYW1zL2Nsb2NrL3JzcmMucmMsIHByb2dyYW1zL25vdGVwYWQvSHUucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL3JzcmMucmMsIHByb2dyYW1zL3Byb2dtYW4vSHUucmMsCisJICBwcm9ncmFtcy9wcm9nbWFuL3JzcmMucmMsIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlX0h1LnJjLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGVfcmVzLnJjLCBwcm9ncmFtcy93aW5lZmlsZS9IdS5yYywKKwkgIHByb2dyYW1zL3dpbmVmaWxlL3JzcmMucmMsIHByb2dyYW1zL3dpbmhlbHAvSHUucmM6CisJWm9seSBOYWd5IDxuYWd5em9saUBkcm90cG9zdGEuaHU+CisJQWRkZWQvdXBncmFkZWQgSHVuZ2FyaWFuIHJlc291cmNlcy4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYywgZGxscy93aW4zMnMvd2luMzJzMTYuYywKKwkgIGdyYXBoaWNzL3gxMWRydi94Zm9udC5jLCBpbmNsdWRlL2dkaS5oLCBpbmNsdWRlL3dpbmJhc2UuaCwKKwkgIGluY2x1ZGUvd2luZ2RpLmgsIGluY2x1ZGUvd2lubnQuaCwgaW5jbHVkZS93aW51c2VyLmgsCisJICBpbmNsdWRlL3gxMWZvbnQuaCwgbWVtb3J5L3ZpcnR1YWwuYywgbXNkb3MvdnhkLmMsCisJICBvYmplY3RzL2VuaG1ldGFmaWxlLmMsIG9iamVjdHMvZm9udC5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIG1pc21hdGNoZXMgYmV0d2VlbiB0aGUgV2luZSBoZWFkZXJzIGFuZCB0aGUgTWljcm9zb2Z0IGhlYWRlcnMuCisKKwkqIHRvb2xzL3dpbmFwaS9tc3ZjbWFrZXI6IFBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gVXBkYXRlZCBpdCB0byBzdXBwb3J0IGNoYW5nZXMgaW4gV2luZS4KKwktIEFkZGVkIHN1cHBvcnQgZm9yIEMrKyBjb21waWxhdGlvbiAob2ZmIGJ5IGRlZmF1bHQpLgorCisJKiBkbGxzL2dkaS90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy9rZXJuZWwvdGVzdHMvZ2VuZXJhdGVkLmMsCisJICBkbGxzL250ZGxsL3Rlc3RzL2dlbmVyYXRlZC5jLCBkbGxzL3VzZXIvdGVzdHMvZ2VuZXJhdGVkLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJVXBkYXRlZCB0aGUgZ2VuZXJhdGVkIHRlc3RzLgorCisJKiB0b29scy93aW5hcGkvY19wYXJzZXIucG0sIHRvb2xzL3dpbmFwaS9jX3R5cGUucG0sCisJICB0b29scy93aW5hcGkvdGVzdHMuZGF0LCB0b29scy93aW5hcGkvdGVzdHMucG0sCisJICB0b29scy93aW5hcGkvd2luYXBpX3Rlc3Q6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQWRkZWQgdGVzdHMgZm9yIG5vcm1hbCB0eXBlcyAobm90IGp1c3Qgc3RydWN0dXJlcykuCisKKwkqIGluY2x1ZGUvd2lubmxzLmg6IFJ5YW4gQ3VtbWluZyA8cnlhbkBjb21wbGV0ZWx5LmtpY2tzLWFzcy5vcmc+CisJQWRkZWQgbWlzc2luZyBDU1RSXyBkZWZpbml0aW9ucy4KKworCSogZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJT1NTX1Jhd09wZW5EZXZpY2Ugc2hvdWxkIHJldHVybiBhbiBlcnJvciBpZiB0aGUgZm9ybWF0IGlzIG5vdAorCXN1cHBvcnRlZC4KKworCSogZGxscy9yYXNhcGkzMi9yYXNhcGkuYywgZGxscy9yYXNhcGkzMi9yYXNhcGkzMi5zcGVjOgorCVJ5YW4gQ3VtbWluZyA8cnlhbkBjb21wbGV0ZWx5LmtpY2tzLWFzcy5vcmc+CisJQWRkIHN0dWIgZm9yIFJhc0VudW1Db25uZWN0aW9uc1cuCisKKwkqIGRsbHMvb2xlMzIvbWFyc2hhbC5jLCBkbGxzL29sZTMyL29sZTJzdHVicy5jOgorCU1hcmN1cyBNZWlzc25lciA8bW1AbHN0LmRlPgorCUhhbmRsZSBlcnJvcnMgaW4gc3RkIG1hcnNoYWxsZXIgYmV0dGVyLCBkbyBub3QgY3Jhc2guCisJQWRkZWQgYW5vdGhlciBlcnJvciBtZXNzYWdlIGlmIHNvbWUgcHJvZ3JhbSB0cmllcyB0byBtYXJzaGFsCisJSU9sZU9iamVjdC4KKwlPbGVDcmVhdGUoKSBzaG91bGQgYmUgYWJsZSB0byB1c2UgTG9jYWwgU2VydmVycyB0b28gKGl0IGNhbid0IGFzIG9mCisJbm93LCBqdXN0IGZvciBkZWJ1Z2dpbmcpLgorCisJKiBkbGxzL3dpbmVwcy9kcml2ZXIuYywgZGxscy93aW5lcHMvaW5pdC5jOiBNYXJjdXMgTWVpc3NuZXIgPG1tQGxzdC5kZT4KKwlTcGVjaWZ5IGV4aXN0aW5nIGV4dHJhIHNpemUgb2YgV0lORVBTIERldm1vZGUgc3RydWN0dXJlLgorCU1ha2UgRXh0RGV2aWNlTW9kZTE2IGluIFdJTkVQUyByZXR1cm4gdGhlIGNvcnJlY3Qgc2l6ZS4KKworCSogcHJvZ3JhbXMvd2NtZC93Y21kbWFpbi5jOiBKYWNvIEdyZWVmZiA8amFjb0BwdXhlZG8ub3JnPgorCVNraXAgdGhlIGFsbG9jYXRpb24gb2YgYSBuZXcgY29uc29sZSBvbiAid2NtZCAvYyA8Y29tbWFuZD4iIGV4ZWN1dGlvbiwKKwl1c2luZyB0aGUgY3VycmVudCBhbGxvY2F0ZWQgU1RESU4gYW5kIFNURE9VVCBoYW5kbGVzIGZvciBjb21tYW5kCisJaW5wdXQvb3V0cHV0LgorCisJKiBkbGxzL3dpbmVkb3MvaW50MzEuYywgZGxscy93aW5lZG9zL2ludDY3LmMsIGRsbHMvd2luZWRvcy94bXMuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJSWdub3JlIFZDUEkgaW5zdGFsbGF0aW9uIGNoZWNrcy4gSGFuZGxlIFhNUyBxdWVyeSBhbnkgZXh0ZW5kZWQgbWVtb3J5CisJZnVuY3Rpb24uIEFkZCBzdHVicyBmb3IgZ2V0L3NldCBleGNlcHRpb24gaGFuZGxlciB2ZWN0b3IuCisKKwkqIGRsbHMvd2luZWRvcy9pbnRlcnJ1cHRzLmMsIG1zZG9zL2Rvc21lbS5jOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlXaGVuIHJldHVybmluZyBmcm9tIDMyLWJpdCBkZWZhdWx0IGludGVycnVwdCBoYW5kbGVycywgZWZsYWdzIGFyZSBub3cKKwlyZXR1cm5lZCBjb3JyZWN0bHkuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXcvdXNlci5jOiBMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCUFkZGl0aW9uYWwgZXhwb3J0ZWQgY2FwYWJpbGl0aWVzIHRvIHBsZWFzZSBzb21lIHBpY2t5IGdhbWVzLgorCisJKiBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYzogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwktIG9ubHkgY29tcGFyZSB0aGUgZmlyc3QgV09SRCBpbiB0aGUgRERTQ0FQUzIgc3RydWN0dXJlIGlmIG5vIERYNworCS0gYWRkIHNvbWUgVFJBQ0VzCisKKwkqIGRsbHMvZGRyYXcvaGVscGVyLmM6IExpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJQXVnbWVudCB0aGUgRERTQ0FQUzIgZHVtcGluZyByb3V0aW5lIHdpdGggbmV3IGNhcHMuCisKKzIwMDItMTAtMzEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIEFOTk9VTkNFLCBDaGFuZ2VMb2csIFZFUlNJT04sIGNvbmZpZ3VyZTogUmVsZWFzZSAyMDAyMTAzMS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMjAwMi0xMC0zMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogZGxscy9tc3ZjcnQvY3BwZXhjZXB0LmMsIGRsbHMvbXN2Y3J0L2V4Y2VwdC5jOgpkaWZmIC0tZ2l0IGEvVkVSU0lPTiBiL1ZFUlNJT04KaW5kZXggNmJjMGUwOS4uZWZjOGU4YSAxMDA2NDQKLS0tIGEvVkVSU0lPTgorKysgYi9WRVJTSU9OCkBAIC0xICsxIEBACi1XaW5lIHZlcnNpb24gMjAwMjEwMzEKK1dpbmUgdmVyc2lvbiAyMDAyMTEyNQpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IGU4YzJkZGYuLmQ5NTUzMTggMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NCBmb3IgV2luZSAyMDAyMTAzMS4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU0IGZvciBXaW5lIDIwMDIxMTI1LgogIwogIyBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgogIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTI2Myw4ICsyNjMsOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J1dpbmUnCiBQQUNLQUdFX1RBUk5BTUU9J3dpbmUnCi1QQUNLQUdFX1ZFUlNJT049JzIwMDIxMDMxJwotUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMjEwMzEnCitQQUNLQUdFX1ZFUlNJT049JzIwMDIxMTI1JworUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMjExMjUnCiBQQUNLQUdFX0JVR1JFUE9SVD0nJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc3NCw3ICs3NzQsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwMjEwMzEgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDAyMTEyNSB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC04MzksNyArODM5LDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDIxMDMxOiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDAyMTEyNToiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC05MzIsNyArOTMyLDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1XaW5lIGNvbmZpZ3VyZSAyMDAyMTAzMQorV2luZSBjb25maWd1cmUgMjAwMjExMjUKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NAogCiBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgpAQCAtOTQ3LDcgKzk0Nyw3IEBACiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMjEwMzEsIHdoaWNoIHdhcworSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMjExMjUsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU0LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMTQxNTUsNyArMTQxNTUsNyBAQAogfSA+JjUKIGNhdCA+JjUgPDxfQ1NFT0YKIAotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDAyMTAzMSwgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDIxMTI1LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NC4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTE0MjE3LDcgKzE0MjE3LDcgQEAKIAogY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKIGFjX2NzX3ZlcnNpb249IlxcCi1XaW5lIGNvbmZpZy5zdGF0dXMgMjAwMjEwMzEKK1dpbmUgY29uZmlnLnN0YXR1cyAyMDAyMTEyNQogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU0LAogICB3aXRoIG9wdGlvbnMgXFwiYGVjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKIAo=