From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id qNIvN0ZWxWW4HAEA62LTzQ:P1 (envelope-from ) for ; Thu, 08 Feb 2024 23:31:35 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id qNIvN0ZWxWW4HAEA62LTzQ (envelope-from ) for ; Thu, 08 Feb 2024 23:31:35 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=ricklupton.name header.s=fm2 header.b="M /fPZZF"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=aQFkH+p6; dmarc=pass (policy=none) header.from=ricklupton.name; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1707431494; a=rsa-sha256; cv=none; b=kt7weOnw8ue3a3SGc3RVHaTVN/3vcX8//tV70/gTa58aV0dflvhAHT1T1TlAqzyvsHNY2w eLzcxf395sn1JA0xFXiOyjTp0DDkJQrQYqvvVHvGV/a6LlHOPbeoslGue0g/OqRJbUIV4v 1LIIr48W+oNe5Q3Cw0TebwXXZ6qZuAgoL3U5VFg4GUNF6WdI+Kuc90WP8qGQ1ksxxTYgIG 2QjbmTPNAv0eb4yaKdTfYjEYWNa/bPcpHE61np0lMJjaFVAb9zGP6Od5Kgz24niC8Aqx8v ojtIvvpDFHSnc8NMwIit7FyK7f/UJx2EJ3e3lnp2V4c69Jh6J73YKTrHsRHRCQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=ricklupton.name header.s=fm2 header.b="M /fPZZF"; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=aQFkH+p6; dmarc=pass (policy=none) header.from=ricklupton.name; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1707431494; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=oLsUYBnFsPz3G3JoAdpJBWwMDxBQM2n4nS3T0FxgKHw=; b=bIBQoT4AIvK4nGLK+T37eWGo8dWlnQnqUjRDicYX5Xo2LNkyMIlvQv3KiAUVzhzlWMUhVn GrseGZh0b4u3N099TlnqWY82BQGnJ+TMFZnivWPZA5riUWYrvynHSz66iyBgr8EFIz99Kd TphZdzNPzrlgtzDecUuIseGJ0sxEEYWrUBJ7wAHJoX6Jq6AGPPNg7XwZWtso9KAuT0V1Xt jBLY7guEL1p78qxC2fhOMF+5fpFDfm/3uLyPMY9joFjc02/T6S57LAh2vjLx+naD/qf7hl 54mbSLEiGSLZusgwoP+fM/uIaP4VMn0GZRap79wb5E1CgwFEA+ZHYsLVZS+g+g== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 02FA7746FA for ; Thu, 8 Feb 2024 23:31:33 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rYCup-0002NJ-VD; Thu, 08 Feb 2024 17:30:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rYCuk-0002LC-9c for emacs-orgmode@gnu.org; Thu, 08 Feb 2024 17:30:41 -0500 Received: from wfhigh4-smtp.messagingengine.com ([64.147.123.155]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rYCug-0004h1-Vu for emacs-orgmode@gnu.org; Thu, 08 Feb 2024 17:30:37 -0500 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailfhigh.west.internal (Postfix) with ESMTP id 4C4B91800076; Thu, 8 Feb 2024 17:30:32 -0500 (EST) Received: from imap50 ([10.202.2.100]) by compute2.internal (MEProxy); Thu, 08 Feb 2024 17:30:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ricklupton.name; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm2; t=1707431431; x= 1707517831; bh=oLsUYBnFsPz3G3JoAdpJBWwMDxBQM2n4nS3T0FxgKHw=; b=M /fPZZFz7dl9cXkDWvXyHiu19348Ch+ffVC+c+saykqkcViRE0lsyDy4gsHvTO0yV FHKN1ryTDWkjmKN3I2Y2f60yQ0OAMdsfhhdYbD4ZqZDx2b3VYx4fVXGUXnFnoSH9 amTPo9yRy/a8sv+fvON2e2UHAMmXfqs0bnKaQJvXL9HCuMBr1CV5pW+o8V45Ynki 4b7y93xmnD3hD4f+K2BrTBj3X/NTO7HROgwUGhpmcpYZL+4RiXCHvaXuu336STRc PB4JVWCC+U0giWnwvVDWwwIbCjkOectttX0xRpMsnbLyHtqyvAvPO2VMdlSbUIaS gWyAhUThNQ+wSBrijJd4Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1707431431; x=1707517831; bh=oLsUYBnFsPz3G3JoAdpJBWwMDxBQ M2n4nS3T0FxgKHw=; b=aQFkH+p6ZcP3DL4f+efa3PhEdT/s5tJMrKbwaYdW/lan G2qpCXFE/uSGusZXwlhQ5N5mZ8agvBKO/RW9XUhD5wK+DjeQjeRe+DKiyqXlp7Y2 ym0YF7H0q3OT0HPAO1f4ihbVZ+6oVbLfAxe30zRjGfcExkQ6td1Q26c4yOjxd2pB P1F3l3e9s3d2HJwCeiBW1a0AvDQY5+AUbof/468DbswNz2+hYPh9Sx1Mpz+rvHI9 7+jDjT6jzkkAXFv1E/mWwp7MNQd2kHmNZfPjCgtdfeH1XnqQyNovc5wrrajO9zYy ysc0/0o6BBoNPC27k7UKx9QUGzHZTPukUlwdLUhU3Q== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrtdeggdduheelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvvefutgesmh dtreerreertdenucfhrhhomhepfdftihgtkhcunfhuphhtohhnfdcuoehmrghilhesrhhi tghklhhuphhtohhnrdhnrghmvgeqnecuggftrfgrthhtvghrnheptddukeeuffevgfeuie ektdffueejvdfhvedtteegvdejteejfedtieehjefgueeunecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrihhlsehrihgtkhhluhhpthhonh drnhgrmhgv X-ME-Proxy: Feedback-ID: i0143436f:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 8ED9F1700093; Thu, 8 Feb 2024 17:30:31 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-144-ge5821d614e-fm-20240125.002-ge5821d61 MIME-Version: 1.0 Message-Id: In-Reply-To: <87wmrfw1l9.fsf@localhost> References: <118435e8-0b20-46fd-af6a-88de8e19fac6@app.fastmail.com> <87edkwsafe.fsf@localhost> <87cywh2ad6.fsf@localhost> <87jzpmqiy0.fsf@localhost> <2cdfefbf-e9e3-4aeb-a410-1ff3a9d6168e@app.fastmail.com> <87zfybzkul.fsf@localhost> <3c5737c8-f489-4144-a27f-c0e0527c79c0@app.fastmail.com> <87bkaqcjpz.fsf@localhost> <87msu7r902.fsf@localhost> <1b50d1a4-8573-4dcc-9427-8970f67e632a@app.fastmail.com> <87r0i0mgzi.fsf@localhost> <70c0e6fb-3e9f-4b84-8d00-1b1e62ec19d0@app.fastmail.com> <87cytdithi.fsf@localhost> <2a4b236c-c377-4493-b5ed-632c5518d514@app.fastmail.com> <87wmrfw1l9.fsf@localhost> Date: Thu, 08 Feb 2024 22:30:10 +0000 From: "Rick Lupton" To: "Ihor Radchenko" Cc: "Y. E." Subject: Re: [PATCH v2] org-id: allow using parent's existing id in links to headlines Content-Type: multipart/mixed; boundary=4425b2b2b21340e195ef54900fe35ca7 Received-SPF: pass client-ip=64.147.123.155; envelope-from=mail@ricklupton.name; helo=wfhigh4-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx10.migadu.com X-Spam-Score: -9.61 X-Migadu-Queue-Id: 02FA7746FA X-Migadu-Spam-Score: -9.61 X-TUID: CtZJU1iPPDlR --4425b2b2b21340e195ef54900fe35ca7 Content-Type: text/plain On Thu, 8 Feb 2024, at 1:02 PM, Ihor Radchenko wrote: > I have some thoughts about rewording your changes to the manual and > ORG-NEWS. See the attached patch on top of yours. Thanks, makes sense -- wasn't sure whether to keep this as a separate patch or not, I have squashed into the attached updated version. > [minor points on commit messages] Fixed these. > The new optional argument to a public function should be announced in ORG-NEWS. Added. >> + (new-heading-level (if new-heading-container >> + (+ 1 (org-element-property :level new-heading-container)) > > What if new-heading-container is not a heading? > >> + 1))) >> + (goto-char new-heading-position) > > This is err when container ends after narrowed region boundary. Added checks for these. >> +(defun org-link-precise-link-target () >> ... >> + (cond >> + (name >> + (list name >> + name >> + (org-element-begin element))) > > It would make sense to use #+caption as default description when available. Maybe... But I had a little look and it seems complicated, since caption is a parsed property, it's not clear to me how to get a plain string in a simple way. And there could be a long and a short caption, over multiple lines. If the caption is long, it wouldn't make a good link description anyway. The current behaviour is the same as it was before, so maybe we can leave this as a future enhancement if wanted? --4425b2b2b21340e195ef54900fe35ca7 Content-Disposition: attachment; filename*0="0001-lisp-org.el-org-insert-heading-Allow-specifying-head.pat"; filename*1="ch" Content-Type: application/octet-stream; name="=?UTF-8?Q?0001-lisp-org.el-org-insert-heading-Allow-specifying-head.patc?= =?UTF-8?Q?h?=" Content-Transfer-Encoding: BASE64 RnJvbSAzZWI3NTE1YWI2MzllMjJlYmIyYmEzOTMwZGJiYjA0OWFiYTU4N2UyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNrIEx1cHRvbiA8bWFpbEByaWNrbHVwdG9uLm5h bWU+CkRhdGU6IFdlZCwgMyBKYW4gMjAyNCAyMjozNzozOCArMDAwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBsaXNwL29yZy5lbCAob3JnLWluc2VydC1oZWFkaW5nKTogQWxsb3cgc3BlY2lm eWluZwogaGVhZGluZyBsZXZlbAoKKiBsaXNwL29yZy5lbCAob3JnLWluc2VydC1oZWFkaW5n KTogQ2hhbmdlIG9wdGlvbmFsIGFyZ3VtZW50IFRPUCB0bwpMRVZFTCwgYWNjZXB0aW5nIGEg bnVtYmVyIHRvIGZvcmNlIGEgc3BlY2lmaWMgaGVhZGluZyBsZXZlbC4KKiB0ZXN0aW5nL2xp c3AvdGVzdC1vcmcuZWwgKHRlc3Qtb3JnL2luc2VydC1oZWFkaW5nKTogQWRkIHRlc3RzLgoq IGV0Yy9PUkctTkVXUzogRG9jdW1lbnQgY2hhbmdlcy4KLS0tCiBldGMvT1JHLU5FV1MgICAg ICAgICAgICAgfCAgNiArKysrKysKIGxpc3Avb3JnLmVsICAgICAgICAgICAgICB8IDIxICsr KysrKysrKysrKysrLS0tLS0tLQogdGVzdGluZy9saXNwL3Rlc3Qtb3JnLmVsIHwgMjYgKysr KysrKysrKysrKysrKysrKysrKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9u cygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ldGMvT1JHLU5FV1MgYi9ldGMv T1JHLU5FV1MKaW5kZXggOTJkMzYzYjgwLi45ZTY4YmNkY2IgMTAwNjQ0Ci0tLSBhL2V0Yy9P UkctTkVXUworKysgYi9ldGMvT1JHLU5FV1MKQEAgLTEwMzMsNiArMTAzMywxMiBAQCBhcyB0 aGUgZnVuY3Rpb24gY2FuIGFsc28gYWN0IG9uIG9iamVjdHMuCiAKICoqKiB+b3JnLWV4cG9y dC1nZXQtcGFyZW50LWVsZW1lbnR+IGlzIHJlbmFtZWQgdG8gfm9yZy1lbGVtZW50LXBhcmVu dC1lbGVtZW50fiBhbmQgbW92ZWQgdG8gPWxpc3Avb3JnLWVsZW1lbnQuZWw9CiAKKyoqKiB+ b3JnLWluc2VydC1oZWFkaW5nfiBvcHRpb25hbCBhcmd1bWVudCA9VE9QPSBpcyBub3cgPUxF VkVMPQorCitBIG51bWVyaWMgdmFsdWUgZm9yY2VzIGEgaGVhZGluZyBhdCB0aGF0IGxldmVs IHRvIGJlIGluc2VydGVkLiAgRm9yCitiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgbm9uLW51 bWVyaWMgbm9uLW5pbCB2YWx1ZXMgaW5zZXJ0IGxldmVsIDEKK2hlYWRpbmdzIGFzIGJlZm9y ZS4KKwogKiogTWlzY2VsbGFuZW91cwogKioqID1vcmctY3J5cHQuZWw9IG5vdyBhcHBsaWVz IGluaXRpYWwgdmlzaWJpbGl0eSBzZXR0aW5ncyB0byBkZWNyeXB0ZWQgZW50cmllcwogCmRp ZmYgLS1naXQgYS9saXNwL29yZy5lbCBiL2xpc3Avb3JnLmVsCmluZGV4IGRhMzE1ZmNjYi4u NTQ3NDhmNDk1IDEwMDY0NAotLS0gYS9saXNwL29yZy5lbAorKysgYi9saXNwL29yZy5lbApA QCAtNjM2NCw3ICs2MzY0LDcgQEAgaGVhZGxpbmUgaW5zdGVhZCBvZiBjdXJyZW50IG9uZS4i CiAgICAgKGAoaGVhZGluZyAuICx2YWx1ZSkgdmFsdWUpCiAgICAgKF8gbmlsKSkpCiAKLShk ZWZ1biBvcmctaW5zZXJ0LWhlYWRpbmcgKCZvcHRpb25hbCBhcmcgaW52aXNpYmxlLW9rIHRv cCkKKyhkZWZ1biBvcmctaW5zZXJ0LWhlYWRpbmcgKCZvcHRpb25hbCBhcmcgaW52aXNpYmxl LW9rIGxldmVsKQogICAiSW5zZXJ0IGEgbmV3IGhlYWRpbmcgb3IgYW4gaXRlbSB3aXRoIHRo ZSBzYW1lIGRlcHRoIGF0IHBvaW50LgogCiBJZiBwb2ludCBpcyBhdCB0aGUgYmVnaW5uaW5n IG9mIGEgaGVhZGluZywgaW5zZXJ0IGEgbmV3IGhlYWRpbmcKQEAgLTYzOTMsMTIgKzYzOTMs MTkgQEAgV2hlbiBJTlZJU0lCTEUtT0sgaXMgc2V0LCBzdG9wIGF0IGludmlzaWJsZSBoZWFk bGluZXMgd2hlbiBnb2luZwogYmFjay4gIFRoaXMgaXMgaW1wb3J0YW50IGZvciBub24taW50 ZXJhY3RpdmUgdXNlcyBvZiB0aGUKIGNvbW1hbmQuCiAKLVdoZW4gb3B0aW9uYWwgYXJndW1l bnQgVE9QIGlzIG5vbi1uaWwsIGluc2VydCBhIGxldmVsIDEgaGVhZGluZywKLXVuY29uZGl0 aW9uYWxseS4iCitXaGVuIG9wdGlvbmFsIGFyZ3VtZW50IExFVkVMIGlzIGEgbnVtYmVyLCBp bnNlcnQgYSBoZWFkaW5nIGF0Cit0aGF0IGxldmVsLiAgRm9yIGJhY2t3YXJkcyBjb21wYXRp YmlsaXR5LCB3aGVuIExFVkVMIGlzIG5vbi1uaWwKK2J1dCBub3QgYSBudW1iZXIsIGluc2Vy dCBhIGxldmVsLTEgaGVhZGluZy4iCiAgIChpbnRlcmFjdGl2ZSAiUCIpCiAgIChsZXQqICgo Ymxhbms/IChvcmctLWJsYW5rLWJlZm9yZS1oZWFkaW5nLXAgKGVxdWFsIGFyZyAnKDE2KSkp KQotCSAobGV2ZWwgKG9yZy1jdXJyZW50LWxldmVsKSkKLQkgKHN0YXJzIChtYWtlLXN0cmlu ZyAoaWYgKGFuZCBsZXZlbCAobm90IHRvcCkpIGxldmVsIDEpID8qKSkpCisgICAgICAgICAo Y3VycmVudC1sZXZlbCAob3JnLWN1cnJlbnQtbGV2ZWwpKQorICAgICAgICAgKG51bS1zdGFy cyAob3IKKyAgICAgICAgICAgICAgICAgICAgIDs7IEJhY2t3YXJkcyBjb21wYXQ6IGlmIExF VkVMIG5vbi1uaWwsIGxldmVsIGlzIDEKKyAgICAgICAgICAgICAgICAgICAgIChhbmQgbGV2 ZWwgKGlmICh3aG9sZW51bXAgbGV2ZWwpIGxldmVsIDEpKQorICAgICAgICAgICAgICAgICAg ICAgY3VycmVudC1sZXZlbAorICAgICAgICAgICAgICAgICAgICAgOzsgVGhpcyBgMScgaXMg Zm9yIHdoZW4gYmVmb3JlIGZpcnN0IGhlYWRsaW5lCisgICAgICAgICAgICAgICAgICAgICAx KSkKKyAgICAgICAgIChzdGFycyAobWFrZS1zdHJpbmcgbnVtLXN0YXJzID8qKSkpCiAgICAg KGNvbmQKICAgICAgKChvciBvcmctaW5zZXJ0LWhlYWRpbmctcmVzcGVjdC1jb250ZW50CiAJ ICAobWVtYmVyIGFyZyAnKCg0KSAoMTYpKSkKQEAgLTY0MDcsNyArNjQxNCw3IEBAIHVuY29u ZGl0aW9uYWxseS4iCiAgICAgICA7OyBQb3NpdGlvbiBwb2ludCBhdCB0aGUgbG9jYXRpb24g b2YgaW5zZXJ0aW9uLiAgTWFrZSBzdXJlIHdlCiAgICAgICA7OyBlbmQgdXAgb24gYSB2aXNp YmxlIGhlYWRsaW5lIGlmIElOVklTSUJMRS1PSyBpcyBuaWwuCiAgICAgICAob3JnLXdpdGgt bGltaXRlZC1sZXZlbHMKLSAgICAgICAoaWYgKG5vdCBsZXZlbCkgKG91dGxpbmUtbmV4dC1o ZWFkaW5nKSA7YmVmb3JlIGZpcnN0IGhlYWRsaW5lCisgICAgICAgKGlmIChub3QgY3VycmVu dC1sZXZlbCkgKG91dGxpbmUtbmV4dC1oZWFkaW5nKSA7YmVmb3JlIGZpcnN0IGhlYWRsaW5l CiAJIChvcmctYmFjay10by1oZWFkaW5nIGludmlzaWJsZS1vaykKIAkgKHdoZW4gKGVxdWFs IGFyZyAnKDE2KSkgKG9yZy11cC1oZWFkaW5nLXNhZmUpKQogCSAob3JnLWVuZC1vZi1zdWJ0 cmVlIGludmlzaWJsZS1vayAndG8taGVhZGluZykpKQpAQCAtNjQyMCw3ICs2NDI3LDcgQEAg dW5jb25kaXRpb25hbGx5LiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yZy1iZWZv cmUtZmlyc3QtaGVhZGluZy1wKSkpCiAgICAgICAgIChpbnNlcnQgIlxuIikKICAgICAgICAg KGJhY2t3YXJkLWNoYXIpKQotICAgICAgKHdoZW4gKGFuZCAobm90IGxldmVsKSAobm90IChl b2JwKSkgKG5vdCAoYm9icCkpKQorICAgICAgKHdoZW4gKGFuZCAobm90IGN1cnJlbnQtbGV2 ZWwpIChub3QgKGVvYnApKSAobm90IChib2JwKSkpCiAgICAgICAgICh3aGVuIChvcmctYXQt aGVhZGluZy1wKSAoaW5zZXJ0ICJcbiIpKQogICAgICAgICAoYmFja3dhcmQtY2hhcikpCiAg ICAgICAodW5sZXNzIChhbmQgYmxhbms/IChvcmctcHJldmlvdXMtbGluZS1lbXB0eS1wKSkK ZGlmZiAtLWdpdCBhL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy5lbCBiL3Rlc3RpbmcvbGlzcC90 ZXN0LW9yZy5lbAppbmRleCA4MjJjYmM2N2EuLmZjNTBkYzc4NyAxMDA2NDQKLS0tIGEvdGVz dGluZy9saXNwL3Rlc3Qtb3JnLmVsCisrKyBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9yZy5lbApA QCAtMTk4MCw4ICsxOTgwLDMwIEBAIENMT0NLOiBbMjAyMi0wOS0xNyBzYW0uIDExOjAwXS0t WzIwMjItMDktMTcgc2FtLiAxMTo0Nl0gPT4gIDA6NDYiCiAJICAgIChsZXQgKChvcmctaW5z ZXJ0LWhlYWRpbmctcmVzcGVjdC1jb250ZW50IG5pbCkpCiAJICAgICAgKG9yZy1pbnNlcnQt aGVhZGluZyAnKDE2KSkpCiAJICAgIChidWZmZXItc3RyaW5nKSkpKQotICA7OyBXaGVuIG9w dGlvbmFsIFRPUC1MRVZFTCBhcmd1bWVudCBpcyBub24tbmlsLCBhbHdheXMgaW5zZXJ0Ci0g IDs7IGEgbGV2ZWwgMSBoZWFkaW5nLgorICA7OyBXaGVuIG9wdGlvbmFsIExFVkVMIGFyZ3Vt ZW50IGlzIGEgbnVtYmVyLCBpbnNlcnQgYSBoZWFkaW5nIGF0CisgIDs7IHRoYXQgbGV2ZWwu CisgIChzaG91bGQKKyAgIChlcXVhbCAiKiBIMVxuKiogSDJcbiogIgorCSAgKG9yZy10ZXN0 LXdpdGgtdGVtcC10ZXh0ICIqIEgxXG4qKiBIMjxwb2ludD4iCisJICAgIChvcmctaW5zZXJ0 LWhlYWRpbmcgbmlsIG5pbCAxKQorCSAgICAoYnVmZmVyLXN0cmluZykpKSkKKyAgKHNob3Vs ZAorICAgKGVxdWFsICIqIEgxXG4qKiBIMlxuKiogIgorCSAgKG9yZy10ZXN0LXdpdGgtdGVt cC10ZXh0ICIqIEgxXG4qKiBIMjxwb2ludD4iCisJICAgIChvcmctaW5zZXJ0LWhlYWRpbmcg bmlsIG5pbCAyKQorCSAgICAoYnVmZmVyLXN0cmluZykpKSkKKyAgKHNob3VsZAorICAgKGVx dWFsICIqIEgxXG4qKiBIMlxuKioqICIKKwkgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAi KiBIMVxuKiogSDI8cG9pbnQ+IgorCSAgICAob3JnLWluc2VydC1oZWFkaW5nIG5pbCBuaWwg MykKKwkgICAgKGJ1ZmZlci1zdHJpbmcpKSkpCisgIChzaG91bGQKKyAgIChlcXVhbCAiKiBI MVxuLSBpdGVtXG4qICIKKwkgIChvcmctdGVzdC13aXRoLXRlbXAtdGV4dCAiKiBIMVxuLSBp dGVtPHBvaW50PiIKKwkgICAgKG9yZy1pbnNlcnQtaGVhZGluZyBuaWwgbmlsIDEpCisJICAg IChidWZmZXItc3RyaW5nKSkpKQorICA7OyBXaGVuIG9wdGlvbmFsIExFVkVMIGFyZ3VtZW50 IGlzIG5vbi1uaWwsIGFsd2F5cyBpbnNlcnQgYSBsZXZlbCAxCisgIDs7IGhlYWRpbmcuCiAg IChzaG91bGQKICAgIChlcXVhbCAiKiBIMVxuKiogSDJcbiogIgogCSAgKG9yZy10ZXN0LXdp dGgtdGVtcC10ZXh0ICIqIEgxXG4qKiBIMjxwb2ludD4iCi0tIAoyLjM3LjEgKEFwcGxlIEdp dC0xMzcuMSkKCg== --4425b2b2b21340e195ef54900fe35ca7 Content-Disposition: attachment; filename*0="0002-org-id.el-Add-search-strings-inherit-parent-IDs.patch" Content-Type: application/octet-stream; name="=?UTF-8?Q?0002-org-id.el-Add-search-strings-inherit-parent-IDs.patch?=" Content-Transfer-Encoding: BASE64 RnJvbSA4YjRlNzIxNjQ4ZDAyMzY4NmFlYjY1MDczN2Y2ZjE0ZmVlZWZlZDEzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNrIEx1cHRvbiA8bWFpbEByaWNrbHVwdG9uLm5h bWU+CkRhdGU6IFN1biwgMTkgTm92IDIwMjMgMTQ6NTI6MDUgKzAwMDAKU3ViamVjdDogW1BB VENIIDIvMl0gb3JnLWlkLmVsOiBBZGQgc2VhcmNoIHN0cmluZ3MsIGluaGVyaXQgcGFyZW50 IElEcwoKKiBsaXNwL29sLmVsIChvcmctc3RvcmUtbGluayk6IFJlZmFjdG9yIG9yZy1pZCBs aW5rcyB0byB1c2Ugc3RhbmRhcmQKYG9yZy1zdG9yZS1saW5rLWZ1bmN0aW9ucycuCihvcmct bGluay1zZWFyY2gpOiBDcmVhdGUgbmV3IGhlYWRpbmdzIGF0IGFwcHJvcHJpYXRlIGxldmVs Lgoob3JnLWxpbmstcHJlY2lzZS1saW5rLXRhcmdldCk6IE5ldyBmdW5jdGlvbiBleHRyYWN0 aW5nIGxvZ2ljIHRvCmlkZW50aWZ5IGEgcHJlY2lzZSBsaW5rIHRhcmdldCwgZS5nLiBhIGhl YWRpbmcsIG5hbWVkIG9iamVjdCwgb3IgdGV4dApzZWFyY2guCihvcmctbGluay10cnktbGlu ay1zdG9yZS1mdW5jdGlvbnMpOiBFeHRyYWN0IGxvZ2ljIHRvIGNhbGwgZXh0ZXJuYWwKbGlu ayBzdG9yZSBmdW5jdGlvbnMuIFBhc3MgdGhlbSBhIG5ldyBgaW50ZXJhY3RpdmU/JyBhcmd1 bWVudC4KKiBsaXNwL29sLWJiZGIuZWwgKG9yZy1iYmRiLXN0b3JlLWxpbmspOgoqIGxpc3Av b2wtYmlidGV4LmVsIChvcmctYmlidGV4LXN0b3JlLWxpbmspOgoqIGxpc3Avb2wtZG9jdmll dy5lbCAob3JnLWRvY3ZpZXctc3RvcmUtbGluayk6CiogbGlzcC9vbC1lc2hlbGwuZWwgKG9y Zy1lc2hlbGwtc3RvcmUtbGluayk6CiogbGlzcC9vbC1ld3cuZWwgKG9yZy1ld3ctc3RvcmUt bGluayk6CiogbGlzcC9vbC1nbnVzLmVsIChvcmctZ251cy1zdG9yZS1saW5rKToKKiBsaXNw L29sLWluZm8uZWwgKG9yZy1pbmZvLXN0b3JlLWxpbmspOgoqIGxpc3Avb2wtaXJjLmVsIChv cmctaXJjLXN0b3JlLWxpbmspOgoqIGxpc3Avb2wtbWFuLmVsIChvcmctbWFuLXN0b3JlLWxp bmspOgoqIGxpc3Avb2wtbWhlLmVsIChvcmctbWhlLXN0b3JlLWxpbmspOgoqIGxpc3Avb2wt cm1haWwuZWwgKG9yZy1ybWFpbC1zdG9yZS1saW5rKTogQWNjZXB0IG9wdGlvbmFsIGFyZy4K KiBsaXNwL29yZy1pZC5lbCAob3JnLWlkLWxpbmstY29uc2lkZXItcGFyZW50LWlkKTogTmV3 IG9wdGlvbiB0byBhbGxvdwphIHBhcmVudCBoZWFkaW5nIHdpdGggYW4gaWQgdG8gYmUgY29u c2lkZXJlZCBhcyBhIGxpbmsgdGFyZ2V0Lgoob3JnLWlkLWxpbmstdXNlLWNvbnRleHQpOiBO ZXcgb3B0aW9uIHRvIGFkZCBjb250ZXh0IHRvIG9yZy1pZCBsaW5rcy4KKG9yZy1pZC1nZXQp OiBBZGQgb3B0aW9uYWwgYGluaGVyaXQnIGFyZ3VtZW50IHdoaWNoIGNvbnNpZGVycyBwYXJl bnRzJwpJRHMgaWYgdGhlIGN1cnJlbnQgZW50cnkgZG9lcyBub3QgaGF2ZSBvbmUuCihvcmct aWQtc3RvcmUtbGluayk6IENvbnNpZGVyIElEcyBvZiBwYXJlbnQgaGVhZGluZ3MgYXMgbGlu ayB0YXJnZXRzCndoZW4gY3VycmVudCBoZWFkaW5nIGhhcyBubyBJRCBhbmQgYG9yZy1pZC1s aW5rLWNvbnNpZGVyLXBhcmVudC1pZCcgaXMKc2V0LiAgQWRkIGEgc2VhcmNoIHN0cmluZyB0 byB0aGUgbGluayB3aGVuIGVuYWJsZWQuCihvcmctaWQtc3RvcmUtbGluay1tYXliZSk6IEZ1 bmN0aW9uIHNldCBhcyA6c3RvcmUgb3B0aW9uIGZvciBjdXN0b20gaWQKbGluayBwcm9wZXJ0 eS4gTW92ZSBsb2dpYyBmcm9tIGBvcmctc3RvcmUtbGluaycgaGVyZSB0byBkZXRlcm1pbmUg d2hlbgphbiBvcmctaWQgbGluayBzaG91bGQgYmUgc3RvcmVkIHVzaW5nIGBvcmctaWQtc3Rv cmUtbGluaycuCihvcmctaWQtb3Blbik6IFJlY29nbmlzZSBzZWFyY2ggc3RyaW5ncyBhZnRl ciAiOjoiIGluIG9yZy1pZCBsaW5rcy4KKiBsaXNwL29yZy1saW50LmVsOiBBZGQgY2hlY2tl ciBmb3IgIjo6IiBpbiBJRCBwcm9wZXJ0aWVzLgoqIHRlc3RpbmcvbGlzcC90ZXN0LW9sLmVs OiBBZGQgdGVzdHMgZm9yCmBvcmctbGluay1wcmVjaXNlLWxpbmstdGFyZ2V0JyBhbmQgYG9y Zy1pZC1zdG9yZS1saW5rJyBmdW5jdGlvbnMsCnRlc3RpbmcgbmV3IG9wdGlvbnMuCiogZG9j L29yZy1tYW51YWwub3JnOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhYm91dCBsaW5rcy4KKiBl dGMvT1JHLU5FV1M6IERvY3VtZW50IGNoYW5nZXMgYW5kIG5ldyBvcHRpb25zLgoKVGhlc2Ug ZmVhdHVyZSBhbGxvd3MgZm9yIG1vcmUgcHJlY2lzZSBsaW5rcyB3aGVuIHVzaW5nIG9yZy1p ZCB0byBsaW5rIHRvCm9yZyBoZWFkaW5ncywgd2l0aG91dCByZXF1aXJpbmcgZXZlcnkgc2lu Z2xlIGhlYWRsaW5lIHRvIGhhdmUgYW4gaWQuCgpMaW5rOiBodHRwczovL2xpc3Qub3JnbW9k ZS5vcmcvMTE4NDM1ZTgtMGIyMC00NmZkLWFmNmEtODhkZThlMTlmYWM2QGFwcC5mYXN0bWFp bC5jb20vCi0tLQogZG9jL29yZy1tYW51YWwub3JnICAgICAgfCAxMzUgKysrKysrKysrKy0t LS0tLQogZXRjL09SRy1ORVdTICAgICAgICAgICAgfCAgNzIgKysrKysrKysrCiBsaXNwL29s LWJiZGIuZWwgICAgICAgICB8ICAgMiArLQogbGlzcC9vbC1iaWJ0ZXguZWwgICAgICAgfCAg IDIgKy0KIGxpc3Avb2wtZG9jdmlldy5lbCAgICAgIHwgICAyICstCiBsaXNwL29sLWVzaGVs bC5lbCAgICAgICB8ICAgMiArLQogbGlzcC9vbC1ld3cuZWwgICAgICAgICAgfCAgIDIgKy0K IGxpc3Avb2wtZ251cy5lbCAgICAgICAgIHwgICAyICstCiBsaXNwL29sLWluZm8uZWwgICAg ICAgICB8ICAgMiArLQogbGlzcC9vbC1pcmMuZWwgICAgICAgICAgfCAgIDIgKy0KIGxpc3Av b2wtbWFuLmVsICAgICAgICAgIHwgICAyICstCiBsaXNwL29sLW1oZS5lbCAgICAgICAgICB8 ICAgMiArLQogbGlzcC9vbC1ybWFpbC5lbCAgICAgICAgfCAgIDIgKy0KIGxpc3Avb2wuZWwg ICAgICAgICAgICAgIHwgMzMyICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0KIGxpc3Avb3JnLWlkLmVsICAgICAgICAgIHwgMTc4ICsrKysrKysrKysrKysrKysr Ky0tLQogbGlzcC9vcmctbGludC5lbCAgICAgICAgfCAgMTYgKysKIHRlc3RpbmcvbGlzcC90 ZXN0LW9sLmVsIHwgMTIyICsrKysrKysrKysrKysrKwogMTcgZmlsZXMgY2hhbmdlZCwgNjcz IGluc2VydGlvbnMoKyksIDIwNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvb3Jn LW1hbnVhbC5vcmcgYi9kb2Mvb3JnLW1hbnVhbC5vcmcKaW5kZXggMWEwMjVhMTM5Li5lOTMz YTJkNjMgMTAwNjQ0Ci0tLSBhL2RvYy9vcmctbWFudWFsLm9yZworKysgYi9kb2Mvb3JnLW1h bnVhbC5vcmcKQEAgLTMzMDAsMTAgKzMzMDAsNiBAQCBIZXJlIGlzIHRoZSBmdWxsIHNldCBv ZiBidWlsdC1pbiBsaW5rIHR5cGVzOgogCiAgIEZpbGUgbGlua3MuICBGaWxlIG5hbWUgbWF5 IGJlIHJlbW90ZSwgYWJzb2x1dGUsIG9yIHJlbGF0aXZlLgogCi0gIEFkZGl0aW9uYWxseSwg eW91IGNhbiBzcGVjaWZ5IGEgbGluZSBudW1iZXIsIG9yIGEgdGV4dCBzZWFyY2guCi0gIElu IE9yZyBmaWxlcywgeW91IG1heSBsaW5rIHRvIGEgaGVhZGxpbmUgbmFtZSwgYSBjdXN0b20g SUQsIG9yIGEKLSAgY29kZSByZWZlcmVuY2UgaW5zdGVhZC4KLQogICBBcyBhIHNwZWNpYWwg Y2FzZSwgImZpbGUiIHByZWZpeCBtYXkgYmUgb21pdHRlZCBpZiB0aGUgZmlsZSBuYW1lCiAg IGlzIGNvbXBsZXRlLCBlLmcuLCBpdCBzdGFydHMgd2l0aCA9Li89LCBvciA9Lz0uCiAKQEAg LTMzNjcsNDQgKzMzNjMsNTAgQEAgSGVyZSBpcyB0aGUgZnVsbCBzZXQgb2YgYnVpbHQtaW4g bGluayB0eXBlczoKIAogICBFeGVjdXRlIGEgc2hlbGwgY29tbWFuZCB1cG9uIGFjdGl2YXRp b24uCiAKKworRm9yID1maWxlOj0gYW5kID1pZDo9IGxpbmtzLCB5b3UgY2FuIGFkZGl0aW9u YWxseSBzcGVjaWZ5IGEgbGluZQorbnVtYmVyLCBvciBhIHRleHQgc2VhcmNoIHN0cmluZywg c2VwYXJhdGVkIGJ5ID06Oj0uICBJbiBPcmcgZmlsZXMsIHlvdQorbWF5IGxpbmsgdG8gYSBo ZWFkbGluZSBuYW1lLCBhIGN1c3RvbSBJRCwgb3IgYSBjb2RlIHJlZmVyZW5jZSBpbnN0ZWFk LgorCiBUaGUgZm9sbG93aW5nIHRhYmxlIGlsbHVzdHJhdGVzIHRoZSBsaW5rIHR5cGVzIGFi b3ZlLCBhbG9uZyB3aXRoIHRoZWlyCiBvcHRpb25zOgogCi18IExpbmsgVHlwZSAgfCBFeGFt cGxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 Ci18LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS18Ci18IGh0dHAgICAgICAgfCA9aHR0cDovL3N0YWZmLnNj aWVuY2UudXZhLm5sL2MuZG9taW5pay89ICAgICAgICAgICAgICAgICB8Ci18IGh0dHBzICAg ICAgfCA9aHR0cHM6Ly9vcmdtb2RlLm9yZy89ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8Ci18IGRvaSAgICAgICAgfCA9ZG9pOjEwLjEwMDAvMTgyPSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGZpbGUgICAgICAgfCA9ZmlsZTov aG9tZS9kb21pbmlrL2ltYWdlcy9qdXBpdGVyLmpwZz0gICAgICAgICAgICAgICAgICB8Ci18 ICAgICAgICAgICAgfCA9L2hvbWUvZG9taW5pay9pbWFnZXMvanVwaXRlci5qcGc9IChzYW1l IGFzIGFib3ZlKSAgICAgICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTpwYXBlcnMvbGFzdC5w ZGY9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAg fCA9Li9wYXBlcnMvbGFzdC5wZGY9IChzYW1lIGFzIGFib3ZlKSAgICAgICAgICAgICAgICAg ICAgICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTovc3NoOm1lQHNvbWUud2hlcmU6cGFwZXJz L2xhc3QucGRmPSAocmVtb3RlKSAgICAgICB8Ci18ICAgICAgICAgICAgfCA9L3NzaDptZUBz b21lLndoZXJlOnBhcGVycy9sYXN0LnBkZj0gKHNhbWUgYXMgYWJvdmUpICAgICB8Ci18ICAg ICAgICAgICAgfCA9ZmlsZTpzb21ldGV4dGZpbGU6Ok5OTj0gKGp1bXAgdG8gbGluZSBudW1i ZXIpICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTpwcm9qZWN0cy5vcmc9ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9 ZmlsZTpwcm9qZWN0cy5vcmc6OnNvbWUgd29yZHM9ICh0ZXh0IHNlYXJjaClbZm46MTJdICAg ICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTpwcm9qZWN0cy5vcmc6Oip0YXNrIHRpdGxlPSAo aGVhZGxpbmUgc2VhcmNoKSAgICAgICB8Ci18ICAgICAgICAgICAgfCA9ZmlsZTpwcm9qZWN0 cy5vcmc6OiNjdXN0b20taWQ9IChoZWFkbGluZSBzZWFyY2gpICAgICAgICB8Ci18IGF0dGFj aG1lbnQgfCA9YXR0YWNobWVudDpwcm9qZWN0cy5vcmc9ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9YXR0YWNobWVudDpwcm9qZWN0cy5vcmc6 OnNvbWUgd29yZHM9ICh0ZXh0IHNlYXJjaCkgICAgICB8Ci18IGRvY3ZpZXcgICAgfCA9ZG9j dmlldzpwYXBlcnMvbGFzdC5wZGY6Ok5OTj0gICAgICAgICAgICAgICAgICAgICAgICAgICB8 Ci18IGlkICAgICAgICAgfCA9aWQ6Qjc0MjNGNEQtMkU4QS00NzFCLTg4MTAtQzQwRjA3NDcx N0U5PSAgICAgICAgICAgICAgICB8Ci18IG5ld3MgICAgICAgfCA9bmV3czpjb21wLmVtYWNz PSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IG1haWx0byAg ICAgfCA9bWFpbHRvOmFkZW50QGdhbGF4eS5uZXQ9ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8Ci18IG1oZSAgICAgICAgfCA9bWhlOmZvbGRlcj0gKGZvbGRlciBsaW5rKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9bWhlOmZv bGRlciNpZD0gKG1lc3NhZ2UgbGluaykgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18 IHJtYWlsICAgICAgfCA9cm1haWw6Zm9sZGVyPSAoZm9sZGVyIGxpbmspICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8Ci18ICAgICAgICAgICAgfCA9cm1haWw6Zm9sZGVyI2lkPSAo bWVzc2FnZSBsaW5rKSAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGdudXMgICAgICAg fCA9Z251czpncm91cD0gKGdyb3VwIGxpbmspICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8Ci18ICAgICAgICAgICAgfCA9Z251czpncm91cCNpZD0gKGFydGljbGUgbGluaykg ICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGJiZGIgICAgICAgfCA9YmJkYjpSLipT dGFsbG1hbj0gKHJlY29yZCB3aXRoIHJlZ2V4cCkgICAgICAgICAgICAgICAgICB8Ci18IGly YyAgICAgICAgfCA9aXJjOi9pcmMuY29tLyNlbWFjcy9ib2I9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8Ci18IGhlbHAgICAgICAgfCA9aGVscDpvcmctc3RvcmUtbGluaz0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGluZm8gICAgICAgfCA9 aW5mbzpvcmcjRXh0ZXJuYWwgbGlua3M9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8Ci18IHNoZWxsICAgICAgfCA9c2hlbGw6bHMgKi5vcmc9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8Ci18IGVsaXNwICAgICAgfCA9ZWxpc3A6KGZpbmQt ZmlsZSAiRWxpc3Aub3JnIik9IChFbGlzcCBmb3JtIHRvIGV2YWx1YXRlKSB8Ci18ICAgICAg ICAgICAgfCA9ZWxpc3A6b3JnLWFnZW5kYT0gKGludGVyYWN0aXZlIEVsaXNwIGNvbW1hbmQp ICAgICAgICAgICB8Cit8IExpbmsgVHlwZSAgfCBFeGFtcGxlICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfC0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLXwKK3wgaHR0cCAgICAgICB8ID1odHRwOi8vc3RhZmYuc2Np ZW5jZS51dmEubmwvYy5kb21pbmlrLz0gICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8 IGh0dHBzICAgICAgfCA9aHR0cHM6Ly9vcmdtb2RlLm9yZy89ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBkb2kgICAgICAgIHwgPWRvaToxMC4x MDAwLzE4Mj0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKK3wgZmlsZSAgICAgICB8ID1maWxlOi9ob21lL2RvbWluaWsvaW1hZ2VzL2p1cGl0 ZXIuanBnPSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgfCA9 L2hvbWUvZG9taW5pay9pbWFnZXMvanVwaXRlci5qcGc9IChzYW1lIGFzIGFib3ZlKSAgICAg ICAgICAgICAgICAgfAorfCAgICAgICAgICAgIHwgPWZpbGU6cGFwZXJzL2xhc3QucGRmPSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAg ICAgICB8ID0uL3BhcGVycy9sYXN0LnBkZj0gKHNhbWUgYXMgYWJvdmUpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgfCA9ZmlsZTovc3NoOm1lQHNv bWUud2hlcmU6cGFwZXJzL2xhc3QucGRmPSAocmVtb3RlKSAgICAgICAgICAgICAgICAgfAor fCAgICAgICAgICAgIHwgPS9zc2g6bWVAc29tZS53aGVyZTpwYXBlcnMvbGFzdC5wZGY9IChz YW1lIGFzIGFib3ZlKSAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICB8ID1maWxlOnNv bWV0ZXh0ZmlsZTo6Tk5OPSAoanVtcCB0byBsaW5lIG51bWJlcikgICAgICAgICAgICAgICAg ICAgICB8Cit8ICAgICAgICAgICAgfCA9ZmlsZTpwcm9qZWN0cy5vcmc9ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgIHwg PWZpbGU6cHJvamVjdHMub3JnOjpzb21lIHdvcmRzPSAodGV4dCBzZWFyY2gpW2ZuOjEyXSAg ICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICB8ID1maWxlOnByb2plY3RzLm9yZzo6KnRh c2sgdGl0bGU9IChoZWFkbGluZSBzZWFyY2gpICAgICAgICAgICAgICAgICB8Cit8ICAgICAg ICAgICAgfCA9ZmlsZTpwcm9qZWN0cy5vcmc6OiNjdXN0b20taWQ9IChoZWFkbGluZSBzZWFy Y2gpICAgICAgICAgICAgICAgICAgfAorfCBhdHRhY2htZW50IHwgPWF0dGFjaG1lbnQ6cHJv amVjdHMub3JnPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK K3wgICAgICAgICAgICB8ID1hdHRhY2htZW50OnByb2plY3RzLm9yZzo6c29tZSB3b3Jkcz0g KHRleHQgc2VhcmNoKSAgICAgICAgICAgICAgICB8Cit8IGRvY3ZpZXcgICAgfCA9ZG9jdmll dzpwYXBlcnMvbGFzdC5wZGY6Ok5OTj0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfAorfCBpZCAgICAgICAgIHwgPWlkOkI3NDIzRjRELTJFOEEtNDcxQi04ODEwLUM0 MEYwNzQ3MTdFOT0gICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICB8 ID1pZDpCNzQyM0Y0RC0yRThBLTQ3MUItODgxMC1DNDBGMDc0NzE3RTk6Oip0YXNrPSAoaGVh ZGxpbmUgc2VhcmNoKSB8Cit8IG5ld3MgICAgICAgfCA9bmV3czpjb21wLmVtYWNzPSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBtYWls dG8gICAgIHwgPW1haWx0bzphZGVudEBnYWxheHkubmV0PSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKK3wgbWhlICAgICAgICB8ID1taGU6Zm9sZGVyPSAo Zm9sZGVyIGxpbmspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 Cit8ICAgICAgICAgICAgfCA9bWhlOmZvbGRlciNpZD0gKG1lc3NhZ2UgbGluaykgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBybWFpbCAgICAgIHwgPXJtYWls OmZvbGRlcj0gKGZvbGRlciBsaW5rKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKK3wgICAgICAgICAgICB8ID1ybWFpbDpmb2xkZXIjaWQ9IChtZXNzYWdlIGxp bmspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IGdudXMgICAgICAg fCA9Z251czpncm91cD0gKGdyb3VwIGxpbmspICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgIHwgPWdudXM6Z3JvdXAjaWQ9IChhcnRp Y2xlIGxpbmspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgYmJk YiAgICAgICB8ID1iYmRiOlIuKlN0YWxsbWFuPSAocmVjb3JkIHdpdGggcmVnZXhwKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8Cit8IGlyYyAgICAgICAgfCA9aXJjOi9pcmMuY29t LyNlbWFjcy9ib2I9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAorfCBoZWxwICAgICAgIHwgPWhlbHA6b3JnLXN0b3JlLWxpbms9ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgaW5mbyAgICAgICB8ID1pbmZv Om9yZyNFeHRlcm5hbCBsaW5rcz0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8Cit8IHNoZWxsICAgICAgfCA9c2hlbGw6bHMgKi5vcmc9ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCBlbGlzcCAgICAg IHwgPWVsaXNwOihmaW5kLWZpbGUgIkVsaXNwLm9yZyIpPSAoRWxpc3AgZm9ybSB0byBldmFs dWF0ZSkgICAgICAgICAgIHwKK3wgICAgICAgICAgICB8ID1lbGlzcDpvcmctYWdlbmRhPSAo aW50ZXJhY3RpdmUgRWxpc3AgY29tbWFuZCkgICAgICAgICAgICAgICAgICAgICB8CiAKICMr Y2luZGV4OiBWTSBsaW5rcwogIytjaW5kZXg6IFdhbmRlcmx1c3QgbGlua3MKQEAgLTM0NjUs OCArMzQ2Nyw5IEBAIGN1cnJlbnQgYnVmZmVyOgogLSAvT3JnIG1vZGUgYnVmZmVycy8gOjoK IAogICBGb3IgT3JnIGZpbGVzLCBpZiB0aGVyZSBpcyBhID08PHRhcmdldD4+PSBhdCBwb2lu dCwgdGhlIGxpbmsgcG9pbnRzCi0gIHRvIHRoZSB0YXJnZXQuICBPdGhlcndpc2UgaXQgcG9p bnRzIHRvIHRoZSBjdXJyZW50IGhlYWRsaW5lLCB3aGljaAotICBpcyBhbHNvIHRoZSBkZXNj cmlwdGlvbi4KKyAgdG8gdGhlIHRhcmdldC4gIElmIHRoZXJlIGlzIGEgbmFtZWQgYmxvY2sg KHVzaW5nID0jK25hbWU6PSkgYXQKKyAgcG9pbnQsIHRoZSBsaW5rIHBvaW50cyB0byB0aGF0 IG5hbWUuICBPdGhlcndpc2UgaXQgcG9pbnRzIHRvIHRoZQorICBjdXJyZW50IGhlYWRsaW5l LCB3aGljaCBpcyBhbHNvIHRoZSBkZXNjcmlwdGlvbi4KIAogICAjK3ZpbmRleDogb3JnLWlk LWxpbmstdG8tb3JnLXVzZS1pZAogICAjK2NpbmRleDogQHNhbXB7Q1VTVE9NX0lEfSwgcHJv cGVydHkKQEAgLTM0ODQsNiArMzQ4NywzMiBAQCBjdXJyZW50IGJ1ZmZlcjoKICAgdGltZXN0 YW1wLCBkZXBlbmRpbmcgb24gfm9yZy1pZC1tZXRob2R+LiAgTGF0ZXIsIHdoZW4gaW5zZXJ0 aW5nIHRoZQogICBsaW5rLCB5b3UgbmVlZCB0byBkZWNpZGUgd2hpY2ggb25lIHRvIHVzZS4K IAorICAjK3ZpbmRleDogb3JnLWlkLWxpbmstY29uc2lkZXItcGFyZW50LWlkCisgICMrdmlu ZGV4OiBvcmctaWQtbGluay11c2UtY29udGV4dAorICAjK3ZpbmRleDogb3JnLWxpbmstY29u dGV4dC1mb3ItZmlsZXMKKyAgV2hlbiB+b3JnLWlkLWxpbmstY29uc2lkZXItcGFyZW50LWlk fiBpcyB+dH5bZm46OiBBbHNvLAorICB+b3JnLWxpbmstY29udGV4dC1mb3ItZmlsZXN+IGFu ZCB+b3JnLWlkLWxpbmstdXNlLWNvbnRleHR+IHNob3VsZCBiZQorICBib3RoIGVuYWJsZWQg KHdoaWNoIHRoZXkgYXJlLCBieSBkZWZhdWx0KS5dLCBwYXJlbnQgPUlEPSBwcm9wZXJ0aWVz CisgIGFyZSBjb25zaWRlcmVkLiAgVGhpcyBhbGxvd3MgbGlua2luZyB0byBzcGVjaWZpYyB0 YXJnZXRzLCBuYW1lZAorICBibG9ja3MsIG9yIGhlYWRsaW5lcyAod2hpY2ggbWF5IG5vdCBo YXZlIGEgZ2xvYmFsbHkgdW5pcXVlID1JRD0KKyAgdGhlbXNlbHZlcykgd2l0aGluIHRoZSBj b250ZXh0IG9mIGEgcGFyZW50IGhlYWRsaW5lIG9yIGZpbGUgd2hpY2gKKyAgZG9lcy4KKwor ICBGb3IgZXhhbXBsZSwgZ2l2ZW4gdGhpcyBvcmcgZmlsZToKKworICAjK2JlZ2luX3NyYyBv cmcKKyAgLCogUGFyZW50CisgIDpQUk9QRVJUSUVTOgorICA6SUQ6IGFiYworICA6RU5EOgor ICAsKiogQ2hpbGQgMQorICAsKiogQ2hpbGQgMgorICAjK2VuZF9zcmMKKworICBTdG9yaW5n IGEgbGluayB3aXRoIHBvaW50IGF0ICJDaGlsZCAxIiB3aWxsIHByb2R1Y2UgYSBsaW5rCisg ID08aWQ6YWJjOjoqQ2hpbGQgMT49LCB3aGljaCBwcmVjaXNlbHkgbGlua3MgdG8gdGhlICJD aGlsZCAxIgorICBoZWFkbGluZSBldmVuIHRob3VnaCBpdCBkb2VzIG5vdCBoYXZlIGl0cyBv d24gSUQuCisKIC0gL0VtYWlsL05ld3MgY2xpZW50czogVk0sIFJtYWlsLCBXYW5kZXJsdXN0 LCBNSC1FLCBHbnVzLyA6OgogCiAgICMrdmluZGV4OiBvcmctbGluay1lbWFpbC1kZXNjcmlw dGlvbi1mb3JtYXQKQEAgLTM3NjMsNyArMzc5Miw5IEBAIHRoZSBsaW5rIGNvbXBsZXRpb24g ZnVuY3Rpb24gbGlrZSB0aGlzOgogOkFMVF9USVRMRTogU2VhcmNoIE9wdGlvbnMKIDpFTkQ6 CiAjK2NpbmRleDogc2VhcmNoIG9wdGlvbiBpbiBmaWxlIGxpbmtzCisjK2NpbmRleDogc2Vh cmNoIG9wdGlvbiBpbiBpZCBsaW5rcwogIytjaW5kZXg6IGZpbGUgbGlua3MsIHNlYXJjaGlu ZworIytjaW5kZXg6IGlkIGxpbmtzLCBzZWFyY2hpbmcKICMrY2luZGV4OiBhdHRhY2htZW50 IGxpbmtzLCBzZWFyY2hpbmcKIAogRmlsZSBsaW5rcyBjYW4gY29udGFpbiBhZGRpdGlvbmFs IGluZm9ybWF0aW9uIHRvIG1ha2UgRW1hY3MganVtcCB0byBhCkBAIC0zNzc1LDggKzM4MDYs OCBAQCBleGFtcGxlLCB3aGVuIHRoZSBjb21tYW5kIH5vcmctc3RvcmUtbGlua34gY3JlYXRl cyBhIGxpbmsgKHNlZQogbGluZSBhcyBhIHNlYXJjaCBzdHJpbmcgdGhhdCBjYW4gYmUgdXNl ZCB0byBmaW5kIHRoaXMgbGluZSBiYWNrIGxhdGVyCiB3aGVuIGZvbGxvd2luZyB0aGUgbGlu ayB3aXRoIHt7e2tiZChDLWMgQy1vKX19fS4KIAotTm90ZSB0aGF0IGFsbCBzZWFyY2ggb3B0 aW9ucyBhcHBseSBmb3IgQXR0YWNobWVudCBsaW5rcyBpbiB0aGUgc2FtZQotd2F5IHRoYXQg dGhleSBhcHBseSBmb3IgRmlsZSBsaW5rcy4KK05vdGUgdGhhdCBhbGwgc2VhcmNoIG9wdGlv bnMgYXBwbHkgZm9yIEF0dGFjaG1lbnQgYW5kIElEIGxpbmtzIGluIHRoZQorc2FtZSB3YXkg dGhhdCB0aGV5IGFwcGx5IGZvciBGaWxlIGxpbmtzLgogCiBIZXJlIGlzIHRoZSBzeW50YXgg b2YgdGhlIGRpZmZlcmVudCB3YXlzIHRvIGF0dGFjaCBhIHNlYXJjaCB0byBhIGZpbGUKIGxp bmssIHRvZ2V0aGVyIHdpdGggZXhwbGFuYXRpb25zIGZvciBlYWNoOgpAQCAtMjEzNjcsNyAr MjEzOTgsNyBAQCBUaGUgZm9sbG93aW5nID1vbC1tYW4uZWw9IGZpbGUgaW1wbGVtZW50cyBp dAogUEFUSCBzaG91bGQgYmUgYSB0b3BpYyB0aGF0IGNhbiBiZSB0aHJvd24gYXQgdGhlIG1h biBjb21tYW5kLiIKICAgKGZ1bmNhbGwgb3JnLW1hbi1jb21tYW5kIHBhdGgpKQogCi0oZGVm dW4gb3JnLW1hbi1zdG9yZS1saW5rICgpCisoZGVmdW4gb3JnLW1hbi1zdG9yZS1saW5rICgm b3B0aW9uYWwgX2ludGVyYWN0aXZlPykKICAgIlN0b3JlIGEgbGluayB0byBhIG1hbiBwYWdl LiIKICAgKHdoZW4gKG1lbXEgbWFqb3ItbW9kZSAnKE1hbi1tb2RlIHdvbWFuLW1vZGUpKQog ICAgIDs7IFRoaXMgaXMgYSBtYW4gcGFnZSwgd2UgZG8gbWFrZSB0aGlzIGxpbmsuCkBAIC0y MTQyNywxMyArMjE0NTgsMTUgQEAgQSByZXZpZXcgb2YgPW9sLW1hbi5lbD06CiAKICAgIEZv ciBleGFtcGxlLCB+b3JnLW1hbi1zdG9yZS1saW5rfiBpcyByZXNwb25zaWJsZSBmb3Igc3Rv cmluZyBhIGxpbmsKICAgIHdoZW4gfm9yZy1zdG9yZS1saW5rfiAoc2VlIFtbKkhhbmRsaW5n IExpbmtzXV0pIGlzIGNhbGxlZCBmcm9tIGEgYnVmZmVyCi0gICBkaXNwbGF5aW5nIGEgbWFu IHBhZ2UuICBJdCBmaXJzdCBjaGVja3MgaWYgdGhlIG1ham9yIG1vZGUgaXMKLSAgIGFwcHJv cHJpYXRlLiAgSWYgY2hlY2sgZmFpbHMsIHRoZSBmdW5jdGlvbiByZXR1cm5zIH5uaWx+LCB3 aGljaAotICAgbWVhbnMgaXQgaXNuJ3QgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIGEgbGlu ayB0byB0aGUgY3VycmVudAotICAgYnVmZmVyLiAgT3RoZXJ3aXNlIHRoZSBmdW5jdGlvbiBt YWtlcyBhIGxpbmsgc3RyaW5nIGJ5IGNvbWJpbmluZwotICAgdGhlID1tYW46PSBwcmVmaXgg d2l0aCB0aGUgbWFuIHRvcGljLiAgSXQgYWxzbyBwcm92aWRlcyBhIGRlZmF1bHQKLSAgIGRl c2NyaXB0aW9uLiAgVGhlIGZ1bmN0aW9uIH5vcmctaW5zZXJ0LWxpbmt+IGNhbiBpbnNlcnQg aXQgYmFjawotICAgaW50byBhbiBPcmcgYnVmZmVyIGxhdGVyIG9uLgorICAgZGlzcGxheWlu ZyBhIG1hbiBwYWdlLiAgSXQgaXMgcGFzc2VkIGFuIGFyZ3VtZW50IH5pbnRlcmFjdGl2ZT9+ CisgICB3aGljaCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IHVzZSwgYnV0IG90aGVyIHN0b3Jl IGZ1bmN0aW9ucyB1c2UgdG8KKyAgIGJlaGF2ZSBkaWZmZXJlbnRseSB3aGVuIGEgbGluayBp cyBzdG9yZWQgaW50ZXJhY3RpdmVseSBieSB0aGUgdXNlci4KKyAgIEl0IGZpcnN0IGNoZWNr cyBpZiB0aGUgbWFqb3IgbW9kZSBpcyBhcHByb3ByaWF0ZS4gIElmIGNoZWNrIGZhaWxzLAor ICAgdGhlIGZ1bmN0aW9uIHJldHVybnMgfm5pbH4sIHdoaWNoIG1lYW5zIGl0IGlzbid0IHJl c3BvbnNpYmxlIGZvcgorICAgY3JlYXRpbmcgYSBsaW5rIHRvIHRoZSBjdXJyZW50IGJ1ZmZl ci4gIE90aGVyd2lzZSB0aGUgZnVuY3Rpb24KKyAgIG1ha2VzIGEgbGluayBzdHJpbmcgYnkg Y29tYmluaW5nIHRoZSA9bWFuOj0gcHJlZml4IHdpdGggdGhlIG1hbgorICAgdG9waWMuICBJ dCBhbHNvIHByb3ZpZGVzIGEgZGVmYXVsdCBkZXNjcmlwdGlvbi4gIFRoZSBmdW5jdGlvbgor ICAgfm9yZy1pbnNlcnQtbGlua34gY2FuIGluc2VydCBpdCBiYWNrIGludG8gYW4gT3JnIGJ1 ZmZlciBsYXRlciBvbi4KIAogKiogQWRkaW5nIEV4cG9ydCBCYWNrZW5kcwogOlBST1BFUlRJ RVM6CmRpZmYgLS1naXQgYS9ldGMvT1JHLU5FV1MgYi9ldGMvT1JHLU5FV1MKaW5kZXggOWU2 OGJjZGNiLi41MzJlZGUwNjcgMTAwNjQ0Ci0tLSBhL2V0Yy9PUkctTkVXUworKysgYi9ldGMv T1JHLU5FV1MKQEAgLTM5MCw2ICszOTAsMTQgQEAgdGltZXN0YW1wIG9iamVjdC4gIFBvc3Np YmxlIHZhbHVlczogfnRpbWVyYW5nZX4sIH5kYXRlcmFuZ2V+LCB+bmlsfi4KIH5vcmctZWxl bWVudC10aW1lc3RhbXAtaW50ZXJwcmV0ZXJ+IHRha2VzIGludG8gYWNjb3VudCB0aGlzIHBy b3BlcnR5CiBhbmQgcmV0dXJucyBhbiBhcHByb3ByaWF0ZSB0aW1lc3RhbXAgc3RyaW5nLgog CisqKioqID1vcmctbGluaz0gc3RvcmUgZnVuY3Rpb25zIGFyZSBwYXNzZWQgYW4gfmludGVy YWN0aXZlP34gYXJndW1lbnQKKworVGhlIH46c3RvcmU6fiBmdW5jdGlvbnMgc2V0IGZvciBs aW5rIHR5cGVzIHVzaW5nCit+b3JnLWxpbmstc2V0LXBhcmFtZXRlcnN+IGFyZSBub3cgcGFz c2VkIGFuIH5pbnRlcmFjdGl2ZT9+IGFyZ3VtZW50LAoraW5kaWNhdGluZyB3aGV0aGVyIH5v cmctc3RvcmUtbGlua34gd2FzIGNhbGxlZCBpbnRlcmFjdGl2ZWx5LgorCitFeGlzdGluZyBz dG9yZSBmdW5jdGlvbnMgd2lsbCBjb250aW51ZSB0byB3b3JrLgorCiAqKiogfm9yZy1wcmlv cml0eT1zaG93fiBjb21tYW5kIG5vIGxvbmdlciBhZGp1c3RzIGZvciBzY2hlZHVsZWQvZGVh ZGxpbmUKIAogSW4gYWdlbmRhIHZpZXdzLCB+b3JnLXByaW9yaXR5PXNob3d+IGNvbW1hbmQg cHJldmlvdXNseSBkaXNwbGF5ZWQgdGhlCkBAIC00NjgsNiArNDc2LDI4IEBAIFRoZSBjaGFu Z2UgaXMgYnJlYWtpbmcgd2hlbiB+b3JnLXVzZS1wcm9wZXJ0eS1pbmhlcml0YW5jZX4gaXMg c2V0IHRvIH50fi4KICoqKiB+b3JnLWJhYmVsLWxpbHlwb25kLWNvbXBpbGUtbGlseWZpbGV+ IGlnbm9yZXMgb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50CiAKIFRoZSA9VEVTVD0gcGFyYW1l dGVyIGlzIGJldHRlciBzZXJ2ZWQgYnkgRW1hY3MgZGVidWdnaW5nIHRvb2xzLgorCisqKiog PWlkOj0gbGlua3Mgc3VwcG9ydCBzZWFyY2ggb3B0aW9uczsgfm9yZy1pZC1zdG9yZS1saW5r fiBhZGRzIHNlYXJjaCBvcHRpb24gYnkgZGVmYXVsdAorCitBZGRpbmcgc2VhcmNoIG9wdGlv biBieSB+b3JnLWlkLXN0b3JlLWxpbmt+IGNhbiBiZSBkaXNhYmxlZCBieSBzZXR0aW5nCit+ b3JnLWlkLWxpbmstdXNlLWNvbnRleHR+IHRvIH5uaWx+LCBvciB0b2dnbGVkIGZvciBhIHNp bmdsZSBjYWxsIGJ5CitwYXNzaW5nIHVuaXZlcnNhbCBhcmd1bWVudC4KKworV2hlbiB1c2lu ZyB0aGlzIGZlYXR1cmUsIElEcyBzaG91bGQgbm90IGluY2x1ZGUgPTo6PSwgd2hpY2ggaXMg dXNlZCBpbgorbGlua3MgdG8gaW5kaWNhdGUgdGhlIHN0YXJ0IG9mIHRoZSBzZWFyY2ggc3Ry aW5nLiAgRm9yIGJhY2t3YXJkcworY29tcGFiaWxpdHksIGV4aXN0aW5nIElEcyBpbmNsdWRp bmcgPTo6PSB3aWxsIHN0aWxsIGJlIG1hdGNoZWQgKGJ1dAorY2Fubm90IGJlIHVzZWQgdG9n ZXRoZXIgd2l0aCBzZWFyY2ggb3B0aW9uKS4gIEEgbmV3IG9yZy1saW50IGNoZWNrZXIKK2hh cyBiZWVuIGFkZGVkIHRvIHdhcm4gYWJvdXQgdGhpcy4KKworKioqIH5vcmctc3RvcmUtbGlu a34gYmVoYXZpb3VyIHN0b3JpbmcgYWRkaXRpb25hbCA9Q1VTVE9NX0lEPSBsaW5rcyBoYXMg Y2hhbmdlZAorCitQcmV2aW91c2x5LCB3aGVuIHN0b3JpbmcgPWlkOj0gbGluaywgfm9yZy1z dG9yZS1saW5rfiBzdG9yZWQgYW4KK2FkZGl0aW9uYWwgImh1bWFuIHJlYWRhYmxlIiBsaW5r IHVzaW5nIGEgbm9kZSdzID1DVVNUT01fSUQ9IHByb3BlcnR5LgorCitUaGlzIGJlaGF2aW91 ciBoYXMgYmVlbiBleHBhbmRlZCB0byBzdG9yZSBhbiBhZGRpdGlvbmFsID1DVVNUT01fSUQ9 CitsaW5rIHdoZW4gc3RvcmluZyBhbnkgdHlwZSBvZiBleHRlcm5hbCBsaW5rIHR5cGUgaW4g YW4gT3JnIGZpbGUsIG5vdAoranVzdCA9aWQ6PSBsaW5rcy4KKwogKiogTmV3IGFuZCBjaGFu Z2VkIG9wdGlvbnMKICoqKiB+cmVwZWF0ZWQtYWZ0ZXItZGVhZGxpbmV+IHZhbHVlIG9mIH5v cmctYWdlbmRhLXNraXAtc2NoZWR1bGVkLXJlcGVhdHMtYWZ0ZXItZGVhZGxpbmV+IGlzIG1v dmVkIHRvIGEgbmV3IGN1c3RvbWl6YXRpb24KIApAQCAtNzQzLDYgKzc3MywzNSBAQCBUaGlz IG9wdGlvbiBzdGFydHMgdGhlIGFnZW5kYSB0byBhdXRvbWF0aWNhbGx5IGluY2x1ZGUgYXJj aGl2ZXMsCiBwcm9wYWdhdGluZyB0aGUgdmFsdWUgZm9yIHRoaXMgdmFyaWFibGUgdG8gfm9y Zy1hZ2VuZGEtYXJjaGl2ZXMtbW9kZX4uCiBGb3IgYWNjZXB0YWJsZSB2YWx1ZXMgYW5kIHRo ZWlyIG1lYW5pbmcsIHNlZSB0aGUgdmFsdWUgb2YgdGhhdCB2YXJpYWJsZS4KIAorKioqIE5l dyBvcHRpb24gfm9yZy1pZC1saW5rLWNvbnNpZGVyLXBhcmVudC1pZH4gdG8gYWxsb3cgPWlk Oj0gbGlua3MgdG8gcGFyZW50IGhlYWRsaW5lcworCitGb3IgPWlkOj0gbGlua3MsIHdoZW4g dGhpcyBvcHRpb24gaXMgZW5hYmxlZCwgfm9yZy1zdG9yZS1saW5rfiB3aWxsCitsb29rIGZv ciBpZHMgZnJvbSBwYXJlbnQvYW5jZXN0b3IgaGVhZGxpbmVzLCBpZiB0aGUgY3VycmVudCBo ZWFkbGluZQorZG9lcyBub3QgaGF2ZSBhbiBpZC4KKworQ29tYmluZWQgd2l0aCB0aGUgbmV3 IGFiaWxpdHkgZm9yID1pZDo9IGxpbmtzIHRvIHVzZSBzZWFyY2ggb3B0aW9ucworIFtmbjo6 IHdoZW4gPW9yZy1pZC1saW5rLXVzZS1jb250ZXh0PSBpcyA9dD0sIHdoaWNoIGlzIHRoZSBk ZWZhdWx0XSwKK3RoaXMgYWxsb3dzIGxpbmtpbmcgdG8gc3BlY2lmaWMgaGVhZGxpbmVzIHdp dGhvdXQgcmVxdWlyaW5nIGV2ZXJ5CitoZWFkbGluZSB0byBoYXZlIGFuIGlkIHByb3BlcnR5 LCBhcyBsb25nIGFzIHRoZSBoZWFkbGluZSBpcyB1bmlxdWUKK3dpdGhpbiBhIHN1YnRyZWUg dGhhdCBkb2VzIGhhdmUgYW4gaWQgcHJvcGVydHkuCisKK0ZvciBleGFtcGxlLCBnaXZlbiB0 aGlzIG9yZyBmaWxlOgorCisjK2JlZ2luX3NyYyBvcmcKKywqIFBhcmVudAorOlBST1BFUlRJ RVM6Cis6SUQ6IGFiYworOkVORDoKKywqKiBDaGlsZCAxCissKiogQ2hpbGQgMgorIytlbmRf c3JjCisKK1N0b3JpbmcgYSBsaW5rIHdpdGggcG9pbnQgYXQgIkNoaWxkIDEiIHdpbGwgcHJv ZHVjZSBhIGxpbmsKKz08aWQ6YWJjOjoqQ2hpbGQgMT49LCB3aGljaCBwcmVjaXNlbHkgbGlu a3MgdG8gdGhlICJDaGlsZCAxIiBoZWFkbGluZQorZXZlbiB0aG91Z2ggaXQgZG9lcyBub3Qg aGF2ZSBpdHMgb3duIElELiAgQnkgZ2l2aW5nIGZpbGVzIHRvcC1sZXZlbCBpZAorcHJvcGVy dGllcywgbGlua3MgdG8gaGVhZGxpbmVzIGluIHRoZSBmaWxlIGNhbiBhbHNvIGJlIG1hZGUg bW9yZQorcm9idXN0IGJ5IHVzaW5nIHRoZSBmaWxlIGlkIGluc3RlYWQgb2YgdGhlIGZpbGUg cGF0aC4KKwogKiogTmV3IGZlYXR1cmVzCiAqKiogPW9iLXBsYW50dW1sLmVsPTogU3VwcG9y dCB0aWt6IGZpbGUgZm9ybWF0IG91dHB1dAogCkBAIC0xMDM5LDYgKzEwOTgsMTkgQEAgQSBu dW1lcmljIHZhbHVlIGZvcmNlcyBhIGhlYWRpbmcgYXQgdGhhdCBsZXZlbCB0byBiZSBpbnNl cnRlZC4gIEZvcgogYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIG5vbi1udW1lcmljIG5vbi1u aWwgdmFsdWVzIGluc2VydCBsZXZlbCAxCiBoZWFkaW5ncyBhcyBiZWZvcmUuCiAKKyoqKiBO ZXcgb3B0aW9uYWwgYXJndW1lbnQgZm9yIH5vcmctaWQtZ2V0fgorCitOZXcgb3B0aW9uYWwg YXJndW1lbnQgPUlOSEVSSVQ9IG1lYW5zIGluaGVyaXRlZCBJRCBwcm9wZXJ0aWVzIGZyb20K K3BhcmVudCBlbnRyaWVzIGFyZSBjb25zaWRlcmVkIHdoZW4gZ2V0dGluZyBhbiBlbnRyeSdz IElEIChzZWUKK35vcmctaWQtbGluay1jb25zaWRlci1wYXJlbnQtaWR+IG9wdGlvbikuCisK KyoqKiBOZXcgb3B0aW9uYWwgYXJndW1lbnQgZm9yIH5vcmctbGluay1zZWFyY2h+CisKK0lm IGEgbWlzc2luZyBoZWFkaW5nIGlzIGNyZWF0ZWQgdG8gbWF0Y2ggdGhlIHNlYXJjaCBzdHJp bmcsIHRoZSBuZXcKK29wdGlvbmFsIGFyZ3VtZW50ID1ORVctSEVBRElORy1DT05UQUlORVI9 IHNwZWNpZmllcyB3aGVyZSBpbiB0aGUKK2J1ZmZlciBpdCB3aWxsIGJlIGFkZGVkLiAgSWYg bm90IHNwZWNpZmllZCwgbmV3IGhlYWRpbmdzIGFyZSBjcmVhdGVkCithdCBsZXZlbCAxIGF0 IHRoZSBlbmQgb2YgdGhlIGFjY2Vzc2libGUgcGFydCBvZiB0aGUgYnVmZmVyLCBhcyBiZWZv cmUuCisKICoqIE1pc2NlbGxhbmVvdXMKICoqKiA9b3JnLWNyeXB0LmVsPSBub3cgYXBwbGll cyBpbml0aWFsIHZpc2liaWxpdHkgc2V0dGluZ3MgdG8gZGVjcnlwdGVkIGVudHJpZXMKIApk aWZmIC0tZ2l0IGEvbGlzcC9vbC1iYmRiLmVsIGIvbGlzcC9vbC1iYmRiLmVsCmluZGV4IGJl MzkyNGZjOS4uNmVhMDYwZjcwIDEwMDY0NAotLS0gYS9saXNwL29sLWJiZGIuZWwKKysrIGIv bGlzcC9vbC1iYmRiLmVsCkBAIC0yMjYsNyArMjI2LDcgQEAgZGF0ZSB5ZWFyKS4iCiAKIDs7 OyBJbXBsZW1lbnRhdGlvbgogCi0oZGVmdW4gb3JnLWJiZGItc3RvcmUtbGluayAoKQorKGRl ZnVuIG9yZy1iYmRiLXN0b3JlLWxpbmsgKCZvcHRpb25hbCBfaW50ZXJhY3RpdmU/KQogICAi U3RvcmUgYSBsaW5rIHRvIGEgQkJEQiBkYXRhYmFzZSBlbnRyeS4iCiAgICh3aGVuIChlcSBt YWpvci1tb2RlICdiYmRiLW1vZGUpCiAgICAgOzsgVGhpcyBpcyBCQkRCLCB3ZSBtYWtlIHRo aXMgbGluayEKZGlmZiAtLWdpdCBhL2xpc3Avb2wtYmlidGV4LmVsIGIvbGlzcC9vbC1iaWJ0 ZXguZWwKaW5kZXggYzVhOTUwZTJkLi4zODQ2OGYzMmYgMTAwNjQ0Ci0tLSBhL2xpc3Avb2wt YmlidGV4LmVsCisrKyBiL2xpc3Avb2wtYmlidGV4LmVsCkBAIC01MDcsNyArNTA3LDcgQEAg QVJHLCB3aGVuIG5vbi1uaWwsIGlzIGEgdW5pdmVyc2FsIHByZWZpeCBhcmd1bWVudC4gIFNl ZQogYG9yZy1vcGVuLWZpbGUnIGZvciBkZXRhaWxzLiIKICAgKG9yZy1saW5rLW9wZW4tYXMt ZmlsZSBwYXRoIGFyZykpCiAKLShkZWZ1biBvcmctYmlidGV4LXN0b3JlLWxpbmsgKCkKKyhk ZWZ1biBvcmctYmlidGV4LXN0b3JlLWxpbmsgKCZvcHRpb25hbCBfaW50ZXJhY3RpdmU/KQog ICAiU3RvcmUgYSBsaW5rIHRvIGEgQmliVGVYIGVudHJ5LiIKICAgKHdoZW4gKGVxIG1ham9y LW1vZGUgJ2JpYnRleC1tb2RlKQogICAgIChsZXQqICgoc2VhcmNoIChvcmctY3JlYXRlLWZp bGUtc2VhcmNoLWluLWJpYnRleCkpCmRpZmYgLS1naXQgYS9saXNwL29sLWRvY3ZpZXcuZWwg Yi9saXNwL29sLWRvY3ZpZXcuZWwKaW5kZXggYjMxZjFjZTVlLi4wOTA3ZGRlZTEgMTAwNjQ0 Ci0tLSBhL2xpc3Avb2wtZG9jdmlldy5lbAorKysgYi9saXNwL29sLWRvY3ZpZXcuZWwKQEAg LTgzLDcgKzgzLDcgQEAKICAgICAgIChlcnJvciAiTm8gc3VjaCBmaWxlOiAlcyIgcGF0aCkp CiAgICAgKHdoZW4gcGFnZSAoZG9jLXZpZXctZ290by1wYWdlIHBhZ2UpKSkpCiAKLShkZWZ1 biBvcmctZG9jdmlldy1zdG9yZS1saW5rICgpCisoZGVmdW4gb3JnLWRvY3ZpZXctc3RvcmUt bGluayAoJm9wdGlvbmFsIF9pbnRlcmFjdGl2ZT8pCiAgICJTdG9yZSBhIGxpbmsgdG8gYSBk b2N2aWV3IGJ1ZmZlci4iCiAgICh3aGVuIChlcSBtYWpvci1tb2RlICdkb2Mtdmlldy1tb2Rl KQogICAgIDs7IFRoaXMgYnVmZmVyIGlzIGluIGRvYy12aWV3LW1vZGUKZGlmZiAtLWdpdCBh L2xpc3Avb2wtZXNoZWxsLmVsIGIvbGlzcC9vbC1lc2hlbGwuZWwKaW5kZXggMmM3ZWM2YmVm Li41OTVkZDBlZTAgMTAwNjQ0Ci0tLSBhL2xpc3Avb2wtZXNoZWxsLmVsCisrKyBiL2xpc3Av b2wtZXNoZWxsLmVsCkBAIC02MCw3ICs2MCw3IEBAIGZvbGxvd2VkIGJ5IGEgY29sb24uIgog ICAgIChpbnNlcnQgY29tbWFuZCkKICAgICAoZXNoZWxsLXNlbmQtaW5wdXQpKSkKIAotKGRl ZnVuIG9yZy1lc2hlbGwtc3RvcmUtbGluayAoKQorKGRlZnVuIG9yZy1lc2hlbGwtc3RvcmUt bGluayAoJm9wdGlvbmFsIF9pbnRlcmFjdGl2ZT8pCiAgICJTdG9yZSBlc2hlbGwgbGluay4K IFdoZW4gb3BlbmVkLCB0aGUgbGluayBzd2l0Y2hlcyBiYWNrIHRvIHRoZSBjdXJyZW50IGVz aGVsbCBidWZmZXIgYW5kCiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iCmRpZmYg LS1naXQgYS9saXNwL29sLWV3dy5lbCBiL2xpc3Avb2wtZXd3LmVsCmluZGV4IDQwYjgyMGQy Yi4uYzEzZGJmMzM5IDEwMDY0NAotLS0gYS9saXNwL29sLWV3dy5lbAorKysgYi9saXNwL29s LWV3dy5lbApAQCAtNjIsNyArNjIsNyBAQAogICAiT3BlbiBVUkwgd2l0aCBFd3cgaW4gdGhl IGN1cnJlbnQgYnVmZmVyLiIKICAgKGV3dyB1cmwpKQogCi0oZGVmdW4gb3JnLWV3dy1zdG9y ZS1saW5rICgpCisoZGVmdW4gb3JnLWV3dy1zdG9yZS1saW5rICgmb3B0aW9uYWwgX2ludGVy YWN0aXZlPykKICAgIlN0b3JlIGEgbGluayB0byB0aGUgdXJsIG9mIGFuIEVXVyBidWZmZXIu IgogICAod2hlbiAoZXEgbWFqb3ItbW9kZSAnZXd3LW1vZGUpCiAgICAgKG9yZy1saW5rLXN0 b3JlLXByb3BzCmRpZmYgLS1naXQgYS9saXNwL29sLWdudXMuZWwgYi9saXNwL29sLWdudXMu ZWwKaW5kZXggZTEwNWZkYjJjLi5iOWVlODY4M2YgMTAwNjQ0Ci0tLSBhL2xpc3Avb2wtZ251 cy5lbAorKysgYi9saXNwL29sLWdudXMuZWwKQEAgLTEyMyw3ICsxMjMsNyBAQCBJZiBgb3Jn LXN0b3JlLWxpbmsnIHdhcyBjYWxsZWQgd2l0aCBhIHByZWZpeCBhcmcgdGhlIG1lYW5pbmcg b2YKIAkgICAgICAodXJsLWVuY29kZS11cmwgbWVzc2FnZS1pZCkpCiAgICAgKGNvbmNhdCAi Z251czoiIGdyb3VwICIjIiBtZXNzYWdlLWlkKSkpCiAKLShkZWZ1biBvcmctZ251cy1zdG9y ZS1saW5rICgpCisoZGVmdW4gb3JnLWdudXMtc3RvcmUtbGluayAoJm9wdGlvbmFsIF9pbnRl cmFjdGl2ZT8pCiAgICJTdG9yZSBhIGxpbmsgdG8gYSBHbnVzIGZvbGRlciBvciBtZXNzYWdl LiIKICAgKHBjYXNlIG1ham9yLW1vZGUKICAgICAoYGdudXMtZ3JvdXAtbW9kZQpkaWZmIC0t Z2l0IGEvbGlzcC9vbC1pbmZvLmVsIGIvbGlzcC9vbC1pbmZvLmVsCmluZGV4IDBlZGY5YTEz Zi4uNjA2MmNhYjM0IDEwMDY0NAotLS0gYS9saXNwL29sLWluZm8uZWwKKysrIGIvbGlzcC9v bC1pbmZvLmVsCkBAIC01MCw3ICs1MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAg Omluc2VydC1kZXNjcmlwdGlvbiAjJ29yZy1pbmZvLWRlc2NyaXB0aW9uLWFzLWNvbW1hbmQp CiAKIDs7IEltcGxlbWVudGF0aW9uCi0oZGVmdW4gb3JnLWluZm8tc3RvcmUtbGluayAoKQor KGRlZnVuIG9yZy1pbmZvLXN0b3JlLWxpbmsgKCZvcHRpb25hbCBfaW50ZXJhY3RpdmU/KQog ICAiU3RvcmUgYSBsaW5rIHRvIGFuIEluZm8gZmlsZSBhbmQgbm9kZS4iCiAgICh3aGVuIChl cSBtYWpvci1tb2RlICdJbmZvLW1vZGUpCiAgICAgKGxldCAoKGxpbmsgKGNvbmNhdCAiaW5m bzoiCmRpZmYgLS1naXQgYS9saXNwL29sLWlyYy5lbCBiL2xpc3Avb2wtaXJjLmVsCmluZGV4 IDc4YzQ4ODRiMC4uYjI2M2U1MmRiIDEwMDY0NAotLS0gYS9saXNwL29sLWlyYy5lbAorKysg Yi9saXNwL29sLWlyYy5lbApAQCAtMTAzLDcgKzEwMyw3IEBAIGF0dHJpYnV0ZXMgdGhhdCBh cmUgZm91bmQuIgogICAgIHBhcnRzKSkKIAogOzs7IyMjYXV0b2xvYWQKLShkZWZ1biBvcmct aXJjLXN0b3JlLWxpbmsgKCkKKyhkZWZ1biBvcmctaXJjLXN0b3JlLWxpbmsgKCZvcHRpb25h bCBfaW50ZXJhY3RpdmU/KQogICAiRGlzcGF0Y2ggdG8gdGhlIGFwcHJvcHJpYXRlIGZ1bmN0 aW9uIHRvIHN0b3JlIGEgbGluayB0byBhbiBJUkMgc2Vzc2lvbi4iCiAgIChjb25kCiAgICAo KGVxIG1ham9yLW1vZGUgJ2VyYy1tb2RlKQpkaWZmIC0tZ2l0IGEvbGlzcC9vbC1tYW4uZWwg Yi9saXNwL29sLW1hbi5lbAppbmRleCBlM2YxMzgxNWUuLjQyYWFjZWE4MSAxMDA2NDQKLS0t IGEvbGlzcC9vbC1tYW4uZWwKKysrIGIvbGlzcC9vbC1tYW4uZWwKQEAgLTgyLDcgKzgyLDcg QEAgbWF0Y2hlZCBzdHJpbmdzIGluIG1hbiBidWZmZXIuIgogICAgICAgICAgICAgKHNldC13 aW5kb3ctcG9pbnQgd2luZG93IHBvaW50KQogICAgICAgICAgICAgKHNldC13aW5kb3ctc3Rh cnQgd2luZG93IHBvaW50KSkpKSkpKQogCi0oZGVmdW4gb3JnLW1hbi1zdG9yZS1saW5rICgp CisoZGVmdW4gb3JnLW1hbi1zdG9yZS1saW5rICgmb3B0aW9uYWwgX2ludGVyYWN0aXZlPykK ICAgIlN0b3JlIGEgbGluayB0byBhIFJFQURNRSBmaWxlLiIKICAgKHdoZW4gKG1lbXEgbWFq b3ItbW9kZSAnKE1hbi1tb2RlIHdvbWFuLW1vZGUpKQogICAgIDs7IFRoaXMgaXMgYSBtYW4g cGFnZSwgd2UgZG8gbWFrZSB0aGlzIGxpbmsKZGlmZiAtLWdpdCBhL2xpc3Avb2wtbWhlLmVs IGIvbGlzcC9vbC1taGUuZWwKaW5kZXggMTA2Y2ZlZGM5Li5hMzI0ODEzMjQgMTAwNjQ0Ci0t LSBhL2xpc3Avb2wtbWhlLmVsCisrKyBiL2xpc3Avb2wtbWhlLmVsCkBAIC04MCw3ICs4MCw3 IEBAIHN1cHBvcnRlZCBieSBNSC1FLiIKIChvcmctbGluay1zZXQtcGFyYW1ldGVycyAibWhl IiA6Zm9sbG93ICMnb3JnLW1oZS1vcGVuIDpzdG9yZSAjJ29yZy1taGUtc3RvcmUtbGluaykK IAogOzsgSW1wbGVtZW50YXRpb24KLShkZWZ1biBvcmctbWhlLXN0b3JlLWxpbmsgKCkKKyhk ZWZ1biBvcmctbWhlLXN0b3JlLWxpbmsgKCZvcHRpb25hbCBfaW50ZXJhY3RpdmU/KQogICAi U3RvcmUgYSBsaW5rIHRvIGFuIE1ILUUgZm9sZGVyIG9yIG1lc3NhZ2UuIgogICAod2hlbiAo b3IgKGVxIG1ham9yLW1vZGUgJ21oLWZvbGRlci1tb2RlKQogCSAgICAoZXEgbWFqb3ItbW9k ZSAnbWgtc2hvdy1tb2RlKSkKZGlmZiAtLWdpdCBhL2xpc3Avb2wtcm1haWwuZWwgYi9saXNw L29sLXJtYWlsLmVsCmluZGV4IGY2MDMxYWI1Mi4uZjFmNzUzYjZmIDEwMDY0NAotLS0gYS9s aXNwL29sLXJtYWlsLmVsCisrKyBiL2xpc3Avb2wtcm1haWwuZWwKQEAgLTUxLDcgKzUxLDcg QEAKIAkJCSA6c3RvcmUgIydvcmctcm1haWwtc3RvcmUtbGluaykKIAogOzsgSW1wbGVtZW50 YXRpb24KLShkZWZ1biBvcmctcm1haWwtc3RvcmUtbGluayAoKQorKGRlZnVuIG9yZy1ybWFp bC1zdG9yZS1saW5rICgmb3B0aW9uYWwgX2ludGVyYWN0aXZlPykKICAgIlN0b3JlIGEgbGlu ayB0byBhbiBSbWFpbCBmb2xkZXIgb3IgbWVzc2FnZS4iCiAgICh3aGVuIChvciAoZXEgbWFq b3ItbW9kZSAncm1haWwtbW9kZSkKIAkgICAgKGVxIG1ham9yLW1vZGUgJ3JtYWlsLXN1bW1h cnktbW9kZSkpCmRpZmYgLS1naXQgYS9saXNwL29sLmVsIGIvbGlzcC9vbC5lbAppbmRleCBm OGQ5MTExMjcuLjI5YjJkMmJjZiAxMDA2NDQKLS0tIGEvbGlzcC9vbC5lbAorKysgYi9saXNw L29sLmVsCkBAIC01NywxMyArNTcsMTMgQEAKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1lbGVt ZW50LWxpbmstcGFyc2VyICJvcmctZWxlbWVudCIgKCkpCiAoZGVjbGFyZS1mdW5jdGlvbiBv cmctZWxlbWVudC1wcm9wZXJ0eSAib3JnLWVsZW1lbnQtYXN0IiAocHJvcGVydHkgbm9kZSkp CiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctZWxlbWVudC1iZWdpbiAib3JnLWVsZW1lbnQiIChu b2RlKSkKKyhkZWNsYXJlLWZ1bmN0aW9uIG9yZy1lbGVtZW50LWVuZCAib3JnLWVsZW1lbnQi IChub2RlKSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1lbGVtZW50LXR5cGUtcCAib3JnLWVs ZW1lbnQtYXN0IiAobm9kZSB0eXBlcykpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctZWxlbWVu dC11cGRhdGUtc3ludGF4ICJvcmctZWxlbWVudCIgKCkpCiAoZGVjbGFyZS1mdW5jdGlvbiBv cmctZW50cnktZ2V0ICJvcmciIChwb20gcHJvcGVydHkgJm9wdGlvbmFsIGluaGVyaXQgbGl0 ZXJhbC1uaWwpKQogKGRlY2xhcmUtZnVuY3Rpb24gb3JnLWZpbmQtcHJvcGVydHkgIm9yZyIg KHByb3BlcnR5ICZvcHRpb25hbCB2YWx1ZSkpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctZ2V0 LWhlYWRpbmcgIm9yZyIgKCZvcHRpb25hbCBuby10YWdzIG5vLXRvZG8gbm8tcHJpb3JpdHkg bm8tY29tbWVudCkpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctaWQtZmluZC1pZC1maWxlICJv cmctaWQiIChpZCkpCi0oZGVjbGFyZS1mdW5jdGlvbiBvcmctaWQtc3RvcmUtbGluayAib3Jn LWlkIiAoKSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1pbnNlcnQtaGVhZGluZyAib3JnIiAo Jm9wdGlvbmFsIGFyZyBpbnZpc2libGUtb2sgdG9wKSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9y Zy1sb2FkLW1vZHVsZXMtbWF5YmUgIm9yZyIgKCZvcHRpb25hbCBmb3JjZSkpCiAoZGVjbGFy ZS1mdW5jdGlvbiBvcmctbWFyay1yaW5nLXB1c2ggIm9yZyIgKCZvcHRpb25hbCBwb3MgYnVm ZmVyKSkKQEAgLTgxOCw2ICs4MTgsNzQgQEAgc3BlYy4iCiAgIChvcmctd2l0aC1wb2ludC1h dCAoY2FyIHJlZ2lvbikKICAgICAobm90IChvcmctaW4tcmVnZXhwIG9yZy1saW5rLWFueS1y ZSkpKSkKIAorKGRlZnVuIG9yZy1saW5rLS10cnktbGluay1zdG9yZS1mdW5jdGlvbnMgKGlu dGVyYWN0aXZlPykKKyAgIlRyeSBzdG9yaW5nIGV4dGVybmFsIGxpbmtzLCBwcm9tcHRpbmcg aWYgbW9yZSB0aGFuIG9uZSBpcyBwb3NzaWJsZS4KKworRWFjaCBmdW5jdGlvbiByZXR1cm5l ZCBieSBgb3JnLXN0b3JlLWxpbmstZnVuY3Rpb25zJyBpcyBjYWxsZWQgaW4KK3R1cm4uICBJ ZiBtdWx0aXBsZSBmdW5jdGlvbnMgcmV0dXJuIG5vbi1uaWwsIHByb21wdCBmb3Igd2hpY2gK K2xpbmsgc2hvdWxkIGJlIHN0b3JlZC4KKworQXJndW1lbnQgSU5URVJBQ1RJVkU/IGluZGlj YXRlcyB3aGV0aGVyIGBvcmctc3RvcmUtbGluaycgd2FzCitjYWxsZWQgaW50ZXJhY3RpdmVs eSBhbmQgaXMgcGFzc2VkIHRvIHRoZSBsaW5rIHN0b3JlIGZ1bmN0aW9ucy4KKworUmV0dXJu IHQgd2hlbiBhIGxpbmsgaGFzIGJlZW4gc3RvcmVkIGluIGBvcmctbGluay1zdG9yZS1wcm9w cycuIgorICAobGV0ICgocmVzdWx0cy1hbGlzdCBuaWwpKQorICAgIChkb2xpc3QgKGYgKG9y Zy1zdG9yZS1saW5rLWZ1bmN0aW9ucykpCisgICAgICAod2hlbiAoY29uZGl0aW9uLWNhc2Ug bmlsCisgICAgICAgICAgICAgICAgKGZ1bmNhbGwgZiBpbnRlcmFjdGl2ZT8pCisgICAgICAg ICAgICAgIDs7IEZJWE1FOiBUaGUgc3RvcmUgZnVuY3Rpb24gdXNlZCAoPCBPcmcgOS43KSB0 byBhY2NlcHQKKyAgICAgICAgICAgICAgOzsgbm8gYXJndW1lbnRzOyBwcm92aWRlIGJhY2t3 YXJkIGNvbXBhdGliaWxpdHkgc3VwcG9ydAorICAgICAgICAgICAgICA7OyBmb3IgdGhlbS4K KyAgICAgICAgICAgICAgKHdyb25nLW51bWJlci1vZi1hcmd1bWVudHMKKyAgICAgICAgICAg ICAgIChmdW5jYWxsIGYpKSkKKyAgICAgICAgOzsgRklYTUU6IHJldHVybiB2YWx1ZSBpcyBu b3QgbGluaydzIHBsaXN0LCBzbyB3ZSBzdG9yZSB0aGUKKyAgICAgICAgOzsgbmV3IHZhbHVl IGJlZm9yZSBpdCBpcyBtb2RpZmllZC4gIEl0IHdvdWxkIGJlIGNsZWFuZXIgdG8KKyAgICAg ICAgOzsgYXNrIHN0b3JlIGxpbmsgZnVuY3Rpb25zIHRvIHJldHVybiB0aGUgcGxpc3QgaW5z dGVhZC4KKyAgICAgICAgKHB1c2ggKGNvbnMgZiAoY29weS1zZXF1ZW5jZSBvcmctc3RvcmUt bGluay1wbGlzdCkpCisgICAgICAgICAgICAgIHJlc3VsdHMtYWxpc3QpKSkKKyAgICAocGNh c2UgcmVzdWx0cy1hbGlzdAorICAgICAgKGBuaWwgbmlsKQorICAgICAgKGAoKCxfIC4gLF8p KSB0KQk7c2luZ2xlIGNob2ljZTogbm90aGluZyB0byBkbworICAgICAgKGAoKCxuYW1lIC4g LF8pIC4gLF8pCisgICAgICAgOzsgUmVpbnN0YXRlIGxpbmsgcGxpc3QgYXNzb2NpYXRlZCB0 byB0aGUgY2hvc2VuCisgICAgICAgOzsgZnVuY3Rpb24uCisgICAgICAgKGFwcGx5ICMnb3Jn LWxpbmstc3RvcmUtcHJvcHMKKyAgICAgICAgICAgICAgKGNkciAoYXNzb2Mtc3RyaW5nCisg ICAgICAgICAgICAgICAgICAgIChjb21wbGV0aW5nLXJlYWQKKyAgICAgICAgICAgICAgICAg ICAgIChmb3JtYXQgIlN0b3JlIGxpbmsgd2l0aCAoZGVmYXVsdCAlcyk6ICIgbmFtZSkKKyAg ICAgICAgICAgICAgICAgICAgIChtYXBjYXIgIydjYXIgcmVzdWx0cy1hbGlzdCkKKyAgICAg ICAgICAgICAgICAgICAgIG5pbCB0IG5pbCBuaWwgKHN5bWJvbC1uYW1lIG5hbWUpKQorICAg ICAgICAgICAgICAgICAgICByZXN1bHRzLWFsaXN0KSkpCisgICAgICAgdCkpKSkKKworKGRl ZnVuIG9yZy1saW5rLS1hZGQtdG8tc3RvcmVkLWxpbmtzIChsaW5rIGRlc2MpCisgICJBZGQg TElOSyB0byBgb3JnLXN0b3JlZC1saW5rcycgd2l0aCBkZXNjcmlwdGlvbiBERVNDLiIKKyAg KGNvbmQKKyAgICgobm90IChtZW1iZXIgKGxpc3QgbGluayBkZXNjKSBvcmctc3RvcmVkLWxp bmtzKSkKKyAgICAocHVzaCAobGlzdCBsaW5rIGRlc2MpIG9yZy1zdG9yZWQtbGlua3MpCisg ICAgKG1lc3NhZ2UgIlN0b3JlZDogJXMiIChvciBkZXNjIGxpbmspKSkKKyAgICgoZXF1YWwg KGxpc3QgbGluayBkZXNjKSAoY2FyIG9yZy1zdG9yZWQtbGlua3MpKQorICAgIChtZXNzYWdl ICJUaGlzIGxpbmsgaGFzIGFscmVhZHkgYmVlbiBzdG9yZWQiKSkKKyAgICh0CisgICAgKHNl dHEgb3JnLXN0b3JlZC1saW5rcworICAgICAgICAgIChkZWxldGUgKGxpc3QgbGluayBkZXNj KSBvcmctc3RvcmVkLWxpbmtzKSkKKyAgICAocHVzaCAobGlzdCBsaW5rIGRlc2MpIG9yZy1z dG9yZWQtbGlua3MpCisgICAgKG1lc3NhZ2UgIkxpbmsgbW92ZWQgdG8gZnJvbnQ6ICVzIiAo b3IgZGVzYyBsaW5rKSkpKSkKKworKGRlZnVuIG9yZy1saW5rLS1maWxlLWxpbmstdG8taGVy ZSAoKQorICAiUmV0dXJuIGFzIChMSU5LIC4gREVTQykgYSBmaWxlIGxpbmsgd2l0aCBzZWFy Y2ggc3RyaW5nIHRvIGhlcmUuIgorICAobGV0ICgobGluayAoY29uY2F0ICJmaWxlOiIKKyAg ICAgICAgICAgICAgICAgICAgICAoYWJicmV2aWF0ZS1maWxlLW5hbWUKKyAgICAgICAgICAg ICAgICAgICAgICAgKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpKSkp CisgICAgICAgIGRlc2MpCisgICAgKHdoZW4gb3JnLWxpbmstY29udGV4dC1mb3ItZmlsZXMK KyAgICAgIChwY2FzZSAob3JnLWxpbmstcHJlY2lzZS1saW5rLXRhcmdldCkKKyAgICAgICAg KGBuaWwgbmlsKQorICAgICAgICAoYCgsc2VhcmNoLXN0cmluZyAsc2VhcmNoLWRlc2MgLF9w b3NpdGlvbikKKyAgICAgICAgIChzZXRxIGxpbmsgKGZvcm1hdCAiJXM6OiVzIiBsaW5rIHNl YXJjaC1zdHJpbmcpKQorICAgICAgICAgKHNldHEgZGVzYyBzZWFyY2gtZGVzYykpKSkKKyAg ICAoY29ucyBsaW5rIGRlc2MpKSkKKwogDAogOzs7IFB1YmxpYyBBUEkKIApAQCAtMTA0NCw3 ICsxMTEyLDkgQEAgTElOSyBpcyBlc2NhcGVkIHdpdGggYmFja3NsYXNoZXMgZm9yIGluY2x1 c2lvbiBpbiBidWZmZXIuIgogICAiTGlzdCBvZiBmdW5jdGlvbnMgdGhhdCBhcmUgY2FsbGVk IHRvIGNyZWF0ZSBhbmQgc3RvcmUgYSBsaW5rLgogCiBUaGUgZnVuY3Rpb25zIGFyZSBkZWZp bmVkIGluIHRoZSBgOnN0b3JlJyBwcm9wZXJ0eSBvZgotYG9yZy1saW5rLXBhcmFtZXRlcnMn LgorYG9yZy1saW5rLXBhcmFtZXRlcnMnLiAgRWFjaCBmdW5jdGlvbiBzaG91bGQgYWNjZXB0 IGFuIGFyZ3VtZW50CitJTlRFUkFDVElWRT8gd2hpY2ggaW5kaWNhdGVzIHdoZXRoZXIgdGhl IHVzZXIgaGFzIGluaXRpYXRlZAorYG9yZy1zdG9yZS1saW5rJyBpbnRlcmFjdGl2ZWx5Lgog CiBFYWNoIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGluIHR1cm4gdW50aWwgb25lIHJldHVy bnMgYSBub24tbmlsCiB2YWx1ZS4gIEVhY2ggZnVuY3Rpb24gc2hvdWxkIGNoZWNrIGlmIGl0 IGlzIHJlc3BvbnNpYmxlIGZvcgpAQCAtMTE2Myw3ICsxMjMzLDcgQEAgT3B0aW9uYWwgYXJn dW1lbnQgQVJHIGlzIHBhc3NlZCB0byBgb3JnLW9wZW4tZmlsZScgd2hlbiBTIGlzIGEKICAg ICAoYG5pbCAodXNlci1lcnJvciAiTm8gdmFsaWQgbGluayBpbiAlUyIgcykpCiAgICAgKGxp bmsgKG9yZy1saW5rLW9wZW4gbGluayBhcmcpKSkpCiAKLShkZWZ1biBvcmctbGluay1zZWFy Y2ggKHMgJm9wdGlvbmFsIGF2b2lkLXBvcyBzdGVhbHRoKQorKGRlZnVuIG9yZy1saW5rLXNl YXJjaCAocyAmb3B0aW9uYWwgYXZvaWQtcG9zIHN0ZWFsdGggbmV3LWhlYWRpbmctY29udGFp bmVyKQogICAiU2VhcmNoIGZvciBhIHNlYXJjaCBzdHJpbmcgUyBpbiB0aGUgYWNjZXNzaWJs ZSBwYXJ0IG9mIHRoZSBidWZmZXIuCiAKIElmIFMgc3RhcnRzIHdpdGggXCIjXCIsIGl0IHRy aWdnZXJzIGEgY3VzdG9tIElEIHNlYXJjaC4KQEAgLTExODMsNiArMTI1MywxMyBAQCBXaGVu IG9wdGlvbmFsIGFyZ3VtZW50IFNURUFMVEggaXMgbm9uLW5pbCwgZG8gbm90IG1vZGlmeQog dmlzaWJpbGl0eSBhcm91bmQgcG9pbnQsIHRodXMgaWdub3JpbmcgYG9yZy1zaG93LWNvbnRl eHQtZGV0YWlsJwogdmFyaWFibGUuCiAKK1doZW4gb3B0aW9uYWwgYXJndW1lbnQgTkVXLUhF QURJTkctQ09OVEFJTkVSIGlzIGFuIGVsZW1lbnQsIGFueQorbmV3IGhlYWRpbmcgdGhhdCBp cyBjcmVhdGVkIChzZWUKK2BvcmctbGluay1zZWFyY2gtbXVzdC1tYXRjaC1leGFjdC1oZWFk bGluZScpIHdpbGwgYmUgYWRkZWQgYXMgYQorc3ViaGVhZGluZyBvZiBORVctSEVBRElORy1D T05UQUlORVIuICBPdGhlcndpc2UsIG5ldyBoZWFkaW5ncyBhcmUKK2NyZWF0ZWQgYXQgbGV2 ZWwgMSBhdCB0aGUgZW5kIG9mIHRoZSBhY2Nlc3NpYmxlIHBhcnQgb2YgdGhlCitidWZmZXIu CisKIFNlYXJjaCBpcyBjYXNlLWluc2Vuc2l0aXZlIGFuZCBpZ25vcmVzIHdoaXRlIHNwYWNl cy4gIFJldHVybiB0eXBlCiBvZiBtYXRjaGVkIHJlc3VsdCwgd2hpY2ggaXMgZWl0aGVyIGBk ZWRpY2F0ZWQnIG9yIGBmdXp6eScuICBTZWFyY2gKIHJlc3BlY3RzIGJ1ZmZlciBuYXJyb3dp bmcuIgpAQCAtMTI4MSwxMSArMTM1OCwyNCBAQCByZXNwZWN0cyBidWZmZXIgbmFycm93aW5n LiIKICAgICAgKChhbmQgKGRlcml2ZWQtbW9kZS1wICdvcmctbW9kZSkKIAkgICAoZXEgb3Jn LWxpbmstc2VhcmNoLW11c3QtbWF0Y2gtZXhhY3QtaGVhZGxpbmUgJ3F1ZXJ5LXRvLWNyZWF0 ZSkKIAkgICAoeWVzLW9yLW5vLXAgIk5vIG1hdGNoIC0gY3JlYXRlIHRoaXMgYXMgYSBuZXcg aGVhZGluZz8gIikpCi0gICAgICAoZ290by1jaGFyIChwb2ludC1tYXgpKQotICAgICAgKHVu bGVzcyAoYm9scCkgKG5ld2xpbmUpKQotICAgICAgKG9yZy1pbnNlcnQtaGVhZGluZyBuaWwg dCB0KQotICAgICAgKGluc2VydCBzICJcbiIpCi0gICAgICAoZm9yd2FyZC1saW5lIC0xKSkK KyAgICAgIChsZXQqICgoY29udGFpbmVyLW9rIChhbmQgbmV3LWhlYWRpbmctY29udGFpbmVy CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcmctZWxlbWVudC10eXBlLXAg bmV3LWhlYWRpbmctY29udGFpbmVyICcoaGVhZGxpbmUpKSkpCisgICAgICAgICAgICAgKG5l dy1oZWFkaW5nLXBvc2l0aW9uIChpZiBjb250YWluZXItb2sKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgtIChvcmctZWxlbWVudC1lbmQgbmV3LWhlYWRpbmct Y29udGFpbmVyKSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChw b2ludC1tYXgpKSkKKyAgICAgICAgICAgICAobmV3LWhlYWRpbmctbGV2ZWwgKGlmIGNvbnRh aW5lci1vaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCsgMSAob3Jn LWVsZW1lbnQtcHJvcGVydHkgOmxldmVsIG5ldy1oZWFkaW5nLWNvbnRhaW5lcikpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSkpKQorICAgICAgICA7OyBOZWVkIHRv IHdpZGVuIHdoZW4gdGFyZ2V0IGlzIG91dHNpZGUgYWNjZXNzaWJsZSBwb3J0aW9uIG9mCisg ICAgICAgIDs7IGJ1ZmZlciwgc2luY2UgdGhlIHdlIHdhbnQgdGhlIHVzZXIgdG8gZW5kIHVw IHRoZXJlLgorICAgICAgICAodW5sZXNzIChhbmQgKDw9IChwb2ludC1taW4pIG5ldy1oZWFk aW5nLXBvc2l0aW9uKQorICAgICAgICAgICAgICAgICAgICAgKD49IChwb2ludC1tYXgpIG5l dy1oZWFkaW5nLXBvc2l0aW9uKSkKKyAgICAgICAgICAod2lkZW4pKQorICAgICAgICAoZ290 by1jaGFyIG5ldy1oZWFkaW5nLXBvc2l0aW9uKQorICAgICAgICAodW5sZXNzIChib2xwKSAo bmV3bGluZSkpCisgICAgICAgIChvcmctaW5zZXJ0LWhlYWRpbmcgbmlsIHQgbmV3LWhlYWRp bmctbGV2ZWwpCisgICAgICAgIChpbnNlcnQgKGlmIHN0YXJyZWQgKHN1YnN0cmluZyBzIDEp IHMpICJcbiIpCisgICAgICAgIChmb3J3YXJkLWxpbmUgLTEpKSkKICAgICAgOzsgT25seSBo ZWFkbGluZXMgYXJlIGxvb2tlZCBhZnRlci4gIE5vIG5lZWQgdG8gcHJvY2VzcwogICAgICA7 OyBmdXJ0aGVyOiB0aHJvdyBhbiBlcnJvci4KICAgICAgKChhbmQgKGRlcml2ZWQtbW9kZS1w ICdvcmctbW9kZSkKQEAgLTEzMzUsNiArMTQyNSw3MCBAQCBwcmlvcml0eSBjb29raWUgb3Ig dGFnLiIKIAkgIChvcmctbGluay0tbm9ybWFsaXplLXN0cmluZwogCSAgIChvciBzdHJpbmcg KG9yZy1nZXQtaGVhZGluZyB0IHQgdCB0KSkpKSkKIAorKGRlZnVuIG9yZy1saW5rLXByZWNp c2UtbGluay10YXJnZXQgKCkKKyAgIkRldGVybWluZSBzZWFyY2ggc3RyaW5nIGFuZCBkZXNj cmlwdGlvbiBmb3Igc3RvcmluZyBhIGxpbmsuCisKK0lmIGEgc2VhcmNoIHN0cmluZyAoc2Vl IGBvcmctbGluay1zZWFyY2gnKSBpcyBmb3VuZCwgcmV0dXJuCitsaXN0IChTRUFSQ0gtU1RS SU5HIERFU0MgUE9TSVRJT04pLiAgT3RoZXJ3aXNlLCByZXR1cm4gbmlsLgorCitJZiB0aGVy ZSBpcyBhbiBhY3RpdmUgcmVnaW9uLCB0aGUgY29udGVudHMgKG9yIGEgcGFydCBvZiBpdCwg c2VlCitgb3JnLWxpbmstY29udGV4dC1mb3ItZmlsZXMnKSBpcyB1c2VkIGFzIHRoZSBzZWFy Y2ggc3RyaW5nLgorCitJbiBPcmcgYnVmZmVycywgaWYgcG9pbnQgaXMgYXQgYSBuYW1lZCBl bGVtZW50IChzdWNoIGFzIGEgc291cmNlCitibG9jayksIHRoZSBuYW1lIGlzIHVzZWQgZm9y IHRoZSBzZWFyY2ggc3RyaW5nLiAgSWYgYXQgYSBoZWFkaW5nLAoraXRzIENVU1RPTV9JRCBp cyB1c2VkIHRvIGZvcm0gYSBzZWFyY2ggc3RyaW5nIG9mIHRoZSBmb3JtCitcIiNpZFwiLCBp ZiBwcmVzZW50LCBvdGhlcndpc2UgdGhlIGN1cnJlbnQgaGVhZGluZyB0ZXh0IGlzIHVzZWQK K2luIHRoZSBmb3JtIFwiKkhlYWRpbmdcIi4KKworSWYgbm9uZSBvZiB0aG9zZSBmaW5kcyBh IHN1aXRhYmxlIHNlYXJjaCBzdHJpbmcsIHRoZSBjdXJyZW50IGxpbmUKK2lzIHVzZWQgYXMg dGhlIHNlYXJjaCBzdHJpbmcuCisKK1RoZSBkZXNjcmlwdGlvbiBERVNDIGlzIG5pbCAobWVh bmluZyB0aGUgdXNlciB3aWxsIGJlIHByb21wdGVkCitmb3IgYSBkZXNjcmlwdGlvbiB3aGVu IGluc2VydGluZyB0aGUgbGluaykgZm9yIHNlYXJjaCBzdHJpbmdzCitiYXNlZCBvbiBhIHJl Z2lvbiBvciB0aGUgY3VycmVudCBsaW5lLiAgRm9yIG90aGVyIGNhc2VzLCBERVNDIGlzCith IGNsZWFuZWQtdXAgdmVyc2lvbiBvZiB0aGUgbmFtZSBvciBoZWFkaW5nIGF0IHBvaW50Lgor CitQT1NJVElPTiBpcyB0aGUgYnVmZmVyIHBvc2l0aW9uIGF0IHdoaWNoIHRoZSBzZWFyY2gg c3RyaW5nCittYXRjaGVzLiIKKyAgKGxldCogKChyZWdpb24gKG9yZy1saW5rLS1jb250ZXh0 LWZyb20tcmVnaW9uKSkKKyAgICAgICAgIChyZXN1bHQKKyAgICAgICAgICAoY29uZAorICAg ICAgICAgICAocmVnaW9uCisgICAgICAgICAgICAobGlzdCAob3JnLWxpbmstLW5vcm1hbGl6 ZS1zdHJpbmcgcmVnaW9uIHQpCisgICAgICAgICAgICAgICAgICBuaWwKKyAgICAgICAgICAg ICAgICAgIChyZWdpb24tYmVnaW5uaW5nKSkpCisKKyAgICAgICAgICAgKChkZXJpdmVkLW1v ZGUtcCAnb3JnLW1vZGUpCisgICAgICAgICAgICAobGV0KiAoKGVsZW1lbnQgKG9yZy1lbGVt ZW50LWF0LXBvaW50KSkKKyAgICAgICAgICAgICAgICAgICAobmFtZSAob3JnLWVsZW1lbnQt cHJvcGVydHkgOm5hbWUgZWxlbWVudCkpCisgICAgICAgICAgICAgICAgICAgKGhlYWRpbmcg KG9yZy1lbGVtZW50LWxpbmVhZ2UgZWxlbWVudCAnKGhlYWRsaW5lIGlubGluZXRhc2spIHQp KQorICAgICAgICAgICAgICAgICAgIChjdXN0b20taWQgKG9yZy1lbnRyeS1nZXQgaGVhZGlu ZyAiQ1VTVE9NX0lEIikpKQorICAgICAgICAgICAgICAoY29uZAorICAgICAgICAgICAgICAg KG5hbWUKKyAgICAgICAgICAgICAgICAobGlzdCBuYW1lCisgICAgICAgICAgICAgICAgICAg ICAgbmFtZQorICAgICAgICAgICAgICAgICAgICAgIChvcmctZWxlbWVudC1iZWdpbiBlbGVt ZW50KSkpCisgICAgICAgICAgICAgICAoKG9yZy1iZWZvcmUtZmlyc3QtaGVhZGluZy1wKQor ICAgICAgICAgICAgICAgIChsaXN0IChvcmctbGluay0tbm9ybWFsaXplLXN0cmluZyAob3Jn LWN1cnJlbnQtbGluZS1zdHJpbmcpIHQpCisgICAgICAgICAgICAgICAgICAgICAgbmlsCisg ICAgICAgICAgICAgICAgICAgICAgKGxpbmUtYmVnaW5uaW5nLXBvc2l0aW9uKSkpCisgICAg ICAgICAgICAgICAoaGVhZGluZworICAgICAgICAgICAgICAgIChsaXN0IChpZiBjdXN0b20t aWQgKGNvbmNhdCAiIyIgY3VzdG9tLWlkKQorICAgICAgICAgICAgICAgICAgICAgICAgKG9y Zy1saW5rLWhlYWRpbmctc2VhcmNoLXN0cmluZykpCisgICAgICAgICAgICAgICAgICAgICAg KG9yZy1saW5rLS1ub3JtYWxpemUtc3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgIChv cmctZ2V0LWhlYWRpbmcgdCB0IHQgdCkpCisgICAgICAgICAgICAgICAgICAgICAgKG9yZy1l bGVtZW50LWJlZ2luIGhlYWRpbmcpKSkpKSkKKworICAgICAgICAgICA7OyBOb3QgaW4gYW4g b3JnLW1vZGUgYnVmZmVyLCBubyByZWdpb24KKyAgICAgICAgICAgKHQKKyAgICAgICAgICAg IChsaXN0IChvcmctbGluay0tbm9ybWFsaXplLXN0cmluZyAob3JnLWN1cnJlbnQtbGluZS1z dHJpbmcpIHQpCisgICAgICAgICAgICAgICAgICBuaWwKKyAgICAgICAgICAgICAgICAgIChs aW5lLWJlZ2lubmluZy1wb3NpdGlvbikpKSkpKQorCisgICAgOzsgT25seSB1c2Ugc2VhcmNo IG9wdGlvbiBpZiB0aGVyZSBpcyBzb21lIHRleHQuCisgICAgKHdoZW4gKG9yZy1zdHJpbmct bnctcCAoY2FyIHJlc3VsdCkpCisgICAgICByZXN1bHQpKSkKKwogKGRlZnVuIG9yZy1saW5r LW9wZW4tYXMtZmlsZSAocGF0aCBpbi1lbWFjcykKICAgIlByZXRlbmQgUEFUSCBpcyBhIGZp bGUgbmFtZSBhbmQgb3BlbiBpdC4KIApAQCAtMTQwNyw3ICsxNTYxLDcgQEAgUEFUSCBpcyBh IHN5bWJvbCBuYW1lLCBhcyBhIHN0cmluZy4iCiAgICAgKChhbmQgKHByZWQgYm91bmRwKSB2 YXJpYWJsZSkgKGRlc2NyaWJlLXZhcmlhYmxlIHZhcmlhYmxlKSkKICAgICAobmFtZSAodXNl ci1lcnJvciAiVW5rbm93biBmdW5jdGlvbiBvciB2YXJpYWJsZTogJXMiIG5hbWUpKSkpCiAK LShkZWZ1biBvcmctbGluay0tc3RvcmUtaGVscCAoKQorKGRlZnVuIG9yZy1saW5rLS1zdG9y ZS1oZWxwICgmb3B0aW9uYWwgX2ludGVyYWN0aXZlPykKICAgIlN0b3JlIFwiaGVscFwiIHR5 cGUgbGluay4iCiAgICh3aGVuIChlcSBtYWpvci1tb2RlICdoZWxwLW1vZGUpCiAgICAgKGxl dCAoKHN5bWJvbApAQCAtMTU0Miw3ICsxNjk2LDEyIEBAIHByZWZpeCBBUkcgZm9yY2VzIHN0 b3JpbmcgYSBsaW5rIGZvciBlYWNoIGxpbmUgaW4gdGhlCiBhY3RpdmUgcmVnaW9uLgogCiBB c3N1bWUgdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCBpbnRlcmFjdGl2ZWx5IGlmIElOVEVSQUNU SVZFPyBpcwotbm9uLW5pbC4iCitub24tbmlsLgorCitJbiBPcmcgYnVmZmVycywgYW4gYWRk aXRpb25hbCBcImh1bWFuLXJlYWRhYmxlXCIgc2ltcGxlIGZpbGUgbGluaworaXMgc3RvcmVk IGFzIGFuIGFsdGVybmF0aXZlIHRvIHBlcnNpc3RlbnQgb3JnLWlkIG9yIG90aGVyIGxpbmtz LAoraWYgYXQgYSBoZWFkaW5nIHdpdGggYSBDVVNUT01fSUQgcHJvcGVydHkgb3IgYW4gZWxl bWVudCB3aXRoIGEKK05BTUUuIgogICAoaW50ZXJhY3RpdmUgIlBcbnAiKQogICAob3JnLWxv YWQtbW9kdWxlcy1tYXliZSkKICAgKGlmIChhbmQgKGVxdWFsIGFyZyAnKDY0KSkgKG9yZy1y ZWdpb24tYWN0aXZlLXApKQpAQCAtMTU1NywzNiArMTcxNiwxOSBAQCBub24tbmlsLiIKIAkg ICAgKG1vdmUtYmVnaW5uaW5nLW9mLWxpbmUgMikKIAkgICAgKHNldC1tYXJrIChwb2ludCkp KSkpCiAgICAgKHNldHEgb3JnLXN0b3JlLWxpbmstcGxpc3QgbmlsKQotICAgIChsZXQgKGxp bmsgY3BsdHh0IGRlc2Mgc2VhcmNoIGN1c3RvbS1pZCBhZ2VuZGEtbGluaykgOzsgZGVzY3Jp cHRpb24KKyAgICA7OyBOZWdhdGUgYG9yZy1jb250ZXh0LWluLWZpbGUtbGlua3MnIHdoZW4g Z2l2ZW4gYSBzaW5nbGUgdW5pdmVyc2FsIGFyZy4KKyAgICAobGV0ICgob3JnLWxpbmstY29u dGV4dC1mb3ItZmlsZXMgKG9yZy14b3Igb3JnLWxpbmstY29udGV4dC1mb3ItZmlsZXMKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxdWFsIGFy ZyAnKDQpKSkpCisgICAgICAgICAgbGluayBjcGx0eHQgZGVzYyBzZWFyY2ggYWdlbmRhLWxp bmspIDs7IGRlc2NyaXB0aW9uCiAgICAgICAoY29uZAogICAgICAgIDs7IFN0b3JlIGEgbGlu ayB1c2luZyBhbiBleHRlcm5hbCBsaW5rIHR5cGUsIGlmIGFueSBmdW5jdGlvbiBpcwotICAg ICAgIDs7IGF2YWlsYWJsZS4gSWYgbW9yZSB0aGFuIG9uZSBjYW4gZ2VuZXJhdGUgYSBsaW5r IGZyb20gY3VycmVudAotICAgICAgIDs7IGxvY2F0aW9uLCBhc2sgd2hpY2ggb25lIHRvIHVz ZS4KKyAgICAgICA7OyBhdmFpbGFibGUsIHVubGVzcyBleHRlcm5hbCBsaW5rIHR5cGVzIGFy ZSBza2lwcGVkIGZvciB0aGlzCisgICAgICAgOzsgY2FsbCB1c2luZyB0d28gdW5pdmVyc2Fs IGFyZ3MuICBJZiBtb3JlIHRoYW4gb25lIGZ1bmN0aW9uCisgICAgICAgOzsgY2FuIGdlbmVy YXRlIGEgbGluayBmcm9tIGN1cnJlbnQgbG9jYXRpb24sIGFzayB0aGUgdXNlcgorICAgICAg IDs7IHdoaWNoIG9uZSB0byB1c2UuCiAgICAgICAgKChhbmQgKG5vdCAoZXF1YWwgYXJnICco MTYpKSkKLQkgICAgIChsZXQgKChyZXN1bHRzLWFsaXN0IG5pbCkpCi0JICAgICAgIChkb2xp c3QgKGYgKG9yZy1zdG9yZS1saW5rLWZ1bmN0aW9ucykpCi0JCSAod2hlbiAoZnVuY2FsbCBm KQotCQkgICA7OyBYWFg6IHJldHVybiB2YWx1ZSBpcyBub3QgbGluaydzIHBsaXN0LCBzbyB3 ZQotCQkgICA7OyBzdG9yZSB0aGUgbmV3IHZhbHVlIGJlZm9yZSBpdCBpcyBtb2RpZmllZC4g IEl0Ci0JCSAgIDs7IHdvdWxkIGJlIGNsZWFuZXIgdG8gYXNrIHN0b3JlIGxpbmsgZnVuY3Rp b25zIHRvCi0JCSAgIDs7IHJldHVybiB0aGUgcGxpc3QgaW5zdGVhZC4KLQkJICAgKHB1c2gg KGNvbnMgZiAoY29weS1zZXF1ZW5jZSBvcmctc3RvcmUtbGluay1wbGlzdCkpCi0JCQkgcmVz dWx0cy1hbGlzdCkpKQotCSAgICAgICAocGNhc2UgcmVzdWx0cy1hbGlzdAotCQkgKGBuaWwg bmlsKQotCQkgKGAoKCxfIC4gLF8pKSB0KQk7c2luZ2xlIGNob2ljZTogbm90aGluZyB0byBk bwotCQkgKGAoKCxuYW1lIC4gLF8pIC4gLF8pCi0JCSAgOzsgUmVpbnN0YXRlIGxpbmsgcGxp c3QgYXNzb2NpYXRlZCB0byB0aGUgY2hvc2VuCi0JCSAgOzsgZnVuY3Rpb24uCi0JCSAgKGFw cGx5ICMnb3JnLWxpbmstc3RvcmUtcHJvcHMKLQkJCSAoY2RyIChhc3NvYy1zdHJpbmcKLQkJ CSAgICAgICAoY29tcGxldGluZy1yZWFkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChmb3JtYXQgIlN0b3JlIGxpbmsgd2l0aCAoZGVmYXVsdCAlcyk6ICIgbmFtZSkKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNhciAjJ2NhciByZXN1bHRzLWFs aXN0KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaWwgdCBuaWwgbmlsIChz eW1ib2wtbmFtZSBuYW1lKSkKLQkJCSAgICAgICByZXN1bHRzLWFsaXN0KSkpCi0JCSAgdCkp KSkKLQkoc2V0cSBsaW5rIChwbGlzdC1nZXQgb3JnLXN0b3JlLWxpbmstcGxpc3QgOmxpbmsp KQorICAgICAgICAgICAgIChvcmctbGluay0tdHJ5LWxpbmstc3RvcmUtZnVuY3Rpb25zIGlu dGVyYWN0aXZlPykpCisgICAgICAgIChzZXRxIGxpbmsgKHBsaXN0LWdldCBvcmctc3RvcmUt bGluay1wbGlzdCA6bGluaykpCiAgICAgICAgIDs7IElmIHN0b3JlIGZ1bmN0aW9uIGFjdHVh bGx5IHNldCBgOmRlc2NyaXB0aW9uJyBwcm9wZXJ0eSwgdXNlCiAgICAgICAgIDs7IGl0LCBl dmVuIGlmIGl0IGlzIG5pbC4gIE90aGVyd2lzZSwgZmFsbGJhY2sgdG8gbmlsIChhc2sgdXNl cikuCiAJKHNldHEgZGVzYyAocGxpc3QtZ2V0IG9yZy1zdG9yZS1saW5rLXBsaXN0IDpkZXNj cmlwdGlvbikpKQpAQCAtMTYzNyw2ICsxNzc5LDcgQEAgbm9uLW5pbC4iCiAJICAgIChvcmct d2l0aC1wb2ludC1hdCBtCiAJICAgICAgKHNldHEgYWdlbmRhLWxpbmsgKG9yZy1zdG9yZS1s aW5rIG5pbCBpbnRlcmFjdGl2ZT8pKSkpKSkKIAorICAgICAgIDs7IENhbGVuZGFyIG1vZGUK ICAgICAgICAoKGVxIG1ham9yLW1vZGUgJ2NhbGVuZGFyLW1vZGUpCiAJKGxldCAoKGNkIChj YWxlbmRhci1jdXJzb3ItdG8tZGF0ZSkpKQogCSAgKHNldHEgbGluawpAQCAtMTY0NSw2ICsx Nzg4LDcgQEAgbm9uLW5pbC4iCiAJCSAob3JnLWVuY29kZS10aW1lIDAgMCAwIChudGggMSBj ZCkgKG50aCAwIGNkKSAobnRoIDIgY2QpKSkpCiAJICAob3JnLWxpbmstc3RvcmUtcHJvcHMg OnR5cGUgImNhbGVuZGFyIiA6ZGF0ZSBjZCkpKQogCisgICAgICAgOzsgSW1hZ2UgbW9kZQog ICAgICAgICgoZXEgbWFqb3ItbW9kZSAnaW1hZ2UtbW9kZSkKIAkoc2V0cSBjcGx0eHQgKGNv bmNhdCAiZmlsZToiCiAJCQkgICAgIChhYmJyZXZpYXRlLWZpbGUtbmFtZSBidWZmZXItZmls ZS1uYW1lKSkKQEAgLTE2NjIsMTUgKzE4MDYsMjIgQEAgbm9uLW5pbC4iCiAJICAoc2V0cSBj cGx0eHQgKGNvbmNhdCAiZmlsZToiIGZpbGUpCiAJCWxpbmsgY3BsdHh0KSkpCiAKKyAgICAg ICA7OyBUcnkgYG9yZy1jcmVhdGUtZmlsZS1zZWFyY2gtZnVuY3Rpb25zYC4gIElmIGFueSBh cmUKKyAgICAgICA7OyBzdWNjZXNzZnVsLCBjcmVhdGUgYSBmaWxlIGxpbmsgdG8gdGhlIGN1 cnJlbnQgYnVmZmVyIHdpdGgKKyAgICAgICA7OyB0aGUgcHJvdmlkZWQgc2VhcmNoIHN0cmlu Zy4gIChzZXRzIGBsaW5rYCBhbmQgYGNwbHR4dGAgdG8KKyAgICAgICA7OyB0aGUgc2FtZSB0 aGluZzsgaXQgbG9va3MgbGlrZSB0aGUgaW50ZW50aW9uIG9yaWdpbmFsbHkgd2FzCisgICAg ICAgOzsgdGhhdCBjcGx0eHQgd2FzIGEgZGVzY3JpcHRpb24sIHdoaWNoIG1pZ2h0IGhhdmUg YmVlbiBzZXQgYnkKKyAgICAgICA7OyB0aGUgc2VhcmNoLWZ1bmN0aW9uIChyZW1vdmVkIGlu IHN3aXRjaCB0byBsZXhpY2FsIGJpbmRpbmcpKS4KICAgICAgICAoKHNldHEgc2VhcmNoIChy dW4taG9vay13aXRoLWFyZ3MtdW50aWwtc3VjY2VzcwogCQkgICAgICAnb3JnLWNyZWF0ZS1m aWxlLXNlYXJjaC1mdW5jdGlvbnMpKQogCShzZXRxIGxpbmsgKGNvbmNhdCAiZmlsZToiIChh YmJyZXZpYXRlLWZpbGUtbmFtZSBidWZmZXItZmlsZS1uYW1lKQogCQkJICAgIjo6IiBzZWFy Y2gpKQogCShzZXRxIGNwbHR4dCAob3IgbGluaykpKSA7OyBkZXNjcmlwdGlvbgogCisgICAg ICAgOzsgTWFpbiBsb2dpYyBmb3Igc3RvcmluZyBidWlsdC1pbiBsaW5rIHR5cGVzIGluIG9y Zy1tb2RlCisgICAgICAgOzsgYnVmZmVycwogICAgICAgICgoYW5kIChidWZmZXItZmlsZS1u YW1lIChidWZmZXItYmFzZS1idWZmZXIpKSAoZGVyaXZlZC1tb2RlLXAgJ29yZy1tb2RlKSkK IAkob3JnLXdpdGgtbGltaXRlZC1sZXZlbHMKLQkgKHNldHEgY3VzdG9tLWlkIChvcmctZW50 cnktZ2V0IG5pbCAiQ1VTVE9NX0lEIikpCiAJIChjb25kCiAJICA7OyBTdG9yZSBhIGxpbmsg dXNpbmcgdGhlIHRhcmdldCBhdCBwb2ludAogCSAgKChvcmctaW4tcmVnZXhwICJbXjxdPDxc XChbXjw+XStcXCk+PltePl0iIDEpCkBAIC0xNjg0LDc0ICsxODM1LDIxIEBAIG5vbi1uaWwu IgogICAgICAgICAgICAgICAgICA7OyBsaW5rcy4gIE1heWJlIHRoZSBjYXNlIG9mIGlkZW50 aWNhbCB0YXJnZXQgYW5kCiAgICAgICAgICAgICAgICAgIDs7IGRlc2NyaXB0aW9uIHNob3Vs ZCBiZSBoYW5kbGVkIGJ5IGBvcmctaW5zZXJ0LWxpbmsnLgogICAgICAgICAgICAgICAgICBj cGx0eHQgbmlsCi0gICAgICAgICAgICAgICAgIGRlc2MgbmlsCi0gICAgICAgICAgICAgICAg IDs7IERvIG5vdCBhcHBlbmQgI0NVU1RPTV9JRCBsaW5rIGJlbG93LgotICAgICAgICAgICAg ICAgICBjdXN0b20taWQgbmlsKSkKLQkgICgoYW5kIChmZWF0dXJlcCAnb3JnLWlkKQotCQko b3IgKGVxIG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQgdCkKLQkJICAgIChhbmQgaW50ZXJh Y3RpdmU/Ci0JCQkgKG9yIChlcSBvcmctaWQtbGluay10by1vcmctdXNlLWlkICdjcmVhdGUt aWYtaW50ZXJhY3RpdmUpCi0JCQkgICAgIChhbmQgKGVxIG9yZy1pZC1saW5rLXRvLW9yZy11 c2UtaWQKLQkJCQkgICAgICAnY3JlYXRlLWlmLWludGVyYWN0aXZlLWFuZC1uby1jdXN0b20t aWQpCi0JCQkJICAobm90IGN1c3RvbS1pZCkpKSkKLQkJICAgIChhbmQgb3JnLWlkLWxpbmst dG8tb3JnLXVzZS1pZCAob3JnLWVudHJ5LWdldCBuaWwgIklEIikpKSkKLQkgICA7OyBTdG9y ZSBhIGxpbmsgdXNpbmcgdGhlIElEIGF0IHBvaW50Ci0JICAgKHNldHEgbGluayAoY29uZGl0 aW9uLWNhc2UgbmlsCi0JCQkgIChwcm9nMSAob3JnLWlkLXN0b3JlLWxpbmspCi0JCQkgICAg KHNldHEgZGVzYyAocGxpc3QtZ2V0IG9yZy1zdG9yZS1saW5rLXBsaXN0IDpkZXNjcmlwdGlv bikpKQotCQkJKGVycm9yCi0JCQkgOzsgUHJvYmFibHkgYmVmb3JlIGZpcnN0IGhlYWRsaW5l LCBsaW5rIG9ubHkgdG8gZmlsZQotCQkJIChjb25jYXQgImZpbGU6IgotCQkJCSAoYWJicmV2 aWF0ZS1maWxlLW5hbWUKLQkJCQkgIChidWZmZXItZmlsZS1uYW1lIChidWZmZXItYmFzZS1i dWZmZXIpKSkpKSkpKQotCSAgKHQKKyAgICAgICAgICAgICAgICAgZGVzYyBuaWwpKQorICAg ICAgICAgICh0CiAJICAgOzsgSnVzdCBsaW5rIHRvIGN1cnJlbnQgaGVhZGxpbmUuCi0JICAg KHNldHEgY3BsdHh0IChjb25jYXQgImZpbGU6IgotCQkJCShhYmJyZXZpYXRlLWZpbGUtbmFt ZQotCQkJCSAoYnVmZmVyLWZpbGUtbmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkpKSkKLQkg ICA7OyBBZGQgYSBjb250ZXh0IHNlYXJjaCBzdHJpbmcuCi0JICAgKHdoZW4gKG9yZy14b3Ig b3JnLWxpbmstY29udGV4dC1mb3ItZmlsZXMgKGVxdWFsIGFyZyAnKDQpKSkKLQkgICAgIChs ZXQqICgoZWxlbWVudCAob3JnLWVsZW1lbnQtYXQtcG9pbnQpKQotCQkgICAgKG5hbWUgKG9y Zy1lbGVtZW50LXByb3BlcnR5IDpuYW1lIGVsZW1lbnQpKQotCQkgICAgKGNvbnRleHQKLQkJ ICAgICAoY29uZAotCQkgICAgICAoKGxldCAoKHJlZ2lvbiAob3JnLWxpbmstLWNvbnRleHQt ZnJvbS1yZWdpb24pKSkKLQkJCSAoYW5kIHJlZ2lvbiAob3JnLWxpbmstLW5vcm1hbGl6ZS1z dHJpbmcgcmVnaW9uIHQpKSkpCi0JCSAgICAgIChuYW1lKQotCQkgICAgICAoKG9yZy1iZWZv cmUtZmlyc3QtaGVhZGluZy1wKQotCQkgICAgICAgKG9yZy1saW5rLS1ub3JtYWxpemUtc3Ry aW5nIChvcmctY3VycmVudC1saW5lLXN0cmluZykgdCkpCi0JCSAgICAgICh0IChvcmctbGlu ay1oZWFkaW5nLXNlYXJjaC1zdHJpbmcpKSkpKQotCSAgICAgICAod2hlbiAob3JnLXN0cmlu Zy1udy1wIGNvbnRleHQpCi0JCSAoc2V0cSBjcGx0eHQgKGZvcm1hdCAiJXM6OiVzIiBjcGx0 eHQgY29udGV4dCkpCi0JCSAoc2V0cSBkZXNjCi0JCSAgICAgICAob3IgbmFtZQotCQkJICAg OzsgQWx0aG91Z2ggZGVzY3JpcHRpb24gaXMgbm90IGEgc2VhcmNoCi0JCQkgICA7OyBzdHJp bmcsIHVzZSBgb3JnLWxpbmstLW5vcm1hbGl6ZS1zdHJpbmcnCi0JCQkgICA7OyB0byBwcmV0 dGlmeSBpdCAoY29udGlndW91cyB3aGl0ZSBzcGFjZXMpCi0JCQkgICA7OyBhbmQgcmVtb3Zl IHZvbGF0aWxlIGNvbnRlbnRzIChzdGF0aXN0aWNzCi0JCQkgICA7OyBjb29raWVzKS4KLQkJ CSAgIChhbmQgKG5vdCAob3JnLWJlZm9yZS1maXJzdC1oZWFkaW5nLXApKQotCQkJCShvcmct bGluay0tbm9ybWFsaXplLXN0cmluZwotCQkJCSAob3JnLWdldC1oZWFkaW5nIHQgdCB0IHQp KSkKLQkJCSAgICJOT05FIikpKSkpCi0JICAgKHNldHEgbGluayBjcGx0eHQpKSkpKQorICAg ICAgICAgICAobGV0ICgoaGVyZSAob3JnLWxpbmstLWZpbGUtbGluay10by1oZXJlKSkpCisg ICAgICAgICAgICAgKHNldHEgY3BsdHh0IChjYXIgaGVyZSkpCisgICAgICAgICAgICAgKHNl dHEgZGVzYyAoY2RyIGhlcmUpKSkKKyAgICAgICAgICAgKHNldHEgbGluayBjcGx0eHQpKSkp KQogCisgICAgICAgOzsgQnVmZmVyIGxpbmtlZCB0byBmaWxlLCBidXQgbm90IGFuIG9yZy1t b2RlIGJ1ZmZlci4KICAgICAgICAoKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1 ZmZlcikpCiAJOzsgSnVzdCBsaW5rIHRvIHRoaXMgZmlsZSBoZXJlLgotCShzZXRxIGNwbHR4 dCAoY29uY2F0ICJmaWxlOiIKLQkJCSAgICAgKGFiYnJldmlhdGUtZmlsZS1uYW1lCi0JCQkg ICAgICAoYnVmZmVyLWZpbGUtbmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkpKSkKLQk7OyBB ZGQgYSBjb250ZXh0IHNlYXJjaCBzdHJpbmcuCi0JKHdoZW4gKG9yZy14b3Igb3JnLWxpbmst Y29udGV4dC1mb3ItZmlsZXMgKGVxdWFsIGFyZyAnKDQpKSkKLQkgIChsZXQgKChjb250ZXh0 IChvcmctbGluay0tbm9ybWFsaXplLXN0cmluZwotCQkJICAob3IgKG9yZy1saW5rLS1jb250 ZXh0LWZyb20tcmVnaW9uKQotCQkJICAgICAgKG9yZy1jdXJyZW50LWxpbmUtc3RyaW5nKSkK LQkJCSAgdCkpKQotCSAgICA7OyBPbmx5IHVzZSBzZWFyY2ggb3B0aW9uIGlmIHRoZXJlIGlz IHNvbWUgdGV4dC4KLQkgICAgKHdoZW4gKG9yZy1zdHJpbmctbnctcCBjb250ZXh0KQotCSAg ICAgIChzZXRxIGNwbHR4dCAoZm9ybWF0ICIlczo6JXMiIGNwbHR4dCBjb250ZXh0KSkKLQkg ICAgICAoc2V0cSBkZXNjICJOT05FIikpKSkKLQkoc2V0cSBsaW5rIGNwbHR4dCkpCisgICAg ICAgIChsZXQgKChoZXJlIChvcmctbGluay0tZmlsZS1saW5rLXRvLWhlcmUpKSkKKyAgICAg ICAgICAoc2V0cSBjcGx0eHQgKGNhciBoZXJlKSkKKyAgICAgICAgICAoc2V0cSBkZXNjIChj ZHIgaGVyZSkpKQorICAgICAgICAoc2V0cSBsaW5rIGNwbHR4dCkpCiAKICAgICAgICAoaW50 ZXJhY3RpdmU/CiAJKHVzZXItZXJyb3IgIk5vIG1ldGhvZCBmb3Igc3RvcmluZyBhIGxpbmsg ZnJvbSB0aGlzIGJ1ZmZlciIpKQpAQCAtMTc2NywyNCArMTg2NSwxOCBAQCBub24tbmlsLiIK ICAgICAgIDs7IFN0b3JlIGFuZCByZXR1cm4gdGhlIGxpbmsKICAgICAgIChpZiAobm90IChh bmQgaW50ZXJhY3RpdmU/IGxpbmspKQogCSAgKG9yIGFnZW5kYS1saW5rIChhbmQgbGluayAo b3JnLWxpbmstbWFrZS1zdHJpbmcgbGluayBkZXNjKSkpCi0gICAgICAgIChkb3RpbWVzIChf IChpZiBjdXN0b20taWQgMiAxKSkgOyBTdG9yZSAyIGxpbmtzIHdoZW4gQ1VTVE9NLUlEIGlz IG5vbi1uaWwuCi0gICAgICAgICAgKGNvbmQKLSAgICAgICAgICAgKChub3QgKG1lbWJlciAo bGlzdCBsaW5rIGRlc2MpIG9yZy1zdG9yZWQtbGlua3MpKQotICAgICAgICAgICAgKHB1c2gg KGxpc3QgbGluayBkZXNjKSBvcmctc3RvcmVkLWxpbmtzKQotCSAgICAobWVzc2FnZSAiU3Rv cmVkOiAlcyIgKG9yIGRlc2MgbGluaykpKQotICAgICAgICAgICAoKGVxdWFsIChsaXN0IGxp bmsgZGVzYykgKGNhciBvcmctc3RvcmVkLWxpbmtzKSkKLSAgICAgICAgICAgIChtZXNzYWdl ICJUaGlzIGxpbmsgaGFzIGFscmVhZHkgYmVlbiBzdG9yZWQiKSkKLSAgICAgICAgICAgKHQK LSAgICAgICAgICAgIChzZXRxIG9yZy1zdG9yZWQtbGlua3MKLSAgICAgICAgICAgICAgICAg IChkZWxldGUgKGxpc3QgbGluayBkZXNjKSBvcmctc3RvcmVkLWxpbmtzKSkKLSAgICAgICAg ICAgIChwdXNoIChsaXN0IGxpbmsgZGVzYykgb3JnLXN0b3JlZC1saW5rcykKLSAgICAgICAg ICAgIChtZXNzYWdlICJMaW5rIG1vdmVkIHRvIGZyb250OiAlcyIgKG9yIGRlc2MgbGluaykp KSkKLQkgICh3aGVuIGN1c3RvbS1pZAotCSAgICAoc2V0cSBsaW5rIChjb25jYXQgImZpbGU6 IgotCQkJICAgICAgIChhYmJyZXZpYXRlLWZpbGUtbmFtZQotCQkJICAgICAgICAoYnVmZmVy LWZpbGUtbmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkpCi0JCQkgICAgICAgIjo6IyIgY3Vz dG9tLWlkKSkpKQotCShjYXIgb3JnLXN0b3JlZC1saW5rcykpKSkpCisgICAgICAgIChvcmct bGluay0tYWRkLXRvLXN0b3JlZC1saW5rcyBsaW5rIGRlc2MpCisgICAgICAgIDs7IEluIG9y ZyBidWZmZXJzLCBzdG9yZSBhbiBhZGRpdGlvbmFsICJodW1hbi1yZWFkYWJsZSIgbGluawor ICAgICAgICA7OyB1c2luZyBjdXN0b20gaWQsIGlmIGF2YWlsYWJsZS4KKyAgICAgICAgKHdo ZW4gKGFuZCAoYnVmZmVyLWZpbGUtbmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkKKyAgICAg ICAgICAgICAgICAgICAoZGVyaXZlZC1tb2RlLXAgJ29yZy1tb2RlKQorICAgICAgICAgICAg ICAgICAgIChvcmctZW50cnktZ2V0IG5pbCAiQ1VTVE9NX0lEIikpCisgICAgICAgICAgKGxl dCAoKGhlcmUgKG9yZy1saW5rLS1maWxlLWxpbmstdG8taGVyZSkpKQorICAgICAgICAgICAg KHNldHEgbGluayAoY2FyIGhlcmUpKQorICAgICAgICAgICAgKHNldHEgZGVzYyAoY2RyIGhl cmUpKSkKKyAgICAgICAgICAodW5sZXNzIChlcXVhbCAobGlzdCBsaW5rIGRlc2MpIChjYXIg b3JnLXN0b3JlZC1saW5rcykpCisgICAgICAgICAgICAob3JnLWxpbmstLWFkZC10by1zdG9y ZWQtbGlua3MgbGluayBkZXNjKSkpCisgICAgICAgIChjYXIgb3JnLXN0b3JlZC1saW5rcykp KSkpCiAKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gb3JnLWluc2VydC1saW5rICgmb3B0aW9u YWwgY29tcGxldGUtZmlsZSBsaW5rLWxvY2F0aW9uIGRlc2NyaXB0aW9uKQpkaWZmIC0tZ2l0 IGEvbGlzcC9vcmctaWQuZWwgYi9saXNwL29yZy1pZC5lbAppbmRleCA4NjQ3YTU3Y2MuLjU4 ZDUxZGVjYSAxMDA2NDQKLS0tIGEvbGlzcC9vcmctaWQuZWwKKysrIGIvbGlzcC9vcmctaWQu ZWwKQEAgLTEyOSw2ICsxMjksNDYgQEAgbmlsICAgTmV2ZXIgdXNlIGFuIElEIHRvIG1ha2Ug YSBsaW5rLCBpbnN0ZWFkIGxpbmsgdXNpbmcgYSB0ZXh0IHNlYXJjaCBmb3IKIAkgIChjb25z dCA6dGFnICJPbmx5IHVzZSBleGlzdGluZyIgdXNlLWV4aXN0aW5nKQogCSAgKGNvbnN0IDp0 YWcgIkRvIG5vdCB1c2UgSUQgdG8gY3JlYXRlIGxpbmsiIG5pbCkpKQogCisoZGVmY3VzdG9t IG9yZy1pZC1saW5rLWNvbnNpZGVyLXBhcmVudC1pZCBuaWwKKyAgIk5vbi1uaWwgbWVhbnMg c3RvcmluZyBhIGxpbmsgdG8gYW4gT3JnIGVudHJ5IGNvbnNpZGVycyBpbmhlcml0ZWQgSURz LgorCitXaGVuIHRoaXMgb3B0aW9uIGlzIG5vbi1uaWwgYW5kIGBvcmctaWQtbGluay11c2Ut Y29udGV4dCcgaXMKK2VuYWJsZWQsIElEIHByb3BlcnRpZXMgaW5oZXJpdGVkIGZyb20gcGFy ZW50IGVudHJpZXMgd2lsbCBiZQorY29uc2lkZXJlZCB3aGVuIHN0b3JpbmcgYW4gSUQgbGlu ay4gIElmIG5vIElEIGlzIGZvdW5kIGluIHRoaXMKK3dheSwgYSBuZXcgb25lIG1heSBiZSBj cmVhdGVkIGFzIG5vcm1hbCAoc2VlCitgb3JnLWlkLWxpbmstdG8tb3JnLXVzZS1pZCcpLgor CitGb3IgZXhhbXBsZSwgZ2l2ZW4gdGhpcyBvcmcgZmlsZToKKworKiBQYXJlbnQKKzpQUk9Q RVJUSUVTOgorOklEOiBhYmMKKzpFTkQ6CisqKiBDaGlsZCAxCisqKiBDaGlsZCAyCisKK1dp dGggYG9yZy1pZC1saW5rLWNvbnNpZGVyLXBhcmVudC1pZCcgYW5kCitgb3JnLWlkLWxpbmst dXNlLWNvbnRleHQnIGJvdGggZW5hYmxlZCwgc3RvcmluZyBhIGxpbmsgd2l0aCBwb2ludAor YXQgXCJDaGlsZCAxXCIgd2lsbCBwcm9kdWNlIGEgbGluayBcIjxpZDphYmM6OipDaGlsZCAx PlwiLiAgVGhpcworYWxsb3dzIGxpbmtpbmcgdG8gdW5pcXVlbHktbmFtZWQgc3ViLWVudHJp ZXMgd2l0aGluIGEgcGFyZW50CitlbnRyeSB3aXRoIGFuIElELCB3aXRob3V0IHJlcXVpcmlu ZyBldmVyeSBzdWItZW50cnkgdG8gaGF2ZSBpdHMKK293biBJRC4iCisgIDpncm91cCAnb3Jn LWxpbmstc3RvcmUKKyAgOmdyb3VwICdvcmctaWQKKyAgOnBhY2thZ2UtdmVyc2lvbiAnKE9y ZyAuICI5LjciKQorICA6dHlwZSAnYm9vbGVhbikKKworKGRlZmN1c3RvbSBvcmctaWQtbGlu ay11c2UtY29udGV4dCB0CisgICJOb24tbmlsIG1lYW5zIGVuYWJsZXMgc2VhcmNoIHN0cmlu ZyBjb250ZXh0IGluIG9yZy1pZCBsaW5rcy4KKworU2VhcmNoIHN0cmluZ3MgYXJlIGFkZGVk IGJ5IGBvcmctaWQtc3RvcmUtbGluaycgd2hlbiBib3RoIHRoZQorZ2VuZXJhbCBvcHRpb24g YG9yZy1saW5rLWNvbnRleHQtZm9yLWZpbGVzJyBhbmQgdGhlIG9yZy1pZCBvcHRpb24KK2Bv cmctaWQtbGluay11c2UtY29udGV4dCcgYXJlIG5vbi1uaWwuIgorICA6Z3JvdXAgJ29yZy1s aW5rLXN0b3JlCisgIDpncm91cCAnb3JnLWlkCisgIDpwYWNrYWdlLXZlcnNpb24gJyhPcmcg LiAiOS43IikKKyAgOnR5cGUgJ2Jvb2xlYW4pCisKIChkZWZjdXN0b20gb3JnLWlkLXV1aWQt cHJvZ3JhbSAidXVpZGdlbiIKICAgIlRoZSB1dWlkZ2VuIHByb2dyYW0uIgogICA6Z3JvdXAg J29yZy1pZApAQCAtMjgwLDE1ICszMjAsMjEgQEAgVGhpcyBpcyB1c2VmdWwgd2hlbiB3b3Jr aW5nIHdpdGggY29udGVudHMgaW4gYSB0ZW1wb3JhcnkgYnVmZmVyCiB0aGF0IHdpbGwgYmUg Y29waWVkIGJhY2sgdG8gdGhlIG9yaWdpbmFsLiIpCiAKIDs7OyMjI2F1dG9sb2FkCi0oZGVm dW4gb3JnLWlkLWdldCAoJm9wdGlvbmFsIGVwb20gY3JlYXRlIHByZWZpeCkKLSAgIkdldCB0 aGUgSUQgcHJvcGVydHkgb2YgdGhlIGVudHJ5IGF0IEVQT00uCi1FUE9NIGlzIGFuIGVsZW1l bnQsIG1hcmtlciwgb3IgYnVmZmVyIHBvc2l0aW9uLgotSWYgRVBPTSBpcyBuaWwsIHJlZmVy IHRvIHRoZSBlbnRyeSBhdCBwb2ludC4KLUlmIHRoZSBlbnRyeSBkb2VzIG5vdCBoYXZlIGFu IElELCB0aGUgZnVuY3Rpb24gcmV0dXJucyBuaWwuCi1Ib3dldmVyLCB3aGVuIENSRUFURSBp cyBub24tbmlsLCBjcmVhdGUgYW4gSUQgaWYgbm9uZSBpcyBwcmVzZW50IGFscmVhZHkuCi1Q UkVGSVggd2lsbCBiZSBwYXNzZWQgdGhyb3VnaCB0byBgb3JnLWlkLW5ldycuCi1JbiBhbnkg Y2FzZSwgdGhlIElEIG9mIHRoZSBlbnRyeSBpcyByZXR1cm5lZC4iCi0gIChsZXQgKChpZCAo b3JnLWVudHJ5LWdldCBlcG9tICJJRCIpKSkKKyhkZWZ1biBvcmctaWQtZ2V0ICgmb3B0aW9u YWwgZXBvbSBjcmVhdGUgcHJlZml4IGluaGVyaXQpCisgICJHZXQgdGhlIElEIG9mIHRoZSBl bnRyeSBhdCBFUE9NLgorCitFUE9NIGlzIGFuIGVsZW1lbnQsIG1hcmtlciwgb3IgYnVmZmVy IHBvc2l0aW9uLiAgSWYgRVBPTSBpcyBuaWwsCityZWZlciB0byB0aGUgZW50cnkgYXQgcG9p bnQuCisKK0lmIElOSEVSSVQgaXMgbm9uLW5pbCwgSUQgcHJvcGVydGllcyBpbmhlcml0ZWQg ZnJvbSBwYXJlbnQKK2VudHJpZXMgYXJlIGNvbnNpZGVyZWQuICBPdGhlcndpc2UsIG9ubHkg SUQgcHJvcGVydGllcyBvbiB0aGUKK2VudHJ5IGl0c2VsZiBhcmUgY29uc2lkZXJlZC4KKwor V2hlbiBDUkVBVEUgaXMgbmlsLCByZXR1cm4gdGhlIElEIG9mIHRoZSBlbnRyeSBpZiBmb3Vu ZCwKK290aGVyd2lzZSBuaWwuICBXaGVuIENSRUFURSBpcyBub24tbmlsLCBjcmVhdGUgYW4g SUQgaWYgbm9uZSBoYXMKK2JlZW4gZm91bmQsIGFuZCByZXR1cm4gdGhlIG5ldyBJRC4gIFBS RUZJWCB3aWxsIGJlIHBhc3NlZCB0aHJvdWdoCit0byBgb3JnLWlkLW5ldycuIgorICAobGV0 ICgoaWQgKG9yZy1lbnRyeS1nZXQgZXBvbSAiSUQiIChhbmQgaW5oZXJpdCB0KSkpKQogICAg IChjb25kCiAgICAgICgoYW5kIGlkIChzdHJpbmdwIGlkKSAoc3RyaW5nLW1hdGNoICJcXFMt IiBpZCkpCiAgICAgICBpZCkKQEAgLTcwMCwyMSArNzQ2LDU2IEBAIG9wdGlvbmFsIGFyZ3Vt ZW50IE1BUktFUlAsIHJldHVybiB0aGUgcG9zaXRpb24gYXMgYSBuZXcgbWFya2VyLiIKIAog OzsgaWQgbGluayB0eXBlCiAKLTs7IENhbGxpbmcgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiBp cyBoYXJkLWNvZGVkIGludG8gYG9yZy1zdG9yZS1saW5rJywKLTs7IHNvIHdlIGRvIGhhdmUg dG8gYWRkIGl0IHRvIGBvcmctc3RvcmUtbGluay1mdW5jdGlvbnMnLgorKGRlZnVuIG9yZy1p ZC0tZ2V0LWlkLXRvLXN0b3JlLWxpbmsgKCZvcHRpb25hbCBjcmVhdGUpCisgICJHZXQgb3Ig Y3JlYXRlIHRoZSByZWxldmFudCBJRCBmb3Igc3RvcmluZyBhIGxpbmsuCisKK09wdGlvbmFs IGFyZ3VtZW50IENSRUFURSBpcyBwYXNzZWQgdG8gYG9yZy1pZC1nZXQnLgorCitJbmhlcml0 ZWQgSURzIGFyZSBvbmx5IGNvbnNpZGVyZWQgd2hlbgorYG9yZy1pZC1saW5rLWNvbnNpZGVy LXBhcmVudC1pZCcsIGBvcmctaWQtbGluay11c2UtY29udGV4dCcgYW5kCitgb3JnLWxpbmst Y29udGV4dC1mb3ItZmlsZXMnIGFyZSBhbGwgZW5hYmxlZCwgc2luY2UgaW5oZXJpdGVkIElE cworYXJlIGNvbmZ1c2luZyB3aXRob3V0IHRoZSBhZGRpdGlvbmFsIHNlYXJjaCBzdHJpbmcg Y29udGV4dC4KKworTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gcmVzZXRzIHRoZQorYG9yZy1l bnRyeS1wcm9wZXJ0eS1pbmhlcml0ZWQtZnJvbScgbWFya2VyOiBpdCB3aWxsIGVpdGhlciBw b2ludAordG8gbmlsIChpZiB0aGUgaWQgd2FzIG5vdCBpbmhlcml0ZWQpIG9yIHRvIHRoZSBw b2ludCBpdCB3YXMKK2luaGVyaXRlZCBmcm9tLiIKKyAgKGxldCogKChpbmhlcml0LWlkIChh bmQgb3JnLWlkLWxpbmstY29uc2lkZXItcGFyZW50LWlkCisgICAgICAgICAgICAgICAgICAg ICAgICAgIG9yZy1pZC1saW5rLXVzZS1jb250ZXh0CisgICAgICAgICAgICAgICAgICAgICAg ICAgIG9yZy1saW5rLWNvbnRleHQtZm9yLWZpbGVzKSkpCisgICAgKG1vdmUtbWFya2VyIG9y Zy1lbnRyeS1wcm9wZXJ0eS1pbmhlcml0ZWQtZnJvbSBuaWwpCisgICAgKG9yZy1pZC1nZXQg bmlsIGNyZWF0ZSBuaWwgaW5oZXJpdC1pZCkpKQogCiA7OzsjIyNhdXRvbG9hZAogKGRlZnVu IG9yZy1pZC1zdG9yZS1saW5rICgpCiAgICJTdG9yZSBhIGxpbmsgdG8gdGhlIGN1cnJlbnQg ZW50cnksIHVzaW5nIGl0cyBJRC4KIAotSWYgYmVmb3JlIGZpcnN0IGhlYWRpbmcgc3RvcmUg Zmlyc3QgdGl0bGUta2V5d29yZCBhcyBkZXNjcmlwdGlvbgotb3IgZmlsZW5hbWUgaWYgbm8g dGl0bGUuIgorVGhlIGxpbmsgZGVzY3JpcHRpb24gaXMgYmFzZWQgb24gdGhlIGhlYWRpbmcs IG9yIGlmIGJlZm9yZSB0aGUKK2ZpcnN0IGhlYWRpbmcsIHRoZSB0aXRsZSBrZXl3b3JkIGlm IGF2YWlsYWJsZSwgb3IgZWxzZSB0aGUKK2ZpbGVuYW1lLgorCitXaGVuIGBvcmctbGluay1j b250ZXh0LWZvci1maWxlcycgYW5kIGBvcmctaWQtbGluay11c2UtY29udGV4dCcKK2FyZSBu b24tbmlsLCBhZGQgYSBzZWFyY2ggc3RyaW5nIHRvIHRoZSBsaW5rLiAgVGhlIGxpbmsKK2Rl c2NyaXB0aW9uIGlzIHRoZW4gYmFzZWQgb24gdGhlIHNlYXJjaCBzdHJpbmcgdGFyZ2V0Lgor CitXaGVuIGluIGFkZGl0aW9uIGBvcmctaWQtbGluay1jb25zaWRlci1wYXJlbnQtaWQnIGlz IG5vbi1uaWwsIHRoZQorSUQgY2FuIGJlIGluaGVyaXRlZCBmcm9tIGEgcGFyZW50IGVudHJ5 LCB3aXRoIHRoZSBzZWFyY2ggc3RyaW5nCit1c2VkIHRvIHN0aWxsIGxpbmsgdG8gdGhlIGN1 cnJlbnQgbG9jYXRpb24uIgogICAoaW50ZXJhY3RpdmUpCi0gICh3aGVuIChhbmQgKGJ1ZmZl ci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpIChkZXJpdmVkLW1vZGUtcCAnb3Jn LW1vZGUpKQotICAgIChsZXQqICgobGluayAoY29uY2F0ICJpZDoiIChvcmctaWQtZ2V0LWNy ZWF0ZSkpKQorICAod2hlbiAoYW5kIChidWZmZXItZmlsZS1uYW1lIChidWZmZXItYmFzZS1i dWZmZXIpKQorICAgICAgICAgICAgIChkZXJpdmVkLW1vZGUtcCAnb3JnLW1vZGUpKQorICAg IDs7IEdldCB0aGUgcHJlY2lzZSB0YXJnZXQgZmlyc3QsIGluIGNhc2UgbG9va2luZyBmb3Ig YW4gaWQgY2F1c2VzCisgICAgOzsgYSBwcm9wZXJ0aWVzIGRyYXdlciB0byBiZSBhZGRlZCBh dCB0aGUgY3VycmVudCBsb2NhdGlvbi4KKyAgICAobGV0KiAoKHByZWNpc2UtdGFyZ2V0IChh bmQgb3JnLWxpbmstY29udGV4dC1mb3ItZmlsZXMKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb3JnLWlkLWxpbmstdXNlLWNvbnRleHQKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKG9yZy1saW5rLXByZWNpc2UtbGluay10YXJnZXQpKSkKKyAgICAgICAg ICAgKGxpbmsgKGNvbmNhdCAiaWQ6IiAob3JnLWlkLS1nZXQtaWQtdG8tc3RvcmUtbGluayAn Y3JlYXRlKSkpCisgICAgICAgICAgIChpZC1sb2NhdGlvbiAob3IgKGFuZCBvcmctZW50cnkt cHJvcGVydHktaW5oZXJpdGVkLWZyb20KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChtYXJrZXItcG9zaXRpb24gb3JnLWVudHJ5LXByb3BlcnR5LWluaGVyaXRlZC1mcm9t KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNpb24gKG9yZy1i YWNrLXRvLWhlYWRpbmctb3ItcG9pbnQtbWluIHQpIChwb2ludCkpKSkKIAkgICAoY2FzZS1m b2xkLXNlYXJjaCBuaWwpCiAJICAgKGRlc2MgKHNhdmUtZXhjdXJzaW9uCi0JCSAgIChvcmct YmFjay10by1oZWFkaW5nLW9yLXBvaW50LW1pbiB0KQorICAgICAgICAgICAgICAgICAgIChn b3RvLWNoYXIgaWQtbG9jYXRpb24pCiAgICAgICAgICAgICAgICAgICAgKGNvbmQgKChvcmct YmVmb3JlLWZpcnN0LWhlYWRpbmctcCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxl dCAoKGtleXdvcmRzIChvcmctY29sbGVjdC1rZXl3b3JkcyAnKCJUSVRMRSIpKSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGtleXdvcmRzCkBAIC03MjYsMTQgKzgwNyw1 OSBAQCBvciBmaWxlbmFtZSBpZiBubyB0aXRsZS4iCiAJCQkgICAgICAobWF0Y2gtc3RyaW5n IDQpCiAJCQkgICAgKG1hdGNoLXN0cmluZyAwKSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgKHQgbGluaykpKSkpCisgICAgICA7OyBQcmVjaXNlIHRhcmdldHMgc2hvdWxkIGJlIGFm dGVyIGlkLWxvY2F0aW9uIHRvIGF2b2lkCisgICAgICA7OyBkdXBsaWNhdGluZyB0aGUgY3Vy cmVudCBoZWFkbGluZSBhcyBhIHNlYXJjaCBzdHJpbmcKKyAgICAgICh3aGVuIChhbmQgcHJl Y2lzZS10YXJnZXQKKyAgICAgICAgICAgICAgICAgKD4gKG50aCAyIHByZWNpc2UtdGFyZ2V0 KSBpZC1sb2NhdGlvbikpCisgICAgICAgICAoc2V0cSBsaW5rIChjb25jYXQgbGluayAiOjoi IChudGggMCBwcmVjaXNlLXRhcmdldCkpKQorICAgICAgICAgKHNldHEgZGVzYyAobnRoIDEg cHJlY2lzZS10YXJnZXQpKSkKICAgICAgIChvcmctbGluay1zdG9yZS1wcm9wcyA6bGluayBs aW5rIDpkZXNjcmlwdGlvbiBkZXNjIDp0eXBlICJpZCIpCiAgICAgICBsaW5rKSkpCiAKLShk ZWZ1biBvcmctaWQtb3BlbiAoaWQgXykKLSAgIkdvIHRvIHRoZSBlbnRyeSB3aXRoIGlkIElE LiIKLSAgKG9yZy1tYXJrLXJpbmctcHVzaCkKLSAgKGxldCAoKG0gKG9yZy1pZC1maW5kIGlk ICdtYXJrZXIpKQotCWNtZCkKKzs7OyMjI2F1dG9sb2FkCisoZGVmdW4gb3JnLWlkLXN0b3Jl LWxpbmstbWF5YmUgKCZvcHRpb25hbCBpbnRlcmFjdGl2ZT8pCisgICJTdG9yZSBhIGxpbmsg dG8gdGhlIGN1cnJlbnQgZW50cnkgdXNpbmcgaXRzIElEIGlmIGVuYWJsZWQuCisKK1RoZSB2 YWx1ZSBvZiBgb3JnLWlkLWxpbmstdG8tb3JnLXVzZS1pZCcgZGV0ZXJtaW5lcyB3aGV0aGVy IGFuIElECitsaW5rIHNob3VsZCBiZSBzdG9yZWQsIHVzaW5nIGBvcmctaWQtc3RvcmUtbGlu aycuCisKK0Fzc3VtZSB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIGludGVyYWN0aXZlbHkgaWYg SU5URVJBQ1RJVkU/IGlzCitub24tbmlsLiIKKyAgKHdoZW4gKGFuZCAoYnVmZmVyLWZpbGUt bmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkKKyAgICAgICAgICAgICAoZGVyaXZlZC1tb2Rl LXAgJ29yZy1tb2RlKQorICAgICAgICAgICAgIChvciAoZXEgb3JnLWlkLWxpbmstdG8tb3Jn LXVzZS1pZCB0KQorICAgICAgICAgICAgICAgICAoYW5kIGludGVyYWN0aXZlPworICAgICAg ICAgICAgICAgICAgICAgIChvciAoZXEgb3JnLWlkLWxpbmstdG8tb3JnLXVzZS1pZCAnY3Jl YXRlLWlmLWludGVyYWN0aXZlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChl cSBvcmctaWQtbGluay10by1vcmctdXNlLWlkCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdjcmVhdGUtaWYtaW50ZXJhY3RpdmUtYW5kLW5vLWN1c3RvbS1pZCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChvcmctZW50cnktZ2V0IG5pbCAi Q1VTVE9NX0lEIikpKSkpCisgICAgICAgICAgICAgICAgIDs7ICd1c2UtZXhpc3RpbmcKKyAg ICAgICAgICAgICAgICAgKGFuZCBvcmctaWQtbGluay10by1vcmctdXNlLWlkCisgICAgICAg ICAgICAgICAgICAgICAgKG9yZy1pZC0tZ2V0LWlkLXRvLXN0b3JlLWxpbmspKSkpCisgICAg KG9yZy1pZC1zdG9yZS1saW5rKSkpCisKKyhkZWZ1biBvcmctaWQtb3BlbiAobGluayBfKQor ICAiR28gdG8gdGhlIGVudHJ5IGluZGljYXRlZCBieSBpZCBsaW5rIExJTksuCisKK1RoZSBs aW5rIGNhbiBpbmNsdWRlIGEgc2VhcmNoIHN0cmluZyBhZnRlciBcIjo6XCIsIHdoaWNoIGlz CitwYXNzZWQgdG8gYG9yZy1saW5rLXNlYXJjaCcuCisKK0ZvciBiYWNrd2FyZHMgY29tcGF0 aWJpbGl0eSB3aXRoIElEcyB0aGF0IGNvbnRhaW4gXCI6OlwiLCBpZiBubworbWF0Y2ggaXMg Zm91bmQgZm9yIHRoZSBJRCwgdGhlIGZ1bGwgbGluayBzdHJpbmcgaW5jbHVkaW5nIFwiOjpc Igord2lsbCBiZSB0cmllZCBhcyBhbiBJRC4iCisgIChsZXQqICgob3B0aW9uIChhbmQgKHN0 cmluZy1tYXRjaCAiOjpcXCguKlxcKVxcJyIgbGluaykKKwkJICAgICAgKG1hdGNoLXN0cmlu ZyAxIGxpbmspKSkKKwkgKGlkIChpZiAobm90IG9wdGlvbikgbGluaworICAgICAgICAgICAg ICAgKHN1YnN0cmluZyBsaW5rIDAgKG1hdGNoLWJlZ2lubmluZyAwKSkpKQorICAgICAgICAg bSBjbWQpCisgICAgKG9yZy1tYXJrLXJpbmctcHVzaCkKKyAgICAoc2V0cSBtIChvcmctaWQt ZmluZCBpZCAnbWFya2VyKSkKKyAgICAod2hlbiAoYW5kIChub3QgbSkgb3B0aW9uKQorICAg ICAgOzsgQmFja3dhcmRzIGNvbXBhdGliaWxpdHk6IGlmIGlkIGlzIG5vdCBmb3VuZCwgdHJ5 IHRyZWF0aW5nCisgICAgICA7OyB3aG9sZSBsaW5rIGFzIGFuIGlkLgorICAgICAgKHNldHEg bSAob3JnLWlkLWZpbmQgbGluayAnbWFya2VyKSkKKyAgICAgICh3aGVuIG0KKyAgICAgICAg KHNldHEgb3B0aW9uIG5pbCkpKQogICAgICh1bmxlc3MgbQogICAgICAgKGVycm9yICJDYW5u b3QgZmluZCBlbnRyeSB3aXRoIElEIFwiJXNcIiIgaWQpKQogICAgIDs7IFVzZSBhIGJ1ZmZl ci1zd2l0Y2hpbmcgY29tbWFuZCBpbiBhbmFsb2d5IHRvIGZpbmRpbmcgZmlsZXMKQEAgLTc1 MCw5ICs4NzYsMTcgQEAgb3IgZmlsZW5hbWUgaWYgbm8gdGl0bGUuIgogCShmdW5jYWxsIGNt ZCAobWFya2VyLWJ1ZmZlciBtKSkpCiAgICAgKGdvdG8tY2hhciBtKQogICAgIChtb3ZlLW1h cmtlciBtIG5pbCkKKyAgICAod2hlbiBvcHRpb24KKyAgICAgIChzYXZlLXJlc3RyaWN0aW9u CisgICAgICAgICh1bmxlc3MgKG9yZy1iZWZvcmUtZmlyc3QtaGVhZGluZy1wKQorICAgICAg ICAgIChvcmctbmFycm93LXRvLXN1YnRyZWUpKQorICAgICAgICAob3JnLWxpbmstc2VhcmNo IG9wdGlvbiBuaWwgbmlsCisgICAgICAgICAgICAgICAgICAgICAgICAgKG9yZy1lbGVtZW50 LWxpbmVhZ2UgKG9yZy1lbGVtZW50LWF0LXBvaW50KSAnaGVhZGxpbmUgdCkpKSkKICAgICAo b3JnLWZvbGQtc2hvdy1jb250ZXh0KSkpCiAKLShvcmctbGluay1zZXQtcGFyYW1ldGVycyAi aWQiIDpmb2xsb3cgIydvcmctaWQtb3BlbikKKyhvcmctbGluay1zZXQtcGFyYW1ldGVycyAi aWQiCisgIDpmb2xsb3cgIydvcmctaWQtb3BlbgorICA6c3RvcmUgIydvcmctaWQtc3RvcmUt bGluay1tYXliZSkKIAogKHByb3ZpZGUgJ29yZy1pZCkKIApkaWZmIC0tZ2l0IGEvbGlzcC9v cmctbGludC5lbCBiL2xpc3Avb3JnLWxpbnQuZWwKaW5kZXggNGQyYTU1ZDE1Li5iMjNhZmNj YTMgMTAwNjQ0Ci0tLSBhL2xpc3Avb3JnLWxpbnQuZWwKKysrIGIvbGlzcC9vcmctbGludC5l bApAQCAtNjUsNiArNjUsNyBAQAogOzsgLSBzcGVjaWFsIHByb3BlcnRpZXMgaW4gcHJvcGVy dGllcyBkcmF3ZXJzLAogOzsgLSBvYnNvbGV0ZSBzeW50YXggZm9yIHByb3BlcnRpZXMgZHJh d2VycywKIDs7IC0gaW52YWxpZCBkdXJhdGlvbiBpbiBFRkZPUlQgcHJvcGVydHksCis7OyAt IGludmFsaWQgSUQgcHJvcGVydHkgd2l0aCBhIGRvdWJsZSBjb2xvbiwKIDs7IC0gbWlzc2lu ZyBkZWZpbml0aW9uIGZvciBmb290bm90ZSByZWZlcmVuY2VzLAogOzsgLSBtaXNzaW5nIHJl ZmVyZW5jZSBmb3IgZm9vdG5vdGUgZGVmaW5pdGlvbnMsCiA7OyAtIG5vbi1mb290bm90ZSBk ZWZpbml0aW9ucyBpbiBmb290bm90ZSBzZWN0aW9uLApAQCAtNjg2LDYgKzY4NywxNiBAQCBV c2UgOmhlYWRlci1hcmdzOiBpbnN0ZWFkIgogCSAgICAgICAobGlzdCAob3JnLWVsZW1lbnQt YmVnaW4gcCkKIAkJICAgICAoZm9ybWF0ICJJbnZhbGlkIGVmZm9ydCBkdXJhdGlvbiBmb3Jt YXQ6ICVTIiB2YWx1ZSkpKSkpKSkpCiAKKyhkZWZ1biBvcmctbGludC1pbnZhbGlkLWlkLXBy b3BlcnR5IChhc3QpCisgIChvcmctZWxlbWVudC1tYXAgYXN0ICdub2RlLXByb3BlcnR5Cisg ICAgKGxhbWJkYSAocCkKKyAgICAgICh3aGVuIChlcXVhbCAiSUQiIChvcmctZWxlbWVudC1w cm9wZXJ0eSA6a2V5IHApKQorCShsZXQgKCh2YWx1ZSAob3JnLWVsZW1lbnQtcHJvcGVydHkg OnZhbHVlIHApKSkKKwkgIChhbmQgKG9yZy1zdHJpbmctbnctcCB2YWx1ZSkKKyAgICAgICAg ICAgICAgIChzdHJpbmctbWF0Y2gtcCAiOjoiIHZhbHVlKQorCSAgICAgICAobGlzdCAob3Jn LWVsZW1lbnQtYmVnaW4gcCkKKwkJICAgICAoZm9ybWF0ICJJRHMgc2hvdWxkIG5vdCBpbmNs dWRlIFwiOjpcIjogJVMiIHZhbHVlKSkpKSkpKSkKKwogKGRlZnVuIG9yZy1saW50LWxpbmst dG8tbG9jYWwtZmlsZSAoYXN0KQogICAob3JnLWVsZW1lbnQtbWFwIGFzdCAnbGluawogICAg IChsYW1iZGEgKGwpCkBAIC0xNjg0LDYgKzE2OTUsMTEgQEAgQVNUIGlzIHRoZSBidWZmZXIg cGFyc2UgdHJlZS4iCiAgICMnb3JnLWxpbnQtaW52YWxpZC1lZmZvcnQtcHJvcGVydHkKICAg OmNhdGVnb3JpZXMgJyhwcm9wZXJ0aWVzKSkKIAorKG9yZy1saW50LWFkZC1jaGVja2VyICdp bnZhbGlkLWlkLXByb3BlcnR5CisgICJSZXBvcnQgc2VhcmNoIHN0cmluZyBkZWxpbWl0ZXIg XCI6OlwiIGluIElEIHByb3BlcnR5IgorICAjJ29yZy1saW50LWludmFsaWQtaWQtcHJvcGVy dHkKKyAgOmNhdGVnb3JpZXMgJyhwcm9wZXJ0aWVzKSkKKwogKG9yZy1saW50LWFkZC1jaGVj a2VyICd1bmRlZmluZWQtZm9vdG5vdGUtcmVmZXJlbmNlCiAgICJSZXBvcnQgbWlzc2luZyBk ZWZpbml0aW9uIGZvciBmb290bm90ZSByZWZlcmVuY2VzIgogICAjJ29yZy1saW50LXVuZGVm aW5lZC1mb290bm90ZS1yZWZlcmVuY2UKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvbGlzcC90ZXN0 LW9sLmVsIGIvdGVzdGluZy9saXNwL3Rlc3Qtb2wuZWwKaW5kZXggZTBjZWMwODU0Li4zMTUw YjRlMmYgMTAwNjQ0Ci0tLSBhL3Rlc3RpbmcvbGlzcC90ZXN0LW9sLmVsCisrKyBiL3Rlc3Rp bmcvbGlzcC90ZXN0LW9sLmVsCkBAIC0zODEsNiArMzgxLDEyOCBAQCBTZWUgaHR0cHM6Ly9n aXRodWIuY29tL3lhbnRhcjkyL29yZy9pc3N1ZXMvNC4iCiAJIChlcXVhbCAoZm9ybWF0ICJb W2ZpbGU6JXM6Oipmb28gYmFyXVtmb28gYmFyXV0iIGZpbGUgZmlsZSkKIAkJKG9yZy1zdG9y ZS1saW5rIG5pbCkpKSkpKSkKIAorKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLWxpbmsvcHJlY2lz ZS1saW5rLXRhcmdldCAoKQorICAiVGVzdCBgb3JnLWxpbmstcHJlY2lzZS1saW5rLXRhcmdl dGAgc3BlY2lmaWNhdGlvbnMuIgorICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRleHQgIiogSDE8 cG9pbnQ+XG4qIEgyXG4iCisgICAgKHNob3VsZAorICAgICAoZXF1YWwgJygiKkgxIiAiSDEi IDEpCisgICAgICAgICAgICAob3JnLWxpbmstcHJlY2lzZS1saW5rLXRhcmdldCkpKSkKKyAg KG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICIqIEgxXG4jK25hbWU6IGZvbzxwb2ludD5cbiMr YmVnaW5fZXhhbXBsZVxuaGlcbiMrZW5kX2V4YW1wbGVcbiIKKyAgICAoc2hvdWxkCisgICAg IChlcXVhbCAnKCJmb28iICJmb28iIDYpCisgICAgICAgICAgICAob3JnLWxpbmstcHJlY2lz ZS1saW5rLXRhcmdldCkpKSkKKyAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICJcblRleHQ8 cG9pbnQ+XG4qIEgxXG4iCisgICAgKHNob3VsZAorICAgICAoZXF1YWwgJygiVGV4dCIgbmls IDIpCisgICAgICAgICAgICAob3JnLWxpbmstcHJlY2lzZS1saW5rLXRhcmdldCkpKSkKKyAg KG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0ICJcbjxwb2ludD5cbiogSDFcbiIKKyAgICAoc2hv dWxkCisgICAgIChlcXVhbCBuaWwgKG9yZy1saW5rLXByZWNpc2UtbGluay10YXJnZXQpKSkp KQorCisoZGVmbWFjcm8gdGVzdC1vbC1zdG9yZWQtbGluay13aXRoLXRleHQgKHRleHQgJnJl c3QgYm9keSkKKyAgIlJldHVybiA6bGluayBhbmQgOmRlc2NyaXB0aW9uIGZyb20gbGluayBz dG9yZWQgaW4gYm9keS4iCisgIChkZWNsYXJlIChpbmRlbnQgMSkpCisgIGAobGV0IChvcmct c3RvcmUtbGluay1wbGlzdCkKKyAgICAgKG9yZy10ZXN0LXdpdGgtdGVtcC10ZXh0LWluLWZp bGUgLHRleHQKKyAgICAgICAsQGJvZHkKKyAgICAgICAobGlzdCAocGxpc3QtZ2V0IG9yZy1z dG9yZS1saW5rLXBsaXN0IDpsaW5rKQorICAgICAgICAgICAgIChwbGlzdC1nZXQgb3JnLXN0 b3JlLWxpbmstcGxpc3QgOmRlc2NyaXB0aW9uKSkpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qt b3JnLWxpbmsvaWQtc3RvcmUtbGluayAoKQorICAiVGVzdCBgb3JnLWlkLXN0b3JlLWxpbmsn IHNwZWNpZmljYXRpb25zLiIKKyAgKGxldCAoKG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQg bmlsKSkKKyAgICAoc2hvdWxkCisgICAgIChlcXVhbCAnKG5pbCBuaWwpCisgICAgICAgICAg ICAodGVzdC1vbC1zdG9yZWQtbGluay13aXRoLXRleHQgIiogSDFcbjpQUk9QRVJUSUVTOlxu OklEOiBhYmNcbjpFTkQ6XG4iCisgICAgICAgICAgICAgIChvcmctaWQtc3RvcmUtbGluay1t YXliZSB0KSkpKSkKKyAgOzsgT24gYSBoZWFkbGluZSwgbGluayB0byB0aGF0IGhlYWRsaW5l J3MgSUQuICBVc2UgaGVhZGluZyBhcyB0aGUKKyAgOzsgZGVzY3JpcHRpb24gb2YgdGhlIGxp bmsuCisgIChsZXQgKChvcmctaWQtbGluay10by1vcmctdXNlLWlkIHQpKQorICAgIChzaG91 bGQKKyAgICAgKGVxdWFsICcoImlkOmFiYyIgIkgxIikKKyAgICAgICAgICAgICh0ZXN0LW9s LXN0b3JlZC1saW5rLXdpdGgtdGV4dCAiKiBIMVxuOlBST1BFUlRJRVM6XG46SUQ6IGFiY1xu OkVORDpcbiIKKyAgICAgICAgICAgICAgKG9yZy1pZC1zdG9yZS1saW5rLW1heWJlIHQpKSkp KQorICA7OyBSZW1vdmUgVE9ETyBrZXl3b3JkcyBldGMgZnJvbSBkZXNjcmlwdGlvbiBvZiB0 aGUgbGluay4KKyAgKGxldCAoKG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQgdCkpCisgICAg KHNob3VsZAorICAgICAoZXF1YWwgJygiaWQ6YWJjIiAiSDEiKQorICAgICAgICAgICAgKHRl c3Qtb2wtc3RvcmVkLWxpbmstd2l0aC10ZXh0ICIqIFRPRE8gWyNBXSBIMSA6dGFnOlxuOlBS T1BFUlRJRVM6XG46SUQ6IGFiY1xuOkVORDpcbiIKKyAgICAgICAgICAgICAgKG9yZy1pZC1z dG9yZS1saW5rLW1heWJlIHQpKSkpKQorICA7OyBjcmVhdGUtaWYtaW50ZXJhY3RpdmUKKyAg KGxldCAoKG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQgJ2NyZWF0ZS1pZi1pbnRlcmFjdGl2 ZSkpCisgICAgKHNob3VsZAorICAgICAoZXF1YWwgJygiaWQ6YWJjIiAiSDEiKQorICAgICAg ICAgICAgKGNsLWxldGYgKCgoc3ltYm9sLWZ1bmN0aW9uICdvcmctaWQtbmV3KQorICAgICAg ICAgICAgICAgICAgICAgICAobGFtYmRhICgmcmVzdCBfcmVzdCkgImFiYyIpKSkKKyAgICAg ICAgICAgICAgKHRlc3Qtb2wtc3RvcmVkLWxpbmstd2l0aC10ZXh0ICIqIEgxXG4iCisgICAg ICAgICAgICAgICAgKG9yZy1pZC1zdG9yZS1saW5rLW1heWJlIHQpKSkpKQorICAgIChzaG91 bGQKKyAgICAgKGVxdWFsICcobmlsIG5pbCkKKyAgICAgICAgICAgICh0ZXN0LW9sLXN0b3Jl ZC1saW5rLXdpdGgtdGV4dCAiKiBIMVxuIgorICAgICAgICAgICAgICAob3JnLWlkLXN0b3Jl LWxpbmstbWF5YmUgbmlsKSkpKSkKKyAgOzsgY3JlYXRlLWlmLWludGVyYWN0aXZlLWFuZC1u by1jdXN0b20taWQKKyAgKGxldCAoKG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQgJ2NyZWF0 ZS1pZi1pbnRlcmFjdGl2ZS1hbmQtbm8tY3VzdG9tLWlkKSkKKyAgICAoc2hvdWxkCisgICAg IChlcXVhbCAnKCJpZDphYmMiICJIMSIpCisgICAgICAgICAgICAoY2wtbGV0ZiAoKChzeW1i b2wtZnVuY3Rpb24gJ29yZy1pZC1uZXcpCisgICAgICAgICAgICAgICAgICAgICAgIChsYW1i ZGEgKCZyZXN0IF9yZXN0KSAiYWJjIikpKQorICAgICAgICAgICAgICAodGVzdC1vbC1zdG9y ZWQtbGluay13aXRoLXRleHQgIiogSDFcbiIKKyAgICAgICAgICAgICAgICAob3JnLWlkLXN0 b3JlLWxpbmstbWF5YmUgdCkpKSkpCisgICAgKHNob3VsZAorICAgICAoZXF1YWwgJyhuaWwg bmlsKQorICAgICAgICAgICAgKHRlc3Qtb2wtc3RvcmVkLWxpbmstd2l0aC10ZXh0ICIqIEgx XG46UFJPUEVSVElFUzpcbjpDVVNUT01fSUQ6IHh5elxuOkVORDpcbiIKKyAgICAgICAgICAg ICAgKG9yZy1pZC1zdG9yZS1saW5rLW1heWJlIHQpKSkpCisgICAgKHNob3VsZAorICAgICAo ZXF1YWwgJyhuaWwgbmlsKQorICAgICAgICAgICAgKHRlc3Qtb2wtc3RvcmVkLWxpbmstd2l0 aC10ZXh0ICIqIEgxXG4iCisgICAgICAgICAgICAgIChvcmctaWQtc3RvcmUtbGluay1tYXli ZSBuaWwpKSkpKQorICA7OyB1c2UtY29udGV4dCBzaG91bGQgaGF2ZSBubyBlZmZlY3Qgd2hl biBvbiB0aGUgaGVhZGxpbmUgd2l0aCBhbiBpZAorICAobGV0ICgob3JnLWlkLWxpbmstdG8t b3JnLXVzZS1pZCB0KQorICAgICAgICAob3JnLWlkLWxpbmstdXNlLWNvbnRleHQgdCkpCisg ICAgKHNob3VsZAorICAgICAoZXF1YWwgJygiaWQ6YWJjIiAiSDIiKQorICAgICAgICAgICAg KHRlc3Qtb2wtc3RvcmVkLWxpbmstd2l0aC10ZXh0ICIqIEgxXG4qKiBIMjxwb2ludD5cbjpQ Uk9QRVJUSUVTOlxuOklEOiBhYmNcbjpFTkQ6XG4iCisgICAgICAgICAgICAgIDs7IHNpbXVs YXRlIHByZXZpb3VzbHkgZ2V0dGluZyBhbiBpbmhlcml0ZWQgdmFsdWUKKyAgICAgICAgICAg ICAgKG1vdmUtbWFya2VyIG9yZy1lbnRyeS1wcm9wZXJ0eS1pbmhlcml0ZWQtZnJvbSAxKQor ICAgICAgICAgICAgICAob3JnLWlkLXN0b3JlLWxpbmstbWF5YmUgdCkpKSkpKQorCisoZXJ0 LWRlZnRlc3QgdGVzdC1vcmctbGluay9pZC1zdG9yZS1saW5rLXVzaW5nLXBhcmVudCAoKQor ICAiVGVzdCBgb3JnLWlkLXN0b3JlLWxpbmsnIHNwZWNpZmljYXRpb25zIHdpdGggYG9yZy1p ZC1saW5rLWNvbnNpZGVyLXBhcmVudC1pZGAgc2V0LiIKKyAgOzsgd2hlbiB1c2luZyBjb250 ZXh0IHRvIHN0aWxsIGZpbmQgc3BlY2lmaWMgaGVhZGluZworICAobGV0ICgob3JnLWlkLWxp bmstdG8tb3JnLXVzZS1pZCB0KQorICAgICAgICAob3JnLWlkLWxpbmstY29uc2lkZXItcGFy ZW50LWlkIHQpCisgICAgICAgIChvcmctaWQtbGluay11c2UtY29udGV4dCB0KSkKKyAgICAo c2hvdWxkCisgICAgIChlcXVhbCAnKCJpZDphYmM6OipIMiIgIkgyIikKKyAgICAgICAgICAg ICh0ZXN0LW9sLXN0b3JlZC1saW5rLXdpdGgtdGV4dCAiKiBIMVxuOlBST1BFUlRJRVM6XG46 SUQ6IGFiY1xuOkVORDpcbioqIEgyXG48cG9pbnQ+IgorICAgICAgICAgICAgICAob3JnLWlk LXN0b3JlLWxpbmspKSkpCisgICAgKHNob3VsZAorICAgICAoZXF1YWwgJygiaWQ6YWJjOjpu YW1lIiAibmFtZSIpCisgICAgICAgICAgICAodGVzdC1vbC1zdG9yZWQtbGluay13aXRoLXRl eHQgIiogSDFcbjpQUk9QRVJUSUVTOlxuOklEOiBhYmNcbjpFTkQ6XG5cbiMrbmFtZTogbmFt ZVxuPHBvaW50PiMrYmVnaW5fZXhhbXBsZVxuaGlcbiMrZW5kX2V4YW1wbGVcbiIKKyAgICAg ICAgICAgICAgKG9yZy1pZC1zdG9yZS1saW5rKSkpKQorICAgIChzaG91bGQKKyAgICAgKGVx dWFsICcoImlkOmFiYyIgIkgxIikKKyAgICAgICAgICAgICh0ZXN0LW9sLXN0b3JlZC1saW5r LXdpdGgtdGV4dCAiKiBIMTxwb2ludD5cbjpQUk9QRVJUSUVTOlxuOklEOiBhYmNcbjpFTkQ6 XG4qKiBIMlxuIgorICAgICAgICAgICAgICAob3JnLWlkLXN0b3JlLWxpbmspKSkpCisgICAg Ozsgc2hvdWxkIG5vdCB1c2UgbmV3bHkgYWRkZWQgaWRzIGFzIHNlYXJjaCBzdHJpbmcsIGUu Zy4gaW4gYW4gZW1wdHkgZmlsZQorICAgIChzaG91bGQKKyAgICAgKGxldCAobmFtZSByZXN1 bHQpCisgICAgICAgKHNldHEgcmVzdWx0CisgICAgICAgICAgICAgKGNsLWxldGYgKCgoc3lt Ym9sLWZ1bmN0aW9uICdvcmctaWQtbmV3KQorICAgICAgICAgICAgICAgICAgICAgICAgKGxh bWJkYSAoJnJlc3QgX3Jlc3QpICJhYmMiKSkpCisgICAgICAgICAgICAgICAodGVzdC1vbC1z dG9yZWQtbGluay13aXRoLXRleHQgIjxwb2ludD4iCisgICAgICAgICAgICAgICAgIChzZXRx IG5hbWUgKGJ1ZmZlci1uYW1lKSkKKyAgICAgICAgICAgICAgICAgKG9yZy1pZC1zdG9yZS1s aW5rKSkpKQorICAgICAgIChlcXVhbCBgKCJpZDphYmMiICxuYW1lKSByZXN1bHQpKSkpCisg IDs7IHNob3VsZCBub3QgZmluZCB0YXJnZXRzIGluIHRoZSBuZXh0IHNlY3Rpb24KKyAgKGxl dCAoKG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQgJ3VzZS1leGlzdGluZykKKyAgICAgICAg KG9yZy1pZC1saW5rLWNvbnNpZGVyLXBhcmVudC1pZCB0KQorICAgICAgICAob3JnLWlkLWxp bmstdXNlLWNvbnRleHQgdCkpCisgICAgKHNob3VsZAorICAgICAoZXF1YWwgJyhuaWwgbmls KQorICAgICAgICAgICAgKHRlc3Qtb2wtc3RvcmVkLWxpbmstd2l0aC10ZXh0ICIqIEgxXG46 UFJPUEVSVElFUzpcbjpJRDogYWJjXG46RU5EOlxuKiBIMlxuKiogPHBvaW50PlRhcmdldFxu IgorICAgICAgICAgICAgICAob3JnLWlkLXN0b3JlLWxpbmstbWF5YmUgdCkpKSkpKQorCiAM CiA7OzsgUmFkaW8gVGFyZ2V0cwogCi0tIAoyLjM3LjEgKEFwcGxlIEdpdC0xMzcuMSkKCg== --4425b2b2b21340e195ef54900fe35ca7--