ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggMDFjODQwZi4uOTM5YmIzNyAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgMjAwMjEwMDcgb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24KK1RoaXMgaXMgcmVsZWFzZSAyMDAyMTAzMSBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgogVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKIGFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKIGNvcnJlY3RseS4KQEAgLTYsMTEgKzYsMTIgQEAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAid2luZS1wYXRjaGVzQHdpbmVocS5jb20iLiAgUGxlYXNlIGRvbid0CiBmb3JnZXQgdG8gaW5jbHVkZSBhIENoYW5nZUxvZyBlbnRyeS4KIAotV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMjEwMDc6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQotCS0gTWFzc2l2ZSBsaXN0dmlldyByZXdyaXRlLgotCS0gTmV3IE1TIFJMRSBjb2RlYy4KLQktIHdpbmVtYWtlciBzaG91bGQgYmUgd29ya2luZyBhZ2Fpbi4KLQktIEJlZ2lubmluZ3Mgb2YgRGlyZWN0M0QgOCBzdXBwb3J0LgorV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMjEwMzE6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorICAgICAgICAtIENvbXBsZXRlIGxpc3R2aWV3IG92ZXJoYXVsLgorICAgICAgICAtIEJlZ2lubmluZ3Mgb2YgcmVhbCBSUEMgc3VwcG9ydC4KKyAgICAgICAgLSBNb3N0IGRsbHMgbm93IGJ1aWxkIHByb3Blcmx5IGluIFNUUklDVCBtb2RlLgorICAgICAgICAtIEludGVyLXByb2Nlc3Mgd2luZG93IGFjdGl2YXRpb24gYW5kIGZvY3VzIGhhbmRsaW5nLgorICAgICAgICAtIE1hbnkgaW1wcm92ZW1lbnRzIHRvIEFWSSBzdXBwb3J0LgogCS0gTG90cyBvZiBidWcgZml4ZXMuCiAKIFNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KQEAgLTE5LDEwICsyMCwxMCBAQAogdGhlIHJlbGVhc2UgaXMgYXZhaWxhYmxlIGF0IHRoZSBmdHAgc2l0ZXMuICBUaGUgc291cmNlcyB3aWxsIGJlIGF2YWlsYWJsZQogZnJvbSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKIAotICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjEwMDcudGFyLmd6Ci0gIGZ0cDovL2Z0cC5pbmZvbWFnaWMuY29tL3B1Yi9taXJyb3JzL2xpbnV4L3N1bnNpdGUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDIxMDA3LnRhci5negotICBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3VuaXgvbGludXgvbWlycm9ycy9zdW5zaXRlLnVuYy5lZHUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDIxMDA3LnRhci5negotICBmdHA6Ly9vcmN1cy5wcm9nc29jLnV0cy5lZHUuYXUvcHViL1dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAyMTAwNy50YXIuZ3oKKyAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDIxMDMxLnRhci5negorICBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAyMTAzMS50YXIuZ3oKKyAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS91bml4L2xpbnV4L21pcnJvcnMvc3Vuc2l0ZS51bmMuZWR1L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAyMTAzMS50YXIuZ3oKKyAgZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjEwMzEudGFyLmd6CiAKIEl0IHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZSBmcm9tIGFueSBvdGhlciBzaXRlIHRoYXQgbWlycm9ycyBpYmlibGlvLm9yZy4KIEZvciBtb3JlIGRvd25sb2FkIGxvY2F0aW9ucywgc2VlIGh0dHA6Ly9mdHBzZWFyY2gubHljb3MuY29tLiBUaGVzZQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGIwMjc0NGEuLjNlODA2MzAgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNCArMSwyMjQzIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyMDAyLTEwLTMxICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL21zdmNydC9jcHBleGNlcHQuYywgZGxscy9tc3ZjcnQvZXhjZXB0LmM6CisJQWRkZWQgY2xvYmJlciBsaXN0cyB0byB0aGUgaW5saW5lIGFzc2VtYmx5IGZ1bmN0aW9ucy4KKworCSogZGxscy9jb21tZGxnL2NvbG9yZGxnLmMsIGRsbHMvY29tbWRsZy9maWxlZGxnLmMsCisJICBkbGxzL2NvbW1kbGcvZm9udGRsZy5jLCBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYzoKKwlNYXR0aGV3IERhdmlzb24gPG0uZGF2aXNvbkB2aXJnaW4ubmV0PgorCUZpeGVkIHNvbWUgaGFuZGxlIGNvbnZlcnNpb25zIGZvciAtRFNUUklDVC4KKworCSogZGxscy9ycGNydDQvcnBjX3NlcnZlci5jLCBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywgaW5jbHVkZS9ycGNkY2UuaCwKKwkgIGluY2x1ZGUvcnBjZGNlcC5oOgorCUdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCUZpeCBzb21lIHByb2JsZW1zIGZvdW5kIGJ5IHdpbmFwaV9jaGVjay4KKworCSogZGxscy9ycGNydDQvbmRyX21hcnNoYWxsLmM6IEdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCUZpeCBzdHVwaWQgY2xvbmUgb2YgYnJva2VuIG1hY3JvLCBmb3VuZCBieSBNYXJjdXMuCisKKwkqIGluY2x1ZGUvd2luZS9ycGNmYy5oOiBPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlTb21lIFJQQyBmb3JtYXQgY2hhcmFjdGVycyBmcm9tIE1TIGRvY3VtZW50YXRpb24uCisKKwkqIGRsbHMvc2hlbGwzMi9jb250cm9sLmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCVJlbW92ZSBxdW90ZXMgZnJvbSBmaWxlbmFtZSBiZWZvcmUgY2FsbGluZyBMb2FkTGlicmFyeSBpbiBEb0xhdW5jaC4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOiBBbGJlcnRvIE1hc3NhcmkgPGFsYnlAZXhsbi5jb20+CisJLSBGaXhlZCB0eXBvIGluIFNIR2V0RmlsZUluZm9BLgorCS0gUHJvcGVybHkgY29udmVydCByZXR1cm4gdmFsdWVzIGJhY2sgdG8gVW5pY29kZSBpbiBTSEdldEZpbGVJbmZvVy4KKworCSogZGxscy9ycGNydDQvcnBjX2JpbmRpbmcuYywgZGxscy9ycGNydDQvcnBjX3NlcnZlci5jLAorCSAgaW5jbHVkZS9ycGNkY2VwLmg6CisJR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJUmVtb3ZlICNpZmRlZiBXSU5OVCBjb25kaXRpb25hbHM7IGp1c3QgdXNlIHRoZSBOVCBkZWZpbml0aW9ucy4KKworCSogZGxscy9ycGNydDQvbmRyX21hcnNoYWxsLmM6IEdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCS0gVXNlIGFwcHJvcHJpYXRlIHBlci1wbGF0Zm9ybSBORFJfTE9DQUwgRGF0YSBSZXByZXNlbnRhdGlvbi4KKwktIE1pbm9yIGhvdXNla2VlcGluZyBjaGFuZ2VzLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxsaW5rLmM6IE1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlFc2NhcGUgXCBpbiBwYXRoIGFuZCBhcmd1bWVudHMuCisJVXNlIFVOSVggc3R5bGUgd29ya19kaXIsIG5vdCB3aW5kb3dzIGRpci4KKworCSogcHJvZ3JhbXMvcHJvZ21hbi9TaS5yYywgcHJvZ3JhbXMvcHJvZ21hbi9yc3JjLnJjOgorCVJvayBNYW5kZWxqYyA8cm9rbWFuZGVsamNAaG90bWFpbC5jb20+CisJVXBkYXRlZCBTbG92ZW5pYW4gcmVzb3VyY2VzIGZvciAobmV3KSB2ZXJzaW9uIG9mIHByb2dtYW4uCisKKwkqIGRsbHMvcnBjcnQ0L25kcl9tYXJzaGFsbC5jLCBkbGxzL3JwY3J0NC9ycGNfYmluZGluZy5jLAorCSAgZGxscy9ycGNydDQvcnBjX3NlcnZlci5jLCBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywgaW5jbHVkZS9ycGNkY2UuaDoKKwlHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwktIEZpeCBvZmZzZXQgYnVnIGluIHRoZSBjb25mb3JtYW50IHN0cmluZyB1bm1hcnNoYWxsIHJvdXRpbmUuCisJLSBGaXggZGlzY3JlcGFuY3kgYmV0d2VlbiBoZWFkZXJzIGFuZCBpbXBsZW1lbnRhdGlvbiBvZgorCSAgSV9ScGNCaW5kaW5nU2V0QXN5bmMgd2hlbiBjb21waWxpbmcgdW5kZXIgV0lOTlQuCisJLSBFbGltaW5hdGUgcmFjZSBjb25kaXRpb25zIGluIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiAibGlzdGVuX2NvdW50IgorCSAgYW5kICJzdGRfbGlzdGVuIiBpbiBycGNfc2VydmVyLmguCisJLSBDb2RlLXN0dWJzIGZvciBScGNTZXJ2ZXJVbnJlZ2lzdGVySWYsIFJwY1NlcnZlclVucmVnaXN0ZXJJZkV4LgorCS0gQXR0ZW1wdCB0byBpbXBsZW1lbnQgUnBjTWdtdFN0b3BTZXJ2ZXJMaXN0ZW5pbmcgKGRlZmluaXRlbHkgbm90CisJICBoYXBweSBqdXN0IHlldCkuCisJLSBScGNTZXJ2ZXJVbnJlZ2lzdGVySWZFeCB3YXNuJ3QgeHAtc2VwY2lmaWMgYWZ0ZXIgYWxsOyB0aGlzIGxlYWRzIG1lIHRvCisJICBzdXNwZWN0IHRoZXJlIGFyZSBtb3JlIHN1Y2ggbWlzdGFrZXMgaW4gdGhlIHNwZWMtZmlsZSBjb21tZW50cywgYnV0IEkKKwkgIGhhdmVuJ3QgbG9va2VkIGludG8gaXQgb3IgZml4ZWQgdGhlbSB5ZXQgKGNvbWluZyBzb29uKS4KKwktIENsZWFudXBzLCB0cmFjZS1lbmhhbmNlbWVudHMsIGV0Yy4KKworCSogc2VydmVyL2hvb2suYzoKKwlXb3JrIGFyb3VuZCB0byBtYWtlIHN5c3RlbS1nbG9iYWwgaG9va3MgYXQgbGVhc3QgcnVuIGluIHRoZSB0aHJlYWQKKwl0aGF0IHNldCB0aGVtLgorCisJKiBjb250cm9scy9saXN0Ym94LmMsIGRsbHMvdXNlci91c2VyMTYuYywgZGxscy91c2VyL3VzZXIzMi5zcGVjLAorCSAgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3gxMWRydi93aW5wb3MuYywgd2luZG93cy93aW4uYywKKwkgIHdpbmRvd3Mvd2lucG9zLmM6CisJU3BsaXQgb3V0IHNvbWUgbW9yZSAxNi1iaXQgY29kZS4KKworCSogZGxscy9tc3ZjcnQvZXhjZXB0LmMsIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjOgorCU1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlfc2VoX2xvbmdqbXBfdW53aW5kIGlzIGkzODYgb25seSBmb3Igbm93LgorCisJKiBpbmNsdWRlL3JwYy5oLCBpbmNsdWRlL3JwY25kci5oOgorCUdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCS0gQ2FzdCBORFJfKiAjZGVmaW5lcyB0byAodW5zaWduZWQgbG9uZykgaW5zdGVhZCBvZiAoVUlOVDMyKSBsaWtlIE1TCisJICBoZWFkZXJzLgorCS0gQ3JlYXRlIF9fUlBDX01BQ19fIGFuZCBfX1JQQ19XSU42NF9fIGNvbmRpdGlvbmFsICNkZWZpbmVzLgorCS0gQ29ycmVjdCBORFJfTE9DQUxfREFUQV9SRVBSRVNFTlRBVElPTiBmb3IgTWFjJ3MuCisJLSBOZXcgTkRSX0xPQ0FMX0lTX0JJR19FTkRJQU4gY29uZGl0aW9uYWwgI2RlZmluZS4KKwktICNkZWZpbmUgVEFSR0VUX0lTX05UNTBfT1JfTEFURVIuCisKKwkqIGRsbHMvcnBjcnQ0L25kcl9tYXJzaGFsbC5jOiBHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwlSZW5hbWUgdGhlICpfMzJfUkVBRCBtYWNyb3MgdG8gKl9VSU5UMzJfUkVBRCBmb3IgY2xhcml0eS4KKworCSogcHJvZ3JhbXMvcHJvZ21hbi9Fbi5yYzogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUZpeCBFbmdsaXNoIHByb2dtYW4gcmVzb3VyY2VzIGJ5IHRyYW5zbGF0aW5nIEZyZW5jaCBiaXRzLgorCisJKiBwcm9ncmFtcy9wcm9nbWFuL0ZyLnJjOiBWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJU21hbGwgY2xlYW51cCBmb3IgdGhlIEZyZW5jaCBwcm9nbWFuIHJlc291cmNlcy4KKworCSogZGxscy9jb21jdGwzMi9jb21ib2V4LmM6IENhcmxvcyBMb3phbm8gPGNsb3phbm9AYW5kYWdvLmNvbT4KKwlsUGFyYW0gd2FzIG5vdCBwcm9wZXJseSBzZW50IGluIENPTUJPRVhfRHJhd0l0ZW0uCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBcHBlbmQgY29sdW1ucyB3aXRoIGxhcmdlIGNvbHVtbiBpbmRpY2VzLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgaW5jbHVkZS9jb25maWcuaC5pbiwgc2NoZWR1bGVyL2NsaWVudC5jOgorCVN0ZXZlbiBFZHdhcmRzIDxTdGV2ZW5fRWQ0MTUzQHlhaG9vLmNvbT4KKwlNaW5ndyBwb3J0aW5nIGZpeC4KKworCSogZGxscy93aW5lZG9zL2ludDEwLmMsIGRsbHMvd2luZWRvcy92Z2EuYywgZGxscy93aW5lZG9zL3ZnYS5oOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlQcmV2ZW50IGNyYXNoZXMgd2hlbiBET1MgcHJvZ3JhbSB0cmllcyB0byBhY2Nlc3MgY29uc29sZSBhbmQgbm8KKwlXaW5kb3dzIGNvbnNvbGUgaXMgYXZhaWxhYmxlLgorCisJKiBkbGxzL3gxMWRydi9NYWtlZmlsZS5pbiwgZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsCisJICBkbGxzL3gxMWRydi9ldmVudC5jLCBkbGxzL3gxMWRydi9zY3JvbGwuYywgZGxscy94MTFkcnYvd2luZG93LmMsCisJICBkbGxzL3gxMWRydi93aW5wb3MuYywgZGxscy94MTFkcnYveDExZGRyYXcuYywgZGxscy94MTFkcnYveHJlbmRlci5jLAorCSAgZ3JhcGhpY3MveDExZHJ2L2JpdG1hcC5jLCBncmFwaGljcy94MTFkcnYvYnJ1c2guYywKKwkgIGdyYXBoaWNzL3gxMWRydi9kaWIuYywgZ3JhcGhpY3MveDExZHJ2L2luaXQuYywKKwkgIGdyYXBoaWNzL3gxMWRydi9wYWxldHRlLmMsIGdyYXBoaWNzL3gxMWRydi90ZXh0LmMsCisJICBncmFwaGljcy94MTFkcnYveGZvbnQuYzoKKwlDb252ZXJ0ZWQgeDExZHJ2IHRvIC1EU1RSSUNULgorCisJKiBkbGxzL21zdmlkZW8vbWNpd25kLmMsIGRsbHMvd2lubW0vbWNpYW5pbS9tY2lhbmltLmMsCisJICBkbGxzL3dpbm1tL21jaWF2aS9wcml2YXRlX21jaWF2aS5oLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsCisJICBkbGxzL3dpbm1tL3dpbmVtbS5oLCBpbmNsdWRlL21tZGRrLmgsIGluY2x1ZGUvd2luZS9tbXN5c3RlbTE2LmgsCisJICB3aW5kb3dzL2RyaXZlci5jOgorCU1vdmVkIDE2LWJpdCBkZWZpbml0aW9ucyBvdXQgb2YgbW1kZGsuaCBpbnRvIG1tc3lzdGVtMTYuaC4KKworCSogZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsIGRsbHMveDExZHJ2L3dpbmRvdy5jLCBkbGxzL3gxMWRydi93aW5wb3MuYywKKwkgIGRsbHMveDExZHJ2L3gxMWRkcmF3LmMsIGRsbHMveDExZHJ2L3hyZW5kZXIuYywKKwkgIGdyYXBoaWNzL3gxMWRydi9icnVzaC5jLCBncmFwaGljcy94MTFkcnYvdGV4dC5jLAorCSAgZ3JhcGhpY3MveDExZHJ2L3hmb250LmM6CisJRml4ZWQgYSBudW1iZXIgb2YgLURTVFJJQ1Qgd2FybmluZ3MuCisKKwkqIGRsbHMvbXN2Y3J0L2NwcGV4Y2VwdC5jLCBkbGxzL21zdmNydC9tc3ZjcnQuaDoKKwlBZGRlZCBzdXBwb3J0IGZvciBuZXN0ZWQgZXhjZXB0aW9ucyBoYXBwZW5pbmcgaW5zaWRlIGEgY2F0Y2ggYmxvY2suCisKKwkqIHdpbmRvd3MvbXNnYm94LmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCU1TR0JPWF9EbGdQcm9jOiBicmVhayBvdXQgb2YgV01fQ09NTUFORC4KKworCSogY29udHJvbHMvbWVudS5jLCBkbGxzL2F2aWZpbDMyL2FwaS5jLCBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jLAorCSAgZGxscy9jb21jdGwzMi90b29sYmFyLmMsIGRsbHMvY29tbWRsZy9jb2xvcmRsZy5jLAorCSAgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywgZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jLAorCSAgZGxscy9jb21tZGxnL2ZpbmRkbGcuYywgZGxscy9jb21tZGxnL2ZpbmRkbGczMi5jLAorCSAgZGxscy9jb21tZGxnL2ZvbnRkbGcuYywgZGxscy9jb21tZGxnL3ByaW50ZGxnLmMsCisJICBkbGxzL21zYWNtL2Zvcm1hdC5jLCBkbGxzL3NlcmlhbHVpL2NvbmZkbGcuYywKKwkgIGRsbHMvc2V0dXBhcGkvdmlydGNvcHkuYywgZGxscy9zaGVsbDMyL2Jyc2ZvbGRlci5jLAorCSAgZGxscy9zaGVsbDMyL2RpYWxvZ3MuYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLCBkbGxzL3VzZXIvbWVzc2FnZS5jLAorCSAgZGxscy93aW5lcHMvZHJpdmVyLmMsIGluY2x1ZGUvd2ludXNlci5oLCB3aW5kb3dzL2RpYWxvZy5jLAorCSAgd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL21zZ2JveC5jLCB3aW5kb3dzL3RpbWVyLmMsCisJICB3aW5kb3dzL3dpbmhlbHAuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAYmFpa2FsLnJ1PgorCUZpeCBzb21lIHR5cGVzIGFuZCBmdW5jdGlvbiBwcm90b3R5cGVzIGFjY29yZGluZyB0byBQbGF0Zm9ybSBTREsKKwlkZWZpbml0aW9ucy4KKworCSogZGxscy93aW5tbS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9kcml2ZXIuYywgZGxscy93aW5tbS9qb3lzdGljay5jLAorCSAgZGxscy93aW5tbS9sb2x2bGRydi5jLCBkbGxzL3dpbm1tL21jaS5jLCBkbGxzL3dpbm1tL21lc3NhZ2UxNi5jLAorCSAgZGxscy93aW5tbS9tbWlvLmMsIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywgZGxscy93aW5tbS9wbGF5c291bmQuYywKKwkgIGRsbHMvd2lubW0vd2luZW1tLmgsIGRsbHMvd2lubW0vd2lubW0uYywgaW5jbHVkZS9tbWRkay5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCXdpbm1tL21tc3lzdGVtIG5vdyBjb21waWxlcyB3aXRoIC1EU1RSSUNULgorCisJKiBpbmNsdWRlL3Zmdy5oOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlTcGxpdCBiZXR3ZWVuIDE2IC8gMzIgYml0IGNvZGUuCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggc29tZSB0cmVldmlldyBub3RpZmljYXRpb24gY29kZXMgYmV0d2VlbiBBTlNJL1VuaWNvZGUgbW9kZS4KKworCSogZGxscy93aW5tbS93YXZlbWFwL3dhdmVtYXAuYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJUmV0dXJuIGNvcnJlY3QgdmFsdWVzIGZvciB3YXZlKElufE91dClHZXRQb3NpdGlvbiBldmVuIGlmIHBsYXlpbmcgbm9uCisJUENNIGZpbGVzLgorCisJKiBkbGxzL21zdmlkZW8vTWFrZWZpbGUuaW4sIGRsbHMvbXN2aWRlby9kcmF3ZGliLmMsCisJICBkbGxzL21zdmlkZW8vbXN2aWRlby5zcGVjLCBkbGxzL21zdmlkZW8vbXN2aWRlbzE2LmMsCisJICBkbGxzL21zdmlkZW8vbXN2aWRlb19tYWluLmMsIGRsbHMvbXN2aWRlby9tc3ZpZGVvX3ByaXZhdGUuaCwKKwkgIGRsbHMvbXN2aWRlby92ZncxNi5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCVNwbGl0IGJldHdlZW4gMTYgLyAzMiBiaXQgY29kZS4KKworMjAwMi0xMC0zMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy93aW5lZG9zLy5jdnNpZ25vcmU6IEFkZGVkIHdpbmVkb3MxNi5zcGVjLmMuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL21zdmNydC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbXN2Y3J0L3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvbXN2Y3J0L3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9tc3ZjcnQvdGVzdHMvc2NhbmYuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJRmlyc3QgdmVyc2lvbiBvZiBtc3ZjcnQgc2NhbmYgdGVzdC4KKworCSogY29udHJvbHMvY29tYm8uYywgY29udHJvbHMvZGVza3RvcC5jLCBjb250cm9scy9lZGl0LmMsCisJICBjb250cm9scy9zdGF0aWMuYywgY29udHJvbHMvdWl0b29scy5jLCBkbGxzL3VzZXIvdXNlcjE2LmMsCisJICBpbmNsdWRlL3dpbi5oLCB3aW5kb3dzL2RlZnduZC5jLCB3aW5kb3dzL21lc3NhZ2UuYywKKwkgIHdpbmRvd3Mvbm9uY2xpZW50LmMsIHdpbmRvd3MvcGFpbnRpbmcuYywgd2luZG93cy9zY3JvbGwuYywKKwkgIHdpbmRvd3Mvc3lzcGFyYW1zLmMsIHdpbmRvd3Mvd2luLmM6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlTb21lIG1vcmUgZml4ZXMgZm9yIGNvbXBpbGluZyB0aGUgdXNlciBkbGwgd2l0aCAtRFNUUklDVC4KKworCSogZGxscy93aW5lZG9zL01ha2VmaWxlLmluLCBkbGxzL3dpbmVkb3Mvd2luZWRvczE2LnNwZWM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCUFkZCB3aW5lZG9zMTYuZGxsIHdoaWNoIGNvbnRhaW5zIDE2LWJpdCBwcm90ZWN0ZWQgbW9kZSBpbnRlcnJ1cHQgZW50cnkKKwlwb2ludHMuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oOgorCUNhcmxvcyBMb3phbm8gPGNsb3phbm9AYW5kYWdvLmNvbT4KKwlGaXhlZCBTSEdGSV9TWVNJQ09OSU5ERVggZmxhZyBoYW5kbGluZy4KKworCSogTWFrZWZpbGUuaW4sIGRsbHMvTWFrZXRlc3QucnVsZXMuaW4sIGluY2x1ZGUvd2luZS90ZXN0LmgsCisJICBwcm9ncmFtcy93aW5ldGVzdC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZXRlc3QvbWFrZV9jdGVzdHMsCisJICBwcm9ncmFtcy93aW5ldGVzdC93dG1haW4uYzoKKwlNb3ZlZCB0aGUgdGVzdCByb3V0aW5lcyBmcm9tIHd0bWFpbi5jIGludG8gd2luZS90ZXN0Lmggc28gdGhhdCB0aGV5CisJY2FuIGJlIGNvbXBpbGVkIHNlcGFyYXRlbHkgd2l0aCBkaWZmZXJlbnQgZmxhZ3MgZm9yIGVhY2ggZGxsLgorCisJKiBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYzogTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCUZpeGVkIExJVFRMRV9FTkRJQU5fMzJfUkVBRCBtYWNybyB0byBhdCBsZWFzdCBjb21waWxlLgorCisJKiBkbGxzL3dpbnNvY2svTWFrZWZpbGUuaW4sIGRsbHMvd2luc29jay9hc3luYy5jLAorCSAgZGxscy93aW5zb2NrL3NvY2tldC5jLCBpbmNsdWRlL3dpbnNvY2suaDoKKwlNYXJ0aW4gV2lsY2sgPE1hcnRpbi5XaWxja0BGdWppdHN1LVNpZW1lbnMuY29tPgorCS0gRGVmaW5lIFNPQ0tFVCBhcyBVSU5UX1BUUiBmb3IgV2luNjQgKHRoYW5rcyB0byBQLiBTdHJpZHZhbGwpLgorCS0gTWFrZSB3aW5zb2NrIGNvbXBpbGUgd2l0aG91dCBXSU5FX05PX1NUUklDVC4KKworCSogZGxscy9udGRsbC9zaWduYWxfcG93ZXJwYy5jOiBNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJUG93ZXJwYyBpbnN0cnVjdGlvbiBwb2ludGVyIGlzIElhciwgbm90IEVpcC4KKworCSogZGxscy93aW5tbS93YXZlbWFwL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL3dhdmVtYXAvd2F2ZW1hcC5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCXdhdmVtYXAgbm93IGNvbXBpbGVzIHdpdGggLURTVFJJQ1QuCisKKzIwMDItMTAtMjkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHRvb2xzL3dpbmVpbnN0YWxsOgorCVJlbW92ZWQgbm8gbG9uZ2VyIG5lZWRlZCBzdXBwb3J0IGZvciBwYXRjaGluZyB0aGUgZGVidWdnZXIgcGF0aCBpbiB0aGUKKwlyZWdpc3RyeS4KKworCSogZGxscy9NYWtlZGxsLnJ1bGVzLmluOgorCU9ubHkgcnVuIHRoZSAzMi1iaXQgY2hlY2tsaW5rIGZvciBkbGxzIHRoYXQgY29udGFpbiAxNi1iaXQgZmlsZXMuCisKKwkqIGRvY3VtZW50YXRpb24vYnVncy5zZ21sLCBkb2N1bWVudGF0aW9uL2NvbmZpZ3VyaW5nLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL2luc3RhbGxpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi93aW5lLm1hbi5pbjoKKwlBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJLSBhZGRlZCB0cm91Ymxlc2hvb3Rpbmcgc2VjdGlvbiB0byBXaW5lIFVzZXJzIEd1aWRlICh0YWtlbiBmcm9tIFdpbmUKKwkgIFRyb3VibGVzaG9vdGluZyBHdWlkZSkKKwktIGRvY3VtZW50ZWQgV2luZG93cy9ET1MgdmVyc2lvbiB2YWx1ZXMgKGdycnIgISkKKwktIG1pc2MuIG90aGVyIHN0dWZmCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMvd2luZWRvcy9pbnQyMC5jLAorCSAgZGxscy93aW5lZG9zL2ludDIxLmMsIGRsbHMvd2luZWRvcy9pbnQzMS5jLAorCSAgZGxscy93aW5lZG9zL2ludGVycnVwdHMuYywgaW5jbHVkZS9taXNjZW11Lmg6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCU1vZGlmeSB3aW5lZG9zIGludGVycnVwdCBoYW5kbGVycyBzbyB0aGF0IHRoZXkgd29yayB3aXRoIFBNCisJaW50ZXJydXB0cy4KKwlBZGQgZm9yd2FyZGluZyBmdW5jdGlvbnMgZm9yIGhhbmRsZXJzIGluIG90aGVyIERMTHMuCisJTWFrZSBET1NWTV9HZXRCdWlsdGluSGFuZGxlciB1c2Ugc3RhdGljIHRhYmxlIGluc3RlYWQgb2YKKwlHZXRQcm9jQWRkcmVzcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJRml4IGZvciBsaXN0dmlldyB3aGVlbG1vdXNlIG1lc3NhZ2UgaGFuZGxpbmcuCisKKwkqIGluY2x1ZGUvd2luZS90ZXN0Lmg6IFBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFkZGVkIHtvayx0cmFjZX1fIG1hY3JvcyB0byB0YWtlIGV4cGxpY2l0IGZpbGUgYW5kIGxpbmUgbnVtYmVyLgorCisJKiBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYzogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJLSBtb3JlIGNvbW1lbnRzIGFuZCBjb21tZW50LWNsZWFudXAKKwktIGF0dGVtcHQgdG8gaW1wbGVtZW50IE5kckNvbmZvcm1hbnRTdHJpbmdNZW1vcnlTaXplCisJLSBmaXggTmRyQ29uZm9ybWFudFN0cmluZ1VuTWFyc2hhbGwKKwktIHcwMHQhCisKKwkqIGRsbHMvd2lubW0vam95c3RpY2suYywgZGxscy93aW5tbS9tbXN5c3RlbS5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCU1vdmVkIDE2IGJpdCBqb3lzdGljayBmdW5jdGlvbiB0byBtbXN5c3RlbS5jLgorCisJKiBkbGxzL3dpbm1tL01ha2VmaWxlLmluLCBkbGxzL3dpbm1tL2pveXN0aWNrLmMsCisJICBkbGxzL3dpbm1tL21tc3lzdGVtLmMsIGRsbHMvd2lubW0vd2luZW1tLmgsIGRsbHMvd2lubW0vd2lubW0uYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwktIGludGVybmFsIHJlbmFtaW5nIChubyBsb25nZXIgdXNpbmcgTU1TWVNURU0gcHJlZml4ZXMgZm9yIFdJTk1NIG9ubHkKKwkgIGZ1bmN0aW9ucykKKwktIG1vdmVkIHRpbWUgMTYvMzIgY29udmVyc2lvbnMgZnVuY3Rpb25zIHRvIDE2IGJpdCBzb3VyY2UgZmlsZXMKKwktIGZpbmFsIE1ha2VmaWxlIGNoYW5nZXMgKDE2IGJpdCBwYXJ0IGNhbiBub3cgcmVhbGx5IGJlIG5vdCBjb21waWxlZAorCSAgd2hlbiAtZGlzYWJsZS13aW4xNiBpcyByZXF1ZXN0ZWQpCisKKwkqIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywgZGxscy93aW5tbS90aW1lLmMsIGRsbHMvd2lubW0vd2luZW1tLmg6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJLSBsZXQgYWxsIHRpbWUgcmVsYXRlZCBmdW5jdGlvbnMgbWFrZSB1c2Ugb2YgbG93IGxldmVsIGRyaXZlcnMgMTYgYml0CisJICBmdW5jdGlvbnMKKwktIHNvbWUgcmVuYW1pbmcgKHByZWZpeGluZyBpbnRlcm5hbCB0aW1lIGZ1bmN0aW9ucyB3aXRoIFRJTUUpCisKKwkqIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgZGxscy93aW5tbS9tZXNzYWdlMTYuYywgZGxscy93aW5tbS93aW5lbW0uaDoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlBbGwgbG93IGxldmVsIGRyaXZlciBmdW5jdGlvbnMgKGludGVybmFscyBmb3Igd2F2ZSwgbWlkaSwgbWl4ZXIgYW5kCisJYXV4KSBhcmUgbm93IGNsZWFubHkgc2VwYXJhdGVkLgorCisJKiBkbGxzL3dpbm1tL21jaS5jLCBkbGxzL3dpbm1tL21lc3NhZ2UxNi5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsCisJICBkbGxzL3dpbm1tL3dpbmVtbS5oLCBkbGxzL3dpbm1tL3dpbm1tLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJQWxsIE1DSSBmdW5jdGlvbnMgYXJlIG5vdyBjbGVhbmx5IHNlcGFyYXRlZC4KKworCSogZGxscy93aW5tbS9kcml2ZXIuYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3dpbm1tL3BsYXlzb3VuZC5jLAorCSAgZGxscy93aW5tbS93aW5lbW0uaDoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlBbGwgZHJpdmVyIGZ1bmN0aW9ucyBhcmUgbm93IHByb3Blcmx5IHNlcGFyYXRlZC4KKworCSogZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3dpbm1tL3dpbmVtbS5oLCBkbGxzL3dpbm1tL3dpbm1tLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJLSByZXZpc2l0ZWQgbW1zeXN0ZW0vd2lubW0gbG9hZGluZyBtZWNoYW5pc20KKwktIGFkZGVkIFdJTk1NX0NoZWNrTU1TeXN0ZW0gZnVuY3Rpb24gKGhlbHBzIDMyIGJpdCBjb2RlIGRldGVjdAorCSAgcHJlc2VuY2Ugb2Ygb3VyIG93biBtbXN5c3RlbSBETEwpCisJLSBzb21lIGludGVybmFsIHJlbmFtaW5nIChNVUxUSU1FRElBID0+IFdJTk1NKQorCisJKiBkbGxzL3dpbm1tL2RyaXZlci5jLCBkbGxzL3dpbm1tL21jaS5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsCisJICBkbGxzL3dpbm1tL3dpbmVtbS5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCU5vdyBvbmx5IHN0b3JpbmcgdGhyZWFkIGlkIGZvciBtY2kgdGFza3MgKDE2IGJpdCBodGFzayBpcyBub3cgZ290dGVuCisJZnJvbSBXT1cgZnVuY3Rpb25zKS4KKworCSogd2luZG93cy93aW5wb3MuYzogRml4ZWQgU2hvd1dpbmRvd0FzeW5jLgorCisJKiBkbGxzL3VzZXIvdXNlcl9tYWluLmMsIGluY2x1ZGUvcXVldWUuaCwgd2luZG93cy9xdWV1ZS5jOgorCVJlbW92ZWQgYSBjb3VwbGUgb2Ygbm8gbG9uZ2VyIHVzZWQgcXVldWUgZnVuY3Rpb25zLgorCisJKiBjb250cm9scy9jb21iby5jLCBkbGxzL2F2aWNhcDMyL2F2aWNhcDMyLnNwZWMsIGRsbHMvYXZpZmlsMzIvYXBpLmMsCisJICBkbGxzL2F2aWZpbDMyL2F2aWZpbGUuc3BlYywgZGxscy9ycGNydDQvcnBjcnQ0LnNwZWMsCisJICBkbGxzL3NldHVwYXBpL3NldHVwYXBpLnNwZWMsIGRsbHMvc2V0dXBhcGkvc3R1YnMuYywKKwkgIGRsbHMvdXNlci91c2VyMzIuc3BlYywgZGxscy93aW5pbmV0L2ludGVybmV0LmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJRml4ZWQgc29tZSBpc3N1ZXMgZm91bmQgYnkgd2luYXBpX2NoZWNrLgorCisJKiB0b29scy93aW5hcGkvd2luMTYuYXBpLCB0b29scy93aW5hcGkvd2luMzIuYXBpOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFQSSBmaWxlIHVwZGF0ZS4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsLmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uaCwKKwkgIGRsbHMvc2hlbGwzMi9zaGxleGVjLmM6CisJR3n2cmd5ICdOb2cnIEplbmV5IDxub2dAc2RmLmxvbmVzdGFyLm9yZz4KKwlTZXBhcmF0ZSBvdXQgMTYtYml0IFNoZWxsRXhlY3V0ZSBmdW5jdGlvbi4KKworCSogZGxscy9jb21jdGwzMi90b29sdGlwcy5jOiBTYW5kZXIgdmFuIExlZXV3ZW4gPHNhbmRlcnZsQHhzNGFsbC5ubD4KKwlGaXhlZCBmb250IG9iamVjdCBsZWFrIGluIFdNX1NFVEZPTlQgaGFuZGxlci4KKworCSogZGxscy94MTFkcnYva2V5Ym9hcmQuYzogSmVmZiBTbWl0aCA8d2h5ZG91YnRAaG90bWFpbC5jb20+CisJQ29ycmVjdGlvbnMgdG8gdGhlIFNwYW5pc2gga2V5Ym9hcmQgbGF5b3V0LgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGRsbHMvd2luc29jay93czJfMzIuc3BlYzoKKwlIYWdlbiBIZWlkdWNrIDx3aWJveDFAd2lmYS51bmktbGVpcHppZy5kZT4KKwlBZGRlZCBXU0FTZW5kRGlzY29ubmVjdC4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMvb2xlYXV0MzIvTWFrZWZpbGUuaW46CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQWRkZWQgc29tZSBkZWZpbmVzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggV2luZG93cyBoZWFkZXJzLgorCisJKiBkbGxzL2tlcm5lbC93b3d0aHVuay5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlTaWxlbmNlIHVubmVlZGVkIEVSUiB3aGlsZSBjb252ZXJ0aW5nIHRhc2tzLgorCisJKiBkbGxzL3dpbm1tL21taW8uYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3dpbm1tL3dpbmVtbS5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCS0gZmluaXNoIG1taW8gc2VwYXJhdGlvbgorCS0gbm8gbG9uZ2VyIHN0b3JpbmcgZnVuY3Rpb24gcG9pbnRlcnMgaW4gZ2xvYmFsIElEYXRhCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlTZW5kIHRoZSByaWdodCBub3RpZmljYXRpb24gY29kZSAoQS9XKSBkZXBlbmRpbmcgb24gdGhlIFVuaWNvZGUKKwlzZXR0aW5nLgorCisJKiB0b29scy93aW5hcGkvbXN2Y21ha2VyLCB0b29scy93aW5hcGkvbXN2Y21ha2VyX29wdGlvbnMucG0sCisJICB0b29scy93aW5hcGkvdXRpbC5wbToKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlBZGQgbmV3IG9wdGlvbnMgLS13aW5lIGFuZCAtLXdpbmV0ZXN0IHNvIHdvcmtzcGFjZSBhbmQgcHJvamVjdCBmaWxlcworCWZvciBXaW5lIGFuZCBXaW5ldGVzdCBtaWdodCBiZSBnZW5lcmF0ZWQgaW5kZXBlbmRlbnRseS4KKworCSogZGxscy9zaGVsbDMyL3Rlc3RzL3NobGZpbGVvcC5jLCBkbGxzL3VzZXIvdGVzdHMvc3lzcGFyYW1zLmMsCisJICBkbGxzL3VzZXIvdGVzdHMvd2luLmMsIGRsbHMvd2luaW5ldC90ZXN0cy9odHRwLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJRml4ZWQgdGVzdHMgdG8gY29tcGlsZSB3aXRoIE1TIEMgb24gV2luZG93cy4KKworCSogZGxscy9nZGkvdGVzdHMvZ2VuZXJhdGVkLmMsIGRsbHMva2VybmVsL3Rlc3RzL2dlbmVyYXRlZC5jLAorCSAgZGxscy9udGRsbC90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy91c2VyL3Rlc3RzL2dlbmVyYXRlZC5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCVVwZGF0ZWQgdGhlIGdlbmVyYXRlZCB0ZXN0cy4KKworCSogdG9vbHMvd2luYXBpL3Rlc3RzLmRhdCwgdG9vbHMvd2luYXBpL3dpbmFwaV90ZXN0OgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFkZGVkIHN1cHBvcnQgZm9yIGV4Y2x1ZGluZyBvcHRpb25hbCBmaWVsZHMuCisKKwkqIGluY2x1ZGUvd2luZ2RpLmgsIGluY2x1ZGUvd2ludXNlci5oOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIG1pc21hdGNoZXMgYmV0d2VlbiB0aGUgV2luZSBoZWFkZXJzIGFuZCB0aGUgTWljcm9zb2Z0IGhlYWRlcnMuCisKKwkqIGRsbHMvc2V0dXBhcGkvaW5mcGFyc2UuYzogSmFjbyBHcmVlZmYgPGphY29AcHV4ZWRvLm9yZz4KKwlNYWRlIHRoZSByZXBvcnRpbmcgZm9yIHRoZSAoY3VycmVudCkgdW5zdXBwb3J0ZWQgZmxhZ3MgaW4gR2VuSW5zdGFsbDE2CisJbW9yZSB1c2VyLWZyaWVuZGx5LCBpLmUuIHJlcG9ydCBwZXIgbWlzc2luZyBmbGFnIGluc3RlYWQgb2YgRFdPUkQgdmFsdWUuCisKKwkqIGRsbHMvdHR5ZHJ2L3duZC5jLCBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9mb2N1cy5jLAorCSAgZGxscy91c2VyL2hvb2suYywgZGxscy91c2VyL2hvb2sxNi5jLCBkbGxzL3VzZXIvbWVzc2FnZS5jLAorCSAgZGxscy91c2VyL21zZzE2LmMsIGRsbHMvdXNlci91c2VyLmV4ZS5zcGVjLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWMsCisJICBkbGxzL3VzZXIvdXNlcl9tYWluLmMsIGRsbHMveDExZHJ2L3dpbmRvdy5jLCBkbGxzL3gxMWRydi93aW5wb3MuYywKKwkgIGluY2x1ZGUvaG9vay5oLCBpbmNsdWRlL3F1ZXVlLmgsIGluY2x1ZGUvdXNlci5oLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBpbmNsdWRlL3dpbmUvd2ludXNlcjE2LmgsCisJICBzZXJ2ZXIvTWFrZWZpbGUuaW4sIHNlcnZlci9ob29rLmMsIHNlcnZlci9saXN0LmgsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvdGhyZWFkLmMsCisJICBzZXJ2ZXIvdGhyZWFkLmgsIHNlcnZlci90cmFjZS5jLCBzZXJ2ZXIvdXNlci5oLCB3aW5kb3dzL2hvb2suYywKKwkgIHdpbmRvd3MvaW5wdXQuYywgd2luZG93cy9tZXNzYWdlLmMsIHdpbmRvd3Mvbm9uY2xpZW50LmMsCisJICB3aW5kb3dzL3F1ZXVlLmMsIHdpbmRvd3MvdXNlci5jLCB3aW5kb3dzL3dpbi5jOgorCVJld3JvdGUgaG9vayBzdXBwb3J0IHRvIHN0b3JlIHRoZSBob29rIGNoYWluIGluIHRoZSBzZXJ2ZXIuCisJU3BsaXQgb2ZmIDE2LWJpdCBob29rIGZ1bmN0aW9ucyBhbmQgcmUtaW1wbGVtZW50ZWQgdGhlbSBvbiB0b3Agb2YgdGhlCisJMzItYml0IG9uZXM7IHN5c3RlbS13aWRlIDE2LWJpdCBob29rcyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCBhdCB0aGlzCisJcG9pbnQuCisKKzIwMDItMTAtMjggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYywgZGxscy9udGRsbC9zaWduYWxfcG93ZXJwYy5jLAorCSAgZGxscy9udGRsbC9zaWduYWxfc3BhcmMuYywgaW5jbHVkZS93aW5lL2V4Y2VwdGlvbi5oLAorCSAgcHJvZ3JhbXMvd2luZWRiZy93aW5lZGJnLmMsIHdpbjMyL2V4Y2VwdC5jOgorCUxpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJUmFpc2UgYW4gZXhjZXB0aW9uIGlmIGFueSBXaW5lIG9yIFdpbmVsaWIgY29kZSBkb2VzIGFuIGFzc2VydC4KKworCSogcHJvZ3JhbXMvd2NtZC9kaXJlY3RvcnkuYzogU3RldmVuIEVkd2FyZHMgPFN0ZXZlbl9FZDQxNTNAeWFob28uY29tPgorCVBvcnRpbmcgZml4LgorCisJKiBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYywgZGxscy9ycGNydDQvbmRyX21pZGwuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY19tZXNzYWdlLmM6CisJR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJLSBQdWxsIHRoZSBidWZmZXIgZnJvbSB0aGUgcnBjIG1lc3NhZ2UgaW50byB0aGUgbWlkbCBzdHViIG1lc3NhZ2UKKwkgIGR1cmluZyBScGNTZXJ2ZXJJbml0aWFsaXplTmV3LgorCS0gQXR0ZW1wdCB0byBpbXBsZW1lbnQgTmRyQ29uZm9ybWFudFN0cmluZ1VubWFyc2hhbGwuCisJLSBNb3JlIGFzc2VydGlvbnMuCisJLSBDb21tZW50cyBhbmQgY2xlYW51cHMuCisKKwkqIGRsbHMvcnBjcnQ0L3JwY3J0NC5zcGVjOiBHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwlBZGQgYSBidW5jaCBvZiBzdHVicywgYWxsIG9mIHdoaWNoIEkgcHJlc3VtZSB0byBiZSBXWFAgYWRkaXRpb25zLgorCisJKiBkbGxzL3dpbmVkb3MvZG9zdm0uYywgZGxscy93aW5lZG9zL2ludDA5LmMsIGRsbHMvd2luZWRvcy9pbnQxNi5jLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvdXNlci5jLCB3aW5kb3dzL21lc3NhZ2UuYzoKKwlBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJLSBNYWtlIGludDA5IHVwZGF0ZSB0aGUgQklPUyBkYXRhIHNlZ21lbnQncyBrZXlib2FyZCBzdGF0dXMgZmxhZ3MKKwkgIGJ5dGVzLCBpbXBsZW1lbnQgcGF1c2Uga2V5IGhhbmRsaW5nLgorCS0gTGV0IGludDE2LzAyIHJlYWQgdGhlIGtleWJvYXJkIHN0YXR1cyBmbGFncyBieXRlcyBpbnN0ZWFkIG9mIGNhbGxpbmcKKwkgIEdldEFzeW5jS2V5U3RhdGUoKS4KKwktIE1ha2UgdGhlIGtleWJvYXJkIHN0YXRlIGJ1ZmZlciB1c2VkIGZvciBHZXQqS2V5KigpIHJlZmxlY3QKKwkgIFZLX0wvUk1FTlUgcHJvcGVybHkuCisJLSBTbWFsbCBmaXhlcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOgorCXNldF9tYWluX2l0ZW06IGlnbm9yZSBtZWFuaW5nbGVzcyBiaXRzIGluIHN0YXRlTWFzayBmb3IgTFZTX09XTkVSREFUQQorCWluc3RlYWQgb2YgZmFpbGluZy4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsLmMsIGRsbHMvc2hlbGwzMi9zaGVsbHJlZy5jOgorCUd59nJneSAnTm9nJyBKZW5leSA8bm9nQHNkZi5sb25lc3Rhci5vcmc+CisJU2VwYXJhdGUgb3V0IDE2LWJpdCByZWdpc3RyeSBmdW5jdGlvbnMuCisKKwkqIGRsbHMvcnBjcnQ0L25kcl9tYXJzaGFsbC5jLCBkbGxzL3JwY3J0NC9uZHJfbWlkbC5jLAorCSAgZGxscy9ycGNydDQvcnBjX21lc3NhZ2UuYywgZGxscy9ycGNydDQvcnBjX3NlcnZlci5jLAorCSAgaW5jbHVkZS9ycGNuZHIuaDoKKwlHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwktIENsZWFuIHVwIGFuZCBhZGQgc29tZSBjb21tZW50cy4KKwktIEFkZCBORFIgRGF0YSByZXByZXNlbnRhdGlvbiBjb25zdGFudHMuCisJLSBQcm9wYWdhdGUgRGF0YVJlcHJlc2VudGF0aW9uIGludG8gYW5kIG91dCBvZiBwYWNrZXQgaGVhZGVycy4KKwktIEltcGxlbWVudCBOZHJTZXJ2ZXJJbml0aWFsaXplTmV3CisKKwkqIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgZGxscy93aW5tbS9tZXNzYWdlMTYuYywgZGxscy93aW5tbS93aW5lbW0uaDoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlNb3ZlIGxvdyBsZXZlbCBtdWx0aW1lZGlhIG1lc3NhZ2UgbWFwcGluZyBvdXQgb2YgMzIgYml0IGNvZGUuCisKKwkqIGRsbHMvd2lubW0vTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vbWNpLmMsIGRsbHMvd2lubW0vbWVzc2FnZTE2LmMsCisJICBkbGxzL3dpbm1tL3dpbmVtbS5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCU1vdmUgTUNJIG1lc3NhZ2UgbWFwcGluZyBvdXQgb2YgMzIgYml0IGNvZGUuCisKKwkqIGRsbHMvd2lubW0vZHJpdmVyLmMsIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywgZGxscy93aW5tbS93aW5lbW0uaDoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlNb3ZlIGRyaXZlciBtZXNzYWdlIG1hcHBpbmcgb3V0IG9mIDMyIGJpdCBjb2RlLgorCisJKiBkbGxzL2QzZDgvZGV2aWNlLmM6IEphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJSGFuZGxlIHRleHR1cmUgRlZGIGZvcm1hdHMgd2hlbiBubyB0ZXh0dXJlIGlzIGJvdW5kLgorCisJKiBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYzogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJLSBEaXN0aW5ndWlzaCBiZXR3ZWVuIGFjdHVhbCBwYXJhbm9pYSBhbmQgbWVhbmluZ2Z1bCBidWZmZXIgc3BhY2UuCisJLSBObyBuZWVkIHRvICN1bmRlZiBCVUZGRVJfUEFSQU5PSUEgaGVyZS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVdlIHNob3VsZCBhbHdheXMgaGF2ZSBhIG1haW4gaXRlbSBpbiByZXBvcnQgbW9kZS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVByb3Blcmx5IGZpbGwgbFBhcmFtIGluIE5NTElTVFZJRVcuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggY3Jhc2gtaW5kdWNpbmcgdHlwby90aGlua28uCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlNYXJrIGltbXV0YWJsZSBvYmplY3RzIGFzIGNvbnN0LiBGaXggaW5jb25zaXN0ZW50ICotc3R5bGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBZGQgTFZISVRURVNUSU5GTyBkZWJ1ZyBoZWxwZXIuIE1vcmUgdHJhY2luZy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCURlc3BpdGUgd2hhdCB0aGUgZG9jcyBzYXksIHdlIGhhdmUgdG8gaW52YWxpZGF0ZSB0aGUgbGlzdCBvbgorCVdNX1NFVFJFRFJBVyhUUlVFKS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUVsaW1pbmF0ZSBmbGlja2VyIHdoZW4gcmVzaXppbmcsIGRvY3MgdXBkYXRlcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUNsZWFudXAsIGFuZCBzaW1wbGlmaWNhdGlvbiBvZiBVcGRhdGVTaXplLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJSGFuZGxlIGZvY3VzIGl0ZW0gcHJvcGVybHkgaW4gU2V0SXRlbUNvdW50LgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIG9ubHkgdGhlIG5lY2Vzc2FyeSBzZWxlY3Rpb25zIHdoZW4gc2V0dGluZyB0aGUgaXRlbSBjb3VudC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJld3JpdGUgb2YgdGhlIFNldEl0ZW1Db3VudDogYnVncyBnb3Qgc3F1YXNoZWQsCisJTFZTSUNGX3tOT1NDUk9MTCxOT0lOVkFMSURBVEVBTEx9IGltcGxlbWVudGVkLgorCisJKiBkbGxzL3dpbmVkb3MvZG9zZXhlLmgsIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBkbGxzL3dpbmVkb3MvaW50MzEuYywKKwkgIGRsbHMvd2luZWRvcy9pbnRlcnJ1cHRzLmMsIGRsbHMvd2luZWRvcy9tb2R1bGUuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJQWRkIHJvdXRpbmVzIGZvciBtYW5pcHVsYXRpbmcgcHJvdGVjdGVkIG1vZGUgaW50ZXJydXB0IGhhbmRsZXJzIHRvCisJd2luZWRvcyBkbGwuIEFkZCByb3V0aW5lIGZvciBjaGVja2luZyBpZiBwcm9jZXNzIGlzIFdpbmRvd3MgcHJvY2Vzcy4KKwlGaXggRE9TVk1fSXNEb3MzMiBpbnRlcmZhY2UuIE1vdmUgcmVhbCBtb2RlIGludGVycnVwdCBoYW5kbGVyCisJbWFuaXB1bGF0aW9uIHJvdXRpbmVzIHRvIGludGVycnVwdHMuYy4KKworCSogd2luZG93cy91c2VyLmM6IEFuZHJlYXMgTW9ociA8YW5kaUByaGx4MDEuZmh0LWVzc2xpbmdlbi5kZT4KKwlNYWtlIEdldEZyZWVTeXN0ZW1SZXNvdXJjZXMxNiBwcmludCBpdHMgdmFsdWVzIG9uIFRSQUNFLgorCisJKiBjb250cm9scy9idXR0b24uYywgY29udHJvbHMvbGlzdGJveC5jLCBkbGxzL3VzZXIvZXh0aWNvbi5jLAorCSAgZGxscy91c2VyL21lc3NhZ2UuYywgZGxscy91c2VyL3duZDE2LmMsIHdpbmRvd3MvZGVmZGxnLmMsCisJICB3aW5kb3dzL21kaS5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJU29tZSBmaXhlcyBmb3IgdGhlIGNvbXBpbGF0aW9uIG9mIHRoZSB1c2VyIGRsbCB3aXRoIC1EU1RSSUNULgorCisJKiBkbGxzL2QzZDgvZGV2aWNlLmM6IEphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJQWRkIGNvcHlyZWN0cyBzdXBwb3J0LgorCisJKiBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYywgZGxscy9ycGNydDQvbmRyX21pZGwuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY19iaW5kaW5nLmMsIGRsbHMvcnBjcnQ0L3JwY19zZXJ2ZXIuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NC5zcGVjLCBpbmNsdWRlL3JwY25kci5oOgorCUdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCS0gQ2xlYW4gdXAgYW5kIGVuaGFuY2Ugc29tZSB0cmFjZXMuCisJLSBTdHVicyBmb3IgTmRyQ29udmVydCwgTmRyQ29udmVydDIsIGFuZCBOZHJTZXJ2ZXJJbml0aWFsaXplTmV3LgorCisJKiBkbGxzL3NoZWxsMzIvZW51bWlkbGlzdC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgdGhlIFNIQ09OVEZfSU5DTFVERUhJRERFTiBmbGFnLgorCisJKiBkbGxzL2x6ZXhwYW5kL01ha2VmaWxlLmluLCBkbGxzL2x6ZXhwYW5kL2x6ZXhwYW5kMTYuYywKKwkgIGRsbHMvbHpleHBhbmQvbHpleHBhbmRfbWFpbi5jOgorCU1hdHRoZXcgRGF2aXNvbiA8bS5kYXZpc29uQHZpcmdpbi5uZXQ+CisJTWFkZSBsemV4cGFuZCBjb21waWxlIHdpdGggU1RSSUNUIGRlZmluZWQuCisKKwkqIGRsbHMvd2lubW0vbWNpLmM6IEVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUZpeGVkIG1jaVNlbmRTdHJpbmcgZGVidWcgcmVwb3J0aW5nIHdoZW4gYW4gZXJyb3Igb2NjdXJzIChzcG90dGVkIGJ5CisJRXJsYW5kIExld2luKS4KKworCSogZGxscy91c2VyL01ha2VmaWxlLmluLCBkbGxzL3VzZXIvbXNnMTYuYywgZGxscy91c2VyL3duZDE2LmMsCisJICB3aW5kb3dzL2hvb2suYywgd2luZG93cy9zcHkuYywgd2luZG93cy93aW4uYywgd2luZG93cy93aW5wb3MuYywKKwkgIHdpbmRvd3Mvd2lucHJvYy5jOgorCU1vdmVkIGEgZmV3IHJlbWFpbmluZyAxNi1iaXQgd2luZG93IGZ1bmN0aW9ucyB0byB3bmQxNi5jIGFuZCBtb3ZlZCBpdAorCXRvIHRoZSBDX1NSQ1MxNiBzb3VyY2VzLgorCisJKiBkbGxzL2QzZDgvZDNkOF9wcml2YXRlLmgsIGRsbHMvZDNkOC9kZXZpY2UuYywgZGxscy9kM2Q4L2RpcmVjdHguYzoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCS0gSW5pdGlhbGl6ZSB0aGUgdGV4dHVyZSBzdGF0ZSBpbmZvcm1hdGlvbi4KKwktIEFkZCBkdW1teSB0ZXh0dXJlcyBzbyB0ZXh0dXJlIG9wZXJhdGlvbnMgd2hpY2ggZG9udCByZWZlcmVuY2UgdGhlCisJICB0ZXh0dXJlIGNhbiB3b3JrLgorCS0gU3VwcG9ydCAyZCBhbmQgM2QgdGV4dHVyZXMgcHJvcGVybHkuCisJLSBSZWFwcGx5IHRoZSB0ZXh0dXJlIHN0YXRlIGluZm9ybWF0aW9uIGFzIHRleHR1cmVzIGdldCBzZXQsIGFzIG9wZW5nbAorCSAgc3RvcmVzIHRoZSBzdGF0ZSBhbG9uZyB3aXRoIHRoZSBib3VuZCB0ZXh0dXJlIHdoZXJlYXMgZGlyZWN0eCB1c2VzIHRoZQorCSAgY3VycmVudCBzdGF0ZSBpbmZvcm1hdGlvbiBkdXJpbmcgdGhlIGRyYXcgc3RhZ2UuCisJLSAzcmQgYXR0ZW1wdCB0byBzb3J0IG91dCBsaWdodGluZywgZm9yIHByb2dyYW1zIHdoaWNoIGRvbnQgc2V0IG5vcm1hbHMuCisJLSBUZW1wb3JhcmlseSBzaWxlbmNlIHNvbWUgdW5uZWNlc3NhcnkgZml4bWVzLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogQ2FybG9zIDxjbG96YW5vQGFuZGFnby5jb20+CisJbFBhcmFtIHdhcyBub3QgcHJvcGVybHkgc2VudCBpbiBUVE1fQUREVE9PTFcuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tYm9leC5jOiBDYXJsb3MgPGNsb3phbm9AYW5kYWdvLmNvbT4KKwlsUGFyYW0gd2FzIG5vdCBwcm9wZXJseSBzZW50IGluIENCRU5fR0VURElTUElORk9XLgorCisJKiBmaWxlcy9kb3NfZnMuYzogR3n2cmd5ICdOb2cnIEplbmV5IDxub2dAc2RmLmxvbmVzdGFyLm9yZz4KKwlDb3B5IHRoZSBuZWNlc3NhcnkgZGF0YSBmcm9tIHRoZSB1bmljb2RlIHN0cnVjdCB0byB0aGUgYXNjaWkgb25lIGluCisJRE9TRlNfRmluZE5leHQuCisKKwkqIGRsbHMvd2luaW5ldC9mdHAuYywgZGxscy93aW5pbmV0L2ludGVybmV0LmMsIGRsbHMvd2luaW5ldC93aW5pbmV0LnNwZWM6CisJSmFjbyBHcmVlZmYgPGphY29AcHV4ZWRvLm9yZz4KKwktIEltcGxlbWVudGF0aW9uIG9mIFtJbnRlcm5ldHxGdHBdKlcgZnVuY3Rpb25zIHRvIGV4dGVuZCAoYWxtb3N0KQorCSAgbm9uLWV4aXN0YW50IHdpZGUtY2hhcmFjdGVyIHN1cHBvcnQuCisJLSBNb3ZlZCBzb21lIGZ1bmN0aW9ucyBmcm9tICJzdHViIGluIHdpbmluZXQuc3BlYyIgdG8gIkZJWE1FKCJTVFVCIikiCisJICB0byBhbGxvdyBmb3IgdGVzdGluZyBvZiBjaGFuZ2VzLgorCisJKiBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYzogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJRml4IGVuZGlhbm5lc3MgZGVwZW5kZW5jeSBpbiB0aGUgKHRoZXJlIGlzIG9ubHkgb25lIDopICkgbWFyc2hhbGwKKwlmdW5jdGlvbi4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOiBDYXJsb3MgPGNsb3phbm9AYW5kYWdvLmNvbT4KKwlUaGUgZnVuY3Rpb24gU0hHZXRGaWxlSW5mb0Egd2Fzbid0IHN1cHBvcnRpbmcgdGhlIGZsYWcKKwlTSEdGSV9VU0VGSUxFQVRUUklCVVRFUy4KKworMjAwMi0xMC0yNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy94MTFkcnYvZGdhMi5jOiBHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwlBdm9pZCBYMTEgZXJyb3IgZHVyaW5nIERHQSBkZXRlY3Rpb24uCisKKwkqIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC9jb21tLmMsIGRsbHMva2VybmVsL2NvbnNvbGUuYywKKwkgIGRsbHMva2VybmVsL2RlYnVnZ2VyLmMsIGRsbHMva2VybmVsL3N5bmMuYywgZGxscy9rZXJuZWwvdGh1bmsuYywKKwkgIGRsbHMva2VybmVsL3dvd3RodW5rLmM6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlDb21waWxlIHRoZSBrZXJuZWwgZGxsIHdpdGggLURTVFJJQ1QuCisKKwkqIGRsbHMvcnBjcnQ0L25kcl9tYXJzaGFsbC5jLCBkbGxzL3JwY3J0NC9uZHJfbWlkbC5jLAorCSAgZGxscy9ycGNydDQvcnBjX21lc3NhZ2UuYzoKKwlHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwktIFVzZSBtZW1zZXQgaW5zdGVhZCBvZiBaZXJvTWVtb3J5LCBqdXN0IHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBPdmUncworCSAgY29kZS4KKwktIEFkZCBzb21lIGFzc2VydGlvbnMgd2hlcmUgYXNzdW1wdGlvbnMgYXJlIG1hZGUgKG5lZWQgd2F5IG1vcmUpLgorCS0gUGx1ZyB0aGUgYmluZGluZyBoYW5kbGUgaW50byB0aGUgUlBDX01FU1NBR0UgZHVyaW5nIE5kckdldEJ1ZmZlci4KKwktIEltcGxlbWVudCBOZHJTZW5kUmVjZWl2ZS4KKwktIEF0dGVtcHQgdG8gc3VwcG9ydCBjbGllbnQgYW5kIHNlcnZlciBiaW5kaW5ncyBpbiBJX1JwY1NlbmRbUmVjZWl2ZV0uCisKKwkqIGRsbHMvc2hlbGwzMi9kcmFnZHJvcGhlbHBlci5jLCBkbGxzL3NoZWxsMzIvc2hmbGRyX2Rlc2t0b3AuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGZsZHJfbXljb21wLmM6CisJQWxiZXJ0byBNYXNzYXJpIDxhbGJ5QGV4bG4uY29tPgorCURvbid0IHRvdWNoIHRoZSBUaGlzIHBvaW50ZXIgYWZ0ZXIgaXQgaGFzIGJlZW4gZnJlZWQuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbC5jLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJSW5zdGFsbCB0aGUgc2hlbGwgaG9vayBhcyBhIDMyLWJpdCBob29rLgorCisJKiBkbGxzL2FkdmFwaTMyL01ha2VmaWxlLmluLCBkbGxzL2FkdmFwaTMyL2V2ZW50bG9nLmMsCisJICBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGRsbHMvYWR2YXBpMzIvc2VjdXJpdHkuYywKKwkgIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJQ29tcGlsZSB0aGUgYWR2YXBpMzIgZGxsIHdpdGggLURTVFJJQ1QuCisKKwkqIGRsbHMvbnRkbGwvcmVnLmMsIGluY2x1ZGUvd2ludGVybmwuaDoKKwlNYWRlIHRoZSBudGRsbCByZWdpc3RyeSBmdW5jdGlvbnMgdXNlIEhLRVkgaW5zdGVhZCBvZiBIQU5ETEUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywgZGxscy9jb21jdGwzMi90cmVldmlldy5jLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvYWxsb2MuYywgZGxscy9zaGVsbDMyL3NoZWxsb2xlLmMsCisJICBkbGxzL3NobHdhcGkvcmVnLmMsIGRsbHMvd2lubW0vd2luZWFsc2EvYXVkaW8uYywKKwkgIGRsbHMveDExZHJ2L2tleWJvYXJkLmM6CisJQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCS0gZml4IHNvbWUgcHNlbGxpbmcKKwktIGVuaGFuY2Ugc29tZSBUUkFDRXMKKworCSogd2luZWRlZmF1bHQucmVnOiBTeWx2YWluIFBldHJlb2xsZSA8c3BldHJlb2xsZUB5YWhvby5mcj4KKwlBZGRlZCBEaXJlY3RQbGF5TG9iYnkgQ0xTSUQgZW50cmllcy4KKworCSogZGxscy9ycGNydDQvbmRyX21hcnNoYWxsLmMsIGRsbHMvcnBjcnQ0L25kcl9taWRsLmMsCisJICBkbGxzL3JwY3J0NC9uZHJfbWlzYy5oLCBkbGxzL3JwY3J0NC9uZHJfc3R1Ymxlc3MuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NF9tYWluLmMsIGluY2x1ZGUvcnBjbmRyLmgsIGluY2x1ZGUvd2luZS9ycGNmYy5oOgorCUdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCS0gTWFrZSBleHBsaWNpdCBzb21lIG1pc3NpbmcgaW5jbHVkZSBkZXBlbmRlbmNpZXMuCisJLSBJbXBsZW1lbnQgTmRyR2V0QnVmZmVyLCBOZHJGcmVlQnVmZmVyLCBOZHJDb25mb3JtYW50U3RyaW5nQnVmZmVyU2l6ZQorCSAgYW5kIE5kckNvbmZvcm1hbnRTdHJpbmdNYXJzaGFsbC4KKwktIERlZmluZSB0aGUgUlBDX0ZDX0NfQ1NUUklORyBjb25zdGFudC4KKwktIFBlcmhhcHMgSSBkb24ndCB3YW50IHRob3NlIE1JRExfKl9GT1JNQVRfU1RSSU5HIHN0cnVjdHMsIGFmdGVyCisJICBhbGwuIFJlbW92ZWQuCisJLSBBZGQgUlBDIHRvZG8gbGlzdC4KKwktIE1JRExfU1RVQl9NRVNTQUdFLnVGbGFncyBhcmVuJ3QuCisJLSBDb21tZW50IG91dCB0aGUgTmRyQ2xpZW50Q2FsbDIgbW9jay11cCBzaW5jZSB0aGF0IHN0dWZmIGlzIGluIHRoZQorCSAgcHJvY2VzcyBvZiBiZWluZyBpbXBsZW1lbnRlZCBhbmQgbWlnaHQgY2F1c2UgcHJvYmxlbXMuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2xvY2FsZS5jLCBvbGUvb2xlMm5scy5jOgorCUJpbGwgTWVkbGFuZCA8bWVkYmkwMUBhY2NwYWMuY29tPgorCUZpeCBPTEVfR2V0Rm9ybWF0VyBzbyB0aGF0IEdldERhdGVGb3JtYXRXIHdvcmtzLgorCVJlYXJyYW5nZWQgZm9yIHNpbXBsaWNpdHkuCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvbWVtb3J5LmM6IEplZmYgU21pdGggPHdoeWRvdWJ0QGhvdG1haWwuY29tPgorCUZpeGVkIGJlaGF2aW91ciBvZiAieCAvcyAuLi4iLgorCisJKiBkbGxzL3R0eWRydi9NYWtlZmlsZS5pbiwgZGxscy90dHlkcnYvYml0bWFwLmMsIGRsbHMvdHR5ZHJ2L2RjLmMsCisJICBkbGxzL3R0eWRydi9ncmFwaGljcy5jLCBkbGxzL3R0eWRydi9vYmplY3RzLmMsIGRsbHMvdHR5ZHJ2L3duZC5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJQ29tcGlsZSB0aGUgdHR5ZHJ2IGRsbCB3aXRoIC1EU1RSSUNULgorCisJKiBkbGxzL3dpbm1tL21jaS5jLCBkbGxzL3dpbm1tL21taW8uYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLAorCSAgZGxscy93aW5tbS9wbGF5c291bmQuYywgZGxscy93aW5tbS90aW1lLmMsIGRsbHMvd2lubW0vd2luZW1tLmgsCisJICBkbGxzL3dpbm1tL3dpbm1tLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJU2ltcGxpZnkgdGhlIGdsb2JhbCBpbnRlcm5hbCBkYXRhIGhhbmRsaW5nLgorCisJKiBkbGxzL3dpbm1tL2xvbHZsZHJ2LmMsIGRsbHMvd2lubW0vbWNpLmMsIGRsbHMvd2lubW0vd2luZW1tLmg6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJVW5pZnkgdGhlIGNvbnN0YW50IHVzZWQgZm9yIGVycm9yIGNvZGVzIHJlcG9ydGluZyBtYXBwaW5nIGZ1bmN0aW9ucworCXN1Y2Nlc3MvZmFpbHVyZXMuCisKKwkqIGRsbHMvZDNkOC9kM2Q4X21haW4uYywgaW5jbHVkZS9kM2Q4Lmg6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlEZWZpbmUgdGhlIG1haW4gZGlyZWN0eDggZW50cnlwb2ludC4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGdicm93c2VyLmMsIGRsbHMvc2hlbGwzMi9zaGVsbHN0cmluZy5jLAorCSAgZGxscy90d2Fpbi9kc19pbWFnZS5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJU29tZSBzbWFsbCBjbGVhbnVwcy4KKworCSogcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGVfRGUucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9Fbi5yYzoKKwlBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJLSBjb3JyZWN0IEdlcm1hbiBzdHJpbmdzIHRvIHdoYXQgdGhleSdyZSByZWFsbHkgc3VwcG9zZWQgdG8gYmUKKwktIGxlc3MgY29uZnVzaW9uIGFib3V0IHN0b3JlZCBzZXR0aW5ncworCisJKiBkbGxzL3dpbmVkb3MvaW50MTcuYzogQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCVRpbnkgaW50MTcgcHJpbnRlciBmaXguCisKKwkqIGRsbHMvY3J5cHQzMi9jcnlwdDMyLnNwZWMsIGRsbHMvY3J5cHQzMi9tYWluLmM6CisJQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCUFkZGVkIENlcnRPcGVuU3RvcmUgc3R1Yi4KKworCSogZmlsZXMvZGlyZWN0b3J5LmMsIGZpbGVzL2Rvc19mcy5jLCBmaWxlcy9kcml2ZS5jLCBmaWxlcy9maWxlLmMsCisJICBpbmNsdWRlL2ZpbGUuaCwgaW5jbHVkZS93aW5udC5oOgorCUdldCByaWQgb2YgRklMRV9BVFRSSUJVVEVfU1lNTElOSyAoYmFzZWQgb24gYSBwYXRjaCBieSBCaWxsIE1lZGxhbmQpLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRG8gbm90IGludmFsaWRhdGUgbGlzdCBvbiBXTV9TRVRSRURSQVcuCisJVXBkYXRlIHNpemUgaW5mbyBldmVuIGlmIHJlZHJhd2luZyBpcyBkaXNhYmxlZC4KKwlUcml2aWFsIGNsZWFudXBzLCBhbmQgc29tZSB0cmFjaW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJV2UgY2FuIGF2b2lkIGZsaWNrZXIgb24gY29sdW1uIHJlc2l6ZSBvbmx5IGlmIGl0J3MgbGVmdCBhbGlnbi4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFsd2F5cyBkcmF3IHRoZSBtYWluIGl0ZW0gaW4gZnVsbCByb3cgc2VsZWN0LgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVXNlIGl0ZXJhdG9ycyB0byByZW5kZXIgb3ZlciB0aGUgY29sdW1ucywgaW4gcmVwb3J0IG1vZGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlTbWFsbCBpdGVyYXRvci1vdmVyLXJhbmdlW3NdIGNsZWFudXAuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlFbGltaW5hdGUgbW9zdCBvZiB0aGUgZmxpY2tlciB3aGVuIHJlc2l6aW5nIGNvbHVtbnMuCisJTW9yZSBkZWJ1ZyB0cmFjaW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IHN1Yml0ZW0gYmFja2dyb3VuZCBjb2xvciBpbiBmdWxsIHJvdyBzZWxlY3QuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlXZSBzaG91bGQgY2FsbGJhY2sgZm9yIGluZXhpc3RlbnQgc3ViaXRlbXMuCisJRG8gbm90IHN0b3JlIGNhbGxiYWNrIGl0ZW1zIGZvciBzdWJpdGVtcywgZXZlbiBpZiB3ZSdyZSBhc2tlZCB0by4KKwlTbWFsbCBjbGVhbnVwLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGNyYXNoIHdoZW4gY29tcHV0aW5nIHRoZSBpdGVtIHdpZHRoIG9mIGEgcmVwb3J0IHdpdGggbm8gY29sdW1ucy4KKwlPdmVycmlkZSBjdXN0b20gZHJhdyBia2duZCBjb2xvciBmb3Igc2VsZWN0aW9uIGl0ZW1zLgorCUZpbGwgYmFja2dyb3VuZCBmb3IgYWxsIGl0ZW1zIHRoYXQgaGF2ZSBhIGJrZ25kIGNvbG91ci4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUtlZXAgYXV0b2FycmFuZ2luZyBpdGVtcyB1bnRpbCBvbmUgaXMgbW92ZWQuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBYnN0cmFjdCBhdXRvYXJyYW5naW5nIGRlY2lzaW9uIHRvIGEgaGVscGVyIGZ1bmN0aW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRG8gbm90IGRvIHNjcmVlbiB3b3JrIGlmIHJlZnJlc2hpbmcgaXMgZGlzYWJsZWQuCisJUmVpbXBsZW1lbnQgU2V0UmVkcmF3IHRvIGNvcGUgd2l0aCB0aGUgY2hhbmdlcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJld3JpdGUgdGhlIFVwZGF0ZVNjcm9sbCBmdW5jdGlvbjogc2ltcGxlciwgZmFzdGVyLgorCUFkZCBkZWJ1Z2dpbmcgaGVscGVyIGZvciBTQ1JPTExJTkZPLgorCUZpeCBwb3RlbnRpYWwgYnVnIGluIGRlYnVnZ2luZyBoZWxwZXJzLgorCisJKiBkbGxzL29sZWF1dDMyL01ha2VmaWxlLmluLCBkbGxzL29sZWF1dDMyL29sZTJkaXNwLmMsCisJICBkbGxzL29sZWF1dDMyL29sZWZvbnQuYywgZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmMsCisJICBkbGxzL29sZWF1dDMyL3N0dWJzLmM6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlDb21waWxlIHRoZSBvbGVhdXQzMiBkbGwgd2l0aCAtRFNUUklDVC4KKworCSogZGxscy9zaGx3YXBpL01ha2VmaWxlLmluLCBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLAorCSAgZGxscy9zaGx3YXBpL3BhdGguYywgZGxscy9zaGx3YXBpL3JlZy5jLCBkbGxzL3NobHdhcGkvcmVnc3RyZWFtLmMsCisJICBkbGxzL3NobHdhcGkvc2hsd2FwaV9tYWluLmMsIGRsbHMvc2hsd2FwaS90aHJlYWQuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUNvbXBpbGUgdGhlIHNobHdhcGkgZGxsIHdpdGggLURTVFJJQ1QuCisKKwkqIGRsbHMvbXN2Y3J0L01ha2VmaWxlLmluLCBkbGxzL21zdmNydC9kaXIuYywgZGxscy9tc3ZjcnQvZmlsZS5jLAorCSAgZGxscy9tc3ZjcnQvbWFpbi5jLCBkbGxzL21zdmNydC90aHJlYWQuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUNvbXBpbGUgdGhlIG1zdmNydCBkbGwgd2l0aCAtRFNUUklDVC4KKworCSogdG9vbHMvd2luZWNoZWNrOiBBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJLSBjaGVjayBmb3Igcm9vdCB1c2VyCisJLSBzaWxlbmNlIGVycm9ycworCisJKiBkbGxzL3RhcGkzMi9waG9uZS5jOiBBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJQWRkZWQgc29tZSBjb21tZW50cy4KKworCSogd2luZWRlZmF1bHQucmVnOiBBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJLSBhZGQgIlByb2R1Y3RJZCIga2V5CisJLSBhZGQgSEtFWV9MT0NBTF9NQUNISU5FXEhBUkRXQVJFXERFVklDRU1BUFxTRVJJQUxDT01NIGRlZmF1bHQgbWFwcGluZworCS0gcmVtZW1iZXIgb2xkIERpcmVjdFggdmVyc2lvbiBzdHJpbmdzCisKKzIwMDItMTAtMjMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvcnBjcnQ0L25kcl9taWRsLmMsIGluY2x1ZGUvcnBjbmRyLmg6CisJR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJSW1wbGVtZW50ZWQgTmRyQ2xpZW50SW5pdGlhbGl6ZU5ldy4KKworCSogZGxscy9ycGNydDQvcnBjX2JpbmRpbmcuYzogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJV2hpdGVzcGFjZSBjbGVhbnVwLgorCisJKiBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmM6IEdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCUZpeGVkIGEgdGlueSB0cmFjZSBidWcuCisKKwkqIGRsbHMvd2luZWRvcy9tb2R1bGUuYzogQ2hyaXMgTW9yZ2FuIDxjbW9yZ2FuQGFsdW0ud3BpLmVkdT4KKwlDYWxsIENyZWF0ZVByb2Nlc3NBKCkgd2hlbiBleGVjdXRpbmcgbm9uLWRvcyBhcHBsaWNhdGlvbnMgZnJvbSBhIGRvcworCWFwcGxpY2F0aW9uLgorCisJKiBNYWtlZmlsZS5pbjogR2VyYWxkIFBmZWlmZXIgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CisJQWxzbyByZW1vdmUgY29uZmlndXJlLmxpbmVubyB3aGVuIHBlcmZvcm1pbmcgZGlzdGNsZWFuLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZ19Gci5yYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfRW4ucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9Gci5yYywgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfRnIucmMsCisJICBkbGxzL3dpbmVwcy9yc3JjLnJjLCBkbGxzL3dpbmVwcy93cHNfRnIucmMsIGRsbHMvd2lubW0vd2lubW1fRnIucmMsCisJICBwcm9ncmFtcy9jbG9jay9Gci5yYywgcHJvZ3JhbXMvbm90ZXBhZC9Gci5yYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvRnIucmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUJyaW5nIHNvbWUgRnJlbmNoIHJlc291cmNlcyBpbiBzeW5jIHdpdGggRW5nbGlzaCBvbmVzLgorCisJKiBkbGxzL21zdmlkZW8vTWFrZWZpbGUuaW4sIGRsbHMvbXN2aWRlby9kcmF3ZGliLmMsCisJICBkbGxzL21zdmlkZW8vbWNpd25kLmMsIGRsbHMvbXN2aWRlby9tc3ZpZGVvMTYuYywKKwkgIGRsbHMvbXN2aWRlby9tc3ZpZGVvX21haW4uYywgZGxscy9tc3ZpZGVvL3ZmdzE2Lmg6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlDb21waWxlIHRoZSBtc3ZpZGVvIGRsbCB3aXRoIC1EU1RSSUNULgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQXZvaWQgZGl2aXNpb24gYnkgMCBieSBpbml0aWFsaXppbmcgdGhlIGl0ZW0gc2l6ZSBpbiBvbiBjcmVhdGlvbi4KKwlSZW5hbWUgdXBkYXRlX2ljb25fc2l6ZSB0byBzZXRfaWNvbl9zaXplLCBmaXggcGFyYW1ldGVycyBvcmRlci4KKwlBc3NvcnRlZCBjbGVhbnVwcy4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMnVuZG9jLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlIERQQSwgaWYgaW5zZXJ0IGluZGV4IGlzIHRvbyBsYXJnZS4KKworCSogZGxscy9jb21jdGwzMi9oZWFkZXIuYzogQ2FybG9zIDxjbG96YW5vQGFuZGFnby5jb20+CisJRml4ZWQgZHVwbGljYXRlZCBhcnJvd3MgaW4gaGVhZGVyIGNvbnRyb2wuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggdGhpbmtvIHRoYXQgc2xpcHBlZCBpbiB3aXRoIHRoZSBwcmV2IHBhdGNoIChyZWVuYWJsZXMgcmVmcmVzaCkuCisJTWFyayBhIGZldyB0aGluZ3MgdGhhdCBuZWVkcyBsb29raW5nIGF0LgorCVNtYWxsIGNsZWFudXAuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlEbyBub3QgaW52YWxpZGF0ZSB0aGUgd2luZG93IGJlZm9yZSB0aGUgZmlyc3QgcGFpbnQgam9iLgorCUFzc29ydGVkIGNsZWFudXBzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVXNlIEludmFsaWRhdGVJdGVtIGluc3RlYWQgb2YgZXhwbGljaXQgSW52YWxpZGF0ZVJlY3QsIGl0IGlzIGNsZWFuZXIsCisJYW5kIGZhc3RlciB3aGVuIHJlZHJhdyBpcyBkaXNhYmxlZC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVRyYW5zZm9ybSB0aGUgaW52YWxpZGF0aW9uIG1hY3JvcyB0byBwcm9wZXIgZnVuY3Rpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRGVsYXkgc29tZSBzaXplIGNvbXB1dGF0aW9ucyB1bnRpbCBhZnRlciBmaXJzdCBwYWludC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJUmVvcmdhbml6ZSB0aGUgaXRlbSBzaXplIGNhbGN1bGF0aW9uIChhIGJpdCBzaW1wbGVyLCBhbmQgZmFzdGVyKS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJU2VhcmNoIHRocm91Z2ggYWxsIGl0ZW1zIHdoZW4gTElTVFZJRVdfRmluZEl0ZW1XIGlzIGNhbGxlZCB3aXRoCisJTFZGSV9QQVJBTSBmbGFnLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRGVsZXRlIHRoZSBpdGVtcyBpZiB3ZSBhY3R1YWxseSBvd24gdGhlbS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCURvIG5vdCBjYWxsYmFjayB0byB0aGUgcGFyZW50IGZvciBsUGFyYW0gd2hlbiBpbiBMVlNfT1dORVJEQVRBLgorCURvY3MgdXBkYXRlLgorCisJKiBkbGxzL3dpbmVkb3MvTWFrZWZpbGUuaW4sIGRsbHMvd2luZWRvcy9kb3NleGUuaCwKKwkgIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBkbGxzL3dpbmVkb3MvaW50MzEuYywKKwkgIGRsbHMvd2luZWRvcy9pbnRlcnJ1cHRzLmMsIGRsbHMvd2luZWRvcy9tb2R1bGUuYywKKwkgIGRsbHMvd2luZWRvcy93aW5lZG9zLnNwZWMsIGluY2x1ZGUvY2FsbGJhY2suaCwgaW5jbHVkZS9taXNjZW11LmgsCisJICBtZW1vcnkvaW5zdHIuYywgbXNkb3MvZHBtaS5jOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlNb3ZlIGludGVycnVwdCBlbXVsYXRpb24gY29kZSBmcm9tIElOU1RSX0VtdWxhdGVJbnN0cnVjdGlvbiB0byB3aW5lZG9zCisJZGxsLiBNYWtlIENUWF9TRUdfT0ZGX1RPX0xJTiB3b3JrIHdpdGggMzItYml0IHNlZ21lbnRlZCBwb2ludGVycworCWNvbW1vbiBpbiBEUE1JMzIuIEZpeCB3aW5lZG9zIGluaXRpYWxpemF0aW9uIHNvIHRoYXQgRE9TTUVNX0luaXQoVFJVRSkKKwlpcyBvbmx5IGNhbGxlZCB3aGVuIERPUyBleGVjdXRhYmxlIGlzIHN0YXJ0ZWQuCisKKwkqIGRsbHMvZHBsYXl4L01ha2VmaWxlLmluLCBkbGxzL2RwbGF5eC9kcGxheS5jLAorCSAgZGxscy9kcGxheXgvZHBsYXl4X2dsb2JhbC5jLCBkbGxzL2RwbGF5eC9kcGxheXhfbWFpbi5jLAorCSAgZGxscy9kcGxheXgvZHBsb2JieS5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJQ29tcGlsZSB0aGUgZHBsYXl4IGRsbCB3aXRoIFNUUklDVCBkZWZpbmVkLgorCisJKiBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluLCBkbGxzL2NvbWN0bDMyL2FuaW1hdGUuYywKKwkgIGRsbHMvY29tY3RsMzIvY29tYm9leC5jLCBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYywKKwkgIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYywgZGxscy9jb21jdGwzMi9kYXRldGltZS5jLAorCSAgZGxscy9jb21jdGwzMi9kcmFnbGlzdC5jLCBkbGxzL2NvbWN0bDMyL2ZsYXRzYi5jLAorCSAgZGxscy9jb21jdGwzMi9oZWFkZXIuYywgZGxscy9jb21jdGwzMi9ob3RrZXkuYywKKwkgIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmMsIGRsbHMvY29tY3RsMzIvaXBhZGRyZXNzLmMsCisJICBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsIGRsbHMvY29tY3RsMzIvbW9udGhjYWwuYywKKwkgIGRsbHMvY29tY3RsMzIvcGFnZXIuYywgZGxscy9jb21jdGwzMi9wcm9ncmVzcy5jLAorCSAgZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYywgZGxscy9jb21jdGwzMi9yZWJhci5jLAorCSAgZGxscy9jb21jdGwzMi9zbW9vdGhzY3JvbGwuYywgZGxscy9jb21jdGwzMi9zdGF0dXMuYywKKwkgIGRsbHMvY29tY3RsMzIvdGFiLmMsIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jLAorCSAgZGxscy9jb21jdGwzMi90b29sdGlwcy5jLCBkbGxzL2NvbWN0bDMyL3RyYWNrYmFyLmMsCisJICBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmMsIGRsbHMvY29tY3RsMzIvdXBkb3duLmM6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwktIGZpeCB0aGUgImludCBmb3JtYXQsIEhBTkRMRSBhcmciIHR5cGUgb2Ygd2FybmluZ3MgZm9yIGNvbWN0bDMyCisJLSBjb21waWxlIHRoZSBjb21jdGwzMiBkbGwgd2l0aCAtRFNUUklDVAorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IE1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJQWRkIGNhc3RzIHRvIGNvbXBpbGUgd2l0aCAtRFNUUklDVC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCURvIG5vdCBjcmFzaCBpZiBjYWxsYmFjayB0ZXh0IGlzIG5vdCBmaWxsZWQgKGJlaGF2ZSBsaWtlIG5hdGl2ZSkuCisJUmVuZGVyIHJlcG9ydCBtb2RlIGZyb20gdG9wIHRvIGJvdHRvbSAoZWFzaWVyIG9uIHRoZSBleWUpLgorCURvY3MgdXBkYXRlcywgdHlwZSBmaXhlcywgbW9yZSB0cmFjZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlDb2xsZWN0IGFsbCBidWdzLCBtaXNzaW5nIGZlYXR1cmVzLCBldGMgaW4gdGhlIGhlYWRlciBkb2MuCisJTWlub3IgY2xlYW51cHMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlEbyBub3QgYXV0b2FycmFuZ2UgaWYgd2UgaW5zZXJ0L2RlbGV0ZSBmcm9tIHRoZSBlbmQgb2YgdGhlIGxpc3QuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZXdvcmsgU2V0SXRlbVBvc2l0aW9uLCBidW5jaCBvZiBidWdzIHNxdWFzaGVkIGluIHRoZSBwcm9jZXNzLgorCUNvbXBsZXRlIGljb24gYWxpZ25tZW50IHJld3JpdGU6IGNsZWFuZXIsIGluY3JlbWVudGFsLCBldGMuCisJQ29tcGxldGVseSBhdm9pZCBhbGlnbmluZyBhbGwgaWNvbnMgb24gZXZlcnkgaW5zZXJ0CisJICAtIGljb24gcGxhY2VtZW50IGlzIGluY3JlbWVudGFsbHkgY29tcHV0ZWQgbm93OiBpdCdzIGZhc3QuCisJU21hbGwgY2xlYW51cHMsIGRvY3MgdXBkYXRlLCBldGMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW5hbWUgTElTVFZJRVdfSVRFTSB0byBJVEVNX0lORk8gZm9yIGNvbnNpc3RlbmN5LgorCVJlbmFtZSBMSVNUVklFV19TVUJJVEVNIHRvIFNVQklURU1fSU5GTyBmb3Igc2FtZSByZWFzb24uCisJRml4IHR5cGUgaW4gY29tbWVudCBzcG90dGVkIGJ5IEJvYmJ5IEJpbmdoYW0uCisKKwkqIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWc6IFN5bHZhaW4gUGV0cmVvbGxlIDxzcGV0cmVvbGxlQHlhaG9vLmZyPgorCUFkZGVkIHZhbGlkIGVudHJpZXMgdG8gc3BlY2lmeSBpZiBhbiBhcHAgc2hvdWxkIGJlIGxvYWRlZCBidWlsdGluIG9yCisJbmF0aXZlLgorCisJKiBkbGxzL3VzZXIvTWFrZWZpbGUuaW46IE1vdmVkIG5ldHdvcmsuYyB0byAxNi1iaXQgc291cmNlcy4KKworCSogZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jLCBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGZpbGVzL2RpcmVjdG9yeS5jLCBpbmNsdWRlL2ZpbGUuaCwKKwkgIGluY2x1ZGUvaGVhcC5oLCBsb2FkZXIvbG9hZG9yZGVyLmMsIGxvYWRlci9tb2R1bGUuYywKKwkgIG1zZG9zL2Rvc2NvbmYuYywgd2luZG93cy9jbGlwYm9hcmQuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlEb24ndCB1c2Ugd2luZS91bmljb2RlLmggaW4gdGhlIGhlYWRlciBmaWxlcywgaW5jbHVkZSBpdCBkaXJlY3RseQorCXdoZXJlIG5lZWRlZCBpbnN0ZWFkLgorCisJKiBpbmNsdWRlL3dpbmRlZi5oOiBBdm9pZCByZWRlZmluaXRpb24gd2FybmluZy4KKworCSogZGxscy9jb21jdGwzMi9hbmltYXRlLmMsIGRsbHMvY29tY3RsMzIvY29tYm9leC5jLAorCSAgZGxscy9jb21jdGwzMi9jb21tY3RybC5jLCBkbGxzL2NvbWN0bDMyL2RhdGV0aW1lLmMsCisJICBkbGxzL2NvbWN0bDMyL2hvdGtleS5jLCBkbGxzL2NvbWN0bDMyL2ltYWdlbGlzdC5jLAorCSAgZGxscy9jb21jdGwzMi9pcGFkZHJlc3MuYywgZGxscy9jb21jdGwzMi9wcm9ncmVzcy5jLAorCSAgZGxscy9jb21jdGwzMi9wcm9wc2hlZXQuYywgZGxscy9jb21jdGwzMi9zdGF0dXMuYywKKwkgIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jLCBkbGxzL2NvbWN0bDMyL3Rvb2x0aXBzLmMsCisJICBkbGxzL2NvbWN0bDMyL3RyYWNrYmFyLmMsIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUFkZCBuZWVkZWQgY2FzdHMgZm9yIGEgIm5vIHdhcm5pbmdzIiBjb21waWxlIG9mIGNvbWN0bDMyLgorCisJKiBkbGxzL3dpbmVkb3MvbW9kdWxlLmM6IFBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeCBmb3IgcGxhdGZvcm1zIG5vdCBzdXBwb3J0aW5nIERPUyBtb2RlLgorCisJKiBpbmNsdWRlL3dpbmRvd3MuaDogUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQWRkIHByYWdtYSB0byBlbGltaW5hdGUgTVMgQyB3YXJuaW5ncy4KKworCSogdG9vbHMvd2luYXBpL21zdmNtYWtlcjogUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJLSBBZGRlZCBwcm9wZXIgcGFyc2luZyBvZiB0aGUgTWFrZWZpbGUuaW4ncyB0byBmaW5kIHRoZSB0ZXN0cy4KKwktIEFkZGVkIHN1cHBvcnQgZm9yIG9wdGlvbmFsbHkgdXNpbmcgdGhlIE1pY3Jvc29mdCBoZWFkZXJzIGluc3RlYWQgb2YKKwkgIHRoZSBXaW5lIGhlYWRlcnMuCisKKwkqIHByb2dyYW1zL3Byb2dtYW4vRW4ucmMsIHByb2dyYW1zL3Byb2dtYW4vRnIucmMsCisJICBwcm9ncmFtcy9wcm9nbWFuL2RpYWxvZy5jLCBwcm9ncmFtcy9wcm9nbWFuL2xpY2Vuc2UuYywKKwkgIHByb2dyYW1zL3Byb2dtYW4vbGljZW5zZS5oLCBwcm9ncmFtcy9wcm9nbWFuL21haW4uYywKKwkgIHByb2dyYW1zL3Byb2dtYW4vcHJvZ21hbi5oLCBwcm9ncmFtcy9wcm9nbWFuL3JzcmMucmMsCisJICBwcm9ncmFtcy9wcm9nbWFuL3N0cmluZy5jOgorCVN5bHZhaW4gUGV0cmVvbGxlIDxzcGV0cmVvbGxlQHlhaG9vLmZyPgorCUltcGxlbWVudGVkIE5MUyBpbiBwcm9nbWFuLgorCisJKiBkbGxzL3VzZXIvdXNlcl9tYWluLmMsIGluY2x1ZGUvbWVzc2FnZS5oLCB3aW5kb3dzL3RpbWVyLmM6CisJU3RvcmUgdGhyZWFkIGlkIGluc3RlYWQgb2YgcXVldWUgaGFuZGxlIGluIHRpbWVyIHN0cnVjdHVyZS4KKworCSogZGxscy91c2VyL3VzZXIzMi5zcGVjLCBkbGxzL3VzZXIvd25kMTYuYywgZGxscy94MTFkcnYvZGVza3RvcC5jLAorCSAgaW5jbHVkZS9xdWV1ZS5oLCBpbmNsdWRlL3dpbi5oLCB3aW5kb3dzL3F1ZXVlLmMsIHdpbmRvd3Mvd2luLmM6CisJSW1wbGVtZW50ZWQgR2V0V2luZG93VGFzazE2IG9uIHRvcCBvZiBHZXRXaW5kb3dUaHJlYWRQcm9jZXNzSWQuCisJUmVtb3ZlZCBubyBsb25nZXIgdXNlZCBobWVtVGFza1EgZmllbGQgaW4gV05EIHN0cnVjdHVyZS4KKworCSogZGxscy9rZXJuZWwvY29tbS5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvd2luYmFzZS5oLAorCSAgaW5jbHVkZS93aW5nZGkuaCwgaW5jbHVkZS93aW5udC5oLCBpbmNsdWRlL3dpbnVzZXIuaCwKKwkgIGxvYWRlci9uZS9tb2R1bGUuYywgb2JqZWN0cy9kaWIuYywgb2JqZWN0cy9lbmhtZXRhZmlsZS5jLAorCSAgdG9vbHMvd2luZWR1bXAvbmUuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCBtaXNtYXRjaGVzIGJldHdlZW4gdGhlIFdpbmUgaGVhZGVycyBhbmQgdGhlIE1pY3Jvc29mdCBoZWFkZXJzLgorCisJKiBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfRGUucmMsIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9Fbi5yYywKKwkgIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9wcml2YXRlLmg6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJQWRkZWQgZGlhbG9nIGZvciBBVklTYXZlT3B0aW9ucy4KKworCSogZGxscy9hdmlmaWwzMi9hcGkuYzogTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJSW1wbGVtZW50ZWQgQVZJQnVpbGRGaWx0ZXJXIGFuZCBBVklTYXZlT3B0aW9ucy4KKworCSogZGxscy9hdmlmaWwzMi9nZXRmcmFtZS5jOiBNaWNoYWVsIEf8bm5ld2lnIDxNaWNoYWVsR3Vlbm5ld2lnQGdteC5kZT4KKwlGaXhlZCBidWcgdGhhdCBwcmV2ZW50ZWQgSUNDb21wcmVzc29yQ2hvb3NlIGZyb20gd29ya2luZy4KKworCSogd2luZG93cy9tc2dib3guYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCU1lc3NhZ2VCb3hJbmRpcmVjdFc6IGNhbGwgRmluZFJlc291cmNlRXggd2l0aCBhcmd1bWVudHMgaW4gdGhlIHJpZ2h0CisJb3JkZXIuCisKKwkqIGRsbHMvZ2RpL3Rlc3RzL2dlbmVyYXRlZC5jLCBkbGxzL2tlcm5lbC90ZXN0cy9nZW5lcmF0ZWQuYywKKwkgIGRsbHMvbnRkbGwvdGVzdHMvZ2VuZXJhdGVkLmMsIGRsbHMvdXNlci90ZXN0cy9nZW5lcmF0ZWQuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlVcGRhdGVkIHRoZSBnZW5lcmF0ZWQgdGVzdHMuCisKKwkqIHRvb2xzL3dpbmFwaS90ZXN0cy5kYXQsIHRvb2xzL3dpbmFwaS93aW5hcGlfdGVzdDoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlNaW5vciBtb2RpZmljYXRpb25zIGFuZCBpbXByb3ZlbWVudHMuCisKKwkqIGRsbHMvc2hlbGwzMi9jb250cm9sLmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCURvIG5vdCBicmVhayBxdW90ZWQgc3RyaW5ncyBpbiBDb250cm9sX0RvTGF1bmNoLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmM6IENocmlzdGlhbiBOZXVtYWlyIDxjaHJpc0Bnbm9tZS1kZS5vcmc+CisJQ29sbGVjdCBhbGwgYnVncywgbWlzc2luZyBmZWF0dXJlcywgZXRjIGluIHRoZSBoZWFkZXIgZG9jLgorCisJKiBpbmNsdWRlL2RpZ2l0YWx2LmgsIGluY2x1ZGUvd2luZS9tbXN5c3RlbTE2Lmg6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJTW92ZWQgMTYgYml0IGRpZ2l0YWwgc3RydWN0cyB0byBpbmNsdWRlL3dpbmUvbW1zeXN0ZW0xNi5oLgorCisyMDAyLTEwLTIyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3dpbnNwb29sL01ha2VmaWxlLmluLCBkbGxzL3dpbnNwb29sL2luZm8uYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUNvbXBpbGUgdGhlIHdpbnNwb29sIGRsbCB3aXRoIFNUUklDVCBkZWZpbmVkLgorCisJKiBkbGxzL3RhcGkzMi9NYWtlZmlsZS5pbiwgZGxscy90YXBpMzIvbGluZS5jLCBkbGxzL3RhcGkzMi9waG9uZS5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJQ29tcGlsZSB0aGUgdGFwaTMyIGRsbCB3aXRoIFNUUklDVCBkZWZpbmVkLgorCisJKiBkbGxzL3BzYXBpL01ha2VmaWxlLmluLCBkbGxzL3BzYXBpL3BzYXBpX21haW4uYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUNvbXBpbGUgdGhlIHBzYXBpIGRsbCB3aXRoIFNUUklDVCBkZWZpbmVkLgorCisJKiBkbGxzL21zYWNtL01ha2VmaWxlLmluLCBkbGxzL21zYWNtL2RyaXZlci5jLCBkbGxzL21zYWNtL2ZpbHRlci5jLAorCSAgZGxscy9tc2FjbS9mb3JtYXQuYywgZGxscy9tc2FjbS9pbnRlcm5hbC5jLAorCSAgZGxscy9tc2FjbS9tc2FjbTMyX21haW4uYywgZGxscy9tc2FjbS9zdHJlYW0uYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUNvbXBpbGUgdGhlIG1zYWNtIGRsbCB3aXRoIFNUUklDVCBkZWZpbmVkLgorCisJKiBkbGxzL21wci9NYWtlZmlsZS5pbiwgZGxscy9tcHIvYXV0aC5jLCBkbGxzL21wci93bmV0LmM6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlDb21waWxlIHRoZSBtcHIgZGxsIHdpdGggU1RSSUNUIGRlZmluZWQuCisKKwkqIGRsbHMvaW1hZ2VobHAvTWFrZWZpbGUuaW4sIGRsbHMvaW1hZ2VobHAvYWNjZXNzLmMsCisJICBkbGxzL2ltYWdlaGxwL2RlYnVnLmMsIGRsbHMvaW1hZ2VobHAvaW1hZ2VobHBfbWFpbi5jLAorCSAgZGxscy9pbWFnZWhscC9pbnRlZ3JpdHkuYywgZGxscy9pbWFnZWhscC9zeW1ib2wuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUNvbXBpbGUgdGhlIGltYWdlaGxwIGRsbCB3aXRoIFNUUklDVCBkZWZpbmVkLgorCisJKiBkbGxzL2ltbTMyL01ha2VmaWxlLmluLCBkbGxzL2ltbTMyL2ltbS5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJQ29tcGlsZSB0aGUgaW1tMzIgZGxsIHdpdGggU1RSSUNUIGRlZmluZWQuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBpbmNsdWRlL2NvbmZpZy5oLmluLCBzY2hlZHVsZXIvcHRocmVhZC5jOgorCUF2b2lkIHJlZmVyZW5jZSB0byBnbGliYyBpbnRlcm5hbCBfX2xpYmNfZm9yayBmdW5jdGlvbi4KKworCSogZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzIucmMsIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX0VuLnJjLAorCSAgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfUnUucmMsIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX1NrLnJjLAorCSAgZGxscy91c2VyL3Jlc291cmNlcy91c2VyMzJfWmgucmMsIHdpbmRvd3MvbWRpLmMsIHdpbmRvd3MvbXNnYm94LmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGJhaWthbC5ydT4KKwlSZXN0b3JlIHNldHRpbmcgb2YgY2FwdGlvbiAiRXJyb3IiLgorCisJKiBkbGxzL2QzZDgvZGV2aWNlLmM6IEphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJQmVnaW5uaW5ncyBvZiBTdGVuY2lsIHN1cHBvcnQuCisKKwkqIGRsbHMvY29tY3RsMzIvaGVhZGVyLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQnJpbmcgaGVhZGVyJ3MgaGVpZ2h0IG1vcmUgaW5saW5lIHdpdGggbmF0aXZlJ3MuCisKKwkqIGRsbHMvcnBjcnQ0L01ha2VmaWxlLmluLCBkbGxzL3JwY3J0NC9uZHJfbWFyc2hhbGwuYywKKwkgIGRsbHMvcnBjcnQ0L25kcl9taWRsLmMsIGRsbHMvcnBjcnQ0L3JwY3J0NC5zcGVjLCBpbmNsdWRlL3JwY25kci5oOgorCUdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCS0gVXNlIE92ZS1zdHlsZSBtYWNyb3MgZm9yIE5kckNvbmZvcm1hbnRTdHJpbmdNYXJzaGFsbCBkZWZpbml0aW9uLgorCS0gTW92ZSBOZHJDb25mb3JtYW50U3RyaW5nTWFyc2hhbGwgdG8gbmV3IG5kcl9tYXJzaGFsbC5jLgorCS0gU3R1YnMgZm9yIE5kckNvbmZvcm1hbnRTdHJpbmdCdWZmZXJTaXplLAorCSAgTmRyQ29uZm9ybWFudFN0cmluZ01lbW9yeVNpemUsIGFuZCBOZHJDb25mb3JtYW50U3RyaW5nVW5tYXJzaGFsbC4KKworCSogZGxscy9ycGNydDQvbmRyX3N0dWJsZXNzLmMsIGRsbHMvcnBjcnQ0L3JwY19iaW5kaW5nLmMsCisJICBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmM6CisJR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJLSBDbGllbnRDYWxsMiBzdGlsbCBkZXNlcnZlcyBhIEZJWE1FLgorCS0gQ29tcGxldGUgYmluZGluZ3Mgd2l0aCBOVUxMIGVuZHBvaW50cy4KKwktIEltcGxlbWVudCBScGNTZXJ2ZXJVc2VQcm90c2VxQSwgUnBjU2VydmVyVXNlUHJvdHNlcVcuCisKKzIwMDItMTAtMjEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgaW5jbHVkZS93aW5udC5oLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZjoKKwlGaXhlZCB0aGUgV0lORV9OT19TVFJJQ1QgI2lmZGVmcyB0byBkbyB0aGUgcmlnaHQgdGhpbmcgaWYgU1RSSUNUIGlzCisJZGVmaW5lZCAoc3BvdHRlZCBieSBNaWNoYWVsIFN0ZWZhbml1YykuCisKKwkqIGRsbHMvcnBjcnQ0L25kcl9taWRsLmMsIGluY2x1ZGUvcnBjbmRyLmg6CisJR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJRml4IHJldHVybiB0eXBlcyBvZiBOZHJDb25mb3JtYW50U3RyaW5nTWFyc2hhbGwsIE5kckdldEJ1ZmZlciwgYW5kCisJTmRyU2VuZFJlY2VpdmUuCisKKwkqIGRsbHMvcnBjcnQ0L3JwY19zZXJ2ZXIuYywgZGxscy9ycGNydDQvcnBjcnQ0LnNwZWMsIGluY2x1ZGUvcnBjZGNlLmg6CisJR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJU3R1YnMgZm9yIFJwY1NlcnZlclVzZVByb3RzZXFBLCBScGNTZXJ2ZXJVc2VQcm90c2VxVy4KKworCSogZGxscy9hdmlmaWwzMi9NYWtlZmlsZS5pbiwgZGxscy9hdmlmaWwzMi9hY21zdHJlYW0uYywKKwkgIGRsbHMvYXZpZmlsMzIvZmFjdG9yeS5jLCBkbGxzL2F2aWZpbDMyL2ljbXN0cmVhbS5jOgorCU1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCU5ldyBBVkkgc3RyZWFtaGFuZGxlcnMgZm9yIGF1ZGlvIGFuZCB2aWRlbyBzdHJlYW1zLgorCisJKiBkbGxzL2F2aWZpbDMyL2FwaS5jLCBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfRGUucmMsCisJICBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfRW4ucmMsIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9wcml2YXRlLmg6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJLSBGaXhlZCB1c2FnZSBvZiBoYW5kbGVyIGluc3RlYWQgb2YgdHlwZSBpbiBBVklNYWtlQ29tcHJlc3NlZFN0cmVhbS4KKwktIEltcGxlbWVudGVkIEFWSUJ1aWxkRmlsdGVyQS4KKwktIFN0YXJ0ZWQgdG8gaW1wbGVtZW50IEFWSUJ1aWxkRmlsdGVyVy4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWxlLmM6IE1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCS0gRml4ZWQgbWFueSBidWdzIHdoaWNoIHByZXZlbnRzIHdyaXRpbmcuCisJLSBGaXhlZCBzZWdmYXVsdCB3aGlsZSBwYXJzaW5nIGludmFsaWQgaW5kZXguCisJLSBLZWVwIHBhcnNpbmcgb2YgaW5kZXggZXZlbiBpZiBzdHJlYW1oZWFkZXIgc2F5cyBpdCdzIGVtcHR5CisJLSBGaXhlZCBidWcgaW4gQVZJRklMRV9TYXZlSW5kZXggd2hlbiBzdHJlYW0gaXMgZW1wdHkuCisJLSBGaXhlZCBidWcgaW4gQVZJRklMRV9Xcml0ZUJsb2NrLCB3aGVuIGNodW5rIGlzIG5vdCBvZiBldmVuIHNpemUuCisKKwkqIGluY2x1ZGUvdmZ3Lmg6IE1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCUFkZGVkIG1hY3JvcyBmb3IgQVZJRmlsZUNsb3NlIGFuZCBBVklTdHJlYW1DbG9zZS4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMnVuZG9jLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRFBBcyBjYW4ndCBoYXZlIG1vcmUgdGhhbiAweDgwMDAgZWxlbWVudHMgKGZpeGVkIHdpdGggbG90cyBvZiBoZWxwCisJZnJvbSBDYXJsb3MgPGNsb3phbm9AYW5kYWdvLmNvbSkuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU5vIG5lZWQgdG8gaW5jcmVtZW50IGl0ZW0gc2l6ZSwgaXQncyBhbHJlYWR5IGFkanVzdGVkIGJ5IERQQV9TZXRQdHIKKwkoZm91bmQsIGFuZCBmaXhlZCBieSBDYXJsb3MgPGNsb3phbm9AYW5kYWdvLmNvbT4pLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlEbyBub3QgcmVseSBvbiBIZWFwUmVBbGxvYyB0byBhbGxvY2F0ZSBhIE5VTEwgcG9pbnRlci4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMnVuZG9jLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmV3cml0ZSBEUEFfSW5zZXJ0UHRyIGluIHRlcm1zIG9uIERQQV9TZXRQdHIsIHNvIHRoYXQgIGl0J3Mgc2ltcGxlciwKKwljbGVhbmVyLCBhbmQgbW9yZSBjb3JyZWN0LgorCUl0IG5vdyBleHBhbmRzIHRoZSBhcnJheSB0byBhY2NvbW9kYXRlIGxhcmdlciB0aGFuIGN1cnJlbnQgc2l6ZQorCWluZGV4ZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlEbyBub3Qgc2VuZCB1bmluaXRpYWxpemVkIGxQYXJhbXMgb24gbm90aWZpY2F0aW9uIG1zZ3MgKGZvdW5kIGJ5IFJlaW4KKwlLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPikuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlDb21wbGV0ZSByZXdyaXRlIG9mIHRoZSByY1ZpZXcgaW1wbGVtZW50YXRpb24uCisJTG90cyBvZiBidWdzIGZpeGVkIGluIHJjVmlldyBjb21wdXRhdGlvbi4KKwlBc3NvcnRlZCBjbGVhbnVwcywgYW5kIHNpbXBsaWZpY2F0aW9ucy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVNwbGl0IHJhbmdlc19kZXN0cm95IGluIHJhbmdlc19jbGVhciwgYW5kIHJhbmdlc19kZXN0cm95LgorCVJld3JpdGUgRGVsZXRlQWxsSXRlbXMsIGZvciBjbGVhbmVyLCBmYXN0ZXIsIG1vcmUgY29ycmVjdCBjb2RlLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVXBkYXRlZCBoZWFkZXIgZG9jdW1lbnRhdGlvbiB0byB0aGUgbGF0ZXN0LCBhbmQgZ3JlYXRlc3QuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlPcHRpbWl6ZSBpbnZhbGlkYXRpb24gb24gaW5zZXJ0LgorCVNoYXJlIHRoZSBpbnZhbGlkYXRpb24gY29kZSBiZXR3ZWVuIHtEZWxldGUsSW5zZXJ0fUl0ZW0uCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZXdyaXRlIERlbGV0ZUl0ZW1UOiBjbGVhbmVyLCBhIGxvdCBmYXN0ZXIuCisJTnVtYmVyIG9mIGJ1ZyB3ZXJlIGZpeGVkLgorCVRoZSBtaW5pbXVtIHBvc3NpYmxlIGlzIHJlZHJhd24uCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlJbXBsZW1lbnQgbW9zdCBvZiBMVk1fQVJSQU5HRS4KKwlNYWtlIHVzZSBvZiBpdCwgd2hlcmUgaXQgd2FzIGFwcHJvcHJpYXRlLgorCVVzZSBpbmZvUHRyLT5kd1N0eWxlIGRpcmVjdGx5LCBpbiBtb3N0IHBsYWNlcy4KKwlBc3NvcnRlZCBjbGVhbnVwcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVByb3BlciAodHlwZSB3aXNlKSByZXR1cm4gdHlwZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW9yZ2FuaXplIGhlYWRlciBub3RpZmljYXRpb25zLgorCVN1cHBvcnQgbm90aWZpY2F0aW9ucyB0aGF0IGRvbid0IGhhdmUgZW1iZWRkZWQgc2l6ZSBpbmZvLgorCUludmFsaWRhdGUgY29sdW1ucyBvbiBmb3JtYXQgY2hhbmdlIChpZiBuZWVkZWQpLgorCUFzc29ydGVkIGNsZWFudXBzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQ3Jhc2ggb24gaW50ZXJuYWwgTlVMTCBwb2ludGVycywgZG9uJ3QgdGVzdCBhbGwgb3ZlciB0aGUgcGxhY2UuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlXaGVuIHJlbW92aW5nIGZvY3VzLCBubyBuZWVkIHRvIGdvIHRocm91Z2ggYWxsIGVsZW1lbnRzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGNvbG9ycyBmb3Igc2VsZWN0ZWQgaXRlbXMgaW4gZnVsbCByb3cgc2VsZWN0IG1vZGUuCisJRml4IGJ1ZyBjYXVzZWQgYnkgdXNlIG9mIHVuaW5pdGlhbGl6ZWQgc3RhdGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggY29tcHV0YXRpb24gb2Ygc3ViaXRlbSBib3gsIHdoZW4gaW52YWxpZGF0aW5nIGl0LgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQXNzZXJ0IG9uIGluY29uc2lzdGVudCByYW5nZSBsaXN0IHN0YXRlcy4KKwlWYXJpb3VzIGNvZGUgY2xlYW51cHMsIGZldyBwb3RlbnRpYWwgYnVncyBmaXhlZC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCURvIG5vdCBncm93IHRoZSBpdGVtIGxpc3QgdG8gYXJicml0YXJ5IGluZGV4OiBpZiByZXF1ZXN0ZWQgaW5kZXggaXMKKwlsYXJnZXIgdGhhbiBjdXJyZW50IGNvdW50LCBqdXN0IGFwcGVuZC4KKwlNaXNjZWxsYW5lb3VzIGNsZWFudXBzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU2V0Q29sdW1uV2lkdGggcmV3cml0ZTogc2ltcGxlciwgY2xlYW5lciBjb2RlLiBCdWdzIHNxdWFzaGVkLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJSGFuZGxlIGdlbmVyaWMgY29sdW1uIHdpZHRoIGNoYW5nZXMuCisJRml4IGJ1ZyBpbiBTZXRDb2x1bW5UIHdoaWNoIHJlbmRlcmVkIGl0IHVudXNhYmxlLgorCUNvbHVtbiBjb2RlIGNsZWFudXAuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBc3NlcnQgb24gaW50ZXJuYWwgaW52YXJpYW50cywgcmF0aGVyIHRoYW4gZmFpbCBncmFjZWZ1bGx5LgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW9yZSBkb2NzIGNvbXBsaWFudCBhbGlnbm1lbnQgaGFuZGxpbmcgZm9yIHN1Yml0ZW1zLgorCisJKiB0b29scy93aW5laW5zdGFsbDogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVJ1biByZWdlZGl0IGV2ZW4gaWYgbm90IGluc3RhbGxlZC4KKworCSogcHJvZ3JhbXMvd2luaGVscC9EYS5yYywgcHJvZ3JhbXMvd2luaGVscC9EZS5yYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvRW4ucmMsIHByb2dyYW1zL3dpbmhlbHAvRXMucmMsCisJICBwcm9ncmFtcy93aW5oZWxwL0ZpLnJjLCBwcm9ncmFtcy93aW5oZWxwL0ZyLnJjLAorCSAgcHJvZ3JhbXMvd2luaGVscC9IdS5yYywgcHJvZ3JhbXMvd2luaGVscC9JdC5yYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvS28ucmMsIHByb2dyYW1zL3dpbmhlbHAvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy93aW5oZWxwL1B0LnJjLCBwcm9ncmFtcy93aW5oZWxwL1NpLnJjLAorCSAgcHJvZ3JhbXMvd2luaGVscC9Tay5yYywgcHJvZ3JhbXMvd2luaGVscC9Tdy5yYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvVmEucmMsIHByb2dyYW1zL3dpbmhlbHAvV2EucmMsCisJICBwcm9ncmFtcy93aW5oZWxwL21hY3JvLmMsIHByb2dyYW1zL3dpbmhlbHAvd2luaGVscC5jLAorCSAgcHJvZ3JhbXMvd2luaGVscC93aW5oZWxwX3Jlcy5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCU5vIGxvbmdlciB1c2luZyBleHBsaWNpdCB2YWx1ZXMgZm9yIHJlc291cmNlIGlkZW50aWZpY2F0aW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL2hlYWRlci5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeCBub3RpZmljYXRpb24gZnJvbSBoZWFkZXIsIG9uIGl0ZW0gY2hhbmdlZC4KKwlTbWFsbCBpbmRlbnRhdGlvbiBmaXhlcy4KKworCSogZGxscy9jb21tZGxnL3ByaW50ZGxnLmM6IER1YW5lIENsYXJrIDxkY2xhcmtAYWthbWFpbC5jb20+CisJU2V0IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIFBEX1BBR0VOVU1TIGZsYWcuCisKKwkqIHByb2dyYW1zL25vdGVwYWQvZGlhbG9nLmM6IER1YW5lIENsYXJrIDxkY2xhcmtAYWthbWFpbC5jb20+CisJSW1wbGVtZW50IHByaW50aW5nIGluIG5vdGVwYWQuCisKKwkqIGRsbHMvZDNkOC9kM2Q4X3ByaXZhdGUuaCwgZGxscy9kM2Q4L2RldmljZS5jLCBkbGxzL2QzZDgvZGlyZWN0eC5jLAorCSAgZGxscy9kM2Q4L3ZvbHVtZS5jLCBkbGxzL2QzZDgvdm9sdW1ldGV4dHVyZS5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJQWRkIHRoZSBiYXNpYyBzdXBwb3J0IGZvciB2b2x1bWUgdGV4dHVyZXMgLyB2b2x1bWVzICgzZCB0ZXh0dXJlcykuCisKKwkqIGRsbHMvd2lubW0vbW1pby5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsIGRsbHMvd2lubW0vd2luZW1tLmg6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJS2VlcCBvbiBtb3ZpbmcgMTYgYml0IGNvZGUgb3V0IG9mIHdpbm1tLCBub3cgb25seSB1c2luZyBsaW5lYXIKKwlhZGRyZXNzZXMgZm9yIGJ1ZmZlcnMuCisKKwkqIHByb2dyYW1zL3dpbmhlbHAvbWFjcm8uYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJSW1wbGVtZW50ZWQgYSBmZXcgbW9yZSBtYWNyb3MgZm9yIGJ1dHRvbiBtYW5pcHVsYXRpb24KKwkoZW5hYmxlL2Rpc2FibGUvY2hhbmdpbmcgbWFjcm8pLgorCisJKiBwcm9ncmFtcy93aW5oZWxwL2hscGZpbGUuYywgcHJvZ3JhbXMvd2luaGVscC9obHBmaWxlLmgsCisJICBwcm9ncmFtcy93aW5oZWxwL3dpbmhlbHAuYywgcHJvZ3JhbXMvd2luaGVscC93aW5oZWxwLmg6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJSW1wcm92ZWQgYSBiaXQgbGluayBoYW5kbGluZyAoYSBmZXcgbW9yZSBsaW5rIHR5cGVzIGxvYWRlZCBmcm9tIGZpbGUKKwlhbmQgc3VwcG9ydCBmb3IgbGluayB0byBhIG1hY3JvKS4KKworCSogd2luZG93cy9tc2dib3guYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGJhaWthbC5ydT4KKwlBY3R1YWxseSB1c2UgbGFuZ3VhZ2UgaWRlbnRpZmllci4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6IER1YW5lIENsYXJrIDxkY2xhcmtAYWthbWFpbC5jb20+CisJQ29ycmVjdCB0aGUgYmVoYXZpb3IgZm9yIGRpc2FibGVkIHRvb2xiYXIgYnV0dG9ucy4KKworMjAwMi0xMC0xOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCURvIG5vdCBjcmVhdGUgYSByYW5nZSBsaXN0IGZvciBhbiBlbXB0eSByYW5nZS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVN0b3JlIHRoZSBlbnRpcmUgZm9ybWF0IGJpdG1hcCBpbiB0aGUgY29sdW1uIGluZm8uCisJUmV3cml0ZSBHZXRDb2x1bW5UIHRvIHRha2UgYWR2YW50YWdlIG9mIHRoYXQuCisJUmVsYXRlZCBjbGVhbnVwcywgYW5kIHNpbXBsaWZpY2F0aW9ucy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUNvbHVtbiB6ZXJvIGhhcyB0aGUgaW1hZ2UgZW5hYmxlZCBhbHdheXMsIGlycmVzcGVjdGl2ZSBvZiBmb3JtYXQuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlVbmlmeSB7SW5zZXJ0LFNldH1Db2x1bW5UIGFzIG11Y2ggYXMgcG9zc2libGUuCisJRml4IGEgYnVuY2ggb2YgcHJvYmxlbXMgaW4gU2V0Q29sdW1uVC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeCBmdW5jdGlvbiBoZWFkZXIgZG9jdW1lbnRhdGlvbi4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUJldHRlciByZXBvcnQgbW9kZS4KKwlVc2UgdGhlIG5ldyBjb2x1bW4gaW5mb3JtYXRpb24gdG8gc2ltcGxpZnksIGFuZCBzcGVlZCB1cCB0aGUgY29kZS4KKwlFbmFibGUgc3VwcG9ydCBmb3IgaW1hZ2VzIGluIHN1Yml0ZW1zIChpbiBMVlNfUkVQT1JUIG1vZGUpLgorCisJKiBpbmNsdWRlL3dpbnVzZXIuaCwgd2luZG93cy9tc2dib3guYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAYmFpa2FsLnJ1PgorCUNvbnZlcnQgTWVzc2FnZUJveCBmYW1pbHkgZnVuY3Rpb25zIHRvIHVuaWNvZGUuCisKKwkqIGluY2x1ZGUvcnBjcHJveHkuaDogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJUGF0Y2ggY3J1ZnQgcmVtb3ZhbC4KKworCSogZGxscy9ycGNydDQvbmRyX3N0dWJsZXNzLmMsIGRsbHMvcnBjcnQ0L3JwY3J0NC5zcGVjLAorCSAgaW5jbHVkZS9ycGNuZHIuaDoKKwlHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwlTdXBlci1jcnVkZSBpbXBsZW1lbnRhdGlvbiBmb3IgTmRyQ2xpZW50Q2FsbDIuCisJU3BlY3MgYW5kIGhlYWRlcnMgZm9yIE5kckNsaWVudEluaXRpYWxpemVOZXcsCisJTmRyQ29uZm9ybWFudFN0cmluZ01hcnNoYWxsLCBOZHJHZXRCdWZmZXIsIE5kckZyZWVCdWZmZXIsIGFuZAorCU5kclNlbmRSZWNlaXZlLgorCisJKiBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmM6IEdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCUZpeCB1cCBScGNNZ210V2FpdFNlcnZlckxpc3RlbiB0byBiZSBsZXNzIGluY29ycmVjdC4KKworCSogZGxscy9ycGNydDQvbmRyX21pZGwuYywgZGxscy9ycGNydDQvbmRyX21pc2MuaDoKKwlHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwlTb21lIE1JREwgY29uc3RhbnRzIGFuZCBzdHJ1Y3R1cmVzIChzaG91bGQgZXZlbnR1YWxseSBtb3ZlIHRvIHJwY25kci5oCisJSSB0aGluaykuCisJU3R1YnMgZm9yIE5kckNsaWVudEluaXRpYWxpemVOZXcsIE5kckNvbmZvcm1hbnRTdHJpbmdNYXJzaGFsbCwKKwlOZHJHZXRCdWZmZXIsIE5kckZyZWVCdWZmZXIsIGFuZCBOZHJTZW5kUmVjZWl2ZSAobm90IGluIHNwZWNmaWxlIHlldCkuCisKKwkqIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaCwgbG9hZGVyL3Rhc2suYzoKKwlHZXQvU2V0RmFzdFF1ZXVlMTYgc2hvdWxkIHVzZSBIUVVFVUUxNiBoYW5kbGVzLgorCisJKiBkbGxzL3dpbm1tL21jaWF2aS9tbW91dHB1dC5jLCBkbGxzL3dpbm1tL21jaXdhdmUvbWNpd2F2ZS5jLAorCSAgZGxscy93aW5tbS93aW5lYWxzYS9hdWRpby5jLCBkbGxzL3dpbm1tL3dpbmVhcnRzL2F1ZGlvLmMsCisJICBkbGxzL3dpbm1tL3dpbmVuYXMvYXVkaW8uYywgaW5jbHVkZS93aW5kZWYuaCwgaW5jbHVkZS93aW5udC5oOgorCVJlbW92ZWQgREVDTEFSRV9PTERfSEFORExFLiBGaXhlZCBhIGZldyByZW1haW5pbmcgd2FybmluZ3MuCisKKwkqIHRvb2xzL3dpbmVkdW1wL21zbWFuZ2xlLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCWRlbWFuZ2xlX2RhdGF0eXBlOiBkZWxldGUgc3VwZXJmbG91cyBmcmVlKCkuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXcvdXNlci5jOiBMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCUFkZCAzRCBzdXBwb3J0IGF0IHRoZSBVc2VyIGRyaXZlciBsZXZlbC4KKworCSogZGxscy9zaGRvY3Z3L3dlYmJyb3dzZXIuYywgaW5jbHVkZS93aW5lL29ial93ZWJicm93c2VyLmg6CisJTWFsdGUgU3Rhcm9zdGlrIDxtYWx0ZUBrZGUub3JnPgorCUZpeGVkIElXZWJCcm93c2VyOjpOYXZpZ2F0ZSgpIHBhcmFtZXRlciB0eXBlLgorCUFkZGVkIElXZWJCcm93c2VyQXBwIGFuZCByZWxhdGVkIHR5cGVkZWZzLgorCisJKiBNYWtlLnJ1bGVzLmluLCB0b29scy93bWMvd3JpdGUuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlDb3JyZWN0ZWQgdGhlIGFsaWdubWVudCBvZiB1bmljb2RlIG1lc3NhZ2UgdGFibGUgc3RyaW5ncyBpbiB3bWMsIGFuZAorCXN3aXRjaGVkIHRvIHVuaWNvZGUgZm9yIG1lc3NhZ2Ugc3RyaW5ncywgc28gdGhhdCBGb3JtYXRNZXNzYWdlKCkgbm93CisJd29ya3MuCisKKwkqIHNlcnZlci9NYWtlZmlsZS5pbiwgc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3F1ZXVlLmMsCisJICBzZXJ2ZXIvcmVxdWVzdC5jLCBzZXJ2ZXIvc29jay5jLCBzZXJ2ZXIvdHJhY2UuYywgc2VydmVyL3VzZXIuYywKKwkgIHRvb2xzL21ha2VfcmVxdWVzdHM6CisJQ29udmVydGVkIHRoZSBzZXJ2ZXIgdG8gLURTVFJJQ1QuCisKKwkqIGRvY3VtZW50YXRpb24vY29uZmlndXJpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi9ydW5uaW5nLnNnbWw6CisJQmlsbCBNZWRsYW5kIDxCaWxsLk1lZGxhbmRAYWNjcGFjLmNvbT4KKwlBZGQgZG9jdW1lbnRhdGlvbiBvbiBob3cgdG8gbW9kaWZ5IHdoYXQgLS1kZWJ1Z21zZyArcmVsYXkgcmVwb3J0cy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVdoZW4gZGVsZXRpbmcgYW4gaXRlbSwgcmVtb3ZlIHNlbGVjdGlvbiwgZG9uJ3QgYWRkIGl0IQorCisJKiBpbmNsdWRlL3VzZXIuaCwgd2luZG93cy9ob29rLmM6CisJQ2hhbmdlZCB0aGUgVVNFUl9IRUFQXyogbWFjcm9zIHRvIHVzZSBIQU5ETEVzIGluc3RlYWQgb2YgSEFORExFMTZzLgorCisJKiBjb250cm9scy9tZW51LmMsIGRsbHMvdXNlci9kZGUvY2xpZW50LmMsIGRsbHMvdXNlci90ZXh0LmMsCisJICB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3dpbnByb2MuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCVNpbGVuY2Ugc29tZSB3YXJuaW5ncyBkdWUgdG8gY2FzdHMgYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VycyBvZgorCWRpZmZlcmVudCBzaXplLgorCisJKiBkbGxzL3VzZXIvZGRlL21pc2MuYzogTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlGaXggd2FybmluZ3Mgd2hlbiBjb252ZXJ0aW5nIGJldHdlZW4gYW4gQVRPTSBhbmQgYSBIU1ouCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlNb3JlIHRyYWNlcyB0byBoZWxwIHVzIG1ha2Ugc2Vuc2Ugb2YgdGhlIG91dHB1dC4KKwlGYXN0ZXIsIGNsZWFuZXIgcmFuZ2VzX3thZGQsZGVsfS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeCByYW5nZXMgaW5zZXJ0aW9uIGJ1ZyAoc3BlY2lmeSBEUEFTX1NPUlRFRCB3aGVuIHNlYXJjaGluZykuCisJQWRkIGEgbG90IG9mIGFzc2VydC1lZCBjb25zaXN0ZW5jeSBjaGVja3MuCisJQWRkIGJ1bmNoIG9mIHRyYWNlIG1lc3NhZ2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJSW5zcGVjdCBzdHlsZSBiaXRzIGluZGVwZW5kZW50bHkgb24gc3R5bGUgY2hhbmdlLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmV3cml0ZSBTdHlsZUNoYW5nZWQgcHJvY2VkdXJlCisJICBvIHNvbWUgYnVncyBoYXZlIGJlZW4gZml4ZWQKKwkgIG8gY2xlYW5lciwgc2ltcGxlciBjb2RlCisJRml4IHNvbWUgY29ybmVyIGNhc2UsIGljb24gc2l6ZSBjb21wdXRhdGlvbiBidWdzLgorCUFzc29ydGVkIGRvY3MgdXBkYXRlcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUtlZXAgdHJhY2sgb2YgcGVyLWNvbHVtbiBpbmZvcm1hdGlvbiBpbnNpZGUgdGhlIGxpc3R2aWV3LgorCUNhY2hlIGhlYWRlciByZWN0YW5nbGVzLgorCVVzZWQgdGhlIGNhY2hlZCBpbmZvIGluc3RlYWQgb2YgY2FsbGluZyB0byB0aGUgaGVhZGVyIGVhY2ggdGltZS4KKwlVcGRhdGUgdGhlIGxpc3R2aWV3IGFzIHdlIHRyYWNrIGNvbHVtbiB3aWR0aCBjaGFuZ2VzLgorCVVuaWZ5IGNvbHVtbiBoYW5kbGluZyBiZXR3ZWVuIHtJbnNlcnQsRGVsZXRlfUNvbHVtbiwgYW5kIHdpZHRoCisJY2hhbmdlcy4KKwlTaW1wbGlmeSBSZWZyZXNoUmVwb3J0LCBieSB1c2luZyB0aGUgbmV3IGNvbHVtbiBpbmZvLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRG8gbm90IHF1ZXJ5IGl0ZW1zIHRoYXQgYXJlIGp1c3QgYmVpbmcgaW5zZXJ0ZWQuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW9yZ2FuaXplIHRoaW5ncyBhIGJpdCBzbyB0aGF0IHdlIG5vIGxvbmdlciBuZWVkIHRoZSAndmFsaWQnIGZsYWcgb24KKwllYWNoIGl0ZW0uCisJU21hbGwgY29tbWVudHMgdXBkYXRlLgorCisJKiBwcm9ncmFtcy93aW5oZWxwL2hscGZpbGUuYywgcHJvZ3JhbXMvd2luaGVscC93aW5oZWxwLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJQWRkZWQgc3VwcG9ydCBmb3IgQlRyZWVzIGluIGZpbGUgaGVhZGVyIHJlYWRpbmcuCisJRml4ZWQgYm9ndXMgcGFsZXR0ZSBsZW5ndGggY29tcHV0YXRpb24gd2hpbGUgcmVhZGluZyBiaXRtYXAuCisJRml4ZWQgcmVuZGVyaW5nIHdoaWxlIHN0YXJ0aW5nIGEgcGFnZSB3aXRoIGEgYml0bWFwLgorCisJKiBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2F2aWZpbDMyL01ha2VmaWxlLmluLAorCSAgZGxscy9hdmlmaWwzMi93YXZmaWxlLmM6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJLSBGaXhlZCBsb2FkaW5nIG9mIHdhdmUgZmlsZXMuCisJLSBDb3JyZWN0ZWQgQVZJRklMRUlORk9XIHN0cnVjdHVyZSB1cGRhdGVzLgorCS0gSW1wbGVtZW50ZWQgc2F2aW5nIG9mIHdhdmUgZmlsZXMuCisKKwkqIGRsbHMvYXZpZmlsMzIvYXZpZmlsZS5jOiBNaWNoYWVsIEf8bm5ld2lnIDxNaWNoYWVsR3Vlbm5ld2lnQGdteC5kZT4KKwlGaXhlZCB2ZXJ5IHNsb3cgbG9hZGluZyBvZiBpbmRleC4KKworMjAwMi0xMC0xOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9hdmljYXAzMi9hdmljYXAzMl9tYWluLmMsIGRsbHMvYXZpZmlsMzIvYXBpLmMsCisJICBkbGxzL2F2aWZpbDMyL2V4dHJhY2h1bmsuYywgZGxscy9hdmlmaWwzMi9mYWN0b3J5LmMsCisJICBkbGxzL2NvbWNhdC9jb21jYXRfbWFpbi5jLCBkbGxzL2NydGRsbC9jcnRkbGxfbWFpbi5jLAorCSAgZGxscy9kM2Q4L2RpcmVjdHguYywgZGxscy9kZHJhdy9kM2RkZXZpY2UvbWVzYS5jLAorCSAgZGxscy9kZHJhdy9kZHJhdy9tYWluLmMsIGRsbHMvZGRyYXcvZHN1cmZhY2UvZGliLmMsCisJICBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYywgZGxscy9kZHJhdy9kc3VyZmFjZS91c2VyLmMsCisJICBkbGxzL2RpbnB1dC9kZXZpY2UuYywgZGxscy9kc291bmQvbWl4ZXIuYywKKwkgIGRsbHMvbXNpbWczMi9tc2ltZzMyX21haW4uYywgZGxscy9tc2lzeXMvbXNpc3lzLmMsCisJICBkbGxzL25ldGFwaTMyL25ldGFwaTMyLmMsIGRsbHMvb2RiYzMyL3Byb3h5b2RiYy5jLAorCSAgZGxscy9vbGVjbGkvb2xlY2xpX21haW4uYywgZGxscy9vbGVkbGcvb2xlZGxnX21haW4uYywKKwkgIGRsbHMvb2xlc3ZyL29sZXN2cl9tYWluLmMsIGRsbHMvb3BlbmdsMzIvd2dsLmMsCisJICBkbGxzL3Jhc2FwaTMyL3Jhc2FwaS5jLCBkbGxzL3JpY2hlZGl0L3JpY2hlZGl0LmMsCisJICBkbGxzL3JwY3J0NC9jcHNmLmMsIGRsbHMvcnBjcnQ0L3JwY19zZXJ2ZXIuYywKKwkgIGRsbHMvc2VyaWFsdWkvY29uZmRsZy5jLCBkbGxzL3NldHVwYXBpL2Rldmluc3QuYywKKwkgIGRsbHMvc2V0dXBhcGkvaW5zdGFsbC5jLCBkbGxzL3NldHVwYXBpL3NldHVweF9tYWluLmMsCisJICBkbGxzL3NubXBhcGkvbWFpbi5jLCBkbGxzL3R3YWluL3R3YWluMzJfbWFpbi5jLAorCSAgZGxscy91cmxtb24vdXJsbW9uX21haW4uYywgZGxscy93aW4zMnMvdzMyc3lzLmMsCisJICBkbGxzL3dpbmFzcGkvd2luYXNwaTMyLmMsIGRsbHMvd2luZWRvcy9kb3N2bS5jLAorCSAgZGxscy93aW5lZG9zL21vZHVsZS5jLCBkbGxzL3dpbmVwcy9iaXRtYXAuYywgZGxscy93aW5lcHMvYnJ1c2guYywKKwkgIGRsbHMvd2luZXBzL2NsaXBwaW5nLmMsIGRsbHMvd2luZXBzL2VzY2FwZS5jLCBkbGxzL3dpbmVwcy9mb250LmMsCisJICBkbGxzL3dpbmVwcy9pbml0LmMsIGRsbHMvd2luZXBzL3Blbi5jLCBkbGxzL3dpbmluZXQvaW50ZXJuZXQuYywKKwkgIGRsbHMvd2lubW0vbWNpYXZpL2luZm8uYywgZGxscy93aW5tbS9tY2lhdmkvbWNpYXZpLmMsCisJICBkbGxzL3dpbm1tL21jaWF2aS93bmQuYywgZGxscy93aW5tbS9tY2lzZXEvbWNpbWlkaS5jLAorCSAgZGxscy93aW5tbS9tY2l3YXZlL21jaXdhdmUuYywgZGxscy93aW5tbS93aW5lb3NzL21pZGkuYywKKwkgIGRsbHMvd2ludHJ1c3Qvd2ludHJ1c3RfbWFpbi5jOgorCUZpeGVkIHdhcm5pbmdzIGNhdXNlZCBieSBjb252ZXJzaW9uIHRvIC1EU1RSSUNULgorCisJKiBkbGxzL2FkdmFwaTMyL01ha2VmaWxlLmluLCBkbGxzL2NvbWN0bDMyL01ha2VmaWxlLmluLAorCSAgZGxscy9jb21tZGxnL01ha2VmaWxlLmluLCBkbGxzL2RwbGF5eC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZ2RpL01ha2VmaWxlLmluLCBkbGxzL2ltYWdlaGxwL01ha2VmaWxlLmluLAorCSAgZGxscy9pbW0zMi9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sCisJICBkbGxzL2x6ZXhwYW5kL01ha2VmaWxlLmluLCBkbGxzL21wci9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbXNhY20vTWFrZWZpbGUuaW4sIGRsbHMvbXN2Y3J0L01ha2VmaWxlLmluLAorCSAgZGxscy9tc3ZpZGVvL01ha2VmaWxlLmluLCBkbGxzL250ZGxsL01ha2VmaWxlLmluLAorCSAgZGxscy9vbGUzMi9NYWtlZmlsZS5pbiwgZGxscy9vbGVhdXQzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvcHNhcGkvTWFrZWZpbGUuaW4sIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc2hsd2FwaS9NYWtlZmlsZS5pbiwgZGxscy90YXBpMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3R0eWRydi9NYWtlZmlsZS5pbiwgZGxscy91c2VyL01ha2VmaWxlLmluLAorCSAgZGxscy93aW5tbS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS93YXZlbWFwL01ha2VmaWxlLmluLAorCSAgZGxscy93aW5zb2NrL01ha2VmaWxlLmluLCBkbGxzL3dpbnNwb29sL01ha2VmaWxlLmluLAorCSAgZGxscy94MTFkcnYvTWFrZWZpbGUuaW4sIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwKKwkgIGluY2x1ZGUvd2lubnQuaCwgc2VydmVyL01ha2VmaWxlLmluLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmOgorCUFkZGVkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGNlcnRhaW4gZGxscyB3aXRoIC1EU1RSSUNULgorCUFkZGVkIC1EV0lORV9OT19TVFJJQ1QgZmxhZyB0byBkbGxzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBTVFJJQ1QgeWV0LgorCisJKiBkbGxzL2tlcm5lbC93b3d0aHVuay5jLCBpbmNsdWRlL3dvd250MzIuaDoKKwlBZGRlZCBGSVhNRXMgZm9yIG1ldGFmaWxlIGFuZCBmdWxsaHduZCBoYW5kbGUgY29udmVyc2lvbnMgdGhhdCBhcmVuJ3QKKwlzdXBwb3J0ZWQgcHJvcGVybHkgeWV0LgorCisJKiBkbGxzL2dkaS9nZGkxNi5jLCBvYmplY3RzL2dkaW9iai5jLCBvYmplY3RzL2xpbmVkZGEuYzoKKwlNb3ZlZCBFbnVtT2JqZWN0czE2LCBMaW5lRERBMTYgYW5kIGFzc29jaWF0ZWQgZ2x1ZSBjb2RlIHRvIGdkaTE2LmMuCisKKwkqIGRsbHMvZ2RpL01ha2VmaWxlLmluLCBkbGxzL2dkaS9nZGkxNi5jLCBkbGxzL2dkaS9nZGkzMi5zcGVjLAorCSAgZGxscy9vbGUzMi9vbGUyLmMsIG9iamVjdHMvY2xpcHBpbmcuYywgb2JqZWN0cy9mb250LmM6CisJU3BsaXQgb3V0IHNvbWUgMTYtYml0IEdESSBjb2RlLgorCisJKiBkbGxzL3VzZXIvdXNlcjE2LmMsIGRsbHMvdXNlci91c2VyX21haW4uYywgaW5jbHVkZS91c2VyLmgsCisJICBvYmplY3RzL3BhbGV0dGUuYywgd2luZG93cy9wYWludGluZy5jOgorCVN0b3JlIHRoZSBvcmlnaW5hbCBHREkgcGFsZXR0ZSBmdW5jdGlvbnMgaW4gcGZuU2VsZWN0UGFsZXR0ZSBhbmQKKwlwZm5SZWFsaXplUGFsZXR0ZSBzbyB0aGF0IFVTRVIgZG9lc24ndCBoYXZlIHRvIGltcG9ydCB0aGVtLgorCisJKiBkbGxzL3JwY3J0NC9uZHJfc3R1Ymxlc3MuYywgZGxscy9ycGNydDQvcnBjX2JpbmRpbmcuYywKKwkgIGRsbHMvcnBjcnQ0L3JwY19zZXJ2ZXIuYywgZGxscy9ycGNydDQvcnBjcnQ0LnNwZWMsIGluY2x1ZGUvcnBjZGNlLmg6CisJR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJLSAodHJ5IHRvKSBpbXBsZW1lbnQgUnBjTWdtdFdhaXRTZXJ2ZXJMaXN0ZW4KKwktIHJlbW92ZSBkdXBsaWNhdGUgUnBjU2VydmVyTGlzdGVuIGRlY2xhcmF0aW9uIGluIHJwY2RjZS5oCisJLSBzb21lIFRSQUNFcworCisJKiBkbGxzL2dkaS9nZGkxNi5jLCBvYmplY3RzL21ldGFmaWxlLmM6CisJQ29udmVydGVkIFBsYXlNZXRhRmlsZVJlY29yZCBhbmQgcmVsYXRlZCBmdW5jdGlvbnMgdG8gMzItYml0LgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC93b3d0aHVuay5jLCBpZjE2MzIvcmVsYXkuYywKKwkgIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaCwgc2NoZWR1bGVyL3RocmVhZC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMTYuYzoKKwlNZXJnZWQgd2luZV9jYWxsX3RvXzE2X2xvbmcgYW5kIHdpbmVfY2FsbF90b18xNl9zaG9ydCBpbnRvIGEgc2luZ2xlCisJZnVuY3Rpb24uCisKKwkqIGluY2x1ZGUvd2luZS9wb3J0LmgsIGxpYnJhcnkvcG9ydC5jLCBsb2FkZXIvbmUvcmVzb3VyY2UuYzoKKwlBZGRlZCB3aW5lX21lbWNweV91bmFsaWduZWQgZnVuY3Rpb24gdG8gYXZvaWQgZ2NjIG1lbWNweQorCW9wdGltaXphdGlvbnMuCisKKwkqIGluY2x1ZGUvdmZ3Lmg6IE1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCS0gQWRkIEZJTkRfKiBjb25zdGFudHMuCisJLSBBZGQgQVZJU0FWRUNBTExCQUNLIGRlY2xhcmF0aW9uLgorCS0gQWRkIGRlY2xhcmF0aW9uIGZvciBzb21lIEFWSSBmdW5jdGlvbnMuCisJLSBBZGQgc29tZSBBVkkgbWFjcm9zLgorCisJKiBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2F2aWZpbDMyLy5jdnNpZ25vcmUsCisJICBkbGxzL2F2aWZpbDMyL01ha2VmaWxlLmluLCBkbGxzL2F2aWZpbDMyL2FwaS5jLAorCSAgZGxscy9hdmlmaWwzMi9hdmlmaWwzMi5zcGVjLCBkbGxzL2F2aWZpbDMyL2F2aWZpbGUuYywKKwkgIGRsbHMvYXZpZmlsMzIvYXZpZmlsZV9EZS5yYywgZGxscy9hdmlmaWwzMi9hdmlmaWxlX0VuLnJjLAorCSAgZGxscy9hdmlmaWwzMi9hdmlmaWxlX3ByaXZhdGUuaCwgZGxscy9hdmlmaWwzMi9leHRyYWNodW5rLmMsCisJICBkbGxzL2F2aWZpbDMyL2V4dHJhY2h1bmsuaCwgZGxscy9hdmlmaWwzMi9mYWN0b3J5LmMsCisJICBkbGxzL2F2aWZpbDMyL2dldGZyYW1lLmMsIGRsbHMvYXZpZmlsMzIvcnNyYy5yYywKKwkgIGRsbHMvYXZpZmlsMzIvd2F2ZmlsZS5jLCB3aW5lZGVmYXVsdC5yZWc6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJLSBBZGQgd2F2ZWZpbGUgaGFuZGxlci4KKwktIEFkZCBpbXBsZW1lbnRhdGlvbiBmb3IgSUdldEZyYW1lLgorCS0gSW1wbGVtZW50ZWQgbG9hZGluZyBhbmQgd3JpdGluZyBvZiBBVklzLgorCS0gQWRkIHNvbWUgbW9yZSBzdHVicyBmb3Igc29tZSBBUEkgZnVuY3Rpb25zLgorCS0gQWRkIHJlc291cmNlcyB0byBhdmlmaWwzMi5kbGwuCisJLSBJbXBsZW1lbnRlZCBBVklTYXZlT3B0aW9uc0ZyZWUuCisJLSBEZWNsYXJlZCBJSURfKiBhcyBleHRlcm4gaW4gYXZpZmlsMzIuc3BlYyAoYXZvaWRzIGxpbmtlciBwcm9ibGVtKS4KKworCSogcHJvZ3JhbXMvYXZpdG9vbHMvYXZpaW5mby5jOgorCU1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCUZpeGVkIG1lbW9yeSBsZWFrIChyZWxlYXNlIEFWSSBzdHJlYW0pLgorCisJKiBkbGxzL2tlcm5lbC9jb21tLmM6IFN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUJ1aWxkQ29tbURDQkFuZFRpbWVvdXRzQTogTWFkZSB0aGUgYXJndW1lbnQgcGFyc2luZyBjYXNlIGluc2Vuc2l0aXZlLgorCisJKiB0b29scy93aW5hcGkvbXN2Y21ha2VyOiBQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwktIEJldHRlciAuZHNwIGZpbGUgZ2VuZXJhdGlvbiBmb3IgLmV4ZSBvdXRwdXRzCisJLSBBZGRlZCBnZW5lcmF0aW9uIG9mIHdpbmV0ZXN0LmRzdyBmb3IgYnVpbGRpbmcgd2luZSB0ZXN0cyB1bmRlcgorCSAgV2luZG93cyAoY3VycmVudGx5IHZlcnkga2x1ZGd5LCBidXQgaXQgd29ya3MgdG8gc29tZSBleHRlbnQpLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCVJlbW92ZWQgd2FybmluZyAiU2V0V2luZG93VGV4dCgwLCAuLi4pIiB3aGVuIG9wZW5pbmcgbmV3IHdpbmRvd3MuCisKKwkqIGRsbHMvY29tY3RsMzIvaGVhZGVyLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJcHN6VGV4dCBpcyBzdG9yZWQgYXMgVW5pY29kZSwgc28gY2FsbCBEcmF3VGV4dFcoKSBpbnN0ZWFkIG9mCisJRHJhd1RleHRBKCkuCisKKzIwMDItMTAtMTcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlJbnN0cnVtZW50IFNldEl0ZW1UIHRvIGNoYW5nZSBvbmx5IF9vbmVfIGl0ZW0gYXQgYSB0aW1lLiBUaGF0IGlzLCBpZgorCXdlIGhhdmUgdG8gY2hhbmdlIGZvY3VzLCB3ZSBjYWxsIGl0IHJlY3Vyc2l2ZWx5IHRvIGZpcnN0IHJlbW92ZSB0aGUKKwlmb2N1cyBmcm9tIHRoZSBpdGVtIHRoYXQgaGFzIGl0LiBUaGlzIGFsbG93cyBzaW1wbGVyLCBhbmQgbW9yZSBjb3JyZWN0CisJaW52YWxpZGF0aW9uIGhhbmRsaW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVW5pZnkgc2V0X3tvd25lcixtYWlufV9pdGVtIGZ1bmN0aW9ucy4KKwlGaXgge29sZCxuZXd9c3RhdGUgYW5kIGxQYXJhbSByZXBvcnRpbmcgaW4gTFZOX0lURU1DSEFOR3tJTkcsRUR9LgorCUZpeCBzYW5pdHkgY2hlY2sgY29uZGl0aW9ucyBmb3IgTFZTX09XTkVSREFUQS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1vcmUsIGJldHRlciB0cmFjaW5nIHRvIGhlbHAgbmFpbCBkb3duIHNvbWUgY3Jhc2hlcy4KKwlGaXggdHlwbyBpbiBHZXRJdGVtVCAoZm91bmQsIGFuZCBmaXhlZCBieSBIdXcgRGF2aWVzKS4KKwlFeGl0IHJpZ2h0IGF3YXkgZnJvbSBHZXRJdGVtVCBpZiBub3RoaW5nIGlzIGFza2VkIChtYXNrID09IDApLgorCUFzc29ydGVkIGNvZGUgY2xlYW51cHMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlEZWFsIHdpdGggc3BhcnNlbHkgcG9wdWxhdGVkIGxpc3R2aWV3cy4KKwlDcmFzaCBvbiBpbnRlcm5hbCBjb3JydXB0aW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQWRkIGFiaWxpdHkgdG8gY3JlYXRlIGFuIGl0ZXJhdG9yIG92ZXIgYSByYW5nZSBsaXN0LgorCUZpeCBtZW1vcnkgbGVhayB3aGVuIGRlc3Ryb3lpbmcgcmFuZ2VzLgorCUFkZCBmdW5jdGlvbiB0aGF0IHdpbGwgdG8gYSAnZGVlcCcgY2xvbmUgb2YgYSByYW5nZSBsaXN0LgorCUFkZCBmdW5jdGlvbiB0aGF0IHdpbGwgc3VidHJhY3QgYSByYW5nZSBsaXN0IGZyb20gYW5vdGhlci4KKwlEbyBub3QgY3Jhc2ggb24gTlVMTCByYW5nZXMgKHNpbWlsYXIgaW4gc3Bpcml0IHRvIEhEUEFzKS4KKwlGYW5jeSBkZXNlbGVjdGlvbiByb3V0aW5lcyB1c2VzIHRoZSBhYm92ZSBpbmZyYXN0cnVjdHVyZSB0byBkZXNlbGVjdAorCXRoZSBtaW5pbXVtIHBvc3NpYmxlLgorCU1vZGlmeSBTZXRHcm91cFNlbGVjdGlvbiB0byB0YWtlIGFkdmFudGFnZSBvZiBhbGwgdGhpcyBuZXcKKwlpbmZyYXN0cnVjdHVyZSwgdG8gYXZvaWQgZmxpY2tlciBvbiBzZWxlY3Rpb24gZXh0ZW5zaW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQ2hhbmdlIHRoZSBkZWZpbml0aW9uIG9mIHJhbmdlcyB0byBleGNsdWRlIHRoZSB1cHBlciBib3VuZC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUhhbmRsZSByYW5nZSB0cmFjaW5nIGluIGEgY29uc2lzdGVudCBmYXNoaW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIGRhdGVkIGNvbW1lbnRzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQmV0dGVyIGVuY2Fwc3VsYXRpb24gb2YgdGhlIHJhbmdlcyBjb25jZXB0LgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC93b3d0aHVuay5jLAorCSAgZGxscy91c2VyL21zZzE2LmMsIGRsbHMvdXNlci93bmQxNi5jLCBkbGxzL3dpbmVkb3MvbW9kdWxlLmMsCisJICB3aW5kb3dzL21lc3NhZ2UuYywgd2luZG93cy93aW5wcm9jLmM6CisJVXNlIHRoZSBXT1dIYW5kbGUgZnVuY3Rpb25zIHRvIGNvbnZlcnQgYmV0d2VlbiB0YXNrIGhhbmRsZSBhbmQgdGhyZWFkCisJaWQuIFN0b3AgZXhwb3J0aW5nIFRBU0tfR2V0UHRyIGFuZCBUSFJFQURfSWRUb1RFQiBmcm9tIGtlcm5lbC4KKworCSogc2NoZWR1bGVyL3Byb2Nlc3MuYzoKKwlCdWlsZCBhIGRlZmF1bHQgY29tbWFuZC1saW5lIGlmIHRoZSBvbmUgd2UgcmVjZWl2ZWQgaXMgYW4gZW1wdHkKKwlzdHJpbmcuCisKKwkqIHdpbmRvd3Mvd2luLmM6IEZpeGVkIHR5cG8gaW4gRW51bVRocmVhZFdpbmRvd3MuCisKKwkqIGRsbHMvcnBjcnQ0L2Nwcm94eS5jOiBGaXhlZCBjb21waWxhdGlvbiBmb3Igbm9uLWkzODYuCisKKwkqIGNvbnRyb2xzL2xpc3Rib3guYywgY29udHJvbHMvbWVudS5jLCBjb250cm9scy9zdGF0aWMuYywKKwkgIGRsbHMvY29tbWRsZy9jZGxnLmgsIGRsbHMvZ2RpL2dkaTE2LmMsIGRsbHMvZ2RpL3dpbjE2ZHJ2L3BydGRydi5jLAorCSAgZGxscy9tc3ZpZGVvL21zdmlkZW8xNi5jLCBkbGxzL21zdmlkZW8vbXN2aWRlb19tYWluLmMsCisJICBkbGxzL21zdmlkZW8vdmZ3MTYuaCwgZGxscy9vbGUzMi9vbGUyLmMsCisJICBkbGxzL3NldHVwYXBpL3NldHVweF9tYWluLmMsIGRsbHMvc2hlbGwzMi9zaGVsbC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLCBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jLAorCSAgZGxscy91c2VyL21zZzE2LmMsIGRsbHMvdXNlci9wcm9wZXJ0eS5jLCBkbGxzL3VzZXIvcmVzb3VyY2UuYywKKwkgIGRsbHMvdXNlci91c2VyMTYuYywgZGxscy91c2VyL3duZDE2LmMsIGRsbHMvd2luZXBzL2RyaXZlci5jLAorCSAgZGxscy93aW5tbS9tY2lhbmltL21jaWFuaW0uYywgZGxscy93aW5tbS9tY2lhdmkvcHJpdmF0ZV9tY2lhdmkuaCwKKwkgIGRsbHMvd2lubW0vbWNpY2RhL21jaWNkYS5jLCBkbGxzL3dpbm1tL21jaXNlcS9tY2ltaWRpLmMsCisJICBkbGxzL3dpbm1tL21jaXdhdmUvbWNpd2F2ZS5jLCBkbGxzL3dpbm1tL3dpbmVtbS5oLAorCSAgZGxscy93aW5zb2NrL2FzeW5jLmMsIGRsbHMvd2luc29jay9zb2NrZXQuYywgaW5jbHVkZS91c2VyLmgsCisJICBpbmNsdWRlL3dpbi5oLCBpbmNsdWRlL3dvd250MzIuaCwgaW5jbHVkZS93aW5lL3dpbnNvY2sxNi5oLAorCSAgd2luZG93cy9jbGFzcy5jLCB3aW5kb3dzL2N1cnNvcmljb24uYywgd2luZG93cy9kaWFsb2cuYywKKwkgIHdpbmRvd3MvaG9vay5jLCB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL3NweS5jLCB3aW5kb3dzL3N0cnVjdDMyLmMsCisJICB3aW5kb3dzL3dpbi5jLCB3aW5kb3dzL3dpbmhlbHAuYywgd2luZG93cy93aW5wcm9jLmM6CisJRml4ZWQgd293bnQzMi5oIHRvIG1ha2UgaXQgdXNhYmxlIGZyb20gaW5zaWRlIFdpbmUsIGFuZCB1c2UgaXQgdG8KKwlhdm9pZCBzb21lIGR1cGxpY2F0aW9uIG9mIHRoZSBoYW5kbGUgY29udmVyc2lvbiBtYWNyb3MuCisKKwkqIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgZGxscy91c2VyL2NhcmV0LmMsIGRsbHMvdXNlci91c2VyMzIuc3BlYywKKwkgIGRsbHMvdXNlci93bmQxNi5jLCBkbGxzL3gxMWRydi93aW5wb3MuYywgaW5jbHVkZS93aW4uaCwKKwkgIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3F1ZXVlLmMsCisJICBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvdHJhY2UuYywgd2luZG93cy9jYXJldC5jLCB3aW5kb3dzL3Njcm9sbC5jLAorCSAgd2luZG93cy93aW4uYzoKKwlSZXdyb3RlIGNhcmV0IGltcGxlbWVudGF0aW9uIHRvIHN0b3JlIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgc2VydmVyLgorCisJKiBncmFwaGljcy94MTFkcnYveGZvbnQuYzogTWFsdGUgU3Rhcm9zdGlrIDxtYWx0ZUBrZGUub3JnPgorCUFkZGVkIHByb2dyZXNzIG1lc3NhZ2VzIHdoaWxlIGJ1aWxkaW5nIGZvbnQgbWV0cmljcy4KKworCSogZGxscy9kM2Q4L2RldmljZS5jOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCS0gRG9udCBzZXQgbGlnaHRpbmcgZHVyaW5nIGRyYXcgcHJpbWl0aXZlLCByZWx5IG9uIHRoZSByZW5kZXIgc3RhdGUuCisJLSBTbWFsbCBmaXggZm9yIGFscGhhIHRlc3RpbmcuCisJLSBBZGQgc3VwcG9ydCB0byBlbmFibGUvZGlzYWJsZSBjbGlwcGluZyBhcyBhIHdob2xlLgorCS0gQWxsb3cgRDNEUlNfVEVYVFVSRUZBQ1RPUiB0byBiZSBjaGFuZ2VkIG9uY2UgdGV4dHVyZSBzdGFnZSBhcmcgc2V0CisJICB1cC4KKwktIEQzRFRPUF9ESVNBQkxFIGluaXRpYWwgaW1wbGVtZW50YXRpb24uCisKKwkqIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21lc2EuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUltcGxlbWVudCBPcGVuR0wgb3ZlcnJpZGluZyBvZiBzdXJmYWNlJ3MgZmxpcCBtZXRob2QuCisJUmVtb3ZlIGJyb2tlbiBjb2RlLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTm90aWZpY2F0aW9uIGNvZGUgY2xlYW51cCwgbW9yZSB0cmFjZXMsIGV0Yy4KKworCSogaW5jbHVkZS9jb21tY3RybC5oOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFkZC91cGRhdGUgdGhlIGxpc3R2aWV3IHN0cnVjdHVyZXMgdG8gdmVyc2lvbiA2LjAuCisKKwkqIGRsbHMvd2lubW0vd2luZWFydHMvYXVkaW8uYzogTWFsdGUgU3Rhcm9zdGlrIDxtYWx0ZUBrZGUub3JnPgorCUluaXRpYWxpemUgd2luZWFydHMncyB2b2x1bWUgbGV2ZWwgdG8gZnVsbCwgc28gYXBwbGljYXRpb25zIHRoYXQgZG9uJ3QKKwlzZXQgdGhlIHZvbHVtZSBhcmUgYXVkaWJsZS4KKworCSogZGxscy9jb21jdGwzMi9jb21tY3RybC5jOiBKZXJyeSBKZW5raW5zIDxKZXJyeV9KX0plbmtpbnNAaG90bWFpbC5jb20+CisJQWRkZWQgbWlzc2luZyBSZW1vdmVQcm9wIGNhbGxzLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUNvcnJlY3QgaW5pdGlhbCBkaXNwbGF5IG9mIGZpbGUgbGlzdGluZy4KKworMjAwMi0xMC0xNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVdlIG5lZWQgdG8gcHJvdmlkZSBmb2N1cyBpbmZvIGFsd2F5cyBpbiBJQ09OIG1vZGUgKHNwb3R0ZWQgYnkgSHV3CisJRGF2aWVzKS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRHVwbGljYXRlIHNlbGVjdGVkIGl0ZW1zIGxpc3QgaW4gTElTVFZJRVdfUmVtb3ZlQWxsU2VsZWN0aW9ucyB0bworCXByZXZlbnQgaW5maW5pdGUgbG9vcHMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW1lbWJlciB0aGUgZ2xvYmFsIGNvbG9ycyBpbiBjdXN0b20gZHJhdyBtb2RlLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQ29tcHV0ZSBvbmx5IHRoZSBvbGQgc3RhdGUgdGhhdCB3ZSdyZSBnb25uYSBsb29rIGF0LgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJSW5zdHJ1bWVudCBTZXRJdGVtVCB0byBhdm9pZCByZXBhaW50aW5nIGlmIG5vdGhpbmcgY2hhbmdlZC4KKwlUZWFjaCBSZW1vdmVBbGxTZWxlY3Rpb25zIHRvIHNraXAgYW4gaXRlbSwgc28gd2UgY2FuIGVsaW1pbmF0ZSB0aGUKKwlmbGlja2VyIHdoZW4gd2UgY2xpY2sgb24gYSBzZWxlY3RlZCBpdGVtLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGJ1ZyBpbiBlZGl0IGxhYmVsIHdoZW4gc2VuZGluZyB0aGUgdGV4dCB0byB0aGUgYXBwLgorCUNsZWFudXAgdGhlIGhhbmRsaW5nIG9mIG5FZGl0TGFiZWxJdGVtLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRWRpdCBsYWJlbCBjbGVhbnVwLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGJ1ZyBpbiByYW5nZXNfc2hpZnQgd2hpY2ggd2FzIGNvcnJ1cHRpbmcgc2VsZWN0aW9ucy4KKwlGaXggY2xpY2sgbm90aWZpY2F0aW9uIChmb3VuZCBhbmQgZml4ZWQgYnkgQWxleGFuZHJlIEp1bGxpYXJkKS4KKwlGaXggYnVnIGluIHNldHRpbmcgaXRlbSdzIHN0YXRlIChzb21lIHNlbGVjdGlvbiBjaGFuZ2VzIHdlcmUgbG9zdCkuCisJU2ltcGxpZnkgc2VsZWN0aW9uIGNvZGUgc3Vic3RhbnRpYWxseS4KKwlBZGQgYSBsb3Qgb2YgZGVidWcgdHJhY2luZy4KKworCSogZG9jdW1lbnRhdGlvbi9jb25maWd1cmluZy5zZ21sOiBCaWxsIE1lZGxhbmQgPG1lZGJpMDFAYWNjcGFjLmNvbT4KKwlBZGQgYSBzZWN0aW9uIG9uIHVzaW5nIE9EQkMuCisKKwkqIGRsbHMvbXN2Y3J0L2V4Y2VwdC5jLCBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYzoKKwlJbXBsZW1lbnRlZCBfc2VoX2xvbmdqbXBfdW53aW5kLgorCisJKiBwcm9ncmFtcy9jbWRsZ3RzdC9jbWRsZ3RzdC5jOgorCUh1dyBEIE0gRGF2aWVzIDxoLmRhdmllczFAcGh5c2ljcy5veC5hYy51az4KKwlGaXggdGhlIG9mbiBmbGFncyBzZXR1cC4KKworCSogZGxscy9kZHJhdy9kM2RfcHJpdmF0ZS5oLCBkbGxzL2RkcmF3L2QzZGRldmljZS9tYWluLmMsCisJICBkbGxzL2RkcmF3L2QzZGRldmljZS9tZXNhLmMsIGRsbHMvZGRyYXcvZDNkdGV4dHVyZS5jOgorCUNocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBc3NvY2lhdGUgdGV4dHVyZSB0byB0aGUgZGV2aWNlIHdoZW4gR2V0SGFuZGxlIGlzIGNhbGxlZCBhbmQgcGVyZm9ybQorCXRoZSBhcHByb3ByaWF0ZSBBZGRSZWYvUmVsZWFzZS4KKwlGaXggM18zXzIgcGl4ZWwgZm9ybWF0LgorCU1vdmUgc29tZSBFTlRFUl9HTCgpIGNhbGxzIHRvIHRoZSByaWdodCBwbGFjZS4KKwlGaXggc29tZSBGSVhNRS9UUkFDRSBjYWxscy4KKworCSogZGxscy9jb21jdGwzMi9jb21ib2V4LmMsIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmMsCisJICBkbGxzL2NvbWN0bDMyL2lwYWRkcmVzcy5jLCBkbGxzL2NvbWN0bDMyL3Byb2dyZXNzLmMsCisJICBkbGxzL2NvbWN0bDMyL3N0YXR1cy5jLCBkbGxzL2NvbWN0bDMyL3RyYWNrYmFyLmMsCisJICBkbGxzL2NvbWN0bDMyL3VwZG93bi5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQWRkIGNvbW1lbnQgb24gd2hhdCBpcyBrbm93biBhYm91dCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgY29udHJvbHMKKwlyZWxhdGl2ZSB0byBjb21jdGwzMi5kbGwgdmVyc2lvbiA2LjAuCisKKwkqIGRsbHMvcnBjcnQ0L25kcl9zdHVibGVzcy5jLCBpbmNsdWRlL3JwY25kci5oOgorCUdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCVVzZSB0aGUgbXN2YyB3YXkgdG8gcmV0dXJuIGEgc3RydWN0LCBmaXhpbmcgd2llcmQgcHJvYmxlbXMuCisKKwkqIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmM6IE1hcnRpbiBGdWNocyA8bWFydGluLWZ1Y2hzQGdteC5uZXQ+CisJSW1wbGVtZW50ZWQgcHJvZ3JhbSBsYXVuY2hpbmcgYnkgZG91YmxlIGNsaWNrLgorCisyMDAyLTEwLTE1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGl0ZXJhdG9yIGNyZWF0aW9uIGZvciBMVlNfTElTVCBtb2RlLgorCURvIG5vdCB1cGRhdGUgdGhlIGluZm9QdHItPm5JdGVtV2lkdGggaW4gc2V0X21haW5faXRlbS4KKwlCZXR0ZXIgaGFuZGxpbmcgb2YgdGV4dCBiayBjb2xvdXIgaW4gY3VzdG9tIGRyYXcuCisJUmVuYW1lIEdldEl0ZW1MaXN0T3JpZ2luIHRvIEdldEl0ZW1PcmlnaW4uCisJQSBidW5jaCBvZiBjb2RlIGNsZWFudXBzLCBzaW1wbGlmaWNhdGlvbnMsIGV0Yy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU5vIGxvbmdlciBjb21wdXRlIHRoZSBpbGwtZGVmaW5lZCBib3VuZHMgaW4gR2V0SXRlbU1ldHJpY3MuCisJRml4IGEgYnVuY2ggb2YgYnVnIGluIHN1Yml0ZW0gbWV0cmljcyBjb21wdXRhdGlvbi4KKwlQcm9wZXJseSBpbXBsZW1lbnQgR2V0U3ViSXRlbVJlY3QgaW4gdGVybXMgb2YgR2V0SXRlbU1ldHJpY3MuCisJRG9jdW1lbnRhdGlvbiB1cGRhdGVzLCBhbmQgY29kZSBjbGVhbnVwcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVRlYWNoIEdldEl0ZW1NZXRyaWNzIHRvIGRlYWwgd2l0aCBzdWJpdGVtcyBpbiByZXBvcnQgbW9kZSBhcyB3ZWxsLgorCVVuaWZ5IERyYXd7LFN1Yn1JdGVtLCBzaW1wbGlmeSBSZWZyZXNoUmVwb3J0LgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGl0ZXJhdG9yIGNyZWF0aW9uIGZvciBMVlNfTElTVCBtb2RlLgorCVVzZSBhc3NlcnQoKSBpbnN0ZWFkIG9mIGhhbmQtbWFkZSBoYWNrLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGl0ZXJhdG9ycyB0byBwcm9wZXJseSBkZWFsIHdpdGggTFZTX3ssU01BTEx9SUNPTiBtb2Rlcy4KKwlVbmlmeSB0aGUgUmVmcmVzaHtMaXN0LEljb259IGZ1bmN0aW9ucy4KKwlTaW1wbGlmeSBIaXRUZXN0IHRvIG1ha2UgZnVsbCB1c2Ugb2YgdGhlIGl0ZXJhdG9ycy4KKwlGaXggc2VsZWN0aW9uIGJvdW5kcyBpbiBIaXRUZXN0LgorCUF2b2lkIGVtcHR5IGRlZmF1bHQgdG8gc2lsZW5jZSB3YXJuaW5nIGluIGdjYyAzLjIuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlJdGVyYXRvciB1cGRhdGVzOgorCSAgIEFkZCB0aGUgbm90aW9uIG9mIGEgc3BlY2lhbCBpdGVtIHdoaWNoIHNpdHMgYXQgdGhlIHN0YXJ0IG9mIHRoZQorCSAgIGxpc3QuCisJICAgQWRkIHRoZSBhYmlsaXR5IHRvIGl0ZXJhdGUgaW4gYm90aCBkaXJlY3Rpb25zIHRocm91Z2ggdGhlIGxpc3QuCisJICAgRG9jdW1lbnQgdGhlIGl0ZXJhdG9yIGludGVyZmFjZS4KKwkgICBSZW1vdmUgaXRlcmF0b3JfdmlzaWJsZWl0ZW1zLgorCSAgIFJlbmFtZSBpdGVyYXRvcl9jbGlwcGVkaXRlbXMgdG8gaXRlcmF0b3JfdmlzaWJsZWl0ZW1zIGZvcgorCSAgIGNvbnNpc3RlbmN5LgorCVVzZSB0aGUgbmV3IGJpZGlyZWN0aW9uYWxpdHkgdG8gcGFpbnQgdGhlIGl0ZW1zIGluIGRlY3JlYXNpbmcgb3JkZXIuCisKKwkqIGRsbHMvdXNlci9sc3RyLmMsIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgd2luZG93cy9wYWludGluZy5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJQ29tcGlsZSBmaXggd2hlbiBhbGwgaGFuZGxlcyBhcmUgY29udmVydGVkIHRvIGEgdm9pZCouCisKKwkqIGxvYWRlci9tb2R1bGUuYzoKKwlGaXhlZCByZWZlcmVuY2UgY291bnQgaGFuZGxpbmcgdG8gc3VwcG9ydCBMb2FkTGlicmFyeSBkdXJpbmcgYSBwcm9jZXNzCisJYXR0YWNoLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS9yc3JjLnJjLCBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuaDoKKwlNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCS0gRml4ZWQgYnVpbGRpbmcgdW50ZXIgbmF0aXZlIFdJTjMyLgorCS0gRml4ZWQgZGlzcGxheSBvZiBmaWxlbmFtZXMgaW4gdHJlZSBwYW5lLgorCisJKiBkbGxzL21zdmNydC9zY2FuZi5jLCBkbGxzL21zdmNydC9zY2FuZi5oOgorCUd59nJneSAnTm9nJyBKZW5leSA8bm9nQHNkZi5sb25lc3Rhci5vcmc+CisJSW1wbGVtZW50IFsgZm9ybWF0IHNwZWNpZmllci4KKworCSogcHJvZ3JhbXMvd2luZWRiZy9nZGJwcm94eS5jOgorCUdlcmFsZCBQZmVpZmVyIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgorCVNpbGVuY2Ugd2FybmluZyBpbiBoZXhfZnJvbTAoKS4KKworCSogbXNkb3MvZHBtaS5jOiBEYXZpZCBIYW1tZXJ0b24gPGRhdmlkQHRyYW5zZ2FtaW5nLmNvbT4KKwlHZXQgZGVzY3JpcHRvciBzaG91bGQgcmV0dXJuIGNvcnJlY3Qgc2VnbWVudCBsaW1pdC4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOgorCVN0ZXZlIEx1c3RiYWRlciA8c3RldmUubHVzdGJhZGVyQHBoaWxpcHMuY29tPgorCUZpeCBvZmYtYnktb25lIGVycm9yIGluIGRldGVybWluaW5nIG51bWJlciBvZiBhcmd1bWVudHMuCisKKwkqIHRvb2xzL3dpbmFwaS93aW5hcGlfZXh0cmFjdCwgdG9vbHMvd2luYXBpL3dpbmFwaV9leHRyYWN0X29wdGlvbnMucG0sCisJICB0b29scy93aW5hcGlfY2hlY2svbW9kdWxlcy5kYXQsCisJICB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2NfcGFyc2VyLnBtOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gRml4ZWQgYnJva2VuIHdpbmFwaV9leHRyYWN0IG9wdGlvbnMgLS17cHNldWRvLSx9c3R1Yi1zdGF0aXN0aWNzLgorCS0gQWRkZWQgbmV3IHdpbmFwaV9leHRyYWN0IG9wdGlvbnMgLS17cHNldWRvLSx9aW1wbGVtZW50ZWQuCisKKwkqIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRG8gbm90IG1lcmdlIGltYWdlIHdpdGggZ2FyYmFnZSBiYWNrZ3JvdW5kLiBCYXNlZCBvbiBhIHBhdGNoIGJ5IENhcmxvcworCTxjbG96YW5vQGFuZGFnby5jb20+LgorCisJKiBkbGxzL2NyeXB0MzIvY3J5cHQzMi5zcGVjLCBkbGxzL2NyeXB0MzIvbWFpbi5jOgorCUNocmlzdGlhbiBOZXVtYWlyIDxjaHJpc0Bnbm9tZS1kZS5vcmc+CisJU3R1YiBmb3IgdGhlIENyeXB0UmVnaXN0ZXJPSURGdW5jdGlvbiBmdW5jdGlvbi4KKworCSogZGxscy9nZGkvdGVzdHMvZ2VuZXJhdGVkLmMsIGRsbHMva2VybmVsL3Rlc3RzL2dlbmVyYXRlZC5jLAorCSAgZGxscy9udGRsbC90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL250ZGxsL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9udGRsbC90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy91c2VyL3Rlc3RzL2dlbmVyYXRlZC5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCVVwZGF0ZWQgdGhlIGdlbmVyYXRlZCB0ZXN0cy4KKworCSogdG9vbHMvd2luYXBpL3dpbmFwaV90ZXN0OiBQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlEb24ndCB1c2UgYSBzcGVjaWFsIGhlYWRlciBmaWxlIGZvciBtYWNyb3MgdXNlZCBpbiBnZW5lcmF0ZWQgdGVzdHMuCisJSGF2ZSBhIGNvcHkgaW4gZWFjaCBnZW5lcmF0ZWQgZmlsZSBpbnN0ZWFkLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyYWNrYmFyLmM6IE1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCUZpeGVkIGRpdmlzaW9uIGJ5IHplcm8sIHdoZW4gcmFuZ2UgaXMgMC4KKworCSogdG9vbHMvd2luZWluc3RhbGw6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlBY3R1YWxseSBjb21waWxlIFdpbmUgZXZlbiBpZiBub3QgaW5zdGFsbGluZyBhcyByb290LgorCisyMDAyLTEwLTEzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5lZGVmYXVsdC5yZWc6IFJvZGVyaWNrIENvbGVuYnJhbmRlciA8dGh1bmRlcmJpcmQya0BnbXgubmV0PgorCVNldCBEaXJlY3RYIHZlcnNpb24gdG8gOC4xLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlBZGQgZnVuY3Rpb24gdG8gZ2V0IHNpemUgb2YgaW4tbWVtb3J5IHJlc291cmNlIGFuZCB1c2VkIHRoaXMgZnVuY3Rpb24KKwl0byBjb3B5IHJlc291cmNlIHRvIHdyaXRhYmxlIG1lbW9yeS4KKworCSogdG9vbHMvd2luZWluc3RhbGw6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlBbGxvdyB3aW5laW5zdGFsbCB0byBiZSBydW4gZnJvbSB0b29scy8gb3IgZnJvbSB0aGUgbWFpbiBXaW5lCisJZGlyZWN0b3J5LgorCisJKiBkbGxzL2QzZDgvZGV2aWNlLmM6IEphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJLSBDbGlwUGxhbmVzIHdvcmsgYmV0dGVyLgorCS0gQ3VsbGluZyBub3cgY29uZmlndXJlcyBpdHNlbGYgcHJvcGVybHkuCisKKwkqIGRsbHMvY29tbWRsZy9maWxlZGxnLmM6IENhcmxvcyA8Y2xvemFub0BhbmRhZ28uY29tPgorCUF2b2lkIGNyYXNoZXMgd2hlbiBvZm5XLT5scHN0ckZpbGUgaXMgbnVsbC4KKworMjAwMi0xMC0xMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogaW5jbHVkZS9xdWV1ZS5oLCB3aW5kb3dzL3F1ZXVlLmM6CisJUmVtb3ZlIG5vIGxvbmdlciB1c2VkIFBFUlFVRVVFREFUQSBzdHJ1Y3R1cmUgYW5kIGZ1bmN0aW9ucy4KKworCSogd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL21lc3NhZ2UuYywgY29udHJvbHMvbWVudS5jLAorCSAgZGxscy94MTFkcnYvd2lucG9zLmMsIGluY2x1ZGUvbWVzc2FnZS5oLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvcXVldWUuYywKKwkgIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci90cmFjZS5jOgorCU1vdmVkIG1vdXNlIGNhcHR1cmUgaGFuZGxpbmcgaW50byB0aGUgc2VydmVyLgorCisJKiBpbmNsdWRlL3dpbi5oLCB3aW5kb3dzL3dpbi5jOgorCVJlaW1wbGVtZW50ZWQgR2V0TGFzdEFjdGl2ZVBvcHVwIHRvIGdldCB0aGUgaW5mb3JtYXRpb24gZnJvbSB0aGUKKwlzZXJ2ZXIuCisKKzIwMDItMTAtMTEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMveDExZHJ2L2V2ZW50LmMsIGRsbHMveDExZHJ2L3dpbnBvcy5jLCBpbmNsdWRlL3VzZXIuaCwKKwkgIGluY2x1ZGUvd2luLmgsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgaW5jbHVkZS93aW5wb3MuaCwKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9xdWV1ZS5jLCBzZXJ2ZXIvcmVxdWVzdC5oLAorCSAgc2VydmVyL3RyYWNlLmMsIHNlcnZlci91c2VyLmgsIHNlcnZlci93aW5kb3cuYywgd2luZG93cy9mb2N1cy5jLAorCSAgd2luZG93cy9tZXNzYWdlLmMsIHdpbmRvd3Mvbm9uY2xpZW50LmMsIHdpbmRvd3Mvd2luLmMsCisJICB3aW5kb3dzL3dpbnBvcy5jLCBkbGxzL3VzZXIvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9mb2N1cy5jLAorCSAgZGxscy91c2VyL21lc3NhZ2UuYzoKKwlSZWltcGxlbWVudGVkIEdldC9TZXRBY3RpdmVXaW5kb3csIEdldC9TZXRGb2N1cyBhbmQKKwlHZXQvU2V0Rm9yZWdyb3VuZFdpbmRvdyBieSBzdG9yaW5nIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUKKwlzZXJ2ZXIuIEltcGxlbWVudGVkIGNvcnJlY3QgaW50ZXItcHJvY2VzcyB3aW5kb3cgYWN0aXZhdGlvbi4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbmFtZSBHZXRJdGVtSGVpZ2h0IHRvIENhbGN1bGF0ZU1heEhlaWdodCwgZm9yIGNvbnNpc3RlbmN5CisJRml4IHVzYWdlIG9mIG5JdGVtV2lkdGggdnMuIGljb25TcGFjaW5nLmN4CisJTWlzYyBjbGVhbnVwcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVVzZSB0aGUgaXRlbSBib3ggcmF0aGVyIHRoYW4gdGhlIGJvdW5kcyB3aGVuIGludmFsaWRhdGluZy4KKwlJbXBsZW1lbnQgJ2JQYXJ0aWFsJyBpbiBFbnN1cmVWaXNpYmxlLgorCisJKiBkbGxzL2QzZDgvZDNkOF9wcml2YXRlLmgsIGRsbHMvZDNkOC9kZXZpY2UuYzoKKwlKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCVNpZ25pZmljYW50bHkgaW1wcm92ZSB0aGUgbGlnaHRpbmcgY29kZS4KKworCSogc2VydmVyL3RyYWNlLmMsIHNlcnZlci91c2VyLmgsIHNlcnZlci93aW5kb3cuYywgd2luZG93cy9xdWV1ZS5jLAorCSAgZGxscy91c2VyL21lc3NhZ2UuYywgZGxscy91c2VyL3VzZXIzMi5zcGVjLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBpbmNsdWRlL3dpbnVzZXIuaCwKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9xdWV1ZS5jLCBzZXJ2ZXIvcmVxdWVzdC5oOgorCUFkZGVkIHNlcnZlci1zaWRlIGluZnJhc3RydWN0dXJlIGZvciB0aGUgdGhyZWFkIGlucHV0IHN0cnVjdHVyZS4KKwlSZWltcGxlbWVudGVkIEF0dGFjaFRocmVhZElucHV0KCkgYW5kIGFkZGVkIEdldEdVSVRocmVhZEluZm8oKS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVVuaWZ5IERyYXdMYXJnZUl0ZW0gd2l0aCBEcmF3SXRlbS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVVzZSBHZXRJdGVtTWV0cmljcyBpbnN0ZWFkIG9mIEdldEl0ZW1NZWFzdXJlcy4KKwlSZW1vdmUgR2V0SXRlbU1lYXN1cmVzLgorCUFkZCBHZXRJdGVtQm94IHdoaWNoIG9ubHkgcmV0dXJucyB0aGUgYm91bmRhcnkgb2YgdGhlIGl0ZW0uCisKKwkqIGRsbHMvcnBjcnQ0L01ha2VmaWxlLmluLCBkbGxzL3JwY3J0NC9uZHJfb2xlLmMsCisJICBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYzoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlBZGRlZCBOZHJPbGVBbGxvY2F0ZSwgTmRyT2xlRnJlZSwgTmRySW50ZXJmYWNlUG9pbnRlckJ1ZmZlclNpemUsCisJTmRySW50ZXJmYWNlUG9pbnRlckZyZWUsIE5kckludGVyZmFjZVBvaW50ZXJNYXJzaGFsbCwKKwlOZHJJbnRlcmZhY2VQb2ludGVyTWVtb3J5U2l6ZSwgTmRySW50ZXJmYWNlUG9pbnRlclVubWFyc2hhbGwuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlCZSByZWFsIHRvdWdoIG9uIGludGVybmFsIHByb2dyYW1taW5nIGVycm9ycy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSBzdXBwb3J0IGZvciBvd25lciBkcmF3biBsaXN0dmlld3MgaW4gbm9uLVJFUE9SVCBtb2RlLiAgV2UgbmVlZAorCXRvIGRvIHRoaXMgc2luY2UgV2luZG93cyBzdXBwb3J0cyBvd25lciBkcmF3ICpvbmx5KiBpbiByZXBvcnQgbW9kZSwKKwlhbmQgaGVuY2UgYXBwcyBhcmUgbm90IHByZXBhcmVkIHRvIGhhbmRsZSBkcmF3aW5nIGluIG90aGVyIG1vZGVzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVXNlIEdldEl0ZW1NZXRyaWNzIGluc3RlYWQgb2YgR2V0SXRlbU1lYXN1cmVzIHdoZW4gZHJhd2luZy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1ha2UgdXNlIG9mIHRoZSBuZXcgR2V0SXRlbU1ldHJpY3MgaW4gSGl0VGVzdCwgdG8gYXZvaWQgY29kZQorCWR1cGxpY2F0aW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU2VwYXJhdGUgaXRlbSBtZXRyaWNzIGNvbXB1dGF0aW9uIGZyb20gcG9zaXRpb25pbmcKKwlBZGQgc3VwcG9ydCBmb3IgY29tcHV0aW5nIHN0YXRlIGljb24gbWV0cmljcy4KKworCSogdG9vbHMvd2luYXBpL2NfcGFyc2VyLnBtLCB0b29scy93aW5hcGkvY190eXBlLnBtLAorCSAgdG9vbHMvd2luYXBpL3Rlc3RzLmRhdCwgdG9vbHMvd2luYXBpL3dpbmFwaV9leHRyYWN0LAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV90ZXN0OgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gSW1wcm92ZWQgYWxpZ25tZW50IGFuZCBvZmZzZXQgY2FsY3VsYXRpb25zLgorCS0gUmVvcmdhbml6ZWQgYW5kIGltcHJvdmVkIGVudW0vdW5pb24vc3RydWN0IHBhcnNpbmcuCisKKwkqIGRsbHMvcnBjcnQ0L01ha2VmaWxlLmluLCBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmMsCisJICBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmgsIGRsbHMvcnBjcnQ0L3JwY3J0NC5zcGVjLAorCSAgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYzoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlSZWltcGxlbWVudCBzZXZlcmFsIFJwY1NlcnZlci4qIG1ldGhvZHMgaW4gcnBjX3NlcnZlci5jLgorCUltcGxlbWVudCBScGNTZXJ2ZXJJbnFCaW5kaW5ncywgSV9ScGNTZXJ2ZXJTdGFydExpc3RlbmluZywKKwlJX1JwY1NlcnZlclN0b3BMaXN0ZW5pbmcsIGFuZCBJX1JwY1dpbmRvd1Byb2MuCisKKwkqIGRsbHMvbXNpbWczMi9NYWtlZmlsZS5pbjogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJQWRkZWQgbWlzc2luZyBrZXJuZWwzMiBpbXBvcnQuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzoKKwlMVlNfT1dORVJEUkFXRklYRUQgc2hvdWxkIG9ubHkgdGFrZSBlZmZlY3QgaW4gUkVQT1JUIG1vZGUuCisKKzIwMDItMTAtMTAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvcnBjcnQ0L01ha2VmaWxlLmluLCBkbGxzL3JwY3J0NC9jcHNmLmMsCisJICBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYzoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlBZGRlZCBOZHJEbGxDYW5VbmxvYWROb3csIE5kckRsbEdldENsYXNzT2JqZWN0LCBOZHJEbGxSZWdpc3RlclByb3h5LAorCU5kckRsbFVucmVnaXN0ZXJQcm94eSwgQ1N0ZFBTRmFjdG9yeSBtZXRob2RzLgorCisJKiBkbGxzL01ha2VmaWxlLmluLCBkbGxzL2F2aWZpbDMyL01ha2VmaWxlLmluLCBkbGxzL2F2aWZpbDMyL2FwaS5jLAorCSAgZGxscy9hdmlmaWwzMi9hdmlmaWwzMi5zcGVjLCBkbGxzL2F2aWZpbDMyL2F2aWZpbGUuYywKKwkgIGRsbHMvYXZpZmlsMzIvYXZpZmlsZS5zcGVjLCBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfcHJpdmF0ZS5oLAorCSAgZGxscy9hdmlmaWwzMi9mYWN0b3J5LmMsIGluY2x1ZGUvdmZ3Lmg6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJLSBNb3ZlIHRoZSBBUEkgaW50byBhIG5ldyBhcGkuYyBmaWxlLgorCS0gQWRkZWQgSUNsYXNzRmFjdG9yeSBpbXBsZW1lbnRhdGlvbi4KKwktIEFkZGVkIElQZXJzaXN0RmlsZSBpbXBsZW1lbnRhdGlvbiB0byB0aGUgQVZJLWZpbGUgaGFuZGxlci4KKworCSogZGxscy94MTFkcnYva2V5Ym9hcmQuYzoKKwlOZXJpanVzIEJhbGl1bmFzIDxuZXJpanVzQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKwlCZXR0ZXIgTGl0aHVhbmlhbiBrZXlib2FyZCBsYXlvdXQuCisKKwkqIGRsbHMvc2hlbGwzMi9pY29uY2FjaGUuYzogQXZvaWQgY2FsbGluZyBGaW5kRXhlY3V0YWJsZTE2LgorCisJKiBkbGxzL3dpbm1tL2RyaXZlci5jLCBkbGxzL3dpbm1tL21jaS5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsCisJICBkbGxzL3dpbm1tL3RpbWUuYywgZGxscy93aW5tbS93aW5lbW0uaDoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlLZWVwIG9uIG1vdmluZyAxNiBiaXQgY29kZSBvdXQgb2Ygd2lubW0uCisKKwkqIGRsbHMvZGRyYXcvZGRyYXcvdXNlci5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJSW5pdGlhbGl6ZSB0aGUgRERDQVBTIHN0cnVjdHVyZSBvZiB0aGUgRERSQVcgb2JqZWN0IGF0IGNyZWF0aW9uLgorCisJKiBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCU1haW5fRGlyZWN0RHJhd1N1cmZhY2VfUXVlcnlJbnRlcmZhY2U6IGVuYWJsZSBjcmVhdGlvbiBvZiBhCisJSURpcmVjdDNEVGV4dHVyZTIgZnJvbSBhIHN1cmZhY2UuCisKKwkqIGRsbHMvcnBjcnQ0L01ha2VmaWxlLmluLCBkbGxzL3JwY3J0NC9uZHJfbWlkbC5jLAorCSAgZGxscy9ycGNydDQvcnBjcnQ0LnNwZWMsIGluY2x1ZGUvcnBjcHJveHkuaDoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlBZGRlZCBOZHJQcm94eUZyZWVCdWZmZXIsIE5kclByb3h5R2V0QnVmZmVyLCBOZHJQcm94eUluaXRpYWxpemUsCisJTmRyUHJveHlTZW5kUmVjZWl2ZSwgTmRyU3R1YkdldEJ1ZmZlciwgTmRyU3R1YkluaXRpYWxpemUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggZHJhd2luZyBidWcgaW50cm9kdWNlZCB3aXRoIHRoZSBjdXN0b20gbm90aWZpY2F0aW9uCisJcmVvcmdhbml6YXRpb24uCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlTaW1wbGlmeSB0aGUgcmVwb3J0IG1vZGUsIGFuZCBpdGVtIGRyYXdpbmcgY29uc2lkZXJhYmx5LgorCUZpeCBmdWxsIHJvdyBzZWxlY3QgaW4gcmVwb3J0IG1vZGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlIYW5kbGUgY3VzdG9tIGRyYXcgbm90aWZpY2F0aW9ucyBwcm9wZXJseS4KKwlWYXJpb3VzIGNsZWFudXBzLCBhbmQgc2ltcGxpZmljYXRpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIHN1cGVyZmx1b3VzIGFic3RyYWN0aW9ucyB3aGljaCBtYWtlIHRoZSBjb2RlIGhhcmRlciB0bworCXVuZGVyc3RhbmQuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlNb3ZlIHRoZSBjdXN0b20gZHJhdyBub3RpZmljYXRpb25zIGludG8gdGhlIERyYXcuKkl0ZW0gZnVuY3Rpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW92ZSB0aGUgY3VzdG9tIGRyYXcgaXRlbSBub3RpZmljYXRpb25zIGRvd24gaW50byBEcmF3TGFyZ2VJdGVtLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IHNpbGx5IHJlZHJhdyBidWcgaW50cm9kdWNlZCBpbiBwcmV2aW91cyBwYXRjaC4KKwlUaWR5IHVwLCBhbmQgc2ltcGxpZnkgbGFyZ2UgaXRlbSBkcmF3aW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJSW1wbGVtZW50IFdNX1NFVFJFRFJBVyBwcm9wZXJseS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJld29yayB0aGUgbW91c2UgY2xpY2sgbm90aWZpY2F0aW9ucworCUFzc29ydGVkIGNsZWFudXBzLCBhbmQgc2ltcGxpZmljYXRpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVXNlIChzZW1pKXN0YW5kYXJkIEhpdFRlc3QsIHJhdGhlciB0aGVuIG91ciBvd24gbGl0dGxlIGludmVudGlvbi4KKwlHZXQgcmlkIG9mIEdldEl0ZW1BdFB0LgorCUZpeCBIaXRUZXN0IGJ1dCBpbiBSRVBPUlQgbW9kZS4KKworCSogZGxscy9tc2FjbS9NYWtlZmlsZS5pbjogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJTW92ZWQgb3V0IDE2IGJpdCBjb2RlLgorCisJKiBkbGxzL3dpbm1tL3dpbmVtbS5oLCBkbGxzL3dpbm1tL3dpbm1tLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJUmVtb3ZlZCBubyBsb25nZXIgbmVlZGVkIGxpc3Qgb2YgaW5zdGFuY2UgZGF0YS4KKworCSogZGxscy9kZHJhdy9kM2RfcHJpdmF0ZS5oLCBkbGxzL2RkcmF3L2QzZGNvbW1vbi5jLAorCSAgZGxscy9kZHJhdy9kc3VyZmFjZS9tYWluLmMsIGRsbHMvZGRyYXcvbWVzYS5jOgorCUxpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJQWRkZWQgc29tZSBUUkFDRXMgdG8gdGhlIGRkcmF3IGNvZGUuCisKKwkqIGRsbHMvcnBjcnQ0L01ha2VmaWxlLmluLCBkbGxzL3JwY3J0NC9jc3R1Yi5jLAorCSAgZGxscy9ycGNydDQvcnBjcnQ0LnNwZWM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJSW1wbGVtZW50IHRoZSBDU3RkU3R1YkJ1ZmZlciBtZXRob2RzLgorCisJKiBncmFwaGljcy94MTFkcnYvYml0bWFwLmMsIGluY2x1ZGUvY3Vyc29yaWNvbi5oLCBpbmNsdWRlL3VzZXIuaCwKKwkgIGluY2x1ZGUvd2luZGVmLmgsIG1zZG9zL2ludGVycnVwdHMuYywgd2luZG93cy9jbGFzcy5jLAorCSAgd2luZG93cy9jdXJzb3JpY29uLmMsIHdpbmRvd3MvZGVmd25kLmMsIHdpbmRvd3MvbWRpLmMsCisJICB3aW5kb3dzL21zZ2JveC5jLCB3aW5kb3dzL25vbmNsaWVudC5jLCB3aW5kb3dzL3dpbi5jLAorCSAgZGxscy9zaGx3YXBpL29yZGluYWwuYywgZGxscy91c2VyL2V4dGljb24uYywgZGxscy94MTFkcnYvZGVza3RvcC5jLAorCSAgZGxscy94MTFkcnYvd2luZG93LmMsIGRsbHMveDExZHJ2L3dpbnBvcy5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jLAorCSAgZGxscy9vbGUzMi9vbGUyLmMsIGRsbHMvc2hlbGwzMi9kaWFsb2dzLmMsIGRsbHMvc2hlbGwzMi9pY29uY2FjaGUuYywKKwkgIGRsbHMvc2hlbGwzMi9zaGVsbC5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmgsIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmMsCisJICBkbGxzL2NvbWN0bDMyL3N0YXR1cy5jLCBjb250cm9scy9zdGF0aWMuYywgZGxscy9jb21jdGwzMi9saXN0dmlldy5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJLSBjaGFuZ2UgdGhlIGludGVybmFsIGZ1bmN0aW9ucyBpbiB3aW5kb3dzL2N1cnNvcmljb24uYyB0byB1c2UgMzJiaXQKKwkgIGhhbmRsZXMKKwktIG1vdmUgdGhlIGltcGxlbWVudGF0aW9uIG9mIEV4dHJhY3RBc3NvY2lhdGVkSWNvbjE2IHRvCisJICBFeHRyYWN0QXNzb2NpYXRlZEljb25BCisJLSBjb252ZXJ0IEhJQ09OIHRvIGEgdm9pZCoKKwktIGZpeGVkIHNvbWUgaGFuZGxlIGNvbnZlcnNpb25zIHRoYXQgaGFwcGVuZWQgdG8gYmUgaW4gdGhlIHdheSB3aGlsZQorCSAgZG9pbmcgdGhlIGFib3ZlCisKKwkqIGRsbHMvcnBjcnQ0L01ha2VmaWxlLmluLCBkbGxzL3JwY3J0NC9jcHJveHkuYywgZGxscy9ycGNydDQvY3BzZi5oLAorCSAgZGxscy9ycGNydDQvcnBjcnQ0LnNwZWM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJSVVua25vd25fW1FBUl1fUHJveHkgaW1wbGVtZW50YXRpb25zLCBWVGJsIGNvbnN0cnVjdGlvbiwgdGhlIGRyZWFkZWQKKwlPYmplY3RTdHVibGVzcywgYW5kIG90aGVyIHByb3h5LXJlbGF0ZWQgZ29vZGllcy4KKworCSogaW5jbHVkZS93aW51c2VyLmgsIGNvbnRyb2xzL2NvbWJvLmMsIGRsbHMvdXNlci91c2VyMzIuc3BlYzoKKwlTdGV2ZSBMdXN0YmFkZXIgPHN0ZXZlLmx1c3RiYWRlckBwaGlsaXBzLmNvbT4KKwlQcm92aWRlIGEgc3R1YiBmb3IgR2V0Q29tYm9Cb3hJbmZvLgorCisJKiBkbGxzL3NldHVwYXBpL3NldHVwYXBpLnNwZWMsIGRsbHMvc2V0dXBhcGkvc3R1YnMuYzoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJTW9yZSBzdHVicy4KKworCSogZGxscy9ycGNydDQvTWFrZWZpbGUuaW4sIGRsbHMvcnBjcnQ0L25kcl9taXNjLmgsCisJICBkbGxzL3JwY3J0NC9uZHJfc3R1Ymxlc3MuYywgZGxscy9ycGNydDQvcnBjcnQ0LnNwZWMsCisJICBpbmNsdWRlL3JwY25kci5oOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCVN0dWJieSBOZHJDbGllbnRDYWxsMiAmIHNvbWUgaGVhZGVyIGNoYW5nZXMuCisKKwkqIGRsbHMvc2V0dXBhcGkvZGV2aW5zdC5jLCBkbGxzL3NldHVwYXBpL3NldHVwYXBpLnNwZWMsCisJICBpbmNsdWRlL3NldHVwYXBpLmg6CisJU3RldmUgTHVzdGJhZGVyIDxzdGV2ZS5sdXN0YmFkZXJAcGhpbGlwcy5jb20+CisJUHJvdmlkZSBzdHViIGZvciBTZXR1cERpR2V0Q2xhc3NEZXZzVy4KKwlGaXggcmV0dXJuIHZhbHVlIG9mIFNldHVwRGlHZXRDbGFzc0RldnNBLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IFBhdWwgUnVwZSA8cHJ1cGVAbXlyZWFsYm94LmNvbT4KKwlTY3JvbGwgdGhlIGxpc3R2aWV3IHdoZW4gZG9pbmcgbXVsdGlwbGUgc2VsZWN0aW9ucy4KKworCSogZGxscy9ycGNydDQvTWFrZWZpbGUuaW4sIGRsbHMvcnBjcnQ0L3JwY19kZWZzLmgsCisJICBkbGxzL3JwY3J0NC9ycGNfbWVzc2FnZS5jLCBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NF9tYWluLmM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJSW1wbGVtZW50ZWQgSV9ScGNGcmVlQnVmZmVyLCBJX1JwY0dldEJ1ZmZlciwgSV9ScGNSZWNlaXZlLCBJX1JwY1NlbmQsCisJSV9ScGNTZW5kUmVjZWl2ZTsgYWRtaW5pc3RyaXZpYS4KKworCSogZGxscy9tc3ZjcnQvZXhjZXB0LmM6CisJRml4ZWQgc2lnbiBleHRlbnNpb24gYnVnIGluIEVIX3Byb2xvZywgYW5kIG1hZGUgdHJ5bGV2ZWwgYW4gaW50IHRvCisJYXZvaWQgc2ltaWxhciBwcm9ibGVtcy4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjOgorCU1ha2Ugc3VyZSBhbGwgWncgZnVuY3Rpb25zIHdob3NlIE50IGVxdWl2YWxlbnQgaXMgaW1wbGVtZW50ZWQgYXJlCisJaW1wbGVtZW50ZWQgdG9vLgorCisJKiBjb25maWd1cmUuYWMsIGRsbHMvd2lubW0vd2luZW5hcy9NYWtlZmlsZS5pbiwgY29uZmlndXJlOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJVGhlIE5BUyBoZWFkZXJzIGFuZCBsaWJyYXJpZXMgYXJlIHNvbWV0aW1lcyBzdG9yZWQgaW4gdGhlIFgKKwlkaXJlY3Rvcmllcy4KKworCSogY29udHJvbHMvc2Nyb2xsLmM6IEFuZHJldyBNLiBKb2huc3RvbiA8am9obnN0b25hbUBsb2dpY2EuY29tPgorCU1ha2UgaW5mbyBzdHJ1Y3R1cmUgbWVtYmVycyBsb3dlciBjYXNlIGFzIGVsc2V3aGVyZS4KKworCSogY29uZmlndXJlOiBVcGRhdGVkIHdpdGggYXV0b2NvbmYgMi41NC4KKworCSogZGxscy93aW5tbS9NYWtlZmlsZS5pbiwgZGxscy93aW5tbS9tY2kuYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLAorCSAgZGxscy93aW5tbS9wbGF5c291bmQuYywgZGxscy93aW5tbS93aW5lbW0uaCwgZGxscy93aW5tbS93aW5tbS5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCVN0YXJ0ZWQgcHV0dGluZyBhbGwgMTYgYml0IGNvZGUgaW4gc2VwYXJhdGUgZmlsZXMuCisKKwkqIGRsbHMvbXN2aWRlby9tc3JsZTMyL21zcmxlMzIuYywgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL3N5c3RlbS5pbmk6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJUHJldmVudCBzb21lIHNlZ2ZhdWx0cyBpbiBtc3JsZTMyLgorCUFkZCB0aGUgbmVjZXNzYXJ5IGxpbmUgdG8gdGhlIHNhbXBsZSBzeXN0ZW0uaW5pIGZvciB1c2luZyB0aGlzIHZpZGVvCisJY29kZWMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlOYXJyb3cgZG93biB0aGUgaXRlbXMgd2UgaXRlcmF0ZSBvdmVyIGluIExJU1QsIGFuZCBSRVBPUlQgbW9kZS4KKwlGaXggYSBDbGllbnQgLS0+IExpc3QgY29vcmRpbmF0ZSB0cmFuc2Zvcm1hdGlvbnMgaW4gRmluZEl0ZW0uCisJRml4IGJ1ZyBpbiBIaXRJdGVtIChpbiBMSVNUIGFuZCBSRVBPUlQgbW9kZSkuCisJQXZvaWQgdGhlIGxhc3QgYml0IG9mIGRyYXdpbmcgaW4gUkVQT1JUIG1vZGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlEcmF3IF9vbmx5XyB0aGUgaXRlbXMgdGhhdCBhcmUgaW52YWxpZGF0ZWQuCisJRml4IHNlcmlvdXMgYnVnIHdoZW4gZGVsZXRpbmcgZnJvbSBhIHJhbmdlLgorCVBhc3MgaW4gYSByYW5nZSB0byB0aGUgcmFuZ2VzX3thZGQsZGVsfSBmdW5jdGlvbnMuCisJVGlkeSB1cCB0aGUgUmVmcmVzaEljb24gZnVuY3Rpb24uCisJQXNzb3J0ZWQgY2xlYW51cHMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZWltcGxlbWVudCBGaW5kSXRlbSAoY2xlYW5lciwgZmFzdGVyLCBtb3JlIGNvbXBsaWFudCB3aXRoIE1TRE4pLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmV3cml0ZSBIaXRUZXN0IHRvIG1ha2UgaXQgcHJldHR5LCBhbmQgdmVyeSBmYXN0LgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJSW50cm9kdWNlIHRoZSBub3Rpb24gb2YgaXRlbSBpdGVyYXRvcnMsIGFuZCB1c2UgdGhlbSB0byBjbGVhbiB1cCBjb2RlLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU2VwYXJhdGUgcmFuZ2UgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucyBmcm9tIHNlbGVjdGlvbiByYW5nZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggbGFyZ2UgaXRlbSBsYWJlbCBjYWxjdWxhdGlvbiB3aGVuIG5vdCBmb2N1c2VkLgorCUZhbmN5IGZvY3VzIHJlY3RhbmdsZSBoYW5kbGluZy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeCBmb2N1cyBoYW5kbGluZyB3aGVuIGRlbGV0aW5nIGl0ZW1zLCBvciBjaGFuZ2luZyBtb2Rlcy4KKwlCZXR0ZXIgbGFiZWwgcmVjdCBjYWxjdWxhdGlvbiBpbiBJQ09OIG1vZGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggbGFyZ2UgaXRlbSBoYW5kbGluZyBmb2N1cyBpbiBJQ09OIG1vZGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlObyBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIGhlYXZ5IGR1dHkgcmVjdCBjb21wdXRhdGlvbiB3aGVuIGluIE9XTkVSRFJBVy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZhY3RvciBvdXQgb3duZXIgZHJhdyBjb2RlLCBzbyB0aGF0IGl0IHdvcmtzIGZvciBhbGwgbW9kZXMuCisJRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRmFjdG9yIG91dCB0aGUgY29tcHV0YXRpb24gb2YgaXRlbSBwb3NpdGlvbiwgc28gaXQgY2FuIGJlIHVzZWQKKwlpbmRlcGVuZGVudGx5IG9mIHRoZSByZWN0YW5nbGVzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJVW5pZnkgTElTVFZJRVdfVXBkYXRlTGFyZ2VJdGVtTGFiZWxSZWN0LCBhbmQgR2V0SXRlbU1lYXN1cmVzLgorCU9wdGltaXplIEdldEl0ZW1NZWFzdXJlcyB0byB0aGUgbWF4LgorCUNlbnRyYWxpemUgdGhlIERyYXdUZXh0J3MgRFRfKiBmbGFncy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUdldCByaWQgb2YgJ2dvdG8ncyBpbiBHZXRJdGVtTWVhc3VyZXMuCisJTW92ZSBMSVNUVklFV19VcGRhdGVMYXJnZUl0ZW1MYWJlbFJlY3QgY2xvc2UgdG8gd2hlcmUgaXQncyB1c2VkLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGJyYWlubyBpbiBjYWxjdWxhdGlvbiBvZiBMVlNfTElTVCBvcmlnaW4uCisJSW52YWxpZGF0ZSB0aGUgZW50aXJlIHdpbmRvdyB3aGVuIHdlIGFyZSBpbnZhbGlkYXRpbmcgdGhlIGxpc3QuCisKKzIwMDItMTAtMDkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHdpbmRvd3MvbWRpLmM6IEFuZHJldyBNLiBKb2huc3RvbiA8am9obnN0b25hbUBsb2dpY2EuY29tPgorCVJlbW92ZWQgcmVmZXJlbmNlIHRvIFNDUk9MTF9TZXROQ1NiU3RhdGUuCisKKwkqIHByb2dyYW1zL3djbWQvd2NtZG1haW4uYzoKKwlUcnkgQ3JlYXRlUHJvY2VzcyBldmVuIGlmIFNIR2V0RmlsZUluZm8gZmFpbHMgc28gdGhhdCB3ZSBjYW4gbGF1bmNoCisJVW5peCBiaW5hcmllcy4KKworCSogZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6IEVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUZpeGVkIHNvbWUgbXVsdGktc291bmQgY2FyZCByZWxhdGVkIGJ1Z3MuCisKKwkqIGRsbHMvdXNlci9tZXNzYWdlLmMsIGluY2x1ZGUvcXVldWUuaDoKKwlBdm9pZCBpbmZpbml0ZSBTZW5kTWVzc2FnZSByZWN1cnNpb24sIGp1c3QgbGlrZSBXaW5kb3dzIGRvZXMuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYzoKKwlEb24ndCBsaXN0IHJlZ2lzdGVyIGZ1bmN0aW9ucyBpbiB0aGUgLmRlZiBmaWxlLgorCisJKiBkbGxzL250ZGxsL3N0cmluZy5jOgorCUZpeGVkIGJ1ZmZlciBzaXplIGluIF91bHRvYSAoc3BvdHRlZCBieSBKb2VyZyBNYXllcikuCisKKwkqIG1lbW9yeS9lbnZpcm9uLmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIGZpbGVzL2RpcmVjdG9yeS5jOgorCVRyYW5zbWl0IHRoZSBXaW5kb3dzIFBBVEggdG8gY2hpbGQgcHJvY2Vzc2VzIHVzaW5nIHRoZSBXSU5FUEFUSAorCXZhcmlhYmxlLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogRml4ZWQgZmlsZSBkZXNjcmlwdG9yIGNvcnJ1cHRpb24uCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2F0b20uYywgZGxscy9rZXJuZWwvdGVzdHMvdGhyZWFkLmM6CisJSmVmZiBTbWl0aCA8d2h5ZG91YnRAaG90bWFpbC5jb20+CisJU3BlbGxpbmcgY29ycmVjdGlvbnMuCisKKwkqIGRvY3VtZW50YXRpb24vc2FtcGxlcy9nZW5lcmljLnBwZDogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGRlZCBBMyBwYXBlciBzaXplLgorCisJKiBkbGxzL3VzZXIvd25kMTYuYzogTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlGaXggaGFuZGxlIGNvbnZlcnNpb25zLgorCisJKiBkbGxzL3dpbmluZXQvdGVzdHMvaHR0cC5jOiBQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCB0ZXN0IHRvIG5vdCBmYWlsIGJlaGluZCBmaXJld2FsbHMgb3Igd2l0aG91dCBhbiBpbnRlcm5ldAorCWNvbm5lY3Rpb24uCisKKwkqIHRvb2xzL3dpbmFwaS9jX3BhcnNlci5wbSwgdG9vbHMvd2luYXBpL2NfdHlwZS5wbSwKKwkgIHRvb2xzL3dpbmFwaS90ZXN0cy5kYXQsIHRvb2xzL3dpbmFwaS93aW5hcGlfZXh0cmFjdCwKKwkgIHRvb2xzL3dpbmFwaS93aW5hcGlfdGVzdDoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlSZW9yZ2FuaXplZCB0aGUgY29kZSBmb3IgYmV0dGVyIHN1cHBvcnQgb2YgZGF0YSBzdHJ1Y3R1cmVzIHBhcnNpbmcuCisKKzIwMDItMTAtMDcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIEFOTk9VTkNFLCBDaGFuZ2VMb2csIFZFUlNJT04sIGNvbmZpZ3VyZTogUmVsZWFzZSAyMDAyMTAwNy4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMjAwMi0xMC0wNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgpkaWZmIC0tZ2l0IGEvVkVSU0lPTiBiL1ZFUlNJT04KaW5kZXggNWEwYjFjZi4uNmJjMGUwOSAxMDA2NDQKLS0tIGEvVkVSU0lPTgorKysgYi9WRVJTSU9OCkBAIC0xICsxIEBACi1XaW5lIHZlcnNpb24gMjAwMjEwMDcKK1dpbmUgdmVyc2lvbiAyMDAyMTAzMQpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IGIzNzFlNTguLjEzYTdiMDAgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NCBmb3IgV2luZSAyMDAyMTAwNy4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU0IGZvciBXaW5lIDIwMDIxMDMxLgogIwogIyBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgogIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTI2Myw4ICsyNjMsOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J1dpbmUnCiBQQUNLQUdFX1RBUk5BTUU9J3dpbmUnCi1QQUNLQUdFX1ZFUlNJT049JzIwMDIxMDA3JwotUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMjEwMDcnCitQQUNLQUdFX1ZFUlNJT049JzIwMDIxMDMxJworUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMjEwMzEnCiBQQUNLQUdFX0JVR1JFUE9SVD0nJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc3NCw3ICs3NzQsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwMjEwMDcgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDAyMTAzMSB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC04MzksNyArODM5LDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDIxMDA3OiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDAyMTAzMToiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC05MzMsNyArOTMzLDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1XaW5lIGNvbmZpZ3VyZSAyMDAyMTAwNworV2luZSBjb25maWd1cmUgMjAwMjEwMzEKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NAogCiBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgpAQCAtOTQ4LDcgKzk0OCw3IEBACiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMjEwMDcsIHdoaWNoIHdhcworSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMjEwMzEsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU0LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMTM5NTIsNyArMTM5NTIsNyBAQAogfSA+JjUKIGNhdCA+JjUgPDxfQ1NFT0YKIAotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDAyMTAwNywgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDIxMDMxLCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NC4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTE0MDE0LDcgKzE0MDE0LDcgQEAKIAogY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKIGFjX2NzX3ZlcnNpb249IlxcCi1XaW5lIGNvbmZpZy5zdGF0dXMgMjAwMjEwMDcKK1dpbmUgY29uZmlnLnN0YXR1cyAyMDAyMTAzMQogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU0LAogICB3aXRoIG9wdGlvbnMgXFwiYGVjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKIAo=