From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Kevin Buettner To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Backport upstream fix and test case for a dprintf bug (RHBZ 2022177) Date: Sun, 28 Jun 2026 00:00:26 GMT Message-ID: <178260482625.1.16496364543667064676.rpms-gdb-8fedf35634d9@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 8fedf35634d9ff55eb52bb6ed586e9ee9f5901ca QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogOGZlZGYzNTYzNGQ5ZmY1NWViNTJiYjZlZDU4 NmU5ZWU5ZjU5MDFjYQpBdXRob3IgOiBLZXZpbiBCdWV0dG5lciA8a2V2aW5iQHJlZGhhdC5jb20+ CkRhdGUgICA6IDIwMjEtMTEtMTBUMTk6MTM6NTItMDc6MDAKU3RhdHMgIDogKzUyNC8tMSBpbiA2 IGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nZGIv Yy84ZmVkZjM1NjM0ZDlmZjU1ZWI1MmJiNmVkNTg2ZTllZTlmNTkwMWNhP2JyYW5jaD1nZGItMTcu Mi1yZWJhc2UtZjQ0CgpMb2c6CkJhY2twb3J0IHVwc3RyZWFtIGZpeCBhbmQgdGVzdCBjYXNlIGZv ciBhIGRwcmludGYgYnVnIChSSEJaIDIwMjIxNzcpCgotLS0KZGlmZiAtLWdpdCBhL19nZGIuc3Bl Yy5QYXRjaC5pbmNsdWRlIGIvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKaW5kZXggMjU1OTRiMi4u NDg4NGYwNiAxMDA2NDQKLS0tIGEvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5z cGVjLlBhdGNoLmluY2x1ZGUKQEAgLTMyOCwzICszMjgsOSBAQCBQYXRjaDA3ODogZ2RiLXJoYnoy MDEyOTc2LXBhcGVyLW92ZXItZm9ydHJhbi1sZXgtcHJvYmxlbXMucGF0Y2gKICMgQmFja3BvcnQg bWFucGFnZSB1cGRhdGUKIFBhdGNoMDc5OiBnZGItcmhiei04NTMwNzEtdXBkYXRlLW1hbnBhZ2Vz LnBhdGNoCiAKKyMgQmFja3BvcnQgZml4IGZvciBkcHJpbnRmIGJ1ZyAoUkggQlogMjAyMjE3Nyku CitQYXRjaDA4MDogZ2RiLXJoYnoyMDIyMTc3LWRwcmludGYtMS5wYXRjaAorCisjIEJhY2twb3J0 IHRlc3QgY2FzZSBmb3IgZHByaW50ZiBidWcgKFJIIEJaIDIwMjIxNzcpLgorUGF0Y2gwODE6IGdk Yi1yaGJ6MjAyMjE3Ny1kcHJpbnRmLTIucGF0Y2gKKwoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5w YXRjaC5pbmNsdWRlIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKaW5kZXggMGUzMmYxNC4uOGE4 YWNjOCAxMDA2NDQKLS0tIGEvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVj LnBhdGNoLmluY2x1ZGUKQEAgLTc3LDMgKzc3LDUgQEAKICVwYXRjaDA3NyAtcDEKICVwYXRjaDA3 OCAtcDEKICVwYXRjaDA3OSAtcDEKKyVwYXRjaDA4MCAtcDEKKyVwYXRjaDA4MSAtcDEKCmRpZmYg LS1naXQgYS9fcGF0Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggNmE3ZjE2Ni4uODYzZWU3 MSAxMDA2NDQKLS0tIGEvX3BhdGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtNzcsMyAr NzcsNSBAQCBnZGItcmhiejE5NzY4ODctZmllbGQtbG9jYXRpb24ta2luZC5wYXRjaAogZ2RiLXRl c3QtZm9yLXJoYnoxOTc2ODg3LnBhdGNoCiBnZGItcmhiejIwMTI5NzYtcGFwZXItb3Zlci1mb3J0 cmFuLWxleC1wcm9ibGVtcy5wYXRjaAogZ2RiLXJoYnotODUzMDcxLXVwZGF0ZS1tYW5wYWdlcy5w YXRjaAorZ2RiLXJoYnoyMDIyMTc3LWRwcmludGYtMS5wYXRjaAorZ2RiLXJoYnoyMDIyMTc3LWRw cmludGYtMi5wYXRjaAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MjAyMjE3Ny1kcHJpbnRmLTEucGF0 Y2ggYi9nZGItcmhiejIwMjIxNzctZHByaW50Zi0xLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmQ5MTIyODkKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmhiejIwMjIx NzctZHByaW50Zi0xLnBhdGNoCkBAIC0wLDAgKzEsMzE1IEBACitGcm9tIEZFRE9SQV9QQVRDSEVT IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkBy ZWRoYXQuY29tPgorRGF0ZTogV2VkLCAxMCBOb3YgMjAyMSAxODo1MjoyMiAtMDcwMAorU3ViamVj dDogZ2RiLXJoYnoyMDIyMTc3LWRwcmludGYtMS5wYXRjaAorCis7OyBCYWNrcG9ydCBmaXggZm9y IGRwcmludGYgYnVnIChSSCBCWiAyMDIyMTc3KS4KKworRml4IFBSIDI4MzA4IC0gZHByaW50ZiBi cmVha3BvaW50cyBub3Qgd29ya2luZyB3aGVuIHJ1biBmcm9tIHNjcmlwdAorCitUaGlzIGNvbW1p dCBmaXhlcyBCdWcgMjgzMDgsIHRpdGxlZCAiU3RyYW5nZSBpbnRlcmFjdGlvbnMgd2l0aAorZHBy aW50ZiBhbmQgYnJlYWsvY29tbWFuZHMiOgorCitCdWc6IGh0dHBzOi8vc291cmNld2FyZS5vcmcv YnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI4MzA4CisKK1NpbmNlIGNyZWF0aW5nIHRoYXQgYnVn IHJlcG9ydCwgSSd2ZSBmb3VuZCBhIHNvbWV3aGF0IHNpbXBsZXIgd2F5IG9mCityZXByb2R1Y2lu ZyB0aGUgcHJvYmxlbS4gIEkndmUgZW5jYXBzdWxhdGVkIGl0IGludG8gdGhlIEdEQiB0ZXN0IGNh c2UKK3doaWNoIEkndmUgY3JlYXRlZCBhbG9uZyB3aXRoIHRoaXMgYnVnIGZpeC4gIFRoZSBuYW1l IG9mIHRoZSBuZXcgdGVzdAoraXMgZ2RiLmJhc2UvZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQu ZXhwLCBJJ2xsIGRlbW9uc3RyYXRlIHRoZQorcHJvYmxlbSB1c2luZyB0aGlzIHRlc3QgY2FzZSwg dGhvdWdoIGZvciBicmV2aXR5LCBJJ3ZlIHBsYWNlZCBhbGwKK3JlbGV2YW50IGZpbGVzIGluIHRo ZSBzYW1lIGRpcmVjdG9yeSBhbmQgaGF2ZSByZW5hbWVkIHRoZSBmaWxlcyB0byBhbGwKK3N0YXJ0 IHdpdGggJ2RwLWJ1ZycgaW5zdGVhZCBvZiAnZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQnLgor CitUaGUgc2NyaXB0IGZpbGUsIG5hbWVkIGRwLWJ1Zy5nZGIsIGNvbnNpc3RzIG9mIHRoZSBmb2xs b3dpbmcgY29tbWFuZHM6CisKK2RwcmludGYgaW5jcmVtZW50LCAiZHByaW50ZiBpbiBpbmNyZW1l bnQoKSwgdmk9JWRcbiIsIHZpCiticmVhayBpbmNfdmkKK2NvbW1hbmRzCisgIGNvbnRpbnVlCitl bmQKK3J1bgorCitOb3RlIHRoYXQgdGhlIGZpbmFsIGNvbW1hbmQgaW4gdGhpcyBzY3JpcHQgaXMg J3J1bicuICBXaGVuICdydW4nIGlzCitpbnN0ZWFkIGlzc3VlZCBpbnRlcmFjdGl2ZWx5LCB0aGUg IGJ1ZyBkb2VzIG5vdCBvY2N1ci4gIFNvLCBsZXQncyBsb29rCithdCB0aGUgaW50ZXJhY3RpdmUg Y2FzZSBmaXJzdCBpbiBvcmRlciB0byBzZWUgdGhlIGNvcnJlY3QvZXhwZWN0ZWQKK291dHB1dDoK KworJCBnZGIgLXEgLXggZHAtYnVnLmdkYiBkcC1idWcKKy4uLiBlbGlkaW5nIGJ1Z2d5IG91dHB1 dCB3aGljaCBJJ2xsIGRpc2N1c3MgbGF0ZXIgLi4uCisoZ2RiKSBydW4KK1N0YXJ0aW5nIHByb2dy YW06IC9tZXNxdWl0ZTIvc291cmNld2FyZS1naXQvZjM0LW1hc3Rlci9ibGQvZ2RiL3RtcC9kcC1i dWcKK3ZpPTAKK2RwcmludGYgaW4gaW5jcmVtZW50KCksIHZpPTAKKworQnJlYWtwb2ludCAyLCBp bmNfdmkgKCkgYXQgZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQuYzoyNgorMjYJaW4gZHByaW50 Zi1leGVjdXRpb24teC1zY3JpcHQuYwordmk9MQorZHByaW50ZiBpbiBpbmNyZW1lbnQoKSwgdmk9 MQorCitCcmVha3BvaW50IDIsIGluY192aSAoKSBhdCBkcHJpbnRmLWV4ZWN1dGlvbi14LXNjcmlw dC5jOjI2CisyNglpbiBkcHJpbnRmLWV4ZWN1dGlvbi14LXNjcmlwdC5jCit2aT0yCitkcHJpbnRm IGluIGluY3JlbWVudCgpLCB2aT0yCisKK0JyZWFrcG9pbnQgMiwgaW5jX3ZpICgpIGF0IGRwcmlu dGYtZXhlY3V0aW9uLXgtc2NyaXB0LmM6MjYKKzI2CWluIGRwcmludGYtZXhlY3V0aW9uLXgtc2Ny aXB0LmMKK3ZpPTMKK1tJbmZlcmlvciAxIChwcm9jZXNzIDE1MzkyMTApIGV4aXRlZCBub3JtYWxs eV0KKworSW4gdGhpcyBydW4sIGluIHdoaWNoICdydW4nIHdhcyBpc3N1ZWQgZnJvbSB0aGUgZ2Ri IHByb21wdCAoaW5zdGVhZAorb2YgYXQgdGhlIGVuZCBvZiB0aGUgc2NyaXB0KSwgdGhlcmUgYXJl IHRocmVlIGRwcmludGYgbWVzc2FnZXMgYWxvbmcKK3dpdGggdGhyZWUgJ0JyZWFrcG9pbnQgMicg bWVzc2FnZXMuICBUaGlzIGlzIHRoZSBjb3JyZWN0IG91dHB1dC4KKworTm93IGxldCdzIGxvb2sg YXQgdGhlIG91dHB1dCB0aGF0IEkgc25pcHBlZCBhYm92ZTsgdGhpcyBpcyB0aGUgb3V0cHV0Cit3 aGVuICdydW4nIGlzIGlzc3VlZCBmcm9tIHRoZSBzY3JpcHQgbG9hZGVkIHZpYSBHREIncyAteCBz d2l0Y2g6CisKKyQgZ2RiIC1xIC14IGRwLWJ1Zy5nZGIgZHAtYnVnCitSZWFkaW5nIHN5bWJvbHMg ZnJvbSBkcC1idWcuLi4KK0RwcmludGYgMSBhdCAweDQwMTE2ZTogZmlsZSBkcHJpbnRmLWV4ZWN1 dGlvbi14LXNjcmlwdC5jLCBsaW5lIDM4LgorQnJlYWtwb2ludCAyIGF0IDB4NDAxMTNhOiBmaWxl IGRwcmludGYtZXhlY3V0aW9uLXgtc2NyaXB0LmMsIGxpbmUgMjYuCit2aT0wCitkcHJpbnRmIGlu IGluY3JlbWVudCgpLCB2aT0wCisKK0JyZWFrcG9pbnQgMiwgaW5jX3ZpICgpIGF0IGRwcmludGYt ZXhlY3V0aW9uLXgtc2NyaXB0LmM6MjYKKzI2CWRwcmludGYtZXhlY3V0aW9uLXgtc2NyaXB0LmM6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkuCit2aT0xCisKK0JyZWFrcG9pbnQgMiwgaW5jX3Zp ICgpIGF0IGRwcmludGYtZXhlY3V0aW9uLXgtc2NyaXB0LmM6MjYKKzI2CWluIGRwcmludGYtZXhl Y3V0aW9uLXgtc2NyaXB0LmMKK3ZpPTIKKworQnJlYWtwb2ludCAyLCBpbmNfdmkgKCkgYXQgZHBy aW50Zi1leGVjdXRpb24teC1zY3JpcHQuYzoyNgorMjYJaW4gZHByaW50Zi1leGVjdXRpb24teC1z Y3JpcHQuYwordmk9MworW0luZmVyaW9yIDEgKHByb2Nlc3MgMTUzOTE3NSkgZXhpdGVkIG5vcm1h bGx5XQorCitJbiB0aGUgb3V0cHV0IHNob3duIGFib3ZlLCBvbmx5IHRoZSBmaXJzdCBkcHJpbnRm IG1lc3NhZ2UgaXMgcHJpbnRlZC4KK1RoZSAybmQgYW5kIDNyZCBkcHJpbnRmIG1lc3NhZ2VzIGFy ZSBtaXNzaW5nISAgSG93ZXZlciwgYWxsIHRocmVlCisnQnJlYWtwb2ludCAyLi4uJyBtZXNzYWdl cyBhcmUgc3RpbGwgcHJpbnRlZC4KKworV2h5IGRvZXMgdGhpcyBoYXBwZW4/CisKK2Jwc3RhdF9k b19hY3Rpb25zXzEoKSBpbiBnZGIvYnJlYWtwb2ludC5jIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcK K2NvbW1lbnQgYW5kIGNvZGUgbmVhciB0aGUgc3RhcnQgb2YgdGhlIGZ1bmN0aW9uOgorCisgIC8q IEF2b2lkIGVuZGxlc3MgcmVjdXJzaW9uIGlmIGEgYHNvdXJjZScgY29tbWFuZCBpcyBjb250YWlu ZWQKKyAgICAgaW4gYnMtPmNvbW1hbmRzLiAgKi8KKyAgaWYgKGV4ZWN1dGluZ19icmVha3BvaW50 X2NvbW1hbmRzKQorICAgIHJldHVybiAwOworCisgIHNjb3BlZF9yZXN0b3JlIHNhdmVfZXhlY3V0 aW5nCisgICAgPSBtYWtlX3Njb3BlZF9yZXN0b3JlICgmZXhlY3V0aW5nX2JyZWFrcG9pbnRfY29t bWFuZHMsIDEpOworCitBbHNvLCBhcyBkZXNjcmliZWQgYnkgdGhpcyBjb21tZW50IHByaW9yIHRv IHRoZSAnYXN5bmMnIGZpZWxkCitpbiAnc3RydWN0IHVpJyBpbiB0b3AuaCwgdGhlIG1haW4gVUkg c3RhcnRzIG9mZiBpbiBzeW5jIG1vZGUKK3doZW4gcHJvY2Vzc2luZyBjb21tYW5kIGxpbmUgYXJn dW1lbnRzOgorCisgIC8qIFRydWUgaWYgdGhlIFVJIGlzIGluIGFzeW5jIG1vZGUsIGZhbHNlIGlm IGluIHN5bmMgbW9kZS4gIElmIGluCisgICAgIHN5bmMgbW9kZSwgYSBzeW5jaHJvbm91cyBleGVj dXRpb24gY29tbWFuZCAoZS5nLCAibmV4dCIpIGRvZXMgbm90CisgICAgIHJldHVybiB1bnRpbCB0 aGUgY29tbWFuZCBpcyBmaW5pc2hlZC4gIElmIGluIGFzeW5jIG1vZGUsIHRoZW4KKyAgICAgcnVu bmluZyBhIHN5bmNocm9ub3VzIGNvbW1hbmQgcmV0dXJucyByaWdodCBhZnRlciByZXN1bWluZyB0 aGUKKyAgICAgdGFyZ2V0LiAgV2FpdGluZyBmb3IgdGhlIGNvbW1hbmQncyBjb21wbGV0aW9uIGlz IGxhdGVyIGRvbmUgb24KKyAgICAgdGhlIHRvcCBldmVudCBsb29wLiAgRm9yIHRoZSBtYWluIFVJ LCB0aGlzIHN0YXJ0cyBvdXQgZGlzYWJsZWQsCisgICAgIHVudGlsIGFsbCB0aGUgZXhwbGljaXQg Y29tbWFuZCBsaW5lIGFyZ3VtZW50cyAoZS5nLiwgYGdkYiAtZXgKKyAgICAgInN0YXJ0IiAtZXgg Im5leHQiJykgYXJlIHByb2Nlc3NlZC4gICovCisKK1RoaXMgY29tYmluYXRpb24gb2YgdGhpbmdz LCB0aGUgc3RhdGUgb2YgdGhlIHN0YXRpYyBnbG9iYWwKKydleGVjdXRpbmdfYnJlYWtwb2ludF9j b21tYW5kcycgcGx1cyB0aGUgc3RhdGUgb2YgdGhlIGFzeW5jCitmaWVsZCBpbiB0aGUgbWFpbiBV SSBjYXVzZXMgdGhpcyBiZWhhdmlvci4KKworVGhpcyBpcyBhIGJhY2t0cmFjZSBhZnRlciBoaXR0 aW5nIHRoZSBkcHJpbnRmIGJyZWFrcG9pbnQgZm9yCit0aGUgc2Vjb25kIHRpbWUgd2hlbiBkb2lu ZyAncnVuJyBmcm9tIHRoZSBzY3JpcHQgZmlsZSwgaS5lLgorbm9uLWludGVyYWN0aXZlbHk6CisK K1RocmVhZCAxICJnZGIiIGhpdCBCcmVha3BvaW50IDMsIGJwc3RhdF9kb19hY3Rpb25zXzEgKGJz cD0weDdmZmZmZmZmYzJiOCkKKyAgICBhdCAvaXJvbndvb2QxL3NvdXJjZXdhcmUtZ2l0L2YzNC1t YXN0ZXIvYmxkLy4uLy4uL3dvcmt0cmVlLW1hc3Rlci9nZGIvYnJlYWtwb2ludC5jOjQ0MzEKKzQ0 MzEJICBpZiAoZXhlY3V0aW5nX2JyZWFrcG9pbnRfY29tbWFuZHMpCisKKyAjMCAgYnBzdGF0X2Rv X2FjdGlvbnNfMSAoYnNwPTB4N2ZmZmZmZmZjMmI4KQorICAgICBhdCBnZGIvYnJlYWtwb2ludC5j OjQ0MzEKKyAjMSAgMHgwMDAwMDAwMDAwNGQ4YmM2IGluIGRwcmludGZfYWZ0ZXJfY29uZGl0aW9u X3RydWUgKGJzPTB4MTUzODA5MCkKKyAgICAgYXQgZ2RiL2JyZWFrcG9pbnQuYzoxMzA0OAorICMy ICAweDAwMDAwMDAwMDA0YzVjYWEgaW4gYnBzdGF0X3N0b3Bfc3RhdHVzIChhc3BhY2U9MHgxMTZk YmMwLCBicF9hZGRyPTB4NDAxMTZlLCB0aHJlYWQ9MHgxMzdmNDUwLCB3cz0weDdmZmZmZmZmYzcx OCwKKyAgICAgc3RvcF9jaGFpbj0weDE1MzgwOTApIGF0IGdkYi9icmVha3BvaW50LmM6NTQ5OAor ICMzICAweDAwMDAwMDAwMDA3NjhkOTggaW4gaGFuZGxlX3NpZ25hbF9zdG9wIChlY3M9MHg3ZmZm ZmZmZmM2ZjApCisgICAgIGF0IGdkYi9pbmZydW4uYzo2MTcyCisgIzQgIDB4MDAwMDAwMDAwMDc2 NzhkMyBpbiBoYW5kbGVfaW5mZXJpb3JfZXZlbnQgKGVjcz0weDdmZmZmZmZmYzZmMCkKKyAgICAg YXQgZ2RiL2luZnJ1bi5jOjU2NjIKKyAjNSAgMHgwMDAwMDAwMDAwNzYzY2Q1IGluIGZldGNoX2lu ZmVyaW9yX2V2ZW50ICgpCisgICAgIGF0IGdkYi9pbmZydW4uYzo0MDYwCisgIzYgIDB4MDAwMDAw MDAwMDc0NmQ3ZCBpbiBpbmZlcmlvcl9ldmVudF9oYW5kbGVyIChldmVudF90eXBlPUlORl9SRUdf RVZFTlQpCisgICAgIGF0IGdkYi9pbmYtbG9vcC5jOjQxCisgIzcgIDB4MDAwMDAwMDAwMDdhNzAy ZiBpbiBoYW5kbGVfdGFyZ2V0X2V2ZW50IChlcnJvcj0wLCBjbGllbnRfZGF0YT0weDApCisgICAg IGF0IGdkYi9saW51eC1uYXQuYzo0MjA3CisgIzggIDB4MDAwMDAwMDAwMGI4Y2Q2ZSBpbiBnZGJf d2FpdF9mb3JfZXZlbnQgKGJsb2NrPWJsb2NrQGVudHJ5PTApCisgICAgIGF0IGdkYnN1cHBvcnQv ZXZlbnQtbG9vcC5jYzo3MDEKKyAjOSAgMHgwMDAwMDAwMDAwYjhkMDMyIGluIGdkYl93YWl0X2Zv cl9ldmVudCAoYmxvY2s9MCkKKyAgICAgYXQgZ2Ric3VwcG9ydC9ldmVudC1sb29wLmNjOjU5Nwor ICMxMCBnZGJfZG9fb25lX2V2ZW50ICgpIGF0IGdkYnN1cHBvcnQvZXZlbnQtbG9vcC5jYzoyMTIK KyAjMTEgMHgwMDAwMDAwMDAwOWQxOWI2IGluIHdhaXRfc3luY19jb21tYW5kX2RvbmUgKCkKKyAg ICAgYXQgZ2RiL3RvcC5jOjUyOAorICMxMiAweDAwMDAwMDAwMDA5ZDFhM2YgaW4gbWF5YmVfd2Fp dF9zeW5jX2NvbW1hbmRfZG9uZSAod2FzX3N5bmM9MCkKKyAgICAgYXQgZ2RiL3RvcC5jOjU0NQor ICMxMyAweDAwMDAwMDAwMDA5ZDIwMzMgaW4gZXhlY3V0ZV9jb21tYW5kIChwPTB4N2ZmZmZmZmZj YjE4ICIiLCBmcm9tX3R0eT0wKQorICAgICBhdCBnZGIvdG9wLmM6Njc2CisgIzE0IDB4MDAwMDAw MDAwMDU2MGQ1YiBpbiBleGVjdXRlX2NvbnRyb2xfY29tbWFuZF8xIChjbWQ9MHgxM2I5YmIwLCBm cm9tX3R0eT0wKQorICAgICBhdCBnZGIvY2xpL2NsaS1zY3JpcHQuYzo1NDcKKyAjMTUgMHgwMDAw MDAwMDAwNTYxMzRhIGluIGV4ZWN1dGVfY29udHJvbF9jb21tYW5kIChjbWQ9MHgxM2I5YmIwLCBm cm9tX3R0eT0wKQorICAgICBhdCBnZGIvY2xpL2NsaS1zY3JpcHQuYzo3MTcKKyAjMTYgMHgwMDAw MDAwMDAwNGMzYmJlIGluIGJwc3RhdF9kb19hY3Rpb25zXzEgKGJzcD0weDEzN2Y1MzApCisgICAg IGF0IGdkYi9icmVha3BvaW50LmM6NDQ2OQorICMxNyAweDAwMDAwMDAwMDA0YzNkNDAgaW4gYnBz dGF0X2RvX2FjdGlvbnMgKCkKKyAgICAgYXQgZ2RiL2JyZWFrcG9pbnQuYzo0NTMzCisgIzE4IDB4 MDAwMDAwMDAwMDZhNDczYSBpbiBjb21tYW5kX2hhbmRsZXIgKGNvbW1hbmQ9MHgxMzk5YWQwICJy dW4iKQorICAgICBhdCBnZGIvZXZlbnQtdG9wLmM6NjI0CisgIzE5IDB4MDAwMDAwMDAwMDlkMTgy ZSBpbiByZWFkX2NvbW1hbmRfZmlsZSAoc3RyZWFtPTB4MTEzZTU0MCkKKyAgICAgYXQgZ2RiL3Rv cC5jOjQ0MworICMyMCAweDAwMDAwMDAwMDA1NjM2OTcgaW4gc2NyaXB0X2Zyb21fZmlsZSAoc3Ry ZWFtPTB4MTEzZTU0MCwgZmlsZT0weDEzYmIwYjAgImRwLWJ1Zy5nZGIiKQorICAgICBhdCBnZGIv Y2xpL2NsaS1zY3JpcHQuYzoxNjQyCisgIzIxIDB4MDAwMDAwMDAwMDZhYmQ2MyBpbiBzb3VyY2Vf Z2RiX3NjcmlwdCAoZXh0bGFuZz0weGM0NGU4MCA8ZXh0ZW5zaW9uX2xhbmd1YWdlX2dkYj4sIHN0 cmVhbT0weDExM2U1NDAsCisgICAgIGZpbGU9MHgxM2JiMGIwICJkcC1idWcuZ2RiIikgYXQgZ2Ri L2V4dGVuc2lvbi5jOjE4OAorICMyMiAweDAwMDAwMDAwMDA1NDQ0MDAgaW4gc291cmNlX3Njcmlw dF9mcm9tX3N0cmVhbSAoc3RyZWFtPTB4MTEzZTU0MCwgZmlsZT0weDdmZmZmZmZmZDkxYSAiZHAt YnVnLmdkYiIsCisgICAgIGZpbGVfdG9fb3Blbj0weDEzYmIwYjAgImRwLWJ1Zy5nZGIiKQorICAg ICBhdCBnZGIvY2xpL2NsaS1jbWRzLmM6NjkyCisgIzIzIDB4MDAwMDAwMDAwMDU0NDU1NyBpbiBz b3VyY2Vfc2NyaXB0X3dpdGhfc2VhcmNoIChmaWxlPTB4N2ZmZmZmZmZkOTFhICJkcC1idWcuZ2Ri IiwgZnJvbV90dHk9MSwgc2VhcmNoX3BhdGg9MCkKKyAgICAgYXQgZ2RiL2NsaS9jbGktY21kcy5j Ojc1MAorICMyNCAweDAwMDAwMDAwMDA1NDQ1Y2YgaW4gc291cmNlX3NjcmlwdCAoZmlsZT0weDdm ZmZmZmZmZDkxYSAiZHAtYnVnLmdkYiIsIGZyb21fdHR5PTEpCisgICAgIGF0IGdkYi9jbGkvY2xp LWNtZHMuYzo3NTkKKyAjMjUgMHgwMDAwMDAwMDAwN2NmNmQ5IGluIGNhdGNoX2NvbW1hbmRfZXJy b3JzIChjb21tYW5kPTB4NTQ0NWFhIDxzb3VyY2Vfc2NyaXB0KGNoYXIgY29uc3QqLCBpbnQpPiwK KyAgICAgYXJnPTB4N2ZmZmZmZmZkOTFhICJkcC1idWcuZ2RiIiwgZnJvbV90dHk9MSwgZG9fYnBf YWN0aW9ucz1mYWxzZSkKKyAgICAgYXQgZ2RiL21haW4uYzo1MjMKKyAjMjYgMHgwMDAwMDAwMDAw N2NmODVkIGluIGV4ZWN1dGVfY21kYXJncyAoY21kYXJnX3ZlYz0weDdmZmZmZmZmZDFiMCwgZmls ZV90eXBlPUNNREFSR19GSUxFLCBjbWRfdHlwZT1DTURBUkdfQ09NTUFORCwKKyAgICAgcmV0PTB4 N2ZmZmZmZmZkMThjKSBhdCBnZGIvbWFpbi5jOjYxNQorICMyNyAweDAwMDAwMDAwMDA3ZDBjOGUg aW4gY2FwdHVyZWRfbWFpbl8xIChjb250ZXh0PTB4N2ZmZmZmZmZkM2YwKQorICAgICBhdCBnZGIv bWFpbi5jOjEzMjIKKyAjMjggMHgwMDAwMDAwMDAwN2QwZWJhIGluIGNhcHR1cmVkX21haW4gKGRh dGE9MHg3ZmZmZmZmZmQzZjApCisgICAgIGF0IGdkYi9tYWluLmM6MTM0MworICMyOSAweDAwMDAw MDAwMDA3ZDBmMjUgaW4gZ2RiX21haW4gKGFyZ3M9MHg3ZmZmZmZmZmQzZjApCisgICAgIGF0IGdk Yi9tYWluLmM6MTM2OAorICMzMCAweDAwMDAwMDAwMDA0MTg2ZGQgaW4gbWFpbiAoYXJnYz01LCBh cmd2PTB4N2ZmZmZmZmZkNTA4KQorICAgICBhdCBnZGIvZ2RiLmM6MzIKKworVGhlcmUgYXJlIHR3 byBmcmFtZXMgZm9yIGJwc3RhdF9kb19hY3Rpb25zXzEoKSwgb25lIGF0IGZyYW1lICMxNiBhbmQK K3RoZSBvdGhlciBhdCBmcmFtZSAjMC4gIFRoZSBvbmUgYXQgZnJhbWUgIzE2IGlzIHByb2Nlc3Np bmcgdGhlIGFjdGlvbnMKK2ZvciBCcmVha3BvaW50IDIsIHdoaWNoIGlzIGEgJ2NvbnRpbnVlJy4g IFRoZSBvbmUgYXQgZnJhbWUgIzAgaXMgYXR0ZW1wdGluZwordG8gcHJvY2VzcyB0aGUgZHByaW50 ZiBicmVha3BvaW50IGFjdGlvbi4gIEhvd2V2ZXIsIGF0IHRoaXMgcG9pbnQsCit0aGUgdmFsdWUg b2YgJ2V4ZWN1dGluZ19icmVha3BvaW50X2NvbW1hbmRzJyBpcyAxLCBmb3JjaW5nIGFuIGVhcmx5 CityZXR1cm4sIGkuZS4gcHJpb3IgdG8gZXhlY3V0aW5nIHRoZSBjb21tYW5kKHMpIGFzc29jaWF0 ZWQgd2l0aCB0aGUgZHByaW50ZgorYnJlYWtwb2ludC4KKworRm9yIHRoZSBzYWtlIG9mIGNvbXBh cmlzb24sIHRoaXMgaXMgd2hhdCB0aGUgc3RhY2sgbG9va3MgbGlrZSB3aGVuIGhpdHRpbmcKK3Ro ZSBkcHJpbnRmIGJyZWFrcG9pbnQgZm9yIHRoZSBzZWNvbmQgdGltZSB3aGVuIGlzc3VpbmcgdGhl ICdydW4nCitjb21tYW5kIGZyb20gdGhlIEdEQiBwcm9tcHQuCisKK1RocmVhZCAxICJnZGIiIGhp dCBCcmVha3BvaW50IDMsIGJwc3RhdF9kb19hY3Rpb25zXzEgKGJzcD0weDdmZmZmZmZmY2NkOCkK KyAgICBhdCAvaXJvbndvb2QxL3NvdXJjZXdhcmUtZ2l0L2YzNC1tYXN0ZXIvYmxkLy4uLy4uL3dv cmt0cmVlLW1hc3Rlci9nZGIvYnJlYWtwb2ludC5jOjQ0MzEKKzQ0MzEJICBpZiAoZXhlY3V0aW5n X2JyZWFrcG9pbnRfY29tbWFuZHMpCisKKyAjMCAgYnBzdGF0X2RvX2FjdGlvbnNfMSAoYnNwPTB4 N2ZmZmZmZmZjY2Q4KQorICAgICBhdCBnZGIvYnJlYWtwb2ludC5jOjQ0MzEKKyAjMSAgMHgwMDAw MDAwMDAwNGQ4YmM2IGluIGRwcmludGZfYWZ0ZXJfY29uZGl0aW9uX3RydWUgKGJzPTB4MTZiMDI5 MCkKKyAgICAgYXQgZ2RiL2JyZWFrcG9pbnQuYzoxMzA0OAorICMyICAweDAwMDAwMDAwMDA0YzVj YWEgaW4gYnBzdGF0X3N0b3Bfc3RhdHVzIChhc3BhY2U9MHgxMTZkYmMwLCBicF9hZGRyPTB4NDAx MTZlLCB0aHJlYWQ9MHgxM2YwZTYwLCB3cz0weDdmZmZmZmZmZDEzOCwKKyAgICAgc3RvcF9jaGFp bj0weDE2YjAyOTApIGF0IGdkYi9icmVha3BvaW50LmM6NTQ5OAorICMzICAweDAwMDAwMDAwMDA3 NjhkOTggaW4gaGFuZGxlX3NpZ25hbF9zdG9wIChlY3M9MHg3ZmZmZmZmZmQxMTApCisgICAgIGF0 IGdkYi9pbmZydW4uYzo2MTcyCisgIzQgIDB4MDAwMDAwMDAwMDc2NzhkMyBpbiBoYW5kbGVfaW5m ZXJpb3JfZXZlbnQgKGVjcz0weDdmZmZmZmZmZDExMCkKKyAgICAgYXQgZ2RiL2luZnJ1bi5jOjU2 NjIKKyAjNSAgMHgwMDAwMDAwMDAwNzYzY2Q1IGluIGZldGNoX2luZmVyaW9yX2V2ZW50ICgpCisg ICAgIGF0IGdkYi9pbmZydW4uYzo0MDYwCisgIzYgIDB4MDAwMDAwMDAwMDc0NmQ3ZCBpbiBpbmZl cmlvcl9ldmVudF9oYW5kbGVyIChldmVudF90eXBlPUlORl9SRUdfRVZFTlQpCisgICAgIGF0IGdk Yi9pbmYtbG9vcC5jOjQxCisgIzcgIDB4MDAwMDAwMDAwMDdhNzAyZiBpbiBoYW5kbGVfdGFyZ2V0 X2V2ZW50IChlcnJvcj0wLCBjbGllbnRfZGF0YT0weDApCisgICAgIGF0IGdkYi9saW51eC1uYXQu Yzo0MjA3CisgIzggIDB4MDAwMDAwMDAwMGI4Y2Q2ZSBpbiBnZGJfd2FpdF9mb3JfZXZlbnQgKGJs b2NrPWJsb2NrQGVudHJ5PTApCisgICAgIGF0IGdkYnN1cHBvcnQvZXZlbnQtbG9vcC5jYzo3MDEK KyAjOSAgMHgwMDAwMDAwMDAwYjhkMDMyIGluIGdkYl93YWl0X2Zvcl9ldmVudCAoYmxvY2s9MCkK KyAgICAgYXQgZ2Ric3VwcG9ydC9ldmVudC1sb29wLmNjOjU5NworICMxMCBnZGJfZG9fb25lX2V2 ZW50ICgpIGF0IGdkYnN1cHBvcnQvZXZlbnQtbG9vcC5jYzoyMTIKKyAjMTEgMHgwMDAwMDAwMDAw N2NmNTEyIGluIHN0YXJ0X2V2ZW50X2xvb3AgKCkKKyAgICAgYXQgZ2RiL21haW4uYzo0MjEKKyAj MTIgMHgwMDAwMDAwMDAwN2NmNjMxIGluIGNhcHR1cmVkX2NvbW1hbmRfbG9vcCAoKQorICAgICBh dCBnZGIvbWFpbi5jOjQ4MQorICMxMyAweDAwMDAwMDAwMDA3ZDBlYmYgaW4gY2FwdHVyZWRfbWFp biAoZGF0YT0weDdmZmZmZmZmZDNmMCkKKyAgICAgYXQgZ2RiL21haW4uYzoxMzUzCisgIzE0IDB4 MDAwMDAwMDAwMDdkMGYyNSBpbiBnZGJfbWFpbiAoYXJncz0weDdmZmZmZmZmZDNmMCkKKyAgICAg YXQgZ2RiL21haW4uYzoxMzY4CisgIzE1IDB4MDAwMDAwMDAwMDQxODZkZCBpbiBtYWluIChhcmdj PTUsIGFyZ3Y9MHg3ZmZmZmZmZmQ1MDgpCisgICAgIGF0IGdkYi9nZGIuYzozMgorCitUaGlzIHJl bGF0aXZlbHkgc2hvcnQgYmFja3RyYWNlIGlzIGR1ZSB0byB0aGUgY3VycmVudCBVSSdzIGFzeW5j IGZpZWxkCitiZWluZyBzZXQgdG8gMS4KKworWWV0IGFub3RoZXIgdGhpbmcgdG8gYmUgYXdhcmUg b2YgcmVnYXJkaW5nIHRoaXMgcHJvYmxlbSBpcyB0aGUKK2RpZmZlcmVuY2UgaW4gdGhlIHdheSB0 aGF0IGNvbW1hbmRzIGFzc29jaWF0ZWQgdG8gZHByaW50ZiBicmVha3BvaW50cwordmVyc3VzIHJl Z3VsYXIgYnJlYWtwb2ludHMgYXJlIGhhbmRsZWQuICBXaGlsZSB0aGV5IGJvdGggdXNlIGEgY29t bWFuZAorbGlzdCBhc3NvY2lhdGVkIHdpdGggdGhlIGJyZWFrcG9pbnQsIHJlZ3VsYXIgYnJlYWtw b2ludHMgd2lsbCBwbGFjZQordGhlIGNvbW1hbmRzIHRvIGJlIHJ1biBvbiB0aGUgYnBzdGF0IGNo YWluIGNvbnN0cnVjdGVkIGluCiticF9zdG9wX3N0YXR1cygpLiAgVGhlc2UgY29tbWFuZHMgYXJl IHJ1biBsYXRlciBvbi4gIEZvciBkcHJpbnRmCiticmVha3BvaW50cywgY29tbWFuZHMgYXJlIHJ1 biB2aWEgdGhlICdhZnRlcl9jb25kaXRpb25fdHJ1ZScgZnVuY3Rpb24KK3BvaW50ZXIgZGlyZWN0 bHkgZnJvbSBicHN0YXRfc3RvcF9zdGF0dXMoKS4gIChUaGUgJ2NvbW1hbmRzJyBmaWVsZCBpbgor dGhlIGJwc3RhdCBpcyBjbGVhcmVkIGluIGRwcmludGZfYWZ0ZXJfY29uZGl0aW9uX3RydWUoKS4g IFRoaXMKK3ByZXZlbnRzIHRoZSBkcHJpbnRmIGNvbW1hbmRzIGZyb20gYmVpbmcgcnVuIGFnYWlu IGxhdGVyIG9uIHdoZW4gb3RoZXIKK2NvbW1hbmRzIG9uIHRoZSBicHN0YXQgY2hhaW4gYXJlIHBy b2Nlc3NlZC4pCisKK0Fub3RoZXIgdGhpbmcgdGhhdCBJIG5vdGljZWQgaXMgdGhhdCBkcHJpbnRm IGJyZWFrcG9pbnRzIGFyZSB0aGUgb25seQordHlwZSBvZiBicmVha3BvaW50IHdoaWNoIHVzZSAn YWZ0ZXJfY29uZGl0aW9uX3RydWUnLiAgVGhpcyBzdWdnZXN0cwordGhhdCBvbmUgcG9zc2libGUg d2F5IG9mIGZpeGluZyB0aGlzIHByb2JsZW0sIHRoYXQgb2YgbWFraW5nIGRwcmludGYKK2JyZWFr cG9pbnRzIHdvcmsgbW9yZSBsaWtlIHJlZ3VsYXIgYnJlYWtwb2ludHMsIHByb2JhYmx5IHdvbid0 IHdvcmsuCisoSSBtdXN0IGFkbWl0LCBob3dldmVyLCB0aGF0IG15IHVuZGVyc3RhbmRpbmcgb2Yg dGhpcyBjb2RlIGlzbid0Citjb21wbGV0ZSBlbm91Z2ggdG8gc2F5IHdoeS4gIEknbGwgdHJ1c3Qg dGhhdCB3aG9ldmVyIGltcGxlbWVudGVkIGl0CitoYWQgYSBnb29kIHJlYXNvbiBmb3IgZG9pbmcg aXQgdGhpcyB3YXkuKQorCitUaGUgY29tbWVudCByZWZlcmVuY2VkIGVhcmxpZXIgcmVnYXJkaW5n ICdleGVjdXRpbmdfYnJlYWtwb2ludF9jb21tYW5kcycKK3N0YXRlcyB0aGF0IHRoZSByZWFzb24g Zm9yIGNoZWNraW5nIHRoaXMgdmFyaWFibGUgaXMgdG8gYXZvaWQKK3BvdGVudGlhbCBlbmRsZXNz IHJlY3Vyc2lvbiB3aGVuIGEgJ3NvdXJjZScgY29tbWFuZCBhcHBlYXJzIGluCiticy0+Y29tbWFu ZHMuICBXZSBrbm93IHRoYXQgYSBkcHJpbnRmIGNvbW1hbmQgaXMgY29uc3RyYWluZWQgdG8gZWl0 aGVyCisxKSBleGVjdXRpb24gb2YgYSBHREIgcHJpbnRmIGNvbW1hbmQsIDIpIGFuIGluZmVyaW9y IGZ1bmN0aW9uIGNhbGwgb2YKK2EgcHJpbnRmLWxpa2UgZnVuY3Rpb24sIG9yIDMpIGV4ZWN1dGlv biBvZiBhbiBhZ2VudC1wcmludGYgY29tbWFuZC4KK1RoZXJlZm9yZSwgaW5maW5pdGUgcmVjdXJz aW9uIGR1ZSB0byBhICdzb3VyY2UnIGNvbW1hbmQgY2Fubm90IGhhcHBlbgord2hlbiBleGVjdXRp bmcgY29tbWFuZHMgdXBvbiBoaXR0aW5nIGEgZHByaW50ZiBicmVha3BvaW50LgorCitJIGNob3Nl IHRvIGZpeCB0aGlzIHByb2JsZW0gYnkgaGF2aW5nIGRwcmludGZfYWZ0ZXJfY29uZGl0aW9uX3Ry dWUoKQorZGlyZWN0bHkgY2FsbCBleGVjdXRlX2NvbnRyb2xfY29tbWFuZHMoKS4gIFRoaXMgbWVh bnMgdGhhdCBpdCBubworbG9uZ2VyIGF0dGVtcHRzIHRvIGdvIHRocm91Z2ggYnBzdGF0X2RvX2Fj dGlvbnNfMSgpIGF2b2lkaW5nIHRoZQoraW5maW5pdGUgcmVjdXJzaW9uIGNoZWNrIGZvciBwb3Rl bnRpYWwgJ3NvdXJjZScgY29tbWFuZHMgb24gdGhlCitjb21tYW5kIGNoYWluLiAgSSB0aGluayBp dCBzaW1wbGlmaWVzIHRoaXMgY29kZSBhIGxpdHRsZSBiaXQgdG9vLCBhCitkZWZpbml0ZSBib251 cy4KKworU3VtbWFyeToKKworCSogYnJlYWtwb2ludC5jIChkcHJpbnRmX2FmdGVyX2NvbmRpdGlv bl90cnVlKTogRG9uJ3QgY2FsbAorCWJwc3RhdF9kb19hY3Rpb25zXzEoKS4gIENhbGwgZXhlY3V0 ZV9jb250cm9sX2NvbW1hbmRzKCkKKwlpbnN0ZWFkLgorCitkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFr cG9pbnQuYyBiL2dkYi9icmVha3BvaW50LmMKKy0tLSBhL2dkYi9icmVha3BvaW50LmMKKysrKyBi L2dkYi9icmVha3BvaW50LmMKK0BAIC0xMzA0Myw5ICsxMzA0Myw2IEBAIGRwcmludGZfcHJpbnRf cmVjcmVhdGUgKHN0cnVjdCBicmVha3BvaW50ICp0cCwgc3RydWN0IHVpX2ZpbGUgKmZwKQorIHN0 YXRpYyB2b2lkCisgZHByaW50Zl9hZnRlcl9jb25kaXRpb25fdHJ1ZSAoc3RydWN0IGJwc3RhdHMg KmJzKQorIHsKKy0gIHN0cnVjdCBicHN0YXRzIHRtcF9iczsKKy0gIHN0cnVjdCBicHN0YXRzICp0 bXBfYnNfcCA9ICZ0bXBfYnM7CistCisgICAvKiBkcHJpbnRmJ3MgbmV2ZXIgY2F1c2UgYSBzdG9w LiAgVGhpcyB3YXNuJ3Qgc2V0IGluIHRoZQorICAgICAgY2hlY2tfc3RhdHVzIGhvb2sgaW5zdGVh ZCBiZWNhdXNlIHRoYXQgd291bGQgbWFrZSB0aGUgZHByaW50ZidzCisgICAgICBjb25kaXRpb24g bm90IGJlIGV2YWx1YXRlZC4gICovCitAQCAtMTMwNTYsMTQgKzEzMDUzLDkgQEAgZHByaW50Zl9h ZnRlcl9jb25kaXRpb25fdHJ1ZSAoc3RydWN0IGJwc3RhdHMgKmJzKQorICAgICAgYnBzdGF0X2Rv X2FjdGlvbnMsIGlmIGEgYnJlYWtwb2ludCB0aGF0IGNhdXNlcyBhIHN0b3AgaGFwcGVucyB0bwor ICAgICAgYmUgc2V0IGF0IHNhbWUgYWRkcmVzcyBhcyB0aGlzIGRwcmludGYsIG9yIGV2ZW4gaWYg cnVubmluZyB0aGUKKyAgICAgIGNvbW1hbmRzIGhlcmUgdGhyb3dzLiAgKi8KKy0gIHRtcF9icy5j b21tYW5kcyA9IGJzLT5jb21tYW5kczsKKy0gIGJzLT5jb21tYW5kcyA9IE5VTEw7CistCistICBi cHN0YXRfZG9fYWN0aW9uc18xICgmdG1wX2JzX3ApOworLQorLSAgLyogJ3RtcF9icy5jb21tYW5k cycgd2lsbCB1c3VhbGx5IGJlIE5VTEwgYnkgbm93LCBidXQKKy0gICAgIGJwc3RhdF9kb19hY3Rp b25zXzEgbWF5IHJldHVybiBlYXJseSB3aXRob3V0IHByb2Nlc3NpbmcgdGhlIHdob2xlCistICAg ICBsaXN0LiAgKi8KKysgIGNvdW50ZWRfY29tbWFuZF9saW5lIGNtZHMgPSBzdGQ6Om1vdmUgKGJz LT5jb21tYW5kcyk7CisrICBnZGJfYXNzZXJ0IChjbWRzICE9IG51bGxwdHIpOworKyAgZXhlY3V0 ZV9jb250cm9sX2NvbW1hbmRzIChjbWRzLmdldCAoKSwgMCk7CisgfQorIAorIC8qIFRoZSBicmVh a3BvaW50X29wcyBzdHJ1Y3R1cmUgdG8gYmUgdXNlZCBvbiBzdGF0aWMgdHJhY2Vwb2ludHMgd2l0 aAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MjAyMjE3Ny1kcHJpbnRmLTIucGF0Y2ggYi9nZGItcmhi ejIwMjIxNzctZHByaW50Zi0yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjQ0YmNkODcKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmhiejIwMjIxNzctZHByaW50Zi0y LnBhdGNoCkBAIC0wLDAgKzEsMTk0IEBACitGcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgor RGF0ZTogV2VkLCAxMCBOb3YgMjAyMSAxODo1NTo0MyAtMDcwMAorU3ViamVjdDogZ2RiLXJoYnoy MDIyMTc3LWRwcmludGYtMi5wYXRjaAorCis7OyBCYWNrcG9ydCB0ZXN0IGNhc2UgZm9yIGRwcmlu dGYgYnVnIChSSCBCWiAyMDIyMTc3KS4KKworVGVzdCBjYXNlIGZvciBCdWcgMjgzMDgKKworVGhl IHB1cnBvc2Ugb2YgdGhpcyB0ZXN0IGlzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudHMgaW4KK2Rw cmludGYtZXhlY3V0aW9uLXgtc2NyaXB0LmV4cC4KKworQnVnOiBodHRwczovL3NvdXJjZXdhcmUu b3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yODMwOAorCitUaGUgbmFtZSBvZiB0aGlzIG5l dyB0ZXN0IHdhcyBiYXNlZCBvbiB0aGF0IG9mIGFuIGV4aXN0aW5nIHRlc3QsCiticC1jbWRzLWV4 ZWN1dGlvbi14LXNjcmlwdC5leHAuICBJIHN0YXJ0ZWQgb2ZmIGJ5IGNvcHlpbmcgdGhhdCB0ZXN0 LAorYWRkaW5nIHRvIGl0LCBhbmQgdGhlbiByZXdyaXRpbmcgYWxtb3N0IGFsbCBvZiBpdC4gIEl0 J3MgZGlmZmVyZW50Citlbm91Z2ggdGhhdCBJIGRlY2lkZWQgdGhhdCBsaXN0aW5nIHRoZSBjb3B5 cmlnaHQgeWVhciBhcyAyMDIxCit3YXMgc3VmZmljaWVudC4KKworZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQuYyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQuYworbmV3IGZpbGUgbW9k ZSAxMDA2NDQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZHBy aW50Zi1leGVjdXRpb24teC1zY3JpcHQuYworQEAgLTAsMCArMSw1MyBAQAorKy8qIFRoaXMgdGVz dGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0 IDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KysgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisrICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysjaW5j bHVkZSA8c3RkaW8uaD4KKysKKyt2b2xhdGlsZSBpbnQgdmkgPSAwOworKworK3ZvaWQKKytpbmNf dmkgKCkKKyt7CisrICB2aSsrOworK30KKysKKyt2b2lkCisrcHJpbnRfdmkgKCkKKyt7CisrICBw cmludGYgKCJ2aT0lZFxuIiwgdmkpOworK30KKysKKyt2b2lkCisraW5jcmVtZW50ICgpCisrewor KyAgaW5jX3ZpICgpOworK30KKysKKytpbnQKKyttYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CisreworKyAgcHJpbnRfdmkgKCk7CisrICBpbmNyZW1lbnQgKCk7CisrICBwcmludF92aSAoKTsK KysgIGluY3JlbWVudCAoKTsKKysgIHByaW50X3ZpICgpOworKyAgaW5jcmVtZW50ICgpOworKyAg cHJpbnRfdmkgKCk7CisrCisrICBleGl0ICgwKTsKKyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9kcHJpbnRmLWV4ZWN1dGlvbi14LXNjcmlwdC5leHAgYi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2RwcmludGYtZXhlY3V0aW9uLXgtc2NyaXB0LmV4cAorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKKy0tLSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZHBy aW50Zi1leGVjdXRpb24teC1zY3JpcHQuZXhwCitAQCAtMCwwICsxLDg1IEBACisrIyBDb3B5cmln aHQgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysjIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor KyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uICAqLworKworKyMgVGVzdCB0aGF0IGNvbW1hbmRzIGluIGEgR0RCIHNj cmlwdCBmaWxlIHJ1biB2aWEgR0RCJ3MgLXggZmxhZyB3b3JrCisrIyBhcyBleHBlY3RlZC4gIFNw ZWNpZmljYWxseSwgdGhlIHNjcmlwdCBjcmVhdGVzIGEgZHByaW50ZiBicmVha3BvaW50CisrIyBh cyB3ZWxsIGFzIGEgbm9ybWFsIGJyZWFrcG9pbnQgdGhhdCBoYXMgImNvbnRpbnVlIiBpbiBpdHMg Y29tbWFuZAorKyMgbGlzdCwgYW5kIHRoZW4gZG9lcyAicnVuIi4gIENvcnJlY3Qgb3V0cHV0IGZy b20gR0RCIGlzIGNoZWNrZWQgYXMKKysjIHBhcnQgb2YgdGhpcyB0ZXN0LgorKworKyMgQmFpbCBv dXQgaWYgdGhlIHRhcmdldCBjYW4ndCB1c2UgdGhlICdydW4nIGNvbW1hbmQuCisraWYgIVt0YXJn ZXRfY2FuX3VzZV9ydW5fY21kXSB7CisrICAgIHJldHVybiAwCisrfQorKworK3N0YW5kYXJkX3Rl c3RmaWxlCisrCisraWYge1tidWlsZF9leGVjdXRhYmxlICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRl c3RmaWxlICRzcmNmaWxlIGRlYnVnXX0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisrIyBUaGlz IGlzIHRoZSBuYW1lIG9mIHRoZSBHREIgc2NyaXB0IHRvIGxvYWQuCisrc2V0IHhfZmlsZSAke3Ny Y2Rpcn0vJHtzdWJkaXJ9LyR0ZXN0ZmlsZS5nZGIKKysKKysjIENyZWF0ZSBjb250ZXh0IGluIHdo aWNoIHRoZSBnbG9iYWwsIEdEQkZMQUdTLCB3aWxsIGJlIHJlc3RvcmVkIGF0CisrIyB0aGUgZW5k IG9mIHRoZSBibG9jay4gIEFsbCBjb21tYW5kcyBydW4gd2l0aGluIHRoZSBibG9jayBhcmUKKysj IGFjdHVhbGx5IHJ1biBpbiB0aGUgb3V0ZXIgY29udGV4dC4gIChUaGlzIGlzIHdoeSAncmVzJyBp cyBhdmFpbGFibGUKKysjIG91dHNpZGUgb2YgdGhlIHNhdmVfdmFycyBibG9jay4pCisrc2F2ZV92 YXJzIHsgR0RCRkxBR1MgfSB7CisrICAgICMgU2V0IGZsYWdzIHdpdGggd2hpY2ggdG8gc3RhcnQg R0RCLgorKyAgICBhcHBlbmQgR0RCRkxBR1MgIiAtZXggXCJzZXQgaGVpZ2h0IHVubGltaXRlZFwi IgorKyAgICBhcHBlbmQgR0RCRkxBR1MgIiAteCBcIiR4X2ZpbGVcIiIKKysgICAgYXBwZW5kIEdE QkZMQUdTICIgLS1hcmdzIFwiJGJpbmZpbGVcIiIKKysKKysgICAgIyBTdGFydCBHREIgd2l0aCBh Ym92ZSBmbGFncy4KKysgICAgc2V0IHJlcyBbZ2RiX3NwYXduXQorK30KKysKKytzZXQgdGVzdCAi bG9hZCBhbmQgcnVuIHNjcmlwdCB3aXRoIC14IgorK2lmIHsgJHJlcyAhPSAwfSB7CisrICAgIGZh aWwgJHRlc3QKKysgICAgcmV0dXJuIC0xCisrfQorKworKyMgVGhlIHNjcmlwdCBsb2FkZWQgdmlh IC14IGNvbnRhaW5zIGEgcnVuIGNvbW1hbmQ7IHdoaWxlIHJ1bm5pbmcsIEdEQgorKyMgaXMgZXhw ZWN0ZWQgdG8gcHJpbnQgdGhyZWUgbWVzc2FnZXMgZnJvbSBkcHJpbnRmIGJyZWFrcG9pbnRzIGFs b25nCisrIyB3aXRoIHRocmVlIGludGVyc3BlcnNlZCBtZXNzYWdlcyBmcm9tIGFuIG9yZGluYXJ5 IGJyZWFrcG9pbnQgKHdoaWNoCisrIyB3YXMgc2V0IHVwIHdpdGggYSBjb250aW51ZSBjb21tYW5k KS4gIFNldCB1cCBwYXR0ZXJuIEQgdG8gbWF0Y2gKKysjIG91dHB1dCBmcm9tIGhpdHRpbmcgdGhl IGRwcmludGYgYnJlYWtwb2ludCBhbmQgQiBmb3IgdGhlIG9yZGluYXJ5CisrIyBicmVha3BvaW50 LiAgVGhlbiBzZXQgUEFUIHRvIGNvbnRhaW4gdGhlIGVudGlyZSBwYXR0ZXJuIG9mIGV4cGVjdGVk CisrIyBvdXRwdXQgZnJvbSB0aGUgaW50ZXJzcGVyc2VkIGRwcmludGYgYW5kIG9yZGluYXJ5IGJy ZWFrcG9pbnRzIGFsb25nCisrIyB3aXRoIHNvbWUgKGFkZGl0aW9uYWwpIGV4cGVjdGVkIG91dHB1 dCBmcm9tIHRoZSBkcHJpbnRmIGJyZWFrcG9pbnRzLAorKyMgaS5lLiAwLCAxLCBhbmQgMi4KKytz ZXQgZCAiZHByaW50ZiBpbiBpbmNyZW1lbnQuLiwgdmk9IgorK3NldCBiICJCcmVha3BvaW50IC4s IGluY192aSIKKytzZXQgcGF0ICIke2R9MC4qPyRiLio/JHtkfTEuKj8kYi4qPyR7ZH0yLio/JGIu Kj8iCisrCisrcHJvYyBkb190ZXN0IHtjbWQgdGVzdH0geworKyAgICBnZGJfdGVzdCAkY21kICIk OjpwYXQkOjppbmZlcmlvcl9leGl0ZWRfcmUgbm9ybWFsbHkuKiIgJHRlc3QKKyt9CisrCisrIyBD aGVjayBvdXRwdXQgZnJvbSBydW5uaW5nIHNjcmlwdCB3aXRoIC14CisrZG9fdGVzdCAiIiAkdGVz dAorKworKyMgUmVzdGFydCBHREIgYW5kICdzb3VyY2UnIHRoZSBzY3JpcHQ7IHRoaXMgd2lsbCAo c3RpbGwpIHJ1biB0aGUgcHJvZ3JhbQorKyMgZHVlIHRvIHRoZSAncnVuJyBjb21tYW5kIGluIHRo ZSBzY3JpcHQuCisrY2xlYW5fcmVzdGFydCAkYmluZmlsZQorK2RvX3Rlc3QgInNvdXJjZSAkeF9m aWxlIiAibG9hZCBhbmQgcnVuIHNjcmlwdCB1c2luZyBzb3VyY2UgY29tbWFuZCIKKysKKysjIFRo aXMgc2hvdWxkIGxlYXZlIHVzIGF0IHRoZSBnZGIgcHJvbXB0OyBSdW4gcHJvZ3JhbSBhZ2FpbiB1 c2luZworKyMgYWxyZWFkeSBlc3RhYmxpc2hlZCBicmVha3BvaW50cywgaS5lLiB0aG9zZSBsb2Fk ZWQgZnJvbSB0aGUKKysjIHNjcmlwdC4gIFByaW9yIHRvIGZpeGluZyBQUiAyODMwOCwgdGhpcyB3 YXMgdGhlIG9ubHkgdGVzdCB0aGF0CisrIyB3b3VsZCBwYXNzLgorK2RvX3Rlc3QgInJ1biIgInJ1 biBhZ2FpbiIKK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RwcmludGYtZXhl Y3V0aW9uLXgtc2NyaXB0LmdkYiBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZHByaW50Zi1leGVj dXRpb24teC1zY3JpcHQuZ2RiCituZXcgZmlsZSBtb2RlIDEwMDY0NAorLS0tIC9kZXYvbnVsbAor KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kcHJpbnRmLWV4ZWN1dGlvbi14LXNjcmlwdC5n ZGIKK0BAIC0wLDAgKzEsMjEgQEAKKysjIENvcHlyaWdodCAyMDIxIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorKworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisr ZHByaW50ZiBpbmNyZW1lbnQsICJkcHJpbnRmIGluIGluY3JlbWVudCgpLCB2aT0lZFxuIiwgdmkK KyticmVhayBpbmNfdmkKKytjb21tYW5kcworKyAgY29udGludWUKKytlbmQKKytydW4KCmRpZmYg LS1naXQgYS9nZGIuc3BlYyBiL2dkYi5zcGVjCmluZGV4IGIyYWMyMGYuLmU1NjAxNWYgMTAwNjQ0 Ci0tLSBhL2dkYi5zcGVjCisrKyBiL2dkYi5zcGVjCkBAIC0zNyw3ICszNyw3IEBAIFZlcnNpb246 IDExLjEKIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVk IG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBu YW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRl c3RpbmcuCi1SZWxlYXNlOiA0JXs/ZGlzdH0KK1JlbGVhc2U6IDUlez9kaXN0fQogCiBMaWNlbnNl OiBHUEx2MysgYW5kIEdQTHYzKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTHYyKyBhbmQgR1BMdjIr IHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMKyBhbmQgTEdQTHYyKyBhbmQgTEdQTHYzKyBhbmQgQlNE IGFuZCBQdWJsaWMgRG9tYWluIGFuZCBHRkRMCiAjIERvIG5vdCBwcm92aWRlIFVSTCBmb3Igc25h cHNob3RzIGFzIHRoZSBmaWxlIGxhc3RzIHRoZXJlIG9ubHkgZm9yIDIgZGF5cy4KQEAgLTExNDMs NiArMTE0MywxMCBAQCBmaQogJWVuZGlmCiAKICVjaGFuZ2Vsb2cKKyogV2VkIE5vdiAxMCAyMDIx IEtldmluIEJ1ZXR0bmVyIC0gMTEuMS01CistIEJhY2twb3J0IHVwc3RyZWFtIGZpeCBhbmQgdGVz dCBjYXNlIGZvciBhIGRwcmludGYgYnVnIChSSEJaIDIwMjIxNzcsIEtldmluCisgIEJ1ZXR0bmVy KS4KKwogKiBUdWUgTm92IDkgMjAyMSBCcnVubyBMYXJzZW4gLSAxMS4xLTQKIC0gQmFja3BvcnQg bWFucGFnZSB1cGRhdGUgdG8gYmUgY2xvc2VyIHRvIC1oZWxwIChSSEJaIDg1MzA3MSkKIAo=