From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v7 31/49] x86emul: support AVX512{F, _VBMI2} compress/expand insns Date: Wed, 19 Dec 2018 07:56:13 -0700 Message-ID: <5C1A5C0D02000078002079EF@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C1A52ED0200007800207865@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gZdGj-0006hC-Fu for xen-devel@lists.xenproject.org; Wed, 19 Dec 2018 14:56:17 +0000 In-Reply-To: <5C1A52ED0200007800207865@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0Kdjc6IFJl LWJhc2UuCnY2OiBSZS1iYXNlLiBBZGQgdGVzdHMgZm9yIHRoZSBieXRlL3dvcmQgZm9ybXMuCnY1 OiBOZXcuCgotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCisrKyBi L3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMKQEAgLTEwOSw2ICsxMDksNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyZl9hbGxbXSA9CiAgICAgSU5TTl9GUChj bXAsICAgICAgICAgICAgIDBmLCBjMiksCiAgICAgSU5TTihjb21pc2QsICAgICAgIDY2LCAgIDBm LCAyZiwgICAgZWwsICAgICAgcSwgZWwpLAogICAgIElOU04oY29taXNzLCAgICAgICAgICwgICAw ZiwgMmYsICAgIGVsLCAgICAgIGQsIGVsKSwKKyAgICBJTlNOKGNvbXByZXNzLCAgICAgNjYsIDBm MzgsIDhhLCAgICB2bCwgICAgIHNkLCBlbCksCiAgICAgSU5TTihjdnRkcTJwZCwgICAgIGYzLCAg IDBmLCBlNiwgICAgdmxfMiwgICAgZCwgdmwpLAogICAgIElOU04oY3Z0ZHEycHMsICAgICAgICwg ICAwZiwgNWIsICAgIHZsLCAgICAgIGQsIHZsKSwKICAgICBJTlNOKGN2dHBkMmRxLCAgICAgZjIs ICAgMGYsIGU2LCAgICB2bCwgICAgICBxLCB2bCksCkBAIC0xNDAsNiArMTQxLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfYWxsW10gPQogICAgIElOU04oY3Z0dXNpMnNkLCAg ICBmMiwgICAwZiwgN2IsICAgIGVsLCAgIGRxNjQsIGVsKSwKICAgICBJTlNOKGN2dHVzaTJzcywg ICAgZjMsICAgMGYsIDdiLCAgICBlbCwgICBkcTY0LCBlbCksCiAgICAgSU5TTl9GUChkaXYsICAg ICAgICAgICAgIDBmLCA1ZSksCisgICAgSU5TTihleHBhbmQsICAgICAgIDY2LCAwZjM4LCA4OCwg ICAgdmwsICAgICBzZCwgZWwpLAogICAgIElOU04oZml4dXBpbW0sICAgICA2NiwgMGYzYSwgNTQs ICAgIHZsLCAgICAgc2QsIHZsKSwKICAgICBJTlNOKGZpeHVwaW1tLCAgICAgNjYsIDBmM2EsIDU1 LCAgICBlbCwgICAgIHNkLCBlbCksCiAgICAgSU5TTihmbWFkZDEzMiwgICAgIDY2LCAwZjM4LCA5 OCwgICAgdmwsICAgICBzZCwgdmwpLApAQCAtMjE0LDYgKzIxNiw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgdGVzdCBhdng1MTJmX2FsbFtdID0KICAgICBJTlNOKHBjbXBndGQsICAgICAgNjYsICAg MGYsIDY2LCAgICB2bCwgICAgICBkLCB2bCksCiAgICAgSU5TTihwY21wZ3RxLCAgICAgIDY2LCAw ZjM4LCAzNywgICAgdmwsICAgICAgcSwgdmwpLAogICAgIElOU04ocGNtcHUsICAgICAgICA2Niwg MGYzYSwgMWUsICAgIHZsLCAgICAgZHEsIHZsKSwKKyAgICBJTlNOKHBjb21wcmVzcywgICAgNjYs IDBmMzgsIDhiLCAgICB2bCwgICAgIGRxLCBlbCksCiAgICAgSU5TTihwZXJtaTIsICAgICAgIDY2 LCAwZjM4LCA3NiwgICAgdmwsICAgICBkcSwgdmwpLAogICAgIElOU04ocGVybWkyLCAgICAgICA2 NiwgMGYzOCwgNzcsICAgIHZsLCAgICAgc2QsIHZsKSwKICAgICBJTlNOKHBlcm1pbHBkLCAgICAg NjYsIDBmMzgsIDBkLCAgICB2bCwgICAgICBxLCB2bCksCkBAIC0yMjIsNiArMjI1LDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfYWxsW10gPQogICAgIElOU04ocGVybWlscHMs ICAgICA2NiwgMGYzYSwgMDQsICAgIHZsLCAgICAgIGQsIHZsKSwKICAgICBJTlNOKHBlcm10Miwg ICAgICAgNjYsIDBmMzgsIDdlLCAgICB2bCwgICAgIGRxLCB2bCksCiAgICAgSU5TTihwZXJtdDIs ICAgICAgIDY2LCAwZjM4LCA3ZiwgICAgdmwsICAgICBzZCwgdmwpLAorICAgIElOU04ocGV4cGFu ZCwgICAgICA2NiwgMGYzOCwgODksICAgIHZsLCAgICAgZHEsIGVsKSwKICAgICBJTlNOKHBtYXhz LCAgICAgICAgNjYsIDBmMzgsIDNkLCAgICB2bCwgICAgIGRxLCB2bCksCiAgICAgSU5TTihwbWF4 dSwgICAgICAgIDY2LCAwZjM4LCAzZiwgICAgdmwsICAgICBkcSwgdmwpLAogICAgIElOU04ocG1p bnMsICAgICAgICA2NiwgMGYzOCwgMzksICAgIHZsLCAgICAgZHEsIHZsKSwKQEAgLTUwOSw2ICs1 MTMsMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMl92Ym1pX2FsbAogICAgIElO U04ocGVybXQyYiwgICAgICAgNjYsIDBmMzgsIDdkLCB2bCwgYiwgdmwpLAogfTsKIAorc3RhdGlj IGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMl92Ym1pMl9hbGxbXSA9IHsKKyAgICBJTlNOKHBjb21w cmVzcywgNjYsIDBmMzgsIDYzLCB2bCwgYncsIGVsKSwKKyAgICBJTlNOKHBleHBhbmQsICAgNjYs IDBmMzgsIDYyLCB2bCwgYncsIGVsKSwKK307CisKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy IHZsX2FsbFtdID0geyBWTF81MTIsIFZMXzEyOCwgVkxfMjU2IH07CiBzdGF0aWMgY29uc3QgdW5z aWduZWQgY2hhciB2bF8xMjhbXSA9IHsgVkxfMTI4IH07CiBzdGF0aWMgY29uc3QgdW5zaWduZWQg Y2hhciB2bF9ubzEyOFtdID0geyBWTF81MTIsIFZMXzI1NiB9OwpAQCAtODY1LDQgKzg3NCw1IEBA IHZvaWQgZXZleF9kaXNwOF90ZXN0KHZvaWQgKmluc3RyLCBzdHJ1Y3QKICAgICBSVU4oYXZ4NTEy ZHEsIDUxMik7CiAgICAgUlVOKGF2eDUxMmVyLCA1MTIpOwogICAgIFJVTihhdng1MTJfdmJtaSwg YWxsKTsKKyAgICBSVU4oYXZ4NTEyX3ZibWkyLCBhbGwpOwogfQotLS0gYS90b29scy90ZXN0cy94 ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYworKysgYi90b29scy90ZXN0cy94ODZfZW11 bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYwpAQCAtMzk5NSw2ICszOTk1LDIyNyBAQCBpbnQgbWFp bihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgZWxzZQogICAgICAgICBwcmludGYoInNraXBw ZWRcbiIpOwogCisgICAgLyoKKyAgICAgKiBUaGUgZm9sbG93aW5nIGNvbXByZXNzL2V4cGFuZCB0 ZXN0cyBhcmUgbm90IG9ubHkgbWFraW5nIHN1cmUgdGhlCisgICAgICogYWNjZXNzZWQgZGF0YSBp cyBjb3JyZWN0LCBidXQgdGhleSBhbHNvIHZlcmlmeSAoYnkgcGxhY2luZyBvcGVyYW5kcworICAg ICAqIG9uIHRoZSBtYXBwaW5nIGJvdW5kYXJpZXMpIHRoYXQgZWxlbWVudHMgY29udHJvbGxlZCBi eSBjbGVhciBtYXNrCisgICAgICogYml0cyBkb24ndCBnZXQgYWNjZXNzZWQuCisgICAgICovCisg ICAgaWYgKCBzdGFja19leGVjICYmIGNwdV9oYXNfYXZ4NTEyZiApCisgICAgeworICAgICAgICBk ZWNsX2luc24odnBjb21wcmVzc2QpOworICAgICAgICBkZWNsX2luc24odnBjb21wcmVzc3EpOwor ICAgICAgICBkZWNsX2luc24odnBleHBhbmRkKTsKKyAgICAgICAgZGVjbF9pbnNuKHZwZXhwYW5k cSk7CisgICAgICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeworICAgICAgICAgICAgdW5zaWduZWQg aW50IGRbMTZdOworICAgICAgICB9IGRzcmMgPSB7IHsgMCwgMSwgMiwgMywgNCwgNSwgNiwgNywg OCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSB9IH07CisgICAgICAgIHN0YXRpYyBjb25zdCBz dHJ1Y3QgeworICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHFbOF07CisgICAgICAgIH0g cXNyYyA9IHsgeyAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3IH0gfTsKKyAgICAgICAgdW5zaWduZWQg aW50ICpwdHIgPSByZXMgKyBNTUFQX1NaIC8gc2l6ZW9mKCpyZXMpIC0gMzI7CisKKyAgICAgICAg cHJpbnRmKCIlLTQwcyIsICJUZXN0aW5nIHZwY29tcHJlc3NkICV6bW0xLDI0KjQoJWVjeCl7JWsy fS4uLiIpOworICAgICAgICBhc20gdm9sYXRpbGUgKCAia21vdncgJTEsICUlazJcblx0IgorICAg ICAgICAgICAgICAgICAgICAgICAidm1vdmRxdTMyICUyLCAlJXptbTFcbiIKKyAgICAgICAgICAg ICAgICAgICAgICAgcHV0X2luc24odnBjb21wcmVzc2QsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJ2cGNvbXByZXNzZCAlJXptbTEsIDI0KjQoJTApJXslJWsyJX0iKQorICAgICAg ICAgICAgICAgICAgICAgICA6OiAiYyIgKE5VTEwpLCAiciIgKDB4NTVhYSksICJtIiAoZHNyYykg KTsKKworICAgICAgICBtZW1zZXQocHRyLCAweGRiLCAzMiAqIDQpOworICAgICAgICBzZXRfaW5z bih2cGNvbXByZXNzZCk7CisgICAgICAgIHJlZ3MuZWN4ID0gKHVuc2lnbmVkIGxvbmcpcHRyOwor ICAgICAgICByYyA9IHg4Nl9lbXVsYXRlKCZjdHh0LCAmZW11bG9wcyk7CisgICAgICAgIGlmICgg cmMgIT0gWDg2RU1VTF9PS0FZIHx8ICFjaGVja19laXAodnBjb21wcmVzc2QpIHx8CisgICAgICAg ICAgICAgbWVtY21wKHB0ciwgcHRyICsgOCwgMTYgKiA0KSApCisgICAgICAgICAgICBnb3RvIGZh aWw7CisgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgNDsgKytpICkKKyAgICAgICAgICAgIGlmICgg cHRyWzI0ICsgaV0gIT0gMiAqIGkgKyAxICkKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Cisg ICAgICAgIGZvciAoIDsgaSA8IDg7ICsraSApCisgICAgICAgICAgICBpZiAoIHB0clsyNCArIGld ICE9IDIgKiBpICkKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIHByaW50Zigi b2theVxuIik7CisKKyAgICAgICAgcHJpbnRmKCIlLTQwcyIsICJUZXN0aW5nIHZwZXhwYW5kZCA4 KjQoJWVkeCksJXptbTN7JWsyfXt6fS4uLiIpOworICAgICAgICBhc20gdm9sYXRpbGUgKCAidnB0 ZXJubG9nZCAkMHg4MSwgJSV6bW0zLCAlJXptbTMsICUlem1tM1xuIgorICAgICAgICAgICAgICAg ICAgICAgICBwdXRfaW5zbih2cGV4cGFuZGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJ2cGV4cGFuZGQgOCo0KCUwKSwgJSV6bW0zJXslJWsyJX0le3olfSIpCisgICAgICAgICAg ICAgICAgICAgICAgIDo6ICJkIiAoTlVMTCkgKTsKKyAgICAgICAgc2V0X2luc24odnBleHBhbmRk KTsKKyAgICAgICAgcmVncy5lZHggPSAodW5zaWduZWQgbG9uZykocHRyICsgMTYpOworICAgICAg ICByYyA9IHg4Nl9lbXVsYXRlKCZjdHh0LCAmZW11bG9wcyk7CisgICAgICAgIGlmICggcmMgIT0g WDg2RU1VTF9PS0FZIHx8ICFjaGVja19laXAodnBleHBhbmRkKSApCisgICAgICAgICAgICBnb3Rv IGZhaWw7CisgICAgICAgIGFzbSAoICJ2bW92ZHFhMzIgJSV6bW0xLCAlJXptbTIleyUlazIlfSV7 eiV9XG5cdCIKKyAgICAgICAgICAgICAgInZwY21wZXFkICUlem1tMiwgJSV6bW0zLCAlJWswXG5c dCIKKyAgICAgICAgICAgICAgImttb3Z3ICUlazAsICUwIgorICAgICAgICAgICAgICA6ICI9ciIg KHJjKSApOworICAgICAgICBpZiAoIHJjICE9IDB4ZmZmZiApCisgICAgICAgICAgICBnb3RvIGZh aWw7CisgICAgICAgIHByaW50Zigib2theVxuIik7CisKKyAgICAgICAgcHJpbnRmKCIlLTQwcyIs ICJUZXN0aW5nIHZwY29tcHJlc3NxICV6bW00LDEyKjgoJWVkeCl7JWszfS4uLiIpOworICAgICAg ICBhc20gdm9sYXRpbGUgKCAia21vdncgJTEsICUlazNcblx0IgorICAgICAgICAgICAgICAgICAg ICAgICAidm1vdmRxdTY0ICUyLCAlJXptbTRcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgcHV0 X2luc24odnBjb21wcmVzc3EsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2cGNv bXByZXNzcSAlJXptbTQsIDEyKjgoJTApJXslJWszJX0iKQorICAgICAgICAgICAgICAgICAgICAg ICA6OiAiZCIgKE5VTEwpLCAiciIgKDB4NWEpLCAibSIgKHFzcmMpICk7CisKKyAgICAgICAgbWVt c2V0KHB0ciwgMHhkYiwgMTYgKiA4KTsKKyAgICAgICAgc2V0X2luc24odnBjb21wcmVzc3EpOwor ICAgICAgICByZWdzLmVkeCA9ICh1bnNpZ25lZCBsb25nKXB0cjsKKyAgICAgICAgcmMgPSB4ODZf ZW11bGF0ZSgmY3R4dCwgJmVtdWxvcHMpOworICAgICAgICBpZiAoIHJjICE9IFg4NkVNVUxfT0tB WSB8fCAhY2hlY2tfZWlwKHZwY29tcHJlc3NxKSB8fAorICAgICAgICAgICAgIG1lbWNtcChwdHIs IHB0ciArIDgsIDggKiA4KSApCisgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIGZvciAo IGkgPSAwOyBpIDwgMjsgKytpICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCBwdHJbKDEy ICsgaSkgKiAyXSAhPSAyICogaSArIDEgfHwKKyAgICAgICAgICAgICAgICAgcHRyWygxMiArIGkp ICogMiArIDFdICkKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIH0KKyAgICAg ICAgZm9yICggOyBpIDwgNDsgKytpICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCBwdHJb KDEyICsgaSkgKiAyXSAhPSAyICogaSB8fAorICAgICAgICAgICAgICAgICBwdHJbKDEyICsgaSkg KiAyICsgMV0gKQorICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgfQorICAgICAg ICBwcmludGYoIm9rYXlcbiIpOworCisgICAgICAgIHByaW50ZigiJS00MHMiLCAiVGVzdGluZyB2 cGV4cGFuZHEgNCo4KCVlY3gpLCV6bW01eyVrM317en0uLi4iKTsKKyAgICAgICAgYXNtIHZvbGF0 aWxlICggInZwdGVybmxvZ3EgJDB4ODEsICUlem1tNSwgJSV6bW01LCAlJXptbTVcbiIKKyAgICAg ICAgICAgICAgICAgICAgICAgcHV0X2luc24odnBleHBhbmRxLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAidnBleHBhbmRxIDQqOCglMCksICUlem1tNSV7JSVrMyV9JXt6JX0iKQor ICAgICAgICAgICAgICAgICAgICAgICA6OiAiYyIgKE5VTEwpICk7CisgICAgICAgIHNldF9pbnNu KHZwZXhwYW5kcSk7CisgICAgICAgIHJlZ3MuZWN4ID0gKHVuc2lnbmVkIGxvbmcpKHB0ciArIDE2 KTsKKyAgICAgICAgcmMgPSB4ODZfZW11bGF0ZSgmY3R4dCwgJmVtdWxvcHMpOworICAgICAgICBp ZiAoIHJjICE9IFg4NkVNVUxfT0tBWSB8fCAhY2hlY2tfZWlwKHZwZXhwYW5kcSkgKQorICAgICAg ICAgICAgZ290byBmYWlsOworICAgICAgICBhc20gKCAidm1vdmRxYTY0ICUlem1tNCwgJSV6bW02 JXslJWszJX0le3olfVxuXHQiCisgICAgICAgICAgICAgICJ2cGNtcGVxcSAlJXptbTUsICUlem1t NiwgJSVrMFxuXHQiCisgICAgICAgICAgICAgICJrbW92dyAlJWswLCAlMCIKKyAgICAgICAgICAg ICAgOiAiPXIiIChyYykgKTsKKyAgICAgICAgaWYgKCByYyAhPSAweGZmICkKKyAgICAgICAgICAg IGdvdG8gZmFpbDsKKyAgICAgICAgcHJpbnRmKCJva2F5XG4iKTsKKyAgICB9CisKKyNpZiBfX0dO VUNfXyA+IDcgLyogY2FuJ3QgY2hlY2sgZm9yIF9fQVZYNTEyVkJNSTJfXyBoZXJlICovCisgICAg aWYgKCBzdGFja19leGVjICYmIGNwdV9oYXNfYXZ4NTEyX3ZibWkyICkKKyAgICB7CisgICAgICAg IGRlY2xfaW5zbih2cGNvbXByZXNzYik7CisgICAgICAgIGRlY2xfaW5zbih2cGNvbXByZXNzdyk7 CisgICAgICAgIGRlY2xfaW5zbih2cGV4cGFuZGIpOworICAgICAgICBkZWNsX2luc24odnBleHBh bmR3KTsKKyAgICAgICAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CisgICAgICAgICAgICB1bnNpZ25l ZCBjaGFyIGJbNjRdOworICAgICAgICB9IGJzcmMgPSB7IHsgMCwgIDEsICAyLCAgMywgIDQsICA1 LCAgNiwgIDcsCisgICAgICAgICAgICAgICAgICAgICA4LCAgOSwgMTAsIDExLCAxMiwgMTMsIDE0 LCAxNSwKKyAgICAgICAgICAgICAgICAgICAgMTYsIDE3LCAxOCwgMTksIDIwLCAyMSwgMjIsIDIz LAorICAgICAgICAgICAgICAgICAgICAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsCisg ICAgICAgICAgICAgICAgICAgIDMyLCAzMywgMzQsIDM1LCAzNiwgMzcsIDM4LCAzOSwKKyAgICAg ICAgICAgICAgICAgICAgNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LAorICAgICAgICAg ICAgICAgICAgICA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCwgNTUsCisgICAgICAgICAgICAg ICAgICAgIDU2LCA1NywgNTgsIDU5LCA2MCwgNjEsIDYyLCA2MyB9IH07CisgICAgICAgIHN0YXRp YyBjb25zdCBzdHJ1Y3QgeworICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgd1szMl07CisgICAg ICAgIH0gd3NyYyA9IHsgeyAwLCAgMSwgIDIsICAzLCAgNCwgIDUsICA2LCAgNywKKyAgICAgICAg ICAgICAgICAgICAgIDgsICA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LAorICAgICAgICAgICAg ICAgICAgICAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsCisgICAgICAgICAgICAgICAg ICAgIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSB9IH07CisgICAgICAgIHVuc2lnbmVk IGNoYXIgKnB0ciA9ICh2b2lkICopcmVzICsgTU1BUF9TWiAtIDEyODsKKyAgICAgICAgdW5zaWdu ZWQgbG9uZyBsb25nIHcgPSAweDU1NTU1NTU1YWFhYWFhYWFVTEw7CisKKyAgICAgICAgcHJpbnRm KCIlLTQwcyIsICJUZXN0aW5nIHZwY29tcHJlc3NiICV6bW0xLDk2KjEoJWVjeCl7JWsyfS4uLiIp OworICAgICAgICBhc20gdm9sYXRpbGUgKCAia21vdnEgJTEsICUlazJcblx0IgorICAgICAgICAg ICAgICAgICAgICAgICAidm1vdmRxdTggJTIsICUlem1tMVxuIgorICAgICAgICAgICAgICAgICAg ICAgICBwdXRfaW5zbih2cGNvbXByZXNzYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgInZwY29tcHJlc3NiICUlem1tMSwgOTYqMSglMCkleyUlazIlfSIpCisgICAgICAgICAgICAg ICAgICAgICAgIDo6ICJjIiAoTlVMTCksICJtIiAodyksICJtIiAoYnNyYykgKTsKKworICAgICAg ICBtZW1zZXQocHRyLCAweGRiLCAxMjggKiAxKTsKKyAgICAgICAgc2V0X2luc24odnBjb21wcmVz c2IpOworICAgICAgICByZWdzLmVjeCA9ICh1bnNpZ25lZCBsb25nKXB0cjsKKyAgICAgICAgcmMg PSB4ODZfZW11bGF0ZSgmY3R4dCwgJmVtdWxvcHMpOworICAgICAgICBpZiAoIHJjICE9IFg4NkVN VUxfT0tBWSB8fCAhY2hlY2tfZWlwKHZwY29tcHJlc3NiKSB8fAorICAgICAgICAgICAgIG1lbWNt cChwdHIsIHB0ciArIDMyLCA2NCAqIDEpICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAg ICAgZm9yICggaSA9IDA7IGkgPCAxNjsgKytpICkKKyAgICAgICAgICAgIGlmICggcHRyWzk2ICsg aV0gIT0gMiAqIGkgKyAxICkKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIGZv ciAoIDsgaSA8IDMyOyArK2kgKQorICAgICAgICAgICAgaWYgKCBwdHJbOTYgKyBpXSAhPSAyICog aSApCisgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICBwcmludGYoIm9rYXlcbiIp OworCisgICAgICAgIHByaW50ZigiJS00MHMiLCAiVGVzdGluZyB2cGV4cGFuZGIgMzIqMSglZWR4 KSwlem1tM3slazJ9e3p9Li4uIik7CisgICAgICAgIGFzbSB2b2xhdGlsZSAoICJ2cHRlcm5sb2dk ICQweDgxLCAlJXptbTMsICUlem1tMywgJSV6bW0zXG4iCisgICAgICAgICAgICAgICAgICAgICAg IHB1dF9pbnNuKHZwZXhwYW5kYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZw ZXhwYW5kYiAzMioxKCUwKSwgJSV6bW0zJXslJWsyJX0le3olfSIpCisgICAgICAgICAgICAgICAg ICAgICAgIDo6ICJkIiAoTlVMTCkgKTsKKyAgICAgICAgc2V0X2luc24odnBleHBhbmRiKTsKKyAg ICAgICAgcmVncy5lZHggPSAodW5zaWduZWQgbG9uZykocHRyICsgNjQpOworICAgICAgICByYyA9 IHg4Nl9lbXVsYXRlKCZjdHh0LCAmZW11bG9wcyk7CisgICAgICAgIGlmICggcmMgIT0gWDg2RU1V TF9PS0FZIHx8ICFjaGVja19laXAodnBleHBhbmRiKSApCisgICAgICAgICAgICBnb3RvIGZhaWw7 CisgICAgICAgIGFzbSAoICJ2bW92ZHF1OCAlJXptbTEsICUlem1tMiV7JSVrMiV9JXt6JX1cblx0 IgorICAgICAgICAgICAgICAidnBjbXBlcWIgJSV6bW0yLCAlJXptbTMsICUlazBcblx0IgorICAg ICAgICAgICAgICAia21vdnEgJSVrMCwgJTAiCisgICAgICAgICAgICAgIDogIj1tIiAodykgKTsK KyAgICAgICAgaWYgKCB3ICE9IDB4ZmZmZmZmZmZmZmZmZmZmZlVMTCApCisgICAgICAgICAgICBn b3RvIGZhaWw7CisgICAgICAgIHByaW50Zigib2theVxuIik7CisKKyAgICAgICAgcHJpbnRmKCIl LTQwcyIsICJUZXN0aW5nIHZwY29tcHJlc3N3ICV6bW00LDQ4KjIoJWVkeCl7JWszfS4uLiIpOwor ICAgICAgICBhc20gdm9sYXRpbGUgKCAia21vdmQgJTEsICUlazNcblx0IgorICAgICAgICAgICAg ICAgICAgICAgICAidm1vdmRxdTE2ICUyLCAlJXptbTRcbiIKKyAgICAgICAgICAgICAgICAgICAg ICAgcHV0X2luc24odnBjb21wcmVzc3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJ2cGNvbXByZXNzdyAlJXptbTQsIDQ4KjIoJTApJXslJWszJX0iKQorICAgICAgICAgICAgICAg ICAgICAgICA6OiAiZCIgKE5VTEwpLCAiciIgKDB4NTU1NWFhYWEpLCAibSIgKHdzcmMpICk7CisK KyAgICAgICAgbWVtc2V0KHB0ciwgMHhkYiwgNjQgKiAyKTsKKyAgICAgICAgc2V0X2luc24odnBj b21wcmVzc3cpOworICAgICAgICByZWdzLmVkeCA9ICh1bnNpZ25lZCBsb25nKXB0cjsKKyAgICAg ICAgcmMgPSB4ODZfZW11bGF0ZSgmY3R4dCwgJmVtdWxvcHMpOworICAgICAgICBpZiAoIHJjICE9 IFg4NkVNVUxfT0tBWSB8fCAhY2hlY2tfZWlwKHZwY29tcHJlc3N3KSB8fAorICAgICAgICAgICAg IG1lbWNtcChwdHIsIHB0ciArIDMyLCAzMiAqIDIpICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsK KyAgICAgICAgZm9yICggaSA9IDA7IGkgPCA4OyArK2kgKQorICAgICAgICB7CisgICAgICAgICAg ICBpZiAoIHB0clsoNDggKyBpKSAqIDJdICE9IDIgKiBpICsgMSB8fAorICAgICAgICAgICAgICAg ICBwdHJbKDQ4ICsgaSkgKiAyICsgMV0gKQorICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAg ICAgICAgfQorICAgICAgICBmb3IgKCA7IGkgPCAxNjsgKytpICkKKyAgICAgICAgeworICAgICAg ICAgICAgaWYgKCBwdHJbKDQ4ICsgaSkgKiAyXSAhPSAyICogaSB8fAorICAgICAgICAgICAgICAg ICBwdHJbKDQ4ICsgaSkgKiAyICsgMV0gKQorICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAg ICAgICAgfQorICAgICAgICBwcmludGYoIm9rYXlcbiIpOworCisgICAgICAgIHByaW50ZigiJS00 MHMiLCAiVGVzdGluZyB2cGV4cGFuZHcgMTYqMiglZWN4KSwlem1tNXslazN9e3p9Li4uIik7Cisg ICAgICAgIGFzbSB2b2xhdGlsZSAoICJ2cHRlcm5sb2dkICQweDgxLCAlJXptbTUsICUlem1tNSwg JSV6bW01XG4iCisgICAgICAgICAgICAgICAgICAgICAgIHB1dF9pbnNuKHZwZXhwYW5kdywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZwZXhwYW5kdyAxNioyKCUwKSwgJSV6bW01 JXslJWszJX0le3olfSIpCisgICAgICAgICAgICAgICAgICAgICAgIDo6ICJjIiAoTlVMTCkgKTsK KyAgICAgICAgc2V0X2luc24odnBleHBhbmR3KTsKKyAgICAgICAgcmVncy5lY3ggPSAodW5zaWdu ZWQgbG9uZykocHRyICsgNjQpOworICAgICAgICByYyA9IHg4Nl9lbXVsYXRlKCZjdHh0LCAmZW11 bG9wcyk7CisgICAgICAgIGlmICggcmMgIT0gWDg2RU1VTF9PS0FZIHx8ICFjaGVja19laXAodnBl eHBhbmR3KSApCisgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIGFzbSAoICJ2bW92ZHF1 MTYgJSV6bW00LCAlJXptbTYleyUlazMlfSV7eiV9XG5cdCIKKyAgICAgICAgICAgICAgInZwY21w ZXF3ICUlem1tNSwgJSV6bW02LCAlJWswXG5cdCIKKyAgICAgICAgICAgICAgImttb3ZxICUlazAs ICUwIgorICAgICAgICAgICAgICA6ICI9bSIgKHcpICk7CisgICAgICAgIGlmICggdyAhPSAweGZm ZmZmZmZmICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgcHJpbnRmKCJva2F5XG4i KTsKKyAgICB9CisjZW5kaWYKKwogI3VuZGVmIGRlY2xfaW5zbgogI3VuZGVmIHB1dF9pbnNuCiAj dW5kZWYgc2V0X2luc24KLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3g4Ni1lbXVsYXRl LmgKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3g4Ni1lbXVsYXRlLmgKQEAgLTU5LDYg KzU5LDkgQEAKICAgICAodHlwZSAqKSgoY2hhciAqKW1wdHJfXyAtIG9mZnNldG9mKHR5cGUsIG1l bWJlcikpOyBcCiB9KQogCisjZGVmaW5lIGh3ZWlnaHQzMiBfX2J1aWx0aW5fcG9wY291bnQKKyNk ZWZpbmUgaHdlaWdodDY0IF9fYnVpbHRpbl9wb3Bjb3VudGxsCisKICNkZWZpbmUgaXNfY2Fub25p Y2FsX2FkZHJlc3MoeCkgKCgoaW50NjRfdCkoeCkgPj4gNDcpID09ICgoaW50NjRfdCkoeCkgPj4g NjMpKQogCiBleHRlcm4gdWludDMyX3QgbXhjc3JfbWFzazsKQEAgLTEzOCw2ICsxNDEsNyBAQCBz dGF0aWMgaW5saW5lIGJvb2wgeGNyMF9tYXNrKHVpbnQ2NF90IG1hCiAjZGVmaW5lIGNwdV9oYXNf YXZ4NTEyYncgIChjcC5mZWF0LmF2eDUxMmJ3ICYmIHhjcjBfbWFzaygweGU2KSkKICNkZWZpbmUg Y3B1X2hhc19hdng1MTJ2bCAgKGNwLmZlYXQuYXZ4NTEydmwgJiYgeGNyMF9tYXNrKDB4ZTYpKQog I2RlZmluZSBjcHVfaGFzX2F2eDUxMl92Ym1pIChjcC5mZWF0LmF2eDUxMl92Ym1pICYmIHhjcjBf bWFzaygweGU2KSkKKyNkZWZpbmUgY3B1X2hhc19hdng1MTJfdmJtaTIgKGNwLmZlYXQuYXZ4NTEy X3ZibWkyICYmIHhjcjBfbWFzaygweGU2KSkKIAogI2RlZmluZSBjcHVfaGFzX3hnZXRidjEgICAo Y3B1X2hhc194c2F2ZSAmJiBjcC54c3RhdGUueGdldGJ2MSkKIAotLS0gYS94ZW4vYXJjaC94ODYv eDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUv eDg2X2VtdWxhdGUuYwpAQCAtNDgyLDYgKzQ4Miw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXh0 MGYzOF90YWJsZSB7CiAgICAgWzB4NTldID0geyAuc2ltZF9zaXplID0gc2ltZF9vdGhlciwgLnR3 b19vcCA9IDEsIC5kOHMgPSAzIH0sCiAgICAgWzB4NWFdID0geyAuc2ltZF9zaXplID0gc2ltZF8x MjgsIC50d29fb3AgPSAxLCAuZDhzID0gNCB9LAogICAgIFsweDViXSA9IHsgLnNpbWRfc2l6ZSA9 IHNpbWRfMjU2LCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c192bF9ieV8yIH0sCisgICAgWzB4NjJd ID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4 c19idyB9LAorICAgIFsweDYzXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLnRv X21lbSA9IDEsIC50d29fb3AgPSAxLCAuZDhzID0gZDhzX2J3IH0sCiAgICAgWzB4NzUgLi4uIDB4 NzZdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCiAg ICAgWzB4NzddID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAsIC5kOHMgPSBkOHNfdmwg fSwKICAgICBbMHg3OF0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyLCAudHdvX29wID0gMSB9 LApAQCAtNDg5LDYgKzQ5MSwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV4dDBmMzhfdGFibGUg ewogICAgIFsweDdhIC4uLiAweDdjXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfbm9uZSwgLnR3b19v cCA9IDEgfSwKICAgICBbMHg3ZCAuLi4gMHg3ZV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tl ZF9pbnQsIC5kOHMgPSBkOHNfdmwgfSwKICAgICBbMHg3Zl0gPSB7IC5zaW1kX3NpemUgPSBzaW1k X3BhY2tlZF9mcCwgLmQ4cyA9IGQ4c192bCB9LAorICAgIFsweDg4XSA9IHsgLnNpbWRfc2l6ZSA9 IHNpbWRfcGFja2VkX2ZwLCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c19kcSB9LAorICAgIFsweDg5 XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLnR3b19vcCA9IDEsIC5kOHMgPSBk OHNfZHEgfSwKKyAgICBbMHg4YV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLnRv X21lbSA9IDEsIC50d29fb3AgPSAxLCAuZDhzID0gZDhzX2RxIH0sCisgICAgWzB4OGJdID0geyAu c2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAudG9fbWVtID0gMSwgLnR3b19vcCA9IDEsIC5k OHMgPSBkOHNfZHEgfSwKICAgICBbMHg4Y10gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9p bnQgfSwKICAgICBbMHg4ZF0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQsIC5kOHMg PSBkOHNfdmwgfSwKICAgICBbMHg4ZV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQs IC50b19tZW0gPSAxIH0sCkBAIC0xOTAwLDYgKzE5MDYsNyBAQCBzdGF0aWMgYm9vbCB2Y3B1X2hh cygKICNkZWZpbmUgdmNwdV9oYXNfYXZ4NTEyYncoKSAgICB2Y3B1X2hhcyggICAgICAgICA3LCBF QlgsIDMwLCBjdHh0LCBvcHMpCiAjZGVmaW5lIHZjcHVfaGFzX2F2eDUxMnZsKCkgICAgdmNwdV9o YXMoICAgICAgICAgNywgRUJYLCAzMSwgY3R4dCwgb3BzKQogI2RlZmluZSB2Y3B1X2hhc19hdng1 MTJfdmJtaSgpIHZjcHVfaGFzKCAgICAgICAgIDcsIEVDWCwgIDEsIGN0eHQsIG9wcykKKyNkZWZp bmUgdmNwdV9oYXNfYXZ4NTEyX3ZibWkyKCkgdmNwdV9oYXMoICAgICAgICA3LCBFQ1gsICA2LCBj dHh0LCBvcHMpCiAjZGVmaW5lIHZjcHVfaGFzX3JkcGlkKCkgICAgICAgdmNwdV9oYXMoICAgICAg ICAgNywgRUNYLCAyMiwgY3R4dCwgb3BzKQogI2RlZmluZSB2Y3B1X2hhc19jbHplcm8oKSAgICAg IHZjcHVfaGFzKDB4ODAwMDAwMDgsIEVCWCwgIDAsIGN0eHQsIG9wcykKIApAQCAtODg5NCw2ICs4 OTAxLDM2IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoZWEu dHlwZSAhPSBPUF9NRU0gfHwgIXZleC5sIHx8IHZleC53LCBFWENfVUQpOwogICAgICAgICBnb3Rv IHNpbWRfMGZfYXZ4MjsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4 NjIpOiAvKiB2cGV4cGFuZHtiLHd9IFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICBjYXNl IFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDYzKTogLyogdnBjb21wcmVzc3tiLHd9IFt4 eXpdbW0sW3h5el1tbS9tZW17a30gKi8KKyAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUo YXZ4NTEyX3ZibWkyKTsKKyAgICAgICAgZWxlbV9ieXRlcyA9IDEgPDwgZXZleC53OworICAgICAg ICAvKiBmYWxsIHRocm91Z2ggKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4 LCAweDg4KTogLyogdmV4cGFuZHB7cyxkfSBbeHl6XW1tL21lbSxbeHl6XW1te2t9ICovCisgICAg Y2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg4OSk6IC8qIHZwZXhwYW5ke2QscX0g W3h5el1tbS9tZW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82Nigw eDBmMzgsIDB4OGEpOiAvKiB2Y29tcHJlc3Nwe3MsZH0gW3h5el1tbSxbeHl6XW1tL21lbXtrfSAq LworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4OGIpOiAvKiB2cGNvbXBy ZXNze2QscX0gW3h5el1tbSxbeHl6XW1tL21lbXtrfSAqLworICAgICAgICBob3N0X2FuZF92Y3B1 X211c3RfaGF2ZShhdng1MTJmKTsKKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGV2ZXgu YnJzLCBFWENfVUQpOworICAgICAgICBhdng1MTJfdmxlbl9jaGVjayhmYWxzZSk7CisgICAgICAg IC8qCisgICAgICAgICAqIEZvciB0aGUgcmVzcGVjdGl2ZSBjb2RlIGJlbG93IHRoZSBtYWluIHN3 aXRjaCgpIHRvIHdvcmsgd2UgbmVlZCB0bworICAgICAgICAgKiBjb21wYWN0IG9wX21hc2sgaGVy ZTogTWVtb3J5IGFjY2Vzc2VzIGFyZSBub24tc3BhcnNlIGV2ZW4gaWYgdGhlCisgICAgICAgICAq IG1hc2sgcmVnaXN0ZXIgaGFzIHNwYXJzZWx5IHNldCBiaXRzLgorICAgICAgICAgKi8KKyAgICAg ICAgaWYgKCBsaWtlbHkoZmF1bHRfc3VwcHJlc3Npb24pICkKKyAgICAgICAgeworICAgICAgICAg ICAgbiA9IDEgPDwgKChiICYgOCA/IDIgOiA0KSArIGV2ZXgubHIgLSBldmV4LncpOworICAgICAg ICAgICAgRVhQRUNUKGVsZW1fYnl0ZXMgPiAwKTsKKyAgICAgICAgICAgIEFTU0VSVChvcF9ieXRl cyA9PSBuICogZWxlbV9ieXRlcyk7CisgICAgICAgICAgICBvcF9tYXNrICY9IH4wVUxMID4+ICg2 NCAtIG4pOworICAgICAgICAgICAgbiA9IGh3ZWlnaHQ2NChvcF9tYXNrKTsKKyAgICAgICAgICAg IG9wX2J5dGVzID0gbiAqIGVsZW1fYnl0ZXM7CisgICAgICAgICAgICBpZiAoIG4gKQorICAgICAg ICAgICAgICAgIG9wX21hc2sgPSB+MFVMTCA+PiAoNjQgLSBuKTsKKyAgICAgICAgfQorICAgICAg ICBnb3RvIHNpbWRfem1tOworCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwg MHg3NSk6IC8qIHZwZXJtaTJ7Yix3fSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8K ICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDdkKTogLyogdnBlcm10Mnti LHd9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9P UENfRVZFWF82NigweDBmMzgsIDB4OGQpOiAvKiB2cGVybXtiLHd9IFt4eXpdbW0vbWVtLFt4eXpd bW0sW3h5el1tbXtrfSAqLwotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAor KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaApAQCAtMTEwLDYgKzExMCw3IEBA CiAKIC8qIENQVUlEIGxldmVsIDB4MDAwMDAwMDc6MC5lY3ggKi8KICNkZWZpbmUgY3B1X2hhc19h dng1MTJfdmJtaSAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0FWWDUxMl9WQk1JKQorI2Rl ZmluZSBjcHVfaGFzX2F2eDUxMl92Ym1pMiAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQVZY NTEyX1ZCTUkyKQogI2RlZmluZSBjcHVfaGFzX3JkcGlkICAgICAgICAgICBib290X2NwdV9oYXMo WDg2X0ZFQVRVUkVfUkRQSUQpCiAKIC8qIENQVUlEIGxldmVsIDB4ODAwMDAwMDcuZWR4ICovCi0t LSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmgKKysrIGIveGVu L2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZlYXR1cmVzZXQuaApAQCAtMjI4LDYgKzIyOCw3 IEBAIFhFTl9DUFVGRUFUVVJFKEFWWDUxMl9WQk1JLCAgIDYqMzIrIDEpIC8KIFhFTl9DUFVGRUFU VVJFKFVNSVAsICAgICAgICAgIDYqMzIrIDIpIC8qUyAgVXNlciBNb2RlIEluc3RydWN0aW9uIFBy ZXZlbnRpb24gKi8KIFhFTl9DUFVGRUFUVVJFKFBLVSwgICAgICAgICAgIDYqMzIrIDMpIC8qSCAg UHJvdGVjdGlvbiBLZXlzIGZvciBVc2Vyc3BhY2UgKi8KIFhFTl9DUFVGRUFUVVJFKE9TUEtFLCAg ICAgICAgIDYqMzIrIDQpIC8qISAgT1MgUHJvdGVjdGlvbiBLZXlzIEVuYWJsZSAqLworWEVOX0NQ VUZFQVRVUkUoQVZYNTEyX1ZCTUkyLCAgNiozMisgNikgLypBICBBZGRpdGlvbmFsIEFWWC01MTIg VmVjdG9yIEJ5dGUgTWFuaXB1bGF0aW9uIEluc3RycyAqLwogWEVOX0NQVUZFQVRVUkUoQVZYNTEy X1ZQT1BDTlREUSwgNiozMisxNCkgLypBICBQT1BDTlQgZm9yIHZlY3RvcnMgb2YgRFcvUVcgKi8K IFhFTl9DUFVGRUFUVVJFKFJEUElELCAgICAgICAgIDYqMzIrMjIpIC8qQSAgUkRQSUQgaW5zdHJ1 Y3Rpb24gKi8KIAotLS0gYS94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5CisrKyBiL3hlbi90b29scy9n ZW4tY3B1aWQucHkKQEAgLTI2NiwxMCArMjY2LDEwIEBAIGRlZiBjcnVuY2hfbnVtYmVycyhzdGF0 ZSk6CiAgICAgICAgICAgICAgICAgICBBVlg1MTJCVywgQVZYNTEyVkwsIEFWWDUxMl80Vk5OSVcs IEFWWDUxMl80Rk1BUFMsCiAgICAgICAgICAgICAgICAgICBBVlg1MTJfVlBPUENOVERRXSwKIAot ICAgICAgICAjIEFWWDUxMiBleHRlbnNpb25zIGFjdGluZyBzb2xlbHkgb24gdmVjdG9ycyBvZiBi eXRlcy93b3JkcyBhcmUgbWFkZQorICAgICAgICAjIEFWWDUxMiBleHRlbnNpb25zIGFjdGluZyAo c29sZWx5KSBvbiB2ZWN0b3JzIG9mIGJ5dGVzL3dvcmRzIGFyZSBtYWRlCiAgICAgICAgICMgZGVw ZW5kZW50cyBvZiBBVlg1MTJCVyAoYXMgdG8gcmVxdWlyaW5nIHdpZGVyIHRoYW4gMTYtYml0IG1h c2sKICAgICAgICAgIyByZWdpc3RlcnMpLCBkZXNwaXRlIHRoZSBTRE0gbm90IGZvcm1hbGx5IG1h a2luZyB0aGlzIGNvbm5lY3Rpb24uCi0gICAgICAgIEFWWDUxMkJXOiBbQVZYNTEyX1ZCTUldLAor ICAgICAgICBBVlg1MTJCVzogW0FWWDUxMl9WQk1JLCBBVlg1MTJfVkJNSTJdLAogCiAgICAgICAg ICMgVGhlIGZlYXR1cmVzOgogICAgICAgICAjICAgKiBTaW5nbGUgVGhyZWFkIEluZGlyZWN0IEJy YW5jaCBQcmVkaWN0b3JzCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVu LWRldmVs