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 smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1582CC433F5 for ; Sun, 6 Feb 2022 09:04:50 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id B37464022D; Sun, 6 Feb 2022 09:04:49 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vOdKJjAESCNG; Sun, 6 Feb 2022 09:04:47 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id 3AD5840239; Sun, 6 Feb 2022 09:04:46 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 245B11BF83C for ; Sun, 6 Feb 2022 09:04:44 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 168918125E for ; Sun, 6 Feb 2022 09:04:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp1.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v-uli0pqbxIo for ; Sun, 6 Feb 2022 09:04:41 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) by smtp1.osuosl.org (Postfix) with ESMTPS id BAFB481252 for ; Sun, 6 Feb 2022 09:04:40 +0000 (UTC) Received: by mail-ed1-x52a.google.com with SMTP id w14so23392004edd.10 for ; Sun, 06 Feb 2022 01:04:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=eBRSBFjaRHu9oWJ4F10KO9NIIFjzOQDeVkpSQ3pp3d0=; b=HHF+PzUWnElwGEbh4fsiPS1xpofL9eece/NOnjNCLSAnZhcEU17rYL5XZ2I/N8365J b2ARlf62iCrIXLPCr2U6uDHqJhmZHddZjbma3zi7yJBftXDQla/YDey04jREk0by14YB KciDVgCtDw9HW5+ZQkywscl1oa3YTaFJOwyWjeV/CgQZTmrvATa2TjZOYYBkUyzSC25O KTvLtAtoem2KpAUdIej/qy98AlgnW+bXMRHDsJCN7V92cAxzE+GWQdK1oGz8ke64aIrO fLaaDDj1XQuh+t7Lk/4W71dxSWSBj4oCzXCD0oBnGlV3tQZ7rhQagXePUI0IjgGjbfVl baQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=eBRSBFjaRHu9oWJ4F10KO9NIIFjzOQDeVkpSQ3pp3d0=; b=WWeu66MCsXwUKmgR+rJ6BcAkyOaErCeB2arq50qHXdVXpVH4/DqyKuhCiyW+6nsw5m 83+wfaXQJfFZ/9sAPT3XEt0OcwZ6f9+0lDTNjDy1ZlqtDYTVo2a8np2vsh8nWNe5hytR UfsImLuS0Y7eHZuwHwltrK9K2+BB7qVBxHPEbJnVflkKJRaD1rprh3jR9f/+WbEAXoyJ AmfSuOYlYDW3xhCwSav6lL2OfvcIOPjz05Sf0w4nFKqicDptCk4WJ8uAfCELQZAmXobV Ir8tvPieXKcjRNE+yHW2PGZ3Bkc+WL4oZRIR6KsguagnkXlxD19aAGiGWEMezoc531Vj xtMA== X-Gm-Message-State: AOAM531jEFGFZ4/lTZdSpic/IiErl3LpXAGRepwI8fjPOYcY+Kd+2d+H EhBMSerftGelIo1qhF57iTykUPjb+IpP3g== X-Google-Smtp-Source: ABdhPJy6zNV2oyh0xDbRKWNHMdUQ9NvOJ1C/OTfM5ks3S9zXrm8yAMhBAvSxsasHa+Y5DYClcR0QRA== X-Received: by 2002:aa7:d299:: with SMTP id w25mr7401419edq.21.1644138277822; Sun, 06 Feb 2022 01:04:37 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:eb68:2f00:592d:6564:eb6c:4579]) by smtp.googlemail.com with ESMTPSA id co26sm747393edb.60.2022.02.06.01.04.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 06 Feb 2022 01:04:37 -0800 (PST) From: Thomas Devoogdt To: buildroot@buildroot.org Date: Sun, 6 Feb 2022 10:04:26 +0100 Message-Id: <20220206090426.15583-1-thomas.devoogdt@gmail.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Subject: [Buildroot] [PATCH] package/bluez5_utils: fix build with libglib2 >= 2.69 X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Devoogdt , Marcin Bis Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" Rml4IHRoZSBmb2xsb3dpbmcgYnVpbGQgZmFpbHVyZSByYWlzZWQgc2luY2UgYnVtcCBvZiBsaWJn bGliMiB0byB2ZXJzaW9uCjIuNzAgaW4gY29tbWl0IDA3OTkyM2Q6Cgpwcm9maWxlcy9iYXR0ZXJ5 L2JhdHRlcnkuYzoxNjI6Mjogd2FybmluZzogJ2dfbWVtZHVwJyBpcyBkZXByZWNhdGVkIChkZWNs YXJlZCBhdCAvaG9tZS9idWlsZHJvb3QvYXV0b2J1aWxkL2luc3RhbmNlLTAvb3V0cHV0LTEvaG9z dC9iaW4vLi4vYXJtLWJ1aWxkcm9vdC1saW51eC1nbnVlYWJpL3N5c3Jvb3QvdXNyL2luY2x1ZGUv Z2xpYi0yLjAvZ2xpYi9nc3RyZnVuY3MuaDoyNTcpOiBVc2UgJ2dfbWVtZHVwMicgaW5zdGVhZCBb LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICBiYXR0LT5pbml0aWFsX3ZhbHVlID0gZ19tZW1k dXAodmFsdWUsIGxlbmd0aCk7CgpGaXhlczoKIC0gaHR0cDovL2F1dG9idWlsZC5idWlsZHJvb3Qu b3JnL3Jlc3VsdHMvNmI4LzZiODg3MGQxMmUwODA0ZDYxNTQyMzBhNzMyMmM0OTQxNmMxZGMwZTIv YnVpbGQtZW5kLmxvZwoKU291cmNlczoKIC0gaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2Nt L2JsdWV0b290aC9ibHVlei5naXQvY29tbWl0Lz9pZD03MTAyMjBmODYxYjEwMDg1NjcxMWEwYTRk NGE4NTI4NzQyMjhhNTdhCiAtIGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9ibHVldG9v dGgvYmx1ZXouZ2l0L2NvbW1pdC8/aWQ9OWYwOWU2OWVjYjA3NzA4MjMwMWRhZmI3NDU4NTZlMWYz NzMxYWFhNwogLSBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vYmx1ZXRvb3RoL2JsdWV6 LmdpdC9jb21taXQvP2lkPWNmYWI1Njk0ODRiMTg0MDdmYzExN2JiOTY2MzQ1MjVjYzc2ZWExZjUK ClNpZ25lZC1vZmYtYnk6IFRob21hcyBEZXZvb2dkdCA8dGhvbWFzLmRldm9vZ2R0QGdtYWlsLmNv bT4KLS0tCiAuLi4tdG9vbHMtbWVzaC1jZmd0ZXN0LWluY2x1ZGUtbGltaXRzLmgucGF0Y2ggfCAg ICA2ICstCiAuLi50aWwtUmVuYW1lLWJ0ZF9tYWxsb2MtdG8tdXRpbF9tYWxsb2MucGF0Y2ggfCAg IDY3ICsKIC4uLi8wMDAzLXNoYXJlZC11dGlsLUFkZC11dGlsX21lbWR1cC5wYXRjaCAgICB8ICAg NTcgKwogLi4uYWNlLXVzZS1vZi1nX21lbWR1cC13aXRoLXV0aWxfbWVtZHVwLnBhdGNoIHwgMTQx MSArKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxNTM4IGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGFja2FnZS9ibHVlejVfdXRpbHMv MDAwMi1zaGFyZWQtdXRpbC1SZW5hbWUtYnRkX21hbGxvYy10by11dGlsX21hbGxvYy5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHBhY2thZ2UvYmx1ZXo1X3V0aWxzLzAwMDMtc2hhcmVkLXV0aWwt QWRkLXV0aWxfbWVtZHVwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGFja2FnZS9ibHVlejVf dXRpbHMvMDAwNC1idWlsZC1SZXBsYWNlLXVzZS1vZi1nX21lbWR1cC13aXRoLXV0aWxfbWVtZHVw LnBhdGNoCgpkaWZmIC0tZ2l0IGEvcGFja2FnZS9ibHVlejVfdXRpbHMvMDAwMS10b29scy1tZXNo LWNmZ3Rlc3QtaW5jbHVkZS1saW1pdHMuaC5wYXRjaCBiL3BhY2thZ2UvYmx1ZXo1X3V0aWxzLzAw MDEtdG9vbHMtbWVzaC1jZmd0ZXN0LWluY2x1ZGUtbGltaXRzLmgucGF0Y2gKaW5kZXggN2YxMTk3 MzU3Zi4uNTdmMzYzYTdmZCAxMDA2NDQKLS0tIGEvcGFja2FnZS9ibHVlejVfdXRpbHMvMDAwMS10 b29scy1tZXNoLWNmZ3Rlc3QtaW5jbHVkZS1saW1pdHMuaC5wYXRjaAorKysgYi9wYWNrYWdlL2Js dWV6NV91dGlscy8wMDAxLXRvb2xzLW1lc2gtY2ZndGVzdC1pbmNsdWRlLWxpbWl0cy5oLnBhdGNo CkBAIC0xLDcgKzEsNyBAQAotRnJvbSA1MTU4ODI3ZmRlZDdjYjRkYWY1NTBhNTk1NmFmZjBjNzRm NmMzOGZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxY2Y2MjFjYWUzODQ0ZjMxYmRh Yzg1Mjk4ZjRhZTczNmJlNTQ4OGY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogTWlj aGFlbCBOb3N0aG9mZiA8Ymx1ZXpAaGVpbmUudGVjaD4KIERhdGU6IFRodSwgMjIgSnVsIDIwMjEg MjE6MzY6MTMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gdG9vbHMvbWVzaC1jZmd0ZXN0OiBpbmNs dWRlIGxpbWl0cy5oCitTdWJqZWN0OiBbUEFUQ0ggMS80XSB0b29scy9tZXNoLWNmZ3Rlc3Q6IGlu Y2x1ZGUgbGltaXRzLmgKIAogbWVzaC1jZmd0ZXN0LmMgdXNlcyBQQVRIX01BWCBzbyBpdCBzaG91 bGQgaW5jbHVkZSBsaW1pdHMuaC4KIApAQCAtMjksNSArMjksNSBAQCBpbmRleCBmYTA0NzRmYWEu LjExNmFiN2YxNiAxMDA2NDQKICAjaW5jbHVkZSA8c3RkaW8uaD4KICAjaW5jbHVkZSA8dGltZS5o PgogLS0gCi0yLjMyLjAKKzIuMTcuMQogCmRpZmYgLS1naXQgYS9wYWNrYWdlL2JsdWV6NV91dGls cy8wMDAyLXNoYXJlZC11dGlsLVJlbmFtZS1idGRfbWFsbG9jLXRvLXV0aWxfbWFsbG9jLnBhdGNo IGIvcGFja2FnZS9ibHVlejVfdXRpbHMvMDAwMi1zaGFyZWQtdXRpbC1SZW5hbWUtYnRkX21hbGxv Yy10by11dGlsX21hbGxvYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi5hYzVkNGE2YzNmCi0tLSAvZGV2L251bGwKKysrIGIvcGFja2FnZS9ibHVlejVfdXRpbHMv MDAwMi1zaGFyZWQtdXRpbC1SZW5hbWUtYnRkX21hbGxvYy10by11dGlsX21hbGxvYy5wYXRjaApA QCAtMCwwICsxLDY3IEBACitGcm9tIGYzMjYzZmVkMjhiZjUxMGExMjI1NjYxZmUyYjVmNTk4MzAw YzExY2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERl bnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CitEYXRlOiBXZWQsIDUgSmFuIDIwMjIgMTU6 NTM6MzUgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzRdIHNoYXJlZC91dGlsOiBSZW5hbWUgYnRk X21hbGxvYyB0byB1dGlsX21hbGxvYworCit1dGlsIGZ1bmN0aW9ucyBhcmUgbm90IGxpbWl0ZWQg dG8gZGFlbW9uIG9ubHkgd2hpY2ggaXMgbm9ybWFsbHkgdGhlIGNhc2UKK3doZW4gdXNpbmcgYnRk IHByZWZpeC4KKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNzEwMjIwZjg2MWIxMDA4NTY3 MTFhMGE0ZDRhODUyODc0MjI4YTU3YSkKK1NpZ25lZC1vZmYtYnk6IFRob21hcyBEZXZvb2dkdCA8 dGhvbWFzLmRldm9vZ2R0QGdtYWlsLmNvbT4KKy0tLQorIHByb2ZpbGVzL2F1ZGlvL2F2ZHRwLmMg fCAyICstCisgc3JjL3NoYXJlZC91dGlsLmMgICAgICB8IDIgKy0KKyBzcmMvc2hhcmVkL3V0aWwu aCAgICAgIHwgNCArKy0tCisgMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9wcm9maWxlcy9hdWRpby9hdmR0cC5jIGIvcHJvZmls ZXMvYXVkaW8vYXZkdHAuYworaW5kZXggZDNkZmJmOTZkLi5mMmI0NjEzMzAgMTAwNjQ0CistLS0g YS9wcm9maWxlcy9hdWRpby9hdmR0cC5jCisrKysgYi9wcm9maWxlcy9hdWRpby9hdmR0cC5jCitA QCAtMTMzMyw3ICsxMzMzLDcgQEAgc3RhdGljIEdTTGlzdCAqY2Fwc190b19saXN0KHVpbnQ4X3Qg KmRhdGEsIHNpemVfdCBzaXplLAorIAkJCWJyZWFrOworIAkJfQorIAorLQkJY3B5ID0gYnRkX21h bGxvYyhzaXplb2YoKmNweSkgKyBjYXAtPmxlbmd0aCk7CisrCQljcHkgPSB1dGlsX21hbGxvYyhz aXplb2YoKmNweSkgKyBjYXAtPmxlbmd0aCk7CisgCQltZW1jcHkoY3B5LCBjYXAsIHNpemVvZigq Y2FwKSArIGNhcC0+bGVuZ3RoKTsKKyAKKyAJCXNpemUgLT0gc2l6ZW9mKCpjYXApICsgY2FwLT5s ZW5ndGg7CitkaWZmIC0tZ2l0IGEvc3JjL3NoYXJlZC91dGlsLmMgYi9zcmMvc2hhcmVkL3V0aWwu YworaW5kZXggODFiMjBkODZmLi45MzExMDA0N2IgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL3V0 aWwuYworKysrIGIvc3JjL3NoYXJlZC91dGlsLmMKK0BAIC0yNSw3ICsyNSw3IEBACisgCisgI2lu Y2x1ZGUgInNyYy9zaGFyZWQvdXRpbC5oIgorIAorLXZvaWQgKmJ0ZF9tYWxsb2Moc2l6ZV90IHNp emUpCisrdm9pZCAqdXRpbF9tYWxsb2Moc2l6ZV90IHNpemUpCisgeworIAlpZiAoX19idWlsdGlu X2V4cGVjdCghIXNpemUsIDEpKSB7CisgCQl2b2lkICpwdHI7CitkaWZmIC0tZ2l0IGEvc3JjL3No YXJlZC91dGlsLmggYi9zcmMvc2hhcmVkL3V0aWwuaAoraW5kZXggYWM3MDExN2NhLi4xMWQwOTk3 OWQgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL3V0aWwuaAorKysrIGIvc3JjL3NoYXJlZC91dGls LmgKK0BAIC03NSw3ICs3NSw3IEBAIGRvIHsJCQkJCQlcCisgCQlzaXplX3QgX19uID0gKHNpemVf dCkgKGNvdW50KTsJXAorIAkJc2l6ZV90IF9fcyA9IHNpemVvZih0eXBlKTsJXAorIAkJdm9pZCAq X19wOwkJCVwKKy0JCV9fcCA9IGJ0ZF9tYWxsb2MoX19uICogX19zKTsJXAorKwkJX19wID0gdXRp bF9tYWxsb2MoX19uICogX19zKTsJXAorIAkJbWVtc2V0KF9fcCwgMCwgX19uICogX19zKTsJXAor IAkJX19wOwkJCQlcCisgCX0pKQorQEAgLTg2LDcgKzg2LDcgQEAgZG8gewkJCQkJCVwKKyBjaGFy ICpzdHJkZWxpbWl0KGNoYXIgKnN0ciwgY2hhciAqZGVsLCBjaGFyIGMpOworIGludCBzdHJzdWZm aXgoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpzdWZmaXgpOworIAorLXZvaWQgKmJ0ZF9t YWxsb2Moc2l6ZV90IHNpemUpOworK3ZvaWQgKnV0aWxfbWFsbG9jKHNpemVfdCBzaXplKTsKKyAK KyB0eXBlZGVmIHZvaWQgKCp1dGlsX2RlYnVnX2Z1bmNfdCkoY29uc3QgY2hhciAqc3RyLCB2b2lk ICp1c2VyX2RhdGEpOworIAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcGFja2FnZS9ibHVl ejVfdXRpbHMvMDAwMy1zaGFyZWQtdXRpbC1BZGQtdXRpbF9tZW1kdXAucGF0Y2ggYi9wYWNrYWdl L2JsdWV6NV91dGlscy8wMDAzLXNoYXJlZC11dGlsLUFkZC11dGlsX21lbWR1cC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5mZjM5ZDE5ZjNlCi0tLSAvZGV2L251 bGwKKysrIGIvcGFja2FnZS9ibHVlejVfdXRpbHMvMDAwMy1zaGFyZWQtdXRpbC1BZGQtdXRpbF9t ZW1kdXAucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbSAyOGYxYzE0MDM3NGQxZWNkYTY1ZTNk NTljY2E3MjM1MmMzYTA3Nzc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTHVpeiBB dWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorRGF0ZTogVGh1LCA2 IEphbiAyMDIyIDExOjQ1OjEyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBzaGFyZWQvdXRp bDogQWRkIHV0aWxfbWVtZHVwCisKK1RoaXMgYWRkcyB1dGlsX21lbWR1cCB3aGljaCBpcyBpbnRl bmRlZCB0byByZXBsYWNlIGdfbWVtZHVwIHNpbmNlCityZXBsYWNpbmcgdGhhdCB3aXRoIGdfbWVt ZHVwMiByZXF1aXJlcyBidW1waW5nIHRoZSBnbGliIHZlcnNpb24uCisKKyhjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IDlmMDllNjllY2IwNzcwODIzMDFkYWZiNzQ1ODU2ZTFmMzczMWFhYTcpCitT aWduZWQtb2ZmLWJ5OiBUaG9tYXMgRGV2b29nZHQgPHRob21hcy5kZXZvb2dkdEBnbWFpbC5jb20+ CistLS0KKyBzcmMvc2hhcmVkL3V0aWwuYyB8IDE2ICsrKysrKysrKysrKysrKysKKyBzcmMvc2hh cmVkL3V0aWwuaCB8ICAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKykKKwor ZGlmZiAtLWdpdCBhL3NyYy9zaGFyZWQvdXRpbC5jIGIvc3JjL3NoYXJlZC91dGlsLmMKK2luZGV4 IDkzMTEwMDQ3Yi4uNmUxYzgzMDU3IDEwMDY0NAorLS0tIGEvc3JjL3NoYXJlZC91dGlsLmMKKysr KyBiL3NyYy9zaGFyZWQvdXRpbC5jCitAQCAtNDEsNiArNDEsMjIgQEAgdm9pZCAqdXRpbF9tYWxs b2Moc2l6ZV90IHNpemUpCisgCXJldHVybiBOVUxMOworIH0KKyAKKyt2b2lkICp1dGlsX21lbWR1 cChjb25zdCB2b2lkICpzcmMsIHNpemVfdCBzaXplKQorK3sKKysJdm9pZCAqY3B5OworKworKwlp ZiAoIXNyYyB8fCAhc2l6ZSkKKysJCXJldHVybiBOVUxMOworKworKwljcHkgPSB1dGlsX21hbGxv YyhzaXplKTsKKysJaWYgKCFjcHkpCisrCQlyZXR1cm4gTlVMTDsKKysKKysJbWVtY3B5KGNweSwg c3JjLCBzaXplKTsKKysKKysJcmV0dXJuIGNweTsKKyt9CisrCisgdm9pZCB1dGlsX2RlYnVnX3Zh KHV0aWxfZGVidWdfZnVuY190IGZ1bmN0aW9uLCB2b2lkICp1c2VyX2RhdGEsCisgCQkJCWNvbnN0 IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCB2YSkKKyB7CitkaWZmIC0tZ2l0IGEvc3JjL3NoYXJlZC91 dGlsLmggYi9zcmMvc2hhcmVkL3V0aWwuaAoraW5kZXggMTFkMDk5NzlkLi44ZWY2MTMyYzQgMTAw NjQ0CistLS0gYS9zcmMvc2hhcmVkL3V0aWwuaAorKysrIGIvc3JjL3NoYXJlZC91dGlsLmgKK0BA IC04Nyw2ICs4Nyw3IEBAIGNoYXIgKnN0cmRlbGltaXQoY2hhciAqc3RyLCBjaGFyICpkZWwsIGNo YXIgYyk7CisgaW50IHN0cnN1ZmZpeChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnN1ZmZp eCk7CisgCisgdm9pZCAqdXRpbF9tYWxsb2Moc2l6ZV90IHNpemUpOworK3ZvaWQgKnV0aWxfbWVt ZHVwKGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IHNpemUpOworIAorIHR5cGVkZWYgdm9pZCAoKnV0 aWxfZGVidWdfZnVuY190KShjb25zdCBjaGFyICpzdHIsIHZvaWQgKnVzZXJfZGF0YSk7CisgCist LSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wYWNrYWdlL2JsdWV6NV91dGlscy8wMDA0LWJ1aWxk LVJlcGxhY2UtdXNlLW9mLWdfbWVtZHVwLXdpdGgtdXRpbF9tZW1kdXAucGF0Y2ggYi9wYWNrYWdl L2JsdWV6NV91dGlscy8wMDA0LWJ1aWxkLVJlcGxhY2UtdXNlLW9mLWdfbWVtZHVwLXdpdGgtdXRp bF9tZW1kdXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uOWM0 YzNlOWUwMQotLS0gL2Rldi9udWxsCisrKyBiL3BhY2thZ2UvYmx1ZXo1X3V0aWxzLzAwMDQtYnVp bGQtUmVwbGFjZS11c2Utb2YtZ19tZW1kdXAtd2l0aC11dGlsX21lbWR1cC5wYXRjaApAQCAtMCww ICsxLDE0MTEgQEAKK0Zyb20gN2ViNzQxODBjZjZmZDZjZWJjNjFiYjcxOWQ0NThjYmY1ZDdmNGNh NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEx1aXogQXVndXN0byB2b24gRGVudHog PGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KK0RhdGU6IFRodSwgNiBKYW4gMjAyMiAxMjo1MDoz MyAtMDgwMAorU3ViamVjdDogW1BBVENIIDQvNF0gYnVpbGQ6IFJlcGxhY2UgdXNlIG9mIGdfbWVt ZHVwIHdpdGggdXRpbF9tZW1kdXAKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK KworVGhpcyByZXBsYWNlcyB0aGUgdXNlcyBvZiBnX21lbWR1cCB3aXRoIHV0aWxfbWVtZHVwIHNp bmNlIHRoZSBmb3JtZXIgaGFzCitiZWVuIGRlcHJlY2F0ZWQ6CisKKyAgd2FybmluZzog4oCYZ19t ZW1kdXDigJkgaXMgZGVwcmVjYXRlZDogVXNlICdnX21lbWR1cDInIGluc3RlYWQKKyAgWy1XZGVw cmVjYXRlZC1kZWNsYXJhdGlvbnNdCisKK2dfbWVtZHVwMiByZXF1aXJlcyBidW1waW5nIGdsaWIg dmVyc2lvbiB3aGljaCB3b3VsZCBsaWtlbHkgaGF2ZSBpdHMKK293biBwcm9ibGVtcyB0aHVzIHdo eSB1dGlsX21lbWR1cCB3YXMgaW50cm9kdWNlZC4KKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgY2ZhYjU2OTQ4NGIxODQwN2ZjMTE3YmI5NjYzNDUyNWNjNzZlYTFmNSkKK1NpZ25lZC1vZmYt Ynk6IFRob21hcyBEZXZvb2dkdCA8dGhvbWFzLmRldm9vZ2R0QGdtYWlsLmNvbT4KKy0tLQorIE1h a2VmaWxlLmFtICAgICAgICAgICAgICAgIHwgMTAgKystLS0KKyBNYWtlZmlsZS5vYmV4ZCAgICAg ICAgICAgICB8ICAxICsKKyBNYWtlZmlsZS50b29scyAgICAgICAgICAgICB8IDExICsrKystLQor IGFuZHJvaWQvYTJkcC5jICAgICAgICAgICAgIHwgIDkgKysrLS0KKyBhbmRyb2lkL2F2Y3RwLmMg ICAgICAgICAgICB8ICA1ICsrLQorIGFuZHJvaWQvYXZyY3AtbGliLmMgICAgICAgIHwgIDIgKy0K KyBhbmRyb2lkL2dhdHQuYyAgICAgICAgICAgICB8ICA1ICsrLQorIGFuZHJvaWQvaGlkaG9zdC5j ICAgICAgICAgIHwgIDMgKy0KKyBhbmRyb2lkL3Rlc3Rlci1tYWluLmMgICAgICB8IDc3ICsrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCisgYXR0cmliL2dhdHQuYyAgICAgICAg ICAgICAgfCAxMiArKystLS0KKyBjbGllbnQvZ2F0dC5jICAgICAgICAgICAgICB8ICAyICstCisg Z29iZXgvZ29iZXgtaGVhZGVyLmMgICAgICAgfCAgNyArKy0tCisgZ29iZXgvZ29iZXgtcGFja2V0 LmMgICAgICAgfCAgNSArKy0KKyBvYmV4ZC9zcmMvb2JleC5jICAgICAgICAgICB8ICA1ICsrLQor IHBsdWdpbnMvbmVhcmQuYyAgICAgICAgICAgIHwgIDkgKysrLS0KKyBwbHVnaW5zL3BvbGljeS5j ICAgICAgICAgICB8ICA3ICsrLS0KKyBwcm9maWxlcy9hdWRpby9hdmN0cC5jICAgICB8ICA5ICsr Ky0tCisgcHJvZmlsZXMvYXVkaW8vYXZyY3AuYyAgICAgfCAxMCArKy0tLQorIHByb2ZpbGVzL2Jh dHRlcnkvYmFzLmMgICAgIHwgIDQgKy0KKyBwcm9maWxlcy9iYXR0ZXJ5L2JhdHRlcnkuYyB8ICA0 ICstCisgcHJvZmlsZXMvZGV2aWNlaW5mby9kaXMuYyAgfCAgNCArLQorIHByb2ZpbGVzL2lucHV0 L2hvZy1saWIuYyAgIHwgMTIgKysrLS0tCisgcHJvZmlsZXMvc2NhbnBhcmFtL3NjcHAuYyAgfCAg NCArLQorIHNyYy9laXIuYyAgICAgICAgICAgICAgICAgIHwgIDggKystLQorIHRvb2xzL2dhdHQt c2VydmljZS5jICAgICAgIHwgMTUgKysrKy0tLS0KKyB0b29scy9tZXNoLWdhdHQvZ2F0dC5jICAg ICB8ICA1ICsrLQorIHVuaXQvdGVzdC1hdmN0cC5jICAgICAgICAgIHwgIDQgKy0KKyB1bml0L3Rl c3QtYXZkdHAuYyAgICAgICAgICB8ICA2ICstLQorIHVuaXQvdGVzdC1hdnJjcC5jICAgICAgICAg IHwgMTAgKystLS0KKyB1bml0L3Rlc3QtZ2F0dC5jICAgICAgICAgICB8ICA0ICstCisgdW5pdC90 ZXN0LWhmcC5jICAgICAgICAgICAgfCAxMSArKystLS0KKyB1bml0L3Rlc3QtaG9nLmMgICAgICAg ICAgICB8IDI2ICsrKysrKy0tLS0tLS0KKyB1bml0L3Rlc3Qtc2RwLmMgICAgICAgICAgICB8IDEw ICsrKy0tCisgdW5pdC90ZXN0LXVoaWQuYyAgICAgICAgICAgfCAgMiArLQorIDM0IGZpbGVzIGNo YW5nZWQsIDE3MiBpbnNlcnRpb25zKCspLCAxNDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCAzMDhmMTNjNTAuLjliNWUxNDBiOCAx MDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTUwOCwyMyAr NTA4LDIzIEBAIHVuaXRfdGVzdHMgKz0gdW5pdC90ZXN0LWdvYmV4LWhlYWRlciB1bml0L3Rlc3Qt Z29iZXgtcGFja2V0IHVuaXQvdGVzdC1nb2JleCBcCisgCisgdW5pdF90ZXN0X2dvYmV4X1NPVVJD RVMgPSAkKGdvYmV4X3NvdXJjZXMpIHVuaXQvdXRpbC5jIHVuaXQvdXRpbC5oIFwKKyAJCQkJCQl1 bml0L3Rlc3QtZ29iZXguYworLXVuaXRfdGVzdF9nb2JleF9MREFERCA9ICQoR0xJQl9MSUJTKQor K3VuaXRfdGVzdF9nb2JleF9MREFERCA9IHNyYy9saWJzaGFyZWQtZ2xpYi5sYSAkKEdMSUJfTElC UykKKyAKKyB1bml0X3Rlc3RfZ29iZXhfcGFja2V0X1NPVVJDRVMgPSAkKGdvYmV4X3NvdXJjZXMp IHVuaXQvdXRpbC5jIHVuaXQvdXRpbC5oIFwKKyAJCQkJCQl1bml0L3Rlc3QtZ29iZXgtcGFja2V0 LmMKKy11bml0X3Rlc3RfZ29iZXhfcGFja2V0X0xEQUREID0gJChHTElCX0xJQlMpCisrdW5pdF90 ZXN0X2dvYmV4X3BhY2tldF9MREFERCA9IHNyYy9saWJzaGFyZWQtZ2xpYi5sYSAkKEdMSUJfTElC UykKKyAKKyB1bml0X3Rlc3RfZ29iZXhfaGVhZGVyX1NPVVJDRVMgPSAkKGdvYmV4X3NvdXJjZXMp IHVuaXQvdXRpbC5jIHVuaXQvdXRpbC5oIFwKKyAJCQkJCQl1bml0L3Rlc3QtZ29iZXgtaGVhZGVy LmMKKy11bml0X3Rlc3RfZ29iZXhfaGVhZGVyX0xEQUREID0gJChHTElCX0xJQlMpCisrdW5pdF90 ZXN0X2dvYmV4X2hlYWRlcl9MREFERCA9IHNyYy9saWJzaGFyZWQtZ2xpYi5sYSAkKEdMSUJfTElC UykKKyAKKyB1bml0X3Rlc3RfZ29iZXhfdHJhbnNmZXJfU09VUkNFUyA9ICQoZ29iZXhfc291cmNl cykgdW5pdC91dGlsLmMgdW5pdC91dGlsLmggXAorIAkJCQkJCXVuaXQvdGVzdC1nb2JleC10cmFu c2Zlci5jCistdW5pdF90ZXN0X2dvYmV4X3RyYW5zZmVyX0xEQUREID0gJChHTElCX0xJQlMpCisr dW5pdF90ZXN0X2dvYmV4X3RyYW5zZmVyX0xEQUREID0gc3JjL2xpYnNoYXJlZC1nbGliLmxhICQo R0xJQl9MSUJTKQorIAorIHVuaXRfdGVzdF9nb2JleF9hcHBhcmFtX1NPVVJDRVMgPSAkKGdvYmV4 X3NvdXJjZXMpIHVuaXQvdXRpbC5jIHVuaXQvdXRpbC5oIFwKKyAJCQkJCQl1bml0L3Rlc3QtZ29i ZXgtYXBwYXJhbS5jCistdW5pdF90ZXN0X2dvYmV4X2FwcGFyYW1fTERBREQgPSAkKEdMSUJfTElC UykKKyt1bml0X3Rlc3RfZ29iZXhfYXBwYXJhbV9MREFERCA9IHNyYy9saWJzaGFyZWQtZ2xpYi5s YSAkKEdMSUJfTElCUykKKyBlbmRpZgorIAorIHVuaXRfdGVzdHMgKz0gdW5pdC90ZXN0LWxpYgor ZGlmZiAtLWdpdCBhL01ha2VmaWxlLm9iZXhkIGIvTWFrZWZpbGUub2JleGQKK2luZGV4IDM3YTEz MzQ1NS4uNWQxYTRmZjY1IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUub2JleGQKKysrKyBiL01ha2Vm aWxlLm9iZXhkCitAQCAtODIsNiArODIsNyBAQCBvYmV4ZF9zcmNfb2JleGRfU09VUkNFUyA9ICQo YnRpb19zb3VyY2VzKSAkKGdvYmV4X3NvdXJjZXMpIFwKKyAJCQlvYmV4ZC9zcmMvbWFwX2FwLmgK KyBvYmV4ZF9zcmNfb2JleGRfTERBREQgPSBsaWIvbGliYmx1ZXRvb3RoLWludGVybmFsLmxhIFwK KyAJCQlnZGJ1cy9saWJnZGJ1cy1pbnRlcm5hbC5sYSBcCisrCQkJc3JjL2xpYnNoYXJlZC1nbGli LmxhIFwKKyAJCQkkKElDQUxfTElCUykgJChEQlVTX0xJQlMpICQoTElCRUJPT0tfTElCUykgXAor IAkJCSQoTElCRURBVEFTRVJWRVJfTElCUykgJChHTElCX0xJQlMpIC1sZGwKKyAKK2RpZmYgLS1n aXQgYS9NYWtlZmlsZS50b29scyBiL01ha2VmaWxlLnRvb2xzCitpbmRleCBjN2JkZmY4M2YuLjM1 YjAwMjFlYSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLnRvb2xzCisrKysgYi9NYWtlZmlsZS50b29s cworQEAgLTMwMiw3ICszMDIsOCBAQCB0b29sc19tcHJpc19wcm94eV9TT1VSQ0VTID0gdG9vbHMv bXByaXMtcHJveHkuYworIHRvb2xzX21wcmlzX3Byb3h5X0xEQUREID0gZ2RidXMvbGliZ2RidXMt aW50ZXJuYWwubGEgJChHTElCX0xJQlMpICQoREJVU19MSUJTKQorIAorIHRvb2xzX2dhdHRfc2Vy dmljZV9TT1VSQ0VTID0gdG9vbHMvZ2F0dC1zZXJ2aWNlLmMKKy10b29sc19nYXR0X3NlcnZpY2Vf TERBREQgPSAkKEdMSUJfTElCUykgJChEQlVTX0xJQlMpIGdkYnVzL2xpYmdkYnVzLWludGVybmFs LmxhCisrdG9vbHNfZ2F0dF9zZXJ2aWNlX0xEQUREID0gZ2RidXMvbGliZ2RidXMtaW50ZXJuYWwu bGEgXAorKwkJCSAgIHNyYy9saWJzaGFyZWQtbWFpbmxvb3AubGEgJChHTElCX0xJQlMpICQoREJV U19MSUJTKQorIAorIHByb2ZpbGVzX2lhcF9pYXBkX1NPVVJDRVMgPSBwcm9maWxlcy9pYXAvbWFp bi5jCisgcHJvZmlsZXNfaWFwX2lhcGRfTERBREQgPSBnZGJ1cy9saWJnZGJ1cy1pbnRlcm5hbC5s YSAkKEdMSUJfTElCUykgJChEQlVTX0xJQlMpCitAQCAtNDQ4LDExICs0NDksMTIgQEAgbm9pbnN0 X1BST0dSQU1TICs9IHRvb2xzL2J0bWdtdCB0b29scy9vYmV4LWNsaWVudC10b29sIHRvb2xzL29i ZXgtc2VydmVyLXRvb2wgXAorIHRvb2xzX29iZXhfY2xpZW50X3Rvb2xfU09VUkNFUyA9ICQoZ29i ZXhfc291cmNlcykgJChidGlvX3NvdXJjZXMpIFwKKyAJCQkJCQl0b29scy9vYmV4LWNsaWVudC10 b29sLmMKKyB0b29sc19vYmV4X2NsaWVudF90b29sX0xEQUREID0gbGliL2xpYmJsdWV0b290aC1p bnRlcm5hbC5sYSBcCistCQkJCQkJJChHTElCX0xJQlMpIC1scmVhZGxpbmUKKysJCQkgICAgICAg c3JjL2xpYnNoYXJlZC1nbGliLmxhICQoR0xJQl9MSUJTKSAtbHJlYWRsaW5lCisgCisgdG9vbHNf b2JleF9zZXJ2ZXJfdG9vbF9TT1VSQ0VTID0gJChnb2JleF9zb3VyY2VzKSAkKGJ0aW9fc291cmNl cykgXAorIAkJCQkJCXRvb2xzL29iZXgtc2VydmVyLXRvb2wuYworLXRvb2xzX29iZXhfc2VydmVy X3Rvb2xfTERBREQgPSBsaWIvbGliYmx1ZXRvb3RoLWludGVybmFsLmxhICQoR0xJQl9MSUJTKQor K3Rvb2xzX29iZXhfc2VydmVyX3Rvb2xfTERBREQgPSBsaWIvbGliYmx1ZXRvb3RoLWludGVybmFs LmxhIFwKKysJCQkgICAgICAgc3JjL2xpYnNoYXJlZC1nbGliLmxhICQoR0xJQl9MSUJTKQorIAor IHRvb2xzX2JsdWV0b290aF9wbGF5ZXJfU09VUkNFUyA9IHRvb2xzL2JsdWV0b290aC1wbGF5ZXIu YworIHRvb2xzX2JsdWV0b290aF9wbGF5ZXJfTERBREQgPSBnZGJ1cy9saWJnZGJ1cy1pbnRlcm5h bC5sYSBcCitAQCAtNDYxLDcgKzQ2Myw4IEBAIHRvb2xzX2JsdWV0b290aF9wbGF5ZXJfTERBREQg PSBnZGJ1cy9saWJnZGJ1cy1pbnRlcm5hbC5sYSBcCisgCisgdG9vbHNfb2JleGN0bF9TT1VSQ0VT ID0gdG9vbHMvb2JleGN0bC5jCisgdG9vbHNfb2JleGN0bF9MREFERCA9IGdkYnVzL2xpYmdkYnVz LWludGVybmFsLmxhIHNyYy9saWJzaGFyZWQtZ2xpYi5sYSBcCistCQkJCSQoR0xJQl9MSUJTKSAk KERCVVNfTElCUykgLWxyZWFkbGluZQorKwkJCXNyYy9saWJzaGFyZWQtZ2xpYi5sYSAkKEdMSUJf TElCUykgJChEQlVTX0xJQlMpIFwKKysJCQktbHJlYWRsaW5lCisgCisgdG9vbHNfYnRtZ210X1NP VVJDRVMgPSB0b29scy9idG1nbXQuYyBzcmMvdXVpZC1oZWxwZXIuYyBjbGllbnQvZGlzcGxheS5j CisgdG9vbHNfYnRtZ210X0xEQUREID0gbGliL2xpYmJsdWV0b290aC1pbnRlcm5hbC5sYSBzcmMv bGlic2hhcmVkLW1haW5sb29wLmxhIFwKK2RpZmYgLS1naXQgYS9hbmRyb2lkL2EyZHAuYyBiL2Fu ZHJvaWQvYTJkcC5jCitpbmRleCAwMjkxMDdjZjUuLmVlNjA3YTMyZCAxMDA2NDQKKy0tLSBhL2Fu ZHJvaWQvYTJkcC5jCisrKysgYi9hbmRyb2lkL2EyZHAuYworQEAgLTI2LDYgKzI2LDcgQEAKKyAj aW5jbHVkZSAibGliL3NkcF9saWIuaCIKKyAjaW5jbHVkZSAicHJvZmlsZXMvYXVkaW8vYTJkcC1j b2RlY3MuaCIKKyAjaW5jbHVkZSAic3JjL3NoYXJlZC9xdWV1ZS5oIgorKyNpbmNsdWRlICJzcmMv c2hhcmVkL3V0aWwuaCIKKyAjaW5jbHVkZSAic3JjL2xvZy5oIgorICNpbmNsdWRlICJoYWwtbXNn LmgiCisgI2luY2x1ZGUgImlwYy1jb21tb24uaCIKK0BAIC00MjgsNyArNDI5LDcgQEAgc3RhdGlj IHN0cnVjdCBhMmRwX3ByZXNldCAqc2JjX3NlbGVjdF9yYW5nZSh2b2lkICpjYXBzLCB1aW50OF90 IGNhcHNfbGVuLAorIAorIAlwID0gZ19uZXcwKHN0cnVjdCBhMmRwX3ByZXNldCwgMSk7CisgCXAt PmxlbiA9IGNvbmZfbGVuOworLQlwLT5kYXRhID0gZ19tZW1kdXAoY29uZiwgcC0+bGVuKTsKKysJ cC0+ZGF0YSA9IHV0aWxfbWVtZHVwKGNvbmYsIHAtPmxlbik7CisgCisgCXJldHVybiBwOworIH0K K0BAIC00NDgsNyArNDQ5LDcgQEAgc3RhdGljIHN0cnVjdCBhMmRwX3ByZXNldCAqYWFjX3NlbGVj dF9yYW5nZSh2b2lkICpjYXBzLCB1aW50OF90IGNhcHNfbGVuLAorIAorIAlwID0gZ19uZXcwKHN0 cnVjdCBhMmRwX3ByZXNldCwgMSk7CisgCXAtPmxlbiA9IGNvbmZfbGVuOworLQlwLT5kYXRhID0g Z19tZW1kdXAoY29uZiwgcC0+bGVuKTsKKysJcC0+ZGF0YSA9IHV0aWxfbWVtZHVwKGNvbmYsIHAt Pmxlbik7CisgCisgCXJldHVybiBwOworIH0KK0BAIC0xMDM2LDcgKzEwMzcsNyBAQCBzdGF0aWMg Z2Jvb2xlYW4gc2VwX3NldGNvbmZfaW5kKHN0cnVjdCBhdmR0cCAqc2Vzc2lvbiwKKyAKKyAJCXBy ZXNldCA9IGdfbmV3MChzdHJ1Y3QgYTJkcF9wcmVzZXQsIDEpOworIAkJcHJlc2V0LT5sZW4gPSBj YXAtPmxlbmd0aCAtIHNpemVvZigqY29kZWMpOworLQkJcHJlc2V0LT5kYXRhID0gZ19tZW1kdXAo Y29kZWMtPmRhdGEsIHByZXNldC0+bGVuKTsKKysJCXByZXNldC0+ZGF0YSA9IHV0aWxfbWVtZHVw KGNvZGVjLT5kYXRhLCBwcmVzZXQtPmxlbik7CisgCisgCQlpZiAoY2hlY2tfY29uZmlnKGVuZHBv aW50LCBwcmVzZXQpIDwgMCkgeworIAkJCXByZXNldF9mcmVlKHByZXNldCk7CitAQCAtMTM2NSw3 ICsxMzY2LDcgQEAgc3RhdGljIEdTTGlzdCAqcGFyc2VfcHJlc2V0cyhjb25zdCBzdHJ1Y3QgYXVk aW9fcHJlc2V0ICpwLCB1aW50OF90IGNvdW50LAorIAorIAkJcHJlc2V0ID0gZ19uZXcwKHN0cnVj dCBhMmRwX3ByZXNldCwgMSk7CisgCQlwcmVzZXQtPmxlbiA9IHAtPmxlbjsKKy0JCXByZXNldC0+ ZGF0YSA9IGdfbWVtZHVwKHAtPmRhdGEsIHByZXNldC0+bGVuKTsKKysJCXByZXNldC0+ZGF0YSA9 IHV0aWxfbWVtZHVwKHAtPmRhdGEsIHByZXNldC0+bGVuKTsKKyAJCWwgPSBnX3NsaXN0X2FwcGVu ZChsLCBwcmVzZXQpOworIAorIAkJbGVuIC09IHByZXNldC0+bGVuOworZGlmZiAtLWdpdCBhL2Fu ZHJvaWQvYXZjdHAuYyBiL2FuZHJvaWQvYXZjdHAuYworaW5kZXggMTRlYmJjMzkxLi4zN2I0Y2Vj NGYgMTAwNjQ0CistLS0gYS9hbmRyb2lkL2F2Y3RwLmMKKysrKyBiL2FuZHJvaWQvYXZjdHAuYwor QEAgLTMxLDYgKzMxLDcgQEAKKyAjaW5jbHVkZSA8Z2xpYi5oPgorIAorICNpbmNsdWRlICJsaWIv c2RwLmgiCisrI2luY2x1ZGUgInNyYy9zaGFyZWQvdXRpbC5oIgorICNpbmNsdWRlICJzcmMvbG9n LmgiCisgI2luY2x1ZGUgImF2Y3RwLmgiCisgCitAQCAtMTE3Nyw3ICsxMTc4LDcgQEAgc3RhdGlj IGludCBhdmN0cF9zZW5kX3JlcShzdHJ1Y3QgYXZjdHAgKnNlc3Npb24sIHVpbnQ4X3QgY29kZSwg dWludDhfdCBzdWJ1bml0LAorIAorIAlmb3IgKGkgPSAwOyBpIDwgaW92X2NudDsgaSsrKSB7Cisg CQlwZHVbaV0uaW92X2xlbiA9IGlvdltpXS5pb3ZfbGVuOworLQkJcGR1W2ldLmlvdl9iYXNlID0g Z19tZW1kdXAoaW92W2ldLmlvdl9iYXNlLCBpb3ZbaV0uaW92X2xlbik7CisrCQlwZHVbaV0uaW92 X2Jhc2UgPSB1dGlsX21lbWR1cChpb3ZbaV0uaW92X2Jhc2UsIGlvdltpXS5pb3ZfbGVuKTsKKyAJ fQorIAorIAlyZXEgPSBnX25ldzAoc3RydWN0IGF2Y3RwX2NvbnRyb2xfcmVxLCAxKTsKK0BAIC0x MjE4LDcgKzEyMTksNyBAQCBpbnQgYXZjdHBfc2VuZF9icm93c2luZ19yZXEoc3RydWN0IGF2Y3Rw ICpzZXNzaW9uLAorIAorIAlmb3IgKGkgPSAwOyBpIDwgaW92X2NudDsgaSsrKSB7CisgCQlwZHVb aV0uaW92X2xlbiA9IGlvdltpXS5pb3ZfbGVuOworLQkJcGR1W2ldLmlvdl9iYXNlID0gZ19tZW1k dXAoaW92W2ldLmlvdl9iYXNlLCBpb3ZbaV0uaW92X2xlbik7CisrCQlwZHVbaV0uaW92X2Jhc2Ug PSB1dGlsX21lbWR1cChpb3ZbaV0uaW92X2Jhc2UsIGlvdltpXS5pb3ZfbGVuKTsKKyAJfQorIAor IAlyZXEgPSBnX25ldzAoc3RydWN0IGF2Y3RwX2Jyb3dzaW5nX3JlcSwgMSk7CitkaWZmIC0tZ2l0 IGEvYW5kcm9pZC9hdnJjcC1saWIuYyBiL2FuZHJvaWQvYXZyY3AtbGliLmMKK2luZGV4IDIwMDdk MDlkMi4uYjM0MjY5MmNiIDEwMDY0NAorLS0tIGEvYW5kcm9pZC9hdnJjcC1saWIuYworKysrIGIv YW5kcm9pZC9hdnJjcC1saWIuYworQEAgLTI2MjAsNyArMjYyMCw3IEBAIHN0YXRpYyBjaGFyICpw YXJzZV9mb2xkZXJfbGlzdCh1aW50OF90ICpwYXJhbXMsIHVpbnQxNl90IHBhcmFtc19sZW4sCisg CQkJcmV0dXJuIE5VTEw7CisgCQl9CisgCistCQlmb2xkZXJzW2NvdW50XSA9IGdfbWVtZHVwKCZw YXJhbXNbaV0sIGxlbik7CisrCQlmb2xkZXJzW2NvdW50XSA9IHV0aWxfbWVtZHVwKCZwYXJhbXNb aV0sIGxlbik7CisgCQlpICs9IGxlbjsKKyAJfQorIAorZGlmZiAtLWdpdCBhL2FuZHJvaWQvZ2F0 dC5jIGIvYW5kcm9pZC9nYXR0LmMKK2luZGV4IGE4YTBjNDg4Yi4uZThiYTVhYWJiIDEwMDY0NAor LS0tIGEvYW5kcm9pZC9nYXR0LmMKKysrKyBiL2FuZHJvaWQvZ2F0dC5jCitAQCAtMTMzOCw3ICsx MzM4LDggQEAgc3RhdGljIHZvaWQgZGlzY292ZXJfcHJpbWFyeV9jYih1aW50OF90IHN0YXR1cywg R1NMaXN0ICpzZXJ2aWNlcywKKyAJCX0KKyAKKyAJCWJ0X3V1aWRfdG9fdXVpZDEyOCgmdXVpZCwg JnUxMjgpOworLQkJbmV3X3V1aWQgPSBnX21lbWR1cCgmdTEyOC52YWx1ZS51MTI4LCBzaXplb2Yo dTEyOC52YWx1ZS51MTI4KSk7CisrCQluZXdfdXVpZCA9IHV0aWxfbWVtZHVwKCZ1MTI4LnZhbHVl LnUxMjgsCisrCQkJCQlzaXplb2YodTEyOC52YWx1ZS51MTI4KSk7CisgCisgCQl1dWlkcyA9IGdf c2xpc3RfcHJlcGVuZCh1dWlkcywgbmV3X3V1aWQpOworIAl9CitAQCAtNjYzMyw3ICs2NjM0LDcg QEAgc3RhdGljIHVpbnQ4X3Qgd3JpdGVfcHJlcF9yZXF1ZXN0KGNvbnN0IHVpbnQ4X3QgKmNtZCwg dWludDE2X3QgY21kX2xlbiwKKyAKKyAJcXVldWVfcHVzaF90YWlsKGRldi0+cGVuZGluZ19yZXF1 ZXN0cywgZGF0YSk7CisgCistCWRhdGEtPnZhbHVlID0gZ19tZW1kdXAodmFsdWUsIHZsZW4pOwor KwlkYXRhLT52YWx1ZSA9IHV0aWxfbWVtZHVwKHZhbHVlLCB2bGVuKTsKKyAJZGF0YS0+bGVuZ3Ro ID0gdmxlbjsKKyAKKyAJaWYgKCFnYXR0X2RiX2F0dHJpYnV0ZV93cml0ZShhdHRyaWIsIG9mZnNl dCwgdmFsdWUsIHZsZW4sIGNtZFswXSwKK2RpZmYgLS1naXQgYS9hbmRyb2lkL2hpZGhvc3QuYyBi L2FuZHJvaWQvaGlkaG9zdC5jCitpbmRleCAwMTYzODJlMTcuLmI0ZTVjNTI3ZiAxMDA2NDQKKy0t LSBhL2FuZHJvaWQvaGlkaG9zdC5jCisrKysgYi9hbmRyb2lkL2hpZGhvc3QuYworQEAgLTY4OSw3 ICs2ODksOCBAQCBzdGF0aWMgdm9pZCBoaWRfc2RwX3NlYXJjaF9jYihzZHBfbGlzdF90ICpyZWNz LCBpbnQgZXJyLCBncG9pbnRlciBkYXRhKQorIAkJCQlnb3RvIGZhaWw7CisgCisgCQkJZGV2LT5y ZF9zaXplID0gZGF0YS0+dW5pdFNpemU7CistCQkJZGV2LT5yZF9kYXRhID0gZ19tZW1kdXAoZGF0 YS0+dmFsLnN0ciwgZGF0YS0+dW5pdFNpemUpOworKwkJCWRldi0+cmRfZGF0YSA9IHV0aWxfbWVt ZHVwKGRhdGEtPnZhbC5zdHIsCisrCQkJCQkJCWRhdGEtPnVuaXRTaXplKTsKKyAJCX0KKyAJfQor IAorZGlmZiAtLWdpdCBhL2FuZHJvaWQvdGVzdGVyLW1haW4uYyBiL2FuZHJvaWQvdGVzdGVyLW1h aW4uYworaW5kZXggZmY1ZWNkZjgzLi4zMTdjMWRlMDYgMTAwNjQ0CistLS0gYS9hbmRyb2lkL3Rl c3Rlci1tYWluLmMKKysrKyBiL2FuZHJvaWQvdGVzdGVyLW1haW4uYworQEAgLTEyNTMsNyArMTI1 Myw4IEBAIHN0YXRpYyBidF9wcm9wZXJ0eV90ICpjb3B5X3Byb3BlcnRpZXMoaW50IG51bV9wcm9w ZXJ0aWVzLAorIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3Byb3BlcnRpZXM7IGkrKykgeworIAkJcHJv cHNbaV0udHlwZSA9IHByb3BlcnRpZXNbaV0udHlwZTsKKyAJCXByb3BzW2ldLmxlbiA9IHByb3Bl cnRpZXNbaV0ubGVuOworLQkJcHJvcHNbaV0udmFsID0gZ19tZW1kdXAocHJvcGVydGllc1tpXS52 YWwsIHByb3BlcnRpZXNbaV0ubGVuKTsKKysJCXByb3BzW2ldLnZhbCA9IHV0aWxfbWVtZHVwKHBy b3BlcnRpZXNbaV0udmFsLAorKwkJCQkJCXByb3BlcnRpZXNbaV0ubGVuKTsKKyAJfQorIAorIAly ZXR1cm4gcHJvcHM7CitAQCAtMTI2OCw3ICsxMjY5LDggQEAgc3RhdGljIGJ0X3Byb3BlcnR5X3Qg KnJlcGFja19wcm9wZXJ0aWVzKGludCBudW1fcHJvcGVydGllcywKKyAJZm9yIChpID0gMDsgaSA8 IG51bV9wcm9wZXJ0aWVzOyBpKyspIHsKKyAJCXByb3BzW2ldLnR5cGUgPSBwcm9wZXJ0aWVzW2ld LT50eXBlOworIAkJcHJvcHNbaV0ubGVuID0gcHJvcGVydGllc1tpXS0+bGVuOworLQkJcHJvcHNb aV0udmFsID0gZ19tZW1kdXAocHJvcGVydGllc1tpXS0+dmFsLCBwcm9wZXJ0aWVzW2ldLT5sZW4p OworKwkJcHJvcHNbaV0udmFsID0gdXRpbF9tZW1kdXAocHJvcGVydGllc1tpXS0+dmFsLAorKwkJ CQkJCXByb3BlcnRpZXNbaV0tPmxlbik7CisgCX0KKyAKKyAJcmV0dXJuIHByb3BzOworQEAgLTEy ODEsNyArMTI4Myw3IEBAIHN0YXRpYyBidF9wcm9wZXJ0eV90ICpjcmVhdGVfcHJvcGVydHkoYnRf cHJvcGVydHlfdHlwZV90IHR5cGUsIHZvaWQgKnZhbCwKKyAKKyAJcHJvcC0+dHlwZSA9IHR5cGU7 CisgCXByb3AtPmxlbiA9IGxlbjsKKy0JcHJvcC0+dmFsID0gZ19tZW1kdXAodmFsLCBsZW4pOwor Kwlwcm9wLT52YWwgPSB1dGlsX21lbWR1cCh2YWwsIGxlbik7CisgCisgCXJldHVybiBwcm9wOwor IH0KK0BAIC0xNjE1LDcgKzE2MTcsNyBAQCBzdGF0aWMgdm9pZCBnYXR0Y19zZWFyY2hfcmVzdWx0 X2NiKGludCBjb25uX2lkLCBidGdhdHRfc3J2Y19pZF90ICpzcnZjX2lkKQorIAorIAlzdGVwLT5j YWxsYmFjayA9IENCX0dBVFRDX1NFQVJDSF9SRVNVTFQ7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3Vs dC5jb25uX2lkID0gY29ubl9pZDsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNlcnZpY2UgPSBn X21lbWR1cChzcnZjX2lkLCBzaXplb2YoKnNydmNfaWQpKTsKKysJc3RlcC0+Y2FsbGJhY2tfcmVz dWx0LnNlcnZpY2UgPSB1dGlsX21lbWR1cChzcnZjX2lkLCBzaXplb2YoKnNydmNfaWQpKTsKKyAK KyAJc2NoZWR1bGVfY2FsbGJhY2tfdmVyaWZpY2F0aW9uKHN0ZXApOworIH0KK0BAIC0xNjM5LDgg KzE2NDEsOCBAQCBzdGF0aWMgdm9pZCBnYXR0Y19nZXRfY2hhcmFjdGVyaXN0aWNfY2IoaW50IGNv bm5faWQsIGludCBzdGF0dXMsCisgCXN0ZXAtPmNhbGxiYWNrID0gQ0JfR0FUVENfR0VUX0NIQVJB Q1RFUklTVElDOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3RhdHVzID0gc3RhdHVzOworIAlz dGVwLT5jYWxsYmFja19yZXN1bHQuY29ubl9pZCA9IGNvbm5faWQ7CistCXN0ZXAtPmNhbGxiYWNr X3Jlc3VsdC5zZXJ2aWNlID0gZ19tZW1kdXAoc3J2Y19pZCwgc2l6ZW9mKCpzcnZjX2lkKSk7Cist CXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5jaGFyYWN0ZXJpc3RpYyA9IGdfbWVtZHVwKGNoYXJfaWQs CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zZXJ2aWNlID0gdXRpbF9tZW1kdXAoc3J2Y19pZCwg c2l6ZW9mKCpzcnZjX2lkKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5jaGFyYWN0ZXJpc3Rp YyA9IHV0aWxfbWVtZHVwKGNoYXJfaWQsCisgCQkJCQkJCXNpemVvZigqY2hhcl9pZCkpOworIAlz dGVwLT5jYWxsYmFja19yZXN1bHQuY2hhcl9wcm9wID0gY2hhcl9wcm9wOworIAorQEAgLTE2NTYs MTAgKzE2NTgsMTAgQEAgc3RhdGljIHZvaWQgZ2F0dGNfZ2V0X2Rlc2NyaXB0b3JfY2IoaW50IGNv bm5faWQsIGludCBzdGF0dXMsCisgCXN0ZXAtPmNhbGxiYWNrID0gQ0JfR0FUVENfR0VUX0RFU0NS SVBUT1I7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zdGF0dXMgPSBzdGF0dXM7CisgCXN0ZXAt PmNhbGxiYWNrX3Jlc3VsdC5jb25uX2lkID0gY29ubl9pZDsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVz dWx0LnNlcnZpY2UgPSBnX21lbWR1cChzcnZjX2lkLCBzaXplb2YoKnNydmNfaWQpKTsKKy0Jc3Rl cC0+Y2FsbGJhY2tfcmVzdWx0LmNoYXJhY3RlcmlzdGljID0gZ19tZW1kdXAoY2hhcl9pZCwKKysJ c3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNlcnZpY2UgPSB1dGlsX21lbWR1cChzcnZjX2lkLCBzaXpl b2YoKnNydmNfaWQpKTsKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmNoYXJhY3RlcmlzdGljID0g dXRpbF9tZW1kdXAoY2hhcl9pZCwKKyAJCQkJCQkJc2l6ZW9mKCpjaGFyX2lkKSk7CistCXN0ZXAt PmNhbGxiYWNrX3Jlc3VsdC5kZXNjcmlwdG9yID0gZ19tZW1kdXAoZGVzY3JfaWQsCisrCXN0ZXAt PmNhbGxiYWNrX3Jlc3VsdC5kZXNjcmlwdG9yID0gdXRpbF9tZW1kdXAoZGVzY3JfaWQsCisgCQkJ CQkJCXNpemVvZigqZGVzY3JfaWQpKTsKKyAKKyAJc2NoZWR1bGVfY2FsbGJhY2tfdmVyaWZpY2F0 aW9uKHN0ZXApOworQEAgLTE2NzMsOCArMTY3NSw4IEBAIHN0YXRpYyB2b2lkIGdhdHRjX2dldF9p bmNsdWRlZF9zZXJ2aWNlX2NiKGludCBjb25uX2lkLCBpbnQgc3RhdHVzLAorIAlzdGVwLT5jYWxs YmFjayA9IENCX0dBVFRDX0dFVF9JTkNMVURFRF9TRVJWSUNFOworIAlzdGVwLT5jYWxsYmFja19y ZXN1bHQuc3RhdHVzID0gc3RhdHVzOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuY29ubl9pZCA9 IGNvbm5faWQ7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zZXJ2aWNlID0gZ19tZW1kdXAoc3J2 Y19pZCwgc2l6ZW9mKCpzcnZjX2lkKSk7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5pbmNsdWRl ZCA9IGdfbWVtZHVwKGluY2xfc3J2Y19pZCwKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNlcnZp Y2UgPSB1dGlsX21lbWR1cChzcnZjX2lkLCBzaXplb2YoKnNydmNfaWQpKTsKKysJc3RlcC0+Y2Fs bGJhY2tfcmVzdWx0LmluY2x1ZGVkID0gdXRpbF9tZW1kdXAoaW5jbF9zcnZjX2lkLAorIAkJCQkJ CQlzaXplb2YoKnNydmNfaWQpKTsKKyAKKyAJc2NoZWR1bGVfY2FsbGJhY2tfdmVyaWZpY2F0aW9u KHN0ZXApOworQEAgLTE2ODgsNyArMTY5MCw4IEBAIHN0YXRpYyB2b2lkIGdhdHRjX3JlYWRfY2hh cmFjdGVyaXN0aWNfY2IoaW50IGNvbm5faWQsIGludCBzdGF0dXMsCisgCXN0ZXAtPmNhbGxiYWNr ID0gQ0JfR0FUVENfUkVBRF9DSEFSQUNURVJJU1RJQzsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0 LnN0YXR1cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmNvbm5faWQgPSBjb25u X2lkOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQucmVhZF9wYXJhbXMgPSBnX21lbWR1cChwX2Rh dGEsIHNpemVvZigqcF9kYXRhKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5yZWFkX3BhcmFt cyA9IHV0aWxfbWVtZHVwKHBfZGF0YSwKKysJCQkJCQkJc2l6ZW9mKCpwX2RhdGEpKTsKKyAKKyAJ c2NoZWR1bGVfY2FsbGJhY2tfdmVyaWZpY2F0aW9uKHN0ZXApOworIH0KK0BAIC0xNzAxLDcgKzE3 MDQsOCBAQCBzdGF0aWMgdm9pZCBnYXR0Y19yZWFkX2Rlc2NyaXB0b3JfY2IoaW50IGNvbm5faWQs IGludCBzdGF0dXMsCisgCXN0ZXAtPmNhbGxiYWNrID0gQ0JfR0FUVENfUkVBRF9ERVNDUklQVE9S OworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3RhdHVzID0gc3RhdHVzOworIAlzdGVwLT5jYWxs YmFja19yZXN1bHQuY29ubl9pZCA9IGNvbm5faWQ7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5y ZWFkX3BhcmFtcyA9IGdfbWVtZHVwKHBfZGF0YSwgc2l6ZW9mKCpwX2RhdGEpKTsKKysJc3RlcC0+ Y2FsbGJhY2tfcmVzdWx0LnJlYWRfcGFyYW1zID0gdXRpbF9tZW1kdXAocF9kYXRhLAorKwkJCQkJ CQlzaXplb2YoKnBfZGF0YSkpOworIAorIAlzY2hlZHVsZV9jYWxsYmFja192ZXJpZmljYXRpb24o c3RlcCk7CisgfQorQEAgLTE3MTQsNyArMTcxOCw4IEBAIHN0YXRpYyB2b2lkIGdhdHRjX3dyaXRl X2NoYXJhY3RlcmlzdGljX2NiKGludCBjb25uX2lkLCBpbnQgc3RhdHVzLAorIAlzdGVwLT5jYWxs YmFjayA9IENCX0dBVFRDX1dSSVRFX0NIQVJBQ1RFUklTVElDOworIAlzdGVwLT5jYWxsYmFja19y ZXN1bHQuc3RhdHVzID0gc3RhdHVzOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuY29ubl9pZCA9 IGNvbm5faWQ7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC53cml0ZV9wYXJhbXMgPSBnX21lbWR1 cChwX2RhdGEsIHNpemVvZigqcF9kYXRhKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC53cml0 ZV9wYXJhbXMgPSB1dGlsX21lbWR1cChwX2RhdGEsCisrCQkJCQkJCXNpemVvZigqcF9kYXRhKSk7 CisgCisgCXNjaGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsKKyB9CitAQCAtMTcy Nyw3ICsxNzMyLDggQEAgc3RhdGljIHZvaWQgZ2F0dGNfd3JpdGVfZGVzY3JpcHRvcl9jYihpbnQg Y29ubl9pZCwgaW50IHN0YXR1cywKKyAJc3RlcC0+Y2FsbGJhY2sgPSBDQl9HQVRUQ19XUklURV9E RVNDUklQVE9SOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3RhdHVzID0gc3RhdHVzOworIAlz dGVwLT5jYWxsYmFja19yZXN1bHQuY29ubl9pZCA9IGNvbm5faWQ7CistCXN0ZXAtPmNhbGxiYWNr X3Jlc3VsdC53cml0ZV9wYXJhbXMgPSBnX21lbWR1cChwX2RhdGEsIHNpemVvZigqcF9kYXRhKSk7 CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC53cml0ZV9wYXJhbXMgPSB1dGlsX21lbWR1cChwX2Rh dGEsCisrCQkJCQkJCXNpemVvZigqcF9kYXRhKSk7CisgCisgCXNjaGVkdWxlX2NhbGxiYWNrX3Zl cmlmaWNhdGlvbihzdGVwKTsKKyB9CitAQCAtMTc0Miw4ICsxNzQ4LDggQEAgc3RhdGljIHZvaWQg Z2F0dGNfcmVnaXN0ZXJfZm9yX25vdGlmaWNhdGlvbl9jYihpbnQgY29ubl9pZCwgaW50IHJlZ2lz dGVyZWQsCisgCXN0ZXAtPmNhbGxiYWNrID0gQ0JfR0FUVENfUkVHSVNURVJfRk9SX05PVElGSUNB VElPTjsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnN0YXR1cyA9IHN0YXR1czsKKyAJc3RlcC0+ Y2FsbGJhY2tfcmVzdWx0LmNvbm5faWQgPSBjb25uX2lkOworLQlzdGVwLT5jYWxsYmFja19yZXN1 bHQuc2VydmljZSA9IGdfbWVtZHVwKHNydmNfaWQsIHNpemVvZigqc3J2Y19pZCkpOworLQlzdGVw LT5jYWxsYmFja19yZXN1bHQuY2hhcmFjdGVyaXN0aWMgPSBnX21lbWR1cChjaGFyX2lkLAorKwlz dGVwLT5jYWxsYmFja19yZXN1bHQuc2VydmljZSA9IHV0aWxfbWVtZHVwKHNydmNfaWQsIHNpemVv Zigqc3J2Y19pZCkpOworKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuY2hhcmFjdGVyaXN0aWMgPSB1 dGlsX21lbWR1cChjaGFyX2lkLAorIAkJCQkJCQlzaXplb2YoKmNoYXJfaWQpKTsKKyAJc3RlcC0+ Y2FsbGJhY2tfcmVzdWx0Lm5vdGlmaWNhdGlvbl9yZWdpc3RlcmVkID0gcmVnaXN0ZXJlZDsKKyAK K0BAIC0xNzU2LDcgKzE3NjIsOCBAQCBzdGF0aWMgdm9pZCBnYXR0Y19ub3RpZl9jYihpbnQgY29u bl9pZCwgYnRnYXR0X25vdGlmeV9wYXJhbXNfdCAqcF9kYXRhKQorIAorIAlzdGVwLT5jYWxsYmFj ayA9IENCX0dBVFRDX05PVElGWTsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmNvbm5faWQgPSBj b25uX2lkOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQubm90aWZ5X3BhcmFtcyA9IGdfbWVtZHVw KHBfZGF0YSwgc2l6ZW9mKCpwX2RhdGEpKTsKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0Lm5vdGlm eV9wYXJhbXMgPSB1dGlsX21lbWR1cChwX2RhdGEsCisrCQkJCQkJCXNpemVvZigqcF9kYXRhKSk7 CisgCisgCXNjaGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsKKyB9CitAQCAtMTgy Nyw4ICsxODM0LDggQEAgc3RhdGljIHZvaWQgZ2F0dHNfc2VydmljZV9hZGRlZF9jYihpbnQgc3Rh dHVzLCBpbnQgc2VydmVyX2lmLAorIAorIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3RhdHVzID0g c3RhdHVzOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuZ2F0dF9hcHBfaWQgPSBzZXJ2ZXJfaWY7 CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zZXJ2aWNlID0gZ19tZW1kdXAoc3J2Y19pZCwgc2l6 ZW9mKCpzcnZjX2lkKSk7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zcnZjX2hhbmRsZSA9IGdf bWVtZHVwKCZzcnZjX2hhbmRsZSwKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNlcnZpY2UgPSB1 dGlsX21lbWR1cChzcnZjX2lkLCBzaXplb2YoKnNydmNfaWQpKTsKKysJc3RlcC0+Y2FsbGJhY2tf cmVzdWx0LnNydmNfaGFuZGxlID0gdXRpbF9tZW1kdXAoJnNydmNfaGFuZGxlLAorIAkJCQkJCQlz aXplb2Yoc3J2Y19oYW5kbGUpKTsKKyAKKyAJc2NoZWR1bGVfY2FsbGJhY2tfdmVyaWZpY2F0aW9u KHN0ZXApOworQEAgLTE4NDQsOSArMTg1MSw5IEBAIHN0YXRpYyB2b2lkIGdhdHRzX2luY2x1ZGVk X3NlcnZpY2VfYWRkZWRfY2IoaW50IHN0YXR1cywgaW50IHNlcnZlcl9pZiwKKyAKKyAJc3RlcC0+ Y2FsbGJhY2tfcmVzdWx0LnN0YXR1cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0 LmdhdHRfYXBwX2lkID0gc2VydmVyX2lmOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2Y19o YW5kbGUgPSBnX21lbWR1cCgmc3J2Y19oYW5kbGUsCisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5z cnZjX2hhbmRsZSA9IHV0aWxfbWVtZHVwKCZzcnZjX2hhbmRsZSwKKyAJCQkJCQkJc2l6ZW9mKHNy dmNfaGFuZGxlKSk7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5pbmNfc3J2Y19oYW5kbGUgPSBn X21lbWR1cCgmaW5jX3NydmNfaGFuZGxlLAorKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuaW5jX3Ny dmNfaGFuZGxlID0gdXRpbF9tZW1kdXAoJmluY19zcnZjX2hhbmRsZSwKKyAJCQkJCQlzaXplb2Yo aW5jX3NydmNfaGFuZGxlKSk7CisgCisgCXNjaGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihz dGVwKTsKK0BAIC0xODYzLDEwICsxODcwLDEwIEBAIHN0YXRpYyB2b2lkIGdhdHRzX2NoYXJhY3Rl cmlzdGljX2FkZGVkX2NiKGludCBzdGF0dXMsIGludCBzZXJ2ZXJfaWYsCisgCisgCXN0ZXAtPmNh bGxiYWNrX3Jlc3VsdC5zdGF0dXMgPSBzdGF0dXM7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5n YXR0X2FwcF9pZCA9IHNlcnZlcl9pZjsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNydmNfaGFu ZGxlID0gZ19tZW1kdXAoJnNydmNfaGFuZGxlLAorKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2 Y19oYW5kbGUgPSB1dGlsX21lbWR1cCgmc3J2Y19oYW5kbGUsCisgCQkJCQkJCXNpemVvZihzcnZj X2hhbmRsZSkpOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQudXVpZCA9IGdfbWVtZHVwKHV1aWQs IHNpemVvZigqdXVpZCkpOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuY2hhcl9oYW5kbGUgPSBn X21lbWR1cCgmY2hhcl9oYW5kbGUsCisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC51dWlkID0gdXRp bF9tZW1kdXAodXVpZCwgc2l6ZW9mKCp1dWlkKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5j aGFyX2hhbmRsZSA9IHV0aWxfbWVtZHVwKCZjaGFyX2hhbmRsZSwKKyAJCQkJCQkJc2l6ZW9mKGNo YXJfaGFuZGxlKSk7CisgCisgCXNjaGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsK K0BAIC0xODgzLDEwICsxODkwLDEwIEBAIHN0YXRpYyB2b2lkIGdhdHRzX2Rlc2NyaXB0b3JfYWRk ZWRfY2IoaW50IHN0YXR1cywgaW50IHNlcnZlcl9pZiwKKyAKKyAJc3RlcC0+Y2FsbGJhY2tfcmVz dWx0LnN0YXR1cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmdhdHRfYXBwX2lk ID0gc2VydmVyX2lmOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2Y19oYW5kbGUgPSBnX21l bWR1cCgmc3J2Y19oYW5kbGUsCisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zcnZjX2hhbmRsZSA9 IHV0aWxfbWVtZHVwKCZzcnZjX2hhbmRsZSwKKyAJCQkJCQkJc2l6ZW9mKHNydmNfaGFuZGxlKSk7 CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC51dWlkID0gZ19tZW1kdXAodXVpZCwgc2l6ZW9mKCp1 dWlkKSk7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5kZXNjX2hhbmRsZSA9IGdfbWVtZHVwKCZk ZXNjX2hhbmRsZSwKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnV1aWQgPSB1dGlsX21lbWR1cCh1 dWlkLCBzaXplb2YoKnV1aWQpKTsKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmRlc2NfaGFuZGxl ID0gdXRpbF9tZW1kdXAoJmRlc2NfaGFuZGxlLAorIAkJCQkJCQlzaXplb2YoZGVzY19oYW5kbGUp KTsKKyAKKyAJc2NoZWR1bGVfY2FsbGJhY2tfdmVyaWZpY2F0aW9uKHN0ZXApOworQEAgLTE5MDAs NyArMTkwNyw3IEBAIHN0YXRpYyB2b2lkIGdhdHRzX3NlcnZpY2Vfc3RhcnRlZF9jYihpbnQgc3Rh dHVzLCBpbnQgc2VydmVyX2lmLCBpbnQgc3J2Y19oYW5kbGUpCisgCisgCXN0ZXAtPmNhbGxiYWNr X3Jlc3VsdC5zdGF0dXMgPSBzdGF0dXM7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5nYXR0X2Fw cF9pZCA9IHNlcnZlcl9pZjsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNydmNfaGFuZGxlID0g Z19tZW1kdXAoJnNydmNfaGFuZGxlLAorKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2Y19oYW5k bGUgPSB1dGlsX21lbWR1cCgmc3J2Y19oYW5kbGUsCisgCQkJCQkJCXNpemVvZihzcnZjX2hhbmRs ZSkpOworIAorIAlzY2hlZHVsZV9jYWxsYmFja192ZXJpZmljYXRpb24oc3RlcCk7CitAQCAtMTkx NCw3ICsxOTIxLDcgQEAgc3RhdGljIHZvaWQgZ2F0dHNfc2VydmljZV9zdG9wcGVkX2NiKGludCBz dGF0dXMsIGludCBzZXJ2ZXJfaWYsIGludCBzcnZjX2hhbmRsZSkKKyAKKyAJc3RlcC0+Y2FsbGJh Y2tfcmVzdWx0LnN0YXR1cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmdhdHRf YXBwX2lkID0gc2VydmVyX2lmOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2Y19oYW5kbGUg PSBnX21lbWR1cCgmc3J2Y19oYW5kbGUsCisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zcnZjX2hh bmRsZSA9IHV0aWxfbWVtZHVwKCZzcnZjX2hhbmRsZSwKKyAJCQkJCQkJc2l6ZW9mKHNydmNfaGFu ZGxlKSk7CisgCisgCXNjaGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsKK0BAIC0x OTI4LDcgKzE5MzUsNyBAQCBzdGF0aWMgdm9pZCBnYXR0c19zZXJ2aWNlX2RlbGV0ZWRfY2IoaW50 IHN0YXR1cywgaW50IHNlcnZlcl9pZiwgaW50IHNydmNfaGFuZGxlKQorIAorIAlzdGVwLT5jYWxs YmFja19yZXN1bHQuc3RhdHVzID0gc3RhdHVzOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuZ2F0 dF9hcHBfaWQgPSBzZXJ2ZXJfaWY7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zcnZjX2hhbmRs ZSA9IGdfbWVtZHVwKCZzcnZjX2hhbmRsZSwKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNydmNf aGFuZGxlID0gdXRpbF9tZW1kdXAoJnNydmNfaGFuZGxlLAorIAkJCQkJCQlzaXplb2Yoc3J2Y19o YW5kbGUpKTsKKyAKKyAJc2NoZWR1bGVfY2FsbGJhY2tfdmVyaWZpY2F0aW9uKHN0ZXApOworQEAg LTE5NDUsNyArMTk1Miw3IEBAIHN0YXRpYyB2b2lkIGdhdHRzX3JlcXVlc3RfcmVhZF9jYihpbnQg Y29ubl9pZCwgaW50IHRyYW5zX2lkLCBidF9iZGFkZHJfdCAqYmRhLAorIAorIAlzdGVwLT5jYWxs YmFja19yZXN1bHQuY29ubl9pZCA9IGNvbm5faWQ7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC50 cmFuc19pZCA9IHRyYW5zX2lkOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuYXR0cl9oYW5kbGUg PSBnX21lbWR1cCgmYXR0cl9oYW5kbGUsCisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5hdHRyX2hh bmRsZSA9IHV0aWxfbWVtZHVwKCZhdHRyX2hhbmRsZSwKKyAJCQkJCQkJc2l6ZW9mKGF0dHJfaGFu ZGxlKSk7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5vZmZzZXQgPSBvZmZzZXQ7CisgCXN0ZXAt PmNhbGxiYWNrX3Jlc3VsdC5pc19sb25nID0gaXNfbG9uZzsKK0BAIC0xOTc0LDEzICsxOTgxLDEz IEBAIHN0YXRpYyB2b2lkIGdhdHRzX3JlcXVlc3Rfd3JpdGVfY2IoaW50IGNvbm5faWQsIGludCB0 cmFuc19pZCwgYnRfYmRhZGRyX3QgKmJkYSwKKyAKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmNv bm5faWQgPSBjb25uX2lkOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQudHJhbnNfaWQgPSB0cmFu c19pZDsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmF0dHJfaGFuZGxlID0gZ19tZW1kdXAoJmF0 dHJfaGFuZGxlLAorKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuYXR0cl9oYW5kbGUgPSB1dGlsX21l bWR1cCgmYXR0cl9oYW5kbGUsCisgCQkJCQkJCXNpemVvZihhdHRyX2hhbmRsZSkpOworIAlzdGVw LT5jYWxsYmFja19yZXN1bHQub2Zmc2V0ID0gb2Zmc2V0OworIAlzdGVwLT5jYWxsYmFja19yZXN1 bHQubGVuZ3RoID0gbGVuZ3RoOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQubmVlZF9yc3AgPSBu ZWVkX3JzcDsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmlzX3ByZXAgPSBpc19wcmVwOworLQlz dGVwLT5jYWxsYmFja19yZXN1bHQudmFsdWUgPSBnX21lbWR1cCgmdmFsdWUsIGxlbmd0aCk7Cisr CXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC52YWx1ZSA9IHV0aWxfbWVtZHVwKCZ2YWx1ZSwgbGVuZ3Ro KTsKKyAKKyAJLyogVXRpbGl6ZSBwcm9wZXJ0eSB2ZXJpZmljYXRpb24gbWVjaGFuaXNtIGZvciBi ZGFkZHIgKi8KKyAJcHJvcHNbMF0gPSBjcmVhdGVfcHJvcGVydHkoQlRfUFJPUEVSVFlfQkRBRERS LCBiZGEsIHNpemVvZigqYmRhKSk7CitAQCAtMjE2OSw3ICsyMTc2LDcgQEAgc3RhdGljIGJ0bWNl X21hc19pbnN0YW5jZV90ICpjb3B5X21hc19pbnN0YW5jZXMoaW50IG51bV9pbnN0YW5jZXMsCisg CQlpbnN0W2ldLmlkID0gaW5zdGFuY2VzW2ldLmlkOworIAkJaW5zdFtpXS5zY24gPSBpbnN0YW5j ZXNbaV0uc2NuOworIAkJaW5zdFtpXS5tc2dfdHlwZXMgPSBpbnN0YW5jZXNbaV0ubXNnX3R5cGVz OworLQkJaW5zdFtpXS5wX25hbWUgPSBnX21lbWR1cChpbnN0YW5jZXNbaV0ucF9uYW1lLAorKwkJ aW5zdFtpXS5wX25hbWUgPSB1dGlsX21lbWR1cChpbnN0YW5jZXNbaV0ucF9uYW1lLAorIAkJCQkJ CXN0cmxlbihpbnN0YW5jZXNbaV0ucF9uYW1lKSk7CisgCX0KKyAKK2RpZmYgLS1naXQgYS9hdHRy aWIvZ2F0dC5jIGIvYXR0cmliL2dhdHQuYworaW5kZXggNDZiMmNhMzgxLi5iNDk2ZGQxZWIgMTAw NjQ0CistLS0gYS9hdHRyaWIvZ2F0dC5jCisrKysgYi9hdHRyaWIvZ2F0dC5jCitAQCAtMTM1LDcg KzEzNSw3IEBAIHN0YXRpYyB2b2lkIGRpc2NvdmVyX2NoYXJfdW5yZWYodm9pZCAqZGF0YSkKKyAK KyAJZ19zbGlzdF9mcmVlX2Z1bGwoZGMtPmNoYXJhY3RlcmlzdGljcywgZ19mcmVlKTsKKyAJZ19h dHRyaWJfdW5yZWYoZGMtPmF0dHJpYik7CistCWdfZnJlZShkYy0+dXVpZCk7CisrCWZyZWUoZGMt PnV1aWQpOworIAlnX2ZyZWUoZGMpOworIH0KKyAKK0BAIC0xNTcsNyArMTU3LDcgQEAgc3RhdGlj IHZvaWQgZGlzY292ZXJfZGVzY191bnJlZih2b2lkICpkYXRhKQorIAorIAlnX3NsaXN0X2ZyZWVf ZnVsbChkZC0+ZGVzY3JpcHRvcnMsIGdfZnJlZSk7CisgCWdfYXR0cmliX3VucmVmKGRkLT5hdHRy aWIpOworLQlnX2ZyZWUoZGQtPnV1aWQpOworKwlmcmVlKGRkLT51dWlkKTsKKyAJZ19mcmVlKGRk KTsKKyB9CisgCitAQCAtNjk2LDcgKzY5Niw3IEBAIGd1aW50IGdhdHRfZGlzY292ZXJfY2hhcihH QXR0cmliICphdHRyaWIsIHVpbnQxNl90IHN0YXJ0LCB1aW50MTZfdCBlbmQsCisgCWRjLT51c2Vy X2RhdGEgPSB1c2VyX2RhdGE7CisgCWRjLT5lbmQgPSBlbmQ7CisgCWRjLT5zdGFydCA9IHN0YXJ0 OworLQlkYy0+dXVpZCA9IGdfbWVtZHVwKHV1aWQsIHNpemVvZihidF91dWlkX3QpKTsKKysJZGMt PnV1aWQgPSB1dGlsX21lbWR1cCh1dWlkLCBzaXplb2YoYnRfdXVpZF90KSk7CisgCisgCWRjLT5p ZCA9IGdfYXR0cmliX3NlbmQoYXR0cmliLCAwLCBidWYsIHBsZW4sIGNoYXJfZGlzY292ZXJlZF9j YiwKKyAJCQkJZGlzY292ZXJfY2hhcl9yZWYoZGMpLCBkaXNjb3Zlcl9jaGFyX3VucmVmKTsKK0BA IC05MDUsNyArOTA1LDcgQEAgc3RhdGljIHZvaWQgcHJlcGFyZV93cml0ZV9jYihndWludDggc3Rh dHVzLCBjb25zdCBndWludDggKnJwZHUsIGd1aW50MTYgcmxlbiwKKyAJaWYgKGxvbmdfd3JpdGUt Pm9mZnNldCA9PSBsb25nX3dyaXRlLT52bGVuKSB7CisgCQlleGVjdXRlX3dyaXRlKGxvbmdfd3Jp dGUtPmF0dHJpYiwgQVRUX1dSSVRFX0FMTF9QUkVQX1dSSVRFUywKKyAJCQkJbG9uZ193cml0ZS0+ ZnVuYywgbG9uZ193cml0ZS0+dXNlcl9kYXRhKTsKKy0JCWdfZnJlZShsb25nX3dyaXRlLT52YWx1 ZSk7CisrCQlmcmVlKGxvbmdfd3JpdGUtPnZhbHVlKTsKKyAJCWdfZnJlZShsb25nX3dyaXRlKTsK KyAKKyAJCXJldHVybjsKK0BAIC05NjQsNyArOTY0LDcgQEAgZ3VpbnQgZ2F0dF93cml0ZV9jaGFy KEdBdHRyaWIgKmF0dHJpYiwgdWludDE2X3QgaGFuZGxlLCBjb25zdCB1aW50OF90ICp2YWx1ZSwK KyAJbG9uZ193cml0ZS0+ZnVuYyA9IGZ1bmM7CisgCWxvbmdfd3JpdGUtPnVzZXJfZGF0YSA9IHVz ZXJfZGF0YTsKKyAJbG9uZ193cml0ZS0+aGFuZGxlID0gaGFuZGxlOworLQlsb25nX3dyaXRlLT52 YWx1ZSA9IGdfbWVtZHVwKHZhbHVlLCB2bGVuKTsKKysJbG9uZ193cml0ZS0+dmFsdWUgPSB1dGls X21lbWR1cCh2YWx1ZSwgdmxlbik7CisgCWxvbmdfd3JpdGUtPnZsZW4gPSB2bGVuOworIAorIAly ZXR1cm4gcHJlcGFyZV93cml0ZShsb25nX3dyaXRlKTsKK0BAIC0xMTMwLDcgKzExMzAsNyBAQCBn dWludCBnYXR0X2Rpc2NvdmVyX2Rlc2MoR0F0dHJpYiAqYXR0cmliLCB1aW50MTZfdCBzdGFydCwg dWludDE2X3QgZW5kLAorIAlkZC0+dXNlcl9kYXRhID0gdXNlcl9kYXRhOworIAlkZC0+c3RhcnQg PSBzdGFydDsKKyAJZGQtPmVuZCA9IGVuZDsKKy0JZGQtPnV1aWQgPSBnX21lbWR1cCh1dWlkLCBz aXplb2YoYnRfdXVpZF90KSk7CisrCWRkLT51dWlkID0gdXRpbF9tZW1kdXAodXVpZCwgc2l6ZW9m KGJ0X3V1aWRfdCkpOworIAorIAlkZC0+aWQgPSBnX2F0dHJpYl9zZW5kKGF0dHJpYiwgMCwgYnVm LCBwbGVuLCBkZXNjX2Rpc2NvdmVyZWRfY2IsCisgCQkJCWRpc2NvdmVyX2Rlc2NfcmVmKGRkKSwg ZGlzY292ZXJfZGVzY191bnJlZik7CitkaWZmIC0tZ2l0IGEvY2xpZW50L2dhdHQuYyBiL2NsaWVu dC9nYXR0LmMKK2luZGV4IDExZjcwZGM0Zi4uMTM4NzJjNzk0IDEwMDY0NAorLS0tIGEvY2xpZW50 L2dhdHQuYworKysrIGIvY2xpZW50L2dhdHQuYworQEAgLTgxMSw3ICs4MTEsNyBAQCBzdGF0aWMg dWludDhfdCAqc3RyMmJ5dGVhcnJheShjaGFyICphcmcsIHNpemVfdCAqdmFsX2xlbikKKyAKKyAJ KnZhbF9sZW4gPSBpOworIAorLQlyZXR1cm4gZ19tZW1kdXAodmFsdWUsIGkpOworKwlyZXR1cm4g dXRpbF9tZW1kdXAodmFsdWUsIGkpOworIH0KKyAKKyB2b2lkIGdhdHRfd3JpdGVfYXR0cmlidXRl KEdEQnVzUHJveHkgKnByb3h5LCBpbnQgYXJnYywgY2hhciAqYXJndltdKQorZGlmZiAtLWdpdCBh L2dvYmV4L2dvYmV4LWhlYWRlci5jIGIvZ29iZXgvZ29iZXgtaGVhZGVyLmMKK2luZGV4IDAxMWQz M2QxYS4uMDAyYmE4ODYxIDEwMDY0NAorLS0tIGEvZ29iZXgvZ29iZXgtaGVhZGVyLmMKKysrKyBi L2dvYmV4L2dvYmV4LWhlYWRlci5jCitAQCAtMTUsNiArMTUsNyBAQAorIAorICNpbmNsdWRlICJn b2JleC1oZWFkZXIuaCIKKyAjaW5jbHVkZSAiZ29iZXgtZGVidWcuaCIKKysjaW5jbHVkZSAic3Jj L3NoYXJlZC91dGlsLmgiCisgCisgLyogSGVhZGVyIHR5cGVzICovCisgI2RlZmluZSBHX09CRVhf SERSX0VOQ19VTklDT0RFCSgwIDw8IDYpCitAQCAtMjIyLDcgKzIyMyw3IEBAIEdPYmV4SGVhZGVy ICpnX29iZXhfaGVhZGVyX2RlY29kZShjb25zdCB2b2lkICpkYXRhLCBnc2l6ZSBsZW4sCisgCisg CQlzd2l0Y2ggKGRhdGFfcG9saWN5KSB7CisgCQljYXNlIEdfT0JFWF9EQVRBX0NPUFk6CistCQkJ aGVhZGVyLT52LmRhdGEgPSBnX21lbWR1cChwdHIsIGhlYWRlci0+dmxlbik7CisrCQkJaGVhZGVy LT52LmRhdGEgPSB1dGlsX21lbWR1cChwdHIsIGhlYWRlci0+dmxlbik7CisgCQkJYnJlYWs7Cisg CQljYXNlIEdfT0JFWF9EQVRBX1JFRjoKKyAJCQloZWFkZXItPmV4dGRhdGEgPSBUUlVFOworQEAg LTI4Miw3ICsyODMsNyBAQCB2b2lkIGdfb2JleF9oZWFkZXJfZnJlZShHT2JleEhlYWRlciAqaGVh ZGVyKQorIAkJYnJlYWs7CisgCWNhc2UgR19PQkVYX0hEUl9FTkNfQllURVM6CisgCQlpZiAoIWhl YWRlci0+ZXh0ZGF0YSkKKy0JCQlnX2ZyZWUoaGVhZGVyLT52LmRhdGEpOworKwkJCWZyZWUoaGVh ZGVyLT52LmRhdGEpOworIAkJYnJlYWs7CisgCWNhc2UgR19PQkVYX0hEUl9FTkNfVUlOVDg6Cisg CWNhc2UgR19PQkVYX0hEUl9FTkNfVUlOVDMyOgorQEAgLTQxMCw3ICs0MTEsNyBAQCBHT2JleEhl YWRlciAqZ19vYmV4X2hlYWRlcl9uZXdfYnl0ZXMoZ3VpbnQ4IGlkLCBjb25zdCB2b2lkICpkYXRh LCBnc2l6ZSBsZW4pCisgCWhlYWRlci0+aWQgPSBpZDsKKyAJaGVhZGVyLT52bGVuID0gbGVuOwor IAloZWFkZXItPmhsZW4gPSBsZW4gKyAzOworLQloZWFkZXItPnYuZGF0YSA9IGdfbWVtZHVwKGRh dGEsIGxlbik7CisrCWhlYWRlci0+di5kYXRhID0gdXRpbF9tZW1kdXAoZGF0YSwgbGVuKTsKKyAK KyAJcmV0dXJuIGhlYWRlcjsKKyB9CitkaWZmIC0tZ2l0IGEvZ29iZXgvZ29iZXgtcGFja2V0LmMg Yi9nb2JleC9nb2JleC1wYWNrZXQuYworaW5kZXggMTE5MzdhNWE1Li44YWU3OGIwZjYgMTAwNjQ0 CistLS0gYS9nb2JleC9nb2JleC1wYWNrZXQuYworKysrIGIvZ29iZXgvZ29iZXgtcGFja2V0LmMK K0BAIC0xNyw2ICsxNyw3IEBACisgI2luY2x1ZGUgImdvYmV4LWRlZnMuaCIKKyAjaW5jbHVkZSAi Z29iZXgtcGFja2V0LmgiCisgI2luY2x1ZGUgImdvYmV4LWRlYnVnLmgiCisrI2luY2x1ZGUgInNy Yy9zaGFyZWQvdXRpbC5oIgorIAorICNkZWZpbmUgRklOQUxfQklUIDB4ODAKKyAKK0BAIC0yMDEs NyArMjAyLDcgQEAgZ2Jvb2xlYW4gZ19vYmV4X3BhY2tldF9zZXRfZGF0YShHT2JleFBhY2tldCAq cGt0LCBjb25zdCB2b2lkICpkYXRhLCBnc2l6ZSBsZW4sCisgCisgCXN3aXRjaCAoZGF0YV9wb2xp Y3kpIHsKKyAJY2FzZSBHX09CRVhfREFUQV9DT1BZOgorLQkJcGt0LT5kYXRhLmJ1ZiA9IGdfbWVt ZHVwKGRhdGEsIGxlbik7CisrCQlwa3QtPmRhdGEuYnVmID0gdXRpbF9tZW1kdXAoZGF0YSwgbGVu KTsKKyAJCWJyZWFrOworIAljYXNlIEdfT0JFWF9EQVRBX1JFRjoKKyAJCXBrdC0+ZGF0YS5idWZf cmVmID0gZGF0YTsKK0BAIC0yNTksNyArMjYwLDcgQEAgdm9pZCBnX29iZXhfcGFja2V0X2ZyZWUo R09iZXhQYWNrZXQgKnBrdCkKKyAJc3dpdGNoIChwa3QtPmRhdGFfcG9saWN5KSB7CisgCWNhc2Ug R19PQkVYX0RBVEFfSU5IRVJJVDoKKyAJY2FzZSBHX09CRVhfREFUQV9DT1BZOgorLQkJZ19mcmVl KHBrdC0+ZGF0YS5idWYpOworKwkJZnJlZShwa3QtPmRhdGEuYnVmKTsKKyAJCWJyZWFrOworIAlj YXNlIEdfT0JFWF9EQVRBX1JFRjoKKyAJCWJyZWFrOworZGlmZiAtLWdpdCBhL29iZXhkL3NyYy9v YmV4LmMgYi9vYmV4ZC9zcmMvb2JleC5jCitpbmRleCA5Zjk5MmVjMTguLjNhNjhmZDY2YyAxMDA2 NDQKKy0tLSBhL29iZXhkL3NyYy9vYmV4LmMKKysrKyBiL29iZXhkL3NyYy9vYmV4LmMKK0BAIC00 MCw2ICs0MCw3IEBACisgI2luY2x1ZGUgIm1pbWV0eXBlLmgiCisgI2luY2x1ZGUgInNlcnZpY2Uu aCIKKyAjaW5jbHVkZSAidHJhbnNwb3J0LmgiCisrI2luY2x1ZGUgInNyYy9zaGFyZWQvdXRpbC5o IgorIAorIHR5cGVkZWYgc3RydWN0IHsKKyAJdWludDhfdCAgdmVyc2lvbjsKK0BAIC0xNDUsNyAr MTQ2LDcgQEAgc3RhdGljIHZvaWQgb3NfcmVzZXRfc2Vzc2lvbihzdHJ1Y3Qgb2JleF9zZXNzaW9u ICpvcykKKyAJCW9zLT5wYXRoID0gTlVMTDsKKyAJfQorIAlpZiAob3MtPmFwcGFyYW0pIHsKKy0J CWdfZnJlZShvcy0+YXBwYXJhbSk7CisrCQlmcmVlKG9zLT5hcHBhcmFtKTsKKyAJCW9zLT5hcHBh cmFtID0gTlVMTDsKKyAJCW9zLT5hcHBhcmFtX2xlbiA9IDA7CisgCX0KK0BAIC01OTQsNyArNTk1 LDcgQEAgc3RhdGljIHZvaWQgcGFyc2VfYXBwYXJhbShzdHJ1Y3Qgb2JleF9zZXNzaW9uICpvcywg R09iZXhQYWNrZXQgKnJlcSkKKyAJaWYgKCFnX29iZXhfaGVhZGVyX2dldF9ieXRlcyhoZHIsICZh cHBhcmFtLCAmbGVuKSkKKyAJCXJldHVybjsKKyAKKy0Jb3MtPmFwcGFyYW0gPSBnX21lbWR1cChh cHBhcmFtLCBsZW4pOworKwlvcy0+YXBwYXJhbSA9IHV0aWxfbWVtZHVwKGFwcGFyYW0sIGxlbik7 CisgCW9zLT5hcHBhcmFtX2xlbiA9IGxlbjsKKyAJREJHKCJBUFBBUkFNIik7CisgfQorZGlmZiAt LWdpdCBhL3BsdWdpbnMvbmVhcmQuYyBiL3BsdWdpbnMvbmVhcmQuYworaW5kZXggZTA3YjUxMTA2 Li5hNzU1MjcxNDggMTAwNjQ0CistLS0gYS9wbHVnaW5zL25lYXJkLmMKKysrKyBiL3BsdWdpbnMv bmVhcmQuYworQEAgLTMwLDYgKzMwLDcgQEAKKyAjaW5jbHVkZSAic3JjL2Vpci5oIgorICNpbmNs dWRlICJzcmMvYWdlbnQuaCIKKyAjaW5jbHVkZSAic3JjL2J0ZC5oIgorKyNpbmNsdWRlICJzcmMv c2hhcmVkL3V0aWwuaCIKKyAKKyAjZGVmaW5lIE5FQVJEX05BTUUgIm9yZy5uZWFyZCIKKyAjZGVm aW5lIE5FQVJEX1BBVEggIi8iCitAQCAtNzEsNyArNzIsNyBAQCBzdGF0aWMgdm9pZCBmcmVlX29v Yl9wYXJhbXMoc3RydWN0IG9vYl9wYXJhbXMgKnBhcmFtcykKKyAJZ19mcmVlKHBhcmFtcy0+bmFt ZSk7CisgCWdfZnJlZShwYXJhbXMtPmhhc2gpOworIAlnX2ZyZWUocGFyYW1zLT5yYW5kb21pemVy KTsKKy0JZ19mcmVlKHBhcmFtcy0+cGluKTsKKysJZnJlZShwYXJhbXMtPnBpbik7CisgfQorIAor IHN0YXRpYyBEQnVzTWVzc2FnZSAqZXJyb3JfcmVwbHkoREJ1c01lc3NhZ2UgKm1zZywgaW50IGVy cm9yKQorQEAgLTQwNywxMCArNDA4LDEwIEBAIHN0YXRpYyBpbnQgcHJvY2Vzc19ub2tpYV9sb25n ICh2b2lkICpkYXRhLCBzaXplX3Qgc2l6ZSwgdWludDhfdCBtYXJrZXIsCisgCQlyZW1vdGUtPm5h bWUgPSBnX3N0cm5kdXAoKGNoYXIgKiluLT5uYW1lLCBuLT5uYW1lX2xlbik7CisgCisgCWlmICht YXJrZXIgPT0gMHgwMSkgeworLQkJcmVtb3RlLT5waW4gPSBnX21lbWR1cChuLT5hdXRoZW50aWNh dGlvbiwgNCk7CisrCQlyZW1vdGUtPnBpbiA9IHV0aWxfbWVtZHVwKG4tPmF1dGhlbnRpY2F0aW9u LCA0KTsKKyAJCXJlbW90ZS0+cGluX2xlbiA9IDQ7CisgCX0gZWxzZSBpZiAobWFya2VyID09IDB4 MDIpIHsKKy0JCXJlbW90ZS0+cGluID0gZ19tZW1kdXAobi0+YXV0aGVudGljYXRpb24sIDE2KTsK KysJCXJlbW90ZS0+cGluID0gdXRpbF9tZW1kdXAobi0+YXV0aGVudGljYXRpb24sIDE2KTsKKyAJ CXJlbW90ZS0+cGluX2xlbiA9IDE2OworIAl9CisgCitAQCAtNDM5LDcgKzQ0MCw3IEBAIHN0YXRp YyBpbnQgcHJvY2Vzc19ub2tpYV9zaG9ydCAodm9pZCAqZGF0YSwgc2l6ZV90IHNpemUsCisgCWlm IChuLT5uYW1lX2xlbiA+IDApCisgCQlyZW1vdGUtPm5hbWUgPSBnX3N0cm5kdXAoKGNoYXIgKilu LT5uYW1lLCBuLT5uYW1lX2xlbik7CisgCistCXJlbW90ZS0+cGluID0gZ19tZW1kdXAobi0+YXV0 aGVudGljYXRpb24sIDQpOworKwlyZW1vdGUtPnBpbiA9IHV0aWxfbWVtZHVwKG4tPmF1dGhlbnRp Y2F0aW9uLCA0KTsKKyAJcmVtb3RlLT5waW5fbGVuID0gNDsKKyAKKyAJcmV0dXJuIDA7CitkaWZm IC0tZ2l0IGEvcGx1Z2lucy9wb2xpY3kuYyBiL3BsdWdpbnMvcG9saWN5LmMKK2luZGV4IDA1MWRi ODJlMS4uNDhmNWRiN2QzIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9wb2xpY3kuYworKysrIGIvcGx1 Z2lucy9wb2xpY3kuYworQEAgLTMyLDYgKzMyLDcgQEAKKyAjaW5jbHVkZSAic3JjL3Byb2ZpbGUu aCIKKyAjaW5jbHVkZSAic3JjL2J0ZC5oIgorICNpbmNsdWRlICJzcmMvc2hhcmVkL3RpbWVvdXQu aCIKKysjaW5jbHVkZSAic3JjL3NoYXJlZC91dGlsLmgiCisgCisgI2RlZmluZSBDT05UUk9MX0NP Tk5FQ1RfVElNRU9VVCAyCisgI2RlZmluZSBTT1VSQ0VfUkVUUllfVElNRU9VVCAyCitAQCAtODU1 LDcgKzg1Niw3IEBAIHN0YXRpYyBpbnQgcG9saWN5X2luaXQodm9pZCkKKyAJCXJlY29ubmVjdF9h dHRlbXB0cyA9IGRlZmF1bHRfYXR0ZW1wdHM7CisgCQlyZWNvbm5lY3RfaW50ZXJ2YWxzX2xlbiA9 IHNpemVvZihkZWZhdWx0X2ludGVydmFscykgLworIAkJCQkJCXNpemVvZigqcmVjb25uZWN0X2lu dGVydmFscyk7CistCQlyZWNvbm5lY3RfaW50ZXJ2YWxzID0gZ19tZW1kdXAoZGVmYXVsdF9pbnRl cnZhbHMsCisrCQlyZWNvbm5lY3RfaW50ZXJ2YWxzID0gdXRpbF9tZW1kdXAoZGVmYXVsdF9pbnRl cnZhbHMsCisgCQkJCQkJc2l6ZW9mKGRlZmF1bHRfaW50ZXJ2YWxzKSk7CisgCQlnb3RvIGRvbmU7 CisgCX0KK0BAIC04ODYsNyArODg3LDcgQEAgc3RhdGljIGludCBwb2xpY3lfaW5pdCh2b2lkKQor IAkJZ19jbGVhcl9lcnJvcigmZ2Vycik7CisgCQlyZWNvbm5lY3RfaW50ZXJ2YWxzX2xlbiA9IHNp emVvZihkZWZhdWx0X2ludGVydmFscykgLworIAkJCQkJCXNpemVvZigqcmVjb25uZWN0X2ludGVy dmFscyk7CistCQlyZWNvbm5lY3RfaW50ZXJ2YWxzID0gZ19tZW1kdXAoZGVmYXVsdF9pbnRlcnZh bHMsCisrCQlyZWNvbm5lY3RfaW50ZXJ2YWxzID0gdXRpbF9tZW1kdXAoZGVmYXVsdF9pbnRlcnZh bHMsCisgCQkJCQkJc2l6ZW9mKGRlZmF1bHRfaW50ZXJ2YWxzKSk7CisgCX0KKyAKK0BAIC05MTks NyArOTIwLDcgQEAgc3RhdGljIHZvaWQgcG9saWN5X2V4aXQodm9pZCkKKyAJaWYgKHJlY29ubmVj dF91dWlkcykKKyAJCWdfc3RyZnJlZXYocmVjb25uZWN0X3V1aWRzKTsKKyAKKy0JZ19mcmVlKHJl Y29ubmVjdF9pbnRlcnZhbHMpOworKwlmcmVlKHJlY29ubmVjdF9pbnRlcnZhbHMpOworIAorIAln X3NsaXN0X2ZyZWVfZnVsbChyZWNvbm5lY3RzLCByZWNvbm5lY3RfZGVzdHJveSk7CisgCitkaWZm IC0tZ2l0IGEvcHJvZmlsZXMvYXVkaW8vYXZjdHAuYyBiL3Byb2ZpbGVzL2F1ZGlvL2F2Y3RwLmMK K2luZGV4IDY0ZDFhODUwNC4uNmY2NGYxNjJiIDEwMDY0NAorLS0tIGEvcHJvZmlsZXMvYXVkaW8v YXZjdHAuYworKysrIGIvcHJvZmlsZXMvYXVkaW8vYXZjdHAuYworQEAgLTQwLDYgKzQwLDcgQEAK KyAjaW5jbHVkZSAic3JjL2xvZy5oIgorICNpbmNsdWRlICJzcmMvZXJyb3IuaCIKKyAjaW5jbHVk ZSAic3JjL3NoYXJlZC90aW1lb3V0LmgiCisrI2luY2x1ZGUgInNyYy9zaGFyZWQvdXRpbC5oIgor IAorICNpbmNsdWRlICJhdmN0cC5oIgorICNpbmNsdWRlICJhdnJjcC5oIgorQEAgLTc2MCw3ICs3 NjEsNyBAQCBzdGF0aWMgdm9pZCBjb250cm9sX3JlcV9kZXN0cm95KHZvaWQgKmRhdGEpCisgCQkJ CQkJTlVMTCwgMCwgcmVxLT51c2VyX2RhdGEpOworIAorIGRvbmU6CistCWdfZnJlZShyZXEtPm9w ZXJhbmRzKTsKKysJZnJlZShyZXEtPm9wZXJhbmRzKTsKKyAJZ19mcmVlKHJlcSk7CisgfQorIAor QEAgLTc3Niw3ICs3NzcsNyBAQCBzdGF0aWMgdm9pZCBicm93c2luZ19yZXFfZGVzdHJveSh2b2lk ICpkYXRhKQorIAlyZXEtPmZ1bmMoc2Vzc2lvbiwgTlVMTCwgMCwgcmVxLT51c2VyX2RhdGEpOwor IAorIGRvbmU6CistCWdfZnJlZShyZXEtPm9wZXJhbmRzKTsKKysJZnJlZShyZXEtPm9wZXJhbmRz KTsKKyAJZ19mcmVlKHJlcSk7CisgfQorIAorQEAgLTE3MjcsNyArMTcyOCw3IEBAIHN0YXRpYyBp bnQgYXZjdHBfc2VuZF9yZXEoc3RydWN0IGF2Y3RwICpzZXNzaW9uLCB1aW50OF90IGNvZGUsCisg CXJlcS0+c3VidW5pdCA9IHN1YnVuaXQ7CisgCXJlcS0+b3AgPSBvcGNvZGU7CisgCXJlcS0+ZnVu YyA9IGZ1bmM7CistCXJlcS0+b3BlcmFuZHMgPSBnX21lbWR1cChvcGVyYW5kcywgb3BlcmFuZF9j b3VudCk7CisrCXJlcS0+b3BlcmFuZHMgPSB1dGlsX21lbWR1cChvcGVyYW5kcywgb3BlcmFuZF9j b3VudCk7CisgCXJlcS0+b3BlcmFuZF9jb3VudCA9IG9wZXJhbmRfY291bnQ7CisgCXJlcS0+dXNl cl9kYXRhID0gdXNlcl9kYXRhOworIAorQEAgLTE3NjUsNyArMTc2Niw3IEBAIGludCBhdmN0cF9z ZW5kX2Jyb3dzaW5nX3JlcShzdHJ1Y3QgYXZjdHAgKnNlc3Npb24sCisgCisgCXJlcSA9IGdfbmV3 MChzdHJ1Y3QgYXZjdHBfYnJvd3NpbmdfcmVxLCAxKTsKKyAJcmVxLT5mdW5jID0gZnVuYzsKKy0J cmVxLT5vcGVyYW5kcyA9IGdfbWVtZHVwKG9wZXJhbmRzLCBvcGVyYW5kX2NvdW50KTsKKysJcmVx LT5vcGVyYW5kcyA9IHV0aWxfbWVtZHVwKG9wZXJhbmRzLCBvcGVyYW5kX2NvdW50KTsKKyAJcmVx LT5vcGVyYW5kX2NvdW50ID0gb3BlcmFuZF9jb3VudDsKKyAJcmVxLT51c2VyX2RhdGEgPSB1c2Vy X2RhdGE7CisgCitkaWZmIC0tZ2l0IGEvcHJvZmlsZXMvYXVkaW8vYXZyY3AuYyBiL3Byb2ZpbGVz L2F1ZGlvL2F2cmNwLmMKK2luZGV4IDdjMjgwMjAzYy4uZDRlMTlmZmMwIDEwMDY0NAorLS0tIGEv cHJvZmlsZXMvYXVkaW8vYXZyY3AuYworKysrIGIvcHJvZmlsZXMvYXVkaW8vYXZyY3AuYworQEAg LTEyOTgsNyArMTI5OCw3IEBAIHN0YXRpYyB1aW50OF90IGF2cmNwX2hhbmRsZV9nZXRfY3VycmVu dF9wbGF5ZXJfdmFsdWUoc3RydWN0IGF2cmNwICpzZXNzaW9uLAorIAkgKiBTYXZlIGEgY29weSBv ZiByZXF1ZXN0ZWQgc2V0dGluZ3MgYmVjYXVzZSB3ZSBjYW4gb3ZlcnJpZGUgdGhlbQorIAkgKiB3 aGlsZSByZXNwb25kaW5nCisgCSAqLworLQlzZXR0aW5ncyA9IGdfbWVtZHVwKCZwZHUtPnBhcmFt c1sxXSwgcGR1LT5wYXJhbXNbMF0pOworKwlzZXR0aW5ncyA9IHV0aWxfbWVtZHVwKCZwZHUtPnBh cmFtc1sxXSwgcGR1LT5wYXJhbXNbMF0pOworIAlsZW4gPSAwOworIAorIAkvKgorQEAgLTEzMjMs NyArMTMyMyw3IEBAIHN0YXRpYyB1aW50OF90IGF2cmNwX2hhbmRsZV9nZXRfY3VycmVudF9wbGF5 ZXJfdmFsdWUoc3RydWN0IGF2cmNwICpzZXNzaW9uLAorIAkJcGR1LT5wYXJhbXNbKytsZW5dID0g dmFsOworIAl9CisgCistCWdfZnJlZShzZXR0aW5ncyk7CisrCWZyZWUoc2V0dGluZ3MpOworIAor IAlpZiAobGVuKSB7CisgCQlwZHUtPnBhcmFtc1swXSA9IGxlbiAvIDI7CitAQCAtMjgwMSw3ICsy ODAxLDcgQEAgc3RhdGljIGdib29sZWFuIGF2cmNwX3NldF9icm93c2VkX3BsYXllcl9yc3Aoc3Ry dWN0IGF2Y3RwICpjb25uLAorIAkJCWJyZWFrOworIAkJfQorIAorLQkJZm9sZGVyc1tjb3VudF0g PSBnX21lbWR1cCgmcGR1LT5wYXJhbXNbaV0sIGxlbik7CisrCQlmb2xkZXJzW2NvdW50XSA9IHV0 aWxfbWVtZHVwKCZwZHUtPnBhcmFtc1tpXSwgbGVuKTsKKyAJCWkgKz0gbGVuOworIAl9CisgCitA QCAtMjg4OCw3ICsyODg4LDcgQEAgc3RhdGljIHZvaWQgYXZyY3BfcGxheWVyX3BhcnNlX2ZlYXR1 cmVzKHN0cnVjdCBhdnJjcF9wbGF5ZXIgKnBsYXllciwKKyB7CisgCXN0cnVjdCBtZWRpYV9wbGF5 ZXIgKm1wID0gcGxheWVyLT51c2VyX2RhdGE7CisgCistCXBsYXllci0+ZmVhdHVyZXMgPSBnX21l bWR1cChmZWF0dXJlcywgMTYpOworKwlwbGF5ZXItPmZlYXR1cmVzID0gdXRpbF9tZW1kdXAoZmVh dHVyZXMsIDE2KTsKKyAKKyAJaWYgKGZlYXR1cmVzWzddICYgMHgwOCkgeworIAkJbWVkaWFfcGxh eWVyX3NldF9icm93c2FibGUobXAsIHRydWUpOworQEAgLTM2MjIsNyArMzYyMiw3IEBAIHN0YXRp YyB2b2lkIHBsYXllcl9kZXN0cm95KGdwb2ludGVyIGRhdGEpCisgCWdfc2xpc3RfZnJlZShwbGF5 ZXItPnNlc3Npb25zKTsKKyAJZ19mcmVlKHBsYXllci0+cGF0aCk7CisgCWdfZnJlZShwbGF5ZXIt PmNoYW5nZV9wYXRoKTsKKy0JZ19mcmVlKHBsYXllci0+ZmVhdHVyZXMpOworKwlmcmVlKHBsYXll ci0+ZmVhdHVyZXMpOworIAlnX2ZyZWUocGxheWVyKTsKKyB9CisgCitkaWZmIC0tZ2l0IGEvcHJv ZmlsZXMvYmF0dGVyeS9iYXMuYyBiL3Byb2ZpbGVzL2JhdHRlcnkvYmFzLmMKK2luZGV4IDNjNjE3 M2I2MS4uMTZmZjIyZTE5IDEwMDY0NAorLS0tIGEvcHJvZmlsZXMvYmF0dGVyeS9iYXMuYworKysr IGIvcHJvZmlsZXMvYmF0dGVyeS9iYXMuYworQEAgLTYyLDcgKzYyLDcgQEAgc3RhdGljIHZvaWQg YmFzX2ZyZWUoc3RydWN0IGJ0X2JhcyAqYmFzKQorIHsKKyAJYnRfYmFzX2RldGFjaChiYXMpOwor IAorLQlnX2ZyZWUoYmFzLT5wcmltYXJ5KTsKKysJZnJlZShiYXMtPnByaW1hcnkpOworIAlxdWV1 ZV9kZXN0cm95KGJhcy0+Z2F0dF9vcCwgKHZvaWQgKikgZGVzdHJveV9nYXR0X3JlcSk7CisgCWZy ZWUoYmFzKTsKKyB9CitAQCAtNzUsNyArNzUsNyBAQCBzdHJ1Y3QgYnRfYmFzICpidF9iYXNfbmV3 KHZvaWQgKnByaW1hcnkpCisgCWJhcy0+Z2F0dF9vcCA9IHF1ZXVlX25ldygpOworIAorIAlpZiAo cHJpbWFyeSkKKy0JCWJhcy0+cHJpbWFyeSA9IGdfbWVtZHVwKHByaW1hcnksIHNpemVvZigqYmFz LT5wcmltYXJ5KSk7CisrCQliYXMtPnByaW1hcnkgPSB1dGlsX21lbWR1cChwcmltYXJ5LCBzaXpl b2YoKmJhcy0+cHJpbWFyeSkpOworIAorIAlyZXR1cm4gYnRfYmFzX3JlZihiYXMpOworIH0KK2Rp ZmYgLS1naXQgYS9wcm9maWxlcy9iYXR0ZXJ5L2JhdHRlcnkuYyBiL3Byb2ZpbGVzL2JhdHRlcnkv YmF0dGVyeS5jCitpbmRleCAxNzZkMTI3ZjYuLjAyZDAyNGQ5MiAxMDA2NDQKKy0tLSBhL3Byb2Zp bGVzL2JhdHRlcnkvYmF0dGVyeS5jCisrKysgYi9wcm9maWxlcy9iYXR0ZXJ5L2JhdHRlcnkuYwor QEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIHZvaWQgYmF0dF9mcmVlKHN0cnVjdCBiYXR0ICpiYXR0 KQorIAlnYXR0X2RiX3VucmVmKGJhdHQtPmRiKTsKKyAJYnRfZ2F0dF9jbGllbnRfdW5yZWYoYmF0 dC0+Y2xpZW50KTsKKyAJYnRkX2RldmljZV91bnJlZihiYXR0LT5kZXZpY2UpOworLQlnX2ZyZWUg KGJhdHQtPmluaXRpYWxfdmFsdWUpOworKwlmcmVlKGJhdHQtPmluaXRpYWxfdmFsdWUpOworIAlp ZiAoYmF0dC0+YmF0dGVyeSkKKyAJCWJ0ZF9iYXR0ZXJ5X3VucmVnaXN0ZXIoYmF0dC0+YmF0dGVy eSk7CisgCWdfZnJlZShiYXR0KTsKK0BAIC0xNTksNyArMTU5LDcgQEAgc3RhdGljIHZvaWQgcmVh ZF9pbml0aWFsX2JhdHRlcnlfbGV2ZWxfY2IoYm9vbCBzdWNjZXNzLAorIAlpZiAoIWxlbmd0aCkK KyAJCXJldHVybjsKKyAKKy0JYmF0dC0+aW5pdGlhbF92YWx1ZSA9IGdfbWVtZHVwKHZhbHVlLCBs ZW5ndGgpOworKwliYXR0LT5pbml0aWFsX3ZhbHVlID0gdXRpbF9tZW1kdXAodmFsdWUsIGxlbmd0 aCk7CisgCisgCS8qIHJlcXVlc3Qgbm90aWZ5ICovCisgCWJhdHQtPmJhdHRfbGV2ZWxfY2JfaWQg PQorZGlmZiAtLWdpdCBhL3Byb2ZpbGVzL2RldmljZWluZm8vZGlzLmMgYi9wcm9maWxlcy9kZXZp Y2VpbmZvL2Rpcy5jCitpbmRleCA4N2ZhNjMzMDYuLmY2NjAxNzllZCAxMDA2NDQKKy0tLSBhL3By b2ZpbGVzL2RldmljZWluZm8vZGlzLmMKKysrKyBiL3Byb2ZpbGVzL2RldmljZWluZm8vZGlzLmMK K0BAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyB2b2lkIGRpc19mcmVlKHN0cnVjdCBidF9kaXMgKmRp cykKKyB7CisgCWJ0X2Rpc19kZXRhY2goZGlzKTsKKyAKKy0JZ19mcmVlKGRpcy0+cHJpbWFyeSk7 CisrCWZyZWUoZGlzLT5wcmltYXJ5KTsKKyAJcXVldWVfZGVzdHJveShkaXMtPmdhdHRfb3AsICh2 b2lkICopIGRlc3Ryb3lfZ2F0dF9yZXEpOworIAlnX2ZyZWUoZGlzKTsKKyB9CitAQCAtMTQzLDcg KzE0Myw3IEBAIHN0cnVjdCBidF9kaXMgKmJ0X2Rpc19uZXdfcHJpbWFyeSh2b2lkICpwcmltYXJ5 KQorIAlkaXMtPmdhdHRfb3AgPSBxdWV1ZV9uZXcoKTsKKyAKKyAJaWYgKHByaW1hcnkpCistCQlk aXMtPnByaW1hcnkgPSBnX21lbWR1cChwcmltYXJ5LCBzaXplb2YoKmRpcy0+cHJpbWFyeSkpOwor KwkJZGlzLT5wcmltYXJ5ID0gdXRpbF9tZW1kdXAocHJpbWFyeSwgc2l6ZW9mKCpkaXMtPnByaW1h cnkpKTsKKyAKKyAJcmV0dXJuIGJ0X2Rpc19yZWYoZGlzKTsKKyB9CitkaWZmIC0tZ2l0IGEvcHJv ZmlsZXMvaW5wdXQvaG9nLWxpYi5jIGIvcHJvZmlsZXMvaW5wdXQvaG9nLWxpYi5jCitpbmRleCAz YmJlNDIzNzAuLmQzN2NhYTFmMSAxMDA2NDQKKy0tLSBhL3Byb2ZpbGVzL2lucHV0L2hvZy1saWIu YworKysrIGIvcHJvZmlsZXMvaW5wdXQvaG9nLWxpYi5jCitAQCAtNTI3LDkgKzUyNyw5IEBAIHN0 YXRpYyB2b2lkIHJlcG9ydF9yZWFkX2NiKGd1aW50OCBzdGF0dXMsIGNvbnN0IGd1aW50OCAqcGR1 LCBndWludDE2IGxlbiwKKyAJfQorIAorIAlpZiAocmVwb3J0LT52YWx1ZSkKKy0JCWdfZnJlZShy ZXBvcnQtPnZhbHVlKTsKKysJCWZyZWUocmVwb3J0LT52YWx1ZSk7CisgCistCXJlcG9ydC0+dmFs dWUgPSBnX21lbWR1cChwZHUsIGxlbik7CisrCXJlcG9ydC0+dmFsdWUgPSB1dGlsX21lbWR1cChw ZHUsIGxlbik7CisgCXJlcG9ydC0+bGVuID0gbGVuOworIH0KKyAKK0BAIC0xMjE3LDcgKzEyMTcs NyBAQCBzdGF0aWMgdm9pZCByZXBvcnRfZnJlZSh2b2lkICpkYXRhKQorIHsKKyAJc3RydWN0IHJl cG9ydCAqcmVwb3J0ID0gZGF0YTsKKyAKKy0JZ19mcmVlKHJlcG9ydC0+dmFsdWUpOworKwlmcmVl KHJlcG9ydC0+dmFsdWUpOworIAlnX2ZyZWUocmVwb3J0KTsKKyB9CisgCitAQCAtMTI0MSw3ICsx MjQxLDcgQEAgc3RhdGljIHZvaWQgaG9nX2ZyZWUodm9pZCAqZGF0YSkKKyAJYnRfdWhpZF91bnJl Zihob2ctPnVoaWQpOworIAlnX3NsaXN0X2ZyZWVfZnVsbChob2ctPnJlcG9ydHMsIHJlcG9ydF9m cmVlKTsKKyAJZ19mcmVlKGhvZy0+bmFtZSk7CistCWdfZnJlZShob2ctPnByaW1hcnkpOworKwlm cmVlKGhvZy0+cHJpbWFyeSk7CisgCXF1ZXVlX2Rlc3Ryb3koaG9nLT5nYXR0X29wLCAodm9pZCAq KSBkZXN0cm95X2dhdHRfcmVxKTsKKyAJaWYgKGhvZy0+Z2F0dF9kYikKKyAJCWdhdHRfZGJfdW5y ZWYoaG9nLT5nYXR0X2RiKTsKK0BAIC0xNjA5LDcgKzE2MDksNyBAQCBzdGF0aWMgdm9pZCBob2df YXR0YWNoX2hvZyhzdHJ1Y3QgYnRfaG9nICpob2csIHN0cnVjdCBnYXR0X3ByaW1hcnkgKnByaW1h cnkpCisgCXN0cnVjdCBidF9ob2cgKmluc3RhbmNlOworIAorIAlpZiAoIWhvZy0+cHJpbWFyeSkg eworLQkJaG9nLT5wcmltYXJ5ID0gZ19tZW1kdXAocHJpbWFyeSwgc2l6ZW9mKCpwcmltYXJ5KSk7 CisrCQlob2ctPnByaW1hcnkgPSB1dGlsX21lbWR1cChwcmltYXJ5LCBzaXplb2YoKnByaW1hcnkp KTsKKyAJCWRpc2NvdmVyX2NoYXIoaG9nLCBob2ctPmF0dHJpYiwgcHJpbWFyeS0+cmFuZ2Uuc3Rh cnQsCisgCQkJCQkJcHJpbWFyeS0+cmFuZ2UuZW5kLCBOVUxMLAorIAkJCQkJCWNoYXJfZGlzY292 ZXJlZF9jYiwgaG9nKTsKK0BAIC0xNjIzLDcgKzE2MjMsNyBAQCBzdGF0aWMgdm9pZCBob2dfYXR0 YWNoX2hvZyhzdHJ1Y3QgYnRfaG9nICpob2csIHN0cnVjdCBnYXR0X3ByaW1hcnkgKnByaW1hcnkp CisgCWlmICghaW5zdGFuY2UpCisgCQlyZXR1cm47CisgCistCWluc3RhbmNlLT5wcmltYXJ5ID0g Z19tZW1kdXAocHJpbWFyeSwgc2l6ZW9mKCpwcmltYXJ5KSk7CisrCWluc3RhbmNlLT5wcmltYXJ5 ID0gdXRpbF9tZW1kdXAocHJpbWFyeSwgc2l6ZW9mKCpwcmltYXJ5KSk7CisgCWZpbmRfaW5jbHVk ZWQoaW5zdGFuY2UsIGhvZy0+YXR0cmliLCBwcmltYXJ5LT5yYW5nZS5zdGFydCwKKyAJCQlwcmlt YXJ5LT5yYW5nZS5lbmQsIGZpbmRfaW5jbHVkZWRfY2IsIGluc3RhbmNlKTsKKyAKK2RpZmYgLS1n aXQgYS9wcm9maWxlcy9zY2FucGFyYW0vc2NwcC5jIGIvcHJvZmlsZXMvc2NhbnBhcmFtL3NjcHAu YworaW5kZXggZGEzOGE2YWFhLi40YmU4YjI2Y2MgMTAwNjQ0CistLS0gYS9wcm9maWxlcy9zY2Fu cGFyYW0vc2NwcC5jCisrKysgYi9wcm9maWxlcy9zY2FucGFyYW0vc2NwcC5jCitAQCAtOTEsNyAr OTEsNyBAQCBzdGF0aWMgdm9pZCBzY3BwX2ZyZWUoc3RydWN0IGJ0X3NjcHAgKnNjYW4pCisgewor IAlidF9zY3BwX2RldGFjaChzY2FuKTsKKyAKKy0JZ19mcmVlKHNjYW4tPnByaW1hcnkpOworKwlm cmVlKHNjYW4tPnByaW1hcnkpOworIAlxdWV1ZV9kZXN0cm95KHNjYW4tPmdhdHRfb3AsIE5VTEwp OyAvKiBjbGVhcmVkIGluIGJ0X3NjcHBfZGV0YWNoICovCisgCWdfZnJlZShzY2FuKTsKKyB9CitA QCAtMTEwLDcgKzExMCw3IEBAIHN0cnVjdCBidF9zY3BwICpidF9zY3BwX25ldyh2b2lkICpwcmlt YXJ5KQorIAlzY2FuLT5nYXR0X29wID0gcXVldWVfbmV3KCk7CisgCisgCWlmIChwcmltYXJ5KQor LQkJc2Nhbi0+cHJpbWFyeSA9IGdfbWVtZHVwKHByaW1hcnksIHNpemVvZigqc2Nhbi0+cHJpbWFy eSkpOworKwkJc2Nhbi0+cHJpbWFyeSA9IHV0aWxfbWVtZHVwKHByaW1hcnksIHNpemVvZigqc2Nh bi0+cHJpbWFyeSkpOworIAorIAlyZXR1cm4gYnRfc2NwcF9yZWYoc2Nhbik7CisgfQorZGlmZiAt LWdpdCBhL3NyYy9laXIuYyBiL3NyYy9laXIuYworaW5kZXggMGY1ZDE0ZmNkLi4yZjllZTAzNmYg MTAwNjQ0CistLS0gYS9zcmMvZWlyLmMKKysrKyBiL3NyYy9laXIuYworQEAgLTUzLDkgKzUzLDkg QEAgdm9pZCBlaXJfZGF0YV9mcmVlKHN0cnVjdCBlaXJfZGF0YSAqZWlyKQorIAllaXItPnNlcnZp Y2VzID0gTlVMTDsKKyAJZ19mcmVlKGVpci0+bmFtZSk7CisgCWVpci0+bmFtZSA9IE5VTEw7Cist CWdfZnJlZShlaXItPmhhc2gpOworKwlmcmVlKGVpci0+aGFzaCk7CisgCWVpci0+aGFzaCA9IE5V TEw7CistCWdfZnJlZShlaXItPnJhbmRvbWl6ZXIpOworKwlmcmVlKGVpci0+cmFuZG9taXplcik7 CisgCWVpci0+cmFuZG9taXplciA9IE5VTEw7CisgCWdfc2xpc3RfZnJlZV9mdWxsKGVpci0+bXNk X2xpc3QsIGdfZnJlZSk7CisgCWVpci0+bXNkX2xpc3QgPSBOVUxMOworQEAgLTMyMywxMyArMzIz LDEzIEBAIHZvaWQgZWlyX3BhcnNlKHN0cnVjdCBlaXJfZGF0YSAqZWlyLCBjb25zdCB1aW50OF90 ICplaXJfZGF0YSwgdWludDhfdCBlaXJfbGVuKQorIAkJY2FzZSBFSVJfU1NQX0hBU0g6CisgCQkJ aWYgKGRhdGFfbGVuIDwgMTYpCisgCQkJCWJyZWFrOworLQkJCWVpci0+aGFzaCA9IGdfbWVtZHVw KGRhdGEsIDE2KTsKKysJCQllaXItPmhhc2ggPSB1dGlsX21lbWR1cChkYXRhLCAxNik7CisgCQkJ YnJlYWs7CisgCisgCQljYXNlIEVJUl9TU1BfUkFORE9NSVpFUjoKKyAJCQlpZiAoZGF0YV9sZW4g PCAxNikKKyAJCQkJYnJlYWs7CistCQkJZWlyLT5yYW5kb21pemVyID0gZ19tZW1kdXAoZGF0YSwg MTYpOworKwkJCWVpci0+cmFuZG9taXplciA9IHV0aWxfbWVtZHVwKGRhdGEsIDE2KTsKKyAJCQli cmVhazsKKyAKKyAJCWNhc2UgRUlSX0RFVklDRV9JRDoKK2RpZmYgLS1naXQgYS90b29scy9nYXR0 LXNlcnZpY2UuYyBiL3Rvb2xzL2dhdHQtc2VydmljZS5jCitpbmRleCA2MzFjNGYyNDkuLmVkNmIw NmYxZSAxMDA2NDQKKy0tLSBhL3Rvb2xzL2dhdHQtc2VydmljZS5jCisrKysgYi90b29scy9nYXR0 LXNlcnZpY2UuYworQEAgLTI2LDYgKzI2LDcgQEAKKyAjaW5jbHVkZSAiZ2RidXMvZ2RidXMuaCIK KyAKKyAjaW5jbHVkZSAic3JjL2Vycm9yLmgiCisrI2luY2x1ZGUgInNyYy9zaGFyZWQvdXRpbC5o IgorIAorICNkZWZpbmUgR0FUVF9NR1JfSUZBQ0UJCQkib3JnLmJsdWV6LkdhdHRNYW5hZ2VyMSIK KyAjZGVmaW5lIEdBVFRfU0VSVklDRV9JRkFDRQkJIm9yZy5ibHVlei5HYXR0U2VydmljZTEiCitA QCAtMTI2LDggKzEyNyw4IEBAIHN0YXRpYyBnYm9vbGVhbiBkZXNjX2dldF92YWx1ZShjb25zdCBH REJ1c1Byb3BlcnR5VGFibGUgKnByb3BlcnR5LAorIAorIHN0YXRpYyB2b2lkIGRlc2Nfd3JpdGUo c3RydWN0IGRlc2NyaXB0b3IgKmRlc2MsIGNvbnN0IHVpbnQ4X3QgKnZhbHVlLCBpbnQgbGVuKQor IHsKKy0JZ19mcmVlKGRlc2MtPnZhbHVlKTsKKy0JZGVzYy0+dmFsdWUgPSBnX21lbWR1cCh2YWx1 ZSwgbGVuKTsKKysJZnJlZShkZXNjLT52YWx1ZSk7CisrCWRlc2MtPnZhbHVlID0gdXRpbF9tZW1k dXAodmFsdWUsIGxlbik7CisgCWRlc2MtPnZsZW4gPSBsZW47CisgCisgCWdfZGJ1c19lbWl0X3By b3BlcnR5X2NoYW5nZWQoY29ubmVjdGlvbiwgZGVzYy0+cGF0aCwKK0BAIC0yNjQsOCArMjY1LDgg QEAgc3RhdGljIGdib29sZWFuIGNocl9nZXRfcHJvcHMoY29uc3QgR0RCdXNQcm9wZXJ0eVRhYmxl ICpwcm9wZXJ0eSwKKyAKKyBzdGF0aWMgdm9pZCBjaHJfd3JpdGUoc3RydWN0IGNoYXJhY3Rlcmlz dGljICpjaHIsIGNvbnN0IHVpbnQ4X3QgKnZhbHVlLCBpbnQgbGVuKQorIHsKKy0JZ19mcmVlKGNo ci0+dmFsdWUpOworLQljaHItPnZhbHVlID0gZ19tZW1kdXAodmFsdWUsIGxlbik7CisrCWZyZWUo Y2hyLT52YWx1ZSk7CisrCWNoci0+dmFsdWUgPSB1dGlsX21lbWR1cCh2YWx1ZSwgbGVuKTsKKyAJ Y2hyLT52bGVuID0gbGVuOworIAorIAlnX2RidXNfZW1pdF9wcm9wZXJ0eV9jaGFuZ2VkKGNvbm5l Y3Rpb24sIGNoci0+cGF0aCwgR0FUVF9DSFJfSUZBQ0UsCitAQCAtMzg4LDcgKzM4OSw3IEBAIHN0 YXRpYyB2b2lkIGNocl9pZmFjZV9kZXN0cm95KGdwb2ludGVyIHVzZXJfZGF0YSkKKyAKKyAJZ19m cmVlKGNoci0+dXVpZCk7CisgCWdfZnJlZShjaHItPnNlcnZpY2UpOworLQlnX2ZyZWUoY2hyLT52 YWx1ZSk7CisrCWZyZWUoY2hyLT52YWx1ZSk7CisgCWdfZnJlZShjaHItPnBhdGgpOworIAlnX2Zy ZWUoY2hyKTsKKyB9CitAQCAtMzk4LDcgKzM5OSw3IEBAIHN0YXRpYyB2b2lkIGRlc2NfaWZhY2Vf ZGVzdHJveShncG9pbnRlciB1c2VyX2RhdGEpCisgCXN0cnVjdCBkZXNjcmlwdG9yICpkZXNjID0g dXNlcl9kYXRhOworIAorIAlnX2ZyZWUoZGVzYy0+dXVpZCk7CistCWdfZnJlZShkZXNjLT52YWx1 ZSk7CisrCWZyZWUoZGVzYy0+dmFsdWUpOworIAlnX2ZyZWUoZGVzYy0+cGF0aCk7CisgCWdfZnJl ZShkZXNjKTsKKyB9CitAQCAtNTkyLDcgKzU5Myw3IEBAIHN0YXRpYyBnYm9vbGVhbiByZWdpc3Rl cl9jaGFyYWN0ZXJpc3RpYyhjb25zdCBjaGFyICpjaHJfdXVpZCwKKyAKKyAJY2hyID0gZ19uZXcw KHN0cnVjdCBjaGFyYWN0ZXJpc3RpYywgMSk7CisgCWNoci0+dXVpZCA9IGdfc3RyZHVwKGNocl91 dWlkKTsKKy0JY2hyLT52YWx1ZSA9IGdfbWVtZHVwKHZhbHVlLCB2bGVuKTsKKysJY2hyLT52YWx1 ZSA9IHV0aWxfbWVtZHVwKHZhbHVlLCB2bGVuKTsKKyAJY2hyLT52bGVuID0gdmxlbjsKKyAJY2hy LT5wcm9wcyA9IHByb3BzOworIAljaHItPnNlcnZpY2UgPSBnX3N0cmR1cChzZXJ2aWNlX3BhdGgp OworZGlmZiAtLWdpdCBhL3Rvb2xzL21lc2gtZ2F0dC9nYXR0LmMgYi90b29scy9tZXNoLWdhdHQv Z2F0dC5jCitpbmRleCBjOGE4MTIzZmIuLmFiOTc0M2NkMSAxMDA2NDQKKy0tLSBhL3Rvb2xzL21l c2gtZ2F0dC9nYXR0LmMKKysrKyBiL3Rvb2xzL21lc2gtZ2F0dC9nYXR0LmMKK0BAIC0yNCw2ICsy NCw3IEBACisgCisgI2luY2x1ZGUgInNyYy9zaGFyZWQvaW8uaCIKKyAjaW5jbHVkZSAic3JjL3No YXJlZC9zaGVsbC5oIgorKyNpbmNsdWRlICJzcmMvc2hhcmVkL3V0aWwuaCIKKyAjaW5jbHVkZSAi Z2RidXMvZ2RidXMuaCIKKyAjaW5jbHVkZSAibGliL2JsdWV0b290aC5oIgorICNpbmNsdWRlICJs aWIvdXVpZC5oIgorQEAgLTg2LDcgKzg3LDcgQEAgc3RhdGljIHZvaWQgd3JpdGVfZGF0YV9mcmVl KHZvaWQgKnVzZXJfZGF0YSkKKyB7CisgCXN0cnVjdCB3cml0ZV9kYXRhICpkYXRhID0gdXNlcl9k YXRhOworIAorLQlnX2ZyZWUoZGF0YS0+Z2F0dF9kYXRhKTsKKysJZnJlZShkYXRhLT5nYXR0X2Rh dGEpOworIAlmcmVlKGRhdGEpOworIH0KKyAKK0BAIC0zMzgsNyArMzM5LDcgQEAgYm9vbCBtZXNo X2dhdHRfd3JpdGUoR0RCdXNQcm94eSAqcHJveHksIHVpbnQ4X3QgKmJ1ZiwgdWludDE2X3QgbGVu LAorIAkvKiBUT0RPOiBzaG91bGQga2VlcCBpbiBxdWV1ZSBpbiBjYXNlIHdlIG5lZWQgdG8gY2Fu Y2VsIHdyaXRlPyAqLworIAorIAlkYXRhLT5nYXR0X2xlbiA9IGxlbjsKKy0JZGF0YS0+Z2F0dF9k YXRhID0gZ19tZW1kdXAoYnVmLCBsZW4pOworKwlkYXRhLT5nYXR0X2RhdGEgPSB1dGlsX21lbWR1 cChidWYsIGxlbik7CisgCWRhdGEtPmdhdHRfZGF0YVswXSAmPSBHQVRUX1RZUEVfTUFTSzsKKyAJ ZGF0YS0+aW92Lmlvdl9iYXNlID0gZGF0YS0+Z2F0dF9kYXRhOworIAlkYXRhLT5pb3YuaW92X2xl biA9IGxlbjsKK2RpZmYgLS1naXQgYS91bml0L3Rlc3QtYXZjdHAuYyBiL3VuaXQvdGVzdC1hdmN0 cC5jCitpbmRleCBmYTdkYjU5YzguLjI1ZmQzYWJjMiAxMDA2NDQKKy0tLSBhL3VuaXQvdGVzdC1h dmN0cC5jCisrKysgYi91bml0L3Rlc3QtYXZjdHAuYworQEAgLTUzLDcgKzUzLDcgQEAgc3RydWN0 IGNvbnRleHQgeworICNkZWZpbmUgcmF3X3BkdShhcmdzLi4uKQkJCQkJXAorIAl7CQkJCQkJCVwK KyAJCS52YWxpZCA9IHRydWUsCQkJCQlcCistCQkuZGF0YSA9IGdfbWVtZHVwKGRhdGEoYXJncyks IHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKysJCS5kYXRhID0gdXRpbF9tZW1kdXAoZGF0YShhcmdz KSwgc2l6ZW9mKGRhdGEoYXJncykpKSwgXAorIAkJLnNpemUgPSBzaXplb2YoZGF0YShhcmdzKSks CQkJXAorIAl9CisgCitAQCAtNjQsNyArNjQsNyBAQCBzdHJ1Y3QgY29udGV4dCB7CisgCQl9OwkJ CQkJCQlcCisgCQlzdGF0aWMgc3RydWN0IHRlc3RfZGF0YSBkYXRhOwkJCQlcCisgCQlkYXRhLnRl c3RfbmFtZSA9IGdfc3RyZHVwKG5hbWUpOwkJCVwKKy0JCWRhdGEucGR1X2xpc3QgPSBnX21lbWR1 cChwZHVzLCBzaXplb2YocGR1cykpOwkJXAorKwkJZGF0YS5wZHVfbGlzdCA9IHV0aWxfbWVtZHVw KHBkdXMsIHNpemVvZihwZHVzKSk7CVwKKyAJCXRlc3Rlcl9hZGQobmFtZSwgJmRhdGEsIE5VTEws IGZ1bmN0aW9uLCBOVUxMKTsJCVwKKyAJfSB3aGlsZSAoMCkKKyAKK2RpZmYgLS1naXQgYS91bml0 L3Rlc3QtYXZkdHAuYyBiL3VuaXQvdGVzdC1hdmR0cC5jCitpbmRleCA0ZThhNjhjNmIuLjJlNDlk ZWY0MyAxMDA2NDQKKy0tLSBhL3VuaXQvdGVzdC1hdmR0cC5jCisrKysgYi91bml0L3Rlc3QtYXZk dHAuYworQEAgLTQ4LDcgKzQ4LDcgQEAgc3RydWN0IHRlc3RfZGF0YSB7CisgI2RlZmluZSByYXdf cGR1KGFyZ3MuLi4pIFwKKyAJewkJCQkJCQlcCisgCQkudmFsaWQgPSB0cnVlLAkJCQkJXAorLQkJ LmRhdGEgPSBnX21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisrCQku ZGF0YSA9IHV0aWxfbWVtZHVwKGRhdGEoYXJncyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKyAJ CS5zaXplID0gc2l6ZW9mKGRhdGEoYXJncykpLAkJCVwKKyAJfQorIAorQEAgLTU2LDcgKzU2LDcg QEAgc3RydWN0IHRlc3RfZGF0YSB7CisgCXsJCQkJCQkJXAorIAkJLnZhbGlkID0gdHJ1ZSwJCQkJ CVwKKyAJCS5mcmFnbWVudGVkID0gdHJ1ZSwJCQkJXAorLQkJLmRhdGEgPSBnX21lbWR1cChkYXRh KGFyZ3MpLCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisrCQkuZGF0YSA9IHV0aWxfbWVtZHVwKGRh dGEoYXJncyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKyAJCS5zaXplID0gc2l6ZW9mKGRhdGEo YXJncykpLAkJCVwKKyAJfQorIAorQEAgLTY3LDcgKzY3LDcgQEAgc3RydWN0IHRlc3RfZGF0YSB7 CisgCQl9OwkJCQkJCQlcCisgCQlzdGF0aWMgc3RydWN0IHRlc3RfZGF0YSBkYXRhOwkJCQlcCisg CQlkYXRhLnRlc3RfbmFtZSA9IGdfc3RyZHVwKG5hbWUpOwkJCVwKKy0JCWRhdGEucGR1X2xpc3Qg PSBnX21lbWR1cChwZHVzLCBzaXplb2YocGR1cykpOwkJXAorKwkJZGF0YS5wZHVfbGlzdCA9IHV0 aWxfbWVtZHVwKHBkdXMsIHNpemVvZihwZHVzKSk7CVwKKyAJCXRlc3Rlcl9hZGQobmFtZSwgJmRh dGEsIE5VTEwsIGZ1bmN0aW9uLCBOVUxMKTsJXAorIAl9IHdoaWxlICgwKQorIAorZGlmZiAtLWdp dCBhL3VuaXQvdGVzdC1hdnJjcC5jIGIvdW5pdC90ZXN0LWF2cmNwLmMKK2luZGV4IDM0YTcwMzc3 ZC4uYjYzN2E4YTFiIDEwMDY0NAorLS0tIGEvdW5pdC90ZXN0LWF2cmNwLmMKKysrKyBiL3VuaXQv dGVzdC1hdnJjcC5jCitAQCAtNjEsNyArNjEsNyBAQCBzdHJ1Y3QgY29udGV4dCB7CisgI2RlZmlu ZSByYXdfcGR1KGFyZ3MuLi4pCQkJCQlcCisgCXsJCQkJCQkJXAorIAkJLnZhbGlkID0gdHJ1ZSwJ CQkJCVwKKy0JCS5kYXRhID0gZ19tZW1kdXAoZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykp KSwgXAorKwkJLmRhdGEgPSB1dGlsX21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdz KSkpLCBcCisgCQkuc2l6ZSA9IHNpemVvZihkYXRhKGFyZ3MpKSwJCQlcCisgCX0KKyAKK0BAIC02 OSw3ICs2OSw3IEBAIHN0cnVjdCBjb250ZXh0IHsKKyAJewkJCQkJCQlcCisgCQkudmFsaWQgPSB0 cnVlLAkJCQkJXAorIAkJLmJyb3dzZSA9IHRydWUsCQkJCQlcCistCQkuZGF0YSA9IGdfbWVtZHVw KGRhdGEoYXJncyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKysJCS5kYXRhID0gdXRpbF9tZW1k dXAoZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwgXAorIAkJLnNpemUgPSBzaXplb2Yo ZGF0YShhcmdzKSksCQkJXAorIAl9CisgCitAQCAtNzcsNyArNzcsNyBAQCBzdHJ1Y3QgY29udGV4 dCB7CisgCXsJCQkJCQkJXAorIAkJLnZhbGlkID0gdHJ1ZSwJCQkJCVwKKyAJCS5mcmFnbWVudGVk ID0gdHJ1ZSwJCQkJXAorLQkJLmRhdGEgPSBnX21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0 YShhcmdzKSkpLCBcCisrCQkuZGF0YSA9IHV0aWxfbWVtZHVwKGRhdGEoYXJncyksIHNpemVvZihk YXRhKGFyZ3MpKSksIFwKKyAJCS5zaXplID0gc2l6ZW9mKGRhdGEoYXJncykpLAkJCVwKKyAJfQor IAorQEAgLTg1LDcgKzg1LDcgQEAgc3RydWN0IGNvbnRleHQgeworIAl7CQkJCQkJCVwKKyAJCS52 YWxpZCA9IHRydWUsCQkJCQlcCisgCQkuY29udGludWluZyA9IHRydWUsCQkJCVwKKy0JCS5kYXRh ID0gZ19tZW1kdXAoZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwgXAorKwkJLmRhdGEg PSB1dGlsX21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisgCQkuc2l6 ZSA9IHNpemVvZihkYXRhKGFyZ3MpKSwJCQlcCisgCX0KKyAKK0BAIC05Niw3ICs5Niw3IEBAIHN0 cnVjdCBjb250ZXh0IHsKKyAJCX07CQkJCQkJCVwKKyAJCXN0YXRpYyBzdHJ1Y3QgdGVzdF9kYXRh IGRhdGE7CQkJCVwKKyAJCWRhdGEudGVzdF9uYW1lID0gZ19zdHJkdXAobmFtZSk7CQkJXAorLQkJ ZGF0YS5wZHVfbGlzdCA9IGdfbWVtZHVwKHBkdXMsIHNpemVvZihwZHVzKSk7CQlcCisrCQlkYXRh LnBkdV9saXN0ID0gdXRpbF9tZW1kdXAocGR1cywgc2l6ZW9mKHBkdXMpKTsJXAorIAkJdGVzdGVy X2FkZChuYW1lLCAmZGF0YSwgTlVMTCwgZnVuY3Rpb24sIE5VTEwpOwkJXAorIAl9IHdoaWxlICgw KQorIAorZGlmZiAtLWdpdCBhL3VuaXQvdGVzdC1nYXR0LmMgYi91bml0L3Rlc3QtZ2F0dC5jCitp bmRleCA2YTQ3MjY4ZTYuLmY5MmQ4NjBjNCAxMDA2NDQKKy0tLSBhL3VuaXQvdGVzdC1nYXR0LmMK KysrKyBiL3VuaXQvdGVzdC1nYXR0LmMKK0BAIC03Myw3ICs3Myw3IEBAIHN0cnVjdCBjb250ZXh0 IHsKKyAjZGVmaW5lIHJhd19wZHUoYXJncy4uLikJCQkJCVwKKyAJewkJCQkJCQlcCisgCQkudmFs aWQgPSB0cnVlLAkJCQkJXAorLQkJLmRhdGEgPSBnX21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2Yo ZGF0YShhcmdzKSkpLCBcCisrCQkuZGF0YSA9IHV0aWxfbWVtZHVwKGRhdGEoYXJncyksIHNpemVv ZihkYXRhKGFyZ3MpKSksIFwKKyAJCS5zaXplID0gc2l6ZW9mKGRhdGEoYXJncykpLAkJCVwKKyAJ fQorIAorQEAgLTk0LDcgKzk0LDcgQEAgc3RydWN0IGNvbnRleHQgeworIAkJZGF0YS51dWlkID0g YnRfdXVpZDsJCQkJCVwKKyAJCWRhdGEuc3RlcCA9IHRlc3Rfc3RlcDsJCQkJCVwKKyAJCWRhdGEu c291cmNlX2RiID0gZGI7CQkJCQlcCistCQlkYXRhLnBkdV9saXN0ID0gZ19tZW1kdXAocGR1cywg c2l6ZW9mKHBkdXMpKTsJCVwKKysJCWRhdGEucGR1X2xpc3QgPSB1dGlsX21lbWR1cChwZHVzLCBz aXplb2YocGR1cykpOwlcCisgCQl0ZXN0ZXJfYWRkKG5hbWUsICZkYXRhLCBOVUxMLCBmdW5jdGlv biwgTlVMTCk7CQlcCisgCX0gd2hpbGUgKDApCisgCitkaWZmIC0tZ2l0IGEvdW5pdC90ZXN0LWhm cC5jIGIvdW5pdC90ZXN0LWhmcC5jCitpbmRleCBmNTA0NzI0ZDcuLmI0YWY5OWQ1MyAxMDA2NDQK Ky0tLSBhL3VuaXQvdGVzdC1oZnAuYworKysrIGIvdW5pdC90ZXN0LWhmcC5jCitAQCAtMTcsNiAr MTcsNyBAQAorICNpbmNsdWRlIDxnbGliLmg+CisgI2luY2x1ZGUgInNyYy9zaGFyZWQvaGZwLmgi CisgI2luY2x1ZGUgInNyYy9zaGFyZWQvdGVzdGVyLmgiCisrI2luY2x1ZGUgInNyYy9zaGFyZWQv dXRpbC5oIgorIAorIHN0cnVjdCBjb250ZXh0IHsKKyAJZ3VpbnQgd2F0Y2hfaWQ7CitAQCAtNTAs NyArNTEsNyBAQCBzdHJ1Y3QgdGVzdF9kYXRhIHsKKyAjZGVmaW5lIHJhd19wZHUoYXJncy4uLikJ CQkJCVwKKyAJewkJCQkJCQlcCisgCQkudmFsaWQgPSB0cnVlLAkJCQkJXAorLQkJLmRhdGEgPSBn X21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisrCQkuZGF0YSA9IHV0 aWxfbWVtZHVwKGRhdGEoYXJncyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKyAJCS5zaXplID0g c2l6ZW9mKGRhdGEoYXJncykpLAkJCVwKKyAJfQorIAorQEAgLTYyLDcgKzYzLDcgQEAgc3RydWN0 IHRlc3RfZGF0YSB7CisgI2RlZmluZSB0eXBlX3BkdShjbWRfdHlwZSwgYXJncy4uLikJCQkJXAor IAl7CQkJCQkJCVwKKyAJCS52YWxpZCA9IHRydWUsCQkJCQlcCistCQkuZGF0YSA9IGdfbWVtZHVw KGRhdGEoYXJncyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKysJCS5kYXRhID0gdXRpbF9tZW1k dXAoZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwgXAorIAkJLnNpemUgPSBzaXplb2Yo ZGF0YShhcmdzKSksCQkJXAorIAkJLnR5cGUgPSBjbWRfdHlwZSwJCQkJXAorIAl9CitAQCAtNzAs NyArNzEsNyBAQCBzdHJ1Y3QgdGVzdF9kYXRhIHsKKyAjZGVmaW5lIGZyZ19wZHUoYXJncy4uLikJ CQkJCVwKKyAJewkJCQkJCQlcCisgCQkudmFsaWQgPSB0cnVlLAkJCQkJXAorLQkJLmRhdGEgPSBn X21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisrCQkuZGF0YSA9IHV0 aWxfbWVtZHVwKGRhdGEoYXJncyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKyAJCS5zaXplID0g c2l6ZW9mKGRhdGEoYXJncykpLAkJCVwKKyAJCS5mcmFnbWVudGVkID0gdHJ1ZSwJCQkJXAorIAl9 CitAQCAtODIsNyArODMsNyBAQCBzdHJ1Y3QgdGVzdF9kYXRhIHsKKyAJCX07CQkJCQkJCVwKKyAJ CXN0YXRpYyBzdHJ1Y3QgdGVzdF9kYXRhIGRhdGE7CQkJCVwKKyAJCWRhdGEudGVzdF9uYW1lID0g Z19zdHJkdXAobmFtZSk7CQkJXAorLQkJZGF0YS5wZHVfbGlzdCA9IGdfbWVtZHVwKHBkdXMsIHNp emVvZihwZHVzKSk7CQlcCisrCQlkYXRhLnBkdV9saXN0ID0gdXRpbF9tZW1kdXAocGR1cywgc2l6 ZW9mKHBkdXMpKTsJXAorIAkJZGF0YS5yZXN1bHRfZnVuYyA9IHJlc3VsdF9mdW5jdGlvbjsJCQlc CisgCQl0ZXN0ZXJfYWRkKG5hbWUsICZkYXRhLCBOVUxMLCBmdW5jdGlvbiwgTlVMTCk7CQlcCisg CQlkYXRhLnRlc3RfaGFuZGxlciA9IHRlc3RfaGFuZGxlcjsJCQlcCitAQCAtOTYsNyArOTcsNyBA QCBzdHJ1Y3QgdGVzdF9kYXRhIHsKKyAJCX07CQkJCQkJCVwKKyAJCXN0YXRpYyBzdHJ1Y3QgdGVz dF9kYXRhIGRhdGE7CQkJCVwKKyAJCWRhdGEudGVzdF9uYW1lID0gZ19zdHJkdXAobmFtZSk7CQkJ XAorLQkJZGF0YS5wZHVfbGlzdCA9IGdfbWVtZHVwKHBkdXMsIHNpemVvZihwZHVzKSk7CQlcCisr CQlkYXRhLnBkdV9saXN0ID0gdXRpbF9tZW1kdXAocGR1cywgc2l6ZW9mKHBkdXMpKTsJXAorIAkJ ZGF0YS5oZl9yZXN1bHRfZnVuYyA9IHJlc3VsdF9mdW5jOwkJCVwKKyAJCWRhdGEucmVzcG9uc2Vf ZnVuYyA9IHJlc3BvbnNlX2Z1bmN0aW9uOwkJCVwKKyAJCXRlc3Rlcl9hZGQobmFtZSwgJmRhdGEs IE5VTEwsIGZ1bmN0aW9uLCBOVUxMKTsJCVwKK2RpZmYgLS1naXQgYS91bml0L3Rlc3QtaG9nLmMg Yi91bml0L3Rlc3QtaG9nLmMKK2luZGV4IDExNmE1Y2IwNy4uMDY3NDk3ZGU0IDEwMDY0NAorLS0t IGEvdW5pdC90ZXN0LWhvZy5jCisrKysgYi91bml0L3Rlc3QtaG9nLmMKK0BAIC01OSwyNCArNTks MjQgQEAgc3RydWN0IGNvbnRleHQgeworICNkZWZpbmUgcmF3X3BkdShhcmdzLi4uKQkJCQkJXAor IHsJCQkJCQkJCVwKKyAJLnZhbGlkID0gdHJ1ZSwJCQkJCQlcCistCS5kYXRhID0gZ19tZW1kdXAo ZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwJXAorKwkuZGF0YSA9IHV0aWxfbWVtZHVw KGRhdGEoYXJncyksIHNpemVvZihkYXRhKGFyZ3MpKSksCVwKKyAJLnNpemUgPSBzaXplb2YoZGF0 YShhcmdzKSksCQkJCVwKKyB9CisgCistI2RlZmluZSBmYWxzZV9wZHUoKQlcCistewkJCQkJCVwK Ky0JCS52YWxpZCA9IGZhbHNlLCBcCisrI2RlZmluZSBmYWxzZV9wZHUoKQkJCQkJCVwKKyt7CQkJ CQkJCQlcCisrCQkudmFsaWQgPSBmYWxzZSwJCQkJCVwKKyB9CisgCistI2RlZmluZSBkZWZpbmVf dGVzdChuYW1lLCBmdW5jdGlvbiwgYXJncy4uLikgICAgICBcCistCWRvIHsgICAgXAorLQkJY29u c3Qgc3RydWN0IHRlc3RfcGR1IHBkdXNbXSA9IHsJCQlcCistCQkJYXJncywgeyB9CQkJCQlcCist CQl9OwkJXAorLQkJc3RhdGljIHN0cnVjdCB0ZXN0X2RhdGEgZGF0YTsgICAgICBcCistCQlkYXRh LnRlc3RfbmFtZSA9IGdfc3RyZHVwKG5hbWUpOyAgIFwKKy0JCWRhdGEucGR1X2xpc3QgPSBnX21l bWR1cChwZHVzLCBzaXplb2YocGR1cykpOwkJXAorLQkJdGVzdGVyX2FkZChuYW1lLCAmZGF0YSwg TlVMTCwgZnVuY3Rpb24sIE5VTEwpOyAgICAgXAorKyNkZWZpbmUgZGVmaW5lX3Rlc3QobmFtZSwg ZnVuY3Rpb24sIGFyZ3MuLi4pCQkJXAorKwlkbyB7CQkJCQkJCVwKKysJCWNvbnN0IHN0cnVjdCB0 ZXN0X3BkdSBwZHVzW10gPSB7CQlcCisrCQkJYXJncywgeyB9CQkJCVwKKysJCX07CQkJCQkJXAor KwkJc3RhdGljIHN0cnVjdCB0ZXN0X2RhdGEgZGF0YTsJCQlcCisrCQlkYXRhLnRlc3RfbmFtZSA9 IGdfc3RyZHVwKG5hbWUpOwkJXAorKwkJZGF0YS5wZHVfbGlzdCA9IHV0aWxfbWVtZHVwKHBkdXMs IHNpemVvZihwZHVzKSk7XAorKwkJdGVzdGVyX2FkZChuYW1lLCAmZGF0YSwgTlVMTCwgZnVuY3Rp b24sIE5VTEwpOwlcCisgCX0gd2hpbGUgKDApCisgCisgc3RhdGljIGdib29sZWFuIGNvbnRleHRf cXVpdChncG9pbnRlciB1c2VyX2RhdGEpCitkaWZmIC0tZ2l0IGEvdW5pdC90ZXN0LXNkcC5jIGIv dW5pdC90ZXN0LXNkcC5jCitpbmRleCA4Zjk1ZmNiNzEuLjVjMDRhNzFlYiAxMDA2NDQKKy0tLSBh L3VuaXQvdGVzdC1zZHAuYworKysrIGIvdW5pdC90ZXN0LXNkcC5jCitAQCAtNDcsMTQgKzQ3LDE2 IEBAIHN0cnVjdCB0ZXN0X2RhdGEgeworICNkZWZpbmUgcmF3X3BkdShhcmdzLi4uKSBcCisgCXsJ CQkJCQkJXAorIAkJLnZhbGlkID0gdHJ1ZSwJCQkJCVwKKy0JCS5yYXdfZGF0YSA9IGdfbWVtZHVw KHJhd19kYXRhKGFyZ3MpLCBzaXplb2YocmF3X2RhdGEoYXJncykpKSwgXAorKwkJLnJhd19kYXRh ID0gdXRpbF9tZW1kdXAocmF3X2RhdGEoYXJncyksCQlcCisrCQkJCQlzaXplb2YocmF3X2RhdGEo YXJncykpKSwgXAorIAkJLnJhd19zaXplID0gc2l6ZW9mKHJhd19kYXRhKGFyZ3MpKSwJCVwKKyAJ fQorIAorICNkZWZpbmUgcmF3X3BkdV9jb250KGNvbnQsIGFyZ3MuLi4pIFwKKyAJewkJCQkJCQlc CisgCQkudmFsaWQgPSB0cnVlLAkJCQkJXAorLQkJLnJhd19kYXRhID0gZ19tZW1kdXAocmF3X2Rh dGEoYXJncyksIHNpemVvZihyYXdfZGF0YShhcmdzKSkpLCBcCisrCQkucmF3X2RhdGEgPSB1dGls X21lbWR1cChyYXdfZGF0YShhcmdzKSwJCVwKKysJCQkJCXNpemVvZihyYXdfZGF0YShhcmdzKSkp LCBcCisgCQkucmF3X3NpemUgPSBzaXplb2YocmF3X2RhdGEoYXJncykpLAkJXAorIAkJLmNvbnRf bGVuID0gY29udCwJCQkJXAorIAl9CitAQCAtNjYsNyArNjgsNyBAQCBzdHJ1Y3QgdGVzdF9kYXRh IHsKKyAJCX07CQkJCQkJCVwKKyAJCXN0YXRpYyBzdHJ1Y3QgdGVzdF9kYXRhIGRhdGE7CQkJCVwK KyAJCWRhdGEubXR1ID0gX210dTsJCQkJCVwKKy0JCWRhdGEucGR1X2xpc3QgPSBnX21lbWR1cChw ZHVzLCBzaXplb2YocGR1cykpOwkJXAorKwkJZGF0YS5wZHVfbGlzdCA9IHV0aWxfbWVtZHVwKHBk dXMsIHNpemVvZihwZHVzKSk7CVwKKyAJCXRlc3Rlcl9hZGQobmFtZSwgJmRhdGEsIE5VTEwsIHRl c3Rfc2RwLCBOVUxMKTsJCVwKKyAJfSB3aGlsZSAoMCkKKyAKK0BAIC05Miw3ICs5NCw3IEBAIHN0 cnVjdCB0ZXN0X2RhdGFfZGUgeworICNkZWZpbmUgZGVmaW5lX3Rlc3RfZGVfYXR0cihuYW1lLCBp bnB1dCwgZXhwKSBcCisgCWRvIHsJCQkJCQkJCVwKKyAJCXN0YXRpYyBzdHJ1Y3QgdGVzdF9kYXRh X2RlIGRhdGE7CQkJXAorLQkJZGF0YS5pbnB1dF9kYXRhID0gZ19tZW1kdXAoaW5wdXQsIHNpemVv ZihpbnB1dCkpOwlcCisrCQlkYXRhLmlucHV0X2RhdGEgPSB1dGlsX21lbWR1cChpbnB1dCwgc2l6 ZW9mKGlucHV0KSk7CVwKKyAJCWRhdGEuaW5wdXRfc2l6ZSA9IHNpemVvZihpbnB1dCk7CQkJXAor IAkJZGF0YS5leHBlY3RlZCA9IGV4cDsJCQkJCVwKKyAJCXRlc3Rlcl9hZGQoIi9zZHAvREUvQVRU Ui8iIG5hbWUsICZkYXRhLAlOVUxMLAkJXAorZGlmZiAtLWdpdCBhL3VuaXQvdGVzdC11aGlkLmMg Yi91bml0L3Rlc3QtdWhpZC5jCitpbmRleCAwMDFkMzlhM2QuLjhhOGVlZjg1NSAxMDA2NDQKKy0t LSBhL3VuaXQvdGVzdC11aGlkLmMKKysrKyBiL3VuaXQvdGVzdC11aGlkLmMKK0BAIC02MSw3ICs2 MSw3IEBAIHN0cnVjdCBjb250ZXh0IHsKKyAJCX07CQkJCQkJCVwKKyAJCXN0YXRpYyBzdHJ1Y3Qg dGVzdF9kYXRhIGRhdGE7CQkJCVwKKyAJCWRhdGEudGVzdF9uYW1lID0gZ19zdHJkdXAobmFtZSk7 CQkJXAorLQkJZGF0YS5wZHVfbGlzdCA9IGdfbWVtZHVwKHBkdXMsIHNpemVvZihwZHVzKSk7CQlc CisrCQlkYXRhLnBkdV9saXN0ID0gdXRpbF9tZW1kdXAocGR1cywgc2l6ZW9mKHBkdXMpKTsJXAor IAkJdGVzdGVyX2FkZChuYW1lLCAmZGF0YSwgTlVMTCwgZnVuY3Rpb24sIE5VTEwpOwkJXAorIAl9 IHdoaWxlICgwKQorIAorLS0gCisyLjE3LjEKKwotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpidWlsZHJvb3QgbWFpbGluZyBsaXN0CmJ1 aWxkcm9vdEBidWlsZHJvb3Qub3JnCmh0dHBzOi8vbGlzdHMuYnVpbGRyb290Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL2J1aWxkcm9vdAo=