From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 76280 invoked by alias); 18 Jan 2019 19:05:08 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 73930 invoked by uid 89); 18 Jan 2019 19:05:07 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-9.1 required=5.0 tests=BAYES_00,FILL_THIS_FORM,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,KAM_NUMSUBJECT,KAM_STOCKGEN,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=_, go, lif, vet X-HELO: mail-lj1-f169.google.com Received: from mail-lj1-f169.google.com (HELO mail-lj1-f169.google.com) (209.85.208.169) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 18 Jan 2019 19:04:57 +0000 Received: by mail-lj1-f169.google.com with SMTP id g11-v6so12524001ljk.3 for ; Fri, 18 Jan 2019 11:04:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=golang-org.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=txIwG+QFtCTlZin4nmXdzqgAewi9Nh/E+8AuJ0XW2u8=; b=UZmSJnt2RA0ibborxqydKkDb2Rzz1fFt38Q9cb01dJirzftbZqmWG5n12y2SJhjJUh Mbv/+Ga8QekcPZs2NjOjHQcmc3kvGKYnXg4zVMeh/xQQ09H7N/hvnuBnHnHzfnOJg7He wBO8HUiBKV75u4HDysyxYrkqUChv6+YonFwF+W6GA+gyWBWiNfuB2J1a+L0aPyrf5Xc9 viOGnQrczaFKe7mGhcuG1Bf6SGaAi3WVmnT3frNZOxbxxlRe7+aukgmfSRKH0tO2djqQ L3//K5O019fxWzXT4+Z4HMRuE79+qTOOgASld3h9zC/kQS7V6YqDjUObxf/BYN3Nd/aj MWCw== MIME-Version: 1.0 From: Ian Lance Taylor Date: Fri, 18 Jan 2019 19:05:00 -0000 Message-ID: Subject: libgo patch committed: Update to Go1.12beta2 To: gcc-patches , gofrontend-dev Content-Type: multipart/mixed; boundary="000000000000b159ba057fc02fd8" X-SW-Source: 2019-01/txt/msg01094.txt.bz2 --000000000000b159ba057fc02fd8 Content-Type: text/plain; charset="UTF-8" Content-length: 784 I have committed a patch to update libgo to the Go 1.12beta2 release. As usual this sort of update is too large to include all changes in this e-mail. I've included changes to gccgo-specific files below. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian gotools/ 2019-01-18 Ian Lance Taylor * Makefile.am (go_cmd_vet_files): Update for Go1.12beta2 release. (GOTOOLS_TEST_TIMEOUT): Increase to 600. (check-runtime): Export LD_LIBRARY_PATH before computing GOARCH and GOOS. (check-vet): Copy golang.org/x/tools into check-vet-dir. * Makefile.in: Regenerate. gcc/testsuite/ 2019-01-18 Ian Lance Taylor * go.go-torture/execute/names-1.go: Stop using debug/xcoff, which is no longer externally visible. --000000000000b159ba057fc02fd8 Content-Type: text/plain; charset="UTF-8"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jr2ev9zv0 Content-length: 46641 SW5kZXg6IGdjYy9nby9nb2Zyb250ZW5kL01FUkdFCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy9nby9nb2Zyb250ZW5kL01FUkdFCShyZXZpc2lv biAyNjgwNzgpCisrKyBnY2MvZ28vZ29mcm9udGVuZC9NRVJHRQkod29ya2lu ZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLWQxNmU5MTgxYTc2MDc5NjgwMmMw Njc3MzBiYjAzMGI5MmI2M2ZiMmMKK2M3NmJhMzAxNGU0MmNjNmFkYzNkNDM3 MDliYmEyOGM1YWQ3YTZiYTIKIAogVGhlIGZpcnN0IGxpbmUgb2YgdGhpcyBm aWxlIGhvbGRzIHRoZSBnaXQgcmV2aXNpb24gbnVtYmVyIG9mIHRoZSBsYXN0 CiBtZXJnZSBkb25lIGZyb20gdGhlIGdvZnJvbnRlbmQgcmVwb3NpdG9yeS4K SW5kZXg6IGdvdG9vbHMvTWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ290b29scy9NYWtlZmlsZS5hbQkocmV2aXNpb24gMjY4MDc4 KQorKysgZ290b29scy9NYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAt NzAsMzEgKzcwLDggQEAgZ29fY21kX2Nnb19maWxlcyA9IFwKIAkkKGNtZHNy Y2RpcikvY2dvL3V0aWwuZ28KIAogZ29fY21kX3ZldF9maWxlcyA9IFwKLQkk KGNtZHNyY2RpcikvdmV0L2FzbWRlY2wuZ28gXAotCSQoY21kc3JjZGlyKS92 ZXQvYXNzaWduLmdvIFwKLQkkKGNtZHNyY2RpcikvdmV0L2F0b21pYy5nbyBc Ci0JJChjbWRzcmNkaXIpL3ZldC9ib29sLmdvIFwKLQkkKGNtZHNyY2Rpcikv dmV0L2J1aWxkdGFnLmdvIFwKLQkkKGNtZHNyY2RpcikvdmV0L2Nnby5nbyBc Ci0JJChjbWRzcmNkaXIpL3ZldC9jb21wb3NpdGUuZ28gXAotCSQoY21kc3Jj ZGlyKS92ZXQvY29weWxvY2suZ28gXAotCSQoY21kc3JjZGlyKS92ZXQvZGVh ZGNvZGUuZ28gXAotCSQoY21kc3JjZGlyKS92ZXQvZGVhZC5nbyBcCiAJJChj bWRzcmNkaXIpL3ZldC9kb2MuZ28gXAotCSQoY21kc3JjZGlyKS92ZXQvaHR0 cHJlc3BvbnNlLmdvIFwKLQkkKGNtZHNyY2RpcikvdmV0L2xvc3RjYW5jZWwu Z28gXAotCSQoY21kc3JjZGlyKS92ZXQvbWFpbi5nbyBcCi0JJChjbWRzcmNk aXIpL3ZldC9tZXRob2QuZ28gXAotCSQoY21kc3JjZGlyKS92ZXQvbmlsZnVu Yy5nbyBcCi0JJChjbWRzcmNkaXIpL3ZldC9wcmludC5nbyBcCi0JJChjbWRz cmNkaXIpL3ZldC9yYW5nZWxvb3AuZ28gXAotCSQoY21kc3JjZGlyKS92ZXQv c2hhZG93LmdvIFwKLQkkKGNtZHNyY2RpcikvdmV0L3NoaWZ0LmdvIFwKLQkk KGNtZHNyY2RpcikvdmV0L3N0cnVjdHRhZy5nbyBcCi0JJChjbWRzcmNkaXIp L3ZldC90ZXN0cy5nbyBcCi0JJChjbWRzcmNkaXIpL3ZldC90eXBlcy5nbyBc Ci0JJChjbWRzcmNkaXIpL3ZldC91bnNhZmVwdHIuZ28gXAotCSQoY21kc3Jj ZGlyKS92ZXQvdW51c2VkLmdvCisJJChjbWRzcmNkaXIpL3ZldC9tYWluLmdv CiAKIGdvX2NtZF9idWlsZGlkX2ZpbGVzID0gXAogCSQoY21kc3JjZGlyKS9i dWlsZGlkL2J1aWxkaWQuZ28gXApAQCAtMTYzLDcgKzE0MCw3IEBAIHVuaW5z dGFsbC1sb2NhbDoKIEdPVEVTVEZMQUdTID0KIAogIyBOdW1iZXIgb2Ygc2Vj b25kcyBiZWZvcmUgdGVzdHMgdGltZSBvdXQuCi1HT1RPT0xTX1RFU1RfVElN RU9VVCA9IDQ4MAorR09UT09MU19URVNUX1RJTUVPVVQgPSA2MDAKIAogIyBS dW4gdGVzdHMgdXNpbmcgdGhlIGdvIHRvb2wsIGFuZCBmcm9iIHRoZSBvdXRw dXQgdG8gbG9vayBsaWtlIHRoYXQKICMgZ2VuZXJhdGVkIGJ5IERlamFHTlUu ICBUaGUgbWFpbiBvdXRwdXQgb2YgdGhpcyBpcyB0d28gZmlsZXM6CkBAIC0y NTYsNiArMjMzLDcgQEAgY2hlY2stcnVudGltZTogZ28kKEVYRUVYVCkgJChu b2luc3RfUFJPRwogCSQoTUtESVJfUCkgY2hlY2stcnVudGltZS1kaXIKIAlA YWJzX2xpYmdvZGlyPWBjZCAkKGxpYmdvZGlyKSAmJiAkKFBXRF9DT01NQU5E KWA7IFwKIAlMRF9MSUJSQVJZX1BBVEg9YGVjaG8gJCR7YWJzX2xpYmdvZGly fS8ubGliczokJHtMRF9MSUJSQVJZX1BBVEh9IHwgc2VkICdzLDo6Kiw6LGc7 cyxeOiosLDtzLDoqJCQsLCdgOyBcCisJZXhwb3J0IExEX0xJQlJBUllfUEFU SDsgXAogCUdPQVJDSD1gJChhYnNfYnVpbGRkaXIpL2dvJChFWEVFWFQpIGVu diBHT0FSQ0hgOyBcCiAJR09PUz1gJChhYnNfYnVpbGRkaXIpL2dvJChFWEVF WFQpIGVudiBHT09TYDsgXAogCWZpbGVzPWAkKFNIRUxMKSAkKGxpYmdvc3Jj ZGlyKS8uLi9tYXRjaC5zaCAtLWdvYXJjaD0kJHtHT0FSQ0h9IC0tZ29vcz0k JHtHT09TfSAtLXNyY2Rpcj0kKGxpYmdvc3JjZGlyKS9ydW50aW1lIC0tZXh0 cmFmaWxlcz0iJChsaWJnb2RpcikvcnVudGltZV9zeXNpbmZvLmdvICQobGli Z29kaXIpL3NpZ3RhYi5nbyIgLS10YWc9bGliZmZpYDsgXApAQCAtMjk5LDEw ICsyNzcsMTEgQEAgY2hlY2stY2FyY2hpdmUtdGVzdDogZ28kKEVYRUVYVCkg JChub2lucwogIyBjaGVjay12ZXQgcnVucyBgZ28gdGVzdCBjbWQvdmV0YCBp biBvdXIgZW52aXJvbm1lbnQuCiBjaGVjay12ZXQ6IGdvJChFWEVFWFQpICQo bm9pbnN0X1BST0dSQU1TKSBjaGVjay1oZWFkIGNoZWNrLWdjY2dvIGNoZWNr LWdjYwogCXJtIC1yZiBjaGVjay12ZXQtZGlyIGNtZF92ZXQtdGVzdGxvZwot CSQoTUtESVJfUCkgY2hlY2stdmV0LWRpci9zcmMvY21kL2ludGVybmFsCisJ JChNS0RJUl9QKSBjaGVjay12ZXQtZGlyL3NyYy9jbWQvaW50ZXJuYWwgY2hl Y2stdmV0LWRpci9zcmMvY21kL3ZlbmRvci9nb2xhbmcub3JnL3gKIAljcCAt ciAkKGNtZHNyY2RpcikvdmV0IGNoZWNrLXZldC1kaXIvc3JjL2NtZC8KIAlj cCAtciAkKGNtZHNyY2RpcikvaW50ZXJuYWwvb2JqYWJpIGNoZWNrLXZldC1k aXIvc3JjL2NtZC9pbnRlcm5hbAogCWNwICQobGliZ29kaXIpL29iamFiaS5n byBjaGVjay12ZXQtZGlyL3NyYy9jbWQvaW50ZXJuYWwvb2JqYWJpLworCWNw IC1yICQobGliZ29zcmNkaXIpL2dvbGFuZy5vcmcveC90b29scyBjaGVjay12 ZXQtZGlyL3NyYy9jbWQvdmVuZG9yL2dvbGFuZy5vcmcveC8KIAlAYWJzX2xp YmdvZGlyPWBjZCAkKGxpYmdvZGlyKSAmJiAkKFBXRF9DT01NQU5EKWA7IFwK IAlhYnNfY2hlY2tkaXI9YGNkIGNoZWNrLXZldC1kaXIgJiYgJChQV0RfQ09N TUFORClgOyBcCiAJZWNobyAiY2QgY2hlY2stdmV0LWRpci9zcmMvY21kL3Zl dCAmJiAkKEVDSE9fRU5WKSBHT1BBVEg9JCR7YWJzX2NoZWNrZGlyfSAkKGFi c19idWlsZGRpcikvZ28kKEVYRUVYVCkgdGVzdCAtdGVzdC5zaG9ydCAtdGVz dC50aW1lb3V0PSQoR09UT09MU19URVNUX1RJTUVPVVQpcyAtdGVzdC52IiA+ IGNtZF92ZXQtdGVzdGxvZwpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nby5nby10 b3J0dXJlL2V4ZWN1dGUvbmFtZXMtMS5nbwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2dvLmdvLXRvcnR1cmUvZXhlY3V0ZS9u YW1lcy0xLmdvCShyZXZpc2lvbiAyNjgwNzgpCisrKyBnY2MvdGVzdHN1aXRl L2dvLmdvLXRvcnR1cmUvZXhlY3V0ZS9uYW1lcy0xLmdvCSh3b3JraW5nIGNv cHkpCkBAIC03LDkgKzcsOSBAQCBpbXBvcnQgKAogCSJkZWJ1Zy9lbGYiCiAJ ImRlYnVnL21hY2hvIgogCSJkZWJ1Zy9wZSIKLQkiZGVidWcveGNvZmYiCiAJ ImZtdCIKIAkib3MiCisJInJ1bnRpbWUiCiAJInN0cmluZ3MiCiApCiAKQEAg LTYxLDYgKzYxLDEyIEBAIGZ1bmMgRnVuY3Rpb24zKG91dCAqYnl0ZXMuQnVm ZmVyKSB7CiB9CiAKIGZ1bmMgbWFpbigpIHsKKwlpZiBydW50aW1lLkdPT1Mg PT0gImFpeCIgeworCQkvLyBOb3Qgc3VwcG9ydGVkIG9uIEFJWCB1bnRpbCB0 aGVyZSBpcyBhbiBleHRlcm5hbGx5CisJCS8vIHZpc2libGUgdmVyc2lvbiBv ZiBpbnRlcm5hbC94Y29mZi4KKwkJcmV0dXJuCisJfQorCiAJdmFyIGIgYnl0 ZXMuQnVmZmVyCiAJRnVuY3Rpb24xKCZiKQogCUZ1bmN0aW9uMigmYikKQEAg LTk1LDEwICsxMDEsNiBAQCBmdW5jIGNoZWNrRmlsZShmICpvcy5GaWxlKSB7 CiAJCWZvciBfLCBwc3ltIDo9IHJhbmdlIHBmLlN5bWJvbHMgewogCQkJc3lt cyA9IGFwcGVuZChzeW1zLCBwc3ltLk5hbWUpCiAJCX0KLQl9IGVsc2UgaWYg eGYsIGVyciA6PSB4Y29mZi5OZXdGaWxlKGYpOyBlcnIgPT0gbmlsIHsKLQkJ Zm9yIF8sIHhzeW0gOj0gcmFuZ2UgeGYuU3ltYm9scyB7Ci0JCQlzeW1zID0g YXBwZW5kKHN5bXMsIHhzeW0uTmFtZSkKLQkJfQogCX0gZWxzZSB7CiAJCWZt dC5QcmludGxuKCJjaGVja3N5bXM6IGNvdWxkIG5vdCBwYXJzZSBleGVjdXRh YmxlIikKIAkJZm10LlByaW50bG4oIlVOU1VQUE9SVEVEOiBjaGVja3N5bXMi KQpJbmRleDogbGliZ28vTUVSR0UKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gbGliZ28vTUVSR0UJKHJldmlzaW9uIDI2ODA3OCkKKysrIGxpYmdvL01F UkdFCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotMjY5NTcxNjhj NGMwY2RjYzdjYTRmMGIxOWQwZWIxOTQ3NGQyMjRhYworNGIzZjA0YzYzYjVi MWExYmJjNGRmZDcxYzM0MzQxZWE0ZTkzNTExNQogCiBUaGUgZmlyc3QgbGlu ZSBvZiB0aGlzIGZpbGUgaG9sZHMgdGhlIGdpdCByZXZpc2lvbiBudW1iZXIg b2YgdGhlCiBsYXN0IG1lcmdlIGRvbmUgZnJvbSB0aGUgbWFzdGVyIGxpYnJh cnkgc291cmNlcy4KSW5kZXg6IGxpYmdvL01ha2VmaWxlLmFtCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGxpYmdvL01ha2VmaWxlLmFtCShyZXZpc2lv biAyNjgwNzgpCisrKyBsaWJnby9NYWtlZmlsZS5hbQkod29ya2luZyBjb3B5 KQpAQCAtMjE3LDggKzIxNyw3IEBAIHRvb2xleGVjbGliZ29kZWJ1Z19EQVRB ID0gXAogCWRlYnVnL2dvc3ltLmdveCBcCiAJZGVidWcvbWFjaG8uZ294IFwK IAlkZWJ1Zy9wZS5nb3ggXAotCWRlYnVnL3BsYW45b2JqLmdveCBcCi0JZGVi dWcveGNvZmYuZ294CisJZGVidWcvcGxhbjlvYmouZ294CiAKIHRvb2xleGVj bGliZ29lbmNvZGluZ2RpciA9ICQodG9vbGV4ZWNsaWJnb2RpcikvZW5jb2Rp bmcKIApAQCAtMzk0LDggKzM5Myw4IEBAIHRvb2xleGVjbGliZ291bmljb2Rl X0RBVEEgPSBcCiAjIGludGVybmFsIHBhY2thZ2VzIG5vdGhpbmcgd2lsbCBl eHBsaWNpdGx5IGRlcGVuZCBvbiB0aGVtLgogIyBGb3JjZSB0aGVtIHRvIGJl IGJ1aWx0Lgogbm9pbnN0X0RBVEEgPSBcCi0JZ29sYW5nX29yZy94L25ldC9p bnRlcm5hbC9uZXR0ZXN0LmdveCBcCi0JZ29sYW5nX29yZy94L25ldC9uZXR0 ZXN0LmdveCBcCisJaW50ZXJuYWwveC9uZXQvaW50ZXJuYWwvbmV0dGVzdC5n b3ggXAorCWludGVybmFsL3gvbmV0L25ldHRlc3QuZ294IFwKIAlpbnRlcm5h bC90ZXN0ZW52LmdveCBcCiAJaW50ZXJuYWwvdHJhY2UuZ294IFwKIAluZXQv aW50ZXJuYWwvc29ja3Rlc3QuZ294IFwKQEAgLTUzNiw3ICs1MzUsNyBAQCBj cHVnZW4uZ286IHMtY3B1OyBAdHJ1ZQogcy1jcHU6IE1ha2VmaWxlCiAJcm0g LWYgY3B1Z2VuLmdvLnRtcAogCWVjaG8gInBhY2thZ2UgY3B1IiA+IGNwdWdl bi5nby50bXAKLQllY2hvICJjb25zdCBDYWNoZUxpbmVTaXplID0gYCQoU0hF TEwpICQoc3JjZGlyKS9nb2FyY2guc2ggJChHT0FSQ0gpIGNhY2hlbGluZXNp emVgIiA+PiBjcHVnZW4uZ28udG1wCisJZWNobyAiY29uc3QgQ2FjaGVMaW5l UGFkU2l6ZSA9IGAkKFNIRUxMKSAkKHNyY2RpcikvZ29hcmNoLnNoICQoR09B UkNIKSBjYWNoZWxpbmVzaXplYCIgPj4gY3B1Z2VuLmdvLnRtcAogCSQoU0hF TEwpICQoc3JjZGlyKS9tdmlmZGlmZi5zaCBjcHVnZW4uZ28udG1wIGNwdWdl bi5nbwogCSQoU1RBTVApICRACiAKQEAgLTU1NCw3ICs1NTMsNyBAQCBzLW9i amFiaTogTWFrZWZpbGUKIAllY2hvICdjb25zdCBkZWZhdWx0R09BUkNIID0g cnVudGltZS5HT0FSQ0gnID4+IG9iamFiaS5nby50bXAKIAllY2hvICdjb25z dCBkZWZhdWx0R09fRVhUTElOS19FTkFCTEVEID0gYGAnID4+IG9iamFiaS5n by50bXAKIAllY2hvICdjb25zdCB2ZXJzaW9uID0gYCdgY2F0ICQoc3JjZGly KS9WRVJTSU9OIHwgc2VkIDFxYCcgJ2AkKEdPQykgLS12ZXJzaW9uIHwgc2Vk IDFxYCdgJyA+PiBvYmphYmkuZ28udG1wCi0JZWNobyAnY29uc3Qgc3RhY2tH dWFyZE11bHRpcGxpZXIgPSAxJyA+PiBvYmphYmkuZ28udG1wCisJZWNobyAn Y29uc3Qgc3RhY2tHdWFyZE11bHRpcGxpZXJEZWZhdWx0ID0gMScgPj4gb2Jq YWJpLmdvLnRtcAogCWVjaG8gJ2NvbnN0IGdvZXhwZXJpbWVudCA9IGBgJyA+ PiBvYmphYmkuZ28udG1wCiAJJChTSEVMTCkgJChzcmNkaXIpL212aWZkaWZm LnNoIG9iamFiaS5nby50bXAgb2JqYWJpLmdvCiAJJChTVEFNUCkgJEAKQEAg LTcxNSwxNiArNzE0LDE0IEBAIFBBQ0tBR0VTID0gJChzaGVsbCBjYXQgJChz cmNkaXIpL2xpYmdvLXAKIAogbGliZ29fZ29fb2JqcyA9IFwKIAkkKGFkZHN1 ZmZpeCAubG8sJChQQUNLQUdFUykpIFwKLQlieXRlcy9pbmRleC5sbyBcCiAJ aW50ZXJuYWwvYnl0ZWFsZy9ieXRlYWxnLmxvIFwKIAlyZWZsZWN0L21ha2Vm dW5jX2ZmaV9jLmxvIFwKLQlzdHJpbmdzL2luZGV4LmxvIFwKIAkkKHN5c2Nh bGxfbGliX2Nsb25lX2xvKSBcCiAJc3lzY2FsbC9lcnJuby5sbyBcCiAJc3lz Y2FsbC9zaWduYW1lLmxvIFwKIAlzeXNjYWxsL3dhaXQubG8gXAotCSQoZ29s YW5nX29yZ194X25ldF9saWZfbG8pIFwKLQkkKGdvbGFuZ19vcmdfeF9uZXRf cm91dGVfbG8pIFwKKwkkKGludGVybmFsX3hfbmV0X2xpZl9sbykgXAorCSQo aW50ZXJuYWxfeF9uZXRfcm91dGVfbG8pIFwKIAlsb2cvc3lzbG9nL3N5c2xv Z19jLmxvIFwKIAkkKG9zX2xpYl9pbm90aWZ5X2xvKSBcCiAJcnVudGltZS9p bnRlcm5hbC9hdG9taWNfYy5sbyBcCkBAIC04MDcsNyArODA0LDcgQEAgQlVJ TERERVBTID0gXAogQlVJTERQQUNLQUdFID0gXAogCSQoTUtESVJfUCkgJChA RCk7IFwKIAlmaWxlcz1gZWNobyAkXiB8IHNlZCAtZSAncy9bXiBdKlwuZ294 Ly9nJyAtZSAncy9bXiBdKlwuZGVwLy8nYDsgXAotCSQoTFRHT0NPTVBJTEUp IC1JIC4gLWMgLWZnby1wa2dwYXRoPWBlY2hvICRAIHwgc2VkIC1lICdzLy5s byQkLy8nIC1lICdzfGdvbGFuZ19vcmd8dmVuZG9yL2dvbGFuZ19vcmd8J2Ag JCgkKHN1YnN0IC0sXywkKHN1YnN0IC4sXywkKHN1YnN0IC8sXywkQCkpKV9H T0NGTEFHUykgLW8gJEAgJCRmaWxlcworCSQoTFRHT0NPTVBJTEUpIC1JIC4g LWMgLWZnby1wa2dwYXRoPWBlY2hvICRAIHwgc2VkIC1lICdzLy5sbyQkLy8n YCAkKCQoc3Vic3QgLSxfLCQoc3Vic3QgLixfLCQoc3Vic3QgLyxfLCRAKSkp X0dPQ0ZMQUdTKSAtbyAkQCAkJGZpbGVzCiAKICMgSG93IHRvIGJ1aWxkIGEg LmdveCBmaWxlIGZyb20gYSAubG8gZmlsZS4KICMgTWF0Y2hpbmcgLm8gZmls ZSBjYW4gZWl0aGVyIGJlIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB0aGUg LmxvIChub24tUElDCkBAIC05OTAsNiArOTg3LDcgQEAgZXh0cmFfY2hlY2tf bGlic19jbWRfZ29faW50ZXJuYWxfY2FjaGUgPQogZXh0cmFfY2hlY2tfbGli c19jbWRfZ29faW50ZXJuYWxfZ2VuZXJhdGUgPSAkKGFic19idWlsZGRpcikv bGliZ290b29sLmEKIGV4dHJhX2NoZWNrX2xpYnNfY21kX2dvX2ludGVybmFs X2dldCA9ICQoYWJzX2J1aWxkZGlyKS9saWJnb3Rvb2wuYQogZXh0cmFfY2hl Y2tfbGlic19jbWRfZ29faW50ZXJuYWxfbG9hZCA9ICQoYWJzX2J1aWxkZGly KS9saWJnb3Rvb2wuYQorZXh0cmFfY2hlY2tfbGlic19jbWRfZ29faW50ZXJu YWxfbG9ja2VkZmlsZSA9ICQoYWJzX2J1aWxkZGlyKS9saWJnb3Rvb2wuYQog ZXh0cmFfY2hlY2tfbGlic19jbWRfZ29faW50ZXJuYWxfaW1wb3J0cyA9ICQo YWJzX2J1aWxkZGlyKS9saWJnb3Rvb2wuYQogZXh0cmFfY2hlY2tfbGlic19j bWRfZ29faW50ZXJuYWxfbW9kY29udiA9ICQoYWJzX2J1aWxkZGlyKS9saWJn b3Rvb2wuYQogZXh0cmFfY2hlY2tfbGlic19jbWRfZ29faW50ZXJuYWxfbW9k ZmV0Y2ggPSAkKGFic19idWlsZGRpcikvbGliZ290b29sLmEKQEAgLTEwMDcs MTMgKzEwMDUsNyBAQCBleHRyYV9jaGVja19saWJzX2NtZF92ZXRfaW50ZXJu YWxfY2ZnID0KICMgRklYTUU6IFRoZSBmb2xsb3dpbmcgQyBmaWxlcyBtYXkg YXMgd2VsbCBtb3ZlIHRvIHRoZSBydW50aW1lCiAjIGRpcmVjdG9yeSBhbmQg YmUgdHJlYXRlZCBsaWtlIG90aGVyIEMgZmlsZXMuCiAKLSMgVXNlIEMgY29k ZSB0byBzcGVlZCB1cCB7Ynl0ZXMsc3RyaW5nc30uSW5kZXhCeXRlIGFuZCBm cmllbmRzLgotYnl0ZXMvaW5kZXgubG86IGdvL2J5dGVzL2luZGV4Ynl0ZS5j IHJ1bnRpbWUuaW5jCi0JQCQoTUtESVJfUCkgYnl0ZXMKLQkkKExUQ09NUElM RSkgLWMgLW8gJEAgJChzcmNkaXIpL2dvL2J5dGVzL2luZGV4Ynl0ZS5jCi1z dHJpbmdzL2luZGV4LmxvOiBnby9zdHJpbmdzL2luZGV4Ynl0ZS5jIHJ1bnRp bWUuaW5jCi0JQCQoTUtESVJfUCkgc3RyaW5ncwotCSQoTFRDT01QSUxFKSAt YyAtbyAkQCAkKHNyY2RpcikvZ28vc3RyaW5ncy9pbmRleGJ5dGUuYworIyBV c2UgQyBjb2RlIHRvIHNwZWVkIHVwIGludGVybmFsL2J5dGVhbGcuSW5kZXhC eXRlIGFuZCBmcmllbmRzLgogaW50ZXJuYWwvYnl0ZWFsZy9ieXRlYWxnLmxv OiBnby9pbnRlcm5hbC9ieXRlYWxnL2J5dGVhbGcuYyBydW50aW1lLmluYwog CUAkKE1LRElSX1ApIGludGVybmFsL2J5dGVhbGcKIAkkKExUQ09NUElMRSkg LWMgLW8gJEAgJChzcmNkaXIpL2dvL2ludGVybmFsL2J5dGVhbGcvYnl0ZWFs Zy5jCkBAIC0xMDcwLDM0ICsxMDYyLDM0IEBAIGVuZGlmCiAKIGlmIExJQkdP X0lTX0JTRAogCi0jIEJ1aWxkIGdvbGFuZ19vcmcveC9uZXQvcm91dGUgb25s eSBvbiBCU0Qgc3lzdGVtcy4KKyMgQnVpbGQgaW50ZXJuYWwveC9uZXQvcm91 dGUgb25seSBvbiBCU0Qgc3lzdGVtcy4KIAotJChldmFsICQoY2FsbCBQQUNL QUdFX3RlbXBsYXRlLGdvbGFuZ19vcmcveC9uZXQvcm91dGUpKQorJChldmFs ICQoY2FsbCBQQUNLQUdFX3RlbXBsYXRlLGludGVybmFsL3gvbmV0L3JvdXRl KSkKIAotZ29sYW5nX29yZ194X25ldF9yb3V0ZV9sbyA9IFwKLQlnb2xhbmdf b3JnL3gvbmV0L3JvdXRlLmxvCi1nb2xhbmdfb3JnX3hfbmV0X3JvdXRlX2No ZWNrID0gXAotCWdvbGFuZ19vcmcveC9uZXQvcm91dGUvY2hlY2sKK2ludGVy bmFsX3hfbmV0X3JvdXRlX2xvID0gXAorCWludGVybmFsL3gvbmV0L3JvdXRl LmxvCitpbnRlcm5hbF94X25ldF9yb3V0ZV9jaGVjayA9IFwKKwlpbnRlcm5h bC94L25ldC9yb3V0ZS9jaGVjawogCiBlbmRpZgogCiBpZiBMSUJHT19JU19T T0xBUklTCiAKLSMgQnVpbGQgZ29sYW5nX29yZy94L25ldC9saWYgb25seSBv biBTb2xhcmlzIHN5c3RlbXMuCisjIEJ1aWxkIGludGVybmFsL3gvbmV0L2xp ZiBvbmx5IG9uIFNvbGFyaXMgc3lzdGVtcy4KIAotJChldmFsICQoY2FsbCBQ QUNLQUdFX3RlbXBsYXRlLGdvbGFuZ19vcmcveC9uZXQvbGlmKSkKKyQoZXZh bCAkKGNhbGwgUEFDS0FHRV90ZW1wbGF0ZSxpbnRlcm5hbC94L25ldC9saWYp KQogCi1nb2xhbmdfb3JnX3hfbmV0X2xpZl9sbyA9IFwKLQlnb2xhbmdfb3Jn L3gvbmV0L2xpZi5sbwotZ29sYW5nX29yZ194X25ldF9saWZfY2hlY2sgPSBc Ci0JZ29sYW5nX29yZy94L25ldC9saWYvY2hlY2sKK2ludGVybmFsX3hfbmV0 X2xpZl9sbyA9IFwKKwlpbnRlcm5hbC94L25ldC9saWYubG8KK2ludGVybmFs X3hfbmV0X2xpZl9jaGVjayA9IFwKKwlpbnRlcm5hbF9vcmcveC9uZXQvbGlm L2NoZWNrCiAKIGVuZGlmCiAKIFRQQUNLQUdFUyA9ICQoc2hlbGwgY2F0ICQo c3JjZGlyKS9jaGVjay1wYWNrYWdlcy50eHQpCiBURVNUX1BBQ0tBR0VTID0g JChhZGRzdWZmaXggL2NoZWNrLCQoVFBBQ0tBR0VTKSkgXAotCSQoZ29sYW5n X29yZ194X25ldF9saWZfY2hlY2spIFwKLQkkKGdvbGFuZ19vcmdfeF9uZXRf cm91dGVfY2hlY2spCisJJChpbnRlcm5hbF94X25ldF9saWZfY2hlY2spIFwK KwkkKGludGVybmFsX3hfbmV0X3JvdXRlX2NoZWNrKQogCiBjaGVjazogY2hl Y2stdGFpbAogY2hlY2stcmVjdXJzaXZlOiBjaGVjay1oZWFkCkluZGV4OiBs aWJnby9WRVJTSU9OCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpYmdv L1ZFUlNJT04JKHJldmlzaW9uIDI2ODA3OCkKKysrIGxpYmdvL1ZFUlNJT04J KHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWdvMS4xMS4xCitnbzEuMTJi ZXRhMgpJbmRleDogbGliZ28vY2hlY2stcGFja2FnZXMudHh0Cj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGxpYmdvL2NoZWNrLXBhY2thZ2VzLnR4dAko cmV2aXNpb24gMjY4MDc4KQorKysgbGliZ28vY2hlY2stcGFja2FnZXMudHh0 CSh3b3JraW5nIGNvcHkpCkBAIC04LDYgKzgsOCBAQCBjbWQvZ28vaW50ZXJu YWwvZ2VuZXJhdGUKIGNtZC9nby9pbnRlcm5hbC9nZXQKIGNtZC9nby9pbnRl cm5hbC9pbXBvcnRzCiBjbWQvZ28vaW50ZXJuYWwvbG9hZAorY21kL2dvL2lu dGVybmFsL2xvY2tlZGZpbGUKK2NtZC9nby9pbnRlcm5hbC9sb2NrZWRmaWxl L2ludGVybmFsL2ZpbGVsb2NrCiBjbWQvZ28vaW50ZXJuYWwvbW9kY29udgog Y21kL2dvL2ludGVybmFsL21vZGZldGNoCiBjbWQvZ28vaW50ZXJuYWwvbW9k ZmV0Y2gvY29kZWhvc3QKQEAgLTI1LDcgKzI3LDYgQEAgY21kL2ludGVybmFs L2J1aWxkaWQKIGNtZC9pbnRlcm5hbC9lZGl0CiBjbWQvaW50ZXJuYWwvb2Jq YWJpCiBjbWQvaW50ZXJuYWwvdGVzdDJqc29uCi1jbWQvdmV0L2ludGVybmFs L2NmZwogY29tcHJlc3MvYnppcDIKIGNvbXByZXNzL2ZsYXRlCiBjb21wcmVz cy9nemlwCkBAIC02MSw3ICs2Miw2IEBAIGRlYnVnL2VsZgogZGVidWcvbWFj aG8KIGRlYnVnL3BlCiBkZWJ1Zy9wbGFuOW9iagotZGVidWcveGNvZmYKIGVu Y29kaW5nL2FzY2lpODUKIGVuY29kaW5nL2FzbjEKIGVuY29kaW5nL2Jhc2Uz MgpAQCAtOTEsMTkgKzkxLDYgQEAgZ28vcHJpbnRlcgogZ28vc2Nhbm5lcgog Z28vdG9rZW4KIGdvL3R5cGVzCi1nb2xhbmdfb3JnL3gvY3J5cHRvL2ludGVy bmFsL2NoYWNoYTIwCi1nb2xhbmdfb3JnL3gvY3J5cHRvL2NoYWNoYTIwcG9s eTEzMDUKLWdvbGFuZ19vcmcveC9jcnlwdG8vY2hhY2hhMjBwb2x5MTMwNS9p bnRlcm5hbC9jaGFjaGEyMAotZ29sYW5nX29yZy94L2NyeXB0by9jcnlwdG9i eXRlCi1nb2xhbmdfb3JnL3gvY3J5cHRvL2N1cnZlMjU1MTkKLWdvbGFuZ19v cmcveC9jcnlwdG8vcG9seTEzMDUKLWdvbGFuZ19vcmcveC9uZXQvZG5zL2Ru c21lc3NhZ2UKLWdvbGFuZ19vcmcveC9uZXQvaHR0cC9odHRwZ3V0cwotZ29s YW5nX29yZy94L25ldC9odHRwL2h0dHBwcm94eQotZ29sYW5nX29yZy94L25l dC9odHRwMi9ocGFjawotZ29sYW5nX29yZy94L25ldC9pZG5hCi1nb2xhbmdf b3JnL3gvbmV0L2xleC9odHRwbGV4Ci1nb2xhbmdfb3JnL3gvbmV0L3Byb3h5 CiBoYXNoCiBoYXNoL2FkbGVyMzIKIGhhc2gvY3JjMzIKQEAgLTExOCw5ICsx MDUsMjIgQEAgaW1hZ2UvanBlZwogaW1hZ2UvcG5nCiBpbmRleC9zdWZmaXhh cnJheQogaW50ZXJuYWwvY3B1CitpbnRlcm5hbC9mbXRzb3J0CiBpbnRlcm5h bC9wb2xsCiBpbnRlcm5hbC9zaW5nbGVmbGlnaHQKIGludGVybmFsL3RyYWNl CitpbnRlcm5hbC94L2NyeXB0by9jaGFjaGEyMHBvbHkxMzA1CitpbnRlcm5h bC94L2NyeXB0by9jcnlwdG9ieXRlCitpbnRlcm5hbC94L2NyeXB0by9jdXJ2 ZTI1NTE5CitpbnRlcm5hbC94L2NyeXB0by9oa2RmCitpbnRlcm5hbC94L2Ny eXB0by9pbnRlcm5hbC9jaGFjaGEyMAoraW50ZXJuYWwveC9jcnlwdG8vcG9s eTEzMDUKK2ludGVybmFsL3gvbmV0L2Rucy9kbnNtZXNzYWdlCitpbnRlcm5h bC94L25ldC9odHRwL2h0dHBndXRzCitpbnRlcm5hbC94L25ldC9odHRwL2h0 dHBwcm94eQoraW50ZXJuYWwveC9uZXQvaHR0cDIvaHBhY2sKK2ludGVybmFs L3gvbmV0L2lkbmEKK2ludGVybmFsL3hjb2ZmCiBpbwogaW8vaW91dGlsCiBs b2cKQEAgLTE2Miw2ICsxNjIsNyBAQCByZWdleHAvc3ludGF4CiBydW50aW1l CiBydW50aW1lL2RlYnVnCiBydW50aW1lL2ludGVybmFsL2F0b21pYworcnVu dGltZS9pbnRlcm5hbC9tYXRoCiBydW50aW1lL2ludGVybmFsL3N5cwogcnVu dGltZS9wcHJvZgogcnVudGltZS9wcHJvZi9pbnRlcm5hbC9wcm9maWxlCklu ZGV4OiBsaWJnby9jb25maWd1cmUuYWMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gbGliZ28vY29uZmlndXJlLmFjCShyZXZpc2lvbiAyNjgwNzgpCisr KyBsaWJnby9jb25maWd1cmUuYWMJKHdvcmtpbmcgY29weSkKQEAgLTEwLDcg KzEwLDcgQEAgQUNfSU5JVChwYWNrYWdlLXVudXNlZCwgdmVyc2lvbi11bnVz ZWQsLAogQUNfQ09ORklHX1NSQ0RJUihNYWtlZmlsZS5hbSkKIEFDX0NPTkZJ R19IRUFERVIoY29uZmlnLmgpCiAKLWxpYnRvb2xfVkVSU0lPTj0xMzowOjAK K2xpYnRvb2xfVkVSU0lPTj0xNDowOjAKIEFDX1NVQlNUKGxpYnRvb2xfVkVS U0lPTikKIAogQU1fRU5BQkxFX01VTFRJTElCKCwgLi4pCkBAIC0xNTMsNyAr MTUzLDcgQEAgQUNfU1VCU1QoZ29faW5jbHVkZSkKICMgQWxsIGtub3duIEdP T1MgdmFsdWVzLiAgVGhpcyBpcyB0aGUgdW5pb24gb2YgYWxsIG9wZXJhdGlu ZyBzeXN0ZW1zCiAjIHN1cHBvcnRlZCBieSB0aGUgZ29mcm9udGVuZCBhbmQg YWxsIG9wZXJhdGluZyBzeXN0ZW1zIHN1cHBvcnRlZCBieQogIyB0aGUgZ2Mg dG9vbGNoYWluLgotQUxMR09PUz0iYWl4IGFuZHJvaWQgZGFyd2luIGRyYWdv bmZseSBmcmVlYnNkIGlyaXggbGludXggbmV0YnNkIG9wZW5ic2QgcGxhbjkg cnRlbXMgc29sYXJpcyB3aW5kb3dzIgorQUxMR09PUz0iYWl4IGFuZHJvaWQg ZGFyd2luIGRyYWdvbmZseSBmcmVlYnNkIGh1cmQgaXJpeCBqcyBsaW51eCBu ZXRic2Qgb3BlbmJzZCBwbGFuOSBydGVtcyBzb2xhcmlzIHdpbmRvd3MiCiAK IGlzX2Rhcndpbj1ubwogaXNfZnJlZWJzZD1ubwpJbmRleDogbGliZ28vZ28v cnVudGltZS9pbnRlcm5hbC9hdG9taWMvYXRvbWljLmMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gbGliZ28vZ28vcnVudGltZS9pbnRlcm5hbC9hdG9t aWMvYXRvbWljLmMJKHJldmlzaW9uIDI2ODA3OCkKKysrIGxpYmdvL2dvL3J1 bnRpbWUvaW50ZXJuYWwvYXRvbWljL2F0b21pYy5jCSh3b3JraW5nIGNvcHkp CkBAIC0xMyw3ICsxMyw3IEBAIHVpbnQzMl90IExvYWQgKHVpbnQzMl90ICpw dHIpCiB1aW50MzJfdAogTG9hZCAodWludDMyX3QgKnB0cikKIHsKLSAgcmV0 dXJuIF9fYXRvbWljX2xvYWRfbiAocHRyLCBfX0FUT01JQ19BQ1FVSVJFKTsK KyAgcmV0dXJuIF9fYXRvbWljX2xvYWRfbiAocHRyLCBfX0FUT01JQ19TRVFf Q1NUKTsKIH0KIAogdm9pZCAqTG9hZHAgKHZvaWQgKnB0cikKQEAgLTIzLDcg KzIzLDcgQEAgdm9pZCAqTG9hZHAgKHZvaWQgKnB0cikKIHZvaWQgKgogTG9h ZHAgKHZvaWQgKnB0cikKIHsKLSAgcmV0dXJuIF9fYXRvbWljX2xvYWRfbiAo KHZvaWQgKiopIHB0ciwgX19BVE9NSUNfQUNRVUlSRSk7CisgIHJldHVybiBf X2F0b21pY19sb2FkX24gKCh2b2lkICoqKSBwdHIsIF9fQVRPTUlDX1NFUV9D U1QpOwogfQogCiB1aW50NjRfdCBMb2FkNjQgKHVpbnQ2NF90ICpwdHIpCkBA IC0zNSw2ICszNSwxNiBAQCBMb2FkNjQgKHVpbnQ2NF90ICpwdHIpCiB7CiAg IGlmICgoKHVpbnRwdHJfdCkgcHRyICYgNykgIT0gMCkKICAgICBwYW5pY21l bSAoKTsKKyAgcmV0dXJuIF9fYXRvbWljX2xvYWRfbiAocHRyLCBfX0FUT01J Q19TRVFfQ1NUKTsKK30KKwordWludDMyX3QgTG9hZEFjcSAodWludDMyX3Qg KnB0cikKKyAgX19hc21fXyAoR09TWU1fUFJFRklYICJydW50aW1lLi56MmZp bnRlcm5hbC4uejJmYXRvbWljLkxvYWRBY3EiKQorICBfX2F0dHJpYnV0ZV9f ICgobm9fc3BsaXRfc3RhY2spKTsKKwordWludDMyX3QKK0xvYWRBY3EgKHVp bnQzMl90ICpwdHIpCit7CiAgIHJldHVybiBfX2F0b21pY19sb2FkX24gKHB0 ciwgX19BVE9NSUNfQUNRVUlSRSk7CiB9CiAKQEAgLTQ1LDcgKzU1LDcgQEAg dWludHB0cl90IExvYWR1aW50cHRyICh1aW50cHRyX3QgKnB0cikKIHVpbnRw dHJfdAogTG9hZHVpbnRwdHIgKHVpbnRwdHJfdCAqcHRyKQogewotICByZXR1 cm4gX19hdG9taWNfbG9hZF9uIChwdHIsIF9fQVRPTUlDX0FDUVVJUkUpOwor ICByZXR1cm4gX19hdG9taWNfbG9hZF9uIChwdHIsIF9fQVRPTUlDX1NFUV9D U1QpOwogfQogCiB1aW50Z28gTG9hZHVpbnQgKHVpbnRnbyAqcHRyKQpAQCAt NTUsNyArNjUsNyBAQCB1aW50Z28gTG9hZHVpbnQgKHVpbnRnbyAqcHRyKQog dWludGdvCiBMb2FkdWludCAodWludGdvICpwdHIpCiB7Ci0gIHJldHVybiBf X2F0b21pY19sb2FkX24gKHB0ciwgX19BVE9NSUNfQUNRVUlSRSk7CisgIHJl dHVybiBfX2F0b21pY19sb2FkX24gKHB0ciwgX19BVE9NSUNfU0VRX0NTVCk7 CiB9CiAKIGludDY0X3QgTG9hZGludDY0IChpbnQ2NF90ICpwdHIpCkBAIC02 Nyw3ICs3Nyw3IEBAIExvYWRpbnQ2NCAoaW50NjRfdCAqcHRyKQogewogICBp ZiAoKCh1aW50cHRyX3QpIHB0ciAmIDcpICE9IDApCiAgICAgcGFuaWNtZW0g KCk7Ci0gIHJldHVybiBfX2F0b21pY19sb2FkX24gKHB0ciwgX19BVE9NSUNf QUNRVUlSRSk7CisgIHJldHVybiBfX2F0b21pY19sb2FkX24gKHB0ciwgX19B VE9NSUNfU0VRX0NTVCk7CiB9CiAKIHVpbnQzMl90IFhhZGQgKHVpbnQzMl90 ICpwdHIsIGludDMyX3QgZGVsdGEpCkBAIC0xODgsNiArMTk4LDE2IEBAIENh czY0ICh1aW50NjRfdCAqcHRyLCB1aW50NjRfdCBvbGQsIHVpbnQKICAgcmV0 dXJuIF9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2VfbiAocHRyLCAmb2xkLCBu ZXcsIGZhbHNlLCBfX0FUT01JQ19TRVFfQ1NULCBfX0FUT01JQ19SRUxBWEVE KTsKIH0KIAorX0Jvb2wgQ2FzUmVsICh1aW50MzJfdCAqcHRyLCB1aW50MzJf dCBvbGQsIHVpbnQzMl90IG5ldykKKyAgX19hc21fXyAoR09TWU1fUFJFRklY ICJydW50aW1lLi56MmZpbnRlcm5hbC4uejJmYXRvbWljLkNhc1JlbCIpCisg IF9fYXR0cmlidXRlX18gKChub19zcGxpdF9zdGFjaykpOworCitfQm9vbAor Q2FzUmVsICh1aW50MzJfdCAqcHRyLCB1aW50MzJfdCBvbGQsIHVpbnQzMl90 IG5ldykKK3sKKyAgcmV0dXJuIF9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vf biAocHRyLCAmb2xkLCBuZXcsIGZhbHNlLCBfX0FUT01JQ19SRUxFQVNFLCBf X0FUT01JQ19SRUxBWEVEKTsKK30KKwogX0Jvb2wgQ2FzcDEgKHZvaWQgKipw dHIsIHZvaWQgKm9sZCwgdm9pZCAqbmV3KQogICBfX2FzbV9fIChHT1NZTV9Q UkVGSVggInJ1bnRpbWUuLnoyZmludGVybmFsLi56MmZhdG9taWMuQ2FzcDEi KQogICBfX2F0dHJpYnV0ZV9fICgobm9fc3BsaXRfc3RhY2spKTsKQEAgLTIz MCw2ICsyNTAsMTYgQEAgU3RvcmU2NCAodWludDY0X3QgKnB0ciwgdWludDY0 X3QgdmFsKQogICBfX2F0b21pY19zdG9yZV9uIChwdHIsIHZhbCwgX19BVE9N SUNfU0VRX0NTVCk7CiB9CiAKK3ZvaWQgU3RvcmVSZWwgKHVpbnQzMl90ICpw dHIsIHVpbnQzMl90IHZhbCkKKyAgX19hc21fXyAoR09TWU1fUFJFRklYICJy dW50aW1lLi56MmZpbnRlcm5hbC4uejJmYXRvbWljLlN0b3JlUmVsIikKKyAg X19hdHRyaWJ1dGVfXyAoKG5vX3NwbGl0X3N0YWNrKSk7CisKK3ZvaWQKK1N0 b3JlUmVsICh1aW50MzJfdCAqcHRyLCB1aW50MzJfdCB2YWwpCit7CisgIF9f YXRvbWljX3N0b3JlX24gKHB0ciwgdmFsLCBfX0FUT01JQ19SRUxFQVNFKTsK K30KKwogdm9pZCBTdG9yZXVpbnRwdHIgKHVpbnRwdHJfdCAqcHRyLCB1aW50 cHRyX3QgdmFsKQogICBfX2FzbV9fIChHT1NZTV9QUkVGSVggInJ1bnRpbWUu LnoyZmludGVybmFsLi56MmZhdG9taWMuU3RvcmV1aW50cHRyIikKICAgX19h dHRyaWJ1dGVfXyAoKG5vX3NwbGl0X3N0YWNrKSk7CkluZGV4OiBsaWJnby9n by9ydW50aW1lL2ludGVybmFsL2F0b21pYy9nY2Nnby5nbwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBsaWJnby9nby9ydW50aW1lL2ludGVybmFsL2F0 b21pYy9nY2Nnby5nbwkocmV2aXNpb24gMjY4MDc4KQorKysgbGliZ28vZ28v cnVudGltZS9pbnRlcm5hbC9hdG9taWMvZ2NjZ28uZ28JKHdvcmtpbmcgY29w eSkKQEAgLTE4LDYgKzE4LDkgQEAgZnVuYyBMb2FkcChwdHIgdW5zYWZlLlBv aW50ZXIpIHVuc2FmZS5QbwogZnVuYyBMb2FkNjQocHRyICp1aW50NjQpIHVp bnQ2NAogCiAvL2dvOm5vZXNjYXBlCitmdW5jIExvYWRBY3EocHRyICp1aW50 MzIpIHVpbnQzMgorCisvL2dvOm5vZXNjYXBlCiBmdW5jIFhhZGQocHRyICp1 aW50MzIsIGRlbHRhIGludDMyKSB1aW50MzIKIAogLy9nbzpub2VzY2FwZQpA QCAtNDcsMTEgKzUwLDE3IEBAIGZ1bmMgT3I4KHB0ciAqdWludDgsIHZhbCB1 aW50OCkKIGZ1bmMgQ2FzNjQocHRyICp1aW50NjQsIG9sZCwgbmV3IHVpbnQ2 NCkgYm9vbAogCiAvL2dvOm5vZXNjYXBlCitmdW5jIENhc1JlbChwdHIgKnVp bnQzMiwgb2xkLCBuZXcgdWludDMyKSBib29sCisKKy8vZ286bm9lc2NhcGUK IGZ1bmMgU3RvcmUocHRyICp1aW50MzIsIHZhbCB1aW50MzIpCiAKIC8vZ286 bm9lc2NhcGUKIGZ1bmMgU3RvcmU2NChwdHIgKnVpbnQ2NCwgdmFsIHVpbnQ2 NCkKIAorLy9nbzpub2VzY2FwZQorZnVuYyBTdG9yZVJlbChwdHIgKnVpbnQz MiwgdmFsIHVpbnQzMikKKwogLy8gU3RvcmVwTm9XQiBwZXJmb3JtcyAqcHRy ID0gdmFsIGF0b21pY2FsbHkgYW5kIHdpdGhvdXQgYSB3cml0ZQogLy8gYmFy cmllci4KIC8vCkluZGV4OiBsaWJnby9nby9ydW50aW1lL2Nnb19nY2Nnby5n bwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaWJnby9nby9ydW50aW1l L2Nnb19nY2Nnby5nbwkocmV2aXNpb24gMjY4MDc4KQorKysgbGliZ28vZ28v cnVudGltZS9jZ29fZ2NjZ28uZ28JKHdvcmtpbmcgY29weSkKQEAgLTg0LDgg Kzg0LDggQEAgZnVuYyBDZ29jYWxsQmFjaygpIHsKIAogCWxvY2tPU1RocmVh ZCgpCiAKLQlleGl0c3lzY2FsbCgpCiAJZ3AubS5pbmNnbyA9IGZhbHNlCisJ ZXhpdHN5c2NhbGwoKQogCiAJaWYgZ3AubS5uY2dvID09IDAgewogCQkvLyBU aGUgQyBjYWxsIHRvIEdvIGNhbWUgZnJvbSBhIHRocmVhZCBjcmVhdGVkIGJ5 IEMuCkBAIC0xMDgsMzcgKzEwOCw0MSBAQCBmdW5jIENnb2NhbGxCYWNrKCkg ewogZnVuYyBDZ29jYWxsQmFja0RvbmUoKSB7CiAJdW5sb2NrT1NUaHJlYWQo KQogCi0JLy8gSWYgd2UgYXJlIHRoZSB0b3AgbGV2ZWwgR28gZnVuY3Rpb24g Y2FsbGVkIGZyb20gQy9DKyssIHRoZW4KLQkvLyB3ZSBuZWVkIHRvIHJlbGVh c2UgdGhlIG0uIEJ1dCBkb24ndCByZWxlYXNlIGl0IGlmIHdlIGFyZQotCS8v IHBhbmljaW5nOyBzaW5jZSB0aGlzIGlzIHRoZSB0b3AgbGV2ZWwsIHdlIGFy ZSBnb2luZyB0bwotCS8vIGNyYXNoIHRoZSBwcm9ncmFtLCBhbmQgd2UgbmVl ZCB0aGUgZyBhbmQgbSB0byBwcmludCB0aGUKLQkvLyBwYW5pYyB2YWx1ZXMu Ci0JLy8KLQkvLyBEcm9wcGluZyB0aGUgbSBpcyBnb2luZyB0byBjbGVhciBn LiBUaGlzIGZ1bmN0aW9uIGlzIGJlaW5nCi0JLy8gY2FsbGVkIGFzIGEgZGVm ZXJyZWQgZnVuY3Rpb24sIHNvIHdlIHdpbGwgcmV0dXJuIHRvCi0JLy8gZGVm ZXJyZXR1cm4gd2hpY2ggd2lsbCB3YW50IHRvIGNsZWFyIHRoZSBfZGVmZXIg ZmllbGQuCi0JLy8gQXMgc29vbiBhcyB3ZSBjYWxsIGRyb3BtIGFub3RoZXIg dGhyZWFkIG1heSBjYWxsIG5lZWRtIGFuZAotCS8vIHN0YXJ0IHVzaW5nIGcs IHNvIHdlIG11c3Qgbm90IHRhbXBlciB3aXRoIHRoZSBfZGVmZXIgZmllbGQK LQkvLyBhZnRlciBkcm9wbS4gU28gY2xlYXIgX2RlZmVyIG5vdy4KKwkvLyBX ZSBhcmUgZ29pbmcgdG8gc3RvcCBydW5uaW5nIGluIEdvIG1vZGUgYW5kIHJl dHVybiB0byBDIG1vZGUuCisJLy8gV2Ugd2VyZSBhbG1vc3QgY2VydGFpbmx5 IGNhbGxlZCBieSBkZWZlcjsgaWYgc28sIGNsZWFuIHVwCisJLy8gdGhlIGRl ZmVyIHN0cnVjdCBub3csIGJlZm9yZSB3ZSBsZWF2ZSBHbyBtb2RlLiBCdXQg ZG9uJ3QKKwkvLyBsZWF2ZSBHbyBtb2RlIGlmIHdlIGFyZSBwYW5pY2luZyBv ciBjYWxsZWQgZnJvbSBHb2V4aXQsCisJLy8gc2luY2UgaW4gdGhvc2UgY2Fz ZXMgd2Ugd2lsbCBjb250aW51ZSBleGVjdXRpbmcgZGVmZXJyZWQgZnVuY3Rp b25zLgogCWdwIDo9IGdldGcoKQogCW1wIDo9IGdwLm0KIAlkcm9wIDo9IGZh bHNlCi0JaWYgbXAuZHJvcGV4dHJhbSAmJiBtcC5uY2dvID09IDAgJiYgZ3Au X3BhbmljID09IG5pbCB7CisJaWYgZ3AuZGVmZXJyaW5nICYmIGdwLl9wYW5p YyA9PSBuaWwgJiYgIWdwLmdvZXhpdGluZyB7CiAJCWQgOj0gZ3AuX2RlZmVy Ci0JCWlmIGQgPT0gbmlsIHx8IGQubGluayAhPSBuaWwgewotCQkJdGhyb3co InVuZXhwZWN0ZWQgZy5fZGVmZXIgaW4gQ2dvY2FsbEJhY2tEb25lIikKKwkJ aWYgZCA9PSBuaWwgeworCQkJdGhyb3coIm5vIGRlZmVyIHN0cnVjdCB3aGVu IGRlZmVycmluZyIpCiAJCX0KLQkJZ3AuX2RlZmVyID0gbmlsCisJCWdwLl9k ZWZlciA9IGQubGluawogCQlmcmVlZGVmZXIoZCkKLQkJZHJvcCA9IHRydWUK KworCQkvLyBJZiB3ZSBhcmUgdGhlIHRvcCBsZXZlbCBHbyBmdW5jdGlvbiBj YWxsZWQgZnJvbSBDLAorCQkvLyB0aGVuIHdlIG5lZWQgdG8gcmVsZWFzZSB0 aGUgbS4KKwkJaWYgbXAuZHJvcGV4dHJhbSAmJiBtcC5uY2dvID09IDAgewor CQkJZHJvcCA9IHRydWUKKwkJfQogCX0KIAotCWdwLm0uaW5jZ28gPSB0cnVl Ci0JZW50ZXJzeXNjYWxsKCkKKwkvLyBEb24ndCBnbyBiYWNrIHRvIEMgbW9k ZSBpZiB3ZSBhcmUgcGFuaWNpbmcuIEp1c3QgbGV0IHRoZQorCS8vIHBhbmlj IHdhbGsgdXAgdGhyb3VnaCB0aGUgR28gc3RhY2suCisJaWYgZ3AuX3Bhbmlj ID09IG5pbCAmJiAhZ3AuZ29leGl0aW5nIHsKKwkJZ3AubS5pbmNnbyA9IHRy dWUKKwkJZW50ZXJzeXNjYWxsKCkKKwl9CiAKIAlpZiBkcm9wIHsKIAkJbXAu ZHJvcGV4dHJhbSA9IGZhbHNlCiAJCWRyb3BtKCkKKwl9IGVsc2UgaWYgZ3Au ZGVmZXJyaW5nICYmIGdwLl9wYW5pYyA9PSBuaWwgJiYgIWdwLmdvZXhpdGlu ZyB7CisJCWdwLnJhbkNnb2NhbGxCYWNrRG9uZSA9IHRydWUKIAl9CiB9CiAK SW5kZXg6IGxpYmdvL2dvL3J1bnRpbWUvcGFuaWMuZ28KPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gbGliZ28vZ28vcnVudGltZS9wYW5pYy5nbwkocmV2 aXNpb24gMjY4MDc4KQorKysgbGliZ28vZ28vcnVudGltZS9wYW5pYy5nbwko d29ya2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQCB2YXIgaW5kZXhFcnJv ciA9IGVycm9yKGVycm9yU3RyaW5nKCJpbmRlCiAKIGZ1bmMgcGFuaWNpbmRl eCgpIHsKIAluYW1lLCBfLCBfIDo9IGZ1bmNmaWxlbGluZShnZXRjYWxsZXJw YygpLCAtMSkKLQlpZiBoYXNwcmVmaXgobmFtZSwgInJ1bnRpbWUuIikgewor CWlmIGhhc1ByZWZpeChuYW1lLCAicnVudGltZS4iKSB7CiAJCXRocm93KHN0 cmluZyhpbmRleEVycm9yLihlcnJvclN0cmluZykpKQogCX0KIAlwYW5pY0No ZWNrTWFsbG9jKGluZGV4RXJyb3IpCkBAIC02NSw3ICs2NSw3IEBAIHZhciBz bGljZUVycm9yID0gZXJyb3IoZXJyb3JTdHJpbmcoInNsaWMKIAogZnVuYyBw YW5pY3NsaWNlKCkgewogCW5hbWUsIF8sIF8gOj0gZnVuY2ZpbGVsaW5lKGdl dGNhbGxlcnBjKCksIC0xKQotCWlmIGhhc3ByZWZpeChuYW1lLCAicnVudGlt ZS4iKSB7CisJaWYgaGFzUHJlZml4KG5hbWUsICJydW50aW1lLiIpIHsKIAkJ dGhyb3coc3RyaW5nKHNsaWNlRXJyb3IuKGVycm9yU3RyaW5nKSkpCiAJfQog CXBhbmljQ2hlY2tNYWxsb2Moc2xpY2VFcnJvcikKQEAgLTE1MSw2ICsxNTEs MTQgQEAgZnVuYyBuZXdkZWZlcigpICpfZGVmZXIgewogCQlzeXN0ZW1zdGFj ayhmdW5jKCkgewogCQkJZCA9IG5ldyhfZGVmZXIpCiAJCX0pCisJCWlmIGRl YnVnQ2FjaGVkV29yayB7CisJCQkvLyBEdXBsaWNhdGUgdGhlIHRhaWwgYmVs b3cgc28gaWYgdGhlcmUncyBhCisJCQkvLyBjcmFzaCBpbiBjaGVja1B1dCB3 ZSBjYW4gdGVsbCBpZiBkIHdhcyBqdXN0CisJCQkvLyBhbGxvY2F0ZWQgb3Ig Y2FtZSBmcm9tIHRoZSBwb29sLgorCQkJZC5saW5rID0gZ3AuX2RlZmVyCisJ CQlncC5fZGVmZXIgPSBkCisJCQlyZXR1cm4gZAorCQl9CiAJfQogCWQubGlu ayA9IGdwLl9kZWZlcgogCWdwLl9kZWZlciA9IGQKQEAgLTI0MiwxNyArMjUw LDIyIEBAIGZ1bmMgZGVmZXJyZXR1cm4oZnJhbWUgKmJvb2wpIHsKIAkJCS8v IGNvZGUgaW4gam1wZGVmZXIuCiAJCQl2YXIgZm4gZnVuYyh1bnNhZmUuUG9p bnRlcikKIAkJCSooKnVpbnRwdHIpKHVuc2FmZS5Qb2ludGVyKCZmbikpID0g dWludHB0cihub2VzY2FwZSh1bnNhZmUuUG9pbnRlcigmcGZuKSkpCisJCQln cC5kZWZlcnJpbmcgPSB0cnVlCiAJCQlmbihkLmFyZykKKwkJCWdwLmRlZmVy cmluZyA9IGZhbHNlCiAJCX0KIAotCQkvLyBJZiB3ZSBhcmUgcmV0dXJuaW5n IGZyb20gYSBHbyBmdW5jdGlvbiBjYWxsZWQgYnkgYQotCQkvLyBDIGZ1bmN0 aW9uIHJ1bm5pbmcgaW4gYSBDIHRocmVhZCwgZyBtYXkgbm93IGJlIG5pbCwK LQkJLy8gaW4gd2hpY2ggY2FzZSBDZ29jYWxsQmFja0RvbmUgd2lsbCBoYXZl IGNsZWFyZWQgX2RlZmVyLgotCQkvLyBJbiB0aGF0IGNhc2Ugc29tZSBvdGhl ciBnb3JvdXRpbmUgbWF5IGFscmVhZHkgYmUgdXNpbmcgZ3AuCisJCS8vIElm IHRoYXQgd2FzIENnb2NhbGxCYWNrRG9uZSwgaXQgd2lsbCBoYXZlIGZyZWVk IHRoZQorCQkvLyBkZWZlciBmb3IgdXMsIHNpbmNlIHdlIGFyZSBubyBsb25n ZXIgcnVubmluZyBhcyBHbyBjb2RlLgogCQlpZiBnZXRnKCkgPT0gbmlsIHsK IAkJCSpmcmFtZSA9IHRydWUKIAkJCXJldHVybgogCQl9CisJCWlmIGdwLnJh bkNnb2NhbGxCYWNrRG9uZSB7CisJCQlncC5yYW5DZ29jYWxsQmFja0RvbmUg PSBmYWxzZQorCQkJKmZyYW1lID0gdHJ1ZQorCQkJcmV0dXJuCisJCX0KIAog CQlncC5fZGVmZXIgPSBkLmxpbmsKIApAQCAtMzE2LDcgKzMyOSw5IEBAIGZ1 bmMgY2hlY2tkZWZlcihmcmFtZSAqYm9vbCkgewogCiAJCQl2YXIgZm4gZnVu Yyh1bnNhZmUuUG9pbnRlcikKIAkJCSooKnVpbnRwdHIpKHVuc2FmZS5Qb2lu dGVyKCZmbikpID0gdWludHB0cihub2VzY2FwZSh1bnNhZmUuUG9pbnRlcigm cGZuKSkpCisJCQlncC5kZWZlcnJpbmcgPSB0cnVlCiAJCQlmbihkLmFyZykK KwkJCWdwLmRlZmVycmluZyA9IGZhbHNlCiAKIAkJCWZyZWVkZWZlcihkKQog CkBAIC0zODksNiArNDA0LDcgQEAgZnVuYyBHb2V4aXQoKSB7CiAJLy8gVGhp cyBjb2RlIGlzIHNpbWlsYXIgdG8gZ29wYW5pYywgc2VlIHRoYXQgaW1wbGVt ZW50YXRpb24KIAkvLyBmb3IgZGV0YWlsZWQgY29tbWVudHMuCiAJZ3AgOj0g Z2V0ZygpCisJZ3AuZ29leGl0aW5nID0gdHJ1ZQogCWZvciB7CiAJCWQgOj0g Z3AuX2RlZmVyCiAJCWlmIGQgPT0gbmlsIHsKQEAgLTQwOSw3ICs0MjUsOSBA QCBmdW5jIEdvZXhpdCgpIHsKIAogCQl2YXIgZm4gZnVuYyh1bnNhZmUuUG9p bnRlcikKIAkJKigqdWludHB0cikodW5zYWZlLlBvaW50ZXIoJmZuKSkgPSB1 aW50cHRyKG5vZXNjYXBlKHVuc2FmZS5Qb2ludGVyKCZwZm4pKSkKKwkJZ3Au ZGVmZXJyaW5nID0gdHJ1ZQogCQlmbihkLmFyZykKKwkJZ3AuZGVmZXJyaW5n ID0gZmFsc2UKIAogCQlpZiBncC5fZGVmZXIgIT0gZCB7CiAJCQl0aHJvdygi YmFkIGRlZmVyIGVudHJ5IGluIEdvZXhpdCIpCkBAIC00MTksNiArNDM3LDcg QEAgZnVuYyBHb2V4aXQoKSB7CiAJCWZyZWVkZWZlcihkKQogCQkvLyBOb3Rl OiB3ZSBpZ25vcmUgcmVjb3ZlcnMgaGVyZSBiZWNhdXNlIEdvZXhpdCBpc24n dCBhIHBhbmljCiAJfQorCWdwLmdvZXhpdGluZyA9IGZhbHNlCiAJZ29leGl0 MSgpCiB9CiAKQEAgLTUzMiw3ICs1NTEsOSBAQCBmdW5jIGdvcGFuaWMoZSBp bnRlcmZhY2V7fSkgewogCiAJCXZhciBmbiBmdW5jKHVuc2FmZS5Qb2ludGVy KQogCQkqKCp1aW50cHRyKSh1bnNhZmUuUG9pbnRlcigmZm4pKSA9IHVpbnRw dHIobm9lc2NhcGUodW5zYWZlLlBvaW50ZXIoJnBmbikpKQorCQlncC5kZWZl cnJpbmcgPSB0cnVlCiAJCWZuKGQuYXJnKQorCQlncC5kZWZlcnJpbmcgPSBm YWxzZQogCiAJCWlmIGdwLl9kZWZlciAhPSBkIHsKIAkJCXRocm93KCJiYWQg ZGVmZXIgZW50cnkgaW4gcGFuaWMiKQpAQCAtNjQ5LDcgKzY3MCw3IEBAIGZ1 bmMgY2FucmVjb3ZlcihyZXRhZGRyIHVpbnRwdHIpIGJvb2wgewogCX0KIAog CW5hbWUgOj0gbG9jc1sxXS5mdW5jdGlvbgotCWlmIGhhc3ByZWZpeChuYW1l LCAicnVudGltZS4iKSB7CisJaWYgaGFzUHJlZml4KG5hbWUsICJydW50aW1l LiIpIHsKIAkJcmV0dXJuIHRydWUKIAl9CiAKQEAgLTY3Niw3ICs2OTcsNyBA QCBmdW5jIGNhbnJlY292ZXIocmV0YWRkciB1aW50cHRyKSBib29sIHsKIAkJ fQogCiAJCS8vIElnbm9yZSBmdW5jdGlvbiBpbiBsaWJmZmkuCi0JCWlmIGhh c3ByZWZpeChuYW1lLCAiZmZpXyIpIHsKKwkJaWYgaGFzUHJlZml4KG5hbWUs ICJmZmlfIikgewogCQkJY29udGludWUKIAkJfQogCkBAIC02OTAsNyArNzEx LDcgQEAgZnVuYyBjYW5yZWNvdmVyKHJldGFkZHIgdWludHB0cikgYm9vbCB7 CiAJCX0KIAogCQkvLyBJZ25vcmUgb3RoZXIgZnVuY3Rpb25zIGluIHRoZSBy ZWZsZWN0IHBhY2thZ2UuCi0JCWlmIGhhc3ByZWZpeChuYW1lLCAicmVmbGVj dC4iKSB8fCBoYXNwcmVmaXgobmFtZSwgIi4xcmVmbGVjdC4iKSB7CisJCWlm IGhhc1ByZWZpeChuYW1lLCAicmVmbGVjdC4iKSB8fCBoYXNQcmVmaXgobmFt ZSwgIi4xcmVmbGVjdC4iKSB7CiAJCQljb250aW51ZQogCQl9CiAKQEAgLTcw MCw3ICs3MjEsNyBAQCBmdW5jIGNhbnJlY292ZXIocmV0YWRkciB1aW50cHRy KSBib29sIHsKIAogCWlmIGkgPCBuIHsKIAkJbmFtZSA9IGxvY3NbaV0uZnVu Y3Rpb24KLQkJaWYgaGFzcHJlZml4KG5hbWUsICJydW50aW1lLiIpIHsKKwkJ aWYgaGFzUHJlZml4KG5hbWUsICJydW50aW1lLiIpIHsKIAkJCXJldHVybiB0 cnVlCiAJCX0KIAl9CkBAIC03MzQsNyArNzU1LDcgQEAgZnVuYyBtYWtlZnVu Y2ZmaWNhbnJlY292ZXIobG9jIFtdbG9jYXRpbwogCX0KIAogCW5hbWUgOj0g bG9jWzFdLmZ1bmN0aW9uCi0JaWYgaGFzcHJlZml4KG5hbWUsICJydW50aW1l LiIpIHsKKwlpZiBoYXNQcmVmaXgobmFtZSwgInJ1bnRpbWUuIikgewogCQlk Lm1ha2VmdW5jY2FucmVjb3ZlciA9IHRydWUKIAl9CiB9CkBAIC05MzUsMTAg Kzk1NiwxMyBAQCBmdW5jIGZhdGFscGFuaWMobXNncyAqX3BhbmljKSB7CiAv LyBJdCByZXR1cm5zIHRydWUgaWYgcGFuaWMgbWVzc2FnZXMgc2hvdWxkIGJl IHByaW50ZWQsIG9yIGZhbHNlIGlmCiAvLyB0aGUgcnVudGltZSBpcyBpbiBi YWQgc2hhcGUgYW5kIHNob3VsZCBqdXN0IHByaW50IHN0YWNrcy4KIC8vCi0v LyBJdCBjYW4gaGF2ZSB3cml0ZSBiYXJyaWVycyBiZWNhdXNlIHRoZSB3cml0 ZSBiYXJyaWVyIGV4cGxpY2l0bHkKLS8vIGlnbm9yZXMgd3JpdGVzIG9uY2Ug ZHlpbmcgPiAwLgorLy8gSXQgbXVzdCBub3QgaGF2ZSB3cml0ZSBiYXJyaWVy cyBldmVuIHRob3VnaCB0aGUgd3JpdGUgYmFycmllcgorLy8gZXhwbGljaXRs eSBpZ25vcmVzIHdyaXRlcyBvbmNlIGR5aW5nID4gMC4gV3JpdGUgYmFycmll cnMgc3RpbGwKKy8vIGFzc3VtZSB0aGF0IGcubS5wICE9IG5pbCwgYW5kIHRo aXMgZnVuY3Rpb24gbWF5IG5vdCBoYXZlIFAKKy8vIGluIHNvbWUgY29udGV4 dHMgKGUuZy4gYSBwYW5pYyBpbiBhIHNpZ25hbCBoYW5kbGVyIGZvciBhIHNp Z25hbAorLy8gc2VudCB0byBhbiBNIHdpdGggbm8gUCkuCiAvLwotLy9nbzp5 ZXN3cml0ZWJhcnJpZXJyZWMKKy8vZ286bm93cml0ZWJhcnJpZXJyZWMKIGZ1 bmMgc3RhcnRwYW5pY19tKCkgYm9vbCB7CiAJX2dfIDo9IGdldGcoKQogCWlm IG1oZWFwXy5jYWNoZWFsbG9jLnNpemUgPT0gMCB7IC8vIHZlcnkgZWFybHkK QEAgLTk1OCw4ICs5ODIsOCBAQCBmdW5jIHN0YXJ0cGFuaWNfbSgpIGJvb2wg ewogCiAJc3dpdGNoIF9nXy5tLmR5aW5nIHsKIAljYXNlIDA6CisJCS8vIFNl dHRpbmcgZHlpbmcgPjAgaGFzIHRoZSBzaWRlLWVmZmVjdCBvZiBkaXNhYmxp bmcgdGhpcyBHJ3Mgd3JpdGVidWYuCiAJCV9nXy5tLmR5aW5nID0gMQotCQlf Z18ud3JpdGVidWYgPSBuaWwKIAkJYXRvbWljLlhhZGQoJnBhbmlja2luZywg MSkKIAkJbG9jaygmcGFuaWNsaykKIAkJaWYgZGVidWcuc2NoZWR0cmFjZSA+ IDAgfHwgZGVidWcuc2NoZWRkZXRhaWwgPiAwIHsKQEAgLTEwNjEsNyArMTA4 NSw3IEBAIGZ1bmMgY2FucGFuaWMoZ3AgKmcpIGJvb2wgewogCXJldHVybiB0 cnVlCiB9CiAKLS8vIGlzQWJvcnRQQyByZXR1cm5zIHRydWUgaWYgcGMgaXMg dGhlIHByb2dyYW0gY291bnRlciBhdCB3aGljaAorLy8gaXNBYm9ydFBDIHJl cG9ydHMgd2hldGhlciBwYyBpcyB0aGUgcHJvZ3JhbSBjb3VudGVyIGF0IHdo aWNoCiAvLyBydW50aW1lLmFib3J0IHJhaXNlcyBhIHNpZ25hbC4KIC8vCiAv LyBJdCBpcyBub3NwbGl0IGJlY2F1c2UgaXQncyBwYXJ0IG9mIHRoZSBpc2dv ZXhjZXB0aW9uCkluZGV4OiBsaWJnby9nb3Rvb2wtcGFja2FnZXMudHh0Cj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpYmdvL2dvdG9vbC1wYWNrYWdl cy50eHQJKHJldmlzaW9uIDI2ODA3OCkKKysrIGxpYmdvL2dvdG9vbC1wYWNr YWdlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1LDYgKzE1LDggQEAgY21k L2dvL2ludGVybmFsL2hlbHAKIGNtZC9nby9pbnRlcm5hbC9pbXBvcnRzCiBj bWQvZ28vaW50ZXJuYWwvbGlzdAogY21kL2dvL2ludGVybmFsL2xvYWQKK2Nt ZC9nby9pbnRlcm5hbC9sb2NrZWRmaWxlCitjbWQvZ28vaW50ZXJuYWwvbG9j a2VkZmlsZS9pbnRlcm5hbC9maWxlbG9jawogY21kL2dvL2ludGVybmFsL21v ZGNtZAogY21kL2dvL2ludGVybmFsL21vZGNvbnYKIGNtZC9nby9pbnRlcm5h bC9tb2RmZXRjaApAQCAtMjYsNiArMjgsNyBAQCBjbWQvZ28vaW50ZXJuYWwv bW9kbG9hZAogY21kL2dvL2ludGVybmFsL21vZHVsZQogY21kL2dvL2ludGVy bmFsL212cwogY21kL2dvL2ludGVybmFsL3BhcgorY21kL2dvL2ludGVybmFs L3JlbmFtZWlvCiBjbWQvZ28vaW50ZXJuYWwvcnVuCiBjbWQvZ28vaW50ZXJu YWwvc2VhcmNoCiBjbWQvZ28vaW50ZXJuYWwvc2VtdmVyCkBAIC00Myw2ICs0 NiwzOSBAQCBjbWQvaW50ZXJuYWwvYnJvd3NlcgogY21kL2ludGVybmFsL2J1 aWxkaWQKIGNtZC9pbnRlcm5hbC9lZGl0CiBjbWQvaW50ZXJuYWwvb2JqYWJp CitjbWQvaW50ZXJuYWwvc3lzCiBjbWQvaW50ZXJuYWwvdGVzdDJqc29uCi1j bWQvdmV0L2ludGVybmFsL2NmZwotY21kL3ZldC9pbnRlcm5hbC93aGl0ZWxp c3QKK2dvbGFuZy5vcmcveC90b29scy9nby9hbmFseXNpcworZ29sYW5nLm9y Zy94L3Rvb2xzL2dvL2FuYWx5c2lzL2ludGVybmFsL2FuYWx5c2lzZmxhZ3MK K2dvbGFuZy5vcmcveC90b29scy9nby9hbmFseXNpcy9pbnRlcm5hbC9mYWN0 cworZ29sYW5nLm9yZy94L3Rvb2xzL2dvL2FuYWx5c2lzL3Bhc3Nlcy9hc21k ZWNsCitnb2xhbmcub3JnL3gvdG9vbHMvZ28vYW5hbHlzaXMvcGFzc2VzL2Fz c2lnbgorZ29sYW5nLm9yZy94L3Rvb2xzL2dvL2FuYWx5c2lzL3Bhc3Nlcy9h dG9taWMKK2dvbGFuZy5vcmcveC90b29scy9nby9hbmFseXNpcy9wYXNzZXMv Ym9vbHMKK2dvbGFuZy5vcmcveC90b29scy9nby9hbmFseXNpcy9wYXNzZXMv YnVpbGR0YWcKK2dvbGFuZy5vcmcveC90b29scy9nby9hbmFseXNpcy9wYXNz ZXMvY2dvY2FsbAorZ29sYW5nLm9yZy94L3Rvb2xzL2dvL2FuYWx5c2lzL3Bh c3Nlcy9jb21wb3NpdGUKK2dvbGFuZy5vcmcveC90b29scy9nby9hbmFseXNp cy9wYXNzZXMvY29weWxvY2sKK2dvbGFuZy5vcmcveC90b29scy9nby9hbmFs eXNpcy9wYXNzZXMvY3RybGZsb3cKK2dvbGFuZy5vcmcveC90b29scy9nby9h bmFseXNpcy9wYXNzZXMvaHR0cHJlc3BvbnNlCitnb2xhbmcub3JnL3gvdG9v bHMvZ28vYW5hbHlzaXMvcGFzc2VzL2luc3BlY3QKK2dvbGFuZy5vcmcveC90 b29scy9nby9hbmFseXNpcy9wYXNzZXMvaW50ZXJuYWwvYW5hbHlzaXN1dGls Citnb2xhbmcub3JnL3gvdG9vbHMvZ28vYW5hbHlzaXMvcGFzc2VzL2xvb3Bj bG9zdXJlCitnb2xhbmcub3JnL3gvdG9vbHMvZ28vYW5hbHlzaXMvcGFzc2Vz L2xvc3RjYW5jZWwKK2dvbGFuZy5vcmcveC90b29scy9nby9hbmFseXNpcy9w YXNzZXMvbmlsZnVuYworZ29sYW5nLm9yZy94L3Rvb2xzL2dvL2FuYWx5c2lz L3Bhc3Nlcy9wa2dmYWN0Citnb2xhbmcub3JnL3gvdG9vbHMvZ28vYW5hbHlz aXMvcGFzc2VzL3ByaW50ZgorZ29sYW5nLm9yZy94L3Rvb2xzL2dvL2FuYWx5 c2lzL3Bhc3Nlcy9zaGlmdAorZ29sYW5nLm9yZy94L3Rvb2xzL2dvL2FuYWx5 c2lzL3Bhc3Nlcy9zdGRtZXRob2RzCitnb2xhbmcub3JnL3gvdG9vbHMvZ28v YW5hbHlzaXMvcGFzc2VzL3N0cnVjdHRhZworZ29sYW5nLm9yZy94L3Rvb2xz L2dvL2FuYWx5c2lzL3Bhc3Nlcy90ZXN0cworZ29sYW5nLm9yZy94L3Rvb2xz L2dvL2FuYWx5c2lzL3Bhc3Nlcy91bm1hcnNoYWwKK2dvbGFuZy5vcmcveC90 b29scy9nby9hbmFseXNpcy9wYXNzZXMvdW5yZWFjaGFibGUKK2dvbGFuZy5v cmcveC90b29scy9nby9hbmFseXNpcy9wYXNzZXMvdW5zYWZlcHRyCitnb2xh bmcub3JnL3gvdG9vbHMvZ28vYW5hbHlzaXMvcGFzc2VzL3VudXNlZHJlc3Vs dAorZ29sYW5nLm9yZy94L3Rvb2xzL2dvL2FuYWx5c2lzL3VuaXRjaGVja2Vy Citnb2xhbmcub3JnL3gvdG9vbHMvZ28vYXN0L2FzdHV0aWwKK2dvbGFuZy5v cmcveC90b29scy9nby9hc3QvaW5zcGVjdG9yCitnb2xhbmcub3JnL3gvdG9v bHMvZ28vY2ZnCitnb2xhbmcub3JnL3gvdG9vbHMvZ28vdHlwZXMvb2JqZWN0 cGF0aAorZ29sYW5nLm9yZy94L3Rvb2xzL2dvL3R5cGVzL3R5cGV1dGlsCklu ZGV4OiBsaWJnby9saWJnby1wYWNrYWdlcy50eHQKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gbGliZ28vbGliZ28tcGFja2FnZXMudHh0CShyZXZpc2lv biAyNjgwNzgpCisrKyBsaWJnby9saWJnby1wYWNrYWdlcy50eHQJKHdvcmtp bmcgY29weSkKQEAgLTQwLDcgKzQwLDYgQEAgZGVidWcvZ29zeW0KIGRlYnVn L21hY2hvCiBkZWJ1Zy9wZQogZGVidWcvcGxhbjlvYmoKLWRlYnVnL3hjb2Zm CiBlbmNvZGluZwogZW5jb2RpbmcvYXNjaWk4NQogZW5jb2RpbmcvYXNuMQpA QCAtNzEsMjcgKzcwLDYgQEAgZ28vcHJpbnRlcgogZ28vc2Nhbm5lcgogZ28v dG9rZW4KIGdvL3R5cGVzCi1nb2xhbmdfb3JnL3gvY3J5cHRvL2ludGVybmFs L2NoYWNoYTIwCi1nb2xhbmdfb3JnL3gvY3J5cHRvL2NoYWNoYTIwcG9seTEz MDUKLWdvbGFuZ19vcmcveC9jcnlwdG8vY2hhY2hhMjBwb2x5MTMwNS9pbnRl cm5hbC9jaGFjaGEyMAotZ29sYW5nX29yZy94L2NyeXB0by9jcnlwdG9ieXRl Ci1nb2xhbmdfb3JnL3gvY3J5cHRvL2NyeXB0b2J5dGUvYXNuMQotZ29sYW5n X29yZy94L2NyeXB0by9jdXJ2ZTI1NTE5Ci1nb2xhbmdfb3JnL3gvY3J5cHRv L3BvbHkxMzA1Ci1nb2xhbmdfb3JnL3gvbmV0L2Rucy9kbnNtZXNzYWdlCi1n b2xhbmdfb3JnL3gvbmV0L2h0dHAvaHR0cGd1dHMKLWdvbGFuZ19vcmcveC9u ZXQvaHR0cC9odHRwcHJveHkKLWdvbGFuZ19vcmcveC9uZXQvaHR0cDIvaHBh Y2sKLWdvbGFuZ19vcmcveC9uZXQvaWRuYQotZ29sYW5nX29yZy94L25ldC9p bnRlcm5hbC9uZXR0ZXN0Ci1nb2xhbmdfb3JnL3gvbmV0L2xleC9odHRwbGV4 Ci1nb2xhbmdfb3JnL3gvbmV0L25ldHRlc3QKLWdvbGFuZ19vcmcveC9uZXQv cHJveHkKLWdvbGFuZ19vcmcveC90ZXh0L3NlY3VyZS9iaWRpcnVsZQotZ29s YW5nX29yZy94L3RleHQvdHJhbnNmb3JtCi1nb2xhbmdfb3JnL3gvdGV4dC91 bmljb2RlL2JpZGkKLWdvbGFuZ19vcmcveC90ZXh0L3VuaWNvZGUvbm9ybQot Z29sYW5nX29yZy94L3RleHQvd2lkdGgKIGhhc2gKIGhhc2gvYWRsZXIzMgog aGFzaC9jcmMzMgpAQCAtMTEwLDYgKzg4LDcgQEAgaW1hZ2UvcG5nCiBpbmRl eC9zdWZmaXhhcnJheQogaW50ZXJuYWwvYnl0ZWFsZwogaW50ZXJuYWwvY3B1 CitpbnRlcm5hbC9mbXRzb3J0CiBpbnRlcm5hbC9nb3Jvb3QKIGludGVybmFs L25ldHRyYWNlCiBpbnRlcm5hbC9wb2xsCkBAIC0xMTksNiArOTgsMjUgQEAg aW50ZXJuYWwvc3lzY2FsbC91bml4CiBpbnRlcm5hbC90ZXN0ZW52CiBpbnRl cm5hbC90ZXN0bG9nCiBpbnRlcm5hbC90cmFjZQoraW50ZXJuYWwveC9jcnlw dG8vY2hhY2hhMjBwb2x5MTMwNQoraW50ZXJuYWwveC9jcnlwdG8vY3J5cHRv Ynl0ZQoraW50ZXJuYWwveC9jcnlwdG8vY3J5cHRvYnl0ZS9hc24xCitpbnRl cm5hbC94L2NyeXB0by9jdXJ2ZTI1NTE5CitpbnRlcm5hbC94L2NyeXB0by9o a2RmCitpbnRlcm5hbC94L2NyeXB0by9pbnRlcm5hbC9jaGFjaGEyMAoraW50 ZXJuYWwveC9jcnlwdG8vcG9seTEzMDUKK2ludGVybmFsL3gvbmV0L2Rucy9k bnNtZXNzYWdlCitpbnRlcm5hbC94L25ldC9odHRwL2h0dHBndXRzCitpbnRl cm5hbC94L25ldC9odHRwL2h0dHBwcm94eQoraW50ZXJuYWwveC9uZXQvaHR0 cDIvaHBhY2sKK2ludGVybmFsL3gvbmV0L2lkbmEKK2ludGVybmFsL3gvbmV0 L2ludGVybmFsL25ldHRlc3QKK2ludGVybmFsL3gvbmV0L25ldHRlc3QKK2lu dGVybmFsL3gvdGV4dC9zZWN1cmUvYmlkaXJ1bGUKK2ludGVybmFsL3gvdGV4 dC90cmFuc2Zvcm0KK2ludGVybmFsL3gvdGV4dC91bmljb2RlL2JpZGkKK2lu dGVybmFsL3gvdGV4dC91bmljb2RlL25vcm0KK2ludGVybmFsL3hjb2ZmCiBp bwogaW8vaW91dGlsCiBsb2cKQEAgLTE2MSw2ICsxNTksNyBAQCByZWdleHAv c3ludGF4CiBydW50aW1lCiBydW50aW1lL2RlYnVnCiBydW50aW1lL2ludGVy bmFsL2F0b21pYworcnVudGltZS9pbnRlcm5hbC9tYXRoCiBydW50aW1lL2lu dGVybmFsL3N5cwogcnVudGltZS9wcHJvZgogcnVudGltZS9wcHJvZi9pbnRl cm5hbC9wcm9maWxlCkluZGV4OiBsaWJnby9tYXRjaC5zaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBsaWJnby9tYXRjaC5zaAkocmV2aXNpb24gMjY4 MDc4KQorKysgbGliZ28vbWF0Y2guc2gJKHdvcmtpbmcgY29weSkKQEAgLTEx Myw3ICsxMTMsNyBAQCBmb3IgZiBpbiAkZ29maWxlczsgZG8KIAkiIikgOzsK IAkkZ29hcmNoKSA7OwogCSRnb29zKSA7OwotCWFpeCB8IGFuZHJvaWQgfCBk YXJ3aW4gfCBkcmFnb25mbHkgfCBmcmVlYnNkIHwgbGludXggfCBuYWNsIHwg bmV0YnNkIHwgb3BlbmJzZCB8IHBsYW45IHwgc29sYXJpcyB8IHdpbmRvd3Mp CisJYWl4IHwgYW5kcm9pZCB8IGRhcndpbiB8IGRyYWdvbmZseSB8IGZyZWVi c2QgfCBodXJkIHwganMgfCBsaW51eCB8IG5hY2wgfCBuZXRic2QgfCBvcGVu YnNkIHwgcGxhbjkgfCBzb2xhcmlzIHwgd2luZG93cykKIAkgICAgdGFnMT1u b25tYXRjaGluZ3RhZwogCSAgICA7OwogCTM4NiB8IGFtZDY0IHwgYW1kNjRw MzIgfCBhcm0gfCBhcm1iZSB8IGFybTY0IHwgYXJtNjRiZSB8IGFscGhhIHwg aWE2NCB8IG02OGsgfCBtaXBzIHwgbWlwc2xlIHwgbWlwczY0IHwgbWlwczY0 bGUgfCBtaXBzNjRwMzIgfCBtaXBzNjRwMzJsZSB8IG5pb3MyIHwgcHBjIHwg cHBjNjQgfCBwcGM2NGxlIHwgcmlzY3Y2NCB8IHMzOTAgfCBzMzkweCB8IHNo IHwgc2hiZSB8IHNwYXJjIHwgc3BhcmM2NCB8IHdhc20pCkBAIC0xMjUsNyAr MTI1LDcgQEAgZm9yIGYgaW4gJGdvZmlsZXM7IGRvCiAJIiIpIDs7CiAJJGdv YXJjaCkgOzsKIAkkZ29vcykgOzsKLQlhaXggfCBhbmRyb2lkIHwgZGFyd2lu IHwgZHJhZ29uZmx5IHwgZnJlZWJzZCB8IGxpbnV4IHwgbmFjbCB8IG5ldGJz ZCB8IG9wZW5ic2QgfCBwbGFuOSB8IHNvbGFyaXMgfCB3aW5kb3dzKQorCWFp eCB8IGFuZHJvaWQgfCBkYXJ3aW4gfCBkcmFnb25mbHkgfCBmcmVlYnNkIHwg aHVyZCB8IGpzIHwgbGludXggfCBuYWNsIHwgbmV0YnNkIHwgb3BlbmJzZCB8 IHBsYW45IHwgc29sYXJpcyB8IHdpbmRvd3MpCiAJICAgIHRhZzI9bm9ubWF0 Y2hpbmd0YWcKIAkgICAgOzsKIAkzODYgfCBhbWQ2NCB8IGFtZDY0cDMyIHwg YXJtIHwgYXJtYmUgfCBhcm02NCB8IGFybTY0YmUgfCBhbHBoYSB8IGlhNjQg fCBtNjhrIHwgbWlwcyB8IG1pcHNsZSB8IG1pcHM2NCB8IG1pcHM2NGxlIHwg bWlwczY0cDMyIHwgbWlwczY0cDMybGUgfCBuaW9zMiB8IHBwYyB8IHBwYzY0 IHwgcHBjNjRsZSB8IHJpc2N2NjQgfCBzMzkwIHwgczM5MHggfCBzaCB8IHNo YmUgfCBzcGFyYyB8IHNwYXJjNjQgfCB3YXNtKQpJbmRleDogbGliZ28vbWVy Z2Uuc2gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGliZ28vbWVyZ2Uu c2gJKHJldmlzaW9uIDI2ODA3OCkKKysrIGxpYmdvL21lcmdlLnNoCSh3b3Jr aW5nIGNvcHkpCkBAIC0xMjgsNyArMTI4LDcgQEAgZWNobyAke3Jldn0gPiBW RVJTSU9OCiAoY2QgJHtORVdESVJ9L3NyYyAmJiBmaW5kIC4gLW5hbWUgJyou Z28nIC1wcmludCkgfCB3aGlsZSByZWFkIGY7IGRvCiAgIHNraXA9ZmFsc2UK ICAgY2FzZSAiJGYiIGluCi0gIC4vY21kL2J1aWxkaWQvKiB8IC4vY21kL2Nn by8qIHwgLi9jbWQvZ28vKiB8IC4vY21kL2dvZm10LyogfCAuL2NtZC90ZXN0 anNvbi8qIHwgLi9jbWQvdmV0LyogfCAuL2NtZC9pbnRlcm5hbC9icm93c2Vy LyogfCAuL2NtZC9pbnRlcm5hbC9idWlsZGlkLyogfCAuL2NtZC9pbnRlcm5h bC9lZGl0LyogfCAuL2NtZC9pbnRlcm5hbC9vYmphYmkvKiB8IC4vY21kL2lu dGVybmFsL3Rlc3RqMm9uLyogKQorICAuL2NtZC9idWlsZGlkLyogfCAuL2Nt ZC9jZ28vKiB8IC4vY21kL2dvLyogfCAuL2NtZC9nb2ZtdC8qIHwgLi9jbWQv dGVzdGpzb24vKiB8IC4vY21kL3ZldC8qIHwgLi9jbWQvaW50ZXJuYWwvYnJv d3Nlci8qIHwgLi9jbWQvaW50ZXJuYWwvYnVpbGRpZC8qIHwgLi9jbWQvaW50 ZXJuYWwvZWRpdC8qIHwgLi9jbWQvaW50ZXJuYWwvb2JqYWJpLyogfCAuL2Nt ZC9pbnRlcm5hbC90ZXN0ajJvbi8qIHwgLi9jbWQvaW50ZXJuYWwvc3lzLyog fCAuL2NtZC92ZW5kb3IvZ29sYW5nLm9yZy94L3Rvb2xzLyogKQogICAgIDs7 CiAgIC4vY21kLyopCiAgICAgc2tpcD10cnVlCkBAIC0xNDMsMTQgKzE0Mywx NCBAQCBlY2hvICR7cmV2fSA+IFZFUlNJT04KIAogICBvbGRmaWxlPSR7T0xE RElSfS9zcmMvJGYKICAgbmV3ZmlsZT0ke05FV0RJUn0vc3JjLyRmCi0gIGxp YmdvZmlsZT1nby9gZWNobyAkZiB8IHNlZCAtZSAnc3wvdmVuZG9yL3wvfCdg CisgIGxpYmdvZmlsZT1nby9gZWNobyAkZiB8IHNlZCAtZSAnc3xjbWQvdmVu ZG9yL3wvfCcgfCBzZWQgLWUgJ3N8L3ZlbmRvci98L3wnYAogICBtZXJnZSAk ZiAke29sZGZpbGV9ICR7bmV3ZmlsZX0gJHtsaWJnb2ZpbGV9CiBkb25lCiAK IChjZCAke05FV0RJUn0vc3JjICYmIGZpbmQgLiAtbmFtZSB0ZXN0ZGF0YSAt cHJpbnQpIHwgd2hpbGUgcmVhZCBkOyBkbwogICBza2lwPWZhbHNlCiAgIGNh c2UgIiRkIiBpbgotICAuL2NtZC9jZ28vKiB8IC4vY21kL2dvLyogfCAuL2Nt ZC9nb2ZtdC8qIHwgLi9jbWQvaW50ZXJuYWwvYnJvd3Nlci8qKQorICAuL2Nt ZC9idWlsZGlkLyogfCAuL2NtZC9jZ28vKiB8IC4vY21kL2dvLyogfCAuL2Nt ZC9nb2ZtdC8qIHwgLi9jbWQvdGVzdGpzb24vKiB8IC4vY21kL3ZldC8qIHwg Li9jbWQvaW50ZXJuYWwvYnJvd3Nlci8qIHwgLi9jbWQvaW50ZXJuYWwvYnVp bGRpZC8qIHwgLi9jbWQvaW50ZXJuYWwvZWRpdC8qIHwgLi9jbWQvaW50ZXJu YWwvb2JqYWJpLyogfCAuL2NtZC9pbnRlcm5hbC90ZXN0ajJvbi8qIHwgLi9j bWQvaW50ZXJuYWwvc3lzLyogfCAuL2NtZC92ZW5kb3IvZ29sYW5nLm9yZy94 L3Rvb2xzLyogKQogICAgIDs7CiAgIC4vY21kLyopCiAgICAgc2tpcD10cnVl CkBAIC0xNjUsNyArMTY1LDcgQEAgZG9uZQogCiAgIG9sZHRkPSR7T0xERElS fS9zcmMvJGQKICAgbmV3dGQ9JHtORVdESVJ9L3NyYy8kZAotICBsaWJnb3Rk PWdvLyRkCisgIGxpYmdvZmlsZT1nby9gZWNobyAkZCB8IHNlZCAtZSAnc3xj bWQvdmVuZG9yL3wvfCcgfCBzZWQgLWUgJ3N8L3ZlbmRvci98L3wnYAogICBp ZiAhIHRlc3QgLWQgJHtvbGR0ZH07IHRoZW4KICAgICBlY2hvICJtZXJnZS5z aDogJGQ6IE5FV0RJUiIKICAgICBjb250aW51ZQpJbmRleDogbGliZ28vcnVu dGltZS9ydW50aW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGli Z28vcnVudGltZS9ydW50aW1lLmgJKHJldmlzaW9uIDI2ODA3OCkKKysrIGxp YmdvL3J1bnRpbWUvcnVudGltZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOTQs NyArMzk0LDcgQEAgdm9pZCBfX3dyYXBfcnRlbXNfdGFza192YXJpYWJsZV9h ZGQodm9pZAogICovCiB2b2lkIHJlZmxlY3RfY2FsbChjb25zdCBzdHJ1Y3Qg X19nb19mdW5jX3R5cGUgKiwgRnVuY1ZhbCAqLCBfQm9vbCwgX0Jvb2wsCiAJ CSAgdm9pZCAqKiwgdm9pZCAqKikKLSAgX19hc21fXyAoR09TWU1fUFJFRklY ICJyZWZsZWN0LmNhbGwiKTsKKyAgX19hc21fXyAoR09TWU1fUFJFRklYICJy dW50aW1lLnJlZmxlY3RjYWxsIik7CiB2b2lkIHJ1bnRpbWVfcGFuaWMoRWZh Y2UpCiAgIF9fYXNtX18gKEdPU1lNX1BSRUZJWCAicnVudGltZS5nb3Bhbmlj Iik7CiB2b2lkIHJ1bnRpbWVfcGFuaWMoRWZhY2UpCkluZGV4OiBsaWJnby90 ZXN0c3VpdGUvZ290ZXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxp YmdvL3Rlc3RzdWl0ZS9nb3Rlc3QJKHJldmlzaW9uIDI2ODA3OCkKKysrIGxp YmdvL3Rlc3RzdWl0ZS9nb3Rlc3QJKHdvcmtpbmcgY29weSkKQEAgLTMxMSw3 ICszMTEsNyBAQCB4KQogCSAgICAiIikgOzsKIAkgICAgJGdvYXJjaCkgOzsK IAkgICAgJGdvb3MpIDs7Ci0JICAgIGFpeCB8IGFuZHJvaWQgfCBkYXJ3aW4g fCBkcmFnb25mbHkgfCBmcmVlYnNkIHwgbGludXggfCBuYWNsIHwgbmV0YnNk IHwgb3BlbmJzZCB8IHBsYW45IHwgc29sYXJpcyB8IHdpbmRvd3MpCisJICAg IGFpeCB8IGFuZHJvaWQgfCBkYXJ3aW4gfCBkcmFnb25mbHkgfCBmcmVlYnNk IHwgaHVyZCB8IGpzIHwgbGludXggfCBuYWNsIHwgbmV0YnNkIHwgb3BlbmJz ZCB8IHBsYW45IHwgc29sYXJpcyB8IHdpbmRvd3MpCiAJCXRhZzE9bm9ubWF0 Y2hpbmd0YWcKIAkJOzsKIAkgICAgMzg2IHwgYW1kNjQgfCBhbWQ2NHAzMiB8 IGFybSB8IGFybWJlIHwgYXJtNjQgfCBhcm02NGJlIHwgYWxwaGEgfCBpYTY0 IHwgbTY4ayB8IG1pcHMgfCBtaXBzbGUgfCBtaXBzNjQgfCBtaXBzNjRsZSB8 IG1pcHM2NHAzMiB8IG1pcHM2NHAzMmxlwrd8IG5pb3MyIHwgcHBjIHwgcHBj NjQgfCBwcGM2NGxlIHwgcmlzY3Y2NCB8IHMzOTAgfCBzMzkweCB8IHNoIHwg c2hiZSB8IHNwYXJjIHwgc3BhcmM2NCB8IHdhc20pCkBAIC0zMjMsNyArMzIz LDcgQEAgeCkKIAkgICAgIiIpIDs7CiAJICAgICRnb2FyY2gpIDs7CiAJICAg ICRnb29zKSA7OwotCSAgICBhaXggfCBhbmRyb2lkIHwgZGFyd2luIHwgZHJh Z29uZmx5IHwgZnJlZWJzZCB8IGxpbnV4IHwgbmFjbCB8IG5ldGJzZCB8IG9w ZW5ic2QgfCBwbGFuOSB8IHNvbGFyaXMgfCB3aW5kb3dzKQorCSAgICBhaXgg fCBhbmRyb2lkIHwgZGFyd2luIHwgZHJhZ29uZmx5IHwgZnJlZWJzZCB8IGh1 cmQgfCBqcyB8IGxpbnV4IHwgbmFjbCB8IG5ldGJzZCB8IG9wZW5ic2QgfCBw bGFuOSB8IHNvbGFyaXMgfCB3aW5kb3dzKQogCQl0YWcyPW5vbm1hdGNoaW5n dGFnCiAJCTs7CiAJICAgIDM4NiB8IGFtZDY0IHwgYW1kNjRwMzIgfCBhcm0g fCBhcm1iZSB8IGFybTY0IHwgYXJtNjRiZSB8IGFscGhhIHwgaWE2NCB8IG02 OGsgfCBtaXBzIHwgbWlwc2xlIHwgbWlwczY0IHwgbWlwczY0bGUgfCBtaXBz NjRwMzIgfCBtaXBzNjRwMzJsZcK3fCBuaW9zMiB8IHBwYyB8IHBwYzY0IHwg cHBjNjRsZSB8IHJpc2N2NjQgfCBzMzkwIHwgczM5MHggfCBzaCB8IHNoYmUg fCBzcGFyYyB8IHNwYXJjNjQgfCB3YXNtKQo= --000000000000b159ba057fc02fd8--