From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Mon, 30 Mar 2020 13:32:17 +0000 Subject: [PATCH v2 2/2] powerpc: Remove Xilinx PPC405/PPC440 support Message-Id: <9c3e02ffa9812c6f046708b45932d40f33e8817a.1585575111.git.michal.simek@xilinx.com> List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1254" Content-Transfer-Encoding: base64 To: linux-kernel@vger.kernel.org, monstr@monstr.eu, michal.simek@xilinx.com, git@xilinx.com, sfr@canb.auug.org.au, maz@kernel.org Cc: Kate Stewart , Mark Rutland , "Desnes A. Nunes do Rosario" , Geert Uytterhoeven , linux-doc@vger.kernel.org, linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Paul Mackerras , Miquel Raynal , Mauro Carvalho Chehab , Sasha Levin , Jonathan Corbet , Michael Ellerman , Masahiro Yamada , YueHaibing , Krzysztof Kozlowski , Allison Randal , Matt Porter , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Andrew Donnellan , Arnd Bergmann , Bartlomiej Zolnierkiewicz , Alistair Popple , linuxppc-dev@lists.ozlabs.org, Nicholas Piggin , Alexios Zavras , Rob Herring , Jonathan Cameron , Thomas Gleixner , Andy Shevchenko , Dmitry Vyukov , Christophe Leroy , Wei Hu , Greg Kroah-Hartman , Nick Desaulniers , Enrico Weigelt , "David S. Miller" , Thiago Jung Bauermann VGhlIGxhdGVzdCBYaWxpbnggZGVzaWduIHRvb2xzIGNhbGxlZCBJU0UgYW5kIEVESyBoYXMgYmVl biByZWxlYXNlZCBpbgpPY3RvYmVyIDIwMTMuIE5ldyB0b29sIGRvZXNuJ3Qgc3VwcG9ydCBhbnkg UFBDNDA1L1BQQzQ0MCBuZXcgZGVzaWducy4KVGhlc2UgcGxhdGZvcm1zIGFyZSBubyBsb25nZXIg c3VwcG9ydGVkIGFuZCB0ZXN0ZWQuCgpQb3dlclBDIDQwNS80NDAgcG9ydCBpcyBvcnBoYW4gZnJv bSAyMDEzIGJ5CmNvbW1pdCBjZGViODk5NDNiZmMgKCJNQUlOVEFJTkVSUzogRml4IGluY29ycmVj dCBzdGF0dXMgdGFnIikgYW5kCmNvbW1pdCAxOTYyNDIzNmNjZTEgKCJNQUlOVEFJTkVSUzogVXBk YXRlIEdyYW50J3MgZW1haWwgYWRkcmVzcyBhbmQgbWFpbnRhaW5lcnNoaXAiKQp0aGF0J3Mgd2h5 IGl0IGlzIHRpbWUgdG8gcmVtb3ZlIHRoZSBzdXBwb3J0IGZvdCB0aGVzZSBwbGF0Zm9ybXMuCgpT aWduZWQtb2ZmLWJ5OiBNaWNoYWwgU2ltZWsgPG1pY2hhbC5zaW1la0B4aWxpbnguY29tPgpBY2tl ZC1ieTogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KLS0tCgpDaGFuZ2VzIGluIHYyOgot IEJhc2VkIG9uIG15IGNoYXQgd2l0aCBBcm5kIEkgcmVtb3ZlZCBhcmNoL3Bvd2VycGMveG1vbi8g Y2hhbmdlcyBkb25lIGluCiAgdjEgdG8ga2VlcCB0aGVtIHRoZSBzYW1lIGFzIGJlZm9yZS4gKGti dWlsZCByZXBvcnRlZCBzb21lIGlzc3VlcyB3aXRoIGl0CiAgdG9vKQoKIERvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy94aWxpbngudHh0IHwgMTQzIC0tLS0tLQogRG9jdW1lbnRhdGlv bi9wb3dlcnBjL2Jvb3R3cmFwcGVyLnJzdCAgICAgICAgfCAgMjggKy0KIE1BSU5UQUlORVJTICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2IC0KIGFyY2gvcG93ZXJwYy9LY29u ZmlnLmRlYnVnICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBhcmNoL3Bvd2VycGMvYm9vdC9N YWtlZmlsZSAgICAgICAgICAgICAgICAgICB8ICAgNyArLQogYXJjaC9wb3dlcnBjL2Jvb3QvZHRz L01ha2VmaWxlICAgICAgICAgICAgICAgfCAgIDEgLQogYXJjaC9wb3dlcnBjL2Jvb3QvZHRzL3Zp cnRleDQ0MC1tbDUwNy5kdHMgICAgfCA0MDYgLS0tLS0tLS0tLS0tLS0tLQogYXJjaC9wb3dlcnBj L2Jvb3QvZHRzL3ZpcnRleDQ0MC1tbDUxMC5kdHMgICAgfCA0NjYgLS0tLS0tLS0tLS0tLS0tLS0t LQogYXJjaC9wb3dlcnBjL2Jvb3Qvb3BzLmggICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQog YXJjaC9wb3dlcnBjL2Jvb3Qvc2VyaWFsLmMgICAgICAgICAgICAgICAgICAgfCAgIDUgLQogYXJj aC9wb3dlcnBjL2Jvb3QvdWFydGxpdGUuYyAgICAgICAgICAgICAgICAgfCAgNzkgLS0tLQogYXJj aC9wb3dlcnBjL2Jvb3QvdmlydGV4LmMgICAgICAgICAgICAgICAgICAgfCAgOTcgLS0tLQogYXJj aC9wb3dlcnBjL2Jvb3QvdmlydGV4NDA1LWhlYWQuUyAgICAgICAgICAgfCAgMzEgLS0KIGFyY2gv cG93ZXJwYy9ib290L3dyYXBwZXIgICAgICAgICAgICAgICAgICAgIHwgICA4IC0KIGFyY2gvcG93 ZXJwYy9jb25maWdzLzQweC92aXJ0ZXhfZGVmY29uZmlnICAgIHwgIDc1IC0tLQogYXJjaC9wb3dl cnBjL2NvbmZpZ3MvNDR4L3ZpcnRleDVfZGVmY29uZmlnICAgfCAgNzQgLS0tCiBhcmNoL3Bvd2Vy cGMvY29uZmlncy9wcGM0MHhfZGVmY29uZmlnICAgICAgICB8ICAgOCAtCiBhcmNoL3Bvd2VycGMv Y29uZmlncy9wcGM0NHhfZGVmY29uZmlnICAgICAgICB8ICAgOCAtCiBhcmNoL3Bvd2VycGMvaW5j bHVkZS9hc20veGlsaW54X2ludGMuaCAgICAgICB8ICAxNiAtCiBhcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20veGlsaW54X3BjaS5oICAgICAgICB8ICAyMSAtCiBhcmNoL3Bvd2VycGMva2VybmVsL2Nw dXRhYmxlLmMgICAgICAgICAgICAgICB8ICAzOSAtLQogYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy80 MHgvS2NvbmZpZyAgICAgICAgICAgfCAgMzEgLS0KIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4 L01ha2VmaWxlICAgICAgICAgIHwgICAxIC0KIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4L3Zp cnRleC5jICAgICAgICAgIHwgIDU0IC0tLQogYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy80NHgvS2Nv bmZpZyAgICAgICAgICAgfCAgMzcgLS0KIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDR4L01ha2Vm aWxlICAgICAgICAgIHwgICAyIC0KIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDR4L3ZpcnRleC5j ICAgICAgICAgIHwgIDYwIC0tLQogYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy80NHgvdmlydGV4X21s NTEwLmMgICAgfCAgMzAgLS0KIGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvS2NvbmZpZyAgICAgICAg ICAgICAgIHwgICA0IC0KIGFyY2gvcG93ZXJwYy9zeXNkZXYvTWFrZWZpbGUgICAgICAgICAgICAg ICAgIHwgICAyIC0KIGFyY2gvcG93ZXJwYy9zeXNkZXYveGlsaW54X2ludGMuYyAgICAgICAgICAg IHwgIDg4IC0tLS0KIGFyY2gvcG93ZXJwYy9zeXNkZXYveGlsaW54X3BjaS5jICAgICAgICAgICAg IHwgMTMyIC0tLS0tLQogZHJpdmVycy9jaGFyL0tjb25maWcgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDIgKy0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvS2NvbmZpZyAgICAgICAgICAgICAgICAg IHwgICAyICstCiAzNCBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDE5NTkgZGVsZXRp b25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC9wb3dlcnBjL2Jvb3QvZHRzL3ZpcnRleDQ0 MC1tbDUwNy5kdHMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBhcmNoL3Bvd2VycGMvYm9vdC9kdHMvdmly dGV4NDQwLW1sNTEwLmR0cwogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gvcG93ZXJwYy9ib290L3Vh cnRsaXRlLmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBhcmNoL3Bvd2VycGMvYm9vdC92aXJ0ZXguYwog ZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gvcG93ZXJwYy9ib290L3ZpcnRleDQwNS1oZWFkLlMKIGRl bGV0ZSBtb2RlIDEwMDY0NCBhcmNoL3Bvd2VycGMvY29uZmlncy80MHgvdmlydGV4X2RlZmNvbmZp ZwogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gvcG93ZXJwYy9jb25maWdzLzQ0eC92aXJ0ZXg1X2Rl ZmNvbmZpZwogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS94aWxp bnhfaW50Yy5oCiBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3hp bGlueF9wY2kuaAogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4 L3ZpcnRleC5jCiBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy80NHgv dmlydGV4LmMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBhcmNoL3Bvd2VycGMvcGxhdGZvcm1zLzQ0eC92 aXJ0ZXhfbWw1MTAuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gvcG93ZXJwYy9zeXNkZXYveGls aW54X2ludGMuYwogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gvcG93ZXJwYy9zeXNkZXYveGlsaW54 X3BjaS5jCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3hp bGlueC50eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MveGlsaW54LnR4dApp bmRleCBkMDU4YWNlMjkzNDUuLjI4MTk5YjMxZmU1ZSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL3hpbGlueC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZp Y2V0cmVlL2JpbmRpbmdzL3hpbGlueC50eHQKQEAgLTg2LDE0OSArODYsNiBAQAogCQl4bG54LHVz ZS1wYXJpdHkgPSA8MD47CiAJfTsKIAotICAgU29tZSBJUCBjb3JlcyBhY3R1YWxseSBpbXBsZW1l bnQgMiBvciBtb3JlIGxvZ2ljYWwgZGV2aWNlcy4gIEluCi0gICB0aGlzIGNhc2UsIHRoZSBkZXZp Y2Ugc2hvdWxkIHN0aWxsIGRlc2NyaWJlIHRoZSB3aG9sZSBJUCBjb3JlIHdpdGgKLSAgIGEgc2lu Z2xlIG5vZGUgYW5kIGFkZCBhIGNoaWxkIG5vZGUgZm9yIGVhY2ggbG9naWNhbCBkZXZpY2UuICBU aGUKLSAgIHJhbmdlcyBwcm9wZXJ0eSBjYW4gYmUgdXNlZCB0byB0cmFuc2xhdGUgZnJvbSBwYXJl bnQgSVAtY29yZSB0byB0aGUKLSAgIHJlZ2lzdGVycyBvZiBlYWNoIGRldmljZS4gIEluIGFkZGl0 aW9uLCB0aGUgcGFyZW50IG5vZGUgc2hvdWxkIGJlCi0gICBjb21wYXRpYmxlIHdpdGggdGhlIGJ1 cyB0eXBlICd4bG54LGNvbXBvdW5kJywgYW5kIHNob3VsZCBjb250YWluCi0gICAjYWRkcmVzcy1j ZWxscyBhbmQgI3NpemUtY2VsbHMsIGFzIHdpdGggYW55IG90aGVyIGJ1cy4gIChOb3RlOiB0aGlz Ci0gICBtYWtlcyB0aGUgYXNzdW1wdGlvbiB0aGF0IGJvdGggbG9naWNhbCBkZXZpY2VzIGhhdmUg dGhlIHNhbWUgYnVzCi0gICBiaW5kaW5nLiAgSWYgdGhpcyBpcyBub3QgdHJ1ZSwgdGhlbiBzZXBh cmF0ZSBub2RlcyBzaG91bGQgYmUgdXNlZAotICAgZm9yIGVhY2ggbG9naWNhbCBkZXZpY2UpLiAg VGhlICdjZWxsLWluZGV4JyBwcm9wZXJ0eSBjYW4gYmUgdXNlZCB0bwotICAgZW51bWVyYXRlIGxv Z2ljYWwgZGV2aWNlcyB3aXRoaW4gYW4gSVAgY29yZS4gIEZvciBleGFtcGxlLCB0aGUKLSAgIGZv bGxvd2luZyBpcyB0aGUgc3lzdGVtLm1ocyBlbnRyeSBmb3IgdGhlIGR1YWwgcHMyIGNvbnRyb2xs ZXIgZm91bmQKLSAgIG9uIHRoZSBtbDQwMyByZWZlcmVuY2UgZGVzaWduLgotCi0JQkVHSU4gb3Bi X3BzMl9kdWFsX3JlZgotCQlQQVJBTUVURVIgSU5TVEFOQ0UgPSBvcGJfcHMyX2R1YWxfcmVmXzAK LQkJUEFSQU1FVEVSIEhXX1ZFUiA9IDEuMDAuYQotCQlQQVJBTUVURVIgQ19CQVNFQUREUiA9IDB4 QTkwMDAwMDAKLQkJUEFSQU1FVEVSIENfSElHSEFERFIgPSAweEE5MDAxRkZGCi0JCUJVU19JTlRF UkZBQ0UgU09QQiA9IG9wYl92MjBfMAotCQlQT1JUIFN5c19JbnRyMSA9IHBzMl8xX2ludHIKLQkJ UE9SVCBTeXNfSW50cjIgPSBwczJfMl9pbnRyCi0JCVBPUlQgQ2xraW4xID0gcHMyX2Nsa19yeF8x Ci0JCVBPUlQgQ2xraW4yID0gcHMyX2Nsa19yeF8yCi0JCVBPUlQgQ2xrcGQxID0gcHMyX2Nsa190 eF8xCi0JCVBPUlQgQ2xrcGQyID0gcHMyX2Nsa190eF8yCi0JCVBPUlQgUngxID0gcHMyX2Rfcnhf MQotCQlQT1JUIFJ4MiA9IHBzMl9kX3J4XzIKLQkJUE9SVCBUeHBkMSA9IHBzMl9kX3R4XzEKLQkJ UE9SVCBUeHBkMiA9IHBzMl9kX3R4XzIKLQlFTkQKLQotICAgSXQgd291bGQgcmVzdWx0IGluIHRo ZSBmb2xsb3dpbmcgZGV2aWNlIHRyZWUgbm9kZXM6Ci0KLQlvcGJfcHMyX2R1YWxfcmVmXzA6IG9w Yi1wczItZHVhbC1yZWZAYTkwMDAwMDAgewotCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKLQkJI3Np emUtY2VsbHMgPSA8MT47Ci0JCWNvbXBhdGlibGUgPSAieGxueCxjb21wb3VuZCI7Ci0JCXJhbmdl cyA9IDwwIGE5MDAwMDAwIDIwMDA+OwotCQkvLyBJZiB0aGlzIGRldmljZSBoYWQgZXh0cmEgcGFy YW1ldGVycywgdGhlbiB0aGV5IHdvdWxkCi0JCS8vIGdvIGhlcmUuCi0JCXBzMkAwIHsKLQkJCWNv bXBhdGlibGUgPSAieGxueCxvcGItcHMyLWR1YWwtcmVmLTEuMDAuYSI7Ci0JCQlyZWcgPSA8MCA0 MD47Ci0JCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZvcGJfaW50Y18wPjsKLQkJCWludGVycnVwdHMg PSA8MyAwPjsKLQkJCWNlbGwtaW5kZXggPSA8MD47Ci0JCX07Ci0JCXBzMkAxMDAwIHsKLQkJCWNv bXBhdGlibGUgPSAieGxueCxvcGItcHMyLWR1YWwtcmVmLTEuMDAuYSI7Ci0JCQlyZWcgPSA8MTAw MCA0MD47Ci0JCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZvcGJfaW50Y18wPjsKLQkJCWludGVycnVw dHMgPSA8MyAwPjsKLQkJCWNlbGwtaW5kZXggPSA8MD47Ci0JCX07Ci0JfTsKLQotICAgQWxzbywg dGhlIHN5c3RlbS5taHMgZmlsZSBkZWZpbmVzIGJ1cyBhdHRhY2htZW50cyBmcm9tIHRoZSBwcm9j ZXNzb3IKLSAgIHRvIHRoZSBkZXZpY2VzLiAgVGhlIGRldmljZSB0cmVlIHN0cnVjdHVyZSBzaG91 bGQgcmVmbGVjdCB0aGUgYnVzCi0gICBhdHRhY2htZW50cy4gIEFnYWluIGFuIGV4YW1wbGU7IHRo aXMgc3lzdGVtLm1ocyBmcmFnbWVudDoKLQotCUJFR0lOIHBwYzQwNV92aXJ0ZXg0Ci0JCVBBUkFN RVRFUiBJTlNUQU5DRSA9IHBwYzQwNV8wCi0JCVBBUkFNRVRFUiBIV19WRVIgPSAxLjAxLmEKLQkJ QlVTX0lOVEVSRkFDRSBEUExCID0gcGxiX3YzNF8wCi0JCUJVU19JTlRFUkZBQ0UgSVBMQiA9IHBs Yl92MzRfMAotCUVORAotCi0JQkVHSU4gb3BiX2ludGMKLQkJUEFSQU1FVEVSIElOU1RBTkNFID0g b3BiX2ludGNfMAotCQlQQVJBTUVURVIgSFdfVkVSID0gMS4wMC5jCi0JCVBBUkFNRVRFUiBDX0JB U0VBRERSID0gMHhEMTAwMEZDMAotCQlQQVJBTUVURVIgQ19ISUdIQUREUiA9IDB4RDEwMDBGREYK LQkJQlVTX0lOVEVSRkFDRSBTT1BCID0gb3BiX3YyMF8wCi0JRU5ECi0KLQlCRUdJTiBvcGJfdWFy dDE2NTUwCi0JCVBBUkFNRVRFUiBJTlNUQU5DRSA9IG9wYl91YXJ0MTY1NTBfMAotCQlQQVJBTUVU RVIgSFdfVkVSID0gMS4wMC5kCi0JCVBBUkFNRVRFUiBDX0JBU0VBRERSID0gMHhhMDAwMDAwMAot CQlQQVJBTUVURVIgQ19ISUdIQUREUiA9IDB4YTAwMDFGRkYKLQkJQlVTX0lOVEVSRkFDRSBTT1BC ID0gb3BiX3YyMF8wCi0JRU5ECi0KLQlCRUdJTiBwbGJfdjM0Ci0JCVBBUkFNRVRFUiBJTlNUQU5D RSA9IHBsYl92MzRfMAotCQlQQVJBTUVURVIgSFdfVkVSID0gMS4wMi5hCi0JRU5ECi0KLQlCRUdJ TiBwbGJfYnJhbV9pZl9jbnRscgotCQlQQVJBTUVURVIgSU5TVEFOQ0UgPSBwbGJfYnJhbV9pZl9j bnRscl8wCi0JCVBBUkFNRVRFUiBIV19WRVIgPSAxLjAwLmIKLQkJUEFSQU1FVEVSIENfQkFTRUFE RFIgPSAweEZGRkYwMDAwCi0JCVBBUkFNRVRFUiBDX0hJR0hBRERSID0gMHhGRkZGRkZGRgotCQlC VVNfSU5URVJGQUNFIFNQTEIgPSBwbGJfdjM0XzAKLQlFTkQKLQotCUJFR0lOIHBsYjJvcGJfYnJp ZGdlCi0JCVBBUkFNRVRFUiBJTlNUQU5DRSA9IHBsYjJvcGJfYnJpZGdlXzAKLQkJUEFSQU1FVEVS IEhXX1ZFUiA9IDEuMDEuYQotCQlQQVJBTUVURVIgQ19STkcwX0JBU0VBRERSID0gMHgyMDAwMDAw MAotCQlQQVJBTUVURVIgQ19STkcwX0hJR0hBRERSID0gMHgzRkZGRkZGRgotCQlQQVJBTUVURVIg Q19STkcxX0JBU0VBRERSID0gMHg2MDAwMDAwMAotCQlQQVJBTUVURVIgQ19STkcxX0hJR0hBRERS ID0gMHg3RkZGRkZGRgotCQlQQVJBTUVURVIgQ19STkcyX0JBU0VBRERSID0gMHg4MDAwMDAwMAot CQlQQVJBTUVURVIgQ19STkcyX0hJR0hBRERSID0gMHhCRkZGRkZGRgotCQlQQVJBTUVURVIgQ19S TkczX0JBU0VBRERSID0gMHhDMDAwMDAwMAotCQlQQVJBTUVURVIgQ19STkczX0hJR0hBRERSID0g MHhERkZGRkZGRgotCQlCVVNfSU5URVJGQUNFIFNQTEIgPSBwbGJfdjM0XzAKLQkJQlVTX0lOVEVS RkFDRSBNT1BCID0gb3BiX3YyMF8wCi0JRU5ECi0KLSAgIEdpdmVzIHRoaXMgZGV2aWNlIHRyZWUg KHNvbWUgcHJvcGVydGllcyByZW1vdmVkIGZvciBjbGFyaXR5KToKLQotCXBsYkAwIHsKLQkJI2Fk ZHJlc3MtY2VsbHMgPSA8MT47Ci0JCSNzaXplLWNlbGxzID0gPDE+OwotCQljb21wYXRpYmxlID0g InhsbngscGxiLXYzNC0xLjAyLmEiOwotCQlkZXZpY2VfdHlwZSA9ICJpYm0scGxiIjsKLQkJcmFu Z2VzOyAvLyAxOjEgdHJhbnNsYXRpb24KLQotCQlwbGJfYnJhbV9pZl9jbnRybF8wOiBicmFtQGZm ZmYwMDAwIHsKLQkJCXJlZyA9IDxmZmZmMDAwMCAxMDAwMD47Ci0JCX0KLQotCQlvcGJAMjAwMDAw MDAgewotCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Ci0JCQkjc2l6ZS1jZWxscyA9IDwxPjsKLQkJ CXJhbmdlcyA9IDwyMDAwMDAwMCAyMDAwMDAwMCAyMDAwMDAwMAotCQkJCSAgNjAwMDAwMDAgNjAw MDAwMDAgMjAwMDAwMDAKLQkJCQkgIDgwMDAwMDAwIDgwMDAwMDAwIDQwMDAwMDAwCi0JCQkJICBj MDAwMDAwMCBjMDAwMDAwMCAyMDAwMDAwMD47Ci0KLQkJCW9wYl91YXJ0MTY1NTBfMDogc2VyaWFs QGEwMDAwMDAwIHsKLQkJCQlyZWcgPSA8YTAwMDAwMDAwIDIwMDA+OwotCQkJfTsKLQotCQkJb3Bi X2ludGNfMDogaW50ZXJydXB0LWNvbnRyb2xsZXJAZDEwMDBmYzAgewotCQkJCXJlZyA9IDxkMTAw MGZjMCAyMD47Ci0JCQl9OwotCQl9OwotCX07Ci0KICAgIFRoYXQgY292ZXJzIHRoZSBnZW5lcmFs IGFwcHJvYWNoIHRvIGJpbmRpbmcgeGlsaW54IElQIGNvcmVzIGludG8gdGhlCiAgICBkZXZpY2Ug dHJlZS4gIFRoZSBmb2xsb3dpbmcgYXJlIGJpbmRpbmdzIGZvciBzcGVjaWZpYyBkZXZpY2VzOgog CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3Bvd2VycGMvYm9vdHdyYXBwZXIucnN0IGIvRG9j dW1lbnRhdGlvbi9wb3dlcnBjL2Jvb3R3cmFwcGVyLnJzdAppbmRleCBhNjI5MmFmYmE1NzMuLmNk ZmEyYmM4NDI1ZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9wb3dlcnBjL2Jvb3R3cmFwcGVy LnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL3Bvd2VycGMvYm9vdHdyYXBwZXIucnN0CkBAIC03MCwy OCArNzAsNiBAQCBDdXJyZW50bHksIHRoZSBmb2xsb3dpbmcgaW1hZ2UgZm9ybWF0IHRhcmdldHMg ZXhpc3Q6CiAJCQlrZXJuZWwgd2l0aCB0aGlzIGltYWdlIHR5cGUgYW5kIGl0IGRlcGVuZHMgZW50 aXJlbHkgb24KIAkJCXRoZSBlbWJlZGRlZCBkZXZpY2UgdHJlZSBmb3IgYWxsIGluZm9ybWF0aW9u LgogCi0JCQlUaGUgc2ltcGxlSW1hZ2UgaXMgdXNlZnVsIGZvciBib290aW5nIHN5c3RlbXMgd2l0 aAotCQkJYW4gdW5rbm93biBmaXJtd2FyZSBpbnRlcmZhY2Ugb3IgZm9yIGJvb3RpbmcgZnJvbQot CQkJYSBkZWJ1Z2dlciB3aGVuIG5vIGZpcm13YXJlIGlzIHByZXNlbnQgKHN1Y2ggYXMgb24KLQkJ CXRoZSBYaWxpbnggVmlydGV4IHBsYXRmb3JtKS4gIFRoZSBvbmx5IGFzc3VtcHRpb24gdGhhdAot CQkJc2ltcGxlSW1hZ2UgbWFrZXMgaXMgdGhhdCBSQU0gaXMgY29ycmVjdGx5IGluaXRpYWxpemVk Ci0JCQlhbmQgdGhhdCB0aGUgTU1VIGlzIGVpdGhlciBvZmYgb3IgaGFzIFJBTSBtYXBwZWQgdG8K LQkJCWJhc2UgYWRkcmVzcyAwLgotCi0JCQlzaW1wbGVJbWFnZSBhbHNvIHN1cHBvcnRzIGluc2Vy dGluZyBzcGVjaWFsIHBsYXRmb3JtCi0JCQlzcGVjaWZpYyBpbml0aWFsaXphdGlvbiBjb2RlIHRv IHRoZSBzdGFydCBvZiB0aGUgYm9vdHVwCi0JCQlzZXF1ZW5jZS4gIFRoZSB2aXJ0ZXg0MDUgcGxh dGZvcm0gdXNlcyB0aGlzIGZlYXR1cmUgdG8KLQkJCWVuc3VyZSB0aGF0IHRoZSBjYWNoZSBpcyBp bnZhbGlkYXRlZCBiZWZvcmUgY2FjaGluZwotCQkJaXMgZW5hYmxlZC4gIFBsYXRmb3JtIHNwZWNp ZmljIGluaXRpYWxpemF0aW9uIGNvZGUgaXMKLQkJCWFkZGVkIGFzIHBhcnQgb2YgdGhlIHdyYXBw ZXIgc2NyaXB0IGFuZCBpcyBrZXllZCBvbgotCQkJdGhlIGltYWdlIHRhcmdldCBuYW1lLiAgRm9y IGV4YW1wbGUsIGFsbAotCQkJc2ltcGxlSW1hZ2UudmlydGV4NDA1LSogdGFyZ2V0cyB3aWxsIGFk ZCB0aGUKLQkJCXZpcnRleDQwNS1oZWFkLlMgaW5pdGlhbGl6YXRpb24gY29kZSAoVGhpcyBhbHNv IG1lYW5zCi0JCQl0aGF0IHRoZSBkdHMgZmlsZSBmb3IgdmlydGV4NDA1IHRhcmdldHMgc2hvdWxk IGJlCi0JCQluYW1lZCAodmlydGV4NDA1LTxib2FyZD4uZHRzKS4gIFNlYXJjaCB0aGUgd3JhcHBl cgotCQkJc2NyaXB0IGZvciAndmlydGV4NDA1JyBhbmQgc2VlIHRoZSBmaWxlCi0JCQlhcmNoL3Bv d2VycGMvYm9vdC92aXJ0ZXg0MDUtaGVhZC5TIGZvciBkZXRhaWxzLgotCiAgICB0cmVlSW1hZ2Uu JTsJCUltYWdlIGZvcm1hdCBmb3IgdXNlZCB3aXRoIE9wZW5CSU9TIGZpcm13YXJlIGZvdW5kCiAJ CQlvbiBzb21lIHBwYzR4eCBoYXJkd2FyZS4gIFRoaXMgaW1hZ2UgZW1iZWRzIGEgZGV2aWNlCiAJ CQl0cmVlIGJsb2IgaW5zaWRlIHRoZSBpbWFnZS4KQEAgLTExNiwxMCArOTQsOCBAQCBJbWFnZSB0 eXBlcyB3aGljaCBlbWJlZCBhIGRldmljZSB0cmVlIGJsb2IgKHNpbXBsZUltYWdlLCBkdGJJbWFn ZSwgdHJlZUltYWdlLAogYW5kIGN1SW1hZ2UpIGFsbCBnZW5lcmF0ZSB0aGUgZGV2aWNlIHRyZWUg YmxvYiBmcm9tIGEgZmlsZSBpbiB0aGUKIGFyY2gvcG93ZXJwYy9ib290L2R0cy8gZGlyZWN0b3J5 LiAgVGhlIE1ha2VmaWxlIHNlbGVjdHMgdGhlIGNvcnJlY3QgZGV2aWNlCiB0cmVlIHNvdXJjZSBi YXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUgdGFyZ2V0LiAgVGhlcmVmb3JlLCBpZiB0aGUga2VybmVs IGlzCi1idWlsdCB3aXRoICdtYWtlIHRyZWVJbWFnZS53YWxudXQgc2ltcGxlSW1hZ2UudmlydGV4 NDA1LW1sNDAzJywgdGhlbiB0aGUKLWJ1aWxkIHN5c3RlbSB3aWxsIHVzZSBhcmNoL3Bvd2VycGMv Ym9vdC9kdHMvd2FsbnV0LmR0cyB0byBidWlsZAotdHJlZUltYWdlLndhbG51dCBhbmQgYXJjaC9w b3dlcnBjL2Jvb3QvZHRzL3ZpcnRleDQwNS1tbDQwMy5kdHMgdG8gYnVpbGQKLXRoZSBzaW1wbGVJ bWFnZS52aXJ0ZXg0MDUtbWw0MDMuCitidWlsdCB3aXRoICdtYWtlIHRyZWVJbWFnZS53YWxudXQn LCB0aGVuIHRoZSBidWlsZCBzeXN0ZW0gd2lsbCB1c2UKK2FyY2gvcG93ZXJwYy9ib290L2R0cy93 YWxudXQuZHRzIHRvIGJ1aWxkIHRyZWVJbWFnZS53YWxudXQuCiAKIFR3byBzcGVjaWFsIHRhcmdl dHMgY2FsbGVkICd6SW1hZ2UnIGFuZCAnekltYWdlLmluaXRyZCcgYWxzbyBleGlzdC4gIFRoZXNl CiB0YXJnZXRzIGJ1aWxkIGFsbCB0aGUgZGVmYXVsdCBpbWFnZXMgYXMgc2VsZWN0ZWQgYnkgdGhl IGtlcm5lbCBjb25maWd1cmF0aW9uLgpkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJ TkVSUwppbmRleCBhMGQ4NjQ5MGMyYzYuLjg0MmE5YmJjMjAxMyAxMDA2NDQKLS0tIGEvTUFJTlRB SU5FUlMKKysrIGIvTUFJTlRBSU5FUlMKQEAgLTk2NjgsMTIgKzk2NjgsNiBAQCBMOglsaW51eHBw Yy1kZXZAbGlzdHMub3psYWJzLm9yZwogUzoJTWFpbnRhaW5lZAogRjoJYXJjaC9wb3dlcnBjL3Bs YXRmb3Jtcy84eHgvCiAKLUxJTlVYIEZPUiBQT1dFUlBDIEVNQkVEREVEIFhJTElOWCBWSVJURVgK LUw6CWxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnCi1TOglPcnBoYW4KLUY6CWFyY2gvcG93 ZXJwYy8qLyp2aXJ0ZXgqCi1GOglhcmNoL3Bvd2VycGMvKi8qLyp2aXJ0ZXgqCi0KIExJTlVYIEZP UiBQT1dFUlBDIFBBIFNFTUkgUFdSRklDSUVOVAogTDoJbGludXhwcGMtZGV2QGxpc3RzLm96bGFi cy5vcmcKIFM6CU9ycGhhbgpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL0tjb25maWcuZGVidWcg Yi9hcmNoL3Bvd2VycGMvS2NvbmZpZy5kZWJ1ZwppbmRleCAwYjA2MzgzMGVlYTguLmI4ODkwMGY0 ODMyZiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL0tjb25maWcuZGVidWcKKysrIGIvYXJjaC9w b3dlcnBjL0tjb25maWcuZGVidWcKQEAgLTIzMCw3ICsyMzAsNyBAQCBjb25maWcgUFBDX0VBUkxZ X0RFQlVHXzQweAogCWhlbHAKIAkgIFNlbGVjdCB0aGlzIHRvIGVuYWJsZSBlYXJseSBkZWJ1Z2dp bmcgZm9yIElCTSA0MHggY2hpcHMgdmlhIHRoZQogCSAgaW5idWlsdCBzZXJpYWwgcG9ydC4gVGhp cyB3b3JrcyBvbiBjaGlwcyB3aXRoIGEgMTY1NTAgY29tcGF0aWJsZQotCSAgVUFSVC4gWGlsaW54 IGNoaXBzIHdpdGggdWFydGxpdGUgY2Fubm90IHVzZSB0aGlzIG9wdGlvbi4KKwkgIFVBUlQuCiAK IGNvbmZpZyBQUENfRUFSTFlfREVCVUdfQ1BNCiAJYm9vbCAiRWFybHkgc2VyaWFsIGRlYnVnZ2lu ZyBmb3IgRnJlZXNjYWxlIENQTS1iYXNlZCBzZXJpYWwgcG9ydHMiCmRpZmYgLS1naXQgYS9hcmNo L3Bvd2VycGMvYm9vdC9NYWtlZmlsZSBiL2FyY2gvcG93ZXJwYy9ib290L01ha2VmaWxlCmluZGV4 IGM1M2ExYjhiYmE4Yi4uZDgwNzdiNzA3MWRkIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvYm9v dC9NYWtlZmlsZQorKysgYi9hcmNoL3Bvd2VycGMvYm9vdC9NYWtlZmlsZQpAQCAtNzksNyArNzks NiBAQCAkKG9iaikvdHJlZWJvb3Qtd2FsbnV0Lm86IEJPT1RDRkxBR1MgKz0gLW1jcHVANQogJChv YmopL3RyZWVib290LWlzczR4eC5vOiBCT09UQ0ZMQUdTICs9IC1tY3B1QDUKICQob2JqKS90cmVl Ym9vdC1jdXJyaXR1Y2subzogQk9PVENGTEFHUyArPSAtbWNwdUA1CiAkKG9iaikvdHJlZWJvb3Qt YWtlYm9uby5vOiBCT09UQ0ZMQUdTICs9IC1tY3B1QDUKLSQob2JqKS92aXJ0ZXg0MDUtaGVhZC5v OiBCT09UQUZMQUdTICs9IC1tY3B1QDUKIAogIyBUaGUgcHJlLWJvb3QgZGVjb21wcmVzc29ycyBw dWxsIGluIGEgbG90IG9mIGtlcm5lbCBoZWFkZXJzIGFuZCBvdGhlciBzb3VyY2UKICMgZmlsZXMu IFRoaXMgY3JlYXRlcyBhIGJpdCBvZiBhIGRlcGVuZGVuY3kgaGVhZGFjaGUgc2luY2Ugd2UgbmVl ZCB0byBjb3B5CkBAIC0xMjksMTQgKzEyOCwxMiBAQCBzcmMtd2xpYi0kKENPTkZJR180NHgpICs9 IDR4eC5jIGVib255LmMgYmFtYm9vLmMKIHNyYy13bGliLSQoQ09ORklHX1BQQ184eHgpICs9IG1w Yzh4eC5jIHBsYW5ldGNvcmUuYyBmc2wtc29jLmMKIHNyYy13bGliLSQoQ09ORklHX1BQQ184Mnh4 KSArPSBwcTIuYyBmc2wtc29jLmMgcGxhbmV0Y29yZS5jCiBzcmMtd2xpYi0kKENPTkZJR19FTUJF RERFRDZ4eCkgKz0gdWdlY29uLmMgZnNsLXNvYy5jCi1zcmMtd2xpYi0kKENPTkZJR19YSUxJTlhf VklSVEVYKSArPSB1YXJ0bGl0ZS5jCiBzcmMtd2xpYi0kKENPTkZJR19DUE0pICs9IGNwbS1zZXJp YWwuYwogCiBzcmMtcGxhdC15IDo9IG9mLmMgZXBhcHIuYwogc3JjLXBsYXQtJChDT05GSUdfNDB4 KSArPSBmaXhlZC1oZWFkLlMgZXA0MDUuYyBjdWJvb3QtaG90Zm9vdC5jIFwKIAkJCQl0cmVlYm9v dC13YWxudXQuYyBjdWJvb3QtYWNhZGlhLmMgXAotCQkJCWN1Ym9vdC1raWxhdWVhLmMgc2ltcGxl Ym9vdC5jIFwKLQkJCQl2aXJ0ZXg0MDUtaGVhZC5TIHZpcnRleC5jCisJCQkJY3Vib290LWtpbGF1 ZWEuYyBzaW1wbGVib290LmMKIHNyYy1wbGF0LSQoQ09ORklHXzQ0eCkgKz0gdHJlZWJvb3QtZWJv bnkuYyBjdWJvb3QtZWJvbnkuYyB0cmVlYm9vdC1iYW1ib28uYyBcCiAJCQkJY3Vib290LWJhbWJv by5jIGN1Ym9vdC1zYW00NDBlcC5jIFwKIAkJCQljdWJvb3Qtc2VxdW9pYS5jIGN1Ym9vdC1yYWlu aWVyLmMgXApAQCAtMTQ0LDcgKzE0MSw3IEBAIHNyYy1wbGF0LSQoQ09ORklHXzQ0eCkgKz0gdHJl ZWJvb3QtZWJvbnkuYyBjdWJvb3QtZWJvbnkuYyB0cmVlYm9vdC1iYW1ib28uYyBcCiAJCQkJY3Vi b290LXdhcnAuYyBjdWJvb3QteW9zZW1pdGUuYyBcCiAJCQkJdHJlZWJvb3QtaXNzNHh4LmMgdHJl ZWJvb3QtY3Vycml0dWNrLmMgXAogCQkJCXRyZWVib290LWFrZWJvbm8uYyBcCi0JCQkJc2ltcGxl Ym9vdC5jIGZpeGVkLWhlYWQuUyB2aXJ0ZXguYworCQkJCXNpbXBsZWJvb3QuYyBmaXhlZC1oZWFk LlMKIHNyYy1wbGF0LSQoQ09ORklHX1BQQ184eHgpICs9IGN1Ym9vdC04eHguYyBmaXhlZC1oZWFk LlMgZXA4OHhjLmMgcmVkYm9vdC04eHguYwogc3JjLXBsYXQtJChDT05GSUdfUFBDX01QQzUyeHgp ICs9IGN1Ym9vdC01Mnh4LmMKIHNyYy1wbGF0LSQoQ09ORklHX1BQQ184Mnh4KSArPSBjdWJvb3Qt cHEyLmMgZml4ZWQtaGVhZC5TIGVwODI0OGUuYyBjdWJvb3QtODI0eC5jCmRpZmYgLS1naXQgYS9h cmNoL3Bvd2VycGMvYm9vdC9kdHMvTWFrZWZpbGUgYi9hcmNoL3Bvd2VycGMvYm9vdC9kdHMvTWFr ZWZpbGUKaW5kZXggMWNiYzBlNGNlODU3Li5mYjMzNWQwNWFhZTggMTAwNjQ0Ci0tLSBhL2FyY2gv cG93ZXJwYy9ib290L2R0cy9NYWtlZmlsZQorKysgYi9hcmNoL3Bvd2VycGMvYm9vdC9kdHMvTWFr ZWZpbGUKQEAgLTQsNCArNCwzIEBAIHN1YmRpci15ICs9IGZzbAogCiBkdHN0cmVlCQk6PSAkKHNy Y3RyZWUpLyQoc3JjKQogZHRiLSQoQ09ORklHX09GX0FMTF9EVEJTKSA6PSAkKHBhdHN1YnN0ICQo ZHRzdHJlZSkvJS5kdHMsJS5kdGIsICQod2lsZGNhcmQgJChkdHN0cmVlKS8qLmR0cykpCi1kdGIt JChDT05GSUdfWElMSU5YX1ZJUlRFWDQ0MF9HRU5FUklDX0JPQVJEKSArPSB2aXJ0ZXg0NDAtbWw1 MDcuZHRiIHZpcnRleDQ0MC1tbDUxMC5kdGIKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9ib290 L2R0cy92aXJ0ZXg0NDAtbWw1MDcuZHRzIGIvYXJjaC9wb3dlcnBjL2Jvb3QvZHRzL3ZpcnRleDQ0 MC1tbDUwNy5kdHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2ZjFjNjMxMmRlNi4u MDAwMDAwMDAwMDAwCi0tLSBhL2FyY2gvcG93ZXJwYy9ib290L2R0cy92aXJ0ZXg0NDAtbWw1MDcu ZHRzCisrKyAvZGV2L251bGwKQEAgLTEsNDA2ICswLDAgQEAKLS8qCi0gKiBUaGlzIGZpbGUgc3Vw cG9ydHMgdGhlIFhpbGlueCBNTDUwNyBib2FyZCB3aXRoIHRoZSA0NDAgcHJvY2Vzc29yLgotICog QSByZWZlcmVuY2UgZGVzaWduIGZvciB0aGUgRlBHQSBpcyBwcm92aWRlZCBhdCBodHRwOi8vZ2l0 LnhpbGlueC5jb20uCi0gKgotICogKEMpIENvcHlyaWdodCAyMDA4IFhpbGlueCwgSW5jLgotICoK LSAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCi0gKiB2ZXJzaW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNl ZCAiYXMgaXMiIHdpdGhvdXQgYW55IHdhcnJhbnR5IG9mIGFueQotICoga2luZCwgd2hldGhlciBl eHByZXNzIG9yIGltcGxpZWQuCi0gKgotICogLS0tCi0gKgotICogRGV2aWNlIFRyZWUgR2VuZXJh dG9yIHZlcnNpb246IDEuMQotICoKLSAqIENBVVRJT046IFRoaXMgZmlsZSBpcyBhdXRvbWF0aWNh bGx5IGdlbmVyYXRlZCBieSBsaWJnZW4uCi0gKiBWZXJzaW9uOiBYaWxpbnggRURLIDEwLjEuMDMg RURLX0tfU1AzLjYKLSAqCi0gKiBYUFMgcHJvamVjdCBkaXJlY3Rvcnk6IG1sNTA3X3BwYzQ0MF9l bWJfcmVmCi0gKi8KLQotL2R0cy12MS87Ci0KLS8gewotCSNhZGRyZXNzLWNlbGxzID0gPDE+Owot CSNzaXplLWNlbGxzID0gPDE+OwotCWNvbXBhdGlibGUgPSAieGxueCx2aXJ0ZXg0NDAiOwotCWRj ci1wYXJlbnQgPSA8JnBwYzQ0MF8wPjsKLQltb2RlbCA9ICJ0ZXN0aW5nIjsKLQlERFIyX1NEUkFN OiBtZW1vcnlAMCB7Ci0JCWRldmljZV90eXBlID0gIm1lbW9yeSI7Ci0JCXJlZyA9IDwgMCAweDEw MDAwMDAwID47Ci0JfSA7Ci0JY2hvc2VuIHsKLQkJYm9vdGFyZ3MgPSAiY29uc29sZT10dHlTMCBy b290PS9kZXYvcmFtIjsKLQkJc3Rkb3V0LXBhdGggPSAmUlMyMzJfVWFydF8xOwotCX0gOwotCWNw dXMgewotCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKLQkJI2NwdXMgPSA8MT47Ci0JCSNzaXplLWNl bGxzID0gPDA+OwotCQlwcGM0NDBfMDogY3B1QDAgewotCQkJY2xvY2stZnJlcXVlbmN5ID0gPDQw MDAwMDAwMD47Ci0JCQljb21wYXRpYmxlID0gIlBvd2VyUEMsNDQwIiwgImlibSxwcGM0NDAiOwot CQkJZC1jYWNoZS1saW5lLXNpemUgPSA8MHgyMD47Ci0JCQlkLWNhY2hlLXNpemUgPSA8MHg4MDAw PjsKLQkJCWRjci1hY2Nlc3MtbWV0aG9kID0gIm5hdGl2ZSI7Ci0JCQlkY3ItY29udHJvbGxlciA7 Ci0JCQlkZXZpY2VfdHlwZSA9ICJjcHUiOwotCQkJaS1jYWNoZS1saW5lLXNpemUgPSA8MHgyMD47 Ci0JCQlpLWNhY2hlLXNpemUgPSA8MHg4MDAwPjsKLQkJCW1vZGVsID0gIlBvd2VyUEMsNDQwIjsK LQkJCXJlZyA9IDwwPjsKLQkJCXRpbWViYXNlLWZyZXF1ZW5jeSA9IDw0MDAwMDAwMDA+OwotCQkJ eGxueCxhcHUtY29udHJvbCA9IDwxPjsKLQkJCXhsbngsYXB1LXVkaS0wID0gPDA+OwotCQkJeGxu eCxhcHUtdWRpLTEgPSA8MD47Ci0JCQl4bG54LGFwdS11ZGktMTAgPSA8MD47Ci0JCQl4bG54LGFw dS11ZGktMTEgPSA8MD47Ci0JCQl4bG54LGFwdS11ZGktMTIgPSA8MD47Ci0JCQl4bG54LGFwdS11 ZGktMTMgPSA8MD47Ci0JCQl4bG54LGFwdS11ZGktMTQgPSA8MD47Ci0JCQl4bG54LGFwdS11ZGkt MTUgPSA8MD47Ci0JCQl4bG54LGFwdS11ZGktMiA9IDwwPjsKLQkJCXhsbngsYXB1LXVkaS0zID0g PDA+OwotCQkJeGxueCxhcHUtdWRpLTQgPSA8MD47Ci0JCQl4bG54LGFwdS11ZGktNSA9IDwwPjsK LQkJCXhsbngsYXB1LXVkaS02ID0gPDA+OwotCQkJeGxueCxhcHUtdWRpLTcgPSA8MD47Ci0JCQl4 bG54LGFwdS11ZGktOCA9IDwwPjsKLQkJCXhsbngsYXB1LXVkaS05ID0gPDA+OwotCQkJeGxueCxk Y3ItYXV0b2xvY2stZW5hYmxlID0gPDE+OwotCQkJeGxueCxkY3UtcmQtbGQtY2FjaGUtcGxiLXBy aW8gPSA8MD47Ci0JCQl4bG54LGRjdS1yZC1ub25jYWNoZS1wbGItcHJpbyA9IDwwPjsKLQkJCXhs bngsZGN1LXJkLXRvdWNoLXBsYi1wcmlvID0gPDA+OwotCQkJeGxueCxkY3UtcmQtdXJnZW50LXBs Yi1wcmlvID0gPDA+OwotCQkJeGxueCxkY3Utd3ItZmx1c2gtcGxiLXByaW8gPSA8MD47Ci0JCQl4 bG54LGRjdS13ci1zdG9yZS1wbGItcHJpbyA9IDwwPjsKLQkJCXhsbngsZGN1LXdyLXVyZ2VudC1w bGItcHJpbyA9IDwwPjsKLQkJCXhsbngsZG1hMC1jb250cm9sID0gPDA+OwotCQkJeGxueCxkbWEw LXBsYi1wcmlvID0gPDA+OwotCQkJeGxueCxkbWEwLXJ4Y2hhbm5lbGN0cmwgPSA8MHgxMDEwMDAw PjsKLQkJCXhsbngsZG1hMC1yeGlycXRpbWVyID0gPDB4M2ZmPjsKLQkJCXhsbngsZG1hMC10eGNo YW5uZWxjdHJsID0gPDB4MTAxMDAwMD47Ci0JCQl4bG54LGRtYTAtdHhpcnF0aW1lciA9IDwweDNm Zj47Ci0JCQl4bG54LGRtYTEtY29udHJvbCA9IDwwPjsKLQkJCXhsbngsZG1hMS1wbGItcHJpbyA9 IDwwPjsKLQkJCXhsbngsZG1hMS1yeGNoYW5uZWxjdHJsID0gPDB4MTAxMDAwMD47Ci0JCQl4bG54 LGRtYTEtcnhpcnF0aW1lciA9IDwweDNmZj47Ci0JCQl4bG54LGRtYTEtdHhjaGFubmVsY3RybCA9 IDwweDEwMTAwMDA+OwotCQkJeGxueCxkbWExLXR4aXJxdGltZXIgPSA8MHgzZmY+OwotCQkJeGxu eCxkbWEyLWNvbnRyb2wgPSA8MD47Ci0JCQl4bG54LGRtYTItcGxiLXByaW8gPSA8MD47Ci0JCQl4 bG54LGRtYTItcnhjaGFubmVsY3RybCA9IDwweDEwMTAwMDA+OwotCQkJeGxueCxkbWEyLXJ4aXJx dGltZXIgPSA8MHgzZmY+OwotCQkJeGxueCxkbWEyLXR4Y2hhbm5lbGN0cmwgPSA8MHgxMDEwMDAw PjsKLQkJCXhsbngsZG1hMi10eGlycXRpbWVyID0gPDB4M2ZmPjsKLQkJCXhsbngsZG1hMy1jb250 cm9sID0gPDA+OwotCQkJeGxueCxkbWEzLXBsYi1wcmlvID0gPDA+OwotCQkJeGxueCxkbWEzLXJ4 Y2hhbm5lbGN0cmwgPSA8MHgxMDEwMDAwPjsKLQkJCXhsbngsZG1hMy1yeGlycXRpbWVyID0gPDB4 M2ZmPjsKLQkJCXhsbngsZG1hMy10eGNoYW5uZWxjdHJsID0gPDB4MTAxMDAwMD47Ci0JCQl4bG54 LGRtYTMtdHhpcnF0aW1lciA9IDwweDNmZj47Ci0JCQl4bG54LGVuZGlhbi1yZXNldCA9IDwwPjsK LQkJCXhsbngsZ2VuZXJhdGUtcGxiLXRpbWVzcGVjcyA9IDwxPjsKLQkJCXhsbngsaWN1LXJkLWZl dGNoLXBsYi1wcmlvID0gPDA+OwotCQkJeGxueCxpY3UtcmQtc3BlYy1wbGItcHJpbyA9IDwwPjsK LQkJCXhsbngsaWN1LXJkLXRvdWNoLXBsYi1wcmlvID0gPDA+OwotCQkJeGxueCxpbnRlcmNvbm5l Y3QtaW1hc2sgPSA8MHhmZmZmZmZmZj47Ci0JCQl4bG54LG1wbGItYWxsb3ctbG9jay14ZmVyID0g PDE+OwotCQkJeGxueCxtcGxiLWFyYi1tb2RlID0gPDA+OwotCQkJeGxueCxtcGxiLWF3aWR0aCA9 IDwweDIwPjsKLQkJCXhsbngsbXBsYi1jb3VudGVyID0gPDB4NTAwPjsKLQkJCXhsbngsbXBsYi1k d2lkdGggPSA8MHg4MD47Ci0JCQl4bG54LG1wbGItbWF4LWJ1cnN0ID0gPDg+OwotCQkJeGxueCxt cGxiLW5hdGl2ZS1kd2lkdGggPSA8MHg4MD47Ci0JCQl4bG54LG1wbGItcDJwID0gPDA+OwotCQkJ eGxueCxtcGxiLXByaW8tZGN1ciA9IDwyPjsKLQkJCXhsbngsbXBsYi1wcmlvLWRjdXcgPSA8Mz47 Ci0JCQl4bG54LG1wbGItcHJpby1pY3UgPSA8ND47Ci0JCQl4bG54LG1wbGItcHJpby1zcGxiMCA9 IDwxPjsKLQkJCXhsbngsbXBsYi1wcmlvLXNwbGIxID0gPDA+OwotCQkJeGxueCxtcGxiLXJlYWQt cGlwZS1lbmFibGUgPSA8MT47Ci0JCQl4bG54LG1wbGItc3luYy10YXR0cmlidXRlID0gPDA+Owot CQkJeGxueCxtcGxiLXdkb2ctZW5hYmxlID0gPDE+OwotCQkJeGxueCxtcGxiLXdyaXRlLXBpcGUt ZW5hYmxlID0gPDE+OwotCQkJeGxueCxtcGxiLXdyaXRlLXBvc3QtZW5hYmxlID0gPDE+OwotCQkJ eGxueCxudW0tZG1hID0gPDE+OwotCQkJeGxueCxwaXIgPSA8MHhmPjsKLQkJCXhsbngscHBjNDQw bWMtYWRkci1iYXNlID0gPDA+OwotCQkJeGxueCxwcGM0NDBtYy1hZGRyLWhpZ2ggPSA8MHhmZmZm ZmZmPjsKLQkJCXhsbngscHBjNDQwbWMtYXJiLW1vZGUgPSA8MD47Ci0JCQl4bG54LHBwYzQ0MG1j LWJhbmstY29uZmxpY3QtbWFzayA9IDwweGMwMDAwMD47Ci0JCQl4bG54LHBwYzQ0MG1jLWNvbnRy b2wgPSA8MHhmODEwMDA4Zj47Ci0JCQl4bG54LHBwYzQ0MG1jLW1heC1idXJzdCA9IDw4PjsKLQkJ CXhsbngscHBjNDQwbWMtcHJpby1kY3VyID0gPDI+OwotCQkJeGxueCxwcGM0NDBtYy1wcmlvLWRj dXcgPSA8Mz47Ci0JCQl4bG54LHBwYzQ0MG1jLXByaW8taWN1ID0gPDQ+OwotCQkJeGxueCxwcGM0 NDBtYy1wcmlvLXNwbGIwID0gPDE+OwotCQkJeGxueCxwcGM0NDBtYy1wcmlvLXNwbGIxID0gPDA+ OwotCQkJeGxueCxwcGM0NDBtYy1yb3ctY29uZmxpY3QtbWFzayA9IDwweDNmZmUwMD47Ci0JCQl4 bG54LHBwY2RtLWFzeW5jbW9kZSA9IDwwPjsKLQkJCXhsbngscHBjZHMtYXN5bmNtb2RlID0gPDA+ OwotCQkJeGxueCx1c2VyLXJlc2V0ID0gPDA+OwotCQkJRE1BMDogc2RtYUA4MCB7Ci0JCQkJY29t cGF0aWJsZSA9ICJ4bG54LGxsLWRtYS0xLjAwLmEiOwotCQkJCWRjci1yZWcgPSA8IDB4ODAgMHgx MSA+OwotCQkJCWludGVycnVwdC1wYXJlbnQgPSA8Jnhwc19pbnRjXzA+OwotCQkJCWludGVycnVw dHMgPSA8IDEwIDIgMTEgMiA+OwotCQkJfSA7Ci0JCX0gOwotCX0gOwotCXBsYl92NDZfMDogcGxi QDAgewotCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKLQkJI3NpemUtY2VsbHMgPSA8MT47Ci0JCWNv bXBhdGlibGUgPSAieGxueCxwbGItdjQ2LTEuMDMuYSIsICJzaW1wbGUtYnVzIjsKLQkJcmFuZ2Vz IDsKLQkJRElQX1N3aXRjaGVzXzhCaXQ6IGdwaW9AODE0NjAwMDAgewotCQkJY29tcGF0aWJsZSA9 ICJ4bG54LHhwcy1ncGlvLTEuMDAuYSI7Ci0JCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZ4cHNfaW50 Y18wPjsKLQkJCWludGVycnVwdHMgPSA8IDcgMiA+OwotCQkJcmVnID0gPCAweDgxNDYwMDAwIDB4 MTAwMDAgPjsKLQkJCXhsbngsYWxsLWlucHV0cyA9IDwxPjsKLQkJCXhsbngsYWxsLWlucHV0cy0y ID0gPDA+OwotCQkJeGxueCxkb3V0LWRlZmF1bHQgPSA8MD47Ci0JCQl4bG54LGRvdXQtZGVmYXVs dC0yID0gPDA+OwotCQkJeGxueCxmYW1pbHkgPSAidmlydGV4NSI7Ci0JCQl4bG54LGdwaW8td2lk dGggPSA8OD47Ci0JCQl4bG54LGludGVycnVwdC1wcmVzZW50ID0gPDE+OwotCQkJeGxueCxpcy1i aWRpciA9IDwxPjsKLQkJCXhsbngsaXMtYmlkaXItMiA9IDwxPjsKLQkJCXhsbngsaXMtZHVhbCA9 IDwwPjsKLQkJCXhsbngsdHJpLWRlZmF1bHQgPSA8MHhmZmZmZmZmZj47Ci0JCQl4bG54LHRyaS1k ZWZhdWx0LTIgPSA8MHhmZmZmZmZmZj47Ci0JCX0gOwotCQlGTEFTSDogZmxhc2hAZmMwMDAwMDAg ewotCQkJYmFuay13aWR0aCA9IDwyPjsKLQkJCWNvbXBhdGlibGUgPSAieGxueCx4cHMtbWNoLWVt Yy0yLjAwLmEiLCAiY2ZpLWZsYXNoIjsKLQkJCXJlZyA9IDwgMHhmYzAwMDAwMCAweDIwMDAwMDAg PjsKLQkJCXhsbngsZmFtaWx5ID0gInZpcnRleDUiOwotCQkJeGxueCxpbmNsdWRlLWRhdGF3aWR0 aC1tYXRjaGluZy0wID0gPDB4MT47Ci0JCQl4bG54LGluY2x1ZGUtZGF0YXdpZHRoLW1hdGNoaW5n LTEgPSA8MHgwPjsKLQkJCXhsbngsaW5jbHVkZS1kYXRhd2lkdGgtbWF0Y2hpbmctMiA9IDwweDA+ OwotCQkJeGxueCxpbmNsdWRlLWRhdGF3aWR0aC1tYXRjaGluZy0zID0gPDB4MD47Ci0JCQl4bG54 LGluY2x1ZGUtbmVnZWRnZS1pb3JlZ3MgPSA8MHgwPjsKLQkJCXhsbngsaW5jbHVkZS1wbGItaXBp ZiA9IDwweDE+OwotCQkJeGxueCxpbmNsdWRlLXdyYnVmID0gPDB4MT47Ci0JCQl4bG54LG1heC1t ZW0td2lkdGggPSA8MHgxMD47Ci0JCQl4bG54LG1jaC1uYXRpdmUtZHdpZHRoID0gPDB4MjA+Owot CQkJeGxueCxtY2gtcGxiLWNsay1wZXJpb2QtcHMgPSA8MHgyNzEwPjsKLQkJCXhsbngsbWNoLXNw bGItYXdpZHRoID0gPDB4MjA+OwotCQkJeGxueCxtY2gwLWFjY2Vzc2J1Zi1kZXB0aCA9IDwweDEw PjsKLQkJCXhsbngsbWNoMC1wcm90b2NvbCA9IDwweDA+OwotCQkJeGxueCxtY2gwLXJkZGF0YWJ1 Zi1kZXB0aCA9IDwweDEwPjsKLQkJCXhsbngsbWNoMS1hY2Nlc3NidWYtZGVwdGggPSA8MHgxMD47 Ci0JCQl4bG54LG1jaDEtcHJvdG9jb2wgPSA8MHgwPjsKLQkJCXhsbngsbWNoMS1yZGRhdGFidWYt ZGVwdGggPSA8MHgxMD47Ci0JCQl4bG54LG1jaDItYWNjZXNzYnVmLWRlcHRoID0gPDB4MTA+Owot CQkJeGxueCxtY2gyLXByb3RvY29sID0gPDB4MD47Ci0JCQl4bG54LG1jaDItcmRkYXRhYnVmLWRl cHRoID0gPDB4MTA+OwotCQkJeGxueCxtY2gzLWFjY2Vzc2J1Zi1kZXB0aCA9IDwweDEwPjsKLQkJ CXhsbngsbWNoMy1wcm90b2NvbCA9IDwweDA+OwotCQkJeGxueCxtY2gzLXJkZGF0YWJ1Zi1kZXB0 aCA9IDwweDEwPjsKLQkJCXhsbngsbWVtMC13aWR0aCA9IDwweDEwPjsKLQkJCXhsbngsbWVtMS13 aWR0aCA9IDwweDIwPjsKLQkJCXhsbngsbWVtMi13aWR0aCA9IDwweDIwPjsKLQkJCXhsbngsbWVt My13aWR0aCA9IDwweDIwPjsKLQkJCXhsbngsbnVtLWJhbmtzLW1lbSA9IDwweDE+OwotCQkJeGxu eCxudW0tY2hhbm5lbHMgPSA8MHgyPjsKLQkJCXhsbngscHJpb3JpdHktbW9kZSA9IDwweDA+Owot CQkJeGxueCxzeW5jaC1tZW0tMCA9IDwweDA+OwotCQkJeGxueCxzeW5jaC1tZW0tMSA9IDwweDA+ OwotCQkJeGxueCxzeW5jaC1tZW0tMiA9IDwweDA+OwotCQkJeGxueCxzeW5jaC1tZW0tMyA9IDww eDA+OwotCQkJeGxueCxzeW5jaC1waXBlZGVsYXktMCA9IDwweDI+OwotCQkJeGxueCxzeW5jaC1w aXBlZGVsYXktMSA9IDwweDI+OwotCQkJeGxueCxzeW5jaC1waXBlZGVsYXktMiA9IDwweDI+Owot CQkJeGxueCxzeW5jaC1waXBlZGVsYXktMyA9IDwweDI+OwotCQkJeGxueCx0YXZkdi1wcy1tZW0t MCA9IDwweDFhZGIwPjsKLQkJCXhsbngsdGF2ZHYtcHMtbWVtLTEgPSA8MHgzYTk4PjsKLQkJCXhs bngsdGF2ZHYtcHMtbWVtLTIgPSA8MHgzYTk4PjsKLQkJCXhsbngsdGF2ZHYtcHMtbWVtLTMgPSA8 MHgzYTk4PjsKLQkJCXhsbngsdGNlZHYtcHMtbWVtLTAgPSA8MHgxYWRiMD47Ci0JCQl4bG54LHRj ZWR2LXBzLW1lbS0xID0gPDB4M2E5OD47Ci0JCQl4bG54LHRjZWR2LXBzLW1lbS0yID0gPDB4M2E5 OD47Ci0JCQl4bG54LHRjZWR2LXBzLW1lbS0zID0gPDB4M2E5OD47Ci0JCQl4bG54LHRoemNlLXBz LW1lbS0wID0gPDB4ODhiOD47Ci0JCQl4bG54LHRoemNlLXBzLW1lbS0xID0gPDB4MWI1OD47Ci0J CQl4bG54LHRoemNlLXBzLW1lbS0yID0gPDB4MWI1OD47Ci0JCQl4bG54LHRoemNlLXBzLW1lbS0z ID0gPDB4MWI1OD47Ci0JCQl4bG54LHRoem9lLXBzLW1lbS0wID0gPDB4MWI1OD47Ci0JCQl4bG54 LHRoem9lLXBzLW1lbS0xID0gPDB4MWI1OD47Ci0JCQl4bG54LHRoem9lLXBzLW1lbS0yID0gPDB4 MWI1OD47Ci0JCQl4bG54LHRoem9lLXBzLW1lbS0zID0gPDB4MWI1OD47Ci0JCQl4bG54LHRsendl LXBzLW1lbS0wID0gPDB4ODhiOD47Ci0JCQl4bG54LHRsendlLXBzLW1lbS0xID0gPDB4MD47Ci0J CQl4bG54LHRsendlLXBzLW1lbS0yID0gPDB4MD47Ci0JCQl4bG54LHRsendlLXBzLW1lbS0zID0g PDB4MD47Ci0JCQl4bG54LHR3Yy1wcy1tZW0tMCA9IDwweDJhZjg+OwotCQkJeGxueCx0d2MtcHMt bWVtLTEgPSA8MHgzYTk4PjsKLQkJCXhsbngsdHdjLXBzLW1lbS0yID0gPDB4M2E5OD47Ci0JCQl4 bG54LHR3Yy1wcy1tZW0tMyA9IDwweDNhOTg+OwotCQkJeGxueCx0d3AtcHMtbWVtLTAgPSA8MHgx MTE3MD47Ci0JCQl4bG54LHR3cC1wcy1tZW0tMSA9IDwweDJlZTA+OwotCQkJeGxueCx0d3AtcHMt bWVtLTIgPSA8MHgyZWUwPjsKLQkJCXhsbngsdHdwLXBzLW1lbS0zID0gPDB4MmVlMD47Ci0JCQl4 bG54LHhjbDAtbGluZXNpemUgPSA8MHg0PjsKLQkJCXhsbngseGNsMC13cml0ZXhmZXIgPSA8MHgx PjsKLQkJCXhsbngseGNsMS1saW5lc2l6ZSA9IDwweDQ+OwotCQkJeGxueCx4Y2wxLXdyaXRleGZl ciA9IDwweDE+OwotCQkJeGxueCx4Y2wyLWxpbmVzaXplID0gPDB4ND47Ci0JCQl4bG54LHhjbDIt d3JpdGV4ZmVyID0gPDB4MT47Ci0JCQl4bG54LHhjbDMtbGluZXNpemUgPSA8MHg0PjsKLQkJCXhs bngseGNsMy13cml0ZXhmZXIgPSA8MHgxPjsKLQkJfSA7Ci0JCUhhcmRfRXRoZXJuZXRfTUFDOiB4 cHMtbGwtdGVtYWNAODFjMDAwMDAgewotCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Ci0JCQkjc2l6 ZS1jZWxscyA9IDwxPjsKLQkJCWNvbXBhdGlibGUgPSAieGxueCxjb21wb3VuZCI7Ci0JCQlldGhl cm5ldEA4MWMwMDAwMCB7Ci0JCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Ci0JCQkJI3NpemUtY2Vs bHMgPSA8MD47Ci0JCQkJY29tcGF0aWJsZSA9ICJ4bG54LHhwcy1sbC10ZW1hYy0xLjAxLmIiOwot CQkJCWRldmljZV90eXBlID0gIm5ldHdvcmsiOwotCQkJCWludGVycnVwdC1wYXJlbnQgPSA8Jnhw c19pbnRjXzA+OwotCQkJCWludGVycnVwdHMgPSA8IDUgMiA+OwotCQkJCWxsaW5rLWNvbm5lY3Rl ZCA9IDwmRE1BMD47Ci0JCQkJbG9jYWwtbWFjLWFkZHJlc3MgPSBbIDAyIDAwIDAwIDAwIDAwIDAw IF07Ci0JCQkJcmVnID0gPCAweDgxYzAwMDAwIDB4NDAgPjsKLQkJCQl4bG54LGJ1czJjb3JlLWNs ay1yYXRpbyA9IDwxPjsKLQkJCQl4bG54LHBoeS10eXBlID0gPDE+OwotCQkJCXhsbngscGh5YWRk ciA9IDwxPjsKLQkJCQl4bG54LHJ4Y3N1bSA9IDwxPjsKLQkJCQl4bG54LHJ4ZmlmbyA9IDwweDEw MDA+OwotCQkJCXhsbngsdGVtYWMtdHlwZSA9IDwwPjsKLQkJCQl4bG54LHR4Y3N1bSA9IDwxPjsK LQkJCQl4bG54LHR4ZmlmbyA9IDwweDEwMDA+OwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwaHktaGFuZGxlID0gPCZwaHk3PjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY2xvY2stZnJlcXVlbmN5ID0gPDEwMDAwMDAwMD47Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBoeTc6IHBoeUA3IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbXBhdGlibGUgPSAibWFydmVsbCw4OGUxMTExIjsKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDw3PjsKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfSA7Ci0JCQl9IDsKLQkJfSA7Ci0JCUlJQ19FRVBST006IGkyY0A4MTYw MDAwMCB7Ci0JCQljb21wYXRpYmxlID0gInhsbngseHBzLWlpYy0yLjAwLmEiOwotCQkJaW50ZXJy dXB0LXBhcmVudCA9IDwmeHBzX2ludGNfMD47Ci0JCQlpbnRlcnJ1cHRzID0gPCA2IDIgPjsKLQkJ CXJlZyA9IDwgMHg4MTYwMDAwMCAweDEwMDAwID47Ci0JCQl4bG54LGNsay1mcmVxID0gPDB4NWY1 ZTEwMD47Ci0JCQl4bG54LGZhbWlseSA9ICJ2aXJ0ZXg1IjsKLQkJCXhsbngsZ3BvLXdpZHRoID0g PDB4MT47Ci0JCQl4bG54LGlpYy1mcmVxID0gPDB4MTg2YTA+OwotCQkJeGxueCxzY2wtaW5lcnRp YWwtZGVsYXkgPSA8MHgwPjsKLQkJCXhsbngsc2RhLWluZXJ0aWFsLWRlbGF5ID0gPDB4MD47Ci0J CQl4bG54LHRlbi1iaXQtYWRyID0gPDB4MD47Ci0JCX0gOwotCQlMRURzXzhCaXQ6IGdwaW9AODE0 MDAwMDAgewotCQkJY29tcGF0aWJsZSA9ICJ4bG54LHhwcy1ncGlvLTEuMDAuYSI7Ci0JCQlyZWcg PSA8IDB4ODE0MDAwMDAgMHgxMDAwMCA+OwotCQkJeGxueCxhbGwtaW5wdXRzID0gPDA+OwotCQkJ eGxueCxhbGwtaW5wdXRzLTIgPSA8MD47Ci0JCQl4bG54LGRvdXQtZGVmYXVsdCA9IDwwPjsKLQkJ CXhsbngsZG91dC1kZWZhdWx0LTIgPSA8MD47Ci0JCQl4bG54LGZhbWlseSA9ICJ2aXJ0ZXg1IjsK LQkJCXhsbngsZ3Bpby13aWR0aCA9IDw4PjsKLQkJCXhsbngsaW50ZXJydXB0LXByZXNlbnQgPSA8 MD47Ci0JCQl4bG54LGlzLWJpZGlyID0gPDE+OwotCQkJeGxueCxpcy1iaWRpci0yID0gPDE+Owot CQkJeGxueCxpcy1kdWFsID0gPDA+OwotCQkJeGxueCx0cmktZGVmYXVsdCA9IDwweGZmZmZmZmZm PjsKLQkJCXhsbngsdHJpLWRlZmF1bHQtMiA9IDwweGZmZmZmZmZmPjsKLQkJfSA7Ci0JCUxFRHNf UG9zaXRpb25zOiBncGlvQDgxNDIwMDAwIHsKLQkJCWNvbXBhdGlibGUgPSAieGxueCx4cHMtZ3Bp by0xLjAwLmEiOwotCQkJcmVnID0gPCAweDgxNDIwMDAwIDB4MTAwMDAgPjsKLQkJCXhsbngsYWxs LWlucHV0cyA9IDwwPjsKLQkJCXhsbngsYWxsLWlucHV0cy0yID0gPDA+OwotCQkJeGxueCxkb3V0 LWRlZmF1bHQgPSA8MD47Ci0JCQl4bG54LGRvdXQtZGVmYXVsdC0yID0gPDA+OwotCQkJeGxueCxm YW1pbHkgPSAidmlydGV4NSI7Ci0JCQl4bG54LGdwaW8td2lkdGggPSA8NT47Ci0JCQl4bG54LGlu dGVycnVwdC1wcmVzZW50ID0gPDA+OwotCQkJeGxueCxpcy1iaWRpciA9IDwxPjsKLQkJCXhsbngs aXMtYmlkaXItMiA9IDwxPjsKLQkJCXhsbngsaXMtZHVhbCA9IDwwPjsKLQkJCXhsbngsdHJpLWRl ZmF1bHQgPSA8MHhmZmZmZmZmZj47Ci0JCQl4bG54LHRyaS1kZWZhdWx0LTIgPSA8MHhmZmZmZmZm Zj47Ci0JCX0gOwotCQlQdXNoX0J1dHRvbnNfNUJpdDogZ3Bpb0A4MTQ0MDAwMCB7Ci0JCQljb21w YXRpYmxlID0gInhsbngseHBzLWdwaW8tMS4wMC5hIjsKLQkJCWludGVycnVwdC1wYXJlbnQgPSA8 Jnhwc19pbnRjXzA+OwotCQkJaW50ZXJydXB0cyA9IDwgOCAyID47Ci0JCQlyZWcgPSA8IDB4ODE0 NDAwMDAgMHgxMDAwMCA+OwotCQkJeGxueCxhbGwtaW5wdXRzID0gPDE+OwotCQkJeGxueCxhbGwt aW5wdXRzLTIgPSA8MD47Ci0JCQl4bG54LGRvdXQtZGVmYXVsdCA9IDwwPjsKLQkJCXhsbngsZG91 dC1kZWZhdWx0LTIgPSA8MD47Ci0JCQl4bG54LGZhbWlseSA9ICJ2aXJ0ZXg1IjsKLQkJCXhsbngs Z3Bpby13aWR0aCA9IDw1PjsKLQkJCXhsbngsaW50ZXJydXB0LXByZXNlbnQgPSA8MT47Ci0JCQl4 bG54LGlzLWJpZGlyID0gPDE+OwotCQkJeGxueCxpcy1iaWRpci0yID0gPDE+OwotCQkJeGxueCxp cy1kdWFsID0gPDA+OwotCQkJeGxueCx0cmktZGVmYXVsdCA9IDwweGZmZmZmZmZmPjsKLQkJCXhs bngsdHJpLWRlZmF1bHQtMiA9IDwweGZmZmZmZmZmPjsKLQkJfSA7Ci0JCVJTMjMyX1VhcnRfMTog c2VyaWFsQDgzZTAwMDAwIHsKLQkJCWNsb2NrLWZyZXF1ZW5jeSA9IDwxMDAwMDAwMDA+OwotCQkJ Y29tcGF0aWJsZSA9ICJ4bG54LHhwcy11YXJ0MTY1NTAtMi4wMC5iIiwgIm5zMTY1NTAiOwotCQkJ Y3VycmVudC1zcGVlZCA9IDw5NjAwPjsKLQkJCWRldmljZV90eXBlID0gInNlcmlhbCI7Ci0JCQlp bnRlcnJ1cHQtcGFyZW50ID0gPCZ4cHNfaW50Y18wPjsKLQkJCWludGVycnVwdHMgPSA8IDkgMiA+ OwotCQkJcmVnID0gPCAweDgzZTAwMDAwIDB4MTAwMDAgPjsKLQkJCXJlZy1vZmZzZXQgPSA8MHgx MDAzPjsKLQkJCXJlZy1zaGlmdCA9IDwyPjsKLQkJCXhsbngsZmFtaWx5ID0gInZpcnRleDUiOwot CQkJeGxueCxoYXMtZXh0ZXJuYWwtcmNsayA9IDwwPjsKLQkJCXhsbngsaGFzLWV4dGVybmFsLXhp biA9IDwwPjsKLQkJCXhsbngsaXMtYS0xNjU1MCA9IDwxPjsKLQkJfSA7Ci0JCVN5c0FDRV9Db21w YWN0Rmxhc2g6IHN5c2FjZUA4MzYwMDAwMCB7Ci0JCQljb21wYXRpYmxlID0gInhsbngseHBzLXN5 c2FjZS0xLjAwLmEiOwotCQkJaW50ZXJydXB0LXBhcmVudCA9IDwmeHBzX2ludGNfMD47Ci0JCQlp bnRlcnJ1cHRzID0gPCA0IDIgPjsKLQkJCXJlZyA9IDwgMHg4MzYwMDAwMCAweDEwMDAwID47Ci0J CQl4bG54LGZhbWlseSA9ICJ2aXJ0ZXg1IjsKLQkJCXhsbngsbWVtLXdpZHRoID0gPDB4MTA+Owot CQl9IDsKLQkJeHBzX2JyYW1faWZfY250bHJfMTogeHBzLWJyYW0taWYtY250bHJAZmZmZjAwMDAg ewotCQkJY29tcGF0aWJsZSA9ICJ4bG54LHhwcy1icmFtLWlmLWNudGxyLTEuMDAuYSI7Ci0JCQly ZWcgPSA8IDB4ZmZmZjAwMDAgMHgxMDAwMCA+OwotCQkJeGxueCxmYW1pbHkgPSAidmlydGV4NSI7 Ci0JCX0gOwotCQl4cHNfaW50Y18wOiBpbnRlcnJ1cHQtY29udHJvbGxlckA4MTgwMDAwMCB7Ci0J CQkjaW50ZXJydXB0LWNlbGxzID0gPDI+OwotCQkJY29tcGF0aWJsZSA9ICJ4bG54LHhwcy1pbnRj LTEuMDAuYSI7Ci0JCQlpbnRlcnJ1cHQtY29udHJvbGxlciA7Ci0JCQlyZWcgPSA8IDB4ODE4MDAw MDAgMHgxMDAwMCA+OwotCQkJeGxueCxudW0taW50ci1pbnB1dHMgPSA8MHhjPjsKLQkJfSA7Ci0J CXhwc190aW1lYmFzZV93ZHRfMTogeHBzLXRpbWViYXNlLXdkdEA4M2EwMDAwMCB7Ci0JCQljb21w YXRpYmxlID0gInhsbngseHBzLXRpbWViYXNlLXdkdC0xLjAwLmIiOwotCQkJaW50ZXJydXB0LXBh cmVudCA9IDwmeHBzX2ludGNfMD47Ci0JCQlpbnRlcnJ1cHRzID0gPCAyIDAgMSAyID47Ci0JCQly ZWcgPSA8IDB4ODNhMDAwMDAgMHgxMDAwMCA+OwotCQkJeGxueCxmYW1pbHkgPSAidmlydGV4NSI7 Ci0JCQl4bG54LHdkdC1lbmFibGUtb25jZSA9IDwwPjsKLQkJCXhsbngsd2R0LWludGVydmFsID0g PDB4MWU+OwotCQl9IDsKLQkJeHBzX3RpbWVyXzE6IHRpbWVyQDgzYzAwMDAwIHsKLQkJCWNvbXBh dGlibGUgPSAieGxueCx4cHMtdGltZXItMS4wMC5hIjsKLQkJCWludGVycnVwdC1wYXJlbnQgPSA8 Jnhwc19pbnRjXzA+OwotCQkJaW50ZXJydXB0cyA9IDwgMyAyID47Ci0JCQlyZWcgPSA8IDB4ODNj MDAwMDAgMHgxMDAwMCA+OwotCQkJeGxueCxjb3VudC13aWR0aCA9IDwweDIwPjsKLQkJCXhsbngs ZmFtaWx5ID0gInZpcnRleDUiOwotCQkJeGxueCxnZW4wLWFzc2VydCA9IDwxPjsKLQkJCXhsbngs Z2VuMS1hc3NlcnQgPSA8MT47Ci0JCQl4bG54LG9uZS10aW1lci1vbmx5ID0gPDE+OwotCQkJeGxu eCx0cmlnMC1hc3NlcnQgPSA8MT47Ci0JCQl4bG54LHRyaWcxLWFzc2VydCA9IDwxPjsKLQkJfSA7 Ci0JfSA7Ci19ICA7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvYm9vdC9kdHMvdmlydGV4NDQw LW1sNTEwLmR0cyBiL2FyY2gvcG93ZXJwYy9ib290L2R0cy92aXJ0ZXg0NDAtbWw1MTAuZHRzCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjczNmNhMjZkZGMuLjAwMDAwMDAwMDAwMAot LS0gYS9hcmNoL3Bvd2VycGMvYm9vdC9kdHMvdmlydGV4NDQwLW1sNTEwLmR0cworKysgL2Rldi9u dWxsCkBAIC0xLDQ2NiArMCwwIEBACi0vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MAotLyoKLSAqIFhpbGlueCBNTDUxMCBSZWZlcmVuY2UgRGVzaWduIHN1cHBvcnQKLSAqCi0gKiBU aGlzIERUUyBmaWxlIHdhcyBjcmVhdGVkIGZvciB0aGUgbWw1MTBfYnNiMV9wY29yZXNfcHBjNDQw IHJlZmVyZW5jZSBkZXNpZ24uCi0gKiBUaGUgcmVmZXJlbmNlIGRlc2lnbiBjb250YWlucyBhIGJ1 ZyB3aGljaCBwcmV2ZW50IFBDSSBETUEgZnJvbSB3b3JraW5nCi0gKiBwcm9wZXJseS4gIEEgZGVz Y3JpcHRpb24gb2YgdGhlIGJ1ZyBpcyBnaXZlbiBpbiB0aGUgcGxidjQ2X3BjaSBzZWN0aW9uLiBJ dAotICogbmVlZHMgdG8gYmUgZml4ZWQgYnkgdGhlIHVzZXIgdW50aWwgWGlsaW54IHVwZGF0ZXMg dGhlaXIgcmVmZXJlbmNlIGRlc2lnbi4KLSAqCi0gKiBDb3B5cmlnaHQgMjAwOSwgUm9kZXJpY2sg Q29sZW5icmFuZGVyCi0gKi8KLQotL2R0cy12MS87Ci0vIHsKLQkjYWRkcmVzcy1jZWxscyA9IDwx PjsKLQkjc2l6ZS1jZWxscyA9IDwxPjsKLQljb21wYXRpYmxlID0gInhsbngsbWw1MTAtcmVmLWRl c2lnbiIsICJ4bG54LHZpcnRleDQ0MCI7Ci0JZGNyLXBhcmVudCA9IDwmcHBjNDQwXzA+OwotCURE UjJfU0RSQU1fRElNTTA6IG1lbW9yeUAwIHsKLQkJZGV2aWNlX3R5cGUgPSAibWVtb3J5IjsKLQkJ cmVnID0gPCAweDAgMHgyMDAwMDAwMCA+OwotCX0gOwotCWFsaWFzIHsKLQkJZXRoZXJuZXQwID0g JkhhcmRfRXRoZXJuZXRfTUFDOwotCQlzZXJpYWwwID0gJlJTMjMyX1VhcnRfMTsKLQl9IDsKLQlj aG9zZW4gewotCQlib290YXJncyA9ICJjb25zb2xlPXR0eVMwIHJvb3Q9L2Rldi9yYW0iOwotCQlz dGRvdXQtcGF0aCA9ICIvcGxiQDAvc2VyaWFsQDgzZTAwMDAwIjsKLQl9IDsKLQljcHVzIHsKLQkJ I2FkZHJlc3MtY2VsbHMgPSA8MT47Ci0JCSNjcHVzID0gPDB4MT47Ci0JCSNzaXplLWNlbGxzID0g PDA+OwotCQlwcGM0NDBfMDogY3B1QDAgewotCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Ci0JCQkj c2l6ZS1jZWxscyA9IDwxPjsKLQkJCWNsb2NrLWZyZXF1ZW5jeSA9IDwzMDAwMDAwMDA+OwotCQkJ Y29tcGF0aWJsZSA9ICJQb3dlclBDLDQ0MCIsICJpYm0scHBjNDQwIjsKLQkJCWQtY2FjaGUtbGlu ZS1zaXplID0gPDB4MjA+OwotCQkJZC1jYWNoZS1zaXplID0gPDB4ODAwMD47Ci0JCQlkY3ItYWNj ZXNzLW1ldGhvZCA9ICJuYXRpdmUiOwotCQkJZGNyLWNvbnRyb2xsZXIgOwotCQkJZGV2aWNlX3R5 cGUgPSAiY3B1IjsKLQkJCWktY2FjaGUtbGluZS1zaXplID0gPDB4MjA+OwotCQkJaS1jYWNoZS1z aXplID0gPDB4ODAwMD47Ci0JCQltb2RlbCA9ICJQb3dlclBDLDQ0MCI7Ci0JCQlyZWcgPSA8MD47 Ci0JCQl0aW1lYmFzZS1mcmVxdWVuY3kgPSA8MzAwMDAwMDAwPjsKLQkJCXhsbngsYXB1LWNvbnRy b2wgPSA8MHgyMDAwPjsKLQkJCXhsbngsYXB1LXVkaS0wID0gPDB4MD47Ci0JCQl4bG54LGFwdS11 ZGktMSA9IDwweDA+OwotCQkJeGxueCxhcHUtdWRpLTEwID0gPDB4MD47Ci0JCQl4bG54LGFwdS11 ZGktMTEgPSA8MHgwPjsKLQkJCXhsbngsYXB1LXVkaS0xMiA9IDwweDA+OwotCQkJeGxueCxhcHUt dWRpLTEzID0gPDB4MD47Ci0JCQl4bG54LGFwdS11ZGktMTQgPSA8MHgwPjsKLQkJCXhsbngsYXB1 LXVkaS0xNSA9IDwweDA+OwotCQkJeGxueCxhcHUtdWRpLTIgPSA8MHgwPjsKLQkJCXhsbngsYXB1 LXVkaS0zID0gPDB4MD47Ci0JCQl4bG54LGFwdS11ZGktNCA9IDwweDA+OwotCQkJeGxueCxhcHUt dWRpLTUgPSA8MHgwPjsKLQkJCXhsbngsYXB1LXVkaS02ID0gPDB4MD47Ci0JCQl4bG54LGFwdS11 ZGktNyA9IDwweDA+OwotCQkJeGxueCxhcHUtdWRpLTggPSA8MHgwPjsKLQkJCXhsbngsYXB1LXVk aS05ID0gPDB4MD47Ci0JCQl4bG54LGRjci1hdXRvbG9jay1lbmFibGUgPSA8MHgxPjsKLQkJCXhs bngsZGN1LXJkLWxkLWNhY2hlLXBsYi1wcmlvID0gPDB4MD47Ci0JCQl4bG54LGRjdS1yZC1ub25j YWNoZS1wbGItcHJpbyA9IDwweDA+OwotCQkJeGxueCxkY3UtcmQtdG91Y2gtcGxiLXByaW8gPSA8 MHgwPjsKLQkJCXhsbngsZGN1LXJkLXVyZ2VudC1wbGItcHJpbyA9IDwweDA+OwotCQkJeGxueCxk Y3Utd3ItZmx1c2gtcGxiLXByaW8gPSA8MHgwPjsKLQkJCXhsbngsZGN1LXdyLXN0b3JlLXBsYi1w cmlvID0gPDB4MD47Ci0JCQl4bG54LGRjdS13ci11cmdlbnQtcGxiLXByaW8gPSA8MHgwPjsKLQkJ CXhsbngsZG1hMC1jb250cm9sID0gPDB4MD47Ci0JCQl4bG54LGRtYTAtcGxiLXByaW8gPSA8MHgw PjsKLQkJCXhsbngsZG1hMC1yeGNoYW5uZWxjdHJsID0gPDB4MTAxMDAwMD47Ci0JCQl4bG54LGRt YTAtcnhpcnF0aW1lciA9IDwweDNmZj47Ci0JCQl4bG54LGRtYTAtdHhjaGFubmVsY3RybCA9IDww eDEwMTAwMDA+OwotCQkJeGxueCxkbWEwLXR4aXJxdGltZXIgPSA8MHgzZmY+OwotCQkJeGxueCxk bWExLWNvbnRyb2wgPSA8MHgwPjsKLQkJCXhsbngsZG1hMS1wbGItcHJpbyA9IDwweDA+OwotCQkJ eGxueCxkbWExLXJ4Y2hhbm5lbGN0cmwgPSA8MHgxMDEwMDAwPjsKLQkJCXhsbngsZG1hMS1yeGly cXRpbWVyID0gPDB4M2ZmPjsKLQkJCXhsbngsZG1hMS10eGNoYW5uZWxjdHJsID0gPDB4MTAxMDAw MD47Ci0JCQl4bG54LGRtYTEtdHhpcnF0aW1lciA9IDwweDNmZj47Ci0JCQl4bG54LGRtYTItY29u dHJvbCA9IDwweDA+OwotCQkJeGxueCxkbWEyLXBsYi1wcmlvID0gPDB4MD47Ci0JCQl4bG54LGRt YTItcnhjaGFubmVsY3RybCA9IDwweDEwMTAwMDA+OwotCQkJeGxueCxkbWEyLXJ4aXJxdGltZXIg PSA8MHgzZmY+OwotCQkJeGxueCxkbWEyLXR4Y2hhbm5lbGN0cmwgPSA8MHgxMDEwMDAwPjsKLQkJ CXhsbngsZG1hMi10eGlycXRpbWVyID0gPDB4M2ZmPjsKLQkJCXhsbngsZG1hMy1jb250cm9sID0g PDB4MD47Ci0JCQl4bG54LGRtYTMtcGxiLXByaW8gPSA8MHgwPjsKLQkJCXhsbngsZG1hMy1yeGNo YW5uZWxjdHJsID0gPDB4MTAxMDAwMD47Ci0JCQl4bG54LGRtYTMtcnhpcnF0aW1lciA9IDwweDNm Zj47Ci0JCQl4bG54LGRtYTMtdHhjaGFubmVsY3RybCA9IDwweDEwMTAwMDA+OwotCQkJeGxueCxk bWEzLXR4aXJxdGltZXIgPSA8MHgzZmY+OwotCQkJeGxueCxlbmRpYW4tcmVzZXQgPSA8MHgwPjsK LQkJCXhsbngsZ2VuZXJhdGUtcGxiLXRpbWVzcGVjcyA9IDwweDE+OwotCQkJeGxueCxpY3UtcmQt ZmV0Y2gtcGxiLXByaW8gPSA8MHgwPjsKLQkJCXhsbngsaWN1LXJkLXNwZWMtcGxiLXByaW8gPSA8 MHgwPjsKLQkJCXhsbngsaWN1LXJkLXRvdWNoLXBsYi1wcmlvID0gPDB4MD47Ci0JCQl4bG54LGlu dGVyY29ubmVjdC1pbWFzayA9IDwweGZmZmZmZmZmPjsKLQkJCXhsbngsbXBsYi1hbGxvdy1sb2Nr LXhmZXIgPSA8MHgxPjsKLQkJCXhsbngsbXBsYi1hcmItbW9kZSA9IDwweDA+OwotCQkJeGxueCxt cGxiLWF3aWR0aCA9IDwweDIwPjsKLQkJCXhsbngsbXBsYi1jb3VudGVyID0gPDB4NTAwPjsKLQkJ CXhsbngsbXBsYi1kd2lkdGggPSA8MHg4MD47Ci0JCQl4bG54LG1wbGItbWF4LWJ1cnN0ID0gPDB4 OD47Ci0JCQl4bG54LG1wbGItbmF0aXZlLWR3aWR0aCA9IDwweDgwPjsKLQkJCXhsbngsbXBsYi1w MnAgPSA8MHgwPjsKLQkJCXhsbngsbXBsYi1wcmlvLWRjdXIgPSA8MHgyPjsKLQkJCXhsbngsbXBs Yi1wcmlvLWRjdXcgPSA8MHgzPjsKLQkJCXhsbngsbXBsYi1wcmlvLWljdSA9IDwweDQ+OwotCQkJ eGxueCxtcGxiLXByaW8tc3BsYjAgPSA8MHgxPjsKLQkJCXhsbngsbXBsYi1wcmlvLXNwbGIxID0g PDB4MD47Ci0JCQl4bG54LG1wbGItcmVhZC1waXBlLWVuYWJsZSA9IDwweDE+OwotCQkJeGxueCxt cGxiLXN5bmMtdGF0dHJpYnV0ZSA9IDwweDA+OwotCQkJeGxueCxtcGxiLXdkb2ctZW5hYmxlID0g PDB4MT47Ci0JCQl4bG54LG1wbGItd3JpdGUtcGlwZS1lbmFibGUgPSA8MHgxPjsKLQkJCXhsbngs bXBsYi13cml0ZS1wb3N0LWVuYWJsZSA9IDwweDE+OwotCQkJeGxueCxudW0tZG1hID0gPDB4MD47 Ci0JCQl4bG54LHBpciA9IDwweGY+OwotCQkJeGxueCxwcGM0NDBtYy1hZGRyLWJhc2UgPSA8MHgw PjsKLQkJCXhsbngscHBjNDQwbWMtYWRkci1oaWdoID0gPDB4MWZmZmZmZmY+OwotCQkJeGxueCxw cGM0NDBtYy1hcmItbW9kZSA9IDwweDA+OwotCQkJeGxueCxwcGM0NDBtYy1iYW5rLWNvbmZsaWN0 LW1hc2sgPSA8MHgxODAwMDAwPjsKLQkJCXhsbngscHBjNDQwbWMtY29udHJvbCA9IDwweGY4MTAw MDhmPjsKLQkJCXhsbngscHBjNDQwbWMtbWF4LWJ1cnN0ID0gPDB4OD47Ci0JCQl4bG54LHBwYzQ0 MG1jLXByaW8tZGN1ciA9IDwweDI+OwotCQkJeGxueCxwcGM0NDBtYy1wcmlvLWRjdXcgPSA8MHgz PjsKLQkJCXhsbngscHBjNDQwbWMtcHJpby1pY3UgPSA8MHg0PjsKLQkJCXhsbngscHBjNDQwbWMt cHJpby1zcGxiMCA9IDwweDE+OwotCQkJeGxueCxwcGM0NDBtYy1wcmlvLXNwbGIxID0gPDB4MD47 Ci0JCQl4bG54LHBwYzQ0MG1jLXJvdy1jb25mbGljdC1tYXNrID0gPDB4N2ZmZTAwPjsKLQkJCXhs bngscHBjZG0tYXN5bmNtb2RlID0gPDB4MD47Ci0JCQl4bG54LHBwY2RzLWFzeW5jbW9kZSA9IDww eDA+OwotCQkJeGxueCx1c2VyLXJlc2V0ID0gPDB4MD47Ci0JCX0gOwotCX0gOwotCXBsYl92NDZf MDogcGxiQDAgewotCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKLQkJI3NpemUtY2VsbHMgPSA8MT47 Ci0JCWNvbXBhdGlibGUgPSAieGxueCxwbGItdjQ2LTEuMDMuYSIsICJzaW1wbGUtYnVzIjsKLQkJ cmFuZ2VzIDsKLQkJRkxBU0g6IGZsYXNoQGZjMDAwMDAwIHsKLQkJCWJhbmstd2lkdGggPSA8Mj47 Ci0JCQljb21wYXRpYmxlID0gInhsbngseHBzLW1jaC1lbWMtMi4wMC5hIiwgImNmaS1mbGFzaCI7 Ci0JCQlyZWcgPSA8IDB4ZmMwMDAwMDAgMHgyMDAwMDAwID47Ci0JCQl4bG54LGZhbWlseSA9ICJ2 aXJ0ZXg1IjsKLQkJCXhsbngsaW5jbHVkZS1kYXRhd2lkdGgtbWF0Y2hpbmctMCA9IDwweDE+Owot CQkJeGxueCxpbmNsdWRlLWRhdGF3aWR0aC1tYXRjaGluZy0xID0gPDB4MD47Ci0JCQl4bG54LGlu Y2x1ZGUtZGF0YXdpZHRoLW1hdGNoaW5nLTIgPSA8MHgwPjsKLQkJCXhsbngsaW5jbHVkZS1kYXRh d2lkdGgtbWF0Y2hpbmctMyA9IDwweDA+OwotCQkJeGxueCxpbmNsdWRlLW5lZ2VkZ2UtaW9yZWdz ID0gPDB4MD47Ci0JCQl4bG54LGluY2x1ZGUtcGxiLWlwaWYgPSA8MHgxPjsKLQkJCXhsbngsaW5j bHVkZS13cmJ1ZiA9IDwweDE+OwotCQkJeGxueCxtYXgtbWVtLXdpZHRoID0gPDB4MTA+OwotCQkJ eGxueCxtY2gtbmF0aXZlLWR3aWR0aCA9IDwweDIwPjsKLQkJCXhsbngsbWNoLXBsYi1jbGstcGVy aW9kLXBzID0gPDB4MjcxMD47Ci0JCQl4bG54LG1jaC1zcGxiLWF3aWR0aCA9IDwweDIwPjsKLQkJ CXhsbngsbWNoMC1hY2Nlc3NidWYtZGVwdGggPSA8MHgxMD47Ci0JCQl4bG54LG1jaDAtcHJvdG9j b2wgPSA8MHgwPjsKLQkJCXhsbngsbWNoMC1yZGRhdGFidWYtZGVwdGggPSA8MHgxMD47Ci0JCQl4 bG54LG1jaDEtYWNjZXNzYnVmLWRlcHRoID0gPDB4MTA+OwotCQkJeGxueCxtY2gxLXByb3RvY29s ID0gPDB4MD47Ci0JCQl4bG54LG1jaDEtcmRkYXRhYnVmLWRlcHRoID0gPDB4MTA+OwotCQkJeGxu eCxtY2gyLWFjY2Vzc2J1Zi1kZXB0aCA9IDwweDEwPjsKLQkJCXhsbngsbWNoMi1wcm90b2NvbCA9 IDwweDA+OwotCQkJeGxueCxtY2gyLXJkZGF0YWJ1Zi1kZXB0aCA9IDwweDEwPjsKLQkJCXhsbngs bWNoMy1hY2Nlc3NidWYtZGVwdGggPSA8MHgxMD47Ci0JCQl4bG54LG1jaDMtcHJvdG9jb2wgPSA8 MHgwPjsKLQkJCXhsbngsbWNoMy1yZGRhdGFidWYtZGVwdGggPSA8MHgxMD47Ci0JCQl4bG54LG1l bTAtd2lkdGggPSA8MHgxMD47Ci0JCQl4bG54LG1lbTEtd2lkdGggPSA8MHgyMD47Ci0JCQl4bG54 LG1lbTItd2lkdGggPSA8MHgyMD47Ci0JCQl4bG54LG1lbTMtd2lkdGggPSA8MHgyMD47Ci0JCQl4 bG54LG51bS1iYW5rcy1tZW0gPSA8MHgxPjsKLQkJCXhsbngsbnVtLWNoYW5uZWxzID0gPDB4Mj47 Ci0JCQl4bG54LHByaW9yaXR5LW1vZGUgPSA8MHgwPjsKLQkJCXhsbngsc3luY2gtbWVtLTAgPSA8 MHgwPjsKLQkJCXhsbngsc3luY2gtbWVtLTEgPSA8MHgwPjsKLQkJCXhsbngsc3luY2gtbWVtLTIg PSA8MHgwPjsKLQkJCXhsbngsc3luY2gtbWVtLTMgPSA8MHgwPjsKLQkJCXhsbngsc3luY2gtcGlw ZWRlbGF5LTAgPSA8MHgyPjsKLQkJCXhsbngsc3luY2gtcGlwZWRlbGF5LTEgPSA8MHgyPjsKLQkJ CXhsbngsc3luY2gtcGlwZWRlbGF5LTIgPSA8MHgyPjsKLQkJCXhsbngsc3luY2gtcGlwZWRlbGF5 LTMgPSA8MHgyPjsKLQkJCXhsbngsdGF2ZHYtcHMtbWVtLTAgPSA8MHgxYWRiMD47Ci0JCQl4bG54 LHRhdmR2LXBzLW1lbS0xID0gPDB4M2E5OD47Ci0JCQl4bG54LHRhdmR2LXBzLW1lbS0yID0gPDB4 M2E5OD47Ci0JCQl4bG54LHRhdmR2LXBzLW1lbS0zID0gPDB4M2E5OD47Ci0JCQl4bG54LHRjZWR2 LXBzLW1lbS0wID0gPDB4MWFkYjA+OwotCQkJeGxueCx0Y2Vkdi1wcy1tZW0tMSA9IDwweDNhOTg+ OwotCQkJeGxueCx0Y2Vkdi1wcy1tZW0tMiA9IDwweDNhOTg+OwotCQkJeGxueCx0Y2Vkdi1wcy1t ZW0tMyA9IDwweDNhOTg+OwotCQkJeGxueCx0aHpjZS1wcy1tZW0tMCA9IDwweDg4Yjg+OwotCQkJ eGxueCx0aHpjZS1wcy1tZW0tMSA9IDwweDFiNTg+OwotCQkJeGxueCx0aHpjZS1wcy1tZW0tMiA9 IDwweDFiNTg+OwotCQkJeGxueCx0aHpjZS1wcy1tZW0tMyA9IDwweDFiNTg+OwotCQkJeGxueCx0 aHpvZS1wcy1tZW0tMCA9IDwweDFiNTg+OwotCQkJeGxueCx0aHpvZS1wcy1tZW0tMSA9IDwweDFi NTg+OwotCQkJeGxueCx0aHpvZS1wcy1tZW0tMiA9IDwweDFiNTg+OwotCQkJeGxueCx0aHpvZS1w cy1tZW0tMyA9IDwweDFiNTg+OwotCQkJeGxueCx0bHp3ZS1wcy1tZW0tMCA9IDwweDg4Yjg+Owot CQkJeGxueCx0bHp3ZS1wcy1tZW0tMSA9IDwweDA+OwotCQkJeGxueCx0bHp3ZS1wcy1tZW0tMiA9 IDwweDA+OwotCQkJeGxueCx0bHp3ZS1wcy1tZW0tMyA9IDwweDA+OwotCQkJeGxueCx0d2MtcHMt bWVtLTAgPSA8MHgxYWRiMD47Ci0JCQl4bG54LHR3Yy1wcy1tZW0tMSA9IDwweDNhOTg+OwotCQkJ eGxueCx0d2MtcHMtbWVtLTIgPSA8MHgzYTk4PjsKLQkJCXhsbngsdHdjLXBzLW1lbS0zID0gPDB4 M2E5OD47Ci0JCQl4bG54LHR3cC1wcy1tZW0tMCA9IDwweDExMTcwPjsKLQkJCXhsbngsdHdwLXBz LW1lbS0xID0gPDB4MmVlMD47Ci0JCQl4bG54LHR3cC1wcy1tZW0tMiA9IDwweDJlZTA+OwotCQkJ eGxueCx0d3AtcHMtbWVtLTMgPSA8MHgyZWUwPjsKLQkJCXhsbngseGNsMC1saW5lc2l6ZSA9IDww eDQ+OwotCQkJeGxueCx4Y2wwLXdyaXRleGZlciA9IDwweDE+OwotCQkJeGxueCx4Y2wxLWxpbmVz aXplID0gPDB4ND47Ci0JCQl4bG54LHhjbDEtd3JpdGV4ZmVyID0gPDB4MT47Ci0JCQl4bG54LHhj bDItbGluZXNpemUgPSA8MHg0PjsKLQkJCXhsbngseGNsMi13cml0ZXhmZXIgPSA8MHgxPjsKLQkJ CXhsbngseGNsMy1saW5lc2l6ZSA9IDwweDQ+OwotCQkJeGxueCx4Y2wzLXdyaXRleGZlciA9IDww eDE+OwotCQl9IDsKLQkJSGFyZF9FdGhlcm5ldF9NQUM6IHhwcy1sbC10ZW1hY0A4MWMwMDAwMCB7 Ci0JCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKLQkJCSNzaXplLWNlbGxzID0gPDE+OwotCQkJY29t cGF0aWJsZSA9ICJ4bG54LGNvbXBvdW5kIjsKLQkJCWV0aGVybmV0QDgxYzAwMDAwIHsKLQkJCQlj b21wYXRpYmxlID0gInhsbngseHBzLWxsLXRlbWFjLTEuMDEuYiI7Ci0JCQkJZGV2aWNlX3R5cGUg PSAibmV0d29yayI7Ci0JCQkJaW50ZXJydXB0LXBhcmVudCA9IDwmeHBzX2ludGNfMD47Ci0JCQkJ aW50ZXJydXB0cyA9IDwgOCAyID47Ci0JCQkJbGxpbmstY29ubmVjdGVkID0gPCZIYXJkX0V0aGVy bmV0X01BQ19maWZvPjsKLQkJCQlsb2NhbC1tYWMtYWRkcmVzcyA9IFsgMDIgMDAgMDAgMDAgMDAg MDAgXTsKLQkJCQlyZWcgPSA8IDB4ODFjMDAwMDAgMHg0MCA+OwotCQkJCXhsbngsYnVzMmNvcmUt Y2xrLXJhdGlvID0gPDB4MT47Ci0JCQkJeGxueCxwaHktdHlwZSA9IDwweDM+OwotCQkJCXhsbngs cGh5YWRkciA9IDwweDE+OwotCQkJCXhsbngscnhjc3VtID0gPDB4MD47Ci0JCQkJeGxueCxyeGZp Zm8gPSA8MHg4MDAwPjsKLQkJCQl4bG54LHRlbWFjLXR5cGUgPSA8MHgwPjsKLQkJCQl4bG54LHR4 Y3N1bSA9IDwweDA+OwotCQkJCXhsbngsdHhmaWZvID0gPDB4ODAwMD47Ci0JCQl9IDsKLQkJfSA7 Ci0JCUhhcmRfRXRoZXJuZXRfTUFDX2ZpZm86IHhwcy1sbC1maWZvQDgxYTAwMDAwIHsKLQkJCWNv bXBhdGlibGUgPSAieGxueCx4cHMtbGwtZmlmby0xLjAxLmEiOwotCQkJaW50ZXJydXB0LXBhcmVu dCA9IDwmeHBzX2ludGNfMD47Ci0JCQlpbnRlcnJ1cHRzID0gPCA2IDIgPjsKLQkJCXJlZyA9IDwg MHg4MWEwMDAwMCAweDEwMDAwID47Ci0JCQl4bG54LGZhbWlseSA9ICJ2aXJ0ZXg1IjsKLQkJfSA7 Ci0JCUlJQ19FRVBST006IGkyY0A4MTYwMDAwMCB7Ci0JCQljb21wYXRpYmxlID0gInhsbngseHBz LWlpYy0yLjAwLmEiOwotCQkJaW50ZXJydXB0LXBhcmVudCA9IDwmeHBzX2ludGNfMD47Ci0JCQlp bnRlcnJ1cHRzID0gPCA5IDIgPjsKLQkJCXJlZyA9IDwgMHg4MTYwMDAwMCAweDEwMDAwID47Ci0J CQl4bG54LGNsay1mcmVxID0gPDB4NWY1ZTEwMD47Ci0JCQl4bG54LGZhbWlseSA9ICJ2aXJ0ZXg1 IjsKLQkJCXhsbngsZ3BvLXdpZHRoID0gPDB4MT47Ci0JCQl4bG54LGlpYy1mcmVxID0gPDB4MTg2 YTA+OwotCQkJeGxueCxzY2wtaW5lcnRpYWwtZGVsYXkgPSA8MHg1PjsKLQkJCXhsbngsc2RhLWlu ZXJ0aWFsLWRlbGF5ID0gPDB4NT47Ci0JCQl4bG54LHRlbi1iaXQtYWRyID0gPDB4MD47Ci0JCX0g OwotCQlMQ0RfT1BUSU9OQUw6IGdwaW9AODE0MjAwMDAgewotCQkJY29tcGF0aWJsZSA9ICJ4bG54 LHhwcy1ncGlvLTEuMDAuYSI7Ci0JCQlyZWcgPSA8IDB4ODE0MjAwMDAgMHgxMDAwMCA+OwotCQkJ eGxueCxhbGwtaW5wdXRzID0gPDB4MD47Ci0JCQl4bG54LGFsbC1pbnB1dHMtMiA9IDwweDA+Owot CQkJeGxueCxkb3V0LWRlZmF1bHQgPSA8MHgwPjsKLQkJCXhsbngsZG91dC1kZWZhdWx0LTIgPSA8 MHgwPjsKLQkJCXhsbngsZmFtaWx5ID0gInZpcnRleDUiOwotCQkJeGxueCxncGlvLXdpZHRoID0g PDB4Yj47Ci0JCQl4bG54LGludGVycnVwdC1wcmVzZW50ID0gPDB4MD47Ci0JCQl4bG54LGlzLWJp ZGlyID0gPDB4MT47Ci0JCQl4bG54LGlzLWJpZGlyLTIgPSA8MHgxPjsKLQkJCXhsbngsaXMtZHVh bCA9IDwweDA+OwotCQkJeGxueCx0cmktZGVmYXVsdCA9IDwweGZmZmZmZmZmPjsKLQkJCXhsbngs dHJpLWRlZmF1bHQtMiA9IDwweGZmZmZmZmZmPjsKLQkJfSA7Ci0JCUxFRHNfNEJpdDogZ3Bpb0A4 MTQwMDAwMCB7Ci0JCQljb21wYXRpYmxlID0gInhsbngseHBzLWdwaW8tMS4wMC5hIjsKLQkJCXJl ZyA9IDwgMHg4MTQwMDAwMCAweDEwMDAwID47Ci0JCQl4bG54LGFsbC1pbnB1dHMgPSA8MHgwPjsK LQkJCXhsbngsYWxsLWlucHV0cy0yID0gPDB4MD47Ci0JCQl4bG54LGRvdXQtZGVmYXVsdCA9IDww eDA+OwotCQkJeGxueCxkb3V0LWRlZmF1bHQtMiA9IDwweDA+OwotCQkJeGxueCxmYW1pbHkgPSAi dmlydGV4NSI7Ci0JCQl4bG54LGdwaW8td2lkdGggPSA8MHg0PjsKLQkJCXhsbngsaW50ZXJydXB0 LXByZXNlbnQgPSA8MHgwPjsKLQkJCXhsbngsaXMtYmlkaXIgPSA8MHgxPjsKLQkJCXhsbngsaXMt YmlkaXItMiA9IDwweDE+OwotCQkJeGxueCxpcy1kdWFsID0gPDB4MD47Ci0JCQl4bG54LHRyaS1k ZWZhdWx0ID0gPDB4ZmZmZmZmZmY+OwotCQkJeGxueCx0cmktZGVmYXVsdC0yID0gPDB4ZmZmZmZm ZmY+OwotCQl9IDsKLQkJUlMyMzJfVWFydF8xOiBzZXJpYWxAODNlMDAwMDAgewotCQkJY2xvY2st ZnJlcXVlbmN5ID0gPDEwMDAwMDAwMD47Ci0JCQljb21wYXRpYmxlID0gInhsbngseHBzLXVhcnQx NjU1MC0yLjAwLmIiLCAibnMxNjU1MCI7Ci0JCQljdXJyZW50LXNwZWVkID0gPDk2MDA+OwotCQkJ ZGV2aWNlX3R5cGUgPSAic2VyaWFsIjsKLQkJCWludGVycnVwdC1wYXJlbnQgPSA8Jnhwc19pbnRj XzA+OwotCQkJaW50ZXJydXB0cyA9IDwgMTEgMiA+OwotCQkJcmVnID0gPCAweDgzZTAwMDAwIDB4 MTAwMDAgPjsKLQkJCXJlZy1vZmZzZXQgPSA8MHgxMDAzPjsKLQkJCXJlZy1zaGlmdCA9IDwyPjsK LQkJCXhsbngsZmFtaWx5ID0gInZpcnRleDUiOwotCQkJeGxueCxoYXMtZXh0ZXJuYWwtcmNsayA9 IDwweDA+OwotCQkJeGxueCxoYXMtZXh0ZXJuYWwteGluID0gPDB4MD47Ci0JCQl4bG54LGlzLWEt MTY1NTAgPSA8MHgxPjsKLQkJfSA7Ci0JCVNQSV9FRVBST006IHhwcy1zcGlAZmVmZjgwMDAgewot CQkJY29tcGF0aWJsZSA9ICJ4bG54LHhwcy1zcGktMi4wMC5iIjsKLQkJCWludGVycnVwdC1wYXJl bnQgPSA8Jnhwc19pbnRjXzA+OwotCQkJaW50ZXJydXB0cyA9IDwgMTAgMiA+OwotCQkJcmVnID0g PCAweGZlZmY4MDAwIDB4ODAgPjsKLQkJCXhsbngsZmFtaWx5ID0gInZpcnRleDUiOwotCQkJeGxu eCxmaWZvLWV4aXN0ID0gPDB4MT47Ci0JCQl4bG54LG51bS1zcy1iaXRzID0gPDB4MT47Ci0JCQl4 bG54LG51bS10cmFuc2Zlci1iaXRzID0gPDB4OD47Ci0JCQl4bG54LHNjay1yYXRpbyA9IDwweDgw PjsKLQkJfSA7Ci0JCVN5c0FDRV9Db21wYWN0Rmxhc2g6IHN5c2FjZUA4MzYwMDAwMCB7Ci0JCQlj b21wYXRpYmxlID0gInhsbngseHBzLXN5c2FjZS0xLjAwLmEiOwotCQkJaW50ZXJydXB0LXBhcmVu dCA9IDwmeHBzX2ludGNfMD47Ci0JCQlpbnRlcnJ1cHRzID0gPCA3IDIgPjsKLQkJCXJlZyA9IDwg MHg4MzYwMDAwMCAweDEwMDAwID47Ci0JCQl4bG54LGZhbWlseSA9ICJ2aXJ0ZXg1IjsKLQkJCXhs bngsbWVtLXdpZHRoID0gPDB4MTA+OwotCQl9IDsKLQkJcGxidjQ2X3BjaV8wOiBwbGJ2NDYtcGNp QDg1ZTAwMDAwIHsKLQkJCSNzaXplLWNlbGxzID0gPDI+OwotCQkJI2FkZHJlc3MtY2VsbHMgPSA8 Mz47Ci0JCQljb21wYXRpYmxlID0gInhsbngscGxidjQ2LXBjaS0xLjAzLmEiOwotCQkJZGV2aWNl X3R5cGUgPSAicGNpIjsKLQkJCXJlZyA9IDwgMHg4NWUwMDAwMCAweDEwMDAwID47Ci0KLQkJCS8q Ci0JCQkgKiBUaGUgZGVmYXVsdCBNTDUxMCBCU0IgaGFzIENfSVBJRkJBUjJQQ0lCQVJfMCBzZXQg dG8KLQkJCSAqIDAgd2hpY2ggbWVhbnMgdGhhdCBhIHJlYWQvd3JpdGUgdG8gdGhlIG1lbW9yeSBt YXBwZWQKLQkJCSAqIGkvbyByZWdpb24gKHdoaWNoIHN0YXJ0cyBhdCAweGEwMDAwMDAwKSBmb3Ig cGNpCi0JCQkgKiBiYXIgMCBvbiB0aGUgcGxiIHNpZGUgdHJhbnNsYXRlcyB0byAwLgotCQkJICog SXQgaXMgaW1wb3J0YW50IHRvIHNldCB0aGlzIHZhbHVlIHRvIDB4YTAwMDAwMDAsIHNvCi0JCQkg KiB0aGF0IGluYm91bmQgYW5kIG91dGJvdW5kIHBjaSB0cmFuc2FjdGlvbnMgd29yawotCQkJICog cHJvcGVybHkgaW5jbHVkaW5nIERNQS4KLQkJCSAqLwotCQkJcmFuZ2VzID0gPDB4MDIwMDAwMDAg MCAweGEwMDAwMDAwIDB4YTAwMDAwMDAgMCAweDIwMDAwMDAwCi0JCQkJICAweDAxMDAwMDAwIDAg MHgwMDAwMDAwMCAweGYwMDAwMDAwIDAgMHgwMDAxMDAwMD47Ci0KLQkJCSNpbnRlcnJ1cHQtY2Vs bHMgPSA8MT47Ci0JCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZ4cHNfaW50Y18wPjsKLQkJCWludGVy cnVwdC1tYXAtbWFzayA9IDwweGZmMDAgMHgwIDB4MCAweDc+OwotCQkJaW50ZXJydXB0LW1hcCA9 IDwKLQkJCQkvKiBJUlEgbWFwcGluZyBmb3IgcGNpIHNsb3RzIGFuZCBBTEkgTTE1MzMKLQkJCQkg KiBwZXJpcGVyaGFscy4gSW4gdG90YWwgdGhlcmUgYXJlIDUgaW50ZXJydXB0Ci0JCQkJICogbGlu ZXMgY29ubmVjdGVkIHRvIGEgeHBzX2ludGMgY29udHJvbGxlci4KLQkJCQkgKiBGb3VyIG9mIHRo ZW0gYXJlIFBDSSBJUlEgQSwgQiwgQywgRCBhbmQKLQkJCQkgKiB3aGljaCBjb3JyZXNwb25kIHRv IHJlc3BlY3RpdmVseSB4cHhfaW50YwotCQkJCSAqIDUsIDQsIDMgYW5kIDIuICBUaGUgZmlmdGgg aW50ZXJydXB0IGxpbmUgaXMKLQkJCQkgKiBjb25uZWN0ZWQgdG8gdGhlIHNvdXRoIGJyaWRnZSBh bmQgdGhpcyBvbmUKLQkJCQkgKiB1c2VzIGlycSAxIGFuZCBpcyBhY3RpdmUgaGlnaCBpbnN0ZWFk IG9mCi0JCQkJICogYWN0aXZlIGxvdy4KLQkJCQkgKgotCQkJCSAqIFRoZSBNMTUzMyBjb250YWlu cyB2YXJpb3VzIHBlcmlwaGVyYWxzCi0JCQkJICogaW5jbHVkaW5nIEFDOTcgYXVkaW8sIGEgbW9k ZW0sIFVTQiwgSURFIGFuZAotCQkJCSAqIHNvbWUgcG93ZXIgbWFuYWdlbWVudCBzdHVmZi4gVGhl IG1vZGVtCi0JCQkJICogaXNuJ3QgY29ubmVjdGVkIG9uIHRoZSBNTDUxMCBhbmQgdGhlIHBvd2Vy Ci0JCQkJICogbWFuYWdlbWVudCBjb3JlIGFsc28gaXNuJ3QgdXNlZC4KLQkJCQkgKi8KLQotCQkJ CS8qIElEU0VMIDB4MTYgLyBkZXY9NiwgYnVzPTAgLyBQQ0kgc2xvdCAzICovCi0JCQkJMHgzMDAw IDAgMCAxICZ4cHNfaW50Y18wIDMgMgotCQkJCTB4MzAwMCAwIDAgMiAmeHBzX2ludGNfMCAyIDIK LQkJCQkweDMwMDAgMCAwIDMgJnhwc19pbnRjXzAgNSAyCi0JCQkJMHgzMDAwIDAgMCA0ICZ4cHNf aW50Y18wIDQgMgotCi0JCQkJLyogSURTRUwgMHgxMyAvIGRldj0zLCBidXM9MSAvIFBDSSBzbG90 IDQgKi8KLQkJCQkvKgotCQkJCTB4MTE4MDAgMCAwIDEgJnhwc19pbnRjXzAgNSAwIDIKLQkJCQkw eDExODAwIDAgMCAyICZ4cHNfaW50Y18wIDQgMCAyCi0JCQkJMHgxMTgwMCAwIDAgMyAmeHBzX2lu dGNfMCAzIDAgMgotCQkJCTB4MTE4MDAgMCAwIDQgJnhwc19pbnRjXzAgMiAwIDIKLQkJCQkqLwot Ci0JCQkJLyogQWNjb3JkaW5nIHRvIHRoZSBkYXRhc2hlZXQgKyBzY2hlbWF0aWMKLQkJCQkgKiBB QkNEIFtGUEdBXSBvZiBzbG90IDUgaXMgbWFwcGVkIHRvIERBQkMuCi0JCQkJICogVGVzdGluZyBz aG93ZWQgdGhhdCBhdCBsZWFzdCBBIG1hcHMgdG8gQiwKLQkJCQkgKiB0aGUgbWFwcGluZyBvZiB0 aGUgb3RoZXIgcGlucyBpcyBhIGd1ZXNzCi0JCQkJICogYW5kIGZvciB0aGF0IHJlYXNvbiB0aGUg bGluZXMgaGF2ZSBiZWVuCi0JCQkJICogY29tbWVudGVkIG91dC4KLQkJCQkgKi8KLQkJCQkvKiBJ RFNFTCAweDE1IC8gZGV2PTUsIGJ1cz0wIC8gUENJIHNsb3QgNSAqLwotCQkJCTB4MjgwMCAwIDAg MSAmeHBzX2ludGNfMCA0IDIKLQkJCQkvKgotCQkJCTB4MjgwMCAwIDAgMiAmeHBzX2ludGNfMCAz IDIKLQkJCQkweDI4MDAgMCAwIDMgJnhwc19pbnRjXzAgMiAyCi0JCQkJMHgyODAwIDAgMCA0ICZ4 cHNfaW50Y18wIDUgMgotCQkJCSovCi0KLQkJCQkvKiBJRFNFTCAweDEyIC8gZGV2PTIsIGJ1cz0x IC8gUENJIHNsb3QgNiAqLwotCQkJCS8qCi0JCQkJMHgxMTAwMCAwIDAgMSAmeHBzX2ludGNfMCA0 IDAgMgotCQkJCTB4MTEwMDAgMCAwIDIgJnhwc19pbnRjXzAgMyAwIDIKLQkJCQkweDExMDAwIDAg MCAzICZ4cHNfaW50Y18wIDIgMCAyCi0JCQkJMHgxMTAwMCAwIDAgNCAmeHBzX2ludGNfMCA1IDAg MgotCQkJCSovCi0KLQkJCQkvKiBJRFNFTCAweDExIC8gZGV2PTEsIGJ1cz0wIC8gQUM5NyBhdWRp byAqLwotCQkJCTB4MDgwMCAwIDAgMSAmaTgyNTkgNyAyCi0KLQkJCQkvKiBJRFNFTCAweDFiIC8g ZGV2ESwgYnVzPTAgLyBJREUgKi8KLQkJCQkweDU4MDAgMCAwIDEgJmk4MjU5IDE0IDIKLQotCQkJ CS8qIElEU0VMIDB4MWYgLyBkZXYgMTUsIGJ1cz0wIC8gMnggVVNCIDEuMSAqLwotCQkJCTB4Nzgw MCAwIDAgMSAmaTgyNTkgNyAyCi0JCQk+OwotCQkJYWxpX20xNTMzIHsKLQkJCQkjc2l6ZS1jZWxs cyA9IDwxPjsKLQkJCQkjYWRkcmVzcy1jZWxscyA9IDwyPjsKLQkJCQlpODI1OTogaW50ZXJydXB0 LWNvbnRyb2xsZXJAMjAgewotCQkJCQlyZWcgPSA8MSAweDIwIDIKLQkJCQkJCQkxIDB4YTAgMgot CQkJCQkJCTEgMHg0ZDAgMj47Ci0JCQkJCWludGVycnVwdC1jb250cm9sbGVyOwotCQkJCQlkZXZp Y2VfdHlwZSA9ICJpbnRlcnJ1cHQtY29udHJvbGxlciI7Ci0JCQkJCSNhZGRyZXNzLWNlbGxzID0g PDA+OwotCQkJCQkjaW50ZXJydXB0LWNlbGxzID0gPDI+OwotCQkJCQljb21wYXRpYmxlID0gImNo cnAsaWljIjsKLQotCQkJCQkvKiBzb3V0aCBicmlkZ2UgaXJxIGlzIGFjdGl2ZSBoaWdoICovCi0J CQkJCWludGVycnVwdHMgPSA8MSAzPjsKLQkJCQkJaW50ZXJydXB0LXBhcmVudCA9IDwmeHBzX2lu dGNfMD47Ci0JCQkJfTsKLQkJCX07Ci0JCX0gOwotCQl4cHNfYnJhbV9pZl9jbnRscl8xOiB4cHMt YnJhbS1pZi1jbnRsckBmZmZmMDAwMCB7Ci0JCQljb21wYXRpYmxlID0gInhsbngseHBzLWJyYW0t aWYtY250bHItMS4wMC5hIjsKLQkJCXJlZyA9IDwgMHhmZmZmMDAwMCAweDEwMDAwID47Ci0JCQl4 bG54LGZhbWlseSA9ICJ2aXJ0ZXg1IjsKLQkJfSA7Ci0JCXhwc19pbnRjXzA6IGludGVycnVwdC1j b250cm9sbGVyQDgxODAwMDAwIHsKLQkJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8MHgyPjsKLQkJCWNv bXBhdGlibGUgPSAieGxueCx4cHMtaW50Yy0xLjAwLmEiOwotCQkJaW50ZXJydXB0LWNvbnRyb2xs ZXIgOwotCQkJcmVnID0gPCAweDgxODAwMDAwIDB4MTAwMDAgPjsKLQkJCXhsbngsbnVtLWludHIt aW5wdXRzID0gPDB4Yz47Ci0JCX0gOwotCQl4cHNfdGZ0XzA6IHRmdEA4NmUwMDAwMCB7Ci0JCQlj b21wYXRpYmxlID0gInhsbngseHBzLXRmdC0xLjAwLmEiOwotCQkJcmVnID0gPCAweDg2ZTAwMDAw IDB4MTAwMDAgPjsKLQkJCXhsbngsZGNyLXNwbGItc2xhdmUtaWYgPSA8MHgxPjsKLQkJCXhsbngs ZGVmYXVsdC10ZnQtYmFzZS1hZGRyID0gPDB4MD47Ci0JCQl4bG54LGZhbWlseSA9ICJ2aXJ0ZXg1 IjsKLQkJCXhsbngsaTJjLXNsYXZlLWFkZHIgPSA8MHg3Nj47Ci0JCQl4bG54LG1wbGItYXdpZHRo ID0gPDB4MjA+OwotCQkJeGxueCxtcGxiLWR3aWR0aCA9IDwweDgwPjsKLQkJCXhsbngsbXBsYi1u YXRpdmUtZHdpZHRoID0gPDB4NDA+OwotCQkJeGxueCxtcGxiLXNtYWxsZXN0LXNsYXZlID0gPDB4 MjA+OwotCQkJeGxueCx0ZnQtaW50ZXJmYWNlID0gPDB4MT47Ci0JCX0gOwotCX0gOwotfSAgOwpk aWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2Jvb3Qvb3BzLmggYi9hcmNoL3Bvd2VycGMvYm9vdC9v cHMuaAppbmRleCBlMDYwNjc2NjQ4MGYuLjY0NTVmYzlhMjQ0ZiAxMDA2NDQKLS0tIGEvYXJjaC9w b3dlcnBjL2Jvb3Qvb3BzLmgKKysrIGIvYXJjaC9wb3dlcnBjL2Jvb3Qvb3BzLmgKQEAgLTg4LDcg Kzg4LDYgQEAgaW50IHNlcmlhbF9jb25zb2xlX2luaXQodm9pZCk7CiBpbnQgbnMxNjU1MF9jb25z b2xlX2luaXQodm9pZCAqZGV2cCwgc3RydWN0IHNlcmlhbF9jb25zb2xlX2RhdGEgKnNjZHApOwog aW50IGNwbV9jb25zb2xlX2luaXQodm9pZCAqZGV2cCwgc3RydWN0IHNlcmlhbF9jb25zb2xlX2Rh dGEgKnNjZHApOwogaW50IG1wYzUyMDBfcHNjX2NvbnNvbGVfaW5pdCh2b2lkICpkZXZwLCBzdHJ1 Y3Qgc2VyaWFsX2NvbnNvbGVfZGF0YSAqc2NkcCk7Ci1pbnQgdWFydGxpdGVfY29uc29sZV9pbml0 KHZvaWQgKmRldnAsIHN0cnVjdCBzZXJpYWxfY29uc29sZV9kYXRhICpzY2RwKTsKIGludCBvcGFs X2NvbnNvbGVfaW5pdCh2b2lkICpkZXZwLCBzdHJ1Y3Qgc2VyaWFsX2NvbnNvbGVfZGF0YSAqc2Nk cCk7CiB2b2lkICpzaW1wbGVfYWxsb2NfaW5pdChjaGFyICpiYXNlLCB1bnNpZ25lZCBsb25nIGhl YXBfc2l6ZSwKIAkJCXVuc2lnbmVkIGxvbmcgZ3JhbnVsYXJpdHksIHVuc2lnbmVkIGxvbmcgbWF4 X2FsbG9jcyk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvYm9vdC9zZXJpYWwuYyBiL2FyY2gv cG93ZXJwYy9ib290L3NlcmlhbC5jCmluZGV4IDk0NTc4NjMxNDdmOS4uMGJmYTdlODdlNTQ2IDEw MDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvYm9vdC9zZXJpYWwuYworKysgYi9hcmNoL3Bvd2VycGMv Ym9vdC9zZXJpYWwuYwpAQCAtMTMyLDExICsxMzIsNiBAQCBpbnQgc2VyaWFsX2NvbnNvbGVfaW5p dCh2b2lkKQogCWVsc2UgaWYgKGR0X2lzX2NvbXBhdGlibGUoZGV2cCwgImZzbCxtcGM1MjAwLXBz Yy11YXJ0IikpCiAJCXJjID0gbXBjNTIwMF9wc2NfY29uc29sZV9pbml0KGRldnAsICZzZXJpYWxf Y2QpOwogI2VuZGlmCi0jaWZkZWYgQ09ORklHX1hJTElOWF9WSVJURVgKLQllbHNlIGlmIChkdF9p c19jb21wYXRpYmxlKGRldnAsICJ4bG54LG9wYi11YXJ0bGl0ZS0xLjAwLmIiKSB8fAotCQkgZHRf aXNfY29tcGF0aWJsZShkZXZwLCAieGxueCx4cHMtdWFydGxpdGUtMS4wMC5hIikpCi0JCXJjID0g dWFydGxpdGVfY29uc29sZV9pbml0KGRldnAsICZzZXJpYWxfY2QpOwotI2VuZGlmCiAjaWZkZWYg Q09ORklHX1BQQzY0X0JPT1RfV1JBUFBFUgogCWVsc2UgaWYgKGR0X2lzX2NvbXBhdGlibGUoZGV2 cCwgImlibSxvcGFsLWNvbnNvbGUtcmF3IikpCiAJCXJjID0gb3BhbF9jb25zb2xlX2luaXQoZGV2 cCwgJnNlcmlhbF9jZCk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvYm9vdC91YXJ0bGl0ZS5j IGIvYXJjaC9wb3dlcnBjL2Jvb3QvdWFydGxpdGUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggNDZiZWQ2OWI0MTY5Li4wMDAwMDAwMDAwMDAKLS0tIGEvYXJjaC9wb3dlcnBjL2Jvb3Qv dWFydGxpdGUuYworKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLS8qCi0gKiBYaWxpbngg VUFSVExJVEUgYm9vdGxvYWRlciBkcml2ZXIKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2Vj cmV0IExhYiBUZWNobm9sb2dpZXMgTHRkLgotICoKLSAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiB2ZXJz aW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55IHdhcnJh bnR5IG9mIGFueQotICoga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKi8KLQot I2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPHN0ZGRlZi5oPgotI2luY2x1ZGUgInR5cGVz LmgiCi0jaW5jbHVkZSAic3RyaW5nLmgiCi0jaW5jbHVkZSAic3RkaW8uaCIKLSNpbmNsdWRlICJp by5oIgotI2luY2x1ZGUgIm9wcy5oIgotCi0jZGVmaW5lIFVMSVRFX1JYCQkweDAwCi0jZGVmaW5l IFVMSVRFX1RYCQkweDA0Ci0jZGVmaW5lIFVMSVRFX1NUQVRVUwkJMHgwOAotI2RlZmluZSBVTElU RV9DT05UUk9MCQkweDBjCi0KLSNkZWZpbmUgVUxJVEVfU1RBVFVTX1JYVkFMSUQJMHgwMQotI2Rl ZmluZSBVTElURV9TVEFUVVNfVFhGVUxMCTB4MDgKLQotI2RlZmluZSBVTElURV9DT05UUk9MX1JT VF9SWAkweDAyCi0KLXN0YXRpYyB2b2lkICogcmVnX2Jhc2U7Ci0KLXN0YXRpYyBpbnQgdWFydGxp dGVfb3Blbih2b2lkKQotewotCS8qIENsZWFyIHRoZSBSWCBGSUZPICovCi0Jb3V0X2JlMzIocmVn X2Jhc2UgKyBVTElURV9DT05UUk9MLCBVTElURV9DT05UUk9MX1JTVF9SWCk7Ci0JcmV0dXJuIDA7 Ci19Ci0KLXN0YXRpYyB2b2lkIHVhcnRsaXRlX3B1dGModW5zaWduZWQgY2hhciBjKQotewotCXUz MiByZWcgPSBVTElURV9TVEFUVVNfVFhGVUxMOwotCXdoaWxlIChyZWcgJiBVTElURV9TVEFUVVNf VFhGVUxMKSAvKiBzcGluIG9uIFRYRlVMTCBiaXQgKi8KLQkJcmVnID0gaW5fYmUzMihyZWdfYmFz ZSArIFVMSVRFX1NUQVRVUyk7Ci0Jb3V0X2JlMzIocmVnX2Jhc2UgKyBVTElURV9UWCwgYyk7Ci19 Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHVhcnRsaXRlX2dldGModm9pZCkKLXsKLQl1MzIgcmVn ID0gMDsKLQl3aGlsZSAoIShyZWcgJiBVTElURV9TVEFUVVNfUlhWQUxJRCkpIC8qIHNwaW4gd2Fp dGluZyBmb3IgUlhWQUxJRCBiaXQgKi8KLQkJcmVnID0gaW5fYmUzMihyZWdfYmFzZSArIFVMSVRF X1NUQVRVUyk7Ci0JcmV0dXJuIGluX2JlMzIocmVnX2Jhc2UgKyBVTElURV9SWCk7Ci19Ci0KLXN0 YXRpYyB1OCB1YXJ0bGl0ZV90c3RjKHZvaWQpCi17Ci0JdTMyIHJlZyA9IGluX2JlMzIocmVnX2Jh c2UgKyBVTElURV9TVEFUVVMpOwotCXJldHVybiByZWcgJiBVTElURV9TVEFUVVNfUlhWQUxJRDsK LX0KLQotaW50IHVhcnRsaXRlX2NvbnNvbGVfaW5pdCh2b2lkICpkZXZwLCBzdHJ1Y3Qgc2VyaWFs X2NvbnNvbGVfZGF0YSAqc2NkcCkKLXsKLQlpbnQgbjsKLQl1bnNpZ25lZCBsb25nIHJlZ19waHlz OwotCi0JbiA9IGdldHByb3AoZGV2cCwgInZpcnR1YWwtcmVnIiwgJnJlZ19iYXNlLCBzaXplb2Yo cmVnX2Jhc2UpKTsKLQlpZiAobiAhPSBzaXplb2YocmVnX2Jhc2UpKSB7Ci0JCWlmICghZHRfeGxh dGVfcmVnKGRldnAsIDAsICZyZWdfcGh5cywgTlVMTCkpCi0JCQlyZXR1cm4gLTE7Ci0KLQkJcmVn X2Jhc2UgPSAodm9pZCAqKXJlZ19waHlzOwotCX0KLQotCXNjZHAtPm9wZW4gPSB1YXJ0bGl0ZV9v cGVuOwotCXNjZHAtPnB1dGMgPSB1YXJ0bGl0ZV9wdXRjOwotCXNjZHAtPmdldGMgPSB1YXJ0bGl0 ZV9nZXRjOwotCXNjZHAtPnRzdGMgPSB1YXJ0bGl0ZV90c3RjOwotCXNjZHAtPmNsb3NlID0gTlVM TDsKLQlyZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9ib290L3ZpcnRleC5j IGIvYXJjaC9wb3dlcnBjL2Jvb3QvdmlydGV4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGY3MzFjYmI0YmZmMC4uMDAwMDAwMDAwMDAwCi0tLSBhL2FyY2gvcG93ZXJwYy9ib290L3Zp cnRleC5jCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb25seQotLyoKLSAqIFRoZSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2Rl IGZvciB2aXJ0ZXggZGV2aWNlcyBzaW5jZSBhIGJvb3QgbG9hZGVyIGlzIG5vdAotICogYWx3YXlz IHVzZWQuCi0gKgotICogKEMpIENvcHlyaWdodCAyMDA4IFhpbGlueCwgSW5jLgotICovCi0KLSNp bmNsdWRlICJvcHMuaCIKLSNpbmNsdWRlICJpby5oIgotI2luY2x1ZGUgInN0ZGlvLmgiCi0KLSNk ZWZpbmUgVUFSVF9ETEwJCTAJLyogT3V0OiBEaXZpc29yIExhdGNoIExvdyAqLwotI2RlZmluZSBV QVJUX0RMTQkJMQkvKiBPdXQ6IERpdmlzb3IgTGF0Y2ggSGlnaCAqLwotI2RlZmluZSBVQVJUX0ZD UgkJMgkvKiBPdXQ6IEZJRk8gQ29udHJvbCBSZWdpc3RlciAqLwotI2RlZmluZSBVQVJUX0ZDUl9D TEVBUl9SQ1ZSIAkweDAyIAkvKiBDbGVhciB0aGUgUkNWUiBGSUZPICovCi0jZGVmaW5lIFVBUlRf RkNSX0NMRUFSX1hNSVQJMHgwNCAJLyogQ2xlYXIgdGhlIFhNSVQgRklGTyAqLwotI2RlZmluZSBV QVJUX0xDUgkJMwkvKiBPdXQ6IExpbmUgQ29udHJvbCBSZWdpc3RlciAqLwotI2RlZmluZSBVQVJU X01DUgkJNAkvKiBPdXQ6IE1vZGVtIENvbnRyb2wgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUFSVF9N Q1JfUlRTCQkweDAyIAkvKiBSVFMgY29tcGxlbWVudCAqLwotI2RlZmluZSBVQVJUX01DUl9EVFIJ CTB4MDEgCS8qIERUUiBjb21wbGVtZW50ICovCi0jZGVmaW5lIFVBUlRfTENSX0RMQUIJCTB4ODAg CS8qIERpdmlzb3IgbGF0Y2ggYWNjZXNzIGJpdCAqLwotI2RlZmluZSBVQVJUX0xDUl9XTEVOOAkJ MHgwMyAJLyogV29yZGxlbmd0aDogOCBiaXRzICovCi0KLXN0YXRpYyBpbnQgdmlydGV4X25zMTY1 NTBfY29uc29sZV9pbml0KHZvaWQgKmRldnApCi17Ci0JdW5zaWduZWQgY2hhciAqcmVnX2Jhc2U7 Ci0JdTMyIHJlZ19zaGlmdCwgcmVnX29mZnNldCwgY2xrLCBzcGQ7Ci0JdTE2IGRpdmlzb3I7Ci0J aW50IG47Ci0KLQlpZiAoZHRfZ2V0X3ZpcnR1YWxfcmVnKGRldnAsICh2b2lkICoqKSZyZWdfYmFz ZSwgMSkgPCAxKQotCQlyZXR1cm4gLTE7Ci0KLQluID0gZ2V0cHJvcChkZXZwLCAicmVnLW9mZnNl dCIsICZyZWdfb2Zmc2V0LCBzaXplb2YocmVnX29mZnNldCkpOwotCWlmIChuID0gc2l6ZW9mKHJl Z19vZmZzZXQpKQotCQlyZWdfYmFzZSArPSByZWdfb2Zmc2V0OwotCi0JbiA9IGdldHByb3AoZGV2 cCwgInJlZy1zaGlmdCIsICZyZWdfc2hpZnQsIHNpemVvZihyZWdfc2hpZnQpKTsKLQlpZiAobiAh PSBzaXplb2YocmVnX3NoaWZ0KSkKLQkJcmVnX3NoaWZ0ID0gMDsKLQotCW4gPSBnZXRwcm9wKGRl dnAsICJjdXJyZW50LXNwZWVkIiwgKHZvaWQgKikmc3BkLCBzaXplb2Yoc3BkKSk7Ci0JaWYgKG4g IT0gc2l6ZW9mKHNwZCkpCi0JCXNwZCA9IDk2MDA7Ci0KLQkvKiBzaG91bGQgdGhlcmUgYmUgYSBk ZWZhdWx0IGNsb2NrIHJhdGU/Ki8KLQluID0gZ2V0cHJvcChkZXZwLCAiY2xvY2stZnJlcXVlbmN5 IiwgKHZvaWQgKikmY2xrLCBzaXplb2YoY2xrKSk7Ci0JaWYgKG4gIT0gc2l6ZW9mKGNsaykpCi0J CXJldHVybiAtMTsKLQotCWRpdmlzb3IgPSBjbGsgLyAoMTYgKiBzcGQpOwotCi0JLyogQWNjZXNz IGJhdWQgcmF0ZSAqLwotCW91dF84KHJlZ19iYXNlICsgKFVBUlRfTENSIDw8IHJlZ19zaGlmdCks IFVBUlRfTENSX0RMQUIpOwotCi0JLyogQmF1ZCByYXRlIGJhc2VkIG9uIGlucHV0IGNsb2NrICov Ci0Jb3V0XzgocmVnX2Jhc2UgKyAoVUFSVF9ETEwgPDwgcmVnX3NoaWZ0KSwgZGl2aXNvciAmIDB4 RkYpOwotCW91dF84KHJlZ19iYXNlICsgKFVBUlRfRExNIDw8IHJlZ19zaGlmdCksIGRpdmlzb3Ig Pj4gOCk7Ci0KLQkvKiA4IGRhdGEsIDEgc3RvcCwgbm8gcGFyaXR5ICovCi0Jb3V0XzgocmVnX2Jh c2UgKyAoVUFSVF9MQ1IgPDwgcmVnX3NoaWZ0KSwgVUFSVF9MQ1JfV0xFTjgpOwotCi0JLyogUlRT L0RUUiAqLwotCW91dF84KHJlZ19iYXNlICsgKFVBUlRfTUNSIDw8IHJlZ19zaGlmdCksIFVBUlRf TUNSX1JUUyB8IFVBUlRfTUNSX0RUUik7Ci0KLQkvKiBDbGVhciB0cmFuc21pdHRlciBhbmQgcmVj ZWl2ZXIgKi8KLQlvdXRfOChyZWdfYmFzZSArIChVQVJUX0ZDUiA8PCByZWdfc2hpZnQpLAotCQkJ CVVBUlRfRkNSX0NMRUFSX1hNSVQgfCBVQVJUX0ZDUl9DTEVBUl9SQ1ZSKTsKLQlyZXR1cm4gMDsK LX0KLQotLyogRm9yIHZpcnRleCwgdGhlIGtlcm5lbCBtYXkgYmUgbG9hZGVkIHdpdGhvdXQgdXNp bmcgYSBib290bG9hZGVyIGFuZCBpZiBzbwotICAgc29tZSBVQVJUcyBuZWVkIG1vcmUgc2V0dXAg dGhhbiBpcyBwcm92aWRlZCBpbiB0aGUgbm9ybWFsIGNvbnNvbGUgaW5pdAotKi8KLWludCBwbGF0 Zm9ybV9zcGVjaWZpY19pbml0KHZvaWQpCi17Ci0Jdm9pZCAqZGV2cDsKLQljaGFyIGRldnR5cGVb TUFYX1BST1BfTEVOXTsKLQljaGFyIHBhdGhbTUFYX1BBVEhfTEVOXTsKLQotCWRldnAgPSBmaW5k ZGV2aWNlKCIvY2hvc2VuIik7Ci0JaWYgKGRldnAgPSBOVUxMKQotCQlyZXR1cm4gLTE7Ci0KLQlp ZiAoZ2V0cHJvcChkZXZwLCAibGludXgsc3Rkb3V0LXBhdGgiLCBwYXRoLCBNQVhfUEFUSF9MRU4p ID4gMCkgewotCQlkZXZwID0gZmluZGRldmljZShwYXRoKTsKLQkJaWYgKGRldnAgPSBOVUxMKQot CQkJcmV0dXJuIC0xOwotCi0JCWlmICgoZ2V0cHJvcChkZXZwLCAiZGV2aWNlX3R5cGUiLCBkZXZ0 eXBlLCBzaXplb2YoZGV2dHlwZSkpID4gMCkKLQkJCQkmJiAhc3RyY21wKGRldnR5cGUsICJzZXJp YWwiKQotCQkJCSYmIChkdF9pc19jb21wYXRpYmxlKGRldnAsICJuczE2NTUwIikpKQotCQkJCXZp cnRleF9uczE2NTUwX2NvbnNvbGVfaW5pdChkZXZwKTsKLQl9Ci0JcmV0dXJuIDA7Ci19CmRpZmYg LS1naXQgYS9hcmNoL3Bvd2VycGMvYm9vdC92aXJ0ZXg0MDUtaGVhZC5TIGIvYXJjaC9wb3dlcnBj L2Jvb3QvdmlydGV4NDA1LWhlYWQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDBi YWI3ZDdjNDhjLi4wMDAwMDAwMDAwMDAKLS0tIGEvYXJjaC9wb3dlcnBjL2Jvb3QvdmlydGV4NDA1 LWhlYWQuUworKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLS8qIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wICovCi0jaW5jbHVkZSAicHBjX2FzbS5oIgotCi0JLnRleHQKLQku Z2xvYmFsIF96aW1hZ2Vfc3RhcnQKLV96aW1hZ2Vfc3RhcnQ6Ci0KLQkvKiBQUEMgZXJyYXRhIDIx MzogbmVlZGVkIGJ5IFZpcnRleC00IEZYICovCi0JbWZjY3IwICAwCi0Jb3JpcyAgICAwLDAsMHg1 MDAwMDAwMEBoCi0JbXRjY3IwICAwCi0KLQkvKgotCSAqIEludmFsaWRhdGUgdGhlIGRhdGEgY2Fj aGUgaWYgdGhlIGRhdGEgY2FjaGUgaXMgdHVybmVkIG9mZi4KLQkgKiAtIFRoZSA0MDUgY29yZSBk b2VzIG5vdCBpbnZhbGlkYXRlIHRoZSBkYXRhIGNhY2hlIG9uIHBvd2VyLXVwCi0JICogICBvciBy ZXNldCBidXQgZG9lcyB0dXJuIG9mZiB0aGUgZGF0YSBjYWNoZS4gV2UgY2Fubm90IGFzc3VtZQot CSAqICAgdGhhdCB0aGUgY2FjaGUgY29udGVudHMgYXJlIHZhbGlkLgotCSAqIC0gSWYgdGhlIGRh dGEgY2FjaGUgaXMgdHVybmVkIG9uIHRoaXMgbXVzdCBoYXZlIGJlZW4gZG9uZSBieQotCSAqICAg YSBib290bG9hZGVyIGFuZCB3ZSBhc3N1bWUgdGhhdCB0aGUgY2FjaGUgY29udGVudHMgYXJlCi0J ICogICB2YWxpZC4KLQkgKi8KLQltZmRjY3IJcjkKLQljbXBsd2kJcjksMAotCWJuZQkyZgotCWxp cwlyOSwwCi0JbGkJcjgsMjU2Ci0JbXRjdHIJcjgKLTE6CWRjY2NpCXIwLHI5Ci0JYWRkaQlyOSxy OSwweDIwCi0JYmRuegkxYgotMjoJYglfemltYWdlX3N0YXJ0X2xpYgpkaWZmIC0tZ2l0IGEvYXJj aC9wb3dlcnBjL2Jvb3Qvd3JhcHBlciBiL2FyY2gvcG93ZXJwYy9ib290L3dyYXBwZXIKaW5kZXgg ZWQ2MjY2MzY3YmMwLi5kZTVmZDVhMDQ3ZTggMTAwNzU1Ci0tLSBhL2FyY2gvcG93ZXJwYy9ib290 L3dyYXBwZXIKKysrIGIvYXJjaC9wb3dlcnBjL2Jvb3Qvd3JhcHBlcgpAQCAtMzIzLDE0ICszMjMs NiBAQCBhZGRlcjg3NS1yZWRib290KQogICAgIHBsYXRmb3Jtbz0iJG9iamVjdC9maXhlZC1oZWFk Lm8gJG9iamVjdC9yZWRib290LTh4eC5vIgogICAgIGJpbmFyeT15CiAgICAgOzsKLXNpbXBsZWJv b3QtdmlydGV4NDA1LSopCi0gICAgcGxhdGZvcm1vPSIkb2JqZWN0L3ZpcnRleDQwNS1oZWFkLm8g JG9iamVjdC9zaW1wbGVib290Lm8gJG9iamVjdC92aXJ0ZXgubyIKLSAgICBiaW5hcnk9eQotICAg IDs7Ci1zaW1wbGVib290LXZpcnRleDQ0MC0qKQotICAgIHBsYXRmb3Jtbz0iJG9iamVjdC9maXhl ZC1oZWFkLm8gJG9iamVjdC9zaW1wbGVib290Lm8gJG9iamVjdC92aXJ0ZXgubyIKLSAgICBiaW5h cnk9eQotICAgIDs7CiBzaW1wbGVib290LSopCiAgICAgcGxhdGZvcm1vPSIkb2JqZWN0L2ZpeGVk LWhlYWQubyAkb2JqZWN0L3NpbXBsZWJvb3QubyIKICAgICBiaW5hcnk9eQpkaWZmIC0tZ2l0IGEv YXJjaC9wb3dlcnBjL2NvbmZpZ3MvNDB4L3ZpcnRleF9kZWZjb25maWcgYi9hcmNoL3Bvd2VycGMv Y29uZmlncy80MHgvdmlydGV4X2RlZmNvbmZpZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNWU3YzYxZDFkN2QwLi4wMDAwMDAwMDAwMDAKLS0tIGEvYXJjaC9wb3dlcnBjL2NvbmZpZ3Mv NDB4L3ZpcnRleF9kZWZjb25maWcKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi1DT05G SUdfNDB4PXkKLSMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKLUNPTkZJR19T WVNWSVBDPXkKLUNPTkZJR19QT1NJWF9NUVVFVUU9eQotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJ R19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUFAotQ09ORklHX0JMS19ERVZf SU5JVFJEPXkKLUNPTkZJR19TTEFCPXkKLUNPTkZJR19NT0RVTEVTPXkKLUNPTkZJR19NT0RVTEVf VU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKLUNPTkZJR19NT0RWRVJTSU9O Uz15Ci0jIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQUxOVVQgaXMg bm90IHNldAotQ09ORklHX1hJTElOWF9WSVJURVhfR0VORVJJQ19CT0FSRD15Ci1DT05GSUdfUFJF RU1QVD15Ci1DT05GSUdfTUFUSF9FTVVMQVRJT049eQotQ09ORklHX0NNRExJTkVfQk9PTD15Ci1D T05GSUdfQ01ETElORT0iIgotQ09ORklHX1BDST15Ci1DT05GSUdfTkVUPXkKLUNPTkZJR19QQUNL RVQ9eQotQ09ORklHX1VOSVg9eQotQ09ORklHX0lORVQ9eQotQ09ORklHX0lQX01VTFRJQ0FTVD15 Ci1DT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15Ci1DT05GSUdfSVBfUE5QX0JP T1RQPXkKLUNPTkZJR19ORVRGSUxURVI9eQotQ09ORklHX0lQX05GX0lQVEFCTEVTPW0KLUNPTkZJ R19JUF9ORl9GSUxURVI9bQotQ09ORklHX0lQX05GX01BTkdMRT1tCi1DT05GSUdfQkxLX0RFVl9M T09QPXkKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fU0laRYE5Mgot Q09ORklHX1hJTElOWF9TWVNBQ0U9eQotQ09ORklHX05FVERFVklDRVM9eQotIyBDT05GSUdfU0VS SU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fWElMSU5YX1hQU19QUzI9eQotQ09O RklHX1NFUklBTF84MjUwPXkKLUNPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKLUNPTkZJR19T RVJJQUxfT0ZfUExBVEZPUk09eQotQ09ORklHX1NFUklBTF9VQVJUTElURT15Ci1DT05GSUdfU0VS SUFMX1VBUlRMSVRFX0NPTlNPTEU9eQotQ09ORklHX1hJTElOWF9IV0lDQVA9eQotQ09ORklHX0dQ SU9MSUI9eQotQ09ORklHX0dQSU9fU1lTRlM9eQotQ09ORklHX0dQSU9fWElMSU5YPXkKLSMgQ09O RklHX0hXTU9OIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci1DT05GSUdfRkJfWElMSU5YPXkKLUNP TkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLUNPTkZJR19MT0dPPXkKLSMgQ09ORklHX1VTQl9T VVBQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQyX0ZTPXkKLUNPTkZJR19BVVRPRlM0X0ZTPXkK LUNPTkZJR19NU0RPU19GUz15Ci1DT05GSUdfVkZBVF9GUz15Ci1DT05GSUdfVE1QRlM9eQotQ09O RklHX0NSQU1GUz15Ci1DT05GSUdfUk9NRlNfRlM9eQotQ09ORklHX05GU19GUz15Ci1DT05GSUdf Uk9PVF9ORlM9eQotQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQotQ09ORklHX05MU19BU0NJST1t Ci1DT05GSUdfTkxTX0lTTzg4NTlfMT1tCi1DT05GSUdfTkxTX1VURjg9bQotQ09ORklHX0NSQ19D Q0lUVD15Ci1DT05GSUdfRk9OVFM9eQotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4 MTY9eQotQ09ORklHX1BSSU5US19USU1FPXkKLUNPTkZJR19ERUJVR19JTkZPPXkKLUNPTkZJR19E RUJVR19LRVJORUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2NvbmZpZ3MvNDR4L3ZpcnRl eDVfZGVmY29uZmlnIGIvYXJjaC9wb3dlcnBjL2NvbmZpZ3MvNDR4L3ZpcnRleDVfZGVmY29uZmln CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjc0MDc5ZTE3MDMuLjAwMDAwMDAwMDAw MAotLS0gYS9hcmNoL3Bvd2VycGMvY29uZmlncy80NHgvdmlydGV4NV9kZWZjb25maWcKKysrIC9k ZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi1DT05GSUdfNDR4PXkKLSMgQ09ORklHX0xPQ0FMVkVS U0lPTl9BVVRPIGlzIG5vdCBzZXQKLUNPTkZJR19TWVNWSVBDPXkKLUNPTkZJR19QT1NJWF9NUVVF VUU9eQotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19M T0dfQlVGX1NISUZUFAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19TTEFCPXkKLUNP TkZJR19NT0RVTEVTPXkKLUNPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9S Q0VfVU5MT0FEPXkKLUNPTkZJR19NT0RWRVJTSU9OUz15Ci0jIENPTkZJR19CTEtfREVWX0JTRyBp cyBub3Qgc2V0Ci0jIENPTkZJR19FQk9OWSBpcyBub3Qgc2V0Ci1DT05GSUdfWElMSU5YX1ZJUlRF WDQ0MF9HRU5FUklDX0JPQVJEPXkKLUNPTkZJR19QUkVFTVBUPXkKLUNPTkZJR19NQVRIX0VNVUxB VElPTj15Ci1DT05GSUdfQ01ETElORV9CT09MPXkKLUNPTkZJR19DTURMSU5FPSIiCi1DT05GSUdf TkVUPXkKLUNPTkZJR19QQUNLRVQ9eQotQ09ORklHX1VOSVg9eQotQ09ORklHX0lORVQ9eQotQ09O RklHX0lQX01VTFRJQ0FTVD15Ci1DT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15 Ci1DT05GSUdfSVBfUE5QX0JPT1RQPXkKLUNPTkZJR19ORVRGSUxURVI9eQotQ09ORklHX0lQX05G X0lQVEFCTEVTPW0KLUNPTkZJR19JUF9ORl9GSUxURVI9bQotQ09ORklHX0lQX05GX01BTkdMRT1t Ci1DT05GSUdfQkxLX0RFVl9MT09QPXkKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxL X0RFVl9SQU1fU0laRYE5MgotQ09ORklHX1hJTElOWF9TWVNBQ0U9eQotQ09ORklHX05FVERFVklD RVM9eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fWElM SU5YX1hQU19QUzI9eQotQ09ORklHX1NFUklBTF84MjUwPXkKLUNPTkZJR19TRVJJQUxfODI1MF9D T05TT0xFPXkKLUNPTkZJR19TRVJJQUxfT0ZfUExBVEZPUk09eQotQ09ORklHX1NFUklBTF9VQVJU TElURT15Ci1DT05GSUdfU0VSSUFMX1VBUlRMSVRFX0NPTlNPTEU9eQotQ09ORklHX1hJTElOWF9I V0lDQVA9eQotQ09ORklHX0dQSU9MSUI9eQotQ09ORklHX0dQSU9fU1lTRlM9eQotQ09ORklHX0dQ SU9fWElMSU5YPXkKLSMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci1DT05G SUdfRkJfWElMSU5YPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLUNPTkZJR19MT0dP PXkKLSMgQ09ORklHX1VTQl9TVVBQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQyX0ZTPXkKLUNP TkZJR19BVVRPRlM0X0ZTPXkKLUNPTkZJR19NU0RPU19GUz15Ci1DT05GSUdfVkZBVF9GUz15Ci1D T05GSUdfVE1QRlM9eQotQ09ORklHX0NSQU1GUz15Ci1DT05GSUdfUk9NRlNfRlM9eQotQ09ORklH X05GU19GUz15Ci1DT05GSUdfUk9PVF9ORlM9eQotQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQot Q09ORklHX05MU19BU0NJST1tCi1DT05GSUdfTkxTX0lTTzg4NTlfMT1tCi1DT05GSUdfTkxTX1VU Rjg9bQotQ09ORklHX0NSQ19DQ0lUVD15Ci1DT05GSUdfRk9OVFM9eQotQ09ORklHX0ZPTlRfOHg4 PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX1BSSU5US19USU1FPXkKLUNPTkZJR19ERUJV R19JTkZPPXkKLUNPTkZJR19ERUJVR19LRVJORUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBj L2NvbmZpZ3MvcHBjNDB4X2RlZmNvbmZpZyBiL2FyY2gvcG93ZXJwYy9jb25maWdzL3BwYzQweF9k ZWZjb25maWcKaW5kZXggYTVmNjgzYWVkMzI4Li44ODk2MGE3MmI1MjUgMTAwNjQ0Ci0tLSBhL2Fy Y2gvcG93ZXJwYy9jb25maWdzL3BwYzQweF9kZWZjb25maWcKKysrIGIvYXJjaC9wb3dlcnBjL2Nv bmZpZ3MvcHBjNDB4X2RlZmNvbmZpZwpAQCAtMTQsNyArMTQsNiBAQCBDT05GSUdfRVA0MDU9eQog Q09ORklHX0hPVEZPT1Q9eQogQ09ORklHX0tJTEFVRUE9eQogQ09ORklHX01BS0FMVT15Ci1DT05G SUdfWElMSU5YX1ZJUlRFWF9HRU5FUklDX0JPQVJEPXkKIENPTkZJR19ORVQ9eQogQ09ORklHX1BB Q0tFVD15CiBDT05GSUdfVU5JWD15CkBAIC0zNywzMyArMzYsMjYgQEAgQ09ORklHX01URF9VQkk9 bQogQ09ORklHX01URF9VQklfR0xVRUJJPW0KIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdf QkxLX0RFVl9SQU1fU0laRTUwMDAKLUNPTkZJR19YSUxJTlhfU1lTQUNFPW0KIENPTkZJR19ORVRE RVZJQ0VTPXkKIENPTkZJR19JQk1fRU1BQz15CiAjIENPTkZJR19JTlBVVCBpcyBub3Qgc2V0CiBD T05GSUdfU0VSSU89bQogIyBDT05GSUdfU0VSSU9fSTgwNDIgaXMgbm90IHNldAogIyBDT05GSUdf U0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fWElMSU5YX1hQU19QUzI9bQog IyBDT05GSUdfVlQgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF84MjUwPXkKIENPTkZJR19TRVJJ QUxfODI1MF9DT05TT0xFPXkKIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRD15CiBDT05GSUdf U0VSSUFMXzgyNTBfU0hBUkVfSVJRPXkKIENPTkZJR19TRVJJQUxfT0ZfUExBVEZPUk09eQotQ09O RklHX1NFUklBTF9VQVJUTElURT15Ci1DT05GSUdfU0VSSUFMX1VBUlRMSVRFX0NPTlNPTEU9eQog IyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKLUNPTkZJR19YSUxJTlhfSFdJQ0FQPW0KIENP TkZJR19JMkM9bQogQ09ORklHX0kyQ19DSEFSREVWPW0KIENPTkZJR19JMkNfR1BJTz1tCiBDT05G SUdfSTJDX0lCTV9JSUM9bQotQ09ORklHX0dQSU9fWElMSU5YPXkKICMgQ09ORklHX0hXTU9OIGlz IG5vdCBzZXQKIENPTkZJR19USEVSTUFMPXkKIENPTkZJR19GQj1tCi1DT05GSUdfRkJfWElMSU5Y PW0KIENPTkZJR19FWFQyX0ZTPXkKIENPTkZJR19FWFQ0X0ZTPW0KIENPTkZJR19WRkFUX0ZTPW0K ZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9jb25maWdzL3BwYzQ0eF9kZWZjb25maWcgYi9hcmNo L3Bvd2VycGMvY29uZmlncy9wcGM0NHhfZGVmY29uZmlnCmluZGV4IGE0MWVlZGZlMGE1Zi4uOGI1 OTVmNjcwNjhjIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvY29uZmlncy9wcGM0NHhfZGVmY29u ZmlnCisrKyBiL2FyY2gvcG93ZXJwYy9jb25maWdzL3BwYzQ0eF9kZWZjb25maWcKQEAgLTIyLDcg KzIyLDYgQEAgQ09ORklHX0dMQUNJRVI9eQogQ09ORklHX1JFRFdPT0Q9eQogQ09ORklHX0VJR0VS PXkKIENPTkZJR19ZT1NFTUlURT15Ci1DT05GSUdfWElMSU5YX1ZJUlRFWDQ0MF9HRU5FUklDX0JP QVJEPXkKIENPTkZJR19QUEM0eHhfR1BJTz15CiBDT05GSUdfTUFUSF9FTVVMQVRJT049eQogQ09O RklHX05FVD15CkBAIC00Niw3ICs0NSw2IEBAIENPTkZJR19NVERfVUJJPW0KIENPTkZJR19NVERf VUJJX0dMVUVCST1tCiBDT05GSUdfQkxLX0RFVl9SQU09eQogQ09ORklHX0JMS19ERVZfUkFNX1NJ WkU1MDAwCi1DT05GSUdfWElMSU5YX1NZU0FDRT1tCiBDT05GSUdfU0NTST1tCiBDT05GSUdfQkxL X0RFVl9TRD1tCiAjIENPTkZJR19TQ1NJX0xPV0xFVkVMIGlzIG5vdCBzZXQKQEAgLTU3LDcgKzU1 LDYgQEAgQ09ORklHX0lCTV9FTUFDPXkKIENPTkZJR19TRVJJTz1tCiAjIENPTkZJR19TRVJJT19J ODA0MiBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJ R19TRVJJT19YSUxJTlhfWFBTX1BTMj1tCiAjIENPTkZJR19WVCBpcyBub3Qgc2V0CiBDT05GSUdf U0VSSUFMXzgyNTA9eQogQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9eQpAQCAtNjUsMTggKzYy LDEzIEBAIENPTkZJR19TRVJJQUxfODI1MF9DT05TT0xFPXkKIENPTkZJR19TRVJJQUxfODI1MF9F WFRFTkRFRD15CiBDT05GSUdfU0VSSUFMXzgyNTBfU0hBUkVfSVJRPXkKIENPTkZJR19TRVJJQUxf T0ZfUExBVEZPUk09eQotQ09ORklHX1NFUklBTF9VQVJUTElURT15Ci1DT05GSUdfU0VSSUFMX1VB UlRMSVRFX0NPTlNPTEU9eQogIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKLUNPTkZJR19Y SUxJTlhfSFdJQ0FQPW0KIENPTkZJR19JMkM9bQogQ09ORklHX0kyQ19DSEFSREVWPW0KIENPTkZJ R19JMkNfR1BJTz1tCiBDT05GSUdfSTJDX0lCTV9JSUM9bQotQ09ORklHX0dQSU9fWElMSU5YPXkK ICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKIENPTkZJR19GQj1tCi1DT05GSUdfRkJfWElMSU5Y PW0KIENPTkZJR19VU0I9bQogQ09ORklHX1VTQl9FSENJX0hDRD1tCiBDT05GSUdfVVNCX09IQ0lf SENEPW0KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS94aWxpbnhfaW50Yy5o IGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3hpbGlueF9pbnRjLmgKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IGNhOWFhMTYyZmIwOS4uMDAwMDAwMDAwMDAwCi0tLSBhL2FyY2gvcG93 ZXJwYy9pbmNsdWRlL2FzbS94aWxpbnhfaW50Yy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAs MCBAQAotLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIgKi8KLS8q Ci0gKiBYaWxpbnggaW50YyBleHRlcm5hbCBkZWZpbml0aW9ucwotICoKLSAqIENvcHlyaWdodCAy MDA3IFNlY3JldCBMYWIgVGVjaG5vbG9naWVzIEx0ZC4KLSAqLwotI2lmbmRlZiBfQVNNX1BPV0VS UENfWElMSU5YX0lOVENfSAotI2RlZmluZSBfQVNNX1BPV0VSUENfWElMSU5YX0lOVENfSAotCi0j aWZkZWYgX19LRVJORUxfXwotCi1leHRlcm4gdm9pZCBfX2luaXQgeGlsaW54X2ludGNfaW5pdF90 cmVlKHZvaWQpOwotZXh0ZXJuIHVuc2lnbmVkIGludCB4aW50Y19nZXRfaXJxKHZvaWQpOwotCi0j ZW5kaWYgLyogX19LRVJORUxfXyAqLwotI2VuZGlmIC8qIF9BU01fUE9XRVJQQ19YSUxJTlhfSU5U Q19IICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20veGlsaW54X3BjaS5o IGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3hpbGlueF9wY2kuaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggN2E4Mjc1Y2FmNmFmLi4wMDAwMDAwMDAwMDAKLS0tIGEvYXJjaC9wb3dl cnBjL2luY2x1ZGUvYXNtL3hpbGlueF9wY2kuaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAg QEAKLS8qCi0gKiBYaWxpbnggcGNpIGV4dGVybmFsIGRlZmluaXRpb25zCi0gKgotICogQ29weXJp Z2h0IDIwMDkgUm9kZXJpY2sgQ29sZW5icmFuZGVyCi0gKiBDb3B5cmlnaHQgMjAwOSBTZWNyZXQg TGFiIFRlY2hub2xvZ2llcyBMdGQuCi0gKgotICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIHZlcnNpb24g Mi4gVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkgd2FycmFudHkg b2YgYW55Ci0gKiBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqLwotCi0jaWZu ZGVmIElOQ0xVREVfWElMSU5YX1BDSQotI2RlZmluZSBJTkNMVURFX1hJTElOWF9QQ0kKLQotI2lm ZGVmIENPTkZJR19YSUxJTlhfUENJCi1leHRlcm4gdm9pZCBfX2luaXQgeGlsaW54X3BjaV9pbml0 KHZvaWQpOwotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgeGlsaW54X3BjaV9pbml0 KHZvaWQpIHsgcmV0dXJuOyB9Ci0jZW5kaWYKLQotI2VuZGlmIC8qIElOQ0xVREVfWElMSU5YX1BD SSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9jcHV0YWJsZS5jIGIvYXJjaC9w b3dlcnBjL2tlcm5lbC9jcHV0YWJsZS5jCmluZGV4IDI0NWJlNGZhZmUxMy4uMmRmZjkwNDFiY2Rj IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL2NwdXRhYmxlLmMKKysrIGIvYXJjaC9w b3dlcnBjL2tlcm5lbC9jcHV0YWJsZS5jCkBAIC0xMzg1LDMyICsxMzg1LDYgQEAgc3RhdGljIHN0 cnVjdCBjcHVfc3BlYyBfX2luaXRkYXRhIGNwdV9zcGVjc1tdID0gewogCQkubWFjaGluZV9jaGVj awkJPSBtYWNoaW5lX2NoZWNrXzR4eCwKIAkJLnBsYXRmb3JtCQk9ICJwcGM0MDUiLAogCX0sCi0J ewkvKiBYaWxpbnggVmlydGV4LUlJIFBybyAgKi8KLQkJLnB2cl9tYXNrCQk9IDB4ZmZmZmYwMDAs Ci0JCS5wdnJfdmFsdWUJCT0gMHgyMDAxMDAwMCwKLQkJLmNwdV9uYW1lCQk9ICJWaXJ0ZXgtSUkg UHJvIiwKLQkJLmNwdV9mZWF0dXJlcwkJPSBDUFVfRlRSU180MFgsCi0JCS5jcHVfdXNlcl9mZWF0 dXJlcwk9IFBQQ19GRUFUVVJFXzMyIHwKLQkJCVBQQ19GRUFUVVJFX0hBU19NTVUgfCBQUENfRkVB VFVSRV9IQVNfNHh4TUFDLAotCQkubW11X2ZlYXR1cmVzCQk9IE1NVV9GVFJfVFlQRV80MHgsCi0J CS5pY2FjaGVfYnNpemUJCT0gMzIsCi0JCS5kY2FjaGVfYnNpemUJCT0gMzIsCi0JCS5tYWNoaW5l X2NoZWNrCQk9IG1hY2hpbmVfY2hlY2tfNHh4LAotCQkucGxhdGZvcm0JCT0gInBwYzQwNSIsCi0J fSwKLQl7CS8qIFhpbGlueCBWaXJ0ZXgtNCBGWCAqLwotCQkucHZyX21hc2sJCT0gMHhmZmZmZjAw MCwKLQkJLnB2cl92YWx1ZQkJPSAweDIwMDExMDAwLAotCQkuY3B1X25hbWUJCT0gIlZpcnRleC00 IEZYIiwKLQkJLmNwdV9mZWF0dXJlcwkJPSBDUFVfRlRSU180MFgsCi0JCS5jcHVfdXNlcl9mZWF0 dXJlcwk9IFBQQ19GRUFUVVJFXzMyIHwKLQkJCVBQQ19GRUFUVVJFX0hBU19NTVUgfCBQUENfRkVB VFVSRV9IQVNfNHh4TUFDLAotCQkubW11X2ZlYXR1cmVzCQk9IE1NVV9GVFJfVFlQRV80MHgsCi0J CS5pY2FjaGVfYnNpemUJCT0gMzIsCi0JCS5kY2FjaGVfYnNpemUJCT0gMzIsCi0JCS5tYWNoaW5l X2NoZWNrCQk9IG1hY2hpbmVfY2hlY2tfNHh4LAotCQkucGxhdGZvcm0JCT0gInBwYzQwNSIsCi0J fSwKIAl7CS8qIDQwNUVQICovCiAJCS5wdnJfbWFzawkJPSAweGZmZmYwMDAwLAogCQkucHZyX3Zh bHVlCQk9IDB4NTEyMTAwMDAsCkBAIC0xODAwLDE5ICsxNzc0LDYgQEAgc3RhdGljIHN0cnVjdCBj cHVfc3BlYyBfX2luaXRkYXRhIGNwdV9zcGVjc1tdID0gewogCQkubWFjaGluZV9jaGVjawkJPSBt YWNoaW5lX2NoZWNrXzQ0MEEsCiAJCS5wbGF0Zm9ybQkJPSAicHBjNDQwIiwKIAl9LAotCXsgLyog NDQwIGluIFhpbGlueCBWaXJ0ZXgtNSBGWFQgKi8KLQkJLnB2cl9tYXNrCQk9IDB4ZmZmZmZmZjAs Ci0JCS5wdnJfdmFsdWUJCT0gMHg3ZmYyMTkxMCwKLQkJLmNwdV9uYW1lCQk9ICI0NDAgaW4gVmly dGV4LTUgRlhUIiwKLQkJLmNwdV9mZWF0dXJlcwkJPSBDUFVfRlRSU180NFgsCi0JCS5jcHVfdXNl cl9mZWF0dXJlcwk9IENPTU1PTl9VU0VSX0JPT0tFLAotCQkubW11X2ZlYXR1cmVzCQk9IE1NVV9G VFJfVFlQRV80NHgsCi0JCS5pY2FjaGVfYnNpemUJCT0gMzIsCi0JCS5kY2FjaGVfYnNpemUJCT0g MzIsCi0JCS5jcHVfc2V0dXAJCT0gX19zZXR1cF9jcHVfNDQweDUsCi0JCS5tYWNoaW5lX2NoZWNr CQk9IG1hY2hpbmVfY2hlY2tfNDQwQSwKLQkJLnBsYXRmb3JtCQk9ICJwcGM0NDAiLAotCX0sCiAJ eyAvKiA0NjBFWCAqLwogCQkucHZyX21hc2sJCT0gMHhmZmZmMDAwNiwKIAkJLnB2cl92YWx1ZQkJ PSAweDEzMDIwMDAyLApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy80MHgvS2Nv bmZpZyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4L0tjb25maWcKaW5kZXggNmRhODEzYjY1 YjQyLi5kMDZjYTUxZTg0NDMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4 L0tjb25maWcKKysrIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy80MHgvS2NvbmZpZwpAQCAtNTUs MjMgKzU1LDYgQEAgY29uZmlnIFdBTE5VVAogCWhlbHAKIAkgIFRoaXMgb3B0aW9uIGVuYWJsZXMg c3VwcG9ydCBmb3IgdGhlIElCTSBQUEM0MDVHUCBldmFsdWF0aW9uIGJvYXJkLgogCi1jb25maWcg WElMSU5YX1ZJUlRFWF9HRU5FUklDX0JPQVJECi0JYm9vbCAiR2VuZXJpYyBYaWxpbnggVmlydGV4 IGJvYXJkIgotCWRlcGVuZHMgb24gNDB4Ci0Jc2VsZWN0IFhJTElOWF9WSVJURVhfSUlfUFJPCi0J c2VsZWN0IFhJTElOWF9WSVJURVhfNF9GWAotCXNlbGVjdCBYSUxJTlhfSU5UQwotCWhlbHAKLQkg IFRoaXMgb3B0aW9uIGVuYWJsZXMgZ2VuZXJpYyBzdXBwb3J0IGZvciBYaWxpbnggVmlydGV4IGJh c2VkIGJvYXJkcy4KLQotCSAgVGhlIGdlbmVyaWMgdmlydGV4IGJvYXJkIHN1cHBvcnQgbWF0Y2hl cyBhbnkgZGV2aWNlIHRyZWUgd2hpY2gKLQkgIHNwZWNpZmllcyAneGlsaW54LHZpcnRleCcgaW4g aXRzIGNvbXBhdGlibGUgZmllbGQuICBUaGlzIGluY2x1ZGVzCi0JICB0aGUgWGlsaW54IE1MM3h4 IGFuZCBNTDR4eCByZWZlcmVuY2UgZGVzaWducyB1c2luZyB0aGUgcG93ZXJwYwotCSAgY29yZS4K LQotCSAgTW9zdCBWaXJ0ZXggZGVzaWducyBzaG91bGQgdXNlIHRoaXMgdW5sZXNzIGl0IG5lZWRz IHRvIGRvIHNvbWUKLQkgIHNwZWNpYWwgY29uZmlndXJhdGlvbiBhdCBib2FyZCBwcm9iZSB0aW1l LgotCiBjb25maWcgT0JTNjAwCiAJYm9vbCAiT3BlbkJsb2NrUyA2MDAiCiAJZGVwZW5kcyBvbiA0 MHgKQEAgLTEwOSwyMCArOTIsNiBAQCBjb25maWcgNDA1RVoKIAlzZWxlY3QgSUJNX0VNQUNfTUFM X0NMUl9JQ0lOVFNUQVQgaWYgSUJNX0VNQUMKIAlzZWxlY3QgSUJNX0VNQUNfTUFMX0NPTU1PTl9F UlIgaWYgSUJNX0VNQUMKIAotY29uZmlnIFhJTElOWF9WSVJURVgKLQlib29sCi0Jc2VsZWN0IERF RkFVTFRfVUlNQUdFCi0KLWNvbmZpZyBYSUxJTlhfVklSVEVYX0lJX1BSTwotCWJvb2wKLQlzZWxl Y3QgWElMSU5YX1ZJUlRFWAotCXNlbGVjdCBJQk00MDVfRVJSNzcKLQlzZWxlY3QgSUJNNDA1X0VS UjUxCi0KLWNvbmZpZyBYSUxJTlhfVklSVEVYXzRfRlgKLQlib29sCi0Jc2VsZWN0IFhJTElOWF9W SVJURVgKLQogY29uZmlnIFNUQjAzeHh4CiAJYm9vbAogCXNlbGVjdCBJQk00MDVfRVJSNzcKZGlm ZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4L01ha2VmaWxlIGIvYXJjaC9wb3dl cnBjL3BsYXRmb3Jtcy80MHgvTWFrZWZpbGUKaW5kZXggODI4ZDc4MzQwZGQ5Li5lOTM4NmRlZWQ1 MDUgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4L01ha2VmaWxlCisrKyBi L2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4L01ha2VmaWxlCkBAIC0xLDUgKzEsNCBAQAogIyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CiBvYmotJChDT05GSUdfV0FMTlVU KQkJCQkrPSB3YWxudXQubwotb2JqLSQoQ09ORklHX1hJTElOWF9WSVJURVhfR0VORVJJQ19CT0FS RCkJKz0gdmlydGV4Lm8KIG9iai0kKENPTkZJR19FUDQwNSkJCQkJKz0gZXA0MDUubwogb2JqLSQo Q09ORklHX1BQQzQweF9TSU1QTEUpCQkrPSBwcGM0MHhfc2ltcGxlLm8KZGlmZiAtLWdpdCBhL2Fy Y2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4L3ZpcnRleC5jIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jt cy80MHgvdmlydGV4LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzZDVlMDk1ODQ2 Yi4uMDAwMDAwMDAwMDAwCi0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDB4L3ZpcnRleC5j CisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLyoKLSAqIFhpbGlueCBWaXJ0ZXggKElJ cHJvICYgNEZYKSBiYXNlZCBib2FyZCBzdXBwb3J0Ci0gKgotICogQ29weXJpZ2h0IDIwMDcgU2Vj cmV0IExhYiBUZWNobm9sb2dpZXMgTHRkLgotICoKLSAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiB2ZXJz aW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55IHdhcnJh bnR5IG9mIGFueQotICoga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCi0gKi8KLQot I2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgot I2luY2x1ZGUgPGFzbS9tYWNoZGVwLmg+Ci0jaW5jbHVkZSA8YXNtL3Byb20uaD4KLSNpbmNsdWRl IDxhc20vdGltZS5oPgotI2luY2x1ZGUgPGFzbS94aWxpbnhfaW50Yy5oPgotI2luY2x1ZGUgPGFz bS94aWxpbnhfcGNpLmg+Ci0jaW5jbHVkZSA8YXNtL3BwYzR4eC5oPgotCi1zdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCB4aWxpbnhfb2ZfYnVzX2lkc1tdIF9faW5pdGNvbnN0ID0gewot CXsgLmNvbXBhdGlibGUgPSAieGxueCxwbGItdjQ2LTEuMDAuYSIsIH0sCi0JeyAuY29tcGF0aWJs ZSA9ICJ4bG54LHBsYi12MzQtMS4wMS5hIiwgfSwKLQl7IC5jb21wYXRpYmxlID0gInhsbngscGxi LXYzNC0xLjAyLmEiLCB9LAotCXsgLmNvbXBhdGlibGUgPSAieGxueCxvcGItdjIwLTEuMTAuYyIs IH0sCi0JeyAuY29tcGF0aWJsZSA9ICJ4bG54LGRjci12MjktMS4wMC5hIiwgfSwKLQl7IC5jb21w YXRpYmxlID0gInhsbngsY29tcG91bmQiLCB9LAotCXt9Ci19OwotCi1zdGF0aWMgaW50IF9faW5p dCB2aXJ0ZXhfZGV2aWNlX3Byb2JlKHZvaWQpCi17Ci0Jb2ZfcGxhdGZvcm1fYnVzX3Byb2JlKE5V TEwsIHhpbGlueF9vZl9idXNfaWRzLCBOVUxMKTsKLQotCXJldHVybiAwOwotfQotbWFjaGluZV9k ZXZpY2VfaW5pdGNhbGwodmlydGV4LCB2aXJ0ZXhfZGV2aWNlX3Byb2JlKTsKLQotc3RhdGljIGlu dCBfX2luaXQgdmlydGV4X3Byb2JlKHZvaWQpCi17Ci0JaWYgKCFvZl9tYWNoaW5lX2lzX2NvbXBh dGlibGUoInhsbngsdmlydGV4IikpCi0JCXJldHVybiAwOwotCi0JcmV0dXJuIDE7Ci19Ci0KLWRl ZmluZV9tYWNoaW5lKHZpcnRleCkgewotCS5uYW1lCQkJPSAiWGlsaW54IFZpcnRleCIsCi0JLnBy b2JlCQkJPSB2aXJ0ZXhfcHJvYmUsCi0JLnNldHVwX2FyY2gJCT0geGlsaW54X3BjaV9pbml0LAot CS5pbml0X0lSUQkJPSB4aWxpbnhfaW50Y19pbml0X3RyZWUsCi0JLmdldF9pcnEJCT0geGludGNf Z2V0X2lycSwKLQkucmVzdGFydAkJPSBwcGM0eHhfcmVzZXRfc3lzdGVtLAotCS5jYWxpYnJhdGVf ZGVjcgkJPSBnZW5lcmljX2NhbGlicmF0ZV9kZWNyLAotfTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93 ZXJwYy9wbGF0Zm9ybXMvNDR4L0tjb25maWcgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zLzQ0eC9L Y29uZmlnCmluZGV4IDI1ZWJlNjM0YTY2MS4uMzllOTNkMjNmYjM4IDEwMDY0NAotLS0gYS9hcmNo L3Bvd2VycGMvcGxhdGZvcm1zLzQ0eC9LY29uZmlnCisrKyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9y bXMvNDR4L0tjb25maWcKQEAgLTIzMiwzMyArMjMyLDYgQEAgY29uZmlnIElDT04KIAloZWxwCiAJ ICBUaGlzIG9wdGlvbiBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBBTUNDIFBQQzQ0MFNQZSBldmFs dWF0aW9uIGJvYXJkLgogCi1jb25maWcgWElMSU5YX1ZJUlRFWDQ0MF9HRU5FUklDX0JPQVJECi0J Ym9vbCAiR2VuZXJpYyBYaWxpbnggVmlydGV4IDUgRlhUIGJvYXJkIHN1cHBvcnQiCi0JZGVwZW5k cyBvbiA0NHgKLQlzZWxlY3QgWElMSU5YX1ZJUlRFWF81X0ZYVAotCXNlbGVjdCBYSUxJTlhfSU5U QwotCWhlbHAKLQkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgZ2VuZXJpYyBzdXBwb3J0IGZvciBYaWxp bnggVmlydGV4IGJhc2VkIGJvYXJkcwotCSAgdGhhdCB1c2UgYSA0NDAgYmFzZWQgcHJvY2Vzc29y IGluIHRoZSBWaXJ0ZXggNSBGWFQgRlBHQSBhcmNoaXRlY3R1cmUuCi0KLQkgIFRoZSBnZW5lcmlj IHZpcnRleCBib2FyZCBzdXBwb3J0IG1hdGNoZXMgYW55IGRldmljZSB0cmVlIHdoaWNoCi0JICBz cGVjaWZpZXMgJ3hsbngsdmlydGV4NDQwJyBpbiBpdHMgY29tcGF0aWJsZSBmaWVsZC4gIFRoaXMg aW5jbHVkZXMKLQkgIHRoZSBYaWxpbnggTUw1eHggcmVmZXJlbmNlIGRlc2lnbnMgdXNpbmcgdGhl IHBvd2VycGMgY29yZS4KLQotCSAgTW9zdCBWaXJ0ZXggNSBkZXNpZ25zIHNob3VsZCB1c2UgdGhp cyB1bmxlc3MgaXQgbmVlZHMgdG8gZG8gc29tZQotCSAgc3BlY2lhbCBjb25maWd1cmF0aW9uIGF0 IGJvYXJkIHByb2JlIHRpbWUuCi0KLWNvbmZpZyBYSUxJTlhfTUw1MTAKLQlib29sICJYaWxpbngg TUw1MTAgZXh0cmEgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFhJTElOWF9WSVJURVg0NDBfR0VORVJJ Q19CT0FSRAotCXNlbGVjdCBIQVZFX1BDSQotCXNlbGVjdCBYSUxJTlhfUENJIGlmIFBDSQotCXNl bGVjdCBQUENfSU5ESVJFQ1RfUENJIGlmIFBDSQotCXNlbGVjdCBQUENfSTgyNTkgaWYgUENJCi0J aGVscAotCSAgVGhpcyBvcHRpb24gZW5hYmxlcyBleHRyYSBzdXBwb3J0IGZvciBmZWF0dXJlcyBv biB0aGUgWGlsaW54IE1MNTEwCi0JICBib2FyZC4gIFRoZSBNTDUxMCBoYXMgYSBQQ0kgYnVzIHdp dGggQUxJIHNvdXRoIGJyaWRnZS4KLQogY29uZmlnIFBQQzQ0eF9TSU1QTEUKIAlib29sICJTaW1w bGUgUG93ZXJQQyA0NHggYm9hcmQgc3VwcG9ydCIKIAlkZXBlbmRzIG9uIDQ0eApAQCAtMzU0LDEz ICszMjcsMyBAQCBjb25maWcgNDc2RlBFX0VSUjQ2CiBjb25maWcgSUJNNDQwRVBfRVJSNDIKIAli b29sCiAKLSMgWGlsaW54IHNwZWNpZmljIGNvbmZpZyBvcHRpb25zLgotY29uZmlnIFhJTElOWF9W SVJURVgKLQlib29sCi0Jc2VsZWN0IERFRkFVTFRfVUlNQUdFCi0KLSMgWGlsaW54IFZpcnRleCA1 IEZYVCBGUEdBIGFyY2hpdGVjdHVyZSwgc2VsZWN0ZWQgYnkgYSBYaWxpbnggYm9hcmQgYWJvdmUK LWNvbmZpZyBYSUxJTlhfVklSVEVYXzVfRlhUCi0JYm9vbAotCXNlbGVjdCBYSUxJTlhfVklSVEVY Ci0KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDR4L01ha2VmaWxlIGIvYXJj aC9wb3dlcnBjL3BsYXRmb3Jtcy80NHgvTWFrZWZpbGUKaW5kZXggMWI3OGM2YWY4MjFhLi41YmEw MzFmNTc2NTIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDR4L01ha2VmaWxl CisrKyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDR4L01ha2VmaWxlCkBAIC03LDggKzcsNiBA QCBvYmotJChDT05GSUdfUFBDNDR4X1NJTVBMRSkgKz0gcHBjNDR4X3NpbXBsZS5vCiBvYmotJChD T05GSUdfRUJPTlkpCSs9IGVib255Lm8KIG9iai0kKENPTkZJR19TQU00NDBFUCkgCSs9IHNhbTQ0 MGVwLm8KIG9iai0kKENPTkZJR19XQVJQKQkrPSB3YXJwLm8KLW9iai0kKENPTkZJR19YSUxJTlhf VklSVEVYXzVfRlhUKSArPSB2aXJ0ZXgubwotb2JqLSQoQ09ORklHX1hJTElOWF9NTDUxMCkgKz0g dmlydGV4X21sNTEwLm8KIG9iai0kKENPTkZJR19JU1M0eHgpCSs9IGlzczR4eC5vCiBvYmotJChD T05GSUdfQ0FOWU9OTEFORFMpKz0gY2FueW9ubGFuZHMubwogb2JqLSQoQ09ORklHX0NVUlJJVFVD SykJKz0gcHBjNDc2Lm8KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvNDR4L3Zp cnRleC5jIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy80NHgvdmlydGV4LmMKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDNlYjEzZWQ5MjZlZS4uMDAwMDAwMDAwMDAwCi0tLSBhL2FyY2gv cG93ZXJwYy9wbGF0Zm9ybXMvNDR4L3ZpcnRleC5jCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAs MCBAQAotLyoKLSAqIFhpbGlueCBWaXJ0ZXggNUZYVCBiYXNlZCBib2FyZCBzdXBwb3J0LCBkZXJp dmVkIGZyb20KLSAqIHRoZSBYaWxpbnggVmlydGV4IChJSXBybyAmIDRGWCkgYmFzZWQgYm9hcmQg c3VwcG9ydAotICoKLSAqIENvcHlyaWdodCAyMDA3IFNlY3JldCBMYWIgVGVjaG5vbG9naWVzIEx0 ZC4KLSAqIENvcHlyaWdodCAyMDA4IFhpbGlueCwgSW5jLgotICoKLSAqIFRoaXMgZmlsZSBpcyBs aWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl Ci0gKiB2ZXJzaW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQg YW55IHdhcnJhbnR5IG9mIGFueQotICoga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQu Ci0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9vZl9wbGF0 Zm9ybS5oPgotI2luY2x1ZGUgPGFzbS9tYWNoZGVwLmg+Ci0jaW5jbHVkZSA8YXNtL3Byb20uaD4K LSNpbmNsdWRlIDxhc20vdGltZS5oPgotI2luY2x1ZGUgPGFzbS94aWxpbnhfaW50Yy5oPgotI2lu Y2x1ZGUgPGFzbS94aWxpbnhfcGNpLmg+Ci0jaW5jbHVkZSA8YXNtL3JlZy5oPgotI2luY2x1ZGUg PGFzbS9wcGM0eHguaD4KLSNpbmNsdWRlICI0NHguaCIKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBv Zl9kZXZpY2VfaWQgeGlsaW54X29mX2J1c19pZHNbXSBfX2luaXRjb25zdCA9IHsKLQl7IC5jb21w YXRpYmxlID0gInNpbXBsZS1idXMiLCB9LAotCXsgLmNvbXBhdGlibGUgPSAieGxueCxwbGItdjQ2 LTEuMDAuYSIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJ4bG54LHBsYi12NDYtMS4wMi5hIiwgfSwK LQl7IC5jb21wYXRpYmxlID0gInhsbngscGxiLXYzNC0xLjAxLmEiLCB9LAotCXsgLmNvbXBhdGli bGUgPSAieGxueCxwbGItdjM0LTEuMDIuYSIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJ4bG54LG9w Yi12MjAtMS4xMC5jIiwgfSwKLQl7IC5jb21wYXRpYmxlID0gInhsbngsZGNyLXYyOS0xLjAwLmEi LCB9LAotCXsgLmNvbXBhdGlibGUgPSAieGxueCxjb21wb3VuZCIsIH0sCi0Je30KLX07Ci0KLXN0 YXRpYyBpbnQgX19pbml0IHZpcnRleF9kZXZpY2VfcHJvYmUodm9pZCkKLXsKLQlvZl9wbGF0Zm9y bV9idXNfcHJvYmUoTlVMTCwgeGlsaW54X29mX2J1c19pZHMsIE5VTEwpOwotCi0JcmV0dXJuIDA7 Ci19Ci1tYWNoaW5lX2RldmljZV9pbml0Y2FsbCh2aXJ0ZXgsIHZpcnRleF9kZXZpY2VfcHJvYmUp OwotCi1zdGF0aWMgaW50IF9faW5pdCB2aXJ0ZXhfcHJvYmUodm9pZCkKLXsKLQlpZiAoIW9mX21h Y2hpbmVfaXNfY29tcGF0aWJsZSgieGxueCx2aXJ0ZXg0NDAiKSkKLQkJcmV0dXJuIDA7Ci0KLQly ZXR1cm4gMTsKLX0KLQotZGVmaW5lX21hY2hpbmUodmlydGV4KSB7Ci0JLm5hbWUJCQk9ICJYaWxp bnggVmlydGV4NDQwIiwKLQkucHJvYmUJCQk9IHZpcnRleF9wcm9iZSwKLQkuc2V0dXBfYXJjaAkJ PSB4aWxpbnhfcGNpX2luaXQsCi0JLmluaXRfSVJRCQk9IHhpbGlueF9pbnRjX2luaXRfdHJlZSwK LQkuZ2V0X2lycQkJPSB4aW50Y19nZXRfaXJxLAotCS5jYWxpYnJhdGVfZGVjcgkJPSBnZW5lcmlj X2NhbGlicmF0ZV9kZWNyLAotCS5yZXN0YXJ0CQk9IHBwYzR4eF9yZXNldF9zeXN0ZW0sCi19Owpk aWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy80NHgvdmlydGV4X21sNTEwLmMgYi9h cmNoL3Bvd2VycGMvcGxhdGZvcm1zLzQ0eC92aXJ0ZXhfbWw1MTAuYwpkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMzQ5ZjIxOGIzMzVjLi4wMDAwMDAwMDAwMDAKLS0tIGEvYXJjaC9wb3dl cnBjL3BsYXRmb3Jtcy80NHgvdmlydGV4X21sNTEwLmMKKysrIC9kZXYvbnVsbApAQCAtMSwzMCAr MCwwIEBACi0vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAotI2luY2x1ZGUgPGFz bS9pODI1OS5oPgotI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgIjQ0eC5oIgotCi0v KioKLSAqIG1sNTEwX2FpbF9xdWlyawotICovCi1zdGF0aWMgdm9pZCBtbDUxMF9hbGlfcXVpcmso c3RydWN0IHBjaV9kZXYgKmRldikKLXsKLQkvKiBFbmFibGUgdGhlIElERSBjb250cm9sbGVyICov Ci0JcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgMHg1OCwgMHg0Yyk7Ci0JLyogQXNzaWduIGly cSAxNCB0byB0aGUgcHJpbWFyeSBpZGUgY2hhbm5lbCAqLwotCXBjaV93cml0ZV9jb25maWdfYnl0 ZShkZXYsIDB4NDQsIDB4MGQpOwotCS8qIEFzc2lnbiBpcnEgMTUgdG8gdGhlIHNlY29uZGFyeSBp ZGUgY2hhbm5lbCAqLwotCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIDB4NzUsIDB4MGYpOwot CS8qIFNldCB0aGUgaWRlIGNvbnRyb2xsZXIgaW4gbmF0aXZlIG1vZGUgKi8KLQlwY2lfd3JpdGVf Y29uZmlnX2J5dGUoZGV2LCAweDA5LCAweGZmKTsKLQotCS8qIElOVEIgPSBkaXNhYmxlZCwgSU5U QSA9IGRpc2FibGVkICovCi0JcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgMHg0OCwgMHgwMCk7 Ci0JLyogSU5URCA9IGRpc2FibGVkLCBJTlRDID0gZGlzYWJsZWQgKi8KLQlwY2lfd3JpdGVfY29u ZmlnX2J5dGUoZGV2LCAweDRhLCAweDAwKTsKLQkvKiBBdWRpbyA9IElOVDcsIE1vZGVtID0gZGlz YWJsZWQuICovCi0JcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgMHg0YiwgMHg2MCk7Ci0JLyog VVNCID0gSU5UNyAqLwotCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIDB4NzQsIDB4MDYpOwot fQotREVDTEFSRV9QQ0lfRklYVVBfRUFSTFkoMHgxMGI5LCAweDE1MzMsIG1sNTEwX2FsaV9xdWly ayk7Ci0KZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvS2NvbmZpZyBiL2FyY2gv cG93ZXJwYy9wbGF0Zm9ybXMvS2NvbmZpZwppbmRleCAxZjgwMjUzODNjYWEuLjVlNjQ3OWQ0MDlh MCAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9LY29uZmlnCisrKyBiL2FyY2gv cG93ZXJwYy9wbGF0Zm9ybXMvS2NvbmZpZwpAQCAtMzE3LDggKzMxNyw0IEBAIGNvbmZpZyBNQ1Vf TVBDODM0OUVNSVRYCiAJICBhbHNvIHJlZ2lzdGVyIE1DVSBHUElPcyB3aXRoIHRoZSBnZW5lcmlj IEdQSU8gQVBJLCBzbyB5b3UnbGwgYWJsZQogCSAgdG8gdXNlIE1DVSBwaW5zIGFzIEdQSU9zLgog Ci1jb25maWcgWElMSU5YX1BDSQotCWJvb2wgIlhpbGlueCBQQ0kgaG9zdCBicmlkZ2Ugc3VwcG9y dCIKLQlkZXBlbmRzIG9uIFBDSSAmJiBYSUxJTlhfVklSVEVYCi0KIGVuZG1lbnUKZGlmZiAtLWdp dCBhL2FyY2gvcG93ZXJwYy9zeXNkZXYvTWFrZWZpbGUgYi9hcmNoL3Bvd2VycGMvc3lzZGV2L01h a2VmaWxlCmluZGV4IGNiNWE1YmQyY2VmNS4uMDI2YjNmMDFhOTkxIDEwMDY0NAotLS0gYS9hcmNo L3Bvd2VycGMvc3lzZGV2L01ha2VmaWxlCisrKyBiL2FyY2gvcG93ZXJwYy9zeXNkZXYvTWFrZWZp bGUKQEAgLTMxLDggKzMxLDYgQEAgb2JqLSQoQ09ORklHX1JUQ19EUlZfQ01PUykJKz0gcnRjX2Nt b3Nfc2V0dXAubwogb2JqLSQoQ09ORklHX1BQQ19JTkRJUkVDVF9QQ0kpCSs9IGluZGlyZWN0X3Bj aS5vCiBvYmotJChDT05GSUdfUFBDX0k4MjU5KQkJKz0gaTgyNTkubwogb2JqLSQoQ09ORklHX0lQ SUMpCQkrPSBpcGljLm8KLW9iai0kKENPTkZJR19YSUxJTlhfVklSVEVYKQkrPSB4aWxpbnhfaW50 Yy5vCi1vYmotJChDT05GSUdfWElMSU5YX1BDSSkJKz0geGlsaW54X3BjaS5vCiBvYmotJChDT05G SUdfT0ZfUlRDKQkJKz0gb2ZfcnRjLm8KIAogb2JqLSQoQ09ORklHX0NQTSkJCSs9IGNwbV9jb21t b24ubwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3N5c2Rldi94aWxpbnhfaW50Yy5jIGIvYXJj aC9wb3dlcnBjL3N5c2Rldi94aWxpbnhfaW50Yy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA0YTg2ZGNmZjNmY2QuLjAwMDAwMDAwMDAwMAotLS0gYS9hcmNoL3Bvd2VycGMvc3lzZGV2 L3hpbGlueF9pbnRjLmMKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi0vKgotICogSW50 ZXJydXB0IGNvbnRyb2xsZXIgZHJpdmVyIGZvciBYaWxpbnggVmlydGV4IEZQR0FzCi0gKgotICog Q29weXJpZ2h0IChDKSAyMDA3IFNlY3JldCBMYWIgVGVjaG5vbG9naWVzIEx0ZC4KLSAqCi0gKiBU aGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQotICogdmVyc2lvbiAyLiBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFz IGlzIiB3aXRob3V0IGFueSB3YXJyYW50eSBvZiBhbnkKLSAqIGtpbmQsIHdoZXRoZXIgZXhwcmVz cyBvciBpbXBsaWVkLgotICoKLSAqLwotCi0vKgotICogVGhpcyBpcyBhIGRyaXZlciBmb3IgdGhl IGludGVycnVwdCBjb250cm9sbGVyIHR5cGljYWxseSBmb3VuZCBpbgotICogWGlsaW54IFZpcnRl eCBGUEdBIGRlc2lnbnMuCi0gKgotICogVGhlIGludGVycnVwdCBzZW5zZSBsZXZlbHMgYXJlIGhh cmQgY29kZWQgaW50byB0aGUgRlBHQSBkZXNpZ24gd2l0aAotICogdHlwaWNhbGx5IGEgMToxIHJl bGF0aW9uc2hpcCBiZXR3ZWVuIGlycSBsaW5lcyBhbmQgZGV2aWNlcyAobm8gc2hhcmVkCi0gKiBp cnEgbGluZXMpLiAgVGhlcmVmb3JlLCB0aGlzIGRyaXZlciBkb2VzIG5vdCBhdHRlbXB0IHRvIGhh bmRsZSBlZGdlCi0gKiBhbmQgbGV2ZWwgaW50ZXJydXB0cyBkaWZmZXJlbnRseS4KLSAqLwotI3Vu ZGVmIERFQlVHCi0KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9p cnEuaD4KLSNpbmNsdWRlIDxsaW51eC9vZi5oPgotI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3Mu aD4KLSNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNs dWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8YXNtL2k4MjU5Lmg+Ci0jaW5jbHVkZSA8 YXNtL2lycS5oPgotI2luY2x1ZGUgPGxpbnV4L2lycWNoaXAuaD4KLQotI2lmIGRlZmluZWQoQ09O RklHX1BQQ19JODI1OSkKLS8qCi0gKiBTdXBwb3J0IGNvZGUgZm9yIGNhc2NhZGluZyB0byA4MjU5 IGludGVycnVwdCBjb250cm9sbGVycwotICovCi1zdGF0aWMgdm9pZCB4aWxpbnhfaTgyNTlfY2Fz Y2FkZShzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCi17Ci0Jc3RydWN0IGlycV9jaGlwICpjaGlwID0g aXJxX2Rlc2NfZ2V0X2NoaXAoZGVzYyk7Ci0JdW5zaWduZWQgaW50IGNhc2NhZGVfaXJxID0gaTgy NTlfaXJxKCk7Ci0KLQlpZiAoY2FzY2FkZV9pcnEpCi0JCWdlbmVyaWNfaGFuZGxlX2lycShjYXNj YWRlX2lycSk7Ci0KLQkvKiBMZXQgeGlsaW54X2ludGMgZW5kIHRoZSBpbnRlcnJ1cHQgKi8KLQlj aGlwLT5pcnFfdW5tYXNrKCZkZXNjLT5pcnFfZGF0YSk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5p dCB4aWxpbnhfaTgyNTlfc2V0dXBfY2FzY2FkZSh2b2lkKQotewotCXN0cnVjdCBkZXZpY2Vfbm9k ZSAqY2FzY2FkZV9ub2RlOwotCWludCBjYXNjYWRlX2lycTsKLQotCS8qIEluaXRpYWxpemUgaTgy NTkgY29udHJvbGxlciAqLwotCWNhc2NhZGVfbm9kZSA9IG9mX2ZpbmRfY29tcGF0aWJsZV9ub2Rl KE5VTEwsIE5VTEwsICJjaHJwLGlpYyIpOwotCWlmICghY2FzY2FkZV9ub2RlKQotCQlyZXR1cm47 Ci0KLQljYXNjYWRlX2lycSA9IGlycV9vZl9wYXJzZV9hbmRfbWFwKGNhc2NhZGVfbm9kZSwgMCk7 Ci0JaWYgKCFjYXNjYWRlX2lycSkgewotCQlwcl9lcnIoInZpcnRleF9tbDUxMDogRmFpbGVkIHRv IG1hcCBjYXNjYWRlIGludGVycnVwdFxuIik7Ci0JCWdvdG8gb3V0OwotCX0KLQotCWk4MjU5X2lu aXQoY2FzY2FkZV9ub2RlLCAwKTsKLQlpcnFfc2V0X2NoYWluZWRfaGFuZGxlcihjYXNjYWRlX2ly cSwgeGlsaW54X2k4MjU5X2Nhc2NhZGUpOwotCi0JLyogUHJvZ3JhbSBpcnEgNyAodXNiL2F1ZGlv KSwgMTQvMTUgKGlkZSkgdG8gbGV2ZWwgc2Vuc2l0aXZlICovCi0JLyogVGhpcyBsb29rcyBsaWtl IGEgZGlydHkgaGFjayB0byBtZSAtLWdjbCAqLwotCW91dGIoMHhjMCwgMHg0ZDApOwotCW91dGIo MHhjMCwgMHg0ZDEpOwotCi0gb3V0OgotCW9mX25vZGVfcHV0KGNhc2NhZGVfbm9kZSk7Ci19Ci0j ZWxzZQotc3RhdGljIGlubGluZSB2b2lkIHhpbGlueF9pODI1OV9zZXR1cF9jYXNjYWRlKHZvaWQp IHsgcmV0dXJuOyB9Ci0jZW5kaWYgLyogZGVmaW5lZChDT05GSUdfUFBDX0k4MjU5KSAqLwotCi0v KgotICogSW5pdGlhbGl6ZSBtYXN0ZXIgWGlsaW54IGludGVycnVwdCBjb250cm9sbGVyCi0gKi8K LXZvaWQgX19pbml0IHhpbGlueF9pbnRjX2luaXRfdHJlZSh2b2lkKQotewotCWlycWNoaXBfaW5p dCgpOwotCXhpbGlueF9pODI1OV9zZXR1cF9jYXNjYWRlKCk7Ci19CmRpZmYgLS1naXQgYS9hcmNo L3Bvd2VycGMvc3lzZGV2L3hpbGlueF9wY2kuYyBiL2FyY2gvcG93ZXJwYy9zeXNkZXYveGlsaW54 X3BjaS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZWE1NjY3Njk5ZWQuLjAwMDAw MDAwMDAwMAotLS0gYS9hcmNoL3Bvd2VycGMvc3lzZGV2L3hpbGlueF9wY2kuYworKysgL2Rldi9u dWxsCkBAIC0xLDEzMiArMCwwIEBACi0vKgotICogUENJIHN1cHBvcnQgZm9yIFhpbGlueCBwbGJ2 NDZfcGNpIHNvZnQtY29yZSB3aGljaCBjYW4gYmUgdXNlZCBvbgotICogWGlsaW54IFZpcnRleCBN TDQxMCAvIE1MNTEwIGJvYXJkcy4KLSAqCi0gKiBDb3B5cmlnaHQgMjAwOSBSb2RlcmljayBDb2xl bmJyYW5kZXIKLSAqIENvcHlyaWdodCAyMDA5IFNlY3JldCBMYWIgVGVjaG5vbG9naWVzIEx0ZC4K LSAqCi0gKiBUaGUgcGNpIGJyaWRnZSBmaXh1cCBjb2RlIHdhcyBjb3BpZWQgZnJvbSBwcGM0eHhf cGNpLmMgYW5kIHdhcyB3cml0dGVuCi0gKiBieSBCZW5qYW1pbiBIZXJyZW5zY2htaWR0LgotICog Q29weXJpZ2h0IDIwMDcgQmVuLiBIZXJyZW5zY2htaWR0IDxiZW5oQGtlcm5lbC5jcmFzaGluZy5v cmc+LCBJQk0gQ29ycC4KLSAqCi0gKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogdmVyc2lvbiAyLiBUaGlz IHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueSB3YXJyYW50eSBvZiBhbnkK LSAqIGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgotICovCi0KLSNpbmNsdWRlIDxs aW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9vZi5oPgotI2luY2x1ZGUgPGxpbnV4L3Bj aS5oPgotI2luY2x1ZGUgPG1tL21tdV9kZWNsLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5j bHVkZSA8YXNtL3hpbGlueF9wY2kuaD4KLQotI2RlZmluZSBYUExCX1BDSV9BRERSIDB4MTBjCi0j ZGVmaW5lIFhQTEJfUENJX0RBVEEgMHgxMTAKLSNkZWZpbmUgWFBMQl9QQ0lfQlVTICAweDExNAot Ci0jZGVmaW5lIFBDSV9IT1NUX0VOQUJMRV9DTUQgUENJX0NPTU1BTkRfU0VSUiB8IFBDSV9DT01N QU5EX1BBUklUWSB8IFBDSV9DT01NQU5EX01BU1RFUiB8IFBDSV9DT01NQU5EX01FTU9SWQotCi1z dGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCB4aWxpbnhfcGNpX21hdGNoW10gPSB7Ci0J eyAuY29tcGF0aWJsZSA9ICJ4bG54LHBsYnY0Ni1wY2ktMS4wMy5hIiwgfSwKLQl7fQotfTsKLQot LyoqCi0gKiB4aWxpbnhfcGNpX2ZpeHVwX2JyaWRnZSAtIEJsb2NrIFhpbGlueCBQSEIgY29uZmln dXJhdGlvbi4KLSAqLwotc3RhdGljIHZvaWQgeGlsaW54X3BjaV9maXh1cF9icmlkZ2Uoc3RydWN0 IHBjaV9kZXYgKmRldikKLXsKLQlzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIgKmhvc2U7Ci0JaW50IGk7 Ci0KLQlpZiAoZGV2LT5kZXZmbiB8fCBkZXYtPmJ1cy0+c2VsZikKLQkJcmV0dXJuOwotCi0JaG9z ZSA9IHBjaV9idXNfdG9faG9zdChkZXYtPmJ1cyk7Ci0JaWYgKCFob3NlKQotCQlyZXR1cm47Ci0K LQlpZiAoIW9mX21hdGNoX25vZGUoeGlsaW54X3BjaV9tYXRjaCwgaG9zZS0+ZG4pKQotCQlyZXR1 cm47Ci0KLQkvKiBIaWRlIHRoZSBQQ0kgaG9zdCBCQVJzIGZyb20gdGhlIGtlcm5lbCBhcyB0aGVp ciBjb250ZW50IGRvZXNuJ3QKLQkgKiBmaXQgd2VsbCBpbiB0aGUgcmVzb3VyY2UgbWFuYWdlbWVu dAotCSAqLwotCWZvciAoaSA9IDA7IGkgPCBERVZJQ0VfQ09VTlRfUkVTT1VSQ0U7IGkrKykgewot CQlkZXYtPnJlc291cmNlW2ldLnN0YXJ0ID0gMDsKLQkJZGV2LT5yZXNvdXJjZVtpXS5lbmQgPSAw OwotCQlkZXYtPnJlc291cmNlW2ldLmZsYWdzID0gMDsKLQl9Ci0KLQlkZXZfaW5mbygmZGV2LT5k ZXYsICJIaWRpbmcgWGlsaW54IHBsYi1wY2kgaG9zdCBicmlkZ2UgcmVzb3VyY2VzICVzXG4iLAot CQkgcGNpX25hbWUoZGV2KSk7Ci19Ci1ERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX0FOWV9J RCwgUENJX0FOWV9JRCwgeGlsaW54X3BjaV9maXh1cF9icmlkZ2UpOwotCi0vKioKLSAqIHhpbGlu eF9wY2lfZXhjbHVkZV9kZXZpY2UgLSBEb24ndCBkbyBjb25maWcgYWNjZXNzIGZvciBub24tcm9v dCBidXMKLSAqCi0gKiBUaGlzIGlzIGEgaGFjay4gIENvbmZpZyBhY2Nlc3MgdG8gYW55IGJ1cyBv dGhlciB0aGFuIGJ1cyAwIGRvZXMgbm90Ci0gKiBjdXJyZW50bHkgd29yayBvbiB0aGUgTUw1MTAg c28gd2UgcHJldmVudCBpdCBoZXJlLgotICovCi1zdGF0aWMgaW50Ci14aWxpbnhfcGNpX2V4Y2x1 ZGVfZGV2aWNlKHN0cnVjdCBwY2lfY29udHJvbGxlciAqaG9zZSwgdV9jaGFyIGJ1cywgdTggZGV2 Zm4pCi17Ci0JcmV0dXJuIChidXMgIT0gMCk7Ci19Ci0KLS8qKgotICogeGlsaW54X3BjaV9pbml0 IC0gRmluZCBhbmQgcmVnaXN0ZXIgYSBYaWxpbnggUENJIGhvc3QgYnJpZGdlCi0gKi8KLXZvaWQg X19pbml0IHhpbGlueF9wY2lfaW5pdCh2b2lkKQotewotCXN0cnVjdCBwY2lfY29udHJvbGxlciAq aG9zZTsKLQlzdHJ1Y3QgcmVzb3VyY2UgcjsKLQl2b2lkIF9faW9tZW0gKnBjaV9yZWc7Ci0Jc3Ry dWN0IGRldmljZV9ub2RlICpwY2lfbm9kZTsKLQotCXBjaV9ub2RlID0gb2ZfZmluZF9tYXRjaGlu Z19ub2RlKE5VTEwsIHhpbGlueF9wY2lfbWF0Y2gpOwotCWlmKCFwY2lfbm9kZSkKLQkJcmV0dXJu OwotCi0JaWYgKG9mX2FkZHJlc3NfdG9fcmVzb3VyY2UocGNpX25vZGUsIDAsICZyKSkgewotCQlw cl9lcnIoInhpbGlueC1wY2k6IGNhbm5vdCByZXNvbHZlIGJhc2UgYWRkcmVzc1xuIik7Ci0JCXJl dHVybjsKLQl9Ci0KLQlob3NlID0gcGNpYmlvc19hbGxvY19jb250cm9sbGVyKHBjaV9ub2RlKTsK LQlpZiAoIWhvc2UpIHsKLQkJcHJfZXJyKCJ4aWxpbngtcGNpOiBwY2liaW9zX2FsbG9jX2NvbnRy b2xsZXIoKSBmYWlsZWRcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JLyogU2V0dXAgY29uZmlnIHNw YWNlICovCi0Jc2V0dXBfaW5kaXJlY3RfcGNpKGhvc2UsIHIuc3RhcnQgKyBYUExCX1BDSV9BRERS LAotCQkJICAgci5zdGFydCArIFhQTEJfUENJX0RBVEEsCi0JCQkgICBQUENfSU5ESVJFQ1RfVFlQ RV9TRVRfQ0ZHX1RZUEUpOwotCi0JLyogQWNjb3JkaW5nIHRvIHRoZSB4aWxpbnggcGxidjQ2X3Bj aSBkb2N1bWVudGF0aW9uIHRoZSBzb2Z0LWNvcmUgc3RhcnRzCi0JICogYSBzZWxmLWluaXQgd2hl biB0aGUgYnVzIG1hc3RlciBlbmFibGUgYml0IGlzIHNldC4gV2l0aG91dCB0aGlzIGJpdAotCSAq IHNldCB0aGUgcGNpIGJ1cyBjYW4ndCBiZSBzY2FubmVkLgotCSAqLwotCWVhcmx5X3dyaXRlX2Nv bmZpZ193b3JkKGhvc2UsIDAsIDAsIFBDSV9DT01NQU5ELCBQQ0lfSE9TVF9FTkFCTEVfQ01EKTsK LQotCS8qIFNldCB0aGUgbWF4IGxhdGVuY3kgdGltZXIgdG8gMjU1ICovCi0JZWFybHlfd3JpdGVf Y29uZmlnX2J5dGUoaG9zZSwgMCwgMCwgUENJX0xBVEVOQ1lfVElNRVIsIDB4ZmYpOwotCi0JLyog U2V0IHRoZSBtYXggYnVzIG51bWJlciB0byAyNTUgKi8KLQlwY2lfcmVnID0gb2ZfaW9tYXAocGNp X25vZGUsIDApOwotCW91dF84KHBjaV9yZWcgKyBYUExCX1BDSV9CVVMsIDB4ZmYpOwotCWlvdW5t YXAocGNpX3JlZyk7Ci0KLQkvKiBOb3RoaW5nIHBhc3QgdGhlIHJvb3QgYnJpZGdlIGlzIHdvcmtp bmcgcmlnaHQgbm93LiAgQnkgZGVmYXVsdAotCSAqIGV4Y2x1ZGUgY29uZmlnIGFjY2VzcyB0byBh bnl0aGluZyBleGNlcHQgYnVzIDAgKi8KLQlpZiAoIXBwY19tZC5wY2lfZXhjbHVkZV9kZXZpY2Up Ci0JCXBwY19tZC5wY2lfZXhjbHVkZV9kZXZpY2UgPSB4aWxpbnhfcGNpX2V4Y2x1ZGVfZGV2aWNl OwotCi0JLyogUmVnaXN0ZXIgdGhlIGhvc3QgYnJpZGdlIHdpdGggdGhlIGxpbnV4IGtlcm5lbCEg Ki8KLQlwY2lfcHJvY2Vzc19icmlkZ2VfT0ZfcmFuZ2VzKGhvc2UsIHBjaV9ub2RlLCAxKTsKLQot CXByX2luZm8oInhpbGlueC1wY2k6IFJlZ2lzdGVyZWQgUENJIGhvc3QgYnJpZGdlXG4iKTsKLX0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9LY29uZmlnIGIvZHJpdmVycy9jaGFyL0tjb25maWcK aW5kZXggMjY5NTZjMDA2OTg3Li4wY2NiZDZmZDZkZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hh ci9LY29uZmlnCisrKyBiL2RyaXZlcnMvY2hhci9LY29uZmlnCkBAIC0zMTYsNyArMzE2LDcgQEAg Y29uZmlnIERUTEsKIAogY29uZmlnIFhJTElOWF9IV0lDQVAKIAl0cmlzdGF0ZSAiWGlsaW54IEhX SUNBUCBTdXBwb3J0IgotCWRlcGVuZHMgb24gWElMSU5YX1ZJUlRFWCB8fCBNSUNST0JMQVpFCisJ ZGVwZW5kcyBvbiBNSUNST0JMQVpFCiAJaGVscAogCSAgVGhpcyBvcHRpb24gZW5hYmxlcyBzdXBw b3J0IGZvciBYaWxpbnggSW50ZXJuYWwgQ29uZmlndXJhdGlvbgogCSAgQWNjZXNzIFBvcnQgKElD QVApIGRyaXZlci4gIFRoZSBJQ0FQIGlzIHVzZWQgb24gWGlsaW54IFZpcnRleApkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aWRlby9mYmRldi9LY29uZmlnIGIvZHJpdmVycy92aWRlby9mYmRldi9LY29u ZmlnCmluZGV4IGY2NTk5MWE2N2FmMi4uYjE3NDY1MGUwZjA5IDEwMDY0NAotLS0gYS9kcml2ZXJz L3ZpZGVvL2ZiZGV2L0tjb25maWcKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9LY29uZmlnCkBA IC0yMDA3LDcgKzIwMDcsNyBAQCBjb25maWcgRkJfUFMzX0RFRkFVTFRfU0laRV9NCiAKIGNvbmZp ZyBGQl9YSUxJTlgKIAl0cmlzdGF0ZSAiWGlsaW54IGZyYW1lIGJ1ZmZlciBzdXBwb3J0IgotCWRl cGVuZHMgb24gRkIgJiYgKFhJTElOWF9WSVJURVggfHwgTUlDUk9CTEFaRSB8fCBBUkNIX1pZTlEg fHwgQVJDSF9aWU5RTVApCisJZGVwZW5kcyBvbiBGQiAmJiAoTUlDUk9CTEFaRSB8fCBBUkNIX1pZ TlEgfHwgQVJDSF9aWU5RTVApCiAJc2VsZWN0IEZCX0NGQl9GSUxMUkVDVAogCXNlbGVjdCBGQl9D RkJfQ09QWUFSRUEKIAlzZWxlY3QgRkJfQ0ZCX0lNQUdFQkxJVAotLSAKMi4yNi4wCg==