Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp8315278ybn; Tue, 1 Oct 2019 06:29:56 -0700 (PDT) X-Google-Smtp-Source: APXvYqx17T8QBVRoLse3tpD6fHdpcGku/RVmHF3SEVQtaBcG0hFEaVBR1ApCzubPZ7/21TkXQm4c X-Received: by 2002:a17:906:53d6:: with SMTP id p22mr24059913ejo.91.1569936596742; Tue, 01 Oct 2019 06:29:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569936596; cv=none; d=google.com; s=arc-20160816; b=ksGvEcMtN65Z1vMqLJ3Xwiz1hUWjHNeTKL6whYbrX4D/SS+dIpSIBnGJbb4jxeu6Ph C/DqvtnX3L3g3eWqwwLucdvoGz/dNOeEU70vWocblW9SF3zjIBqDEtu00W8jxZq7M+61 cwiw6KeBJ8UbEflE9RRW7lQfnIZDodnrrF/4IyP22MTEnoObVxED0A/sHqIpTgbOK49P HkewKy+L43PdYacL0qgSK0yHVs1XjuRwQcdC3wYkwdxozx42HBcga5w3D9qKjCDIne+P qisPhuNx4Js7r/T7UNXnu1XotK4XG9bMWShFC4gVzY0KkP5pXewYE2LAGkZD74w5hsrg 3bTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject:dkim-signature; bh=sjUJ+r3O5A16MPtPIx1tEuXzAuK7RWYgU1YMJkzpkSg=; b=Sfk6CwO4kd7LsnrHX6yNLLMtjIOhzsRrs20wzyH/xZnr/cY8lzY0ASfVYYLcDQWcoI V0xJFX5gM5+bt7dWHRHIqnvYctvIQeifIC9/qs9JqW3cm36YKqifANOAxPbA8GXVOSG8 LAvH802JGzUBYoHCEj30YAyvksefjhHwDvYQyvPN6SvUYimhEiZlvEDkez9sb5U8Rk0h YfcBdH8xuW1lsRv9wqonYjVys2fAuC24nh5TtDPLCH3RnKPpZl297Zbo8UFbkR/PSGfB 1tUCFdM1Xhr2nOnRyZgg1F46st6m5wJHiE95Y53hadwUMEPL6F/YLw6u8ix6RBJEwvA/ 5ZFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@tronnes.org header.s=ds201810 header.b=Fj2R0coX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h23si9491427edh.248.2019.10.01.06.29.30; Tue, 01 Oct 2019 06:29:56 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@tronnes.org header.s=ds201810 header.b=Fj2R0coX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726930AbfJAN24 (ORCPT + 99 others); Tue, 1 Oct 2019 09:28:56 -0400 Received: from smtp.domeneshop.no ([194.63.252.55]:39617 "EHLO smtp.domeneshop.no" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726710AbfJAN2z (ORCPT ); Tue, 1 Oct 2019 09:28:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds201810; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=sjUJ+r3O5A16MPtPIx1tEuXzAuK7RWYgU1YMJkzpkSg=; b=Fj2R0coXCh5PZmiHWJI5HEm6ht McMYzTC9z3E6txUVLp30kRUYZWK4r0U0KjR3E3FqmJW8HzmS4gaMq7ZtY2jg8RfVYEx7/ksZwDHrK xjKOZPyctWRfelGTMa1TiLK3gckw9X1ohUFqurPRF+cMFz41eCDXYjhpS9Uz6SpbGicyYFwo2mhny WipVG0phktc8NEHKBLs69af20sLjT1g/2yGSEsMaj025XYaYGGLA4PMXwy0MSyZmp7z/aiE0aS7Ol 3p61wQ1UPjRTwG+8TasNK9FdWZtXCPq2CA6Ru5z7ePsNOtewXdXWnBmmJdmO7L/q2q6WFhHMwZMzT I6kVzgDw==; Received: from 211.81-166-168.customer.lyse.net ([81.166.168.211]:53002 helo=[192.168.10.177]) by smtp.domeneshop.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1iFICv-0005vN-HQ; Tue, 01 Oct 2019 15:28:49 +0200 Subject: Re: [1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM To: Jason Gunthorpe Cc: dri-devel@lists.freedesktop.org, daniel.vetter@ffwll.ch, sam@ravnborg.org, hdegoede@redhat.com, linux-kernel@vger.kernel.org References: <20190725105132.22545-2-noralf@tronnes.org> <20191001123636.GA8351@ziepe.ca> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Message-ID: <1fffe7b1-a738-a9e3-ea5f-9d696cb98650@tronnes.org> Date: Tue, 1 Oct 2019 15:28:46 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20191001123636.GA8351@ziepe.ca> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCkRlbiAwMS4xMC4yMDE5IDE0LjM2LCBza3JldiBKYXNvbiBHdW50aG9ycGU6DQo+IE9u IFRodSwgSnVsIDI1LCAyMDE5IGF0IDEyOjUxOjMwUE0gKzAyMDAsIE5vcmFsZiBUcsO4bm5l cyB3cm90ZToNCj4+IFRoaXMgbWFrZXMgdGhlIHRpbnkgZHJpdmVycyB2aXNpYmxlIGJ5IGRl ZmF1bHQgd2l0aG91dCBoYXZpbmcgdG8gZW5hYmxlIGENCj4+IGtub2IuDQo+Pg0KPj4gU2ln bmVkLW9mZi1ieTogTm9yYWxmIFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+DQo+PiBS ZXZpZXdlZC1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4gdG8gaXQg b25jZQ0KPj4gLS0tDQo+PiAgZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlICAgICAgICB8ICAy ICstDQo+PiAgZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vS2NvbmZpZyB8IDM3ICsrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLQ0KPj4gIDIgZmlsZXMgY2hhbmdlZCwgMjIgaW5z ZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pDQo+IA0KPiBCaXNlY3Rpb24gc2F5cyB0aGlz IHBhdGNoICgyOGM0N2UxNmVhMmExOWFkYjQ3ZmUyYzE4MmNiZDYxY2I4NTQyMzdjKQ0KPiBi cmVha3Mga2NvbmZpZyBzdHVmZiBpbiB2NS40LXJjIGJ5IGNyZWF0aW5nIGNpcmN1bGFyDQo+ IGRlcGVuZGVuY2llcy4gQ291bGQgc29tZW9uZSBzZW5kIGEgLXJjIHBhdGNoIHRvIGZpeCB0 aGlzIHBsZWFzZT8NCj4gDQo+IFRISU5LUEFEX0FDUEkgKGRlZmluZWQgYXQgZHJpdmVycy9w bGF0Zm9ybS94ODYvS2NvbmZpZzo0ODQpLCB3aXRoIGRlZmluaXRpb24uLi4NCj4gLi4uZGVw ZW5kcyBvbiBGQl9TU0QxMzA3IChkZWZpbmVkIGF0IGRyaXZlcnMvdmlkZW8vZmJkZXYvS2Nv bmZpZzoyMjU5KSwgd2l0aCBkZWZpbml0aW9uLi4uDQo+IC4uLmRlcGVuZHMgb24gRkIgKGRl ZmluZWQgYXQgZHJpdmVycy92aWRlby9mYmRldi9LY29uZmlnOjEyKSwgd2l0aCBkZWZpbml0 aW9uLi4uDQo+IC4uLmRlcGVuZHMgb24gRFJNX0tNU19GQl9IRUxQRVIgKGRlZmluZWQgYXQg ZHJpdmVycy9ncHUvZHJtL0tjb25maWc6NzkpLCB3aXRoIGRlZmluaXRpb24uLi4NCj4gLi4u ZGVwZW5kcyBvbiBEUk1fS01TX0hFTFBFUiAoZGVmaW5lZCBhdCBkcml2ZXJzL2dwdS9kcm0v S2NvbmZpZzo3MyksIHdpdGggZGVmaW5pdGlvbi4uLg0KPiAuLi5kZXBlbmRzIG9uIFRJTllE Uk1fUkVQQVBFUiAoZGVmaW5lZCBhdCBkcml2ZXJzL2dwdS9kcm0vdGlueWRybS9LY29uZmln OjUxKSwgd2l0aCBkZWZpbml0aW9uLi4uDQo+IC4uLmRlcGVuZHMgb24gVEhFUk1BTCAoZGVm aW5lZCBhdCBkcml2ZXJzL3RoZXJtYWwvS2NvbmZpZzo2KSwgd2l0aCBkZWZpbml0aW9uLi4u DQo+IC4uLmRlcGVuZHMgb24gU0VOU09SU19OUENNN1hYIChkZWZpbmVkIGF0IGRyaXZlcnMv aHdtb24vS2NvbmZpZzoxMjg1KSwgd2l0aCBkZWZpbml0aW9uLi4uDQo+IC4uLmRlcGVuZHMg b24gSFdNT04gKGRlZmluZWQgYXQgZHJpdmVycy9od21vbi9LY29uZmlnOjYpLCB3aXRoIGRl ZmluaXRpb24uLi4NCj4gLi4uZGVwZW5kcyBvbiBUSElOS1BBRF9BQ1BJIChkZWZpbmVkIGF0 IGRyaXZlcnMvcGxhdGZvcm0veDg2L0tjb25maWc6NDg0KSwgd2l0aCBkZWZpbml0aW9uLi4u DQo+IC4uLmRlcGVuZHMgb24gQUNQSV9WSURFTyAoZGVmaW5lZCBhdCBkcml2ZXJzL2FjcGkv S2NvbmZpZzoxOTMpLCB3aXRoIGRlZmluaXRpb24uLi4NCj4gLi4uZGVwZW5kcyBvbiBBQ0VS X1dNSSAoZGVmaW5lZCBhdCBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9LY29uZmlnOjE5KSwgd2l0 aCBkZWZpbml0aW9uLi4uDQo+IC4uLmRlcGVuZHMgb24gQkFDS0xJR0hUX0NMQVNTX0RFVklD RSAoZGVmaW5lZCBhdCBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9LY29uZmlnOjE0NCksIHdp dGggZGVmaW5pdGlvbi4uLg0KPiAuLi5kZXBlbmRzIGFnYWluIG9uIFRISU5LUEFEX0FDUEkg KGRlZmluZWQgYXQgZHJpdmVycy9wbGF0Zm9ybS94ODYvS2NvbmZpZzo0ODQpDQo+IA0KDQpX b3VsZCB0aGlzIGNvbW1pdCBmaXggdGhpcyBieSBhbnkgY2hhbmNlOg0KDQpkcm0vdGlueTog S2NvbmZpZzogUmVtb3ZlIGFsd2F5cy15IFRIRVJNQUwgZGVwLiBmcm9tIFRJTllEUk1fUkVQ QVBFUg0KaHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9kcm0vZHJtLW1pc2MvY29tbWl0 Lz9pZD1kZmVmOTU5ODAzYzcyOGM2MTZhZDI5YjAwOGNkOTFiMzQ0NmE5OTNhDQoNCk5vcmFs Zi4NCg0KPiBGdWxsIG91dHB1dDoNCj4gDQo+IGtjb25maWdsaWIuS2NvbmZpZ0Vycm9yOiAN Cj4gRGVwZW5kZW5jeSBsb29wDQo+ID09PT09PT09PT09PT09PQ0KPiANCj4gVEhJTktQQURf QUNQSSAoZGVmaW5lZCBhdCBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9LY29uZmlnOjQ4NCksIHdp dGggZGVmaW5pdGlvbi4uLg0KPiANCj4gY29uZmlnIFRISU5LUEFEX0FDUEkNCj4gCXRyaXN0 YXRlICJUaGlua1BhZCBBQ1BJIExhcHRvcCBFeHRyYXMiDQo+IAlzZWxlY3QgSFdNT04NCj4g CXNlbGVjdCBOVlJBTQ0KPiAJc2VsZWN0IE5FV19MRURTDQo+IAlzZWxlY3QgTEVEU19DTEFT Uw0KPiAJc2VsZWN0IExFRFNfVFJJR0dFUlMNCj4gCXNlbGVjdCBMRURTX1RSSUdHRVJfQVVE SU8NCj4gCWRlcGVuZHMgb24gQUNQSSAmJiBBQ1BJX0JBVFRFUlkgJiYgSU5QVVQgJiYgKFJG S0lMTCB8fCBSRktJTEwgPSBuKSAmJiAoQUNQSV9WSURFTyB8fCBBQ1BJX1ZJREVPID0gbikg JiYgQkFDS0xJR0hUX0NMQVNTX0RFVklDRSAmJiBYODZfUExBVEZPUk1fREVWSUNFUyAmJiBY ODYNCj4gCWhlbHANCj4gCSAgVGhpcyBpcyBhIGRyaXZlciBmb3IgdGhlIElCTSBhbmQgTGVu b3ZvIFRoaW5rUGFkIGxhcHRvcHMuIEl0IGFkZHMNCj4gCSAgc3VwcG9ydCBmb3IgRm4tRngg a2V5IGNvbWJpbmF0aW9ucywgQmx1ZXRvb3RoIGNvbnRyb2wsIHZpZGVvDQo+IAkgIG91dHB1 dCBzd2l0Y2hpbmcsIFRoaW5rTGlnaHQgY29udHJvbCwgVWx0cmFCYXkgZWplY3QgYW5kIG1v cmUuDQo+IAkgIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgZHJpdmVyIHNlZQ0K PiAJICA8ZmlsZTpEb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2xhcHRvcHMvdGhpbmtwYWQt YWNwaS5yc3Q+IGFuZA0KPiAJICA8aHR0cDovL2libS1hY3BpLnNmLm5ldC8+IC4NCj4gCSAg DQo+IAkgIFRoaXMgZHJpdmVyIHdhcyBmb3JtZXJseSBrbm93biBhcyBpYm0tYWNwaS4NCj4g CSAgDQo+IAkgIEV4dHJhIGZ1bmN0aW9uYWxpdHkgd2lsbCBiZSBhdmFpbGFibGUgaWYgdGhl IHJma2lsbCAoQ09ORklHX1JGS0lMTCkNCj4gCSAgYW5kL29yIEFMU0EgKENPTkZJR19TTkQp IHN1YnN5c3RlbXMgYXJlIGF2YWlsYWJsZSBpbiB0aGUga2VybmVsLg0KPiAJICBOb3RlIHRo YXQgaWYgeW91IHdhbnQgVGhpbmtQYWQtQUNQSSB0byBiZSBidWlsdC1pbiBpbnN0ZWFkIG9m DQo+IAkgIG1vZHVsYXIsIEFMU0EgYW5kIHJma2lsbCB3aWxsIGFsc28gaGF2ZSB0byBiZSBi dWlsdC1pbi4NCj4gCSAgDQo+IAkgIElmIHlvdSBoYXZlIGFuIElCTSBvciBMZW5vdm8gVGhp bmtQYWQgbGFwdG9wLCBzYXkgWSBvciBNIGhlcmUuDQo+IA0KPiAuLi5kZXBlbmRzIG9uIEFD UElfVklERU8gKGRlZmluZWQgYXQgZHJpdmVycy9hY3BpL0tjb25maWc6MTkzKSwgd2l0aCBk ZWZpbml0aW9uLi4uDQo+IA0KPiBjb25maWcgQUNQSV9WSURFTw0KPiAJdHJpc3RhdGUgIlZp ZGVvIg0KPiAJc2VsZWN0IFRIRVJNQUwNCj4gCWRlcGVuZHMgb24gWDg2ICYmIEJBQ0tMSUdI VF9DTEFTU19ERVZJQ0UgJiYgSU5QVVQgJiYgQUNQSQ0KPiAJaGVscA0KPiAJICBUaGlzIGRy aXZlciBpbXBsZW1lbnRzIHRoZSBBQ1BJIEV4dGVuc2lvbnMgRm9yIERpc3BsYXkgQWRhcHRl cnMNCj4gCSAgZm9yIGludGVncmF0ZWQgZ3JhcGhpY3MgZGV2aWNlcyBvbiBtb3RoZXJib2Fy ZCwgYXMgc3BlY2lmaWVkIGluDQo+IAkgIEFDUEkgMi4wIFNwZWNpZmljYXRpb24sIEFwcGVu ZGl4IEIuICBUaGlzIHN1cHBvcnRzIGJhc2ljIG9wZXJhdGlvbnMNCj4gCSAgc3VjaCBhcyBk ZWZpbmluZyB0aGUgdmlkZW8gUE9TVCBkZXZpY2UsIHJldHJpZXZpbmcgRURJRCBpbmZvcm1h dGlvbiwNCj4gCSAgYW5kIHNldHRpbmcgdXAgYSB2aWRlbyBvdXRwdXQuDQo+IAkgIA0KPiAJ ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOg0K PiAJICB0aGUgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIHZpZGVvLg0KPiANCj4gKHNlbGVjdC1y ZWxhdGVkIGRlcGVuZGVuY2llczogKERSTV9OT1VWRUFVICYmIEFDUEkgJiYgWDg2ICYmIEJB Q0tMSUdIVF9DTEFTU19ERVZJQ0UgJiYgSU5QVVQgJiYgRFJNICYmIFBDSSAmJiBNTVUgJiYg SEFTX0lPTUVNKSB8fCAoRFJNX05PVVZFQVUgJiYgQUNQSSAmJiBYODYgJiYgRFJNICYmIFBD SSAmJiBNTVUgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0k5MTUgJiYgQUNQSSAmJiBEUk0gJiYg WDg2ICYmIFBDSSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fR01BNTAwICYmIEFDUEkgJiYgRFJN ICYmIFBDSSAmJiBYODYgJiYgTU1VICYmIEhBU19JT01FTSkgfHwgKEFDRVJfV01JICYmIEFD UEkgJiYgQUNQSSAmJiBCQUNLTElHSFRfQ0xBU1NfREVWSUNFICYmIFNFUklPX0k4MDQyICYm IElOUFVUICYmIChSRktJTEwgfHwgUkZLSUxMID0gbikgJiYgQUNQSV9XTUkgJiYgWDg2X1BM QVRGT1JNX0RFVklDRVMgJiYgWDg2KSkNCj4gDQo+IC4uLmRlcGVuZHMgb24gQUNFUl9XTUkg KGRlZmluZWQgYXQgZHJpdmVycy9wbGF0Zm9ybS94ODYvS2NvbmZpZzoxOSksIHdpdGggZGVm aW5pdGlvbi4uLg0KPiANCj4gY29uZmlnIEFDRVJfV01JDQo+IAl0cmlzdGF0ZSAiQWNlciBX TUkgTGFwdG9wIEV4dHJhcyINCj4gCXNlbGVjdCBMRURTX0NMQVNTDQo+IAlzZWxlY3QgTkVX X0xFRFMNCj4gCXNlbGVjdCBJTlBVVF9TUEFSU0VLTUFQDQo+IAlzZWxlY3QgQUNQSV9WSURF TyBpZiBBQ1BJDQo+IAlkZXBlbmRzIG9uIEFDUEkgJiYgQkFDS0xJR0hUX0NMQVNTX0RFVklD RSAmJiBTRVJJT19JODA0MiAmJiBJTlBVVCAmJiAoUkZLSUxMIHx8IFJGS0lMTCA9IG4pICYm IEFDUElfV01JICYmIFg4Nl9QTEFURk9STV9ERVZJQ0VTICYmIFg4Ng0KPiAJaGVscA0KPiAJ ICBUaGlzIGlzIGEgZHJpdmVyIGZvciBuZXdlciBBY2VyIChhbmQgV2lzdHJvbikgbGFwdG9w cy4gSXQgYWRkcw0KPiAJICB3aXJlbGVzcyByYWRpbyBhbmQgYmx1ZXRvb3RoIGNvbnRyb2ws IGFuZCBvbiBzb21lIGxhcHRvcHMsDQo+IAkgIGV4cG9zZXMgdGhlIG1haWwgTEVEIGFuZCBM Q0QgYmFja2xpZ2h0Lg0KPiAJICANCj4gCSAgSWYgeW91IGhhdmUgYW4gQUNQSS1XTUkgY29t cGF0aWJsZSBBY2VyLyBXaXN0cm9uIGxhcHRvcCwgc2F5IFkgb3IgTQ0KPiAJICBoZXJlLg0K PiANCj4gLi4uZGVwZW5kcyBvbiBTRVJJT19JODA0MiAoZGVmaW5lZCBhdCBkcml2ZXJzL2lu cHV0L3NlcmlvL0tjb25maWc6MjkpLCB3aXRoIGRlZmluaXRpb24uLi4NCj4gDQo+IGNvbmZp ZyBTRVJJT19JODA0Mg0KPiAJdHJpc3RhdGUgImk4MDQyIFBDIEtleWJvYXJkIGNvbnRyb2xs ZXIiDQo+IAlkZWZhdWx0IHkNCj4gCWRlcGVuZHMgb24gQVJDSF9NSUdIVF9IQVZFX1BDX1NF UklPICYmIFNFUklPICYmICFVTUwNCj4gCWhlbHANCj4gCSAgaTgwNDIgaXMgdGhlIGNoaXAg b3ZlciB3aGljaCB0aGUgc3RhbmRhcmQgQVQga2V5Ym9hcmQgYW5kIFBTLzINCj4gCSAgbW91 c2UgYXJlIGNvbm5lY3RlZCB0byB0aGUgY29tcHV0ZXIuIElmIHlvdSB1c2UgdGhlc2UgZGV2 aWNlcywNCj4gCSAgeW91J2xsIG5lZWQgdG8gc2F5IFkgaGVyZS4NCj4gCSAgDQo+IAkgIElm IHVuc3VyZSwgc2F5IFkuDQo+IAkgIA0KPiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFz IGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUNCj4gCSAgbW9kdWxlIHdpbGwgYmUgY2Fs bGVkIGk4MDQyLg0KPiANCj4gKHNlbGVjdC1yZWxhdGVkIGRlcGVuZGVuY2llczogKEtFWUJP QVJEX0FUS0JEICYmIEFSQ0hfTUlHSFRfSEFWRV9QQ19TRVJJTyAmJiBJTlBVVF9LRVlCT0FS RCAmJiBJTlBVVCAmJiAhVU1MKSB8fCAoTU9VU0VfUFMyICYmIEFSQ0hfTUlHSFRfSEFWRV9Q Q19TRVJJTyAmJiBJTlBVVF9NT1VTRSAmJiBJTlBVVCAmJiAhVU1MKSkNCj4gDQo+IC4uLmRl cGVuZHMgb24gU0VSSU8gKGRlZmluZWQgYXQgZHJpdmVycy9pbnB1dC9zZXJpby9LY29uZmln OjUpLCB3aXRoIGRlZmluaXRpb24uLi4NCj4gDQo+IGNvbmZpZyBTRVJJTw0KPiAJdHJpc3Rh dGUgIlNlcmlhbCBJL08gc3VwcG9ydCINCj4gCWRlZmF1bHQgeQ0KPiAJZGVwZW5kcyBvbiAh VU1MDQo+IAloZWxwDQo+IAkgIFNheSBZZXMgaGVyZSBpZiB5b3UgaGF2ZSBhbnkgaW5wdXQg ZGV2aWNlIHRoYXQgdXNlcyBzZXJpYWwgSS9PIHRvDQo+IAkgIGNvbW11bmljYXRlIHdpdGgg dGhlIHN5c3RlbS4gVGhpcyBpbmNsdWRlcyB0aGUNCj4gCSAgICAgICAgICAgICAgICAqIHN0 YW5kYXJkIEFUIGtleWJvYXJkIGFuZCBQUy8yIG1vdXNlICoNCj4gCSAgYXMgd2VsbCBhcyBz ZXJpYWwgbWljZSwgU3VuIGtleWJvYXJkcywgc29tZSBqb3lzdGlja3MgYW5kIDZkb2YNCj4g CSAgZGV2aWNlcyBhbmQgbW9yZS4NCj4gCSAgDQo+IAkgIElmIHVuc3VyZSwgc2F5IFkuDQo+ IAkgIA0KPiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2Ug TSBoZXJlOiB0aGUNCj4gCSAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIHNlcmlvLg0KPiANCj4g KHNlbGVjdC1yZWxhdGVkIGRlcGVuZGVuY2llczogKEtFWUJPQVJEX0FUS0JEICYmIElOUFVU X0tFWUJPQVJEICYmIElOUFVUICYmICFVTUwpIHx8IChLRVlCT0FSRF9MS0tCRCAmJiBJTlBV VF9LRVlCT0FSRCAmJiBJTlBVVCAmJiAhVU1MKSB8fCAoS0VZQk9BUkRfSElMICYmIChHU0Mg fHwgSFAzMDApICYmIElOUFVUX0tFWUJPQVJEICYmIElOUFVUICYmICFVTUwpIHx8IChLRVlC T0FSRF9ORVdUT04gJiYgSU5QVVRfS0VZQk9BUkQgJiYgSU5QVVQgJiYgIVVNTCkgfHwgKEtF WUJPQVJEX1NUT1dBV0FZICYmIElOUFVUX0tFWUJPQVJEICYmIElOUFVUICYmICFVTUwpIHx8 IChLRVlCT0FSRF9TVU5LQkQgJiYgSU5QVVRfS0VZQk9BUkQgJiYgSU5QVVQgJiYgIVVNTCkg fHwgKEtFWUJPQVJEX1hUS0JEICYmIElOUFVUX0tFWUJPQVJEICYmIElOUFVUICYmICFVTUwp IHx8IChNT1VTRV9QUzIgJiYgSU5QVVRfTU9VU0UgJiYgSU5QVVQgJiYgIVVNTCkgfHwgKE1P VVNFX1NFUklBTCAmJiBJTlBVVF9NT1VTRSAmJiBJTlBVVCAmJiAhVU1MKSB8fCAoTU9VU0Vf VlNYWFhBQSAmJiBJTlBVVF9NT1VTRSAmJiBJTlBVVCAmJiAhVU1MKSB8fCAoSk9ZU1RJQ0tf V0FSUklPUiAmJiBJTlBVVF9KT1lTVElDSyAmJiBJTlBVVCAmJiAhVU1MKSB8fCAoSk9ZU1RJ Q0tfTUFHRUxMQU4gJiYgSU5QVVRfSk9ZU1RJQ0sgJiYgSU5QVVQgJiYgIVVNTCkgfHwgKEpP WVNUSUNLX1NQQUNFT1JCICYmIElOUFVUX0pPWVNUSUNLICYmIElOUFVUICYmICFVTUwpIHx8 IChKT1lTVElDS19TUEFDRUJBTEwgJiYgSU5QVVRfSk9ZU1RJQ0sgJiYgSU5QVVQgJiYgIVVN TCkgfHwgKEpPWVNUSUNLX1NUSU5HRVIgJiYgSU5QVVRfSk9ZU1RJQ0sgJiYgSU5QVVQgJiYg IVVNTCkgfHwgKEpPWVNUSUNLX1RXSURKT1kgJiYgSU5QVVRfSk9ZU1RJQ0sgJiYgSU5QVVQg JiYgIVVNTCkgfHwgKEpPWVNUSUNLX1pIRU5IVUEgJiYgSU5QVVRfSk9ZU1RJQ0sgJiYgSU5Q VVQgJiYgIVVNTCkgfHwgKFRBQkxFVF9TRVJJQUxfV0FDT000ICYmIElOUFVUX1RBQkxFVCAm JiBJTlBVVCAmJiAhVU1MKSB8fCAoVE9VQ0hTQ1JFRU5fRFlOQVBSTyAmJiBJTlBVVF9UT1VD SFNDUkVFTiAmJiBJTlBVVCAmJiAhVU1MKSB8fCAoVE9VQ0hTQ1JFRU5fSEFNUFNISVJFICYm IElOUFVUX1RPVUNIU0NSRUVOICYmIElOUFVUICYmICFVTUwpIHx8IChUT1VDSFNDUkVFTl9F R0FMQVhfU0VSSUFMICYmIElOUFVUX1RPVUNIU0NSRUVOICYmIElOUFVUICYmICFVTUwpIHx8 IChUT1VDSFNDUkVFTl9GVUpJVFNVICYmIElOUFVUX1RPVUNIU0NSRUVOICYmIElOUFVUICYm ICFVTUwpIHx8IChUT1VDSFNDUkVFTl9HVU5aRSAmJiBJTlBVVF9UT1VDSFNDUkVFTiAmJiBJ TlBVVCAmJiAhVU1MKSB8fCAoVE9VQ0hTQ1JFRU5fRUxPICYmIElOUFVUX1RPVUNIU0NSRUVO ICYmIElOUFVUICYmICFVTUwpIHx8IChUT1VDSFNDUkVFTl9XQUNPTV9XODAwMSAmJiBJTlBV VF9UT1VDSFNDUkVFTiAmJiBJTlBVVCAmJiAhVU1MKSB8fCAoVE9VQ0hTQ1JFRU5fTVRPVUNI ICYmIElOUFVUX1RPVUNIU0NSRUVOICYmIElOUFVUICYmICFVTUwpIHx8IChUT1VDSFNDUkVF Tl9JTkVYSU8gJiYgSU5QVVRfVE9VQ0hTQ1JFRU4gJiYgSU5QVVQgJiYgIVVNTCkgfHwgKFRP VUNIU0NSRUVOX1BFTk1PVU5UICYmIElOUFVUX1RPVUNIU0NSRUVOICYmIElOUFVUICYmICFV TUwpIHx8IChUT1VDSFNDUkVFTl9UT1VDSFJJR0hUICYmIElOUFVUX1RPVUNIU0NSRUVOICYm IElOUFVUICYmICFVTUwpIHx8IChUT1VDSFNDUkVFTl9UT1VDSFdJTiAmJiBJTlBVVF9UT1VD SFNDUkVFTiAmJiBJTlBVVCAmJiAhVU1MKSB8fCAoVE9VQ0hTQ1JFRU5fVE9VQ0hJVDIxMyAm JiBJTlBVVF9UT1VDSFNDUkVFTiAmJiBJTlBVVCAmJiAhVU1MKSB8fCAoVE9VQ0hTQ1JFRU5f VFNDX1NFUklPICYmIElOUFVUX1RPVUNIU0NSRUVOICYmIElOUFVUICYmICFVTUwpIHx8IChS TUk0X0YwM19TRVJJTyAmJiBSTUk0X0NPUkUgJiYgUk1JNF9GMDMgJiYgUk1JNF9DT1JFICYm IElOUFVUICYmICFVTUwpIHx8IChJMkNfVEFPU19FVk0gJiYgVFRZICYmIEhBU19JT01FTSAm JiBJMkMpIHx8IChVU0JfUFVMU0U4X0NFQyAmJiBVU0JfQUNNICYmIE1FRElBX0NFQ19TVVBQ T1JUICYmIE1FRElBX1VTQl9TVVBQT1JUICYmIFVTQiAmJiBNRURJQV9TVVBQT1JUICYmIE1F RElBX1NVUFBPUlQpIHx8IChVU0JfUkFJTlNIQURPV19DRUMgJiYgVVNCX0FDTSAmJiBNRURJ QV9DRUNfU1VQUE9SVCAmJiBNRURJQV9VU0JfU1VQUE9SVCAmJiBVU0IgJiYgTUVESUFfU1VQ UE9SVCAmJiBNRURJQV9TVVBQT1JUKSkNCj4gDQo+IC4uLmRlcGVuZHMgb24gUk1JNF9GMDMg KGRlZmluZWQgYXQgZHJpdmVycy9pbnB1dC9ybWk0L0tjb25maWc6NDYpLCB3aXRoIGRlZmlu aXRpb24uLi4NCj4gDQo+IGNvbmZpZyBSTUk0X0YwMw0KPiAJYm9vbCAiUk1JNCBGdW5jdGlv biAwMyAoUFMyIEd1ZXN0KSINCj4gCWRlcGVuZHMgb24gUk1JNF9DT1JFICYmIFJNSTRfQ09S RSAmJiBJTlBVVCAmJiAhVU1MDQo+IAloZWxwDQo+IAkgIFNheSBZIGhlcmUgaWYgeW91IHdh bnQgdG8gYWRkIHN1cHBvcnQgZm9yIFJNSTQgZnVuY3Rpb24gMDMuDQo+IAkgIA0KPiAJICBG dW5jdGlvbiAwMyBwcm92aWRlcyBQUzIgZ3Vlc3Qgc3VwcG9ydCBmb3IgUk1JNCBkZXZpY2Vz LiBUaGlzDQo+IAkgIGluY2x1ZGVzIHN1cHBvcnQgZm9yIFRyYWNrUG9pbnRzIG9uIFRvdWNo UGFkcy4NCj4gDQo+IChzZWxlY3QtcmVsYXRlZCBkZXBlbmRlbmNpZXM6IEhJRF9STUkgJiYg SElEICYmIEhJRCAmJiBISUQgJiYgSU5QVVQpDQo+IA0KPiAuLi5kZXBlbmRzIG9uIEhJRF9S TUkgKGRlZmluZWQgYXQgZHJpdmVycy9oaWQvS2NvbmZpZzo5MTkpLCB3aXRoIGRlZmluaXRp b24uLi4NCj4gDQo+IGNvbmZpZyBISURfUk1JDQo+IAl0cmlzdGF0ZSAiU3luYXB0aWNzIFJN STQgZGV2aWNlIHN1cHBvcnQiDQo+IAlzZWxlY3QgUk1JNF9DT1JFDQo+IAlzZWxlY3QgUk1J NF9GMDMNCj4gCXNlbGVjdCBSTUk0X0YxMQ0KPiAJc2VsZWN0IFJNSTRfRjEyDQo+IAlzZWxl Y3QgUk1JNF9GMzANCj4gCWRlcGVuZHMgb24gSElEICYmIEhJRCAmJiBISUQgJiYgSU5QVVQN Cj4gCWhlbHANCj4gCSAgU3VwcG9ydCBmb3IgU3luYXB0aWNzIFJNSTQgdG91Y2hwYWRzLg0K PiAJICBTYXkgWSBoZXJlIGlmIHlvdSBoYXZlIGEgU3luYXB0aWNzIFJNSTQgdG91Y2hwYWRz IG92ZXIgaTJjLWhpZCBvciB1c2JoaWQNCj4gCSAgYW5kIHdhbnQgc3VwcG9ydCBmb3IgaXRz IHNwZWNpYWwgZnVuY3Rpb25hbGl0aWVzLg0KPiANCj4gLi4uZGVwZW5kcyBvbiBISUQgKGRl ZmluZWQgYXQgZHJpdmVycy9oaWQvS2NvbmZpZzo4KSwgd2l0aCBkZWZpbml0aW9uLi4uDQo+ IA0KPiBjb25maWcgSElEDQo+IAl0cmlzdGF0ZSAiSElEIGJ1cyBzdXBwb3J0Ig0KPiAJZGVm YXVsdCB5DQo+IAlkZXBlbmRzIG9uIElOUFVUICYmIElOUFVUDQo+IAloZWxwDQo+IAkgIEEg aHVtYW4gaW50ZXJmYWNlIGRldmljZSAoSElEKSBpcyBhIHR5cGUgb2YgY29tcHV0ZXIgZGV2 aWNlIHRoYXQNCj4gCSAgaW50ZXJhY3RzIGRpcmVjdGx5IHdpdGggYW5kIHRha2VzIGlucHV0 IGZyb20gaHVtYW5zLiBUaGUgdGVybSAiSElEIg0KPiAJICBtb3N0IGNvbW1vbmx5IHVzZWQg dG8gcmVmZXIgdG8gdGhlIFVTQi1ISUQgc3BlY2lmaWNhdGlvbiwgYnV0IG90aGVyDQo+IAkg IGRldmljZXMgKHN1Y2ggYXMsIGJ1dCBub3Qgc3RyaWN0bHkgbGltaXRlZCB0bywgQmx1ZXRv b3RoKSBhcmUNCj4gCSAgZGVzaWduZWQgdXNpbmcgSElEIHNwZWNpZmljYXRpb24gKHRoaXMg aW52b2x2ZXMgY2VydGFpbiBrZXlib2FyZHMsDQo+IAkgIG1pY2UsIHRhYmxldHMsIGV0Yyku IFRoaXMgb3B0aW9uIGFkZHMgdGhlIEhJRCBidXMgdG8gdGhlIGtlcm5lbCwNCj4gCSAgdG9n ZXRoZXIgd2l0aCBnZW5lcmljIEhJRCBsYXllciBjb2RlLiBUaGUgSElEIGRldmljZXMgYXJl IGFkZGVkIGFuZA0KPiAJICByZW1vdmVkIGZyb20gdGhlIEhJRCBidXMgYnkgdGhlIHRyYW5z cG9ydC1sYXllciBkcml2ZXJzLCBzdWNoIGFzDQo+IAkgIHVzYmhpZCAoVVNCX0hJRCkgYW5k IGhpZHAgKEJUX0hJRFApLg0KPiAJICANCj4gCSAgRm9yIGRvY3MgYW5kIHNwZWNzLCBzZWUg aHR0cDovL3d3dy51c2Iub3JnL2RldmVsb3BlcnMvaGlkcGFnZS8NCj4gCSAgDQo+IAkgIElm IHVuc3VyZSwgc2F5IFkuDQo+IA0KPiAoc2VsZWN0LXJlbGF0ZWQgZGVwZW5kZW5jaWVzOiAo QlRfSElEUCAmJiBCVF9CUkVEUiAmJiBJTlBVVCAmJiBORVQpIHx8IChVU0JfSElEICYmIFVT QiAmJiBJTlBVVCAmJiBVU0IgJiYgSU5QVVQpIHx8IChJMkNfSElEICYmIEkyQyAmJiBJTlBV VCAmJiBJMkMgJiYgSU5QVVQpIHx8IChJTlRFTF9JU0hfSElEICYmIChYODZfNjQgfHwgQ09N UElMRV9URVNUKSAmJiBQQ0kgJiYgSU5QVVQpKQ0KPiANCj4gLi4uZGVwZW5kcyBvbiBJMkNf SElEIChkZWZpbmVkIGF0IGRyaXZlcnMvaGlkL2kyYy1oaWQvS2NvbmZpZzo1KSwgd2l0aCBk ZWZpbml0aW9uLi4uDQo+IA0KPiBjb25maWcgSTJDX0hJRA0KPiAJdHJpc3RhdGUgIkhJRCBv dmVyIEkyQyB0cmFuc3BvcnQgbGF5ZXIiDQo+IAlkZWZhdWx0IG4NCj4gCXNlbGVjdCBISUQN Cj4gCWRlcGVuZHMgb24gSTJDICYmIElOUFVUICYmIEkyQyAmJiBJTlBVVA0KPiAJaGVscA0K PiAJICBTYXkgWSBoZXJlIGlmIHlvdSB1c2UgYSBrZXlib2FyZCwgYSB0b3VjaHBhZCwgYSB0 b3VjaHNjcmVlbiwgb3IgYW55DQo+IAkgIG90aGVyIEhJRCBiYXNlZCBkZXZpY2VzIHdoaWNo IGlzIGNvbm5lY3RlZCB0byB5b3VyIGNvbXB1dGVyIHZpYSBJMkMuDQo+IAkgIA0KPiAJICBJ ZiB1bnN1cmUsIHNheSBOLg0KPiAJICANCj4gCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZh aWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUNCj4gCSAgd2lsbCBiZSBj YWxsZWQgaTJjLWhpZC4NCj4gDQo+IC4uLmRlcGVuZHMgb24gSTJDIChkZWZpbmVkIGF0IGRy aXZlcnMvaTJjL0tjb25maWc6OCksIHdpdGggZGVmaW5pdGlvbi4uLg0KPiANCj4gY29uZmln IEkyQw0KPiAJdHJpc3RhdGUgIkkyQyBzdXBwb3J0Ig0KPiAJc2VsZWN0IFJUX01VVEVYRVMN Cj4gCXNlbGVjdCBJUlFfRE9NQUlODQo+IAloZWxwDQo+IAkgIEkyQyAocHJvbm91bmNlOiBJ LXNxdWFyZWQtQykgaXMgYSBzbG93IHNlcmlhbCBidXMgcHJvdG9jb2wgdXNlZCBpbg0KPiAJ ICBtYW55IG1pY3JvIGNvbnRyb2xsZXIgYXBwbGljYXRpb25zIGFuZCBkZXZlbG9wZWQgYnkg UGhpbGlwcy4gIFNNQnVzLA0KPiAJICBvciBTeXN0ZW0gTWFuYWdlbWVudCBCdXMgaXMgYSBz dWJzZXQgb2YgdGhlIEkyQyBwcm90b2NvbC4gIE1vcmUNCj4gCSAgaW5mb3JtYXRpb24gaXMg Y29udGFpbmVkIGluIHRoZSBkaXJlY3RvcnkgPGZpbGU6RG9jdW1lbnRhdGlvbi9pMmMvPiwN Cj4gCSAgZXNwZWNpYWxseSBpbiB0aGUgZmlsZSBjYWxsZWQgInN1bW1hcnkiIHRoZXJlLg0K PiAJICANCj4gCSAgQm90aCBJMkMgYW5kIFNNQnVzIGFyZSBzdXBwb3J0ZWQgaGVyZS4gWW91 IHdpbGwgbmVlZCB0aGlzIGZvcg0KPiAJICBoYXJkd2FyZSBzZW5zb3JzIHN1cHBvcnQsIGFu ZCBhbHNvIGZvciBWaWRlbyBGb3IgTGludXggc3VwcG9ydC4NCj4gCSAgDQo+IAkgIElmIHlv dSB3YW50IEkyQyBzdXBwb3J0LCB5b3Ugc2hvdWxkIHNheSBZIGhlcmUgYW5kIGFsc28gdG8g dGhlDQo+IAkgIHNwZWNpZmljIGRyaXZlciBmb3IgeW91ciBidXMgYWRhcHRlcihzKSBiZWxv dy4NCj4gCSAgDQo+IAkgIFRoaXMgSTJDIHN1cHBvcnQgY2FuIGFsc28gYmUgYnVpbHQgYXMg YSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQ0KPiAJICB3aWxsIGJlIGNhbGxlZCBpMmMt Y29yZS4NCj4gDQo+IChzZWxlY3QtcmVsYXRlZCBkZXBlbmRlbmNpZXM6IChYODZfSU5URUxf TUlEICYmIFg4Nl9FWFRFTkRFRF9QTEFURk9STSAmJiBYODZfUExBVEZPUk1fREVWSUNFUyAm JiBQQ0kgJiYgKFg4Nl82NCB8fCAoUENJX0dPQU5ZICYmIFg4Nl8zMikpICYmIFg4Nl9JT19B UElDKSB8fCAoQ0FOX1BFQUtfUENJRUMgJiYgQ0FOX1BFQUtfUENJICYmIENBTl9TSkExMDAw ICYmIENBTl9ERVYgJiYgQ0FOICYmIE5FVCkgfHwgKElHQiAmJiBQQ0kgJiYgTkVUX1ZFTkRP Ul9JTlRFTCAmJiBFVEhFUk5FVCAmJiBORVRERVZJQ0VTKSB8fCAoU0ZDICYmIFBDSSAmJiBO RVRfVkVORE9SX1NPTEFSRkxBUkUgJiYgRVRIRVJORVQgJiYgTkVUREVWSUNFUykgfHwgKFNG Q19GQUxDT04gJiYgUENJICYmIE5FVF9WRU5ET1JfU09MQVJGTEFSRSAmJiBFVEhFUk5FVCAm JiBORVRERVZJQ0VTKSB8fCAoSVBNSV9TU0lGICYmIElQTUlfSEFORExFUikgfHwgSTNDIHx8 IChNRURJQV9TVUJEUlZfQVVUT1NFTEVDVCAmJiAoTUVESUFfQU5BTE9HX1RWX1NVUFBPUlQg fHwgTUVESUFfRElHSVRBTF9UVl9TVVBQT1JUIHx8IE1FRElBX0NBTUVSQV9TVVBQT1JUIHx8 IE1FRElBX1NEUl9TVVBQT1JUKSAmJiBIQVNfSU9NRU0gJiYgTUVESUFfU1VQUE9SVCkgfHwg KERSTSAmJiAoQUdQIHx8IEFHUCA9IG4pICYmICFFTVVMQVRFRF9DTVBYQ0hHICYmIEhBU19E TUEgJiYgSEFTX0lPTUVNKSB8fCAoRkJfRERDICYmIEZCICYmIEhBU19JT01FTSkgfHwgKFNO RF9BT0FfT05ZWCAmJiBTTkRfQU9BICYmIFNORCAmJiAhVU1MICYmIFNPVU5EKSB8fCAoU05E X0FPQV9UQVMgJiYgU05EX0FPQSAmJiBTTkQgJiYgIVVNTCAmJiBTT1VORCkgfHwgKEFSQ0hf UjhBNzc5MCAmJiBBUk0gJiYgQVJDSF9SRU5FU0FTICYmIFNPQ19SRU5FU0FTKSB8fCAoQVJD SF9SOEE3NzkxICYmIEFSTSAmJiBBUkNIX1JFTkVTQVMgJiYgU09DX1JFTkVTQVMpIHx8IChB UkNIX1I4QTc3OTMgJiYgQVJNICYmIEFSQ0hfUkVORVNBUyAmJiBTT0NfUkVORVNBUykgfHwg KFBIWV9FWFlOT1M1MjUwX1NBVEEgJiYgU09DX0VYWU5PUzUyNTAgJiYgSEFTX0lPTUVNICYm IE9GKSkNCj4gDQo+IC4uLmRlcGVuZHMgb24gRkJfRERDIChkZWZpbmVkIGF0IGRyaXZlcnMv dmlkZW8vZmJkZXYvS2NvbmZpZzo2MyksIHdpdGggZGVmaW5pdGlvbi4uLg0KPiANCj4gY29u ZmlnIEZCX0REQw0KPiAJdHJpc3RhdGUNCj4gCXNlbGVjdCBJMkNfQUxHT0JJVA0KPiAJc2Vs ZWN0IEkyQw0KPiAJZGVwZW5kcyBvbiBGQiAmJiBIQVNfSU9NRU0NCj4gDQo+IChzZWxlY3Qt cmVsYXRlZCBkZXBlbmRlbmNpZXM6IChGQl9DWUJFUjIwMDBfRERDICYmIEZCX0NZQkVSMjAw MCAmJiBIQVNfSU9NRU0pIHx8IChGQl9OVklESUFfSTJDICYmIEZCX05WSURJQSAmJiBIQVNf SU9NRU0pIHx8IChGQl9SSVZBX0kyQyAmJiBGQl9SSVZBICYmIEhBU19JT01FTSkgfHwgKEZC X0k3NDAgJiYgRkIgJiYgUENJICYmIEhBU19JT01FTSkgfHwgKEZCX0k4MTBfSTJDICYmIEZC X0k4MTAgJiYgRkJfSTgxMF9HVEYgJiYgSEFTX0lPTUVNKSB8fCAoRkJfSU5URUxfSTJDICYm IEZCX0lOVEVMICYmIEhBU19JT01FTSkgfHwgKEZCX01BVFJPWF9JMkMgJiYgRkJfTUFUUk9Y ICYmIEhBU19JT01FTSkgfHwgKEZCX1JBREVPTl9JMkMgJiYgRkJfUkFERU9OICYmIEhBU19J T01FTSkgfHwgKEZCX1MzX0REQyAmJiBGQl9TMyAmJiBIQVNfSU9NRU0pIHx8IChGQl9TQVZB R0VfSTJDICYmIEZCX1NBVkFHRSAmJiBIQVNfSU9NRU0pIHx8IChGQl8zREZYX0kyQyAmJiBG Ql8zREZYICYmIEhBU19JT01FTSkgfHwgKEZCX1RSSURFTlQgJiYgRkIgJiYgUENJICYmIEhB U19JT01FTSkpDQo+IA0KPiAuLi5kZXBlbmRzIG9uIEZCX1MzIChkZWZpbmVkIGF0IGRyaXZl cnMvdmlkZW8vZmJkZXYvS2NvbmZpZzoxMzE0KSwgd2l0aCBkZWZpbml0aW9uLi4uDQo+IA0K PiBjb25maWcgRkJfUzMNCj4gCXRyaXN0YXRlICJTMyBUcmlvL1ZpcmdlIHN1cHBvcnQiDQo+ IAlzZWxlY3QgRkJfQ0ZCX0ZJTExSRUNUDQo+IAlzZWxlY3QgRkJfQ0ZCX0NPUFlBUkVBDQo+ IAlzZWxlY3QgRkJfQ0ZCX0lNQUdFQkxJVA0KPiAJc2VsZWN0IEZCX1RJTEVCTElUVElORw0K PiAJc2VsZWN0IEZCX1NWR0FMSUINCj4gCXNlbGVjdCBWR0FTVEFURQ0KPiAJc2VsZWN0IEZP TlRfOHgxNiBpZiBGUkFNRUJVRkZFUl9DT05TT0xFDQo+IAlkZXBlbmRzIG9uIEZCICYmIFBD SSAmJiBIQVNfSU9NRU0NCj4gCWhlbHANCj4gCSAgRHJpdmVyIGZvciBncmFwaGljcyBib2Fy ZHMgd2l0aCBTMyBUcmlvIC8gUzMgVmlyZ2UgY2hpcC4NCj4gDQo+IC4uLmRlcGVuZHMgb24g RkIgKGRlZmluZWQgYXQgZHJpdmVycy92aWRlby9mYmRldi9LY29uZmlnOjEyKSwgd2l0aCBk ZWZpbml0aW9uLi4uDQo+IA0KPiBtZW51Y29uZmlnIEZCDQo+IAl0cmlzdGF0ZSAiU3VwcG9y dCBmb3IgZnJhbWUgYnVmZmVyIGRldmljZXMiDQo+IAlzZWxlY3QgRkJfQ01ETElORQ0KPiAJ c2VsZWN0IEZCX05PVElGWQ0KPiAJZGVwZW5kcyBvbiBIQVNfSU9NRU0NCj4gCWhlbHANCj4g CSAgVGhlIGZyYW1lIGJ1ZmZlciBkZXZpY2UgcHJvdmlkZXMgYW4gYWJzdHJhY3Rpb24gZm9y IHRoZSBncmFwaGljcw0KPiAJICBoYXJkd2FyZS4gSXQgcmVwcmVzZW50cyB0aGUgZnJhbWUg YnVmZmVyIG9mIHNvbWUgdmlkZW8gaGFyZHdhcmUgYW5kDQo+IAkgIGFsbG93cyBhcHBsaWNh dGlvbiBzb2Z0d2FyZSB0byBhY2Nlc3MgdGhlIGdyYXBoaWNzIGhhcmR3YXJlIHRocm91Z2gN Cj4gCSAgYSB3ZWxsLWRlZmluZWQgaW50ZXJmYWNlLCBzbyB0aGUgc29mdHdhcmUgZG9lc24n dCBuZWVkIHRvIGtub3cNCj4gCSAgYW55dGhpbmcgYWJvdXQgdGhlIGxvdy1sZXZlbCAoaGFy ZHdhcmUgcmVnaXN0ZXIpIHN0dWZmLg0KPiAJICANCj4gCSAgRnJhbWUgYnVmZmVyIGRldmlj ZXMgd29yayBpZGVudGljYWxseSBhY3Jvc3MgdGhlIGRpZmZlcmVudA0KPiAJICBhcmNoaXRl Y3R1cmVzIHN1cHBvcnRlZCBieSBMaW51eCBhbmQgbWFrZSB0aGUgaW1wbGVtZW50YXRpb24g b2YNCj4gCSAgYXBwbGljYXRpb24gcHJvZ3JhbXMgZWFzaWVyIGFuZCBtb3JlIHBvcnRhYmxl OyBhdCB0aGlzIHBvaW50LCBhbiBYDQo+IAkgIHNlcnZlciBleGlzdHMgd2hpY2ggdXNlcyB0 aGUgZnJhbWUgYnVmZmVyIGRldmljZSBleGNsdXNpdmVseS4NCj4gCSAgT24gc2V2ZXJhbCBu b24tWDg2IGFyY2hpdGVjdHVyZXMsIHRoZSBmcmFtZSBidWZmZXIgZGV2aWNlIGlzIHRoZQ0K PiAJICBvbmx5IHdheSB0byB1c2UgdGhlIGdyYXBoaWNzIGhhcmR3YXJlLg0KPiAJICANCj4g CSAgVGhlIGRldmljZSBpcyBhY2Nlc3NlZCB0aHJvdWdoIHNwZWNpYWwgZGV2aWNlIG5vZGVz LCB1c3VhbGx5IGxvY2F0ZWQNCj4gCSAgaW4gdGhlIC9kZXYgZGlyZWN0b3J5LCBpLmUuIC9k ZXYvZmIqLg0KPiAJICANCj4gCSAgWW91IG5lZWQgYW4gdXRpbGl0eSBwcm9ncmFtIGNhbGxl ZCBmYnNldCB0byBtYWtlIGZ1bGwgdXNlIG9mIGZyYW1lDQo+IAkgIGJ1ZmZlciBkZXZpY2Vz LiBQbGVhc2UgcmVhZCA8ZmlsZTpEb2N1bWVudGF0aW9uL2ZiL2ZyYW1lYnVmZmVyLnJzdD4N Cj4gCSAgYW5kIHRoZSBGcmFtZWJ1ZmZlci1IT1dUTyBhdA0KPiAJICA8aHR0cDovL3d3dy5t dW50ZWQub3JnLnVrL3Byb2dyYW1taW5nL0ZyYW1lYnVmZmVyLUhPV1RPLTEuMy5odG1sPiBm b3IgbW9yZQ0KPiAJICBpbmZvcm1hdGlvbi4NCj4gCSAgDQo+IAkgIFNheSBZIGhlcmUgYW5k IHRvIHRoZSBkcml2ZXIgZm9yIHlvdXIgZ3JhcGhpY3MgYm9hcmQgYmVsb3cgaWYgeW91DQo+ IAkgIGFyZSBjb21waWxpbmcgYSBrZXJuZWwgZm9yIGEgbm9uLXg4NiBhcmNoaXRlY3R1cmUu DQo+IAkgIA0KPiAJICBJZiB5b3UgYXJlIGNvbXBpbGluZyBmb3IgdGhlIHg4NiBhcmNoaXRl Y3R1cmUsIHlvdSBjYW4gc2F5IFkgaWYgeW91DQo+IAkgIHdhbnQgdG8gcGxheSB3aXRoIGl0 LCBidXQgaXQgaXMgbm90IGVzc2VudGlhbC4gUGxlYXNlIG5vdGUgdGhhdA0KPiAJICBydW5u aW5nIGdyYXBoaWNhbCBhcHBsaWNhdGlvbnMgdGhhdCBkaXJlY3RseSB0b3VjaCB0aGUgaGFy ZHdhcmUNCj4gCSAgKGUuZy4gYW4gYWNjZWxlcmF0ZWQgWCBzZXJ2ZXIpIGFuZCB0aGF0IGFy ZSBub3QgZnJhbWUgYnVmZmVyDQo+IAkgIGRldmljZS1hd2FyZSBtYXkgY2F1c2UgdW5leHBl Y3RlZCByZXN1bHRzLiBJZiB1bnN1cmUsIHNheSBOLg0KPiANCj4gKHNlbGVjdC1yZWxhdGVk IGRlcGVuZGVuY2llczogKERSTV9LTVNfRkJfSEVMUEVSICYmIERSTV9LTVNfSEVMUEVSICYm IEhBU19JT01FTSkgfHwgKERSTV9WTVdHRlggJiYgRFJNICYmIFBDSSAmJiBYODYgJiYgTU1V ICYmIEhBU19JT01FTSkpDQo+IA0KPiAuLi5kZXBlbmRzIG9uIERSTV9LTVNfSEVMUEVSIChk ZWZpbmVkIGF0IGRyaXZlcnMvZ3B1L2RybS9LY29uZmlnOjczKSwgd2l0aCBkZWZpbml0aW9u Li4uDQo+IA0KPiBjb25maWcgRFJNX0tNU19IRUxQRVINCj4gCXRyaXN0YXRlDQo+IAlkZXBl bmRzIG9uIERSTSAmJiBIQVNfSU9NRU0NCj4gCWhlbHANCj4gCSAgQ1JUQyBoZWxwZXJzIGZv ciBLTVMgZHJpdmVycy4NCj4gDQo+IChzZWxlY3QtcmVsYXRlZCBkZXBlbmRlbmNpZXM6IChE Uk1fREVCVUdfU0VMRlRFU1QgJiYgRFJNICYmIERFQlVHX0tFUk5FTCAmJiBIQVNfSU9NRU0p IHx8IChEUk1fRkJERVZfRU1VTEFUSU9OICYmIERSTSAmJiBIQVNfSU9NRU0pIHx8IChEUk1f SERMQ0QgJiYgRFJNICYmIE9GICYmIChBUk0gfHwgQVJNNjQpICYmIENPTU1PTl9DTEsgJiYg SEFTX0lPTUVNKSB8fCAoRFJNX01BTElfRElTUExBWSAmJiBEUk0gJiYgT0YgJiYgKEFSTSB8 fCBBUk02NCkgJiYgQ09NTU9OX0NMSyAmJiBIQVNfSU9NRU0pIHx8IChEUk1fS09NRURBICYm IERSTSAmJiBPRiAmJiBDT01NT05fQ0xLICYmIEhBU19JT01FTSkgfHwgKERSTV9SQURFT04g JiYgRFJNICYmIFBDSSAmJiBNTVUgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0FNREdQVSAmJiBE Uk0gJiYgUENJICYmIE1NVSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fTk9VVkVBVSAmJiBEUk0g JiYgUENJICYmIE1NVSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fSTkxNSAmJiBEUk0gJiYgWDg2 ICYmIFBDSSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fVktNUyAmJiBEUk0gJiYgSEFTX0lPTUVN KSB8fCAoRFJNX0VYWU5PUyAmJiBPRiAmJiBEUk0gJiYgKEFSQ0hfUzNDNjRYWCB8fCBBUkNI X1M1UFYyMTAgfHwgQVJDSF9FWFlOT1MgfHwgQVJDSF9NVUxUSVBMQVRGT1JNIHx8IENPTVBJ TEVfVEVTVCkgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX1JPQ0tDSElQICYmIERSTSAmJiBST0NL Q0hJUF9JT01NVSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fVk1XR0ZYICYmIERSTSAmJiBQQ0kg JiYgWDg2ICYmIE1NVSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fR01BNTAwICYmIERSTSAmJiBQ Q0kgJiYgWDg2ICYmIE1NVSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fVURMICYmIERSTSAmJiBV U0JfU1VQUE9SVCAmJiBVU0JfQVJDSF9IQVNfSENEICYmIEhBU19JT01FTSkgfHwgKERSTV9B U1QgJiYgRFJNICYmIFBDSSAmJiBNTVUgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX01HQUcyMDAg JiYgRFJNICYmIFBDSSAmJiBNTVUgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0NJUlJVU19RRU1V ICYmIERSTSAmJiBQQ0kgJiYgTU1VICYmIEhBU19JT01FTSkgfHwgKERSTV9BUk1BREEgJiYg RFJNICYmIEhBVkVfQ0xLICYmIEFSTSAmJiBNTVUgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0FU TUVMX0hMQ0RDICYmIERSTSAmJiBPRiAmJiBDT01NT05fQ0xLICYmIE1GRF9BVE1FTF9ITENE QyAmJiBBUk0gJiYgSEFTX0lPTUVNKSB8fCAoRFJNX1JDQVJfRFUgJiYgRFJNICYmIE9GICYm IChBUk0gfHwgQVJNNjQpICYmIChBUkNIX1JFTkVTQVMgfHwgQ09NUElMRV9URVNUKSAmJiBI QVNfSU9NRU0pIHx8IChEUk1fU0hNT0JJTEUgJiYgRFJNICYmIEFSTSAmJiAoQVJDSF9TSE1P QklMRSB8fCBDT01QSUxFX1RFU1QpICYmIEhBU19JT01FTSkgfHwgKERSTV9TVU40SSAmJiBE Uk0gJiYgKEFSTSB8fCBBUk02NCkgJiYgQ09NTU9OX0NMSyAmJiAoQVJDSF9TVU5YSSB8fCBD T01QSUxFX1RFU1QpICYmIEhBU19JT01FTSkgfHwgKERSTV9PTUFQICYmIERSTSAmJiAoQVJD SF9PTUFQMlBMVVMgfHwgQVJDSF9NVUxUSVBMQVRGT1JNKSAmJiBIQVNfSU9NRU0pIHx8IChE Uk1fVElMQ0RDICYmIERSTSAmJiBPRiAmJiBBUk0gJiYgSEFTX0lPTUVNKSB8fCAoRFJNX1FY TCAmJiBEUk0gJiYgUENJICYmIE1NVSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fQk9DSFMgJiYg RFJNICYmIFBDSSAmJiBNTVUgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX1ZJUlRJT19HUFUgJiYg RFJNICYmIFZJUlRJTyAmJiBNTVUgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX01TTSAmJiBEUk0g JiYgKEFSQ0hfUUNPTSB8fCBTT0NfSU1YNSB8fCAoQVJNICYmIENPTVBJTEVfVEVTVCkpICYm IE9GICYmIENPTU1PTl9DTEsgJiYgTU1VICYmIChJTlRFUkNPTk5FQ1QgfHwgIUlOVEVSQ09O TkVDVCkgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0ZTTF9EQ1UgJiYgRFJNICYmIE9GICYmIEFS TSAmJiBDT01NT05fQ0xLICYmIEhBU19JT01FTSkgfHwgKERSTV9URUdSQSAmJiAoQVJDSF9U RUdSQSB8fCAoQVJNICYmIENPTVBJTEVfVEVTVCkpICYmIENPTU1PTl9DTEsgJiYgRFJNICYm IE9GICYmIEhBU19JT01FTSkgfHwgKERSTV9TVE0gJiYgRFJNICYmIChBUkNIX1NUTTMyIHx8 IEFSQ0hfTVVMVElQTEFURk9STSkgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0FOQUxPR0lYX0FO WDc4WFggJiYgRFJNICYmIERSTV9CUklER0UgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0NETlNf RFNJICYmIE9GICYmIERSTSAmJiBEUk1fQlJJREdFICYmIEhBU19JT01FTSkgfHwgKERSTV9E VU1CX1ZHQV9EQUMgJiYgT0YgJiYgRFJNICYmIERSTV9CUklER0UgJiYgSEFTX0lPTUVNKSB8 fCAoRFJNX01FR0FDSElQU19TVERQWFhYWF9HRV9CODUwVjNfRlcgJiYgT0YgJiYgRFJNICYm IERSTV9CUklER0UgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX05YUF9QVE4zNDYwICYmIE9GICYm IERSTSAmJiBEUk1fQlJJREdFICYmIEhBU19JT01FTSkgfHwgKERSTV9QQVJBREVfUFM4NjIy ICYmIE9GICYmIERSTSAmJiBEUk1fQlJJREdFICYmIEhBU19JT01FTSkgfHwgKERSTV9TSUxf U0lJODYyMCAmJiBPRiAmJiBEUk0gJiYgRFJNX0JSSURHRSAmJiBIQVNfSU9NRU0pIHx8IChE Uk1fU0lJOTAyWCAmJiBPRiAmJiBEUk0gJiYgRFJNX0JSSURHRSAmJiBIQVNfSU9NRU0pIHx8 IChEUk1fVE9TSElCQV9UQzM1ODc2NyAmJiBPRiAmJiBEUk0gJiYgRFJNX0JSSURHRSAmJiBI QVNfSU9NRU0pIHx8IChEUk1fVElfVEZQNDEwICYmIE9GICYmIERSTSAmJiBEUk1fQlJJREdF ICYmIEhBU19JT01FTSkgfHwgKERSTV9USV9TTjY1RFNJODYgJiYgT0YgJiYgRFJNICYmIERS TV9CUklER0UgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0kyQ19BRFY3NTExICYmIE9GICYmIERS TSAmJiBEUk1fQlJJREdFICYmIEhBU19JT01FTSkgfHwgKERSTV9EV19IRE1JICYmIERSTSAm JiBEUk1fQlJJREdFICYmIEhBU19JT01FTSkgfHwgKERSTV9EV19NSVBJX0RTSSAmJiBEUk0g JiYgRFJNX0JSSURHRSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fU1RJICYmIE9GICYmIERSTSAm JiAoQVJDSF9TVEkgfHwgQVJDSF9NVUxUSVBMQVRGT1JNKSAmJiBIQVNfSU9NRU0pIHx8IChE Uk1fSU1YICYmIERSTSAmJiAoQVJDSF9NWEMgfHwgQVJDSF9NVUxUSVBMQVRGT1JNIHx8IENP TVBJTEVfVEVTVCkgJiYgSU1YX0lQVVYzX0NPUkUgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0lO R0VOSUMgJiYgKE1JUFMgfHwgQ09NUElMRV9URVNUKSAmJiBEUk0gJiYgQ01BICYmIE9GICYm IEhBU19JT01FTSkgfHwgKERSTV9WQzQgJiYgKEFSQ0hfQkNNIHx8IEFSQ0hfQkNNMjgzNSB8 fCBDT01QSUxFX1RFU1QpICYmIERSTSAmJiBTTkQgJiYgU05EX1NPQyAmJiBDT01NT05fQ0xL ICYmIEhBU19JT01FTSkgfHwgKERSTV9BUkNQR1UgJiYgRFJNICYmIE9GICYmIEhBU19JT01F TSkgfHwgKERSTV9ISVNJX0hJQk1DICYmIERSTSAmJiBQQ0kgJiYgTU1VICYmIEhBU19JT01F TSkgfHwgKERSTV9ISVNJX0tJUklOICYmIERSTSAmJiBPRiAmJiBBUk02NCAmJiBIQVNfSU9N RU0pIHx8IChEUk1fTUVESUFURUsgJiYgRFJNICYmIChBUkNIX01FRElBVEVLIHx8IChBUk0g JiYgQ09NUElMRV9URVNUKSkgJiYgQ09NTU9OX0NMSyAmJiBIQVZFX0FSTV9TTUNDQyAmJiBP RiAmJiBIQVNfSU9NRU0pIHx8IChEUk1fWlRFICYmIERSTSAmJiBBUkNIX1pYICYmIEhBU19J T01FTSkgfHwgKERSTV9NWFNGQiAmJiBEUk0gJiYgT0YgJiYgQ09NTU9OX0NMSyAmJiBIQVNf SU9NRU0pIHx8IChEUk1fTUVTT04gJiYgRFJNICYmIE9GICYmIChBUk0gfHwgQVJNNjQpICYm IChBUkNIX01FU09OIHx8IENPTVBJTEVfVEVTVCkgJiYgSEFTX0lPTUVNKSB8fCAoVElOWURS TV9IWDgzNTdEICYmIERSTSAmJiBTUEkgJiYgSEFTX0lPTUVNKSB8fCAoVElOWURSTV9JTEk5 MjI1ICYmIERSTSAmJiBTUEkgJiYgSEFTX0lPTUVNKSB8fCAoVElOWURSTV9JTEk5MzQxICYm IERSTSAmJiBTUEkgJiYgSEFTX0lPTUVNKSB8fCAoVElOWURSTV9NSTAyODNRVCAmJiBEUk0g JiYgU1BJICYmIEhBU19JT01FTSkgfHwgKFRJTllEUk1fUkVQQVBFUiAmJiBEUk0gJiYgU1BJ ICYmIChUSEVSTUFMIHx8ICFUSEVSTUFMKSAmJiBIQVNfSU9NRU0pIHx8IChUSU5ZRFJNX1NU NzU4NiAmJiBEUk0gJiYgU1BJICYmIEhBU19JT01FTSkgfHwgKFRJTllEUk1fU1Q3NzM1UiAm JiBEUk0gJiYgU1BJICYmIEhBU19JT01FTSkgfHwgKERSTV9QTDExMSAmJiBEUk0gJiYgKEFS TSB8fCBBUk02NCB8fCBDT01QSUxFX1RFU1QpICYmIENPTU1PTl9DTEsgJiYgSEFTX0lPTUVN KSB8fCAoRFJNX1RWRTIwMCAmJiBEUk0gJiYgQ01BICYmIChBUk0gfHwgQ09NUElMRV9URVNU KSAmJiBPRiAmJiBIQVNfSU9NRU0pIHx8IChEUk1fWEVOX0ZST05URU5EICYmIERSTV9YRU4g JiYgRFJNICYmIEhBU19JT01FTSkgfHwgKERSTV9WQk9YVklERU8gJiYgRFJNICYmIFg4NiAm JiBQQ0kgJiYgSEFTX0lPTUVNKSB8fCAoRFJNX0FTUEVFRF9HRlggJiYgRFJNICYmIE9GICYm IChDT01QSUxFX1RFU1QgfHwgQVJDSF9BU1BFRUQpICYmIEhBU19JT01FTSkgfHwgKERSTV9N Q0RFICYmIERSTSAmJiBDTUEgJiYgKEFSTSB8fCBDT01QSUxFX1RFU1QpICYmIE9GICYmIEhB U19JT01FTSkgfHwgKERSTV9HTTEyVTMyMCAmJiBEUk0gJiYgVVNCICYmIEhBU19JT01FTSkp DQo+IA0KPiAuLi5kZXBlbmRzIG9uIFRIRVJNQUwgKGRlZmluZWQgYXQgZHJpdmVycy90aGVy bWFsL0tjb25maWc6NiksIHdpdGggZGVmaW5pdGlvbi4uLg0KPiANCj4gbWVudWNvbmZpZyBU SEVSTUFMDQo+IAlib29sICJHZW5lcmljIFRoZXJtYWwgc3lzZnMgZHJpdmVyIg0KPiAJaGVs cA0KPiAJICBHZW5lcmljIFRoZXJtYWwgU3lzZnMgZHJpdmVyIG9mZmVycyBhIGdlbmVyaWMg bWVjaGFuaXNtIGZvcg0KPiAJICB0aGVybWFsIG1hbmFnZW1lbnQuIFVzdWFsbHkgaXQncyBt YWRlIHVwIG9mIG9uZSBvciBtb3JlIHRoZXJtYWwNCj4gCSAgem9uZSBhbmQgY29vbGluZyBk ZXZpY2UuDQo+IAkgIEVhY2ggdGhlcm1hbCB6b25lIGNvbnRhaW5zIGl0cyBvd24gdGVtcGVy YXR1cmUsIHRyaXAgcG9pbnRzLA0KPiAJICBjb29saW5nIGRldmljZXMuDQo+IAkgIEFsbCBw bGF0Zm9ybXMgd2l0aCBBQ1BJIHRoZXJtYWwgc3VwcG9ydCBjYW4gdXNlIHRoaXMgZHJpdmVy Lg0KPiAJICBJZiB5b3Ugd2FudCB0aGlzIHN1cHBvcnQsIHlvdSBzaG91bGQgc2F5IFkgaGVy ZS4NCj4gDQo+IChzZWxlY3QtcmVsYXRlZCBkZXBlbmRlbmNpZXM6IChBQ1BJX1ZJREVPICYm IFg4NiAmJiBCQUNLTElHSFRfQ0xBU1NfREVWSUNFICYmIElOUFVUICYmIEFDUEkpIHx8IChB Q1BJX0NQVV9GUkVRX1BTUyAmJiBBQ1BJKSB8fCAoQUNQSV9USEVSTUFMICYmIEFDUElfUFJP Q0VTU09SICYmIEFDUEkpIHx8IChEUk1fTk9VVkVBVSAmJiBBQ1BJICYmIFg4NiAmJiBEUk0g JiYgUENJICYmIE1NVSAmJiBIQVNfSU9NRU0pIHx8IChEUk1fRVROQVZJViAmJiBEUk1fRVRO QVZJVl9USEVSTUFMICYmIERSTSAmJiBNTVUgJiYgSEFTX0lPTUVNKSB8fCAoTU1DX1NESENJ X09NQVAgJiYgTU1DX1NESENJX1BMVEZNICYmIE9GICYmIE1NQykgfHwgKElOVEVMX01FTkxP VyAmJiBBQ1BJX1RIRVJNQUwgJiYgWDg2X1BMQVRGT1JNX0RFVklDRVMgJiYgWDg2KSkNCj4g DQo+IChpbXBseS1yZWxhdGVkIGRlcGVuZGVuY2llczogKEFDUElfVklERU8gJiYgWDg2ICYm IEJBQ0tMSUdIVF9DTEFTU19ERVZJQ0UgJiYgSU5QVVQgJiYgQUNQSSkgfHwgKEFDUElfQ1BV X0ZSRVFfUFNTICYmIEFDUEkpIHx8IChBQ1BJX1RIRVJNQUwgJiYgQUNQSV9QUk9DRVNTT1Ig JiYgQUNQSSkgfHwgKERSTV9OT1VWRUFVICYmIEFDUEkgJiYgWDg2ICYmIERSTSAmJiBQQ0kg JiYgTU1VICYmIEhBU19JT01FTSkgfHwgKERSTV9FVE5BVklWICYmIERSTV9FVE5BVklWX1RI RVJNQUwgJiYgRFJNICYmIE1NVSAmJiBIQVNfSU9NRU0pIHx8IChNTUNfU0RIQ0lfT01BUCAm JiBNTUNfU0RIQ0lfUExURk0gJiYgT0YgJiYgTU1DKSB8fCAoSU5URUxfTUVOTE9XICYmIEFD UElfVEhFUk1BTCAmJiBYODZfUExBVEZPUk1fREVWSUNFUyAmJiBYODYpKQ0KPiANCj4gLi4u ZGVwZW5kcyBvbiBTRU5TT1JTX01MWFJFR19GQU4gKGRlZmluZWQgYXQgZHJpdmVycy9od21v bi9LY29uZmlnOjk1MiksIHdpdGggZGVmaW5pdGlvbi4uLg0KPiANCj4gY29uZmlnIFNFTlNP UlNfTUxYUkVHX0ZBTg0KPiAJdHJpc3RhdGUgIk1lbGxhbm94IE1lbGxhbm94IEZBTiBkcml2 ZXIiDQo+IAlzZWxlY3QgUkVHTUFQDQo+IAlpbXBseSBUSEVSTUFMDQo+IAlkZXBlbmRzIG9u IE1FTExBTk9YX1BMQVRGT1JNICYmIEhXTU9ODQo+IAloZWxwDQo+IAkgIFRoaXMgb3B0aW9u IGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIEZBTiBjb250cm9sIG9uIHRoZSBNZWxsYW5veA0K PiAJICBFdGhlcm5ldCBhbmQgSW5maW5pQmFuZCBzd2l0Y2hlcy4gVGhlIGRyaXZlciBjYW4g YmUgYWN0aXZhdGVkIGJ5IHRoZQ0KPiAJICBwbGF0Zm9ybSBkZXZpY2UgYWRkIGNhbGwuIFNh eSBZIHRvIGVuYWJsZSB0aGVzZS4gVG8gY29tcGlsZSB0aGlzDQo+IAkgIGRyaXZlciBhcyBh IG1vZHVsZSwgY2hvb3NlICdNJyBoZXJlOiB0aGUgbW9kdWxlIHdpbGwgYmUgY2FsbGVkDQo+ IAkgIG1seHJlZy1mYW4uDQo+IA0KPiAuLi5kZXBlbmRzIG9uIEhXTU9OIChkZWZpbmVkIGF0 IGRyaXZlcnMvaHdtb24vS2NvbmZpZzo2KSwgd2l0aCBkZWZpbml0aW9uLi4uDQo+IA0KPiBt ZW51Y29uZmlnIEhXTU9ODQo+IAl0cmlzdGF0ZSAiSGFyZHdhcmUgTW9uaXRvcmluZyBzdXBw b3J0Ig0KPiAJZGVmYXVsdCB5DQo+IAlkZXBlbmRzIG9uIEhBU19JT01FTQ0KPiAJaGVscA0K PiAJICBIYXJkd2FyZSBtb25pdG9yaW5nIGRldmljZXMgbGV0IHlvdSBtb25pdG9yIHRoZSBo YXJkd2FyZSBoZWFsdGgNCj4gCSAgb2YgYSBzeXN0ZW0uIE1vc3QgbW9kZXJuIG1vdGhlcmJv YXJkcyBpbmNsdWRlIHN1Y2ggYSBkZXZpY2UuIEl0DQo+IAkgIGNhbiBpbmNsdWRlIHRlbXBl cmF0dXJlIHNlbnNvcnMsIHZvbHRhZ2Ugc2Vuc29ycywgZmFuIHNwZWVkDQo+IAkgIHNlbnNv cnMgYW5kIHZhcmlvdXMgYWRkaXRpb25hbCBmZWF0dXJlcyBzdWNoIGFzIHRoZSBhYmlsaXR5 IHRvDQo+IAkgIGNvbnRyb2wgdGhlIHNwZWVkIG9mIHRoZSBmYW5zLiBJZiB5b3Ugd2FudCB0 aGlzIHN1cHBvcnQgeW91DQo+IAkgIHNob3VsZCBzYXkgWSBoZXJlIGFuZCBhbHNvIHRvIHRo ZSBzcGVjaWZpYyBkcml2ZXIocykgZm9yIHlvdXINCj4gCSAgc2Vuc29ycyBjaGlwKHMpIGJl bG93Lg0KPiAJICANCj4gCSAgVG8gZmluZCBvdXQgd2hpY2ggc3BlY2lmaWMgZHJpdmVyKHMp IHlvdSBuZWVkLCB1c2UgdGhlDQo+IAkgIHNlbnNvcnMtZGV0ZWN0IHNjcmlwdCBmcm9tIHRo ZSBsbV9zZW5zb3JzIHBhY2thZ2UuICBSZWFkDQo+IAkgIDxmaWxlOkRvY3VtZW50YXRpb24v aHdtb24vdXNlcnNwYWNlLXRvb2xzLnJzdD4gZm9yIGRldGFpbHMuDQo+IAkgIA0KPiAJICBU aGlzIHN1cHBvcnQgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuIElmIHNvLCB0aGUg bW9kdWxlDQo+IAkgIHdpbGwgYmUgY2FsbGVkIGh3bW9uLg0KPiANCj4gKHNlbGVjdC1yZWxh dGVkIGRlcGVuZGVuY2llczogSThLIHx8IChIQUJBTkFfQUkgJiYgUENJICYmIEhBU19JT01F TSkgfHwgKERSTV9SQURFT04gJiYgRFJNICYmIFBDSSAmJiBNTVUgJiYgSEFTX0lPTUVNKSB8 fCAoRFJNX0FNREdQVSAmJiBEUk0gJiYgUENJICYmIE1NVSAmJiBIQVNfSU9NRU0pIHx8IChU SElOS1BBRF9BQ1BJICYmIEFDUEkgJiYgQUNQSV9CQVRURVJZICYmIElOUFVUICYmIChSRktJ TEwgfHwgUkZLSUxMID0gbikgJiYgKEFDUElfVklERU8gfHwgQUNQSV9WSURFTyA9IG4pICYm IEJBQ0tMSUdIVF9DTEFTU19ERVZJQ0UgJiYgWDg2X1BMQVRGT1JNX0RFVklDRVMgJiYgWDg2 KSB8fCAoRUVFUENfTEFQVE9QICYmIEFDUEkgJiYgSU5QVVQgJiYgKFJGS0lMTCB8fCBSRktJ TEwgPSBuKSAmJiAoQUNQSV9WSURFTyB8fCBBQ1BJX1ZJREVPID0gbikgJiYgSE9UUExVR19Q Q0kgJiYgQkFDS0xJR0hUX0NMQVNTX0RFVklDRSAmJiBYODZfUExBVEZPUk1fREVWSUNFUyAm JiBYODYpIHx8IChDUFVfSFdNT04gJiYgTE9PTkdTT05fTUFDSDNYICYmIE1JUFNfUExBVEZP Uk1fREVWSUNFUyAmJiBNSVBTKSB8fCAoTlRCX0lEVCAmJiBQQ0kgJiYgTlRCKSkNCj4gDQo+ IChpbXBseS1yZWxhdGVkIGRlcGVuZGVuY2llczogSThLIHx8IChIQUJBTkFfQUkgJiYgUENJ ICYmIEhBU19JT01FTSkgfHwgKERSTV9SQURFT04gJiYgRFJNICYmIFBDSSAmJiBNTVUgJiYg SEFTX0lPTUVNKSB8fCAoRFJNX0FNREdQVSAmJiBEUk0gJiYgUENJICYmIE1NVSAmJiBIQVNf SU9NRU0pIHx8IChUSElOS1BBRF9BQ1BJICYmIEFDUEkgJiYgQUNQSV9CQVRURVJZICYmIElO UFVUICYmIChSRktJTEwgfHwgUkZLSUxMID0gbikgJiYgKEFDUElfVklERU8gfHwgQUNQSV9W SURFTyA9IG4pICYmIEJBQ0tMSUdIVF9DTEFTU19ERVZJQ0UgJiYgWDg2X1BMQVRGT1JNX0RF VklDRVMgJiYgWDg2KSB8fCAoRUVFUENfTEFQVE9QICYmIEFDUEkgJiYgSU5QVVQgJiYgKFJG S0lMTCB8fCBSRktJTEwgPSBuKSAmJiAoQUNQSV9WSURFTyB8fCBBQ1BJX1ZJREVPID0gbikg JiYgSE9UUExVR19QQ0kgJiYgQkFDS0xJR0hUX0NMQVNTX0RFVklDRSAmJiBYODZfUExBVEZP Uk1fREVWSUNFUyAmJiBYODYpIHx8IChDUFVfSFdNT04gJiYgTE9PTkdTT05fTUFDSDNYICYm IE1JUFNfUExBVEZPUk1fREVWSUNFUyAmJiBNSVBTKSB8fCAoTlRCX0lEVCAmJiBQQ0kgJiYg TlRCKSkNCj4gDQo+IC4uLmRlcGVuZHMgYWdhaW4gb24gVEhJTktQQURfQUNQSSAoZGVmaW5l ZCBhdCBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9LY29uZmlnOjQ4NCkNCj4gDQo=