Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p3waJ-00014X-5N for pgsql-hackers@arkaria.postgresql.org; Sat, 10 Dec 2022 09:55:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p3wZJ-0003K4-CN for pgsql-hackers@arkaria.postgresql.org; Sat, 10 Dec 2022 09:54:53 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p3wZI-0003Ju-OI for pgsql-hackers@lists.postgresql.org; Sat, 10 Dec 2022 09:54:53 +0000 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1p3wZD-0000Up-JL for pgsql-hackers@lists.postgresql.org; Sat, 10 Dec 2022 09:54:52 +0000 Received: by mail-wm1-x32e.google.com with SMTP id n9-20020a05600c3b8900b003d0944dba41so1494139wms.4 for ; Sat, 10 Dec 2022 01:54:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=2K90iqRT9JVpElh4YZ+WNs1jHY6u/mIHOoR/R5P14tI=; b=j+B98M/u7g7DgkxZ6LKaUy6s/t6TdtvIPdxxTFbzclXVQB1dEKFfHx46dlGh2Ls8Oy outeJU9nQjjkmavgU3X3526Lzb8icbjCII72U6JQzjtAFkHs4nJoSjwbLRGSqKfeIBCO CMFTLfj1z0tj74Q6HuU2mZr+mpkvh0i/0blM2Khg4+TO2ju3WNWX2kjzmQmm9remqufO pAY6EGcZVLhqmvJrIROCZWFF+qD3qnurtsb02myOCPA5DZkyXv3CI2oYWdUfZsuIXXZl L2xe/HRlABnuqpWnOqgsoZDZrNnHubyGVeoQ9pB9QJDyMUgujaqNt82nY2AwSk+ifEC9 wi+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=2K90iqRT9JVpElh4YZ+WNs1jHY6u/mIHOoR/R5P14tI=; b=HwZvhh2uP+sjRiWMTSwo3GNftX/c/9OnoEb/yAZP88bVrDdA7acoLCfWN/9RxY7nAH CBHYJwnUIFw4iLVsYzTrSG1m7jN04Gor2b8uuBGM+1S2rEdW3+QIq15SyhUE8WKzw4qU qRitAlUbRlsq6xxNFsyv+AxilhMjwF1vhRUQ4dfqTd+mE0ctd1Ok9oXi3285kuYQ4Nyd m58SD6ona2CD4tBmQXXqcT8syBPU0XHpmC1ybzMIsUKsIa28jAM27VeGSOXcbVF39TFA ey/xbeeP61maR9T9u+RC89awZsQ6PzkZ8qEbuararUZJtLyf/158alQk4eZq/IPRMnAr jlxA== X-Gm-Message-State: ANoB5plOBRshB3zcEonQQylUXwUnFKbQb8NyUI+DVgyYCMOHTMZA0Gnq K29ZgEt7leNJBL6iic9am8U= X-Google-Smtp-Source: AA0mqf4F8GJjVajq+s4p4z2BdKaqgFwrcKX/DDBjNgGgk0MZDR37Xgej+/9OmLXBzqaHKpSZW9+DXA== X-Received: by 2002:a1c:7316:0:b0:3c6:e60f:3f66 with SMTP id d22-20020a1c7316000000b003c6e60f3f66mr7460109wmb.29.1670666085863; Sat, 10 Dec 2022 01:54:45 -0800 (PST) Received: from [192.168.31.230] ([54.239.6.185]) by smtp.gmail.com with ESMTPSA id 17-20020a05600c26d100b003c6c3fb3cf6sm2217693wmv.18.2022.12.10.01.54.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 10 Dec 2022 01:54:45 -0800 (PST) Content-Type: multipart/mixed; boundary="------------K7EuNZBHhp4GPxipJvvpT5c0" Message-ID: <60875d49-56c2-0bef-c699-97494bfeec5a@gmail.com> Date: Sat, 10 Dec 2022 10:54:44 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: Re: Split index and table statistics into different types of stats Content-Language: en-US From: "Drouvot, Bertrand" To: Bharath Rupireddy Cc: Andres Freund , Melanie Plageman , PostgreSQL Hackers References: <20221101003006.3ehvn2prai26rkrf@awork3.anarazel.de> <4cc5476f-4360-1bed-c60d-2c21adf7db13@gmail.com> <06517d27-7a81-3b60-60c4-9a92c6498981@gmail.com> <8e8713ed-1663-f39b-effc-bd3e1632039a@gmail.com> <20221116201202.3k74ajawyom2c3eq@awork3.anarazel.de> <76dece9f-160a-0210-0396-9146c8e4831a@gmail.com> <20221120231906.aayfz5jpipqd6hoz@awork3.anarazel.de> <06a5ac56-7d9e-ccd8-6566-f076f5139354@gmail.com> <8612273d-8efc-c20a-094f-639fd663c531@gmail.com> 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. --------------K7EuNZBHhp4GPxipJvvpT5c0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 12/7/22 11:11 AM, Drouvot, Bertrand wrote: > Hi, > >> Hi, >> >> As [1] mentioned above has been committed (83a1a1b566), please find attached V5 related to this thread making use of the new macros (namely PG_STAT_GET_RELENTRY_INT64 and PG_STAT_GET_RELENTRY_TIMESTAMPTZ). >> >> I switched from using "CppConcat" to using "##", as it looks to me it's easier to read now that we are adding another concatenation to the game (due to the table/index split). >> >> The (Tab,tab) or (Ind,ind) passed as arguments to the macros look "weird" (I don't have a better idea yet): purpose is to follow the naming convention for PgStat_StatTabEntry/PgStat_StatIndEntry and pgstat_fetch_stat_tabentry/pgstat_fetch_stat_indentry, thoughts? >> >> Looking forward to your feedback, >> > > Attaching V6 (mandatory rebase due to 8018ffbf58). > > While at it, I got rid of the weirdness mentioned above by creating 2 sets of macros (one for the tables and one for the indexes). > > Looking forward to your feedback, > > Regards, > Attaching V7, mandatory rebase due to 66dcb09246. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------K7EuNZBHhp4GPxipJvvpT5c0 Content-Type: text/plain; charset=UTF-8; name="v7-0001-split_tables_indexes_stats.patch" Content-Disposition: attachment; filename="v7-0001-split_tables_indexes_stats.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVsYXRpb24uYyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVsYXRpb24uYwppbmRleCAzODJhNDJmZjdkLi4y NTliZDA2YWVkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbGF0 aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2NvbW1vbi9yZWxhdGlvbi5jCkBAIC03 Myw3ICs3MywxMCBAQCByZWxhdGlvbl9vcGVuKE9pZCByZWxhdGlvbklkLCBMT0NLTU9ERSBs b2NrbW9kZSkKIAlpZiAoUmVsYXRpb25Vc2VzTG9jYWxCdWZmZXJzKHIpKQogCQlNeVhhY3RG bGFncyB8PSBYQUNUX0ZMQUdTX0FDQ0VTU0VEVEVNUE5BTUVTUEFDRTsKIAotCXBnc3RhdF9p bml0X3JlbGF0aW9uKHIpOworCWlmIChyLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9J TkRFWCkKKwkJcGdzdGF0X2luaXRfaW5kZXgocik7CisJZWxzZQorCQlwZ3N0YXRfaW5pdF90 YWJsZShyKTsKIAogCXJldHVybiByOwogfQpAQCAtMTIzLDcgKzEyNiwxMCBAQCB0cnlfcmVs YXRpb25fb3BlbihPaWQgcmVsYXRpb25JZCwgTE9DS01PREUgbG9ja21vZGUpCiAJaWYgKFJl bGF0aW9uVXNlc0xvY2FsQnVmZmVycyhyKSkKIAkJTXlYYWN0RmxhZ3MgfD0gWEFDVF9GTEFH U19BQ0NFU1NFRFRFTVBOQU1FU1BBQ0U7CiAKLQlwZ3N0YXRfaW5pdF9yZWxhdGlvbihyKTsK KwlpZiAoci0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfSU5ERVgpCisJCXBnc3RhdF9p bml0X2luZGV4KHIpOworCWVsc2UKKwkJcGdzdGF0X2luaXRfdGFibGUocik7CiAKIAlyZXR1 cm4gcjsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9pbmRleC9pbmRleGFt LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaW5kZXgvaW5kZXhhbS5jCmluZGV4IGRjMzAzOTk1 ZTUuLmNlZWJjNzkzMDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9pbmRleC9p bmRleGFtLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2luZGV4L2luZGV4YW0uYwpAQCAt NTkwLDcgKzU5MCw3IEBAIGluZGV4X2ZldGNoX2hlYXAoSW5kZXhTY2FuRGVzYyBzY2FuLCBU dXBsZVRhYmxlU2xvdCAqc2xvdCkKIAkJCQkJCQkJCSZzY2FuLT54c19oZWFwX2NvbnRpbnVl LCAmYWxsX2RlYWQpOwogCiAJaWYgKGZvdW5kKQotCQlwZ3N0YXRfY291bnRfaGVhcF9mZXRj aChzY2FuLT5pbmRleFJlbGF0aW9uKTsKKwkJcGdzdGF0X2NvdW50X2luZGV4X2ZldGNoKHNj YW4tPmluZGV4UmVsYXRpb24pOwogCiAJLyoKIAkgKiBJZiB3ZSBzY2FubmVkIGEgd2hvbGUg SE9UIGNoYWluIGFuZCBmb3VuZCBvbmx5IGRlYWQgdHVwbGVzLCB0ZWxsIGluZGV4CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvaGVhcC5jCmluZGV4IGJkZDQxM2YwMWIuLmQ1YjcxZmRkMWUgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVh cC5jCkBAIC00MDQsNyArNDA0LDEwIEBAIGhlYXBfY3JlYXRlKGNvbnN0IGNoYXIgKnJlbG5h bWUsCiAJCQkJCQkJCQkgcmVsdGFibGVzcGFjZSk7CiAKIAkvKiBlbnN1cmUgdGhhdCBzdGF0 cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBhYm9ydHMgKi8KLQlwZ3N0YXRfY3JlYXRl X3JlbGF0aW9uKHJlbCk7CisJaWYgKHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRf SU5ERVgpCisJCXBnc3RhdF9jcmVhdGVfaW5kZXgocmVsKTsKKwllbHNlCisJCXBnc3RhdF9j cmVhdGVfdGFibGUocmVsKTsKIAogCXJldHVybiByZWw7CiB9CkBAIC0xODUzLDcgKzE4NTYs NyBAQCBoZWFwX2Ryb3Bfd2l0aF9jYXRhbG9nKE9pZCByZWxpZCkKIAkJUmVsYXRpb25Ecm9w U3RvcmFnZShyZWwpOwogCiAJLyogZW5zdXJlIHRoYXQgc3RhdHMgYXJlIGRyb3BwZWQgaWYg dHJhbnNhY3Rpb24gY29tbWl0cyAqLwotCXBnc3RhdF9kcm9wX3JlbGF0aW9uKHJlbCk7CisJ cGdzdGF0X2Ryb3BfdGFibGUocmVsKTsKIAogCS8qCiAJICogQ2xvc2UgcmVsY2FjaGUgZW50 cnksIGJ1dCAqa2VlcCogQWNjZXNzRXhjbHVzaXZlTG9jayBvbiB0aGUgcmVsYXRpb24KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaW5kZXguYyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvaW5kZXguYwppbmRleCA2MWYxZDM5MjZhLi4yOGI5NGZlZjdmIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxv Zy9pbmRleC5jCkBAIC0xNzUyLDcgKzE3NTIsNyBAQCBpbmRleF9jb25jdXJyZW50bHlfc3dh cChPaWQgbmV3SW5kZXhJZCwgT2lkIG9sZEluZGV4SWQsIGNvbnN0IGNoYXIgKm9sZE5hbWUp CiAJY2hhbmdlRGVwZW5kZW5jaWVzT24oUmVsYXRpb25SZWxhdGlvbklkLCBvbGRJbmRleElk LCBuZXdJbmRleElkKTsKIAogCS8qIGNvcHkgb3ZlciBzdGF0aXN0aWNzIGZyb20gb2xkIHRv IG5ldyBpbmRleCAqLwotCXBnc3RhdF9jb3B5X3JlbGF0aW9uX3N0YXRzKG5ld0NsYXNzUmVs LCBvbGRDbGFzc1JlbCk7CisJcGdzdGF0X2NvcHlfaW5kZXhfc3RhdHMobmV3Q2xhc3NSZWws IG9sZENsYXNzUmVsKTsKIAogCS8qIENvcHkgZGF0YSBvZiBwZ19zdGF0aXN0aWMgZnJvbSB0 aGUgb2xkIGluZGV4IHRvIHRoZSBuZXcgb25lICovCiAJQ29weVN0YXRpc3RpY3Mob2xkSW5k ZXhJZCwgbmV3SW5kZXhJZCk7CkBAIC0yMzI2LDcgKzIzMjYsNyBAQCBpbmRleF9kcm9wKE9p ZCBpbmRleElkLCBib29sIGNvbmN1cnJlbnQsIGJvb2wgY29uY3VycmVudF9sb2NrX21vZGUp CiAJCVJlbGF0aW9uRHJvcFN0b3JhZ2UodXNlckluZGV4UmVsYXRpb24pOwogCiAJLyogZW5z dXJlIHRoYXQgc3RhdHMgYXJlIGRyb3BwZWQgaWYgdHJhbnNhY3Rpb24gY29tbWl0cyAqLwot CXBnc3RhdF9kcm9wX3JlbGF0aW9uKHVzZXJJbmRleFJlbGF0aW9uKTsKKwlwZ3N0YXRfZHJv cF9pbmRleCh1c2VySW5kZXhSZWxhdGlvbik7CiAKIAkvKgogCSAqIENsb3NlIGFuZCBmbHVz aCB0aGUgaW5kZXgncyByZWxjYWNoZSBlbnRyeSwgdG8gZW5zdXJlIHJlbGNhY2hlIGRvZXNu J3QKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBi L3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCAyZDgxMDRiMDkw Li5hNjEyYWU4MWVkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92 aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBA IC02NTUsMjkgKzY1NSwyOSBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X2FsbF90YWJsZXMgQVMK ICAgICAgICAgICAgIEMub2lkIEFTIHJlbGlkLAogICAgICAgICAgICAgTi5uc3BuYW1lIEFT IHNjaGVtYW5hbWUsCiAgICAgICAgICAgICBDLnJlbG5hbWUgQVMgcmVsbmFtZSwKLSAgICAg ICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKEMub2lkKSBBUyBzZXFfc2NhbiwKLSAgICAg ICAgICAgIHBnX3N0YXRfZ2V0X2xhc3RzY2FuKEMub2lkKSBBUyBsYXN0X3NlcV9zY2FuLAot ICAgICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKEMub2lkKSBBUyBzZXFf dHVwX3JlYWQsCi0gICAgICAgICAgICBzdW0ocGdfc3RhdF9nZXRfbnVtc2NhbnMoSS5pbmRl eHJlbGlkKSk6OmJpZ2ludCBBUyBpZHhfc2NhbiwKLSAgICAgICAgICAgIG1heChwZ19zdGF0 X2dldF9sYXN0c2NhbihJLmluZGV4cmVsaWQpKSBBUyBsYXN0X2lkeF9zY2FuLAotICAgICAg ICAgICAgc3VtKHBnX3N0YXRfZ2V0X3R1cGxlc19mZXRjaGVkKEkuaW5kZXhyZWxpZCkpOjpi aWdpbnQgKwotICAgICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2ZldGNoZWQoQy5vaWQp IEFTIGlkeF90dXBfZmV0Y2gsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5z ZXJ0ZWQoQy5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3R1 cGxlc191cGRhdGVkKEMub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfZGVsZXRlZChDLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX2hvdF91cGRhdGVkKEMub2lkKSBBUyBuX3R1cF9ob3RfdXBk LAotICAgICAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoQy5vaWQpIEFTIG5fbGl2 ZV90dXAsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyhDLm9pZCkgQVMg bl9kZWFkX3R1cCwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X21vZF9zaW5jZV9hbmFseXpl KEMub2lkKSBBUyBuX21vZF9zaW5jZV9hbmFseXplLAotICAgICAgICAgICAgcGdfc3RhdF9n ZXRfaW5zX3NpbmNlX3ZhY3V1bShDLm9pZCkgQVMgbl9pbnNfc2luY2VfdmFjdXVtLAotICAg ICAgICAgICAgcGdfc3RhdF9nZXRfbGFzdF92YWN1dW1fdGltZShDLm9pZCkgYXMgbGFzdF92 YWN1dW0sCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9sYXN0X2F1dG92YWN1dW1fdGltZShD Lm9pZCkgYXMgbGFzdF9hdXRvdmFjdXVtLAotICAgICAgICAgICAgcGdfc3RhdF9nZXRfbGFz dF9hbmFseXplX3RpbWUoQy5vaWQpIGFzIGxhc3RfYW5hbHl6ZSwKLSAgICAgICAgICAgIHBn X3N0YXRfZ2V0X2xhc3RfYXV0b2FuYWx5emVfdGltZShDLm9pZCkgYXMgbGFzdF9hdXRvYW5h bHl6ZSwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudChDLm9pZCkgQVMg dmFjdXVtX2NvdW50LAotICAgICAgICAgICAgcGdfc3RhdF9nZXRfYXV0b3ZhY3V1bV9jb3Vu dChDLm9pZCkgQVMgYXV0b3ZhY3V1bV9jb3VudCwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0 X2FuYWx5emVfY291bnQoQy5vaWQpIEFTIGFuYWx5emVfY291bnQsCi0gICAgICAgICAgICBw Z19zdGF0X2dldF9hdXRvYW5hbHl6ZV9jb3VudChDLm9pZCkgQVMgYXV0b2FuYWx5emVfY291 bnQKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2FucyhDLm9pZCkgQVMgc2Vx X3NjYW4sCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfbGFzdHNjYW4oQy5vaWQpIEFT IGxhc3Rfc2VxX3NjYW4sCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3Jl dHVybmVkKEMub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgICAgICBzdW0ocGdfc3Rh dF9nZXRfaW5kX251bXNjYW5zKEkuaW5kZXhyZWxpZCkpOjpiaWdpbnQgQVMgaWR4X3NjYW4s CisgICAgICAgICAgICBtYXgocGdfc3RhdF9nZXRfaW5kX2xhc3RzY2FuKEkuaW5kZXhyZWxp ZCkpIEFTIGxhc3RfaWR4X3NjYW4sCisgICAgICAgICAgICBzdW0ocGdfc3RhdF9nZXRfaW5k X3R1cGxlc19mZXRjaGVkKEkuaW5kZXhyZWxpZCkpOjpiaWdpbnQgKworICAgICAgICAgICAg cGdfc3RhdF9nZXRfdGFiX3R1cGxlc19mZXRjaGVkKEMub2lkKSBBUyBpZHhfdHVwX2ZldGNo LAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZChDLm9pZCkg QVMgbl90dXBfaW5zLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRh dGVkKEMub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJf dHVwbGVzX2RlbGV0ZWQoQy5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl90dXBsZXNfaG90X3VwZGF0ZWQoQy5vaWQpIEFTIG5fdHVwX2hvdF91cGQs CisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoQy5vaWQpIEFTIG5f bGl2ZV90dXAsCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXMoQy5v aWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfbW9kX3Np bmNlX2FuYWx5emUoQy5vaWQpIEFTIG5fbW9kX3NpbmNlX2FuYWx5emUsCisgICAgICAgICAg ICBwZ19zdGF0X2dldF90YWJfaW5zX3NpbmNlX3ZhY3V1bShDLm9pZCkgQVMgbl9pbnNfc2lu Y2VfdmFjdXVtLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xhc3RfdmFjdXVtX3Rp bWUoQy5vaWQpIGFzIGxhc3RfdmFjdXVtLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFi X2xhc3RfYXV0b3ZhY3V1bV90aW1lKEMub2lkKSBhcyBsYXN0X2F1dG92YWN1dW0sCisgICAg ICAgICAgICBwZ19zdGF0X2dldF90YWJfbGFzdF9hbmFseXplX3RpbWUoQy5vaWQpIGFzIGxh c3RfYW5hbHl6ZSwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9sYXN0X2F1dG9hbmFs eXplX3RpbWUoQy5vaWQpIGFzIGxhc3RfYXV0b2FuYWx5emUsCisgICAgICAgICAgICBwZ19z dGF0X2dldF90YWJfdmFjdXVtX2NvdW50KEMub2lkKSBBUyB2YWN1dW1fY291bnQsCisgICAg ICAgICAgICBwZ19zdGF0X2dldF90YWJfYXV0b3ZhY3V1bV9jb3VudChDLm9pZCkgQVMgYXV0 b3ZhY3V1bV9jb3VudCwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9hbmFseXplX2Nv dW50KEMub2lkKSBBUyBhbmFseXplX2NvdW50LAorICAgICAgICAgICAgcGdfc3RhdF9nZXRf dGFiX2F1dG9hbmFseXplX2NvdW50KEMub2lkKSBBUyBhdXRvYW5hbHl6ZV9jb3VudAogICAg IEZST00gcGdfY2xhc3MgQyBMRUZUIEpPSU4KICAgICAgICAgIHBnX2luZGV4IEkgT04gQy5v aWQgPSBJLmluZHJlbGlkCiAgICAgICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIE4gT04g KE4ub2lkID0gQy5yZWxuYW1lc3BhY2UpCkBAIC02ODksOSArNjg5LDkgQEAgQ1JFQVRFIFZJ RVcgcGdfc3RhdF94YWN0X2FsbF90YWJsZXMgQVMKICAgICAgICAgICAgIEMub2lkIEFTIHJl bGlkLAogICAgICAgICAgICAgTi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCiAgICAgICAgICAg ICBDLnJlbG5hbWUgQVMgcmVsbmFtZSwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3hhY3Rf bnVtc2NhbnMoQy5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRf dGFiX3hhY3RfbnVtc2NhbnMoQy5vaWQpIEFTIHNlcV9zY2FuLAogICAgICAgICAgICAgcGdf c3RhdF9nZXRfeGFjdF90dXBsZXNfcmV0dXJuZWQoQy5vaWQpIEFTIHNlcV90dXBfcmVhZCwK LSAgICAgICAgICAgIHN1bShwZ19zdGF0X2dldF94YWN0X251bXNjYW5zKEkuaW5kZXhyZWxp ZCkpOjpiaWdpbnQgQVMgaWR4X3NjYW4sCisgICAgICAgICAgICBzdW0ocGdfc3RhdF9nZXRf aW5kX3hhY3RfbnVtc2NhbnMoSS5pbmRleHJlbGlkKSk6OmJpZ2ludCBBUyBpZHhfc2NhbiwK ICAgICAgICAgICAgIHN1bShwZ19zdGF0X2dldF94YWN0X3R1cGxlc19mZXRjaGVkKEkuaW5k ZXhyZWxpZCkpOjpiaWdpbnQgKwogICAgICAgICAgICAgcGdfc3RhdF9nZXRfeGFjdF90dXBs ZXNfZmV0Y2hlZChDLm9pZCkgQVMgaWR4X3R1cF9mZXRjaCwKICAgICAgICAgICAgIHBnX3N0 YXRfZ2V0X3hhY3RfdHVwbGVzX2luc2VydGVkKEMub2lkKSBBUyBuX3R1cF9pbnMsCkBAIC03 MjksMzEgKzcyOSwzMSBAQCBDUkVBVEUgVklFVyBwZ19zdGF0aW9fYWxsX3RhYmxlcyBBUwog ICAgICAgICAgICAgQy5vaWQgQVMgcmVsaWQsCiAgICAgICAgICAgICBOLm5zcG5hbWUgQVMg c2NoZW1hbmFtZSwKICAgICAgICAgICAgIEMucmVsbmFtZSBBUyByZWxuYW1lLAotICAgICAg ICAgICAgcGdfc3RhdF9nZXRfYmxvY2tzX2ZldGNoZWQoQy5vaWQpIC0KLSAgICAgICAgICAg ICAgICAgICAgcGdfc3RhdF9nZXRfYmxvY2tzX2hpdChDLm9pZCkgQVMgaGVhcF9ibGtzX3Jl YWQsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KEMub2lkKSBBUyBoZWFw X2Jsa3NfaGl0LAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19mZXRjaGVk KEMub2lkKSAtCisgICAgICAgICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9ibG9ja3Nf aGl0KEMub2lkKSBBUyBoZWFwX2Jsa3NfcmVhZCwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl9ibG9ja3NfaGl0KEMub2lkKSBBUyBoZWFwX2Jsa3NfaGl0LAogICAgICAgICAgICAg SS5pZHhfYmxrc19yZWFkIEFTIGlkeF9ibGtzX3JlYWQsCiAgICAgICAgICAgICBJLmlkeF9i bGtzX2hpdCBBUyBpZHhfYmxrc19oaXQsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF9ibG9j a3NfZmV0Y2hlZChULm9pZCkgLQotICAgICAgICAgICAgICAgICAgICBwZ19zdGF0X2dldF9i bG9ja3NfaGl0KFQub2lkKSBBUyB0b2FzdF9ibGtzX3JlYWQsCi0gICAgICAgICAgICBwZ19z dGF0X2dldF9ibG9ja3NfaGl0KFQub2lkKSBBUyB0b2FzdF9ibGtzX2hpdCwKKyAgICAgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl9ibG9ja3NfZmV0Y2hlZChULm9pZCkgLQorICAgICAgICAg ICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdChULm9pZCkgQVMgdG9hc3Rf Ymxrc19yZWFkLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19oaXQoVC5v aWQpIEFTIHRvYXN0X2Jsa3NfaGl0LAogICAgICAgICAgICAgWC5pZHhfYmxrc19yZWFkIEFT IHRpZHhfYmxrc19yZWFkLAogICAgICAgICAgICAgWC5pZHhfYmxrc19oaXQgQVMgdGlkeF9i bGtzX2hpdAogICAgIEZST00gcGdfY2xhc3MgQyBMRUZUIEpPSU4KICAgICAgICAgICAgIHBn X2NsYXNzIFQgT04gQy5yZWx0b2FzdHJlbGlkID0gVC5vaWQKICAgICAgICAgICAgIExFRlQg Sk9JTiBwZ19uYW1lc3BhY2UgTiBPTiAoTi5vaWQgPSBDLnJlbG5hbWVzcGFjZSkKICAgICAg ICAgICAgIExFRlQgSk9JTiBMQVRFUkFMICgKLSAgICAgICAgICAgICAgU0VMRUNUIHN1bShw Z19zdGF0X2dldF9ibG9ja3NfZmV0Y2hlZChpbmRleHJlbGlkKSAtCi0gICAgICAgICAgICAg ICAgICAgICAgICAgcGdfc3RhdF9nZXRfYmxvY2tzX2hpdChpbmRleHJlbGlkKSk6OmJpZ2lu dAorICAgICAgICAgICAgICBTRUxFQ1Qgc3VtKHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfZmV0 Y2hlZChpbmRleHJlbGlkKSAtCisgICAgICAgICAgICAgICAgICAgICAgICAgcGdfc3RhdF9n ZXRfaW5kX2Jsb2Nrc19oaXQoaW5kZXhyZWxpZCkpOjpiaWdpbnQKICAgICAgICAgICAgICAg ICAgICAgIEFTIGlkeF9ibGtzX3JlYWQsCi0gICAgICAgICAgICAgICAgICAgICBzdW0ocGdf c3RhdF9nZXRfYmxvY2tzX2hpdChpbmRleHJlbGlkKSk6OmJpZ2ludAorICAgICAgICAgICAg ICAgICAgICAgc3VtKHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfaGl0KGluZGV4cmVsaWQpKTo6 YmlnaW50CiAgICAgICAgICAgICAgICAgICAgICBBUyBpZHhfYmxrc19oaXQKICAgICAgICAg ICAgICAgRlJPTSBwZ19pbmRleCBXSEVSRSBpbmRyZWxpZCA9IEMub2lkICkgSSBPTiB0cnVl CiAgICAgICAgICAgICBMRUZUIEpPSU4gTEFURVJBTCAoCi0gICAgICAgICAgICAgIFNFTEVD VCBzdW0ocGdfc3RhdF9nZXRfYmxvY2tzX2ZldGNoZWQoaW5kZXhyZWxpZCkgLQotICAgICAg ICAgICAgICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQoaW5kZXhyZWxpZCkp OjpiaWdpbnQKKyAgICAgICAgICAgICAgU0VMRUNUIHN1bShwZ19zdGF0X2dldF9pbmRfYmxv Y2tzX2ZldGNoZWQoaW5kZXhyZWxpZCkgLQorICAgICAgICAgICAgICAgICAgICAgICAgIHBn X3N0YXRfZ2V0X2luZF9ibG9ja3NfaGl0KGluZGV4cmVsaWQpKTo6YmlnaW50CiAgICAgICAg ICAgICAgICAgICAgICBBUyBpZHhfYmxrc19yZWFkLAotICAgICAgICAgICAgICAgICAgICAg c3VtKHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQoaW5kZXhyZWxpZCkpOjpiaWdpbnQKKyAgICAg ICAgICAgICAgICAgICAgIHN1bShwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2hpdChpbmRleHJl bGlkKSk6OmJpZ2ludAogICAgICAgICAgICAgICAgICAgICAgQVMgaWR4X2Jsa3NfaGl0CiAg ICAgICAgICAgICAgIEZST00gcGdfaW5kZXggV0hFUkUgaW5kcmVsaWQgPSBULm9pZCApIFgg T04gdHJ1ZQogICAgIFdIRVJFIEMucmVsa2luZCBJTiAoJ3InLCAndCcsICdtJyk7CkBAIC03 NzUsMTAgKzc3NSwxMCBAQCBDUkVBVEUgVklFVyBwZ19zdGF0X2FsbF9pbmRleGVzIEFTCiAg ICAgICAgICAgICBOLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICAgICAgICAgIEMucmVs bmFtZSBBUyByZWxuYW1lLAogICAgICAgICAgICAgSS5yZWxuYW1lIEFTIGluZGV4cmVsbmFt ZSwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKEkub2lkKSBBUyBpZHhfc2Nh biwKLSAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2xhc3RzY2FuKEkub2lkKSBBUyBsYXN0X2lk eF9zY2FuLAotICAgICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKEkub2lk KSBBUyBpZHhfdHVwX3JlYWQsCi0gICAgICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZmV0 Y2hlZChJLm9pZCkgQVMgaWR4X3R1cF9mZXRjaAorICAgICAgICAgICAgcGdfc3RhdF9nZXRf aW5kX251bXNjYW5zKEkub2lkKSBBUyBpZHhfc2NhbiwKKyAgICAgICAgICAgIHBnX3N0YXRf Z2V0X2luZF9sYXN0c2NhbihJLm9pZCkgQVMgbGFzdF9pZHhfc2NhbiwKKyAgICAgICAgICAg IHBnX3N0YXRfZ2V0X2luZF90dXBsZXNfcmV0dXJuZWQoSS5vaWQpIEFTIGlkeF90dXBfcmVh ZCwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2luZF90dXBsZXNfZmV0Y2hlZChJLm9pZCkg QVMgaWR4X3R1cF9mZXRjaAogICAgIEZST00gcGdfY2xhc3MgQyBKT0lOCiAgICAgICAgICAg ICBwZ19pbmRleCBYIE9OIEMub2lkID0gWC5pbmRyZWxpZCBKT0lOCiAgICAgICAgICAgICBw Z19jbGFzcyBJIE9OIEkub2lkID0gWC5pbmRleHJlbGlkCkBAIC04MDIsOSArODAyLDkgQEAg Q1JFQVRFIFZJRVcgcGdfc3RhdGlvX2FsbF9pbmRleGVzIEFTCiAgICAgICAgICAgICBOLm5z cG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICAgICAgICAgIEMucmVsbmFtZSBBUyByZWxuYW1l LAogICAgICAgICAgICAgSS5yZWxuYW1lIEFTIGluZGV4cmVsbmFtZSwKLSAgICAgICAgICAg IHBnX3N0YXRfZ2V0X2Jsb2Nrc19mZXRjaGVkKEkub2lkKSAtCi0gICAgICAgICAgICAgICAg ICAgIHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQoSS5vaWQpIEFTIGlkeF9ibGtzX3JlYWQsCi0g ICAgICAgICAgICBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KEkub2lkKSBBUyBpZHhfYmxrc19o aXQKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfZmV0Y2hlZChJLm9pZCkg LQorICAgICAgICAgICAgICAgICAgICBwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2hpdChJLm9p ZCkgQVMgaWR4X2Jsa3NfcmVhZCwKKyAgICAgICAgICAgIHBnX3N0YXRfZ2V0X2luZF9ibG9j a3NfaGl0KEkub2lkKSBBUyBpZHhfYmxrc19oaXQKICAgICBGUk9NIHBnX2NsYXNzIEMgSk9J TgogICAgICAgICAgICAgcGdfaW5kZXggWCBPTiBDLm9pZCA9IFguaW5kcmVsaWQgSk9JTgog ICAgICAgICAgICAgcGdfY2xhc3MgSSBPTiBJLm9pZCA9IFguaW5kZXhyZWxpZApAQCAtODI2 LDkgKzgyNiw5IEBAIENSRUFURSBWSUVXIHBnX3N0YXRpb19hbGxfc2VxdWVuY2VzIEFTCiAg ICAgICAgICAgICBDLm9pZCBBUyByZWxpZCwKICAgICAgICAgICAgIE4ubnNwbmFtZSBBUyBz Y2hlbWFuYW1lLAogICAgICAgICAgICAgQy5yZWxuYW1lIEFTIHJlbG5hbWUsCi0gICAgICAg ICAgICBwZ19zdGF0X2dldF9ibG9ja3NfZmV0Y2hlZChDLm9pZCkgLQotICAgICAgICAgICAg ICAgICAgICBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KEMub2lkKSBBUyBibGtzX3JlYWQsCi0g ICAgICAgICAgICBwZ19zdGF0X2dldF9ibG9ja3NfaGl0KEMub2lkKSBBUyBibGtzX2hpdAor ICAgICAgICAgICAgcGdfc3RhdF9nZXRfaW5kX2Jsb2Nrc19mZXRjaGVkKEMub2lkKSAtCisg ICAgICAgICAgICAgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9ibG9ja3NfaGl0KEMub2lkKSBB UyBibGtzX3JlYWQsCisgICAgICAgICAgICBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdChD Lm9pZCkgQVMgYmxrc19oaXQKICAgICBGUk9NIHBnX2NsYXNzIEMKICAgICAgICAgICAgIExF RlQgSk9JTiBwZ19uYW1lc3BhY2UgTiBPTiAoTi5vaWQgPSBDLnJlbG5hbWVzcGFjZSkKICAg ICBXSEVSRSBDLnJlbGtpbmQgPSAnUyc7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9y YWdlL2J1ZmZlci9idWZtZ3IuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1n ci5jCmluZGV4IDczZDMwYmY2MTkuLmYxYTdhOGFhOGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2Uv YnVmZmVyL2J1Zm1nci5jCkBAIC03NzYsMTEgKzc3NiwxOSBAQCBSZWFkQnVmZmVyRXh0ZW5k ZWQoUmVsYXRpb24gcmVsbiwgRm9ya051bWJlciBmb3JrTnVtLCBCbG9ja051bWJlciBibG9j a051bSwKIAkgKiBSZWFkIHRoZSBidWZmZXIsIGFuZCB1cGRhdGUgcGdzdGF0IGNvdW50ZXJz IHRvIHJlZmxlY3QgYSBjYWNoZSBoaXQgb3IKIAkgKiBtaXNzLgogCSAqLwotCXBnc3RhdF9j b3VudF9idWZmZXJfcmVhZChyZWxuKTsKKwlpZiAocmVsbi0+cmRfcmVsLT5yZWxraW5kID09 IFJFTEtJTkRfSU5ERVgpCisJCXBnc3RhdF9jb3VudF9pbmRleF9idWZmZXJfcmVhZChyZWxu KTsKKwllbHNlCisJCXBnc3RhdF9jb3VudF90YWJsZV9idWZmZXJfcmVhZChyZWxuKTsKIAli dWYgPSBSZWFkQnVmZmVyX2NvbW1vbihSZWxhdGlvbkdldFNtZ3IocmVsbiksIHJlbG4tPnJk X3JlbC0+cmVscGVyc2lzdGVuY2UsCiAJCQkJCQkJZm9ya051bSwgYmxvY2tOdW0sIG1vZGUs IHN0cmF0ZWd5LCAmaGl0KTsKIAlpZiAoaGl0KQotCQlwZ3N0YXRfY291bnRfYnVmZmVyX2hp dChyZWxuKTsKKwl7CisJCWlmIChyZWxuLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9J TkRFWCkKKwkJCXBnc3RhdF9jb3VudF9pbmRleF9idWZmZXJfaGl0KHJlbG4pOworCQllbHNl CisJCQlwZ3N0YXRfY291bnRfdGFibGVfYnVmZmVyX2hpdChyZWxuKTsKKwl9CiAJcmV0dXJu IGJ1ZjsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvTWFr ZWZpbGUgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmlsZQppbmRleCBhMmU4 NTA3ZmQ2Li43NDQxZjRjZTg1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9NYWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmls ZQpAQCAtMjIsMTEgKzIyLDEyIEBAIE9CSlMgPSBcCiAJcGdzdGF0X2NoZWNrcG9pbnRlci5v IFwKIAlwZ3N0YXRfZGF0YWJhc2UubyBcCiAJcGdzdGF0X2Z1bmN0aW9uLm8gXAotCXBnc3Rh dF9yZWxhdGlvbi5vIFwKKwlwZ3N0YXRfaW5kZXgubyBcCiAJcGdzdGF0X3JlcGxzbG90Lm8g XAogCXBnc3RhdF9zaG1lbS5vIFwKIAlwZ3N0YXRfc2xydS5vIFwKIAlwZ3N0YXRfc3Vic2Ny aXB0aW9uLm8gXAorCXBnc3RhdF90YWJsZS5vIFwKIAlwZ3N0YXRfd2FsLm8gXAogCXBnc3Rh dF94YWN0Lm8gXAogCXdhaXRfZXZlbnQubwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvbWVzb24uYnVpbGQgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9t ZXNvbi5idWlsZAppbmRleCA1YjNiNTU4YTY3Li5lNmJmM2M1OWI2IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9tZXNvbi5idWlsZAorKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9tZXNvbi5idWlsZApAQCAtNywxMSArNywxMiBAQCBiYWNrZW5k X3NvdXJjZXMgKz0gZmlsZXMoCiAgICdwZ3N0YXRfY2hlY2twb2ludGVyLmMnLAogICAncGdz dGF0X2RhdGFiYXNlLmMnLAogICAncGdzdGF0X2Z1bmN0aW9uLmMnLAotICAncGdzdGF0X3Jl bGF0aW9uLmMnLAorICAncGdzdGF0X2luZGV4LmMnLAogICAncGdzdGF0X3JlcGxzbG90LmMn LAogICAncGdzdGF0X3NobWVtLmMnLAogICAncGdzdGF0X3NscnUuYycsCiAgICdwZ3N0YXRf c3Vic2NyaXB0aW9uLmMnLAorICAncGdzdGF0X3RhYmxlLmMnLAogICAncGdzdGF0X3dhbC5j JywKICAgJ3Bnc3RhdF94YWN0LmMnLAogICAnd2FpdF9ldmVudC5jJywKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvcGdzdGF0LmMKaW5kZXggMWViZTNiYmYyOS4uZDQ5YTVlYTRiYiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0LmMKQEAgLTcyLDEwICs3MiwxMSBAQAog ICogLSBwZ3N0YXRfY2hlY2twb2ludGVyLmMKICAqIC0gcGdzdGF0X2RhdGFiYXNlLmMKICAq IC0gcGdzdGF0X2Z1bmN0aW9uLmMKLSAqIC0gcGdzdGF0X3JlbGF0aW9uLmMKKyAqIC0gcGdz dGF0X2luZGV4LmMKICAqIC0gcGdzdGF0X3JlcGxzbG90LmMKICAqIC0gcGdzdGF0X3NscnUu YwogICogLSBwZ3N0YXRfc3Vic2NyaXB0aW9uLmMKKyAqIC0gcGdzdGF0X3RhYmxlLmMKICAq IC0gcGdzdGF0X3dhbC5jCiAgKgogICogV2hlbmV2ZXIgcG9zc2libGUgaW5mcmFzdHJ1Y3R1 cmUgZmlsZXMgc2hvdWxkIG5vdCBjb250YWluIGNvZGUgcmVsYXRlZCB0bwpAQCAtMjY5LDE4 ICsyNzAsMzIgQEAgc3RhdGljIGNvbnN0IFBnU3RhdF9LaW5kSW5mbyBwZ3N0YXRfa2luZF9p bmZvc1tQR1NUQVRfTlVNX0tJTkRTXSA9IHsKIAkJLnJlc2V0X3RpbWVzdGFtcF9jYiA9IHBn c3RhdF9kYXRhYmFzZV9yZXNldF90aW1lc3RhbXBfY2IsCiAJfSwKIAotCVtQR1NUQVRfS0lO RF9SRUxBVElPTl0gPSB7Ci0JCS5uYW1lID0gInJlbGF0aW9uIiwKKwlbUEdTVEFUX0tJTkRf VEFCTEVdID0geworCQkubmFtZSA9ICJ0YWJsZSIsCiAKIAkJLmZpeGVkX2Ftb3VudCA9IGZh bHNlLAogCi0JCS5zaGFyZWRfc2l6ZSA9IHNpemVvZihQZ1N0YXRTaGFyZWRfUmVsYXRpb24p LAotCQkuc2hhcmVkX2RhdGFfb2ZmID0gb2Zmc2V0b2YoUGdTdGF0U2hhcmVkX1JlbGF0aW9u LCBzdGF0cyksCi0JCS5zaGFyZWRfZGF0YV9sZW4gPSBzaXplb2YoKChQZ1N0YXRTaGFyZWRf UmVsYXRpb24gKikgMCktPnN0YXRzKSwKKwkJLnNoYXJlZF9zaXplID0gc2l6ZW9mKFBnU3Rh dFNoYXJlZF9UYWJsZSksCisJCS5zaGFyZWRfZGF0YV9vZmYgPSBvZmZzZXRvZihQZ1N0YXRT aGFyZWRfVGFibGUsIHN0YXRzKSwKKwkJLnNoYXJlZF9kYXRhX2xlbiA9IHNpemVvZigoKFBn U3RhdFNoYXJlZF9UYWJsZSAqKSAwKS0+c3RhdHMpLAogCQkucGVuZGluZ19zaXplID0gc2l6 ZW9mKFBnU3RhdF9UYWJsZVN0YXR1cyksCiAKLQkJLmZsdXNoX3BlbmRpbmdfY2IgPSBwZ3N0 YXRfcmVsYXRpb25fZmx1c2hfY2IsCi0JCS5kZWxldGVfcGVuZGluZ19jYiA9IHBnc3RhdF9y ZWxhdGlvbl9kZWxldGVfcGVuZGluZ19jYiwKKwkJLmZsdXNoX3BlbmRpbmdfY2IgPSBwZ3N0 YXRfdGFibGVfZmx1c2hfY2IsCisJCS5kZWxldGVfcGVuZGluZ19jYiA9IHBnc3RhdF90YWJs ZV9kZWxldGVfcGVuZGluZ19jYiwKKwl9LAorCisJW1BHU1RBVF9LSU5EX0lOREVYXSA9IHsK KwkJLm5hbWUgPSAiaW5kZXgiLAorCisJCS5maXhlZF9hbW91bnQgPSBmYWxzZSwKKworCQku c2hhcmVkX3NpemUgPSBzaXplb2YoUGdTdGF0U2hhcmVkX0luZGV4KSwKKwkJLnNoYXJlZF9k YXRhX29mZiA9IG9mZnNldG9mKFBnU3RhdFNoYXJlZF9JbmRleCwgc3RhdHMpLAorCQkuc2hh cmVkX2RhdGFfbGVuID0gc2l6ZW9mKCgoUGdTdGF0U2hhcmVkX0luZGV4ICopIDApLT5zdGF0 cyksCisJCS5wZW5kaW5nX3NpemUgPSBzaXplb2YoUGdTdGF0X0luZGV4U3RhdHVzKSwKKwor CQkuZmx1c2hfcGVuZGluZ19jYiA9IHBnc3RhdF9pbmRleF9mbHVzaF9jYiwKKwkJLmRlbGV0 ZV9wZW5kaW5nX2NiID0gcGdzdGF0X2luZGV4X2RlbGV0ZV9wZW5kaW5nX2NiLAogCX0sCiAK IAlbUEdTVEFUX0tJTkRfRlVOQ1RJT05dID0gewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X2luZGV4LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS9wZ3N0YXRfaW5kZXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi44MjA1OTJjMTE5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWN0aXZpdHkvcGdzdGF0X2luZGV4LmMKQEAgLTAsMCArMSwyOTcgQEAKKy8qIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAqCisgKiBwZ3N0YXRfaW5kZXguYworICoJICBJbXBsZW1lbnRhdGlv biBvZiBpbmRleCBzdGF0aXN0aWNzLgorICoKKyAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUg aW1wbGVtZW50YXRpb24gb2YgZnVuY3Rpb24gaW5kZXguIEl0IGlzIGtlcHQKKyAqIHNlcGFy YXRlIGZyb20gcGdzdGF0LmMgdG8gZW5mb3JjZSB0aGUgbGluZSBiZXR3ZWVuIHRoZSBzdGF0 aXN0aWNzIGFjY2VzcyAvCisgKiBzdG9yYWdlIGltcGxlbWVudGF0aW9uIGFuZCB0aGUgZGV0 YWlscyBhYm91dCBpbmRpdmlkdWFsIHR5cGVzIG9mCisgKiBzdGF0aXN0aWNzLgorICoKKyAq IENvcHlyaWdodCAoYykgMjAwMS0yMDIyLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVu dCBHcm91cAorICoKKyAqIElERU5USUZJQ0FUSU9OCisgKgkgIHNyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdF9pbmRleC5jCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8K KworI2luY2x1ZGUgInBvc3RncmVzLmgiCisKKyNpbmNsdWRlICJhY2Nlc3MveGFjdC5oIgor I2luY2x1ZGUgInV0aWxzL3Bnc3RhdF9pbnRlcm5hbC5oIgorI2luY2x1ZGUgInV0aWxzL3Jl bC5oIgorI2luY2x1ZGUgImNhdGFsb2cvY2F0YWxvZy5oIgorCitzdGF0aWMgUGdTdGF0X0lu ZGV4U3RhdHVzICpwZ3N0YXRfcHJlcF9pbmRleF9wZW5kaW5nKE9pZCByZWxfaWQsIGJvb2wg aXNzaGFyZWQpOworCisvKgorICogQ29weSBzdGF0cyBiZXR3ZWVuIGluZGV4ZXMuIFRoaXMg aXMgdXNlZCBmb3IgdGhpbmdzIGxpa2UgUkVJTkRFWAorICogQ09OQ1VSUkVOVExZLgorICov Cit2b2lkCitwZ3N0YXRfY29weV9pbmRleF9zdGF0cyhSZWxhdGlvbiBkc3QsIFJlbGF0aW9u IHNyYykKK3sKKwlQZ1N0YXRfU3RhdEluZEVudHJ5ICpzcmNzdGF0czsKKwlQZ1N0YXRTaGFy ZWRfSW5kZXggKmRzdHNoc3RhdHM7CisJUGdTdGF0X0VudHJ5UmVmICpkc3RfcmVmOworCisJ c3Jjc3RhdHMgPSBwZ3N0YXRfZmV0Y2hfc3RhdF9pbmRlbnRyeV9leHQoc3JjLT5yZF9yZWwt PnJlbGlzc2hhcmVkLAorCQkJCQkJCQkJCQkgIFJlbGF0aW9uR2V0UmVsaWQoc3JjKSk7CisJ aWYgKCFzcmNzdGF0cykKKwkJcmV0dXJuOworCisJZHN0X3JlZiA9IHBnc3RhdF9nZXRfZW50 cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9JTkRFWCwKKwkJCQkJCQkJCQkgIGRzdC0+cmRf cmVsLT5yZWxpc3NoYXJlZCA/IEludmFsaWRPaWQgOiBNeURhdGFiYXNlSWQsCisJCQkJCQkJ CQkJICBSZWxhdGlvbkdldFJlbGlkKGRzdCksCisJCQkJCQkJCQkJICBmYWxzZSk7CisKKwlk c3RzaHN0YXRzID0gKFBnU3RhdFNoYXJlZF9JbmRleCAqKSBkc3RfcmVmLT5zaGFyZWRfc3Rh dHM7CisJZHN0c2hzdGF0cy0+c3RhdHMgPSAqc3Jjc3RhdHM7CisKKwlwZ3N0YXRfdW5sb2Nr X2VudHJ5KGRzdF9yZWYpOworfQorCisvKgorICogSW5pdGlhbGl6ZSBhIHJlbGNhY2hlIGVu dHJ5IHRvIGNvdW50IGFjY2VzcyBzdGF0aXN0aWNzLiAgQ2FsbGVkIHdoZW5ldmVyIGFuCisg KiBpbmRleCBpcyBvcGVuZWQuCisgKgorICogV2UgYXNzdW1lIHRoYXQgYSByZWxjYWNoZSBl bnRyeSdzIHBnc3RhdGluZF9pbmZvIGZpZWxkIGlzIHplcm9lZCBieSByZWxjYWNoZS5jCisg KiB3aGVuIHRoZSByZWxjYWNoZSBlbnRyeSBpcyBtYWRlOyB0aGVyZWFmdGVyIGl0IGlzIGxv bmctbGl2ZWQgZGF0YS4KKyAqCisgKiBUaGlzIGRvZXMgbm90IGNyZWF0ZSBhIHJlZmVyZW5j ZSB0byBhIHN0YXRzIGVudHJ5IGluIHNoYXJlZCBtZW1vcnksIG5vcgorICogYWxsb2NhdGUg bWVtb3J5IGZvciB0aGUgcGVuZGluZyBzdGF0cy4gVGhhdCBoYXBwZW5zIGluCisgKiBwZ3N0 YXRfYXNzb2NfaW5kZXgoKS4KKyAqLwordm9pZAorcGdzdGF0X2luaXRfaW5kZXgoUmVsYXRp b24gcmVsKQoreworCS8qCisJICogV2Ugb25seSBjb3VudCBzdGF0cyBmb3IgaW5kZXhlcwor CSAqLworCUFzc2VydChyZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX0lOREVYKTsK KworCWlmICghcGdzdGF0X3RyYWNrX2NvdW50cykKKwl7CisJCWlmIChyZWwtPnBnc3RhdGlu ZF9pbmZvICE9IE5VTEwpCisJCQlwZ3N0YXRfdW5saW5rX2luZGV4KHJlbCk7CisKKwkJLyog V2UncmUgbm90IGNvdW50aW5nIGF0IGFsbCAqLworCQlyZWwtPnBnc3RhdF9lbmFibGVkID0g ZmFsc2U7CisJCXJlbC0+cGdzdGF0aW5kX2luZm8gPSBOVUxMOworCQlyZXR1cm47CisJfQor CisJcmVsLT5wZ3N0YXRfZW5hYmxlZCA9IHRydWU7Cit9CisKKy8qCisgKiBQcmVwYXJlIGZv ciBzdGF0aXN0aWNzIGZvciB0aGlzIGluZGV4IHRvIGJlIGNvbGxlY3RlZC4KKyAqCisgKiBU aGlzIGVuc3VyZXMgd2UgaGF2ZSBhIHJlZmVyZW5jZSB0byB0aGUgc3RhdHMgZW50cnkgYmVm b3JlIHN0YXRzIGNhbiBiZQorICogZ2VuZXJhdGVkLiBUaGF0IGlzIGltcG9ydGFudCBiZWNh dXNlIGFuIGluZGV4IGRyb3AgaW4gYW5vdGhlcgorICogY29ubmVjdGlvbiBjb3VsZCBvdGhl cndpc2UgbGVhZCB0byB0aGUgc3RhdHMgZW50cnkgYmVpbmcgZHJvcHBlZCwgd2hpY2ggdGhl bgorICogbGF0ZXIgd291bGQgZ2V0IHJlY3JlYXRlZCB3aGVuIGZsdXNoaW5nIHN0YXRzLgor ICoKKyAqIFRoaXMgaXMgc2VwYXJhdGUgZnJvbSBwZ3N0YXRfaW5pdF9pbmRleCgpIGFzIGl0 IGlzIG5vdCB1bmNvbW1vbiBmb3IKKyAqIHJlbGNhY2hlIGVudHJpZXMgdG8gYmUgb3BlbmVk IHdpdGhvdXQgZXZlciBnZXR0aW5nIHN0YXRzIHJlcG9ydGVkLgorICovCit2b2lkCitwZ3N0 YXRfYXNzb2NfaW5kZXgoUmVsYXRpb24gcmVsKQoreworCUFzc2VydChyZWwtPnBnc3RhdF9l bmFibGVkKTsKKwlBc3NlcnQocmVsLT5wZ3N0YXRpbmRfaW5mbyA9PSBOVUxMKTsKKworCS8q IEVsc2UgZmluZCBvciBtYWtlIHRoZSBQZ1N0YXRfSW5kZXhTdGF0dXMgZW50cnksIGFuZCB1 cGRhdGUgbGluayAqLworCXJlbC0+cGdzdGF0aW5kX2luZm8gPSBwZ3N0YXRfcHJlcF9pbmRl eF9wZW5kaW5nKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKKwkJCQkJCQkJCQkJCQlyZWwtPnJk X3JlbC0+cmVsaXNzaGFyZWQpOworCisJLyogZG9uJ3QgYWxsb3cgbGluayBhIHN0YXRzIHRv IG11bHRpcGxlIHJlbGNhY2hlIGVudHJpZXMgKi8KKwlBc3NlcnQocmVsLT5wZ3N0YXRpbmRf aW5mby0+cmVsYXRpb24gPT0gTlVMTCk7CisKKwkvKiBtYXJrIHRoaXMgcmVsYXRpb24gYXMg dGhlIG93bmVyICovCisJcmVsLT5wZ3N0YXRpbmRfaW5mby0+cmVsYXRpb24gPSByZWw7Cit9 CisKKy8qCisgKiBCcmVhayB0aGUgbXV0dWFsIGxpbmsgYmV0d2VlbiBhIHJlbGNhY2hlIGVu dHJ5IGFuZCBwZW5kaW5nIGluZGV4IHN0YXRzIGVudHJ5LgorICogVGhpcyBtdXN0IGJlIGNh bGxlZCB3aGVuZXZlciBvbmUgZW5kIG9mIHRoZSBsaW5rIGlzIHJlbW92ZWQuCisgKi8KK3Zv aWQKK3Bnc3RhdF91bmxpbmtfaW5kZXgoUmVsYXRpb24gcmVsKQoreworCisJaWYgKHJlbC0+ cGdzdGF0aW5kX2luZm8gPT0gTlVMTCkKKwkJcmV0dXJuOworCisJLyogbGluayBzYW5pdHkg Y2hlY2sgZm9yIHRoZSBpbmRleCBzdGF0cyAqLworCWlmIChyZWwtPnBnc3RhdGluZF9pbmZv KQorCXsKKwkJQXNzZXJ0KHJlbC0+cGdzdGF0aW5kX2luZm8tPnJlbGF0aW9uID09IHJlbCk7 CisJCXJlbC0+cGdzdGF0aW5kX2luZm8tPnJlbGF0aW9uID0gTlVMTDsKKwkJcmVsLT5wZ3N0 YXRpbmRfaW5mbyA9IE5VTEw7CisJfQorfQorCisvKgorICogRW5zdXJlIHRoYXQgaW5kZXgg c3RhdHMgYXJlIGRyb3BwZWQgaWYgdHJhbnNhY3Rpb24gYWJvcnRzLgorICovCit2b2lkCitw Z3N0YXRfY3JlYXRlX2luZGV4KFJlbGF0aW9uIHJlbCkKK3sKKwlwZ3N0YXRfY3JlYXRlX3Ry YW5zYWN0aW9uYWwoUEdTVEFUX0tJTkRfSU5ERVgsCisJCQkJCQkJCXJlbC0+cmRfcmVsLT5y ZWxpc3NoYXJlZCA/IEludmFsaWRPaWQgOiBNeURhdGFiYXNlSWQsCisJCQkJCQkJCVJlbGF0 aW9uR2V0UmVsaWQocmVsKSk7Cit9CisKKy8qCisgKiBFbnN1cmUgdGhhdCBpbmRleCBzdGF0 cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBjb21taXRzLgorICovCit2b2lkCitwZ3N0 YXRfZHJvcF9pbmRleChSZWxhdGlvbiByZWwpCit7CisJcGdzdGF0X2Ryb3BfdHJhbnNhY3Rp b25hbChQR1NUQVRfS0lORF9JTkRFWCwKKwkJCQkJCQkgIHJlbC0+cmRfcmVsLT5yZWxpc3No YXJlZCA/IEludmFsaWRPaWQgOiBNeURhdGFiYXNlSWQsCisJCQkJCQkJICBSZWxhdGlvbkdl dFJlbGlkKHJlbCkpOworfQorCisvKgorICogU3VwcG9ydCBmdW5jdGlvbiBmb3IgdGhlIFNR TC1jYWxsYWJsZSBwZ3N0YXQqIGZ1bmN0aW9ucy4gUmV0dXJucworICogdGhlIGNvbGxlY3Rl ZCBzdGF0aXN0aWNzIGZvciBvbmUgaW5kZXggb3IgTlVMTC4gTlVMTCBkb2Vzbid0IG1lYW4K KyAqIHRoYXQgdGhlIGluZGV4IGRvZXNuJ3QgZXhpc3QsIGp1c3QgdGhhdCB0aGVyZSBhcmUg bm8gc3RhdGlzdGljcywgc28gdGhlCisgKiBjYWxsZXIgaXMgYmV0dGVyIG9mZiB0byByZXBv cnQgWkVSTyBpbnN0ZWFkLgorICovCitQZ1N0YXRfU3RhdEluZEVudHJ5ICoKK3Bnc3RhdF9m ZXRjaF9zdGF0X2luZGVudHJ5KE9pZCByZWxpZCkKK3sKKwlyZXR1cm4gcGdzdGF0X2ZldGNo X3N0YXRfaW5kZW50cnlfZXh0KElzU2hhcmVkUmVsYXRpb24ocmVsaWQpLCByZWxpZCk7Cit9 CisKKy8qCisgKiBNb3JlIGVmZmljaWVudCB2ZXJzaW9uIG9mIHBnc3RhdF9mZXRjaF9zdGF0 X2luZGVudHJ5KCksIGFsbG93aW5nIHRvIHNwZWNpZnkKKyAqIHdoZXRoZXIgdGhlIHRvLWJl LWFjY2Vzc2VkIGluZGV4IGlzIHNoYXJlZCBvciBub3QuCisgKi8KK1BnU3RhdF9TdGF0SW5k RW50cnkgKgorcGdzdGF0X2ZldGNoX3N0YXRfaW5kZW50cnlfZXh0KGJvb2wgc2hhcmVkLCBP aWQgcmVsb2lkKQoreworCU9pZAkJCWRib2lkID0gKHNoYXJlZCA/IEludmFsaWRPaWQgOiBN eURhdGFiYXNlSWQpOworCisJcmV0dXJuIChQZ1N0YXRfU3RhdEluZEVudHJ5ICopCisJCXBn c3RhdF9mZXRjaF9lbnRyeShQR1NUQVRfS0lORF9JTkRFWCwgZGJvaWQsIHJlbG9pZCk7Cit9 CisKKy8qCisgKiBmaW5kIGFueSBleGlzdGluZyBQZ1N0YXRfSW5kZXhTdGF0dXMgZW50cnkg Zm9yIHJlbAorICoKKyAqIEZpbmQgYW55IGV4aXN0aW5nIFBnU3RhdF9JbmRleFN0YXR1cyBl bnRyeSBmb3IgcmVsX2lkIGluIHRoZSBjdXJyZW50CisgKiBkYXRhYmFzZS4gSWYgbm90IGZv dW5kLCB0cnkgZmluZGluZyBmcm9tIHNoYXJlZCBpbmRleGVzLgorICoKKyAqIElmIG5vIGVu dHJ5IGZvdW5kLCByZXR1cm4gTlVMTCwgZG9uJ3QgY3JlYXRlIGEgbmV3IG9uZQorICovCitQ Z1N0YXRfSW5kZXhTdGF0dXMgKgorZmluZF9pbmRzdGF0X2VudHJ5KE9pZCByZWxfaWQpCit7 CisJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7CisKKwllbnRyeV9yZWYgPSBwZ3N0YXRf ZmV0Y2hfcGVuZGluZ19lbnRyeShQR1NUQVRfS0lORF9JTkRFWCwgTXlEYXRhYmFzZUlkLCBy ZWxfaWQpOworCWlmICghZW50cnlfcmVmKQorCQllbnRyeV9yZWYgPSBwZ3N0YXRfZmV0Y2hf cGVuZGluZ19lbnRyeShQR1NUQVRfS0lORF9JTkRFWCwgSW52YWxpZE9pZCwgcmVsX2lkKTsK KworCWlmIChlbnRyeV9yZWYpCisJCXJldHVybiBlbnRyeV9yZWYtPnBlbmRpbmc7CisJcmV0 dXJuIE5VTEw7Cit9CisKKy8qCisgKiBGbHVzaCBvdXQgcGVuZGluZyBzdGF0cyBmb3IgdGhl IGVudHJ5CisgKgorICogSWYgbm93YWl0IGlzIHRydWUsIHRoaXMgZnVuY3Rpb24gcmV0dXJu cyBmYWxzZSBpZiBsb2NrIGNvdWxkIG5vdAorICogaW1tZWRpYXRlbHkgYWNxdWlyZWQsIG90 aGVyd2lzZSB0cnVlIGlzIHJldHVybmVkLgorICoKKyAqIFNvbWUgb2YgdGhlIHN0YXRzIGFy ZSBjb3BpZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgcGVuZGluZyBkYXRhYmFzZSBzdGF0cwor ICogZW50cnkgd2hlbiBzdWNjZXNzZnVsbHkgZmx1c2hpbmcuCisgKi8KK2Jvb2wKK3Bnc3Rh dF9pbmRleF9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dh aXQpCit7CisJc3RhdGljIGNvbnN0IFBnU3RhdF9JbmRleENvdW50cyBhbGxfemVyb2VzOwor CU9pZAkJCWRib2lkOworCisJUGdTdGF0X0luZGV4U3RhdHVzICpsc3RhdHM7IC8qIHBlbmRp bmcgc3RhdHMgZW50cnkgICovCisJUGdTdGF0U2hhcmVkX0luZGV4ICpzaHJlbGNvbXN0YXRz OworCVBnU3RhdF9TdGF0SW5kRW50cnkgKmluZGVudHJ5OwkvKiBpbmRleCBlbnRyeSBvZiBz aGFyZWQgc3RhdHMgKi8KKwlQZ1N0YXRfU3RhdERCRW50cnkgKmRiZW50cnk7CS8qIHBlbmRp bmcgZGF0YWJhc2UgZW50cnkgKi8KKworCWRib2lkID0gZW50cnlfcmVmLT5zaGFyZWRfZW50 cnktPmtleS5kYm9pZDsKKwlsc3RhdHMgPSAoUGdTdGF0X0luZGV4U3RhdHVzICopIGVudHJ5 X3JlZi0+cGVuZGluZzsKKwlzaHJlbGNvbXN0YXRzID0gKFBnU3RhdFNoYXJlZF9JbmRleCAq KSBlbnRyeV9yZWYtPnNoYXJlZF9zdGF0czsKKworCS8qCisJICogSWdub3JlIGVudHJpZXMg dGhhdCBkaWRuJ3QgYWNjdW11bGF0ZSBhbnkgYWN0dWFsIGNvdW50cywgc3VjaCBhcworCSAq IGluZGV4ZXMgdGhhdCB3ZXJlIG9wZW5lZCBieSB0aGUgcGxhbm5lciBidXQgbm90IHVzZWQu CisJICovCisJaWYgKG1lbWNtcCgmbHN0YXRzLT5pX2NvdW50cywgJmFsbF96ZXJvZXMsCisJ CQkgICBzaXplb2YoUGdTdGF0X0luZGV4Q291bnRzKSkgPT0gMCkKKwl7CisJCXJldHVybiB0 cnVlOworCX0KKworCWlmICghcGdzdGF0X2xvY2tfZW50cnkoZW50cnlfcmVmLCBub3dhaXQp KQorCQlyZXR1cm4gZmFsc2U7CisKKwkvKiBhZGQgdGhlIHZhbHVlcyB0byB0aGUgc2hhcmVk IGVudHJ5LiAqLworCWluZGVudHJ5ID0gJnNocmVsY29tc3RhdHMtPnN0YXRzOworCisJaW5k ZW50cnktPm51bXNjYW5zICs9IGxzdGF0cy0+aV9jb3VudHMuaV9udW1zY2FuczsKKworCWlm IChsc3RhdHMtPmlfY291bnRzLmlfbnVtc2NhbnMpCisJeworCQlUaW1lc3RhbXBUeiB0ID0g R2V0Q3VycmVudFRyYW5zYWN0aW9uU3RvcFRpbWVzdGFtcCgpOworCisJCWlmICh0ID4gaW5k ZW50cnktPmxhc3RzY2FuKQorCQkJaW5kZW50cnktPmxhc3RzY2FuID0gdDsKKwl9CisJaW5k ZW50cnktPnR1cGxlc19yZXR1cm5lZCArPSBsc3RhdHMtPmlfY291bnRzLmlfdHVwbGVzX3Jl dHVybmVkOworCWluZGVudHJ5LT50dXBsZXNfZmV0Y2hlZCArPSBsc3RhdHMtPmlfY291bnRz LmlfdHVwbGVzX2ZldGNoZWQ7CisJaW5kZW50cnktPmJsb2Nrc19mZXRjaGVkICs9IGxzdGF0 cy0+aV9jb3VudHMuaV9ibG9ja3NfZmV0Y2hlZDsKKwlpbmRlbnRyeS0+YmxvY2tzX2hpdCAr PSBsc3RhdHMtPmlfY291bnRzLmlfYmxvY2tzX2hpdDsKKworCXBnc3RhdF91bmxvY2tfZW50 cnkoZW50cnlfcmVmKTsKKworCS8qIFRoZSBlbnRyeSB3YXMgc3VjY2Vzc2Z1bGx5IGZsdXNo ZWQsIGFkZCB0aGUgc2FtZSB0byBkYXRhYmFzZSBzdGF0cyAqLworCWRiZW50cnkgPSBwZ3N0 YXRfcHJlcF9kYXRhYmFzZV9wZW5kaW5nKGRib2lkKTsKKwlkYmVudHJ5LT50dXBsZXNfcmV0 dXJuZWQgKz0gbHN0YXRzLT5pX2NvdW50cy5pX3R1cGxlc19yZXR1cm5lZDsKKwlkYmVudHJ5 LT50dXBsZXNfZmV0Y2hlZCArPSBsc3RhdHMtPmlfY291bnRzLmlfdHVwbGVzX2ZldGNoZWQ7 CisJZGJlbnRyeS0+YmxvY2tzX2ZldGNoZWQgKz0gbHN0YXRzLT5pX2NvdW50cy5pX2Jsb2Nr c19mZXRjaGVkOworCWRiZW50cnktPmJsb2Nrc19oaXQgKz0gbHN0YXRzLT5pX2NvdW50cy5p X2Jsb2Nrc19oaXQ7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwordm9pZAorcGdzdGF0X2luZGV4 X2RlbGV0ZV9wZW5kaW5nX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmKQoreworCVBn U3RhdF9JbmRleFN0YXR1cyAqcGVuZGluZyA9IChQZ1N0YXRfSW5kZXhTdGF0dXMgKikgZW50 cnlfcmVmLT5wZW5kaW5nOworCisJaWYgKHBlbmRpbmctPnJlbGF0aW9uKQorCQlwZ3N0YXRf dW5saW5rX2luZGV4KHBlbmRpbmctPnJlbGF0aW9uKTsKK30KKworLyoKKyAqIEZpbmQgb3Ig Y3JlYXRlIGEgUGdTdGF0X0luZGV4U3RhdHVzIGVudHJ5IGZvciByZWwuIE5ldyBlbnRyeSBp cyBjcmVhdGVkIGFuZAorICogaW5pdGlhbGl6ZWQgaWYgbm90IGV4aXN0cy4KKyAqLworc3Rh dGljIFBnU3RhdF9JbmRleFN0YXR1cyAqCitwZ3N0YXRfcHJlcF9pbmRleF9wZW5kaW5nKE9p ZCByZWxfaWQsIGJvb2wgaXNzaGFyZWQpCit7CisJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9y ZWY7CisJUGdTdGF0X0luZGV4U3RhdHVzICpwZW5kaW5nOworCisJZW50cnlfcmVmID0gcGdz dGF0X3ByZXBfcGVuZGluZ19lbnRyeShQR1NUQVRfS0lORF9JTkRFWCwKKwkJCQkJCQkJCQkg IGlzc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJhc2VJZCwKKwkJCQkJCQkJCQkgIHJl bF9pZCwgTlVMTCk7CisJcGVuZGluZyA9IGVudHJ5X3JlZi0+cGVuZGluZzsKKwlwZW5kaW5n LT5yX2lkID0gcmVsX2lkOworCXBlbmRpbmctPnJfc2hhcmVkID0gaXNzaGFyZWQ7CisKKwly ZXR1cm4gcGVuZGluZzsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3Bnc3RhdF9yZWxhdGlvbi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdz dGF0X3RhYmxlLmMKc2ltaWxhcml0eSBpbmRleCA3NSUKcmVuYW1lIGZyb20gc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9uLmMKcmVuYW1lIHRvIHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF90YWJsZS5jCmluZGV4IGY5Nzg4YzMwYWUuLjdl NGUwMTM0ZGYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF90 YWJsZS5jCkBAIC0xLDkgKzEsOSBAQAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICoKLSAq IHBnc3RhdF9yZWxhdGlvbi5jCi0gKgkgIEltcGxlbWVudGF0aW9uIG9mIHJlbGF0aW9uIHN0 YXRpc3RpY3MuCisgKiBwZ3N0YXRfdGFibGUuYworICoJICBJbXBsZW1lbnRhdGlvbiBvZiB0 YWJsZSBzdGF0aXN0aWNzLgogICoKLSAqIFRoaXMgZmlsZSBjb250YWlucyB0aGUgaW1wbGVt ZW50YXRpb24gb2YgZnVuY3Rpb24gcmVsYXRpb24uIEl0IGlzIGtlcHQKKyAqIFRoaXMgZmls ZSBjb250YWlucyB0aGUgaW1wbGVtZW50YXRpb24gb2YgZnVuY3Rpb24gdGFibGUuIEl0IGlz IGtlcHQKICAqIHNlcGFyYXRlIGZyb20gcGdzdGF0LmMgdG8gZW5mb3JjZSB0aGUgbGluZSBi ZXR3ZWVuIHRoZSBzdGF0aXN0aWNzIGFjY2VzcyAvCiAgKiBzdG9yYWdlIGltcGxlbWVudGF0 aW9uIGFuZCB0aGUgZGV0YWlscyBhYm91dCBpbmRpdmlkdWFsIHR5cGVzIG9mCiAgKiBzdGF0 aXN0aWNzLgpAQCAtMTEsNyArMTEsNyBAQAogICogQ29weXJpZ2h0IChjKSAyMDAxLTIwMjIs IFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCiAgKgogICogSURFTlRJRklD QVRJT04KLSAqCSAgc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3JlbGF0aW9u LmMKKyAqCSAgc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3RhYmxlLmMKICAq IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCkBAIC00NCw3NCArNDQsNDggQEAgdHlwZWRl ZiBzdHJ1Y3QgVHdvUGhhc2VQZ1N0YXRSZWNvcmQKIH0gVHdvUGhhc2VQZ1N0YXRSZWNvcmQ7 CiAKIAotc3RhdGljIFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X3ByZXBfcmVsYXRpb25f cGVuZGluZyhPaWQgcmVsX2lkLCBib29sIGlzc2hhcmVkKTsKLXN0YXRpYyB2b2lkIGFkZF90 YWJzdGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbywgaW50 IG5lc3RfbGV2ZWwpOwotc3RhdGljIHZvaWQgZW5zdXJlX3RhYnN0YXRfeGFjdF9sZXZlbChQ Z1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvKTsKK3N0YXRpYyBQZ1N0YXRfVGFibGVT dGF0dXMgKnBnc3RhdF9wcmVwX3RhYmxlX3BlbmRpbmcoT2lkIHJlbF9pZCwgYm9vbCBpc3No YXJlZCk7CitzdGF0aWMgdm9pZCBhZGRfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJs ZVN0YXR1cyAqcGdzdGF0dGFiX2luZm8sIGludCBuZXN0X2xldmVsKTsKK3N0YXRpYyB2b2lk IGVuc3VyZV90YWJzdGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXR0 YWJfaW5mbyk7CiBzdGF0aWMgdm9pZCBzYXZlX3RydW5jZHJvcF9jb3VudGVycyhQZ1N0YXRf VGFibGVYYWN0U3RhdHVzICp0cmFucywgYm9vbCBpc19kcm9wKTsKIHN0YXRpYyB2b2lkIHJl c3RvcmVfdHJ1bmNkcm9wX2NvdW50ZXJzKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5z KTsKIAotCi0vKgotICogQ29weSBzdGF0cyBiZXR3ZWVuIHJlbGF0aW9ucy4gVGhpcyBpcyB1 c2VkIGZvciB0aGluZ3MgbGlrZSBSRUlOREVYCi0gKiBDT05DVVJSRU5UTFkuCi0gKi8KLXZv aWQKLXBnc3RhdF9jb3B5X3JlbGF0aW9uX3N0YXRzKFJlbGF0aW9uIGRzdCwgUmVsYXRpb24g c3JjKQotewotCVBnU3RhdF9TdGF0VGFiRW50cnkgKnNyY3N0YXRzOwotCVBnU3RhdFNoYXJl ZF9SZWxhdGlvbiAqZHN0c2hzdGF0czsKLQlQZ1N0YXRfRW50cnlSZWYgKmRzdF9yZWY7Ci0K LQlzcmNzdGF0cyA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5X2V4dChzcmMtPnJkX3Jl bC0+cmVsaXNzaGFyZWQsCi0JCQkJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxpZChzcmMpKTsK LQlpZiAoIXNyY3N0YXRzKQotCQlyZXR1cm47Ci0KLQlkc3RfcmVmID0gcGdzdGF0X2dldF9l bnRyeV9yZWZfbG9ja2VkKFBHU1RBVF9LSU5EX1JFTEFUSU9OLAotCQkJCQkJCQkJCSAgZHN0 LT5yZF9yZWwtPnJlbGlzc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJhc2VJZCwKLQkJ CQkJCQkJCQkgIFJlbGF0aW9uR2V0UmVsaWQoZHN0KSwKLQkJCQkJCQkJCQkgIGZhbHNlKTsK LQotCWRzdHNoc3RhdHMgPSAoUGdTdGF0U2hhcmVkX1JlbGF0aW9uICopIGRzdF9yZWYtPnNo YXJlZF9zdGF0czsKLQlkc3RzaHN0YXRzLT5zdGF0cyA9ICpzcmNzdGF0czsKLQotCXBnc3Rh dF91bmxvY2tfZW50cnkoZHN0X3JlZik7Ci19Ci0KIC8qCiAgKiBJbml0aWFsaXplIGEgcmVs Y2FjaGUgZW50cnkgdG8gY291bnQgYWNjZXNzIHN0YXRpc3RpY3MuICBDYWxsZWQgd2hlbmV2 ZXIgYQotICogcmVsYXRpb24gaXMgb3BlbmVkLgorICogdGFibGUgaXMgb3BlbmVkLgogICoK LSAqIFdlIGFzc3VtZSB0aGF0IGEgcmVsY2FjaGUgZW50cnkncyBwZ3N0YXRfaW5mbyBmaWVs ZCBpcyB6ZXJvZWQgYnkgcmVsY2FjaGUuYworICogV2UgYXNzdW1lIHRoYXQgYSByZWxjYWNo ZSBlbnRyeSdzIHBnc3RhdHRhYl9pbmZvIGZpZWxkIGlzIHplcm9lZCBieSByZWxjYWNoZS5j CiAgKiB3aGVuIHRoZSByZWxjYWNoZSBlbnRyeSBpcyBtYWRlOyB0aGVyZWFmdGVyIGl0IGlz IGxvbmctbGl2ZWQgZGF0YS4KICAqCiAgKiBUaGlzIGRvZXMgbm90IGNyZWF0ZSBhIHJlZmVy ZW5jZSB0byBhIHN0YXRzIGVudHJ5IGluIHNoYXJlZCBtZW1vcnksIG5vcgogICogYWxsb2Nh dGUgbWVtb3J5IGZvciB0aGUgcGVuZGluZyBzdGF0cy4gVGhhdCBoYXBwZW5zIGluCi0gKiBw Z3N0YXRfYXNzb2NfcmVsYXRpb24oKS4KKyAqIHBnc3RhdF9hc3NvY190YWJsZSgpLgogICov CiB2b2lkCi1wZ3N0YXRfaW5pdF9yZWxhdGlvbihSZWxhdGlvbiByZWwpCitwZ3N0YXRfaW5p dF90YWJsZShSZWxhdGlvbiByZWwpCiB7CiAJY2hhcgkJcmVsa2luZCA9IHJlbC0+cmRfcmVs LT5yZWxraW5kOwogCisJQXNzZXJ0KHJlbGtpbmQgIT0gUkVMS0lORF9JTkRFWCk7CisKIAkv KgogCSAqIFdlIG9ubHkgY291bnQgc3RhdHMgZm9yIHJlbGF0aW9ucyB3aXRoIHN0b3JhZ2Ug YW5kIHBhcnRpdGlvbmVkIHRhYmxlcwogCSAqLwogCWlmICghUkVMS0lORF9IQVNfU1RPUkFH RShyZWxraW5kKSAmJiByZWxraW5kICE9IFJFTEtJTkRfUEFSVElUSU9ORURfVEFCTEUpCiAJ ewogCQlyZWwtPnBnc3RhdF9lbmFibGVkID0gZmFsc2U7Ci0JCXJlbC0+cGdzdGF0X2luZm8g PSBOVUxMOworCQlyZWwtPnBnc3RhdHRhYl9pbmZvID0gTlVMTDsKIAkJcmV0dXJuOwogCX0K IAogCWlmICghcGdzdGF0X3RyYWNrX2NvdW50cykKIAl7Ci0JCWlmIChyZWwtPnBnc3RhdF9p bmZvKQotCQkJcGdzdGF0X3VubGlua19yZWxhdGlvbihyZWwpOworCQlpZiAocmVsLT5wZ3N0 YXR0YWJfaW5mbyAhPSBOVUxMKQorCQkJcGdzdGF0X3VubGlua190YWJsZShyZWwpOwogCiAJ CS8qIFdlJ3JlIG5vdCBjb3VudGluZyBhdCBhbGwgKi8KIAkJcmVsLT5wZ3N0YXRfZW5hYmxl ZCA9IGZhbHNlOwotCQlyZWwtPnBnc3RhdF9pbmZvID0gTlVMTDsKKwkJcmVsLT5wZ3N0YXR0 YWJfaW5mbyA9IE5VTEw7CiAJCXJldHVybjsKIAl9CiAKQEAgLTExOSw4OSArOTMsOTIgQEAg cGdzdGF0X2luaXRfcmVsYXRpb24oUmVsYXRpb24gcmVsKQogfQogCiAvKgotICogUHJlcGFy ZSBmb3Igc3RhdGlzdGljcyBmb3IgdGhpcyByZWxhdGlvbiB0byBiZSBjb2xsZWN0ZWQuCisg KiBQcmVwYXJlIGZvciBzdGF0aXN0aWNzIGZvciB0aGlzIHRhYmxlIHRvIGJlIGNvbGxlY3Rl ZC4KICAqCiAgKiBUaGlzIGVuc3VyZXMgd2UgaGF2ZSBhIHJlZmVyZW5jZSB0byB0aGUgc3Rh dHMgZW50cnkgYmVmb3JlIHN0YXRzIGNhbiBiZQotICogZ2VuZXJhdGVkLiBUaGF0IGlzIGlt cG9ydGFudCBiZWNhdXNlIGEgcmVsYXRpb24gZHJvcCBpbiBhbm90aGVyIGNvbm5lY3Rpb24K KyAqIGdlbmVyYXRlZC4gVGhhdCBpcyBpbXBvcnRhbnQgYmVjYXVzZSBhIHRhYmxlIGRyb3Ag aW4gYW5vdGhlciBjb25uZWN0aW9uCiAgKiBjb3VsZCBvdGhlcndpc2UgbGVhZCB0byB0aGUg c3RhdHMgZW50cnkgYmVpbmcgZHJvcHBlZCwgd2hpY2ggdGhlbiBsYXRlcgogICogd291bGQg Z2V0IHJlY3JlYXRlZCB3aGVuIGZsdXNoaW5nIHN0YXRzLgogICoKLSAqIFRoaXMgaXMgc2Vw YXJhdGUgZnJvbSBwZ3N0YXRfaW5pdF9yZWxhdGlvbigpIGFzIGl0IGlzIG5vdCB1bmNvbW1v biBmb3IKKyAqIFRoaXMgaXMgc2VwYXJhdGUgZnJvbSBwZ3N0YXRfaW5pdF90YWJsZSgpIGFz IGl0IGlzIG5vdCB1bmNvbW1vbiBmb3IKICAqIHJlbGNhY2hlIGVudHJpZXMgdG8gYmUgb3Bl bmVkIHdpdGhvdXQgZXZlciBnZXR0aW5nIHN0YXRzIHJlcG9ydGVkLgogICovCiB2b2lkCi1w Z3N0YXRfYXNzb2NfcmVsYXRpb24oUmVsYXRpb24gcmVsKQorcGdzdGF0X2Fzc29jX3RhYmxl KFJlbGF0aW9uIHJlbCkKIHsKIAlBc3NlcnQocmVsLT5wZ3N0YXRfZW5hYmxlZCk7Ci0JQXNz ZXJ0KHJlbC0+cGdzdGF0X2luZm8gPT0gTlVMTCk7CisJQXNzZXJ0KHJlbC0+cGdzdGF0dGFi X2luZm8gPT0gTlVMTCk7CiAKIAkvKiBFbHNlIGZpbmQgb3IgbWFrZSB0aGUgUGdTdGF0X1Rh YmxlU3RhdHVzIGVudHJ5LCBhbmQgdXBkYXRlIGxpbmsgKi8KLQlyZWwtPnBnc3RhdF9pbmZv ID0gcGdzdGF0X3ByZXBfcmVsYXRpb25fcGVuZGluZyhSZWxhdGlvbkdldFJlbGlkKHJlbCks CisJcmVsLT5wZ3N0YXR0YWJfaW5mbyA9IHBnc3RhdF9wcmVwX3RhYmxlX3BlbmRpbmcoUmVs YXRpb25HZXRSZWxpZChyZWwpLAogCQkJCQkJCQkJCQkJCXJlbC0+cmRfcmVsLT5yZWxpc3No YXJlZCk7CiAKIAkvKiBkb24ndCBhbGxvdyBsaW5rIGEgc3RhdHMgdG8gbXVsdGlwbGUgcmVs Y2FjaGUgZW50cmllcyAqLwotCUFzc2VydChyZWwtPnBnc3RhdF9pbmZvLT5yZWxhdGlvbiA9 PSBOVUxMKTsKKwlBc3NlcnQocmVsLT5wZ3N0YXR0YWJfaW5mby0+cmVsYXRpb24gPT0gTlVM TCk7CiAKIAkvKiBtYXJrIHRoaXMgcmVsYXRpb24gYXMgdGhlIG93bmVyICovCi0JcmVsLT5w Z3N0YXRfaW5mby0+cmVsYXRpb24gPSByZWw7CisJcmVsLT5wZ3N0YXR0YWJfaW5mby0+cmVs YXRpb24gPSByZWw7CiB9CiAKIC8qCi0gKiBCcmVhayB0aGUgbXV0dWFsIGxpbmsgYmV0d2Vl biBhIHJlbGNhY2hlIGVudHJ5IGFuZCBwZW5kaW5nIHN0YXRzIGVudHJ5LgorICogQnJlYWsg dGhlIG11dHVhbCBsaW5rIGJldHdlZW4gYSByZWxjYWNoZSBlbnRyeSBhbmQgcGVuZGluZyB0 YWJsZSBzdGF0cyBlbnRyeS4KICAqIFRoaXMgbXVzdCBiZSBjYWxsZWQgd2hlbmV2ZXIgb25l IGVuZCBvZiB0aGUgbGluayBpcyByZW1vdmVkLgogICovCiB2b2lkCi1wZ3N0YXRfdW5saW5r X3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkKK3Bnc3RhdF91bmxpbmtfdGFibGUoUmVsYXRpb24g cmVsKQogewotCS8qIHJlbW92ZSB0aGUgbGluayB0byBzdGF0cyBpbmZvIGlmIGFueSAqLwot CWlmIChyZWwtPnBnc3RhdF9pbmZvID09IE5VTEwpCisKKwlpZiAocmVsLT5wZ3N0YXR0YWJf aW5mbyA9PSBOVUxMKQogCQlyZXR1cm47CiAKLQkvKiBsaW5rIHNhbml0eSBjaGVjayAqLwot CUFzc2VydChyZWwtPnBnc3RhdF9pbmZvLT5yZWxhdGlvbiA9PSByZWwpOwotCXJlbC0+cGdz dGF0X2luZm8tPnJlbGF0aW9uID0gTlVMTDsKLQlyZWwtPnBnc3RhdF9pbmZvID0gTlVMTDsK KwkvKiBsaW5rIHNhbml0eSBjaGVjayBmb3IgdGhlIHRhYmxlIHN0YXRzICovCisJaWYgKHJl bC0+cGdzdGF0dGFiX2luZm8pCisJeworCQlBc3NlcnQocmVsLT5wZ3N0YXR0YWJfaW5mby0+ cmVsYXRpb24gPT0gcmVsKTsKKwkJcmVsLT5wZ3N0YXR0YWJfaW5mby0+cmVsYXRpb24gPSBO VUxMOworCQlyZWwtPnBnc3RhdHRhYl9pbmZvID0gTlVMTDsKKwl9CiB9CiAKIC8qCi0gKiBF bnN1cmUgdGhhdCBzdGF0cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBhYm9ydHMuCisg KiBFbnN1cmUgdGhhdCB0YWJsZSBzdGF0cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBh Ym9ydHMuCiAgKi8KIHZvaWQKLXBnc3RhdF9jcmVhdGVfcmVsYXRpb24oUmVsYXRpb24gcmVs KQorcGdzdGF0X2NyZWF0ZV90YWJsZShSZWxhdGlvbiByZWwpCiB7Ci0JcGdzdGF0X2NyZWF0 ZV90cmFuc2FjdGlvbmFsKFBHU1RBVF9LSU5EX1JFTEFUSU9OLAorCXBnc3RhdF9jcmVhdGVf dHJhbnNhY3Rpb25hbChQR1NUQVRfS0lORF9UQUJMRSwKIAkJCQkJCQkJcmVsLT5yZF9yZWwt PnJlbGlzc2hhcmVkID8gSW52YWxpZE9pZCA6IE15RGF0YWJhc2VJZCwKIAkJCQkJCQkJUmVs YXRpb25HZXRSZWxpZChyZWwpKTsKIH0KIAogLyoKLSAqIEVuc3VyZSB0aGF0IHN0YXRzIGFy ZSBkcm9wcGVkIGlmIHRyYW5zYWN0aW9uIGNvbW1pdHMuCisgKiBFbnN1cmUgdGhhdCB0YWJs ZSBzdGF0cyBhcmUgZHJvcHBlZCBpZiB0cmFuc2FjdGlvbiBjb21taXRzLgogICovCiB2b2lk Ci1wZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwpCitwZ3N0YXRfZHJvcF90YWJs ZShSZWxhdGlvbiByZWwpCiB7CiAJaW50CQkJbmVzdF9sZXZlbCA9IEdldEN1cnJlbnRUcmFu c2FjdGlvbk5lc3RMZXZlbCgpOwotCVBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm87 CisJUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXR0YWJfaW5mbzsKIAotCXBnc3RhdF9kcm9w X3RyYW5zYWN0aW9uYWwoUEdTVEFUX0tJTkRfUkVMQVRJT04sCisJcGdzdGF0X2Ryb3BfdHJh bnNhY3Rpb25hbChQR1NUQVRfS0lORF9UQUJMRSwKIAkJCQkJCQkgIHJlbC0+cmRfcmVsLT5y ZWxpc3NoYXJlZCA/IEludmFsaWRPaWQgOiBNeURhdGFiYXNlSWQsCiAJCQkJCQkJICBSZWxh dGlvbkdldFJlbGlkKHJlbCkpOwogCi0JaWYgKCFwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0 aW9uKHJlbCkpCisJaWYgKCFwZ3N0YXRfc2hvdWxkX2NvdW50X3RhYmxlKHJlbCkpCiAJCXJl dHVybjsKIAogCS8qCiAJICogVHJhbnNhY3Rpb25hbGx5IHNldCBjb3VudGVycyB0byAwLiBU aGF0IGVuc3VyZXMgdGhhdCBhY2Nlc3NlcyB0bwogCSAqIHBnX3N0YXRfeGFjdF9hbGxfdGFi bGVzIGluc2lkZSB0aGUgdHJhbnNhY3Rpb24gc2hvdyAwLgogCSAqLwotCXBnc3RhdF9pbmZv ID0gcmVsLT5wZ3N0YXRfaW5mbzsKLQlpZiAocGdzdGF0X2luZm8tPnRyYW5zICYmCi0JCXBn c3RhdF9pbmZvLT50cmFucy0+bmVzdF9sZXZlbCA9PSBuZXN0X2xldmVsKQorCXBnc3RhdHRh Yl9pbmZvID0gcmVsLT5wZ3N0YXR0YWJfaW5mbzsKKwlpZiAocGdzdGF0dGFiX2luZm8tPnRy YW5zICYmCisJCXBnc3RhdHRhYl9pbmZvLT50cmFucy0+bmVzdF9sZXZlbCA9PSBuZXN0X2xl dmVsKQogCXsKLQkJc2F2ZV90cnVuY2Ryb3BfY291bnRlcnMocGdzdGF0X2luZm8tPnRyYW5z LCB0cnVlKTsKLQkJcGdzdGF0X2luZm8tPnRyYW5zLT50dXBsZXNfaW5zZXJ0ZWQgPSAwOwot CQlwZ3N0YXRfaW5mby0+dHJhbnMtPnR1cGxlc191cGRhdGVkID0gMDsKLQkJcGdzdGF0X2lu Zm8tPnRyYW5zLT50dXBsZXNfZGVsZXRlZCA9IDA7CisJCXNhdmVfdHJ1bmNkcm9wX2NvdW50 ZXJzKHBnc3RhdHRhYl9pbmZvLT50cmFucywgdHJ1ZSk7CisJCXBnc3RhdHRhYl9pbmZvLT50 cmFucy0+dHVwbGVzX2luc2VydGVkID0gMDsKKwkJcGdzdGF0dGFiX2luZm8tPnRyYW5zLT50 dXBsZXNfdXBkYXRlZCA9IDA7CisJCXBnc3RhdHRhYl9pbmZvLT50cmFucy0+dHVwbGVzX2Rl bGV0ZWQgPSAwOwogCX0KIH0KIApAQCAtMjEzLDcgKzE5MCw3IEBAIHBnc3RhdF9yZXBvcnRf dmFjdXVtKE9pZCB0YWJsZW9pZCwgYm9vbCBzaGFyZWQsCiAJCQkJCSBQZ1N0YXRfQ291bnRl ciBsaXZldHVwbGVzLCBQZ1N0YXRfQ291bnRlciBkZWFkdHVwbGVzKQogewogCVBnU3RhdF9F bnRyeVJlZiAqZW50cnlfcmVmOwotCVBnU3RhdFNoYXJlZF9SZWxhdGlvbiAqc2h0YWJlbnRy eTsKKwlQZ1N0YXRTaGFyZWRfVGFibGUgKnNodGFiZW50cnk7CiAJUGdTdGF0X1N0YXRUYWJF bnRyeSAqdGFiZW50cnk7CiAJT2lkCQkJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9pZCA6 IE15RGF0YWJhc2VJZCk7CiAJVGltZXN0YW1wVHogdHM7CkBAIC0yMjUsMTAgKzIwMiwxMCBA QCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShPaWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCXRz ID0gR2V0Q3VycmVudFRpbWVzdGFtcCgpOwogCiAJLyogYmxvY2sgYWNxdWlyaW5nIGxvY2sg Zm9yIHRoZSBzYW1lIHJlYXNvbiBhcyBwZ3N0YXRfcmVwb3J0X2F1dG92YWMoKSAqLwotCWVu dHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lORF9SRUxB VElPTiwKKwllbnRyeV9yZWYgPSBwZ3N0YXRfZ2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdTVEFU X0tJTkRfVEFCTEUsCiAJCQkJCQkJCQkJCWRib2lkLCB0YWJsZW9pZCwgZmFsc2UpOwogCi0J c2h0YWJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKikgZW50cnlfcmVmLT5zaGFy ZWRfc3RhdHM7CisJc2h0YWJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfVGFibGUgKikgZW50cnlf cmVmLT5zaGFyZWRfc3RhdHM7CiAJdGFiZW50cnkgPSAmc2h0YWJlbnRyeS0+c3RhdHM7CiAK IAl0YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBsaXZldHVwbGVzOwpAQCAtMjcyLDcgKzI0OSw3 IEBAIHBnc3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAJCQkJCSAgYm9vbCBy ZXNldGNvdW50ZXIpCiB7CiAJUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWY7Ci0JUGdTdGF0 U2hhcmVkX1JlbGF0aW9uICpzaHRhYmVudHJ5OworCVBnU3RhdFNoYXJlZF9UYWJsZSAqc2h0 YWJlbnRyeTsKIAlQZ1N0YXRfU3RhdFRhYkVudHJ5ICp0YWJlbnRyeTsKIAlPaWQJCQlkYm9p ZCA9IChyZWwtPnJkX3JlbC0+cmVsaXNzaGFyZWQgPyBJbnZhbGlkT2lkIDogTXlEYXRhYmFz ZUlkKTsKIApAQCAtMjkxLDMxICsyNjgsMzEgQEAgcGdzdGF0X3JlcG9ydF9hbmFseXplKFJl bGF0aW9uIHJlbCwKIAkgKgogCSAqIFdhc3RlIG5vIHRpbWUgb24gcGFydGl0aW9uZWQgdGFi bGVzLCB0aG91Z2guCiAJICovCi0JaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24o cmVsKSAmJgorCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3RhYmxlKHJlbCkgJiYKIAkJcmVs LT5yZF9yZWwtPnJlbGtpbmQgIT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKIAl7CiAJ CVBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRyYW5zOwogCi0JCWZvciAodHJhbnMgPSByZWwt PnBnc3RhdF9pbmZvLT50cmFuczsgdHJhbnM7IHRyYW5zID0gdHJhbnMtPnVwcGVyKQorCQlm b3IgKHRyYW5zID0gcmVsLT5wZ3N0YXR0YWJfaW5mby0+dHJhbnM7IHRyYW5zOyB0cmFucyA9 IHRyYW5zLT51cHBlcikKIAkJewogCQkJbGl2ZXR1cGxlcyAtPSB0cmFucy0+dHVwbGVzX2lu c2VydGVkIC0gdHJhbnMtPnR1cGxlc19kZWxldGVkOwogCQkJZGVhZHR1cGxlcyAtPSB0cmFu cy0+dHVwbGVzX3VwZGF0ZWQgKyB0cmFucy0+dHVwbGVzX2RlbGV0ZWQ7CiAJCX0KIAkJLyog Y291bnQgc3R1ZmYgaW5zZXJ0ZWQgYnkgYWxyZWFkeS1hYm9ydGVkIHN1YnhhY3RzLCB0b28g Ki8KLQkJZGVhZHR1cGxlcyAtPSByZWwtPnBnc3RhdF9pbmZvLT50X2NvdW50cy50X2RlbHRh X2RlYWRfdHVwbGVzOworCQlkZWFkdHVwbGVzIC09IHJlbC0+cGdzdGF0dGFiX2luZm8tPnRf Y291bnRzLnRfZGVsdGFfZGVhZF90dXBsZXM7CiAJCS8qIFNpbmNlIEFOQUxZWkUncyBjb3Vu dHMgYXJlIGVzdGltYXRlcywgd2UgY291bGQgaGF2ZSB1bmRlcmZsb3dlZCAqLwogCQlsaXZl dHVwbGVzID0gTWF4KGxpdmV0dXBsZXMsIDApOwogCQlkZWFkdHVwbGVzID0gTWF4KGRlYWR0 dXBsZXMsIDApOwogCX0KIAogCS8qIGJsb2NrIGFjcXVpcmluZyBsb2NrIGZvciB0aGUgc2Ft ZSByZWFzb24gYXMgcGdzdGF0X3JlcG9ydF9hdXRvdmFjKCkgKi8KLQllbnRyeV9yZWYgPSBw Z3N0YXRfZ2V0X2VudHJ5X3JlZl9sb2NrZWQoUEdTVEFUX0tJTkRfUkVMQVRJT04sIGRib2lk LAorCWVudHJ5X3JlZiA9IHBnc3RhdF9nZXRfZW50cnlfcmVmX2xvY2tlZChQR1NUQVRfS0lO RF9UQUJMRSwgZGJvaWQsCiAJCQkJCQkJCQkJCVJlbGF0aW9uR2V0UmVsaWQocmVsKSwKIAkJ CQkJCQkJCQkJZmFsc2UpOwogCS8qIGNhbid0IGdldCBkcm9wcGVkIHdoaWxlIGFjY2Vzc2Vk ICovCiAJQXNzZXJ0KGVudHJ5X3JlZiAhPSBOVUxMICYmIGVudHJ5X3JlZi0+c2hhcmVkX3N0 YXRzICE9IE5VTEwpOwogCi0Jc2h0YWJlbnRyeSA9IChQZ1N0YXRTaGFyZWRfUmVsYXRpb24g KikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CisJc2h0YWJlbnRyeSA9IChQZ1N0YXRTaGFy ZWRfVGFibGUgKikgZW50cnlfcmVmLT5zaGFyZWRfc3RhdHM7CiAJdGFiZW50cnkgPSAmc2h0 YWJlbnRyeS0+c3RhdHM7CiAKIAl0YWJlbnRyeS0+bGl2ZV90dXBsZXMgPSBsaXZldHVwbGVz OwpAQCAtMzQ5LDEyICszMjYsMTIgQEAgcGdzdGF0X3JlcG9ydF9hbmFseXplKFJlbGF0aW9u IHJlbCwKIHZvaWQKIHBnc3RhdF9jb3VudF9oZWFwX2luc2VydChSZWxhdGlvbiByZWwsIFBn U3RhdF9Db3VudGVyIG4pCiB7Ci0JaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24o cmVsKSkKKwlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF90YWJsZShyZWwpKQogCXsKLQkJUGdT dGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbyA9IHJlbC0+cGdzdGF0X2luZm87CisJCVBn U3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0dGFiX2luZm8gPSByZWwtPnBnc3RhdHRhYl9pbmZv OwogCi0JCWVuc3VyZV90YWJzdGF0X3hhY3RfbGV2ZWwocGdzdGF0X2luZm8pOwotCQlwZ3N0 YXRfaW5mby0+dHJhbnMtPnR1cGxlc19pbnNlcnRlZCArPSBuOworCQllbnN1cmVfdGFic3Rh dF94YWN0X2xldmVsKHBnc3RhdHRhYl9pbmZvKTsKKwkJcGdzdGF0dGFiX2luZm8tPnRyYW5z LT50dXBsZXNfaW5zZXJ0ZWQgKz0gbjsKIAl9CiB9CiAKQEAgLTM2NCwxNiArMzQxLDE2IEBA IHBnc3RhdF9jb3VudF9oZWFwX2luc2VydChSZWxhdGlvbiByZWwsIFBnU3RhdF9Db3VudGVy IG4pCiB2b2lkCiBwZ3N0YXRfY291bnRfaGVhcF91cGRhdGUoUmVsYXRpb24gcmVsLCBib29s IGhvdCkKIHsKLQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQorCWlm IChwZ3N0YXRfc2hvdWxkX2NvdW50X3RhYmxlKHJlbCkpCiAJewotCQlQZ1N0YXRfVGFibGVT dGF0dXMgKnBnc3RhdF9pbmZvID0gcmVsLT5wZ3N0YXRfaW5mbzsKKwkJUGdTdGF0X1RhYmxl U3RhdHVzICpwZ3N0YXR0YWJfaW5mbyA9IHJlbC0+cGdzdGF0dGFiX2luZm87CiAKLQkJZW5z dXJlX3RhYnN0YXRfeGFjdF9sZXZlbChwZ3N0YXRfaW5mbyk7Ci0JCXBnc3RhdF9pbmZvLT50 cmFucy0+dHVwbGVzX3VwZGF0ZWQrKzsKKwkJZW5zdXJlX3RhYnN0YXRfeGFjdF9sZXZlbChw Z3N0YXR0YWJfaW5mbyk7CisJCXBnc3RhdHRhYl9pbmZvLT50cmFucy0+dHVwbGVzX3VwZGF0 ZWQrKzsKIAogCQkvKiB0X3R1cGxlc19ob3RfdXBkYXRlZCBpcyBub250cmFuc2FjdGlvbmFs LCBzbyBqdXN0IGFkdmFuY2UgaXQgKi8KIAkJaWYgKGhvdCkKLQkJCXBnc3RhdF9pbmZvLT50 X2NvdW50cy50X3R1cGxlc19ob3RfdXBkYXRlZCsrOworCQkJcGdzdGF0dGFiX2luZm8tPnRf Y291bnRzLnRfdHVwbGVzX2hvdF91cGRhdGVkKys7CiAJfQogfQogCkBAIC0zODMsMTIgKzM2 MCwxMiBAQCBwZ3N0YXRfY291bnRfaGVhcF91cGRhdGUoUmVsYXRpb24gcmVsLCBib29sIGhv dCkKIHZvaWQKIHBnc3RhdF9jb3VudF9oZWFwX2RlbGV0ZShSZWxhdGlvbiByZWwpCiB7Ci0J aWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkKKwlpZiAocGdzdGF0X3No b3VsZF9jb3VudF90YWJsZShyZWwpKQogCXsKLQkJUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0 YXRfaW5mbyA9IHJlbC0+cGdzdGF0X2luZm87CisJCVBnU3RhdF9UYWJsZVN0YXR1cyAqcGdz dGF0dGFiX2luZm8gPSByZWwtPnBnc3RhdHRhYl9pbmZvOwogCi0JCWVuc3VyZV90YWJzdGF0 X3hhY3RfbGV2ZWwocGdzdGF0X2luZm8pOwotCQlwZ3N0YXRfaW5mby0+dHJhbnMtPnR1cGxl c19kZWxldGVkKys7CisJCWVuc3VyZV90YWJzdGF0X3hhY3RfbGV2ZWwocGdzdGF0dGFiX2lu Zm8pOworCQlwZ3N0YXR0YWJfaW5mby0+dHJhbnMtPnR1cGxlc19kZWxldGVkKys7CiAJfQog fQogCkBAIC0zOTgsMTUgKzM3NSwxNSBAQCBwZ3N0YXRfY291bnRfaGVhcF9kZWxldGUoUmVs YXRpb24gcmVsKQogdm9pZAogcGdzdGF0X2NvdW50X3RydW5jYXRlKFJlbGF0aW9uIHJlbCkK IHsKLQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQorCWlmIChwZ3N0 YXRfc2hvdWxkX2NvdW50X3RhYmxlKHJlbCkpCiAJewotCQlQZ1N0YXRfVGFibGVTdGF0dXMg KnBnc3RhdF9pbmZvID0gcmVsLT5wZ3N0YXRfaW5mbzsKKwkJUGdTdGF0X1RhYmxlU3RhdHVz ICpwZ3N0YXR0YWJfaW5mbyA9IHJlbC0+cGdzdGF0dGFiX2luZm87CiAKLQkJZW5zdXJlX3Rh YnN0YXRfeGFjdF9sZXZlbChwZ3N0YXRfaW5mbyk7Ci0JCXNhdmVfdHJ1bmNkcm9wX2NvdW50 ZXJzKHBnc3RhdF9pbmZvLT50cmFucywgZmFsc2UpOwotCQlwZ3N0YXRfaW5mby0+dHJhbnMt PnR1cGxlc19pbnNlcnRlZCA9IDA7Ci0JCXBnc3RhdF9pbmZvLT50cmFucy0+dHVwbGVzX3Vw ZGF0ZWQgPSAwOwotCQlwZ3N0YXRfaW5mby0+dHJhbnMtPnR1cGxlc19kZWxldGVkID0gMDsK KwkJZW5zdXJlX3RhYnN0YXRfeGFjdF9sZXZlbChwZ3N0YXR0YWJfaW5mbyk7CisJCXNhdmVf dHJ1bmNkcm9wX2NvdW50ZXJzKHBnc3RhdHRhYl9pbmZvLT50cmFucywgZmFsc2UpOworCQlw Z3N0YXR0YWJfaW5mby0+dHJhbnMtPnR1cGxlc19pbnNlcnRlZCA9IDA7CisJCXBnc3RhdHRh Yl9pbmZvLT50cmFucy0+dHVwbGVzX3VwZGF0ZWQgPSAwOworCQlwZ3N0YXR0YWJfaW5mby0+ dHJhbnMtPnR1cGxlc19kZWxldGVkID0gMDsKIAl9CiB9CiAKQEAgLTQyMSwxMSArMzk4LDEx IEBAIHBnc3RhdF9jb3VudF90cnVuY2F0ZShSZWxhdGlvbiByZWwpCiB2b2lkCiBwZ3N0YXRf dXBkYXRlX2hlYXBfZGVhZF90dXBsZXMoUmVsYXRpb24gcmVsLCBpbnQgZGVsdGEpCiB7Ci0J aWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkKKwlpZiAocGdzdGF0X3No b3VsZF9jb3VudF90YWJsZShyZWwpKQogCXsKLQkJUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0 YXRfaW5mbyA9IHJlbC0+cGdzdGF0X2luZm87CisJCVBnU3RhdF9UYWJsZVN0YXR1cyAqcGdz dGF0dGFiX2luZm8gPSByZWwtPnBnc3RhdHRhYl9pbmZvOwogCi0JCXBnc3RhdF9pbmZvLT50 X2NvdW50cy50X2RlbHRhX2RlYWRfdHVwbGVzIC09IGRlbHRhOworCQlwZ3N0YXR0YWJfaW5m by0+dF9jb3VudHMudF9kZWx0YV9kZWFkX3R1cGxlcyAtPSBkZWx0YTsKIAl9CiB9CiAKQEAg LTQ1MSw3ICs0MjgsNyBAQCBwZ3N0YXRfZmV0Y2hfc3RhdF90YWJlbnRyeV9leHQoYm9vbCBz aGFyZWQsIE9pZCByZWxvaWQpCiAJT2lkCQkJZGJvaWQgPSAoc2hhcmVkID8gSW52YWxpZE9p ZCA6IE15RGF0YWJhc2VJZCk7CiAKIAlyZXR1cm4gKFBnU3RhdF9TdGF0VGFiRW50cnkgKikK LQkJcGdzdGF0X2ZldGNoX2VudHJ5KFBHU1RBVF9LSU5EX1JFTEFUSU9OLCBkYm9pZCwgcmVs b2lkKTsKKwkJcGdzdGF0X2ZldGNoX2VudHJ5KFBHU1RBVF9LSU5EX1RBQkxFLCBkYm9pZCwg cmVsb2lkKTsKIH0KIAogLyoKQEAgLTQ2Nyw5ICs0NDQsOSBAQCBmaW5kX3RhYnN0YXRfZW50 cnkoT2lkIHJlbF9pZCkKIHsKIAlQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZjsKIAotCWVu dHJ5X3JlZiA9IHBnc3RhdF9mZXRjaF9wZW5kaW5nX2VudHJ5KFBHU1RBVF9LSU5EX1JFTEFU SU9OLCBNeURhdGFiYXNlSWQsIHJlbF9pZCk7CisJZW50cnlfcmVmID0gcGdzdGF0X2ZldGNo X3BlbmRpbmdfZW50cnkoUEdTVEFUX0tJTkRfVEFCTEUsIE15RGF0YWJhc2VJZCwgcmVsX2lk KTsKIAlpZiAoIWVudHJ5X3JlZikKLQkJZW50cnlfcmVmID0gcGdzdGF0X2ZldGNoX3BlbmRp bmdfZW50cnkoUEdTVEFUX0tJTkRfUkVMQVRJT04sIEludmFsaWRPaWQsIHJlbF9pZCk7CisJ CWVudHJ5X3JlZiA9IHBnc3RhdF9mZXRjaF9wZW5kaW5nX2VudHJ5KFBHU1RBVF9LSU5EX1RB QkxFLCBJbnZhbGlkT2lkLCByZWxfaWQpOwogCiAJaWYgKGVudHJ5X3JlZikKIAkJcmV0dXJu IGVudHJ5X3JlZi0+cGVuZGluZzsKQEAgLTQ3Nyw3ICs0NTQsNyBAQCBmaW5kX3RhYnN0YXRf ZW50cnkoT2lkIHJlbF9pZCkKIH0KIAogLyoKLSAqIFBlcmZvcm0gcmVsYXRpb24gc3RhdHMg c3BlY2lmaWMgZW5kLW9mLXRyYW5zYWN0aW9uIHdvcmsuIEhlbHBlciBmb3IKKyAqIFBlcmZv cm0gdGFibGUgc3RhdHMgc3BlY2lmaWMgZW5kLW9mLXRyYW5zYWN0aW9uIHdvcmsuIEhlbHBl ciBmb3IKICAqIEF0RU9YYWN0X1BnU3RhdC4KICAqCiAgKiBUcmFuc2ZlciB0cmFuc2FjdGlv bmFsIGluc2VydC91cGRhdGUgY291bnRzIGludG8gdGhlIGJhc2UgdGFic3RhdCBlbnRyaWVz LgpAQCAtNDg1LDcgKzQ2Miw3IEBAIGZpbmRfdGFic3RhdF9lbnRyeShPaWQgcmVsX2lkKQog ICogVG9wVHJhbnNhY3Rpb25Db250ZXh0IGFuZCB3aWxsIGdvIGF3YXkgYW55d2F5LgogICov CiB2b2lkCi1BdEVPWGFjdF9QZ1N0YXRfUmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0U3RhdHVz ICp4YWN0X3N0YXRlLCBib29sIGlzQ29tbWl0KQorQXRFT1hhY3RfUGdTdGF0X1RhYmxlcyhQ Z1N0YXRfU3ViWGFjdFN0YXR1cyAqeGFjdF9zdGF0ZSwgYm9vbCBpc0NvbW1pdCkKIHsKIAlQ Z1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFuczsKIApAQCAtNTM2LDE0ICs1MTMsMTQgQEAg QXRFT1hhY3RfUGdTdGF0X1JlbGF0aW9ucyhQZ1N0YXRfU3ViWGFjdFN0YXR1cyAqeGFjdF9z dGF0ZSwgYm9vbCBpc0NvbW1pdCkKIH0KIAogLyoKLSAqIFBlcmZvcm0gcmVsYXRpb24gc3Rh dHMgc3BlY2lmaWMgZW5kLW9mLXN1Yi10cmFuc2FjdGlvbiB3b3JrLiBIZWxwZXIgZm9yCisg KiBQZXJmb3JtIHRhYmxlIHN0YXRzIHNwZWNpZmljIGVuZC1vZi1zdWItdHJhbnNhY3Rpb24g d29yay4gSGVscGVyIGZvcgogICogQXRFT1N1YlhhY3RfUGdTdGF0LgogICoKICAqIFRyYW5z ZmVyIHRyYW5zYWN0aW9uYWwgaW5zZXJ0L3VwZGF0ZSBjb3VudHMgaW50byB0aGUgbmV4dCBo aWdoZXIKICAqIHN1YnRyYW5zYWN0aW9uIHN0YXRlLgogICovCiB2b2lkCi1BdEVPU3ViWGFj dF9QZ1N0YXRfUmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0U3RhdHVzICp4YWN0X3N0YXRlLCBi b29sIGlzQ29tbWl0LCBpbnQgbmVzdERlcHRoKQorQXRFT1N1YlhhY3RfUGdTdGF0X1RhYmxl cyhQZ1N0YXRfU3ViWGFjdFN0YXR1cyAqeGFjdF9zdGF0ZSwgYm9vbCBpc0NvbW1pdCwgaW50 IG5lc3REZXB0aCkKIHsKIAlQZ1N0YXRfVGFibGVYYWN0U3RhdHVzICp0cmFuczsKIAlQZ1N0 YXRfVGFibGVYYWN0U3RhdHVzICpuZXh0X3RyYW5zOwpAQCAtNjIwLDExICs1OTcsMTEgQEAg QXRFT1N1YlhhY3RfUGdTdGF0X1JlbGF0aW9ucyhQZ1N0YXRfU3ViWGFjdFN0YXR1cyAqeGFj dF9zdGF0ZSwgYm9vbCBpc0NvbW1pdCwgaW4KIH0KIAogLyoKLSAqIEdlbmVyYXRlIDJQQyBy ZWNvcmRzIGZvciBhbGwgdGhlIHBlbmRpbmcgdHJhbnNhY3Rpb24tZGVwZW5kZW50IHJlbGF0 aW9uCisgKiBHZW5lcmF0ZSAyUEMgcmVjb3JkcyBmb3IgYWxsIHRoZSBwZW5kaW5nIHRyYW5z YWN0aW9uLWRlcGVuZGVudCB0YWJsZQogICogc3RhdHMuCiAgKi8KIHZvaWQKLUF0UHJlcGFy ZV9QZ1N0YXRfUmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0U3RhdHVzICp4YWN0X3N0YXRlKQor QXRQcmVwYXJlX1BnU3RhdF9UYWJsZXMoUGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rfc3Rh dGUpCiB7CiAJUGdTdGF0X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnM7CiAKQEAgLTY1OSwxMCAr NjM2LDEwIEBAIEF0UHJlcGFyZV9QZ1N0YXRfUmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0U3Rh dHVzICp4YWN0X3N0YXRlKQogICogcmVwb3J0ZWQgdG8gdGhlIHN0YXRzIHN5c3RlbSBpbW1l ZGlhdGVseSwgd2hpbGUgdGhlIGVmZmVjdHMgb24gbGl2ZSBhbmQKICAqIGRlYWQgdHVwbGUg Y291bnRzIGFyZSBwcmVzZXJ2ZWQgaW4gdGhlIDJQQyBzdGF0ZSBmaWxlLgogICoKLSAqIE5v dGU6IEF0RU9YYWN0X1BnU3RhdF9SZWxhdGlvbnMgaXMgbm90IGNhbGxlZCBkdXJpbmcgUFJF UEFSRS4KKyAqIE5vdGU6IEF0RU9YYWN0X1BnU3RhdF9UYWJsZXMgaXMgbm90IGNhbGxlZCBk dXJpbmcgUFJFUEFSRS4KICAqLwogdm9pZAotUG9zdFByZXBhcmVfUGdTdGF0X1JlbGF0aW9u cyhQZ1N0YXRfU3ViWGFjdFN0YXR1cyAqeGFjdF9zdGF0ZSkKK1Bvc3RQcmVwYXJlX1BnU3Rh dF9UYWJsZXMoUGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rfc3RhdGUpCiB7CiAJUGdTdGF0 X1RhYmxlWGFjdFN0YXR1cyAqdHJhbnM7CiAKQEAgLTY4NSwyNyArNjYyLDI3IEBAIHBnc3Rh dF90d29waGFzZV9wb3N0Y29tbWl0KFRyYW5zYWN0aW9uSWQgeGlkLCB1aW50MTYgaW5mbywK IAkJCQkJCSAgIHZvaWQgKnJlY2RhdGEsIHVpbnQzMiBsZW4pCiB7CiAJVHdvUGhhc2VQZ1N0 YXRSZWNvcmQgKnJlYyA9IChUd29QaGFzZVBnU3RhdFJlY29yZCAqKSByZWNkYXRhOwotCVBn U3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm87CisJUGdTdGF0X1RhYmxlU3RhdHVzICpw Z3N0YXR0YWJfaW5mbzsKIAogCS8qIEZpbmQgb3IgY3JlYXRlIGEgdGFic3RhdCBlbnRyeSBm b3IgdGhlIHJlbCAqLwotCXBnc3RhdF9pbmZvID0gcGdzdGF0X3ByZXBfcmVsYXRpb25fcGVu ZGluZyhyZWMtPnRfaWQsIHJlYy0+dF9zaGFyZWQpOworCXBnc3RhdHRhYl9pbmZvID0gcGdz dGF0X3ByZXBfdGFibGVfcGVuZGluZyhyZWMtPnRfaWQsIHJlYy0+dF9zaGFyZWQpOwogCiAJ LyogU2FtZSBtYXRoIGFzIGluIEF0RU9YYWN0X1BnU3RhdCwgY29tbWl0IGNhc2UgKi8KLQlw Z3N0YXRfaW5mby0+dF9jb3VudHMudF90dXBsZXNfaW5zZXJ0ZWQgKz0gcmVjLT50dXBsZXNf aW5zZXJ0ZWQ7Ci0JcGdzdGF0X2luZm8tPnRfY291bnRzLnRfdHVwbGVzX3VwZGF0ZWQgKz0g cmVjLT50dXBsZXNfdXBkYXRlZDsKLQlwZ3N0YXRfaW5mby0+dF9jb3VudHMudF90dXBsZXNf ZGVsZXRlZCArPSByZWMtPnR1cGxlc19kZWxldGVkOwotCXBnc3RhdF9pbmZvLT50X2NvdW50 cy50X3RydW5jZHJvcHBlZCA9IHJlYy0+dF90cnVuY2Ryb3BwZWQ7CisJcGdzdGF0dGFiX2lu Zm8tPnRfY291bnRzLnRfdHVwbGVzX2luc2VydGVkICs9IHJlYy0+dHVwbGVzX2luc2VydGVk OworCXBnc3RhdHRhYl9pbmZvLT50X2NvdW50cy50X3R1cGxlc191cGRhdGVkICs9IHJlYy0+ dHVwbGVzX3VwZGF0ZWQ7CisJcGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfdHVwbGVzX2Rl bGV0ZWQgKz0gcmVjLT50dXBsZXNfZGVsZXRlZDsKKwlwZ3N0YXR0YWJfaW5mby0+dF9jb3Vu dHMudF90cnVuY2Ryb3BwZWQgPSByZWMtPnRfdHJ1bmNkcm9wcGVkOwogCWlmIChyZWMtPnRf dHJ1bmNkcm9wcGVkKQogCXsKIAkJLyogZm9yZ2V0IGxpdmUvZGVhZCBzdGF0cyBzZWVuIGJ5 IGJhY2tlbmQgdGh1cyBmYXIgKi8KLQkJcGdzdGF0X2luZm8tPnRfY291bnRzLnRfZGVsdGFf bGl2ZV90dXBsZXMgPSAwOwotCQlwZ3N0YXRfaW5mby0+dF9jb3VudHMudF9kZWx0YV9kZWFk X3R1cGxlcyA9IDA7CisJCXBnc3RhdHRhYl9pbmZvLT50X2NvdW50cy50X2RlbHRhX2xpdmVf dHVwbGVzID0gMDsKKwkJcGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfZGVsdGFfZGVhZF90 dXBsZXMgPSAwOwogCX0KLQlwZ3N0YXRfaW5mby0+dF9jb3VudHMudF9kZWx0YV9saXZlX3R1 cGxlcyArPQorCXBnc3RhdHRhYl9pbmZvLT50X2NvdW50cy50X2RlbHRhX2xpdmVfdHVwbGVz ICs9CiAJCXJlYy0+dHVwbGVzX2luc2VydGVkIC0gcmVjLT50dXBsZXNfZGVsZXRlZDsKLQlw Z3N0YXRfaW5mby0+dF9jb3VudHMudF9kZWx0YV9kZWFkX3R1cGxlcyArPQorCXBnc3RhdHRh Yl9pbmZvLT50X2NvdW50cy50X2RlbHRhX2RlYWRfdHVwbGVzICs9CiAJCXJlYy0+dHVwbGVz X3VwZGF0ZWQgKyByZWMtPnR1cGxlc19kZWxldGVkOwotCXBnc3RhdF9pbmZvLT50X2NvdW50 cy50X2NoYW5nZWRfdHVwbGVzICs9CisJcGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfY2hh bmdlZF90dXBsZXMgKz0KIAkJcmVjLT50dXBsZXNfaW5zZXJ0ZWQgKyByZWMtPnR1cGxlc191 cGRhdGVkICsKIAkJcmVjLT50dXBsZXNfZGVsZXRlZDsKIH0KQEAgLTcyMSwxMCArNjk4LDEw IEBAIHBnc3RhdF90d29waGFzZV9wb3N0YWJvcnQoVHJhbnNhY3Rpb25JZCB4aWQsIHVpbnQx NiBpbmZvLAogCQkJCQkJICB2b2lkICpyZWNkYXRhLCB1aW50MzIgbGVuKQogewogCVR3b1Bo YXNlUGdTdGF0UmVjb3JkICpyZWMgPSAoVHdvUGhhc2VQZ1N0YXRSZWNvcmQgKikgcmVjZGF0 YTsKLQlQZ1N0YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvOworCVBnU3RhdF9UYWJsZVN0 YXR1cyAqcGdzdGF0dGFiX2luZm87CiAKIAkvKiBGaW5kIG9yIGNyZWF0ZSBhIHRhYnN0YXQg ZW50cnkgZm9yIHRoZSByZWwgKi8KLQlwZ3N0YXRfaW5mbyA9IHBnc3RhdF9wcmVwX3JlbGF0 aW9uX3BlbmRpbmcocmVjLT50X2lkLCByZWMtPnRfc2hhcmVkKTsKKwlwZ3N0YXR0YWJfaW5m byA9IHBnc3RhdF9wcmVwX3RhYmxlX3BlbmRpbmcocmVjLT50X2lkLCByZWMtPnRfc2hhcmVk KTsKIAogCS8qIFNhbWUgbWF0aCBhcyBpbiBBdEVPWGFjdF9QZ1N0YXQsIGFib3J0IGNhc2Ug Ki8KIAlpZiAocmVjLT50X3RydW5jZHJvcHBlZCkKQEAgLTczMywxMCArNzEwLDEwIEBAIHBn c3RhdF90d29waGFzZV9wb3N0YWJvcnQoVHJhbnNhY3Rpb25JZCB4aWQsIHVpbnQxNiBpbmZv LAogCQlyZWMtPnR1cGxlc191cGRhdGVkID0gcmVjLT51cGRhdGVkX3ByZV90cnVuY2Ryb3A7 CiAJCXJlYy0+dHVwbGVzX2RlbGV0ZWQgPSByZWMtPmRlbGV0ZWRfcHJlX3RydW5jZHJvcDsK IAl9Ci0JcGdzdGF0X2luZm8tPnRfY291bnRzLnRfdHVwbGVzX2luc2VydGVkICs9IHJlYy0+ dHVwbGVzX2luc2VydGVkOwotCXBnc3RhdF9pbmZvLT50X2NvdW50cy50X3R1cGxlc191cGRh dGVkICs9IHJlYy0+dHVwbGVzX3VwZGF0ZWQ7Ci0JcGdzdGF0X2luZm8tPnRfY291bnRzLnRf dHVwbGVzX2RlbGV0ZWQgKz0gcmVjLT50dXBsZXNfZGVsZXRlZDsKLQlwZ3N0YXRfaW5mby0+ dF9jb3VudHMudF9kZWx0YV9kZWFkX3R1cGxlcyArPQorCXBnc3RhdHRhYl9pbmZvLT50X2Nv dW50cy50X3R1cGxlc19pbnNlcnRlZCArPSByZWMtPnR1cGxlc19pbnNlcnRlZDsKKwlwZ3N0 YXR0YWJfaW5mby0+dF9jb3VudHMudF90dXBsZXNfdXBkYXRlZCArPSByZWMtPnR1cGxlc191 cGRhdGVkOworCXBnc3RhdHRhYl9pbmZvLT50X2NvdW50cy50X3R1cGxlc19kZWxldGVkICs9 IHJlYy0+dHVwbGVzX2RlbGV0ZWQ7CisJcGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfZGVs dGFfZGVhZF90dXBsZXMgKz0KIAkJcmVjLT50dXBsZXNfaW5zZXJ0ZWQgKyByZWMtPnR1cGxl c191cGRhdGVkOwogfQogCkBAIC03NTAsMjIgKzcyNywyMSBAQCBwZ3N0YXRfdHdvcGhhc2Vf cG9zdGFib3J0KFRyYW5zYWN0aW9uSWQgeGlkLCB1aW50MTYgaW5mbywKICAqIGVudHJ5IHdo ZW4gc3VjY2Vzc2Z1bGx5IGZsdXNoaW5nLgogICovCiBib29sCi1wZ3N0YXRfcmVsYXRpb25f Zmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQorcGdz dGF0X3RhYmxlX2ZsdXNoX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmLCBib29sIG5v d2FpdCkKIHsKIAlzdGF0aWMgY29uc3QgUGdTdGF0X1RhYmxlQ291bnRzIGFsbF96ZXJvZXM7 CiAJT2lkCQkJZGJvaWQ7CiAJUGdTdGF0X1RhYmxlU3RhdHVzICpsc3RhdHM7IC8qIHBlbmRp bmcgc3RhdHMgZW50cnkgICovCi0JUGdTdGF0U2hhcmVkX1JlbGF0aW9uICpzaHRhYnN0YXRz OworCVBnU3RhdFNoYXJlZF9UYWJsZSAqc2h0YWJzdGF0czsKIAlQZ1N0YXRfU3RhdFRhYkVu dHJ5ICp0YWJlbnRyeTsJLyogdGFibGUgZW50cnkgb2Ygc2hhcmVkIHN0YXRzICovCiAJUGdT dGF0X1N0YXREQkVudHJ5ICpkYmVudHJ5OwkvKiBwZW5kaW5nIGRhdGFiYXNlIGVudHJ5ICov CiAKIAlkYm9pZCA9IGVudHJ5X3JlZi0+c2hhcmVkX2VudHJ5LT5rZXkuZGJvaWQ7CiAJbHN0 YXRzID0gKFBnU3RhdF9UYWJsZVN0YXR1cyAqKSBlbnRyeV9yZWYtPnBlbmRpbmc7Ci0Jc2h0 YWJzdGF0cyA9IChQZ1N0YXRTaGFyZWRfUmVsYXRpb24gKikgZW50cnlfcmVmLT5zaGFyZWRf c3RhdHM7CisJc2h0YWJzdGF0cyA9IChQZ1N0YXRTaGFyZWRfVGFibGUgKikgZW50cnlfcmVm LT5zaGFyZWRfc3RhdHM7CiAKIAkvKgotCSAqIElnbm9yZSBlbnRyaWVzIHRoYXQgZGlkbid0 IGFjY3VtdWxhdGUgYW55IGFjdHVhbCBjb3VudHMsIHN1Y2ggYXMKLQkgKiBpbmRleGVzIHRo YXQgd2VyZSBvcGVuZWQgYnkgdGhlIHBsYW5uZXIgYnV0IG5vdCB1c2VkLgorCSAqIElnbm9y ZSBlbnRyaWVzIHRoYXQgZGlkbid0IGFjY3VtdWxhdGUgYW55IGFjdHVhbCBjb3VudHMuCiAJ ICovCiAJaWYgKG1lbWNtcCgmbHN0YXRzLT50X2NvdW50cywgJmFsbF96ZXJvZXMsCiAJCQkg ICBzaXplb2YoUGdTdGF0X1RhYmxlQ291bnRzKSkgPT0gMCkKQEAgLTc4Myw2ICs3NTksNyBA QCBwZ3N0YXRfcmVsYXRpb25fZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYs IGJvb2wgbm93YWl0KQogCWlmIChsc3RhdHMtPnRfY291bnRzLnRfbnVtc2NhbnMpCiAJewog CQlUaW1lc3RhbXBUeiB0ID0gR2V0Q3VycmVudFRyYW5zYWN0aW9uU3RvcFRpbWVzdGFtcCgp OworCiAJCWlmICh0ID4gdGFiZW50cnktPmxhc3RzY2FuKQogCQkJdGFiZW50cnktPmxhc3Rz Y2FuID0gdDsKIAl9CkBAIC04MzEsMTIgKzgwOCwxMiBAQCBwZ3N0YXRfcmVsYXRpb25fZmx1 c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0KQogfQogCiB2 b2lkCi1wZ3N0YXRfcmVsYXRpb25fZGVsZXRlX3BlbmRpbmdfY2IoUGdTdGF0X0VudHJ5UmVm ICplbnRyeV9yZWYpCitwZ3N0YXRfdGFibGVfZGVsZXRlX3BlbmRpbmdfY2IoUGdTdGF0X0Vu dHJ5UmVmICplbnRyeV9yZWYpCiB7CiAJUGdTdGF0X1RhYmxlU3RhdHVzICpwZW5kaW5nID0g KFBnU3RhdF9UYWJsZVN0YXR1cyAqKSBlbnRyeV9yZWYtPnBlbmRpbmc7CiAKIAlpZiAocGVu ZGluZy0+cmVsYXRpb24pCi0JCXBnc3RhdF91bmxpbmtfcmVsYXRpb24ocGVuZGluZy0+cmVs YXRpb24pOworCQlwZ3N0YXRfdW5saW5rX3RhYmxlKHBlbmRpbmctPnJlbGF0aW9uKTsKIH0K IAogLyoKQEAgLTg0NCwxMiArODIxLDEyIEBAIHBnc3RhdF9yZWxhdGlvbl9kZWxldGVfcGVu ZGluZ19jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZikKICAqIGluaXRpYWxpemVkIGlm IG5vdCBleGlzdHMuCiAgKi8KIHN0YXRpYyBQZ1N0YXRfVGFibGVTdGF0dXMgKgotcGdzdGF0 X3ByZXBfcmVsYXRpb25fcGVuZGluZyhPaWQgcmVsX2lkLCBib29sIGlzc2hhcmVkKQorcGdz dGF0X3ByZXBfdGFibGVfcGVuZGluZyhPaWQgcmVsX2lkLCBib29sIGlzc2hhcmVkKQogewog CVBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmOwogCVBnU3RhdF9UYWJsZVN0YXR1cyAqcGVu ZGluZzsKIAotCWVudHJ5X3JlZiA9IHBnc3RhdF9wcmVwX3BlbmRpbmdfZW50cnkoUEdTVEFU X0tJTkRfUkVMQVRJT04sCisJZW50cnlfcmVmID0gcGdzdGF0X3ByZXBfcGVuZGluZ19lbnRy eShQR1NUQVRfS0lORF9UQUJMRSwKIAkJCQkJCQkJCQkgIGlzc2hhcmVkID8gSW52YWxpZE9p ZCA6IE15RGF0YWJhc2VJZCwKIAkJCQkJCQkJCQkgIHJlbF9pZCwgTlVMTCk7CiAJcGVuZGlu ZyA9IGVudHJ5X3JlZi0+cGVuZGluZzsKQEAgLTg2Myw3ICs4NDAsNyBAQCBwZ3N0YXRfcHJl cF9yZWxhdGlvbl9wZW5kaW5nKE9pZCByZWxfaWQsIGJvb2wgaXNzaGFyZWQpCiAgKiBhZGQg YSBuZXcgKHN1Yil0cmFuc2FjdGlvbiBzdGF0ZSByZWNvcmQKICAqLwogc3RhdGljIHZvaWQK LWFkZF90YWJzdGF0X3hhY3RfbGV2ZWwoUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5m bywgaW50IG5lc3RfbGV2ZWwpCithZGRfdGFic3RhdF94YWN0X2xldmVsKFBnU3RhdF9UYWJs ZVN0YXR1cyAqcGdzdGF0dGFiX2luZm8sIGludCBuZXN0X2xldmVsKQogewogCVBnU3RhdF9T dWJYYWN0U3RhdHVzICp4YWN0X3N0YXRlOwogCVBnU3RhdF9UYWJsZVhhY3RTdGF0dXMgKnRy YW5zOwpAQCAtODc5LDI0ICs4NTYsMjQgQEAgYWRkX3RhYnN0YXRfeGFjdF9sZXZlbChQZ1N0 YXRfVGFibGVTdGF0dXMgKnBnc3RhdF9pbmZvLCBpbnQgbmVzdF9sZXZlbCkKIAkJTWVtb3J5 Q29udGV4dEFsbG9jWmVybyhUb3BUcmFuc2FjdGlvbkNvbnRleHQsCiAJCQkJCQkJICAgc2l6 ZW9mKFBnU3RhdF9UYWJsZVhhY3RTdGF0dXMpKTsKIAl0cmFucy0+bmVzdF9sZXZlbCA9IG5l c3RfbGV2ZWw7Ci0JdHJhbnMtPnVwcGVyID0gcGdzdGF0X2luZm8tPnRyYW5zOwotCXRyYW5z LT5wYXJlbnQgPSBwZ3N0YXRfaW5mbzsKKwl0cmFucy0+dXBwZXIgPSBwZ3N0YXR0YWJfaW5m by0+dHJhbnM7CisJdHJhbnMtPnBhcmVudCA9IHBnc3RhdHRhYl9pbmZvOwogCXRyYW5zLT5u ZXh0ID0geGFjdF9zdGF0ZS0+Zmlyc3Q7CiAJeGFjdF9zdGF0ZS0+Zmlyc3QgPSB0cmFuczsK LQlwZ3N0YXRfaW5mby0+dHJhbnMgPSB0cmFuczsKKwlwZ3N0YXR0YWJfaW5mby0+dHJhbnMg PSB0cmFuczsKIH0KIAogLyoKICAqIEFkZCBhIG5ldyAoc3ViKXRyYW5zYWN0aW9uIHJlY29y ZCBpZiBuZWVkZWQuCiAgKi8KIHN0YXRpYyB2b2lkCi1lbnN1cmVfdGFic3RhdF94YWN0X2xl dmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0X2luZm8pCitlbnN1cmVfdGFic3RhdF94 YWN0X2xldmVsKFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0dGFiX2luZm8pCiB7CiAJaW50 CQkJbmVzdF9sZXZlbCA9IEdldEN1cnJlbnRUcmFuc2FjdGlvbk5lc3RMZXZlbCgpOwogCi0J aWYgKHBnc3RhdF9pbmZvLT50cmFucyA9PSBOVUxMIHx8Ci0JCXBnc3RhdF9pbmZvLT50cmFu cy0+bmVzdF9sZXZlbCAhPSBuZXN0X2xldmVsKQotCQlhZGRfdGFic3RhdF94YWN0X2xldmVs KHBnc3RhdF9pbmZvLCBuZXN0X2xldmVsKTsKKwlpZiAocGdzdGF0dGFiX2luZm8tPnRyYW5z ID09IE5VTEwgfHwKKwkJcGdzdGF0dGFiX2luZm8tPnRyYW5zLT5uZXN0X2xldmVsICE9IG5l c3RfbGV2ZWwpCisJCWFkZF90YWJzdGF0X3hhY3RfbGV2ZWwocGdzdGF0dGFiX2luZm8sIG5l c3RfbGV2ZWwpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvcGdzdGF0X3hhY3QuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF94YWN0LmMKaW5kZXggNWEzYWNhNGFlZi4uODcwZjFiMTEwMyAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvcGdzdGF0X3hhY3QuYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfeGFjdC5jCkBAIC01MSw3ICs1MSw3IEBAIEF0RU9Y YWN0X1BnU3RhdChib29sIGlzQ29tbWl0LCBib29sIHBhcmFsbGVsKQogCQlBc3NlcnQoeGFj dF9zdGF0ZS0+bmVzdF9sZXZlbCA9PSAxKTsKIAkJQXNzZXJ0KHhhY3Rfc3RhdGUtPnByZXYg PT0gTlVMTCk7CiAKLQkJQXRFT1hhY3RfUGdTdGF0X1JlbGF0aW9ucyh4YWN0X3N0YXRlLCBp c0NvbW1pdCk7CisJCUF0RU9YYWN0X1BnU3RhdF9UYWJsZXMoeGFjdF9zdGF0ZSwgaXNDb21t aXQpOwogCQlBdEVPWGFjdF9QZ1N0YXRfRHJvcHBlZFN0YXRzKHhhY3Rfc3RhdGUsIGlzQ29t bWl0KTsKIAl9CiAJcGdTdGF0WGFjdFN0YWNrID0gTlVMTDsKQEAgLTEyMiw3ICsxMjIsNyBA QCBBdEVPU3ViWGFjdF9QZ1N0YXQoYm9vbCBpc0NvbW1pdCwgaW50IG5lc3REZXB0aCkKIAkJ LyogZGVsaW5rIHhhY3Rfc3RhdGUgZnJvbSBzdGFjayBpbW1lZGlhdGVseSB0byBzaW1wbGlm eSByZXVzZSBjYXNlICovCiAJCXBnU3RhdFhhY3RTdGFjayA9IHhhY3Rfc3RhdGUtPnByZXY7 CiAKLQkJQXRFT1N1YlhhY3RfUGdTdGF0X1JlbGF0aW9ucyh4YWN0X3N0YXRlLCBpc0NvbW1p dCwgbmVzdERlcHRoKTsKKwkJQXRFT1N1YlhhY3RfUGdTdGF0X1RhYmxlcyh4YWN0X3N0YXRl LCBpc0NvbW1pdCwgbmVzdERlcHRoKTsKIAkJQXRFT1N1YlhhY3RfUGdTdGF0X0Ryb3BwZWRT dGF0cyh4YWN0X3N0YXRlLCBpc0NvbW1pdCwgbmVzdERlcHRoKTsKIAogCQlwZnJlZSh4YWN0 X3N0YXRlKTsKQEAgLTE5Nyw3ICsxOTcsNyBAQCBBdFByZXBhcmVfUGdTdGF0KHZvaWQpCiAJ CUFzc2VydCh4YWN0X3N0YXRlLT5uZXN0X2xldmVsID09IDEpOwogCQlBc3NlcnQoeGFjdF9z dGF0ZS0+cHJldiA9PSBOVUxMKTsKIAotCQlBdFByZXBhcmVfUGdTdGF0X1JlbGF0aW9ucyh4 YWN0X3N0YXRlKTsKKwkJQXRQcmVwYXJlX1BnU3RhdF9UYWJsZXMoeGFjdF9zdGF0ZSk7CiAJ fQogfQogCkBAIC0yMjEsNyArMjIxLDcgQEAgUG9zdFByZXBhcmVfUGdTdGF0KHZvaWQpCiAJ CUFzc2VydCh4YWN0X3N0YXRlLT5uZXN0X2xldmVsID09IDEpOwogCQlBc3NlcnQoeGFjdF9z dGF0ZS0+cHJldiA9PSBOVUxMKTsKIAotCQlQb3N0UHJlcGFyZV9QZ1N0YXRfUmVsYXRpb25z KHhhY3Rfc3RhdGUpOworCQlQb3N0UHJlcGFyZV9QZ1N0YXRfVGFibGVzKHhhY3Rfc3RhdGUp OwogCX0KIAlwZ1N0YXRYYWN0U3RhY2sgPSBOVUxMOwogCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9w Z3N0YXRmdW5jcy5jCmluZGV4IDA0YTVhOTkwMDIuLjcyOTk0ODM3OGQgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0zNiwxMDYgKzM2LDE1OSBAQAogCiAjZGVm aW5lIEhBU19QR1NUQVRfUEVSTUlTU0lPTlMocm9sZSkJIChoYXNfcHJpdnNfb2Zfcm9sZShH ZXRVc2VySWQoKSwgUk9MRV9QR19SRUFEX0FMTF9TVEFUUykgfHwgaGFzX3ByaXZzX29mX3Jv bGUoR2V0VXNlcklkKCksIHJvbGUpKQogCi0jZGVmaW5lIFBHX1NUQVRfR0VUX1JFTEVOVFJZ X0lOVDY0KHN0YXQpCQkJCQkJXAotRGF0dW0JCQkJCQkJCQkJCQkJCQlcCi1DcHBDb25jYXQo cGdfc3RhdF9nZXRfLHN0YXQpKFBHX0ZVTkNUSU9OX0FSR1MpCQkJCQlcCi17CQkJCQkJCQkJ CQkJCQkJCVwKLQlPaWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CQkJCQkJXAotCWlu dDY0CQlyZXN1bHQ7CQkJCQkJCQkJCQlcCi0JUGdTdGF0X1N0YXRUYWJFbnRyeSAqdGFiZW50 cnk7CQkJCQkJCQlcCi0JCQkJCQkJCQkJCQkJCQkJXAotCWlmICgodGFiZW50cnkgPSBwZ3N0 YXRfZmV0Y2hfc3RhdF90YWJlbnRyeShyZWxpZCkpID09IE5VTEwpCVwKLQkJcmVzdWx0ID0g MDsJCQkJCQkJCQkJCQlcCi0JZWxzZQkJCQkJCQkJCQkJCQkJXAotCQlyZXN1bHQgPSAoaW50 NjQpICh0YWJlbnRyeS0+c3RhdCk7CQkJCQkJXAotCQkJCQkJCQkJCQkJCQkJCVwKLQlQR19S RVRVUk5fSU5UNjQocmVzdWx0KTsJCQkJCQkJCQlcCi19Ci0KLS8qIHBnX3N0YXRfZ2V0X2Fu YWx5emVfY291bnQgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KGFuYWx5emVfY291 bnQpCi0KLS8qIHBnX3N0YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50ICovCi1QR19TVEFUX0dF VF9SRUxFTlRSWV9JTlQ2NChhdXRvYW5hbHl6ZV9jb3VudCkKLQotLyogcGdfc3RhdF9nZXRf YXV0b3ZhY3V1bV9jb3VudCAqLwotUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQoYXV0b3Zh Y3V1bV9jb3VudCkKLQotLyogcGdfc3RhdF9nZXRfYmxvY2tzX2ZldGNoZWQgKi8KLVBHX1NU QVRfR0VUX1JFTEVOVFJZX0lOVDY0KGJsb2Nrc19mZXRjaGVkKQotCi0vKiBwZ19zdGF0X2dl dF9ibG9ja3NfaGl0ICovCi1QR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChibG9ja3NfaGl0 KQorI2RlZmluZSBQR19TVEFUX0dFVF9UQUJFTlRSWV9JTlQ2NChzdGF0KQkJCQkJCQlcCitE YXR1bQkJCQkJCQkJCQkJCQkJCQlcCitDcHBDb25jYXQocGdfc3RhdF9nZXRfdGFiXyxzdGF0 KShQR19GVU5DVElPTl9BUkdTKQkJCQkJXAorewkJCQkJCQkJCQkJCQkJCQkJXAorCU9pZAkJ CXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsJCQkJCQkJXAorCWludDY0CQlyZXN1bHQ7CQkJ CQkJCQkJCQkJXAorCVBnU3RhdF9TdGF0VGFiRW50cnkgKnRhYmVudHJ5OwkJCQkJCQkJCVwK KwkJCQkJCQkJCQkJCQkJCQkJXAorCWlmICgodGFiZW50cnkgPSBwZ3N0YXRfZmV0Y2hfc3Rh dF90YWJlbnRyeShyZWxpZCkpID09IE5VTEwpCQlcCisJCXJlc3VsdCA9IDA7CQkJCQkJCQkJ CQkJCVwKKwllbHNlCQkJCQkJCQkJCQkJCQkJXAorCQlyZXN1bHQgPSAoaW50NjQpICh0YWJl bnRyeS0+c3RhdCk7CQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJCQkJXAorCVBHX1JFVFVSTl9J TlQ2NChyZXN1bHQpOwkJCQkJCQkJCQlcCit9CisKKy8qIHBnX3N0YXRfZ2V0X3RhYl9hbmFs eXplX2NvdW50ICovCitQR19TVEFUX0dFVF9UQUJFTlRSWV9JTlQ2NChhbmFseXplX2NvdW50 KQorCisvKiBwZ19zdGF0X2dldF90YWJfYXV0b2FuYWx5emVfY291bnQgKi8KK1BHX1NUQVRf R0VUX1RBQkVOVFJZX0lOVDY0KGF1dG9hbmFseXplX2NvdW50KQorCisvKiBwZ19zdGF0X2dl dF90YWJfYXV0b3ZhY3V1bV9jb3VudCAqLworUEdfU1RBVF9HRVRfVEFCRU5UUllfSU5UNjQo YXV0b3ZhY3V1bV9jb3VudCkKKworLyogcGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19mZXRjaGVk ICovCitQR19TVEFUX0dFVF9UQUJFTlRSWV9JTlQ2NChibG9ja3NfZmV0Y2hlZCkKKworLyog cGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19oaXQgKi8KK1BHX1NUQVRfR0VUX1RBQkVOVFJZX0lO VDY0KGJsb2Nrc19oaXQpCiAKLS8qIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzICovCi1QR19T VEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChkZWFkX3R1cGxlcykKKy8qIHBnX3N0YXRfZ2V0X3Rh Yl9kZWFkX3R1cGxlcyAqLworUEdfU1RBVF9HRVRfVEFCRU5UUllfSU5UNjQoZGVhZF90dXBs ZXMpCiAKLS8qIHBnX3N0YXRfZ2V0X2luc19zaW5jZV92YWN1dW0gKi8KLVBHX1NUQVRfR0VU X1JFTEVOVFJZX0lOVDY0KGluc19zaW5jZV92YWN1dW0pCi0KLS8qIHBnX3N0YXRfZ2V0X2xp dmVfdHVwbGVzICovCi1QR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NChsaXZlX3R1cGxlcykK LQotLyogcGdfc3RhdF9nZXRfbW9kc19zaW5jZV9hbmFseXplICovCi1QR19TVEFUX0dFVF9S RUxFTlRSWV9JTlQ2NChtb2Rfc2luY2VfYW5hbHl6ZSkKLQotLyogcGdfc3RhdF9nZXRfbnVt c2NhbnMgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KG51bXNjYW5zKQotCi0vKiBw Z19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCAqLwotUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5U NjQodHVwbGVzX2RlbGV0ZWQpCi0KLS8qIHBnX3N0YXRfZ2V0X3R1cGxlc19mZXRjaGVkICov Ci1QR19TVEFUX0dFVF9SRUxFTlRSWV9JTlQ2NCh0dXBsZXNfZmV0Y2hlZCkKLQotLyogcGdf c3RhdF9nZXRfdHVwbGVzX2hvdF91cGRhdGVkICovCi1QR19TVEFUX0dFVF9SRUxFTlRSWV9J TlQ2NCh0dXBsZXNfaG90X3VwZGF0ZWQpCi0KLS8qIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNl cnRlZCAqLwotUEdfU1RBVF9HRVRfUkVMRU5UUllfSU5UNjQodHVwbGVzX2luc2VydGVkKQot Ci0vKiBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQgKi8KLVBHX1NUQVRfR0VUX1JFTEVO VFJZX0lOVDY0KHR1cGxlc19yZXR1cm5lZCkKLQotLyogcGdfc3RhdF9nZXRfdHVwbGVzX3Vw ZGF0ZWQgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX0lOVDY0KHR1cGxlc191cGRhdGVkKQot Ci0vKiBwZ19zdGF0X2dldF92YWN1dW1fY291bnQgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZ X0lOVDY0KHZhY3V1bV9jb3VudCkKLQotI2RlZmluZSBQR19TVEFUX0dFVF9SRUxFTlRSWV9U SU1FU1RBTVBUWihzdGF0KQkJCQkJXAotRGF0dW0JCQkJCQkJCQkJCQkJCQlcCi1DcHBDb25j YXQocGdfc3RhdF9nZXRfLHN0YXQpKFBHX0ZVTkNUSU9OX0FSR1MpCQkJCQlcCi17CQkJCQkJ CQkJCQkJCQkJCVwKLQlPaWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CQkJCQkJXAot CVRpbWVzdGFtcFR6IHJlc3VsdDsJCQkJCQkJCQkJCVwKLQlQZ1N0YXRfU3RhdFRhYkVudHJ5 ICp0YWJlbnRyeTsJCQkJCQkJCVwKLQkJCQkJCQkJCQkJCQkJCQlcCi0JaWYgKCh0YWJlbnRy eSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKSkgPT0gTlVMTCkJXAotCQly ZXN1bHQgPSAwOwkJCQkJCQkJCQkJCVwKLQllbHNlCQkJCQkJCQkJCQkJCQlcCi0JCXJlc3Vs dCA9IHRhYmVudHJ5LT5zdGF0OwkJCQkJCQkJXAotCQkJCQkJCQkJCQkJCQkJCVwKLQlpZiAo cmVzdWx0ID09IDApCQkJCQkJCQkJCQlcCi0JCVBHX1JFVFVSTl9OVUxMKCk7CQkJCQkJCQkJ CVwKLQllbHNlCQkJCQkJCQkJCQkJCQlcCi0JCVBHX1JFVFVSTl9USU1FU1RBTVBUWihyZXN1 bHQpOwkJCQkJCQlcCisvKiBwZ19zdGF0X2dldF90YWJfaW5zX3NpbmNlX3ZhY3V1bSAqLwor UEdfU1RBVF9HRVRfVEFCRU5UUllfSU5UNjQoaW5zX3NpbmNlX3ZhY3V1bSkKKworLyogcGdf c3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzICovCitQR19TVEFUX0dFVF9UQUJFTlRSWV9JTlQ2 NChsaXZlX3R1cGxlcykKKworLyogcGdfc3RhdF9nZXRfdGFiX21vZHNfc2luY2VfYW5hbHl6 ZSAqLworUEdfU1RBVF9HRVRfVEFCRU5UUllfSU5UNjQobW9kX3NpbmNlX2FuYWx5emUpCisK Ky8qIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2FucyAqLworUEdfU1RBVF9HRVRfVEFCRU5UUllf SU5UNjQobnVtc2NhbnMpCisKKy8qIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCAq LworUEdfU1RBVF9HRVRfVEFCRU5UUllfSU5UNjQodHVwbGVzX2RlbGV0ZWQpCisKKy8qIHBn X3N0YXRfZ2V0X3RhYl90dXBsZXNfZmV0Y2hlZCAqLworUEdfU1RBVF9HRVRfVEFCRU5UUllf SU5UNjQodHVwbGVzX2ZldGNoZWQpCisKKy8qIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaG90 X3VwZGF0ZWQgKi8KK1BHX1NUQVRfR0VUX1RBQkVOVFJZX0lOVDY0KHR1cGxlc19ob3RfdXBk YXRlZCkKKworLyogcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCAqLworUEdfU1RB VF9HRVRfVEFCRU5UUllfSU5UNjQodHVwbGVzX2luc2VydGVkKQorCisvKiBwZ19zdGF0X2dl dF90YWJfdHVwbGVzX3JldHVybmVkICovCitQR19TVEFUX0dFVF9UQUJFTlRSWV9JTlQ2NCh0 dXBsZXNfcmV0dXJuZWQpCisKKy8qIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCAq LworUEdfU1RBVF9HRVRfVEFCRU5UUllfSU5UNjQodHVwbGVzX3VwZGF0ZWQpCisKKy8qIHBn X3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQgKi8KK1BHX1NUQVRfR0VUX1RBQkVOVFJZX0lO VDY0KHZhY3V1bV9jb3VudCkKKworI2RlZmluZSBQR19TVEFUX0dFVF9JTkRFTlRSWV9JTlQ2 NChzdGF0KQkJCQkJCQlcCitEYXR1bQkJCQkJCQkJCQkJCQkJCQlcCitDcHBDb25jYXQocGdf c3RhdF9nZXRfaW5kXyxzdGF0KShQR19GVU5DVElPTl9BUkdTKQkJCQkJXAorewkJCQkJCQkJ CQkJCQkJCQkJXAorCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsJCQkJCQkJXAor CWludDY0CQlyZXN1bHQ7CQkJCQkJCQkJCQkJXAorCVBnU3RhdF9TdGF0SW5kRW50cnkgKmlu ZGVudHJ5OwkJCQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJCQkJXAorCWlmICgoaW5kZW50cnkg PSBwZ3N0YXRfZmV0Y2hfc3RhdF9pbmRlbnRyeShyZWxpZCkpID09IE5VTEwpCQlcCisJCXJl c3VsdCA9IDA7CQkJCQkJCQkJCQkJCVwKKwllbHNlCQkJCQkJCQkJCQkJCQkJXAorCQlyZXN1 bHQgPSAoaW50NjQpIChpbmRlbnRyeS0+c3RhdCk7CQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJ CQkJXAorCVBHX1JFVFVSTl9JTlQ2NChyZXN1bHQpOwkJCQkJCQkJCQlcCit9CisKKy8qIHBn X3N0YXRfZ2V0X2luZF9udW1zY2FucyAqLworUEdfU1RBVF9HRVRfSU5ERU5UUllfSU5UNjQo bnVtc2NhbnMpCisKKy8qIHBnX3N0YXRfZ2V0X2luZF90dXBsZXNfcmV0dXJuZWQgKi8KK1BH X1NUQVRfR0VUX0lOREVOVFJZX0lOVDY0KHR1cGxlc19yZXR1cm5lZCkKKworLyogcGdfc3Rh dF9nZXRfaW5kX3R1cGxlc19mZXRjaGVkICovCitQR19TVEFUX0dFVF9JTkRFTlRSWV9JTlQ2 NCh0dXBsZXNfZmV0Y2hlZCkKKworLyogcGdfc3RhdF9nZXRfaW5kX2Jsb2Nrc19mZXRjaGVk ICovCitQR19TVEFUX0dFVF9JTkRFTlRSWV9JTlQ2NChibG9ja3NfZmV0Y2hlZCkKKworLyog cGdfc3RhdF9nZXRfaW5kX2Jsb2Nrc19oaXQgKi8KK1BHX1NUQVRfR0VUX0lOREVOVFJZX0lO VDY0KGJsb2Nrc19oaXQpCisKKyNkZWZpbmUgUEdfU1RBVF9HRVRfVEFCRU5UUllfVElNRVNU QU1QVFooc3RhdCkJCQkJCQlcCitEYXR1bQkJCQkJCQkJCQkJCQkJCQlcCitDcHBDb25jYXQo cGdfc3RhdF9nZXRfdGFiXyxzdGF0KShQR19GVU5DVElPTl9BUkdTKQkJCQkJXAorewkJCQkJ CQkJCQkJCQkJCQkJXAorCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgwKTsJCQkJCQkJ XAorCVRpbWVzdGFtcFR6IHJlc3VsdDsJCQkJCQkJCQkJCQlcCisJUGdTdGF0X1N0YXRUYWJF bnRyeSAqdGFiZW50cnk7CQkJCQkJCQkJXAorCQkJCQkJCQkJCQkJCQkJCQlcCisJaWYgKCh0 YWJlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X3RhYmVudHJ5KHJlbGlkKSkgPT0gTlVMTCkJ CVwKKwkJcmVzdWx0ID0gMDsJCQkJCQkJCQkJCQkJXAorCWVsc2UJCQkJCQkJCQkJCQkJCQlc CisJCXJlc3VsdCA9IHRhYmVudHJ5LT5zdGF0OwkJCQkJCQkJCVwKKwkJCQkJCQkJCQkJCQkJ CQkJXAorCWlmIChyZXN1bHQgPT0gMCkJCQkJCQkJCQkJCQlcCisJCVBHX1JFVFVSTl9OVUxM KCk7CQkJCQkJCQkJCQlcCisJZWxzZQkJCQkJCQkJCQkJCQkJCVwKKwkJUEdfUkVUVVJOX1RJ TUVTVEFNUFRaKHJlc3VsdCk7CQkJCQkJCQlcCiB9CiAKLS8qIHBnX3N0YXRfZ2V0X2xhc3Rf YW5hbHl6ZV90aW1lICovCi1QR19TVEFUX0dFVF9SRUxFTlRSWV9USU1FU1RBTVBUWihsYXN0 X2FuYWx5emVfdGltZSkKLQotLyogcGdfc3RhdF9nZXRfbGFzdF9hdXRvYW5hbHl6ZV90aW1l ICovCi1QR19TVEFUX0dFVF9SRUxFTlRSWV9USU1FU1RBTVBUWihsYXN0X2F1dG9hbmFseXpl X3RpbWUpCi0KLS8qIHBnX3N0YXRfZ2V0X2xhc3RfYXV0b3ZhY3V1bV90aW1lICovCi1QR19T VEFUX0dFVF9SRUxFTlRSWV9USU1FU1RBTVBUWihsYXN0X2F1dG92YWN1dW1fdGltZSkKKy8q IHBnX3N0YXRfZ2V0X3RhYl9sYXN0X2FuYWx5emVfdGltZSAqLworUEdfU1RBVF9HRVRfVEFC RU5UUllfVElNRVNUQU1QVFoobGFzdF9hbmFseXplX3RpbWUpCiAKLS8qIHBnX3N0YXRfZ2V0 X2xhc3RfdmFjdXVtX3RpbWUgKi8KLVBHX1NUQVRfR0VUX1JFTEVOVFJZX1RJTUVTVEFNUFRa KGxhc3RfdmFjdXVtX3RpbWUpCi0KLS8qIHBnX3N0YXRfZ2V0X2xhc3RzY2FuICovCi1QR19T VEFUX0dFVF9SRUxFTlRSWV9USU1FU1RBTVBUWihsYXN0c2NhbikKKy8qIHBnX3N0YXRfZ2V0 X3RhYl9sYXN0X2F1dG9hbmFseXplX3RpbWUgKi8KK1BHX1NUQVRfR0VUX1RBQkVOVFJZX1RJ TUVTVEFNUFRaKGxhc3RfYXV0b2FuYWx5emVfdGltZSkKKworLyogcGdfc3RhdF9nZXRfdGFi X2xhc3RfYXV0b3ZhY3V1bV90aW1lICovCitQR19TVEFUX0dFVF9UQUJFTlRSWV9USU1FU1RB TVBUWihsYXN0X2F1dG92YWN1dW1fdGltZSkKKworLyogcGdfc3RhdF9nZXRfdGFiX2xhc3Rf dmFjdXVtX3RpbWUgKi8KK1BHX1NUQVRfR0VUX1RBQkVOVFJZX1RJTUVTVEFNUFRaKGxhc3Rf dmFjdXVtX3RpbWUpCisKKy8qIHBnX3N0YXRfZ2V0X3RhYl9sYXN0c2NhbiAqLworUEdfU1RB VF9HRVRfVEFCRU5UUllfVElNRVNUQU1QVFoobGFzdHNjYW4pCisKKyNkZWZpbmUgUEdfU1RB VF9HRVRfSU5ERU5UUllfVElNRVNUQU1QVFooc3RhdCkJCQkJCQlcCitEYXR1bQkJCQkJCQkJ CQkJCQkJCQlcCitDcHBDb25jYXQocGdfc3RhdF9nZXRfaW5kXyxzdGF0KShQR19GVU5DVElP Tl9BUkdTKQkJCQkJXAorewkJCQkJCQkJCQkJCQkJCQkJXAorCU9pZAkJCXJlbGlkID0gUEdf R0VUQVJHX09JRCgwKTsJCQkJCQkJXAorCVRpbWVzdGFtcFR6IHJlc3VsdDsJCQkJCQkJCQkJ CQlcCisJUGdTdGF0X1N0YXRJbmRFbnRyeSAqaW5kZW50cnk7CQkJCQkJCQkJXAorCQkJCQkJ CQkJCQkJCQkJCQlcCisJaWYgKChpbmRlbnRyeSA9IHBnc3RhdF9mZXRjaF9zdGF0X2luZGVu dHJ5KHJlbGlkKSkgPT0gTlVMTCkJCVwKKwkJcmVzdWx0ID0gMDsJCQkJCQkJCQkJCQkJXAor CWVsc2UJCQkJCQkJCQkJCQkJCQlcCisJCXJlc3VsdCA9IGluZGVudHJ5LT5zdGF0OwkJCQkJ CQkJCVwKKwkJCQkJCQkJCQkJCQkJCQkJXAorCWlmIChyZXN1bHQgPT0gMCkJCQkJCQkJCQkJ CQlcCisJCVBHX1JFVFVSTl9OVUxMKCk7CQkJCQkJCQkJCQlcCisJZWxzZQkJCQkJCQkJCQkJ CQkJCVwKKwkJUEdfUkVUVVJOX1RJTUVTVEFNUFRaKHJlc3VsdCk7CQkJCQkJCQlcCit9CisK Ky8qIHBnX3N0YXRfZ2V0X2luZF9sYXN0c2NhbiAqLworUEdfU1RBVF9HRVRfSU5ERU5UUllf VElNRVNUQU1QVFoobGFzdHNjYW4pCiAKIERhdHVtCiBwZ19zdGF0X2dldF9mdW5jdGlvbl9j YWxscyhQR19GVU5DVElPTl9BUkdTKQpAQCAtMTMwOCw3ICsxMzYxLDcgQEAgcGdfc3RhdF9n ZXRfc2xydShQR19GVU5DVElPTl9BUkdTKQogfQogCiBEYXR1bQotcGdfc3RhdF9nZXRfeGFj dF9udW1zY2FucyhQR19GVU5DVElPTl9BUkdTKQorcGdfc3RhdF9nZXRfdGFiX3hhY3RfbnVt c2NhbnMoUEdfRlVOQ1RJT05fQVJHUykKIHsKIAlPaWQJCQlyZWxpZCA9IFBHX0dFVEFSR19P SUQoMCk7CiAJaW50NjQJCXJlc3VsdDsKQEAgLTEzMjIsMTcgKzEzNzUsMzIgQEAgcGdfc3Rh dF9nZXRfeGFjdF9udW1zY2FucyhQR19GVU5DVElPTl9BUkdTKQogCVBHX1JFVFVSTl9JTlQ2 NChyZXN1bHQpOwogfQogCitEYXR1bQorcGdfc3RhdF9nZXRfaW5kX3hhY3RfbnVtc2NhbnMo UEdfRlVOQ1RJT05fQVJHUykKK3sKKwlPaWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7 CisJaW50NjQJCXJlc3VsdDsKKwlQZ1N0YXRfSW5kZXhTdGF0dXMgKmluZGVudHJ5OworCisJ aWYgKChpbmRlbnRyeSA9IGZpbmRfaW5kc3RhdF9lbnRyeShyZWxpZCkpID09IE5VTEwpCisJ CXJlc3VsdCA9IDA7CisJZWxzZQorCQlyZXN1bHQgPSAoaW50NjQpIChpbmRlbnRyeS0+aV9j b3VudHMuaV9udW1zY2Fucyk7CisKKwlQR19SRVRVUk5fSU5UNjQocmVzdWx0KTsKK30KKwog RGF0dW0KIHBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX3JldHVybmVkKFBHX0ZVTkNUSU9OX0FS R1MpCiB7CiAJT2lkCQkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDApOwogCWludDY0CQlyZXN1 bHQ7Ci0JUGdTdGF0X1RhYmxlU3RhdHVzICp0YWJlbnRyeTsKKwlQZ1N0YXRfSW5kZXhTdGF0 dXMgKmluZGVudHJ5OwogCi0JaWYgKCh0YWJlbnRyeSA9IGZpbmRfdGFic3RhdF9lbnRyeShy ZWxpZCkpID09IE5VTEwpCisJaWYgKChpbmRlbnRyeSA9IGZpbmRfaW5kc3RhdF9lbnRyeShy ZWxpZCkpID09IE5VTEwpCiAJCXJlc3VsdCA9IDA7CiAJZWxzZQotCQlyZXN1bHQgPSAoaW50 NjQpICh0YWJlbnRyeS0+dF9jb3VudHMudF90dXBsZXNfcmV0dXJuZWQpOworCQlyZXN1bHQg PSAoaW50NjQpIChpbmRlbnRyeS0+aV9jb3VudHMuaV90dXBsZXNfcmV0dXJuZWQpOwogCiAJ UEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7CiB9CkBAIC0xMzQyLDEyICsxNDEwLDEyIEBAIHBn X3N0YXRfZ2V0X3hhY3RfdHVwbGVzX2ZldGNoZWQoUEdfRlVOQ1RJT05fQVJHUykKIHsKIAlP aWQJCQlyZWxpZCA9IFBHX0dFVEFSR19PSUQoMCk7CiAJaW50NjQJCXJlc3VsdDsKLQlQZ1N0 YXRfVGFibGVTdGF0dXMgKnRhYmVudHJ5OworCVBnU3RhdF9JbmRleFN0YXR1cyAqaW5kZW50 cnk7CiAKLQlpZiAoKHRhYmVudHJ5ID0gZmluZF90YWJzdGF0X2VudHJ5KHJlbGlkKSkgPT0g TlVMTCkKKwlpZiAoKGluZGVudHJ5ID0gZmluZF9pbmRzdGF0X2VudHJ5KHJlbGlkKSkgPT0g TlVMTCkKIAkJcmVzdWx0ID0gMDsKIAllbHNlCi0JCXJlc3VsdCA9IChpbnQ2NCkgKHRhYmVu dHJ5LT50X2NvdW50cy50X3R1cGxlc19mZXRjaGVkKTsKKwkJcmVzdWx0ID0gKGludDY0KSAo aW5kZW50cnktPmlfY291bnRzLmlfdHVwbGVzX2ZldGNoZWQpOwogCiAJUEdfUkVUVVJOX0lO VDY0KHJlc3VsdCk7CiB9CkBAIC0xNDM1LDEyICsxNTAzLDEyIEBAIHBnX3N0YXRfZ2V0X3hh Y3RfYmxvY2tzX2ZldGNoZWQoUEdfRlVOQ1RJT05fQVJHUykKIHsKIAlPaWQJCQlyZWxpZCA9 IFBHX0dFVEFSR19PSUQoMCk7CiAJaW50NjQJCXJlc3VsdDsKLQlQZ1N0YXRfVGFibGVTdGF0 dXMgKnRhYmVudHJ5OworCVBnU3RhdF9JbmRleFN0YXR1cyAqaW5kZW50cnk7CiAKLQlpZiAo KHRhYmVudHJ5ID0gZmluZF90YWJzdGF0X2VudHJ5KHJlbGlkKSkgPT0gTlVMTCkKKwlpZiAo KGluZGVudHJ5ID0gZmluZF9pbmRzdGF0X2VudHJ5KHJlbGlkKSkgPT0gTlVMTCkKIAkJcmVz dWx0ID0gMDsKIAllbHNlCi0JCXJlc3VsdCA9IChpbnQ2NCkgKHRhYmVudHJ5LT50X2NvdW50 cy50X2Jsb2Nrc19mZXRjaGVkKTsKKwkJcmVzdWx0ID0gKGludDY0KSAoaW5kZW50cnktPmlf Y291bnRzLmlfYmxvY2tzX2ZldGNoZWQpOwogCiAJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7 CiB9CkBAIC0xNDUwLDEyICsxNTE4LDEyIEBAIHBnX3N0YXRfZ2V0X3hhY3RfYmxvY2tzX2hp dChQR19GVU5DVElPTl9BUkdTKQogewogCU9pZAkJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgw KTsKIAlpbnQ2NAkJcmVzdWx0OwotCVBnU3RhdF9UYWJsZVN0YXR1cyAqdGFiZW50cnk7CisJ UGdTdGF0X0luZGV4U3RhdHVzICppbmRlbnRyeTsKIAotCWlmICgodGFiZW50cnkgPSBmaW5k X3RhYnN0YXRfZW50cnkocmVsaWQpKSA9PSBOVUxMKQorCWlmICgoaW5kZW50cnkgPSBmaW5k X2luZHN0YXRfZW50cnkocmVsaWQpKSA9PSBOVUxMKQogCQlyZXN1bHQgPSAwOwogCWVsc2UK LQkJcmVzdWx0ID0gKGludDY0KSAodGFiZW50cnktPnRfY291bnRzLnRfYmxvY2tzX2hpdCk7 CisJCXJlc3VsdCA9IChpbnQ2NCkgKGluZGVudHJ5LT5pX2NvdW50cy5pX2Jsb2Nrc19oaXQp OwogCiAJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7CiB9CkBAIC0xNTc0LDcgKzE2NDIsOCBA QCBwZ19zdGF0X3Jlc2V0X3NpbmdsZV90YWJsZV9jb3VudGVycyhQR19GVU5DVElPTl9BUkdT KQogewogCU9pZAkJCXRhYm9pZCA9IFBHX0dFVEFSR19PSUQoMCk7CiAKLQlwZ3N0YXRfcmVz ZXQoUEdTVEFUX0tJTkRfUkVMQVRJT04sIE15RGF0YWJhc2VJZCwgdGFib2lkKTsKKwlwZ3N0 YXRfcmVzZXQoUEdTVEFUX0tJTkRfVEFCTEUsIE15RGF0YWJhc2VJZCwgdGFib2lkKTsKKwlw Z3N0YXRfcmVzZXQoUEdTVEFUX0tJTkRfSU5ERVgsIE15RGF0YWJhc2VJZCwgdGFib2lkKTsK IAogCVBHX1JFVFVSTl9WT0lEKCk7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9jYWNoZS9yZWxjYWNoZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvcmVsY2FjaGUu YwppbmRleCA0NTBlNTEyNGE1Li5mOGU0N2YwZjlkIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC91dGlscy9jYWNoZS9yZWxjYWNoZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hl L3JlbGNhY2hlLmMKQEAgLTI0MTEsNyArMjQxMSwxMCBAQCBSZWxhdGlvbkRlc3Ryb3lSZWxh dGlvbihSZWxhdGlvbiByZWxhdGlvbiwgYm9vbCByZW1lbWJlcl90dXBkZXNjKQogCVJlbGF0 aW9uQ2xvc2VTbWdyKHJlbGF0aW9uKTsKIAogCS8qIGJyZWFrIG11dHVhbCBsaW5rIHdpdGgg c3RhdHMgZW50cnkgKi8KLQlwZ3N0YXRfdW5saW5rX3JlbGF0aW9uKHJlbGF0aW9uKTsKKwlp ZiAocmVsYXRpb24tPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX0lOREVYKQorCQlwZ3N0 YXRfdW5saW5rX2luZGV4KHJlbGF0aW9uKTsKKwllbHNlCisJCXBnc3RhdF91bmxpbmtfdGFi bGUocmVsYXRpb24pOwogCiAJLyoKIAkgKiBGcmVlIGFsbCB0aGUgc3Vic2lkaWFyeSBkYXRh IHN0cnVjdHVyZXMgb2YgdGhlIHJlbGNhY2hlIGVudHJ5LCB0aGVuIHRoZQpAQCAtMjcyNyw4 ICsyNzMwLDkgQEAgUmVsYXRpb25DbGVhclJlbGF0aW9uKFJlbGF0aW9uIHJlbGF0aW9uLCBi b29sIHJlYnVpbGQpCiAJCQlTV0FQRklFTEQoUm93U2VjdXJpdHlEZXNjICosIHJkX3JzZGVz Yyk7CiAJCS8qIHRvYXN0IE9JRCBvdmVycmlkZSBtdXN0IGJlIHByZXNlcnZlZCAqLwogCQlT V0FQRklFTEQoT2lkLCByZF90b2FzdG9pZCk7Ci0JCS8qIHBnc3RhdF9pbmZvIC8gZW5hYmxl ZCBtdXN0IGJlIHByZXNlcnZlZCAqLwotCQlTV0FQRklFTEQoc3RydWN0IFBnU3RhdF9UYWJs ZVN0YXR1cyAqLCBwZ3N0YXRfaW5mbyk7CisJCS8qIHBnc3RhdHRhYl9pbmZvIC8gcGdzdGF0 aW5kX2luZm8gLyBlbmFibGVkIG11c3QgYmUgcHJlc2VydmVkICovCisJCVNXQVBGSUVMRChz dHJ1Y3QgUGdTdGF0X1RhYmxlU3RhdHVzICosIHBnc3RhdHRhYl9pbmZvKTsKKwkJU1dBUEZJ RUxEKHN0cnVjdCBQZ1N0YXRfSW5kZXhTdGF0dXMgKiwgcGdzdGF0aW5kX2luZm8pOwogCQlT V0FQRklFTEQoYm9vbCwgcGdzdGF0X2VuYWJsZWQpOwogCQkvKiBwcmVzZXJ2ZSBvbGQgcGFy dGl0aW9uIGtleSBpZiB3ZSBoYXZlIG9uZSAqLwogCQlpZiAoa2VlcF9wYXJ0a2V5KQpAQCAt NjMyMSw3ICs2MzI1LDggQEAgbG9hZF9yZWxjYWNoZV9pbml0X2ZpbGUoYm9vbCBzaGFyZWQp CiAJCXJlbC0+cmRfZmlyc3RSZWxmaWxlbG9jYXRvclN1YmlkID0gSW52YWxpZFN1YlRyYW5z YWN0aW9uSWQ7CiAJCXJlbC0+cmRfZHJvcHBlZFN1YmlkID0gSW52YWxpZFN1YlRyYW5zYWN0 aW9uSWQ7CiAJCXJlbC0+cmRfYW1jYWNoZSA9IE5VTEw7Ci0JCXJlbC0+cGdzdGF0X2luZm8g PSBOVUxMOworCQlyZWwtPnBnc3RhdHRhYl9pbmZvID0gTlVMTDsKKwkJcmVsLT5wZ3N0YXRp bmRfaW5mbyA9IE5VTEw7CiAKIAkJLyoKIAkJICogUmVjb21wdXRlIGxvY2sgYW5kIHBoeXNp Y2FsIGFkZHJlc3NpbmcgaW5mby4gIFRoaXMgaXMgbmVlZGVkIGluCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19wcm9jLmRhdAppbmRleCA3MTk1OTk2NDlhLi45YjgzZTE0YzU3IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQKQEAgLTUyNzQsOTYgKzUyNzQsMTIwIEBACiAgIHByb2FyZ25hbWVz ID0+ICd7bWN2X2xpc3QsaW5kZXgsdmFsdWVzLG51bGxzLGZyZXF1ZW5jeSxiYXNlX2ZyZXF1 ZW5jeX0nLAogICBwcm9zcmMgPT4gJ3BnX3N0YXRzX2V4dF9tY3ZsaXN0X2l0ZW1zJyB9LAog Ci17IG9pZCA9PiAnMTkyOCcsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2Ygc2Nh bnMgZG9uZSBmb3IgdGFibGUvaW5kZXgnLAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9u dW1zY2FucycsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3InLAoreyBv aWQgPT4gJzE5MjgnLCBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9mIHNjYW5zIGRv bmUgZm9yIHRhYmxlJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX251bXNjYW5z JywgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncicsCiAgIHByb3JldHR5 cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19z dGF0X2dldF9udW1zY2FucycgfSwKLXsgb2lkID0+ICc5OTc2JywgZGVzY3IgPT4gJ3N0YXRp c3RpY3M6IHRpbWUgb2YgdGhlIGxhc3Qgc2NhbiBmb3IgdGFibGUvaW5kZXgnLAotICBwcm9u YW1lID0+ICdwZ19zdGF0X2dldF9sYXN0c2NhbicsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJv cGFyYWxsZWwgPT4gJ3InLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9udW1zY2Fu cycgfSwKK3sgb2lkID0+ICc4Mjk2JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBv ZiBzY2FucyBkb25lIGZvciBpbmRleCcsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2lu ZF9udW1zY2FucycsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3InLAor ICBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3Ny YyA9PiAncGdfc3RhdF9nZXRfaW5kX251bXNjYW5zJyB9LAoreyBvaWQgPT4gJzk5NzYnLCBk ZXNjciA9PiAnc3RhdGlzdGljczogdGltZSBvZiB0aGUgbGFzdCBzY2FuIGZvciB0YWJsZScs CisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9sYXN0c2NhbicsIHByb3ZvbGF0aWxl ID0+ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3InLAorICBwcm9yZXR0eXBlID0+ICd0aW1lc3Rh bXB0eicsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0 X3RhYl9sYXN0c2NhbicgfSwKK3sgb2lkID0+ICc4NjI2JywgZGVzY3IgPT4gJ3N0YXRpc3Rp Y3M6IHRpbWUgb2YgdGhlIGxhc3Qgc2NhbiBmb3IgaW5kZXgnLAorICBwcm9uYW1lID0+ICdw Z19zdGF0X2dldF9pbmRfbGFzdHNjYW4nLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3BhcmFs bGVsID0+ICdyJywKICAgcHJvcmV0dHlwZSA9PiAndGltZXN0YW1wdHonLCBwcm9hcmd0eXBl cyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9sYXN0c2NhbicgfSwKKyAg cHJvc3JjID0+ICdwZ19zdGF0X2dldF9pbmRfbGFzdHNjYW4nIH0sCiB7IG9pZCA9PiAnMTky OScsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdHVwbGVzIHJlYWQgYnkgc2Vx c2NhbicsCi0gIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCcsIHBy b3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX3R1cGxl c19yZXR1cm5lZCcsIHByb3ZvbGF0aWxlID0+ICdzJywKICAgcHJvcGFyYWxsZWwgPT4gJ3In LCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCi0gIHByb3Ny YyA9PiAncGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkJyB9LAorICBwcm9zcmMgPT4gJ3Bn X3N0YXRfZ2V0X3RhYl90dXBsZXNfcmV0dXJuZWQnIH0sCit7IG9pZCA9PiAnOTYwMycsIGRl c2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgdHVwbGVzIHJlYWQgYnkgc2Vxc2Nhbics CisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2luZF90dXBsZXNfcmV0dXJuZWQnLCBwcm92 b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAn aW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0 X2luZF90dXBsZXNfcmV0dXJuZWQnIH0sCiB7IG9pZCA9PiAnMTkzMCcsIGRlc2NyID0+ICdz dGF0aXN0aWNzOiBudW1iZXIgb2YgdHVwbGVzIGZldGNoZWQgYnkgaWR4c2NhbicsCi0gIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc19mZXRjaGVkJywgcHJvdm9sYXRpbGUgPT4g J3MnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90YWJfdHVwbGVzX2ZldGNoZWQnLCBw cm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9 PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRf Z2V0X3RhYl90dXBsZXNfZmV0Y2hlZCcgfSwKK3sgb2lkID0+ICc4NTI2JywgZGVzY3IgPT4g J3N0YXRpc3RpY3M6IG51bWJlciBvZiB0dXBsZXMgZmV0Y2hlZCBieSBpZHhzY2FuJywKKyAg cHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfaW5kX3R1cGxlc19mZXRjaGVkJywgcHJvdm9sYXRp bGUgPT4gJ3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgn LCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF90dXBs ZXNfZmV0Y2hlZCcgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9pbmRfdHVwbGVzX2Zl dGNoZWQnIH0sCiB7IG9pZCA9PiAnMTkzMScsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1i ZXIgb2YgdHVwbGVzIGluc2VydGVkJywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdHVw bGVzX2luc2VydGVkJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9uYW1lID0+ICdwZ19z dGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAogICBw cm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9 PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQnIH0s CisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCcgfSwKIHsg b2lkID0+ICcxOTMyJywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0dXBsZXMg dXBkYXRlZCcsCi0gIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkJywg cHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90YWJfdHVw bGVzX3VwZGF0ZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdy JywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9z cmMgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkJyB9LAorICBwcm9zcmMgPT4gJ3Bn X3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCcgfSwKIHsgb2lkID0+ICcxOTMzJywgZGVz Y3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0dXBsZXMgZGVsZXRlZCcsCi0gIHByb25h bWUgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkJywgcHJvdm9sYXRpbGUgPT4gJ3Mn LAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQnLCBwcm92 b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAn aW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0 X3R1cGxlc19kZWxldGVkJyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl90dXBs ZXNfZGVsZXRlZCcgfSwKIHsgb2lkID0+ICcxOTcyJywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6 IG51bWJlciBvZiB0dXBsZXMgaG90IHVwZGF0ZWQnLAotICBwcm9uYW1lID0+ICdwZ19zdGF0 X2dldF90dXBsZXNfaG90X3VwZGF0ZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb25h bWUgPT4gJ3BnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaG90X3VwZGF0ZWQnLCBwcm92b2xhdGls ZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAnaW50OCcs IHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3R1cGxl c19ob3RfdXBkYXRlZCcgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF90YWJfdHVwbGVz X2hvdF91cGRhdGVkJyB9LAogeyBvaWQgPT4gJzI4NzgnLCBkZXNjciA9PiAnc3RhdGlzdGlj czogbnVtYmVyIG9mIGxpdmUgdHVwbGVzJywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRf bGl2ZV90dXBsZXMnLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3BhcmFsbGVsID0+ICdyJywK KyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzJywgcHJvdm9sYXRp bGUgPT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncicsCiAgIHByb3JldHR5cGUgPT4gJ2ludDgn LCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9saXZl X3R1cGxlcycgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMn IH0sCiB7IG9pZCA9PiAnMjg3OScsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2Yg ZGVhZCB0dXBsZXMnLAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9kZWFkX3R1cGxlcycs IHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3InLAorICBwcm9uYW1lID0+ ICdwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXMnLCBwcm92b2xhdGlsZSA9PiAncycsIHBy b3BhcmFsbGVsID0+ICdyJywKICAgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVz ID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzJyB9LAor ICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcycgfSwKIHsgb2lkID0+ ICczMTc3JywKICAgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0dXBsZXMgY2hh bmdlZCBzaW5jZSBsYXN0IGFuYWx5emUnLAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9t b2Rfc2luY2VfYW5hbHl6ZScsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9PiAn cGdfc3RhdF9nZXRfdGFiX21vZF9zaW5jZV9hbmFseXplJywgcHJvdm9sYXRpbGUgPT4gJ3Mn LAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0 eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9tb2Rfc2luY2VfYW5h bHl6ZScgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF90YWJfbW9kX3NpbmNlX2FuYWx5 emUnIH0sCiB7IG9pZCA9PiAnNTA1MycsCiAgIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1i ZXIgb2YgdHVwbGVzIGluc2VydGVkIHNpbmNlIGxhc3QgdmFjdXVtJywKLSAgcHJvbmFtZSA9 PiAncGdfc3RhdF9nZXRfaW5zX3NpbmNlX3ZhY3V1bScsIHByb3ZvbGF0aWxlID0+ICdzJywK KyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX2luc19zaW5jZV92YWN1dW0nLCBwcm92 b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAn aW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0 X2luc19zaW5jZV92YWN1dW0nIH0sCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdGFiX2lu c19zaW5jZV92YWN1dW0nIH0sCiB7IG9pZCA9PiAnMTkzNCcsIGRlc2NyID0+ICdzdGF0aXN0 aWNzOiBudW1iZXIgb2YgYmxvY2tzIGZldGNoZWQnLAotICBwcm9uYW1lID0+ICdwZ19zdGF0 X2dldF9ibG9ja3NfZmV0Y2hlZCcsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9 PiAncGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19mZXRjaGVkJywgcHJvdm9sYXRpbGUgPT4gJ3Mn LAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0 eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9ibG9ja3NfZmV0Y2hl ZCcgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF90YWJfYmxvY2tzX2ZldGNoZWQnIH0s Cit7IG9pZCA9PiAnOTQzMicsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgYmxv Y2tzIGZldGNoZWQnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2Zl dGNoZWQnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJv cmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAorICBwcm9zcmMgPT4g J3BnX3N0YXRfZ2V0X2luZF9ibG9ja3NfZmV0Y2hlZCcgfSwKIHsgb2lkID0+ICcxOTM1Jywg ZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiBibG9ja3MgZm91bmQgaW4gY2FjaGUn LAotICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9ibG9ja3NfaGl0JywgcHJvdm9sYXRpbGUg PT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAncicsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0 X3RhYl9ibG9ja3NfaGl0JywgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAn cicsCisgIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKKyAg cHJvc3JjID0+ICdwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdCcgfSwKK3sgb2lkID0+ICc4 MzU0JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiBibG9ja3MgZm91bmQgaW4g Y2FjaGUnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2hpdCcsIHBy b3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3InLAogICBwcm9yZXR0eXBlID0+ ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCi0gIHByb3NyYyA9PiAncGdfc3RhdF9n ZXRfYmxvY2tzX2hpdCcgfSwKKyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9pbmRfYmxvY2tz X2hpdCcgfSwKIHsgb2lkID0+ICcyNzgxJywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGxhc3Qg bWFudWFsIHZhY3V1bSB0aW1lIGZvciBhIHRhYmxlJywKLSAgcHJvbmFtZSA9PiAncGdfc3Rh dF9nZXRfbGFzdF92YWN1dW1fdGltZScsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvbmFt ZSA9PiAncGdfc3RhdF9nZXRfdGFiX2xhc3RfdmFjdXVtX3RpbWUnLCBwcm92b2xhdGlsZSA9 PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9PiAndGltZXN0YW1w dHonLCBwcm9hcmd0eXBlcyA9PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9s YXN0X3ZhY3V1bV90aW1lJyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9sYXN0 X3ZhY3V1bV90aW1lJyB9LAogeyBvaWQgPT4gJzI3ODInLCBkZXNjciA9PiAnc3RhdGlzdGlj czogbGFzdCBhdXRvIHZhY3V1bSB0aW1lIGZvciBhIHRhYmxlJywKLSAgcHJvbmFtZSA9PiAn cGdfc3RhdF9nZXRfbGFzdF9hdXRvdmFjdXVtX3RpbWUnLCBwcm92b2xhdGlsZSA9PiAncycs CisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9sYXN0X2F1dG92YWN1dW1fdGltZScs IHByb3ZvbGF0aWxlID0+ICdzJywKICAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBl ID0+ICd0aW1lc3RhbXB0eicsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9zcmMgPT4g J3BnX3N0YXRfZ2V0X2xhc3RfYXV0b3ZhY3V1bV90aW1lJyB9LAorICBwcm9zcmMgPT4gJ3Bn X3N0YXRfZ2V0X3RhYl9sYXN0X2F1dG92YWN1dW1fdGltZScgfSwKIHsgb2lkID0+ICcyNzgz JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGxhc3QgbWFudWFsIGFuYWx5emUgdGltZSBmb3Ig YSB0YWJsZScsCi0gIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X2xhc3RfYW5hbHl6ZV90aW1l JywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90YWJf bGFzdF9hbmFseXplX3RpbWUnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVs ID0+ICdyJywgcHJvcmV0dHlwZSA9PiAndGltZXN0YW1wdHonLCBwcm9hcmd0eXBlcyA9PiAn b2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF9sYXN0X2FuYWx5emVfdGltZScgfSwK KyAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF90YWJfbGFzdF9hbmFseXplX3RpbWUnIH0sCiB7 IG9pZCA9PiAnMjc4NCcsIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBsYXN0IGF1dG8gYW5hbHl6 ZSB0aW1lIGZvciBhIHRhYmxlJywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfbGFzdF9h dXRvYW5hbHl6ZV90aW1lJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9uYW1lID0+ICdw Z19zdGF0X2dldF90YWJfbGFzdF9hdXRvYW5hbHl6ZV90aW1lJywgcHJvdm9sYXRpbGUgPT4g J3MnLAogICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ3RpbWVzdGFtcHR6 JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCi0gIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfbGFz dF9hdXRvYW5hbHl6ZV90aW1lJyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3RhYl9s YXN0X2F1dG9hbmFseXplX3RpbWUnIH0sCiB7IG9pZCA9PiAnMzA1NCcsIGRlc2NyID0+ICdz dGF0aXN0aWNzOiBudW1iZXIgb2YgbWFudWFsIHZhY3V1bXMgZm9yIGEgdGFibGUnLAotICBw cm9uYW1lID0+ICdwZ19zdGF0X2dldF92YWN1dW1fY291bnQnLCBwcm92b2xhdGlsZSA9PiAn cycsIHByb3BhcmFsbGVsID0+ICdyJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFi X3ZhY3V1bV9jb3VudCcsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3In LAogICBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCi0gIHBy b3NyYyA9PiAncGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50JyB9LAorICBwcm9zcmMgPT4gJ3Bn X3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQnIH0sCiB7IG9pZCA9PiAnMzA1NScsIGRlc2Ny ID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgYXV0byB2YWN1dW1zIGZvciBhIHRhYmxlJywK LSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfYXV0b3ZhY3V1bV9jb3VudCcsIHByb3ZvbGF0 aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX2F1dG92YWN1dW1f Y291bnQnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJv cmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9zcmMgPT4g J3BnX3N0YXRfZ2V0X2F1dG92YWN1dW1fY291bnQnIH0sCisgIHByb3NyYyA9PiAncGdfc3Rh dF9nZXRfdGFiX2F1dG92YWN1dW1fY291bnQnIH0sCiB7IG9pZCA9PiAnMzA1NicsIGRlc2Ny ID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2YgbWFudWFsIGFuYWx5emVzIGZvciBhIHRhYmxl JywKLSAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfYW5hbHl6ZV9jb3VudCcsIHByb3ZvbGF0 aWxlID0+ICdzJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfdGFiX2FuYWx5emVfY291 bnQnLCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0 dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3Bn X3N0YXRfZ2V0X2FuYWx5emVfY291bnQnIH0sCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRf dGFiX2FuYWx5emVfY291bnQnIH0sCiB7IG9pZCA9PiAnMzA1NycsIGRlc2NyID0+ICdzdGF0 aXN0aWNzOiBudW1iZXIgb2YgYXV0byBhbmFseXplcyBmb3IgYSB0YWJsZScsCi0gIHByb25h bWUgPT4gJ3BnX3N0YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50JywgcHJvdm9sYXRpbGUgPT4g J3MnLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90YWJfYXV0b2FuYWx5emVfY291bnQn LCBwcm92b2xhdGlsZSA9PiAncycsCiAgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlw ZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQnLAotICBwcm9zcmMgPT4gJ3BnX3N0 YXRfZ2V0X2F1dG9hbmFseXplX2NvdW50JyB9LAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0 X3RhYl9hdXRvYW5hbHl6ZV9jb3VudCcgfSwKIHsgb2lkID0+ICcxOTM2JywgZGVzY3IgPT4g J3N0YXRpc3RpY3M6IGN1cnJlbnRseSBhY3RpdmUgYmFja2VuZCBJRHMnLAogICBwcm9uYW1l ID0+ICdwZ19zdGF0X2dldF9iYWNrZW5kX2lkc2V0JywgcHJvcm93cyA9PiAnMTAwJywgcHJv cmV0c2V0ID0+ICd0JywKICAgcHJvdm9sYXRpbGUgPT4gJ3MnLCBwcm9wYXJhbGxlbCA9PiAn cicsIHByb3JldHR5cGUgPT4gJ2ludDQnLApAQCAtNTcxOSwxMCArNTc0MywxNSBAQAogICBw cm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2Z1bmN0aW9uX3NlbGZfdGltZScgfSwKIAogeyBvaWQg PT4gJzMwMzcnLAotICBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9mIHNjYW5zIGRv bmUgZm9yIHRhYmxlL2luZGV4IGluIGN1cnJlbnQgdHJhbnNhY3Rpb24nLAotICBwcm9uYW1l ID0+ICdwZ19zdGF0X2dldF94YWN0X251bXNjYW5zJywgcHJvdm9sYXRpbGUgPT4gJ3YnLAor ICBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9mIHNjYW5zIGRvbmUgZm9yIHRhYmxl IGluIGN1cnJlbnQgdHJhbnNhY3Rpb24nLAorICBwcm9uYW1lID0+ICdwZ19zdGF0X2dldF90 YWJfeGFjdF9udW1zY2FucycsIHByb3ZvbGF0aWxlID0+ICd2JywKKyAgcHJvcGFyYWxsZWwg PT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisg IHByb3NyYyA9PiAncGdfc3RhdF9nZXRfdGFiX3hhY3RfbnVtc2NhbnMnIH0sCit7IG9pZCA9 PiAnODg5MicsCisgIGRlc2NyID0+ICdzdGF0aXN0aWNzOiBudW1iZXIgb2Ygc2NhbnMgZG9u ZSBmb3IgaW5kZXggaW4gY3VycmVudCB0cmFuc2FjdGlvbicsCisgIHByb25hbWUgPT4gJ3Bn X3N0YXRfZ2V0X2luZF94YWN0X251bXNjYW5zJywgcHJvdm9sYXRpbGUgPT4gJ3YnLAogICBw cm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9 PiAnb2lkJywKLSAgcHJvc3JjID0+ICdwZ19zdGF0X2dldF94YWN0X251bXNjYW5zJyB9LAor ICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X2luZF94YWN0X251bXNjYW5zJyB9LAogeyBvaWQg PT4gJzMwMzgnLAogICBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9mIHR1cGxlcyBy ZWFkIGJ5IHNlcXNjYW4gaW4gY3VycmVudCB0cmFuc2FjdGlvbicsCiAgIHByb25hbWUgPT4g J3BnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX3JldHVybmVkJywgcHJvdm9sYXRpbGUgPT4gJ3Yn LApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0 YXQuaAppbmRleCBhM2RmOGQyN2MzLi5hMzU0NjViYzkyIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9wZ3N0YXQuaAorKysgYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaApAQCAtMzksNyArMzks OCBAQCB0eXBlZGVmIGVudW0gUGdTdGF0X0tpbmQKIAogCS8qIHN0YXRzIGZvciB2YXJpYWJs ZS1udW1iZXJlZCBvYmplY3RzICovCiAJUEdTVEFUX0tJTkRfREFUQUJBU0UsCQkvKiBkYXRh YmFzZS13aWRlIHN0YXRpc3RpY3MgKi8KLQlQR1NUQVRfS0lORF9SRUxBVElPTiwJCS8qIHBl ci10YWJsZSBzdGF0aXN0aWNzICovCisJUEdTVEFUX0tJTkRfVEFCTEUsCQkJLyogcGVyLXRh YmxlIHN0YXRpc3RpY3MgKi8KKwlQR1NUQVRfS0lORF9JTkRFWCwJCQkvKiBwZXItaW5kZXgg c3RhdGlzdGljcyAqLwogCVBHU1RBVF9LSU5EX0ZVTkNUSU9OLAkJLyogcGVyLWZ1bmN0aW9u IHN0YXRpc3RpY3MgKi8KIAlQR1NUQVRfS0lORF9SRVBMU0xPVCwJCS8qIHBlci1zbG90IHN0 YXRpc3RpY3MgKi8KIAlQR1NUQVRfS0lORF9TVUJTQ1JJUFRJT04sCS8qIHBlci1zdWJzY3Jp cHRpb24gc3RhdGlzdGljcyAqLwpAQCAtMTQ1LDYgKzE0NiwyOCBAQCB0eXBlZGVmIHN0cnVj dCBQZ1N0YXRfQmFja2VuZFN1YkVudHJ5CiAJUGdTdGF0X0NvdW50ZXIgc3luY19lcnJvcl9j b3VudDsKIH0gUGdTdGF0X0JhY2tlbmRTdWJFbnRyeTsKIAorLyogLS0tLS0tLS0tLQorICog UGdTdGF0X0luZGV4Q291bnRzCQkJVGhlIGFjdHVhbCBwZXItaW5kZXggY291bnRzIGtlcHQg YnkgYSBiYWNrZW5kCisgKgorICogVGhpcyBzdHJ1Y3Qgc2hvdWxkIGNvbnRhaW4gb25seSBh Y3R1YWwgZXZlbnQgY291bnRlcnMsIGJlY2F1c2Ugd2UgbWVtY21wCisgKiBpdCBhZ2FpbnN0 IHplcm9lcyB0byBkZXRlY3Qgd2hldGhlciB0aGVyZSBhcmUgYW55IHN0YXRzIHVwZGF0ZXMg dG8gYXBwbHkuCisgKiBJdCBpcyBhIGNvbXBvbmVudCBvZiBQZ1N0YXRfSW5kZXhTdGF0dXMg KHdpdGhpbi1iYWNrZW5kIHN0YXRlKS4KKyAqCisgKiB0dXBsZXNfcmV0dXJuZWQgaXMgdGhl IG51bWJlciBvZiBpbmRleCBlbnRyaWVzIHJldHVybmVkIGJ5CisgKiB0aGUgaW5kZXggQU0s IHdoaWxlIHR1cGxlc19mZXRjaGVkIGlzIHRoZSBudW1iZXIgb2YgdHVwbGVzIHN1Y2Nlc3Nm dWxseQorICogZmV0Y2hlZCBieSBoZWFwX2ZldGNoIHVuZGVyIHRoZSBjb250cm9sIG9mIHNp bXBsZSBpbmRleHNjYW5zIGZvciB0aGlzIGluZGV4LgorICogLS0tLS0tLS0tLQorICovCit0 eXBlZGVmIHN0cnVjdCBQZ1N0YXRfSW5kZXhDb3VudHMKK3sKKwlQZ1N0YXRfQ291bnRlciBp X251bXNjYW5zOworCisJUGdTdGF0X0NvdW50ZXIgaV90dXBsZXNfcmV0dXJuZWQ7CisJUGdT dGF0X0NvdW50ZXIgaV90dXBsZXNfZmV0Y2hlZDsKKwlQZ1N0YXRfQ291bnRlciBpX2Jsb2Nr c19mZXRjaGVkOworCVBnU3RhdF9Db3VudGVyIGlfYmxvY2tzX2hpdDsKK30gUGdTdGF0X0lu ZGV4Q291bnRzOworCiAvKiAtLS0tLS0tLS0tCiAgKiBQZ1N0YXRfVGFibGVDb3VudHMJCQlU aGUgYWN0dWFsIHBlci10YWJsZSBjb3VudHMga2VwdCBieSBhIGJhY2tlbmQKICAqCkBAIC0x NTIsMTIgKzE3NSw5IEBAIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9CYWNrZW5kU3ViRW50cnkK ICAqIGl0IGFnYWluc3QgemVyb2VzIHRvIGRldGVjdCB3aGV0aGVyIHRoZXJlIGFyZSBhbnkg c3RhdHMgdXBkYXRlcyB0byBhcHBseS4KICAqIEl0IGlzIGEgY29tcG9uZW50IG9mIFBnU3Rh dF9UYWJsZVN0YXR1cyAod2l0aGluLWJhY2tlbmQgc3RhdGUpLgogICoKLSAqIE5vdGU6IGZv ciBhIHRhYmxlLCB0dXBsZXNfcmV0dXJuZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgc3Vj Y2Vzc2Z1bGx5CisgKiBOb3RlOiB0dXBsZXNfcmV0dXJuZWQgaXMgdGhlIG51bWJlciBvZiB0 dXBsZXMgc3VjY2Vzc2Z1bGx5CiAgKiBmZXRjaGVkIGJ5IGhlYXBfZ2V0bmV4dCwgd2hpbGUg dHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMKICAqIHN1Y2Nlc3NmdWxs eSBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5kZXIgdGhlIGNvbnRyb2wgb2YgYml0bWFwIGlu ZGV4c2NhbnMuCi0gKiBGb3IgYW4gaW5kZXgsIHR1cGxlc19yZXR1cm5lZCBpcyB0aGUgbnVt YmVyIG9mIGluZGV4IGVudHJpZXMgcmV0dXJuZWQgYnkKLSAqIHRoZSBpbmRleCBBTSwgd2hp bGUgdHVwbGVzX2ZldGNoZWQgaXMgdGhlIG51bWJlciBvZiB0dXBsZXMgc3VjY2Vzc2Z1bGx5 Ci0gKiBmZXRjaGVkIGJ5IGhlYXBfZmV0Y2ggdW5kZXIgdGhlIGNvbnRyb2wgb2Ygc2ltcGxl IGluZGV4c2NhbnMgZm9yIHRoaXMgaW5kZXguCiAgKgogICogdHVwbGVzX2luc2VydGVkL3Vw ZGF0ZWQvZGVsZXRlZC9ob3RfdXBkYXRlZCBjb3VudCBhdHRlbXB0ZWQgYWN0aW9ucywKICAq IHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdHJhbnNhY3Rpb24gY29tbWl0dGVkLiAgZGVs dGFfbGl2ZV90dXBsZXMsCkBAIC0yMTAsNiArMjMwLDIyIEBAIHR5cGVkZWYgc3RydWN0IFBn U3RhdF9UYWJsZVN0YXR1cwogCVJlbGF0aW9uCXJlbGF0aW9uOwkJLyogcmVsIHRoYXQgaXMg dXNpbmcgdGhpcyBlbnRyeSAqLwogfSBQZ1N0YXRfVGFibGVTdGF0dXM7CiAKKy8qIC0tLS0t LS0tLS0KKyAqIFBnU3RhdF9JbmRleFN0YXR1cwkJCVBlci1pbmRleCBzdGF0dXMgd2l0aGlu IGEgYmFja2VuZAorICoKKyAqIE1hbnkgb2YgdGhlIGV2ZW50IGNvdW50ZXJzIGFyZSBub250 cmFuc2FjdGlvbmFsLCBpZSwgd2UgY291bnQgZXZlbnRzCisgKiBpbiBjb21taXR0ZWQgYW5k IGFib3J0ZWQgdHJhbnNhY3Rpb25zIGFsaWtlLiAgRm9yIHRoZXNlLCB3ZSBqdXN0IGNvdW50 CisgKiBkaXJlY3RseSBpbiB0aGUgUGdTdGF0X0luZGV4U3RhdHVzLgorICogLS0tLS0tLS0t LQorICovCit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfSW5kZXhTdGF0dXMKK3sKKwlPaWQJCQly X2lkOwkJCS8qIHJlbGF0aW9uJ3MgT0lEICovCisJYm9vbAkJcl9zaGFyZWQ7CQkvKiBpcyBp dCBhIHNoYXJlZCBjYXRhbG9nPyAqLworCVBnU3RhdF9JbmRleENvdW50cyBpX2NvdW50czsJ LyogZXZlbnQgY291bnRzIHRvIGJlIHNlbnQgKi8KKwlSZWxhdGlvbglyZWxhdGlvbjsJCS8q IHJlbCB0aGF0IGlzIHVzaW5nIHRoaXMgZW50cnkgKi8KK30gUGdTdGF0X0luZGV4U3RhdHVz OworCiAvKiAtLS0tLS0tLS0tCiAgKiBQZ1N0YXRfVGFibGVYYWN0U3RhdHVzCQlQZXItdGFi bGUsIHBlci1zdWJ0cmFuc2FjdGlvbiBzdGF0dXMKICAqIC0tLS0tLS0tLS0KQEAgLTM4Miw2 ICs0MTgsMTcgQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRUYWJFbnRyeQogCVBnU3Rh dF9Db3VudGVyIGF1dG9hbmFseXplX2NvdW50OwogfSBQZ1N0YXRfU3RhdFRhYkVudHJ5Owog Cit0eXBlZGVmIHN0cnVjdCBQZ1N0YXRfU3RhdEluZEVudHJ5Cit7CisJUGdTdGF0X0NvdW50 ZXIgbnVtc2NhbnM7CisJVGltZXN0YW1wVHogbGFzdHNjYW47CisKKwlQZ1N0YXRfQ291bnRl ciB0dXBsZXNfcmV0dXJuZWQ7CisJUGdTdGF0X0NvdW50ZXIgdHVwbGVzX2ZldGNoZWQ7CisJ UGdTdGF0X0NvdW50ZXIgYmxvY2tzX2ZldGNoZWQ7CisJUGdTdGF0X0NvdW50ZXIgYmxvY2tz X2hpdDsKK30gUGdTdGF0X1N0YXRJbmRFbnRyeTsKKwogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0 X1dhbFN0YXRzCiB7CiAJUGdTdGF0X0NvdW50ZXIgd2FsX3JlY29yZHM7CkBAIC00OTQsMTYg KzU0MSwxNSBAQCBleHRlcm4gUGdTdGF0X0JhY2tlbmRGdW5jdGlvbkVudHJ5ICpmaW5kX2Z1 bmNzdGF0X2VudHJ5KE9pZCBmdW5jX2lkKTsKIAogCiAvKgotICogRnVuY3Rpb25zIGluIHBn c3RhdF9yZWxhdGlvbi5jCisgKiBGdW5jdGlvbnMgaW4gcGdzdGF0X3RhYmxlLmMKICAqLwog Ci1leHRlcm4gdm9pZCBwZ3N0YXRfY3JlYXRlX3JlbGF0aW9uKFJlbGF0aW9uIHJlbCk7Ci1l eHRlcm4gdm9pZCBwZ3N0YXRfZHJvcF9yZWxhdGlvbihSZWxhdGlvbiByZWwpOwotZXh0ZXJu IHZvaWQgcGdzdGF0X2NvcHlfcmVsYXRpb25fc3RhdHMoUmVsYXRpb24gZHN0LCBSZWxhdGlv biBzcmMpOworZXh0ZXJuIHZvaWQgcGdzdGF0X2NyZWF0ZV90YWJsZShSZWxhdGlvbiByZWwp OworZXh0ZXJuIHZvaWQgcGdzdGF0X2Ryb3BfdGFibGUoUmVsYXRpb24gcmVsKTsKK2V4dGVy biB2b2lkIHBnc3RhdF9pbml0X3RhYmxlKFJlbGF0aW9uIHJlbCk7CiAKLWV4dGVybiB2b2lk IHBnc3RhdF9pbml0X3JlbGF0aW9uKFJlbGF0aW9uIHJlbCk7Ci1leHRlcm4gdm9pZCBwZ3N0 YXRfYXNzb2NfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsKLWV4dGVybiB2b2lkIHBnc3RhdF91 bmxpbmtfcmVsYXRpb24oUmVsYXRpb24gcmVsKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9hc3Nv Y190YWJsZShSZWxhdGlvbiByZWwpOworZXh0ZXJuIHZvaWQgcGdzdGF0X3VubGlua190YWJs ZShSZWxhdGlvbiByZWwpOwogCiBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3ZhY3V1bShP aWQgdGFibGVvaWQsIGJvb2wgc2hhcmVkLAogCQkJCQkJCQkgUGdTdGF0X0NvdW50ZXIgbGl2 ZXR1cGxlcywgUGdTdGF0X0NvdW50ZXIgZGVhZHR1cGxlcyk7CkBAIC01MTEsNTMgKzU1Nyw4 MyBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X2FuYWx5emUoUmVsYXRpb24gcmVsLAog CQkJCQkJCQkgIFBnU3RhdF9Db3VudGVyIGxpdmV0dXBsZXMsIFBnU3RhdF9Db3VudGVyIGRl YWR0dXBsZXMsCiAJCQkJCQkJCSAgYm9vbCByZXNldGNvdW50ZXIpOwogCisvKgorICogRnVu Y3Rpb25zIGluIHBnc3RhdF9pbmRleC5jCisgKi8KKworZXh0ZXJuIHZvaWQgcGdzdGF0X2Ny ZWF0ZV9pbmRleChSZWxhdGlvbiByZWwpOworZXh0ZXJuIHZvaWQgcGdzdGF0X2Ryb3BfaW5k ZXgoUmVsYXRpb24gcmVsKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9jb3B5X2luZGV4X3N0YXRz KFJlbGF0aW9uIGRzdCwgUmVsYXRpb24gc3JjKTsKK2V4dGVybiB2b2lkIHBnc3RhdF9pbml0 X2luZGV4KFJlbGF0aW9uIHJlbCk7CitleHRlcm4gdm9pZCBwZ3N0YXRfYXNzb2NfaW5kZXgo UmVsYXRpb24gcmVsKTsKK2V4dGVybiB2b2lkIHBnc3RhdF91bmxpbmtfaW5kZXgoUmVsYXRp b24gcmVsKTsKKwogLyoKICAqIElmIHN0YXRzIGFyZSBlbmFibGVkLCBidXQgcGVuZGluZyBk YXRhIGhhc24ndCBiZWVuIHByZXBhcmVkIHlldCwgY2FsbAotICogcGdzdGF0X2Fzc29jX3Jl bGF0aW9uKCkgdG8gZG8gc28uIFNlZSBpdHMgY29tbWVudCBmb3Igd2h5IHRoaXMgaXMgZG9u ZQotICogc2VwYXJhdGVseSBmcm9tIHBnc3RhdF9pbml0X3JlbGF0aW9uKCkuCisgKiBwZ3N0 YXRfYXNzb2NfdGFibGUoKSAvIHBnc3RhdF9hc3NvY19pbmRleCgpIHRvIGRvIHNvLgorICog U2VlIHRoZWlyIGNvbW1lbnQgZm9yIHdoeSB0aGlzIGlzIGRvbmUgc2VwYXJhdGVseSBmcm9t IHBnc3RhdF9pbml0X3RhYmxlKCkKKyAqIGFuZCBwZ3N0YXRfaW5pdF9pbmRleCgpLgogICov Ci0jZGVmaW5lIHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKLQkobGlrZWx5KChyZWwpLT5wZ3N0YXRfaW5mbyAhPSBOVUxM KSA/IHRydWUgOiAgICAgICAgICAgICAgICAgICAgXAotCSAoKHJlbCktPnBnc3RhdF9lbmFi bGVkID8gcGdzdGF0X2Fzc29jX3JlbGF0aW9uKHJlbCksIHRydWUgOiBmYWxzZSkpCisjZGVm aW5lIHBnc3RhdF9zaG91bGRfY291bnRfdGFibGUocmVsKSAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKwkobGlrZWx5KChyZWwpLT5wZ3N0YXR0YWJfaW5mbyAhPSBOVUxMKSA/IHRy dWUgOiAgICAgICAgICAgICAgICAgICAgXAorCSAoKHJlbCktPnBnc3RhdF9lbmFibGVkID8g cGdzdGF0X2Fzc29jX3RhYmxlKHJlbCksIHRydWUgOiBmYWxzZSkpCisKKyNkZWZpbmUgcGdz dGF0X3Nob3VsZF9jb3VudF9pbmRleChyZWwpICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorCShsaWtlbHkoKHJlbCktPnBnc3RhdGluZF9pbmZvICE9IE5VTEwpID8gdHJ1ZSA6ICAg ICAgICAgICAgICAgICAgICBcCisJICgocmVsKS0+cGdzdGF0X2VuYWJsZWQgPyBwZ3N0YXRf YXNzb2NfaW5kZXgocmVsKSwgdHJ1ZSA6IGZhbHNlKSkKIAogLyogbm9udHJhbnNhY3Rpb25h bCBldmVudCBjb3VudHMgYXJlIHNpbXBsZSBlbm91Z2ggdG8gaW5saW5lICovCiAKICNkZWZp bmUgcGdzdGF0X2NvdW50X2hlYXBfc2NhbihyZWwpCQkJCQkJCQkJXAogCWRvIHsJCQkJCQkJ CQkJCQkJCQlcCi0JCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJ CQkJXAotCQkJKHJlbCktPnBnc3RhdF9pbmZvLT50X2NvdW50cy50X251bXNjYW5zKys7CQkJ CVwKKwkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfdGFibGUocmVsKSkJCQkJCQlcCisJCQko cmVsKS0+cGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfbnVtc2NhbnMrKzsJCQkJXAogCX0g d2hpbGUgKDApCiAjZGVmaW5lIHBnc3RhdF9jb3VudF9oZWFwX2dldG5leHQocmVsKQkJCQkJ CQkJXAogCWRvIHsJCQkJCQkJCQkJCQkJCQlcCi0JCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50 X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAotCQkJKHJlbCktPnBnc3RhdF9pbmZvLT50X2NvdW50 cy50X3R1cGxlc19yZXR1cm5lZCsrOwkJXAorCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF90 YWJsZShyZWwpKQkJCQkJCVwKKwkJCShyZWwpLT5wZ3N0YXR0YWJfaW5mby0+dF9jb3VudHMu dF90dXBsZXNfcmV0dXJuZWQrKzsJCVwKIAl9IHdoaWxlICgwKQogI2RlZmluZSBwZ3N0YXRf Y291bnRfaGVhcF9mZXRjaChyZWwpCQkJCQkJCQlcCiAJZG8gewkJCQkJCQkJCQkJCQkJCVwK LQkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCi0JCQko cmVsKS0+cGdzdGF0X2luZm8tPnRfY291bnRzLnRfdHVwbGVzX2ZldGNoZWQrKzsJCVwKKwkJ aWYgKHBnc3RhdF9zaG91bGRfY291bnRfdGFibGUocmVsKSkJCQkJCQlcCisJCQkocmVsKS0+ cGdzdGF0dGFiX2luZm8tPnRfY291bnRzLnRfdHVwbGVzX2ZldGNoZWQrKzsJCVwKKwl9IHdo aWxlICgwKQorI2RlZmluZSBwZ3N0YXRfY291bnRfaW5kZXhfZmV0Y2gocmVsKQkJCQkJCQkJ XAorCWRvIHsJCQkJCQkJCQkJCQkJCQlcCisJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X2lu ZGV4KHJlbCkpCQkJCQkJXAorCQkJKHJlbCktPnBnc3RhdGluZF9pbmZvLT5pX2NvdW50cy5p X3R1cGxlc19mZXRjaGVkKys7CQlcCiAJfSB3aGlsZSAoMCkKICNkZWZpbmUgcGdzdGF0X2Nv dW50X2luZGV4X3NjYW4ocmVsKQkJCQkJCQkJXAogCWRvIHsJCQkJCQkJCQkJCQkJCQlcCi0J CWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAotCQkJKHJl bCktPnBnc3RhdF9pbmZvLT50X2NvdW50cy50X251bXNjYW5zKys7CQkJCVwKKwkJaWYgKHBn c3RhdF9zaG91bGRfY291bnRfaW5kZXgocmVsKSkJCQkJCQlcCisJCQkocmVsKS0+cGdzdGF0 aW5kX2luZm8tPmlfY291bnRzLmlfbnVtc2NhbnMrKzsJCQlcCiAJfSB3aGlsZSAoMCkKICNk ZWZpbmUgcGdzdGF0X2NvdW50X2luZGV4X3R1cGxlcyhyZWwsIG4pCQkJCQkJCVwKIAlkbyB7 CQkJCQkJCQkJCQkJCQkJXAotCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihy ZWwpKQkJCQkJCVwKLQkJCShyZWwpLT5wZ3N0YXRfaW5mby0+dF9jb3VudHMudF90dXBsZXNf cmV0dXJuZWQgKz0gKG4pOwlcCisJCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X2luZGV4KHJl bCkpCQkJCQkJXAorCQkJKHJlbCktPnBnc3RhdGluZF9pbmZvLT5pX2NvdW50cy5pX3R1cGxl c19yZXR1cm5lZCArPSAobik7CVwKIAl9IHdoaWxlICgwKQotI2RlZmluZSBwZ3N0YXRfY291 bnRfYnVmZmVyX3JlYWQocmVsKQkJCQkJCQkJXAorI2RlZmluZSBwZ3N0YXRfY291bnRfdGFi bGVfYnVmZmVyX3JlYWQocmVsKQkJCQkJCQkJXAogCWRvIHsJCQkJCQkJCQkJCQkJCQlcCi0J CWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAotCQkJKHJl bCktPnBnc3RhdF9pbmZvLT50X2NvdW50cy50X2Jsb2Nrc19mZXRjaGVkKys7CQlcCisJCWlm IChwZ3N0YXRfc2hvdWxkX2NvdW50X3RhYmxlKHJlbCkpCVwKKwkJCShyZWwpLT5wZ3N0YXR0 YWJfaW5mby0+dF9jb3VudHMudF9ibG9ja3NfZmV0Y2hlZCsrOwkJXAogCX0gd2hpbGUgKDAp Ci0jZGVmaW5lIHBnc3RhdF9jb3VudF9idWZmZXJfaGl0KHJlbCkJCQkJCQkJCVwKKyNkZWZp bmUgcGdzdGF0X2NvdW50X2luZGV4X2J1ZmZlcl9yZWFkKHJlbCkJCQkJCQkJCVwKIAlkbyB7 CQkJCQkJCQkJCQkJCQkJXAotCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihy ZWwpKQkJCQkJCVwKLQkJCShyZWwpLT5wZ3N0YXRfaW5mby0+dF9jb3VudHMudF9ibG9ja3Nf aGl0Kys7CQkJXAorCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9pbmRleChyZWwpKQlcCisJ CQkocmVsKS0+cGdzdGF0aW5kX2luZm8tPmlfY291bnRzLmlfYmxvY2tzX2ZldGNoZWQrKzsJ CVwKKwl9IHdoaWxlICgwKQorI2RlZmluZSBwZ3N0YXRfY291bnRfdGFibGVfYnVmZmVyX2hp dChyZWwpCQkJCQkJCQlcCisJZG8gewkJCQkJCQkJCQkJCQkJCVwKKwkJaWYgKHBnc3RhdF9z aG91bGRfY291bnRfdGFibGUocmVsKSkJXAorCQkJKHJlbCktPnBnc3RhdHRhYl9pbmZvLT50 X2NvdW50cy50X2Jsb2Nrc19oaXQrKzsgXAorCX0gd2hpbGUgKDApCisjZGVmaW5lIHBnc3Rh dF9jb3VudF9pbmRleF9idWZmZXJfaGl0KHJlbCkJCQkJCQkJCVwKKwlkbyB7CQkJCQkJCQkJ CQkJCQkJXAorCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9pbmRleChyZWwpKQlcCisJCQko cmVsKS0+cGdzdGF0aW5kX2luZm8tPmlfY291bnRzLmlfYmxvY2tzX2hpdCsrOyBcCiAJfSB3 aGlsZSAoMCkKLQogZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfaW5zZXJ0KFJlbGF0 aW9uIHJlbCwgUGdTdGF0X0NvdW50ZXIgbik7CiBleHRlcm4gdm9pZCBwZ3N0YXRfY291bnRf aGVhcF91cGRhdGUoUmVsYXRpb24gcmVsLCBib29sIGhvdCk7CiBleHRlcm4gdm9pZCBwZ3N0 YXRfY291bnRfaGVhcF9kZWxldGUoUmVsYXRpb24gcmVsKTsKQEAgLTU3Myw2ICs2NDksMTAg QEAgZXh0ZXJuIFBnU3RhdF9TdGF0VGFiRW50cnkgKnBnc3RhdF9mZXRjaF9zdGF0X3RhYmVu dHJ5KE9pZCByZWxpZCk7CiBleHRlcm4gUGdTdGF0X1N0YXRUYWJFbnRyeSAqcGdzdGF0X2Zl dGNoX3N0YXRfdGFiZW50cnlfZXh0KGJvb2wgc2hhcmVkLAogCQkJCQkJCQkJCQkJCQkgICBP aWQgcmVsb2lkKTsKIGV4dGVybiBQZ1N0YXRfVGFibGVTdGF0dXMgKmZpbmRfdGFic3RhdF9l bnRyeShPaWQgcmVsX2lkKTsKK2V4dGVybiBQZ1N0YXRfSW5kZXhTdGF0dXMgKmZpbmRfaW5k c3RhdF9lbnRyeShPaWQgcmVsX2lkKTsKK2V4dGVybiBQZ1N0YXRfU3RhdEluZEVudHJ5ICpw Z3N0YXRfZmV0Y2hfc3RhdF9pbmRlbnRyeShPaWQgcmVsaWQpOworZXh0ZXJuIFBnU3RhdF9T dGF0SW5kRW50cnkgKnBnc3RhdF9mZXRjaF9zdGF0X2luZGVudHJ5X2V4dChib29sIHNoYXJl ZCwKKwkJCQkJCQkJCQkJCQkJICAgT2lkIHJlbGlkKTsKIAogCiAvKgpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvdXRpbHMvcGdzdGF0X2ludGVybmFsLmggYi9zcmMvaW5jbHVkZS91dGls cy9wZ3N0YXRfaW50ZXJuYWwuaAppbmRleCBlMmM3YjU5MzI0Li4wMDRlNTQxMmFiIDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaAorKysgYi9zcmMv aW5jbHVkZS91dGlscy9wZ3N0YXRfaW50ZXJuYWwuaApAQCAtMzU5LDExICszNTksMTcgQEAg dHlwZWRlZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX0RhdGFiYXNlCiAJUGdTdGF0X1N0YXREQkVu dHJ5IHN0YXRzOwogfSBQZ1N0YXRTaGFyZWRfRGF0YWJhc2U7CiAKLXR5cGVkZWYgc3RydWN0 IFBnU3RhdFNoYXJlZF9SZWxhdGlvbgordHlwZWRlZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX1Rh YmxlCiB7CiAJUGdTdGF0U2hhcmVkX0NvbW1vbiBoZWFkZXI7CiAJUGdTdGF0X1N0YXRUYWJF bnRyeSBzdGF0czsKLX0gUGdTdGF0U2hhcmVkX1JlbGF0aW9uOworfSBQZ1N0YXRTaGFyZWRf VGFibGU7CisKK3R5cGVkZWYgc3RydWN0IFBnU3RhdFNoYXJlZF9JbmRleAoreworCVBnU3Rh dFNoYXJlZF9Db21tb24gaGVhZGVyOworCVBnU3RhdF9TdGF0SW5kRW50cnkgc3RhdHM7Cit9 IFBnU3RhdFNoYXJlZF9JbmRleDsKIAogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0U2hhcmVkX0Z1 bmN0aW9uCiB7CkBAIC01NTAsMTYgKzU1NiwyMyBAQCBleHRlcm4gYm9vbCBwZ3N0YXRfZnVu Y3Rpb25fZmx1c2hfY2IoUGdTdGF0X0VudHJ5UmVmICplbnRyeV9yZWYsIGJvb2wgbm93YWl0 KTsKIAogCiAvKgotICogRnVuY3Rpb25zIGluIHBnc3RhdF9yZWxhdGlvbi5jCisgKiBGdW5j dGlvbnMgaW4gcGdzdGF0X3RhYmxlLmMKICAqLwogCi1leHRlcm4gdm9pZCBBdEVPWGFjdF9Q Z1N0YXRfUmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0U3RhdHVzICp4YWN0X3N0YXRlLCBib29s IGlzQ29tbWl0KTsKLWV4dGVybiB2b2lkIEF0RU9TdWJYYWN0X1BnU3RhdF9SZWxhdGlvbnMo UGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rfc3RhdGUsIGJvb2wgaXNDb21taXQsIGludCBu ZXN0RGVwdGgpOwotZXh0ZXJuIHZvaWQgQXRQcmVwYXJlX1BnU3RhdF9SZWxhdGlvbnMoUGdT dGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rfc3RhdGUpOwotZXh0ZXJuIHZvaWQgUG9zdFByZXBh cmVfUGdTdGF0X1JlbGF0aW9ucyhQZ1N0YXRfU3ViWGFjdFN0YXR1cyAqeGFjdF9zdGF0ZSk7 CitleHRlcm4gdm9pZCBBdEVPWGFjdF9QZ1N0YXRfVGFibGVzKFBnU3RhdF9TdWJYYWN0U3Rh dHVzICp4YWN0X3N0YXRlLCBib29sIGlzQ29tbWl0KTsKK2V4dGVybiB2b2lkIEF0RU9TdWJY YWN0X1BnU3RhdF9UYWJsZXMoUGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rfc3RhdGUsIGJv b2wgaXNDb21taXQsIGludCBuZXN0RGVwdGgpOworZXh0ZXJuIHZvaWQgQXRQcmVwYXJlX1Bn U3RhdF9UYWJsZXMoUGdTdGF0X1N1YlhhY3RTdGF0dXMgKnhhY3Rfc3RhdGUpOworZXh0ZXJu IHZvaWQgUG9zdFByZXBhcmVfUGdTdGF0X1RhYmxlcyhQZ1N0YXRfU3ViWGFjdFN0YXR1cyAq eGFjdF9zdGF0ZSk7CisKK2V4dGVybiBib29sIHBnc3RhdF90YWJsZV9mbHVzaF9jYihQZ1N0 YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9vbCBub3dhaXQpOworZXh0ZXJuIHZvaWQgcGdz dGF0X3RhYmxlX2RlbGV0ZV9wZW5kaW5nX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVm KTsKKworLyoKKyAqIEZ1bmN0aW9ucyBpbiBwZ3N0YXRfaW5kZXguYworICovCiAKLWV4dGVy biBib29sIHBnc3RhdF9yZWxhdGlvbl9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5 X3JlZiwgYm9vbCBub3dhaXQpOwotZXh0ZXJuIHZvaWQgcGdzdGF0X3JlbGF0aW9uX2RlbGV0 ZV9wZW5kaW5nX2NiKFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmKTsKK2V4dGVybiBib29s IHBnc3RhdF9pbmRleF9mbHVzaF9jYihQZ1N0YXRfRW50cnlSZWYgKmVudHJ5X3JlZiwgYm9v bCBub3dhaXQpOworZXh0ZXJuIHZvaWQgcGdzdGF0X2luZGV4X2RlbGV0ZV9wZW5kaW5nX2Ni KFBnU3RhdF9FbnRyeVJlZiAqZW50cnlfcmVmKTsKIAogCiAvKgpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvdXRpbHMvcmVsLmggYi9zcmMvaW5jbHVkZS91dGlscy9yZWwuaAppbmRleCBm MzgzYTJmY2E5Li43OTY0MjNmM2UzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9y ZWwuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9yZWwuaApAQCAtMjQ4LDcgKzI0OCwxMCBA QCB0eXBlZGVmIHN0cnVjdCBSZWxhdGlvbkRhdGEKIAogCWJvb2wJCXBnc3RhdF9lbmFibGVk OyAvKiBzaG91bGQgcmVsYXRpb24gc3RhdHMgYmUgY291bnRlZCAqLwogCS8qIHVzZSAic3Ry dWN0IiBoZXJlIHRvIGF2b2lkIG5lZWRpbmcgdG8gaW5jbHVkZSBwZ3N0YXQuaDogKi8KLQlz dHJ1Y3QgUGdTdGF0X1RhYmxlU3RhdHVzICpwZ3N0YXRfaW5mbzsgLyogc3RhdGlzdGljcyBj b2xsZWN0aW9uIGFyZWEgKi8KKwkvKiB0YWJsZSdzIHN0YXRpc3RpY3MgY29sbGVjdGlvbiBh cmVhICovCisJc3RydWN0IFBnU3RhdF9UYWJsZVN0YXR1cyAqcGdzdGF0dGFiX2luZm87CisJ LyogSW5kZXgncyBzdGF0aXN0aWNzIGNvbGxlY3Rpb24gYXJlYSAqLworCXN0cnVjdCBQZ1N0 YXRfSW5kZXhTdGF0dXMgKnBnc3RhdGluZF9pbmZvOwogfSBSZWxhdGlvbkRhdGE7CiAKIApk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3N0YXRzLm91dCBiL3Ny Yy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC9zdGF0cy5vdXQKaW5kZXggNjFiNWE3MTBlYy4u NDk0YWRlZTg4YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3N0 YXRzLm91dAorKysgYi9zcmMvdGVzdC9pc29sYXRpb24vZXhwZWN0ZWQvc3RhdHMub3V0CkBA IC0yMTY2LDE0ICsyMTY2LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVw IHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVt c2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxl c19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRf Z2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAg ICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAot ICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVw LAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRf dHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFj dXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBB UyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0 c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBs ZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dl dF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBw Z19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAor ICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZl X3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFT IG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNv Lm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwog ICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTIyMTAsMTQgKzIy MTAsMTQgQEAgc3RlcCBzMl90YWJsZV91cGRhdGVfazE6IFVQREFURSB0ZXN0X3N0YXRfdGFi IFNFVCB2YWx1ZSA9IHZhbHVlICsgMSBXSEVSRSBrZXkgPQogc3RlcCBzMV90YWJsZV9kcm9w OiBEUk9QIFRBQkxFIHRlc3Rfc3RhdF90YWI7CiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAg ICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2Vx X3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBB UyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0 c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRh dGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVz X2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9s aXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dl dF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0 X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAg cGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3Jl YWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkg QVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQo dHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVz X2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50 CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0g J3Rlc3Rfc3RhdF90YWInCiAKQEAgLTIyMzYsMTQgKzIyMzYsMTQgQEAgcGdfc3RhdF9mb3Jj ZV9uZXh0X2ZsdXNoCiBzdGVwIHMxX3RyYWNrX2NvdW50c19vZmY6IFNFVCB0cmFja19jb3Vu dHMgPSBvZmY7CiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAg cGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBn X3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0g ICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9p bnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5f dHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkg QVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lk KSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28u b2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQo dHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1z Y2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1 cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBf dXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkg QVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNv Lm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVw bGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92 YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0 YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAK QEAgLTIyNzUsMTQgKzIyNzUsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0 ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9u dW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVw bGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3Rh dF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAg ICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWws Ci0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90 dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVh ZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2 YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQp IEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3JldHVybmVk KHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1 cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWws CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xp dmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkg QVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0 c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNv CiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjMxNCwxNCAr MjMxNCwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIHN0ZXAgczFfdHJhY2tfY291 bnRzX29mZjogU0VUIHRyYWNrX2NvdW50cyA9IG9mZjsKIHN0ZXAgczFfdGFibGVfc3RhdHM6 IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBB UyBzZXFfc2NhbiwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5v aWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2Vy dGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVz X3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90 dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRf Z2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90 dXBfcmVhZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28u b2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBk YXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90 dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBw Z19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAg ICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1f Y291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5h bWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjM2OSwxNCArMjM2OSwxNCBAQCBwZ19zdGF0 X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNU Ci0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAot ICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1 cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkg QVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28u b2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVk KHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBs ZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90 dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFj dXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dl dF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVw X2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQp IEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVk KHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVf dHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3Rh Yl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZS T00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0 YXRfdGFiJwogCkBAIC0yNDAxLDE0ICsyNDAxLDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9m bHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdf c3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0 YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMs Ci0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVw X3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMg bl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBB UyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lk KSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNv Lm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fu cyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAg ICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBk LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMg bl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9p ZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVz KHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1 dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRf b2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAg LTI0NjMsMTQgKzI0NjMsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAg czFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1z Y2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVz X3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9n ZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdf c3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAg ICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0g ICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAs Ci0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90 dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1 dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFT IHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3JldHVybmVkKHRz by5vaWQpIEFTIHNlcV90dXBfcmVhZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVf dHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMg bl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28u b2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAg ICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjQ5NSwxNCArMjQ5 NSwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0 czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQp IEFTIHNlcV9zY2FuLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNv Lm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5z ZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBs ZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0 X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3Rh dF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdf c3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAg cGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2Vx X3R1cF9yZWFkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRz by5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191 cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAor ICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1 bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28u bmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yNTU4LDE0ICsyNTU4LDE0IEBAIHBnX3N0 YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxF Q1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4s Ci0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFf dHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lk KSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRz by5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0 ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFk X3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92 YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90 dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9p ZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0 ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2 ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRf dGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAg RlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rf c3RhdF90YWInCiAKQEAgLTI2MjcsMTQgKzI2MjcsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0 X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBw Z19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKLSAgICAgICAgcGdf c3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lu cywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90 dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBB UyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQp IEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5v aWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0 c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNj YW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVw bGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91 cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBB UyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28u b2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBs ZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3Zh Y3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3Rh dF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApA QCAtMjY4OCwxNCArMjY4OCwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3Rl cCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251 bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAotICAgICAgICBwZ19zdGF0X2dldF90dXBs ZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBw Z19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwK LSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1 cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFk X3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZh Y3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkg QVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfcmV0dXJuZWQo dHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVw bGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAg cGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2 ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBB UyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRz by5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28K ICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yNzU1LDE0ICsy NzU1LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0 YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9p ZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0 c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19p bnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1 cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9n ZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19z dGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBw Z19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAg ICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50Cisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBz ZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQo dHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVz X3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19z dGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAs CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFj dXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRz by5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTI3OTUsMTQgKzI3OTUsMTQgQEAgcGdf c3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNF TEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2Nh biwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNl cV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5v aWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQo dHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVs ZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVf dHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2Rl YWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0 X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19z dGF0X2dldF90YWJfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBu X3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28u b2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVs ZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9s aXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dl dF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdf c3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAg ICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVz dF9zdGF0X3RhYicKIApAQCAtMjg0MSwxNCArMjg0MSwxNCBAQCBwZ19zdGF0X2ZvcmNlX25l eHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAg IHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAotICAgICAgICBw Z19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAot ICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBf aW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBu X3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQp IEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9p ZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNv Lm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50 KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVt c2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90 dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAorICAgICAgICBwZ19z dGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAg ICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVw X3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQp IEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRz by5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf dmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9z dGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwog CkBAIC0yODgxLDE0ICsyODgxLDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBz dGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRf bnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1 cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAg IHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVs LAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVf dHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2Rl YWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMg dmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lk KSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5l ZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90 dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAg ICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVs LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9s aXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQp IEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQo dHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRz bwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTI5MjcsMTQg KzI5MjcsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVf c3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28u b2lkKSBBUyBzZXFfc2NhbiwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVk KHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVz X2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRf dHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBn X3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAg IHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2Fu LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFT IHNlcV90dXBfcmVhZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRl ZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBs ZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1 cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2 YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUg dHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjk2OCwxNCArMjk2OCwxNCBAQCBw Z19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAg U0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9z Y2FuLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMg c2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNv Lm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRl ZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19k ZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2 ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRf ZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9n ZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19z dGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFk LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFT IG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRz by5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19k ZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBw Z19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAog ICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0 ZXN0X3N0YXRfdGFiJwogCkBAIC0zMDE1LDE0ICszMDE1LDE0IEBAIHBnX3N0YXRfZm9yY2Vf bmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAg ICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAgICAg IHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQs Ci0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1 cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFT IG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9p ZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28u b2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0 c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291 bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9u dW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAor ICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90 dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9p ZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMo dHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRf dHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3Rh Yl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0 X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWIn CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC9zdGF0c18xLm91 dCBiL3NyYy90ZXN0L2lzb2xhdGlvbi9leHBlY3RlZC9zdGF0c18xLm91dAppbmRleCAzODU0 MzIwMTA2Li43OTgxNzQ3NzMyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9pc29sYXRpb24vZXhw ZWN0ZWQvc3RhdHNfMS5vdXQKKysrIGIvc3JjL3Rlc3QvaXNvbGF0aW9uL2V4cGVjdGVkL3N0 YXRzXzEub3V0CkBAIC0yMTc0LDE0ICsyMTc0LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9m bHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdf c3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKICAgICAgICAgcGdf c3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lu cywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90 dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBB UyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQp IEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5v aWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0 c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVf dHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMg bl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28u b2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAg ICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjIxOCwxNCArMjIx OCwxNCBAQCBzdGVwIHMyX3RhYmxlX3VwZGF0ZV9rMTogVVBEQVRFIHRlc3Rfc3RhdF90YWIg U0VUIHZhbHVlID0gdmFsdWUgKyAxIFdIRVJFIGtleSA9CiBzdGVwIHMxX3RhYmxlX2Ryb3A6 IERST1AgVEFCTEUgdGVzdF9zdGF0X3RhYjsKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAg IFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFf c2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNl cV9zY2FuLAogICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkg QVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQo dHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBk YXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxl c19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRf bGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9n ZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3Rh dF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBw Z19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5f dHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5v aWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVz KHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFk X3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVz dF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFi JwogCkBAIC0yMjQ0LDE0ICsyMjQ0LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAog c3RlcCBzMV90cmFja19jb3VudHNfb2ZmOiBTRVQgdHJhY2tfY291bnRzID0gb2ZmOwogc3Rl cCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251 bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf bnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCiAgICAgICAgIHBnX3N0YXRfZ2V0X3R1 cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAg IHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVs LAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVf dHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2Rl YWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMg dmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQo dHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVz X3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19z dGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAs CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFj dXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRz by5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTIyODMsMTQgKzIyODMsMTQgQEAgcGdf c3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNF TEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2Nh biwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9z Y2FuLAogICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMg c2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNv Lm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRl ZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19k ZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2 ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRf ZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9n ZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19z dGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAg ICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVw X3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQp IEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRz by5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf dmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9z dGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwog CkBAIC0yMzIyLDE0ICsyMzIyLDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogc3Rl cCBzMV90cmFja19jb3VudHNfb2ZmOiBTRVQgdHJhY2tfY291bnRzID0gb2ZmOwogc3RlcCBz MV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNj YW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVt c2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCiAgICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxl c19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRf Z2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAg ICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAot ICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVw LAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRf dHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFj dXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNv Lm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3Vw ZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf dHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAg cGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVt X2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5u YW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTIzNzcsMTQgKzIzNzcsMTQgQEAgcGdfc3Rh dF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVD VAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2Fu LAogICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2Vx X3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9p ZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0 c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxl dGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90 dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVh ZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRf dmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3Vw ZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFT IG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5v aWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxl cyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFj dXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0 X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBA IC0yNDA5LDE0ICsyNDA5LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVw IHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVt c2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9u dW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKICAgICAgICAgcGdfc3RhdF9nZXRfdHVw bGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3Rh dF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAg ICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWws Ci0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90 dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVh ZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2 YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0 c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNf dXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3Rh Yl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAg ICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1 dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNv Lm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjQ3MSwxNCArMjQ3MSwxNCBAQCBwZ19z dGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VM RUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2Fu LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3Nj YW4sCiAgICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBz ZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28u b2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVk KHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2Rl bGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZl X3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9k ZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dl dF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBf dXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkg QVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNv Lm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVw bGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92 YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0 YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAK QEAgLTI1MDMsMTQgKzI1MDMsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0 ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9u dW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAogICAgICAgICBwZ19zdGF0X2dldF90 dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19z dGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAg ICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0g ICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2Rl bCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZl X3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9k ZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFT IHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVk KHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRf dGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdf c3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAg ICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVw LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZh Y3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0 c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yNTY2LDE0ICsyNTY2LDE0IEBAIHBn X3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBT RUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3Nj YW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFf c2NhbiwKICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFT IHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRz by5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0 ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNf ZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xp dmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0 X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRf Z2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdf c3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1 cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lk KSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0 c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90 dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rf c3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicK IApAQCAtMjYzNSwxNCArMjYzNSwxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAog c3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0 X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCiAgICAgICAgIHBnX3N0YXRfZ2V0 X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwK LSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBf ZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xp dmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBu X2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkg QVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0 ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVw bGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dl dF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBw Z19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAg ICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90 dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMg dmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJF IHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTI2OTgsMTQgKzI2OTgsMTQgQEAg cGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAg IFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFf c2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNl cV9zY2FuLAogICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkg QVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQo dHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBk YXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxl c19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRf bGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9n ZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3Rh dF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBw Z19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywK KyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5f dHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5v aWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVz KHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFk X3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVz dF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFi JwogCkBAIC0yNzY3LDE0ICsyNzY3LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAog CiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9n ZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKICAgICAgICAgcGdfc3RhdF9n ZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBk LAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1 cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5f bGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFT IG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lk KSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNl cnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90 dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRf Z2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAor ICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFk X3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBB UyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hF UkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApAQCAtMjgwOSwxNCArMjgwOSwxNCBA QCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAg ICAgU0VMRUNUCi0gICAgICAgIHBnX3N0YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNl cV9zY2FuLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMg c2VxX3NjYW4sCiAgICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lk KSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRl ZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191 cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVw bGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dl dF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0 X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19z dGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAg IHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5z LAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMg bl90dXBfdXBkLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNv Lm9pZCkgQVMgbl90dXBfZGVsLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBs ZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2Rl YWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0 ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAgIFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90 YWInCiAKQEAgLTI4NTcsMTQgKzI4NTcsMTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNo CiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0 X2dldF9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAogICAgICAgICBwZ19zdGF0 X2dldF90dXBsZXNfcmV0dXJuZWQodHNvLm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAg ICBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAot ICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91 cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5f dHVwX2RlbCwKLSAgICAgICAgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMg bl9saXZlX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkg QVMgbl9kZWFkX3R1cCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5v aWQpIEFTIHZhY3V1bV9jb3VudAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2lu c2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFi X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3Rh dF9nZXRfdGFiX3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAs CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2Rl YWRfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQp IEFTIHZhY3V1bV9jb3VudAogICAgIEZST00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBX SEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0YXRfdGFiJwogCkBAIC0yODk5LDE0ICsyODk5LDE0 IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAK ICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMg c2VxX3NjYW4sCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBB UyBzZXFfc2NhbiwKICAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5v aWQpIEFTIHNlcV90dXBfcmVhZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2Vy dGVkKHRzby5vaWQpIEFTIG5fdHVwX2lucywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVz X3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90 dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRf Z2V0X2xpdmVfdHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBn X3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAg ICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9p bnMsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBB UyBuX3R1cF91cGQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0 c28ub2lkKSBBUyBuX3R1cF9kZWwsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1 cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJf ZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9n ZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28ub2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9N IHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAgICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0 X3RhYicKIApAQCAtMjk0NywxNCArMjk0NywxNCBAQCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1 c2gKIAogc3RlcCBzMV90YWJsZV9zdGF0czogCiAgICAgU0VMRUNUCi0gICAgICAgIHBnX3N0 YXRfZ2V0X251bXNjYW5zKHRzby5vaWQpIEFTIHNlcV9zY2FuLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCiAgICAgICAgIHBnX3N0 YXRfZ2V0X3R1cGxlc19yZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAg ICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMs Ci0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVw X3VwZCwKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMg bl90dXBfZGVsLAotICAgICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBB UyBuX2xpdmVfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lk KSBBUyBuX2RlYWRfdHVwLAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNv Lm9pZCkgQVMgdmFjdXVtX2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNf aW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19z dGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1 cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5f ZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9p ZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAg IFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiAKQEAgLTI5OTAsMTQgKzI5OTAs MTQgQEAgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoCiAKIHN0ZXAgczFfdGFibGVfc3RhdHM6 IAogICAgIFNFTEVDVAotICAgICAgICBwZ19zdGF0X2dldF9udW1zY2Fucyh0c28ub2lkKSBB UyBzZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKHRzby5vaWQp IEFTIHNlcV9zY2FuLAogICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfcmV0dXJuZWQodHNv Lm9pZCkgQVMgc2VxX3R1cF9yZWFkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfaW5z ZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAotICAgICAgICBwZ19zdGF0X2dldF90dXBs ZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCi0gICAgICAgIHBnX3N0YXRfZ2V0 X3R1cGxlc19kZWxldGVkKHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKLSAgICAgICAgcGdfc3Rh dF9nZXRfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICAgICAgcGdf c3RhdF9nZXRfZGVhZF90dXBsZXModHNvLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICAgICAg cGdfc3RhdF9nZXRfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVw X2lucywKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc191cGRhdGVkKHRzby5vaWQp IEFTIG5fdHVwX3VwZCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19kZWxldGVk KHRzby5vaWQpIEFTIG5fdHVwX2RlbCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2xpdmVf dHVwbGVzKHRzby5vaWQpIEFTIG5fbGl2ZV90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3Rh Yl9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVwLAorICAgICAgICBwZ19zdGF0 X2dldF90YWJfdmFjdXVtX2NvdW50KHRzby5vaWQpIEFTIHZhY3V1bV9jb3VudAogICAgIEZS T00gdGVzdF9zdGF0X29pZCBBUyB0c28KICAgICBXSEVSRSB0c28ubmFtZSA9ICd0ZXN0X3N0 YXRfdGFiJwogCkBAIC0zMDM5LDE0ICszMDM5LDE0IEBAIHBnX3N0YXRfZm9yY2VfbmV4dF9m bHVzaAogCiBzdGVwIHMxX3RhYmxlX3N0YXRzOiAKICAgICBTRUxFQ1QKLSAgICAgICAgcGdf c3RhdF9nZXRfbnVtc2NhbnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCisgICAgICAgIHBnX3N0 YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBzZXFfc2NhbiwKICAgICAgICAgcGdf c3RhdF9nZXRfdHVwbGVzX3JldHVybmVkKHRzby5vaWQpIEFTIHNlcV90dXBfcmVhZCwKLSAg ICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkKHRzby5vaWQpIEFTIG5fdHVwX2lu cywKLSAgICAgICAgcGdfc3RhdF9nZXRfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90 dXBfdXBkLAotICAgICAgICBwZ19zdGF0X2dldF90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBB UyBuX3R1cF9kZWwsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKHRzby5vaWQp IEFTIG5fbGl2ZV90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X2RlYWRfdHVwbGVzKHRzby5v aWQpIEFTIG5fZGVhZF90dXAsCi0gICAgICAgIHBnX3N0YXRfZ2V0X3ZhY3V1bV9jb3VudCh0 c28ub2lkKSBBUyB2YWN1dW1fY291bnQKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxl c19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCisgICAgICAgIHBnX3N0YXRfZ2V0 X3RhYl90dXBsZXNfdXBkYXRlZCh0c28ub2lkKSBBUyBuX3R1cF91cGQsCisgICAgICAgIHBn X3N0YXRfZ2V0X3RhYl90dXBsZXNfZGVsZXRlZCh0c28ub2lkKSBBUyBuX3R1cF9kZWwsCisg ICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVf dHVwLAorICAgICAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90dXBsZXModHNvLm9pZCkgQVMg bl9kZWFkX3R1cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudCh0c28u b2lkKSBBUyB2YWN1dW1fY291bnQKICAgICBGUk9NIHRlc3Rfc3RhdF9vaWQgQVMgdHNvCiAg ICAgV0hFUkUgdHNvLm5hbWUgPSAndGVzdF9zdGF0X3RhYicKIApkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3N0YXRzLnNwZWMgYi9zcmMvdGVzdC9pc29sYXRpb24v c3BlY3Mvc3RhdHMuc3BlYwppbmRleCA1YjkyMmQ3ODhjLi41M2Q3OGY3ZGIxIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9pc29sYXRpb24vc3BlY3Mvc3RhdHMuc3BlYworKysgYi9zcmMvdGVz dC9pc29sYXRpb24vc3BlY3Mvc3RhdHMuc3BlYwpAQCAtOTMsMTQgKzkzLDE0IEBAIHN0ZXAg czFfdGFibGVfZHJvcCB7IERST1AgVEFCTEUgdGVzdF9zdGF0X3RhYjsgfQogCiBzdGVwIHMx X3RhYmxlX3N0YXRzIHsKICAgICBTRUxFQ1QKLSAgICAgICAgcGdfc3RhdF9nZXRfbnVtc2Nh bnModHNvLm9pZCkgQVMgc2VxX3NjYW4sCi0gICAgICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19y ZXR1cm5lZCh0c28ub2lkKSBBUyBzZXFfdHVwX3JlYWQsCi0gICAgICAgIHBnX3N0YXRfZ2V0 X3R1cGxlc19pbnNlcnRlZCh0c28ub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgICAgIHBnX3N0 YXRfZ2V0X3R1cGxlc191cGRhdGVkKHRzby5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICAgICAg cGdfc3RhdF9nZXRfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAotICAg ICAgICBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyh0c28ub2lkKSBBUyBuX2xpdmVfdHVwLAot ICAgICAgICBwZ19zdGF0X2dldF9kZWFkX3R1cGxlcyh0c28ub2lkKSBBUyBuX2RlYWRfdHVw LAotICAgICAgICBwZ19zdGF0X2dldF92YWN1dW1fY291bnQodHNvLm9pZCkgQVMgdmFjdXVt X2NvdW50CisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl9udW1zY2Fucyh0c28ub2lkKSBBUyBz ZXFfc2NhbiwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZCh0c28u b2lkKSBBUyBzZXFfdHVwX3JlYWQsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNf aW5zZXJ0ZWQodHNvLm9pZCkgQVMgbl90dXBfaW5zLAorICAgICAgICBwZ19zdGF0X2dldF90 YWJfdHVwbGVzX3VwZGF0ZWQodHNvLm9pZCkgQVMgbl90dXBfdXBkLAorICAgICAgICBwZ19z dGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQodHNvLm9pZCkgQVMgbl90dXBfZGVsLAorICAg ICAgICBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXModHNvLm9pZCkgQVMgbl9saXZlX3R1 cCwKKyAgICAgICAgcGdfc3RhdF9nZXRfdGFiX2RlYWRfdHVwbGVzKHRzby5vaWQpIEFTIG5f ZGVhZF90dXAsCisgICAgICAgIHBnX3N0YXRfZ2V0X3RhYl92YWN1dW1fY291bnQodHNvLm9p ZCkgQVMgdmFjdXVtX2NvdW50CiAgICAgRlJPTSB0ZXN0X3N0YXRfb2lkIEFTIHRzbwogICAg IFdIRVJFIHRzby5uYW1lID0gJ3Rlc3Rfc3RhdF90YWInCiB9CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWNvdmVyeS90LzAyOV9zdGF0c19yZXN0YXJ0LnBsIGIvc3JjL3Rlc3QvcmVjb3Zl cnkvdC8wMjlfc3RhdHNfcmVzdGFydC5wbAppbmRleCAxYmY3YjU2OGNjLi5jMjU2MzRkMzNm IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAyOV9zdGF0c19yZXN0YXJ0LnBs CisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDI5X3N0YXRzX3Jlc3RhcnQucGwKQEAgLTQz LDggKzQzLDggQEAgbXkgJHNlY3QgPSAiaW5pdGlhbCI7CiBpcyhoYXZlX3N0YXRzKCdkYXRh YmFzZScsICRkYm9pZCwgMCksICd0JywgIiRzZWN0OiBkYiBzdGF0cyBkbyBleGlzdCIpOwog aXMoaGF2ZV9zdGF0cygnZnVuY3Rpb24nLCAkZGJvaWQsICRmdW5jb2lkKSwKIAkndCcsICIk c2VjdDogZnVuY3Rpb24gc3RhdHMgZG8gZXhpc3QiKTsKLWlzKGhhdmVfc3RhdHMoJ3JlbGF0 aW9uJywgJGRib2lkLCAkdGFibGVvaWQpLAotCSd0JywgIiRzZWN0OiByZWxhdGlvbiBzdGF0 cyBkbyBleGlzdCIpOworaXMoaGF2ZV9zdGF0cygndGFibGUnLCAkZGJvaWQsICR0YWJsZW9p ZCksCisJJ3QnLCAiJHNlY3Q6IHRhYmxlIHN0YXRzIGRvIGV4aXN0Iik7CiAKICMgcmVndWxh ciBzaHV0ZG93bgogJG5vZGUtPnN0b3AoKTsKQEAgLTY3LDggKzY3LDggQEAgJHNlY3QgPSAi Y29weSI7CiBpcyhoYXZlX3N0YXRzKCdkYXRhYmFzZScsICRkYm9pZCwgMCksICd0JywgIiRz ZWN0OiBkYiBzdGF0cyBkbyBleGlzdCIpOwogaXMoaGF2ZV9zdGF0cygnZnVuY3Rpb24nLCAk ZGJvaWQsICRmdW5jb2lkKSwKIAkndCcsICIkc2VjdDogZnVuY3Rpb24gc3RhdHMgZG8gZXhp c3QiKTsKLWlzKGhhdmVfc3RhdHMoJ3JlbGF0aW9uJywgJGRib2lkLCAkdGFibGVvaWQpLAot CSd0JywgIiRzZWN0OiByZWxhdGlvbiBzdGF0cyBkbyBleGlzdCIpOworaXMoaGF2ZV9zdGF0 cygndGFibGUnLCAkZGJvaWQsICR0YWJsZW9pZCksCisJJ3QnLCAiJHNlY3Q6IHRhYmxlIHN0 YXRzIGRvIGV4aXN0Iik7CiAKICRub2RlLT5zdG9wKCdpbW1lZGlhdGUnKTsKIApAQCAtODQs OCArODQsOCBAQCAkc2VjdCA9ICJwb3N0IGltbWVkaWF0ZSI7CiBpcyhoYXZlX3N0YXRzKCdk YXRhYmFzZScsICRkYm9pZCwgMCksICdmJywgIiRzZWN0OiBkYiBzdGF0cyBkbyBub3QgZXhp c3QiKTsKIGlzKGhhdmVfc3RhdHMoJ2Z1bmN0aW9uJywgJGRib2lkLCAkZnVuY29pZCksCiAJ J2YnLCAiJHNlY3Q6IGZ1bmN0aW9uIHN0YXRzIGRvIGV4aXN0Iik7Ci1pcyhoYXZlX3N0YXRz KCdyZWxhdGlvbicsICRkYm9pZCwgJHRhYmxlb2lkKSwKLQknZicsICIkc2VjdDogcmVsYXRp b24gc3RhdHMgZG8gbm90IGV4aXN0Iik7CitpcyhoYXZlX3N0YXRzKCd0YWJsZScsICRkYm9p ZCwgJHRhYmxlb2lkKSwKKwknZicsICIkc2VjdDogdGFibGUgc3RhdHMgZG8gbm90IGV4aXN0 Iik7CiAKICMgZ2V0IHJpZCBvZiBiYWNrdXAgc3RhdHNmaWxlCiB1bmxpbmsgJHN0YXRzZmls ZSBvciBkaWUgImNhbm5vdCB1bmxpbmsgJHN0YXRzZmlsZSAkISI7CkBAIC05OCw4ICs5OCw4 IEBAICRzZWN0ID0gInBvc3QgaW1tZWRpYXRlLCBuZXciOwogaXMoaGF2ZV9zdGF0cygnZGF0 YWJhc2UnLCAkZGJvaWQsIDApLCAndCcsICIkc2VjdDogZGIgc3RhdHMgZG8gZXhpc3QiKTsK IGlzKGhhdmVfc3RhdHMoJ2Z1bmN0aW9uJywgJGRib2lkLCAkZnVuY29pZCksCiAJJ3QnLCAi JHNlY3Q6IGZ1bmN0aW9uIHN0YXRzIGRvIGV4aXN0Iik7Ci1pcyhoYXZlX3N0YXRzKCdyZWxh dGlvbicsICRkYm9pZCwgJHRhYmxlb2lkKSwKLQkndCcsICIkc2VjdDogcmVsYXRpb24gc3Rh dHMgZG8gZXhpc3QiKTsKK2lzKGhhdmVfc3RhdHMoJ3RhYmxlJywgJGRib2lkLCAkdGFibGVv aWQpLAorCSd0JywgIiRzZWN0OiB0YWJsZSBzdGF0cyBkbyBleGlzdCIpOwogCiAjIHJlZ3Vs YXIgc2h1dGRvd24KICRub2RlLT5zdG9wKCk7CkBAIC0xMTcsOCArMTE3LDcgQEAgJHNlY3Qg PSAiaW52YWxpZF9vdmVyd3JpdGUiOwogaXMoaGF2ZV9zdGF0cygnZGF0YWJhc2UnLCAkZGJv aWQsIDApLCAnZicsICIkc2VjdDogZGIgc3RhdHMgZG8gbm90IGV4aXN0Iik7CiBpcyhoYXZl X3N0YXRzKCdmdW5jdGlvbicsICRkYm9pZCwgJGZ1bmNvaWQpLAogCSdmJywgIiRzZWN0OiBm dW5jdGlvbiBzdGF0cyBkbyBub3QgZXhpc3QiKTsKLWlzKGhhdmVfc3RhdHMoJ3JlbGF0aW9u JywgJGRib2lkLCAkdGFibGVvaWQpLAotCSdmJywgIiRzZWN0OiByZWxhdGlvbiBzdGF0cyBk byBub3QgZXhpc3QiKTsKK2lzKGhhdmVfc3RhdHMoJ3RhYmxlJywgJGRib2lkLCAkdGFibGVv aWQpLCAnZicsICIkc2VjdDogdGFibGUgZG8gbm90IGV4aXN0Iik7CiAKIAogIyMgY2hlY2sg aW52YWxpZCBzdGF0cyBmaWxlIHN0YXJ0aW5nIHdpdGggdmFsaWQgY29udGVudHMsIGJ1dCBm b2xsb3dlZCBieQpAQCAtMTMzLDggKzEzMiw4IEBAICRzZWN0ID0gImludmFsaWRfYXBwZW5k IjsKIGlzKGhhdmVfc3RhdHMoJ2RhdGFiYXNlJywgJGRib2lkLCAwKSwgJ2YnLCAiJHNlY3Q6 IGRiIHN0YXRzIGRvIG5vdCBleGlzdCIpOwogaXMoaGF2ZV9zdGF0cygnZnVuY3Rpb24nLCAk ZGJvaWQsICRmdW5jb2lkKSwKIAknZicsICIkc2VjdDogZnVuY3Rpb24gc3RhdHMgZG8gbm90 IGV4aXN0Iik7Ci1pcyhoYXZlX3N0YXRzKCdyZWxhdGlvbicsICRkYm9pZCwgJHRhYmxlb2lk KSwKLQknZicsICIkc2VjdDogcmVsYXRpb24gc3RhdHMgZG8gbm90IGV4aXN0Iik7Citpcyho YXZlX3N0YXRzKCd0YWJsZScsICRkYm9pZCwgJHRhYmxlb2lkKSwKKwknZicsICIkc2VjdDog dGFibGUgc3RhdHMgZG8gbm90IGV4aXN0Iik7CiAKIAogIyMgY2hlY2tzIHJlbGF0ZWQgdG8g c3RhdHMgcGVyc2lzdGVuY3kgYXJvdW5kIHJlc3RhcnRzIGFuZCByZXNldHMKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMwX3N0YXRzX2NsZWFudXBfcmVwbGljYS5wbCBi L3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMwX3N0YXRzX2NsZWFudXBfcmVwbGljYS5wbAppbmRl eCBjYzkyZGRiYjUyLi4xZTc4YjEzY2Y5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVy eS90LzAzMF9zdGF0c19jbGVhbnVwX3JlcGxpY2EucGwKKysrIGIvc3JjL3Rlc3QvcmVjb3Zl cnkvdC8wMzBfc3RhdHNfY2xlYW51cF9yZXBsaWNhLnBsCkBAIC0xODUsNyArMTg1LDcgQEAg c3ViIHRlc3Rfc3RhbmRieV9mdW5jX3RhYl9zdGF0c19zdGF0dXMKIAlteSAlc3RhdHM7CiAK IAkkc3RhdHN7cmVsfSA9ICRub2RlX3N0YW5kYnktPnNhZmVfcHNxbCgkY29ubmVjdF9kYiwK LQkJIlNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgJGRib2lkLCAkdGFi bGVvaWQpIik7CisJCSJTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCd0YWJsZScsICRkYm9p ZCwgJHRhYmxlb2lkKSIpOwogCSRzdGF0c3tmdW5jfSA9ICRub2RlX3N0YW5kYnktPnNhZmVf cHNxbCgkY29ubmVjdF9kYiwKIAkJIlNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2Z1bmN0 aW9uJywgJGRib2lkLCAkZnVuY29pZCkiKTsKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1 bGVzLm91dAppbmRleCBmYjlmOTM2ZDQzLi45YzJiODEzNzg5IDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMTc2NywxMCArMTc2NywxMCBAQCBwZ19zdGF0X2Fs bF9pbmRleGVzfCBTRUxFQ1QgYy5vaWQgQVMgcmVsaWQsCiAgICAgbi5uc3BuYW1lIEFTIHNj aGVtYW5hbWUsCiAgICAgYy5yZWxuYW1lLAogICAgIGkucmVsbmFtZSBBUyBpbmRleHJlbG5h bWUsCi0gICAgcGdfc3RhdF9nZXRfbnVtc2NhbnMoaS5vaWQpIEFTIGlkeF9zY2FuLAotICAg IHBnX3N0YXRfZ2V0X2xhc3RzY2FuKGkub2lkKSBBUyBsYXN0X2lkeF9zY2FuLAotICAgIHBn X3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZChpLm9pZCkgQVMgaWR4X3R1cF9yZWFkLAotICAg IHBnX3N0YXRfZ2V0X3R1cGxlc19mZXRjaGVkKGkub2lkKSBBUyBpZHhfdHVwX2ZldGNoCisg ICAgcGdfc3RhdF9nZXRfaW5kX251bXNjYW5zKGkub2lkKSBBUyBpZHhfc2NhbiwKKyAgICBw Z19zdGF0X2dldF9pbmRfbGFzdHNjYW4oaS5vaWQpIEFTIGxhc3RfaWR4X3NjYW4sCisgICAg cGdfc3RhdF9nZXRfaW5kX3R1cGxlc19yZXR1cm5lZChpLm9pZCkgQVMgaWR4X3R1cF9yZWFk LAorICAgIHBnX3N0YXRfZ2V0X2luZF90dXBsZXNfZmV0Y2hlZChpLm9pZCkgQVMgaWR4X3R1 cF9mZXRjaAogICAgRlJPTSAoKChwZ19jbGFzcyBjCiAgICAgIEpPSU4gcGdfaW5kZXggeCBP TiAoKGMub2lkID0geC5pbmRyZWxpZCkpKQogICAgICBKT0lOIHBnX2NsYXNzIGkgT04gKChp Lm9pZCA9IHguaW5kZXhyZWxpZCkpKQpAQCAtMTc3OSwyOCArMTc3OSwyOCBAQCBwZ19zdGF0 X2FsbF9pbmRleGVzfCBTRUxFQ1QgYy5vaWQgQVMgcmVsaWQsCiBwZ19zdGF0X2FsbF90YWJs ZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKICAgICBuLm5zcG5hbWUgQVMgc2NoZW1hbmFt ZSwKICAgICBjLnJlbG5hbWUsCi0gICAgcGdfc3RhdF9nZXRfbnVtc2NhbnMoYy5vaWQpIEFT IHNlcV9zY2FuLAotICAgIHBnX3N0YXRfZ2V0X2xhc3RzY2FuKGMub2lkKSBBUyBsYXN0X3Nl cV9zY2FuLAotICAgIHBnX3N0YXRfZ2V0X3R1cGxlc19yZXR1cm5lZChjLm9pZCkgQVMgc2Vx X3R1cF9yZWFkLAotICAgIChzdW0ocGdfc3RhdF9nZXRfbnVtc2NhbnMoaS5pbmRleHJlbGlk KSkpOjpiaWdpbnQgQVMgaWR4X3NjYW4sCi0gICAgbWF4KHBnX3N0YXRfZ2V0X2xhc3RzY2Fu KGkuaW5kZXhyZWxpZCkpIEFTIGxhc3RfaWR4X3NjYW4sCi0gICAgKChzdW0ocGdfc3RhdF9n ZXRfdHVwbGVzX2ZldGNoZWQoaS5pbmRleHJlbGlkKSkpOjpiaWdpbnQgKyBwZ19zdGF0X2dl dF90dXBsZXNfZmV0Y2hlZChjLm9pZCkpIEFTIGlkeF90dXBfZmV0Y2gsCi0gICAgcGdfc3Rh dF9nZXRfdHVwbGVzX2luc2VydGVkKGMub2lkKSBBUyBuX3R1cF9pbnMsCi0gICAgcGdfc3Rh dF9nZXRfdHVwbGVzX3VwZGF0ZWQoYy5vaWQpIEFTIG5fdHVwX3VwZCwKLSAgICBwZ19zdGF0 X2dldF90dXBsZXNfZGVsZXRlZChjLm9pZCkgQVMgbl90dXBfZGVsLAotICAgIHBnX3N0YXRf Z2V0X3R1cGxlc19ob3RfdXBkYXRlZChjLm9pZCkgQVMgbl90dXBfaG90X3VwZCwKLSAgICBw Z19zdGF0X2dldF9saXZlX3R1cGxlcyhjLm9pZCkgQVMgbl9saXZlX3R1cCwKLSAgICBwZ19z dGF0X2dldF9kZWFkX3R1cGxlcyhjLm9pZCkgQVMgbl9kZWFkX3R1cCwKLSAgICBwZ19zdGF0 X2dldF9tb2Rfc2luY2VfYW5hbHl6ZShjLm9pZCkgQVMgbl9tb2Rfc2luY2VfYW5hbHl6ZSwK LSAgICBwZ19zdGF0X2dldF9pbnNfc2luY2VfdmFjdXVtKGMub2lkKSBBUyBuX2luc19zaW5j ZV92YWN1dW0sCi0gICAgcGdfc3RhdF9nZXRfbGFzdF92YWN1dW1fdGltZShjLm9pZCkgQVMg bGFzdF92YWN1dW0sCi0gICAgcGdfc3RhdF9nZXRfbGFzdF9hdXRvdmFjdXVtX3RpbWUoYy5v aWQpIEFTIGxhc3RfYXV0b3ZhY3V1bSwKLSAgICBwZ19zdGF0X2dldF9sYXN0X2FuYWx5emVf dGltZShjLm9pZCkgQVMgbGFzdF9hbmFseXplLAotICAgIHBnX3N0YXRfZ2V0X2xhc3RfYXV0 b2FuYWx5emVfdGltZShjLm9pZCkgQVMgbGFzdF9hdXRvYW5hbHl6ZSwKLSAgICBwZ19zdGF0 X2dldF92YWN1dW1fY291bnQoYy5vaWQpIEFTIHZhY3V1bV9jb3VudCwKLSAgICBwZ19zdGF0 X2dldF9hdXRvdmFjdXVtX2NvdW50KGMub2lkKSBBUyBhdXRvdmFjdXVtX2NvdW50LAotICAg IHBnX3N0YXRfZ2V0X2FuYWx5emVfY291bnQoYy5vaWQpIEFTIGFuYWx5emVfY291bnQsCi0g ICAgcGdfc3RhdF9nZXRfYXV0b2FuYWx5emVfY291bnQoYy5vaWQpIEFTIGF1dG9hbmFseXpl X2NvdW50CisgICAgcGdfc3RhdF9nZXRfdGFiX251bXNjYW5zKGMub2lkKSBBUyBzZXFfc2Nh biwKKyAgICBwZ19zdGF0X2dldF90YWJfbGFzdHNjYW4oYy5vaWQpIEFTIGxhc3Rfc2VxX3Nj YW4sCisgICAgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19yZXR1cm5lZChjLm9pZCkgQVMgc2Vx X3R1cF9yZWFkLAorICAgIChzdW0ocGdfc3RhdF9nZXRfaW5kX251bXNjYW5zKGkuaW5kZXhy ZWxpZCkpKTo6YmlnaW50IEFTIGlkeF9zY2FuLAorICAgIG1heChwZ19zdGF0X2dldF9pbmRf bGFzdHNjYW4oaS5pbmRleHJlbGlkKSkgQVMgbGFzdF9pZHhfc2NhbiwKKyAgICAoKHN1bShw Z19zdGF0X2dldF9pbmRfdHVwbGVzX2ZldGNoZWQoaS5pbmRleHJlbGlkKSkpOjpiaWdpbnQg KyBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2ZldGNoZWQoYy5vaWQpKSBBUyBpZHhfdHVwX2Zl dGNoLAorICAgIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQoYy5vaWQpIEFTIG5f dHVwX2lucywKKyAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX3VwZGF0ZWQoYy5vaWQpIEFT IG5fdHVwX3VwZCwKKyAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2RlbGV0ZWQoYy5vaWQp IEFTIG5fdHVwX2RlbCwKKyAgICBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2hvdF91cGRhdGVk KGMub2lkKSBBUyBuX3R1cF9ob3RfdXBkLAorICAgIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1 cGxlcyhjLm9pZCkgQVMgbl9saXZlX3R1cCwKKyAgICBwZ19zdGF0X2dldF90YWJfZGVhZF90 dXBsZXMoYy5vaWQpIEFTIG5fZGVhZF90dXAsCisgICAgcGdfc3RhdF9nZXRfdGFiX21vZF9z aW5jZV9hbmFseXplKGMub2lkKSBBUyBuX21vZF9zaW5jZV9hbmFseXplLAorICAgIHBnX3N0 YXRfZ2V0X3RhYl9pbnNfc2luY2VfdmFjdXVtKGMub2lkKSBBUyBuX2luc19zaW5jZV92YWN1 dW0sCisgICAgcGdfc3RhdF9nZXRfdGFiX2xhc3RfdmFjdXVtX3RpbWUoYy5vaWQpIEFTIGxh c3RfdmFjdXVtLAorICAgIHBnX3N0YXRfZ2V0X3RhYl9sYXN0X2F1dG92YWN1dW1fdGltZShj Lm9pZCkgQVMgbGFzdF9hdXRvdmFjdXVtLAorICAgIHBnX3N0YXRfZ2V0X3RhYl9sYXN0X2Fu YWx5emVfdGltZShjLm9pZCkgQVMgbGFzdF9hbmFseXplLAorICAgIHBnX3N0YXRfZ2V0X3Rh Yl9sYXN0X2F1dG9hbmFseXplX3RpbWUoYy5vaWQpIEFTIGxhc3RfYXV0b2FuYWx5emUsCisg ICAgcGdfc3RhdF9nZXRfdGFiX3ZhY3V1bV9jb3VudChjLm9pZCkgQVMgdmFjdXVtX2NvdW50 LAorICAgIHBnX3N0YXRfZ2V0X3RhYl9hdXRvdmFjdXVtX2NvdW50KGMub2lkKSBBUyBhdXRv dmFjdXVtX2NvdW50LAorICAgIHBnX3N0YXRfZ2V0X3RhYl9hbmFseXplX2NvdW50KGMub2lk KSBBUyBhbmFseXplX2NvdW50LAorICAgIHBnX3N0YXRfZ2V0X3RhYl9hdXRvYW5hbHl6ZV9j b3VudChjLm9pZCkgQVMgYXV0b2FuYWx5emVfY291bnQKICAgIEZST00gKChwZ19jbGFzcyBj CiAgICAgIExFRlQgSk9JTiBwZ19pbmRleCBpIE9OICgoYy5vaWQgPSBpLmluZHJlbGlkKSkp CiAgICAgIExFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiAoKG4ub2lkID0gYy5yZWxuYW1l c3BhY2UpKSkKQEAgLTIyMjQsOSArMjIyNCw5IEBAIHBnX3N0YXRfd2FsX3JlY2VpdmVyfCBT RUxFQ1Qgcy5waWQsCiBwZ19zdGF0X3hhY3RfYWxsX3RhYmxlc3wgU0VMRUNUIGMub2lkIEFT IHJlbGlkLAogICAgIG4ubnNwbmFtZSBBUyBzY2hlbWFuYW1lLAogICAgIGMucmVsbmFtZSwK LSAgICBwZ19zdGF0X2dldF94YWN0X251bXNjYW5zKGMub2lkKSBBUyBzZXFfc2NhbiwKKyAg ICBwZ19zdGF0X2dldF90YWJfeGFjdF9udW1zY2FucyhjLm9pZCkgQVMgc2VxX3NjYW4sCiAg ICAgcGdfc3RhdF9nZXRfeGFjdF90dXBsZXNfcmV0dXJuZWQoYy5vaWQpIEFTIHNlcV90dXBf cmVhZCwKLSAgICAoc3VtKHBnX3N0YXRfZ2V0X3hhY3RfbnVtc2NhbnMoaS5pbmRleHJlbGlk KSkpOjpiaWdpbnQgQVMgaWR4X3NjYW4sCisgICAgKHN1bShwZ19zdGF0X2dldF9pbmRfeGFj dF9udW1zY2FucyhpLmluZGV4cmVsaWQpKSk6OmJpZ2ludCBBUyBpZHhfc2NhbiwKICAgICAo KHN1bShwZ19zdGF0X2dldF94YWN0X3R1cGxlc19mZXRjaGVkKGkuaW5kZXhyZWxpZCkpKTo6 YmlnaW50ICsgcGdfc3RhdF9nZXRfeGFjdF90dXBsZXNfZmV0Y2hlZChjLm9pZCkpIEFTIGlk eF90dXBfZmV0Y2gsCiAgICAgcGdfc3RhdF9nZXRfeGFjdF90dXBsZXNfaW5zZXJ0ZWQoYy5v aWQpIEFTIG5fdHVwX2lucywKICAgICBwZ19zdGF0X2dldF94YWN0X3R1cGxlc191cGRhdGVk KGMub2lkKSBBUyBuX3R1cF91cGQsCkBAIC0yMjc3LDggKzIyNzcsOCBAQCBwZ19zdGF0aW9f YWxsX2luZGV4ZXN8IFNFTEVDVCBjLm9pZCBBUyByZWxpZCwKICAgICBuLm5zcG5hbWUgQVMg c2NoZW1hbmFtZSwKICAgICBjLnJlbG5hbWUsCiAgICAgaS5yZWxuYW1lIEFTIGluZGV4cmVs bmFtZSwKLSAgICAocGdfc3RhdF9nZXRfYmxvY2tzX2ZldGNoZWQoaS5vaWQpIC0gcGdfc3Rh dF9nZXRfYmxvY2tzX2hpdChpLm9pZCkpIEFTIGlkeF9ibGtzX3JlYWQsCi0gICAgcGdfc3Rh dF9nZXRfYmxvY2tzX2hpdChpLm9pZCkgQVMgaWR4X2Jsa3NfaGl0CisgICAgKHBnX3N0YXRf Z2V0X2luZF9ibG9ja3NfZmV0Y2hlZChpLm9pZCkgLSBwZ19zdGF0X2dldF9pbmRfYmxvY2tz X2hpdChpLm9pZCkpIEFTIGlkeF9ibGtzX3JlYWQsCisgICAgcGdfc3RhdF9nZXRfaW5kX2Js b2Nrc19oaXQoaS5vaWQpIEFTIGlkeF9ibGtzX2hpdAogICAgRlJPTSAoKChwZ19jbGFzcyBj CiAgICAgIEpPSU4gcGdfaW5kZXggeCBPTiAoKGMub2lkID0geC5pbmRyZWxpZCkpKQogICAg ICBKT0lOIHBnX2NsYXNzIGkgT04gKChpLm9pZCA9IHguaW5kZXhyZWxpZCkpKQpAQCAtMjI4 NywzMSArMjI4NywzMSBAQCBwZ19zdGF0aW9fYWxsX2luZGV4ZXN8IFNFTEVDVCBjLm9pZCBB UyByZWxpZCwKIHBnX3N0YXRpb19hbGxfc2VxdWVuY2VzfCBTRUxFQ1QgYy5vaWQgQVMgcmVs aWQsCiAgICAgbi5uc3BuYW1lIEFTIHNjaGVtYW5hbWUsCiAgICAgYy5yZWxuYW1lLAotICAg IChwZ19zdGF0X2dldF9ibG9ja3NfZmV0Y2hlZChjLm9pZCkgLSBwZ19zdGF0X2dldF9ibG9j a3NfaGl0KGMub2lkKSkgQVMgYmxrc19yZWFkLAotICAgIHBnX3N0YXRfZ2V0X2Jsb2Nrc19o aXQoYy5vaWQpIEFTIGJsa3NfaGl0CisgICAgKHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfZmV0 Y2hlZChjLm9pZCkgLSBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdChjLm9pZCkpIEFTIGJs a3NfcmVhZCwKKyAgICBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdChjLm9pZCkgQVMgYmxr c19oaXQKICAgIEZST00gKHBnX2NsYXNzIGMKICAgICAgTEVGVCBKT0lOIHBnX25hbWVzcGFj ZSBuIE9OICgobi5vaWQgPSBjLnJlbG5hbWVzcGFjZSkpKQogICBXSEVSRSAoYy5yZWxraW5k ID0gJ1MnOjoiY2hhciIpOwogcGdfc3RhdGlvX2FsbF90YWJsZXN8IFNFTEVDVCBjLm9pZCBB UyByZWxpZCwKICAgICBuLm5zcG5hbWUgQVMgc2NoZW1hbmFtZSwKICAgICBjLnJlbG5hbWUs Ci0gICAgKHBnX3N0YXRfZ2V0X2Jsb2Nrc19mZXRjaGVkKGMub2lkKSAtIHBnX3N0YXRfZ2V0 X2Jsb2Nrc19oaXQoYy5vaWQpKSBBUyBoZWFwX2Jsa3NfcmVhZCwKLSAgICBwZ19zdGF0X2dl dF9ibG9ja3NfaGl0KGMub2lkKSBBUyBoZWFwX2Jsa3NfaGl0LAorICAgIChwZ19zdGF0X2dl dF90YWJfYmxvY2tzX2ZldGNoZWQoYy5vaWQpIC0gcGdfc3RhdF9nZXRfdGFiX2Jsb2Nrc19o aXQoYy5vaWQpKSBBUyBoZWFwX2Jsa3NfcmVhZCwKKyAgICBwZ19zdGF0X2dldF90YWJfYmxv Y2tzX2hpdChjLm9pZCkgQVMgaGVhcF9ibGtzX2hpdCwKICAgICBpLmlkeF9ibGtzX3JlYWQs CiAgICAgaS5pZHhfYmxrc19oaXQsCi0gICAgKHBnX3N0YXRfZ2V0X2Jsb2Nrc19mZXRjaGVk KHQub2lkKSAtIHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQodC5vaWQpKSBBUyB0b2FzdF9ibGtz X3JlYWQsCi0gICAgcGdfc3RhdF9nZXRfYmxvY2tzX2hpdCh0Lm9pZCkgQVMgdG9hc3RfYmxr c19oaXQsCisgICAgKHBnX3N0YXRfZ2V0X3RhYl9ibG9ja3NfZmV0Y2hlZCh0Lm9pZCkgLSBw Z19zdGF0X2dldF90YWJfYmxvY2tzX2hpdCh0Lm9pZCkpIEFTIHRvYXN0X2Jsa3NfcmVhZCwK KyAgICBwZ19zdGF0X2dldF90YWJfYmxvY2tzX2hpdCh0Lm9pZCkgQVMgdG9hc3RfYmxrc19o aXQsCiAgICAgeC5pZHhfYmxrc19yZWFkIEFTIHRpZHhfYmxrc19yZWFkLAogICAgIHguaWR4 X2Jsa3NfaGl0IEFTIHRpZHhfYmxrc19oaXQKICAgIEZST00gKCgoKHBnX2NsYXNzIGMKICAg ICAgTEVGVCBKT0lOIHBnX2NsYXNzIHQgT04gKChjLnJlbHRvYXN0cmVsaWQgPSB0Lm9pZCkp KQogICAgICBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIG4gT04gKChuLm9pZCA9IGMucmVsbmFt ZXNwYWNlKSkpCi0gICAgIExFRlQgSk9JTiBMQVRFUkFMICggU0VMRUNUIChzdW0oKHBnX3N0 YXRfZ2V0X2Jsb2Nrc19mZXRjaGVkKHBnX2luZGV4LmluZGV4cmVsaWQpIC0gcGdfc3RhdF9n ZXRfYmxvY2tzX2hpdChwZ19pbmRleC5pbmRleHJlbGlkKSkpKTo6YmlnaW50IEFTIGlkeF9i bGtzX3JlYWQsCi0gICAgICAgICAgICAoc3VtKHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQocGdf aW5kZXguaW5kZXhyZWxpZCkpKTo6YmlnaW50IEFTIGlkeF9ibGtzX2hpdAorICAgICBMRUZU IEpPSU4gTEFURVJBTCAoIFNFTEVDVCAoc3VtKChwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2Zl dGNoZWQocGdfaW5kZXguaW5kZXhyZWxpZCkgLSBwZ19zdGF0X2dldF9pbmRfYmxvY2tzX2hp dChwZ19pbmRleC5pbmRleHJlbGlkKSkpKTo6YmlnaW50IEFTIGlkeF9ibGtzX3JlYWQsCisg ICAgICAgICAgICAoc3VtKHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfaGl0KHBnX2luZGV4Lmlu ZGV4cmVsaWQpKSk6OmJpZ2ludCBBUyBpZHhfYmxrc19oaXQKICAgICAgICAgICAgRlJPTSBw Z19pbmRleAogICAgICAgICAgIFdIRVJFIChwZ19pbmRleC5pbmRyZWxpZCA9IGMub2lkKSkg aSBPTiAodHJ1ZSkpCi0gICAgIExFRlQgSk9JTiBMQVRFUkFMICggU0VMRUNUIChzdW0oKHBn X3N0YXRfZ2V0X2Jsb2Nrc19mZXRjaGVkKHBnX2luZGV4LmluZGV4cmVsaWQpIC0gcGdfc3Rh dF9nZXRfYmxvY2tzX2hpdChwZ19pbmRleC5pbmRleHJlbGlkKSkpKTo6YmlnaW50IEFTIGlk eF9ibGtzX3JlYWQsCi0gICAgICAgICAgICAoc3VtKHBnX3N0YXRfZ2V0X2Jsb2Nrc19oaXQo cGdfaW5kZXguaW5kZXhyZWxpZCkpKTo6YmlnaW50IEFTIGlkeF9ibGtzX2hpdAorICAgICBM RUZUIEpPSU4gTEFURVJBTCAoIFNFTEVDVCAoc3VtKChwZ19zdGF0X2dldF9pbmRfYmxvY2tz X2ZldGNoZWQocGdfaW5kZXguaW5kZXhyZWxpZCkgLSBwZ19zdGF0X2dldF9pbmRfYmxvY2tz X2hpdChwZ19pbmRleC5pbmRleHJlbGlkKSkpKTo6YmlnaW50IEFTIGlkeF9ibGtzX3JlYWQs CisgICAgICAgICAgICAoc3VtKHBnX3N0YXRfZ2V0X2luZF9ibG9ja3NfaGl0KHBnX2luZGV4 LmluZGV4cmVsaWQpKSk6OmJpZ2ludCBBUyBpZHhfYmxrc19oaXQKICAgICAgICAgICAgRlJP TSBwZ19pbmRleAogICAgICAgICAgIFdIRVJFIChwZ19pbmRleC5pbmRyZWxpZCA9IHQub2lk KSkgeCBPTiAodHJ1ZSkpCiAgIFdIRVJFIChjLnJlbGtpbmQgPSBBTlkgKEFSUkFZWydyJzo6 ImNoYXIiLCAndCc6OiJjaGFyIiwgJ20nOjoiY2hhciJdKSk7CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0YXRzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvc3RhdHMub3V0CmluZGV4IDFkODQ0MDdhMDMuLmQ1ZWUwZjQ4NDUgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHMub3V0CisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHMub3V0CkBAIC0xNTEsNiArMTUxLDExNyBAQCBGUk9N IHByZXZzdGF0cyBBUyBwcjsKIAogQ09NTUlUOwogLS0tLQorLS0gQmFzaWMgdGVzdHMgZm9y IHRvYXN0CistLS0KK0NSRUFURSBUQUJMRSBzdGF0c190b2FzdChzdHVmZiB0ZXh0KTsKK0FM VEVSIFRBQkxFIHN0YXRzX3RvYXN0IEFMVEVSIENPTFVNTiBzdHVmZiBTRVQgU1RPUkFHRSBF WFRFUk5BTDsKK0lOU0VSVCBJTlRPIHN0YXRzX3RvYXN0IFZBTFVFUyAocmVwZWF0KCdhJywx MDAwMDAwKSk7CitTRUxFQ1QgY291bnQoKikgRlJPTSBzdGF0c190b2FzdCBXSEVSRSBzdHVm ZiBsaWtlICclYSUnOworIGNvdW50IAorLS0tLS0tLQorICAgICAxCisoMSByb3cpCisKKy0t IGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxFQ1QgcGdfc3RhdF9mb3Jj ZV9uZXh0X2ZsdXNoKCk7CisgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworc2VsZWN0IHRvYXN0X2Jsa3NfcmVh ZCA+IDAgYXMgdG9hc3RfYmxrc19yZWFkLCB0b2FzdF9ibGtzX2hpdCA+IDAgYXMgdG9hc3Rf Ymxrc19oaXQsCisgICAgICAgdGlkeF9ibGtzX3JlYWQgPiAwIGFzIHRpZHhfYmxrc19yZWFk LCB0aWR4X2Jsa3NfaGl0ID4gMCBhcyB0aWR4X2Jsa3NfaGl0LAorICAgICAgIHRvYXN0X2Js a3NfaGl0ID49IHRvYXN0X2Jsa3NfcmVhZCwKKyAgICAgICB0aWR4X2Jsa3NfaGl0ID49IHRp ZHhfYmxrc19yZWFkCisgICBmcm9tIHBnX3N0YXRpb19hbGxfdGFibGVzCisgd2hlcmUgcmVs bmFtZSA9ICdzdGF0c190b2FzdCc7CisgdG9hc3RfYmxrc19yZWFkIHwgdG9hc3RfYmxrc19o aXQgfCB0aWR4X2Jsa3NfcmVhZCB8IHRpZHhfYmxrc19oaXQgfCA/Y29sdW1uPyB8ID9jb2x1 bW4/IAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyB0ICAgICAgICAg ICAgICAgfCB0ICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgIHwgdCAgICAgICAgICAg ICB8IHQgICAgICAgIHwgdAorKDEgcm93KQorCistLS0tCistLSBCYXNpYyB0ZXN0cyBmb3Ig cGFydGl0aW9uCistLS0KK0NSRUFURSBUQUJMRSBzdGF0c19wYXJ0aXRpb24gKAorICAgIGlk MSAgICAgICAgIGludCBub3QgbnVsbCwKKyAgICBpZDIgICAgICAgICBpbnQgbm90IG51bGwK KykgUEFSVElUSU9OIEJZIFJBTkdFIChpZDIpOworQ1JFQVRFIFRBQkxFIHN0YXRzX3BhcnRp dGlvbl81IFBBUlRJVElPTiBPRiBzdGF0c19wYXJ0aXRpb24KKyAgICBGT1IgVkFMVUVTIEZS T00gKDApIFRPICg1KTsKK0NSRUFURSBUQUJMRSBzdGF0c19wYXJ0aXRpb25fMjAwMDAgUEFS VElUSU9OIE9GIHN0YXRzX3BhcnRpdGlvbgorICAgIEZPUiBWQUxVRVMgRlJPTSAoNSkgVE8g KDIwMDAxKTsKK0NSRUFURSBJTkRFWCBPTiBzdGF0c19wYXJ0aXRpb24gKGlkMik7CitpbnNl cnQgaW50byBzdGF0c19wYXJ0aXRpb24gc2VsZWN0IGEsYSBmcm9tIGdlbmVyYXRlX3Nlcmll cygwLDIwMDAwKSBhOworU0VUIGVuYWJsZV9zZXFzY2FuIFRPIG9mZjsKK1NFVCBlbmFibGVf Yml0bWFwc2NhbiBUTyBvZmY7CitzZWxlY3QgKiBmcm9tIHN0YXRzX3BhcnRpdGlvbiB3aGVy ZSBpZDIgPSAyMDAwOworIGlkMSAgfCBpZDIgIAorLS0tLS0tKy0tLS0tLQorIDIwMDAgfCAy MDAwCisoMSByb3cpCisKK3NlbGVjdCAqIGZyb20gc3RhdHNfcGFydGl0aW9uIHdoZXJlIGlk MiA9IDI7CisgaWQxIHwgaWQyIAorLS0tLS0rLS0tLS0KKyAgIDIgfCAgIDIKKygxIHJvdykK KworLS0gZW5zdXJlIHBlbmRpbmcgc3RhdHMgYXJlIGZsdXNoZWQKK1NFTEVDVCBwZ19zdGF0 X2ZvcmNlX25leHRfZmx1c2goKTsKKyBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2ggCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitzZWxlY3QgcmVsbmFtZSwg aW5kZXhyZWxuYW1lLCBpZHhfc2NhbiA+IDAgYXMgaWR4X3NjYW4sIGlkeF90dXBfcmVhZCA+ IDAgYXMgaWR4X3R1cF9yZWFkLAorICAgICAgIGlkeF90dXBfZmV0Y2ggPiAwIGFzIGlkeF90 dXBfZmV0Y2gKKyAgIGZyb20gcGdfc3RhdF9hbGxfaW5kZXhlcworIHdoZXJlIHJlbG5hbWUg bGlrZSAnJXN0YXRzX3BhcnRpdGlvbiUnCisgb3JkZXIgYnkgcmVsbmFtZSBDT0xMQVRFICJD IjsKKyAgICAgICAgcmVsbmFtZSAgICAgICAgfCAgICAgICAgIGluZGV4cmVsbmFtZSAgICAg ICAgICB8IGlkeF9zY2FuIHwgaWR4X3R1cF9yZWFkIHwgaWR4X3R1cF9mZXRjaCAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyBzdGF0c19wYXJ0aXRp b25fMjAwMDAgfCBzdGF0c19wYXJ0aXRpb25fMjAwMDBfaWQyX2lkeCB8IHQgICAgICAgIHwg dCAgICAgICAgICAgIHwgdAorIHN0YXRzX3BhcnRpdGlvbl81ICAgICB8IHN0YXRzX3BhcnRp dGlvbl81X2lkMl9pZHggICAgIHwgdCAgICAgICAgfCB0ICAgICAgICAgICAgfCB0CisoMiBy b3dzKQorCitzZWxlY3QgcmVsbmFtZSwgaW5kZXhyZWxuYW1lLCBpZHhfYmxrc19yZWFkID4g MCBhcyBpZHhfYmxrc19yZWFkLAorICAgICAgIGlkeF9ibGtzX2hpdCA+IDAgYXMgaWR4X2Js a3NfaGl0CisgICBmcm9tIHBnX3N0YXRpb19hbGxfaW5kZXhlcworIHdoZXJlIHJlbG5hbWUg bGlrZSAnJXN0YXRzX3BhcnRpdGlvbiUnCisgb3JkZXIgYnkgcmVsbmFtZSBDT0xMQVRFICJD IjsKKyAgICAgICAgcmVsbmFtZSAgICAgICAgfCAgICAgICAgIGluZGV4cmVsbmFtZSAgICAg ICAgICB8IGlkeF9ibGtzX3JlYWQgfCBpZHhfYmxrc19oaXQgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLQorIHN0YXRzX3BhcnRpdGlvbl8yMDAwMCB8IHN0YXRzX3BhcnRp dGlvbl8yMDAwMF9pZDJfaWR4IHwgdCAgICAgICAgICAgICB8IHQKKyBzdGF0c19wYXJ0aXRp b25fNSAgICAgfCBzdGF0c19wYXJ0aXRpb25fNV9pZDJfaWR4ICAgICB8IHQgICAgICAgICAg ICAgfCB0CisoMiByb3dzKQorCitzZWxlY3QgcmVsbmFtZSxzZXFfc2NhbiA+IDAgYXMgc2Vx X3NjYW4sIHNlcV90dXBfcmVhZCA+IDAgYXMgc2VxX3R1cF9yZWFkLAorICAgICAgIGlkeF9z Y2FuID4gMCBhcyBpZHhfc2NhbiwgaWR4X3R1cF9mZXRjaCA+IDAgYXMgaWR4X3R1cF9mZXRj aAorICAgZnJvbSBwZ19zdGF0X2FsbF90YWJsZXMKKyAgd2hlcmUgcmVsbmFtZSBsaWtlICcl c3RhdHNfcGFydGl0aW9uJScKKyAgb3JkZXIgYnkgcmVsbmFtZSBDT0xMQVRFICJDIjsKKyAg ICAgICAgcmVsbmFtZSAgICAgICAgfCBzZXFfc2NhbiB8IHNlcV90dXBfcmVhZCB8IGlkeF9z Y2FuIHwgaWR4X3R1cF9mZXRjaCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyBzdGF0c19w YXJ0aXRpb24gICAgICAgfCBmICAgICAgICB8IGYgICAgICAgICAgICB8IGYgICAgICAgIHwg ZgorIHN0YXRzX3BhcnRpdGlvbl8yMDAwMCB8IHQgICAgICAgIHwgZiAgICAgICAgICAgIHwg dCAgICAgICAgfCB0Cisgc3RhdHNfcGFydGl0aW9uXzUgICAgIHwgdCAgICAgICAgfCBmICAg ICAgICAgICAgfCB0ICAgICAgICB8IHQKKygzIHJvd3MpCisKK3NlbGVjdCByZWxuYW1lLCBo ZWFwX2Jsa3NfcmVhZCA+IDAgYXMgaGVhcF9ibGtzX3JlYWQsIGhlYXBfYmxrc19oaXQgPiAw IGFzIGhlYXBfYmxrc19oaXQsCisgICAgICAgaWR4X2Jsa3NfcmVhZCA+IDAgYXMgaWR4X2Js a3NfcmVhZCwgaWR4X2Jsa3NfaGl0ID4gMCBhcyBpZHhfYmxrc19oaXQKKyAgIGZyb20gcGdf c3RhdGlvX2FsbF90YWJsZXMKKyB3aGVyZSByZWxuYW1lIGxpa2UgJyVzdGF0c19wYXJ0aXRp b24lJworIG9yZGVyIGJ5IHJlbG5hbWUgQ09MTEFURSAiQyI7CisgICAgICAgIHJlbG5hbWUg ICAgICAgIHwgaGVhcF9ibGtzX3JlYWQgfCBoZWFwX2Jsa3NfaGl0IHwgaWR4X2Jsa3NfcmVh ZCB8IGlkeF9ibGtzX2hpdCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLQor IHN0YXRzX3BhcnRpdGlvbl8yMDAwMCB8IHQgICAgICAgICAgICAgIHwgdCAgICAgICAgICAg ICB8IHQgICAgICAgICAgICAgfCB0Cisgc3RhdHNfcGFydGl0aW9uXzUgICAgIHwgdCAgICAg ICAgICAgICAgfCB0ICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICB8IHQKKygyIHJvd3Mp CisKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBvbjsKK1NFVCBlbmFibGVfYml0bWFwc2NhbiBU TyBvbjsKKy0tLS0KIC0tIEJhc2ljIHRlc3RzIGZvciB0cmFja19mdW5jdGlvbnMKIC0tLQog Q1JFQVRFIEZVTkNUSU9OIHN0YXRzX3Rlc3RfZnVuYzEoKSBSRVRVUk5TIFZPSUQgTEFOR1VB R0UgcGxwZ3NxbCBBUyAkJEJFR0lOIEVORDskJDsKQEAgLTM1NywxNyArNDY4LDE3IEBAIFNF TEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKICAKICgxIHJvdykKIAotU0VMRUNU IHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rfb2lkKTsKLSBwZ19z dGF0X2dldF9saXZlX3R1cGxlcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAg ICAgICAgICAgICAgICAgICAgMQorU0VMRUNUIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxl cyg6ZHJvcF9zdGF0c190ZXN0X29pZCk7CisgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVz IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIDEKICgxIHJvdykKIAogRFJPUCBUQUJMRSBkcm9wX3N0YXRzX3Rlc3Q7Ci1TRUxF Q1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9vaWQpOwotIHBn X3N0YXRfZ2V0X2xpdmVfdHVwbGVzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAg ICAgICAgICAgICAgICAgICAgICAwCitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVw bGVzKDpkcm9wX3N0YXRzX3Rlc3Rfb2lkKTsKKyBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBs ZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgMAogKDEgcm93KQogCiBTRUxFQ1QgcGdfc3RhdF9nZXRfeGFjdF90dXBsZXNf aW5zZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF9vaWQpOwpAQCAtMzc4LDE4ICs0ODksMTggQEAg U0VMRUNUIHBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rl c3Rfb2lkKTsKIAogLS0gY2hlY2sgdGhhdCByb2xsYmFjayBwcm90ZWN0cyBhZ2FpbnN0IGhh dmluZyBzdGF0cyBkcm9wcGVkIGFuZCB0aGF0IGxvY2FsCiAtLSBtb2RpZmljYXRpb25zIGRv bid0IHBvc2UgYSBwcm9ibGVtCi1TRUxFQ1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRy b3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7Ci0gcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgICAgICAgICAgICAgICAgIDEKLSgx IHJvdykKLQotU0VMRUNUIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCg6ZHJvcF9zdGF0 c190ZXN0X3hhY3Rfb2lkKTsKLSBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQgCitTRUxF Q1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9v aWQpOworIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyAKIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAoMSByb3cpCiAK K1NFTEVDVCBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rl c3RfeGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAxCisoMSByb3cpCisKIFNFTEVDVCBwZ19zdGF0X2dldF94YWN0X3R1cGxlc19p bnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKICBwZ19zdGF0X2dldF94YWN0 X3R1cGxlc19pbnNlcnRlZCAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K QEAgLTQxOCwyOSArNTI5LDI5IEBAIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2go KTsKICAKICgxIHJvdykKIAotU0VMRUNUIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKDpkcm9w X3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwotIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzIAotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAgICAgICAgICAgICAgICAgICAxCitTRUxF Q1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9v aWQpOworIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAoMSByb3cpCiAK LVNFTEVDVCBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF94 YWN0X29pZCk7Ci0gcGdfc3RhdF9nZXRfdHVwbGVzX2luc2VydGVkIAotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKK1NFTEVD VCBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3RfeGFj dF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAyCiAoMSByb3cpCiAKIC0tIHRyYW5zYWN0aW9uYWwgZHJvcAotU0VMRUNUIHBnX3N0YXRf Z2V0X2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwotIHBnX3N0YXRf Z2V0X2xpdmVfdHVwbGVzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAgICAg ICAgICAgICAgICAgICAxCitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpk cm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxl cyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAxCiAoMSByb3cpCiAKLVNFTEVDVCBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0 ZWQoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7Ci0gcGdfc3RhdF9nZXRfdHVwbGVzX2lu c2VydGVkIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgIDIKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVk KDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNf aW5zZXJ0ZWQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAyCiAoMSByb3cpCiAKIEJFR0lOOwpAQCAtNDY1LDIz ICs1NzYsMjMgQEAgU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9mbHVzaCgpOwogIAogKDEg cm93KQogCi1TRUxFQ1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVz dF94YWN0X29pZCk7Ci0gcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMgCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCi0gICAgICAgICAgICAgICAgICAgICAgIDAKLSgxIHJvdykKLQotU0VM RUNUIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rf b2lkKTsKLSBwZ19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQgCitTRUxFQ1QgcGdfc3RhdF9n ZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworIHBnX3N0 YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAoMSByb3cpCiAKK1NFTEVDVCBwZ19z dGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQp OworIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiso MSByb3cpCisKIC0tIHNhdmVwb2ludCByb2xsYmFjayAoMiBsZXZlbHMpCi1TRUxFQ1QgcGdf c3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29pZCk7Ci0g cGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g ICAgICAgICAgICAgICAgICAgICAgIDEKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfbGl2ZV90 dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29pZCk7CisgcGdfc3RhdF9nZXRfdGFi X2xpdmVfdHVwbGVzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIDEKICgxIHJvdykKIAogQkVHSU47CkBAIC01MTAsMTcgKzYy MSwxNyBAQCBTRUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CiAgCiAoMSByb3cp CiAKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1 YnhhY3Rfb2lkKTsKLSBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyAKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAgICAgMworU0VMRUNUIHBnX3N0YXRf Z2V0X3RhYl9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKKyBw Z19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgMwogKDEgcm93KQogCiAtLSBzYXZl cG9pbnQgcm9sYmFjayAoMSBsZXZlbCkKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxl cyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKLSBwZ19zdGF0X2dldF9saXZlX3R1 cGxlcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAg ICAgMworU0VMRUNUIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190 ZXN0X3N1YnhhY3Rfb2lkKTsKKyBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAg MwogKDEgcm93KQogCiBCRUdJTjsKQEAgLTUyOSwxNyArNjQwLDE3IEBAIERST1AgVEFCTEUg ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Q7CiBTQVZFUE9JTlQgc3AyOwogUk9MTEJBQ0sgVE8g U0FWRVBPSU5UIHNwMTsKIENPTU1JVDsKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxl cyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKLSBwZ19zdGF0X2dldF9saXZlX3R1 cGxlcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgICAgICAgICAgICAg ICAgMworU0VMRUNUIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190 ZXN0X3N1YnhhY3Rfb2lkKTsKKyBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAg MwogKDEgcm93KQogCiAtLSBhbmQgbm93IGFjdHVhbGx5IGRyb3AKLVNFTEVDVCBwZ19zdGF0 X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKLSBwZ19z dGF0X2dldF9saXZlX3R1cGxlcyAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAg ICAgICAgICAgICAgICAgICAgMworU0VMRUNUIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1cGxl cyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKKyBwZ19zdGF0X2dldF90YWJfbGl2 ZV90dXBsZXMgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgMwogKDEgcm93KQogCiBCRUdJTjsKQEAgLTU0OCwxMCArNjU5LDEw IEBAIERST1AgVEFCTEUgZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Q7CiBTQVZFUE9JTlQgc3Ay OwogUkVMRUFTRSBTQVZFUE9JTlQgc3AxOwogQ09NTUlUOwotU0VMRUNUIHBnX3N0YXRfZ2V0 X2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rfc3VieGFjdF9vaWQpOwotIHBnX3N0YXRf Z2V0X2xpdmVfdHVwbGVzIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAgICAg ICAgICAgICAgICAgICAwCitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpk cm9wX3N0YXRzX3Rlc3Rfc3VieGFjdF9vaWQpOworIHBnX3N0YXRfZ2V0X3RhYl9saXZlX3R1 cGxlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAwCiAoMSByb3cpCiAKIERST1AgVEFCTEUgdHJ1bmNfc3RhdHNfdGVzdCwg dHJ1bmNfc3RhdHNfdGVzdDEsIHRydW5jX3N0YXRzX3Rlc3QyLCB0cnVuY19zdGF0c190ZXN0 MywgdHJ1bmNfc3RhdHNfdGVzdDQ7CkBAIC0xMDIxLDIxICsxMTMyLDIxIEBAIHNlbGVjdCBh IGZyb20gc3RhdHNfdGVzdF90YWIxIHdoZXJlIGEgPSAzOwogIDMKICgxIHJvdykKIAotU0VM RUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0 X2lkeDFfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4JywgOmRib2lk LCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiAgcGdfc3RhdF9oYXZlX3N0YXRzIAogLS0tLS0t LS0tLS0tLS0tLS0tLS0KICB0CiAoMSByb3cpCiAKIC0tIHBnX3N0YXRfaGF2ZV9zdGF0cyBy ZXR1cm5zIGZhbHNlIGZvciBkcm9wcGVkIGluZGV4IHdpdGggc3RhdHMKLVNFTEVDVCBwZ19z dGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29p ZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdpbmRleCcsIDpkYm9pZCwgOnN0YXRz X3Rlc3RfaWR4MV9vaWQpOwogIHBnX3N0YXRfaGF2ZV9zdGF0cyAKIC0tLS0tLS0tLS0tLS0t LS0tLS0tCiAgdAogKDEgcm93KQogCiBEUk9QIGluZGV4IHN0YXRzX3Rlc3RfaWR4MTsKLVNF TEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVz dF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdpbmRleCcsIDpkYm9p ZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogIHBnX3N0YXRfaGF2ZV9zdGF0cyAKIC0tLS0t LS0tLS0tLS0tLS0tLS0tCiAgZgpAQCAtMTA1MSwxNCArMTE2MiwxNCBAQCBzZWxlY3QgYSBm cm9tIHN0YXRzX3Rlc3RfdGFiMSB3aGVyZSBhID0gMzsKICAzCiAoMSByb3cpCiAKLVNFTEVD VCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9p ZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdpbmRleCcsIDpkYm9pZCwg OnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogIHBnX3N0YXRfaGF2ZV9zdGF0cyAKIC0tLS0tLS0t LS0tLS0tLS0tLS0tCiAgdAogKDEgcm93KQogCiBST0xMQkFDSzsKLVNFTEVDVCBwZ19zdGF0 X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7 CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdpbmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rl c3RfaWR4MV9vaWQpOwogIHBnX3N0YXRfaGF2ZV9zdGF0cyAKIC0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgZgpAQCAtMTA3Myw3ICsxMTg0LDcgQEAgc2VsZWN0IGEgZnJvbSBzdGF0c190ZXN0 X3RhYjEgd2hlcmUgYSA9IDM7CiAgMwogKDEgcm93KQogCi1TRUxFQ1QgcGdfc3RhdF9oYXZl X3N0YXRzKCdyZWxhdGlvbicsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOworU0VM RUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygnaW5kZXgnLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lk eDFfb2lkKTsKICBwZ19zdGF0X2hhdmVfc3RhdHMgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLQog IHQKQEAgLTEwODEsNyArMTE5Miw3IEBAIFNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3Jl bGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiAKIFJFSU5ERVggaW5k ZXggQ09OQ1VSUkVOVExZIHN0YXRzX3Rlc3RfaWR4MTsKIC0tIGZhbHNlIGZvciBwcmV2aW91 cyBvaWQKLVNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6 c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdpbmRl eCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogIHBnX3N0YXRfaGF2ZV9zdGF0 cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgZgpAQCAtMTA4OSw3ICsxMjAwLDcgQEAgU0VM RUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0 X2lkeDFfb2lkKTsKIAogLS0gdHJ1ZSBmb3IgbmV3IG9pZAogU0VMRUNUICdzdGF0c190ZXN0 X2lkeDEnOjpyZWdjbGFzczo6b2lkIEFTIHN0YXRzX3Rlc3RfaWR4MV9vaWQgXGdzZXQKLVNF TEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lkLCA6c3RhdHNfdGVz dF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdpbmRleCcsIDpkYm9p ZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogIHBnX3N0YXRfaGF2ZV9zdGF0cyAKIC0tLS0t LS0tLS0tLS0tLS0tLS0tCiAgdApAQCAtMTA5Nyw3ICsxMjA4LDcgQEAgU0VMRUNUIHBnX3N0 YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lk KTsKIAogLS0gcGdfc3RhdF9oYXZlX3N0YXRzIHJldHVybnMgdHJ1ZSBmb3IgYSByb2xsZWQg YmFjayBkcm9wIGluZGV4IHdpdGggc3RhdHMKIEJFR0lOOwotU0VMRUNUIHBnX3N0YXRfaGF2 ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKK1NF TEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4JywgOmRib2lkLCA6c3RhdHNfdGVzdF9p ZHgxX29pZCk7CiAgcGdfc3RhdF9oYXZlX3N0YXRzIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0K ICB0CkBAIC0xMTA1LDcgKzEyMTYsNyBAQCBTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdy ZWxhdGlvbicsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogCiBEUk9QIGluZGV4 IHN0YXRzX3Rlc3RfaWR4MTsKIFJPTExCQUNLOwotU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0 cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKK1NFTEVDVCBw Z19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4JywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29p ZCk7CiAgcGdfc3RhdF9oYXZlX3N0YXRzIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0KICB0CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdGF0cy5zcWwgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9zdGF0cy5zcWwKaW5kZXggYjRkNjc1M2M3MS4uMWU5YWU3NGIyYSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3RhdHMuc3FsCisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3N0YXRzLnNxbApAQCAtMTI2LDYgKzEyNiw3NyBAQCBGUk9NIHByZXZz dGF0cyBBUyBwcjsKIAogQ09NTUlUOwogCistLS0tCistLSBCYXNpYyB0ZXN0cyBmb3IgdG9h c3QKKy0tLQorQ1JFQVRFIFRBQkxFIHN0YXRzX3RvYXN0KHN0dWZmIHRleHQpOworQUxURVIg VEFCTEUgc3RhdHNfdG9hc3QgQUxURVIgQ09MVU1OIHN0dWZmIFNFVCBTVE9SQUdFIEVYVEVS TkFMOworSU5TRVJUIElOVE8gc3RhdHNfdG9hc3QgVkFMVUVTIChyZXBlYXQoJ2EnLDEwMDAw MDApKTsKK1NFTEVDVCBjb3VudCgqKSBGUk9NIHN0YXRzX3RvYXN0IFdIRVJFIHN0dWZmIGxp a2UgJyVhJSc7CisKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitTRUxF Q1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKK3NlbGVjdCB0b2FzdF9ibGtzX3Jl YWQgPiAwIGFzIHRvYXN0X2Jsa3NfcmVhZCwgdG9hc3RfYmxrc19oaXQgPiAwIGFzIHRvYXN0 X2Jsa3NfaGl0LAorICAgICAgIHRpZHhfYmxrc19yZWFkID4gMCBhcyB0aWR4X2Jsa3NfcmVh ZCwgdGlkeF9ibGtzX2hpdCA+IDAgYXMgdGlkeF9ibGtzX2hpdCwKKyAgICAgICB0b2FzdF9i bGtzX2hpdCA+PSB0b2FzdF9ibGtzX3JlYWQsCisgICAgICAgdGlkeF9ibGtzX2hpdCA+PSB0 aWR4X2Jsa3NfcmVhZAorICAgZnJvbSBwZ19zdGF0aW9fYWxsX3RhYmxlcworIHdoZXJlIHJl bG5hbWUgPSAnc3RhdHNfdG9hc3QnOworCistLS0tCistLSBCYXNpYyB0ZXN0cyBmb3IgcGFy dGl0aW9uCistLS0KK0NSRUFURSBUQUJMRSBzdGF0c19wYXJ0aXRpb24gKAorICAgIGlkMSAg ICAgICAgIGludCBub3QgbnVsbCwKKyAgICBpZDIgICAgICAgICBpbnQgbm90IG51bGwKKykg UEFSVElUSU9OIEJZIFJBTkdFIChpZDIpOworCitDUkVBVEUgVEFCTEUgc3RhdHNfcGFydGl0 aW9uXzUgUEFSVElUSU9OIE9GIHN0YXRzX3BhcnRpdGlvbgorICAgIEZPUiBWQUxVRVMgRlJP TSAoMCkgVE8gKDUpOworCitDUkVBVEUgVEFCTEUgc3RhdHNfcGFydGl0aW9uXzIwMDAwIFBB UlRJVElPTiBPRiBzdGF0c19wYXJ0aXRpb24KKyAgICBGT1IgVkFMVUVTIEZST00gKDUpIFRP ICgyMDAwMSk7CisKK0NSRUFURSBJTkRFWCBPTiBzdGF0c19wYXJ0aXRpb24gKGlkMik7CisK K2luc2VydCBpbnRvIHN0YXRzX3BhcnRpdGlvbiBzZWxlY3QgYSxhIGZyb20gZ2VuZXJhdGVf c2VyaWVzKDAsMjAwMDApIGE7CisKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBvZmY7CitTRVQg ZW5hYmxlX2JpdG1hcHNjYW4gVE8gb2ZmOworCitzZWxlY3QgKiBmcm9tIHN0YXRzX3BhcnRp dGlvbiB3aGVyZSBpZDIgPSAyMDAwOworc2VsZWN0ICogZnJvbSBzdGF0c19wYXJ0aXRpb24g d2hlcmUgaWQyID0gMjsKKy0tIGVuc3VyZSBwZW5kaW5nIHN0YXRzIGFyZSBmbHVzaGVkCitT RUxFQ1QgcGdfc3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7CisKK3NlbGVjdCByZWxuYW1lLCBp bmRleHJlbG5hbWUsIGlkeF9zY2FuID4gMCBhcyBpZHhfc2NhbiwgaWR4X3R1cF9yZWFkID4g MCBhcyBpZHhfdHVwX3JlYWQsCisgICAgICAgaWR4X3R1cF9mZXRjaCA+IDAgYXMgaWR4X3R1 cF9mZXRjaAorICAgZnJvbSBwZ19zdGF0X2FsbF9pbmRleGVzCisgd2hlcmUgcmVsbmFtZSBs aWtlICclc3RhdHNfcGFydGl0aW9uJScKKyBvcmRlciBieSByZWxuYW1lIENPTExBVEUgIkMi OworCitzZWxlY3QgcmVsbmFtZSwgaW5kZXhyZWxuYW1lLCBpZHhfYmxrc19yZWFkID4gMCBh cyBpZHhfYmxrc19yZWFkLAorICAgICAgIGlkeF9ibGtzX2hpdCA+IDAgYXMgaWR4X2Jsa3Nf aGl0CisgICBmcm9tIHBnX3N0YXRpb19hbGxfaW5kZXhlcworIHdoZXJlIHJlbG5hbWUgbGlr ZSAnJXN0YXRzX3BhcnRpdGlvbiUnCisgb3JkZXIgYnkgcmVsbmFtZSBDT0xMQVRFICJDIjsK Kworc2VsZWN0IHJlbG5hbWUsc2VxX3NjYW4gPiAwIGFzIHNlcV9zY2FuLCBzZXFfdHVwX3Jl YWQgPiAwIGFzIHNlcV90dXBfcmVhZCwKKyAgICAgICBpZHhfc2NhbiA+IDAgYXMgaWR4X3Nj YW4sIGlkeF90dXBfZmV0Y2ggPiAwIGFzIGlkeF90dXBfZmV0Y2gKKyAgIGZyb20gcGdfc3Rh dF9hbGxfdGFibGVzCisgIHdoZXJlIHJlbG5hbWUgbGlrZSAnJXN0YXRzX3BhcnRpdGlvbiUn CisgIG9yZGVyIGJ5IHJlbG5hbWUgQ09MTEFURSAiQyI7CisKK3NlbGVjdCByZWxuYW1lLCBo ZWFwX2Jsa3NfcmVhZCA+IDAgYXMgaGVhcF9ibGtzX3JlYWQsIGhlYXBfYmxrc19oaXQgPiAw IGFzIGhlYXBfYmxrc19oaXQsCisgICAgICAgaWR4X2Jsa3NfcmVhZCA+IDAgYXMgaWR4X2Js a3NfcmVhZCwgaWR4X2Jsa3NfaGl0ID4gMCBhcyBpZHhfYmxrc19oaXQKKyAgIGZyb20gcGdf c3RhdGlvX2FsbF90YWJsZXMKKyB3aGVyZSByZWxuYW1lIGxpa2UgJyVzdGF0c19wYXJ0aXRp b24lJworIG9yZGVyIGJ5IHJlbG5hbWUgQ09MTEFURSAiQyI7CisKK1NFVCBlbmFibGVfc2Vx c2NhbiBUTyBvbjsKK1NFVCBlbmFibGVfYml0bWFwc2NhbiBUTyBvbjsKKwogLS0tLQogLS0g QmFzaWMgdGVzdHMgZm9yIHRyYWNrX2Z1bmN0aW9ucwogLS0tCkBAIC0yMTgsMTUgKzI4OSwx NSBAQCBTRUxFQ1QgJ2Ryb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0Jzo6cmVnY2xhc3M6Om9pZCBB UyBkcm9wX3N0YXRzX3Rlc3Rfc3VieGFjdF9vaWQgXAogCiBTRUxFQ1QgcGdfc3RhdF9mb3Jj ZV9uZXh0X2ZsdXNoKCk7CiAKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJv cF9zdGF0c190ZXN0X29pZCk7CitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVz KDpkcm9wX3N0YXRzX3Rlc3Rfb2lkKTsKIERST1AgVEFCTEUgZHJvcF9zdGF0c190ZXN0Owot U0VMRUNUIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rfb2lkKTsK K1NFTEVDVCBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9v aWQpOwogU0VMRUNUIHBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0 YXRzX3Rlc3Rfb2lkKTsKIAogLS0gY2hlY2sgdGhhdCByb2xsYmFjayBwcm90ZWN0cyBhZ2Fp bnN0IGhhdmluZyBzdGF0cyBkcm9wcGVkIGFuZCB0aGF0IGxvY2FsCiAtLSBtb2RpZmljYXRp b25zIGRvbid0IHBvc2UgYSBwcm9ibGVtCi1TRUxFQ1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBs ZXMoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7Ci1TRUxFQ1QgcGdfc3RhdF9nZXRfdHVw bGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOworU0VMRUNUIHBnX3N0 YXRfZ2V0X3RhYl9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKK1NF TEVDVCBwZ19zdGF0X2dldF90YWJfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRzX3Rlc3Rf eGFjdF9vaWQpOwogU0VMRUNUIHBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX2luc2VydGVkKDpk cm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQpOwogQkVHSU47CiBJTlNFUlQgSU5UTyBkcm9wX3N0 YXRzX3Rlc3RfeGFjdCBERUZBVUxUIFZBTFVFUzsKQEAgLTIzNSwxMiArMzA2LDEyIEBAIERS T1AgVEFCTEUgZHJvcF9zdGF0c190ZXN0X3hhY3Q7CiBTRUxFQ1QgcGdfc3RhdF9nZXRfeGFj dF90dXBsZXNfaW5zZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7CiBST0xMQkFD SzsKIFNFTEVDVCBwZ19zdGF0X2ZvcmNlX25leHRfZmx1c2goKTsKLVNFTEVDVCBwZ19zdGF0 X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKLVNFTEVDVCBw Z19zdGF0X2dldF90dXBsZXNfaW5zZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7 CitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rf eGFjdF9vaWQpOworU0VMRUNUIHBnX3N0YXRfZ2V0X3RhYl90dXBsZXNfaW5zZXJ0ZWQoOmRy b3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7CiAKIC0tIHRyYW5zYWN0aW9uYWwgZHJvcAotU0VM RUNUIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3RfeGFjdF9vaWQp OwotU0VMRUNUIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0 X3hhY3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bf c3RhdHNfdGVzdF94YWN0X29pZCk7CitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX3R1cGxlc19p bnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKIEJFR0lOOwogSU5TRVJUIElO VE8gZHJvcF9zdGF0c190ZXN0X3hhY3QgREVGQVVMVCBWQUxVRVM7CiBTRUxFQ1QgcGdfc3Rh dF9nZXRfeGFjdF90dXBsZXNfaW5zZXJ0ZWQoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7 CkBAIC0yNDgsMTEgKzMxOSwxMSBAQCBEUk9QIFRBQkxFIGRyb3Bfc3RhdHNfdGVzdF94YWN0 OwogU0VMRUNUIHBnX3N0YXRfZ2V0X3hhY3RfdHVwbGVzX2luc2VydGVkKDpkcm9wX3N0YXRz X3Rlc3RfeGFjdF9vaWQpOwogQ09NTUlUOwogU0VMRUNUIHBnX3N0YXRfZm9yY2VfbmV4dF9m bHVzaCgpOwotU0VMRUNUIHBnX3N0YXRfZ2V0X2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rl c3RfeGFjdF9vaWQpOwotU0VMRUNUIHBnX3N0YXRfZ2V0X3R1cGxlc19pbnNlcnRlZCg6ZHJv cF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfbGl2ZV90 dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF94YWN0X29pZCk7CitTRUxFQ1QgcGdfc3RhdF9nZXRf dGFiX3R1cGxlc19pbnNlcnRlZCg6ZHJvcF9zdGF0c190ZXN0X3hhY3Rfb2lkKTsKIAogLS0g c2F2ZXBvaW50IHJvbGxiYWNrICgyIGxldmVscykKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZl X3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0 X2dldF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29pZCk7CiBC RUdJTjsKIElOU0VSVCBJTlRPIGRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0IERFRkFVTFQgVkFM VUVTOwogU0FWRVBPSU5UIHNwMTsKQEAgLTI2NCwyNyArMzM1LDI3IEBAIFJPTExCQUNLIFRP IFNBVkVQT0lOVCBzcDI7CiBTRUxFQ1QgcGdfc3RhdF9nZXRfeGFjdF90dXBsZXNfaW5zZXJ0 ZWQoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29pZCk7CiBDT01NSVQ7CiBTRUxFQ1QgcGdf c3RhdF9mb3JjZV9uZXh0X2ZsdXNoKCk7Ci1TRUxFQ1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBs ZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29pZCk7CitTRUxFQ1QgcGdfc3RhdF9nZXRf dGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0YXRzX3Rlc3Rfc3VieGFjdF9vaWQpOwogCiAtLSBz YXZlcG9pbnQgcm9sYmFjayAoMSBsZXZlbCkKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1 cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dl dF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29pZCk7CiBCRUdJ TjsKIFNBVkVQT0lOVCBzcDE7CiBEUk9QIFRBQkxFIGRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0 OwogU0FWRVBPSU5UIHNwMjsKIFJPTExCQUNLIFRPIFNBVkVQT0lOVCBzcDE7CiBDT01NSVQ7 Ci1TRUxFQ1QgcGdfc3RhdF9nZXRfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4 YWN0X29pZCk7CitTRUxFQ1QgcGdfc3RhdF9nZXRfdGFiX2xpdmVfdHVwbGVzKDpkcm9wX3N0 YXRzX3Rlc3Rfc3VieGFjdF9vaWQpOwogCiAtLSBhbmQgbm93IGFjdHVhbGx5IGRyb3AKLVNF TEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rf b2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJfbGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNf dGVzdF9zdWJ4YWN0X29pZCk7CiBCRUdJTjsKIFNBVkVQT0lOVCBzcDE7CiBEUk9QIFRBQkxF IGRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0OwogU0FWRVBPSU5UIHNwMjsKIFJFTEVBU0UgU0FW RVBPSU5UIHNwMTsKIENPTU1JVDsKLVNFTEVDVCBwZ19zdGF0X2dldF9saXZlX3R1cGxlcyg6 ZHJvcF9zdGF0c190ZXN0X3N1YnhhY3Rfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2dldF90YWJf bGl2ZV90dXBsZXMoOmRyb3Bfc3RhdHNfdGVzdF9zdWJ4YWN0X29pZCk7CiAKIERST1AgVEFC TEUgdHJ1bmNfc3RhdHNfdGVzdCwgdHJ1bmNfc3RhdHNfdGVzdDEsIHRydW5jX3N0YXRzX3Rl c3QyLCB0cnVuY19zdGF0c190ZXN0MywgdHJ1bmNfc3RhdHNfdGVzdDQ7CiBEUk9QIFRBQkxF IHByZXZzdGF0czsKQEAgLTQ5Myw0MCArNTY0LDQwIEBAIENSRUFURSBpbmRleCBzdGF0c190 ZXN0X2lkeDEgb24gc3RhdHNfdGVzdF90YWIxKGEpOwogU0VMRUNUICdzdGF0c190ZXN0X2lk eDEnOjpyZWdjbGFzczo6b2lkIEFTIHN0YXRzX3Rlc3RfaWR4MV9vaWQgXGdzZXQKIFNFVCBl bmFibGVfc2Vxc2NhbiBUTyBvZmY7CiBzZWxlY3QgYSBmcm9tIHN0YXRzX3Rlc3RfdGFiMSB3 aGVyZSBhID0gMzsKLVNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRi b2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRz KCdpbmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogCiAtLSBwZ19zdGF0 X2hhdmVfc3RhdHMgcmV0dXJucyBmYWxzZSBmb3IgZHJvcHBlZCBpbmRleCB3aXRoIHN0YXRz Ci1TRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdyZWxhdGlvbicsIDpkYm9pZCwgOnN0YXRz X3Rlc3RfaWR4MV9vaWQpOworU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygnaW5kZXgnLCA6 ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKIERST1AgaW5kZXggc3RhdHNfdGVzdF9p ZHgxOwotU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpz dGF0c190ZXN0X2lkeDFfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4 JywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiAKIC0tIHBnX3N0YXRfaGF2ZV9z dGF0cyByZXR1cm5zIGZhbHNlIGZvciByb2xsZWQgYmFjayBpbmRleCBjcmVhdGlvbgogQkVH SU47CiBDUkVBVEUgaW5kZXggc3RhdHNfdGVzdF9pZHgxIG9uIHN0YXRzX3Rlc3RfdGFiMShh KTsKIFNFTEVDVCAnc3RhdHNfdGVzdF9pZHgxJzo6cmVnY2xhc3M6Om9pZCBBUyBzdGF0c190 ZXN0X2lkeDFfb2lkIFxnc2V0CiBzZWxlY3QgYSBmcm9tIHN0YXRzX3Rlc3RfdGFiMSB3aGVy ZSBhID0gMzsKLVNFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ3JlbGF0aW9uJywgOmRib2lk LCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CitTRUxFQ1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdp bmRleCcsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOwogUk9MTEJBQ0s7Ci1TRUxF Q1QgcGdfc3RhdF9oYXZlX3N0YXRzKCdyZWxhdGlvbicsIDpkYm9pZCwgOnN0YXRzX3Rlc3Rf aWR4MV9vaWQpOworU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygnaW5kZXgnLCA6ZGJvaWQs IDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKIAogLS0gcGdfc3RhdF9oYXZlX3N0YXRzIHJldHVy bnMgdHJ1ZSBmb3IgcmVpbmRleCBDT05DVVJSRU5UTFkKIENSRUFURSBpbmRleCBzdGF0c190 ZXN0X2lkeDEgb24gc3RhdHNfdGVzdF90YWIxKGEpOwogU0VMRUNUICdzdGF0c190ZXN0X2lk eDEnOjpyZWdjbGFzczo6b2lkIEFTIHN0YXRzX3Rlc3RfaWR4MV9vaWQgXGdzZXQKIHNlbGVj dCBhIGZyb20gc3RhdHNfdGVzdF90YWIxIHdoZXJlIGEgPSAzOwotU0VMRUNUIHBnX3N0YXRf aGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsK K1NFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4JywgOmRib2lkLCA6c3RhdHNfdGVz dF9pZHgxX29pZCk7CiBSRUlOREVYIGluZGV4IENPTkNVUlJFTlRMWSBzdGF0c190ZXN0X2lk eDE7CiAtLSBmYWxzZSBmb3IgcHJldmlvdXMgb2lkCi1TRUxFQ1QgcGdfc3RhdF9oYXZlX3N0 YXRzKCdyZWxhdGlvbicsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9vaWQpOworU0VMRUNU IHBnX3N0YXRfaGF2ZV9zdGF0cygnaW5kZXgnLCA6ZGJvaWQsIDpzdGF0c190ZXN0X2lkeDFf b2lkKTsKIC0tIHRydWUgZm9yIG5ldyBvaWQKIFNFTEVDVCAnc3RhdHNfdGVzdF9pZHgxJzo6 cmVnY2xhc3M6Om9pZCBBUyBzdGF0c190ZXN0X2lkeDFfb2lkIFxnc2V0Ci1TRUxFQ1QgcGdf c3RhdF9oYXZlX3N0YXRzKCdyZWxhdGlvbicsIDpkYm9pZCwgOnN0YXRzX3Rlc3RfaWR4MV9v aWQpOworU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygnaW5kZXgnLCA6ZGJvaWQsIDpzdGF0 c190ZXN0X2lkeDFfb2lkKTsKIAogLS0gcGdfc3RhdF9oYXZlX3N0YXRzIHJldHVybnMgdHJ1 ZSBmb3IgYSByb2xsZWQgYmFjayBkcm9wIGluZGV4IHdpdGggc3RhdHMKIEJFR0lOOwotU0VM RUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJvaWQsIDpzdGF0c190ZXN0 X2lkeDFfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMoJ2luZGV4JywgOmRib2lk LCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiBEUk9QIGluZGV4IHN0YXRzX3Rlc3RfaWR4MTsK IFJPTExCQUNLOwotU0VMRUNUIHBnX3N0YXRfaGF2ZV9zdGF0cygncmVsYXRpb24nLCA6ZGJv aWQsIDpzdGF0c190ZXN0X2lkeDFfb2lkKTsKK1NFTEVDVCBwZ19zdGF0X2hhdmVfc3RhdHMo J2luZGV4JywgOmRib2lkLCA6c3RhdHNfdGVzdF9pZHgxX29pZCk7CiAKIC0tIHB1dCBlbmFi bGVfc2Vxc2NhbiBiYWNrIHRvIG9uCiBTRVQgZW5hYmxlX3NlcXNjYW4gVE8gb247CmRpZmYg LS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9w Z2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDYwYzcxZDA1ZmUuLjNiZTljMGUxZmYgMTAw NjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90 b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC0yMDA5LDEwICsyMDA5LDExIEBAIFBn U3RhdFNoYXJlZF9Db21tb24KIFBnU3RhdFNoYXJlZF9EYXRhYmFzZQogUGdTdGF0U2hhcmVk X0Z1bmN0aW9uCiBQZ1N0YXRTaGFyZWRfSGFzaEVudHJ5Ci1QZ1N0YXRTaGFyZWRfUmVsYXRp b24KK1BnU3RhdFNoYXJlZF9JbmRleAogUGdTdGF0U2hhcmVkX1JlcGxTbG90CiBQZ1N0YXRT aGFyZWRfU0xSVQogUGdTdGF0U2hhcmVkX1N1YnNjcmlwdGlvbgorUGdTdGF0U2hhcmVkX1Rh YmxlCiBQZ1N0YXRTaGFyZWRfV2FsCiBQZ1N0YXRfQXJjaGl2ZXJTdGF0cwogUGdTdGF0X0Jh Y2tlbmRGdW5jdGlvbkVudHJ5CkBAIC0yMDI2LDYgKzIwMjcsNyBAQCBQZ1N0YXRfRmV0Y2hD b25zaXN0ZW5jeQogUGdTdGF0X0Z1bmN0aW9uQ2FsbFVzYWdlCiBQZ1N0YXRfRnVuY3Rpb25D b3VudHMKIFBnU3RhdF9IYXNoS2V5CitQZ1N0YXRfSW5kZXhTdGF0dXMKIFBnU3RhdF9LaW5k CiBQZ1N0YXRfS2luZEluZm8KIFBnU3RhdF9Mb2NhbFN0YXRlCg== --------------K7EuNZBHhp4GPxipJvvpT5c0--