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 75F8FC25B0C for ; Fri, 5 Aug 2022 07:08:01 +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=vkW5ZEkpiyuEtdy7m53SvjM/xZEHt+dDN2JaMEt305w=; b=UmUbpn1oo/fJu4 hdNT6p2z0x3gPHTy14QGlBjHckUJrkb5jccMpS/csb6yJP7+B5gH0ApM+aEX1xAAKlIb9f9mLZI5T N+nSAaA38jsFRkbKXkNe7e6JaxM0LIYubgCFbbQS2blXTmewgSAgwrGjjJOwUTfRW3UkYM/y5v+y1 2Y3uGiUtkaD/ej0vlbrNHE1KonzfgOmmrLFVuW9pGu4ia6JWoFleAe8HZFhl65rtosPto2E2GhrRw GdU02ARts/4MsfGEqOYSH/fTXCoZpG7qdJBzwZGPTeyxVdT3MjkufJeQ/+N2EtxP7zYDYm4+hL2MP uKrWc3RLsILcot8XakQA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oJrPr-00CgvJ-7B; Fri, 05 Aug 2022 07:06:39 +0000 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oJrPi-00Cgo5-9J; Fri, 05 Aug 2022 07:06:33 +0000 Received: by mail-pf1-x42a.google.com with SMTP id d20so1516477pfq.5; Fri, 05 Aug 2022 00:06:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc; bh=7tsFXU+s5bo2EYkFqWY6zQ+JUiztfwb6P63nZJlXLIE=; b=G3iKqSKrOIH8qHcC5faFSOBzjMxoXYPHd0UTzWpMKS5CVs3fXYbSOPAccciKINtQfD YWbAPaJ0fdyMZtea0E6JxrPfiLRO1KwJVTlq4x3g07BsMYbk5B+B2KnkhK8H3yJrYjNf FqcZNSrbS7vbRdfLOOwcSGr2B37YRpPwhv6yVjViMCQnhK8j9RrYGXSGg8R+vdCArQ1Y hSVRSe43Ll1V28Sxp1U7TDCZi4vkUePK6iyDm6r1w4IpKR9oHP1+ta2ooPLB0RMCg2L9 GYmw9AWiDoOI+lAFGmX64EpVVyoLTlEY4I7P8pRSsDs7veDzkoYGkFUu1uqIo6UyPDRF 4xHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc; bh=7tsFXU+s5bo2EYkFqWY6zQ+JUiztfwb6P63nZJlXLIE=; b=rlKM7u+iqOgUdI9rK3hK+SV9beOmyoIP6EttJXMuAEfUcdwNDty5MEU7TT5fGVEU0Q eI4hRz93B3LXpQXnkjrvMwcx34e+cNFcDJ/CHAwQO6PwspMu1IWyzpvGrRM7WZ54bLYg QeSnVMy4cV6LclgyJfNXgW1/DnSIYR+q617EFvD6FZo22Fm/cfSXQa4ynMIzGMlxOy2k VpbxgA1BXIo838Js8jroRKffXdB/cBSZXx0uiIe3scseQZXNVi4fhb0jiovcv6lnrDYp I8mGWRLcTpbyo2nUYCfBVn2HB6lev4Z2SPcYcn9Ot3rvb1NPDqCSLXGLpbXhOxKcNZbo E3Ow== X-Gm-Message-State: ACgBeo2k9D2CiqwjKjP+k/F04HaAEe6hYDR5Wmk4RGMqewXrxiPW97GO aXU9c2DBqKSVgSyD3qoFvmE= X-Google-Smtp-Source: AA6agR7NpbFgICTNOffVu7791eKEeoPBic2ASoOwQysnlvex+ZuKZ+D6WEsGS09gWSLuzM3KOQII4A== X-Received: by 2002:a62:6206:0:b0:52d:39c5:298 with SMTP id w6-20020a626206000000b0052d39c50298mr5365342pfb.30.1659683186516; Fri, 05 Aug 2022 00:06:26 -0700 (PDT) Received: from RD-3580-24288.rt.l (42-72-229-62.emome-ip.hinet.net. [42.72.229.62]) by smtp.gmail.com with ESMTPSA id i5-20020a056a00224500b00525343b5047sm2191616pfu.76.2022.08.05.00.06.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Aug 2022 00:06:26 -0700 (PDT) From: ChiaEn Wu To: lee.jones@linaro.org, daniel.thompson@linaro.org, jingoohan1@gmail.com, pavel@ucw.cz, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, matthias.bgg@gmail.com, sre@kernel.org, chunfeng.yun@mediatek.com, gregkh@linuxfoundation.org, jic23@kernel.org, lars@metafoo.de, lgirdwood@gmail.com, broonie@kernel.org, linux@roeck-us.net, heikki.krogerus@linux.intel.com, deller@gmx.de, andy.shevchenko@gmail.com Cc: chiaen_wu@richtek.com, alice_chen@richtek.com, cy_huang@richtek.com, dri-devel@lists.freedesktop.org, linux-leds@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-usb@vger.kernel.org, linux-iio@vger.kernel.org, linux-fbdev@vger.kernel.org, szunichen@gmail.com Subject: [PATCH v7 00/13] Add MediaTek MT6370 PMIC support Date: Fri, 5 Aug 2022 15:05:57 +0800 Message-Id: <20220805070610.3516-1-peterwu.pub@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220805_000630_435483_552E472E X-CRM114-Status: GOOD ( 22.96 ) 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 RnJvbTogQ2hpYUVuIFd1IDxjaGlhZW5fd3VAcmljaHRlay5jb20+CgpUaGlzIHBhdGNoIHNlcmll cyBhZGQgTWVkaWFUZWsgTVQ2MzcwIFBNSUMgc3VwcG9ydC4gVGhlIE1UNjM3MCBpcyBhCmhpZ2hs eS1pbnRlZ3JhdGVkIHNtYXJ0IHBvd2VyIG1hbmFnZW1lbnQgSUMsIHdoaWNoIGluY2x1ZGVzIGEg c2luZ2xlCmNlbGwgTGktSW9uL0xpLVBvbHltZXIgc3dpdGNoaW5nIGJhdHRlcnkgY2hhcmdlciwg YSBVU0IKVHlwZS1DICYgUG93ZXIgRGVsaXZlcnkgKFBEKSBjb250cm9sbGVyLCBkdWFsIEZsYXNo IExFRCBjdXJyZW50IHNvdXJjZXMsCmEgUkdCIExFRCBkcml2ZXIsIGEgYmFja2xpZ2h0IFdMRUQg ZHJpdmVyLCBhIGRpc3BsYXkgYmlhcyBkcml2ZXIgYW5kIGEKZ2VuZXJhbCBMRE8gZm9yIHBvcnRh YmxlIGRldmljZXMuCgpJbiB0aGlzIHNlcmllcyBvZiBwYXRjaGVzLCB3ZSBiYXNlZCBvbiBBbmR5 IFNoZXZjaGVua28ncyBtZmQgcGF0Y2ggd2hpY2gKaXMgdXNlZCB0byBhZGp1c3QgdGhlIE1ha2Vm aWxlIG9yZGVyLgooaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjIwODAxMTE0MjExLjM2 MjY3LTMtYW5kcml5LnNoZXZjaGVua29AbGludXguaW50ZWwuY29tLykKQW1vbmcgdGhpcywgd2Ug YWxzbyB0b29rIHNvbWUgY2hhbmdlcyBmb3IgTVQ2MzcwIGRyaXZlcnMsIHJldmlzZWQgdGhlCk1U NjM3MCBkZXZpY2UgdHJlZSBmaWxlcyB0byBjb21wbHkgd2l0aCBEVCBzcGVjaWZpY2F0aW9ucywg YW5kIHJldmlzZWQKdGhlIHdyb25nIFNvQiBjaGFpbiBpbiBlbnRpcmUgcGF0Y2hlcy4KClBTLgoi W1BBVENIIHY3IDA2LzEzXSBkdC1iaW5kaW5nczogbWZkOiBBZGQgTWVkaWFUZWsgTVQ2MzcwIiBk ZXBlbmRzIG9uIHByZXZpb3VzCkRUIGJpbmRpbmcgcGF0Y2hlcywgc28gYmVmb3JlIGFwcGx5aW5n IHRoaXMgcGF0Y2gsIHBsZWFzZSBhcHBseSBvdGhlciBEVApwYXRjaGVzIGZpcnN0LiBUaGFua3Mh CgpQUzIuCk91ciBNRkQgRFQtYmluZGluZyBkZXBlbmRzIG9uIExFRCBmbGFzaCBhbmQgTEVEIFJH QiBEVC1iaW5kaW5ncywgYnV0IHRoZQpLY29uZmlncyBvZiBMRUQgZmxhc2ggYW5kIExFRCBSR0Ig ZGVwZW5kIG9uIE1GRC4gRHVlIHRvIGRlcGVuZGVuY3kKY29uc2lkZXJhdGlvbiwgd2UgYWxzbyBz dWJtaXQgTEVEIGZsYXNoIGFuZCBMRUQgUkdCIHdpdGggb3RoZXIgcGF0Y2hlcwphdCB0aGlzIHRp bWUuCgoKVGhhbmsgeW91LApDaGlhRW4gV3UKLS0tCkNoYW5nZXMgaW4gdjc6Ci0gSW4gUGF0Y2gg MDUvMTM6CgktIEFkZCB0aGUgc2Vjb25kIGNvbXBhdGlibGUgc3RyaW5nIGZvciAnbXQ2MzcyJwoJ LSBBZGQgJ21lZGlhdGVrLGJsZWQtZXhwb25lbnRpYWwtbW9kZS1lbmFibGUnIHByb3BlcnR5IGZv ciBlbmFibGUgdGhlCgkgIGV4cG9uZW50aWFsIG1vZGUgb2YgYmFja2xpZ2h0IGJyaWdodG5lc3MK CS0gQWRkIHZhbGlkYXRpb24gZm9yIHRoZSBtYXhpbXVtIHZhbHVlIG9mICdkZWZhdWx0LWJyaWdo dG5lc3MnIGFuZAoJICAnbWF4LWJyaWdodG5lc3MnCgotIEluIFBhdGNoIDA3LzEzOgoJLSBNb3Zl ICcjZGVmaW5lIE1UNjM3MF9SRUdfTUFYQUREUicgdG8gdGhlIG5leHQgbGluZSBvZgoJICAnI2Rl ZmluZSBNVDYzNzBfUkVHX0NIR19NQVNLMScKCS0gUmVuYW1lICdNVDYzNzBfUkVHX0FERFJMRU4n IHRvICdNVDYzNzBfTUFYX0FERFJMRU4nCgotIEluIFBhdGNoIDA4LzEzOgoJLSBSZXZpc2UgJ2Rl dm1fYWRkX2FjdGlvbl9vcl9yZXNldChkZXYsIC4uLiknIHRvIG9uZSBsaW5lCgktIFJldmlzZSAn cmV0dXJuIHJlZ21hcF91cGRhdGVfYml0cyguLi4pJyB3aXRoIHVzaW5nIHBvc2l0aXZlCgkgIGNv bmRpdGlvbmFsCgotIEluIFBhdGNoIDA5LzEzOgoJLSBBZGQgQUlDUigxMDBtQSB+IDM1MG1BKSwg SUNIRygxMDBtQSB+IDgwMG1BKSBtYWNyb3MKCS0gUmVtb3ZlIDQwMG1BIEFJQ1IgYW5kIDkwMG1B IElDSEcgbWFjcm9zCgktIFJldmlzZSB1c2luZyAnaWYtZWxzZScgdG8gJ3N3aXRjaC1jYXNlJyBp biBtdDYzNzBfYWRjX3JlYWRfc2NhbGUoKQoJICB3aGVyZSB0aGUgYWRjIGNoYW5uZWwgaXMgaWJ1 cyBvciBpYmF0CgotIEluIFBhdGNoIDEwLzEzOgoJLSBSZXZpc2UgdGhlIG1ldGhvZCB0byBlbmFi bGUvZGlzYWJsZSBpcnEKCS0gUmV2aXNlIGFsbCAnaWYgKHJldCA8IDApJyB0byAnaWYgKHJldCkn IGFmdGVyIHVzaW5nCgkgIG10NjM3MF9jaGdfZmllbGRfc2V0L2dldCgpCgktIFJldmlzZSBhbGwg J09URycgdGV4dAoKLSBJbiBQYXRjaCAxMS8xMzoKCS0gQWRkIHRoZSBjb21tZW50IGZvciB0aGUg dW5pb24gb2YgJ3N0cnVjdCBtdDYzNzBfbGVkJwoJLSBSZXZpc2UgdGhlIHdyb25nIGRlc2NyaXB0 aW9uIG9mICdBdXRob3JzJwoJLSBSZXZpc2Ugc29tZSB0eXBvcyAoZS5nLiBsZWQgLS0+IExFRCkK CS0gUmV2aXNlICdpZiAoIWZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3N0cmluZygpKScgdG8KCSAgJ3Jl dCA9IGZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3N0cmluZygpJwoJLSBSZXBsYWNlICdtZW1jcHkoLi4u KScgd2l0aCAncHV0X3VuYWxpZ25lZF9iZTI0KCknIGluCgkgIG10NjM3MF9nZW5fYnJlYXRoX3Bh dHRlcm4oKQoJLSBSZXBsYWNlIGFsbCAnTEVEX09GRicgd2l0aCAwCgktIFJlbW92ZSB0aGUgcmVk dW5kYW50IGFzc2lnbm1lbnQgaW4gbXQ2MzcwX21jX3BhdHRlcm5fY2xlYXIoKQoKLSBJbiBQYXRj aCAxMi8xMzoKCS0gRml4IHRoZSBpbmRlbnRhdGlvbi4KCS0gRm9yIHRoZSB3ZWxsIGRlZmluZWQg bWFjcm8sIHRoZSBwYXJlbnRoZXNpcyBpcyBuZWVkZWQgZm9yIGlucHV0IHBhcmFtZXRlcnMuCgkt IFJlcGxhY2Ugc29tZSBkZXZfd2FybiB0byBkZXZfaW5mbyBpbiAnaW5pdF9mbGFzaF9wcm9wZXJ0 aWVzJy4KCS0gQWRkIHNlbnRpbmVsIGNvbW1lbnQgZm9yIHRoZSB0ZXJtaW5hdG9yIGVudHJ5IG9m IG9mX2RldmljZV9pZC4KCS0gVXNlIHByaXYtPmZsZWRfdG9yY2hfdXNlZCBkaXJlY3RseS4KCS0g RGVsZXRlIDAgaW4ge30uCgktIFVzZSBfdUEgaW5zdGVhZCBvZiBfVUEgaW4gZGVmaW5pdGlvbi4K CS0gUmVmaW5lIHRoZSBkZXNjcmlwdGlvbi4KCS0gVXNlIHVzbGVlcF9yYW5nZSBpbnN0ZWFkIG9m IHVkZWxheS4KCS0gUmVuYW1lIGNvbmZpZyB0byBMRURTX01UNjM3MF9GTEFTSC4KCS0gQWRkIG1p c3NpbmcgIj4iIGluIGNvcHlyaWdodC4KCS0gQ2hhbmdlIHRoZSBLY29uZmlnIG9yZGVyCgotIElu IFBhdGNoIDEzLzEzOgoJLSBBZGQgc3VwcG9ydCAnZXhwb25lbnRpYWwgbW9kZScgcHJvcGVydHkg cGFyc2luZwoJLSBBZGQgJ3JldHVybiBkZXZfZXJyX3Byb2JlKCknIGFmdGVyICdpZiAoSVNfRVJS KHByaXYtPmVuYWJsZV9ncGlvKSknCgktIEFkZCAnbXQ2MzcyJyBjb21wYXRpYmxlIHN0cmluZwoJ LSBSZXZpc2UgS2NvbmZpZyBoZWxwIHRleHQKCS0gUmV2aXNlIHVwZGF0ZSgpL2dldCgpIGZvciBz dXBwb3J0aW5nIDE2Mzg0IHN0ZXBzIChNVDYzNzIpCgktIFJldmlzZSBhbGwgc2hpZnQgdXNhZ2Vz IGZvcm0gdXNpbmcgJ2ZmcygpIGFuZCBmbHMoKScgdG8gZGVmaW5pbmcgdGhlCgkgIF9TSElGVCBt YWNyb3MuCgktIFJldmlzZSAnYnJpZ2h0bmVzcyA/IDEgOiAwJyB0byAnISFicmlnaHRuZXNzJyBp biBncGlvZF9zZXRfdmFsdWUoKQoKCkNoYW5nZXMgaW4gdjY6Ci0gSW4gUGF0Y2ggMDMvMTM6Cgkt IEFkZCAncmVnJyBwcm9wZXJ0eSBvZiBsZWQgb2YgbXVsdGktbGVkIHRvIHByZXZlbnQgY2hlY2tp bmcKCSAgZXJyb3IuCgotIEluIFBhdGNoIDA4LzEzOgoJLSBDb252ZXJ0IHRjcGNpIGFzIGRldmlj ZSByZXNvdXJjZSBtYW5hZ2VkIHdpdGgKCSAgJ2Rldm1fYWRkX2FjdGlvbl9vcl9yZXNldCcgYXBp LgoJLSBSZWZpbmUgcmVtdm9lIGNhbGxiYWNrLgoJLSBSZWZpbmUgdGhlIGNvbW1pdCB0ZXh0IGZy b20gJ3RoaXMgY29tbWl0IGFkZCcgdG8gJ2FkZCcuCgotIEluIFBhdGNoIDA5LzEzOgoJLSBVc2lu ZyAnc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldicgaW4gcHJvYmUoKQoJLSBSZXZpc2Ug dGhlIHNpeHRoIHBhcmFtZXRlciBvZiByZWdtYXBfcmVhZF9wb2xsX3RpbWVvdXQoKSBieQoJICBS ZXBsYWNpbmcgJzEwMDAnIHdpdGggJ01JTExJJwoJLSBSZXZpc2UgdGhlIHVuaXRzIG9mIHRocmVl IG1hY3JvcwoJLSBNVDYzNzBfQUlDUl80MDBNQSAtLT4gTVQ2MzcwX0FJQ1JfNDAwX21BCgktIE1U NjM3MF9JQ0hHXzUwME1BIC0tPiBNVDYzNzBfSUNIR181MDBfbUEKCS0gTVQ2MzcwX0lDSEdfOTAw TUEgLS0+IE1UNjM3MF9JQ0hHXzkwMF9tQQoKLSBJbiBwYXRjaCAxMC8xMzoKCS0gUmVtb3ZlIHRo ZSB2YXJhYmxlICgqcHN5X2Rlc2MpIG9mIHN0cnVjdCBtdDYzNzBfcHJpdgoJLSBSZW1vdmUgdGhl IGRlcHJlY2F0ZWQgdXNiIHR5cGUgKFBPV0VSX1NVUFBMWV9UWVBFX1VTQl9DRFAgYW5kCgkgIFBP V0VSX1NVUFBMWV9UWVBFX1VTQl9EQ1ApCgktIFJlbW92ZSB1c2VsZXNzIHJlbW92ZSgpCgktIFJl dmlzZSBhbGwgdW5pdHMgZnJvbSBtaW5pLSB0byBtaWNyby0KCS0gUmV2aXNlIGdldC9zZXQgcG93 ZXJfc3VwcGx5X3Byb3AgKGNoYW5nZSB0byBkaXJlY3RseSByZXR1cm4gZ2V0L3NldAoJICByZWdt YXBfZmllbGQpCgktIFJldmlzZSBwcm9iZSgpIGFuZCB1c2UgZGV2bV9hZGRfYWN0aW9uX29yX3Jl c2V0KCkgZm9yIGhhbmRsaW5nIG9mIHRoZQoJICB3b3JrcXVldWUvZGVsYXllZF93b3JrL211dGV4 CgktIFJldmlzZSBtdDYzNzBfY2hnX3BzeV9kZXNjCgkJLSBBZGQgJy5uYW1lID0gIm10NjM3MC1j aGFyZ2VyIicKCQktIFVzZSAnc3RhdGljIGNvbnN0JwoKLSBJbiBwYXRjaCAxMS8xMzoKCS0gUmVt b3ZlIHRoZSAna28nIGZyb20gbXQ2MzcwIGxlZCBLY29uZmlnIGRlc2NyaXB0aW9uLgoJLSBBZGQg Ym90aCBhdXRob3JzIGZvciBBbGljZSBhbmQgQ2hpWXVhbi4KCS0gVXNlIHBkYXRhIHRvIGRpc3Rp bmd1aXNoIHRoZSBjb2RlIGZyb20gbXQ2MzcwLzcxIHRvIG10NjM3Mi4KCS0gSW5zdGVhZCBvZiAn c3RhdGUnIGRlZmluZSwgdXNlIHRoZSAnc3RhdGUnIGVudW0uCgktIEZpeCB0aGUgdHlwbyBmb3Ig J01UNjM3Ml9QTVdfRFVUWScuCgktIEZvciBwd21fZHV0eSBkZWZpbmUsIHJlcGxhY2Ugd2l0aCBi aXQgbWFjcm8gLSAxLgoJLSBSZWZpbmUgYWxsIHRoZSBsYWJlbHMgZnJvbSAnb3V0JyB0byAnb3V0 X3VubG9jaycuCgktIFVzZSBzdHJ1Y3QgJ2RldicgdmFyaWFibGUgYW5kICdkZXZfZXJyX3Byb2Jl JyB0byBvcHRpbWl6ZSB0aGUgTE9DLgoJLSBSZXZpc2UgZm9yIHRoZSBhcnJheSBpbml0aWFsaXph dGlvbiBmcm9tIHswfSB0byB7fS4KCS0gTW92ZSBpbnRvIHJnYiBmb2xkZXIgYW5kIHJlbmFtZSBm aWxlIG5hbWUgdG8gJ2xlZHMtbXQ2MzcwLXJnYicuCgktIFJlZmluZSB0aGUgJ2NvbW1hJyB1c2Fn ZSBpbiBzdHJ1Y3QvZW51bS4KCi0gSW4gcGF0Y2ggMTIvMTM6CgktIFVzZSAnR0VOTUFTSycgaW5z dGVhZCBvZiAnQklUJy4KCS0gVXNlIGRldl9lcnJfcHJvYmUgdG8gZGVjcmVhc2UgTE9DLgoJLSBV c2UgJ2RldicgdmFyaWFibGUgdG8gbWFrZSBwcm9iZSBmdW5jdGlvbiBtb3JlIGNsZWFuLgoJLSBS ZWZpbmUgdGhlIHJldHVybiBvZiBfbXQ2MzcwX2ZsYXNoX2JyaWdodG5lc3Nfc2V0IGZ1bmN0aW9u LgoJLSBSZWZpbmUgdGhlIGRlc2NyaXB0aW9ucy4KCS0gVXNlIG10NjM3MF9jbGFtcCgpIGluc3Rl YWQgb2YgY2xhbXBfYWxpZ24oKS4KCS0gVXNlIGRldmljZSByZXNvdXJjZSBtYW5hZ2VkIEFQSSBm b3IgdjRsMiBmbGFzaF9yZWxlYXNlLgoKCkNoYW5nZXMgaW4gdjU6Ci0gSW4gcGF0Y2ggMDcvMTM6 CgktIEFkZCB0aGUgY29tbWEgaW4gdGhlIGxhc3QgUkVHTUFQX0lSUV9SRUdfTElORSgpLAoJICBE RUZJTkVfUkVTX0lSUV9OQU1FRCgpIGFuZCBNRkRfQ0VMTF9SRVMoKQoJLSBBZGQgdGhlIHByZWZp eCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyIG9mIGFsbCBtZmRfY2VsbAoJLSBNb3ZlIGVudW0gYW5k IHN0cnVjdCBtdDYzNzBfaW5mbyB0byBtdDYzNzAuaAoJLSBSZW1vdmUgc3RydWN0IGRldmljZSAq ZGV2IGluIHN0cnVjdCBtdDYzNzBfaW5mbwoJLSBSZXZpc2UgdGhlIGRlc2NyaXB0aW9uIG9mIEtj b25maWcgaGVscCB0ZXh0CgktIFJldmlzZSBNT0RVTEVfREVTQ1JJUFRJT04oKQoKLSBJbiBwYXRj aCAwOC8xMzoKCS0gQWRkIGNvbW1hIGZvciB0aGUgbGFzdCBpbmRleCBvZiBtdDYzNzBfcmVnX2lu aXQuCgktIFVzZSBkZXZfZXJyX3Byb2JlIHRvIGRlY3JlYXNlIExPQy4KCS0gVXNlICdkZXYnIHZh cmlhYmxlIHRvIG1ha2UgcHJvYmUgZnVuY3Rpb24gbW9yZSBjbGVhbi4KCS0gUmVmaW5lIGtjb25m aWcgdGV4dC4KCS0gUmVtb3ZlIGJvdGggJ2Vsc2UnIGluIHNldF92YnVzIGNhbGxiYWNrLgoJLSBS ZW1vdmUgY29tbWEgZm9yIG9mX2RldmljZV9pZCBpZiB0aGUgYXNzaWduZWQgbWVtYmVyIGlzIG9u bHkgb25lLgoKLSBJbiBwYXRjaCAwOS8xMzoKCS0gUmVwbGFjZSB1c2luZyBzbnByaW50ZigpIHdp dGggc3lzZnNfZW1pdCgpIGluIG10NjM3MF9hZGNfcmVhZF9sYWJlbCgpCgktIFJlbW92ZSBtYWNy byBBRENfQ09OVl9USU1FX1VTCgktIFJldmlzZSBhbGwgdmFyaWFibGUgb3JkZXJpbmcKCS0gUmV2 aXNlIHRoZSBkZXNjcmlwdGlvbiBvZiBLY29uZmlnIGhlbHAgdGV4dAoJLSBSZXZpc2UgTU9EVUxF X0RFU0NSSVBUSU9OKCkKCi0gSW4gcGF0Y2ggMTAvMTM6CgktIFJlcGxhY2UgdW5zaWduZWQgaW50 IHR5cGUgb2YgcHdyX3JkeSB3aXRoIGJvb2wgaW4KCSAgbXQ2MzcwX2NoZ19zZXRfb25saW5lKCkK CS0gUmVtb3ZlIHJlZHVuZGFudCAnZWxzZScgaW4gbXQ2MzcwX2NoZ19maWVsZF9nZXQoKQoJLSBS ZXZpc2UgJ2lmLWVsc2UnIGluIG10NjM3MF9jaGdfZmllbGRfc2V0KCkKCS0gUmV2aXNlICdpZicg Y29uZGl0aW9uIGluIG10NjM3MF9jaGdfZW5hYmxlX2lycSgpCgktIFJldmlzZSBhbGwgdGV4dCAn b3RnJyAtLT4gJ09URycKCS0gUmV2aXNlIE1UNjM3MF9NSVZSX0lCVVNfVEhfMTAwX01BIC0tPiBN VDYzNzBfTUlWUl9JQlVTX1RIXzEwMF9tQQoJLSBSZXZpc2UgdGhlIGRlc2NyaXB0aW9uIG9mIEtj b25maWcgaGVscCB0ZXh0CgotIEluIHBhdGNoIDEyLzEzOgoJLSBSZWZpbmUgdGhlIGNvZGluZyBz dHlsZS4KCS0gVXNlICJkZXYiIGluc3RlYWQgb2YgIiZwZGV2LT5kZXYiLgoKLSBJbiBwYXRjaCAx My8xMzoKCS0gQWRkIG1pc3NlZCA8bW9kX2RldmljZXRhYmxlLmg+CgktIEFkZCBzdHJ1Y3QgZGV2 aWNlICpkZXYgaW4gcHJvYmUoKSB0byBtYWtlIGNvZGUgY2xlYW5pbmcKCS0gUmVtb3ZlIHVzZWxl c3MgaW5jbHVkaW5nIGhlYWRlciBmaWxlIDxncGlvL2RyaXZlci5oPiwgPG9mLmg+CgktIFJlbW92 ZSB1c2VsZXNzIHZhcmlhYmxlIHVhc2FnZSBpbiBtdDYzNzBfaW5pdF9iYWNrbGlnaHRfcHJvcGVy dGllcygpCgktIFJlbW92ZSByZWR1bmRhbnQgY2hlY2tpbmcgZW5hYmxlX2dwaW8gaW4gbXQ2Mzcw X2JsX3VwZGF0ZV9zdGF0dXMoKQoJLSBSZW1vdmUgcmVkdW5kYW50IHBhcmVudGhlc2VzIGluIG10 NjM3MF9ibF9nZXRfYnJpZ2h0bmVzcygpCgktIFJldmlzZSB0aGUgZGVzY3JpcHRpb24gb2YgS2Nv bmZpZyBoZWxwIHRleHQKCS0gUmV2aXNlIHRoZSBjYWxjdWxhdGlvbiBvZiBoeXNfdGhfc3RlcHMK CgpDaGFuZ2VzIGluIHY0OgotIEluIHBhdGNoIDAyLzEzOgoJLSBBZGQgbWluSXRlbXMgb2YgImlv LWNoYW5uZWwtbmFtZXMiCgktIFJlcGxhY2UgdGV4dCAiTWVkaWF0ZWsiIHdpdGggIk1lZGlhVGVr IgoKLSBJbiBwYXRjaCAwNi8xMzoKCS0gUm9sbCBiYWNrIGFsbCAiJHJlZjogIiB0byB2MiBwYXRj aCBzdHlsZSAodXNpbmcgIi9zY2hlbWFzLy4uLiIpCgotIEluIHBhdGNoIDA3LzEzOgoJLSBSZXBs YWNlIHRleHQgIk1lZGlhdGVrIiB3aXRoICJNZWRpYVRlayIgaW4gS2NvbmZpZwoJLSBSZXBsYWNl ICJmaXJzdCBicmVhayBhbmQgdGhlbiByZXR1cm4iIHdpdGggInJldHVybiBkaXJlY3RseSIKCSAg aW4gIm10NjM3MF9jaGVja192ZW5kb3JfaW5mbygpIgoJLSBBZGQgbW9kdWxlIG5hbWUgcmVsYXRl ZCBkZXNjcmlwdGlvbiBpbiBLY29uZmlnIGhlbHB0ZXh0CgktIEFkZCBDb3B5cmlnaHQgaW4gdGhl IHNvdXJjZSBjb2RlCgktIEFkZCBoZWFkZXIgZmlsZSAibXQ2MzcwLmgiIGZvciBhbGwgIiNkZWZp bmUgSVJRIgoJLSBBZGp1c3QgTWFrZWZpbGUgb3JkZXIgb2YgTVQ2MzcwCgktIFJlZmluZSAiYmFu a19pZHgiIGFuZCAiYmFua19hZGRyIiBpbgoJICAibXQ2Mzc1X3JlZ21hcF9yZWFkKCkiIC8gIm10 NjM3NV9yZWdtYXBfd3JpdGUoKSIKCS0gUmVmaW5lIHJlZHVuZGFudCAiZWxzZSBpZiIgaW4gIm10 NjM3MF9yZWdtYXBfcmVhZCgpIgoKLSBJbiBwYXRjaCAwOC8xMzoKCS0gUmVwbGFjZSB0ZXh0ICJN ZWRpYXRlayIgd2l0aCAiTWVkaWFUZWsiIGluIEtjb25maWcKCS0gUmVwbGFjZSAiZmlyc3QgcmV0 PXJlZ3VsYXRvcl8oZGlzL2VuKWFibGUgYW5kIHRoZW4gcmV0dXJuIgoJICB3aXRoICJyZXR1cm4g ZGlyZWN0bHkiIGluICJtdDYzNzBfdGNwY19zZXRfdmJ1cygpIgoJLSBSZXBsYWNlIGhlYWRlciBm aWxlIDxsaW51eC9vZi5oPiB3aXRoIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KCS0gQWRkIENv cHlyaWdodCBpbiB0aGUgc291cmNlIGNvZGUKCS0gQWRkIG1vZHVsZSBuYW1lIHJlbGF0ZWQgZGVz Y3JpcHRpb24gaW4gS2NvbmZpZyBoZWxwdGV4dAoJLSBSZW1vdmUgaGVhZGVyIGZpbGUgPGxpbnV4 L29mLmg+CgktIFJlZmluZSBhbGwgcHJvYmUgZXJyb3IgYnkgdXNpbmcgZGV2X2Vycl9wcm9iZSgp CgotIEluIHBhdGNoIDA5LzEzOgoJLSBSZXBsYWNlIHRleHQgIk1lZGlhdGVrIiB3aXRoICJNZWRp YVRlayIKCS0gUmVwbGFjZSBhbGwgImZpcnN0IGRldl9lcnIoKSBhbmQgdGhlbiByZXR1cm4iIHdp dGgKCSAgInJldHVybiBkZXZfZXJyX3Byb2JlKCkiCgktIEFkZCBDb3B5cmlnaHQgaW4gdGhlIHNv dXJjZSBjb2RlCgktIEFkZCBtb2R1bGUgbmFtZSByZWxhdGVkIGRlc2NyaXB0aW9uIGluIEtjb25m aWcKCS0gQWRkIHVuaXQgc3VmZml4IG9mIG1hY3JvICJBRENfQ09OVl9QT0xMSU5HX1RJTUUiCgkt IEFkZCBuZXcgbWFjcm8gIkFEQ19DT05WX1RJTUVfTVMiCgktIEFkanVzdCB0aGUgcG9zaXRpb24g b2YgaW5jbHVkZSBmaWxlIDxtZWRpYXRlayxtdDYzNzBfYWRjLmg+CgktIEFkanVzdCB0aGUgcG9z dGlvbnMgYmV0d2VlbiA8bGludXgvbW9kdWxlLmg+IGFuZAoJICAgPGxpbnV4L21vZF9kZXZpY2V0 YWJsZS5oPgoJLSBGaXggc29tZSBpbmNvcnJlY3QgY2hhcmFjdGVycwoKLSBJbiBwYXRjaCAxMC8x MzoKCS0gUmVwbGFjZSB0ZXh0ICJNZWRpYXRlayIgd2l0aCAiTWVkaWFUZWsiIGluIEtjb25maWcg YW5kCgkgIE1PRFVMRV9ERVNDUklQVElPTigpCgktIFJlcGxhY2UgIm10NjM3MF9jaGdfdmFsX3Rv X3JlZyIgYW5kICJtdDYzNzBfY2hnX3JlZ190b192YWwiCgkgIHdpdGggImxpbmVhcl9yYW5nZSIg QVBJCgktIFJlcGxhY2UgImZpcnN0IGJyZWFrIGFuZCB0aGVuIHJldHVybiIgd2l0aCAicmV0dXJu IGRpcmVjdGx5IgoJICBpbiBhbGwgY2FzZXMgb2YgZ2V0L3NldCBwb3dlcl9zdXBwbHlfcHJvcGVy dHkKCS0gUmVwbGFjZSBhbGwgImZpcnN0IGRldl9lcnIoKSBhbmQgdGhlbiByZXR1cm4iIHdpdGgg InJldHVybgoJICBkZXZfZXJyX3Byb2JlKCkiCgktIFJlcGxhY2UgYWxsICJyZXR1cm4gSVNfRVJS KHByaXYtPnJkZXYpID8gUFRSX0VSUihwcml2LT5yZGV2KSA6IDAiCgkgIHdpdGggIlBUUl9FUlJf T1JfWkVSTygpIgoJLSBSZXBsYWNlICJwcml2LT5kZXYtPm9mX25vZGUiIHdpdGggImRldl9vZl9u b2RlKCkiCgktIEFkZCBDb3B5cmlnaHQgaW4gdGhlIHNvdXJjZSBjb2RlCgktIEFkZCBtb2R1bGUg bmFtZSByZWxhdGVkIGRlc2NyaXB0aW9uIGluIEtjb25maWcgaGVscHRleHQKCS0gQWRkIHByb3Bl ciB1bml0IG9mICJNVDYzNzBfTUlWUl9JQlVTX1RIIgoJLSBBZGQgZXJyb3IgY2hlY2sgaW4gIm10 NjM3MF9jaGdfZ2V0X3N0YXR1cyIKCS0gUmVtb3ZlIGluY2x1ZGluZyA8bWVkaWF0ZWssbXQ2Mzcw X2FkYy5oPiBoZWFkZXIgZmlsZQoJLSBSZW1vdmUgcmVkdW5kYW50IGNvbW1hIG9mIGV2ZXJ5IGVu dW0gdGVybWluYXRvciBsaW5lCgktIFJlbW92ZSB1bndhbnRlZCBibGFuayBsaW5lcwoJLSBSZW1v dmUgdGhlIHVzZWxlc3MgbGFiZWwgKHRvZ2dsZV9jZm9fZXhpdDopCgktIFJlbW92ZSB1c2luZyBh dG9taWMKCS0gUmVtb3ZlIHVzaW5nIG9mX21hdGNoX3B0cigpCgktIEZpeCBzb21lIGluY29ycmVj dCBjaGFyYWN0ZXJzCgktIEZpeCB1cGRhdGluZyB3cm9uZyBiaXRzIHdoZW4gdXNpbmcgZW5hX2dw aW9kIG9mIE9URyByZWd1bGF0b3IKCS0gQWRqdXN0IHRoZSBwcm9iZSBvcmRlciBpbiBwcm9iZSgp CgotIEluIHBhdGNoIDExLzEzOgoJLSBSZXBsYWNlIHRleHQgIk1lZGlhdGVrIiB3aXRoICJNZWRp YVRlayIgaW4gS2NvbmZpZwoJLSBSZXBsYWNlIHRleHQgImNvbnN0IiB3aXRoICJjb25zdGFudCIg aW4gS2NvbmZpZwoJLSBBZGQgQ29weXJpZ2h0IGluIHRoZSBzb3VyY2UgY29kZQoKLSBJbiBwYXRj aCAxMi8xMzoKCS0gUmVwbGFjZSB0ZXh0ICJNZWRpYXRlayIgd2l0aCAiTWVkaWFUZWsiIGluIEtj b25maWcKCS0gQWRkIENvcHlyaWdodCBpbiB0aGUgc291cmNlIGNvZGUKCi0gSW4gcGF0Y2ggMTMv MTM6CgktIFJlcGxhY2UgdGV4dCAiTWVkaWF0ZWsiIHdpdGggIk1lZGlhVGVrIiBpbiBLY29uZmln CgktIEFkZCBDb3B5cmlnaHQgaW4gdGhlIHNvdXJjZSBjb2RlCgktIFJldmlzZSB0aGUgY29tbWVu dCBvZiAiUFdNIEhZUyBTVEVQUyIKCgpDaGFuZ2VzIGluIHYzOgotIFJlbW92ZSBBREMgQUJJIGZp bGUsIHdoaWNoIGlzIGFkZGVkIGluIHYyIFBhdGNoIDcKLSBJbiBwYXRjaCAwMi8xNDoKCS0gQWRk IGl0ZW1zIGFuZCByZW1vdmUgbWF4SXRlbXMgb2YgaW8tY2hhbm5lbHMKCS0gQWRkIGlvLWNoYW5u ZWwtbmFtZXMgYW5kIGRlc2NyaWJlIGVhY2ggaXRlbQoJLSBBZGQgInVuZXZhbHVhdGVkUHJvcGVy dGllczogZmFsc2UiIGluICJ1c2Itb3RnLXZidXMtcmVndWxhdG9yIgoJLSBSZW5hbWUgImVuYWJs ZS1ncGlvIiB0byAiZW5hYmxlLWdwaW9zIiBpbiAidXNiLW90Zy12YnVzLXJlZ3VsYXRvciIKCi0g SW4gcGF0Y2ggMDMvMTQ6CgktIFVzZSBsZWRzLWNsYXNzLW11bHRpY29sb3IueWFtbCBpbnN0ZWFk IG9mIGNvbW1vbi55YW1sLgoJLSBTcGxpdCBtdWx0aS1sZWQgYW5kIGxlZCBub2RlLgoJLSBBZGQg c3ViZGV2aWNlICJsZWQiIGluICJtdWx0aS1sZWQiLgoKLSBJbiBwYXRjaCAwNC8xNDoKCS0gUmVt b3ZlIHRoZSBkZXNjcmlwdGlvbiBvZiBlbnVtLgoKLSBJbiBwYXRjaCAwNS8xNDoKCS0gUmVuYW1l ICJtZWRpYXRlayxibGVkLXB3bS1oeXMtaW5wdXQtdGhyZXNob2xkLXN0ZXBzIiB0bwoJICAibWVk aWF0ZWssYmxlZC1wd20taHlzLWlucHV0LXRoLXN0ZXBzIgoJLSBSZWZpbmUgImJsZWQtcHdtLWh5 cy1pbnB1dC10aC1zdGVwcyIsICJibGVkLW92cC1taWNyb3ZvbHQiLAoJICAiYmxlZC1vY3AtbWlj cm9hbXAiIGVudW0gdmFsdWVzCgotIEluIHBhdGNoIDA2LzE0OgoJLSBVc2UgIiBpbiBlbnRpcmUg cGF0Y2hzZXQKCS0gUmVmaW5lIEFEQyBkZXNjcmlwdGlvbgoJLSBSZW5hbWUgImVuYWJsZS1ncGlv IiB0byAiZW5hYmxlLWdwaW9zIiBpbiAicmVndWFsdG9yIgoKLSBJbiBwYXRjaCAwNy8xNDoKCS0g UmVmaW5lIEtjb25maWcgaGVscCB0ZXh0CgktIFJlZmluZSBlcnJvciBtZXNzYWdlIG9mIHVua25v d24gdmVuZG9yIElEIGluCgkgIG10NjM3MF9jaGVja192ZW5kb3JfaW5mbygpCgktIFJlZmluZSBy ZXR1cm4gdmFsdWUgaGFuZGxpbmcgb2YgbXQ2MzcwX3JlZ21hcF9yZWFkKCkKCS0gUmVmaW5lIGFs bCBwcm9iZSBlcnJvciBieSB1c2luZyBkZXZfZXJyX3Byb2JlKCkKCS0gUmVmaW5lICJiYW5rX2lk eCIgYW5kICJiYW5rX2FkZHIiIGluIG10NjM3MF9yZWdtYXBfcmVhZCgpIGFuZAoJICBtdDYzNzBf cmVnbWFwX3dyaXRlKCkKCS0gQWRkICIjZGVmaW5lIFZFTklEKiIgYW5kIGRyb3AgdGhlIGNvbW1l bnRzIGluCgkgIG10NjM3MF9jaGVja192ZW5kb3JfaW5mbygpCgktIERyb3AgIk1GRCIgaW4gTU9E VUxFX0RFU0NSSVBUSU9OKCkKCi0gSW4gcGF0Y2ggMDkvMTQ6CgktIFJlZmluZSBLY29uZmlnIGhl bHAgdGV4dAoKLSBJbiBwYXRjaCAxMC8xNDoKCS0gUmVmaW5lIEtjb25maWcgaGVscCB0ZXh0Cgkt IFJlZmluZSBhbGwgY2hhbm5lbCB2YWx1ZSBpbiByZWFkX3NjYWxlKCkKCQlhLiBjdXJyZW50OiB1 QSAtLT4gbUEKCQliLiB2b2x0YWdlOiB1ViAtLT4gbVYKCQljLiB0ZW1wZXJhdHVyZTogZGVncmVl cyBDZWxzaXVzIC0tPiBtaWxsaSBkZWdyZWVzIENlbHNpdXMKCS0gQWRkICJkZWZhdWx0OiIgY29u ZGl0aW9uIG9mIHN3aXRjaCBzdGF0ZW1lbnQgaW4gcmVhZF9zY2FsZSgpIGFuZCByZWFkX3Jhdygp CgktIEFkZCBlcnJvciBtZXNzYWdlIGZvciByZWFkaW5nIEFEQyByZWdpc3RlciBmYWlsZWQKCS0g QWRkIHRoZSBjb21tZW50IGZvciBhZGNfbG9jawoJLSBBZGQgPGxpbnV4L21vZF9kZXZpY2V0YWJs ZS5oPiBoZWFkZXIgZmlsZSBmb3Igc3RydWN0IG9mX2RldmljZV9pZAoJLSBSZXBsYWNlICJhZGMi IHRleHQgd2l0aCAiQURDIiBpbiBhbGwgb2YgdGhlIGVycm9yIG1lc3NhZ2VzCgotIEluIHBhdGNo IDEyLzE0OgoJLSBSZWZpbmUgdGhlIGdyYW1tZXIgb2YgdGhlIEtjb25maWcuCgktIENoYW5nZSBy ZWcgbW9kZSB0byB0aGUgY29uc3QgY3VycmVudCBtb2RlLgoKLSBJbiBwYXRjaCAxNC8xNDoKCS0g UmVmaW5lIGJvb2wgcHJvcGVydGllcyBwYXJzaW5nIChwd20tZW5hYmxlLCBvdnAtc2h1dGRvd24s IG9jcC1zaHV0ZG93bikgaW4gRFQKCSAgcGFyc2luZyBmdW5jdGlvbgoJLSBSZWZpbmUgdTMyIGFu ZCB1OCBwcm9wZXJ0aWVzIHBhcnNpbmcgKHB3bS1oeXMtaW5wdXQtdGgtc3RlcHMsIG92cC1taWNy b3ZvbHQsCgkgIG9jcC1taWNyb2FtcCksIGZyb20gdXNpbmcgcmVnaXN0ZXIgdmFsdWUgdG8gdXNp bmcgYWN0dWFsIHZhbHVlCgktIFJlZmluZSBlcnJvciBzdHJpbmcgb2YgImNoYW5ubGUtdXNlIiBw YXJzaW5nIGZhaWxlZAoJLSBSZWZpbmUgS2NvbmZpZyBoZWxwIHRleHQKCgpDaGFuZ2VzIGluIHYy OgotIEluIHBhdGNoIDAxLzE1OgoJLSBBZGQgInVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2Ui LgoJLSBEZWxldGUgIkRUIGJpbmRpbmdzIi4KCS0gUmVmaW5lIHRoZSBkZXNjcmlwdGlvbiB0byBm aXQgaW4gODAgY29sdW1ucy4KCS0gU2tpcCB0aGUgY29ubmVjdG9yIGRlc2NyaXB0aW9uLgoKLSBJ biBwYXRjaCAwMi8xNToKCS0gUmVmaW5lIGl0ZW1zIGRlc2NyaXB0aW9uIG9mIGludGVycnVwdC1u YW1lCgktIFJlbmFtZSAidXNiLW90Zy12YnVzIiB0byAidXNiLW90Zy12YnVzLXJlZ3VsYXRvciIK CS0gQWRkIGNvbnN0cmFpbnQgcHJvcGVydGllcyBmb3IgQURDCgotIEluIHBhdGNoIDAzLzE1OgoJ LSBTa2lwIG5vdCB1c2VmdWwgZGVzY3JpcHRpb24gb2YgIl4obXVsdGktKT9sZWRAWzAtM10kIgoJ ICBhbmQgcmVnLgoJLSBEdWUgdG8gdGhlIGRlcGVuZGVuY3ksIHJlbW92ZSB0aGUgbWVudGlvbiBv ZiBtZmQKCSAgZG9jdW1lbnQgZGlyZWN0b3J5LgoJLSBEZWxldGUgU29mdC1zdGFydCBwcm9wZXJ0 eS4gSW4gZGVzaWduIGFzcGVjdCwgd2UgdGhpbmsKCSAgc29mdC1yZXN0YXJ0IHNob3VsZCBhbHdh eXMgYmUgZW5hYmxlZCwgb3VyIG5ldyBjaGlwCgkgIGhhcyBkZWxldGVkIHRoZSByZWxhdGVkIHNl dHRpbmcgcmVnaXN0ZXIgLCBhbHNvLCB3ZSBkb27igJl0CgkgIGFsbG93IHVzZXIgYWRqdXN0IHRo aXMgcGFyYW1ldGVyIGluIHRoaXMgY2hpcC4KCS0gUmVmaW5lIHRoZSBjb21taXQgbWVzc2FnZS4K Ci0gSW4gcGF0Y2ggMDQvMTU6CgktIFNraXAgbm90IHVzZWZ1bCBkZXNjcmlwdGlvbiBvZiAiXmxl ZEBbMC0xXSQiIGFuZCByZWcuCgktIEFkZCBhcGFjZSBhZnRlciAnIycuCgktIFJlZmluZSB0aGUg Y29tbWl0IG1lc3NhZ2UuCgotIEluIHBhdGNoIDA1LzE1OgoJLSBSZW1vdmUgImJpbmRpbmcgZG9j dW1lbnRhdGlvbiIgaW4gc3ViamVjdCB0aXRsZQoJLSBSZWZpbmUgZGVzY3JpcHRpb24gb2YgbXQ2 MzcwIGJhY2tsaWdodCBiaW5kaW5nCgkgIGRvY3VtZW50CgktIFJlZmluZSBwcm9wZXJ0aWVzIG5h bWUoYmxlZC1wd20taHlzLWlucHV0LWJpdCwKCSAgYmxlZC1vdnAtbWljcm92b2x0LCBibGVkLW9j cC1taWNyb2FtcCkgYW5kIHRoZWlyCgkgIGRlc2NyaXB0aW9uCgotIEluIHBhdGNoIDA2LzE1OgoJ LSBSZWZpbmUgQURDIGFuZCBSZWd1bGF0b3IgZGVzY3JpcHRpb25zCgktIFJlZmluZSBpbmNsdWRl IGhlYWRlciB1c2FnZSBpbiBleGFtcGxlCgktIFJlZmluZSBub2RlIG5hbWUgdG8gZ2VuZXJpYyBu b2RlIG5hbWUoInBtaWNAMzQiKQoJLSBSZWZpbmUgbGVkIGV4YW1wbGUgaW5kZW50YXRpb24KCS0g UmVmaW5lIGxpY2Vuc2Ugb2YgbWVkaWF0ZWssbXQ2MzcwX2FkYy5oCgktIFJlbmFtZSB0aGUgZHRz IGV4YW1wbGUgZnJvbSBJUlEgZGVmaW5lIHRvIG51bWJlci4KCS0gUmVtb3ZlIG1lZGlhdGVrLG10 NjM3MC5oCgotIEluIHBhdGNoIDA3LzE1OgoJLSBBZGQgQUJJIGRvY3VtZW50YXRpb24gZm9yIG10 NjM3MCBub24tc3RhbmRhcmQgQURDCgkgIHN5c2ZzIGludGVyZmFjZXMuCgotIEluIHBhdGNoIDA4 LzE1OgoJLSBBZGQgYWxsIElSUSBkZWZpbmUgaW50byBtdDYzNzAuYy4KCS0gUmVmaW5lIGluY2x1 ZGUgaGVhZGVyIHVzYWdlCgotIEluIHBhdGNoIDA5LzE1OgoJLSBObyBjaGFuZ2VzLgoKLSBJbiBw YXRjaCAxMC8xNToKCS0gVXNlICdncGlvZF9nZXRfZnJvbV9vZl9ub2RlJyB0byByZXBsYWNlCgkg ICdmd25vZGVfZ3Bpb2RfZ2V0X2luZGV4Jy4KCi0gSW4gcGF0Y2ggMTEvMTU6CgktIFJlZmluZSBL Y29uZmlnIG10NjM3MCBoZWxwIHRleHQKCS0gUmVmaW5lIG1hc2smc2hpZnQgdG8gRklFTERfUFJF UCgpCgktIFJlZmluZSBtdXRleCBsb2NrIG5hbWUgKCJsb2NrIiAtPiAiYWRjX2xvY2siKQoJLSBS ZWZpbmUgbXQ2MzcwX2FkY19yZWFkX3NjYWxlKCkKCS0gUmVmaW5lIG10NjM3MF9hZGNfcmVhZF9v ZmZzZXQoKQoJLSBSZWZpbmUgbXQ2MzcwX2NoYW5uZWxfbGFiZWxzW10gYnkgdXNpbmcgZW51bSB0 byBpbmRleAoJICBjaGFuIHNwZWMKCS0gUmVmaW5lIE1UNjM3MF9BRENfQ0hBTigpCgktIFJlZmlu ZSBpbmRpb19kZXYtPm5hbWUKCS0gUmVtb3ZlIHVzZWxlc3MgaW5jbHVkZSBoZWFkZXIgZmlsZXMK Ci0gSW4gcGF0Y2ggMTIvMTU6CgktIFJlZmluZSBtdDYzNzBfY2hnX290Z19yZGVzYy5vZl9tYXRj aAoJICAoIm10NjM3MCxvdGctdmJ1cyIgLT4gInVzYi1vdGctdmJ1cy1yZWd1bGF0b3IiKSB0byBt YXRjaAoJICBEVCBiaW5kaW5nCgotIEluIHBhdGNoIDEzLzE1OgoJLSBSZWZpbmUgS2NvbmZpZyBk ZXNjcmlwdGlvbi4KCS0gUmVtb3ZlIGluY2x1ZGUgImxpbnV4L29mLmgiIGFuZCB1c2UKCSAgImxp bnV4L21vZF9kZXZpY2V0YWJsZS5oIi4KCS0gUGxhY2UgYSBjb21tYSBmb3IgdGhlIGxhc3QgZWxl bWVudCBvZiB0aGUgY29uc3QKCSAgdW5zaWduZWQgaW50IGFycmF5LgoJLSBBZGQgYSBjb21tZW50 IGxpbmUgZm9yIHRoZSBtdXRleCAnbG9jaycuCgktIEluIHByb2JlIGZ1bmN0aW9uLCB1c2UgJ2Rl dl9lcnJfcHJvYmUnIGluIHNvbWUKCSAganVkZ2VtZW50IHRvIHJlZHVjZSB0aGUgTE9DLgoJLSBS ZWZpbmUgaW5jbHVkZSBoZWFkZXIgdXNhZ2UuCgkgIEJJVC9HRU5NQVNLIC0+IGxpbnV4L2JpdHMu aAoJICBGSUVMRF9HRVQgLT4gbGludXgvYml0ZmllbGQuaAoKLSBJbiBwYXRjaCAxNC8xNToKCS0g QWRkIGJsYW5rIGxpbmUuCgktIFJlcGxhY2UgY29udGFpbmVyX29mKCkgd2l0aCB0b19tdDYzNzBf bGVkKCkgLgoJLSBSZWZpbmUgZGVzY3JpcHRpb24gb2YgcmFtcGluZy4KCS0gUmVmaW5lIHRoZSBt dDYzNzBfaW5pdF9jb21tb25fcHJvcGVydGllcyBmdW5jdGlvbi4KCS0gUmVmaW5lIHRoZSBwcm9i ZSByZXR1cm4uCgotIEluIHBhdGNoIDE1LzE1OgoJLSBSZWZpbmUgTVQ2MzcwIGhlbHAgdGV4dCBp biBLY29uZmlnCgktIFJlZmluZSBEVCBQYXJzZSBmdW5jdGlvbgoJLSBSZW1vdmUgdXNlbGVzcyBl bnVtCgktIEFkZCBjb21tZW50IGZvciA2MzcyIGJhY2t3YXJkIGNvbXBhdGlibGUgaW4KCSAgYmxf dXBkYXRlX3N0YXR1cygpIGFuZAoJICBjaGVja192ZW5kb3JfaW5mbygpCgktIFVzaW5nIGRldl9l cnJfcHJvYmUoKTsgaW5zdGVhZHMgZGV2X2VycigpJnJldHVybjsgaW4KCSAgdGhlIHByb2JlKCkK CgpBbGljZSBDaGVuICgyKToKICBkdC1iaW5kaW5nczogbGVkczogQWRkIE1lZGlhVGVrIE1UNjM3 MCBmbGFzaGxpZ2h0CiAgbGVkczogZmxhc2g6IG10NjM3MDogQWRkIE1lZGlhVGVrIE1UNjM3MCBm bGFzaGxpZ2h0IHN1cHBvcnQKCkNoaVl1YW4gSHVhbmcgKDcpOgogIGR0LWJpbmRpbmdzOiB1c2I6 IEFkZCBNZWRpYVRlayBNVDYzNzAgVENQQwogIGR0LWJpbmRpbmdzOiBsZWRzOiBtdDYzNzA6IEFk ZCBNZWRpYVRlayBNVDYzNzAgY3VycmVudCBzaW5rIHR5cGUgTEVECiAgICBpbmRpY2F0b3IKICBk dC1iaW5kaW5nczogYmFja2xpZ2h0OiBBZGQgTWVkaWFUZWsgTVQ2MzcwIGJhY2tsaWdodAogIGR0 LWJpbmRpbmdzOiBtZmQ6IEFkZCBNZWRpYVRlayBNVDYzNzAKICBtZmQ6IG10NjM3MDogQWRkIE1l ZGlhVGVrIE1UNjM3MCBzdXBwb3J0CiAgdXNiOiB0eXBlYzogdGNwY2lfbXQ2MzcwOiBBZGQgTWVk aWFUZWsgTVQ2MzcwIHRjcGNpIGRyaXZlcgogIGxlZHM6IHJnYjogbXQ2MzcwOiBBZGQgTWVkaWFU ZWsgTVQ2MzcwIGN1cnJlbnQgc2luayB0eXBlIExFRCBJbmRpY2F0b3IKICAgIHN1cHBvcnQKCkNo aWFFbiBXdSAoNCk6CiAgZHQtYmluZGluZ3M6IHBvd2VyOiBzdXBwbHk6IEFkZCBNZWRpYVRlayBN VDYzNzAgQ2hhcmdlcgogIGlpbzogYWRjOiBtdDYzNzA6IEFkZCBNZWRpYVRlayBNVDYzNzAgc3Vw cG9ydAogIHBvd2VyOiBzdXBwbHk6IG10NjM3MDogQWRkIE1lZGlhVGVrIE1UNjM3MCBjaGFyZ2Vy IGRyaXZlcgogIHZpZGVvOiBiYWNrbGlnaHQ6IG10NjM3MDogQWRkIE1lZGlhVGVrIE1UNjM3MCBz dXBwb3J0CgogLi4uL2xlZHMvYmFja2xpZ2h0L21lZGlhdGVrLG10NjM3MC1iYWNrbGlnaHQueWFt bCAgfCAgMTIxICsrKwogLi4uL2JpbmRpbmdzL2xlZHMvbWVkaWF0ZWssbXQ2MzcwLWZsYXNobGln aHQueWFtbCAgfCAgIDQxICsKIC4uLi9iaW5kaW5ncy9sZWRzL21lZGlhdGVrLG10NjM3MC1pbmRp Y2F0b3IueWFtbCAgIHwgICA4MSArKwogLi4uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL21lZGlh dGVrLG10NjM3MC55YW1sICAgfCAgMjgwICsrKysrKwogLi4uL3Bvd2VyL3N1cHBseS9tZWRpYXRl ayxtdDYzNzAtY2hhcmdlci55YW1sICAgICAgfCAgIDg4ICsrCiAuLi4vYmluZGluZ3MvdXNiL21l ZGlhdGVrLG10NjM3MC10Y3BjLnlhbWwgICAgICAgICB8ICAgMzYgKwogZHJpdmVycy9paW8vYWRj L0tjb25maWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEyICsKIGRyaXZlcnMvaWlv L2FkYy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBkcml2ZXJz L2lpby9hZGMvbXQ2MzcwLWFkYy5jICAgICAgICAgICAgICAgICAgICAgICB8ICAzMDUgKysrKysr CiBkcml2ZXJzL2xlZHMvZmxhc2gvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg MTIgKwogZHJpdmVycy9sZWRzL2ZsYXNoL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAxICsKIGRyaXZlcnMvbGVkcy9mbGFzaC9sZWRzLW10NjM3MC1mbGFzaC5jICAgICAgICAg ICAgIHwgIDYzMiArKysrKysrKysrKysKIGRyaXZlcnMvbGVkcy9yZ2IvS2NvbmZpZyAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAxMyArCiBkcml2ZXJzL2xlZHMvcmdiL01ha2VmaWxlICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogZHJpdmVycy9sZWRzL3JnYi9sZWRzLW10 NjM3MC1yZ2IuYyAgICAgICAgICAgICAgICAgfCAxMDIyICsrKysrKysrKysrKysrKysrKysrCiBk cml2ZXJzL21mZC9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTYg KwogZHJpdmVycy9tZmQvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAxICsKIGRyaXZlcnMvbWZkL210NjM3MC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDMxMiArKysrKysKIGRyaXZlcnMvbWZkL210NjM3MC5oICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICA5OSArKwogZHJpdmVycy9wb3dlci9zdXBwbHkvS2NvbmZpZyAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDE0ICsKIGRyaXZlcnMvcG93ZXIvc3VwcGx5L01ha2VmaWxlICAg ICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBkcml2ZXJzL3Bvd2VyL3N1cHBseS9tdDYzNzAt Y2hhcmdlci5jICAgICAgICAgICAgICB8ICA5NjUgKysrKysrKysrKysrKysrKysrCiBkcml2ZXJz L3VzYi90eXBlYy90Y3BtL0tjb25maWcgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKwogZHJp dmVycy91c2IvdHlwZWMvdGNwbS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgfCAgICAxICsK IGRyaXZlcnMvdXNiL3R5cGVjL3RjcG0vdGNwY2lfbXQ2MzcwLmMgICAgICAgICAgICAgIHwgIDIw NyArKysrCiBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9LY29uZmlnICAgICAgICAgICAgICAgICAg ICB8ICAgMTMgKwogZHJpdmVycy92aWRlby9iYWNrbGlnaHQvTWFrZWZpbGUgICAgICAgICAgICAg ICAgICAgfCAgICAxICsKIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L210NjM3MC1iYWNrbGlnaHQu YyAgICAgICAgIHwgIDM1MSArKysrKysrCiBpbmNsdWRlL2R0LWJpbmRpbmdzL2lpby9hZGMvbWVk aWF0ZWssbXQ2MzcwX2FkYy5oICB8ICAgMTggKwogMjkgZmlsZXMgY2hhbmdlZCwgNDY1NiBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL2xlZHMvYmFja2xpZ2h0L21lZGlhdGVrLG10NjM3MC1iYWNrbGlnaHQueWFtbAogY3Jl YXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9sZWRzL21l ZGlhdGVrLG10NjM3MC1mbGFzaGxpZ2h0LnlhbWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbGVkcy9tZWRpYXRlayxtdDYzNzAtaW5kaWNhdG9y LnlhbWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvbWZkL21lZGlhdGVrLG10NjM3MC55YW1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRh dGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3N1cHBseS9tZWRpYXRlayxtdDYzNzAtY2hh cmdlci55YW1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL3VzYi9tZWRpYXRlayxtdDYzNzAtdGNwYy55YW1sCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9paW8vYWRjL210NjM3MC1hZGMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv bGVkcy9mbGFzaC9sZWRzLW10NjM3MC1mbGFzaC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9sZWRzL3JnYi9sZWRzLW10NjM3MC1yZ2IuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv bWZkL210NjM3MC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZmQvbXQ2MzcwLmgKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3Bvd2VyL3N1cHBseS9tdDYzNzAtY2hhcmdlci5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy91c2IvdHlwZWMvdGNwbS90Y3BjaV9tdDYzNzAuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L210NjM3MC1iYWNrbGln aHQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvZHQtYmluZGluZ3MvaWlvL2FkYy9tZWRp YXRlayxtdDYzNzBfYWRjLmgKCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK