From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32372 invoked from network); 19 Sep 2023 03:42:06 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 19 Sep 2023 03:42:06 -0000 Content-Type: multipart/mixed; boundary="===============5624652419788902961==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_tesseract-ocr=3A_update_to_5=2E3=2E2?= To: ml@inbox.vuxu.org From: chrysos349 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 19 Sep 2023 05:42:05 +0200 List-Id: Message-ID: <20230919034205.L-WnzrAYQlwhuYuv_FIAgWGVshr58rTMd2UWg-Z4I1g@z> GitHub notification mails are now in MIME to allow UTF8. --===============5624652419788902961== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2hyeXNvczM0OSBhZ2FpbnN0IG1h c3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20v Y2hyeXNvczM0OS92b2lkLXBhY2thZ2VzIHRlc3NlcmFjdC1vY3IKaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ2MTI0Cgp0ZXNzZXJhY3Qtb2NyOiB1cGRh dGUgdG8gNS4zLjIKQG5ld2JsdWVtb29uDQpgY2NleHRyYWN0b3JgIHdhcyB1cGRhdGVkIHRvIHRo ZSBsYXRlc3QgdmVyc2lvbiwgYmVjYXVzZSBpdCBoYWQgdG8gYmUgcmVidWlsdCBmb3IgdGVzc2Vy YWN0LW9jci01LjMuMiBhbnl3YXkuDQoNCkBQaXJhdHkgDQpgYXJjYW5gIHdhcyByZXZidW1wZWQg Zm9yIHRlc3NlcmFjdC1vY3ItNS4zLjIgLg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0g SSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipZRVMqKg0KDQojIyMjIExvY2FsIGJ1 aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNo aXRlY3R1cmUsICh4ODZfNjQpDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBh cmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOiANCiAgLSBpNjg2 DQogIC0gYWFyY2g2NA0KICAtIGFybXY3bA0KICAtIHg4Nl82NC1tdXNsDQogIC0gYXJtdjZsLW11 c2wNCiAgLSBhYXJjaDY0LW11c2wKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NjEyNC5wYXRjaCBpcyBhdHRhY2hlZA== --===============5624652419788902961== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-tesseract-ocr-46124.patch" RnJvbSA1NDkxOGU2MDFiNjBlOGEwMGU0ZjJmYjI3YzIzMzgxNjA5ZjcxOGIxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjaHJ5c29zMzQ5IDxjaHJ5c29zdG9tMzQ5QGdtYWlsLmNvbT4K RGF0ZTogVHVlLCAxOSBTZXAgMjAyMyAwNDowMzo1OSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMS80 XSBsZXB0b25pY2E6IHVwZGF0ZSB0byAxLjgzLjEKCi0tLQogY29tbW9uL3NobGlicyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9wYXRjaGVzL2ZpeC1mbGFreS10 ZXN0LW9uLWk2ODYucGF0Y2ggICAgICB8IDcwIC0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3Mv bGVwdG9uaWNhL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICB8IDIzICsrKystLQogMyBmaWxl cyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL2xlcHRvbmljYS9wYXRjaGVzL2ZpeC1mbGFreS10ZXN0LW9uLWk2ODYu cGF0Y2gKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBj OWQ1OWVmM2I5N2NhLi4xNmNlNTkxYWEzNTkyIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisr KyBiL2NvbW1vbi9zaGxpYnMKQEAgLTIyOTQsNyArMjI5NCw3IEBAIGxpYk9rdGV0YTNHdWkuc28u MCBva3RldGEtMC4yNi4wXzEKIGxpYmh0dHBfcGFyc2VyLnNvLjIuOSBodHRwLXBhcnNlci0yLjku MF8xCiBsaWJtYWEuc28uNCBsaWJtYWEtMS40LjJfMQogbGliY29kZWJsb2Nrcy5zby4wIGNvZGVi bG9ja3MtMTMuMTJfMQotbGlibGVwdC5zby41IGxlcHRvbmljYS0xLjczXzEKK2xpYmxlcHRvbmlj YS5zby42IGxlcHRvbmljYS0xLjgzLjFfMQogbGlidGVzc2VyYWN0LnNvLjQgdGVzc2VyYWN0LW9j ci00LjAuMF8xCiBsaWJmZm1wZWd0aHVtYm5haWxlci5zby40IGZmbXBlZ3RodW1ibmFpbGVyLTIu MC4xMF8xCiBsaWJvcGVucmF3LnNvLjcgbGlib3BlbnJhdy0wLjEuMF8xCmRpZmYgLS1naXQgYS9z cmNwa2dzL2xlcHRvbmljYS9wYXRjaGVzL2ZpeC1mbGFreS10ZXN0LW9uLWk2ODYucGF0Y2ggYi9z cmNwa2dzL2xlcHRvbmljYS9wYXRjaGVzL2ZpeC1mbGFreS10ZXN0LW9uLWk2ODYucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlYzFhMjQ4MmY0MTQuLjAwMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9sZXB0b25pY2EvcGF0Y2hlcy9maXgtZmxha3ktdGVzdC1vbi1pNjg2LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotRnJvbSBlYTJiYjhjOWNmNjFkM2Vi YTI1ODljZmFhYzA1ZjU5YTMzYjQxMTBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog ZGFuYmxvb29tYmVyZyA8ZGFuLmJsb29tYmVyZ0BnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDE0IE5v diAyMDIxIDE0OjUyOjI0IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBmbGFreSBoYXNoX3Jl ZyB0ZXN0IG9uIGk2ODYgKiBUaGUgc2V0cyB0aGF0IGFyZSBnZW5lcmF0ZWQKLSBmcm9tICpTZWxl Y3RSYW5nZSgpIGZ1bmN0aW9ucyBjYW4gZGVwZW5kIG9uICAgdGhlIHBsYXRmb3JtLCByZXN1bHRp bmcgaW4KLSBpbnRlcnNlY3Rpb24gc2l6ZXMgdGhhdCBkaWZmZXIgYnkgMS4gKiBTbywgbG9vc2Vu IHRoZSBjb21wYXJpc29uIHRvIGFsbG93IGEKLSBkaWZmZXJlbmNlIG9mIDEuCi0KLS0tLQotIHBy b2cvaGFzaF9yZWcuYyB8IDEyICsrKysrKy0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9wcm9nL2hhc2hfcmVnLmMg Yi9wcm9nL2hhc2hfcmVnLmMKLWluZGV4IDhiNDA4ZDZkLi4zNDE0YmE5MCAxMDA2NDQKLS0tLSBh L3Byb2cvaGFzaF9yZWcuYwotKysrIGIvcHJvZy9oYXNoX3JlZy5jCi1AQCAtMTAwLDcgKzEwMCw3 IEBAIExfUkVHUEFSQU1TICAqcnA7Ci0gICAgIHNhcnJheUludGVyc2VjdGlvbkJ5QXNldChzYTEs IHNhMiwgJnNhMyk7Ci0gICAgIGMxID0gc2FycmF5R2V0Q291bnQoc2EzKTsKLSAgICAgc2FycmF5 RGVzdHJveSgmc2EzKTsKLS0gICAgcmVnVGVzdENvbXBhcmVWYWx1ZXMocnAsIHN0cmluZ19pbnRl cnNlY3Rpb24sIGMxLCAwKTsgIC8qIDIgKi8KLSsgICAgcmVnVGVzdENvbXBhcmVWYWx1ZXMocnAs IHN0cmluZ19pbnRlcnNlY3Rpb24sIGMxLCAxKTsgIC8qIDIgKi8KLSAgICAgaWYgKHJwLT5kaXNw bGF5KSBsZXB0X3N0ZGVycigiICBhc2V0OiBpbnRlcnNlY3Rpb24gc2l6ZSA9ICVkXG4iLCBjMSk7 Ci0gICAgIHNhcnJheVVuaW9uQnlBc2V0KHNhMSwgc2EyLCAmc2EzKTsKLSAgICAgYzEgPSBzYXJy YXlHZXRDb3VudChzYTMpOwotQEAgLTEyMyw3ICsxMjMsNyBAQCBMX1JFR1BBUkFNUyAgKnJwOwot ICAgICBzYXJyYXlJbnRlcnNlY3Rpb25CeUhtYXAoc2ExLCBzYTIsICZzYTMpOwotICAgICBjMSA9 IHNhcnJheUdldENvdW50KHNhMyk7Ci0gICAgIHNhcnJheURlc3Ryb3koJnNhMyk7Ci0tICAgIHJl Z1Rlc3RDb21wYXJlVmFsdWVzKHJwLCBzdHJpbmdfaW50ZXJzZWN0aW9uLCBjMSwgMCk7ICAvKiA2 ICovCi0rICAgIHJlZ1Rlc3RDb21wYXJlVmFsdWVzKHJwLCBzdHJpbmdfaW50ZXJzZWN0aW9uLCBj MSwgMSk7ICAvKiA2ICovCi0gICAgIGlmIChycC0+ZGlzcGxheSkgbGVwdF9zdGRlcnIoIiAgaG1h cDogaW50ZXJzZWN0aW9uIHNpemUgPSAlZFxuIiwgYzEpOwotICAgICBzYXJyYXlVbmlvbkJ5SG1h cChzYTEsIHNhMiwgJnNhMyk7Ci0gICAgIGMxID0gc2FycmF5R2V0Q291bnQoc2EzKTsKLUBAIC0x NjAsNyArMTYwLDcgQEAgTF9SRUdQQVJBTVMgICpycDsKLSAgICAgcHRhSW50ZXJzZWN0aW9uQnlB c2V0KHB0YTEsIHB0YTIsICZwdGEzKTsKLSAgICAgYzEgPSBwdGFHZXRDb3VudChwdGEzKTsKLSAg ICAgcHRhRGVzdHJveSgmcHRhMyk7Ci0tICAgIHJlZ1Rlc3RDb21wYXJlVmFsdWVzKHJwLCBwdGFf aW50ZXJzZWN0aW9uLCBjMSwgMCk7ICAvKiAxMCAqLwotKyAgICByZWdUZXN0Q29tcGFyZVZhbHVl cyhycCwgcHRhX2ludGVyc2VjdGlvbiwgYzEsIDEpOyAgLyogMTAgKi8KLSAgICAgaWYgKHJwLT5k aXNwbGF5KSBsZXB0X3N0ZGVycigiICBhc2V0OiBpbnRlcnNlY3Rpb24gc2l6ZSA9ICVkXG4iLCBj MSk7Ci0gICAgIHB0YVVuaW9uQnlBc2V0KHB0YTEsIHB0YTIsICZwdGEzKTsKLSAgICAgYzEgPSBw dGFHZXRDb3VudChwdGEzKTsKLUBAIC0xODIsNyArMTgyLDcgQEAgTF9SRUdQQVJBTVMgICpycDsK LSAgICAgcHRhSW50ZXJzZWN0aW9uQnlIbWFwKHB0YTEsIHB0YTIsICZwdGEzKTsKLSAgICAgYzEg PSBwdGFHZXRDb3VudChwdGEzKTsKLSAgICAgcHRhRGVzdHJveSgmcHRhMyk7Ci0tICAgIHJlZ1Rl c3RDb21wYXJlVmFsdWVzKHJwLCBwdGFfaW50ZXJzZWN0aW9uLCBjMSwgMCk7ICAvKiAxNCAqLwot KyAgICByZWdUZXN0Q29tcGFyZVZhbHVlcyhycCwgcHRhX2ludGVyc2VjdGlvbiwgYzEsIDEpOyAg LyogMTQgKi8KLSAgICAgaWYgKHJwLT5kaXNwbGF5KSBsZXB0X3N0ZGVycigiICBobWFwOiBpbnRl cnNlY3Rpb24gc2l6ZSA9ICVkXG4iLCBjMSk7Ci0gICAgIHB0YVVuaW9uQnlIbWFwKHB0YTEsIHB0 YTIsICZwdGEzKTsKLSAgICAgYzEgPSBwdGFHZXRDb3VudChwdGEzKTsKLUBAIC0yMjAsNyArMjIw LDcgQEAgTF9SRUdQQVJBTVMgICpycDsKLSAgICAgbF9kbmFJbnRlcnNlY3Rpb25CeUFzZXQoZGEx LCBkYTIsICZkYTMpOwotICAgICBjMSA9IGxfZG5hR2V0Q291bnQoZGEzKTsKLSAgICAgbF9kbmFE ZXN0cm95KCZkYTMpOwotLSAgICByZWdUZXN0Q29tcGFyZVZhbHVlcyhycCwgZGFfaW50ZXJzZWN0 aW9uLCBjMSwgMCk7ICAvKiAxOCAqLwotKyAgICByZWdUZXN0Q29tcGFyZVZhbHVlcyhycCwgZGFf aW50ZXJzZWN0aW9uLCBjMSwgMSk7ICAvKiAxOCAqLwotICAgICBpZiAocnAtPmRpc3BsYXkpIGxl cHRfc3RkZXJyKCIgIGFzZXQ6IGludGVyc2VjdGlvbiBzaXplID0gJWRcbiIsIGMxKTsKLSAgICAg bF9kbmFVbmlvbkJ5QXNldChkYTEsIGRhMiwgJmRhMyk7Ci0gICAgIGMxID0gbF9kbmFHZXRDb3Vu dChkYTMpOwotQEAgLTI0Miw3ICsyNDIsNyBAQCBMX1JFR1BBUkFNUyAgKnJwOwotICAgICBsX2Ru YUludGVyc2VjdGlvbkJ5SG1hcChkYTEsIGRhMiwgJmRhMyk7Ci0gICAgIGMxID0gbF9kbmFHZXRD b3VudChkYTMpOwotICAgICBsX2RuYURlc3Ryb3koJmRhMyk7Ci0tICAgIHJlZ1Rlc3RDb21wYXJl VmFsdWVzKHJwLCBkYV9pbnRlcnNlY3Rpb24sIGMxLCAwKTsgIC8qIDIyICovCi0rICAgIHJlZ1Rl c3RDb21wYXJlVmFsdWVzKHJwLCBkYV9pbnRlcnNlY3Rpb24sIGMxLCAxKTsgIC8qIDIyICovCi0g ICAgIGlmIChycC0+ZGlzcGxheSkgbGVwdF9zdGRlcnIoIiAgaG1hcDogaW50ZXJzZWN0aW9uIHNp emUgPSAlZFxuIiwgYzEpOwotICAgICBsX2RuYVVuaW9uQnlIbWFwKGRhMSwgZGEyLCAmZGEzKTsK LSAgICAgYzEgPSBsX2RuYUdldENvdW50KGRhMyk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xlcHRv bmljYS90ZW1wbGF0ZSBiL3NyY3BrZ3MvbGVwdG9uaWNhL3RlbXBsYXRlCmluZGV4IDE3MjU2Yjdi MTU3YjQuLjA0ZThjOTk5N2EyZjEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGVwdG9uaWNhL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvbGVwdG9uaWNhL3RlbXBsYXRlCkBAIC0xLDkgKzEsOSBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnbGVwdG9uaWNhJwogcGtnbmFtZT1sZXB0b25pY2EKLXZlcnNpb249 MS44Mi4wCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTEuODMuMQorcmV2aXNpb249MQogYnVpbGRfc3R5 bGU9Z251LWNvbmZpZ3VyZQotaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgoraG9zdG1ha2Vk ZXBlbmRzPSJwa2ctY29uZmlnIGF1dG9tYWtlIGxpYnRvb2wiCiBtYWtlZGVwZW5kcz0ibGlib3Bl bmpwZWcyLWRldmVsIGxpYndlYnAtZGV2ZWwiCiBjaGVja2RlcGVuZHM9IndoaWNoIGdudXBsb3Qi CiBzaG9ydF9kZXNjPSJJbWFnZSBwcm9jZXNzaW5nIGFuZCBhbmFseXNpcyBsaWJyYXJ5IgpAQCAt MTEsOCArMTEsMTcgQEAgbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3Jn PiIKIGxpY2Vuc2U9IkJTRC0yLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwOi8vbGVwdG9uaWNhLm9y Zy8iCiBjaGFuZ2Vsb2c9Imh0dHA6Ly9sZXB0b25pY2Eub3JnL3NvdXJjZS92ZXJzaW9uLW5vdGVz Lmh0bWwiCi1kaXN0ZmlsZXM9Imh0dHA6Ly9sZXB0b25pY2Eub3JnL3NvdXJjZS8ke3BrZ25hbWV9 LSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09MTU1MzAyZWU5MTQ2NjhjMjdiNmZlM2NhOWZm MmRhNjNiMjQ1ZjZkNjJmMzA2MWM4ZjI3NTYzNzc0YjhhZTJkNgorZGlzdGZpbGVzPSJodHRwczov L2dpdGh1Yi5jb20vRGFuQmxvb21iZXJnL2xlcHRvbmljYS9hcmNoaXZlLyR7dmVyc2lvbn0udGFy Lmd6IgorY2hlY2tzdW09NDI4OWQwYTQyMjRiNjE0MDEwMDcyMjUzNTMxYzA0NTVhMzNhNGQ3Yzdh MDAxN2ZlNzgyNWVkMzgyMjkwYzBkYQorCitwcmVfY2hlY2soKSB7CisJIyBib3hhM19yZWcgdGVz dCBmYWlscyBmb3IgeDg2XzY0eywtbXVzbH0gaW4gQ0kgYnVsZAorCXZzZWQgLWkgcHJvZy9NYWtl ZmlsZS5hbSAtZSAicy9ib3hhM19yZWcvLyIKK30KKworcHJlX2NvbmZpZ3VyZSgpIHsKKwkuL2F1 dG9nZW4uc2gKK30KIAogcG9zdF9pbnN0YWxsKCkgewogCXZkb2MgbW9sbGVyNTIuanBnCkBAIC0y OCw2ICszNyw3IEBAIGxlcHRvbmljYS1kZXZlbF9wYWNrYWdlKCkgewogCQl2bW92ZSB1c3IvbGli L2NtYWtlCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlICJ1c3IvbGliLyouc28i CisJCXZtb3ZlICJ1c3IvbGliLyouYSIKIAkJdmRvYyBzdHlsZS1ndWlkZS50eHQKIAl9CiB9CkBA IC00MSwzICs1MSw2IEBAIGxlcHRvbmljYS1leGFtcGxlc19wYWNrYWdlKCkgewogCQl2Y29weSBw cm9nIHVzci9zaGFyZS9sZXB0b25pY2EKIAl9CiB9CisKKyMjIGFkZCB0byBjb21tb24vc2hsaWJz CisjIyBsaWJsZXB0b25pY2Euc28uNiBsZXB0b25pY2EtMS44My4xXzEgCgpGcm9tIGRkMTU3ZjRi ZjI0ODRmY2U2YWY2MzgxYmU1MjQ3Zjk3NzMzNGYzNzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IGNocnlzb3MzNDkgPGNocnlzb3N0b20zNDlAZ21haWwuY29tPgpEYXRlOiBUdWUsIDE5 IFNlcCAyMDIzIDA0OjA3OjUwICswMzAwClN1YmplY3Q6IFtQQVRDSCAyLzRdIHRlc3NlcmF0LW9j cjogdXBkYXRlIHRvIDUuMy4yCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCiAuLi4ve3Rlc3NlcmFjdC1vY3Ita3VyID0+IHRlc3NlcmFj dC1vY3Ita21yfSAgfCAgMAogc3JjcGtncy90ZXNzZXJhY3Qtb2NyLWt1cl9hcmEgICAgICAgICAg ICAgICAgIHwgIDEgLQogc3JjcGtncy90ZXNzZXJhY3Qtb2NyL2ZpbGVzL0NPUFlJTkcgICAgICAg ICAgIHwgMTQgLS0tLS0tCiAuLi4vdGVzc2VyYWN0LW9jci9wYXRjaGVzL2Rpc2FibGUtbmVvbi5w YXRjaCAgfCAxNCArKysrKysKIC4uLi90ZXNzZXJhY3Qtb2NyL3BhdGNoZXMvbXVzbC1zeXMtdGlt ZS5wYXRjaCB8IDE3ICsrKy0tLS0KIHNyY3BrZ3MvdGVzc2VyYWN0LW9jci90ZW1wbGF0ZSAgICAg ICAgICAgICAgICB8IDQ4ICsrKysrKysrLS0tLS0tLS0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgNDMg aW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCiByZW5hbWUgc3JjcGtncy97dGVzc2VyYWN0 LW9jci1rdXIgPT4gdGVzc2VyYWN0LW9jci1rbXJ9ICgxMDAlKQogZGVsZXRlIG1vZGUgMTIwMDAw IHNyY3BrZ3MvdGVzc2VyYWN0LW9jci1rdXJfYXJhCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy90ZXNzZXJhY3Qtb2NyL2ZpbGVzL0NPUFlJTkcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3Rlc3NlcmFjdC1vY3IvcGF0Y2hlcy9kaXNhYmxlLW5lb24ucGF0Y2gKCmRpZmYgLS1naXQgYS9j b21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCAxNmNlNTkxYWEzNTkyLi5lYTI4NzNl NmNkMDg1IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAg LTIyOTUsNyArMjI5NSw3IEBAIGxpYmh0dHBfcGFyc2VyLnNvLjIuOSBodHRwLXBhcnNlci0yLjku MF8xCiBsaWJtYWEuc28uNCBsaWJtYWEtMS40LjJfMQogbGliY29kZWJsb2Nrcy5zby4wIGNvZGVi bG9ja3MtMTMuMTJfMQogbGlibGVwdG9uaWNhLnNvLjYgbGVwdG9uaWNhLTEuODMuMV8xCi1saWJ0 ZXNzZXJhY3Quc28uNCB0ZXNzZXJhY3Qtb2NyLTQuMC4wXzEKK2xpYnRlc3NlcmFjdC5zby41IHRl c3NlcmFjdC1vY3ItNS4zLjJfMQogbGliZmZtcGVndGh1bWJuYWlsZXIuc28uNCBmZm1wZWd0aHVt Ym5haWxlci0yLjAuMTBfMQogbGlib3BlbnJhdy5zby43IGxpYm9wZW5yYXctMC4xLjBfMQogbGli b3BlbnJhd2dub21lLnNvLjcgbGlib3BlbnJhdy0wLjEuMF8xCmRpZmYgLS1naXQgYS9zcmNwa2dz L3Rlc3NlcmFjdC1vY3Ita3VyIGIvc3JjcGtncy90ZXNzZXJhY3Qtb2NyLWttcgpzaW1pbGFyaXR5 IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gc3JjcGtncy90ZXNzZXJhY3Qtb2NyLWt1cgpyZW5hbWUg dG8gc3JjcGtncy90ZXNzZXJhY3Qtb2NyLWttcgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90ZXNzZXJh Y3Qtb2NyLWt1cl9hcmEgYi9zcmNwa2dzL3Rlc3NlcmFjdC1vY3Ita3VyX2FyYQpkZWxldGVkIGZp bGUgbW9kZSAxMjAwMDAKaW5kZXggNzliY2YxNWYwNWJhNS4uMDAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL3Rlc3NlcmFjdC1vY3Ita3VyX2FyYQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAK LXRlc3NlcmFjdC1vY3IKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmNwa2dzL3Rlc3NlcmFjdC1vY3IvZmlsZXMvQ09QWUlORyBiL3NyY3BrZ3MvdGVzc2VyYWN0LW9j ci9maWxlcy9DT1BZSU5HCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMWUwNWFmNDI1 ZmM4Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdGVzc2VyYWN0LW9jci9maWxlcy9DT1BZ SU5HCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotVGhpcyByZXBvc2l0b3J5IGNvbnRh aW5zIGxhbmd1YWdlIGRhdGEgZm9yIFRlc3NlcmFjdCBPcGVuIFNvdXJjZQotT0NSIEVuZ2luZS4g QWxsIGRhdGEgaW4gdGhlIHJlcG9zaXRvcnkgYXJlIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUg Ci1MaWNlbnNlOgotCi0qKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNp b24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLSoqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhj ZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLSoqIFlvdSBtYXkgb2J0YWluIGEg Y29weSBvZiB0aGUgTGljZW5zZSBhdAotKiogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2Vz L0xJQ0VOU0UtMi4wCi0qKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdy ZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCi0qKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGlj ZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotKiogV0lUSE9VVCBXQVJS QU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxp ZWQuCi0qKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5p bmcgcGVybWlzc2lvbnMgYW5kCi0qKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLQpk aWZmIC0tZ2l0IGEvc3JjcGtncy90ZXNzZXJhY3Qtb2NyL3BhdGNoZXMvZGlzYWJsZS1uZW9uLnBh dGNoIGIvc3JjcGtncy90ZXNzZXJhY3Qtb2NyL3BhdGNoZXMvZGlzYWJsZS1uZW9uLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmQ0OTFlZjFlNDdiODEKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3Rlc3NlcmFjdC1vY3IvcGF0Y2hlcy9kaXNhYmxlLW5l b24ucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25m aWd1cmUuYWMKK0BAIC0xNzcsNiArMTc3LDExIEBACisgICAgIEFDX0RFRklORShbSEFWRV9ORU9O XSwgWzFdLCBbRW5hYmxlIE5FT04gaW5zdHJ1Y3Rpb25zXSkKKyAgICAgOzsKKyAKKysgIGFybXxh cm12N2wpCisrCisrICAgIEFDX01TR19XQVJOKFtObyBjb21waWxlciBvcHRpb25zIGZvciAkaG9z dF9jcHVdKQorKyAgICA7OworKworICAgYXJtKikKKyAKKyAgICAgQVhfQ0hFQ0tfQ09NUElMRV9G TEFHKFstbWZwdT1uZW9uXSwgW25lb249dHJ1ZV0sIFtuZW9uPWZhbHNlXSwgWyRXRVJST1JdKQpk aWZmIC0tZ2l0IGEvc3JjcGtncy90ZXNzZXJhY3Qtb2NyL3BhdGNoZXMvbXVzbC1zeXMtdGltZS5w YXRjaCBiL3NyY3BrZ3MvdGVzc2VyYWN0LW9jci9wYXRjaGVzL211c2wtc3lzLXRpbWUucGF0Y2gK aW5kZXggOWM2MzM3ZDE4ODYzOS4uNWM3NTg2NDI0OGZlOCAxMDA2NDQKLS0tIGEvc3JjcGtncy90 ZXNzZXJhY3Qtb2NyL3BhdGNoZXMvbXVzbC1zeXMtdGltZS5wYXRjaAorKysgYi9zcmNwa2dzL3Rl c3NlcmFjdC1vY3IvcGF0Y2hlcy9tdXNsLXN5cy10aW1lLnBhdGNoCkBAIC0xLDEyICsxLDEzIEBA Ci0tLS0gYS9zcmMvY2N1dGlsL29jcmNsYXNzLmgJMjAxOS0wNy0wNyAxNDozNDowOC4wMDAwMDAw MDAgKzAyMDAKLSsrKyBiL3NyYy9jY3V0aWwvb2NyY2xhc3MuaAkyMDE5LTA3LTA4IDEwOjQ3OjE1 LjM0NzQxNTg4OCArMDIwMAotQEAgLTMxLDYgKzMxLDkgQEAKLSAjaWZkZWYgX1dJTjMyCi0gI2lu Y2x1ZGUgPHdpbnNvY2syLmg+IC8vIGZvciB0aW1ldmFsCi0gI2VuZGlmCistLS0gYS9pbmNsdWRl L3Rlc3NlcmFjdC9vY3JjbGFzcy5oCisrKysgYi9pbmNsdWRlL3Rlc3NlcmFjdC9vY3JjbGFzcy5o CitAQCAtMjksNiArMjksMTAgQEAKKyAKKyAjaW5jbHVkZSA8Y2hyb25vPgorICNpbmNsdWRlIDxj dGltZT4KICsjaWZuZGVmIF9fR0xJQkNfXwogKyNpbmNsdWRlIDxzeXMvdGltZS5oPgogKyNlbmRp ZgorKworIAorIG5hbWVzcGFjZSB0ZXNzZXJhY3QgewogIAotIC8qKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICog RUFOWUNPREVfQ0hBUgpkaWZmIC0tZ2l0IGEvc3JjcGtncy90ZXNzZXJhY3Qtb2NyL3RlbXBsYXRl IGIvc3JjcGtncy90ZXNzZXJhY3Qtb2NyL3RlbXBsYXRlCmluZGV4IGRlNmRmM2E3NjhkMzEuLjEw ZTgwZTIxZjNkMjcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGVzc2VyYWN0LW9jci90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL3Rlc3NlcmFjdC1vY3IvdGVtcGxhdGUKQEAgLTEsMTQgKzEsMTMgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3Rlc3NlcmFjdC1vY3InCiBwa2duYW1lPXRlc3NlcmFjdC1vY3IK LXZlcnNpb249NC4xLjEKLXJldmlzaW9uPTkKLV90ZXNzZGF0YXZlcj00LjAuMAordmVyc2lvbj01 LjMuMgorcmV2aXNpb249MQorX3Rlc3NkYXRhdmVyPTQuMS4wCiBjcmVhdGVfd3Jrc3JjPXllcwog YnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9IkxJQkxFUFRfSEVBREVS U0RJUj0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2luY2x1ZGUgJCh2b3B0X2VuYWJsZSBvcGVubXAp IgotbWFrZV9idWlsZF9hcmdzPSJhbGwgdHJhaW5pbmciCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9t YWtlIGxpYnRvb2wgcGtnLWNvbmZpZyBsZXB0b25pY2EgbGlieHNsdCBhc2NpaWRvYyIKLW1ha2Vk ZXBlbmRzPSJjYWlyby1kZXZlbCBwYW5nby1kZXZlbCBsZXB0b25pY2EtZGV2ZWwgJCh2b3B0X2lm IG9wZW5tcCBsaWJnb21wLWRldmVsKSBpY3UtZGV2ZWwiCittYWtlZGVwZW5kcz0iY2Fpcm8tZGV2 ZWwgcGFuZ28tZGV2ZWwgbGVwdG9uaWNhLWRldmVsICQodm9wdF9pZiBvcGVubXAgbGliZ29tcC1k ZXZlbCkgaWN1LWRldmVsIGxpYmFyY2hpdmUtZGV2ZWwgbGliY3VybC1kZXZlbCIKIHNob3J0X2Rl c2M9IlRlc3NlcmFjdCBPcGVuIFNvdXJjZSBPQ1IgZW5naW5lIgogbWFpbnRhaW5lcj0iT3JwaGFu ZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkFwYWNoZS0yLjAiCkBAIC0xNiw4 ICsxNSw4IEBAIGhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vdGVzc2VyYWN0LW9jci90ZXNz ZXJhY3QiCiBkaXN0ZmlsZXM9IgogIGh0dHBzOi8vZ2l0aHViLmNvbS90ZXNzZXJhY3Qtb2NyL3Rl c3NlcmFjdC9hcmNoaXZlLyR7dmVyc2lvbn0udGFyLmd6PiR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50 YXIuZ3oKICBodHRwczovL2dpdGh1Yi5jb20vdGVzc2VyYWN0LW9jci90ZXNzZGF0YS9hcmNoaXZl LyR7X3Rlc3NkYXRhdmVyfS50YXIuZ3o+dGVzc2RhdGEtJHtfdGVzc2RhdGF2ZXJ9LnRhci5neiIK LWNoZWNrc3VtPSIyYTY2ZmYwZDg1OTViZmY4ZjA0MDMyMTY1ZTZjOTM2Mzg5YjFlNTcyN2MzY2U1 YTI3YjNlMDU5ZDIxOGRiMWNiCi0gMzhjNjM3ZDNhMTc2M2Y2YzNkMzJlOGYxZDk3OWYwNDU2Njg2 NzZlYzVmZWI4ZWUxODY5ZWU3N2NlZGQzMWIwOCIKK2NoZWNrc3VtPSJiOTlkMzBmZWQ0NzM2MGQ3 MTY4YzNlMjVkMTk0YTc0MTZjZWIxZDllNGIyMzJjN2YxMjFjYzVmNzcwODRkM2U3CisgOTkwZmZm YjliN2E5YjUyZGM5YTJkMDUzYTllZjY4NTJjYTJiNzJiZDhkZmIyMjk4OGIwYjk5MGE3MDBmZDNj NyIKIAogYnVpbGRfb3B0aW9ucz0ib3Blbm1wIgogYnVpbGRfb3B0aW9uc19kZWZhdWx0PSJvcGVu bXAiCkBAIC00Niw4ICs0NSw4IEBAIHBrZ19sYW5nKCkgewogCiBwb3N0X2V4dHJhY3QoKSB7CiAJ bXYgdGVzc2VyYWN0LSR7dmVyc2lvbn0vKiAuCisJcm0gLXJmIHRlc3NkYXRhLSR7X3Rlc3NkYXRh dmVyfS97dGVzc2NvbmZpZ3MsY29uZmlncyxwZGYudHRmfQogCW12IHRlc3NkYXRhLSR7X3Rlc3Nk YXRhdmVyfS8qICR7d3Jrc3JjfS90ZXNzZGF0YQotCXJtZGlyIHRlc3NkYXRhLSR7X3Rlc3NkYXRh dmVyfQogfQogcHJlX2NvbmZpZ3VyZSgpIHsKIAlOT0NPTkZJR1VSRT0xIC4vYXV0b2dlbi5zaApA QCAtNTUsNiArNTQsMTEgQEAgcHJlX2NvbmZpZ3VyZSgpIHsKIGRvX2NoZWNrKCkgewogCTogIyBz dWJtb2R1bGUgbm90IGluIHRhcmJhbGwKIH0KK2RvX2J1aWxkKCkgeworCSMgZmFpbHMgdG8gYnVp bGQgd2l0aCBtYWtlX2J1aWxkX2FyZ3M9ImFsbCB0cmFpbmluZyIKKwltYWtlICR7bWFrZWpvYnN9 IGFsbAorCW1ha2UgJHttYWtlam9ic30gdHJhaW5pbmcKK30KIHBvc3RfaW5zdGFsbCgpIHsKIAls b2NhbCBsYW5nCiAJIyBSZW5hbWUgYmluYXJ5IHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggdGVzc2Vy YWN0IHBhY2thZ2UKQEAgLTYyLDcgKzY2LDYgQEAgcG9zdF9pbnN0YWxsKCkgewogCW12ICR7REVT VERJUn0vdXNyL3NoYXJlL21hbi9tYW4xL3Rlc3NlcmFjdHssLW9jcn0uMQogCXZkb2MgQ2hhbmdl TG9nCiAJdmRvYyBSRUFETUUubWQKLQl2bGljZW5zZSAke0ZJTEVTRElSfS9DT1BZSU5HIExJQ0VO U0UtdGVzc2RhdGEKIAkjIE1vdmUgdGhlIHBzZXVkbyBsYW5ndWdlcyAiZXF1IiAobWF0aCAvIGVx dWF0aW9uIGRldGVjdGlvbikgYW5kCiAJIyAib3NkIiAob3JpZW50YXRpb24gYW5kIHNjcmlwdCBk ZXRlY3Rpb24pIHRvIHRoZSBtYWluIHBhY2thZ2UKIAlmb3IgbGFuZyBpbiBlcXUgb3NkOyBkbwpA QCAtNzksMTMgKzgyLDYgQEAgdGVzc2VyYWN0LW9jci10b29sc19wYWNrYWdlKCkgewogCQl2bWtk aXIgdXNyL3NoYXJlL3Rlc3NlcmFjdAogCQl2bWtkaXIgdXNyL3NoYXJlL21hbi9tYW4xCiAJCXZt a2RpciB1c3Ivc2hhcmUvbWFuL21hbjUKLQkJIyBDb3B5IHNoZWxsIHNjcmlwdHMKLQkJZm9yIGYg aW4gbGFuZ3VhZ2Utc3BlY2lmaWMuc2ggdGVzc3RyYWluLnNoIHRlc3N0cmFpbl91dGlscy5zaDsg ZG8KLQkJCWlmIFsgLWUgJHt3cmtzcmN9L3RyYWluaW5nLyR7Zn0gXTsgdGhlbgotCQkJCWNwIC1h ICR7d3Jrc3JjfS90cmFpbmluZy8ke2Z9IFwKLQkJCQkJJHtQS0dERVNURElSfS91c3Ivc2hhcmUv dGVzc2VyYWN0Ci0JCQlmaQotCQlkb25lCiAJCSMgTW92ZSB0b29sIG1hbnVhbCBwYWdlcwogCQlm b3IgZiBpbiBhbWJpZ3VvdXNfd29yZHMgY250cmFpbmluZyBjb21iaW5lX3Rlc3NkYXRhIFwKIAkJ CWRhd2cyd29yZGxpc3QgbWZ0cmFpbmluZyBzaGFwZWNsdXN0ZXJpbmcgdW5pY2hhcmFtYmlncyBc CkBAIC05OSw3ICs5NSw4IEBAIHRlc3NlcmFjdC1vY3ItdG9vbHNfcGFja2FnZSgpIHsKIAl9CiB9 CiB0ZXNzZXJhY3Qtb2NyLWRldmVsX3BhY2thZ2UoKSB7Ci0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9 Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJz aW9ufV8ke3JldmlzaW9ufSBsZXB0b25pY2EtZGV2ZWwKKwkgbGliYXJjaGl2ZS1kZXZlbCBsaWJj dXJsLWRldmVsIgogCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKIAlwa2dfaW5z dGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUvdGVzc2VyYWN0CkBAIC0xMjksNyArMTI2LDcg QEAgdGVzc2VyYWN0LW9jci1hbGxfcGFja2FnZSgpIHsKIAlmb3IgbGFuZyBpbiBhZnIgYW1oIGFy YSBhc20gYXplIGF6ZV9jeXJsIGJlbCBiZW4gYm9kIGJvcyBicmUgYnVsIGNhdCBjZWIgXAogCQlj ZXMgY2hpX3NpbSBjaGlfdHJhIGNociBjb3MgY3ltIGRhbiBkZXUgZGl2IGR6byBlbGwgZW5nIGVu bSBlcG8gZXN0IGV1cyBmYW8gXAogCQlmYXMgZmlsIGZpbiBmcmEgZnJrIGZybSBmcnkgZ2xhIGds ZSBnbGcgZ3JjIGd1aiBoYXQgaGViIGhpbiBocnYgaHVuIGh5ZSBpa3UgaW5kIGlzbCBpdGEgXAot CQlpdGFfb2xkIGphdiBqcG4ga2FuIGthdCBrYXRfb2xkIGtheiBraG0ga2lyIGtvciBrdXIga3Vy X2FyYSBsYW8gbGF0IGxhdiBsaXQgbHR6IG1hbCBtYXIgXAorCQlpdGFfb2xkIGphdiBqcG4ga2Fu IGthdCBrYXRfb2xkIGtheiBraG0ga2lyIGttciBrb3IgbGFvIGxhdCBsYXYgbGl0IGx0eiBtYWwg bWFyIFwKIAkJbWtkIG1sdCBtb24gbXJpIG1zYSBteWEgbmVwIG5sZCBub3Igb2NpIG9yaSBwYW4g cG9sIHBvciBxdWUgcHVzIHJvbiBydXMgc2FuIHNpbiBzbGsgc2x2IFwKIAkJc25kIHNwYSBzcGFf b2xkIHNxaSBzcnAgc3JwX2xhdG4gc3VuIHN3YSBzd2Ugc3lyIHRhbSB0YXQgdGVsIHRnayB0Z2wg dGhhIHRpciB0b24gdHVyIFwKIAkJdWlnIHVrciB1cmQgdXpiIHV6Yl9jeXJsIHZpZSB5aWQgeW9y IFwKQEAgLTU3NiwyMyArNTczLDE2IEBAIHRlc3NlcmFjdC1vY3Ita2lyX3BhY2thZ2UoKSB7CiAJ CSQocGtnX2xhbmcgJHtwa2duYW1lI3Rlc3NlcmFjdC1vY3ItfSkKIAl9CiB9Ci10ZXNzZXJhY3Qt b2NyLWtvcl9wYWNrYWdlKCkgewotCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8k e3JldmlzaW9ufSIKLQlzaG9ydF9kZXNjKz0iIC0gS29yZWFuIGxhbmd1YWdlIGRhdGEiCi0JcGtn X2luc3RhbGwoKSB7Ci0JCSQocGtnX2xhbmcgJHtwa2duYW1lI3Rlc3NlcmFjdC1vY3ItfSkKLQl9 Ci19Ci10ZXNzZXJhY3Qtb2NyLWt1cl9wYWNrYWdlKCkgewordGVzc2VyYWN0LW9jci1rbXJfcGFj a2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0i Ci0Jc2hvcnRfZGVzYys9IiAtIEt1cmRpc2ggbGFuZ3VhZ2UgZGF0YSIKKwlzaG9ydF9kZXNjKz0i IC0gS3VybWFuamkgKEt1cmRpc2ggLSBMYXRpbiBTY3JpcHQpIGxhbmd1YWdlIGRhdGEiCiAJcGtn X2luc3RhbGwoKSB7CiAJCSQocGtnX2xhbmcgJHtwa2duYW1lI3Rlc3NlcmFjdC1vY3ItfSkKIAl9 CiB9Ci10ZXNzZXJhY3Qtb2NyLWt1cl9hcmFfcGFja2FnZSgpIHsKK3Rlc3NlcmFjdC1vY3Ita29y X3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNp b259IgotCXNob3J0X2Rlc2MrPSIgLSBLdXJkaXNoIChBcmFiaWMpIGxhbmd1YWdlIGRhdGEiCisJ c2hvcnRfZGVzYys9IiAtIEtvcmVhbiBsYW5ndWFnZSBkYXRhIgogCXBrZ19pbnN0YWxsKCkgewog CQkkKHBrZ19sYW5nICR7cGtnbmFtZSN0ZXNzZXJhY3Qtb2NyLX0pCiAJfQoKRnJvbSAzOGQ0MGM2 OTg3M2Y5YjMxZWI2NTkzOGM5OTYxZjcxZjYzNjg3Y2Y0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBjaHJ5c29zMzQ5IDxjaHJ5c29zdG9tMzQ5QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAx OSBTZXAgMjAyMyAwNDowOToyNCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMy80XSBhcmNhbjogcmV2 YnVtcCBmb3IgdGVzc2VyYWN0LTUuMy4yCgotLS0KIHNyY3BrZ3MvYXJjYW4vdGVtcGxhdGUgfCAx MCArKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXJjYW4vdGVtcGxhdGUgYi9zcmNwa2dzL2FyY2Fu L3RlbXBsYXRlCmluZGV4IGVmZDBhZmUxMDU3NmQuLjhkMWM2MGJmMGVmNTQgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvYXJjYW4vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hcmNhbi90ZW1wbGF0ZQpAQCAt Miw3ICsyLDcgQEAKICMgISEga2VlcCBzeW5jZWQgd2l0aDogYWNmZ2ZzIGFjbGlwIGFsb2FkaW1h Z2UKIHBrZ25hbWU9YXJjYW4KIHZlcnNpb249MC42LjIuMQotcmV2aXNpb249MQorcmV2aXNpb249 MgogY3JlYXRlX3dya3NyYz15ZXMKIGJ1aWxkX3dya3NyYz1hcmNhbi9zcmMKIGJ1aWxkX3N0eWxl PWNtYWtlCkBAIC0xNyw3ICsxNyw3IEBAIG1ha2VkZXBlbmRzPSJNZXNhTGliLWRldmVsIGZmbXBl Zy1kZXZlbCBmaWxlLWRldmVsIGZyZWV0eXBlLWRldmVsIGxpYmx6bWEtZGV2ZWwKICB2bGMtZGV2 ZWwgU0RMMi1kZXZlbCB4Y2ItdXRpbC1kZXZlbCB4Y2ItdXRpbC13bS1kZXZlbAogICQodm9wdF9p ZiB0dHMgJ2xpYmVzcGVhay1uZy1kZXZlbCcpCiAgJCh2b3B0X2lmIGx1YWppdCAnTHVhSklULWRl dmVsJyAnbHVhNTEtZGV2ZWwnKQotICQodm9wdF9pZiB0ZXNzZXJhY3QgJ3Rlc3NlcmFjdC1vY3It ZGV2ZWwgbGVwdG9uaWNhLWRldmVsJykKKyAkKHZvcHRfaWYgdGVzc2VyYWN0ICd0ZXNzZXJhY3Qt b2NyLWRldmVsJykKICAkKHZvcHRfaWYgd2F5bGFuZCAnd2F5bGFuZC1kZXZlbCB3YXlsYW5kLXBy b3RvY29scyBsaWJ4Y2ItZGV2ZWwgeGNiLXV0aWwtd20tZGV2ZWwnKQogICIKIHNob3J0X2Rlc2M9 IkNvbWJpbmVkIGRpc3BsYXkgc2VydmVyLCBtdWx0aW1lZGlhIGZyYW1ld29yayBhbmQgZ2FtZSBl bmdpbmUiCkBAIC0zMiw2ICszMiwxMiBAQCBjaGVja3N1bT0iN2JmMDgzNDEyYmM2MTU1NTQ3Mjg3 NzMxM2MxMzExNjQzMWEwYTM2ZmNjYmYxNDJmOTc1NTlkYjQzYjRhMTQ3NQogCiBleHBvcnQgQ01B S0VfR0VORVJBVE9SPSJVbml4IE1ha2VmaWxlcyIKIAorY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJ TkUiIGluCisJaTY4NiopCisJCWNvbmZpZ3VyZV9hcmdzKz0iIC1EU1NFXzQyX0RFVEVDVEVEX0VY SVRDT0RFPTAiCisJCTs7Citlc2FjCisKIHJlcGxhY2VzPSJhcmNhbi13YXlsYW5kPj0wIgogCiBi dWlsZF9vcHRpb25zPSJsdWFqaXQgdGVzc2VyYWN0IHR0cyB3YXlsYW5kIgoKRnJvbSBiNGJmNzFj NjMxNzMwMmVlMjMyZDJkMzU5MjcyMTM1YWNiNTZlNjZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBjaHJ5c29zMzQ5IDxjaHJ5c29zdG9tMzQ5QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAx OSBTZXAgMjAyMyAwNDoxMToyNyArMDMwMApTdWJqZWN0OiBbUEFUQ0ggNC80XSBjY2V4dHJhY3Rv cjogdXBkYXRlIHRvIDAuOTQsIGJ1aWxkIGZvciB0ZXNzZXJhY3QtNS4zLjIKCi0tLQogLi4uL2Zp eC1hdXRvY29uZi10ZXNzZXJhY3QtZGV0ZWN0aW9uLnBhdGNoICAgIHwgIDEyICsrCiBzcmNwa2dz L2NjZXh0cmFjdG9yL3BhdGNoZXMvZml4LW9jci1jLnBhdGNoICAgfCAxNTcgKysrKysrKysrKysr KysrKysrCiBzcmNwa2dzL2NjZXh0cmFjdG9yL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgfCAg MjEgKystCiAzIGZpbGVzIGNoYW5nZWQsIDE4NCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2NleHRyYWN0b3IvcGF0Y2hlcy9maXgtYXV0 b2NvbmYtdGVzc2VyYWN0LWRldGVjdGlvbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2NleHRyYWN0b3IvcGF0Y2hlcy9maXgtb2NyLWMucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2NjZXh0cmFjdG9yL3BhdGNoZXMvZml4LWF1dG9jb25mLXRlc3NlcmFjdC1kZXRlY3Rpb24u cGF0Y2ggYi9zcmNwa2dzL2NjZXh0cmFjdG9yL3BhdGNoZXMvZml4LWF1dG9jb25mLXRlc3NlcmFj dC1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw MC4uZWY4YzAxZWI0YmIwNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2NleHRyYWN0b3Iv cGF0Y2hlcy9maXgtYXV0b2NvbmYtdGVzc2VyYWN0LWRldGVjdGlvbi5wYXRjaApAQCAtMCwwICsx LDEyIEBACitkaWZmIC1ydSBhL2xpbnV4L2NvbmZpZ3VyZS5hYyBiL2xpbnV4L2NvbmZpZ3VyZS5h YworLS0tIGEvbGludXgvY29uZmlndXJlLmFjCTIwMjEtMTItMTUgMjA6MDU6MzcuMDAwMDAwMDAw ICswMzAwCisrKysgYi9saW51eC9jb25maWd1cmUuYWMJMjAyMy0wOS0xNCAwNTo0MDozMC4yNjc1 NjM2MjAgKzAzMDAKK0BAIC0xNTQsNyArMTU0LDcgQEAKKyBBTV9DT05ESVRJT05BTChIQVJEU1VC WF9JU19FTkFCTEVELCBbIHRlc3QgeCRoYXJkc3VieCA9IHh0cnVlIF0pCisgQU1fQ09ORElUSU9O QUwoT0NSX0lTX0VOQUJMRUQsIFsgdGVzdCB4JG9jciA9IHh0cnVlIHx8IHRlc3QgeCRoYXJkc3Vi eCA9IHh0cnVlIF0pCisgQU1fQ09ORElUSU9OQUwoRkZNUEVHX0lTX0VOQUJMRUQsIFsgdGVzdCB4 JGZmbXBlZyA9IHh0cnVlIF0pCistQU1fQ09ORElUSU9OQUwoVEVTU0VSQUNUX1BSRVNFTlQsIFsg dGVzdCAhIC16ICBgcGtnLWNvbmZpZyAtLWxpYnMtb25seS1sIC0tc2lsZW5jZS1lcnJvcnMgdGVz c2VyYWN0YCBdKQorK0FNX0NPTkRJVElPTkFMKFRFU1NFUkFDVF9QUkVTRU5ULCBbIHRlc3QgLW4g ICIkKHBrZy1jb25maWcgLS1saWJzLW9ubHktbCAtLXNpbGVuY2UtZXJyb3JzIHRlc3NlcmFjdCki IF0pCisgQU1fQ09ORElUSU9OQUwoVEVTU0VSQUNUX1BSRVNFTlRfUlBJLCBbIHRlc3QgLWQgIi91 c3IvaW5jbHVkZS90ZXNzZXJhY3QiICYmIHRlc3QgYGxzIC1BIC91c3IvaW5jbHVkZS90ZXNzZXJh Y3QgfCB3YyAtbGAgLWd0IDAgXSkKKyBBTV9DT05ESVRJT05BTChTWVNfSVNfTElOVVgsIFsgdGVz dCBgdW5hbWUgLXNgID0gIkxpbnV4Il0pCisgQU1fQ09ORElUSU9OQUwoU1lTX0lTX01BQywgWyB0 ZXN0IGB1bmFtZSAtc2AgPSAiRGFyd2luIl0pCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NjZXh0cmFj dG9yL3BhdGNoZXMvZml4LW9jci1jLnBhdGNoIGIvc3JjcGtncy9jY2V4dHJhY3Rvci9wYXRjaGVz L2ZpeC1vY3ItYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw Li5jYTMzODcyNDcwOTcxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jY2V4dHJhY3Rvci9w YXRjaGVzL2ZpeC1vY3ItYy5wYXRjaApAQCAtMCwwICsxLDE1NyBAQAorZGlmZiAtcnUgYS9zcmMv bGliX2NjeC9vY3IuYyBiL3NyYy9saWJfY2N4L29jci5jCistLS0gYS9zcmMvbGliX2NjeC9vY3Iu YwkyMDIxLTEyLTE1IDIwOjAzOjQ1LjAwMDAwMDAwMCArMDMwMAorKysrIGIvc3JjL2xpYl9jY3gv b2NyLmMJMjAyMy0wOS0xMyAyMzowNjo0Mi41Mzg5ODY2MjMgKzAzMDAKK0BAIC0xLDEwICsxLDEw IEBACisgI2luY2x1ZGUgPG1hdGguaD4KKy0jaW5jbHVkZSAicG5nLmgiCisrI2luY2x1ZGUgPHBu Zy5oPgorICNpbmNsdWRlICJsaWJfY2N4LmgiCisgI2lmZGVmIEVOQUJMRV9PQ1IKKyAjaW5jbHVk ZSA8dGVzc2VyYWN0L2NhcGkuaD4KKy0jaW5jbHVkZSAiY2N4X2NvbW1vbl9jb25zdGFudHMuaCIK KyAjaW5jbHVkZSA8bGVwdG9uaWNhL2FsbGhlYWRlcnMuaD4KKysjaW5jbHVkZSAiY2N4X2NvbW1v bl9jb25zdGFudHMuaCIKKyAjaW5jbHVkZSA8ZGlyZW50Lmg+CisgI2luY2x1ZGUgImNjeF9lbmNv ZGVyc19oZWxwZXJzLmgiCisgI2luY2x1ZGUgIm9jci5oIgorQEAgLTQ4LDcgKzQ4LDcgQEAKKyAJ aWYgKCFkaXJfbmFtZSkKKyAJCXJldHVybiAtMTsKKyAKKy0JLy9TZWFyY2ggZm9yIGEgdGVzc2Rh dGEgZm9sZGVyIGluIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5CisrCS8vIFNlYXJjaCBmb3IgYSB0 ZXNzZGF0YSBmb2xkZXIgaW4gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkKKyAJY2hhciAqZGlybmFt ZSA9IHN0cmR1cChkaXJfbmFtZSk7CisgCWRpcm5hbWUgPSByZWFsbG9jKGRpcm5hbWUsIHN0cmxl bihkaXJuYW1lKSArIHN0cmxlbigidGVzc2RhdGEvIikgKyAxKTsKKyAJc3RyY2F0KGRpcm5hbWUs ICJ0ZXNzZGF0YS8iKTsKK0BAIC05NywzNiArOTcsMjIgQEAKKyBjaGFyICpwcm9iZV90ZXNzZGF0 YV9sb2NhdGlvbihjb25zdCBjaGFyICpsYW5nKQorIHsKKyAJaW50IHJldCA9IDA7CistCWNoYXIg KnRlc3NkYXRhX2Rpcl9wYXRoID0gZ2V0ZW52KCJURVNTREFUQV9QUkVGSVgiKTsKKyAKKy0JcmV0 ID0gc2VhcmNoX2xhbmd1YWdlX3BhY2sodGVzc2RhdGFfZGlyX3BhdGgsIGxhbmcpOworLQlpZiAo IXJldCkKKy0JCXJldHVybiB0ZXNzZGF0YV9kaXJfcGF0aDsKKy0KKy0JdGVzc2RhdGFfZGlyX3Bh dGggPSAiLi8iOworLQlyZXQgPSBzZWFyY2hfbGFuZ3VhZ2VfcGFjayh0ZXNzZGF0YV9kaXJfcGF0 aCwgbGFuZyk7CistCWlmICghcmV0KQorLQkJcmV0dXJuIHRlc3NkYXRhX2Rpcl9wYXRoOworLQor LQl0ZXNzZGF0YV9kaXJfcGF0aCA9ICIvdXNyL3NoYXJlLyI7CistCXJldCA9IHNlYXJjaF9sYW5n dWFnZV9wYWNrKHRlc3NkYXRhX2Rpcl9wYXRoLCBsYW5nKTsKKy0JaWYgKCFyZXQpCistCQlyZXR1 cm4gdGVzc2RhdGFfZGlyX3BhdGg7CistCistCXRlc3NkYXRhX2Rpcl9wYXRoID0gIi91c3IvbG9j YWwvc2hhcmUvIjsKKy0JcmV0ID0gc2VhcmNoX2xhbmd1YWdlX3BhY2sodGVzc2RhdGFfZGlyX3Bh dGgsIGxhbmcpOworLQlpZiAoIXJldCkKKy0JCXJldHVybiB0ZXNzZGF0YV9kaXJfcGF0aDsKKy0K Ky0JdGVzc2RhdGFfZGlyX3BhdGggPSAiL3Vzci9zaGFyZS90ZXNzZXJhY3Qtb2NyLyI7CistCXJl dCA9IHNlYXJjaF9sYW5ndWFnZV9wYWNrKHRlc3NkYXRhX2Rpcl9wYXRoLCBsYW5nKTsKKy0JaWYg KCFyZXQpCistCQlyZXR1cm4gdGVzc2RhdGFfZGlyX3BhdGg7CistCistCXRlc3NkYXRhX2Rpcl9w YXRoID0gIi91c3Ivc2hhcmUvdGVzc2VyYWN0LW9jci80LjAwLyI7CistCXJldCA9IHNlYXJjaF9s YW5ndWFnZV9wYWNrKHRlc3NkYXRhX2Rpcl9wYXRoLCBsYW5nKTsKKy0JaWYgKCFyZXQpCistCQly ZXR1cm4gdGVzc2RhdGFfZGlyX3BhdGg7CisrCWNvbnN0IGNoYXIgKnBhdGhzW10gPSB7CisrCSAg ICBnZXRlbnYoIlRFU1NEQVRBX1BSRUZJWCIpLAorKwkgICAgIi4vIiwKKysJICAgICIvdXNyL3No YXJlLyIsCisrCSAgICAiL3Vzci9sb2NhbC9zaGFyZS8iLAorKwkgICAgIi91c3Ivc2hhcmUvdGVz c2VyYWN0LW9jci8iLAorKwkgICAgIi91c3Ivc2hhcmUvdGVzc2VyYWN0LW9jci80LjAwLyIsCisr CSAgICAiL3Vzci9zaGFyZS90ZXNzZXJhY3Qtb2NyLzUvIiwKKysJICAgICIvdXNyL3NoYXJlL3Rl c3NlcmFjdC8ifTsKKysKKysJZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplb2YocGF0aHMpIC8gc2l6 ZW9mKHBhdGhzWzBdKTsgaSsrKQorKwl7CisrCQlpZiAoIXNlYXJjaF9sYW5ndWFnZV9wYWNrKHBh dGhzW2ldLCBsYW5nKSkKKysJCQlyZXR1cm4gKGNoYXIgKilwYXRoc1tpXTsKKysJfQorIAorIAly ZXR1cm4gTlVMTDsKKyB9CitAQCAtMTc0LDcgKzE2MCw3IEBACisgCWNoYXIgKnBhcnNfdmFsdWVz ID0gc3RyZHVwKCJ0ZXNzLmxvZyIpOworIAorIAljdHgtPmFwaSA9IFRlc3NCYXNlQVBJQ3JlYXRl KCk7CistCWlmICghc3RybmNtcCgiNC4iLCBUZXNzVmVyc2lvbigpLCAyKSkKKysJaWYgKCFzdHJu Y21wKCI0LiIsIFRlc3NWZXJzaW9uKCksIDIpIHx8ICFzdHJuY21wKCI1LiIsIFRlc3NWZXJzaW9u KCksIDIpKQorIAl7CisgCQljaGFyIHRlc3NfcGF0aFsxMDI0XTsKKyAJCXNucHJpbnRmKHRlc3Nf cGF0aCwgMTAyNCwgIiVzJXMlcyIsIHRlc3NkYXRhX3BhdGgsICIvIiwgInRlc3NkYXRhIik7CitA QCAtMzMxLDYgKzMxNywxMSBAQAorIAl9CisgCisgCUJPWCAqY3JvcF9wb2ludHMgPSBpZ25vcmVf YWxwaGFfYXRfZWRnZShjb3B5LT5hbHBoYSwgY29weS0+ZGF0YSwgdywgaCwgY29sb3JfcGl4LCAm Y29sb3JfcGl4X291dCk7CisrCisrCWxfaW50MzIgeCwgeSwgX3csIF9oOworKworKwlib3hHZXRH ZW9tZXRyeShjcm9wX3BvaW50cywgJngsICZ5LCAmX3csICZfaCk7CisrCisgCS8vIENvbnZlcnRp bmcgaW1hZ2UgdG8gZ3JheXNjYWxlIGZvciBPQ1IgdG8gYXZvaWQgaXNzdWVzIHdpdGggdHJhbnNw YXJlbmN5CisgCWNwaXhfZ3MgPSBwaXhDb252ZXJ0UkdCVG9HcmF5KGNwaXgsIDAuMCwgMC4wLCAw LjApOworIAorQEAgLTQyMSwxMyArNDEyLDEzIEBACisgCQkJCW1lbXNldChtY2l0LCAwLCBjb3B5 LT5uYl9jb2xvcnMgKiBzaXplb2YodWludDMyX3QpKTsKKyAKKyAJCQkJLyogY2FsY3VsYXRlIGhp c3RvZ3JhbSBvZiBpbWFnZSAqLworLQkJCQlpbnQgZmlyc3RwaXhlbCA9IGNvcHktPmRhdGFbMF07 IC8vVE9ETzogVmVyaWZ5IHRoaXMgYm9yZGVyIHBpeGVsIGFzc3VtcHRpb24gaG9sZHMKKysJCQkJ aW50IGZpcnN0cGl4ZWwgPSBjb3B5LT5kYXRhWzBdOyAvLyBUT0RPOiBWZXJpZnkgdGhpcyBib3Jk ZXIgcGl4ZWwgYXNzdW1wdGlvbiBob2xkcworIAkJCQlmb3IgKGludCBpID0geTE7IGkgPD0geTI7 IGkrKykKKyAJCQkJeworIAkJCQkJZm9yIChpbnQgaiA9IHgxOyBqIDw9IHgyOyBqKyspCisgCQkJ CQl7CistCQkJCQkJaWYgKGNvcHktPmRhdGFbKGNyb3BfcG9pbnRzLT55ICsgaSkgKiB3ICsgKGNy b3BfcG9pbnRzLT54ICsgaildICE9IGZpcnN0cGl4ZWwpCistCQkJCQkJCWhpc3RvZ3JhbVtjb3B5 LT5kYXRhWyhjcm9wX3BvaW50cy0+eSArIGkpICogdyArIChjcm9wX3BvaW50cy0+eCArIGopXV0r KzsKKysJCQkJCQlpZiAoY29weS0+ZGF0YVsoeSArIGkpICogdyArICh4ICsgaildICE9IGZpcnN0 cGl4ZWwpCisrCQkJCQkJCWhpc3RvZ3JhbVtjb3B5LT5kYXRhWyh5ICsgaSkgKiB3ICsgKHggKyBq KV1dKys7CisgCQkJCQl9CisgCQkJCX0KKyAJCQkJLyogc29ydGVkIGluIGluY3JlYXNpbmcgb3Jk ZXIgb2YgaW50ZW5zaXR5ICovCitAQCAtOTU2LDE4ICs5NDcsMTggQEAKKyAJCWRlc3QrKzsKKyAJ d2hpbGUgKCpzcmMgIT0gJ1wwJykKKyAJeworLQkJLy9jaGVja3MgaWYgYSBsaW5lIGhhcyBhY3R1 YWwgY29udGVudCBpbiBpdCBiZWZvcmUgYWRkaW5nIGl0CisrCQkvLyBjaGVja3MgaWYgYSBsaW5l IGhhcyBhY3R1YWwgY29udGVudCBpbiBpdCBiZWZvcmUgYWRkaW5nIGl0CisgCQlpZiAoKnNyYyA9 PSAnXG4nKQorIAkJeworIAkJCWNoYXJfZm91bmQgPSAwOworIAkJCWxpbmVfc2NhbiA9IHNyYyAr IDE7CistCQkJLy9tdWx0aXBsZSBibG9ja3Mgb2YgbmV3bGluZXMKKysJCQkvLyBtdWx0aXBsZSBi bG9ja3Mgb2YgbmV3bGluZXMKKyAJCQl3aGlsZSAoKihsaW5lX3NjYW4pID09ICdcbicpCisgCQkJ eworIAkJCQlsaW5lX3NjYW4rKzsKKyAJCQkJc3JjKys7CisgCQkJfQorLQkJCS8vZW1wdHkgbGlu ZXMKKysJCQkvLyBlbXB0eSBsaW5lcworIAkJCXdoaWxlICgqbGluZV9zY2FuICE9ICdcbicgJiYg KmxpbmVfc2NhbiAhPSAnXDAnKQorIAkJCXsKKyAJCQkJaWYgKCpsaW5lX3NjYW4gPiAzMikKK0BA IC05OTEsOCArOTgyLDggQEAKKyAJbWVtY3B5KGRlc3QsIGNybGYsIGNybGZfbGVuZ3RoKTsKKyAJ ZGVzdFtjcmxmX2xlbmd0aF0gPSAwOworIAkvKgorLQkqZGVzdCsrID0gJ1xuJzsKKy0JKmRlc3Qg PSAnXDAnOyAqLworKwkgKmRlc3QrKyA9ICdcbic7CisrCSAqZGVzdCA9ICdcMCc7ICovCisgfQor IAorIC8qKgorQEAgLTEwMTcsNyArMTAwOCw3IEBACisgCQlyZXR1cm4gTlVMTDsKKyAJZWxzZQor IAl7CistCQlzdHIgPSBtYWxsb2MobGVuICsgMSArIDEwKTsgLy9FeHRyYSBzcGFjZSBmb3IgcG9z c2libGUgdHJhaWxpbmcgJy9uJ3MgYXQgdGhlIGVuZCBvZiB0ZXNzZXJhY3QgVVRGOCB0ZXh0Cisr CQlzdHIgPSBtYWxsb2MobGVuICsgMSArIDEwKTsgLy8gRXh0cmEgc3BhY2UgZm9yIHBvc3NpYmxl IHRyYWlsaW5nICcvbidzIGF0IHRoZSBlbmQgb2YgdGVzc2VyYWN0IFVURjggdGV4dAorIAkJaWYg KCFzdHIpCisgCQkJcmV0dXJuIE5VTEw7CisgCQkqc3RyID0gJ1wwJzsKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2NleHRyYWN0b3IvdGVtcGxhdGUgYi9zcmNwa2dzL2NjZXh0cmFjdG9yL3RlbXBsYXRl CmluZGV4IDlhYmNkODI4NTJiMjcuLmE1N2IyZmEwNWYxYTYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv Y2NleHRyYWN0b3IvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jY2V4dHJhY3Rvci90ZW1wbGF0ZQpA QCAtMSwyMyArMSwzMiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY2NleHRyYWN0b3InCiBwa2du YW1lPWNjZXh0cmFjdG9yCi12ZXJzaW9uPTAuOTMKK3ZlcnNpb249MC45NAogcmV2aXNpb249MQog YnVpbGRfd3Jrc3JjPSJsaW51eCIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKK2J1aWxkX2hl bHBlcj1ydXN0CiBjb25maWd1cmVfYXJncz0iLS1lbmFibGUtb2NyIC0tZW5hYmxlLWhhcmRzdWJ4 IgotaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBwa2ctY29uZmlnIgotbWFrZWRlcGVuZHM9Imxl cHRvbmljYS1kZXZlbCB0ZXNzZXJhY3Qtb2NyLWRldmVsIGZmbXBlZy1kZXZlbCIKK2hvc3RtYWtl ZGVwZW5kcz0iYXV0b21ha2UgcGtnLWNvbmZpZyBjYXJnbyBjbGFuZyIKK21ha2VkZXBlbmRzPSJ0 ZXNzZXJhY3Qtb2NyLWRldmVsIGZmbXBlZy1kZXZlbCBydXN0LXN0ZCIKIHNob3J0X2Rlc2M9IkV4 dHJhY3Qgc3VidGl0bGVzIGZyb20gdmlkZW8gc3RyZWFtcyIKIG1haW50YWluZXI9Im5ld2JsdWVt b29uIDxibGF1bW9sY2hAbWFpbGJveC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIK IGhvbWVwYWdlPSJodHRwczovL3d3dy5jY2V4dHJhY3Rvci5vcmcvIgogY2hhbmdlbG9nPSJodHRw czovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ0NFeHRyYWN0b3IvY2NleHRyYWN0b3IvbWFz dGVyL2RvY3MvQ0hBTkdFUy5UWFQiCi1kaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9DQ0V4 dHJhY3Rvci8ke3BrZ25hbWV9L2FyY2hpdmUvdiR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09 MGU2NmQzZTM2MGRiMWIwMmE4ODI3MWFmMTEzMTNjYTRjOWJiZGExYjAzNzI4ZTI2NGE0NGM0Yzlm NzcxOTJlMwotQ0ZMQUdTPSItSSR7WEJQU19DUk9TU19CQVNFfS91c3IvaW5jbHVkZS90ZXNzZXJh Y3QgLURQTkdfUE9XRVJQQ19WU1hfT1BUPTAgLWZjb21tb24iCitkaXN0ZmlsZXM9Imh0dHBzOi8v Z2l0aHViLmNvbS9DQ0V4dHJhY3Rvci9jY2V4dHJhY3Rvci9yZWxlYXNlcy9kb3dubG9hZC92JHt2 ZXJzaW9ufS9jY2V4dHJhY3Rvcl9taW5pbWFsLnRhci5neiIKK2NoZWNrc3VtPTFmZTAyMGJmNWI0 NWZjZmE1NjQ5NTgzODFhN2ZjZTVmMDlkNmYzYTg4OGRlN2E4MGE2NzQ1YzJmM2JmZGIzMjQKK0NG TEFHUz0iLURQTkdfUE9XRVJQQ19WU1hfT1BUPTAgLWZjb21tb24iCisKK2lmIFsgIiRDUk9TU19C VUlMRCIgXTsgdGhlbgorCWhvc3RtYWtlZGVwZW5kcys9IiB0ZXNzZXJhY3Qtb2NyIgorZmkKIAog cHJlX2NvbmZpZ3VyZSgpIHsKIAlzZWQgLWkgLWUgInMvdGVzc2VyYWN0IC0tdmVyc2lvbi90ZXNz ZXJhY3Qtb2NyIC0tdmVyc2lvbi9nIiBjb25maWd1cmUuYWMKKwlsbiAtc2YgbGlibGVwdG9uaWNh LnNvICR7WEJQU19DUk9TU19CQVNFfS91c3IvbGliL2xpYmxlcHQuc28KKwlpZiBbICIkQ1JPU1Nf QlVJTEQiIF07IHRoZW4KKwkJc2VkIC1pIGNvbmZpZ3VyZS5hYyAtZSAicy89cmVsZWFzZS89JHtS VVNUX1RBUkdFVH1cL3JlbGVhc2UvIgorCWZpCiAJLi9hdXRvZ2VuLnNoCiB9CiAK --===============5624652419788902961==--