From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patchwork Subject: =?utf-8?q?=E2=9C=97_Fi=2ECI=2ECHECKPATCH=3A_warning_f?= =?utf-8?q?or_series_starting_with_=5B01/46=5D_drm/i915=3A_Hack_and_slash?= =?utf-8?q?=2C_throttle_execbuffer_hogs?= Date: Wed, 06 Feb 2019 13:52:58 -0000 Message-ID: <20190206135258.9301.43339@emeril.freedesktop.org> References: <20190206130356.18771-1-chris@chris-wilson.co.uk> Reply-To: intel-gfx@lists.freedesktop.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190206130356.18771-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org PT0gU2VyaWVzIERldGFpbHMgPT0KClNlcmllczogc2VyaWVzIHN0YXJ0aW5nIHdpdGggWzAxLzQ2 XSBkcm0vaTkxNTogSGFjayBhbmQgc2xhc2gsIHRocm90dGxlIGV4ZWNidWZmZXIgaG9ncwpVUkwg ICA6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJpZXMvNTYyODEvClN0YXRl IDogd2FybmluZwoKPT0gU3VtbWFyeSA9PQoKJCBkaW0gY2hlY2twYXRjaCBvcmlnaW4vZHJtLXRp cAphYzk2ZGQxOWMwMDggZHJtL2k5MTU6IEhhY2sgYW5kIHNsYXNoLCB0aHJvdHRsZSBleGVjYnVm ZmVyIGhvZ3MKM2RlOWUyODE2ZmFlIGRybS9pOTE1OiBSZXZva2UgbW1hcHMgYW5kIHByZXZlbnQg YWNjZXNzIHRvIGZlbmNlIHJlZ2lzdGVycyBhY3Jvc3MgcmVzZXQKMzQ3NWQyMDFiNTVhIGRybS9p OTE1OiBGb3JjZSB0aGUgR1BVIHJlc2V0IHVwb24gd2VkZ2luZwoyOWNiNzg5M2ZkYzEgZHJtL2k5 MTU6IFVuaW50ZXJydXB0aWJseSBkcmFpbiB0aGUgdGltZWxpbmVzIG9uIHVud2VkZ2luZwo1YjE2 NjE5MjVjZDAgZHJtL2k5MTU6IFdhaXQgZm9yIG9sZCByZXNldHMgYmVmb3JlIGFwcGx5aW5nIGRl YnVnZnMvaTkxNV93ZWRnZWQKNDNiNWRkNzY5OGI5IGRybS9pOTE1OiBTZXJpYWxpc2UgcmVzZXRz IHdpdGggd2VkZ2luZwoxMjJkMGY5NmMwODcgZHJtL2k5MTU6IERvbid0IGNsYWltIGFuIHVuc3Rh cnRlZCByZXF1ZXN0IHdhcyBndWlsdHkKYjRjYjVlYzllNDVjIGRybS9pOTE1L2V4ZWNsaXN0czog U3VwcHJlc3MgbWVyZSBXQUlUIHByZWVtcHRpb24KMjI2YTZhZjE5YWRiIGRybS9pOTE1L2V4ZWNs aXN0czogU3VwcHJlc3MgcmVkdW5kYW50IHByZWVtcHRpb24KMDljYWFiOTVjZmI4IGRybS9pOTE1 OiBNYWtlIHJlcXVlc3QgYWxsb2NhdGlvbiBjYWNoZXMgZ2xvYmFsCi06MTYyOiBXQVJOSU5HOkZJ TEVfUEFUSF9DSEFOR0VTOiBhZGRlZCwgbW92ZWQgb3IgZGVsZXRlZCBmaWxlKHMpLCBkb2VzIE1B SU5UQUlORVJTIG5lZWQgdXBkYXRpbmc/CiMxNjI6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKLTox Njc6IFdBUk5JTkc6U1BEWF9MSUNFTlNFX1RBRzogTWlzc2luZyBvciBtYWxmb3JtZWQgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXIgdGFnIGluIGxpbmUgMQojMTY3OiBGSUxFOiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dsb2JhbHMuYzoxOgorLyoKCi06Mjc4OiBXQVJOSU5HOlNQRFhfTElDRU5T RV9UQUc6IE1pc3Npbmcgb3IgbWFsZm9ybWVkIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyIHRhZyBp biBsaW5lIDEKIzI3ODogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nbG9iYWxzLmg6 MToKKy8qCgotOjYxOTogQ0hFQ0s6TUFDUk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVz ZSAncGxpc3QnIC0gcG9zc2libGUgc2lkZS1lZmZlY3RzPwojNjE5OiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oOjk1OgorI2RlZmluZSBwcmlvbGlzdF9mb3JfZWFj aF9yZXF1ZXN0KGl0LCBwbGlzdCwgaWR4KSBcCisJZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9T SVpFKChwbGlzdCktPnJlcXVlc3RzKTsgaWR4KyspIFwKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShp dCwgJihwbGlzdCktPnJlcXVlc3RzW2lkeF0sIHNjaGVkLmxpbmspCgotOjYxOTogQ0hFQ0s6TUFD Uk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVzZSAnaWR4JyAtIHBvc3NpYmxlIHNpZGUt ZWZmZWN0cz8KIzYxOTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIu aDo5NToKKyNkZWZpbmUgcHJpb2xpc3RfZm9yX2VhY2hfcmVxdWVzdChpdCwgcGxpc3QsIGlkeCkg XAorCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRSgocGxpc3QpLT5yZXF1ZXN0cyk7IGlk eCsrKSBcCisJCWxpc3RfZm9yX2VhY2hfZW50cnkoaXQsICYocGxpc3QpLT5yZXF1ZXN0c1tpZHhd LCBzY2hlZC5saW5rKQoKLTo2MjM6IENIRUNLOk1BQ1JPX0FSR19SRVVTRTogTWFjcm8gYXJndW1l bnQgcmV1c2UgJ3BsaXN0JyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0cz8KIzYyMzogRklMRTogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaDo5OToKKyNkZWZpbmUgcHJpb2xpc3Rf Zm9yX2VhY2hfcmVxdWVzdF9jb25zdW1lKGl0LCBuLCBwbGlzdCwgaWR4KSBcCisJZm9yICg7IChp ZHggPSBmZnMoKHBsaXN0KS0+dXNlZCkpOyAocGxpc3QpLT51c2VkICY9IH5CSVQoaWR4IC0gMSkp IFwKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGl0LCBuLCBcCisJCQkJCSAmKHBsaXN0KS0+ cmVxdWVzdHNbaWR4IC0gMV0sIFwKKwkJCQkJIHNjaGVkLmxpbmspCgotOjYyMzogQ0hFQ0s6TUFD Uk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVzZSAnaWR4JyAtIHBvc3NpYmxlIHNpZGUt ZWZmZWN0cz8KIzYyMzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIu aDo5OToKKyNkZWZpbmUgcHJpb2xpc3RfZm9yX2VhY2hfcmVxdWVzdF9jb25zdW1lKGl0LCBuLCBw bGlzdCwgaWR4KSBcCisJZm9yICg7IChpZHggPSBmZnMoKHBsaXN0KS0+dXNlZCkpOyAocGxpc3Qp LT51c2VkICY9IH5CSVQoaWR4IC0gMSkpIFwKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGl0 LCBuLCBcCisJCQkJCSAmKHBsaXN0KS0+cmVxdWVzdHNbaWR4IC0gMV0sIFwKKwkJCQkJIHNjaGVk LmxpbmspCgp0b3RhbDogMCBlcnJvcnMsIDMgd2FybmluZ3MsIDQgY2hlY2tzLCA4MDMgbGluZXMg Y2hlY2tlZAo2YzRmNDk1OTNjZjkgZHJtL2k5MTU6IEtlZXAgdGltZWxpbmUgSFdTUCBhbGxvY2F0 ZWQgdW50aWwgaWRsZSBhY3Jvc3MgdGhlIHN5c3RlbQo4YzA3YjQ2NjRlOWYgZHJtL2k5MTUvZXhl Y2xpc3RzOiBSZWZhY3RvciBvdXQgY2FuX21lcmdlX3JxKCkKN2VjNTYwMWI0YmM0IGRybS9pOTE1 OiBDb21wdXRlIHRoZSBnbG9iYWwgc2NoZWR1bGVyIGNhcHMKMzVhNTU5MGNlYTljIGRybS9pOTE1 OiBVc2UgSFcgc2VtYXBob3JlcyBmb3IgaW50ZXItZW5naW5lIHN5bmNocm9uaXNhdGlvbiBvbiBn ZW44KwotOjMzMzogQ0hFQ0s6U1BBQ0lORzogc3BhY2VzIHByZWZlcnJlZCBhcm91bmQgdGhhdCAn PDwnIChjdHg6VnhWKQojMzMzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ncHVf Y29tbWFuZHMuaDoxMDk6CisjZGVmaW5lICAgTUlfU0VNQVBIT1JFX1NBRF9HVF9TREQJKDA8PDEy KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCSAgXgoKLTozMzU6IENIRUNLOlNQ QUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5kIHRoYXQgJzw8JyAoY3R4OlZ4VikKIzMzNTog RklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3B1X2NvbW1hbmRzLmg6MTExOgorI2Rl ZmluZSAgIE1JX1NFTUFQSE9SRV9TQURfTFRfU0RECSgyPDwxMikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAkgIF4KCi06MzM2OiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVy cmVkIGFyb3VuZCB0aGF0ICc8PCcgKGN0eDpWeFYpCiMzMzY6IEZJTEU6IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2dwdV9jb21tYW5kcy5oOjExMjoKKyNkZWZpbmUgICBNSV9TRU1BUEhPUkVf U0FEX0xURV9TREQJKDM8PDEyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkg IF4KCi06MzM3OiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICc8 PCcgKGN0eDpWeFYpCiMzMzc6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2dwdV9j b21tYW5kcy5oOjExMzoKKyNkZWZpbmUgICBNSV9TRU1BUEhPUkVfU0FEX0VRX1NERAkoNDw8MTIp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICBeCgotOjMzODogQ0hFQ0s6U1BB Q0lORzogc3BhY2VzIHByZWZlcnJlZCBhcm91bmQgdGhhdCAnPDwnIChjdHg6VnhWKQojMzM4OiBG SUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ncHVfY29tbWFuZHMuaDoxMTQ6CisjZGVm aW5lICAgTUlfU0VNQVBIT1JFX1NBRF9ORVFfU0RECSg1PDwxMikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAJICBeCgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3MsIDUgY2hl Y2tzLCAyOTggbGluZXMgY2hlY2tlZApmM2E5ODgzMWU1MmYgZHJtL2k5MTU6IFByaW9yaXRpc2Ug bm9uLWJ1c3l3YWl0IHNlbWFwaG9yZSB3b3JrbG9hZHMKMWMxNjkzZWZkM2E2IGRybS9pOTE1OiBT aG93IHN1cHBvcnQgZm9yIGFjY3VyYXRlIHN3IFBNVSBidXN5bmVzcyB0cmFja2luZwowMzY3NDQz Y2JmODEgZHJtL2k5MTU6IEFwcGx5IHJwcyB3YWl0Ym9vc3RpbmcgZm9yIGRtYV9mZW5jZV93YWl0 X3RpbWVvdXQoKQplOTc1ZDczOTg1MjEgZHJtL2k5MTU6IFJlcGxhY2UgZ2xvYmFsX3NlcW5vIHdp dGggYSBoYW5nY2hlY2sgaGVhcnRiZWF0IHNlcW5vCjlmYTBkMjRkNjI0ZCBkcm0vaTkxNS9wbXU6 IEFsd2F5cyBzYW1wbGUgYW4gYWN0aXZlIHJpbmdidWZmZXIKMjNjZDAyOWI3MTRjIGRybS9pOTE1 OiBSZW1vdmUgYWNjZXNzIHRvIGdsb2JhbCBzZXFubyBpbiB0aGUgSFdTUAowOTFjZWNkZTI4ZDEg ZHJtL2k5MTU6IFJlbW92ZSBpOTE1X3JlcXVlc3QuZ2xvYmFsX3NlcW5vCmQwNDNkZjgwZjJmMSBk cm0vaTkxNTogRm9yY2UgR1BVIGlkbGUgb24gc3VzcGVuZApjMTg4YTY3YzE2NDUgZHJtL2k5MTUv c2VsZnRlc3RzOiBJbXByb3ZlIHN3aXRjaC10by1rZXJuZWwtY29udGV4dCBjaGVja2luZwpkYzRk ODY1Mjk4NzUgZHJtL2k5MTU6IERvIGEgc3luY2hyb25vdXMgc3dpdGNoLXRvLWtlcm5lbC1jb250 ZXh0IG9uIGlkbGluZwo5YzJlOWNiNTIxZjUgZHJtL2k5MTU6IFN0b3JlIHRoZSBCSVQoZW5naW5l LT5pZCkgYXMgdGhlIGVuZ2luZSdzIG1hc2sKMjQ4ZmYwY2YxNzMxIGRybS9pOTE1OiBSZWZhY3Rv ciBjb21tb24gY29kZSB0byBsb2FkIGluaXRpYWwgcG93ZXIgY29udGV4dAowYjZmZDZiNWY3MjEg ZHJtL2k5MTU6IFJlZHVjZSBwcmVzdW1wdGlvbiBvZiByZXF1ZXN0IG9yZGVyaW5nIGZvciBiYXJy aWVycwotOjg6IFdBUk5JTkc6Q09NTUlUX01FU1NBR0U6IE1pc3NpbmcgY29tbWl0IGRlc2NyaXB0 aW9uIC0gQWRkIGFuIGFwcHJvcHJpYXRlIG9uZQoKLToyNjU6IEVSUk9SOk1JU1NJTkdfU0lHTl9P RkY6IE1pc3NpbmcgU2lnbmVkLW9mZi1ieTogbGluZShzKQoKdG90YWw6IDEgZXJyb3JzLCAxIHdh cm5pbmdzLCAwIGNoZWNrcywgMjAzIGxpbmVzIGNoZWNrZWQKZmUwNTk5NGUwMjA3IGRybS9pOTE1 OiBSZW1vdmUgaGFzLWtlcm5lbC1jb250ZXh0Cjg0ODM4NThkNjI5MiBkcm0vaTkxNTogSW50cm9k dWNlIHRoZSBpOTE1X3VzZXJfZXh0ZW5zaW9uX21ldGhvZAotOjU4OiBXQVJOSU5HOkZJTEVfUEFU SF9DSEFOR0VTOiBhZGRlZCwgbW92ZWQgb3IgZGVsZXRlZCBmaWxlKHMpLCBkb2VzIE1BSU5UQUlO RVJTIG5lZWQgdXBkYXRpbmc/CiM1ODogCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CgotOjYzOiBXQVJO SU5HOlNQRFhfTElDRU5TRV9UQUc6IE1pc3Npbmcgb3IgbWFsZm9ybWVkIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyIHRhZyBpbiBsaW5lIDEKIzYzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3VzZXJfZXh0ZW5zaW9ucy5jOjE6CisvKgoKLToxMTI6IFdBUk5JTkc6U1BEWF9MSUNFTlNF X1RBRzogTWlzc2luZyBvciBtYWxmb3JtZWQgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXIgdGFnIGlu IGxpbmUgMQojMTEyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3VzZXJfZXh0ZW5z aW9ucy5oOjE6CisvKgoKLToxNDA6IENIRUNLOk1BQ1JPX0FSR19SRVVTRTogTWFjcm8gYXJndW1l bnQgcmV1c2UgJ3B0cicgLSBwb3NzaWJsZSBzaWRlLWVmZmVjdHM/CiMxNDA6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfdXRpbHMuaDoxMDg6CisjZGVmaW5lIGNvbnRhaW5lcl9vZl91 c2VyKHB0ciwgdHlwZSwgbWVtYmVyKSAoewkJCQlcCisJdm9pZCBfX3VzZXIgKl9fbXB0ciA9ICh2 b2lkIF9fdXNlciAqKShwdHIpOwkJCVwKKwlCVUlMRF9CVUdfT05fTVNHKCFfX3NhbWVfdHlwZSgq KHB0ciksICgodHlwZSAqKTApLT5tZW1iZXIpICYmCVwKKwkJCSAhX19zYW1lX3R5cGUoKihwdHIp LCB2b2lkKSwJCQlcCisJCQkgInBvaW50ZXIgdHlwZSBtaXNtYXRjaCBpbiBjb250YWluZXJfb2Yo KSIpOwlcCisJKCh0eXBlIF9fdXNlciAqKShfX21wdHIgLSBvZmZzZXRvZih0eXBlLCBtZW1iZXIp KSk7IH0pCgotOjE0MDogQ0hFQ0s6TUFDUk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVz ZSAnbWVtYmVyJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0cz8KIzE0MDogRklMRTogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV91dGlscy5oOjEwODoKKyNkZWZpbmUgY29udGFpbmVyX29mX3VzZXIo cHRyLCB0eXBlLCBtZW1iZXIpICh7CQkJCVwKKwl2b2lkIF9fdXNlciAqX19tcHRyID0gKHZvaWQg X191c2VyICopKHB0cik7CQkJXAorCUJVSUxEX0JVR19PTl9NU0coIV9fc2FtZV90eXBlKCoocHRy KSwgKCh0eXBlICopMCktPm1lbWJlcikgJiYJXAorCQkJICFfX3NhbWVfdHlwZSgqKHB0ciksIHZv aWQpLAkJCVwKKwkJCSAicG9pbnRlciB0eXBlIG1pc21hdGNoIGluIGNvbnRhaW5lcl9vZigpIik7 CVwKKwkoKHR5cGUgX191c2VyICopKF9fbXB0ciAtIG9mZnNldG9mKHR5cGUsIG1lbWJlcikpKTsg fSkKCi06MTQwOiBDSEVDSzpNQUNST19BUkdfUFJFQ0VERU5DRTogTWFjcm8gYXJndW1lbnQgJ21l bWJlcicgbWF5IGJlIGJldHRlciBhcyAnKG1lbWJlciknIHRvIGF2b2lkIHByZWNlZGVuY2UgaXNz dWVzCiMxNDA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdXRpbHMuaDoxMDg6Cisj ZGVmaW5lIGNvbnRhaW5lcl9vZl91c2VyKHB0ciwgdHlwZSwgbWVtYmVyKSAoewkJCQlcCisJdm9p ZCBfX3VzZXIgKl9fbXB0ciA9ICh2b2lkIF9fdXNlciAqKShwdHIpOwkJCVwKKwlCVUlMRF9CVUdf T05fTVNHKCFfX3NhbWVfdHlwZSgqKHB0ciksICgodHlwZSAqKTApLT5tZW1iZXIpICYmCVwKKwkJ CSAhX19zYW1lX3R5cGUoKihwdHIpLCB2b2lkKSwJCQlcCisJCQkgInBvaW50ZXIgdHlwZSBtaXNt YXRjaCBpbiBjb250YWluZXJfb2YoKSIpOwlcCisJKCh0eXBlIF9fdXNlciAqKShfX21wdHIgLSBv ZmZzZXRvZih0eXBlLCBtZW1iZXIpKSk7IH0pCgp0b3RhbDogMCBlcnJvcnMsIDMgd2FybmluZ3Ms IDMgY2hlY2tzLCAxMDkgbGluZXMgY2hlY2tlZAozZDIxNzQxZDg2OGMgZHJtL2k5MTU6IFRyYWNr IGFjdGl2ZSBlbmdpbmVzIHdpdGhpbiBhIGNvbnRleHQKNTJiNjcyYzRlMjIyIGRybS9pOTE1OiBJ bnRyb2R1Y2UgYSBjb250ZXh0IGJhcnJpZXIgY2FsbGJhY2sKMzRlNDZmMDk0YzA1IGRybS9pOTE1 OiBDcmVhdGUvZGVzdHJveSBWTSAocHBHVFQpIGZvciB1c2Ugd2l0aCBjb250ZXh0cwotOjM3OiBD SEVDSzpVTkNPTU1FTlRFRF9ERUZJTklUSU9OOiBzdHJ1Y3QgbXV0ZXggZGVmaW5pdGlvbiB3aXRo b3V0IGNvbW1lbnQKIzM3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oOjIy MDoKKwlzdHJ1Y3QgbXV0ZXggdm1fbG9jazsKCi06NTUxOiBXQVJOSU5HOkxJTkVfU1BBQ0lORzog TWlzc2luZyBhIGJsYW5rIGxpbmUgYWZ0ZXIgZGVjbGFyYXRpb25zCiM1NTE6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmM6NTAzOgorCQlzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGU7CisJCUlHVF9USU1FT1VUKGVuZF90aW1lKTsKCi06NjI3OiBDSEVD SzpNVUxUSVBMRV9BU1NJR05NRU5UUzogbXVsdGlwbGUgYXNzaWdubWVudHMgc2hvdWxkIGJlIGF2 b2lkZWQKIzYyNzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2Vt X2NvbnRleHQuYzo1NjU6CisJCW5jb250ZXh0cyA9IGR3ID0gMDsKCi06Njc4OiBXQVJOSU5HOkxJ TkVfU1BBQ0lORzogTWlzc2luZyBhIGJsYW5rIGxpbmUgYWZ0ZXIgZGVjbGFyYXRpb25zCiM2Nzg6 IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmM6 NjEwOgorCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGU7CisJCUlHVF9USU1FT1VUKGVuZF90aW1lKTsK Ci06NzU4OiBDSEVDSzpNVUxUSVBMRV9BU1NJR05NRU5UUzogbXVsdGlwbGUgYXNzaWdubWVudHMg c2hvdWxkIGJlIGF2b2lkZWQKIzc1ODogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfZ2VtX2NvbnRleHQuYzo2ODY6CisJCW5jb250ZXh0cyA9IGR3ID0gMDsKCi06ODc2 OiBXQVJOSU5HOkxPTkdfTElORTogbGluZSBvdmVyIDEwMCBjaGFyYWN0ZXJzCiM4NzY6IEZJTEU6 IGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaDo0MDI6CisjZGVmaW5lIERSTV9JT0NUTF9JOTE1 X0dFTV9WTV9DUkVBVEUJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9W TV9DUkVBVEUsIHN0cnVjdCBkcm1faTkxNV9nZW1fdm1fY29udHJvbCkKCi06ODc3OiBXQVJOSU5H OkxPTkdfTElORTogbGluZSBvdmVyIDEwMCBjaGFyYWN0ZXJzCiM4Nzc6IEZJTEU6IGluY2x1ZGUv dWFwaS9kcm0vaTkxNV9kcm0uaDo0MDM6CisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9WTV9E RVNUUk9ZCURSTV9JT1cgKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fVk1fREVTVFJP WSwgc3RydWN0IGRybV9pOTE1X2dlbV92bV9jb250cm9sKQoKLTo4Nzc6IFdBUk5JTkc6U1BBQ0lO Rzogc3BhY2UgcHJvaGliaXRlZCBiZXR3ZWVuIGZ1bmN0aW9uIG5hbWUgYW5kIG9wZW4gcGFyZW50 aGVzaXMgJygnCiM4Nzc6IEZJTEU6IGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaDo0MDM6Cisj ZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9WTV9ERVNUUk9ZCURSTV9JT1cgKERSTV9DT01NQU5E X0JBU0UgKyBEUk1fSTkxNV9HRU1fVk1fREVTVFJPWSwgc3RydWN0IGRybV9pOTE1X2dlbV92bV9j b250cm9sKQoKLTo4Nzc6IEVSUk9SOkNPTVBMRVhfTUFDUk86IE1hY3JvcyB3aXRoIGNvbXBsZXgg dmFsdWVzIHNob3VsZCBiZSBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcwojODc3OiBGSUxFOiBpbmNs dWRlL3VhcGkvZHJtL2k5MTVfZHJtLmg6NDAzOgorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1f Vk1fREVTVFJPWQlEUk1fSU9XIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX1ZNX0RF U1RST1ksIHN0cnVjdCBkcm1faTkxNV9nZW1fdm1fY29udHJvbCkKCnRvdGFsOiAxIGVycm9ycywg NSB3YXJuaW5ncywgMyBjaGVja3MsIDgzMiBsaW5lcyBjaGVja2VkCjFlZTA3MjZkOTQxMyBkcm0v aTkxNTogRXh0ZW5kIENPTlRFWFRfQ1JFQVRFIHRvIHNldCBwYXJhbWV0ZXJzIHVwb24gY29uc3Ry dWN0aW9uCi06MjY6IFdBUk5JTkc6TE9OR19MSU5FOiBsaW5lIG92ZXIgMTAwIGNoYXJhY3RlcnMK IzI2OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jOjI5OTc6CisJRFJNX0lP Q1RMX0RFRl9EUlYoSTkxNV9HRU1fQ09OVEVYVF9DUkVBVEVfRVhULCBpOTE1X2dlbV9jb250ZXh0 X2NyZWF0ZV9pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCgotOjUyMjogV0FSTklORzpMT05HX0xJ TkU6IGxpbmUgb3ZlciAxMDAgY2hhcmFjdGVycwojNTIyOiBGSUxFOiBpbmNsdWRlL3VhcGkvZHJt L2k5MTVfZHJtLmg6MzkyOgorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fQ09OVEVYVF9DUkVB VEVfRVhUCURSTV9JT1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0NPTlRFWFRf Q1JFQVRFLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2V4dCkKCi06NTIyOiBX QVJOSU5HOlNQQUNJTkc6IHNwYWNlIHByb2hpYml0ZWQgYmV0d2VlbiBmdW5jdGlvbiBuYW1lIGFu ZCBvcGVuIHBhcmVudGhlc2lzICcoJwojNTIyOiBGSUxFOiBpbmNsdWRlL3VhcGkvZHJtL2k5MTVf ZHJtLmg6MzkyOgorI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fQ09OVEVYVF9DUkVBVEVfRVhU CURSTV9JT1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0NPTlRFWFRfQ1JFQVRF LCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2V4dCkKCi06NTIyOiBFUlJPUjpD T01QTEVYX01BQ1JPOiBNYWNyb3Mgd2l0aCBjb21wbGV4IHZhbHVlcyBzaG91bGQgYmUgZW5jbG9z ZWQgaW4gcGFyZW50aGVzZXMKIzUyMjogRklMRTogaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5o OjM5MjoKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX0NPTlRFWFRfQ1JFQVRFX0VYVAlEUk1f SU9XUiAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9DT05URVhUX0NSRUFURSwgc3Ry dWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9leHQpCgp0b3RhbDogMSBlcnJvcnMsIDMg d2FybmluZ3MsIDAgY2hlY2tzLCA2NjYgbGluZXMgY2hlY2tlZApmYjNlYzMyYzkzMjIgZHJtL2k5 MTU6IEFsbG93IGNvbnRleHRzIHRvIHNoYXJlIGEgc2luZ2xlIHRpbWVsaW5lIGFjcm9zcyBhbGwg ZW5naW5lcwo0N2MyZGI3ZjlkM2IgZHJtL2k5MTU6IEZpeCBJOTE1X0VYRUNfUklOR19NQVNLCmIy OWY2YWIwNDQ3MSBkcm0vaTkxNTogUmVtb3ZlIGxhc3QgdHJhY2VzIG9mIGV4ZWMtaWQgKEdFTV9C VVNZKQo3NjViY2RlOGMzZmMgZHJtL2k5MTU6IFJlLWFycmFuZ2UgZXhlY2J1ZiBzbyBjb250ZXh0 IGlzIGtub3duIGJlZm9yZSBlbmdpbmUKMDJhNGQ0OTcyNjdjIGRybS9pOTE1OiBBbGxvdyBhIGNv bnRleHQgdG8gZGVmaW5lIGl0cyBzZXQgb2YgZW5naW5lcwo3ZjAwZTQyYTBkNjcgZHJtL2k5MTU6 IEV4dGVuZCBJOTE1X0NPTlRFWFRfUEFSQU1fU1NFVSB0byBzdXBwb3J0IGxvY2FsIGN0eC0+ZW5n aW5lW10KMjUzMjdlYWFkNWYyIGRybS9pOTE1OiBQYXNzIGFyb3VuZCB0aGUgaW50ZWxfY29udGV4 dAphNTUyMWE2Y2Y5MTggZHJtL2k5MTU6IFNwbGl0IHN0cnVjdCBpbnRlbF9jb250ZXh0IGRlZmlu aXRpb24gdG8gaXRzIG93biBoZWFkZXIKLToyOTE6IFdBUk5JTkc6RklMRV9QQVRIX0NIQU5HRVM6 IGFkZGVkLCBtb3ZlZCBvciBkZWxldGVkIGZpbGUocyksIGRvZXMgTUFJTlRBSU5FUlMgbmVlZCB1 cGRhdGluZz8KIzI5MTogCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CgotOjI5NjogV0FSTklORzpTUERY X0xJQ0VOU0VfVEFHOiBNaXNzaW5nIG9yIG1hbGZvcm1lZCBTUERYLUxpY2Vuc2UtSWRlbnRpZmll ciB0YWcgaW4gbGluZSAxCiMyOTY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHRfdHlwZXMuaDoxOgorLyoKCi06NTU3OiBXQVJOSU5HOlNQRFhfTElDRU5TRV9UQUc6 IE1pc3Npbmcgb3IgbWFsZm9ybWVkIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyIHRhZyBpbiBsaW5l IDEKIzU1NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZV90eXBlcy5o OjE6CisvKgoKLTo1ODE6IENIRUNLOlVOQ09NTUVOVEVEX0RFRklOSVRJT046IHNwaW5sb2NrX3Qg ZGVmaW5pdGlvbiB3aXRob3V0IGNvbW1lbnQKIzU4MTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV90aW1lbGluZV90eXBlcy5oOjI1OgorCXNwaW5sb2NrX3QgbG9jazsKCi06NjQyOiBX QVJOSU5HOlNQRFhfTElDRU5TRV9UQUc6IE1pc3Npbmcgb3IgbWFsZm9ybWVkIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyIHRhZyBpbiBsaW5lIDEKIzY0MjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29udGV4dC5oOjE6CisvKgoKLTo2OTU6IFdBUk5JTkc6U1BEWF9MSUNFTlNFX1RB RzogTWlzc2luZyBvciBtYWxmb3JtZWQgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXIgdGFnIGluIGxp bmUgMQojNjk1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb250ZXh0X3R5cGVz Lmg6MToKKy8qCgotOjc2MTogV0FSTklORzpTUERYX0xJQ0VOU0VfVEFHOiBNaXNzaW5nIG9yIG1h bGZvcm1lZCBTUERYLUxpY2Vuc2UtSWRlbnRpZmllciB0YWcgaW4gbGluZSAxCiM3NjE6IEZJTEU6 IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV90eXBlcy5oOjE6CisvKgoKLToxMDQ4 OiBDSEVDSzpVTkNPTU1FTlRFRF9ERUZJTklUSU9OOiBzcGlubG9ja190IGRlZmluaXRpb24gd2l0 aG91dCBjb21tZW50CiMxMDQ4OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdp bmVfdHlwZXMuaDoyODg6CisJCXNwaW5sb2NrX3QgaXJxX2xvY2s7CgotOjEyNjQ6IENIRUNLOk1B Q1JPX0FSR19SRVVTRTogTWFjcm8gYXJndW1lbnQgcmV1c2UgJ2Rldl9wcml2X18nIC0gcG9zc2li bGUgc2lkZS1lZmZlY3RzPwojMTI2NDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZW5naW5lX3R5cGVzLmg6NTA0OgorI2RlZmluZSBpbnN0ZG9uZV9zbGljZV9tYXNrKGRldl9wcml2 X18pIFwKKwkoSVNfR0VOKGRldl9wcml2X18sIDcpID8gXAorCSAxIDogUlVOVElNRV9JTkZPKGRl dl9wcml2X18pLT5zc2V1LnNsaWNlX21hc2spCgotOjEyNjg6IENIRUNLOk1BQ1JPX0FSR19SRVVT RTogTWFjcm8gYXJndW1lbnQgcmV1c2UgJ2Rldl9wcml2X18nIC0gcG9zc2libGUgc2lkZS1lZmZl Y3RzPwojMTI2ODogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX3R5cGVz Lmg6NTA4OgorI2RlZmluZSBpbnN0ZG9uZV9zdWJzbGljZV9tYXNrKGRldl9wcml2X18pIFwKKwko SVNfR0VOKGRldl9wcml2X18sIDcpID8gXAorCSAxIDogUlVOVElNRV9JTkZPKGRldl9wcml2X18p LT5zc2V1LnN1YnNsaWNlX21hc2tbMF0pCgotOjEyNzI6IENIRUNLOk1BQ1JPX0FSR19SRVVTRTog TWFjcm8gYXJndW1lbnQgcmV1c2UgJ2Rldl9wcml2X18nIC0gcG9zc2libGUgc2lkZS1lZmZlY3Rz PwojMTI3MjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX3R5cGVzLmg6 NTEyOgorI2RlZmluZSBmb3JfZWFjaF9pbnN0ZG9uZV9zbGljZV9zdWJzbGljZShkZXZfcHJpdl9f LCBzbGljZV9fLCBzdWJzbGljZV9fKSBcCisJZm9yICgoc2xpY2VfXykgPSAwLCAoc3Vic2xpY2Vf XykgPSAwOyBcCisJICAgICAoc2xpY2VfXykgPCBJOTE1X01BWF9TTElDRVM7IFwKKwkgICAgIChz dWJzbGljZV9fKSA9ICgoc3Vic2xpY2VfXykgKyAxKSA8IEk5MTVfTUFYX1NVQlNMSUNFUyA/IChz dWJzbGljZV9fKSArIDEgOiAwLCBcCisJICAgICAgIChzbGljZV9fKSArPSAoKHN1YnNsaWNlX18p ID09IDApKSBcCisJCWZvcl9lYWNoX2lmKChCSVQoc2xpY2VfXykgJiBpbnN0ZG9uZV9zbGljZV9t YXNrKGRldl9wcml2X18pKSAmJiBcCisJCQkgICAgKEJJVChzdWJzbGljZV9fKSAmIGluc3Rkb25l X3N1YnNsaWNlX21hc2soZGV2X3ByaXZfXykpKQoKLToxMjcyOiBDSEVDSzpNQUNST19BUkdfUkVV U0U6IE1hY3JvIGFyZ3VtZW50IHJldXNlICdzbGljZV9fJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0 cz8KIzEyNzI6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV90eXBlcy5o OjUxMjoKKyNkZWZpbmUgZm9yX2VhY2hfaW5zdGRvbmVfc2xpY2Vfc3Vic2xpY2UoZGV2X3ByaXZf Xywgc2xpY2VfXywgc3Vic2xpY2VfXykgXAorCWZvciAoKHNsaWNlX18pID0gMCwgKHN1YnNsaWNl X18pID0gMDsgXAorCSAgICAgKHNsaWNlX18pIDwgSTkxNV9NQVhfU0xJQ0VTOyBcCisJICAgICAo c3Vic2xpY2VfXykgPSAoKHN1YnNsaWNlX18pICsgMSkgPCBJOTE1X01BWF9TVUJTTElDRVMgPyAo c3Vic2xpY2VfXykgKyAxIDogMCwgXAorCSAgICAgICAoc2xpY2VfXykgKz0gKChzdWJzbGljZV9f KSA9PSAwKSkgXAorCQlmb3JfZWFjaF9pZigoQklUKHNsaWNlX18pICYgaW5zdGRvbmVfc2xpY2Vf bWFzayhkZXZfcHJpdl9fKSkgJiYgXAorCQkJICAgIChCSVQoc3Vic2xpY2VfXykgJiBpbnN0ZG9u ZV9zdWJzbGljZV9tYXNrKGRldl9wcml2X18pKSkKCi06MTI3MjogQ0hFQ0s6TUFDUk9fQVJHX1JF VVNFOiBNYWNybyBhcmd1bWVudCByZXVzZSAnc3Vic2xpY2VfXycgLSBwb3NzaWJsZSBzaWRlLWVm ZmVjdHM/CiMxMjcyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlw ZXMuaDo1MTI6CisjZGVmaW5lIGZvcl9lYWNoX2luc3Rkb25lX3NsaWNlX3N1YnNsaWNlKGRldl9w cml2X18sIHNsaWNlX18sIHN1YnNsaWNlX18pIFwKKwlmb3IgKChzbGljZV9fKSA9IDAsIChzdWJz bGljZV9fKSA9IDA7IFwKKwkgICAgIChzbGljZV9fKSA8IEk5MTVfTUFYX1NMSUNFUzsgXAorCSAg ICAgKHN1YnNsaWNlX18pID0gKChzdWJzbGljZV9fKSArIDEpIDwgSTkxNV9NQVhfU1VCU0xJQ0VT ID8gKHN1YnNsaWNlX18pICsgMSA6IDAsIFwKKwkgICAgICAgKHNsaWNlX18pICs9ICgoc3Vic2xp Y2VfXykgPT0gMCkpIFwKKwkJZm9yX2VhY2hfaWYoKEJJVChzbGljZV9fKSAmIGluc3Rkb25lX3Ns aWNlX21hc2soZGV2X3ByaXZfXykpICYmIFwKKwkJCSAgICAoQklUKHN1YnNsaWNlX18pICYgaW5z dGRvbmVfc3Vic2xpY2VfbWFzayhkZXZfcHJpdl9fKSkpCgotOjE4NTM6IFdBUk5JTkc6U1BEWF9M SUNFTlNFX1RBRzogTWlzc2luZyBvciBtYWxmb3JtZWQgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXIg dGFnIGluIGxpbmUgMQojMTg1MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29y a2Fyb3VuZHNfdHlwZXMuaDoxOgorLyoKCnRvdGFsOiAwIGVycm9ycywgNyB3YXJuaW5ncywgNyBj aGVja3MsIDE3OTYgbGluZXMgY2hlY2tlZAo5NjZkM2E0N2UyOTEgZHJtL2k5MTU6IE1vdmUgb3Zl ciB0byBpbnRlbF9jb250ZXh0X2xvb2t1cCgpCi06MjQ1OiBDSEVDSzpVTkNPTU1FTlRFRF9ERUZJ TklUSU9OOiBzcGlubG9ja190IGRlZmluaXRpb24gd2l0aG91dCBjb21tZW50CiMyNDU6IEZJTEU6 IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHRfdHlwZXMuaDoxNDA6CisJc3Bp bmxvY2tfdCBod19jb250ZXh0c19sb2NrOwoKLToyODM6IFdBUk5JTkc6RklMRV9QQVRIX0NIQU5H RVM6IGFkZGVkLCBtb3ZlZCBvciBkZWxldGVkIGZpbGUocyksIGRvZXMgTUFJTlRBSU5FUlMgbmVl ZCB1cGRhdGluZz8KIzI4MzogCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CgotOjI4ODogV0FSTklORzpT UERYX0xJQ0VOU0VfVEFHOiBNaXNzaW5nIG9yIG1hbGZvcm1lZCBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllciB0YWcgaW4gbGluZSAxCiMyODg6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NvbnRleHQuYzoxOgorLyoKCnRvdGFsOiAwIGVycm9ycywgMiB3YXJuaW5ncywgMSBjaGVja3Ms IDYzMSBsaW5lcyBjaGVja2VkCjM4M2NmNjg3ZTAwZCBkcm0vaTkxNTogTG9hZCBiYWxhbmNpbmcg YWNyb3NzIGEgdmlydHVhbCBlbmdpbmUKLTo4MjU6IFdBUk5JTkc6TElORV9TUEFDSU5HOiBNaXNz aW5nIGEgYmxhbmsgbGluZSBhZnRlciBkZWNsYXJhdGlvbnMKIzgyNTogRklMRTogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmM6MzM1OToKKwkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq YWN0dWFsID0gdmUtPnNpYmxpbmdzWzBdOworCQl2aXJ0dWFsX2VuZ2luZV9mcmVlKCZ2ZS0+a3Jl Zik7Cgp0b3RhbDogMCBlcnJvcnMsIDEgd2FybmluZ3MsIDAgY2hlY2tzLCAxMDE2IGxpbmVzIGNo ZWNrZWQKNDM5YzY1Zjk5M2VkIGRybS9pOTE1OiBFeHRlbmQgZXhlY3V0aW9uIGZlbmNlIHRvIHN1 cHBvcnQgYSBjYWxsYmFjawpiOTdmNzU2ZWZkYWYgZHJtL2k5MTUvZXhlY2xpc3RzOiBWaXJ0dWFs IGVuZ2luZSBib25kaW5nCmE2YmQzMTQ5MzU5YSBkcm0vaTkxNTogQWxsb3cgc3BlY2lmaWNhdGlv biBvZiBwYXJhbGxlbCBleGVjYnVmCi06MTMyOiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVy cmVkIGFyb3VuZCB0aGF0ICc8PCcgKGN0eDpWeFYpCiMxMzI6IEZJTEU6IGluY2x1ZGUvdWFwaS9k cm0vaTkxNV9kcm0uaDoxMTI1OgorI2RlZmluZSBJOTE1X0VYRUNfRkVOQ0VfU1VCTUlUCQkoMTw8 MjApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCSAgXgoKLToxMzQ6IENIRUNLOlNQ QUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5kIHRoYXQgJzw8JyAoY3R4OlZ4VikKIzEzNDog RklMRTogaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oOjExMjc6CisjZGVmaW5lIF9fSTkxNV9F WEVDX1VOS05PV05fRkxBR1MgKC0oSTkxNV9FWEVDX0ZFTkNFX1NVQk1JVDw8MSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KCnRv dGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgMiBjaGVja3MsIDkwIGxpbmVzIGNoZWNrZWQKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=