Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rvN49-00Ba4i-V9 for pgsql-hackers@arkaria.postgresql.org; Fri, 12 Apr 2024 20:00:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rvN49-0000cN-3T for pgsql-hackers@arkaria.postgresql.org; Fri, 12 Apr 2024 20:00:05 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rvN48-0000cE-GM for pgsql-hackers@lists.postgresql.org; Fri, 12 Apr 2024 20:00:04 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rvN43-000bQq-Cb for pgsql-hackers@lists.postgresql.org; Fri, 12 Apr 2024 20:00:03 +0000 Received: from [172.30.2.66] (unknown [172.30.2.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: d.koval@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 06631E21015; Fri, 12 Apr 2024 22:59:58 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1712951998; bh=8rbo8YV2yRiqSuElBed/r0YDowda9IcVPOgT/4dH/1o=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=RUv5r6kgwNwmFdxveYhK8gEr0k6xlMJIdxdSNL59TnkWdfZTriY3lhiwQ2KH4XQPq xiRycElW9kgfX5+B9b+mtvV1edz4uZJUVMIWxn4uaWpLMNseP6bwfdKSCt+4G3RrQY LWuACHmWpENA9NeTT6Cu9MdHIY8RNWCv1qF3X8zWrjSLCDzir3+nr5zl67GecmeUc8 piLMBbuUTqPCYr3lF77tJhbpopzks9Exi5baKOPvJFQ10LCZGRSuMwe2W++Se8ZxLp OgEhbqGaUJu91Sl5OqksnWXv0zeMOkizZOafhdn6ql0XfftnkMJQQe0xJQcAuMLn3H TzlwuWhwvXj3A== Content-Type: multipart/mixed; boundary="------------0invH3ejrMbtI5eBoeVLdLhU" Message-ID: Date: Fri, 12 Apr 2024 22:59:57 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands To: Alexander Lakhin , Robert Haas , Alexander Korotkov Cc: PostgreSQL Hackers References: <28ed1ee0-749d-9838-955e-abff42fc44be@gmail.com> <86bfd241-a58c-479a-9a72-2c67a02becf8@postgrespro.ru> <0f655bcd-6487-4179-f9cf-c248efbad510@gmail.com> Content-Language: en-US From: Dmitry Koval In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------0invH3ejrMbtI5eBoeVLdLhU Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Thanks, Alexander! > Still now we're able to create a partition in the pg_temp schema > explicitly. Attached patches with fix. -- With best regards, Dmitry Koval Postgres Professional: http://postgrespro.com --------------0invH3ejrMbtI5eBoeVLdLhU Content-Type: text/plain; charset=UTF-8; name="v5-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.patch" Content-Disposition: attachment; filename*0="v5-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyYjY4YmJkYjA2OGU4ODFlOGNhNmUzNGRlYzczNWY3Y2U2NTYzNzRmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb3ZhbCBEbWl0cnkgPGQua292YWxAcG9zdGdyZXNw cm8ucnU+CkRhdGU6IFdlZCwgMTAgQXByIDIwMjQgMTg6NTQ6MDUgKzAzMDAKU3ViamVjdDog W1BBVENIIHY1IDEvMl0gRml4IGZvciBTUExJVC9NRVJHRSBwYXJ0aXRpb25zIG9mIHRlbXBv cmFyeSB0YWJsZQoKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAg ICAgICAgICAgfCAgMzIgKysrLS0KIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21k LmMgICAgICAgICAgICB8ICAzNiArKysrLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9w YXJ0aXRpb25fbWVyZ2Uub3V0IHwgMTI0ICsrKysrKysrKysrKysrKysrLQogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0IHwgIDI5ICsrKysKIHNyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwgICAgICB8IDEwMSArKysrKysr KysrKysrLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX3NwbGl0LnNxbCAgICAg IHwgIDIzICsrKysKIDYgZmlsZXMgY2hhbmdlZCwgMzI0IGluc2VydGlvbnMoKyksIDIxIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21k cy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5kZXggOGE5OGEwYWY0 OC4uYjU5ZTFkZGEwMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVj bWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKQEAgLTIxMTQ1 LDE3ICsyMTE0NSwxOSBAQCBtb3ZlU3BsaXRUYWJsZVJvd3MoUmVsYXRpb24gcmVsLCBSZWxh dGlvbiBzcGxpdFJlbCwgTGlzdCAqcGFydGxpc3QsIExpc3QgKm5ld1BhcgogICogY3JlYXRl UGFydGl0aW9uVGFibGU6IGNyZWF0ZSB0YWJsZSBmb3IgYSBuZXcgcGFydGl0aW9uIHdpdGgg Z2l2ZW4gbmFtZQogICogKG5ld1BhcnROYW1lKSBsaWtlIHRhYmxlIChtb2RlbFJlbE5hbWUp CiAgKgotICogRW11bGF0ZXMgY29tbWFuZDogQ1JFQVRFIFRBQkxFIDxuZXdQYXJ0TmFtZT4g KExJS0UgPG1vZGVsUmVsTmFtZT4KKyAqIEVtdWxhdGVzIGNvbW1hbmQ6IENSRUFURSBbVEVN UF0gVEFCTEUgPG5ld1BhcnROYW1lPiAoTElLRSA8bW9kZWxSZWxOYW1lPgogICogSU5DTFVE SU5HIEFMTCBFWENMVURJTkcgSU5ERVhFUyBFWENMVURJTkcgSURFTlRJVFkpCiAgKi8KIHN0 YXRpYyB2b2lkCi1jcmVhdGVQYXJ0aXRpb25UYWJsZShSYW5nZVZhciAqbmV3UGFydE5hbWUs IFJhbmdlVmFyICptb2RlbFJlbE5hbWUsCitjcmVhdGVQYXJ0aXRpb25UYWJsZShSZWxhdGlv biByZWwsIFJhbmdlVmFyICpuZXdQYXJ0TmFtZSwgUmFuZ2VWYXIgKm1vZGVsUmVsTmFtZSwK IAkJCQkJIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCkKIHsKIAlDcmVhdGVT dG10ICpjcmVhdGVTdG10OwogCVRhYmxlTGlrZUNsYXVzZSAqdGxjOwogCVBsYW5uZWRTdG10 ICp3cmFwcGVyOwogCisJbmV3UGFydE5hbWUtPnJlbHBlcnNpc3RlbmNlID0gcmVsLT5yZF9y ZWwtPnJlbHBlcnNpc3RlbmNlOworCiAJY3JlYXRlU3RtdCA9IG1ha2VOb2RlKENyZWF0ZVN0 bXQpOwogCWNyZWF0ZVN0bXQtPnJlbGF0aW9uID0gbmV3UGFydE5hbWU7CiAJY3JlYXRlU3Rt dC0+dGFibGVFbHRzID0gTklMOwpAQCAtMjEyOTEsNyArMjEyOTMsNyBAQCBBVEV4ZWNTcGxp dFBhcnRpdGlvbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0 aW9uIHJlbCwKIAkJU2luZ2xlUGFydGl0aW9uU3BlYyAqc3BzID0gKFNpbmdsZVBhcnRpdGlv blNwZWMgKikgbGZpcnN0KGxpc3RwdHIpOwogCQlSZWxhdGlvbgluZXdQYXJ0UmVsOwogCi0J CWNyZWF0ZVBhcnRpdGlvblRhYmxlKHNwcy0+bmFtZSwgcGFyZW50TmFtZSwgY29udGV4dCk7 CisJCWNyZWF0ZVBhcnRpdGlvblRhYmxlKHJlbCwgc3BzLT5uYW1lLCBwYXJlbnROYW1lLCBj b250ZXh0KTsKIAogCQkvKiBPcGVuIHRoZSBuZXcgcGFydGl0aW9uIGFuZCBhY3F1aXJlIGV4 Y2x1c2l2ZSBsb2NrIG9uIGl0LiAqLwogCQluZXdQYXJ0UmVsID0gdGFibGVfb3BlbnJ2KHNw cy0+bmFtZSwgQWNjZXNzRXhjbHVzaXZlTG9jayk7CkBAIC0yMTQ4OCwxMCArMjE0OTAsMTAg QEAgQVRFeGVjTWVyZ2VQYXJ0aXRpb25zKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUlu Zm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCXsKIAkJLyogQ3JlYXRlIHBhcnRpdGlvbiB0YWJs ZSB3aXRoIGdlbmVyYXRlZCB0ZW1wYXJhcnkgbmFtZS4gKi8KIAkJc3ByaW50Zih0bXBSZWxO YW1lLCAibWVyZ2UtJXUtJVgtdG1wIiwgUmVsYXRpb25HZXRSZWxpZChyZWwpLCBNeVByb2NQ aWQpOwotCQltZXJnZVBhcnROYW1lID0gbWFrZVJhbmdlVmFyKGdldF9uYW1lc3BhY2VfbmFt ZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZWwpKSwKLQkJCQkJCQkJCSB0bXBSZWxOYW1lLCAt MSk7CisJCW1lcmdlUGFydE5hbWUgPSBtYWtlUmFuZ2VWYXIoY21kLT5uYW1lLT5zY2hlbWFu YW1lLCB0bXBSZWxOYW1lLCAtMSk7CiAJfQotCWNyZWF0ZVBhcnRpdGlvblRhYmxlKG1lcmdl UGFydE5hbWUsCisJY3JlYXRlUGFydGl0aW9uVGFibGUocmVsLAorCQkJCQkJIG1lcmdlUGFy dE5hbWUsCiAJCQkJCQkgbWFrZVJhbmdlVmFyKGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlv bkdldE5hbWVzcGFjZShyZWwpKSwKIAkJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxhdGlvbk5h bWUocmVsKSwgLTEpLAogCQkJCQkJIGNvbnRleHQpOwpAQCAtMjE1MDcsMTIgKzIxNTA5LDYg QEAgQVRFeGVjTWVyZ2VQYXJ0aXRpb25zKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUlu Zm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCS8qIENvcHkgZGF0YSBmcm9tIG1lcmdlZCBwYXJ0 aXRpb25zIHRvIG5ldyBwYXJ0aXRpb24uICovCiAJbW92ZU1lcmdlZFRhYmxlc1Jvd3MocmVs LCBtZXJnaW5nUGFydGl0aW9uc0xpc3QsIG5ld1BhcnRSZWwpOwogCi0JLyoKLQkgKiBBdHRh Y2ggYSBuZXcgcGFydGl0aW9uIHRvIHRoZSBwYXJ0aXRpb25lZCB0YWJsZS4gd3F1ZXVlID0g TlVMTDoKLQkgKiB2ZXJpZmljYXRpb24gZm9yIGVhY2ggY2xvbmVkIGNvbnN0cmFpbnQgaXMg bm90IG5lZWQuCi0JICovCi0JYXR0YWNoUGFydGl0aW9uVGFibGUoTlVMTCwgcmVsLCBuZXdQ YXJ0UmVsLCBjbWQtPmJvdW5kKTsKLQogCS8qIFVubG9jayBhbmQgZHJvcCBtZXJnZWQgcGFy dGl0aW9ucy4gKi8KIAlmb3JlYWNoKGxpc3RwdHIsIG1lcmdpbmdQYXJ0aXRpb25zTGlzdCkK IAl7CkBAIC0yMTU0Miw3ICsyMTUzOCwxOSBAQCBBVEV4ZWNNZXJnZVBhcnRpdGlvbnMoTGlz dCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJCS8q IFJlbmFtZSBwYXJ0aXRpb24uICovCiAJCVJlbmFtZVJlbGF0aW9uSW50ZXJuYWwoUmVsYXRp b25HZXRSZWxpZChuZXdQYXJ0UmVsKSwKIAkJCQkJCQkgICBjbWQtPm5hbWUtPnJlbG5hbWUs IGZhbHNlLCBmYWxzZSk7CisJCS8qCisJCSAqIEJ1bXAgdGhlIGNvbW1hbmQgY291bnRlciB0 byBtYWtlIHRoZSB0dXBsZSBvZiByZW5hbWVkIHBhcnRpdGlvbgorCQkgKiB2aXNpYmxlIGZv ciBhdHRhY2ggcGFydGl0aW9uIG9wZXJhdGlvbi4KKwkJICovCisJCUNvbW1hbmRDb3VudGVy SW5jcmVtZW50KCk7CiAJfQorCisJLyoKKwkgKiBBdHRhY2ggYSBuZXcgcGFydGl0aW9uIHRv IHRoZSBwYXJ0aXRpb25lZCB0YWJsZS4gd3F1ZXVlID0gTlVMTDoKKwkgKiB2ZXJpZmljYXRp b24gZm9yIGVhY2ggY2xvbmVkIGNvbnN0cmFpbnQgaXMgbm90IG5lZWRlZC4KKwkgKi8KKwlh dHRhY2hQYXJ0aXRpb25UYWJsZShOVUxMLCByZWwsIG5ld1BhcnRSZWwsIGNtZC0+Ym91bmQp OworCiAJLyogS2VlcCB0aGUgbG9jayB1bnRpbCBjb21taXQuICovCiAJdGFibGVfY2xvc2Uo bmV3UGFydFJlbCwgTm9Mb2NrKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5j CmluZGV4IGNlYmEwNjk5MDUuLjk5N2Y5YmVkZjIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNl X3V0aWxjbWQuYwpAQCAtMzQxNSwxMyArMzQxNSwxMiBAQCB0cmFuc2Zvcm1SdWxlU3RtdChS dWxlU3RtdCAqc3RtdCwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcsCiAJdGFibGVfY2xvc2Uo cmVsLCBOb0xvY2spOwogfQogCi0KIC8qCi0gKiBjaGVja1BhcnRpdGlvbgorICogY2hlY2tP bGRQYXJ0aXRpb24KICAqCQlDaGVjayB0aGF0IHBhcnRSZWxPaWQgaXMgYW4gb2lkIG9mIHBh cnRpdGlvbiBvZiB0aGUgcGFyZW50IHRhYmxlIHJlbAogICovCiBzdGF0aWMgdm9pZAotY2hl Y2tQYXJ0aXRpb24oUmVsYXRpb24gcmVsLCBPaWQgcGFydFJlbE9pZCkKK2NoZWNrT2xkUGFy dGl0aW9uKFJlbGF0aW9uIHJlbCwgT2lkIHBhcnRSZWxPaWQpCiB7CiAJUmVsYXRpb24JcGFy dFJlbDsKIApAQCAtMzQzMCw3ICszNDI5LDcgQEAgY2hlY2tQYXJ0aXRpb24oUmVsYXRpb24g cmVsLCBPaWQgcGFydFJlbE9pZCkKIAlpZiAocGFydFJlbC0+cmRfcmVsLT5yZWxraW5kICE9 IFJFTEtJTkRfUkVMQVRJT04pCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJS Q09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCi0JCQkJIGVycm1zZygiXCIlc1wiIGlzIG5vdCBh IHRhYmxlIiwKKwkJCQkgZXJybXNnKCJcIiVzXCIgaXMgbm90IGFuIG9yZGluYXJ5IHRhYmxl IiwKIAkJCQkJCVJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHBhcnRSZWwpKSkpOwogCiAJaWYg KCFwYXJ0UmVsLT5yZF9yZWwtPnJlbGlzcGFydGl0aW9uKQpAQCAtMzQ0OSw2ICszNDQ4LDI2 IEBAIGNoZWNrUGFydGl0aW9uKFJlbGF0aW9uIHJlbCwgT2lkIHBhcnRSZWxPaWQpCiAJcmVs YXRpb25fY2xvc2UocGFydFJlbCwgQWNjZXNzU2hhcmVMb2NrKTsKIH0KIAorLyoKKyAqIGNo ZWNrTmV3UGFydGl0aW9uCisgKgkJQ2hlY2sgdGhhdCB0aGUgbmV3IHBhcnRpdGlvbiBoYXMg dGhlIGNvcnJlY3QgbmFtZXNwYWNlLgorICovCitzdGF0aWMgdm9pZAorY2hlY2tOZXdQYXJ0 aXRpb24oUmVsYXRpb24gcmVsLCBSYW5nZVZhciAqcGFydE5hbWUpCit7CisJT2lkCQkJbnNw aWQ7CisKKwluc3BpZCA9IFJhbmdlVmFyR2V0Q3JlYXRpb25OYW1lc3BhY2UocGFydE5hbWUp OworCisJLyogSWYgdGhlIHBhcmVudCB0YWJsZSBpcyBwZXJtYW5lbnQsIHNvIG11c3QgYmUg YWxsIG9mIGl0cyBwYXJ0aXRpb25zLiAqLworCWlmIChyZWwtPnJkX3JlbC0+cmVscGVyc2lz dGVuY2UgIT0gUkVMUEVSU0lTVEVOQ0VfVEVNUCAmJgorCQlpc1RlbXBPclRlbXBUb2FzdE5h bWVzcGFjZShuc3BpZCkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09E RV9XUk9OR19PQkpFQ1RfVFlQRSksCisJCQkJIGVycm1zZygiY2Fubm90IGNyZWF0ZSBhIHRl bXBvcmFyeSByZWxhdGlvbiBhcyBwYXJ0aXRpb24gb2YgcGVybWFuZW50IHJlbGF0aW9uIFwi JXNcIiIsCisJCQkJCQlSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSkpOworfQorCiAv KgogICogdHJhbnNmb3JtUGFydGl0aW9uQ21kRm9yU3BsaXQKICAqCQlBbmFseXplIHRoZSBB TFRFUiBUQUJMTEUgLi4uIFNQTElUIFBBUlRJVElPTiBjb21tYW5kCkBAIC0zNDc3LDExICsz NDk2LDEzIEBAIHRyYW5zZm9ybVBhcnRpdGlvbkNtZEZvclNwbGl0KENyZWF0ZVN0bXRDb250 ZXh0ICpjeHQsIFBhcnRpdGlvbkNtZCAqcGFydGNtZCkKIAkJdHJhbnNmb3JtUGFydGl0aW9u Q21kKGN4dCwgc3BzLT5ib3VuZCk7CiAJCS8qIEFzc2lnbiB0cmFuc2Zvcm1lZCB2YWx1ZSBv ZiB0aGUgcGFydGl0aW9uIGJvdW5kLiAqLwogCQlzcHMtPmJvdW5kID0gY3h0LT5wYXJ0Ym91 bmQ7CisJCS8qIENoZWNrIHRoYXQgdGhlIG5ldyBwYXJ0aXRpb24gaGFzIHRoZSBjb3JyZWN0 IG5hbWVzcGFjZS4gKi8KKwkJY2hlY2tOZXdQYXJ0aXRpb24ocGFyZW50LCBzcHMtPm5hbWUp OwogCX0KIAogCXNwbGl0UGFydE9pZCA9IFJhbmdlVmFyR2V0UmVsaWQocGFydGNtZC0+bmFt ZSwgTm9Mb2NrLCBmYWxzZSk7CiAKLQljaGVja1BhcnRpdGlvbihwYXJlbnQsIHNwbGl0UGFy dE9pZCk7CisJY2hlY2tPbGRQYXJ0aXRpb24ocGFyZW50LCBzcGxpdFBhcnRPaWQpOwogCiAJ LyogVGhlbiB3ZSBzaG91bGQgY2hlY2sgcGFydGl0aW9ucyB3aXRoIHRyYW5zZm9ybWVkIGJv dW5kcy4gKi8KIAljaGVja19wYXJ0aXRpb25zX2Zvcl9zcGxpdChwYXJlbnQsIHNwbGl0UGFy dE9pZCwgcGFydGNtZC0+bmFtZSwgcGFydGNtZC0+cGFydGxpc3QsIGN4dC0+cHN0YXRlKTsK QEAgLTM1MjEsNiArMzU0Miw5IEBAIHRyYW5zZm9ybVBhcnRpdGlvbkNtZEZvck1lcmdlKENy ZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFBhcnRpdGlvbkNtZCAqcGFydGNtZCkKIAkJCQkoZXJy Y29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCiAJCQkJIGVycm1zZygicGFy dGl0aW9uIG9mIGhhc2gtcGFydGl0aW9uZWQgdGFibGUgY2Fubm90IGJlIG1lcmdlZCIpKSk7 CiAKKwkvKiBDaGVjayB0aGF0IHRoZSBuZXcgcGFydGl0aW9uIGhhcyB0aGUgY29ycmVjdCBu YW1lc3BhY2UuICovCisJY2hlY2tOZXdQYXJ0aXRpb24ocGFyZW50LCBwYXJ0Y21kLT5uYW1l KTsKKwogCS8qIElzIGN1cnJlbnQgcGFydGl0aW9uIGEgREVGQVVMVCBwYXJ0aXRpb24/ICov CiAJZGVmYXVsdFBhcnRPaWQgPSBnZXRfZGVmYXVsdF9vaWRfZnJvbV9wYXJ0ZGVzYygKIAkJ CQkJCQkJCQkJCSAgIFJlbGF0aW9uR2V0UGFydGl0aW9uRGVzYyhwYXJlbnQsIHRydWUpKTsK QEAgLTM1NDYsNyArMzU3MCw3IEBAIHRyYW5zZm9ybVBhcnRpdGlvbkNtZEZvck1lcmdlKENy ZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFBhcnRpdGlvbkNtZCAqcGFydGNtZCkKIAkJaWYgKHBh cnRPaWQgPT0gZGVmYXVsdFBhcnRPaWQpCiAJCQlpc0RlZmF1bHRQYXJ0ID0gdHJ1ZTsKIAot CQljaGVja1BhcnRpdGlvbihwYXJlbnQsIHBhcnRPaWQpOworCQljaGVja09sZFBhcnRpdGlv bihwYXJlbnQsIHBhcnRPaWQpOwogCiAJCXBhcnRPaWRzID0gbGFwcGVuZF9vaWQocGFydE9p ZHMsIHBhcnRPaWQpOwogCX0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcGFydGl0aW9uX21lcmdlLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFy dGl0aW9uX21lcmdlLm91dAppbmRleCA2MGVhY2Y2YmYzLi4yZDZhODQ3NGU3IDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uub3V0CkBAIC0y NSw5ICsyNSw5IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMg KHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21hcjIwMjIsIHNhbGVzX2ZlCiBFUlJPUjogIHBhcnRp dGlvbiB3aXRoIG5hbWUgInNhbGVzX2ZlYjIwMjIiIGFscmVhZHkgdXNlZAogTElORSAxOiAu Li5lIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21hcjIwMjIsIHNh bGVzX2ZlYjIuLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi0tLSBFUlJPUjogICJzYWxlc19hcHIyMDIyIiBpcyBu b3QgYSB0YWJsZQorLS0gRVJST1I6ICAic2FsZXNfYXByMjAyMiIgaXMgbm90IGFuIG9yZGlu YXJ5IHRhYmxlCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChz YWxlc19mZWIyMDIyLCBzYWxlc19tYXIyMDIyLCBzYWxlc19hcHIyMDIyKSBJTlRPIHNhbGVz X2ZlYl9tYXJfYXByMjAyMjsKLUVSUk9SOiAgInNhbGVzX2FwcjIwMjIiIGlzIG5vdCBhIHRh YmxlCitFUlJPUjogICJzYWxlc19hcHIyMDIyIiBpcyBub3QgYW4gb3JkaW5hcnkgdGFibGUK IC0tIEVSUk9SOiAgaW52YWxpZCBwYXJ0aXRpb25zIG9yZGVyLCBwYXJ0aXRpb24gInNhbGVz X21hcjIwMjIiIGNhbiBub3QgYmUgbWVyZ2VkCiAtLSAoc3BhY2UgYmV0d2VlbiBzZWN0aW9u cyBzYWxlc19qYW4yMDIyIGFuZCBzYWxlc19tYXIyMDIyKQogQUxURVIgVEFCTEUgc2FsZXNf cmFuZ2UgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfamFuMjAyMiwgc2FsZXNfbWFyMjAyMikg SU5UTyBzYWxlc19qYW5fbWFyMjAyMjsKQEAgLTc0Niw0ICs3NDYsMTI0IEBAIERST1AgVEFC TEUgdDM7CiBEUk9QIFRBQkxFIHQyOwogRFJPUCBUQUJMRSB0MTsKIC0tCistLSBUcnkgdG8g TUVSR0UgcGFydGl0aW9ucyBvZiB0ZW1wb3JhcnkgdGFibGUuCistLQorQ1JFQVRFIFRFTVAg VEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitDUkVBVEUgVEVNUCBU QUJMRSB0cF8wXzEgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMSk7 CitDUkVBVEUgVEVNUCBUQUJMRSB0cF8xXzIgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBG Uk9NICgxKSBUTyAoMik7CitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIHBn X2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSwgYy5yZWxwZXJz aXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywgcGdfY2F0YWxvZy5wZ19p bmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBBTkQgaS5pbmhwYXJlbnQg PSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5y ZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6OnBnX2NhdGFsb2cucmVn Y2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKyAgb2lkICAgfCAgICAgICAgcGdfZ2V0X2V4cHIg ICAgICAgICB8IHJlbHBlcnNpc3RlbmNlIAorLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdHBfMF8xIHwgRk9SIFZBTFVFUyBGUk9N ICgwKSBUTyAoMSkgfCB0CisgdHBfMV8yIHwgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMikg fCB0CisoMiByb3dzKQorCitBTFRFUiBUQUJMRSB0IE1FUkdFIFBBUlRJVElPTlMgKHRwXzBf MSwgdHBfMV8yKSBJTlRPIHRwXzBfMjsKKy0tIFBhcnRpdGlvbiBzaG91bGQgYmUgdGVtcG9y YXJ5LgorU0VMRUNUIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBn X2dldF9leHByKGMucmVscGFydGJvdW5kLCBjLm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAg RlJPTSBwZ19jYXRhbG9nLnBnX2NsYXNzIGMsIHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQor ICBXSEVSRSBjLm9pZCA9IGkuaW5ocmVsaWQgQU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdj bGFzcworICBPUkRFUiBCWSBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5k LCBjLm9pZCkgPSAnREVGQVVMVCcsIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19j YXRhbG9nLnRleHQ7CisgIG9pZCAgIHwgICAgICAgIHBnX2dldF9leHByICAgICAgICAgfCBy ZWxwZXJzaXN0ZW5jZSAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLQorIHRwXzBfMiB8IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDIp IHwgdAorKDEgcm93KQorCitEUk9QIFRBQkxFIHQ7CistLQorLS0gQ2hlY2sgdGhlIHBhcnRp dGlvbiBpbmRleCBuYW1lIGlmIHRoZSBwYXJ0aXRpb24gbmFtZSBpcyB0aGUgc2FtZSBhcyBv bmUKKy0tIG9mIHRoZSBtZXJnZWQgcGFydGl0aW9ucy4KKy0tCitDUkVBVEUgVEFCTEUgdCAo aSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitDUkVBVEUgVEFCTEUgdHBfMF8xIFBB UlRJVElPTiBPRiB0IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpOworQ1JFQVRFIFRBQkxF IHRwXzFfMiBQQVJUSVRJT04gT0YgdCBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgyKTsKK0NS RUFURSBJTkRFWCB0aWR4IE9OIHQoaSk7CitBTFRFUiBUQUJMRSB0IE1FUkdFIFBBUlRJVElP TlMgKHRwXzFfMiwgdHBfMF8xKSBJTlRPIHRwXzFfMjsKKy0tIEluZGV4bmFtZSB2YWx1ZSBz aG91bGQgYmUgJ3RwXzFfMl9pX2lkeCcuCitTRUxFQ1QgaW5kZXhuYW1lIEZST00gcGdfaW5k ZXhlcyBXSEVSRSB0YWJsZW5hbWUgPSAndHBfMV8yJzsKKyAgaW5kZXhuYW1lICAgCistLS0t LS0tLS0tLS0tLQorIHRwXzFfMl9pX2lkeAorKDEgcm93KQorCitEUk9QIFRBQkxFIHQ7Cist LQorLS0gMS4gVHJ5IGNyZWF0aW5nIGEgcGFydGl0aW9uIG9mIHRoZSBwZXJtYW5lbnQgcmVs YXRpb24gaW4gYSB0ZW1wb3Jhcnkgc2NoZW1hLgorLS0gMi4gVHJ5IHRvIGNyZWF0ZSBhIHBh cnRpdGlvbiBpbiB0aGUgcGdfdGVtcCBzY2hlbWEgZXhwbGljaXRseS4KKy0tCitTRVQgc2Vh cmNoX3BhdGggPSBwdWJsaWMsIHBnX3RlbXA7CitDUkVBVEUgVEFCTEUgdCAoaSBpbnQpIFBB UlRJVElPTiBCWSBSQU5HRSAoaSk7CitDUkVBVEUgVEFCTEUgdHBfMF8xIFBBUlRJVElPTiBP RiB0IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpOworQ1JFQVRFIFRBQkxFIHRwXzFfMiBQ QVJUSVRJT04gT0YgdCBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgyKTsKK1NFTEVDVCBjLm9p ZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgYy5yZWxwZXJzaXN0ZW5jZSBGUk9NIHBnX2NhdGFs b2cucGdfY2xhc3MgYyBXSEVSRSBjLm9pZCA9ICd0Jzo6cmVnY2xhc3M7Cisgb2lkIHwgcmVs cGVyc2lzdGVuY2UgCistLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdCAgIHwgcAorKDEgcm93 KQorCitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdf Z2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBG Uk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywgcGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisg IFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBBTkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2Ns YXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQs IGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2Nh dGFsb2cudGV4dDsKKyAgb2lkICAgfCAgICAgICAgcGdfZ2V0X2V4cHIgICAgICAgICB8IHJl bHBlcnNpc3RlbmNlIAorLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tCisgdHBfMF8xIHwgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMSkg fCBwCisgdHBfMV8yIHwgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMikgfCBwCisoMiByb3dz KQorCitTRVQgc2VhcmNoX3BhdGggPSBwZ190ZW1wLCBwdWJsaWM7CistLSAxLgorLS0gRVJS T1I6ICBjYW5ub3QgY3JlYXRlIGEgdGVtcG9yYXJ5IHJlbGF0aW9uIGFzIHBhcnRpdGlvbiBv ZiBwZXJtYW5lbnQgcmVsYXRpb24gInQiCitBTFRFUiBUQUJMRSB0IE1FUkdFIFBBUlRJVElP TlMgKHRwXzBfMSwgdHBfMV8yKSBJTlRPIHRwXzBfMjsKK0VSUk9SOiAgY2Fubm90IGNyZWF0 ZSBhIHRlbXBvcmFyeSByZWxhdGlvbiBhcyBwYXJ0aXRpb24gb2YgcGVybWFuZW50IHJlbGF0 aW9uICJ0IgorU0VUIHNlYXJjaF9wYXRoID0gcHVibGljLCBwZ190ZW1wOworLS0gMi4KKy0t IEVSUk9SOiAgY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSByZWxhdGlvbiBhcyBwYXJ0aXRp b24gb2YgcGVybWFuZW50IHJlbGF0aW9uICJ0IgorQUxURVIgVEFCTEUgdCBNRVJHRSBQQVJU SVRJT05TICh0cF8wXzEsIHRwXzFfMikgSU5UTyBwZ190ZW1wLnRwXzBfMjsKK0VSUk9SOiAg Y2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSByZWxhdGlvbiBhcyBwYXJ0aXRpb24gb2YgcGVy bWFuZW50IHJlbGF0aW9uICJ0IgorRFJPUCBUQUJMRSB0OworUkVTRVQgc2VhcmNoX3BhdGg7 CistLQorLS0gVHJ5IGNyZWF0aW5nIGEgcGFydGl0aW9uIG9mIHRoZSB0ZW1wb3JhcnkgcmVs YXRpb24gaW4gYSBwZXJtYW5lbnQgc2NoZW1hLgorLS0KK1NFVCBzZWFyY2hfcGF0aCA9IHBn X3RlbXAsIHB1YmxpYzsKK0NSRUFURSBUQUJMRSB0IChpIGludCkgUEFSVElUSU9OIEJZIFJB TkdFIChpKTsKK0NSRUFURSBUQUJMRSB0cF8wXzEgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVF UyBGUk9NICgwKSBUTyAoMSk7CitDUkVBVEUgVEFCTEUgdHBfMV8yIFBBUlRJVElPTiBPRiB0 IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpOworU0VMRUNUIGMub2lkOjpwZ19jYXRhbG9n LnJlZ2NsYXNzLCBjLnJlbHBlcnNpc3RlbmNlIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBj IFdIRVJFIGMub2lkID0gJ3QnOjpyZWdjbGFzczsKKyBvaWQgfCByZWxwZXJzaXN0ZW5jZSAK Ky0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB0ICAgfCB0CisoMSByb3cpCisKK1NFTEVDVCBj Lm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJl bHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNpc3RlbmNlCisgIEZST00gcGdfY2F0YWxv Zy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2luaGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQg PSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIg QlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpID0gJ0RF RkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzczo6cGdfY2F0YWxvZy50ZXh0Owor ICBvaWQgICB8ICAgICAgICBwZ19nZXRfZXhwciAgICAgICAgIHwgcmVscGVyc2lzdGVuY2Ug CistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0KKyB0cF8wXzEgfCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgxKSB8IHQKKyB0cF8xXzIg fCBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgyKSB8IHQKKygyIHJvd3MpCisKK1NFVCBzZWFy Y2hfcGF0aCA9IHB1YmxpYywgcGdfdGVtcDsKKy0tIFRoZXJlIGlzIG5vIHByb2JsZW0gd2l0 aCBjcmVhdGluZyBhIHRlbXBvcmFyeSBwYXJ0aXRpb24gaW4gYSBwZXJtYW5lbnQgc2NoZW1h LgorQUxURVIgVEFCTEUgdCBNRVJHRSBQQVJUSVRJT05TICh0cF8wXzEsIHRwXzFfMikgSU5U TyB0cF8wXzI7CistLSBQYXJ0aXRpb24gdHBfMF8yIHNob3VsZCBiZSB0ZW1wb3JhcnkgKHQp LgorU0VMRUNUIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBnX2dl dF9leHByKGMucmVscGFydGJvdW5kLCBjLm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAgRlJP TSBwZ19jYXRhbG9nLnBnX2NsYXNzIGMsIHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQorICBX SEVSRSBjLm9pZCA9IGkuaW5ocmVsaWQgQU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdjbGFz cworICBPUkRFUiBCWSBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5kLCBj Lm9pZCkgPSAnREVGQVVMVCcsIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19jYXRh bG9nLnRleHQ7CisgIG9pZCAgIHwgICAgICAgIHBnX2dldF9leHByICAgICAgICAgfCByZWxw ZXJzaXN0ZW5jZSAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLQorIHRwXzBfMiB8IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDIpIHwg dAorKDEgcm93KQorCitTRVQgc2VhcmNoX3BhdGggPSBwZ190ZW1wLCBwZ190ZW1wOworRFJP UCBUQUJMRSB0OworUkVTRVQgc2VhcmNoX3BhdGg7CistLQogRFJPUCBTQ0hFTUEgcGFydGl0 aW9uc19tZXJnZV9zY2hlbWE7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3BhcnRpdGlvbl9zcGxpdC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Bh cnRpdGlvbl9zcGxpdC5vdXQKaW5kZXggMjZhMGQwOTk2OS4uM2QyMjA4M2U0MSAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0Cisr KyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3NwbGl0Lm91dApAQCAt MTQyNyw0ICsxNDI3LDMzIEBAIEVSUk9SOiAgcmVsYXRpb24gInQxcGEiIGlzIG5vdCBhIHBh cnRpdGlvbiBvZiByZWxhdGlvbiAidDIiCiBEUk9QIFRBQkxFIHQyOwogRFJPUCBUQUJMRSB0 MTsKIC0tCistLSBUcnkgdG8gU1BMSVQgcGFydGl0aW9uIG9mIHRlbXBvcmFyeSB0YWJsZS4K Ky0tCitDUkVBVEUgVEVNUCBUQUJMRSB0IChpIGludCkgUEFSVElUSU9OIEJZIFJBTkdFIChp KTsKK0NSRUFURSBURU1QIFRBQkxFIHRwXzBfMiBQQVJUSVRJT04gT0YgdCBGT1IgVkFMVUVT IEZST00gKDApIFRPICgyKTsKK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywg cGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBl cnNpc3RlbmNlCisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBn X2luaGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVu dCA9ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihj LnJlbHBhcnRib3VuZCwgYy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5y ZWdjbGFzczo6cGdfY2F0YWxvZy50ZXh0OworICBvaWQgICB8ICAgICAgICBwZ19nZXRfZXhw ciAgICAgICAgIHwgcmVscGVyc2lzdGVuY2UgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB0cF8wXzIgfCBGT1IgVkFMVUVTIEZS T00gKDApIFRPICgyKSB8IHQKKygxIHJvdykKKworQUxURVIgVEFCTEUgdCBTUExJVCBQQVJU SVRJT04gdHBfMF8yIElOVE8KKyAgKFBBUlRJVElPTiB0cF8wXzEgRk9SIFZBTFVFUyBGUk9N ICgwKSBUTyAoMSksCisgICBQQVJUSVRJT04gdHBfMV8yIEZPUiBWQUxVRVMgRlJPTSAoMSkg VE8gKDIpKTsKKy0tIFBhcnRpdGlvbnMgc2hvdWxkIGJlIHRlbXBvcmFyeS4KK1NFTEVDVCBj Lm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJl bHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNpc3RlbmNlCisgIEZST00gcGdfY2F0YWxv Zy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2luaGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQg PSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIg QlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpID0gJ0RF RkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzczo6cGdfY2F0YWxvZy50ZXh0Owor ICBvaWQgICB8ICAgICAgICBwZ19nZXRfZXhwciAgICAgICAgIHwgcmVscGVyc2lzdGVuY2Ug CistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0KKyB0cF8wXzEgfCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgxKSB8IHQKKyB0cF8xXzIg fCBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgyKSB8IHQKKygyIHJvd3MpCisKK0RST1AgVEFC TEUgdDsKKy0tCiBEUk9QIFNDSEVNQSBwYXJ0aXRpb25fc3BsaXRfc2NoZW1hOwpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdlLnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKaW5kZXggOWFmZWQ3MDM2NS4u OGEzYzNmNGE0YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9u X21lcmdlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fbWVyZ2Uu c3FsCkBAIC0yOCw3ICsyOCw3IEBAIENSRUFURSBUQUJMRSBzYWxlc19vdGhlcnMgUEFSVElU SU9OIE9GIHNhbGVzX3JhbmdlIERFRkFVTFQ7CiAKIC0tIEVSUk9SOiAgcGFydGl0aW9uIHdp dGggbmFtZSAic2FsZXNfZmViMjAyMiIgYWxyZWFkeSB1c2VkCiBBTFRFUiBUQUJMRSBzYWxl c19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19mZWIyMDIyLCBzYWxlc19tYXIyMDIy LCBzYWxlc19mZWIyMDIyKSBJTlRPIHNhbGVzX2ZlYl9tYXJfYXByMjAyMjsKLS0tIEVSUk9S OiAgInNhbGVzX2FwcjIwMjIiIGlzIG5vdCBhIHRhYmxlCistLSBFUlJPUjogICJzYWxlc19h cHIyMDIyIiBpcyBub3QgYW4gb3JkaW5hcnkgdGFibGUKIEFMVEVSIFRBQkxFIHNhbGVzX3Jh bmdlIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21hcjIwMjIsIHNh bGVzX2FwcjIwMjIpIElOVE8gc2FsZXNfZmViX21hcl9hcHIyMDIyOwogLS0gRVJST1I6ICBp bnZhbGlkIHBhcnRpdGlvbnMgb3JkZXIsIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY2Fu IG5vdCBiZSBtZXJnZWQKIC0tIChzcGFjZSBiZXR3ZWVuIHNlY3Rpb25zIHNhbGVzX2phbjIw MjIgYW5kIHNhbGVzX21hcjIwMjIpCkBAIC00NDQsNSArNDQ0LDEwNCBAQCBEUk9QIFRBQkxF IHQzOwogRFJPUCBUQUJMRSB0MjsKIERST1AgVEFCTEUgdDE7CiAKKy0tCistLSBUcnkgdG8g TUVSR0UgcGFydGl0aW9ucyBvZiB0ZW1wb3JhcnkgdGFibGUuCistLQorQ1JFQVRFIFRFTVAg VEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitDUkVBVEUgVEVNUCBU QUJMRSB0cF8wXzEgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMSk7 CitDUkVBVEUgVEVNUCBUQUJMRSB0cF8xXzIgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBG Uk9NICgxKSBUTyAoMik7CisKK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywg cGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBl cnNpc3RlbmNlCisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBn X2luaGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVu dCA9ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihj LnJlbHBhcnRib3VuZCwgYy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5y ZWdjbGFzczo6cGdfY2F0YWxvZy50ZXh0OworCitBTFRFUiBUQUJMRSB0IE1FUkdFIFBBUlRJ VElPTlMgKHRwXzBfMSwgdHBfMV8yKSBJTlRPIHRwXzBfMjsKKworLS0gUGFydGl0aW9uIHNo b3VsZCBiZSB0ZW1wb3JhcnkuCitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3Ms IHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSwgYy5yZWxw ZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywgcGdfY2F0YWxvZy5w Z19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBBTkQgaS5pbmhwYXJl bnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIo Yy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6OnBnX2NhdGFsb2cu cmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKworRFJPUCBUQUJMRSB0OworCistLQorLS0g Q2hlY2sgdGhlIHBhcnRpdGlvbiBpbmRleCBuYW1lIGlmIHRoZSBwYXJ0aXRpb24gbmFtZSBp cyB0aGUgc2FtZSBhcyBvbmUKKy0tIG9mIHRoZSBtZXJnZWQgcGFydGl0aW9ucy4KKy0tCitD UkVBVEUgVEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CisKK0NSRUFU RSBUQUJMRSB0cF8wXzEgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAo MSk7CitDUkVBVEUgVEFCTEUgdHBfMV8yIFBBUlRJVElPTiBPRiB0IEZPUiBWQUxVRVMgRlJP TSAoMSkgVE8gKDIpOworCitDUkVBVEUgSU5ERVggdGlkeCBPTiB0KGkpOworQUxURVIgVEFC TEUgdCBNRVJHRSBQQVJUSVRJT05TICh0cF8xXzIsIHRwXzBfMSkgSU5UTyB0cF8xXzI7CisK Ky0tIEluZGV4bmFtZSB2YWx1ZSBzaG91bGQgYmUgJ3RwXzFfMl9pX2lkeCcuCitTRUxFQ1Qg aW5kZXhuYW1lIEZST00gcGdfaW5kZXhlcyBXSEVSRSB0YWJsZW5hbWUgPSAndHBfMV8yJzsK KworRFJPUCBUQUJMRSB0OworCistLQorLS0gMS4gVHJ5IGNyZWF0aW5nIGEgcGFydGl0aW9u IG9mIHRoZSBwZXJtYW5lbnQgcmVsYXRpb24gaW4gYSB0ZW1wb3Jhcnkgc2NoZW1hLgorLS0g Mi4gVHJ5IHRvIGNyZWF0ZSBhIHBhcnRpdGlvbiBpbiB0aGUgcGdfdGVtcCBzY2hlbWEgZXhw bGljaXRseS4KKy0tCitTRVQgc2VhcmNoX3BhdGggPSBwdWJsaWMsIHBnX3RlbXA7CitDUkVB VEUgVEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitDUkVBVEUgVEFC TEUgdHBfMF8xIFBBUlRJVElPTiBPRiB0IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpOwor Q1JFQVRFIFRBQkxFIHRwXzFfMiBQQVJUSVRJT04gT0YgdCBGT1IgVkFMVUVTIEZST00gKDEp IFRPICgyKTsKKworU0VMRUNUIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzLCBjLnJlbHBl cnNpc3RlbmNlIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjIFdIRVJFIGMub2lkID0gJ3Qn OjpyZWdjbGFzczsKK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdfY2F0 YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNpc3Rl bmNlCisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2luaGVy aXRzIGkKKyAgV0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9ICd0 Jzo6cmVnY2xhc3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBh cnRib3VuZCwgYy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFz czo6cGdfY2F0YWxvZy50ZXh0OworCitTRVQgc2VhcmNoX3BhdGggPSBwZ190ZW1wLCBwdWJs aWM7CisKKy0tIDEuCistLSBFUlJPUjogIGNhbm5vdCBjcmVhdGUgYSB0ZW1wb3JhcnkgcmVs YXRpb24gYXMgcGFydGl0aW9uIG9mIHBlcm1hbmVudCByZWxhdGlvbiAidCIKK0FMVEVSIFRB QkxFIHQgTUVSR0UgUEFSVElUSU9OUyAodHBfMF8xLCB0cF8xXzIpIElOVE8gdHBfMF8yOwor CitTRVQgc2VhcmNoX3BhdGggPSBwdWJsaWMsIHBnX3RlbXA7CisKKy0tIDIuCistLSBFUlJP UjogIGNhbm5vdCBjcmVhdGUgYSB0ZW1wb3JhcnkgcmVsYXRpb24gYXMgcGFydGl0aW9uIG9m IHBlcm1hbmVudCByZWxhdGlvbiAidCIKK0FMVEVSIFRBQkxFIHQgTUVSR0UgUEFSVElUSU9O UyAodHBfMF8xLCB0cF8xXzIpIElOVE8gcGdfdGVtcC50cF8wXzI7CisKK0RST1AgVEFCTEUg dDsKK1JFU0VUIHNlYXJjaF9wYXRoOworCistLQorLS0gVHJ5IGNyZWF0aW5nIGEgcGFydGl0 aW9uIG9mIHRoZSB0ZW1wb3JhcnkgcmVsYXRpb24gaW4gYSBwZXJtYW5lbnQgc2NoZW1hLgor LS0KK1NFVCBzZWFyY2hfcGF0aCA9IHBnX3RlbXAsIHB1YmxpYzsKK0NSRUFURSBUQUJMRSB0 IChpIGludCkgUEFSVElUSU9OIEJZIFJBTkdFIChpKTsKK0NSRUFURSBUQUJMRSB0cF8wXzEg UEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMSk7CitDUkVBVEUgVEFC TEUgdHBfMV8yIFBBUlRJVElPTiBPRiB0IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpOwor CitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIGMucmVscGVyc2lzdGVuY2Ug RlJPTSBwZ19jYXRhbG9nLnBnX2NsYXNzIGMgV0hFUkUgYy5vaWQgPSAndCc6OnJlZ2NsYXNz OworU0VMRUNUIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBnX2dl dF9leHByKGMucmVscGFydGJvdW5kLCBjLm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAgRlJP TSBwZ19jYXRhbG9nLnBnX2NsYXNzIGMsIHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQorICBX SEVSRSBjLm9pZCA9IGkuaW5ocmVsaWQgQU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdjbGFz cworICBPUkRFUiBCWSBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5kLCBj Lm9pZCkgPSAnREVGQVVMVCcsIGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19jYXRh bG9nLnRleHQ7CisKK1NFVCBzZWFyY2hfcGF0aCA9IHB1YmxpYywgcGdfdGVtcDsKKworLS0g VGhlcmUgaXMgbm8gcHJvYmxlbSB3aXRoIGNyZWF0aW5nIGEgdGVtcG9yYXJ5IHBhcnRpdGlv biBpbiBhIHBlcm1hbmVudCBzY2hlbWEuCitBTFRFUiBUQUJMRSB0IE1FUkdFIFBBUlRJVElP TlMgKHRwXzBfMSwgdHBfMV8yKSBJTlRPIHRwXzBfMjsKKworLS0gUGFydGl0aW9uIHRwXzBf MiBzaG91bGQgYmUgdGVtcG9yYXJ5ICh0KS4KK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5y ZWdjbGFzcywgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQp LCBjLnJlbHBlcnNpc3RlbmNlCisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19j YXRhbG9nLnBnX2luaGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBp LmluaHBhcmVudCA9ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19n ZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdf Y2F0YWxvZy5yZWdjbGFzczo6cGdfY2F0YWxvZy50ZXh0OworCitTRVQgc2VhcmNoX3BhdGgg PSBwZ190ZW1wLCBwZ190ZW1wOworCitEUk9QIFRBQkxFIHQ7CitSRVNFVCBzZWFyY2hfcGF0 aDsKKwogLS0KIERST1AgU0NIRU1BIHBhcnRpdGlvbnNfbWVyZ2Vfc2NoZW1hOwpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX3NwbGl0LnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5zcWwKaW5kZXggNjI1YjAxZGRkMS4u NWRjMmZjMzljZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9u X3NwbGl0LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQu c3FsCkBAIC04NDQsNSArODQ0LDI4IEBAIEFMVEVSIFRBQkxFIHQyIFNQTElUIFBBUlRJVElP TiB0MXBhIElOVE8KIERST1AgVEFCTEUgdDI7CiBEUk9QIFRBQkxFIHQxOwogCistLQorLS0g VHJ5IHRvIFNQTElUIHBhcnRpdGlvbiBvZiB0ZW1wb3JhcnkgdGFibGUuCistLQorQ1JFQVRF IFRFTVAgVEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitDUkVBVEUg VEVNUCBUQUJMRSB0cF8wXzIgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9NICgwKSBU TyAoMik7CisKK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdfY2F0YWxv Zy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNpc3RlbmNl CisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2luaGVyaXRz IGkKKyAgV0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9ICd0Jzo6 cmVnY2xhc3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRi b3VuZCwgYy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzczo6 cGdfY2F0YWxvZy50ZXh0OworCitBTFRFUiBUQUJMRSB0IFNQTElUIFBBUlRJVElPTiB0cF8w XzIgSU5UTworICAoUEFSVElUSU9OIHRwXzBfMSBGT1IgVkFMVUVTIEZST00gKDApIFRPICgx KSwKKyAgIFBBUlRJVElPTiB0cF8xXzIgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMikpOwor CistLSBQYXJ0aXRpb25zIHNob3VsZCBiZSB0ZW1wb3JhcnkuCitTRUxFQ1QgYy5vaWQ6OnBn X2NhdGFsb2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91 bmQsIGMub2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xh c3MgYywgcGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhy ZWxpZCBBTkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2Nh dGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywg Yy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKworRFJPUCBU QUJMRSB0OworCiAtLQogRFJPUCBTQ0hFTUEgcGFydGl0aW9uX3NwbGl0X3NjaGVtYTsKLS0g CjIuNDAuMS53aW5kb3dzLjEKCg== --------------0invH3ejrMbtI5eBoeVLdLhU Content-Type: text/plain; charset=UTF-8; name="v5-0002-Fixes-for-english-text.patch" Content-Disposition: attachment; filename="v5-0002-Fixes-for-english-text.patch" Content-Transfer-Encoding: base64 RnJvbSBjNGRjY2Q4MjdlNzY5YmQwYmEwM2M2NTYzNDIzNWE4NTM3YmYzMGY0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb3ZhbCBEbWl0cnkgPGQua292YWxAcG9zdGdyZXNw cm8ucnU+CkRhdGU6IFdlZCwgMTAgQXByIDIwMjQgMTk6NTU6MTggKzAzMDAKU3ViamVjdDog W1BBVENIIHY1IDIvMl0gRml4ZXMgZm9yIGVuZ2xpc2ggdGV4dAoKLS0tCiBkb2Mvc3JjL3Nn bWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZG9jL3NyYy9z Z21sL3JlZi9hbHRlcl90YWJsZS5zZ21sICAgICAgICAgICAgIHwgIDYgKy0KIHNyYy9iYWNr ZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgICAgICAgICAgICB8IDE2ICsrLS0tCiBzcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jICAgICAgICAgICAgfCAgNiArLQogc3Jj L2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYyAgICAgICAgIHwgMzAgKysrKyst LS0tLQogc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3BhcnRpdGlvbi1tZXJnZS5zcGVjIHwg IDIgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX21lcmdlLm91dCB8 IDE0ICsrLS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9zcGxpdC5v dXQgfCA1OCArKysrKysrKystLS0tLS0tLS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0 aXRpb25fbWVyZ2Uuc3FsICAgICAgfCAxMiArKy0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9w YXJ0aXRpb25fc3BsaXQuc3FsICAgICAgfCA0OCArKysrKysrLS0tLS0tLS0KIDEwIGZpbGVz IGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDk3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9kZGwuc2dtbCBiL2RvYy9zcmMvc2dtbC9kZGwuc2dtbAppbmRl eCAwMGY0NGY1NmZhLi4wMjZiZmZmNzBmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZGRs LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC00Mzg3LDcgKzQzODcsNyBA QCBBTFRFUiBJTkRFWCBtZWFzdXJlbWVudF9jaXR5X2lkX2xvZ2RhdGVfa2V5CiAgICAgIGEg c2luZ2xlIHBhcnRpdGlvbiB1c2luZyB0aGUKICAgICAgPGxpbmsgbGlua2VuZD0ic3FsLWFs dGVydGFibGUtbWVyZ2UtcGFydGl0aW9ucyI+PGNvbW1hbmQ+QUxURVIgVEFCTEUgLi4uIE1F UkdFIFBBUlRJVElPTlM8L2NvbW1hbmQ+PC9saW5rPi4KICAgICAgVGhpcyBmZWF0dXJlIHNp bXBsaWZpZXMgdGhlIG1hbmFnZW1lbnQgb2YgcGFydGl0aW9uZWQgdGFibGVzIGJ5IGFsbG93 aW5nCi0gICAgIGFkbWluaXN0cmF0b3JzIHRvIGNvbWJpbmUgcGFydGl0aW9ucyB0aGF0IGFy ZSBubyBsb25nZXIgbmVlZGVkIGFzCisgICAgIHVzZXJzIHRvIGNvbWJpbmUgcGFydGl0aW9u cyB0aGF0IGFyZSBubyBsb25nZXIgbmVlZGVkIGFzCiAgICAgIHNlcGFyYXRlIGVudGl0aWVz LiAgSXQncyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoaXMgb3BlcmF0aW9uIGlzIG5vdAog ICAgICBzdXBwb3J0ZWQgZm9yIGhhc2gtcGFydGl0aW9uZWQgdGFibGVzIGFuZCBhY3F1aXJl cyBhbgogICAgICA8bGl0ZXJhbD5BQ0NFU1MgRVhDTFVTSVZFPC9saXRlcmFsPiBsb2NrLCB3 aGljaCBjb3VsZCBpbXBhY3QgaGlnaC1sb2FkCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwv cmVmL2FsdGVyX3RhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3RhYmxlLnNn bWwKaW5kZXggOGY1YmYxODVkZC4uZmUzNmZmODJlNSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL3JlZi9hbHRlcl90YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJf dGFibGUuc2dtbApAQCAtMTE3NSw3ICsxMTc1LDcgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+ LCBSRU0KICAgICAgIDxpdGVtaXplZGxpc3Q+CiAgICAgICAgPGxpc3RpdGVtPgogICAgICAg ICA8cGFyYT4KLSAgICAgICAgIEZvciByYW5nZS1wYXJ0aXRpb25lZCB0YWJsZXMgaXMgbmVj ZXNzYXJ5IHRoYXQgdGhlIHJhbmdlcworICAgICAgICAgRm9yIHJhbmdlLXBhcnRpdGlvbmVk IHRhYmxlcyBpdCBpcyBuZWNlc3NhcnkgdGhhdCB0aGUgcmFuZ2VzCiAgICAgICAgICBvZiB0 aGUgcGFydGl0aW9ucyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGFydGl0aW9u X25hbWUxPC9yZXBsYWNlYWJsZT4sCiAgICAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cGFydGl0aW9uX25hbWUyPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBjYW4KICAg ICAgICAgIGJlIG1lcmdlZCBpbnRvIG9uZSByYW5nZSB3aXRob3V0IHNwYWNlcyBhbmQgb3Zl cmxhcHMgKG90aGVyd2lzZSBhbiBlcnJvcgpAQCAtMTE4NSwxMCArMTE4NSwxMCBAQCBXSVRI ICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRl cmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgICAgPGxp c3RpdGVtPgogICAgICAgICA8cGFyYT4KLSAgICAgICAgIEZvciBsaXN0LXBhcnRpdGlvbmVk IHRhYmxlcyB0aGUgdmFsdWVzIGxpc3RzIG9mIGFsbCBwYXJ0aXRpb25zCisgICAgICAgICBG b3IgbGlzdC1wYXJ0aXRpb25lZCB0YWJsZXMgdGhlIHZhbHVlIGxpc3RzIG9mIGFsbCBwYXJ0 aXRpb25zCiAgICAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGFydGl0 aW9uX25hbWUxPC9yZXBsYWNlYWJsZT4sCiAgICAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+cGFydGl0aW9uX25hbWUyPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBhcmUK LSAgICAgICAgIGNvbWJpbmVkIGFuZCBmb3JtIGEgbGlzdCBvZiB2YWx1ZXMgb2YgcGFydGl0 aW9uCisgICAgICAgICBjb21iaW5lZCBhbmQgZm9ybSB0aGUgbGlzdCBvZiB2YWx1ZXMgb2Yg cGFydGl0aW9uCiAgICAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGFy dGl0aW9uX25hbWU8L3JlcGxhY2VhYmxlPi4KICAgICAgICAgPC9wYXJhPgogICAgICAgIDwv bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMu YyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4IGI1OWUxZGRhMDMu LmY1OGZmNDM2OTkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21k cy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0yMDg4OCw3 ICsyMDg4OCw3IEBAIEdldEF0dHJpYnV0ZVN0b3JhZ2UoT2lkIGF0dHR5cGlkLCBjb25zdCBj aGFyICpzdG9yYWdlbW9kZSkKIH0KIAogLyoKLSAqIFN0cnVjdCB3aXRoIGNvbnRleHQgb2Yg bmV3IHBhcnRpdGlvbiBmb3IgaW5zZXJ0IHJvd3MgZnJvbSBzcGxpdGVkIHBhcnRpdGlvbgor ICogU3RydWN0IHdpdGggY29udGV4dCBvZiBuZXcgcGFydGl0aW9uIGZvciBpbnNlcnRpbmcg cm93cyBmcm9tIHNwbGl0IHBhcnRpdGlvbgogICovCiB0eXBlZGVmIHN0cnVjdCBTcGxpdFBh cnRpdGlvbkNvbnRleHQKIHsKQEAgLTIwOTQ1LDcgKzIwOTQ1LDcgQEAgZGVsZXRlU3BsaXRQ YXJ0aXRpb25Db250ZXh0KFNwbGl0UGFydGl0aW9uQ29udGV4dCAqcGMsIGludCB0aV9vcHRp b25zKQogICoKICAqIE5ldyBwYXJ0aXRpb25zIGRlc2NyaXB0aW9uOgogICogcGFydGxpc3Q6 IGxpc3Qgb2YgcG9pbnRlcnMgdG8gU2luZ2xlUGFydGl0aW9uU3BlYyBzdHJ1Y3R1cmVzLgot ICogbmV3UGFydFJlbHM6IGxpc3Qgb2YgUmVsYXRpb24ncy4KKyAqIG5ld1BhcnRSZWxzOiBs aXN0IG9mIFJlbGF0aW9ucy4KICAqIGRlZmF1bHRQYXJ0T2lkOiBvaWQgb2YgREVGQVVMVCBw YXJ0aXRpb24sIGZvciB0YWJsZSByZWwuCiAgKi8KIHN0YXRpYyB2b2lkCkBAIC0yMTAzMCw3 ICsyMTAzMCw3IEBAIG1vdmVTcGxpdFRhYmxlUm93cyhSZWxhdGlvbiByZWwsIFJlbGF0aW9u IHNwbGl0UmVsLCBMaXN0ICpwYXJ0bGlzdCwgTGlzdCAqbmV3UGFyCiAKIAkvKgogCSAqIE1h cCBjb21wdXRpbmcgZm9yIG1vdmluZyBhdHRyaWJ1dGVzIG9mIHNwbGl0IHBhcnRpdGlvbiB0 byBuZXcgcGFydGl0aW9uCi0JICogKGZvciBmaXJzdCBuZXcgcGFydGl0aW9uIGJ1dCBvdGhl ciBuZXcgcGFydGl0aW9ucyBjYW4gdXNlIHRoZSBzYW1lCisJICogKGZvciBmaXJzdCBuZXcg cGFydGl0aW9uLCBidXQgb3RoZXIgbmV3IHBhcnRpdGlvbnMgY2FuIHVzZSB0aGUgc2FtZQog CSAqIG1hcCkuCiAJICovCiAJcGMgPSAoU3BsaXRQYXJ0aXRpb25Db250ZXh0ICopIGxmaXJz dChsaXN0X2hlYWQocGFydENvbnRleHRzKSk7CkBAIC0yMTA4NSw3ICsyMTA4NSw3IEBAIG1v dmVTcGxpdFRhYmxlUm93cyhSZWxhdGlvbiByZWwsIFJlbGF0aW9uIHNwbGl0UmVsLCBMaXN0 ICpwYXJ0bGlzdCwgTGlzdCAqbmV3UGFyCiAKIAkJaWYgKHR1cGxlX21hcCkKIAkJewotCQkJ LyogTmVlZCB0byB1c2UgbWFwIGZvciBjb3B5IGF0dHJpYnV0ZXMuICovCisJCQkvKiBOZWVk IHRvIHVzZSBtYXAgdG8gY29weSBhdHRyaWJ1dGVzLiAqLwogCQkJaW5zZXJ0c2xvdCA9IGV4 ZWN1dGVfYXR0cl9tYXBfc2xvdCh0dXBsZV9tYXAtPmF0dHJNYXAsIHNyY3Nsb3QsIHBjLT5k c3RzbG90KTsKIAkJfQogCQllbHNlCkBAIC0yMTI0NSw3ICsyMTI0NSw3IEBAIEFURXhlY1Nw bGl0UGFydGl0aW9uKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVs YXRpb24gcmVsLAogCQkJUmFuZ2VWYXJHZXRBbmRDaGVja0NyZWF0aW9uTmFtZXNwYWNlKHNw cy0+bmFtZSwgTm9Mb2NrLCBOVUxMKTsKIAogCQkvKgotCQkgKiBUaGlzIHdvdWxkIGZhaWwg bGF0ZXIgb24gYW55d2F5LCBpZiB0aGUgcmVsYXRpb24gYWxyZWFkeSBleGlzdHMuCisJCSAq IFRoaXMgd291bGQgZmFpbCBsYXRlciBvbiBhbnl3YXkgaWYgdGhlIHJlbGF0aW9uIGFscmVh ZHkgZXhpc3RzLgogCQkgKiBCdXQgYnkgY2F0Y2hpbmcgaXQgaGVyZSB3ZSBjYW4gZW1pdCBh IG5pY2VyIGVycm9yIG1lc3NhZ2UuCiAJCSAqLwogCQlleGlzdGluZ19yZWxpZCA9IGdldF9y ZWxuYW1lX3JlbGlkKHJlbG5hbWUsIG5hbWVzcGFjZUlkKTsKQEAgLTIxMzEyLDcgKzIxMzEy LDcgQEAgQVRFeGVjU3BsaXRQYXJ0aXRpb24oTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxl SW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJCVNpbmdsZVBhcnRpdGlvblNwZWMgKnNwcyA9 IChTaW5nbGVQYXJ0aXRpb25TcGVjICopIGxmaXJzdChsaXN0cHRyKTsKIAkJUmVsYXRpb24J bmV3UGFydFJlbCA9IChSZWxhdGlvbikgbGZpcnN0KGxpc3RwdHIyKTsKIAotCQkvKiB3cXVl dWUgPSBOVUxMOiB2ZXJpZmljYXRpb24gZm9yIGVhY2ggY2xvbmVkIGNvbnN0cmFpbnQgaXMg bm90IG5lZWQuICovCisJCS8qIHdxdWV1ZSA9IE5VTEw6IHZlcmlmaWNhdGlvbiBmb3IgZWFj aCBjbG9uZWQgY29uc3RyYWludCBpcyBub3QgbmVlZGVkLiAqLwogCQlhdHRhY2hQYXJ0aXRp b25UYWJsZShOVUxMLCByZWwsIG5ld1BhcnRSZWwsIHNwcy0+Ym91bmQpOwogCQkvKiBLZWVw IHRoZSBsb2NrIHVudGlsIGNvbW1pdC4gKi8KIAkJdGFibGVfY2xvc2UobmV3UGFydFJlbCwg Tm9Mb2NrKTsKQEAgLTIxMzg2LDcgKzIxMzg2LDcgQEAgbW92ZU1lcmdlZFRhYmxlc1Jvd3Mo UmVsYXRpb24gcmVsLCBMaXN0ICptZXJnaW5nUGFydGl0aW9uc0xpc3QsCiAKIAkJCWlmICh0 dXBsZV9tYXApCiAJCQl7Ci0JCQkJLyogTmVlZCB0byB1c2UgbWFwIGZvciBjb3B5IGF0dHJp YnV0ZXMuICovCisJCQkJLyogTmVlZCB0byB1c2UgbWFwIHRvIGNvcHkgYXR0cmlidXRlcy4g Ki8KIAkJCQlpbnNlcnRzbG90ID0gZXhlY3V0ZV9hdHRyX21hcF9zbG90KHR1cGxlX21hcC0+ YXR0ck1hcCwgc3Jjc2xvdCwgZHN0c2xvdCk7CiAJCQl9CiAJCQllbHNlCkBAIC0yMTQ4OCw3 ICsyMTQ4OCw3IEBAIEFURXhlY01lcmdlUGFydGl0aW9ucyhMaXN0ICoqd3F1ZXVlLCBBbHRl cmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkvKiBDcmVhdGUgdGFibGUgZm9y IG5ldyBwYXJ0aXRpb24sIHVzZSBwYXJ0aXRpb25lZCB0YWJsZSBhcyBtb2RlbC4gKi8KIAlp ZiAoaXNTYW1lTmFtZSkKIAl7Ci0JCS8qIENyZWF0ZSBwYXJ0aXRpb24gdGFibGUgd2l0aCBn ZW5lcmF0ZWQgdGVtcGFyYXJ5IG5hbWUuICovCisJCS8qIENyZWF0ZSBwYXJ0aXRpb24gdGFi bGUgd2l0aCBnZW5lcmF0ZWQgdGVtcG9yYXJ5IG5hbWUuICovCiAJCXNwcmludGYodG1wUmVs TmFtZSwgIm1lcmdlLSV1LSVYLXRtcCIsIFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgTXlQcm9j UGlkKTsKIAkJbWVyZ2VQYXJ0TmFtZSA9IG1ha2VSYW5nZVZhcihjbWQtPm5hbWUtPnNjaGVt YW5hbWUsIHRtcFJlbE5hbWUsIC0xKTsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9w YXJzZXIvcGFyc2VfdXRpbGNtZC5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxj bWQuYwppbmRleCA5OTdmOWJlZGYyLi43NTM2MmRmNTBhIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV91dGlsY21kLmMKQEAgLTM1MTMsNyArMzUxMyw3IEBAIHRyYW5zZm9ybVBhcnRpdGlv bkNtZEZvclNwbGl0KENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFBhcnRpdGlvbkNtZCAqcGFy dGNtZCkKICAqIHRyYW5zZm9ybVBhcnRpdGlvbkNtZEZvck1lcmdlCiAgKgkJQW5hbHl6ZSB0 aGUgQUxURVIgVEFCTExFIC4uLiBNRVJHRSBQQVJUSVRJT05TIGNvbW1hbmQKICAqCi0gKiBE b2VzIHNpbXBsZSBjaGVja3MgZm9yIG1lcmdlZCBwYXJ0aXRpb25zLiBDYWxjdWxhdGVzIGJv dW5kIG9mIHJlc3VsdAorICogRG9lcyBzaW1wbGUgY2hlY2tzIGZvciBtZXJnZWQgcGFydGl0 aW9ucy4gQ2FsY3VsYXRlcyBib3VuZCBvZiByZXN1bHRpbmcKICAqIHBhcnRpdGlvbi4KICAq Lwogc3RhdGljIHZvaWQKQEAgLTM1NjEsNyArMzU2MSw3IEBAIHRyYW5zZm9ybVBhcnRpdGlv bkNtZEZvck1lcmdlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFBhcnRpdGlvbkNtZCAqcGFy dGNtZCkKIAkJCWlmIChlcXVhbChuYW1lLCBuYW1lMikpCiAJCQkJZXJlcG9ydChFUlJPUiwK IAkJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX1RBQkxFKSwKLQkJCQkJCSBlcnJt c2coInBhcnRpdGlvbiB3aXRoIG5hbWUgXCIlc1wiIGFscmVhZHkgdXNlZCIsIG5hbWUtPnJl bG5hbWUpKSwKKwkJCQkJCSBlcnJtc2coInBhcnRpdGlvbiB3aXRoIG5hbWUgXCIlc1wiIGlz IGFscmVhZHkgdXNlZCIsIG5hbWUtPnJlbG5hbWUpKSwKIAkJCQkJCXBhcnNlcl9lcnJwb3Np dGlvbihjeHQtPnBzdGF0ZSwgbmFtZTItPmxvY2F0aW9uKSk7CiAJCX0KIApAQCAtMzU3NSw3 ICszNTc1LDcgQEAgdHJhbnNmb3JtUGFydGl0aW9uQ21kRm9yTWVyZ2UoQ3JlYXRlU3RtdENv bnRleHQgKmN4dCwgUGFydGl0aW9uQ21kICpwYXJ0Y21kKQogCQlwYXJ0T2lkcyA9IGxhcHBl bmRfb2lkKHBhcnRPaWRzLCBwYXJ0T2lkKTsKIAl9CiAKLQkvKiBBbGxvY2F0ZSBib3VuZCBv ZiByZXN1bHQgcGFydGl0aW9uLiAqLworCS8qIEFsbG9jYXRlIGJvdW5kIG9mIHJlc3VsdGlu ZyBwYXJ0aXRpb24uICovCiAJQXNzZXJ0KHBhcnRjbWQtPmJvdW5kID09IE5VTEwpOwogCXBh cnRjbWQtPmJvdW5kID0gbWFrZU5vZGUoUGFydGl0aW9uQm91bmRTcGVjKTsKIApkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYyBiL3NyYy9iYWNr ZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMKaW5kZXggYzBjNDliMGEwYi4uZjg5YmRi M2M4NiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMu YworKysgYi9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCkBAIC0zMjE0 LDcgKzMyMTQsNyBAQCBjaGVja19uZXdfcGFydGl0aW9uX2JvdW5kKGNoYXIgKnJlbG5hbWUs IFJlbGF0aW9uIHBhcmVudCwKIAkJCQkJCVBhcnRpdGlvblJhbmdlRGF0dW0gKmRhdHVtOwog CiAJCQkJCQkvKgotCQkJCQkJICogUG9pbnQgdG8gcHJvYmxlbWF0aWMga2V5IGluIHRoZSBs b3dlciBkYXR1bXMgbGlzdDsKKwkJCQkJCSAqIFBvaW50IHRvIHByb2JsZW1hdGljIGtleSBp biB0aGUgbGlzdCBvZiBsb3dlciBkYXR1bXM7CiAJCQkJCQkgKiBpZiB3ZSBoYXZlIGVxdWFs aXR5LCBwb2ludCB0byB0aGUgZmlyc3Qgb25lLgogCQkJCQkJICovCiAJCQkJCQlkYXR1bSA9 IGNtcHZhbCA9PSAwID8gbGluaXRpYWwoc3BlYy0+bG93ZXJkYXR1bXMpIDoKQEAgLTQ5ODYs MTAgKzQ5ODYsMTAgQEAgc2F0aXNmaWVzX2hhc2hfcGFydGl0aW9uKFBHX0ZVTkNUSU9OX0FS R1MpCiAgKiBUaGlzIGlzIGEgaGVscGVyIGZ1bmN0aW9uIGZvciBjaGVja19wYXJ0aXRpb25z X2Zvcl9zcGxpdCgpIGFuZAogICogY2FsY3VsYXRlX3BhcnRpdGlvbl9ib3VuZF9mb3JfbWVy Z2UoKS4KICAqIFRoaXMgZnVuY3Rpb24gY29tcGFyZXMgdXBwZXIgYm91bmQgb2YgZmlyc3Rf Ym91bmQgYW5kIGxvd2VyIGJvdW5kIG9mCi0gKiBzZWNvbmRfYm91bmQuIFRoZXNlIGJvdW5k cyBzaG91bGQgYmUgZXF1YWwgZXhjZXB0IGNhc2UKKyAqIHNlY29uZF9ib3VuZC4gVGhlc2Ug Ym91bmRzIHNob3VsZCBiZSBlcXVhbCBleGNlcHQgd2hlbgogICogImRlZmF1bHRQYXJ0ID09 IHRydWUiICh0aGlzIG1lYW5zIHRoYXQgb25lIG9mIHNwbGl0IHBhcnRpdGlvbnMgaXMgREVG QVVMVCkuCiAgKiBJbiB0aGlzIGNhc2UgdXBwZXIgYm91bmQgb2YgZmlyc3RfYm91bmQgY2Fu IGJlIGxlc3MgdGhhbiBsb3dlciBib3VuZCBvZgotICogc2Vjb25kX2JvdW5kIGJlY2F1c2Ug c3BhY2UgYmV0d2VlbiBvZiB0aGVzZSBib3VuZHMgd2lsbCBiZSBpbmNsdWRlZCBpbgorICog c2Vjb25kX2JvdW5kIGJlY2F1c2Ugc3BhY2UgYmV0d2VlbiB0aGVzZSBib3VuZHMgd2lsbCBi ZSBpbmNsdWRlZCBpbgogICogREVGQVVMVCBwYXJ0aXRpb24uCiAgKgogICogcGFyZW50OgkJ CXBhcnRpdGlvbmVkIHRhYmxlCkBAIC00OTk4LDcgKzQ5OTgsNyBAQCBzYXRpc2ZpZXNfaGFz aF9wYXJ0aXRpb24oUEdfRlVOQ1RJT05fQVJHUykKICAqIHNlY29uZF9uYW1lOgkJbmFtZSBv ZiBzZWNvbmQgcGFydGl0aW9uCiAgKiBzZWNvbmRfYm91bmQ6CWJvdW5kIG9mIHNlY29uZCBw YXJ0aXRpb24KICAqIGRlZmF1bHRQYXJ0OgkJdHJ1ZSBpZiBvbmUgb2Ygc3BsaXQgcGFydGl0 aW9ucyBpcyBERUZBVUxUCi0gKiBwc3RhdGU6CQkJcG9pbnRlciB0byBQYXJzZVN0YXRlIHN0 cnVjdCBmb3IgZGV0ZXJtaW5lIGVycm9yIHBvc2l0aW9uCisgKiBwc3RhdGU6CQkJcG9pbnRl ciB0byBQYXJzZVN0YXRlIHN0cnVjdCBmb3IgZGV0ZXJtaW5pbmcgZXJyb3IgcG9zaXRpb24K ICAqLwogc3RhdGljIHZvaWQKIGNoZWNrX3R3b19wYXJ0aXRpb25zX2JvdW5kc19yYW5nZShS ZWxhdGlvbiBwYXJlbnQsCkBAIC01MDIwLDcgKzUwMjAsNyBAQCBjaGVja190d29fcGFydGl0 aW9uc19ib3VuZHNfcmFuZ2UoUmVsYXRpb24gcGFyZW50LAogCXNlY29uZF9sb3dlciA9IG1h a2Vfb25lX3BhcnRpdGlvbl9yYm91bmQoa2V5LCAtMSwgc2Vjb25kX2JvdW5kLT5sb3dlcmRh dHVtcywgdHJ1ZSk7CiAKIAkvKgotCSAqIGxvd2VyMT1mYWxzZSAodGhlIHNlY29uZCB0byBs YXN0IGFyZ3VtZW50KSBmb3IgY29ycmVjdCBjb21wYXJpc29uIGxvd2VyCisJICogbG93ZXIx PWZhbHNlICh0aGUgc2Vjb25kIHRvIGxhc3QgYXJndW1lbnQpIGZvciBjb3JyZWN0IGNvbXBh cmlzb24gb2YgbG93ZXIKIAkgKiBhbmQgdXBwZXIgYm91bmRzLgogCSAqLwogCWNtcHZhbCA9 IHBhcnRpdGlvbl9yYm91bmRfY21wKGtleS0+cGFydG5hdHRzLApAQCAtNTE0MCw3ICs1MTQw LDcgQEAgZ2V0X3BhcnRpdGlvbl9ib3VuZF9zcGVjKE9pZCBwYXJ0T2lkLCBSYW5nZVZhciAq bmFtZSkKICAqCiAgKiAoZnVuY3Rpb24gZm9yIEJZIFJBTkdFIHBhcnRpdGlvbmluZykKICAq Ci0gKiBDaGVja3MgdGhhdCBib3VuZHMgb2YgbmV3IHBhcnRpdGlvbiAic3BlYyIgaXMgaW5z aWRlIGJvdW5kcyBvZiBzcGxpdAorICogQ2hlY2tzIHRoYXQgYm91bmRzIG9mIG5ldyBwYXJ0 aXRpb24gInNwZWMiIGFyZSBpbnNpZGUgYm91bmRzIG9mIHNwbGl0CiAgKiBwYXJ0aXRpb24g KHdpdGggT2lkIHNwbGl0UGFydE9pZCkuIElmIGZpcnN0PXRydWUgKHRoaXMgbWVhbnMgdGhh dCAic3BlYyIgaXMKICAqIHRoZSBmaXJzdCBvZiBuZXcgcGFydGl0aW9ucykgdGhlbiBsb3dl ciBib3VuZCBvZiAic3BlYyIgc2hvdWxkIGJlIGVxdWFsIChvcgogICogZ3JlYXRlciB0aGFu IG9yIGVxdWFsIGluIGNhc2UgZGVmYXVsdFBhcnQ9dHJ1ZSkgdG8gbG93ZXIgYm91bmQgb2Yg c3BsaXQKQEAgLTUyNzQsNyArNTI3NCw3IEBAIGNoZWNrX3BhcnRpdGlvbl9ib3VuZHNfZm9y X3NwbGl0X3JhbmdlKFJlbGF0aW9uIHBhcmVudCwKICAqCiAgKiAoZnVuY3Rpb24gZm9yIEJZ IExJU1QgcGFydGl0aW9uaW5nKQogICoKLSAqIENoZWNrcyB0aGF0IGJvdW5kcyBvZiBuZXcg cGFydGl0aW9uIGlzIGluc2lkZSBib3VuZHMgb2Ygc3BsaXQgcGFydGl0aW9uCisgKiBDaGVj a3MgdGhhdCBib3VuZHMgb2YgbmV3IHBhcnRpdGlvbiBhcmUgaW5zaWRlIGJvdW5kcyBvZiBz cGxpdCBwYXJ0aXRpb24KICAqICh3aXRoIE9pZCBzcGxpdFBhcnRPaWQpLgogICoKICAqIHBh cmVudDoJCQlwYXJ0aXRpb25lZCB0YWJsZQpAQCAtNTQ0NSw4ICs1NDQ1LDggQEAgY2hlY2tf cGFyZW50X3ZhbHVlc19pbl9uZXdfcGFydGl0aW9ucyhSZWxhdGlvbiBwYXJlbnQsCiAJQXNz ZXJ0KGtleS0+c3RyYXRlZ3kgPT0gUEFSVElUSU9OX1NUUkFURUdZX0xJU1QpOwogCiAJLyoK LQkgKiBTcGVjaWFsIHByb2Nlc3NpbmcgZm9yIE5VTEwgdmFsdWUuIFNlYXJjaCBOVUxMLXZh bHVlIGlmIGl0IGNvbnRhaW5zCi0JICogc3BsaXQgcGFydGl0aW9uIChwYXJ0T2lkKS4KKwkg KiBTcGVjaWFsIHByb2Nlc3NpbmcgZm9yIE5VTEwgdmFsdWUuIFNlYXJjaCBOVUxMIHZhbHVl IGlmIHRoZSBzcGxpdAorCSAqIHBhcnRpdGlvbiAocGFydE9pZCkgY29udGFpbnMgaXQuCiAJ ICovCiAJaWYgKHBhcnRpdGlvbl9ib3VuZF9hY2NlcHRzX251bGxzKGJvdW5kaW5mbykgJiYK IAkJcGFydGRlc2MtPm9pZHNbYm91bmRpbmZvLT5udWxsX2luZGV4XSA9PSBwYXJ0T2lkKQpA QCAtNTQ2MSw3ICs1NDYxLDcgQEAgY2hlY2tfcGFyZW50X3ZhbHVlc19pbl9uZXdfcGFydGl0 aW9ucyhSZWxhdGlvbiBwYXJlbnQsCiAKIAkvKgogCSAqIFNlYXJjaCBhbGwgdmFsdWVzIG9m IHNwbGl0IHBhcnRpdGlvbiB3aXRoIHBhcnRPaWQgaW4gUGFydGl0aW9uRGVzYyBvZgotCSAq IHBhcnRpdGlvbmRlIHRhYmxlLgorCSAqIHBhcnRpdGlvbmVkIHRhYmxlLgogCSAqLwogCWZv ciAoaSA9IDA7IGkgPCBib3VuZGluZm8tPm5kYXR1bXM7IGkrKykKIAl7CkBAIC01NDk4LDcg KzU0OTgsNyBAQCBjaGVja19wYXJlbnRfdmFsdWVzX2luX25ld19wYXJ0aXRpb25zKFJlbGF0 aW9uIHBhcmVudCwKIAogCQllcmVwb3J0KEVSUk9SLAogCQkJCShlcnJjb2RlKEVSUkNPREVf SU5WQUxJRF9PQkpFQ1RfREVGSU5JVElPTiksCi0JCQkJIGVycm1zZygibmV3IHBhcnRpdGlv bnMgbm90IGhhdmUgdmFsdWUgJXMgYnV0IHNwbGl0IHBhcnRpdGlvbiBoYXMiLAorCQkJCSBl cnJtc2coIm5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIHZhbHVlICVzIGJ1dCBzcGxpdCBw YXJ0aXRpb24gZG9lcyIsCiAJCQkJCQlzZWFyY2hOdWxsID8gIk5VTEwiIDogZ2V0X2xpc3Rf cGFydHZhbHVlX3N0cmluZyhub3RGb3VuZFZhbCkpKSk7CiAJfQogfQpAQCAtNTY0NSw3ICs1 NjQ1LDcgQEAgY2hlY2tfcGFydGl0aW9uc19mb3Jfc3BsaXQoUmVsYXRpb24gcGFyZW50LAog CXsKIAkJZXJlcG9ydChFUlJPUiwKIAkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfT0JK RUNUX0RFRklOSVRJT04pLAotCQkJCSBlcnJtc2coImFueSBwYXJ0aXRpb24gaW4gdGhlIGxp c3Qgc2hvdWxkIGJlIERFRkFVTFQgYmVjYXVzZSBzcGxpdCBwYXJ0aXRpb24gaXMgREVGQVVM VCIpKSwKKwkJCQkgZXJybXNnKCJhbGwgcGFydGl0aW9ucyBpbiB0aGUgbGlzdCBzaG91bGQg YmUgREVGQVVMVCBiZWNhdXNlIHNwbGl0IHBhcnRpdGlvbiBpcyBERUZBVUxUIikpLAogCQkJ CXBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsICgoU2luZ2xlUGFydGl0aW9uU3BlYyAqKSBs aW5pdGlhbChwYXJ0bGlzdCkpLT5uYW1lLT5sb2NhdGlvbikpOwogCX0KIAllbHNlIGlmICgh aXNTcGxpdFBhcnREZWZhdWx0ICYmIChkZWZhdWx0X2luZGV4ID49IDApICYmIE9pZElzVmFs aWQoZGVmYXVsdFBhcnRPaWQpKQpAQCAtNTcxNCw3ICs1NzE0LDcgQEAgY2hlY2tfcGFydGl0 aW9uc19mb3Jfc3BsaXQoUmVsYXRpb24gcGFyZW50LAogCQkJaWYgKGVxdWFsKHNwcy0+bmFt ZSwgc3BzMi0+bmFtZSkpCiAJCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJCShlcnJjb2RlKEVS UkNPREVfRFVQTElDQVRFX1RBQkxFKSwKLQkJCQkJCSBlcnJtc2coIm5hbWUgXCIlc1wiIGFs cmVhZHkgdXNlZCIsIHNwczItPm5hbWUtPnJlbG5hbWUpKSwKKwkJCQkJCSBlcnJtc2coIm5h bWUgXCIlc1wiIGlzIGFscmVhZHkgdXNlZCIsIHNwczItPm5hbWUtPnJlbG5hbWUpKSwKIAkJ CQkJCXBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIHNwczItPm5hbWUtPmxvY2F0aW9uKSk7 CiAJCX0KIAl9CkBAIC01ODA1LDE0ICs1ODA1LDE0IEBAIGNhbGN1bGF0ZV9wYXJ0aXRpb25f Ym91bmRfZm9yX21lcmdlKFJlbGF0aW9uIHBhcmVudCwKIAkJCQl9CiAKIAkJCQkvKgotCQkJ CSAqIExvd2VyIGJvdW5kIG9mIGZpcnN0IHBhcnRpdGlvbiBpcyBhIGxvd2VyIGJvdW5kIG9m IG1lcmdlZAorCQkJCSAqIExvd2VyIGJvdW5kIG9mIGZpcnN0IHBhcnRpdGlvbiBpcyB0aGUg bG93ZXIgYm91bmQgb2YgbWVyZ2VkCiAJCQkJICogcGFydGl0aW9uLgogCQkJCSAqLwogCQkJ CXNwZWMtPmxvd2VyZGF0dW1zID0KIAkJCQkJKChQYXJ0aXRpb25Cb3VuZFNwZWMgKikgbGlz dF9udGgoYm91bmRzLCBsb3dlcl9ib3VuZHNbMF0tPmluZGV4KSktPmxvd2VyZGF0dW1zOwog CiAJCQkJLyoKLQkJCQkgKiBVcHBlciBib3VuZCBvZiBsYXN0IHBhcnRpdGlvbiBpcyBhIHVw cGVyIGJvdW5kIG9mIG1lcmdlZAorCQkJCSAqIFVwcGVyIGJvdW5kIG9mIGxhc3QgcGFydGl0 aW9uIGlzIHRoZSB1cHBlciBib3VuZCBvZiBtZXJnZWQKIAkJCQkgKiBwYXJ0aXRpb24uCiAJ CQkJICovCiAJCQkJc3BlYy0+dXBwZXJkYXR1bXMgPQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv aXNvbGF0aW9uL3NwZWNzL3BhcnRpdGlvbi1tZXJnZS5zcGVjIGIvc3JjL3Rlc3QvaXNvbGF0 aW9uL3NwZWNzL3BhcnRpdGlvbi1tZXJnZS5zcGVjCmluZGV4IGVjNDg3MzJjNTguLmRjMmI5 ZDM0NDUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9wYXJ0aXRpb24t bWVyZ2Uuc3BlYworKysgYi9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvcGFydGl0aW9uLW1l cmdlLnNwZWMKQEAgLTM4LDcgKzM4LDcgQEAgc3RlcCBzMnMJeyBTRUxFQ1QgKiBGUk9NIHRw YXJ0OyB9CiAKIAogIyBzMiBpbnNlcnRzIHJvdyBpbnRvIHRhYmxlLiBzMSBzdGFydHMgTUVS R0UgUEFSVElUSU9OUyB0aGVuCi0jIHMyIHRyeWluZyB0byB1cGRhdGUgaW5zZXJ0ZWQgcm93 IGFuZCB3YWl0cyB1bnRpbCBzMSBmaW5pc2hlZAorIyBzMiBpcyB0cnlpbmcgdG8gdXBkYXRl IGluc2VydGVkIHJvdyBhbmQgd2FpdHMgdW50aWwgczEgZmluaXNoZXMKICMgTUVSR0Ugb3Bl cmF0aW9uLgogCiBwZXJtdXRhdGlvbiBzMmIgczJpIHMyYyBzMWIgczFtZXJnIHMyYiBzMnUg czFjIHMyYyBzMnMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFy dGl0aW9uX21lcmdlLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9u X21lcmdlLm91dAppbmRleCAyZDZhODQ3NGU3Li5jYjUwMjI5Yjg3IDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uub3V0CkBAIC0yMCwxOSAr MjAsMTkgQEAgQ1JFQVRFIFRBQkxFIHNhbGVzX2Fwcl8xIFBBUlRJVElPTiBPRiBzYWxlc19h cHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEKIENSRUFURSBUQUJMRSBzYWxl c19hcHJfMiBQQVJUSVRJT04gT0Ygc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcy MDIyLTA0LTE1JykgVE8gKCcyMDIyLTA1LTAxJyk7CiBBTFRFUiBUQUJMRSBzYWxlc19yYW5n ZSBBVFRBQ0ggUEFSVElUSU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAy Mi0wNC0wMScpIFRPICgnMjAyMi0wNS0wMScpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX290aGVy cyBQQVJUSVRJT04gT0Ygc2FsZXNfcmFuZ2UgREVGQVVMVDsKLS0tIEVSUk9SOiAgcGFydGl0 aW9uIHdpdGggbmFtZSAic2FsZXNfZmViMjAyMiIgYWxyZWFkeSB1c2VkCistLSBFUlJPUjog IHBhcnRpdGlvbiB3aXRoIG5hbWUgInNhbGVzX2ZlYjIwMjIiIGlzIGFscmVhZHkgdXNlZAog QUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfZmViMjAy Miwgc2FsZXNfbWFyMjAyMiwgc2FsZXNfZmViMjAyMikgSU5UTyBzYWxlc19mZWJfbWFyX2Fw cjIwMjI7Ci1FUlJPUjogIHBhcnRpdGlvbiB3aXRoIG5hbWUgInNhbGVzX2ZlYjIwMjIiIGFs cmVhZHkgdXNlZAorRVJST1I6ICBwYXJ0aXRpb24gd2l0aCBuYW1lICJzYWxlc19mZWIyMDIy IiBpcyBhbHJlYWR5IHVzZWQKIExJTkUgMTogLi4uZSBNRVJHRSBQQVJUSVRJT05TIChzYWxl c19mZWIyMDIyLCBzYWxlc19tYXIyMDIyLCBzYWxlc19mZWIyLi4uCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogLS0g RVJST1I6ICAic2FsZXNfYXByMjAyMiIgaXMgbm90IGFuIG9yZGluYXJ5IHRhYmxlCiBBTFRF UiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19mZWIyMDIyLCBz YWxlc19tYXIyMDIyLCBzYWxlc19hcHIyMDIyKSBJTlRPIHNhbGVzX2ZlYl9tYXJfYXByMjAy MjsKIEVSUk9SOiAgInNhbGVzX2FwcjIwMjIiIGlzIG5vdCBhbiBvcmRpbmFyeSB0YWJsZQot LS0gRVJST1I6ICBpbnZhbGlkIHBhcnRpdGlvbnMgb3JkZXIsIHBhcnRpdGlvbiAic2FsZXNf bWFyMjAyMiIgY2FuIG5vdCBiZSBtZXJnZWQKKy0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2Yg cGFydGl0aW9uICJzYWxlc19tYXIyMDIyIiBjb25mbGljdHMgd2l0aCB1cHBlciBib3VuZCBv ZiBwcmV2aW91cyBwYXJ0aXRpb24gInNhbGVzX2phbjIwMjIiCiAtLSAoc3BhY2UgYmV0d2Vl biBzZWN0aW9ucyBzYWxlc19qYW4yMDIyIGFuZCBzYWxlc19tYXIyMDIyKQogQUxURVIgVEFC TEUgc2FsZXNfcmFuZ2UgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfamFuMjAyMiwgc2FsZXNf bWFyMjAyMikgSU5UTyBzYWxlc19qYW5fbWFyMjAyMjsKIEVSUk9SOiAgbG93ZXIgYm91bmQg b2YgcGFydGl0aW9uICJzYWxlc19tYXIyMDIyIiBjb25mbGljdHMgd2l0aCB1cHBlciBib3Vu ZCBvZiBwcmV2aW91cyBwYXJ0aXRpb24gInNhbGVzX2phbjIwMjIiCi0tLSBFUlJPUjogIGlu dmFsaWQgcGFydGl0aW9ucyBvcmRlciwgcGFydGl0aW9uICJzYWxlc19qYW4yMDIyIiBjYW4g bm90IGJlIG1lcmdlZAorLS0gRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRpb24gInNh bGVzX2phbjIwMjIiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBh cnRpdGlvbiAic2FsZXNfZGVjMjAyMSIKIC0tIChzcGFjZSBiZXR3ZWVuIHNlY3Rpb25zIHNh bGVzX2RlYzIwMjEgYW5kIHNhbGVzX2phbjIwMjIpCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5n ZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19kZWMyMDIxLCBzYWxlc19qYW4yMDIyLCBzYWxl c19mZWIyMDIyKSBJTlRPIHNhbGVzX2RlY19qYW5fZmViMjAyMjsKIEVSUk9SOiAgbG93ZXIg Ym91bmQgb2YgcGFydGl0aW9uICJzYWxlc19qYW4yMDIyIiBjb25mbGljdHMgd2l0aCB1cHBl ciBib3VuZCBvZiBwcmV2aW91cyBwYXJ0aXRpb24gInNhbGVzX2RlYzIwMjEiCkBAIC01Miw3 ICs1Miw3IEBAIFNFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgYy5yZWxraW5k LCBpbmhkZXRhY2hwZW5kaW5nLCBwZ19jYXRhbG9nLnBnX2dlCiAKIERST1AgVEFCTEUgc2Fs ZXNfcmFuZ2U7CiAtLQotLS0gQWRkIHJvd3MgaW50byBwYXJ0aXRpb25lZCB0YWJsZSB0aGVu IG1lcmdlIHBhcnRpdGlvbnMKKy0tIEFkZCByb3dzIGludG8gcGFydGl0aW9uZWQgdGFibGUs IHRoZW4gbWVyZ2UgcGFydGl0aW9ucwogLS0KIENSRUFURSBUQUJMRSBzYWxlc19yYW5nZSAo c2FsZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1lIFZBUkNIQVIoMzApLCBzYWxlc19hbW91 bnQgSU5ULCBzYWxlc19kYXRlIERBVEUpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2FsZXNfZGF0 ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfamFuMjAyMiBQQVJUSVRJT04gT0Ygc2FsZXNfcmFu Z2UgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMS0wMScpIFRPICgnMjAyMi0wMi0wMScpOwpA QCAtMTYyLDcgKzE2Miw3IEBAIFNFTEVDVCAqIEZST00gc2FsZXNfb3RoZXJzOwogICAgICAg ICAgIDE0IHwgU21pdGggICAgICAgICB8ICAgICAgICAgIDUxMCB8IDA1LTA0LTIwMjIKICgx IHJvdykKIAotLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzCistLSBVc2UgaW5k ZXhzY2FuIGZvciB0ZXN0aW5nIGluZGV4ZXMKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsK IFNFTEVDVCAqIEZST00gc2FsZXNfZmViX21hcl9hcHIyMDIyIHdoZXJlIHNhbGVzX2RhdGUg PiAnMjAyMi0wMS0wMSc7CiAgc2FsZXNtYW5faWQgfCBzYWxlc21hbl9uYW1lIHwgc2FsZXNf YW1vdW50IHwgc2FsZXNfZGF0ZSAKQEAgLTcwNCw3ICs3MDQsNyBAQCBTRUxFQ1QgKiBGUk9N IHNhbGVzX2FsbDsKICAgICAgICAgICAxMyB8IEdhbmRpICAgICAgICAgfCBXYXJzYXcgICAg ICB8ICAgICAgICAgIDE1MCB8IDAzLTA4LTIwMjIKICgxMCByb3dzKQogCi0tLSBVc2UgaW5k ZXhzY2FuIGZvciB0ZXN0IGluZGV4ZXMgYWZ0ZXIgbWVyZ2UgcGFydGl0aW9ucworLS0gVXNl IGluZGV4c2NhbiBmb3IgdGVzdGluZyBpbmRleGVzIGFmdGVyIG1lcmdpbmcgcGFydGl0aW9u cwogU0VUIGVuYWJsZV9zZXFzY2FuID0gT0ZGOwogU0VMRUNUICogRlJPTSBzYWxlc19hbGwg V0hFUkUgc2FsZXNfc3RhdGUgPSAnV2Fyc2F3JzsKICBzYWxlc21hbl9pZCB8IHNhbGVzbWFu X25hbWUgfCBzYWxlc19zdGF0ZSB8IHNhbGVzX2Ftb3VudCB8IHNhbGVzX2RhdGUgCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9zcGxpdC5vdXQg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9zcGxpdC5vdXQKaW5kZXgg M2QyMjA4M2U0MS4uNDZmMDIwMTNiZSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvcGFydGl0aW9uX3NwbGl0Lm91dApAQCAtNDMsNyArNDMsNyBAQCBFUlJPUjogIGVt cHR5IHJhbmdlIGJvdW5kIHNwZWNpZmllZCBmb3IgcGFydGl0aW9uICJzYWxlc19tYXIyMDIy IgogTElORSAzOiAgICBQQVJUSVRJT04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVTIEZST00g KCcyMDIyLTAzLTAxJykgVE8uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCiBERVRBSUw6ICBTcGVjaWZpZWQgbG93ZXIgYm91bmQg KCcwMy0wMS0yMDIyJykgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHVwcGVyIGJvdW5k ICgnMDItMDEtMjAyMicpLgotLS1FUlJPUjogIGxpc3Qgb2Ygc3BsaXQgcGFydGl0aW9ucyBz aG91bGQgY29udGFpbnMgYXQgbGVhc3QgdHdvIGl0ZW1zCistLUVSUk9SOiAgbGlzdCBvZiBz cGxpdCBwYXJ0aXRpb25zIHNob3VsZCBjb250YWluIGF0IGxlYXN0IHR3byBpdGVtcwogQUxU RVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXBy MjAyMiBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00g KCcyMDIyLTAyLTAxJykgVE8gKCcyMDIyLTEwLTAxJykpOwogRVJST1I6ICBsaXN0IG9mIG5l dyBwYXJ0aXRpb25zIHNob3VsZCBjb250YWluIGF0IGxlYXN0IHR3byBpdGVtcwpAQCAtNTUs MjEgKzU1LDIxIEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBz YWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0 aXRpb24gInNhbGVzX2ZlYjIwMjIiIGlzIGxlc3MgdGhhbiBsb3dlciBib3VuZCBvZiBzcGxp dCBwYXJ0aXRpb24KIExJTkUgMjogICAoUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZB TFVFUyBGUk9NICgnMjAyMi0wMS0wMScpIFRPLi4uCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgotLS0gRVJST1I6ICBuYW1lICJzYWxl c19mZWJfbWFyX2FwcjIwMjIiIGFscmVhZHkgdXNlZAorLS0gRVJST1I6ICBuYW1lICJzYWxl c19mZWJfbWFyX2FwcjIwMjIiIGlzIGFscmVhZHkgdXNlZAogLS0gKFdlIGNhbiBjcmVhdGUg cGFydGl0aW9uIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBzcGxpdCBwYXJ0aXRpb24sIGJ1dCBj YW4ndCBjcmVhdGUgdHdvIHBhcnRpdGlvbnMgd2l0aCB0aGUgc2FtZSBuYW1lKQogQUxURVIg VEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAy MiBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIEZPUiBWQUxVRVMg RlJPTSAoJzIwMjItMDItMDEnKSBUTyAoJzIwMjItMDMtMDEnKSwKICAgIFBBUlRJVElPTiBz YWxlc19mZWJfbWFyX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRP ICgnMjAyMi0wNC0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVF UyBGUk9NICgnMjAyMi0wNC0wMScpIFRPICgnMjAyMi0wNS0wMScpKTsKLUVSUk9SOiAgbmFt ZSAic2FsZXNfZmViX21hcl9hcHIyMDIyIiBhbHJlYWR5IHVzZWQKK0VSUk9SOiAgbmFtZSAi c2FsZXNfZmViX21hcl9hcHIyMDIyIiBpcyBhbHJlYWR5IHVzZWQKIExJTkUgMzogICAgUEFS VElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAz Li4uCiAgICAgICAgICAgICAgICAgICAgICBeCi0tLSBFUlJPUjogIG5hbWUgInNhbGVzX2Zl YjIwMjIiIGFscmVhZHkgdXNlZAorLS0gRVJST1I6ICBuYW1lICJzYWxlc19mZWIyMDIyIiBp cyBhbHJlYWR5IHVzZWQKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElP TiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2ZlYjIw MjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAyMi0wMy0wMScpLAog ICAgUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0w MScpIFRPICgnMjAyMi0wNC0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX2FwcjIwMjIgRk9S IFZBTFVFUyBGUk9NICgnMjAyMi0wNC0wMScpIFRPICgnMjAyMi0wNS0wMScpKTsKLUVSUk9S OiAgbmFtZSAic2FsZXNfZmViMjAyMiIgYWxyZWFkeSB1c2VkCitFUlJPUjogIG5hbWUgInNh bGVzX2ZlYjIwMjIiIGlzIGFscmVhZHkgdXNlZAogTElORSAzOiAgICBQQVJUSVRJT04gc2Fs ZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAzLTAxJykgVE8uLi4KICAgICAg ICAgICAgICAgICAgICAgIF4KIC0tIEVSUk9SOiAgInNhbGVzX2ZlYl9tYXJfYXByMjAyMiIg aXMgbm90IGEgcGFydGl0aW9uZWQgdGFibGUKQEAgLTg2LDcgKzg2LDcgQEAgQUxURVIgVEFC TEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBJ TlRPCiBFUlJPUjogIHVwcGVyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfYXByMjAyMiIg aXMgZ3JlYXRlciB0aGFuIHVwcGVyIGJvdW5kIG9mIHNwbGl0IHBhcnRpdGlvbgogTElORSA0 OiAuLi4gc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0LTAxJykgVE8g KCcyMDIyLTA2LTAuLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi0tLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBh cnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgaXMgbm90IGVxdWFscyB0byB1cHBlciBib3VuZCBv ZiBwcmV2aW91cyBwYXJ0aXRpb24KKy0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0 aW9uICJzYWxlc19tYXIyMDIyIiBjb25mbGljdHMgd2l0aCB1cHBlciBib3VuZCBvZiBwcmV2 aW91cyBwYXJ0aXRpb24gInNhbGVzX2ZlYjIwMjIiCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5n ZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBBUlRJ VElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBUTyAo JzIwMjItMDMtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19tYXIyMDIyIEZPUiBWQUxVRVMg RlJPTSAoJzIwMjItMDItMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwKQEAgLTk2LDcgKzk2LDcg QEAgTElORSAzOiAgICBQQVJUSVRJT04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVTIEZST00g KCcyMDIyLTAyLTAxJykgVE8uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCiAtLSBUZXN0cyBmb3Igc3BhY2VzIGJldHdlZW4gcGFy dGl0aW9ucywgdGhlbSBzaG91bGQgYmUgZXhlY3V0ZWQgd2l0aG91dCBERUZBVUxUIHBhcnRp dGlvbgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgREVUQUNIIFBBUlRJVElPTiBzYWxlc19v dGhlcnM7Ci0tLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfZmVi MjAyMiIgaXMgbm90IGVxdWFscyB0byBsb3dlciBib3VuZCBvZiBzcGxpdCBwYXJ0aXRpb24K Ky0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19mZWIyMDIyIiBp cyBub3QgZXF1YWwgdG8gbG93ZXIgYm91bmQgb2Ygc3BsaXQgcGFydGl0aW9uCiBBTFRFUiBU QUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIy IElOVE8KICAgKFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIw MjItMDItMDInKSBUTyAoJzIwMjItMDMtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19tYXIy MDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDMtMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwK QEAgLTE5MSw3ICsxOTEsNyBAQCBTRUxFQ1QgKiBGUk9NIHNhbGVzX290aGVyczsKIAogRFJP UCBUQUJMRSBzYWxlc19yYW5nZSBDQVNDQURFOwogLS0KLS0tIEFkZCBzcGxpdCBwYXJ0aXRp b24gdGhlbiBhZGQgcm93cyBpbnRvIHBhcnRpdGlvbmVkIHRhYmxlCistLSBBZGQgc3BsaXQg cGFydGl0aW9uLCB0aGVuIGFkZCByb3dzIGludG8gcGFydGl0aW9uZWQgdGFibGUKIC0tCiBD UkVBVEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElOVCwgc2FsZXNtYW5fbmFt ZSBWQVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBEQVRFKSBQQVJU SVRJT04gQlkgUkFOR0UgKHNhbGVzX2RhdGUpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX2phbjIw MjIgUEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDEt MDEnKSBUTyAoJzIwMjItMDItMDEnKTsKQEAgLTM5NCw3ICszOTQsNyBAQCBMSU5FIDE6IFNF TEVDVCAqIEZST00gc2FsZXNfamFuX2ZlYjIwMjI7CiAgICAgICAgICAgICAgICAgICAgICAg XgogRFJPUCBUQUJMRSBzYWxlc19kYXRlIENBU0NBREU7CiAtLQotLS0gVGVzdDogc3BsaXQg REVGQVVMVCBwYXJ0aXRpb247IHVzaW5nIGEgaW5kZXggb24gcGFydGl0aW9uIGtleTsgY2hl Y2sgaW5kZXggYWZ0ZXIgc3BsaXQKKy0tIFRlc3Q6IHNwbGl0IERFRkFVTFQgcGFydGl0aW9u OyB1c2UgYW4gaW5kZXggb24gcGFydGl0aW9uIGtleTsgY2hlY2sgaW5kZXggYWZ0ZXIgc3Bs aXQKIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElOVCwgc2Fs ZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBE QVRFKSBQQVJUSVRJT04gQlkgUkFOR0UgKHNhbGVzX2RhdGUpOwogQ1JFQVRFIFRBQkxFIHNh bGVzX2phbjIwMjIgUEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIEZPUiBWQUxVRVMgRlJPTSAo JzIwMjItMDEtMDEnKSBUTyAoJzIwMjItMDItMDEnKTsKQEAgLTQ0MSw3ICs0NDEsNyBAQCBB TFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIElO VE8KICAgIFBBUlRJVElPTiBzYWxlc19tYXIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjIt MDMtMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19hcHIyMDIy IEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAoJzIwMjItMDUtMDEnKSwKICAg IFBBUlRJVElPTiBzYWxlc19vdGhlcnMgREVGQVVMVCk7Ci0tLSBVc2UgaW5kZXhzY2FuIGZv ciB0ZXN0IGluZGV4ZXMKKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcwog U0VUIGVuYWJsZV9pbmRleHNjYW4gPSBPTjsKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsK IFNFTEVDVCAqIEZST00gc2FsZXNfZmViMjAyMiB3aGVyZSBzYWxlc19kYXRlID4gJzIwMjIt MDEtMDEnOwpAQCAtNTAzLDcgKzUwMyw3IEBAIFNFTEVDVCAqIEZST00gcGdfaW5kZXhlcyBX SEVSRSB0YWJsZW5hbWUgPSAnc2FsZXNfb3RoZXJzJyBhbmQgc2NoZW1hbmFtZSA9ICdwYXJ0 CiAKIERST1AgVEFCTEUgc2FsZXNfcmFuZ2UgQ0FTQ0FERTsKIC0tCi0tLSBUZXN0OiBzb21l IGNhc2VzIGZvciBzcGxpdCBERUZBVUxUIHBhcnRpdGlvbiAoZGlmZmVyZW50IGJvdW5kcykK Ky0tIFRlc3Q6IHNvbWUgY2FzZXMgZm9yIHNwbGl0dGluZyBERUZBVUxUIHBhcnRpdGlvbiAo ZGlmZmVyZW50IGJvdW5kcykKIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVz bWFuX2lkIElOVCwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElO VCwgc2FsZXNfZGF0ZSBJTlQpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2FsZXNfZGF0ZSk7CiBD UkVBVEUgVEFCTEUgc2FsZXNfb3RoZXJzIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBERUZB VUxUOwpAQCAtNTM3LDcgKzUzNyw3IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElU IFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogRVJST1I6ICBsb3dlciBib3VuZCBvZiBw YXJ0aXRpb24gInNhbGVzX2Vycm9yIiBjb25mbGljdHMgd2l0aCB1cHBlciBib3VuZCBvZiBw cmV2aW91cyBwYXJ0aXRpb24gInNhbGVzX2RlYzIwMjIiCiBMSU5FIDM6ICAgIFBBUlRJVElP TiBzYWxlc19lcnJvciBGT1IgVkFMVUVTIEZST00gKDIwMjExMjEwKSBUTyAoMjAyMS4uLgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi0t LSBzYWxlc19lcnJvciBpbnRlcnNlY3RzIHdpdGggc2FsZXNfZGVjMjAyMiAoZXhhY3QgdGhl IHNhbWUgYm91bmRzKQorLS0gc2FsZXNfZXJyb3IgaW50ZXJzZWN0cyB3aXRoIHNhbGVzX2Rl YzIwMjIgKGV4YWN0bHkgdGhlIHNhbWUgYm91bmRzKQogLS0gRVJST1I6ICBsb3dlciBib3Vu ZCBvZiBwYXJ0aXRpb24gInNhbGVzX2Vycm9yIiBjb25mbGljdHMgd2l0aCB1cHBlciBib3Vu ZCBvZiBwcmV2aW91cyBwYXJ0aXRpb24gInNhbGVzX2RlYzIwMjIiCiBBTFRFUiBUQUJMRSBz YWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIElOVE8KICAgKFBBUlRJ VElPTiBzYWxlc19kZWMyMDIyIEZPUiBWQUxVRVMgRlJPTSAoMjAyMTEyMDEpIFRPICgyMDIy MDEwMSksCkBAIC01NDcsMTUgKzU0NywxNSBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBT UExJVCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIElOVE8KIEVSUk9SOiAgbG93ZXIgYm91bmQg b2YgcGFydGl0aW9uICJzYWxlc19lcnJvciIgY29uZmxpY3RzIHdpdGggdXBwZXIgYm91bmQg b2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19kZWMyMDIyIgogTElORSAzOiAgICBQQVJU SVRJT04gc2FsZXNfZXJyb3IgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8gKDIwMjIu Li4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgotLS0gRVJST1I6ICBhbnkgcGFydGl0aW9uIGluIHRoZSBsaXN0IHNob3VsZCBiZSBERUZB VUxUIGJlY2F1c2Ugc3BsaXQgcGFydGl0aW9uIGlzIERFRkFVTFQKKy0tIEVSUk9SOiAgYWxs IHBhcnRpdGlvbnMgaW4gdGhlIGxpc3Qgc2hvdWxkIGJlIERFRkFVTFQgYmVjYXVzZSBzcGxp dCBwYXJ0aXRpb24gaXMgREVGQVVMVAogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQg UEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZGVjMjAy MiBGT1IgVkFMVUVTIEZST00gKDIwMjExMjAxKSBUTyAoMjAyMjAxMDEpLAogICAgUEFSVElU SU9OIHNhbGVzX2phbjIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIyMDEwMSkgVE8gKDIwMjIw MjAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoMjAy MjAyMDEpIFRPICgyMDIyMDMwMSkpOwotRVJST1I6ICBhbnkgcGFydGl0aW9uIGluIHRoZSBs aXN0IHNob3VsZCBiZSBERUZBVUxUIGJlY2F1c2Ugc3BsaXQgcGFydGl0aW9uIGlzIERFRkFV TFQKK0VSUk9SOiAgYWxsIHBhcnRpdGlvbnMgaW4gdGhlIGxpc3Qgc2hvdWxkIGJlIERFRkFV TFQgYmVjYXVzZSBzcGxpdCBwYXJ0aXRpb24gaXMgREVGQVVMVAogTElORSAyOiAgIChQQVJU SVRJT04gc2FsZXNfZGVjMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjExMjAxKSBUTyAoMjAu Li4KICAgICAgICAgICAgICAgICAgICAgIF4KLS0tIG5vIGVycm9yOiBib3VuZHMgb2Ygc2Fs ZXNfbm9lcnJvciBiZXR3ZWVuIHNhbGVzX2RlYzIwMjIgYW5kIHNhbGVzX2ZlYjIwMjIKKy0t IG5vIGVycm9yOiBib3VuZHMgb2Ygc2FsZXNfbm9lcnJvciBhcmUgYmV0d2VlbiBzYWxlc19k ZWMyMDIyIGFuZCBzYWxlc19mZWIyMDIyCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJ VCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIElOVE8KICAgKFBBUlRJVElPTiBzYWxlc19kZWMy MDIyIEZPUiBWQUxVRVMgRlJPTSAoMjAyMTEyMDEpIFRPICgyMDIyMDEwMSksCiAgICBQQVJU SVRJT04gc2FsZXNfbm9lcnJvciBGT1IgVkFMVUVTIEZST00gKDIwMjIwMTEwKSBUTyAoMjAy MjAxMjApLApAQCAtNTY0LDcgKzU2NCw3IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQ TElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogRFJPUCBUQUJMRSBzYWxlc19yYW5n ZTsKIENSRUFURSBUQUJMRSBzYWxlc19yYW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxlc21h bl9uYW1lIFZBUkNIQVIoMzApLCBzYWxlc19hbW91bnQgSU5ULCBzYWxlc19kYXRlIElOVCkg UEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19kYXRlKTsKIENSRUFURSBUQUJMRSBzYWxlc19v dGhlcnMgUEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIERFRkFVTFQ7Ci0tLSBubyBlcnJvcjog Ym91bmRzIG9mIHNhbGVzX25vZXJyb3IgZXF1YWxzIHRvIGxvd2VyIGFuZCB1cHBlciBib3Vu ZHMgb2Ygc2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNfZmViMjAyMgorLS0gbm8gZXJyb3I6IGJv dW5kcyBvZiBzYWxlc19ub2Vycm9yIGFyZSBlcXVhbCB0byBsb3dlciBhbmQgdXBwZXIgYm91 bmRzIG9mIHNhbGVzX2RlYzIwMjIgYW5kIHNhbGVzX2ZlYjIwMjIKIEFMVEVSIFRBQkxFIHNh bGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAoUEFSVElU SU9OIHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8gKDIwMjIw MTAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19ub2Vycm9yIEZPUiBWQUxVRVMgRlJPTSAoMjAy MTAxMDEpIFRPICgyMDIxMDIwMSksCkBAIC02MTYsNyArNjE2LDcgQEAgU0VMRUNUIHBnX2dl dF9jb25zdHJhaW50ZGVmKG9pZCksIGNvbm5hbWUsIGNvbmtleSBGUk9NIHBnX2NvbnN0cmFp bnQgV0hFUkUgY29ucmUKICBGT1JFSUdOIEtFWSAoc2FsZXNtYW5faWQpIFJFRkVSRU5DRVMg c2FsZXNtYW5zKHNhbGVzbWFuX2lkKSB8IHNhbGVzX3JhbmdlX3NhbGVzbWFuX2lkX2ZrZXkg ICB8IHsxfQogKDIgcm93cykKIAotLS0gRVJST1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAi c2FsZXNfbWFyMjAyMiIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAic2FsZXNfcmFuZ2Vf c2FsZXNtYW5faWRfY2hlY2siCistLSBFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJz YWxlc19tYXIyMDIyIiB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJzYWxlc19yYW5nZV9z YWxlc19hbW91bnRfY2hlY2siCiBJTlNFUlQgSU5UTyBzYWxlc19yYW5nZSBWQUxVRVMgKDEs IDAsICcyMDIyLTAzLTExJyk7CiBFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJzYWxl c19tYXIyMDIyIiB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJzYWxlc19yYW5nZV9zYWxl c19hbW91bnRfY2hlY2siCiBERVRBSUw6ICBGYWlsaW5nIHJvdyBjb250YWlucyAoMSwgMCwg MDMtMTEtMjAyMikuCkBAIC02MjksNyArNjI5LDcgQEAgSU5TRVJUIElOVE8gc2FsZXNfcmFu Z2UgVkFMVUVTICgxLCAxMCwgJzIwMjItMDMtMTEnKTsKIERST1AgVEFCTEUgc2FsZXNfcmFu Z2UgQ0FTQ0FERTsKIERST1AgVEFCTEUgc2FsZXNtYW5zIENBU0NBREU7CiAtLQotLS0gVGVz dDogc3BsaXQgcGFydGl0aW9uIG9uIHBhcnRpdGlvbmVkIHRhYmxlIGluIGNhc2UgZXhpc3Rz IEZPUkVJR04gS0VZIHJlZmVyZW5jZSBmcm9tIGFub3RoZXIgdGFibGUKKy0tIFRlc3Q6IHNw bGl0IHBhcnRpdGlvbiBvbiBwYXJ0aXRpb25lZCB0YWJsZSBpbiBjYXNlIG9mIGV4aXN0aW5n IEZPUkVJR04gS0VZIHJlZmVyZW5jZSBmcm9tIGFub3RoZXIgdGFibGUKIC0tCiBDUkVBVEUg VEFCTEUgc2FsZXNtYW5zKHNhbGVzbWFuX2lkIElOVCBQUklNQVJZIEtFWSwgc2FsZXNtYW5f bmFtZSBWQVJDSEFSKDMwKSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc21hbl9pZCk7CiBD UkVBVEUgVEFCTEUgc2FsZXMgKHNhbGVzbWFuX2lkIElOVCBSRUZFUkVOQ0VTIHNhbGVzbWFu cyhzYWxlc21hbl9pZCksIHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVzX2RhdGUgREFURSk7CkBA IC03NzAsMTEgKzc3MCwxMSBAQCBEUk9QIFRBQkxFIHNhbGVzbWFucyBDQVNDQURFOwogRFJP UCBGVU5DVElPTiBhZnRlcl9pbnNlcnRfcm93X3RyaWdnZXIoKTsKIC0tCiAtLSBUZXN0OiBz cGxpdCBwYXJ0aXRpb24gd2l0Y2ggaWRlbnRpdHkgY29sdW1uCi0tLSBJZiBzcGxpdCBwYXJ0 aXRpb24gY29sdW1uIGlzIGlkZW50aXR5LWNvbHVtbiwgY29sdW1ucyBvZiBuZXcgcGFydGl0 aW9ucyBhcmUgaWRlbnRpdHktY29sdW1ucyB0b28uCistLSBJZiBzcGxpdCBwYXJ0aXRpb24g Y29sdW1uIGlzIGlkZW50aXR5IGNvbHVtbiwgY29sdW1ucyBvZiBuZXcgcGFydGl0aW9ucyBh cmUgaWRlbnRpdHkgY29sdW1ucyB0b28uCiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzbWFucyhz YWxlc21hbl9pZCBJTlQgR0VORVJBVEVEIEFMV0FZUyBBUyBJREVOVElUWSBQUklNQVJZIEtF WSwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxl c21hbl9pZCk7CiBDUkVBVEUgVEFCTEUgc2FsZXNtYW5zMV8yIFBBUlRJVElPTiBPRiBzYWxl c21hbnMgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMik7Ci0tLSBDcmVhdGUgbmV3IHBhcnRp dGlvbiB3aXRoIGlkZW50aXR5LWNvbHVtbjoKKy0tIENyZWF0ZSBuZXcgcGFydGl0aW9uIHdp dGggaWRlbnRpdHkgY29sdW1uOgogQ1JFQVRFIFRBQkxFIHNhbGVzbWFuczJfNShzYWxlc21h bl9pZCBJTlQgTk9UIE5VTEwsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCkpOwogQUxURVIg VEFCTEUgc2FsZXNtYW5zIEFUVEFDSCBQQVJUSVRJT04gc2FsZXNtYW5zMl81IEZPUiBWQUxV RVMgRlJPTSAoMikgVE8gKDUpOwogSU5TRVJUIElOVE8gc2FsZXNtYW5zIChzYWxlc21hbl9u YW1lKSBWQUxVRVMgKCdQb2lyb3QnKTsKQEAgLTc5Myw3ICs3OTMsNyBAQCBTRUxFQ1QgYXR0 bmFtZSwgYXR0aWRlbnRpdHksIGF0dGdlbmVyYXRlZCBGUk9NIHBnX2F0dHJpYnV0ZSBXSEVS RSBhdHRudW0gPiAwIEFORAogIHNhbGVzbWFuX25hbWUgfCAgICAgICAgICAgICB8IAogKDIg cm93cykKIAotLS0gU3BsaXQgcGFydGl0aW9uIGhhcyBpZGVudGl0eS1jb2x1bW46CistLSBT cGxpdCBwYXJ0aXRpb24gaGFzIGlkZW50aXR5IGNvbHVtbjoKIFNFTEVDVCBhdHRuYW1lLCBh dHRpZGVudGl0eSwgYXR0Z2VuZXJhdGVkIEZST00gcGdfYXR0cmlidXRlIFdIRVJFIGF0dG51 bSA+IDAgQU5EIGF0dHJlbGlkID0gJ3NhbGVzbWFuczJfNSc6OnJlZ2NsYXNzOjpvaWQ7CiAg ICAgYXR0bmFtZSAgICB8IGF0dGlkZW50aXR5IHwgYXR0Z2VuZXJhdGVkIAogLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0KQEAgLTEwMzYsNyArMTAzNiw3 IEBAIFBBUlRJVElPTiBCWSBMSVNUIChzYWxlc19zdGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2Fs ZXNfbm9yZCBQQVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBGT1IgVkFMVUVTIElOICgnT3Nsbycs ICdTdC4gUGV0ZXJzYnVyZycsICdIZWxzaW5raScpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX2Fs bCBQQVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBGT1IgVkFMVUVTIElOICgnV2Fyc2F3JywgJ0xp c2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQnLCAnQmVqaW5nJywgJ0JlcmxpbicsICdEZWxo aScsICdLeWl2JywgJ1ZsYWRpdm9zdG9rJyk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfb3RoZXJz IFBBUlRJVElPTiBPRiBzYWxlc19saXN0IERFRkFVTFQ7Ci0tLSBFUlJPUjogIHBhcnRpdGlv biAic2FsZXNfZWFzdCIgd291bGQgb3ZlcmxhcCBwYXJ0aXRpb24gInNhbGVzX25vcmQiCist LSBFUlJPUjogIG5ldyBwYXJ0aXRpb24gInNhbGVzX2Vhc3QiIHdvdWxkIG92ZXJsYXAgd2l0 aCBhbm90aGVyIChub3Qgc3BsaXQpIHBhcnRpdGlvbiAic2FsZXNfbm9yZCIKIEFMVEVSIFRB QkxFIHNhbGVzX2xpc3QgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2FsbCBJTlRPCiAgIChQQVJU SVRJT04gc2FsZXNfd2VzdCBGT1IgVkFMVUVTIElOICgnTGlzYm9uJywgJ05ldyBZb3JrJywg J01hZHJpZCcpLAogICAgUEFSVElUSU9OIHNhbGVzX2Vhc3QgRk9SIFZBTFVFUyBJTiAoJ0Jl amluZycsICdEZWxoaScsICdWbGFkaXZvc3RvaycsICdIZWxzaW5raScpLApAQCAtMTA2Myw4 ICsxMDYzLDggQEAgTElORSAyOiAuLi5zX3dlc3QgRk9SIFZBTFVFUyBJTiAoJ0xpc2Jvbics ICdOZXcgWW9yaycsICdNYWRyaWQnLCBOVUxMKSwKIERST1AgVEFCTEUgc2FsZXNfbGlzdDsK IC0tCiAtLSBUZXN0OiB0d28gc3BlY2lmaWMgZXJyb3JzIGZvciBCWSBMSVNUIHBhcnRpdGlv bmluZzoKLS0tICAgKiBuZXcgcGFydGl0aW9ucyBub3QgaGFzIE5VTEwgdmFsdWUgdGhhdCBz cGxpdCBwYXJ0aXRpb24gaGFzLgotLS0gICAqIG5ldyBwYXJ0aXRpb25zIG5vdCBoYXMgYSB2 YWx1ZSB0aGF0IHNwbGl0IHBhcnRpdGlvbiBoYXMuCistLSAgICogbmV3IHBhcnRpdGlvbnMg ZG8gbm90IGhhdmUgTlVMTCB2YWx1ZSwgd2hpY2ggc3BsaXQgcGFydGl0aW9uIGhhcy4KKy0t ICAgKiBuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2ZSBhIHZhbHVlIHRoYXQgc3BsaXQgcGFy dGl0aW9uIGhhcy4KIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNfbGlzdAogKHNhbGVzbWFuX2lk IElOVCwKQEAgLTEwNzUsMTggKzEwNzUsMTggQEAgQ1JFQVRFIFRBQkxFIHNhbGVzX2xpc3QK IFBBUlRJVElPTiBCWSBMSVNUIChzYWxlc19zdGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNf bm9yZCBQQVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBGT1IgVkFMVUVTIElOICgnSGVsc2lua2kn LCAnU3QuIFBldGVyc2J1cmcnLCAnT3NsbycpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX2FsbCBQ QVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBGT1IgVkFMVUVTIElOICgnV2Fyc2F3JywgJ0xpc2Jv bicsICdOZXcgWW9yaycsICdNYWRyaWQnLCAnQmVqaW5nJywgJ0JlcmxpbicsICdEZWxoaScs ICdLeWl2JywgJ1ZsYWRpdm9zdG9rJywgTlVMTCk7Ci0tLSBFUlJPUjogIG5ldyBwYXJ0aXRp b25zIG5vdCBoYXZlIHZhbHVlIE5VTEwgYnV0IHNwbGl0IHBhcnRpdGlvbiBoYXMKKy0tIEVS Uk9SOiAgbmV3IHBhcnRpdGlvbnMgZG8gbm90IGhhdmUgdmFsdWUgTlVMTCBidXQgc3BsaXQg cGFydGl0aW9uIGRvZXMKIEFMVEVSIFRBQkxFIHNhbGVzX2xpc3QgU1BMSVQgUEFSVElUSU9O IHNhbGVzX2FsbCBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfd2VzdCBGT1IgVkFMVUVTIElO ICgnTGlzYm9uJywgJ05ldyBZb3JrJywgJ01hZHJpZCcpLAogICAgUEFSVElUSU9OIHNhbGVz X2Vhc3QgRk9SIFZBTFVFUyBJTiAoJ0JlamluZycsICdEZWxoaScsICdWbGFkaXZvc3Rvaycp LAogICAgUEFSVElUSU9OIHNhbGVzX2NlbnRyYWwgRk9SIFZBTFVFUyBJTiAoJ1dhcnNhdycs ICdCZXJsaW4nLCAnS3lpdicpKTsKLUVSUk9SOiAgbmV3IHBhcnRpdGlvbnMgbm90IGhhdmUg dmFsdWUgTlVMTCBidXQgc3BsaXQgcGFydGl0aW9uIGhhcwotLS0gRVJST1I6ICBuZXcgcGFy dGl0aW9ucyBub3QgaGF2ZSB2YWx1ZSAnS3lpdicgYnV0IHNwbGl0IHBhcnRpdGlvbiBoYXMK K0VSUk9SOiAgbmV3IHBhcnRpdGlvbnMgZG8gbm90IGhhdmUgdmFsdWUgTlVMTCBidXQgc3Bs aXQgcGFydGl0aW9uIGRvZXMKKy0tIEVSUk9SOiAgbmV3IHBhcnRpdGlvbnMgZG8gbm90IGhh dmUgdmFsdWUgJ0t5aXYnIGJ1dCBzcGxpdCBwYXJ0aXRpb24gZG9lcwogQUxURVIgVEFCTEUg c2FsZXNfbGlzdCBTUExJVCBQQVJUSVRJT04gc2FsZXNfYWxsIElOVE8KICAgKFBBUlRJVElP TiBzYWxlc193ZXN0IEZPUiBWQUxVRVMgSU4gKCdMaXNib24nLCAnTmV3IFlvcmsnLCAnTWFk cmlkJyksCiAgICBQQVJUSVRJT04gc2FsZXNfZWFzdCBGT1IgVkFMVUVTIElOICgnQmVqaW5n JywgJ0RlbGhpJywgJ1ZsYWRpdm9zdG9rJyksCiAgICBQQVJUSVRJT04gc2FsZXNfY2VudHJh bCBGT1IgVkFMVUVTIElOICgnV2Fyc2F3JywgJ0JlcmxpbicsIE5VTEwpKTsKLUVSUk9SOiAg bmV3IHBhcnRpdGlvbnMgbm90IGhhdmUgdmFsdWUgJ0t5aXYnIGJ1dCBzcGxpdCBwYXJ0aXRp b24gaGFzCitFUlJPUjogIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIHZhbHVlICdLeWl2 JyBidXQgc3BsaXQgcGFydGl0aW9uIGRvZXMKIERST1AgVEFCTEUgc2FsZXNfbGlzdDsKIC0t CiAtLSBUZXN0OiBCWSBMSVNUIHBhcnRpdGlvbmluZywgU1BMSVQgUEFSVElUSU9OIHdpdGgg ZGF0YQpAQCAtMTE3NCw3ICsxMTc0LDcgQEAgU0VMRUNUICogRlJPTSBzYWxlc19jZW50cmFs OwogICAgICAgICAgIDEzIHwgR2FuZGkgICAgICAgICB8IFdhcnNhdyAgICAgIHwgICAgICAg ICAgMTUwIHwgMDMtMDgtMjAyMgogKDQgcm93cykKIAotLS0gVXNlIGluZGV4c2NhbiBmb3Ig dGVzdCBpbmRleGVzIGFmdGVyIHNwbGl0IHBhcnRpdGlvbgorLS0gVXNlIGluZGV4c2NhbiBm b3IgdGVzdGluZyBpbmRleGVzIGFmdGVyIHNwbGl0dGluZyBwYXJ0aXRpb24KIFNFVCBlbmFi bGVfaW5kZXhzY2FuID0gT047CiBTRVQgZW5hYmxlX3NlcXNjYW4gPSBPRkY7CiBTRUxFQ1Qg KiBGUk9NIHNhbGVzX2NlbnRyYWwgV0hFUkUgc2FsZXNfc3RhdGUgPSAnV2Fyc2F3JzsKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fbWVyZ2Uuc3FsCmluZGV4IDhhM2MzZjRh NGIuLjY3N2Q0MDQ2NDcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRp dGlvbl9tZXJnZS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21l cmdlLnNxbApAQCAtMjYsMTQgKzI2LDE0IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIEFU VEFDSCBQQVJUSVRJT04gc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0 CiAKIENSRUFURSBUQUJMRSBzYWxlc19vdGhlcnMgUEFSVElUSU9OIE9GIHNhbGVzX3Jhbmdl IERFRkFVTFQ7CiAKLS0tIEVSUk9SOiAgcGFydGl0aW9uIHdpdGggbmFtZSAic2FsZXNfZmVi MjAyMiIgYWxyZWFkeSB1c2VkCistLSBFUlJPUjogIHBhcnRpdGlvbiB3aXRoIG5hbWUgInNh bGVzX2ZlYjIwMjIiIGlzIGFscmVhZHkgdXNlZAogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2Ug TUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfZmViMjAyMiwgc2FsZXNfbWFyMjAyMiwgc2FsZXNf ZmViMjAyMikgSU5UTyBzYWxlc19mZWJfbWFyX2FwcjIwMjI7CiAtLSBFUlJPUjogICJzYWxl c19hcHIyMDIyIiBpcyBub3QgYW4gb3JkaW5hcnkgdGFibGUKIEFMVEVSIFRBQkxFIHNhbGVz X3JhbmdlIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21hcjIwMjIs IHNhbGVzX2FwcjIwMjIpIElOVE8gc2FsZXNfZmViX21hcl9hcHIyMDIyOwotLS0gRVJST1I6 ICBpbnZhbGlkIHBhcnRpdGlvbnMgb3JkZXIsIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIg Y2FuIG5vdCBiZSBtZXJnZWQKKy0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9u ICJzYWxlc19tYXIyMDIyIiBjb25mbGljdHMgd2l0aCB1cHBlciBib3VuZCBvZiBwcmV2aW91 cyBwYXJ0aXRpb24gInNhbGVzX2phbjIwMjIiCiAtLSAoc3BhY2UgYmV0d2VlbiBzZWN0aW9u cyBzYWxlc19qYW4yMDIyIGFuZCBzYWxlc19tYXIyMDIyKQogQUxURVIgVEFCTEUgc2FsZXNf cmFuZ2UgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfamFuMjAyMiwgc2FsZXNfbWFyMjAyMikg SU5UTyBzYWxlc19qYW5fbWFyMjAyMjsKLS0tIEVSUk9SOiAgaW52YWxpZCBwYXJ0aXRpb25z IG9yZGVyLCBwYXJ0aXRpb24gInNhbGVzX2phbjIwMjIiIGNhbiBub3QgYmUgbWVyZ2VkCist LSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfamFuMjAyMiIgY29u ZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19k ZWMyMDIxIgogLS0gKHNwYWNlIGJldHdlZW4gc2VjdGlvbnMgc2FsZXNfZGVjMjAyMSBhbmQg c2FsZXNfamFuMjAyMikKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElP TlMgKHNhbGVzX2RlYzIwMjEsIHNhbGVzX2phbjIwMjIsIHNhbGVzX2ZlYjIwMjIpIElOVE8g c2FsZXNfZGVjX2phbl9mZWIyMDIyOwogCkBAIC00OCw3ICs0OCw3IEBAIFNFTEVDVCBjLm9p ZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgYy5yZWxraW5kLCBpbmhkZXRhY2hwZW5kaW5nLCBw Z19jYXRhbG9nLnBnX2dlCiBEUk9QIFRBQkxFIHNhbGVzX3JhbmdlOwogCiAtLQotLS0gQWRk IHJvd3MgaW50byBwYXJ0aXRpb25lZCB0YWJsZSB0aGVuIG1lcmdlIHBhcnRpdGlvbnMKKy0t IEFkZCByb3dzIGludG8gcGFydGl0aW9uZWQgdGFibGUsIHRoZW4gbWVyZ2UgcGFydGl0aW9u cwogLS0KIENSRUFURSBUQUJMRSBzYWxlc19yYW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxl c21hbl9uYW1lIFZBUkNIQVIoMzApLCBzYWxlc19hbW91bnQgSU5ULCBzYWxlc19kYXRlIERB VEUpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2FsZXNfZGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2Fs ZXNfamFuMjAyMiBQQVJUSVRJT04gT0Ygc2FsZXNfcmFuZ2UgRk9SIFZBTFVFUyBGUk9NICgn MjAyMi0wMS0wMScpIFRPICgnMjAyMi0wMi0wMScpOwpAQCAtOTYsNyArOTYsNyBAQCBTRUxF Q1QgKiBGUk9NIHNhbGVzX2phbjIwMjI7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2ZlYl9tYXJf YXByMjAyMjsKIFNFTEVDVCAqIEZST00gc2FsZXNfb3RoZXJzOwogCi0tLSBVc2UgaW5kZXhz Y2FuIGZvciB0ZXN0IGluZGV4ZXMKKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5k ZXhlcwogU0VUIGVuYWJsZV9zZXFzY2FuID0gT0ZGOwogCiBTRUxFQ1QgKiBGUk9NIHNhbGVz X2ZlYl9tYXJfYXByMjAyMiB3aGVyZSBzYWxlc19kYXRlID4gJzIwMjItMDEtMDEnOwpAQCAt NDE1LDcgKzQxNSw3IEBAIFNFTEVDVCAqIEZST00gc2FsZXNfbGlzdDsKIFNFTEVDVCAqIEZS T00gc2FsZXNfbm9yZDsKIFNFTEVDVCAqIEZST00gc2FsZXNfYWxsOwogCi0tLSBVc2UgaW5k ZXhzY2FuIGZvciB0ZXN0IGluZGV4ZXMgYWZ0ZXIgbWVyZ2UgcGFydGl0aW9ucworLS0gVXNl IGluZGV4c2NhbiBmb3IgdGVzdGluZyBpbmRleGVzIGFmdGVyIG1lcmdpbmcgcGFydGl0aW9u cwogU0VUIGVuYWJsZV9zZXFzY2FuID0gT0ZGOwogCiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2Fs bCBXSEVSRSBzYWxlc19zdGF0ZSA9ICdXYXJzYXcnOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvcGFydGl0aW9uX3NwbGl0LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3BhcnRpdGlvbl9zcGxpdC5zcWwKaW5kZXggNWRjMmZjMzljZC4uNTc2ZjlmMGY2MyAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX3NwbGl0LnNxbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQuc3FsCkBAIC00Miw3ICs0 Miw3IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19m ZWJfbWFyX2FwcjIwMjIgSU5UTwogICAgUEFSVElUSU9OIHNhbGVzX21hcjIwMjIgRk9SIFZB TFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRPICgnMjAyMi0wMi0wMScpLAogICAgUEFSVElU SU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wNC0wMScpIFRPICgn MjAyMi0wNS0wMScpKTsKIAotLS1FUlJPUjogIGxpc3Qgb2Ygc3BsaXQgcGFydGl0aW9ucyBz aG91bGQgY29udGFpbnMgYXQgbGVhc3QgdHdvIGl0ZW1zCistLUVSUk9SOiAgbGlzdCBvZiBz cGxpdCBwYXJ0aXRpb25zIHNob3VsZCBjb250YWluIGF0IGxlYXN0IHR3byBpdGVtcwogQUxU RVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXBy MjAyMiBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00g KCcyMDIyLTAyLTAxJykgVE8gKCcyMDIyLTEwLTAxJykpOwogCkBAIC01MiwxNCArNTIsMTQg QEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9t YXJfYXByMjAyMiBJTlRPCiAgICBQQVJUSVRJT04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVT IEZST00gKCcyMDIyLTAzLTAxJykgVE8gKCcyMDIyLTA0LTAxJyksCiAgICBQQVJUSVRJT04g c2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0LTAxJykgVE8gKCcyMDIy LTA1LTAxJykpOwogCi0tLSBFUlJPUjogIG5hbWUgInNhbGVzX2ZlYl9tYXJfYXByMjAyMiIg YWxyZWFkeSB1c2VkCistLSBFUlJPUjogIG5hbWUgInNhbGVzX2ZlYl9tYXJfYXByMjAyMiIg aXMgYWxyZWFkeSB1c2VkCiAtLSAoV2UgY2FuIGNyZWF0ZSBwYXJ0aXRpb24gd2l0aCB0aGUg c2FtZSBuYW1lIGFzIHNwbGl0IHBhcnRpdGlvbiwgYnV0IGNhbid0IGNyZWF0ZSB0d28gcGFy dGl0aW9ucyB3aXRoIHRoZSBzYW1lIG5hbWUpCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBT UExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBBUlRJVElP TiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScp IFRPICgnMjAyMi0wMy0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAy MiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAzLTAxJykgVE8gKCcyMDIyLTA0LTAxJyksCiAg ICBQQVJUSVRJT04gc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0LTAx JykgVE8gKCcyMDIyLTA1LTAxJykpOwogCi0tLSBFUlJPUjogIG5hbWUgInNhbGVzX2ZlYjIw MjIiIGFscmVhZHkgdXNlZAorLS0gRVJST1I6ICBuYW1lICJzYWxlc19mZWIyMDIyIiBpcyBh bHJlYWR5IHVzZWQKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBz YWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIg Rk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAyMi0wMy0wMScpLAogICAg UEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScp IFRPICgnMjAyMi0wNC0wMScpLApAQCAtNzcsNyArNzcsNyBAQCBBTFRFUiBUQUJMRSBzYWxl c19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAg IFBBUlRJVElPTiBzYWxlc19tYXIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDMtMDEn KSBUTyAoJzIwMjItMDQtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19hcHIyMDIyIEZPUiBW QUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAoJzIwMjItMDYtMDEnKSk7CiAKLS0tIEVS Uk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19tYXIyMDIyIiBpcyBub3Qg ZXF1YWxzIHRvIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRpdGlvbgorLS0gRVJST1I6 ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVzX21hcjIwMjIiIGNvbmZsaWN0cyB3 aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRpdGlvbiAic2FsZXNfZmViMjAyMiIK IEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19mZWJfbWFy X2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBG Uk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAyMi0wMy0wMScpLAogICAgUEFSVElUSU9OIHNh bGVzX21hcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAyMi0w NC0wMScpLApAQCAtODYsNyArODYsNyBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJ VCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KIC0tIFRlc3RzIGZvciBz cGFjZXMgYmV0d2VlbiBwYXJ0aXRpb25zLCB0aGVtIHNob3VsZCBiZSBleGVjdXRlZCB3aXRo b3V0IERFRkFVTFQgcGFydGl0aW9uCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBERVRBQ0gg UEFSVElUSU9OIHNhbGVzX290aGVyczsKIAotLS0gRVJST1I6ICBsb3dlciBib3VuZCBvZiBw YXJ0aXRpb24gInNhbGVzX2ZlYjIwMjIiIGlzIG5vdCBlcXVhbHMgdG8gbG93ZXIgYm91bmQg b2Ygc3BsaXQgcGFydGl0aW9uCistLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlv biAic2FsZXNfZmViMjAyMiIgaXMgbm90IGVxdWFsIHRvIGxvd2VyIGJvdW5kIG9mIHNwbGl0 IHBhcnRpdGlvbgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNh bGVzX2ZlYl9tYXJfYXByMjAyMiBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBG T1IgVkFMVUVTIEZST00gKCcyMDIyLTAyLTAyJykgVE8gKCcyMDIyLTAzLTAxJyksCiAgICBQ QVJUSVRJT04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAzLTAxJykg VE8gKCcyMDIyLTA0LTAxJyksCkBAIC0xMzMsNyArMTMzLDcgQEAgU0VMRUNUICogRlJPTSBz YWxlc19vdGhlcnM7CiBEUk9QIFRBQkxFIHNhbGVzX3JhbmdlIENBU0NBREU7CiAKIC0tCi0t LSBBZGQgc3BsaXQgcGFydGl0aW9uIHRoZW4gYWRkIHJvd3MgaW50byBwYXJ0aXRpb25lZCB0 YWJsZQorLS0gQWRkIHNwbGl0IHBhcnRpdGlvbiwgdGhlbiBhZGQgcm93cyBpbnRvIHBhcnRp dGlvbmVkIHRhYmxlCiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChzYWxlc21hbl9p ZCBJTlQsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3VudCBJTlQsIHNh bGVzX2RhdGUgREFURSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19kYXRlKTsKIENSRUFU RSBUQUJMRSBzYWxlc19qYW4yMDIyIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBGT1IgVkFM VUVTIEZST00gKCcyMDIyLTAxLTAxJykgVE8gKCcyMDIyLTAyLTAxJyk7CkBAIC0yMTksNyAr MjE5LDcgQEAgU0VMRUNUICogRlJPTSBzYWxlc19qYW5fZmViMjAyMjsKIERST1AgVEFCTEUg c2FsZXNfZGF0ZSBDQVNDQURFOwogCiAtLQotLS0gVGVzdDogc3BsaXQgREVGQVVMVCBwYXJ0 aXRpb247IHVzaW5nIGEgaW5kZXggb24gcGFydGl0aW9uIGtleTsgY2hlY2sgaW5kZXggYWZ0 ZXIgc3BsaXQKKy0tIFRlc3Q6IHNwbGl0IERFRkFVTFQgcGFydGl0aW9uOyB1c2UgYW4gaW5k ZXggb24gcGFydGl0aW9uIGtleTsgY2hlY2sgaW5kZXggYWZ0ZXIgc3BsaXQKIC0tCiBDUkVB VEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElOVCwgc2FsZXNtYW5fbmFtZSBW QVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBEQVRFKSBQQVJUSVRJ T04gQlkgUkFOR0UgKHNhbGVzX2RhdGUpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX2phbjIwMjIg UEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDEtMDEn KSBUTyAoJzIwMjItMDItMDEnKTsKQEAgLTI1MCw3ICsyNTAsNyBAQCBBTFRFUiBUQUJMRSBz YWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzIElOVE8KICAgIFBBUlRJ VElPTiBzYWxlc19hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAo JzIwMjItMDUtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgREVGQVVMVCk7CiAK LS0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3QgaW5kZXhlcworLS0gVXNlIGluZGV4c2NhbiBm b3IgdGVzdGluZyBpbmRleGVzCiBTRVQgZW5hYmxlX2luZGV4c2NhbiA9IE9OOwogU0VUIGVu YWJsZV9zZXFzY2FuID0gT0ZGOwogCkBAIC0yNzAsNyArMjcwLDcgQEAgU0VMRUNUICogRlJP TSBwZ19pbmRleGVzIFdIRVJFIHRhYmxlbmFtZSA9ICdzYWxlc19vdGhlcnMnIGFuZCBzY2hl bWFuYW1lID0gJ3BhcnQKIERST1AgVEFCTEUgc2FsZXNfcmFuZ2UgQ0FTQ0FERTsKIAogLS0K LS0tIFRlc3Q6IHNvbWUgY2FzZXMgZm9yIHNwbGl0IERFRkFVTFQgcGFydGl0aW9uIChkaWZm ZXJlbnQgYm91bmRzKQorLS0gVGVzdDogc29tZSBjYXNlcyBmb3Igc3BsaXR0aW5nIERFRkFV TFQgcGFydGl0aW9uIChkaWZmZXJlbnQgYm91bmRzKQogLS0KIENSRUFURSBUQUJMRSBzYWxl c19yYW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1lIFZBUkNIQVIoMzApLCBz YWxlc19hbW91bnQgSU5ULCBzYWxlc19kYXRlIElOVCkgUEFSVElUSU9OIEJZIFJBTkdFIChz YWxlc19kYXRlKTsKIENSRUFURSBUQUJMRSBzYWxlc19vdGhlcnMgUEFSVElUSU9OIE9GIHNh bGVzX3JhbmdlIERFRkFVTFQ7CkBAIC0yOTksNyArMjk5LDcgQEAgQUxURVIgVEFCTEUgc2Fs ZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAgICBQQVJUSVRJ T04gc2FsZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjIwMjAxKSBUTyAoMjAyMjAz MDEpLAogICAgUEFSVElUSU9OIHNhbGVzX290aGVycyBERUZBVUxUKTsKIAotLS0gc2FsZXNf ZXJyb3IgaW50ZXJzZWN0cyB3aXRoIHNhbGVzX2RlYzIwMjIgKGV4YWN0IHRoZSBzYW1lIGJv dW5kcykKKy0tIHNhbGVzX2Vycm9yIGludGVyc2VjdHMgd2l0aCBzYWxlc19kZWMyMDIyIChl eGFjdGx5IHRoZSBzYW1lIGJvdW5kcykKIC0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFy dGl0aW9uICJzYWxlc19lcnJvciIgY29uZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJl dmlvdXMgcGFydGl0aW9uICJzYWxlc19kZWMyMDIyIgogQUxURVIgVEFCTEUgc2FsZXNfcmFu Z2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAgIChQQVJUSVRJT04gc2Fs ZXNfZGVjMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjExMjAxKSBUTyAoMjAyMjAxMDEpLApA QCAtMzA3LDEzICszMDcsMTMgQEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFS VElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAgICBQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBG T1IgVkFMVUVTIEZST00gKDIwMjIwMjAxKSBUTyAoMjAyMjAzMDEpLAogICAgUEFSVElUSU9O IHNhbGVzX290aGVycyBERUZBVUxUKTsKIAotLS0gRVJST1I6ICBhbnkgcGFydGl0aW9uIGlu IHRoZSBsaXN0IHNob3VsZCBiZSBERUZBVUxUIGJlY2F1c2Ugc3BsaXQgcGFydGl0aW9uIGlz IERFRkFVTFQKKy0tIEVSUk9SOiAgYWxsIHBhcnRpdGlvbnMgaW4gdGhlIGxpc3Qgc2hvdWxk IGJlIERFRkFVTFQgYmVjYXVzZSBzcGxpdCBwYXJ0aXRpb24gaXMgREVGQVVMVAogQUxURVIg VEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAg IChQQVJUSVRJT04gc2FsZXNfZGVjMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjExMjAxKSBU TyAoMjAyMjAxMDEpLAogICAgUEFSVElUSU9OIHNhbGVzX2phbjIwMjIgRk9SIFZBTFVFUyBG Uk9NICgyMDIyMDEwMSkgVE8gKDIwMjIwMjAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19mZWIy MDIyIEZPUiBWQUxVRVMgRlJPTSAoMjAyMjAyMDEpIFRPICgyMDIyMDMwMSkpOwogCi0tLSBu byBlcnJvcjogYm91bmRzIG9mIHNhbGVzX25vZXJyb3IgYmV0d2VlbiBzYWxlc19kZWMyMDIy IGFuZCBzYWxlc19mZWIyMDIyCistLSBubyBlcnJvcjogYm91bmRzIG9mIHNhbGVzX25vZXJy b3IgYXJlIGJldHdlZW4gc2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNfZmViMjAyMgogQUxURVIg VEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAg IChQQVJUSVRJT04gc2FsZXNfZGVjMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjExMjAxKSBU TyAoMjAyMjAxMDEpLAogICAgUEFSVElUSU9OIHNhbGVzX25vZXJyb3IgRk9SIFZBTFVFUyBG Uk9NICgyMDIyMDExMCkgVE8gKDIwMjIwMTIwKSwKQEAgLTMyNSw3ICszMjUsNyBAQCBEUk9Q IFRBQkxFIHNhbGVzX3JhbmdlOwogQ1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChzYWxlc21h bl9pZCBJTlQsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3VudCBJTlQs IHNhbGVzX2RhdGUgSU5UKSBQQVJUSVRJT04gQlkgUkFOR0UgKHNhbGVzX2RhdGUpOwogQ1JF QVRFIFRBQkxFIHNhbGVzX290aGVycyBQQVJUSVRJT04gT0Ygc2FsZXNfcmFuZ2UgREVGQVVM VDsKIAotLS0gbm8gZXJyb3I6IGJvdW5kcyBvZiBzYWxlc19ub2Vycm9yIGVxdWFscyB0byBs b3dlciBhbmQgdXBwZXIgYm91bmRzIG9mIHNhbGVzX2RlYzIwMjIgYW5kIHNhbGVzX2ZlYjIw MjIKKy0tIG5vIGVycm9yOiBib3VuZHMgb2Ygc2FsZXNfbm9lcnJvciBhcmUgZXF1YWwgdG8g bG93ZXIgYW5kIHVwcGVyIGJvdW5kcyBvZiBzYWxlc19kZWMyMDIyIGFuZCBzYWxlc19mZWIy MDIyCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfb3Ro ZXJzIElOVE8KICAgKFBBUlRJVElPTiBzYWxlc19kZWMyMDIyIEZPUiBWQUxVRVMgRlJPTSAo MjAyMTEyMDEpIFRPICgyMDIyMDEwMSksCiAgICBQQVJUSVRJT04gc2FsZXNfbm9lcnJvciBG T1IgVkFMVUVTIEZST00gKDIwMjEwMTAxKSBUTyAoMjAyMTAyMDEpLApAQCAtMzYxLDcgKzM2 MSw3IEBAIFNFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpLCBjb25uYW1lLCBjb25r ZXkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbnJlCiBTRUxFQ1QgcGdfZ2V0X2NvbnN0 cmFpbnRkZWYob2lkKSwgY29ubmFtZSwgY29ua2V5IEZST00gcGdfY29uc3RyYWludCBXSEVS RSBjb25yZWxpZCA9ICdzYWxlc19tYXIyMDIyJzo6cmVnY2xhc3M6Om9pZDsKIFNFTEVDVCBw Z19nZXRfY29uc3RyYWludGRlZihvaWQpLCBjb25uYW1lLCBjb25rZXkgRlJPTSBwZ19jb25z dHJhaW50IFdIRVJFIGNvbnJlbGlkID0gJ3NhbGVzX2FwcjIwMjInOjpyZWdjbGFzczo6b2lk OwogCi0tLSBFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJzYWxlc19tYXIyMDIyIiB2 aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJzYWxlc19yYW5nZV9zYWxlc21hbl9pZF9jaGVj ayIKKy0tIEVSUk9SOiAgbmV3IHJvdyBmb3IgcmVsYXRpb24gInNhbGVzX21hcjIwMjIiIHZp b2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQgInNhbGVzX3JhbmdlX3NhbGVzX2Ftb3VudF9jaGVj ayIKIElOU0VSVCBJTlRPIHNhbGVzX3JhbmdlIFZBTFVFUyAoMSwgMCwgJzIwMjItMDMtMTEn KTsKIC0tIEVSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAic2FsZXNfbWFyMjAy MiIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAic2FsZXNfcmFuZ2Vfc2FsZXNt YW5faWRfZmtleSIKIElOU0VSVCBJTlRPIHNhbGVzX3JhbmdlIFZBTFVFUyAoLTEsIDEwLCAn MjAyMi0wMy0xMScpOwpAQCAtMzcyLDcgKzM3Miw3IEBAIERST1AgVEFCTEUgc2FsZXNfcmFu Z2UgQ0FTQ0FERTsKIERST1AgVEFCTEUgc2FsZXNtYW5zIENBU0NBREU7CiAKIC0tCi0tLSBU ZXN0OiBzcGxpdCBwYXJ0aXRpb24gb24gcGFydGl0aW9uZWQgdGFibGUgaW4gY2FzZSBleGlz dHMgRk9SRUlHTiBLRVkgcmVmZXJlbmNlIGZyb20gYW5vdGhlciB0YWJsZQorLS0gVGVzdDog c3BsaXQgcGFydGl0aW9uIG9uIHBhcnRpdGlvbmVkIHRhYmxlIGluIGNhc2Ugb2YgZXhpc3Rp bmcgRk9SRUlHTiBLRVkgcmVmZXJlbmNlIGZyb20gYW5vdGhlciB0YWJsZQogLS0KIENSRUFU RSBUQUJMRSBzYWxlc21hbnMoc2FsZXNtYW5faWQgSU5UIFBSSU1BUlkgS0VZLCBzYWxlc21h bl9uYW1lIFZBUkNIQVIoMzApKSBQQVJUSVRJT04gQlkgUkFOR0UgKHNhbGVzbWFuX2lkKTsK IENSRUFURSBUQUJMRSBzYWxlcyAoc2FsZXNtYW5faWQgSU5UIFJFRkVSRU5DRVMgc2FsZXNt YW5zKHNhbGVzbWFuX2lkKSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBEQVRFKTsK QEAgLTQ3MCwxMiArNDcwLDEyIEBAIERST1AgRlVOQ1RJT04gYWZ0ZXJfaW5zZXJ0X3Jvd190 cmlnZ2VyKCk7CiAKIC0tCiAtLSBUZXN0OiBzcGxpdCBwYXJ0aXRpb24gd2l0Y2ggaWRlbnRp dHkgY29sdW1uCi0tLSBJZiBzcGxpdCBwYXJ0aXRpb24gY29sdW1uIGlzIGlkZW50aXR5LWNv bHVtbiwgY29sdW1ucyBvZiBuZXcgcGFydGl0aW9ucyBhcmUgaWRlbnRpdHktY29sdW1ucyB0 b28uCistLSBJZiBzcGxpdCBwYXJ0aXRpb24gY29sdW1uIGlzIGlkZW50aXR5IGNvbHVtbiwg Y29sdW1ucyBvZiBuZXcgcGFydGl0aW9ucyBhcmUgaWRlbnRpdHkgY29sdW1ucyB0b28uCiAt LQogQ1JFQVRFIFRBQkxFIHNhbGVzbWFucyhzYWxlc21hbl9pZCBJTlQgR0VORVJBVEVEIEFM V0FZUyBBUyBJREVOVElUWSBQUklNQVJZIEtFWSwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMw KSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc21hbl9pZCk7CiAKIENSRUFURSBUQUJMRSBz YWxlc21hbnMxXzIgUEFSVElUSU9OIE9GIHNhbGVzbWFucyBGT1IgVkFMVUVTIEZST00gKDEp IFRPICgyKTsKLS0tIENyZWF0ZSBuZXcgcGFydGl0aW9uIHdpdGggaWRlbnRpdHktY29sdW1u OgorLS0gQ3JlYXRlIG5ldyBwYXJ0aXRpb24gd2l0aCBpZGVudGl0eSBjb2x1bW46CiBDUkVB VEUgVEFCTEUgc2FsZXNtYW5zMl81KHNhbGVzbWFuX2lkIElOVCBOT1QgTlVMTCwgc2FsZXNt YW5fbmFtZSBWQVJDSEFSKDMwKSk7CiBBTFRFUiBUQUJMRSBzYWxlc21hbnMgQVRUQUNIIFBB UlRJVElPTiBzYWxlc21hbnMyXzUgRk9SIFZBTFVFUyBGUk9NICgyKSBUTyAoNSk7CiAKQEAg LTQ4NCw3ICs0ODQsNyBAQCBJTlNFUlQgSU5UTyBzYWxlc21hbnMgKHNhbGVzbWFuX25hbWUp IFZBTFVFUyAoJ0l2YW5vdicpOwogCiBTRUxFQ1QgYXR0bmFtZSwgYXR0aWRlbnRpdHksIGF0 dGdlbmVyYXRlZCBGUk9NIHBnX2F0dHJpYnV0ZSBXSEVSRSBhdHRudW0gPiAwIEFORCBhdHRy ZWxpZCA9ICdzYWxlc21hbnMnOjpyZWdjbGFzczo6b2lkOwogU0VMRUNUIGF0dG5hbWUsIGF0 dGlkZW50aXR5LCBhdHRnZW5lcmF0ZWQgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0bnVt ID4gMCBBTkQgYXR0cmVsaWQgPSAnc2FsZXNtYW5zMV8yJzo6cmVnY2xhc3M6Om9pZDsKLS0t IFNwbGl0IHBhcnRpdGlvbiBoYXMgaWRlbnRpdHktY29sdW1uOgorLS0gU3BsaXQgcGFydGl0 aW9uIGhhcyBpZGVudGl0eSBjb2x1bW46CiBTRUxFQ1QgYXR0bmFtZSwgYXR0aWRlbnRpdHks IGF0dGdlbmVyYXRlZCBGUk9NIHBnX2F0dHJpYnV0ZSBXSEVSRSBhdHRudW0gPiAwIEFORCBh dHRyZWxpZCA9ICdzYWxlc21hbnMyXzUnOjpyZWdjbGFzczo6b2lkOwogCiBBTFRFUiBUQUJM RSBzYWxlc21hbnMgU1BMSVQgUEFSVElUSU9OIHNhbGVzbWFuczJfNSBJTlRPCkBAIC02MDks NyArNjA5LDcgQEAgQ1JFQVRFIFRBQkxFIHNhbGVzX25vcmQgUEFSVElUSU9OIE9GIHNhbGVz X2xpc3QgRk9SIFZBTFVFUyBJTiAoJ09zbG8nLCAnU3QuIFBldGUKIENSRUFURSBUQUJMRSBz YWxlc19hbGwgUEFSVElUSU9OIE9GIHNhbGVzX2xpc3QgRk9SIFZBTFVFUyBJTiAoJ1dhcnNh dycsICdMaXNib24nLCAnTmV3IFlvcmsnLCAnTWFkcmlkJywgJ0JlamluZycsICdCZXJsaW4n LCAnRGVsaGknLCAnS3lpdicsICdWbGFkaXZvc3RvaycpOwogQ1JFQVRFIFRBQkxFIHNhbGVz X290aGVycyBQQVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBERUZBVUxUOwogCi0tLSBFUlJPUjog IHBhcnRpdGlvbiAic2FsZXNfZWFzdCIgd291bGQgb3ZlcmxhcCBwYXJ0aXRpb24gInNhbGVz X25vcmQiCistLSBFUlJPUjogIG5ldyBwYXJ0aXRpb24gInNhbGVzX2Vhc3QiIHdvdWxkIG92 ZXJsYXAgd2l0aCBhbm90aGVyIChub3Qgc3BsaXQpIHBhcnRpdGlvbiAic2FsZXNfbm9yZCIK IEFMVEVSIFRBQkxFIHNhbGVzX2xpc3QgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2FsbCBJTlRP CiAgIChQQVJUSVRJT04gc2FsZXNfd2VzdCBGT1IgVkFMVUVTIElOICgnTGlzYm9uJywgJ05l dyBZb3JrJywgJ01hZHJpZCcpLAogICAgUEFSVElUSU9OIHNhbGVzX2Vhc3QgRk9SIFZBTFVF UyBJTiAoJ0JlamluZycsICdEZWxoaScsICdWbGFkaXZvc3RvaycsICdIZWxzaW5raScpLApA QCAtNjMxLDggKzYzMSw4IEBAIERST1AgVEFCTEUgc2FsZXNfbGlzdDsKIAogLS0KIC0tIFRl c3Q6IHR3byBzcGVjaWZpYyBlcnJvcnMgZm9yIEJZIExJU1QgcGFydGl0aW9uaW5nOgotLS0g ICAqIG5ldyBwYXJ0aXRpb25zIG5vdCBoYXMgTlVMTCB2YWx1ZSB0aGF0IHNwbGl0IHBhcnRp dGlvbiBoYXMuCi0tLSAgICogbmV3IHBhcnRpdGlvbnMgbm90IGhhcyBhIHZhbHVlIHRoYXQg c3BsaXQgcGFydGl0aW9uIGhhcy4KKy0tICAgKiBuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2 ZSBOVUxMIHZhbHVlLCB3aGljaCBzcGxpdCBwYXJ0aXRpb24gaGFzLgorLS0gICAqIG5ldyBw YXJ0aXRpb25zIGRvIG5vdCBoYXZlIGEgdmFsdWUgdGhhdCBzcGxpdCBwYXJ0aXRpb24gaGFz LgogLS0KIENSRUFURSBUQUJMRSBzYWxlc19saXN0CiAoc2FsZXNtYW5faWQgSU5ULApAQCAt NjQ1LDEzICs2NDUsMTMgQEAgUEFSVElUSU9OIEJZIExJU1QgKHNhbGVzX3N0YXRlKTsKIENS RUFURSBUQUJMRSBzYWxlc19ub3JkIFBBUlRJVElPTiBPRiBzYWxlc19saXN0IEZPUiBWQUxV RVMgSU4gKCdIZWxzaW5raScsICdTdC4gUGV0ZXJzYnVyZycsICdPc2xvJyk7CiBDUkVBVEUg VEFCTEUgc2FsZXNfYWxsIFBBUlRJVElPTiBPRiBzYWxlc19saXN0IEZPUiBWQUxVRVMgSU4g KCdXYXJzYXcnLCAnTGlzYm9uJywgJ05ldyBZb3JrJywgJ01hZHJpZCcsICdCZWppbmcnLCAn QmVybGluJywgJ0RlbGhpJywgJ0t5aXYnLCAnVmxhZGl2b3N0b2snLCBOVUxMKTsKIAotLS0g RVJST1I6ICBuZXcgcGFydGl0aW9ucyBub3QgaGF2ZSB2YWx1ZSBOVUxMIGJ1dCBzcGxpdCBw YXJ0aXRpb24gaGFzCistLSBFUlJPUjogIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIHZh bHVlIE5VTEwgYnV0IHNwbGl0IHBhcnRpdGlvbiBkb2VzCiBBTFRFUiBUQUJMRSBzYWxlc19s aXN0IFNQTElUIFBBUlRJVElPTiBzYWxlc19hbGwgSU5UTwogICAoUEFSVElUSU9OIHNhbGVz X3dlc3QgRk9SIFZBTFVFUyBJTiAoJ0xpc2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQnKSwK ICAgIFBBUlRJVElPTiBzYWxlc19lYXN0IEZPUiBWQUxVRVMgSU4gKCdCZWppbmcnLCAnRGVs aGknLCAnVmxhZGl2b3N0b2snKSwKICAgIFBBUlRJVElPTiBzYWxlc19jZW50cmFsIEZPUiBW QUxVRVMgSU4gKCdXYXJzYXcnLCAnQmVybGluJywgJ0t5aXYnKSk7CiAKLS0tIEVSUk9SOiAg bmV3IHBhcnRpdGlvbnMgbm90IGhhdmUgdmFsdWUgJ0t5aXYnIGJ1dCBzcGxpdCBwYXJ0aXRp b24gaGFzCistLSBFUlJPUjogIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIHZhbHVlICdL eWl2JyBidXQgc3BsaXQgcGFydGl0aW9uIGRvZXMKIEFMVEVSIFRBQkxFIHNhbGVzX2xpc3Qg U1BMSVQgUEFSVElUSU9OIHNhbGVzX2FsbCBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfd2Vz dCBGT1IgVkFMVUVTIElOICgnTGlzYm9uJywgJ05ldyBZb3JrJywgJ01hZHJpZCcpLAogICAg UEFSVElUSU9OIHNhbGVzX2Vhc3QgRk9SIFZBTFVFUyBJTiAoJ0JlamluZycsICdEZWxoaScs ICdWbGFkaXZvc3RvaycpLApAQCAtNzAzLDcgKzcwMyw3IEBAIFNFTEVDVCAqIEZST00gc2Fs ZXNfZWFzdDsKIFNFTEVDVCAqIEZST00gc2FsZXNfbm9yZDsKIFNFTEVDVCAqIEZST00gc2Fs ZXNfY2VudHJhbDsKIAotLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzIGFmdGVy IHNwbGl0IHBhcnRpdGlvbgorLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdGluZyBpbmRleGVz IGFmdGVyIHNwbGl0dGluZyBwYXJ0aXRpb24KIFNFVCBlbmFibGVfaW5kZXhzY2FuID0gT047 CiBTRVQgZW5hYmxlX3NlcXNjYW4gPSBPRkY7CiAKLS0gCjIuNDAuMS53aW5kb3dzLjEKCg== --------------0invH3ejrMbtI5eBoeVLdLhU--