ZGlmZiAtLWdpdCBhL0RJU0NMQUlNRVIudHh0IGIvRElTQ0xBSU1FUi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU0ZDRjYQotLS0gL2Rldi9udWxsCisrKyBiL0RJU0NMQUlNRVIudHh0CkBAIC0wLDAgKzEsMTUgQEAKK0FwYWNoZSBOUGFuZGF5IGlzIGFuIGVmZm9ydCB1bmRlcmdvaW5nIGluY3ViYXRpb24gYXQgdGhlIEFwYWNoZSBTb2Z0d2FyZSANCitGb3VuZGF0aW9uIChBU0YpLCBzcG9uc29yZWQgYnkgdGhlIEFwYWNoZSBJbmN1YmF0b3IgUE1DLiANCisNCitJbmN1YmF0aW9uIGlzIHJlcXVpcmVkIG9mIGFsbCBuZXdseSBhY2NlcHRlZCBwcm9qZWN0cyB1bnRpbCBhIGZ1cnRoZXIgcmV2aWV3IA0KK2luZGljYXRlcyB0aGF0IHRoZSBpbmZyYXN0cnVjdHVyZSwgY29tbXVuaWNhdGlvbnMsIGFuZCBkZWNpc2lvbiBtYWtpbmcgcHJvY2VzcyANCitoYXZlIHN0YWJpbGl6ZWQgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIG90aGVyIHN1Y2Nlc3NmdWwgQVNGIHByb2plY3RzLiANCisNCitXaGlsZSBpbmN1YmF0aW9uIHN0YXR1cyBpcyBub3QgbmVjZXNzYXJpbHkgYSByZWZsZWN0aW9uIG9mIHRoZSBjb21wbGV0ZW5lc3MgDQorb3Igc3RhYmlsaXR5IG9mIHRoZSBjb2RlLCBpdCBkb2VzIGluZGljYXRlIHRoYXQgdGhlIHByb2plY3QgaGFzIHlldCB0byBiZSANCitmdWxseSBlbmRvcnNlZCBieSB0aGUgQVNGLg0KKw0KK0ZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpbmN1YmF0aW9uIHN0YXR1cyBvZiB0aGUgTlBhbmRheSBwcm9qZWN0IHlvdQ0KK2NhbiBnbyB0byB0aGUgZm9sbG93aW5nIHBhZ2U6DQorDQoraHR0cDovL2luY3ViYXRvci5hcGFjaGUub3JnL3Byb2plY3RzL25wYW5kYXkuaHRtbA0KZGlmZiAtLWdpdCBhL0xJQ0VOU0UtMi4wLnR4dCBiL0xJQ0VOU0UudHh0CnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIExJQ0VOU0UtMi4wLnR4dApyZW5hbWUgdG8gTElDRU5TRS50eHQKaW5kZXggZDY0NTY5NS4uZjE1YTE5OCAxMDA2NDQKLS0tIGEvTElDRU5TRS0yLjAudHh0CisrKyBiL0xJQ0VOU0UudHh0CkBAIC0yMDAsMyArMjAwLDMwIEBACiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisgICBGb3IgTlVuaXQgMi4yLjguMDoKKworICAgTGljZW5zZQorCisgICBDb3B5cmlnaHQgqSAyMDAyLTIwMDQgSmFtZXMgVy4gTmV3a2lyaywgTWljaGFlbCBDLiBUd28sIEFsZXhlaSBBLiBWb3JvbnRzb3YsIENoYXJsaWUgUG9vbGUKKyAgIENvcHlyaWdodCCpIDIwMDAtMjAwNCBQaGlsaXAgQS4gQ3JhaWcKKworICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkuIEluIG5vIGV2ZW50IHdpbGwgdGhlIGF1dGhvcnMgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBkYW1hZ2VzIGFyaXNpbmcgZnJvbSB0aGUgdXNlIG9mIHRoaXMgc29mdHdhcmUuCisKKyAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBhbnlvbmUgdG8gdXNlIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLCBpbmNsdWRpbmcgY29tbWVyY2lhbCBhcHBsaWNhdGlvbnMsIGFuZCB0byBhbHRlciBpdCBhbmQgcmVkaXN0cmlidXRlIGl0IGZyZWVseSwgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nICAgCisgICByZXN0cmljdGlvbnM6CisKKyAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90IGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgKHNlZSAKKyAgIHRoZSBmb2xsb3dpbmcpIGluIHRoZSBwcm9kdWN0IGRvY3VtZW50YXRpb24gaXMgcmVxdWlyZWQuCisKKyAgIFBvcnRpb25zIENvcHlyaWdodCCpIDIwMDIgSmFtZXMgVy4gTmV3a2lyaywgTWljaGFlbCBDLiBUd28sIEFsZXhlaSBBLiBWb3JvbnRzb3Ygb3IgQ29weXJpZ2h0IKkgMjAwMC0yMDAyIFBoaWxpcCBBLiBDcmFpZworCisgICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCisKKyAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCisKKyAgIExpY2Vuc2UgTm90ZQorCisgICBUaGlzIGxpY2Vuc2UgaXMgYmFzZWQgb24gdGhlIG9wZW4gc291cmNlIHpsaWIvbGlicG5nIGxpY2Vuc2UuIFRoZSBpZGVhIHdhcyB0byBrZWVwIHRoZSBsaWNlbnNlIGFzIHNpbXBsZSBhcyBwb3NzaWJsZSB0byBlbmNvdXJhZ2UgdXNlIG9mIE5Vbml0IGluIGZyZWUgYW5kIGNvbW1lcmNpYWwgICAKKyAgIGFwcGxpY2F0aW9ucyBhbmQgbGlicmFyaWVzLCBidXQgdG8ga2VlcCB0aGUgc291cmNlIGNvZGUgdG9nZXRoZXIgYW5kIHRvIGdpdmUgY3JlZGl0IHRvIHRoZSBOVW5pdCBjb250cmlidXRvcnMgZm9yIHRoZWlyIGVmZm9ydHMuIFdoaWxlIHRoaXMgbGljZW5zZSBhbGxvd3Mgc2hpcHBpbmcgTlVuaXQgaW4gCisgICBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtLCBpZiBzaGlwcGluZyBhIE5Vbml0IHZhcmlhbnQgaXMgdGhlIHNvbGUgcHVycG9zZSBvZiB5b3VyIHByb2R1Y3QsIHBsZWFzZSBsZXQgdXMga25vdy4KZGlmZiAtLWdpdCBhL05PVElDRS50eHQgYi9OT1RJQ0UudHh0CmluZGV4IDU5ZDNiZTkuLjdhN2MxMjcgMTAwNjQ0Ci0tLSBhL05PVElDRS50eHQKKysrIGIvTk9USUNFLnR4dApAQCAtMSw0ICsxLDQgQEAKIEFwYWNoZSBOUGFuZGF5IChpbmN1YmF0aW5nKQotQ29weXJpZ2h0IDIwMDctMjAxMAorQ29weXJpZ2h0IDIwMDctMjAxMQogCiBUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoaHR0cDovL3d3dy5hcGFjaGUub3JnLykuCg==