From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v4 4/6] tools: load IPXE from standalone file Date: Mon, 16 Jul 2018 15:02:53 +0100 Message-ID: <20180716140255.13648-5-wei.liu2@citrix.com> References: <20180716140255.13648-1-wei.liu2@citrix.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 1ff45e-0001wA-Jd for xen-devel@lists.xenproject.org; Mon, 16 Jul 2018 14:03:02 +0000 In-Reply-To: <20180716140255.13648-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: anthony.perard@citrix.com, Andrew Cooper , Wei Liu List-Id: xen-devel@lists.xenproject.org RG8gbm90IGVtYmVkIElQWEUgaW50byBSb21iaW9zIGFueW1vcmUuIEluc3RlYWQsIGl0IGlzIGxv YWRlZCBieSB0aGUKdG9vbHN0YWNrIGZyb20gYSBmaWxlIGFzIGEgc2VwYXJhdGUgbW9kdWxlLgoK QWJpbGl0eSB0byBsZXQgdXNlciBzcGVjaWZ5IGFuIElQWEUgYmxvYiB3aWxsIGNvbWUgbGF0ZXIu CgpObyB1c2VyIHZpc2libGUgY2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxp dTJAY2l0cml4LmNvbT4KQWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K LS0tCnYzOiBhZGp1c3QgbGlieGwgY29kZSBhIGJpdCwgYWRkcmVzc2VkIEphbidzIGNvbW1lbnQg YW5kIGFkZGVkIGhpcwphY2suCgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0 cml4LmNvbT4KQ2M6IGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20KLS0tCiB0b29scy9maXJtd2Fy ZS9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgNiArKysrKysKIHRvb2xzL2Zpcm13YXJlL2h2bWxv YWRlci9NYWtlZmlsZSAgICB8ICA5ICstLS0tLS0tLQogdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVy L2NvbmZpZy5oICAgIHwgIDMgKystCiB0b29scy9maXJtd2FyZS9odm1sb2FkZXIvaHZtbG9hZGVy LmMgfCAxMCArKysrKysrKy0tCiB0b29scy9maXJtd2FyZS9odm1sb2FkZXIvb3ZtZi5jICAgICAg fCAgMyArKy0KIHRvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9yb21iaW9zLmMgICB8IDI0ICsrKysr KysrKysrKysrKysrLS0tLS0tLQogdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3NlYWJpb3MuYyAg IHwgIDMgKystCiB0b29scy9saWJ4bC9saWJ4bF9kb20uYyAgICAgICAgICAgICAgfCAxMyArKysr KysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgICAgICAgfCAgMSArCiB0 b29scy9saWJ4bC9saWJ4bF9wYXRocy5jICAgICAgICAgICAgfCAgNSArKysrKwogMTAgZmlsZXMg Y2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv dG9vbHMvZmlybXdhcmUvTWFrZWZpbGUgYi90b29scy9maXJtd2FyZS9NYWtlZmlsZQppbmRleCA4 NDJiNDhjM2QzLi5iYzg0MzAwYjY5IDEwMDY0NAotLS0gYS90b29scy9maXJtd2FyZS9NYWtlZmls ZQorKysgYi90b29scy9maXJtd2FyZS9NYWtlZmlsZQpAQCAtNTUsNiArNTUsOSBAQCBlbmRpZgog aWZlcSAoJChDT05GSUdfT1ZNRikseSkKIAkkKElOU1RBTExfREFUQSkgb3ZtZi1kaXIvb3ZtZi5i aW4gJChJTlNUX0RJUikvb3ZtZi5iaW4KIGVuZGlmCitpZmVxICgkKENPTkZJR19JUFhFKSx5KQor CSQoSU5TVEFMTF9EQVRBKSBldGhlcmJvb3QvaXB4ZS9zcmMvYmluL2lweGUuYmluICQoSU5TVF9E SVIpL2lweGUuYmluCitlbmRpZgogaWZlcSAoJChDT05GSUdfUFZfU0hJTSkseSkKIAkkKElOU1RB TExfREFUQSkgeGVuLWRpci94ZW4tc2hpbSAkKElOU1RfRElSKS94ZW4tc2hpbQogCSQoSU5TVEFM TF9EQVRBKSB4ZW4tZGlyL3hlbi1zaGltLXN5bXMgJChERUJHX0RJUikveGVuLXNoaW0tc3ltcwpA QCAtNjksNiArNzIsOSBAQCBlbmRpZgogaWZlcSAoJChDT05GSUdfT1ZNRikseSkKIAlybSAtZiAk KElOU1RfRElSKS9vdm1mLmJpbgogZW5kaWYKK2lmZXEgKCQoQ09ORklHX0lQWEUpLHkpCisJcm0g LXIgJChJTlNUX0RJUikvaXB4ZS5iaW4KK2VuZGlmCiBpZmVxICgkKENPTkZJR19QVl9TSElNKSx5 KQogCXJtIC1mICQoSU5TVF9ESVIpL3hlbi1zaGltCiAJcm0gLWYgJChERUJHX0RJUikveGVuLXNo aW0tc3ltcwpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL01ha2VmaWxlIGIv dG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL01ha2VmaWxlCmluZGV4IDE2MjU1ZWJkZGQuLjQ5NmFj NzJiNzcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9NYWtlZmlsZQorKysg Yi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvTWFrZWZpbGUKQEAgLTUxLDcgKzUxLDYgQEAgQ0lS UlVTVkdBX1JPTSA6PSAuLi92Z2FiaW9zL1ZHQUJJT1MtbGdwbC1sYXRlc3QuY2lycnVzLmRlYnVn LmJpbgogZWxzZQogQ0lSUlVTVkdBX1JPTSA6PSAuLi92Z2FiaW9zL1ZHQUJJT1MtbGdwbC1sYXRl c3QuY2lycnVzLmJpbgogZW5kaWYKLUVUSEVSQk9PVF9ST00gOj0gLi4vZXRoZXJib290L2lweGUv c3JjL2Jpbi9pcHhlLmJpbgogZW5kaWYKIAogUk9NUyA6PSAKQEAgLTYwLDcgKzU5LDcgQEAgaWZl cSAoJChDT05GSUdfUk9NQklPUykseSkKIE9CSlMgKz0gb3B0aW9ucm9tcy5vIDMyYml0Ymlvc19z dXBwb3J0Lm8gcm9tYmlvcy5vCiBDRkxBR1MgKz0gLURFTkFCTEVfUk9NQklPUwogUk9NQklPU19S T00gOj0gJChST01CSU9TX0RJUikvQklPUy1ib2Nocy1sYXRlc3QKLVJPTVMgKz0gJChST01CSU9T X1JPTSkgJChTVERWR0FfUk9NKSAkKENJUlJVU1ZHQV9ST00pICQoRVRIRVJCT09UX1JPTSkKK1JP TVMgKz0gJChST01CSU9TX1JPTSkgJChTVERWR0FfUk9NKSAkKENJUlJVU1ZHQV9ST00pCiBlbmRp ZgogCiAuUEhPTlk6IGFsbApAQCAtMTA1LDEyICsxMDQsNiBAQCBpZm5lcSAoJChDSVJSVVNWR0Ff Uk9NKSwpCiAJc2ggLi4vLi4vbWlzYy9ta2hleCB2Z2FiaW9zX2NpcnJ1c3ZnYSAkKENJUlJVU1ZH QV9ST00pID4+ICRALm5ldwogCWVjaG8gIiNlbmRpZiIgPj4gJEAubmV3CiBlbmRpZgotaWZuZXEg KCQoRVRIRVJCT09UX1JPTSksKQotCWVjaG8gIiNpZmRlZiBST01fSU5DTFVERV9FVEhFUkJPT1Qi ID4+ICRALm5ldwotCXNoIC4uLy4uL21pc2MvbWtoZXggZXRoZXJib290ICQoRVRIRVJCT09UX1JP TSkgPj4gJEAubmV3Ci0JZWNobyAiI2VuZGlmIiA+PiAkQC5uZXcKLWVuZGlmCi0KIAltdiAkQC5u ZXcgJEAKIAogLlBIT05ZOiBjbGVhbgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9h ZGVyL2NvbmZpZy5oIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL2NvbmZpZy5oCmluZGV4IDZl MDA0MTNmMmUuLmQ5YjQ3MTNkNjMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRl ci9jb25maWcuaAorKysgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvY29uZmlnLmgKQEAgLTIy LDcgKzIyLDggQEAgc3RydWN0IGJpb3NfY29uZmlnIHsKICAgICAvKiBST01TICovCiAgICAgdm9p ZCAoKmxvYWRfcm9tcykodm9pZCk7CiAKLSAgICB2b2lkICgqYmlvc19sb2FkKShjb25zdCBzdHJ1 Y3QgYmlvc19jb25maWcgKmNvbmZpZywgdm9pZCAqYWRkciwgdWludDMyX3Qgc2l6ZSk7CisgICAg dm9pZCAoKmJpb3NfbG9hZCkoY29uc3Qgc3RydWN0IGJpb3NfY29uZmlnICpjb25maWcsIHZvaWQg KmFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSwgdm9pZCAqZXh0cmFf YWRkcik7CiAKICAgICB2b2lkICgqYmlvc19pbmZvX3NldHVwKSh2b2lkKTsKICAgICB2b2lkICgq Ymlvc19pbmZvX2ZpbmlzaCkodm9pZCk7CmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1s b2FkZXIvaHZtbG9hZGVyLmMgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvaHZtbG9hZGVyLmMK aW5kZXggZjYwM2Y2OGRlZC4uNTk4YTIyNjI3OCAxMDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUv aHZtbG9hZGVyL2h2bWxvYWRlci5jCisrKyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9odm1s b2FkZXIuYwpAQCAtMzYzLDEyICszNjMsMTggQEAgaW50IG1haW4odm9pZCkKICAgICB7CiAgICAg ICAgIHVpbnQzMl90IHBhZGRyID0gYmlvc19tb2R1bGUtPnBhZGRyOwogCi0gICAgICAgIGJpb3Mt PmJpb3NfbG9hZChiaW9zLCAodm9pZCopcGFkZHIsIGJpb3NfbW9kdWxlLT5zaXplKTsKKyAgICAg ICAgYmlvcy0+Ymlvc19sb2FkKGJpb3MsICh2b2lkICopcGFkZHIsIGJpb3NfbW9kdWxlLT5zaXpl LCBOVUxMKTsKICAgICB9CiAjaWZkZWYgRU5BQkxFX1JPTUJJT1MKICAgICBlbHNlIGlmICggYmlv cyA9PSAmcm9tYmlvc19jb25maWcgKQogICAgIHsKLSAgICAgICAgYmlvcy0+Ymlvc19sb2FkKGJp b3MsIE5VTEwsIDApOworICAgICAgICBjb25zdCBzdHJ1Y3QgaHZtX21vZGxpc3RfZW50cnkgKmlw eGU7CisgICAgICAgIHVpbnQzMl90IHBhZGRyID0gMDsKKworICAgICAgICBpcHhlID0gZ2V0X21v ZHVsZV9lbnRyeShodm1fc3RhcnRfaW5mbywgImlweGUiKTsKKyAgICAgICAgaWYgKCBpcHhlICkK KyAgICAgICAgICAgIHBhZGRyID0gaXB4ZS0+cGFkZHI7CisgICAgICAgIGJpb3MtPmJpb3NfbG9h ZChiaW9zLCBOVUxMLCAwLCAodm9pZCAqKXBhZGRyKTsKICAgICB9CiAjZW5kaWYKICAgICBlbHNl CmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvb3ZtZi5jIGIvdG9vbHMvZmly bXdhcmUvaHZtbG9hZGVyL292bWYuYwppbmRleCBhMTdhMTFjMmY5Li4yMzYxMGEwNzE3IDEwMDY0 NAotLS0gYS90b29scy9maXJtd2FyZS9odm1sb2FkZXIvb3ZtZi5jCisrKyBiL3Rvb2xzL2Zpcm13 YXJlL2h2bWxvYWRlci9vdm1mLmMKQEAgLTg1LDcgKzg1LDggQEAgc3RhdGljIHZvaWQgb3ZtZl9m aW5pc2hfYmlvc19pbmZvKHZvaWQpCiB9CiAKIHN0YXRpYyB2b2lkIG92bWZfbG9hZChjb25zdCBz dHJ1Y3QgYmlvc19jb25maWcgKmNvbmZpZywKLSAgICAgICAgICAgICAgICAgICAgICB2b2lkICpi aW9zX2FkZHIsIHVpbnQzMl90IGJpb3NfbGVuZ3RoKQorICAgICAgICAgICAgICAgICAgICAgIHZv aWQgKmJpb3NfYWRkciwgdWludDMyX3QgYmlvc19sZW5ndGgsCisgICAgICAgICAgICAgICAgICAg ICAgdm9pZCAqdW51c2VkX2FkZHIpCiB7CiAgICAgeGVuX3Bmbl90IG1mbjsKICAgICB1aW50NjRf dCBhZGRyID0gT1ZNRl9FTkQKZGlmZiAtLWdpdCBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9y b21iaW9zLmMgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvcm9tYmlvcy5jCmluZGV4IGM3MzZm ZDlkZWEuLjQ2ZjMzMWU0NjUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9y b21iaW9zLmMKKysrIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3JvbWJpb3MuYwpAQCAtNjMs NiArNjMsOCBAQCBzdGF0aWMgdm9pZCByb21iaW9zX3NldHVwX2Jpb3NfaW5mbyh2b2lkKQogICAg IG1lbXNldChpbmZvLCAwLCBzaXplb2YoKmluZm8pKTsKIH0KIAorc3RhdGljIHZvaWQgKmlweGVf bW9kdWxlX2FkZHI7CisKIHN0YXRpYyB2b2lkIHJvbWJpb3NfbG9hZF9yb21zKHZvaWQpCiB7CiAg ICAgaW50IG9wdGlvbl9yb21fc3ogPSAwLCB2Z2FiaW9zX3N6ID0gMCwgZXRoZXJib290X3N6ID0g MDsKQEAgLTk1LDEzICs5NywxNyBAQCBzdGF0aWMgdm9pZCByb21iaW9zX2xvYWRfcm9tcyh2b2lk KQogICAgIGV0aGVyYm9vdF9waHlzX2FkZHIgPSBWR0FCSU9TX1BIWVNJQ0FMX0FERFJFU1MgKyB2 Z2FiaW9zX3N6OwogICAgIGlmICggZXRoZXJib290X3BoeXNfYWRkciA8IE9QVElPTlJPTV9QSFlT SUNBTF9BRERSRVNTICkKICAgICAgICAgZXRoZXJib290X3BoeXNfYWRkciA9IE9QVElPTlJPTV9Q SFlTSUNBTF9BRERSRVNTOwotICAgIGV0aGVyYm9vdF9zeiA9IHNjYW5fZXRoZXJib290X25pYyhP UFRJT05ST01fUEhZU0lDQUxfRU5ELAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBldGhlcmJvb3RfcGh5c19hZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBldGhlcmJvb3QpOwogCi0gICAgb3B0aW9uX3JvbV9waHlzX2FkZHIgPSBldGhlcmJv b3RfcGh5c19hZGRyICsgZXRoZXJib290X3N6OwotICAgIG9wdGlvbl9yb21fc3ogPSBwY2lfbG9h ZF9vcHRpb25fcm9tcyhPUFRJT05ST01fUEhZU0lDQUxfRU5ELAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25fcm9tX3BoeXNfYWRkcik7CisgICAgaWYgKCBp cHhlX21vZHVsZV9hZGRyICkKKyAgICB7CisgICAgICAgIGV0aGVyYm9vdF9zeiA9IHNjYW5fZXRo ZXJib290X25pYyhPUFRJT05ST01fUEhZU0lDQUxfRU5ELAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZXRoZXJib290X3BoeXNfYWRkciwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlweGVfbW9kdWxlX2FkZHIpOworCisgICAgICAg IG9wdGlvbl9yb21fcGh5c19hZGRyID0gZXRoZXJib290X3BoeXNfYWRkciArIGV0aGVyYm9vdF9z ejsKKyAgICAgICAgb3B0aW9uX3JvbV9zeiA9IHBjaV9sb2FkX29wdGlvbl9yb21zKE9QVElPTlJP TV9QSFlTSUNBTF9FTkQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvcHRpb25fcm9tX3BoeXNfYWRkcik7CisgICAgfQogCiAgICAgcHJpbnRmKCJPcHRpb24g Uk9NczpcbiIpOwogICAgIGlmICggdmdhYmlvc19zeiApCkBAIC0xMTksNyArMTI1LDggQEAgc3Rh dGljIHZvaWQgcm9tYmlvc19sb2FkX3JvbXModm9pZCkKIH0KIAogc3RhdGljIHZvaWQgcm9tYmlv c19sb2FkKGNvbnN0IHN0cnVjdCBiaW9zX2NvbmZpZyAqY29uZmlnLAotICAgICAgICAgICAgICAg ICAgICAgICAgIHZvaWQgKnVudXNlZF9hZGRyLCB1aW50MzJfdCB1bnVzZWRfc2l6ZSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICB2b2lkICp1bnVzZWRfYWRkciwgdWludDMyX3QgdW51c2VkX3Np emUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqaXB4ZV9hZGRyKQogewogICAgIHVp bnQzMl90IGJpb3NoaWdoOwogICAgIHN0cnVjdCByb21iaW9zX2luZm8gKmluZm87CkBAIC0xMzMs NiArMTQwLDkgQEAgc3RhdGljIHZvaWQgcm9tYmlvc19sb2FkKGNvbnN0IHN0cnVjdCBiaW9zX2Nv bmZpZyAqY29uZmlnLAogCiAgICAgaW5mbyA9IChzdHJ1Y3Qgcm9tYmlvc19pbmZvICopQklPU19J TkZPX1BIWVNJQ0FMX0FERFJFU1M7CiAgICAgaW5mby0+YmlvczMyX2VudHJ5ID0gYmlvc2hpZ2g7 CisKKyAgICAvKiBTdGFzaCBpcHhlIGFkZHJlc3MgKi8KKyAgICBpcHhlX21vZHVsZV9hZGRyID0g aXB4ZV9hZGRyOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVy L3NlYWJpb3MuYyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci9zZWFiaW9zLmMKaW5kZXggODAx NTE2ZGFmNy4uNDQ0ZDExOGRkYiAxMDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVy L3NlYWJpb3MuYworKysgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvc2VhYmlvcy5jCkBAIC0x MzEsNyArMTMxLDggQEAgc3RhdGljIHZvaWQgc2VhYmlvc19zZXR1cF9lODIwKHZvaWQpCiB9CiAK IHN0YXRpYyB2b2lkIHNlYWJpb3NfbG9hZChjb25zdCBzdHJ1Y3QgYmlvc19jb25maWcgKmJpb3Ms Ci0gICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqYmlvc19hZGRyLCB1aW50MzJfdCBiaW9z X2xlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpiaW9zX2FkZHIsIHVpbnQz Ml90IGJpb3NfbGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVudXNlZF9h ZGRyKQogewogICAgIHVuc2lnbmVkIGludCBiaW9zX2Rlc3QgPSAweDEwMDAwMCAtIGJpb3NfbGVu Z3RoOwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xzL2xpYnhs L2xpYnhsX2RvbS5jCmluZGV4IGYwZmQ1ZmQzYTMuLjNjZmUwZDQ4MDggMTAwNjQ0Ci0tLSBhL3Rv b2xzL2xpYnhsL2xpYnhsX2RvbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCkBAIC0x MTI4LDYgKzExMjgsMTkgQEAgc3RhdGljIGludCBsaWJ4bF9fZG9tYWluX2Zpcm13YXJlKGxpYnhs X19nYyAqZ2MsCiAgICAgICAgIGlmIChyYykgZ290byBvdXQ7CiAgICAgfQogCisgICAgaWYgKGlu Zm8tPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfSFZNICYmCisgICAgICAgIGluZm8tPnUuaHZt LmJpb3MgPT0gTElCWExfQklPU19UWVBFX1JPTUJJT1MgJiYKKyAgICAgICAgbGlieGxfX2lweGVf cGF0aCgpKSB7CisgICAgICAgIGNvbnN0IGNoYXIgKmZwID0gbGlieGxfX2lweGVfcGF0aCgpOwor ICAgICAgICByYyA9IHhjX2RvbV9tb2R1bGVfZmlsZShkb20sIGZwLCAiaXB4ZSIpOworCisgICAg ICAgIGlmIChyYykgeworICAgICAgICAgICAgTE9HRShFUlJPUiwgImZhaWxlZCB0byBsb2FkIElQ WEUgJXMgKCVkKSIsIGZwLCByYyk7CisgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAg ICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChpbmZvLT50eXBl ID09IExJQlhMX0RPTUFJTl9UWVBFX0hWTSAmJgogICAgICAgICBpbmZvLT51Lmh2bS5zbWJpb3Nf ZmlybXdhcmUpIHsKICAgICAgICAgZGF0YSA9IE5VTEw7CmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCA1 MmUxZThlMDM2Li44NDNjNjI1MTQyIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTIzNjIsNiArMjM2 Miw3IEBAIF9oaWRkZW4gY29uc3QgY2hhciAqbGlieGxfX2xvY2tfZGlyX3BhdGgodm9pZCk7CiBf aGlkZGVuIGNvbnN0IGNoYXIgKmxpYnhsX19ydW5fZGlyX3BhdGgodm9pZCk7CiBfaGlkZGVuIGNv bnN0IGNoYXIgKmxpYnhsX19zZWFiaW9zX3BhdGgodm9pZCk7CiBfaGlkZGVuIGNvbnN0IGNoYXIg KmxpYnhsX19vdm1mX3BhdGgodm9pZCk7CitfaGlkZGVuIGNvbnN0IGNoYXIgKmxpYnhsX19pcHhl X3BhdGgodm9pZCk7CiAKIC8qLS0tLS0gc3VicHJvY2VzcyBleGVjdXRpb24gd2l0aCB0aW1lb3V0 IC0tLS0tKi8KIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcGF0aHMuYyBiL3Rvb2xz L2xpYnhsL2xpYnhsX3BhdGhzLmMKaW5kZXggMDY0M2MxYjNhNC4uODQ5OGY4Mjc4MSAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfcGF0aHMuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9w YXRocy5jCkBAIC01Myw2ICs1MywxMSBAQCBjb25zdCBjaGFyICpsaWJ4bF9fb3ZtZl9wYXRoKHZv aWQpCiAjZW5kaWYKIH0KIAorY29uc3QgY2hhciAqbGlieGxfX2lweGVfcGF0aCh2b2lkKQorewor ICAgIHJldHVybiBYRU5GSVJNV0FSRURJUiAiL2lweGUuYmluIjsKK30KKwogLyoKICAqIExvY2Fs IHZhcmlhYmxlczoKICAqIG1vZGU6IEMKLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=