X-Original-To: alpine-aports@lists.alpinelinux.org Received: from mail-lf0-f67.google.com (mail-lf0-f67.google.com [209.85.215.67]) by lists.alpinelinux.org (Postfix) with ESMTP id 719C25C4551 for ; Fri, 30 Dec 2016 08:44:09 +0000 (GMT) Received: by mail-lf0-f67.google.com with SMTP id t196so17343230lff.3 for ; Fri, 30 Dec 2016 00:44:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Z/sk7Ff+w7fun7pjhMijB2Yeb8fZDOC78SjMgpsMB3Y=; b=PgEZSioYg7rYeiehHcB5auFy8RgO/C957h8fD27dY2Khf60OqifqvEEnuYMq3cDCsb TRqOf7LT3E670tWL4FtdQ+2hgF8JNqbzKkgMM2TzfocbAcULiohMQaBOhSCrP2nRwT4u 78QY0GvZ7bsEEjfIgLpaZE3keUQJp5RZ1dZIQ3XSBjS77XLHTwXZibLF3l/t2VMQtjGJ bxOheTTI8ywCl9t4g4SxpNHMDWMBtzV2Etm38snl6JPc5Syilt6sXmpMWzdXQYZTLbJW YlO1P+jxNuDH36Qa+SuyoF0Qxk4GKb5dGu/iVkKtODGowURYk6hNnpJp302eTSK5DXVw 7xxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Z/sk7Ff+w7fun7pjhMijB2Yeb8fZDOC78SjMgpsMB3Y=; b=K8ZhrfJE89iLtHFAqHBMKLLBrfKkMXjt7Dh2QSlEzI9s37PZpEqGRxpnDB8uaS+ObN g4GheZAvIZUMXKvzXnSuMFaXqYgfkAxUIYkgJWpt646xLnpqEm47bN2gfZotfZHyfY8D Go7FjoeUCqgDdxxDd44oHTnhUTmYFua+JbW4GnRuVxusxtrUE0UYS/1sQltMqY3HjDqY 9+e+fJshZkQhoVqyIcHlwpXcGfudGSq8xfsG5A1Y6u/JvyvkV5JalRBxIUob/LihKNty bfEu1O+n5EGBYEnOKxsirM8HJwSNHSvjOYeEfpE9AJ8rgbsIou2wUQCtjbtVvh50mOa4 TtSw== X-Gm-Message-State: AIkVDXLO2FPH1ZDLye64t3khDhi0ZcSCZL81LxXm3ka65EZMottIYH1h3zPGRpKu3coXsg== X-Received: by 10.25.130.149 with SMTP id e143mr15865628lfd.87.1483087447844; Fri, 30 Dec 2016 00:44:07 -0800 (PST) Received: from v3-3.util.wtbts.net ([83.145.235.199]) by smtp.gmail.com with ESMTPSA id k7sm13514946lfe.37.2016.12.30.00.44.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 30 Dec 2016 00:44:06 -0800 (PST) From: Sergey Lukin To: alpine-aports@lists.alpinelinux.org Cc: Sergey Lukin Subject: [alpine-aports] [PATCH v3.3] main/curl: security upgrade to 7.52.1 - fixes #6600 Date: Fri, 30 Dec 2016 08:44:00 +0000 Message-Id: <1483087440-17236-1-git-send-email-sergej.lukin@gmail.com> X-Mailer: git-send-email 2.6.6 X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Q1ZFLTIwMTYtOTU5NDogdW5pdGl0aWFsaXplZCByYW5kb20NCkNWRS0yMDE2LTk1ODY6IHByaW50 ZiBmbG9hdGluZyBwb2ludCBidWZmZXIgb3ZlcmZsb3cNCkNWRS0yMDE2LTk5NTI6IFdpbiBDRSBz Y2hhbm5lbCBjZXJ0IHdpbGRjYXJkIG1hdGNoZXMgdG9vIG11Y2gNCkNWRS0yMDE2LTk5NTM6IFdp biBDRSBzY2hhbm5lbCBjZXJ0IG5hbWUgb3V0IG9mIGJ1ZmZlciByZWFkDQpDVkUtMjAxNi04NjI1 OiBJRE5BIDIwMDMgbWFrZXMgY3VybCB1c2Ugd3JvbmcgaG9zdA0KLS0tDQogbWFpbi9jdXJsL0FQ S0JVSUxEICAgICAgICAgICAgICAgICAgfCAxMDYgKysrKysrLS0tLS0tLS0tLS0tDQogbWFpbi9j dXJsL0NWRS0yMDE2LTU0MTkucGF0Y2ggICAgICAgfCAgODUgLS0tLS0tLS0tLS0tLS0tDQogbWFp bi9jdXJsL0NWRS0yMDE2LTU0MjAucGF0Y2ggICAgICAgfCAgMzAgLS0tLS0tDQogbWFpbi9jdXJs L0NWRS0yMDE2LTU0MjEucGF0Y2ggICAgICAgfCAgMzUgLS0tLS0tDQogbWFpbi9jdXJsL0NWRS0y MDE2LTcxNDEucGF0Y2ggICAgICAgfCAgNDIgLS0tLS0tLS0NCiBtYWluL2N1cmwvQ1ZFLTIwMTYt NzE2Ny5wYXRjaCAgICAgICB8ICA1MyAtLS0tLS0tLS0NCiBtYWluL2N1cmwvQ1ZFLTIwMTYtODYx NS5wYXRjaCAgICAgICB8ICA3NSAtLS0tLS0tLS0tLS0tDQogbWFpbi9jdXJsL0NWRS0yMDE2LTg2 MTYucGF0Y2ggICAgICAgfCAgNjYgLS0tLS0tLS0tLS0tDQogbWFpbi9jdXJsL0NWRS0yMDE2LTg2 MTcucGF0Y2ggICAgICAgfCAgMzYgLS0tLS0tLQ0KIG1haW4vY3VybC9DVkUtMjAxNi04NjE4LnBh dGNoICAgICAgIHwgIDUwIC0tLS0tLS0tLQ0KIG1haW4vY3VybC9DVkUtMjAxNi04NjE5LnBhdGNo ICAgICAgIHwgIDUwIC0tLS0tLS0tLQ0KIG1haW4vY3VybC9DVkUtMjAxNi04NjIwLnBhdGNoICAg ICAgIHwgMjA1IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogbWFpbi9jdXJs L0NWRS0yMDE2LTg2MjEucGF0Y2ggICAgICAgfCAxMjEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQog bWFpbi9jdXJsL0NWRS0yMDE2LTg2MjIucGF0Y2ggICAgICAgfCAxMjYgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KIG1haW4vY3VybC9DVkUtMjAxNi04NjIzLnBhdGNoICAgICAgIHwgMjA3IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIG1haW4vY3VybC9DVkUtMjAxNi04NjI0 LWZpeGVkLnBhdGNoIHwgIDYxIC0tLS0tLS0tLS0tDQogMTYgZmlsZXMgY2hhbmdlZCwgMzEgaW5z ZXJ0aW9ucygrKSwgMTMxNyBkZWxldGlvbnMoLSkNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9j dXJsL0NWRS0yMDE2LTU0MTkucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NW RS0yMDE2LTU0MjAucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2 LTU0MjEucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTcxNDEu cGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTcxNjcucGF0Y2gN CiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTUucGF0Y2gNCiBkZWxl dGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTYucGF0Y2gNCiBkZWxldGUgbW9k ZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTcucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2 NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTgucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFp bi9jdXJsL0NWRS0yMDE2LTg2MTkucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJs L0NWRS0yMDE2LTg2MjAucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0y MDE2LTg2MjEucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2 MjIucGF0Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjMucGF0 Y2gNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjQtZml4ZWQucGF0 Y2gNCg0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9BUEtCVUlMRCBiL21haW4vY3VybC9BUEtCVUlM RA0KaW5kZXggMGU1OWE4Ny4uZjk5MjE5YiAxMDA2NDQNCi0tLSBhL21haW4vY3VybC9BUEtCVUlM RA0KKysrIGIvbWFpbi9jdXJsL0FQS0JVSUxEDQpAQCAtMiw4ICsyLDggQEANCiAjIENvbnRyaWJ1 dG9yOiBTZXJnZXkgTHVraW4gPHNlcmdlai5sdWtpbkBnbWFpbC5jb20+DQogIyBNYWludGFpbmVy OiBOYXRhbmFlbCBDb3BhIDxuY29wYUBhbHBpbmVsaW51eC5vcmc+DQogcGtnbmFtZT1jdXJsDQot cGtndmVyPTcuNDkuMQ0KLXBrZ3JlbD00DQorcGtndmVyPTcuNTIuMQ0KK3BrZ3JlbD0wDQogcGtn ZGVzYz0iQW4gVVJMIHJldHJpdmFsIHV0aWxpdHkgYW5kIGxpYnJhcnkiDQogdXJsPSJodHRwOi8v Y3VybC5oYXh4LnNlIg0KIGFyY2g9ImFsbCINCkBAIC0xMiwzNSArMTIsMzYgQEAgZGVwZW5kcz0i Y2EtY2VydGlmaWNhdGVzIg0KIGRlcGVuZHNfZGV2PSJ6bGliLWRldiBvcGVuc3NsLWRldiBsaWJz c2gyLWRldiINCiBtYWtlZGVwZW5kcz0iZ3JvZmYgJGRlcGVuZHNfZGV2IHBlcmwiDQogc3VicGFj a2FnZXM9IiRwa2duYW1lLWRvYyAkcGtnbmFtZS1kZXYiDQotc291cmNlPSJodHRwOi8vY3VybC5o YXh4LnNlL2Rvd25sb2FkL2N1cmwtJHBrZ3Zlci50YXIuYnoyDQotCUNWRS0yMDE2LTU0MTkucGF0 Y2gNCi0JQ1ZFLTIwMTYtNTQyMC5wYXRjaA0KLQlDVkUtMjAxNi01NDIxLnBhdGNoDQotCUNWRS0y MDE2LTcxNDEucGF0Y2gNCi0JQ1ZFLTIwMTYtNzE2Ny5wYXRjaA0KLQlDVkUtMjAxNi04NjE1LnBh dGNoDQotCUNWRS0yMDE2LTg2MTYucGF0Y2gNCi0JQ1ZFLTIwMTYtODYxNy5wYXRjaA0KLQlDVkUt MjAxNi04NjE4LnBhdGNoDQotCUNWRS0yMDE2LTg2MTkucGF0Y2gNCi0JQ1ZFLTIwMTYtODYyMC5w YXRjaA0KLQlDVkUtMjAxNi04NjIxLnBhdGNoDQotCUNWRS0yMDE2LTg2MjIucGF0Y2gNCi0JQ1ZF LTIwMTYtODYyMy5wYXRjaA0KLQlDVkUtMjAxNi04NjI0LWZpeGVkLnBhdGNoDQotCSINCitzb3Vy Y2U9Imh0dHA6Ly9jdXJsLmhheHguc2UvZG93bmxvYWQvY3VybC0kcGtndmVyLnRhci5iejIiDQog DQogX2J1aWxkZGlyPSIkc3JjZGlyLyRwa2duYW1lLSRwa2d2ZXIiDQogDQogIyBzZWNmaXhlczoN Ci0jICAgNy40OS4xLXIxOg0KLSMgICAtIENWRS0yMDE2LTU0MTkNCi0jICAgLSBDVkUtMjAxNi01 NDIwDQotIyAgIC0gQ1ZFLTIwMTYtNTQyMQ0KLSMgICA3LjQ5LjEtcjI6DQotIyAgIC0gQ1ZFLTIw MTYtNzE0MQ0KLSMgICA3LjQ5LjEtcjM6DQotIyAgIC0gQ1ZFLTIwMTYtNzE2Nw0KKyMgIDcuNTIu MS1yMDoNCisjICAgIC0gQ1ZFLTIwMTYtOTU5NA0KKyMgICAgLSBDVkUtMjAxNi05NTg2DQorIyAg ICAtIENWRS0yMDE2LTk5NTINCisjICAgIC0gQ1ZFLTIwMTYtOTk1Mw0KKyMgIDcuNDkuMS1yNDoN CisjICAgIC0gQ1ZFLTIwMTYtODYxNQ0KKyMgICAgLSBDVkUtMjAxNi04NjE2DQorIyAgICAtIENW RS0yMDE2LTg2MTcNCisjICAgIC0gQ1ZFLTIwMTYtODYxOA0KKyMgICAgLSBDVkUtMjAxNi04NjE5 DQorIyAgICAtIENWRS0yMDE2LTg2MjANCisjICAgIC0gQ1ZFLTIwMTYtODYyMQ0KKyMgICAgLSBD VkUtMjAxNi04NjIyDQorIyAgICAtIENWRS0yMDE2LTg2MjMNCisjICAgIC0gQ1ZFLTIwMTYtODYy NA0KKyMgIDcuNDkuMS1yMzoNCisjICAgIC0gQ1ZFLTIwMTYtNzE2Nw0KKyMgIDcuNDkuMS1yMjoN CisjICAgIC0gQ1ZFLTIwMTYtNzE0MQ0KKyMgIDcuNDkuMS1yMToNCisjICAgIC0gQ1ZFLTIwMTYt NTQxOQ0KKyMgICAgLSBDVkUtMjAxNi01NDIwDQorIyAgICAtIENWRS0yMDE2LTU0MjENCisNCiAN CiBwcmVwYXJlKCkgew0KIAlsb2NhbCBpDQpAQCAtNzEsNTEgKzcyLDYgQEAgcGFja2FnZSgpIHsN CiAJbWFrZSBERVNURElSPSIkcGtnZGlyIiBpbnN0YWxsIHx8IHJldHVybiAxDQogfQ0KIA0KLW1k NXN1bXM9IjZiYjFmN2FmNWI1OGIzMGU0ZTY0MTRiOGMxYWJjY2FiICBjdXJsLTcuNDkuMS50YXIu YnoyDQotMjkwZjZiMzdkOTVjOTczMTg0OWZjODA1YTJlY2U1M2IgIENWRS0yMDE2LTU0MTkucGF0 Y2gNCi0xNTBlM2MxMTBkNmViODUxODdlMTA5ZDA0MzE3YjllMyAgQ1ZFLTIwMTYtNTQyMC5wYXRj aA0KLTA1MjQ2NjRiYzkyNjM3NGY2YTdiMDU3MDQ2OTI0YmQyICBDVkUtMjAxNi01NDIxLnBhdGNo DQotN2VhZGExZTM3NDVlM2NmZThmNDA1N2RlYzI3M2Q4MjAgIENWRS0yMDE2LTcxNDEucGF0Y2gN Ci0xM2Q1YWQ2Y2UyZGI5YjVhMjMxNGQzMTIyNzU3N2YxZiAgQ1ZFLTIwMTYtNzE2Ny5wYXRjaA0K LTIxZDFhY2Y5YzNhNjIwMjE1YmEyZmNhYmRiZGYzZDI3ICBDVkUtMjAxNi04NjE1LnBhdGNoDQot YjBjZjY2MDFjZDY4NWU1YjVkMTBhMTBhMjJkZjFjOGQgIENWRS0yMDE2LTg2MTYucGF0Y2gNCi03 ZjU3NzVmMzNhMTg3OTBlOWI4ZDVjNzZhMjI2YmFmZSAgQ1ZFLTIwMTYtODYxNy5wYXRjaA0KLTE1 MjMwN2JmODgwM2M2MTZlZDVjNmY2ZDA2YjJlZTZhICBDVkUtMjAxNi04NjE4LnBhdGNoDQotYTA4 ODNlOTNkNGQ0YmEzNjExZmQwYmRkZmU1YWM5MjggIENWRS0yMDE2LTg2MTkucGF0Y2gNCi04MDc4 N2JlMjM1NGE4YzYzODUxNjRjNjZjOTdmN2Y2MSAgQ1ZFLTIwMTYtODYyMC5wYXRjaA0KLTc2NDBl ODI4MmY3MWMwNmYwMDc5YzFhMTlkOWNmZjI1ICBDVkUtMjAxNi04NjIxLnBhdGNoDQotZGZiYzhm NDMwNmRiYWE0ZTYyMjBkOWM3ZGJhZjY5MWIgIENWRS0yMDE2LTg2MjIucGF0Y2gNCi1iN2VlZGJk YmEwNjlmOGEzYTZlZmFhZGRjZTFhMzhlZCAgQ1ZFLTIwMTYtODYyMy5wYXRjaA0KLWVmYzkyY2M5 ZGZlOTRmNzBiODNhYmEyZWQ4M2Q5NGI2ICBDVkUtMjAxNi04NjI0LWZpeGVkLnBhdGNoIg0KLXNo YTI1NnN1bXM9ImViNjNjZWM0YmVmNjkyZWFiOWRiNDU5MDMzZjQwOTUzM2U2ZDEwZTIwOTQyZjRi MDYwYjMyODE5ZTgxODg1ZjEgIGN1cmwtNy40OS4xLnRhci5iejINCi1kMzQ5OWFhZjMzMWZjYTIz MDM3NDliZGZmYmVkZjU2NzdhNTU1YTM3YWRhMTg3YzFhNzM0OTI2YzdjYjcxOGU1ICBDVkUtMjAx Ni01NDE5LnBhdGNoDQotMjNlMWZiZDI3ODYwYzZmNDZiZWMwOTRjMDZiNTYxOGRhMmFiNzFiMDkx OTQ1ZjU4N2MwZDdlOGQxNDM0NzJmNyAgQ1ZFLTIwMTYtNTQyMC5wYXRjaA0KLWJjYTc4NjY3YWM5 MTEwOTIwYzVjZTMxYzhkODJhNzg0ZmUzMjdlYjE4NDQ2MGMxYjg3ZmFiNGRlMDA0ZTY2OTIgIENW RS0yMDE2LTU0MjEucGF0Y2gNCi1mMDk3ZDZlNWM3NWViZGFmNTMyYWVmNTllMzE3OTBhNjU3ODE0 YmJiN2U1MDFkZmIyZWI2Njg2ZGRjYTRmMWViICBDVkUtMjAxNi03MTQxLnBhdGNoDQotZWVkYmQz YjFmMDQ0YmJjODg0MTQwYTc1ZTQwYmUwZjk3ZWEzZDBkZjZhN2JjNzk1OGRiN2NlMDE1NTY0MmZj ZCAgQ1ZFLTIwMTYtNzE2Ny5wYXRjaA0KLTY0OTZhYTY0ODJlYWFlOTE4N2U2YzAzZWEwNzE5N2Ew MmFlMzgyYzY4NGIwYWMwMGNmNmM1MGM5NmNiMTY1OTMgIENWRS0yMDE2LTg2MTUucGF0Y2gNCi0y YmMzNzMzZDA2YTY0N2FmZTAxNTEzMjE3YzA5NDMxNTJmY2UxZTgyNzBmOTdjNDE4Y2NkMmJhMGRk ZWE0ZjAxICBDVkUtMjAxNi04NjE2LnBhdGNoDQotMTg2MDY4NmQ0NDRmMzcxMGZjOWMzYjVhYWI2 NmJlZGVlOGJmNzc3NTE2YzkwNWJmNzMzYTNkMzQyYjMwMzRlMCAgQ1ZFLTIwMTYtODYxNy5wYXRj aA0KLWZmOTE4OThhOTM1YmM5Mjg0MDdjYWM0MjhiYjI2Y2ZhYzIwNzNlYzhhYmEyY2IzOGMwMDVj ZmMyZmVjOGZiZmMgIENWRS0yMDE2LTg2MTgucGF0Y2gNCi1kODlhZWZlNGU0ZGM1OTFiMWUyMzQx ZWU2M2IwOWQxODZiYjg1MjY4ZWU3YjMzMjJkMmM2YzYxMDBiODlmYzYxICBDVkUtMjAxNi04NjE5 LnBhdGNoDQotZGFlMjQzNzkyM2M3NzA4NWQzN2Q4OGFlNWVjZWQzODhlYjJjOTI0YzAyYzBjNGUw ZjhlNDRmOGM4ZjI5MTFkYiAgQ1ZFLTIwMTYtODYyMC5wYXRjaA0KLTA1YzAxNGIyNWYyNWNmZTY4 OWExY2U2ZDgyMzhlZjg5MDZmMGM2YWRmZTY0ODM3ZTViNzQ2OTFmMGE1ZGIyODcgIENWRS0yMDE2 LTg2MjEucGF0Y2gNCi01MTZhM2NlYTY5NTdjNDM1MTNhNGU1NTQyMWQ3OWRkZmEyNmJiYWYyYWRj YmI0MmQ3ZWMyNzFlYzU4Mzc3MGQ5ICBDVkUtMjAxNi04NjIyLnBhdGNoDQotZjY2NzY0ZjdhZGUx NDZmOGRmNTAxZDVhODBiZTc3NmQ3OTBiMWQ4ZDFlMmY4Nzc1ZDg5MjM0M2ZlODdhY2ZjMSAgQ1ZF LTIwMTYtODYyMy5wYXRjaA0KLWY1M2JmMmQ5ZDdkZGRjOGM2NzBkZGQ1MGFhNmRjZDMyYTlmNDVm ZmMxM2UxN2NkNDRkZjMxZTExMjdkOTQyYjIgIENWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2giDQot c2hhNTEyc3Vtcz0iNjY1ZWYxNzhjMjgyYzE0ZjQyOTQ5ODU0N2IzNzExZWY3OWZhZjg1ZjZkYjdm NGVjMjQyNTllMmM2MjQ3ZjZlZTIzNGRkYTE1OGViYzIwN2QwM2YwOGI1MTk4YzU4NDQ0ODBlMDU0 ZjI0ZjA1NGIyZGU2YzZhMTVkNGYxY2U2ZTYgIGN1cmwtNy40OS4xLnRhci5iejINCi1hNTk2ZTQ4 OWIwYjU2NmQ5ZGNjODI5MmNjZWM0ZDkwZGZiZWFlN2NiMTFlMjUwODcxMjE3ZmY5MGQxYzk1MjVk NjAyZjQwZTExMmViMGQ0N2EwYTU5N2U1NzY4YzEwNTQyM2QxY2IwY2IyODI1YzM5YTMxOWVhOWQ1 ODIyNjlkMCAgQ1ZFLTIwMTYtNTQxOS5wYXRjaA0KLTk1NzhmMTNjNWQ4ZTVhNWQxODRiNWIwOGRk N2Q1OWRlNTk2NjQ0MDg0ZjJkZTA0YzAyNWFkOGNkNzhlMTFkYWRjZmY0NWJmNGZhYjAyYjg5NDJk N2VkMTk5NzdkZWM0ZDIyMDg5M2Y2NzVkNjRlZDEzYjI3Mjg0ZDYzZGZhNWYxICBDVkUtMjAxNi01 NDIwLnBhdGNoDQotMmI1ZTc3ZGRhMTFkYmI3N2NiZmU3NjBkYTUzNzdjOTRhMTY2NGIwNGYyNTRj OWZhNjQyZjQ5ZGExMTlkOTMxMjNlZjZlZTI3ZTRjMDhkMGJhOTA5NDI0MDc5MWFjMDkyNzNjOGJl MjNmYThjYTU5ODJmOGVkMTRkNmIyOWFkN2UgIENWRS0yMDE2LTU0MjEucGF0Y2gNCi03ZWFlOGIz N2ZiOWJhOGRmYzBkNjY1OGIzNzE5MTU2MDY2ODkxNGE4NGFiYTQxMWNmZGFjMTU1YmQxNzQ5Yjk4 MDUxNDEyNGMwNjUzZTg1ODIzYThhMGU3NzBmNDdjY2MyYTQxNzc4MTBiMDJjZmM2NDFjOTBmMDA4 NjM5ODc5ZSAgQ1ZFLTIwMTYtNzE0MS5wYXRjaA0KLWM5NWQ1NzExZGIwODA4NGU2YTVjMjBlY2Qy YzhhYThhNDk0MjQwYTQ2Mzk0MDY5MmIxZDllM2E4MWNjYjg5OTg5NGMxYWM4Y2E2NWUzNWQ3ODM0 MzUyMzA1YmY4ODcyYzZlNDkwN2ZmNjk1ZTcyMTgyNGU4ZTdjMTE5MGYxODYzICBDVkUtMjAxNi03 MTY3LnBhdGNoDQotMDNmNDczODA1YmMzOTJjN2M4ZDEzMzZhYmI2OTgxNzE1OWVkMjg5MjIyMGRl ODFhZmFiMzZmOWQ3YzQ3OWJmNmYwMWE1YzVmOTBkOTNlNzA3NmRjMWNkODU1ZTExYzU5MWUzOTNi ZDNmMTI1YTY3MTIyMWNhZGUxNDU1YjYyZDEgIENWRS0yMDE2LTg2MTUucGF0Y2gNCi04NjU2Mjli Mjk2YjBjZWM1YmI3NzRjZjQ2ZDg2YjNlNjliMWMyMGYxMTc2ZmVlYzNjOTQ1YzU0ZmE3ZTExZjk0 NGI4NmRmMmE2NWU3MmZlZmI4YTc1ODU2ZDUxNDY0MDgxOGY2NDZhMzQ2YmY2ODA4MWRjZjVhMGIy ODNjMTRhYyAgQ1ZFLTIwMTYtODYxNi5wYXRjaA0KLWIwMjBjMjdlOWUyNzUyNTgwYzZhZjFhODkw Nzg1YmZjMTMwNzg2NWU3MGJkMDBhNzEzM2VlNDk1YjI3YTZiMTEyZTdlYzY3MGI4MjRjMzQyZDJj YzU2ZDZkNmFmYTAzODdlOTYzZDU5YTE4ZmNjM2Q3MjRmODVkMWY3YTllOTdkICBDVkUtMjAxNi04 NjE3LnBhdGNoDQotZWY3Yzc1NTIwNTdkNzA5NDI4MmZhMmViNDMwZjE0NmEyZTg0M2RjNzliMTNk ZWNiZjdiZDdmNDRjOWRkZDhiNWZjM2QwZTVhN2Y3NjQyZWFkYTA0ODM3M2MwODQ3ZWE2MWJmYzBm Mjg0ZWQ2Njk4MGVjMTVkMjRlNjM3YTE5NWIgIENWRS0yMDE2LTg2MTgucGF0Y2gNCi1jNDE0ZGE1 ZmZmZjQ2ZjZlYWU3MGNkZTkwYmVmN2E2OTFjMDkzNjRmYmIxMzQ3ZTQ1OWFjNjNhMmEzYTU0OWZl MjNlMWUxOTQ5MGYwNTViOTc2NjBlYTIzOGUyYjA4ZWQ4NzkzODI5NDQ3OTQ3NjlhZGE5ZDg5YmE1 MzI5NDQyOCAgQ1ZFLTIwMTYtODYxOS5wYXRjaA0KLTY4YjYzMTJmMDA2ZjVmZjNlN2ZmNDJiOTY2 OTNiYTVkNDg4ODlhMGNlZTQ4NWYzYjk3YTA1ZjliNDdiNDZiOTUwMjQ5MGUzZmVkYTUyNzkwMmIw ODBlOTA1ZTQ1YzRkNmI2ZDEyMmZiNmNjMzc1YmMyMWIzMGQwODZkODQxZTc2ICBDVkUtMjAxNi04 NjIwLnBhdGNoDQotN2M5MGExYjI2NjZhYTlhY2YwNTc0NGQzMGY0MzQyZWQwYThmNzI5Nzc4NmU3 ZWQ0NmQxNTI1N2UyZDgxMDI5NjY5ODI4MWJlNmE3NmY5NDZhZDM5MzY4YTY2MzM4Y2I1MzE3NjUx MDE0ZDYwMjk2YmIyMTQ1OTY3ZTEzOTZhNDYgIENWRS0yMDE2LTg2MjEucGF0Y2gNCi04NTFjZTg4 NmYyY2ZmZWM1MGE0MzgzZDlhYjhiNzUzMjA0YWM2NGVmN2I3YmI0N2Y5ZGQ0OTE0ZGFhZjFiNmQ1 ZDhhZTRiYmRkYWFmMWU0OGEzMjNmZDBlZWZmNDBhMjY0Mjk5NjM5MTI5ZWM3NTVkYmE4ZDA0Mzgy YTUwZTBlNSAgQ1ZFLTIwMTYtODYyMi5wYXRjaA0KLTc4MmYzMWI5MmE1NjgwN2UyMzJhMTIzMjhj NWRkZjliOTU4NzExN2UyNWY3MzBjNDQwZjZmYTQwYzcyNTAxY2RkNDFiNjFmMzY3MzE0YjNiMmRl NDRiMzk0NjA1ZjRhNjc2M2RiZTg0YTNjMmYwYjVkYmYxY2NiYzg4MmUzOTUyICBDVkUtMjAxNi04 NjIzLnBhdGNoDQotYzFiNWViY2UxM2U5ZWE3ZGE2MTFmNWVlZTQzYmYzY2YyODAzNGRkMGUwMDg3 NzQ5NGMwNDQ1OWRkMjRmM2I1NmU4NTAxNDcwYmIwNmYyMTBhZmRhODZlNTdjOWZmYmU2MWJjOWNk ZWI5Yzg2NTljYjQ0MTViN2Y3MTVmNmFhYzcgIENWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2giDQor bWQ1c3Vtcz0iZGQwMTRkZjA2ZmYxZDEyZTE3M2RlODY4NzNmOWY3N2EgIGN1cmwtNy41Mi4xLnRh ci5iejIiDQorc2hhMjU2c3Vtcz0iZDE2MTg1YTc2N2NiMmMxYmEzZDViOTA5NmVjNTRlNWVjMTk4 YjIxM2Y0NTg2NGEzOGIzYmRhNGJiZjg3Mzg5YiAgY3VybC03LjUyLjEudGFyLmJ6MiINCitzaGE1 MTJzdW1zPSJjZjM2NTYzYzc3ZDA5NmYyYzYwODQzNTRlZDZkNDVjY2NhN2M1NTc4MjhjZWFiMjEy MDRlNGU4YmUwZDRmMGQyODc4MzljOGNmYWM5MDYxNzRiODZkNTFhMWVlODE2YzI3NjlmYzc4ZWY4 OGYwMzljOTY0NWJkMmMyNzk4MmE3NSAgY3VybC03LjUyLjEudGFyLmJ6MiINCmRpZmYgLS1naXQg YS9tYWluL2N1cmwvQ1ZFLTIwMTYtNTQxOS5wYXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi01NDE5 LnBhdGNoDQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDRlYjc0ZGQuLjAwMDAwMDAN Ci0tLSBhL21haW4vY3VybC9DVkUtMjAxNi01NDE5LnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAt MSw4NSArMCwwIEBADQotRnJvbSA0MTZhZDkwYWZjNTBkOWNiY2I1MGJhNGFiMjhmODhkMjYwNzc0 ZjZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IERhbmllbCBTdGVuYmVyZyA8ZGFu aWVsQGhheHguc2U+DQotRGF0ZTogRnJpLCAxIEp1bCAyMDE2IDEzOjMyOjMxICswMjAwDQotU3Vi amVjdDogW1BBVENIXSBUTFM6IHN3aXRjaCBvZmYgU1NMIHNlc3Npb24gaWQgd2hlbiBjbGllbnQg Y2VydCBpcyB1c2VkDQotDQotQ1ZFLTIwMTYtNTQxOQ0KLUJ1ZzogaHR0cHM6Ly9jdXJsLmhheHgu c2UvZG9jcy9hZHZfMjAxNjA4MDNBLmh0bWwNCi1SZXBvcnRlZC1ieTogQnJ1IFJvbQ0KLUNvbnRy aWJ1dGlvbnMtYnk6IEVyaWMgUmVzY29ybGEgYW5kIFJheSBTYXRpcm8NCi0tLS0NCi0gbGliL3Vy bC5jICAgICAgIHwgIDEgKw0KLSBsaWIvdXJsZGF0YS5oICAgfCAgMSArDQotIGxpYi92dGxzL3Z0 bHMuYyB8IDEwICsrKysrKysrKysNCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCsp DQotDQotZGlmZiAtLWdpdCBhL2xpYi91cmwuYyBiL2xpYi91cmwuYw0KLWluZGV4IDI1OGEyODYu LmU1NDdlNWMgMTAwNjQ0DQotLS0tIGEvbGliL3VybC5jDQotKysrIGIvbGliL3VybC5jDQotQEAg LTYxMjEsMTAgKzYxMjEsMTEgQEAgc3RhdGljIENVUkxjb2RlIGNyZWF0ZV9jb25uKHN0cnVjdCBD dXJsX2Vhc3kgKmRhdGEsDQotICAgZGF0YS0+c2V0LnNzbC5DUkxmaWxlID0gZGF0YS0+c2V0LnN0 cltTVFJJTkdfU1NMX0NSTEZJTEVdOw0KLSAgIGRhdGEtPnNldC5zc2wuaXNzdWVyY2VydCA9IGRh dGEtPnNldC5zdHJbU1RSSU5HX1NTTF9JU1NVRVJDRVJUXTsNCi0gICBkYXRhLT5zZXQuc3NsLnJh bmRvbV9maWxlID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfU1NMX1JBTkRPTV9GSUxFXTsNCi0gICBk YXRhLT5zZXQuc3NsLmVnZHNvY2tldCA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX1NTTF9FR0RTT0NL RVRdOw0KLSAgIGRhdGEtPnNldC5zc2wuY2lwaGVyX2xpc3QgPSBkYXRhLT5zZXQuc3RyW1NUUklO R19TU0xfQ0lQSEVSX0xJU1RdOw0KLSsgIGRhdGEtPnNldC5zc2wuY2xpZW50Y2VydCA9IGRhdGEt PnNldC5zdHJbU1RSSU5HX0NFUlRdOw0KLSAjaWZkZWYgVVNFX1RMU19TUlANCi0gICBkYXRhLT5z ZXQuc3NsLnVzZXJuYW1lID0gZGF0YS0+c2V0LnN0cltTVFJJTkdfVExTQVVUSF9VU0VSTkFNRV07 DQotICAgZGF0YS0+c2V0LnNzbC5wYXNzd29yZCA9IGRhdGEtPnNldC5zdHJbU1RSSU5HX1RMU0FV VEhfUEFTU1dPUkRdOw0KLSAjZW5kaWYNCi0gDQotZGlmZiAtLWdpdCBhL2xpYi91cmxkYXRhLmgg Yi9saWIvdXJsZGF0YS5oDQotaW5kZXggNjExYzVhNy4uM2NmN2VkOSAxMDA2NDQNCi0tLS0gYS9s aWIvdXJsZGF0YS5oDQotKysrIGIvbGliL3VybGRhdGEuaA0KLUBAIC0zNDksMTAgKzM0OSwxMSBA QCBzdHJ1Y3Qgc3NsX2NvbmZpZ19kYXRhIHsNCi0gICBib29sIHZlcmlmeXN0YXR1czsgICAgIC8q IHNldCBUUlVFIGlmIGNlcnRpZmljYXRlIHN0YXR1cyBtdXN0IGJlIGNoZWNrZWQgKi8NCi0gICBj aGFyICpDQXBhdGg7ICAgICAgICAgIC8qIGNlcnRpZmljYXRlIGRpciAoZG9lc24ndCB3b3JrIG9u IHdpbmRvd3MpICovDQotICAgY2hhciAqQ0FmaWxlOyAgICAgICAgICAvKiBjZXJ0aWZpY2F0ZSB0 byB2ZXJpZnkgcGVlciBhZ2FpbnN0ICovDQotICAgY29uc3QgY2hhciAqQ1JMZmlsZTsgICAvKiBD UkwgdG8gY2hlY2sgY2VydGlmaWNhdGUgcmV2b2NhdGlvbiAqLw0KLSAgIGNvbnN0IGNoYXIgKmlz c3VlcmNlcnQ7Lyogb3B0aW9uYWwgaXNzdWVyIGNlcnRpZmljYXRlIGZpbGVuYW1lICovDQotKyAg Y2hhciAqY2xpZW50Y2VydDsNCi0gICBjaGFyICpyYW5kb21fZmlsZTsgICAgIC8qIHBhdGggdG8g ZmlsZSBjb250YWluaW5nICJyYW5kb20iIGRhdGEgKi8NCi0gICBjaGFyICplZ2Rzb2NrZXQ7ICAg ICAgIC8qIHBhdGggdG8gZmlsZSBjb250YWluaW5nIHRoZSBFR0QgZGFlbW9uIHNvY2tldCAqLw0K LSAgIGNoYXIgKmNpcGhlcl9saXN0OyAgICAgLyogbGlzdCBvZiBjaXBoZXJzIHRvIHVzZSAqLw0K LSAgIHNpemVfdCBtYXhfc3NsX3Nlc3Npb25zOyAvKiBTU0wgc2Vzc2lvbiBpZCBjYWNoZSBzaXpl ICovDQotICAgY3VybF9zc2xfY3R4X2NhbGxiYWNrIGZzc2xjdHg7IC8qIGZ1bmN0aW9uIHRvIGlu aXRpYWxpemUgc3NsIGN0eCAqLw0KLWRpZmYgLS1naXQgYS9saWIvdnRscy92dGxzLmMgYi9saWIv dnRscy92dGxzLmMNCi1pbmRleCBkM2U0MWNkLi4zM2UyMDlkIDEwMDY0NA0KLS0tLSBhL2xpYi92 dGxzL3Z0bHMuYw0KLSsrKyBiL2xpYi92dGxzL3Z0bHMuYw0KLUBAIC0xNTQsMjAgKzE1NCwzMCBA QCBDdXJsX2Nsb25lX3NzbF9jb25maWcoc3RydWN0IHNzbF9jb25maWdfZGF0YSAqc291cmNlLA0K LSAgICAgICByZXR1cm4gRkFMU0U7DQotICAgfQ0KLSAgIGVsc2UNCi0gICAgIGRlc3QtPnJhbmRv bV9maWxlID0gTlVMTDsNCi0gDQotKyAgaWYoc291cmNlLT5jbGllbnRjZXJ0KSB7DQotKyAgICBk ZXN0LT5jbGllbnRjZXJ0ID0gc3RyZHVwKHNvdXJjZS0+Y2xpZW50Y2VydCk7DQotKyAgICBpZigh ZGVzdC0+Y2xpZW50Y2VydCkNCi0rICAgICAgcmV0dXJuIEZBTFNFOw0KLSsgICAgZGVzdC0+c2Vz c2lvbmlkID0gRkFMU0U7DQotKyAgfQ0KLSsgIGVsc2UNCi0rICAgIGRlc3QtPmNsaWVudGNlcnQg PSBOVUxMOw0KLSsNCi0gICByZXR1cm4gVFJVRTsNCi0gfQ0KLSANCi0gdm9pZCBDdXJsX2ZyZWVf c3NsX2NvbmZpZyhzdHJ1Y3Qgc3NsX2NvbmZpZ19kYXRhKiBzc2xjKQ0KLSB7DQotICAgQ3VybF9z YWZlZnJlZShzc2xjLT5DQWZpbGUpOw0KLSAgIEN1cmxfc2FmZWZyZWUoc3NsYy0+Q0FwYXRoKTsN Ci0gICBDdXJsX3NhZmVmcmVlKHNzbGMtPmNpcGhlcl9saXN0KTsNCi0gICBDdXJsX3NhZmVmcmVl KHNzbGMtPmVnZHNvY2tldCk7DQotICAgQ3VybF9zYWZlZnJlZShzc2xjLT5yYW5kb21fZmlsZSk7 DQotKyAgQ3VybF9zYWZlZnJlZShzc2xjLT5jbGllbnRjZXJ0KTsNCi0gfQ0KLSANCi0gDQotIC8q DQotICAqIEN1cmxfcmFuZCgpIHJldHVybnMgYSByYW5kb20gdW5zaWduZWQgaW50ZWdlciwgMzJi aXQuDQotLS0gDQotMi44LjENCi0NCmRpZmYgLS1naXQgYS9tYWluL2N1cmwvQ1ZFLTIwMTYtNTQy MC5wYXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi01NDIwLnBhdGNoDQpkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQNCmluZGV4IGU5MWI5YzcuLjAwMDAwMDANCi0tLSBhL21haW4vY3VybC9DVkUtMjAx Ni01NDIwLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSwzMCArMCwwIEBADQotRnJvbSBmNjQ3 NGZmM2JmYjM4YzI4YjcwYjViYTAxMDQ4ZWRjNDFmNjU0Mzc2IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQ0KLUZyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+DQotRGF0ZTogU3Vu LCAzMSBKdWwgMjAxNiAwMDo1MTo0OCArMDIwMA0KLVN1YmplY3Q6IFtQQVRDSF0gVExTOiBvbmx5 IHJldXNlIGNvbm5lY3Rpb25zIHdpdGggdGhlIHNhbWUgY2xpZW50IGNlcnQNCi0NCi1DVkUtMjAx Ni01NDIwDQotQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MDgwM0IuaHRt bA0KLS0tLQ0KLSBsaWIvdnRscy92dGxzLmMgfCAxICsNCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspDQotDQotZGlmZiAtLWdpdCBhL2xpYi92dGxzL3Z0bHMuYyBiL2xpYi92dGxzL3Z0 bHMuYw0KLWluZGV4IDMzZTIwOWQuLjM4NjM3NzcgMTAwNjQ0DQotLS0tIGEvbGliL3Z0bHMvdnRs cy5jDQotKysrIGIvbGliL3Z0bHMvdnRscy5jDQotQEAgLTk3LDEwICs5NywxMSBAQCBDdXJsX3Nz bF9jb25maWdfbWF0Y2hlcyhzdHJ1Y3Qgc3NsX2NvbmZpZ19kYXRhKiBkYXRhLA0KLSAgIGlmKChk YXRhLT52ZXJzaW9uID09IG5lZWRsZS0+dmVyc2lvbikgJiYNCi0gICAgICAoZGF0YS0+dmVyaWZ5 cGVlciA9PSBuZWVkbGUtPnZlcmlmeXBlZXIpICYmDQotICAgICAgKGRhdGEtPnZlcmlmeWhvc3Qg PT0gbmVlZGxlLT52ZXJpZnlob3N0KSAmJg0KLSAgICAgIHNhZmVfc3RyZXF1YWwoZGF0YS0+Q0Fw YXRoLCBuZWVkbGUtPkNBcGF0aCkgJiYNCi0gICAgICBzYWZlX3N0cmVxdWFsKGRhdGEtPkNBZmls ZSwgbmVlZGxlLT5DQWZpbGUpICYmDQotKyAgICAgc2FmZV9zdHJlcXVhbChkYXRhLT5jbGllbnRj ZXJ0LCBuZWVkbGUtPmNsaWVudGNlcnQpICYmDQotICAgICAgc2FmZV9zdHJlcXVhbChkYXRhLT5y YW5kb21fZmlsZSwgbmVlZGxlLT5yYW5kb21fZmlsZSkgJiYNCi0gICAgICBzYWZlX3N0cmVxdWFs KGRhdGEtPmVnZHNvY2tldCwgbmVlZGxlLT5lZ2Rzb2NrZXQpICYmDQotICAgICAgc2FmZV9zdHJl cXVhbChkYXRhLT5jaXBoZXJfbGlzdCwgbmVlZGxlLT5jaXBoZXJfbGlzdCkpDQotICAgICByZXR1 cm4gVFJVRTsNCi0gDQotLS0gDQotMi44LjENCi0NCmRpZmYgLS1naXQgYS9tYWluL2N1cmwvQ1ZF LTIwMTYtNTQyMS5wYXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi01NDIxLnBhdGNoDQpkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDRmNTk0OTUuLjAwMDAwMDANCi0tLSBhL21haW4vY3Vy bC9DVkUtMjAxNi01NDIxLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSwzNSArMCwwIEBADQot RnJvbSBjY2I3ZDc5YjYyYzhiMTVhNmJlNDQ2ZjljOWZkMzc2N2MwMWViNWI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KLUZyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+DQot RGF0ZTogU3VuLCAzMSBKdWwgMjAxNiAwMTowOTowNCArMDIwMA0KLVN1YmplY3Q6IFtQQVRDSF0g Y3VybF9tdWx0aV9jbGVhbnVwOiBjbGVhciBjb25uZWN0aW9uIHBvaW50ZXIgZm9yIGVhc3kgaGFu ZGxlcw0KLU1JTUUtVmVyc2lvbjogMS4wDQotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04DQotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KLQ0KLUNWRS0yMDE2 LTU0MjENCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2XzIwMTYwODAzQy5odG1s DQotUmVwb3J0ZWQtYnk6IE1hcmNlbG8gRWNoZXZlcnJpYSBhbmQgRmVybmFuZG8gTXXDsW96DQot LS0tDQotIGxpYi9tdWx0aS5jIHwgMiArKw0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspDQotDQotZGlmZiAtLWdpdCBhL2xpYi9tdWx0aS5jIGIvbGliL211bHRpLmMNCi1pbmRleCA5 ZWUzNTIzLi44YmI5MzY2IDEwMDY0NA0KLS0tLSBhL2xpYi9tdWx0aS5jDQotKysrIGIvbGliL211 bHRpLmMNCi1AQCAtMjE1NSwxMCArMjE1NSwxMiBAQCBzdGF0aWMgdm9pZCBjbG9zZV9hbGxfY29u bmVjdGlvbnMoc3RydWN0IEN1cmxfbXVsdGkgKm11bHRpKQ0KLSAgIHdoaWxlKGNvbm4pIHsNCi0g ICAgIFNJR1BJUEVfVkFSSUFCTEUocGlwZV9zdCk7DQotICAgICBjb25uLT5kYXRhID0gbXVsdGkt PmNsb3N1cmVfaGFuZGxlOw0KLSANCi0gICAgIHNpZ3BpcGVfaWdub3JlKGNvbm4tPmRhdGEsICZw aXBlX3N0KTsNCi0rICAgIGNvbm4tPmRhdGEtPmVhc3lfY29ubiA9IE5VTEw7IC8qIGNsZWFyIHRo ZSBlYXN5IGhhbmRsZSdzIGNvbm5lY3Rpb24NCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBvaW50ZXIgKi8NCi0gICAgIC8qIFRoaXMgd2lsbCByZW1vdmUgdGhlIGNvbm5l Y3Rpb24gZnJvbSB0aGUgY2FjaGUgKi8NCi0gICAgICh2b2lkKUN1cmxfZGlzY29ubmVjdChjb25u LCBGQUxTRSk7DQotICAgICBzaWdwaXBlX3Jlc3RvcmUoJnBpcGVfc3QpOw0KLSANCi0gICAgIGNv bm4gPSBDdXJsX2Nvbm5jYWNoZV9maW5kX2ZpcnN0X2Nvbm5lY3Rpb24oJm11bHRpLT5jb25uX2Nh Y2hlKTsNCi0tLSANCi0yLjguMQ0KLQ0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9DVkUtMjAxNi03 MTQxLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTcxNDEucGF0Y2gNCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggZGFiMmNjNC4uMDAwMDAwMA0KLS0tIGEvbWFpbi9jdXJsL0NWRS0y MDE2LTcxNDEucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDQyICswLDAgQEANCi1Gcm9tIDc3 MDBmY2JhNjRiZjU4MDZkZTI4ZjZjMWM3ZGEzYjRmMGIzODU2N2QgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxDQotRnJvbTogS2FtaWwgRHVka2EgPGtkdWRrYUByZWRoYXQuY29tPg0KLURhdGU6IE1v biwgMjIgQXVnIDIwMTYgMTA6MjQ6MzUgKzAyMDANCi1TdWJqZWN0OiBbUEFUQ0hdIG5zczogcmVm dXNlIHByZXZpb3VzbHkgbG9hZGVkIGNlcnRpZmljYXRlIGZyb20gZmlsZQ0KLQ0KLS4uLiB3aGVu IHdlIGFyZSBub3QgYXNrZWQgdG8gdXNlIGEgY2VydGlmaWNhdGUgZnJvbSBmaWxlDQotLS0tDQot IGxpYi92dGxzL25zcy5jIHwgOCArKysrKysrLQ0KLSAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pDQotDQotZGlmZiAtLWdpdCBhL2xpYi92dGxzL25zcy5jIGIv bGliL3Z0bHMvbnNzLmMNCi1pbmRleCAyMGM0Mjc3Li5jZmIyMjYzIDEwMDY0NA0KLS0tLSBhL2xp Yi92dGxzL25zcy5jDQotKysrIGIvbGliL3Z0bHMvbnNzLmMNCi1AQCAtMTAwMiwxMCArMTAwMiwx MCBAQCBzdGF0aWMgU0VDU3RhdHVzIFNlbGVjdENsaWVudENlcnQodm9pZCAqYXJnLCBQUkZpbGVE ZXNjICpzb2NrLA0KLSAgIHN0cnVjdCBzc2xfY29ubmVjdF9kYXRhICpjb25uc3NsID0gKHN0cnVj dCBzc2xfY29ubmVjdF9kYXRhICopYXJnOw0KLSAgIHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEgPSBj b25uc3NsLT5kYXRhOw0KLSAgIGNvbnN0IGNoYXIgKm5pY2tuYW1lID0gY29ubnNzbC0+Y2xpZW50 X25pY2tuYW1lOw0KLSsgIHN0YXRpYyBjb25zdCBjaGFyIHBlbV9zbG90bmFtZVtdID0gIlBFTSBU b2tlbiAjMSI7DQotIA0KLSAgIGlmKGNvbm5zc2wtPm9ial9jbGljZXJ0KSB7DQotICAgICAvKiB1 c2UgdGhlIGNlcnQva2V5IHByb3ZpZGVkIGJ5IFBFTSByZWFkZXIgKi8NCi0tICAgIHN0YXRpYyBj b25zdCBjaGFyIHBlbV9zbG90bmFtZVtdID0gIlBFTSBUb2tlbiAjMSI7DQotICAgICBTRUNJdGVt IGNlcnRfZGVyID0geyAwLCBOVUxMLCAwIH07DQotICAgICB2b2lkICpwcm90b193aW4gPSBTU0xf UmV2ZWFsUGluQXJnKHNvY2spOw0KLSAgICAgc3RydWN0IENFUlRDZXJ0aWZpY2F0ZVN0ciAqY2Vy dDsNCi1AQCAtMTA2Nyw2ICsxMDY3LDEyIEBAIHN0YXRpYyBTRUNTdGF0dXMgU2VsZWN0Q2xpZW50 Q2VydCh2b2lkICphcmcsIFBSRmlsZURlc2MgKnNvY2ssDQotICAgaWYoTlVMTCA9PSBuaWNrbmFt ZSkNCi0gICAgIG5pY2tuYW1lID0gIlt1bmtub3duXSI7DQotIA0KLSsgIGlmKCFzdHJuY21wKG5p Y2tuYW1lLCBwZW1fc2xvdG5hbWUsIHNpemVvZihwZW1fc2xvdG5hbWUpIC0gMVUpKSB7DQotKyAg ICBmYWlsZihkYXRhLCAiTlNTOiByZWZ1c2luZyBwcmV2aW91c2x5IGxvYWRlZCBjZXJ0aWZpY2F0 ZSBmcm9tIGZpbGU6ICVzIiwNCi0rICAgICAgICAgIG5pY2tuYW1lKTsNCi0rICAgIHJldHVybiBT RUNGYWlsdXJlOw0KLSsgIH0NCi0rDQotICAgaWYoTlVMTCA9PSAqcFJldEtleSkgew0KLSAgICAg ZmFpbGYoZGF0YSwgIk5TUzogcHJpdmF0ZSBrZXkgbm90IGZvdW5kIGZvciBjZXJ0aWZpY2F0ZTog JXMiLCBuaWNrbmFtZSk7DQotICAgICByZXR1cm4gU0VDRmFpbHVyZTsNCi0tLSANCi0yLjcuNA0K LQ0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9DVkUtMjAxNi03MTY3LnBhdGNoIGIvbWFpbi9jdXJs L0NWRS0yMDE2LTcxNjcucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggM2U2 ZTQ1NC4uMDAwMDAwMA0KLS0tIGEvbWFpbi9jdXJsL0NWRS0yMDE2LTcxNjcucGF0Y2gNCisrKyAv ZGV2L251bGwNCkBAIC0xLDUzICswLDAgQEANCi1kaWZmIC0tZ2l0IGEvbGliL2VzY2FwZS5jIGIv bGliL2VzY2FwZS5jDQotaW5kZXggMmM2YTdmNi4uNWFlNGIxOCAxMDA2NDQNCi0tLS0gYS9saWIv ZXNjYXBlLmMNCi0rKysgYi9saWIvZXNjYXBlLmMNCi1AQCAtNzcsMTUgKzc3LDIxIEBAIGNoYXIg KmN1cmxfdW5lc2NhcGUoY29uc3QgY2hhciAqc3RyaW5nLCBpbnQgbGVuZ3RoKQ0KLSANCi0gY2hh ciAqY3VybF9lYXN5X2VzY2FwZShDVVJMICpoYW5kbGUsIGNvbnN0IGNoYXIgKnN0cmluZywgaW50 IGlubGVuZ3RoKQ0KLSB7DQotLSAgc2l6ZV90IGFsbG9jID0gKGlubGVuZ3RoPyhzaXplX3QpaW5s ZW5ndGg6c3RybGVuKHN0cmluZykpKzE7DQotKyAgc2l6ZV90IGFsbG9jOw0KLSAgIGNoYXIgKm5z Ow0KLSAgIGNoYXIgKnRlc3RpbmdfcHRyID0gTlVMTDsNCi0gICB1bnNpZ25lZCBjaGFyIGluOyAv KiB3ZSBuZWVkIHRvIHRyZWF0IHRoZSBjaGFyYWN0ZXJzIHVuc2lnbmVkICovDQotLSAgc2l6ZV90 IG5ld2xlbiA9IGFsbG9jOw0KLSsgIHNpemVfdCBuZXdsZW47DQotICAgc2l6ZV90IHN0cmluZGV4 PTA7DQotICAgc2l6ZV90IGxlbmd0aDsNCi0gICBDVVJMY29kZSByZXN1bHQ7DQotIA0KLSsgIGlm KGlubGVuZ3RoIDwgMCkNCi0rICAgIHJldHVybiBOVUxMOw0KLSsNCi0rICBhbGxvYyA9IChpbmxl bmd0aD8oc2l6ZV90KWlubGVuZ3RoOnN0cmxlbihzdHJpbmcpKSsxOw0KLSsgIG5ld2xlbiA9IGFs bG9jOw0KLSsNCi0gICBucyA9IG1hbGxvYyhhbGxvYyk7DQotICAgaWYoIW5zKQ0KLSAgICAgcmV0 dXJuIE5VTEw7DQotQEAgLTIxMCwxNCArMjE2LDE2IEBAIGNoYXIgKmN1cmxfZWFzeV91bmVzY2Fw ZShDVVJMICpoYW5kbGUsIGNvbnN0IGNoYXIgKnN0cmluZywgaW50IGxlbmd0aCwNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgIGludCAqb2xlbikNCi0gew0KLSAgIGNoYXIgKnN0ciA9IE5VTEw7 DQotLSAgc2l6ZV90IGlucHV0bGVuID0gbGVuZ3RoOw0KLS0gIHNpemVfdCBvdXRwdXRsZW47DQot LSAgQ1VSTGNvZGUgcmVzID0gQ3VybF91cmxkZWNvZGUoaGFuZGxlLCBzdHJpbmcsIGlucHV0bGVu LCAmc3RyLCAmb3V0cHV0bGVuLA0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZB TFNFKTsNCi0tICBpZihyZXMpDQotLSAgICByZXR1cm4gTlVMTDsNCi0tICBpZihvbGVuKQ0KLS0g ICAgKm9sZW4gPSBjdXJseF91enRvc2kob3V0cHV0bGVuKTsNCi0rICBpZihsZW5ndGggPj0gMCkg ew0KLSsgICAgc2l6ZV90IGlucHV0bGVuID0gbGVuZ3RoOw0KLSsgICAgc2l6ZV90IG91dHB1dGxl bjsNCi0rICAgIENVUkxjb2RlIHJlcyA9IEN1cmxfdXJsZGVjb2RlKGhhbmRsZSwgc3RyaW5nLCBp bnB1dGxlbiwgJnN0ciwgJm91dHB1dGxlbiwNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZBTFNFKTsNCi0rICAgIGlmKHJlcykNCi0rICAgICAgcmV0dXJuIE5VTEw7DQotKyAg ICBpZihvbGVuKQ0KLSsgICAgICAqb2xlbiA9IGN1cmx4X3V6dG9zaShvdXRwdXRsZW4pOw0KLSsg IH0NCi0gICByZXR1cm4gc3RyOw0KLSB9DQotIA0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9DVkUt MjAxNi04NjE1LnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTUucGF0Y2gNCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggZDFmZGEzNS4uMDAwMDAwMA0KLS0tIGEvbWFpbi9jdXJs L0NWRS0yMDE2LTg2MTUucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDc1ICswLDAgQEANCi1G cm9tIDE2MjBmNTUyYTI3N2VkNWIyM2E0OGI5YzI3ZGJmMDc2NjNjYWMwNjggTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxDQotRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4NCi1E YXRlOiBUdWUsIDI3IFNlcCAyMDE2IDE3OjM2OjE5ICswMjAwDQotU3ViamVjdDogW1BBVENIXSBj b29raWU6IHJlcGxhY2UgdXNlIG9mIGZnZXRzKCkgd2l0aCBjdXN0b20gdmVyc2lvbg0KLQ0KLS4u LiB0aGF0IHdpbGwgaWdub3JlIGxpbmVzIHRoYXQgYXJlIHRvbyBsb25nIHRvIGZpdCBpbiB0aGUg YnVmZmVyLg0KLQ0KLUNWRS0yMDE2LTg2MTUNCi0NCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNl L2RvY3MvYWR2XzIwMTYxMTAyQS5odG1sDQotUmVwb3J0ZWQtYnk6IEN1cmU1Mw0KLS0tLQ0KLSBs aWIvY29va2llLmMgfCAzMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystDQotIDEgZmls ZSBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQotDQotZGlmZiAtLWdp dCBhL2xpYi9jb29raWUuYyBiL2xpYi9jb29raWUuYw0KLWluZGV4IDBmMDVkYTIuLmU1MDk3ZDMg MTAwNjQ0DQotLS0tIGEvbGliL2Nvb2tpZS5jDQotKysrIGIvbGliL2Nvb2tpZS5jDQotQEAgLTkw MSwxMCArOTAxLDM5IEBAIEN1cmxfY29va2llX2FkZChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLA0K LSAgIH0NCi0gDQotICAgcmV0dXJuIGNvOw0KLSB9DQotIA0KLSsvKg0KLSsgKiBnZXRfbGluZSgp IG1ha2VzIHN1cmUgdG8gb25seSByZXR1cm4gY29tcGxldGUgd2hvbGUgbGluZXMgdGhhdCBmaXQg aW4gJ2xlbicNCi0rICogYnl0ZXMgYW5kIGVuZCB3aXRoIGEgbmV3bGluZS4NCi0rICovDQotK3N0 YXRpYyBjaGFyICpnZXRfbGluZShjaGFyICpidWYsIGludCBsZW4sIEZJTEUgKmlucHV0KQ0KLSt7 DQotKyAgYm9vbCBwYXJ0aWFsID0gRkFMU0U7DQotKyAgd2hpbGUoMSkgew0KLSsgICAgY2hhciAq YiA9IGZnZXRzKGJ1ZiwgbGVuLCBpbnB1dCk7DQotKyAgICBpZihiKSB7DQotKyAgICAgIHNpemVf dCBybGVuID0gc3RybGVuKGIpOw0KLSsgICAgICBpZihybGVuICYmIChiW3JsZW4tMV0gPT0gJ1xu JykpIHsNCi0rICAgICAgICBpZihwYXJ0aWFsKSB7DQotKyAgICAgICAgICBwYXJ0aWFsID0gRkFM U0U7DQotKyAgICAgICAgICBjb250aW51ZTsNCi0rICAgICAgICB9DQotKyAgICAgICAgcmV0dXJu IGI7DQotKyAgICAgIH0NCi0rICAgICAgZWxzZQ0KLSsgICAgICAgIC8qIHJlYWQgYSBwYXJ0aWFs LCBkaXNjYXJkIHRoZSBuZXh0IHBpZWNlIHRoYXQgZW5kcyB3aXRoIG5ld2xpbmUgKi8NCi0rICAg ICAgICBwYXJ0aWFsID0gVFJVRTsNCi0rICAgIH0NCi0rICAgIGVsc2UNCi0rICAgICAgYnJlYWs7 DQotKyAgfQ0KLSsgIHJldHVybiBOVUxMOw0KLSt9DQotKw0KLSsNCi0gLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqDQotICAqDQotICAqIEN1cmxfY29va2llX2luaXQoKQ0KLSAgKg0KLSAgKiBJbml0cyBh IGNvb2tpZSBzdHJ1Y3QgdG8gcmVhZCBkYXRhIGZyb20gYSBsb2NhbCBmaWxlLiBUaGlzIGlzIGFs d2F5cw0KLUBAIC05NTcsMTEgKzk4NiwxMSBAQCBzdHJ1Y3QgQ29va2llSW5mbyAqQ3VybF9jb29r aWVfaW5pdChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLA0KLSAgICAgYm9vbCBoZWFkZXJsaW5lOw0K LSANCi0gICAgIGxpbmUgPSBtYWxsb2MoTUFYX0NPT0tJRV9MSU5FKTsNCi0gICAgIGlmKCFsaW5l KQ0KLSAgICAgICBnb3RvIGZhaWw7DQotLSAgICB3aGlsZShmZ2V0cyhsaW5lLCBNQVhfQ09PS0lF X0xJTkUsIGZwKSkgew0KLSsgICAgd2hpbGUoZ2V0X2xpbmUobGluZSwgTUFYX0NPT0tJRV9MSU5F LCBmcCkpIHsNCi0gICAgICAgaWYoY2hlY2twcmVmaXgoIlNldC1Db29raWU6IiwgbGluZSkpIHsN Ci0gICAgICAgICAvKiBUaGlzIGlzIGEgY29va2llIGxpbmUsIGdldCBpdCEgKi8NCi0gICAgICAg ICBsaW5lcHRyPSZsaW5lWzExXTsNCi0gICAgICAgICBoZWFkZXJsaW5lPVRSVUU7DQotICAgICAg IH0NCi0tLSANCi0yLjkuMw0KLQ0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9DVkUtMjAxNi04NjE2 LnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTYucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggNjczMDliZi4uMDAwMDAwMA0KLS0tIGEvbWFpbi9jdXJsL0NWRS0yMDE2 LTg2MTYucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDY2ICswLDAgQEANCi1Gcm9tIGNlZjUx MGJlYjIyMmFiNTc1MGFmY2FjMmM3NGZjYmNkYzMxYWRhNjQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxDQotRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4NCi1EYXRlOiBUdWUs IDI3IFNlcCAyMDE2IDE4OjAxOjUzICswMjAwDQotU3ViamVjdDogW1BBVENIXSBjb25uZWN0aW9u ZXhpc3RzOiB1c2UgY2FzZSBzZW5zaXRpdmUgdXNlci9wYXNzd29yZA0KLSBjb21wYXJpc29ucw0K LQ0KLUNWRS0yMDE2LTg2MTYNCi0NCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2 XzIwMTYxMTAyQi5odG1sDQotUmVwb3J0ZWQtYnk6IEN1cmU1Mw0KLS0tLQ0KLSBsaWIvdXJsLmMg fCAxMiArKysrKystLS0tLS0NCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBk ZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0IGEvbGliL3VybC5jIGIvbGliL3VybC5jDQotaW5k ZXggOTFiMmJmOC4uY2QzMzM1YyAxMDA2NDQNCi0tLS0gYS9saWIvdXJsLmMNCi0rKysgYi9saWIv dXJsLmMNCi1AQCAtMzQwMSwxMiArMzQwMSwxMiBAQCBDb25uZWN0aW9uRXhpc3RzKHN0cnVjdCBD dXJsX2Vhc3kgKmRhdGEsDQotICAgICAgIH0NCi0gDQotICAgICAgIGlmKCEobmVlZGxlLT5oYW5k bGVyLT5mbGFncyAmIFBST1RPUFRfQ1JFRFNQRVJSRVFVRVNUKSkgew0KLSAgICAgICAgIC8qIFRo aXMgcHJvdG9jb2wgcmVxdWlyZXMgY3JlZGVudGlhbHMgcGVyIGNvbm5lY3Rpb24sDQotICAgICAg ICAgICAgc28gdmVyaWZ5IHRoYXQgd2UncmUgdXNpbmcgdGhlIHNhbWUgbmFtZSBhbmQgcGFzc3dv cmQgYXMgd2VsbCAqLw0KLS0gICAgICAgIGlmKCFzdHJlcXVhbChuZWVkbGUtPnVzZXIsIGNoZWNr LT51c2VyKSB8fA0KLS0gICAgICAgICAgICFzdHJlcXVhbChuZWVkbGUtPnBhc3N3ZCwgY2hlY2st PnBhc3N3ZCkpIHsNCi0rICAgICAgICBpZihzdHJjbXAobmVlZGxlLT51c2VyLCBjaGVjay0+dXNl cikgfHwNCi0rICAgICAgICAgICBzdHJjbXAobmVlZGxlLT5wYXNzd2QsIGNoZWNrLT5wYXNzd2Qp KSB7DQotICAgICAgICAgICAvKiBvbmUgb2YgdGhlbSB3YXMgZGlmZmVyZW50ICovDQotICAgICAg ICAgICBjb250aW51ZTsNCi0gICAgICAgICB9DQotICAgICAgIH0NCi0gDQotQEAgLTM0NjIsMTIg KzM0NjIsMTIgQEAgQ29ubmVjdGlvbkV4aXN0cyhzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLA0KLSAg ICAgICAgICAgIGFscmVhZHkgYXV0aGVudGljYXRpbmcgd2l0aCB0aGUgcmlnaHQgY3JlZGVudGlh bHMuIElmIG5vdCwga2VlcA0KLSAgICAgICAgICAgIGxvb2tpbmcgc28gdGhhdCB3ZSBjYW4gcmV1 c2UgTlRMTSBjb25uZWN0aW9ucyBpZg0KLSAgICAgICAgICAgIHBvc3NpYmxlLiAoRXNwZWNpYWxs eSB3ZSBtdXN0IG5vdCByZXVzZSB0aGUgc2FtZSBjb25uZWN0aW9uIGlmDQotICAgICAgICAgICAg cGFydHdheSB0aHJvdWdoIGEgaGFuZHNoYWtlISkgKi8NCi0gICAgICAgICBpZih3YW50TlRMTWh0 dHApIHsNCi0tICAgICAgICAgIGlmKCFzdHJlcXVhbChuZWVkbGUtPnVzZXIsIGNoZWNrLT51c2Vy KSB8fA0KLS0gICAgICAgICAgICAgIXN0cmVxdWFsKG5lZWRsZS0+cGFzc3dkLCBjaGVjay0+cGFz c3dkKSkNCi0rICAgICAgICAgIGlmKHN0cmNtcChuZWVkbGUtPnVzZXIsIGNoZWNrLT51c2VyKSB8 fA0KLSsgICAgICAgICAgICAgc3RyY21wKG5lZWRsZS0+cGFzc3dkLCBjaGVjay0+cGFzc3dkKSkN Ci0gICAgICAgICAgICAgY29udGludWU7DQotICAgICAgICAgfQ0KLSAgICAgICAgIGVsc2UgaWYo Y2hlY2stPm50bG0uc3RhdGUgIT0gTlRMTVNUQVRFX05PTkUpIHsNCi0gICAgICAgICAgIC8qIENv bm5lY3Rpb24gaXMgdXNpbmcgTlRMTSBhdXRoIGJ1dCB3ZSBkb24ndCB3YW50IE5UTE0gKi8NCi0g ICAgICAgICAgIGNvbnRpbnVlOw0KLUBAIC0zNDc3LDEyICszNDc3LDEyIEBAIENvbm5lY3Rpb25F eGlzdHMoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwNCi0gICAgICAgICBpZih3YW50UHJveHlOVExN aHR0cCkgew0KLSAgICAgICAgICAgLyogQm90aCBjaGVjay0+cHJveHl1c2VyIGFuZCBjaGVjay0+ cHJveHlwYXNzd2QgY2FuIGJlIE5VTEwgKi8NCi0gICAgICAgICAgIGlmKCFjaGVjay0+cHJveHl1 c2VyIHx8ICFjaGVjay0+cHJveHlwYXNzd2QpDQotICAgICAgICAgICAgIGNvbnRpbnVlOw0KLSAN Ci0tICAgICAgICAgIGlmKCFzdHJlcXVhbChuZWVkbGUtPnByb3h5dXNlciwgY2hlY2stPnByb3h5 dXNlcikgfHwNCi0tICAgICAgICAgICAgICFzdHJlcXVhbChuZWVkbGUtPnByb3h5cGFzc3dkLCBj aGVjay0+cHJveHlwYXNzd2QpKQ0KLSsgICAgICAgICAgaWYoc3RyY21wKG5lZWRsZS0+cHJveHl1 c2VyLCBjaGVjay0+cHJveHl1c2VyKSB8fA0KLSsgICAgICAgICAgICAgc3RyY21wKG5lZWRsZS0+ cHJveHlwYXNzd2QsIGNoZWNrLT5wcm94eXBhc3N3ZCkpDQotICAgICAgICAgICAgIGNvbnRpbnVl Ow0KLSAgICAgICAgIH0NCi0gICAgICAgICBlbHNlIGlmKGNoZWNrLT5wcm94eW50bG0uc3RhdGUg IT0gTlRMTVNUQVRFX05PTkUpIHsNCi0gICAgICAgICAgIC8qIFByb3h5IGNvbm5lY3Rpb24gaXMg dXNpbmcgTlRMTSBhdXRoIGJ1dCB3ZSBkb24ndCB3YW50IE5UTE0gKi8NCi0gICAgICAgICAgIGNv bnRpbnVlOw0KLS0tIA0KLTIuOS4zDQotDQpkaWZmIC0tZ2l0IGEvbWFpbi9jdXJsL0NWRS0yMDE2 LTg2MTcucGF0Y2ggYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxNy5wYXRjaA0KZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCA2NmM3ZjlhLi4wMDAwMDAwDQotLS0gYS9tYWluL2N1cmwvQ1ZF LTIwMTYtODYxNy5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMzYgKzAsMCBAQA0KLUZyb20g MzU5OTM0MWRkNjExMzAzZWU5NTQ0ODM5ZDMwZjYwM2Y2MDZkMTA4MiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDENCi1Gcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNlPg0KLURhdGU6 IFdlZCwgMjggU2VwIDIwMTYgMDA6MDU6MTIgKzAyMDANCi1TdWJqZWN0OiBbUEFUQ0hdIGJhc2U2 NDogY2hlY2sgZm9yIGludGVnZXIgb3ZlcmZsb3cgb24gbGFyZ2UgaW5wdXQNCi0NCi1DVkUtMjAx Ni04NjE3DQotDQotQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkMu aHRtbA0KLVJlcG9ydGVkLWJ5OiBDdXJlNTMNCi0tLS0NCi0gbGliL2Jhc2U2NC5jIHwgNSArKysr Kw0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspDQotDQotZGlmZiAtLWdpdCBhL2xp Yi9iYXNlNjQuYyBiL2xpYi9iYXNlNjQuYw0KLWluZGV4IGFkMjU0NTkuLjIwNGEyMjcgMTAwNjQ0 DQotLS0tIGEvbGliL2Jhc2U2NC5jDQotKysrIGIvbGliL2Jhc2U2NC5jDQotQEAgLTE4OCwxMCAr MTg4LDE1IEBAIHN0YXRpYyBDVVJMY29kZSBiYXNlNjRfZW5jb2RlKGNvbnN0IGNoYXIgKnRhYmxl NjQsDQotICAgKm91dGxlbiA9IDA7DQotIA0KLSAgIGlmKCFpbnNpemUpDQotICAgICBpbnNpemUg PSBzdHJsZW4oaW5kYXRhKTsNCi0gDQotKyNpZiBTSVpFT0ZfU0laRV9UID09IDQNCi0rICBpZihp bnNpemUgPiBVSU5UX01BWC80KQ0KLSsgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7DQot KyNlbmRpZg0KLSsNCi0gICBiYXNlNjRkYXRhID0gb3V0cHV0ID0gbWFsbG9jKGluc2l6ZSAqIDQg LyAzICsgNCk7DQotICAgaWYoIW91dHB1dCkNCi0gICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVN T1JZOw0KLSANCi0gICAvKg0KLS0tIA0KLTIuOS4zDQotDQpkaWZmIC0tZ2l0IGEvbWFpbi9jdXJs L0NWRS0yMDE2LTg2MTgucGF0Y2ggYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxOC5wYXRjaA0KZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCA2ZDRlYWFmLi4wMDAwMDAwDQotLS0gYS9tYWlu L2N1cmwvQ1ZFLTIwMTYtODYxOC5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsNTAgKzAsMCBA QA0KLUZyb20gMzExMDZhMDczODgyNjU2YTJhNWFiNTZjNGNlMjg0N2U5YTMzNGMzYyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNl Pg0KLURhdGU6IFdlZCwgMjggU2VwIDIwMTYgMTA6MTU6MzQgKzAyMDANCi1TdWJqZWN0OiBbUEFU Q0hdIGFwcmludGY6IGRldGVjdCB3cmFwLWFyb3VuZCB3aGVuIGdyb3dpbmcgYWxsb2NhdGlvbg0K LQ0KLU9uIDMyYml0IHN5c3RlbXMgd2UgY291bGQgb3RoZXJ3aXNlIHdyYXAgYXJvdW5kIGFmdGVy IDJHQiBhbmQgYWxsb2NhdGUgMA0KLWJ5dGVzIGFuZCBjcmFzaC4NCi0NCi1DVkUtMjAxNi04NjE4 DQotDQotQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkQuaHRtbA0K LVJlcG9ydGVkLWJ5OiBDdXJlNTMNCi0tLS0NCi0gbGliL21wcmludGYuYyB8IDkgKysrKysrLS0t DQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQotDQot ZGlmZiAtLWdpdCBhL2xpYi9tcHJpbnRmLmMgYi9saWIvbXByaW50Zi5jDQotaW5kZXggZGJlZGVh YS4uMmM4OGFhOCAxMDA2NDQNCi0tLS0gYS9saWIvbXByaW50Zi5jDQotKysrIGIvbGliL21wcmlu dGYuYw0KLUBAIC0xMDM0LDIwICsxMDM0LDIzIEBAIHN0YXRpYyBpbnQgYWxsb2NfYWRkYnl0ZXIo aW50IG91dHB1dCwgRklMRSAqZGF0YSkNCi0gICAgIH0NCi0gICAgIGluZm9wLT5hbGxvYyA9IDMy Ow0KLSAgICAgaW5mb3AtPmxlbiA9MDsNCi0gICB9DQotICAgZWxzZSBpZihpbmZvcC0+bGVuKzEg Pj0gaW5mb3AtPmFsbG9jKSB7DQotLSAgICBjaGFyICpuZXdwdHI7DQotKyAgICBjaGFyICpuZXdw dHIgPSBOVUxMOw0KLSsgICAgc2l6ZV90IG5ld3NpemUgPSBpbmZvcC0+YWxsb2MqMjsNCi0gDQot LSAgICBuZXdwdHIgPSByZWFsbG9jKGluZm9wLT5idWZmZXIsIGluZm9wLT5hbGxvYyoyKTsNCi0r ICAgIC8qIGRldGVjdCB3cmFwLWFyb3VuZCBvciBvdGhlciBvdmVyZmxvdyBwcm9ibGVtcyAqLw0K LSsgICAgaWYobmV3c2l6ZSA+IGluZm9wLT5hbGxvYykNCi0rICAgICAgbmV3cHRyID0gcmVhbGxv YyhpbmZvcC0+YnVmZmVyLCBuZXdzaXplKTsNCi0gDQotICAgICBpZighbmV3cHRyKSB7DQotICAg ICAgIGluZm9wLT5mYWlsID0gMTsNCi0gICAgICAgcmV0dXJuIC0xOyAvKiBmYWlsICovDQotICAg ICB9DQotICAgICBpbmZvcC0+YnVmZmVyID0gbmV3cHRyOw0KLS0gICAgaW5mb3AtPmFsbG9jICo9 IDI7DQotKyAgICBpbmZvcC0+YWxsb2MgPSBuZXdzaXplOw0KLSAgIH0NCi0gDQotICAgaW5mb3At PmJ1ZmZlclsgaW5mb3AtPmxlbiBdID0gb3V0YzsNCi0gDQotICAgaW5mb3AtPmxlbisrOw0KLS0t IA0KLTIuOS4zDQotDQpkaWZmIC0tZ2l0IGEvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTkucGF0Y2gg Yi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxOS5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCA4NDcwYjM1Li4wMDAwMDAwDQotLS0gYS9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxOS5w YXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsNTAgKzAsMCBAQA0KLUZyb20gOTEyMzlmNzA0MGIx ZjAyNmQ0ZDE1NzY1ZTdlM2Y1OGU5MmU5Mzc2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1G cm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNlPg0KLURhdGU6IFdlZCwgMjggU2Vw IDIwMTYgMTI6NTY6MDIgKzAyMDANCi1TdWJqZWN0OiBbUEFUQ0hdIGtyYjU6IGF2b2lkIHJlYWxs b2MoMCkNCi0NCi1JZiB0aGUgcmVxdWVzdGVkIHNpemUgaXMgemVybywgYmFpbCBvdXQgd2l0aCBl cnJvciBpbnN0ZWFkIG9mIGRvaW5nIGENCi1yZWFsbG9jKCkgdGhhdCB3b3VsZCBjYXVzZSBhIGRv dWJsZS1mcmVlOiByZWFsbG9jKDApIGFjdHMgYXMgYSBmcmVlKCkNCi1hbmQgdGhlbiB0aGVyZSdz IGEgc2Vjb25kIGZyZWUgaW4gdGhlIGNsZWFudXAgcGF0aC4NCi0NCi1DVkUtMjAxNi04NjE5DQot DQotQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkUuaHRtbA0KLVJl cG9ydGVkLWJ5OiBDdXJlNTMNCi0tLS0NCi0gbGliL3NlY3VyaXR5LmMgfCA5ICsrKysrKy0tLQ0K LSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KLQ0KLWRp ZmYgLS1naXQgYS9saWIvc2VjdXJpdHkuYyBiL2xpYi9zZWN1cml0eS5jDQotaW5kZXggYTI2OGQ0 YS4uNGNlZjhmOCAxMDA2NDQNCi0tLS0gYS9saWIvc2VjdXJpdHkuYw0KLSsrKyBiL2xpYi9zZWN1 cml0eS5jDQotQEAgLTE5MCwxOSArMTkwLDIyIEBAIHNvY2tldF93cml0ZShzdHJ1Y3QgY29ubmVj dGRhdGEgKmNvbm4sIGN1cmxfc29ja2V0X3QgZmQsIGNvbnN0IHZvaWQgKnRvLA0KLSBzdGF0aWMg Q1VSTGNvZGUgcmVhZF9kYXRhKHN0cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICBjdXJsX3NvY2tldF90IGZkLA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBrcmI1YnVmZmVyICpidWYpDQotIHsNCi0gICBpbnQgbGVuOw0KLS0gIHZv aWQqIHRtcDsNCi0rICB2b2lkICp0bXAgPSBOVUxMOw0KLSAgIENVUkxjb2RlIHJlc3VsdDsNCi0g DQotICAgcmVzdWx0ID0gc29ja2V0X3JlYWQoZmQsICZsZW4sIHNpemVvZihsZW4pKTsNCi0gICBp ZihyZXN1bHQpDQotICAgICByZXR1cm4gcmVzdWx0Ow0KLSANCi0tICBsZW4gPSBudG9obChsZW4p Ow0KLS0gIHRtcCA9IHJlYWxsb2MoYnVmLT5kYXRhLCBsZW4pOw0KLSsgIGlmKGxlbikgew0KLSsg ICAgLyogb25seSByZWFsbG9jIGlmIHRoZXJlIHdhcyBhIGxlbmd0aCAqLw0KLSsgICAgbGVuID0g bnRvaGwobGVuKTsNCi0rICAgIHRtcCA9IHJlYWxsb2MoYnVmLT5kYXRhLCBsZW4pOw0KLSsgIH0N Ci0gICBpZih0bXAgPT0gTlVMTCkNCi0gICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOw0K LSANCi0gICBidWYtPmRhdGEgPSB0bXA7DQotICAgcmVzdWx0ID0gc29ja2V0X3JlYWQoZmQsIGJ1 Zi0+ZGF0YSwgbGVuKTsNCi0tLSANCi0yLjkuMw0KLQ0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9D VkUtMjAxNi04NjIwLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjAucGF0Y2gNCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggYzhjMmNkMS4uMDAwMDAwMA0KLS0tIGEvbWFpbi9j dXJsL0NWRS0yMDE2LTg2MjAucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDIwNSArMCwwIEBA DQotRnJvbSA1MmYzZTFkMTA5MmM4MWE0ZjU3NGM5ZmM2Y2IzODE4Yjg4NDM0YzhkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+ DQotRGF0ZTogTW9uLCAzIE9jdCAyMDE2IDE3OjI3OjE2ICswMjAwDQotU3ViamVjdDogW1BBVENI IDEvM10gcmFuZ2U6IHByZXZlbnQgbmVnYXRpdmUgZW5kIG51bWJlciBpbiBhIGdsb2IgcmFuZ2UN Ci1NSU1FLVZlcnNpb246IDEuMA0KLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOA0KLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCi0NCi1DVkUtMjAxNi04NjIw DQotDQotQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkYuaHRtbA0K LVJlcG9ydGVkLWJ5OiBMdeG6rXQgTmd1eeG7hW4NCi0tLS0NCi0gc3JjL3Rvb2xfdXJsZ2xvYi5j IHwgNyArKysrKysrDQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykNCi0NCi1kaWZm IC0tZ2l0IGEvc3JjL3Rvb2xfdXJsZ2xvYi5jIGIvc3JjL3Rvb2xfdXJsZ2xvYi5jDQotaW5kZXgg YTM1N2I4Yi4uNjRjNzViYSAxMDA2NDQNCi0tLS0gYS9zcmMvdG9vbF91cmxnbG9iLmMNCi0rKysg Yi9zcmMvdG9vbF91cmxnbG9iLmMNCi1AQCAtMjU1LDEwICsyNTUsMTYgQEAgc3RhdGljIENVUkxj b2RlIGdsb2JfcmFuZ2UoVVJMR2xvYiAqZ2xvYiwgY2hhciAqKnBhdHRlcm5wLA0KLSAgICAgZWxz ZSB7DQotICAgICAgIGlmKCplbmRwICE9ICctJykNCi0gICAgICAgICBlbmRwID0gTlVMTDsNCi0g ICAgICAgZWxzZSB7DQotICAgICAgICAgcGF0dGVybiA9IGVuZHArMTsNCi0rICAgICAgICB3aGls ZSgqcGF0dGVybiAmJiBJU0JMQU5LKCpwYXR0ZXJuKSkNCi0rICAgICAgICAgIHBhdHRlcm4rKzsN Ci0rICAgICAgICBpZighSVNESUdJVCgqcGF0dGVybikpIHsNCi0rICAgICAgICAgIGVuZHAgPSBO VUxMOw0KLSsgICAgICAgICAgZ290byBmYWlsOw0KLSsgICAgICAgIH0NCi0gICAgICAgICBlcnJu byA9IDA7DQotICAgICAgICAgbWF4X24gPSBzdHJ0b3VsKHBhdHRlcm4sICZlbmRwLCAxMCk7DQot ICAgICAgICAgaWYoZXJybm8gfHwgKCplbmRwID09ICc6JykpIHsNCi0gICAgICAgICAgIHBhdHRl cm4gPSBlbmRwKzE7DQotICAgICAgICAgICBlcnJubyA9IDA7DQotQEAgLTI3NSwxMCArMjgxLDEx IEBAIHN0YXRpYyBDVVJMY29kZSBnbG9iX3JhbmdlKFVSTEdsb2IgKmdsb2IsIGNoYXIgKipwYXR0 ZXJucCwNCi0gICAgICAgICBlbHNlDQotICAgICAgICAgICBlbmRwID0gTlVMTDsNCi0gICAgICAg fQ0KLSAgICAgfQ0KLSANCi0rICAgIGZhaWw6DQotICAgICAqcG9zcCArPSAocGF0dGVybiAtICpw YXR0ZXJucCk7DQotIA0KLSAgICAgaWYoIWVuZHAgfHwgKG1pbl9uID4gbWF4X24pIHx8IChzdGVw X24gPiAobWF4X24gLSBtaW5fbikpIHx8ICFzdGVwX24pDQotICAgICAgIC8qIHRoZSBwYXR0ZXJu IGlzIG5vdCB3ZWxsLWZvcm1lZCAqLw0KLSAgICAgICByZXR1cm4gR0xPQkVSUk9SKCJiYWQgcmFu Z2UiLCAqcG9zcCwgQ1VSTEVfVVJMX01BTEZPUk1BVCk7DQotLS0gDQotMi45LjMNCi0NCi0NCi1G cm9tIGU5N2ViZTk3YzJiNTNkMzYxN2MxZjQwODJhMmFhYTRmMWI1OTNlZjkgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxDQotRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4NCi1E YXRlOiBNb24sIDMgT2N0IDIwMTYgMTg6MjM6MjIgKzAyMDANCi1TdWJqZWN0OiBbUEFUQ0ggMi8z XSBnbG9iX25leHRfdXJsOiBtYWtlIHN1cmUgdG8gc3RheSB3aXRoaW4gdGhlIGdpdmVuIG91dHB1 dA0KLSBidWZmZXINCi0NCi0tLS0NCi0gc3JjL3Rvb2xfdXJsZ2xvYi5jIHwgMTcgKysrKysrKysr KystLS0tLS0NCi0gMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pDQotDQotZGlmZiAtLWdpdCBhL3NyYy90b29sX3VybGdsb2IuYyBiL3NyYy90b29sX3VybGds b2IuYw0KLWluZGV4IDY0Yzc1YmEuLmM0NWE3OGIgMTAwNjQ0DQotLS0tIGEvc3JjL3Rvb2xfdXJs Z2xvYi5jDQotKysrIGIvc3JjL3Rvb2xfdXJsZ2xvYi5jDQotQEAgLTQyOSwxMCArNDI5LDExIEBA IENVUkxjb2RlIGdsb2JfdXJsKFVSTEdsb2IqKiBnbG9iLCBjaGFyKiB1cmwsIHVuc2lnbmVkIGxv bmcgKnVybG51bSwNCi0gICAqZ2xvYiA9IE5VTEw7DQotIA0KLSAgIGdsb2JfYnVmZmVyID0gbWFs bG9jKHN0cmxlbih1cmwpICsgMSk7DQotICAgaWYoIWdsb2JfYnVmZmVyKQ0KLSAgICAgcmV0dXJu IENVUkxFX09VVF9PRl9NRU1PUlk7DQotKyAgZ2xvYl9idWZmZXJbMF09MDsNCi0gDQotICAgZ2xv Yl9leHBhbmQgPSBjYWxsb2MoMSwgc2l6ZW9mKFVSTEdsb2IpKTsNCi0gICBpZighZ2xvYl9leHBh bmQpIHsNCi0gICAgIEN1cmxfc2FmZWZyZWUoZ2xvYl9idWZmZXIpOw0KLSAgICAgcmV0dXJuIENV UkxFX09VVF9PRl9NRU1PUlk7DQotQEAgLTU0NiwzMyArNTQ3LDM3IEBAIENVUkxjb2RlIGdsb2Jf bmV4dF91cmwoY2hhciAqKmdsb2JiZWQsIFVSTEdsb2IgKmdsb2IpDQotICAgZm9yKGkgPSAwOyBp IDwgZ2xvYi0+c2l6ZTsgKytpKSB7DQotICAgICBwYXQgPSAmZ2xvYi0+cGF0dGVybltpXTsNCi0g ICAgIHN3aXRjaChwYXQtPnR5cGUpIHsNCi0gICAgIGNhc2UgVVBUU2V0Og0KLSAgICAgICBpZihw YXQtPmNvbnRlbnQuU2V0LmVsZW1lbnRzKSB7DQotLSAgICAgICAgbGVuID0gc3RybGVuKHBhdC0+ Y29udGVudC5TZXQuZWxlbWVudHNbcGF0LT5jb250ZW50LlNldC5wdHJfc10pOw0KLSAgICAgICAg IHNucHJpbnRmKGJ1ZiwgYnVmbGVuLCAiJXMiLA0KLSAgICAgICAgICAgICAgICAgIHBhdC0+Y29u dGVudC5TZXQuZWxlbWVudHNbcGF0LT5jb250ZW50LlNldC5wdHJfc10pOw0KLSsgICAgICAgIGxl biA9IHN0cmxlbihidWYpOw0KLSAgICAgICAgIGJ1ZiArPSBsZW47DQotICAgICAgICAgYnVmbGVu IC09IGxlbjsNCi0gICAgICAgfQ0KLSAgICAgICBicmVhazsNCi0gICAgIGNhc2UgVVBUQ2hhclJh bmdlOg0KLS0gICAgICAqYnVmKysgPSBwYXQtPmNvbnRlbnQuQ2hhclJhbmdlLnB0cl9jOw0KLSsg ICAgICBpZihidWZsZW4pIHsNCi0rICAgICAgICAqYnVmKysgPSBwYXQtPmNvbnRlbnQuQ2hhclJh bmdlLnB0cl9jOw0KLSsgICAgICAgICpidWYgPSAnXDAnOw0KLSsgICAgICAgIGJ1Zmxlbi0tOw0K LSsgICAgICB9DQotICAgICAgIGJyZWFrOw0KLSAgICAgY2FzZSBVUFROdW1SYW5nZToNCi0tICAg ICAgbGVuID0gc25wcmludGYoYnVmLCBidWZsZW4sICIlMCpsZCIsDQotLSAgICAgICAgICAgICAg ICAgICAgIHBhdC0+Y29udGVudC5OdW1SYW5nZS5wYWRsZW5ndGgsDQotLSAgICAgICAgICAgICAg ICAgICAgIHBhdC0+Y29udGVudC5OdW1SYW5nZS5wdHJfbik7DQotKyAgICAgIHNucHJpbnRmKGJ1 ZiwgYnVmbGVuLCAiJTAqbGQiLA0KLSsgICAgICAgICAgICAgICBwYXQtPmNvbnRlbnQuTnVtUmFu Z2UucGFkbGVuZ3RoLA0KLSsgICAgICAgICAgICAgICBwYXQtPmNvbnRlbnQuTnVtUmFuZ2UucHRy X24pOw0KLSsgICAgICBsZW4gPSBzdHJsZW4oYnVmKTsNCi0gICAgICAgYnVmICs9IGxlbjsNCi0g ICAgICAgYnVmbGVuIC09IGxlbjsNCi0gICAgICAgYnJlYWs7DQotICAgICBkZWZhdWx0Og0KLSAg ICAgICBwcmludGYoImludGVybmFsIGVycm9yOiBpbnZhbGlkIHBhdHRlcm4gdHlwZSAoJWQpXG4i LCAoaW50KXBhdC0+dHlwZSk7DQotICAgICAgIHJldHVybiBDVVJMRV9GQUlMRURfSU5JVDsNCi0g ICAgIH0NCi0gICB9DQotLSAgKmJ1ZiA9ICdcMCc7DQotIA0KLSAgICpnbG9iYmVkID0gc3RyZHVw KGdsb2ItPmdsb2JfYnVmZmVyKTsNCi0gICBpZighKmdsb2JiZWQpDQotICAgICByZXR1cm4gQ1VS TEVfT1VUX09GX01FTU9SWTsNCi0gDQotLS0gDQotMi45LjMNCi0NCi0NCi1Gcm9tIDljZTM3NzA1 MTI5MGM4MzE3NmYyMzViNTI2Yjg3OTA0Y2FkNmIzODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx DQotRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5zZT4NCi1EYXRlOiBUdWUsIDQg T2N0IDIwMTYgMTc6MjU6MDkgKzAyMDANCi1TdWJqZWN0OiBbUEFUQ0ggMy8zXSByYW5nZTogcmVq ZWN0IGNoYXIgZ2xvYnMgd2l0aCBtaXNzaW5nIGVuZCBsaWtlICdbTC1dJw0KLU1JTUUtVmVyc2lv bjogMS4wDQotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04DQotQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdA0KLQ0KLS4uLiB3aGljaCBwcmV2aW91c2x5IHdvdWxk IGxlYWQgdG8gb3V0IG9mIGJvdW5kYXJ5IHJlYWRzLg0KLQ0KLVJlcG9ydGVkLWJ5OiBMdeG6rXQg Tmd1eeG7hW4NCi0tLS0NCi0gc3JjL3Rvb2xfdXJsZ2xvYi5jIHwgMzQgKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLQ0KLSAxIGZpbGUgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwg MTUgZGVsZXRpb25zKC0pDQotDQotZGlmZiAtLWdpdCBhL3NyYy90b29sX3VybGdsb2IuYyBiL3Ny Yy90b29sX3VybGdsb2IuYw0KLWluZGV4IGM0NWE3OGIuLjA5ZDIxYjYgMTAwNjQ0DQotLS0tIGEv c3JjL3Rvb2xfdXJsZ2xvYi5jDQotKysrIGIvc3JjL3Rvb2xfdXJsZ2xvYi5jDQotQEAgLTE4Niwz NiArMTg2LDQwIEBAIHN0YXRpYyBDVVJMY29kZSBnbG9iX3JhbmdlKFVSTEdsb2IgKmdsb2IsIGNo YXIgKipwYXR0ZXJucCwNCi0gDQotICAgaWYoSVNBTFBIQSgqcGF0dGVybikpIHsNCi0gICAgIC8q IGNoYXJhY3RlciByYW5nZSBkZXRlY3RlZCAqLw0KLSAgICAgY2hhciBtaW5fYzsNCi0gICAgIGNo YXIgbWF4X2M7DQotKyAgICBjaGFyIGVuZF9jOw0KLSAgICAgaW50IHN0ZXA9MTsNCi0gDQotICAg ICBwYXQtPnR5cGUgPSBVUFRDaGFyUmFuZ2U7DQotIA0KLS0gICAgcmMgPSBzc2NhbmYocGF0dGVy biwgIiVjLSVjIiwgJm1pbl9jLCAmbWF4X2MpOw0KLSsgICAgcmMgPSBzc2NhbmYocGF0dGVybiwg IiVjLSVjJWMiLCAmbWluX2MsICZtYXhfYywgJmVuZF9jKTsNCi0gDQotLSAgICBpZigocmMgPT0g MikgJiYgKHBhdHRlcm5bM10gPT0gJzonKSkgew0KLS0gICAgICBjaGFyICplbmRwOw0KLS0gICAg ICB1bnNpZ25lZCBsb25nIGxzdGVwOw0KLS0gICAgICBlcnJubyA9IDA7DQotLSAgICAgIGxzdGVw ID0gc3RydG91bCgmcGF0dGVybls0XSwgJmVuZHAsIDEwKTsNCi0tICAgICAgaWYoZXJybm8gfHwg KCplbmRwICE9ICddJykpDQotLSAgICAgICAgc3RlcCA9IC0xOw0KLS0gICAgICBlbHNlIHsNCi0t ICAgICAgICBwYXR0ZXJuID0gZW5kcCsxOw0KLS0gICAgICAgIHN0ZXAgPSAoaW50KWxzdGVwOw0K LS0gICAgICAgIGlmKHN0ZXAgPiAobWF4X2MgLSBtaW5fYykpDQotKyAgICBpZihyYyA9PSAzKSB7 DQotKyAgICAgIGlmKGVuZF9jID09ICc6Jykgew0KLSsgICAgICAgIGNoYXIgKmVuZHA7DQotKyAg ICAgICAgdW5zaWduZWQgbG9uZyBsc3RlcDsNCi0rICAgICAgICBlcnJubyA9IDA7DQotKyAgICAg ICAgbHN0ZXAgPSBzdHJ0b3VsKCZwYXR0ZXJuWzRdLCAmZW5kcCwgMTApOw0KLSsgICAgICAgIGlm KGVycm5vIHx8ICgqZW5kcCAhPSAnXScpKQ0KLSAgICAgICAgICAgc3RlcCA9IC0xOw0KLSsgICAg ICAgIGVsc2Ugew0KLSsgICAgICAgICAgcGF0dGVybiA9IGVuZHArMTsNCi0rICAgICAgICAgIHN0 ZXAgPSAoaW50KWxzdGVwOw0KLSsgICAgICAgICAgaWYoc3RlcCA+IChtYXhfYyAtIG1pbl9jKSkN Ci0rICAgICAgICAgICAgc3RlcCA9IC0xOw0KLSsgICAgICAgIH0NCi0gICAgICAgfQ0KLSsgICAg ICBlbHNlIGlmKGVuZF9jICE9ICddJykNCi0rICAgICAgICAvKiB0aGVuIHRoaXMgaXMgd3Jvbmcg Ki8NCi0rICAgICAgICByYyA9IDA7DQotICAgICB9DQotLSAgICBlbHNlDQotLSAgICAgIHBhdHRl cm4gKz0gNDsNCi0gDQotICAgICAqcG9zcCArPSAocGF0dGVybiAtICpwYXR0ZXJucCk7DQotIA0K LS0gICAgaWYoKHJjICE9IDIpIHx8IChtaW5fYyA+PSBtYXhfYykgfHwgKChtYXhfYyAtIG1pbl9j KSA+ICgneicgLSAnYScpKSB8fA0KLSsgICAgaWYoKHJjICE9IDMpIHx8IChtaW5fYyA+PSBtYXhf YykgfHwgKChtYXhfYyAtIG1pbl9jKSA+ICgneicgLSAnYScpKSB8fA0KLSAgICAgICAgKHN0ZXAg PD0gMCkgKQ0KLSAgICAgICAvKiB0aGUgcGF0dGVybiBpcyBub3Qgd2VsbC1mb3JtZWQgKi8NCi0g ICAgICAgcmV0dXJuIEdMT0JFUlJPUigiYmFkIHJhbmdlIiwgKnBvc3AsIENVUkxFX1VSTF9NQUxG T1JNQVQpOw0KLSANCi0gICAgIC8qIGlmIHRoZXJlIHdhcyBhICI6W251bV0iIHRoaW5nLCB1c2Ug dGhhdCBhcyBzdGVwIG9yIGVsc2UgdXNlIDEgKi8NCi0tLSANCi0yLjkuMw0KLQ0KZGlmZiAtLWdp dCBhL21haW4vY3VybC9DVkUtMjAxNi04NjIxLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2 MjEucGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggNjg1NWNlOS4uMDAwMDAw MA0KLS0tIGEvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjEucGF0Y2gNCisrKyAvZGV2L251bGwNCkBA IC0xLDEyMSArMCwwIEBADQotRnJvbSA4YTZkOWRlZDVmMDJmMDI5NGFlNjNhMDA3ZTI2MDg3MzE2 YzE5OThlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IERhbmllbCBTdGVuYmVyZyA8 ZGFuaWVsQGhheHguc2U+DQotRGF0ZTogVHVlLCA0IE9jdCAyMDE2IDE2OjU5OjM4ICswMjAwDQot U3ViamVjdDogW1BBVENIXSBwYXJzZWRhdGU6IGhhbmRsZSBjdXQgb2ZmIG51bWJlcnMgYmV0dGVy DQotTUlNRS1WZXJzaW9uOiAxLjANCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgNCi1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQotDQotLi4uIGFuZCBkb24n dCByZWFkIG91dHNpZGUgb2YgdGhlIGdpdmVuIGJ1ZmZlciENCi0NCi1DVkUtMjAxNi04NjIxDQot DQotYnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkcuaHRtbA0KLVJl cG9ydGVkLWJ5OiBMdeG6rXQgTmd1eeG7hW4NCi0tLS0NCi0gbGliL3BhcnNlZGF0ZS5jICAgICAg ICB8IDEyICsrKysrKystLS0tLQ0KLSB0ZXN0cy9kYXRhL3Rlc3Q1MTcgICAgIHwgIDYgKysrKysr DQotIHRlc3RzL2xpYnRlc3QvbGliNTE3LmMgfCAgOCArKysrKysrLQ0KLSAzIGZpbGVzIGNoYW5n ZWQsIDIwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQotDQotZGlmZiAtLWdpdCBhL2xp Yi9wYXJzZWRhdGUuYyBiL2xpYi9wYXJzZWRhdGUuYw0KLWluZGV4IGRmY2Y4NTUuLjhlOTMyZjQg MTAwNjQ0DQotLS0tIGEvbGliL3BhcnNlZGF0ZS5jDQotKysrIGIvbGliL3BhcnNlZGF0ZS5jDQot QEAgLTMsMTEgKzMsMTEgQEANCi0gICogIFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198 IHwgfCB8ICBfIFx8IHwNCi0gICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwg fCB8IHxfKSB8IHwNCi0gICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8 ICBfIDx8IHxfX18NCi0gICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98 X3wgXF9cX19fX198DQotICAqDQotLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTQsIERhbmll bCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQotKyAqIENvcHlyaWdodCAoQykg MTk5OCAtIDIwMTYsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQot ICAqDQotICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBm aWxlIENPUFlJTkcsIHdoaWNoDQotICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0 IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMNCi0gICogYXJlIGFsc28gYXZhaWxhYmxl IGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuDQotICAqDQotQEAg LTM4NCwxOSArMzg0LDIxIEBAIHN0YXRpYyBpbnQgcGFyc2VkYXRlKGNvbnN0IGNoYXIgKmRhdGUs IHRpbWVfdCAqb3V0cHV0KQ0KLSAgICAgfQ0KLSAgICAgZWxzZSBpZihJU0RJR0lUKCpkYXRlKSkg ew0KLSAgICAgICAvKiBhIGRpZ2l0ICovDQotICAgICAgIGludCB2YWw7DQotICAgICAgIGNoYXIg KmVuZDsNCi0rICAgICAgaW50IGxlbj0wOw0KLSAgICAgICBpZigoc2VjbnVtID09IC0xKSAmJg0K LS0gICAgICAgICAoMyA9PSBzc2NhbmYoZGF0ZSwgIiUwMmQ6JTAyZDolMDJkIiwgJmhvdXJudW0s ICZtaW5udW0sICZzZWNudW0pKSkgew0KLSsgICAgICAgICAoMyA9PSBzc2NhbmYoZGF0ZSwgIiUw MmQ6JTAyZDolMDJkJW4iLA0KLSsgICAgICAgICAgICAgICAgICAgICAgJmhvdXJudW0sICZtaW5u dW0sICZzZWNudW0sICZsZW4pKSkgew0KLSAgICAgICAgIC8qIHRpbWUgc3RhbXAhICovDQotLSAg ICAgICAgZGF0ZSArPSA4Ow0KLSsgICAgICAgIGRhdGUgKz0gbGVuOw0KLSAgICAgICB9DQotICAg ICAgIGVsc2UgaWYoKHNlY251bSA9PSAtMSkgJiYNCi0tICAgICAgICAgICAgICAoMiA9PSBzc2Nh bmYoZGF0ZSwgIiUwMmQ6JTAyZCIsICZob3VybnVtLCAmbWlubnVtKSkpIHsNCi0rICAgICAgICAg ICAgICAoMiA9PSBzc2NhbmYoZGF0ZSwgIiUwMmQ6JTAyZCVuIiwgJmhvdXJudW0sICZtaW5udW0s ICZsZW4pKSkgew0KLSAgICAgICAgIC8qIHRpbWUgc3RhbXAgd2l0aG91dCBzZWNvbmRzICovDQot LSAgICAgICAgZGF0ZSArPSA1Ow0KLSsgICAgICAgIGRhdGUgKz0gbGVuOw0KLSAgICAgICAgIHNl Y251bSA9IDA7DQotICAgICAgIH0NCi0gICAgICAgZWxzZSB7DQotICAgICAgICAgbG9uZyBsdmFs Ow0KLSAgICAgICAgIGludCBlcnJvcjsNCi1kaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NTE3 IGIvdGVzdHMvZGF0YS90ZXN0NTE3DQotaW5kZXggYzgxYTQ1ZS4uNTEzNjM0ZiAxMDA2NDQNCi0t LS0gYS90ZXN0cy9kYXRhL3Rlc3Q1MTcNCi0rKysgYi90ZXN0cy9kYXRhL3Rlc3Q1MTcNCi1AQCAt MTE0LDEwICsxMTQsMTYgQEAgbm90aGluZw0KLSA3OTogMjAxMTA2MzIgMTI6MzQ6NTYgPT4gLTEN Ci0gODA6IDIwMTEwNjIzIDU2OjM0OjU2ID0+IC0xDQotIDgxOiAyMDExMTMyMyAxMjozNDo1NiA9 PiAtMQ0KLSA4MjogMjAxMTA2MjMgMTI6MzQ6NzkgPT4gLTENCi0gODM6IFdlZCwgMzEgRGVjIDIw MDggMjM6NTk6NjAgR01UID0+IDEyMzA3NjgwMDANCi0rODQ6IDIwMTEwNjIzIDEyOjMgPT4gMTMw ODgzMDU4MA0KLSs4NTogMjAxMTA2MjMgMTozID0+IDEzMDg3OTA5ODANCi0rODY6IDIwMTEwNjIz IDE6MzAgPT4gMTMwODc5MjYwMA0KLSs4NzogMjAxMTA2MjMgMTI6MTI6MyA9PiAxMzA4ODMxMTIz DQotKzg4OiAyMDExMDYyMyAwMToxMjozID0+IDEzMDg3OTE1MjMNCi0rODk6IDIwMTEwNjIzIDAx Ojk5OjMwID0+IC0xDQotIDwvc3Rkb3V0Pg0KLSANCi0gIyBUaGlzIHRlc3QgY2FzZSBwcmV2aW91 c2x5IHRlc3RlZCBhbiBvdmVyZmxvdyBjYXNlICgiMjA5NCBOb3YgNiA9Pg0KLSAjIDIxNDc0ODM2 NDciKSBmb3IgMzJiaXQgdGltZV90LCBidXQgc2luY2Ugc29tZSBzeXN0ZW1zIGhhdmUgNjRiaXQg dGltZV90IGFuZA0KLSAjIGhhbmRsZXMgdGhpcyAocmV0dXJuaW5nIDM5Mzk4NDAwMDApLCBhbmQg c29tZSA2NGJpdC10aW1lX3Qgc3lzdGVtcyBkb24ndA0KLWRpZmYgLS1naXQgYS90ZXN0cy9saWJ0 ZXN0L2xpYjUxNy5jIGIvdGVzdHMvbGlidGVzdC9saWI1MTcuYw0KLWluZGV4IDJmNjhlYmQuLjIy MTYyZmYgMTAwNjQ0DQotLS0tIGEvdGVzdHMvbGlidGVzdC9saWI1MTcuYw0KLSsrKyBiL3Rlc3Rz L2xpYnRlc3QvbGliNTE3LmMNCi1AQCAtMywxMSArMywxMSBAQA0KLSAgKiAgUHJvamVjdCAgICAg ICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfA0KLSAgKiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfA0KLSAgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXw0KLSAgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wNCi0gICoNCi0tICogQ29weXJpZ2h0IChD KSAxOTk4IC0gMjAxMSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4N Ci0rICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNiwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVs QGhheHguc2U+LCBldCBhbC4NCi0gICoNCi0gICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBh cyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gNCi0gICogeW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcw0KLSAg KiBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmln aHQuaHRtbC4NCi0gICoNCi1AQCAtMTE0LDEwICsxMTQsMTYgQEAgc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBkYXRlc1tdPXsNCi0gICAiMjAxMTA2MzIgMTI6MzQ6NTYiLA0KLSAgICIyMDExMDYy MyA1NjozNDo1NiIsDQotICAgIjIwMTExMzIzIDEyOjM0OjU2IiwNCi0gICAiMjAxMTA2MjMgMTI6 MzQ6NzkiLA0KLSAgICJXZWQsIDMxIERlYyAyMDA4IDIzOjU5OjYwIEdNVCIsIC8qIGxlYXAgc2Vj b25kICovDQotKyAgIjIwMTEwNjIzIDEyOjMiLA0KLSsgICIyMDExMDYyMyAxOjMiLA0KLSsgICIy MDExMDYyMyAxOjMwIiwNCi0rICAiMjAxMTA2MjMgMTI6MTI6MyIsDQotKyAgIjIwMTEwNjIzIDAx OjEyOjMiLA0KLSsgICIyMDExMDYyMyAwMTo5OTozMCIsDQotICAgTlVMTA0KLSB9Ow0KLSANCi0g aW50IHRlc3QoY2hhciAqVVJMKQ0KLSB7DQotLS0gDQotMi45LjMNCi0NCmRpZmYgLS1naXQgYS9t YWluL2N1cmwvQ1ZFLTIwMTYtODYyMi5wYXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi04NjIyLnBh dGNoDQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IGU2ZGJhNjkuLjAwMDAwMDANCi0t LSBhL21haW4vY3VybC9DVkUtMjAxNi04NjIyLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSwx MjYgKzAsMCBAQA0KLUZyb20gNzFkYTkxNDUzODk5YmEyMGIyOGVlOTcxMjYyMGUzMjMxNDVhMGVl NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1Gcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmll bEBoYXh4LnNlPg0KLURhdGU6IFR1ZSwgNCBPY3QgMjAxNiAxODo1Njo0NSArMDIwMA0KLVN1Ympl Y3Q6IFtQQVRDSF0gdW5lc2NhcGU6IGF2b2lkIGludGVnZXIgb3ZlcmZsb3cNCi0NCi1DVkUtMjAx Ni04NjIyDQotDQotQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkgu aHRtbA0KLVJlcG9ydGVkLWJ5OiBDdXJlNTMNCi0tLS0NCi0gZG9jcy9saWJjdXJsL2N1cmxfZWFz eV91bmVzY2FwZS4zIHwgIDcgKysrKystLQ0KLSBsaWIvZGljdC5jICAgICAgICAgICAgICAgICAg ICAgICAgfCAxMCArKysrKy0tLS0tDQotIGxpYi9lc2NhcGUuYyAgICAgICAgICAgICAgICAgICAg ICB8IDEwICsrKysrKysrLS0NCi0gMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCA5 IGRlbGV0aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3Vu ZXNjYXBlLjMgYi9kb2NzL2xpYmN1cmwvY3VybF9lYXN5X3VuZXNjYXBlLjMNCi1pbmRleCAwNmZk NmZjLi41MGNlOTdkIDEwMDY0NA0KLS0tLSBhL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfdW5lc2Nh cGUuMw0KLSsrKyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfdW5lc2NhcGUuMw0KLUBAIC0zLDEx ICszLDExIEBADQotIC5cIiAqICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwg fCAgXyBcfCB8DQotIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwg fCB8XykgfCB8DQotIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wg fCAgXyA8fCB8X19fDQotIC5cIiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxf X18vfF98IFxfXF9fX19ffA0KLSAuXCIgKg0KLS0uXCIgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAy MDE1LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLg0KLSsuXCIgKiBD b3B5cmlnaHQgKEMpIDE5OTggLSAyMDE2LCBEYW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5z ZT4sIGV0IGFsLg0KLSAuXCIgKg0KLSAuXCIgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFz IGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3aGljaA0KLSAuXCIgKiB5b3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4gVGhlIHRlcm1zDQot IC5cIiAqIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Nv cHlyaWdodC5odG1sLg0KLSAuXCIgKg0KLUBAIC0zOCwxMSArMzgsMTQgQEAgdGhlaXIgYmluYXJ5 IHZlcnNpb25zLg0KLSBJZiB0aGUgXGZCbGVuZ3RoXGZQIGFyZ3VtZW50IGlzIHNldCB0byAwICh6 ZXJvKSwgXGZJY3VybF9lYXN5X3VuZXNjYXBlKDMpXGZQDQotIHdpbGwgdXNlIHN0cmxlbigpIG9u IHRoZSBpbnB1dCBcZkl1cmxcZlAgc3RyaW5nIHRvIGZpbmQgb3V0IHRoZSBzaXplLg0KLSANCi0g SWYgXGZCb3V0bGVuZ3RoXGZQIGlzIG5vbi1OVUxMLCB0aGUgZnVuY3Rpb24gd2lsbCB3cml0ZSB0 aGUgbGVuZ3RoIG9mIHRoZQ0KLSByZXR1cm5lZCBzdHJpbmcgaW4gdGhlIGludGVnZXIgaXQgcG9p bnRzIHRvLiBUaGlzIGFsbG93cyBhbiBlc2NhcGVkIHN0cmluZw0KLS1jb250YWluaW5nICUwMCB0 byBzdGlsbCBnZXQgdXNlZCBwcm9wZXJseSBhZnRlciB1bmVzY2FwaW5nLg0KLStjb250YWluaW5n ICUwMCB0byBzdGlsbCBnZXQgdXNlZCBwcm9wZXJseSBhZnRlciB1bmVzY2FwaW5nLiBTaW5jZSB0 aGlzIGlzIGENCi0rcG9pbnRlciB0byBhbiBcZklpbnRcZlAgdHlwZSwgaXQgY2FuIG9ubHkgcmV0 dXJuIGEgdmFsdWUgdXAgdG8gSU5UX01BWCBzbyBubw0KLStsb25nZXIgc3RyaW5nIGNhbiBiZSB1 bmVzY2FwZWQgaWYgdGhlIHN0cmluZyBsZW5ndGggaXMgcmV0dXJuZWQgaW4gdGhpcw0KLStwYXJh bWV0ZXIuDQotIA0KLSBZb3UgbXVzdCBcZkljdXJsX2ZyZWUoMylcZlAgdGhlIHJldHVybmVkIHN0 cmluZyB3aGVuIHlvdSdyZSBkb25lIHdpdGggaXQuDQotIC5TSCBBVkFJTEFCSUxJVFkNCi0gQWRk ZWQgaW4gNy4xNS40IGFuZCByZXBsYWNlcyB0aGUgb2xkIFxmSWN1cmxfdW5lc2NhcGUoMylcZlAg ZnVuY3Rpb24uDQotIC5TSCBSRVRVUk4gVkFMVUUNCi1kaWZmIC0tZ2l0IGEvbGliL2RpY3QuYyBi L2xpYi9kaWN0LmMNCi1pbmRleCBhN2I1OTY1Li40OGE0ZTBhIDEwMDY0NA0KLS0tLSBhL2xpYi9k aWN0LmMNCi0rKysgYi9saWIvZGljdC5jDQotQEAgLTMsMTEgKzMsMTEgQEANCi0gICogIFByb2pl Y3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8IHwNCi0gICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8IHwNCi0gICogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8IHxfX18NCi0gICogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wgXF9cX19fX198DQotICAqDQotLSAqIENvcHly aWdodCAoQykgMTk5OCAtIDIwMTUsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwg ZXQgYWwuDQotKyAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTYsIERhbmllbCBTdGVuYmVyZywg PGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQotICAqDQotICAqIFRoaXMgc29mdHdhcmUgaXMgbGlj ZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoDQotICAqIHlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVy bXMNCi0gICogYXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3Mv Y29weXJpZ2h0Lmh0bWwuDQotICAqDQotQEAgLTUwLDExICs1MCwxMSBAQA0KLSANCi0gI2luY2x1 ZGUgInVybGRhdGEuaCINCi0gI2luY2x1ZGUgPGN1cmwvY3VybC5oPg0KLSAjaW5jbHVkZSAidHJh bnNmZXIuaCINCi0gI2luY2x1ZGUgInNlbmRmLmgiDQotLQ0KLSsjaW5jbHVkZSAiZXNjYXBlLmgi DQotICNpbmNsdWRlICJwcm9ncmVzcy5oIg0KLSAjaW5jbHVkZSAic3RyZXF1YWwuaCINCi0gI2lu Y2x1ZGUgImRpY3QuaCINCi0gI2luY2x1ZGUgInJhd3N0ci5oIg0KLSAjaW5jbHVkZSAiY3VybF9t ZW1vcnkuaCINCi1AQCAtOTQsMTYgKzk0LDE2IEBAIGNvbnN0IHN0cnVjdCBDdXJsX2hhbmRsZXIg Q3VybF9oYW5kbGVyX2RpY3QgPSB7DQotIHN0YXRpYyBjaGFyICp1bmVzY2FwZV93b3JkKHN0cnVj dCBDdXJsX2Vhc3kgKmRhdGEsIGNvbnN0IGNoYXIgKmlucHV0YnVmZikNCi0gew0KLSAgIGNoYXIg Km5ld3A7DQotICAgY2hhciAqZGljdHA7DQotICAgY2hhciAqcHRyOw0KLS0gIGludCBsZW47DQot KyAgc2l6ZV90IGxlbjsNCi0gICBjaGFyIGNoOw0KLSAgIGludCBvbGVuPTA7DQotIA0KLS0gIG5l d3AgPSBjdXJsX2Vhc3lfdW5lc2NhcGUoZGF0YSwgaW5wdXRidWZmLCAwLCAmbGVuKTsNCi0tICBp ZighbmV3cCkNCi0rICBDVVJMY29kZSByZXN1bHQgPSBDdXJsX3VybGRlY29kZShkYXRhLCBpbnB1 dGJ1ZmYsIDAsICZuZXdwLCAmbGVuLCBGQUxTRSk7DQotKyAgaWYoIW5ld3AgfHwgcmVzdWx0KQ0K LSAgICAgcmV0dXJuIE5VTEw7DQotIA0KLSAgIGRpY3RwID0gbWFsbG9jKCgoc2l6ZV90KWxlbikq MiArIDEpOyAvKiBhZGQgb25lIGZvciB0ZXJtaW5hdGluZyB6ZXJvICovDQotICAgaWYoZGljdHAp IHsNCi0gICAgIC8qIEFjY29yZGluZyB0byBSRkMyMjI5IHNlY3Rpb24gMi4yLCB0aGVzZSBsZXR0 ZXJzIG5lZWQgdG8gYmUgZXNjYXBlZCB3aXRoDQotZGlmZiAtLWdpdCBhL2xpYi9lc2NhcGUuYyBi L2xpYi9lc2NhcGUuYw0KLWluZGV4IGU2MTI2MGQuLjY2NTcwMDcgMTAwNjQ0DQotLS0tIGEvbGli L2VzY2FwZS5jDQotKysrIGIvbGliL2VzY2FwZS5jDQotQEAgLTIyMiwxMiArMjIyLDE4IEBAIGNo YXIgKmN1cmxfZWFzeV91bmVzY2FwZShzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLCBjb25zdCBjaGFy ICpzdHJpbmcsDQotICAgICBzaXplX3Qgb3V0cHV0bGVuOw0KLSAgICAgQ1VSTGNvZGUgcmVzID0g Q3VybF91cmxkZWNvZGUoZGF0YSwgc3RyaW5nLCBpbnB1dGxlbiwgJnN0ciwgJm91dHB1dGxlbiwN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFKTsNCi0gICAgIGlmKHJl cykNCi0gICAgICAgcmV0dXJuIE5VTEw7DQotLSAgICBpZihvbGVuKQ0KLS0gICAgICAqb2xlbiA9 IGN1cmx4X3V6dG9zaShvdXRwdXRsZW4pOw0KLSsNCi0rICAgIGlmKG9sZW4pIHsNCi0rICAgICAg aWYob3V0cHV0bGVuIDw9IChzaXplX3QpIElOVF9NQVgpDQotKyAgICAgICAgKm9sZW4gPSBjdXJs eF91enRvc2kob3V0cHV0bGVuKTsNCi0rICAgICAgZWxzZQ0KLSsgICAgICAgIC8qIHRvbyBsYXJn ZSB0byByZXR1cm4gaW4gYW4gaW50LCBmYWlsISAqLw0KLSsgICAgICAgIEN1cmxfc2FmZWZyZWUo c3RyKTsNCi0rICAgIH0NCi0gICB9DQotICAgcmV0dXJuIHN0cjsNCi0gfQ0KLSANCi0gLyogRm9y IG9wZXJhdGluZyBzeXN0ZW1zL2Vudmlyb25tZW50cyB0aGF0IHVzZSBkaWZmZXJlbnQgbWFsbG9j L2ZyZWUNCi0tLSANCi0yLjkuMw0KLQ0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9DVkUtMjAxNi04 NjIzLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjMucGF0Y2gNCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggNGViODY3OC4uMDAwMDAwMA0KLS0tIGEvbWFpbi9jdXJsL0NWRS0y MDE2LTg2MjMucGF0Y2gNCisrKyAvZGV2L251bGwNCkBAIC0xLDIwNyArMCwwIEBADQotRnJvbSBk OWQ1N2ZlMGRhNmYyNWQwNTU3MGZkNTgzNTIwZWNkMzIxZWQ5YzNmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQ0KLUZyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+DQotRGF0ZTog VHVlLCA0IE9jdCAyMDE2IDIzOjI2OjEzICswMjAwDQotU3ViamVjdDogW1BBVENIXSBjb29raWVz OiBnZXRsaXN0KCkgbm93IGhvbGRzIGRlZXAgY29waWVzIG9mIGFsbCBjb29raWVzDQotDQotUHJl dmlvdXNseSBpdCBvbmx5IGhlbGQgcmVmZXJlbmNlcyB0byB0aGVtLCB3aGljaCB3YXMgcmVja2xl c3MgYXMgdGhlDQotdGhyZWFkIGxvY2sgd2FzIHJlbGVhc2VkIHNvIHRoZSBjb29raWVzIGNvdWxk IGdldCBtb2RpZmllZCBieSBvdGhlcg0KLWhhbmRsZXMgdGhhdCBzaGFyZSB0aGUgc2FtZSBjb29r aWUgamFyIG92ZXIgdGhlIHNoYXJlIGludGVyZmFjZS4NCi0NCi1DVkUtMjAxNi04NjIzDQotDQot QnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkkuaHRtbA0KLVJlcG9y dGVkLWJ5OiBDdXJlNTMNCi0tLS0NCi0gbGliL2Nvb2tpZS5jIHwgNjEgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIGxpYi9jb29r aWUuaCB8ICA0ICsrLS0NCi0gbGliL2h0dHAuYyAgIHwgIDIgKy0NCi0gMyBmaWxlcyBjaGFuZ2Vk LCA0MyBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0IGEvbGli L2Nvb2tpZS5jIGIvbGliL2Nvb2tpZS5jDQotaW5kZXggMGYwNWRhMi4uODYwN2NlMyAxMDA2NDQN Ci0tLS0gYS9saWIvY29va2llLmMNCi0rKysgYi9saWIvY29va2llLmMNCi1AQCAtMTAyMiwxMCAr MTAyMiw0NCBAQCBzdGF0aWMgaW50IGNvb2tpZV9zb3J0KGNvbnN0IHZvaWQgKnAxLCBjb25zdCB2 b2lkICpwMikNCi0gDQotICAgLyogc29ycnksIGNhbid0IGJlIG1vcmUgZGV0ZXJtaW5pc3RpYyAq Lw0KLSAgIHJldHVybiAwOw0KLSB9DQotIA0KLSsjZGVmaW5lIENMT05FKGZpZWxkKSAgICAgICAg ICAgICAgICAgICAgIFwNCi0rICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQotKyAgICBpZihzcmMtPmZpZWxkKSB7ICAgICAgICAgICAgICAgICAgICAgXA0KLSsgICAg ICBkdXAtPmZpZWxkID0gc3RyZHVwKHNyYy0+ZmllbGQpOyAgIFwNCi0rICAgICAgaWYoIWR1cC0+ ZmllbGQpICAgICAgICAgICAgICAgICAgICBcDQotKyAgICAgICAgZ290byBmYWlsOyAgICAgICAg ICAgICAgICAgICAgICAgXA0KLSsgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCi0rICB9IHdoaWxlKDApDQotKw0KLStzdGF0aWMgc3RydWN0IENvb2tpZSAqZHVwX2Nv b2tpZShzdHJ1Y3QgQ29va2llICpzcmMpDQotK3sNCi0rICBzdHJ1Y3QgQ29va2llICpkdXAgPSBj YWxsb2Moc2l6ZW9mKHN0cnVjdCBDb29raWUpLCAxKTsNCi0rICBpZihkdXApIHsNCi0rICAgIENM T05FKGV4cGlyZXN0cik7DQotKyAgICBDTE9ORShkb21haW4pOw0KLSsgICAgQ0xPTkUocGF0aCk7 DQotKyAgICBDTE9ORShzcGF0aCk7DQotKyAgICBDTE9ORShuYW1lKTsNCi0rICAgIENMT05FKHZh bHVlKTsNCi0rICAgIENMT05FKG1heGFnZSk7DQotKyAgICBDTE9ORSh2ZXJzaW9uKTsNCi0rICAg IGR1cC0+ZXhwaXJlcyA9IHNyYy0+ZXhwaXJlczsNCi0rICAgIGR1cC0+dGFpbG1hdGNoID0gc3Jj LT50YWlsbWF0Y2g7DQotKyAgICBkdXAtPnNlY3VyZSA9IHNyYy0+c2VjdXJlOw0KLSsgICAgZHVw LT5saXZlY29va2llID0gc3JjLT5saXZlY29va2llOw0KLSsgICAgZHVwLT5odHRwb25seSA9IHNy Yy0+aHR0cG9ubHk7DQotKyAgfQ0KLSsgIHJldHVybiBkdXA7DQotKw0KLSsgIGZhaWw6DQotKyAg ZnJlZWNvb2tpZShkdXApOw0KLSsgIHJldHVybiBOVUxMOw0KLSt9DQotKw0KLSAvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioNCi0gICoNCi0gICogQ3VybF9jb29raWVfZ2V0bGlzdCgpDQotICAqDQotICAq IEZvciBhIGdpdmVuIGhvc3QgYW5kIHBhdGgsIHJldHVybiBhIGxpbmtlZCBsaXN0IG9mIGNvb2tp ZXMgdGhhdCB0aGUNCi1AQCAtMTA3NywxNSArMTExMSwxMiBAQCBzdHJ1Y3QgQ29va2llICpDdXJs X2Nvb2tpZV9nZXRsaXN0KHN0cnVjdCBDb29raWVJbmZvICpjLA0KLSAgICAgICAgIGlmKCFjby0+ c3BhdGggfHwgcGF0aG1hdGNoKGNvLT5zcGF0aCwgcGF0aCkgKSB7DQotIA0KLSAgICAgICAgICAg LyogYW5kIG5vdywgd2Uga25vdyB0aGlzIGlzIGEgbWF0Y2ggYW5kIHdlIHNob3VsZCBjcmVhdGUg YW4NCi0gICAgICAgICAgICAgIGVudHJ5IGZvciB0aGUgcmV0dXJuLWxpbmtlZC1saXN0ICovDQot IA0KLS0gICAgICAgICAgbmV3Y28gPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBDb29raWUpKTsNCi0r ICAgICAgICAgIG5ld2NvID0gZHVwX2Nvb2tpZShjbyk7DQotICAgICAgICAgICBpZihuZXdjbykg ew0KLS0gICAgICAgICAgICAvKiBmaXJzdCwgY29weSB0aGUgd2hvbGUgc291cmNlIGNvb2tpZTog Ki8NCi0tICAgICAgICAgICAgbWVtY3B5KG5ld2NvLCBjbywgc2l6ZW9mKHN0cnVjdCBDb29raWUp KTsNCi0tDQotICAgICAgICAgICAgIC8qIHRoZW4gbW9kaWZ5IG91ciBuZXh0ICovDQotICAgICAg ICAgICAgIG5ld2NvLT5uZXh0ID0gbWFpbmNvOw0KLSANCi0gICAgICAgICAgICAgLyogcG9pbnQg dGhlIG1haW4gdG8gdXMgKi8NCi0gICAgICAgICAgICAgbWFpbmNvID0gbmV3Y287DQotQEAgLTEw OTMsMTYgKzExMjQsMTEgQEAgc3RydWN0IENvb2tpZSAqQ3VybF9jb29raWVfZ2V0bGlzdChzdHJ1 Y3QgQ29va2llSW5mbyAqYywNCi0gICAgICAgICAgICAgbWF0Y2hlcysrOw0KLSAgICAgICAgICAg fQ0KLSAgICAgICAgICAgZWxzZSB7DQotICAgICAgICAgICAgIGZhaWw6DQotICAgICAgICAgICAg IC8qIGZhaWx1cmUsIGNsZWFyIHVwIHRoZSBhbGxvY2F0ZWQgY2hhaW4gYW5kIHJldHVybiBOVUxM ICovDQotLSAgICAgICAgICAgIHdoaWxlKG1haW5jbykgew0KLS0gICAgICAgICAgICAgIGNvID0g bWFpbmNvLT5uZXh0Ow0KLS0gICAgICAgICAgICAgIGZyZWUobWFpbmNvKTsNCi0tICAgICAgICAg ICAgICBtYWluY28gPSBjbzsNCi0tICAgICAgICAgICAgfQ0KLS0NCi0rICAgICAgICAgICAgQ3Vy bF9jb29raWVfZnJlZWxpc3QobWFpbmNvKTsNCi0gICAgICAgICAgICAgcmV0dXJuIE5VTEw7DQot ICAgICAgICAgICB9DQotICAgICAgICAgfQ0KLSAgICAgICB9DQotICAgICB9DQotQEAgLTExNTAs MTEgKzExNzYsMTEgQEAgc3RydWN0IENvb2tpZSAqQ3VybF9jb29raWVfZ2V0bGlzdChzdHJ1Y3Qg Q29va2llSW5mbyAqYywNCi0gICoNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotIHZvaWQgQ3Vy bF9jb29raWVfY2xlYXJhbGwoc3RydWN0IENvb2tpZUluZm8gKmNvb2tpZXMpDQotIHsNCi0gICBp Zihjb29raWVzKSB7DQotLSAgICBDdXJsX2Nvb2tpZV9mcmVlbGlzdChjb29raWVzLT5jb29raWVz LCBUUlVFKTsNCi0rICAgIEN1cmxfY29va2llX2ZyZWVsaXN0KGNvb2tpZXMtPmNvb2tpZXMpOw0K LSAgICAgY29va2llcy0+Y29va2llcyA9IE5VTEw7DQotICAgICBjb29raWVzLT5udW1jb29raWVz ID0gMDsNCi0gICB9DQotIH0NCi0gDQotQEAgLTExNjIsMjUgKzExODgsMTggQEAgdm9pZCBDdXJs X2Nvb2tpZV9jbGVhcmFsbChzdHJ1Y3QgQ29va2llSW5mbyAqY29va2llcykNCi0gICoNCi0gICog Q3VybF9jb29raWVfZnJlZWxpc3QoKQ0KLSAgKg0KLSAgKiBGcmVlIGEgbGlzdCBvZiBjb29raWVz IHByZXZpb3VzbHkgcmV0dXJuZWQgYnkgQ3VybF9jb29raWVfZ2V0bGlzdCgpOw0KLSAgKg0KLS0g KiBUaGUgJ2Nvb2tpZXN0b28nIGFyZ3VtZW50IHRlbGxzIHRoaXMgZnVuY3Rpb24gd2hldGhlciB0 byBqdXN0IGZyZWUgdGhlDQotLSAqIGxpc3Qgb3IgYWN0dWFsbHkgYWxzbyBmcmVlIGFsbCBjb29r aWVzIHdpdGhpbiB0aGUgbGlzdCBhcyB3ZWxsLg0KLS0gKg0KLSAgKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Ki8NCi0gDQotLXZvaWQgQ3VybF9jb29raWVfZnJlZWxpc3Qoc3RydWN0IENvb2tpZSAqY28sIGJv b2wgY29va2llc3RvbykNCi0rdm9pZCBDdXJsX2Nvb2tpZV9mcmVlbGlzdChzdHJ1Y3QgQ29va2ll ICpjbykNCi0gew0KLSAgIHN0cnVjdCBDb29raWUgKm5leHQ7DQotICAgd2hpbGUoY28pIHsNCi0g ICAgIG5leHQgPSBjby0+bmV4dDsNCi0tICAgIGlmKGNvb2tpZXN0b28pDQotLSAgICAgIGZyZWVj b29raWUoY28pOw0KLS0gICAgZWxzZQ0KLS0gICAgICBmcmVlKGNvKTsgLyogd2Ugb25seSBmcmVl IHRoZSBzdHJ1Y3Qgc2luY2UgdGhlICJtZW1iZXJzIiBhcmUgYWxsIGp1c3QNCi0tICAgICAgICAg ICAgICAgICAgIHBvaW50ZWQgb3V0IGluIHRoZSBtYWluIGNvb2tpZSBsaXN0ISAqLw0KLSsgICAg ZnJlZWNvb2tpZShjbyk7DQotICAgICBjbyA9IG5leHQ7DQotICAgfQ0KLSB9DQotIA0KLSANCi1A QCAtMTIzMSwxMSArMTI1MCwxMSBAQCB2b2lkIEN1cmxfY29va2llX2NsZWFyc2VzcyhzdHJ1Y3Qg Q29va2llSW5mbyAqY29va2llcykNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotIHZvaWQgQ3Vy bF9jb29raWVfY2xlYW51cChzdHJ1Y3QgQ29va2llSW5mbyAqYykNCi0gew0KLSAgIGlmKGMpIHsN Ci0gICAgIGZyZWUoYy0+ZmlsZW5hbWUpOw0KLS0gICAgQ3VybF9jb29raWVfZnJlZWxpc3QoYy0+ Y29va2llcywgVFJVRSk7DQotKyAgICBDdXJsX2Nvb2tpZV9mcmVlbGlzdChjLT5jb29raWVzKTsN Ci0gICAgIGZyZWUoYyk7IC8qIGZyZWUgdGhlIGJhc2Ugc3RydWN0IGFzIHdlbGwgKi8NCi0gICB9 DQotIH0NCi0gDQotIC8qIGdldF9uZXRzY2FwZV9mb3JtYXQoKQ0KLWRpZmYgLS1naXQgYS9saWIv Y29va2llLmggYi9saWIvY29va2llLmgNCi1pbmRleCBjZDdjNTRhLi5hOWE0NTc4IDEwMDY0NA0K LS0tLSBhL2xpYi9jb29raWUuaA0KLSsrKyBiL2xpYi9jb29raWUuaA0KLUBAIC01LDExICs1LDEx IEBADQotICAqICBQcm9qZWN0ICAgICAgICAgICAgICAgICAgICAgX19ffCB8IHwgfCAgXyBcfCB8 DQotICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIF9ffCB8IHwgfCB8XykgfCB8DQot ICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF9ffCB8X3wgfCAgXyA8fCB8X19fDQot ICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX19ffFxfX18vfF98IFxfXF9fX19ffA0K LSAgKg0KLS0gKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDExLCBEYW5pZWwgU3RlbmJlcmcsIDxk YW5pZWxAaGF4eC5zZT4sIGV0IGFsLg0KLSsgKiBDb3B5cmlnaHQgKEMpIDE5OTggLSAyMDE2LCBE YW5pZWwgU3RlbmJlcmcsIDxkYW5pZWxAaGF4eC5zZT4sIGV0IGFsLg0KLSAgKg0KLSAgKiBUaGlz IHNvZnR3YXJlIGlzIGxpY2Vuc2VkIGFzIGRlc2NyaWJlZCBpbiB0aGUgZmlsZSBDT1BZSU5HLCB3 aGljaA0KLSAgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYXMgcGFydCBvZiB0aGlzIGRpc3Ry aWJ1dGlvbi4gVGhlIHRlcm1zDQotICAqIGFyZSBhbHNvIGF2YWlsYWJsZSBhdCBodHRwczovL2N1 cmwuaGF4eC5zZS9kb2NzL2NvcHlyaWdodC5odG1sLg0KLSAgKg0KLUBAIC04MCwxMSArODAsMTEg QEAgc3RydWN0IENvb2tpZSAqQ3VybF9jb29raWVfYWRkKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEs DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgQ29va2llSW5mbyAqLCBi b29sIGhlYWRlciwgY2hhciAqbGluZXB0ciwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKmRvbWFpbiwgY29uc3QgY2hhciAqcGF0aCk7DQotIA0KLSBzdHJ1Y3Qg Q29va2llICpDdXJsX2Nvb2tpZV9nZXRsaXN0KHN0cnVjdCBDb29raWVJbmZvICosIGNvbnN0IGNo YXIgKiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICos IGJvb2wpOw0KLS12b2lkIEN1cmxfY29va2llX2ZyZWVsaXN0KHN0cnVjdCBDb29raWUgKmNvb2tp ZXMsIGJvb2wgY29va2llc3Rvbyk7DQotK3ZvaWQgQ3VybF9jb29raWVfZnJlZWxpc3Qoc3RydWN0 IENvb2tpZSAqY29va2llcyk7DQotIHZvaWQgQ3VybF9jb29raWVfY2xlYXJhbGwoc3RydWN0IENv b2tpZUluZm8gKmNvb2tpZXMpOw0KLSB2b2lkIEN1cmxfY29va2llX2NsZWFyc2VzcyhzdHJ1Y3Qg Q29va2llSW5mbyAqY29va2llcyk7DQotIA0KLSAjaWYgZGVmaW5lZChDVVJMX0RJU0FCTEVfSFRU UCkgfHwgZGVmaW5lZChDVVJMX0RJU0FCTEVfQ09PS0lFUykNCi0gI2RlZmluZSBDdXJsX2Nvb2tp ZV9saXN0KHgpIE5VTEwNCi1kaWZmIC0tZ2l0IGEvbGliL2h0dHAuYyBiL2xpYi9odHRwLmMNCi1p bmRleCA2NWMxNDVhLi5lNmU3ZDM3IDEwMDY0NA0KLS0tLSBhL2xpYi9odHRwLmMNCi0rKysgYi9s aWIvaHR0cC5jDQotQEAgLTIzODIsMTEgKzIzODIsMTEgQEAgQ1VSTGNvZGUgQ3VybF9odHRwKHN0 cnVjdCBjb25uZWN0ZGF0YSAqY29ubiwgYm9vbCAqZG9uZSkNCi0gICAgICAgICAgICAgYnJlYWs7 DQotICAgICAgICAgICBjb3VudCsrOw0KLSAgICAgICAgIH0NCi0gICAgICAgICBjbyA9IGNvLT5u ZXh0OyAvKiBuZXh0IGNvb2tpZSBwbGVhc2UgKi8NCi0gICAgICAgfQ0KLS0gICAgICBDdXJsX2Nv b2tpZV9mcmVlbGlzdChzdG9yZSwgRkFMU0UpOyAvKiBmcmVlIHRoZSBjb29raWUgbGlzdCAqLw0K LSsgICAgICBDdXJsX2Nvb2tpZV9mcmVlbGlzdChzdG9yZSk7DQotICAgICB9DQotICAgICBpZihh ZGRjb29raWVzICYmICFyZXN1bHQpIHsNCi0gICAgICAgaWYoIWNvdW50KQ0KLSAgICAgICAgIHJl c3VsdCA9IEN1cmxfYWRkX2J1ZmZlcmYocmVxX2J1ZmZlciwgIkNvb2tpZTogIik7DQotICAgICAg IGlmKCFyZXN1bHQpIHsNCi0tLSANCi0yLjkuMw0KLQ0KZGlmZiAtLWdpdCBhL21haW4vY3VybC9D VkUtMjAxNi04NjI0LWZpeGVkLnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjQtZml4ZWQu cGF0Y2gNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggYjI4OGY5ZS4uMDAwMDAwMA0K LS0tIGEvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2gNCisrKyAvZGV2L251bGwN CkBAIC0xLDYxICswLDAgQEANCi1Gcm9tIDY2MDRkNGRmMzBhZWM2NmRiNmY1YmQ1MWVlM2MzNDFk ZDczMjlmY2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQotRnJvbTogRGFuaWVsIFN0ZW5iZXJn IDxkYW5pZWxAaGF4eC5zZT4NCi1EYXRlOiBUdWUsIDExIE9jdCAyMDE2IDAwOjQ4OjM1ICswMjAw DQotU3ViamVjdDogW1BBVENIXSB1cmxwYXJzZTogYWNjZXB0ICcjJyBhcyBlbmQgb2YgaG9zdCBu YW1lDQotTUlNRS1WZXJzaW9uOiAxLjANCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9VVRGLTgNCi1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQotDQotJ2h0dHA6Ly9l eGFtcGxlLmNvbSNAMTI3LjAuMC4xL3gudHh0JyBlcXVhbHMgYSByZXF1ZXN0IHRvIGV4YW1wbGUu Y29tDQotZm9yIHRoZSAnLycgZG9jdW1lbnQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgVVJMIGJlaW5n IGEgZnJhZ21lbnQuDQotDQotQ1ZFLTIwMTYtODYyNA0KLQ0KLUJ1ZzogaHR0cHM6Ly9jdXJsLmhh eHguc2UvZG9jcy9hZHZfMjAxNjExMDJKLmh0bWwNCi1SZXBvcnRlZC1ieTogRmVybmFuZG8gTXXD sW96DQotLS0tDQotIGxpYi91cmwuYyB8IDEwICsrKysrLS0tLS0NCi0gMSBmaWxlIGNoYW5nZWQs IDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0IGEvbGliL3Vy bC5jIGIvbGliL3VybC5jDQotaW5kZXggOTFiMmJmOC4uOTgyMzZlMiAxMDA2NDQNCi0tLS0NCi1Q YXRjaCB3YXMgc2xpZ2h0bHkgbW9kaWZpZWQgYnkgU2VyZ2V5IEx1a2luIDxzZXJnZWoubHVraW5A Z21haWwuY29tPg0KLU9yaWdpbmFsIHBhdGNoIChodHRwczovL2N1cmwuaGF4eC5zZS9DVkUtMjAx Ni04NjI0LnBhdGNoKSBmYWlsZWQgdG8gYXBwbHkgdG8NCi1jdXJsIDcuNDkuMQ0KLQ0KLS0tLSBh L2xpYi91cmwuYw0KLSsrKyBiL2xpYi91cmwuYw0KLUBAIC00MTQ0LDcgKzQxNDQsNyBAQA0KLSAg ICAgcGF0aFswXT0wOw0KLSANCi0gICAgIGlmKDIgPiBzc2NhbmYoZGF0YS0+Y2hhbmdlLnVybCwN Ci0tICAgICAgICAgICAgICAgICAgICIlMTVbXlxuOl06Ly8lW15cbi8/XSVbXlxuXSIsDQotKyAg ICAgICAgICAgICAgICAgICAiJTE1W15cbjpdOi8vJVteXG4vPyNdJVteXG5dIiwNCi0gICAgICAg ICAgICAgICAgICAgIHByb3RvYnVmLA0KLSAgICAgICAgICAgICAgICAgICAgY29ubi0+aG9zdC5u YW1lLCBwYXRoKSkgew0KLSANCi1AQCAtNDE1Miw3ICs0MTUyLDcgQEANCi0gICAgICAgICogVGhl IFVSTCB3YXMgYmFkbHkgZm9ybWF0dGVkLCBsZXQncyB0cnkgdGhlIGJyb3dzZXItc3R5bGUgX3dp dGhvdXRfDQotICAgICAgICAqIHByb3RvY29sIHNwZWNpZmllZCBsaWtlICdodHRwOi8vJy4NCi0g ICAgICAgICovDQotLSAgICAgIHJjID0gc3NjYW5mKGRhdGEtPmNoYW5nZS51cmwsICIlW15cbi8/ XSVbXlxuXSIsIGNvbm4tPmhvc3QubmFtZSwgcGF0aCk7DQotKyAgICAgIHJjID0gc3NjYW5mKGRh dGEtPmNoYW5nZS51cmwsICIlW15cbi8/I10lW15cbl0iLCBjb25uLT5ob3N0Lm5hbWUsIHBhdGgp Ow0KLSAgICAgICBpZigxID4gcmMpIHsNCi0gICAgICAgICAvKg0KLSAgICAgICAgICAqIFdlIGNv dWxkbid0IGV2ZW4gZ2V0IHRoaXMgZm9ybWF0Lg0KLUBAIC00MjQyLDEwICs0MjQyLDEwIEBADQot ICAgfQ0KLSANCi0gICAvKiBJZiB0aGUgVVJMIGlzIG1hbGZvcm1hdHRlZCAobWlzc2luZyBhICcv JyBhZnRlciBob3N0bmFtZSBiZWZvcmUgcGF0aCkgd2UNCi0tICAgKiBpbnNlcnQgYSBzbGFzaCBo ZXJlLiBUaGUgb25seSBsZXR0ZXIgZXhjZXB0ICcvJyB3ZSBhY2NlcHQgdG8gc3RhcnQgYSBwYXRo DQotLSAgICogaXMgJz8nLg0KLSsgICAqIGluc2VydCBhIHNsYXNoIGhlcmUuIFRoZSBvbmx5IGxl dHRlcnMgZXhjZXB0ICcvJyB0aGF0IGNhbiBzdGFydCBhIHBhdGggaXMNCi0rICAgKiAnPycgYW5k ICcjJyAtIGFzIGNvbnRyb2xsZWQgYnkgdGhlIHR3byBzc2NhbmYoKSBwYXR0ZXJucyBhYm92ZS4N Ci0gICAgKi8NCi0tICBpZihwYXRoWzBdID09ICc/Jykgew0KLSsgIGlmKHBhdGhbMF0gIT0gJy8n KSB7DQotICAgICAvKiBXZSBuZWVkIHRoaXMgZnVuY3Rpb24gdG8gZGVhbCB3aXRoIG92ZXJsYXBw aW5nIG1lbW9yeSBhcmVhcy4gV2Uga25vdw0KLSAgICAgICAgdGhhdCB0aGUgbWVtb3J5IGFyZWEg J3BhdGgnIHBvaW50cyB0byBpcyAndXJsbGVuJyBieXRlcyBiaWcgYW5kIHRoYXQNCi0gICAgICAg IGlzIGJpZ2dlciB0aGFuIHRoZSBwYXRoLiBVc2UgKzEgdG8gbW92ZSB0aGUgemVybyBieXRlIHRv by4gKi8NCi0NCi0tIA0KMi42LjYNCg0KDQoNCi0tLQ0KVW5zdWJzY3JpYmU6ICBhbHBpbmUtYXBv cnRzK3Vuc3Vic2NyaWJlQGxpc3RzLmFscGluZWxpbnV4Lm9yZw0KSGVscDogICAgICAgICBhbHBp bmUtYXBvcnRzK2hlbHBAbGlzdHMuYWxwaW5lbGludXgub3JnDQotLS0NCg==