From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EEE64C43219 for ; Tue, 30 Apr 2019 02:06:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8E90B2147A for ; Tue, 30 Apr 2019 02:06:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729878AbfD3CGf (ORCPT ); Mon, 29 Apr 2019 22:06:35 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:34500 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729238AbfD3CGf (ORCPT ); Mon, 29 Apr 2019 22:06:35 -0400 Received: from localhost (adsl-173-228-226-134.prtc.net [173.228.226.134]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 443DB133E97C1 for ; Mon, 29 Apr 2019 19:06:32 -0700 (PDT) Date: Mon, 29 Apr 2019 22:06:29 -0400 (EDT) Message-Id: <20190429.220629.926084840433564745.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Mon_Apr_29_22_06_29_2019_321)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Mon, 29 Apr 2019 19:06:33 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Mon_Apr_29_22_06_29_2019_321)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following neworking bug fixes for v4.19 and v5.0 -stable, respectively. Thank you! ----Next_Part(Mon_Apr_29_22_06_29_2019_321)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_419.mbox" RnJvbSBiZjlkZDc2MDJhZjJmYmI2NDE1ZTlhYjFjZmNlZjE5MjQ4YmUwOWZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFdlZCwgMjQgQXByIDIwMTkgMDg6MDQ6MDUgLTA3MDAKU3ViamVjdDogW1BBVENIIDAxLzE4 XSBpcHY0OiBhZGQgc2FuaXR5IGNoZWNrcyBpbiBpcHY0X2xpbmtfZmFpbHVyZSgpCgpbIFVwc3Ry ZWFtIGNvbW1pdCAyMGZmODNmMTBmMTEzYzg4ZDBiYjc0NTg5Mzg5YjA1MjUwOTk0YzE2IF0KCkJl Zm9yZSBjYWxsaW5nIF9faXBfb3B0aW9uc19jb21waWxlKCksIHdlIG5lZWQgdG8gZW5zdXJlIHRo ZSBuZXR3b3JrCmhlYWRlciBpcyBhIGFuIElQdjQgb25lLCBhbmQgdGhhdCBpdCBpcyBhbHJlYWR5 IHB1bGxlZCBpbiBza2ItPmhlYWQuCgpSQVcgc29ja2V0cyBnb2luZyB0aHJvdWdoIGEgdHVubmVs IGNhbiBlbmQgdXAgY2FsbGluZyBpcHY0X2xpbmtfZmFpbHVyZSgpCndpdGggdG90YWwgZ2FyYmFn ZSBpbiB0aGUgc2tiLCBvciBhcmJpdHJhcnkgbGVuZ3RoZXMuCgpzeXpib3QgcmVwb3J0IDoKCkJV RzogS0FTQU46IHN0YWNrLW91dC1vZi1ib3VuZHMgaW4gbWVtY3B5IGluY2x1ZGUvbGludXgvc3Ry aW5nLmg6MzU1IFtpbmxpbmVdCkJVRzogS0FTQU46IHN0YWNrLW91dC1vZi1ib3VuZHMgaW4gX19p cF9vcHRpb25zX2VjaG8rMHgyOTQvMHgxMTIwIG5ldC9pcHY0L2lwX29wdGlvbnMuYzoxMjMKV3Jp dGUgb2Ygc2l6ZSA2OSBhdCBhZGRyIGZmZmY4ODgwOTZhYmYwNjggYnkgdGFzayBzeXotZXhlY3V0 b3IuNC85MjA0CgpDUFU6IDAgUElEOiA5MjA0IENvbW06IHN5ei1leGVjdXRvci40IE5vdCB0YWlu dGVkIDUuMS4wLXJjNSsgIzc3CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBF bmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwg VHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9z dGFjaysweDE3Mi8weDFmMCBsaWIvZHVtcF9zdGFjay5jOjExMwogcHJpbnRfYWRkcmVzc19kZXNj cmlwdGlvbi5jb2xkKzB4N2MvMHgyMGQgbW0va2FzYW4vcmVwb3J0LmM6MTg3CiBrYXNhbl9yZXBv cnQuY29sZCsweDFiLzB4NDAgbW0va2FzYW4vcmVwb3J0LmM6MzE3CiBjaGVja19tZW1vcnlfcmVn aW9uX2lubGluZSBtbS9rYXNhbi9nZW5lcmljLmM6MTg1IFtpbmxpbmVdCiBjaGVja19tZW1vcnlf cmVnaW9uKzB4MTIzLzB4MTkwIG1tL2thc2FuL2dlbmVyaWMuYzoxOTEKIG1lbWNweSsweDM4LzB4 NTAgbW0va2FzYW4vY29tbW9uLmM6MTMzCiBtZW1jcHkgaW5jbHVkZS9saW51eC9zdHJpbmcuaDoz NTUgW2lubGluZV0KIF9faXBfb3B0aW9uc19lY2hvKzB4Mjk0LzB4MTEyMCBuZXQvaXB2NC9pcF9v cHRpb25zLmM6MTIzCiBfX2ljbXBfc2VuZCsweDcyNS8weDE0MDAgbmV0L2lwdjQvaWNtcC5jOjY5 NQogaXB2NF9saW5rX2ZhaWx1cmUrMHgyOWYvMHg1NTAgbmV0L2lwdjQvcm91dGUuYzoxMjA0CiBk c3RfbGlua19mYWlsdXJlIGluY2x1ZGUvbmV0L2RzdC5oOjQyNyBbaW5saW5lXQogdnRpNl94bWl0 IG5ldC9pcHY2L2lwNl92dGkuYzo1MTQgW2lubGluZV0KIHZ0aTZfdG5sX3htaXQrMHgxMGQ0LzB4 MWMwYyBuZXQvaXB2Ni9pcDZfdnRpLmM6NTUzCiBfX25ldGRldl9zdGFydF94bWl0IGluY2x1ZGUv bGludXgvbmV0ZGV2aWNlLmg6NDQxNCBbaW5saW5lXQogbmV0ZGV2X3N0YXJ0X3htaXQgaW5jbHVk ZS9saW51eC9uZXRkZXZpY2UuaDo0NDIzIFtpbmxpbmVdCiB4bWl0X29uZSBuZXQvY29yZS9kZXYu YzozMjkyIFtpbmxpbmVdCiBkZXZfaGFyZF9zdGFydF94bWl0KzB4MWIyLzB4OTgwIG5ldC9jb3Jl L2Rldi5jOjMzMDgKIF9fZGV2X3F1ZXVlX3htaXQrMHgyNzFkLzB4MzA2MCBuZXQvY29yZS9kZXYu YzozODc4CiBkZXZfcXVldWVfeG1pdCsweDE4LzB4MjAgbmV0L2NvcmUvZGV2LmM6MzkxMQogbmVp Z2hfZGlyZWN0X291dHB1dCsweDE2LzB4MjAgbmV0L2NvcmUvbmVpZ2hib3VyLmM6MTUyNwogbmVp Z2hfb3V0cHV0IGluY2x1ZGUvbmV0L25laWdoYm91ci5oOjUwOCBbaW5saW5lXQogaXBfZmluaXNo X291dHB1dDIrMHg5NDkvMHgxNzQwIG5ldC9pcHY0L2lwX291dHB1dC5jOjIyOQogaXBfZmluaXNo X291dHB1dCsweDczYy8weGQ1MCBuZXQvaXB2NC9pcF9vdXRwdXQuYzozMTcKIE5GX0hPT0tfQ09O RCBpbmNsdWRlL2xpbnV4L25ldGZpbHRlci5oOjI3OCBbaW5saW5lXQogaXBfb3V0cHV0KzB4MjFm LzB4NjcwIG5ldC9pcHY0L2lwX291dHB1dC5jOjQwNQogZHN0X291dHB1dCBpbmNsdWRlL25ldC9k c3QuaDo0NDQgW2lubGluZV0KIE5GX0hPT0sgaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaDoyODkg W2lubGluZV0KIHJhd19zZW5kX2hkcmluYyBuZXQvaXB2NC9yYXcuYzo0MzIgW2lubGluZV0KIHJh d19zZW5kbXNnKzB4MWQyYi8weDJmMjAgbmV0L2lwdjQvcmF3LmM6NjYzCiBpbmV0X3NlbmRtc2cr MHgxNDcvMHg1ZDAgbmV0L2lwdjQvYWZfaW5ldC5jOjc5OAogc29ja19zZW5kbXNnX25vc2VjIG5l dC9zb2NrZXQuYzo2NTEgW2lubGluZV0KIHNvY2tfc2VuZG1zZysweGRkLzB4MTMwIG5ldC9zb2Nr ZXQuYzo2NjEKIHNvY2tfd3JpdGVfaXRlcisweDI3Yy8weDNlMCBuZXQvc29ja2V0LmM6OTg4CiBj YWxsX3dyaXRlX2l0ZXIgaW5jbHVkZS9saW51eC9mcy5oOjE4NjYgW2lubGluZV0KIG5ld19zeW5j X3dyaXRlKzB4NGM3LzB4NzYwIGZzL3JlYWRfd3JpdGUuYzo0NzQKIF9fdmZzX3dyaXRlKzB4ZTQv MHgxMTAgZnMvcmVhZF93cml0ZS5jOjQ4NwogdmZzX3dyaXRlKzB4MjBjLzB4NTgwIGZzL3JlYWRf d3JpdGUuYzo1NDkKIGtzeXNfd3JpdGUrMHgxNGYvMHgyZDAgZnMvcmVhZF93cml0ZS5jOjU5OQog X19kb19zeXNfd3JpdGUgZnMvcmVhZF93cml0ZS5jOjYxMSBbaW5saW5lXQogX19zZV9zeXNfd3Jp dGUgZnMvcmVhZF93cml0ZS5jOjYwOCBbaW5saW5lXQogX194NjRfc3lzX3dyaXRlKzB4NzMvMHhi MCBmcy9yZWFkX3dyaXRlLmM6NjA4CiBkb19zeXNjYWxsXzY0KzB4MTAzLzB4NjEwIGFyY2gveDg2 L2VudHJ5L2NvbW1vbi5jOjI5MAogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkv MHhiZQpSSVA6IDAwMzM6MHg0NThjMjkKQ29kZTogYWQgYjggZmIgZmYgYzMgNjYgMmUgMGYgMWYg ODQgMDAgMDAgMDAgMDAgMDAgNjYgOTAgNDggODkgZjggNDggODkgZjcgNDggODkgZDYgNDggODkg Y2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIgNGMgMjQgMDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBm ZiBmZiAwZiA4MyA3YiBiOCBmYiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMApSU1A6 IDAwMmI6MDAwMDdmMjkzYjQ0YmM3OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAw MDAwMDAwMDAxClJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMDMgUkNY OiAwMDAwMDAwMDAwNDU4YzI5ClJEWDogMDAwMDAwMDAwMDAwMDAxNCBSU0k6IDAwMDAwMDAwMjAw MDAyYzAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClJCUDogMDAwMDAwMDAwMDczYmYwMCBSMDg6IDAw MDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAw MCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwN2YyOTNiNDRjNmQ0ClIxMzogMDAwMDAw MDAwMDRjODYyMyBSMTQ6IDAwMDAwMDAwMDA0ZGVkNjggUjE1OiAwMDAwMDAwMGZmZmZmZmZmCgpU aGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRvIHRoZSBwYWdlOgpwYWdlOmZmZmZlYTAwMDI1YWFm YzAgY291bnQ6MCBtYXBjb3VudDowIG1hcHBpbmc6MDAwMDAwMDAwMDAwMDAwMCBpbmRleDoweDAK ZmxhZ3M6IDB4MWZmZmMwMDAwMDAwMDAwKCkKcmF3OiAwMWZmZmMwMDAwMDAwMDAwIDAwMDAwMDAw MDAwMDAwMDAgZmZmZmZmZmYwMjVhMDEwMSAwMDAwMDAwMDAwMDAwMDAwCnJhdzogMDAwMDAwMDAw MDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwZmZmZmZmZmYgMDAwMDAwMDAwMDAwMDAw MApwYWdlIGR1bXBlZCBiZWNhdXNlOiBrYXNhbjogYmFkIGFjY2VzcyBkZXRlY3RlZAoKTWVtb3J5 IHN0YXRlIGFyb3VuZCB0aGUgYnVnZ3kgYWRkcmVzczoKIGZmZmY4ODgwOTZhYmVmODA6IDAwIDAw IDAwIGYyIGYyIGYyIGYyIGYyIDAwIDAwIDAwIDAwIDAwIDAwIDAwIGYyCiBmZmZmODg4MDk2YWJm MDAwOiBmMiBmMiBmMiBmMiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAo+ZmZm Zjg4ODA5NmFiZjA4MDogMDAgMDAgZjMgZjMgZjMgZjMgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAKICAgICAgICAgICAgICAgICAgICAgICAgIF4KIGZmZmY4ODgwOTZhYmYxMDA6IDAwIDAw IDAwIDAwIGYxIGYxIGYxIGYxIDAwIDAwIGYzIGYzIDAwIDAwIDAwIDAwCiBmZmZmODg4MDk2YWJm MTgwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAoKRml4 ZXM6IGVkMGRlNDVhMTAwOCAoImlwdjQ6IHJlY29tcGlsZSBpcCBvcHRpb25zIGluIGlwdjRfbGlu a19mYWlsdXJlIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpDYzogU3RlcGhlbiBTdXJ5YXB1dHJhIDxzc3VyeWFleHRyQGdtYWlsLmNvbT4KQWNrZWQt Ynk6IFdpbGxlbSBkZSBCcnVpam4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRl LmMgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDIzIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQv cm91dGUuYyBiL25ldC9pcHY0L3JvdXRlLmMKaW5kZXggOThjODFjMjFiNzUzLi44YmFjYmNkMmRi OTAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3JvdXRlLmMKKysrIGIvbmV0L2lwdjQvcm91dGUuYwpA QCAtMTE4NSwyNSArMTE4NSwzOSBAQCBzdGF0aWMgc3RydWN0IGRzdF9lbnRyeSAqaXB2NF9kc3Rf Y2hlY2soc3RydWN0IGRzdF9lbnRyeSAqZHN0LCB1MzIgY29va2llKQogCXJldHVybiBkc3Q7CiB9 CiAKLXN0YXRpYyB2b2lkIGlwdjRfbGlua19mYWlsdXJlKHN0cnVjdCBza19idWZmICpza2IpCitz dGF0aWMgdm9pZCBpcHY0X3NlbmRfZGVzdF91bnJlYWNoKHN0cnVjdCBza19idWZmICpza2IpCiB7 CiAJc3RydWN0IGlwX29wdGlvbnMgb3B0OwotCXN0cnVjdCBydGFibGUgKnJ0OwogCWludCByZXM7 CiAKIAkvKiBSZWNvbXBpbGUgaXAgb3B0aW9ucyBzaW5jZSBJUENCIG1heSBub3QgYmUgdmFsaWQg YW55bW9yZS4KKwkgKiBBbHNvIGNoZWNrIHdlIGhhdmUgYSByZWFzb25hYmxlIGlwdjQgaGVhZGVy LgogCSAqLwotCW1lbXNldCgmb3B0LCAwLCBzaXplb2Yob3B0KSk7Ci0Jb3B0Lm9wdGxlbiA9IGlw X2hkcihza2IpLT5paGwqNCAtIHNpemVvZihzdHJ1Y3QgaXBoZHIpOworCWlmICghcHNrYl9uZXR3 b3JrX21heV9wdWxsKHNrYiwgc2l6ZW9mKHN0cnVjdCBpcGhkcikpIHx8CisJICAgIGlwX2hkcihz a2IpLT52ZXJzaW9uICE9IDQgfHwgaXBfaGRyKHNrYiktPmlobCA8IDUpCisJCXJldHVybjsKIAot CXJjdV9yZWFkX2xvY2soKTsKLQlyZXMgPSBfX2lwX29wdGlvbnNfY29tcGlsZShkZXZfbmV0KHNr Yi0+ZGV2KSwgJm9wdCwgc2tiLCBOVUxMKTsKLQlyY3VfcmVhZF91bmxvY2soKTsKKwltZW1zZXQo Jm9wdCwgMCwgc2l6ZW9mKG9wdCkpOworCWlmIChpcF9oZHIoc2tiKS0+aWhsID4gNSkgeworCQlp ZiAoIXBza2JfbmV0d29ya19tYXlfcHVsbChza2IsIGlwX2hkcihza2IpLT5paGwgKiA0KSkKKwkJ CXJldHVybjsKKwkJb3B0Lm9wdGxlbiA9IGlwX2hkcihza2IpLT5paGwgKiA0IC0gc2l6ZW9mKHN0 cnVjdCBpcGhkcik7CiAKLQlpZiAocmVzKQotCQlyZXR1cm47CisJCXJjdV9yZWFkX2xvY2soKTsK KwkJcmVzID0gX19pcF9vcHRpb25zX2NvbXBpbGUoZGV2X25ldChza2ItPmRldiksICZvcHQsIHNr YiwgTlVMTCk7CisJCXJjdV9yZWFkX3VubG9jaygpOwogCisJCWlmIChyZXMpCisJCQlyZXR1cm47 CisJfQogCV9faWNtcF9zZW5kKHNrYiwgSUNNUF9ERVNUX1VOUkVBQ0gsIElDTVBfSE9TVF9VTlJF QUNILCAwLCAmb3B0KTsKK30KKworc3RhdGljIHZvaWQgaXB2NF9saW5rX2ZhaWx1cmUoc3RydWN0 IHNrX2J1ZmYgKnNrYikKK3sKKwlzdHJ1Y3QgcnRhYmxlICpydDsKKworCWlwdjRfc2VuZF9kZXN0 X3VucmVhY2goc2tiKTsKIAogCXJ0ID0gc2tiX3J0YWJsZShza2IpOwogCWlmIChydCkKLS0gCjIu MjAuMQoKCkZyb20gYWZkYzIwZmMwZTIwYTVkNDMzNjdmM2Q5ZTQwM2JiYjVhMWE4YmU5OCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogWmhhbmdYaWFveHUgPHpoYW5neGlhb3h1NUBodWF3 ZWkuY29tPgpEYXRlOiBUdWUsIDE2IEFwciAyMDE5IDA5OjQ3OjI0ICswODAwClN1YmplY3Q6IFtQ QVRDSCAwMi8xOF0gaXB2NDogc2V0IHRoZSB0Y3BfbWluX3J0dF93bGVuIHJhbmdlIGZyb20gMCB0 byBvbmUgZGF5CgpbIFVwc3RyZWFtIGNvbW1pdCAxOWZhZDIwZDE1YTY0OTRmNDdmODVkODY5ZjAw YjExMzQzZWU1Yzc4IF0KClRoZXJlIGlzIGEgVUJTQU4gcmVwb3J0IGFzIGJlbG93OgpVQlNBTjog VW5kZWZpbmVkIGJlaGF2aW91ciBpbiBuZXQvaXB2NC90Y3BfaW5wdXQuYzoyODc3OjU2CnNpZ25l ZCBpbnRlZ2VyIG92ZXJmbG93OgoyMTQ3NDgzNjQ3ICogMTAwMCBjYW5ub3QgYmUgcmVwcmVzZW50 ZWQgaW4gdHlwZSAnaW50JwpDUFU6IDMgUElEOiAwIENvbW06IHN3YXBwZXIvMyBOb3QgdGFpbnRl ZCA1LjEuMC1yYzQtMDAwNTgtZzU4MjU0OWUgIzEKQ2FsbCBUcmFjZToKIDxJUlE+CiBkdW1wX3N0 YWNrKzB4OGMvMHhiYQogdWJzYW5fZXBpbG9ndWUrMHgxMS8weDYwCiBoYW5kbGVfb3ZlcmZsb3cr MHgxMmQvMHgxNzAKID8gdHR3dV9kb193YWtldXArMHgyMS8weDMyMAogX191YnNhbl9oYW5kbGVf bXVsX292ZXJmbG93KzB4MTIvMHgyMAogdGNwX2Fja191cGRhdGVfcnR0KzB4NzZjLzB4NzgwCiB0 Y3BfY2xlYW5fcnR4X3F1ZXVlKzB4NDk5LzB4MTRkMAogdGNwX2FjaysweDY5ZS8weDEyNDAKID8g X193YWtlX3VwX3N5bmNfa2V5KzB4MmMvMHg1MAogPyB1cGRhdGVfZ3JvdXBfY2FwYWNpdHkrMHg1 MC8weDY4MAogdGNwX3Jjdl9lc3RhYmxpc2hlZCsweDRlMi8weGUxMAogdGNwX3Y0X2RvX3Jjdisw eDIyYi8weDQyMAogdGNwX3Y0X3JjdisweGZlOC8weDExOTAKIGlwX3Byb3RvY29sX2RlbGl2ZXJf cmN1KzB4MzYvMHgxODAKIGlwX2xvY2FsX2RlbGl2ZXIrMHgxNWIvMHgxYTAKIGlwX3JjdisweGFj LzB4ZDAKIF9fbmV0aWZfcmVjZWl2ZV9za2Jfb25lX2NvcmUrMHg3Zi8weGIwCiBfX25ldGlmX3Jl Y2VpdmVfc2tiKzB4MzMvMHhjMAogbmV0aWZfcmVjZWl2ZV9za2JfaW50ZXJuYWwrMHg4NC8weDFj MAogbmFwaV9ncm9fcmVjZWl2ZSsweDJhMC8weDMwMAogcmVjZWl2ZV9idWYrMHgzZDQvMHgyMzUw CiA/IGRldGFjaF9idWZfc3BsaXQrMHgxNTkvMHgzOTAKIHZpcnRuZXRfcG9sbCsweDE5OC8weDg0 MAogPyByZXdlaWdodF9lbnRpdHkrMHgyNDMvMHg0YjAKIG5ldF9yeF9hY3Rpb24rMHgyNWMvMHg3 NzAKIF9fZG9fc29mdGlycSsweDE5Yi8weDY2ZAogaXJxX2V4aXQrMHgxZWIvMHgyMzAKIGRvX0lS USsweDdhLzB4MTUwCiBjb21tb25faW50ZXJydXB0KzB4Zi8weGYKIDwvSVJRPgoKSXQgY2FuIGJl IHJlcHJvZHVjZWQgYnk6CiAgZWNobyAyMTQ3NDgzNjQ3ID4gL3Byb2Mvc3lzL25ldC9pcHY0L3Rj cF9taW5fcnR0X3dsZW4KCkZpeGVzOiBmNjcyMjU4MzkxYjQyICgidGNwOiB0cmFjayBtaW4gUlRU IHVzaW5nIHdpbmRvd2VkIG1pbi1maWx0ZXIiKQpTaWduZWQtb2ZmLWJ5OiBaaGFuZ1hpYW94dSA8 emhhbmd4aWFveHU1QGh1YXdlaS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvaXAtc3lz Y3RsLnR4dCB8IDEgKwogbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMgICAgICAgICAgICAgfCA1 ICsrKystCiAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0IGIvRG9j dW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50eHQKaW5kZXggOTYwZGU4ZmUzZjQwLi4y YzMxMjA4NTI4ZDUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNj dGwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0CkBAIC00 MTAsNiArNDEwLDcgQEAgdGNwX21pbl9ydHRfd2xlbiAtIElOVEVHRVIKIAltaW5pbXVtIFJUVCB3 aGVuIGl0IGlzIG1vdmVkIHRvIGEgbG9uZ2VyIHBhdGggKGUuZy4sIGR1ZSB0byB0cmFmZmljCiAJ ZW5naW5lZXJpbmcpLiBBIGxvbmdlciB3aW5kb3cgbWFrZXMgdGhlIGZpbHRlciBtb3JlIHJlc2lz dGFudCB0byBSVFQKIAlpbmZsYXRpb25zIHN1Y2ggYXMgdHJhbnNpZW50IGNvbmdlc3Rpb24uIFRo ZSB1bml0IGlzIHNlY29uZHMuCisJUG9zc2libGUgdmFsdWVzOiAwIC0gODY0MDAgKDEgZGF5KQog CURlZmF1bHQ6IDMwMAogCiB0Y3BfbW9kZXJhdGVfcmN2YnVmIC0gQk9PTEVBTgpkaWZmIC0tZ2l0 IGEvbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMgYi9uZXQvaXB2NC9zeXNjdGxfbmV0X2lwdjQu YwppbmRleCA4OTFlZDJmOTE0NjcuLmNlNjQ0NTNkMzM3ZCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQv c3lzY3RsX25ldF9pcHY0LmMKKysrIGIvbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMKQEAgLTQ5 LDYgKzQ5LDcgQEAgc3RhdGljIGludCBpcF9waW5nX2dyb3VwX3JhbmdlX21pbltdID0geyAwLCAw IH07CiBzdGF0aWMgaW50IGlwX3BpbmdfZ3JvdXBfcmFuZ2VfbWF4W10gPSB7IEdJRF9UX01BWCwg R0lEX1RfTUFYIH07CiBzdGF0aWMgaW50IGNvbXBfc2Fja19ucl9tYXggPSAyNTU7CiBzdGF0aWMg dTMyIHUzMl9tYXhfZGl2X0haID0gVUlOVF9NQVggLyBIWjsKK3N0YXRpYyBpbnQgb25lX2RheV9z ZWNzID0gMjQgKiAzNjAwOwogCiAvKiBvYnNvbGV0ZSAqLwogc3RhdGljIGludCBzeXNjdGxfdGNw X2xvd19sYXRlbmN5IF9fcmVhZF9tb3N0bHk7CkBAIC0xMTQwLDcgKzExNDEsOSBAQCBzdGF0aWMg c3RydWN0IGN0bF90YWJsZSBpcHY0X25ldF90YWJsZVtdID0gewogCQkuZGF0YQkJPSAmaW5pdF9u ZXQuaXB2NC5zeXNjdGxfdGNwX21pbl9ydHRfd2xlbiwKIAkJLm1heGxlbgkJPSBzaXplb2YoaW50 KSwKIAkJLm1vZGUJCT0gMDY0NCwKLQkJLnByb2NfaGFuZGxlcgk9IHByb2NfZG9pbnR2ZWMKKwkJ LnByb2NfaGFuZGxlcgk9IHByb2NfZG9pbnR2ZWNfbWlubWF4LAorCQkuZXh0cmExCQk9ICZ6ZXJv LAorCQkuZXh0cmEyCQk9ICZvbmVfZGF5X3NlY3MKIAl9LAogCXsKIAkJLnByb2NuYW1lCT0gInRj cF9hdXRvY29ya2luZyIsCi0tIAoyLjIwLjEKCgpGcm9tIGJiNjJiYjZlZWZjOTQxYmIwMDJhMDc0 MDAyMzAwZDU5YWNmZjY2NTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFtaXQgQ29o ZW4gPGFtaXRjQG1lbGxhbm94LmNvbT4KRGF0ZTogVGh1LCAxOCBBcHIgMjAxOSAwNzoxNDoxNiAr MDAwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMThdIG1seHN3OiBzcGVjdHJ1bTogRml4IGF1dG9uZWcg c3RhdHVzIGluIGV0aHRvb2wKClsgVXBzdHJlYW0gY29tbWl0IDE1MWYwZGRkYmJmZTRjMzVjOWM1 YjY0ODczMTE1YWFmZDQzNmFmOWQgXQoKSWYgbGluayBpcyBkb3duIGFuZCBhdXRvbmVnIGlzIHNl dCB0byBvbi9vZmYsIHRoZSBzdGF0dXMgaW4gZXRodG9vbCBkb2VzCm5vdCBjaGFuZ2UuCgpUaGUg cmVhc29uIGlzIHdoZW4gdGhlIGxpbmsgaXMgZG93biB0aGUgZnVuY3Rpb24gcmV0dXJucyB3aXRo IHplcm8KYmVmb3JlIGNoYW5naW5nIGF1dG9uZWcgdmFsdWUuCgpNb3ZlIHRoZSBjaGVja2luZyBv ZiBsaW5rIHN0YXRlICh1cC9kb3duKSB0byBiZSBwZXJmb3JtZWQgYWZ0ZXIgc2V0dGluZwphdXRv bmVnIHZhbHVlLCBpbiBvcmRlciB0byBiZSBzdXJlIHRoYXQgYXV0b25lZyB3aWxsIGNoYW5nZSBp biBhbnkgY2FzZS4KCkZpeGVzOiA1NmFkZThmZTNmZTEgKCJtbHhzdzogc3BlY3RydW06IEFkZCBp bml0aWFsIHN1cHBvcnQgZm9yIFNwZWN0cnVtIEFTSUMiKQpTaWduZWQtb2ZmLWJ5OiBBbWl0IENv aGVuIDxhbWl0Y0BtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IElkbyBTY2hpbW1lbCA8aWRv c2NoQG1lbGxhbm94LmNvbT4KQWNrZWQtYnk6IEppcmkgUGlya28gPGppcmlAbWVsbGFub3guY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYyB8IDQgKyst LQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYwppbmRleCBmOWJl ZjAzMGVlMDUuLmIzNzlkNDIxOTQ4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHhzdy9zcGVjdHJ1bS5jCkBAIC0yNTA0LDExICsyNTA0LDExIEBAIG1seHN3X3NwX3Bv cnRfc2V0X2xpbmtfa3NldHRpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJaWYgKGVycikK IAkJcmV0dXJuIGVycjsKIAorCW1seHN3X3NwX3BvcnQtPmxpbmsuYXV0b25lZyA9IGF1dG9uZWc7 CisKIAlpZiAoIW5ldGlmX3J1bm5pbmcoZGV2KSkKIAkJcmV0dXJuIDA7CiAKLQltbHhzd19zcF9w b3J0LT5saW5rLmF1dG9uZWcgPSBhdXRvbmVnOwotCiAJbWx4c3dfc3BfcG9ydF9hZG1pbl9zdGF0 dXNfc2V0KG1seHN3X3NwX3BvcnQsIGZhbHNlKTsKIAltbHhzd19zcF9wb3J0X2FkbWluX3N0YXR1 c19zZXQobWx4c3dfc3BfcG9ydCwgdHJ1ZSk7CiAKLS0gCjIuMjAuMQoKCkZyb20gMmUxMGY5MGNk YjIyMjQ2NWZiYWEzZDhlMjI3ZmU2M2I3ZTkwYjNlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogRXJleiBBbGZhc2kgPGVyZXphQG1lbGxhbm94LmNvbT4KRGF0ZTogVGh1LCAxMSBBcHIg MjAxOSAxMDo0MTowMyArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMThdIG5ldC9tbHg1ZTogZXRo dG9vbCwgUmVtb3ZlIHVuc3VwcG9ydGVkIFNGUCBFRVBST00gaGlnaAogcGFnZXMgcXVlcnkKClsg VXBzdHJlYW0gY29tbWl0IGFjZTMyOWY0YWIzYmE0MzRiZTJhZGY2MTgwNzNjNzUyZDA4M2I1MjQg XQoKUXVlcnlpbmcgRUVQUk9NIGhpZ2ggcGFnZXMgZGF0YSBmb3IgU0ZQIG1vZHVsZSBpcyBjdXJy ZW50bHkKbm90IHN1cHBvcnRlZCBieSBvdXIgZHJpdmVyIGFuZCB5ZXQgcXVlcmllZCwgcmVzdWx0 aW5nIGluCmludmFsaWQgRlcgcXVlcmllcy4KClNldCB0aGUgRUVQUk9NIGV0aHRvb2wgZGF0YSBs ZW5ndGggdG8gMjU2IGZvciBTRlAgbW9kdWxlIHdpbGwKbGltaXQgdGhlIHJlYWRpbmcgZm9yIHBh Z2UgMCBvbmx5IGFuZCBwcmV2ZW50IGludmFsaWQgRlcgcXVlcmllcy4KCkZpeGVzOiBiYjY0MTQz ZWVlOGMgKCJuZXQvbWx4NWU6IEFkZCBldGh0b29sIHN1cHBvcnQgZm9yIGR1bXAgbW9kdWxlIEVF UFJPTSIpClNpZ25lZC1vZmYtYnk6IEVyZXogQWxmYXNpIDxlcmV6YUBtZWxsYW5veC5jb20+ClNp Z25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9ldGh0b29sLmMgfCAyICst CiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvcG9ydC5jICAgICAgIHwg NCAtLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA1IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9l dGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fZXRo dG9vbC5jCmluZGV4IDVlNTQyMzA3NmIwMy4uOWNhNGY4OGQ3Y2Y2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fZXRodG9vbC5jCisrKyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9ldGh0b29sLmMKQEAgLTEz MTcsNyArMTMxNyw3IEBAIHN0YXRpYyBpbnQgbWx4NWVfZ2V0X21vZHVsZV9pbmZvKHN0cnVjdCBu ZXRfZGV2aWNlICpuZXRkZXYsCiAJCWJyZWFrOwogCWNhc2UgTUxYNV9NT0RVTEVfSURfU0ZQOgog CQltb2RpbmZvLT50eXBlICAgICAgID0gRVRIX01PRFVMRV9TRkZfODQ3MjsKLQkJbW9kaW5mby0+ ZWVwcm9tX2xlbiA9IEVUSF9NT0RVTEVfU0ZGXzg0NzJfTEVOOworCQltb2RpbmZvLT5lZXByb21f bGVuID0gTUxYNV9FRVBST01fUEFHRV9MRU5HVEg7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCW5l dGRldl9lcnIocHJpdi0+bmV0ZGV2LCAiJXM6IGNhYmxlIHR5cGUgbm90IHJlY29nbml6ZWQ6MHgl eFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9wb3J0LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvcG9ydC5j CmluZGV4IDMxYTljYmQ4NTY4OS4uMDliNmIxYmZiZmE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvcG9ydC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9wb3J0LmMKQEAgLTQwNCwxMCArNDA0LDYgQEAgaW50 IG1seDVfcXVlcnlfbW9kdWxlX2VlcHJvbShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LAogCQlz aXplIC09IG9mZnNldCArIHNpemUgLSBNTFg1X0VFUFJPTV9QQUdFX0xFTkdUSDsKIAogCWkyY19h ZGRyID0gTUxYNV9JMkNfQUREUl9MT1c7Ci0JaWYgKG9mZnNldCA+PSBNTFg1X0VFUFJPTV9QQUdF X0xFTkdUSCkgewotCQlpMmNfYWRkciA9IE1MWDVfSTJDX0FERFJfSElHSDsKLQkJb2Zmc2V0IC09 IE1MWDVfRUVQUk9NX1BBR0VfTEVOR1RIOwotCX0KIAogCU1MWDVfU0VUKG1jaWFfcmVnLCBpbiwg bCwgMCk7CiAJTUxYNV9TRVQobWNpYV9yZWcsIGluLCBtb2R1bGUsIG1vZHVsZV9udW0pOwotLSAK Mi4yMC4xCgoKRnJvbSAxZDU0MjhjZDZhOTc0ZDk5YWQwYTYzOTAyYTc4MmIzOTk3YWNlMTI5IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBaaHUgWWFuanVuIDx5YW5qdW4uemh1QG9yYWNs ZS5jb20+CkRhdGU6IFdlZCwgMjQgQXByIDIwMTkgMDI6NTY6NDIgLTA0MDAKU3ViamVjdDogW1BB VENIIDA1LzE4XSBuZXQ6IHJkczogZXhjaGFuZ2Ugb2YgOEsgYW5kIDFNIHBvb2wKClsgVXBzdHJl YW0gY29tbWl0IDRiOWZjNzE0NjI0OWE2ZTBlMzE3NWQwYWNjMDMzZmRjZDJiZmNiMTcgXQoKQmVm b3JlIHRoZSBjb21taXQgNDkwZWE1OTY3YjBkICgiUkRTOiBJQjogbW92ZSBGTVIgY29kZSB0byBp dHMgb3duIGZpbGUiKSwKd2hlbiB0aGUgZGlydHlfY291bnQgaXMgZ3JlYXRlciB0aGFuIDkvMTAg b2YgbWF4X2l0ZW1zIG9mIDhLIHBvb2wsCjFNIHBvb2wgaXMgdXNlZCwgVmljZSB2ZXJzYS4gQWZ0 ZXIgdGhlIGNvbW1pdCA0OTBlYTU5NjdiMGQgKCJSRFM6IElCOiBtb3ZlCkZNUiBjb2RlIHRvIGl0 cyBvd24gZmlsZSIpLCB0aGUgYWJvdmUgaXMgcmVtb3ZlZC4gV2hlbiB3ZSBtYWtlIHRoZQpmb2xs b3dpbmcgdGVzdHMuCgpTZXJ2ZXI6CiAgcmRzLXN0cmVzcyAtciAxLjEuMS4xNiAtRCAxTQoKQ2xp ZW50OgogIHJkcy1zdHJlc3MgLXIgMS4xLjEuMTQgLXMgMS4xLjEuMTYgLUQgMU0KClRoZSBmb2xs b3dpbmcgd2lsbCBhcHBlYXIuCiIKY29ubmVjdGluZyB0byAxLjEuMS4xNjo0MDAwCm5lZ290aWF0 ZWQgb3B0aW9ucywgdGFza3Mgd2lsbCBzdGFydCBpbiAyIHNlY29uZHMKU3RhcnRpbmcgdXAuLmhl YWRlciBmcm9tIDEuMS4xLjE2Njo0MDAxIHRvIGlkIDQwMDEgYm9ndXMKLi4KdHNrcyAgdHgvcyAg cngvcyB0eCtyeCBLL3MgIG1iaSBLL3MgIG1ibyBLL3MgdHggdXMvYyAgcnR0IHVzCmNwdSAlCiAg IDEgICAgMCAgICAwICAgICAwLjAwICAgICAwLjAwICAgICAwLjAwICAgIDAuMDAgMC4wMCAtMS4w MAogICAxICAgIDAgICAgMCAgICAgMC4wMCAgICAgMC4wMCAgICAgMC4wMCAgICAwLjAwIDAuMDAg LTEuMDAKICAgMSAgICAwICAgIDAgICAgIDAuMDAgICAgIDAuMDAgICAgIDAuMDAgICAgMC4wMCAw LjAwIC0xLjAwCiAgIDEgICAgMCAgICAwICAgICAwLjAwICAgICAwLjAwICAgICAwLjAwICAgIDAu MDAgMC4wMCAtMS4wMAogICAxICAgIDAgICAgMCAgICAgMC4wMCAgICAgMC4wMCAgICAgMC4wMCAg ICAwLjAwIDAuMDAgLTEuMDAKLi4uCiIKU28gdGhpcyBleGNoYW5nZSBiZXR3ZWVuIDhLIGFuZCAx TSBwb29sIGlzIGFkZGVkIGJhY2suCgpGaXhlczogY29tbWl0IDQ5MGVhNTk2N2IwZCAoIlJEUzog SUI6IG1vdmUgRk1SIGNvZGUgdG8gaXRzIG93biBmaWxlIikKU2lnbmVkLW9mZi1ieTogWmh1IFlh bmp1biA8eWFuanVuLnpodUBvcmFjbGUuY29tPgpBY2tlZC1ieTogU2FudG9zaCBTaGlsaW1rYXIg PHNhbnRvc2guc2hpbGlta2FyQG9yYWNsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvcmRzL2liX2Ztci5jICB8IDExICsr KysrKysrKysrCiBuZXQvcmRzL2liX3JkbWEuYyB8ICAzIC0tLQogMiBmaWxlcyBjaGFuZ2VkLCAx MSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9yZHMvaWJf Zm1yLmMgYi9uZXQvcmRzL2liX2Ztci5jCmluZGV4IGUwZjcwYzQwNTFiNi4uMDFlNzY0ZjhmMjI0 IDEwMDY0NAotLS0gYS9uZXQvcmRzL2liX2Ztci5jCisrKyBiL25ldC9yZHMvaWJfZm1yLmMKQEAg LTQ0LDYgKzQ0LDE3IEBAIHN0cnVjdCByZHNfaWJfbXIgKnJkc19pYl9hbGxvY19mbXIoc3RydWN0 IHJkc19pYl9kZXZpY2UgKnJkc19pYmRldiwgaW50IG5wYWdlcykKIAllbHNlCiAJCXBvb2wgPSBy ZHNfaWJkZXYtPm1yXzFtX3Bvb2w7CiAKKwlpZiAoYXRvbWljX3JlYWQoJnBvb2wtPmRpcnR5X2Nv dW50KSA+PSBwb29sLT5tYXhfaXRlbXMgLyAxMCkKKwkJcXVldWVfZGVsYXllZF93b3JrKHJkc19p Yl9tcl93cSwgJnBvb2wtPmZsdXNoX3dvcmtlciwgMTApOworCisJLyogU3dpdGNoIHBvb2xzIGlm IG9uZSBvZiB0aGUgcG9vbCBpcyByZWFjaGluZyB1cHBlciBsaW1pdCAqLworCWlmIChhdG9taWNf cmVhZCgmcG9vbC0+ZGlydHlfY291bnQpID49ICBwb29sLT5tYXhfaXRlbXMgKiA5IC8gMTApIHsK KwkJaWYgKHBvb2wtPnBvb2xfdHlwZSA9PSBSRFNfSUJfTVJfOEtfUE9PTCkKKwkJCXBvb2wgPSBy ZHNfaWJkZXYtPm1yXzFtX3Bvb2w7CisJCWVsc2UKKwkJCXBvb2wgPSByZHNfaWJkZXYtPm1yXzhr X3Bvb2w7CisJfQorCiAJaWJtciA9IHJkc19pYl90cnlfcmV1c2VfaWJtcihwb29sKTsKIAlpZiAo aWJtcikKIAkJcmV0dXJuIGlibXI7CmRpZmYgLS1naXQgYS9uZXQvcmRzL2liX3JkbWEuYyBiL25l dC9yZHMvaWJfcmRtYS5jCmluZGV4IDYzYzhkMTA3YWRjZi4uZDY2NGU5YWRlNzRkIDEwMDY0NAot LS0gYS9uZXQvcmRzL2liX3JkbWEuYworKysgYi9uZXQvcmRzL2liX3JkbWEuYwpAQCAtNDU0LDkg KzQ1NCw2IEBAIHN0cnVjdCByZHNfaWJfbXIgKnJkc19pYl90cnlfcmV1c2VfaWJtcihzdHJ1Y3Qg cmRzX2liX21yX3Bvb2wgKnBvb2wpCiAJc3RydWN0IHJkc19pYl9tciAqaWJtciA9IE5VTEw7CiAJ aW50IGl0ZXIgPSAwOwogCi0JaWYgKGF0b21pY19yZWFkKCZwb29sLT5kaXJ0eV9jb3VudCkgPj0g cG9vbC0+bWF4X2l0ZW1zX3NvZnQgLyAxMCkKLQkJcXVldWVfZGVsYXllZF93b3JrKHJkc19pYl9t cl93cSwgJnBvb2wtPmZsdXNoX3dvcmtlciwgMTApOwotCiAJd2hpbGUgKDEpIHsKIAkJaWJtciA9 IHJkc19pYl9yZXVzZV9tcihwb29sKTsKIAkJaWYgKGlibXIpCi0tIAoyLjIwLjEKCgpGcm9tIGQw MzI1YmI0Nzg3ZGRkNzYzOWZhODQxMjMzYzQ5YWVjNjAxZTM4NDEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogV2Vk LCAyNCBBcHIgMjAxOSAwNTozNTowMCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMThdIG5ldC9y b3NlOiBmaXggdW5ib3VuZCBsb29wIGluIHJvc2VfbG9vcGJhY2tfdGltZXIoKQoKWyBVcHN0cmVh bSBjb21taXQgMDQ1M2M2ODI0NTk1ODM5MTBkNjExYTk2ZGU5MjhmNDQ0MjIwNTQ5MyBdCgpUaGlz IHBhdGNoIGFkZHMgYSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHNrYnMgdGhhdCBmdXp6ZXJzIGNh biBxdWV1ZQppbnRvIGxvb3BiYWNrX3F1ZXVlLiAxMDAwIHBhY2tldHMgZm9yIHJvc2UgbG9vcGJh Y2sgc2VlbXMgbW9yZSB0aGFuIGVub3VnaC4KClRoZW4sIHNpbmNlIHdlIG5vdyBoYXZlIG11bHRp cGxlIGNwdXMgaW4gbW9zdCBsaW51eCBob3N0cywKd2UgYWxzbyBuZWVkIHRvIGxpbWl0IHRoZSBu dW1iZXIgb2Ygc2ticyByb3NlX2xvb3BiYWNrX3RpbWVyKCkKY2FuIGRlcXVldWUgYXQgZWFjaCBy b3VuZC4KCnJvc2VfbG9vcGJhY2tfcXVldWUoKSBjYW4gYmUgZHJvcC1tb25pdG9yIGZyaWVuZGx5 LCBjYWxsaW5nCmNvbnN1bWVfc2tiKCkgb3Iga2ZyZWVfc2tiKCkgYXBwcm9wcmlhdGVseS4KCkZp bmFsbHksIHVzZSBtb2RfdGltZXIoKSBpbnN0ZWFkIG9mIGRlbF90aW1lcigpICsgYWRkX3RpbWVy KCkKCnN5emJvdCByZXBvcnQgd2FzIDoKCnJjdTogSU5GTzogcmN1X3ByZWVtcHQgc2VsZi1kZXRl Y3RlZCBzdGFsbCBvbiBDUFUKcmN1OiAgICAwLS4uLiE6ICgxMDQ5OSB0aWNrcyB0aGlzIEdQKSBp ZGxlPTUzNi8xLzB4NDAwMDAwMDAwMDAwMDAwMiBzb2Z0aXJxPTEwMzI5MS8xMDMyOTEgZnFzPTM0 CnJjdTogICAgICh0PTEwNTAwIGppZmZpZXMgZz0xNDAzMjEgcT0zMjMpCnJjdTogcmN1X3ByZWVt cHQga3RocmVhZCBzdGFydmVkIGZvciAxMDQyNiBqaWZmaWVzISBnMTQwMzIxIGYweDAgUkNVX0dQ X1dBSVRfRlFTKDUpIC0+c3RhdGU9MHg0MDIgLT5jcHU9MQpyY3U6IFJDVSBncmFjZS1wZXJpb2Qg a3RocmVhZCBzdGFjayBkdW1wOgpyY3VfcHJlZW1wdCAgICAgSTI5MTY4ICAgIDEwICAgICAgMiAw eDgwMDAwMDAwCkNhbGwgVHJhY2U6CiBjb250ZXh0X3N3aXRjaCBrZXJuZWwvc2NoZWQvY29yZS5j OjI4NzcgW2lubGluZV0KIF9fc2NoZWR1bGUrMHg4MTMvMHgxY2MwIGtlcm5lbC9zY2hlZC9jb3Jl LmM6MzUxOAogc2NoZWR1bGUrMHg5Mi8weDE4MCBrZXJuZWwvc2NoZWQvY29yZS5jOjM1NjIKIHNj aGVkdWxlX3RpbWVvdXQrMHg0ZGIvMHhmZDAga2VybmVsL3RpbWUvdGltZXIuYzoxODAzCiByY3Vf Z3BfZnFzX2xvb3Aga2VybmVsL3JjdS90cmVlLmM6MTk3MSBbaW5saW5lXQogcmN1X2dwX2t0aHJl YWQrMHg5NjIvMHgxN2IwIGtlcm5lbC9yY3UvdHJlZS5jOjIxMjgKIGt0aHJlYWQrMHgzNTcvMHg0 MzAga2VybmVsL2t0aHJlYWQuYzoyNTMKIHJldF9mcm9tX2ZvcmsrMHgzYS8weDUwIGFyY2gveDg2 L2VudHJ5L2VudHJ5XzY0LlM6MzUyCk5NSSBiYWNrdHJhY2UgZm9yIGNwdSAwCkNQVTogMCBQSUQ6 IDc2MzIgQ29tbToga3dvcmtlci8wOjQgTm90IHRhaW50ZWQgNS4xLjAtcmM1KyAjMTcyCkhhcmR3 YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5n aW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCldvcmtxdWV1ZTogZXZlbnRzIGl0ZXJhdGVfY2xl YW51cF93b3JrCkNhbGwgVHJhY2U6CiA8SVJRPgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNr LmM6NzcgW2lubGluZV0KIGR1bXBfc3RhY2srMHgxNzIvMHgxZjAgbGliL2R1bXBfc3RhY2suYzox MTMKIG5taV9jcHVfYmFja3RyYWNlLmNvbGQrMHg2My8weGE0IGxpYi9ubWlfYmFja3RyYWNlLmM6 MTAxCiBubWlfdHJpZ2dlcl9jcHVtYXNrX2JhY2t0cmFjZSsweDFiZS8weDIzNiBsaWIvbm1pX2Jh Y2t0cmFjZS5jOjYyCiBhcmNoX3RyaWdnZXJfY3B1bWFza19iYWNrdHJhY2UrMHgxNC8weDIwIGFy Y2gveDg2L2tlcm5lbC9hcGljL2h3X25taS5jOjM4CiB0cmlnZ2VyX3NpbmdsZV9jcHVfYmFja3Ry YWNlIGluY2x1ZGUvbGludXgvbm1pLmg6MTY0IFtpbmxpbmVdCiByY3VfZHVtcF9jcHVfc3RhY2tz KzB4MTgzLzB4MWNmIGtlcm5lbC9yY3UvdHJlZS5jOjEyMjMKIHByaW50X2NwdV9zdGFsbCBrZXJu ZWwvcmN1L3RyZWUuYzoxMzYwIFtpbmxpbmVdCiBjaGVja19jcHVfc3RhbGwga2VybmVsL3JjdS90 cmVlLmM6MTQzNCBbaW5saW5lXQogcmN1X3BlbmRpbmcga2VybmVsL3JjdS90cmVlLmM6MzEwMyBb aW5saW5lXQogcmN1X3NjaGVkX2Nsb2NrX2lycS5jb2xkKzB4NTAwLzB4YTRhIGtlcm5lbC9yY3Uv dHJlZS5jOjI1NDQKIHVwZGF0ZV9wcm9jZXNzX3RpbWVzKzB4MzIvMHg4MCBrZXJuZWwvdGltZS90 aW1lci5jOjE2MzUKIHRpY2tfc2NoZWRfaGFuZGxlKzB4YTIvMHgxOTAga2VybmVsL3RpbWUvdGlj ay1zY2hlZC5jOjE2MQogdGlja19zY2hlZF90aW1lcisweDQ3LzB4MTMwIGtlcm5lbC90aW1lL3Rp Y2stc2NoZWQuYzoxMjcxCiBfX3J1bl9ocnRpbWVyIGtlcm5lbC90aW1lL2hydGltZXIuYzoxMzg5 IFtpbmxpbmVdCiBfX2hydGltZXJfcnVuX3F1ZXVlcysweDMzZS8weGRlMCBrZXJuZWwvdGltZS9o cnRpbWVyLmM6MTQ1MQogaHJ0aW1lcl9pbnRlcnJ1cHQrMHgzMTQvMHg3NzAga2VybmVsL3RpbWUv aHJ0aW1lci5jOjE1MDkKIGxvY2FsX2FwaWNfdGltZXJfaW50ZXJydXB0IGFyY2gveDg2L2tlcm5l bC9hcGljL2FwaWMuYzoxMDM1IFtpbmxpbmVdCiBzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQrMHgx MjAvMHg1NzAgYXJjaC94ODYva2VybmVsL2FwaWMvYXBpYy5jOjEwNjAKIGFwaWNfdGltZXJfaW50 ZXJydXB0KzB4Zi8weDIwIGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlM6ODA3ClJJUDogMDAxMDpf X3Nhbml0aXplcl9jb3ZfdHJhY2VfcGMrMHgwLzB4NTAga2VybmVsL2tjb3YuYzo5NQpDb2RlOiA4 OSAyNSBiNCA2ZSBlYyAwOCA0MSBiYyBmNCBmZiBmZiBmZiBlOCBjZCA1ZCBlYSBmZiA0OCBjNyAw NSA5ZSA2ZSBlYyAwOCAwMCAwMCAwMCAwMCBlOSBhNCBlOSBmZiBmZiA5MCA5MCA5MCA5MCA5MCA5 MCA5MCA5MCA5MCA8NTU+IDQ4IDg5IGU1IDQ4IDhiIDc1IDA4IDY1IDQ4IDhiIDA0IDI1IDAwIGVl IDAxIDAwIDY1IDhiIDE1IGM4IDYwClJTUDogMDAxODpmZmZmODg4MGFlODA3Y2UwIEVGTEFHUzog MDAwMDAyODYgT1JJR19SQVg6IGZmZmZmZmZmZmZmZmZmMTMKUkFYOiBmZmZmODg4MDZmZDQwNjQw IFJCWDogZGZmZmZjMDAwMDAwMDAwMCBSQ1g6IGZmZmZmZmZmODYzZmJjNTYKUkRYOiAwMDAwMDAw MDAwMDAwMTAwIFJTSTogZmZmZmZmZmY4NjNmYmMxZCBSREk6IGZmZmY4ODgwOGNmOTQyMjgKUkJQ OiBmZmZmODg4MGFlODA3ZDEwIFIwODogZmZmZjg4ODA2ZmQ0MDY0MCBSMDk6IGZmZmZlZDEwMTVk MDBmOGIKUjEwOiBmZmZmZWQxMDE1ZDAwZjhhIFIxMTogMDAwMDAwMDAwMDAwMDAwMyBSMTI6IGZm ZmY4ODgwOGNmOTQxYzAKUjEzOiAwMDAwMDAwMGZmZmZmMDM0IFIxNDogZmZmZjg4ODIxNjZjZDg0 MCBSMTU6IDAwMDAwMDAwMDAwMDAwMDAKIHJvc2VfbG9vcGJhY2tfdGltZXIrMHgzMGQvMHgzZjAg bmV0L3Jvc2Uvcm9zZV9sb29wYmFjay5jOjkxCiBjYWxsX3RpbWVyX2ZuKzB4MTkwLzB4NzIwIGtl cm5lbC90aW1lL3RpbWVyLmM6MTMyNQogZXhwaXJlX3RpbWVycyBrZXJuZWwvdGltZS90aW1lci5j OjEzNjIgW2lubGluZV0KIF9fcnVuX3RpbWVycyBrZXJuZWwvdGltZS90aW1lci5jOjE2ODEgW2lu bGluZV0KIF9fcnVuX3RpbWVycyBrZXJuZWwvdGltZS90aW1lci5jOjE2NDkgW2lubGluZV0KIHJ1 bl90aW1lcl9zb2Z0aXJxKzB4NjUyLzB4MTcwMCBrZXJuZWwvdGltZS90aW1lci5jOjE2OTQKIF9f ZG9fc29mdGlycSsweDI2Ni8weDk1YSBrZXJuZWwvc29mdGlycS5jOjI5MwogZG9fc29mdGlycV9v d25fc3RhY2srMHgyYS8weDQwIGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlM6MTAyNwoKRml4ZXM6 IDFkYTE3N2U0YzNmNCAoIkxpbnV4LTIuNi4xMi1yYzIiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1 bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxl ckBnb29nbGVncm91cHMuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Jvc2Uvcm9zZV9sb29wYmFjay5jIHwgMjcgKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Jvc2Uvcm9zZV9sb29wYmFjay5jIGIv bmV0L3Jvc2Uvcm9zZV9sb29wYmFjay5jCmluZGV4IDdhZjRmOTljNGE5My4uMDk0YTY2MjFmOGU4 IDEwMDY0NAotLS0gYS9uZXQvcm9zZS9yb3NlX2xvb3BiYWNrLmMKKysrIGIvbmV0L3Jvc2Uvcm9z ZV9sb29wYmFjay5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgog CiBzdGF0aWMgc3RydWN0IHNrX2J1ZmZfaGVhZCBsb29wYmFja19xdWV1ZTsKKyNkZWZpbmUgUk9T RV9MT09QQkFDS19MSU1JVCAxMDAwCiBzdGF0aWMgc3RydWN0IHRpbWVyX2xpc3QgbG9vcGJhY2tf dGltZXI7CiAKIHN0YXRpYyB2b2lkIHJvc2Vfc2V0X2xvb3BiYWNrX3RpbWVyKHZvaWQpOwpAQCAt MzUsMjkgKzM2LDI3IEBAIHN0YXRpYyBpbnQgcm9zZV9sb29wYmFja19ydW5uaW5nKHZvaWQpCiAK IGludCByb3NlX2xvb3BiYWNrX3F1ZXVlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCByb3Nl X25laWdoICpuZWlnaCkKIHsKLQlzdHJ1Y3Qgc2tfYnVmZiAqc2tibjsKKwlzdHJ1Y3Qgc2tfYnVm ZiAqc2tibiA9IE5VTEw7CiAKLQlza2JuID0gc2tiX2Nsb25lKHNrYiwgR0ZQX0FUT01JQyk7CisJ aWYgKHNrYl9xdWV1ZV9sZW4oJmxvb3BiYWNrX3F1ZXVlKSA8IFJPU0VfTE9PUEJBQ0tfTElNSVQp CisJCXNrYm4gPSBza2JfY2xvbmUoc2tiLCBHRlBfQVRPTUlDKTsKIAotCWtmcmVlX3NrYihza2Ip OwotCi0JaWYgKHNrYm4gIT0gTlVMTCkgeworCWlmIChza2JuKSB7CisJCWNvbnN1bWVfc2tiKHNr Yik7CiAJCXNrYl9xdWV1ZV90YWlsKCZsb29wYmFja19xdWV1ZSwgc2tibik7CiAKIAkJaWYgKCFy b3NlX2xvb3BiYWNrX3J1bm5pbmcoKSkKIAkJCXJvc2Vfc2V0X2xvb3BiYWNrX3RpbWVyKCk7CisJ fSBlbHNlIHsKKwkJa2ZyZWVfc2tiKHNrYik7CiAJfQogCiAJcmV0dXJuIDE7CiB9CiAKLQogc3Rh dGljIHZvaWQgcm9zZV9zZXRfbG9vcGJhY2tfdGltZXIodm9pZCkKIHsKLQlkZWxfdGltZXIoJmxv b3BiYWNrX3RpbWVyKTsKLQotCWxvb3BiYWNrX3RpbWVyLmV4cGlyZXMgID0gamlmZmllcyArIDEw OwotCWFkZF90aW1lcigmbG9vcGJhY2tfdGltZXIpOworCW1vZF90aW1lcigmbG9vcGJhY2tfdGlt ZXIsIGppZmZpZXMgKyAxMCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJvc2VfbG9vcGJhY2tfdGltZXIo c3RydWN0IHRpbWVyX2xpc3QgKnVudXNlZCkKQEAgLTY4LDggKzY3LDEyIEBAIHN0YXRpYyB2b2lk IHJvc2VfbG9vcGJhY2tfdGltZXIoc3RydWN0IHRpbWVyX2xpc3QgKnVudXNlZCkKIAlzdHJ1Y3Qg c29jayAqc2s7CiAJdW5zaWduZWQgc2hvcnQgZnJhbWV0eXBlOwogCXVuc2lnbmVkIGludCBsY2lf aSwgbGNpX287CisJaW50IGNvdW50OwogCi0Jd2hpbGUgKChza2IgPSBza2JfZGVxdWV1ZSgmbG9v cGJhY2tfcXVldWUpKSAhPSBOVUxMKSB7CisJZm9yIChjb3VudCA9IDA7IGNvdW50IDwgUk9TRV9M T09QQkFDS19MSU1JVDsgY291bnQrKykgeworCQlza2IgPSBza2JfZGVxdWV1ZSgmbG9vcGJhY2tf cXVldWUpOworCQlpZiAoIXNrYikKKwkJCXJldHVybjsKIAkJaWYgKHNrYi0+bGVuIDwgUk9TRV9N SU5fTEVOKSB7CiAJCQlrZnJlZV9za2Ioc2tiKTsKIAkJCWNvbnRpbnVlOwpAQCAtMTA2LDYgKzEw OSw4IEBAIHN0YXRpYyB2b2lkIHJvc2VfbG9vcGJhY2tfdGltZXIoc3RydWN0IHRpbWVyX2xpc3Qg KnVudXNlZCkKIAkJCWtmcmVlX3NrYihza2IpOwogCQl9CiAJfQorCWlmICghc2tiX3F1ZXVlX2Vt cHR5KCZsb29wYmFja19xdWV1ZSkpCisJCW1vZF90aW1lcigmbG9vcGJhY2tfdGltZXIsIGppZmZp ZXMgKyAxKTsKIH0KIAogdm9pZCBfX2V4aXQgcm9zZV9sb29wYmFja19jbGVhcih2b2lkKQotLSAK Mi4yMC4xCgoKRnJvbSBmYTdjMWI2ZTRhZDdlNzA0N2Q0YzIxMGI2ZmNkMWVlNGIyZGNlMDAzIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWaW5vZCBLb3VsIDx2a291bEBrZXJuZWwub3Jn PgpEYXRlOiBNb24sIDIyIEFwciAyMDE5IDE1OjE1OjMyICswNTMwClN1YmplY3Q6IFtQQVRDSCAw Ny8xOF0gbmV0OiBzdG1tYWM6IG1vdmUgc3RtbWFjX2NoZWNrX2V0aGVyX2FkZHIoKSB0byBkcml2 ZXIKIHByb2JlCgpbIFVwc3RyZWFtIGNvbW1pdCBiNTYxYWYzNmIxODQxMDg4NTUyNDY0Y2RjM2Y2 MzcxZDkyZjE3NzEwIF0KCnN0bW1hY19jaGVja19ldGhlcl9hZGRyKCkgY2hlY2tzIHRoZSBNQUMg YWRkcmVzcyBhbmQgYXNzaWducyBvbmUgaW4KZHJpdmVyIG9wZW4oKS4gSW4gbWFueSBjYXNlcyB3 aGVuIHdlIGNyZWF0ZSBzbGF2ZSBuZXRkZXZpY2UsIHRoZSBkZXYKYWRkciBpcyBpbmhlcml0ZWQg ZnJvbSBtYXN0ZXIgYnV0IHRoZSBtYXN0ZXIgZGV2IGFkZHIgbWF5YmUgTlVMTCBhdAp0aGF0IHRp bWUsIHNvIG1vdmUgdGhpcyBjYWxsIHRvIGRyaXZlciBwcm9iZSBzbyB0aGF0IGFkZHJlc3MgaXMK YWx3YXlzIHZhbGlkLgoKU2lnbmVkLW9mZi1ieTogWGlhb2ZlaSBTaGVuIDx4aWFvZmVpc0Bjb2Rl YXVyb3JhLm9yZz4KVGVzdGVkLWJ5OiBYaWFvZmVpIFNoZW4gPHhpYW9mZWlzQGNvZGVhdXJvcmEu b3JnPgpTaWduZWQtb2ZmLWJ5OiBTbmVoIFNoYWggPHNuZWhzaGFoQGNvZGVhdXJvcmEub3JnPgpT aWduZWQtb2ZmLWJ5OiBWaW5vZCBLb3VsIDx2a291bEBrZXJuZWwub3JnPgpSZXZpZXdlZC1ieTog QW5kcmV3IEx1bm4gPGFuZHJld0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNy by9zdG1tYWMvc3RtbWFjX21haW4uYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3Rt aWNyby9zdG1tYWMvc3RtbWFjX21haW4uYwppbmRleCA4ODYxNzZiZTgxOGUuLjYyNDYwYTViNGFk OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFj X21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNf bWFpbi5jCkBAIC0yNTk1LDggKzI1OTUsNiBAQCBzdGF0aWMgaW50IHN0bW1hY19vcGVuKHN0cnVj dCBuZXRfZGV2aWNlICpkZXYpCiAJdTMyIGNoYW47CiAJaW50IHJldDsKIAotCXN0bW1hY19jaGVj a19ldGhlcl9hZGRyKHByaXYpOwotCiAJaWYgKHByaXYtPmh3LT5wY3MgIT0gU1RNTUFDX1BDU19S R01JSSAmJgogCSAgICBwcml2LT5ody0+cGNzICE9IFNUTU1BQ19QQ1NfVEJJICYmCiAJICAgIHBy aXYtPmh3LT5wY3MgIT0gU1RNTUFDX1BDU19SVEJJKSB7CkBAIC00Mjk2LDYgKzQyOTQsOCBAQCBp bnQgc3RtbWFjX2R2cl9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsCiAJaWYgKHJldCkKIAkJ Z290byBlcnJvcl9od19pbml0OwogCisJc3RtbWFjX2NoZWNrX2V0aGVyX2FkZHIocHJpdik7CisK IAkvKiBDb25maWd1cmUgcmVhbCBSWCBhbmQgVFggcXVldWVzICovCiAJbmV0aWZfc2V0X3JlYWxf bnVtX3J4X3F1ZXVlcyhuZGV2LCBwcml2LT5wbGF0LT5yeF9xdWV1ZXNfdG9fdXNlKTsKIAluZXRp Zl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIHByaXYtPnBsYXQtPnR4X3F1ZXVlc190b191 c2UpOwotLSAKMi4yMC4xCgoKRnJvbSAxMDdkYTAyYjQ2MDg3ZmU1YWUwODc2YTUxNDYwZmE5OWEx ZGQ2MjVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYWt1YiBLaWNpbnNraSA8amFr dWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KRGF0ZTogV2VkLCAxNyBBcHIgMjAxOSAxMDo1MTox OSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMThdIG5ldC90bHM6IGZpeCByZWZjb3VudCBhZGp1 c3RtZW50IGluIGZhbGxiYWNrCgpbIFVwc3RyZWFtIGNvbW1pdCA5MTg4ZDVjYTQ1NGZkNjY1MTQ1 OTA0MjY3ZTcyNmU5ZThkMTIyZjVjIF0KClVubGlrZSBhdG9taWNfYWRkKCksIHJlZmNvdW50X2Fk ZCgpIGRvZXMgbm90IGRlYWwgd2VsbAp3aXRoIGEgbmVnYXRpdmUgYXJndW1lbnQuICBUTFMgZmFs bGJhY2sgY29kZSByZWFsbG9jYXRlcwp0aGUgc2tiIGFuZCBpcyB2ZXJ5IGxpa2VseSB0byBzaHJp bmsgdGhlIHRydWVzaXplLCBsZWFkaW5nIHRvOgoKWyAgMTg5LjUxMzI1NF0gV0FSTklORzogQ1BV OiA1IFBJRDogMCBhdCBsaWIvcmVmY291bnQuYzo4MSByZWZjb3VudF9hZGRfbm90X3plcm9fY2hl Y2tlZCsweDE1Yy8weDE4MAogQ2FsbCBUcmFjZToKICByZWZjb3VudF9hZGRfY2hlY2tlZCsweDYv MHg0MAogIHRsc19lbmNfc2tiKzB4YjkzLzB4MTNlMCBbdGxzXQoKT25jZSB3bWVtX2FsbG9jYXRl ZCBjb3VudCBzYXR1cmF0ZXMgdGhlIGFwcGxpY2F0aW9uIGNhbiBubyBsb25nZXIKc2VuZCBkYXRh IG9uIHRoZSBzb2NrZXQuICBUaGlzIGlzIHNpbWlsYXIgdG8gRXJpYydzIGZpeGVzIGZvciBHU08s ClRDUDoKY29tbWl0IDdlYzMxOGZlZWVkMSAoInRjcDogZ3NvOiBhdm9pZCByZWZjb3VudF90IHdh cm5pbmcgZnJvbSB0Y3BfZ3NvX3NlZ21lbnQoKSIpCmFuZCBVRFA6CmNvbW1pdCA1NzViNjViYzVi ZmYgKCJ1ZHA6IGF2b2lkIHJlZmNvdW50X3Qgc2F0dXJhdGlvbiBpbiBfX3VkcF9nc29fc2VnbWVu dCgpIikuCgpVbmxpa2UgdGhlIEdTTyBjYXNlLCBmb3IgVExTIGZhbGxiYWNrIGl0J3MgbGlrZWx5 IHRoYXQgdGhlIHNrYiBoYXMKc2hydW5rLCBzbyB0aGUgImxpa2VseSIgYW5ub3RhdGlvbiBpcyB0 aGUgb3RoZXIgd2F5IGFyb3VuZCAobGlrZWx5CmJyYW5jaCBiZWluZyAic3ViIikuCgpGaXhlczog ZThmNjk3OTk4MTBjICgibmV0L3RsczogQWRkIGdlbmVyaWMgTklDIG9mZmxvYWQgaW5mcmFzdHJ1 Y3R1cmUiKQpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0 cm9ub21lLmNvbT4KUmV2aWV3ZWQtYnk6IEpvaG4gSHVybGV5IDxqb2huLmh1cmxleUBuZXRyb25v bWUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L3Rscy90bHNfZGV2aWNlX2ZhbGxiYWNrLmMgfCAxMyArKysrKysrKysrLS0t CiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9uZXQvdGxzL3Rsc19kZXZpY2VfZmFsbGJhY2suYyBiL25ldC90bHMvdGxzX2Rldmlj ZV9mYWxsYmFjay5jCmluZGV4IDQ1MGE2ZGJjNWE4OC4uZWY4OTM0ZmQ4Njk4IDEwMDY0NAotLS0g YS9uZXQvdGxzL3Rsc19kZXZpY2VfZmFsbGJhY2suYworKysgYi9uZXQvdGxzL3Rsc19kZXZpY2Vf ZmFsbGJhY2suYwpAQCAtMTkzLDYgKzE5Myw5IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9jaGtzdW0o c3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IGhlYWRsbikKIAogc3RhdGljIHZvaWQgY29tcGxldGVf c2tiKHN0cnVjdCBza19idWZmICpuc2tiLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgaGVhZGxu KQogeworCXN0cnVjdCBzb2NrICpzayA9IHNrYi0+c2s7CisJaW50IGRlbHRhOworCiAJc2tiX2Nv cHlfaGVhZGVyKG5za2IsIHNrYik7CiAKIAlza2JfcHV0KG5za2IsIHNrYi0+bGVuKTsKQEAgLTIw MCwxMSArMjAzLDE1IEBAIHN0YXRpYyB2b2lkIGNvbXBsZXRlX3NrYihzdHJ1Y3Qgc2tfYnVmZiAq bnNrYiwgc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IGhlYWRsbikKIAl1cGRhdGVfY2hrc3VtKG5z a2IsIGhlYWRsbik7CiAKIAluc2tiLT5kZXN0cnVjdG9yID0gc2tiLT5kZXN0cnVjdG9yOwotCW5z a2ItPnNrID0gc2tiLT5zazsKKwluc2tiLT5zayA9IHNrOwogCXNrYi0+ZGVzdHJ1Y3RvciA9IE5V TEw7CiAJc2tiLT5zayA9IE5VTEw7Ci0JcmVmY291bnRfYWRkKG5za2ItPnRydWVzaXplIC0gc2ti LT50cnVlc2l6ZSwKLQkJICAgICAmbnNrYi0+c2stPnNrX3dtZW1fYWxsb2MpOworCisJZGVsdGEg PSBuc2tiLT50cnVlc2l6ZSAtIHNrYi0+dHJ1ZXNpemU7CisJaWYgKGxpa2VseShkZWx0YSA8IDAp KQorCQlXQVJOX09OX09OQ0UocmVmY291bnRfc3ViX2FuZF90ZXN0KC1kZWx0YSwgJnNrLT5za193 bWVtX2FsbG9jKSk7CisJZWxzZSBpZiAoZGVsdGEpCisJCXJlZmNvdW50X2FkZChkZWx0YSwgJnNr LT5za193bWVtX2FsbG9jKTsKIH0KIAogLyogVGhpcyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGFm dGVyIHRoZSB1c2VyIHNvY2tldCBpcyBhbHJlYWR5Ci0tIAoyLjIwLjEKCgpGcm9tIGY2NmIyMjBk ZmQxNmY2MmNiZmM2ZDA0MDJiYTRjMTY4ZmEyNmJiOTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFN1IEJhbyBDaGVuZyA8YmFvY2hlbmcuc3VAc2llbWVucy5jb20+CkRhdGU6IFRodSwg MTggQXByIDIwMTkgMTE6MTQ6NTYgKzAyMDAKU3ViamVjdDogW1BBVENIIDA5LzE4XSBzdG1tYWM6 IHBjaTogQWRqdXN0IElPVDIwMDAgbWF0Y2hpbmcKClsgVXBzdHJlYW0gY29tbWl0IGUwYzFkMTRh MWEzMjExZGNjZjA1NDBhNjcwM2ZmYmQ1ZDJhNzViZGIgXQoKU2luY2UgdGhlcmUgYXJlIG1vcmUg SU9UMjA0MCB2YXJpYW50cyB3aXRoIGlkZW50aWNhbCBoYXJkd2FyZSBidXQKZGlmZmVyZW50IGFz c2V0IHRhZ3MsIHRoZSBhc3NldCB0YWcgbWF0Y2hpbmcgc2hvdWxkIGJlIGFkanVzdGVkIHRvCnN1 cHBvcnQgdGhlbS4KCkZvciB0aGUgYm9hcmQgbmFtZSAiU0lNQVRJQyBJT1QyMDAwIiwgY3VycmVu dGx5IHRoZXJlIGFyZSAyIHR5cGVzIG9mCmhhcmR3YXJlLCBJT1QyMDIwIGFuZCBJT1QyMDQwLiBU aGUgSU9UMjAyMCBpcyBpZGVudGlmaWVkIGJ5IGl0cyB1bmlxdWUKYXNzZXQgdGFnLiBNYXRjaCBv biBpdCBmaXJzdC4gSWYgd2UgdGhlbiBtYXRjaCBvbiB0aGUgYm9hcmQgbmFtZSBvbmx5LAp3ZSB3 aWxsIGNhdGNoIGFsbCBJT1QyMDQwIHZhcmlhbnRzLiBJbiB0aGUgZnV0dXJlIHRoZXJlIHdpbGwg YmUgbm8gb3RoZXIKZGV2aWNlcyB3aXRoIHRoZSAiU0lNQVRJQyBJT1QyMDAwIiBETUkgYm9hcmQg bmFtZSBidXQgZGlmZmVyZW50CmhhcmR3YXJlLgoKU2lnbmVkLW9mZi1ieTogU3UgQmFvIENoZW5n IDxiYW9jaGVuZy5zdUBzaWVtZW5zLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBLaXN6a2EgPGphbi5r aXN6a2FAc2llbWVucy5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9z dG1tYWNfcGNpLmMgfCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWlj cm8vc3RtbWFjL3N0bW1hY19wY2kuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3Rt bWFjL3N0bW1hY19wY2kuYwppbmRleCBkODE5ZThlYWJhMTIuLmNjMWU4ODdlNDdiNSAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jCisr KyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYwpAQCAt MTU5LDYgKzE1OSwxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgcXVhcmtf cGNpX2RtaVtdID0gewogCQl9LAogCQkuZHJpdmVyX2RhdGEgPSAodm9pZCAqKSZnYWxpbGVvX3N0 bW1hY19kbWlfZGF0YSwKIAl9LAorCS8qCisJICogVGhlcmUgYXJlIDIgdHlwZXMgb2YgU0lNQVRJ QyBJT1QyMDAwOiBJT1QyMDIwMiBhbmQgSU9UMjA0MC4KKwkgKiBUaGUgYXNzZXQgdGFnICI2RVM3 NjQ3LTBBQTAwLTBZQTIiIGlzIG9ubHkgZm9yIElPVDIwMjAgd2hpY2gKKwkgKiBoYXMgb25seSBv bmUgcGNpIG5ldHdvcmsgZGV2aWNlIHdoaWxlIG90aGVyIGFzc2V0IHRhZ3MgYXJlCisJICogZm9y IElPVDIwNDAgd2hpY2ggaGFzIHR3by4KKwkgKi8KIAl7CiAJCS5tYXRjaGVzID0gewogCQkJRE1J X0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiU0lNQVRJQyBJT1QyMDAwIiksCkBAIC0xNzAs OCArMTc2LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIHF1YXJrX3BjaV9k bWlbXSA9IHsKIAl7CiAJCS5tYXRjaGVzID0gewogCQkJRE1JX0VYQUNUX01BVENIKERNSV9CT0FS RF9OQU1FLCAiU0lNQVRJQyBJT1QyMDAwIiksCi0JCQlETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJE X0FTU0VUX1RBRywKLQkJCQkJIjZFUzc2NDctMEFBMDAtMVlBMiIpLAogCQl9LAogCQkuZHJpdmVy X2RhdGEgPSAodm9pZCAqKSZpb3QyMDQwX3N0bW1hY19kbWlfZGF0YSwKIAl9LAotLSAKMi4yMC4x CgoKRnJvbSBiMTlmNTEzNGQwNDg4MTVkODliNWVkN2FmNTQzNTBjZjgyMDI5N2VjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTkgQXByIDIwMTkgMTQ6MzE6MDAgKzA4MDAKU3ViamVjdDogW1BBVENIIDEw LzE4XSB0ZWFtOiBmaXggcG9zc2libGUgcmVjdXJzaXZlIGxvY2tpbmcgd2hlbiBhZGQgc2xhdmVz CgpbIFVwc3RyZWFtIGNvbW1pdCA5MjViMGM4NDFlMDY2YjQ4OGNjM2E2MDI3MjQ3MmIyYzU2MzAw NzA0IF0KCklmIHdlIGFkZCBhIGJvbmQgZGV2aWNlIHdoaWNoIGlzIGFscmVhZHkgdGhlIG1hc3Rl ciBvZiB0aGUgdGVhbSBpbnRlcmZhY2UsCndlIHdpbGwgaG9sZCB0aGUgdGVhbS0+bG9jayBpbiB0 ZWFtX2FkZF9zbGF2ZSgpIGZpcnN0IGFuZCB0aGVuIHJlcXVlc3QgdGhlCmxvY2sgaW4gdGVhbV9z ZXRfbWFjX2FkZHJlc3MoKSBhZ2Fpbi4gVGhlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGxpa2U6Cgot IHRlYW1fYWRkX3NsYXZlKCkKIC0gdGVhbV9wb3J0X2FkZCgpCiAgIC0gdGVhbV9wb3J0X2VudGVy KCkKICAgICAtIHRlYW1fbW9kZW9wX3BvcnRfZW50ZXIoKQogICAgICAgLSBfX3NldF9wb3J0X2Rl dl9hZGRyKCkKICAgICAgICAgLSBkZXZfc2V0X21hY19hZGRyZXNzKCkKICAgICAgICAgICAtIGJv bmRfc2V0X21hY19hZGRyZXNzKCkKICAgICAgICAgICAgIC0gZGV2X3NldF9tYWNfYWRkcmVzcygp CiAgCSAgICAgICAtIHRlYW1fc2V0X21hY19hZGRyZXNzCgpBbHRob3VnaCB0ZWFtX3VwcGVyX2Rl dl9saW5rKCkgd291bGQgY2hlY2sgdGhlIHVwcGVyIGRldmljZXMgYnV0IGl0IGlzCmNhbGxlZCB0 b28gbGF0ZS4gRml4IGl0IGJ5IGFkZGluZyBhIGNoZWNraW5nIGJlZm9yZSBwcm9jZXNzaW5nIHRo ZSBzbGF2ZS4KCnYyOiBEbyBub3Qgc3BsaXQgdGhlIHN0cmluZyBpbiBuZXRkZXZfZXJyKCkKCkZp eGVzOiAzZDI0OWQ0Y2E3ZDAgKCJuZXQ6IGludHJvZHVjZSBldGhlcm5ldCB0ZWFtaW5nIGRldmlj ZSIpCkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1i eTogSGFuZ2JpbiBMaXUgPGxpdWhhbmdiaW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdGVhbS90 ZWFtLmMgfCA3ICsrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC90ZWFtL3RlYW0uYyBiL2RyaXZlcnMvbmV0L3RlYW0vdGVhbS5j CmluZGV4IGUyM2VhZjNmNmQwMy4uNmM2MjMwYjQ0YmNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC90ZWFtL3RlYW0uYworKysgYi9kcml2ZXJzL25ldC90ZWFtL3RlYW0uYwpAQCAtMTE2MCw2ICsx MTYwLDEzIEBAIHN0YXRpYyBpbnQgdGVhbV9wb3J0X2FkZChzdHJ1Y3QgdGVhbSAqdGVhbSwgc3Ry dWN0IG5ldF9kZXZpY2UgKnBvcnRfZGV2LAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwlpZiAo bmV0ZGV2X2hhc191cHBlcl9kZXYoZGV2LCBwb3J0X2RldikpIHsKKwkJTkxfU0VUX0VSUl9NU0co ZXh0YWNrLCAiRGV2aWNlIGlzIGFscmVhZHkgYW4gdXBwZXIgZGV2aWNlIG9mIHRoZSB0ZWFtIGlu dGVyZmFjZSIpOworCQluZXRkZXZfZXJyKGRldiwgIkRldmljZSAlcyBpcyBhbHJlYWR5IGFuIHVw cGVyIGRldmljZSBvZiB0aGUgdGVhbSBpbnRlcmZhY2VcbiIsCisJCQkgICBwb3J0bmFtZSk7CisJ CXJldHVybiAtRUJVU1k7CisJfQorCiAJaWYgKHBvcnRfZGV2LT5mZWF0dXJlcyAmIE5FVElGX0Zf VkxBTl9DSEFMTEVOR0VEICYmCiAJICAgIHZsYW5fdXNlc19kZXYoZGV2KSkgewogCQlOTF9TRVRf RVJSX01TRyhleHRhY2ssICJEZXZpY2UgaXMgVkxBTiBjaGFsbGVuZ2VkIGFuZCB0ZWFtIGRldmlj ZSBoYXMgVkxBTiBzZXQgdXAiKTsKLS0gCjIuMjAuMQoKCkZyb20gNDA3MzlkOGQ0NDIwMzFlNDFm ZGYwODk3NWY3YWQzMjJiMmY0Njg2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSnVu IFhpYW8gPHhpYW9qdW4yQGhpc2lsaWNvbi5jb20+CkRhdGU6IFR1ZSwgMjMgQXByIDIwMTkgMDA6 NDg6NTcgKzA4MDAKU3ViamVjdDogW1BBVENIIDExLzE4XSBuZXQ6IGhuczogRml4IFdBUk5JTkcg d2hlbiBobnMgbW9kdWxlcyBpbnN0YWxsZWQKCkNvbW1pdCBkZmRmMjZiYWJjOTggdXBzdHJlYW0K CnRoaXMgcGF0Y2ggbmVlZCBtZXJnZSB0byA0LjE5Lnkgc3RhYmxlIGtlcm5lbAoKRml4IENvbmZs aWN0OmFscmVhZHkgZml4ZWQgdGhlIGNvbmZpbGN0IGRmZGYyNmJhYmM5OCB3aXRoIFlvbmdsb25n IExpdQoKc3RhYmxlIGNhbmRpZGF0ZTp1c2VyIGNhbm5vdCBjb25uZWN0IHRvIHRoZSBpbnRlcm5l dCB2aWEgaG5zIGRldgpieSBkZWZhdWx0IHNldHRpbmcgd2l0aG91dCB0aGlzIHBhdGNoCgp3ZSBo YXZlIGFscmVhZHkgdmVyaWZpZWQgdGhpcyBwYXRjaCBvbiBrdW5wZW5nOTE2IHBsYXRmb3JtLAph bmQgaXQgd29ya3Mgd2VsbC4KClNpZ25lZC1vZmYtYnk6IFlvbmdsb25nIExpdSA8bGl1eW9uZ2xv bmdAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogSnVuIFhpYW8gPHhpYW9qdW4yQGhpc2lsaWNv bi5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvaGlzaWxpY29uL2hucy9obnNfZW5ldC5j IHwgMTUgKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA5 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2lsaWNv bi9obnMvaG5zX2VuZXQuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2hpc2lsaWNvbi9obnMvaG5z X2VuZXQuYwppbmRleCBiMDQzMzcwYzI2ODUuLmNjODQxMzNjMTg0ZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvaGlzaWxpY29uL2hucy9obnNfZW5ldC5jCisrKyBiL2RyaXZlcnMv bmV0L2V0aGVybmV0L2hpc2lsaWNvbi9obnMvaG5zX2VuZXQuYwpAQCAtMTE2OSw2ICsxMTY5LDEy IEBAIGludCBobnNfbmljX2luaXRfcGh5KHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LCBzdHJ1Y3Qg aG5hZV9oYW5kbGUgKmgpCiAJaWYgKCFoLT5waHlfZGV2KQogCQlyZXR1cm4gMDsKIAorCXBoeV9k ZXYtPnN1cHBvcnRlZCAmPSBoLT5pZl9zdXBwb3J0OworCXBoeV9kZXYtPmFkdmVydGlzaW5nID0g cGh5X2Rldi0+c3VwcG9ydGVkOworCisJaWYgKGgtPnBoeV9pZiA9PSBQSFlfSU5URVJGQUNFX01P REVfWEdNSUkpCisJCXBoeV9kZXYtPmF1dG9uZWcgPSBmYWxzZTsKKwogCWlmIChoLT5waHlfaWYg IT0gUEhZX0lOVEVSRkFDRV9NT0RFX1hHTUlJKSB7CiAJCXBoeV9kZXYtPmRldl9mbGFncyA9IDA7 CiAKQEAgLTExODAsMTUgKzExODYsNiBAQCBpbnQgaG5zX25pY19pbml0X3BoeShzdHJ1Y3QgbmV0 X2RldmljZSAqbmRldiwgc3RydWN0IGhuYWVfaGFuZGxlICpoKQogCWlmICh1bmxpa2VseShyZXQp KQogCQlyZXR1cm4gLUVOT0RFVjsKIAotCXBoeV9kZXYtPnN1cHBvcnRlZCAmPSBoLT5pZl9zdXBw b3J0OwotCXBoeV9kZXYtPmFkdmVydGlzaW5nID0gcGh5X2Rldi0+c3VwcG9ydGVkOwotCi0JaWYg KGgtPnBoeV9pZiA9PSBQSFlfSU5URVJGQUNFX01PREVfWEdNSUkpCi0JCXBoeV9kZXYtPmF1dG9u ZWcgPSBmYWxzZTsKLQotCWlmIChoLT5waHlfaWYgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1NHTUlJ KQotCQlwaHlfc3RvcChwaHlfZGV2KTsKLQogCXJldHVybiAwOwogfQogCi0tIAoyLjIwLjEKCgpG cm9tIGFiYTYxYTVhOWI5OGY1NDUxYjVhOGEzMzNmZDZhYjI4ZTZkY2Y4ODAgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KRGF0 ZTogVGh1LCAxOCBBcHIgMjAxOSAwNzoxNDoxNCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMThd IG1seHN3OiBwY2k6IFJlaW5jcmVhc2UgUENJIHJlc2V0IHRpbWVvdXQKClsgVXBzdHJlYW0gY29t bWl0IDFhYjMwMzAxOTNkMjU4NzhiM2IxNDA5MDYwZTFlMGE4Nzk4MDBjOTUgXQoKRHVyaW5nIGRy aXZlciBpbml0aWFsaXphdGlvbiB0aGUgZHJpdmVyIHNlbmRzIGEgcmVzZXQgdG8gdGhlIGRldmlj ZSBhbmQKd2FpdHMgZm9yIHRoZSBmaXJtd2FyZSB0byBzaWduYWwgdGhhdCBpdCBpcyByZWFkeSB0 byBjb250aW51ZS4KCkNvbW1pdCBkMmYzNzJiYTA5MTQgKCJtbHhzdzogcGNpOiBJbmNyZWFzZSBQ Q0kgU1cgcmVzZXQgdGltZW91dCIpCmluY3JlYXNlZCB0aGUgdGltZW91dCB0byAxMyBzZWNvbmRz IGR1ZSB0byBsb25nZXIgUEhZIGNhbGlicmF0aW9uIGluClNwZWN0cnVtLTIgY29tcGFyZWQgdG8g U3BlY3RydW0tMS4KClJlY2VudGx5IGl0IGJlY2FtZSBhcHBhcmVudCB0aGF0IHRoaXMgdGltZW91 dCBpcyB0b28gc2hvcnQgYW5kIHRoZXJlZm9yZQp0aGlzIHBhdGNoIGluY3JlYXNlcyBpdCBhZ2Fp biB0byBhIHNhZmVyIGxpbWl0IHRoYXQgd2lsbCBiZSByZWR1Y2VkIGluCnRoZSBmdXR1cmUuCgpG aXhlczogYzNhYjQzNTQ2NmQ1ICgibWx4c3c6IHNwZWN0cnVtOiBFeHRlbmQgdG8gc3VwcG9ydCBT cGVjdHJ1bS0yIEFTSUMiKQpGaXhlczogZDJmMzcyYmEwOTE0ICgibWx4c3c6IHBjaTogSW5jcmVh c2UgUENJIFNXIHJlc2V0IHRpbWVvdXQiKQpTaWduZWQtb2ZmLWJ5OiBJZG8gU2NoaW1tZWwgPGlk b3NjaEBtZWxsYW5veC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3BjaV9ody5oIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvcGNpX2h3LmggYi9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9wY2lfaHcuaAppbmRleCA3MmNkYWEwMWQ1NmQu LjEwMDYxODUzMTAyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4c3cvcGNpX2h3LmgKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cv cGNpX2h3LmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2RlZmluZSBNTFhTV19QQ0lfU1dfUkVTRVQJ CQkweEYwMDEwCiAjZGVmaW5lIE1MWFNXX1BDSV9TV19SRVNFVF9SU1RfQklUCQlCSVQoMCkKLSNk ZWZpbmUgTUxYU1dfUENJX1NXX1JFU0VUX1RJTUVPVVRfTVNFQ1MJMTMwMDAKKyNkZWZpbmUgTUxY U1dfUENJX1NXX1JFU0VUX1RJTUVPVVRfTVNFQ1MJMjAwMDAKICNkZWZpbmUgTUxYU1dfUENJX1NX X1JFU0VUX1dBSVRfTVNFQ1MJCTEwMAogI2RlZmluZSBNTFhTV19QQ0lfRldfUkVBRFkJCQkweEEx ODQ0CiAjZGVmaW5lIE1MWFNXX1BDSV9GV19SRUFEWV9NQVNLCQkJMHhGRkZGCi0tIAoyLjIwLjEK CgpGcm9tIDYwZmQ2MGJiYzQ5ZGVhYjk5MDVhZGQ3NjYwMDU3MWU4NDQ4ZGUwZmEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFBldHIgTWFjaGF0YSA8cGV0cm1AbWVsbGFub3guY29tPgpE YXRlOiBUaHUsIDE4IEFwciAyMDE5IDA3OjE0OjEzICswMDAwClN1YmplY3Q6IFtQQVRDSCAxMy8x OF0gbWx4c3c6IHNwZWN0cnVtOiBQdXQgTUMgVENzIGludG8gRFdSUiBtb2RlCgpbIFVwc3RyZWFt IGNvbW1pdCBmNDc2YjNmODA5ZmEwMmY0N2FmNjMzM2VkNjM3MTUwNThjM2ZjMzQ4IF0KCkJvdGgg U3BlY3RydW0tMSBhbmQgU3BlY3RydW0tMiBjaGlwcyBhcmUgY3VycmVudGx5IGNvbmZpZ3VyZWQg c3VjaCB0aGF0CnBhaXJzIG9mIFRDIG4gKHdoaWNoIGlzIHVzZWQgZm9yIFVDIHRyYWZmaWMpIGFu ZCBUQyBuKzggKHdoaWNoIGlzIHVzZWQKZm9yIE1DIHRyYWZmaWMpIGFyZSBmZWVkaW5nIGludG8g dGhlIHNhbWUgc3ViZ3JvdXAuIFN0cmljdApwcmlvcml0aXphdGlvbiBpcyBjb25maWd1cmVkIGJl dHdlZW4gdGhlIHR3byBUQ3MsIGFuZCBieSBlbmFibGluZwpNQy1hd2FyZSBtb2RlIG9uIHRoZSBz d2l0Y2gsIHRoZSBsb3dlci1udW1iZXJlZCAoVUMpIFRDcyBhcmUgZmF2b3JlZApvdmVyIHRoZSBo aWdoZXItbnVtYmVyZWQgKE1DKSBUQ3MuCgpPbiBTcGVjdHJ1bS0yIGhvd2V2ZXIsIHRoZXJlIGlz IGFuIGlzc3VlIGluIGNvbmZpZ3VyYXRpb24gb2YgdGhlCk1DLWF3YXJlIG1vZGUuIEFzIGEgcmVz dWx0LCBNQyB0cmFmZmljIGlzIHByaW9yaXRpemVkIG92ZXIgVUMgdHJhZmZpYy4KVG8gd29yayBh cm91bmQgdGhlIGlzc3VlLCBjb25maWd1cmUgdGhlIE1DIFRDcyB3aXRoIERXUlIgbW9kZSAod2hp bGUKa2VlcGluZyB0aGUgVUMgVENzIGluIHN0cmljdCBtb2RlKS4KCldpdGggdGhpcyBwYXRjaCwg dGhlIG11bHRpY2FzdC11bmljYXN0IGFyYml0cmF0aW9uIHJlc3VsdHMgaW4gdGhlIHNhbWUKYmVo YXZpb3Igb24gYm90aCBTcGVjdHJ1bS0xIGFuZCBTcGVjdHJ1bS0yIGNoaXBzLgoKRml4ZXM6IDdi ODE5NTMwNjY5NCAoIm1seHN3OiBzcGVjdHJ1bTogQ29uZmlndXJlIE1DLWF3YXJlIG1vZGUgb24g bWx4c3cgcG9ydHMiKQpTaWduZWQtb2ZmLWJ5OiBQZXRyIE1hY2hhdGEgPHBldHJtQG1lbGxhbm94 LmNvbT4KU2lnbmVkLW9mZi1ieTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3guY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYyB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVtLmMgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5jCmluZGV4IGIzNzlkNDIxOTQ4 My4uYzViODJlMjgzZDEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHhzdy9zcGVjdHJ1bS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eHN3L3NwZWN0cnVtLmMKQEAgLTI3ODMsNyArMjc4Myw3IEBAIHN0YXRpYyBpbnQgbWx4c3dfc3Bf cG9ydF9ldHNfaW5pdChzdHJ1Y3QgbWx4c3dfc3BfcG9ydCAqbWx4c3dfc3BfcG9ydCkKIAkJZXJy ID0gbWx4c3dfc3BfcG9ydF9ldHNfc2V0KG1seHN3X3NwX3BvcnQsCiAJCQkJCSAgICBNTFhTV19S RUdfUUVFQ19ISUVSQVJDWV9UQywKIAkJCQkJICAgIGkgKyA4LCBpLAotCQkJCQkgICAgZmFsc2Us IDApOworCQkJCQkgICAgdHJ1ZSwgMTAwKTsKIAkJaWYgKGVycikKIAkJCXJldHVybiBlcnI7CiAJ fQotLSAKMi4yMC4xCgoKRnJvbSA2ZDA1ZTc2YzBmY2U4NjQzMmIwOTUzMDU3ZmZiM2QyNTZkNGQy M2ZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBNaWtpdHlhbnNraXkgPG1h eGltbWlAbWVsbGFub3guY29tPgpEYXRlOiBNb24sIDggQXByIDIwMTkgMTU6MTI6NDUgKzAzMDAK U3ViamVjdDogW1BBVENIIDE0LzE4XSBuZXQvbWx4NWU6IEZpeCB0aGUgbWF4IE1UVSBjaGVjayBp biBjYXNlIG9mIFhEUAoKWyBVcHN0cmVhbSBjb21taXQgZDQ2MGMyNzE4OTA2MjUyYTJhNjliYzZm ODliNTM3MDcxZjc5MmU2ZSBdCgpNTFg1RV9YRFBfTUFYX01UVSB3YXMgY2FsY3VsYXRlZCBpbmNv cnJlY3RseS4gSXQgZGlkbid0IGFjY291bnQgZm9yCk5FVF9JUF9BTElHTiBhbmQgTUxYNUVfSFcy U1dfTVRVLCBhbmQgaXQgYWxzbyBtaXN1c2VkIE1MWDVfU0tCX0ZSQUdfU1ouClRoaXMgY29tbWl0 IGZpeGVzIHRoZSBjYWxjdWxhdGlvbnMgYW5kIGFkZHMgYSBicmllZiBleHBsYW5hdGlvbiBmb3Ig dGhlCmZvcm11bGEgdXNlZC4KCkZpeGVzOiBhMjZhNWJkZjNlZTJkICgibmV0L21seDVlOiBSZXN0 cmljdCB0aGUgY29tYmluYXRpb24gb2YgbGFyZ2UgTVRVIGFuZCBYRFAiKQpTaWduZWQtb2ZmLWJ5 OiBNYXhpbSBNaWtpdHlhbnNraXkgPG1heGltbWlAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5 OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiAuLi4vbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAuYyAgfCAyMCArKysrKysrKysrKysrKysrKysr CiAuLi4vbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAuaCAgfCAgMyArLS0K IC4uLi9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX21haW4uYyB8ICA1ICsrKy0t CiAzIGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5j IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5jCmluZGV4 IDRhMzNjOWE3Y2FjNy4uY2EwODQ0M2Y3NDRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5jCkBAIC0zMyw2ICszMywyNiBAQAogI2luY2x1 ZGUgPGxpbnV4L2JwZl90cmFjZS5oPgogI2luY2x1ZGUgImVuL3hkcC5oIgogCitpbnQgbWx4NWVf eGRwX21heF9tdHUoc3RydWN0IG1seDVlX3BhcmFtcyAqcGFyYW1zKQoreworCWludCBociA9IE5F VF9JUF9BTElHTiArIFhEUF9QQUNLRVRfSEVBRFJPT007CisKKwkvKiBMZXQgUyA6PSBTS0JfREFU QV9BTElHTihzaXplb2Yoc3RydWN0IHNrYl9zaGFyZWRfaW5mbykpLgorCSAqIFRoZSBjb25kaXRp b24gY2hlY2tlZCBpbiBtbHg1ZV9yeF9pc19saW5lYXJfc2tiIGlzOgorCSAqICAgU0tCX0RBVEFf QUxJR04oc3dfbXR1ICsgaGFyZF9tdHUgKyBocikgKyBTIDw9IFBBR0VfU0laRSAgICAgICAgICgx KQorCSAqICAgKE5vdGUgdGhhdCBod19tdHUgPT0gc3dfbXR1ICsgaGFyZF9tdHUuKQorCSAqIFdo YXQgaXMgcmV0dXJuZWQgZnJvbSB0aGlzIGZ1bmN0aW9uIGlzOgorCSAqICAgbWF4X210dSA9IFBB R0VfU0laRSAtIFMgLSBociAtIGhhcmRfbXR1ICAgICAgICAgICAgICAgICAgICAgICAgICgyKQor CSAqIEFmdGVyIGFzc2lnbmluZyBzd19tdHUgOj0gbWF4X210dSwgdGhlIGxlZnQgc2lkZSBvZiAo MSkgdHVybnMgdG8KKwkgKiBTS0JfREFUQV9BTElHTihQQUdFX1NJWkUgLSBTKSArIFMsIHdoaWNo IGlzIGVxdWFsIHRvIFBBR0VfU0laRSwKKwkgKiBiZWNhdXNlIGJvdGggUEFHRV9TSVpFIGFuZCBT IGFyZSBhbHJlYWR5IGFsaWduZWQuIEFueSBudW1iZXIgZ3JlYXRlcgorCSAqIHRoYW4gbWF4X210 dSB3b3VsZCBtYWtlIHRoZSBsZWZ0IHNpZGUgb2YgKDEpIGdyZWF0ZXIgdGhhbiBQQUdFX1NJWkUs CisJICogc28gbWF4X210dSBpcyB0aGUgbWF4aW11bSBNVFUgYWxsb3dlZC4KKwkgKi8KKworCXJl dHVybiBNTFg1RV9IVzJTV19NVFUocGFyYW1zLCBTS0JfTUFYX0hFQUQoaHIpKTsKK30KKwogc3Rh dGljIGlubGluZSBib29sCiBtbHg1ZV94bWl0X3hkcF9idWZmKHN0cnVjdCBtbHg1ZV94ZHBzcSAq c3EsIHN0cnVjdCBtbHg1ZV9kbWFfaW5mbyAqZGksCiAJCSAgICBzdHJ1Y3QgeGRwX2J1ZmYgKnhk cCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9l bi94ZHAuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAu aAppbmRleCA0ZDA5NjYyMzE3OGIuLjgyN2NlZWY1ZmE5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5oCisrKyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAuaApAQCAtMzQsMTIgKzM0LDExIEBA CiAKICNpbmNsdWRlICJlbi5oIgogCi0jZGVmaW5lIE1MWDVFX1hEUF9NQVhfTVRVICgoaW50KShQ QUdFX1NJWkUgLSBcCi0JCQkJIE1MWDVfU0tCX0ZSQUdfU1ooWERQX1BBQ0tFVF9IRUFEUk9PTSkp KQogI2RlZmluZSBNTFg1RV9YRFBfTUlOX0lOTElORSAoRVRIX0hMRU4gKyBWTEFOX0hMRU4pCiAj ZGVmaW5lIE1MWDVFX1hEUF9UWF9EU19DT1VOVCBcCiAJKChzaXplb2Yoc3RydWN0IG1seDVlX3R4 X3dxZSkgLyBNTFg1X1NFTkRfV1FFX0RTKSArIDEgLyogU0cgRFMgKi8pCiAKK2ludCBtbHg1ZV94 ZHBfbWF4X210dShzdHJ1Y3QgbWx4NWVfcGFyYW1zICpwYXJhbXMpOwogYm9vbCBtbHg1ZV94ZHBf aGFuZGxlKHN0cnVjdCBtbHg1ZV9ycSAqcnEsIHN0cnVjdCBtbHg1ZV9kbWFfaW5mbyAqZGksCiAJ CSAgICAgIHZvaWQgKnZhLCB1MTYgKnJ4X2hlYWRyb29tLCB1MzIgKmxlbik7CiBib29sIG1seDVl X3BvbGxfeGRwc3FfY3Eoc3RydWN0IG1seDVlX2NxICpjcSk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fbWFpbi5jIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX21haW4uYwppbmRleCA2MzdkNTljMDFmZTUu LmIxOTBjNDQ3YWViMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2VuX21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW5fbWFpbi5jCkBAIC0zNzYxLDcgKzM3NjEsNyBAQCBpbnQgbWx4NWVfY2hhbmdl X210dShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LCBpbnQgbmV3X210dSwKIAlpZiAocGFyYW1z LT54ZHBfcHJvZyAmJgogCSAgICAhbWx4NWVfcnhfaXNfbGluZWFyX3NrYihwcml2LT5tZGV2LCAm bmV3X2NoYW5uZWxzLnBhcmFtcykpIHsKIAkJbmV0ZGV2X2VycihuZXRkZXYsICJNVFUoJWQpID4g JWQgaXMgbm90IGFsbG93ZWQgd2hpbGUgWERQIGVuYWJsZWRcbiIsCi0JCQkgICBuZXdfbXR1LCBN TFg1RV9YRFBfTUFYX01UVSk7CisJCQkgICBuZXdfbXR1LCBtbHg1ZV94ZHBfbWF4X210dShwYXJh bXMpKTsKIAkJZXJyID0gLUVJTlZBTDsKIAkJZ290byBvdXQ7CiAJfQpAQCAtNDIyNyw3ICs0MjI3 LDggQEAgc3RhdGljIGludCBtbHg1ZV94ZHBfYWxsb3dlZChzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJp diwgc3RydWN0IGJwZl9wcm9nICpwcm9nKQogCiAJaWYgKCFtbHg1ZV9yeF9pc19saW5lYXJfc2ti KHByaXYtPm1kZXYsICZuZXdfY2hhbm5lbHMucGFyYW1zKSkgewogCQluZXRkZXZfd2FybihuZXRk ZXYsICJYRFAgaXMgbm90IGFsbG93ZWQgd2l0aCBNVFUoJWQpID4gJWRcbiIsCi0JCQkgICAgbmV3 X2NoYW5uZWxzLnBhcmFtcy5zd19tdHUsIE1MWDVFX1hEUF9NQVhfTVRVKTsKKwkJCSAgICBuZXdf Y2hhbm5lbHMucGFyYW1zLnN3X210dSwKKwkJCSAgICBtbHg1ZV94ZHBfbWF4X210dSgmbmV3X2No YW5uZWxzLnBhcmFtcykpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLS0gCjIuMjAuMQoKCkZy b20gNTE0MmJjYTNlODEyNTdkYzIyMzYyZTc3MTA2MjU3NTQ2ZWU1ZGVhYiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogTWF4aW0gTWlraXR5YW5za2l5IDxtYXhpbW1pQG1lbGxhbm94LmNv bT4KRGF0ZTogRnJpLCAxNSBNYXIgMjAxOSAxNjo0MTo0MyArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MTUvMThdIG5ldC9tbHg1ZTogRml4IHVzZS1hZnRlci1mcmVlIGFmdGVyIHhkcF9yZXR1cm5fZnJh bWUKClsgVXBzdHJlYW0gY29tbWl0IDEyZmM1MTJmNTc0MTQ0M2EwM2FkZGUyZWFkMjA3MjRkYThh ZDU1MGEgXQoKeGRwX3JldHVybl9mcmFtZSByZWxlYXNlcyB0aGUgZnJhbWUuIEl0IGxlYWRzIHRv IHJlbGVhc2luZyB0aGUgcGFnZSwgc28KaXQncyBub3QgYWxsb3dlZCB0byBhY2Nlc3MgeGRwaS54 ZHBmLT5sZW4gYWZ0ZXIgdGhhdCwgYmVjYXVzZSB4ZHBpLnhkcGYKaXMgYXQgeGRwLT5kYXRhX2hh cmRfc3RhcnQgYWZ0ZXIgY29udmVydF90b194ZHBfZnJhbWUuIFRoaXMgcGF0Y2ggbW92ZXMKdGhl IG1lbW9yeSBhY2Nlc3MgdG8gcHJlY2VkZSB0aGUgcmV0dXJuIG9mIHRoZSBmcmFtZS4KCkZpeGVz OiA1OGI5OWVlM2UzZWJlICgibmV0L21seDVlOiBBZGQgc3VwcG9ydCBmb3IgWERQX1JFRElSRUNU IGluIGRldmljZS1vdXQgc2lkZSIpClNpZ25lZC1vZmYtYnk6IE1heGltIE1pa2l0eWFuc2tpeSA8 bWF4aW1taUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVl ZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbi94ZHAuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW4veGRwLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvZW4veGRwLmMKaW5kZXggY2EwODQ0M2Y3NDRkLi41OTkxMTRhYjc4MjEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmMKQEAgLTIy Nyw5ICsyMjcsOSBAQCBib29sIG1seDVlX3BvbGxfeGRwc3FfY3Eoc3RydWN0IG1seDVlX2NxICpj cSkKIAkJCXNxY2MrKzsKIAogCQkJaWYgKGlzX3JlZGlyZWN0KSB7Ci0JCQkJeGRwX3JldHVybl9m cmFtZSh4ZHBpLT54ZHBmKTsKIAkJCQlkbWFfdW5tYXBfc2luZ2xlKHNxLT5wZGV2LCB4ZHBpLT5k bWFfYWRkciwKIAkJCQkJCSB4ZHBpLT54ZHBmLT5sZW4sIERNQV9UT19ERVZJQ0UpOworCQkJCXhk cF9yZXR1cm5fZnJhbWUoeGRwaS0+eGRwZik7CiAJCQl9IGVsc2UgewogCQkJCS8qIFJlY3ljbGUg UlggcGFnZSAqLwogCQkJCW1seDVlX3BhZ2VfcmVsZWFzZShycSwgJnhkcGktPmRpLCB0cnVlKTsK QEAgLTI2Myw5ICsyNjMsOSBAQCB2b2lkIG1seDVlX2ZyZWVfeGRwc3FfZGVzY3Moc3RydWN0IG1s eDVlX3hkcHNxICpzcSkKIAkJc3EtPmNjKys7CiAKIAkJaWYgKGlzX3JlZGlyZWN0KSB7Ci0JCQl4 ZHBfcmV0dXJuX2ZyYW1lKHhkcGktPnhkcGYpOwogCQkJZG1hX3VubWFwX3NpbmdsZShzcS0+cGRl diwgeGRwaS0+ZG1hX2FkZHIsCiAJCQkJCSB4ZHBpLT54ZHBmLT5sZW4sIERNQV9UT19ERVZJQ0Up OworCQkJeGRwX3JldHVybl9mcmFtZSh4ZHBpLT54ZHBmKTsKIAkJfSBlbHNlIHsKIAkJCS8qIFJl Y3ljbGUgUlggcGFnZSAqLwogCQkJbWx4NWVfcGFnZV9yZWxlYXNlKHJxLCAmeGRwaS0+ZGksIGZh bHNlKTsKLS0gCjIuMjAuMQoKCkZyb20gNDlmMDBiY2VjY2E0MGUyNzM0MGUzZTE2YmQyNmVhOGE5 NDU3OTJlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSmFrdWIgS2ljaW5za2kgPGph a3ViLmtpY2luc2tpQG5ldHJvbm9tZS5jb20+CkRhdGU6IEZyaSwgMTkgQXByIDIwMTkgMTY6NTE6 MzggLTA3MDAKU3ViamVjdDogW1BBVENIIDE2LzE4XSBuZXQvdGxzOiBhdm9pZCBwb3RlbnRpYWwg ZGVhZGxvY2sgaW4KIHRsc19zZXRfZGV2aWNlX29mZmxvYWRfcngoKQoKWyBVcHN0cmVhbSBjb21t aXQgNjJlZjgxZDU2MzI2MzRkNWUzMTBlZDI1YjliOTQwYjJiNjYxMmI0NiBdCgpJZiBkZXZpY2Ug c3VwcG9ydHMgb2ZmbG9hZCwgYnV0IG9mZmxvYWQgZmFpbHMgdGxzX3NldF9kZXZpY2Vfb2ZmbG9h ZF9yeCgpCndpbGwgY2FsbCB0bHNfc3dfZnJlZV9yZXNvdXJjZXNfcngoKSB3aGljaCAodW5oZWxw ZnVsbHkpIHJlbGVhc2VzCmFuZCByZWFjcXVpcmVzIHRoZSBzb2NrZXQgbG9jay4KCkZvciBhIHNt YWxsIGZpeCByZWxlYXNlIGFuZCByZWFjcXVpcmUgdGhlIGRldmljZV9vZmZsb2FkX2xvY2suCgpG aXhlczogNDc5OWFjODFlNTJhICgidGxzOiBBZGQgcnggaW5saW5lIGNyeXB0byBvZmZsb2FkIikK U2lnbmVkLW9mZi1ieTogSmFrdWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJvbm9tZS5j b20+ClJldmlld2VkLWJ5OiBEaXJrIHZhbiBkZXIgTWVyd2UgPGRpcmsudmFuZGVybWVyd2VAbmV0 cm9ub21lLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC90bHMvdGxzX2RldmljZS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC90bHMvdGxzX2RldmljZS5jIGIvbmV0 L3Rscy90bHNfZGV2aWNlLmMKaW5kZXggOTYxYjA3ZDRkNDFjLi5iNjFiODkzZTkyMDQgMTAwNjQ0 Ci0tLSBhL25ldC90bHMvdGxzX2RldmljZS5jCisrKyBiL25ldC90bHMvdGxzX2RldmljZS5jCkBA IC04NzQsNyArODc0LDkgQEAgaW50IHRsc19zZXRfZGV2aWNlX29mZmxvYWRfcngoc3RydWN0IHNv Y2sgKnNrLCBzdHJ1Y3QgdGxzX2NvbnRleHQgKmN0eCkKIAlnb3RvIHJlbGVhc2VfbmV0ZGV2Owog CiBmcmVlX3N3X3Jlc291cmNlczoKKwl1cF9yZWFkKCZkZXZpY2Vfb2ZmbG9hZF9sb2NrKTsKIAl0 bHNfc3dfZnJlZV9yZXNvdXJjZXNfcngoc2spOworCWRvd25fcmVhZCgmZGV2aWNlX29mZmxvYWRf bG9jayk7CiByZWxlYXNlX2N0eDoKIAljdHgtPnByaXZfY3R4X3J4ID0gTlVMTDsKIHJlbGVhc2Vf bmV0ZGV2OgotLSAKMi4yMC4xCgoKRnJvbSA2YWY3NTM4MTc2ZDAzOTBmNmI3NjYwNThhZDhlYTEw YjAwODAxY2I1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYWt1YiBLaWNpbnNraSA8 amFrdWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KRGF0ZTogRnJpLCAxOSBBcHIgMjAxOSAxNjo1 MjoxOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMThdIG5ldC90bHM6IGRvbid0IGxlYWsgSVYg YW5kIHJlY29yZCBzZXEgd2hlbiBvZmZsb2FkCiBmYWlscwoKWyBVcHN0cmVhbSBjb21taXQgMTJj NzY4NjExMTMyNjE0OGI0YjVkYjE4OTEzMDUyMmE0YWQxYmU0YSBdCgpXaGVuIGRldmljZSByZWZ1 c2VzIHRoZSBvZmZsb2FkIGluIHRsc19zZXRfZGV2aWNlX29mZmxvYWRfcngoKQppdCBjYWxscyB0 bHNfc3dfZnJlZV9yZXNvdXJjZXNfcngoKSB0byBjbGVhbiB1cCBzb2Z0d2FyZSBjb250ZXh0CnN0 YXRlLgoKVW5mb3J0dW5hdGVseSwgdGxzX3N3X2ZyZWVfcmVzb3VyY2VzX3J4KCkgZG9lcyBub3Qg ZnJlZSBhbGwKdGhlIHN0YXRlIHRsc19zZXRfc3dfb2ZmbG9hZCgpIGFsbG9jYXRlZCAtIGl0IGxl YWtzIElWIGFuZApzZXF1ZW5jZSBudW1iZXIgYnVmZmVycy4gIEFsbCBvdGhlciBjb2RlIHBhdGhz IHdoaWNoIGxlYWQgdG8KdGxzX3N3X3JlbGVhc2VfcmVzb3VyY2VzX3J4KCkgKHdoaWNoIHRsc19z d19mcmVlX3Jlc291cmNlc19yeCgpCmNhbGxzKSBmcmVlIHRob3NlIHJpZ2h0IGJlZm9yZSB0aGUg Y2FsbC4KCkF2b2lkIHRoZSBsZWFrIGJ5IG1vdmluZyBmcmVlaW5nIG9mIGl2IGFuZCByZWNfc2Vx IGludG8KdGxzX3N3X3JlbGVhc2VfcmVzb3VyY2VzX3J4KCkuCgpGaXhlczogNDc5OWFjODFlNTJh ICgidGxzOiBBZGQgcnggaW5saW5lIGNyeXB0byBvZmZsb2FkIikKU2lnbmVkLW9mZi1ieTogSmFr dWIgS2ljaW5za2kgPGpha3ViLmtpY2luc2tpQG5ldHJvbm9tZS5jb20+ClJldmlld2VkLWJ5OiBE aXJrIHZhbiBkZXIgTWVyd2UgPGRpcmsudmFuZGVybWVyd2VAbmV0cm9ub21lLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC90 bHMvdGxzX2RldmljZS5jIHwgMiAtLQogbmV0L3Rscy90bHNfbWFpbi5jICAgfCA1ICstLS0tCiBu ZXQvdGxzL3Rsc19zdy5jICAgICB8IDMgKysrCiAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvdGxzL3Rsc19kZXZpY2UuYyBi L25ldC90bHMvdGxzX2RldmljZS5jCmluZGV4IGI2MWI4OTNlOTIwNC4uYzk1ODhiNjgyZGI0IDEw MDY0NAotLS0gYS9uZXQvdGxzL3Rsc19kZXZpY2UuYworKysgYi9uZXQvdGxzL3Rsc19kZXZpY2Uu YwpAQCAtOTExLDggKzkxMSw2IEBAIHZvaWQgdGxzX2RldmljZV9vZmZsb2FkX2NsZWFudXBfcngo c3RydWN0IHNvY2sgKnNrKQogCX0KIG91dDoKIAl1cF9yZWFkKCZkZXZpY2Vfb2ZmbG9hZF9sb2Nr KTsKLQlrZnJlZSh0bHNfY3R4LT5yeC5yZWNfc2VxKTsKLQlrZnJlZSh0bHNfY3R4LT5yeC5pdik7 CiAJdGxzX3N3X3JlbGVhc2VfcmVzb3VyY2VzX3J4KHNrKTsKIH0KIApkaWZmIC0tZ2l0IGEvbmV0 L3Rscy90bHNfbWFpbi5jIGIvbmV0L3Rscy90bHNfbWFpbi5jCmluZGV4IGEwOTFjMDNhYmNiMi4u MjViM2ZiNTg1Nzc3IDEwMDY0NAotLS0gYS9uZXQvdGxzL3Rsc19tYWluLmMKKysrIGIvbmV0L3Rs cy90bHNfbWFpbi5jCkBAIC0yOTAsMTEgKzI5MCw4IEBAIHN0YXRpYyB2b2lkIHRsc19za19wcm90 b19jbG9zZShzdHJ1Y3Qgc29jayAqc2ssIGxvbmcgdGltZW91dCkKIAkJdGxzX3N3X2ZyZWVfcmVz b3VyY2VzX3R4KHNrKTsKIAl9CiAKLQlpZiAoY3R4LT5yeF9jb25mID09IFRMU19TVykgewotCQlr ZnJlZShjdHgtPnJ4LnJlY19zZXEpOwotCQlrZnJlZShjdHgtPnJ4Lml2KTsKKwlpZiAoY3R4LT5y eF9jb25mID09IFRMU19TVykKIAkJdGxzX3N3X2ZyZWVfcmVzb3VyY2VzX3J4KHNrKTsKLQl9CiAK ICNpZmRlZiBDT05GSUdfVExTX0RFVklDRQogCWlmIChjdHgtPnJ4X2NvbmYgPT0gVExTX0hXKQpk aWZmIC0tZ2l0IGEvbmV0L3Rscy90bHNfc3cuYyBiL25ldC90bHMvdGxzX3N3LmMKaW5kZXggYjlj NmVjZmJjZmVhLi42ODQ4YTgxOTY3MTEgMTAwNjQ0Ci0tLSBhL25ldC90bHMvdGxzX3N3LmMKKysr IGIvbmV0L3Rscy90bHNfc3cuYwpAQCAtMTExOCw2ICsxMTE4LDkgQEAgdm9pZCB0bHNfc3dfcmVs ZWFzZV9yZXNvdXJjZXNfcngoc3RydWN0IHNvY2sgKnNrKQogCXN0cnVjdCB0bHNfY29udGV4dCAq dGxzX2N0eCA9IHRsc19nZXRfY3R4KHNrKTsKIAlzdHJ1Y3QgdGxzX3N3X2NvbnRleHRfcnggKmN0 eCA9IHRsc19zd19jdHhfcngodGxzX2N0eCk7CiAKKwlrZnJlZSh0bHNfY3R4LT5yeC5yZWNfc2Vx KTsKKwlrZnJlZSh0bHNfY3R4LT5yeC5pdik7CisKIAlpZiAoY3R4LT5hZWFkX3JlY3YpIHsKIAkJ a2ZyZWVfc2tiKGN0eC0+cmVjdl9wa3QpOwogCQljdHgtPnJlY3ZfcGt0ID0gTlVMTDsKLS0gCjIu MjAuMQoKCkZyb20gOTE3MmY3ODAzNzcwNjRkMGM2ZTBjZDU1ZjNlMDY1YTI2YzUxYzYxNiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpEYXRlOiBXZWQsIDI0IEFwciAyMDE5IDA5OjQ0OjExIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxOC8xOF0gcnhycGM6IGZpeCByYWNlIGNvbmRpdGlvbiBpbiByeHJwY19pbnB1dF9wYWNrZXQo KQoKWyBVcHN0cmVhbSBjb21taXQgMDMyYmU1ZjE5YTk0ZGU1MTA5Mzg1MTc1NzA4OTEzM2RjYzFl OTJhYSBdCgpBZnRlciBjb21taXQgNTI3MTk1M2NhZDMxICgicnhycGM6IFVzZSB0aGUgVURQIGVu Y2FwX3JjdiBob29rIiksCnJ4cnBjX2lucHV0X3BhY2tldCgpIGlzIGRpcmVjdGx5IGNhbGxlZCBm cm9tIGxvY2tsZXNzIFVEUCByZWNlaXZlCnBhdGgsIHVuZGVyIHJjdV9yZWFkX2xvY2soKSBwcm90 ZWN0aW9uLgoKSXQgbXVzdCB0aGVyZWZvcmUgdXNlIFJDVSBydWxlcyA6CgotIHVkcF9zay0+c2tf dXNlcl9kYXRhIGNhbiBiZSBjbGVhcmVkIGF0IGFueSBwb2ludCBpbiB0aGlzIGZ1bmN0aW9uLgog IHJjdV9kZXJlZmVyZW5jZV9za191c2VyX2RhdGEoKSBpcyB3aGF0IHdlIG5lZWQgaGVyZS4KCi0g QWxzbywgc2luY2Ugc2tfdXNlcl9kYXRhIG1pZ2h0IGhhdmUgYmVlbiBzZXQgaW4gcnhycGNfb3Bl bl9zb2NrZXQoKQogIHdlIG11c3Qgb2JzZXJ2ZSBhIHByb3BlciBSQ1UgZ3JhY2UgcGVyaW9kIGJl Zm9yZSBrZnJlZShsb2NhbCkgaW4KICByeHJwY19sb29rdXBfbG9jYWwoKQoKdjQ6IEBsb2NhbCBj YW4gYmUgTlVMTCBpbiB4cnBjX2xvb2t1cF9sb2NhbCgpIGFzIHJlcG9ydGVkIGJ5IGtidWlsZCB0 ZXN0IHJvYm90IDxsa3BAaW50ZWwuY29tPgogICAgICAgIGFuZCBKdWxpYSBMYXdhbGwgPGp1bGlh Lmxhd2FsbEBsaXA2LmZyPiwgdGhhbmtzICEKCnYzLHYyIDogYWRkcmVzc2VkIERhdmlkIEhvd2Vs bHMgZmVlZGJhY2ssIHRoYW5rcyAhCgpzeXpib3QgcmVwb3J0ZWQgOgoKa2FzYW46IENPTkZJR19L QVNBTl9JTkxJTkUgZW5hYmxlZAprYXNhbjogR1BGIGNvdWxkIGJlIGNhdXNlZCBieSBOVUxMLXB0 ciBkZXJlZiBvciB1c2VyIG1lbW9yeSBhY2Nlc3MKZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0OiAw MDAwIFsjMV0gUFJFRU1QVCBTTVAgS0FTQU4KQ1BVOiAwIFBJRDogMTkyMzYgQ29tbTogc3l6LWV4 ZWN1dG9yNzAzIE5vdCB0YWludGVkIDUuMS4wLXJjNiAjNzkKSGFyZHdhcmUgbmFtZTogR29vZ2xl IEdvb2dsZSBDb21wdXRlIEVuZ2luZS9Hb29nbGUgQ29tcHV0ZSBFbmdpbmUsIEJJT1MgR29vZ2xl IDAxLzAxLzIwMTEKUklQOiAwMDEwOl9fbG9ja19hY3F1aXJlKzB4YmVmLzB4M2ZiMCBrZXJuZWwv bG9ja2luZy9sb2NrZGVwLmM6MzU3MwpDb2RlOiAwMCAwZiA4NSBhNSAxZiAwMCAwMCA0OCA4MSBj NCAxMCAwMSAwMCAwMCA1YiA0MSA1YyA0MSA1ZCA0MSA1ZSA0MSA1ZiA1ZCBjMyA0OCBiOCAwMCAw MCAwMCAwMCAwMCBmYyBmZiBkZiA0YyA4OSBlYSA0OCBjMSBlYSAwMyA8ODA+IDNjIDAyIDAwIDBm IDg1IDRhIDIxIDAwIDAwIDQ5IDgxIDdkIDAwIDIwIDU0IDljIDg5IDBmIDg0IGNmIGY0ClJTUDog MDAxODpmZmZmODg4MDlkN2FlZjU4IEVGTEFHUzogMDAwMTAwMDIKUkFYOiBkZmZmZmMwMDAwMDAw MDAwIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKUkRYOiAwMDAw MDAwMDAwMDAwMDI2IFJTSTogMDAwMDAwMDAwMDAwMDAwMCBSREk6IDAwMDAwMDAwMDAwMDAwMDEK UkJQOiBmZmZmODg4MDlkN2FmMDkwIFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAwMDAwMDAw MDAwMDAwMDEKUjEwOiBmZmZmZWQxMDE1ZDA1YmM3IFIxMTogZmZmZjg4ODA4OTQyODYwMCBSMTI6 IDAwMDAwMDAwMDAwMDAwMDAKUjEzOiAwMDAwMDAwMDAwMDAwMTMwIFIxNDogMDAwMDAwMDAwMDAw MDAwMSBSMTU6IDAwMDAwMDAwMDAwMDAwMDEKRlM6ICAwMDAwN2YwNTkwNDRkNzAwKDAwMDApIEdT OmZmZmY4ODgwYWU4MDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApDUzogIDAwMTAg RFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCkNSMjogMDAwMDAwMDAwMDRi NjA0MCBDUjM6IDAwMDAwMDAwOTU1Y2EwMDAgQ1I0OiAwMDAwMDAwMDAwMTQwNmYwCkNhbGwgVHJh Y2U6CiBsb2NrX2FjcXVpcmUrMHgxNmYvMHgzZjAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjQy MTEKIF9fcmF3X3NwaW5fbG9ja19pcnFzYXZlIGluY2x1ZGUvbGludXgvc3BpbmxvY2tfYXBpX3Nt cC5oOjExMCBbaW5saW5lXQogX3Jhd19zcGluX2xvY2tfaXJxc2F2ZSsweDk1LzB4Y2Qga2VybmVs L2xvY2tpbmcvc3BpbmxvY2suYzoxNTIKIHNrYl9xdWV1ZV90YWlsKzB4MjYvMHgxNTAgbmV0L2Nv cmUvc2tidWZmLmM6Mjk3MgogcnhycGNfcmVqZWN0X3BhY2tldCBuZXQvcnhycGMvaW5wdXQuYzox MTI2IFtpbmxpbmVdCiByeHJwY19pbnB1dF9wYWNrZXQrMHg0YTAvMHg1NTM2IG5ldC9yeHJwYy9p bnB1dC5jOjE0MTQKIHVkcF9xdWV1ZV9yY3Zfb25lX3NrYisweGFmMi8weDE3ODAgbmV0L2lwdjQv dWRwLmM6MjAxMQogdWRwX3F1ZXVlX3Jjdl9za2IrMHgxMjgvMHg3MzAgbmV0L2lwdjQvdWRwLmM6 MjA4NQogdWRwX3VuaWNhc3RfcmN2X3NrYi5pc3JhLjArMHhiOS8weDM2MCBuZXQvaXB2NC91ZHAu YzoyMjQ1CiBfX3VkcDRfbGliX3JjdisweDcwMS8weDJjYTAgbmV0L2lwdjQvdWRwLmM6MjMwMQog dWRwX3JjdisweDIyLzB4MzAgbmV0L2lwdjQvdWRwLmM6MjQ4MgogaXBfcHJvdG9jb2xfZGVsaXZl cl9yY3UrMHg2MC8weDhmMCBuZXQvaXB2NC9pcF9pbnB1dC5jOjIwOAogaXBfbG9jYWxfZGVsaXZl cl9maW5pc2grMHgyM2IvMHgzOTAgbmV0L2lwdjQvaXBfaW5wdXQuYzoyMzQKIE5GX0hPT0sgaW5j bHVkZS9saW51eC9uZXRmaWx0ZXIuaDoyODkgW2lubGluZV0KIE5GX0hPT0sgaW5jbHVkZS9saW51 eC9uZXRmaWx0ZXIuaDoyODMgW2lubGluZV0KIGlwX2xvY2FsX2RlbGl2ZXIrMHgxZTkvMHg1MjAg bmV0L2lwdjQvaXBfaW5wdXQuYzoyNTUKIGRzdF9pbnB1dCBpbmNsdWRlL25ldC9kc3QuaDo0NTAg W2lubGluZV0KIGlwX3Jjdl9maW5pc2grMHgxZTEvMHgzMDAgbmV0L2lwdjQvaXBfaW5wdXQuYzo0 MTMKIE5GX0hPT0sgaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaDoyODkgW2lubGluZV0KIE5GX0hP T0sgaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaDoyODMgW2lubGluZV0KIGlwX3JjdisweGU4LzB4 M2YwIG5ldC9pcHY0L2lwX2lucHV0LmM6NTIzCiBfX25ldGlmX3JlY2VpdmVfc2tiX29uZV9jb3Jl KzB4MTE1LzB4MWEwIG5ldC9jb3JlL2Rldi5jOjQ5ODcKIF9fbmV0aWZfcmVjZWl2ZV9za2IrMHgy Yy8weDFjMCBuZXQvY29yZS9kZXYuYzo1MDk5CiBuZXRpZl9yZWNlaXZlX3NrYl9pbnRlcm5hbCsw eDExNy8weDY2MCBuZXQvY29yZS9kZXYuYzo1MjAyCiBuYXBpX2ZyYWdzX2ZpbmlzaCBuZXQvY29y ZS9kZXYuYzo1NzY5IFtpbmxpbmVdCiBuYXBpX2dyb19mcmFncysweGFkZS8weGQxMCBuZXQvY29y ZS9kZXYuYzo1ODQzCiB0dW5fZ2V0X3VzZXIrMHgyZjI0LzB4M2ZiMCBkcml2ZXJzL25ldC90dW4u YzoxOTgxCiB0dW5fY2hyX3dyaXRlX2l0ZXIrMHhiZC8weDE1NiBkcml2ZXJzL25ldC90dW4uYzoy MDI3CiBjYWxsX3dyaXRlX2l0ZXIgaW5jbHVkZS9saW51eC9mcy5oOjE4NjYgW2lubGluZV0KIGRv X2l0ZXJfcmVhZHZfd3JpdGV2KzB4NWUxLzB4OGUwIGZzL3JlYWRfd3JpdGUuYzo2ODEKIGRvX2l0 ZXJfd3JpdGUgZnMvcmVhZF93cml0ZS5jOjk1NyBbaW5saW5lXQogZG9faXRlcl93cml0ZSsweDE4 NC8weDYxMCBmcy9yZWFkX3dyaXRlLmM6OTM4CiB2ZnNfd3JpdGV2KzB4MWIzLzB4MmYwIGZzL3Jl YWRfd3JpdGUuYzoxMDAyCiBkb193cml0ZXYrMHgxNWUvMHgzNzAgZnMvcmVhZF93cml0ZS5jOjEw MzcKIF9fZG9fc3lzX3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6MTExMCBbaW5saW5lXQogX19zZV9z eXNfd3JpdGV2IGZzL3JlYWRfd3JpdGUuYzoxMTA3IFtpbmxpbmVdCiBfX3g2NF9zeXNfd3JpdGV2 KzB4NzUvMHhiMCBmcy9yZWFkX3dyaXRlLmM6MTEwNwogZG9fc3lzY2FsbF82NCsweDEwMy8weDYx MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzoyOTAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdm cmFtZSsweDQ5LzB4YmUKCkZpeGVzOiA1MjcxOTUzY2FkMzEgKCJyeHJwYzogVXNlIHRoZSBVRFAg ZW5jYXBfcmN2IGhvb2siKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdv b2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29t PgpBY2tlZC1ieTogRGF2aWQgSG93ZWxscyA8ZGhvd2VsbHNAcmVkaGF0LmNvbT4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9yeHJw Yy9pbnB1dC5jICAgICAgICB8IDEyICsrKysrKysrLS0tLQogbmV0L3J4cnBjL2xvY2FsX29iamVj dC5jIHwgIDMgKystCiAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3J4cnBjL2lucHV0LmMgYi9uZXQvcnhycGMvaW5wdXQu YwppbmRleCA1NzBiNDlkMmRhNDIuLmQ1OTFmNTRjYjkxZiAxMDA2NDQKLS0tIGEvbmV0L3J4cnBj L2lucHV0LmMKKysrIGIvbmV0L3J4cnBjL2lucHV0LmMKQEAgLTExNTUsMTkgKzExNTUsMTkgQEAg aW50IHJ4cnBjX2V4dHJhY3RfaGVhZGVyKHN0cnVjdCByeHJwY19za2JfcHJpdiAqc3AsIHN0cnVj dCBza19idWZmICpza2IpCiAgKiBoYW5kbGUgZGF0YSByZWNlaXZlZCBvbiB0aGUgbG9jYWwgZW5k cG9pbnQKICAqIC0gbWF5IGJlIGNhbGxlZCBpbiBpbnRlcnJ1cHQgY29udGV4dAogICoKLSAqIFRo ZSBzb2NrZXQgaXMgbG9ja2VkIGJ5IHRoZSBjYWxsZXIgYW5kIHRoaXMgcHJldmVudHMgdGhlIHNv Y2tldCBmcm9tIGJlaW5nCi0gKiBzaHV0IGRvd24gYW5kIHRoZSBsb2NhbCBlbmRwb2ludCBmcm9t IGdvaW5nIGF3YXksIHRodXMgc2tfdXNlcl9kYXRhIHdpbGwgbm90Ci0gKiBiZSBjbGVhcmVkIHVu dGlsIHRoaXMgZnVuY3Rpb24gcmV0dXJucy4KKyAqIFshXSBOb3RlIHRoYXQgYXMgdGhpcyBpcyBj YWxsZWQgZnJvbSB0aGUgZW5jYXBfcmN2IGhvb2ssIHRoZSBzb2NrZXQgaXMgbm90CisgKiBoZWxk IGxvY2tlZCBieSB0aGUgY2FsbGVyIGFuZCBub3RoaW5nIHByZXZlbnRzIHNrX3VzZXJfZGF0YSBv biB0aGUgVURQIGZyb20KKyAqIGJlaW5nIGNsZWFyZWQgaW4gdGhlIG1pZGRsZSBvZiBwcm9jZXNz aW5nIHRoaXMgZnVuY3Rpb24uCiAgKgogICogQ2FsbGVkIHdpdGggdGhlIFJDVSByZWFkIGxvY2sg aGVsZCBmcm9tIHRoZSBJUCBsYXllciB2aWEgVURQLgogICovCiBpbnQgcnhycGNfaW5wdXRfcGFj a2V0KHN0cnVjdCBzb2NrICp1ZHBfc2ssIHN0cnVjdCBza19idWZmICpza2IpCiB7CisJc3RydWN0 IHJ4cnBjX2xvY2FsICpsb2NhbCA9IHJjdV9kZXJlZmVyZW5jZV9za191c2VyX2RhdGEodWRwX3Nr KTsKIAlzdHJ1Y3QgcnhycGNfY29ubmVjdGlvbiAqY29ubjsKIAlzdHJ1Y3QgcnhycGNfY2hhbm5l bCAqY2hhbjsKIAlzdHJ1Y3QgcnhycGNfY2FsbCAqY2FsbCA9IE5VTEw7CiAJc3RydWN0IHJ4cnBj X3NrYl9wcml2ICpzcDsKLQlzdHJ1Y3QgcnhycGNfbG9jYWwgKmxvY2FsID0gdWRwX3NrLT5za191 c2VyX2RhdGE7CiAJc3RydWN0IHJ4cnBjX3BlZXIgKnBlZXIgPSBOVUxMOwogCXN0cnVjdCByeHJw Y19zb2NrICpyeCA9IE5VTEw7CiAJdW5zaWduZWQgaW50IGNoYW5uZWw7CkBAIC0xMTc1LDYgKzEx NzUsMTAgQEAgaW50IHJ4cnBjX2lucHV0X3BhY2tldChzdHJ1Y3Qgc29jayAqdWRwX3NrLCBzdHJ1 Y3Qgc2tfYnVmZiAqc2tiKQogCiAJX2VudGVyKCIlcCIsIHVkcF9zayk7CiAKKwlpZiAodW5saWtl bHkoIWxvY2FsKSkgeworCQlrZnJlZV9za2Ioc2tiKTsKKwkJcmV0dXJuIDA7CisJfQogCWlmIChz a2ItPnRzdGFtcCA9PSAwKQogCQlza2ItPnRzdGFtcCA9IGt0aW1lX2dldF9yZWFsKCk7CiAKZGlm ZiAtLWdpdCBhL25ldC9yeHJwYy9sb2NhbF9vYmplY3QuYyBiL25ldC9yeHJwYy9sb2NhbF9vYmpl Y3QuYwppbmRleCAwOTA2ZTUxZDNjZmIuLjEwMzE3ZGJkYWI1ZiAxMDA2NDQKLS0tIGEvbmV0L3J4 cnBjL2xvY2FsX29iamVjdC5jCisrKyBiL25ldC9yeHJwYy9sb2NhbF9vYmplY3QuYwpAQCAtMzA0 LDcgKzMwNCw4IEBAIHN0cnVjdCByeHJwY19sb2NhbCAqcnhycGNfbG9va3VwX2xvY2FsKHN0cnVj dCBuZXQgKm5ldCwKIAlyZXQgPSAtRU5PTUVNOwogc29ja19lcnJvcjoKIAltdXRleF91bmxvY2so JnJ4bmV0LT5sb2NhbF9tdXRleCk7Ci0Ja2ZyZWUobG9jYWwpOworCWlmIChsb2NhbCkKKwkJY2Fs bF9yY3UoJmxvY2FsLT5yY3UsIHJ4cnBjX2xvY2FsX3JjdSk7CiAJX2xlYXZlKCIgPSAlZCIsIHJl dCk7CiAJcmV0dXJuIEVSUl9QVFIocmV0KTsKIAotLSAKMi4yMC4xCgo= ----Next_Part(Mon_Apr_29_22_06_29_2019_321)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_50.mbox" RnJvbSA5OTZhNGQxOTIxNTAzNDU3NDM4NDZmN2UzMTJjODViMmQ1MWQwYTliIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRh dGU6IFdlZCwgMjQgQXByIDIwMTkgMDg6MDQ6MDUgLTA3MDAKU3ViamVjdDogW1BBVENIIDAxLzE5 XSBpcHY0OiBhZGQgc2FuaXR5IGNoZWNrcyBpbiBpcHY0X2xpbmtfZmFpbHVyZSgpCgpbIFVwc3Ry ZWFtIGNvbW1pdCAyMGZmODNmMTBmMTEzYzg4ZDBiYjc0NTg5Mzg5YjA1MjUwOTk0YzE2IF0KCkJl Zm9yZSBjYWxsaW5nIF9faXBfb3B0aW9uc19jb21waWxlKCksIHdlIG5lZWQgdG8gZW5zdXJlIHRo ZSBuZXR3b3JrCmhlYWRlciBpcyBhIGFuIElQdjQgb25lLCBhbmQgdGhhdCBpdCBpcyBhbHJlYWR5 IHB1bGxlZCBpbiBza2ItPmhlYWQuCgpSQVcgc29ja2V0cyBnb2luZyB0aHJvdWdoIGEgdHVubmVs IGNhbiBlbmQgdXAgY2FsbGluZyBpcHY0X2xpbmtfZmFpbHVyZSgpCndpdGggdG90YWwgZ2FyYmFn ZSBpbiB0aGUgc2tiLCBvciBhcmJpdHJhcnkgbGVuZ3RoZXMuCgpzeXpib3QgcmVwb3J0IDoKCkJV RzogS0FTQU46IHN0YWNrLW91dC1vZi1ib3VuZHMgaW4gbWVtY3B5IGluY2x1ZGUvbGludXgvc3Ry aW5nLmg6MzU1IFtpbmxpbmVdCkJVRzogS0FTQU46IHN0YWNrLW91dC1vZi1ib3VuZHMgaW4gX19p cF9vcHRpb25zX2VjaG8rMHgyOTQvMHgxMTIwIG5ldC9pcHY0L2lwX29wdGlvbnMuYzoxMjMKV3Jp dGUgb2Ygc2l6ZSA2OSBhdCBhZGRyIGZmZmY4ODgwOTZhYmYwNjggYnkgdGFzayBzeXotZXhlY3V0 b3IuNC85MjA0CgpDUFU6IDAgUElEOiA5MjA0IENvbW06IHN5ei1leGVjdXRvci40IE5vdCB0YWlu dGVkIDUuMS4wLXJjNSsgIzc3CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBF bmdpbmUvR29vZ2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCkNhbGwg VHJhY2U6CiBfX2R1bXBfc3RhY2sgbGliL2R1bXBfc3RhY2suYzo3NyBbaW5saW5lXQogZHVtcF9z dGFjaysweDE3Mi8weDFmMCBsaWIvZHVtcF9zdGFjay5jOjExMwogcHJpbnRfYWRkcmVzc19kZXNj cmlwdGlvbi5jb2xkKzB4N2MvMHgyMGQgbW0va2FzYW4vcmVwb3J0LmM6MTg3CiBrYXNhbl9yZXBv cnQuY29sZCsweDFiLzB4NDAgbW0va2FzYW4vcmVwb3J0LmM6MzE3CiBjaGVja19tZW1vcnlfcmVn aW9uX2lubGluZSBtbS9rYXNhbi9nZW5lcmljLmM6MTg1IFtpbmxpbmVdCiBjaGVja19tZW1vcnlf cmVnaW9uKzB4MTIzLzB4MTkwIG1tL2thc2FuL2dlbmVyaWMuYzoxOTEKIG1lbWNweSsweDM4LzB4 NTAgbW0va2FzYW4vY29tbW9uLmM6MTMzCiBtZW1jcHkgaW5jbHVkZS9saW51eC9zdHJpbmcuaDoz NTUgW2lubGluZV0KIF9faXBfb3B0aW9uc19lY2hvKzB4Mjk0LzB4MTEyMCBuZXQvaXB2NC9pcF9v cHRpb25zLmM6MTIzCiBfX2ljbXBfc2VuZCsweDcyNS8weDE0MDAgbmV0L2lwdjQvaWNtcC5jOjY5 NQogaXB2NF9saW5rX2ZhaWx1cmUrMHgyOWYvMHg1NTAgbmV0L2lwdjQvcm91dGUuYzoxMjA0CiBk c3RfbGlua19mYWlsdXJlIGluY2x1ZGUvbmV0L2RzdC5oOjQyNyBbaW5saW5lXQogdnRpNl94bWl0 IG5ldC9pcHY2L2lwNl92dGkuYzo1MTQgW2lubGluZV0KIHZ0aTZfdG5sX3htaXQrMHgxMGQ0LzB4 MWMwYyBuZXQvaXB2Ni9pcDZfdnRpLmM6NTUzCiBfX25ldGRldl9zdGFydF94bWl0IGluY2x1ZGUv bGludXgvbmV0ZGV2aWNlLmg6NDQxNCBbaW5saW5lXQogbmV0ZGV2X3N0YXJ0X3htaXQgaW5jbHVk ZS9saW51eC9uZXRkZXZpY2UuaDo0NDIzIFtpbmxpbmVdCiB4bWl0X29uZSBuZXQvY29yZS9kZXYu YzozMjkyIFtpbmxpbmVdCiBkZXZfaGFyZF9zdGFydF94bWl0KzB4MWIyLzB4OTgwIG5ldC9jb3Jl L2Rldi5jOjMzMDgKIF9fZGV2X3F1ZXVlX3htaXQrMHgyNzFkLzB4MzA2MCBuZXQvY29yZS9kZXYu YzozODc4CiBkZXZfcXVldWVfeG1pdCsweDE4LzB4MjAgbmV0L2NvcmUvZGV2LmM6MzkxMQogbmVp Z2hfZGlyZWN0X291dHB1dCsweDE2LzB4MjAgbmV0L2NvcmUvbmVpZ2hib3VyLmM6MTUyNwogbmVp Z2hfb3V0cHV0IGluY2x1ZGUvbmV0L25laWdoYm91ci5oOjUwOCBbaW5saW5lXQogaXBfZmluaXNo X291dHB1dDIrMHg5NDkvMHgxNzQwIG5ldC9pcHY0L2lwX291dHB1dC5jOjIyOQogaXBfZmluaXNo X291dHB1dCsweDczYy8weGQ1MCBuZXQvaXB2NC9pcF9vdXRwdXQuYzozMTcKIE5GX0hPT0tfQ09O RCBpbmNsdWRlL2xpbnV4L25ldGZpbHRlci5oOjI3OCBbaW5saW5lXQogaXBfb3V0cHV0KzB4MjFm LzB4NjcwIG5ldC9pcHY0L2lwX291dHB1dC5jOjQwNQogZHN0X291dHB1dCBpbmNsdWRlL25ldC9k c3QuaDo0NDQgW2lubGluZV0KIE5GX0hPT0sgaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaDoyODkg W2lubGluZV0KIHJhd19zZW5kX2hkcmluYyBuZXQvaXB2NC9yYXcuYzo0MzIgW2lubGluZV0KIHJh d19zZW5kbXNnKzB4MWQyYi8weDJmMjAgbmV0L2lwdjQvcmF3LmM6NjYzCiBpbmV0X3NlbmRtc2cr MHgxNDcvMHg1ZDAgbmV0L2lwdjQvYWZfaW5ldC5jOjc5OAogc29ja19zZW5kbXNnX25vc2VjIG5l dC9zb2NrZXQuYzo2NTEgW2lubGluZV0KIHNvY2tfc2VuZG1zZysweGRkLzB4MTMwIG5ldC9zb2Nr ZXQuYzo2NjEKIHNvY2tfd3JpdGVfaXRlcisweDI3Yy8weDNlMCBuZXQvc29ja2V0LmM6OTg4CiBj YWxsX3dyaXRlX2l0ZXIgaW5jbHVkZS9saW51eC9mcy5oOjE4NjYgW2lubGluZV0KIG5ld19zeW5j X3dyaXRlKzB4NGM3LzB4NzYwIGZzL3JlYWRfd3JpdGUuYzo0NzQKIF9fdmZzX3dyaXRlKzB4ZTQv MHgxMTAgZnMvcmVhZF93cml0ZS5jOjQ4NwogdmZzX3dyaXRlKzB4MjBjLzB4NTgwIGZzL3JlYWRf d3JpdGUuYzo1NDkKIGtzeXNfd3JpdGUrMHgxNGYvMHgyZDAgZnMvcmVhZF93cml0ZS5jOjU5OQog X19kb19zeXNfd3JpdGUgZnMvcmVhZF93cml0ZS5jOjYxMSBbaW5saW5lXQogX19zZV9zeXNfd3Jp dGUgZnMvcmVhZF93cml0ZS5jOjYwOCBbaW5saW5lXQogX194NjRfc3lzX3dyaXRlKzB4NzMvMHhi MCBmcy9yZWFkX3dyaXRlLmM6NjA4CiBkb19zeXNjYWxsXzY0KzB4MTAzLzB4NjEwIGFyY2gveDg2 L2VudHJ5L2NvbW1vbi5jOjI5MAogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkv MHhiZQpSSVA6IDAwMzM6MHg0NThjMjkKQ29kZTogYWQgYjggZmIgZmYgYzMgNjYgMmUgMGYgMWYg ODQgMDAgMDAgMDAgMDAgMDAgNjYgOTAgNDggODkgZjggNDggODkgZjcgNDggODkgZDYgNDggODkg Y2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIgNGMgMjQgMDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBm ZiBmZiAwZiA4MyA3YiBiOCBmYiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMApSU1A6 IDAwMmI6MDAwMDdmMjkzYjQ0YmM3OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAw MDAwMDAwMDAxClJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMDMgUkNY OiAwMDAwMDAwMDAwNDU4YzI5ClJEWDogMDAwMDAwMDAwMDAwMDAxNCBSU0k6IDAwMDAwMDAwMjAw MDAyYzAgUkRJOiAwMDAwMDAwMDAwMDAwMDAzClJCUDogMDAwMDAwMDAwMDczYmYwMCBSMDg6IDAw MDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClIxMDogMDAwMDAwMDAwMDAwMDAw MCBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwN2YyOTNiNDRjNmQ0ClIxMzogMDAwMDAw MDAwMDRjODYyMyBSMTQ6IDAwMDAwMDAwMDA0ZGVkNjggUjE1OiAwMDAwMDAwMGZmZmZmZmZmCgpU aGUgYnVnZ3kgYWRkcmVzcyBiZWxvbmdzIHRvIHRoZSBwYWdlOgpwYWdlOmZmZmZlYTAwMDI1YWFm YzAgY291bnQ6MCBtYXBjb3VudDowIG1hcHBpbmc6MDAwMDAwMDAwMDAwMDAwMCBpbmRleDoweDAK ZmxhZ3M6IDB4MWZmZmMwMDAwMDAwMDAwKCkKcmF3OiAwMWZmZmMwMDAwMDAwMDAwIDAwMDAwMDAw MDAwMDAwMDAgZmZmZmZmZmYwMjVhMDEwMSAwMDAwMDAwMDAwMDAwMDAwCnJhdzogMDAwMDAwMDAw MDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwZmZmZmZmZmYgMDAwMDAwMDAwMDAwMDAw MApwYWdlIGR1bXBlZCBiZWNhdXNlOiBrYXNhbjogYmFkIGFjY2VzcyBkZXRlY3RlZAoKTWVtb3J5 IHN0YXRlIGFyb3VuZCB0aGUgYnVnZ3kgYWRkcmVzczoKIGZmZmY4ODgwOTZhYmVmODA6IDAwIDAw IDAwIGYyIGYyIGYyIGYyIGYyIDAwIDAwIDAwIDAwIDAwIDAwIDAwIGYyCiBmZmZmODg4MDk2YWJm MDAwOiBmMiBmMiBmMiBmMiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAo+ZmZm Zjg4ODA5NmFiZjA4MDogMDAgMDAgZjMgZjMgZjMgZjMgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAKICAgICAgICAgICAgICAgICAgICAgICAgIF4KIGZmZmY4ODgwOTZhYmYxMDA6IDAwIDAw IDAwIDAwIGYxIGYxIGYxIGYxIDAwIDAwIGYzIGYzIDAwIDAwIDAwIDAwCiBmZmZmODg4MDk2YWJm MTgwOiAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAoKRml4 ZXM6IGVkMGRlNDVhMTAwOCAoImlwdjQ6IHJlY29tcGlsZSBpcCBvcHRpb25zIGluIGlwdjRfbGlu a19mYWlsdXJlIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpDYzogU3RlcGhlbiBTdXJ5YXB1dHJhIDxzc3VyeWFleHRyQGdtYWlsLmNvbT4KQWNrZWQt Ynk6IFdpbGxlbSBkZSBCcnVpam4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRl LmMgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDIzIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQv cm91dGUuYyBiL25ldC9pcHY0L3JvdXRlLmMKaW5kZXggMjVkOWJlZjI3ZDAzLi4zYzg5Y2EzMjU5 NDcgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3JvdXRlLmMKKysrIGIvbmV0L2lwdjQvcm91dGUuYwpA QCAtMTE4MywyNSArMTE4MywzOSBAQCBzdGF0aWMgc3RydWN0IGRzdF9lbnRyeSAqaXB2NF9kc3Rf Y2hlY2soc3RydWN0IGRzdF9lbnRyeSAqZHN0LCB1MzIgY29va2llKQogCXJldHVybiBkc3Q7CiB9 CiAKLXN0YXRpYyB2b2lkIGlwdjRfbGlua19mYWlsdXJlKHN0cnVjdCBza19idWZmICpza2IpCitz dGF0aWMgdm9pZCBpcHY0X3NlbmRfZGVzdF91bnJlYWNoKHN0cnVjdCBza19idWZmICpza2IpCiB7 CiAJc3RydWN0IGlwX29wdGlvbnMgb3B0OwotCXN0cnVjdCBydGFibGUgKnJ0OwogCWludCByZXM7 CiAKIAkvKiBSZWNvbXBpbGUgaXAgb3B0aW9ucyBzaW5jZSBJUENCIG1heSBub3QgYmUgdmFsaWQg YW55bW9yZS4KKwkgKiBBbHNvIGNoZWNrIHdlIGhhdmUgYSByZWFzb25hYmxlIGlwdjQgaGVhZGVy LgogCSAqLwotCW1lbXNldCgmb3B0LCAwLCBzaXplb2Yob3B0KSk7Ci0Jb3B0Lm9wdGxlbiA9IGlw X2hkcihza2IpLT5paGwqNCAtIHNpemVvZihzdHJ1Y3QgaXBoZHIpOworCWlmICghcHNrYl9uZXR3 b3JrX21heV9wdWxsKHNrYiwgc2l6ZW9mKHN0cnVjdCBpcGhkcikpIHx8CisJICAgIGlwX2hkcihz a2IpLT52ZXJzaW9uICE9IDQgfHwgaXBfaGRyKHNrYiktPmlobCA8IDUpCisJCXJldHVybjsKIAot CXJjdV9yZWFkX2xvY2soKTsKLQlyZXMgPSBfX2lwX29wdGlvbnNfY29tcGlsZShkZXZfbmV0KHNr Yi0+ZGV2KSwgJm9wdCwgc2tiLCBOVUxMKTsKLQlyY3VfcmVhZF91bmxvY2soKTsKKwltZW1zZXQo Jm9wdCwgMCwgc2l6ZW9mKG9wdCkpOworCWlmIChpcF9oZHIoc2tiKS0+aWhsID4gNSkgeworCQlp ZiAoIXBza2JfbmV0d29ya19tYXlfcHVsbChza2IsIGlwX2hkcihza2IpLT5paGwgKiA0KSkKKwkJ CXJldHVybjsKKwkJb3B0Lm9wdGxlbiA9IGlwX2hkcihza2IpLT5paGwgKiA0IC0gc2l6ZW9mKHN0 cnVjdCBpcGhkcik7CiAKLQlpZiAocmVzKQotCQlyZXR1cm47CisJCXJjdV9yZWFkX2xvY2soKTsK KwkJcmVzID0gX19pcF9vcHRpb25zX2NvbXBpbGUoZGV2X25ldChza2ItPmRldiksICZvcHQsIHNr YiwgTlVMTCk7CisJCXJjdV9yZWFkX3VubG9jaygpOwogCisJCWlmIChyZXMpCisJCQlyZXR1cm47 CisJfQogCV9faWNtcF9zZW5kKHNrYiwgSUNNUF9ERVNUX1VOUkVBQ0gsIElDTVBfSE9TVF9VTlJF QUNILCAwLCAmb3B0KTsKK30KKworc3RhdGljIHZvaWQgaXB2NF9saW5rX2ZhaWx1cmUoc3RydWN0 IHNrX2J1ZmYgKnNrYikKK3sKKwlzdHJ1Y3QgcnRhYmxlICpydDsKKworCWlwdjRfc2VuZF9kZXN0 X3VucmVhY2goc2tiKTsKIAogCXJ0ID0gc2tiX3J0YWJsZShza2IpOwogCWlmIChydCkKLS0gCjIu MjAuMQoKCkZyb20gZWJkZmMzMWM0ZTdkMTJlY2M2OWM1ODc2YzIyNDVjNjJmMTgzNjMyZCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogWmhhbmdYaWFveHUgPHpoYW5neGlhb3h1NUBodWF3 ZWkuY29tPgpEYXRlOiBUdWUsIDE2IEFwciAyMDE5IDA5OjQ3OjI0ICswODAwClN1YmplY3Q6IFtQ QVRDSCAwMi8xOV0gaXB2NDogc2V0IHRoZSB0Y3BfbWluX3J0dF93bGVuIHJhbmdlIGZyb20gMCB0 byBvbmUgZGF5CgpbIFVwc3RyZWFtIGNvbW1pdCAxOWZhZDIwZDE1YTY0OTRmNDdmODVkODY5ZjAw YjExMzQzZWU1Yzc4IF0KClRoZXJlIGlzIGEgVUJTQU4gcmVwb3J0IGFzIGJlbG93OgpVQlNBTjog VW5kZWZpbmVkIGJlaGF2aW91ciBpbiBuZXQvaXB2NC90Y3BfaW5wdXQuYzoyODc3OjU2CnNpZ25l ZCBpbnRlZ2VyIG92ZXJmbG93OgoyMTQ3NDgzNjQ3ICogMTAwMCBjYW5ub3QgYmUgcmVwcmVzZW50 ZWQgaW4gdHlwZSAnaW50JwpDUFU6IDMgUElEOiAwIENvbW06IHN3YXBwZXIvMyBOb3QgdGFpbnRl ZCA1LjEuMC1yYzQtMDAwNTgtZzU4MjU0OWUgIzEKQ2FsbCBUcmFjZToKIDxJUlE+CiBkdW1wX3N0 YWNrKzB4OGMvMHhiYQogdWJzYW5fZXBpbG9ndWUrMHgxMS8weDYwCiBoYW5kbGVfb3ZlcmZsb3cr MHgxMmQvMHgxNzAKID8gdHR3dV9kb193YWtldXArMHgyMS8weDMyMAogX191YnNhbl9oYW5kbGVf bXVsX292ZXJmbG93KzB4MTIvMHgyMAogdGNwX2Fja191cGRhdGVfcnR0KzB4NzZjLzB4NzgwCiB0 Y3BfY2xlYW5fcnR4X3F1ZXVlKzB4NDk5LzB4MTRkMAogdGNwX2FjaysweDY5ZS8weDEyNDAKID8g X193YWtlX3VwX3N5bmNfa2V5KzB4MmMvMHg1MAogPyB1cGRhdGVfZ3JvdXBfY2FwYWNpdHkrMHg1 MC8weDY4MAogdGNwX3Jjdl9lc3RhYmxpc2hlZCsweDRlMi8weGUxMAogdGNwX3Y0X2RvX3Jjdisw eDIyYi8weDQyMAogdGNwX3Y0X3JjdisweGZlOC8weDExOTAKIGlwX3Byb3RvY29sX2RlbGl2ZXJf cmN1KzB4MzYvMHgxODAKIGlwX2xvY2FsX2RlbGl2ZXIrMHgxNWIvMHgxYTAKIGlwX3JjdisweGFj LzB4ZDAKIF9fbmV0aWZfcmVjZWl2ZV9za2Jfb25lX2NvcmUrMHg3Zi8weGIwCiBfX25ldGlmX3Jl Y2VpdmVfc2tiKzB4MzMvMHhjMAogbmV0aWZfcmVjZWl2ZV9za2JfaW50ZXJuYWwrMHg4NC8weDFj MAogbmFwaV9ncm9fcmVjZWl2ZSsweDJhMC8weDMwMAogcmVjZWl2ZV9idWYrMHgzZDQvMHgyMzUw CiA/IGRldGFjaF9idWZfc3BsaXQrMHgxNTkvMHgzOTAKIHZpcnRuZXRfcG9sbCsweDE5OC8weDg0 MAogPyByZXdlaWdodF9lbnRpdHkrMHgyNDMvMHg0YjAKIG5ldF9yeF9hY3Rpb24rMHgyNWMvMHg3 NzAKIF9fZG9fc29mdGlycSsweDE5Yi8weDY2ZAogaXJxX2V4aXQrMHgxZWIvMHgyMzAKIGRvX0lS USsweDdhLzB4MTUwCiBjb21tb25faW50ZXJydXB0KzB4Zi8weGYKIDwvSVJRPgoKSXQgY2FuIGJl IHJlcHJvZHVjZWQgYnk6CiAgZWNobyAyMTQ3NDgzNjQ3ID4gL3Byb2Mvc3lzL25ldC9pcHY0L3Rj cF9taW5fcnR0X3dsZW4KCkZpeGVzOiBmNjcyMjU4MzkxYjQyICgidGNwOiB0cmFjayBtaW4gUlRU IHVzaW5nIHdpbmRvd2VkIG1pbi1maWx0ZXIiKQpTaWduZWQtb2ZmLWJ5OiBaaGFuZ1hpYW94dSA8 emhhbmd4aWFveHU1QGh1YXdlaS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvaXAtc3lz Y3RsLnR4dCB8IDEgKwogbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMgICAgICAgICAgICAgfCA1 ICsrKystCiAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0IGIvRG9j dW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50eHQKaW5kZXggYWNkZmI1ZDJiY2FhLi5l MjE0MmZlNDBjZGEgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNj dGwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0CkBAIC00 MjIsNiArNDIyLDcgQEAgdGNwX21pbl9ydHRfd2xlbiAtIElOVEVHRVIKIAltaW5pbXVtIFJUVCB3 aGVuIGl0IGlzIG1vdmVkIHRvIGEgbG9uZ2VyIHBhdGggKGUuZy4sIGR1ZSB0byB0cmFmZmljCiAJ ZW5naW5lZXJpbmcpLiBBIGxvbmdlciB3aW5kb3cgbWFrZXMgdGhlIGZpbHRlciBtb3JlIHJlc2lz dGFudCB0byBSVFQKIAlpbmZsYXRpb25zIHN1Y2ggYXMgdHJhbnNpZW50IGNvbmdlc3Rpb24uIFRo ZSB1bml0IGlzIHNlY29uZHMuCisJUG9zc2libGUgdmFsdWVzOiAwIC0gODY0MDAgKDEgZGF5KQog CURlZmF1bHQ6IDMwMAogCiB0Y3BfbW9kZXJhdGVfcmN2YnVmIC0gQk9PTEVBTgpkaWZmIC0tZ2l0 IGEvbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMgYi9uZXQvaXB2NC9zeXNjdGxfbmV0X2lwdjQu YwppbmRleCBiYTBmYzRiMTg0NjUuLmVlYjQwNDFmYTVmOSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQv c3lzY3RsX25ldF9pcHY0LmMKKysrIGIvbmV0L2lwdjQvc3lzY3RsX25ldF9pcHY0LmMKQEAgLTQ5 LDYgKzQ5LDcgQEAgc3RhdGljIGludCBpcF9waW5nX2dyb3VwX3JhbmdlX21pbltdID0geyAwLCAw IH07CiBzdGF0aWMgaW50IGlwX3BpbmdfZ3JvdXBfcmFuZ2VfbWF4W10gPSB7IEdJRF9UX01BWCwg R0lEX1RfTUFYIH07CiBzdGF0aWMgaW50IGNvbXBfc2Fja19ucl9tYXggPSAyNTU7CiBzdGF0aWMg dTMyIHUzMl9tYXhfZGl2X0haID0gVUlOVF9NQVggLyBIWjsKK3N0YXRpYyBpbnQgb25lX2RheV9z ZWNzID0gMjQgKiAzNjAwOwogCiAvKiBvYnNvbGV0ZSAqLwogc3RhdGljIGludCBzeXNjdGxfdGNw X2xvd19sYXRlbmN5IF9fcmVhZF9tb3N0bHk7CkBAIC0xMTUxLDcgKzExNTIsOSBAQCBzdGF0aWMg c3RydWN0IGN0bF90YWJsZSBpcHY0X25ldF90YWJsZVtdID0gewogCQkuZGF0YQkJPSAmaW5pdF9u ZXQuaXB2NC5zeXNjdGxfdGNwX21pbl9ydHRfd2xlbiwKIAkJLm1heGxlbgkJPSBzaXplb2YoaW50 KSwKIAkJLm1vZGUJCT0gMDY0NCwKLQkJLnByb2NfaGFuZGxlcgk9IHByb2NfZG9pbnR2ZWMKKwkJ LnByb2NfaGFuZGxlcgk9IHByb2NfZG9pbnR2ZWNfbWlubWF4LAorCQkuZXh0cmExCQk9ICZ6ZXJv LAorCQkuZXh0cmEyCQk9ICZvbmVfZGF5X3NlY3MKIAl9LAogCXsKIAkJLnByb2NuYW1lCT0gInRj cF9hdXRvY29ya2luZyIsCi0tIAoyLjIwLjEKCgpGcm9tIDQ1N2UyM2ViZDcwZGM0NWNjOGM4YWY2 NzBlNzYyYTE2NTMzYmQ0Y2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFtaXQgQ29o ZW4gPGFtaXRjQG1lbGxhbm94LmNvbT4KRGF0ZTogVGh1LCAxOCBBcHIgMjAxOSAwNzoxNDoxNiAr MDAwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMTldIG1seHN3OiBzcGVjdHJ1bTogRml4IGF1dG9uZWcg c3RhdHVzIGluIGV0aHRvb2wKClsgVXBzdHJlYW0gY29tbWl0IDE1MWYwZGRkYmJmZTRjMzVjOWM1 YjY0ODczMTE1YWFmZDQzNmFmOWQgXQoKSWYgbGluayBpcyBkb3duIGFuZCBhdXRvbmVnIGlzIHNl dCB0byBvbi9vZmYsIHRoZSBzdGF0dXMgaW4gZXRodG9vbCBkb2VzCm5vdCBjaGFuZ2UuCgpUaGUg cmVhc29uIGlzIHdoZW4gdGhlIGxpbmsgaXMgZG93biB0aGUgZnVuY3Rpb24gcmV0dXJucyB3aXRo IHplcm8KYmVmb3JlIGNoYW5naW5nIGF1dG9uZWcgdmFsdWUuCgpNb3ZlIHRoZSBjaGVja2luZyBv ZiBsaW5rIHN0YXRlICh1cC9kb3duKSB0byBiZSBwZXJmb3JtZWQgYWZ0ZXIgc2V0dGluZwphdXRv bmVnIHZhbHVlLCBpbiBvcmRlciB0byBiZSBzdXJlIHRoYXQgYXV0b25lZyB3aWxsIGNoYW5nZSBp biBhbnkgY2FzZS4KCkZpeGVzOiA1NmFkZThmZTNmZTEgKCJtbHhzdzogc3BlY3RydW06IEFkZCBp bml0aWFsIHN1cHBvcnQgZm9yIFNwZWN0cnVtIEFTSUMiKQpTaWduZWQtb2ZmLWJ5OiBBbWl0IENv aGVuIDxhbWl0Y0BtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IElkbyBTY2hpbW1lbCA8aWRv c2NoQG1lbGxhbm94LmNvbT4KQWNrZWQtYnk6IEppcmkgUGlya28gPGppcmlAbWVsbGFub3guY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYyB8IDQgKyst LQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYwppbmRleCBjYmRl ZTUxNjRiZTcuLjkxODNjODRkYTcyYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHhzdy9zcGVjdHJ1bS5jCkBAIC0yNjY3LDExICsyNjY3LDExIEBAIG1seHN3X3NwX3Bv cnRfc2V0X2xpbmtfa3NldHRpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJaWYgKGVycikK IAkJcmV0dXJuIGVycjsKIAorCW1seHN3X3NwX3BvcnQtPmxpbmsuYXV0b25lZyA9IGF1dG9uZWc7 CisKIAlpZiAoIW5ldGlmX3J1bm5pbmcoZGV2KSkKIAkJcmV0dXJuIDA7CiAKLQltbHhzd19zcF9w b3J0LT5saW5rLmF1dG9uZWcgPSBhdXRvbmVnOwotCiAJbWx4c3dfc3BfcG9ydF9hZG1pbl9zdGF0 dXNfc2V0KG1seHN3X3NwX3BvcnQsIGZhbHNlKTsKIAltbHhzd19zcF9wb3J0X2FkbWluX3N0YXR1 c19zZXQobWx4c3dfc3BfcG9ydCwgdHJ1ZSk7CiAKLS0gCjIuMjAuMQoKCkZyb20gMjM5YjBjMjMy YTAwNTYyNGU3NmYxOWZmMmNkYTEyOTUzMzljNWY3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogRXJleiBBbGZhc2kgPGVyZXphQG1lbGxhbm94LmNvbT4KRGF0ZTogVGh1LCAxMSBBcHIg MjAxOSAxMDo0MTowMyArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMTldIG5ldC9tbHg1ZTogZXRo dG9vbCwgUmVtb3ZlIHVuc3VwcG9ydGVkIFNGUCBFRVBST00gaGlnaAogcGFnZXMgcXVlcnkKClsg VXBzdHJlYW0gY29tbWl0IGFjZTMyOWY0YWIzYmE0MzRiZTJhZGY2MTgwNzNjNzUyZDA4M2I1MjQg XQoKUXVlcnlpbmcgRUVQUk9NIGhpZ2ggcGFnZXMgZGF0YSBmb3IgU0ZQIG1vZHVsZSBpcyBjdXJy ZW50bHkKbm90IHN1cHBvcnRlZCBieSBvdXIgZHJpdmVyIGFuZCB5ZXQgcXVlcmllZCwgcmVzdWx0 aW5nIGluCmludmFsaWQgRlcgcXVlcmllcy4KClNldCB0aGUgRUVQUk9NIGV0aHRvb2wgZGF0YSBs ZW5ndGggdG8gMjU2IGZvciBTRlAgbW9kdWxlIHdpbGwKbGltaXQgdGhlIHJlYWRpbmcgZm9yIHBh Z2UgMCBvbmx5IGFuZCBwcmV2ZW50IGludmFsaWQgRlcgcXVlcmllcy4KCkZpeGVzOiBiYjY0MTQz ZWVlOGMgKCJuZXQvbWx4NWU6IEFkZCBldGh0b29sIHN1cHBvcnQgZm9yIGR1bXAgbW9kdWxlIEVF UFJPTSIpClNpZ25lZC1vZmYtYnk6IEVyZXogQWxmYXNpIDxlcmV6YUBtZWxsYW5veC5jb20+ClNp Z25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9ldGh0b29sLmMgfCAyICst CiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvcG9ydC5jICAgICAgIHwg NCAtLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA1IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9l dGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fZXRo dG9vbC5jCmluZGV4IDNiOWU1ZjBkMDIxMi4uMjUzNDk2YzRhM2RiIDEwMDY0NAotLS0gYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fZXRodG9vbC5jCisrKyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9ldGh0b29sLmMKQEAgLTE0 NzAsNyArMTQ3MCw3IEBAIHN0YXRpYyBpbnQgbWx4NWVfZ2V0X21vZHVsZV9pbmZvKHN0cnVjdCBu ZXRfZGV2aWNlICpuZXRkZXYsCiAJCWJyZWFrOwogCWNhc2UgTUxYNV9NT0RVTEVfSURfU0ZQOgog CQltb2RpbmZvLT50eXBlICAgICAgID0gRVRIX01PRFVMRV9TRkZfODQ3MjsKLQkJbW9kaW5mby0+ ZWVwcm9tX2xlbiA9IEVUSF9NT0RVTEVfU0ZGXzg0NzJfTEVOOworCQltb2RpbmZvLT5lZXByb21f bGVuID0gTUxYNV9FRVBST01fUEFHRV9MRU5HVEg7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCW5l dGRldl9lcnIocHJpdi0+bmV0ZGV2LCAiJXM6IGNhYmxlIHR5cGUgbm90IHJlY29nbml6ZWQ6MHgl eFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9wb3J0LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvcG9ydC5j CmluZGV4IDJiODJmMzVmNGMzNS4uZWZjZTFmYTM3ZjZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvcG9ydC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9wb3J0LmMKQEAgLTQwNCwxMCArNDA0LDYgQEAgaW50 IG1seDVfcXVlcnlfbW9kdWxlX2VlcHJvbShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LAogCQlz aXplIC09IG9mZnNldCArIHNpemUgLSBNTFg1X0VFUFJPTV9QQUdFX0xFTkdUSDsKIAogCWkyY19h ZGRyID0gTUxYNV9JMkNfQUREUl9MT1c7Ci0JaWYgKG9mZnNldCA+PSBNTFg1X0VFUFJPTV9QQUdF X0xFTkdUSCkgewotCQlpMmNfYWRkciA9IE1MWDVfSTJDX0FERFJfSElHSDsKLQkJb2Zmc2V0IC09 IE1MWDVfRUVQUk9NX1BBR0VfTEVOR1RIOwotCX0KIAogCU1MWDVfU0VUKG1jaWFfcmVnLCBpbiwg bCwgMCk7CiAJTUxYNV9TRVQobWNpYV9yZWcsIGluLCBtb2R1bGUsIG1vZHVsZV9udW0pOwotLSAK Mi4yMC4xCgoKRnJvbSAxMmE0ZDA2ZDEwOWZlNjc0MGEzN2I4OGE3YWVmZjFjZWI3MzdkOWUxIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBaaHUgWWFuanVuIDx5YW5qdW4uemh1QG9yYWNs ZS5jb20+CkRhdGU6IFdlZCwgMjQgQXByIDIwMTkgMDI6NTY6NDIgLTA0MDAKU3ViamVjdDogW1BB VENIIDA1LzE5XSBuZXQ6IHJkczogZXhjaGFuZ2Ugb2YgOEsgYW5kIDFNIHBvb2wKClsgVXBzdHJl YW0gY29tbWl0IDRiOWZjNzE0NjI0OWE2ZTBlMzE3NWQwYWNjMDMzZmRjZDJiZmNiMTcgXQoKQmVm b3JlIHRoZSBjb21taXQgNDkwZWE1OTY3YjBkICgiUkRTOiBJQjogbW92ZSBGTVIgY29kZSB0byBp dHMgb3duIGZpbGUiKSwKd2hlbiB0aGUgZGlydHlfY291bnQgaXMgZ3JlYXRlciB0aGFuIDkvMTAg b2YgbWF4X2l0ZW1zIG9mIDhLIHBvb2wsCjFNIHBvb2wgaXMgdXNlZCwgVmljZSB2ZXJzYS4gQWZ0 ZXIgdGhlIGNvbW1pdCA0OTBlYTU5NjdiMGQgKCJSRFM6IElCOiBtb3ZlCkZNUiBjb2RlIHRvIGl0 cyBvd24gZmlsZSIpLCB0aGUgYWJvdmUgaXMgcmVtb3ZlZC4gV2hlbiB3ZSBtYWtlIHRoZQpmb2xs b3dpbmcgdGVzdHMuCgpTZXJ2ZXI6CiAgcmRzLXN0cmVzcyAtciAxLjEuMS4xNiAtRCAxTQoKQ2xp ZW50OgogIHJkcy1zdHJlc3MgLXIgMS4xLjEuMTQgLXMgMS4xLjEuMTYgLUQgMU0KClRoZSBmb2xs b3dpbmcgd2lsbCBhcHBlYXIuCiIKY29ubmVjdGluZyB0byAxLjEuMS4xNjo0MDAwCm5lZ290aWF0 ZWQgb3B0aW9ucywgdGFza3Mgd2lsbCBzdGFydCBpbiAyIHNlY29uZHMKU3RhcnRpbmcgdXAuLmhl YWRlciBmcm9tIDEuMS4xLjE2Njo0MDAxIHRvIGlkIDQwMDEgYm9ndXMKLi4KdHNrcyAgdHgvcyAg cngvcyB0eCtyeCBLL3MgIG1iaSBLL3MgIG1ibyBLL3MgdHggdXMvYyAgcnR0IHVzCmNwdSAlCiAg IDEgICAgMCAgICAwICAgICAwLjAwICAgICAwLjAwICAgICAwLjAwICAgIDAuMDAgMC4wMCAtMS4w MAogICAxICAgIDAgICAgMCAgICAgMC4wMCAgICAgMC4wMCAgICAgMC4wMCAgICAwLjAwIDAuMDAg LTEuMDAKICAgMSAgICAwICAgIDAgICAgIDAuMDAgICAgIDAuMDAgICAgIDAuMDAgICAgMC4wMCAw LjAwIC0xLjAwCiAgIDEgICAgMCAgICAwICAgICAwLjAwICAgICAwLjAwICAgICAwLjAwICAgIDAu MDAgMC4wMCAtMS4wMAogICAxICAgIDAgICAgMCAgICAgMC4wMCAgICAgMC4wMCAgICAgMC4wMCAg ICAwLjAwIDAuMDAgLTEuMDAKLi4uCiIKU28gdGhpcyBleGNoYW5nZSBiZXR3ZWVuIDhLIGFuZCAx TSBwb29sIGlzIGFkZGVkIGJhY2suCgpGaXhlczogY29tbWl0IDQ5MGVhNTk2N2IwZCAoIlJEUzog SUI6IG1vdmUgRk1SIGNvZGUgdG8gaXRzIG93biBmaWxlIikKU2lnbmVkLW9mZi1ieTogWmh1IFlh bmp1biA8eWFuanVuLnpodUBvcmFjbGUuY29tPgpBY2tlZC1ieTogU2FudG9zaCBTaGlsaW1rYXIg PHNhbnRvc2guc2hpbGlta2FyQG9yYWNsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvcmRzL2liX2Ztci5jICB8IDExICsr KysrKysrKysrCiBuZXQvcmRzL2liX3JkbWEuYyB8ICAzIC0tLQogMiBmaWxlcyBjaGFuZ2VkLCAx MSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9yZHMvaWJf Zm1yLmMgYi9uZXQvcmRzL2liX2Ztci5jCmluZGV4IGUwZjcwYzQwNTFiNi4uMDFlNzY0ZjhmMjI0 IDEwMDY0NAotLS0gYS9uZXQvcmRzL2liX2Ztci5jCisrKyBiL25ldC9yZHMvaWJfZm1yLmMKQEAg LTQ0LDYgKzQ0LDE3IEBAIHN0cnVjdCByZHNfaWJfbXIgKnJkc19pYl9hbGxvY19mbXIoc3RydWN0 IHJkc19pYl9kZXZpY2UgKnJkc19pYmRldiwgaW50IG5wYWdlcykKIAllbHNlCiAJCXBvb2wgPSBy ZHNfaWJkZXYtPm1yXzFtX3Bvb2w7CiAKKwlpZiAoYXRvbWljX3JlYWQoJnBvb2wtPmRpcnR5X2Nv dW50KSA+PSBwb29sLT5tYXhfaXRlbXMgLyAxMCkKKwkJcXVldWVfZGVsYXllZF93b3JrKHJkc19p Yl9tcl93cSwgJnBvb2wtPmZsdXNoX3dvcmtlciwgMTApOworCisJLyogU3dpdGNoIHBvb2xzIGlm IG9uZSBvZiB0aGUgcG9vbCBpcyByZWFjaGluZyB1cHBlciBsaW1pdCAqLworCWlmIChhdG9taWNf cmVhZCgmcG9vbC0+ZGlydHlfY291bnQpID49ICBwb29sLT5tYXhfaXRlbXMgKiA5IC8gMTApIHsK KwkJaWYgKHBvb2wtPnBvb2xfdHlwZSA9PSBSRFNfSUJfTVJfOEtfUE9PTCkKKwkJCXBvb2wgPSBy ZHNfaWJkZXYtPm1yXzFtX3Bvb2w7CisJCWVsc2UKKwkJCXBvb2wgPSByZHNfaWJkZXYtPm1yXzhr X3Bvb2w7CisJfQorCiAJaWJtciA9IHJkc19pYl90cnlfcmV1c2VfaWJtcihwb29sKTsKIAlpZiAo aWJtcikKIAkJcmV0dXJuIGlibXI7CmRpZmYgLS1naXQgYS9uZXQvcmRzL2liX3JkbWEuYyBiL25l dC9yZHMvaWJfcmRtYS5jCmluZGV4IDYzYzhkMTA3YWRjZi4uZDY2NGU5YWRlNzRkIDEwMDY0NAot LS0gYS9uZXQvcmRzL2liX3JkbWEuYworKysgYi9uZXQvcmRzL2liX3JkbWEuYwpAQCAtNDU0LDkg KzQ1NCw2IEBAIHN0cnVjdCByZHNfaWJfbXIgKnJkc19pYl90cnlfcmV1c2VfaWJtcihzdHJ1Y3Qg cmRzX2liX21yX3Bvb2wgKnBvb2wpCiAJc3RydWN0IHJkc19pYl9tciAqaWJtciA9IE5VTEw7CiAJ aW50IGl0ZXIgPSAwOwogCi0JaWYgKGF0b21pY19yZWFkKCZwb29sLT5kaXJ0eV9jb3VudCkgPj0g cG9vbC0+bWF4X2l0ZW1zX3NvZnQgLyAxMCkKLQkJcXVldWVfZGVsYXllZF93b3JrKHJkc19pYl9t cl93cSwgJnBvb2wtPmZsdXNoX3dvcmtlciwgMTApOwotCiAJd2hpbGUgKDEpIHsKIAkJaWJtciA9 IHJkc19pYl9yZXVzZV9tcihwb29sKTsKIAkJaWYgKGlibXIpCi0tIAoyLjIwLjEKCgpGcm9tIDVi NGFlMDU1NzI0NGY0NjVkODZhNjQ0NWVhMTNkMzMxMzJlOGU0M2EgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogV2Vk LCAyNCBBcHIgMjAxOSAwNTozNTowMCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMTldIG5ldC9y b3NlOiBmaXggdW5ib3VuZCBsb29wIGluIHJvc2VfbG9vcGJhY2tfdGltZXIoKQoKWyBVcHN0cmVh bSBjb21taXQgMDQ1M2M2ODI0NTk1ODM5MTBkNjExYTk2ZGU5MjhmNDQ0MjIwNTQ5MyBdCgpUaGlz IHBhdGNoIGFkZHMgYSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHNrYnMgdGhhdCBmdXp6ZXJzIGNh biBxdWV1ZQppbnRvIGxvb3BiYWNrX3F1ZXVlLiAxMDAwIHBhY2tldHMgZm9yIHJvc2UgbG9vcGJh Y2sgc2VlbXMgbW9yZSB0aGFuIGVub3VnaC4KClRoZW4sIHNpbmNlIHdlIG5vdyBoYXZlIG11bHRp cGxlIGNwdXMgaW4gbW9zdCBsaW51eCBob3N0cywKd2UgYWxzbyBuZWVkIHRvIGxpbWl0IHRoZSBu dW1iZXIgb2Ygc2ticyByb3NlX2xvb3BiYWNrX3RpbWVyKCkKY2FuIGRlcXVldWUgYXQgZWFjaCBy b3VuZC4KCnJvc2VfbG9vcGJhY2tfcXVldWUoKSBjYW4gYmUgZHJvcC1tb25pdG9yIGZyaWVuZGx5 LCBjYWxsaW5nCmNvbnN1bWVfc2tiKCkgb3Iga2ZyZWVfc2tiKCkgYXBwcm9wcmlhdGVseS4KCkZp bmFsbHksIHVzZSBtb2RfdGltZXIoKSBpbnN0ZWFkIG9mIGRlbF90aW1lcigpICsgYWRkX3RpbWVy KCkKCnN5emJvdCByZXBvcnQgd2FzIDoKCnJjdTogSU5GTzogcmN1X3ByZWVtcHQgc2VsZi1kZXRl Y3RlZCBzdGFsbCBvbiBDUFUKcmN1OiAgICAwLS4uLiE6ICgxMDQ5OSB0aWNrcyB0aGlzIEdQKSBp ZGxlPTUzNi8xLzB4NDAwMDAwMDAwMDAwMDAwMiBzb2Z0aXJxPTEwMzI5MS8xMDMyOTEgZnFzPTM0 CnJjdTogICAgICh0PTEwNTAwIGppZmZpZXMgZz0xNDAzMjEgcT0zMjMpCnJjdTogcmN1X3ByZWVt cHQga3RocmVhZCBzdGFydmVkIGZvciAxMDQyNiBqaWZmaWVzISBnMTQwMzIxIGYweDAgUkNVX0dQ X1dBSVRfRlFTKDUpIC0+c3RhdGU9MHg0MDIgLT5jcHU9MQpyY3U6IFJDVSBncmFjZS1wZXJpb2Qg a3RocmVhZCBzdGFjayBkdW1wOgpyY3VfcHJlZW1wdCAgICAgSTI5MTY4ICAgIDEwICAgICAgMiAw eDgwMDAwMDAwCkNhbGwgVHJhY2U6CiBjb250ZXh0X3N3aXRjaCBrZXJuZWwvc2NoZWQvY29yZS5j OjI4NzcgW2lubGluZV0KIF9fc2NoZWR1bGUrMHg4MTMvMHgxY2MwIGtlcm5lbC9zY2hlZC9jb3Jl LmM6MzUxOAogc2NoZWR1bGUrMHg5Mi8weDE4MCBrZXJuZWwvc2NoZWQvY29yZS5jOjM1NjIKIHNj aGVkdWxlX3RpbWVvdXQrMHg0ZGIvMHhmZDAga2VybmVsL3RpbWUvdGltZXIuYzoxODAzCiByY3Vf Z3BfZnFzX2xvb3Aga2VybmVsL3JjdS90cmVlLmM6MTk3MSBbaW5saW5lXQogcmN1X2dwX2t0aHJl YWQrMHg5NjIvMHgxN2IwIGtlcm5lbC9yY3UvdHJlZS5jOjIxMjgKIGt0aHJlYWQrMHgzNTcvMHg0 MzAga2VybmVsL2t0aHJlYWQuYzoyNTMKIHJldF9mcm9tX2ZvcmsrMHgzYS8weDUwIGFyY2gveDg2 L2VudHJ5L2VudHJ5XzY0LlM6MzUyCk5NSSBiYWNrdHJhY2UgZm9yIGNwdSAwCkNQVTogMCBQSUQ6 IDc2MzIgQ29tbToga3dvcmtlci8wOjQgTm90IHRhaW50ZWQgNS4xLjAtcmM1KyAjMTcyCkhhcmR3 YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29vZ2xlIENvbXB1dGUgRW5n aW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExCldvcmtxdWV1ZTogZXZlbnRzIGl0ZXJhdGVfY2xl YW51cF93b3JrCkNhbGwgVHJhY2U6CiA8SVJRPgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNr LmM6NzcgW2lubGluZV0KIGR1bXBfc3RhY2srMHgxNzIvMHgxZjAgbGliL2R1bXBfc3RhY2suYzox MTMKIG5taV9jcHVfYmFja3RyYWNlLmNvbGQrMHg2My8weGE0IGxpYi9ubWlfYmFja3RyYWNlLmM6 MTAxCiBubWlfdHJpZ2dlcl9jcHVtYXNrX2JhY2t0cmFjZSsweDFiZS8weDIzNiBsaWIvbm1pX2Jh Y2t0cmFjZS5jOjYyCiBhcmNoX3RyaWdnZXJfY3B1bWFza19iYWNrdHJhY2UrMHgxNC8weDIwIGFy Y2gveDg2L2tlcm5lbC9hcGljL2h3X25taS5jOjM4CiB0cmlnZ2VyX3NpbmdsZV9jcHVfYmFja3Ry YWNlIGluY2x1ZGUvbGludXgvbm1pLmg6MTY0IFtpbmxpbmVdCiByY3VfZHVtcF9jcHVfc3RhY2tz KzB4MTgzLzB4MWNmIGtlcm5lbC9yY3UvdHJlZS5jOjEyMjMKIHByaW50X2NwdV9zdGFsbCBrZXJu ZWwvcmN1L3RyZWUuYzoxMzYwIFtpbmxpbmVdCiBjaGVja19jcHVfc3RhbGwga2VybmVsL3JjdS90 cmVlLmM6MTQzNCBbaW5saW5lXQogcmN1X3BlbmRpbmcga2VybmVsL3JjdS90cmVlLmM6MzEwMyBb aW5saW5lXQogcmN1X3NjaGVkX2Nsb2NrX2lycS5jb2xkKzB4NTAwLzB4YTRhIGtlcm5lbC9yY3Uv dHJlZS5jOjI1NDQKIHVwZGF0ZV9wcm9jZXNzX3RpbWVzKzB4MzIvMHg4MCBrZXJuZWwvdGltZS90 aW1lci5jOjE2MzUKIHRpY2tfc2NoZWRfaGFuZGxlKzB4YTIvMHgxOTAga2VybmVsL3RpbWUvdGlj ay1zY2hlZC5jOjE2MQogdGlja19zY2hlZF90aW1lcisweDQ3LzB4MTMwIGtlcm5lbC90aW1lL3Rp Y2stc2NoZWQuYzoxMjcxCiBfX3J1bl9ocnRpbWVyIGtlcm5lbC90aW1lL2hydGltZXIuYzoxMzg5 IFtpbmxpbmVdCiBfX2hydGltZXJfcnVuX3F1ZXVlcysweDMzZS8weGRlMCBrZXJuZWwvdGltZS9o cnRpbWVyLmM6MTQ1MQogaHJ0aW1lcl9pbnRlcnJ1cHQrMHgzMTQvMHg3NzAga2VybmVsL3RpbWUv aHJ0aW1lci5jOjE1MDkKIGxvY2FsX2FwaWNfdGltZXJfaW50ZXJydXB0IGFyY2gveDg2L2tlcm5l bC9hcGljL2FwaWMuYzoxMDM1IFtpbmxpbmVdCiBzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQrMHgx MjAvMHg1NzAgYXJjaC94ODYva2VybmVsL2FwaWMvYXBpYy5jOjEwNjAKIGFwaWNfdGltZXJfaW50 ZXJydXB0KzB4Zi8weDIwIGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlM6ODA3ClJJUDogMDAxMDpf X3Nhbml0aXplcl9jb3ZfdHJhY2VfcGMrMHgwLzB4NTAga2VybmVsL2tjb3YuYzo5NQpDb2RlOiA4 OSAyNSBiNCA2ZSBlYyAwOCA0MSBiYyBmNCBmZiBmZiBmZiBlOCBjZCA1ZCBlYSBmZiA0OCBjNyAw NSA5ZSA2ZSBlYyAwOCAwMCAwMCAwMCAwMCBlOSBhNCBlOSBmZiBmZiA5MCA5MCA5MCA5MCA5MCA5 MCA5MCA5MCA5MCA8NTU+IDQ4IDg5IGU1IDQ4IDhiIDc1IDA4IDY1IDQ4IDhiIDA0IDI1IDAwIGVl IDAxIDAwIDY1IDhiIDE1IGM4IDYwClJTUDogMDAxODpmZmZmODg4MGFlODA3Y2UwIEVGTEFHUzog MDAwMDAyODYgT1JJR19SQVg6IGZmZmZmZmZmZmZmZmZmMTMKUkFYOiBmZmZmODg4MDZmZDQwNjQw IFJCWDogZGZmZmZjMDAwMDAwMDAwMCBSQ1g6IGZmZmZmZmZmODYzZmJjNTYKUkRYOiAwMDAwMDAw MDAwMDAwMTAwIFJTSTogZmZmZmZmZmY4NjNmYmMxZCBSREk6IGZmZmY4ODgwOGNmOTQyMjgKUkJQ OiBmZmZmODg4MGFlODA3ZDEwIFIwODogZmZmZjg4ODA2ZmQ0MDY0MCBSMDk6IGZmZmZlZDEwMTVk MDBmOGIKUjEwOiBmZmZmZWQxMDE1ZDAwZjhhIFIxMTogMDAwMDAwMDAwMDAwMDAwMyBSMTI6IGZm ZmY4ODgwOGNmOTQxYzAKUjEzOiAwMDAwMDAwMGZmZmZmMDM0IFIxNDogZmZmZjg4ODIxNjZjZDg0 MCBSMTU6IDAwMDAwMDAwMDAwMDAwMDAKIHJvc2VfbG9vcGJhY2tfdGltZXIrMHgzMGQvMHgzZjAg bmV0L3Jvc2Uvcm9zZV9sb29wYmFjay5jOjkxCiBjYWxsX3RpbWVyX2ZuKzB4MTkwLzB4NzIwIGtl cm5lbC90aW1lL3RpbWVyLmM6MTMyNQogZXhwaXJlX3RpbWVycyBrZXJuZWwvdGltZS90aW1lci5j OjEzNjIgW2lubGluZV0KIF9fcnVuX3RpbWVycyBrZXJuZWwvdGltZS90aW1lci5jOjE2ODEgW2lu bGluZV0KIF9fcnVuX3RpbWVycyBrZXJuZWwvdGltZS90aW1lci5jOjE2NDkgW2lubGluZV0KIHJ1 bl90aW1lcl9zb2Z0aXJxKzB4NjUyLzB4MTcwMCBrZXJuZWwvdGltZS90aW1lci5jOjE2OTQKIF9f ZG9fc29mdGlycSsweDI2Ni8weDk1YSBrZXJuZWwvc29mdGlycS5jOjI5MwogZG9fc29mdGlycV9v d25fc3RhY2srMHgyYS8weDQwIGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlM6MTAyNwoKRml4ZXM6 IDFkYTE3N2U0YzNmNCAoIkxpbnV4LTIuNi4xMi1yYzIiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1 bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBzeXpib3QgPHN5emthbGxl ckBnb29nbGVncm91cHMuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Jvc2Uvcm9zZV9sb29wYmFjay5jIHwgMjcgKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Jvc2Uvcm9zZV9sb29wYmFjay5jIGIv bmV0L3Jvc2Uvcm9zZV9sb29wYmFjay5jCmluZGV4IDdhZjRmOTljNGE5My4uMDk0YTY2MjFmOGU4 IDEwMDY0NAotLS0gYS9uZXQvcm9zZS9yb3NlX2xvb3BiYWNrLmMKKysrIGIvbmV0L3Jvc2Uvcm9z ZV9sb29wYmFjay5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgog CiBzdGF0aWMgc3RydWN0IHNrX2J1ZmZfaGVhZCBsb29wYmFja19xdWV1ZTsKKyNkZWZpbmUgUk9T RV9MT09QQkFDS19MSU1JVCAxMDAwCiBzdGF0aWMgc3RydWN0IHRpbWVyX2xpc3QgbG9vcGJhY2tf dGltZXI7CiAKIHN0YXRpYyB2b2lkIHJvc2Vfc2V0X2xvb3BiYWNrX3RpbWVyKHZvaWQpOwpAQCAt MzUsMjkgKzM2LDI3IEBAIHN0YXRpYyBpbnQgcm9zZV9sb29wYmFja19ydW5uaW5nKHZvaWQpCiAK IGludCByb3NlX2xvb3BiYWNrX3F1ZXVlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCByb3Nl X25laWdoICpuZWlnaCkKIHsKLQlzdHJ1Y3Qgc2tfYnVmZiAqc2tibjsKKwlzdHJ1Y3Qgc2tfYnVm ZiAqc2tibiA9IE5VTEw7CiAKLQlza2JuID0gc2tiX2Nsb25lKHNrYiwgR0ZQX0FUT01JQyk7CisJ aWYgKHNrYl9xdWV1ZV9sZW4oJmxvb3BiYWNrX3F1ZXVlKSA8IFJPU0VfTE9PUEJBQ0tfTElNSVQp CisJCXNrYm4gPSBza2JfY2xvbmUoc2tiLCBHRlBfQVRPTUlDKTsKIAotCWtmcmVlX3NrYihza2Ip OwotCi0JaWYgKHNrYm4gIT0gTlVMTCkgeworCWlmIChza2JuKSB7CisJCWNvbnN1bWVfc2tiKHNr Yik7CiAJCXNrYl9xdWV1ZV90YWlsKCZsb29wYmFja19xdWV1ZSwgc2tibik7CiAKIAkJaWYgKCFy b3NlX2xvb3BiYWNrX3J1bm5pbmcoKSkKIAkJCXJvc2Vfc2V0X2xvb3BiYWNrX3RpbWVyKCk7CisJ fSBlbHNlIHsKKwkJa2ZyZWVfc2tiKHNrYik7CiAJfQogCiAJcmV0dXJuIDE7CiB9CiAKLQogc3Rh dGljIHZvaWQgcm9zZV9zZXRfbG9vcGJhY2tfdGltZXIodm9pZCkKIHsKLQlkZWxfdGltZXIoJmxv b3BiYWNrX3RpbWVyKTsKLQotCWxvb3BiYWNrX3RpbWVyLmV4cGlyZXMgID0gamlmZmllcyArIDEw OwotCWFkZF90aW1lcigmbG9vcGJhY2tfdGltZXIpOworCW1vZF90aW1lcigmbG9vcGJhY2tfdGlt ZXIsIGppZmZpZXMgKyAxMCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJvc2VfbG9vcGJhY2tfdGltZXIo c3RydWN0IHRpbWVyX2xpc3QgKnVudXNlZCkKQEAgLTY4LDggKzY3LDEyIEBAIHN0YXRpYyB2b2lk IHJvc2VfbG9vcGJhY2tfdGltZXIoc3RydWN0IHRpbWVyX2xpc3QgKnVudXNlZCkKIAlzdHJ1Y3Qg c29jayAqc2s7CiAJdW5zaWduZWQgc2hvcnQgZnJhbWV0eXBlOwogCXVuc2lnbmVkIGludCBsY2lf aSwgbGNpX287CisJaW50IGNvdW50OwogCi0Jd2hpbGUgKChza2IgPSBza2JfZGVxdWV1ZSgmbG9v cGJhY2tfcXVldWUpKSAhPSBOVUxMKSB7CisJZm9yIChjb3VudCA9IDA7IGNvdW50IDwgUk9TRV9M T09QQkFDS19MSU1JVDsgY291bnQrKykgeworCQlza2IgPSBza2JfZGVxdWV1ZSgmbG9vcGJhY2tf cXVldWUpOworCQlpZiAoIXNrYikKKwkJCXJldHVybjsKIAkJaWYgKHNrYi0+bGVuIDwgUk9TRV9N SU5fTEVOKSB7CiAJCQlrZnJlZV9za2Ioc2tiKTsKIAkJCWNvbnRpbnVlOwpAQCAtMTA2LDYgKzEw OSw4IEBAIHN0YXRpYyB2b2lkIHJvc2VfbG9vcGJhY2tfdGltZXIoc3RydWN0IHRpbWVyX2xpc3Qg KnVudXNlZCkKIAkJCWtmcmVlX3NrYihza2IpOwogCQl9CiAJfQorCWlmICghc2tiX3F1ZXVlX2Vt cHR5KCZsb29wYmFja19xdWV1ZSkpCisJCW1vZF90aW1lcigmbG9vcGJhY2tfdGltZXIsIGppZmZp ZXMgKyAxKTsKIH0KIAogdm9pZCBfX2V4aXQgcm9zZV9sb29wYmFja19jbGVhcih2b2lkKQotLSAK Mi4yMC4xCgoKRnJvbSBlYmY2NDM4Y2FmNTY3NWE4MjQxY2JkNTNiOWU1NTY2ZmE0ODU4MDEyIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWaW5vZCBLb3VsIDx2a291bEBrZXJuZWwub3Jn PgpEYXRlOiBNb24sIDIyIEFwciAyMDE5IDE1OjE1OjMyICswNTMwClN1YmplY3Q6IFtQQVRDSCAw Ny8xOV0gbmV0OiBzdG1tYWM6IG1vdmUgc3RtbWFjX2NoZWNrX2V0aGVyX2FkZHIoKSB0byBkcml2 ZXIKIHByb2JlCgpbIFVwc3RyZWFtIGNvbW1pdCBiNTYxYWYzNmIxODQxMDg4NTUyNDY0Y2RjM2Y2 MzcxZDkyZjE3NzEwIF0KCnN0bW1hY19jaGVja19ldGhlcl9hZGRyKCkgY2hlY2tzIHRoZSBNQUMg YWRkcmVzcyBhbmQgYXNzaWducyBvbmUgaW4KZHJpdmVyIG9wZW4oKS4gSW4gbWFueSBjYXNlcyB3 aGVuIHdlIGNyZWF0ZSBzbGF2ZSBuZXRkZXZpY2UsIHRoZSBkZXYKYWRkciBpcyBpbmhlcml0ZWQg ZnJvbSBtYXN0ZXIgYnV0IHRoZSBtYXN0ZXIgZGV2IGFkZHIgbWF5YmUgTlVMTCBhdAp0aGF0IHRp bWUsIHNvIG1vdmUgdGhpcyBjYWxsIHRvIGRyaXZlciBwcm9iZSBzbyB0aGF0IGFkZHJlc3MgaXMK YWx3YXlzIHZhbGlkLgoKU2lnbmVkLW9mZi1ieTogWGlhb2ZlaSBTaGVuIDx4aWFvZmVpc0Bjb2Rl YXVyb3JhLm9yZz4KVGVzdGVkLWJ5OiBYaWFvZmVpIFNoZW4gPHhpYW9mZWlzQGNvZGVhdXJvcmEu b3JnPgpTaWduZWQtb2ZmLWJ5OiBTbmVoIFNoYWggPHNuZWhzaGFoQGNvZGVhdXJvcmEub3JnPgpT aWduZWQtb2ZmLWJ5OiBWaW5vZCBLb3VsIDx2a291bEBrZXJuZWwub3JnPgpSZXZpZXdlZC1ieTog QW5kcmV3IEx1bm4gPGFuZHJld0BsdW5uLmNoPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNy by9zdG1tYWMvc3RtbWFjX21haW4uYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3Rt aWNyby9zdG1tYWMvc3RtbWFjX21haW4uYwppbmRleCAwMTlhYjk5ZTY1YmIuLjFkOGQ2ZjJkZGZk NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFj X21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWNf bWFpbi5jCkBAIC0yNTkwLDggKzI1OTAsNiBAQCBzdGF0aWMgaW50IHN0bW1hY19vcGVuKHN0cnVj dCBuZXRfZGV2aWNlICpkZXYpCiAJdTMyIGNoYW47CiAJaW50IHJldDsKIAotCXN0bW1hY19jaGVj a19ldGhlcl9hZGRyKHByaXYpOwotCiAJaWYgKHByaXYtPmh3LT5wY3MgIT0gU1RNTUFDX1BDU19S R01JSSAmJgogCSAgICBwcml2LT5ody0+cGNzICE9IFNUTU1BQ19QQ1NfVEJJICYmCiAJICAgIHBy aXYtPmh3LT5wY3MgIT0gU1RNTUFDX1BDU19SVEJJKSB7CkBAIC00MjY1LDYgKzQyNjMsOCBAQCBp bnQgc3RtbWFjX2R2cl9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsCiAJaWYgKHJldCkKIAkJ Z290byBlcnJvcl9od19pbml0OwogCisJc3RtbWFjX2NoZWNrX2V0aGVyX2FkZHIocHJpdik7CisK IAkvKiBDb25maWd1cmUgcmVhbCBSWCBhbmQgVFggcXVldWVzICovCiAJbmV0aWZfc2V0X3JlYWxf bnVtX3J4X3F1ZXVlcyhuZGV2LCBwcml2LT5wbGF0LT5yeF9xdWV1ZXNfdG9fdXNlKTsKIAluZXRp Zl9zZXRfcmVhbF9udW1fdHhfcXVldWVzKG5kZXYsIHByaXYtPnBsYXQtPnR4X3F1ZXVlc190b191 c2UpOwotLSAKMi4yMC4xCgoKRnJvbSA4ZDJkZjA3NTE2YTA0MWRiYmUzYjNiODU2M2E5MjBkZTAy MmNkZmZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYWt1YiBLaWNpbnNraSA8amFr dWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KRGF0ZTogV2VkLCAxNyBBcHIgMjAxOSAxMDo1MTox OSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTldIG5ldC90bHM6IGZpeCByZWZjb3VudCBhZGp1 c3RtZW50IGluIGZhbGxiYWNrCgpbIFVwc3RyZWFtIGNvbW1pdCA5MTg4ZDVjYTQ1NGZkNjY1MTQ1 OTA0MjY3ZTcyNmU5ZThkMTIyZjVjIF0KClVubGlrZSBhdG9taWNfYWRkKCksIHJlZmNvdW50X2Fk ZCgpIGRvZXMgbm90IGRlYWwgd2VsbAp3aXRoIGEgbmVnYXRpdmUgYXJndW1lbnQuICBUTFMgZmFs bGJhY2sgY29kZSByZWFsbG9jYXRlcwp0aGUgc2tiIGFuZCBpcyB2ZXJ5IGxpa2VseSB0byBzaHJp bmsgdGhlIHRydWVzaXplLCBsZWFkaW5nIHRvOgoKWyAgMTg5LjUxMzI1NF0gV0FSTklORzogQ1BV OiA1IFBJRDogMCBhdCBsaWIvcmVmY291bnQuYzo4MSByZWZjb3VudF9hZGRfbm90X3plcm9fY2hl Y2tlZCsweDE1Yy8weDE4MAogQ2FsbCBUcmFjZToKICByZWZjb3VudF9hZGRfY2hlY2tlZCsweDYv MHg0MAogIHRsc19lbmNfc2tiKzB4YjkzLzB4MTNlMCBbdGxzXQoKT25jZSB3bWVtX2FsbG9jYXRl ZCBjb3VudCBzYXR1cmF0ZXMgdGhlIGFwcGxpY2F0aW9uIGNhbiBubyBsb25nZXIKc2VuZCBkYXRh IG9uIHRoZSBzb2NrZXQuICBUaGlzIGlzIHNpbWlsYXIgdG8gRXJpYydzIGZpeGVzIGZvciBHU08s ClRDUDoKY29tbWl0IDdlYzMxOGZlZWVkMSAoInRjcDogZ3NvOiBhdm9pZCByZWZjb3VudF90IHdh cm5pbmcgZnJvbSB0Y3BfZ3NvX3NlZ21lbnQoKSIpCmFuZCBVRFA6CmNvbW1pdCA1NzViNjViYzVi ZmYgKCJ1ZHA6IGF2b2lkIHJlZmNvdW50X3Qgc2F0dXJhdGlvbiBpbiBfX3VkcF9nc29fc2VnbWVu dCgpIikuCgpVbmxpa2UgdGhlIEdTTyBjYXNlLCBmb3IgVExTIGZhbGxiYWNrIGl0J3MgbGlrZWx5 IHRoYXQgdGhlIHNrYiBoYXMKc2hydW5rLCBzbyB0aGUgImxpa2VseSIgYW5ub3RhdGlvbiBpcyB0 aGUgb3RoZXIgd2F5IGFyb3VuZCAobGlrZWx5CmJyYW5jaCBiZWluZyAic3ViIikuCgpGaXhlczog ZThmNjk3OTk4MTBjICgibmV0L3RsczogQWRkIGdlbmVyaWMgTklDIG9mZmxvYWQgaW5mcmFzdHJ1 Y3R1cmUiKQpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0 cm9ub21lLmNvbT4KUmV2aWV3ZWQtYnk6IEpvaG4gSHVybGV5IDxqb2huLmh1cmxleUBuZXRyb25v bWUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5u ZXQ+Ci0tLQogbmV0L3Rscy90bHNfZGV2aWNlX2ZhbGxiYWNrLmMgfCAxMyArKysrKysrKysrLS0t CiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9uZXQvdGxzL3Rsc19kZXZpY2VfZmFsbGJhY2suYyBiL25ldC90bHMvdGxzX2Rldmlj ZV9mYWxsYmFjay5jCmluZGV4IDQ1MGE2ZGJjNWE4OC4uZWY4OTM0ZmQ4Njk4IDEwMDY0NAotLS0g YS9uZXQvdGxzL3Rsc19kZXZpY2VfZmFsbGJhY2suYworKysgYi9uZXQvdGxzL3Rsc19kZXZpY2Vf ZmFsbGJhY2suYwpAQCAtMTkzLDYgKzE5Myw5IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9jaGtzdW0o c3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IGhlYWRsbikKIAogc3RhdGljIHZvaWQgY29tcGxldGVf c2tiKHN0cnVjdCBza19idWZmICpuc2tiLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgaGVhZGxu KQogeworCXN0cnVjdCBzb2NrICpzayA9IHNrYi0+c2s7CisJaW50IGRlbHRhOworCiAJc2tiX2Nv cHlfaGVhZGVyKG5za2IsIHNrYik7CiAKIAlza2JfcHV0KG5za2IsIHNrYi0+bGVuKTsKQEAgLTIw MCwxMSArMjAzLDE1IEBAIHN0YXRpYyB2b2lkIGNvbXBsZXRlX3NrYihzdHJ1Y3Qgc2tfYnVmZiAq bnNrYiwgc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IGhlYWRsbikKIAl1cGRhdGVfY2hrc3VtKG5z a2IsIGhlYWRsbik7CiAKIAluc2tiLT5kZXN0cnVjdG9yID0gc2tiLT5kZXN0cnVjdG9yOwotCW5z a2ItPnNrID0gc2tiLT5zazsKKwluc2tiLT5zayA9IHNrOwogCXNrYi0+ZGVzdHJ1Y3RvciA9IE5V TEw7CiAJc2tiLT5zayA9IE5VTEw7Ci0JcmVmY291bnRfYWRkKG5za2ItPnRydWVzaXplIC0gc2ti LT50cnVlc2l6ZSwKLQkJICAgICAmbnNrYi0+c2stPnNrX3dtZW1fYWxsb2MpOworCisJZGVsdGEg PSBuc2tiLT50cnVlc2l6ZSAtIHNrYi0+dHJ1ZXNpemU7CisJaWYgKGxpa2VseShkZWx0YSA8IDAp KQorCQlXQVJOX09OX09OQ0UocmVmY291bnRfc3ViX2FuZF90ZXN0KC1kZWx0YSwgJnNrLT5za193 bWVtX2FsbG9jKSk7CisJZWxzZSBpZiAoZGVsdGEpCisJCXJlZmNvdW50X2FkZChkZWx0YSwgJnNr LT5za193bWVtX2FsbG9jKTsKIH0KIAogLyogVGhpcyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGFm dGVyIHRoZSB1c2VyIHNvY2tldCBpcyBhbHJlYWR5Ci0tIAoyLjIwLjEKCgpGcm9tIGYxYzIyYjc2 OTRhZTU2NTViODZlNGVhYjE5YTBhOTFkMDVhMDkzZGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFN1IEJhbyBDaGVuZyA8YmFvY2hlbmcuc3VAc2llbWVucy5jb20+CkRhdGU6IFRodSwg MTggQXByIDIwMTkgMTE6MTQ6NTYgKzAyMDAKU3ViamVjdDogW1BBVENIIDA5LzE5XSBzdG1tYWM6 IHBjaTogQWRqdXN0IElPVDIwMDAgbWF0Y2hpbmcKClsgVXBzdHJlYW0gY29tbWl0IGUwYzFkMTRh MWEzMjExZGNjZjA1NDBhNjcwM2ZmYmQ1ZDJhNzViZGIgXQoKU2luY2UgdGhlcmUgYXJlIG1vcmUg SU9UMjA0MCB2YXJpYW50cyB3aXRoIGlkZW50aWNhbCBoYXJkd2FyZSBidXQKZGlmZmVyZW50IGFz c2V0IHRhZ3MsIHRoZSBhc3NldCB0YWcgbWF0Y2hpbmcgc2hvdWxkIGJlIGFkanVzdGVkIHRvCnN1 cHBvcnQgdGhlbS4KCkZvciB0aGUgYm9hcmQgbmFtZSAiU0lNQVRJQyBJT1QyMDAwIiwgY3VycmVu dGx5IHRoZXJlIGFyZSAyIHR5cGVzIG9mCmhhcmR3YXJlLCBJT1QyMDIwIGFuZCBJT1QyMDQwLiBU aGUgSU9UMjAyMCBpcyBpZGVudGlmaWVkIGJ5IGl0cyB1bmlxdWUKYXNzZXQgdGFnLiBNYXRjaCBv biBpdCBmaXJzdC4gSWYgd2UgdGhlbiBtYXRjaCBvbiB0aGUgYm9hcmQgbmFtZSBvbmx5LAp3ZSB3 aWxsIGNhdGNoIGFsbCBJT1QyMDQwIHZhcmlhbnRzLiBJbiB0aGUgZnV0dXJlIHRoZXJlIHdpbGwg YmUgbm8gb3RoZXIKZGV2aWNlcyB3aXRoIHRoZSAiU0lNQVRJQyBJT1QyMDAwIiBETUkgYm9hcmQg bmFtZSBidXQgZGlmZmVyZW50CmhhcmR3YXJlLgoKU2lnbmVkLW9mZi1ieTogU3UgQmFvIENoZW5n IDxiYW9jaGVuZy5zdUBzaWVtZW5zLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBLaXN6a2EgPGphbi5r aXN6a2FAc2llbWVucy5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1A ZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9z dG1tYWNfcGNpLmMgfCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWlj cm8vc3RtbWFjL3N0bW1hY19wY2kuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3Rt bWFjL3N0bW1hY19wY2kuYwppbmRleCBkODE5ZThlYWJhMTIuLmNjMWU4ODdlNDdiNSAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX3BjaS5jCisr KyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wY2kuYwpAQCAt MTU5LDYgKzE1OSwxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgcXVhcmtf cGNpX2RtaVtdID0gewogCQl9LAogCQkuZHJpdmVyX2RhdGEgPSAodm9pZCAqKSZnYWxpbGVvX3N0 bW1hY19kbWlfZGF0YSwKIAl9LAorCS8qCisJICogVGhlcmUgYXJlIDIgdHlwZXMgb2YgU0lNQVRJ QyBJT1QyMDAwOiBJT1QyMDIwMiBhbmQgSU9UMjA0MC4KKwkgKiBUaGUgYXNzZXQgdGFnICI2RVM3 NjQ3LTBBQTAwLTBZQTIiIGlzIG9ubHkgZm9yIElPVDIwMjAgd2hpY2gKKwkgKiBoYXMgb25seSBv bmUgcGNpIG5ldHdvcmsgZGV2aWNlIHdoaWxlIG90aGVyIGFzc2V0IHRhZ3MgYXJlCisJICogZm9y IElPVDIwNDAgd2hpY2ggaGFzIHR3by4KKwkgKi8KIAl7CiAJCS5tYXRjaGVzID0gewogCQkJRE1J X0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiU0lNQVRJQyBJT1QyMDAwIiksCkBAIC0xNzAs OCArMTc2LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIHF1YXJrX3BjaV9k bWlbXSA9IHsKIAl7CiAJCS5tYXRjaGVzID0gewogCQkJRE1JX0VYQUNUX01BVENIKERNSV9CT0FS RF9OQU1FLCAiU0lNQVRJQyBJT1QyMDAwIiksCi0JCQlETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJE X0FTU0VUX1RBRywKLQkJCQkJIjZFUzc2NDctMEFBMDAtMVlBMiIpLAogCQl9LAogCQkuZHJpdmVy X2RhdGEgPSAodm9pZCAqKSZpb3QyMDQwX3N0bW1hY19kbWlfZGF0YSwKIAl9LAotLSAKMi4yMC4x CgoKRnJvbSAxYjlkNjMzMDg3MTM2ODExZmFhZTUzNDMwNmIwN2EyZTkzNTM5OGFhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5nYmluIExpdSA8bGl1aGFuZ2JpbkBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTkgQXByIDIwMTkgMTQ6MzE6MDAgKzA4MDAKU3ViamVjdDogW1BBVENIIDEw LzE5XSB0ZWFtOiBmaXggcG9zc2libGUgcmVjdXJzaXZlIGxvY2tpbmcgd2hlbiBhZGQgc2xhdmVz CgpbIFVwc3RyZWFtIGNvbW1pdCA5MjViMGM4NDFlMDY2YjQ4OGNjM2E2MDI3MjQ3MmIyYzU2MzAw NzA0IF0KCklmIHdlIGFkZCBhIGJvbmQgZGV2aWNlIHdoaWNoIGlzIGFscmVhZHkgdGhlIG1hc3Rl ciBvZiB0aGUgdGVhbSBpbnRlcmZhY2UsCndlIHdpbGwgaG9sZCB0aGUgdGVhbS0+bG9jayBpbiB0 ZWFtX2FkZF9zbGF2ZSgpIGZpcnN0IGFuZCB0aGVuIHJlcXVlc3QgdGhlCmxvY2sgaW4gdGVhbV9z ZXRfbWFjX2FkZHJlc3MoKSBhZ2Fpbi4gVGhlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGxpa2U6Cgot IHRlYW1fYWRkX3NsYXZlKCkKIC0gdGVhbV9wb3J0X2FkZCgpCiAgIC0gdGVhbV9wb3J0X2VudGVy KCkKICAgICAtIHRlYW1fbW9kZW9wX3BvcnRfZW50ZXIoKQogICAgICAgLSBfX3NldF9wb3J0X2Rl dl9hZGRyKCkKICAgICAgICAgLSBkZXZfc2V0X21hY19hZGRyZXNzKCkKICAgICAgICAgICAtIGJv bmRfc2V0X21hY19hZGRyZXNzKCkKICAgICAgICAgICAgIC0gZGV2X3NldF9tYWNfYWRkcmVzcygp CiAgCSAgICAgICAtIHRlYW1fc2V0X21hY19hZGRyZXNzCgpBbHRob3VnaCB0ZWFtX3VwcGVyX2Rl dl9saW5rKCkgd291bGQgY2hlY2sgdGhlIHVwcGVyIGRldmljZXMgYnV0IGl0IGlzCmNhbGxlZCB0 b28gbGF0ZS4gRml4IGl0IGJ5IGFkZGluZyBhIGNoZWNraW5nIGJlZm9yZSBwcm9jZXNzaW5nIHRo ZSBzbGF2ZS4KCnYyOiBEbyBub3Qgc3BsaXQgdGhlIHN0cmluZyBpbiBuZXRkZXZfZXJyKCkKCkZp eGVzOiAzZDI0OWQ0Y2E3ZDAgKCJuZXQ6IGludHJvZHVjZSBldGhlcm5ldCB0ZWFtaW5nIGRldmlj ZSIpCkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1i eTogSGFuZ2JpbiBMaXUgPGxpdWhhbmdiaW5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvdGVhbS90 ZWFtLmMgfCA3ICsrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC90ZWFtL3RlYW0uYyBiL2RyaXZlcnMvbmV0L3RlYW0vdGVhbS5j CmluZGV4IDEyODM2MzIwOTFkNS4uN2RjZGE5MzY0MDA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC90ZWFtL3RlYW0uYworKysgYi9kcml2ZXJzL25ldC90ZWFtL3RlYW0uYwpAQCAtMTE1Nyw2ICsx MTU3LDEzIEBAIHN0YXRpYyBpbnQgdGVhbV9wb3J0X2FkZChzdHJ1Y3QgdGVhbSAqdGVhbSwgc3Ry dWN0IG5ldF9kZXZpY2UgKnBvcnRfZGV2LAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwlpZiAo bmV0ZGV2X2hhc191cHBlcl9kZXYoZGV2LCBwb3J0X2RldikpIHsKKwkJTkxfU0VUX0VSUl9NU0co ZXh0YWNrLCAiRGV2aWNlIGlzIGFscmVhZHkgYW4gdXBwZXIgZGV2aWNlIG9mIHRoZSB0ZWFtIGlu dGVyZmFjZSIpOworCQluZXRkZXZfZXJyKGRldiwgIkRldmljZSAlcyBpcyBhbHJlYWR5IGFuIHVw cGVyIGRldmljZSBvZiB0aGUgdGVhbSBpbnRlcmZhY2VcbiIsCisJCQkgICBwb3J0bmFtZSk7CisJ CXJldHVybiAtRUJVU1k7CisJfQorCiAJaWYgKHBvcnRfZGV2LT5mZWF0dXJlcyAmIE5FVElGX0Zf VkxBTl9DSEFMTEVOR0VEICYmCiAJICAgIHZsYW5fdXNlc19kZXYoZGV2KSkgewogCQlOTF9TRVRf RVJSX01TRyhleHRhY2ssICJEZXZpY2UgaXMgVkxBTiBjaGFsbGVuZ2VkIGFuZCB0ZWFtIGRldmlj ZSBoYXMgVkxBTiBzZXQgdXAiKTsKLS0gCjIuMjAuMQoKCkZyb20gMzRhY2Q4MDFjZWFiNDRkMTk5 NTM1ZjU0MDM5MmYxMGUwNzY1Nzc4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSWxp YXMgQXBhbG9kaW1hcyA8aWxpYXMuYXBhbG9kaW1hc0BsaW5hcm8ub3JnPgpEYXRlOiBUdWUsIDIz IEFwciAyMDE5IDA5OjAxOjQxICswMzAwClN1YmplY3Q6IFtQQVRDSCAxMS8xOV0gbmV0OiBzb2Np b25leHQ6IHJlcGxhY2UgbmFwaV9hbGxvY19mcmFnIHdpdGggdGhlIG5ldGRldgogdmFyaWFudCBv biBpbml0CgpbIFVwc3RyZWFtIGNvbW1pdCBmZmJmOTg3MGRjZjEzNDI1OTJhMWEyNmY0Y2Y3MGJk YTM5MDQ2MTM0IF0KClRoZSBuZXRkZXYgdmFyaWFudCBpcyB1c2FibGUgb24gYW55IGNvbnRleHQg c2luY2UgaXQgZGlzYWJsZXMgaW50ZXJydXB0cy4KVGhlIG5hcGkgdmFyaWFudCBvZiB0aGUgY2Fs bCBzaG91bGQgb25seSBiZSB1c2VkIHdpdGhpbiBzb2Z0aXJxIGNvbnRleHQuClJlcGxhY2UgbmFw aV9hbGxvY19mcmFnIG9uIGRyaXZlciBpbml0IHdpdGggdGhlIGNvcnJlY3QgbmV0ZGV2X2FsbG9j X2ZyYWcKY2FsbAoKQ2hhbmdlcyBzaW5jZSB2MToKLSBBZGp1c3RlZCBjb21taXQgbWVzc2FnZQoK QWNrZWQtYnk6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPgpBY2tl ZC1ieTogSmFzc2kgQnJhciA8amFzd2luZGVyLnNpbmdoQGxpbmFyby5vcmc+CkZpeGVzOiA0YWNi MjBiNDYyMTQgKCJuZXQ6IHNvY2lvbmV4dDogZGlmZmVyZW50IGFwcHJvYWNoIG9uIERNQSIpClNp Z25lZC1vZmYtYnk6IElsaWFzIEFwYWxvZGltYXMgPGlsaWFzLmFwYWxvZGltYXNAbGluYXJvLm9y Zz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3NvY2lvbmV4dC9uZXRzZWMuYyB8IDExICsrKysrKyst LS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3NvY2lvbmV4dC9uZXRzZWMuYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L3NvY2lvbmV4dC9uZXRzZWMuYwppbmRleCBhMTgxNDk3MjBhYTIuLmNi YTU4ODFiMjc0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc29jaW9uZXh0L25l dHNlYy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3NvY2lvbmV4dC9uZXRzZWMuYwpAQCAt NjczLDcgKzY3Myw4IEBAIHN0YXRpYyB2b2lkIG5ldHNlY19wcm9jZXNzX3R4KHN0cnVjdCBuZXRz ZWNfcHJpdiAqcHJpdikKIH0KIAogc3RhdGljIHZvaWQgKm5ldHNlY19hbGxvY19yeF9kYXRhKHN0 cnVjdCBuZXRzZWNfcHJpdiAqcHJpdiwKLQkJCQkgIGRtYV9hZGRyX3QgKmRtYV9oYW5kbGUsIHUx NiAqZGVzY19sZW4pCisJCQkJICBkbWFfYWRkcl90ICpkbWFfaGFuZGxlLCB1MTYgKmRlc2NfbGVu LAorCQkJCSAgYm9vbCBuYXBpKQogewogCXNpemVfdCB0b3RhbF9sZW4gPSBTS0JfREFUQV9BTElH TihzaXplb2Yoc3RydWN0IHNrYl9zaGFyZWRfaW5mbykpOwogCXNpemVfdCBwYXlsb2FkX2xlbiA9 IE5FVFNFQ19SWF9CVUZfU1o7CkBAIC02ODIsNyArNjgzLDcgQEAgc3RhdGljIHZvaWQgKm5ldHNl Y19hbGxvY19yeF9kYXRhKHN0cnVjdCBuZXRzZWNfcHJpdiAqcHJpdiwKIAogCXRvdGFsX2xlbiAr PSBTS0JfREFUQV9BTElHTihwYXlsb2FkX2xlbiArIE5FVFNFQ19TS0JfUEFEKTsKIAotCWJ1ZiA9 IG5hcGlfYWxsb2NfZnJhZyh0b3RhbF9sZW4pOworCWJ1ZiA9IG5hcGkgPyBuYXBpX2FsbG9jX2Zy YWcodG90YWxfbGVuKSA6IG5ldGRldl9hbGxvY19mcmFnKHRvdGFsX2xlbik7CiAJaWYgKCFidWYp CiAJCXJldHVybiBOVUxMOwogCkBAIC03NjUsNyArNzY2LDggQEAgc3RhdGljIGludCBuZXRzZWNf cHJvY2Vzc19yeChzdHJ1Y3QgbmV0c2VjX3ByaXYgKnByaXYsIGludCBidWRnZXQpCiAJCS8qIGFs bG9jYXRlIGEgZnJlc2ggYnVmZmVyIGFuZCBtYXAgaXQgdG8gdGhlIGhhcmR3YXJlLgogCQkgKiBU aGlzIHdpbGwgZXZlbnR1YWxseSByZXBsYWNlIHRoZSBvbGQgYnVmZmVyIGluIHRoZSBoYXJkd2Fy ZQogCQkgKi8KLQkJYnVmX2FkZHIgPSBuZXRzZWNfYWxsb2NfcnhfZGF0YShwcml2LCAmZG1hX2hh bmRsZSwgJmRlc2NfbGVuKTsKKwkJYnVmX2FkZHIgPSBuZXRzZWNfYWxsb2NfcnhfZGF0YShwcml2 LCAmZG1hX2hhbmRsZSwgJmRlc2NfbGVuLAorCQkJCQkJdHJ1ZSk7CiAJCWlmICh1bmxpa2VseSgh YnVmX2FkZHIpKQogCQkJYnJlYWs7CiAKQEAgLTEwNjksNyArMTA3MSw4IEBAIHN0YXRpYyBpbnQg bmV0c2VjX3NldHVwX3J4X2RyaW5nKHN0cnVjdCBuZXRzZWNfcHJpdiAqcHJpdikKIAkJdm9pZCAq YnVmOwogCQl1MTYgbGVuOwogCi0JCWJ1ZiA9IG5ldHNlY19hbGxvY19yeF9kYXRhKHByaXYsICZk bWFfaGFuZGxlLCAmbGVuKTsKKwkJYnVmID0gbmV0c2VjX2FsbG9jX3J4X2RhdGEocHJpdiwgJmRt YV9oYW5kbGUsICZsZW4sCisJCQkJCSAgIGZhbHNlKTsKIAkJaWYgKCFidWYpIHsKIAkJCW5ldHNl Y191bmluaXRfcGt0X2RyaW5nKHByaXYsIE5FVFNFQ19SSU5HX1JYKTsKIAkJCWdvdG8gZXJyX291 dDsKLS0gCjIuMjAuMQoKCkZyb20gMTc5NjY3ZTllNzljZDY5ZTcxMGJmMThlY2E4MzBlYzdmZDI1 OWYyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVGFvIFJlbiA8dGFvcmVuQGZiLmNv bT4KRGF0ZTogV2VkLCAyNCBBcHIgMjAxOSAwMTo0MzozMiArMDAwMApTdWJqZWN0OiBbUEFUQ0gg MTIvMTldIG5ldC9uY3NpOiBoYW5kbGUgb3ZlcmZsb3cgd2hlbiBpbmNyZW1lbnRpbmcgbWFjIGFk ZHJlc3MKClsgVXBzdHJlYW0gY29tbWl0IDFjNWMxMmVlMzA4YWFjZjYzNWM4ODE5Y2Q0YmFhM2Jk NThmOGE4YjcgXQoKUHJldmlvdXNseSBCTUMncyBNQUMgYWRkcmVzcyBpcyBjYWxjdWxhdGVkIGJ5 IHNpbXBseSBhZGRpbmcgMSB0byB0aGUKbGFzdCBieXRlIG9mIG5ldHdvcmsgY29udHJvbGxlcidz IE1BQyBhZGRyZXNzLCBhbmQgaXQgcHJvZHVjZXMgaW5jb3JyZWN0CnJlc3VsdCB3aGVuIG5ldHdv cmsgY29udHJvbGxlcidzIE1BQyBhZGRyZXNzIGVuZHMgd2l0aCAweEZGLgoKVGhlIHByb2JsZW0g Y2FuIGJlIGZpeGVkIGJ5IGNhbGxpbmcgZXRoX2FkZHJfaW5jKCkgZnVuY3Rpb24gdG8gaW5jcmVt ZW50Ck1BQyBhZGRyZXNzOyBiZXNpZGVzLCB0aGUgTUFDIGFkZHJlc3MgaXMgYWxzbyB2YWxpZGF0 ZWQgYmVmb3JlIGFzc2lnbmluZwp0byBCTUMuCgpGaXhlczogY2IxMGM3YzBkZmQ5ICgibmV0L25j c2k6IEFkZCBOQ1NJIEJyb2FkY29tIE9FTSBjb21tYW5kIikKU2lnbmVkLW9mZi1ieTogVGFvIFJl biA8dGFvcmVuQGZiLmNvbT4KQWNrZWQtYnk6IEpha3ViIEtpY2luc2tpIDxqYWt1Yi5raWNpbnNr aUBuZXRyb25vbWUuY29tPgpBY2tlZC1ieTogU2FtdWVsIE1lbmRvemEtSm9uYXMgPHNhbUBtZW5k b3pham9uYXMuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9saW51eC9ldGhlcmRldmljZS5oIHwgMTIgKysrKysrKysr KysrCiBuZXQvbmNzaS9uY3NpLXJzcC5jICAgICAgICAgfCAgNiArKysrKy0KIDIgZmlsZXMgY2hh bmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvbGludXgvZXRoZXJkZXZpY2UuaCBiL2luY2x1ZGUvbGludXgvZXRoZXJkZXZpY2UuaAppbmRl eCAyYzBhZjdiMDA3MTUuLmM5NGFiOGI1M2EyMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9l dGhlcmRldmljZS5oCisrKyBiL2luY2x1ZGUvbGludXgvZXRoZXJkZXZpY2UuaApAQCAtNDQ3LDYg KzQ0NywxOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZXRoX2FkZHJfZGVjKHU4ICphZGRyKQogCXU2 NF90b19ldGhlcl9hZGRyKHUsIGFkZHIpOwogfQogCisvKioKKyAqIGV0aF9hZGRyX2luYygpIC0g SW5jcmVtZW50IHRoZSBnaXZlbiBNQUMgYWRkcmVzcy4KKyAqIEBhZGRyOiBQb2ludGVyIHRvIGEg c2l4LWJ5dGUgYXJyYXkgY29udGFpbmluZyBFdGhlcm5ldCBhZGRyZXNzIHRvIGluY3JlbWVudC4K KyAqLworc3RhdGljIGlubGluZSB2b2lkIGV0aF9hZGRyX2luYyh1OCAqYWRkcikKK3sKKwl1NjQg dSA9IGV0aGVyX2FkZHJfdG9fdTY0KGFkZHIpOworCisJdSsrOworCXU2NF90b19ldGhlcl9hZGRy KHUsIGFkZHIpOworfQorCiAvKioKICAqIGlzX2V0aGVyZGV2X2FkZHIgLSBUZWxsIGlmIGdpdmVu IEV0aGVybmV0IGFkZHJlc3MgYmVsb25ncyB0byB0aGUgZGV2aWNlLgogICogQGRldjogUG9pbnRl ciB0byBhIGRldmljZSBzdHJ1Y3R1cmUKZGlmZiAtLWdpdCBhL25ldC9uY3NpL25jc2ktcnNwLmMg Yi9uZXQvbmNzaS9uY3NpLXJzcC5jCmluZGV4IGRjMDdmY2M3OTM4ZS4uODAyZGIwMWUzMDc1IDEw MDY0NAotLS0gYS9uZXQvbmNzaS9uY3NpLXJzcC5jCisrKyBiL25ldC9uY3NpL25jc2ktcnNwLmMK QEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxs aW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZGV2aWNlLmg+CisjaW5jbHVkZSA8bGlu dXgvZXRoZXJkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KIAogI2luY2x1ZGUg PG5ldC9uY3NpLmg+CkBAIC02NjcsNyArNjY4LDEwIEBAIHN0YXRpYyBpbnQgbmNzaV9yc3BfaGFu ZGxlcl9vZW1fYmNtX2dtYShzdHJ1Y3QgbmNzaV9yZXF1ZXN0ICpucikKIAluZGV2LT5wcml2X2Zs YWdzIHw9IElGRl9MSVZFX0FERFJfQ0hBTkdFOwogCW1lbWNweShzYWRkci5zYV9kYXRhLCAmcnNw LT5kYXRhW0JDTV9NQUNfQUREUl9PRkZTRVRdLCBFVEhfQUxFTik7CiAJLyogSW5jcmVhc2UgbWFj IGFkZHJlc3MgYnkgMSBmb3IgQk1DJ3MgYWRkcmVzcyAqLwotCXNhZGRyLnNhX2RhdGFbRVRIX0FM RU4gLSAxXSsrOworCWV0aF9hZGRyX2luYygodTggKilzYWRkci5zYV9kYXRhKTsKKwlpZiAoIWlz X3ZhbGlkX2V0aGVyX2FkZHIoKGNvbnN0IHU4ICopc2FkZHIuc2FfZGF0YSkpCisJCXJldHVybiAt RU5YSU87CisKIAlyZXQgPSBvcHMtPm5kb19zZXRfbWFjX2FkZHJlc3MobmRldiwgJnNhZGRyKTsK IAlpZiAocmV0IDwgMCkKIAkJbmV0ZGV2X3dhcm4obmRldiwgIk5DU0k6ICdXcml0aW5nIG1hYyBh ZGRyZXNzIHRvIGRldmljZSBmYWlsZWRcbiIpOwotLSAKMi4yMC4xCgoKRnJvbSA4OGZjYWE4M2Fl N2VkYzhmNjg2MzY5Mjg0NDNkMDZhNDk1ZTUzNjczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+CkRhdGU6IFRodSwgMTggQXBy IDIwMTkgMDc6MTQ6MTQgKzAwMDAKU3ViamVjdDogW1BBVENIIDEzLzE5XSBtbHhzdzogcGNpOiBS ZWluY3JlYXNlIFBDSSByZXNldCB0aW1lb3V0CgpbIFVwc3RyZWFtIGNvbW1pdCAxYWIzMDMwMTkz ZDI1ODc4YjNiMTQwOTA2MGUxZTBhODc5ODAwYzk1IF0KCkR1cmluZyBkcml2ZXIgaW5pdGlhbGl6 YXRpb24gdGhlIGRyaXZlciBzZW5kcyBhIHJlc2V0IHRvIHRoZSBkZXZpY2UgYW5kCndhaXRzIGZv ciB0aGUgZmlybXdhcmUgdG8gc2lnbmFsIHRoYXQgaXQgaXMgcmVhZHkgdG8gY29udGludWUuCgpD b21taXQgZDJmMzcyYmEwOTE0ICgibWx4c3c6IHBjaTogSW5jcmVhc2UgUENJIFNXIHJlc2V0IHRp bWVvdXQiKQppbmNyZWFzZWQgdGhlIHRpbWVvdXQgdG8gMTMgc2Vjb25kcyBkdWUgdG8gbG9uZ2Vy IFBIWSBjYWxpYnJhdGlvbiBpbgpTcGVjdHJ1bS0yIGNvbXBhcmVkIHRvIFNwZWN0cnVtLTEuCgpS ZWNlbnRseSBpdCBiZWNhbWUgYXBwYXJlbnQgdGhhdCB0aGlzIHRpbWVvdXQgaXMgdG9vIHNob3J0 IGFuZCB0aGVyZWZvcmUKdGhpcyBwYXRjaCBpbmNyZWFzZXMgaXQgYWdhaW4gdG8gYSBzYWZlciBs aW1pdCB0aGF0IHdpbGwgYmUgcmVkdWNlZCBpbgp0aGUgZnV0dXJlLgoKRml4ZXM6IGMzYWI0MzU0 NjZkNSAoIm1seHN3OiBzcGVjdHJ1bTogRXh0ZW5kIHRvIHN1cHBvcnQgU3BlY3RydW0tMiBBU0lD IikKRml4ZXM6IGQyZjM3MmJhMDkxNCAoIm1seHN3OiBwY2k6IEluY3JlYXNlIFBDSSBTVyByZXNl dCB0aW1lb3V0IikKU2lnbmVkLW9mZi1ieTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3gu Y29tPgpBY2tlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9wY2lfaHcuaCB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seHN3L3BjaV9ody5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4c3cvcGNpX2h3LmgKaW5kZXggZmZlZTM4ZTM2Y2U4Li44NjQ4Y2ExNzEyNTQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3BjaV9ody5o CisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3BjaV9ody5oCkBAIC0y Nyw3ICsyNyw3IEBACiAKICNkZWZpbmUgTUxYU1dfUENJX1NXX1JFU0VUCQkJMHhGMDAxMAogI2Rl ZmluZSBNTFhTV19QQ0lfU1dfUkVTRVRfUlNUX0JJVAkJQklUKDApCi0jZGVmaW5lIE1MWFNXX1BD SV9TV19SRVNFVF9USU1FT1VUX01TRUNTCTEzMDAwCisjZGVmaW5lIE1MWFNXX1BDSV9TV19SRVNF VF9USU1FT1VUX01TRUNTCTIwMDAwCiAjZGVmaW5lIE1MWFNXX1BDSV9TV19SRVNFVF9XQUlUX01T RUNTCQkxMDAKICNkZWZpbmUgTUxYU1dfUENJX0ZXX1JFQURZCQkJMHhBMTg0NAogI2RlZmluZSBN TFhTV19QQ0lfRldfUkVBRFlfTUFTSwkJCTB4RkZGRgotLSAKMi4yMC4xCgoKRnJvbSA0NmU3NGM5 MDNmZjEwZWJlZGM3N2YwMmJiNWE3MDczNjI4NzJkNTU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBQZXRyIE1hY2hhdGEgPHBldHJtQG1lbGxhbm94LmNvbT4KRGF0ZTogVGh1LCAxOCBB cHIgMjAxOSAwNzoxNDoxMyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMTldIG1seHN3OiBzcGVj dHJ1bTogUHV0IE1DIFRDcyBpbnRvIERXUlIgbW9kZQoKWyBVcHN0cmVhbSBjb21taXQgZjQ3NmIz ZjgwOWZhMDJmNDdhZjYzMzNlZDYzNzE1MDU4YzNmYzM0OCBdCgpCb3RoIFNwZWN0cnVtLTEgYW5k IFNwZWN0cnVtLTIgY2hpcHMgYXJlIGN1cnJlbnRseSBjb25maWd1cmVkIHN1Y2ggdGhhdApwYWly cyBvZiBUQyBuICh3aGljaCBpcyB1c2VkIGZvciBVQyB0cmFmZmljKSBhbmQgVEMgbis4ICh3aGlj aCBpcyB1c2VkCmZvciBNQyB0cmFmZmljKSBhcmUgZmVlZGluZyBpbnRvIHRoZSBzYW1lIHN1Ymdy b3VwLiBTdHJpY3QKcHJpb3JpdGl6YXRpb24gaXMgY29uZmlndXJlZCBiZXR3ZWVuIHRoZSB0d28g VENzLCBhbmQgYnkgZW5hYmxpbmcKTUMtYXdhcmUgbW9kZSBvbiB0aGUgc3dpdGNoLCB0aGUgbG93 ZXItbnVtYmVyZWQgKFVDKSBUQ3MgYXJlIGZhdm9yZWQKb3ZlciB0aGUgaGlnaGVyLW51bWJlcmVk IChNQykgVENzLgoKT24gU3BlY3RydW0tMiBob3dldmVyLCB0aGVyZSBpcyBhbiBpc3N1ZSBpbiBj b25maWd1cmF0aW9uIG9mIHRoZQpNQy1hd2FyZSBtb2RlLiBBcyBhIHJlc3VsdCwgTUMgdHJhZmZp YyBpcyBwcmlvcml0aXplZCBvdmVyIFVDIHRyYWZmaWMuClRvIHdvcmsgYXJvdW5kIHRoZSBpc3N1 ZSwgY29uZmlndXJlIHRoZSBNQyBUQ3Mgd2l0aCBEV1JSIG1vZGUgKHdoaWxlCmtlZXBpbmcgdGhl IFVDIFRDcyBpbiBzdHJpY3QgbW9kZSkuCgpXaXRoIHRoaXMgcGF0Y2gsIHRoZSBtdWx0aWNhc3Qt dW5pY2FzdCBhcmJpdHJhdGlvbiByZXN1bHRzIGluIHRoZSBzYW1lCmJlaGF2aW9yIG9uIGJvdGgg U3BlY3RydW0tMSBhbmQgU3BlY3RydW0tMiBjaGlwcy4KCkZpeGVzOiA3YjgxOTUzMDY2OTQgKCJt bHhzdzogc3BlY3RydW06IENvbmZpZ3VyZSBNQy1hd2FyZSBtb2RlIG9uIG1seHN3IHBvcnRzIikK U2lnbmVkLW9mZi1ieTogUGV0ciBNYWNoYXRhIDxwZXRybUBtZWxsYW5veC5jb20+ClNpZ25lZC1v ZmYtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVtLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYwppbmRleCA5MTgzYzg0ZGE3MmMuLmNlNDk1MDRlMWY5 YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3Ry dW0uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5j CkBAIC0yOTYxLDcgKzI5NjEsNyBAQCBzdGF0aWMgaW50IG1seHN3X3NwX3BvcnRfZXRzX2luaXQo c3RydWN0IG1seHN3X3NwX3BvcnQgKm1seHN3X3NwX3BvcnQpCiAJCWVyciA9IG1seHN3X3NwX3Bv cnRfZXRzX3NldChtbHhzd19zcF9wb3J0LAogCQkJCQkgICAgTUxYU1dfUkVHX1FFRUNfSElFUkFS Q1lfVEMsCiAJCQkJCSAgICBpICsgOCwgaSwKLQkJCQkJICAgIGZhbHNlLCAwKTsKKwkJCQkJICAg IHRydWUsIDEwMCk7CiAJCWlmIChlcnIpCiAJCQlyZXR1cm4gZXJyOwogCX0KLS0gCjIuMjAuMQoK CkZyb20gNWI2NzRhMzlkZGY4N2Y5NmNiNjJiNDliOTY1ZDc2YTU2YjExZGIyYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWF4aW0gTWlraXR5YW5za2l5IDxtYXhpbW1pQG1lbGxhbm94 LmNvbT4KRGF0ZTogTW9uLCA4IEFwciAyMDE5IDE1OjEyOjQ1ICswMzAwClN1YmplY3Q6IFtQQVRD SCAxNS8xOV0gbmV0L21seDVlOiBGaXggdGhlIG1heCBNVFUgY2hlY2sgaW4gY2FzZSBvZiBYRFAK ClsgVXBzdHJlYW0gY29tbWl0IGQ0NjBjMjcxODkwNjI1MmEyYTY5YmM2Zjg5YjUzNzA3MWY3OTJl NmUgXQoKTUxYNUVfWERQX01BWF9NVFUgd2FzIGNhbGN1bGF0ZWQgaW5jb3JyZWN0bHkuIEl0IGRp ZG4ndCBhY2NvdW50IGZvcgpORVRfSVBfQUxJR04gYW5kIE1MWDVFX0hXMlNXX01UVSwgYW5kIGl0 IGFsc28gbWlzdXNlZCBNTFg1X1NLQl9GUkFHX1NaLgpUaGlzIGNvbW1pdCBmaXhlcyB0aGUgY2Fs Y3VsYXRpb25zIGFuZCBhZGRzIGEgYnJpZWYgZXhwbGFuYXRpb24gZm9yIHRoZQpmb3JtdWxhIHVz ZWQuCgpGaXhlczogYTI2YTViZGYzZWUyZCAoIm5ldC9tbHg1ZTogUmVzdHJpY3QgdGhlIGNvbWJp bmF0aW9uIG9mIGxhcmdlIE1UVSBhbmQgWERQIikKU2lnbmVkLW9mZi1ieTogTWF4aW0gTWlraXR5 YW5za2l5IDxtYXhpbW1pQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1l ZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW4veGRwLmMgIHwgMjAgKysrKysrKysrKysrKysrKysrKwogLi4uL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmggIHwgIDMgKy0tCiAuLi4vbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9lbl9tYWluLmMgfCAgNSArKystLQogMyBmaWxlcyBjaGFu Z2VkLCAyNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAuYwppbmRleCAwM2IyYTlmOWM1ODku LjY1MzZhZDZlZTM3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2VuL3hkcC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9lbi94ZHAuYwpAQCAtMzMsNiArMzMsMjYgQEAKICNpbmNsdWRlIDxsaW51eC9icGZf dHJhY2UuaD4KICNpbmNsdWRlICJlbi94ZHAuaCIKIAoraW50IG1seDVlX3hkcF9tYXhfbXR1KHN0 cnVjdCBtbHg1ZV9wYXJhbXMgKnBhcmFtcykKK3sKKwlpbnQgaHIgPSBORVRfSVBfQUxJR04gKyBY RFBfUEFDS0VUX0hFQURST09NOworCisJLyogTGV0IFMgOj0gU0tCX0RBVEFfQUxJR04oc2l6ZW9m KHN0cnVjdCBza2Jfc2hhcmVkX2luZm8pKS4KKwkgKiBUaGUgY29uZGl0aW9uIGNoZWNrZWQgaW4g bWx4NWVfcnhfaXNfbGluZWFyX3NrYiBpczoKKwkgKiAgIFNLQl9EQVRBX0FMSUdOKHN3X210dSAr IGhhcmRfbXR1ICsgaHIpICsgUyA8PSBQQUdFX1NJWkUgICAgICAgICAoMSkKKwkgKiAgIChOb3Rl IHRoYXQgaHdfbXR1ID09IHN3X210dSArIGhhcmRfbXR1LikKKwkgKiBXaGF0IGlzIHJldHVybmVk IGZyb20gdGhpcyBmdW5jdGlvbiBpczoKKwkgKiAgIG1heF9tdHUgPSBQQUdFX1NJWkUgLSBTIC0g aHIgLSBoYXJkX210dSAgICAgICAgICAgICAgICAgICAgICAgICAoMikKKwkgKiBBZnRlciBhc3Np Z25pbmcgc3dfbXR1IDo9IG1heF9tdHUsIHRoZSBsZWZ0IHNpZGUgb2YgKDEpIHR1cm5zIHRvCisJ ICogU0tCX0RBVEFfQUxJR04oUEFHRV9TSVpFIC0gUykgKyBTLCB3aGljaCBpcyBlcXVhbCB0byBQ QUdFX1NJWkUsCisJICogYmVjYXVzZSBib3RoIFBBR0VfU0laRSBhbmQgUyBhcmUgYWxyZWFkeSBh bGlnbmVkLiBBbnkgbnVtYmVyIGdyZWF0ZXIKKwkgKiB0aGFuIG1heF9tdHUgd291bGQgbWFrZSB0 aGUgbGVmdCBzaWRlIG9mICgxKSBncmVhdGVyIHRoYW4gUEFHRV9TSVpFLAorCSAqIHNvIG1heF9t dHUgaXMgdGhlIG1heGltdW0gTVRVIGFsbG93ZWQuCisJICovCisKKwlyZXR1cm4gTUxYNUVfSFcy U1dfTVRVKHBhcmFtcywgU0tCX01BWF9IRUFEKGhyKSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgYm9v bAogbWx4NWVfeG1pdF94ZHBfYnVmZihzdHJ1Y3QgbWx4NWVfeGRwc3EgKnNxLCBzdHJ1Y3QgbWx4 NWVfZG1hX2luZm8gKmRpLAogCQkgICAgc3RydWN0IHhkcF9idWZmICp4ZHApCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmggYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmgKaW5kZXggZWUyN2E3 YzhjZDg3Li41NTM5NTZjYWRjOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9lbi94ZHAuaAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZW4veGRwLmgKQEAgLTM0LDEzICszNCwxMiBAQAogCiAjaW5jbHVkZSAi ZW4uaCIKIAotI2RlZmluZSBNTFg1RV9YRFBfTUFYX01UVSAoKGludCkoUEFHRV9TSVpFIC0gXAot CQkJCSBNTFg1X1NLQl9GUkFHX1NaKFhEUF9QQUNLRVRfSEVBRFJPT00pKSkKICNkZWZpbmUgTUxY NUVfWERQX01JTl9JTkxJTkUgKEVUSF9ITEVOICsgVkxBTl9ITEVOKQogI2RlZmluZSBNTFg1RV9Y RFBfVFhfRU1QVFlfRFNfQ09VTlQgXAogCShzaXplb2Yoc3RydWN0IG1seDVlX3R4X3dxZSkgLyBN TFg1X1NFTkRfV1FFX0RTKQogI2RlZmluZSBNTFg1RV9YRFBfVFhfRFNfQ09VTlQgKE1MWDVFX1hE UF9UWF9FTVBUWV9EU19DT1VOVCArIDEgLyogU0cgRFMgKi8pCiAKK2ludCBtbHg1ZV94ZHBfbWF4 X210dShzdHJ1Y3QgbWx4NWVfcGFyYW1zICpwYXJhbXMpOwogYm9vbCBtbHg1ZV94ZHBfaGFuZGxl KHN0cnVjdCBtbHg1ZV9ycSAqcnEsIHN0cnVjdCBtbHg1ZV9kbWFfaW5mbyAqZGksCiAJCSAgICAg IHZvaWQgKnZhLCB1MTYgKnJ4X2hlYWRyb29tLCB1MzIgKmxlbik7CiBib29sIG1seDVlX3BvbGxf eGRwc3FfY3Eoc3RydWN0IG1seDVlX2NxICpjcSwgc3RydWN0IG1seDVlX3JxICpycSk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fbWFpbi5j IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX21haW4uYwppbmRl eCAwY2IxOWU0ZGQ0MzkuLjJkMjY5YWNkYmM4ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX21haW4uYworKysgYi9kcml2ZXJzL25ldC9ldGhl cm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fbWFpbi5jCkBAIC0zODE2LDcgKzM4MTYsNyBAQCBp bnQgbWx4NWVfY2hhbmdlX210dShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LCBpbnQgbmV3X210 dSwKIAlpZiAocGFyYW1zLT54ZHBfcHJvZyAmJgogCSAgICAhbWx4NWVfcnhfaXNfbGluZWFyX3Nr Yihwcml2LT5tZGV2LCAmbmV3X2NoYW5uZWxzLnBhcmFtcykpIHsKIAkJbmV0ZGV2X2VycihuZXRk ZXYsICJNVFUoJWQpID4gJWQgaXMgbm90IGFsbG93ZWQgd2hpbGUgWERQIGVuYWJsZWRcbiIsCi0J CQkgICBuZXdfbXR1LCBNTFg1RV9YRFBfTUFYX01UVSk7CisJCQkgICBuZXdfbXR1LCBtbHg1ZV94 ZHBfbWF4X210dShwYXJhbXMpKTsKIAkJZXJyID0gLUVJTlZBTDsKIAkJZ290byBvdXQ7CiAJfQpA QCAtNDI4MCw3ICs0MjgwLDggQEAgc3RhdGljIGludCBtbHg1ZV94ZHBfYWxsb3dlZChzdHJ1Y3Qg bWx4NWVfcHJpdiAqcHJpdiwgc3RydWN0IGJwZl9wcm9nICpwcm9nKQogCiAJaWYgKCFtbHg1ZV9y eF9pc19saW5lYXJfc2tiKHByaXYtPm1kZXYsICZuZXdfY2hhbm5lbHMucGFyYW1zKSkgewogCQlu ZXRkZXZfd2FybihuZXRkZXYsICJYRFAgaXMgbm90IGFsbG93ZWQgd2l0aCBNVFUoJWQpID4gJWRc biIsCi0JCQkgICAgbmV3X2NoYW5uZWxzLnBhcmFtcy5zd19tdHUsIE1MWDVFX1hEUF9NQVhfTVRV KTsKKwkJCSAgICBuZXdfY2hhbm5lbHMucGFyYW1zLnN3X210dSwKKwkJCSAgICBtbHg1ZV94ZHBf bWF4X210dSgmbmV3X2NoYW5uZWxzLnBhcmFtcykpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAK LS0gCjIuMjAuMQoKCkZyb20gNTIzYmI4ODIwODYyNTI1MGJhOGMwNDRkYzU0NzMyY2UxMWI1MjBh YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWF4aW0gTWlraXR5YW5za2l5IDxtYXhp bW1pQG1lbGxhbm94LmNvbT4KRGF0ZTogRnJpLCAxNSBNYXIgMjAxOSAxNjo0MTo0MyArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMTYvMTldIG5ldC9tbHg1ZTogRml4IHVzZS1hZnRlci1mcmVlIGFmdGVy IHhkcF9yZXR1cm5fZnJhbWUKClsgVXBzdHJlYW0gY29tbWl0IDEyZmM1MTJmNTc0MTQ0M2EwM2Fk ZGUyZWFkMjA3MjRkYThhZDU1MGEgXQoKeGRwX3JldHVybl9mcmFtZSByZWxlYXNlcyB0aGUgZnJh bWUuIEl0IGxlYWRzIHRvIHJlbGVhc2luZyB0aGUgcGFnZSwgc28KaXQncyBub3QgYWxsb3dlZCB0 byBhY2Nlc3MgeGRwaS54ZHBmLT5sZW4gYWZ0ZXIgdGhhdCwgYmVjYXVzZSB4ZHBpLnhkcGYKaXMg YXQgeGRwLT5kYXRhX2hhcmRfc3RhcnQgYWZ0ZXIgY29udmVydF90b194ZHBfZnJhbWUuIFRoaXMg cGF0Y2ggbW92ZXMKdGhlIG1lbW9yeSBhY2Nlc3MgdG8gcHJlY2VkZSB0aGUgcmV0dXJuIG9mIHRo ZSBmcmFtZS4KCkZpeGVzOiA1OGI5OWVlM2UzZWJlICgibmV0L21seDVlOiBBZGQgc3VwcG9ydCBm b3IgWERQX1JFRElSRUNUIGluIGRldmljZS1vdXQgc2lkZSIpClNpZ25lZC1vZmYtYnk6IE1heGlt IE1pa2l0eWFuc2tpeSA8bWF4aW1taUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVk IE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmMKaW5kZXggNjUzNmFkNmVlMzcxLi5jYWQzNGQ2 ZjVmNDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9lbi94ZHAuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZW4veGRwLmMKQEAgLTMyNCw5ICszMjQsOSBAQCBib29sIG1seDVlX3BvbGxfeGRwc3FfY3Eoc3Ry dWN0IG1seDVlX2NxICpjcSwgc3RydWN0IG1seDVlX3JxICpycSkKIAkJCQkJbWx4NWVfeGRwaV9m aWZvX3BvcCh4ZHBpX2ZpZm8pOwogCiAJCQkJaWYgKGlzX3JlZGlyZWN0KSB7Ci0JCQkJCXhkcF9y ZXR1cm5fZnJhbWUoeGRwaS54ZHBmKTsKIAkJCQkJZG1hX3VubWFwX3NpbmdsZShzcS0+cGRldiwg eGRwaS5kbWFfYWRkciwKIAkJCQkJCQkgeGRwaS54ZHBmLT5sZW4sIERNQV9UT19ERVZJQ0UpOwor CQkJCQl4ZHBfcmV0dXJuX2ZyYW1lKHhkcGkueGRwZik7CiAJCQkJfSBlbHNlIHsKIAkJCQkJLyog UmVjeWNsZSBSWCBwYWdlICovCiAJCQkJCW1seDVlX3BhZ2VfcmVsZWFzZShycSwgJnhkcGkuZGks IHRydWUpOwpAQCAtMzY1LDkgKzM2NSw5IEBAIHZvaWQgbWx4NWVfZnJlZV94ZHBzcV9kZXNjcyhz dHJ1Y3QgbWx4NWVfeGRwc3EgKnNxLCBzdHJ1Y3QgbWx4NWVfcnEgKnJxKQogCQkJCW1seDVlX3hk cGlfZmlmb19wb3AoeGRwaV9maWZvKTsKIAogCQkJaWYgKGlzX3JlZGlyZWN0KSB7Ci0JCQkJeGRw X3JldHVybl9mcmFtZSh4ZHBpLnhkcGYpOwogCQkJCWRtYV91bm1hcF9zaW5nbGUoc3EtPnBkZXYs IHhkcGkuZG1hX2FkZHIsCiAJCQkJCQkgeGRwaS54ZHBmLT5sZW4sIERNQV9UT19ERVZJQ0UpOwor CQkJCXhkcF9yZXR1cm5fZnJhbWUoeGRwaS54ZHBmKTsKIAkJCX0gZWxzZSB7CiAJCQkJLyogUmVj eWNsZSBSWCBwYWdlICovCiAJCQkJbWx4NWVfcGFnZV9yZWxlYXNlKHJxLCAmeGRwaS5kaSwgZmFs c2UpOwotLSAKMi4yMC4xCgoKRnJvbSAwODYwMGMwYzUzYzhjZmNkOTkxNjVhZmQ2MzU0Mjk1NzRk YjA4OWQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYWt1YiBLaWNpbnNraSA8amFr dWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KRGF0ZTogRnJpLCAxOSBBcHIgMjAxOSAxNjo1MToz OCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMTldIG5ldC90bHM6IGF2b2lkIHBvdGVudGlhbCBk ZWFkbG9jayBpbgogdGxzX3NldF9kZXZpY2Vfb2ZmbG9hZF9yeCgpCgpbIFVwc3RyZWFtIGNvbW1p dCA2MmVmODFkNTYzMjYzNGQ1ZTMxMGVkMjViOWI5NDBiMmI2NjEyYjQ2IF0KCklmIGRldmljZSBz dXBwb3J0cyBvZmZsb2FkLCBidXQgb2ZmbG9hZCBmYWlscyB0bHNfc2V0X2RldmljZV9vZmZsb2Fk X3J4KCkKd2lsbCBjYWxsIHRsc19zd19mcmVlX3Jlc291cmNlc19yeCgpIHdoaWNoICh1bmhlbHBm dWxseSkgcmVsZWFzZXMKYW5kIHJlYWNxdWlyZXMgdGhlIHNvY2tldCBsb2NrLgoKRm9yIGEgc21h bGwgZml4IHJlbGVhc2UgYW5kIHJlYWNxdWlyZSB0aGUgZGV2aWNlX29mZmxvYWRfbG9jay4KCkZp eGVzOiA0Nzk5YWM4MWU1MmEgKCJ0bHM6IEFkZCByeCBpbmxpbmUgY3J5cHRvIG9mZmxvYWQiKQpT aWduZWQtb2ZmLWJ5OiBKYWt1YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0cm9ub21lLmNv bT4KUmV2aWV3ZWQtYnk6IERpcmsgdmFuIGRlciBNZXJ3ZSA8ZGlyay52YW5kZXJtZXJ3ZUBuZXRy b25vbWUuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+Ci0tLQogbmV0L3Rscy90bHNfZGV2aWNlLmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L3Rscy90bHNfZGV2aWNlLmMgYi9uZXQv dGxzL3Rsc19kZXZpY2UuYwppbmRleCA0YjVmZjNkNDQ5MTIuLmI4MWIyMDEzMDRmNyAxMDA2NDQK LS0tIGEvbmV0L3Rscy90bHNfZGV2aWNlLmMKKysrIGIvbmV0L3Rscy90bHNfZGV2aWNlLmMKQEAg LTg4NCw3ICs4ODQsOSBAQCBpbnQgdGxzX3NldF9kZXZpY2Vfb2ZmbG9hZF9yeChzdHJ1Y3Qgc29j ayAqc2ssIHN0cnVjdCB0bHNfY29udGV4dCAqY3R4KQogCWdvdG8gcmVsZWFzZV9uZXRkZXY7CiAK IGZyZWVfc3dfcmVzb3VyY2VzOgorCXVwX3JlYWQoJmRldmljZV9vZmZsb2FkX2xvY2spOwogCXRs c19zd19mcmVlX3Jlc291cmNlc19yeChzayk7CisJZG93bl9yZWFkKCZkZXZpY2Vfb2ZmbG9hZF9s b2NrKTsKIHJlbGVhc2VfY3R4OgogCWN0eC0+cHJpdl9jdHhfcnggPSBOVUxMOwogcmVsZWFzZV9u ZXRkZXY6Ci0tIAoyLjIwLjEKCgpGcm9tIGVkMjc4MjhlY2VlYmFhMzcwMTExYzcyYzExMTRkZTQw ODE2ZjIwMjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpha3ViIEtpY2luc2tpIDxq YWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgpEYXRlOiBGcmksIDE5IEFwciAyMDE5IDE2OjUy OjE5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxOC8xOV0gbmV0L3RsczogZG9uJ3QgbGVhayBJViBh bmQgcmVjb3JkIHNlcSB3aGVuIG9mZmxvYWQKIGZhaWxzCgpbIFVwc3RyZWFtIGNvbW1pdCAxMmM3 Njg2MTExMzI2MTQ4YjRiNWRiMTg5MTMwNTIyYTRhZDFiZTRhIF0KCldoZW4gZGV2aWNlIHJlZnVz ZXMgdGhlIG9mZmxvYWQgaW4gdGxzX3NldF9kZXZpY2Vfb2ZmbG9hZF9yeCgpCml0IGNhbGxzIHRs c19zd19mcmVlX3Jlc291cmNlc19yeCgpIHRvIGNsZWFuIHVwIHNvZnR3YXJlIGNvbnRleHQKc3Rh dGUuCgpVbmZvcnR1bmF0ZWx5LCB0bHNfc3dfZnJlZV9yZXNvdXJjZXNfcngoKSBkb2VzIG5vdCBm cmVlIGFsbAp0aGUgc3RhdGUgdGxzX3NldF9zd19vZmZsb2FkKCkgYWxsb2NhdGVkIC0gaXQgbGVh a3MgSVYgYW5kCnNlcXVlbmNlIG51bWJlciBidWZmZXJzLiAgQWxsIG90aGVyIGNvZGUgcGF0aHMg d2hpY2ggbGVhZCB0bwp0bHNfc3dfcmVsZWFzZV9yZXNvdXJjZXNfcngoKSAod2hpY2ggdGxzX3N3 X2ZyZWVfcmVzb3VyY2VzX3J4KCkKY2FsbHMpIGZyZWUgdGhvc2UgcmlnaHQgYmVmb3JlIHRoZSBj YWxsLgoKQXZvaWQgdGhlIGxlYWsgYnkgbW92aW5nIGZyZWVpbmcgb2YgaXYgYW5kIHJlY19zZXEg aW50bwp0bHNfc3dfcmVsZWFzZV9yZXNvdXJjZXNfcngoKS4KCkZpeGVzOiA0Nzk5YWM4MWU1MmEg KCJ0bHM6IEFkZCByeCBpbmxpbmUgY3J5cHRvIG9mZmxvYWQiKQpTaWduZWQtb2ZmLWJ5OiBKYWt1 YiBLaWNpbnNraSA8amFrdWIua2ljaW5za2lAbmV0cm9ub21lLmNvbT4KUmV2aWV3ZWQtYnk6IERp cmsgdmFuIGRlciBNZXJ3ZSA8ZGlyay52YW5kZXJtZXJ3ZUBuZXRyb25vbWUuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Rs cy90bHNfZGV2aWNlLmMgfCAyIC0tCiBuZXQvdGxzL3Rsc19tYWluLmMgICB8IDUgKy0tLS0KIG5l dC90bHMvdGxzX3N3LmMgICAgIHwgMyArKysKIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25z KCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC90bHMvdGxzX2RldmljZS5jIGIv bmV0L3Rscy90bHNfZGV2aWNlLmMKaW5kZXggYjgxYjIwMTMwNGY3Li41ZjFkOTM3YzRiZTkgMTAw NjQ0Ci0tLSBhL25ldC90bHMvdGxzX2RldmljZS5jCisrKyBiL25ldC90bHMvdGxzX2RldmljZS5j CkBAIC05MjEsOCArOTIxLDYgQEAgdm9pZCB0bHNfZGV2aWNlX29mZmxvYWRfY2xlYW51cF9yeChz dHJ1Y3Qgc29jayAqc2spCiAJfQogb3V0OgogCXVwX3JlYWQoJmRldmljZV9vZmZsb2FkX2xvY2sp OwotCWtmcmVlKHRsc19jdHgtPnJ4LnJlY19zZXEpOwotCWtmcmVlKHRsc19jdHgtPnJ4Lml2KTsK IAl0bHNfc3dfcmVsZWFzZV9yZXNvdXJjZXNfcngoc2spOwogfQogCmRpZmYgLS1naXQgYS9uZXQv dGxzL3Rsc19tYWluLmMgYi9uZXQvdGxzL3Rsc19tYWluLmMKaW5kZXggOTZkYmFjOTFhYzZlLi5j ZTVkZDc5MzY1YTcgMTAwNjQ0Ci0tLSBhL25ldC90bHMvdGxzX21haW4uYworKysgYi9uZXQvdGxz L3Rsc19tYWluLmMKQEAgLTMwNCwxMSArMzA0LDggQEAgc3RhdGljIHZvaWQgdGxzX3NrX3Byb3Rv X2Nsb3NlKHN0cnVjdCBzb2NrICpzaywgbG9uZyB0aW1lb3V0KQogI2VuZGlmCiAJfQogCi0JaWYg KGN0eC0+cnhfY29uZiA9PSBUTFNfU1cpIHsKLQkJa2ZyZWUoY3R4LT5yeC5yZWNfc2VxKTsKLQkJ a2ZyZWUoY3R4LT5yeC5pdik7CisJaWYgKGN0eC0+cnhfY29uZiA9PSBUTFNfU1cpCiAJCXRsc19z d19mcmVlX3Jlc291cmNlc19yeChzayk7Ci0JfQogCiAjaWZkZWYgQ09ORklHX1RMU19ERVZJQ0UK IAlpZiAoY3R4LT5yeF9jb25mID09IFRMU19IVykKZGlmZiAtLWdpdCBhL25ldC90bHMvdGxzX3N3 LmMgYi9uZXQvdGxzL3Rsc19zdy5jCmluZGV4IGQyZDRmN2MwZDRiZS4uODM5YTBhMGI1ZGZhIDEw MDY0NAotLS0gYS9uZXQvdGxzL3Rsc19zdy5jCisrKyBiL25ldC90bHMvdGxzX3N3LmMKQEAgLTE4 MzAsNiArMTgzMCw5IEBAIHZvaWQgdGxzX3N3X3JlbGVhc2VfcmVzb3VyY2VzX3J4KHN0cnVjdCBz b2NrICpzaykKIAlzdHJ1Y3QgdGxzX2NvbnRleHQgKnRsc19jdHggPSB0bHNfZ2V0X2N0eChzayk7 CiAJc3RydWN0IHRsc19zd19jb250ZXh0X3J4ICpjdHggPSB0bHNfc3dfY3R4X3J4KHRsc19jdHgp OwogCisJa2ZyZWUodGxzX2N0eC0+cngucmVjX3NlcSk7CisJa2ZyZWUodGxzX2N0eC0+cnguaXYp OworCiAJaWYgKGN0eC0+YWVhZF9yZWN2KSB7CiAJCWtmcmVlX3NrYihjdHgtPnJlY3ZfcGt0KTsK IAkJY3R4LT5yZWN2X3BrdCA9IE5VTEw7Ci0tIAoyLjIwLjEKCgpGcm9tIDU3ZDkyYTZhZmVjYzdi OTI5YmMzYWRkNzkwMTNmZGI5M2Q1YzQyZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCAyNCBBcHIgMjAx OSAwOTo0NDoxMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMTldIHJ4cnBjOiBmaXggcmFjZSBj b25kaXRpb24gaW4gcnhycGNfaW5wdXRfcGFja2V0KCkKClsgVXBzdHJlYW0gY29tbWl0IDAzMmJl NWYxOWE5NGRlNTEwOTM4NTE3NTcwODkxMzNkY2MxZTkyYWEgXQoKQWZ0ZXIgY29tbWl0IDUyNzE5 NTNjYWQzMSAoInJ4cnBjOiBVc2UgdGhlIFVEUCBlbmNhcF9yY3YgaG9vayIpLApyeHJwY19pbnB1 dF9wYWNrZXQoKSBpcyBkaXJlY3RseSBjYWxsZWQgZnJvbSBsb2NrbGVzcyBVRFAgcmVjZWl2ZQpw YXRoLCB1bmRlciByY3VfcmVhZF9sb2NrKCkgcHJvdGVjdGlvbi4KCkl0IG11c3QgdGhlcmVmb3Jl IHVzZSBSQ1UgcnVsZXMgOgoKLSB1ZHBfc2stPnNrX3VzZXJfZGF0YSBjYW4gYmUgY2xlYXJlZCBh dCBhbnkgcG9pbnQgaW4gdGhpcyBmdW5jdGlvbi4KICByY3VfZGVyZWZlcmVuY2Vfc2tfdXNlcl9k YXRhKCkgaXMgd2hhdCB3ZSBuZWVkIGhlcmUuCgotIEFsc28sIHNpbmNlIHNrX3VzZXJfZGF0YSBt aWdodCBoYXZlIGJlZW4gc2V0IGluIHJ4cnBjX29wZW5fc29ja2V0KCkKICB3ZSBtdXN0IG9ic2Vy dmUgYSBwcm9wZXIgUkNVIGdyYWNlIHBlcmlvZCBiZWZvcmUga2ZyZWUobG9jYWwpIGluCiAgcnhy cGNfbG9va3VwX2xvY2FsKCkKCnY0OiBAbG9jYWwgY2FuIGJlIE5VTEwgaW4geHJwY19sb29rdXBf bG9jYWwoKSBhcyByZXBvcnRlZCBieSBrYnVpbGQgdGVzdCByb2JvdCA8bGtwQGludGVsLmNvbT4K ICAgICAgICBhbmQgSnVsaWEgTGF3YWxsIDxqdWxpYS5sYXdhbGxAbGlwNi5mcj4sIHRoYW5rcyAh Cgp2Myx2MiA6IGFkZHJlc3NlZCBEYXZpZCBIb3dlbGxzIGZlZWRiYWNrLCB0aGFua3MgIQoKc3l6 Ym90IHJlcG9ydGVkIDoKCmthc2FuOiBDT05GSUdfS0FTQU5fSU5MSU5FIGVuYWJsZWQKa2FzYW46 IEdQRiBjb3VsZCBiZSBjYXVzZWQgYnkgTlVMTC1wdHIgZGVyZWYgb3IgdXNlciBtZW1vcnkgYWNj ZXNzCmdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdDogMDAwMCBbIzFdIFBSRUVNUFQgU01QIEtBU0FO CkNQVTogMCBQSUQ6IDE5MjM2IENvbW06IHN5ei1leGVjdXRvcjcwMyBOb3QgdGFpbnRlZCA1LjEu MC1yYzYgIzc5CkhhcmR3YXJlIG5hbWU6IEdvb2dsZSBHb29nbGUgQ29tcHV0ZSBFbmdpbmUvR29v Z2xlIENvbXB1dGUgRW5naW5lLCBCSU9TIEdvb2dsZSAwMS8wMS8yMDExClJJUDogMDAxMDpfX2xv Y2tfYWNxdWlyZSsweGJlZi8weDNmYjAga2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jOjM1NzMKQ29k ZTogMDAgMGYgODUgYTUgMWYgMDAgMDAgNDggODEgYzQgMTAgMDEgMDAgMDAgNWIgNDEgNWMgNDEg NWQgNDEgNWUgNDEgNWYgNWQgYzMgNDggYjggMDAgMDAgMDAgMDAgMDAgZmMgZmYgZGYgNGMgODkg ZWEgNDggYzEgZWEgMDMgPDgwPiAzYyAwMiAwMCAwZiA4NSA0YSAyMSAwMCAwMCA0OSA4MSA3ZCAw MCAyMCA1NCA5YyA4OSAwZiA4NCBjZiBmNApSU1A6IDAwMTg6ZmZmZjg4ODA5ZDdhZWY1OCBFRkxB R1M6IDAwMDEwMDAyClJBWDogZGZmZmZjMDAwMDAwMDAwMCBSQlg6IDAwMDAwMDAwMDAwMDAwMDAg UkNYOiAwMDAwMDAwMDAwMDAwMDAwClJEWDogMDAwMDAwMDAwMDAwMDAyNiBSU0k6IDAwMDAwMDAw MDAwMDAwMDAgUkRJOiAwMDAwMDAwMDAwMDAwMDAxClJCUDogZmZmZjg4ODA5ZDdhZjA5MCBSMDg6 IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiAwMDAwMDAwMDAwMDAwMDAxClIxMDogZmZmZmVkMTAxNWQw NWJjNyBSMTE6IGZmZmY4ODgwODk0Mjg2MDAgUjEyOiAwMDAwMDAwMDAwMDAwMDAwClIxMzogMDAw MDAwMDAwMDAwMDEzMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDEgUjE1OiAwMDAwMDAwMDAwMDAwMDAx CkZTOiAgMDAwMDdmMDU5MDQ0ZDcwMCgwMDAwKSBHUzpmZmZmODg4MGFlODAwMDAwKDAwMDApIGtu bEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAw MDAwMDA4MDA1MDAzMwpDUjI6IDAwMDAwMDAwMDA0YjYwNDAgQ1IzOiAwMDAwMDAwMDk1NWNhMDAw IENSNDogMDAwMDAwMDAwMDE0MDZmMApDYWxsIFRyYWNlOgogbG9ja19hY3F1aXJlKzB4MTZmLzB4 M2YwIGtlcm5lbC9sb2NraW5nL2xvY2tkZXAuYzo0MjExCiBfX3Jhd19zcGluX2xvY2tfaXJxc2F2 ZSBpbmNsdWRlL2xpbnV4L3NwaW5sb2NrX2FwaV9zbXAuaDoxMTAgW2lubGluZV0KIF9yYXdfc3Bp bl9sb2NrX2lycXNhdmUrMHg5NS8weGNkIGtlcm5lbC9sb2NraW5nL3NwaW5sb2NrLmM6MTUyCiBz a2JfcXVldWVfdGFpbCsweDI2LzB4MTUwIG5ldC9jb3JlL3NrYnVmZi5jOjI5NzIKIHJ4cnBjX3Jl amVjdF9wYWNrZXQgbmV0L3J4cnBjL2lucHV0LmM6MTEyNiBbaW5saW5lXQogcnhycGNfaW5wdXRf cGFja2V0KzB4NGEwLzB4NTUzNiBuZXQvcnhycGMvaW5wdXQuYzoxNDE0CiB1ZHBfcXVldWVfcmN2 X29uZV9za2IrMHhhZjIvMHgxNzgwIG5ldC9pcHY0L3VkcC5jOjIwMTEKIHVkcF9xdWV1ZV9yY3Zf c2tiKzB4MTI4LzB4NzMwIG5ldC9pcHY0L3VkcC5jOjIwODUKIHVkcF91bmljYXN0X3Jjdl9za2Iu aXNyYS4wKzB4YjkvMHgzNjAgbmV0L2lwdjQvdWRwLmM6MjI0NQogX191ZHA0X2xpYl9yY3YrMHg3 MDEvMHgyY2EwIG5ldC9pcHY0L3VkcC5jOjIzMDEKIHVkcF9yY3YrMHgyMi8weDMwIG5ldC9pcHY0 L3VkcC5jOjI0ODIKIGlwX3Byb3RvY29sX2RlbGl2ZXJfcmN1KzB4NjAvMHg4ZjAgbmV0L2lwdjQv aXBfaW5wdXQuYzoyMDgKIGlwX2xvY2FsX2RlbGl2ZXJfZmluaXNoKzB4MjNiLzB4MzkwIG5ldC9p cHY0L2lwX2lucHV0LmM6MjM0CiBORl9IT09LIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVyLmg6Mjg5 IFtpbmxpbmVdCiBORl9IT09LIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVyLmg6MjgzIFtpbmxpbmVd CiBpcF9sb2NhbF9kZWxpdmVyKzB4MWU5LzB4NTIwIG5ldC9pcHY0L2lwX2lucHV0LmM6MjU1CiBk c3RfaW5wdXQgaW5jbHVkZS9uZXQvZHN0Lmg6NDUwIFtpbmxpbmVdCiBpcF9yY3ZfZmluaXNoKzB4 MWUxLzB4MzAwIG5ldC9pcHY0L2lwX2lucHV0LmM6NDEzCiBORl9IT09LIGluY2x1ZGUvbGludXgv bmV0ZmlsdGVyLmg6Mjg5IFtpbmxpbmVdCiBORl9IT09LIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVy Lmg6MjgzIFtpbmxpbmVdCiBpcF9yY3YrMHhlOC8weDNmMCBuZXQvaXB2NC9pcF9pbnB1dC5jOjUy MwogX19uZXRpZl9yZWNlaXZlX3NrYl9vbmVfY29yZSsweDExNS8weDFhMCBuZXQvY29yZS9kZXYu Yzo0OTg3CiBfX25ldGlmX3JlY2VpdmVfc2tiKzB4MmMvMHgxYzAgbmV0L2NvcmUvZGV2LmM6NTA5 OQogbmV0aWZfcmVjZWl2ZV9za2JfaW50ZXJuYWwrMHgxMTcvMHg2NjAgbmV0L2NvcmUvZGV2LmM6 NTIwMgogbmFwaV9mcmFnc19maW5pc2ggbmV0L2NvcmUvZGV2LmM6NTc2OSBbaW5saW5lXQogbmFw aV9ncm9fZnJhZ3MrMHhhZGUvMHhkMTAgbmV0L2NvcmUvZGV2LmM6NTg0MwogdHVuX2dldF91c2Vy KzB4MmYyNC8weDNmYjAgZHJpdmVycy9uZXQvdHVuLmM6MTk4MQogdHVuX2Nocl93cml0ZV9pdGVy KzB4YmQvMHgxNTYgZHJpdmVycy9uZXQvdHVuLmM6MjAyNwogY2FsbF93cml0ZV9pdGVyIGluY2x1 ZGUvbGludXgvZnMuaDoxODY2IFtpbmxpbmVdCiBkb19pdGVyX3JlYWR2X3dyaXRldisweDVlMS8w eDhlMCBmcy9yZWFkX3dyaXRlLmM6NjgxCiBkb19pdGVyX3dyaXRlIGZzL3JlYWRfd3JpdGUuYzo5 NTcgW2lubGluZV0KIGRvX2l0ZXJfd3JpdGUrMHgxODQvMHg2MTAgZnMvcmVhZF93cml0ZS5jOjkz OAogdmZzX3dyaXRldisweDFiMy8weDJmMCBmcy9yZWFkX3dyaXRlLmM6MTAwMgogZG9fd3JpdGV2 KzB4MTVlLzB4MzcwIGZzL3JlYWRfd3JpdGUuYzoxMDM3CiBfX2RvX3N5c193cml0ZXYgZnMvcmVh ZF93cml0ZS5jOjExMTAgW2lubGluZV0KIF9fc2Vfc3lzX3dyaXRldiBmcy9yZWFkX3dyaXRlLmM6 MTEwNyBbaW5saW5lXQogX194NjRfc3lzX3dyaXRldisweDc1LzB4YjAgZnMvcmVhZF93cml0ZS5j OjExMDcKIGRvX3N5c2NhbGxfNjQrMHgxMDMvMHg2MTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6 MjkwCiBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCgpGaXhlczogNTI3 MTk1M2NhZDMxICgicnhycGM6IFVzZSB0aGUgVURQIGVuY2FwX3JjdiBob29rIikKU2lnbmVkLW9m Zi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1ieTogc3l6 Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KQWNrZWQtYnk6IERhdmlkIEhvd2VsbHMg PGRob3dlbGxzQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvcnhycGMvaW5wdXQuYyAgICAgICAgfCAxMiArKysr KysrKy0tLS0KIG5ldC9yeHJwYy9sb2NhbF9vYmplY3QuYyB8ICAzICsrLQogMiBmaWxlcyBjaGFu Z2VkLCAxMCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9y eHJwYy9pbnB1dC5jIGIvbmV0L3J4cnBjL2lucHV0LmMKaW5kZXggOTEyOGFhMGU0MGFhLi5iNGZm YjgxMjIzYWQgMTAwNjQ0Ci0tLSBhL25ldC9yeHJwYy9pbnB1dC5jCisrKyBiL25ldC9yeHJwYy9p bnB1dC5jCkBAIC0xMTU1LDE5ICsxMTU1LDE5IEBAIGludCByeHJwY19leHRyYWN0X2hlYWRlcihz dHJ1Y3QgcnhycGNfc2tiX3ByaXYgKnNwLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogICogaGFuZGxl IGRhdGEgcmVjZWl2ZWQgb24gdGhlIGxvY2FsIGVuZHBvaW50CiAgKiAtIG1heSBiZSBjYWxsZWQg aW4gaW50ZXJydXB0IGNvbnRleHQKICAqCi0gKiBUaGUgc29ja2V0IGlzIGxvY2tlZCBieSB0aGUg Y2FsbGVyIGFuZCB0aGlzIHByZXZlbnRzIHRoZSBzb2NrZXQgZnJvbSBiZWluZwotICogc2h1dCBk b3duIGFuZCB0aGUgbG9jYWwgZW5kcG9pbnQgZnJvbSBnb2luZyBhd2F5LCB0aHVzIHNrX3VzZXJf ZGF0YSB3aWxsIG5vdAotICogYmUgY2xlYXJlZCB1bnRpbCB0aGlzIGZ1bmN0aW9uIHJldHVybnMu CisgKiBbIV0gTm90ZSB0aGF0IGFzIHRoaXMgaXMgY2FsbGVkIGZyb20gdGhlIGVuY2FwX3JjdiBo b29rLCB0aGUgc29ja2V0IGlzIG5vdAorICogaGVsZCBsb2NrZWQgYnkgdGhlIGNhbGxlciBhbmQg bm90aGluZyBwcmV2ZW50cyBza191c2VyX2RhdGEgb24gdGhlIFVEUCBmcm9tCisgKiBiZWluZyBj bGVhcmVkIGluIHRoZSBtaWRkbGUgb2YgcHJvY2Vzc2luZyB0aGlzIGZ1bmN0aW9uLgogICoKICAq IENhbGxlZCB3aXRoIHRoZSBSQ1UgcmVhZCBsb2NrIGhlbGQgZnJvbSB0aGUgSVAgbGF5ZXIgdmlh IFVEUC4KICAqLwogaW50IHJ4cnBjX2lucHV0X3BhY2tldChzdHJ1Y3Qgc29jayAqdWRwX3NrLCBz dHJ1Y3Qgc2tfYnVmZiAqc2tiKQogeworCXN0cnVjdCByeHJwY19sb2NhbCAqbG9jYWwgPSByY3Vf ZGVyZWZlcmVuY2Vfc2tfdXNlcl9kYXRhKHVkcF9zayk7CiAJc3RydWN0IHJ4cnBjX2Nvbm5lY3Rp b24gKmNvbm47CiAJc3RydWN0IHJ4cnBjX2NoYW5uZWwgKmNoYW47CiAJc3RydWN0IHJ4cnBjX2Nh bGwgKmNhbGwgPSBOVUxMOwogCXN0cnVjdCByeHJwY19za2JfcHJpdiAqc3A7Ci0Jc3RydWN0IHJ4 cnBjX2xvY2FsICpsb2NhbCA9IHVkcF9zay0+c2tfdXNlcl9kYXRhOwogCXN0cnVjdCByeHJwY19w ZWVyICpwZWVyID0gTlVMTDsKIAlzdHJ1Y3QgcnhycGNfc29jayAqcnggPSBOVUxMOwogCXVuc2ln bmVkIGludCBjaGFubmVsOwpAQCAtMTE3NSw2ICsxMTc1LDEwIEBAIGludCByeHJwY19pbnB1dF9w YWNrZXQoc3RydWN0IHNvY2sgKnVkcF9zaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKIAogCV9lbnRl cigiJXAiLCB1ZHBfc2spOwogCisJaWYgKHVubGlrZWx5KCFsb2NhbCkpIHsKKwkJa2ZyZWVfc2ti KHNrYik7CisJCXJldHVybiAwOworCX0KIAlpZiAoc2tiLT50c3RhbXAgPT0gMCkKIAkJc2tiLT50 c3RhbXAgPSBrdGltZV9nZXRfcmVhbCgpOwogCmRpZmYgLS1naXQgYS9uZXQvcnhycGMvbG9jYWxf b2JqZWN0LmMgYi9uZXQvcnhycGMvbG9jYWxfb2JqZWN0LmMKaW5kZXggMDkwNmU1MWQzY2ZiLi4x MDMxN2RiZGFiNWYgMTAwNjQ0Ci0tLSBhL25ldC9yeHJwYy9sb2NhbF9vYmplY3QuYworKysgYi9u ZXQvcnhycGMvbG9jYWxfb2JqZWN0LmMKQEAgLTMwNCw3ICszMDQsOCBAQCBzdHJ1Y3QgcnhycGNf bG9jYWwgKnJ4cnBjX2xvb2t1cF9sb2NhbChzdHJ1Y3QgbmV0ICpuZXQsCiAJcmV0ID0gLUVOT01F TTsKIHNvY2tfZXJyb3I6CiAJbXV0ZXhfdW5sb2NrKCZyeG5ldC0+bG9jYWxfbXV0ZXgpOwotCWtm cmVlKGxvY2FsKTsKKwlpZiAobG9jYWwpCisJCWNhbGxfcmN1KCZsb2NhbC0+cmN1LCByeHJwY19s b2NhbF9yY3UpOwogCV9sZWF2ZSgiID0gJWQiLCByZXQpOwogCXJldHVybiBFUlJfUFRSKHJldCk7 CiAKLS0gCjIuMjAuMQoK ----Next_Part(Mon_Apr_29_22_06_29_2019_321)----