From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3E8B2C433DB for ; Tue, 23 Feb 2021 21:28:54 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DCB3364DF5 for ; Tue, 23 Feb 2021 21:28:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DCB3364DF5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=oracle.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=P2pUcGPujbBrc2H6a2fdh8S2ZVyr3UouUAqwV/B42To=; b=VhNKvEbaU5CawPWdJP47MLIMb OnRZBzV0CFkd1Z8/tiwkp1LFkvp1QUPBCaURpyk3QQ1Ygpa6Z6X/7FJwZV24QmeL+lVVv/tprQoeS 0Wxq1Dgza3eYrLkmC21u+HVeQ4gydXzU2E+AVF+LLr+V68lsb2TXK7VW8Q/2ZlkbInb875KWwGyoN bCIpFvdAslv2cElsgZWDcVWLc4eXEWYnS+biQYpkXPWHwmBEPL6XztU8Wxkmx76+tKIxh6c0JLg5h TsnAwg8DYXsOjBA+3c+iJS8wBGLcvHcmMBMO3xb6Nv0jKepv6fSG7qayaJmSvJIrL1fAYn3PKj/u3 Lu2kqzcNw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lEfDC-00081D-OU; Tue, 23 Feb 2021 21:27:18 +0000 Received: from aserp2120.oracle.com ([141.146.126.78]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lEfD9-00080m-Fx for linux-arm-kernel@lists.infradead.org; Tue, 23 Feb 2021 21:27:16 +0000 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 11NLOF2K017441; Tue, 23 Feb 2021 21:26:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc : references : from : message-id : date : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2020-01-29; bh=3IFCYmp2MdeYaWolaKlzWLWK9zGRCfUrgBd8VdIPItY=; b=bESHsz9FrJIyYYNY3wMoZJkqGdquKCFrdc0LAhYBCxMSim7OdGoRwMjCHr/V1rEX12Au NbZCkX1ZGd+5sy6jUvEvYbZJ+j5gINj1JwF+Pj2my4LbUNaFdbjrPOjwpX/sHtqLHMgm 05oWpHRqU+UDU7BNl4Ms0PExcDEx3TiFkaTNZK/FMSLInfArcu+nCY+S9i7j7OEj0GPP 26l49EvwXqfASfxGn6Gt05gCxY1RxVL9w4lY37Yd1qwlWbQN2C0Gc+XhQbX3rwJoT8Tw JNoHgCjXMPKDGsXCswHsSRHb5H8FWQ36HqoS21mXFgL0Ph/SuzNpxTZk4dD2uDMTL7V2 Wg== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2120.oracle.com with ESMTP id 36ttcm8w3n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 23 Feb 2021 21:26:49 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 11NLOkG2026543; Tue, 23 Feb 2021 21:26:48 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam08lp2044.outbound.protection.outlook.com [104.47.74.44]) by userp3030.oracle.com with ESMTP id 36ucby1q2n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 23 Feb 2021 21:26:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P1y3XX20HQMDTtfQtOGqYT7UcHsRW5AujJ1z+XnwQ1R7VQW3sCv3CQbL9ZTtLi1SuD2gE/IAUwma5lvYeOcMz9bP8/v+ctNSf9jegE3Yx7OWN4C+kVcOFxDQ9STI4YpzMrk8utX5b+c34IUVv/AurghNcvxRpEN5cytFm0GR/iEEsj98x5ue5S840ygBXXGf/3ccCEwvVPwOBeWLmM8BsYLgDoeOy+q561z3eclPDkQZ39+MFJS5CEAbAo7LuAkucZiiav/IQ65p3nE7dwjOOB2TEflc11c5F88eNAyg2NZh3py8eWcyEN/S5ImpXTogqigGQTDE2efTSBx19m7fZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3IFCYmp2MdeYaWolaKlzWLWK9zGRCfUrgBd8VdIPItY=; b=Q/AqwXym7zNdiL4yAdxSzwur+f1DNc7lCQ92t7ZjRHdZg/UTG6D2UOiYiL5aUbuY5l4F6e+up9EOwWQB/KQAqnI6fnvnVX+zLtSNON5R6OwWJI2fkObkEdgI9cRklI40Tmv39suHBN+TkoIijCH276Ef5LRe2/K0cSsleiwg1TGOQcp1ldxY35A/gVWtaNwuzLCTGMU4cf17MLwW1ROyC8ZxfNgFqx/qA1/CiP7d7Qu2mWsKzSb+R8aTHthy+smi7WcXLD5vbzsukBqvm7A0CRw2lTo88Mg6BccV4w0VECHt1kHKLZK5c8FoJiaCBj2ALFdaq0AmDTJkm9pmntj6wg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3IFCYmp2MdeYaWolaKlzWLWK9zGRCfUrgBd8VdIPItY=; b=JIrpjWkuyyhoiAGWcqf2WIbhQLNGpTO7RMQKk38TczGAED9Nwf4/0ICyqwdJn64BihcSEio9Uo7NgKi9r4BQ0gjv24ibzYGv2s0FG25NhnfS1xU6xL0+ZbxD5Wh5hCeDTgYGWB3O2N+e+H4h6g64l7C935ChwMkEz1oVXdo35fg= Received: from DM6PR10MB3851.namprd10.prod.outlook.com (2603:10b6:5:1fb::17) by DM6PR10MB3116.namprd10.prod.outlook.com (2603:10b6:5:1ab::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.32; Tue, 23 Feb 2021 21:26:46 +0000 Received: from DM6PR10MB3851.namprd10.prod.outlook.com ([fe80::5c53:869:7452:46da]) by DM6PR10MB3851.namprd10.prod.outlook.com ([fe80::5c53:869:7452:46da%3]) with mapi id 15.20.3868.033; Tue, 23 Feb 2021 21:26:45 +0000 Subject: Re: [PATCH] mm, kasan: don't poison boot memory To: Mike Rapoport References: <1ac78f02-d0af-c3ff-cc5e-72d6b074fc43@redhat.com> <56c97056-6d8b-db0e-e303-421ee625abe3@redhat.com> <20210222215502.GB1741768@linux.ibm.com> <9773282a-2854-25a4-9faa-9da5dd34e371@oracle.com> <20210223103321.GD1741768@linux.ibm.com> <3ef9892f-d657-207f-d4cf-111f98dcb55c@oracle.com> <20210223154758.GF1741768@linux.ibm.com> <3a56ba38-ce91-63a6-b57c-f1726aa1b76e@oracle.com> <20210223200914.GH1741768@linux.ibm.com> From: George Kennedy Organization: Oracle Corporation Message-ID: Date: Tue, 23 Feb 2021 16:26:38 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 In-Reply-To: <20210223200914.GH1741768@linux.ibm.com> Content-Language: en-US X-Originating-IP: [108.20.187.119] X-ClientProxiedBy: SJ0PR03CA0052.namprd03.prod.outlook.com (2603:10b6:a03:33e::27) To DM6PR10MB3851.namprd10.prod.outlook.com (2603:10b6:5:1fb::17) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.1.246] (108.20.187.119) by SJ0PR03CA0052.namprd03.prod.outlook.com (2603:10b6:a03:33e::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19 via Frontend Transport; Tue, 23 Feb 2021 21:26:42 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ecee3d71-6514-4392-4a98-08d8d841b8b4 X-MS-TrafficTypeDiagnostic: DM6PR10MB3116: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wo3Knajp9W8+UfG+L+HUpW3OLhcQK/pKc3MDnzDlEksDECUsXjCsLc3CZk8EtevFbgq10v6mPYwlt2yKp1hWff9v48tvzNNz6FeCMHVsol7eUpV/p67u8+5a5SHXv74CszdLEUFW3YTeT81zpGlW/Gwa3YaxJ41wbGAsY9ESFZ/Mx1jLODwAXFhJov8bpfbAL+MGf2Y4dKOnGXkuYgzmqPScw1069DZy+UkJeoMb0wZIV87V0+aIMaQYD7CwnsNNaMMk5dP/agNdPQoRWlM6i97CX8JGrrxxgbjTHkIXQcqyP85oYCen0rYSzN6k9JuZ4xoVvOo4pwhyT9ND+k2s24x3ndeddjB0f3wYNRkq65GC4fT6LxiLUyeKYAV7VUDFm7xYGMdNuiDAp4jgkOut/k2NU4Kfk39WZNu7SK1GdSlIIO0QMOlN/kEQJZLGdtuf/y7I2T2/eU0zWYbXv210aI0R+1jLT6mDgGUAmTKx805Mcxo+vhuN3ptXnAjfDrVIRGDF3HpYePaipnZIRkSUbMAqWpOxayKJM+sDQ0na8PY2o49Qy1Nezqlmqv/1nvKaTgSNFoaQSNwT48CNQjVcFCKlBFpt6wD0I+fcdcimGcAhjYDb83ML+a8bWBsKRwRS X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR10MB3851.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(136003)(396003)(366004)(376002)(39860400002)(31686004)(16576012)(83380400001)(2906002)(36756003)(44832011)(6486002)(53546011)(478600001)(31696002)(6916009)(316002)(86362001)(107886003)(7416002)(66556008)(8676002)(2616005)(5660300002)(956004)(36916002)(4326008)(8936002)(186003)(6666004)(66476007)(54906003)(16526019)(66946007)(26005)(21314003)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?UytJY3FLSmRkQW9jdzlKOEJXbzlibEwwY0ZLTFNnUXJxK1d6TnVHRnZwcytH?= =?utf-8?B?Sk5iSVIzN3RaVEt0QUFoaXVqdVRmMWxHbEFZUHBueFMwYkdQRjdlOFdpVWF1?= =?utf-8?B?cU1IL0YxWkdhcm01bVA1eGhYMEpicnpOc3lGdSs3SEJoemllV2NpcGFBeTla?= =?utf-8?B?OFlBN0RkRlBPUEpOeHU1NHIzM0lYRW8razNPU3R6eW1senkwS3pCbVYxTmc3?= =?utf-8?B?anpGQjF5cVFReTlIc2laVTRtd2pKYUVDbVJVNnRQcTQyRm03YXZNV1o1a3Bq?= =?utf-8?B?Qk9qbkc2RGUzR0twVWtJZ1dIMjNyejNRVXRpczV6YWJ4MEZZQ1haMDhVcU9a?= =?utf-8?B?aHRXZHpiVk9QZ2hYdWR3RTFFMDRESHYxYTFCOEY2Qmw3Y0dhbEpsMzJJdmdn?= =?utf-8?B?ZzhJNDhFWlRUdGNzUHF2VGY2bnBiNUNlazUxbFRDTmNQZHJvTmR4cHdXYk5R?= =?utf-8?B?S1RGcEFTd0lYQUkxVExUVzRwdlY1ZGVTdXpiTkNCbTBndVNyRGU1dDJXRVl2?= =?utf-8?B?NkpqRlBLclFxaUtTdFYrRVpDNDRCNDhtUHZiK0o2dzVYUlY2TE0vVVpTZnpm?= =?utf-8?B?Mk5qY21aNkVmbmRXT3pqZFBzaHJENVVNaE1YaUJ1RVBaYUl1VWJEZHJqc0lC?= =?utf-8?B?TGE1VktwMXNTK0JGVU00cWszSHpJYzdRbFlOMmM1dCsrUzhxZUlrK0ZTM0hZ?= =?utf-8?B?RVF6NnBrQUNHUytlaDExbTgxVnlUM3ozRlRWTmtkZnZzdmRjOUJyU1h4TVRS?= =?utf-8?B?MUZNT1IySEt1TnA5RFVTNmRGaksvcWIwTHZIbHlsTHBIaG1zTzdQQkRYTlZO?= =?utf-8?B?TWxEZGZaZ3ltYnI3N25LZmlrTHJqdFR1cGorR2FWMWVObW1zRld4N1J1OEs1?= =?utf-8?B?Q2lqbGZCOG4vNUp5aG1yaVo0dWNpUFMvWWVtZFgrREhKR3FGY25leTZZci9r?= =?utf-8?B?akM2RkFEQysrcXUwR0V1S1hlU2luRUp5REY1eFY0Ujl2S2tBaGtBcWhtNmdi?= =?utf-8?B?clJVVDBOdSt4ZnBPYmhrby80cUdXb3E0YlIxb1FWSzZQOUNydktteVhSME93?= =?utf-8?B?VXJiNHFVR29lK3JjdlNUNEVwall0YktibFVuU2VlQlkxQ3BjUXYySnhmc2I2?= =?utf-8?B?VzNVTkloUXhNMGVSczBVMng2bmcvQlpmWnJqV016eWxBMGorMGpDQ1BzWHJB?= =?utf-8?B?bXo4S0NzWUtLQ3pTNk9yUzRwVDhkcDVFNXBPZ3h5dmI5cmswQUpEcGdYN21w?= =?utf-8?B?cm8zUUthci95YkJ6enlPSFVuc2pVRSt4WVJvbWlBa201YjNacVhTVUNTVVVN?= =?utf-8?B?UnMrWlFHdFhOMXRzWkM0WFI5WU5VSmZKNjNTMUhkSjNtNjdnaUVyTjJ2V3hK?= =?utf-8?B?ZFl1RVJjZFRHM0N1TUIvcGo1bllCNEltdUNuNVZOQzBiZm5Hd3dFayt5V0xk?= =?utf-8?B?czdEL0VtUk15VFZDYzdKQkduUzcrM0FFcGcxNm52WkZWeUNxYjFPS3QxeUtZ?= =?utf-8?B?TjNUMEdjLzBjTFJlWm1LbURmbXJCSU9pQlFmUUpOWFFNV05qbWZFMG1nTHlu?= =?utf-8?B?M2RodytpZVdsTCtYZlp6aVE3QnRpaCtKTkF5OWhtbHR0YXBzUVpBc0RsWTRw?= =?utf-8?B?alE3NWN2SzZzSGwrQ3hucXVuam9NVnltRk5PWUwvZnZFdm0yOVgrZFVVN3g1?= =?utf-8?B?cTRZZVRRWHRiVkdLU3hGekNtWGhNTnhRcC84Vy9YOHAyZ0Nxa1JmaW5WQ29Q?= =?utf-8?Q?TQo373LbAQMcv0MP6RypGrPkk1DuWGt+0dm6o7C?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ecee3d71-6514-4392-4a98-08d8d841b8b4 X-MS-Exchange-CrossTenant-AuthSource: DM6PR10MB3851.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2021 21:26:45.8331 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: m+WmcjjZttr967lCiAK1WZrBG0YamZujjLcKBkMXGjKIvcITprfJ/wUWXF20BQ5i8BR0h9p5dIUI4mNsR+6LgRmC+tUgs+e9Nkm6wc1vPE4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB3116 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9904 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 phishscore=0 spamscore=0 suspectscore=0 bulkscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102230181 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9904 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 lowpriorityscore=0 spamscore=0 mlxscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 impostorscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102230181 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210223_162715_894525_CA6B3667 X-CRM114-Status: GOOD ( 32.99 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Linux ARM , Marco Elver , Dhaval Giani , David Hildenbrand , Andrey Konovalov , Kevin Brodsky , Will Deacon , Branislav Rankov , kasan-dev , LKML , Christoph Hellwig , Andrey Ryabinin , Alexander Potapenko , Evgenii Stepanov , Catalin Marinas , Konrad Rzeszutek Wilk , Andrew Morton , Vincenzo Frascino , Peter Collingbourne , Linux Memory Management List , Dmitry Vyukov Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAyLzIzLzIwMjEgMzowOSBQTSwgTWlrZSBSYXBvcG9ydCB3cm90ZToKPiBPbiBUdWUsIEZl YiAyMywgMjAyMSBhdCAwMTowNTowNVBNIC0wNTAwLCBHZW9yZ2UgS2VubmVkeSB3cm90ZToKPj4g T24gMi8yMy8yMDIxIDEwOjQ3IEFNLCBNaWtlIFJhcG9wb3J0IHdyb3RlOgo+Pgo+PiBJdCBub3cg Y3Jhc2hlcyBoZXJlOgo+Pgo+PiBbwqDCoMKgIDAuMDUxMDE5XSBBQ1BJOiBFYXJseSB0YWJsZSBj aGVja3N1bSB2ZXJpZmljYXRpb24gZGlzYWJsZWQKPj4gW8KgwqDCoCAwLjA1NjcyMV0gQUNQSTog UlNEUCAweDAwMDAwMDAwQkZCRkEwMTQgMDAwMDI0ICh2MDIgQk9DSFMgKQo+PiBbwqDCoMKgIDAu MDU3ODc0XSBBQ1BJOiBYU0RUIDB4MDAwMDAwMDBCRkJGOTBFOCAwMDAwNEMgKHYwMSBCT0NIUyBC WFBDRkFDUAo+PiAwMDAwMDAwMcKgwqDCoMKgwqAgMDEwMDAwMTMpCj4+IFvCoMKgwqAgMC4wNTk1 OTBdIEFDUEk6IEZBQ1AgMHgwMDAwMDAwMEJGQkY1MDAwIDAwMDA3NCAodjAxIEJPQ0hTIEJYUENG QUNQCj4+IDAwMDAwMDAxIEJYUEMgMDAwMDAwMDEpCj4+IFvCoMKgwqAgMC4wNjEzMDZdIEFDUEk6 IERTRFQgMHgwMDAwMDAwMEJGQkY2MDAwIDAwMjM4RCAodjAxIEJPQ0hTIEJYUENEU0RUCj4+IDAw MDAwMDAxIEJYUEMgMDAwMDAwMDEpCj4+IFvCoMKgwqAgMC4wNjMwMDZdIEFDUEk6IEZBQ1MgMHgw MDAwMDAwMEJGQkZEMDAwIDAwMDA0MAo+PiBbwqDCoMKgIDAuMDYzOTM4XSBBQ1BJOiBBUElDIDB4 MDAwMDAwMDBCRkJGNDAwMCAwMDAwOTAgKHYwMSBCT0NIUyBCWFBDQVBJQwo+PiAwMDAwMDAwMSBC WFBDIDAwMDAwMDAxKQo+PiBbwqDCoMKgIDAuMDY1NjM4XSBBQ1BJOiBIUEVUIDB4MDAwMDAwMDBC RkJGMzAwMCAwMDAwMzggKHYwMSBCT0NIUyBCWFBDSFBFVAo+PiAwMDAwMDAwMSBCWFBDIDAwMDAw MDAxKQo+PiBbwqDCoMKgIDAuMDY3MzM1XSBBQ1BJOiBCR1JUIDB4MDAwMDAwMDBCRTQ5QjAwMCAw MDAwMzggKHYwMSBJTlRFTCBFREsyCj4+IDAwMDAwMDAywqDCoMKgwqDCoCAwMTAwMDAxMykKPj4g W8KgwqDCoCAwLjA2OTAzMF0gQUNQSTogaUJGVCAweDAwMDAwMDAwQkU0NTMwMDAgMDAwODAwICh2 MDEgQk9DSFMgQlhQQ0ZBQ1AKPj4gMDAwMDAwMDDCoMKgwqDCoMKgIDAwMDAwMDAwKQo+PiBbwqDC oMKgIDAuMDcwNzM0XSBYWFggYWNwaV9maW5kX2liZnRfcmVnaW9uOgo+PiBbwqDCoMKgIDAuMDcx NDY4XSBYWFggaUJGVCwgc3RhdHVzPTAKPj4gW8KgwqDCoCAwLjA3MjA3M10gWFhYIGFib3V0IHRv IGNhbGwgYWNwaV9wdXRfdGFibGUoKS4uLgo+PiBpYmZ0X2FkZHI9ZmZmZmZmZmZmZjI0MDAwMAo+ PiBbwqDCoMKgIDAuMDczNDQ5XSBYWFggYWNwaV9maW5kX2liZnRfcmVnaW9uKEVYSVQpOgo+PiBQ QU5JQzogZWFybHkgZXhjZXB0aW9uIDB4MGUgSVAgMTA6ZmZmZmZmZmY5MjU5ZjQzOSBlcnJvciAw IGNyMgo+PiAweGZmZmZmZmZmZmYyNDAwMDQKPiBSaWdodCwgSSd2ZSBtaXNzZWQgdGhlIGRlcmVm ZXJlbmNlIG9mIHRoZSBpYmZ0X2FkZHIgYWZ0ZXIKPiBhY3BpX2ZpbmRfaWJmdF9yZWdpb24oKS4K Pgo+IFdpdGggdGhpcyBjaGFuZ2UgdG8gaXNjc2lfaWJmdF9maW5kLmMgaW5zdGVhZCBvZiB0aGUg cHJldmlvdXMgb25lIGl0IHNob3VsZAo+IGJlIGJldHRlcjoKPgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2Zpcm13YXJlL2lzY3NpX2liZnRfZmluZC5jIGIvZHJpdmVycy9maXJtd2FyZS9pc2NzaV9p YmZ0X2ZpbmQuYwo+IGluZGV4IDY0YmI5NDUyMzI4MS4uMWJlNzQ4MWQ1YzY5IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZmlybXdhcmUvaXNjc2lfaWJmdF9maW5kLmMKPiArKysgYi9kcml2ZXJzL2Zp cm13YXJlL2lzY3NpX2liZnRfZmluZC5jCj4gQEAgLTgwLDYgKzgwLDI3IEBAIHN0YXRpYyBpbnQg X19pbml0IGZpbmRfaWJmdF9pbl9tZW0odm9pZCkKPiAgIGRvbmU6Cj4gICAJcmV0dXJuIGxlbjsK PiAgIH0KPiArCj4gK3N0YXRpYyB2b2lkIF9faW5pdCBhY3BpX2ZpbmRfaWJmdF9yZWdpb24odW5z aWduZWQgbG9uZyAqc2l6ZXApCj4gK3sKPiArCWludCBpOwo+ICsJc3RydWN0IGFjcGlfdGFibGVf aGVhZGVyICp0YWJsZSA9IE5VTEw7Cj4gKwlhY3BpX3N0YXR1cyBzdGF0dXM7Cj4gKwo+ICsJaWYg KGFjcGlfZGlzYWJsZWQpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBBUlJB WV9TSVpFKGliZnRfc2lnbnMpICYmICFpYmZ0X2FkZHI7IGkrKykgewo+ICsJCXN0YXR1cyA9IGFj cGlfZ2V0X3RhYmxlKGliZnRfc2lnbnNbaV0uc2lnbiwgMCwgJnRhYmxlKTsKPiArCQlpZiAoQUNQ SV9TVUNDRVNTKHN0YXR1cykpIHsKPiArCQkJaWJmdF9hZGRyID0gKHN0cnVjdCBhY3BpX3RhYmxl X2liZnQgKil0YWJsZTsKPiArCQkJKnNpemVwID0gUEFHRV9BTElHTihpYmZ0X2FkZHItPmhlYWRl ci5sZW5ndGgpOwo+ICsJCQlhY3BpX3B1dF90YWJsZSh0YWJsZSk7Cj4gKwkJCWJyZWFrOwo+ICsJ CX0KPiArCX0KPiArfQo+ICsKPiAgIC8qCj4gICAgKiBSb3V0aW5lIHVzZWQgdG8gZmluZCB0aGUg aVNDU0kgQm9vdCBGb3JtYXQgVGFibGUuIFRoZSBsb2dpY2FsCj4gICAgKiBrZXJuZWwgYWRkcmVz cyBpcyBzZXQgaW4gdGhlIGliZnRfYWRkciBnbG9iYWwgdmFyaWFibGUuCj4gQEAgLTkxLDE0ICsx MTIsMTYgQEAgdW5zaWduZWQgbG9uZyBfX2luaXQgZmluZF9pYmZ0X3JlZ2lvbih1bnNpZ25lZCBs b25nICpzaXplcCkKPiAgIAkvKiBpQkZUIDEuMDMgc2VjdGlvbiAxLjQuMy4xIG1hbmRhdGVzIHRo YXQgVUVGSSBtYWNoaW5lcyB3aWxsCj4gICAJICogb25seSB1c2UgQUNQSSBmb3IgdGhpcyAqLwo+ ICAgCj4gLQlpZiAoIWVmaV9lbmFibGVkKEVGSV9CT09UKSkKPiArCWlmICghZWZpX2VuYWJsZWQo RUZJX0JPT1QpKSB7Cj4gICAJCWZpbmRfaWJmdF9pbl9tZW0oKTsKPiAtCj4gLQlpZiAoaWJmdF9h ZGRyKSB7Cj4gICAJCSpzaXplcCA9IFBBR0VfQUxJR04oaWJmdF9hZGRyLT5oZWFkZXIubGVuZ3Ro KTsKPiAtCQlyZXR1cm4gKHU2NCl2aXJ0X3RvX3BoeXMoaWJmdF9hZGRyKTsKPiArCX0gZWxzZSB7 Cj4gKwkJYWNwaV9maW5kX2liZnRfcmVnaW9uKHNpemVwKTsKPiAgIAl9Cj4gICAKPiArCWlmIChp YmZ0X2FkZHIpCj4gKwkJcmV0dXJuICh1NjQpdmlydF90b19waHlzKGliZnRfYWRkcik7Cj4gKwo+ ICAgCSpzaXplcCA9IDA7Cj4gICAJcmV0dXJuIDA7Cj4gICB9Ck1pa2UsCgpObyBsdWNrLiBCYWNr IHRvIHRoZSBvcmlnaW5hbCBLQVNBTiBpYmZ0X2luaXQgY3Jhc2guCgpJIHJhbiB3aXRoIG9ubHkg dGhlIGFib3ZlIHBhdGNoIGZyb20geW91LiBXYXMgdGhhdCB3aGF0IHlvdSB3YW50ZWQ/IFlvdXIg CnByZXZpb3VzIHBhdGNoIGhhZCBhIHNlY3Rpb24gZGVmaW5lZCBvdXQgYnkgI2lmIDAuIFdhcyB0 aGF0IHN1cHBvc2VkIHRvIApiZSBpbiB0aGVyZSBhcyB3ZWxsPwoKSWYgeW91IG5lZWQgdGhlIGNv bnNvbGUgb3V0cHV0IGxldCBtZSBrbm93LiBHb3QgYm91bmNlZCBiZWNhdXNlIGl0IHdhcyAKdG9v IGxhcmdlLgoKW8KgwqAgMzAuMTI0NjUwXSBpQkZUIGRldGVjdGVkLgpbwqDCoCAzMC4xMjUyMjhd IAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KW8KgwqAgMzAuMTI2MjAxXSBCVUc6IEtBU0FOOiB1c2UtYWZ0ZXItZnJlZSBp biBpYmZ0X2luaXQrMHgxMzQvMHhjMzMKW8KgwqAgMzAuMTI2MjAxXSBSZWFkIG9mIHNpemUgNCBh dCBhZGRyIGZmZmY4ODgwYmU0NTMwMDQgYnkgdGFzayBzd2FwcGVyLzAvMQpbwqDCoCAzMC4xMjYy MDFdClvCoMKgIDMwLjEyNjIwMV0gQ1BVOiAyIFBJRDogMSBDb21tOiBzd2FwcGVyLzAgTm90IHRh aW50ZWQgNS4xMS4wLWY5NTkzYTAgIzkKW8KgwqAgMzAuMTI2MjAxXSBIYXJkd2FyZSBuYW1lOiBR RU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwgCkJJT1MgMC4wLjAgMDIvMDYv MjAxNQpbwqDCoCAzMC4xMjYyMDFdIENhbGwgVHJhY2U6ClvCoMKgIDMwLjEyNjIwMV3CoCBkdW1w X3N0YWNrKzB4ZGIvMHgxMjAKW8KgwqAgMzAuMTI2MjAxXcKgID8gaWJmdF9pbml0KzB4MTM0LzB4 YzMzClvCoMKgIDMwLjEyNjIwMV3CoCBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uLmNvbnN0cHJv cC43KzB4NDEvMHg2MApbwqDCoCAzMC4xMjYyMDFdwqAgPyBpYmZ0X2luaXQrMHgxMzQvMHhjMzMK W8KgwqAgMzAuMTI2MjAxXcKgID8gaWJmdF9pbml0KzB4MTM0LzB4YzMzClvCoMKgIDMwLjEyNjIw MV3CoCBrYXNhbl9yZXBvcnQuY29sZC4xMCsweDc4LzB4ZDEKW8KgwqAgMzAuMTI2MjAxXcKgID8g aWJmdF9pbml0KzB4MTM0LzB4YzMzClvCoMKgIDMwLjEyNjIwMV3CoCBfX2FzYW5fcmVwb3J0X2xv YWRfbl9ub2Fib3J0KzB4Zi8weDIwClvCoMKgIDMwLjEyNjIwMV3CoCBpYmZ0X2luaXQrMHgxMzQv MHhjMzMKW8KgwqAgMzAuMTI2MjAxXcKgID8gd3JpdGVfY29tcF9kYXRhKzB4MmYvMHg5MApbwqDC oCAzMC4xMjYyMDFdwqAgPyBpYmZ0X2NoZWNrX2luaXRpYXRvcl9mb3IrMHgxNTkvMHgxNTkKW8Kg wqAgMzAuMTI2MjAxXcKgID8gd3JpdGVfY29tcF9kYXRhKzB4MmYvMHg5MApbwqDCoCAzMC4xMjYy MDFdwqAgPyBpYmZ0X2NoZWNrX2luaXRpYXRvcl9mb3IrMHgxNTkvMHgxNTkKW8KgwqAgMzAuMTI2 MjAxXcKgIGRvX29uZV9pbml0Y2FsbCsweGM0LzB4M2UwClvCoMKgIDMwLjEyNjIwMV3CoCA/IHBl cmZfdHJhY2VfaW5pdGNhbGxfbGV2ZWwrMHgzZTAvMHgzZTAKW8KgwqAgMzAuMTI2MjAxXcKgID8g dW5wb2lzb25fcmFuZ2UrMHgxNC8weDQwClvCoMKgIDMwLjEyNjIwMV3CoCA/IF9fX19rYXNhbl9r bWFsbG9jLmNvbnN0cHJvcC41KzB4OGYvMHhjMApbwqDCoCAzMC4xMjYyMDFdwqAgPyBrZXJuZWxf aW5pdF9mcmVlYWJsZSsweDQyMC8weDY1MgpbwqDCoCAzMC4xMjYyMDFdwqAgPyBfX2thc2FuX2tt YWxsb2MrMHg5LzB4MTAKW8KgwqAgMzAuMTI2MjAxXcKgID8gX19zYW5pdGl6ZXJfY292X3RyYWNl X3BjKzB4MjEvMHg1MApbwqDCoCAzMC4xMjYyMDFdwqAga2VybmVsX2luaXRfZnJlZWFibGUrMHg1 OTYvMHg2NTIKW8KgwqAgMzAuMTI2MjAxXcKgID8gY29uc29sZV9vbl9yb290ZnMrMHg3ZC8weDdk ClvCoMKgIDMwLjEyNjIwMV3CoCA/IF9fc2FuaXRpemVyX2Nvdl90cmFjZV9wYysweDIxLzB4NTAK W8KgwqAgMzAuMTI2MjAxXcKgID8gcmVzdF9pbml0KzB4ZjAvMHhmMApbwqDCoCAzMC4xMjYyMDFd wqAga2VybmVsX2luaXQrMHgxNi8weDFkMApbwqDCoCAzMC4xMjYyMDFdwqAgPyByZXN0X2luaXQr MHhmMC8weGYwClvCoMKgIDMwLjEyNjIwMV3CoCByZXRfZnJvbV9mb3JrKzB4MjIvMHgzMApbwqDC oCAzMC4xMjYyMDFdClvCoMKgIDMwLjEyNjIwMV0gVGhlIGJ1Z2d5IGFkZHJlc3MgYmVsb25ncyB0 byB0aGUgcGFnZToKW8KgwqAgMzAuMTI2MjAxXSBwYWdlOjAwMDAwMDAwOTFiOGYyYjQgcmVmY291 bnQ6MCBtYXBjb3VudDowIAptYXBwaW5nOjAwMDAwMDAwMDAwMDAwMDAgaW5kZXg6MHgxIHBmbjow eGJlNDUzClvCoMKgIDMwLjEyNjIwMV0gZmxhZ3M6IDB4ZmZmZmZjMDAwMDAwMCgpClvCoMKgIDMw LjEyNjIwMV0gcmF3OiAwMDBmZmZmZmMwMDAwMDAwIGZmZmZlYTAwMDJmYWM3MDggZmZmZmVhMDAw MmZhYzc0OCAKMDAwMDAwMDAwMDAwMDAwMApbwqDCoCAzMC4xMjYyMDFdIHJhdzogMDAwMDAwMDAw MDAwMDAwMSAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwZmZmZmZmZmYgCjAwMDAwMDAwMDAwMDAw MDAKW8KgwqAgMzAuMTI2MjAxXSBwYWdlIGR1bXBlZCBiZWNhdXNlOiBrYXNhbjogYmFkIGFjY2Vz cyBkZXRlY3RlZApbwqDCoCAzMC4xMjYyMDFdIHBhZ2Vfb3duZXIgdHJhY2tzIHRoZSBwYWdlIGFz IGZyZWVkClvCoMKgIDMwLjEyNjIwMV0gcGFnZSBsYXN0IGFsbG9jYXRlZCB2aWEgb3JkZXIgMCwg bWlncmF0ZXR5cGUgTW92YWJsZSwgCmdmcF9tYXNrIDB4MTAwZGNhKEdGUF9ISUdIVVNFUl9NT1ZB QkxFfF9fR0ZQX1pFUk8pLCBwaWQgMjA0LCB0cyAyNzk3NTU2MzgyNwpbwqDCoCAzMC4xMjYyMDFd wqAgcHJlcF9uZXdfcGFnZSsweGZiLzB4MTQwClvCoMKgIDMwLjEyNjIwMV3CoCBnZXRfcGFnZV9m cm9tX2ZyZWVsaXN0KzB4MzUwMy8weDU3MzAKW8KgwqAgMzAuMTI2MjAxXcKgIF9fYWxsb2NfcGFn ZXNfbm9kZW1hc2srMHgyZDgvMHg2NTAKW8KgwqAgMzAuMTI2MjAxXcKgIGFsbG9jX3BhZ2VzX3Zt YSsweGUyLzB4NTYwClvCoMKgIDMwLjEyNjIwMV3CoCBfX2hhbmRsZV9tbV9mYXVsdCsweDkzMC8w eDI2YzAKW8KgwqAgMzAuMTI2MjAxXcKgIGhhbmRsZV9tbV9mYXVsdCsweDFmOS8weDgxMApbwqDC oCAzMC4xMjYyMDFdwqAgZG9fdXNlcl9hZGRyX2ZhdWx0KzB4NmY3LzB4Y2EwClvCoMKgIDMwLjEy NjIwMV3CoCBleGNfcGFnZV9mYXVsdCsweGFmLzB4MWEwClvCoMKgIDMwLjEyNjIwMV3CoCBhc21f ZXhjX3BhZ2VfZmF1bHQrMHgxZS8weDMwClvCoMKgIDMwLjEyNjIwMV0gcGFnZSBsYXN0IGZyZWUg c3RhY2sgdHJhY2U6ClvCoMKgIDMwLjEyNjIwMV3CoCBmcmVlX3BjcF9wcmVwYXJlKzB4MTIyLzB4 MjkwClvCoMKgIDMwLjEyNjIwMV3CoCBmcmVlX3VucmVmX3BhZ2VfbGlzdCsweGU2LzB4NDkwClvC oMKgIDMwLjEyNjIwMV3CoCByZWxlYXNlX3BhZ2VzKzB4MmVkLzB4MTI3MApbwqDCoCAzMC4xMjYy MDFdwqAgZnJlZV9wYWdlc19hbmRfc3dhcF9jYWNoZSsweDI0NS8weDJlMApbwqDCoCAzMC4xMjYy MDFdwqAgdGxiX2ZsdXNoX21tdSsweDExZS8weDY4MApbwqDCoCAzMC4xMjYyMDFdwqAgdGxiX2Zp bmlzaF9tbXUrMHhhNi8weDNlMApbwqDCoCAzMC4xMjYyMDFdwqAgZXhpdF9tbWFwKzB4MmIzLzB4 NTQwClvCoMKgIDMwLjEyNjIwMV3CoCBtbXB1dCsweDExZC8weDQ1MApbwqDCoCAzMC4xMjYyMDFd wqAgZG9fZXhpdCsweGFhNi8weDJkNDAKW8KgwqAgMzAuMTI2MjAxXcKgIGRvX2dyb3VwX2V4aXQr MHgxMjgvMHgzNDAKW8KgwqAgMzAuMTI2MjAxXcKgIF9feDY0X3N5c19leGl0X2dyb3VwKzB4NDMv MHg1MApbwqDCoCAzMC4xMjYyMDFdwqAgZG9fc3lzY2FsbF82NCsweDM3LzB4NTAKW8KgwqAgMzAu MTI2MjAxXcKgIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKW8KgwqAg MzAuMTI2MjAxXQpbwqDCoCAzMC4xMjYyMDFdIE1lbW9yeSBzdGF0ZSBhcm91bmQgdGhlIGJ1Z2d5 IGFkZHJlc3M6ClvCoMKgIDMwLjEyNjIwMV3CoCBmZmZmODg4MGJlNDUyZjAwOiBmZiBmZiBmZiBm ZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAKZmYgZmYgZmYKW8KgwqAgMzAuMTI2MjAxXcKg IGZmZmY4ODgwYmU0NTJmODA6IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IApmZiBmZiBmZgpbwqDCoCAzMC4xMjYyMDFdID5mZmZmODg4MGJlNDUzMDAwOiBmZiBmZiBmZiBm ZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAKZmYgZmYgZmYKW8KgwqAgMzAuMTI2MjAxXcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF4KW8KgwqAgMzAuMTI2MjAxXcKg IGZmZmY4ODgwYmU0NTMwODA6IGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZm IApmZiBmZiBmZgpbwqDCoCAzMC4xMjYyMDFdwqAgZmZmZjg4ODBiZTQ1MzEwMDogZmYgZmYgZmYg ZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgCmZmIGZmIGZmClvCoMKgIDMwLjEyNjIwMV0g Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQoKClRoaXMgaXMgYWxsIEkgcmFuIHdpdGg6CgojIGdpdCBkaWZmCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2Zpcm13YXJlL2lzY3NpX2liZnRfZmluZC5jIApiL2RyaXZlcnMvZmlybXdh cmUvaXNjc2lfaWJmdF9maW5kLmMKaW5kZXggNjRiYjk0NS4uMWJlNzQ4MSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9maXJtd2FyZS9pc2NzaV9pYmZ0X2ZpbmQuYworKysgYi9kcml2ZXJzL2Zpcm13YXJl L2lzY3NpX2liZnRfZmluZC5jCkBAIC04MCw2ICs4MCwyNyBAQCBzdGF0aWMgaW50IF9faW5pdCBm aW5kX2liZnRfaW5fbWVtKHZvaWQpCiDCoGRvbmU6CiDCoMKgwqDCoMKgwqDCoCByZXR1cm4gbGVu OwogwqB9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhY3BpX2ZpbmRfaWJmdF9yZWdpb24odW5zaWdu ZWQgbG9uZyAqc2l6ZXApCit7CivCoMKgwqDCoMKgwqAgaW50IGk7CivCoMKgwqDCoMKgwqAgc3Ry dWN0IGFjcGlfdGFibGVfaGVhZGVyICp0YWJsZSA9IE5VTEw7CivCoMKgwqDCoMKgwqAgYWNwaV9z dGF0dXMgc3RhdHVzOworCivCoMKgwqDCoMKgwqAgaWYgKGFjcGlfZGlzYWJsZWQpCivCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybjsKKworwqDCoMKgwqDCoMKgIGZvciAoaSA9IDA7 IGkgPCBBUlJBWV9TSVpFKGliZnRfc2lnbnMpICYmICFpYmZ0X2FkZHI7IGkrKykgeworwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdGF0dXMgPSBhY3BpX2dldF90YWJsZShpYmZ0X3NpZ25z W2ldLnNpZ24sIDAsICZ0YWJsZSk7CivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChB Q1BJX1NVQ0NFU1Moc3RhdHVzKSkgeworwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgaWJmdF9hZGRyID0gKHN0cnVjdCBhY3BpX3RhYmxlX2liZnQgKil0YWJsZTsK K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICpzaXplcCA9IFBB R0VfQUxJR04oaWJmdF9hZGRyLT5oZWFkZXIubGVuZ3RoKTsKK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFjcGlfcHV0X3RhYmxlKHRhYmxlKTsKK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOworwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB9CivCoMKgwqDCoMKgwqAgfQorfQorCiDCoC8qCiDCoCAqIFJvdXRp bmUgdXNlZCB0byBmaW5kIHRoZSBpU0NTSSBCb290IEZvcm1hdCBUYWJsZS4gVGhlIGxvZ2ljYWwK IMKgICoga2VybmVsIGFkZHJlc3MgaXMgc2V0IGluIHRoZSBpYmZ0X2FkZHIgZ2xvYmFsIHZhcmlh YmxlLgpAQCAtOTEsMTQgKzExMiwxNiBAQCB1bnNpZ25lZCBsb25nIF9faW5pdCBmaW5kX2liZnRf cmVnaW9uKHVuc2lnbmVkIGxvbmcgCipzaXplcCkKIMKgwqDCoMKgwqDCoMKgIC8qIGlCRlQgMS4w MyBzZWN0aW9uIDEuNC4zLjEgbWFuZGF0ZXMgdGhhdCBVRUZJIG1hY2hpbmVzIHdpbGwKIMKgwqDC oMKgwqDCoMKgwqAgKiBvbmx5IHVzZSBBQ1BJIGZvciB0aGlzICovCgotwqDCoMKgwqDCoMKgIGlm ICghZWZpX2VuYWJsZWQoRUZJX0JPT1QpKQorwqDCoMKgwqDCoMKgIGlmICghZWZpX2VuYWJsZWQo RUZJX0JPT1QpKSB7CiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmluZF9pYmZ0X2lu X21lbSgpOwotCi3CoMKgwqDCoMKgwqAgaWYgKGliZnRfYWRkcikgewogwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgICpzaXplcCA9IFBBR0VfQUxJR04oaWJmdF9hZGRyLT5oZWFkZXIubGVu Z3RoKTsKLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuICh1NjQpdmlydF90b19w aHlzKGliZnRfYWRkcik7CivCoMKgwqDCoMKgwqAgfSBlbHNlIHsKK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgYWNwaV9maW5kX2liZnRfcmVnaW9uKHNpemVwKTsKIMKgwqDCoMKgwqDCoMKg IH0KCivCoMKgwqDCoMKgwqAgaWYgKGliZnRfYWRkcikKK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgcmV0dXJuICh1NjQpdmlydF90b19waHlzKGliZnRfYWRkcik7CisKIMKgwqDCoMKgwqDC oMKgICpzaXplcCA9IDA7CiDCoMKgwqDCoMKgwqDCoCByZXR1cm4gMDsKIMKgfQoKClRoYW5rIHlv dSwKR2VvcmdlCj4+IFvCoMKgwqAgMC4wNzU3MTFdIENQVTogMCBQSUQ6IDAgQ29tbTogc3dhcHBl ciBOb3QgdGFpbnRlZCA1LjExLjAtMzRhMjEwNSAjOAo+PiBbwqDCoMKgIDAuMDc2OTgzXSBIYXJk d2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlYLCAxOTk2KSwgQklPUwo+ PiAwLjAuMCAwMi8wNi8yMDE1Cj4+IFvCoMKgwqAgMC4wNzg1NzldIFJJUDogMDAxMDpmaW5kX2li ZnRfcmVnaW9uKzB4NDcwLzB4NTc3CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=