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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9F370CA9EC7 for ; Sun, 3 Nov 2019 01:37:43 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 71AC820663 for ; Sun, 3 Nov 2019 01:37:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="auqX0cux" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 71AC820663 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=eOXl5yU3TOyV36Pt/Zp+qDgM6TQt5vq5eAymybuda7A=; b=auqX0cuxcCoawC 8SgQyQ6/qF8BCUHzbZSReIPRZgW8up2+2FRLP0tcRsWrANoa+Gqb36B7ivXFWazaGkFBD3+9QvsOK vvO9Jq+giBdFto9Sh+CpSFqE38nhqKkzak1oP85EMlHEazRHe/JnYdqKYKbgHZ48Q0RU2Qv+ZKw3d Q9CbFsZL+ihKQJXpyWUmxlEWWqE7necHyDEW8LBEb/1MZo78LZdEH3xB0FNMes+qhJ/9o0O3cI7Xq 8EeAhS9vdTIKoPOoRrapc6aGsL/bpU4Si14mIQkPmhS0FpU2WroJIbCI77o3CB3LdTQzZb+8vRW2I oPZ4Q571G8LfY0DU0kew==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iR4pq-0005ef-Nn; Sun, 03 Nov 2019 01:37:42 +0000 Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iR4p7-0004nU-Ol; Sun, 03 Nov 2019 01:37:01 +0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 7D1C0AF55; Sun, 3 Nov 2019 01:36:53 +0000 (UTC) From: =?UTF-8?q?Andreas=20F=C3=A4rber?= To: linux-realtek-soc@lists.infradead.org Subject: [RFC 02/11] soc: Add Realtek chip info driver for RTD1195 and RTD1295 Date: Sun, 3 Nov 2019 02:36:36 +0100 Message-Id: <20191103013645.9856-3-afaerber@suse.de> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20191103013645.9856-1-afaerber@suse.de> References: <20191103013645.9856-1-afaerber@suse.de> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191102_183658_118212_1D7CE101 X-CRM114-Status: GOOD ( 14.85 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, =?UTF-8?q?Andreas=20F=C3=A4rber?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWRkIGEgc29jIGJ1cyBkcml2ZXIgdG8gcHJpbnQgY2hpcCBtb2RlbCBhbmQgcmV2aXNpb24gZGV0 YWlscy4KClJldmlzaW9ucyBmcm9tIGRvd25zdHJlYW0gZHJpdmVycy9zb2MvcmVhbHRlay9ydGR7 MTE5eCwxMjl4fS9ydGtfY2hpcC5jLgoKU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBGw6RyYmVyIDxh ZmFlcmJlckBzdXNlLmRlPgotLS0KIE5hbWluZzogV2hhdCB0byBjYWxsIHRoZSBmYW1pbHkgdnMu IHNvY19pZD8KIAogZHJpdmVycy9zb2MvS2NvbmZpZyAgICAgICAgICB8ICAgMSArCiBkcml2ZXJz L3NvYy9NYWtlZmlsZSAgICAgICAgIHwgICAxICsKIGRyaXZlcnMvc29jL3JlYWx0ZWsvS2NvbmZp ZyAgfCAgMTMgKysrKwogZHJpdmVycy9zb2MvcmVhbHRlay9NYWtlZmlsZSB8ICAgMiArCiBkcml2 ZXJzL3NvYy9yZWFsdGVrL2NoaXAuYyAgIHwgMTY0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTgxIGluc2VydGlvbnMoKykKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3NvYy9yZWFsdGVrL0tjb25maWcKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL3NvYy9yZWFsdGVrL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9zb2MvcmVhbHRlay9jaGlwLmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9LY29u ZmlnIGIvZHJpdmVycy9zb2MvS2NvbmZpZwppbmRleCA4MzNlMDRhNzgzNWMuLjA2YWU5ZDk3MzIx YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zb2MvS2NvbmZpZworKysgYi9kcml2ZXJzL3NvYy9LY29u ZmlnCkBAIC0xMSw2ICsxMSw3IEBAIHNvdXJjZSAiZHJpdmVycy9zb2MvaW14L0tjb25maWciCiBz b3VyY2UgImRyaXZlcnMvc29jL2l4cDR4eC9LY29uZmlnIgogc291cmNlICJkcml2ZXJzL3NvYy9t ZWRpYXRlay9LY29uZmlnIgogc291cmNlICJkcml2ZXJzL3NvYy9xY29tL0tjb25maWciCitzb3Vy Y2UgImRyaXZlcnMvc29jL3JlYWx0ZWsvS2NvbmZpZyIKIHNvdXJjZSAiZHJpdmVycy9zb2MvcmVu ZXNhcy9LY29uZmlnIgogc291cmNlICJkcml2ZXJzL3NvYy9yb2NrY2hpcC9LY29uZmlnIgogc291 cmNlICJkcml2ZXJzL3NvYy9zYW1zdW5nL0tjb25maWciCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Nv Yy9NYWtlZmlsZSBiL2RyaXZlcnMvc29jL01ha2VmaWxlCmluZGV4IDJlYzM1NTAwMzUyNC4uMWQ1 NWQ4MzhhMzQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NvYy9NYWtlZmlsZQorKysgYi9kcml2ZXJz L3NvYy9NYWtlZmlsZQpAQCAtMTcsNiArMTcsNyBAQCBvYmotJChDT05GSUdfU09DX1hXQVkpCQkr PSBsYW50aXEvCiBvYmoteQkJCQkrPSBtZWRpYXRlay8KIG9iai15CQkJCSs9IGFtbG9naWMvCiBv YmoteQkJCQkrPSBxY29tLworb2JqLXkJCQkJKz0gcmVhbHRlay8KIG9iai15CQkJCSs9IHJlbmVz YXMvCiBvYmotJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkJKz0gcm9ja2NoaXAvCiBvYmotJChDT05G SUdfU09DX1NBTVNVTkcpCSs9IHNhbXN1bmcvCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9yZWFs dGVrL0tjb25maWcgYi9kcml2ZXJzL3NvYy9yZWFsdGVrL0tjb25maWcKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iZTc1YzE4ODljNjEKLS0tIC9kZXYvbnVsbAorKysg Yi9kcml2ZXJzL3NvYy9yZWFsdGVrL0tjb25maWcKQEAgLTAsMCArMSwxMyBAQAorIyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgoraWYgQVJDSF9SRUFMVEVLIHx8IENP TVBJTEVfVEVTVAorCitjb25maWcgUkVBTFRFS19TT0MKKwl0cmlzdGF0ZSAiUmVhbHRlayBjaGlw IGluZm8iCisJZGVmYXVsdCBBUkNIX1JFQUxURUsKKwlzZWxlY3QgU09DX0JVUworCWhlbHAKKwkg IFNheSAneScgaGVyZSB0byBlbmFibGUgc3VwcG9ydCBmb3IgU29DIGluZm8gb24gUmVhbHRlayBS VEQxMTk1IGFuZAorCSAgUlREMTI5NSBTb0MgZmFtaWxpZXMuCisJICBJZiB1bnN1cmUsIHNheSAn bicuCisKK2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9yZWFsdGVrL01ha2VmaWxlIGIv ZHJpdmVycy9zb2MvcmVhbHRlay9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjQ5OTAwMjczOTA1YgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc29j L3JlYWx0ZWsvTWFrZWZpbGUKQEAgLTAsMCArMSwyIEBACisjIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCitvYmotJChDT05GSUdfUkVBTFRFS19TT0MpICs9IGNoaXAu bwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcmVhbHRlay9jaGlwLmMgYi9kcml2ZXJzL3NvYy9y ZWFsdGVrL2NoaXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjlk MTM0MjJlOTkzNgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc29jL3JlYWx0ZWsvY2hpcC5j CkBAIC0wLDAgKzEsMTY0IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v ci1sYXRlcgorLyoKKyAqIFJlYWx0ZWsgU3lzdGVtLW9uLUNoaXAgaW5mbworICoKKyAqIENvcHly aWdodCAoYykgMjAxNy0yMDE5IEFuZHJlYXMgRsOkcmJlcgorICovCisKKyNpbmNsdWRlIDxsaW51 eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L29mLmg+ CisjaW5jbHVkZSA8bGludXgvb2ZfYWRkcmVzcy5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3Jt X2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNf c29jLmg+CisKKyNkZWZpbmUgUkVHX0NISVBfSUQJMHgwCisjZGVmaW5lIFJFR19DSElQX1JFVgkw eDQKKworc3RydWN0IHJ0ZF9zb2NfcmV2aXNpb24geworCWNvbnN0IGNoYXIgKm5hbWU7CisJdTMy IGNoaXBfcmV2OworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBydGRfc29jX3JldmlzaW9uIHJ0 ZDExOTVfcmV2aXNpb25zW10gPSB7CisJeyAiQSIsIDB4MDAwMDAwMDAgfSwKKwl7ICJCIiwgMHgw MDAxMDAwMCB9LAorCXsgIkMiLCAweDAwMDIwMDAwIH0sCisJeyAiRCIsIDB4MDAwMzAwMDAgfSwK Kwl7IH0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcnRkX3NvY19yZXZpc2lvbiBydGQxMjk1 X3JldmlzaW9uc1tdID0geworCXsgIkEwMCIsIDB4MDAwMDAwMDAgfSwKKwl7ICJBMDEiLCAweDAw MDEwMDAwIH0sCisJeyAiQjAwIiwgMHgwMDAyMDAwMCB9LAorCXsgIkIwMSIsIDB4MDAwMzAwMDAg fSwKKwl7IH0KK307CisKK3N0cnVjdCBydGRfc29jIHsKKwl1MzIgY2hpcF9pZDsKKwljb25zdCBj aGFyICpmYW1pbHk7CisJY29uc3QgY2hhciAqKCpnZXRfbmFtZSkoc3RydWN0IGRldmljZSAqZGV2 LCBjb25zdCBzdHJ1Y3QgcnRkX3NvYyAqcyk7CisJY29uc3Qgc3RydWN0IHJ0ZF9zb2NfcmV2aXNp b24gKnJldmlzaW9uczsKKwljb25zdCBjaGFyICpjb2RlbmFtZTsKK307CisKK3N0YXRpYyBjb25z dCBjaGFyICpkZWZhdWx0X25hbWUoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBzdHJ1Y3QgcnRk X3NvYyAqcykKK3sKKwlyZXR1cm4gcy0+ZmFtaWx5OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0 IHJ0ZF9zb2MgcnRkX3NvY19mYW1pbGllc1tdID0geworCXsgMHgwMDAwNjMyOSwgIlJURDExOTUi LCBkZWZhdWx0X25hbWUsIHJ0ZDExOTVfcmV2aXNpb25zLCAiUGhvZW5peCIgfSwKKwl7IDB4MDAw MDY0MjEsICJSVEQxMjk1IiwgZGVmYXVsdF9uYW1lLCBydGQxMjk1X3JldmlzaW9ucywgIkt5bGlu IiB9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBydGRfc29jICpydGRfc29jX2J5X2NoaXBf aWQodTMyIGNoaXBfaWQpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la RShydGRfc29jX2ZhbWlsaWVzKTsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBydGRfc29jICpmYW1p bHkgPSAmcnRkX3NvY19mYW1pbGllc1tpXTsKKworCQlpZiAoZmFtaWx5LT5jaGlwX2lkID09IGNo aXBfaWQpCisJCQlyZXR1cm4gZmFtaWx5OworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGlj IGNvbnN0IGNoYXIgKnJ0ZF9zb2NfcmV2KGNvbnN0IHN0cnVjdCBydGRfc29jICpmYW1pbHksIHUz MiBjaGlwX3JldikKK3sKKwlpZiAoZmFtaWx5KSB7CisJCWNvbnN0IHN0cnVjdCBydGRfc29jX3Jl dmlzaW9uICpyZXYgPSBmYW1pbHktPnJldmlzaW9uczsKKworCQl3aGlsZSAocmV2ICYmIHJldi0+ bmFtZSkgeworCQkJaWYgKHJldi0+Y2hpcF9yZXYgPT0gY2hpcF9yZXYpCisJCQkJcmV0dXJuIHJl di0+bmFtZTsKKwkJCXJldisrOworCQl9CisJfQorCXJldHVybiAidW5rbm93biI7Cit9CisKK3N0 YXRpYyBpbnQgcnRkX3NvY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorewor CWNvbnN0IHN0cnVjdCBydGRfc29jICpzOworCXN0cnVjdCBzb2NfZGV2aWNlX2F0dHJpYnV0ZSAq c29jX2Rldl9hdHRyOworCXN0cnVjdCBzb2NfZGV2aWNlICpzb2NfZGV2OworCXN0cnVjdCBkZXZp Y2Vfbm9kZSAqbm9kZTsKKwl2b2lkIF9faW9tZW0gKmJhc2U7CisJdTMyIGNoaXBfaWQsIGNoaXBf cmV2OworCisJYmFzZSA9IG9mX2lvbWFwKHBkZXYtPmRldi5vZl9ub2RlLCAwKTsKKwlpZiAoIWJh c2UpCisJCXJldHVybiAtRU5PREVWOworCisJc29jX2Rldl9hdHRyID0ga3phbGxvYyhzaXplb2Yo KnNvY19kZXZfYXR0ciksIEdGUF9LRVJORUwpOworCWlmICghc29jX2Rldl9hdHRyKQorCQlyZXR1 cm4gLUVOT01FTTsKKworCWNoaXBfaWQgID0gcmVhZGxfcmVsYXhlZChiYXNlICsgUkVHX0NISVBf SUQpOworCWNoaXBfcmV2ID0gcmVhZGxfcmVsYXhlZChiYXNlICsgUkVHX0NISVBfUkVWKTsKKwor CW5vZGUgPSBvZl9maW5kX25vZGVfYnlfcGF0aCgiLyIpOworCW9mX3Byb3BlcnR5X3JlYWRfc3Ry aW5nKG5vZGUsICJtb2RlbCIsICZzb2NfZGV2X2F0dHItPm1hY2hpbmUpOworCW9mX25vZGVfcHV0 KG5vZGUpOworCisJcyA9IHJ0ZF9zb2NfYnlfY2hpcF9pZChjaGlwX2lkKTsKKworCXNvY19kZXZf YXR0ci0+ZmFtaWx5ID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsICJSZWFsdGVrICVzIiwKKwkJKHMg JiYgcy0+Y29kZW5hbWUpID8gcy0+Y29kZW5hbWUgOgorCQkoKHMgJiYgcy0+ZmFtaWx5KSA/IHMt PmZhbWlseSA6ICJEaWdpdGFsIEhvbWUgQ2VudGVyIikpOworCisJaWYgKGxpa2VseShzICYmIHMt PmdldF9uYW1lKSkKKwkJc29jX2Rldl9hdHRyLT5zb2NfaWQgPSBzLT5nZXRfbmFtZSgmcGRldi0+ ZGV2LCBzKTsKKwllbHNlCisJCXNvY19kZXZfYXR0ci0+c29jX2lkID0gInVua25vd24iOworCisJ c29jX2Rldl9hdHRyLT5yZXZpc2lvbiA9IHJ0ZF9zb2NfcmV2KHMsIGNoaXBfcmV2KTsKKworCXNv Y19kZXYgPSBzb2NfZGV2aWNlX3JlZ2lzdGVyKHNvY19kZXZfYXR0cik7CisJaWYgKElTX0VSUihz b2NfZGV2KSkgeworCQlrZnJlZShzb2NfZGV2X2F0dHItPmZhbWlseSk7CisJCWtmcmVlKHNvY19k ZXZfYXR0cik7CisJCXJldHVybiBQVFJfRVJSKHNvY19kZXYpOworCX0KKworCXBsYXRmb3JtX3Nl dF9kcnZkYXRhKHBkZXYsIHNvY19kZXYpOworCisJZGV2X2luZm8oc29jX2RldmljZV90b19kZXZp Y2Uoc29jX2RldiksCisJCSIlcyAlcyAoMHglMDh4KSByZXYgJXMgKDB4JTA4eCkgZGV0ZWN0ZWRc biIsCisJCXNvY19kZXZfYXR0ci0+ZmFtaWx5LCBzb2NfZGV2X2F0dHItPnNvY19pZCwgY2hpcF9p ZCwKKwkJc29jX2Rldl9hdHRyLT5yZXZpc2lvbiwgY2hpcF9yZXYpOworCisJcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyBpbnQgcnRkX3NvY19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKK3sKKwlzdHJ1Y3Qgc29jX2RldmljZSAqc29jX2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRh KHBkZXYpOworCisJc29jX2RldmljZV91bnJlZ2lzdGVyKHNvY19kZXYpOworCisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHJ0ZF9zb2NfZHRfaWRzW10g PSB7CisJIHsgLmNvbXBhdGlibGUgPSAicmVhbHRlayxydGQxMTk1LWNoaXAiIH0sCisJIHsgfQor fTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgcnRkX3NvY19kcml2ZXIgPSB7CisJ LnByb2JlID0gcnRkX3NvY19wcm9iZSwKKwkucmVtb3ZlID0gcnRkX3NvY19yZW1vdmUsCisJLmRy aXZlciA9IHsKKwkJLm5hbWUgPSAicnRkMTE5NS1zb2MiLAorCQkub2ZfbWF0Y2hfdGFibGUJPSBy dGRfc29jX2R0X2lkcywKKwl9LAorfTsKK21vZHVsZV9wbGF0Zm9ybV9kcml2ZXIocnRkX3NvY19k cml2ZXIpOworCitNT0RVTEVfREVTQ1JJUFRJT04oIlJlYWx0ZWsgU29DIGlkZW50aWZpY2F0aW9u Iik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0tIAoyLjE2LjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==