From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?B?R3VzdGF2IFdpa3N0csO2bQ==?= Subject: [RFC] Document level property drawer Date: Sun, 29 Sep 2019 10:27:00 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_002_HE1PR02MB3033A29FBEA1234A9DD7ADC3DA830HE1PR02MB3033eurp_" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:39894) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iEWPz-0003U4-QP for emacs-orgmode@gnu.org; Sun, 29 Sep 2019 06:27:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iEWPx-0006O1-El for emacs-orgmode@gnu.org; Sun, 29 Sep 2019 06:27:07 -0400 Received: from mail-eopbgr20097.outbound.protection.outlook.com ([40.107.2.97]:51873 helo=EUR02-VE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iEWPv-0006L9-SB for emacs-orgmode@gnu.org; Sun, 29 Sep 2019 06:27:05 -0400 Content-Language: en-US List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: "emacs-orgmode@gnu.org" Cc: Nicolas Goaziou --_002_HE1PR02MB3033A29FBEA1234A9DD7ADC3DA830HE1PR02MB3033eurp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksDQoNClRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIGRvY3VtZW50IGxldmVsIHByb3BlcnR5IGRy YXdlci4gDQoNClRoaXMgaGFzIGJlZW4gZGlzY3Vzc2VkIHByZXZpb3VzbHkgaW4gYSBsYXJnZXIg Y29udGV4dDoNCi0gaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9lbWFjcy1vcmdt b2RlLzIwMTktMDYvbXNnMDAwMDAuaHRtbA0KLSBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2 ZS9odG1sL2VtYWNzLW9yZ21vZGUvMjAxOS0wOC9tc2cwMDMzOS5odG1sIA0KLSBodHRwczovL2xp c3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLW9yZ21vZGUvMjAxOS0wOS9tc2cwMDAxMC5o dG1sDQoNClRoZSBwYXRjaCBpcyBhIHNvbWV3aGF0IG1vZGlmaWVkIHZlcnNpb24gb2Ygd2hhdCB3 YXMgaW5jbHVkZWQgaW4gdGhlIHRoaXJkIA0KbGluayBhYm92ZS4NCg0KVGhlIGZvbGxvd2luZyB3 aWxsIGJlIHRydWUgZm9yIGRvY3VtZW50IGxldmVsIHByb3BlcnR5IGRyYXdlcnM6DQoxKSBJbiB0 aGUgc2FtZSB3YXkgdGhhdCBvbmUgY2FuIGhhdmUgYSBwcm9wZXJ0eSBkcmF3ZXIgZm9yIGEgaGVh ZGluZywgb25lDQogICBjYW4gaGF2ZSBhIHByb3BlcnR5IGRyYXdlciBmb3IgYSB3aG9sZSBkb2N1 bWVudC4NCjIpIEFsbCBleGlzdGluZyBjb21tYW5kcyB0aGF0IGNhbiB3b3JrIHdpdGggcHJvcGVy dHkgZHJhd2VycyB3aWxsDQogICAoc2hhbGwpIHdvcmsgYWxzbyBvbiBwcm9wZXJ0eSBkcmF3ZXJz IGJlZm9yZSB0aGUgZmlyc3QgaGVhZGluZy4NCjMpIFByb3BlcnRpZXMgZGVmaW5lZCBpbiBhIHBy b3BlcnR5IGRyYXdlciB3aWxsIGhhdmUgcHJlY2VkZW5jZSBvdmVyDQogICBwcm9wZXJ0aWVzIGRl ZmluZWQgYXMgYSBwcm9wZXJ0eSBrZXl3b3JkLCBpZiB0aGUgc2FtZSBwcm9wZXJ0eSBpcw0KICAg ZGVmaW5lZCB1c2luZyBib3RoIGNvbnZlbnRpb25zLg0KNCkgVGhlIHBvc2l0aW9uIGZvciB0aGUg ZG9jdW1lbnQgbGV2ZWwgcHJvcGVydHkgZHJhd2VyIGlzOg0KICAgLSBBdCB0aGUgZmlyc3QgbGlu ZSBpbiBhIGZpbGUgdGhhdCBpcyBub3QgYSBjb21tZW50IG9yIGEga2V5d29yZC4NCg0KICAgICBJ LmUuIHRoZSBmb2xsb3dpbmcgd2lsbCB3b3JrOg0KICAgICAjK2JlZ2luX3NyYyBvcmcNCiAgICAg ICAjIC0qLSBtb2RlOiBvcmcgLSotDQogICAgICAgLCMrVElUTEU6IFRlc3QNCiAgICAgICA6UFJP UEVSVElFUzoNCiAgICAgICA6Q0FURUdPUlk6IFRlc3QNCiAgICAgICA6RU5EOg0KDQogICAgICAg UHJlYW1ibGUgDQoNCiAgICAgICAsKiBTb21lIGhlYWRpbmcNCiAgICAgICBTb21lIGNvbnRlbnQN CiAgICAgIytlbmRfc3JjDQoNCiAgICAgYnV0IG5vdCB0aGlzOg0KICAgICAjK2JlZ2luX3NyYyBv cmcNCiAgICAgICBTb21lIGNvbW1lbnQgYW5kL29yIGVtcHR5IGxpbmUNCg0KICAgICAgIDpQUk9Q RVJUSUVTOg0KICAgICAgIDpDQVRFR09SWTogVGVzdA0KICAgICAgIDpFTkQ6DQoNCiAgICAgICAs KiBTb21lIGhlYWRpbmcNCiAgICAgICBTb21lIGNvbnRlbnQNCiAgICAgIytlbmRfc3JjDQoNCldo YXQgZG8geW91IHNheT8NCg0KUmVnYXJkcw0KR3VzdGF2IFdpa3N0csO2bQ0K --_002_HE1PR02MB3033A29FBEA1234A9DD7ADC3DA830HE1PR02MB3033eurp_ Content-Type: application/octet-stream; name="0001-Org-document-property-drawers.patch" Content-Description: 0001-Org-document-property-drawers.patch Content-Disposition: attachment; filename="0001-Org-document-property-drawers.patch"; size=45416; creation-date="Sun, 29 Sep 2019 10:19:26 GMT"; modification-date="Sun, 29 Sep 2019 10:19:26 GMT" Content-Transfer-Encoding: base64 RnJvbSA5MWRhZDYxMjY4YjBjMmE2ZWZlOWM5ZmE1Y2VlODY4NDM0ZDMzYjc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R3VzdGF2PTIwV2lrc3RyPUMzPUI2bT89IDxn dXN0YXZAd2hpbC5zZT4KRGF0ZTogU3VuLCAyNiBNYXkgMjAxOSAyMjoxMzowOSArMDIwMApTdWJq ZWN0OiBbUEFUQ0hdIE9yZyBkb2N1bWVudCBwcm9wZXJ0eS1kcmF3ZXJzCgpBZGQgZnVuY3Rpb25h bGl0eSB0byBkZWZpbmUgcHJvcGVydHktYmxvY2tzIG9uIGRvY3VtZW50IGxldmVsLCBpbgphZGRp dGlvbiB0byBhdCBoZWFkbGluZSBsZXZlbC4KCiogZG9jL29yZy1tYW51YWwub3JnOgoqIGV0Yy9P UkctTkVXUzogRG9jdW1lbnQgbmV3IGZ1bmN0aW9uYWxpdHkuCgoqIGxpc3Avb3JnLmVsIChvcmct a2V5d29yZC1yZWdleHApOiBEZWZpbmUgY29uc3RhbnQgaW5zdGVhZCBvZgogIGhhcmRjb2Rpbmcu CihvcmctZmlsZS1wcm9wZXJ0aWVzKTogUmVuYW1lZCwgc2VlIG5leHQgbGluZS4KKG9yZy1rZXl3 b3JkLXByb3BlcnRpZXMpOiBSZW5hbWVkIGZyb20gYWJvdmUuICBEdWUgdG8gdGhlIGZhY3QgdGhh dAogIHByb3BlcnRpZXMgY2FuIGJlIGRlZmluZWQgZm9yIHRoZSB3aG9sZSBkb2N1bWVudCB1c2lu ZyBwcm9wZXJ0eQogIGRyYXdlcnMgdGhpcyBsb2NhbCB2YXJpYWJsZSBuZWVkcyBhIHJlbmFtZSB0 byBtYWtlIGl0cyBuYW1lIGxlc3MKICBhbWJpZ291cy4KKG9yZy1yZWZyZXNoLXByb3BlcnRpZXMs IG9yZy1yZWZyZXNoLXByb3BlcnR5LCBvcmctZW50cnktcHJvcGVydGllcykKKG9yZy1yZWZyZXNo LWNhdGVnb3J5LXByb3BlcnRpZXMsIG9yZy1nZXQtcHJvcGVydHktYmxvY2spCihvcmctZW50cnkt Z2V0LXdpdGgtaW5oZXJpdGFuY2UsIG9yZy1lbnRyeS1wdXQpCihvcmctaW5zZXJ0LXByb3BlcnR5 LWRyYXdlciwgb3JnLWVuZC1vZi1zdWJ0cmVlKTogTWFkZSB0byB3b3JrIGJlZm9yZQogIGZpcnN0 IGhlYWRsaW5lLgoob3JnLWF0LXByb3BlcnR5LWJsb2NrLXApOiBOZXcgZnVuY3Rpb24gdG8gdmFs aWRhdGUgaWYgcG9pbnQgaXMgYXQgdGhlCnN0YXJ0IG9mIGEgcHJvcGVydHkgYmxvY2suCihvcmct cHJvcGVydHktZ2xvYmFsLXZhbHVlKTogUmVuYW1lZCwgc2VlIG5leHQgbGluZS4KKG9yZy1wcm9w ZXJ0eS1nbG9iYWwtb3Ita2V5d29yZC12YWx1ZSk6IFJlbmFtZWQgZnJvbSBhYm92ZSB0byBtYXRj aAogIGl0cyBmdW5jdGlvbmFsaXR5IGJldHRlci4KKG9yZy1iYWNrLXRvLWhlYWRpbmctb3ItcG9p bnQtbWluKTogTmV3IGZ1bmN0aW9uIHRvIG1ha2UgYSBkb2N1bWVudAogIHdvcmsgYXMgYSBsZXZl bCAwIG5vZGUgaW4gdGhlIG91dGxpbmUuCihvcmctYXQta2V5d29yZC1wKTogUHJlZGljYXRlIGZ1 bmN0aW9uIHRvIGFuc3dlciB0byBpZiB3ZSdyZSBjdXJyZW50bHkKYXQgYSBrZXl3b3JkIGxpbmUg b3Igbm90Lgoob3JnLXVwLWhlYWRpbmctb3ItcG9pbnQtbWluKTogTmV3IGZ1bmN0aW9uIHRvIG1h a2UgYSBkb2N1bWVudCB3b3JrIGFzCmEgbGV2ZWwgMCBub2RlIGluIHRoZSBvdXRsaW5lLgoKKiBs aXNwL29yZy1lbGVtZW50LmVsIChvcmctZWxlbWVudC0tY3VycmVudC1lbGVtZW50KTogQ2FuIG5v dyBkZXRlY3QKICBwcm9wZXJ0eS1ibG9ja3MgYmVmb3JlIGZpcnN0IGhlYWRsaW5lIGFjY29yZGlu ZyB0byBpdCdzIHBvc2l0aW9uYWwKICBydWxlcy4KCiogbGlzcC9vcmctYXR0YWNoLmVsIChvcmct YXR0YWNoKTogTWFrZSBpdCBwb3NzaWJsZSB0byBjYWxsIHRoZQogIGF0dGFjaG1lbnQgZGlzcGF0 Y2hlciBhbHNvIGJlZm9yZSB0aGUgZmlyc3QgaGVhZGxpbmUsIHNpbmNlIGRvY3VtZW50CiAgcHJv cGVydHkgZHJhd2VycyBtYWtlIGF0dGFjaG1lbnRzIHBvc3NpYmxlIGZvciB0aGUgd2hvbGUgZG9j dW1lbnQKICBub3cuCgoqIGxpc3Avb3JnLWNhcHR1cmUuZWw6IE1vZGlmaWVkIG9ubHkgZHVlIHRv IHJlbmFtZSBvZiBmdW5jdGlvbiBpbgogIG9yZy5lbC4KCiogbGlzcC9vcmctY29tcGF0LmVsIChv cmctZmlsZS1wcm9wZXJ0aWVzKQoob3JnLXByb3BlcnR5LWdsb2JhbC12YWx1ZSk6IFJlbmFtZWQg ZnVuY3Rpb25zIGRlY2xhcmVkIG9ic29sZXRlLgoKKiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmcuZWwg KG9yZy9pbnNlcnQtcHJvcGVydHktZHJhd2VyKQoob3JnL3NldC1wcm9wZXJ0eSwgb3JnL2RlbGV0 ZS1wcm9wZXJ0eSwgb3JnL2RlbGV0ZS1wcm9wZXJ0eS1nbG9iYWxseSk6CiAgQWRkaXRpb25zIG9m IHRlc3RzIHRvIGNoZWNrIGlmIHRoZXkgd29yayBiZWZvcmUgZmlyc3QgaGVhZGxpbmUuCihvcmcv YXQtcHJvcGVydHktcCwgb3JnL2F0LXByb3BlcnR5LWJsb2NrLXAsIG9yZy9nZXQtcHJvcGVydHkt YmxvY2spCihvcmcvZW50cnktZ2V0LCBvcmcvcmVmcmVzaC1wcm9wZXJ0aWVzKTogTmV3IHRlc3Rz CgoqIHRlc3RpbmcvZXhhbXBsZXMvcHJvcGVydHktaW5oZXJpdGFuY2Uub3JnOiBTd2l0Y2ggZnJv bQogIHByb3BlcnR5LWtleXdvcmRzIHRvIGEgcHJvcGVydHktZHJhd2VyIGluIHRoZSB0ZXN0Zmls ZS4KICBGdW5jdGlvbmFsaXR5IHNob3VsZCBiZSB0aGUgc2FtZSwgYnV0IG5vdyB1c2luZyBhIGRv Y3VtZW50IGRyYXdlcgogIGluc3RlYWQgb2YgcHJvcGVydHkta2V5d29yZHMuCgogIFJlYXNvbiBm b3Igc3dpdGNoaW5nIGlzIHRoYXQgSSdkIGxpa2UgdXMgdG8gc2xvd2x5IGRlcHJpY2F0ZQogIHBy b3BlcnR5LWtleXdvcmRzLgoKKiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctZWxlbWVudC5lbDoKCiog Y29udHJpYi9saXNwL294LXRhc2tqdWdnbGVyLmVsOiBBIGNvbW1lbnQgaXMgbW9kaWZpZWQgb25s eSBkdWUgdG8KICByZW5hbWUgb2YgZnVuY3Rpb24gaW4gb3JnLmVsLgotLS0KIGNvbnRyaWIvbGlz cC9veC10YXNranVnZ2xlci5lbCAgICAgICAgICAgIHwgICAyICstCiBkb2Mvb3JnLW1hbnVhbC5v cmcgICAgICAgICAgICAgICAgICAgICAgICB8ICAyNyArLQogZXRjL09SRy1ORVdTICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMTAgKy0KIGxpc3Avb3JnLWF0dGFjaC5lbCAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAyICstCiBsaXNwL29yZy1jYXB0dXJlLmVsICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNCArLQogbGlzcC9vcmctY29tcGF0LmVsICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDYgKwogbGlzcC9vcmctZWxlbWVudC5lbCAgICAgICAgICAgICAgICAgICAgICAg fCAgIDUgKy0KIGxpc3Avb3JnLmVsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjY4 ICsrKysrKysrKysrKy0tLS0tLS0KIHRlc3RpbmcvZXhhbXBsZXMvcHJvcGVydHktaW5oZXJpdGFu Y2Uub3JnIHwgICA2ICstCiB0ZXN0aW5nL2xpc3AvdGVzdC1vcmctZWxlbWVudC5lbCAgICAgICAg ICB8ICAyMSArKwogdGVzdGluZy9saXNwL3Rlc3Qtb3JnLmVsICAgICAgICAgICAgICAgICAgfCAz MDUgKysrKysrKysrKysrKysrKysrKysrLQogMTEgZmlsZXMgY2hhbmdlZCwgNTM5IGluc2VydGlv bnMoKyksIDExNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250cmliL2xpc3Avb3gtdGFz a2p1Z2dsZXIuZWwgYi9jb250cmliL2xpc3Avb3gtdGFza2p1Z2dsZXIuZWwKaW5kZXggMTZhNmEz YTc0Li5iYzkwYjkzYTQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvbGlzcC9veC10YXNranVnZ2xlci5l bAorKysgYi9jb250cmliL2xpc3Avb3gtdGFza2p1Z2dsZXIuZWwKQEAgLTEzNyw3ICsxMzcsNyBA QAogOzsgICA6RU5EOgogOzsKIDs7OzsgKiBUT0RPCi07OyAgIC0gTG9vayBhdCBvcmctZmlsZS1w cm9wZXJ0aWVzLCBvcmctZ2xvYmFsLXByb3BlcnRpZXMgYW5kCis7OyAgIC0gTG9vayBhdCBvcmct a2V5d29yZC1wcm9wZXJ0aWVzLCBvcmctZ2xvYmFsLXByb3BlcnRpZXMgYW5kCiA7OyAgICAgb3Jn LWdsb2JhbC1wcm9wZXJ0aWVzLWZpeGVkCiA7OyAgIC0gV2hhdCBhYm91dCBwcm9wZXJ0eSBpbmhl cml0YW5jZSBhbmQgb3JnLXByb3BlcnR5LWluaGVyaXQtcD8KIDs7ICAgLSBVc2UgVFlQRV9UT0RP IGFzIGFuIHdheSB0byBhc3NpZ24gcmVzb3VyY2VzCmRpZmYgLS1naXQgYS9kb2Mvb3JnLW1hbnVh bC5vcmcgYi9kb2Mvb3JnLW1hbnVhbC5vcmcKaW5kZXggZjJmMDU5ZTc3Li44MzU4NjIwY2EgMTAw NjQ0Ci0tLSBhL2RvYy9vcmctbWFudWFsLm9yZworKysgYi9kb2Mvb3JnLW1hbnVhbC5vcmcKQEAg LTQ5NTEsNyArNDk1MSw3IEBAIHdpdGggbWFueSBleGFtcGxlcywgc2VlIFtbKk1hdGNoaW5nIHRh Z3MgYW5kIHByb3BlcnRpZXNdXS4KIAogQSBwcm9wZXJ0eSBpcyBhIGtleS12YWx1ZSBwYWlyIGFz c29jaWF0ZWQgd2l0aCBhbiBlbnRyeS4gIFByb3BlcnRpZXMKIGNhbiBiZSBzZXQgc28gdGhleSBh cmUgYXNzb2NpYXRlZCB3aXRoIGEgc2luZ2xlIGVudHJ5LCB3aXRoIGV2ZXJ5Ci1lbnRyeSBpbiBh IHRyZWUsIG9yIHdpdGggZXZlcnkgZW50cnkgaW4gYW4gT3JnIGZpbGUuCitlbnRyeSBpbiBhIHRy ZWUsIG9yIHdpdGggdGhlIHdob2xlIGJ1ZmZlci4KIAogVGhlcmUgYXJlIHR3byBtYWluIGFwcGxp Y2F0aW9ucyBmb3IgcHJvcGVydGllcyBpbiBPcmcgbW9kZS4gIEZpcnN0LAogcHJvcGVydGllcyBh cmUgbGlrZSB0YWdzLCBidXQgd2l0aCBhIHZhbHVlLiAgSW1hZ2luZSBtYWludGFpbmluZwpAQCAt NTAxNSw4ICs1MDE1LDEzIEBAIGRpc2tzIGluIGEgYm94IGxpa2UgdGhpczoKICAgOkVORDoKICMr ZW5kX2V4YW1wbGUKIAotSWYgeW91IHdhbnQgdG8gc2V0IHByb3BlcnRpZXMgdGhhdCBjYW4gYmUg aW5oZXJpdGVkIGJ5IGFueSBlbnRyeSBpbgotYSBmaWxlLCB1c2UgYSBsaW5lIGxpa2U6CitQcm9w ZXJ0aWVzIGNhbiBiZSBpbnNlcnRlZCBvbiBidWZmZXIgbGV2ZWwuICBUaGF0IG1lYW5zIHRoZXkg YXBwbHkKK2JlZm9yZSB0aGUgZmlyc3QgaGVhZGxpbmUgYW5kIGNhbiBiZSBpbmhlcml0ZWQgYnkg YWxsIGVudHJpZXMgaW4gYQorZmlsZS4gIFByb3BlcnR5IGJsb2NrcyBkZWZpbmVkIGJlZm9yZSBm aXJzdCBoZWFkbGluZSBuZWVkcyB0byBiZQorbG9jYXRlZCBhdCB0aGUgdG9wIG9mIHRoZSBidWZm ZXIsIGFsbG93aW5nIG9ubHkgY29tbWVudHMgYW5kIGtleXdvcmRzCithYm92ZS4KKworUHJvcGVy dGllcyBjYW4gYWxzbyBiZSBkZWZpbmVkIHVzaW5nIGxpbmVzIGxpa2U6CiAKICMrY2luZGV4OiBA c2FtcHtfQUxMfSBzdWZmaXgsIGluIHByb3BlcnRpZXMKICMrY2luZGV4OiBAc2FtcHtQUk9QRVJU WX0sIGtleXdvcmQKQEAgLTUwODEsNyArNTA4Niw5IEBAIFRoZSBmb2xsb3dpbmcgY29tbWFuZHMg aGVscCB0byB3b3JrIHdpdGggcHJvcGVydGllczoKICAgIytmaW5kZXg6IG9yZy1pbnNlcnQtZHJh d2VyCiAgIEluc2VydCBhIHByb3BlcnR5IGRyYXdlciBpbnRvIHRoZSBjdXJyZW50IGVudHJ5LiAg VGhlIGRyYXdlciBpcwogICBpbnNlcnRlZCBlYXJseSBpbiB0aGUgZW50cnksIGJ1dCBhZnRlciB0 aGUgbGluZXMgd2l0aCBwbGFubmluZwotICBpbmZvcm1hdGlvbiBsaWtlIGRlYWRsaW5lcy4KKyAg aW5mb3JtYXRpb24gbGlrZSBkZWFkbGluZXMuICBJZiBiZWZvcmUgZmlyc3QgaGVhZGxpbmUgdGhl IGRyYXdlciBpcworICBpbnNlcnRlZCBhdCB0aGUgdG9wIG9mIHRoZSBkcmF3ZXIgYWZ0ZXIgYW55 IHBvdGVudGlhbCBjb21tZW50cyBvcgorICBrZXl3b3Jkcy4KIAogLSB7e3trYmQoQy1jIEMtYyl9 fX0gKH5vcmctcHJvcGVydHktYWN0aW9ufikgOjoKIApAQCAtNTMwNCwxMSArNTMxMSw2IEBAIGRv bmUgYnkgZGVmaW5pbmcgYSBjb2x1bW4gZm9ybWF0IGxpbmUuCiA6REVTQ1JJUFRJT046IFdoZXJl IGRlZmluZWQsIHdoZXJlIHZhbGlkPwogOkVORDoKIAotVG8gZGVmaW5lIGEgY29sdW1uIGZvcm1h dCBmb3IgYW4gZW50aXJlIGZpbGUsIHVzZSBhIGxpbmUgbGlrZToKLQotIytjaW5kZXg6IEBzYW1w e0NPTFVNTlN9LCBrZXl3b3JkCi06ICMrQ09MVU1OUzogJTI1SVRFTSAlVEFHUyAlUFJJT1JJVFkg JVRPRE8KLQogVG8gc3BlY2lmeSBhIGZvcm1hdCB0aGF0IG9ubHkgYXBwbGllcyB0byBhIHNwZWNp ZmljIHRyZWUsIGFkZAogYSA9Q09MVU1OUz0gcHJvcGVydHkgdG8gdGhlIHRvcCBub2RlIG9mIHRo YXQgdHJlZSwgZm9yIGV4YW1wbGU6CiAKQEAgLTUzMTksNiArNTMyMSwxMyBAQCBhID1DT0xVTU5T PSBwcm9wZXJ0eSB0byB0aGUgdG9wIG5vZGUgb2YgdGhhdCB0cmVlLCBmb3IgZXhhbXBsZToKICAg IDpFTkQ6CiAjK2VuZF9leGFtcGxlCiAKK0EgPUNPTFVNTlM9IHByb3BlcnR5IHdpdGhpbiBhIHBy b3BlcnR5IGRyYXdlciBiZWZvcmUgZmlyc3QgaGVhZGxpbmUKK3dpbGwgYXBwbHkgdG8gdGhlIGVu dGlyZSBmaWxlLiAgQXMgYW4gYWRkaXRpb24gdG8gcHJvcGVydHkgZHJhd2VycywKK2tleXdvcmRz IGNhbiBhbHNvIGJlIGRlZmluZWQgZm9yIGFuIGVudGlyZSBmaWxlIHVzaW5nIGEgbGluZSBsaWtl OgorCisjK2NpbmRleDogQHNhbXB7Q09MVU1OU30sIGtleXdvcmQKKzogIytDT0xVTU5TOiAlMjVJ VEVNICVUQUdTICVQUklPUklUWSAlVE9ETworCiBJZiBhID1DT0xVTU5TPSBwcm9wZXJ0eSBpcyBw cmVzZW50IGluIGFuIGVudHJ5LCBpdCBkZWZpbmVzIGNvbHVtbnMgZm9yCiB0aGUgZW50cnkgaXRz ZWxmLCBhbmQgZm9yIHRoZSBlbnRpcmUgc3VidHJlZSBiZWxvdyBpdC4gIFNpbmNlIHRoZQogY29s dW1uIGRlZmluaXRpb24gaXMgcGFydCBvZiB0aGUgaGllcmFyY2hpY2FsIHN0cnVjdHVyZSBvZiB0 aGUKZGlmZiAtLWdpdCBhL2V0Yy9PUkctTkVXUyBiL2V0Yy9PUkctTkVXUwppbmRleCA5ZmZmNGFk MTYuLjcxNjgxODcyMCAxMDA2NDQKLS0tIGEvZXRjL09SRy1ORVdTCisrKyBiL2V0Yy9PUkctTkVX UwpAQCAtMTMwLDYgKzEzMCwxNCBAQCBFeHBvcnQgaWdub3JlIGRvbmUgdGFza3Mgd2l0aCBhIGRl YWRsaW5lIHdoZW4KIExpa2V3aXNlLCBzY2hlZHVsZWQgZG9uZSB0YXNrcyBhcmUgYWxzbyBpZ25v cmVkIHdoZW4KIH5vcmctaWNhbGVuZGFyLXVzZS1zY2hlZHVsZWR+IGNvbnRhaW5zIHRoZSBzYW1l IHN5bWJvbC4KIAorKioqIFByb3BlcnR5IGRyYXdlcnMgYmVmb3JlIGZpcnN0IGhlYWRsaW5lLCBv dXRsaW5lICBsZXZlbCAwCitQcm9wZXJ0eSBkcmF3ZXJzIHdpbGwgbm93IHdvcmsgYmVmb3JlIGZp cnN0IGhlYWRsaW5lIGFuZCBPcmcgbW9kZSBpcworbW92aW5nIG1vcmUgdG93YXJkcyBtYWtpbmcg dGhpbmdzIGJlZm9yZSB0aGUgZmlyc3QgaGVhZGxpbmUgYmVoYXZlCitqdXN0IGFzIGlmIGl0IHdh cyBhdCBvdXRsaW5lIGxldmVsIDAuICBJbmhlcml0YW5jZSBmb3IgcHJvcGVydGllcyB3aWxsCit3 b3JrIGFsc28gZm9yIHRoaXMgbGV2ZWwuICBJbiBvdGhlciB3b3JkczsgZGVmaW5pbmcgdGhpbmdz IGluIGEKK3Byb3BlcnR5IGRyYXdlciBiZWZvcmUgdGhlIGZpcnN0IGhlYWRsaW5lIHdpbGwgbWFr ZSB0aGVtICJpbmhlcml0YWJsZSIKK2ZvciBhbGwgaGVhZGxpbmVzLgorCiAqKiogQWRkIHNwbGl0 LXdpbmRvdy1yaWdodCBvcHRpb24gZm9yIHNyYyBibG9jayBlZGl0IHdpbmRvdyBwbGFjZW1lbnQK IEdpdmVuIHRoZSBpbmNyZWFzaW5nIHBvcHVsYXJpdHkgb2Ygd2lkZSBzY3JlZW4gbW9uaXRvcnMs IHNwbGl0dGluZwogaG9yaXpvbnRhbGx5IG1heSBtYWtlIG1vcmUgc2Vuc2UgdGhhbiBzcGxpdHRp bmcgdmVydGljYWxseS4gIEFuCkBAIC0yMTY1LDcgKzIxNzMsNyBAQCB3aXRob3V0IGNoYW5naW5n IHRoZSBoZWFkbGluZS4KIAogKioqIEhpZXJhcmNoaWVzIG9mIHRhZ3MKIAotVGhlIGZ1bmN0aW9u YWxpdHkgb2YgbmVzdGluZyB0YWdzIGluIGhpZXJhcmNoaWVzIGlzIGFkZGVkIHRvIG9yZy1tb2Rl LgorVGhlIGZ1bmN0aW9uYWxpdHkgb2YgbmVzdGluZyB0YWdzIGluIGhpZXJhcmNoaWVzIGlzIGFk ZGVkIHRvIE9yZyBtb2RlLgogVGhpcyBpcyB0aGUgZ2VuZXJhbGl6YXRpb24gb2Ygd2hhdCB3YXMg cHJldmlvdXNseSBjYWxsZWQgIlRhZyBncm91cHMiCiBpbiB0aGUgbWFudWFsLiAgVGhhdCB0ZXJt IGlzIG5vdyBjaGFuZ2VkIHRvICJUYWcgaGllcmFyY2h5Ii4KIApkaWZmIC0tZ2l0IGEvbGlzcC9v cmctYXR0YWNoLmVsIGIvbGlzcC9vcmctYXR0YWNoLmVsCmluZGV4IDIxMzhhMjgwNy4uYjJmOTQ4 YzJlIDEwMDY0NAotLS0gYS9saXNwL29yZy1hdHRhY2guZWwKKysrIGIvbGlzcC9vcmctYXR0YWNo LmVsCkBAIC0yNDQsNyArMjQ0LDcgQEAgU2hvd3MgYSBsaXN0IG9mIGNvbW1hbmRzIGFuZCBwcm9t cHRzIGZvciBhbm90aGVyIGtleSB0byBleGVjdXRlIGEgY29tbWFuZC4iCiAgICAgICAod2hlbiBt YXJrZXIKIAkoc2V0LWJ1ZmZlciAobWFya2VyLWJ1ZmZlciBtYXJrZXIpKQogCShnb3RvLWNoYXIg bWFya2VyKSkKLSAgICAgIChvcmctYmFjay10by1oZWFkaW5nIHQpCisgICAgICAob3JnLWJhY2st dG8taGVhZGluZy1vci1wb2ludC1taW4gdCkKICAgICAgIChzYXZlLWV4Y3Vyc2lvbgogCShzYXZl LXdpbmRvdy1leGN1cnNpb24KIAkgICh1bmxlc3Mgb3JnLWF0dGFjaC1leHBlcnQKZGlmZiAtLWdp dCBhL2xpc3Avb3JnLWNhcHR1cmUuZWwgYi9saXNwL29yZy1jYXB0dXJlLmVsCmluZGV4IDRmOTdl MTdlYS4uNjczNDNlMDJhIDEwMDY0NAotLS0gYS9saXNwL29yZy1jYXB0dXJlLmVsCisrKyBiL2xp c3Avb3JnLWNhcHR1cmUuZWwKQEAgLTE3MzYsMTEgKzE3MzYsMTEgQEAgVGhlIHRlbXBsYXRlIG1h eSBzdGlsbCBjb250YWluIFwiJT9cIiBmb3IgY3Vyc29yIHBvc2l0aW9uaW5nLiIKIAkJCSAoXyAo ZXJyb3IgIkludmFsaWQgYG9yZy1jYXB0dXJlLS1jbGlwYm9hcmRzJyB2YWx1ZTogJVMiCiAJCQkJ ICAgb3JnLWNhcHR1cmUtLWNsaXBib2FyZHMpKSkpKQogCQkgICAgKCJwIgotCQkgICAgIDs7IFdl IHJlbW92ZSBmaWxlIHByb3BlcnRpZXMgaW5oZXJpdGVkIGZyb20KKwkJICAgICA7OyBXZSByZW1v dmUga2V5d29yZCBwcm9wZXJ0aWVzIGluaGVyaXRlZCBmcm9tCiAJCSAgICAgOzsgdGFyZ2V0IGJ1 ZmZlciBzbyBgb3JnLXJlYWQtcHJvcGVydHktdmFsdWUnIGhhcwogCQkgICAgIDs7IGEgY2hhbmNl IHRvIGZpbmQgYWxsb3dlZCB2YWx1ZXMgaW4gc3ViLXRyZWVzCiAJCSAgICAgOzsgZnJvbSB0aGUg dGFyZ2V0IGJ1ZmZlci4KLQkJICAgICAoc2V0cS1sb2NhbCBvcmctZmlsZS1wcm9wZXJ0aWVzIG5p bCkKKwkJICAgICAoc2V0cS1sb2NhbCBvcmcta2V5d29yZC1wcm9wZXJ0aWVzIG5pbCkKIAkJICAg ICAobGV0KiAoKG9yaWdpbiAoc2V0LW1hcmtlciAobWFrZS1tYXJrZXIpCiAJCQkJCQkob3JnLWNh cHR1cmUtZ2V0IDpwb3MpCiAJCQkJCQkob3JnLWNhcHR1cmUtZ2V0IDpidWZmZXIpKSkKZGlmZiAt LWdpdCBhL2xpc3Avb3JnLWNvbXBhdC5lbCBiL2xpc3Avb3JnLWNvbXBhdC5lbAppbmRleCA0NDQ2 YTE2OWQuLmMxNjdiYTkwOCAxMDA2NDQKLS0tIGEvbGlzcC9vcmctY29tcGF0LmVsCisrKyBiL2xp c3Avb3JnLWNvbXBhdC5lbApAQCAtNTU2LDYgKzU1NiwxMiBAQCB1c2Ugb2YgdGhpcyBmdW5jdGlv biBpcyBmb3IgdGhlIHN0dWNrIHByb2plY3QgbGlzdC4iCiAoZGVmaW5lLW9ic29sZXRlLWZ1bmN0 aW9uLWFsaWFzICdvcmctbWFrZS1saW5rLXJlZ2V4cHMKICAgJ29yZy1saW5rLW1ha2UtcmVnZXhw cyAiT3JnIDkuMyIpCiAKKyhkZWZpbmUtb2Jzb2xldGUtZnVuY3Rpb24tYWxpYXMgJ29yZy1maWxl LXByb3BlcnRpZXMKKyAgJ29yZy1rZXl3b3JkLXByb3BlcnRpZXMgIk9yZyA5LjMiKQorCisoZGVm aW5lLW9ic29sZXRlLWZ1bmN0aW9uLWFsaWFzICdvcmctcHJvcGVydHktZ2xvYmFsLXZhbHVlCisg ICdvcmctcHJvcGVydHktZ2xvYmFsLW9yLWtleXdvcmQtdmFsdWUgIk9yZyA5LjMiKQorCiAoZGVm aW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzICdvcmctYW5nbGUtbGluay1yZQogICAnb3JnLWxp bmstYW5nbGUtcmUgIk9yZyA5LjMiKQogCmRpZmYgLS1naXQgYS9saXNwL29yZy1lbGVtZW50LmVs IGIvbGlzcC9vcmctZWxlbWVudC5lbAppbmRleCA1NmIzY2M0MTMuLjExMGZmNTYyNCAxMDA2NDQK LS0tIGEvbGlzcC9vcmctZWxlbWVudC5lbAorKysgYi9saXNwL29yZy1lbGVtZW50LmVsCkBAIC0z OTEwLDcgKzM5MTAsMTAgQEAgZWxlbWVudCBpdCBoYXMgdG8gcGFyc2UuIgogCSAgICAgOzsgTGFU ZVggRW52aXJvbm1lbnQuCiAJICAgICAoKGxvb2tpbmctYXQgb3JnLWVsZW1lbnQtLWxhdGV4LWJl Z2luLWVudmlyb25tZW50KQogCSAgICAgIChvcmctZWxlbWVudC1sYXRleC1lbnZpcm9ubWVudC1w YXJzZXIgbGltaXQgYWZmaWxpYXRlZCkpCi0JICAgICA7OyBEcmF3ZXIgYW5kIFByb3BlcnR5IERy YXdlci4KKwkgICAgIDs7IFByb3BlcnR5IGRyYXdlciAoYmVmb3JlIGZpcnN0IGhlYWRsaW5lLCBl bHNlIGl0J3MgY2F0Y2hlZCBhYm92ZSkuCisJICAgICAoKG9yZy1hdC1wcm9wZXJ0eS1ibG9jay1w KQorCSAgICAgIChvcmctZWxlbWVudC1wcm9wZXJ0eS1kcmF3ZXItcGFyc2VyIGxpbWl0KSkKKwkg ICAgIDs7IERyYXdlci4KIAkgICAgICgobG9va2luZy1hdCBvcmctZHJhd2VyLXJlZ2V4cCkKIAkg ICAgICAob3JnLWVsZW1lbnQtZHJhd2VyLXBhcnNlciBsaW1pdCBhZmZpbGlhdGVkKSkKIAkgICAg IDs7IEZpeGVkIFdpZHRoCmRpZmYgLS1naXQgYS9saXNwL29yZy5lbCBiL2xpc3Avb3JnLmVsCmlu ZGV4IGNiODNiZWYzYi4uY2JjNDc2NjQ0IDEwMDY0NAotLS0gYS9saXNwL29yZy5lbAorKysgYi9s aXNwL29yZy5lbApAQCAtMzUwLDYgKzM1MCw5IEBAIEZVTEwgaXMgZ2l2ZW4uIgogCiAMCiA7Ozsg U3ludGF4IENvbnN0YW50cworOzs7OyBLZXl3b3JkCisoZGVmY29uc3Qgb3JnLWtleXdvcmQtcmVn ZXhwICJeWyBcdF0qI1xcK1xcKFxcUy0rP1xcKTpbIFx0XSpcXCguKlxcKSQiCisgICJSZWd1bGFy IGV4cHJlc3Npb24gZm9yIGtleXdvcmQtbGluZXMiKQogCiA7Ozs7IEJsb2NrCiAKQEAgLTMxODIs OCArMzE4NSwxMyBAQCBUaGlzIGxpc3Qgd2lsbCBiZSBjb21iaW5lZCB3aXRoIHRoZSBjb25zdGFu dCBgb3JnLWdsb2JhbC1wcm9wZXJ0aWVzLWZpeGVkJy4KIFRoZSBlbnRyaWVzIGluIHRoaXMgbGlz dCBhcmUgY29ucyBjZWxscyB3aGVyZSB0aGUgY2FyIGlzIGEgcHJvcGVydHkKIG5hbWUgYW5kIGNk ciBpcyBhIHN0cmluZyB3aXRoIHRoZSB2YWx1ZS4KIAotWW91IGNhbiBzZXQgYnVmZmVyLWxvY2Fs IHZhbHVlcyBmb3IgdGhlIHNhbWUgcHVycG9zZSBpbiB0aGUgdmFyaWFibGUKLWBvcmctZmlsZS1w cm9wZXJ0aWVzJyB0aGlzIGJ5IGFkZGluZyBsaW5lcyBsaWtlCitCdWZmZXIgbG9jYWwgcHJvcGVy dGllcyBhcmUgYWRkZWQgZWl0aGVyIGJ5IGEgZG9jdW1lbnQgcHJvcGVydHkgZHJhd2VyCisKKzpQ Uk9QRVJUSUVTOgorOk5BTUU6IFZBTFVFCis6RU5EOgorCitvciBieSBhZGRpbmcgbGluZXMgbGlr ZQogCiAjK1BST1BFUlRZOiBOQU1FIFZBTFVFIgogICA6Z3JvdXAgJ29yZy1wcm9wZXJ0aWVzCkBA IC0zMTkxLDEwICszMTk5LDE0IEBAIFlvdSBjYW4gc2V0IGJ1ZmZlci1sb2NhbCB2YWx1ZXMgZm9y IHRoZSBzYW1lIHB1cnBvc2UgaW4gdGhlIHZhcmlhYmxlCiAJICAoY29ucyAoc3RyaW5nIDp0YWcg IlByb3BlcnR5IikKIAkJKHN0cmluZyA6dGFnICJWYWx1ZSIpKSkpCiAKLShkZWZ2YXItbG9jYWwg b3JnLWZpbGUtcHJvcGVydGllcyBuaWwKKyhkZWZ2YXItbG9jYWwgb3JnLWtleXdvcmQtcHJvcGVy dGllcyBuaWwKICAgIkxpc3Qgb2YgcHJvcGVydHkvdmFsdWUgcGFpcnMgdGhhdCBjYW4gYmUgaW5o ZXJpdGVkIGJ5IGFueSBlbnRyeS4KLVZhbGlkIGZvciB0aGUgY3VycmVudCBidWZmZXIuCi1UaGlz IHZhcmlhYmxlIGlzIHBvcHVsYXRlZCBmcm9tICMrUFJPUEVSVFkgbGluZXMuIikKK1ZhbGlkIGZv ciB0aGUgY3VycmVudCBidWZmZXIuICBUaGlzIHZhcmlhYmxlIGlzIHBvcHVsYXRlZCBmcm9tCisj K1BST1BFUlRZIGxpbmVzLgorCitOb3RlIHRoYXQgcHJvcGVydGllcyBhcmUgZGVmaW5lZCBhbHNv IGluIHByb3BlcnR5IGRyYXdlcnMuCitQcm9wZXJ0aWVzIGRlZmluZWQgdGhlcmUgd2lsbCB0YWtl IHByZWNlZGVuY2Ugb3ZlciBwcm9wZXJ0aWVzCitkZWZpbmVkIGFzIGtleXdvcmRzLiIpCiAKIChk ZWZncm91cCBvcmctYWdlbmRhIG5pbAogICAiT3B0aW9ucyBjb25jZXJuaW5nIGFnZW5kYSB2aWV3 cyBpbiBPcmcgbW9kZS4iCkBAIC0zMjAzLDExICszMjE1LDE4IEBAIFRoaXMgdmFyaWFibGUgaXMg cG9wdWxhdGVkIGZyb20gIytQUk9QRVJUWSBsaW5lcy4iKQogCiAoZGVmdmFyLWxvY2FsIG9yZy1j YXRlZ29yeSBuaWwKICAgIlZhcmlhYmxlIHVzZWQgYnkgT3JnIGZpbGVzIHRvIHNldCBhIGNhdGVn b3J5IGZvciBhZ2VuZGEgZGlzcGxheS4KLVN1Y2ggZmlsZXMgc2hvdWxkIHVzZSBhIGZpbGUgdmFy aWFibGUgdG8gc2V0IGl0LCBmb3IgZXhhbXBsZQorVGhlcmUgYXJlIG11bHRpcGxlIHdheXMgdG8g c2V0IHRoZSBjYXRlZ29yeS4gIE9uZSB3YXkgaXMgdG8gc2V0CitpdCBpbiB0aGUgZG9jdW1lbnQg cHJvcGVydHkgZHJhd2VyLiAgRm9yIGV4YW1wbGU6CisKKzpQUk9QRVJUSUVTOgorOkNBVEVHT1JZ OiBFTGlzcAorOkVORDoKKworT3RoZXIgd2F5cyB0byBkZWZpbmUgaXQgaXMgYXMgYW4gZW1hY3Mg ZmlsZSB2YXJpYWJsZSwgZm9yIGV4YW1wbGUKIAogIyAgIC0qLSBtb2RlOiBvcmc7IG9yZy1jYXRl Z29yeTogXCJFTGlzcFwiCiAKLW9yIGNvbnRhaW4gYSBzcGVjaWFsIGxpbmUKK29yIGZvciB0aGUg ZmlsZSB0byBjb250YWluIGEgc3BlY2lhbCBsaW5lOgogCiAjK0NBVEVHT1JZOiBFTGlzcAogCkBA IC00MzQwLDggKzQzNTksOCBAQCByZWxhdGVkIGV4cHJlc3Npb25zLiIKICAgICAgIChzZXRxIG9y Zy10YWctZ3JvdXBzLWFsaXN0CiAJICAgIChvcmctdGFnLWFsaXN0LXRvLWdyb3VwcyBvcmctY3Vy cmVudC10YWctYWxpc3QpKQogICAgICAgKHVubGVzcyB0YWdzLW9ubHkKLQk7OyBGaWxlIHByb3Bl cnRpZXMuCi0JKHNldHEtbG9jYWwgb3JnLWZpbGUtcHJvcGVydGllcyAoY2RyIChhc3NxICdwcm9w ZXJ0eSBhbGlzdCkpKQorCTs7IFByb3BlcnRpZXMuCisJKHNldHEtbG9jYWwgb3JnLWtleXdvcmQt cHJvcGVydGllcyAoY2RyIChhc3NxICdwcm9wZXJ0eSBhbGlzdCkpKQogCTs7IEFyY2hpdmUgbG9j YXRpb24uCiAJKGxldCAoKGFyY2hpdmUgKGNkciAoYXNzcSAnYXJjaGl2ZSBhbGlzdCkpKSkKIAkg ICh3aGVuIGFyY2hpdmUgKHNldHEtbG9jYWwgb3JnLWFyY2hpdmUtbG9jYXRpb24gYXJjaGl2ZSkp KQpAQCAtNDM0OSw5ICs0MzY4LDkgQEAgcmVsYXRlZCBleHByZXNzaW9ucy4iCiAJKGxldCAoKGNh dCAob3JnLXN0cmluZy1udy1wIChjZHIgKGFzc3EgJ2NhdGVnb3J5IGFsaXN0KSkpKSkKIAkgICh3 aGVuIGNhdAogCSAgICAoc2V0cS1sb2NhbCBvcmctY2F0ZWdvcnkgKGludGVybiBjYXQpKQotCSAg ICAoc2V0cS1sb2NhbCBvcmctZmlsZS1wcm9wZXJ0aWVzCisJICAgIChzZXRxLWxvY2FsIG9yZy1r ZXl3b3JkLXByb3BlcnRpZXMKIAkJCShvcmctLXVwZGF0ZS1wcm9wZXJ0eS1wbGlzdAotCQkJICJD QVRFR09SWSIgY2F0IG9yZy1maWxlLXByb3BlcnRpZXMpKSkpCisJCQkgIkNBVEVHT1JZIiBjYXQg b3JnLWtleXdvcmQtcHJvcGVydGllcykpKSkKIAk7OyBDb2x1bW5zLgogCShsZXQgKChjb2x1bW4g KGNkciAoYXNzcSAnY29sdW1ucyBhbGlzdCkpKSkKIAkgICh3aGVuIGNvbHVtbiAoc2V0cS1sb2Nh bCBvcmctY29sdW1ucy1kZWZhdWx0LWZvcm1hdCBjb2x1bW4pKSkKQEAgLTgyNjksMTMgKzgyODgs MTQgQEAgdGhlIHZhbHVlIG9mIHRoZSBkcmF3ZXIgcHJvcGVydHkuIgogCSAoaW5oaWJpdC1yZWFk LW9ubHkgdCkKIAkgKGluaGVyaXQ/IChvcmctcHJvcGVydHktaW5oZXJpdC1wIGRwcm9wKSkKIAkg KHByb3BlcnR5LXJlIChvcmctcmUtcHJvcGVydHkgKGNvbmNhdCAocmVnZXhwLXF1b3RlIGRwcm9w KSAiXFwrPyIpIHQpKQotCSAoZ2xvYmFsIChhbmQgaW5oZXJpdD8gKG9yZy0tcHJvcGVydHktZ2xv YmFsLXZhbHVlIGRwcm9wIG5pbCkpKSkKKwkgKGdsb2JhbC1vci1rZXl3b3JkIChhbmQgaW5oZXJp dD8KKwkJCQkgKG9yZy0tcHJvcGVydHktZ2xvYmFsLW9yLWtleXdvcmQtdmFsdWUgZHByb3Agbmls KSkpKQogICAgICh3aXRoLXNpbGVudC1tb2RpZmljYXRpb25zCiAgICAgICAob3JnLXdpdGgtcG9p bnQtYXQgMQotCTs7IFNldCBnbG9iYWwgdmFsdWVzIChlLmcuLCB2YWx1ZXMgZGVmaW5lZCB0aHJv dWdoCi0JOzsgIiMrUFJPUEVSVFk6IiBrZXl3b3JkcykgdG8gdGhlIHdob2xlIGJ1ZmZlci4KLQko d2hlbiBnbG9iYWwgKHB1dC10ZXh0LXByb3BlcnR5IChwb2ludC1taW4pIChwb2ludC1tYXgpIHRw cm9wIGdsb2JhbCkpCi0JOzsgU2V0IGxvY2FsIHZhbHVlcy4KKwk7OyBTZXQgZ2xvYmFsIGFuZCBr ZXl3b3JkIGJhc2VkIHZhbHVlcyB0byB0aGUgd2hvbGUgYnVmZmVyLgorCSh3aGVuIGdsb2JhbC1v ci1rZXl3b3JkCisJICAocHV0LXRleHQtcHJvcGVydHkgKHBvaW50LW1pbikgKHBvaW50LW1heCkg dHByb3AgZ2xvYmFsLW9yLWtleXdvcmQpKQorCTs7IFNldCB2YWx1ZXMgYmFzZWQgb24gcHJvcGVy dHktZHJhd2VycyB0aHJvdWdob3V0IHRoZSBkb2N1bWVudC4KIAkod2hpbGUgKHJlLXNlYXJjaC1m b3J3YXJkIHByb3BlcnR5LXJlIG5pbCB0KQogCSAgKHdoZW4gKG9yZy1hdC1wcm9wZXJ0eS1wKQog CSAgICAob3JnLXJlZnJlc2gtcHJvcGVydHkgdHByb3AgKG9yZy1lbnRyeS1nZXQgKHBvaW50KSBk cHJvcCkgaW5oZXJpdD8pKQpAQCAtODI4MywyMSArODMwMywyOSBAQCB0aGUgdmFsdWUgb2YgdGhl IGRyYXdlciBwcm9wZXJ0eS4iCiAKIChkZWZ1biBvcmctcmVmcmVzaC1wcm9wZXJ0eSAodHByb3Ag cCAmb3B0aW9uYWwgaW5oZXJpdCkKICAgIlJlZnJlc2ggdGhlIGJ1ZmZlciB0ZXh0IHByb3BlcnR5 IFRQUk9QIGZyb20gdGhlIGRyYXdlciBwcm9wZXJ0eSBQLgotVGhlIHJlZnJlc2ggaGFwcGVucyBv bmx5IGZvciB0aGUgY3VycmVudCBoZWFkbGluZSwgb3IgdGhlIHdob2xlCi1zdWItdHJlZSBpZiBv cHRpb25hbCBhcmd1bWVudCBJTkhFUklUIGlzIG5vbi1uaWwuIgotICAodW5sZXNzIChvcmctYmVm b3JlLWZpcnN0LWhlYWRpbmctcCkKLSAgICAoc2F2ZS1leGN1cnNpb24KLSAgICAgIChvcmctYmFj ay10by1oZWFkaW5nIHQpCi0gICAgICAobGV0ICgoc3RhcnQgKHBvaW50KSkKLQkgICAgKGVuZCAo c2F2ZS1leGN1cnNpb24KLQkJICAgKGlmIGluaGVyaXQgKG9yZy1lbmQtb2Ytc3VidHJlZSB0IHQp Ci0JCSAgICAgKG9yIChvdXRsaW5lLW5leHQtaGVhZGluZykgKHBvaW50LW1heCkpKSkpKQotCShp ZiAoc3ltYm9scCB0cHJvcCkKLQkgICAgOzsgVFBST1AgaXMgYSB0ZXh0IHByb3BlcnR5IHN5bWJv bC4KLQkgICAgKHB1dC10ZXh0LXByb3BlcnR5IHN0YXJ0IGVuZCB0cHJvcCBwKQotCSAgOzsgVFBS T1AgaXMgYW4gYWxpc3Qgd2l0aCAocHJvcGVydHkgLiBmdW5jdGlvbikgZWxlbWVudHMuCi0JICAo cGNhc2UtZG9saXN0IChgKCxwcm9wIC4gLGYpIHRwcm9wKQotCSAgICAocHV0LXRleHQtcHJvcGVy dHkgc3RhcnQgZW5kIHByb3AgKGZ1bmNhbGwgZiBwKSkpKSkpKSkKK1RoZSByZWZyZXNoIGhhcHBl bnMgb25seSBmb3IgdGhlIGN1cnJlbnQgZW50cnksIG9yIHRoZSB3aG9sZQorc3ViLXRyZWUgaWYg b3B0aW9uYWwgYXJndW1lbnQgSU5IRVJJVCBpcyBub24tbmlsLgorCitJZiBwb2ludCBpcyBiZWZv cmUgZmlyc3QgaGVhZGxpbmUsIHRoZSBmdW5jdGlvbiBhcHBsaWVzIHRvIHRoZQorcGFydCBiZWZv cmUgdGhlIGZpcnN0IGhlYWRsaW5lLiAgSW4gdGhhdCBwYXJ0aWN1bGFyIGNhc2UsIHdoZW4KK29w dGlvbmFsIGFyZ3VtZW50IElOSEVSSVQgaXMgbm9uLW5pbCwgaXQgcmVmcmVzaGVzIHByb3BlcnRp ZXMgZm9yCit0aGUgd2hvbGUgYnVmZmVyLiIKKyAgKHNhdmUtZXhjdXJzaW9uCisgICAgKG9yZy1i YWNrLXRvLWhlYWRpbmctb3ItcG9pbnQtbWluIHQpCisgICAgKGxldCAoKHN0YXJ0IChwb2ludCkp CisJICAoZW5kIChzYXZlLWV4Y3Vyc2lvbgorCQkgKGNvbmQgKChhbmQgaW5oZXJpdCAob3JnLWJl Zm9yZS1maXJzdC1oZWFkaW5nLXApKQorCQkJKHBvaW50LW1heCkpCisJCSAgICAgICAoaW5oZXJp dAorCQkJKG9yZy1lbmQtb2Ytc3VidHJlZSB0IHQpKQorCQkgICAgICAgKChvdXRsaW5lLW5leHQt aGVhZGluZykpCisJCSAgICAgICAoKHBvaW50LW1heCkpKSkpKQorICAgICAgKGlmIChzeW1ib2xw IHRwcm9wKQorCSAgOzsgVFBST1AgaXMgYSB0ZXh0IHByb3BlcnR5IHN5bWJvbC4KKwkgIChwdXQt dGV4dC1wcm9wZXJ0eSBzdGFydCBlbmQgdHByb3AgcCkKKwk7OyBUUFJPUCBpcyBhbiBhbGlzdCB3 aXRoIChwcm9wZXJ0eSAuIGZ1bmN0aW9uKSBlbGVtZW50cy4KKwkocGNhc2UtZG9saXN0IChgKCxw cm9wIC4gLGYpIHRwcm9wKQorCSAgKHB1dC10ZXh0LXByb3BlcnR5IHN0YXJ0IGVuZCBwcm9wIChm dW5jYWxsIGYgcCkpKSkpKSkKIAogKGRlZnVuIG9yZy1yZWZyZXNoLWNhdGVnb3J5LXByb3BlcnRp ZXMgKCkKICAgIlJlZnJlc2ggY2F0ZWdvcnkgdGV4dCBwcm9wZXJ0aWVzIGluIHRoZSBidWZmZXIu IgpAQCAtODMxMyw5ICs4MzQxLDkgQEAgc3ViLXRyZWUgaWYgb3B0aW9uYWwgYXJndW1lbnQgSU5I RVJJVCBpcyBub24tbmlsLiIKIAkJKHQgb3JnLWNhdGVnb3J5KSkpKQogICAgICh3aXRoLXNpbGVu dC1tb2RpZmljYXRpb25zCiAgICAgICAob3JnLXdpdGgtd2lkZS1idWZmZXIKLSAgICAgICA7OyBT ZXQgYnVmZmVyLXdpZGUgY2F0ZWdvcnkuICBTZWFyY2ggbGFzdCAjK0NBVEVHT1JZIGtleXdvcmQu Ci0gICAgICAgOzsgVGhpcyBpcyB0aGUgZGVmYXVsdCBjYXRlZ29yeSBmb3IgdGhlIGJ1ZmZlci4g IElmIG5vbmUgaXMKLSAgICAgICA7OyBmb3VuZCwgZmFsbC1iYWNrIHRvIGBvcmctY2F0ZWdvcnkn IG9yIGJ1ZmZlciBmaWxlIG5hbWUuCisgICAgICAgOzsgU2V0IGJ1ZmZlci13aWRlIHByb3BlcnR5 IGZyb20ga2V5d29yZC4gIFNlYXJjaCBsYXN0ICMrQ0FURUdPUlkKKyAgICAgICA7OyBrZXl3b3Jk LiAgSWYgbm9uZSBpcyBmb3VuZCwgZmFsbC1iYWNrIHRvIGBvcmctY2F0ZWdvcnknIG9yCisgICAg ICAgOzsgYnVmZmVyIGZpbGUgbmFtZSwgb3Igc2V0IGl0IGJ5IHRoZSBkb2N1bWVudCBwcm9wZXJ0 eSBkcmF3ZXIuCiAgICAgICAgKHB1dC10ZXh0LXByb3BlcnR5CiAJKHBvaW50LW1pbikgKHBvaW50 LW1heCkKIAknb3JnLWNhdGVnb3J5CkBAIC04MzI3LDE1ICs4MzU1LDIwIEBAIHN1Yi10cmVlIGlm IG9wdGlvbmFsIGFyZ3VtZW50IElOSEVSSVQgaXMgbm9uLW5pbC4iCiAJCSh0aHJvdyAnYnVmZmVy LWNhdGVnb3J5CiAJCSAgICAgICAob3JnLWVsZW1lbnQtcHJvcGVydHkgOnZhbHVlIGVsZW1lbnQp KSkpKQogCSAgZGVmYXVsdC1jYXRlZ29yeSkpCi0gICAgICAgOzsgU2V0IHN1Yi10cmVlIHNwZWNp ZmljIGNhdGVnb3JpZXMuCisgICAgICAgOzsgU2V0IGNhdGVnb3JpZXMgZnJvbSB0aGUgZG9jdW1l bnQgcHJvcGVydHkgZHJhd2VyIG9yCisgICAgICAgOzsgcHJvcGVydHkgZHJhd2VycyBpbiB0aGUg b3V0bGluZS4gIElmIGNhdGVnb3J5IGlzIGZvdW5kIGluCisgICAgICAgOzsgdGhlIHByb3BlcnR5 IGRyYXdlciBmb3IgdGhlIHdob2xlIGJ1ZmZlciB0aGF0IHZhbHVlCisgICAgICAgOzsgb3ZlcnJp ZGVzIHRoZSBrZXl3b3JkLWJhc2VkIHZhbHVlIHNldCBhYm92ZS4KICAgICAgICAoZ290by1jaGFy IChwb2ludC1taW4pKQogICAgICAgIChsZXQgKChyZWdleHAgKG9yZy1yZS1wcm9wZXJ0eSAiQ0FU RUdPUlkiKSkpCiAJICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgcmVnZXhwIG5pbCB0KQogCSAg IChsZXQgKCh2YWx1ZSAobWF0Y2gtc3RyaW5nLW5vLXByb3BlcnRpZXMgMykpKQogCSAgICAgKHdo ZW4gKG9yZy1hdC1wcm9wZXJ0eS1wKQogCSAgICAgICAocHV0LXRleHQtcHJvcGVydHkKLQkJKHNh dmUtZXhjdXJzaW9uIChvcmctYmFjay10by1oZWFkaW5nIHQpIChwb2ludCkpCi0JCShzYXZlLWV4 Y3Vyc2lvbiAob3JnLWVuZC1vZi1zdWJ0cmVlIHQgdCkgKHBvaW50KSkKKwkJKHNhdmUtZXhjdXJz aW9uIChvcmctYmFjay10by1oZWFkaW5nLW9yLXBvaW50LW1pbiB0KSkKKwkJKHNhdmUtZXhjdXJz aW9uIChpZiAob3JnLWJlZm9yZS1maXJzdC1oZWFkaW5nLXApCisJCQkJICAgIChwb2ludC1tYXgp CisJCQkJICAob3JnLWVuZC1vZi1zdWJ0cmVlIHQgdCkpKQogCQknb3JnLWNhdGVnb3J5CiAJCXZh bHVlKSkpKSkpKSkpCiAKQEAgLTEyOTIxLDMwICsxMjk1NCw0NSBAQCBNb2RpZmljYXRpb25zIGFy ZSBtYWRlIGJ5IHNpZGUtZWZmZWN0LiAgUmV0dXJuIG5ldyBhbGlzdC4iCiAKIChkZWZ1biBvcmct Z2V0LXByb3BlcnR5LWJsb2NrICgmb3B0aW9uYWwgYmVnIGZvcmNlKQogICAiUmV0dXJuIHRoZSAo YmVnIC4gZW5kKSByYW5nZSBvZiB0aGUgYm9keSBvZiB0aGUgcHJvcGVydHkgZHJhd2VyLgotQkVH IGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGN1cnJlbnQgc3VidHJlZSwgb3Igb2YgdGhlIHBhcnQK LWJlZm9yZSB0aGUgZmlyc3QgaGVhZGxpbmUuICBJZiBpdCBpcyBub3QgZ2l2ZW4sIGl0IHdpbGwg YmUgZm91bmQuCi1JZiB0aGUgZHJhd2VyIGRvZXMgbm90IGV4aXN0LCBjcmVhdGUgaXQgaWYgRk9S Q0UgaXMgbm9uLW5pbCwgb3IKLXJldHVybiBuaWwuIgorQkVHIGlzIHRoZSBiZWdpbm5pbmcgb2Yg dGhlIGN1cnJlbnQgc3VidHJlZSBvciB0aGUgYmVnaW5uaW5nIG9mCit0aGUgZG9jdW1lbnQgaWYg YmVmb3JlIHRoZSBmaXJzdCBoZWFkbGluZS4gIElmIGl0IGlzIG5vdCBnaXZlbiwKK2l0IHdpbGwg YmUgZm91bmQuICBJZiB0aGUgZHJhd2VyIGRvZXMgbm90IGV4aXN0LCBjcmVhdGUgaXQgaWYKK0ZP UkNFIGlzIG5vbi1uaWwsIG9yIHJldHVybiBuaWwuIgogICAob3JnLXdpdGgtd2lkZS1idWZmZXIK LSAgICh3aGVuIGJlZyAoZ290by1jaGFyIGJlZykpCi0gICAodW5sZXNzIChvcmctYmVmb3JlLWZp cnN0LWhlYWRpbmctcCkKLSAgICAgKGxldCAoKGJlZyAoY29uZCAoYmVnKQorICAgKGxldCAoKGJl ZyAoY29uZCAoYmVnIChnb3RvLWNoYXIgYmVnKSkKIAkJICAgICAgKChvciAobm90IChmZWF0dXJl cCAnb3JnLWlubGluZXRhc2spKQogCQkJICAgKG9yZy1pbmxpbmV0YXNrLWluLXRhc2stcCkpCi0J CSAgICAgICAob3JnLWJhY2stdG8taGVhZGluZyB0KSkKLQkJICAgICAgKHQgKG9yZy13aXRoLWxp bWl0ZWQtbGV2ZWxzIChvcmctYmFjay10by1oZWFkaW5nIHQpKSkpKSkKLSAgICAgICAoZm9yd2Fy ZC1saW5lKQotICAgICAgICh3aGVuIChsb29raW5nLWF0LXAgb3JnLXBsYW5uaW5nLWxpbmUtcmUp IChmb3J3YXJkLWxpbmUpKQotICAgICAgIChjb25kICgobG9va2luZy1hdCBvcmctcHJvcGVydHkt ZHJhd2VyLXJlKQotCSAgICAgIChmb3J3YXJkLWxpbmUpCi0JICAgICAgKGNvbnMgKHBvaW50KSAo cHJvZ24gKGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKQotCQkJCSAgIChsaW5lLWJlZ2lubmluZy1w b3NpdGlvbikpKSkKLQkgICAgIChmb3JjZQotCSAgICAgIChnb3RvLWNoYXIgYmVnKQotCSAgICAg IChvcmctaW5zZXJ0LXByb3BlcnR5LWRyYXdlcikKLQkgICAgICAobGV0ICgocG9zIChzYXZlLWV4 Y3Vyc2lvbiAoc2VhcmNoLWZvcndhcmQgIjpFTkQ6IikKLQkJCQkJIChsaW5lLWJlZ2lubmluZy1w b3NpdGlvbikpKSkKLQkJKGNvbnMgcG9zIHBvcykpKSkpKSkpCisJCSAgICAgICAob3JnLWJhY2st dG8taGVhZGluZy1vci1wb2ludC1taW4gdCkgKHBvaW50KSkKKwkJICAgICAgKHQgKG9yZy13aXRo LWxpbWl0ZWQtbGV2ZWxzCisJCQkgIChvcmctYmFjay10by1oZWFkaW5nLW9yLXBvaW50LW1pbiB0 KSkKKwkJCSAocG9pbnQpKSkpKQorICAgICA7OyBNb3ZlIHBvaW50IHRvIGl0cyBwb3NpdGlvbiBh Y2NvcmRpbmcgdG8gaXRzIHBvc2l0aW9uYWwgcnVsZXMuCisgICAgIChjb25kICgob3JnLWJlZm9y ZS1maXJzdC1oZWFkaW5nLXApCisJICAgICh3aGlsZSAoYW5kIChib2xwKSAob3IgKG9yZy1hdC1r ZXl3b3JkLXApIChvcmctYXQtY29tbWVudC1wKSkpIChmb3J3YXJkLWxpbmUpKSkKKwkgICAodCAo Zm9yd2FyZC1saW5lKQorCSAgICAgICh3aGVuIChsb29raW5nLWF0LXAgb3JnLXBsYW5uaW5nLWxp bmUtcmUpIChmb3J3YXJkLWxpbmUpKSkpCisgICAgIChjb25kICgobG9va2luZy1hdCBvcmctcHJv cGVydHktZHJhd2VyLXJlKQorCSAgICAoZm9yd2FyZC1saW5lKQorCSAgICAoY29ucyAocG9pbnQp IChwcm9nbiAoZ290by1jaGFyIChtYXRjaC1lbmQgMCkpCisJCQkJIChsaW5lLWJlZ2lubmluZy1w b3NpdGlvbikpKSkKKwkgICAoZm9yY2UKKwkgICAgKGdvdG8tY2hhciBiZWcpCisJICAgIChvcmct aW5zZXJ0LXByb3BlcnR5LWRyYXdlcikKKwkgICAgKGxldCAoKHBvcyAoc2F2ZS1leGN1cnNpb24g KHJlLXNlYXJjaC1mb3J3YXJkIG9yZy1wcm9wZXJ0eS1kcmF3ZXItcmUpCisJCQkJICAgICAgIChs aW5lLWJlZ2lubmluZy1wb3NpdGlvbikpKSkKKwkgICAgICAoY29ucyBwb3MgcG9zKSkpKSkpKQor CisoZGVmdW4gb3JnLWF0LXByb3BlcnR5LWJsb2NrLXAgKCkKKyAgIlJldHVybiB0IHdoZW4gcG9p bnQgaXMgYXQgdGhlIGZpcnN0IGxpbmUgb2YgYSBwcm9wZXJ0eSBkcmF3ZXIuCitUaGUgcHJvcGVy dHkgZHJhd2VyIGlzIHZhbGlkYXRlZCBhY2NvcmRpbmcgdG8gaXRzIHBvc2l0aW9uYWwKK3J1bGVz IHVzaW5nIGBvcmctZ2V0LXByb3BlcnR5LWJsb2NrJy4iCisgIChzYXZlLWV4Y3Vyc2lvbgorICAg IChiZWdpbm5pbmctb2YtbGluZSkKKyAgICAoYW5kIChsb29raW5nLWF0IG9yZy1wcm9wZXJ0eS1z dGFydC1yZSkKKwkgKGZvcndhcmQtbGluZSkKKwkgKGxldCAoKHByb3BlcnR5LWRyYXdlciAob3Jn LWdldC1wcm9wZXJ0eS1ibG9jaykpKQorCSAgIChhbmQgcHJvcGVydHktZHJhd2VyCisJCSg9IChw b2ludCkgKGNhciBwcm9wZXJ0eS1kcmF3ZXIpKSkpKSkpCiAKIChkZWZ1biBvcmctYXQtcHJvcGVy dHktcCAoKQogICAiTm9uLW5pbCB3aGVuIHBvaW50IGlzIGluc2lkZSBhIHByb3BlcnR5IGRyYXdl ci4KQEAgLTEzMDI5LDcgKzEzMDc3LDcgQEAgUmV0dXJuIHZhbHVlIGlzIGFuIGFsaXN0LiAgS2V5 cyBhcmUgcHJvcGVydGllcywgYXMgdXBjYXNlZAogc3RyaW5ncy4iCiAgIChvcmctd2l0aC1wb2lu dC1hdCBwb20KICAgICAod2hlbiAoYW5kIChkZXJpdmVkLW1vZGUtcCAnb3JnLW1vZGUpCi0JICAg ICAgIChpZ25vcmUtZXJyb3JzIChvcmctYmFjay10by1oZWFkaW5nIHQpKSkKKwkgICAgICAgKG9y Zy1iYWNrLXRvLWhlYWRpbmctb3ItcG9pbnQtbWluIHQpKQogICAgICAgKGNhdGNoICdleGl0CiAJ KGxldCogKChiZWcgKHBvaW50KSkKIAkgICAgICAgKHNwZWNpZmljIChhbmQgKHN0cmluZ3Agd2hp Y2gpICh1cGNhc2Ugd2hpY2gpKSkKQEAgLTEzMjM4LDEzICsxMzI4NiwxMyBAQCB1bmxlc3MgTElU RVJBTC1OSUwgaXMgbm9uLW5pbC4iCiAJOzsgUmV0dXJuIGZpbmFsIHZhbHVlcy4KIAkoYW5kIChu b3QgKGVxdWFsIHZhbHVlICcobmlsKSkpIChucmV2ZXJzZSB2YWx1ZSkpKSkpKQogCi0oZGVmdW4g b3JnLS1wcm9wZXJ0eS1nbG9iYWwtdmFsdWUgKHByb3BlcnR5IGxpdGVyYWwtbmlsKQotICAiUmV0 dXJuIHZhbHVlIGZvciBQUk9QRVJUWSBpbiBjdXJyZW50IGJ1ZmZlci4KKyhkZWZ1biBvcmctLXBy b3BlcnR5LWdsb2JhbC1vci1rZXl3b3JkLXZhbHVlIChwcm9wZXJ0eSBsaXRlcmFsLW5pbCkKKyAg IlJldHVybiB2YWx1ZSBmb3IgUFJPUEVSVFkgYXMgZGVmaW5lZCBieSBnbG9iYWwgcHJvcGVydGll cyBvciBieSBrZXl3b3JkLgogUmV0dXJuIHZhbHVlIGlzIGEgc3RyaW5nLiAgUmV0dXJuIG5pbCBp ZiBwcm9wZXJ0eSBpcyBub3Qgc2V0Ci1nbG9iYWxseS4gIEFsc28gcmV0dXJuIG5pbCB3aGVuIFBS T1BFUlRZIGlzIHNldCB0byBcIm5pbFwiLAotdW5sZXNzIExJVEVSQUwtTklMIGlzIG5vbi1uaWwu IgorZ2xvYmFsbHkgb3IgYnkga2V5d29yZC4gIEFsc28gcmV0dXJuIG5pbCB3aGVuIFBST1BFUlRZ IGlzIHNldCB0bworXCJuaWxcIiwgdW5sZXNzIExJVEVSQUwtTklMIGlzIG5vbi1uaWwuIgogICAo bGV0ICgoZ2xvYmFsCi0JIChjZHIgKG9yIChhc3NvYy1zdHJpbmcgcHJvcGVydHkgb3JnLWZpbGUt cHJvcGVydGllcyB0KQorCSAoY2RyIChvciAoYXNzb2Mtc3RyaW5nIHByb3BlcnR5IG9yZy1rZXl3 b3JkLXByb3BlcnRpZXMgdCkKIAkJICAoYXNzb2Mtc3RyaW5nIHByb3BlcnR5IG9yZy1nbG9iYWwt cHJvcGVydGllcyB0KQogCQkgIChhc3NvYy1zdHJpbmcgcHJvcGVydHkgb3JnLWdsb2JhbC1wcm9w ZXJ0aWVzLWZpeGVkIHQpKSkpKQogICAgIChpZiBsaXRlcmFsLW5pbCBnbG9iYWwgKG9yZy1ub3Qt bmlsIGdsb2JhbCkpKSkKQEAgLTEzMzkzLDEyICsxMzQ0MSwxMiBAQCBIb3dldmVyLCBpZiBMSVRF UkFMLU5JTCBpcyBzZXQsIHJldHVybiB0aGUgc3RyaW5nIHZhbHVlIFwibmlsXCIgaW5zdGVhZC4i CiAJCQkgICB2YWx1ZSkpKQogCSAgIChjb25kCiAJICAgICgoY2FyIHYpCi0JICAgICAob3JnLWJh Y2stdG8taGVhZGluZyB0KQorCSAgICAgKG9yZy1iYWNrLXRvLWhlYWRpbmctb3ItcG9pbnQtbWlu IHQpCiAJICAgICAobW92ZS1tYXJrZXIgb3JnLWVudHJ5LXByb3BlcnR5LWluaGVyaXRlZC1mcm9t IChwb2ludCkpCiAJICAgICAodGhyb3cgJ2V4aXQgbmlsKSkKLQkgICAgKChvcmctdXAtaGVhZGlu Zy1zYWZlKSkKKwkgICAgKChvcmctdXAtaGVhZGluZy1vci1wb2ludC1taW4pKQogCSAgICAodAot CSAgICAgKGxldCAoKGdsb2JhbCAob3JnLS1wcm9wZXJ0eS1nbG9iYWwtdmFsdWUgcHJvcGVydHkg bGl0ZXJhbC1uaWwpKSkKKwkgICAgIChsZXQgKChnbG9iYWwgKG9yZy0tcHJvcGVydHktZ2xvYmFs LW9yLWtleXdvcmQtdmFsdWUgcHJvcGVydHkgbGl0ZXJhbC1uaWwpKSkKIAkgICAgICAgKGNvbmQg KChub3QgZ2xvYmFsKSkKIAkJICAgICAodmFsdWUgKHNldHEgdmFsdWUgKGNvbmNhdCBnbG9iYWwg IiAiIHZhbHVlKSkpCiAJCSAgICAgKHQgKHNldHEgdmFsdWUgZ2xvYmFsKSkpKQpAQCAtMTM0MzAs OCArMTM0NzgsOCBAQCBkZWNyZWFzZXMgc2NoZWR1bGVkIG9yIGRlYWRsaW5lIGRhdGUgYnkgb25l IGRheS4iCiAJICh1c2VyLWVycm9yICJJbnZhbGlkIHByb3BlcnR5IG5hbWU6IFwiJXNcIiIgcHJv cGVydHkpKSkKICAgKG9yZy13aXRoLXBvaW50LWF0IHBvbQogICAgIChpZiAob3IgKG5vdCAoZmVh dHVyZXAgJ29yZy1pbmxpbmV0YXNrKSkgKG9yZy1pbmxpbmV0YXNrLWluLXRhc2stcCkpCi0JKG9y Zy1iYWNrLXRvLWhlYWRpbmcgdCkKLSAgICAgIChvcmctd2l0aC1saW1pdGVkLWxldmVscyAob3Jn LWJhY2stdG8taGVhZGluZyB0KSkpCisJKG9yZy1iYWNrLXRvLWhlYWRpbmctb3ItcG9pbnQtbWlu IHQpCisgICAgICAob3JnLXdpdGgtbGltaXRlZC1sZXZlbHMgKG9yZy1iYWNrLXRvLWhlYWRpbmct b3ItcG9pbnQtbWluIHQpKSkKICAgICAobGV0ICgoYmVnIChwb2ludCkpKQogICAgICAgKGNvbmQK ICAgICAgICAoKGVxdWFsIHByb3BlcnR5ICJUT0RPIikKQEAgLTEzNTY3LDE5ICsxMzYxNSwyNiBA QCBDT0xVTU4gZm9ybWF0cyBpbiB0aGUgY3VycmVudCBidWZmZXIuIgogRG8gbm90aGluZyBpZiB0 aGUgZHJhd2VyIGFscmVhZHkgZXhpc3RzLiAgVGhlIG5ld2x5IGNyZWF0ZWQKIGRyYXdlciBpcyBp bW1lZGlhdGVseSBoaWRkZW4uIgogICAob3JnLXdpdGgtd2lkZS1idWZmZXIKKyAgIDs7IFNldCBw b2ludCB0byB0aGUgcG9zaXRpb24gd2hlcmUgdGhlIGRyYXdlciBzaG91bGQgYmUgaW5zZXJ0ZWQu CiAgICAoaWYgKG9yIChub3QgKGZlYXR1cmVwICdvcmctaW5saW5ldGFzaykpIChvcmctaW5saW5l dGFzay1pbi10YXNrLXApKQotICAgICAgIChvcmctYmFjay10by1oZWFkaW5nIHQpCi0gICAgIChv cmctd2l0aC1saW1pdGVkLWxldmVscyAob3JnLWJhY2stdG8taGVhZGluZyB0KSkpCi0gICAoZm9y d2FyZC1saW5lKQotICAgKHdoZW4gKGxvb2tpbmctYXQtcCBvcmctcGxhbm5pbmctbGluZS1yZSkg KGZvcndhcmQtbGluZSkpCisgICAgICAgKG9yZy1iYWNrLXRvLWhlYWRpbmctb3ItcG9pbnQtbWlu IHQpCisgICAgIChvcmctd2l0aC1saW1pdGVkLWxldmVscyAob3JnLWJhY2stdG8taGVhZGluZy1v ci1wb2ludC1taW4gdCkpKQorICAgKGlmIChvcmctYmVmb3JlLWZpcnN0LWhlYWRpbmctcCkKKyAg ICAgICAod2hpbGUgKGFuZCAoYm9scCkgKG9yIChvcmctYXQta2V5d29yZC1wKSAob3JnLWF0LWNv bW1lbnQtcCkpKSAoZm9yd2FyZC1saW5lKSkKKyAgICAgKHByb2duCisgICAgICAgKGZvcndhcmQt bGluZSkKKyAgICAgICAod2hlbiAobG9va2luZy1hdC1wIG9yZy1wbGFubmluZy1saW5lLXJlKSAo Zm9yd2FyZC1saW5lKSkpKQogICAgKHVubGVzcyAobG9va2luZy1hdC1wIG9yZy1wcm9wZXJ0eS1k cmF3ZXItcmUpCiAgICAgIDs7IE1ha2Ugc3VyZSB3ZSBzdGFydCBlZGl0aW5nIGEgbGluZSBmcm9t IGN1cnJlbnQgZW50cnksIG5vdCBmcm9tCiAgICAgIDs7IG5leHQgb25lLiAgSXQgcHJldmVudHMg ZXh0ZW5kaW5nIHRleHQgcHJvcGVydGllcyBvciBvdmVybGF5cwogICAgICA7OyBiZWxvbmdpbmcg dG8gdGhlIGxhdHRlci4KLSAgICAgKHdoZW4gKGJvbHApIChiYWNrd2FyZC1jaGFyKSkKLSAgICAg KGxldCAoKGJlZ2luICgxKyAocG9pbnQpKSkKKyAgICAgKHdoZW4gKGFuZCAoYm9scCkgKD4gKHBv aW50KSAocG9pbnQtbWluKSkpIChiYWNrd2FyZC1jaGFyKSkKKyAgICAgKGxldCAoKGJlZ2luIChp ZiAoPSAocG9pbnQpIChwb2ludC1taW4pKQorCQkgICAgICAocG9pbnQpCisJCSAgICAoMSsgKHBv aW50KSkpKQogCSAgIChpbmhpYml0LXJlYWQtb25seSB0KSkKLSAgICAgICAoaW5zZXJ0ICJcbjpQ Uk9QRVJUSUVTOlxuOkVORDoiKQorICAgICAgICh1bmxlc3MgKD0gYmVnaW4gKHBvaW50LW1pbikp IChpbnNlcnQgIlxuIikpCisgICAgICAgKGluc2VydCAiOlBST1BFUlRJRVM6XG46RU5EOiIpCiAg ICAgICAgKG9yZy1mbGFnLWRyYXdlciB0IG5pbCAobGluZS1lbmQtcG9zaXRpb24gMCkgKHBvaW50 KSkKICAgICAgICAod2hlbiAoZW9icCkgKGluc2VydCAiXG4iKSkKICAgICAgICAob3JnLWluZGVu dC1yZWdpb24gYmVnaW4gKHBvaW50KSkpKSkpCkBAIC0yMDQ4NCw2ICsyMDUzOSwxNSBAQCBpbnRl cmFjdGl2ZSBjb21tYW5kIHdpdGggc2ltaWxhciBiZWhhdmlvci4iCiAgICAgKGVycm9yIChlcnJv ciAiQmVmb3JlIGZpcnN0IGhlYWRsaW5lIGF0IHBvc2l0aW9uICVkIGluIGJ1ZmZlciAlcyIKIAkJ ICAocG9pbnQpIChjdXJyZW50LWJ1ZmZlcikpKSkpCiAKKyhkZWZ1biBvcmctYmFjay10by1oZWFk aW5nLW9yLXBvaW50LW1pbiAoJm9wdGlvbmFsIGludmlzaWJsZS1vaykKKyAgIkdvIGJhY2sgdG8g aGVhZGluZyBvciBmaXJzdCBwb2ludCBpbiBidWZmZXIuCitJZiBwb2ludCBpcyBiZWZvcmUgZmly c3QgaGVhZGluZyBnbyB0byBmaXJzdCBwb2ludCBpbiBidWZmZXIKK2luc3RlYWQgb2YgYmFjayB0 byBoZWFkaW5nLiIKKyAgKGNvbmRpdGlvbi1jYXNlIG5pbAorICAgICAgKG91dGxpbmUtYmFjay10 by1oZWFkaW5nIGludmlzaWJsZS1vaykKKyAgICAoZXJyb3IKKyAgICAgKGdvdG8tY2hhciAocG9p bnQtbWluKSkpKSkKKwogKGRlZnVuIG9yZy1iZWZvcmUtZmlyc3QtaGVhZGluZy1wICgpCiAgICJC ZWZvcmUgZmlyc3QgaGVhZGluZz8iCiAgIChvcmctd2l0aC1saW1pdGVkLWxldmVscwpAQCAtMjA1 MTcsNiArMjA1ODEsMTIgQEAgdW5sZXNzIG9wdGlvbmFsIGFyZ3VtZW50IE5PLUlOSEVSSVRBTkNF IGlzIG5vbi1uaWwuIgogICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQogICAgICAgKGxvb2tpbmct YXQgIl5bIFx0XSojICIpKSkpCiAKKyhkZWZ1biBvcmctYXQta2V5d29yZC1wIG5pbAorICAiUmV0 dXJuIHQgaWYgY3Vyc29yIGlzIGF0IGEga2V5d29yZC1saW5lLiIKKyAgKHNhdmUtZXhjdXJzaW9u CisgICAgKG1vdmUtYmVnaW5uaW5nLW9mLWxpbmUgMSkKKyAgICAobG9va2luZy1hdCBvcmcta2V5 d29yZC1yZWdleHApKSkKKwogKGRlZnVuIG9yZy1hdC1kcmF3ZXItcCBuaWwKICAgIlJldHVybiB0 IGlmIGN1cnNvciBpcyBhdCBhIGRyYXdlciBrZXl3b3JkLiIKICAgKHNhdmUtZXhjdXJzaW9uCkBA IC0yMDU2NCw2ICsyMDYzNCwxNyBAQCBtYWtlIGEgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZSBpbiBv dXRsaW5lcyB3aXRoIHZlcnkgbWFueSBzaWJsaW5ncy4iCiAJICAgKHJlLXNlYXJjaC1iYWNrd2Fy ZCAoZm9ybWF0ICJeXFwqXFx7MSwlZFxcfSAiIGxldmVsLXVwKSBuaWwgdCkKIAkgICAoZnVuY2Fs bCBvdXRsaW5lLWxldmVsKSkpKSkKIAorKGRlZnVuIG9yZy11cC1oZWFkaW5nLW9yLXBvaW50LW1p biAoKQorICAiTW92ZSB0byB0aGUgaGVhZGluZyBsaW5lIG9mIHdoaWNoIHRoZSBwcmVzZW50IGlz IGEgc3ViaGVhZGluZywgb3IgcG9pbnQtbWluLgorVGhpcyB2ZXJzaW9uIGlzIG5lZWRlZCB0byBt YWtlIHBvaW50LW1pbiBiZWhhdmUgbGlrZSBhIHZpcnR1YWwKK2hlYWRpbmcgb2YgbGV2ZWwgMCBm b3IgcHJvcGVydHktaW5oZXJpdGFuY2UuICBJdCB3aWxsIHJldHVybiB0aGUKK2xldmVsIG9mIHRo ZSBoZWFkbGluZSBmb3VuZCAoZG93biB0byAwKSBvciBuaWwgaWYgYWxyZWFkeSBhdCBhCitwb2lu dCBiZWZvcmUgdGhlIGZpcnN0IGhlYWRsaW5lIG9yIGF0IHBvaW50LW1pbi4iCisgICh3aGVuIChp Z25vcmUtZXJyb3JzIChvcmctYmFjay10by1oZWFkaW5nIHQpKQorICAgIChpZiAoPCAxIChmdW5j YWxsIG91dGxpbmUtbGV2ZWwpKQorCShvcmctdXAtaGVhZGluZy1zYWZlKQorICAgICAgKHVubGVz cyAoPSAocG9pbnQpIChwb2ludC1taW4pKSAoZ290by1jaGFyIChwb2ludC1taW4pKSkpKSkKKwog KGRlZnVuIG9yZy1maXJzdC1zaWJsaW5nLXAgKCkKICAgIklzIHRoaXMgaGVhZGluZyB0aGUgZmly c3QgY2hpbGQgb2YgaXRzIHBhcmVudHM/IgogICAoaW50ZXJhY3RpdmUpCkBAIC0yMDY2NCwyOCAr MjA3NDUsMzEgQEAgSWYgdGhlcmUgaXMgbm8gc3VjaCBoZWFkaW5nLCByZXR1cm4gbmlsLiIKIChk ZWZ1biBvcmctZW5kLW9mLXN1YnRyZWUgKCZvcHRpb25hbCBpbnZpc2libGUtb2sgdG8taGVhZGlu ZykKICAgIkdvdG8gdG8gdGhlIGVuZCBvZiBhIHN1YnRyZWUuIgogICA7OyBUaGlzIGNvbnRhaW5z IGFuIGV4YWN0IGNvcHkgb2YgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uLCBidXQgaXQgdXNlcwotICA7 OyBgb3JnLWJhY2stdG8taGVhZGluZycsIHRvIG1ha2UgaXQgd29yayBhbHNvIGluIGludmlzaWJs ZQotICA7OyB0cmVlcy4gIEFuZCBpcyB1c2VzIGFuIGludmlzaWJsZS1vayBhcmd1bWVudC4KKyAg OzsgYG9yZy1iYWNrLXRvLWhlYWRpbmctb3ItcG9pbnQtbWluJywgdG8gbWFrZSBpdCB3b3JrIGFs c28gaW4gaW52aXNpYmxlCisgIDs7IHRyZWVzIGFuZCBiZWZvcmUgZmlyc3QgaGVhZGxpbmUuICBB bmQgaXMgdXNlcyBhbiBpbnZpc2libGUtb2sgYXJndW1lbnQuCiAgIDs7IFVuZGVyIEVtYWNzIHRo aXMgaXMgbm90IG5lZWRlZCwgYnV0IHRoZSBvbGQgb3V0bGluZS5lbCBuZWVkcyB0aGlzIGZpeC4K ICAgOzsgRnVydGhlcm1vcmUsIHdoZW4gdXNlZCBpbnNpZGUgT3JnLCBmaW5kaW5nIHRoZSBlbmQg b2YgYSBsYXJnZSBzdWJ0cmVlCiAgIDs7IHdpdGggbWFueSBjaGlsZHJlbiBhbmQgZ3JhbmRjaGls ZHJlbiBldGMsIHRoaXMgY2FuIGJlIG11Y2ggZmFzdGVyCiAgIDs7IHRoYW4gdGhlIG91dGxpbmUg dmVyc2lvbi4KLSAgKG9yZy1iYWNrLXRvLWhlYWRpbmcgaW52aXNpYmxlLW9rKQorICAob3JnLWJh Y2stdG8taGVhZGluZy1vci1wb2ludC1taW4gaW52aXNpYmxlLW9rKQogICAobGV0ICgoZmlyc3Qg dCkKIAkobGV2ZWwgKGZ1bmNhbGwgb3V0bGluZS1sZXZlbCkpKQotICAgIChpZiAoYW5kIChkZXJp dmVkLW1vZGUtcCAnb3JnLW1vZGUpICg8IGxldmVsIDEwMDApKQotCTs7IEEgdHJ1ZSBoZWFkaW5n IChub3QgYSBwbGFpbiBsaXN0IGl0ZW0pLCBpbiBPcmcKLQk7OyBUaGlzIG1lYW5zIHdlIGNhbiBl YXNpbHkgZmluZCB0aGUgZW5kIGJ5IGxvb2tpbmcKLQk7OyBvbmx5IGZvciB0aGUgcmlnaHQgbnVt YmVyIG9mIHN0YXJzLiAgVXNpbmcgYSByZWdleHAgdG8gZG8KLQk7OyB0aGlzIGlzIHNvIG11Y2gg ZmFzdGVyIHRoYW4gdXNpbmcgYSBMaXNwIGxvb3AuCi0JKGxldCAoKHJlIChjb25jYXQgIl5cXCpc XHsxLCIgKGludC10by1zdHJpbmcgbGV2ZWwpICJcXH0gIikpKQotCSAgKGZvcndhcmQtY2hhciAx KQotCSAgKGFuZCAocmUtc2VhcmNoLWZvcndhcmQgcmUgbmlsICdtb3ZlKSAoYmVnaW5uaW5nLW9m LWxpbmUgMSkpKQotICAgICAgOzsgc29tZXRoaW5nIGVsc2UsIGRvIGl0IHRoZSBzbG93IHdheQot ICAgICAgKHdoaWxlIChhbmQgKG5vdCAoZW9icCkpCi0JCSAgKG9yIGZpcnN0ICg+IChmdW5jYWxs IG91dGxpbmUtbGV2ZWwpIGxldmVsKSkpCi0JKHNldHEgZmlyc3QgbmlsKQotCShvdXRsaW5lLW5l eHQtaGVhZGluZykpKQorICAgIChjb25kICgoPSBsZXZlbCAwKQorCSAgIChnb3RvLWNoYXIgKHBv aW50LW1heCkpKQorCSAgKChhbmQgKGRlcml2ZWQtbW9kZS1wICdvcmctbW9kZSkgKDwgbGV2ZWwg MTAwMCkpCisJICAgOzsgQSB0cnVlIGhlYWRpbmcgKG5vdCBhIHBsYWluIGxpc3QgaXRlbSksIGlu IE9yZworCSAgIDs7IFRoaXMgbWVhbnMgd2UgY2FuIGVhc2lseSBmaW5kIHRoZSBlbmQgYnkgbG9v a2luZworCSAgIDs7IG9ubHkgZm9yIHRoZSByaWdodCBudW1iZXIgb2Ygc3RhcnMuICBVc2luZyBh IHJlZ2V4cCB0byBkbworCSAgIDs7IHRoaXMgaXMgc28gbXVjaCBmYXN0ZXIgdGhhbiB1c2luZyBh IExpc3AgbG9vcC4KKwkgICAobGV0ICgocmUgKGNvbmNhdCAiXlxcKlxcezEsIiAoaW50LXRvLXN0 cmluZyBsZXZlbCkgIlxcfSAiKSkpCisJICAgICAoZm9yd2FyZC1jaGFyIDEpCisJICAgICAoYW5k IChyZS1zZWFyY2gtZm9yd2FyZCByZSBuaWwgJ21vdmUpIChiZWdpbm5pbmctb2YtbGluZSAxKSkp KQorCSAgKHQKKwkgICA7OyBzb21ldGhpbmcgZWxzZSwgZG8gaXQgdGhlIHNsb3cgd2F5CisJICAg KHdoaWxlIChhbmQgKG5vdCAoZW9icCkpCisJCSAgICAgICAob3IgZmlyc3QgKD4gKGZ1bmNhbGwg b3V0bGluZS1sZXZlbCkgbGV2ZWwpKSkKKwkgICAgIChzZXRxIGZpcnN0IG5pbCkKKwkgICAgIChv dXRsaW5lLW5leHQtaGVhZGluZykpKSkKICAgICAodW5sZXNzIHRvLWhlYWRpbmcKICAgICAgICh3 aGVuIChtZW1xIChwcmVjZWRpbmctY2hhcikgJyg/XG4gP1xeTSkpCiAJOzsgR28gdG8gZW5kIG9m IGxpbmUgYmVmb3JlIGhlYWRpbmcKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvZXhhbXBsZXMvcHJvcGVy dHktaW5oZXJpdGFuY2Uub3JnIGIvdGVzdGluZy9leGFtcGxlcy9wcm9wZXJ0eS1pbmhlcml0YW5j ZS5vcmcKaW5kZXggNjk3OWRlNTk1Li45YzBiN2U2NjIgMTAwNjQ0Ci0tLSBhL3Rlc3RpbmcvZXhh bXBsZXMvcHJvcGVydHktaW5oZXJpdGFuY2Uub3JnCisrKyBiL3Rlc3RpbmcvZXhhbXBsZXMvcHJv cGVydHktaW5oZXJpdGFuY2Uub3JnCkBAIC0xLDUgKzEsNyBAQAotIytwcm9wZXJ0eTogaGVhZGVy LWFyZ3MgOnZhciAgZm9vPTEKLSMrcHJvcGVydHk6IGhlYWRlci1hcmdzKyA6dmFyIGJhcj0yCis6 UFJPUEVSVElFUzoKKzpoZWFkZXItYXJnczogOnZhciBmb289MQorOmhlYWRlci1hcmdzKzogOnZh ciBiYXI9MgorOkVORDoKIAogIytiZWdpbl9zcmMgZW1hY3MtbGlzcAogICAoKyBmb28gYmFyKQpk aWZmIC0tZ2l0IGEvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLWVsZW1lbnQuZWwgYi90ZXN0aW5nL2xp c3AvdGVzdC1vcmctZWxlbWVudC5lbAppbmRleCBmMmFiMzgwMzEuLjE0MDhlNmJlNSAxMDA2NDQK LS0tIGEvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLWVsZW1lbnQuZWwKKysrIGIvdGVzdGluZy9saXNw L3Rlc3Qtb3JnLWVsZW1lbnQuZWwKQEAgLTE5MjUsNiArMTkyNSwxNSBAQCBlXntpXFxwaX0rMT0w CiAJICAgIChsZXQgKChlbGVtZW50IChvcmctZWxlbWVudC1hdC1wb2ludCkpKQogCSAgICAgIChs aXN0IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6a2V5IGVsZW1lbnQpCiAJCSAgICAob3JnLWVsZW1l bnQtcHJvcGVydHkgOnZhbHVlIGVsZW1lbnQpKSkpKSkKKyAgOzsgVGhlIGluc2lkZXMgb2YgcHJv cGVydHkgYmxvY2tzIG9uIGRvY3VtZW50IGxldmVsIGFyZSBwYXJzZWQgdGhlCisgIDs7IHNhbWUg d2F5IGFzIGhlYWRsaW5lIHByb3BlcnR5IGJsb2Nrcy4gIEkuZS4gdGhlIGNvbmNlcHQgb2YKKyAg OzsgYG5vZGUtcHJvcGVydHknIGFwcGx5IGFsc28gZm9yIHByb3BlcnRpZXMgaW4gdGhvc2UgYmxv Y2tzLgorICAoc2hvdWxkCisgICAoZXF1YWwgJygiYWJjIiAidmFsdWUiKQorCSAgKG9yZy10ZXN0 LXdpdGgtdGVtcC10ZXh0ICI6UFJPUEVSVElFUzpcbjxwb2ludD46YWJjOiB2YWx1ZVxuOkVORDoi CisJICAgIChsZXQgKChlbGVtZW50IChvcmctZWxlbWVudC1hdC1wb2ludCkpKQorCSAgICAgIChs aXN0IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6a2V5IGVsZW1lbnQpCisJCSAgICAob3JnLWVsZW1l bnQtcHJvcGVydHkgOnZhbHVlIGVsZW1lbnQpKSkpKSkKICAgOzsgVmFsdWUgc2hvdWxkIGJlIHRy aW1tZWQuCiAgIChzaG91bGQKICAgIChlcXVhbCAidmFsdWUiCkBAIC0yMTExLDYgKzIxMjAsMTgg QEAgT3V0c2lkZSBsaXN0IgogICAgICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAogCSAgICIq IEhcbkRFQURMSU5FOiA8MjAxNC0wMy0wNCB0dWUuPlxuPHBvaW50PjpQUk9QRVJUSUVTOlxuOnBy b3A6IHZhbHVlXG46RU5EOiIKIAkgKG9yZy1lbGVtZW50LXR5cGUgKG9yZy1lbGVtZW50LWF0LXBv aW50KSkpKSkKKyAgKHNob3VsZAorICAgKGVxICdwcm9wZXJ0eS1kcmF3ZXIKKyAgICAgICAob3Jn LXRlc3Qtd2l0aC10ZW1wLXRleHQgIjxwb2ludD46UFJPUEVSVElFUzpcbjpwcm9wOiB2YWx1ZVxu OkVORDoiCisJIChvcmctZWxlbWVudC10eXBlIChvcmctZWxlbWVudC1hdC1wb2ludCkpKSkpCisg IChzaG91bGQKKyAgIChlcSAncHJvcGVydHktZHJhd2VyCisgICAgICAgKG9yZy10ZXN0LXdpdGgt dGVtcC10ZXh0ICIjIENcbiMrS2V5OiBWXG4jIENcbjxwb2ludD46UFJPUEVSVElFUzpcbjpwcm9w OiB2YWx1ZVxuOkVORDoiCisJIChvcmctZWxlbWVudC10eXBlIChvcmctZWxlbWVudC1hdC1wb2lu dCkpKSkpCisgIChzaG91bGQtbm90CisgICAoZXEgJ3Byb3BlcnR5LWRyYXdlcgorICAgICAgIChv cmctdGVzdC13aXRoLXRlbXAtdGV4dCAiXG48cG9pbnQ+OlBST1BFUlRJRVM6XG46cHJvcDogdmFs dWVcbjpFTkQ6IgorCSAob3JnLWVsZW1lbnQtdHlwZSAob3JnLWVsZW1lbnQtYXQtcG9pbnQpKSkp KQogICA7OyBBbGxvdyBwcm9wZXJ0aWVzIHdpdGhvdXQgdmFsdWUgYW5kIG5vIHByb3BlcnR5IGF0 IGFsbC4KICAgKHNob3VsZAogICAgKGVxICdwcm9wZXJ0eS1kcmF3ZXIKZGlmZiAtLWdpdCBhL3Rl c3RpbmcvbGlzcC90ZXN0LW9yZy5lbCBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy5lbAppbmRleCAy MTVkOGZkYjAuLjFiM2ZiNDhiYiAxMDA2NDQKLS0tIGEvdGVzdGluZy9saXNwL3Rlc3Qtb3JnLmVs CisrKyBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy5lbApAQCAtMzg2LDEwICszODYsMTE2IEBACiAM CiA7OzsgRHJhd2VycwogCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmcvYXQtcHJvcGVydHktcCAoKQor ICAiVGVzdCBgb3JnLWF0LXByb3BlcnR5LXAnIHNwZWNpZmljYXRpb25zLiIKKyAgKHNob3VsZAor ICAgKGVxdWFsICd0CisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiogSFxuOlBST1BFUlRJ RVM6XG48cG9pbnQ+OlBST1A6IHRcbjpFTkQ6XG4iCisJICAgIChvcmctYXQtcHJvcGVydHktcCkp KSkKKyAgKHNob3VsZAorICAgKGVxdWFsICd0CisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQg IjpQUk9QRVJUSUVTOlxuPHBvaW50PjpQUk9QOiB0XG46RU5EOlxuIgorCSAgICAob3JnLWF0LXBy b3BlcnR5LXApKSkpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmcvYXQtcHJvcGVydHktYmxvY2st cCAoKQorICAiVGVzdCBgb3JnLWF0LXByb3BlcnR5LWJsb2NrLXAnIHNwZWNpZmljYXRpb25zLiIK KyAgKHNob3VsZAorICAgKGVxdWFsICd0CisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiog SFxuPHBvaW50PjpQUk9QRVJUSUVTOlxuOlBST1A6IHRcbjpFTkQ6XG4iCisJICAgIChvcmctYXQt cHJvcGVydHktYmxvY2stcCkpKSkKKyAgKHNob3VsZAorICAgKGVxdWFsICd0CisJICAob3JnLXRl c3Qtd2l0aC10ZW1wLXRleHQgIjpQUk9QRVJUSUVTOlxuOlBST1A6IHRcbjpFTkQ6XG4iCisJICAg IChvcmctYXQtcHJvcGVydHktYmxvY2stcCkpKSkKKyAgOzsgVGhlIGZ1bmN0aW9uIG9ubHkgcmV0 dXJucyB0IGlmIHBvaW50IGlzIGF0IHRoZSBmaXJzdCBsaW5lIG9mIGEKKyAgOzsgcHJvcGVydHkg YmxvY2suCisgIChzaG91bGQtbm90CisgICAoZXF1YWwgJ3QKKwkgIChvcmctdGVzdC13aXRoLXRl bXAtdGV4dCAiOlBST1BFUlRJRVM6XG48cG9pbnQ+OlBST1A6IHRcbjpFTkQ6XG4iCisJICAgIChv cmctYXQtcHJvcGVydHktYmxvY2stcCkpKSkpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy9nZXQt cHJvcGVydHktYmxvY2sgKCkKKyAgIlRlc3QgYG9yZy1nZXQtcHJvcGVydHktYmxvY2snIHNwZWNp ZmljYXRpb25zLiIKKyAgKHNob3VsZAorICAgKGVxdWFsICcoMTQgLiAxNCkKKwkgIChvcmctdGVz dC13aXRoLXRlbXAtdGV4dCAiOlBST1BFUlRJRVM6XG46RU5EOlxuKiBIXG4iCisJICAgIChvcmct Z2V0LXByb3BlcnR5LWJsb2NrKSkpKQorICAoc2hvdWxkCisgICAoZXF1YWwgJygxNCAuIDE0KQor CSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICI6UFJPUEVSVElFUzpcbjpFTkQ6XG4iCisJICAg IChvcmctZ2V0LXByb3BlcnR5LWJsb2NrKSkpKQorICA7OyBDb21tZW50cyBhYm92ZSBhIGRvY3Vt ZW50IHByb3BlcnR5IGJsb2NrIGlzIG9rLgorICAoc2hvdWxkCisgICAoZXF1YWwgJygxOCAuIDE4 KQorCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIjIENcbjpQUk9QRVJUSUVTOlxuOkVORDpc biIKKwkgICAgKG9yZy1nZXQtcHJvcGVydHktYmxvY2spKSkpCisgIDs7IEtleXdvcmRzIGFib3Zl IGEgZG9jdW1lbnQgcHJvcGVydHkgYmxvY2sgaXMgb2suCisgIChzaG91bGQKKyAgIChlcXVhbCAn KDIzIC4gMjMpCisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiMrS2V5OiB2XG46UFJPUEVS VElFUzpcbjpFTkQ6XG4iCisJICAgIChvcmctZ2V0LXByb3BlcnR5LWJsb2NrKSkpKQorICA7OyBD b21tZW50cyBhbmQga2V5d29yZHMgYXJlIGFsbG93ZWQgYmVmb3JlIGEgZG9jdW1lbnQgcHJvcGVy dHkgYmxvY2suCisgIChzaG91bGQKKyAgIChlcXVhbCAnKDI3IC4gMzYpCisJICAob3JnLXRlc3Qt d2l0aC10ZW1wLXRleHQgIiMgQ1xuIytrZXk6IHZcbjpQUk9QRVJUSUVTOlxuOktFWTogVjpcbjpF TkQ6XG4iCisJICAgIChvcmctZ2V0LXByb3BlcnR5LWJsb2NrKSkpKQorICAoc2hvdWxkCisgICAo ZXF1YWwgJygzNiAuIDQ1KQorCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIjK0tleTogdlxu IyBDXG4jK0tleTogdlxuOlBST1BFUlRJRVM6XG46S0VZOiBWOlxuOkVORDpcbiIKKwkgICAgKG9y Zy1nZXQtcHJvcGVydHktYmxvY2spKSkpCisgIDs7IEEgZG9jdW1lbnQgcHJvcGVydHkgYmxvY2sg d2lsbCBub3QgYmUgdmFsaWQgaWYgdGhlcmUgYXJlIGxpbmVzCisgIDs7IHdpdGggd2hpdGVzcGFj ZSBhYm92ZSBpdAorICAoc2hvdWxkLW5vdAorICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICJc bjpQUk9QRVJUSUVTOlxuOkVORDpcbiIKKyAgICAgKG9yZy1nZXQtcHJvcGVydHktYmxvY2spKSkK KyAgKHNob3VsZAorICAgKGVxdWFsICcoMTggLiAxOCkKKwkgIChvcmctdGVzdC13aXRoLXRlbXAt dGV4dCAiKiBIXG46UFJPUEVSVElFUzpcbjpFTkQ6XG48cG9pbnQ+IgorCSAgICAob3JnLWdldC1w cm9wZXJ0eS1ibG9jaykpKSkKKyAgKHNob3VsZAorICAgKGVxdWFsICIqIEhcbjpQUk9QRVJUSUVT OlxuOkVORDpcbiIKKwkgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBIIgorCSAgICAobGV0 ICgob3JnLWFkYXB0LWluZGVudGF0aW9uIG5pbCkpCisJICAgICAgKG9yZy1nZXQtcHJvcGVydHkt YmxvY2sgbmlsICdmb3JjZSkpCisJICAgIChidWZmZXItc3RyaW5nKSkpKQorICAoc2hvdWxkCisg ICAoZXF1YWwgIjpQUk9QRVJUSUVTOlxuOkVORDpcbiIKKwkgIChvcmctdGVzdC13aXRoLXRlbXAt dGV4dCAiIgorCSAgICAob3JnLWdldC1wcm9wZXJ0eS1ibG9jayBuaWwgJ2ZvcmNlKQorCSAgICAo YnVmZmVyLXN0cmluZykpKSkKKyAgKHNob3VsZAorICAgKGVxdWFsICIqIEgxXG4gIDpQUk9QRVJU SUVTOlxuICA6RU5EOlxuKiBIMiIKKwkgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBIMVxu KiBIMiIKKwkgICAgKGxldCAoKG9yZy1hZGFwdC1pbmRlbnRhdGlvbiB0KSkKKwkgICAgICAob3Jn LWdldC1wcm9wZXJ0eS1ibG9jayBuaWwgJ2ZvcmNlKSkKKwkgICAgKGJ1ZmZlci1zdHJpbmcpKSkp KQorCiAoZXJ0LWRlZnRlc3QgdGVzdC1vcmcvaW5zZXJ0LXByb3BlcnR5LWRyYXdlciAoKQogICAi VGVzdCBgb3JnLWluc2VydC1wcm9wZXJ0eS1kcmF3ZXInIHNwZWNpZmljYXRpb25zLiIKLSAgOzsg RXJyb3IgYmVmb3JlIGZpcnN0IGhlYWRsaW5lLgotICAoc2hvdWxkLWVycm9yIChvcmctdGVzdC13 aXRoLXRlbXAtdGV4dCAiIiAob3JnLWluc2VydC1wcm9wZXJ0eS1kcmF3ZXIpKSkKKyAgOzsgSW5z ZXJ0IGRyYXdlciBpbiBlbXB0eSBidWZmZXIKKyAgKHNob3VsZAorICAgKGVxdWFsICI6UFJPUEVS VElFUzpcbjpFTkQ6XG4iCisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiIKKwkgICAgKGxl dCAoKG9yZy1hZGFwdC1pbmRlbnRhdGlvbiBuaWwpKSAob3JnLWluc2VydC1wcm9wZXJ0eS1kcmF3 ZXIpKQorCSAgICAoYnVmZmVyLXN0cmluZykpKSkKKyAgOzsgSW5zZXJ0IGRyYXdlciBpbiBkb2N1 bWVudCBoZWFkZXIgd2l0aCBleGlzdGluZyBjb21tZW50IGFuZAorICA7OyBrZXl3b3JkLgorICAo c2hvdWxkCisgICAoZXF1YWwgIiMgQ1xuIytUSVRMRTogVFxuOlBST1BFUlRJRVM6XG46RU5EOlxu IgorCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIjIENcbiMrVElUTEU6IFQiCisJICAgIChs ZXQgKChvcmctYWRhcHQtaW5kZW50YXRpb24gbmlsKSkgKG9yZy1pbnNlcnQtcHJvcGVydHktZHJh d2VyKSkKKwkgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbCAiOlBS T1BFUlRJRVM6XG46RU5EOiIKKwkgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiOlBST1BFUlRJ RVM6XG46RU5EOiIKKwkgICAgKGxldCAoKG9yZy1hZGFwdC1pbmRlbnRhdGlvbiBuaWwpKSAob3Jn LWluc2VydC1wcm9wZXJ0eS1kcmF3ZXIpKQorCSAgICAoYnVmZmVyLXN0cmluZykpKSkKKyAgOzsg SW5zZXJ0IGRyYXdlciBpbiBkb2N1bWVudCBoZWFkZXIgd2l0aCBvbmUgZXhpc3RpbmcgaGVhZGlu ZyBpbiBidWZmZXIuCisgIChzaG91bGQKKyAgIChlcXVhbCAiOlBST1BFUlRJRVM6XG46RU5EOlxu KiBUXG4iCisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIjxwb2ludD5cbiogVFxuIgorCSAg ICAobGV0ICgob3JnLWFkYXB0LWluZGVudGF0aW9uIG5pbCkpIChvcmctaW5zZXJ0LXByb3BlcnR5 LWRyYXdlcikpCisJICAgIChidWZmZXItc3RyaW5nKSkpKQogICA7OyBJbnNlcnQgZHJhd2VyIHJp Z2h0IGFmdGVyIGhlYWRsaW5lIGlmIHRoZXJlIGlzIG5vIHBsYW5uaW5nIGxpbmUsCiAgIDs7IG9y IGFmdGVyIGl0IG90aGVyd2lzZS4KICAgKHNob3VsZApAQCAtMjE3OCwxOSArMjI4NCwxOSBAQCBT Q0hFRFVMRUQ6IDwyMDE0LTAzLTA0IHR1ZS4+IgogICAgKGVxdWFsICJmb289MSIKIAkgIChvcmct dGVzdC13aXRoLXRlbXAtdGV4dCAiIytQUk9QRVJUWTogdmFyIGZvbz0xIgogCSAgICAob3JnLW1v ZGUtcmVzdGFydCkKLQkgICAgKGNkciAoYXNzb2MgInZhciIgb3JnLWZpbGUtcHJvcGVydGllcykp KSkpCisJICAgIChjZHIgKGFzc29jICJ2YXIiIG9yZy1rZXl3b3JkLXByb3BlcnRpZXMpKSkpKQog ICAoc2hvdWxkCiAgICAoZXF1YWwKICAgICAiZm9vPTEgYmFyPTIiCiAgICAgKG9yZy10ZXN0LXdp dGgtdGVtcC10ZXh0ICIjK1BST1BFUlRZOiB2YXIgZm9vPTFcbiMrUFJPUEVSVFk6IHZhcisgYmFy PTIiCiAgICAgICAob3JnLW1vZGUtcmVzdGFydCkKLSAgICAgIChjZHIgKGFzc29jICJ2YXIiIG9y Zy1maWxlLXByb3BlcnRpZXMpKSkpKQorICAgICAgKGNkciAoYXNzb2MgInZhciIgb3JnLWtleXdv cmQtcHJvcGVydGllcykpKSkpCiAgIChzaG91bGQKICAgIChlcXVhbAogICAgICJmb289MSBiYXI9 MiIKICAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiMrUFJPUEVSVFk6IHZhciBmb289MVxu IytQUk9QRVJUWTogVkFSKyBiYXI9MiIKICAgICAgIChvcmctbW9kZS1yZXN0YXJ0KQotICAgICAg KGNkciAoYXNzb2MgInZhciIgb3JnLWZpbGUtcHJvcGVydGllcykpKSkpCisgICAgICAoY2RyIChh c3NvYyAidmFyIiBvcmcta2V5d29yZC1wcm9wZXJ0aWVzKSkpKSkKICAgOzsgQVJDSElWRSBrZXl3 b3JkLgogICAoc2hvdWxkCiAgICAoZXF1YWwgIiVzX2RvbmU6OiIKQEAgLTIyMDcsNyArMjMxMyw3 IEBAIFNDSEVEVUxFRDogPDIwMTQtMDMtMDQgdHVlLj4iCiAgICAoZXF1YWwgInRlc3QiCiAJICAo b3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiMrQ0FURUdPUlk6IHRlc3QiCiAJICAgIChvcmctbW9k ZS1yZXN0YXJ0KQotCSAgICAoY2RyIChhc3NvYyAiQ0FURUdPUlkiIG9yZy1maWxlLXByb3BlcnRp ZXMpKSkpKQorCSAgICAoY2RyIChhc3NvYyAiQ0FURUdPUlkiIG9yZy1rZXl3b3JkLXByb3BlcnRp ZXMpKSkpKQogICA7OyBDT0xVTU5TIGtleXdvcmQuCiAgIChzaG91bGQKICAgIChlcXVhbCAiJTI1 SVRFTSAlVEFHUyAlUFJJT1JJVFkgJVRPRE8iCkBAIC0yMjkxLDcgKzIzOTcsNyBAQCBTQ0hFRFVM RUQ6IDwyMDE0LTAzLTA0IHR1ZS4+IgogCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CiAJICAg ICAgKGZvcm1hdCAiIytTRVRVUEZJTEU6IFwiJXMvZXhhbXBsZXMvc2V0dXBmaWxlLm9yZ1wiIiBv cmctdGVzdC1kaXIpCiAJICAgIChvcmctbW9kZS1yZXN0YXJ0KQotCSAgICAoY2RyIChhc3NvYyAi YSIgb3JnLWZpbGUtcHJvcGVydGllcykpKSkpKQorCSAgICAoY2RyIChhc3NvYyAiYSIgb3JnLWtl eXdvcmQtcHJvcGVydGllcykpKSkpKQogCiAKIAwKQEAgLTQ5NDEsNiArNTA0Nyw2NiBAQCBQYXJh Z3JhcGg8cG9pbnQ+IgogCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIqIEhcbjpQUk9QRVJU SUVTOlxuOkE6IDFcbjpBKzogMlxuOkVORDoiCiAJICAgIChvcmctcHJvcGVydHktdmFsdWVzICJB IikpKSkpCiAKKyhlcnQtZGVmdGVzdCB0ZXN0LW9yZy9zZXQtcHJvcGVydHkgKCkKKyAgIlRlc3Qg YG9yZy1zZXQtcHJvcGVydHknIHNwZWNpZmljYXRpb25zLiIKKyAgKHNob3VsZAorICAgKGVxdWFs CisgICAgIjpQUk9QRVJUSUVTOlxuOlRFU1Q6IHRcbjpFTkQ6XG4iCisgICAgKG9yZy10ZXN0LXdp dGgtdGVtcC10ZXh0ICIiCisgICAgICAobGV0ICgob3JnLXByb3BlcnR5LWZvcm1hdCAiJXMgJXMi KSkKKwkob3JnLXNldC1wcm9wZXJ0eSAiVEVTVCIgInQiKSkKKyAgICAgIChidWZmZXItc3RyaW5n KSkpKQorICAoc2hvdWxkCisgICAoZXF1YWwKKyAgICAiKiBIXG46UFJPUEVSVElFUzpcbjpURVNU OiB0XG46RU5EOlxuIgorICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBIIgorICAgICAg KGxldCAoKG9yZy1hZGFwdC1pbmRlbnRhdGlvbiBuaWwpCisJICAgIChvcmctcHJvcGVydHktZm9y bWF0ICIlcyAlcyIpKQorCShvcmctc2V0LXByb3BlcnR5ICJURVNUIiAidCIpKQorICAgICAgKGJ1 ZmZlci1zdHJpbmcpKSkpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1vcmcvZGVsZXRlLXByb3BlcnR5 ICgpCisgICJUZXN0IGBvcmctZGVsZXRlLXByb3BlcnR5JyBzcGVjaWZpY2F0aW9ucy4iCisgIChz aG91bGQKKyAgIChlcXVhbAorICAgICIiCisgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICI6 UFJPUEVSVElFUzpcbjpURVNUOiB0XG46RU5EOlxuIgorICAgICAgKG9yZy1kZWxldGUtcHJvcGVy dHkgIlRFU1QiKQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVh bAorICAgICI6UFJPUEVSVElFUzpcbjpURVNUMTogdFxuOkVORDpcbiIKKyAgICAob3JnLXRlc3Qt d2l0aC10ZW1wLXRleHQgIjpQUk9QRVJUSUVTOlxuOlRFU1QxOiB0XG46VEVTVDI6IHRcbjpFTkQ6 XG4iCisgICAgICAob3JnLWRlbGV0ZS1wcm9wZXJ0eSAiVEVTVDIiKQorICAgICAgKGJ1ZmZlci1z dHJpbmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbAorICAgICIqIEhcbiIKKyAgICAob3JnLXRl c3Qtd2l0aC10ZW1wLXRleHQgIiogSFxuOlBST1BFUlRJRVM6XG46VEVTVDogdFxuOkVORDpcbiIK KyAgICAgIChvcmctZGVsZXRlLXByb3BlcnR5ICJURVNUIikKKyAgICAgIChidWZmZXItc3RyaW5n KSkpKQorICAoc2hvdWxkCisgICAoZXF1YWwKKyAgICAiKiBIXG46UFJPUEVSVElFUzpcbjpURVNU MTogdFxuOkVORDpcbiIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiogSFxuOlBST1BF UlRJRVM6XG46VEVTVDE6IHRcbjpURVNUMjogdFxuOkVORDpcbiIKKyAgICAgIChvcmctZGVsZXRl LXByb3BlcnR5ICJURVNUMiIpCisgICAgICAoYnVmZmVyLXN0cmluZykpKSkpCisKKyhlcnQtZGVm dGVzdCB0ZXN0LW9yZy9kZWxldGUtcHJvcGVydHktZ2xvYmFsbHkgKCkKKyAgIlRlc3QgYG9yZy1k ZWxldGUtcHJvcGVydHktZ2xvYmFsJyBzcGVjaWZpY2F0aW9ucy4iCisgIChzaG91bGQKKyAgIChl cXVhbAorICAgICIiCisgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICI6UFJPUEVSVElFUzpc bjpURVNUOiB0XG46RU5EOlxuIgorICAgICAgKG9yZy1kZWxldGUtcHJvcGVydHktZ2xvYmFsbHkg IlRFU1QiKQorICAgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbAor ICAgICIqIEhcbiIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIjpQUk9QRVJUSUVTOlxu OlRFU1Q6IHRcbjpFTkQ6XG4qIEhcbjpQUk9QRVJUSUVTOlxuOlRFU1Q6IG5pbFxuOkVORDoiCisg ICAgICAob3JnLWRlbGV0ZS1wcm9wZXJ0eS1nbG9iYWxseSAiVEVTVCIpCisgICAgICAoYnVmZmVy LXN0cmluZykpKSkpCisKIChlcnQtZGVmdGVzdCB0ZXN0LW9yZy9maW5kLXByb3BlcnR5ICgpCiAg ICJUZXN0IGBvcmctZmluZC1wcm9wZXJ0eScgc3BlY2lmaWNhdGlvbnMuIgogICA7OyBSZWd1bGFy IHRlc3QuCkBAIC01MDIyLDYgKzUxODgsMTAgQEAgUGFyYWdyYXBoPHBvaW50PiIKIChlcnQtZGVm dGVzdCB0ZXN0LW9yZy9lbnRyeS1nZXQgKCkKICAgIlRlc3QgYG9yZy1lbnRyeS1nZXQnIHNwZWNp ZmljYXRpb25zLiIKICAgOzsgUmVndWxhciB0ZXN0LgorICAoc2hvdWxkCisgICAoZXF1YWwgIjEi CisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIjpQUk9QRVJUSUVTOlxuOkE6IDFcbjpFTkQ6 IgorCSAgICAob3JnLWVudHJ5LWdldCAocG9pbnQpICJBIikpKSkKICAgKHNob3VsZAogICAgKGVx dWFsICIxIgogCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIqIEhcbjpQUk9QRVJUSUVTOlxu OkE6IDFcbjpFTkQ6IgpAQCAtNTA2MSw2ICs1MjMxLDExIEBAIFBhcmFncmFwaDxwb2ludD4iCiAg ICAgIChvcmctZW50cnktZ2V0IChwb2ludCkgIkIiIG5pbCB0KSkpCiAgIDs7IEhhbmRsZSBpbmhl cml0YW5jZSwgd2hlbiBhbGxvd2VkLiAgSW5jbHVkZSBleHRlbmRlZCB2YWx1ZXMgYW5kCiAgIDs7 IHBvc3NpYmx5IGdsb2JhbCB2YWx1ZXMuCisgIChzaG91bGQKKyAgIChlcXVhbAorICAgICIxIgor ICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiOlBST1BFUlRJRVM6XG46QTogMVxuOkVORDpc biogSCIKKyAgICAgIChvcmctZW50cnktZ2V0IChwb2ludC1tYXgpICJBIiB0KSkpKQogICAoc2hv dWxkCiAgICAoZXF1YWwKICAgICAiMSIKQEAgLTUwNzYsMTIgKzUyNTEsMzAgQEAgUGFyYWdyYXBo PHBvaW50PiIKICAgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBIXG46UFJPUEVSVElFUzpc bjpBOiAxXG46RU5EOlxuKiogSDIiCiAgICAgIChsZXQgKChvcmctdXNlLXByb3BlcnR5LWluaGVy aXRhbmNlIG5pbCkpCiAgICAgICAgKG9yZy1lbnRyeS1nZXQgKHBvaW50LW1heCkgIkEiICdzZWxl Y3RpdmUpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbAorICAgICIxIDIiCisgICAgKG9yZy10ZXN0 LXdpdGgtdGVtcC10ZXh0CisJIjpQUk9QRVJUSUVTOlxuOkE6IDFcbjpFTkQ6XG4qIEhcbjpQUk9Q RVJUSUVTOlxuOkErOiAyXG46RU5EOiIKKyAgICAgIChvcmctZW50cnktZ2V0IChwb2ludC1tYXgp ICJBIiB0KSkpKQogICAoc2hvdWxkCiAgICAoZXF1YWwKICAgICAiMSAyIgogICAgIChvcmctdGVz dC13aXRoLXRlbXAtdGV4dAogCSIqIEhcbjpQUk9QRVJUSUVTOlxuOkE6IDFcbjpFTkQ6XG4qKiBI MlxuOlBST1BFUlRJRVM6XG46QSs6IDJcbjpFTkQ6IgogICAgICAgKG9yZy1lbnRyeS1nZXQgKHBv aW50LW1heCkgIkEiIHQpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbAorICAgICIxIDIiCisgICAg KG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CisJIjpQUk9QRVJUSUVTOlxuOkE6IDFcbjpFTkQ6XG4q IEgxXG4qIEgyXG46UFJPUEVSVElFUzpcbjpBKzogMlxuOkVORDoiCisgICAgICAob3JnLWVudHJ5 LWdldCAocG9pbnQtbWF4KSAiQSIgdCkpKSkKKyAgKHNob3VsZAorICAgKGVxdWFsCisgICAgIjEg MiIKKyAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkiKiBIMVxuOlBST1BFUlRJRVM6XG46 QTogMVxuOkVORDpcbiogSDIuMVxuKiBIMi4yXG46UFJPUEVSVElFUzpcbjpBKzogMlxuOkVORDoi CisgICAgICAob3JnLWVudHJ5LWdldCAocG9pbnQtbWF4KSAiQSIgdCkpKSkKICAgKHNob3VsZAog ICAgKGVxdWFsICIxIgogCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CkBAIC01MDkzLDYgKzUy ODYsMTQgQEAgUGFyYWdyYXBoPHBvaW50PiIKIAkgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAog CSAgICAgICIjK1BST1BFUlRZOiBBIDBcbiogSFxuOlBST1BFUlRJRVM6XG46QSs6IDFcbjpFTkQ6 IgogCSAgICAob3JnLW1vZGUtcmVzdGFydCkKKwkgICAgKG9yZy1lbnRyeS1nZXQgKHBvaW50LW1h eCkgIkEiIHQpKSkpCisgIDs7IGRvY3VtZW50IGxldmVsIHByb3BlcnR5LWRyYXdlciBoYXMgcHJl Y2VkYW5jZSBvdmVyCisgIDs7IGdsb2JhbC1wcm9wZXJ0eSBieSBQUk9QRVJUWS1rZXl3b3JkLgor ICAoc2hvdWxkCisgICAoZXF1YWwgIjAgMiIKKwkgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAor CSAgICAgICI6UFJPUEVSVElFUzpcbjpBOiAwXG46RU5EOlxuIytQUk9QRVJUWTogQSAxXG4qIEhc bjpQUk9QRVJUSUVTOlxuOkErOiAyXG46RU5EOiIKKwkgICAgKG9yZy1tb2RlLXJlc3RhcnQpCiAJ ICAgIChvcmctZW50cnktZ2V0IChwb2ludC1tYXgpICJBIiB0KSkpKSkKIAogKGVydC1kZWZ0ZXN0 IHRlc3Qtb3JnL2VudHJ5LXByb3BlcnRpZXMgKCkKQEAgLTU0MTYsOCArNTYxNyw0NCBAQCBQYXJh Z3JhcGg8cG9pbnQ+IgogCSAgICAobGV0ICgob3JnLXVzZS1wcm9wZXJ0eS1pbmhlcml0YW5jZSB0 KSkKIAkgICAgICAob3JnLXJlZnJlc2gtcHJvcGVydGllcyAiQSIgJ29yZy10ZXN0KSkKIAkgICAg KGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgJ29yZy10ZXN0KSkpKQorICA7OyBXaGVuIGEgZG9j dW1lbnQgbGV2ZWwgcHJvcGVydHktZHJhd2VyIGlzIHVzZWQsIHRob3NlIHByb3BlcnRpZXMKKyAg Ozsgc2hvdWxkIHdvcmsgZXhhY3RseSBsaWtlIGhlYWRsaW5lLXByb3BlcnRpZXMgYXMgaWYgYXQg YQorICA7OyBoZWFkbGluZS1sZXZlbCAwLgorICAoc2hvdWxkCisgICAoZXF1YWwgIjEiCisJICAo b3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkgICAgICAiOlBST1BFUlRJRVM6XG46QTogMVxuOkVO RDpcbiIKKwkgICAgKG9yZy1tb2RlLXJlc3RhcnQpCisJICAgIChsZXQgKChvcmctdXNlLXByb3Bl cnR5LWluaGVyaXRhbmNlIHQpKQorCSAgICAgIChvcmctcmVmcmVzaC1wcm9wZXJ0aWVzICJBIiAn b3JnLXRlc3QpKQorCSAgICAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAnb3JnLXRlc3QpKSkp CisgIChzaG91bGQtbm90CisgICAoZXF1YWwgIjEiCisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRl eHQKKwkgICAgICAiOlBST1BFUlRJRVM6XG46QTogMVxuOkVORDpcbjxwb2ludD4qIEgxIgorCSAg ICAob3JnLW1vZGUtcmVzdGFydCkKKwkgICAgKGxldCAoKG9yZy11c2UtcHJvcGVydHktaW5oZXJp dGFuY2UgbmlsKSkKKwkgICAgICAob3JnLXJlZnJlc2gtcHJvcGVydGllcyAiQSIgJ29yZy10ZXN0 KSkKKwkgICAgKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgJ29yZy10ZXN0KSkpKQorICAoc2hv dWxkCisgICAoZXF1YWwgIjEiCisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkgICAgICAi OlBST1BFUlRJRVM6XG46QTogMVxuOkVORDpcbjxwb2ludD4qIEgxIgorCSAgICAob3JnLW1vZGUt cmVzdGFydCkKKwkgICAgKGxldCAoKG9yZy11c2UtcHJvcGVydHktaW5oZXJpdGFuY2UgdCkpCisJ ICAgICAgKG9yZy1yZWZyZXNoLXByb3BlcnRpZXMgIkEiICdvcmctdGVzdCkpCisJICAgIChnZXQt dGV4dC1wcm9wZXJ0eSAocG9pbnQpICdvcmctdGVzdCkpKSkKKyAgKHNob3VsZAorICAgKGVxdWFs ICIyIgorCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CisJICAgICAgIjpQUk9QRVJUSUVTOlxu OkE6IDFcbjpFTkQ6XG48cG9pbnQ+KiBIMVxuOlBST1BFUlRJRVM6XG46QTogMlxuOkVORDoiCisJ ICAgIChvcmctbW9kZS1yZXN0YXJ0KQorCSAgICAobGV0ICgob3JnLXVzZS1wcm9wZXJ0eS1pbmhl cml0YW5jZSB0KSkKKwkgICAgICAob3JnLXJlZnJlc2gtcHJvcGVydGllcyAiQSIgJ29yZy10ZXN0 KSkKKwkgICAgKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgJ29yZy10ZXN0KSkpKQogICA7OyBX aGVuIHByb3BlcnR5IGlzIGluaGVyaXRlZCwgdXNlIGdsb2JhbCB2YWx1ZSBhY3Jvc3MgdGhlIHdo b2xlCi0gIDs7IGJ1ZmZlci4gIEhvd2V2ZXIgbG9jYWwgdmFsdWVzIGhhdmUgcHJlY2VkZW5jZS4K KyAgOzsgYnVmZmVyLiAgSG93ZXZlciBsb2NhbCB2YWx1ZXMgaGF2ZSBwcmVjZWRlbmNlLCBhcyB3 ZWxsIGFzIHRoZQorICA7OyBkb2N1bWVudCBsZXZlbCBwcm9wZXJ0eS1kcmF3ZXIuCiAgIChzaG91 bGQtbm90CiAgICAoZXF1YWwgIjEiCiAJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiMrUFJP UEVSVFk6IEEgMVxuPHBvaW50PiogSDEiCkBAIC01NDM3LDEwICs1Njc0LDYyIEBAIFBhcmFncmFw aDxwb2ludD4iCiAJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKIAkgICAgICAiIytQUk9QRVJU WTogQSAxXG48cG9pbnQ+KiBIXG46UFJPUEVSVElFUzpcbjpBOiAyXG46RU5EOiIKIAkgICAgKG9y Zy1tb2RlLXJlc3RhcnQpCisJICAgIChsZXQgKChvcmctdXNlLXByb3BlcnR5LWluaGVyaXRhbmNl IHQpKQorCSAgICAgIChvcmctcmVmcmVzaC1wcm9wZXJ0aWVzICJBIiAnb3JnLXRlc3QpKQorCSAg ICAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAnb3JnLXRlc3QpKSkpCisgIDs7IFdoZW4gYm90 aCBrZXl3b3JkLXByb3BlcnR5IGFuZCBkb2N1bWVudC1sZXZlbCBwcm9wZXJ0eS1ibG9jayBpcwor ICA7OyBkZWZpbmVkLCB0aGUgcHJvcGVydHktYmxvY2sgaGFzIHByZWNlZGFuY2UuCisgIChzaG91 bGQKKyAgIChlcXVhbCAiMSIKKwkgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dAorCSAgICAgICI6 UFJPUEVSVElFUzpcbjpBOiAxXG46RU5EOlxuIytQUk9QRVJUWTogQSAyXG48cG9pbnQ+KiBIMSIK KwkgICAgKG9yZy1tb2RlLXJlc3RhcnQpCiAJICAgIChsZXQgKChvcmctdXNlLXByb3BlcnR5LWlu aGVyaXRhbmNlIHQpKQogCSAgICAgIChvcmctcmVmcmVzaC1wcm9wZXJ0aWVzICJBIiAnb3JnLXRl c3QpKQogCSAgICAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAnb3JnLXRlc3QpKSkpKQogCiso ZXJ0LWRlZnRlc3QgdGVzdC1vcmcvcmVmcmVzaC1jYXRlZ29yeS1wcm9wZXJ0aWVzICgpCisgICJU ZXN0IGBvcmctcmVmcmVzaC1jYXRlZ29yeS1wcm9wZXJ0aWVzJyBzcGVjaWZpY2F0aW9ucyIKKyAg KHNob3VsZAorICAgKGVxdWFsICJjYXQxIgorCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CisJ ICAgICAgIjpQUk9QRVJUSUVTOlxuOkNBVEVHT1JZOiBjYXQxXG46RU5EOiIKKwkgICAgKG9yZy1y ZWZyZXNoLWNhdGVnb3J5LXByb3BlcnRpZXMpCisJICAgIChnZXQtdGV4dC1wcm9wZXJ0eSAocG9p bnQpICdvcmctY2F0ZWdvcnkpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbCAiY2F0MSIKKwkgIChv cmctdGVzdC13aXRoLXRlbXAtdGV4dAorCSAgICAgICIqIEhcbjpQUk9QRVJUSUVTOlxuOkNBVEVH T1JZOiBjYXQxXG46RU5EOiIKKwkgICAgKG9yZy1yZWZyZXNoLWNhdGVnb3J5LXByb3BlcnRpZXMp CisJICAgIChnZXQtdGV4dC1wcm9wZXJ0eSAocG9pbnQpICdvcmctY2F0ZWdvcnkpKSkpCisgIDs7 IEV2ZW4gdGhvdWdoIHByb3BlcnR5LWluaGVyaXRhbmNlIGlzIGRlYWN0aXZhdGVkLCBjYXRlZ29y eQorICA7OyBwcm9wZXJ0eSBzaG91bGQgYmUgaW5oZXJpdGVkLiAgQXMgZGVzY3JpYmVkIGluCisg IDs7IGBvcmctdXNlLXByb3BlcnR5LWluaGVyaXRhbmNlJy4KKyAgKHNob3VsZAorICAgKGVxdWFs ICJjYXQxIgorCSAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0CisJICAgICAgIjpQUk9QRVJUSUVT OlxuOkNBVEVHT1JZOiBjYXQxXG46RU5EOlxuPHBvaW50PiogSCIKKwkgICAgKG9yZy1tb2RlLXJl c3RhcnQpCisJICAgIChsZXQgKChvcmctdXNlLXByb3BlcnR5LWluaGVyaXRhbmNlIG5pbCkpCisJ ICAgICAgKG9yZy1yZWZyZXNoLWNhdGVnb3J5LXByb3BlcnRpZXMpKQorCSAgICAoZ2V0LXRleHQt cHJvcGVydHkgKHBvaW50KSAnb3JnLWNhdGVnb3J5KSkpKQorICAoc2hvdWxkCisgICAoZXF1YWwg ImNhdDEiCisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkgICAgICAiOlBST1BFUlRJRVM6 XG46Q0FURUdPUlk6IGNhdDFcbjpFTkQ6XG48cG9pbnQ+KiBIIgorCSAgICAob3JnLW1vZGUtcmVz dGFydCkKKwkgICAgKGxldCAoKG9yZy11c2UtcHJvcGVydHktaW5oZXJpdGFuY2UgdCkpCisJICAg ICAgKG9yZy1yZWZyZXNoLWNhdGVnb3J5LXByb3BlcnRpZXMpKQorCSAgICAoZ2V0LXRleHQtcHJv cGVydHkgKHBvaW50KSAnb3JnLWNhdGVnb3J5KSkpKQorICAoc2hvdWxkCisgICAoZXF1YWwgImNh dDIiCisJICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQKKwkgICAgICAiOlBST1BFUlRJRVM6XG46 Q0FURUdPUlk6IGNhdDFcbjpFTkQ6XG48cG9pbnQ+KiBIXG46UFJPUEVSVElFUzpcbjpDQVRFR09S WTogY2F0MlxuOkVORDpcbiIKKwkgICAgKG9yZy1tb2RlLXJlc3RhcnQpCisJICAgIChsZXQgKChv cmctdXNlLXByb3BlcnR5LWluaGVyaXRhbmNlIHQpKQorCSAgICAgIChvcmctcmVmcmVzaC1jYXRl Z29yeS1wcm9wZXJ0aWVzKSkKKwkgICAgKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgJ29yZy1j YXRlZ29yeSkpKSkpCisKIAwKIDs7OyBSZWZpbGUKIAotLSAKMi4xNy4xCgo= --_002_HE1PR02MB3033A29FBEA1234A9DD7ADC3DA830HE1PR02MB3033eurp_--