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 1280BC64EC4 for ; Sat, 4 Mar 2023 12:58:25 +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-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=t3NjInBW41sCIAWzi53va4BZ3oFpPH6PUPhJuodZmqo=; b=GTSck3vs5o15Q8 95wrW22JoQZJ2EZW10oXJ88vxoVbrxPbX/ABHxGAywU2d5mOURsIBmOacuZ4E+lRTYKtHUStwU6MF M4qsfUNfVMxaa4IiIIkS8+SFacq7gqftyhLBci7jx/5niO71yZLi5KcSu2NyeOJPVq4U8FT0sGD+g HIS9dapgjA5m6w3OSCHWeu89SKfCU3dwInSfGf2yagI7klOvPlvDURVy7Lbdu7DGr4XEbiIn8sWWQ rAwTWsbDj87z2c2swJVY9HRwq3J5M2S/s88zyjrpOxie6ntpnMuFORG4hp0p/jwOi7PGkHhhDNiIp s/RxjFAHccEL2lZhb4Gg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pYRRy-008yXa-8M; Sat, 04 Mar 2023 12:57:22 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pYRRu-008yWh-Bg; Sat, 04 Mar 2023 12:57:20 +0000 Received: by mail-ed1-x52d.google.com with SMTP id g3so20763452eda.1; Sat, 04 Mar 2023 04:57:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677934634; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=TK2MYOnEUQpy9DHBWwxhfWhmIIBNaRPdmCBmE+mQxdE=; b=Ktlx34INoxQJChnZoahZyYBZgS6bKR33ULaJdQcKaHCqU1Nbnr9RXv/ytQyP0ajR0V cGBzgxH3Cwv9XkYRdYM3iQPggFV1VDbuVXwpFw6iyARrJ/uWTv7VUCvguXRfWuAvAlJ7 Ak0aBOov6M5n1glfYP/BUfF6oeuZ0G8WtBtYgkN4/hqRQiuC/+D8jW8egGMzJbwtphk7 rAsdJ7qaMZX8wFL3PVdZGLYq/XGEiJFwvqp3hJweoGNdisFNYOtE5H17ABu89XGUQoyO GK+N8SVLJjoWv3mpXv1CE9OSRfGISbxvne6snfhCGnRi+kG1sUQ/Sl5OSjOM0+eMfCmZ Nnrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677934634; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=TK2MYOnEUQpy9DHBWwxhfWhmIIBNaRPdmCBmE+mQxdE=; b=qZU6lGFzt+PPOpo8Bd9nbnQIT7p0Q7MvrEVInDky2ejplHieG3QbjcekTuM8EzPwXY lM1ztKiyRyuyqOn59DZ11Q9ESoYL2soogCgdaCnIjhq6FPIA8yw+IL3LC/yLX3iB94ci 3ng3qNWCnFWQL0ywR+gO3CCCBw8ixMh7K2tWgTUBGW/8PjGadali19SR2BQLXJT6a59Q UstZZAKXX3bt+d/60+jhIdk7Wkq96F6yw/4eem/wqQ1GSt3clFrCA3F4Tn5/if7OFH8E iPG/qcK7AnC3ZQJjZAyEIkEAmkG5xhmZ9uF8ehr7EYsGc/ZrV6fqKLrtYsIbEVQvC2Bp isww== X-Gm-Message-State: AO0yUKVHptiwP7wNRtuZ4xUeubQ/ldcaXp8SXb4axWh8jnWq1VgCycwo Z7r6ZU4/l8ER+YGU0rGhFOs= X-Google-Smtp-Source: AK7set+CELKl5rQ79SAC1Y9zMtUPGTbxR3AHVjzIrpsBc0fAIo5OjhGRIY//jGmXdTwemLo+uw5ZXA== X-Received: by 2002:a17:907:8e9a:b0:86a:833d:e7d8 with SMTP id tx26-20020a1709078e9a00b0086a833de7d8mr5455768ejc.17.1677934633927; Sat, 04 Mar 2023 04:57:13 -0800 (PST) Received: from arinc9-PC.lan ([212.68.60.226]) by smtp.gmail.com with ESMTPSA id v7-20020a170906338700b008e51a1fd7bfsm2064308eja.172.2023.03.04.04.57.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Mar 2023 04:57:13 -0800 (PST) From: arinc9.unal@gmail.com X-Google-Original-From: arinc.unal@arinc9.com To: Sean Wang , Landen Chao , DENG Qingfang , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Matthias Brugger , AngeloGioacchino Del Regno , Russell King Cc: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= , Russell King , =?UTF-8?q?Ren=C3=A9=20van=20Dorst?= , Alexander Couzens , Ilya Lipnitskiy , Richard van Schagen , Frank Wunderlich , erkin.bozoglu@xeront.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [RFC PATCH net] net: dsa: mt7530: move PLL setup out of port 6 pad configuration Date: Sat, 4 Mar 2023 15:54:54 +0300 Message-Id: <20230304125453.53476-1-arinc.unal@arinc9.com> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230304_045718_486042_6B316A2E X-CRM114-Status: GOOD ( 22.53 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogQXLEsW7DpyDDnE5BTCA8YXJpbmMudW5hbEBhcmluYzkuY29tPgoKTW92ZSB0aGUgUExM IHNldHVwIG9mIHRoZSBNVDc1MzAgc3dpdGNoIG91dCBvZiB0aGUgcGFkIGNvbmZpZ3VyYXRpb24g b2YKcG9ydCA2IHRvIG10NzUzMF9zZXR1cCwgYWZ0ZXIgcmVzZXQuCgpUaGlzIGZpeGVzIHRoZSBp bXByb3BlciBpbml0aWFsaXNhdGlvbiBvZiB0aGUgc3dpdGNoIHdoZW4gb25seSBwb3J0IDUgaXMK dXNlZCBhcyBhIENQVSBwb3J0LgoKQWRkIHN1cHBvcnRlZCBwaHkgbW9kZXMgb2YgcG9ydCA1IG9u IHRoZSBQTEwgc2V0dXAuCgpSZW1vdmUgbm93IGluY29ycmVjdCBjb21tZW50IHJlZ2FyZGluZyBQ NSBhcyBHTUFDNS4KCkZpeGVzOiBiOGYxMjZhOGQ1NDMgKCJuZXQtbmV4dDogZHNhOiBhZGQgZHNh IHN1cHBvcnQgZm9yIE1lZGlhdGVrIE1UNzUzMCBzd2l0Y2giKQpGaXhlczogMzhmNzkwYTgwNTYw ICgibmV0OiBkc2E6IG10NzUzMDogQWRkIHN1cHBvcnQgZm9yIHBvcnQgNSIpClNpZ25lZC1vZmYt Ynk6IEFyxLFuw6cgw5xOQUwgPGFyaW5jLnVuYWxAYXJpbmM5LmNvbT4KLS0tCgpJJ20gdHJ5aW5n IHRvIG1pbWljIHRoaXMgY2hhbmdlIGJ5IEFsZXhhbmRlciBbMF0gZm9yIHRoZSBNVDc1MzAgc3dp dGNoLgpUaGlzIGlzIGFscmVhZHkgdGhlIGNhc2UgZm9yIE1UNzUzMCBhbmQgTVQ3NTMxIG9uIHRo ZSBNZWRpYVRlayBldGhlcm5ldApkcml2ZXIgb24gVS1Cb290IFsxXSBbMl0uCgpbMF0gaHR0cHM6 Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvbmV0ZGV2L25ldC1uZXh0 LmdpdC9jb21taXQvP2lkPTQyYmM0ZmFmZTM1OWVkNmI3MzYwMmI3YTJkYmEwZGQ5OTU4OGY4Y2UK WzFdIGh0dHBzOi8vZ2l0aHViLmNvbS91LWJvb3QvdS1ib290L2Jsb2IvYTk0YWI1NjFlMmY0OWE4 MGQ4NTc5OTMwZTg0MGI4MTBhYjFhMTMzMC9kcml2ZXJzL25ldC9tdGtfZXRoLmMjTDcyOQpbMl0g aHR0cHM6Ly9naXRodWIuY29tL3UtYm9vdC91LWJvb3QvYmxvYi9hOTRhYjU2MWUyZjQ5YTgwZDg1 Nzk5MzBlODQwYjgxMGFiMWExMzMwL2RyaXZlcnMvbmV0L210a19ldGguYyNMOTAzCgpUaGVyZSBh cmUgc29tZSBwYXJ0cyBJIGNvdWxkbid0IGZpZ3VyZSBvdXQgbXlzZWxmIHdpdGggbXkgbGltaXRl ZCBDCmtub3dsZWRnZS4gSSd2ZSBwb2ludGVkIHRoZW0gb3V0IG9uIHRoZSBjb2RlLiBWbGFkaW1p ciwgY291bGQgeW91IGhlbHA/CgpUaGVyZSBpcyBhIGxvdCBvZiBjb2RlIHdoaWNoIGlzIG9ubHkg bmVlZGVkIGZvciBwb3J0IDYgb3IgdHJnbWlpIG9uIHBvcnQgNiwKYnV0IHJ1bnMgd2hldGhlciBw b3J0IDYgb3IgdHJnbWlpIGlzIHVzZWQgb3Igbm90LiBGb3Igbm93LCB0aGUgYmVzdCBJIGNhbgpk byBpcyB0byBmaXggcG9ydCA1IHNvIGl0IHdvcmtzIHdpdGhvdXQgcG9ydCA2IGJlaW5nIHVzZWQu CgpUaGUgVS1Cb290IGRyaXZlciBzZWVtcyB0byBiZSBtdWNoIG1vcmUgb3JnYW5pc2VkIHNvIGl0 IGNvdWxkIGJlIHRha2VuIGFzCmEgcmVmZXJlbmNlIHRvIHNvcnQgb3V0IHRoaXMgRFNBIGRyaXZl ciBmdXJ0aGVyLgoKQWxzbywgbm93IHRoYXQgdGhlIHBhZCBzZXR1cCBmb3IgbXQ3NTMwIGlzIGFs c28gbW92ZWQgc29tZXdoZXJlIGVsc2UsIGNhbgp3ZSBjb21wbGV0ZWx5IGdldCByaWQgb2YgQHBh ZF9zZXR1cD8KCkFyxLFuw6cKCi0tLQogZHJpdmVycy9uZXQvZHNhL210NzUzMC5jIHwgNDYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM0 IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2RzYS9tdDc1MzAuYyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwppbmRleCAwZTk5ZGUyNmQx NTkuLmZiMjBjZTRmNDQzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jCisr KyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwpAQCAtMzk1LDkgKzM5NSw4IEBAIG10NzUzMF9m ZGJfd3JpdGUoc3RydWN0IG10NzUzMF9wcml2ICpwcml2LCB1MTYgdmlkLAogCiAvKiBTZXR1cCBU WCBjaXJjdWl0IGluY2x1ZGluZyByZWxldmFudCBQQUQgYW5kIGRyaXZpbmcgKi8KIHN0YXRpYyBp bnQKLW10NzUzMF9wYWRfY2xrX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgcGh5X2ludGVy ZmFjZV90IGludGVyZmFjZSkKK210NzUzMF9wYWRfY2xrX3NldHVwKHN0cnVjdCBtdDc1MzBfcHJp diAqcHJpdiwgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSkKIHsKLQlzdHJ1Y3QgbXQ3NTMwX3By aXYgKnByaXYgPSBkcy0+cHJpdjsKIAl1MzIgbmNwbzEsIHNzY19kZWx0YSwgdHJnaW50LCBpLCB4 dGFsOwogCiAJeHRhbCA9IG10NzUzMF9yZWFkKHByaXYsIE1UNzUzMF9NSFdUUkFQKSAmIEhXVFJB UF9YVEFMX01BU0s7CkBAIC00MDksOSArNDA4LDMyIEBAIG10NzUzMF9wYWRfY2xrX3NldHVwKHN0 cnVjdCBkc2Ffc3dpdGNoICpkcywgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSkKIAkJcmV0dXJu IC1FSU5WQUw7CiAJfQogCisJLyogSXMgc2V0dGluZyB0cmdpbnQgdG8gMCByZWFsbHkgbmVlZGVk IGZvciB0aGUgIXRyZ2ludCBjaGVjaz8gKi8KKwl0cmdpbnQgPSAwOworCisJLyogRklYTUU6IHJ1 biB0aGlzIHN3aXRjaCBpZiBwNSBpcyBkZWZpbmVkIG9uIHRoZSBkZXZpY2V0cmVlICovCisJLyog YW5kIGNoYW5nZSBpbnRlcmZhY2UgdG8gdGhlIHBoeS1tb2RlIG9mIHBvcnQgNSAqLworCXN3aXRj aCAoaW50ZXJmYWNlKSB7CisJY2FzZSBQSFlfSU5URVJGQUNFX01PREVfR01JSToKKwkJLyogUExM IGZyZXF1ZW5jeTogMTI1TUh6ICovCisJCW5jcG8xID0gMHgwYzgwOworCQlicmVhazsKKwljYXNl IFBIWV9JTlRFUkZBQ0VfTU9ERV9NSUk6CisJCWJyZWFrOworCWNhc2UgUEhZX0lOVEVSRkFDRV9N T0RFX1JHTUlJOgorCQkvKiBQTEwgZnJlcXVlbmN5OiAxMjVNSHogKi8KKwkJbmNwbzEgPSAweDBj ODA7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl9lcnIocHJpdi0+ZGV2LCAieE1JSSBpbnRl cmZhY2UgJWQgbm90IHN1cHBvcnRlZFxuIiwKKwkJCWludGVyZmFjZSk7CisJCXJldHVybiAtRUlO VkFMOworCX0KKworCS8qIEZJWE1FOiBydW4gdGhpcyBzd2l0Y2ggaWYgcDYgaXMgZGVmaW5lZCBv biB0aGUgZGV2aWNldHJlZSAqLworCS8qIGFuZCBjaGFuZ2UgaW50ZXJmYWNlIHRvIHRoZSBwaHkt bW9kZSBvZiBwb3J0IDYgKi8KIAlzd2l0Y2ggKGludGVyZmFjZSkgewogCWNhc2UgUEhZX0lOVEVS RkFDRV9NT0RFX1JHTUlJOgotCQl0cmdpbnQgPSAwOwogCQkvKiBQTEwgZnJlcXVlbmN5OiAxMjVN SHogKi8KIAkJbmNwbzEgPSAweDBjODA7CiAJCWJyZWFrOwpAQCAtMjE3Miw3ICsyMTk0LDExIEBA IG10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpCiAJCSAgICAgU1lTX0NUUkxfUEhZ X1JTVCB8IFNZU19DVFJMX1NXX1JTVCB8CiAJCSAgICAgU1lTX0NUUkxfUkVHX1JTVCk7CiAKLQkv KiBFbmFibGUgUG9ydCA2IG9ubHk7IFA1IGFzIEdNQUM1IHdoaWNoIGN1cnJlbnRseSBpcyBub3Qg c3VwcG9ydGVkICovCisJLyogU2V0dXAgc3dpdGNoIGNvcmUgcGxsICovCisJLyogRklYTUU6IGZl ZWQgdGhlIHBoeS1tb2RlIG9mIHBvcnQgNSBhbmQgNiwgaWYgdGhlIHBvcnRzIGFyZSBkZWZpbmVk IG9uIHRoZSBkZXZpY2V0cmVlICovCisJbXQ3NTMwX3BhZF9jbGtfc2V0dXAocHJpdiwgaW50ZXJm YWNlKTsKKworCS8qIEVuYWJsZSBQb3J0IDYgKi8KIAl2YWwgPSBtdDc1MzBfcmVhZChwcml2LCBN VDc1MzBfTUhXVFJBUCk7CiAJdmFsICY9IH5NSFdUUkFQX1A2X0RJUyAmIH5NSFdUUkFQX1BIWV9B Q0NFU1M7CiAJdmFsIHw9IE1IV1RSQVBfTUFOVUFMOwpAQCAtMjQ5MSwxMSArMjUxNyw5IEBAIHN0 YXRpYyB2b2lkIG10NzUzMV9tYWNfcG9ydF9nZXRfY2FwcyhzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMs IGludCBwb3J0LAogfQogCiBzdGF0aWMgaW50Ci1tdDc1M3hfcGFkX3NldHVwKHN0cnVjdCBkc2Ff c3dpdGNoICpkcywgY29uc3Qgc3RydWN0IHBoeWxpbmtfbGlua19zdGF0ZSAqc3RhdGUpCittdDc1 MzBfcGFkX3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgcGh5X2ludGVyZmFjZV90IGludGVy ZmFjZSkKIHsKLQlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBkcy0+cHJpdjsKLQotCXJldHVy biBwcml2LT5pbmZvLT5wYWRfc2V0dXAoZHMsIHN0YXRlLT5pbnRlcmZhY2UpOworCXJldHVybiAw OwogfQogCiBzdGF0aWMgaW50CkBAIC0yNzY5LDggKzI3OTMsNiBAQCBtdDc1M3hfcGh5bGlua19t YWNfY29uZmlnKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsIHVuc2lnbmVkIGludCBt b2RlLAogCQlpZiAocHJpdi0+cDZfaW50ZXJmYWNlID09IHN0YXRlLT5pbnRlcmZhY2UpCiAJCQli cmVhazsKIAotCQltdDc1M3hfcGFkX3NldHVwKGRzLCBzdGF0ZSk7Ci0KIAkJaWYgKG10NzUzeF9t YWNfY29uZmlnKGRzLCBwb3J0LCBtb2RlLCBzdGF0ZSkgPCAwKQogCQkJZ290byB1bnN1cHBvcnRl ZDsKIApAQCAtMzE4Nyw3ICszMjA5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdDc1M3hfaW5m byBtdDc1M3hfdGFibGVbXSA9IHsKIAkJLnBoeV93cml0ZV9jMjIgPSBtdDc1MzBfcGh5X3dyaXRl X2MyMiwKIAkJLnBoeV9yZWFkX2M0NSA9IG10NzUzMF9waHlfcmVhZF9jNDUsCiAJCS5waHlfd3Jp dGVfYzQ1ID0gbXQ3NTMwX3BoeV93cml0ZV9jNDUsCi0JCS5wYWRfc2V0dXAgPSBtdDc1MzBfcGFk X2Nsa19zZXR1cCwKKwkJLnBhZF9zZXR1cCA9IG10NzUzMF9wYWRfc2V0dXAsCiAJCS5tYWNfcG9y dF9nZXRfY2FwcyA9IG10NzUzMF9tYWNfcG9ydF9nZXRfY2FwcywKIAkJLm1hY19wb3J0X2NvbmZp ZyA9IG10NzUzMF9tYWNfY29uZmlnLAogCX0sCkBAIC0zMTk5LDcgKzMyMjEsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IG10NzUzeF9pbmZvIG10NzUzeF90YWJsZVtdID0gewogCQkucGh5X3dyaXRl X2MyMiA9IG10NzUzMF9waHlfd3JpdGVfYzIyLAogCQkucGh5X3JlYWRfYzQ1ID0gbXQ3NTMwX3Bo eV9yZWFkX2M0NSwKIAkJLnBoeV93cml0ZV9jNDUgPSBtdDc1MzBfcGh5X3dyaXRlX2M0NSwKLQkJ LnBhZF9zZXR1cCA9IG10NzUzMF9wYWRfY2xrX3NldHVwLAorCQkucGFkX3NldHVwID0gbXQ3NTMw X3BhZF9zZXR1cCwKIAkJLm1hY19wb3J0X2dldF9jYXBzID0gbXQ3NTMwX21hY19wb3J0X2dldF9j YXBzLAogCQkubWFjX3BvcnRfY29uZmlnID0gbXQ3NTMwX21hY19jb25maWcsCiAJfSwKLS0gCjIu MzcuMgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwK