From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v8 02/15] xen: clean up grant_table.h Date: Wed, 20 Sep 2017 08:34:17 +0200 Message-ID: <20170920063430.9105-3-jgross@suse.com> References: <20170920063430.9105-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1duYaj-00036c-D4 for xen-devel@lists.xenproject.org; Wed, 20 Sep 2017 06:34:37 +0000 In-Reply-To: <20170920063430.9105-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, julien.grall@arm.com, jbeulich@suse.com, dgdegra@tycho.nsa.gov List-Id: xen-devel@lists.xenproject.org TWFueSBkZWZpbml0aW9ucyBjYW4gYmUgbW92ZWQgZnJvbSB4ZW4vZ3JhbnRfdGFibGUuaCB0bwpj b21tb24vZ3JhbnRfdGFibGUuYyBub3csIGFzIHRoZXkgYXJlIG5vIGxvbmdlciB1c2VkIGluIG90 aGVyIHNvdXJjZXMuCgpSZWFycmFuZ2UgdGhlIGVsZW1lbnRzIG9mIHN0cnVjdCBncmFudF90YWJs ZSB0byBtaW5pbWl6ZSBob2xlcyBkdWUgdG8KYWxpZ25tZW50IG9mIGVsZW1lbnRzLgoKU2lnbmVk LW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGF1 bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFdlaSBMaXUg PHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQpWNjoKLSBjb2Rpbmcgc3R5bGUgKEphbiBCZXVsaWNo KQotIHJlYXJyYW5nZSBzdHJ1Y3QgZ3JhbnRfdGFibGUgdG8gbWluaW1pemUgaG9sZXMgKEphbiBC ZXVsaWNoKQotLS0KIHhlbi9jb21tb24vZ3JhbnRfdGFibGUuYyAgICAgIHwgODEgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogeGVuL2luY2x1ZGUveGVuL2dyYW50 X3RhYmxlLmggfCA3OCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog MiBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxl LmMKaW5kZXggMWIxOGU1ZjljYy4uYWM4NDVkYmIzNSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9n cmFudF90YWJsZS5jCisrKyBiL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYwpAQCAtNDAsNiArNDAs NDUgQEAKICNpbmNsdWRlIDx4c20veHNtLmg+CiAjaW5jbHVkZSA8YXNtL2ZsdXNodGxiLmg+CiAK Ky8qIFBlci1kb21haW4gZ3JhbnQgaW5mb3JtYXRpb24uICovCitzdHJ1Y3QgZ3JhbnRfdGFibGUg eworICAgIC8qCisgICAgICogTG9jayBwcm90ZWN0aW5nIHVwZGF0ZXMgdG8gZ3JhbnQgdGFibGUg c3RhdGUgKHZlcnNpb24sIGFjdGl2ZQorICAgICAqIGVudHJ5IGxpc3QsIGV0Yy4pCisgICAgICov CisgICAgcGVyY3B1X3J3bG9ja190ICAgICAgIGxvY2s7CisgICAgLyogTG9jayBwcm90ZWN0aW5n IHRoZSBtYXB0cmFjayBsaW1pdCAqLworICAgIHNwaW5sb2NrX3QgICAgICAgICAgICBtYXB0cmFj a19sb2NrOworICAgIC8qCisgICAgICogVGhlIGRlZmluZWQgdmVyc2lvbnMgYXJlIDEgYW5kIDIu ICBTZXQgdG8gMCBpZiB3ZSBkb24ndCBrbm93CisgICAgICogd2hhdCB2ZXJzaW9uIHRvIHVzZSB5 ZXQuCisgICAgICovCisgICAgdW5zaWduZWQgaW50ICAgICAgICAgIGd0X3ZlcnNpb247CisgICAg LyogVGFibGUgc2l6ZS4gTnVtYmVyIG9mIGZyYW1lcyBzaGFyZWQgd2l0aCBndWVzdCAqLworICAg IHVuc2lnbmVkIGludCAgICAgICAgICBucl9ncmFudF9mcmFtZXM7CisgICAgLyogTnVtYmVyIG9m IGdyYW50IHN0YXR1cyBmcmFtZXMgc2hhcmVkIHdpdGggZ3Vlc3QgKGZvciB2ZXJzaW9uIDIpICov CisgICAgdW5zaWduZWQgaW50ICAgICAgICAgIG5yX3N0YXR1c19mcmFtZXM7CisgICAgLyogTnVt YmVyIG9mIGF2YWlsYWJsZSBtYXB0cmFjayBlbnRyaWVzLiAqLworICAgIHVuc2lnbmVkIGludCAg ICAgICAgICBtYXB0cmFja19saW1pdDsKKyAgICAvKiBTaGFyZWQgZ3JhbnQgdGFibGUgKHNlZSBp bmNsdWRlL3B1YmxpYy9ncmFudF90YWJsZS5oKS4gKi8KKyAgICB1bmlvbiB7CisgICAgICAgIHZv aWQgKipzaGFyZWRfcmF3OworICAgICAgICBzdHJ1Y3QgZ3JhbnRfZW50cnlfdjEgKipzaGFyZWRf djE7CisgICAgICAgIHVuaW9uIGdyYW50X2VudHJ5X3YyICoqc2hhcmVkX3YyOworICAgIH07Cisg ICAgLyogU3RhdGUgZ3JhbnQgdGFibGUgKHNlZSBpbmNsdWRlL3B1YmxpYy9ncmFudF90YWJsZS5o KS4gKi8KKyAgICBncmFudF9zdGF0dXNfdCAgICAgICAqKnN0YXR1czsKKyAgICAvKiBBY3RpdmUg Z3JhbnQgdGFibGUuICovCisgICAgc3RydWN0IGFjdGl2ZV9ncmFudF9lbnRyeSAqKmFjdGl2ZTsK KyAgICAvKiBNYXBwaW5nIHRyYWNraW5nIHRhYmxlIHBlciB2Y3B1LiAqLworICAgIHN0cnVjdCBn cmFudF9tYXBwaW5nICoqbWFwdHJhY2s7Cit9OworCisjaWZuZGVmIERFRkFVTFRfTUFYX05SX0dS QU5UX0ZSQU1FUyAvKiB0byBhbGxvdyBhcmNoIHRvIG92ZXJyaWRlICovCisvKiBEZWZhdWx0IG1h eGltdW0gc2l6ZSBvZiBhIGdyYW50IHRhYmxlLiBbUE9MSUNZXSAqLworI2RlZmluZSBERUZBVUxU X01BWF9OUl9HUkFOVF9GUkFNRVMgICAzMgorI2VuZGlmCisKIHVuc2lnbmVkIGludCBfX3JlYWRf bW9zdGx5IG1heF9ncmFudF9mcmFtZXM7CiBpbnRlZ2VyX3BhcmFtKCJnbnR0YWJfbWF4X2ZyYW1l cyIsIG1heF9ncmFudF9mcmFtZXMpOwogCkBAIC0xMTgsNiArMTU3LDE4IEBAIHN0cnVjdCBncmFu dF9tYXBwaW5nIHsKICAgICB1aW50MzJfdCBwYWQ7ICAgICAgICAgICAvKiByb3VuZCBzaXplIHRv IGEgcG93ZXIgb2YgMiAqLwogfTsKIAorLyogTnVtYmVyIG9mIGdyYW50IHRhYmxlIGZyYW1lcy4g Q2FsbGVyIG11c3QgaG9sZCBkJ3MgZ3JhbnQgdGFibGUgbG9jay4gKi8KK3N0YXRpYyBpbmxpbmUg dW5zaWduZWQgaW50IG5yX2dyYW50X2ZyYW1lcyhjb25zdCBzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0 KQoreworICAgIHJldHVybiBndC0+bnJfZ3JhbnRfZnJhbWVzOworfQorCisvKiBOdW1iZXIgb2Yg c3RhdHVzIGdyYW50IHRhYmxlIGZyYW1lcy4gQ2FsbGVyIG11c3QgaG9sZCBkJ3MgZ3IuIHRhYmxl IGxvY2suKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IG5yX3N0YXR1c19mcmFtZXMoY29u c3Qgc3RydWN0IGdyYW50X3RhYmxlICpndCkKK3sKKyAgICByZXR1cm4gZ3QtPm5yX3N0YXR1c19m cmFtZXM7Cit9CisKICNkZWZpbmUgTUFQVFJBQ0tfUEVSX1BBR0UgKFBBR0VfU0laRSAvIHNpemVv ZihzdHJ1Y3QgZ3JhbnRfbWFwcGluZykpCiAjZGVmaW5lIG1hcHRyYWNrX2VudHJ5KHQsIGUpIFwK ICAgICAoKHQpLT5tYXB0cmFja1soZSkvTUFQVFJBQ0tfUEVSX1BBR0VdWyhlKSVNQVBUUkFDS19Q RVJfUEFHRV0pCkBAIC0xOTcsNyArMjQ4LDI3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhY3Rfc2V0 X2dmbihzdHJ1Y3QgYWN0aXZlX2dyYW50X2VudHJ5ICphY3QsIGdmbl90IGdmbikKICNlbmRpZgog fQogCi1ERUZJTkVfUEVSQ1BVX1JXTE9DS19HTE9CQUwoZ3JhbnRfcndsb2NrKTsKK3N0YXRpYyBE RUZJTkVfUEVSQ1BVX1JXTE9DS19HTE9CQUwoZ3JhbnRfcndsb2NrKTsKKworc3RhdGljIGlubGlu ZSB2b2lkIGdyYW50X3JlYWRfbG9jayhzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0KQoreworICAgIHBl cmNwdV9yZWFkX2xvY2soZ3JhbnRfcndsb2NrLCAmZ3QtPmxvY2spOworfQorCitzdGF0aWMgaW5s aW5lIHZvaWQgZ3JhbnRfcmVhZF91bmxvY2soc3RydWN0IGdyYW50X3RhYmxlICpndCkKK3sKKyAg ICBwZXJjcHVfcmVhZF91bmxvY2soZ3JhbnRfcndsb2NrLCAmZ3QtPmxvY2spOworfQorCitzdGF0 aWMgaW5saW5lIHZvaWQgZ3JhbnRfd3JpdGVfbG9jayhzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0KQor eworICAgIHBlcmNwdV93cml0ZV9sb2NrKGdyYW50X3J3bG9jaywgJmd0LT5sb2NrKTsKK30KKwor c3RhdGljIGlubGluZSB2b2lkIGdyYW50X3dyaXRlX3VubG9jayhzdHJ1Y3QgZ3JhbnRfdGFibGUg Kmd0KQoreworICAgIHBlcmNwdV93cml0ZV91bmxvY2soZ3JhbnRfcndsb2NrLCAmZ3QtPmxvY2sp OworfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZ250dGFiX2ZsdXNoX3RsYihjb25zdCBzdHJ1Y3Qg ZG9tYWluICpkKQogewpAQCAtMjUwLDYgKzMyMSwxNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYWN0 aXZlX2VudHJ5X3JlbGVhc2Uoc3RydWN0IGFjdGl2ZV9ncmFudF9lbnRyeSAqYWN0KQogICAgIHNw aW5fdW5sb2NrKCZhY3QtPmxvY2spOwogfQogCisjZGVmaW5lIEdSQU5UX1NUQVRVU19QRVJfUEFH RSAoUEFHRV9TSVpFIC8gc2l6ZW9mKGdyYW50X3N0YXR1c190KSkKKyNkZWZpbmUgR1JBTlRfUEVS X1BBR0UgKFBBR0VfU0laRSAvIHNpemVvZihncmFudF9lbnRyeV92Ml90KSkKKy8qIE51bWJlciBv ZiBncmFudCB0YWJsZSBzdGF0dXMgZW50cmllcy4gQ2FsbGVyIG11c3QgaG9sZCBkJ3MgZ3IuIHRh YmxlIGxvY2suKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdyYW50X3RvX3N0YXR1c19m cmFtZXModW5zaWduZWQgaW50IGdyYW50X2ZyYW1lcykKK3sKKyAgICByZXR1cm4gRElWX1JPVU5E X1VQKGdyYW50X2ZyYW1lcyAqIEdSQU5UX1BFUl9QQUdFLCBHUkFOVF9TVEFUVVNfUEVSX1BBR0Up OworfQorCiAvKiBDaGVjayBpZiB0aGUgcGFnZSBoYXMgYmVlbiBwYWdlZCBvdXQsIG9yIG5lZWRz IHVuc2hhcmluZy4KICAgIElmIHJjID09IEdOVFNUX29rYXksICpwYWdlIGNvbnRhaW5zIHRoZSBw YWdlIHN0cnVjdCB3aXRoIGEgcmVmIHRha2VuLgogICAgQ2FsbGVyIG11c3QgZG8gcHV0X3BhZ2Uo KnBhZ2UpLgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmggYi94ZW4v aW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaAppbmRleCBmYzA1OGFiZmVjLi40M2IwN2U2MGM1IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaAorKysgYi94ZW4vaW5jbHVk ZS94ZW4vZ3JhbnRfdGFibGUuaApAQCAtMjksNjYgKzI5LDkgQEAKICNpbmNsdWRlIDxhc20vcGFn ZS5oPgogI2luY2x1ZGUgPGFzbS9ncmFudF90YWJsZS5oPgogCi0jaWZuZGVmIERFRkFVTFRfTUFY X05SX0dSQU5UX0ZSQU1FUyAvKiB0byBhbGxvdyBhcmNoIHRvIG92ZXJyaWRlICovCi0vKiBEZWZh dWx0IG1heGltdW0gc2l6ZSBvZiBhIGdyYW50IHRhYmxlLiBbUE9MSUNZXSAqLwotI2RlZmluZSBE RUZBVUxUX01BWF9OUl9HUkFOVF9GUkFNRVMgICAzMgotI2VuZGlmCiAvKiBUaGUgbWF4aW11bSBz aXplIG9mIGEgZ3JhbnQgdGFibGUuICovCiBleHRlcm4gdW5zaWduZWQgaW50IG1heF9ncmFudF9m cmFtZXM7CiAKLURFQ0xBUkVfUEVSQ1BVX1JXTE9DS19HTE9CQUwoZ3JhbnRfcndsb2NrKTsKLQot LyogUGVyLWRvbWFpbiBncmFudCBpbmZvcm1hdGlvbi4gKi8KLXN0cnVjdCBncmFudF90YWJsZSB7 Ci0gICAgLyoKLSAgICAgKiBMb2NrIHByb3RlY3RpbmcgdXBkYXRlcyB0byBncmFudCB0YWJsZSBz dGF0ZSAodmVyc2lvbiwgYWN0aXZlCi0gICAgICogZW50cnkgbGlzdCwgZXRjLikKLSAgICAgKi8K LSAgICBwZXJjcHVfcndsb2NrX3QgICAgICAgbG9jazsKLSAgICAvKiBUYWJsZSBzaXplLiBOdW1i ZXIgb2YgZnJhbWVzIHNoYXJlZCB3aXRoIGd1ZXN0ICovCi0gICAgdW5zaWduZWQgaW50ICAgICAg ICAgIG5yX2dyYW50X2ZyYW1lczsKLSAgICAvKiBTaGFyZWQgZ3JhbnQgdGFibGUgKHNlZSBpbmNs dWRlL3B1YmxpYy9ncmFudF90YWJsZS5oKS4gKi8KLSAgICB1bmlvbiB7Ci0gICAgICAgIHZvaWQg KipzaGFyZWRfcmF3OwotICAgICAgICBzdHJ1Y3QgZ3JhbnRfZW50cnlfdjEgKipzaGFyZWRfdjE7 Ci0gICAgICAgIHVuaW9uIGdyYW50X2VudHJ5X3YyICoqc2hhcmVkX3YyOwotICAgIH07Ci0gICAg LyogTnVtYmVyIG9mIGdyYW50IHN0YXR1cyBmcmFtZXMgc2hhcmVkIHdpdGggZ3Vlc3QgKGZvciB2 ZXJzaW9uIDIpICovCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgIG5yX3N0YXR1c19mcmFtZXM7 Ci0gICAgLyogU3RhdGUgZ3JhbnQgdGFibGUgKHNlZSBpbmNsdWRlL3B1YmxpYy9ncmFudF90YWJs ZS5oKS4gKi8KLSAgICBncmFudF9zdGF0dXNfdCAgICAgICAqKnN0YXR1czsKLSAgICAvKiBBY3Rp dmUgZ3JhbnQgdGFibGUuICovCi0gICAgc3RydWN0IGFjdGl2ZV9ncmFudF9lbnRyeSAqKmFjdGl2 ZTsKLSAgICAvKiBNYXBwaW5nIHRyYWNraW5nIHRhYmxlIHBlciB2Y3B1LiAqLwotICAgIHN0cnVj dCBncmFudF9tYXBwaW5nICoqbWFwdHJhY2s7Ci0gICAgdW5zaWduZWQgaW50ICAgICAgICAgIG1h cHRyYWNrX2xpbWl0OwotICAgIC8qIExvY2sgcHJvdGVjdGluZyB0aGUgbWFwdHJhY2sgbGltaXQg Ki8KLSAgICBzcGlubG9ja190ICAgICAgICAgICAgbWFwdHJhY2tfbG9jazsKLSAgICAvKiBUaGUg ZGVmaW5lZCB2ZXJzaW9ucyBhcmUgMSBhbmQgMi4gIFNldCB0byAwIGlmIHdlIGRvbid0IGtub3cK LSAgICAgICB3aGF0IHZlcnNpb24gdG8gdXNlIHlldC4gKi8KLSAgICB1bnNpZ25lZCAgICAgICAg ICAgICAgZ3RfdmVyc2lvbjsKLX07Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBncmFudF9yZWFkX2xv Y2soc3RydWN0IGdyYW50X3RhYmxlICpndCkKLXsKLSAgICBwZXJjcHVfcmVhZF9sb2NrKGdyYW50 X3J3bG9jaywgJmd0LT5sb2NrKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGdyYW50X3JlYWRf dW5sb2NrKHN0cnVjdCBncmFudF90YWJsZSAqZ3QpCi17Ci0gICAgcGVyY3B1X3JlYWRfdW5sb2Nr KGdyYW50X3J3bG9jaywgJmd0LT5sb2NrKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGdyYW50 X3dyaXRlX2xvY2soc3RydWN0IGdyYW50X3RhYmxlICpndCkKLXsKLSAgICBwZXJjcHVfd3JpdGVf bG9jayhncmFudF9yd2xvY2ssICZndC0+bG9jayk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBn cmFudF93cml0ZV91bmxvY2soc3RydWN0IGdyYW50X3RhYmxlICpndCkKLXsKLSAgICBwZXJjcHVf d3JpdGVfdW5sb2NrKGdyYW50X3J3bG9jaywgJmd0LT5sb2NrKTsKLX0KLQogLyogQ3JlYXRlL2Rl c3Ryb3kgcGVyLWRvbWFpbiBncmFudCB0YWJsZSBjb250ZXh0LiAqLwogaW50IGdyYW50X3RhYmxl X2NyZWF0ZSgKICAgICBzdHJ1Y3QgZG9tYWluICpkKTsKQEAgLTEwNiwyNyArNDksNiBAQCB2b2lk CiBnbnR0YWJfcmVsZWFzZV9tYXBwaW5ncygKICAgICBzdHJ1Y3QgZG9tYWluICpkKTsKIAotLyog TnVtYmVyIG9mIGdyYW50IHRhYmxlIGZyYW1lcy4gQ2FsbGVyIG11c3QgaG9sZCBkJ3MgZ3JhbnQg dGFibGUgbG9jay4gKi8KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IG5yX2dyYW50X2ZyYW1l cyhzdHJ1Y3QgZ3JhbnRfdGFibGUgKmd0KQotewotICAgIHJldHVybiBndC0+bnJfZ3JhbnRfZnJh bWVzOwotfQotCi0vKiBOdW1iZXIgb2Ygc3RhdHVzIGdyYW50IHRhYmxlIGZyYW1lcy4gQ2FsbGVy IG11c3QgaG9sZCBkJ3MgZ3IuIHRhYmxlIGxvY2suKi8KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQg aW50IG5yX3N0YXR1c19mcmFtZXMoc3RydWN0IGdyYW50X3RhYmxlICpndCkKLXsKLSAgICByZXR1 cm4gZ3QtPm5yX3N0YXR1c19mcmFtZXM7Ci19Ci0KLSNkZWZpbmUgR1JBTlRfU1RBVFVTX1BFUl9Q QUdFIChQQUdFX1NJWkUgLyBzaXplb2YoZ3JhbnRfc3RhdHVzX3QpKQotI2RlZmluZSBHUkFOVF9Q RVJfUEFHRSAoUEFHRV9TSVpFIC8gc2l6ZW9mKGdyYW50X2VudHJ5X3YyX3QpKQotLyogTnVtYmVy IG9mIGdyYW50IHRhYmxlIHN0YXR1cyBlbnRyaWVzLiBDYWxsZXIgbXVzdCBob2xkIGQncyBnci4g dGFibGUgbG9jay4qLwotc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ3JhbnRfdG9fc3RhdHVz X2ZyYW1lcyhpbnQgZ3JhbnRfZnJhbWVzKQotewotICAgIHJldHVybiAoZ3JhbnRfZnJhbWVzICog R1JBTlRfUEVSX1BBR0UgKyBHUkFOVF9TVEFUVVNfUEVSX1BBR0UgLSAxKSAvCi0gICAgICAgIEdS QU5UX1NUQVRVU19QRVJfUEFHRTsKLX0KLQogaW50IG1lbV9zaGFyaW5nX2dyZWZfdG9fZ2ZuKHN0 cnVjdCBncmFudF90YWJsZSAqZ3QsIGdyYW50X3JlZl90IHJlZiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBnZm5fdCAqZ2ZuLCB1aW50MTZfdCAqc3RhdHVzKTsKIAotLSAKMi4xMi4zCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==