ZGlmZiAtLWdpdCBhL1JFTEVBU0UtTk9URVMgYi9SRUxFQVNFLU5PVEVTCmluZGV4IGVjODRiYzUuLjA2MjU1MDcgMTAwNjQ0Ci0tLSBhL1JFTEVBU0UtTk9URVMKKysrIGIvUkVMRUFTRS1OT1RFUwpAQCAtMSw0NCArMSwzNSBAQAotbGlic3NoMiAxLjIuOAorbGlic3NoMiAxLjIuOQogCiBUaGlzIHJlbGVhc2UgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgogCi0gbyBhZGRlZCBsaWJzc2gyX2ZyZWUsIGxpYnNzaDJfY2hhbm5lbF9nZXRfZXhpdF9zaWduYWwgYW5kCi0gICBsaWJzc2gyX3Nlc3Npb25faGFuZHNoYWtlCi0gbyBTRlRQIHJlYWQvd3JpdGUgcmVtYWRlIGFuZCBub3cgTVVDSCBmYXN0ZXIsIGVzcGVjaWFsbHkgb24gaGlnaCBsYXRlbmN5Ci0gICBjb25uZWN0aW9ucwotIG8gYWRkZWQgbmV3IGV4YW1wbGVzOiBzc2gyX2VjaG8uYywgc2Z0cF9hcHBlbmQuYyBhbmQgc2Z0cF93cml0ZV9zbGlkaW5nLmMKLSBvIHVzZXJhdXRoOiBkZXJpdmUgcHVibGlja2V5IGZyb20gcHJpdmF0ZQotIG8gTkVXUzogbm93IGdlbmVyYXRlZCBmcm9tIGdpdAorIG8gQWRkZWQgbGlic3NoMl9zZXNzaW9uX3NldF90aW1lb3V0KCkgYW5kIGxpYnNzaDJfc2Vzc2lvbl9nZXRfdGltZW91dCgpCisgICB0byBtYWtlIGJsb2NraW5nIGNhbGxzIGdldCBhIHRpbWVvdXQKIAogVGhpcyByZWxlYXNlIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgYnVnZml4ZXM6CiAKLSBvIFN1cHBvcnQgdW5saW1pdGVkIG51bWJlciBvZiBob3N0IG5hbWVzIGluIGEgc2luZ2xlIGxpbmUgb2YgdGhlCi0gICBrbm93bl9ob3N0cyBmaWxlLgotIG8gZml4IG1lbW9yeSBsZWFrIGluIHVzZXJhdXRoX2tleWJvYXJkX2ludGVyYWN0aXZlKCkKLSBvIGZpeCBtZW1vcnkgbGVha3MgKHR3byB0aW1lcyBjaXBoZXJfZGF0YSkgZm9yIGVhY2ggc2Z0cCBzZXNzaW9uCi0gbyBzZXNzaW9uX3N0YXJ0dXA6IG1hbmFnZSBzZXJ2ZXIgZGF0YSBiZWZvcmUgc2VydmVyIGlkZW50aWZpY2F0aW9uCi0gbyBTQ1A6IGFsbG93IGZpbGUgbmFtZXMgd2l0aCBieXRlcyA+IDEyNgotIG8gc2NwX3JlY3Y6IGltcHJvdmVkIHRyZWF0bWVudCBvZiBjaGFubmVsX3JlYWQoKSByZXR1cm5pbmcgemVybwotIG8gbGlic3NoMl91c2VyYXV0aF9hdXRoZW50aWNhdGVkOiBtYWtlIGl0IHdvcmsgYXMgZG9jdW1lbnRlZAotIG8gdmFyaWFibGUgc2l6ZSBjbGVhbnVwOiBtYXRjaCBpbnRlcm5hbCB2YXJpYWJsZSBzaXplcyBiZXR0ZXIgd2l0aCB0aGUgc2l6ZXMKLSAgIG9mIHRoZSBmaWVsZHMgdXNlZCBvbiB0aGUgd2lyZQotIG8gY2hhbm5lbF9yZXF1ZXN0X3B0eV9zaXplOiBmaXggcmVxUFRZX3N0YXRlCi0gbyBzZnRwX3N5bWxpbms6IHJldHVybiBlcnJvciBpZiByZWNlaXZlIGJ1ZmZlciB0b28gc21hbGwKLSBvIHNmdHBfcmVhZGRpcjogcmV0dXJuIGVycm9yIGlmIGJ1ZmZlciBpcyB0b28gc21hbGwKLSBvIGxpYnNzaDJfa25vd25ob3N0X3JlYWRmaWxlLjM6IGNsYXJpZnkgcmV0dXJuIHZhbHVlCi0gbyBjb25maWd1cmU6IHN0b3AgdXNpbmcgdGhlIGRlcHJlY2F0ZWQgQU1fSU5JVF9BVVRPTUFLRSBzeW50YXgKLSBvIEZpeGVkIFdpbjMyIG1ha2VmaWxlIHdoaWNoIHdhcyBub3cgYnJva2VuIGF0IHJlc291cmNlIGJ1aWxkCi0gbyBrZXhfYWdyZWVfaG9zdGtleTogZml4IE5VTEwgcG9pbnRlciBkZXJlZmVuY2UKLSBvIF9saWJzc2gyX250b2h1NjQ6IGZpeCBjb252ZXJzaW9uIGZyb20gbmV0d29yayBieXRlcyB0byB1aW50NjQKLSBvIHNzaXplX3Q6IHByb3BlciB0eXBlZGVmIHdpdGggTVNWQyBjb21waWxlcnMKLSBvIHpsaWI6IEFkZCBkZWJ1ZyB0cmFjaW5nIG9mIHpsaWIgZXJyb3JzCi0gbyBkZWNvbXA6IGluY3JlYXNlIGRlY29tcHJlc3Npb24gYnVmZmVyIHNpemVzCisgbyBjb25maWd1cmUgYW5kIHBrZy1jb25maWc6IGZpeCAkVkVSU0lPTgorIG8gcy9cLk5GLy5uZi8gdG8gZml4IHdyb25nIG1hY3JvIG5hbWUgY2F1Z2h0IGJ5IG1hbiAtLXdhcm5pbmdzCisgbyBrZWVwYWxpdmU6IGFkZCBmaXJzdCBiYXNpYyBtYW4gcGFnZXMKKyBvIHNmdHBfd3JpdGU6IGZsdXNoIHRoZSBwYWNrZXRsaXN0IG9uIGVycm9yCisgbyBzZnRwX3dyaXRlOiBjbGVhbiBvZmZzZXRzIG9uIGVycm9yCisgbyBtc3ZjcHJvajogYWRkZWQgbGlicyBhbmQgZGVidWcgc3R1ZmYKKyBvIFNDUDogZml4IGluY29ycmVjdCBlcnJvciBjb2RlCisgbyBzZXNzaW9uX3N0YXJ0dXA6IGluaXQgc3RhdGUgcHJvcGVybHkKKyBvIHNmdHBfd3JpdGVfc2xpZGluZzogc2VuZCB0aGUgY29tcGxldGUgZmlsZQorIG8gdXNlcmF1dGhfa2V5Ym9hcmRfaW50ZXJhY3RpdmU6IHNraXAgY29kZSBvbiB6ZXJvIGxlbmd0aCBhdXRoCisgbyBfbGlic3NoMl93YWl0X3NvY2tldDogZml4IHRpbWVvdXRzIGZvciBwb2xsKCkgdXNlcworIG8gYWdlbnRfbGlzdF9pZGVudGl0aWVzOiBmaXggb3V0IG9mIHNjb3BlIGFjY2VzcworIG8gX2xpYnNzaDJfcmVjdigpOiBoYW5kbGUgRU5PRU5UIGVycm9yIGFzIEVBR0FJTgorIG8gdXNlcmF1dGhfa2V5Ym9hcmRfaW50ZXJhY3RpdmU6IGZpeCBidWZmZXIgb3ZlcmZsb3cKKyBvIHJlbW92ZWQgbWFuIHBhZ2VzIGZvciBub24tZXhpc3RpbmcgZnVuY3Rpb25zIQorIG8gZ2V0dGltZW9mZGF5OiBmaXggbmFtZSBzcGFjZSBwb2xsdXRpb24KKyBvIF9saWJzc2gyX2NoYW5uZWxfd3JpdGU6IGhhbmRsZSB3aW5kb3dfc2l6ZSA9PSAwIGJldHRlcgogCiBUaGlzIHJlbGVhc2Ugd291bGQgbm90IGhhdmUgbG9va2VkIGxpa2UgdGhpcyB3aXRob3V0IGhlbHAsIGNvZGUsIHJlcG9ydHMgYW5kCiBhZHZpY2UgZnJvbSBmcmllbmRzIGxpa2UgdGhlc2U6CiAKLSBBbGV4YW5kZXIgTGFtYWlzb24sIEFsZnJlZCBHZWJlcnQsIEd1ZW50ZXIgS25hdWYsIERhbiBGYW5kcmljaCwKLSBEYW5pZWwgU3RlbmJlcmcsIEphc21lZXQgQmFnZ2EsIEpvZXkgRGVnZ2VzLCBNYXJrIFNtaXRoLCBQZXRlciBTdHVnZSwKLSBQaWVycmUgSm95ZSwgU2ltb24gSm9zZWZzc29uLCBUSiBTYXVuZGVycywgVG9tbXkgTGluZGdyZW4KKyBBbGZyZWQgR2ViZXJ0LCBEYW4gRmFuZHJpY2gsIERvdWdsYXMgTWFzdGVyc29uLCBHdWVudGVyIEtuYXVmLCBNYXR0IExpbGxleSwKKyBNaWtoYWlsIEd1c2Fyb3YsIFBldGVyIFN0dWdlLCB6bCBsaXUsIFBhdWwgSG93YXJ0aCwgTWFyayBTbWl0aCwgQmlsbCBTZWdhbGwsCisgSGVucmlrIE5vcmRzdHL2bQogIAogICAgICAgICBUaGFua3MhIChhbmQgc29ycnkgaWYgSSBmb3Jnb3QgdG8gbWVudGlvbiBzb21lb25lKQo=