From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Jaesup Kwak Newsgroups: gmane.emacs.bugs Subject: bug#29565: [PATCH] Support xwidget webkit for macOS X Date: Wed, 13 Dec 2017 20:27:09 +0900 Message-ID: References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="f403043a0bbc5bce190560370c26" X-Trace: blaine.gmane.org 1513164492 25617 195.159.176.226 (13 Dec 2017 11:28:12 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 13 Dec 2017 11:28:12 +0000 (UTC) To: 29565@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Dec 13 12:28:07 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP5Cn-0006Km-PW for geb-bug-gnu-emacs@m.gmane.org; Wed, 13 Dec 2017 12:28:06 +0100 Original-Received: from localhost ([::1]:34922 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eP5Cv-0006in-1f for geb-bug-gnu-emacs@m.gmane.org; Wed, 13 Dec 2017 06:28:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48811) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eP5Co-0006iU-2j for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2017 06:28:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eP5Ck-0002t2-U1 for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2017 06:28:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:50810) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eP5Ck-0002so-NB for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2017 06:28:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eP5Ck-0002Hb-ID for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2017 06:28:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Jaesup Kwak Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 Dec 2017 11:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29565 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 29565-submit@debbugs.gnu.org id=B29565.15131644408716 (code B ref 29565); Wed, 13 Dec 2017 11:28:02 +0000 Original-Received: (at 29565) by debbugs.gnu.org; 13 Dec 2017 11:27:20 +0000 Original-Received: from localhost ([127.0.0.1]:59491 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP5C4-0002GW-7u for submit@debbugs.gnu.org; Wed, 13 Dec 2017 06:27:20 -0500 Original-Received: from mail-wr0-f172.google.com ([209.85.128.172]:40256) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP5C0-0002GE-60 for 29565@debbugs.gnu.org; Wed, 13 Dec 2017 06:27:18 -0500 Original-Received: by mail-wr0-f172.google.com with SMTP id q9so1785434wre.7 for <29565@debbugs.gnu.org>; Wed, 13 Dec 2017 03:27:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=F2/cJbnbcR2bH7Z3eXxXCAN43DeYj0PxdK3bGJ1dWZs=; b=ZQcxzKiyP6+FDIiatsRGr6oaKwkkHobiVemIOIrtP7Ehb386olHnHT/566wj5nsDst uugf/hjCbl6evzGuIbWZ+daG5/C83xKh7qYL7oQhqckTpXmAQK5FCNG4pIDjXG3HFWEF RxTcdss2sK4ktZ+oD0KtvHc+9S1i0Rr3+jbj5Hbu00Q9bGJXcy5wg/ue1634nI0E86nE XAF+niupB2RdOIRwVdmxk9KyViY5Ms0FVWi0NmEwFNG9fpNSKXAQgM9HButyHbJEKDvl hgOioCWMIeyx1303/NmUVAzJFNIv6tLzbpXRKlwkSrOXLqAwL1G4FsvBnuRNDifir7CP CAwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=F2/cJbnbcR2bH7Z3eXxXCAN43DeYj0PxdK3bGJ1dWZs=; b=tAlcrisJjcY48Jh96ZHNtwOH6fqw6o74SIq+tcvop7hxmOi+xz9pJWtcyK2yPK8xwm ppBcTZIQGJb1CSmGwe5nufBDCBbbKO2F9VnG/DEbxIEZZ8b2x3P4jEuW12YECE+HgmBu pwC7XiX3nslKUolSbdxibZDLYcGg/nIc/89uq+xPAnger2WdcWQESxnUr/ila5l/ovCL q8nftpbIO1K2l21n5x/t9TFRz7HPkxsksPz2EQLR6nVvDqIMCkd+WJYJaCvR5c1yKn28 zHfvfJUlU4hvHyWKLv2zyC0XyIkejImeyQhct4ysviWoIjnOGbI3P7Fq9khswQ49sKY6 5X9w== X-Gm-Message-State: AKGB3mLuoIYBTbm6XkIlRR/s7MalsRuaUU67zUBPOKl0G4d2Hxg1pEXe 3MppleSSWvd8eSeSXf5Y84k5U+TPzmXSoYhRjD/ifA== X-Google-Smtp-Source: ACJfBovDZq3XAiE/gwMtJVY2n/tbetUTMZDLAhmpxOiJnQGE2Tw6MuejsHsrWOSD6/IVrTslo0+DS94VtYEM9JVg74s= X-Received: by 10.223.182.19 with SMTP id f19mr1979932wre.81.1513164430353; Wed, 13 Dec 2017 03:27:10 -0800 (PST) Original-Received: by 10.28.227.67 with HTTP; Wed, 13 Dec 2017 03:27:09 -0800 (PST) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:141028 Archived-At: --f403043a0bbc5bce190560370c26 Content-Type: multipart/alternative; boundary="f403043a0bbc5bce150560370c24" --f403043a0bbc5bce150560370c24 Content-Type: text/plain; charset="UTF-8" These are path files for further development from the last post. * 0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch For example, this stop playing audio when you kill the xwidget webkit buffer while watching a youtube. * 0002-Functions-when-javascript-not-allowed-Bug-29565.patch This patch support basic xwidget webkit functions even when javascript is not allowed due to 'Content-Security-Policy' HTTP Response header. And enable web inspector, which is very valuable for javascript related debugging. --f403043a0bbc5bce150560370c24 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
These are path files for further development from the last= post.

* 0001-Stop-audio-when-xwidget-webkit-killed= -Bug-29565.patch

For example, this stop playing au= dio when you kill the xwidget webkit buffer while watching a youtube.
=

* 0002-Functions-when-javascript-not-allowed-Bug-29565.= patch

This patch support basic xwidget webki= t functions even when javascript is not allowed due to 'Content-Securit= y-Policy' HTTP Response header.=C2=A0 And enable web inspector, which i= s very valuable for javascript related debugging.

--f403043a0bbc5bce150560370c24-- --f403043a0bbc5bce190560370c26 Content-Type: application/octet-stream; name="0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch" Content-Disposition: attachment; filename="0001-Stop-audio-when-xwidget-webkit-killed-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jb4z09410 RnJvbSA4YzExNDk3NGUzZTliNTY2OTRjZTNlMTcwNzBkMWUyODFjNWExMzEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFN1biwgMTAgRGVjIDIwMTcgMTY6MjQ6MjkgKzA5MDAKU3ViamVjdDogW1BBVENIIDEvMl0gU3Rv cCBhdWRpbyB3aGVuIHh3aWRnZXQtd2Via2l0IGtpbGxlZCAoQnVnIzI5NTY1KQoKKiBzcmMvbnN4 d2lkZ2V0Lm0KLS0tCiBzcmMvbnN4d2lkZ2V0Lm0gfCA1ICsrKysrCiAxIGZpbGUgY2hhbmdlZCwg NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL25zeHdpZGdldC5tIGIvc3JjL25zeHdp ZGdldC5tCmluZGV4IDA0ZjE0NzJjOTYuLjlhMGQ5MzljM2QgMTAwNjQ0Ci0tLSBhL3NyYy9uc3h3 aWRnZXQubQorKysgYi9zcmMvbnN4d2lkZ2V0Lm0KQEAgLTM5NSw2ICszOTUsMTEgQEAgLSAoQk9P TClpc0ZsaXBwZWQgeyByZXR1cm4gWUVTOyB9CiAgICAgICBbc2NyaXB0b3IgcmVsZWFzZV07CiAg ICAgICBpZiAoeHctPnh2KQogICAgICAgICB4dy0+eHYtPm1vZGVsID0gUW5pbDsgLyogTWFrZSBz dXJlIHJlbGF0ZWQgdmlldyBzdGFsZS4gICovCisKKyAgICAgIC8qIFRoaXMgc3RvcHMgcGxheWlu ZyBhdWRpbyB3aGVuIGEgeHdpZGdldC13ZWJraXQgYnVmZmVyIGlzCisgICAgICAgICBraWxsZWQu ICBJIGNvdWxkIG5vdCBmaW5kIG90aGVyIHNvbHV0aW9uLiAgKi8KKyAgICAgIG5zeHdpZGdldF93 ZWJraXRfZ290b191cmkgKHh3LCAiYWJvdXQ6YmxhbmsiKTsKKwogICAgICAgW3h3LT54d1dpZGdl dCByZW1vdmVGcm9tU3VwZXJ2aWV3V2l0aG91dE5lZWRpbmdEaXNwbGF5XTsKICAgICAgIFt4dy0+ eHdXaWRnZXQgcmVsZWFzZV07CiAgICAgICBbeHctPnh3V2luZG93IHJlbW92ZUZyb21TdXBlcnZp ZXdXaXRob3V0TmVlZGluZ0Rpc3BsYXldOwotLSAKMi4xNS4wCgo= --f403043a0bbc5bce190560370c26 Content-Type: application/octet-stream; name="0002-Functions-when-javascript-not-allowed-Bug-29565.patch" Content-Disposition: attachment; filename="0002-Functions-when-javascript-not-allowed-Bug-29565.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jb4z0gca1 RnJvbSA4ZDc3NTBmNDY0YzdjNTA5NzY2ODg3NWRhZWQxMzc2YTE5NDUwOTRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWVzdXAgS3dhayA8dmVzaGJvb0BnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMTMgRGVjIDIwMTcgMTU6MDM6MDAgKzA5MDAKU3ViamVjdDogW1BBVENIIDIvMl0gRnVu Y3Rpb25zIHdoZW4gamF2YXNjcmlwdCBub3QgYWxsb3dlZCAoQnVnIzI5NTY1KQoKU3VwcG9ydCBz b21lIGJhc2ljIHh3aWRnZXQgd2Via2l0IGZ1bmN0aW9ucyB3aGVuIGphdmFzY3JpcHQgYmxvY2tl ZCBieQonQ29udGVudC1TZWN1cml0eS1Qb2xpY3knLiAgUmVwbGFjZSBzb21lIGphdmFzY3JpcHQg Y2FsbHMgd2l0aCB3ZWJraXQKbmF0aXZlIGZ1bmN0aW9ucyBhbmQgcmVtb3ZlIGNhbGxiYWNrcyBm b3IgdGhlIGphdmFzY3JpcHRzLgoKUmVmYWN0b3IgJ3h3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJs Jywgbm8gc2lkZSBlZmZlY3Qgb2YgbWVzc2FnZSBvcgpraWxsLXJpbmcuICBObyBtb3JlIGFzeW5j LCBkaXJlY3RseSB1c2VkIGluIGJvb2ttYXJraW5nLCByZW1vdmluZyBVUkwKdGV4dCBwcm9wZXJ0 eS4gIEFkZCBuZXcgZnVuY3Rpb24gJ3h3aWRnZXQtd2Via2l0LXVybC1tZXNzYWdlLWtpbGwnIGZv cgpvbGQgYmVoYXZpb3IuCgpBZGQgbmV3IGtleSBtYXAgJ2YnIHRvIG5ldyBmdW5jdGlvbiAneHdp ZGdldC13ZWJraXQtZm9yd2FyZCcuCgpVbmlxdWVseSAncmVuYW1lLWJ1ZmZlcicgd2l0aCBwYWdl IHRpdGxlIHdoZW4gdGhlIHBhZ2UgaXMgbG9hZGVkLgoKRW5hYmxlIHdlYiBpbnNwZWN0b3IgZm9y IG5zIHh3aWRnZXQgd2Via2l0LgoKQ2hhbmdlIHh3U2NyaXB0IChucyB4d2lkZ2V0IHdlYmtpdCBr ZXlib2FyZCBmb2N1cyByZWxhdGVkIHNjcmlwdCkKaW5qZWN0aW9uIHRpbWUgdG8gZG9jdW1lbnQg c3RhcnQgZnJvbSBkb2N1bWVudCBlbmQuCgoqIGxpc3AveHdpZGdldC5lbCAoeHdpZGdldC13ZWJr aXQtdXJpLCB4d2lkZ2V0LXdlYmtpdC10aXRsZSkKKHh3aWRnZXQtd2Via2l0LWdvdG8taGlzdG9y eSk6IE5ldyB3ZWJraXQgbmF0aXZlIGZ1bmN0aW9ucy4KKHh3aWRnZXQtd2Via2l0LWN4Mi1jYiwg eHdpZGdldC13ZWJraXQtY3gzLWNiKQooeHdpZGdldC13ZWJraXQtdXJsLXRpdGxlLWNiLCB4d2lk Z2V0LXdlYmtpdC1jdXJyZW50LXVybC1jYik6IFJlbW92ZQpqYXZhc2NyaXB0IGNhbGxiYWNrcy4K KHh3aWRnZXQtd2Via2l0LWNhbGxiYWNrKTogUmVwbGFjZSBqYXZhc2NyaXB0IHdpdGggd2Via2l0 IG5hdGl2ZS4gIE5vClVSTCB0ZXh0IHByb3BlcnR5LiAgUmVuYW1lIGJ1ZmZlciB1bmlxdWUuCih4 d2lkZ2V0LXdlYmtpdC1iYWNrLCB4d2lkZ2V0LXdlYmtpdC1yZWxvYWQpOiBSZXBsYWNlIGphdmFz Y3JpcHQgd2l0aAp3ZWJraXQgbmF0aXZlLgooeHdpZGdldC13ZWJraXQtbW9kZS1tYXAsIHh3aWRn ZXQtd2Via2l0LWZvcndhcmQpOiBOZXcgZnVuY3Rpb24uCih4d2lkZ2V0LXdlYmtpdC1jdXJyZW50 LXVybCwgeHdpZGdldC13ZWJraXQtY3VycmVudC11cmwtbWVzc2FnZS1raWxsKQooeHdpZGdldC13 ZWJraXQtY3gyLCB4d2lkZ2V0LXdlYmtpdC1jeDMpCih4d2lkZ2V0LXdlYmtpdC1ib29rbWFyay1t YWtlLXJlY29yZCk6IFJlcGxhY2UgamF2YXNjcmlwdCB3aXRoIHdlYmtpdApuYXRpdmUuICBSZWZh Y3RvciAneHdpZGdldC13ZWJraXQtY3VycmVudC11cmwnLgoqIHNyYy9uc3h3aWRnZXQuaAoqIHNy Yy9uc3h3aWRnZXQubSAobnN4d2lkZ2V0X3dlYmtpdF91cmksIG5zeHdpZGdldF93ZWJraXRfdGl0 bGUpCihuc3h3aWRnZXRfd2Via2l0X2dvdG9faGlzdG9yeSk6IE5ldyB3ZWJraXQgbmF0aXZlIGZ1 bmN0aW9ucy4KKFh3V2ViVmlldzo6dXJsU2NyaXB0QmxvY2tlZCwgWHdXZWJWaWV3Ojppbml0V2l0 aEZyYW1lKQooWHdXZWJWaWV3OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UsIG5z eHdpZGdldF9raWxsKTogQWRkCnByb3BlcnR5IG1hcHBpbmcgVVJMIHRvIHdoZXRoZXIgamF2YXNj cmlwdCBhbGxvd2VkIG9yIG5vdC4gIEVuYWJsZSB3ZWIKaW5zcGVjdG9yLiAgQ2hhbmdlIHVzZXIg c2NyaXB0IGluamVjdGlvbiB0aW1lLgooWHdXZWJWaWV3OjprZXlEb3duKTogU2VuZCBrZXlEb3du IGV2ZW50IHRvIGVtYWNzIHdoZW4gamF2YXNjcmlwdCBub3QKYWxsb3dlZCBvciBqYXZhc2NyaXB0 IGV4ZWN1dGlvbiBlcnJvci4KKG5zeHdpZGdldF93ZWJraXRfZXhlY3V0ZV9zY3JpcHQpOiBEbyBu b3QgZXZhbHVhdGUgamF2YXNjcmlwdCB3aGVuIG5vdAphbGxvd2VkLgoqIHNyYy94d2lkZ2V0LmMg KEZ4d2lkZ2V0X3dlYmtpdF91cmksIEZ4d2lnZXRfd2Via2l0X3RpdGxlKQooRnh3aWRnZXRfd2Vi a2l0X2dvdG9faGlzdG9yeSwgc3ltc19vZl94d2lkZ2V0KTogREVGVU5zIGZvciBuZXcgd2Via2l0 Cm5hdGl2ZSBmdW5jdGlvbnMgYW5kIGltcGxlbWVudGF0aW9ucyBmb3IgVVNFX0dUSyBhbmQgTlNf SU1QTEVfQ09DT0EuCi0tLQogbGlzcC94d2lkZ2V0LmVsIHwgMTAyICsrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMvbnN4d2lkZ2V0Lmgg fCAgIDMgKysKIHNyYy9uc3h3aWRnZXQubSB8ICA3OSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tCiBzcmMveHdpZGdldC5jICAgfCAgNTQgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE3MiBpbnNlcnRpb25zKCspLCA2NiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL3h3aWRnZXQuZWwgYi9saXNwL3h3aWRnZXQu ZWwKaW5kZXggMDMxODNjMTlkNS4uZTViM2ZiMmFkOSAxMDA2NDQKLS0tIGEvbGlzcC94d2lkZ2V0 LmVsCisrKyBiL2xpc3AveHdpZGdldC5lbApAQCAtMzksOSArMzksMTQgQEAKIChkZWNsYXJlLWZ1 bmN0aW9uIHh3aWRnZXQtYnVmZmVyICJ4d2lkZ2V0LmMiICh4d2lkZ2V0KSkKIChkZWNsYXJlLWZ1 bmN0aW9uIHh3aWRnZXQtc2l6ZS1yZXF1ZXN0ICJ4d2lkZ2V0LmMiICh4d2lkZ2V0KSkKIChkZWNs YXJlLWZ1bmN0aW9uIHh3aWRnZXQtcmVzaXplICJ4d2lkZ2V0LmMiICh4d2lkZ2V0IG5ldy13aWR0 aCBuZXctaGVpZ2h0KSkKKzs7IEBjYWxsYmFjayAtIFByZWZlciBkZWZ1biB0byBsYW1iZGEsIG5v dCB0byBiZSBnYXJiYWdlIGNvbGxlY3RlZAorOzsgYmVmb3JlIGl0cyBleGVjdXRpb24gaW4gYHh3 aWRnZXQtd2Via2l0LWNhbGxiYWNrJy4KIChkZWNsYXJlLWZ1bmN0aW9uIHh3aWRnZXQtd2Via2l0 LWV4ZWN1dGUtc2NyaXB0ICJ4d2lkZ2V0LmMiCiAgICAgICAgICAgICAgICAgICAoeHdpZGdldCBz Y3JpcHQgJm9wdGlvbmFsIGNhbGxiYWNrKSkKKyhkZWNsYXJlLWZ1bmN0aW9uIHh3aWRnZXQtd2Vi a2l0LXVyaSAieHdpZGdldC5jIiAoeHdpZGdldCkpCisoZGVjbGFyZS1mdW5jdGlvbiB4d2lkZ2V0 LXdlYmtpdC10aXRsZSAieHdpZGdldC5jIiAoeHdpZGdldCkpCiAoZGVjbGFyZS1mdW5jdGlvbiB4 d2lkZ2V0LXdlYmtpdC1nb3RvLXVyaSAieHdpZGdldC5jIiAoeHdpZGdldCB1cmkpKQorKGRlY2xh cmUtZnVuY3Rpb24geHdpZGdldC13ZWJraXQtZ290by1oaXN0b3J5ICJ4d2lkZ2V0LmMiICh4d2lk Z2V0IHJlbC1wb3MpKQogKGRlY2xhcmUtZnVuY3Rpb24geHdpZGdldC13ZWJraXQtem9vbSAieHdp ZGdldC5jIiAoeHdpZGdldCBmYWN0b3IpKQogKGRlY2xhcmUtZnVuY3Rpb24geHdpZGdldC1wbGlz dCAieHdpZGdldC5jIiAoeHdpZGdldCkpCiAoZGVjbGFyZS1mdW5jdGlvbiBzZXQteHdpZGdldC1w bGlzdCAieHdpZGdldC5jIiAoeHdpZGdldCBwbGlzdCkpCkBAIC05NywzNyArMTAyLDIxIEBAIHh3 aWRnZXQtd2Via2l0LWJyb3dzZS11cmwKICAgICAgICAgKHh3aWRnZXQtd2Via2l0LW5ldy1zZXNz aW9uIHVybCkKICAgICAgICh4d2lkZ2V0LXdlYmtpdC1nb3RvLXVybCB1cmwpKSkpCiAKLTs7IE5P VEU6IEBqYXZhc2NyaXB0LWNhbGxiYWNrIC0gcHJlZmVyIGRlZnVuIHRvIGxhbWJkYS4KLTs7IExh bWJkYSBzZWVtcyB0byBiZSBtb3JlIGVhc2lseSBnYXJiYWdlIGNvbGxlY3RlZCBpbiBmbGlnaHQg ZnJvbQotOzsgYHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0JyB0byBpdHMgZXhlY3V0aW9u IHZpYSBldmVudC4KLQotOzsgQGphdmFzY3JpcHQtY2FsbGJhY2sKLShkZWZ1biB4d2lkZ2V0LXdl YmtpdC1jeDItY2IgKHVybCkKLSAgIk5ldyB4d2lkZ2V0IHdlYmtpdCBzZXNzaW9uIGFuZCBidWZm ZXIgd2l0aCBVUkwgaW4gc3BsaXQgd2luZG93IGJlbG93LiIKLSAgKHdpdGgtc2VsZWN0ZWQtd2lu ZG93IChzcGxpdC13aW5kb3ctYmVsb3cpCi0gICAgKHh3aWRnZXQtd2Via2l0LW5ldy1zZXNzaW9u IHVybCkpKQotCi07OyBAamF2YXNjcmlwdC1jYWxsYmFjawotKGRlZnVuIHh3aWRnZXQtd2Via2l0 LWN4My1jYiAodXJsKQotICAiTmV3IHh3aWRnZXQgd2Via2l0IHNlc3Npb24gYW5kIGJ1ZmZlciB3 aXRoIFVSTCBpbiBzcGxpdCB3aW5kb3cgcmlnaHQuIgotICAod2l0aC1zZWxlY3RlZC13aW5kb3cg KHNwbGl0LXdpbmRvdy1yaWdodCkKLSAgICAoeHdpZGdldC13ZWJraXQtbmV3LXNlc3Npb24gdXJs KSkpCi0KIChkZWZ1biB4d2lkZ2V0LXdlYmtpdC1jeDIgKCkKLSAgIkdldCB0aGUgVVJMIG9mIGN1 cnJlbnQgc2Vzc2lvbiwgdGhlbiBgeHdpZGdldC13ZWJraXQtY3gyLWNiJy4iCisgICJHZXQgdGhl IFVSTCBvZiBjdXJyZW50IHNlc3Npb24sIHRoZW4gYnJvd3NlIHRvIHRoZSBVUkwgXAoraW4gYHNw bGl0LXdpbmRvdy1iZWxvdycgd2l0aCBhIG5ldyB4d2lkZ2V0IHdlYmtpdCBzZXNzaW9uLiIKICAg KGludGVyYWN0aXZlKQotICAoeHdpZGdldC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQKLSAgICh4d2lk Z2V0LXdlYmtpdC1jdXJyZW50LXNlc3Npb24pCi0gICAiZG9jdW1lbnQuVVJMIgotICAgJ3h3aWRn ZXQtd2Via2l0LWN4Mi1jYikpCisgIChsZXQgKCh1cmwgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQt dXJsKSkpCisgICAgKHdpdGgtc2VsZWN0ZWQtd2luZG93IChzcGxpdC13aW5kb3ctYmVsb3cpCisg ICAgICAoeHdpZGdldC13ZWJraXQtbmV3LXNlc3Npb24gdXJsKSkpKQogCiAoZGVmdW4geHdpZGdl dC13ZWJraXQtY3gzICgpCi0gICJHZXQgdGhlIFVSTCBvZiBjdXJyZW50IHNlc3Npb24sIHRoZW4g YHh3aWRnZXQtd2Via2l0LWN4My1jYicuIgorICAiR2V0IHRoZSBVUkwgb2YgY3VycmVudCBzZXNz aW9uLCB0aGVuIGJyb3dzZSB0byB0aGUgVVJMIFwKK2luIGBzcGxpdC13aW5kb3ctcmlnaHQnIHdp dGggYSBuZXcgeHdpZGdldCB3ZWJraXQgc2Vzc2lvbi4iCiAgIChpbnRlcmFjdGl2ZSkKLSAgKHh3 aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0Ci0gICAoeHdpZGdldC13ZWJraXQtY3VycmVudC1z ZXNzaW9uKQotICAgImRvY3VtZW50LlVSTCIKLSAgICd4d2lkZ2V0LXdlYmtpdC1jeDMtY2IpKQor ICAobGV0ICgodXJsICh4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXVybCkpKQorICAgICh3aXRoLXNl bGVjdGVkLXdpbmRvdyAoc3BsaXQtd2luZG93LXJpZ2h0KQorICAgICAgKHh3aWRnZXQtd2Via2l0 LW5ldy1zZXNzaW9uIHVybCkpKSkKIAogOzt0b2RvLgogOzsgLSBjaGVjayB0aGF0IHRoZSB3ZWJr aXQgc3VwcG9ydCBpcyBjb21waWxlZCBpbgpAQCAtMTM2LDEwICsxMjUsMTEgQEAgeHdpZGdldC13 ZWJraXQtbW9kZS1tYXAKICAgICAoZGVmaW5lLWtleSBtYXAgImciICd4d2lkZ2V0LXdlYmtpdC1i cm93c2UtdXJsKQogICAgIChkZWZpbmUta2V5IG1hcCAiYSIgJ3h3aWRnZXQtd2Via2l0LWFkanVz dC1zaXplLWRpc3BhdGNoKQogICAgIChkZWZpbmUta2V5IG1hcCAiYiIgJ3h3aWRnZXQtd2Via2l0 LWJhY2spCisgICAgKGRlZmluZS1rZXkgbWFwICJmIiAneHdpZGdldC13ZWJraXQtZm9yd2FyZCkK ICAgICAoZGVmaW5lLWtleSBtYXAgInIiICd4d2lkZ2V0LXdlYmtpdC1yZWxvYWQpCiAgICAgKGRl ZmluZS1rZXkgbWFwICJ0IiAobGFtYmRhICgpIChpbnRlcmFjdGl2ZSkgKG1lc3NhZ2UgIm8iKSkp IDtGSVhNRTogPyE/CiAgICAgKGRlZmluZS1rZXkgbWFwICJcQy1tIiAneHdpZGdldC13ZWJraXQt aW5zZXJ0LXN0cmluZykKLSAgICAoZGVmaW5lLWtleSBtYXAgInciICd4d2lkZ2V0LXdlYmtpdC1j dXJyZW50LXVybCkKKyAgICAoZGVmaW5lLWtleSBtYXAgInciICd4d2lkZ2V0LXdlYmtpdC1jdXJy ZW50LXVybC1tZXNzYWdlLWtpbGwpCiAgICAgKGRlZmluZS1rZXkgbWFwICIrIiAneHdpZGdldC13 ZWJraXQtem9vbS1pbikKICAgICAoZGVmaW5lLWtleSBtYXAgIi0iICd4d2lkZ2V0LXdlYmtpdC16 b29tLW91dCkKIApAQCAtMjU2LDI1ICsyNDYsMTMgQEAgeHdpZGdldC13ZWJraXQtY2FsbGJhY2sK ICAgICAgICh4d2lkZ2V0LWxvZwogICAgICAgICJlcnJvcjogY2FsbGJhY2sgY2FsbGVkIGZvciB4 d2lkZ2V0IHdpdGggZGVhZCBidWZmZXIiKQogICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyICh4d2lk Z2V0LWJ1ZmZlciB4d2lkZ2V0KQotCi0gICAgICA7OyBAamF2YXNjcmlwdC1jYWxsYmFjawotICAg ICAgOzsgV2UgZG8gbm90IGNoYW5nZSBzZWxlY3RlZCB3aW5kb3cgZHVlIHRvIGdldHRpbmcgdG8g a25vd2luZwotICAgICAgOzsgVVJMIGFuZCB0aXRsZS4gIEFuZCBhbHNvIGRvIG5vdCBhZGp1c3Qg d2Via2l0IHNpemUgdG8gd2luZG93Ci0gICAgICA7OyBoZXJlLCB0aGUgd2luZG93IGNhbiBiZSB0 aGUgbWluaS1idWZmZXIgd2luZG93IHVud2FudGVkbHkuCi0gICAgICAoZGVmdW4geHdpZGdldC13 ZWJraXQtdXJsLXRpdGxlLWNiICh1cmwtdGl0bGUpCi0gICAgICAgICJQdXQgVVJMIGFzIHRleHQg cHJvcGVydHkgYW5kIGNoYW5nZSBidWZmZXIgbmFtZSB1c2luZyBUSVRMRS4iCi0gICAgICAgIChs ZXQgKCh1cmwgKGNhciB1cmwtdGl0bGUpKQotICAgICAgICAgICAgICAodGl0bGUgKGNhciAoY2Ry IHVybC10aXRsZSkpKSkKLSAgICAgICAgICAoeHdpZGdldC1sb2cgIndlYmtpdCBmaW5pc2hlZCBs b2FkaW5nOiAnJXMnIGZyb20gJyVzJyIgdGl0bGUgdXJsKQotICAgICAgICAgIChzZXRxIGJ1ZmZl ci1yZWFkLW9ubHkgbmlsKQotICAgICAgICAgIChwdXQtdGV4dC1wcm9wZXJ0eSAyIDMgJ1VSTCB1 cmwpCi0gICAgICAgICAgKHNldHEgYnVmZmVyLXJlYWQtb25seSB0KQotICAgICAgICAgIChyZW5h bWUtYnVmZmVyIChmb3JtYXQgIip4d2lkZ2V0IHdlYmtpdDogJXMgKiIgdGl0bGUpKSkpCi0KICAg ICAgIChjb25kICgoZXEgeHdpZGdldC1ldmVudC10eXBlICdsb2FkLWNoYW5nZWQpCi0gICAgICAg ICAgICAgKHh3aWRnZXQtd2Via2l0LWV4ZWN1dGUtc2NyaXB0Ci0gICAgICAgICAgICAgIHh3aWRn ZXQgIltkb2N1bWVudC5VUkwsIGRvY3VtZW50LnRpdGxlXSIKLSAgICAgICAgICAgICAgJ3h3aWRn ZXQtd2Via2l0LXVybC10aXRsZS1jYikpCis7OzsgV2UgZG8gbm90IGNoYW5nZSBzZWxlY3RlZCB3 aW5kb3cgZm9yIHRoZSBmaW5pc2ggb2YgbG9hZGluZyBhIHBhZ2UuCis7OzsgQW5kIGRvIG5vdCBh ZGp1c3Qgd2Via2l0IHNpemUgdG8gd2luZG93IGhlcmUsIHRoZSBzZWxlY3RlZCB3aW5kb3cKKzs7 OyBjYW4gYmUgdGhlIG1pbmktYnVmZmVyIHdpbmRvdyB1bndhbnRlZGx5LgorICAgICAgICAgICAg IChsZXQgKCh0aXRsZSAoeHdpZGdldC13ZWJraXQtdGl0bGUgeHdpZGdldCkpKQorICAgICAgICAg ICAgICAgKHh3aWRnZXQtbG9nICJ3ZWJraXQgZmluaXNoZWQgbG9hZGluZzogJXMiIHRpdGxlKQor ICAgICAgICAgICAgICAgKHJlbmFtZS1idWZmZXIgKGZvcm1hdCAiKnh3aWRnZXQgd2Via2l0OiAl cyAqIiB0aXRsZSkgdCkpKQogICAgICAgICAgICAgKChlcSB4d2lkZ2V0LWV2ZW50LXR5cGUgJ2Rl Y2lkZS1wb2xpY3kpCiAgICAgICAgICAgICAgKGxldCAoKHN0cmFyZyAgKG50aCAzIGxhc3QtaW5w dXQtZXZlbnQpKSkKICAgICAgICAgICAgICAgIChpZiAoc3RyaW5nLW1hdGNoICIuKiNcXCguKlxc KSIgc3RyYXJnKQpAQCAtMzEzLDEyICsyOTEsMTAgQEAgeHdpZGdldC13ZWJraXQtYm9va21hcmst anVtcC1uZXctc2Vzc2lvbgogbmlsLCBjb25zaWRlciBmdXJ0aGVyIGN1c3RvbWl6YXRpb24gd2l0 aAogYHh3aWRnZXQtd2Via2l0LWxhc3Qtc2Vzc2lvbi1idWZmZXInLiIpCiAKLTs7IFdlIGF2b2lk IHVzaW5nIGFzeW5jIGB4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXVybCcsIGluc3RlYWQgdXNlIFVS TAotOzsga2VwdCBpbiB4d2lkZ2V0IHdlYmtpdCBhcyBwcm9wZXJ0eQogKGRlZnVuIHh3aWRnZXQt d2Via2l0LWJvb2ttYXJrLW1ha2UtcmVjb3JkICgpCiAgICJJbnRlZ3JhdGUgRW1hY3MgYm9va21h cmtzIHdpdGggdGhlIHdlYmtpdCB4d2lkZ2V0LiIKICAgKG5jb25jIChib29rbWFyay1tYWtlLXJl Y29yZC1kZWZhdWx0IHQgdCkKLSAgICAgICAgIGAoKGZpbGVuYW1lIC4gLChnZXQtdGV4dC1wcm9w ZXJ0eSAyICdVUkwpKQorICAgICAgICAgYCgoZmlsZW5hbWUgLiAsKHh3aWRnZXQtd2Via2l0LWN1 cnJlbnQtdXJsKSkKICAgICAgICAgICAgKGhhbmRsZXIgIC4gKGxhbWJkYSAoYm1rKQogICAgICAg ICAgICAgICAgICAgICAgICAgIChicm93c2UtdXJsCiAgICAgICAgICAgICAgICAgICAgICAgICAg IChib29rbWFyay1wcm9wLWdldCBibWsgJ2ZpbGVuYW1lKQpAQCAtNjU2LDI3ICs2MzIsMjcgQEAg eHdpZGdldC13ZWJraXQtZ290by11cmwKIChkZWZ1biB4d2lkZ2V0LXdlYmtpdC1iYWNrICgpCiAg ICJHbyBiYWNrIGluIGhpc3RvcnkuIgogICAoaW50ZXJhY3RpdmUpCi0gICh4d2lkZ2V0LXdlYmtp dC1leGVjdXRlLXNjcmlwdCAoeHdpZGdldC13ZWJraXQtY3VycmVudC1zZXNzaW9uKQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpc3RvcnkuZ28oLTEpOyIpKQorICAoeHdpZGdl dC13ZWJraXQtZ290by1oaXN0b3J5ICh4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXNlc3Npb24pIC0x KSkKIAotKGRlZnVuIHh3aWRnZXQtd2Via2l0LXJlbG9hZCAoKQotICAiUmVsb2FkIGN1cnJlbnQg dXJsLiIKKyhkZWZ1biB4d2lkZ2V0LXdlYmtpdC1mb3J3YXJkICgpCisgICJHbyBmb3J3YXJkIGlu IGhpc3RvcnkuIgogICAoaW50ZXJhY3RpdmUpCi0gICh4d2lkZ2V0LXdlYmtpdC1leGVjdXRlLXNj cmlwdCAoeHdpZGdldC13ZWJraXQtY3VycmVudC1zZXNzaW9uKQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImhpc3RvcnkuZ28oMCk7IikpCisgICh4d2lkZ2V0LXdlYmtpdC1nb3Rv LWhpc3RvcnkgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtc2Vzc2lvbikgMSkpCiAKLTs7IEBqYXZh c2NyaXB0LWNhbGxiYWNrCi0oZGVmdW4geHdpZGdldC13ZWJraXQtY3VycmVudC11cmwtY2IgKHJl c3VsdCkKLSAgIkNhbGxiYWNrIGZvciBgeHdpZGdldC13ZWJraXQtY3VycmVudC11cmwnLCBtZXNz YWdlIGFuZCBraWxsIHRoZSBSRVNVTFQuIgotICAobGV0ICgodXJsIChraWxsLW5ldyAob3IgcmVz dWx0ICIiKSkpKQotICAgIChtZXNzYWdlICJ1cmw6ICVzIiB1cmwpKSkKKyhkZWZ1biB4d2lkZ2V0 LXdlYmtpdC1yZWxvYWQgKCkKKyAgIlJlbG9hZCBjdXJyZW50IFVSTC4iCisgIChpbnRlcmFjdGl2 ZSkKKyAgKHh3aWRnZXQtd2Via2l0LWdvdG8taGlzdG9yeSAoeHdpZGdldC13ZWJraXQtY3VycmVu dC1zZXNzaW9uKSAwKSkKIAogKGRlZnVuIHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJsICgpCi0g ICJHZXQgdGhlIHdlYmtpdCB1cmwgYW5kIHBsYWNlIGl0IG9uIHRoZSBga2lsbC1yaW5nJy4iCisg ICJHZXQgdGhlIGN1cnJlbnQgeHdpZGdldCB3ZWJraXQgVVJMLiIKICAgKGludGVyYWN0aXZlKQot ICAoeHdpZGdldC13ZWJraXQtZXhlY3V0ZS1zY3JpcHQKLSAgICh4d2lkZ2V0LXdlYmtpdC1jdXJy ZW50LXNlc3Npb24pCi0gICAiZG9jdW1lbnQuVVJMIiAneHdpZGdldC13ZWJraXQtY3VycmVudC11 cmwtY2IpKQorICAoeHdpZGdldC13ZWJraXQtdXJpICh4d2lkZ2V0LXdlYmtpdC1jdXJyZW50LXNl c3Npb24pKSkKKworKGRlZnVuIHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJsLW1lc3NhZ2Uta2ls bCAoKQorICAiTWVzc2FnZSB0aGUgY3VycmVudCB4d2lkZ2V0IHdlYmtpdCBVUkwgYW5kIHBsYWNl IGl0IG9uIHRoZSBga2lsbC1yaW5nJy4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKG1lc3NhZ2UgInVy bDogJXMiIChraWxsLW5ldyAob3IgKHh3aWRnZXQtd2Via2l0LWN1cnJlbnQtdXJsKSAiIikpKSkK IAogOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwogKGRlZnVuIHh3aWRnZXQtd2Via2l0 LWdldC1zZWxlY3Rpb24gKHByb2MpCmRpZmYgLS1naXQgYS9zcmMvbnN4d2lkZ2V0LmggYi9zcmMv bnN4d2lkZ2V0LmgKaW5kZXggYTYxN2EwZDUyNy4uNmFmNWZlNWE0ZCAxMDA2NDQKLS0tIGEvc3Jj L25zeHdpZGdldC5oCisrKyBiL3NyYy9uc3h3aWRnZXQuaApAQCAtMzIsNyArMzIsMTAgQEAgYWxv bmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uICAqLwogLyogRnVuY3Rpb25zIGZvciB4d2lkZ2V0IHdlYmtpdC4gICovCiAKIGJvb2wg bnN4d2lkZ2V0X2lzX3dlYl92aWV3IChzdHJ1Y3QgeHdpZGdldCAqeHcpOworTGlzcF9PYmplY3Qg bnN4d2lkZ2V0X3dlYmtpdF91cmkgKHN0cnVjdCB4d2lkZ2V0ICp4dyk7CitMaXNwX09iamVjdCBu c3h3aWRnZXRfd2Via2l0X3RpdGxlIChzdHJ1Y3QgeHdpZGdldCAqeHcpOwogdm9pZCBuc3h3aWRn ZXRfd2Via2l0X2dvdG9fdXJpIChzdHJ1Y3QgeHdpZGdldCAqeHcsIGNvbnN0IGNoYXIgKnVyaSk7 Cit2b2lkIG5zeHdpZGdldF93ZWJraXRfZ290b19oaXN0b3J5IChzdHJ1Y3QgeHdpZGdldCAqeHcs IGludCByZWxfcG9zKTsKIHZvaWQgbnN4d2lkZ2V0X3dlYmtpdF96b29tIChzdHJ1Y3QgeHdpZGdl dCAqeHcsIGRvdWJsZSB6b29tX2NoYW5nZSk7CiB2b2lkIG5zeHdpZGdldF93ZWJraXRfZXhlY3V0 ZV9zY3JpcHQgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqc2NyaXB0LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXNwX09iamVjdCBmdW4pOwpkaWZmIC0t Z2l0IGEvc3JjL25zeHdpZGdldC5tIGIvc3JjL25zeHdpZGdldC5tCmluZGV4IDlhMGQ5MzljM2Qu LjY1Y2E4M2RhNzMgMTAwNjQ0Ci0tLSBhL3NyYy9uc3h3aWRnZXQubQorKysgYi9zcmMvbnN4d2lk Z2V0Lm0KQEAgLTYxLDYgKzYxLDkgQEAgdm9pZCBzdG9yZV94d2lkZ2V0X2pzX2NhbGxiYWNrX2V2 ZW50IChzdHJ1Y3QgeHdpZGdldCAqeHcsCiBAaW50ZXJmYWNlIFh3V2ViVmlldyA6IFdLV2ViVmll dwogPFdLTmF2aWdhdGlvbkRlbGVnYXRlLCBXS1VJRGVsZWdhdGUsIFdLU2NyaXB0TWVzc2FnZUhh bmRsZXI+CiBAcHJvcGVydHkgc3RydWN0IHh3aWRnZXQgKnh3OworLyogTWFwIHVybCB0byB3aGV0 aGVyIGphdmFzY3JpcHQgaXMgYmxvY2tlZCBieQorICAgJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5 JyBzYW5kYm94IHdpdGhvdXQgYWxsb3ctc2NyaXB0cy4gICovCitAcHJvcGVydHkocmV0YWluKSBO U011dGFibGVEaWN0aW9uYXJ5ICp1cmxTY3JpcHRCbG9ja2VkOwogQGVuZAogQGltcGxlbWVudGF0 aW9uIFh3V2ViVmlldyA6IFdLV2ViVmlldwogCkBAIC03MiwxMCArNzUsMTUgQEAgLSAoaWQpaW5p dFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lCiAgIFdLVXNlckNvbnRlbnRDb250cm9sbGVyICpzY3Jp cHRvciA9IFtbV0tVc2VyQ29udGVudENvbnRyb2xsZXIgYWxsb2NdIGluaXRdOwogICBjb25maWd1 cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciA9IHNjcmlwdG9yOwogCisgIC8qIEVuYWJsZSBp bnNwZWN0IGVsZW1lbnQgY29udGV4dCBtZW51IGl0ZW0gZm9yIGRlYnVnZ2luZy4gICovCisgIFtj b25maWd1cmF0aW9uLnByZWZlcmVuY2VzIHNldFZhbHVlOkBZRVMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmb3JLZXk6QCJkZXZlbG9wZXJFeHRyYXNFbmFibGVkIl07CisKICAgc2Vs ZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1lIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlv bl07CiAgIGlmIChzZWxmKQogICAgIHsKICAgICAgIHNlbGYueHcgPSB4dzsKKyAgICAgIHNlbGYu dXJsU2NyaXB0QmxvY2tlZCA9IFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF07CiAg ICAgICBzZWxmLm5hdmlnYXRpb25EZWxlZ2F0ZSA9IHNlbGY7CiAgICAgICBzZWxmLlVJRGVsZWdh dGUgPSBzZWxmOwogICAgICAgc2VsZi5jdXN0b21Vc2VyQWdlbnQgPQpAQCAtODYsNyArOTQsNyBA QCAtIChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUKICAgICAgIFtzY3JpcHRvciBhZGRV c2VyU2NyaXB0OltbV0tVc2VyU2NyaXB0IGFsbG9jXQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbml0V2l0aFNvdXJjZTp4d1NjcmlwdAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW5qZWN0aW9uVGltZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBXS1VzZXJTY3JpcHRJbmplY3Rpb25UaW1lQXREb2N1bWVudEVuZAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFdLVXNlclNjcmlwdEluamVjdGlvblRpbWVBdERvY3VtZW50U3Rh cnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yTWFpbkZyYW1lT25seTpOT11d OwogICAgIH0KICAgcmV0dXJuIHNlbGY7CkBAIC0xMzEsNiArMTM5LDI4IEBAIC0gKHZvaWQpd2Vi VmlldzooV0tXZWJWaWV3ICopd2ViVmlldwogICAgICAgLyogVE9ETzogZG93bmxvYWQgdXNpbmcg TlNVUkx4eHg/ICAqLwogICAgIH0KICAgZGVjaXNpb25IYW5kbGVyIChXS05hdmlnYXRpb25SZXNw b25zZVBvbGljeUFsbG93KTsKKworICBzZWxmLnVybFNjcmlwdEJsb2NrZWRbbmF2aWdhdGlvblJl c3BvbnNlLnJlc3BvbnNlLlVSTF0gPQorICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT107 CisgIGlmIChbbmF2aWdhdGlvblJlc3BvbnNlLnJlc3BvbnNlIGlzS2luZE9mQ2xhc3M6W05TSFRU UFVSTFJlc3BvbnNlIGNsYXNzXV0pCisgICAgeworICAgICAgTlNEaWN0aW9uYXJ5ICpoZWFkZXJz ID0KKyAgICAgICAgKChOU0hUVFBVUkxSZXNwb25zZSAqKSBuYXZpZ2F0aW9uUmVzcG9uc2UucmVz cG9uc2UpLmFsbEhlYWRlckZpZWxkczsKKyAgICAgIE5TU3RyaW5nICp2YWx1ZSA9IGhlYWRlcnNb QCJDb250ZW50LVNlY3VyaXR5LVBvbGljeSJdOworICAgICAgaWYgKHZhbHVlKQorICAgICAgICB7 CisgICAgICAgICAgLyogVE9ETzogU2xvcHB5IHBhcnNpbmcgb2YgJ0NvbnRlbnQtU2VjdXJpdHkt UG9saWN5JyB2YWx1ZS4gICovCisgICAgICAgICAgTlNSYW5nZSBzYW5kYm94ID0gW3ZhbHVlIHJh bmdlT2ZTdHJpbmc6QCJzYW5kYm94Il07CisgICAgICAgICAgaWYgKHNhbmRib3gubG9jYXRpb24g IT0gTlNOb3RGb3VuZCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgTlNSYW5nZSBhbGxv d1NjcmlwdHMgPSBbdmFsdWUgcmFuZ2VPZlN0cmluZzpAImFsbG93LXNjcmlwdHMiXTsKKyAgICAg ICAgICAgICAgaWYgKGFsbG93U2NyaXB0cy5sb2NhdGlvbiA9PSBOU05vdEZvdW5kCisgICAgICAg ICAgICAgICAgICB8fCBhbGxvd1NjcmlwdHMubG9jYXRpb24gPCBzYW5kYm94LmxvY2F0aW9uKQor ICAgICAgICAgICAgICAgIHNlbGYudXJsU2NyaXB0QmxvY2tlZFtuYXZpZ2F0aW9uUmVzcG9uc2Uu cmVzcG9uc2UuVVJMXSA9CisgICAgICAgICAgICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJv b2w6WUVTXTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIH0KIAogLyogTm8gYWRk aXRpb25hbCBuZXcgd2VidmlldyBvciBlbWFjcyB3aW5kb3cgd2lsbCBiZSBjcmVhdGVkCkBAIC0x NzgsMTAgKzIwOCwyMCBAQCAtICh2b2lkKWtleURvd246KE5TRXZlbnQgKilldmVudAogICAgICAg cmV0dXJuOwogICAgIH0KIAorICAvKiBFbWFjcyBoYW5kbGVzIGtleWJvYXJkIGV2ZW50cyB3aGVu IGphdmFzY3JpcHQgaXMgYmxvY2tlZC4gICovCisgIGlmIChbc2VsZi51cmxTY3JpcHRCbG9ja2Vk W3NlbGYuVVJMXSBib29sVmFsdWVdKQorICAgIHsKKyAgICAgIFtzZWxmLnh3LT54di0+ZW1hY3N3 aW5kb3cga2V5RG93bjpldmVudF07CisgICAgICByZXR1cm47CisgICAgfQorCiAgIFtzZWxmIGV2 YWx1YXRlSmF2YVNjcmlwdDpAInh3SGFzRm9jdXMoKSIKICAgICAgICAgIGNvbXBsZXRpb25IYW5k bGVyOl4oaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikgewogICAgICAgaWYgKGVycm9yKQotICAg ICAgICBOU0xvZyAoQCJ4d0hhc0ZvY3VzOiAlQCIsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9u KTsKKyAgICAgICAgeworICAgICAgICAgIE5TTG9nIChAInh3SGFzRm9jdXM6ICVAIiwgZXJyb3Ip OworICAgICAgICAgIFtzZWxmLnh3LT54di0+ZW1hY3N3aW5kb3cga2V5RG93bjpldmVudF07Cisg ICAgICAgIH0KICAgICAgIGVsc2UgaWYgKHJlc3VsdCkKICAgICAgICAgewogICAgICAgICAgIE5T TnVtYmVyICpoYXNGb2N1cyA9IHJlc3VsdDsgLyogX19OU0NGQm9vbGVhbiAqLwpAQCAtMjQyLDYg KzI4Miw4IEBAIC0gKHZvaWQpdXNlckNvbnRlbnRDb250cm9sbGVyOihXS1VzZXJDb250ZW50Q29u dHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxlcgogCiAvKiBYd2lkZ2V0IHdlYmtpdCBjb21t YW5kcy4gICovCiAKK3N0YXRpYyBMaXNwX09iamVjdCBidWlsZF9zdHJpbmdfd2l0aF9uc3N0ciAo TlNTdHJpbmcgKm5zc3RyKTsKKwogYm9vbAogbnN4d2lkZ2V0X2lzX3dlYl92aWV3IChzdHJ1Y3Qg eHdpZGdldCAqeHcpCiB7CkBAIC0yNDksNiArMjkxLDIwIEBAIC0gKHZvaWQpdXNlckNvbnRlbnRD b250cm9sbGVyOihXS1VzZXJDb250ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxl cgogICAgIFt4dy0+eHdXaWRnZXQgaXNLaW5kT2ZDbGFzczpXS1dlYlZpZXcuY2xhc3NdOwogfQog CitMaXNwX09iamVjdAorbnN4d2lkZ2V0X3dlYmtpdF91cmkgKHN0cnVjdCB4d2lkZ2V0ICp4dykK K3sKKyAgWHdXZWJWaWV3ICp4d1dlYlZpZXcgPSAoWHdXZWJWaWV3ICopIHh3LT54d1dpZGdldDsK KyAgcmV0dXJuIGJ1aWxkX3N0cmluZ193aXRoX25zc3RyICh4d1dlYlZpZXcuVVJMLmFic29sdXRl U3RyaW5nKTsKK30KKworTGlzcF9PYmplY3QKK25zeHdpZGdldF93ZWJraXRfdGl0bGUgKHN0cnVj dCB4d2lkZ2V0ICp4dykKK3sKKyAgWHdXZWJWaWV3ICp4d1dlYlZpZXcgPSAoWHdXZWJWaWV3ICop IHh3LT54d1dpZGdldDsKKyAgcmV0dXJuIGJ1aWxkX3N0cmluZ193aXRoX25zc3RyICh4d1dlYlZp ZXcudGl0bGUpOworfQorCiAvKiBATm90ZSBBVFMgLSBOZWVkIGFwcGxpY2F0aW9uIHRyYW5zcG9y dCBzZWN1cml0eSBpbiAnSW5mby5wbGlzdCcgb3IKICAgIHJlbW90ZSBwYWdlcyB3aWxsIG5vdCBs b2FkZWQuICAqLwogdm9pZApAQCAtMjYxLDYgKzMxNywxNyBAQCAtICh2b2lkKXVzZXJDb250ZW50 Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2VyQ29udGVudENvbnRyb2xs ZXIKICAgW3h3V2ViVmlldyBsb2FkUmVxdWVzdDp1cmxSZXF1ZXN0XTsKIH0KIAordm9pZAorbnN4 d2lkZ2V0X3dlYmtpdF9nb3RvX2hpc3RvcnkgKHN0cnVjdCB4d2lkZ2V0ICp4dywgaW50IHJlbF9w b3MpCit7CisgIFh3V2ViVmlldyAqeHdXZWJWaWV3ID0gKFh3V2ViVmlldyAqKSB4dy0+eHdXaWRn ZXQ7CisgIHN3aXRjaCAocmVsX3BvcykgeworICBjYXNlIC0xOiBbeHdXZWJWaWV3IGdvQmFja107 IGJyZWFrOworICBjYXNlIDA6IFt4d1dlYlZpZXcgcmVsb2FkXTsgYnJlYWs7CisgIGNhc2UgMTog W3h3V2ViVmlldyBnb0ZvcndhcmRdOyBicmVhazsKKyAgfQorfQorCiB2b2lkCiBuc3h3aWRnZXRf d2Via2l0X3pvb20gKHN0cnVjdCB4d2lkZ2V0ICp4dywgZG91YmxlIHpvb21fY2hhbmdlKQogewpA QCAtMzQwLDkgKzQwNywxNCBAQCAtICh2b2lkKXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2Vy Q29udGVudENvbnRyb2xsZXIgKil1c2VyQ29udGVudENvbnRyb2xsZXIKIG5zeHdpZGdldF93ZWJr aXRfZXhlY3V0ZV9zY3JpcHQgKHN0cnVjdCB4d2lkZ2V0ICp4dywgY29uc3QgY2hhciAqc2NyaXB0 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzcF9PYmplY3QgZnVuKQogewot ICBOU1N0cmluZyAqamF2YXNjcmlwdFN0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0 cmluZzpzY3JpcHRdOwogICBYd1dlYlZpZXcgKnh3V2ViVmlldyA9IChYd1dlYlZpZXcgKikgeHct Pnh3V2lkZ2V0OworICBpZiAoW3h3V2ViVmlldy51cmxTY3JpcHRCbG9ja2VkW3h3V2ViVmlldy5V UkxdIGJvb2xWYWx1ZV0pCisgICAgeworICAgICAgbWVzc2FnZSAoIkphdmFzY3JpcHQgaXMgYmxv Y2tlZCBieSAnQ1NQOiBzYW5kYm94Jy4iKTsKKyAgICAgIHJldHVybjsKKyAgICB9CiAKKyAgTlNT dHJpbmcgKmphdmFzY3JpcHRTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6 c2NyaXB0XTsKICAgW3h3V2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6amF2YXNjcmlwdFN0cmlu ZwogICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAq ZXJyb3IpIHsKICAgICAgIGlmIChlcnJvcikKQEAgLTQwMCw2ICs0NzIsNyBAQCAtIChCT09MKWlz RmxpcHBlZCB7IHJldHVybiBZRVM7IH0KICAgICAgICAgIGtpbGxlZC4gIEkgY291bGQgbm90IGZp bmQgb3RoZXIgc29sdXRpb24uICAqLwogICAgICAgbnN4d2lkZ2V0X3dlYmtpdF9nb3RvX3VyaSAo eHcsICJhYm91dDpibGFuayIpOwogCisgICAgICBbKChYd1dlYlZpZXcgKikgeHctPnh3V2lkZ2V0 KS51cmxTY3JpcHRCbG9ja2VkIHJlbGVhc2VdOwogICAgICAgW3h3LT54d1dpZGdldCByZW1vdmVG cm9tU3VwZXJ2aWV3V2l0aG91dE5lZWRpbmdEaXNwbGF5XTsKICAgICAgIFt4dy0+eHdXaWRnZXQg cmVsZWFzZV07CiAgICAgICBbeHctPnh3V2luZG93IHJlbW92ZUZyb21TdXBlcnZpZXdXaXRob3V0 TmVlZGluZ0Rpc3BsYXldOwpkaWZmIC0tZ2l0IGEvc3JjL3h3aWRnZXQuYyBiL3NyYy94d2lkZ2V0 LmMKaW5kZXggMTdlMWU2NDI4YS4uZjMzM2IyMjg3YyAxMDA2NDQKLS0tIGEvc3JjL3h3aWRnZXQu YworKysgYi9zcmMveHdpZGdldC5jCkBAIC03NTMsNiArNzUzLDM2IEBAIHh3aWRnZXRfaXNfd2Vi X3ZpZXcgKHN0cnVjdCB4d2lkZ2V0ICp4dykKICAgICAgIHJldHVybiBRbmlsOwkJCQkJCQlcCiAg ICAgfQogCitERUZVTiAoInh3aWRnZXQtd2Via2l0LXVyaSIsCisgICAgICAgRnh3aWRnZXRfd2Vi a2l0X3VyaSwgU3h3aWRnZXRfd2Via2l0X3VyaSwKKyAgICAgICAxLCAxLCAwLAorICAgICAgIGRv YzogLyogR2V0IHRoZSBjdXJyZW50IFVSTCBvZiBYV0lER0VUIHdlYmtpdC4gICovKQorICAoTGlz cF9PYmplY3QgeHdpZGdldCkKK3sKKyAgV0VCS0lUX0ZOX0lOSVQgKCk7CisjaWYgZGVmaW5lZCAo VVNFX0dUSykKKyAgV2ViS2l0V2ViVmlldyAqd2t3diA9IFdFQktJVF9XRUJfVklFVyAoeHctPndp ZGdldF9vc3IpOworICByZXR1cm4gYnVpbGRfc3RyaW5nICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Vy aSAod2t3dikpOworI2VsaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkKKyAgcmV0dXJuIG5zeHdp ZGdldF93ZWJraXRfdXJpICh4dyk7CisjZW5kaWYKK30KKworREVGVU4gKCJ4d2lkZ2V0LXdlYmtp dC10aXRsZSIsCisgICAgICAgRnh3aWRnZXRfd2Via2l0X3RpdGxlLCBTeHdpZGdldF93ZWJraXRf dGl0bGUsCisgICAgICAgMSwgMSwgMCwKKyAgICAgICBkb2M6IC8qIEdldCB0aGUgY3VycmVudCB0 aXRsZSBvZiBYV0lER0VUIHdlYmtpdC4gICovKQorICAoTGlzcF9PYmplY3QgeHdpZGdldCkKK3sK KyAgV0VCS0lUX0ZOX0lOSVQgKCk7CisjaWYgZGVmaW5lZCAoVVNFX0dUSykKKyAgV2ViS2l0V2Vi VmlldyAqd2t3diA9IFdFQktJVF9XRUJfVklFVyAoeHctPndpZGdldF9vc3IpOworICByZXR1cm4g YnVpbGRfc3RyaW5nICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X3RpdGxlICh3a3d2KSk7CisjZWxpZiBk ZWZpbmVkIChOU19JTVBMX0NPQ09BKQorICByZXR1cm4gbnN4d2lkZ2V0X3dlYmtpdF90aXRsZSAo eHcpOworI2VuZGlmCit9CisKIERFRlVOICgieHdpZGdldC13ZWJraXQtZ290by11cmkiLAogICAg ICAgIEZ4d2lkZ2V0X3dlYmtpdF9nb3RvX3VyaSwgU3h3aWRnZXRfd2Via2l0X2dvdG9fdXJpLAog ICAgICAgIDIsIDIsIDAsCkBAIC03NjksNiArNzk5LDI3IEBAIERFRlVOICgieHdpZGdldC13ZWJr aXQtZ290by11cmkiLAogICByZXR1cm4gUW5pbDsKIH0KIAorREVGVU4gKCJ4d2lkZ2V0LXdlYmtp dC1nb3RvLWhpc3RvcnkiLAorICAgICAgIEZ4d2lkZ2V0X3dlYmtpdF9nb3RvX2hpc3RvcnksIFN4 d2lkZ2V0X3dlYmtpdF9nb3RvX2hpc3RvcnksCisgICAgICAgMiwgMiwgMCwKKyAgICAgICBkb2M6 IC8qIE1ha2UgdGhlIFhXSURHRVQgd2Via2l0IGxvYWQgUkVMLVBPUyAoLTEsIDAsIDEpIHBhZ2Ug aW4gYnJvd3NlIGhpc3RvcnkuICAqLykKKyAgKExpc3BfT2JqZWN0IHh3aWRnZXQsIExpc3BfT2Jq ZWN0IHJlbF9wb3MpCit7CisgIFdFQktJVF9GTl9JTklUICgpOworICBDSEVDS19SQU5HRURfSU5U RUdFUiAocmVsX3BvcywgLTEsIDEpOyAvKiAtMSwgMCwgMSAqLworI2lmIGRlZmluZWQgKFVTRV9H VEspCisgIFdlYktpdFdlYlZpZXcgKndrd3YgPSBXRUJLSVRfV0VCX1ZJRVcgKHh3LT53aWRnZXRf b3NyKTsKKyAgc3dpdGNoIChYRkFTVElOVCAocmVsX3BvcykpIHsKKyAgY2FzZSAtMTogd2Via2l0 X3dlYl92aWV3X2dvX2JhY2sgKHdrd3YpOyBicmVhazsKKyAgY2FzZSAwOiB3ZWJraXRfd2ViX3Zp ZXdfZ29fcmVsb2FkICh3a3d2KTsgYnJlYWs7CisgIGNhc2UgMTogd2Via2l0X3dlYl92aWV3X2Zv cndhcmQgKHdrd3YpOyBicmVhazsKKyAgfQorI2VsaWYgZGVmaW5lZCAoTlNfSU1QTF9DT0NPQSkK KyAgbnN4d2lkZ2V0X3dlYmtpdF9nb3RvX2hpc3RvcnkgKHh3LCBYRkFTVElOVCAocmVsX3Bvcykp OworI2VuZGlmCisgIHJldHVybiBRbmlsOworfQorCiBERUZVTiAoInh3aWRnZXQtd2Via2l0LXpv b20iLAogICAgICAgIEZ4d2lkZ2V0X3dlYmtpdF96b29tLCBTeHdpZGdldF93ZWJraXRfem9vbSwK ICAgICAgICAyLCAyLCAwLApAQCAtMTA5Miw3ICsxMTQzLDEwIEBAIHN5bXNfb2ZfeHdpZGdldCAo dm9pZCkKICAgZGVmc3ViciAoJlN4d2lkZ2V0X3F1ZXJ5X29uX2V4aXRfZmxhZyk7CiAgIGRlZnN1 YnIgKCZTc2V0X3h3aWRnZXRfcXVlcnlfb25fZXhpdF9mbGFnKTsKIAorICBkZWZzdWJyICgmU3h3 aWRnZXRfd2Via2l0X3VyaSk7CisgIGRlZnN1YnIgKCZTeHdpZGdldF93ZWJraXRfdGl0bGUpOwog ICBkZWZzdWJyICgmU3h3aWRnZXRfd2Via2l0X2dvdG9fdXJpKTsKKyAgZGVmc3ViciAoJlN4d2lk Z2V0X3dlYmtpdF9nb3RvX2hpc3RvcnkpOwogICBkZWZzdWJyICgmU3h3aWRnZXRfd2Via2l0X3pv b20pOwogICBkZWZzdWJyICgmU3h3aWRnZXRfd2Via2l0X2V4ZWN1dGVfc2NyaXB0KTsKICAgREVG U1lNIChRd2Via2l0LCAid2Via2l0Iik7Ci0tIAoyLjE1LjAKCg== --f403043a0bbc5bce190560370c26--