From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=softfail (domain: citrix.com, ip: , mailfrom: anthony.perard@citrix.com) Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com []) by groups.io with SMTP; Mon, 29 Jul 2019 08:39:51 -0700 Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=anthony.perard@citrix.com; spf=Pass smtp.mailfrom=anthony.perard@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of anthony.perard@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa2.hc3370-68.iphmx.com: domain of anthony.perard@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: CZfNmKbxo6BMyctqClNie5W3svk+DAK7v6wrLdEPmGFDb+dlXYlLsZswThd9GdIJwEuFfBmDKi Il4lcYcCTTaRJDqTmsock+2Kyq23E2lhlFvy2Jo5JwV3SLjJ3AL3qnp6Z7z9fA/0dIegHdZrC9 79DxyPzlpSKyDYMpLy1XrIeoKMWzi6cPQW9DiRyVxZn0N4W60cfgX1auSlU+t6nxbfCb0S1ysu hXOx4YIbfvUUdsUHwkF7S1S44IDBKtu4fKpR4NRYC2XR/pGJwOETmg3i1GI75ma2dNwOQWk2FK ARY= X-SBRS: 2.7 X-MesageID: 3564626 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,323,1559534400"; d="scan'208";a="3564626" From: "Anthony PERARD" To: CC: Julien Grall , , Jordan Justen , Ard Biesheuvel , Laszlo Ersek , Anthony PERARD Subject: [PATCH v4 05/35] OvmfPkg/OvmfXen: Creating an ELF header Date: Mon, 29 Jul 2019 16:39:14 +0100 Message-ID: <20190729153944.24239-6-anthony.perard@citrix.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190729153944.24239-1-anthony.perard@citrix.com> References: <20190729153944.24239-1-anthony.perard@citrix.com> MIME-Version: 1.0 Return-Path: anthony.perard@citrix.com Content-Transfer-Encoding: base64 Content-Type: text/plain VGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBmbGFzaCBkZXZpY2UgaW1hZ2Ugb2YgT3ZtZlhlbiB0byBt YWtlIGl0IGxvb2sKbGlrZSBpdCdzIGFuIEVMRi4gRm9yIHRoaXMsIHdlIHJlcGxhY2UgdGhlIGVt cHR5IGVtYmVkZGVkIHZhcmlhYmxlIHN0b3JlCmJ5IGEgYmluYXJ5IGFycmF5LCB3aGljaCBpcyBh IEVMRiBmaWxlIGhlYWRlci4KClRoZSBFTEYgaGVhZGVyIGV4cGxhaW4gdG8gYSBsb2FkZXIgdG8g bG9hZCB0aGUgYmluYXJ5IGF0IHRoZSBhZGRyZXNzCjFNQiwgdGhlbiBqdW1wIHRvIHRoZSBQVkgg ZW50cnkgcG9pbnQgd2hpY2ggd2lsbCBiZSBjcmVhdGVkIGluIGEgbGF0ZXIKcGF0Y2guIFRoZSBo ZWFkZXIgYWxzbyBpbmNsdWRlcyBhIFhlbiBFTEYgbm90ZSB0aGF0IGlzIHBhcnQgb2YgdGhlClBW SCBBQkkuCgpUaGF0IHBhdGNoIGluY2x1ZGUgT3ZtZlhlbkVsZkhlYWRlckdlbmVyYXRvci5jIHdo aWNoIGNhbiBiZSB1c2UgdG8KcmVnZW5lcmF0ZSB0aGUgRUxGIGhlYWRlciwgYnV0IHRoaXMgd2ls bCBiZSBhIG1hbnVhbCBzdGVwLgoKUmVmOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcv c2hvd19idWcuY2dpP2lkPTE2ODkKU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhv bnkucGVyYXJkQGNpdHJpeC5jb20+CkFja2VkLWJ5OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRo YXQuY29tPgotLS0KCk5vdGVzOgogICAgdjQ6CiAgICAtIGZpeCB0b3AtbGV2ZWwgY29tbWVudCBz dHlsZQogICAgLSBVcGRhdGUgTWFpbnRhaW5lcnMudHh0CiAgICAKICAgIHYzOgogICAgLSBhZGRl ZCBsaWNlbnNlIHRvIGdlbmVyYXRlX2VsZl9oZWFkZXIuYwogICAgICB3aGljaCBpcyByZW5hbWVk IHRvIE92bWZQa2cvT3ZtZlhlbkVsZkhlYWRlckdlbmVyYXRvci5jCiAgICAtIGFkZGVkIGFuIEVM RiBOT1RFIGludG8gdGhlIGhlYWRlcgoKIE92bWZQa2cvT3ZtZlhlbi5mZGYgICAgICAgICAgICAg ICAgIHwgMTAxICsrKysrKysrKysrKysrKysrKystCiBPdm1mUGtnL092bWZYZW5FbGZIZWFkZXJH ZW5lcmF0b3IuYyB8IDE0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBNYWludGFpbmVy cy50eHQgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDIzOSBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IE92bWZQa2cv T3ZtZlhlbkVsZkhlYWRlckdlbmVyYXRvci5jCgpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9Pdm1mWGVu LmZkZiBiL092bWZQa2cvT3ZtZlhlbi5mZGYKaW5kZXggMmNlZmY3YmFhMi4uNDNjMjY4ZjZjYiAx MDA2NDQKLS0tIGEvT3ZtZlBrZy9Pdm1mWGVuLmZkZgorKysgYi9Pdm1mUGtnL092bWZYZW4uZmRm CkBAIC0xNSw4ICsxNSw4IEBAIFtEZWZpbmVzXQogIWluY2x1ZGUgT3ZtZlBrZy5mZGYuaW5jDQog DQogIw0KLSMgQnVpbGQgdGhlIHZhcmlhYmxlIHN0b3JlIGFuZCB0aGUgZmlybXdhcmUgY29kZSBh cyBvbmUgdW5pZmllZCBmbGFzaCBkZXZpY2UNCi0jIGltYWdlLg0KKyMgVGhpcyB3aWxsIGFsbG93 IHRoZSBmbGFzaCBkZXZpY2UgaW1hZ2UgdG8gYmUgcmVjb2duaXplIGFzIGFuIEVMRiwgd2l0aCBm aXJzdA0KKyMgYW4gRUxGIGhlYWRlcnMsIHRoZW4gdGhlIGZpcm13YXJlIGNvZGUuDQogIw0KIFtG RC5PVk1GXQ0KIEJhc2VBZGRyZXNzICAgPSAkKEZXX0JBU0VfQUREUkVTUykNCkBAIC0yNSw3ICsy NSwxMDIgQEAgW0ZELk9WTUZdCiBCbG9ja1NpemUgICAgID0gJChCTE9DS19TSVpFKQ0KIE51bUJs b2NrcyAgICAgPSAkKEZXX0JMT0NLUykNCiANCi0haW5jbHVkZSBWYXJTdG9yZS5mZGYuaW5jDQor IWlmICgkKEZEX1NJWkVfSU5fS0IpID09IDEwMjQpIHx8ICgkKEZEX1NJWkVfSU5fS0IpID09IDIw NDgpDQorMHgwMDAwMDAwMHwweDAwMDBlMDAwDQorIWVuZGlmDQorIWlmICQoRkRfU0laRV9JTl9L QikgPT0gNDA5Ng0KKzB4MDAwMDAwMDB8MHgwMDA0MDAwMA0KKyFlbmRpZg0KK0RBVEEgPSB7DQor ICAjDQorICAjIFRoaXMgaGV4IGFycmF5IGhhdmUgYmVlbiBnZW5lcmF0ZWQgYnkgT3ZtZlBrZy9P dm1mWGVuRWxmSGVhZGVyR2VuZXJhdG9yLmMNCisgICMgYW5kIGNvcGllZCBtYW51YWxseS4NCisg ICMNCisgICMgRUxGIGZpbGUgaGVhZGVyDQorICAweDdmLCAweDQ1LCAweDRjLCAweDQ2LCAjIGVf aWRlbnRbMC4uM106IE1hZ2ljIG51bWJlcg0KKyAgMHgwMSwgIyBGaWxlIGNsYXNzOiAzMi1iaXQg b2JqZWN0cw0KKyAgMHgwMSwgIyBEYXRhIGVuY29kaW5nOiAyJ3MgY29tcGxlbWVudCwgbGl0dGxl IGVuZGlhbg0KKyAgMHgwMSwgIyBGaWxlIHZlcnNpb24NCisgIDB4MDMsICMgT1MgQUJJIGlkZW50 aWZpY2F0aW9uOiBPYmplY3QgdXNlcyBHTlUgRUxGIGV4dGVuc2lvbnMNCisgIDB4MDAsICMgQUJJ IHZlcnNpb24NCisgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAj IGVfaWRlbnRbRUlfUEFELi4uXQ0KKyAgMHgwMiwgMHgwMCwgIyBlX3R5cGUgPSBFeGVjdXRhYmxl IGZpbGUNCisgIDB4MDMsIDB4MDAsICMgZV9tYWNoaW5lID0gSW50ZWwgODAzODYNCisgIDB4MDEs IDB4MDAsIDB4MDAsIDB4MDAsICMgZV92ZXJzaW9uDQorICAweGQwLCAweGZmLCAweDJmLCAweDAw LCAjIGVfZW50cnk6IEVudHJ5IHBvaW50IHZpcnR1YWwgYWRkcmVzcw0KKyAgMHgzNCwgMHgwMCwg MHgwMCwgMHgwMCwgIyBlX3Bob2ZmOiBQcm9ncmFtIGhlYWRlciB0YWJsZSBmaWxlIG9mZnNldA0K KyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIyBlX3Nob2ZmOiBTZWN0aW9uIGhlYWRlciB0YWJs ZSBmaWxlIG9mZnNldA0KKyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIyBlX2ZsYWdzOiBQcm9j ZXNzb3Itc3BlY2lmaWMgZmxhZ3MNCisgIDB4MzQsIDB4MDAsICMgICAgZV9laHNpemU6IEVMRiBo ZWFkZXIgc2l6ZQ0KKyAgMHgyMCwgMHgwMCwgIyBlX3BoZW50c2l6ZTogUHJvZ3JhbSBoZWFkZXIg dGFibGUgZW50cnkgc2l6ZQ0KKyAgMHgwMiwgMHgwMCwgIyAgICAgZV9waG51bTogUHJvZ3JhbSBo ZWFkZXIgdGFibGUgZW50cnkgY291bnQNCisgIDB4MDAsIDB4MDAsICMgZV9zaGVudHNpemU6IFNl Y3Rpb24gaGVhZGVyIHRhYmxlIGVudHJ5IHNpemUNCisgIDB4MDAsIDB4MDAsICMgICAgIGVfc2hu dW06IFNlY3Rpb24gaGVhZGVyIHRhYmxlIGVudHJ5IGNvdW50DQorICAweDAwLCAweDAwLCAjIGVf c2hzdHJuZHgNCisNCisgICMgRUxGIFByb2dyYW0gc2VnbWVudCBoZWFkZXJzDQorICAjIC0gTG9h ZCBzZWdtZW50DQorICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAjIHBfdHlwZSA9IExvYWRhYmxl IHByb2dyYW0gc2VnbWVudA0KKyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIyBwX29mZnNldA0K KyAgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwgIyBwX3ZhZGRyOiBTZWdtZW50IHZpcnR1YWwgYWRk cmVzcw0KKyAgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwgIyBwX3BhZGRyOiBTZWdtZW50IHBoeXNp Y2FsIGFkZHJlc3MNCisgIDB4MDAsIDB4MDAsIDB4MjAsIDB4MDAsICMgcF9maWxlc3o6IFNlZ21l bnQgc2l6ZSBpbiBmaWxlDQorICAweDAwLCAweDAwLCAweDIwLCAweDAwLCAjIHBfbWVtc3o6IFNl Z21lbnQgc2l6ZSBpbiBtZW1vcnkNCisgIDB4MDcsIDB4MDAsIDB4MDAsIDB4MDAsICMgcF9mbGFn cyA9IFNlZ21lbnQgaXMgZXhlY3V0YWJsZSB8IHdyaXRhYmxlIHwgcmVhZGFibGUNCisgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsICMgcF9hbGlnbg0KKyAgIyAtIEVMRk5PVEUgc2VnbWVudA0KKyAg MHgwNCwgMHgwMCwgMHgwMCwgMHgwMCwgIyBwX3R5cGUgPSBQVF9OT1RFDQorICAweDc0LCAweDAw LCAweDAwLCAweDAwLCAjIHBfb2Zmc2V0ID0gcG9pbnQgdG8gWEVOX0VMRk5PVEVfUEhZUzMyX0VO VFJZIGJlbG93DQorICAweDc0LCAweDAwLCAweDEwLCAweDAwLA0KKyAgMHg3NCwgMHgwMCwgMHgx MCwgMHgwMCwNCisgIDB4MTQsIDB4MDAsIDB4MDAsIDB4MDAsDQorICAweDE0LCAweDAwLCAweDAw LCAweDAwLA0KKyAgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMCwgIyBwX2ZsYWdzID0gU2VnbWVudCBp cyByZWFkYWJsZQ0KKyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwNCisNCisgICMgWEVOX0VMRk5P VEVfUEhZUzMyX0VOVFJZDQorICAweDA0LCAweDAwLCAweDAwLCAweDAwLCAjIG5hbWUgc2l6ZQ0K KyAgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMCwgIyBkZXNjIHNpemUNCisgIDB4MTIsIDB4MDAsIDB4 MDAsIDB4MDAsICMgdHlwZSA9IFhFTl9FTEZOT1RFX1BIWVMzMl9FTlRSWQ0KKyAgMHg1OCwgMHg2 NSwgMHg2ZSwgMHgwMCwgIyBuYW1lID0gIlhlbiINCisgIDB4ZDAsIDB4ZmYsIDB4MmYsIDB4MDAs ICMgZGVzYzogUFZIIGVudHJ5IHBvaW50DQorICAweDAwDQorfQ0KKw0KKyFpZiAoJChGRF9TSVpF X0lOX0tCKSA9PSAxMDI0KSB8fCAoJChGRF9TSVpFX0lOX0tCKSA9PSAyMDQ4KQ0KKzB4MDAwMGUw MDB8MHgwMDAwMTAwMA0KKyFlbmRpZg0KKyFpZiAkKEZEX1NJWkVfSU5fS0IpID09IDQwOTYNCisw eDAwMDQwMDAwfDB4MDAwMDEwMDANCishZW5kaWYNCisjTlZfRVZFTlRfTE9HDQorDQorIWlmICgk KEZEX1NJWkVfSU5fS0IpID09IDEwMjQpIHx8ICgkKEZEX1NJWkVfSU5fS0IpID09IDIwNDgpDQor MHgwMDAwZjAwMHwweDAwMDAxMDAwDQorIWVuZGlmDQorIWlmICQoRkRfU0laRV9JTl9LQikgPT0g NDA5Ng0KKzB4MDAwNDEwMDB8MHgwMDAwMTAwMA0KKyFlbmRpZg0KKyNOVl9GVFdfV09SS0lORw0K K0RBVEEgPSB7DQorICAjIEVGSV9GQVVMVF9UT0xFUkFOVF9XT1JLSU5HX0JMT0NLX0hFQURFUi0+ U2lnbmF0dXJlID0gZ0Vka2lpV29ya2luZ0Jsb2NrU2lnbmF0dXJlR3VpZCAgICAgICAgID0NCisg ICMgIHsgMHg5ZTU4MjkyYiwgMHg3YzY4LCAweDQ5N2QsIHsgMHhhMCwgMHhjZSwgMHg2NSwgIDB4 MCwgMHhmZCwgMHg5ZiwgMHgxYiwgMHg5NSB9fQ0KKyAgMHgyYiwgMHgyOSwgMHg1OCwgMHg5ZSwg MHg2OCwgMHg3YywgMHg3ZCwgMHg0OSwNCisgIDB4YTAsIDB4Y2UsIDB4NjUsICAweDAsIDB4ZmQs IDB4OWYsIDB4MWIsIDB4OTUsDQorICAjIENyYzpVSU5UMzIgICAgICAgICAgICAjV29ya2luZ0Js b2NrVmFsaWQ6MSwgV29ya2luZ0Jsb2NrSW52YWxpZDoxLCBSZXNlcnZlZA0KKyAgMHgyYywgMHhh ZiwgMHgyYywgMHg2NCwgMHhGRSwgMHhGRiwgMHhGRiwgMHhGRiwNCisgICMgV3JpdGVRdWV1ZVNp emU6IFVJTlQ2NA0KKyAgMHhFMCwgMHgwRiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMA0KK30NCisNCishaWYgKCQoRkRfU0laRV9JTl9LQikgPT0gMTAyNCkgfHwgKCQoRkRfU0la RV9JTl9LQikgPT0gMjA0OCkNCisweDAwMDEwMDAwfDB4MDAwMTAwMDANCishZW5kaWYNCishaWYg JChGRF9TSVpFX0lOX0tCKSA9PSA0MDk2DQorMHgwMDA0MjAwMHwweDAwMDQyMDAwDQorIWVuZGlm DQorI05WX0ZUV19TUEFSRQ0KKw0KIA0KICQoVkFSU19TSVpFKXwkKEZWTUFJTl9TSVpFKQ0KIEZW ID0gRlZNQUlOX0NPTVBBQ1QNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZYZW5FbGZIZWFkZXJH ZW5lcmF0b3IuYyBiL092bWZQa2cvT3ZtZlhlbkVsZkhlYWRlckdlbmVyYXRvci5jCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjkwZjA1NzRmYzYKLS0tIC9kZXYvbnVsbAor KysgYi9Pdm1mUGtnL092bWZYZW5FbGZIZWFkZXJHZW5lcmF0b3IuYwpAQCAtMCwwICsxLDE0MCBA QAorLyoqIEBmaWxlDQorICBUaGlzIHByb2dyYW0gZ2VuZXJhdGVzIGEgaGV4IGFycmF5IHRvIGJl IG1hbnVhbGx5IGNvcHBpZWQgaW50bw0KKyAgT3ZtZlhlbi5mZGYuDQorDQorICBUaGUgcHVycG9z ZSBpcyBmb3IgdGhlIGZsYXNoIGRldmljZSBpbWFnZSB0byBiZSByZWNvZ25pemUgYXMgYW4gRUxG Lg0KKw0KKyAgQ29weXJpZ2h0IChjKSAyMDE5LCBDaXRyaXggU3lzdGVtcywgSW5jLg0KKw0KKyAg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCisqKi8NCisNCisj aW5jbHVkZSAiZWxmLmgiDQorI2luY2x1ZGUgInN0ZGlvLmgiDQorI2luY2x1ZGUgInN0ZGRlZi5o Ig0KKw0KK3ZvaWQgcHJpbnRfaGRyKHZvaWQgKnMsIHNpemVfdCBzaXplKQ0KK3sNCisgIGNoYXIg KmMgPSBzOw0KKw0KKyAgd2hpbGUgKHNpemUtLSkgew0KKyAgICBwcmludGYoIjB4JTAyaGh4LCAi LCAqKGMrKykpOw0KKyAgfQ0KK30NCisNCisvKiBGb3JtYXQgZm9yIHRoZSBYRU5fRUxGTk9URV9Q SFlTMzJfRU5UUlkgcHJvZ3JhbSBzZWdtZW50ICovDQorI2RlZmluZSBYRU5fRUxGTk9URV9QSFlT MzJfRU5UUlkgMTgNCit0eXBlZGVmIHN0cnVjdCB7DQorICB1aW50MzJfdCBuYW1lX3NpemU7DQor ICB1aW50MzJfdCBkZXNjX3NpemU7DQorICB1aW50MzJfdCB0eXBlOw0KKyAgY2hhciBuYW1lWzRd Ow0KKyAgdWludDMyX3QgZGVzYzsNCit9IHhlbl9lbGZub3RlX3BoeXMzMl9lbnRyeTsNCisNCitp bnQgbWFpbih2b2lkKQ0KK3sNCisgIC8qIEZXX1NJWkUgKi8NCisgIHNpemVfdCBvdm1mX2Jsb2Jf c2l6ZSA9IDB4MDAyMDAwMDA7DQorICAvKiBMb2FkIE9WTUYgYXQgMU1CIHdoZW4gcnVubmluZyBh cyBQVkggZ3Vlc3QgKi8NCisgIHVpbnQzMl90IG92bWZfYmFzZV9hZGRyZXNzID0gMHgwMDEwMDAw MDsNCisgIC8qIFhlbiBQVkggZW50cnkgcG9pbnQgKi8NCisgIHVpbnQzMl90IG92bWZ4ZW5fcHZo X2VudHJ5X3BvaW50ID0gb3ZtZl9iYXNlX2FkZHJlc3MgKyBvdm1mX2Jsb2Jfc2l6ZSAtIDB4MzA7 DQorICBzaXplX3Qgb2Zmc2V0X2ludG9fZmlsZSA9IDA7DQorDQorICAvKiBFTEYgZmlsZSBoZWFk ZXIgKi8NCisgIEVsZjMyX0VoZHIgaGRyID0gew0KKyAgICAuZV9pZGVudCA9IEVMRk1BRywNCisg ICAgLmVfdHlwZSA9IEVUX0VYRUMsDQorICAgIC5lX21hY2hpbmUgPSBFTV8zODYsDQorICAgIC5l X3ZlcnNpb24gPSBFVl9DVVJSRU5ULA0KKyAgICAuZV9lbnRyeSA9IG92bWZ4ZW5fcHZoX2VudHJ5 X3BvaW50LA0KKyAgICAuZV9mbGFncyA9IFJfMzg2X05PTkUsDQorICAgIC5lX2Voc2l6ZSA9IHNp emVvZiAoaGRyKSwNCisgICAgLmVfcGhlbnRzaXplID0gc2l6ZW9mIChFbGYzMl9QaGRyKSwNCisg IH07DQorICBvZmZzZXRfaW50b19maWxlICs9IHNpemVvZiAoaGRyKTsNCisNCisgIGhkci5lX2lk ZW50W0VJX0NMQVNTXSA9IEVMRkNMQVNTMzI7DQorICBoZHIuZV9pZGVudFtFSV9EQVRBXSA9IEVM RkRBVEEyTFNCOw0KKyAgaGRyLmVfaWRlbnRbRUlfVkVSU0lPTl0gPSBFVl9DVVJSRU5UOw0KKyAg aGRyLmVfaWRlbnRbRUlfT1NBQkldID0gRUxGT1NBQklfTElOVVg7DQorICAvKiBQbGFjaW5nIHBy b2dyYW0gaGVhZGVycyBqdXN0IGFmdGVyIGhkciAqLw0KKyAgaGRyLmVfcGhvZmYgPSBzaXplb2Yg KGhkcik7DQorDQorICAvKiBwcm9ncmFtIGhlYWRlciAqLw0KKyAgRWxmMzJfUGhkciBwaGRyX2xv YWQgPSB7DQorICAgIC5wX3R5cGUgPSBQVF9MT0FELA0KKyAgICAucF9vZmZzZXQgPSAwLCAvKiBs b2FkIGV2ZXJ5dGhpbmcgKi8NCisgICAgLnBfcGFkZHIgPSBvdm1mX2Jhc2VfYWRkcmVzcywNCisg ICAgLnBfZmlsZXN6ID0gb3ZtZl9ibG9iX3NpemUsDQorICAgIC5wX21lbXN6ID0gb3ZtZl9ibG9i X3NpemUsDQorICAgIC5wX2ZsYWdzID0gUEZfWCB8IFBGX1cgfCBQRl9SLA0KKyAgICAucF9hbGln biA9IDAsDQorICB9Ow0KKyAgcGhkcl9sb2FkLnBfdmFkZHIgPSBwaGRyX2xvYWQucF9wYWRkcjsN CisgIGhkci5lX3BobnVtICs9IDE7DQorICBvZmZzZXRfaW50b19maWxlICs9IHNpemVvZiAocGhk cl9sb2FkKTsNCisNCisgIC8qIFhlbiBFTEYgTm90ZS4gKi8NCisNCisgIHhlbl9lbGZub3RlX3Bo eXMzMl9lbnRyeSB4ZW5fZWxmX25vdGUgPSB7DQorICAgIC50eXBlID0gWEVOX0VMRk5PVEVfUEhZ UzMyX0VOVFJZLA0KKyAgICAubmFtZSA9ICJYZW4iLA0KKyAgICAuZGVzYyA9IG92bWZ4ZW5fcHZo X2VudHJ5X3BvaW50LA0KKyAgICAubmFtZV9zaXplID0NCisgICAgICBvZmZzZXRvZiAoeGVuX2Vs Zm5vdGVfcGh5czMyX2VudHJ5LCBkZXNjKSAtDQorICAgICAgb2Zmc2V0b2YgKHhlbl9lbGZub3Rl X3BoeXMzMl9lbnRyeSwgbmFtZSksDQorICAgIC5kZXNjX3NpemUgPQ0KKyAgICAgIHNpemVvZiAo eGVuX2VsZm5vdGVfcGh5czMyX2VudHJ5KSAtDQorICAgICAgb2Zmc2V0b2YgKHhlbl9lbGZub3Rl X3BoeXMzMl9lbnRyeSwgZGVzYyksDQorICB9Ow0KKyAgRWxmMzJfUGhkciBwaGRyX25vdGUgPSB7 DQorICAgIC5wX3R5cGUgPSBQVF9OT1RFLA0KKyAgICAucF9maWxlc3ogPSBzaXplb2YgKHhlbl9l bGZfbm90ZSksDQorICAgIC5wX21lbXN6ID0gc2l6ZW9mICh4ZW5fZWxmX25vdGUpLA0KKyAgICAu cF9mbGFncyA9IFBGX1IsDQorICAgIC5wX2FsaWduID0gMCwNCisgIH07DQorICBoZHIuZV9waG51 bSArPSAxOw0KKyAgb2Zmc2V0X2ludG9fZmlsZSArPSBzaXplb2YgKHBoZHJfbm90ZSk7DQorICBw aGRyX25vdGUucF9vZmZzZXQgPSBvZmZzZXRfaW50b19maWxlOw0KKyAgcGhkcl9ub3RlLnBfcGFk ZHIgPSBvdm1mX2Jhc2VfYWRkcmVzcyArIHBoZHJfbm90ZS5wX29mZnNldDsNCisgIHBoZHJfbm90 ZS5wX3ZhZGRyID0gcGhkcl9ub3RlLnBfcGFkZHI7DQorDQorDQorICAvKg0KKyAgICogcHJpbnQg ZWxmIGhlYWRlcg0KKyAgICovDQorDQorICBzaXplX3QgaTsNCisgIHNpemVfdCBoZHJfc2l6ZSA9 IHNpemVvZiAoaGRyKTsNCisgIHNpemVfdCBlbnRyeV9vZmYgPSBvZmZzZXRvZih0eXBlb2YoaGRy KSwgZV9lbnRyeSk7DQorDQorICBwcmludGYoIiMgRUxGIGZpbGUgaGVhZGVyXG4iKTsNCisgIHBy aW50X2hkcigmaGRyLCBlbnRyeV9vZmYpOw0KKyAgcHJpbnRmKCJcbiIpOw0KKyAgcHJpbnRfaGRy KCZoZHIuZV9lbnRyeSwgc2l6ZW9mIChoZHIuZV9lbnRyeSkpOw0KKyAgcHJpbnRmKCIgIyBoZHIu ZV9lbnRyeVxuIik7DQorICBwcmludF9oZHIoJmhkci5lX2VudHJ5ICsgMSwgaGRyX3NpemUgLSBl bnRyeV9vZmYgLSBzaXplb2YgKGhkci5lX2VudHJ5KSk7DQorDQorICBwcmludGYoIlxuXG4jIEVM RiBQcm9ncmFtIHNlZ21lbnQgaGVhZGVyc1xuIik7DQorICBwcmludGYoIiMgLSBMb2FkIHNlZ21l bnRcbiIpOw0KKyAgZm9yIChpID0gMDsgaSA8IHNpemVvZiAocGhkcl9sb2FkKTsgaSArPSA0KSB7 DQorICAgIHByaW50X2hkcigoKGNoYXIqKSZwaGRyX2xvYWQpICsgaSwgNCk7DQorICAgIHByaW50 ZigiXG4iKTsNCisgIH0NCisgIHByaW50ZigiIyAtIEVMRk5PVEUgc2VnbWVudFxuIik7DQorICBm b3IgKGkgPSAwOyBpIDwgc2l6ZW9mIChwaGRyX25vdGUpOyBpICs9IDQpIHsNCisgICAgcHJpbnRf aGRyKCgoY2hhciopJnBoZHJfbm90ZSkgKyBpLCA0KTsNCisgICAgcHJpbnRmKCJcbiIpOw0KKyAg fQ0KKw0KKyAgcHJpbnRmKCJcbiMgWEVOX0VMRk5PVEVfUEhZUzMyX0VOVFJZXG4iKTsNCisgIGZv ciAoaSA9IDA7IGkgPCBzaXplb2YgKHhlbl9lbGZfbm90ZSk7IGkgKz0gNCkgew0KKyAgICBwcmlu dF9oZHIoKChjaGFyKikmeGVuX2VsZl9ub3RlKSArIGksIDQpOw0KKyAgICBwcmludGYoIlxuIik7 DQorICB9DQorDQorICByZXR1cm4gMDsNCit9DQpkaWZmIC0tZ2l0IGEvTWFpbnRhaW5lcnMudHh0 IGIvTWFpbnRhaW5lcnMudHh0CmluZGV4IDQyZWM4ZDU0YWYuLjAxNjUyM2I0MDEgMTAwNjQ0Ci0t LSBhL01haW50YWluZXJzLnR4dAorKysgYi9NYWludGFpbmVycy50eHQKQEAgLTM3Myw2ICszNzMs NyBAQCBGOiBPdm1mUGtnL0xpYnJhcnkvWGVuQ29uc29sZVNlcmlhbFBvcnRMaWIvCiBGOiBPdm1m UGtnL0xpYnJhcnkvWGVuSHlwZXJjYWxsTGliLw0KIEY6IE92bWZQa2cvTGlicmFyeS9YZW5Jb01t aW9MaWIvDQogRjogT3ZtZlBrZy9Pdm1mWGVuLioNCitGOiBPdm1mUGtnL092bWZYZW5FbGZIZWFk ZXJHZW5lcmF0b3IuYw0KIEY6IE92bWZQa2cvUGxhdGZvcm1QZWkvTWVtRGV0ZWN0LmMNCiBGOiBP dm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLioNCiBGOiBPdm1mUGtnL1BsYXRmb3JtUGVpL1hl bi4qDQotLSAKQW50aG9ueSBQRVJBUkQKCg==