From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 21FDFA00C2 for ; Mon, 26 Sep 2022 21:32:10 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F276F4113F; Mon, 26 Sep 2022 21:32:09 +0200 (CEST) Received: from mail-oi1-f228.google.com (mail-oi1-f228.google.com [209.85.167.228]) by mails.dpdk.org (Postfix) with ESMTP id 4D4B44113C for ; Mon, 26 Sep 2022 21:32:08 +0200 (CEST) Received: by mail-oi1-f228.google.com with SMTP id s125so9516778oie.4 for ; Mon, 26 Sep 2022 12:32:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=date:message-id:cc:to:from:subject:mime-version:from:to:cc:subject :date; bh=8b4QocDUx4qsLb5Ki/4Tmyrnto+VKUZ6p2B9w+WqY04=; b=Yc6dXVRU94aAvt3rOSu8TCf9ToUVdof+lZWRSRLfKtzj/vGd6waoyyy8a0RomY/L2M faEZiSKXFosGSi049c1whc0pv72JibwezamFauq1eyWNxMpq7xe/ZJzmsYrfo02DH9hH n/Uq4zEOSIcn12l4fOXiljhqX4MnLJ91XnIeE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=date:message-id:cc:to:from:subject:mime-version:x-gm-message-state :from:to:cc:subject:date; bh=8b4QocDUx4qsLb5Ki/4Tmyrnto+VKUZ6p2B9w+WqY04=; b=tEaCURD5jvW6JI9i5ZNnh7RHl5/H+j3L8bzK2kgUF24vp7hRIl5OXijcZulKCjC5ba AJxW7InrQedzc6z5XVSSndqO6jhWb5GiFHyS4i2h9xiZY+LU77n/YLO669JW5Fs1FVS/ c/UdhES2sZy2FOtWDwpLJfGj60MAFbp4MXszL1xF1QsnUqMgnV1nEOWQXIlooRM/pCGj LRc2n1rCqpfNKhKw+Ut2ceCL1z2O0zDCx9LLTYbzz1d3+tGVt/3HQ+RV6XA/vD5LF22/ gNZQHNPfYQocQSfrftqytxfqk2st7hwCN+C5NosQYspqx4tfcjJXuP1xR8EvaOf9RIst 3/hg== X-Gm-Message-State: ACrzQf2OKdUM5FEOlULbSRNxKqO9dOSOndn0V6BL/PW73LU1NX5YHMKK hwjgupQUXjvN4Qr1w9fTx3Wx8Ljg/do16Jjoz5ptQ+nG8v2ahQ== X-Google-Smtp-Source: AMsMyM4YlDkYa32SjPnEl3UxA5O3Smj8ybbbKdwR7ArsrPlgiAC9xT3T/GvmTEIv1WkFjJT6LZTypYZb+U34 X-Received: by 2002:aca:1218:0:b0:350:fdf8:477f with SMTP id 24-20020aca1218000000b00350fdf8477fmr146543ois.159.1664220727600; Mon, 26 Sep 2022 12:32:07 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [132.177.123.84]) by smtp-relay.gmail.com with ESMTPS id z1-20020a4a9c81000000b00476200d9a53sm1726838ooj.5.2022.09.26.12.32.07 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Sep 2022 12:32:07 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from noxus.dpdklab.iol.unh.edu (unknown [IPv6:2606:4100:3880:1722::4]) by postal.iol.unh.edu (Postfix) with ESMTP id 0FAD6605251C; Mon, 26 Sep 2022 15:32:07 -0400 (EDT) Received: from noxus.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by noxus.dpdklab.iol.unh.edu (Postfix) with ESMTP id E914C6D509; Mon, 26 Sep 2022 15:32:06 -0400 (EDT) Content-Type: multipart/mixed; boundary="===============8410667468098312733==" MIME-Version: 1.0 Subject: |WARNING| pw116903-116908 [PATCH] [v4, 6/6] security: hide session structure From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20220926193206.E914C6D509@noxus.dpdklab.iol.unh.edu> Date: Mon, 26 Sep 2022 15:32:06 -0400 (EDT) X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org --===============8410667468098312733== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzExNjkwMwoKX2FwcGx5IHBhdGNoIGZhaWx1cmVfCgpTdWJtaXR0ZXI6IEFraGls IEdveWFsIDxnYWtoaWxAbWFydmVsbC5jb20+CkRhdGU6IE1vbmRheSwgU2VwdGVtYmVyIDI2IDIw MjIgMTk6MTQ6MjQgCkFwcGxpZWQgb246IENvbW1pdElEOmI5YjUwOTI0NmRhMjc0Y2ZlYTQ3MzEx NzkyYmE4NDAwYzE3OWMyNGIKQXBwbHkgcGF0Y2ggc2V0IDExNjkwMy0xMTY5MDggZmFpbGVkOgoK Q2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmZfb3BzLmMuLi4KSHVuayAj MSBzdWNjZWVkZWQgYXQgOTI4IChvZmZzZXQgMTYgbGluZXMpLgpIdW5rICMyIHN1Y2NlZWRlZCBh dCA5NTIgKG9mZnNldCAxNiBsaW5lcykuCkh1bmsgIzMgc3VjY2VlZGVkIGF0IDk4MCAob2Zmc2V0 IDE2IGxpbmVzKS4KSHVuayAjNCBzdWNjZWVkZWQgYXQgMTAzOSAob2Zmc2V0IDE2IGxpbmVzKS4K SHVuayAjNSBzdWNjZWVkZWQgYXQgMTA2NSAob2Zmc2V0IDE2IGxpbmVzKS4KQ2hlY2tpbmcgcGF0 Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmZfdGVzdF9sYXRlbmN5LmMuLi4KQ2hlY2tpbmcg cGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmZfdGVzdF9wbWRfY3ljbGVjb3VudC5jLi4u CkNoZWNraW5nIHBhdGNoIGFwcC90ZXN0LWNyeXB0by1wZXJmL2NwZXJmX3Rlc3RfdGhyb3VnaHB1 dC5jLi4uCkNoZWNraW5nIHBhdGNoIGFwcC90ZXN0LWNyeXB0by1wZXJmL2NwZXJmX3Rlc3RfdmVy aWZ5LmMuLi4KQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYvbWFpbi5jLi4uCkNo ZWNraW5nIHBhdGNoIGFwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9jb21tb24uYy4uLgpDaGVj a2luZyBwYXRjaCBhcHAvdGVzdC1ldmVudGRldi90ZXN0X3BlcmZfY29tbW9uLmguLi4KQ2hlY2tp bmcgcGF0Y2ggYXBwL3Rlc3QvdGVzdF9jcnlwdG9kZXYuYy4uLgpIdW5rICM1IHN1Y2NlZWRlZCBh dCAxMzcxIChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjNiBzdWNjZWVkZWQgYXQgMTQzMCAob2Zm c2V0IC0xMSBsaW5lcykuCkh1bmsgIzcgc3VjY2VlZGVkIGF0IDE1ODYgKG9mZnNldCAtMTEgbGlu ZXMpLgpIdW5rICM4IHN1Y2NlZWRlZCBhdCAyMTMwIChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAj OSBzdWNjZWVkZWQgYXQgMjE3MyAob2Zmc2V0IC0xMSBsaW5lcykuCkh1bmsgIzEwIHN1Y2NlZWRl ZCBhdCAyNDA4IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMTEgc3VjY2VlZGVkIGF0IDI0Mjcg KG9mZnNldCAtMTEgbGluZXMpLgpIdW5rICMxMiBzdWNjZWVkZWQgYXQgMjQ0NCAob2Zmc2V0IC0x MSBsaW5lcykuCkh1bmsgIzEzIHN1Y2NlZWRlZCBhdCAyNDYzIChvZmZzZXQgLTExIGxpbmVzKS4K SHVuayAjMTQgc3VjY2VlZGVkIGF0IDI1NDYgKG9mZnNldCAtMTEgbGluZXMpLgpIdW5rICMxNSBz dWNjZWVkZWQgYXQgMjU4MCAob2Zmc2V0IC0xMSBsaW5lcykuCkh1bmsgIzE2IHN1Y2NlZWRlZCBh dCAyNTk5IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMTcgc3VjY2VlZGVkIGF0IDI2MzggKG9m ZnNldCAtMTEgbGluZXMpLgpIdW5rICMxOCBzdWNjZWVkZWQgYXQgMjY2OCAob2Zmc2V0IC0xMSBs aW5lcykuCkh1bmsgIzE5IHN1Y2NlZWRlZCBhdCAyNjk4IChvZmZzZXQgLTExIGxpbmVzKS4KSHVu ayAjMjAgc3VjY2VlZGVkIGF0IDgxNDEgKG9mZnNldCAtMTEgbGluZXMpLgpIdW5rICMyMSBzdWNj ZWVkZWQgYXQgODE2MiAob2Zmc2V0IC0xMSBsaW5lcykuCkh1bmsgIzIyIHN1Y2NlZWRlZCBhdCA4 NjExIChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMjMgc3VjY2VlZGVkIGF0IDExOTYxIChvZmZz ZXQgLTExIGxpbmVzKS4KSHVuayAjMjQgc3VjY2VlZGVkIGF0IDExOTc1IChvZmZzZXQgLTExIGxp bmVzKS4KSHVuayAjMjUgc3VjY2VlZGVkIGF0IDEyMTg3IChvZmZzZXQgLTExIGxpbmVzKS4KSHVu ayAjMjYgc3VjY2VlZGVkIGF0IDEyMjE2IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMjcgc3Vj Y2VlZGVkIGF0IDEyMjU0IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMjggc3VjY2VlZGVkIGF0 IDEyMzA3IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMjkgc3VjY2VlZGVkIGF0IDEyMzI4IChv ZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMzAgc3VjY2VlZGVkIGF0IDEyMzM3IChvZmZzZXQgLTEx IGxpbmVzKS4KSHVuayAjMzEgc3VjY2VlZGVkIGF0IDEyMzg0IChvZmZzZXQgLTExIGxpbmVzKS4K SHVuayAjMzIgc3VjY2VlZGVkIGF0IDEyNDAzIChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMzMg c3VjY2VlZGVkIGF0IDEyNDE2IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMzQgc3VjY2VlZGVk IGF0IDEyNDMwIChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMzUgc3VjY2VlZGVkIGF0IDEyNDQ4 IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjMzYgc3VjY2VlZGVkIGF0IDEyNDczIChvZmZzZXQg LTExIGxpbmVzKS4KSHVuayAjMzcgc3VjY2VlZGVkIGF0IDEyNTkxIChvZmZzZXQgLTExIGxpbmVz KS4KSHVuayAjMzggc3VjY2VlZGVkIGF0IDEyNjkwIChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAj Mzkgc3VjY2VlZGVkIGF0IDEyODc2IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjNDAgc3VjY2Vl ZGVkIGF0IDEyODk0IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjNDEgc3VjY2VlZGVkIGF0IDEz NTI5IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjNDIgc3VjY2VlZGVkIGF0IDEzNTQyIChvZmZz ZXQgLTExIGxpbmVzKS4KSHVuayAjNDMgc3VjY2VlZGVkIGF0IDEzNTYxIChvZmZzZXQgLTExIGxp bmVzKS4KSHVuayAjNDQgc3VjY2VlZGVkIGF0IDEzNTkyIChvZmZzZXQgLTExIGxpbmVzKS4KSHVu ayAjNDUgc3VjY2VlZGVkIGF0IDE0MDU2IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjNDYgc3Vj Y2VlZGVkIGF0IDE0MTA2IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjNDcgc3VjY2VlZGVkIGF0 IDE0MjM1IChvZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjNDggc3VjY2VlZGVkIGF0IDE0OTg3IChv ZmZzZXQgLTExIGxpbmVzKS4KSHVuayAjNDkgc3VjY2VlZGVkIGF0IDE1MDExIChvZmZzZXQgLTEx IGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QvdGVzdF9jcnlwdG9kZXZfYmxvY2tjaXBo ZXIuYy4uLgpDaGVja2luZyBwYXRjaCBhcHAvdGVzdC90ZXN0X2V2ZW50X2NyeXB0b19hZGFwdGVy LmMuLi4KQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QvdGVzdF9pcHNlYy5jLi4uCkh1bmsgIzEgc3Vj Y2VlZGVkIGF0IDM2OCAob2Zmc2V0IC0yIGxpbmVzKS4KSHVuayAjMiBzdWNjZWVkZWQgYXQgNDE1 IChvZmZzZXQgLTIgbGluZXMpLgpIdW5rICMzIHN1Y2NlZWRlZCBhdCA2MjggKG9mZnNldCAtMyBs aW5lcykuCkh1bmsgIzQgc3VjY2VlZGVkIGF0IDY0MiAob2Zmc2V0IC0zIGxpbmVzKS4KSHVuayAj NSBzdWNjZWVkZWQgYXQgMTE2NiAob2Zmc2V0IC0zIGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9jcnlwdG8vYXJtdjgvYXJtdjhfcG1kX3ByaXZhdGUuaC4uLgpDaGVja2luZyBwYXRjaCBk cml2ZXJzL2NyeXB0by9hcm12OC9ydGVfYXJtdjhfcG1kLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9jcnlwdG8vYXJtdjgvcnRlX2FybXY4X3BtZF9vcHMuYy4uLgpDaGVja2luZyBwYXRjaCBk cml2ZXJzL2NyeXB0by9iY21mcy9iY21mc19zeW1fc2Vzc2lvbi5jLi4uCkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvY3J5cHRvL2JjbWZzL2JjbWZzX3N5bV9zZXNzaW9uLmguLi4KQ2hlY2tpbmcgcGF0 Y2ggZHJpdmVycy9jcnlwdG8vY2FhbV9qci9jYWFtX2pyLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9jcnlwdG8vY2NwL2NjcF9jcnlwdG8uYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2Ny eXB0by9jY3AvY2NwX3BtZF9vcHMuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9j Y3AvY2NwX3BtZF9wcml2YXRlLmguLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vY2Nw L3J0ZV9jY3BfcG1kLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vY254ay9jbjEw a19jcnlwdG9kZXZfb3BzLmMuLi4KSHVuayAjMSBzdWNjZWVkZWQgYXQgMjEgKG9mZnNldCAtMSBs aW5lcykuCkh1bmsgIzIgc3VjY2VlZGVkIGF0IDEyOCAob2Zmc2V0IDE4IGxpbmVzKS4KSHVuayAj MyBzdWNjZWVkZWQgYXQgMTQ0IChvZmZzZXQgMTggbGluZXMpLgpIdW5rICM0IHN1Y2NlZWRlZCBh dCAzMTEgKG9mZnNldCAxOCBsaW5lcykuCkh1bmsgIzUgc3VjY2VlZGVkIGF0IDM1MCAob2Zmc2V0 IDE4IGxpbmVzKS4KSHVuayAjNiBzdWNjZWVkZWQgYXQgNTAyIChvZmZzZXQgLTM4IGxpbmVzKS4K SHVuayAjNyBzdWNjZWVkZWQgYXQgNTc4IChvZmZzZXQgLTM4IGxpbmVzKS4KQ2hlY2tpbmcgcGF0 Y2ggZHJpdmVycy9jcnlwdG8vY254ay9jbjlrX2NyeXB0b2Rldl9vcHMuYy4uLgpIdW5rICMxIHN1 Y2NlZWRlZCBhdCA3NiAob2Zmc2V0IDIwIGxpbmVzKS4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBm b3I6CgoJCWlmIChvcC0+c2Vzc190eXBlID09IFJURV9DUllQVE9fT1BfV0lUSF9TRVNTSU9OKSB7 CgkJCXN5bV9vcCA9IG9wLT5zeW07CgkJCXNlc3MgPSBnZXRfc3ltX3Nlc3Npb25fcHJpdmF0ZV9k YXRhKAoJCQkJc3ltX29wLT5zZXNzaW9uLCBjbjlrX2NyeXB0b2Rldl9kcml2ZXJfaWQpOwoJCQly ZXQgPSBjcHRfc3ltX2luc3RfZmlsbChxcCwgb3AsIHNlc3MsIGluZmxfcmVxLCBpbnN0KTsKCQkJ aW5zdC0+dzcudTY0ID0gc2Vzcy0+Y3B0X2luc3Rfdzc7CgkJfSBlbHNlIGlmIChvcC0+c2Vzc190 eXBlID09IFJURV9DUllQVE9fT1BfU0VDVVJJVFlfU0VTU0lPTikKCmVycm9yOiBwYXRjaCBmYWls ZWQ6IGRyaXZlcnMvY3J5cHRvL2NueGsvY245a19jcnlwdG9kZXZfb3BzLmM6OTUKZXJyb3I6IHdo aWxlIHNlYXJjaGluZyBmb3I6CgoJCQlyZXQgPSBjcHRfc3ltX2luc3RfZmlsbChxcCwgb3AsIHNl c3MsIGluZmxfcmVxLCBpbnN0KTsKCQkJaWYgKHVubGlrZWx5KHJldCkpIHsKCQkJCXN5bV9zZXNz aW9uX2NsZWFyKGNuOWtfY3J5cHRvZGV2X2RyaXZlcl9pZCwKCQkJCQkJICBvcC0+c3ltLT5zZXNz aW9uKTsKCQkJCXJ0ZV9tZW1wb29sX3B1dChxcC0+c2Vzc19tcCwgb3AtPnN5bS0+c2Vzc2lvbik7 CgkJCX0KCQkJaW5zdC0+dzcudTY0ID0gc2Vzcy0+Y3B0X2luc3Rfdzc7CgplcnJvcjogcGF0Y2gg ZmFpbGVkOiBkcml2ZXJzL2NyeXB0by9jbnhrL2NuOWtfY3J5cHRvZGV2X29wcy5jOjExMApIdW5r ICM0IHN1Y2NlZWRlZCBhdCAzNjggKG9mZnNldCAyNCBsaW5lcykuCkh1bmsgIzUgc3VjY2VlZGVk IGF0IDQwNyAob2Zmc2V0IDI0IGxpbmVzKS4KSHVuayAjNiBzdWNjZWVkZWQgYXQgNjAxIChvZmZz ZXQgMjMgbGluZXMpLgpIdW5rICM3IHN1Y2NlZWRlZCBhdCA2NjEgKG9mZnNldCAyMyBsaW5lcyku CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2NueGsvY254a19jcnlwdG9kZXZfb3BzLmMu Li4KSHVuayAjMSBzdWNjZWVkZWQgYXQgNDA1IChvZmZzZXQgLTEgbGluZXMpLgplcnJvcjogd2hp bGUgc2VhcmNoaW5nIGZvcjoKfQoKaW50CnN5bV9zZXNzaW9uX2NvbmZpZ3VyZShzdHJ1Y3Qgcm9j X2NwdCAqcm9jX2NwdCwgaW50IGRyaXZlcl9pZCwKCQkgICAgICBzdHJ1Y3QgcnRlX2NyeXB0b19z eW1feGZvcm0gKnhmb3JtLAoJCSAgICAgIHN0cnVjdCBydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9u ICpzZXNzLAoJCSAgICAgIHN0cnVjdCBydGVfbWVtcG9vbCAqcG9vbCkKewoJZW51bSBjcHRfZHBf dGhyZWFkX3R5cGUgdGhyX3R5cGU7CglzdHJ1Y3QgY254a19zZV9zZXNzICpzZXNzX3ByaXY7Cgl2 b2lkICpwcml2OwoJaW50IHJldDsKCglpZiAodW5saWtlbHkocnRlX21lbXBvb2xfZ2V0KHBvb2ws ICZwcml2KSkpIHsKCQlwbHRfZHBfZXJyKCJDb3VsZCBub3QgYWxsb2NhdGUgc2Vzc2lvbiBwcml2 YXRlIGRhdGEiKTsKCQlyZXR1cm4gLUVOT01FTTsKCX0KCgltZW1zZXQocHJpdiwgMCwgc2l6ZW9m KHN0cnVjdCBjbnhrX3NlX3Nlc3MpKTsKCglzZXNzX3ByaXYgPSBwcml2OwoKCXJldCA9IGNueGtf c2Vzc19maWxsKHJvY19jcHQsIHhmb3JtLCBzZXNzX3ByaXYpOwoJaWYgKHJldCkKCQlnb3RvIHBy aXZfcHV0OwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9jcnlwdG8vY254ay9jbnhrX2Ny eXB0b2Rldl9vcHMuYzo2MjAKSHVuayAjMyBzdWNjZWVkZWQgYXQgNjUzIChvZmZzZXQgLTIwIGxp bmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vY254ay9jbnhrX2NyeXB0b2Rldl9v cHMuaC4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9kcGFhMl9zZWMvZHBhYTJfc2Vj X2Rwc2VjaS5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2RwYWEyX3NlYy9kcGFh Ml9zZWNfcmF3X2RwLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vZHBhYV9zZWMv ZHBhYV9zZWMuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9kcGFhX3NlYy9kcGFh X3NlY19yYXdfZHAuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9pcHNlY19tYi9p cHNlY19tYl9vcHMuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9pcHNlY19tYi9p cHNlY19tYl9wcml2YXRlLmguLi4KSHVuayAjMSBzdWNjZWVkZWQgYXQgMTMxIChvZmZzZXQgLTUg bGluZXMpLgpIdW5rICMyIHN1Y2NlZWRlZCBhdCAzOTIgKG9mZnNldCAtNSBsaW5lcykuCkh1bmsg IzMgc3VjY2VlZGVkIGF0IDQwMyAob2Zmc2V0IC01IGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9jcnlwdG8vaXBzZWNfbWIvcG1kX2Flc25pX2djbS5jLi4uCkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvY3J5cHRvL2lwc2VjX21iL3BtZF9hZXNuaV9tYi5jLi4uCkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvY3J5cHRvL2lwc2VjX21iL3BtZF9jaGFjaGFfcG9seS5jLi4uCkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvY3J5cHRvL2lwc2VjX21iL3BtZF9rYXN1bWkuYy4uLgpDaGVja2luZyBwYXRjaCBk cml2ZXJzL2NyeXB0by9pcHNlY19tYi9wbWRfc25vdzNnLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9jcnlwdG8vaXBzZWNfbWIvcG1kX3p1Yy5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv Y3J5cHRvL21seDUvbWx4NV9jcnlwdG8uYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0 by9tdnNhbS9ydGVfbXJ2bF9wbWQuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9t dnNhbS9ydGVfbXJ2bF9wbWRfb3BzLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8v bml0cm94L25pdHJveF9zeW0uYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9udWxs L251bGxfY3J5cHRvX3BtZC5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL251bGwv bnVsbF9jcnlwdG9fcG1kX29wcy5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL251 bGwvbnVsbF9jcnlwdG9fcG1kX3ByaXZhdGUuaC4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2Ny eXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X2h3X2FjY2Vzcy5oLi4uCkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvY3J5cHRvL29jdGVvbnR4L290eF9jcnlwdG9kZXZfb3BzLmMuLi4KQ2hlY2tpbmcg cGF0Y2ggZHJpdmVycy9jcnlwdG8vb3BlbnNzbC9vcGVuc3NsX3BtZF9wcml2YXRlLmguLi4KSHVu ayAjMSBzdWNjZWVkZWQgYXQgNjggKG9mZnNldCAtMiBsaW5lcykuCkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvY3J5cHRvL29wZW5zc2wvcnRlX29wZW5zc2xfcG1kLmMuLi4KSHVuayAjMSBzdWNjZWVk ZWQgYXQgODM1IChvZmZzZXQgLTUyIGxpbmVzKS4KSHVuayAjMiBzdWNjZWVkZWQgYXQgODQ3IChv ZmZzZXQgLTUyIGxpbmVzKS4KSHVuayAjMyBzdWNjZWVkZWQgYXQgMjc2OCAob2Zmc2V0IC0xMjQg bGluZXMpLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9vcGVuc3NsL3J0ZV9vcGVuc3Ns X3BtZF9vcHMuYy4uLgpIdW5rICMxIHN1Y2NlZWRlZCBhdCA3NDQgKG9mZnNldCAtMjAgbGluZXMp LgpIdW5rICMyIHN1Y2NlZWRlZCBhdCA3NzMgKG9mZnNldCAtMjAgbGluZXMpLgpIdW5rICMzIHN1 Y2NlZWRlZCBhdCA3ODMgKG9mZnNldCAtMjAgbGluZXMpLgpIdW5rICM0IHN1Y2NlZWRlZCBhdCAx Mjk2IChvZmZzZXQgLTIwIGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vcWF0 L3FhdF9zeW0uYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9xYXQvcWF0X3N5bS5o Li4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltX3Nlc3Npb24uYy4u LgpIdW5rICMxIHN1Y2NlZWRlZCBhdCAxODYgKG9mZnNldCAtMzMgbGluZXMpLgplcnJvcjogd2hp bGUgc2VhcmNoaW5nIGZvcjoKaW50CnFhdF9zeW1fc2Vzc2lvbl9jb25maWd1cmUoc3RydWN0IHJ0 ZV9jcnlwdG9kZXYgKmRldiwKCQlzdHJ1Y3QgcnRlX2NyeXB0b19zeW1feGZvcm0gKnhmb3JtLAoJ CXN0cnVjdCBydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9uICpzZXNzLAoJCXN0cnVjdCBydGVfbWVt cG9vbCAqbWVtcG9vbCkKewoJdm9pZCAqc2Vzc19wcml2YXRlX2RhdGE7CglpbnQgcmV0OwoKCWlm IChydGVfbWVtcG9vbF9nZXQobWVtcG9vbCwgJnNlc3NfcHJpdmF0ZV9kYXRhKSkgewoJCUNERVZf TE9HX0VSUigKCQkJIkNvdWxkbid0IGdldCBvYmplY3QgZnJvbSBzZXNzaW9uIG1lbXBvb2wiKTsK CQlyZXR1cm4gLUVOT01FTTsKCX0KCiNpZiAoT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDMw MDAwMDAwTCkKCWlmIChvc3NsX2xlZ2FjeV9wcm92aWRlcl9sb2FkKCkpCgkJcmV0dXJuIC1FSU5W QUw7CiNlbmRpZgoJcmV0ID0gcWF0X3N5bV9zZXNzaW9uX3NldF9wYXJhbWV0ZXJzKGRldiwgeGZv cm0sIHNlc3NfcHJpdmF0ZV9kYXRhKTsKCWlmIChyZXQgIT0gMCkgewoJCVFBVF9MT0coRVJSLAoJ CSAgICAiQ3J5cHRvIFFBVCBQTUQ6IGZhaWxlZCB0byBjb25maWd1cmUgc2Vzc2lvbiBwYXJhbWV0 ZXJzIik7CgoJCS8qIFJldHVybiBzZXNzaW9uIHRvIG1lbXBvb2wgKi8KCQlydGVfbWVtcG9vbF9w dXQobWVtcG9vbCwgc2Vzc19wcml2YXRlX2RhdGEpOwoJCXJldHVybiByZXQ7Cgl9CgoJc2V0X3N5 bV9zZXNzaW9uX3ByaXZhdGVfZGF0YShzZXNzLCBkZXYtPmRyaXZlcl9pZCwKCQlzZXNzX3ByaXZh dGVfZGF0YSk7CgojIGlmIChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MzAwMDAwMDBMKQoJ b3NzbF9sZWdhY3lfcHJvdmlkZXJfdW5sb2FkKCk7CiMgZW5kaWYKCmVycm9yOiBwYXRjaCBmYWls ZWQ6IGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltX3Nlc3Npb24uYzo1MDUKSHVuayAjMyBzdWNj ZWVkZWQgYXQgNTEyIChvZmZzZXQgLTEwIGxpbmVzKS4KSHVuayAjNCBzdWNjZWVkZWQgYXQgNTIy IChvZmZzZXQgLTEwIGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vcWF0L3Fh dF9zeW1fc2Vzc2lvbi5oLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3NjaGVkdWxl ci9zY2hlZHVsZXJfcG1kX29wcy5jLi4uCkh1bmsgIzEgc3VjY2VlZGVkIGF0IDQ3MCAob2Zmc2V0 IDIgbGluZXMpLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by92aXJ0aW8vdmlydGlvX2Ny eXB0b2Rldi5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3ZpcnRpby92aXJ0aW9f cnh0eC5jLi4uCkNoZWNraW5nIHBhdGNoIGV4YW1wbGVzL2ZpcHNfdmFsaWRhdGlvbi9maXBzX2Rl dl9zZWxmX3Rlc3QuYy4uLgpDaGVja2luZyBwYXRjaCBleGFtcGxlcy9maXBzX3ZhbGlkYXRpb24v bWFpbi5jLi4uCkNoZWNraW5nIHBhdGNoIGV4YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjLXNlY2d3 LmMuLi4KSHVuayAjMiBzdWNjZWVkZWQgYXQgMjUyNyAob2Zmc2V0IDYgbGluZXMpLgpDaGVja2lu ZyBwYXRjaCBleGFtcGxlcy9pcHNlYy1zZWNndy9pcHNlYy5jLi4uCkNoZWNraW5nIHBhdGNoIGV4 YW1wbGVzL2wyZndkLWNyeXB0by9tYWluLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZXhhbXBsZXMvdmhv c3RfY3J5cHRvL21haW4uYy4uLgpDaGVja2luZyBwYXRjaCBsaWIvY3J5cHRvZGV2L2NyeXB0b2Rl dl9wbWQuaC4uLgpIdW5rICMxIHN1Y2NlZWRlZCBhdCAzMDIgKG9mZnNldCAxIGxpbmUpLgpIdW5r ICMyIHN1Y2NlZWRlZCBhdCAzMTEgKG9mZnNldCAxIGxpbmUpLgpIdW5rICMzIHN1Y2NlZWRlZCBh dCAzMzcgKG9mZnNldCAxIGxpbmUpLgpIdW5rICM0IHN1Y2NlZWRlZCBhdCA2MzggKG9mZnNldCAx IGxpbmUpLgpDaGVja2luZyBwYXRjaCBsaWIvY3J5cHRvZGV2L2NyeXB0b2Rldl90cmFjZV9wb2lu dHMuYy4uLgpDaGVja2luZyBwYXRjaCBsaWIvY3J5cHRvZGV2L3J0ZV9jcnlwdG9kZXYuYy4uLgpI dW5rICMxIHN1Y2NlZWRlZCBhdCAxOTAgKG9mZnNldCAtOSBsaW5lcykuCkh1bmsgIzIgc3VjY2Vl ZGVkIGF0IDEyMDQgKG9mZnNldCAtNCBsaW5lcykuCkh1bmsgIzMgc3VjY2VlZGVkIGF0IDEyNDUg KG9mZnNldCAtNCBsaW5lcykuCkh1bmsgIzQgc3VjY2VlZGVkIGF0IDEyNTUgKG9mZnNldCAtNCBs aW5lcykuCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJcnRlX3NwaW5sb2NrX3VubG9jaygm cnRlX2NyeXB0b2Rldl9jYl9sb2NrKTsKfQoKaW50CnJ0ZV9jcnlwdG9kZXZfc3ltX3Nlc3Npb25f aW5pdCh1aW50OF90IGRldl9pZCwKCQlzdHJ1Y3QgcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbiAq c2VzcywKCQlzdHJ1Y3QgcnRlX2NyeXB0b19zeW1feGZvcm0gKnhmb3JtcywKCQlzdHJ1Y3QgcnRl X21lbXBvb2wgKm1wKQp7CglzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2OwoJdWludDMyX3Qgc2Vz c19wcml2X3N6ID0gcnRlX2NyeXB0b2Rldl9zeW1fZ2V0X3ByaXZhdGVfc2Vzc2lvbl9zaXplKAoJ CQlkZXZfaWQpOwoJdWludDhfdCBpbmRleDsKCWludCByZXQ7CgoJaWYgKCFydGVfY3J5cHRvZGV2 X2lzX3ZhbGlkX2RldihkZXZfaWQpKSB7CgkJQ0RFVl9MT0dfRVJSKCJJbnZhbGlkIGRldl9pZD0l IiBQUkl1OCwgZGV2X2lkKTsKCQlyZXR1cm4gLUVJTlZBTDsKCX0KCglkZXYgPSBydGVfY3J5cHRv ZGV2X3BtZF9nZXRfZGV2KGRldl9pZCk7CgoJaWYgKHNlc3MgPT0gTlVMTCB8fCB4Zm9ybXMgPT0g TlVMTCB8fCBkZXYgPT0gTlVMTCB8fCBtcCA9PSBOVUxMKQoJCXJldHVybiAtRUlOVkFMOwoKCWlm IChtcC0+ZWx0X3NpemUgPCBzZXNzX3ByaXZfc3opCgkJcmV0dXJuIC1FSU5WQUw7CgoJaW5kZXgg PSBkZXYtPmRyaXZlcl9pZDsKCWlmIChpbmRleCA+PSBzZXNzLT5uYl9kcml2ZXJzKQoJCXJldHVy biAtRUlOVkFMOwoKCVJURV9GVU5DX1BUUl9PUl9FUlJfUkVUKCpkZXYtPmRldl9vcHMtPnN5bV9z ZXNzaW9uX2NvbmZpZ3VyZSwgLUVOT1RTVVApOwoKCWlmIChzZXNzLT5zZXNzX2RhdGFbaW5kZXhd LnJlZmNudCA9PSAwKSB7CgkJcmV0ID0gZGV2LT5kZXZfb3BzLT5zeW1fc2Vzc2lvbl9jb25maWd1 cmUoZGV2LCB4Zm9ybXMsCgkJCQkJCQlzZXNzLCBtcCk7CgkJaWYgKHJldCA8IDApIHsKCQkJQ0RF Vl9MT0dfRVJSKAoJCQkJImRldl9pZCAlZCBmYWlsZWQgdG8gY29uZmlndXJlIHNlc3Npb24gZGV0 YWlscyIsCgkJCQlkZXZfaWQpOwoJCQlyZXR1cm4gcmV0OwoJCX0KCX0KCglydGVfY3J5cHRvZGV2 X3RyYWNlX3N5bV9zZXNzaW9uX2luaXQoZGV2X2lkLCBzZXNzLCB4Zm9ybXMsIG1wKTsKCXNlc3Mt PnNlc3NfZGF0YVtpbmRleF0ucmVmY250Kys7CglyZXR1cm4gMDsKfQoKc3RydWN0IHJ0ZV9tZW1w b29sICoKcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9wb29sX2NyZWF0ZShjb25zdCBjaGFyICpu YW1lLCB1aW50MzJfdCBuYl9lbHRzLAoJdWludDMyX3QgZWx0X3NpemUsIHVpbnQzMl90IGNhY2hl X3NpemUsIHVpbnQxNl90IHVzZXJfZGF0YV9zaXplLAoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGli L2NyeXB0b2Rldi9ydGVfY3J5cHRvZGV2LmM6MTcxOQpIdW5rICM2IHN1Y2NlZWRlZCBhdCAxNzc4 IChvZmZzZXQgNDggbGluZXMpLgpIdW5rICM3IHN1Y2NlZWRlZCBhdCAxODAwIChvZmZzZXQgNDgg bGluZXMpLgpIdW5rICM4IHN1Y2NlZWRlZCBhdCAxODU4IChvZmZzZXQgNDggbGluZXMpLgpIdW5r ICM5IHN1Y2NlZWRlZCBhdCAxOTk5IChvZmZzZXQgNDkgbGluZXMpLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKCWlmIChkZXYgPT0gTlVMTCB8fCBzZXNzID09IE5VTEwpCgkJcmV0dXJuIC1F SU5WQUw7CgoJZHJpdmVyX2lkID0gZGV2LT5kcml2ZXJfaWQ7CglpZiAoc2Vzcy0+c2Vzc19kYXRh W2RyaXZlcl9pZF0ucmVmY250ID09IDApCgkJcmV0dXJuIDA7CglpZiAoLS1zZXNzLT5zZXNzX2Rh dGFbZHJpdmVyX2lkXS5yZWZjbnQgIT0gMCkKCQlyZXR1cm4gLUVCVVNZOwoKCVJURV9GVU5DX1BU Ul9PUl9FUlJfUkVUKCpkZXYtPmRldl9vcHMtPnN5bV9zZXNzaW9uX2NsZWFyLCAtRU5PVFNVUCk7 CgoJZGV2LT5kZXZfb3BzLT5zeW1fc2Vzc2lvbl9jbGVhcihkZXYsIHNlc3MpOwoKCXJ0ZV9jcnlw dG9kZXZfdHJhY2Vfc3ltX3Nlc3Npb25fY2xlYXIoZGV2X2lkLCBzZXNzKTsKCXJldHVybiAwOwp9 CgppbnQKcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9mcmVlKHN0cnVjdCBydGVfY3J5cHRvZGV2 X3N5bV9zZXNzaW9uICpzZXNzKQp7Cgl1aW50OF90IGk7CglzdHJ1Y3QgcnRlX21lbXBvb2wgKnNl c3NfbXA7CgoJaWYgKHNlc3MgPT0gTlVMTCkKCQlyZXR1cm4gLUVJTlZBTDsKCgkvKiBDaGVjayB0 aGF0IGFsbCBkZXZpY2UgcHJpdmF0ZSBkYXRhIGhhcyBiZWVuIGZyZWVkICovCglmb3IgKGkgPSAw OyBpIDwgc2Vzcy0+bmJfZHJpdmVyczsgaSsrKSB7CgkJaWYgKHNlc3MtPnNlc3NfZGF0YVtpXS5y ZWZjbnQgIT0gMCkKCQkJcmV0dXJuIC1FQlVTWTsKCX0KCgkvKiBSZXR1cm4gc2Vzc2lvbiB0byBt ZW1wb29sICovCglzZXNzX21wID0gcnRlX21lbXBvb2xfZnJvbV9vYmooc2Vzcyk7CglydGVfbWVt cG9vbF9wdXQoc2Vzc19tcCwgc2Vzcyk7CgoJcnRlX2NyeXB0b2Rldl90cmFjZV9zeW1fc2Vzc2lv bl9mcmVlKHNlc3MpOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2NyeXB0b2Rldi9ydGVfY3J5 cHRvZGV2LmM6MjAxMApIdW5rICMxMSBzdWNjZWVkZWQgYXQgMjA4OCAob2Zmc2V0IDY0IGxpbmVz KS4KSHVuayAjMTIgc3VjY2VlZGVkIGF0IDIxMzQgKG9mZnNldCA2NCBsaW5lcykuCkh1bmsgIzEz IHN1Y2NlZWRlZCBhdCAyMTQzIChvZmZzZXQgNjQgbGluZXMpLgpDaGVja2luZyBwYXRjaCBsaWIv Y3J5cHRvZGV2L3J0ZV9jcnlwdG9kZXYuaC4uLgpDaGVja2luZyBwYXRjaCBsaWIvY3J5cHRvZGV2 L3J0ZV9jcnlwdG9kZXZfdHJhY2UuaC4uLgpDaGVja2luZyBwYXRjaCBsaWIvY3J5cHRvZGV2L3Zl cnNpb24ubWFwLi4uCkNoZWNraW5nIHBhdGNoIGxpYi9waXBlbGluZS9ydGVfdGFibGVfYWN0aW9u LmMuLi4KQ2hlY2tpbmcgcGF0Y2ggbGliL3Zob3N0L3J0ZV92aG9zdF9jcnlwdG8uaC4uLgpDaGVj a2luZyBwYXRjaCBsaWIvdmhvc3Qvdmhvc3RfY3J5cHRvLmMuLi4KQXBwbGllZCBwYXRjaCBhcHAv dGVzdC1jcnlwdG8tcGVyZi9jcGVyZl9vcHMuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGFwcC90 ZXN0LWNyeXB0by1wZXJmL2NwZXJmX3Rlc3RfbGF0ZW5jeS5jIGNsZWFubHkuCkFwcGxpZWQgcGF0 Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmZfdGVzdF9wbWRfY3ljbGVjb3VudC5jIGNsZWFu bHkuCkFwcGxpZWQgcGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmZfdGVzdF90aHJvdWdo cHV0LmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBhcHAvdGVzdC1jcnlwdG8tcGVyZi9jcGVyZl90 ZXN0X3ZlcmlmeS5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYv bWFpbi5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJm X2NvbW1vbi5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9w ZXJmX2NvbW1vbi5oIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggYXBwL3Rlc3QvdGVzdF9jcnlwdG9k ZXYuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGFwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2X2Jsb2Nr Y2lwaGVyLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBhcHAvdGVzdC90ZXN0X2V2ZW50X2NyeXB0 b19hZGFwdGVyLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBhcHAvdGVzdC90ZXN0X2lwc2VjLmMg Y2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL2NyeXB0by9hcm12OC9hcm12OF9wbWRfcHJp dmF0ZS5oIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jcnlwdG8vYXJtdjgvcnRlX2Fy bXY4X3BtZC5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jcnlwdG8vYXJtdjgvcnRl X2FybXY4X3BtZF9vcHMuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2Jj bWZzL2JjbWZzX3N5bV9zZXNzaW9uLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL2Ny eXB0by9iY21mcy9iY21mc19zeW1fc2Vzc2lvbi5oIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJp dmVycy9jcnlwdG8vY2FhbV9qci9jYWFtX2pyLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2 ZXJzL2NyeXB0by9jY3AvY2NwX2NyeXB0by5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVy cy9jcnlwdG8vY2NwL2NjcF9wbWRfb3BzLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJz L2NyeXB0by9jY3AvY2NwX3BtZF9wcml2YXRlLmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2 ZXJzL2NyeXB0by9jY3AvcnRlX2NjcF9wbWQuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZl cnMvY3J5cHRvL2NueGsvY24xMGtfY3J5cHRvZGV2X29wcy5jIGNsZWFubHkuCkFwcGx5aW5nIHBh dGNoIGRyaXZlcnMvY3J5cHRvL2NueGsvY245a19jcnlwdG9kZXZfb3BzLmMgd2l0aCAyIHJlamVj dHMuLi4KSHVuayAjMSBhcHBsaWVkIGNsZWFubHkuClJlamVjdGVkIGh1bmsgIzIuClJlamVjdGVk IGh1bmsgIzMuCkh1bmsgIzQgYXBwbGllZCBjbGVhbmx5LgpIdW5rICM1IGFwcGxpZWQgY2xlYW5s eS4KSHVuayAjNiBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzcgYXBwbGllZCBjbGVhbmx5LgpBcHBs eWluZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9jbnhrL2NueGtfY3J5cHRvZGV2X29wcy5jIHdpdGgg MSByZWplY3QuLi4KSHVuayAjMSBhcHBsaWVkIGNsZWFubHkuClJlamVjdGVkIGh1bmsgIzIuCkh1 bmsgIzMgYXBwbGllZCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2NueGsv Y254a19jcnlwdG9kZXZfb3BzLmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL2NyeXB0 by9kcGFhMl9zZWMvZHBhYTJfc2VjX2Rwc2VjaS5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJp dmVycy9jcnlwdG8vZHBhYTJfc2VjL2RwYWEyX3NlY19yYXdfZHAuYyBjbGVhbmx5LgpBcHBsaWVk IHBhdGNoIGRyaXZlcnMvY3J5cHRvL2RwYWFfc2VjL2RwYWFfc2VjLmMgY2xlYW5seS4KQXBwbGll ZCBwYXRjaCBkcml2ZXJzL2NyeXB0by9kcGFhX3NlYy9kcGFhX3NlY19yYXdfZHAuYyBjbGVhbmx5 LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2lwc2VjX21iL2lwc2VjX21iX29wcy5jIGNs ZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jcnlwdG8vaXBzZWNfbWIvaXBzZWNfbWJfcHJp dmF0ZS5oIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jcnlwdG8vaXBzZWNfbWIvcG1k X2Flc25pX2djbS5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jcnlwdG8vaXBzZWNf bWIvcG1kX2Flc25pX21iLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL2NyeXB0by9p cHNlY19tYi9wbWRfY2hhY2hhX3BvbHkuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMv Y3J5cHRvL2lwc2VjX21iL3BtZF9rYXN1bWkuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZl cnMvY3J5cHRvL2lwc2VjX21iL3BtZF9zbm93M2cuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRy aXZlcnMvY3J5cHRvL2lwc2VjX21iL3BtZF96dWMuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRy aXZlcnMvY3J5cHRvL21seDUvbWx4NV9jcnlwdG8uYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRy aXZlcnMvY3J5cHRvL212c2FtL3J0ZV9tcnZsX3BtZC5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2gg ZHJpdmVycy9jcnlwdG8vbXZzYW0vcnRlX21ydmxfcG1kX29wcy5jIGNsZWFubHkuCkFwcGxpZWQg cGF0Y2ggZHJpdmVycy9jcnlwdG8vbml0cm94L25pdHJveF9zeW0uYyBjbGVhbmx5LgpBcHBsaWVk IHBhdGNoIGRyaXZlcnMvY3J5cHRvL251bGwvbnVsbF9jcnlwdG9fcG1kLmMgY2xlYW5seS4KQXBw bGllZCBwYXRjaCBkcml2ZXJzL2NyeXB0by9udWxsL251bGxfY3J5cHRvX3BtZF9vcHMuYyBjbGVh bmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvY3J5cHRvL251bGwvbnVsbF9jcnlwdG9fcG1kX3By aXZhdGUuaCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvY3J5cHRvL29jdGVvbnR4L290 eF9jcnlwdG9kZXZfaHdfYWNjZXNzLmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL2Ny eXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X29wcy5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2gg ZHJpdmVycy9jcnlwdG8vb3BlbnNzbC9vcGVuc3NsX3BtZF9wcml2YXRlLmggY2xlYW5seS4KQXBw bGllZCBwYXRjaCBkcml2ZXJzL2NyeXB0by9vcGVuc3NsL3J0ZV9vcGVuc3NsX3BtZC5jIGNsZWFu bHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jcnlwdG8vb3BlbnNzbC9ydGVfb3BlbnNzbF9wbWRf b3BzLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL2NyeXB0by9xYXQvcWF0X3N5bS5j IGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jcnlwdG8vcWF0L3FhdF9zeW0uaCBjbGVh bmx5LgpBcHBseWluZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9xYXQvcWF0X3N5bV9zZXNzaW9uLmMg d2l0aCAxIHJlamVjdC4uLgpIdW5rICMxIGFwcGxpZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAj Mi4KSHVuayAjMyBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzQgYXBwbGllZCBjbGVhbmx5LgpBcHBs aWVkIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltX3Nlc3Npb24uaCBjbGVhbmx5LgpB cHBsaWVkIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3NjaGVkdWxlci9zY2hlZHVsZXJfcG1kX29wcy5j IGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jcnlwdG8vdmlydGlvL3ZpcnRpb19jcnlw dG9kZXYuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3ZpcnRpby92aXJ0 aW9fcnh0eC5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZXhhbXBsZXMvZmlwc192YWxpZGF0aW9u L2ZpcHNfZGV2X3NlbGZfdGVzdC5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZXhhbXBsZXMvZmlw c192YWxpZGF0aW9uL21haW4uYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGV4YW1wbGVzL2lwc2Vj LXNlY2d3L2lwc2VjLXNlY2d3LmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBleGFtcGxlcy9pcHNl Yy1zZWNndy9pcHNlYy5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZXhhbXBsZXMvbDJmd2QtY3J5 cHRvL21haW4uYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGV4YW1wbGVzL3Zob3N0X2NyeXB0by9t YWluLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBsaWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9wbWQu aCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGxpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3RyYWNlX3Bv aW50cy5jIGNsZWFubHkuCkFwcGx5aW5nIHBhdGNoIGxpYi9jcnlwdG9kZXYvcnRlX2NyeXB0b2Rl di5jIHdpdGggMiByZWplY3RzLi4uCkh1bmsgIzEgYXBwbGllZCBjbGVhbmx5LgpIdW5rICMyIGFw cGxpZWQgY2xlYW5seS4KSHVuayAjMyBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzQgYXBwbGllZCBj bGVhbmx5LgpSZWplY3RlZCBodW5rICM1LgpIdW5rICM2IGFwcGxpZWQgY2xlYW5seS4KSHVuayAj NyBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzggYXBwbGllZCBjbGVhbmx5LgpIdW5rICM5IGFwcGxp ZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAjMTAuCkh1bmsgIzExIGFwcGxpZWQgY2xlYW5seS4K SHVuayAjMTIgYXBwbGllZCBjbGVhbmx5LgpIdW5rICMxMyBhcHBsaWVkIGNsZWFubHkuCkFwcGxp ZWQgcGF0Y2ggbGliL2NyeXB0b2Rldi9ydGVfY3J5cHRvZGV2LmggY2xlYW5seS4KQXBwbGllZCBw YXRjaCBsaWIvY3J5cHRvZGV2L3J0ZV9jcnlwdG9kZXZfdHJhY2UuaCBjbGVhbmx5LgpBcHBsaWVk IHBhdGNoIGxpYi9jcnlwdG9kZXYvdmVyc2lvbi5tYXAgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBs aWIvcGlwZWxpbmUvcnRlX3RhYmxlX2FjdGlvbi5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggbGli L3Zob3N0L3J0ZV92aG9zdF9jcnlwdG8uaCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGxpYi92aG9z dC92aG9zdF9jcnlwdG8uYyBjbGVhbmx5LgpkaWZmIGEvZHJpdmVycy9jcnlwdG8vY254ay9jbjlr X2NyeXB0b2Rldl9vcHMuYyBiL2RyaXZlcnMvY3J5cHRvL2NueGsvY245a19jcnlwdG9kZXZfb3Bz LmMJKHJlamVjdGVkIGh1bmtzKQpAQCAtOTUsOCArOTIsNyBAQCBjbjlrX2NwdF9pbnN0X3ByZXAo c3RydWN0IGNueGtfY3B0X3FwICpxcCwgc3RydWN0IHJ0ZV9jcnlwdG9fb3AgKm9wLAogCiAJCWlm IChvcC0+c2Vzc190eXBlID09IFJURV9DUllQVE9fT1BfV0lUSF9TRVNTSU9OKSB7CiAJCQlzeW1f b3AgPSBvcC0+c3ltOwotCQkJc2VzcyA9IGdldF9zeW1fc2Vzc2lvbl9wcml2YXRlX2RhdGEoCi0J CQkJc3ltX29wLT5zZXNzaW9uLCBjbjlrX2NyeXB0b2Rldl9kcml2ZXJfaWQpOworCQkJc2VzcyA9 ICh2b2lkICopc3ltX29wLT5zZXNzaW9uLT5kcml2ZXJfcHJpdl9kYXRhOwogCQkJcmV0ID0gY3B0 X3N5bV9pbnN0X2ZpbGwocXAsIG9wLCBzZXNzLCBpbmZsX3JlcSwgaW5zdCk7CiAJCQlpbnN0LT53 Ny51NjQgPSBzZXNzLT5jcHRfaW5zdF93NzsKIAkJfSBlbHNlIGlmIChvcC0+c2Vzc190eXBlID09 IFJURV9DUllQVE9fT1BfU0VDVVJJVFlfU0VTU0lPTikKQEAgLTExMCw4ICsxMDYsNyBAQCBjbjlr X2NwdF9pbnN0X3ByZXAoc3RydWN0IGNueGtfY3B0X3FwICpxcCwgc3RydWN0IHJ0ZV9jcnlwdG9f b3AgKm9wLAogCiAJCQlyZXQgPSBjcHRfc3ltX2luc3RfZmlsbChxcCwgb3AsIHNlc3MsIGluZmxf cmVxLCBpbnN0KTsKIAkJCWlmICh1bmxpa2VseShyZXQpKSB7Ci0JCQkJc3ltX3Nlc3Npb25fY2xl YXIoY245a19jcnlwdG9kZXZfZHJpdmVyX2lkLAotCQkJCQkJICBvcC0+c3ltLT5zZXNzaW9uKTsK KwkJCQlzeW1fc2Vzc2lvbl9jbGVhcihvcC0+c3ltLT5zZXNzaW9uKTsKIAkJCQlydGVfbWVtcG9v bF9wdXQocXAtPnNlc3NfbXAsIG9wLT5zeW0tPnNlc3Npb24pOwogCQkJfQogCQkJaW5zdC0+dzcu dTY0ID0gc2Vzcy0+Y3B0X2luc3Rfdzc7CmRpZmYgYS9kcml2ZXJzL2NyeXB0by9jbnhrL2NueGtf Y3J5cHRvZGV2X29wcy5jIGIvZHJpdmVycy9jcnlwdG8vY254ay9jbnhrX2NyeXB0b2Rldl9vcHMu YwkocmVqZWN0ZWQgaHVua3MpCkBAIC02MjAsMjUgKzYxOSwxNSBAQCBjbnhrX2NwdF9pbnN0X3c3 X2dldChzdHJ1Y3QgY254a19zZV9zZXNzICpzZXNzLCBzdHJ1Y3Qgcm9jX2NwdCAqcm9jX2NwdCkK IH0KIAogaW50Ci1zeW1fc2Vzc2lvbl9jb25maWd1cmUoc3RydWN0IHJvY19jcHQgKnJvY19jcHQs IGludCBkcml2ZXJfaWQsCitzeW1fc2Vzc2lvbl9jb25maWd1cmUoc3RydWN0IHJvY19jcHQgKnJv Y19jcHQsCiAJCSAgICAgIHN0cnVjdCBydGVfY3J5cHRvX3N5bV94Zm9ybSAqeGZvcm0sCi0JCSAg ICAgIHN0cnVjdCBydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9uICpzZXNzLAotCQkgICAgICBzdHJ1 Y3QgcnRlX21lbXBvb2wgKnBvb2wpCisJCSAgICAgIHN0cnVjdCBydGVfY3J5cHRvZGV2X3N5bV9z ZXNzaW9uICpzZXNzKQogewogCWVudW0gY3B0X2RwX3RocmVhZF90eXBlIHRocl90eXBlOwotCXN0 cnVjdCBjbnhrX3NlX3Nlc3MgKnNlc3NfcHJpdjsKLQl2b2lkICpwcml2OworCXN0cnVjdCBjbnhr X3NlX3Nlc3MgKnNlc3NfcHJpdiA9ICh2b2lkICopc2Vzcy0+ZHJpdmVyX3ByaXZfZGF0YTsKIAlp bnQgcmV0OwogCi0JaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldChwb29sLCAmcHJpdikpKSB7 Ci0JCXBsdF9kcF9lcnIoIkNvdWxkIG5vdCBhbGxvY2F0ZSBzZXNzaW9uIHByaXZhdGUgZGF0YSIp OwotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQltZW1zZXQocHJpdiwgMCwgc2l6ZW9mKHN0cnVj dCBjbnhrX3NlX3Nlc3MpKTsKLQotCXNlc3NfcHJpdiA9IHByaXY7Ci0KKwltZW1zZXQoc2Vzc19w cml2LCAwLCBzaXplb2Yoc3RydWN0IGNueGtfc2Vfc2VzcykpOwogCXJldCA9IGNueGtfc2Vzc19m aWxsKHJvY19jcHQsIHhmb3JtLCBzZXNzX3ByaXYpOwogCWlmIChyZXQpCiAJCWdvdG8gcHJpdl9w dXQ7CmRpZmYgYS9kcml2ZXJzL2NyeXB0by9xYXQvcWF0X3N5bV9zZXNzaW9uLmMgYi9kcml2ZXJz L2NyeXB0by9xYXQvcWF0X3N5bV9zZXNzaW9uLmMJKHJlamVjdGVkIGh1bmtzKQpAQCAtNTA1LDM1 ICs0OTYsMjQgQEAgcWF0X3N5bV9zZXNzaW9uX2NvbmZpZ3VyZV9jaXBoZXIoc3RydWN0IHJ0ZV9j cnlwdG9kZXYgKmRldiwKIGludAogcWF0X3N5bV9zZXNzaW9uX2NvbmZpZ3VyZShzdHJ1Y3QgcnRl X2NyeXB0b2RldiAqZGV2LAogCQlzdHJ1Y3QgcnRlX2NyeXB0b19zeW1feGZvcm0gKnhmb3JtLAot CQlzdHJ1Y3QgcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbiAqc2VzcywKLQkJc3RydWN0IHJ0ZV9t ZW1wb29sICptZW1wb29sKQorCQlzdHJ1Y3QgcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbiAqc2Vz cykKIHsKLQl2b2lkICpzZXNzX3ByaXZhdGVfZGF0YTsKIAlpbnQgcmV0OwogCi0JaWYgKHJ0ZV9t ZW1wb29sX2dldChtZW1wb29sLCAmc2Vzc19wcml2YXRlX2RhdGEpKSB7Ci0JCUNERVZfTE9HX0VS UigKLQkJCSJDb3VsZG4ndCBnZXQgb2JqZWN0IGZyb20gc2Vzc2lvbiBtZW1wb29sIik7Ci0JCXJl dHVybiAtRU5PTUVNOwotCX0KLQogI2lmIChPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MzAw MDAwMDBMKQogCWlmIChvc3NsX2xlZ2FjeV9wcm92aWRlcl9sb2FkKCkpCiAJCXJldHVybiAtRUlO VkFMOwogI2VuZGlmCi0JcmV0ID0gcWF0X3N5bV9zZXNzaW9uX3NldF9wYXJhbWV0ZXJzKGRldiwg eGZvcm0sIHNlc3NfcHJpdmF0ZV9kYXRhKTsKKwlyZXQgPSBxYXRfc3ltX3Nlc3Npb25fc2V0X3Bh cmFtZXRlcnMoZGV2LCB4Zm9ybSwKKwkJCSh2b2lkICopc2Vzcy0+ZHJpdmVyX3ByaXZfZGF0YSwK KwkJCXNlc3MtPmRyaXZlcl9wcml2X2RhdGFfaW92YSk7CiAJaWYgKHJldCAhPSAwKSB7CiAJCVFB VF9MT0coRVJSLAogCQkgICAgIkNyeXB0byBRQVQgUE1EOiBmYWlsZWQgdG8gY29uZmlndXJlIHNl c3Npb24gcGFyYW1ldGVycyIpOwogCi0JCS8qIFJldHVybiBzZXNzaW9uIHRvIG1lbXBvb2wgKi8K LQkJcnRlX21lbXBvb2xfcHV0KG1lbXBvb2wsIHNlc3NfcHJpdmF0ZV9kYXRhKTsKIAkJcmV0dXJu IHJldDsKIAl9CiAKLQlzZXRfc3ltX3Nlc3Npb25fcHJpdmF0ZV9kYXRhKHNlc3MsIGRldi0+ZHJp dmVyX2lkLAotCQlzZXNzX3ByaXZhdGVfZGF0YSk7Ci0KICMgaWYgKE9QRU5TU0xfVkVSU0lPTl9O VU1CRVIgPj0gMHgzMDAwMDAwMEwpCiAJb3NzbF9sZWdhY3lfcHJvdmlkZXJfdW5sb2FkKCk7CiAj IGVuZGlmCmRpZmYgYS9saWIvY3J5cHRvZGV2L3J0ZV9jcnlwdG9kZXYuYyBiL2xpYi9jcnlwdG9k ZXYvcnRlX2NyeXB0b2Rldi5jCShyZWplY3RlZCBodW5rcykKQEAgLTE3MTksNTMgKzE3MjEsNiBA QCBydGVfY3J5cHRvZGV2X3BtZF9jYWxsYmFja19wcm9jZXNzKHN0cnVjdCBydGVfY3J5cHRvZGV2 ICpkZXYsCiAJcnRlX3NwaW5sb2NrX3VubG9jaygmcnRlX2NyeXB0b2Rldl9jYl9sb2NrKTsKIH0K IAotaW50Ci1ydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9uX2luaXQodWludDhfdCBkZXZfaWQsCi0J CXN0cnVjdCBydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9uICpzZXNzLAotCQlzdHJ1Y3QgcnRlX2Ny eXB0b19zeW1feGZvcm0gKnhmb3JtcywKLQkJc3RydWN0IHJ0ZV9tZW1wb29sICptcCkKLXsKLQlz dHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2OwotCXVpbnQzMl90IHNlc3NfcHJpdl9zeiA9IHJ0ZV9j cnlwdG9kZXZfc3ltX2dldF9wcml2YXRlX3Nlc3Npb25fc2l6ZSgKLQkJCWRldl9pZCk7Ci0JdWlu dDhfdCBpbmRleDsKLQlpbnQgcmV0OwotCi0JaWYgKCFydGVfY3J5cHRvZGV2X2lzX3ZhbGlkX2Rl dihkZXZfaWQpKSB7Ci0JCUNERVZfTE9HX0VSUigiSW52YWxpZCBkZXZfaWQ9JSIgUFJJdTgsIGRl dl9pZCk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWRldiA9IHJ0ZV9jcnlwdG9kZXZfcG1k X2dldF9kZXYoZGV2X2lkKTsKLQotCWlmIChzZXNzID09IE5VTEwgfHwgeGZvcm1zID09IE5VTEwg fHwgZGV2ID09IE5VTEwgfHwgbXAgPT0gTlVMTCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlpZiAo bXAtPmVsdF9zaXplIDwgc2Vzc19wcml2X3N6KQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWluZGV4 ID0gZGV2LT5kcml2ZXJfaWQ7Ci0JaWYgKGluZGV4ID49IHNlc3MtPm5iX2RyaXZlcnMpCi0JCXJl dHVybiAtRUlOVkFMOwotCi0JUlRFX0ZVTkNfUFRSX09SX0VSUl9SRVQoKmRldi0+ZGV2X29wcy0+ c3ltX3Nlc3Npb25fY29uZmlndXJlLCAtRU5PVFNVUCk7Ci0KLQlpZiAoc2Vzcy0+c2Vzc19kYXRh W2luZGV4XS5yZWZjbnQgPT0gMCkgewotCQlyZXQgPSBkZXYtPmRldl9vcHMtPnN5bV9zZXNzaW9u X2NvbmZpZ3VyZShkZXYsIHhmb3JtcywKLQkJCQkJCQlzZXNzLCBtcCk7Ci0JCWlmIChyZXQgPCAw KSB7Ci0JCQlDREVWX0xPR19FUlIoCi0JCQkJImRldl9pZCAlZCBmYWlsZWQgdG8gY29uZmlndXJl IHNlc3Npb24gZGV0YWlscyIsCi0JCQkJZGV2X2lkKTsKLQkJCXJldHVybiByZXQ7Ci0JCX0KLQl9 Ci0KLQlydGVfY3J5cHRvZGV2X3RyYWNlX3N5bV9zZXNzaW9uX2luaXQoZGV2X2lkLCBzZXNzLCB4 Zm9ybXMsIG1wKTsKLQlzZXNzLT5zZXNzX2RhdGFbaW5kZXhdLnJlZmNudCsrOwotCXJldHVybiAw OwotfQotCiBzdHJ1Y3QgcnRlX21lbXBvb2wgKgogcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9w b29sX2NyZWF0ZShjb25zdCBjaGFyICpuYW1lLCB1aW50MzJfdCBuYl9lbHRzLAogCXVpbnQzMl90 IGVsdF9zaXplLCB1aW50MzJfdCBjYWNoZV9zaXplLCB1aW50MTZfdCB1c2VyX2RhdGFfc2l6ZSwK QEAgLTIwMTAsMzcgKzE5NzAsMjQgQEAgcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9jbGVhcih1 aW50OF90IGRldl9pZCwKIAlpZiAoZGV2ID09IE5VTEwgfHwgc2VzcyA9PSBOVUxMKQogCQlyZXR1 cm4gLUVJTlZBTDsKIAotCWRyaXZlcl9pZCA9IGRldi0+ZHJpdmVyX2lkOwotCWlmIChzZXNzLT5z ZXNzX2RhdGFbZHJpdmVyX2lkXS5yZWZjbnQgPT0gMCkKLQkJcmV0dXJuIDA7Ci0JaWYgKC0tc2Vz cy0+c2Vzc19kYXRhW2RyaXZlcl9pZF0ucmVmY250ICE9IDApCi0JCXJldHVybiAtRUJVU1k7CisJ c2Vzc19tcCA9IHJ0ZV9tZW1wb29sX2Zyb21fb2JqKHNlc3MpOworCWlmICghc2Vzc19tcCkKKwkJ cmV0dXJuIC1FSU5WQUw7CisJcG9vbF9wcml2ID0gcnRlX21lbXBvb2xfZ2V0X3ByaXYoc2Vzc19t cCk7CisKKwlpZiAoc2Vzcy0+ZHJpdmVyX2lkICE9IGRldi0+ZHJpdmVyX2lkKSB7CisJCUNERVZf TE9HX0VSUigiU2Vzc2lvbiBjcmVhdGVkIGJ5IGRyaXZlciAldSBidXQgZnJlZWQgYnkgJXUiLAor CQkJc2Vzcy0+ZHJpdmVyX2lkLCBkZXYtPmRyaXZlcl9pZCk7CisJCXJldHVybiAtRUlOVkFMOwor CX0KIAogCVJURV9GVU5DX1BUUl9PUl9FUlJfUkVUKCpkZXYtPmRldl9vcHMtPnN5bV9zZXNzaW9u X2NsZWFyLCAtRU5PVFNVUCk7CiAKIAlkZXYtPmRldl9vcHMtPnN5bV9zZXNzaW9uX2NsZWFyKGRl diwgc2Vzcyk7Ci0KLQlydGVfY3J5cHRvZGV2X3RyYWNlX3N5bV9zZXNzaW9uX2NsZWFyKGRldl9p ZCwgc2Vzcyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLWludAotcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lv bl9mcmVlKHN0cnVjdCBydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9uICpzZXNzKQotewotCXVpbnQ4 X3QgaTsKLQlzdHJ1Y3QgcnRlX21lbXBvb2wgKnNlc3NfbXA7Ci0KLQlpZiAoc2VzcyA9PSBOVUxM KQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCS8qIENoZWNrIHRoYXQgYWxsIGRldmljZSBwcml2YXRl IGRhdGEgaGFzIGJlZW4gZnJlZWQgKi8KLQlmb3IgKGkgPSAwOyBpIDwgc2Vzcy0+bmJfZHJpdmVy czsgaSsrKSB7Ci0JCWlmIChzZXNzLT5zZXNzX2RhdGFbaV0ucmVmY250ICE9IDApCi0JCQlyZXR1 cm4gLUVCVVNZOwotCX0KKwltZW1zZXQoc2Vzcy0+ZHJpdmVyX3ByaXZfZGF0YSwgMCwgcG9vbF9w cml2LT5zZXNzX2RhdGFfc3ogKworCQlwb29sX3ByaXYtPnVzZXJfZGF0YV9zeik7CiAKIAkvKiBS ZXR1cm4gc2Vzc2lvbiB0byBtZW1wb29sICovCi0Jc2Vzc19tcCA9IHJ0ZV9tZW1wb29sX2Zyb21f b2JqKHNlc3MpOwogCXJ0ZV9tZW1wb29sX3B1dChzZXNzX21wLCBzZXNzKTsKIAogCXJ0ZV9jcnlw dG9kZXZfdHJhY2Vfc3ltX3Nlc3Npb25fZnJlZShzZXNzKTsKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVy cy9jcnlwdG8vc2NoZWR1bGVyL3NjaGVkdWxlcl9mYWlsb3Zlci5jLi4uCkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvY3J5cHRvL3NjaGVkdWxlci9zY2hlZHVsZXJfbXVsdGljb3JlLmMuLi4KQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vc2NoZWR1bGVyL3NjaGVkdWxlcl9wa3Rfc2l6ZV9kaXN0 ci5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3NjaGVkdWxlci9zY2hlZHVsZXJf cG1kX29wcy5jLi4uCmVycm9yOiBkcml2ZXJzL2NyeXB0by9zY2hlZHVsZXIvc2NoZWR1bGVyX3Bt ZF9vcHMuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlw dG8vc2NoZWR1bGVyL3NjaGVkdWxlcl9wbWRfcHJpdmF0ZS5oLi4uCkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvY3J5cHRvL3NjaGVkdWxlci9zY2hlZHVsZXJfcm91bmRyb2Jpbi5jLi4uCkFwcGxpZWQg cGF0Y2ggZHJpdmVycy9jcnlwdG8vc2NoZWR1bGVyL3NjaGVkdWxlcl9mYWlsb3Zlci5jIGNsZWFu bHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jcnlwdG8vc2NoZWR1bGVyL3NjaGVkdWxlcl9tdWx0 aWNvcmUuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3NjaGVkdWxlci9z Y2hlZHVsZXJfcGt0X3NpemVfZGlzdHIuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMv Y3J5cHRvL3NjaGVkdWxlci9zY2hlZHVsZXJfcG1kX3ByaXZhdGUuaCBjbGVhbmx5LgpBcHBsaWVk IHBhdGNoIGRyaXZlcnMvY3J5cHRvL3NjaGVkdWxlci9zY2hlZHVsZXJfcm91bmRyb2Jpbi5jIGNs ZWFubHkuCkNoZWNraW5nIHBhdGNoIGFwcC90ZXN0L3Rlc3RfaXBzZWNfcGVyZi5jLi4uCkNoZWNr aW5nIHBhdGNoIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9jcnlwdG9kZXZfbGliLnJzdC4uLgpDaGVj a2luZyBwYXRjaCBkb2MvZ3VpZGVzL3JlbF9ub3Rlcy9kZXByZWNhdGlvbi5yc3QuLi4KSHVuayAj MSBzdWNjZWVkZWQgYXQgMTM3IChvZmZzZXQgLTI0IGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZG9j L2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8xMS5yc3QuLi4KZXJyb3I6IHdoaWxlIHNlYXJj aGluZyBmb3I6CiAgIEFsc28sIG1ha2Ugc3VyZSB0byBzdGFydCB0aGUgYWN0dWFsIHRleHQgYXQg dGhlIG1hcmdpbi4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQoKCkFCSSBDaGFuZ2VzCi0tLS0tLS0tLS0tCgplcnJvcjogcGF0Y2ggZmFp bGVkOiBkb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzExLnJzdDo4OQpDaGVja2luZyBw YXRjaCBkcml2ZXJzL2NyeXB0by9iY21mcy9iY21mc19zeW1fc2Vzc2lvbi5jLi4uCmVycm9yOiBk cml2ZXJzL2NyeXB0by9iY21mcy9iY21mc19zeW1fc2Vzc2lvbi5jOiBkb2VzIG5vdCBtYXRjaCBp bmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9jYWFtX2pyL2NhYW1fanIuYy4uLgpl cnJvcjogZHJpdmVycy9jcnlwdG8vY2FhbV9qci9jYWFtX2pyLmM6IGRvZXMgbm90IG1hdGNoIGlu ZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2NjcC9jY3BfY3J5cHRvLmMuLi4KZXJy b3I6IGRyaXZlcnMvY3J5cHRvL2NjcC9jY3BfY3J5cHRvLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4 CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2NjcC9jY3BfcG1kX29wcy5jLi4uCmVycm9y OiBkcml2ZXJzL2NyeXB0by9jY3AvY2NwX3BtZF9vcHMuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgK Q2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vY2NwL3J0ZV9jY3BfcG1kLmMuLi4KZXJyb3I6 IGRyaXZlcnMvY3J5cHRvL2NjcC9ydGVfY2NwX3BtZC5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApD aGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9jbnhrL2NuMTBrX2NyeXB0b2Rldl9vcHMuYy4u LgplcnJvcjogZHJpdmVycy9jcnlwdG8vY254ay9jbjEwa19jcnlwdG9kZXZfb3BzLmM6IGRvZXMg bm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2NueGsvY245a19j cnlwdG9kZXZfb3BzLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2NueGsvY245a19jcnlwdG9k ZXZfb3BzLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5 cHRvL2NueGsvY254a19jcnlwdG9kZXZfb3BzLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2Nu eGsvY254a19jcnlwdG9kZXZfb3BzLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvY3J5cHRvL2NueGsvY254a19jcnlwdG9kZXZfb3BzLmguLi4KZXJyb3I6IGRy aXZlcnMvY3J5cHRvL2NueGsvY254a19jcnlwdG9kZXZfb3BzLmg6IGRvZXMgbm90IG1hdGNoIGlu ZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2RwYWEyX3NlYy9kcGFhMl9zZWNfZHBz ZWNpLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2RwYWEyX3NlYy9kcGFhMl9zZWNfZHBzZWNp LmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2Rw YWEyX3NlYy9kcGFhMl9zZWNfcmF3X2RwLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2RwYWEy X3NlYy9kcGFhMl9zZWNfcmF3X2RwLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvY3J5cHRvL2RwYWFfc2VjL2RwYWFfc2VjLmMuLi4KZXJyb3I6IGRyaXZlcnMv Y3J5cHRvL2RwYWFfc2VjL2RwYWFfc2VjLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5n IHBhdGNoIGRyaXZlcnMvY3J5cHRvL2RwYWFfc2VjL2RwYWFfc2VjX3Jhd19kcC5jLi4uCmVycm9y OiBkcml2ZXJzL2NyeXB0by9kcGFhX3NlYy9kcGFhX3NlY19yYXdfZHAuYzogZG9lcyBub3QgbWF0 Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vaXBzZWNfbWIvaXBzZWNfbWJf b3BzLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2lwc2VjX21iL2lwc2VjX21iX29wcy5jOiBk b2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9pcHNlY19t Yi9pcHNlY19tYl9wcml2YXRlLmguLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2lwc2VjX21iL2lw c2VjX21iX3ByaXZhdGUuaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9jcnlwdG8vaXBzZWNfbWIvcG1kX2Flc25pX2djbS5jLi4uCmVycm9yOiBkcml2ZXJzL2Ny eXB0by9pcHNlY19tYi9wbWRfYWVzbmlfZ2NtLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2lwc2VjX21iL3BtZF9hZXNuaV9tYi5jLi4uCmVycm9y OiBkcml2ZXJzL2NyeXB0by9pcHNlY19tYi9wbWRfYWVzbmlfbWIuYzogZG9lcyBub3QgbWF0Y2gg aW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vaXBzZWNfbWIvcG1kX2thc3VtaS5j Li4uCmVycm9yOiBkcml2ZXJzL2NyeXB0by9pcHNlY19tYi9wbWRfa2FzdW1pLmM6IGRvZXMgbm90 IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2lwc2VjX21iL3BtZF9z bm93M2cuYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vaXBzZWNfbWIvcG1kX3Nub3czZy5jOiBk b2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9tbHg1L21s eDVfY3J5cHRvLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL21seDUvbWx4NV9jcnlwdG8uYzog ZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vbml0cm94 L25pdHJveF9zeW0uYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vbml0cm94L25pdHJveF9zeW0u YzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vbnVs bC9udWxsX2NyeXB0b19wbWQuYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vbnVsbC9udWxsX2Ny eXB0b19wbWQuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9j cnlwdG8vbnVsbC9udWxsX2NyeXB0b19wbWRfb3BzLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRv L251bGwvbnVsbF9jcnlwdG9fcG1kX29wcy5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2lu ZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X29wcy5jLi4uCmVy cm9yOiBkcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X29wcy5jOiBkb2VzIG5v dCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9vcGVuc3NsL3J0ZV9v cGVuc3NsX3BtZC5jLi4uCmVycm9yOiBkcml2ZXJzL2NyeXB0by9vcGVuc3NsL3J0ZV9vcGVuc3Ns X3BtZC5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0 by9vcGVuc3NsL3J0ZV9vcGVuc3NsX3BtZF9vcHMuYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8v b3BlbnNzbC9ydGVfb3BlbnNzbF9wbWRfb3BzLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltLmMuLi4KZXJyb3I6IGRyaXZlcnMv Y3J5cHRvL3FhdC9xYXRfc3ltLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltLmguLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL3Fh dC9xYXRfc3ltLmg6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv Y3J5cHRvL3FhdC9xYXRfc3ltX3Nlc3Npb24uYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vcWF0 L3FhdF9zeW1fc2Vzc2lvbi5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBk cml2ZXJzL2NyeXB0by9zY2hlZHVsZXIvc2NoZWR1bGVyX3BrdF9zaXplX2Rpc3RyLmMuLi4KZXJy b3I6IGRyaXZlcnMvY3J5cHRvL3NjaGVkdWxlci9zY2hlZHVsZXJfcGt0X3NpemVfZGlzdHIuYzog ZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vc2NoZWR1 bGVyL3NjaGVkdWxlcl9wbWRfb3BzLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL3NjaGVkdWxl ci9zY2hlZHVsZXJfcG1kX29wcy5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRj aCBkcml2ZXJzL2NyeXB0by9zY2hlZHVsZXIvc2NoZWR1bGVyX3BtZF9wcml2YXRlLmguLi4KZXJy b3I6IGRyaXZlcnMvY3J5cHRvL3NjaGVkdWxlci9zY2hlZHVsZXJfcG1kX3ByaXZhdGUuaDogZG9l cyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vdmlydGlvL3Zp cnRpb19jcnlwdG9kZXYuYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vdmlydGlvL3ZpcnRpb19j cnlwdG9kZXYuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9j cnlwdG8vdmlydGlvL3ZpcnRpb19yeHR4LmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL3ZpcnRp by92aXJ0aW9fcnh0eC5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBleGFt cGxlcy9maXBzX3ZhbGlkYXRpb24vZmlwc19kZXZfc2VsZl90ZXN0LmMuLi4KZXJyb3I6IGV4YW1w bGVzL2ZpcHNfdmFsaWRhdGlvbi9maXBzX2Rldl9zZWxmX3Rlc3QuYzogZG9lcyBub3QgbWF0Y2gg aW5kZXgKQ2hlY2tpbmcgcGF0Y2ggbGliL2NyeXB0b2Rldi9jcnlwdG9kZXZfcG1kLmguLi4KZXJy b3I6IGxpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOiBkb2VzIG5vdCBtYXRjaCBpbmRleApD aGVja2luZyBwYXRjaCBsaWIvY3J5cHRvZGV2L3J0ZV9jcnlwdG8uaC4uLgpDaGVja2luZyBwYXRj aCBsaWIvY3J5cHRvZGV2L3J0ZV9jcnlwdG9fc3ltLmguLi4KQ2hlY2tpbmcgcGF0Y2ggbGliL2Ny eXB0b2Rldi9ydGVfY3J5cHRvZGV2LmMuLi4KZXJyb3I6IGxpYi9jcnlwdG9kZXYvcnRlX2NyeXB0 b2Rldi5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBsaWIvY3J5cHRvZGV2 L3J0ZV9jcnlwdG9kZXYuaC4uLgplcnJvcjogbGliL2NyeXB0b2Rldi9ydGVfY3J5cHRvZGV2Lmg6 IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9jcnlwdG9kZXYvcnRlX2Ny eXB0b2Rldl90cmFjZS5oLi4uCmVycm9yOiBsaWIvY3J5cHRvZGV2L3J0ZV9jcnlwdG9kZXZfdHJh Y2UuaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggbGliL2lwc2VjL3J0ZV9p cHNlY19ncm91cC5oLi4uCkNoZWNraW5nIHBhdGNoIGxpYi9pcHNlYy9zZXMuYy4uLgpBcHBsaWVk IHBhdGNoIGFwcC90ZXN0L3Rlc3RfaXBzZWNfcGVyZi5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2gg ZG9jL2d1aWRlcy9wcm9nX2d1aWRlL2NyeXB0b2Rldl9saWIucnN0IGNsZWFubHkuCkFwcGxpZWQg cGF0Y2ggZG9jL2d1aWRlcy9yZWxfbm90ZXMvZGVwcmVjYXRpb24ucnN0IGNsZWFubHkuCkFwcGx5 aW5nIHBhdGNoIGRvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMTEucnN0IHdpdGggMSBy ZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4KQXBwbGllZCBwYXRjaCBsaWIvY3J5cHRvZGV2L3J0 ZV9jcnlwdG8uaCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGxpYi9jcnlwdG9kZXYvcnRlX2NyeXB0 b19zeW0uaCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGxpYi9pcHNlYy9ydGVfaXBzZWNfZ3JvdXAu aCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGxpYi9pcHNlYy9zZXMuYyBjbGVhbmx5LgpkaWZmIGEv ZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8xMS5yc3QgYi9kb2MvZ3VpZGVzL3JlbF9u b3Rlcy9yZWxlYXNlXzIyXzExLnJzdAkocmVqZWN0ZWQgaHVua3MpCkBAIC04OSw2ICs4OSwxNSBA QCBBUEkgQ2hhbmdlcwogICAgQWxzbywgbWFrZSBzdXJlIHRvIHN0YXJ0IHRoZSBhY3R1YWwgdGV4 dCBhdCB0aGUgbWFyZ2luLgogICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogCisqIGNyeXB0b2RldjogVGhlIHN0cnVjdHVyZSBgYHJ0ZV9j cnlwdG9kZXZfc3ltX3Nlc3Npb25gYCB3YXMgbWFkZSBpbnRlcm5hbC4KKyAgVGhlIEFQSSBgYHJ0 ZV9jcnlwdG9kZXZfc3ltX3Nlc3Npb25faW5pdGBgIGFuZCBgYHJ0ZV9jcnlwdG9kZXZfc3ltX3Nl c3Npb25fY2xlYXJgYAorICB3ZXJlIHJlbW92ZWQgYW5kIHVzZXIgd291bGQgb25seSBuZWVkIHRv IGNhbGwgYGBydGVfY3J5cHRvZGV2X3N5bV9zZXNzaW9uX2NyZWF0ZWBgCisgIGFuZCBgYHJ0ZV9j cnlwdG9kZXZfc3ltX3Nlc3Npb25fZnJlZWBgIHRvIGNyZWF0ZS9kZXN0cm95IHNlc3Npb25zLgor ICBUaGUgQVBJIGBgcnRlX2NyeXB0b2Rldl9zeW1fc2Vzc2lvbl9jcmVhdGVgYCB3YXMgdXBkYXRl ZCB0byB0YWtlIGEgc2luZ2xlIG1lbXBvb2wKKyAgd2l0aCBlbGVtZW50IHNpemUgYmlnIGVub3Vn aCB0byBob2xkIHNlc3Npb24gZGF0YSBhbmQgc2Vzc2lvbiBwcml2YXRlIGRhdGEuCisgIEFsbCBz YW1wbGUgYXBwbGljYXRpb25zIHdlcmUgdXBkYXRlZCB0byBhdHRhY2ggYW4gb3BhcXVlIHBvaW50 ZXIgZm9yIHRoZSBzZXNzaW9uCisgIHRvIHRoZSBgYHJ0ZV9jcnlwdG9fb3BgYCB3aGlsZSBlbnF1 ZXVpbmcuCisKIAogQUJJIENoYW5nZXMKIC0tLS0tLS0tLS0tCkNoZWNraW5nIHBhdGNoIGFwcC90 ZXN0LWNyeXB0by1wZXJmL2NwZXJmLmguLi4KQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QtY3J5cHRv LXBlcmYvY3BlcmZfb3BzLmMuLi4KZXJyb3I6IGFwcC90ZXN0LWNyeXB0by1wZXJmL2NwZXJmX29w cy5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1jcnlwdG8t cGVyZi9jcGVyZl9vcHMuaC4uLgpDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1jcnlwdG8tcGVyZi9j cGVyZl90ZXN0X2xhdGVuY3kuYy4uLgplcnJvcjogYXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmZf dGVzdF9sYXRlbmN5LmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGFwcC90 ZXN0LWNyeXB0by1wZXJmL2NwZXJmX3Rlc3RfbGF0ZW5jeS5oLi4uCkNoZWNraW5nIHBhdGNoIGFw cC90ZXN0LWNyeXB0by1wZXJmL2NwZXJmX3Rlc3RfcG1kX2N5Y2xlY291bnQuYy4uLgplcnJvcjog YXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmZfdGVzdF9wbWRfY3ljbGVjb3VudC5jOiBkb2VzIG5v dCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1jcnlwdG8tcGVyZi9jcGVyZl90 ZXN0X3BtZF9jeWNsZWNvdW50LmguLi4KQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBl cmYvY3BlcmZfdGVzdF90aHJvdWdocHV0LmMuLi4KZXJyb3I6IGFwcC90ZXN0LWNyeXB0by1wZXJm L2NwZXJmX3Rlc3RfdGhyb3VnaHB1dC5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBw YXRjaCBhcHAvdGVzdC1jcnlwdG8tcGVyZi9jcGVyZl90ZXN0X3Rocm91Z2hwdXQuaC4uLgpDaGVj a2luZyBwYXRjaCBhcHAvdGVzdC1jcnlwdG8tcGVyZi9jcGVyZl90ZXN0X3ZlcmlmeS5jLi4uCmVy cm9yOiBhcHAvdGVzdC1jcnlwdG8tcGVyZi9jcGVyZl90ZXN0X3ZlcmlmeS5jOiBkb2VzIG5vdCBt YXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBhcHAvdGVzdC1jcnlwdG8tcGVyZi9jcGVyZl90ZXN0 X3ZlcmlmeS5oLi4uCkNoZWNraW5nIHBhdGNoIGFwcC90ZXN0LWNyeXB0by1wZXJmL21haW4uYy4u LgplcnJvcjogYXBwL3Rlc3QtY3J5cHRvLXBlcmYvbWFpbi5jOiBkb2VzIG5vdCBtYXRjaCBpbmRl eApDaGVja2luZyBwYXRjaCBhcHAvdGVzdC90ZXN0X2NyeXB0b2Rldi5jLi4uCmVycm9yOiBhcHAv dGVzdC90ZXN0X2NyeXB0b2Rldi5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRj aCBhcHAvdGVzdC90ZXN0X2lwc2VjLmMuLi4KZXJyb3I6IGFwcC90ZXN0L3Rlc3RfaXBzZWMuYzog ZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QvdGVzdF9zZWN1cml0 eS5jLi4uCkNoZWNraW5nIHBhdGNoIGFwcC90ZXN0L3Rlc3Rfc2VjdXJpdHlfaW5saW5lX3Byb3Rv LmMuLi4KSHVuayAjMyBzdWNjZWVkZWQgYXQgNDgwIChvZmZzZXQgLTE0IGxpbmVzKS4KQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9jb21tb24vY254ay9yb2NfY3B0LmMuLi4KZXJyb3I6IHdoaWxlIHNl YXJjaGluZyBmb3I6CglpbnN0Lnc0LnMucGFyYW0xID0gMDsKCWluc3QudzQucy5wYXJhbTIgPSAw OwoJaW5zdC53NC5zLmRsZW4gPSBjdHhfbGVuOwoJaW5zdC5kcHRyID0gcnRlX21lbXBvb2xfdmly dDJpb3ZhKHNhKTsKCWluc3QucnB0ciA9IDA7CglpbnN0Lnc3LnMuY3B0ciA9IHJ0ZV9tZW1wb29s X3ZpcnQyaW92YShzYSk7CglpbnN0Lnc3LnMuZWdycCA9IGVncnA7CgoJaW5zdC53MC51NjQgPSAw OwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9jb21tb24vY254ay9yb2NfY3B0LmM6MTAw NApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9jYWFtX2pyL2NhYW1fanIuYy4uLgplcnJv cjogZHJpdmVycy9jcnlwdG8vY2FhbV9qci9jYWFtX2pyLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4 CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2NueGsvY24xMGtfY3J5cHRvZGV2X29wcy5j Li4uCmVycm9yOiBkcml2ZXJzL2NyeXB0by9jbnhrL2NuMTBrX2NyeXB0b2Rldl9vcHMuYzogZG9l cyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vY254ay9jbjEw a19pcHNlYy5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2NueGsvY245a19jcnlw dG9kZXZfb3BzLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2NueGsvY245a19jcnlwdG9kZXZf b3BzLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRv L2NueGsvY245a19pcHNlYy5jLi4uCkh1bmsgIzEgc3VjY2VlZGVkIGF0IDMyIChvZmZzZXQgLTEg bGluZXMpLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCWN0eF9sZW4gPSByZXQ7CglvcGNv ZGUgPSBST0NfSUVfT05fTUFKT1JfT1BfV1JJVEVfSVBTRUNfT1VUQk9VTkQ7CgllZ3JwID0gcm9j X2NwdC0+ZW5nX2dycFtDUFRfRU5HX1RZUEVfSUVdOwoJcmV0ID0gcm9jX29uX2NwdF9jdHhfd3Jp dGUoJnFwLT5sZiwgKHZvaWQgKikmc2EtPm91dF9zYSwgb3Bjb2RlLAoJCQkJICAgY3R4X2xlbiwg ZWdycCk7CgoJaWYgKHJldCkKCQlyZXR1cm4gcmV0OwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJp dmVycy9jcnlwdG8vY254ay9jbjlrX2lwc2VjLmM6ODIKSHVuayAjMyBzdWNjZWVkZWQgYXQgMTA4 IChvZmZzZXQgLTIgbGluZXMpLgpIdW5rICM0IHN1Y2NlZWRlZCBhdCAxMzQgKG9mZnNldCAtMyBs aW5lcykuCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJY3R4X2xlbiA9IHJldDsKCW9wY29k ZSA9IFJPQ19JRV9PTl9NQUpPUl9PUF9XUklURV9JUFNFQ19JTkJPVU5EOwoJZWdycCA9IHJvY19j cHQtPmVuZ19ncnBbQ1BUX0VOR19UWVBFX0lFXTsKCXJldCA9IHJvY19vbl9jcHRfY3R4X3dyaXRl KCZxcC0+bGYsICh2b2lkICopJnNhLT5pbl9zYSwgb3Bjb2RlLCBjdHhfbGVuLAoJCQkJICAgZWdy cCk7CglpZiAocmV0KQoJCXJldHVybiByZXQ7CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVy cy9jcnlwdG8vY254ay9jbjlrX2lwc2VjLmM6MTc0Ckh1bmsgIzYgc3VjY2VlZGVkIGF0IDE4NCAo b2Zmc2V0IC00IGxpbmVzKS4KSHVuayAjNyBzdWNjZWVkZWQgYXQgMjk1IChvZmZzZXQgMiBsaW5l cykuCkh1bmsgIzggc3VjY2VlZGVkIGF0IDMxNyAob2Zmc2V0IDIgbGluZXMpLgpIdW5rICM5IHN1 Y2NlZWRlZCBhdCAzMzIgKG9mZnNldCAyIGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9j cnlwdG8vZHBhYTJfc2VjL2RwYWEyX3NlY19kcHNlY2kuYy4uLgplcnJvcjogZHJpdmVycy9jcnlw dG8vZHBhYTJfc2VjL2RwYWEyX3NlY19kcHNlY2kuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hl Y2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vZHBhYTJfc2VjL2RwYWEyX3NlY19yYXdfZHAuYy4u LgplcnJvcjogZHJpdmVycy9jcnlwdG8vZHBhYTJfc2VjL2RwYWEyX3NlY19yYXdfZHAuYzogZG9l cyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vZHBhYV9zZWMv ZHBhYV9zZWMuYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vZHBhYV9zZWMvZHBhYV9zZWMuYzog ZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vZHBhYV9z ZWMvZHBhYV9zZWNfcmF3X2RwLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2RwYWFfc2VjL2Rw YWFfc2VjX3Jhd19kcC5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2 ZXJzL2NyeXB0by9pcHNlY19tYi9wbWRfYWVzbmlfbWIuYy4uLgplcnJvcjogZHJpdmVycy9jcnlw dG8vaXBzZWNfbWIvcG1kX2Flc25pX21iLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5n IHBhdGNoIGRyaXZlcnMvY3J5cHRvL212c2FtL3J0ZV9tcnZsX3BtZC5jLi4uCmVycm9yOiBkcml2 ZXJzL2NyeXB0by9tdnNhbS9ydGVfbXJ2bF9wbWQuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hl Y2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vbXZzYW0vcnRlX21ydmxfcG1kX29wcy5jLi4uCmVy cm9yOiBkcml2ZXJzL2NyeXB0by9tdnNhbS9ydGVfbXJ2bF9wbWRfb3BzLmM6IGRvZXMgbm90IG1h dGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltLmMuLi4K ZXJyb3I6IGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4 CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltLmguLi4KZXJyb3I6IGRy aXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltLmg6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5n IHBhdGNoIGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltX3Nlc3Npb24uYy4uLgplcnJvcjogZHJp dmVycy9jcnlwdG8vcWF0L3FhdF9zeW1fc2Vzc2lvbi5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApD aGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9xYXQvcWF0X3N5bV9zZXNzaW9uLmguLi4KZXJy b3I6IGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3ltX3Nlc3Npb24uaDogZG9lcyBub3QgbWF0Y2gg aW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvY254ay9jbjEwa19ldGhkZXZfc2VjLmMu Li4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvY254ay9jbjlrX2V0aGRldl9zZWMuYy4uLgpI dW5rICMxIHN1Y2NlZWRlZCBhdCA1MTIgKG9mZnNldCAzNzUgbGluZXMpLgpIdW5rICMyIHN1Y2Nl ZWRlZCBhdCA1NDcgKG9mZnNldCAzNzYgbGluZXMpLgpIdW5rICMzIHN1Y2NlZWRlZCBhdCA1NzYg KG9mZnNldCAzODAgbGluZXMpLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQkJCSAiSW5i b3VuZCBTQSB3aXRoIFNQSSAldSBhbHJlYWR5IGluIHVzZSIsCgkJCQkgaXBzZWMtPnNwaSk7CgkJ CXJjID0gLUVCVVNZOwoJCQlnb3RvIG1lbXBvb2xfcHV0OwoJCX0KCgkJbWVtc2V0KGluYl9zYSwg MCwgc2l6ZW9mKHN0cnVjdCByb2Nfb25mX2lwc2VjX2luYl9zYSkpOwoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZHJpdmVycy9uZXQvY254ay9jbjlrX2V0aGRldl9zZWMuYzoyMTEKZXJyb3I6IHdoaWxl IHNlYXJjaGluZyBmb3I6CgkJaWYgKHJjKSB7CgkJCXNucHJpbnRmKHRidWYsIHNpemVvZih0YnVm KSwKCQkJCSAiRmFpbGVkIHRvIGluaXQgaW5ib3VuZCBzYSwgcmM9JWQiLCByYyk7CgkJCWdvdG8g bWVtcG9vbF9wdXQ7CgkJfQoKCQlpbmJfcHJpdiA9IHJvY19uaXhfaW5sX29uZl9pcHNlY19pbmJf c2Ffc3dfcnN2ZChpbmJfc2EpOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvY254 ay9jbjlrX2V0aGRldl9zZWMuYzoyMjEKSHVuayAjNiBzdWNjZWVkZWQgYXQgNjE4IChvZmZzZXQg Mzg5IGxpbmVzKS4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJLyogQWxsb2MgYW4gc2Eg aW5kZXggKi8KCQlyYyA9IGNueGtfZXRoX291dGJfc2FfaWR4X2dldChkZXYsICZzYV9pZHgsIDAp OwoJCWlmIChyYykKCQkJZ290byBtZW1wb29sX3B1dDsKCgkJb3V0Yl9zYSA9IHJvY19uaXhfaW5s X29uZl9pcHNlY19vdXRiX3NhKHNhX2Jhc2UsIHNhX2lkeCk7CgkJb3V0Yl9wcml2ID0gcm9jX25p eF9pbmxfb25mX2lwc2VjX291dGJfc2Ffc3dfcnN2ZChvdXRiX3NhKTsKCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGRyaXZlcnMvbmV0L2NueGsvY245a19ldGhkZXZfc2VjLmM6MjY0CmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgoJCQlzbnByaW50Zih0YnVmLCBzaXplb2YodGJ1ZiksCgkJCQkgIkZh aWxlZCB0byBpbml0IG91dGJvdW5kIHNhLCByYz0lZCIsIHJjKTsKCQkJcmMgfD0gY254a19ldGhf b3V0Yl9zYV9pZHhfcHV0KGRldiwgc2FfaWR4KTsKCQkJZ290byBtZW1wb29sX3B1dDsKCQl9CgoJ CS8qIFNhdmUgdXNlcmRhdGEgKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L2Nu eGsvY245a19ldGhkZXZfc2VjLmM6Mjc4Ckh1bmsgIzkgc3VjY2VlZGVkIGF0IDcyNSAob2Zmc2V0 IDQxMCBsaW5lcykuCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJc3RydWN0IHJvY19vbmZf aXBzZWNfb3V0Yl9zYSAqb3V0Yl9zYTsKCXN0cnVjdCByb2Nfb25mX2lwc2VjX2luYl9zYSAqaW5i X3NhOwoJc3RydWN0IGNueGtfZXRoX3NlY19zZXNzICpldGhfc2VjOwoJc3RydWN0IHJ0ZV9tZW1w b29sICptcDsKCXJ0ZV9zcGlubG9ja190ICpsb2NrOwoKCWV0aF9zZWMgPSBjbnhrX2V0aF9zZWNf c2Vzc19nZXRfYnlfc2VzcyhkZXYsIHNlc3MpOwoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVy cy9uZXQvY254ay9jbjlrX2V0aGRldl9zZWMuYzozNDAKSHVuayAjMTEgc3VjY2VlZGVkIGF0IDc4 MCAob2Zmc2V0IDQxMSBsaW5lcykuCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9pcHNlY19jcnlwdG8uYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9peGdiZS9peGdi ZV9pcHNlYy5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L3R4Z2JlL3R4Z2JlX2lwc2Vj LmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYy4u LgplcnJvcjogZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYzogZG9lcyBub3QgbWF0 Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMuYy4uLgpl cnJvcjogZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgK Q2hlY2tpbmcgcGF0Y2ggZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMuaC4uLgpIdW5rICMxIHN1 Y2NlZWRlZCBhdCAyNTYgKG9mZnNldCAtMiBsaW5lcykuCkNoZWNraW5nIHBhdGNoIGxpYi9jcnlw dG9kZXYvcnRlX2NyeXB0b2Rldi5oLi4uCmVycm9yOiBsaWIvY3J5cHRvZGV2L3J0ZV9jcnlwdG9k ZXYuaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggbGliL3NlY3VyaXR5L3J0 ZV9zZWN1cml0eS5jLi4uCkNoZWNraW5nIHBhdGNoIGxpYi9zZWN1cml0eS9ydGVfc2VjdXJpdHku aC4uLgpDaGVja2luZyBwYXRjaCBsaWIvc2VjdXJpdHkvcnRlX3NlY3VyaXR5X2RyaXZlci5oLi4u CkFwcGxpZWQgcGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmYuaCBjbGVhbmx5LgpBcHBs aWVkIHBhdGNoIGFwcC90ZXN0LWNyeXB0by1wZXJmL2NwZXJmX29wcy5oIGNsZWFubHkuCkFwcGxp ZWQgcGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmZfdGVzdF9sYXRlbmN5LmggY2xlYW5s eS4KQXBwbGllZCBwYXRjaCBhcHAvdGVzdC1jcnlwdG8tcGVyZi9jcGVyZl90ZXN0X3BtZF9jeWNs ZWNvdW50LmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBhcHAvdGVzdC1jcnlwdG8tcGVyZi9jcGVy Zl90ZXN0X3Rocm91Z2hwdXQuaCBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGFwcC90ZXN0LWNyeXB0 by1wZXJmL2NwZXJmX3Rlc3RfdmVyaWZ5LmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBhcHAvdGVz dC90ZXN0X3NlY3VyaXR5LmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBhcHAvdGVzdC90ZXN0X3Nl Y3VyaXR5X2lubGluZV9wcm90by5jIGNsZWFubHkuCkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMvY29t bW9uL2NueGsvcm9jX2NwdC5jIHdpdGggMSByZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4KQXBw bGllZCBwYXRjaCBkcml2ZXJzL2NyeXB0by9jbnhrL2NuMTBrX2lwc2VjLmMgY2xlYW5seS4KQXBw bHlpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vY254ay9jbjlrX2lwc2VjLmMgd2l0aCAyIHJlamVj dHMuLi4KSHVuayAjMSBhcHBsaWVkIGNsZWFubHkuClJlamVjdGVkIGh1bmsgIzIuCkh1bmsgIzMg YXBwbGllZCBjbGVhbmx5LgpIdW5rICM0IGFwcGxpZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAj NS4KSHVuayAjNiBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzcgYXBwbGllZCBjbGVhbmx5LgpIdW5r ICM4IGFwcGxpZWQgY2xlYW5seS4KSHVuayAjOSBhcHBsaWVkIGNsZWFubHkuCkFwcGxpZWQgcGF0 Y2ggZHJpdmVycy9uZXQvY254ay9jbjEwa19ldGhkZXZfc2VjLmMgY2xlYW5seS4KQXBwbHlpbmcg cGF0Y2ggZHJpdmVycy9uZXQvY254ay9jbjlrX2V0aGRldl9zZWMuYyB3aXRoIDUgcmVqZWN0cy4u LgpIdW5rICMxIGFwcGxpZWQgY2xlYW5seS4KSHVuayAjMiBhcHBsaWVkIGNsZWFubHkuCkh1bmsg IzMgYXBwbGllZCBjbGVhbmx5LgpSZWplY3RlZCBodW5rICM0LgpSZWplY3RlZCBodW5rICM1LgpI dW5rICM2IGFwcGxpZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAjNy4KUmVqZWN0ZWQgaHVuayAj OC4KSHVuayAjOSBhcHBsaWVkIGNsZWFubHkuClJlamVjdGVkIGh1bmsgIzEwLgpIdW5rICMxMSBh cHBsaWVkIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2lwc2Vj X2NyeXB0by5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVf aXBzZWMuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L3R4Z2JlL3R4Z2JlX2lw c2VjLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBleGFtcGxlcy9pcHNlYy1zZWNndy9pcHNlYy5o IGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggbGliL3NlY3VyaXR5L3J0ZV9zZWN1cml0eS5jIGNsZWFu bHkuCkFwcGxpZWQgcGF0Y2ggbGliL3NlY3VyaXR5L3J0ZV9zZWN1cml0eS5oIGNsZWFubHkuCkFw cGxpZWQgcGF0Y2ggbGliL3NlY3VyaXR5L3J0ZV9zZWN1cml0eV9kcml2ZXIuaCBjbGVhbmx5Lgpk aWZmIGEvZHJpdmVycy9jb21tb24vY254ay9yb2NfY3B0LmMgYi9kcml2ZXJzL2NvbW1vbi9jbnhr L3JvY19jcHQuYwkocmVqZWN0ZWQgaHVua3MpCkBAIC0xMDA0LDkgKzEwMDQsOSBAQCByb2Nfb25f Y3B0X2N0eF93cml0ZShzdHJ1Y3Qgcm9jX2NwdF9sZiAqbGYsIHZvaWQgKnNhLCB1aW50OF90IG9w Y29kZSwKIAlpbnN0Lnc0LnMucGFyYW0xID0gMDsKIAlpbnN0Lnc0LnMucGFyYW0yID0gMDsKIAlp bnN0Lnc0LnMuZGxlbiA9IGN0eF9sZW47Ci0JaW5zdC5kcHRyID0gcnRlX21lbXBvb2xfdmlydDJp b3ZhKHNhKTsKKwlpbnN0LmRwdHIgPSAocnRlX2lvdmFfdClzYTsKIAlpbnN0LnJwdHIgPSAwOwot CWluc3Qudzcucy5jcHRyID0gcnRlX21lbXBvb2xfdmlydDJpb3ZhKHNhKTsKKwlpbnN0Lnc3LnMu Y3B0ciA9IChydGVfaW92YV90KXNhOwogCWluc3Qudzcucy5lZ3JwID0gZWdycDsKIAogCWluc3Qu dzAudTY0ID0gMDsKZGlmZiBhL2RyaXZlcnMvY3J5cHRvL2NueGsvY245a19pcHNlYy5jIGIvZHJp dmVycy9jcnlwdG8vY254ay9jbjlrX2lwc2VjLmMJKHJlamVjdGVkIGh1bmtzKQpAQCAtODIsOCAr ODIsOCBAQCBjbjlrX2lwc2VjX291dGJfc2FfY3JlYXRlKHN0cnVjdCBjbnhrX2NwdF9xcCAqcXAs CiAJY3R4X2xlbiA9IHJldDsKIAlvcGNvZGUgPSBST0NfSUVfT05fTUFKT1JfT1BfV1JJVEVfSVBT RUNfT1VUQk9VTkQ7CiAJZWdycCA9IHJvY19jcHQtPmVuZ19ncnBbQ1BUX0VOR19UWVBFX0lFXTsK LQlyZXQgPSByb2Nfb25fY3B0X2N0eF93cml0ZSgmcXAtPmxmLCAodm9pZCAqKSZzYS0+b3V0X3Nh LCBvcGNvZGUsCi0JCQkJICAgY3R4X2xlbiwgZWdycCk7CisJcmV0ID0gcm9jX29uX2NwdF9jdHhf d3JpdGUoJnFwLT5sZiwgKHZvaWQgKilTRUNVUklUWV9HRVRfU0VTU19QUklWX0lPVkEoc2VjX3Nl c3MpLAorCQkJCSAgIG9wY29kZSwgY3R4X2xlbiwgZWdycCk7CiAKIAlpZiAocmV0KQogCQlyZXR1 cm4gcmV0OwpAQCAtMTc0LDggKzE3NCw4IEBAIGNuOWtfaXBzZWNfaW5iX3NhX2NyZWF0ZShzdHJ1 Y3QgY254a19jcHRfcXAgKnFwLAogCWN0eF9sZW4gPSByZXQ7CiAJb3Bjb2RlID0gUk9DX0lFX09O X01BSk9SX09QX1dSSVRFX0lQU0VDX0lOQk9VTkQ7CiAJZWdycCA9IHJvY19jcHQtPmVuZ19ncnBb Q1BUX0VOR19UWVBFX0lFXTsKLQlyZXQgPSByb2Nfb25fY3B0X2N0eF93cml0ZSgmcXAtPmxmLCAo dm9pZCAqKSZzYS0+aW5fc2EsIG9wY29kZSwgY3R4X2xlbiwKLQkJCQkgICBlZ3JwKTsKKwlyZXQg PSByb2Nfb25fY3B0X2N0eF93cml0ZSgmcXAtPmxmLCAodm9pZCAqKVNFQ1VSSVRZX0dFVF9TRVNT X1BSSVZfSU9WQShzZWNfc2VzcyksCisJCQkJb3Bjb2RlLCBjdHhfbGVuLCBlZ3JwKTsKIAlpZiAo cmV0KQogCQlyZXR1cm4gcmV0OwogCmRpZmYgYS9kcml2ZXJzL25ldC9jbnhrL2NuOWtfZXRoZGV2 X3NlYy5jIGIvZHJpdmVycy9uZXQvY254ay9jbjlrX2V0aGRldl9zZWMuYwkocmVqZWN0ZWQgaHVu a3MpCkBAIC0yMTEsNyArMjA1LDcgQEAgY245a19ldGhfc2VjX3Nlc3Npb25fY3JlYXRlKHZvaWQg KmRldmljZSwKIAkJCQkgIkluYm91bmQgU0Egd2l0aCBTUEkgJXUgYWxyZWFkeSBpbiB1c2UiLAog CQkJCSBpcHNlYy0+c3BpKTsKIAkJCXJjID0gLUVCVVNZOwotCQkJZ290byBtZW1wb29sX3B1dDsK KwkJCWdvdG8gZXJyOwogCQl9CiAKIAkJbWVtc2V0KGluYl9zYSwgMCwgc2l6ZW9mKHN0cnVjdCBy b2Nfb25mX2lwc2VjX2luYl9zYSkpOwpAQCAtMjIxLDcgKzIxNSw3IEBAIGNuOWtfZXRoX3NlY19z ZXNzaW9uX2NyZWF0ZSh2b2lkICpkZXZpY2UsCiAJCWlmIChyYykgewogCQkJc25wcmludGYodGJ1 Ziwgc2l6ZW9mKHRidWYpLAogCQkJCSAiRmFpbGVkIHRvIGluaXQgaW5ib3VuZCBzYSwgcmM9JWQi LCByYyk7Ci0JCQlnb3RvIG1lbXBvb2xfcHV0OworCQkJZ290byBlcnI7CiAJCX0KIAogCQlpbmJf cHJpdiA9IHJvY19uaXhfaW5sX29uZl9pcHNlY19pbmJfc2Ffc3dfcnN2ZChpbmJfc2EpOwpAQCAt MjY0LDcgKzI1OCw3IEBAIGNuOWtfZXRoX3NlY19zZXNzaW9uX2NyZWF0ZSh2b2lkICpkZXZpY2Us CiAJCS8qIEFsbG9jIGFuIHNhIGluZGV4ICovCiAJCXJjID0gY254a19ldGhfb3V0Yl9zYV9pZHhf Z2V0KGRldiwgJnNhX2lkeCwgMCk7CiAJCWlmIChyYykKLQkJCWdvdG8gbWVtcG9vbF9wdXQ7CisJ CQlnb3RvIGVycjsKIAogCQlvdXRiX3NhID0gcm9jX25peF9pbmxfb25mX2lwc2VjX291dGJfc2Eo c2FfYmFzZSwgc2FfaWR4KTsKIAkJb3V0Yl9wcml2ID0gcm9jX25peF9pbmxfb25mX2lwc2VjX291 dGJfc2Ffc3dfcnN2ZChvdXRiX3NhKTsKQEAgLTI3OCw3ICsyNzIsNyBAQCBjbjlrX2V0aF9zZWNf c2Vzc2lvbl9jcmVhdGUodm9pZCAqZGV2aWNlLAogCQkJc25wcmludGYodGJ1Ziwgc2l6ZW9mKHRi dWYpLAogCQkJCSAiRmFpbGVkIHRvIGluaXQgb3V0Ym91bmQgc2EsIHJjPSVkIiwgcmMpOwogCQkJ cmMgfD0gY254a19ldGhfb3V0Yl9zYV9pZHhfcHV0KGRldiwgc2FfaWR4KTsKLQkJCWdvdG8gbWVt cG9vbF9wdXQ7CisJCQlnb3RvIGVycjsKIAkJfQogCiAJCS8qIFNhdmUgdXNlcmRhdGEgKi8KQEAg LTM0MCw3ICszMzMsNiBAQCBjbjlrX2V0aF9zZWNfc2Vzc2lvbl9kZXN0cm95KHZvaWQgKmRldmlj ZSwgc3RydWN0IHJ0ZV9zZWN1cml0eV9zZXNzaW9uICpzZXNzKQogCXN0cnVjdCByb2Nfb25mX2lw c2VjX291dGJfc2EgKm91dGJfc2E7CiAJc3RydWN0IHJvY19vbmZfaXBzZWNfaW5iX3NhICppbmJf c2E7CiAJc3RydWN0IGNueGtfZXRoX3NlY19zZXNzICpldGhfc2VjOwotCXN0cnVjdCBydGVfbWVt cG9vbCAqbXA7CiAJcnRlX3NwaW5sb2NrX3QgKmxvY2s7CiAKIAlldGhfc2VjID0gY254a19ldGhf c2VjX3Nlc3NfZ2V0X2J5X3Nlc3MoZGV2LCBzZXNzKTsKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9j cnlwdG8vY2FhbV9qci9jYWFtX2pyLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2NhYW1fanIv Y2FhbV9qci5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2Ny eXB0by9kcGFhMl9zZWMvZHBhYTJfc2VjX2Rwc2VjaS5jLi4uCmVycm9yOiBkcml2ZXJzL2NyeXB0 by9kcGFhMl9zZWMvZHBhYTJfc2VjX2Rwc2VjaS5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVj a2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9kcGFhX3NlYy9kcGFhX3NlYy5jLi4uCmVycm9yOiBk cml2ZXJzL2NyeXB0by9kcGFhX3NlYy9kcGFhX3NlYy5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApD aGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9pcHNlY19tYi9wbWRfYWVzbmlfbWIuYy4uLgpl cnJvcjogZHJpdmVycy9jcnlwdG8vaXBzZWNfbWIvcG1kX2Flc25pX21iLmM6IGRvZXMgbm90IG1h dGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL212c2FtL3J0ZV9tcnZsX3Bt ZF9vcHMuYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vbXZzYW0vcnRlX21ydmxfcG1kX29wcy5j OiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9xYXQv ZGV2L3FhdF9zeW1fcG1kX2dlbjEuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9x YXQvcWF0X3N5bV9zZXNzaW9uLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL3FhdC9xYXRfc3lt X3Nlc3Npb24uYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9j cnlwdG8vcWF0L3FhdF9zeW1fc2Vzc2lvbi5oLi4uCmVycm9yOiBkcml2ZXJzL2NyeXB0by9xYXQv cWF0X3N5bV9zZXNzaW9uLmg6IGRvZXMgbm90IG1hdGNoIGluZGV4CkFwcGxpZWQgcGF0Y2ggZHJp dmVycy9jcnlwdG8vcWF0L2Rldi9xYXRfc3ltX3BtZF9nZW4xLmMgY2xlYW5seS4KQ2hlY2tpbmcg cGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYvY3BlcmZfb3BzLmMuLi4KZXJyb3I6IGFwcC90ZXN0 LWNyeXB0by1wZXJmL2NwZXJmX29wcy5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBw YXRjaCBhcHAvdGVzdC1jcnlwdG8tcGVyZi9jcGVyZl90ZXN0X3BtZF9jeWNsZWNvdW50LmMuLi4K ZXJyb3I6IGFwcC90ZXN0LWNyeXB0by1wZXJmL2NwZXJmX3Rlc3RfcG1kX2N5Y2xlY291bnQuYzog ZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QtY3J5cHRvLXBlcmYv Y3BlcmZfdGVzdF90aHJvdWdocHV0LmMuLi4KZXJyb3I6IGFwcC90ZXN0LWNyeXB0by1wZXJmL2Nw ZXJmX3Rlc3RfdGhyb3VnaHB1dC5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRj aCBhcHAvdGVzdC90ZXN0X2NyeXB0b2Rldi5jLi4uCmVycm9yOiBhcHAvdGVzdC90ZXN0X2NyeXB0 b2Rldi5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBhcHAvdGVzdC90ZXN0 X2NyeXB0b2Rldl9zZWN1cml0eV9pcHNlYy5jLi4uCkh1bmsgIzEgc3VjY2VlZGVkIGF0IDExMjMg KG9mZnNldCAtMyBsaW5lcykuCkNoZWNraW5nIHBhdGNoIGFwcC90ZXN0L3Rlc3RfY3J5cHRvZGV2 X3NlY3VyaXR5X2lwc2VjLmguLi4KSHVuayAjMSBzdWNjZWVkZWQgYXQgMjcyIChvZmZzZXQgLTUg bGluZXMpLgpDaGVja2luZyBwYXRjaCBhcHAvdGVzdC90ZXN0X3NlY3VyaXR5LmMuLi4KZXJyb3I6 IGFwcC90ZXN0L3Rlc3Rfc2VjdXJpdHkuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcg cGF0Y2ggYXBwL3Rlc3QvdGVzdF9zZWN1cml0eV9pbmxpbmVfcHJvdG8uYy4uLgplcnJvcjogYXBw L3Rlc3QvdGVzdF9zZWN1cml0eV9pbmxpbmVfcHJvdG8uYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgK Q2hlY2tpbmcgcGF0Y2ggZG9jL2d1aWRlcy9yZWxfbm90ZXMvZGVwcmVjYXRpb24ucnN0Li4uCmVy cm9yOiBkb2MvZ3VpZGVzL3JlbF9ub3Rlcy9kZXByZWNhdGlvbi5yc3Q6IGRvZXMgbm90IG1hdGNo IGluZGV4CkNoZWNraW5nIHBhdGNoIGRvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMTEu cnN0Li4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogIEFsbCBzYW1wbGUgYXBwbGljYXRp b25zIHdlcmUgdXBkYXRlZCB0byBhdHRhY2ggYW4gb3BhcXVlIHBvaW50ZXIgZm9yIHRoZSBzZXNz aW9uCiAgdG8gdGhlIGBgcnRlX2NyeXB0b19vcGBgIHdoaWxlIGVucXVldWluZy4KCgpBQkkgQ2hh bmdlcwotLS0tLS0tLS0tLQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy9yZWxfbm90 ZXMvcmVsZWFzZV8yMl8xMS5yc3Q6OTgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vY2Fh bV9qci9jYWFtX2pyLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2NhYW1fanIvY2FhbV9qci5j OiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NyeXB0by9jbnhr L2NuMTBrX2NyeXB0b2Rldl9vcHMuYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vY254ay9jbjEw a19jcnlwdG9kZXZfb3BzLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvY3J5cHRvL2NueGsvY245a19jcnlwdG9kZXZfb3BzLmMuLi4KZXJyb3I6IGRyaXZlcnMv Y3J5cHRvL2NueGsvY245a19jcnlwdG9kZXZfb3BzLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2RwYWEyX3NlYy9kcGFhMl9zZWNfZHBzZWNpLmMu Li4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2RwYWEyX3NlYy9kcGFhMl9zZWNfZHBzZWNpLmM6IGRv ZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2RwYWFfc2Vj L2RwYWFfc2VjLmMuLi4KZXJyb3I6IGRyaXZlcnMvY3J5cHRvL2RwYWFfc2VjL2RwYWFfc2VjLmM6 IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvY3J5cHRvL2lwc2Vj X21iL3BtZF9hZXNuaV9tYi5jLi4uCmVycm9yOiBkcml2ZXJzL2NyeXB0by9pcHNlY19tYi9wbWRf YWVzbmlfbWIuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9j cnlwdG8vcWF0L3FhdF9zeW0uYy4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vcWF0L3FhdF9zeW0u YzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jcnlwdG8vcWF0 L3FhdF9zeW0uaC4uLgplcnJvcjogZHJpdmVycy9jcnlwdG8vcWF0L3FhdF9zeW0uaDogZG9lcyBu b3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2lwc2Vj X2NyeXB0by5oLi4uCkNoZWNraW5nIHBhdGNoIGV4YW1wbGVzL2lwc2VjLXNlY2d3L2lwc2VjX3dv cmtlci5jLi4uCkNoZWNraW5nIHBhdGNoIGxpYi9jcnlwdG9kZXYvcnRlX2NyeXB0b19zeW0uaC4u LgplcnJvcjogbGliL2NyeXB0b2Rldi9ydGVfY3J5cHRvX3N5bS5oOiBkb2VzIG5vdCBtYXRjaCBp bmRleApDaGVja2luZyBwYXRjaCBsaWIvaXBzZWMvcnRlX2lwc2VjX2dyb3VwLmguLi4KZXJyb3I6 IGxpYi9pcHNlYy9ydGVfaXBzZWNfZ3JvdXAuaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tp bmcgcGF0Y2ggbGliL2lwc2VjL3Nlcy5jLi4uCmVycm9yOiBsaWIvaXBzZWMvc2VzLmM6IGRvZXMg bm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGxpYi9zZWN1cml0eS9ydGVfc2VjdXJpdHku Yy4uLgplcnJvcjogbGliL3NlY3VyaXR5L3J0ZV9zZWN1cml0eS5jOiBkb2VzIG5vdCBtYXRjaCBp bmRleApDaGVja2luZyBwYXRjaCBsaWIvc2VjdXJpdHkvcnRlX3NlY3VyaXR5LmguLi4KZXJyb3I6 IGxpYi9zZWN1cml0eS9ydGVfc2VjdXJpdHkuaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tp bmcgcGF0Y2ggbGliL3NlY3VyaXR5L3J0ZV9zZWN1cml0eV9kcml2ZXIuaC4uLgplcnJvcjogbGli L3NlY3VyaXR5L3J0ZV9zZWN1cml0eV9kcml2ZXIuaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQXBw bGllZCBwYXRjaCBhcHAvdGVzdC90ZXN0X2NyeXB0b2Rldl9zZWN1cml0eV9pcHNlYy5jIGNsZWFu bHkuCkFwcGxpZWQgcGF0Y2ggYXBwL3Rlc3QvdGVzdF9jcnlwdG9kZXZfc2VjdXJpdHlfaXBzZWMu aCBjbGVhbmx5LgpBcHBseWluZyBwYXRjaCBkb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIy XzExLnJzdCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCkFwcGxpZWQgcGF0Y2gg ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2lwc2VjX2NyeXB0by5oIGNsZWFubHkuCkFwcGxpZWQgcGF0 Y2ggZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWNfd29ya2VyLmMgY2xlYW5seS4KZGlmZiBhL2Rv Yy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMTEucnN0IGIvZG9jL2d1aWRlcy9yZWxfbm90 ZXMvcmVsZWFzZV8yMl8xMS5yc3QJKHJlamVjdGVkIGh1bmtzKQpAQCAtOTgsNiArOTgsMTEgQEAg QVBJIENoYW5nZXMKICAgQWxsIHNhbXBsZSBhcHBsaWNhdGlvbnMgd2VyZSB1cGRhdGVkIHRvIGF0 dGFjaCBhbiBvcGFxdWUgcG9pbnRlciBmb3IgdGhlIHNlc3Npb24KICAgdG8gdGhlIGBgcnRlX2Ny eXB0b19vcGBgIHdoaWxlIGVucXVldWluZy4KIAorKiBzZWN1cml0eTogVGhlIHN0cnVjdHVyZSBg YHJ0ZV9zZWN1cml0eV9zZXNzaW9uYGAgd2FzIG1hZGUgaW50ZXJuYWwgYW5kIGNvcnJlc3BvbmRp bmcKKyAgQVBJcyB3ZXJlIHVwZGF0ZWQgdG8gdGFrZS9yZXR1cm4gYW4gb3BhcXVlIHNlc3Npb24g cG9pbnRlci4gVGhlIEFQSQorICBgYHJ0ZV9zZWN1cml0eV9zZXNzaW9uX2NyZWF0ZWBgIHdhcyB1 cGRhdGVkIHRvIHRha2Ugb25seSBvbmUgbWVtcG9vbCB3aGljaCBoYXMgZW5vdWdoCisgIHNwYWNl IHRvIGhvbGQgc2Vzc2lvbiBhbmQgZHJpdmVyIHByaXZhdGUgZGF0YS4KKwogCiBBQkkgQ2hhbmdl cwogLS0tLS0tLS0tLS0KCmh0dHBzOi8vbGFiLmRwZGsub3JnL3Jlc3VsdHMvZGFzaGJvYXJkL3Bh dGNoc2V0cy8yMzY0Mi8KClVOSC1JT0wgRFBESyBDb21tdW5pdHkgTGFiCg== --===============8410667468098312733==--