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 AEE20C00140 for ; Mon, 15 Aug 2022 13:27:32 +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:To:From:Subject:MIME-Version: Date:Message-ID:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=MmP0MHr6rvYF+SsMfmjmiqAJ5/iwmf807q6/p77B0Gc=; b=oEYtT+PjDdXMvucpBGaW9Bbe/k o+WkHyJfdeCmAds4Z9Udt1Goq/dTlLJ+870/qwQKON8ffyXwqNK60WGa2InSqI8YCCFS/olq45Zis Lt+FEVx/Z6Ry8N9Hf6XD7wo+tdn4P5iJlXnQdC9ou4KeGpcsxn4CtsYWlNOiQ4egzump8UbOw0W9x TnLEvHcsguhdwB0UDJAwcmpqm5FgasYGpvmdWXhLMldhZ3toFcz0HQouhFC4Eo7ljWvFPLOF9uqRY BSV902EvRdrE+NYgmW2Np67BexBfqIE9CTyNPCaXXVjXn3zJ8mLZ+JNRPZ9ceOmnlfDfexXaAP6tC 091tPEwg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oNa7i-00GnE7-R8; Mon, 15 Aug 2022 13:27:19 +0000 Received: from mail-sh.amlogic.com ([58.32.228.43]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oNa1d-00Gi4K-QC; Mon, 15 Aug 2022 13:21:07 +0000 Received: from [10.18.29.47] (10.18.29.47) by mail-sh.amlogic.com (10.18.11.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Mon, 15 Aug 2022 21:20:54 +0800 Message-ID: <4e3cdd6b-5861-8a4f-1df7-af763f77bad5@amlogic.com> Date: Mon, 15 Aug 2022 21:20:53 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Subject: Re: [PATCH V3 3/6] clk: meson: S4: add support for Amlogic S4 SoC PLL clock driver Content-Language: en-US From: Yu Tu To: Jerome Brunet , , , , , , Rob Herring , Neil Armstrong , Kevin Hilman , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Martin Blumenstingl References: <20220805085716.5635-1-yu.tu@amlogic.com> <20220805085716.5635-4-yu.tu@amlogic.com> <1jiln0yzgj.fsf@starbuckisacylon.baylibre.com> In-Reply-To: X-Originating-IP: [10.18.29.47] X-ClientProxiedBy: mail-sh.amlogic.com (10.18.11.5) To mail-sh.amlogic.com (10.18.11.5) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220815_062102_244768_DD42A313 X-CRM114-Status: GOOD ( 11.92 ) X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org CgpPbiAyMDIyLzgvMTUgMTQ6MzQsIFl1IFR1IHdyb3RlOgo+IEhpIEplcm9tZSwKPiAKPiBPbiAy MDIyLzgvMTAgMjE6NDcsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4+IFsgRVhURVJOQUwgRU1BSUwg XQo+Pgo+Pgo+PiBPbiBGcmkgMDUgQXVnIDIwMjIgYXQgMTY6NTcsIFl1IFR1IDx5dS50dUBhbWxv Z2ljLmNvbT4gd3JvdGU6Cj4+Cj4+PiBBZGQgdGhlIFM0IFBMTCBjbG9jayBjb250cm9sbGVyIGZv dW5kIGluIHRoZSBzNCBTb0MgZmFtaWx5Lgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IFl1IFR1IDx5 dS50dUBhbWxvZ2ljLmNvbT4KPj4+IC0tLQo+Pj4gwqAgZHJpdmVycy9jbGsvbWVzb24vS2NvbmZp Z8KgIHzCoCAxMiArCj4+PiDCoCBkcml2ZXJzL2Nsay9tZXNvbi9NYWtlZmlsZSB8wqDCoCAxICsK Pj4+IMKgIGRyaXZlcnMvY2xrL21lc29uL3M0LXBsbC5jIHwgODkxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKPj4+IMKgIGRyaXZlcnMvY2xrL21lc29uL3M0LXBsbC5oIHzC oCA4OCArKysrCj4+PiDCoCA0IGZpbGVzIGNoYW5nZWQsIDk5MiBpbnNlcnRpb25zKCspCj4+PiDC oCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVzb24vczQtcGxsLmMKPj4+IMKgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZXNvbi9zNC1wbGwuaAo+Pj4KPj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2Nsay9tZXNvbi9LY29uZmlnIGIvZHJpdmVycy9jbGsvbWVzb24vS2Nv bmZpZwo+Pj4gaW5kZXggZmMwMDJjMTU1YmMzLi5mNDI0NGVkYzdiMjggMTAwNjQ0Cj4+PiAtLS0g YS9kcml2ZXJzL2Nsay9tZXNvbi9LY29uZmlnCj4+PiArKysgYi9kcml2ZXJzL2Nsay9tZXNvbi9L Y29uZmlnCj4+PiBAQCAtMTE1LDQgKzExNSwxNiBAQCBjb25maWcgQ09NTU9OX0NMS19HMTJBCj4+ PiDCoMKgwqDCoMKgIGhlbHAKPj4+IMKgwqDCoMKgwqDCoMKgIFN1cHBvcnQgZm9yIHRoZSBjbG9j ayBjb250cm9sbGVyIG9uIEFtbG9naWMgUzkwNUQyLCBTOTA1WDIgCj4+PiBhbmQgUzkwNVkyCj4+ PiDCoMKgwqDCoMKgwqDCoCBkZXZpY2VzLCBha2EgZzEyYS4gU2F5IFkgaWYgeW91IHdhbnQgcGVy aXBoZXJhbHMgdG8gd29yay4KPj4+ICsKPj4+ICtjb25maWcgQ09NTU9OX0NMS19TNF9QTEwKPj4+ ICvCoMKgwqAgdHJpc3RhdGUgIlM0IFNvQyBQTEwgY2xvY2sgY29udHJvbGxlcnMgc3VwcG9ydCIK Pj4+ICvCoMKgwqAgZGVwZW5kcyBvbiBBUk02NAo+Pj4gK8KgwqDCoCBkZWZhdWx0IHkKPj4+ICvC oMKgwqAgc2VsZWN0IENPTU1PTl9DTEtfTUVTT05fTVBMTAo+Pj4gK8KgwqDCoCBzZWxlY3QgQ09N TU9OX0NMS19NRVNPTl9QTEwKPj4+ICvCoMKgwqAgc2VsZWN0IENPTU1PTl9DTEtfTUVTT05fUkVH TUFQCj4+PiArwqDCoMKgIGhlbHAKPj4+ICvCoMKgwqDCoMKgIFN1cHBvcnQgZm9yIHRoZSBwbGwg Y2xvY2sgY29udHJvbGxlciBvbiBBbWxvZ2ljIFM4MDVYMiBhbmQgCj4+PiBTOTA1WTQgZGV2aWNl cywKPj4+ICvCoMKgwqDCoMKgIGFrYSBzNC4gQW1sb2dpYyBTODA1WDIgYW5kIFM5MDVZNCBkZXZp Y2VzIGluY2x1ZGUgQVEyMjIgYW5kIAo+Pj4gQVEyMjkuCj4+PiArwqDCoMKgwqDCoCBTYXkgWSBp ZiB5b3Ugd2FudCBwZXJpcGhlcmFscyBhbmQgQ1BVIGZyZXF1ZW5jeSBzY2FsaW5nIHRvIHdvcmsu Cj4+Cj4+IExvb2tzIGxpa2UgdGhpcyBkb2MgaXMgY29weS9wYXN0ZSBvZiB0aGUgcGVyaXBoZXJh bCBjb250cm9sbGVyLgo+PiBUaGlzIHByb2JhYmx5IG5lZWRzIHRvIGJlIHVwZGF0ZWQKPiBPa2F5 Lgo+Pgo+Pj4gwqAgZW5kbWVudQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lc29uL01h a2VmaWxlIGIvZHJpdmVycy9jbGsvbWVzb24vTWFrZWZpbGUKPj4+IGluZGV4IDZlY2EyYTQwNmVl My4uMzc2ZjQ5Y2MxM2YxIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9jbGsvbWVzb24vTWFrZWZp bGUKPj4+ICsrKyBiL2RyaXZlcnMvY2xrL21lc29uL01ha2VmaWxlCj4+PiBAQCAtMTksMyArMTks NCBAQCBvYmotJChDT05GSUdfQ09NTU9OX0NMS19BWEdfQVVESU8pICs9IGF4Zy1hdWRpby5vCj4+ PiDCoCBvYmotJChDT05GSUdfQ09NTU9OX0NMS19HWEJCKSArPSBneGJiLm8gZ3hiYi1hb2Nsay5v Cj4+PiDCoCBvYmotJChDT05GSUdfQ09NTU9OX0NMS19HMTJBKSArPSBnMTJhLm8gZzEyYS1hb2Ns ay5vCj4+PiDCoCBvYmotJChDT05GSUdfQ09NTU9OX0NMS19NRVNPTjhCKSArPSBtZXNvbjhiLm8g bWVzb244LWRkci5vCj4+PiArb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfUzRfUExMKSArPSBzNC1w bGwubwo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lc29uL3M0LXBsbC5jIGIvZHJpdmVy cy9jbGsvbWVzb24vczQtcGxsLmMKPj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+PiBpbmRleCAw MDAwMDAwMDAwMDAuLjQ3OGM3OGI1ZWQ0Ngo+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4gKysrIGIvZHJp dmVycy9jbGsvbWVzb24vczQtcGxsLmMKPj4+IEBAIC0wLDAgKzEsODkxIEBACj4+PiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjArCj4+PiArLyoKPj4+ICsgKiBBbWxvZ2ljIE1l c29uLVM0IENsb2NrIENvbnRyb2xsZXIgRHJpdmVyCj4+PiArICoKPj4+ICsgKiBDb3B5cmlnaHQg KGMpIDIwMjEgQW1sb2dpYywgaW5jLgo+Pj4gKyAqIEF1dGhvcjogWXUgVHUgPHl1LnR1QGFtbG9n aWMuY29tPgo+Pj4gKyAqLwo+Pj4gKwo+Pj4gKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIu aD4KPj4+ICsjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+Cj4+PiArI2luY2x1ZGUgPGxpbnV4 L3BsYXRmb3JtX2RldmljZS5oPgo+Pj4gKwo+Pj4gKyNpbmNsdWRlICJjbGstbXBsbC5oIgo+Pj4g KyNpbmNsdWRlICJjbGstcGxsLmgiCj4+PiArI2luY2x1ZGUgImNsay1yZWdtYXAuaCIKPj4+ICsj aW5jbHVkZSAiczQtcGxsLmgiCj4+PiArCj4+PiArc3RhdGljIERFRklORV9TUElOTE9DSyhtZXNv bl9jbGtfbG9jayk7Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIHM0X2ZpeGVk X3BsbF9kY28gPSB7Cj4+PiArwqDCoMKgIC5kYXRhID0gJihzdHJ1Y3QgbWVzb25fY2xrX3BsbF9k YXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAuZW4gPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAucmVnX29mZiA9IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgLnNoaWZ0wqDCoCA9IDI4LAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndp ZHRowqDCoCA9IDEsCj4+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAu bSA9IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQ TExfQ1RSTDAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMCwKPj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC53aWR0aMKgwqAgPSA4LAo+Pj4gK8KgwqDCoMKgwqDC oMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLm4gPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAucmVnX29mZiA9IEFOQUNUUkxfRklYUExMX0NUUkwwLAo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgLnNoaWZ0wqDCoCA9IDEwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndp ZHRowqDCoCA9IDUsCj4+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAu ZnJhYyA9IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RSTF9G SVhQTExfQ1RSTDEsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMCwK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC53aWR0aMKgwqAgPSAxNywKPj4+ICvCoMKgwqDC oMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5sID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgLnJlZ19vZmYgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIC5zaGlmdMKgwqAgPSAzMSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IC53aWR0aMKgwqAgPSAxLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKg wqAgLnJzdCA9IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RS TF9GSVhQTExfQ1RSTDAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0g MjksCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKgID0gMSwKPj4+ICvCoMKg wqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9ICYoc3Ry dWN0IGNsa19pbml0X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gImZpeGVkX3Bs bF9kY28iLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmbWVzb25fY2xrX3BsbF9yb19vcHMs Cj4+PiArwqDCoMKgwqDCoMKgwqAgLnBhcmVudF9kYXRhID0gKGNvbnN0IHN0cnVjdCBjbGtfcGFy ZW50X2RhdGEgW10pIHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHsgLmZ3X25hbWUgPSAi eHRhbCIsIH0KPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5udW1f cGFyZW50cyA9IDEsCj4+PiArwqDCoMKgIH0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3Ry dWN0IGNsa19yZWdtYXAgczRfZml4ZWRfcGxsID0gewo+Pj4gK8KgwqDCoCAuZGF0YSA9ICYoc3Ry dWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vZmZzZXQgPSBB TkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4+ICvCoMKgwqDCoMKgwqDCoCAuc2hpZnQgPSAxNiwKPj4+ ICvCoMKgwqDCoMKgwqDCoCAud2lkdGggPSAyLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5mbGFncyA9 IENMS19ESVZJREVSX1BPV0VSX09GX1RXTywKPj4+ICvCoMKgwqAgfSwKPj4+ICvCoMKgwqAgLmh3 LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAubmFt ZSA9ICJmaXhlZF9wbGwiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmY2xrX3JlZ21hcF9k aXZpZGVyX3JvX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3cyA9IChjb25zdCBz dHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnM0X2ZpeGVk X3BsbF9kY28uaHcKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5u dW1fcGFyZW50cyA9IDEsCj4+PiArwqDCoMKgwqDCoMKgwqAgLyoKPj4+ICvCoMKgwqDCoMKgwqDC oMKgICogVGhpcyBjbG9jayB3b24ndCBldmVyIGNoYW5nZSBhdCBydW50aW1lIHNvCj4+PiArwqDC oMKgwqDCoMKgwqDCoCAqIENMS19TRVRfUkFURV9QQVJFTlQgaXMgbm90IHJlcXVpcmVkCj4+PiAr wqDCoMKgwqDCoMKgwqDCoCAqLwo+Pj4gK8KgwqDCoCB9LAo+Pj4gK307Cj4+PiArCj4+PiArc3Rh dGljIHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9yIHM0X2ZjbGtfZGl2Ml9kaXYgPSB7Cj4+PiArwqDC oMKgIC5tdWx0ID0gMSwKPj4+ICvCoMKgwqAgLmRpdiA9IDIsCj4+PiArwqDCoMKgIC5ody5pbml0 ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm5hbWUgPSAi ZmNsa19kaXYyX2RpdiIsCj4+PiArwqDCoMKgwqDCoMKgwqAgLm9wcyA9ICZjbGtfZml4ZWRfZmFj dG9yX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3Qg Y2xrX2h3ICpbXSkgeyAmczRfZml4ZWRfcGxsLmh3IH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLm51 bV9wYXJlbnRzID0gMSwKPj4+ICvCoMKgwqAgfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBz dHJ1Y3QgY2xrX3JlZ21hcCBzNF9mY2xrX2RpdjIgPSB7Cj4+PiArwqDCoMKgIC5kYXRhID0gJihz dHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vZmZzZXQg PSBBTkFDVFJMX0ZJWFBMTF9DVFJMMSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAuYml0X2lkeCA9IDI0 LAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0 X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gImZjbGtfZGl2MiIsCj4+PiArwqDC oMKgwqDCoMKgwqAgLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfcm9fb3BzLAo+Pj4gK8KgwqDCoMKg wqDCoMKgIC5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAmczRfZmNsa19kaXYyX2Rpdi5odwo+Pj4gK8KgwqDCoMKgwqDC oMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwKPj4+ICvCoMKgwqAg fSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX2ZpeGVkX2ZhY3RvciBzNF9m Y2xrX2RpdjNfZGl2ID0gewo+Pj4gK8KgwqDCoCAubXVsdCA9IDEsCj4+PiArwqDCoMKgIC5kaXYg PSAzLAo+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4g K8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gImZjbGtfZGl2M19kaXYiLAo+Pj4gK8KgwqDCoMKgwqDC oMKgIC5vcHMgPSAmY2xrX2ZpeGVkX2ZhY3Rvcl9vcHMsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnBh cmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsgJnM0X2ZpeGVkX3BsbC5odyB9 LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5udW1fcGFyZW50cyA9IDEsCj4+PiArwqDCoMKgIH0sCj4+ PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgczRfZmNsa19kaXYzID0g ewo+Pj4gK8KgwqDCoCAuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ ICvCoMKgwqDCoMKgwqDCoCAub2Zmc2V0ID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDEsCj4+PiArwqDC oMKgwqDCoMKgwqAgLmJpdF9pZHggPSAyMCwKPj4+ICvCoMKgwqAgfSwKPj4+ICvCoMKgwqAgLmh3 LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAubmFt ZSA9ICJmY2xrX2RpdjMiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmY2xrX3JlZ21hcF9n YXRlX3JvX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1 Y3QgY2xrX2h3ICpbXSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnM0X2ZjbGtfZGl2 M19kaXYuaHcKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5udW1f cGFyZW50cyA9IDEsCj4+PiArwqDCoMKgIH0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3Ry dWN0IGNsa19maXhlZF9mYWN0b3IgczRfZmNsa19kaXY0X2RpdiA9IHsKPj4+ICvCoMKgwqAgLm11 bHQgPSAxLAo+Pj4gK8KgwqDCoCAuZGl2ID0gNCwKPj4+ICvCoMKgwqAgLmh3LmluaXQgPSAmKHN0 cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9ICJmY2xrX2Rp djRfZGl2IiwKPj4+ICvCoMKgwqDCoMKgwqDCoCAub3BzID0gJmNsa19maXhlZF9mYWN0b3Jfb3Bz LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcg KltdKSB7ICZzNF9maXhlZF9wbGwuaHcgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAubnVtX3BhcmVu dHMgPSAxLAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBj bGtfcmVnbWFwIHM0X2ZjbGtfZGl2NCA9IHsKPj4+ICvCoMKgwqAgLmRhdGEgPSAmKHN0cnVjdCBj bGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm9mZnNldCA9IEFOQUNU UkxfRklYUExMX0NUUkwxLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5iaXRfaWR4ID0gMjEsCj4+PiAr wqDCoMKgIH0sCj4+PiArwqDCoMKgIC5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7 Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm5hbWUgPSAiZmNsa19kaXY0IiwKPj4+ICvCoMKgwqDCoMKg wqDCoCAub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9yb19vcHMsCj4+PiArwqDCoMKgwqDCoMKgwqAg LnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICZzNF9mY2xrX2RpdjRfZGl2Lmh3Cj4+PiArwqDCoMKgwqDCoMKgwqAgfSwK Pj4+ICvCoMKgwqDCoMKgwqDCoCAubnVtX3BhcmVudHMgPSAxLAo+Pj4gK8KgwqDCoCB9LAo+Pj4g K307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9yIHM0X2ZjbGtfZGl2 NV9kaXYgPSB7Cj4+PiArwqDCoMKgIC5tdWx0ID0gMSwKPj4+ICvCoMKgwqAgLmRpdiA9IDUsCj4+ PiArwqDCoMKgIC5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArwqDCoMKg wqDCoMKgwqAgLm5hbWUgPSAiZmNsa19kaXY1X2RpdiIsCj4+PiArwqDCoMKgwqDCoMKgwqAgLm9w cyA9ICZjbGtfZml4ZWRfZmFjdG9yX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3 cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgeyAmczRfZml4ZWRfcGxsLmh3IH0sCj4+PiAr wqDCoMKgwqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwKPj4+ICvCoMKgwqAgfSwKPj4+ICt9Owo+ Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBzNF9mY2xrX2RpdjUgPSB7Cj4+PiAr wqDCoMKgIC5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+Pj4gK8KgwqDC oMKgwqDCoMKgIC5vZmZzZXQgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMSwKPj4+ICvCoMKgwqDCoMKg wqDCoCAuYml0X2lkeCA9IDIyLAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9 ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gImZj bGtfZGl2NSIsCj4+PiArwqDCoMKgwqDCoMKgwqAgLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfcm9f b3BzLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtf aHcgKltdKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmczRfZmNsa19kaXY1X2Rpdi5o dwo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLm51bV9wYXJlbnRz ID0gMSwKPj4+ICvCoMKgwqAgfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xr X2ZpeGVkX2ZhY3RvciBzNF9mY2xrX2RpdjdfZGl2ID0gewo+Pj4gK8KgwqDCoCAubXVsdCA9IDEs Cj4+PiArwqDCoMKgIC5kaXYgPSA3LAo+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9ICYoc3RydWN0IGNs a19pbml0X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gImZjbGtfZGl2N19kaXYi LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmY2xrX2ZpeGVkX2ZhY3Rvcl9vcHMsCj4+PiAr wqDCoMKgwqDCoMKgwqAgLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsg JnM0X2ZpeGVkX3BsbC5odyB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5udW1fcGFyZW50cyA9IDEs Cj4+PiArwqDCoMKgIH0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdt YXAgczRfZmNsa19kaXY3ID0gewo+Pj4gK8KgwqDCoCAuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdt YXBfZ2F0ZV9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAub2Zmc2V0ID0gQU5BQ1RSTF9GSVhQ TExfQ1RSTDEsCj4+PiArwqDCoMKgwqDCoMKgwqAgLmJpdF9pZHggPSAyMywKPj4+ICvCoMKgwqAg fSwKPj4+ICvCoMKgwqAgLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvC oMKgwqDCoMKgwqDCoCAubmFtZSA9ICJmY2xrX2RpdjciLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5v cHMgPSAmY2xrX3JlZ21hcF9nYXRlX3JvX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50 X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgJnM0X2ZjbGtfZGl2N19kaXYuaHcKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8Kg wqDCoMKgwqDCoMKgIC5udW1fcGFyZW50cyA9IDEsCj4+PiArwqDCoMKgIH0sCj4+PiArfTsKPj4+ ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19maXhlZF9mYWN0b3IgczRfZmNsa19kaXYycDVfZGl2 ID0gewo+Pj4gK8KgwqDCoCAubXVsdCA9IDIsCj4+PiArwqDCoMKgIC5kaXYgPSA1LAo+Pj4gK8Kg wqDCoCAuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDC oMKgIC5uYW1lID0gImZjbGtfZGl2MnA1X2RpdiIsCj4+PiArwqDCoMKgwqDCoMKgwqAgLm9wcyA9 ICZjbGtfZml4ZWRfZmFjdG9yX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3cyA9 IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg JnM0X2ZpeGVkX3BsbC5odwo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKg wqAgLm51bV9wYXJlbnRzID0gMSwKPj4+ICvCoMKgwqAgfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0 YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBzNF9mY2xrX2RpdjJwNSA9IHsKPj4+ICvCoMKgwqAgLmRh dGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKgwqAg Lm9mZnNldCA9IEFOQUNUUkxfRklYUExMX0NUUkwxLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5iaXRf aWR4ID0gMjUsCj4+PiArwqDCoMKgIH0sCj4+PiArwqDCoMKgIC5ody5pbml0ID0gJihzdHJ1Y3Qg Y2xrX2luaXRfZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm5hbWUgPSAiZmNsa19kaXYycDUi LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX3JvX29wcywKPj4+ ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkg ewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnM0X2ZjbGtfZGl2MnA1X2Rpdi5odwo+Pj4g K8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwK Pj4+ICvCoMKgwqAgfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGxs X211bHRfcmFuZ2UgczRfZ3AwX3BsbF9tdWx0X3JhbmdlID0gewo+Pj4gK8KgwqDCoCAubWluID0g MTI1LAo+Pj4gK8KgwqDCoCAubWF4ID0gMjUwLAo+Pj4gK307Cj4+PiArCj4+PiArLyoKPj4+ICsg KiBJbnRlcm5hbCBncDAgcGxsIGVtdWxhdGlvbiBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMKPj4+ ICsgKi8KPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ19zZXF1ZW5jZSBzNF9ncDBfaW5pdF9y ZWdzW10gPSB7Cj4+PiArwqDCoMKgIHsgLnJlZyA9IEFOQUNUUkxfR1AwUExMX0NUUkwxLMKgwqDC oCAuZGVmID0gMHgwMDAwMDAwMCB9LAo+Pj4gK8KgwqDCoCB7IC5yZWcgPSBBTkFDVFJMX0dQMFBM TF9DVFJMMizCoMKgwqAgLmRlZiA9IDB4MDAwMDAwMDAgfSwKPj4+ICvCoMKgwqAgeyAucmVnID0g QU5BQ1RSTF9HUDBQTExfQ1RSTDMswqDCoMKgIC5kZWYgPSAweDQ4NjgxYzAwIH0sCj4+PiArwqDC oMKgIHsgLnJlZyA9IEFOQUNUUkxfR1AwUExMX0NUUkw0LMKgwqDCoCAuZGVmID0gMHg4ODc3MDI5 MCB9LAo+Pj4gK8KgwqDCoCB7IC5yZWcgPSBBTkFDVFJMX0dQMFBMTF9DVFJMNSzCoMKgwqAgLmRl ZiA9IDB4MzkyNzIwMDAgfSwKPj4+ICvCoMKgwqAgeyAucmVnID0gQU5BQ1RSTF9HUDBQTExfQ1RS TDYswqDCoMKgIC5kZWYgPSAweDU2NTQwMDAwIH0KPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBz dHJ1Y3QgY2xrX3JlZ21hcCBzNF9ncDBfcGxsX2RjbyA9IHsKPj4+ICvCoMKgwqAgLmRhdGEgPSAm KHN0cnVjdCBtZXNvbl9jbGtfcGxsX2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5lbiA9IHsK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RSTF9HUDBQTExfQ1RS TDAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMjgsCj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKgID0gMSwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9 LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5tID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg LnJlZ19vZmYgPSBBTkFDVFJMX0dQMFBMTF9DVFJMMCwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIC5zaGlmdMKgwqAgPSAwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndpZHRowqDC oCA9IDgsCj4+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAubiA9IHsK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RSTF9HUDBQTExfQ1RS TDAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMTAsCj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKgID0gNSwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9 LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5mcmFjID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgLnJlZ19vZmYgPSBBTkFDVFJMX0dQMFBMTF9DVFJMMSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIC5zaGlmdMKgwqAgPSAwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndpZHRo wqDCoCA9IDE3LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLmwg PSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAucmVnX29mZiA9IEFOQUNUUkxfR1AwUExM X0NUUkwwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnNoaWZ0wqDCoCA9IDMxLAo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndpZHRowqDCoCA9IDEsCj4+PiArwqDCoMKgwqDCoMKg wqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAucnN0ID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgLnJlZ19vZmYgPSBBTkFDVFJMX0dQMFBMTF9DVFJMMCwKPj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIC5zaGlmdMKgwqAgPSAyOSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC53 aWR0aMKgwqAgPSAxLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAg LnJhbmdlID0gJnM0X2dwMF9wbGxfbXVsdF9yYW5nZSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAuaW5p dF9yZWdzID0gczRfZ3AwX2luaXRfcmVncywKPj4+ICvCoMKgwqDCoMKgwqDCoCAuaW5pdF9jb3Vu dCA9IEFSUkFZX1NJWkUoczRfZ3AwX2luaXRfcmVncyksCj4+PiArwqDCoMKgIH0sCj4+PiArwqDC oMKgIC5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKg wqAgLm5hbWUgPSAiZ3AwX3BsbF9kY28iLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmbWVz b25fY2xrX3BsbF9vcHMsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnBhcmVudF9kYXRhID0gKGNvbnN0 IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgW10pIHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHsgLmZ3X25hbWUgPSAieHRhbCIsIH0KPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDC oMKgwqDCoMKgIC5udW1fcGFyZW50cyA9IDEsCj4+PiArwqDCoMKgIH0sCj4+PiArfTsKPj4+ICsK Pj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgczRfZ3AwX3BsbCA9IHsKPj4+ICvCoMKgwqAg LmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDC oCAub2Zmc2V0ID0gQU5BQ1RSTF9HUDBQTExfQ1RSTDAsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnNo aWZ0ID0gMTYsCj4+PiArwqDCoMKgwqDCoMKgwqAgLndpZHRoID0gMywKPj4+ICvCoMKgwqDCoMKg wqDCoCAuZmxhZ3MgPSAoQ0xLX0RJVklERVJfUE9XRVJfT0ZfVFdPIHwKPj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBDTEtfRElWSURFUl9ST1VORF9DTE9TRVNUKSwKPj4+ICvCoMKgwqAg fSwKPj4+ICvCoMKgwqAgLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvC oMKgwqDCoMKgwqDCoCAubmFtZSA9ICJncDBfcGxsIiwKPj4+ICvCoMKgwqDCoMKgwqDCoCAub3Bz ID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnBhcmVudF9o d3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICZzNF9ncDBfcGxsX2Rjby5odwo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKg wqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAuZmxhZ3MgPSBD TEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK307Cj4+PiArCj4+PiArLyoK Pj4+ICsgKiBJbnRlcm5hbCBoaWZpIHBsbCBlbXVsYXRpb24gY29uZmlndXJhdGlvbiBwYXJhbWV0 ZXJzCj4+PiArICovCj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdfc2VxdWVuY2UgczRfaGlm aV9pbml0X3JlZ3NbXSA9IHsKPj4+ICvCoMKgwqAgeyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NU UkwxLMKgwqDCoCAuZGVmID0gMHgwMDAxMGU1NiB9LAo+Pj4gK8KgwqDCoCB7IC5yZWcgPSBBTkFD VFJMX0hJRklQTExfQ1RSTDIswqDCoMKgIC5kZWYgPSAweDAwMDAwMDAwIH0sCj4+PiArwqDCoMKg IHsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMyzCoMKgwqAgLmRlZiA9IDB4NmEyODVjMDAg fSwKPj4+ICvCoMKgwqAgeyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkw0LMKgwqDCoCAuZGVm ID0gMHg2NTc3MTI5MCB9LAo+Pj4gK8KgwqDCoCB7IC5yZWcgPSBBTkFDVFJMX0hJRklQTExfQ1RS TDUswqDCoMKgIC5kZWYgPSAweDM5MjcyMDAwIH0sCj4+PiArwqDCoMKgIHsgLnJlZyA9IEFOQUNU UkxfSElGSVBMTF9DVFJMNizCoMKgwqAgLmRlZiA9IDB4NTY1NDAwMDAgfQo+Pj4gK307Cj4+PiAr Cj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIHM0X2hpZmlfcGxsX2RjbyA9IHsKPj4+ICvC oMKgwqAgLmRhdGEgPSAmKHN0cnVjdCBtZXNvbl9jbGtfcGxsX2RhdGEpewo+Pj4gK8KgwqDCoMKg wqDCoMKgIC5lbiA9IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5B Q1RSTF9ISUZJUExMX0NUUkwwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnNoaWZ0wqDC oCA9IDI4LAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndpZHRowqDCoCA9IDEsCj4+PiAr wqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAubSA9IHsKPj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwwLAo+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgLnNoaWZ0wqDCoCA9IDAsCj4+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAud2lkdGjCoMKgID0gOCwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDC oMKgwqDCoMKgIC5uID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJlZ19vZmYgPSBB TkFDVFJMX0hJRklQTExfQ1RSTDAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTC oMKgID0gMTAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKgID0gNSwKPj4+ ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5mcmFjID0gewo+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJlZ19vZmYgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDEsCj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMCwKPj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIC53aWR0aMKgwqAgPSAxNywKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4g K8KgwqDCoMKgwqDCoMKgIC5sID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJlZ19v ZmYgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAu c2hpZnTCoMKgID0gMzEsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKgID0g MSwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5yc3QgPSB7Cj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAucmVnX29mZiA9IEFOQUNUUkxfSElGSVBMTF9DVFJM MCwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5zaGlmdMKgwqAgPSAyOSwKPj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIC53aWR0aMKgwqAgPSAxLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0s Cj4+PiArwqDCoMKgwqDCoMKgwqAgLnJhbmdlID0gJnM0X2dwMF9wbGxfbXVsdF9yYW5nZSwKPj4+ ICvCoMKgwqDCoMKgwqDCoCAuaW5pdF9yZWdzID0gczRfaGlmaV9pbml0X3JlZ3MsCj4+PiArwqDC oMKgwqDCoMKgwqAgLmluaXRfY291bnQgPSBBUlJBWV9TSVpFKHM0X2hpZmlfaW5pdF9yZWdzKSwK Pj4+ICvCoMKgwqDCoMKgwqDCoCAuZmxhZ3MgPSBDTEtfTUVTT05fUExMX1JPVU5EX0NMT1NFU1Qs Cj4+PiArwqDCoMKgIH0sCj4+PiArwqDCoMKgIC5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRf ZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm5hbWUgPSAiaGlmaV9wbGxfZGNvIiwKPj4+ICvC oMKgwqDCoMKgwqDCoCAub3BzID0gJm1lc29uX2Nsa19wbGxfb3BzLAo+Pj4gK8KgwqDCoMKgwqDC oMKgIC5wYXJlbnRfZGF0YSA9IChjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIFtdKSB7Cj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7IC5md19uYW1lID0gInh0YWwiLCB9Cj4+PiArwqDC oMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAubnVtX3BhcmVudHMgPSAxLAo+Pj4g K8KgwqDCoCB9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIHM0 X2hpZmlfcGxsID0gewo+Pj4gK8KgwqDCoCAuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2 X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vZmZzZXQgPSBBTkFDVFJMX0hJRklQTExfQ1RS TDAsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnNoaWZ0ID0gMTYsCj4+PiArwqDCoMKgwqDCoMKgwqAg LndpZHRoID0gMiwKPj4+ICvCoMKgwqDCoMKgwqDCoCAuZmxhZ3MgPSAoQ0xLX0RJVklERVJfUE9X RVJfT0ZfVFdPIHwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDTEtfRElWSURFUl9S T1VORF9DTE9TRVNUKSwKPj4+ICvCoMKgwqAgfSwKPj4+ICvCoMKgwqAgLmh3LmluaXQgPSAmKHN0 cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9ICJoaWZpX3Bs bCIsCj4+PiArwqDCoMKgwqDCoMKgwqAgLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+ Pj4gK8KgwqDCoMKgwqDCoMKgIC5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltd KSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmczRfaGlmaV9wbGxfZGNvLmh3Cj4+PiAr wqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAubnVtX3BhcmVudHMgPSAxLAo+ Pj4gK8KgwqDCoMKgwqDCoMKgIC5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+PiArwqDC oMKgIH0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgczRfaGRt aV9wbGxfZGNvID0gewo+Pj4gK8KgwqDCoCAuZGF0YSA9ICYoc3RydWN0IG1lc29uX2Nsa19wbGxf ZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLmVuID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgLnJlZ19vZmYgPSBBTkFDVFJMX0hETUlQTExfQ1RSTDAsCj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMjgsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAu d2lkdGjCoMKgID0gMSwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKg IC5tID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJlZ19vZmYgPSBBTkFDVFJMX0hE TUlQTExfQ1RSTDAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMCwK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC53aWR0aMKgwqAgPSA4LAo+Pj4gK8KgwqDCoMKg wqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLm4gPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAucmVnX29mZiA9IEFOQUNUUkxfSERNSVBMTF9DVFJMMCwKPj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIC5zaGlmdMKgwqAgPSAxMCwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IC53aWR0aMKgwqAgPSA1LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKg wqAgLmZyYWMgPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAucmVnX29mZiA9IEFOQUNU UkxfSERNSVBMTF9DVFJMMSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5zaGlmdMKgwqAg PSAwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndpZHRowqDCoCA9IDE3LAo+Pj4gK8Kg wqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLmwgPSB7Cj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAucmVnX29mZiA9IEFOQUNUUkxfSERNSVBMTF9DVFJMMCwKPj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIC5zaGlmdMKgwqAgPSAzMSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIC53aWR0aMKgwqAgPSAxLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKg wqDCoMKgwqAgLnJzdCA9IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0g QU5BQ1RSTF9IRE1JUExMX0NUUkwwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnNoaWZ0 wqDCoCA9IDI5LAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndpZHRowqDCoCA9IDEsCj4+ PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqAgfSwKPj4+ICvCoMKgwqAgLmh3LmluaXQg PSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9ICJo ZG1pX3BsbF9kY28iLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmbWVzb25fY2xrX3BsbF9y b19vcHMsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnBhcmVudF9kYXRhID0gKGNvbnN0IHN0cnVjdCBj bGtfcGFyZW50X2RhdGEgW10pIHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHsgLmZ3X25h bWUgPSAieHRhbCIsIH0KPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKg IC5udW1fcGFyZW50cyA9IDEsCj4+PiArwqDCoMKgwqDCoMKgwqAgLyoKPj4+ICvCoMKgwqDCoMKg wqDCoMKgICogRGlzcGxheSBkaXJlY3RseSBoYW5kbGUgaGRtaSBwbGwgcmVnaXN0ZXJzIEFUTSwg d2UgbmVlZAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBOT0NBQ0hFIHRvIGtlZXAgb3VyIHZpZXcg b2YgdGhlIGNsb2NrIGFzIGFjY3VyYXRlIGFzCj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqIHBvc3Np YmxlCj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqLwo+Pgo+PiBJcyBpdCByZWFsbHkgPwo+Pgo+PiBH aXZlbiB0aGF0IEhETUkgc3VwcG9ydCBmb3IgdGhlIHM0IGlzIHRoZXJlIHlldCwgdGhlCj4+IGFk ZHJlc3NlcyBoYXZlIGNoYW5nZXMgYW5kIHRoZSByZWdpb24gaXMgbm8gbG9uZ2VyIGEgc3lzY29u LCBpdCBpcyB0aW1lCj4+IGZvciB0aGUgSERNSSBkcml2ZXIgdG8gZ2V0IGZpeGVkLgpUaGUgSERN SSBQTEwgaXMgY29uZmlndXJlZCBpbiB0aGUgVWJvb3QgcGhhc2UgYW5kIGRvZXMgbm90IGNoYW5n ZSB0aGUgCmZyZXF1ZW5jeSBpbiB0aGUga2VybmVsIHBoYXNlLiBTbyB3ZSB1c2UgdGhlIE5PQ0FD SEUgZmxhZyBhbmQgICJyb19vcHMiLgo+Pgo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5mbGFncyA9IENM S19HRVRfUkFURV9OT0NBQ0hFLAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK307Cj4+PiArCj4+PiArc3Rh dGljIHN0cnVjdCBjbGtfcmVnbWFwIHM0X2hkbWlfcGxsX29kID0gewo+Pj4gK8KgwqDCoCAuZGF0 YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5v ZmZzZXQgPSBBTkFDVFJMX0hETUlQTExfQ1RSTDAsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnNoaWZ0 ID0gMTYsCj4+PiArwqDCoMKgwqDCoMKgwqAgLndpZHRoID0gNCwKPj4+ICvCoMKgwqDCoMKgwqDC oCAuZmxhZ3MgPSBDTEtfRElWSURFUl9QT1dFUl9PRl9UV08sCj4+PiArwqDCoMKgIH0sCj4+PiAr wqDCoMKgIC5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArwqDCoMKgwqDC oMKgwqAgLm5hbWUgPSAiaGRtaV9wbGxfb2QiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAm Y2xrX3JlZ21hcF9kaXZpZGVyX3JvX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3 cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgJnM0X2hkbWlfcGxsX2Rjby5odwo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKg wqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAvKgo+Pj4gK8Kg wqDCoMKgwqDCoMKgwqAgKiBEaXNwbGF5IGRpcmVjdGx5IGhhbmRsZSBoZG1pIHBsbCByZWdpc3Rl cnMgQVRNLCB3ZSBuZWVkCj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqIE5PQ0FDSEUgdG8ga2VlcCBv dXIgdmlldyBvZiB0aGUgY2xvY2sgYXMgYWNjdXJhdGUgYXMKPj4+ICvCoMKgwqDCoMKgwqDCoMKg ICogcG9zc2libGUKPj4+ICvCoMKgwqDCoMKgwqDCoMKgICovCj4+PiArwqDCoMKgwqDCoMKgwqAg LmZsYWdzID0gQ0xLX0dFVF9SQVRFX05PQ0FDSEUgfCBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4g K8KgwqDCoCB9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIHM0 X2hkbWlfcGxsID0gewo+Pj4gK8KgwqDCoCAuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2 X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vZmZzZXQgPSBBTkFDVFJMX0hETUlQTExfQ1RS TDAsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnNoaWZ0ID0gMjAsCj4+PiArwqDCoMKgwqDCoMKgwqAg LndpZHRoID0gMiwKPj4+ICvCoMKgwqDCoMKgwqDCoCAuZmxhZ3MgPSBDTEtfRElWSURFUl9QT1dF Ul9PRl9UV08sCj4+PiArwqDCoMKgIH0sCj4+PiArwqDCoMKgIC5ody5pbml0ID0gJihzdHJ1Y3Qg Y2xrX2luaXRfZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm5hbWUgPSAiaGRtaV9wbGwiLAo+ Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX3JvX29wcywKPj4+ ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkg ewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnM0X2hkbWlfcGxsX29kLmh3Cj4+PiArwqDC oMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAubnVtX3BhcmVudHMgPSAxLAo+Pj4g K8KgwqDCoMKgwqDCoMKgIC8qCj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqIERpc3BsYXkgZGlyZWN0 bHkgaGFuZGxlIGhkbWkgcGxsIHJlZ2lzdGVycyBBVE0sIHdlIG5lZWQKPj4+ICvCoMKgwqDCoMKg wqDCoMKgICogTk9DQUNIRSB0byBrZWVwIG91ciB2aWV3IG9mIHRoZSBjbG9jayBhcyBhY2N1cmF0 ZSBhcwo+Pj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBwb3NzaWJsZQo+Pj4gK8KgwqDCoMKgwqDCoMKg wqAgKi8KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZmxhZ3MgPSBDTEtfR0VUX1JBVEVfTk9DQUNIRSB8 IENMS19TRVRfUkFURV9QQVJFTlQsCj4+PiArwqDCoMKgIH0sCj4+PiArfTsKPj4+ICsKPj4+ICtz dGF0aWMgc3RydWN0IGNsa19maXhlZF9mYWN0b3IgczRfbXBsbF81MG1fZGl2ID0gewo+Pj4gK8Kg wqDCoCAubXVsdCA9IDEsCj4+PiArwqDCoMKgIC5kaXYgPSA4MCwKPj4+ICvCoMKgwqAgLmh3Lmlu aXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9 ICJtcGxsXzUwbV9kaXYiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmY2xrX2ZpeGVkX2Zh Y3Rvcl9vcHMsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0 IGNsa19odyAqW10pIHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZzNF9maXhlZF9wbGxf ZGNvLmh3Cj4+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAubnVtX3Bh cmVudHMgPSAxLAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVj dCBjbGtfcmVnbWFwIHM0X21wbGxfNTBtID0gewo+Pj4gK8KgwqDCoCAuZGF0YSA9ICYoc3RydWN0 IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vZmZzZXQgPSBBTkFD VFJMX0ZJWFBMTF9DVFJMMywKPj4+ICvCoMKgwqDCoMKgwqDCoCAubWFzayA9IDB4MSwKPj4+ICvC oMKgwqDCoMKgwqDCoCAuc2hpZnQgPSA1LAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK8KgwqDCoCAuaHcu aW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1l ID0gIm1wbGxfNTBtIiwKPj4+ICvCoMKgwqDCoMKgwqDCoCAub3BzID0gJmNsa19yZWdtYXBfbXV4 X3JvX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2RhdGEgPSAoY29uc3Qgc3RydWN0 IGNsa19wYXJlbnRfZGF0YSBbXSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeyAuZndf bmFtZSA9ICJ4dGFsIiwgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHsgLmh3ID0gJnM0 X21wbGxfNTBtX2Rpdi5odyB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDC oMKgwqAgLm51bV9wYXJlbnRzID0gMiwKPj4+ICvCoMKgwqAgfSwKPj4+ICt9Owo+Pj4gKwo+Pj4g K3N0YXRpYyBzdHJ1Y3QgY2xrX2ZpeGVkX2ZhY3RvciBzNF9tcGxsX3ByZWRpdiA9IHsKPj4+ICvC oMKgwqAgLm11bHQgPSAxLAo+Pj4gK8KgwqDCoCAuZGl2ID0gMiwKPj4+ICvCoMKgwqAgLmh3Lmlu aXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9 ICJtcGxsX3ByZWRpdiIsCj4+PiArwqDCoMKgwqDCoMKgwqAgLm9wcyA9ICZjbGtfZml4ZWRfZmFj dG9yX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3Qg Y2xrX2h3ICpbXSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnM0X2ZpeGVkX3BsbF9k Y28uaHcKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5udW1fcGFy ZW50cyA9IDEsCj4+PiArwqDCoMKgIH0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgY29uc3Qg c3RydWN0IHJlZ19zZXF1ZW5jZSBzNF9tcGxsMF9pbml0X3JlZ3NbXSA9IHsKPj4+ICvCoMKgwqAg eyAucmVnID0gQU5BQ1RSTF9NUExMX0NUUkwyLCAuZGVmID0gMHg0MDAwMDAzMyB9Cj4+PiArfTsK Pj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgczRfbXBsbDBfZGl2ID0gewo+Pj4g K8KgwqDCoCAuZGF0YSA9ICYoc3RydWN0IG1lc29uX2Nsa19tcGxsX2RhdGEpewo+Pj4gK8KgwqDC oMKgwqDCoMKgIC5zZG0gPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAucmVnX29mZiA9 IEFOQUNUUkxfTVBMTF9DVFJMMSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5zaGlmdMKg wqAgPSAwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndpZHRowqDCoCA9IDE0LAo+Pj4g K8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLnNkbV9lbiA9IHsKPj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RSTF9NUExMX0NUUkwxLAo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnNoaWZ0wqDCoCA9IDMwLAo+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgLndpZHRowqDCoMKgwqAgPSAxLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+ PiArwqDCoMKgwqDCoMKgwqAgLm4yID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJl Z19vZmYgPSBBTkFDVFJMX01QTExfQ1RSTDEsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAu c2hpZnTCoMKgID0gMjAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKgID0g OSwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5zc2VuID0gewo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJlZ19vZmYgPSBBTkFDVFJMX01QTExfQ1RSTDEs Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMjksCj4+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKgwqDCoCA9IDEsCj4+PiArwqDCoMKgwqDCoMKgwqAg fSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAubG9jayA9ICZtZXNvbl9jbGtfbG9jaywKPj4+ICvCoMKg wqDCoMKgwqDCoCAuaW5pdF9yZWdzID0gczRfbXBsbDBfaW5pdF9yZWdzLAo+Pj4gK8KgwqDCoMKg wqDCoMKgIC5pbml0X2NvdW50ID0gQVJSQVlfU0laRShzNF9tcGxsMF9pbml0X3JlZ3MpLAo+Pj4g K8KgwqDCoCB9LAo+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEp ewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gIm1wbGwwX2RpdiIsCj4+PiArwqDCoMKgwqDC oMKgwqAgLm9wcyA9ICZtZXNvbl9jbGtfbXBsbF9vcHMsCj4+PiArwqDCoMKgwqDCoMKgwqAgLnBh cmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICZzNF9tcGxsX3ByZWRpdi5odwo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiAr wqDCoMKgwqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwKPj4+ICvCoMKgwqAgfSwKPj4+ICt9Owo+ Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBzNF9tcGxsMCA9IHsKPj4+ICvCoMKg wqAgLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+PiArwqDCoMKgwqDC oMKgwqAgLm9mZnNldCA9IEFOQUNUUkxfTVBMTF9DVFJMMSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAu Yml0X2lkeCA9IDMxLAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9ICYoc3Ry dWN0IGNsa19pbml0X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gIm1wbGwwIiwK Pj4+ICvCoMKgwqDCoMKgwqDCoCAub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+PiArwqDC oMKgwqDCoMKgwqAgLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsgJnM0 X21wbGwwX2Rpdi5odyB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5udW1fcGFyZW50cyA9IDEsCj4+ PiArwqDCoMKgwqDCoMKgwqAgLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+ICvCoMKg wqAgfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnX3NlcXVlbmNl IHM0X21wbGwxX2luaXRfcmVnc1tdID0gewo+Pj4gK8KgwqDCoCB7IC5yZWcgPSBBTkFDVFJMX01Q TExfQ1RSTDQswqDCoMKgIC5kZWYgPSAweDQwMDAwMDMzIH0KPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0 YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBzNF9tcGxsMV9kaXYgPSB7Cj4+PiArwqDCoMKgIC5kYXRh ID0gJihzdHJ1Y3QgbWVzb25fY2xrX21wbGxfZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLnNk bSA9IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RSTF9NUExM X0NUUkwzLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnNoaWZ0wqDCoCA9IDAsCj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKgID0gMTQsCj4+PiArwqDCoMKgwqDCoMKg wqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAuc2RtX2VuID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgLnJlZ19vZmYgPSBBTkFDVFJMX01QTExfQ1RSTDMsCj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMzAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAu d2lkdGjCoMKgwqDCoCA9IDEsCj4+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKg wqDCoCAubjIgPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAucmVnX29mZiA9IEFOQUNU UkxfTVBMTF9DVFJMMywKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5zaGlmdMKgwqAgPSAy MCwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC53aWR0aMKgwqAgPSA5LAo+Pj4gK8KgwqDC oMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLnNzZW4gPSB7Cj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAucmVnX29mZiA9IEFOQUNUUkxfTVBMTF9DVFJMMywKPj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIC5zaGlmdMKgwqAgPSAyOSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIC53aWR0aMKgwqDCoMKgID0gMSwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDC oMKgwqDCoMKgIC5sb2NrID0gJm1lc29uX2Nsa19sb2NrLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5p bml0X3JlZ3MgPSBzNF9tcGxsMV9pbml0X3JlZ3MsCj4+PiArwqDCoMKgwqDCoMKgwqAgLmluaXRf Y291bnQgPSBBUlJBWV9TSVpFKHM0X21wbGwxX2luaXRfcmVncyksCj4+PiArwqDCoMKgIH0sCj4+ PiArwqDCoMKgIC5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+PiArwqDCoMKg wqDCoMKgwqAgLm5hbWUgPSAibXBsbDFfZGl2IiwKPj4+ICvCoMKgwqDCoMKgwqDCoCAub3BzID0g Jm1lc29uX2Nsa19tcGxsX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAucGFyZW50X2h3cyA9IChj b25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnM0 X21wbGxfcHJlZGl2Lmh3Cj4+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDC oCAubnVtX3BhcmVudHMgPSAxLAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK307Cj4+PiArCj4+PiArc3Rh dGljIHN0cnVjdCBjbGtfcmVnbWFwIHM0X21wbGwxID0gewo+Pj4gK8KgwqDCoCAuZGF0YSA9ICYo c3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAub2Zmc2V0 ID0gQU5BQ1RSTF9NUExMX0NUUkwzLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5iaXRfaWR4ID0gMzEs Cj4+PiArwqDCoMKgIH0sCj4+PiArwqDCoMKgIC5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRf ZGF0YSl7Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm5hbWUgPSAibXBsbDEiLAo+Pj4gK8KgwqDCoMKg wqDCoMKgIC5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4+ICvCoMKgwqDCoMKgwqDCoCAu cGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgeyAmczRfbXBsbDFfZGl2Lmh3 IH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwKPj4+ICvCoMKgwqDCoMKg wqDCoCAuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK307 Cj4+PiArCj4+PiArc3RhdGljIGNvbnN0IHN0cnVjdCByZWdfc2VxdWVuY2UgczRfbXBsbDJfaW5p dF9yZWdzW10gPSB7Cj4+PiArwqDCoMKgIHsgLnJlZyA9IEFOQUNUUkxfTVBMTF9DVFJMNiwgLmRl ZiA9IDB4NDAwMDAwMzMgfQo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVn bWFwIHM0X21wbGwyX2RpdiA9IHsKPj4+ICvCoMKgwqAgLmRhdGEgPSAmKHN0cnVjdCBtZXNvbl9j bGtfbXBsbF9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAuc2RtID0gewo+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqAgLnJlZ19vZmYgPSBBTkFDVFJMX01QTExfQ1RSTDUsCj4+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMCwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIC53aWR0aMKgwqAgPSAxNCwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKg wqDCoMKgIC5zZG1fZW4gPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAucmVnX29mZiA9 IEFOQUNUUkxfTVBMTF9DVFJMNSwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5zaGlmdMKg wqAgPSAzMCwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC53aWR0aMKgwqDCoMKgID0gMSwK Pj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uMiA9IHsKPj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RSTF9NUExMX0NUUkw1LAo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnNoaWZ0wqDCoCA9IDIwLAo+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgLndpZHRowqDCoCA9IDksCj4+PiArwqDCoMKgwqDCoMKgwqAgfSwKPj4+ICvC oMKgwqDCoMKgwqDCoCAuc3NlbiA9IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdf b2ZmID0gQU5BQ1RSTF9NUExMX0NUUkw1LAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnNo aWZ0wqDCoCA9IDI5LAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndpZHRowqDCoMKgwqAg PSAxLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLmxvY2sgPSAm bWVzb25fY2xrX2xvY2ssCj4+PiArwqDCoMKgwqDCoMKgwqAgLmluaXRfcmVncyA9IHM0X21wbGwy X2luaXRfcmVncywKPj4+ICvCoMKgwqDCoMKgwqDCoCAuaW5pdF9jb3VudCA9IEFSUkFZX1NJWkUo czRfbXBsbDJfaW5pdF9yZWdzKSwKPj4+ICvCoMKgwqAgfSwKPj4+ICvCoMKgwqAgLmh3LmluaXQg PSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9ICJt cGxsMl9kaXYiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vcHMgPSAmbWVzb25fY2xrX21wbGxfb3Bz LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcg KltdKSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmczRfbXBsbF9wcmVkaXYuaHcKPj4+ ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5udW1fcGFyZW50cyA9IDEs Cj4+PiArwqDCoMKgIH0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdt YXAgczRfbXBsbDIgPSB7Cj4+PiArwqDCoMKgIC5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9n YXRlX2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5vZmZzZXQgPSBBTkFDVFJMX01QTExfQ1RS TDUsCj4+PiArwqDCoMKgwqDCoMKgwqAgLmJpdF9pZHggPSAzMSwKPj4+ICvCoMKgwqAgfSwKPj4+ ICvCoMKgwqAgLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4+ICvCoMKgwqDC oMKgwqDCoCAubmFtZSA9ICJtcGxsMiIsCj4+PiArwqDCoMKgwqDCoMKgwqAgLm9wcyA9ICZjbGtf cmVnbWFwX2dhdGVfb3BzLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5wYXJlbnRfaHdzID0gKGNvbnN0 IHN0cnVjdCBjbGtfaHcgKltdKSB7ICZzNF9tcGxsMl9kaXYuaHcgfSwKPj4+ICvCoMKgwqDCoMKg wqDCoCAubnVtX3BhcmVudHMgPSAxLAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5mbGFncyA9IENMS19T RVRfUkFURV9QQVJFTlQsCj4+PiArwqDCoMKgIH0sCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IHJlZ19zZXF1ZW5jZSBzNF9tcGxsM19pbml0X3JlZ3NbXSA9IHsKPj4+ICvC oMKgwqAgeyAucmVnID0gQU5BQ1RSTF9NUExMX0NUUkw4LCAuZGVmID0gMHg0MDAwMDAzMyB9Cj4+ PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgczRfbXBsbDNfZGl2ID0g ewo+Pj4gK8KgwqDCoCAuZGF0YSA9ICYoc3RydWN0IG1lc29uX2Nsa19tcGxsX2RhdGEpewo+Pj4g K8KgwqDCoMKgwqDCoMKgIC5zZG0gPSB7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAucmVn X29mZiA9IEFOQUNUUkxfTVBMTF9DVFJMNywKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5z aGlmdMKgwqAgPSAwLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLndpZHRowqDCoCA9IDE0 LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLnNkbV9lbiA9IHsK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5yZWdfb2ZmID0gQU5BQ1RSTF9NUExMX0NUUkw3 LAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnNoaWZ0wqDCoCA9IDMwLAo+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgLndpZHRowqDCoMKgwqAgPSAxLAo+Pj4gK8KgwqDCoMKgwqDCoMKg IH0sCj4+PiArwqDCoMKgwqDCoMKgwqAgLm4yID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgLnJlZ19vZmYgPSBBTkFDVFJMX01QTExfQ1RSTDcsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAuc2hpZnTCoMKgID0gMjAsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjC oMKgID0gOSwKPj4+ICvCoMKgwqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5zc2Vu ID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnJlZ19vZmYgPSBBTkFDVFJMX01QTExf Q1RSTDcsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuc2hpZnTCoMKgID0gMjksCj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAud2lkdGjCoMKgwqDCoCA9IDEsCj4+PiArwqDCoMKgwqDC oMKgwqAgfSwKPj4+ICvCoMKgwqDCoMKgwqDCoCAubG9jayA9ICZtZXNvbl9jbGtfbG9jaywKPj4+ ICvCoMKgwqDCoMKgwqDCoCAuaW5pdF9yZWdzID0gczRfbXBsbDNfaW5pdF9yZWdzLAo+Pj4gK8Kg wqDCoMKgwqDCoMKgIC5pbml0X2NvdW50ID0gQVJSQVlfU0laRShzNF9tcGxsM19pbml0X3JlZ3Mp LAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0 X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gIm1wbGwzX2RpdiIsCj4+PiArwqDC oMKgwqDCoMKgwqAgLm9wcyA9ICZtZXNvbl9jbGtfbXBsbF9vcHMsCj4+PiArwqDCoMKgwqDCoMKg wqAgLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgICZzNF9tcGxsX3ByZWRpdi5odwo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0s Cj4+PiArwqDCoMKgwqDCoMKgwqAgLm51bV9wYXJlbnRzID0gMSwKPj4+ICvCoMKgwqAgfSwKPj4+ ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBzNF9tcGxsMyA9IHsKPj4+ ICvCoMKgwqAgLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+PiArwqDC oMKgwqDCoMKgwqAgLm9mZnNldCA9IEFOQUNUUkxfTVBMTF9DVFJMNywKPj4+ICvCoMKgwqDCoMKg wqDCoCAuYml0X2lkeCA9IDMxLAo+Pj4gK8KgwqDCoCB9LAo+Pj4gK8KgwqDCoCAuaHcuaW5pdCA9 ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5uYW1lID0gIm1w bGwzIiwKPj4+ICvCoMKgwqDCoMKgwqDCoCAub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ PiArwqDCoMKgwqDCoMKgwqAgLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10p IHsgJnM0X21wbGwzX2Rpdi5odyB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5udW1fcGFyZW50cyA9 IDEsCj4+PiArwqDCoMKgwqDCoMKgwqAgLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4+ ICvCoMKgwqAgfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gKy8qIEFycmF5IG9mIGFsbCBjbG9ja3MgcHJv dmlkZWQgYnkgdGhpcyBwcm92aWRlciAqLwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX2h3X29uZWNl bGxfZGF0YSBzNF9wbGxfaHdfb25lY2VsbF9kYXRhID0gewo+Pj4gK8KgwqDCoCAuaHdzID0gewo+ Pj4gK8KgwqDCoMKgwqDCoMKgIFtDTEtJRF9GSVhFRF9QTExfRENPXcKgwqDCoMKgwqDCoMKgID0g JnM0X2ZpeGVkX3BsbF9kY28uaHcsCj4+PiArwqDCoMKgwqDCoMKgwqAgW0NMS0lEX0ZJWEVEX1BM TF3CoMKgwqDCoMKgwqDCoCA9ICZzNF9maXhlZF9wbGwuaHcsCj4+PiArwqDCoMKgwqDCoMKgwqAg W0NMS0lEX0ZDTEtfRElWMl9ESVZdwqDCoMKgwqDCoMKgwqAgPSAmczRfZmNsa19kaXYyX2Rpdi5o dywKPj4+ICvCoMKgwqDCoMKgwqDCoCBbQ0xLSURfRkNMS19ESVYyXcKgwqDCoMKgwqDCoMKgID0g JnM0X2ZjbGtfZGl2Mi5odywKPj4+ICvCoMKgwqDCoMKgwqDCoCBbQ0xLSURfRkNMS19ESVYzX0RJ Vl3CoMKgwqDCoMKgwqDCoCA9ICZzNF9mY2xrX2RpdjNfZGl2Lmh3LAo+Pj4gK8KgwqDCoMKgwqDC oMKgIFtDTEtJRF9GQ0xLX0RJVjNdwqDCoMKgwqDCoMKgwqAgPSAmczRfZmNsa19kaXYzLmh3LAo+ Pj4gK8KgwqDCoMKgwqDCoMKgIFtDTEtJRF9GQ0xLX0RJVjRfRElWXcKgwqDCoMKgwqDCoMKgID0g JnM0X2ZjbGtfZGl2NF9kaXYuaHcsCj4+PiArwqDCoMKgwqDCoMKgwqAgW0NMS0lEX0ZDTEtfRElW NF3CoMKgwqDCoMKgwqDCoCA9ICZzNF9mY2xrX2RpdjQuaHcsCj4+PiArwqDCoMKgwqDCoMKgwqAg W0NMS0lEX0ZDTEtfRElWNV9ESVZdwqDCoMKgwqDCoMKgwqAgPSAmczRfZmNsa19kaXY1X2Rpdi5o dywKPj4+ICvCoMKgwqDCoMKgwqDCoCBbQ0xLSURfRkNMS19ESVY1XcKgwqDCoMKgwqDCoMKgID0g JnM0X2ZjbGtfZGl2NS5odywKPj4+ICvCoMKgwqDCoMKgwqDCoCBbQ0xLSURfRkNMS19ESVY3X0RJ Vl3CoMKgwqDCoMKgwqDCoCA9ICZzNF9mY2xrX2RpdjdfZGl2Lmh3LAo+Pj4gK8KgwqDCoMKgwqDC oMKgIFtDTEtJRF9GQ0xLX0RJVjddwqDCoMKgwqDCoMKgwqAgPSAmczRfZmNsa19kaXY3Lmh3LAo+ Pj4gK8KgwqDCoMKgwqDCoMKgIFtDTEtJRF9GQ0xLX0RJVjJQNV9ESVZdwqDCoMKgwqDCoMKgwqAg PSAmczRfZmNsa19kaXYycDVfZGl2Lmh3LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIFtDTEtJRF9GQ0xL X0RJVjJQNV3CoMKgwqDCoMKgwqDCoCA9ICZzNF9mY2xrX2RpdjJwNS5odywKPj4+ICvCoMKgwqDC oMKgwqDCoCBbQ0xLSURfR1AwX1BMTF9EQ09dwqDCoMKgwqDCoMKgwqAgPSAmczRfZ3AwX3BsbF9k Y28uaHcsCj4+PiArwqDCoMKgwqDCoMKgwqAgW0NMS0lEX0dQMF9QTExdwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCA9ICZzNF9ncDBfcGxsLmh3LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIFtDTEtJRF9ISUZJ X1BMTF9EQ09dwqDCoMKgwqDCoMKgwqAgPSAmczRfaGlmaV9wbGxfZGNvLmh3LAo+Pj4gK8KgwqDC oMKgwqDCoMKgIFtDTEtJRF9ISUZJX1BMTF3CoMKgwqDCoMKgwqDCoCA9ICZzNF9oaWZpX3BsbC5o dywKPj4+ICvCoMKgwqDCoMKgwqDCoCBbQ0xLSURfSERNSV9QTExfRENPXcKgwqDCoMKgwqDCoMKg ID0gJnM0X2hkbWlfcGxsX2Rjby5odywKPj4+ICvCoMKgwqDCoMKgwqDCoCBbQ0xLSURfSERNSV9Q TExfT0RdwqDCoMKgwqDCoMKgwqAgPSAmczRfaGRtaV9wbGxfb2QuaHcsCj4+PiArwqDCoMKgwqDC oMKgwqAgW0NMS0lEX0hETUlfUExMXcKgwqDCoMKgwqDCoMKgID0gJnM0X2hkbWlfcGxsLmh3LAo+ Pj4gK8KgwqDCoMKgwqDCoMKgIFtDTEtJRF9NUExMXzUwTV9ESVZdwqDCoMKgwqDCoMKgwqAgPSAm czRfbXBsbF81MG1fZGl2Lmh3LAo+Pj4gK8KgwqDCoMKgwqDCoMKgIFtDTEtJRF9NUExMXzUwTV3C oMKgwqDCoMKgwqDCoCA9ICZzNF9tcGxsXzUwbS5odywKPj4+ICvCoMKgwqDCoMKgwqDCoCBbQ0xL SURfTVBMTF9QUkVESVZdwqDCoMKgwqDCoMKgwqAgPSAmczRfbXBsbF9wcmVkaXYuaHcsCj4+PiAr wqDCoMKgwqDCoMKgwqAgW0NMS0lEX01QTEwwX0RJVl3CoMKgwqDCoMKgwqDCoCA9ICZzNF9tcGxs MF9kaXYuaHcsCj4+PiArwqDCoMKgwqDCoMKgwqAgW0NMS0lEX01QTEwwXcKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgPSAmczRfbXBsbDAuaHcsCj4+PiArwqDCoMKgwqDCoMKgwqAgW0NMS0lEX01QTEwx X0RJVl3CoMKgwqDCoMKgwqDCoCA9ICZzNF9tcGxsMV9kaXYuaHcsCj4+PiArwqDCoMKgwqDCoMKg wqAgW0NMS0lEX01QTEwxXcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPSAmczRfbXBsbDEuaHcsCj4+ PiArwqDCoMKgwqDCoMKgwqAgW0NMS0lEX01QTEwyX0RJVl3CoMKgwqDCoMKgwqDCoCA9ICZzNF9t cGxsMl9kaXYuaHcsCj4+PiArwqDCoMKgwqDCoMKgwqAgW0NMS0lEX01QTEwyXcKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgPSAmczRfbXBsbDIuaHcsCj4+PiArwqDCoMKgwqDCoMKgwqAgW0NMS0lEX01Q TEwzX0RJVl3CoMKgwqDCoMKgwqDCoCA9ICZzNF9tcGxsM19kaXYuaHcsCj4+PiArwqDCoMKgwqDC oMKgwqAgW0NMS0lEX01QTEwzXcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPSAmczRfbXBsbDMuaHcs Cj4+PiArCj4+PiArwqDCoMKgwqDCoMKgwqAgW05SX1BMTF9DTEtTXcKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgPSBOVUxMCj4+PiArwqDCoMKgIH0sCj4+PiArwqDCoMKgIC5udW0gPSBOUl9QTExfQ0xL UywKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCAqY29uc3QgczRf cGxsX2Nsa19yZWdtYXBzW10gPSB7Cj4+PiArwqDCoMKgICZzNF9maXhlZF9wbGxfZGNvLAo+Pj4g K8KgwqDCoCAmczRfZml4ZWRfcGxsLAo+Pj4gK8KgwqDCoCAmczRfZmNsa19kaXYyLAo+Pj4gK8Kg wqDCoCAmczRfZmNsa19kaXYzLAo+Pj4gK8KgwqDCoCAmczRfZmNsa19kaXY0LAo+Pj4gK8KgwqDC oCAmczRfZmNsa19kaXY1LAo+Pj4gK8KgwqDCoCAmczRfZmNsa19kaXY3LAo+Pj4gK8KgwqDCoCAm czRfZmNsa19kaXYycDUsCj4+PiArwqDCoMKgICZzNF9ncDBfcGxsX2RjbywKPj4+ICvCoMKgwqAg JnM0X2dwMF9wbGwsCj4+PiArwqDCoMKgICZzNF9oaWZpX3BsbF9kY28sCj4+PiArwqDCoMKgICZz NF9oaWZpX3BsbCwKPj4+ICvCoMKgwqAgJnM0X2hkbWlfcGxsX2RjbywKPj4+ICvCoMKgwqAgJnM0 X2hkbWlfcGxsX29kLAo+Pj4gK8KgwqDCoCAmczRfaGRtaV9wbGwsCj4+PiArwqDCoMKgICZzNF9t cGxsXzUwbSwKPj4+ICvCoMKgwqAgJnM0X21wbGwwX2RpdiwKPj4+ICvCoMKgwqAgJnM0X21wbGww LAo+Pj4gK8KgwqDCoCAmczRfbXBsbDFfZGl2LAo+Pj4gK8KgwqDCoCAmczRfbXBsbDEsCj4+PiAr wqDCoMKgICZzNF9tcGxsMl9kaXYsCj4+PiArwqDCoMKgICZzNF9tcGxsMiwKPj4+ICvCoMKgwqAg JnM0X21wbGwzX2RpdiwKPj4+ICvCoMKgwqAgJnM0X21wbGwzLAo+Pj4gK307Cj4+PiArCj4+PiAr c3RhdGljIGNvbnN0IHN0cnVjdCByZWdfc2VxdWVuY2UgczRfaW5pdF9yZWdzW10gPSB7Cj4+PiAr wqDCoMKgIHsgLnJlZyA9IEFOQUNUUkxfTVBMTF9DVFJMMCzCoMKgwqAgLmRlZiA9IDB4MDAwMDA1 NDMgfSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBjbGtj X3JlZ21hcF9jb25maWcgPSB7Cj4+PiArwqDCoMKgIC5yZWdfYml0c8KgwqDCoMKgwqDCoCA9IDMy LAo+Pj4gK8KgwqDCoCAudmFsX2JpdHPCoMKgwqDCoMKgwqAgPSAzMiwKPj4+ICvCoMKgwqAgLnJl Z19zdHJpZGXCoMKgwqDCoCA9IDQsCj4+PiArfTsKPj4+ICsKPj4+ICtzdGF0aWMgaW50IG1lc29u X3M0X3BsbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+Pj4gK3sKPj4+ICvC oMKgwqAgc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKPj4+ICvCoMKgwqAgc3RydWN0 IHJlZ21hcCAqcmVnbWFwOwo+Pj4gK8KgwqDCoCB2b2lkIF9faW9tZW0gKmJhc2U7Cj4+PiArwqDC oMKgIGludCByZXQsIGk7Cj4+PiArCj4+PiArwqDCoMKgIGJhc2UgPSBkZXZtX3BsYXRmb3JtX2lv cmVtYXBfcmVzb3VyY2UocGRldiwgMCk7Cj4+PiArwqDCoMKgIGlmIChJU19FUlIoYmFzZSkpCj4+ PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIFBUUl9FUlIoYmFzZSk7Cj4+PiArCj4+PiArwqDCoMKg IHJlZ21hcCA9IGRldm1fcmVnbWFwX2luaXRfbW1pbyhkZXYsIGJhc2UsICZjbGtjX3JlZ21hcF9j b25maWcpOwo+Pj4gK8KgwqDCoCBpZiAoSVNfRVJSKHJlZ21hcCkpCj4+PiArwqDCoMKgwqDCoMKg wqAgcmV0dXJuIFBUUl9FUlIocmVnbWFwKTsKPj4+ICsKPj4+ICvCoMKgwqAgcmV0ID0gcmVnbWFw X211bHRpX3JlZ193cml0ZShyZWdtYXAsIHM0X2luaXRfcmVncywgCj4+PiBBUlJBWV9TSVpFKHM0 X2luaXRfcmVncykpOwo+Pj4gK8KgwqDCoCBpZiAocmV0KSB7Cj4+PiArwqDCoMKgwqDCoMKgwqAg ZGV2X2VycihkZXYsICJGYWlsZWQgdG8gaW5pdCByZWdpc3RlcnNcbiIpOwo+Pj4gK8KgwqDCoMKg wqDCoMKgIHJldHVybiByZXQ7Cj4+PiArwqDCoMKgIH0KPj4+ICsKPj4+ICvCoMKgwqAgLyogUG9w dWxhdGUgcmVnbWFwIGZvciB0aGUgcmVnbWFwIGJhY2tlZCBjbG9ja3MgKi8KPj4+ICvCoMKgwqAg Zm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoczRfcGxsX2Nsa19yZWdtYXBzKTsgaSsrKQo+Pj4g K8KgwqDCoMKgwqDCoMKgIHM0X3BsbF9jbGtfcmVnbWFwc1tpXS0+bWFwID0gcmVnbWFwOwo+Pj4g Kwo+Pj4gK8KgwqDCoCBmb3IgKGkgPSAwOyBpIDwgczRfcGxsX2h3X29uZWNlbGxfZGF0YS5udW07 IGkrKykgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIC8qIGFycmF5IG1pZ2h0IGJlIHNwYXJzZSAqLwo+ Pj4gK8KgwqDCoMKgwqDCoMKgIGlmICghczRfcGxsX2h3X29uZWNlbGxfZGF0YS5od3NbaV0pCj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsKPj4+ICsKPj4+ICvCoMKgwqDCoMKg wqDCoCByZXQgPSBkZXZtX2Nsa19od19yZWdpc3RlcihkZXYsIHM0X3BsbF9od19vbmVjZWxsX2Rh dGEuaHdzW2ldKTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAocmV0KSB7Cj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBkZXZfZXJyKGRldiwgIkNsb2NrIHJlZ2lzdHJhdGlvbiBmYWlsZWRcbiIp Owo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPj4+ICvCoMKgwqDCoMKg wqDCoCB9Cj4+PiArwqDCoMKgIH0KPj4+ICsKPj4+ICvCoMKgwqAgcmV0dXJuIGRldm1fb2ZfY2xr X2FkZF9od19wcm92aWRlcihkZXYsIG9mX2Nsa19od19vbmVjZWxsX2dldCwKPj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmczRfcGxsX2h3X29uZWNlbGxf ZGF0YSk7Cj4+PiArfQo+Pj4gKwo+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lk IGNsa2NfbWF0Y2hfdGFibGVbXSA9IHsKPj4+ICvCoMKgwqAgewo+Pj4gK8KgwqDCoMKgwqDCoMKg IC5jb21wYXRpYmxlID0gImFtbG9naWMsczQtcGxsLWNsa2MiLAo+Pj4gK8KgwqDCoCB9LAo+Pj4g K8KgwqDCoCB7fQo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2 ZXIgczRfZHJpdmVyID0gewo+Pj4gK8KgwqDCoCAucHJvYmXCoMKgwqDCoMKgwqDCoCA9IG1lc29u X3M0X3BsbF9wcm9iZSwKPj4+ICvCoMKgwqAgLmRyaXZlcsKgwqDCoMKgwqDCoMKgID0gewo+Pj4g K8KgwqDCoMKgwqDCoMKgIC5uYW1lwqDCoMKgID0gInM0LXBsbC1jbGtjIiwKPj4+ICvCoMKgwqDC oMKgwqDCoCAub2ZfbWF0Y2hfdGFibGUgPSBjbGtjX21hdGNoX3RhYmxlLAo+Pj4gK8KgwqDCoCB9 LAo+Pj4gK307Cj4+PiArCj4+PiArbW9kdWxlX3BsYXRmb3JtX2RyaXZlcihzNF9kcml2ZXIpOwo+ Pj4gK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9t ZXNvbi9zNC1wbGwuaCBiL2RyaXZlcnMvY2xrL21lc29uL3M0LXBsbC5oCj4+PiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi40MWRjNmRlOTc4YzEKPj4+IC0tLSAv ZGV2L251bGwKPj4+ICsrKyBiL2RyaXZlcnMvY2xrL21lc29uL3M0LXBsbC5oCj4+PiBAQCAtMCww ICsxLDg4IEBACj4+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wKyBPUiBN SVQpICovCj4+PiArLyoKPj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjEgQW1sb2dpYywgaW5jLgo+ Pj4gKyAqIEF1dGhvcjogWXUgVHUgPHl1LnR1QGFtbG9naWMuY29tPgo+Pj4gKyAqLwo+Pj4gKwo+ Pj4gKyNpZm5kZWYgX19NRVNPTl9TNF9QTExfSF9fCj4+PiArI2RlZmluZSBfX01FU09OX1M0X1BM TF9IX18KPj4+ICsKPj4+ICsvKiBBTkFfQ1RSTCAtIFJlZ2lzdGVycwo+Pj4gKyAqIFJFR19CQVNF OsKgIFJFR0lTVEVSX0JBU0VfQUREUiA9IDB4ZmUwMDgwMDAKPj4+ICsgKi8KPj4+ICsjZGVmaW5l IEFOQUNUUkxfRklYUExMX0NUUkwwwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKDB4MDAxMCA8PCAyKQo+Pgo+PiBJIGFscmVhZHkgY29tbWVudGVkIG9uIHRoZSAi PDwgMiIgLiBSZW1vdmUgdGhlbSBwbGVhc2UuCj4gU29ycnksIG1heWJlIEkgZGlkbid0IHBheSBh dHRlbnRpb24gdG8gdGhpcyBjb21tZW50IGVhcmxpZXIuIEEgbGl0dGxlIAo+IGJpdCBvZiBhIHF1 ZXN0aW9uIHdoeSBpcyB0aGlzIG5vdCBva2F5PyBJIHVuZGVyc3RhbmQgaXNuJ3QgaXQgYmV0dGVy IGZvciAKPiB0aGUgY29tcGlsZXIgdG8gaGVscCB3aXRoIHRoaXMgY2FsY3VsYXRpb24gaXRzZWxm Pwo+Pgo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9GSVhQTExfQ1RSTDHCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMHgwMDExIDw8IDIpCj4+PiArI2RlZmluZSBBTkFD VFJMX0ZJWFBMTF9DVFJMMsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICgweDAwMTIgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfRklYUExMX0NUUkwzwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDAxMyA8PCAyKQo+Pj4g KyNkZWZpbmUgQU5BQ1RSTF9GSVhQTExfQ1RSTDTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAoMHgwMDE0IDw8IDIpCj4+PiArI2RlZmluZSBBTkFDVFJMX0ZJWFBM TF9DVFJMNcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgweDAw MTUgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfRklYUExMX0NUUkw2wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDAxNiA8PCAyKQo+Pj4gKyNkZWZpbmUg QU5BQ1RSTF9GSVhQTExfU1RTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICgweDAwMTcgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfR1AwUExMX0NUUkww wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDAyMCA8PCAy KQo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9HUDBQTExfQ1RSTDHCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMHgwMDIxIDw8IDIpCj4+PiArI2RlZmluZSBBTkFDVFJM X0dQMFBMTF9DVFJMMsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ICgweDAwMjIgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfR1AwUExMX0NUUkwzwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDAyMyA8PCAyKQo+Pj4gKyNk ZWZpbmUgQU5BQ1RSTF9HUDBQTExfQ1RSTDTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAoMHgwMDI0IDw8IDIpCj4+PiArI2RlZmluZSBBTkFDVFJMX0dQMFBMTF9D VFJMNcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgweDAwMjUg PDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfR1AwUExMX0NUUkw2wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDAyNiA8PCAyKQo+Pj4gKyNkZWZpbmUgQU5B Q1RSTF9HUDBQTExfU1RTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICgweDAwMjcgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9DVFJMMMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMHgwMDQwIDw8IDIpCj4+ PiArI2RlZmluZSBBTkFDVFJMX0hJRklQTExfQ1RSTDHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKDB4MDA0MSA8PCAyKQo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9ISUZJ UExMX0NUUkwywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgweDAw NDIgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9DVFJMM8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMHgwMDQzIDw8IDIpCj4+PiArI2RlZmluZSBB TkFDVFJMX0hJRklQTExfQ1RSTDTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKDB4MDA0NCA8PCAyKQo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9ISUZJUExMX0NUUkw1wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgweDAwNDUgPDwgMikKPj4+ ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9DVFJMNsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAoMHgwMDQ2IDw8IDIpCj4+PiArI2RlZmluZSBBTkFDVFJMX0hJRklQ TExfU1RTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMHgw MDQ3IDw8IDIpCj4+PiArI2RlZmluZSBBTkFDVFJMX01QTExfQ1RSTDDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDA2MCA8PCAyKQo+Pj4gKyNkZWZp bmUgQU5BQ1RSTF9NUExMX0NUUkwxwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICgweDAwNjEgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfTVBMTF9DVFJM MsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMHgwMDYy IDw8IDIpCj4+PiArI2RlZmluZSBBTkFDVFJMX01QTExfQ1RSTDPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDA2MyA8PCAyKQo+Pj4gKyNkZWZpbmUg QU5BQ1RSTF9NUExMX0NUUkw0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICgweDAwNjQgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfTVBMTF9DVFJMNcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMHgwMDY1IDw8 IDIpCj4+PiArI2RlZmluZSBBTkFDVFJMX01QTExfQ1RSTDbCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDA2NiA8PCAyKQo+Pj4gKyNkZWZpbmUgQU5B Q1RSTF9NUExMX0NUUkw3wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICgweDAwNjcgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNUUkxfTVBMTF9DVFJMOMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMHgwMDY4IDw8IDIp Cj4+PiArI2RlZmluZSBBTkFDVFJMX01QTExfU1RTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMHgwMDY5IDw8IDIpCj4+PiArI2RlZmluZSBBTkFD VFJMX0hETUlQTExfQ1RSTDDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKDB4MDA3MCA8PCAyKQo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9IRE1JUExMX0NUUkwxwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgweDAwNzEgPDwgMikKPj4+ICsj ZGVmaW5lIEFOQUNUUkxfSERNSVBMTF9DVFJMMsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAoMHgwMDcyIDw8IDIpCj4+PiArI2RlZmluZSBBTkFDVFJMX0hETUlQTExf Q1RSTDPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDA3MyA8 PCAyKQo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9IRE1JUExMX0NUUkw0wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgweDAwNzQgPDwgMikKPj4+ICsjZGVmaW5lIEFOQUNU UkxfSERNSVBMTF9DVFJMNcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAoMHgwMDc1IDw8IDIpCj4+PiArI2RlZmluZSBBTkFDVFJMX0hETUlQTExfQ1RSTDbCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDB4MDA3NiA8PCAyKQo+Pj4gKyNk ZWZpbmUgQU5BQ1RSTF9IRE1JUExMX1NUU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgKDB4MDA3NyA8PCAyKQo+Pj4gKyNkZWZpbmUgQU5BQ1RSTF9IRE1JUExM X1ZMT0NLwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgweDAwNzkg PDwgMikKPj4+ICsKPj4+ICsvKgo+Pj4gKyAqIENMS0lEIGluZGV4IHZhbHVlcwo+Pj4gKyAqCj4+ PiArICogVGhlc2UgaW5kaWNlcyBhcmUgZW50aXJlbHkgY29udHJpdmVkIGFuZCBkbyBub3QgbWFw IG9udG8gdGhlIAo+Pj4gaGFyZHdhcmUuCj4+PiArICogSXQgaGFzIG5vdyBiZWVuIGRlY2lkZWQg dG8gZXhwb3NlIGV2ZXJ5dGhpbmcgYnkgZGVmYXVsdCBpbiB0aGUgRFQgCj4+PiBoZWFkZXI6Cj4+ PiArICogaW5jbHVkZS9kdC1iaW5kaW5ncy9jbG9jay9heGctY2xrYy5oLiBPbmx5IHRoZSBjbG9j a3MgaWRzIHdlIAo+Pj4gZG9uJ3Qgd2FudAo+Pj4gKyAqIHRvIGV4cG9zZSwgc3VjaCBhcyB0aGUg aW50ZXJuYWwgbXV4ZXMgYW5kIGRpdmlkZXJzIG9mIGNvbXBvc2l0ZSAKPj4+IGNsb2NrcywKPj4+ ICsgKiB3aWxsIHJlbWFpbiBkZWZpbmVkIGhlcmUuCj4+PiArICovCj4+PiArI2RlZmluZSBDTEtJ RF9GSVhFRF9QTExfRENPwqDCoMKgwqDCoMKgwqAgMAo+Pj4gKyNkZWZpbmUgQ0xLSURfRkNMS19E SVYyX0RJVsKgwqDCoMKgwqDCoMKgIDIKPj4+ICsjZGVmaW5lIENMS0lEX0ZDTEtfRElWM19ESVbC oMKgwqDCoMKgwqDCoCA0Cj4+PiArI2RlZmluZSBDTEtJRF9GQ0xLX0RJVjRfRElWwqDCoMKgwqDC oMKgwqAgNgo+Pj4gKyNkZWZpbmUgQ0xLSURfRkNMS19ESVY1X0RJVsKgwqDCoMKgwqDCoMKgIDgK Pj4+ICsjZGVmaW5lIENMS0lEX0ZDTEtfRElWN19ESVbCoMKgwqDCoMKgwqDCoCAxMAo+Pj4gKyNk ZWZpbmUgQ0xLSURfRkNMS19ESVYyUDVfRElWwqDCoMKgwqDCoMKgwqAgMTIKPj4+ICsjZGVmaW5l IENMS0lEX0dQMF9QTExfRENPwqDCoMKgwqDCoMKgwqAgMTQKPj4+ICsjZGVmaW5lIENMS0lEX0hJ RklfUExMX0RDT8KgwqDCoMKgwqDCoMKgIDE2Cj4+PiArI2RlZmluZSBDTEtJRF9IRE1JX1BMTF9E Q0/CoMKgwqDCoMKgwqDCoCAxOAo+Pj4gKyNkZWZpbmUgQ0xLSURfSERNSV9QTExfT0TCoMKgwqDC oMKgwqDCoCAxOQo+Pj4gKyNkZWZpbmUgQ0xLSURfTVBMTF81ME1fRElWwqDCoMKgwqDCoMKgwqAg MjEKPj4+ICsjZGVmaW5lIENMS0lEX01QTExfUFJFRElWwqDCoMKgwqDCoMKgwqAgMjMKPj4+ICsj ZGVmaW5lIENMS0lEX01QTEwwX0RJVsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjQKPj4+ICsjZGVm aW5lIENMS0lEX01QTEwxX0RJVsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjYKPj4+ICsjZGVmaW5l IENMS0lEX01QTEwyX0RJVsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjgKPj4+ICsjZGVmaW5lIENM S0lEX01QTEwzX0RJVsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMzAKPj4+ICsKPj4+ICsjZGVmaW5l IE5SX1BMTF9DTEtTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAzMgo+Pj4gKy8qIGluY2x1ZGUgdGhl IENMS0lEcyB0aGF0IGhhdmUgYmVlbiBtYWRlIHBhcnQgb2YgdGhlIERUIGJpbmRpbmcgKi8KPj4+ ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svYW1sb2dpYyxzNC1wbGwtY2xrYy5oPgo+Pj4g Kwo+Pj4gKyNlbmRpZiAvKiBfX01FU09OX1M0X1BMTF9IX18gKi8KPj4KPj4gLgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYW1sb2dpYyBtYWls aW5nIGxpc3QKbGludXgtYW1sb2dpY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYW1sb2dpYwo=