dHJlZSA0ZmQ0NTA5ODFjNDQ1YzY3ZTBjMTgwNGMwNGNiMDY5ODQxNjE3ZjVhCnBhcmVudCBhN2U3Y2U5NTdkNTdjZWMwMTE1NTY3YzkxOTUwNDczOTE0ZGJhYWE5CmF1dGhvciBGculk6XJpYyBM6WNhaWxsZSA8ZmxlY2FpbGxlQGhhcHJveHkuY29tPiAxNjA2MTM3ODAxICswMTAwCmNvbW1pdHRlciBXaWxseSBUYXJyZWF1IDx3QDF3dC5ldT4gMTYwODcyMTA0NiArMDEwMAplbmNvZGluZyBsYXRpbjEKCk1JTk9SOiBsaXN0ZW5lcjogQWRkIFFVSUMgaW5mbyB0byBsaXN0ZW5lcnMgYW5kIHJlY2VpdmVycy4KClRoaXMgcGF0Y2ggYWRkcyBhIHF1aWNfdHJhbnNwb3J0X3BhcmFtcyBzdHJ1Y3QgdG8gYmluZF9jb25mIHN0cnVjdAp1c2VkIGZvciB0aGUgbGlzdGVuZXJzLiBUaGlzIGlzIHRvIHN0b3JlIHRoZSBRVUlDIHRyYW5zcG9ydCBwYXJhbWV0ZXJzCmZvciB0aGUgbGlzdGVuZXJzLiBBbHNvIGluaXRpYWxpemVzIHRoZW0gd2hlbiBjYWxsaW5nIHN0cjJsaXN0ZW5lcigpLgpCZWZvcmUgc3RyMnNhX3JhbmdlKCkgaXQncyB0b28gZWFybHkgdG8gZmlndXJlIHdlJ3JlIGdvaW5nIHRvIHNwZWFrIFFVSUMsCmFuZCBhZnRlciBpdCdzIHRvbyBsYXRlIGFzIGxpc3RlbmVycyBhcmUgYWxyZWFkeSBjcmVhdGVkLiBTbyBpdCBzZWVtcyB0aGF0CmRvaW5nIGl0IGluIHN0cjJsaXN0ZW5lcigpIHdoZW4gdGhlIHByb3RvY29sIGlzIGRpc2NvdmVyZWQgaXMgdGhlIGJlc3QKcGxhY2UuCgpBbHNvIGFkZHMgdHdvIGVidHJlZXMgdG8gdGhlIHVuZGVybHlpbmcgcmVjZWl2ZXJzIHRvIHN0b3JlIHRoZSBjb25uZWN0aW9uCmJ5IGNvbm5lY3Rpb25zIElEcyAob25lIGZvciB0aGUgb3JpZ2luYWwgY29ubmVjdGlvbiBJRHMsIGFuZCBhbm90aGVyCm9uZSBmb3IgdGhlIGRlZmluaXRpdmUgY29ubmVjdGlvbiBJRHMgd2hpY2ggcmVhbGx5IGlkZW50aWZ5IHRoZSBjb25uZWN0aW9ucy4KCkhvd2V2ZXIgaXQgZG9lc24ndCBzZWVtIG5vcm1hbCB0aGF0IGl0IGlzIHN0b3JlZCBpbiB0aGUgcmVjZWl2ZXIgbm9yIHRoZQpsaXN0ZW5lci4gVGhlcmUgc2hvdWxkIGJlIGEgcHJpdmF0ZSBjb250ZXh0IGluIHRoZSBsaXN0ZW5lciBzbyB0aGF0CnByb3RvY29scyBjYW4gc3RvcmUgaW50ZXJuYWwgaW5mb3JtYXRpb24uIFRoaXMgZWxlbWVudCBzaG91bGQgaW4KZmFjdCBiZSB0aGUgbGlzdGVuZXIgaGFuZGxlLgoKU29tZXRoaW5nIHN0aWxsIGZlZWxzIHdyb25nLCBhbmQgcHJvYmFibHkgd2UnbGwgaGF2ZSB0byBtYWtlIFFVSUMgYW5kClNTTCBjby1leGlzdDogYSBwcm9vZiBvZiB0aGlzIGlzIHRoYXQgdGhlcmUncyBzb21lIGV4cGxpY2l0IGNvZGUgaW4KYmluZF9wYXJzZV9zc2woKSB0byBwcmV2ZW50IHRoZSAic3NsIiBrZXl3b3JkIGZyb20gcmVwbGFjaW5nIHRoZSB4cHJ0Lgo=