Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mJhVh-0003mR-1s for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Aug 2021 19:27:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mJhVg-0006H2-1J for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Aug 2021 19:27:28 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mJhVf-0006Gu-FR for pgsql-hackers@lists.postgresql.org; Fri, 27 Aug 2021 19:27:27 +0000 Received: from smtp-fw-2101.amazon.com ([72.21.196.25]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mJhVb-0003Hf-GT for pgsql-hackers@postgresql.org; Fri, 27 Aug 2021 19:27:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1630092443; x=1661628443; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=Ox8xJm6Zj2Yl3dQ1d7BbUfAZVA4bAVkHhI4L14MCMh8=; b=Jx5bCgqVfZcrxkeTXWOA4LFEr70bT19xmZN0BzWLh5yfW9/Link1GixY MENTRcg87Tiz3Fsrk1lRgHGH2JP+htcTih469QqXDlDsqDsmEp4EYVwhX mz1NrPpSnR0UsRdVDD0u7ixwMf2uovpKn3ivi80nVjG2//ZzCAMcfoqQz 8=; X-Amazon-filename: v5-0001-introduce-option-for-retreiving-shmem-size.patch X-IronPort-AV: E=Sophos;i="5.84,357,1620691200"; d="scan'208,223";a="132823675" Subject: Re: Estimating HugePages Requirements? Thread-Topic: Estimating HugePages Requirements? Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-2a-119b4f96.us-west-2.amazon.com) ([10.43.8.2]) by smtp-border-fw-2101.iad2.amazon.com with ESMTP; 27 Aug 2021 19:27:21 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194]) by email-inbound-relay-2a-119b4f96.us-west-2.amazon.com (Postfix) with ESMTPS id 5CF581A0688; Fri, 27 Aug 2021 19:27:20 +0000 (UTC) Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Fri, 27 Aug 2021 19:27:20 +0000 Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13D03UWC004.ant.amazon.com (10.43.162.49) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Fri, 27 Aug 2021 19:27:19 +0000 Received: from EX13D03UWC004.ant.amazon.com ([10.43.162.49]) by EX13D03UWC004.ant.amazon.com ([10.43.162.49]) with mapi id 15.00.1497.023; Fri, 27 Aug 2021 19:27:19 +0000 From: "Bossart, Nathan" To: Andres Freund , Magnus Hagander CC: Michael Paquier , Mark Dilger , Don Seiler , "pgsql-hackers@postgresql.org" Thread-Index: AQHXXVFlwPnSpTb+9Euy6igCA88w9KsLstEAgACWWACAX2qpAIAAxOqAgAJnLACAGIQDgIAAhGWAgABE1QD//5X4AA== Date: Fri, 27 Aug 2021 19:27:18 +0000 Message-ID: <071DC95B-4CA8-4D2B-BD24-1A66B3EFFE28@amazon.com> References: <73A4E25F-1039-4FC9-8E6E-0A00230BDFB8@enterprisedb.com> <92BB93C3-1AA8-4548-96F7-062C4AF09182@amazon.com> <20210810034205.r72j5uouynepj4f2@alap3.anarazel.de> <0545F7B3-70C0-4DE8-8C85-EAFE6113B7EE@amazon.com> <20210827184648.d3jbv73pgyccqwkz@alap3.anarazel.de> In-Reply-To: <20210827184648.d3jbv73pgyccqwkz@alap3.anarazel.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.160.66] Content-Type: multipart/mixed; boundary="_002_071DC95B4CA84D2BBD241A66B3EFFE28amazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_071DC95B4CA84D2BBD241A66B3EFFE28amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 T24gOC8yNy8yMSwgMTE6MTYgQU0sICJCb3NzYXJ0LCBOYXRoYW4iIDxib3NzYXJ0bkBhbWF6b24u Y29tPiB3cm90ZToNCj4gSSBhZGRlZCBzb21lIGRvY3VtZW50YXRpb24gaW4gdjQuDQoNCkkgcmVh bGl6ZWQgdGhhdCBteSBhdHRlbXB0IGF0IGRvY3VtZW50aW5nIHRoaXMgbmV3IG9wdGlvbiB3YXMg bWlzc2luZw0Kc29tZSBpbXBvcnRhbnQgY29udGV4dCBhYm91dCB0aGUgbWVhbmluZyBvZiB0aGUg cmV0dXJuIHZhbHVlIHdoZW4gdXNlZA0KYWdhaW5zdCBhIHJ1bm5pbmcgc2VydmVyLiAgSSBhZGRl ZCB0aGF0IGluIHY1Lg0KDQpOYXRoYW4NCg0K --_002_071DC95B4CA84D2BBD241A66B3EFFE28amazoncom_ Content-Type: application/octet-stream; name="v5-0001-introduce-option-for-retreiving-shmem-size.patch" Content-Description: v5-0001-introduce-option-for-retreiving-shmem-size.patch Content-Disposition: attachment; filename="v5-0001-introduce-option-for-retreiving-shmem-size.patch"; size=14040; creation-date="Fri, 27 Aug 2021 19:27:18 GMT"; modification-date="Fri, 27 Aug 2021 19:27:18 GMT" Content-ID: <2FC849F037FCE24389F9F8FCCE7E264B@amazon.com> Content-Transfer-Encoding: base64 RnJvbSAwODNjYzgxNTA5YzVkMjZiMGRkNDMxYzU4Y2YwNDBiZjMxMWU5Mzg3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogRnJpLCAyNyBBdWcgMjAyMSAxOToyNDozOCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjUg MS8xXSBpbnRyb2R1Y2Ugb3B0aW9uIGZvciByZXRyZWl2aW5nIHNobWVtIHNpemUKCi0tLQogZG9j L3NyYy9zZ21sL3JlZi9wb3N0Z3Jlcy1yZWYuc2dtbCB8ICAyMCArKysrKysKIGRvYy9zcmMvc2dt bC9ydW50aW1lLnNnbWwgICAgICAgICAgfCAgMTcgKystLS0KIHNyYy9iYWNrZW5kL2Jvb3RzdHJh cC9ib290c3RyYXAuYyAgfCAgMjUgKysrKystLQogc3JjL2JhY2tlbmQvbWFpbi9tYWluLmMgICAg ICAgICAgICB8ICAgNiArLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jICAgICB8IDE0 MiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBzcmMvaW5jbHVkZS9ib290 c3RyYXAvYm9vdHN0cmFwLmggIHwgICAyICstCiBzcmMvaW5jbHVkZS9zdG9yYWdlL2lwYy5oICAg ICAgICAgIHwgICAxICsKIDcgZmlsZXMgY2hhbmdlZCwgMTM1IGluc2VydGlvbnMoKyksIDc4IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcG9zdGdyZXMtcmVmLnNn bWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3Bvc3RncmVzLXJlZi5zZ21sCmluZGV4IDRhYWE3YWJlMWEu LmMyOGI2NDcwYzIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvcG9zdGdyZXMtcmVmLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wb3N0Z3Jlcy1yZWYuc2dtbApAQCAtMjgwLDYgKzI4 MCwyNiBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgICAgIDwvbGlzdGl0ZW0+CiAgICAg IDwvdmFybGlzdGVudHJ5PgogCisgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICA8dGVybT48b3B0 aW9uPi0tb3V0cHV0LXNobWVtPC9vcHRpb24+PC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAg ICAgIDxwYXJhPgorICAgICAgICBQcmludHMgdGhlIGFtb3VudCBvZiBzaGFyZWQgbWVtb3J5IHJl cXVpcmVkIGZvciB0aGUgZ2l2ZW4KKyAgICAgICAgY29uZmlndXJhdGlvbiBhbmQgZXhpdHMuICBU aGlzIGNhbiBiZSB1c2VkIG9uIGEgcnVubmluZyBzZXJ2ZXIsIGJ1dAorICAgICAgICB0aGUgcmV0 dXJuIHZhbHVlIHJlZmxlY3RzIHRoZSBhbW91bnQgb2Ygc2hhcmVkIG1lbW9yeSBuZWVkZWQgYmFz ZWQKKyAgICAgICAgb24gdGhlIGN1cnJlbnQgaW52b2NhdGlvbi4gIEl0IGRvZXMgbm90IHJldHVy biB0aGUgYW1vdW50IG9mIHNoYXJlZAorICAgICAgICBtZW1vcnkgaW4gdXNlIGJ5IHRoZSBydW5u aW5nIHNlcnZlci4gIFRoaXMgbXVzdCBiZSB0aGUgZmlyc3QKKyAgICAgICAgYXJndW1lbnQgb24g dGhlIGNvbW1hbmQgbGluZS4KKyAgICAgICA8L3BhcmE+CisKKyAgICAgICA8cGFyYT4KKyAgICAg ICAgVGhpcyBvcHRpb24gaXMgdXNlZnVsIGZvciBkZXRlcm1pbmluZyB0aGUgbnVtYmVyIG9mIGh1 Z2UgcGFnZXMKKyAgICAgICAgbmVlZGVkIGZvciB0aGUgc2VydmVyLiAgRm9yIG1vcmUgaW5mb3Jt YXRpb24sIHNlZQorICAgICAgICA8eHJlZiBsaW5rZW5kPSJsaW51eC1odWdlLXBhZ2VzIi8+Lgor ICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5Pgor CiAgICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgICA8dGVybT48b3B0aW9uPi1wIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5wb3J0PC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CiAg ICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcnVudGltZS5zZ21sIGIv ZG9jL3NyYy9zZ21sL3J1bnRpbWUuc2dtbAppbmRleCBmMWNiYzFkOWU5Li41MzVlYWNhZGIyIDEw MDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcnVudGltZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9y dW50aW1lLnNnbWwKQEAgLTE0NDIsMTcgKzE0NDIsMTQgQEAgZXhwb3J0IFBHX09PTV9BREpVU1Rf VkFMVUU9MAogICAgIHdpdGggPHZhcm5hbWU+Q09ORklHX0hVR0VUTEJGUz15PC92YXJuYW1lPiBh bmQKICAgICA8dmFybmFtZT5DT05GSUdfSFVHRVRMQl9QQUdFPXk8L3Zhcm5hbWU+LiBZb3Ugd2ls bCBhbHNvIGhhdmUgdG8gY29uZmlndXJlCiAgICAgdGhlIG9wZXJhdGluZyBzeXN0ZW0gdG8gcHJv dmlkZSBlbm91Z2ggaHVnZSBwYWdlcyBvZiB0aGUgZGVzaXJlZCBzaXplLgotICAgIFRvIGVzdGlt YXRlIHRoZSBudW1iZXIgb2YgaHVnZSBwYWdlcyBuZWVkZWQsIHN0YXJ0Ci0gICAgPHByb2R1Y3Ru YW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiB3aXRob3V0IGh1Z2UgcGFnZXMgZW5hYmxlZCBh bmQgY2hlY2sKLSAgICB0aGUgcG9zdG1hc3RlcidzIGFub255bW91cyBzaGFyZWQgbWVtb3J5IHNl Z21lbnQgc2l6ZSwgYXMgd2VsbCBhcyB0aGUKLSAgICBzeXN0ZW0ncyBkZWZhdWx0IGFuZCBzdXBw b3J0ZWQgaHVnZSBwYWdlIHNpemVzLCB1c2luZyB0aGUKLSAgICA8ZmlsZW5hbWU+L3Byb2M8L2Zp bGVuYW1lPiBhbmQgPGZpbGVuYW1lPi9zeXM8L2ZpbGVuYW1lPiBmaWxlIHN5c3RlbXMuCisgICAg VG8gZXN0aW1hdGUgdGhlIG51bWJlciBvZiBodWdlIHBhZ2VzIG5lZWRlZCwgdXNlIHRoZQorICAg IDxjb21tYW5kPnBvc3RncmVzPC9jb21tYW5kPiBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgYW1v dW50IG9mIHNoYXJlZCBtZW1vcnkKKyAgICBuZWVkZWQsIGFuZCB1c2UgdGhlIDxmaWxlbmFtZT4v cHJvYzwvZmlsZW5hbWU+IGFuZCA8ZmlsZW5hbWU+L3N5czwvZmlsZW5hbWU+CisgICAgZmlsZSBz eXN0ZW1zIHRvIGZpbmQgdGhlIHN5c3RlbSdzIGRlZmF1bHQgYW5kIHN1cHBvcnRlZCBodWdlIHBh Z2Ugc2l6ZXMuCiAgICAgVGhpcyBtaWdodCBsb29rIGxpa2U6CiA8cHJvZ3JhbWxpc3Rpbmc+Ci0k IDx1c2VyaW5wdXQ+aGVhZCAtMSAkUEdEQVRBL3Bvc3RtYXN0ZXIucGlkPC91c2VyaW5wdXQ+Ci00 MTcwCi0kIDx1c2VyaW5wdXQ+cG1hcCA0MTcwIHwgYXdrICcvcnctcy8gJmFtcDsmYW1wOyAvemVy by8ge3ByaW50ICQyfSc8L3VzZXJpbnB1dD4KLTY0OTA0MjhLCiskIDx1c2VyaW5wdXQ+cG9zdGdy ZXMgLS1vdXRwdXQtc2htZW0gLUQgJFBHREFUQTwvdXNlcmlucHV0PgorNjY0NjE5ODI3MiBieXRl cwogJCA8dXNlcmlucHV0PmdyZXAgXkh1Z2VwYWdlc2l6ZSAvcHJvYy9tZW1pbmZvPC91c2VyaW5w dXQ+CiBIdWdlcGFnZXNpemU6ICAgICAgIDIwNDgga0IKICQgPHVzZXJpbnB1dD5scyAvc3lzL2tl cm5lbC9tbS9odWdlcGFnZXM8L3VzZXJpbnB1dD4KQEAgLTE0NjMsNyArMTQ2MCw3IEBAIGh1Z2Vw YWdlcy0xMDQ4NTc2a0IgIGh1Z2VwYWdlcy0yMDQ4a0IKICAgICAgZWl0aGVyIDJNQiBvciAxR0Ig d2l0aCA8eHJlZiBsaW5rZW5kPSJndWMtaHVnZS1wYWdlLXNpemUiLz4uCiAKICAgICAgQXNzdW1p bmcgPGxpdGVyYWw+Mk1CPC9saXRlcmFsPiBodWdlIHBhZ2VzLAotICAgICA8bGl0ZXJhbD42NDkw NDI4PC9saXRlcmFsPiAvIDxsaXRlcmFsPjIwNDg8L2xpdGVyYWw+IGdpdmVzIGFwcHJveGltYXRl bHkKKyAgICAgPGxpdGVyYWw+NjY0NjE5ODI3MjwvbGl0ZXJhbD4gLyA8bGl0ZXJhbD4yMDk3MTUy PC9saXRlcmFsPiBnaXZlcyBhcHByb3hpbWF0ZWx5CiAgICAgIDxsaXRlcmFsPjMxNjkuMTU0PC9s aXRlcmFsPiwgc28gaW4gdGhpcyBleGFtcGxlIHdlIG5lZWQgYXQKICAgICAgbGVhc3QgPGxpdGVy YWw+MzE3MDwvbGl0ZXJhbD4gaHVnZSBwYWdlcy4gIEEgbGFyZ2VyIHNldHRpbmcgd291bGQgYmUK ICAgICAgYXBwcm9wcmlhdGUgaWYgb3RoZXIgcHJvZ3JhbXMgb24gdGhlIG1hY2hpbmUgYWxzbyBu ZWVkIGh1Z2UgcGFnZXMuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9ib290c3RyYXAvYm9vdHN0 cmFwLmMgYi9zcmMvYmFja2VuZC9ib290c3RyYXAvYm9vdHN0cmFwLmMKaW5kZXggNDg2MTVjMGVi Yy4uNWJiNDkxZGE4YiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYm9vdHN0cmFwL2Jvb3RzdHJh cC5jCisrKyBiL3NyYy9iYWNrZW5kL2Jvb3RzdHJhcC9ib290c3RyYXAuYwpAQCAtMTk4LDkgKzE5 OCwxMyBAQCBDaGVja2VyTW9kZU1haW4odm9pZCkKICAqCSB0aGUgY3VycmVudCBjb25maWd1cmF0 aW9uLCBwYXJ0aWN1bGFybHkgdGhlIHBhc3NlZCBpbiBvcHRpb25zIHBlcnRhaW5pbmcKICAqCSB0 byBzaGFyZWQgbWVtb3J5IHNpemluZywgb3B0aW9ucyB3b3JrIChvciBhdCBsZWFzdCBkbyBub3Qg Y2F1c2UgYW4gZXJyb3IKICAqCSB1cCB0byBzaGFyZWQgbWVtb3J5IGNyZWF0aW9uKS4KKyAqCisg KgkgV2hlbiBvdXRwdXRfc2htZW0gaXMgdHJ1ZSwgc3RhcnR1cCBpcyBkb25lIG9ubHkgZmFyIGVu b3VnaCB0byBjYWxjdWxhdGUgdGhlCisgKgkgYW1vdW50IG9mIHNoYXJlZCBtZW1vcnkgcmVxdWly ZWQgZm9yIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24uICBUaGUgcmVzdWx0CisgKgkgb2YgdGhp cyBjYWxjdWxhdGlvbiBpcyBwcmludGVkLgogICovCiB2b2lkCi1Cb290c3RyYXBNb2RlTWFpbihp bnQgYXJnYywgY2hhciAqYXJndltdLCBib29sIGNoZWNrX29ubHkpCitCb290c3RyYXBNb2RlTWFp bihpbnQgYXJnYywgY2hhciAqYXJndltdLCBib29sIGNoZWNrX29ubHksIGJvb2wgb3V0cHV0X3No bWVtKQogewogCWludAkJCWk7CiAJY2hhcgkgICAqcHJvZ25hbWUgPSBhcmd2WzBdOwpAQCAtMjE0 LDEwICsyMTgsMTEgQEAgQm9vdHN0cmFwTW9kZU1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwg Ym9vbCBjaGVja19vbmx5KQogCS8qIFNldCBkZWZhdWx0cywgdG8gYmUgb3ZlcnJpZGRlbiBieSBl eHBsaWNpdCBvcHRpb25zIGJlbG93ICovCiAJSW5pdGlhbGl6ZUdVQ09wdGlvbnMoKTsKIAotCS8q IGFuIGluaXRpYWwgLS1ib290IG9yIC0tY2hlY2sgc2hvdWxkIGJlIHByZXNlbnQgKi8KKwkvKiBh biBpbml0aWFsIC0tYm9vdCwgLS1jaGVjaywgb3IgLS1vdXRwdXQtc2htZW0gc2hvdWxkIGJlIHBy ZXNlbnQgKi8KIAlBc3NlcnQoYXJnYyA+IDEKIAkJICAgJiYgKHN0cmNtcChhcmd2WzFdLCAiLS1i b290IikgPT0gMAotCQkJICAgfHwgc3RyY21wKGFyZ3ZbMV0sICItLWNoZWNrIikgPT0gMCkpOwor CQkJICAgfHwgc3RyY21wKGFyZ3ZbMV0sICItLWNoZWNrIikgPT0gMAorCQkJICAgfHwgc3RyY21w KGFyZ3ZbMV0sICItLW91dHB1dC1zaG1lbSIpID09IDApKTsKIAlhcmd2Kys7CiAJYXJnYy0tOwog CkBAIC0zMTcsMjEgKzMyMiwyOSBAQCBCb290c3RyYXBNb2RlTWFpbihpbnQgYXJnYywgY2hhciAq YXJndltdLCBib29sIGNoZWNrX29ubHkpCiAJY2hlY2tEYXRhRGlyKCk7CiAJQ2hhbmdlVG9EYXRh RGlyKCk7CiAKLQlDcmVhdGVEYXRhRGlyTG9ja0ZpbGUoZmFsc2UpOworCS8qCisJICogV2UgZG8g bm90IGNyZWF0ZSB0aGUgbG9jayBmaWxlIHdoZW4gLS1vdXRwdXQtc2htZW0gaXMgc3BlY2lmaWVk IHNvCisJICogdGhhdCBpdCBjYW4gYmUgdXNlZCB3aGlsZSB0aGUgc2VydmVyIGlzIHJ1bm5pbmcu CisJICovCisJaWYgKCFvdXRwdXRfc2htZW0pCisJCUNyZWF0ZURhdGFEaXJMb2NrRmlsZShmYWxz ZSk7CiAKIAlTZXRQcm9jZXNzaW5nTW9kZShCb290c3RyYXBQcm9jZXNzaW5nKTsKIAlJZ25vcmVT eXN0ZW1JbmRleGVzID0gdHJ1ZTsKIAogCUluaXRpYWxpemVNYXhCYWNrZW5kcygpOwogCi0JQ3Jl YXRlU2hhcmVkTWVtb3J5QW5kU2VtYXBob3JlcygpOworCWlmIChvdXRwdXRfc2htZW0pCisJCXBy aW50ZigiJXp1IGJ5dGVzXG4iLCBDYWxjdWxhdGVTaG1lbVNpemUoTlVMTCkpOworCWVsc2UKKwkJ Q3JlYXRlU2hhcmVkTWVtb3J5QW5kU2VtYXBob3JlcygpOwogCiAJLyoKIAkgKiBYWFg6IEl0IG1p Z2h0IG1ha2Ugc2Vuc2UgdG8gbW92ZSB0aGlzIGludG8gaXRzIG93biBmdW5jdGlvbiBhdCBzb21l CiAJICogcG9pbnQuIFJpZ2h0IG5vdyBpdCBzZWVtcyBsaWtlIGl0J2QgY2F1c2UgbW9yZSBjb2Rl IGR1cGxpY2F0aW9uIHRoYW4KIAkgKiBpdCdzIHdvcnRoLgogCSAqLwotCWlmIChjaGVja19vbmx5 KQorCWlmIChjaGVja19vbmx5IHx8IG91dHB1dF9zaG1lbSkKIAl7CiAJCVNldFByb2Nlc3NpbmdN b2RlKE5vcm1hbFByb2Nlc3NpbmcpOwogCQlDaGVja2VyTW9kZU1haW4oKTsKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL21haW4vbWFpbi5jIGIvc3JjL2JhY2tlbmQvbWFpbi9tYWluLmMKaW5kZXgg M2EyYTBkNTk4Yy4uYzE0MWFlM2QxYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbWFpbi9tYWlu LmMKKysrIGIvc3JjL2JhY2tlbmQvbWFpbi9tYWluLmMKQEAgLTE4Miw5ICsxODIsMTEgQEAgbWFp bihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCSAqLwogCiAJaWYgKGFyZ2MgPiAxICYmIHN0cmNt cChhcmd2WzFdLCAiLS1jaGVjayIpID09IDApCi0JCUJvb3RzdHJhcE1vZGVNYWluKGFyZ2MsIGFy Z3YsIHRydWUpOworCQlCb290c3RyYXBNb2RlTWFpbihhcmdjLCBhcmd2LCB0cnVlLCBmYWxzZSk7 CisJZWxzZSBpZiAoYXJnYyA+IDEgJiYgc3RyY21wKGFyZ3ZbMV0sICItLW91dHB1dC1zaG1lbSIp ID09IDApCisJCUJvb3RzdHJhcE1vZGVNYWluKGFyZ2MsIGFyZ3YsIGZhbHNlLCB0cnVlKTsKIAll bHNlIGlmIChhcmdjID4gMSAmJiBzdHJjbXAoYXJndlsxXSwgIi0tYm9vdCIpID09IDApCi0JCUJv b3RzdHJhcE1vZGVNYWluKGFyZ2MsIGFyZ3YsIGZhbHNlKTsKKwkJQm9vdHN0cmFwTW9kZU1haW4o YXJnYywgYXJndiwgZmFsc2UsIGZhbHNlKTsKICNpZmRlZiBFWEVDX0JBQ0tFTkQKIAllbHNlIGlm IChhcmdjID4gMSAmJiBzdHJuY21wKGFyZ3ZbMV0sICItLWZvcmsiLCA2KSA9PSAwKQogCQlTdWJQ b3N0bWFzdGVyTWFpbihhcmdjLCBhcmd2KTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3Jh Z2UvaXBjL2lwY2kuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lwY2kuYwppbmRleCAzZTRl YzUzYTk3Li5iMjI1YjFlZTcwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9p cGNpLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jCkBAIC03NSw2ICs3NSw4 NyBAQCBSZXF1ZXN0QWRkaW5TaG1lbVNwYWNlKFNpemUgc2l6ZSkKIAl0b3RhbF9hZGRpbl9yZXF1 ZXN0ID0gYWRkX3NpemUodG90YWxfYWRkaW5fcmVxdWVzdCwgc2l6ZSk7CiB9CiAKKy8qCisgKiBD YWxjdWxhdGVTaG1lbVNpemUKKyAqCQlDYWxjdWxhdGVzIHRoZSBhbW91bnQgb2Ygc2hhcmVkIG1l bW9yeSBhbmQgbnVtYmVyIG9mIHNlbWFwaG9yZXMgbmVlZGVkLgorICoKKyAqIElmIG51bV9zZW1h cGhvcmVzIGlzIG5vdCBOVUxMLCBpdCB3aWxsIGJlIHNldCB0byB0aGUgbnVtYmVyIG9mIHNlbWFw aG9yZXMKKyAqIHJlcXVpcmVkLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGZyZWV6 ZXMgdGhlIGFkZGl0aW9uYWwgc2hhcmVkIG1lbW9yeSByZXF1ZXN0IHNpemUKKyAqIGZyb20gbG9h ZGFibGUgbW9kdWxlcy4KKyAqLworU2l6ZQorQ2FsY3VsYXRlU2htZW1TaXplKGludCAqbnVtX3Nl bWFwaG9yZXMpCit7CisJU2l6ZSBzaXplOworCWludCBudW1TZW1hczsKKworCS8qIENvbXB1dGUg bnVtYmVyIG9mIHNlbWFwaG9yZXMgd2UnbGwgbmVlZCAqLworCW51bVNlbWFzID0gUHJvY0dsb2Jh bFNlbWFzKCk7CisJbnVtU2VtYXMgKz0gU3BpbmxvY2tTZW1hcygpOworCisJLyogUmV0dXJuIHRo ZSBudW1iZXIgb2Ygc2VtYXBob3JlcyBpZiByZXF1ZXN0ZWQgYnkgdGhlIGNhbGxlciAqLworCWlm IChudW1fc2VtYXBob3JlcykKKwkJKm51bV9zZW1hcGhvcmVzID0gbnVtU2VtYXM7CisKKwkvKgor CSAqIFNpemUgb2YgdGhlIFBvc3RncmVzIHNoYXJlZC1tZW1vcnkgYmxvY2sgaXMgZXN0aW1hdGVk IHZpYSBtb2RlcmF0ZWx5LQorCSAqIGFjY3VyYXRlIGVzdGltYXRlcyBmb3IgdGhlIGJpZyBob2dz LCBwbHVzIDEwMEsgZm9yIHRoZSBzdHVmZiB0aGF0J3MgdG9vCisJICogc21hbGwgdG8gYm90aGVy IHdpdGggZXN0aW1hdGluZy4KKwkgKgorCSAqIFdlIHRha2Ugc29tZSBjYXJlIHRvIGVuc3VyZSB0 aGF0IHRoZSB0b3RhbCBzaXplIHJlcXVlc3QgZG9lc24ndCBvdmVyZmxvdworCSAqIHNpemVfdC4g IElmIHRoaXMgZ2V0cyB0aHJvdWdoLCB3ZSBkb24ndCBuZWVkIHRvIGJlIHNvIGNhcmVmdWwgZHVy aW5nIHRoZQorCSAqIGFjdHVhbCBhbGxvY2F0aW9uIHBoYXNlLgorCSAqLworCXNpemUgPSAxMDAw MDA7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFBHU2VtYXBob3JlU2htZW1TaXplKG51bVNlbWFz KSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFNwaW5sb2NrU2VtYVNpemUoKSk7CisJc2l6ZSA9 IGFkZF9zaXplKHNpemUsIGhhc2hfZXN0aW1hdGVfc2l6ZShTSE1FTV9JTkRFWF9TSVpFLAorCQkJ CQkJCQkJCQkgc2l6ZW9mKFNobWVtSW5kZXhFbnQpKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUs IGRzbV9lc3RpbWF0ZV9zaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBCdWZmZXJTaG1l bVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIExvY2tTaG1lbVNpemUoKSk7CisJc2l6 ZSA9IGFkZF9zaXplKHNpemUsIFByZWRpY2F0ZUxvY2tTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFk ZF9zaXplKHNpemUsIFByb2NHbG9iYWxTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNp emUsIFhMT0dTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIENMT0dTaG1lbVNp emUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIENvbW1pdFRzU2htZW1TaXplKCkpOworCXNp emUgPSBhZGRfc2l6ZShzaXplLCBTVUJUUkFOU1NobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3Np emUoc2l6ZSwgVHdvUGhhc2VTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIEJh Y2tncm91bmRXb3JrZXJTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIE11bHRp WGFjdFNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgTFdMb2NrU2htZW1TaXpl KCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQcm9jQXJyYXlTaG1lbVNpemUoKSk7CisJc2l6 ZSA9IGFkZF9zaXplKHNpemUsIEJhY2tlbmRTdGF0dXNTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFk ZF9zaXplKHNpemUsIFNJbnZhbFNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwg UE1TaWduYWxTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFByb2NTaWduYWxT aG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIENoZWNrcG9pbnRlclNobWVtU2l6 ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgQXV0b1ZhY3V1bVNobWVtU2l6ZSgpKTsKKwlz aXplID0gYWRkX3NpemUoc2l6ZSwgUmVwbGljYXRpb25TbG90c1NobWVtU2l6ZSgpKTsKKwlzaXpl ID0gYWRkX3NpemUoc2l6ZSwgUmVwbGljYXRpb25PcmlnaW5TaG1lbVNpemUoKSk7CisJc2l6ZSA9 IGFkZF9zaXplKHNpemUsIFdhbFNuZFNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6 ZSwgV2FsUmN2U2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQZ0FyY2hTaG1l bVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIEFwcGx5TGF1bmNoZXJTaG1lbVNpemUo KSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFNuYXBNZ3JTaG1lbVNpemUoKSk7CisJc2l6ZSA9 IGFkZF9zaXplKHNpemUsIEJUcmVlU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXpl LCBTeW5jU2NhblNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgQXN5bmNTaG1l bVNpemUoKSk7CisjaWZkZWYgRVhFQ19CQUNLRU5ECisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFNo bWVtQmFja2VuZEFycmF5U2l6ZSgpKTsKKyNlbmRpZgorCisJLyogZnJlZXplIHRoZSBhZGRpbiBy ZXF1ZXN0IHNpemUgYW5kIGluY2x1ZGUgaXQgKi8KKwlhZGRpbl9yZXF1ZXN0X2FsbG93ZWQgPSBm YWxzZTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgdG90YWxfYWRkaW5fcmVxdWVzdCk7CisKKwkv KiBtaWdodCBhcyB3ZWxsIHJvdW5kIGl0IG9mZiB0byBhIG11bHRpcGxlIG9mIGEgdHlwaWNhbCBw YWdlIHNpemUgKi8KKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgODE5MiAtIChzaXplICUgODE5Mikp OworCisJcmV0dXJuIHNpemU7Cit9CiAKIC8qCiAgKiBDcmVhdGVTaGFyZWRNZW1vcnlBbmRTZW1h cGhvcmVzCkBAIC0xMDIsNjUgKzE4Myw4IEBAIENyZWF0ZVNoYXJlZE1lbW9yeUFuZFNlbWFwaG9y ZXModm9pZCkKIAkJU2l6ZQkJc2l6ZTsKIAkJaW50CQkJbnVtU2VtYXM7CiAKLQkJLyogQ29tcHV0 ZSBudW1iZXIgb2Ygc2VtYXBob3JlcyB3ZSdsbCBuZWVkICovCi0JCW51bVNlbWFzID0gUHJvY0ds b2JhbFNlbWFzKCk7Ci0JCW51bVNlbWFzICs9IFNwaW5sb2NrU2VtYXMoKTsKLQotCQkvKgotCQkg KiBTaXplIG9mIHRoZSBQb3N0Z3JlcyBzaGFyZWQtbWVtb3J5IGJsb2NrIGlzIGVzdGltYXRlZCB2 aWEKLQkJICogbW9kZXJhdGVseS1hY2N1cmF0ZSBlc3RpbWF0ZXMgZm9yIHRoZSBiaWcgaG9ncywg cGx1cyAxMDBLIGZvciB0aGUKLQkJICogc3R1ZmYgdGhhdCdzIHRvbyBzbWFsbCB0byBib3RoZXIg d2l0aCBlc3RpbWF0aW5nLgotCQkgKgotCQkgKiBXZSB0YWtlIHNvbWUgY2FyZSBkdXJpbmcgdGhp cyBwaGFzZSB0byBlbnN1cmUgdGhhdCB0aGUgdG90YWwgc2l6ZQotCQkgKiByZXF1ZXN0IGRvZXNu J3Qgb3ZlcmZsb3cgc2l6ZV90LiAgSWYgdGhpcyBnZXRzIHRocm91Z2gsIHdlIGRvbid0Ci0JCSAq IG5lZWQgdG8gYmUgc28gY2FyZWZ1bCBkdXJpbmcgdGhlIGFjdHVhbCBhbGxvY2F0aW9uIHBoYXNl LgotCQkgKi8KLQkJc2l6ZSA9IDEwMDAwMDsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFBHU2Vt YXBob3JlU2htZW1TaXplKG51bVNlbWFzKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBTcGlu bG9ja1NlbWFTaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgaGFzaF9lc3RpbWF0ZV9z aXplKFNITUVNX0lOREVYX1NJWkUsCi0JCQkJCQkJCQkJCQkgc2l6ZW9mKFNobWVtSW5kZXhFbnQp KSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBkc21fZXN0aW1hdGVfc2l6ZSgpKTsKLQkJc2l6 ZSA9IGFkZF9zaXplKHNpemUsIEJ1ZmZlclNobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXpl KHNpemUsIExvY2tTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQcmVkaWNh dGVMb2NrU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgUHJvY0dsb2JhbFNo bWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFhMT0dTaG1lbVNpemUoKSk7Ci0J CXNpemUgPSBhZGRfc2l6ZShzaXplLCBDTE9HU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3Np emUoc2l6ZSwgQ29tbWl0VHNTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBT VUJUUkFOU1NobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFR3b1BoYXNlU2ht ZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgQmFja2dyb3VuZFdvcmtlclNobWVt U2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIE11bHRpWGFjdFNobWVtU2l6ZSgpKTsK LQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIExXTG9ja1NobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFk ZF9zaXplKHNpemUsIFByb2NBcnJheVNobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNp emUsIEJhY2tlbmRTdGF0dXNTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBT SW52YWxTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQTVNpZ25hbFNobWVt U2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFByb2NTaWduYWxTaG1lbVNpemUoKSk7 Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBDaGVja3BvaW50ZXJTaG1lbVNpemUoKSk7Ci0JCXNp emUgPSBhZGRfc2l6ZShzaXplLCBBdXRvVmFjdXVtU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRk X3NpemUoc2l6ZSwgUmVwbGljYXRpb25TbG90c1NobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9z aXplKHNpemUsIFJlcGxpY2F0aW9uT3JpZ2luU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3Np emUoc2l6ZSwgV2FsU25kU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgV2Fs UmN2U2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgUGdBcmNoU2htZW1TaXpl KCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgQXBwbHlMYXVuY2hlclNobWVtU2l6ZSgpKTsK LQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFNuYXBNZ3JTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBh ZGRfc2l6ZShzaXplLCBCVHJlZVNobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUs IFN5bmNTY2FuU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgQXN5bmNTaG1l bVNpemUoKSk7Ci0jaWZkZWYgRVhFQ19CQUNLRU5ECi0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBT aG1lbUJhY2tlbmRBcnJheVNpemUoKSk7Ci0jZW5kaWYKLQotCQkvKiBmcmVlemUgdGhlIGFkZGlu IHJlcXVlc3Qgc2l6ZSBhbmQgaW5jbHVkZSBpdCAqLwotCQlhZGRpbl9yZXF1ZXN0X2FsbG93ZWQg PSBmYWxzZTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIHRvdGFsX2FkZGluX3JlcXVlc3QpOwot Ci0JCS8qIG1pZ2h0IGFzIHdlbGwgcm91bmQgaXQgb2ZmIHRvIGEgbXVsdGlwbGUgb2YgYSB0eXBp Y2FsIHBhZ2Ugc2l6ZSAqLwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgODE5MiAtIChzaXplICUg ODE5MikpOwotCisJCS8qIENvbXB1dGUgdGhlIHNpemUgb2YgdGhlIHNoYXJlZC1tZW1vcnkgYmxv Y2sgKi8KKwkJc2l6ZSA9IENhbGN1bGF0ZVNobWVtU2l6ZSgmbnVtU2VtYXMpOwogCQllbG9nKERF QlVHMywgImludm9raW5nIElwY01lbW9yeUNyZWF0ZShzaXplPSV6dSkiLCBzaXplKTsKIAogCQkv KgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5oIGIvc3JjL2lu Y2x1ZGUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5oCmluZGV4IDdkM2I3OGUzNzQuLjhlNDIwNTc0ZjUg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2Jvb3RzdHJhcC9ib290c3RyYXAuaAorKysgYi9zcmMv aW5jbHVkZS9ib290c3RyYXAvYm9vdHN0cmFwLmgKQEAgLTMyLDcgKzMyLDcgQEAgZXh0ZXJuIEZv cm1fcGdfYXR0cmlidXRlIGF0dHJ0eXBlc1tNQVhBVFRSXTsKIGV4dGVybiBpbnQJbnVtYXR0cjsK IAogCi1leHRlcm4gdm9pZCBCb290c3RyYXBNb2RlTWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd LCBib29sIGNoZWNrX29ubHkpIHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOworZXh0ZXJuIHZvaWQg Qm9vdHN0cmFwTW9kZU1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgYm9vbCBjaGVja19vbmx5 LCBib29sIG91dHB1dF9zaG1lbSkgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7CiAKIGV4dGVybiB2 b2lkIGNsb3NlcmVsKGNoYXIgKm5hbWUpOwogZXh0ZXJuIHZvaWQgYm9vdF9vcGVucmVsKGNoYXIg Km5hbWUpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9pcGMuaCBiL3NyYy9pbmNs dWRlL3N0b3JhZ2UvaXBjLmgKaW5kZXggNzUzYTZkZDRkNy4uODBlMTkxZDQwNyAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9pcGMuaAorKysgYi9zcmMvaW5jbHVkZS9zdG9yYWdlL2lw Yy5oCkBAIC03Nyw2ICs3Nyw3IEBAIGV4dGVybiB2b2lkIGNoZWNrX29uX3NobWVtX2V4aXRfbGlz dHNfYXJlX2VtcHR5KHZvaWQpOwogLyogaXBjaS5jICovCiBleHRlcm4gUEdETExJTVBPUlQgc2ht ZW1fc3RhcnR1cF9ob29rX3R5cGUgc2htZW1fc3RhcnR1cF9ob29rOwogCitleHRlcm4gU2l6ZSBD YWxjdWxhdGVTaG1lbVNpemUoaW50ICpudW1fc2VtYXBob3Jlcyk7CiBleHRlcm4gdm9pZCBDcmVh dGVTaGFyZWRNZW1vcnlBbmRTZW1hcGhvcmVzKHZvaWQpOwogCiAjZW5kaWYJCQkJCQkJLyogSVBD X0ggKi8KLS0gCjIuMTYuNgoK --_002_071DC95B4CA84D2BBD241A66B3EFFE28amazoncom_--