From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AE5D233737; Wed, 30 Apr 2025 09:31:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746005508; cv=none; b=VDNtqcyjn7c9iB9TOgblg/HcAQb6VmbFuOHBlnm/kSo7APsdoUvbz30POkbobQl+U7oAd+6jp1X7oRgKQPbsGDNG12hn0HcBFvPqoOBpusLFHXB5IqNSCvdP0VRN6uEAAGDYZ0jhQ0bZ2PPsWBcpZxLU84FoRxMpCv5F3uIYUxs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746005508; c=relaxed/simple; bh=IqzecsTS5jQEPq8sRVZ94A5HevgLaryCIJLHgryr8ks=; h=Date:From:To:Cc:Subject:Content-Type:MIME-Version:Message-ID; b=ttk/rlzEByIrG5VQvPmymeEJZuMA+Vk3XH8DB3wa5xj0xOVk95zhnkfKnVC0i90Nt9r81jLj/RLIk8CaEqTnM+rAt34QZmCENRFo35HQ1eQhqHM43i9zXFxGSKgkDHzmU5IxPb/GCMDCMrUXsZ+hdG/b3AKgw03NLFzSpmJ+tSk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=Uimd+szn; arc=none smtp.client-ip=117.135.210.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="Uimd+szn" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:Content-Type:MIME-Version: Message-ID; bh=IqzecsTS5jQEPq8sRVZ94A5HevgLaryCIJLHgryr8ks=; b=U imd+sznk5GwtDs953549uOXcXOXFlQo7V8T9e5KuZFRbqBZ/hnxLT5Ch9ljaXK6h J/uYWFuuHvf/vd+H974kiDNgXh5nm2ZL3AYF+9SIkwS3hepavIpLbgTu2wLHwRMC 4f3OCVxZXDTaNy0SDACDF5yJPM04vzfcReV5ukE0Bg= Received: from luckd0g$163.com ( [183.205.138.3] ) by ajax-webmail-wmsvr-40-104 (Coremail) ; Wed, 30 Apr 2025 17:31:17 +0800 (CST) Date: Wed, 30 Apr 2025 17:31:17 +0800 (CST) From: "Jianzhou Zhao" To: stable@vger.kernel.org Cc: rostedt@goodmis.org, mhiramat@kernel.org, mathieu.desnoyers@efficios.com, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Subject: KASAN: slab-use-after-free Read in perf_uprobe_destroy in linux6.12.25(longterm maintenance) X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20240801(9da12a7b) Copyright (c) 2002-2025 www.mailtech.cn 163com X-NTES-SC: AL_Qu2fBPybukws4SWRbOkfmUwQh+Y4W8O0vv4j2Y9UOZ1wjC7p+ywORVlTL0n91PCDExqpnQiHTCVq+N9RbZdzVKg7rwbYEAecqjqLe16TSWT/Cg== Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=GBK Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <3a701a0.8f4a.196860948e3.Coremail.luckd0g@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID:aCgvCgD3H1rl7RFo7KqjAA--.2707W X-CM-SenderInfo: poxfyvkqj6il2tof0z/1tbiPR0+imgQ7T2MPwAJsG X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== SGVsbG8sIEkgZm91bmQgYSBwb3RlbnRpYWwgYnVnIHRpdGxlZCAiICAgIEtBU0FOOiBzbGFiLXVz ZS1hZnRlci1mcmVlIFJlYWQgaW4gcGVyZl91cHJvYmVfZGVzdHJveSAgIiB3aXRoIG1vZGlmaWVk IHN5emthbGxlciBpbiB0aGUgTGludXg2LjEyLjI1KGxvbmd0ZXJtIG1haW50ZW5hbmNlLCBsYXN0 IHVwZGF0ZWQgb24gQXByaWwgMjUsIDIwMjUpCklmIHlvdSBmaXggdGhpcyBpc3N1ZSwgcGxlYXNl IGFkZCB0aGUgZm9sbG93aW5nIHRhZyB0byB0aGUgY29tbWl0OiAgUmVwb3J0ZWQtYnk6IEppYW56 aG91IFpoYW8gPGx1Y2tkMGdAMTYzLmNvbT4sICAgIHhpbmd3ZWkgbGVlIDx4cml2ZW5kZWxsN0Bn bWFpbC5jb20+LCBQZW5nbGVpIEppYW5nIDxzdXBlcm1hbi54cHRAZ21haWwuY29tPgpUaGUgY29t bWl0IG9mIHRoZSBrZXJuZWwgaXMgOiAJZWY0OTk5ODUyZDMwN2QzOGNmZGVjZDkxZWQ2ODkyY2Mw M2JlYjliOCAKa2VybmVsIGNvbmZpZzogaHR0cHM6Ly9zeXprYWxsZXIuYXBwc3BvdC5jb20vdGV4 dD90YWc9S2VybmVsQ29uZmlnJng9NTVmODU5MWI5OGRkMTMyCmNvbXBpbGVyOiBnY2MgdmVyc2lv biAxMS40LjAKCkkgcHV0IHRoZSByZXByb2R1Y3Rpb24gcHJvZ3JhbSBvZiB0aGlzIGJ1ZyBhdCB0 aGUgZW5kIG9mIHRoZSBlbWFpbC4KCi0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBUSVRMRTogICAgS0FTQU46IHNsYWItdXNl LWFmdGVyLWZyZWUgUmVhZCBpbiBwZXJmX3Vwcm9iZV9kZXN0cm95IAotLS0tLS0tLS0tLS1bIGN1 dCBoZXJlIF0tLS0tLS0tLS0tLS0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkJVRzogS0FTQU46IHNsYWItdXNlLWFmdGVy LWZyZWUgaW4gcGVyZl90cmFjZV9ldmVudF9jbG9zZSBrZXJuZWwvdHJhY2UvdHJhY2VfZXZlbnRf cGVyZi5jOjE5MCBbaW5saW5lXQpCVUc6IEtBU0FOOiBzbGFiLXVzZS1hZnRlci1mcmVlIGluIHBl cmZfdXByb2JlX2Rlc3Ryb3krMHgxZDYvMHgyMDAga2VybmVsL3RyYWNlL3RyYWNlX2V2ZW50X3Bl cmYuYzozNDQKUmVhZCBvZiBzaXplIDggYXQgYWRkciBmZmZmODg4MDI4ZjU5MDYwIGJ5IHRhc2sg c3l6LjAuMTQvMTIyMzkKCkNQVTogMCBVSUQ6IDAgUElEOiAxMjIzOSBDb21tOiBzeXouMC4xNCBO b3QgdGFpbnRlZCA2LjEyLjI1ICMxCkhhcmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0 NDBGWCArIFBJSVgsIDE5OTYpLCBCSU9TIDEuMTUuMC0xIDA0LzAxLzIwMTQKQ2FsbCBUcmFjZToK IDxUQVNLPgogX19kdW1wX3N0YWNrIGxpYi9kdW1wX3N0YWNrLmM6OTQgW2lubGluZV0KIGR1bXBf c3RhY2tfbHZsKzB4MTE2LzB4MWIwIGxpYi9kdW1wX3N0YWNrLmM6MTIwCiBwcmludF9hZGRyZXNz X2Rlc2NyaXB0aW9uIG1tL2thc2FuL3JlcG9ydC5jOjM3NyBbaW5saW5lXQogcHJpbnRfcmVwb3J0 KzB4YzAvMHg1ZTAgbW0va2FzYW4vcmVwb3J0LmM6NDg4CiBrYXNhbl9yZXBvcnQrMHg5My8weGMw IG1tL2thc2FuL3JlcG9ydC5jOjYwMQogcGVyZl90cmFjZV9ldmVudF9jbG9zZSBrZXJuZWwvdHJh Y2UvdHJhY2VfZXZlbnRfcGVyZi5jOjE5MCBbaW5saW5lXQogcGVyZl91cHJvYmVfZGVzdHJveSsw eDFkNi8weDIwMCBrZXJuZWwvdHJhY2UvdHJhY2VfZXZlbnRfcGVyZi5jOjM0NAogX19mcmVlX2V2 ZW50KzB4MWQ5LzB4ODcwIGtlcm5lbC9ldmVudHMvY29yZS5jOjUzMzAKIHBlcmZfZXZlbnRfYWxs b2Mga2VybmVsL2V2ZW50cy9jb3JlLmM6MTI0MzcgW2lubGluZV0KIHBlcmZfZXZlbnRfYWxsb2Mr MHgxMjQ2LzB4MzdkMCBrZXJuZWwvZXZlbnRzL2NvcmUuYzoxMjIxMAogX19kb19zeXNfcGVyZl9l dmVudF9vcGVuKzB4NDRjLzB4MmFhMCBrZXJuZWwvZXZlbnRzL2NvcmUuYzoxMjg0NwogZG9fc3lz Y2FsbF94NjQgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6NTIgW2lubGluZV0KIGRvX3N5c2NhbGxf NjQrMHhjZi8weDI1MCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzo4MwogZW50cnlfU1lTQ0FMTF82 NF9hZnRlcl9od2ZyYW1lKzB4NzcvMHg3ZgpSSVA6IDAwMzM6MHg3ZmIwZDA5YWM1YWQKQ29kZTog MDIgYjggZmYgZmYgZmYgZmYgYzMgNjYgMGYgMWYgNDQgMDAgMDAgZjMgMGYgMWUgZmEgNDggODkg ZjggNDggODkgZjcgNDggODkgZDYgNDggODkgY2EgNGQgODkgYzIgNGQgODkgYzggNGMgOGIgNGMg MjQgMDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiA3MyAwMSBjMyA0OCBjNyBjMSBhOCBmZiBm ZiBmZiBmNyBkOCA2NCA4OSAwMSA0OApSU1A6IDAwMmI6MDAwMDdmYjBkMThmNWY5OCBFRkxBR1M6 IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMTJhClJBWDogZmZmZmZmZmZmZmZmZmZk YSBSQlg6IDAwMDA3ZmIwZDBiZTVmYTAgUkNYOiAwMDAwN2ZiMGQwOWFjNWFkClJEWDogMDAwMDAw MDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDAwMDAwMDAgUkRJOiAwMDAwMjAwMDAwMDAwMDQwClJC UDogMDAwMDdmYjBkMGE0NDU4ZSBSMDg6IDAwMDAwMDAwMDAwMDAwMGEgUjA5OiAwMDAwMDAwMDAw MDAwMDAwClIxMDogZmZmZmZmZmZmZmZmZmZmZiBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAw MDAwMDAwMDAwMDAwMDAwClIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6IDAwMDA3ZmIwZDBiZTVm YTAgUjE1OiAwMDAwN2ZiMGQxOGQ2MDAwCiA8L1RBU0s+CgpBbGxvY2F0ZWQgYnkgdGFzayAxMjIz OToKIGthc2FuX3NhdmVfc3RhY2srMHgyNC8weDUwIG1tL2thc2FuL2NvbW1vbi5jOjQ3CiBrYXNh bl9zYXZlX3RyYWNrKzB4MTQvMHgzMCBtbS9rYXNhbi9jb21tb24uYzo2OAogcG9pc29uX2ttYWxs b2NfcmVkem9uZSBtbS9rYXNhbi9jb21tb24uYzozNzcgW2lubGluZV0KIF9fa2FzYW5fa21hbGxv YysweGFhLzB4YjAgbW0va2FzYW4vY29tbW9uLmM6Mzk0CiBrYXNhbl9rbWFsbG9jIGluY2x1ZGUv bGludXgva2FzYW4uaDoyNjAgW2lubGluZV0KIF9fa21hbGxvY19jYWNoZV9ub3Byb2YrMHgxYTUv MHgzZTAgbW0vc2x1Yi5jOjQzMjcKIGttYWxsb2Nfbm9wcm9mIGluY2x1ZGUvbGludXgvc2xhYi5o Ojg3OCBbaW5saW5lXQoga3phbGxvY19ub3Byb2YgaW5jbHVkZS9saW51eC9zbGFiLmg6MTAxNCBb aW5saW5lXQogdHJhY2VfcHJvYmVfaW5pdCsweGJjLzB4NWYwIGtlcm5lbC90cmFjZS90cmFjZV9w cm9iZS5jOjIwNTAKIGFsbG9jX3RyYWNlX3Vwcm9iZSsweGE1LzB4MzEwIGtlcm5lbC90cmFjZS90 cmFjZV91cHJvYmUuYzozNDcKIGNyZWF0ZV9sb2NhbF90cmFjZV91cHJvYmUrMHgxMGQvMHg0YzAg a2VybmVsL3RyYWNlL3RyYWNlX3Vwcm9iZS5jOjE2NDMKIHBlcmZfdXByb2JlX2luaXQrMHgxM2Ev MHgyMjAga2VybmVsL3RyYWNlL3RyYWNlX2V2ZW50X3BlcmYuYzozMTkKIHBlcmZfdXByb2JlX2V2 ZW50X2luaXQrMHgxMDMvMHgxZDAga2VybmVsL2V2ZW50cy9jb3JlLmM6MTA3MTUKIHBlcmZfdHJ5 X2luaXRfZXZlbnQrMHgxMzcvMHhkNzAga2VybmVsL2V2ZW50cy9jb3JlLmM6MTE5NzYKIHBlcmZf aW5pdF9ldmVudCBrZXJuZWwvZXZlbnRzL2NvcmUuYzoxMjA2NCBbaW5saW5lXQogcGVyZl9ldmVu dF9hbGxvYyBrZXJuZWwvZXZlbnRzL2NvcmUuYzoxMjM0NSBbaW5saW5lXQogcGVyZl9ldmVudF9h bGxvYysweDEwMWEvMHgzN2QwIGtlcm5lbC9ldmVudHMvY29yZS5jOjEyMjEwCiBfX2RvX3N5c19w ZXJmX2V2ZW50X29wZW4rMHg0NGMvMHgyYWEwIGtlcm5lbC9ldmVudHMvY29yZS5jOjEyODQ3CiBk b19zeXNjYWxsX3g2NCBhcmNoL3g4Ni9lbnRyeS9jb21tb24uYzo1MiBbaW5saW5lXQogZG9fc3lz Y2FsbF82NCsweGNmLzB4MjUwIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjgzCiBlbnRyeV9TWVND QUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg3Ny8weDdmCgpGcmVlZCBieSB0YXNrIDEyMjM5Ogoga2Fz YW5fc2F2ZV9zdGFjaysweDI0LzB4NTAgbW0va2FzYW4vY29tbW9uLmM6NDcKIGthc2FuX3NhdmVf dHJhY2srMHgxNC8weDMwIG1tL2thc2FuL2NvbW1vbi5jOjY4CiBrYXNhbl9zYXZlX2ZyZWVfaW5m bysweDNhLzB4NjAgbW0va2FzYW4vZ2VuZXJpYy5jOjU3OQogcG9pc29uX3NsYWJfb2JqZWN0IG1t L2thc2FuL2NvbW1vbi5jOjI0NyBbaW5saW5lXQogX19rYXNhbl9zbGFiX2ZyZWUrMHg1NC8weDcw IG1tL2thc2FuL2NvbW1vbi5jOjI2NAoga2FzYW5fc2xhYl9mcmVlIGluY2x1ZGUvbGludXgva2Fz YW4uaDoyMzMgW2lubGluZV0KIHNsYWJfZnJlZV9ob29rIG1tL3NsdWIuYzoyMzcyIFtpbmxpbmVd CiBzbGFiX2ZyZWUgbW0vc2x1Yi5jOjQ2MTEgW2lubGluZV0KIGtmcmVlKzB4MTRlLzB4NGEwIG1t L3NsdWIuYzo0NzU5CiB0cmFjZV9wcm9iZV91bmxpbmsrMHgxODUvMHgyMDAga2VybmVsL3RyYWNl L3RyYWNlX3Byb2JlLmM6MjAxNgogdHJhY2VfcHJvYmVfY2xlYW51cCsweDE2OC8weDFkMCBrZXJu ZWwvdHJhY2UvdHJhY2VfcHJvYmUuYzoyMDM0CiBmcmVlX3RyYWNlX3Vwcm9iZS5wYXJ0LjArMHgx Yi8weDgwIGtlcm5lbC90cmFjZS90cmFjZV91cHJvYmUuYzozNzEKIGZyZWVfdHJhY2VfdXByb2Jl IGtlcm5lbC90cmFjZS90cmFjZV91cHJvYmUuYzozNjcgW2lubGluZV0KIGRlc3Ryb3lfbG9jYWxf dHJhY2VfdXByb2JlKzB4NWQvMHg4MCBrZXJuZWwvdHJhY2UvdHJhY2VfdXByb2JlLmM6MTY4Mgog cGVyZl90cnlfaW5pdF9ldmVudCsweDQ0Yi8weGQ3MCBrZXJuZWwvZXZlbnRzL2NvcmUuYzoxMjAw NwogcGVyZl9pbml0X2V2ZW50IGtlcm5lbC9ldmVudHMvY29yZS5jOjEyMDY0IFtpbmxpbmVdCiBw ZXJmX2V2ZW50X2FsbG9jIGtlcm5lbC9ldmVudHMvY29yZS5jOjEyMzQ1IFtpbmxpbmVdCiBwZXJm X2V2ZW50X2FsbG9jKzB4MTAxYS8weDM3ZDAga2VybmVsL2V2ZW50cy9jb3JlLmM6MTIyMTAKIF9f ZG9fc3lzX3BlcmZfZXZlbnRfb3BlbisweDQ0Yy8weDJhYTAga2VybmVsL2V2ZW50cy9jb3JlLmM6 MTI4NDcKIGRvX3N5c2NhbGxfeDY0IGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjUyIFtpbmxpbmVd CiBkb19zeXNjYWxsXzY0KzB4Y2YvMHgyNTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6ODMKIGVu dHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDc3LzB4N2YKClRoZSBidWdneSBhZGRyZXNz IGJlbG9uZ3MgdG8gdGhlIG9iamVjdCBhdCBmZmZmODg4MDI4ZjU5MDAwCiB3aGljaCBiZWxvbmdz IHRvIHRoZSBjYWNoZSBrbWFsbG9jLTUxMiBvZiBzaXplIDUxMgpUaGUgYnVnZ3kgYWRkcmVzcyBp cyBsb2NhdGVkIDk2IGJ5dGVzIGluc2lkZSBvZgogZnJlZWQgNTEyLWJ5dGUgcmVnaW9uIFtmZmZm ODg4MDI4ZjU5MDAwLCBmZmZmODg4MDI4ZjU5MjAwKQoKVGhlIGJ1Z2d5IGFkZHJlc3MgYmVsb25n cyB0byB0aGUgcGh5c2ljYWwgcGFnZToKcGFnZTogcmVmY291bnQ6MSBtYXBjb3VudDowIG1hcHBp bmc6MDAwMDAwMDAwMDAwMDAwMCBpbmRleDoweDAgcGZuOjB4MjhmNTgKaGVhZDogb3JkZXI6MiBt YXBjb3VudDowIGVudGlyZV9tYXBjb3VudDowIG5yX3BhZ2VzX21hcHBlZDowIHBpbmNvdW50OjAK ZmxhZ3M6IDB4ZmZmMDAwMDAwMDAwNDAoaGVhZHxub2RlPTB8em9uZT0xfGxhc3RjcHVwaWQ9MHg3 ZmYpCnBhZ2VfdHlwZTogZjUoc2xhYikKcmF3OiAwMGZmZjAwMDAwMDAwMDQwIGZmZmY4ODgwMWIw NDFjODAgZmZmZmVhMDAwMGE3MDIwMCBkZWFkMDAwMDAwMDAwMDAyCnJhdzogMDAwMDAwMDAwMDAw MDAwMCAwMDAwMDAwMDAwMTAwMDEwIDAwMDAwMDAxZjUwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMApo ZWFkOiAwMGZmZjAwMDAwMDAwMDQwIGZmZmY4ODgwMWIwNDFjODAgZmZmZmVhMDAwMGE3MDIwMCBk ZWFkMDAwMDAwMDAwMDAyCmhlYWQ6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDEwMDAxMCAw MDAwMDAwMWY1MDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAKaGVhZDogMDBmZmYwMDAwMDAwMDAwMiBm ZmZmZWEwMDAwYTNkNjAxIGZmZmZmZmZmZmZmZmZmZmYgMDAwMDAwMDAwMDAwMDAwMApoZWFkOiAw MDAwMDAwMDAwMDAwMDA0IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDBmZmZmZmZmZiAwMDAwMDAw MDAwMDAwMDAwCnBhZ2UgZHVtcGVkIGJlY2F1c2U6IGthc2FuOiBiYWQgYWNjZXNzIGRldGVjdGVk CnBhZ2Vfb3duZXIgdHJhY2tzIHRoZSBwYWdlIGFzIGFsbG9jYXRlZApwYWdlIGxhc3QgYWxsb2Nh dGVkIHZpYSBvcmRlciAyLCBtaWdyYXRldHlwZSBVbm1vdmFibGUsIGdmcF9tYXNrIDB4ZDIwYzAo X19HRlBfSU98X19HRlBfRlN8X19HRlBfTk9XQVJOfF9fR0ZQX05PUkVUUll8X19HRlBfQ09NUHxf X0dGUF9OT01FTUFMTE9DKSwgcGlkIDk0NjEsIHRnaWQgOTQ2MSAoc3l6LWV4ZWN1dG9yKSwgdHMg MTA1MjUyMzQ0ODg4LCBmcmVlX3RzIDEwNTA5MDc4MDU0OAogc2V0X3BhZ2Vfb3duZXIgaW5jbHVk ZS9saW51eC9wYWdlX293bmVyLmg6MzIgW2lubGluZV0KIHBvc3RfYWxsb2NfaG9vayBtbS9wYWdl X2FsbG9jLmM6MTU1OCBbaW5saW5lXQogcHJlcF9uZXdfcGFnZSsweDMxYi8weDNhMCBtbS9wYWdl X2FsbG9jLmM6MTU2NgogZ2V0X3BhZ2VfZnJvbV9mcmVlbGlzdCsweDE5ZmIvMHgzM2IwIG1tL3Bh Z2VfYWxsb2MuYzozNDc2CiBfX2FsbG9jX3BhZ2VzX25vcHJvZisweDMyNC8weDZiMCBtbS9wYWdl X2FsbG9jLmM6NDc1NAogYWxsb2NfcGFnZXNfbXBvbF9ub3Byb2YrMHgyY2UvMHg2MTAgbW0vbWVt cG9saWN5LmM6MjI2OQogYWxsb2Nfc2xhYl9wYWdlIG1tL3NsdWIuYzoyNDQyIFtpbmxpbmVdCiBh bGxvY2F0ZV9zbGFiIG1tL3NsdWIuYzoyNjA4IFtpbmxpbmVdCiBuZXdfc2xhYisweDI1My8weDQz MCBtbS9zbHViLmM6MjY2MgogX19fc2xhYl9hbGxvYysweGUxYy8weDE3MjAgbW0vc2x1Yi5jOjM4 NTAKIF9fc2xhYl9hbGxvYy5pc3JhLjArMHg1Ni8weGIwIG1tL3NsdWIuYzozOTQwCiBfX3NsYWJf YWxsb2Nfbm9kZSBtbS9zbHViLmM6Mzk5MyBbaW5saW5lXQogc2xhYl9hbGxvY19ub2RlIG1tL3Ns dWIuYzo0MTU0IFtpbmxpbmVdCiBfX2ttYWxsb2NfY2FjaGVfbm9wcm9mKzB4MzdmLzB4M2UwIG1t L3NsdWIuYzo0MzIyCiBrbWFsbG9jX25vcHJvZiBpbmNsdWRlL2xpbnV4L3NsYWIuaDo4NzggW2lu bGluZV0KIGt6YWxsb2Nfbm9wcm9mIGluY2x1ZGUvbGludXgvc2xhYi5oOjEwMTQgW2lubGluZV0K IGZpYjZfaW5mb19hbGxvYysweGM5LzB4MjkwIG5ldC9pcHY2L2lwNl9maWIuYzoxNTUKIGlwNl9y b3V0ZV9pbmZvX2NyZWF0ZSsweDM0MS8weDE2MTAgbmV0L2lwdjYvcm91dGUuYzozODAyCiBpcDZf cm91dGVfYWRkKzB4MjYvMHgxNjAgbmV0L2lwdjYvcm91dGUuYzozODk2CiBhZGRyY29uZl9wcmVm aXhfcm91dGUuaXNyYS4wKzB4MzAyLzB4NTEwIG5ldC9pcHY2L2FkZHJjb25mLmM6MjQ4NgogaW5l dDZfYWRkcl9hZGQrMHg3M2EvMHhjMTAgbmV0L2lwdjYvYWRkcmNvbmYuYzozMDgzCiBpbmV0Nl9y dG1fbmV3YWRkcisweDExNmEvMHgxOGIwIG5ldC9pcHY2L2FkZHJjb25mLmM6NTA2OAogcnRuZXRs aW5rX3Jjdl9tc2crMHgzYzkvMHhmYzAgbmV0L2NvcmUvcnRuZXRsaW5rLmM6NjY3OAogbmV0bGlu a19yY3Zfc2tiKzB4MTY1LzB4NDUwIG5ldC9uZXRsaW5rL2FmX25ldGxpbmsuYzoyNTM3CnBhZ2Ug bGFzdCBmcmVlIHBpZCA5NDk5IHRnaWQgOTQ5OSBzdGFjayB0cmFjZToKIHJlc2V0X3BhZ2Vfb3du ZXIgaW5jbHVkZS9saW51eC9wYWdlX293bmVyLmg6MjUgW2lubGluZV0KIGZyZWVfcGFnZXNfcHJl cGFyZSBtbS9wYWdlX2FsbG9jLmM6MTEyNyBbaW5saW5lXQogZnJlZV91bnJlZl9wYWdlKzB4Nzk5 LzB4MTMyMCBtbS9wYWdlX2FsbG9jLmM6MjY1OQogX19wdXRfcGFydGlhbHMrMHgxNTEvMHgxNzAg bW0vc2x1Yi5jOjMxNzcKIHFsaW5rX2ZyZWUgbW0va2FzYW4vcXVhcmFudGluZS5jOjE2MyBbaW5s aW5lXQogcWxpc3RfZnJlZV9hbGwrMHg1MC8weDEzMCBtbS9rYXNhbi9xdWFyYW50aW5lLmM6MTc5 CiBrYXNhbl9xdWFyYW50aW5lX3JlZHVjZSsweDE2NS8weDFjMCBtbS9rYXNhbi9xdWFyYW50aW5l LmM6Mjg2CiBfX2thc2FuX3NsYWJfYWxsb2MrMHg2Ny8weDkwIG1tL2thc2FuL2NvbW1vbi5jOjMy OQoga2FzYW5fc2xhYl9hbGxvYyBpbmNsdWRlL2xpbnV4L2thc2FuLmg6MjUwIFtpbmxpbmVdCiBz bGFiX3Bvc3RfYWxsb2NfaG9vayBtbS9zbHViLmM6NDExNyBbaW5saW5lXQogc2xhYl9hbGxvY19u b2RlIG1tL3NsdWIuYzo0MTY2IFtpbmxpbmVdCiBfX2ttYWxsb2NfY2FjaGVfbm9wcm9mKzB4MTJh LzB4M2UwIG1tL3NsdWIuYzo0MzIyCiBrbWFsbG9jX25vcHJvZiBpbmNsdWRlL2xpbnV4L3NsYWIu aDo4NzggW2lubGluZV0KIGNhbGxfbW9kcHJvYmUga2VybmVsL21vZHVsZS9rbW9kLmM6ODQgW2lu bGluZV0KIF9fcmVxdWVzdF9tb2R1bGUrMHgyYTIvMHg2YjAga2VybmVsL21vZHVsZS9rbW9kLmM6 MTczCiBkZXZfbG9hZCsweDFmZi8weDI0MCBuZXQvY29yZS9kZXZfaW9jdGwuYzo2NDUKIGRldl9p b2N0bCsweDUxOC8weDEwYjAgbmV0L2NvcmUvZGV2X2lvY3RsLmM6NzA5CiBzb2NrX2RvX2lvY3Rs KzB4MWNhLzB4MjYwIG5ldC9zb2NrZXQuYzoxMjQxCiBzb2NrX2lvY3RsKzB4MjNhLzB4NmMwIG5l dC9zb2NrZXQuYzoxMzQ2CiB2ZnNfaW9jdGwgZnMvaW9jdGwuYzo1MSBbaW5saW5lXQogX19kb19z eXNfaW9jdGwgZnMvaW9jdGwuYzo5MDcgW2lubGluZV0KIF9fc2Vfc3lzX2lvY3RsIGZzL2lvY3Rs LmM6ODkzIFtpbmxpbmVdCiBfX3g2NF9zeXNfaW9jdGwrMHgxOWQvMHgyMTAgZnMvaW9jdGwuYzo4 OTMKIGRvX3N5c2NhbGxfeDY0IGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjUyIFtpbmxpbmVdCiBk b19zeXNjYWxsXzY0KzB4Y2YvMHgyNTAgYXJjaC94ODYvZW50cnkvY29tbW9uLmM6ODMKIGVudHJ5 X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDc3LzB4N2YKCk1lbW9yeSBzdGF0ZSBhcm91bmQg dGhlIGJ1Z2d5IGFkZHJlc3M6CiBmZmZmODg4MDI4ZjU4ZjAwOiBmYyBmYyBmYyBmYyBmYyBmYyBm YyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYwogZmZmZjg4ODAyOGY1OGY4MDogZmMgZmMgZmMg ZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMKPmZmZmY4ODgwMjhmNTkwMDA6 IGZhIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiBmZmZmODg4 MDI4ZjU5MDgwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YgogZmZmZjg4ODAyOGY1OTEwMDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci8vIGF1dG9nZW5lcmF0ZWQgYnkgc3l6a2FsbGVyIChodHRw czovL2dpdGh1Yi5jb20vZ29vZ2xlL3N5emthbGxlcikKCiNkZWZpbmUgX0dOVV9TT1VSQ0UKCiNp bmNsdWRlIDxkaXJlbnQuaD4KI2luY2x1ZGUgPGVuZGlhbi5oPgojaW5jbHVkZSA8ZXJybm8uaD4K I2luY2x1ZGUgPGZjbnRsLmg+CiNpbmNsdWRlIDxzaWduYWwuaD4KI2luY2x1ZGUgPHN0ZGFyZy5o PgojaW5jbHVkZSA8c3RkYm9vbC5oPgojaW5jbHVkZSA8c3RkaW50Lmg+CiNpbmNsdWRlIDxzdGRp by5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN5 cy9wcmN0bC5oPgojaW5jbHVkZSA8c3lzL3N0YXQuaD4KI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+ CiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPHN5cy93YWl0Lmg+CiNpbmNsdWRlIDx0 aW1lLmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KCnN0YXRpYyB2b2lkIHNsZWVwX21zKHVpbnQ2NF90 IG1zKQp7CiAgdXNsZWVwKG1zICogMTAwMCk7Cn0KCnN0YXRpYyB1aW50NjRfdCBjdXJyZW50X3Rp bWVfbXModm9pZCkKewogIHN0cnVjdCB0aW1lc3BlYyB0czsKICBpZiAoY2xvY2tfZ2V0dGltZShD TE9DS19NT05PVE9OSUMsICZ0cykpCiAgICBleGl0KDEpOwogIHJldHVybiAodWludDY0X3QpdHMu dHZfc2VjICogMTAwMCArICh1aW50NjRfdCl0cy50dl9uc2VjIC8gMTAwMDAwMDsKfQoKI2RlZmlu ZSBCSVRNQVNLKGJmX29mZiwgYmZfbGVuKSAoKCgxdWxsIDw8IChiZl9sZW4pKSAtIDEpIDw8IChi Zl9vZmYpKQojZGVmaW5lIFNUT1JFX0JZX0JJVE1BU0sodHlwZSwgaHRvYmUsIGFkZHIsIHZhbCwg YmZfb2ZmLCBiZl9sZW4pICAgICAgICAgICAgICAgXAogICoodHlwZSopKGFkZHIpID0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog ICAgICBodG9iZSgoaHRvYmUoKih0eXBlKikoYWRkcikpICYgfkJJVE1BU0soKGJmX29mZiksIChi Zl9sZW4pKSkgfCAgICAgICAgICAgXAogICAgICAgICAgICAoKCh0eXBlKSh2YWwpIDw8IChiZl9v ZmYpKSAmIEJJVE1BU0soKGJmX29mZiksIChiZl9sZW4pKSkpCgpzdGF0aWMgYm9vbCB3cml0ZV9m aWxlKGNvbnN0IGNoYXIqIGZpbGUsIGNvbnN0IGNoYXIqIHdoYXQsIC4uLikKewogIGNoYXIgYnVm WzEwMjRdOwogIHZhX2xpc3QgYXJnczsKICB2YV9zdGFydChhcmdzLCB3aGF0KTsKICB2c25wcmlu dGYoYnVmLCBzaXplb2YoYnVmKSwgd2hhdCwgYXJncyk7CiAgdmFfZW5kKGFyZ3MpOwogIGJ1Zltz aXplb2YoYnVmKSAtIDFdID0gMDsKICBpbnQgbGVuID0gc3RybGVuKGJ1Zik7CiAgaW50IGZkID0g b3BlbihmaWxlLCBPX1dST05MWSB8IE9fQ0xPRVhFQyk7CiAgaWYgKGZkID09IC0xKQogICAgcmV0 dXJuIGZhbHNlOwogIGlmICh3cml0ZShmZCwgYnVmLCBsZW4pICE9IGxlbikgewogICAgaW50IGVy ciA9IGVycm5vOwogICAgY2xvc2UoZmQpOwogICAgZXJybm8gPSBlcnI7CiAgICByZXR1cm4gZmFs c2U7CiAgfQogIGNsb3NlKGZkKTsKICByZXR1cm4gdHJ1ZTsKfQoKc3RhdGljIHZvaWQga2lsbF9h bmRfd2FpdChpbnQgcGlkLCBpbnQqIHN0YXR1cykKewogIGtpbGwoLXBpZCwgU0lHS0lMTCk7CiAg a2lsbChwaWQsIFNJR0tJTEwpOwogIGZvciAoaW50IGkgPSAwOyBpIDwgMTAwOyBpKyspIHsKICAg IGlmICh3YWl0cGlkKC0xLCBzdGF0dXMsIFdOT0hBTkcgfCBfX1dBTEwpID09IHBpZCkKICAgICAg cmV0dXJuOwogICAgdXNsZWVwKDEwMDApOwogIH0KICBESVIqIGRpciA9IG9wZW5kaXIoIi9zeXMv ZnMvZnVzZS9jb25uZWN0aW9ucyIpOwogIGlmIChkaXIpIHsKICAgIGZvciAoOzspIHsKICAgICAg c3RydWN0IGRpcmVudCogZW50ID0gcmVhZGRpcihkaXIpOwogICAgICBpZiAoIWVudCkKICAgICAg ICBicmVhazsKICAgICAgaWYgKHN0cmNtcChlbnQtPmRfbmFtZSwgIi4iKSA9PSAwIHx8IHN0cmNt cChlbnQtPmRfbmFtZSwgIi4uIikgPT0gMCkKICAgICAgICBjb250aW51ZTsKICAgICAgY2hhciBh Ym9ydFszMDBdOwogICAgICBzbnByaW50ZihhYm9ydCwgc2l6ZW9mKGFib3J0KSwgIi9zeXMvZnMv ZnVzZS9jb25uZWN0aW9ucy8lcy9hYm9ydCIsCiAgICAgICAgICAgICAgIGVudC0+ZF9uYW1lKTsK ICAgICAgaW50IGZkID0gb3BlbihhYm9ydCwgT19XUk9OTFkpOwogICAgICBpZiAoZmQgPT0gLTEp IHsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBpZiAod3JpdGUoZmQsIGFib3J0LCAx KSA8IDApIHsKICAgICAgfQogICAgICBjbG9zZShmZCk7CiAgICB9CiAgICBjbG9zZWRpcihkaXIp OwogIH0gZWxzZSB7CiAgfQogIHdoaWxlICh3YWl0cGlkKC0xLCBzdGF0dXMsIF9fV0FMTCkgIT0g cGlkKSB7CiAgfQp9CgpzdGF0aWMgdm9pZCBzZXR1cF90ZXN0KCkKewogIHByY3RsKFBSX1NFVF9Q REVBVEhTSUcsIFNJR0tJTEwsIDAsIDAsIDApOwogIHNldHBncnAoKTsKICB3cml0ZV9maWxlKCIv cHJvYy9zZWxmL29vbV9zY29yZV9hZGoiLCAiMTAwMCIpOwp9CgpzdGF0aWMgdm9pZCBleGVjdXRl X29uZSh2b2lkKTsKCiNkZWZpbmUgV0FJVF9GTEFHUyBfX1dBTEwKCnN0YXRpYyB2b2lkIGxvb3Ao dm9pZCkKewogIGludCBpdGVyID0gMDsKICBmb3IgKDs7IGl0ZXIrKykgewogICAgaW50IHBpZCA9 IGZvcmsoKTsKICAgIGlmIChwaWQgPCAwKQogICAgICBleGl0KDEpOwogICAgaWYgKHBpZCA9PSAw KSB7CiAgICAgIHNldHVwX3Rlc3QoKTsKICAgICAgZXhlY3V0ZV9vbmUoKTsKICAgICAgZXhpdCgw KTsKICAgIH0KICAgIGludCBzdGF0dXMgPSAwOwogICAgdWludDY0X3Qgc3RhcnQgPSBjdXJyZW50 X3RpbWVfbXMoKTsKICAgIGZvciAoOzspIHsKICAgICAgc2xlZXBfbXMoMTApOwogICAgICBpZiAo d2FpdHBpZCgtMSwgJnN0YXR1cywgV05PSEFORyB8IFdBSVRfRkxBR1MpID09IHBpZCkKICAgICAg ICBicmVhazsKICAgICAgaWYgKGN1cnJlbnRfdGltZV9tcygpIC0gc3RhcnQgPCA1MDAwKQogICAg ICAgIGNvbnRpbnVlOwogICAgICBraWxsX2FuZF93YWl0KHBpZCwgJnN0YXR1cyk7CiAgICAgIGJy ZWFrOwogICAgfQogIH0KfQoKdm9pZCBleGVjdXRlX29uZSh2b2lkKQp7CiAgaWYgKHdyaXRlKDEs ICJleGVjdXRpbmcgcHJvZ3JhbVxuIiwgc2l6ZW9mKCJleGVjdXRpbmcgcHJvZ3JhbVxuIikgLSAx KSkgewogIH0KICBtZW1jcHkoKHZvaWQqKTB4MjAwMDAwMDAwMDAwLCAiLnBlbmRpbmdfcmVhZHNc MDAwIiwgMTUpOwogIHN5c2NhbGwoX19OUl9vcGVuYXQsIC8qZmQ9Ki8weGZmZmZmZjljLCAvKmZp bGU9Ki8weDIwMDAwMDAwMDAwMHVsLAogICAgICAgICAgLypmbGFncz1PX1NZTkN8T19OT0FUSU1F fE9fTEFSR0VGSUxFfE9fQ1JFQVR8T19BUFBFTkQqLyAweDE0OTQ0MCwKICAgICAgICAgIC8qbW9k ZT0qLzApOwogICoodWludDMyX3QqKTB4MjAwMDAwMDAwMDQwID0gODsKICAqKHVpbnQzMl90Kikw eDIwMDAwMDAwMDA0NCA9IDB4ODA7CiAgKih1aW50OF90KikweDIwMDAwMDAwMDA0OCA9IDI7CiAg Kih1aW50OF90KikweDIwMDAwMDAwMDA0OSA9IDA7CiAgKih1aW50OF90KikweDIwMDAwMDAwMDA0 YSA9IDA7CiAgKih1aW50OF90KikweDIwMDAwMDAwMDA0YiA9IDA7CiAgKih1aW50MzJfdCopMHgy MDAwMDAwMDAwNGMgPSAwOwogICoodWludDY0X3QqKTB4MjAwMDAwMDAwMDUwID0gMDsKICAqKHVp bnQ2NF90KikweDIwMDAwMDAwMDA1OCA9IDB4NmE0ODQ7CiAgKih1aW50NjRfdCopMHgyMDAwMDAw MDAwNjAgPSA0OwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDAsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDEsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDIsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDMsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDQsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDUsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDYsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDcsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDgsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDksIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgs IDAsIDEwLCAxKTsKICBTVE9SRV9CWV9CSVRNQVNLKHVpbnQ2NF90LCAsIDB4MjAwMDAwMDAwMDY4 LCAwLCAxMSwgMSk7CiAgU1RPUkVfQllfQklUTUFTSyh1aW50NjRfdCwgLCAweDIwMDAwMDAwMDA2 OCwgMCwgMTIsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAwMDAw NjgsIDAsIDEzLCAxKTsKICBTVE9SRV9CWV9CSVRNQVNLKHVpbnQ2NF90LCAsIDB4MjAwMDAwMDAw MDY4LCAwLCAxNCwgMSk7CiAgU1RPUkVfQllfQklUTUFTSyh1aW50NjRfdCwgLCAweDIwMDAwMDAw MDA2OCwgMCwgMTUsIDIpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAwMDAw MDAwNjgsIDAsIDE3LCAxKTsKICBTVE9SRV9CWV9CSVRNQVNLKHVpbnQ2NF90LCAsIDB4MjAwMDAw MDAwMDY4LCAwLCAxOCwgMSk7CiAgU1RPUkVfQllfQklUTUFTSyh1aW50NjRfdCwgLCAweDIwMDAw MDAwMDA2OCwgMSwgMTksIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgyMDAw MDAwMDAwNjgsIDAsIDIwLCAxKTsKICBTVE9SRV9CWV9CSVRNQVNLKHVpbnQ2NF90LCAsIDB4MjAw MDAwMDAwMDY4LCAwLCAyMSwgMSk7CiAgU1RPUkVfQllfQklUTUFTSyh1aW50NjRfdCwgLCAweDIw MDAwMDAwMDA2OCwgMCwgMjIsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwgMHgy MDAwMDAwMDAwNjgsIDAsIDIzLCAxKTsKICBTVE9SRV9CWV9CSVRNQVNLKHVpbnQ2NF90LCAsIDB4 MjAwMDAwMDAwMDY4LCAwLCAyNCwgMSk7CiAgU1RPUkVfQllfQklUTUFTSyh1aW50NjRfdCwgLCAw eDIwMDAwMDAwMDA2OCwgMCwgMjUsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3QsICwg MHgyMDAwMDAwMDAwNjgsIDAsIDI2LCAxKTsKICBTVE9SRV9CWV9CSVRNQVNLKHVpbnQ2NF90LCAs IDB4MjAwMDAwMDAwMDY4LCAwLCAyNywgMSk7CiAgU1RPUkVfQllfQklUTUFTSyh1aW50NjRfdCwg LCAweDIwMDAwMDAwMDA2OCwgMCwgMjgsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0X3Qs ICwgMHgyMDAwMDAwMDAwNjgsIDAsIDI5LCAxKTsKICBTVE9SRV9CWV9CSVRNQVNLKHVpbnQ2NF90 LCAsIDB4MjAwMDAwMDAwMDY4LCAwLCAzMCwgMSk7CiAgU1RPUkVfQllfQklUTUFTSyh1aW50NjRf dCwgLCAweDIwMDAwMDAwMDA2OCwgMCwgMzEsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWludDY0 X3QsICwgMHgyMDAwMDAwMDAwNjgsIDAsIDMyLCAxKTsKICBTVE9SRV9CWV9CSVRNQVNLKHVpbnQ2 NF90LCAsIDB4MjAwMDAwMDAwMDY4LCAwLCAzMywgMSk7CiAgU1RPUkVfQllfQklUTUFTSyh1aW50 NjRfdCwgLCAweDIwMDAwMDAwMDA2OCwgMCwgMzQsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0sodWlu dDY0X3QsICwgMHgyMDAwMDAwMDAwNjgsIDAsIDM1LCAxKTsKICBTVE9SRV9CWV9CSVRNQVNLKHVp bnQ2NF90LCAsIDB4MjAwMDAwMDAwMDY4LCAwLCAzNiwgMSk7CiAgU1RPUkVfQllfQklUTUFTSyh1 aW50NjRfdCwgLCAweDIwMDAwMDAwMDA2OCwgMCwgMzcsIDEpOwogIFNUT1JFX0JZX0JJVE1BU0so dWludDY0X3QsICwgMHgyMDAwMDAwMDAwNjgsIDAsIDM4LCAyNik7CiAgKih1aW50MzJfdCopMHgy MDAwMDAwMDAwNzAgPSA3OwogICoodWludDMyX3QqKTB4MjAwMDAwMDAwMDc0ID0gMDsKICAqKHVp bnQ2NF90KikweDIwMDAwMDAwMDA3OCA9IDB4MjAwMDAwMDAwMDAwOwogICoodWludDY0X3QqKTB4 MjAwMDAwMDAwMDgwID0gMDsKICAqKHVpbnQ2NF90KikweDIwMDAwMDAwMDA4OCA9IDA7CiAgKih1 aW50NjRfdCopMHgyMDAwMDAwMDAwOTAgPSAwOwogICoodWludDMyX3QqKTB4MjAwMDAwMDAwMDk4 ID0gMDsKICAqKHVpbnQzMl90KikweDIwMDAwMDAwMDA5YyA9IDA7CiAgKih1aW50NjRfdCopMHgy MDAwMDAwMDAwYTAgPSAweDQwMDAwMDAwMDAwMDAwOwogICoodWludDMyX3QqKTB4MjAwMDAwMDAw MGE4ID0gMDsKICAqKHVpbnQxNl90KikweDIwMDAwMDAwMDBhYyA9IDA7CiAgKih1aW50MTZfdCop MHgyMDAwMDAwMDAwYWUgPSAwOwogICoodWludDMyX3QqKTB4MjAwMDAwMDAwMGIwID0gOTsKICAq KHVpbnQzMl90KikweDIwMDAwMDAwMDBiNCA9IDA7CiAgKih1aW50NjRfdCopMHgyMDAwMDAwMDAw YjggPSAwOwogIHN5c2NhbGwoX19OUl9wZXJmX2V2ZW50X29wZW4sIC8qYXR0cj0qLzB4MjAwMDAw MDAwMDQwdWwsIC8qcGlkPSovMCwKICAgICAgICAgIC8qY3B1PSovMHVsLCAvKmdyb3VwPSovLTEs CiAgICAgICAgICAvKmZsYWdzPVBFUkZfRkxBR19GRF9DTE9FWEVDfFBFUkZfRkxBR19GRF9PVVRQ VVQqLyAweGF1bCk7Cn0KaW50IG1haW4odm9pZCkKewogIHN5c2NhbGwoX19OUl9tbWFwLCAvKmFk ZHI9Ki8weDFmZmZmZmZmZjAwMHVsLCAvKmxlbj0qLzB4MTAwMHVsLCAvKnByb3Q9Ki8wdWwsCiAg ICAgICAgICAvKmZsYWdzPU1BUF9GSVhFRHxNQVBfQU5PTllNT1VTfE1BUF9QUklWQVRFKi8gMHgz MnVsLCAvKmZkPSovLTEsCiAgICAgICAgICAvKm9mZnNldD0qLzB1bCk7CiAgc3lzY2FsbChfX05S X21tYXAsIC8qYWRkcj0qLzB4MjAwMDAwMDAwMDAwdWwsIC8qbGVuPSovMHgxMDAwMDAwdWwsCiAg ICAgICAgICAvKnByb3Q9UFJPVF9XUklURXxQUk9UX1JFQUR8UFJPVF9FWEVDKi8gN3VsLAogICAg ICAgICAgLypmbGFncz1NQVBfRklYRUR8TUFQX0FOT05ZTU9VU3xNQVBfUFJJVkFURSovIDB4MzJ1 bCwgLypmZD0qLy0xLAogICAgICAgICAgLypvZmZzZXQ9Ki8wdWwpOwogIHN5c2NhbGwoX19OUl9t bWFwLCAvKmFkZHI9Ki8weDIwMDAwMTAwMDAwMHVsLCAvKmxlbj0qLzB4MTAwMHVsLCAvKnByb3Q9 Ki8wdWwsCiAgICAgICAgICAvKmZsYWdzPU1BUF9GSVhFRHxNQVBfQU5PTllNT1VTfE1BUF9QUklW QVRFKi8gMHgzMnVsLCAvKmZkPSovLTEsCiAgICAgICAgICAvKm9mZnNldD0qLzB1bCk7CiAgY29u c3QgY2hhciogcmVhc29uOwogICh2b2lkKXJlYXNvbjsKICBsb29wKCk7CiAgcmV0dXJuIDA7Cn0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQoKCkkgaG9wZSBpdCBoZWxwcy4KQmVzdCByZWdhcmRzCkppYW56aG91IFpoYW8=