X-Original-To: alpine-aports@lists.alpinelinux.org Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by lists.alpinelinux.org (Postfix) with ESMTP id F3FB45C3768 for ; Fri, 9 Dec 2016 09:21:14 +0000 (GMT) Received: by mail-wm0-f68.google.com with SMTP id u144so2701301wmu.0 for ; Fri, 09 Dec 2016 01:21:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=6MuDLGWigcpfPYg4MjOUfU7IX8dddtOAWHor6v+vVtw=; b=T4eqnV8s4p2rrbxyl6WGptPpV6YZax84RpvL+qiT9A4MiHd5rKJCPqwk/aVsIaWv5q tsJJUIklF5D677JtCaCbDOrCcn7/GZofrhQo7LVB0u7awDfEBAndLkO8fFyNuowOogKd O1Rn/uCx6yu4qSgeT4McMiYxEgvU5KubLxuH2ZGUpcKukmzk9lZUAuTlfuM5qCMv/0pf owf6KF8imcqK950vsk6+zHfV3Unfziy0EiPivMkAZdgUJnr1OEnISXel+qfU3ahF8Zip FVFQ+pISgnrNjWkTgXZkLBrEVHDLy/KEuZNQA9g+D6DAlD8235lgr/PmGQcd4NC/FH9b 7qRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=6MuDLGWigcpfPYg4MjOUfU7IX8dddtOAWHor6v+vVtw=; b=WQRhfZkwChyexxW65wFCEBLV3US7ydyKJZxbLg7auEKt8oO4nH+hG8Vhn17OY+RkIi 6xfI9JIt/ArDaM215kI08ZdeuRFCk0UFWfYJOPug92jlrtfaTtId48S/DV/qHLE+geFy YwUvMFSm9Y0EzxmvMW4hGPk5+DWStwDxojrnlJsJbYF/b1KFm4AbIIQkLAwGdbsulZ6U 08bdidugNxrMK1WuHdwYGdzbcbr4WX3uil9OUQexS3O77fmfA5U6In1s9K4lP3eD7gck ZyVF2BmT0j2QnGO4G/UPfMyU68z+WTivNmMdO5zJV3qjggyDDCBKW512hkAL2iZmomm7 HwEA== X-Gm-Message-State: AKaTC03h3Z0T/txl4+O47Yl0YmRz3wevCPZmfI48wYY+UCJH89qxT0eGN2qiYgm4PpG5mw== X-Received: by 10.46.75.10 with SMTP id y10mr34478753lja.65.1481271214129; Fri, 09 Dec 2016 00:13:34 -0800 (PST) Received: from v3-2.util.wtbts.net ([83.145.235.199]) by smtp.gmail.com with ESMTPSA id v9sm6368233lja.0.2016.12.09.00.13.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 09 Dec 2016 00:13:32 -0800 (PST) From: Sergey Lukin To: alpine-aports@lists.alpinelinux.org Cc: Sergey Lukin Subject: [alpine-aports] [PATCH v3.2] main/curl: security upgrade - fixes #6436 Date: Fri, 9 Dec 2016 08:13:25 +0000 Message-Id: <1481271205-16311-1-git-send-email-sergej.lukin@gmail.com> X-Mailer: git-send-email 2.4.11 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 Q1ZFLTIwMTYtODYxNSwgQ1ZFLTIwMTYtODYxNiwgQ1ZFLTIwMTYtODYxNywgQ1ZFLTIwMTYtODYx OCwgQ1ZFLTIwMTYtODYxOSwNCkNWRS0yMDE2LTg2MjAsIENWRS0yMDE2LTg2MjEgQ1ZFLTIwMTYt ODYyMiwgQ1ZFLTIwMTYtODYyMywgQ1ZFLTIwMTYtODYyNA0KLS0tDQogbWFpbi9jdXJsL0FQS0JV SUxEICAgICAgICAgICAgICAgICAgfCAgNDkgKysrKysrKystDQogbWFpbi9jdXJsL0NWRS0yMDE2 LTg2MTUucGF0Y2ggICAgICAgfCAgNzUgKysrKysrKysrKysrKw0KIG1haW4vY3VybC9DVkUtMjAx Ni04NjE2LnBhdGNoICAgICAgIHwgIDY2ICsrKysrKysrKysrKw0KIG1haW4vY3VybC9DVkUtMjAx Ni04NjE3LnBhdGNoICAgICAgIHwgIDM2ICsrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYtODYx OC5wYXRjaCAgICAgICB8ICA1MCArKysrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYtODYxOS5w YXRjaCAgICAgICB8ICA1MCArKysrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYtODYyMC5wYXRj aCAgICAgICB8IDIwNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIG1haW4v Y3VybC9DVkUtMjAxNi04NjIxLnBhdGNoICAgICAgIHwgMTIxICsrKysrKysrKysrKysrKysrKysr Kw0KIG1haW4vY3VybC9DVkUtMjAxNi04NjIyLnBhdGNoICAgICAgIHwgMTI2ICsrKysrKysrKysr KysrKysrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYtODYyMy5wYXRjaCAgICAgICB8IDIwNyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBtYWluL2N1cmwvQ1ZFLTIwMTYt ODYyNC1maXhlZC5wYXRjaCB8ICA2MSArKysrKysrKysrKw0KIDExIGZpbGVzIGNoYW5nZWQsIDEw NDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFp bi9jdXJsL0NWRS0yMDE2LTg2MTUucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJs L0NWRS0yMDE2LTg2MTYucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0y MDE2LTg2MTcucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2 MTgucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTkucGF0 Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjAucGF0Y2gNCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjEucGF0Y2gNCiBjcmVhdGUg bW9kZSAxMDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjIucGF0Y2gNCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjMucGF0Y2gNCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWFpbi9jdXJsL0NWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2gNCg0KZGlmZiAtLWdpdCBhL21haW4v Y3VybC9BUEtCVUlMRCBiL21haW4vY3VybC9BUEtCVUlMRA0KaW5kZXggMGNkMzhjOC4uYzNkMzdk ZSAxMDA2NDQNCi0tLSBhL21haW4vY3VybC9BUEtCVUlMRA0KKysrIGIvbWFpbi9jdXJsL0FQS0JV SUxEDQpAQCAtMSw3ICsxLDggQEANCiAjIE1haW50YWluZXI6IE5hdGFuYWVsIENvcGEgPG5jb3Bh QGFscGluZWxpbnV4Lm9yZz4NCisjIENvbnRyaWJ1dG9yOiBTZXJnZXkgTHVraW4gPHNlcmdlai5s dWtpbkBnbWFpbC5jb20+DQogcGtnbmFtZT1jdXJsDQogcGtndmVyPTcuNDkuMQ0KLXBrZ3JlbD0z DQorcGtncmVsPTQNCiBwa2dkZXNjPSJBbiBVUkwgcmV0cml2YWwgdXRpbGl0eSBhbmQgbGlicmFy eSINCiB1cmw9Imh0dHA6Ly9jdXJsLmhheHguc2UiDQogYXJjaD0iYWxsIg0KQEAgLTE2LDYgKzE3 LDE2IEBAIHNvdXJjZT0iaHR0cDovL2N1cmwuaGF4eC5zZS9kb3dubG9hZC9jdXJsLSRwa2d2ZXIu dGFyLmJ6Mg0KIAlDVkUtMjAxNi01NDIxLnBhdGNoDQogCUNWRS0yMDE2LTcxNDEucGF0Y2gNCiAJ Q1ZFLTIwMTYtNzE2Ny5wYXRjaA0KKwlDVkUtMjAxNi04NjE1LnBhdGNoDQorCUNWRS0yMDE2LTg2 MTYucGF0Y2gNCisJQ1ZFLTIwMTYtODYxNy5wYXRjaA0KKwlDVkUtMjAxNi04NjE4LnBhdGNoDQor CUNWRS0yMDE2LTg2MTkucGF0Y2gNCisJQ1ZFLTIwMTYtODYyMC5wYXRjaA0KKwlDVkUtMjAxNi04 NjIxLnBhdGNoDQorCUNWRS0yMDE2LTg2MjIucGF0Y2gNCisJQ1ZFLTIwMTYtODYyMy5wYXRjaA0K KwlDVkUtMjAxNi04NjI0LWZpeGVkLnBhdGNoDQogCSINCiANCiBfYnVpbGRkaXI9IiRzcmNkaXIv JHBrZ25hbWUtJHBrZ3ZlciINCkBAIC02NCwxNiArNzUsNDYgQEAgbWQ1c3Vtcz0iNmJiMWY3YWY1 YjU4YjMwZTRlNjQxNGI4YzFhYmNjYWIgIGN1cmwtNy40OS4xLnRhci5iejINCiAxNTBlM2MxMTBk NmViODUxODdlMTA5ZDA0MzE3YjllMyAgQ1ZFLTIwMTYtNTQyMC5wYXRjaA0KIDA1MjQ2NjRiYzky NjM3NGY2YTdiMDU3MDQ2OTI0YmQyICBDVkUtMjAxNi01NDIxLnBhdGNoDQogN2VhZGExZTM3NDVl M2NmZThmNDA1N2RlYzI3M2Q4MjAgIENWRS0yMDE2LTcxNDEucGF0Y2gNCi0xM2Q1YWQ2Y2UyZGI5 YjVhMjMxNGQzMTIyNzU3N2YxZiAgQ1ZFLTIwMTYtNzE2Ny5wYXRjaCINCisxM2Q1YWQ2Y2UyZGI5 YjVhMjMxNGQzMTIyNzU3N2YxZiAgQ1ZFLTIwMTYtNzE2Ny5wYXRjaA0KKzIxZDFhY2Y5YzNhNjIw MjE1YmEyZmNhYmRiZGYzZDI3ICBDVkUtMjAxNi04NjE1LnBhdGNoDQorYjBjZjY2MDFjZDY4NWU1 YjVkMTBhMTBhMjJkZjFjOGQgIENWRS0yMDE2LTg2MTYucGF0Y2gNCis3ZjU3NzVmMzNhMTg3OTBl OWI4ZDVjNzZhMjI2YmFmZSAgQ1ZFLTIwMTYtODYxNy5wYXRjaA0KKzE1MjMwN2JmODgwM2M2MTZl ZDVjNmY2ZDA2YjJlZTZhICBDVkUtMjAxNi04NjE4LnBhdGNoDQorYTA4ODNlOTNkNGQ0YmEzNjEx ZmQwYmRkZmU1YWM5MjggIENWRS0yMDE2LTg2MTkucGF0Y2gNCis4MDc4N2JlMjM1NGE4YzYzODUx NjRjNjZjOTdmN2Y2MSAgQ1ZFLTIwMTYtODYyMC5wYXRjaA0KKzc2NDBlODI4MmY3MWMwNmYwMDc5 YzFhMTlkOWNmZjI1ICBDVkUtMjAxNi04NjIxLnBhdGNoDQorZGZiYzhmNDMwNmRiYWE0ZTYyMjBk OWM3ZGJhZjY5MWIgIENWRS0yMDE2LTg2MjIucGF0Y2gNCitiN2VlZGJkYmEwNjlmOGEzYTZlZmFh ZGRjZTFhMzhlZCAgQ1ZFLTIwMTYtODYyMy5wYXRjaA0KK2VmYzkyY2M5ZGZlOTRmNzBiODNhYmEy ZWQ4M2Q5NGI2ICBDVkUtMjAxNi04NjI0LWZpeGVkLnBhdGNoIg0KIHNoYTI1NnN1bXM9ImViNjNj ZWM0YmVmNjkyZWFiOWRiNDU5MDMzZjQwOTUzM2U2ZDEwZTIwOTQyZjRiMDYwYjMyODE5ZTgxODg1 ZjEgIGN1cmwtNy40OS4xLnRhci5iejINCiBkMzQ5OWFhZjMzMWZjYTIzMDM3NDliZGZmYmVkZjU2 NzdhNTU1YTM3YWRhMTg3YzFhNzM0OTI2YzdjYjcxOGU1ICBDVkUtMjAxNi01NDE5LnBhdGNoDQog MjNlMWZiZDI3ODYwYzZmNDZiZWMwOTRjMDZiNTYxOGRhMmFiNzFiMDkxOTQ1ZjU4N2MwZDdlOGQx NDM0NzJmNyAgQ1ZFLTIwMTYtNTQyMC5wYXRjaA0KIGJjYTc4NjY3YWM5MTEwOTIwYzVjZTMxYzhk ODJhNzg0ZmUzMjdlYjE4NDQ2MGMxYjg3ZmFiNGRlMDA0ZTY2OTIgIENWRS0yMDE2LTU0MjEucGF0 Y2gNCiBmMDk3ZDZlNWM3NWViZGFmNTMyYWVmNTllMzE3OTBhNjU3ODE0YmJiN2U1MDFkZmIyZWI2 Njg2ZGRjYTRmMWViICBDVkUtMjAxNi03MTQxLnBhdGNoDQotZWVkYmQzYjFmMDQ0YmJjODg0MTQw YTc1ZTQwYmUwZjk3ZWEzZDBkZjZhN2JjNzk1OGRiN2NlMDE1NTY0MmZjZCAgQ1ZFLTIwMTYtNzE2 Ny5wYXRjaCINCitlZWRiZDNiMWYwNDRiYmM4ODQxNDBhNzVlNDBiZTBmOTdlYTNkMGRmNmE3YmM3 OTU4ZGI3Y2UwMTU1NjQyZmNkICBDVkUtMjAxNi03MTY3LnBhdGNoDQorNjQ5NmFhNjQ4MmVhYWU5 MTg3ZTZjMDNlYTA3MTk3YTAyYWUzODJjNjg0YjBhYzAwY2Y2YzUwYzk2Y2IxNjU5MyAgQ1ZFLTIw MTYtODYxNS5wYXRjaA0KKzJiYzM3MzNkMDZhNjQ3YWZlMDE1MTMyMTdjMDk0MzE1MmZjZTFlODI3 MGY5N2M0MThjY2QyYmEwZGRlYTRmMDEgIENWRS0yMDE2LTg2MTYucGF0Y2gNCisxODYwNjg2ZDQ0 NGYzNzEwZmM5YzNiNWFhYjY2YmVkZWU4YmY3Nzc1MTZjOTA1YmY3MzNhM2QzNDJiMzAzNGUwICBD VkUtMjAxNi04NjE3LnBhdGNoDQorZmY5MTg5OGE5MzViYzkyODQwN2NhYzQyOGJiMjZjZmFjMjA3 M2VjOGFiYTJjYjM4YzAwNWNmYzJmZWM4ZmJmYyAgQ1ZFLTIwMTYtODYxOC5wYXRjaA0KK2Q4OWFl ZmU0ZTRkYzU5MWIxZTIzNDFlZTYzYjA5ZDE4NmJiODUyNjhlZTdiMzMyMmQyYzZjNjEwMGI4OWZj NjEgIENWRS0yMDE2LTg2MTkucGF0Y2gNCitkYWUyNDM3OTIzYzc3MDg1ZDM3ZDg4YWU1ZWNlZDM4 OGViMmM5MjRjMDJjMGM0ZTBmOGU0NGY4YzhmMjkxMWRiICBDVkUtMjAxNi04NjIwLnBhdGNoDQor MDVjMDE0YjI1ZjI1Y2ZlNjg5YTFjZTZkODIzOGVmODkwNmYwYzZhZGZlNjQ4MzdlNWI3NDY5MWYw YTVkYjI4NyAgQ1ZFLTIwMTYtODYyMS5wYXRjaA0KKzUxNmEzY2VhNjk1N2M0MzUxM2E0ZTU1NDIx ZDc5ZGRmYTI2YmJhZjJhZGNiYjQyZDdlYzI3MWVjNTgzNzcwZDkgIENWRS0yMDE2LTg2MjIucGF0 Y2gNCitmNjY3NjRmN2FkZTE0NmY4ZGY1MDFkNWE4MGJlNzc2ZDc5MGIxZDhkMWUyZjg3NzVkODky MzQzZmU4N2FjZmMxICBDVkUtMjAxNi04NjIzLnBhdGNoDQorZjUzYmYyZDlkN2RkZGM4YzY3MGRk ZDUwYWE2ZGNkMzJhOWY0NWZmYzEzZTE3Y2Q0NGRmMzFlMTEyN2Q5NDJiMiAgQ1ZFLTIwMTYtODYy NC1maXhlZC5wYXRjaCINCiBzaGE1MTJzdW1zPSI2NjVlZjE3OGMyODJjMTRmNDI5NDk4NTQ3YjM3 MTFlZjc5ZmFmODVmNmRiN2Y0ZWMyNDI1OWUyYzYyNDdmNmVlMjM0ZGRhMTU4ZWJjMjA3ZDAzZjA4 YjUxOThjNTg0NDQ4MGUwNTRmMjRmMDU0YjJkZTZjNmExNWQ0ZjFjZTZlNiAgY3VybC03LjQ5LjEu dGFyLmJ6Mg0KIGE1OTZlNDg5YjBiNTY2ZDlkY2M4MjkyY2NlYzRkOTBkZmJlYWU3Y2IxMWUyNTA4 NzEyMTdmZjkwZDFjOTUyNWQ2MDJmNDBlMTEyZWIwZDQ3YTBhNTk3ZTU3NjhjMTA1NDIzZDFjYjBj YjI4MjVjMzlhMzE5ZWE5ZDU4MjI2OWQwICBDVkUtMjAxNi01NDE5LnBhdGNoDQogOTU3OGYxM2M1 ZDhlNWE1ZDE4NGI1YjA4ZGQ3ZDU5ZGU1OTY2NDQwODRmMmRlMDRjMDI1YWQ4Y2Q3OGUxMWRhZGNm ZjQ1YmY0ZmFiMDJiODk0MmQ3ZWQxOTk3N2RlYzRkMjIwODkzZjY3NWQ2NGVkMTNiMjcyODRkNjNk ZmE1ZjEgIENWRS0yMDE2LTU0MjAucGF0Y2gNCiAyYjVlNzdkZGExMWRiYjc3Y2JmZTc2MGRhNTM3 N2M5NGExNjY0YjA0ZjI1NGM5ZmE2NDJmNDlkYTExOWQ5MzEyM2VmNmVlMjdlNGMwOGQwYmE5MDk0 MjQwNzkxYWMwOTI3M2M4YmUyM2ZhOGNhNTk4MmY4ZWQxNGQ2YjI5YWQ3ZSAgQ1ZFLTIwMTYtNTQy MS5wYXRjaA0KIDdlYWU4YjM3ZmI5YmE4ZGZjMGQ2NjU4YjM3MTkxNTYwNjY4OTE0YTg0YWJhNDEx Y2ZkYWMxNTViZDE3NDliOTgwNTE0MTI0YzA2NTNlODU4MjNhOGEwZTc3MGY0N2NjYzJhNDE3Nzgx MGIwMmNmYzY0MWM5MGYwMDg2Mzk4NzllICBDVkUtMjAxNi03MTQxLnBhdGNoDQotYzk1ZDU3MTFk YjA4MDg0ZTZhNWMyMGVjZDJjOGFhOGE0OTQyNDBhNDYzOTQwNjkyYjFkOWUzYTgxY2NiODk5ODk0 YzFhYzhjYTY1ZTM1ZDc4MzQzNTIzMDViZjg4NzJjNmU0OTA3ZmY2OTVlNzIxODI0ZThlN2MxMTkw ZjE4NjMgIENWRS0yMDE2LTcxNjcucGF0Y2giDQorYzk1ZDU3MTFkYjA4MDg0ZTZhNWMyMGVjZDJj OGFhOGE0OTQyNDBhNDYzOTQwNjkyYjFkOWUzYTgxY2NiODk5ODk0YzFhYzhjYTY1ZTM1ZDc4MzQz NTIzMDViZjg4NzJjNmU0OTA3ZmY2OTVlNzIxODI0ZThlN2MxMTkwZjE4NjMgIENWRS0yMDE2LTcx NjcucGF0Y2gNCiswM2Y0NzM4MDViYzM5MmM3YzhkMTMzNmFiYjY5ODE3MTU5ZWQyODkyMjIwZGU4 MWFmYWIzNmY5ZDdjNDc5YmY2ZjAxYTVjNWY5MGQ5M2U3MDc2ZGMxY2Q4NTVlMTFjNTkxZTM5M2Jk M2YxMjVhNjcxMjIxY2FkZTE0NTViNjJkMSAgQ1ZFLTIwMTYtODYxNS5wYXRjaA0KKzg2NTYyOWIy OTZiMGNlYzViYjc3NGNmNDZkODZiM2U2OWIxYzIwZjExNzZmZWVjM2M5NDVjNTRmYTdlMTFmOTQ0 Yjg2ZGYyYTY1ZTcyZmVmYjhhNzU4NTZkNTE0NjQwODE4ZjY0NmEzNDZiZjY4MDgxZGNmNWEwYjI4 M2MxNGFjICBDVkUtMjAxNi04NjE2LnBhdGNoDQorYjAyMGMyN2U5ZTI3NTI1ODBjNmFmMWE4OTA3 ODViZmMxMzA3ODY1ZTcwYmQwMGE3MTMzZWU0OTViMjdhNmIxMTJlN2VjNjcwYjgyNGMzNDJkMmNj NTZkNmQ2YWZhMDM4N2U5NjNkNTlhMThmY2MzZDcyNGY4NWQxZjdhOWU5N2QgIENWRS0yMDE2LTg2 MTcucGF0Y2gNCitlZjdjNzU1MjA1N2Q3MDk0MjgyZmEyZWI0MzBmMTQ2YTJlODQzZGM3OWIxM2Rl Y2JmN2JkN2Y0NGM5ZGRkOGI1ZmMzZDBlNWE3Zjc2NDJlYWRhMDQ4MzczYzA4NDdlYTYxYmZjMGYy ODRlZDY2OTgwZWMxNWQyNGU2MzdhMTk1YiAgQ1ZFLTIwMTYtODYxOC5wYXRjaA0KK2M0MTRkYTVm ZmZmNDZmNmVhZTcwY2RlOTBiZWY3YTY5MWMwOTM2NGZiYjEzNDdlNDU5YWM2M2EyYTNhNTQ5ZmUy M2UxZTE5NDkwZjA1NWI5NzY2MGVhMjM4ZTJiMDhlZDg3OTM4Mjk0NDc5NDc2OWFkYTlkODliYTUz Mjk0NDI4ICBDVkUtMjAxNi04NjE5LnBhdGNoDQorNjhiNjMxMmYwMDZmNWZmM2U3ZmY0MmI5NjY5 M2JhNWQ0ODg4OWEwY2VlNDg1ZjNiOTdhMDVmOWI0N2I0NmI5NTAyNDkwZTNmZWRhNTI3OTAyYjA4 MGU5MDVlNDVjNGQ2YjZkMTIyZmI2Y2MzNzViYzIxYjMwZDA4NmQ4NDFlNzYgIENWRS0yMDE2LTg2 MjAucGF0Y2gNCis3YzkwYTFiMjY2NmFhOWFjZjA1NzQ0ZDMwZjQzNDJlZDBhOGY3Mjk3Nzg2ZTdl ZDQ2ZDE1MjU3ZTJkODEwMjk2Njk4MjgxYmU2YTc2Zjk0NmFkMzkzNjhhNjYzMzhjYjUzMTc2NTEw MTRkNjAyOTZiYjIxNDU5NjdlMTM5NmE0NiAgQ1ZFLTIwMTYtODYyMS5wYXRjaA0KKzg1MWNlODg2 ZjJjZmZlYzUwYTQzODNkOWFiOGI3NTMyMDRhYzY0ZWY3YjdiYjQ3ZjlkZDQ5MTRkYWFmMWI2ZDVk OGFlNGJiZGRhYWYxZTQ4YTMyM2ZkMGVlZmY0MGEyNjQyOTk2MzkxMjllYzc1NWRiYThkMDQzODJh NTBlMGU1ICBDVkUtMjAxNi04NjIyLnBhdGNoDQorNzgyZjMxYjkyYTU2ODA3ZTIzMmExMjMyOGM1 ZGRmOWI5NTg3MTE3ZTI1ZjczMGM0NDBmNmZhNDBjNzI1MDFjZGQ0MWI2MWYzNjczMTRiM2IyZGU0 NGIzOTQ2MDVmNGE2NzYzZGJlODRhM2MyZjBiNWRiZjFjY2JjODgyZTM5NTIgIENWRS0yMDE2LTg2 MjMucGF0Y2gNCitjMWI1ZWJjZTEzZTllYTdkYTYxMWY1ZWVlNDNiZjNjZjI4MDM0ZGQwZTAwODc3 NDk0YzA0NDU5ZGQyNGYzYjU2ZTg1MDE0NzBiYjA2ZjIxMGFmZGE4NmU1N2M5ZmZiZTYxYmM5Y2Rl YjljODY1OWNiNDQxNWI3ZjcxNWY2YWFjNyAgQ1ZFLTIwMTYtODYyNC1maXhlZC5wYXRjaCINCmRp ZmYgLS1naXQgYS9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxNS5wYXRjaCBiL21haW4vY3VybC9DVkUt MjAxNi04NjE1LnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uZDFm ZGEzNQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTUucGF0Y2gN CkBAIC0wLDAgKzEsNzUgQEANCitGcm9tIDE2MjBmNTUyYTI3N2VkNWIyM2E0OGI5YzI3ZGJmMDc2 NjNjYWMwNjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0ZW5iZXJn IDxkYW5pZWxAaGF4eC5zZT4NCitEYXRlOiBUdWUsIDI3IFNlcCAyMDE2IDE3OjM2OjE5ICswMjAw DQorU3ViamVjdDogW1BBVENIXSBjb29raWU6IHJlcGxhY2UgdXNlIG9mIGZnZXRzKCkgd2l0aCBj dXN0b20gdmVyc2lvbg0KKw0KKy4uLiB0aGF0IHdpbGwgaWdub3JlIGxpbmVzIHRoYXQgYXJlIHRv byBsb25nIHRvIGZpdCBpbiB0aGUgYnVmZmVyLg0KKw0KK0NWRS0yMDE2LTg2MTUNCisNCitCdWc6 IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2XzIwMTYxMTAyQS5odG1sDQorUmVwb3J0ZWQt Ynk6IEN1cmU1Mw0KKy0tLQ0KKyBsaWIvY29va2llLmMgfCAzMSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKystDQorIDEgZmlsZSBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pDQorDQorZGlmZiAtLWdpdCBhL2xpYi9jb29raWUuYyBiL2xpYi9jb29raWUuYw0KK2lu ZGV4IDBmMDVkYTIuLmU1MDk3ZDMgMTAwNjQ0DQorLS0tIGEvbGliL2Nvb2tpZS5jDQorKysrIGIv bGliL2Nvb2tpZS5jDQorQEAgLTkwMSwxMCArOTAxLDM5IEBAIEN1cmxfY29va2llX2FkZChzdHJ1 Y3QgQ3VybF9lYXN5ICpkYXRhLA0KKyAgIH0NCisgDQorICAgcmV0dXJuIGNvOw0KKyB9DQorIA0K KysvKg0KKysgKiBnZXRfbGluZSgpIG1ha2VzIHN1cmUgdG8gb25seSByZXR1cm4gY29tcGxldGUg d2hvbGUgbGluZXMgdGhhdCBmaXQgaW4gJ2xlbicNCisrICogYnl0ZXMgYW5kIGVuZCB3aXRoIGEg bmV3bGluZS4NCisrICovDQorK3N0YXRpYyBjaGFyICpnZXRfbGluZShjaGFyICpidWYsIGludCBs ZW4sIEZJTEUgKmlucHV0KQ0KKyt7DQorKyAgYm9vbCBwYXJ0aWFsID0gRkFMU0U7DQorKyAgd2hp bGUoMSkgew0KKysgICAgY2hhciAqYiA9IGZnZXRzKGJ1ZiwgbGVuLCBpbnB1dCk7DQorKyAgICBp ZihiKSB7DQorKyAgICAgIHNpemVfdCBybGVuID0gc3RybGVuKGIpOw0KKysgICAgICBpZihybGVu ICYmIChiW3JsZW4tMV0gPT0gJ1xuJykpIHsNCisrICAgICAgICBpZihwYXJ0aWFsKSB7DQorKyAg ICAgICAgICBwYXJ0aWFsID0gRkFMU0U7DQorKyAgICAgICAgICBjb250aW51ZTsNCisrICAgICAg ICB9DQorKyAgICAgICAgcmV0dXJuIGI7DQorKyAgICAgIH0NCisrICAgICAgZWxzZQ0KKysgICAg ICAgIC8qIHJlYWQgYSBwYXJ0aWFsLCBkaXNjYXJkIHRoZSBuZXh0IHBpZWNlIHRoYXQgZW5kcyB3 aXRoIG5ld2xpbmUgKi8NCisrICAgICAgICBwYXJ0aWFsID0gVFJVRTsNCisrICAgIH0NCisrICAg IGVsc2UNCisrICAgICAgYnJlYWs7DQorKyAgfQ0KKysgIHJldHVybiBOVUxMOw0KKyt9DQorKw0K KysNCisgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqDQorICAqDQorICAqIEN1cmxfY29va2llX2luaXQo KQ0KKyAgKg0KKyAgKiBJbml0cyBhIGNvb2tpZSBzdHJ1Y3QgdG8gcmVhZCBkYXRhIGZyb20gYSBs b2NhbCBmaWxlLiBUaGlzIGlzIGFsd2F5cw0KK0BAIC05NTcsMTEgKzk4NiwxMSBAQCBzdHJ1Y3Qg Q29va2llSW5mbyAqQ3VybF9jb29raWVfaW5pdChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLA0KKyAg ICAgYm9vbCBoZWFkZXJsaW5lOw0KKyANCisgICAgIGxpbmUgPSBtYWxsb2MoTUFYX0NPT0tJRV9M SU5FKTsNCisgICAgIGlmKCFsaW5lKQ0KKyAgICAgICBnb3RvIGZhaWw7DQorLSAgICB3aGlsZShm Z2V0cyhsaW5lLCBNQVhfQ09PS0lFX0xJTkUsIGZwKSkgew0KKysgICAgd2hpbGUoZ2V0X2xpbmUo bGluZSwgTUFYX0NPT0tJRV9MSU5FLCBmcCkpIHsNCisgICAgICAgaWYoY2hlY2twcmVmaXgoIlNl dC1Db29raWU6IiwgbGluZSkpIHsNCisgICAgICAgICAvKiBUaGlzIGlzIGEgY29va2llIGxpbmUs IGdldCBpdCEgKi8NCisgICAgICAgICBsaW5lcHRyPSZsaW5lWzExXTsNCisgICAgICAgICBoZWFk ZXJsaW5lPVRSVUU7DQorICAgICAgIH0NCistLSANCisyLjkuMw0KKw0KZGlmZiAtLWdpdCBhL21h aW4vY3VybC9DVkUtMjAxNi04NjE2LnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTYucGF0 Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi42NzMwOWJmDQotLS0gL2Rl di9udWxsDQorKysgYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxNi5wYXRjaA0KQEAgLTAsMCArMSw2 NiBAQA0KK0Zyb20gY2VmNTEwYmViMjIyYWI1NzUwYWZjYWMyYzc0ZmNiY2RjMzFhZGE2NCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4 LnNlPg0KK0RhdGU6IFR1ZSwgMjcgU2VwIDIwMTYgMTg6MDE6NTMgKzAyMDANCitTdWJqZWN0OiBb UEFUQ0hdIGNvbm5lY3Rpb25leGlzdHM6IHVzZSBjYXNlIHNlbnNpdGl2ZSB1c2VyL3Bhc3N3b3Jk DQorIGNvbXBhcmlzb25zDQorDQorQ1ZFLTIwMTYtODYxNg0KKw0KK0J1ZzogaHR0cHM6Ly9jdXJs LmhheHguc2UvZG9jcy9hZHZfMjAxNjExMDJCLmh0bWwNCitSZXBvcnRlZC1ieTogQ3VyZTUzDQor LS0tDQorIGxpYi91cmwuYyB8IDEyICsrKysrKy0tLS0tLQ0KKyAxIGZpbGUgY2hhbmdlZCwgNiBp bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9saWIvdXJsLmMg Yi9saWIvdXJsLmMNCitpbmRleCA5MWIyYmY4Li5jZDMzMzVjIDEwMDY0NA0KKy0tLSBhL2xpYi91 cmwuYw0KKysrKyBiL2xpYi91cmwuYw0KK0BAIC0zNDAxLDEyICszNDAxLDEyIEBAIENvbm5lY3Rp b25FeGlzdHMoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwNCisgICAgICAgfQ0KKyANCisgICAgICAg aWYoIShuZWVkbGUtPmhhbmRsZXItPmZsYWdzICYgUFJPVE9QVF9DUkVEU1BFUlJFUVVFU1QpKSB7 DQorICAgICAgICAgLyogVGhpcyBwcm90b2NvbCByZXF1aXJlcyBjcmVkZW50aWFscyBwZXIgY29u bmVjdGlvbiwNCisgICAgICAgICAgICBzbyB2ZXJpZnkgdGhhdCB3ZSdyZSB1c2luZyB0aGUgc2Ft ZSBuYW1lIGFuZCBwYXNzd29yZCBhcyB3ZWxsICovDQorLSAgICAgICAgaWYoIXN0cmVxdWFsKG5l ZWRsZS0+dXNlciwgY2hlY2stPnVzZXIpIHx8DQorLSAgICAgICAgICAgIXN0cmVxdWFsKG5lZWRs ZS0+cGFzc3dkLCBjaGVjay0+cGFzc3dkKSkgew0KKysgICAgICAgIGlmKHN0cmNtcChuZWVkbGUt PnVzZXIsIGNoZWNrLT51c2VyKSB8fA0KKysgICAgICAgICAgIHN0cmNtcChuZWVkbGUtPnBhc3N3 ZCwgY2hlY2stPnBhc3N3ZCkpIHsNCisgICAgICAgICAgIC8qIG9uZSBvZiB0aGVtIHdhcyBkaWZm ZXJlbnQgKi8NCisgICAgICAgICAgIGNvbnRpbnVlOw0KKyAgICAgICAgIH0NCisgICAgICAgfQ0K KyANCitAQCAtMzQ2MiwxMiArMzQ2MiwxMiBAQCBDb25uZWN0aW9uRXhpc3RzKHN0cnVjdCBDdXJs X2Vhc3kgKmRhdGEsDQorICAgICAgICAgICAgYWxyZWFkeSBhdXRoZW50aWNhdGluZyB3aXRoIHRo ZSByaWdodCBjcmVkZW50aWFscy4gSWYgbm90LCBrZWVwDQorICAgICAgICAgICAgbG9va2luZyBz byB0aGF0IHdlIGNhbiByZXVzZSBOVExNIGNvbm5lY3Rpb25zIGlmDQorICAgICAgICAgICAgcG9z c2libGUuIChFc3BlY2lhbGx5IHdlIG11c3Qgbm90IHJldXNlIHRoZSBzYW1lIGNvbm5lY3Rpb24g aWYNCisgICAgICAgICAgICBwYXJ0d2F5IHRocm91Z2ggYSBoYW5kc2hha2UhKSAqLw0KKyAgICAg ICAgIGlmKHdhbnROVExNaHR0cCkgew0KKy0gICAgICAgICAgaWYoIXN0cmVxdWFsKG5lZWRsZS0+ dXNlciwgY2hlY2stPnVzZXIpIHx8DQorLSAgICAgICAgICAgICAhc3RyZXF1YWwobmVlZGxlLT5w YXNzd2QsIGNoZWNrLT5wYXNzd2QpKQ0KKysgICAgICAgICAgaWYoc3RyY21wKG5lZWRsZS0+dXNl ciwgY2hlY2stPnVzZXIpIHx8DQorKyAgICAgICAgICAgICBzdHJjbXAobmVlZGxlLT5wYXNzd2Qs IGNoZWNrLT5wYXNzd2QpKQ0KKyAgICAgICAgICAgICBjb250aW51ZTsNCisgICAgICAgICB9DQor ICAgICAgICAgZWxzZSBpZihjaGVjay0+bnRsbS5zdGF0ZSAhPSBOVExNU1RBVEVfTk9ORSkgew0K KyAgICAgICAgICAgLyogQ29ubmVjdGlvbiBpcyB1c2luZyBOVExNIGF1dGggYnV0IHdlIGRvbid0 IHdhbnQgTlRMTSAqLw0KKyAgICAgICAgICAgY29udGludWU7DQorQEAgLTM0NzcsMTIgKzM0Nzcs MTIgQEAgQ29ubmVjdGlvbkV4aXN0cyhzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLA0KKyAgICAgICAg IGlmKHdhbnRQcm94eU5UTE1odHRwKSB7DQorICAgICAgICAgICAvKiBCb3RoIGNoZWNrLT5wcm94 eXVzZXIgYW5kIGNoZWNrLT5wcm94eXBhc3N3ZCBjYW4gYmUgTlVMTCAqLw0KKyAgICAgICAgICAg aWYoIWNoZWNrLT5wcm94eXVzZXIgfHwgIWNoZWNrLT5wcm94eXBhc3N3ZCkNCisgICAgICAgICAg ICAgY29udGludWU7DQorIA0KKy0gICAgICAgICAgaWYoIXN0cmVxdWFsKG5lZWRsZS0+cHJveHl1 c2VyLCBjaGVjay0+cHJveHl1c2VyKSB8fA0KKy0gICAgICAgICAgICAgIXN0cmVxdWFsKG5lZWRs ZS0+cHJveHlwYXNzd2QsIGNoZWNrLT5wcm94eXBhc3N3ZCkpDQorKyAgICAgICAgICBpZihzdHJj bXAobmVlZGxlLT5wcm94eXVzZXIsIGNoZWNrLT5wcm94eXVzZXIpIHx8DQorKyAgICAgICAgICAg ICBzdHJjbXAobmVlZGxlLT5wcm94eXBhc3N3ZCwgY2hlY2stPnByb3h5cGFzc3dkKSkNCisgICAg ICAgICAgICAgY29udGludWU7DQorICAgICAgICAgfQ0KKyAgICAgICAgIGVsc2UgaWYoY2hlY2st PnByb3h5bnRsbS5zdGF0ZSAhPSBOVExNU1RBVEVfTk9ORSkgew0KKyAgICAgICAgICAgLyogUHJv eHkgY29ubmVjdGlvbiBpcyB1c2luZyBOVExNIGF1dGggYnV0IHdlIGRvbid0IHdhbnQgTlRMTSAq Lw0KKyAgICAgICAgICAgY29udGludWU7DQorLS0gDQorMi45LjMNCisNCmRpZmYgLS1naXQgYS9t YWluL2N1cmwvQ1ZFLTIwMTYtODYxNy5wYXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi04NjE3LnBh dGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uNjZjN2Y5YQ0KLS0tIC9k ZXYvbnVsbA0KKysrIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MTcucGF0Y2gNCkBAIC0wLDAgKzEs MzYgQEANCitGcm9tIDM1OTkzNDFkZDYxMTMwM2VlOTU0NDgzOWQzMGY2MDNmNjA2ZDEwODIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4 eC5zZT4NCitEYXRlOiBXZWQsIDI4IFNlcCAyMDE2IDAwOjA1OjEyICswMjAwDQorU3ViamVjdDog W1BBVENIXSBiYXNlNjQ6IGNoZWNrIGZvciBpbnRlZ2VyIG92ZXJmbG93IG9uIGxhcmdlIGlucHV0 DQorDQorQ1ZFLTIwMTYtODYxNw0KKw0KK0J1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9h ZHZfMjAxNjExMDJDLmh0bWwNCitSZXBvcnRlZC1ieTogQ3VyZTUzDQorLS0tDQorIGxpYi9iYXNl NjQuYyB8IDUgKysrKysNCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQ0KKw0KK2Rp ZmYgLS1naXQgYS9saWIvYmFzZTY0LmMgYi9saWIvYmFzZTY0LmMNCitpbmRleCBhZDI1NDU5Li4y MDRhMjI3IDEwMDY0NA0KKy0tLSBhL2xpYi9iYXNlNjQuYw0KKysrKyBiL2xpYi9iYXNlNjQuYw0K K0BAIC0xODgsMTAgKzE4OCwxNSBAQCBzdGF0aWMgQ1VSTGNvZGUgYmFzZTY0X2VuY29kZShjb25z dCBjaGFyICp0YWJsZTY0LA0KKyAgICpvdXRsZW4gPSAwOw0KKyANCisgICBpZighaW5zaXplKQ0K KyAgICAgaW5zaXplID0gc3RybGVuKGluZGF0YSk7DQorIA0KKysjaWYgU0laRU9GX1NJWkVfVCA9 PSA0DQorKyAgaWYoaW5zaXplID4gVUlOVF9NQVgvNCkNCisrICAgIHJldHVybiBDVVJMRV9PVVRf T0ZfTUVNT1JZOw0KKysjZW5kaWYNCisrDQorICAgYmFzZTY0ZGF0YSA9IG91dHB1dCA9IG1hbGxv YyhpbnNpemUgKiA0IC8gMyArIDQpOw0KKyAgIGlmKCFvdXRwdXQpDQorICAgICByZXR1cm4gQ1VS TEVfT1VUX09GX01FTU9SWTsNCisgDQorICAgLyoNCistLSANCisyLjkuMw0KKw0KZGlmZiAtLWdp dCBhL21haW4vY3VybC9DVkUtMjAxNi04NjE4LnBhdGNoIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2 MTgucGF0Y2gNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi42ZDRlYWFmDQot LS0gL2Rldi9udWxsDQorKysgYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxOC5wYXRjaA0KQEAgLTAs MCArMSw1MCBAQA0KK0Zyb20gMzExMDZhMDczODgyNjU2YTJhNWFiNTZjNGNlMjg0N2U5YTMzNGMz YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmll bEBoYXh4LnNlPg0KK0RhdGU6IFdlZCwgMjggU2VwIDIwMTYgMTA6MTU6MzQgKzAyMDANCitTdWJq ZWN0OiBbUEFUQ0hdIGFwcmludGY6IGRldGVjdCB3cmFwLWFyb3VuZCB3aGVuIGdyb3dpbmcgYWxs b2NhdGlvbg0KKw0KK09uIDMyYml0IHN5c3RlbXMgd2UgY291bGQgb3RoZXJ3aXNlIHdyYXAgYXJv dW5kIGFmdGVyIDJHQiBhbmQgYWxsb2NhdGUgMA0KK2J5dGVzIGFuZCBjcmFzaC4NCisNCitDVkUt MjAxNi04NjE4DQorDQorQnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEw MkQuaHRtbA0KK1JlcG9ydGVkLWJ5OiBDdXJlNTMNCistLS0NCisgbGliL21wcmludGYuYyB8IDkg KysrKysrLS0tDQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pDQorDQorZGlmZiAtLWdpdCBhL2xpYi9tcHJpbnRmLmMgYi9saWIvbXByaW50Zi5jDQoraW5k ZXggZGJlZGVhYS4uMmM4OGFhOCAxMDA2NDQNCistLS0gYS9saWIvbXByaW50Zi5jDQorKysrIGIv bGliL21wcmludGYuYw0KK0BAIC0xMDM0LDIwICsxMDM0LDIzIEBAIHN0YXRpYyBpbnQgYWxsb2Nf YWRkYnl0ZXIoaW50IG91dHB1dCwgRklMRSAqZGF0YSkNCisgICAgIH0NCisgICAgIGluZm9wLT5h bGxvYyA9IDMyOw0KKyAgICAgaW5mb3AtPmxlbiA9MDsNCisgICB9DQorICAgZWxzZSBpZihpbmZv cC0+bGVuKzEgPj0gaW5mb3AtPmFsbG9jKSB7DQorLSAgICBjaGFyICpuZXdwdHI7DQorKyAgICBj aGFyICpuZXdwdHIgPSBOVUxMOw0KKysgICAgc2l6ZV90IG5ld3NpemUgPSBpbmZvcC0+YWxsb2Mq MjsNCisgDQorLSAgICBuZXdwdHIgPSByZWFsbG9jKGluZm9wLT5idWZmZXIsIGluZm9wLT5hbGxv YyoyKTsNCisrICAgIC8qIGRldGVjdCB3cmFwLWFyb3VuZCBvciBvdGhlciBvdmVyZmxvdyBwcm9i bGVtcyAqLw0KKysgICAgaWYobmV3c2l6ZSA+IGluZm9wLT5hbGxvYykNCisrICAgICAgbmV3cHRy ID0gcmVhbGxvYyhpbmZvcC0+YnVmZmVyLCBuZXdzaXplKTsNCisgDQorICAgICBpZighbmV3cHRy KSB7DQorICAgICAgIGluZm9wLT5mYWlsID0gMTsNCisgICAgICAgcmV0dXJuIC0xOyAvKiBmYWls ICovDQorICAgICB9DQorICAgICBpbmZvcC0+YnVmZmVyID0gbmV3cHRyOw0KKy0gICAgaW5mb3At PmFsbG9jICo9IDI7DQorKyAgICBpbmZvcC0+YWxsb2MgPSBuZXdzaXplOw0KKyAgIH0NCisgDQor ICAgaW5mb3AtPmJ1ZmZlclsgaW5mb3AtPmxlbiBdID0gb3V0YzsNCisgDQorICAgaW5mb3AtPmxl bisrOw0KKy0tIA0KKzIuOS4zDQorDQpkaWZmIC0tZ2l0IGEvbWFpbi9jdXJsL0NWRS0yMDE2LTg2 MTkucGF0Y2ggYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYxOS5wYXRjaA0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAuLjg0NzBiMzUNCi0tLSAvZGV2L251bGwNCisrKyBiL21haW4v Y3VybC9DVkUtMjAxNi04NjE5LnBhdGNoDQpAQCAtMCwwICsxLDUwIEBADQorRnJvbSA5MTIzOWY3 MDQwYjFmMDI2ZDRkMTU3NjVlN2UzZjU4ZTkyZTkzNzYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQ0KK0Zyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+DQorRGF0ZTogV2VkLCAy OCBTZXAgMjAxNiAxMjo1NjowMiArMDIwMA0KK1N1YmplY3Q6IFtQQVRDSF0ga3JiNTogYXZvaWQg cmVhbGxvYygwKQ0KKw0KK0lmIHRoZSByZXF1ZXN0ZWQgc2l6ZSBpcyB6ZXJvLCBiYWlsIG91dCB3 aXRoIGVycm9yIGluc3RlYWQgb2YgZG9pbmcgYQ0KK3JlYWxsb2MoKSB0aGF0IHdvdWxkIGNhdXNl IGEgZG91YmxlLWZyZWU6IHJlYWxsb2MoMCkgYWN0cyBhcyBhIGZyZWUoKQ0KK2FuZCB0aGVuIHRo ZXJlJ3MgYSBzZWNvbmQgZnJlZSBpbiB0aGUgY2xlYW51cCBwYXRoLg0KKw0KK0NWRS0yMDE2LTg2 MTkNCisNCitCdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2XzIwMTYxMTAyRS5odG1s DQorUmVwb3J0ZWQtYnk6IEN1cmU1Mw0KKy0tLQ0KKyBsaWIvc2VjdXJpdHkuYyB8IDkgKysrKysr LS0tDQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQor DQorZGlmZiAtLWdpdCBhL2xpYi9zZWN1cml0eS5jIGIvbGliL3NlY3VyaXR5LmMNCitpbmRleCBh MjY4ZDRhLi40Y2VmOGY4IDEwMDY0NA0KKy0tLSBhL2xpYi9zZWN1cml0eS5jDQorKysrIGIvbGli L3NlY3VyaXR5LmMNCitAQCAtMTkwLDE5ICsxOTAsMjIgQEAgc29ja2V0X3dyaXRlKHN0cnVjdCBj b25uZWN0ZGF0YSAqY29ubiwgY3VybF9zb2NrZXRfdCBmZCwgY29uc3Qgdm9pZCAqdG8sDQorIHN0 YXRpYyBDVVJMY29kZSByZWFkX2RhdGEoc3RydWN0IGNvbm5lY3RkYXRhICpjb25uLA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIGN1cmxfc29ja2V0X3QgZmQsDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IGtyYjVidWZmZXIgKmJ1ZikNCisgew0KKyAgIGludCBsZW47DQor LSAgdm9pZCogdG1wOw0KKysgIHZvaWQgKnRtcCA9IE5VTEw7DQorICAgQ1VSTGNvZGUgcmVzdWx0 Ow0KKyANCisgICByZXN1bHQgPSBzb2NrZXRfcmVhZChmZCwgJmxlbiwgc2l6ZW9mKGxlbikpOw0K KyAgIGlmKHJlc3VsdCkNCisgICAgIHJldHVybiByZXN1bHQ7DQorIA0KKy0gIGxlbiA9IG50b2hs KGxlbik7DQorLSAgdG1wID0gcmVhbGxvYyhidWYtPmRhdGEsIGxlbik7DQorKyAgaWYobGVuKSB7 DQorKyAgICAvKiBvbmx5IHJlYWxsb2MgaWYgdGhlcmUgd2FzIGEgbGVuZ3RoICovDQorKyAgICBs ZW4gPSBudG9obChsZW4pOw0KKysgICAgdG1wID0gcmVhbGxvYyhidWYtPmRhdGEsIGxlbik7DQor KyAgfQ0KKyAgIGlmKHRtcCA9PSBOVUxMKQ0KKyAgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1P Ulk7DQorIA0KKyAgIGJ1Zi0+ZGF0YSA9IHRtcDsNCisgICByZXN1bHQgPSBzb2NrZXRfcmVhZChm ZCwgYnVmLT5kYXRhLCBsZW4pOw0KKy0tIA0KKzIuOS4zDQorDQpkaWZmIC0tZ2l0IGEvbWFpbi9j dXJsL0NWRS0yMDE2LTg2MjAucGF0Y2ggYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyMC5wYXRjaA0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmM4YzJjZDENCi0tLSAvZGV2L251 bGwNCisrKyBiL21haW4vY3VybC9DVkUtMjAxNi04NjIwLnBhdGNoDQpAQCAtMCwwICsxLDIwNSBA QA0KK0Zyb20gNTJmM2UxZDEwOTJjODFhNGY1NzRjOWZjNmNiMzgxOGI4ODQzNGM4ZCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDENCitGcm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNl Pg0KK0RhdGU6IE1vbiwgMyBPY3QgMjAxNiAxNzoyNzoxNiArMDIwMA0KK1N1YmplY3Q6IFtQQVRD SCAxLzNdIHJhbmdlOiBwcmV2ZW50IG5lZ2F0aXZlIGVuZCBudW1iZXIgaW4gYSBnbG9iIHJhbmdl DQorTUlNRS1WZXJzaW9uOiAxLjANCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgNCitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQorDQorQ1ZFLTIwMTYtODYy MA0KKw0KK0J1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9hZHZfMjAxNjExMDJGLmh0bWwN CitSZXBvcnRlZC1ieTogTHXhuq10IE5ndXnhu4VuDQorLS0tDQorIHNyYy90b29sX3VybGdsb2Iu YyB8IDcgKysrKysrKw0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspDQorDQorZGlm ZiAtLWdpdCBhL3NyYy90b29sX3VybGdsb2IuYyBiL3NyYy90b29sX3VybGdsb2IuYw0KK2luZGV4 IGEzNTdiOGIuLjY0Yzc1YmEgMTAwNjQ0DQorLS0tIGEvc3JjL3Rvb2xfdXJsZ2xvYi5jDQorKysr IGIvc3JjL3Rvb2xfdXJsZ2xvYi5jDQorQEAgLTI1NSwxMCArMjU1LDE2IEBAIHN0YXRpYyBDVVJM Y29kZSBnbG9iX3JhbmdlKFVSTEdsb2IgKmdsb2IsIGNoYXIgKipwYXR0ZXJucCwNCisgICAgIGVs c2Ugew0KKyAgICAgICBpZigqZW5kcCAhPSAnLScpDQorICAgICAgICAgZW5kcCA9IE5VTEw7DQor ICAgICAgIGVsc2Ugew0KKyAgICAgICAgIHBhdHRlcm4gPSBlbmRwKzE7DQorKyAgICAgICAgd2hp bGUoKnBhdHRlcm4gJiYgSVNCTEFOSygqcGF0dGVybikpDQorKyAgICAgICAgICBwYXR0ZXJuKys7 DQorKyAgICAgICAgaWYoIUlTRElHSVQoKnBhdHRlcm4pKSB7DQorKyAgICAgICAgICBlbmRwID0g TlVMTDsNCisrICAgICAgICAgIGdvdG8gZmFpbDsNCisrICAgICAgICB9DQorICAgICAgICAgZXJy bm8gPSAwOw0KKyAgICAgICAgIG1heF9uID0gc3RydG91bChwYXR0ZXJuLCAmZW5kcCwgMTApOw0K KyAgICAgICAgIGlmKGVycm5vIHx8ICgqZW5kcCA9PSAnOicpKSB7DQorICAgICAgICAgICBwYXR0 ZXJuID0gZW5kcCsxOw0KKyAgICAgICAgICAgZXJybm8gPSAwOw0KK0BAIC0yNzUsMTAgKzI4MSwx MSBAQCBzdGF0aWMgQ1VSTGNvZGUgZ2xvYl9yYW5nZShVUkxHbG9iICpnbG9iLCBjaGFyICoqcGF0 dGVybnAsDQorICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgZW5kcCA9IE5VTEw7DQorICAgICAg IH0NCisgICAgIH0NCisgDQorKyAgICBmYWlsOg0KKyAgICAgKnBvc3AgKz0gKHBhdHRlcm4gLSAq cGF0dGVybnApOw0KKyANCisgICAgIGlmKCFlbmRwIHx8IChtaW5fbiA+IG1heF9uKSB8fCAoc3Rl cF9uID4gKG1heF9uIC0gbWluX24pKSB8fCAhc3RlcF9uKQ0KKyAgICAgICAvKiB0aGUgcGF0dGVy biBpcyBub3Qgd2VsbC1mb3JtZWQgKi8NCisgICAgICAgcmV0dXJuIEdMT0JFUlJPUigiYmFkIHJh bmdlIiwgKnBvc3AsIENVUkxFX1VSTF9NQUxGT1JNQVQpOw0KKy0tIA0KKzIuOS4zDQorDQorDQor RnJvbSBlOTdlYmU5N2MyYjUzZDM2MTdjMWY0MDgyYTJhYWE0ZjFiNTkzZWY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KK0Zyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+DQor RGF0ZTogTW9uLCAzIE9jdCAyMDE2IDE4OjIzOjIyICswMjAwDQorU3ViamVjdDogW1BBVENIIDIv M10gZ2xvYl9uZXh0X3VybDogbWFrZSBzdXJlIHRvIHN0YXkgd2l0aGluIHRoZSBnaXZlbiBvdXRw dXQNCisgYnVmZmVyDQorDQorLS0tDQorIHNyYy90b29sX3VybGdsb2IuYyB8IDE3ICsrKysrKysr KysrLS0tLS0tDQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvdG9vbF91cmxnbG9iLmMgYi9zcmMvdG9vbF91cmxn bG9iLmMNCitpbmRleCA2NGM3NWJhLi5jNDVhNzhiIDEwMDY0NA0KKy0tLSBhL3NyYy90b29sX3Vy bGdsb2IuYw0KKysrKyBiL3NyYy90b29sX3VybGdsb2IuYw0KK0BAIC00MjksMTAgKzQyOSwxMSBA QCBDVVJMY29kZSBnbG9iX3VybChVUkxHbG9iKiogZ2xvYiwgY2hhciogdXJsLCB1bnNpZ25lZCBs b25nICp1cmxudW0sDQorICAgKmdsb2IgPSBOVUxMOw0KKyANCisgICBnbG9iX2J1ZmZlciA9IG1h bGxvYyhzdHJsZW4odXJsKSArIDEpOw0KKyAgIGlmKCFnbG9iX2J1ZmZlcikNCisgICAgIHJldHVy biBDVVJMRV9PVVRfT0ZfTUVNT1JZOw0KKysgIGdsb2JfYnVmZmVyWzBdPTA7DQorIA0KKyAgIGds b2JfZXhwYW5kID0gY2FsbG9jKDEsIHNpemVvZihVUkxHbG9iKSk7DQorICAgaWYoIWdsb2JfZXhw YW5kKSB7DQorICAgICBDdXJsX3NhZmVmcmVlKGdsb2JfYnVmZmVyKTsNCisgICAgIHJldHVybiBD VVJMRV9PVVRfT0ZfTUVNT1JZOw0KK0BAIC01NDYsMzMgKzU0NywzNyBAQCBDVVJMY29kZSBnbG9i X25leHRfdXJsKGNoYXIgKipnbG9iYmVkLCBVUkxHbG9iICpnbG9iKQ0KKyAgIGZvcihpID0gMDsg aSA8IGdsb2ItPnNpemU7ICsraSkgew0KKyAgICAgcGF0ID0gJmdsb2ItPnBhdHRlcm5baV07DQor ICAgICBzd2l0Y2gocGF0LT50eXBlKSB7DQorICAgICBjYXNlIFVQVFNldDoNCisgICAgICAgaWYo cGF0LT5jb250ZW50LlNldC5lbGVtZW50cykgew0KKy0gICAgICAgIGxlbiA9IHN0cmxlbihwYXQt PmNvbnRlbnQuU2V0LmVsZW1lbnRzW3BhdC0+Y29udGVudC5TZXQucHRyX3NdKTsNCisgICAgICAg ICBzbnByaW50ZihidWYsIGJ1ZmxlbiwgIiVzIiwNCisgICAgICAgICAgICAgICAgICBwYXQtPmNv bnRlbnQuU2V0LmVsZW1lbnRzW3BhdC0+Y29udGVudC5TZXQucHRyX3NdKTsNCisrICAgICAgICBs ZW4gPSBzdHJsZW4oYnVmKTsNCisgICAgICAgICBidWYgKz0gbGVuOw0KKyAgICAgICAgIGJ1Zmxl biAtPSBsZW47DQorICAgICAgIH0NCisgICAgICAgYnJlYWs7DQorICAgICBjYXNlIFVQVENoYXJS YW5nZToNCistICAgICAgKmJ1ZisrID0gcGF0LT5jb250ZW50LkNoYXJSYW5nZS5wdHJfYzsNCisr ICAgICAgaWYoYnVmbGVuKSB7DQorKyAgICAgICAgKmJ1ZisrID0gcGF0LT5jb250ZW50LkNoYXJS YW5nZS5wdHJfYzsNCisrICAgICAgICAqYnVmID0gJ1wwJzsNCisrICAgICAgICBidWZsZW4tLTsN CisrICAgICAgfQ0KKyAgICAgICBicmVhazsNCisgICAgIGNhc2UgVVBUTnVtUmFuZ2U6DQorLSAg ICAgIGxlbiA9IHNucHJpbnRmKGJ1ZiwgYnVmbGVuLCAiJTAqbGQiLA0KKy0gICAgICAgICAgICAg ICAgICAgICBwYXQtPmNvbnRlbnQuTnVtUmFuZ2UucGFkbGVuZ3RoLA0KKy0gICAgICAgICAgICAg ICAgICAgICBwYXQtPmNvbnRlbnQuTnVtUmFuZ2UucHRyX24pOw0KKysgICAgICBzbnByaW50Zihi dWYsIGJ1ZmxlbiwgIiUwKmxkIiwNCisrICAgICAgICAgICAgICAgcGF0LT5jb250ZW50Lk51bVJh bmdlLnBhZGxlbmd0aCwNCisrICAgICAgICAgICAgICAgcGF0LT5jb250ZW50Lk51bVJhbmdlLnB0 cl9uKTsNCisrICAgICAgbGVuID0gc3RybGVuKGJ1Zik7DQorICAgICAgIGJ1ZiArPSBsZW47DQor ICAgICAgIGJ1ZmxlbiAtPSBsZW47DQorICAgICAgIGJyZWFrOw0KKyAgICAgZGVmYXVsdDoNCisg ICAgICAgcHJpbnRmKCJpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBwYXR0ZXJuIHR5cGUgKCVkKVxu IiwgKGludClwYXQtPnR5cGUpOw0KKyAgICAgICByZXR1cm4gQ1VSTEVfRkFJTEVEX0lOSVQ7DQor ICAgICB9DQorICAgfQ0KKy0gICpidWYgPSAnXDAnOw0KKyANCisgICAqZ2xvYmJlZCA9IHN0cmR1 cChnbG9iLT5nbG9iX2J1ZmZlcik7DQorICAgaWYoISpnbG9iYmVkKQ0KKyAgICAgcmV0dXJuIENV UkxFX09VVF9PRl9NRU1PUlk7DQorIA0KKy0tIA0KKzIuOS4zDQorDQorDQorRnJvbSA5Y2UzNzcw NTEyOTBjODMxNzZmMjM1YjUyNmI4NzkwNGNhZDZiMzg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQ0KK0Zyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+DQorRGF0ZTogVHVlLCA0 IE9jdCAyMDE2IDE3OjI1OjA5ICswMjAwDQorU3ViamVjdDogW1BBVENIIDMvM10gcmFuZ2U6IHJl amVjdCBjaGFyIGdsb2JzIHdpdGggbWlzc2luZyBlbmQgbGlrZSAnW0wtXScNCitNSU1FLVZlcnNp b246IDEuMA0KK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOA0KK0NvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQNCisNCisuLi4gd2hpY2ggcHJldmlvdXNseSB3b3Vs ZCBsZWFkIHRvIG91dCBvZiBib3VuZGFyeSByZWFkcy4NCisNCitSZXBvcnRlZC1ieTogTHXhuq10 IE5ndXnhu4VuDQorLS0tDQorIHNyYy90b29sX3VybGdsb2IuYyB8IDM0ICsrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0NCisgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyks IDE1IGRlbGV0aW9ucygtKQ0KKw0KK2RpZmYgLS1naXQgYS9zcmMvdG9vbF91cmxnbG9iLmMgYi9z cmMvdG9vbF91cmxnbG9iLmMNCitpbmRleCBjNDVhNzhiLi4wOWQyMWI2IDEwMDY0NA0KKy0tLSBh L3NyYy90b29sX3VybGdsb2IuYw0KKysrKyBiL3NyYy90b29sX3VybGdsb2IuYw0KK0BAIC0xODYs MzYgKzE4Niw0MCBAQCBzdGF0aWMgQ1VSTGNvZGUgZ2xvYl9yYW5nZShVUkxHbG9iICpnbG9iLCBj aGFyICoqcGF0dGVybnAsDQorIA0KKyAgIGlmKElTQUxQSEEoKnBhdHRlcm4pKSB7DQorICAgICAv KiBjaGFyYWN0ZXIgcmFuZ2UgZGV0ZWN0ZWQgKi8NCisgICAgIGNoYXIgbWluX2M7DQorICAgICBj aGFyIG1heF9jOw0KKysgICAgY2hhciBlbmRfYzsNCisgICAgIGludCBzdGVwPTE7DQorIA0KKyAg ICAgcGF0LT50eXBlID0gVVBUQ2hhclJhbmdlOw0KKyANCistICAgIHJjID0gc3NjYW5mKHBhdHRl cm4sICIlYy0lYyIsICZtaW5fYywgJm1heF9jKTsNCisrICAgIHJjID0gc3NjYW5mKHBhdHRlcm4s ICIlYy0lYyVjIiwgJm1pbl9jLCAmbWF4X2MsICZlbmRfYyk7DQorIA0KKy0gICAgaWYoKHJjID09 IDIpICYmIChwYXR0ZXJuWzNdID09ICc6JykpIHsNCistICAgICAgY2hhciAqZW5kcDsNCistICAg ICAgdW5zaWduZWQgbG9uZyBsc3RlcDsNCistICAgICAgZXJybm8gPSAwOw0KKy0gICAgICBsc3Rl cCA9IHN0cnRvdWwoJnBhdHRlcm5bNF0sICZlbmRwLCAxMCk7DQorLSAgICAgIGlmKGVycm5vIHx8 ICgqZW5kcCAhPSAnXScpKQ0KKy0gICAgICAgIHN0ZXAgPSAtMTsNCistICAgICAgZWxzZSB7DQor LSAgICAgICAgcGF0dGVybiA9IGVuZHArMTsNCistICAgICAgICBzdGVwID0gKGludClsc3RlcDsN CistICAgICAgICBpZihzdGVwID4gKG1heF9jIC0gbWluX2MpKQ0KKysgICAgaWYocmMgPT0gMykg ew0KKysgICAgICBpZihlbmRfYyA9PSAnOicpIHsNCisrICAgICAgICBjaGFyICplbmRwOw0KKysg ICAgICAgIHVuc2lnbmVkIGxvbmcgbHN0ZXA7DQorKyAgICAgICAgZXJybm8gPSAwOw0KKysgICAg ICAgIGxzdGVwID0gc3RydG91bCgmcGF0dGVybls0XSwgJmVuZHAsIDEwKTsNCisrICAgICAgICBp ZihlcnJubyB8fCAoKmVuZHAgIT0gJ10nKSkNCisgICAgICAgICAgIHN0ZXAgPSAtMTsNCisrICAg ICAgICBlbHNlIHsNCisrICAgICAgICAgIHBhdHRlcm4gPSBlbmRwKzE7DQorKyAgICAgICAgICBz dGVwID0gKGludClsc3RlcDsNCisrICAgICAgICAgIGlmKHN0ZXAgPiAobWF4X2MgLSBtaW5fYykp DQorKyAgICAgICAgICAgIHN0ZXAgPSAtMTsNCisrICAgICAgICB9DQorICAgICAgIH0NCisrICAg ICAgZWxzZSBpZihlbmRfYyAhPSAnXScpDQorKyAgICAgICAgLyogdGhlbiB0aGlzIGlzIHdyb25n ICovDQorKyAgICAgICAgcmMgPSAwOw0KKyAgICAgfQ0KKy0gICAgZWxzZQ0KKy0gICAgICBwYXR0 ZXJuICs9IDQ7DQorIA0KKyAgICAgKnBvc3AgKz0gKHBhdHRlcm4gLSAqcGF0dGVybnApOw0KKyAN CistICAgIGlmKChyYyAhPSAyKSB8fCAobWluX2MgPj0gbWF4X2MpIHx8ICgobWF4X2MgLSBtaW5f YykgPiAoJ3onIC0gJ2EnKSkgfHwNCisrICAgIGlmKChyYyAhPSAzKSB8fCAobWluX2MgPj0gbWF4 X2MpIHx8ICgobWF4X2MgLSBtaW5fYykgPiAoJ3onIC0gJ2EnKSkgfHwNCisgICAgICAgIChzdGVw IDw9IDApICkNCisgICAgICAgLyogdGhlIHBhdHRlcm4gaXMgbm90IHdlbGwtZm9ybWVkICovDQor ICAgICAgIHJldHVybiBHTE9CRVJST1IoImJhZCByYW5nZSIsICpwb3NwLCBDVVJMRV9VUkxfTUFM Rk9STUFUKTsNCisgDQorICAgICAvKiBpZiB0aGVyZSB3YXMgYSAiOltudW1dIiB0aGluZywgdXNl IHRoYXQgYXMgc3RlcCBvciBlbHNlIHVzZSAxICovDQorLS0gDQorMi45LjMNCisNCmRpZmYgLS1n aXQgYS9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyMS5wYXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi04 NjIxLnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uNjg1NWNlOQ0K LS0tIC9kZXYvbnVsbA0KKysrIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjEucGF0Y2gNCkBAIC0w LDAgKzEsMTIxIEBADQorRnJvbSA4YTZkOWRlZDVmMDJmMDI5NGFlNjNhMDA3ZTI2MDg3MzE2YzE5 OThlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IERhbmllbCBTdGVuYmVyZyA8ZGFu aWVsQGhheHguc2U+DQorRGF0ZTogVHVlLCA0IE9jdCAyMDE2IDE2OjU5OjM4ICswMjAwDQorU3Vi amVjdDogW1BBVENIXSBwYXJzZWRhdGU6IGhhbmRsZSBjdXQgb2ZmIG51bWJlcnMgYmV0dGVyDQor TUlNRS1WZXJzaW9uOiAxLjANCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgNCitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQorDQorLi4uIGFuZCBkb24ndCBy ZWFkIG91dHNpZGUgb2YgdGhlIGdpdmVuIGJ1ZmZlciENCisNCitDVkUtMjAxNi04NjIxDQorDQor YnVnOiBodHRwczovL2N1cmwuaGF4eC5zZS9kb2NzL2Fkdl8yMDE2MTEwMkcuaHRtbA0KK1JlcG9y dGVkLWJ5OiBMdeG6rXQgTmd1eeG7hW4NCistLS0NCisgbGliL3BhcnNlZGF0ZS5jICAgICAgICB8 IDEyICsrKysrKystLS0tLQ0KKyB0ZXN0cy9kYXRhL3Rlc3Q1MTcgICAgIHwgIDYgKysrKysrDQor IHRlc3RzL2xpYnRlc3QvbGliNTE3LmMgfCAgOCArKysrKysrLQ0KKyAzIGZpbGVzIGNoYW5nZWQs IDIwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQorDQorZGlmZiAtLWdpdCBhL2xpYi9w YXJzZWRhdGUuYyBiL2xpYi9wYXJzZWRhdGUuYw0KK2luZGV4IGRmY2Y4NTUuLjhlOTMyZjQgMTAw NjQ0DQorLS0tIGEvbGliL3BhcnNlZGF0ZS5jDQorKysrIGIvbGliL3BhcnNlZGF0ZS5jDQorQEAg LTMsMTEgKzMsMTEgQEANCisgICogIFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwg fCB8ICBfIFx8IHwNCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8 IHxfKSB8IHwNCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBf IDx8IHxfX18NCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wg XF9cX19fX198DQorICAqDQorLSAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTQsIERhbmllbCBT dGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQorKyAqIENvcHlyaWdodCAoQykgMTk5 OCAtIDIwMTYsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQorICAq DQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxl IENPUFlJTkcsIHdoaWNoDQorICAqIHlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhcyBwYXJ0IG9m IHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMNCisgICogYXJlIGFsc28gYXZhaWxhYmxlIGF0 IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0Lmh0bWwuDQorICAqDQorQEAgLTM4 NCwxOSArMzg0LDIxIEBAIHN0YXRpYyBpbnQgcGFyc2VkYXRlKGNvbnN0IGNoYXIgKmRhdGUsIHRp bWVfdCAqb3V0cHV0KQ0KKyAgICAgfQ0KKyAgICAgZWxzZSBpZihJU0RJR0lUKCpkYXRlKSkgew0K KyAgICAgICAvKiBhIGRpZ2l0ICovDQorICAgICAgIGludCB2YWw7DQorICAgICAgIGNoYXIgKmVu ZDsNCisrICAgICAgaW50IGxlbj0wOw0KKyAgICAgICBpZigoc2VjbnVtID09IC0xKSAmJg0KKy0g ICAgICAgICAoMyA9PSBzc2NhbmYoZGF0ZSwgIiUwMmQ6JTAyZDolMDJkIiwgJmhvdXJudW0sICZt aW5udW0sICZzZWNudW0pKSkgew0KKysgICAgICAgICAoMyA9PSBzc2NhbmYoZGF0ZSwgIiUwMmQ6 JTAyZDolMDJkJW4iLA0KKysgICAgICAgICAgICAgICAgICAgICAgJmhvdXJudW0sICZtaW5udW0s ICZzZWNudW0sICZsZW4pKSkgew0KKyAgICAgICAgIC8qIHRpbWUgc3RhbXAhICovDQorLSAgICAg ICAgZGF0ZSArPSA4Ow0KKysgICAgICAgIGRhdGUgKz0gbGVuOw0KKyAgICAgICB9DQorICAgICAg IGVsc2UgaWYoKHNlY251bSA9PSAtMSkgJiYNCistICAgICAgICAgICAgICAoMiA9PSBzc2NhbmYo ZGF0ZSwgIiUwMmQ6JTAyZCIsICZob3VybnVtLCAmbWlubnVtKSkpIHsNCisrICAgICAgICAgICAg ICAoMiA9PSBzc2NhbmYoZGF0ZSwgIiUwMmQ6JTAyZCVuIiwgJmhvdXJudW0sICZtaW5udW0sICZs ZW4pKSkgew0KKyAgICAgICAgIC8qIHRpbWUgc3RhbXAgd2l0aG91dCBzZWNvbmRzICovDQorLSAg ICAgICAgZGF0ZSArPSA1Ow0KKysgICAgICAgIGRhdGUgKz0gbGVuOw0KKyAgICAgICAgIHNlY251 bSA9IDA7DQorICAgICAgIH0NCisgICAgICAgZWxzZSB7DQorICAgICAgICAgbG9uZyBsdmFsOw0K KyAgICAgICAgIGludCBlcnJvcjsNCitkaWZmIC0tZ2l0IGEvdGVzdHMvZGF0YS90ZXN0NTE3IGIv dGVzdHMvZGF0YS90ZXN0NTE3DQoraW5kZXggYzgxYTQ1ZS4uNTEzNjM0ZiAxMDA2NDQNCistLS0g YS90ZXN0cy9kYXRhL3Rlc3Q1MTcNCisrKysgYi90ZXN0cy9kYXRhL3Rlc3Q1MTcNCitAQCAtMTE0 LDEwICsxMTQsMTYgQEAgbm90aGluZw0KKyA3OTogMjAxMTA2MzIgMTI6MzQ6NTYgPT4gLTENCisg ODA6IDIwMTEwNjIzIDU2OjM0OjU2ID0+IC0xDQorIDgxOiAyMDExMTMyMyAxMjozNDo1NiA9PiAt MQ0KKyA4MjogMjAxMTA2MjMgMTI6MzQ6NzkgPT4gLTENCisgODM6IFdlZCwgMzEgRGVjIDIwMDgg MjM6NTk6NjAgR01UID0+IDEyMzA3NjgwMDANCisrODQ6IDIwMTEwNjIzIDEyOjMgPT4gMTMwODgz MDU4MA0KKys4NTogMjAxMTA2MjMgMTozID0+IDEzMDg3OTA5ODANCisrODY6IDIwMTEwNjIzIDE6 MzAgPT4gMTMwODc5MjYwMA0KKys4NzogMjAxMTA2MjMgMTI6MTI6MyA9PiAxMzA4ODMxMTIzDQor Kzg4OiAyMDExMDYyMyAwMToxMjozID0+IDEzMDg3OTE1MjMNCisrODk6IDIwMTEwNjIzIDAxOjk5 OjMwID0+IC0xDQorIDwvc3Rkb3V0Pg0KKyANCisgIyBUaGlzIHRlc3QgY2FzZSBwcmV2aW91c2x5 IHRlc3RlZCBhbiBvdmVyZmxvdyBjYXNlICgiMjA5NCBOb3YgNiA9Pg0KKyAjIDIxNDc0ODM2NDci KSBmb3IgMzJiaXQgdGltZV90LCBidXQgc2luY2Ugc29tZSBzeXN0ZW1zIGhhdmUgNjRiaXQgdGlt ZV90IGFuZA0KKyAjIGhhbmRsZXMgdGhpcyAocmV0dXJuaW5nIDM5Mzk4NDAwMDApLCBhbmQgc29t ZSA2NGJpdC10aW1lX3Qgc3lzdGVtcyBkb24ndA0KK2RpZmYgLS1naXQgYS90ZXN0cy9saWJ0ZXN0 L2xpYjUxNy5jIGIvdGVzdHMvbGlidGVzdC9saWI1MTcuYw0KK2luZGV4IDJmNjhlYmQuLjIyMTYy ZmYgMTAwNjQ0DQorLS0tIGEvdGVzdHMvbGlidGVzdC9saWI1MTcuYw0KKysrKyBiL3Rlc3RzL2xp YnRlc3QvbGliNTE3LmMNCitAQCAtMywxMSArMywxMSBAQA0KKyAgKiAgUHJvamVjdCAgICAgICAg ICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfA0KKyAgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfA0KKyAgKiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXw0KKyAgKiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wNCisgICoNCistICogQ29weXJpZ2h0IChDKSAx OTk4IC0gMjAxMSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4NCisr ICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNiwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhh eHguc2U+LCBldCBhbC4NCisgICoNCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBhcyBk ZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gNCisgICogeW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcw0KKyAgKiBh cmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmlnaHQu aHRtbC4NCisgICoNCitAQCAtMTE0LDEwICsxMTQsMTYgQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCBkYXRlc1tdPXsNCisgICAiMjAxMTA2MzIgMTI6MzQ6NTYiLA0KKyAgICIyMDExMDYyMyA1 NjozNDo1NiIsDQorICAgIjIwMTExMzIzIDEyOjM0OjU2IiwNCisgICAiMjAxMTA2MjMgMTI6MzQ6 NzkiLA0KKyAgICJXZWQsIDMxIERlYyAyMDA4IDIzOjU5OjYwIEdNVCIsIC8qIGxlYXAgc2Vjb25k ICovDQorKyAgIjIwMTEwNjIzIDEyOjMiLA0KKysgICIyMDExMDYyMyAxOjMiLA0KKysgICIyMDEx MDYyMyAxOjMwIiwNCisrICAiMjAxMTA2MjMgMTI6MTI6MyIsDQorKyAgIjIwMTEwNjIzIDAxOjEy OjMiLA0KKysgICIyMDExMDYyMyAwMTo5OTozMCIsDQorICAgTlVMTA0KKyB9Ow0KKyANCisgaW50 IHRlc3QoY2hhciAqVVJMKQ0KKyB7DQorLS0gDQorMi45LjMNCisNCmRpZmYgLS1naXQgYS9tYWlu L2N1cmwvQ1ZFLTIwMTYtODYyMi5wYXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi04NjIyLnBhdGNo DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uZTZkYmE2OQ0KLS0tIC9kZXYv bnVsbA0KKysrIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjIucGF0Y2gNCkBAIC0wLDAgKzEsMTI2 IEBADQorRnJvbSA3MWRhOTE0NTM4OTliYTIwYjI4ZWU5NzEyNjIwZTMyMzE0NWEwZWU1IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQ0KK0Zyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHgu c2U+DQorRGF0ZTogVHVlLCA0IE9jdCAyMDE2IDE4OjU2OjQ1ICswMjAwDQorU3ViamVjdDogW1BB VENIXSB1bmVzY2FwZTogYXZvaWQgaW50ZWdlciBvdmVyZmxvdw0KKw0KK0NWRS0yMDE2LTg2MjIN CisNCitCdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvYWR2XzIwMTYxMTAySC5odG1sDQor UmVwb3J0ZWQtYnk6IEN1cmU1Mw0KKy0tLQ0KKyBkb2NzL2xpYmN1cmwvY3VybF9lYXN5X3VuZXNj YXBlLjMgfCAgNyArKysrKy0tDQorIGxpYi9kaWN0LmMgICAgICAgICAgICAgICAgICAgICAgICB8 IDEwICsrKysrLS0tLS0NCisgbGliL2VzY2FwZS5jICAgICAgICAgICAgICAgICAgICAgIHwgMTAg KysrKysrKystLQ0KKyAzIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDkgZGVsZXRp b25zKC0pDQorDQorZGlmZiAtLWdpdCBhL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfdW5lc2NhcGUu MyBiL2RvY3MvbGliY3VybC9jdXJsX2Vhc3lfdW5lc2NhcGUuMw0KK2luZGV4IDA2ZmQ2ZmMuLjUw Y2U5N2QgMTAwNjQ0DQorLS0tIGEvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV91bmVzY2FwZS4zDQor KysrIGIvZG9jcy9saWJjdXJsL2N1cmxfZWFzeV91bmVzY2FwZS4zDQorQEAgLTMsMTEgKzMsMTEg QEANCisgLlwiICogIFByb2plY3QgICAgICAgICAgICAgICAgICAgICBfX198IHwgfCB8ICBfIFx8 IHwNCisgLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gX198IHwgfCB8IHxfKSB8 IHwNCisgLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoX198IHxffCB8ICBfIDx8 IHxfX18NCisgLlwiICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfX198XF9fXy98X3wg XF9cX19fX198DQorIC5cIiAqDQorLS5cIiAqIENvcHlyaWdodCAoQykgMTk5OCAtIDIwMTUsIERh bmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQgYWwuDQorKy5cIiAqIENvcHlyaWdo dCAoQykgMTk5OCAtIDIwMTYsIERhbmllbCBTdGVuYmVyZywgPGRhbmllbEBoYXh4LnNlPiwgZXQg YWwuDQorIC5cIiAqDQorIC5cIiAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgYXMgZGVzY3Jp YmVkIGluIHRoZSBmaWxlIENPUFlJTkcsIHdoaWNoDQorIC5cIiAqIHlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhcyBwYXJ0IG9mIHRoaXMgZGlzdHJpYnV0aW9uLiBUaGUgdGVybXMNCisgLlwiICog YXJlIGFsc28gYXZhaWxhYmxlIGF0IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvY29weXJpZ2h0 Lmh0bWwuDQorIC5cIiAqDQorQEAgLTM4LDExICszOCwxNCBAQCB0aGVpciBiaW5hcnkgdmVyc2lv bnMuDQorIElmIHRoZSBcZkJsZW5ndGhcZlAgYXJndW1lbnQgaXMgc2V0IHRvIDAgKHplcm8pLCBc ZkljdXJsX2Vhc3lfdW5lc2NhcGUoMylcZlANCisgd2lsbCB1c2Ugc3RybGVuKCkgb24gdGhlIGlu cHV0IFxmSXVybFxmUCBzdHJpbmcgdG8gZmluZCBvdXQgdGhlIHNpemUuDQorIA0KKyBJZiBcZkJv dXRsZW5ndGhcZlAgaXMgbm9uLU5VTEwsIHRoZSBmdW5jdGlvbiB3aWxsIHdyaXRlIHRoZSBsZW5n dGggb2YgdGhlDQorIHJldHVybmVkIHN0cmluZyBpbiB0aGUgaW50ZWdlciBpdCBwb2ludHMgdG8u IFRoaXMgYWxsb3dzIGFuIGVzY2FwZWQgc3RyaW5nDQorLWNvbnRhaW5pbmcgJTAwIHRvIHN0aWxs IGdldCB1c2VkIHByb3Blcmx5IGFmdGVyIHVuZXNjYXBpbmcuDQorK2NvbnRhaW5pbmcgJTAwIHRv IHN0aWxsIGdldCB1c2VkIHByb3Blcmx5IGFmdGVyIHVuZXNjYXBpbmcuIFNpbmNlIHRoaXMgaXMg YQ0KKytwb2ludGVyIHRvIGFuIFxmSWludFxmUCB0eXBlLCBpdCBjYW4gb25seSByZXR1cm4gYSB2 YWx1ZSB1cCB0byBJTlRfTUFYIHNvIG5vDQorK2xvbmdlciBzdHJpbmcgY2FuIGJlIHVuZXNjYXBl ZCBpZiB0aGUgc3RyaW5nIGxlbmd0aCBpcyByZXR1cm5lZCBpbiB0aGlzDQorK3BhcmFtZXRlci4N CisgDQorIFlvdSBtdXN0IFxmSWN1cmxfZnJlZSgzKVxmUCB0aGUgcmV0dXJuZWQgc3RyaW5nIHdo ZW4geW91J3JlIGRvbmUgd2l0aCBpdC4NCisgLlNIIEFWQUlMQUJJTElUWQ0KKyBBZGRlZCBpbiA3 LjE1LjQgYW5kIHJlcGxhY2VzIHRoZSBvbGQgXGZJY3VybF91bmVzY2FwZSgzKVxmUCBmdW5jdGlv bi4NCisgLlNIIFJFVFVSTiBWQUxVRQ0KK2RpZmYgLS1naXQgYS9saWIvZGljdC5jIGIvbGliL2Rp Y3QuYw0KK2luZGV4IGE3YjU5NjUuLjQ4YTRlMGEgMTAwNjQ0DQorLS0tIGEvbGliL2RpY3QuYw0K KysrKyBiL2xpYi9kaWN0LmMNCitAQCAtMywxMSArMywxMSBAQA0KKyAgKiAgUHJvamVjdCAgICAg ICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfA0KKyAgKiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfA0KKyAgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXw0KKyAgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wNCisgICoNCistICogQ29weXJpZ2h0IChD KSAxOTk4IC0gMjAxNSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4N CisrICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNiwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVs QGhheHguc2U+LCBldCBhbC4NCisgICoNCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCBh cyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gNCisgICogeW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRoZSB0ZXJtcw0KKyAg KiBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9jb3B5cmln aHQuaHRtbC4NCisgICoNCitAQCAtNTAsMTEgKzUwLDExIEBADQorIA0KKyAjaW5jbHVkZSAidXJs ZGF0YS5oIg0KKyAjaW5jbHVkZSA8Y3VybC9jdXJsLmg+DQorICNpbmNsdWRlICJ0cmFuc2Zlci5o Ig0KKyAjaW5jbHVkZSAic2VuZGYuaCINCistDQorKyNpbmNsdWRlICJlc2NhcGUuaCINCisgI2lu Y2x1ZGUgInByb2dyZXNzLmgiDQorICNpbmNsdWRlICJzdHJlcXVhbC5oIg0KKyAjaW5jbHVkZSAi ZGljdC5oIg0KKyAjaW5jbHVkZSAicmF3c3RyLmgiDQorICNpbmNsdWRlICJjdXJsX21lbW9yeS5o Ig0KK0BAIC05NCwxNiArOTQsMTYgQEAgY29uc3Qgc3RydWN0IEN1cmxfaGFuZGxlciBDdXJsX2hh bmRsZXJfZGljdCA9IHsNCisgc3RhdGljIGNoYXIgKnVuZXNjYXBlX3dvcmQoc3RydWN0IEN1cmxf ZWFzeSAqZGF0YSwgY29uc3QgY2hhciAqaW5wdXRidWZmKQ0KKyB7DQorICAgY2hhciAqbmV3cDsN CisgICBjaGFyICpkaWN0cDsNCisgICBjaGFyICpwdHI7DQorLSAgaW50IGxlbjsNCisrICBzaXpl X3QgbGVuOw0KKyAgIGNoYXIgY2g7DQorICAgaW50IG9sZW49MDsNCisgDQorLSAgbmV3cCA9IGN1 cmxfZWFzeV91bmVzY2FwZShkYXRhLCBpbnB1dGJ1ZmYsIDAsICZsZW4pOw0KKy0gIGlmKCFuZXdw KQ0KKysgIENVUkxjb2RlIHJlc3VsdCA9IEN1cmxfdXJsZGVjb2RlKGRhdGEsIGlucHV0YnVmZiwg MCwgJm5ld3AsICZsZW4sIEZBTFNFKTsNCisrICBpZighbmV3cCB8fCByZXN1bHQpDQorICAgICBy ZXR1cm4gTlVMTDsNCisgDQorICAgZGljdHAgPSBtYWxsb2MoKChzaXplX3QpbGVuKSoyICsgMSk7 IC8qIGFkZCBvbmUgZm9yIHRlcm1pbmF0aW5nIHplcm8gKi8NCisgICBpZihkaWN0cCkgew0KKyAg ICAgLyogQWNjb3JkaW5nIHRvIFJGQzIyMjkgc2VjdGlvbiAyLjIsIHRoZXNlIGxldHRlcnMgbmVl ZCB0byBiZSBlc2NhcGVkIHdpdGgNCitkaWZmIC0tZ2l0IGEvbGliL2VzY2FwZS5jIGIvbGliL2Vz Y2FwZS5jDQoraW5kZXggZTYxMjYwZC4uNjY1NzAwNyAxMDA2NDQNCistLS0gYS9saWIvZXNjYXBl LmMNCisrKysgYi9saWIvZXNjYXBlLmMNCitAQCAtMjIyLDEyICsyMjIsMTggQEAgY2hhciAqY3Vy bF9lYXN5X3VuZXNjYXBlKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEsIGNvbnN0IGNoYXIgKnN0cmlu ZywNCisgICAgIHNpemVfdCBvdXRwdXRsZW47DQorICAgICBDVVJMY29kZSByZXMgPSBDdXJsX3Vy bGRlY29kZShkYXRhLCBzdHJpbmcsIGlucHV0bGVuLCAmc3RyLCAmb3V0cHV0bGVuLA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UpOw0KKyAgICAgaWYocmVzKQ0KKyAg ICAgICByZXR1cm4gTlVMTDsNCistICAgIGlmKG9sZW4pDQorLSAgICAgICpvbGVuID0gY3VybHhf dXp0b3NpKG91dHB1dGxlbik7DQorKw0KKysgICAgaWYob2xlbikgew0KKysgICAgICBpZihvdXRw dXRsZW4gPD0gKHNpemVfdCkgSU5UX01BWCkNCisrICAgICAgICAqb2xlbiA9IGN1cmx4X3V6dG9z aShvdXRwdXRsZW4pOw0KKysgICAgICBlbHNlDQorKyAgICAgICAgLyogdG9vIGxhcmdlIHRvIHJl dHVybiBpbiBhbiBpbnQsIGZhaWwhICovDQorKyAgICAgICAgQ3VybF9zYWZlZnJlZShzdHIpOw0K KysgICAgfQ0KKyAgIH0NCisgICByZXR1cm4gc3RyOw0KKyB9DQorIA0KKyAvKiBGb3Igb3BlcmF0 aW5nIHN5c3RlbXMvZW52aXJvbm1lbnRzIHRoYXQgdXNlIGRpZmZlcmVudCBtYWxsb2MvZnJlZQ0K Ky0tIA0KKzIuOS4zDQorDQpkaWZmIC0tZ2l0IGEvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjMucGF0 Y2ggYi9tYWluL2N1cmwvQ1ZFLTIwMTYtODYyMy5wYXRjaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAuLjRlYjg2NzgNCi0tLSAvZGV2L251bGwNCisrKyBiL21haW4vY3VybC9D VkUtMjAxNi04NjIzLnBhdGNoDQpAQCAtMCwwICsxLDIwNyBAQA0KK0Zyb20gZDlkNTdmZTBkYTZm MjVkMDU1NzBmZDU4MzUyMGVjZDMyMWVkOWMzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCitG cm9tOiBEYW5pZWwgU3RlbmJlcmcgPGRhbmllbEBoYXh4LnNlPg0KK0RhdGU6IFR1ZSwgNCBPY3Qg MjAxNiAyMzoyNjoxMyArMDIwMA0KK1N1YmplY3Q6IFtQQVRDSF0gY29va2llczogZ2V0bGlzdCgp IG5vdyBob2xkcyBkZWVwIGNvcGllcyBvZiBhbGwgY29va2llcw0KKw0KK1ByZXZpb3VzbHkgaXQg b25seSBoZWxkIHJlZmVyZW5jZXMgdG8gdGhlbSwgd2hpY2ggd2FzIHJlY2tsZXNzIGFzIHRoZQ0K K3RocmVhZCBsb2NrIHdhcyByZWxlYXNlZCBzbyB0aGUgY29va2llcyBjb3VsZCBnZXQgbW9kaWZp ZWQgYnkgb3RoZXINCitoYW5kbGVzIHRoYXQgc2hhcmUgdGhlIHNhbWUgY29va2llIGphciBvdmVy IHRoZSBzaGFyZSBpbnRlcmZhY2UuDQorDQorQ1ZFLTIwMTYtODYyMw0KKw0KK0J1ZzogaHR0cHM6 Ly9jdXJsLmhheHguc2UvZG9jcy9hZHZfMjAxNjExMDJJLmh0bWwNCitSZXBvcnRlZC1ieTogQ3Vy ZTUzDQorLS0tDQorIGxpYi9jb29raWUuYyB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyBsaWIvY29va2llLmggfCAgNCAr Ky0tDQorIGxpYi9odHRwLmMgICB8ICAyICstDQorIDMgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0 aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pDQorDQorZGlmZiAtLWdpdCBhL2xpYi9jb29raWUuYyBi L2xpYi9jb29raWUuYw0KK2luZGV4IDBmMDVkYTIuLjg2MDdjZTMgMTAwNjQ0DQorLS0tIGEvbGli L2Nvb2tpZS5jDQorKysrIGIvbGliL2Nvb2tpZS5jDQorQEAgLTEwMjIsMTAgKzEwMjIsNDQgQEAg c3RhdGljIGludCBjb29raWVfc29ydChjb25zdCB2b2lkICpwMSwgY29uc3Qgdm9pZCAqcDIpDQor IA0KKyAgIC8qIHNvcnJ5LCBjYW4ndCBiZSBtb3JlIGRldGVybWluaXN0aWMgKi8NCisgICByZXR1 cm4gMDsNCisgfQ0KKyANCisrI2RlZmluZSBDTE9ORShmaWVsZCkgICAgICAgICAgICAgICAgICAg ICBcDQorKyAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KKysgICAg aWYoc3JjLT5maWVsZCkgeyAgICAgICAgICAgICAgICAgICAgIFwNCisrICAgICAgZHVwLT5maWVs ZCA9IHN0cmR1cChzcmMtPmZpZWxkKTsgICBcDQorKyAgICAgIGlmKCFkdXAtPmZpZWxkKSAgICAg ICAgICAgICAgICAgICAgXA0KKysgICAgICAgIGdvdG8gZmFpbDsgICAgICAgICAgICAgICAgICAg ICAgIFwNCisrICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQorKyAg fSB3aGlsZSgwKQ0KKysNCisrc3RhdGljIHN0cnVjdCBDb29raWUgKmR1cF9jb29raWUoc3RydWN0 IENvb2tpZSAqc3JjKQ0KKyt7DQorKyAgc3RydWN0IENvb2tpZSAqZHVwID0gY2FsbG9jKHNpemVv ZihzdHJ1Y3QgQ29va2llKSwgMSk7DQorKyAgaWYoZHVwKSB7DQorKyAgICBDTE9ORShleHBpcmVz dHIpOw0KKysgICAgQ0xPTkUoZG9tYWluKTsNCisrICAgIENMT05FKHBhdGgpOw0KKysgICAgQ0xP TkUoc3BhdGgpOw0KKysgICAgQ0xPTkUobmFtZSk7DQorKyAgICBDTE9ORSh2YWx1ZSk7DQorKyAg ICBDTE9ORShtYXhhZ2UpOw0KKysgICAgQ0xPTkUodmVyc2lvbik7DQorKyAgICBkdXAtPmV4cGly ZXMgPSBzcmMtPmV4cGlyZXM7DQorKyAgICBkdXAtPnRhaWxtYXRjaCA9IHNyYy0+dGFpbG1hdGNo Ow0KKysgICAgZHVwLT5zZWN1cmUgPSBzcmMtPnNlY3VyZTsNCisrICAgIGR1cC0+bGl2ZWNvb2tp ZSA9IHNyYy0+bGl2ZWNvb2tpZTsNCisrICAgIGR1cC0+aHR0cG9ubHkgPSBzcmMtPmh0dHBvbmx5 Ow0KKysgIH0NCisrICByZXR1cm4gZHVwOw0KKysNCisrICBmYWlsOg0KKysgIGZyZWVjb29raWUo ZHVwKTsNCisrICByZXR1cm4gTlVMTDsNCisrfQ0KKysNCisgLyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq DQorICAqDQorICAqIEN1cmxfY29va2llX2dldGxpc3QoKQ0KKyAgKg0KKyAgKiBGb3IgYSBnaXZl biBob3N0IGFuZCBwYXRoLCByZXR1cm4gYSBsaW5rZWQgbGlzdCBvZiBjb29raWVzIHRoYXQgdGhl DQorQEAgLTEwNzcsMTUgKzExMTEsMTIgQEAgc3RydWN0IENvb2tpZSAqQ3VybF9jb29raWVfZ2V0 bGlzdChzdHJ1Y3QgQ29va2llSW5mbyAqYywNCisgICAgICAgICBpZighY28tPnNwYXRoIHx8IHBh dGhtYXRjaChjby0+c3BhdGgsIHBhdGgpICkgew0KKyANCisgICAgICAgICAgIC8qIGFuZCBub3cs IHdlIGtub3cgdGhpcyBpcyBhIG1hdGNoIGFuZCB3ZSBzaG91bGQgY3JlYXRlIGFuDQorICAgICAg ICAgICAgICBlbnRyeSBmb3IgdGhlIHJldHVybi1saW5rZWQtbGlzdCAqLw0KKyANCistICAgICAg ICAgIG5ld2NvID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgQ29va2llKSk7DQorKyAgICAgICAgICBu ZXdjbyA9IGR1cF9jb29raWUoY28pOw0KKyAgICAgICAgICAgaWYobmV3Y28pIHsNCistICAgICAg ICAgICAgLyogZmlyc3QsIGNvcHkgdGhlIHdob2xlIHNvdXJjZSBjb29raWU6ICovDQorLSAgICAg ICAgICAgIG1lbWNweShuZXdjbywgY28sIHNpemVvZihzdHJ1Y3QgQ29va2llKSk7DQorLQ0KKyAg ICAgICAgICAgICAvKiB0aGVuIG1vZGlmeSBvdXIgbmV4dCAqLw0KKyAgICAgICAgICAgICBuZXdj by0+bmV4dCA9IG1haW5jbzsNCisgDQorICAgICAgICAgICAgIC8qIHBvaW50IHRoZSBtYWluIHRv IHVzICovDQorICAgICAgICAgICAgIG1haW5jbyA9IG5ld2NvOw0KK0BAIC0xMDkzLDE2ICsxMTI0 LDExIEBAIHN0cnVjdCBDb29raWUgKkN1cmxfY29va2llX2dldGxpc3Qoc3RydWN0IENvb2tpZUlu Zm8gKmMsDQorICAgICAgICAgICAgIG1hdGNoZXMrKzsNCisgICAgICAgICAgIH0NCisgICAgICAg ICAgIGVsc2Ugew0KKyAgICAgICAgICAgICBmYWlsOg0KKyAgICAgICAgICAgICAvKiBmYWlsdXJl LCBjbGVhciB1cCB0aGUgYWxsb2NhdGVkIGNoYWluIGFuZCByZXR1cm4gTlVMTCAqLw0KKy0gICAg ICAgICAgICB3aGlsZShtYWluY28pIHsNCistICAgICAgICAgICAgICBjbyA9IG1haW5jby0+bmV4 dDsNCistICAgICAgICAgICAgICBmcmVlKG1haW5jbyk7DQorLSAgICAgICAgICAgICAgbWFpbmNv ID0gY287DQorLSAgICAgICAgICAgIH0NCistDQorKyAgICAgICAgICAgIEN1cmxfY29va2llX2Zy ZWVsaXN0KG1haW5jbyk7DQorICAgICAgICAgICAgIHJldHVybiBOVUxMOw0KKyAgICAgICAgICAg fQ0KKyAgICAgICAgIH0NCisgICAgICAgfQ0KKyAgICAgfQ0KK0BAIC0xMTUwLDExICsxMTc2LDEx IEBAIHN0cnVjdCBDb29raWUgKkN1cmxfY29va2llX2dldGxpc3Qoc3RydWN0IENvb2tpZUluZm8g KmMsDQorICAqDQorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyB2b2lkIEN1cmxfY29va2llX2Ns ZWFyYWxsKHN0cnVjdCBDb29raWVJbmZvICpjb29raWVzKQ0KKyB7DQorICAgaWYoY29va2llcykg ew0KKy0gICAgQ3VybF9jb29raWVfZnJlZWxpc3QoY29va2llcy0+Y29va2llcywgVFJVRSk7DQor KyAgICBDdXJsX2Nvb2tpZV9mcmVlbGlzdChjb29raWVzLT5jb29raWVzKTsNCisgICAgIGNvb2tp ZXMtPmNvb2tpZXMgPSBOVUxMOw0KKyAgICAgY29va2llcy0+bnVtY29va2llcyA9IDA7DQorICAg fQ0KKyB9DQorIA0KK0BAIC0xMTYyLDI1ICsxMTg4LDE4IEBAIHZvaWQgQ3VybF9jb29raWVfY2xl YXJhbGwoc3RydWN0IENvb2tpZUluZm8gKmNvb2tpZXMpDQorICAqDQorICAqIEN1cmxfY29va2ll X2ZyZWVsaXN0KCkNCisgICoNCisgICogRnJlZSBhIGxpc3Qgb2YgY29va2llcyBwcmV2aW91c2x5 IHJldHVybmVkIGJ5IEN1cmxfY29va2llX2dldGxpc3QoKTsNCisgICoNCistICogVGhlICdjb29r aWVzdG9vJyBhcmd1bWVudCB0ZWxscyB0aGlzIGZ1bmN0aW9uIHdoZXRoZXIgdG8ganVzdCBmcmVl IHRoZQ0KKy0gKiBsaXN0IG9yIGFjdHVhbGx5IGFsc28gZnJlZSBhbGwgY29va2llcyB3aXRoaW4g dGhlIGxpc3QgYXMgd2VsbC4NCistICoNCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorIA0KKy12 b2lkIEN1cmxfY29va2llX2ZyZWVsaXN0KHN0cnVjdCBDb29raWUgKmNvLCBib29sIGNvb2tpZXN0 b28pDQorK3ZvaWQgQ3VybF9jb29raWVfZnJlZWxpc3Qoc3RydWN0IENvb2tpZSAqY28pDQorIHsN CisgICBzdHJ1Y3QgQ29va2llICpuZXh0Ow0KKyAgIHdoaWxlKGNvKSB7DQorICAgICBuZXh0ID0g Y28tPm5leHQ7DQorLSAgICBpZihjb29raWVzdG9vKQ0KKy0gICAgICBmcmVlY29va2llKGNvKTsN CistICAgIGVsc2UNCistICAgICAgZnJlZShjbyk7IC8qIHdlIG9ubHkgZnJlZSB0aGUgc3RydWN0 IHNpbmNlIHRoZSAibWVtYmVycyIgYXJlIGFsbCBqdXN0DQorLSAgICAgICAgICAgICAgICAgICBw b2ludGVkIG91dCBpbiB0aGUgbWFpbiBjb29raWUgbGlzdCEgKi8NCisrICAgIGZyZWVjb29raWUo Y28pOw0KKyAgICAgY28gPSBuZXh0Ow0KKyAgIH0NCisgfQ0KKyANCisgDQorQEAgLTEyMzEsMTEg KzEyNTAsMTEgQEAgdm9pZCBDdXJsX2Nvb2tpZV9jbGVhcnNlc3Moc3RydWN0IENvb2tpZUluZm8g KmNvb2tpZXMpDQorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyB2b2lkIEN1cmxfY29va2llX2Ns ZWFudXAoc3RydWN0IENvb2tpZUluZm8gKmMpDQorIHsNCisgICBpZihjKSB7DQorICAgICBmcmVl KGMtPmZpbGVuYW1lKTsNCistICAgIEN1cmxfY29va2llX2ZyZWVsaXN0KGMtPmNvb2tpZXMsIFRS VUUpOw0KKysgICAgQ3VybF9jb29raWVfZnJlZWxpc3QoYy0+Y29va2llcyk7DQorICAgICBmcmVl KGMpOyAvKiBmcmVlIHRoZSBiYXNlIHN0cnVjdCBhcyB3ZWxsICovDQorICAgfQ0KKyB9DQorIA0K KyAvKiBnZXRfbmV0c2NhcGVfZm9ybWF0KCkNCitkaWZmIC0tZ2l0IGEvbGliL2Nvb2tpZS5oIGIv bGliL2Nvb2tpZS5oDQoraW5kZXggY2Q3YzU0YS4uYTlhNDU3OCAxMDA2NDQNCistLS0gYS9saWIv Y29va2llLmgNCisrKysgYi9saWIvY29va2llLmgNCitAQCAtNSwxMSArNSwxMSBAQA0KKyAgKiAg UHJvamVjdCAgICAgICAgICAgICAgICAgICAgIF9fX3wgfCB8IHwgIF8gXHwgfA0KKyAgKiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLyBfX3wgfCB8IHwgfF8pIHwgfA0KKyAgKiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IChfX3wgfF98IHwgIF8gPHwgfF9fXw0KKyAgKiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXF9fX3xcX19fL3xffCBcX1xfX19fX3wNCisgICoNCistICog Q29weXJpZ2h0IChDKSAxOTk4IC0gMjAxMSwgRGFuaWVsIFN0ZW5iZXJnLCA8ZGFuaWVsQGhheHgu c2U+LCBldCBhbC4NCisrICogQ29weXJpZ2h0IChDKSAxOTk4IC0gMjAxNiwgRGFuaWVsIFN0ZW5i ZXJnLCA8ZGFuaWVsQGhheHguc2U+LCBldCBhbC4NCisgICoNCisgICogVGhpcyBzb2Z0d2FyZSBp cyBsaWNlbnNlZCBhcyBkZXNjcmliZWQgaW4gdGhlIGZpbGUgQ09QWUlORywgd2hpY2gNCisgICog eW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhpcyBkaXN0cmlidXRpb24uIFRo ZSB0ZXJtcw0KKyAgKiBhcmUgYWxzbyBhdmFpbGFibGUgYXQgaHR0cHM6Ly9jdXJsLmhheHguc2Uv ZG9jcy9jb3B5cmlnaHQuaHRtbC4NCisgICoNCitAQCAtODAsMTEgKzgwLDExIEBAIHN0cnVjdCBD b29raWUgKkN1cmxfY29va2llX2FkZChzdHJ1Y3QgQ3VybF9lYXN5ICpkYXRhLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IENvb2tpZUluZm8gKiwgYm9vbCBoZWFkZXIs IGNoYXIgKmxpbmVwdHIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj aGFyICpkb21haW4sIGNvbnN0IGNoYXIgKnBhdGgpOw0KKyANCisgc3RydWN0IENvb2tpZSAqQ3Vy bF9jb29raWVfZ2V0bGlzdChzdHJ1Y3QgQ29va2llSW5mbyAqLCBjb25zdCBjaGFyICosDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqLCBib29sKTsNCist dm9pZCBDdXJsX2Nvb2tpZV9mcmVlbGlzdChzdHJ1Y3QgQ29va2llICpjb29raWVzLCBib29sIGNv b2tpZXN0b28pOw0KKyt2b2lkIEN1cmxfY29va2llX2ZyZWVsaXN0KHN0cnVjdCBDb29raWUgKmNv b2tpZXMpOw0KKyB2b2lkIEN1cmxfY29va2llX2NsZWFyYWxsKHN0cnVjdCBDb29raWVJbmZvICpj b29raWVzKTsNCisgdm9pZCBDdXJsX2Nvb2tpZV9jbGVhcnNlc3Moc3RydWN0IENvb2tpZUluZm8g KmNvb2tpZXMpOw0KKyANCisgI2lmIGRlZmluZWQoQ1VSTF9ESVNBQkxFX0hUVFApIHx8IGRlZmlu ZWQoQ1VSTF9ESVNBQkxFX0NPT0tJRVMpDQorICNkZWZpbmUgQ3VybF9jb29raWVfbGlzdCh4KSBO VUxMDQorZGlmZiAtLWdpdCBhL2xpYi9odHRwLmMgYi9saWIvaHR0cC5jDQoraW5kZXggNjVjMTQ1 YS4uZTZlN2QzNyAxMDA2NDQNCistLS0gYS9saWIvaHR0cC5jDQorKysrIGIvbGliL2h0dHAuYw0K K0BAIC0yMzgyLDExICsyMzgyLDExIEBAIENVUkxjb2RlIEN1cmxfaHR0cChzdHJ1Y3QgY29ubmVj dGRhdGEgKmNvbm4sIGJvb2wgKmRvbmUpDQorICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAg ICAgY291bnQrKzsNCisgICAgICAgICB9DQorICAgICAgICAgY28gPSBjby0+bmV4dDsgLyogbmV4 dCBjb29raWUgcGxlYXNlICovDQorICAgICAgIH0NCistICAgICAgQ3VybF9jb29raWVfZnJlZWxp c3Qoc3RvcmUsIEZBTFNFKTsgLyogZnJlZSB0aGUgY29va2llIGxpc3QgKi8NCisrICAgICAgQ3Vy bF9jb29raWVfZnJlZWxpc3Qoc3RvcmUpOw0KKyAgICAgfQ0KKyAgICAgaWYoYWRkY29va2llcyAm JiAhcmVzdWx0KSB7DQorICAgICAgIGlmKCFjb3VudCkNCisgICAgICAgICByZXN1bHQgPSBDdXJs X2FkZF9idWZmZXJmKHJlcV9idWZmZXIsICJDb29raWU6ICIpOw0KKyAgICAgICBpZighcmVzdWx0 KSB7DQorLS0gDQorMi45LjMNCisNCmRpZmYgLS1naXQgYS9tYWluL2N1cmwvQ1ZFLTIwMTYtODYy NC1maXhlZC5wYXRjaCBiL21haW4vY3VybC9DVkUtMjAxNi04NjI0LWZpeGVkLnBhdGNoDQpuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uYjI4OGY5ZQ0KLS0tIC9kZXYvbnVsbA0K KysrIGIvbWFpbi9jdXJsL0NWRS0yMDE2LTg2MjQtZml4ZWQucGF0Y2gNCkBAIC0wLDAgKzEsNjEg QEANCitGcm9tIDY2MDRkNGRmMzBhZWM2NmRiNmY1YmQ1MWVlM2MzNDFkZDczMjlmY2YgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxDQorRnJvbTogRGFuaWVsIFN0ZW5iZXJnIDxkYW5pZWxAaGF4eC5z ZT4NCitEYXRlOiBUdWUsIDExIE9jdCAyMDE2IDAwOjQ4OjM1ICswMjAwDQorU3ViamVjdDogW1BB VENIXSB1cmxwYXJzZTogYWNjZXB0ICcjJyBhcyBlbmQgb2YgaG9zdCBuYW1lDQorTUlNRS1WZXJz aW9uOiAxLjANCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgNCitDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0DQorDQorJ2h0dHA6Ly9leGFtcGxlLmNvbSNAMTI3 LjAuMC4xL3gudHh0JyBlcXVhbHMgYSByZXF1ZXN0IHRvIGV4YW1wbGUuY29tDQorZm9yIHRoZSAn LycgZG9jdW1lbnQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgVVJMIGJlaW5nIGEgZnJhZ21lbnQuDQor DQorQ1ZFLTIwMTYtODYyNA0KKw0KK0J1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9hZHZf MjAxNjExMDJKLmh0bWwNCitSZXBvcnRlZC1ieTogRmVybmFuZG8gTXXDsW96DQorLS0tDQorIGxp Yi91cmwuYyB8IDEwICsrKysrLS0tLS0NCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygr KSwgNSBkZWxldGlvbnMoLSkNCisNCitkaWZmIC0tZ2l0IGEvbGliL3VybC5jIGIvbGliL3VybC5j DQoraW5kZXggOTFiMmJmOC4uOTgyMzZlMiAxMDA2NDQNCistLS0NCitQYXRjaCB3YXMgc2xpZ2h0 bHkgbW9kaWZpZWQgYnkgU2VyZ2V5IEx1a2luIDxzZXJnZWoubHVraW5AZ21haWwuY29tPg0KK09y aWdpbmFsIHBhdGNoIChodHRwczovL2N1cmwuaGF4eC5zZS9DVkUtMjAxNi04NjI0LnBhdGNoKSBm YWlsZWQgdG8gYXBwbHkgdG8NCitjdXJsIDcuNDkuMQ0KKw0KKy0tLSBhL2xpYi91cmwuYw0KKysr KyBiL2xpYi91cmwuYw0KK0BAIC00MTQ0LDcgKzQxNDQsNyBAQA0KKyAgICAgcGF0aFswXT0wOw0K KyANCisgICAgIGlmKDIgPiBzc2NhbmYoZGF0YS0+Y2hhbmdlLnVybCwNCistICAgICAgICAgICAg ICAgICAgICIlMTVbXlxuOl06Ly8lW15cbi8/XSVbXlxuXSIsDQorKyAgICAgICAgICAgICAgICAg ICAiJTE1W15cbjpdOi8vJVteXG4vPyNdJVteXG5dIiwNCisgICAgICAgICAgICAgICAgICAgIHBy b3RvYnVmLA0KKyAgICAgICAgICAgICAgICAgICAgY29ubi0+aG9zdC5uYW1lLCBwYXRoKSkgew0K KyANCitAQCAtNDE1Miw3ICs0MTUyLDcgQEANCisgICAgICAgICogVGhlIFVSTCB3YXMgYmFkbHkg Zm9ybWF0dGVkLCBsZXQncyB0cnkgdGhlIGJyb3dzZXItc3R5bGUgX3dpdGhvdXRfDQorICAgICAg ICAqIHByb3RvY29sIHNwZWNpZmllZCBsaWtlICdodHRwOi8vJy4NCisgICAgICAgICovDQorLSAg ICAgIHJjID0gc3NjYW5mKGRhdGEtPmNoYW5nZS51cmwsICIlW15cbi8/XSVbXlxuXSIsIGNvbm4t Pmhvc3QubmFtZSwgcGF0aCk7DQorKyAgICAgIHJjID0gc3NjYW5mKGRhdGEtPmNoYW5nZS51cmws ICIlW15cbi8/I10lW15cbl0iLCBjb25uLT5ob3N0Lm5hbWUsIHBhdGgpOw0KKyAgICAgICBpZigx ID4gcmMpIHsNCisgICAgICAgICAvKg0KKyAgICAgICAgICAqIFdlIGNvdWxkbid0IGV2ZW4gZ2V0 IHRoaXMgZm9ybWF0Lg0KK0BAIC00MjQyLDEwICs0MjQyLDEwIEBADQorICAgfQ0KKyANCisgICAv KiBJZiB0aGUgVVJMIGlzIG1hbGZvcm1hdHRlZCAobWlzc2luZyBhICcvJyBhZnRlciBob3N0bmFt ZSBiZWZvcmUgcGF0aCkgd2UNCistICAgKiBpbnNlcnQgYSBzbGFzaCBoZXJlLiBUaGUgb25seSBs ZXR0ZXIgZXhjZXB0ICcvJyB3ZSBhY2NlcHQgdG8gc3RhcnQgYSBwYXRoDQorLSAgICogaXMgJz8n Lg0KKysgICAqIGluc2VydCBhIHNsYXNoIGhlcmUuIFRoZSBvbmx5IGxldHRlcnMgZXhjZXB0ICcv JyB0aGF0IGNhbiBzdGFydCBhIHBhdGggaXMNCisrICAgKiAnPycgYW5kICcjJyAtIGFzIGNvbnRy b2xsZWQgYnkgdGhlIHR3byBzc2NhbmYoKSBwYXR0ZXJucyBhYm92ZS4NCisgICAgKi8NCistICBp ZihwYXRoWzBdID09ICc/Jykgew0KKysgIGlmKHBhdGhbMF0gIT0gJy8nKSB7DQorICAgICAvKiBX ZSBuZWVkIHRoaXMgZnVuY3Rpb24gdG8gZGVhbCB3aXRoIG92ZXJsYXBwaW5nIG1lbW9yeSBhcmVh cy4gV2Uga25vdw0KKyAgICAgICAgdGhhdCB0aGUgbWVtb3J5IGFyZWEgJ3BhdGgnIHBvaW50cyB0 byBpcyAndXJsbGVuJyBieXRlcyBiaWcgYW5kIHRoYXQNCisgICAgICAgIGlzIGJpZ2dlciB0aGFu IHRoZSBwYXRoLiBVc2UgKzEgdG8gbW92ZSB0aGUgemVybyBieXRlIHRvby4gKi8NCisNCi0tIA0K Mi40LjExDQoNCg0KDQotLS0NClVuc3Vic2NyaWJlOiAgYWxwaW5lLWFwb3J0cyt1bnN1YnNjcmli ZUBsaXN0cy5hbHBpbmVsaW51eC5vcmcNCkhlbHA6ICAgICAgICAgYWxwaW5lLWFwb3J0cytoZWxw QGxpc3RzLmFscGluZWxpbnV4Lm9yZw0KLS0tDQo=