From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Kdrs9-0005vW-UU for qemu-devel@nongnu.org; Thu, 11 Sep 2008 15:30:33 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Kdrs7-0005sF-79 for qemu-devel@nongnu.org; Thu, 11 Sep 2008 15:30:32 -0400 Received: from [199.232.76.173] (port=33210 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kdrs7-0005sC-3w for qemu-devel@nongnu.org; Thu, 11 Sep 2008 15:30:31 -0400 Received: from mail-gx0-f19.google.com ([209.85.217.19]:52557) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Kdrs6-0008JR-FP for qemu-devel@nongnu.org; Thu, 11 Sep 2008 15:30:31 -0400 Received: by gxk12 with SMTP id 12so17079308gxk.10 for ; Thu, 11 Sep 2008 12:30:29 -0700 (PDT) Message-ID: Date: Thu, 11 Sep 2008 22:30:28 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [PATCH v6 0/8] Add new firmware configuration mechanism In-Reply-To: <20080911132350.22719.29086.stgit@gleb-debian.qumranet.com.qumranet.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_33700_15079230.1221161428812" References: <20080911132350.22719.29086.stgit@gleb-debian.qumranet.com.qumranet.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_33700_15079230.1221161428812 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 9/11/08, Gleb Natapov wrote: > Hi, > > Here the latest version of the patch series. > > This patch series implements simple key/value base communication channel > to pass firmware configuration from qemu to guest firmware in patch 1. > Patches 2-5 implement UUID support. Patch 6 implements CPU speed detection > needed by SMBIOS. Patch 7 adds more common keys that may be used by > various firmwares. Patch 8 add sparc specific keys. I have updated my patch for OpenBIOS on Sparc32/64 to support the changed interface. I think we should be ready to apply most of the patches. Paul had reservations about libuuid, so that patch should be left out for now. Likewise for the CPU speed patch. I propose to apply patches 1, 2, 3, 5, 7, and 8. Any objections? ------=_Part_33700_15079230.1221161428812 Content-Type: plain/text; name=openbios_new_fw_abi.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fkzrrnoo Content-Disposition: attachment; filename=openbios_new_fw_abi.diff SW5kZXg6IG9wZW5iaW9zLXF1aWx0L2luY2x1ZGUvb3BlbmJpb3MvZndfY2ZnLmgKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKyBv cGVuYmlvcy1xdWlsdC9pbmNsdWRlL29wZW5iaW9zL2Z3X2NmZy5oCTIwMDgtMDktMTEgMTc6NTA6 NTYuMDAwMDAwMDAwICswMDAwCkBAIC0wLDAgKzEsMzMgQEAKKyNpZm5kZWYgRldfQ0ZHX0gKKyNk ZWZpbmUgRldfQ0ZHX0gKKworI2RlZmluZSBGV19DRkdfU0lHTkFUVVJFICAgICAgICAweDAwCisj ZGVmaW5lIEZXX0NGR19JRCAgICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgRldfQ0ZHX1VVSUQg ICAgICAgICAgICAgMHgwMgorI2RlZmluZSBGV19DRkdfUkFNX1NJWkUgICAgICAgICAweDAzCisj ZGVmaW5lIEZXX0NGR19OT0dSQVBISUMgICAgICAgIDB4MDQKKyNkZWZpbmUgRldfQ0ZHX05CX0NQ VVMgICAgICAgICAgMHgwNQorI2RlZmluZSBGV19DRkdfTUFDSElORV9JRCAgICAgICAweDA2Cisj ZGVmaW5lIEZXX0NGR19NQVhfRU5UUlkgICAgICAgIDB4MTAKKworI2RlZmluZSBGV19DRkdfV1JJ VEVfQ0hBTk5FTCAgICAweDQwMDAKKyNkZWZpbmUgRldfQ0ZHX0FSQ0hfTE9DQUwgICAgICAgMHg4 MDAwCisjZGVmaW5lIEZXX0NGR19FTlRSWV9NQVNLICAgICAgIH4oRldfQ0ZHX1dSSVRFX0NIQU5O RUwgfCBGV19DRkdfQVJDSF9MT0NBTCkKKworI2RlZmluZSBGV19DRkdfSU5WQUxJRCAgICAgICAg ICAweGZmZmYKKworI2lmbmRlZiBOT19RRU1VX1BST1RPUwordHlwZWRlZiB2b2lkICgqRldDZmdD YWxsYmFjaykodm9pZCAqb3BhcXVlLCB1aW50OF90ICpkYXRhKTsKKworaW50IGZ3X2NmZ19hZGRf Ynl0ZXModm9pZCAqb3BhcXVlLCB1aW50MTZfdCBrZXksIHVpbnQ4X3QgKmRhdGEsIHVpbnQxNl90 IGxlbik7CitpbnQgZndfY2ZnX2FkZF9pMTYodm9pZCAqb3BhcXVlLCB1aW50MTZfdCBrZXksIHVp bnQxNl90IHZhbHVlKTsKK2ludCBmd19jZmdfYWRkX2kzMih2b2lkICpvcGFxdWUsIHVpbnQxNl90 IGtleSwgdWludDMyX3QgdmFsdWUpOworaW50IGZ3X2NmZ19hZGRfaTY0KHZvaWQgKm9wYXF1ZSwg dWludDE2X3Qga2V5LCB1aW50NjRfdCB2YWx1ZSk7CitpbnQgZndfY2ZnX2FkZF9jYWxsYmFjayh2 b2lkICpvcGFxdWUsIHVpbnQxNl90IGtleSwgRldDZmdDYWxsYmFjayBjYWxsYmFjaywKKyAgICAg ICAgICAgICAgICAgICAgICAgIHZvaWQgKmNhbGxiYWNrX29wYXF1ZSwgdWludDhfdCAqZGF0YSwg c2l6ZV90IGxlbik7Cit2b2lkICpmd19jZmdfaW5pdCh1aW50MzJfdCBjdGxfcG9ydCwgdWludDMy X3QgZGF0YV9wb3J0LAorCQl0YXJnZXRfcGh5c19hZGRyX3QgY3JsX2FkZHIsIHRhcmdldF9waHlz X2FkZHJfdCBkYXRhX2FkZHIpOworCisjZW5kaWYgLyogTk9fUUVNVV9QUk9UT1MgKi8KKworI2Vu ZGlmCkluZGV4OiBvcGVuYmlvcy1xdWlsdC9hcmNoL3NwYXJjNjQvZW50cnkuUwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBvcGVuYmlvcy1xdWlsdC5vcmlnL2FyY2gvc3BhcmM2NC9lbnRyeS5TCTIwMDgtMDktMDIg MTU6MzM6MDQuMDAwMDAwMDAwICswMDAwCisrKyBvcGVuYmlvcy1xdWlsdC9hcmNoL3NwYXJjNjQv ZW50cnkuUwkyMDA4LTA5LTExIDE3OjUzOjM3LjAwMDAwMDAwMCArMDAwMApAQCAtMTEsMTAgKzEx LDExIEBACiAjaW5jbHVkZSAiYXNpLmgiCiAjaW5jbHVkZSAicHN0YXRlLmgiCiAjaW5jbHVkZSAi bHN1LmgiCi0jZGVmaW5lIF9fQVNTRU1CTFlfXwotI2luY2x1ZGUgIm9wZW5iaW9zL2Zpcm13YXJl X2FiaS5oIgorI2RlZmluZSBOT19RRU1VX1BST1RPUworI2luY2x1ZGUgIm9wZW5iaW9zL2Z3X2Nm Zy5oIgogCiAjZGVmaW5lIFBST01fQUREUiAweDFmZmYwMDAwMDAwCisjZGVmaW5lIENGR19BRERS ICAweDFmZTAyMDAwNTEwCiAKICAgICAgICAgLmdsb2JsCWVudHJ5LCBfZW50cnkKIApAQCAtNTIs NTggKzUzLDY0IEBACiAgICAgICAgICEgRGlzYWJsZSBJL0QgTU1VcyBhbmQgY2FjaGVzCiAgICAg ICAgIHN0eGEgICAgJWcwLCBbJWcwXSBBU0lfTFNVX0NPTlRST0wKIAotICAgICAgICAhIEdldCBt ZW1vcnkgc2l6ZSBmcm9tIE5WUkFNCi0gICAgICAgIHNldHggICAgMHgxZmUwMjAwMDA3NCwgJWcy LCAlZzUKLSAgICAgICAgbW92ICAgICBPSFdfUkFNX1NJWkUsICVnMgotICAgICAgICBzdGJhICAg ICVnMiwgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLSAgICAgICAgYWRkICAgICAlZzUsIDEs ICVnMQotICAgICAgICBzdGJhICAgICVnMCwgWyVnMV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLSAg ICAgICAgYWRkICAgICAlZzEsIDIsICVnMQotCWxkdWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19F Q19FLCAlZzQKLQotICAgICAgICBzbGwgICAgICVnNCwgOCwgJWc0Ci0gICAgICAgIGluYyAgICAg JWcyCi0gICAgICAgIHN0YmEgICAgJWcyLCBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRQotCWxk dWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAgICAgICAgISBDaGVjayBzaWdu YXR1cmUgIlFFTVUiCisgICAgICAgIHNldHggICAgQ0ZHX0FERFIsICVnMiwgJWc1CisgICAgICAg IG1vdiAgICAgRldfQ0ZHX1NJR05BVFVSRSwgJWcyCisgICAgICAgIHN0aGEgICAgJWcyLCBbJWc1 XSBBU0lfUEhZU19CWVBBU1NfRUNfRQorICAgICAgICBpbmMgICAgICVnNQorICAgICAgICBsZHVi YSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzIKKyAgICAgICAgY21wICAgICAlZzIs ICdRJworICAgICAgICBibmUgICAgIGJhZF9jb25mCisgICAgICAgICBub3AKKyAgICAgICAgbGR1 YmEgICBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWcyCisgICAgICAgIGNtcCAgICAgJWcy LCAnRScKKyAgICAgICAgYm5lICAgICBiYWRfY29uZgorICAgICAgICAgbm9wCisgICAgICAgIGxk dWJhICAgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UsICVnMgorICAgICAgICBjbXAgICAgICVn MiwgJ00nCisgICAgICAgIGJuZSAgICAgYmFkX2NvbmYKKyAgICAgICAgIG5vcAorICAgICAgICBs ZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzIKKyAgICAgICAgY21wICAgICAl ZzIsICdVJworICAgICAgICBibmUgICAgIGJhZF9jb25mCisgICAgICAgICBub3AKKworICAgICAg ICAhIEdldCBtZW1vcnkgc2l6ZSBmcm9tIGNvbmZpZ3VyYXRpb24gZGV2aWNlCisgICAgICAgICEg TkI6IGxpdHRsZSBlbmRpYW4gZm9ybWF0CisgICAgICAgIG1vdiAgICAgRldfQ0ZHX1JBTV9TSVpF LCAlZzIKKyAgICAgICAgZGVjICAgICAlZzUKKyAgICAgICAgc3RoYSAgICAlZzIsIFslZzVdIEFT SV9QSFlTX0JZUEFTU19FQ19FCisgICAgICAgIGluYyAgICAgJWc1CisgICAgICAgIGxkdWJhICAg WyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UsICVnNAorCisgICAgICAgIGxkdWJhICAgWyVnNV0g QVNJX1BIWVNfQllQQVNTX0VDX0UsICVnMworICAgICAgICBzbGx4ICAgICVnMywgOCwgJWczCiAg ICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnNAogCi0gICAgICAgIHNsbCAgICAgJWc0LCA4LCAl ZzQKLSAgICAgICAgaW5jICAgICAlZzIKLSAgICAgICAgc3RiYSAgICAlZzIsIFslZzVdIEFTSV9Q SFlTX0JZUEFTU19FQ19FCi0JbGR1YmEJWyVnMV0gQVNJX1BIWVNfQllQQVNTX0VDX0UsICVnMwor ICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAgICAgICAg c2xseCAgICAlZzMsIDE2LCAlZzMKICAgICAgICAgb3IgICAgICAlZzMsICVnNCwgJWc0CiAKLSAg ICAgICAgc2xsICAgICAlZzQsIDgsICVnNAotICAgICAgICBpbmMgICAgICVnMgotICAgICAgICBz dGJhICAgICVnMiwgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLQlsZHViYQlbJWcxXSBBU0lf UEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIGxkdWJhICAgWyVnNV0gQVNJX1BIWVNfQllQ QVNTX0VDX0UsICVnMworICAgICAgICBzbGx4ICAgICVnMywgMjQsICVnMwogICAgICAgICBvciAg ICAgICVnMywgJWc0LCAlZzQKIAotICAgICAgICBzbGwgICAgICVnNCwgOCwgJWc0Ci0gICAgICAg IGluYyAgICAgJWcyCi0gICAgICAgIHN0YmEgICAgJWcyLCBbJWc1XSBBU0lfUEhZU19CWVBBU1Nf RUNfRQotCWxkdWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMKKyAgICAgICAgbGR1 YmEgICBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIHNsbHggICAgJWcz LCAzMiwgJWczCiAgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnNAogCi0gICAgICAgIHNsbCAg ICAgJWc0LCA4LCAlZzQKLSAgICAgICAgaW5jICAgICAlZzIKLSAgICAgICAgc3RiYSAgICAlZzIs IFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FCi0JbGR1YmEJWyVnMV0gQVNJX1BIWVNfQllQQVNT X0VDX0UsICVnMworICAgICAgICBsZHViYSAgIFslZzVdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAl ZzMKKyAgICAgICAgc2xseCAgICAlZzMsIDQwLCAlZzMKICAgICAgICAgb3IgICAgICAlZzMsICVn NCwgJWc0CiAKLSAgICAgICAgc2xsICAgICAlZzQsIDgsICVnNAotICAgICAgICBpbmMgICAgICVn MgotICAgICAgICBzdGJhICAgICVnMiwgWyVnNV0gQVNJX1BIWVNfQllQQVNTX0VDX0UKLQlsZHVi YQlbJWcxXSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAgIGxkdWJhICAgWyVnNV0g QVNJX1BIWVNfQllQQVNTX0VDX0UsICVnMworICAgICAgICBzbGx4ICAgICVnMywgNDgsICVnMwog ICAgICAgICBvciAgICAgICVnMywgJWc0LCAlZzQKIAotICAgICAgICBzbGwgICAgICVnNCwgOCwg JWc0Ci0gICAgICAgIGluYyAgICAgJWcyCi0gICAgICAgIHN0YmEgICAgJWcyLCBbJWc1XSBBU0lf UEhZU19CWVBBU1NfRUNfRQotCWxkdWJhCVslZzFdIEFTSV9QSFlTX0JZUEFTU19FQ19FLCAlZzMK KyAgICAgICAgbGR1YmEgICBbJWc1XSBBU0lfUEhZU19CWVBBU1NfRUNfRSwgJWczCisgICAgICAg IHNsbHggICAgJWczLCA1NiwgJWczCiAgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnMQotCSEg JWcxIGNvbnRhaW5zIGVuZCBvZiBtZW1vcnkKLQorICAgICAgICAhICVnMSBjb250YWlucyBlbmQg b2YgbWVtb3J5CiAKICAgICAgICAgc2V0eCAgICBfZW5kLCAlZzcsICVnMwogICAgICAgICBzZXQg ICAgIDB4ZmZmZiwgJWcyCkBAIC0zMDEsOCArMzA4LDcgQEAKIAogICAgICAgICAvKiBXZSBnZXQg aGVyZSB3aGVuIHRoZSBtYWluIGNvbnRleHQgc3dpdGNoZXMgYmFjayB0bwogICAgICAgICAgKiB0 aGUgYm9vdCBjb250ZXh0LgotICAgICAgICAgKiBSZXR1cm4gdG8gcHJldmlvdXMgYm9vdGxvYWRl ci4KICAgICAgICAgICovCi0gICAgICAgIHJldAorYmFkX2NvbmY6CisgICAgICAgIGIgICAgICAg YmFkX2NvbmYKICAgICAgICAgIG5vcAotCkluZGV4OiBvcGVuYmlvcy1xdWlsdC9hcmNoL3NwYXJj NjQvb3BlbmJpb3MuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBvcGVuYmlvcy1xdWlsdC5vcmlnL2FyY2gvc3Bh cmM2NC9vcGVuYmlvcy5jCTIwMDgtMDktMDIgMTU6NTE6NTguMDAwMDAwMDAwICswMDAwCisrKyBv cGVuYmlvcy1xdWlsdC9hcmNoL3NwYXJjNjQvb3BlbmJpb3MuYwkyMDA4LTA5LTExIDE3OjU3OjI4 LjAwMDAwMDAwMCArMDAwMApAQCAtMjQsNiArMjQsMTEgQEAKICNpbmNsdWRlICJhc2kuaCIKICNp bmNsdWRlICJzcGl0ZmlyZS5oIgogI2luY2x1ZGUgImxpYmMvdnNwcmludGYuaCIKKyNkZWZpbmUg Tk9fUUVNVV9QUk9UT1MKKyNpbmNsdWRlICJvcGVuYmlvcy9md19jZmcuaCIKKworI2RlZmluZSBC SU9TX0NGR19DTUQgIDB4NTEwCisjZGVmaW5lIEJJT1NfQ0ZHX0RBVEEgMHg1MTEKIAogI2RlZmlu ZSBSRUdJU1RFUl9OQU1FRF9OT0RFKCBuYW1lLCBwYXRoICkgICBkbyB7ICAgICAgICAgICAgICAg ICAgICAgICAgXAogICAgICAgICBiaW5kX25ld19ub2RlKCBuYW1lIyNfZmxhZ3NfLCBuYW1lIyNf c2l6ZV8sICAgICAgICAgICAgICAgICAgICAgXApAQCAtNjcsNiArNzIsOCBAQAogI2RlZmluZSBQ QUdFX01BU0tfNjRLICAoNjQgKiAxMDI0IC0gMSkKICNkZWZpbmUgUEFHRV9NQVNLXzhLICAgKDgg KiAxMDI0IC0gMSkKIAorI2RlZmluZSBVVUlEX0ZNVCAiJTAyeCUwMnglMDJ4JTAyeC0lMDJ4JTAy eC0lMDJ4JTAyeC0lMDJ4JTAyeC0lMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMngiCisKIHN0YXRpYyB2 b2lkCiBtbXVfb3Blbih2b2lkKQogewpAQCAtNDc0LDYgKzQ4MSw4IEBACiAgICAgZm9yICg7Oyk7 CiB9CiAKK3N0YXRpYyB1aW50OF90IHFlbXVfdXVpZFsxNl07CisKIHZvaWQgYXJjaF9udnJhbV9n ZXQoY2hhciAqZGF0YSkKIHsKICAgICB1bnNpZ25lZCBzaG9ydCBpOwpAQCAtNDgxLDYgKzQ5MCw5 IEBACiAgICAgdWludDMyX3Qgc2l6ZTsKICAgICBjb25zdCBzdHJ1Y3QgY3B1ZGVmICpjcHU7CiAg ICAgY29uc3QgY2hhciAqYm9vdHBhdGg7CisgICAgY2hhciBidWZbMjU2XTsKKyAgICB1aW50MzJf dCB0ZW1wOworICAgIHVpbnQ2NF90IHJhbV9zaXplOwogCiAgICAgZm9yIChpID0gMDsgaSA8IHNp emVvZihvaHdjZmdfdjNfdCk7IGkrKykgewogICAgICAgICBvdXRiKGkgJiAweGZmLCAweDc0KTsK QEAgLTQ4OCwxNCArNTAwLDIwIEBACiAgICAgICAgICpudnB0cisrID0gaW5iKDB4NzcpOwogICAg IH0KIAotICAgIHByaW50aygiTnZyYW0gaWQgJXMsIHZlcnNpb24gJWRcbiIsIG52X2luZm8uc3Ry dWN0X2lkZW50LAotICAgICAgICAgICBudl9pbmZvLnN0cnVjdF92ZXJzaW9uKTsKLSAgICBpZiAo c3RyY21wKG52X2luZm8uc3RydWN0X2lkZW50LCAiUUVNVV9CSU9TIikgfHwKLSAgICAgICAgbnZf aW5mby5zdHJ1Y3RfdmVyc2lvbiAhPSAzIHx8Ci0gICAgICAgIE9IV19jb21wdXRlX2NyYygmbnZf aW5mbywgMHgwMCwgMHhGOCkgIT0gbnZfaW5mby5jcmMpIHsKLSAgICAgICAgcHJpbnRrKCJVbmtu b3duIG52cmFtLCBmcmVlemluZyFcbiIpOwotICAgICAgICBmb3IgKDs7KTsKLSAgICB9CisgICAg b3V0dyhfX2NwdV90b19sZTE2KEZXX0NGR19TSUdOQVRVUkUpLCBCSU9TX0NGR19DTUQpOworICAg IGZvciAoaSA9IDA7IGkgPCA0OyBpKyspCisgICAgICAgIGJ1ZltpXSA9IGluYihCSU9TX0NGR19E QVRBKTsKKworICAgIGJ1Zls0XSA9ICdcMCc7CisKKyAgICBwcmludGsoIkNvbmZpZ3VyYXRpb24g ZGV2aWNlIGlkICVzIiwgYnVmKTsKKworICAgIG91dHcoX19jcHVfdG9fbGUxNihGV19DRkdfSUQp LCBCSU9TX0NGR19DTUQpOworICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspCisgICAgICAgIGJ1 ZltpXSA9IGluYihCSU9TX0NGR19EQVRBKTsKKworICAgIHRlbXAgPSBfX2xlMzJfdG9fY3B1KCoo dWludDMyX3QgKilidWYpOworICAgIHByaW50aygiIHZlcnNpb24gJWRcbiIsIHRlbXApOwogCiAg ICAga2VybmVsX2ltYWdlID0gbnZfaW5mby5rZXJuZWxfaW1hZ2U7CiAgICAga2VybmVsX3NpemUg PSBudl9pbmZvLmtlcm5lbF9zaXplOwpAQCAtNTE4LDE2ICs1MzYsNDAgQEAKICAgICAgICAgZGF0 YVtpXSA9IGluYigweDc3KTsKICAgICB9CiAKLSAgICBwcmludGsoIkNQVXM6ICV4IiwgbnZfaW5m by5uYl9jcHVzKTsKKyAgICBvdXR3KF9fY3B1X3RvX2xlMTYoRldfQ0ZHX05CX0NQVVMpLCBCSU9T X0NGR19DTUQpOworICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspCisgICAgICAgIGJ1ZltpXSA9 IGluYihCSU9TX0NGR19EQVRBKTsKKworICAgIHRlbXAgPSBfX2xlMzJfdG9fY3B1KCoodWludDMy X3QgKilidWYpOworCisgICAgcHJpbnRrKCJDUFVzOiAleCIsIHRlbXApOworCiAgICAgY3B1ID0g aWRfY3B1KCk7CiAgICAgLy9jcHUtPmluaXRmbigpOwogICAgIGNwdV9nZW5lcmljX2luaXQoY3B1 KTsKICAgICBwcmludGsoIiB4ICVzXG4iLCBjcHUtPm5hbWUpOwogCi0gICAgLy8gQWRkIC9pZHBy b20KKyAgICAvLyBBZGQgL3V1aWQKKyAgICBvdXR3KF9fY3B1X3RvX2xlMTYoRldfQ0ZHX1VVSUQp LCBCSU9TX0NGR19DTUQpOworICAgIGZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKQorICAgICAgICBx ZW11X3V1aWRbaV0gPSBpbmIoQklPU19DRkdfREFUQSk7CisKKyAgICBwcmludGsoIlVVSUQ6ICIg VVVJRF9GTVQgIlxuIiwgcWVtdV91dWlkWzBdLCBxZW11X3V1aWRbMV0sIHFlbXVfdXVpZFsyXSwK KyAgICAgICAgICAgcWVtdV91dWlkWzNdLCBxZW11X3V1aWRbNF0sIHFlbXVfdXVpZFs1XSwgcWVt dV91dWlkWzZdLAorICAgICAgICAgICBxZW11X3V1aWRbN10sIHFlbXVfdXVpZFs4XSwgcWVtdV91 dWlkWzldLCBxZW11X3V1aWRbMTBdLAorICAgICAgICAgICBxZW11X3V1aWRbMTFdLCBxZW11X3V1 aWRbMTJdLCBxZW11X3V1aWRbMTNdLCBxZW11X3V1aWRbMTRdLAorICAgICAgICAgICBxZW11X3V1 aWRbMTVdKTsKKwogICAgIHB1c2hfc3RyKCIvIik7CiAgICAgZndvcmQoImZpbmQtZGV2aWNlIik7 CiAKKyAgICBQVVNIKChsb25nKSZxZW11X3V1aWQpOworICAgIFBVU0goMTYpOworICAgIGZ3b3Jk KCJlbmNvZGUtYnl0ZXMiKTsKKyAgICBwdXNoX3N0cigidXVpZCIpOworICAgIGZ3b3JkKCJwcm9w ZXJ0eSIpOworCisgICAgLy8gQWRkIC9pZHByb20KICAgICBmb3IgKGkgPSAwOyBpIDwgMzI7IGkr KykgewogICAgICAgICBvdXRiKChpICsgMHgxZmQ4KSAmIDB4ZmYsIDB4NzQpOwogICAgICAgICBv dXRiKChpICsgMHgxZmQ4KSA+PiA4LCAweDc1KTsKQEAgLTU0OCwxNiArNTkwLDIyIEBACiAgICAg cHVzaF9zdHIoIi9tZW1vcnkiKTsKICAgICBmd29yZCgiZmluZC1kZXZpY2UiKTsKIAorICAgIG91 dHcoX19jcHVfdG9fbGUxNihGV19DRkdfUkFNX1NJWkUpLCBCSU9TX0NGR19DTUQpOworICAgIGZv ciAoaSA9IDA7IGkgPCA4OyBpKyspCisgICAgICAgIGJ1ZltpXSA9IGluYihCSU9TX0NGR19EQVRB KTsKKworICAgIHJhbV9zaXplID0gX19sZTY0X3RvX2NwdSgqKHVpbnQ2NF90ICopYnVmKTsKKwog ICAgIC8vIEFsbCBtZW1vcnk6IDAgdG8gUkFNX3NpemUKICAgICBQVVNIKDApOwogICAgIGZ3b3Jk KCJlbmNvZGUtaW50Iik7CiAgICAgUFVTSCgwKTsKICAgICBmd29yZCgiZW5jb2RlLWludCIpOwog ICAgIGZ3b3JkKCJlbmNvZGUrIik7Ci0gICAgUFVTSCgoaW50KShudl9pbmZvLlJBTTBfc2l6ZSA+ PiAzMikpOworICAgIFBVU0goKGludCkocmFtX3NpemUgPj4gMzIpKTsKICAgICBmd29yZCgiZW5j b2RlLWludCIpOwogICAgIGZ3b3JkKCJlbmNvZGUrIik7Ci0gICAgUFVTSCgoaW50KShudl9pbmZv LlJBTTBfc2l6ZSAmIDB4ZmZmZmZmZmYpKTsKKyAgICBQVVNIKChpbnQpKHJhbV9zaXplICYgMHhm ZmZmZmZmZikpOwogICAgIGZ3b3JkKCJlbmNvZGUtaW50Iik7CiAgICAgZndvcmQoImVuY29kZSsi KTsKICAgICBwdXNoX3N0cigicmVnIik7CkluZGV4OiBvcGVuYmlvcy1xdWlsdC9hcmNoL3NwYXJj MzIvZW50cnkuUwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBvcGVuYmlvcy1xdWlsdC5vcmlnL2FyY2gvc3BhcmMz Mi9lbnRyeS5TCTIwMDgtMDktMDIgMTU6MzM6MDQuMDAwMDAwMDAwICswMDAwCisrKyBvcGVuYmlv cy1xdWlsdC9hcmNoL3NwYXJjMzIvZW50cnkuUwkyMDA4LTA5LTExIDE5OjE1OjQ2LjAwMDAwMDAw MCArMDAwMApAQCAtMTIsNiArMTIsMTEgQEAKICNpbmNsdWRlICJhc20vY3JzLmgiCiAjZGVmaW5l IF9fQVNTRU1CTFlfXwogI2luY2x1ZGUgIm9wZW5iaW9zL2Zpcm13YXJlX2FiaS5oIgorI2RlZmlu ZSBOT19RRU1VX1BST1RPUworI2luY2x1ZGUgIm9wZW5iaW9zL2Z3X2NmZy5oIgorCisjZGVmaW5l IENGR19BRERSIDB4MDAwMDA1MTAKKyNkZWZpbmUgQ0ZHX0FTSSAgMHgyZAogCiAjZGVmaW5lIFBI WVNfSkpfRUVQUk9NCTB4NzEyMDAwMDAgIC8qIFsyMDAwXSBNSzQ4VDA4ICovCiAjZGVmaW5lIFBI WVNfSkpfSU5UUjAJMHg3MUUwMDAwMCAgLyogQ1BVMCBpbnRlcnJ1cHQgY29udHJvbCByZWdpc3Rl cnMgKi8KQEAgLTQ0LDQxICs0OSw4NCBAQAogICAgICAgICAgKiBNYWluIGNvbnRleHQgaXMgc3Rh dGljYWxseSBkZWZpbmVkIGluIEMuCiAgICAgICAgICAqLwogCi0gICAgICAgICEgQ2hlY2sgaWYg dGhpcyBpcyBRRU1VIGZvciBTUy01Ci0gICAgICAgIHNldCBQSFlTX0pKX0VFUFJPTSwgJWcxCi0g ICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQllQQVNTLCAlZzIKKyAgICAgICAgISBDaGVjayBz aWduYXR1cmUgIlFFTVUiCisgICAgICAgIHNldCAgICAgQ0ZHX0FERFIsICVnNQorICAgICAgICBt b3YgICAgIEZXX0NGR19TSUdOQVRVUkUsICVnMgorICAgICAgICBzdGhhICAgICVnMiwgWyVnNV0g Q0ZHX0FTSQorICAgICAgICBhZGQgICAgICVnNSwgMiwgJWc1CisgICAgICAgIGxkdWJhICAgWyVn NV0gQ0ZHX0FTSSwgJWcyCiAgICAgICAgIGNtcCAgICAgJWcyLCAnUScKLSAgICAgICAgYm5lICAg ICBzczEwCi0gICAgICAgICBpbmMgICAgJWcxCi0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01f QllQQVNTLCAlZzIKKyAgICAgICAgYm5lICAgICBiYWRfY29uZgorICAgICAgICAgbm9wCisgICAg ICAgIGxkdWJhICAgWyVnNV0gQ0ZHX0FTSSwgJWcyCiAgICAgICAgIGNtcCAgICAgJWcyLCAnRScK LSAgICAgICAgYm5lICAgICBzczEwCi0gICAgICAgICBpbmMgICAgJWcxCi0gICAgICAgIGxkdWJh ICAgWyVnMV0gQVNJX01fQllQQVNTLCAlZzIKKyAgICAgICAgYm5lICAgICBiYWRfY29uZgorICAg ICAgICAgbm9wCisgICAgICAgIGxkdWJhICAgWyVnNV0gQ0ZHX0FTSSwgJWcyCiAgICAgICAgIGNt cCAgICAgJWcyLCAnTScKLSAgICAgICAgYm5lICAgICBzczEwCi0gICAgICAgICBpbmMgICAgJWcx Ci0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQllQQVNTLCAlZzIKKyAgICAgICAgYm5lICAg ICBiYWRfY29uZgorICAgICAgICAgbm9wCisgICAgICAgIGxkdWJhICAgWyVnNV0gQ0ZHX0FTSSwg JWcyCiAgICAgICAgIGNtcCAgICAgJWcyLCAnVScKLSAgICAgICAgYm5lICAgICBzczEwCisgICAg ICAgIGJuZSAgICAgYmFkX2NvbmYKKyAgICAgICAgIG5vcAorCisgICAgICAgICEgR2V0IG1lbW9y eSBzaXplIGZyb20gY29uZmlndXJhdGlvbiBkZXZpY2UKKyAgICAgICAgISBOQjogbGl0dGxlIGVu ZGlhbiBmb3JtYXQKKyAgICAgICAgbW92ICAgICBGV19DRkdfUkFNX1NJWkUsICVnMgorICAgICAg ICBzdWIgICAgICVnNSwgMiwgJWc1CisgICAgICAgIHN0aGEgICAgJWcyLCBbJWc1XSBDRkdfQVNJ CisgICAgICAgIGFkZCAgICAgJWc1LCAyLCAlZzUKKyAgICAgICAgbGR1YmEgICBbJWc1XSBDRkdf QVNJLCAlZzQKKworICAgICAgICBsZHViYSAgIFslZzVdIENGR19BU0ksICVnMworICAgICAgICBz bGwgICAgICVnMywgOCwgJWczCisgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnNAorCisgICAg ICAgIGxkdWJhICAgWyVnNV0gQ0ZHX0FTSSwgJWczCisgICAgICAgIHNsbCAgICAgJWczLCAxNiwg JWczCisgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnNAorCisgICAgICAgIGxkdWJhICAgWyVn NV0gQ0ZHX0FTSSwgJWczCisgICAgICAgIHNsbCAgICAgJWczLCAyNCwgJWczCisgICAgICAgIG9y ICAgICAgJWczLCAlZzQsICVnMQorICAgICAgICAhICVnMSBjb250YWlucyBlbmQgb2YgbWVtb3J5 CisKKyAgICAgICAgISBHZXQgbWFjaGluZSBJRCBmcm9tIGNvbmZpZ3VyYXRpb24gZGV2aWNlCisg ICAgICAgIG1vdiAgICAgRldfQ0ZHX01BQ0hJTkVfSUQsICVnMgorICAgICAgICBzdWIgICAgICVn NSwgMiwgJWc1CisgICAgICAgIHN0aGEgICAgJWcyLCBbJWc1XSBDRkdfQVNJCisgICAgICAgIGFk ZCAgICAgJWc1LCAyLCAlZzUKKyAgICAgICAgbGR1YmEgICBbJWc1XSBDRkdfQVNJLCAlZzQKKwor ICAgICAgICBsZHViYSAgIFslZzVdIENGR19BU0ksICVnMworICAgICAgICBzbGwgICAgICVnMywg OCwgJWczCisgICAgICAgIG9yICAgICAgJWczLCAlZzQsICVnNAorICAgICAgICBtb3YgICAgICVn NCwgJXkKKworICAgICAgICBjbXAgICAgICVnNCwgOTYKKyAgICAgICAgYmdldSAgICBzczEwMDAK KyAgICAgICAgIGNtcCAgICAlZzQsIDY0CisgICAgICAgIGJnZXUgICAgc3MxMAorICAgICAgICAg Y21wICAgICVnNCwgMzIKKyAgICAgICAgYmx1ICAgICBzczIKKyAgICAgICAgIG5vcAogCiAgICAg ICAgICEgT2ssIHRoaXMgaXMgU1MtNQotICAgICAgICBtb3YgICAgIDB4ODAsICV5CiAgICAgICAg ICEgRmluZCBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgcGFydAotICAgICAgICBzZXQgICAgIFBIWVNf SkpfRUVQUk9NICsgT0hXX0FSQ0hfUFRSLCAlZzEKLSAgICAgICAgbGR1aGEgICBbJWcxXSBBU0lf TV9CWVBBU1MsICVnMgotICAgICAgICBzZXQgICAgIFBIWVNfSkpfRUVQUk9NLCAlZzEKLSAgICAg ICAgYWRkICAgICAlZzEsICVnMiwgJWczCisgICAgICAgIHNldCAgICAgUEhZU19KSl9FRVBST00g KyBPSFdfQVJDSF9QVFIsICVnNQorICAgICAgICBsZHVoYSAgIFslZzVdIEFTSV9NX0JZUEFTUywg JWcyCisgICAgICAgIHNldCAgICAgUEhZU19KSl9FRVBST00sICVnNQorICAgICAgICBhZGQgICAg ICVnNSwgJWcyLCAlZzMKICAgICAgICAgISBDaGVjayBpZiB0aGlzIG5vdCB0aGUgZmlyc3QgU01Q IENQVSwgaWYgc28sIGJ5cGFzcyBQUk9NIGVudGlyZWx5Ci0gICAgICAgIGFkZCAgICAgJWczLCBT UEFSQ19TTVBfVkFMSUQsICVnMQotICAgICAgICBsZHViYSAgIFslZzFdIEFTSV9NX0JZUEFTUywg JWcyCi0gICAgICAgIHN0YmEgICAgJWcwLCBbJWcxXSBBU0lfTV9CWVBBU1MKLSAgICAgICAgc2V0 CVBIWVNfSkpfRUVQUk9NICsgT0hXX1JBTV9TSVpFLCAlZzEKLSAgICAgICAgbGRkYQlbJWcxXSBB U0lfTV9CWVBBU1MsICVnMAorICAgICAgICBhZGQgICAgICVnMywgU1BBUkNfU01QX1ZBTElELCAl ZzUKKyAgICAgICAgbGR1YmEgICBbJWc1XSBBU0lfTV9CWVBBU1MsICVnMgorICAgICAgICBzdGJh ICAgICVnMCwgWyVnNV0gQVNJX01fQllQQVNTCiAgICAgICAgIHRzdCAgICAgJWcyCiAgICAgICAg IGJ6ICAgICAgZmlyc3RfY3B1CiAgICAgICAgICBub3AKIAorICAgICAgICAhIFNNUCBpbml0LCBq dW1wIHRvIHVzZXIgc3BlY2lmaWVkIGFkZHJlc3MKICAgICAgICAgc2V0ICAgICBQSFlTX0pKX0lO VFIwICsgMHgwNCwgJWcxCiAgICAgICAgIHNsbCAgICAgJWcyLCAxMiwgJWcyCiAgICAgICAgIGFk ZCAgICAgJWcxLCAlZzIsICVnMgpAQCAtMTA0LDQxICsxNTIsMjEgQEAKICAgICAgICAgIHN0YSAg ICAlZzEsIFslZzBdIEFTSV9NX01NVVJFR1MgICAgICAgICEgZW5hYmxlIG1tdQogCiBzczEwOgot ICAgICAgICBzZXQgUEhZU19TUzEwX0VFUFJPTSwgJWcxCi0gICAgICAgIGxkdWJhICAgWyVnMV0g QVNJX01fQ1RMLCAlZzIKLSAgICAgICAgY21wICAgICAlZzIsICdRJwotICAgICAgICBibmUgICAg IHNzMgotICAgICAgICAgaW5jICAgICVnMQotICAgICAgICBsZHViYSAgIFslZzFdIEFTSV9NX0NU TCwgJWcyCi0gICAgICAgIGNtcCAgICAgJWcyLCAnRScKLSAgICAgICAgYm5lICAgICBzczIKLSAg ICAgICAgIGluYyAgICAlZzEKLSAgICAgICAgbGR1YmEgICBbJWcxXSBBU0lfTV9DVEwsICVnMgot ICAgICAgICBjbXAgICAgICVnMiwgJ00nCi0gICAgICAgIGJuZSAgICAgc3MyCi0gICAgICAgICBp bmMgICAgJWcxCi0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQ1RMLCAlZzIKLSAgICAgICAg Y21wICAgICAlZzIsICdVJwotICAgICAgICBibmUgICAgIHNzMgotCiAgICAgICAgICEgT2ssIHRo aXMgaXMgU1MtMTAgb3IgU1MtNjAwTVAKLSAgICAgICAgc2V0ICAgICBQSFlTX1NTMTBfRUVQUk9N ICsgU1BBUkNfTUFDSElORV9JRCwgJWcxCi0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQ1RM LCAlZzIKLSAgICAgICAgbW92ICAgICAlZzIsICV5CiAgICAgICAgICEgRmluZCBhcmNoaXRlY3R1 cmUgc3BlY2lmaWMgcGFydAotICAgICAgICBzZXQgICAgIFBIWVNfU1MxMF9FRVBST00gKyBPSFdf QVJDSF9QVFIsICVnMQotICAgICAgICBsZHVoYSAgIFslZzFdIEFTSV9NX0NUTCwgJWcyCi0gICAg ICAgIHNldCAgICAgUEhZU19TUzEwX0VFUFJPTSwgJWcxCi0gICAgICAgIGFkZCAgICAgJWcxLCAl ZzIsICVnMworICAgICAgICBzZXQgICAgIFBIWVNfU1MxMF9FRVBST00gKyBPSFdfQVJDSF9QVFIs ICVnNQorICAgICAgICBsZHVoYSAgIFslZzVdIEFTSV9NX0NUTCwgJWcyCisgICAgICAgIHNldCAg ICAgUEhZU19TUzEwX0VFUFJPTSwgJWc1CisgICAgICAgIGFkZCAgICAgJWc1LCAlZzIsICVnMwog ICAgICAgICAhIENoZWNrIGlmIHRoaXMgbm90IHRoZSBmaXJzdCBTTVAgQ1BVLCBpZiBzbywgYnlw YXNzIFBST00gZW50aXJlbHkKLSAgICAgICAgYWRkICAgICAlZzMsIFNQQVJDX1NNUF9WQUxJRCwg JWcxCi0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQ1RMLCAlZzIKLSAgICAgICAgc3RiYSAg ICAlZzAsIFslZzFdIEFTSV9NX0NUTAotICAgICAgICBzZXQgICAgIFBIWVNfU1MxMF9FRVBST00g KyBPSFdfUkFNX1NJWkUsICVnMQotICAgICAgICBsZGRhCVslZzFdIEFTSV9NX0NUTCwgJWcwCisg ICAgICAgIGFkZCAgICAgJWczLCBTUEFSQ19TTVBfVkFMSUQsICVnNQorICAgICAgICBsZHViYSAg IFslZzVdIEFTSV9NX0NUTCwgJWcyCisgICAgICAgIHN0YmEgICAgJWcwLCBbJWc1XSBBU0lfTV9D VEwKICAgICAgICAgdHN0ICAgICAlZzIKICAgICAgICAgYnogICAgICBmaXJzdF9jcHUKICAgICAg ICAgIG5vcAorCisgICAgICAgICEgU01QIGluaXQsIGp1bXAgdG8gdXNlciBzcGVjaWZpZWQgYWRk cmVzcwogICAgICAgICBzZXQgICAgIFBIWVNfU1MxMF9JTlRSMCArIDB4MDQsICVnMQogICAgICAg ICBzbGwgICAgICVnMiwgMTIsICVnMgogICAgICAgICBhZGQgICAgICVnMSwgJWcyLCAlZzIKQEAg LTE2NCw0NiArMTkyLDEyIEBACiAgICAgICAgICBzdGEgICAgJWcxLCBbJWcwXSBBU0lfTV9NTVVS RUdTICAgICAgICAhIGVuYWJsZSBtbXUKIAogc3MyOgotICAgICAgICBzZXQgUEhZU19TUzJfRUVQ Uk9NLCAlZzEKLSAgICAgICAgbGR1YmEgICBbJWcxXSBBU0lfTV9CWVBBU1MsICVnMgotICAgICAg ICBjbXAgICAgICVnMiwgJ1EnCi0gICAgICAgIGJuZSAgICAgc3MxMDAwCi0gICAgICAgICBpbmMg ICAgJWcxCi0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQllQQVNTLCAlZzIKLSAgICAgICAg Y21wICAgICAlZzIsICdFJwotICAgICAgICBibmUgICAgIHNzMTAwMAotICAgICAgICAgaW5jICAg ICVnMQotICAgICAgICBsZHViYSAgIFslZzFdIEFTSV9NX0JZUEFTUywgJWcyCi0gICAgICAgIGNt cCAgICAgJWcyLCAnTScKLSAgICAgICAgYm5lICAgICBzczEwMDAKLSAgICAgICAgIGluYyAgICAl ZzEKLSAgICAgICAgbGR1YmEgICBbJWcxXSBBU0lfTV9CWVBBU1MsICVnMgotICAgICAgICBjbXAg ICAgICVnMiwgJ1UnCi0gICAgICAgIGJuZSAgICAgc3MxMDAwCi0KICAgICAgICAgISBPaywgdGhp cyBpcyBTUy0yCiAgICAgICAgIHNldCAgICAgc3MyX2Vycm9yLCAlbzIKICAgICAgICAgYiAgICAg ICBzczJfc3MxMDAwX2hhbHQKICAgICAgICAgIG5vcAogCiBzczEwMDA6Ci0gICAgICAgIHNldCAg ICAgUEhZU19TUzEwMDBfRUVQUk9NLCAlZzEKLSAgICAgICAgbGR1YmEgICBbJWcxXSBBU0lfTV9D VEwsICVnMgotICAgICAgICBjbXAgICAgICVnMiwgJ1EnCi0gICAgICAgIGJuZSAgICAgYmFkX252 cmFtCi0gICAgICAgICBpbmMgICAgJWcxCi0gICAgICAgIGxkdWJhICAgWyVnMV0gQVNJX01fQ1RM LCAlZzIKLSAgICAgICAgY21wICAgICAlZzIsICdFJwotICAgICAgICBibmUgICAgIGJhZF9udnJh bQotICAgICAgICAgaW5jICAgICVnMQotICAgICAgICBsZHViYSAgIFslZzFdIEFTSV9NX0NUTCwg JWcyCi0gICAgICAgIGNtcCAgICAgJWcyLCAnTScKLSAgICAgICAgYm5lICAgICBiYWRfbnZyYW0K LSAgICAgICAgIGluYyAgICAlZzEKLSAgICAgICAgbGR1YmEgICBbJWcxXSBBU0lfTV9DVEwsICVn MgotICAgICAgICBjbXAgICAgICVnMiwgJ1UnCi0gICAgICAgIGJuZSAgICAgYmFkX252cmFtCi0K ICAgICAgICAgISBPaywgdGhpcyBpcyBTUy0xMDAwIG9yIFNTLTIwMDAKICAgICAgICAgc2V0ICAg ICBzczEwMDBfZXJyb3IsICVvMgogICAgICAgICBiICAgICAgIHNzMl9zczEwMDBfaGFsdApAQCAt NDA4LDcgKzQwMiw3IEBACiAgICAgICAgIHN0YmEgICAgJW8zLCBbJW8xXSBBU0lfTV9DVEwKICAg ICAgICAgYiAgICAgICAxYgogICAgICAgICAgaW5jICAgICVvMgotYmFkX252cmFtOgorYmFkX2Nv bmY6CiAyOiAgICAgIGIgICAgICAgMmIKICAgICAgICAgIG5vcAogCkluZGV4OiBvcGVuYmlvcy1x dWlsdC9hcmNoL3NwYXJjMzIvb3BlbmJpb3MuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBvcGVuYmlvcy1xdWls dC5vcmlnL2FyY2gvc3BhcmMzMi9vcGVuYmlvcy5jCTIwMDgtMDktMDIgMTU6MzM6MDQuMDAwMDAw MDAwICswMDAwCisrKyBvcGVuYmlvcy1xdWlsdC9hcmNoL3NwYXJjMzIvb3BlbmJpb3MuYwkyMDA4 LTA5LTExIDE3OjQ5OjU5LjAwMDAwMDAwMCArMDAwMApAQCAtMjcsNyArMjcsNyBAQAogICAgIHVu c2lnbmVkIGxvbmcgYXV4MV9vZmZzZXQsIGF1eDJfb2Zmc2V0OwogICAgIHVpbnQ2NF90IGRtYV9i YXNlLCBlc3BfYmFzZSwgbGVfYmFzZTsKICAgICB1aW50NjRfdCB0Y3hfYmFzZTsKLSAgICBpbnQg bWFjaGluZV9pZDsKKyAgICBpbnQgbWFjaGluZV9pZF9sb3csIG1hY2hpbmVfaWRfaGlnaDsKIH07 CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaHdkZWYgaHdkZWZzW10gPSB7CkBAIC00Nyw3ICs0Nyw4 IEBACiAgICAgICAgIC5kbWFfYmFzZSAgICAgPSAweDc4NDAwMDAwLAogICAgICAgICAuZXNwX2Jh c2UgICAgID0gMHg3ODgwMDAwMCwKICAgICAgICAgLmxlX2Jhc2UgICAgICA9IDB4NzhjMDAwMDAs Ci0gICAgICAgIC5tYWNoaW5lX2lkID0gMHg4MCwKKyAgICAgICAgLm1hY2hpbmVfaWRfbG93ID0g MzIsCisgICAgICAgIC5tYWNoaW5lX2lkX2hpZ2ggPSA2MywKICAgICB9LAogICAgIC8qIFNTLTEw ICovCiAgICAgewpAQCAtNjUsNyArNjYsOCBAQAogICAgICAgICAuZG1hX2Jhc2UgICAgID0gMHhl ZjA0MDAwMDBVTEwsCiAgICAgICAgIC5lc3BfYmFzZSAgICAgPSAweGVmMDgwMDAwMFVMTCwKICAg ICAgICAgLmxlX2Jhc2UgICAgICA9IDB4ZWYwYzAwMDAwVUxMLAotICAgICAgICAubWFjaGluZV9p ZCA9IDB4NzIsCisgICAgICAgIC5tYWNoaW5lX2lkX2xvdyA9IDY0LAorICAgICAgICAubWFjaGlu ZV9pZF9oaWdoID0gNjUsCiAgICAgfSwKICAgICAvKiBTUy02MDBNUCAqLwogICAgIHsKQEAgLTgz LDcgKzg1LDggQEAKICAgICAgICAgLmRtYV9iYXNlICAgICA9IDB4ZWYwMDgxMDAwVUxMLAogICAg ICAgICAuZXNwX2Jhc2UgICAgID0gMHhlZjAwODAwMDBVTEwsCiAgICAgICAgIC5sZV9iYXNlICAg ICAgPSAweGVmMDA2MDAwMFVMTCwKLSAgICAgICAgLm1hY2hpbmVfaWQgPSAweDcxLAorICAgICAg ICAubWFjaGluZV9pZF9sb3cgPSA2NiwKKyAgICAgICAgLm1hY2hpbmVfaWRfaGlnaCA9IDY2LAog ICAgIH0sCiB9OwogCkBAIC0xMjEsNyArMTI0LDcgQEAKICNpZmRlZiBDT05GSUdfREVCVUdfQ09O U09MRV9WSURFTwogCWluaXRfdmlkZW8oKTsKICNlbmRpZgotCW9iX3NidXNfaW5pdChod2RlZi0+ aW9tbXVfYmFzZSArIDB4MTAwMFVMTCwgaHdkZWYtPm1hY2hpbmVfaWQpOworCW9iX3NidXNfaW5p dChod2RlZi0+aW9tbXVfYmFzZSArIDB4MTAwMFVMTCwgcWVtdV9tYWNoaW5lX3R5cGUpOwogI2Vu ZGlmCiAJZGV2aWNlX2VuZCgpOwogCkBAIC0xMzMsNyArMTM2LDggQEAKICAgICAgICAgdW5zaWdu ZWQgaW50IGk7CiAKICAgICAgICAgZm9yIChpID0gMDsgaSA8IHNpemVvZihod2RlZnMpIC8gc2l6 ZW9mKHN0cnVjdCBod2RlZik7IGkrKykgewotICAgICAgICAgICAgaWYgKGh3ZGVmc1tpXS5tYWNo aW5lX2lkID09IHFlbXVfbWFjaGluZV90eXBlKSB7CisgICAgICAgICAgICBpZiAoaHdkZWZzW2ld Lm1hY2hpbmVfaWRfbG93IDw9IHFlbXVfbWFjaGluZV90eXBlICYmCisgICAgICAgICAgICAgICAg aHdkZWZzW2ldLm1hY2hpbmVfaWRfaGlnaCA+PSBxZW11X21hY2hpbmVfdHlwZSkgewogICAgICAg ICAgICAgICAgIGh3ZGVmID0gJmh3ZGVmc1tpXTsKICAgICAgICAgICAgICAgICBicmVhazsKICAg ICAgICAgICAgIH0KSW5kZXg6IG9wZW5iaW9zLXF1aWx0L2RyaXZlcnMvb2Jpby5jCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIG9wZW5iaW9zLXF1aWx0Lm9yaWcvZHJpdmVycy9vYmlvLmMJMjAwOC0wOS0wMiAxNToz MzowNC4wMDAwMDAwMDAgKzAwMDAKKysrIG9wZW5iaW9zLXF1aWx0L2RyaXZlcnMvb2Jpby5jCTIw MDgtMDktMTEgMTg6MDU6NTEuMDAwMDAwMDAwICswMDAwCkBAIC0yMSw2ICsyMSw4IEBACiAjaW5j bHVkZSAib2Jpby5oIgogI2RlZmluZSBjcHVfdG9fYmUxNih4KSBfX2NwdV90b19iZTE2KHgpCiAj aW5jbHVkZSAib3BlbmJpb3MvZmlybXdhcmVfYWJpLmgiCisjZGVmaW5lIE5PX1FFTVVfUFJPVE9T CisjaW5jbHVkZSAib3BlbmJpb3MvZndfY2ZnLmgiCiAKICNkZWZpbmUgUkVHSVNURVJfTkFNRURf Tk9ERSggbmFtZSwgcGF0aCApICAgZG8geyBcCiAJICAgICBiaW5kX25ld19ub2RlKCBuYW1lIyNf ZmxhZ3NfLCBuYW1lIyNfc2l6ZV8sIFwKQEAgLTI5NCw3ICsyOTYsNyBAQAogICAgIH0KIH0KIAot c3RhdGljIHVpbnQzMl90CitzdGF0aWMgdm9pZAogb2JfZWNjbWVtY3RsX2luaXQodm9pZCkKIHsK ICAgICB1aW50MzJfdCB2ZXJzaW9uLCAqcmVnczsKQEAgLTMzMyw4ICszMzUsNiBAQAogICAgIGZ3 b3JkKCJwcm9wZXJ0eSIpOwogCiAgICAgZndvcmQoImZpbmlzaC1kZXZpY2UiKTsKLQotICAgIHJl dHVybiB2ZXJzaW9uOwogfQogCiBzdGF0aWMgdW5zaWduZWQgY2hhciAqbnZyYW07CkBAIC03MTYs NiArNzE2LDY3IEBACiAgICAgZm9yICg7Oyk7CiB9CiAKK3N0YXRpYyB2b2lkIGR1bW15X21hY2hf aW5pdCh2b2lkKQoreworfQorCitzdHJ1Y3QgbWFjaGRlZiB7CisgICAgdWludDE2X3QgbWFjaGlu ZV9pZDsKKyAgICBjb25zdCBjaGFyICpiYW5uZXJfbmFtZTsKKyAgICBjb25zdCBjaGFyICptb2Rl bDsKKyAgICBjb25zdCBjaGFyICpuYW1lOworICAgIGludCBtaWRfb2Zmc2V0OworICAgIHZvaWQg KCppbml0Zm4pKHZvaWQpOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBtYWNoZGVmIHN1bjRt X2RlZnNbXSA9IHsKKyAgICB7CisgICAgICAgIC5tYWNoaW5lX2lkID0gMzIsCisgICAgICAgIC5i YW5uZXJfbmFtZSA9ICJTUEFSQ3N0YXRpb24gNSIsCisgICAgICAgIC5tb2RlbCA9ICJTVU5XLDUw MS0zMDU5IiwKKyAgICAgICAgLm5hbWUgPSAiU1VOVyxTUEFSQ3N0YXRpb24tNSIsCisgICAgICAg IC5taWRfb2Zmc2V0ID0gMCwKKyAgICAgICAgLmluaXRmbiA9IGR1bW15X21hY2hfaW5pdCwKKyAg ICB9LAorICAgIHsKKyAgICAgICAgLm1hY2hpbmVfaWQgPSA2NCwKKyAgICAgICAgLmJhbm5lcl9u YW1lID0gIlNQQVJDc3RhdGlvbiAxMCAoMSBYIDM5MFo1NSkiLAorICAgICAgICAubW9kZWwgPSAi U1VOVyxTMTAsNTAxLTIzNjUiLAorICAgICAgICAubmFtZSA9ICJTVU5XLFNQQVJDc3RhdGlvbi0x MCIsCisgICAgICAgIC5taWRfb2Zmc2V0ID0gOCwKKyAgICAgICAgLmluaXRmbiA9IG9iX2VjY21l bWN0bF9pbml0LAorICAgIH0sCisgICAgeworICAgICAgICAubWFjaGluZV9pZCA9IDY1LAorICAg ICAgICAuYmFubmVyX25hbWUgPSAiU1BBUkNzdGF0aW9uIDIwICgxIFggMzkwWjU1KSIsCisgICAg ICAgIC5tb2RlbCA9ICJTVU5XLFMyMCw1MDEtMjMyNCIsCisgICAgICAgIC5uYW1lID0gIlNVTlcs U1BBUkNzdGF0aW9uLTIwIiwKKyAgICAgICAgLm1pZF9vZmZzZXQgPSA4LAorICAgICAgICAuaW5p dGZuID0gb2JfZWNjbWVtY3RsX2luaXQsCisgICAgfSwKKyAgICB7CisgICAgICAgIC5tYWNoaW5l X2lkID0gNjYsCisgICAgICAgIC5iYW5uZXJfbmFtZSA9ICJTUEFSQ3N5c3RlbSA2MDAoMSBYIDM5 MFo1NSkiLAorICAgICAgICAubW9kZWwgPSBOVUxMLAorICAgICAgICAubmFtZSA9ICJTVU5XLFNQ QVJDc3lzdGVtLTYwMCIsCisgICAgICAgIC5taWRfb2Zmc2V0ID0gOCwKKyAgICAgICAgLmluaXRm biA9IG9iX2VjY21lbWN0bF9pbml0LAorICAgIH0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0 IG1hY2hkZWYgKgoraWRfbWFjaGluZSh1aW50MTZfdCBtYWNoaW5lX2lkKQoreworICAgIHVuc2ln bmVkIGludCBpOworCisgICAgZm9yIChpID0gMDsgaSA8IHNpemVvZihzdW40bV9kZWZzKS9zaXpl b2Yoc3RydWN0IG1hY2hkZWYpOyBpKyspIHsKKyAgICAgICAgaWYgKG1hY2hpbmVfaWQgPT0gc3Vu NG1fZGVmc1tpXS5tYWNoaW5lX2lkKQorICAgICAgICAgICAgcmV0dXJuICZzdW40bV9kZWZzW2ld OworICAgIH0KKyAgICBwcmludGsoIlVua25vd24gbWFjaGluZSAoSUQgJWQpLCBmcmVlemluZyFc biIsIG1hY2hpbmVfaWQpOworICAgIGZvciAoOzspOworfQorCiBzdGF0aWMgdm9pZAogb2JfbnZy YW1faW5pdCh1aW50NjRfdCBiYXNlLCB1aW50NjRfdCBvZmZzZXQpCiB7CkBAIC03MzIsOSArNzkz LDE0IEBACiAgICAgdW5zaWduZWQgaW50IGk7CiAgICAgY2hhciBub2dyYXBoaWM7CiAgICAgdWlu dDMyX3Qgc2l6ZTsKLSAgICB1bnNpZ25lZCBpbnQgbWFjaGluZV9pZDsKKyAgICB1aW50MTZfdCBt YWNoaW5lX2lkOwogICAgIGNvbnN0IHN0cnVjdCBjcHVkZWYgKmNwdTsKKyAgICBjb25zdCBzdHJ1 Y3QgbWFjaGRlZiAqbWFjaDsKICAgICBvaHdjZmdfdjNfdCAqaGVhZGVyOworICAgIHZvbGF0aWxl IHVpbnQ4X3QgKmZ3X2NmZ19kYXRhOworICAgIHZvbGF0aWxlIHVpbnQxNl90ICpmd19jZmdfY21k OworICAgIGNoYXIgYnVmWzI1Nl07CisgICAgdWludDMyX3QgdGVtcDsKIAogICAgIG9iX25ld19v YmlvX2RldmljZSgiZWVwcm9tIiwgTlVMTCk7CiAKQEAgLTc0NSwxNyArODExLDMwIEBACiAgICAg cHVzaF9zdHIoImFkZHJlc3MiKTsKICAgICBmd29yZCgicHJvcGVydHkiKTsKIAotICAgIG1lbWNw eSgmbnZfaW5mbywgbnZyYW0sIHNpemVvZihudl9pbmZvKSk7Ci0gICAgbWFjaGluZV9pZCA9ICh1 bnNpZ25lZCBpbnQpbnZyYW1bMHgxZmQ5XSAmIDB4ZmY7Ci0gICAgcHJpbnRrKCJOdnJhbSBpZCAl cywgdmVyc2lvbiAlZCwgbWFjaGluZSBpZCAweCUyLjJ4XG4iLAotICAgICAgICAgICBudl9pbmZv LnN0cnVjdF9pZGVudCwgbnZfaW5mby5zdHJ1Y3RfdmVyc2lvbiwgbWFjaGluZV9pZCk7Ci0gICAg aWYgKHN0cmNtcChudl9pbmZvLnN0cnVjdF9pZGVudCwgIlFFTVVfQklPUyIpIHx8Ci0gICAgICAg IG52X2luZm8uc3RydWN0X3ZlcnNpb24gIT0gMyB8fAotICAgICAgICBPSFdfY29tcHV0ZV9jcmMo Jm52X2luZm8sIDB4MDAsIDB4RjgpICE9IG52X2luZm8uY3JjKSB7Ci0gICAgICAgIHByaW50aygi VW5rbm93biBudnJhbSwgZnJlZXppbmchXG4iKTsKLSAgICAgICAgZm9yICg7Oyk7Ci0gICAgfQor ICAgIGZ3X2NmZ19jbWQgPSBtYXBfaW8oQ0ZHX0FERFIsIENGR19TSVpFKTsKKyAgICBmd19jZmdf ZGF0YSA9ICh1aW50OF90ICopZndfY2ZnX2NtZCArIDI7CisKKyAgICAqZndfY2ZnX2NtZCA9IEZX X0NGR19TSUdOQVRVUkU7CisgICAgZm9yIChpID0gMDsgaSA8IDQ7IGkrKykKKyAgICAgICAgYnVm W2ldID0gKmZ3X2NmZ19kYXRhOworICAgIGJ1Zls0XSA9ICdcMCc7CisgICAgcHJpbnRrKCJDb25m aWd1cmF0aW9uIGRldmljZSBpZCAlcyIsIGJ1Zik7CisKKyAgICAqZndfY2ZnX2NtZCA9IEZXX0NG R19JRDsKKyAgICBmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKQorICAgICAgICBidWZbaV0gPSAqZndf Y2ZnX2RhdGE7CisKKyAgICB0ZW1wID0gX19sZTMyX3RvX2NwdSgqKHVpbnQzMl90ICopYnVmKTsK KyAgICBwcmludGsoIiB2ZXJzaW9uICVkIiwgdGVtcCk7CisKKyAgICAqZndfY2ZnX2NtZCA9IEZX X0NGR19NQUNISU5FX0lEOworICAgIGZvciAoaSA9IDA7IGkgPCAyOyBpKyspCisgICAgICAgIGJ1 ZltpXSA9ICpmd19jZmdfZGF0YTsKIAorICAgIG1hY2hpbmVfaWQgPSBfX2xlMTZfdG9fY3B1KCoo dWludDE2X3QgKilidWYpOworICAgIHByaW50aygiIG1hY2hpbmUgaWQgJWRcbiIsIG1hY2hpbmVf aWQpOworCisgICAgbWVtY3B5KCZudl9pbmZvLCBudnJhbSwgc2l6ZW9mKG52X2luZm8pKTsKICAg ICBrZXJuZWxfaW1hZ2UgPSBudl9pbmZvLmtlcm5lbF9pbWFnZTsKICAgICBrZXJuZWxfc2l6ZSA9 IG52X2luZm8ua2VybmVsX3NpemU7CiAgICAgc2l6ZSA9IG52X2luZm8uY21kbGluZV9zaXplOwpA QCAtNzcyLDggKzg1MSwxMCBAQAogICAgIGhlYWRlci0+Y3JjID0gT0hXX2NvbXB1dGVfY3JjKGhl YWRlciwgMHgwMCwgMHhGOCk7CiAKICAgICBib290X2RldmljZSA9IG52X2luZm8uYm9vdF9kZXZp Y2VzWzBdOwotICAgIG5vZ3JhcGhpYyA9IG52X2luZm8uZ3JhcGhpY19mbGFncyAmIE9IV19HRl9O T0dSQVBISUNTOwotICAgIGdyYXBoaWNfZGVwdGggPSBudl9pbmZvLmRlcHRoOworICAgICpmd19j ZmdfY21kID0gRldfQ0ZHX05PR1JBUEhJQzsKKyAgICBub2dyYXBoaWMgPSAqZndfY2ZnX2RhdGE7 CisgICAgKmZ3X2NmZ19jbWQgPSBGV19DRkdfU1VONE1fREVQVEg7CisgICAgZ3JhcGhpY19kZXB0 aCA9ICpmd19jZmdfZGF0YTsKIAogICAgIHB1c2hfc3RyKCJtazQ4dDA4Iik7CiAgICAgZndvcmQo Im1vZGVsIik7CkBAIC03OTAsNzQgKzg3MSwzNyBAQAogICAgIHB1c2hfc3RyKCJpZHByb20iKTsK ICAgICBmd29yZCgicHJvcGVydHkiKTsKIAotICAgIHN3aXRjaCAobWFjaGluZV9pZCkgewotICAg IGNhc2UgMHg3MToKLSAgICAgICAgcHVzaF9zdHIoIlNQQVJDc3lzdGVtIDYwMCgxIFggMzkwWjU1 KSIpOwotICAgICAgICBmd29yZCgiZW5jb2RlLXN0cmluZyIpOwotICAgICAgICBwdXNoX3N0cigi YmFubmVyLW5hbWUiKTsKLSAgICAgICAgZndvcmQoInByb3BlcnR5Iik7Ci0gICAgICAgIHB1c2hf c3RyKCJTVU5XLFNQQVJDc3lzdGVtLTYwMCIpOwotICAgICAgICBmd29yZCgiZW5jb2RlLXN0cmlu ZyIpOwotICAgICAgICBwdXNoX3N0cigibmFtZSIpOwotICAgICAgICBmd29yZCgicHJvcGVydHki KTsKLSAgICAgICAgb2JfZWNjbWVtY3RsX2luaXQoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz ZSAweDcyOgotICAgICAgICBzd2l0Y2ggKG9iX2VjY21lbWN0bF9pbml0KCkpIHsKLSAgICAgICAg ZGVmYXVsdDoKLSAgICAgICAgY2FzZSAweDEwMDAwMDAwOgotICAgICAgICAgICAgcHVzaF9zdHIo IlNQQVJDc3RhdGlvbiAxMCAoMSBYIDM5MFo1NSkiKTsKLSAgICAgICAgICAgIGZ3b3JkKCJlbmNv ZGUtc3RyaW5nIik7Ci0gICAgICAgICAgICBwdXNoX3N0cigiYmFubmVyLW5hbWUiKTsKLSAgICAg ICAgICAgIGZ3b3JkKCJwcm9wZXJ0eSIpOwotICAgICAgICAgICAgcHVzaF9zdHIoIlNVTlcsUzEw LDUwMS0yMzY1Iik7Ci0gICAgICAgICAgICBmd29yZCgiZW5jb2RlLXN0cmluZyIpOwotICAgICAg ICAgICAgcHVzaF9zdHIoIm1vZGVsIik7Ci0gICAgICAgICAgICBmd29yZCgicHJvcGVydHkiKTsK LSAgICAgICAgICAgIHB1c2hfc3RyKCJTVU5XLFNQQVJDc3RhdGlvbi0xMCIpOwotICAgICAgICAg ICAgZndvcmQoImVuY29kZS1zdHJpbmciKTsKLSAgICAgICAgICAgIHB1c2hfc3RyKCJuYW1lIik7 Ci0gICAgICAgICAgICBmd29yZCgicHJvcGVydHkiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg ICAgICBjYXNlIDB4MjAwMDAwMDA6Ci0gICAgICAgICAgICBwdXNoX3N0cigiU1BBUkNzdGF0aW9u IDIwICgxIFggMzkwWjU1KSIpOwotICAgICAgICAgICAgZndvcmQoImVuY29kZS1zdHJpbmciKTsK LSAgICAgICAgICAgIHB1c2hfc3RyKCJiYW5uZXItbmFtZSIpOwotICAgICAgICAgICAgZndvcmQo InByb3BlcnR5Iik7Ci0gICAgICAgICAgICBwdXNoX3N0cigiU1VOVyxTMjAsNTAxLTIzMjQiKTsK LSAgICAgICAgICAgIGZ3b3JkKCJlbmNvZGUtc3RyaW5nIik7Ci0gICAgICAgICAgICBwdXNoX3N0 cigibW9kZWwiKTsKLSAgICAgICAgICAgIGZ3b3JkKCJwcm9wZXJ0eSIpOwotICAgICAgICAgICAg cHVzaF9zdHIoIlNVTlcsU1BBUkNzdGF0aW9uLTIwIik7Ci0gICAgICAgICAgICBmd29yZCgiZW5j b2RlLXN0cmluZyIpOwotICAgICAgICAgICAgcHVzaF9zdHIoIm5hbWUiKTsKLSAgICAgICAgICAg IGZ3b3JkKCJwcm9wZXJ0eSIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAg ICAgYnJlYWs7Ci0gICAgY2FzZSAweDgwOgotICAgICAgICBwdXNoX3N0cigiU1BBUkNzdGF0aW9u IDUiKTsKLSAgICAgICAgZndvcmQoImVuY29kZS1zdHJpbmciKTsKLSAgICAgICAgcHVzaF9zdHIo ImJhbm5lci1uYW1lIik7Ci0gICAgICAgIGZ3b3JkKCJwcm9wZXJ0eSIpOwotICAgICAgICBwdXNo X3N0cigiU1VOVyw1MDEtMzA1OSIpOworICAgIG1hY2ggPSBpZF9tYWNoaW5lKG1hY2hpbmVfaWQp OworCisgICAgbWFjaC0+aW5pdGZuKCk7CisKKyAgICBwdXNoX3N0cihtYWNoLT5iYW5uZXJfbmFt ZSk7CisgICAgZndvcmQoImVuY29kZS1zdHJpbmciKTsKKyAgICBwdXNoX3N0cigiYmFubmVyLW5h bWUiKTsKKyAgICBmd29yZCgicHJvcGVydHkiKTsKKworICAgIGlmIChtYWNoLT5tb2RlbCkgewor ICAgICAgICBwdXNoX3N0cihtYWNoLT5tb2RlbCk7CiAgICAgICAgIGZ3b3JkKCJlbmNvZGUtc3Ry aW5nIik7CiAgICAgICAgIHB1c2hfc3RyKCJtb2RlbCIpOwogICAgICAgICBmd29yZCgicHJvcGVy dHkiKTsKLSAgICAgICAgcHVzaF9zdHIoIlNVTlcsU1BBUkNzdGF0aW9uLTUiKTsKLSAgICAgICAg ZndvcmQoImVuY29kZS1zdHJpbmciKTsKLSAgICAgICAgcHVzaF9zdHIoIm5hbWUiKTsKLSAgICAg ICAgZndvcmQoInByb3BlcnR5Iik7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAg ICAgIHByaW50aygiVW5rbm93biBtYWNoaW5lLCBmcmVlemluZyFcbiIpOwotICAgICAgICBmb3Ig KDs7KTsKICAgICB9CisgICAgcHVzaF9zdHIobWFjaC0+bmFtZSk7CisgICAgZndvcmQoImVuY29k ZS1zdHJpbmciKTsKKyAgICBwdXNoX3N0cigibmFtZSIpOworICAgIGZ3b3JkKCJwcm9wZXJ0eSIp OworCiAgICAgLy8gQWRkIGNwdXMKLSAgICBwcmludGsoIkNQVXM6ICV4IiwgbnZfaW5mby5uYl9j cHVzKTsKKyAgICAqZndfY2ZnX2NtZCA9IEZXX0NGR19OQl9DUFVTOworICAgIGZvciAoaSA9IDA7 IGkgPCA0OyBpKyspCisgICAgICAgIGJ1ZltpXSA9ICpmd19jZmdfZGF0YTsKKworICAgIHRlbXAg PSBfX2xlMzJfdG9fY3B1KCoodWludDMyX3QgKilidWYpOworCisgICAgcHJpbnRrKCJDUFVzOiAl eCIsIHRlbXApOwogICAgIGNwdSA9IGlkX2NwdSgpOwogICAgIHByaW50aygiIHggJXNcbiIsIGNw dS0+bmFtZSk7Ci0gICAgZm9yIChpID0gMDsgaSA8ICh1bnNpZ25lZCBpbnQpbnZfaW5mby5uYl9j cHVzOyBpKyspIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgdGVtcDsgaSsrKSB7CiAgICAgICAgIHB1 c2hfc3RyKCIvIik7CiAgICAgICAgIGZ3b3JkKCJmaW5kLWRldmljZSIpOwogCkBAIC05NTksMTUg KzEwMDMsNyBAQAogICAgICAgICBwdXNoX3N0cigiY2FjaGUtY29oZXJlbmNlPyIpOwogICAgICAg ICBmd29yZCgicHJvcGVydHkiKTsKIAotICAgICAgICBzd2l0Y2ggKG1hY2hpbmVfaWQpIHsKLSAg ICAgICAgY2FzZSAweDcxOgotICAgICAgICBjYXNlIDB4NzI6Ci0gICAgICAgICAgICBQVVNIKGkg KyA4KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDB4ODA6Ci0gICAgICAgICAg ICBQVVNIKGkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICAgICAgUFVTSChp ICsgbWFjaC0+bWlkX29mZnNldCk7CiAgICAgICAgIGZ3b3JkKCJlbmNvZGUtaW50Iik7CiAgICAg ICAgIHB1c2hfc3RyKCJtaWQiKTsKICAgICAgICAgZndvcmQoInByb3BlcnR5Iik7CkluZGV4OiBv cGVuYmlvcy1xdWlsdC9kcml2ZXJzL29iaW8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBvcGVuYmlvcy1xdWls dC5vcmlnL2RyaXZlcnMvb2Jpby5oCTIwMDgtMDktMDIgMTU6MzM6MDQuMDAwMDAwMDAwICswMDAw CisrKyBvcGVuYmlvcy1xdWlsdC9kcml2ZXJzL29iaW8uaAkyMDA4LTA5LTExIDE4OjA2OjMzLjAw MDAwMDAwMCArMDAwMApAQCAtMzgsNiArMzgsMTAgQEAKICNkZWZpbmUgU1VONE1fTkNQVVMgICAg ICAxNgogI2RlZmluZSBQQUdFX1NJWkUgICAgICAgIDQwOTYKIAorI2RlZmluZSBDRkdfQUREUiAg ICAgICAgIDB4ZDAwMDAwNTEwVUxMCisjZGVmaW5lIENGR19TSVpFICAgICAgICAgMworI2RlZmlu ZSBGV19DRkdfU1VONE1fREVQVEggICAoRldfQ0ZHX0FSQ0hfTE9DQUwgKyAweDAwKQorCiAvKiBs aW51eC9pbmNsdWRlL2FzbS1zcGFyYy90aW1lci5oICovCiAKIC8qIEEgc3VuNG0gaGFzIHR3byBi bG9ja3Mgb2YgcmVnaXN0ZXJzIHdoaWNoIGFyZSBwcm9iYWJseSBvZiB0aGUgc2FtZQpJbmRleDog b3BlbmJpb3MtcXVpbHQvZHJpdmVycy9zYnVzLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gb3BlbmJpb3MtcXVp bHQub3JpZy9kcml2ZXJzL3NidXMuYwkyMDA4LTA5LTAyIDE1OjMzOjA0LjAwMDAwMDAwMCArMDAw MAorKysgb3BlbmJpb3MtcXVpbHQvZHJpdmVycy9zYnVzLmMJMjAwOC0wOS0xMSAxNzo0OTo1OS4w MDAwMDAwMDAgKzAwMDAKQEAgLTU3MSwxMSArNTcxLDExIEBACiAgICAgb2Jfc2J1c19ub2RlX2lu aXQoYmFzZSk7CiAKICAgICBzd2l0Y2ggKG1hY2hpbmVfaWQpIHsKLSAgICBjYXNlIDB4NzE6Cisg ICAgY2FzZSA2NjoKICAgICAgICAgcmV0dXJuIG9iX3NidXNfaW5pdF9zczYwMG1wKCk7Ci0gICAg Y2FzZSAweDcyOgorICAgIGNhc2UgNjQgLi4uIDY1OgogICAgICAgICByZXR1cm4gb2Jfc2J1c19p bml0X3NzMTAoKTsKLSAgICBjYXNlIDB4ODA6CisgICAgY2FzZSAzMiAuLi4gNjM6CiAgICAgICAg IHJldHVybiBvYl9zYnVzX2luaXRfc3M1KCk7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJu IC0xOwo= ------=_Part_33700_15079230.1221161428812--