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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 75EA7FD88EC for ; Wed, 11 Mar 2026 03:34:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6F0CD6B0088; Tue, 10 Mar 2026 23:34:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 69F3C6B0089; Tue, 10 Mar 2026 23:34:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 59D986B008A; Tue, 10 Mar 2026 23:34:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 2DB156B0088 for ; Tue, 10 Mar 2026 23:34:01 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 887751B82FF for ; Wed, 11 Mar 2026 03:34:00 +0000 (UTC) X-FDA: 84532363440.23.64FDE9D Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.4]) by imf12.hostedemail.com (Postfix) with ESMTP id E86D94000A for ; Wed, 11 Mar 2026 03:33:57 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=163.com header.s=s110527 header.b="l Fl+BUe"; spf=pass (imf12.hostedemail.com: domain of luckd0g@163.com designates 220.197.31.4 as permitted sender) smtp.mailfrom=luckd0g@163.com; dmarc=pass (policy=none) header.from=163.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1773200038; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=to7QLAURT3nLImUdo2+6Pp3E+cA5W1TuCNe8WImPJOA=; b=vVJA/ShVlqE5h/MKp/vOJkxKkzsB0ywr9yZai9FMo2r6EHtLzENxCB1Dke4RWXFKDNuK07 x5Zy8E8quVfrI/HvPUVPpZPFGQKLffDErQzePY8u18IebkgrGZE4u9fXzKYR90oG4UCzlc lb5av0zQvYcPO9O9t33kOmDaYHB1UqQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1773200038; a=rsa-sha256; cv=none; b=vdQWd1T7R3gQswuD06EhxCltdwbH3vyJO0v21YGY8Dw94wYgPYQPY1jorWmRJTseuJU+EU 6yXDLw8AqBHQ/50b1nbs5WV0X2h6GjiMWUXuMXYKizo3VdnSkGgJ4d6YMQL8z0h7r6uaLQ 6qw7M0211Zljlh1yYLiMrV+r5/H/ltg= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=163.com header.s=s110527 header.b="l Fl+BUe"; spf=pass (imf12.hostedemail.com: domain of luckd0g@163.com designates 220.197.31.4 as permitted sender) smtp.mailfrom=luckd0g@163.com; dmarc=pass (policy=none) header.from=163.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:To:Subject:Content-Type:MIME-Version: Message-ID; bh=to7QLAURT3nLImUdo2+6Pp3E+cA5W1TuCNe8WImPJOA=; b=l Fl+BUedpGFvyKI5ozPyliM1dmkAWZVFBO9Irh3ZcBIUfatMvwvCZALkOp2+nXlGe 5gtUvgMMMlMIcqQW7NDxoVLCoWni6BHL+gUbWq1stIlY2k2/jy0VXGlV2HAB/woz uq/N3/V7Atd10QXXZs4ZoStE5RJRRJ3c4HOX7ya0EI= Received: from luckd0g$163.com ( [183.205.138.18] ) by ajax-webmail-wmsvr-40-146 (Coremail) ; Wed, 11 Mar 2026 11:33:49 +0800 (CST) X-Originating-IP: [183.205.138.18] Date: Wed, 11 Mar 2026 11:33:49 +0800 (CST) From: "Jianzhou Zhao" To: akpm@linux-foundation.org, Liam.Howlett@oracle.com, aliceryhl@google.com, andrewjballance@gmail.com, linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org, linux-mm@kvack.org Subject: KCSAN: data-race in mas_topiary_replace / mas_walk X-Priority: 3 X-Mailer: Coremail Webmail Server Version 2023.4-cmXT build 20251222(83accb85) Copyright (c) 2002-2026 www.mailtech.cn 163com X-NTES-SC: AL_Qu2cAf6bv0gp7yObbekfmU4Rhug7UMO3uf8n24JfPJ9wjCzr5C4MZHpGN2Py3OuVMC+gqhiXXAlB7sV7cJNobacNQnFjdpRKkO98rA9I8nprvQ== Content-Type: multipart/alternative; boundary="----=_Part_54512_70847931.1773200029352" MIME-Version: 1.0 Message-ID: <35e96d54.3914.19cdaf536a9.Coremail.luckd0g@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID:kigvCgDXX2yd4rBpVfB1AA--.41506W X-CM-SenderInfo: poxfyvkqj6il2tof0z/xtbC9h1m8Gmw4p3yaAAA3B X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Stat-Signature: tot1f7w7tzsw1y1xcqtzukwfzphocrds X-Rspam-User: X-Rspamd-Queue-Id: E86D94000A X-Rspamd-Server: rspam12 X-HE-Tag: 1773200037-631374 X-HE-Meta: U2FsdGVkX1+ypwRZTdR3ymietNjAwAW5A41SViNnM7sKQfVubqF10XxUNQ9583bIQfT0y/NkEmnhSWIpHksZgtTjI6n6d0LEC2jg5P8Wk6YOpW61bXXYTQXefVPoPVQGrM+8S9Jqkjyt5nyffvDuonsa3VobhyFq/UiZekcArW1CEyRh4qcqfsQiA/ML39NXyTnPuSx2bzWEcM4/MGZ5DO4IDvUjdrjpdX3jyNv5dKapcf6187Jro+VBz/GakiMnOgs4xsOkIiCIRfSOQ+szmJUEhW5aKZEpl3Fh350z+mYY5LbostdMLvT/rbRr4bXb88gtsEbluUCbiFFTSdwdY5VssJ5ik3QuyCXAHgrh4K+tf3eOk3jbmZ8wP5EFKDl7ayN9wOcue5UkmNlgWe6vmYWz7vvtnb9ukakirwNPkJbdHYS9AmMa8NSlc3QMrz5q4EY4HQpeloYmFPMlhkoLLNe4N75+s1q8cZTHWT2gln8/ne0jHUSCDia9ZIseUVd9USeEOHqcimRzLV4b6qE0YOIFHFmEAFOMkr3KM1ySwZDirvFXGXYTdBV5fiD1nxaze5vUd09FADj8Z5cYVvDIUY9nCq/PVizDf23ZEDCvx5IjBNpqE7KYSZyervgB6RCCcsfpe85YpJMSCauMZpGrh2hz/0ihSn36yQJLVH32iTORibWvyjDy8iTj76Vv/pYFxiwiGMb/cEe2A4DQsq0Lnzsh6FDpyEEDfbaFpM6DavBQf52hQkBpl35m6HRhbfDW43N8yFtUU4wEXlWNINPqZ2o05bw0KIGnj3Tsm0JJKKPWx22xXflyrIiFy5QJBvXjLp5xCrIrMzx0g8sN4HTjWVR/ywJur31puCuuO1B1qXG1yqQI0a/ElB4pp+DgDXAHLn3xSZ7ZqaxToCTy52K26H24SyGFP3Uiocw/3UuJmrkKJrVvs4/EOatraMkcUQweaLM+XZplipQOFt/l5+a 1LwDxgCT Od39TmXH8nRRxprDOCLmUEbthob9sFNDuAuqVb1faQTJBtfYkGxn9jNzevQv9esOSYFIYORBBVEebMuS91L+i6wcDkDEJ+BYdVNw+DP4N+AsFS5pEeToE1wE7mC1tLNvmExgV9k7t2GJ0+Jhdf9NL6ru7Zf4Y7zAoCiiplbjLPA+NDvyQhJk4ZDZl8fWWZqVa41igcPj7eDF723i0FDfeIPrDdRmkpxYB+T1d5gmCNJ4VeYgnvTK1MyxMLcVlcZ3Cqv21cy4cb6fg3m4fpDZYXLDxv7RZ/vgcPfxba0sQO/41xg5HTPWFomfMXm2YGhjryBnTd9raFsXjR2V2serjo4hHvlytfqosvJs+GzATsF+Mm3gIXwZftWS0p4gmpXvi4cIHhmKxXz+L7sawpoQvbqAMn4mIc+OvLUEMJ5CIFOlTYWLZH2CPM9G8OzQ5gecKiMH3Ij2AHaPMFLanNMYYP5xKWZknSG8paYiL4HM9MCsAM3rdoajxkbBaibqxtLZQf2qkFn7rOjyaiZYnKemdjcfsK0LG7aBjZcF08ZbjlXydQc6ScxOVsplaDBO+GgryGaPbaBaxwybLXcyWdWZjpQXr81k8qGCD5g6Bc4xtqRe2hSGmLuVybRsRnihkDOCCkPXr Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: ------=_Part_54512_70847931.1773200029352 Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: base64 U3ViamVjdDogW0JVR10gbWFwbGVfdHJlZTogS0NTQU46IGRhdGEtcmFjZSBpbiBtYXNfdG9waWFy eV9yZXBsYWNlIC8gbWFzX3dhbGsKRGVhciBNYWludGFpbmVycywKV2UgYXJlIHdyaXRpbmcgdG8g cmVwb3J0IGEgS0NTQU4tZGV0ZWN0ZWQgZGF0YS1yYWNlIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIExp bnV4IGtlcm5lbC4gVGhpcyBidWcgd2FzIGZvdW5kIGJ5IG91ciBjdXN0b20gZnV6emluZyB0b29s LCBSYWNlUGlsb3QuIFRoZSBidWcgb2NjdXJzIGluIHRoZSBtYXBsZSB0cmVlIGNvbXBvbmVudCBk dXJpbmcgY29uY3VycmVudCBub2RlIHJlcGxhY2VtZW50IGFuZCB0cmVlIHRyYXZlcnNhbCB2aWEg UkNVIHdhbGsgb3BlcmF0aW9ucy4gV2Ugb2JzZXJ2ZWQgdGhpcyBvbiB0aGUgTGludXgga2VybmVs IHZlcnNpb24gNi4xOC4wLTA4NjkxLWcyMDYxZjE4YWQ3NmUtZGlydHkuCkNhbGwgVHJhY2UgJiBD b250ZXh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpCVUc6IEtDU0FOOiBkYXRhLXJhY2UgaW4gbWFzX3RvcGlhcnlfcmVw bGFjZSAvIG1hc193YWxrCndyaXRlIHRvIDB4ZmZmZjg4ODAwYzQ1ZDYwMCBvZiA4IGJ5dGVzIGJ5 IHRhc2sgMTczMzEgb24gY3B1IDE6CiBtdGVfc2V0X25vZGVfZGVhZCBsaWIvbWFwbGVfdHJlZS5j OjMzNSBbaW5saW5lXQogbWFzX3B1dF9pbl90cmVlIGxpYi9tYXBsZV90cmVlLmM6MTU3MSBbaW5s aW5lXQogbWFzX3RvcGlhcnlfcmVwbGFjZSsweDE0ZS8weDE0YTAgbGliL21hcGxlX3RyZWUuYzoy MzUwCiBtYXNfd21iX3JlcGxhY2UgbGliL21hcGxlX3RyZWUuYzoyNDQzIFtpbmxpbmVdCiBtYXNf c3BsaXQgbGliL21hcGxlX3RyZWUuYzozMDY3IFtpbmxpbmVdCiBtYXNfY29tbWl0X2Jfbm9kZSBs aWIvbWFwbGVfdHJlZS5jOjMwODcgW2lubGluZV0KIG1hc193cl9ibm9kZSsweGQyYS8weDIzYjAg bGliL21hcGxlX3RyZWUuYzozNzU1CiBtYXNfd3Jfc3RvcmVfZW50cnkrMHg3N2IvMHgxMTIwIGxp Yi9tYXBsZV90cmVlLmM6Mzc4NwogbWFzX3N0b3JlX3ByZWFsbG9jKzB4NDdjLzB4YTYwIGxpYi9t YXBsZV90cmVlLmM6NTE5MQogdm1hX2l0ZXJfc3RvcmVfb3ZlcndyaXRlIG1tL3ZtYS5oOjQ4MSBb aW5saW5lXQogdm1hX2l0ZXJfc3RvcmVfbmV3IG1tL3ZtYS5oOjQ4OCBbaW5saW5lXQogdm1hX2Nv bXBsZXRlKzB4NmE5LzB4OGEwIG1tL3ZtYS5jOjM1MwogX19zcGxpdF92bWErMHg1ZmIvMHg2ZjAg bW0vdm1hLmM6NTY3CiBzcGxpdF92bWEgbW0vdm1hLmM6NTk3IFtpbmxpbmVdCiB2bWFfbW9kaWZ5 KzB4YWM4LzB4ZGQwIG1tL3ZtYS5jOjE2MzUKIHZtYV9tb2RpZnlfZmxhZ3MrMHgxNmMvMHgxYTAg bW0vdm1hLmM6MTY2MgogbXByb3RlY3RfZml4dXArMHgxNzAvMHg2NjAgbW0vbXByb3RlY3QuYzo4 MTYKIGRvX21wcm90ZWN0X3BrZXkrMHg1ZmUvMHg5MzAgbW0vbXByb3RlY3QuYzo5OTAKIF9fZG9f c3lzX21wcm90ZWN0IG1tL21wcm90ZWN0LmM6MTAxMSBbaW5saW5lXQogX19zZV9zeXNfbXByb3Rl Y3QgbW0vbXByb3RlY3QuYzoxMDA4IFtpbmxpbmVdCiBfX3g2NF9zeXNfbXByb3RlY3QrMHg0Ny8w eDYwIG1tL21wcm90ZWN0LmM6MTAwOAogeDY0X3N5c19jYWxsKzB4YzZjLzB4MjAzMCBhcmNoL3g4 Ni9pbmNsdWRlL2dlbmVyYXRlZC9hc20vc3lzY2FsbHNfNjQuaDoxMQogZG9fc3lzY2FsbF94NjQg YXJjaC94ODYvZW50cnkvc3lzY2FsbF82NC5jOjYzIFtpbmxpbmVdCiBkb19zeXNjYWxsXzY0KzB4 YWUvMHgyYzAgYXJjaC94ODYvZW50cnkvc3lzY2FsbF82NC5jOjk0CiBlbnRyeV9TWVNDQUxMXzY0 X2FmdGVyX2h3ZnJhbWUrMHg3Ny8weDdmCnJlYWQgdG8gMHhmZmZmODg4MDBjNDVkNjAwIG9mIDgg Ynl0ZXMgYnkgdGFzayAxNzMzOSBvbiBjcHUgMDoKIG1hX2RlYWRfbm9kZSBsaWIvbWFwbGVfdHJl ZS5jOjU3NiBbaW5saW5lXQogbXRlX2RlYWRfbm9kZSBsaWIvbWFwbGVfdHJlZS5jOjU5MSBbaW5s aW5lXQogbWFzX3N0YXJ0IGxpYi9tYXBsZV90cmVlLmM6MTIxMSBbaW5saW5lXQogbWFzX3N0YXJ0 IGxpYi9tYXBsZV90cmVlLmM6MTE5NCBbaW5saW5lXQogbWFzX3N0YXRlX3dhbGsgbGliL21hcGxl X3RyZWUuYzozMzA2IFtpbmxpbmVdCiBtYXNfd2FsaysweDI1Ny8weDQwMCBsaWIvbWFwbGVfdHJl ZS5jOjQ2MTcKIGxvY2tfdm1hX3VuZGVyX3JjdSsweGQzLzB4NzEwIG1tL21tYXBfbG9jay5jOjIz OAogZG9fdXNlcl9hZGRyX2ZhdWx0IGFyY2gveDg2L21tL2ZhdWx0LmM6MTMyNyBbaW5saW5lXQog aGFuZGxlX3BhZ2VfZmF1bHQgYXJjaC94ODYvbW0vZmF1bHQuYzoxNDc2IFtpbmxpbmVdCiBleGNf cGFnZV9mYXVsdCsweDI5NC8weDEwZDAgYXJjaC94ODYvbW0vZmF1bHQuYzoxNTMyCiBhc21fZXhj X3BhZ2VfZmF1bHQrMHgyNi8weDMwIGFyY2gveDg2L2luY2x1ZGUvYXNtL2lkdGVudHJ5Lmg6NjE4 CnZhbHVlIGNoYW5nZWQ6IDB4ZmZmZjg4ODAyZDYzZDE0MSAtPiAweGZmZmY4ODgwMGM0NWQ2MDAK UmVwb3J0ZWQgYnkgS2VybmVsIENvbmN1cnJlbmN5IFNhbml0aXplciBvbjoKQ1BVOiAwIFVJRDog MCBQSUQ6IDE3MzM5IENvbW06IHN5ei4zLjQ1MSBOb3QgdGFpbnRlZCA2LjE4LjAtMDg2OTEtZzIw NjFmMThhZDc2ZS1kaXJ0eSAjNDQgUFJFRU1QVCh2b2x1bnRhcnkpCkhhcmR3YXJlIG5hbWU6IFFF TVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBCSU9TIDEuMTUuMC0xIDA0LzAx LzIwMTQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CkV4ZWN1dGlvbiBGbG93ICYgQ29kZSBDb250ZXh0ClRoZSBDUFUgMSB0 YXNrIG1vZGlmaWVzIG1lbW9yeSByZWdpb25zIHZpYSBgbXByb3RlY3RgIGNhdXNpbmcgYSBWTUEg c3BsaXQuIEl0IGNhbGxzIGBtYXNfc3RvcmVfcHJlYWxsb2MoKWAgdG8gdXBkYXRlIHRoZSBtYXBs ZSB0cmVlIHN0cnVjdHVyZS4gRHVyaW5nIG5vZGUgcmVwbGFjZW1lbnQgdGhyb3VnaCBgbWFzX3Rv cGlhcnlfcmVwbGFjZSgpYCwgYG10ZV9zZXRfbm9kZV9kZWFkKClgIHdyaXRlcyB0aGUgcGFyZW50 IHBvaW50ZXIgdG8gaXRzZWxmIHRvIG1hcmsgdGhlIG5vZGUgYXMgZGVhZCB1c2luZyBhIHBsYWlu IEMgc3RvcmU6CmBgYGMKLy8gbGliL21hcGxlX3RyZWUuYwpzdGF0aWMgaW5saW5lIHZvaWQgbXRl X3NldF9ub2RlX2RlYWQoc3RydWN0IG1hcGxlX2Vub2RlICptbikKewogbXRlX3RvX25vZGUobW4p LT5wYXJlbnQgPSBtYV9wYXJlbnRfcHRyKG10ZV90b19ub2RlKG1uKSk7IC8vIDwtLSBXcml0ZQog c21wX3dtYigpOyAvKiBOZWVkZWQgZm9yIFJDVSAqLwp9CmBgYApNZWFud2hpbGUsIENQVSAwIGNv bmN1cnJlbnRseSBoYW5kbGVzIGEgcGFnZSBmYXVsdCBmb3IgdXNlciBtZW1vcnkgdmlhIFJDVSBs b29rdXAgdXNpbmcgYGxvY2tfdm1hX3VuZGVyX3JjdSgpYC4gRHVyaW5nIGBtYXNfd2FsaygpYCwg YG1hc19zdGFydCgpYCByZWFkcyB0aGUgcm9vdCBub2RlIGFuZCBjaGVja3MgaWYgaXQncyBkZWFk IHVzaW5nIGBtdGVfZGVhZF9ub2RlKCkgLT4gbWFfZGVhZF9ub2RlKClgLiBUaGUgcmVhZGVyIHVu Y29uZGl0aW9uYWxseSBmZXRjaGVzIGBub2RlLT5wYXJlbnRgIHVzaW5nIGEgc2ltcGxlIG1lbW9y eSBhY2Nlc3MgaW4gQzoKYGBgYwovLyBsaWIvbWFwbGVfdHJlZS5jCnN0YXRpYyBfX2Fsd2F5c19p bmxpbmUgYm9vbCBtYV9kZWFkX25vZGUoY29uc3Qgc3RydWN0IG1hcGxlX25vZGUgKm5vZGUpCnsK IHN0cnVjdCBtYXBsZV9ub2RlICpwYXJlbnQ7CiAvKiBEbyBub3QgcmVvcmRlciByZWFkcyBmcm9t IHRoZSBub2RlIHByaW9yIHRvIHRoZSBwYXJlbnQgY2hlY2sgKi8KIHNtcF9ybWIoKTsKIHBhcmVu dCA9ICh2b2lkICopKCh1bnNpZ25lZCBsb25nKW5vZGUtPnBhcmVudCAmIH5NQVBMRV9OT0RFX01B U0spOyAvLyA8LS0gTG9ja2xlc3MgUmVhZAogcmV0dXJuIChwYXJlbnQgPT0gbm9kZSk7Cn0KYGBg ClJvb3QgQ2F1c2UgQW5hbHlzaXMKQSBkYXRhIHJhY2Ugb2NjdXJzIG92ZXIgYG5vZGUtPnBhcmVu dGAuIFRoZSB3cml0ZXIgZGlyZWN0bHkgYXNzaWducyBgbm9kZS0+cGFyZW50YCB0byBpdHNlbGYg KHdpdGhvdXQgYXRvbWljIGFubm90YXRpb25zKSBkdXJpbmcgdHJlZSBzdHJ1Y3R1cmFsIHVwZGF0 ZXMuIFNpbXVsdGFuZW91c2x5LCBhIGxvY2tsZXNzIHJlYWRlciBjaGVja3MgYG5vZGUtPnBhcmVu dGAgdG8gZGVjaWRlIHdoZXRoZXIgaXQgaGFzIHN0ZXBwZWQgaW50byBhIGRlYWQgc3VidHJlZS4g VGhlIGxhY2sgb2YgYFJFQURfT05DRSgpYC9gV1JJVEVfT05DRSgpYCBleHBvc2VzIHRoZSBhY2Nl c3MgdG8gcG90ZW50aWFsIHJlYWQgdGVhcmluZyBvciBzdG9yZSB0ZWFyaW5nIGZyb20gY29tcGls ZXIgb3B0aW1pemF0aW9ucywgYnJlYWtpbmcgdGhlIGd1YXJhbnRlZSBvZiBhIGNsZWFuIHBvaW50 ZXIgbG9hZC4KVW5mb3J0dW5hdGVseSwgd2Ugd2VyZSB1bmFibGUgdG8gZ2VuZXJhdGUgYSByZXBy b2R1Y2VyIGZvciB0aGlzIGJ1Zy4KUG90ZW50aWFsIEltcGFjdApJZiBgbWFfZGVhZF9ub2RlKClg IHJlYWRzIGEgcGFydGlhbGx5IHRvcm4gb3Igb3V0LW9mLWRhdGUgcG9pbnRlciBkdWUgdG8gY2Fj aGluZyBvciBob2lzdGluZywgYSBkZWFkIG5vZGUgY291bGQgaW5jb3JyZWN0bHkgYXBwZWFyIGFs aXZlLiBUaGlzIHdvdWxkIGFsbG93IGFuIFJDVSByZWFkZXIgdG8gY29udGludWUgbmF2aWdhdGlu ZyBpbnRvIGEgZnJlZWQgb3IgY29ycnVwdGVkIHN1YnRyZWUsIGxlYWRpbmcgdG8gdXNlLWFmdGVy LWZyZWUgY29uZGl0aW9ucywgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlcywgaW5maW5pdGUgdHJh dmVyc2FsIGxvb3BzIGluc2lkZSBgbWFwbGVfdHJlZWAgcm91dGluZyBhbGdvcml0aG1zLCBhbmQg ZXZlbnR1YWxseSBzeXN0ZW0gcGFuaWMgb3IgbG9jYWwgRG9TLgpQcm9wb3NlZCBGaXgKVG8gc2Fm ZWx5IHJlc29sdmUgdGhpcyBkYXRhLXJhY2Ugd2l0aG91dCBicmVha2luZyB0aGUgZmFzdCBSQ1Ug d2FsayBhcmNoaXRlY3R1cmUgbGF0ZW5jeSwgd2UgbXVzdCBhZGQgY29uY3VycmVudCBtZW1vcnkg YW5ub3RhdGlvbnMgdG8gYG5vZGUtPnBhcmVudGAgd2hlcmUgcmVhZGVycyBpbnRlcmFjdCB3aXRo IHdyaXRlcnMgbG9ja2xlc3NseS4gVGhlIHdyaXRlciBzaG91bGQgYXNzaWduIHRoZSBwYXJlbnQg dmlhIGBXUklURV9PTkNFKClgLCBhbmQgdGhlIHJlYWRlciBzaG91bGQgZmV0Y2ggdGhlIHBhcmVu dCB1c2luZyBgUkVBRF9PTkNFKClgLgpgYGBkaWZmCi0tLSBhL2xpYi9tYXBsZV90cmVlLmMKKysr IGIvbGliL21hcGxlX3RyZWUuYwpAQCAtMzMyLDcgKzMzMiw3IEBAIHN0YXRpYyBpbmxpbmUgc3Ry dWN0IG1hcGxlX25vZGUgKm1hc19tbihjb25zdCBzdHJ1Y3QgbWFfc3RhdGUgKm1hcykKIHN0YXRp YyBpbmxpbmUgdm9pZCBtdGVfc2V0X25vZGVfZGVhZChzdHJ1Y3QgbWFwbGVfZW5vZGUgKm1uKQog ewotIG10ZV90b19ub2RlKG1uKS0+cGFyZW50ID0gbWFfcGFyZW50X3B0cihtdGVfdG9fbm9kZSht bikpOworIFdSSVRFX09OQ0UobXRlX3RvX25vZGUobW4pLT5wYXJlbnQsIG1hX3BhcmVudF9wdHIo bXRlX3RvX25vZGUobW4pKSk7CiAgc21wX3dtYigpOyAvKiBOZWVkZWQgZm9yIFJDVSAqLwogfQpA QCAtNTc2LDcgKzU3Niw4IEBAIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgYm9vbCBtYV9kZWFkX25v ZGUoY29uc3Qgc3RydWN0IG1hcGxlX25vZGUgKm5vZGUpCiAgLyogRG8gbm90IHJlb3JkZXIgcmVh ZHMgZnJvbSB0aGUgbm9kZSBwcmlvciB0byB0aGUgcGFyZW50IGNoZWNrICovCiAgc21wX3JtYigp OwotIHBhcmVudCA9ICh2b2lkICopKCh1bnNpZ25lZCBsb25nKW5vZGUtPnBhcmVudCAmIH5NQVBM RV9OT0RFX01BU0spOworIHBhcmVudCA9ICh2b2lkICopKCh1bnNpZ25lZCBsb25nKVJFQURfT05D RShub2RlLT5wYXJlbnQpICYKKyB+TUFQTEVfTk9ERV9NQVNLKTsKICByZXR1cm4gKHBhcmVudCA9 PSBub2RlKTsKIH0KYGBgCldlIHdvdWxkIGJlIGhpZ2hseSBob25vcmVkIGlmIHRoaXMgY291bGQg YmUgb2YgYW55IGhlbHAuCkJlc3QgcmVnYXJkcywKUmFjZVBpbG90IFRlYW0KCg== ------=_Part_54512_70847931.1773200029352 Content-Type: text/html; charset=GBK Content-Transfer-Encoding: base64 PGRpdiBkYXRhLW50ZXM9Im50ZXNfbWFpbF9ib2R5X3Jvb3QiIHN0eWxlPSJsaW5lLWhlaWdodDox Ljc7Y29sb3I6IzAwMDAwMDtmb250LXNpemU6MTRweDtmb250LWZhbWlseTpBcmlhbCI+PGRpdiBz dHlsZT0ibWFyZ2luOjA7Ij5TdWJqZWN0OiBbQlVHXSBtYXBsZV90cmVlOiBLQ1NBTjogZGF0YS1y YWNlIGluIG1hc190b3BpYXJ5X3JlcGxhY2UgLyBtYXNfd2Fsawo8L2Rpdj48ZGl2IHN0eWxlPSJt YXJnaW46MDsiPkRlYXIgTWFpbnRhaW5lcnMsCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+ V2UgYXJlIHdyaXRpbmcgdG8gcmVwb3J0IGEgS0NTQU4tZGV0ZWN0ZWQgZGF0YS1yYWNlIHZ1bG5l cmFiaWxpdHkgaW4gdGhlIExpbnV4IGtlcm5lbC4gVGhpcyBidWcgd2FzIGZvdW5kIGJ5IG91ciBj dXN0b20gZnV6emluZyB0b29sLCBSYWNlUGlsb3QuIFRoZSBidWcgb2NjdXJzIGluIHRoZSBtYXBs ZSB0cmVlIGNvbXBvbmVudCBkdXJpbmcgY29uY3VycmVudCBub2RlIHJlcGxhY2VtZW50IGFuZCB0 cmVlIHRyYXZlcnNhbCB2aWEgUkNVIHdhbGsgb3BlcmF0aW9ucy4gV2Ugb2JzZXJ2ZWQgdGhpcyBv biB0aGUgTGludXgga2VybmVsIHZlcnNpb24gNi4xOC4wLTA4NjkxLWcyMDYxZjE4YWQ3NmUtZGly dHkuCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+Q2FsbCBUcmFjZSAmYW1wOyBDb250ZXh0 CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjwvZGl2PjxkaXYgc3R5bGU9 Im1hcmdpbjowOyI+QlVHOiBLQ1NBTjogZGF0YS1yYWNlIGluIG1hc190b3BpYXJ5X3JlcGxhY2Ug LyBtYXNfd2Fsawo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPndyaXRlIHRvIDB4ZmZmZjg4 ODAwYzQ1ZDYwMCBvZiA4IGJ5dGVzIGJ5IHRhc2sgMTczMzEgb24gY3B1IDE6CjwvZGl2PjxkaXYg c3R5bGU9Im1hcmdpbjowOyI+Jm5ic3A7bXRlX3NldF9ub2RlX2RlYWQgbGliL21hcGxlX3RyZWUu YzozMzUgW2lubGluZV0KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDttYXNfcHV0 X2luX3RyZWUgbGliL21hcGxlX3RyZWUuYzoxNTcxIFtpbmxpbmVdCjwvZGl2PjxkaXYgc3R5bGU9 Im1hcmdpbjowOyI+Jm5ic3A7bWFzX3RvcGlhcnlfcmVwbGFjZSsweDE0ZS8weDE0YTAgbGliL21h cGxlX3RyZWUuYzoyMzUwCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+Jm5ic3A7bWFzX3dt Yl9yZXBsYWNlIGxpYi9tYXBsZV90cmVlLmM6MjQ0MyBbaW5saW5lXQo8L2Rpdj48ZGl2IHN0eWxl PSJtYXJnaW46MDsiPiZuYnNwO21hc19zcGxpdCBsaWIvbWFwbGVfdHJlZS5jOjMwNjcgW2lubGlu ZV0KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDttYXNfY29tbWl0X2Jfbm9kZSBs aWIvbWFwbGVfdHJlZS5jOjMwODcgW2lubGluZV0KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7 Ij4mbmJzcDttYXNfd3JfYm5vZGUrMHhkMmEvMHgyM2IwIGxpYi9tYXBsZV90cmVlLmM6Mzc1NQo8 L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwO21hc193cl9zdG9yZV9lbnRyeSsweDc3 Yi8weDExMjAgbGliL21hcGxlX3RyZWUuYzozNzg3CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjow OyI+Jm5ic3A7bWFzX3N0b3JlX3ByZWFsbG9jKzB4NDdjLzB4YTYwIGxpYi9tYXBsZV90cmVlLmM6 NTE5MQo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwO3ZtYV9pdGVyX3N0b3JlX292 ZXJ3cml0ZSBtbS92bWEuaDo0ODEgW2lubGluZV0KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7 Ij4mbmJzcDt2bWFfaXRlcl9zdG9yZV9uZXcgbW0vdm1hLmg6NDg4IFtpbmxpbmVdCjwvZGl2Pjxk aXYgc3R5bGU9Im1hcmdpbjowOyI+Jm5ic3A7dm1hX2NvbXBsZXRlKzB4NmE5LzB4OGEwIG1tL3Zt YS5jOjM1Mwo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwO19fc3BsaXRfdm1hKzB4 NWZiLzB4NmYwIG1tL3ZtYS5jOjU2Nwo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNw O3NwbGl0X3ZtYSBtbS92bWEuYzo1OTcgW2lubGluZV0KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2lu OjA7Ij4mbmJzcDt2bWFfbW9kaWZ5KzB4YWM4LzB4ZGQwIG1tL3ZtYS5jOjE2MzUKPC9kaXY+PGRp diBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDt2bWFfbW9kaWZ5X2ZsYWdzKzB4MTZjLzB4MWEwIG1t L3ZtYS5jOjE2NjIKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDttcHJvdGVjdF9m aXh1cCsweDE3MC8weDY2MCBtbS9tcHJvdGVjdC5jOjgxNgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJn aW46MDsiPiZuYnNwO2RvX21wcm90ZWN0X3BrZXkrMHg1ZmUvMHg5MzAgbW0vbXByb3RlY3QuYzo5 OTAKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDtfX2RvX3N5c19tcHJvdGVjdCBt bS9tcHJvdGVjdC5jOjEwMTEgW2lubGluZV0KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4m bmJzcDtfX3NlX3N5c19tcHJvdGVjdCBtbS9tcHJvdGVjdC5jOjEwMDggW2lubGluZV0KPC9kaXY+ PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDtfX3g2NF9zeXNfbXByb3RlY3QrMHg0Ny8weDYw IG1tL21wcm90ZWN0LmM6MTAwOAo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwO3g2 NF9zeXNfY2FsbCsweGM2Yy8weDIwMzAgYXJjaC94ODYvaW5jbHVkZS9nZW5lcmF0ZWQvYXNtL3N5 c2NhbGxzXzY0Lmg6MTEKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDtkb19zeXNj YWxsX3g2NCBhcmNoL3g4Ni9lbnRyeS9zeXNjYWxsXzY0LmM6NjMgW2lubGluZV0KPC9kaXY+PGRp diBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDtkb19zeXNjYWxsXzY0KzB4YWUvMHgyYzAgYXJjaC94 ODYvZW50cnkvc3lzY2FsbF82NC5jOjk0CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+Jm5i c3A7ZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NzcvMHg3Zgo8L2Rpdj48ZGl2IHN0 eWxlPSJtYXJnaW46MDsiPnJlYWQgdG8gMHhmZmZmODg4MDBjNDVkNjAwIG9mIDggYnl0ZXMgYnkg dGFzayAxNzMzOSBvbiBjcHUgMDoKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDtt YV9kZWFkX25vZGUgbGliL21hcGxlX3RyZWUuYzo1NzYgW2lubGluZV0KPC9kaXY+PGRpdiBzdHls ZT0ibWFyZ2luOjA7Ij4mbmJzcDttdGVfZGVhZF9ub2RlIGxpYi9tYXBsZV90cmVlLmM6NTkxIFtp bmxpbmVdCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+Jm5ic3A7bWFzX3N0YXJ0IGxpYi9t YXBsZV90cmVlLmM6MTIxMSBbaW5saW5lXQo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZu YnNwO21hc19zdGFydCBsaWIvbWFwbGVfdHJlZS5jOjExOTQgW2lubGluZV0KPC9kaXY+PGRpdiBz dHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDttYXNfc3RhdGVfd2FsayBsaWIvbWFwbGVfdHJlZS5jOjMz MDYgW2lubGluZV0KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDttYXNfd2Fsaysw eDI1Ny8weDQwMCBsaWIvbWFwbGVfdHJlZS5jOjQ2MTcKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2lu OjA7Ij4mbmJzcDtsb2NrX3ZtYV91bmRlcl9yY3UrMHhkMy8weDcxMCBtbS9tbWFwX2xvY2suYzoy MzgKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDtkb191c2VyX2FkZHJfZmF1bHQg YXJjaC94ODYvbW0vZmF1bHQuYzoxMzI3IFtpbmxpbmVdCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdp bjowOyI+Jm5ic3A7aGFuZGxlX3BhZ2VfZmF1bHQgYXJjaC94ODYvbW0vZmF1bHQuYzoxNDc2IFtp bmxpbmVdCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+Jm5ic3A7ZXhjX3BhZ2VfZmF1bHQr MHgyOTQvMHgxMGQwIGFyY2gveDg2L21tL2ZhdWx0LmM6MTUzMgo8L2Rpdj48ZGl2IHN0eWxlPSJt YXJnaW46MDsiPiZuYnNwO2FzbV9leGNfcGFnZV9mYXVsdCsweDI2LzB4MzAgYXJjaC94ODYvaW5j bHVkZS9hc20vaWR0ZW50cnkuaDo2MTgKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij52YWx1 ZSBjaGFuZ2VkOiAweGZmZmY4ODgwMmQ2M2QxNDEgLSZndDsgMHhmZmZmODg4MDBjNDVkNjAwCjwv ZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+UmVwb3J0ZWQgYnkgS2VybmVsIENvbmN1cnJlbmN5 IFNhbml0aXplciBvbjoKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij5DUFU6IDAgVUlEOiAw IFBJRDogMTczMzkgQ29tbTogc3l6LjMuNDUxIE5vdCB0YWludGVkIDYuMTguMC0wODY5MS1nMjA2 MWYxOGFkNzZlLWRpcnR5ICM0NCBQUkVFTVBUKHZvbHVudGFyeSkgCjwvZGl2PjxkaXYgc3R5bGU9 Im1hcmdpbjowOyI+SGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0MEZYICsgUElJ WCwgMTk5NiksIEJJT1MgMS4xNS4wLTEgMDQvMDEvMjAxNAo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJn aW46MDsiPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPkV4ZWN1dGlvbiBG bG93ICZhbXA7IENvZGUgQ29udGV4dAo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPlRoZSBD UFUgMSB0YXNrIG1vZGlmaWVzIG1lbW9yeSByZWdpb25zIHZpYSBgbXByb3RlY3RgIGNhdXNpbmcg YSBWTUEgc3BsaXQuIEl0IGNhbGxzIGBtYXNfc3RvcmVfcHJlYWxsb2MoKWAgdG8gdXBkYXRlIHRo ZSBtYXBsZSB0cmVlIHN0cnVjdHVyZS4gRHVyaW5nIG5vZGUgcmVwbGFjZW1lbnQgdGhyb3VnaCBg bWFzX3RvcGlhcnlfcmVwbGFjZSgpYCwgYG10ZV9zZXRfbm9kZV9kZWFkKClgIHdyaXRlcyB0aGUg cGFyZW50IHBvaW50ZXIgdG8gaXRzZWxmIHRvIG1hcmsgdGhlIG5vZGUgYXMgZGVhZCB1c2luZyBh IHBsYWluIEMgc3RvcmU6CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+YGBgYwo8L2Rpdj48 ZGl2IHN0eWxlPSJtYXJnaW46MDsiPi8vIGxpYi9tYXBsZV90cmVlLmMKPC9kaXY+PGRpdiBzdHls ZT0ibWFyZ2luOjA7Ij5zdGF0aWMgaW5saW5lIHZvaWQgbXRlX3NldF9ub2RlX2RlYWQoc3RydWN0 IG1hcGxlX2Vub2RlICptbikKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij57CjwvZGl2Pjxk aXYgc3R5bGU9Im1hcmdpbjowOyI+Jm5ic3A7bXRlX3RvX25vZGUobW4pLSZndDtwYXJlbnQgPSBt YV9wYXJlbnRfcHRyKG10ZV90b19ub2RlKG1uKSk7IC8vICZsdDstLSBXcml0ZQo8L2Rpdj48ZGl2 IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwO3NtcF93bWIoKTsgLyogTmVlZGVkIGZvciBSQ1UgKi8K PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij59CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjow OyI+YGBgCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+TWVhbndoaWxlLCBDUFUgMCBjb25j dXJyZW50bHkgaGFuZGxlcyBhIHBhZ2UgZmF1bHQgZm9yIHVzZXIgbWVtb3J5IHZpYSBSQ1UgbG9v a3VwIHVzaW5nIGBsb2NrX3ZtYV91bmRlcl9yY3UoKWAuIER1cmluZyBgbWFzX3dhbGsoKWAsIGBt YXNfc3RhcnQoKWAgcmVhZHMgdGhlIHJvb3Qgbm9kZSBhbmQgY2hlY2tzIGlmIGl0J3MgZGVhZCB1 c2luZyBgbXRlX2RlYWRfbm9kZSgpIC0mZ3Q7IG1hX2RlYWRfbm9kZSgpYC4gVGhlIHJlYWRlciB1 bmNvbmRpdGlvbmFsbHkgZmV0Y2hlcyBgbm9kZS0mZ3Q7cGFyZW50YCB1c2luZyBhIHNpbXBsZSBt ZW1vcnkgYWNjZXNzIGluIEM6CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+YGBgYwo8L2Rp dj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPi8vIGxpYi9tYXBsZV90cmVlLmMKPC9kaXY+PGRpdiBz dHlsZT0ibWFyZ2luOjA7Ij5zdGF0aWMgX19hbHdheXNfaW5saW5lIGJvb2wgbWFfZGVhZF9ub2Rl KGNvbnN0IHN0cnVjdCBtYXBsZV9ub2RlICpub2RlKQo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46 MDsiPnsKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDtzdHJ1Y3QgbWFwbGVfbm9k ZSAqcGFyZW50Owo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwOy8qIERvIG5vdCBy ZW9yZGVyIHJlYWRzIGZyb20gdGhlIG5vZGUgcHJpb3IgdG8gdGhlIHBhcmVudCBjaGVjayAqLwo8 L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwO3NtcF9ybWIoKTsKPC9kaXY+PGRpdiBz dHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDtwYXJlbnQgPSAodm9pZCAqKSgodW5zaWduZWQgbG9uZylu b2RlLSZndDtwYXJlbnQgJmFtcDsgfk1BUExFX05PREVfTUFTSyk7IC8vICZsdDstLSBMb2NrbGVz cyBSZWFkCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+Jm5ic3A7cmV0dXJuIChwYXJlbnQg PT0gbm9kZSk7CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+fQo8L2Rpdj48ZGl2IHN0eWxl PSJtYXJnaW46MDsiPmBgYAo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPlJvb3QgQ2F1c2Ug QW5hbHlzaXMKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij5BIGRhdGEgcmFjZSBvY2N1cnMg b3ZlciBgbm9kZS0mZ3Q7cGFyZW50YC4gVGhlIHdyaXRlciBkaXJlY3RseSBhc3NpZ25zIGBub2Rl LSZndDtwYXJlbnRgIHRvIGl0c2VsZiAod2l0aG91dCBhdG9taWMgYW5ub3RhdGlvbnMpIGR1cmlu ZyB0cmVlIHN0cnVjdHVyYWwgdXBkYXRlcy4gU2ltdWx0YW5lb3VzbHksIGEgbG9ja2xlc3MgcmVh ZGVyIGNoZWNrcyBgbm9kZS0mZ3Q7cGFyZW50YCB0byBkZWNpZGUgd2hldGhlciBpdCBoYXMgc3Rl cHBlZCBpbnRvIGEgZGVhZCBzdWJ0cmVlLiBUaGUgbGFjayBvZiBgUkVBRF9PTkNFKClgL2BXUklU RV9PTkNFKClgIGV4cG9zZXMgdGhlIGFjY2VzcyB0byBwb3RlbnRpYWwgcmVhZCB0ZWFyaW5nIG9y IHN0b3JlIHRlYXJpbmcgZnJvbSBjb21waWxlciBvcHRpbWl6YXRpb25zLCBicmVha2luZyB0aGUg Z3VhcmFudGVlIG9mIGEgY2xlYW4gcG9pbnRlciBsb2FkLgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJn aW46MDsiPlVuZm9ydHVuYXRlbHksIHdlIHdlcmUgdW5hYmxlIHRvIGdlbmVyYXRlIGEgcmVwcm9k dWNlciBmb3IgdGhpcyBidWcuCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+UG90ZW50aWFs IEltcGFjdAo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPklmIGBtYV9kZWFkX25vZGUoKWAg cmVhZHMgYSBwYXJ0aWFsbHkgdG9ybiBvciBvdXQtb2YtZGF0ZSBwb2ludGVyIGR1ZSB0byBjYWNo aW5nIG9yIGhvaXN0aW5nLCBhIGRlYWQgbm9kZSBjb3VsZCBpbmNvcnJlY3RseSBhcHBlYXIgYWxp dmUuIFRoaXMgd291bGQgYWxsb3cgYW4gUkNVIHJlYWRlciB0byBjb250aW51ZSBuYXZpZ2F0aW5n IGludG8gYSBmcmVlZCBvciBjb3JydXB0ZWQgc3VidHJlZSwgbGVhZGluZyB0byB1c2UtYWZ0ZXIt ZnJlZSBjb25kaXRpb25zLCBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2VzLCBpbmZpbml0ZSB0cmF2 ZXJzYWwgbG9vcHMgaW5zaWRlIGBtYXBsZV90cmVlYCByb3V0aW5nIGFsZ29yaXRobXMsIGFuZCBl dmVudHVhbGx5IHN5c3RlbSBwYW5pYyBvciBsb2NhbCBEb1MuCjwvZGl2PjxkaXYgc3R5bGU9Im1h cmdpbjowOyI+UHJvcG9zZWQgRml4CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+VG8gc2Fm ZWx5IHJlc29sdmUgdGhpcyBkYXRhLXJhY2Ugd2l0aG91dCBicmVha2luZyB0aGUgZmFzdCBSQ1Ug d2FsayBhcmNoaXRlY3R1cmUgbGF0ZW5jeSwgd2UgbXVzdCBhZGQgY29uY3VycmVudCBtZW1vcnkg YW5ub3RhdGlvbnMgdG8gYG5vZGUtJmd0O3BhcmVudGAgd2hlcmUgcmVhZGVycyBpbnRlcmFjdCB3 aXRoIHdyaXRlcnMgbG9ja2xlc3NseS4gVGhlIHdyaXRlciBzaG91bGQgYXNzaWduIHRoZSBwYXJl bnQgdmlhIGBXUklURV9PTkNFKClgLCBhbmQgdGhlIHJlYWRlciBzaG91bGQgZmV0Y2ggdGhlIHBh cmVudCB1c2luZyBgUkVBRF9PTkNFKClgLgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPmBg YGRpZmYKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4tLS0gYS9saWIvbWFwbGVfdHJlZS5j CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+KysrIGIvbGliL21hcGxlX3RyZWUuYwo8L2Rp dj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPkBAIC0zMzIsNyArMzMyLDcgQEAgc3RhdGljIGlubGlu ZSBzdHJ1Y3QgbWFwbGVfbm9kZSAqbWFzX21uKGNvbnN0IHN0cnVjdCBtYV9zdGF0ZSAqbWFzKQo8 L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwO3N0YXRpYyBpbmxpbmUgdm9pZCBtdGVf c2V0X25vZGVfZGVhZChzdHJ1Y3QgbWFwbGVfZW5vZGUgKm1uKQo8L2Rpdj48ZGl2IHN0eWxlPSJt YXJnaW46MDsiPiZuYnNwO3sKPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4tCW10ZV90b19u b2RlKG1uKS0mZ3Q7cGFyZW50ID0gbWFfcGFyZW50X3B0cihtdGVfdG9fbm9kZShtbikpOwo8L2Rp dj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPisJV1JJVEVfT05DRShtdGVfdG9fbm9kZShtbiktJmd0 O3BhcmVudCwgbWFfcGFyZW50X3B0cihtdGVfdG9fbm9kZShtbikpKTsKPC9kaXY+PGRpdiBzdHls ZT0ibWFyZ2luOjA7Ij4mbmJzcDsgc21wX3dtYigpOyAvKiBOZWVkZWQgZm9yIFJDVSAqLwo8L2Rp dj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwO30KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2lu OjA7Ij5AQCAtNTc2LDcgKzU3Niw4IEBAIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgYm9vbCBtYV9k ZWFkX25vZGUoY29uc3Qgc3RydWN0IG1hcGxlX25vZGUgKm5vZGUpCjwvZGl2PjxkaXYgc3R5bGU9 Im1hcmdpbjowOyI+Jm5ic3A7IC8qIERvIG5vdCByZW9yZGVyIHJlYWRzIGZyb20gdGhlIG5vZGUg cHJpb3IgdG8gdGhlIHBhcmVudCBjaGVjayAqLwo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsi PiZuYnNwOyBzbXBfcm1iKCk7CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+LQlwYXJlbnQg PSAodm9pZCAqKSgodW5zaWduZWQgbG9uZylub2RlLSZndDtwYXJlbnQgJmFtcDsgfk1BUExFX05P REVfTUFTSyk7CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+KwlwYXJlbnQgPSAodm9pZCAq KSgodW5zaWduZWQgbG9uZylSRUFEX09OQ0Uobm9kZS0mZ3Q7cGFyZW50KSAmYW1wOwo8L2Rpdj48 ZGl2IHN0eWxlPSJtYXJnaW46MDsiPisJCQkgIH5NQVBMRV9OT0RFX01BU0spOwo8L2Rpdj48ZGl2 IHN0eWxlPSJtYXJnaW46MDsiPiZuYnNwOyByZXR1cm4gKHBhcmVudCA9PSBub2RlKTsKPC9kaXY+ PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4mbmJzcDt9CjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjow OyI+YGBgCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+V2Ugd291bGQgYmUgaGlnaGx5IGhv bm9yZWQgaWYgdGhpcyBjb3VsZCBiZSBvZiBhbnkgaGVscC4KPC9kaXY+PGRpdiBzdHlsZT0ibWFy Z2luOjA7Ij5CZXN0IHJlZ2FyZHMsCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+UmFjZVBp bG90IFRlYW0KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij48YnI+PC9kaXY+PGRpdiBzdHls ZT0ibWFyZ2luOjA7Ij4KPC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOjA7Ij4KPC9kaXY+PGRpdiBz dHlsZT0ibWFyZ2luOjA7Ij4gCjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjowOyI+IAo8L2Rpdj48 ZGl2IHN0eWxlPSJtYXJnaW46MDsiPgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPgo8L2Rp dj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPgo8 L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsi Pgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46 MDsiPgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJn aW46MDsiPgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPgo8L2Rpdj48ZGl2IHN0eWxlPSJt YXJnaW46MDsiPgo8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46MDsiPgo8L2Rpdj48ZGl2IHN0eWxl PSJtYXJnaW46MDsiPgo8L2Rpdj48L2Rpdj4= ------=_Part_54512_70847931.1773200029352--