From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DA274C4345F for ; Thu, 25 Apr 2024 16:29:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:References:Cc:To:From:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=stixCZT5lBxP+jjfzTS5leqEUM+yqVSglF8V2hCC5r0=; b=1vzu0JGxjX1byu V5qc+YGdg3mfu7OQvwwq2frwDTNJMAO5kQs9CNL3AppSTAD+oHdMcJ7jSxThIF3LweZ7FrswZQGOA UdVjSuBWaZSJsXSASXCJmbgLtvxLal0uOoYPPfdcGdC0o8PCfRQCM4mTh7dNpl6I6INumhwA4VcnI i8cOqvE5oWiqi/2Lt/OFmA+EEwUMyyDhMBbcmEzBjtP1tFPnfJapBl4UPOdUyN7TRJq9oz2ghXlfe FiqufMpbSnRabMc+w1e4STzZCWCl8OdAmXKQ1ss43TQtc0JbFFx9k8d88ThhSM4NdwTL8UtwPfAqu ZpUH3XXbZ5quoJ8gs/ig==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s01yZ-00000009NO1-41SC; Thu, 25 Apr 2024 16:29:35 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s01yS-00000009NJh-31Vf for linux-arm-kernel@lists.infradead.org; Thu, 25 Apr 2024 16:29:33 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0A6031007; Thu, 25 Apr 2024 09:29:54 -0700 (PDT) Received: from [10.57.86.170] (unknown [10.57.86.170]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6857A3F73F; Thu, 25 Apr 2024 09:29:22 -0700 (PDT) Message-ID: <5bba262f-6d30-417b-8a6f-fc03b86c47bd@arm.com> Date: Thu, 25 Apr 2024 17:29:18 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 09/14] arm64: Enable memory encrypt for Realms Content-Language: en-GB From: Suzuki K Poulose To: kernel test robot , Steven Price , kvm@vger.kernel.org, kvmarm@lists.linux.dev Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, Catalin Marinas , Marc Zyngier , Will Deacon , James Morse , Oliver Upton , Zenghui Yu , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Joey Gouly , Alexandru Elisei , Christoffer Dall , Fuad Tabba , linux-coco@lists.linux.dev, Ganapatrao Kulkarni , Emanuele.Rocca@arm.com References: <20240412084213.1733764-10-steven.price@arm.com> <202404151003.vkNApJiS-lkp@intel.com> In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240425_092928_989919_1B7C17FF X-CRM114-Status: GOOD ( 15.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjUvMDQvMjAyNCAxNDo0MiwgU3V6dWtpIEsgUG91bG9zZSB3cm90ZToKPiBPbiAxNS8wNC8y MDI0IDA0OjEzLCBrZXJuZWwgdGVzdCByb2JvdCB3cm90ZToKPj4gSGkgU3RldmVuLAo+Pgo+PiBr ZXJuZWwgdGVzdCByb2JvdCBub3RpY2VkIHRoZSBmb2xsb3dpbmcgYnVpbGQgZXJyb3JzOgo+Pgo+ PiBbYXV0byBidWlsZCB0ZXN0IEVSUk9SIG9uIGFybTY0L2Zvci1uZXh0L2NvcmVdCj4+IFthbHNv IGJ1aWxkIHRlc3QgRVJST1Igb24ga3ZtYXJtL25leHQgZWZpL25leHQgdGlwL2lycS9jb3JlIAo+ PiBsaW51cy9tYXN0ZXIgdjYuOS1yYzMgbmV4dC0yMDI0MDQxMl0KPj4gW2Nhbm5vdCBhcHBseSB0 byBhcm5kLWFzbS1nZW5lcmljL21hc3Rlcl0KPj4gW0lmIHlvdXIgcGF0Y2ggaXMgYXBwbGllZCB0 byB0aGUgd3JvbmcgZ2l0IHRyZWUsIGtpbmRseSBkcm9wIHVzIGEgbm90ZS4KPj4gQW5kIHdoZW4g c3VibWl0dGluZyBwYXRjaCwgd2Ugc3VnZ2VzdCB0byB1c2UgJy0tYmFzZScgYXMgZG9jdW1lbnRl ZCBpbgo+PiBodHRwczovL2dpdC1zY20uY29tL2RvY3MvZ2l0LWZvcm1hdC1wYXRjaCNfYmFzZV90 cmVlX2luZm9ybWF0aW9uXQo+Pgo+PiB1cmw6ICAgIAo+PiBodHRwczovL2dpdGh1Yi5jb20vaW50 ZWwtbGFiLWxrcC9saW51eC9jb21taXRzL1N0ZXZlbi1QcmljZS9hcm02NC1yc2ktQWRkLVJTSS1k ZWZpbml0aW9ucy8yMDI0MDQxMi0xNjQ4NTIKPj4gYmFzZTogICAKPj4gaHR0cHM6Ly9naXQua2Vy bmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvYXJtNjQvbGludXguZ2l0IAo+PiBmb3It bmV4dC9jb3JlCj4+IHBhdGNoIGxpbms6ICAgIAo+PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9y LzIwMjQwNDEyMDg0MjEzLjE3MzM3NjQtMTAtc3RldmVuLnByaWNlJTQwYXJtLmNvbQo+PiBwYXRj aCBzdWJqZWN0OiBbUEFUQ0ggdjIgMDkvMTRdIGFybTY0OiBFbmFibGUgbWVtb3J5IGVuY3J5cHQg Zm9yIFJlYWxtcwo+PiBjb25maWc6IGFybTY0LWFsbHllc2NvbmZpZyAKPj4gKGh0dHBzOi8vZG93 bmxvYWQuMDEub3JnLzBkYXktY2kvYXJjaGl2ZS8yMDI0MDQxNS8yMDI0MDQxNTEwMDMudmtOQXBK aVMtbGtwQGludGVsLmNvbS9jb25maWcpCj4+IGNvbXBpbGVyOiBjbGFuZyB2ZXJzaW9uIDE5LjAu MGdpdCAKPj4gKGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdCAKPj4gOGIzYjRh OTJhZGVlNDA0ODNjMjdmMjZjNDc4YTM4NGNkNjljNmYwNSkKPj4gcmVwcm9kdWNlICh0aGlzIGlz IGEgVz0xIGJ1aWxkKTogCj4+IChodHRwczovL2Rvd25sb2FkLjAxLm9yZy8wZGF5LWNpL2FyY2hp dmUvMjAyNDA0MTUvMjAyNDA0MTUxMDAzLnZrTkFwSmlTLWxrcEBpbnRlbC5jb20vcmVwcm9kdWNl KQo+Pgo+PiBJZiB5b3UgZml4IHRoZSBpc3N1ZSBpbiBhIHNlcGFyYXRlIHBhdGNoL2NvbW1pdCAo aS5lLiBub3QganVzdCBhIG5ldyAKPj4gdmVyc2lvbiBvZgo+PiB0aGUgc2FtZSBwYXRjaC9jb21t aXQpLCBraW5kbHkgYWRkIGZvbGxvd2luZyB0YWdzCj4+IHwgUmVwb3J0ZWQtYnk6IGtlcm5lbCB0 ZXN0IHJvYm90IDxsa3BAaW50ZWwuY29tPgo+PiB8IENsb3NlczogCj4+IGh0dHBzOi8vbG9yZS5r ZXJuZWwub3JnL29lLWtidWlsZC1hbGwvMjAyNDA0MTUxMDAzLnZrTkFwSmlTLWxrcEBpbnRlbC5j b20vCj4+Cj4+IEFsbCBlcnJvcnMgKG5ldyBvbmVzIHByZWZpeGVkIGJ5ID4+KToKPj4KPj4gwqDC oMKgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSBkcml2ZXJzL2h2L2h2LmM6MTM6Cj4+IMKgwqDCoCBJ biBmaWxlIGluY2x1ZGVkIGZyb20gaW5jbHVkZS9saW51eC9tbS5oOjIyMDg6Cj4+IMKgwqDCoCBp bmNsdWRlL2xpbnV4L3Ztc3RhdC5oOjUwODo0Mzogd2FybmluZzogYXJpdGhtZXRpYyBiZXR3ZWVu IAo+PiBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZXMgKCdlbnVtIHpvbmVfc3RhdF9pdGVtJyBh bmQgJ2VudW0gCj4+IG51bWFfc3RhdF9pdGVtJykgWy1XZW51bS1lbnVtLWNvbnZlcnNpb25dCj4+ IMKgwqDCoMKgwqAgNTA4IHzCoMKgwqDCoMKgwqDCoMKgIHJldHVybiB2bXN0YXRfdGV4dFtOUl9W TV9aT05FX1NUQVRfSVRFTVMgKwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB+fn5+fn5+fn5+fn5+fn5+ fn5+fn4gXgo+PiDCoMKgwqDCoMKgIDUwOSB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGl0ZW1dOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB+fn5+ Cj4+IMKgwqDCoCBpbmNsdWRlL2xpbnV4L3Ztc3RhdC5oOjUxNTo0Mzogd2FybmluZzogYXJpdGht ZXRpYyBiZXR3ZWVuIAo+PiBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZXMgKCdlbnVtIHpvbmVf c3RhdF9pdGVtJyBhbmQgJ2VudW0gCj4+IG51bWFfc3RhdF9pdGVtJykgWy1XZW51bS1lbnVtLWNv bnZlcnNpb25dCj4+IMKgwqDCoMKgwqAgNTE1IHzCoMKgwqDCoMKgwqDCoMKgIHJldHVybiB2bXN0 YXRfdGV4dFtOUl9WTV9aT05FX1NUQVRfSVRFTVMgKwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB+fn5+ fn5+fn5+fn5+fn5+fn5+fn4gXgo+PiDCoMKgwqDCoMKgIDUxNiB8wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE5SX1ZNX05VTUFfRVZFTlRfSVRF TVMgKwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cj4+IMKgwqDC oCBpbmNsdWRlL2xpbnV4L3Ztc3RhdC5oOjUyMjozNjogd2FybmluZzogYXJpdGhtZXRpYyBiZXR3 ZWVuIAo+PiBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZXMgKCdlbnVtIG5vZGVfc3RhdF9pdGVt JyBhbmQgJ2VudW0gCj4+IGxydV9saXN0JykgWy1XZW51bS1lbnVtLWNvbnZlcnNpb25dCj4+IMKg wqDCoMKgwqAgNTIyIHzCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBub2RlX3N0YXRfbmFtZShOUl9M UlVfQkFTRSArIGxydSkgKyAzOyAvLyAKPj4gc2tpcCAibnJfIgo+PiDCoMKgwqDCoMKgwqDCoMKg wqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB+fn5+fn5+fn5+fiBeIH5+fgo+PiDCoMKgwqAgaW5jbHVkZS9saW51eC92bXN0YXQu aDo1Mjc6NDM6IHdhcm5pbmc6IGFyaXRobWV0aWMgYmV0d2VlbiAKPj4gZGlmZmVyZW50IGVudW1l cmF0aW9uIHR5cGVzICgnZW51bSB6b25lX3N0YXRfaXRlbScgYW5kICdlbnVtIAo+PiBudW1hX3N0 YXRfaXRlbScpIFstV2VudW0tZW51bS1jb252ZXJzaW9uXQo+PiDCoMKgwqDCoMKgIDUyNyB8wqDC oMKgwqDCoMKgwqDCoCByZXR1cm4gdm1zdGF0X3RleHRbTlJfVk1fWk9ORV9TVEFUX0lURU1TICsK Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+IF4KPj4gwqDCoMKgwqDC oCA1MjggfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBOUl9WTV9OVU1BX0VWRU5UX0lURU1TICsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgo+PiDCoMKgwqAgaW5jbHVkZS9saW51eC92bXN0YXQuaDo1MzY6NDM6 IHdhcm5pbmc6IGFyaXRobWV0aWMgYmV0d2VlbiAKPj4gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5 cGVzICgnZW51bSB6b25lX3N0YXRfaXRlbScgYW5kICdlbnVtIAo+PiBudW1hX3N0YXRfaXRlbScp IFstV2VudW0tZW51bS1jb252ZXJzaW9uXQo+PiDCoMKgwqDCoMKgIDUzNiB8wqDCoMKgwqDCoMKg wqDCoCByZXR1cm4gdm1zdGF0X3RleHRbTlJfVk1fWk9ORV9TVEFUX0lURU1TICsKPj4gwqDCoMKg wqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+IF4KPj4gwqDCoMKgwqDCoCA1MzcgfMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBOUl9W TV9OVU1BX0VWRU5UX0lURU1TICsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgo+Pj4+IGRyaXZlcnMvaHYvaHYuYzoxMzI6MTA6IGVycm9yOiBjYWxsIHRvIHVuZGVj bGFyZWQgZnVuY3Rpb24gCj4+Pj4gJ3NldF9tZW1vcnlfZGVjcnlwdGVkJzsgSVNPIEM5OSBhbmQg bGF0ZXIgZG8gbm90IHN1cHBvcnQgaW1wbGljaXQgCj4+Pj4gZnVuY3Rpb24gZGVjbGFyYXRpb25z IFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+PiDCoMKgwqDCoMKgIDEzMiB8wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldCA9IAo+PiBz ZXRfbWVtb3J5X2RlY3J5cHRlZCgodW5zaWduZWQgbG9uZylodl9jcHUtPnBvc3RfbXNnX3BhZ2Us IDEpOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBeCj4+IMKgwqDCoCBkcml2ZXJzL2h2L2h2 LmM6MTY4OjEwOiBlcnJvcjogY2FsbCB0byB1bmRlY2xhcmVkIGZ1bmN0aW9uIAo+PiAnc2V0X21l bW9yeV9kZWNyeXB0ZWQnOyBJU08gQzk5IGFuZCBsYXRlciBkbyBub3Qgc3VwcG9ydCBpbXBsaWNp dCAKPj4gZnVuY3Rpb24gZGVjbGFyYXRpb25zIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uXQo+PiDCoMKgwqDCoMKgIDE2OCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHJldCA9IAo+PiBzZXRfbWVtb3J5X2RlY3J5cHRlZCgodW5zaWduZWQg bG9uZykKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXgo+Pj4+IGRyaXZlcnMvaHYvaHYuYzoy MTg6MTE6IGVycm9yOiBjYWxsIHRvIHVuZGVjbGFyZWQgZnVuY3Rpb24gCj4+Pj4gJ3NldF9tZW1v cnlfZW5jcnlwdGVkJzsgSVNPIEM5OSBhbmQgbGF0ZXIgZG8gbm90IHN1cHBvcnQgaW1wbGljaXQg Cj4+Pj4gZnVuY3Rpb24gZGVjbGFyYXRpb25zIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uXQo+PiDCoMKgwqDCoMKgIDIxOCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXQgPSAKPj4gc2V0X21lbW9yeV9lbmNy eXB0ZWQoKHVuc2lnbmVkIGxvbmcpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBeCj4+IMKgwqDCoCBkcml2ZXJzL2h2L2h2LmM6MjMwOjExOiBlcnJvcjogY2FsbCB0 byB1bmRlY2xhcmVkIGZ1bmN0aW9uIAo+PiAnc2V0X21lbW9yeV9lbmNyeXB0ZWQnOyBJU08gQzk5 IGFuZCBsYXRlciBkbyBub3Qgc3VwcG9ydCBpbXBsaWNpdCAKPj4gZnVuY3Rpb24gZGVjbGFyYXRp b25zIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+PiDCoMKgwqDCoMKgIDIzMCB8 wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCByZXQgPSAKPj4gc2V0X21lbW9yeV9lbmNyeXB0ZWQoKHVuc2lnbmVkIGxvbmcpCj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBeCj4+IMKgwqDCoCBkcml2 ZXJzL2h2L2h2LmM6MjM5OjExOiBlcnJvcjogY2FsbCB0byB1bmRlY2xhcmVkIGZ1bmN0aW9uIAo+ PiAnc2V0X21lbW9yeV9lbmNyeXB0ZWQnOyBJU08gQzk5IGFuZCBsYXRlciBkbyBub3Qgc3VwcG9y dCBpbXBsaWNpdCAKPj4gZnVuY3Rpb24gZGVjbGFyYXRpb25zIFstV2ltcGxpY2l0LWZ1bmN0aW9u LWRlY2xhcmF0aW9uXQo+PiDCoMKgwqDCoMKgIDIzOSB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXQgPSAKPj4gc2V0X21l bW9yeV9lbmNyeXB0ZWQoKHVuc2lnbmVkIGxvbmcpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBeCj4+IMKgwqDCoCA1IHdhcm5pbmdzIGFuZCA1IGVycm9ycyBnZW5l cmF0ZWQuCj4+IC0tIAo+PiDCoMKgwqAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGRyaXZlcnMvaHYv Y29ubmVjdGlvbi5jOjE2Ogo+PiDCoMKgwqAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGluY2x1ZGUv bGludXgvbW0uaDoyMjA4Ogo+PiDCoMKgwqAgaW5jbHVkZS9saW51eC92bXN0YXQuaDo1MDg6NDM6 IHdhcm5pbmc6IGFyaXRobWV0aWMgYmV0d2VlbiAKPj4gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5 cGVzICgnZW51bSB6b25lX3N0YXRfaXRlbScgYW5kICdlbnVtIAo+PiBudW1hX3N0YXRfaXRlbScp IFstV2VudW0tZW51bS1jb252ZXJzaW9uXQo+PiDCoMKgwqDCoMKgIDUwOCB8wqDCoMKgwqDCoMKg wqDCoCByZXR1cm4gdm1zdGF0X3RleHRbTlJfVk1fWk9ORV9TVEFUX0lURU1TICsKPj4gwqDCoMKg wqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+IF4KPj4gwqDCoMKgwqDCoCA1MDkgfMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpdGVt XTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+fgo+PiDCoMKgwqAgaW5jbHVkZS9saW51eC92bXN0 YXQuaDo1MTU6NDM6IHdhcm5pbmc6IGFyaXRobWV0aWMgYmV0d2VlbiAKPj4gZGlmZmVyZW50IGVu dW1lcmF0aW9uIHR5cGVzICgnZW51bSB6b25lX3N0YXRfaXRlbScgYW5kICdlbnVtIAo+PiBudW1h X3N0YXRfaXRlbScpIFstV2VudW0tZW51bS1jb252ZXJzaW9uXQo+PiDCoMKgwqDCoMKgIDUxNSB8 wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gdm1zdGF0X3RleHRbTlJfVk1fWk9ORV9TVEFUX0lURU1T ICsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+IF4KPj4gwqDCoMKg wqDCoCA1MTYgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBOUl9WTV9OVU1BX0VWRU5UX0lURU1TICsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgo+PiDCoMKgwqAgaW5jbHVkZS9saW51eC92bXN0YXQuaDo1MjI6 MzY6IHdhcm5pbmc6IGFyaXRobWV0aWMgYmV0d2VlbiAKPj4gZGlmZmVyZW50IGVudW1lcmF0aW9u IHR5cGVzICgnZW51bSBub2RlX3N0YXRfaXRlbScgYW5kICdlbnVtIAo+PiBscnVfbGlzdCcpIFst V2VudW0tZW51bS1jb252ZXJzaW9uXQo+PiDCoMKgwqDCoMKgIDUyMiB8wqDCoMKgwqDCoMKgwqDC oCByZXR1cm4gbm9kZV9zdGF0X25hbWUoTlJfTFJVX0JBU0UgKyBscnUpICsgMzsgLy8gCj4+IHNr aXAgIm5yXyIKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+fn5+fn5+fn4gXiB+fn4KPj4g wqDCoMKgIGluY2x1ZGUvbGludXgvdm1zdGF0Lmg6NTI3OjQzOiB3YXJuaW5nOiBhcml0aG1ldGlj IGJldHdlZW4gCj4+IGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlcyAoJ2VudW0gem9uZV9zdGF0 X2l0ZW0nIGFuZCAnZW51bSAKPj4gbnVtYV9zdGF0X2l0ZW0nKSBbLVdlbnVtLWVudW0tY29udmVy c2lvbl0KPj4gwqDCoMKgwqDCoCA1MjcgfMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHZtc3RhdF90 ZXh0W05SX1ZNX1pPTkVfU1RBVF9JVEVNUyArCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH5+fn5+fn5+ fn5+fn5+fn5+fn5+fiBeCj4+IMKgwqDCoMKgwqAgNTI4IHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTlJfVk1fTlVNQV9FVkVOVF9JVEVNUyAr Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPj4gwqDCoMKgIGlu Y2x1ZGUvbGludXgvdm1zdGF0Lmg6NTM2OjQzOiB3YXJuaW5nOiBhcml0aG1ldGljIGJldHdlZW4g Cj4+IGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlcyAoJ2VudW0gem9uZV9zdGF0X2l0ZW0nIGFu ZCAnZW51bSAKPj4gbnVtYV9zdGF0X2l0ZW0nKSBbLVdlbnVtLWVudW0tY29udmVyc2lvbl0KPj4g wqDCoMKgwqDCoCA1MzYgfMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHZtc3RhdF90ZXh0W05SX1ZN X1pPTkVfU1RBVF9JVEVNUyArCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH5+fn5+fn5+fn5+fn5+fn5+ fn5+fiBeCj4+IMKgwqDCoMKgwqAgNTM3IHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTlJfVk1fTlVNQV9FVkVOVF9JVEVNUyArCj4+IMKgwqDC oMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPj4+PiBkcml2ZXJzL2h2L2Nvbm5l Y3Rpb24uYzoyMzY6ODogZXJyb3I6IGNhbGwgdG8gdW5kZWNsYXJlZCBmdW5jdGlvbiAKPj4+PiAn c2V0X21lbW9yeV9kZWNyeXB0ZWQnOyBJU08gQzk5IGFuZCBsYXRlciBkbyBub3Qgc3VwcG9ydCBp bXBsaWNpdCAKPj4+PiBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgWy1XaW1wbGljaXQtZnVuY3Rpb24t ZGVjbGFyYXRpb25dCj4+IMKgwqDCoMKgwqAgMjM2IHzCoMKgwqDCoMKgwqDCoMKgIHJldCA9IHNl dF9tZW1vcnlfZGVjcnlwdGVkKCh1bnNpZ25lZCBsb25nKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAg fMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXgo+Pj4+IGRyaXZlcnMvaHYvY29ubmVjdGlv bi5jOjM0MDoyOiBlcnJvcjogY2FsbCB0byB1bmRlY2xhcmVkIGZ1bmN0aW9uIAo+Pj4+ICdzZXRf bWVtb3J5X2VuY3J5cHRlZCc7IElTTyBDOTkgYW5kIGxhdGVyIGRvIG5vdCBzdXBwb3J0IGltcGxp Y2l0IAo+Pj4+IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KPj4gwqDCoMKgwqDCoCAzNDAgfMKgwqDCoMKgwqDCoMKgwqAgc2V0X21lbW9yeV9l bmNyeXB0ZWQoKHVuc2lnbmVkIAo+PiBsb25nKXZtYnVzX2Nvbm5lY3Rpb24ubW9uaXRvcl9wYWdl c1swXSwgMSk7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoCBeCj4+IMKg wqDCoCA1IHdhcm5pbmdzIGFuZCAyIGVycm9ycyBnZW5lcmF0ZWQuCj4+IC0tIAo+PiDCoMKgwqAg SW4gZmlsZSBpbmNsdWRlZCBmcm9tIGRyaXZlcnMvaHYvY2hhbm5lbC5jOjE0Ogo+PiDCoMKgwqAg SW4gZmlsZSBpbmNsdWRlZCBmcm9tIGluY2x1ZGUvbGludXgvbW0uaDoyMjA4Ogo+PiDCoMKgwqAg aW5jbHVkZS9saW51eC92bXN0YXQuaDo1MDg6NDM6IHdhcm5pbmc6IGFyaXRobWV0aWMgYmV0d2Vl biAKPj4gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGVzICgnZW51bSB6b25lX3N0YXRfaXRlbScg YW5kICdlbnVtIAo+PiBudW1hX3N0YXRfaXRlbScpIFstV2VudW0tZW51bS1jb252ZXJzaW9uXQo+ PiDCoMKgwqDCoMKgIDUwOCB8wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gdm1zdGF0X3RleHRbTlJf Vk1fWk9ORV9TVEFUX0lURU1TICsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+IF4KPj4gwqDCoMKgwqDCoCA1MDkgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpdGVtXTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+ fgo+PiDCoMKgwqAgaW5jbHVkZS9saW51eC92bXN0YXQuaDo1MTU6NDM6IHdhcm5pbmc6IGFyaXRo bWV0aWMgYmV0d2VlbiAKPj4gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGVzICgnZW51bSB6b25l X3N0YXRfaXRlbScgYW5kICdlbnVtIAo+PiBudW1hX3N0YXRfaXRlbScpIFstV2VudW0tZW51bS1j b252ZXJzaW9uXQo+PiDCoMKgwqDCoMKgIDUxNSB8wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gdm1z dGF0X3RleHRbTlJfVk1fWk9ORV9TVEFUX0lURU1TICsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+IF4KPj4gwqDCoMKgwqDCoCA1MTYgfMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBOUl9WTV9OVU1BX0VWRU5UX0lU RU1TICsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo+PiDCoMKg wqAgaW5jbHVkZS9saW51eC92bXN0YXQuaDo1MjI6MzY6IHdhcm5pbmc6IGFyaXRobWV0aWMgYmV0 d2VlbiAKPj4gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGVzICgnZW51bSBub2RlX3N0YXRfaXRl bScgYW5kICdlbnVtIAo+PiBscnVfbGlzdCcpIFstV2VudW0tZW51bS1jb252ZXJzaW9uXQo+PiDC oMKgwqDCoMKgIDUyMiB8wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gbm9kZV9zdGF0X25hbWUoTlJf TFJVX0JBU0UgKyBscnUpICsgMzsgLy8gCj4+IHNraXAgIm5yXyIKPj4gwqDCoMKgwqDCoMKgwqDC oMKgIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfn5+fn5+fn5+fn4gXiB+fn4KPj4gwqDCoMKgIGluY2x1ZGUvbGludXgvdm1zdGF0 Lmg6NTI3OjQzOiB3YXJuaW5nOiBhcml0aG1ldGljIGJldHdlZW4gCj4+IGRpZmZlcmVudCBlbnVt ZXJhdGlvbiB0eXBlcyAoJ2VudW0gem9uZV9zdGF0X2l0ZW0nIGFuZCAnZW51bSAKPj4gbnVtYV9z dGF0X2l0ZW0nKSBbLVdlbnVtLWVudW0tY29udmVyc2lvbl0KPj4gwqDCoMKgwqDCoCA1MjcgfMKg wqDCoMKgwqDCoMKgwqAgcmV0dXJuIHZtc3RhdF90ZXh0W05SX1ZNX1pPTkVfU1RBVF9JVEVNUyAr Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fiBeCj4+IMKgwqDCoMKg wqAgNTI4IHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgTlJfVk1fTlVNQV9FVkVOVF9JVEVNUyArCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KPj4gwqDCoMKgIGluY2x1ZGUvbGludXgvdm1zdGF0Lmg6NTM2OjQz OiB3YXJuaW5nOiBhcml0aG1ldGljIGJldHdlZW4gCj4+IGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0 eXBlcyAoJ2VudW0gem9uZV9zdGF0X2l0ZW0nIGFuZCAnZW51bSAKPj4gbnVtYV9zdGF0X2l0ZW0n KSBbLVdlbnVtLWVudW0tY29udmVyc2lvbl0KPj4gwqDCoMKgwqDCoCA1MzYgfMKgwqDCoMKgwqDC oMKgwqAgcmV0dXJuIHZtc3RhdF90ZXh0W05SX1ZNX1pPTkVfU1RBVF9JVEVNUyArCj4+IMKgwqDC oMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fiBeCj4+IMKgwqDCoMKgwqAgNTM3IHzC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTlJf Vk1fTlVNQV9FVkVOVF9JVEVNUyArCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KPj4+PiBkcml2ZXJzL2h2L2NoYW5uZWwuYzo0NDI6ODogZXJyb3I6IGNhbGwgdG8g dW5kZWNsYXJlZCBmdW5jdGlvbiAKPj4+PiAnc2V0X21lbW9yeV9kZWNyeXB0ZWQnOyBJU08gQzk5 IGFuZCBsYXRlciBkbyBub3Qgc3VwcG9ydCBpbXBsaWNpdCAKPj4+PiBmdW5jdGlvbiBkZWNsYXJh dGlvbnMgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCj4+IMKgwqDCoMKgwqAgNDQy IHzCoMKgwqDCoMKgwqDCoMKgIHJldCA9IHNldF9tZW1vcnlfZGVjcnlwdGVkKCh1bnNpZ25lZCBs b25nKWtidWZmZXIsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBeCj4+Pj4gZHJpdmVycy9odi9jaGFubmVsLmM6NTMxOjM6IGVycm9yOiBjYWxsIHRv IHVuZGVjbGFyZWQgZnVuY3Rpb24gCj4+Pj4gJ3NldF9tZW1vcnlfZW5jcnlwdGVkJzsgSVNPIEM5 OSBhbmQgbGF0ZXIgZG8gbm90IHN1cHBvcnQgaW1wbGljaXQgCj4+Pj4gZnVuY3Rpb24gZGVjbGFy YXRpb25zIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+PiDCoMKgwqDCoMKgIDUz MSB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2V0X21lbW9yeV9lbmNyeXB0ZWQo KHVuc2lnbmVkIGxvbmcpa2J1ZmZlciwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBeCj4+IMKgwqDCoCBkcml2ZXJzL2h2L2NoYW5uZWwuYzo4 NDg6ODogZXJyb3I6IGNhbGwgdG8gdW5kZWNsYXJlZCBmdW5jdGlvbiAKPj4gJ3NldF9tZW1vcnlf ZW5jcnlwdGVkJzsgSVNPIEM5OSBhbmQgbGF0ZXIgZG8gbm90IHN1cHBvcnQgaW1wbGljaXQgCj4+ IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K Pj4gwqDCoMKgwqDCoCA4NDggfMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gc2V0X21lbW9yeV9lbmNy eXB0ZWQoKHVuc2lnbmVkIAo+PiBsb25nKWdwYWRsLT5idWZmZXIsCj4+IMKgwqDCoMKgwqDCoMKg wqDCoCB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBeCj4+IMKgwqDCoCA1IHdhcm5pbmdz IGFuZCAzIGVycm9ycyBnZW5lcmF0ZWQuCj4gCj4gVGhhdHMgbXkgbWlzdGFrZS4gVGhlIGNvcnJl Y3QgcGxhY2UgZm9yIGRlY2xhcmluZyBzZXRfbWVtb3J5XypjcnlwdGVkKCkgCj4gaXMgYXNtL3Nl dF9tZW1vcnkuaCBub3QgYXNtL21lbV9lbmNyeXB0LmguCj4gCj4gU3RldmVuLCBwbGVhc2UgY291 bGQgeW91IGZvbGQgdGhpcyBwYXRjaCBiZWxvdyA6Cj4gCj4gCj4gZGlmZiAtLWdpdCBhL2FyY2gv YXJtNjQvaW5jbHVkZS9hc20vbWVtX2VuY3J5cHQuaCAKPiBiL2FyY2gvYXJtNjQvaW5jbHVkZS9h c20vbWVtX2VuY3J5cHQuaAo+IGluZGV4IDczODFmOTU4NTMyMS4uZTQ3MjY1Y2QxODBhIDEwMDY0 NAo+IC0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vbWVtX2VuY3J5cHQuaAo+ICsrKyBiL2Fy Y2gvYXJtNjQvaW5jbHVkZS9hc20vbWVtX2VuY3J5cHQuaAo+IEBAIC0xNCw2ICsxNCw0IEBAIHN0 YXRpYyBpbmxpbmUgYm9vbCBmb3JjZV9kbWFfdW5lbmNyeXB0ZWQoc3RydWN0IGRldmljZSAKPiAq ZGV2KQo+ICDCoMKgwqDCoMKgwqDCoCByZXR1cm4gaXNfcmVhbG1fd29ybGQoKTsKPiAgwqB9Cj4g Cj4gLWludCBzZXRfbWVtb3J5X2VuY3J5cHRlZCh1bnNpZ25lZCBsb25nIGFkZHIsIGludCBudW1w YWdlcyk7Cj4gLWludCBzZXRfbWVtb3J5X2RlY3J5cHRlZCh1bnNpZ25lZCBsb25nIGFkZHIsIGlu dCBudW1wYWdlcyk7Cj4gIMKgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVk ZS9hc20vc2V0X21lbW9yeS5oIAo+IGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9zZXRfbWVtb3J5 LmgKPiBpbmRleCAwZjc0MGI3ODExODcuLjk1NjFiOTBmYjQzYyAxMDA2NDQKPiAtLS0gYS9hcmNo L2FybTY0L2luY2x1ZGUvYXNtL3NldF9tZW1vcnkuaAo+ICsrKyBiL2FyY2gvYXJtNjQvaW5jbHVk ZS9hc20vc2V0X21lbW9yeS5oCj4gQEAgLTE0LDQgKzE0LDYgQEAgaW50IHNldF9kaXJlY3RfbWFw X2ludmFsaWRfbm9mbHVzaChzdHJ1Y3QgcGFnZSAqcGFnZSk7Cj4gIMKgaW50IHNldF9kaXJlY3Rf bWFwX2RlZmF1bHRfbm9mbHVzaChzdHJ1Y3QgcGFnZSAqcGFnZSk7Cj4gIMKgYm9vbCBrZXJuZWxf cGFnZV9wcmVzZW50KHN0cnVjdCBwYWdlICpwYWdlKTsKPiAKPiAraW50IHNldF9tZW1vcnlfZW5j cnlwdGVkKHVuc2lnbmVkIGxvbmcgYWRkciwgaW50IG51bXBhZ2VzKTsKPiAraW50IHNldF9tZW1v cnlfZGVjcnlwdGVkKHVuc2lnbmVkIGxvbmcgYWRkciwgaW50IG51bXBhZ2VzKTsKPiAKPiAKCkVt bWFudWVsZSByZXBvcnRzIHRoYXQgdGhlc2UgbmVlZCB0byBiZSBleHBvcnRlZCBhcyB3ZWxsLCBz b21ldGhpbmcKbGlrZToKCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9tbS9wYWdlYXR0ci5jIGIv YXJjaC9hcm02NC9tbS9wYWdlYXR0ci5jCmluZGV4IDIyOWI2ZDk5OTBmNS4uZGUzODQzY2UyYWVh IDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L21tL3BhZ2VhdHRyLmMKKysrIGIvYXJjaC9hcm02NC9t bS9wYWdlYXR0ci5jCkBAIC0yMjgsMTEgKzIyOCwxMyBAQCBpbnQgc2V0X21lbW9yeV9lbmNyeXB0 ZWQodW5zaWduZWQgbG9uZyBhZGRyLCBpbnQgCm51bXBhZ2VzKQogIHsKICAgICAgICAgcmV0dXJu IF9fc2V0X21lbW9yeV9lbmNyeXB0ZWQoYWRkciwgbnVtcGFnZXMsIHRydWUpOwogIH0KK0VYUE9S VF9TWU1CT0xfR1BMKHNldF9tZW1vcnlfZW5jcnlwdGVkKTsKCiAgaW50IHNldF9tZW1vcnlfZGVj cnlwdGVkKHVuc2lnbmVkIGxvbmcgYWRkciwgaW50IG51bXBhZ2VzKQogIHsKICAgICAgICAgcmV0 dXJuIF9fc2V0X21lbW9yeV9lbmNyeXB0ZWQoYWRkciwgbnVtcGFnZXMsIGZhbHNlKTsKICB9CitF WFBPUlRfU1lNQk9MX0dQTChzZXRfbWVtb3J5X2RlY3J5cHRlZCk7CgogICNpZmRlZiBDT05GSUdf REVCVUdfUEFHRUFMTE9DCiAgdm9pZCBfX2tlcm5lbF9tYXBfcGFnZXMoc3RydWN0IHBhZ2UgKnBh Z2UsIGludCBudW1wYWdlcywgaW50IGVuYWJsZQoKCj4gCj4gU3V6dWtpCgoKCj4+Cj4+Cj4+IHZp bSArL3NldF9tZW1vcnlfZGVjcnlwdGVkICsxMzIgZHJpdmVycy9odi9odi5jCj4+Cj4+IDNlN2Vl NDkwMmZlNjk5IGRyaXZlcnMvc3RhZ2luZy9odi9Idi5jIEhhbmsgSmFuc3NlbsKgwqDCoMKgwqAg MjAwOS0wNy0xM8KgwqAgOTYKPj4gMjYwOGZiNjUzMTAzNDEgZHJpdmVycy9odi9odi5jwqDCoMKg wqDCoMKgwqDCoCBKYXNvbiBXYW5nwqDCoMKgwqDCoMKgwqAgMjAxMy0wNi0xOSAgIAo+PiA5N8Kg IGludCBodl9zeW5pY19hbGxvYyh2b2lkKQo+PiAyNjA4ZmI2NTMxMDM0MSBkcml2ZXJzL2h2L2h2 LmPCoMKgwqDCoMKgwqDCoMKgIEphc29uIFdhbmfCoMKgwqDCoMKgwqDCoCAyMDEzLTA2LTE5ICAg Cj4+IDk4wqAgewo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDC oMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4ICAgCj4+IDk5wqDCoMKgwqDC oCBpbnQgY3B1LCByZXQgPSAtRU5PTUVNOwo+PiBmMjVhN2VjZTA4YmRiMSBkcml2ZXJzL2h2L2h2 LmPCoMKgwqDCoMKgwqDCoMKgIE1pY2hhZWwgS2VsbGV5wqDCoMKgIDIwMTgtMDgtMTAgIAo+PiAx MDDCoMKgwqDCoMKgIHN0cnVjdCBodl9wZXJfY3B1X2NvbnRleHQgKmh2X2NwdTsKPj4gZjI1YTdl Y2UwOGJkYjEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBNaWNoYWVsIEtlbGxlecKg wqDCoCAyMDE4LTA4LTEwwqAgMTAxCj4+IGYyNWE3ZWNlMDhiZGIxIGRyaXZlcnMvaHYvaHYuY8Kg wqDCoMKgwqDCoMKgwqAgTWljaGFlbCBLZWxsZXnCoMKgwqAgMjAxOC0wOC0xMCAgCj4+IDEwMsKg wqDCoMKgwqAgLyoKPj4gZjI1YTdlY2UwOGJkYjEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKg wqDCoCBNaWNoYWVsIEtlbGxlecKgwqDCoCAyMDE4LTA4LTEwICAKPj4gMTAzwqDCoMKgwqDCoMKg ICogRmlyc3QsIHplcm8gYWxsIHBlci1jcHUgbWVtb3J5IGFyZWFzIHNvIGh2X3N5bmljX2ZyZWUo KSBjYW4KPj4gZjI1YTdlY2UwOGJkYjEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBN aWNoYWVsIEtlbGxlecKgwqDCoCAyMDE4LTA4LTEwICAKPj4gMTA0wqDCoMKgwqDCoMKgICogZGV0 ZWN0IHdoYXQgbWVtb3J5IGhhcyBiZWVuIGFsbG9jYXRlZCBhbmQgY2xlYW51cCBwcm9wZXJseQo+ PiBmMjVhN2VjZTA4YmRiMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIE1pY2hhZWwg S2VsbGV5wqDCoMKgIDIwMTgtMDgtMTAgIAo+PiAxMDXCoMKgwqDCoMKgwqAgKiBhZnRlciBhbnkg ZmFpbHVyZXMuCj4+IGYyNWE3ZWNlMDhiZGIxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKg wqAgTWljaGFlbCBLZWxsZXnCoMKgwqAgMjAxOC0wOC0xMCAgCj4+IDEwNsKgwqDCoMKgwqDCoCAq Lwo+PiBmMjVhN2VjZTA4YmRiMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIE1pY2hh ZWwgS2VsbGV5wqDCoMKgIDIwMTgtMDgtMTAgIAo+PiAxMDfCoMKgwqDCoMKgIGZvcl9lYWNoX3By ZXNlbnRfY3B1KGNwdSkgewo+PiBmMjVhN2VjZTA4YmRiMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDC oMKgwqDCoMKgIE1pY2hhZWwgS2VsbGV5wqDCoMKgIDIwMTgtMDgtMTAgIAo+PiAxMDjCoMKgwqDC oMKgwqDCoMKgwqAgaHZfY3B1ID0gcGVyX2NwdV9wdHIoaHZfY29udGV4dC5jcHVfY29udGV4dCwg Y3B1KTsKPj4gZjI1YTdlY2UwOGJkYjEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBN aWNoYWVsIEtlbGxlecKgwqDCoCAyMDE4LTA4LTEwICAKPj4gMTA5wqDCoMKgwqDCoMKgwqDCoMKg IG1lbXNldChodl9jcHUsIDAsIHNpemVvZigqaHZfY3B1KSk7Cj4+IGYyNWE3ZWNlMDhiZGIxIGRy aXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgTWljaGFlbCBLZWxsZXnCoMKgwqAgMjAxOC0w OC0xMCAgCj4+IDExMMKgwqDCoMKgwqAgfQo+PiAyNjA4ZmI2NTMxMDM0MSBkcml2ZXJzL2h2L2h2 LmPCoMKgwqDCoMKgwqDCoMKgIEphc29uIFdhbmfCoMKgwqDCoMKgwqDCoCAyMDEzLTA2LTE5wqAg MTExCj4+IDYzOTZiYjIyMTUxNGQyIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgS2Vl cyBDb29rwqDCoMKgwqDCoMKgwqDCoCAyMDE4LTA2LTEyICAKPj4gMTEywqDCoMKgwqDCoCBodl9j b250ZXh0Lmh2X251bWFfbWFwID0ga2NhbGxvYyhucl9ub2RlX2lkcywgc2l6ZW9mKHN0cnVjdCAK Pj4gY3B1bWFzayksCj4+IDU5N2ZmNzJmM2RlODUwIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDC oMKgwqAgSmlhLUp1IEJhacKgwqDCoMKgwqDCoMKgIDIwMTgtMDMtMDQgIAo+PiAxMTPCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBHRlBfS0VSTkVMKTsKPj4gOWYw MWVjNTM0NThkOWUgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBLLiBZLiBTcmluaXZh c2FuwqAgMjAxNS0wOC0wNSAgCj4+IDExNMKgwqDCoMKgwqAgaWYgKGh2X2NvbnRleHQuaHZfbnVt YV9tYXAgPT0gTlVMTCkgewo+PiA5ZjAxZWM1MzQ1OGQ5ZSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDC oMKgwqDCoMKgIEsuIFkuIFNyaW5pdmFzYW7CoCAyMDE1LTA4LTA1ICAKPj4gMTE1wqDCoMKgwqDC oMKgwqDCoMKgIHByX2VycigiVW5hYmxlIHRvIGFsbG9jYXRlIE5VTUEgbWFwXG4iKTsKPj4gOWYw MWVjNTM0NThkOWUgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBLLiBZLiBTcmluaXZh c2FuwqAgMjAxNS0wOC0wNSAgCj4+IDExNsKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGVycjsKPj4g OWYwMWVjNTM0NThkOWUgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBLLiBZLiBTcmlu aXZhc2FuwqAgMjAxNS0wOC0wNSAgCj4+IDExN8KgwqDCoMKgwqAgfQo+PiA5ZjAxZWM1MzQ1OGQ5 ZSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIEsuIFkuIFNyaW5pdmFzYW7CoCAyMDE1 LTA4LTA1wqAgMTE4Cj4+IDQyMWI4ZjIwZDNjMzgxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDC oMKgwqAgVml0YWx5IEt1em5ldHNvdsKgIDIwMTYtMTItMDcgIAo+PiAxMTnCoMKgwqDCoMKgIGZv cl9lYWNoX3ByZXNlbnRfY3B1KGNwdSkgewo+PiBmMjVhN2VjZTA4YmRiMSBkcml2ZXJzL2h2L2h2 LmPCoMKgwqDCoMKgwqDCoMKgIE1pY2hhZWwgS2VsbGV5wqDCoMKgIDIwMTgtMDgtMTAgIAo+PiAx MjDCoMKgwqDCoMKgwqDCoMKgwqAgaHZfY3B1ID0gcGVyX2NwdV9wdHIoaHZfY29udGV4dC5jcHVf Y29udGV4dCwgY3B1KTsKPj4gMzdjZGQ5OTFmYWM4MTAgZHJpdmVycy9odi9odi5jwqDCoMKgwqDC oMKgwqDCoCBTdGVwaGVuIEhlbW1pbmdlciAyMDE3LTAyLTExwqAgMTIxCj4+IDM3Y2RkOTkxZmFj ODEwIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgU3RlcGhlbiBIZW1taW5nZXIgMjAx Ny0wMi0xMSAgCj4+IDEyMsKgwqDCoMKgwqDCoMKgwqDCoCB0YXNrbGV0X2luaXQoJmh2X2NwdS0+ bXNnX2RwYywKPj4gMzdjZGQ5OTFmYWM4MTAgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDC oCBTdGVwaGVuIEhlbW1pbmdlciAyMDE3LTAyLTExICAKPj4gMTIzwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHZtYnVzX29uX21zZ19kcGMsICh1bnNpZ25lZCBsb25nKSBodl9j cHUpOwo+PiAzN2NkZDk5MWZhYzgxMCBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFN0 ZXBoZW4gSGVtbWluZ2VyIDIwMTctMDItMTHCoCAxMjQKPj4gMjMzNzgyOTUwNDJhNGIgZHJpdmVy cy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAyMy0w OC0yNCAgCj4+IDEyNcKgwqDCoMKgwqDCoMKgwqDCoCBpZiAobXNfaHlwZXJ2LnBhcmF2aXNvcl9w cmVzZW50ICYmIAo+PiBodl9pc29sYXRpb25fdHlwZV90ZHgoKSkgewo+PiAyMzM3ODI5NTA0MmE0 YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVhbiBDdWnCoMKgwqDCoMKgwqDC oCAyMDIzLTA4LTI0ICAKPj4gMTI2wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHZfY3B1LT5w b3N0X21zZ19wYWdlID0gKHZvaWQgCj4+ICopZ2V0X3plcm9lZF9wYWdlKEdGUF9BVE9NSUMpOwo+ PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVhbiBD dWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMTI3wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgaWYgKGh2X2NwdS0+cG9zdF9tc2dfcGFnZSA9PSBOVUxMKSB7Cj4+IDIzMzc4Mjk1MDQy YTRiIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgRGV4dWFuIEN1acKgwqDCoMKgwqDC oMKgIDIwMjMtMDgtMjQgIAo+PiAxMjjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHByX2VycigiVW5hYmxlIHRvIGFsbG9jYXRlIHBvc3QgbXNnIHBhZ2VcbiIpOwo+PiAyMzM3ODI5 NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVhbiBDdWnCoMKgwqDC oMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMTI5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBnb3RvIGVycjsKPj4gMjMzNzgyOTUwNDJhNGIgZHJpdmVycy9odi9odi5jwqDCoMKgwqDC oMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0yNCAgCj4+IDEzMMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4gMjMzNzgyOTUwNDJhNGIgZHJpdmVycy9odi9odi5j wqDCoMKgwqDCoMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0yNMKgIDEz MQo+PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVh biBDdWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0IAo+PiBAMTMywqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgcmV0ID0gc2V0X21lbW9yeV9kZWNyeXB0ZWQoKHVuc2lnbmVkIAo+PiBsb25nKWh2 X2NwdS0+cG9zdF9tc2dfcGFnZSwgMSk7Cj4+IDIzMzc4Mjk1MDQyYTRiIGRyaXZlcnMvaHYvaHYu Y8KgwqDCoMKgwqDCoMKgwqAgRGV4dWFuIEN1acKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMjQgIAo+ PiAxMzPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAocmV0KSB7Cj4+IDIzMzc4Mjk1MDQy YTRiIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgRGV4dWFuIEN1acKgwqDCoMKgwqDC oMKgIDIwMjMtMDgtMjQgIAo+PiAxMzTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHByX2VycigiRmFpbGVkIHRvIGRlY3J5cHQgcG9zdCBtc2cgcGFnZTogJWRcbiIsIAo+PiByZXQp Owo+PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVh biBDdWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMTM1wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAvKiBKdXN0IGxlYWsgdGhlIHBhZ2UsIGFzIGl0J3MgdW5zYWZlIHRv IGZyZWUgdGhlIAo+PiBwYWdlLiAqLwo+PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPC oMKgwqDCoMKgwqDCoMKgIERleHVhbiBDdWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4g MTM2wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBodl9jcHUtPnBvc3RfbXNnX3Bh Z2UgPSBOVUxMOwo+PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDC oMKgIERleHVhbiBDdWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMTM3wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGVycjsKPj4gMjMzNzgyOTUwNDJhNGIgZHJp dmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAy My0wOC0yNCAgCj4+IDEzOMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4gMjMzNzgyOTUw NDJhNGIgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDC oMKgwqAgMjAyMy0wOC0yNMKgIDEzOQo+PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPC oMKgwqDCoMKgwqDCoMKgIERleHVhbiBDdWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4g MTQwwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWVtc2V0KGh2X2NwdS0+cG9zdF9tc2dfcGFn ZSwgMCwgUEFHRV9TSVpFKTsKPj4gMjMzNzgyOTUwNDJhNGIgZHJpdmVycy9odi9odi5jwqDCoMKg wqDCoMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0yNCAgCj4+IDE0McKg wqDCoMKgwqDCoMKgwqDCoCB9Cj4+IDIzMzc4Mjk1MDQyYTRiIGRyaXZlcnMvaHYvaHYuY8KgwqDC oMKgwqDCoMKgwqAgRGV4dWFuIEN1acKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMjTCoCAxNDIKPj4g ZmFmZjQ0MDY5ZmY1MzggZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBUaWFueXUgTGFu wqDCoMKgwqDCoMKgwqAgMjAyMS0xMC0yNSAgCj4+IDE0M8KgwqDCoMKgwqDCoMKgwqDCoCAvKgo+ PiBmYWZmNDQwNjlmZjUzOCBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBM YW7CoMKgwqDCoMKgwqDCoCAyMDIxLTEwLTI1ICAKPj4gMTQ0wqDCoMKgwqDCoMKgwqDCoMKgwqAg KiBTeW5pYyBtZXNzYWdlIGFuZCBldmVudCBwYWdlcyBhcmUgYWxsb2NhdGVkIGJ5IHBhcmF2aXNv ci4KPj4gZmFmZjQ0MDY5ZmY1MzggZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBUaWFu eXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMS0xMC0yNSAgCj4+IDE0NcKgwqDCoMKgwqDCoMKgwqDC oMKgICogU2tpcCB0aGVzZSBwYWdlcyBhbGxvY2F0aW9uIGhlcmUuCj4+IGZhZmY0NDA2OWZmNTM4 IGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKg IDIwMjEtMTAtMjUgIAo+PiAxNDbCoMKgwqDCoMKgwqDCoMKgwqDCoCAqLwo+PiBkM2E5ZDdlNDlk MTUzMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVhbiBDdWnCoMKgwqDCoMKg wqDCoCAyMDIzLTA4LTI0ICAKPj4gMTQ3wqDCoMKgwqDCoMKgwqDCoMKgIGlmICghbXNfaHlwZXJ2 LnBhcmF2aXNvcl9wcmVzZW50ICYmICFodl9yb290X3BhcnRpdGlvbikgewo+PiAzN2NkZDk5MWZh YzgxMCBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFN0ZXBoZW4gSGVtbWluZ2VyIDIw MTctMDItMTEgIAo+PiAxNDjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBodl9jcHUtPnN5bmlj X21lc3NhZ2VfcGFnZSA9Cj4+IDI2MDhmYjY1MzEwMzQxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKg wqDCoMKgwqAgSmFzb24gV2FuZ8KgwqDCoMKgwqDCoMKgIDIwMTMtMDYtMTkgIAo+PiAxNDnCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdG UF9BVE9NSUMpOwo+PiAzN2NkZDk5MWZhYzgxMCBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDC oMKgIFN0ZXBoZW4gSGVtbWluZ2VyIDIwMTctMDItMTEgIAo+PiAxNTDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpZiAoaHZfY3B1LT5zeW5pY19tZXNzYWdlX3BhZ2UgPT0gTlVMTCkgewo+PiAy NjA4ZmI2NTMxMDM0MSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIEphc29uIFdhbmfC oMKgwqDCoMKgwqDCoCAyMDEzLTA2LTE5ICAKPj4gMTUxwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBwcl9lcnIoIlVuYWJsZSB0byBhbGxvY2F0ZSBTWU5JQyBtZXNzYWdlIHBhZ2Vc biIpOwo+PiAyNjA4ZmI2NTMxMDM0MSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIEph c29uIFdhbmfCoMKgwqDCoMKgwqDCoCAyMDEzLTA2LTE5ICAKPj4gMTUywqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGVycjsKPj4gMjYwOGZiNjUzMTAzNDEgZHJpdmVycy9o di9odi5jwqDCoMKgwqDCoMKgwqDCoCBKYXNvbiBXYW5nwqDCoMKgwqDCoMKgwqAgMjAxMy0wNi0x OSAgCj4+IDE1M8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4gMjYwOGZiNjUzMTAzNDEg ZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBKYXNvbiBXYW5nwqDCoMKgwqDCoMKgwqAg MjAxMy0wNi0xOcKgIDE1NAo+PiBmYWZmNDQwNjlmZjUzOCBkcml2ZXJzL2h2L2h2LmPCoMKgwqDC oMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIxLTEwLTI1ICAKPj4gMTU1wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHZfY3B1LT5zeW5pY19ldmVudF9wYWdlID0KPj4gZmFm ZjQ0MDY5ZmY1MzggZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBUaWFueXUgTGFuwqDC oMKgwqDCoMKgwqAgMjAyMS0xMC0yNSAgCj4+IDE1NsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0FUT01JQyk7Cj4+IDM3Y2RkOTkx ZmFjODEwIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgU3RlcGhlbiBIZW1taW5nZXIg MjAxNy0wMi0xMSAgCj4+IDE1N8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChodl9jcHUt PnN5bmljX2V2ZW50X3BhZ2UgPT0gTlVMTCkgewo+PiAyNjA4ZmI2NTMxMDM0MSBkcml2ZXJzL2h2 L2h2LmPCoMKgwqDCoMKgwqDCoMKgIEphc29uIFdhbmfCoMKgwqDCoMKgwqDCoCAyMDEzLTA2LTE5 ICAKPj4gMTU4wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcl9lcnIoIlVuYWJs ZSB0byBhbGxvY2F0ZSBTWU5JQyBldmVudCBwYWdlXG4iKTsKPj4gNjhmMmYyYmMxNjNkNDQgZHJp dmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAy My0wOC0yNMKgIDE1OQo+PiA2OGYyZjJiYzE2M2Q0NCBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKg wqDCoMKgIERleHVhbiBDdWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMTYwwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcmVlX3BhZ2UoKHVuc2lnbmVkIAo+PiBsb25n KWh2X2NwdS0+c3luaWNfbWVzc2FnZV9wYWdlKTsKPj4gNjhmMmYyYmMxNjNkNDQgZHJpdmVycy9o di9odi5jwqDCoMKgwqDCoMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0y NCAgCj4+IDE2McKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHZfY3B1LT5zeW5p Y19tZXNzYWdlX3BhZ2UgPSBOVUxMOwo+PiAyNjA4ZmI2NTMxMDM0MSBkcml2ZXJzL2h2L2h2LmPC oMKgwqDCoMKgwqDCoMKgIEphc29uIFdhbmfCoMKgwqDCoMKgwqDCoCAyMDEzLTA2LTE5ICAKPj4g MTYywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGVycjsKPj4gMjYwOGZi NjUzMTAzNDEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBKYXNvbiBXYW5nwqDCoMKg wqDCoMKgwqAgMjAxMy0wNi0xOSAgCj4+IDE2M8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0K Pj4gZmFmZjQ0MDY5ZmY1MzggZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBUaWFueXUg TGFuwqDCoMKgwqDCoMKgwqAgMjAyMS0xMC0yNSAgCj4+IDE2NMKgwqDCoMKgwqDCoMKgwqDCoCB9 Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1 IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTjCoCAxNjUKPj4gNjhmMmYyYmMxNjNkNDQgZHJp dmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAy My0wOC0yNCAgCj4+IDE2NsKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIW1zX2h5cGVydi5wYXJhdmlz b3JfcHJlc2VudCAmJgo+PiBlMzEzMWYxYzgxNDQ4YSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKg wqDCoMKgIERleHVhbiBDdWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMTY3wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgKGh2X2lzb2xhdGlvbl90eXBlX3NucCgpIHx8IGh2X2lzb2xh dGlvbl90eXBlX3RkeCgpKSkgewo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPCoMKg wqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4ICAKPj4gMTY4 wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gc2V0X21lbW9yeV9kZWNyeXB0ZWQoKHVu c2lnbmVkIGxvbmcpCj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDC oMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAxNjnCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGh2X2NwdS0+c3luaWNfbWVzc2FnZV9wYWdlLCAx KTsKPj4gMTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBUaWFu eXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDE3MMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGlmIChyZXQpIHsKPj4gMTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDC oMKgwqDCoMKgwqDCoCBUaWFueXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDE3 McKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJfZXJyKCJGYWlsZWQgdG8gZGVj cnlwdCBTWU5JQyBtc2cgcGFnZTogJWRcbiIsIAo+PiByZXQpOwo+PiAxOTMwNjFlYTBhNTBjMSBk cml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAy MDIzLTA4LTE4ICAKPj4gMTcywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBodl9j cHUtPnN5bmljX21lc3NhZ2VfcGFnZSA9IE5VTEw7Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMv aHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgt MTjCoCAxNzMKPj4gMTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDC oCBUaWFueXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDE3NMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyoKPj4gMTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9o di5jwqDCoMKgwqDCoMKgwqDCoCBUaWFueXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAg Cj4+IDE3NcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIEZyZWUgdGhlIGV2 ZW50IHBhZ2UgaGVyZSBzbyB0aGF0IGh2X3N5bmljX2ZyZWUoKQo+PiAxOTMwNjFlYTBhNTBjMSBk cml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAy MDIzLTA4LTE4ICAKPj4gMTc2wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICog d29uJ3QgbGF0ZXIgdHJ5IHRvIHJlLWVuY3J5cHQgaXQuCj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZl cnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMt MDgtMTggIAo+PiAxNzfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPj4g MTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBUaWFueXUgTGFu wqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDE3OMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKWh2X2NwdS0+c3luaWNfZXZlbnRf cGFnZSk7Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAg VGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAxNznCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGh2X2NwdS0+c3luaWNfZXZlbnRfcGFnZSA9IE5VTEw7Cj4+ IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExh bsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAxODDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGdvdG8gZXJyOwo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPC oMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4ICAKPj4g MTgxwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJz L2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4 LTE4wqAgMTgyCj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKg wqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAxODPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCByZXQgPSBzZXRfbWVtb3J5X2RlY3J5cHRlZCgodW5zaWduZWQgbG9u ZykKPj4gMTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBUaWFu eXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDE4NMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgaHZfY3B1LT5zeW5pY19ldmVudF9wYWdlLCAxKTsKPj4gMTkzMDYx ZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBUaWFueXUgTGFuwqDCoMKg wqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDE4NcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlm IChyZXQpIHsKPj4gMTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDC oCBUaWFueXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDE4NsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJfZXJyKCJGYWlsZWQgdG8gZGVjcnlwdCBTWU5JQyBl dmVudCBwYWdlOiAKPj4gJWRcbiIsIHJldCk7Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYv aHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTgg IAo+PiAxODfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGh2X2NwdS0+c3luaWNf ZXZlbnRfcGFnZSA9IE5VTEw7Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDC oMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAxODjC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gZXJyOwo+PiAxOTMwNjFlYTBh NTBjMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKg wqDCoCAyMDIzLTA4LTE4ICAKPj4gMTg5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+PiAx OTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7C oMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4wqAgMTkwCj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMv aHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgt MTggIAo+PiAxOTHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtZW1zZXQoaHZfY3B1LT5zeW5p Y19tZXNzYWdlX3BhZ2UsIDAsIFBBR0VfU0laRSk7Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMv aHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgt MTggIAo+PiAxOTLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtZW1zZXQoaHZfY3B1LT5zeW5p Y19ldmVudF9wYWdlLCAwLCBQQUdFX1NJWkUpOwo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2 L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4 ICAKPj4gMTkzwqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4gMjYwOGZiNjUzMTAzNDEgZHJpdmVycy9o di9odi5jwqDCoMKgwqDCoMKgwqDCoCBKYXNvbiBXYW5nwqDCoMKgwqDCoMKgwqAgMjAxMy0wNi0x OSAgCj4+IDE5NMKgwqDCoMKgwqAgfQo+PiAyNjA4ZmI2NTMxMDM0MSBkcml2ZXJzL2h2L2h2LmPC oMKgwqDCoMKgwqDCoMKgIEphc29uIFdhbmfCoMKgwqDCoMKgwqDCoCAyMDEzLTA2LTE5wqAgMTk1 Cj4+IDI2MDhmYjY1MzEwMzQxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgSmFzb24g V2FuZ8KgwqDCoMKgwqDCoMKgIDIwMTMtMDYtMTkgIAo+PiAxOTbCoMKgwqDCoMKgIHJldHVybiAw Owo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55 dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4wqAgMTk3Cj4+IDI2MDhmYjY1MzEwMzQxIGRy aXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgSmFzb24gV2FuZ8KgwqDCoMKgwqDCoMKgIDIw MTMtMDYtMTkgIAo+PiAxOTjCoCBlcnI6Cj4+IDU3MjA4NjMyNWNlOWE5IGRyaXZlcnMvaHYvaHYu Y8KgwqDCoMKgwqDCoMKgwqAgTWljaGFlbCBLZWxsZXnCoMKgwqAgMjAxOC0wOC0wMiAgCj4+IDE5 OcKgwqDCoMKgwqAgLyoKPj4gNTcyMDg2MzI1Y2U5YTkgZHJpdmVycy9odi9odi5jwqDCoMKgwqDC oMKgwqDCoCBNaWNoYWVsIEtlbGxlecKgwqDCoCAyMDE4LTA4LTAyICAKPj4gMjAwwqDCoMKgwqDC oMKgICogQW55IG1lbW9yeSBhbGxvY2F0aW9ucyB0aGF0IHN1Y2NlZWRlZCB3aWxsIGJlIGZyZWVk IHdoZW4KPj4gNTcyMDg2MzI1Y2U5YTkgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBN aWNoYWVsIEtlbGxlecKgwqDCoCAyMDE4LTA4LTAyICAKPj4gMjAxwqDCoMKgwqDCoMKgICogdGhl IGNhbGxlciBjbGVhbnMgdXAgYnkgY2FsbGluZyBodl9zeW5pY19mcmVlKCkKPj4gNTcyMDg2MzI1 Y2U5YTkgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBNaWNoYWVsIEtlbGxlecKgwqDC oCAyMDE4LTA4LTAyICAKPj4gMjAywqDCoMKgwqDCoMKgICovCj4+IDE5MzA2MWVhMGE1MGMxIGRy aXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIw MjMtMDgtMTggIAo+PiAyMDPCoMKgwqDCoMKgIHJldHVybiByZXQ7Cj4+IDI2MDhmYjY1MzEwMzQx IGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgSmFzb24gV2FuZ8KgwqDCoMKgwqDCoMKg IDIwMTMtMDYtMTkgIAo+PiAyMDTCoCB9Cj4+IDI2MDhmYjY1MzEwMzQxIGRyaXZlcnMvaHYvaHYu Y8KgwqDCoMKgwqDCoMKgwqAgSmFzb24gV2FuZ8KgwqDCoMKgwqDCoMKgIDIwMTMtMDYtMTnCoCAy MDUKPj4gMjYwOGZiNjUzMTAzNDEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBKYXNv biBXYW5nwqDCoMKgwqDCoMKgwqAgMjAxMy0wNi0xOcKgIDIwNgo+PiAyNjA4ZmI2NTMxMDM0MSBk cml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIEphc29uIFdhbmfCoMKgwqDCoMKgwqDCoCAy MDEzLTA2LTE5ICAKPj4gMjA3wqAgdm9pZCBodl9zeW5pY19mcmVlKHZvaWQpCj4+IDI2MDhmYjY1 MzEwMzQxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgSmFzb24gV2FuZ8KgwqDCoMKg wqDCoMKgIDIwMTMtMDYtMTkgIAo+PiAyMDjCoCB7Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMv aHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgt MTggIAo+PiAyMDnCoMKgwqDCoMKgIGludCBjcHUsIHJldDsKPj4gMjYwOGZiNjUzMTAzNDEgZHJp dmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBKYXNvbiBXYW5nwqDCoMKgwqDCoMKgwqAgMjAx My0wNi0xOcKgIDIxMAo+PiAzN2NkZDk5MWZhYzgxMCBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKg wqDCoMKgIFN0ZXBoZW4gSGVtbWluZ2VyIDIwMTctMDItMTEgIAo+PiAyMTHCoMKgwqDCoMKgIGZv cl9lYWNoX3ByZXNlbnRfY3B1KGNwdSkgewo+PiAzN2NkZDk5MWZhYzgxMCBkcml2ZXJzL2h2L2h2 LmPCoMKgwqDCoMKgwqDCoMKgIFN0ZXBoZW4gSGVtbWluZ2VyIDIwMTctMDItMTEgIAo+PiAyMTLC oMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGh2X3Blcl9jcHVfY29udGV4dCAqaHZfY3B1Cj4+IDM3 Y2RkOTkxZmFjODEwIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgU3RlcGhlbiBIZW1t aW5nZXIgMjAxNy0wMi0xMSAgCj4+IDIxM8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgID0gcGVy X2NwdV9wdHIoaHZfY29udGV4dC5jcHVfY29udGV4dCwgY3B1KTsKPj4gMzdjZGQ5OTFmYWM4MTAg ZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBTdGVwaGVuIEhlbW1pbmdlciAyMDE3LTAy LTExwqAgMjE0Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKg wqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAyMTXCoMKgwqDCoMKg wqDCoMKgwqAgLyogSXQncyBiZXR0ZXIgdG8gbGVhayB0aGUgcGFnZSBpZiB0aGUgZW5jcnlwdGlv biBmYWlscy4gKi8KPj4gMjMzNzgyOTUwNDJhNGIgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKg wqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0yNCAgCj4+IDIxNsKgwqDCoMKg wqDCoMKgwqDCoCBpZiAobXNfaHlwZXJ2LnBhcmF2aXNvcl9wcmVzZW50ICYmIAo+PiBodl9pc29s YXRpb25fdHlwZV90ZHgoKSkgewo+PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKg wqDCoMKgwqDCoMKgIERleHVhbiBDdWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMjE3 wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGh2X2NwdS0+cG9zdF9tc2dfcGFnZSkgewo+ PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVhbiBD dWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0IAo+PiBAMjE4wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCByZXQgPSBzZXRfbWVtb3J5X2VuY3J5cHRlZCgodW5zaWduZWQgbG9uZykK Pj4gMjMzNzgyOTUwNDJhNGIgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBEZXh1YW4g Q3VpwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0yNCAgCj4+IDIxOcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBodl9jcHUtPnBvc3RfbXNnX3BhZ2UsIDEpOwo+PiAyMzM3 ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVhbiBDdWnCoMKg wqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMjIwwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBpZiAocmV0KSB7Cj4+IDIzMzc4Mjk1MDQyYTRiIGRyaXZlcnMvaHYvaHYuY8KgwqDC oMKgwqDCoMKgwqAgRGV4dWFuIEN1acKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMjQgIAo+PiAyMjHC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJfZXJyKCJGYWlsZWQg dG8gZW5jcnlwdCBwb3N0IG1zZyBwYWdlOiAKPj4gJWRcbiIsIHJldCk7Cj4+IDIzMzc4Mjk1MDQy YTRiIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgRGV4dWFuIEN1acKgwqDCoMKgwqDC oMKgIDIwMjMtMDgtMjQgIAo+PiAyMjLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgaHZfY3B1LT5wb3N0X21zZ19wYWdlID0gTlVMTDsKPj4gMjMzNzgyOTUwNDJhNGIg ZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAg MjAyMy0wOC0yNCAgCj4+IDIyM8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+ PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVhbiBD dWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMjI0wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfQo+PiAyMzM3ODI5NTA0MmE0YiBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKg IERleHVhbiBDdWnCoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTI0ICAKPj4gMjI1wqDCoMKgwqDCoMKg wqDCoMKgIH0KPj4gMjMzNzgyOTUwNDJhNGIgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDC oCBEZXh1YW4gQ3VpwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0yNMKgIDIyNgo+PiA2OGYyZjJiYzE2 M2Q0NCBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIERleHVhbiBDdWnCoMKgwqDCoMKg wqDCoCAyMDIzLTA4LTI0ICAKPj4gMjI3wqDCoMKgwqDCoMKgwqDCoMKgIGlmICghbXNfaHlwZXJ2 LnBhcmF2aXNvcl9wcmVzZW50ICYmCj4+IGUzMTMxZjFjODE0NDhhIGRyaXZlcnMvaHYvaHYuY8Kg wqDCoMKgwqDCoMKgwqAgRGV4dWFuIEN1acKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMjQgIAo+PiAy MjjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoaHZfaXNvbGF0aW9uX3R5cGVfc25wKCkgfHwg aHZfaXNvbGF0aW9uX3R5cGVfdGR4KCkpKSB7Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYv aHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTgg IAo+PiAyMjnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoaHZfY3B1LT5zeW5pY19tZXNz YWdlX3BhZ2UpIHsKPj4gMTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKg wqDCoCBUaWFueXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDIzMMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gc2V0X21lbW9yeV9lbmNyeXB0ZWQoKHVu c2lnbmVkIGxvbmcpCj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDC oMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAyMzHCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHZfY3B1LT5zeW5pY19tZXNzYWdl X3BhZ2UsIDEpOwo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDC oMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4ICAKPj4gMjMywqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAocmV0KSB7Cj4+IDE5MzA2MWVhMGE1MGMxIGRy aXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIw MjMtMDgtMTggIAo+PiAyMzPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcHJfZXJyKCJGYWlsZWQgdG8gZW5jcnlwdCBTWU5JQyBtc2cgcGFnZTogCj4+ICVkXG4iLCBy ZXQpOwo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRp YW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4ICAKPj4gMjM0wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGh2X2NwdS0+c3luaWNfbWVzc2FnZV9wYWdlID0g TlVMTDsKPj4gMTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBU aWFueXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDIzNcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPC oMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4ICAKPj4g MjM2wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJz L2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4 LTE4wqAgMjM3Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKg wqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAyMzjCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBpZiAoaHZfY3B1LT5zeW5pY19ldmVudF9wYWdlKSB7Cj4+IDE5MzA2 MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDC oMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAyMznCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHJldCA9IHNldF9tZW1vcnlfZW5jcnlwdGVkKCh1bnNpZ25lZCBsb25nKQo+PiAxOTMw NjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKg wqDCoMKgwqDCoCAyMDIzLTA4LTE4ICAKPj4gMjQwwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGh2X2NwdS0+c3luaWNfZXZlbnRfcGFnZSwgMSk7Cj4+IDE5MzA2MWVh MGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1IExhbsKgwqDCoMKg wqDCoMKgIDIwMjMtMDgtMTggIAo+PiAyNDHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGlmIChyZXQpIHsKPj4gMTkzMDYxZWEwYTUwYzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDC oMKgwqDCoCBUaWFueXUgTGFuwqDCoMKgwqDCoMKgwqAgMjAyMy0wOC0xOCAgCj4+IDI0MsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcl9lcnIoIkZhaWxlZCB0byBl bmNyeXB0IFNZTklDIGV2ZW50IHBhZ2U6IAo+PiAlZFxuIiwgcmV0KTsKPj4gMTkzMDYxZWEwYTUw YzEgZHJpdmVycy9odi9odi5jwqDCoMKgwqDCoMKgwqDCoCBUaWFueXUgTGFuwqDCoMKgwqDCoMKg wqAgMjAyMy0wOC0xOCAgCj4+IDI0M8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBodl9jcHUtPnN5bmljX2V2ZW50X3BhZ2UgPSBOVUxMOwo+PiAxOTMwNjFlYTBhNTBj MSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDC oCAyMDIzLTA4LTE4ICAKPj4gMjQ0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9 Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgVGlhbnl1 IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAyNDXCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB9Cj4+IDE5MzA2MWVhMGE1MGMxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKg wqAgVGlhbnl1IExhbsKgwqDCoMKgwqDCoMKgIDIwMjMtMDgtMTggIAo+PiAyNDbCoMKgwqDCoMKg wqDCoMKgwqAgfQo+PiAxOTMwNjFlYTBhNTBjMSBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDC oMKgIFRpYW55dSBMYW7CoMKgwqDCoMKgwqDCoCAyMDIzLTA4LTE4wqAgMjQ3Cj4+IDIzMzc4Mjk1 MDQyYTRiIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgRGV4dWFuIEN1acKgwqDCoMKg wqDCoMKgIDIwMjMtMDgtMjQgIAo+PiAyNDjCoMKgwqDCoMKgwqDCoMKgwqAgZnJlZV9wYWdlKCh1 bnNpZ25lZCBsb25nKWh2X2NwdS0+cG9zdF9tc2dfcGFnZSk7Cj4+IDM3Y2RkOTkxZmFjODEwIGRy aXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgU3RlcGhlbiBIZW1taW5nZXIgMjAxNy0wMi0x MSAgCj4+IDI0OcKgwqDCoMKgwqDCoMKgwqDCoCBmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpaHZf Y3B1LT5zeW5pY19ldmVudF9wYWdlKTsKPj4gMzdjZGQ5OTFmYWM4MTAgZHJpdmVycy9odi9odi5j wqDCoMKgwqDCoMKgwqDCoCBTdGVwaGVuIEhlbW1pbmdlciAyMDE3LTAyLTExICAKPj4gMjUwwqDC oMKgwqDCoMKgwqDCoMKgIGZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylodl9jcHUtPnN5bmljX21l c3NhZ2VfcGFnZSk7Cj4+IDM3Y2RkOTkxZmFjODEwIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDC oMKgwqAgU3RlcGhlbiBIZW1taW5nZXIgMjAxNy0wMi0xMSAgCj4+IDI1McKgwqDCoMKgwqAgfQo+ PiAzN2NkZDk5MWZhYzgxMCBkcml2ZXJzL2h2L2h2LmPCoMKgwqDCoMKgwqDCoMKgIFN0ZXBoZW4g SGVtbWluZ2VyIDIwMTctMDItMTHCoCAyNTIKPj4gOWYwMWVjNTM0NThkOWUgZHJpdmVycy9odi9o di5jwqDCoMKgwqDCoMKgwqDCoCBLLiBZLiBTcmluaXZhc2FuwqAgMjAxNS0wOC0wNSAgCj4+IDI1 M8KgwqDCoMKgwqAga2ZyZWUoaHZfY29udGV4dC5odl9udW1hX21hcCk7Cj4+IDI2MDhmYjY1MzEw MzQxIGRyaXZlcnMvaHYvaHYuY8KgwqDCoMKgwqDCoMKgwqAgSmFzb24gV2FuZ8KgwqDCoMKgwqDC oMKgIDIwMTMtMDYtMTkgIAo+PiAyNTTCoCB9Cj4+IDI2MDhmYjY1MzEwMzQxIGRyaXZlcnMvaHYv aHYuY8KgwqDCoMKgwqDCoMKgwqAgSmFzb24gV2FuZ8KgwqDCoMKgwqDCoMKgIDIwMTMtMDYtMTnC oCAyNTUKPj4KPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==