<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>173712</bug_id>
          
          <creation_ts>2017-06-22 06:35:50 -0700</creation_ts>
          <short_desc>[WPE] User script messages don&apos;t work</short_desc>
          <delta_ts>2017-06-23 04:11:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>173757</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>sam</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321850</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-22 06:35:50 -0700</bug_when>
    <thetext>The main reason why it doesn&apos;t work is because it&apos;s disabled in the build, but even enabling them, we don&apos;t have a way in WPE to get the js global context from the WebScriptMessageHandler client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321851</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-22 06:37:54 -0700</bug_when>
    <thetext>TEST: bin/TestWebKitAPI/WPE/TestWebKitUserContentManager... (pid=22808)
  /wpe/WebKitWebView/new-with-user-content-manager:                    OK
  /wpe/WebKitUserContentManager/injected-style-sheet:                  Error sending IPC message: Connection reset by peer
OK
  /wpe/WebKitUserContentManager/injected-script:                       Error sending IPC message: Connection reset by peer
OK
  /wpe/WebKitUserContentManager/script-message-received:               **
ERROR:/home/cgarcia/src/git/gnome/WebKit-WPE/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:270:void testUserContentManagerScriptMessageReceived(UserScriptMessageTest*, gconstpointer): assertion failed: (javascriptResult)
FAIL
GTester: last random seed: R02S2dfde0838a0fd6b1ed62f08b98a8a639
(pid=22917)
FAIL: bin/TestWebKitAPI/WPE/TestWebKitUserContentManager</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321853</commentid>
    <comment_count>2</comment_count>
      <attachid>313613</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-22 06:51:49 -0700</bug_when>
    <thetext>Created attachment 313613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321864</commentid>
    <comment_count>3</comment_count>
      <attachid>313613</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-06-22 07:40:40 -0700</bug_when>
    <thetext>Comment on attachment 313613
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=313613&amp;action=review

&gt; Source/WebKit2/UIProcess/WebPageProxy.h:641
&gt; +#if PLATFORM(WPE)
&gt; +    WKWPE::View&amp; view();
&gt; +#endif

Please don&apos;t add view accessors to WebPageProxy, we have been working to remove the ones in the cocoa platform.  Instead please add PageClient functions for the functionality you need.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321898</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-22 08:36:11 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #3)
&gt; Comment on attachment 313613 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=313613&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.h:641
&gt; &gt; +#if PLATFORM(WPE)
&gt; &gt; +    WKWPE::View&amp; view();
&gt; &gt; +#endif
&gt; 
&gt; Please don&apos;t add view accessors to WebPageProxy, we have been working to
&gt; remove the ones in the cocoa platform.  Instead please add PageClient
&gt; functions for the functionality you need.

Sure, I didn&apos;t know that</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321901</commentid>
    <comment_count>5</comment_count>
      <attachid>313628</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-22 08:44:27 -0700</bug_when>
    <thetext>Created attachment 313628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322246</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-23 04:11:35 -0700</bug_when>
    <thetext>Committed r218740: &lt;http://trac.webkit.org/changeset/218740&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313613</attachid>
            <date>2017-06-22 06:51:49 -0700</date>
            <delta_ts>2017-06-22 08:44:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-user-script-messages.diff</filename>
            <type>text/plain</type>
            <size>16710</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1YmFiY2FmNTg4Ni4uMDhm
NjMyOWE0ODUgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxNiBAQAogMjAxNy0wNi0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKKyAgICAgICAgW1dQRV0gVXNlciBzY3JpcHQgbWVzc2FnZXMgZG9uJ3Qgd29yawor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNzEyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIHVz
ZXIgc2NyaXB0IG1lc3NhZ2VzLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNXUEUu
Y21ha2U6CisKKzIwMTctMDYtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCiAgICAgICAgIFtXUEVdIEFkZCBpbml0aWFsIHdlYiBleHRlbnNpb25zIEFQSQog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjQwCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1NjdlN2QyZTU1Ny4uZWQzYjMxZTgyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw0NyBAQAogMjAxNy0wNi0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKKyAgICAgICAgW1dQRV0gVXNlciBzY3JpcHQgbWVzc2FnZXMgZG9uJ3Qgd29y
aworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNzEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBh
IHVzZXIgc2NyaXB0IG1lc3NhZ2UgaXMgcmVjZWl2ZWQgd2UgbmVlZCB0byBjcmVhdGUgYSBXZWJL
aXRKYXZhc2NyaXB0UmVzdWx0IHRvIGRlc2VyaWFsaXplIHRoZSBzY3JpcHQKKyAgICAgICAgdmFs
dWUuIFdlYktpdEphdmFzY3JpcHRSZXN1bHQgaXMgY3JlYXRlZCB3aXRoIGEgV2ViS2l0V2ViVmll
dyBmb3IgdHdvIHJlYXNvbnM6IHRvIGdldCBpdHMgSmF2YVNjcmlwdCBnbG9iYWwKKyAgICAgICAg
Y29udGV4dCBhbmQgdG8gdGFrZSBhIHJlZmVyZW5jZSB0aGF0IGVuc3VyZXMgdGhlIEphdmFTY3Jp
cHQgY29udGV4dCB3aWxsIGJlIGFsaXZlIHdoaWxlIHRoZSByZXN1bHRzIGlzCisgICAgICAgIGFs
aXZlLiBIb3dldmVyLCB3ZSBjb3VsZCBjcmVhdGUgdGhlIFdlYktpdEphdmFzY3JpcHRSZXN1bHQg
d2l0aCB0aGUgSmF2YVNjcmlwdCBnbG9iYWwgY29udGV4dCBhbmQgdGFrZSBhCisgICAgICAgIHJl
ZmVyZW5jZSBvZiB0aGUgY29udGV4dCBpdHNlbGYuIFRoaXMgd2F5IHdlIGRvbid0IG5lZWQgdG8g
YWNjZXNzIHRoZSBXZWJLaXRXZWJWaWV3IGZyb20gdGhlCisgICAgICAgIFdlYlNjcmlwdE1lc3Nh
Z2VIYW5kbGVyIGNsaWVudC4gQnV0IHdlIHN0aWxsIG5lZWQgYWNjZXNzIHRvIHRoZSBKYXZhU2Ny
aXB0IGNvbnRleHQuIEluIHRoZSBHVEsrIHBvcnQgd2UgY2FuIGtlZXAKKyAgICAgICAgdXNpbmcg
dGhlIFdlYktpdFdlYlZpZXcgdGFrZW4gZnJvbSBXZWJQYWdlUHJveHk6OnZpZXdXaWRnZXQoKS4g
SW4gV1BFIHdlIGNhbiBhZGQgYSBXZWJQYWdlUHJveHk6OnZpZXcoKSBtZXRob2QKKyAgICAgICAg
dGhhdCByZXR1cm5zIHRoZSBXS1dQRTo6VmlldyBhbmQgdGhlbiBhZGQgYSBuZXcgbWV0aG9kIHRv
IHRoZSBBUEk6OlZpZXdDbGllbnQgdG8gZ2V0IHRoZSBKYXZhU2NyaXB0IGdsb2JhbAorICAgICAg
ICBjb250ZXh0LgorCisgICAgICAgIEZpeGVzIC93cGUvV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2Vy
L3NjcmlwdC1tZXNzYWdlLXJlY2VpdmVkLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdEphdmFzY3JpcHRSZXN1bHQuY3BwOgorICAgICAgICAoX1dlYktpdEphdmFzY3JpcHRS
ZXN1bHQ6Ol9XZWJLaXRKYXZhc2NyaXB0UmVzdWx0KTogQ3JlYXRlIHRoZSBXZWJLaXRKYXZhc2Ny
aXB0UmVzdWx0IHdpdGggYSBKU0dsb2JhbENvbnRleHRSZWYKKyAgICAgICAgaW5zdGVhZCBvZiBh
IFdFYktpdFdlYlZpZXcuCisgICAgICAgICh3ZWJraXRKYXZhc2NyaXB0UmVzdWx0Q3JlYXRlKTog
UGFzcyB0aGUganMgY29udGV4dCB0byB0aGUgY29uc3RydWN0b3IuCisgICAgICAgICh3ZWJraXRf
amF2YXNjcmlwdF9yZXN1bHRfZ2V0X2dsb2JhbF9jb250ZXh0KTogUmV0dXJuIHRoZSBqcyBjb250
ZXh0LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRKYXZhc2NyaXB0UmVzdWx0
UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVc2VyQ29udGVu
dE1hbmFnZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3
LmNwcDoKKyAgICAgICAgKF9XZWJLaXRXZWJWaWV3UHJpdmF0ZTo6fl9XZWJLaXRXZWJWaWV3UHJp
dmF0ZSk6IFVzZSBKU1JldGFpblB0ci4KKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfamF2
YXNjcmlwdF9nbG9iYWxfY29udGV4dCk6CisgICAgICAgICh3ZWJraXRXZWJWaWV3UnVuSmF2YVNj
cmlwdENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9BUElWaWV3Q2xpZW50
Lmg6CisgICAgICAgIChBUEk6OlZpZXdDbGllbnQ6OmphdmFzY3JpcHRHbG9iYWxDb250ZXh0KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9QYWdlQ2xpZW50SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjp2aWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L3dwZS9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1dQRVZp
ZXcuY3BwOgorICAgICAgICAoV0tXUEU6OlZpZXc6OmphdmFzY3JpcHRHbG9iYWxDb250ZXh0KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy93cGUvV2ViUGFnZVByb3h5
V1BFLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp2aWV3KToKKworMjAxNy0w
Ni0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKICAgICAg
ICAgW1dQRV0gUGFnZSBzaG91bGQgYmUgY2xvc2VkIG9uIFdlYktpdFdlYlZpZXcgZGlzcG9zZQog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNzA3CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRKYXZh
c2NyaXB0UmVzdWx0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRKYXZhc2NyaXB0UmVzdWx0LmNwcAppbmRleCAwNjVhM2I0ZWRkYi4uMDEwODA1YzM5MGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRKYXZhc2Ny
aXB0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0SmF2YXNjcmlwdFJlc3VsdC5jcHAKQEAgLTIyLDE3ICsyMiwxOCBAQAogCiAjaW5jbHVkZSAi
QVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViS2l0SmF2YXNjcmlwdFJl
c3VsdFByaXZhdGUuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1JldGFpblB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KIAogc3RydWN0IF9XZWJLaXRKYXZhc2NyaXB0
UmVzdWx0IHsKLSAgICBfV2ViS2l0SmF2YXNjcmlwdFJlc3VsdChXZWJLaXRXZWJWaWV3KiB2aWV3
LCBXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWUmIHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSkK
LSAgICAgICAgOiB3ZWJWaWV3KHZpZXcpCisgICAgX1dlYktpdEphdmFzY3JpcHRSZXN1bHQoSlNH
bG9iYWxDb250ZXh0UmVmIGpzQ29udGV4dCwgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVl
JiBzZXJpYWxpemVkU2NyaXB0VmFsdWUpCisgICAgICAgIDogamF2YXNjcmlwdEdsb2JhbENvbnRl
eHQoanNDb250ZXh0KQogICAgICAgICAsIHJlZmVyZW5jZUNvdW50KDEpCiAgICAgewotICAgICAg
ICB2YWx1ZSA9IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5kZXNlcmlhbGl6ZSh3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X2phdmFzY3JpcHRfZ2xvYmFsX2NvbnRleHQodmlldyksIG51bGxwdHIpOworICAgICAg
ICB2YWx1ZSA9IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5kZXNlcmlhbGl6ZShqYXZhc2NyaXB0R2xv
YmFsQ29udGV4dC5nZXQoKSwgbnVsbHB0cik7CiAgICAgfQogCi0gICAgR1JlZlB0cjxXZWJLaXRX
ZWJWaWV3PiB3ZWJWaWV3OworICAgIEpTUmV0YWluUHRyPEpTR2xvYmFsQ29udGV4dFJlZj4gamF2
YXNjcmlwdEdsb2JhbENvbnRleHQ7CiAgICAgSlNWYWx1ZVJlZiB2YWx1ZTsKIAogICAgIGludCBy
ZWZlcmVuY2VDb3VudDsKQEAgLTQwLDEwICs0MSwxMCBAQCBzdHJ1Y3QgX1dlYktpdEphdmFzY3Jp
cHRSZXN1bHQgewogCiBHX0RFRklORV9CT1hFRF9UWVBFKFdlYktpdEphdmFzY3JpcHRSZXN1bHQs
IHdlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdCwgd2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X3JlZiwg
d2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X3VucmVmKQogCi1XZWJLaXRKYXZhc2NyaXB0UmVzdWx0
KiB3ZWJraXRKYXZhc2NyaXB0UmVzdWx0Q3JlYXRlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdl
YkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYgc2VyaWFsaXplZFNjcmlwdFZhbHVlKQorV2Vi
S2l0SmF2YXNjcmlwdFJlc3VsdCogd2Via2l0SmF2YXNjcmlwdFJlc3VsdENyZWF0ZShKU0dsb2Jh
bENvbnRleHRSZWYgamF2YXNjcmlwdEdsb2JhbENvbnRleHQsIFdlYkNvcmU6OlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSYgc2VyaWFsaXplZFNjcmlwdFZhbHVlKQogewogICAgIFdlYktpdEphdmFzY3Jp
cHRSZXN1bHQqIHJlc3VsdCA9IHN0YXRpY19jYXN0PFdlYktpdEphdmFzY3JpcHRSZXN1bHQqPihm
YXN0TWFsbG9jKHNpemVvZihXZWJLaXRKYXZhc2NyaXB0UmVzdWx0KSkpOwotICAgIG5ldyAocmVz
dWx0KSBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0KHdlYlZpZXcsIHNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSk7CisgICAgbmV3IChyZXN1bHQpIFdlYktpdEphdmFzY3JpcHRSZXN1bHQoamF2YXNjcmlwdEds
b2JhbENvbnRleHQsIHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIApAQCAtOTAsNyArOTEsNyBAQCB2b2lkIHdlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF91bnJl
ZihXZWJLaXRKYXZhc2NyaXB0UmVzdWx0KiBqYXZhc2NyaXB0UmVzdWx0KQogICovCiBKU0dsb2Jh
bENvbnRleHRSZWYgd2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X2dldF9nbG9iYWxfY29udGV4dChX
ZWJLaXRKYXZhc2NyaXB0UmVzdWx0KiBqYXZhc2NyaXB0UmVzdWx0KQogewotICAgIHJldHVybiB3
ZWJraXRfd2ViX3ZpZXdfZ2V0X2phdmFzY3JpcHRfZ2xvYmFsX2NvbnRleHQoamF2YXNjcmlwdFJl
c3VsdC0+d2ViVmlldy5nZXQoKSk7CisgICAgcmV0dXJuIGphdmFzY3JpcHRSZXN1bHQtPmphdmFz
Y3JpcHRHbG9iYWxDb250ZXh0LmdldCgpOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRKYXZhc2NyaXB0UmVzdWx0UHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEphdmFzY3JpcHRSZXN1
bHRQcml2YXRlLmgKaW5kZXggOWE4MjljNzBlMGUuLmU3NTNmYjIyODY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0SmF2YXNjcmlwdFJlc3VsdFBy
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0SmF2
YXNjcmlwdFJlc3VsdFByaXZhdGUuaApAQCAtMjEsNiArMjEsNSBAQAogCiAjaW5jbHVkZSA8V2Vi
Q29yZS9TZXJpYWxpemVkU2NyaXB0VmFsdWUuaD4KICNpbmNsdWRlICJXZWJLaXRKYXZhc2NyaXB0
UmVzdWx0LmgiCi0jaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogCi1XZWJLaXRKYXZhc2NyaXB0
UmVzdWx0KiB3ZWJraXRKYXZhc2NyaXB0UmVzdWx0Q3JlYXRlKFdlYktpdFdlYlZpZXcqLCBXZWJD
b3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWUmKTsKK1dlYktpdEphdmFzY3JpcHRSZXN1bHQqIHdl
YmtpdEphdmFzY3JpcHRSZXN1bHRDcmVhdGUoSlNHbG9iYWxDb250ZXh0UmVmLCBXZWJDb3JlOjpT
ZXJpYWxpemVkU2NyaXB0VmFsdWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRVc2VyQ29udGVudE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVzZXJDb250ZW50TWFuYWdlci5jcHAKaW5kZXgg
MzFkNGY4NGM0NmEuLjAwYjczMTYxM2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyLmNwcApA
QCAtMjUsMTAgKzI1LDE1IEBACiAjaW5jbHVkZSAiV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyUHJp
dmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFVzZXJDb250ZW50UHJpdmF0ZS5oIgogI2luY2x1ZGUg
IldlYktpdFdlYkNvbnRleHRQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgog
I2luY2x1ZGUgIldlYlNjcmlwdE1lc3NhZ2VIYW5kbGVyLmgiCiAjaW5jbHVkZSA8d3RmL2dsaWIv
R1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL1dURkdUeXBlLmg+CiAKKyNpZiBQTEFURk9S
TShXUEUpCisjaW5jbHVkZSAiV1BFVmlldy5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtMTg3LDEyICsxOTIsMTMgQEAg
cHVibGljOgogICAgIHZvaWQgZGlkUG9zdE1lc3NhZ2UoV2ViUGFnZVByb3h5JiBwYWdlLCBjb25z
dCBGcmFtZUluZm9EYXRhJiwgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlJiBzZXJpYWxp
emVkU2NyaXB0VmFsdWUpIG92ZXJyaWRlCiAgICAgewogI2lmIFBMQVRGT1JNKEdUSykKLSAgICAg
ICAgV2ViS2l0SmF2YXNjcmlwdFJlc3VsdCoganNSZXN1bHQgPSB3ZWJraXRKYXZhc2NyaXB0UmVz
dWx0Q3JlYXRlKFdFQktJVF9XRUJfVklFVyhwYWdlLnZpZXdXaWRnZXQoKSksIHNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSk7CisgICAgICAgIGF1dG8qIGpzQ29udGV4dCA9IHdlYmtpdF93ZWJfdmlld19n
ZXRfamF2YXNjcmlwdF9nbG9iYWxfY29udGV4dChXRUJLSVRfV0VCX1ZJRVcocGFnZS52aWV3V2lk
Z2V0KCkpKTsKKyNlbGlmIFBMQVRGT1JNKFdQRSkKKyAgICAgICAgYXV0byoganNDb250ZXh0ID0g
cGFnZS52aWV3KCkuamF2YXNjcmlwdEdsb2JhbENvbnRleHQoKTsKKyNlbmRpZgorICAgICAgICBX
ZWJLaXRKYXZhc2NyaXB0UmVzdWx0KiBqc1Jlc3VsdCA9IHdlYmtpdEphdmFzY3JpcHRSZXN1bHRD
cmVhdGUoanNDb250ZXh0LCBzZXJpYWxpemVkU2NyaXB0VmFsdWUpOwogICAgICAgICBnX3NpZ25h
bF9lbWl0KG1fbWFuYWdlciwgc2lnbmFsc1tTQ1JJUFRfTUVTU0FHRV9SRUNFSVZFRF0sIG1faGFu
ZGxlck5hbWUsIGpzUmVzdWx0KTsKICAgICAgICAgd2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X3Vu
cmVmKGpzUmVzdWx0KTsKLSNlbHNlCi0gICAgICAgIC8vIEZJWE1FOiBXZSBuZWVkIGEgd2F5IHRv
IGdldCB0aGUgV2ViS2l0V2ViVmlldyBoZXJlIGluIFdQRS4KLSNlbmRpZgogICAgIH0KIAogICAg
IHZpcnR1YWwgflNjcmlwdE1lc3NhZ2VDbGllbnRHdGsoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCAyOWZmYjA0
ODZmNC4uMzFmMzhmNGJkMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTU5LDYgKzU5LDcgQEAKICNpbmNsdWRlICJX
ZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXJQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2luZG93
UHJvcGVydGllc1ByaXZhdGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNSZXRhaW5QdHIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR1VuaXF1ZVB0clNvdXAu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaD4KQEAgLTE4MCw5
ICsxODEsNiBAQCBjbGFzcyBQYWdlTG9hZFN0YXRlT2JzZXJ2ZXI7CiBzdHJ1Y3QgX1dlYktpdFdl
YlZpZXdQcml2YXRlIHsKICAgICB+X1dlYktpdFdlYlZpZXdQcml2YXRlKCkKICAgICB7Ci0gICAg
ICAgIGlmIChqYXZhc2NyaXB0R2xvYmFsQ29udGV4dCkKLSAgICAgICAgICAgIEpTR2xvYmFsQ29u
dGV4dFJlbGVhc2UoamF2YXNjcmlwdEdsb2JhbENvbnRleHQpOwotCiAgICAgICAgIC8vIEZvciBt
b2RhbCBkaWFsb2dzLCBtYWtlIHN1cmUgdGhlIG1haW4gbG9vcCBpcyBzdG9wcGVkIHdoZW4gZmlu
YWxpemluZyB0aGUgd2ViVmlldy4KICAgICAgICAgaWYgKG1vZGFsTG9vcCAmJiBnX21haW5fbG9v
cF9pc19ydW5uaW5nKG1vZGFsTG9vcC5nZXQoKSkpCiAgICAgICAgICAgICBnX21haW5fbG9vcF9x
dWl0KG1vZGFsTG9vcC5nZXQoKSk7CkBAIC0yMTUsNyArMjEzLDcgQEAgc3RydWN0IF9XZWJLaXRX
ZWJWaWV3UHJpdmF0ZSB7CiAgICAgV2ViRXZlbnQ6Ok1vZGlmaWVycyBtb3VzZVRhcmdldE1vZGlm
aWVyczsKIAogICAgIEdSZWZQdHI8V2ViS2l0RmluZENvbnRyb2xsZXI+IGZpbmRDb250cm9sbGVy
OwotICAgIEpTR2xvYmFsQ29udGV4dFJlZiBqYXZhc2NyaXB0R2xvYmFsQ29udGV4dDsKKyAgICBK
U1JldGFpblB0cjxKU0dsb2JhbENvbnRleHRSZWY+IGphdmFzY3JpcHRHbG9iYWxDb250ZXh0Owog
CiAgICAgR1JlZlB0cjxXZWJLaXRXZWJSZXNvdXJjZT4gbWFpblJlc291cmNlOwogICAgIExvYWRp
bmdSZXNvdXJjZXNNYXAgbG9hZGluZ1Jlc291cmNlc01hcDsKQEAgLTM1MCw2ICszNDgsMTEgQEAg
cHJpdmF0ZToKICAgICAgICAgd2Via2l0V2ViVmlld0hhbmRsZURvd25sb2FkUmVxdWVzdChtX3dl
YlZpZXcsICZkb3dubG9hZFByb3h5KTsKICAgICB9CiAKKyAgICBKU0dsb2JhbENvbnRleHRSZWYg
amF2YXNjcmlwdEdsb2JhbENvbnRleHQoKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgcmV0dXJu
IHdlYmtpdF93ZWJfdmlld19nZXRfamF2YXNjcmlwdF9nbG9iYWxfY29udGV4dChtX3dlYlZpZXcp
OworICAgIH0KKwogICAgIFdlYktpdFdlYlZpZXcqIG1fd2ViVmlldzsKIH07CiAjZW5kaWYKQEAg
LTMwNjksMTEgKzMwNzIsMTEgQEAgV2ViS2l0RmluZENvbnRyb2xsZXIqIHdlYmtpdF93ZWJfdmll
d19nZXRfZmluZF9jb250cm9sbGVyKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcKICAqLwogSlNHbG9i
YWxDb250ZXh0UmVmIHdlYmtpdF93ZWJfdmlld19nZXRfamF2YXNjcmlwdF9nbG9iYWxfY29udGV4
dChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9JU19XRUJfVklFVyh3ZWJWaWV3KSwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwo
V0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcpLCBudWxscHRyKTsKIAogICAgIGlmICghd2ViVmll
dy0+cHJpdi0+amF2YXNjcmlwdEdsb2JhbENvbnRleHQpCi0gICAgICAgIHdlYlZpZXctPnByaXYt
PmphdmFzY3JpcHRHbG9iYWxDb250ZXh0ID0gSlNHbG9iYWxDb250ZXh0Q3JlYXRlKDApOwotICAg
IHJldHVybiB3ZWJWaWV3LT5wcml2LT5qYXZhc2NyaXB0R2xvYmFsQ29udGV4dDsKKyAgICAgICAg
d2ViVmlldy0+cHJpdi0+amF2YXNjcmlwdEdsb2JhbENvbnRleHQgPSBhZG9wdChKU0dsb2JhbENv
bnRleHRDcmVhdGUobnVsbHB0cikpOworICAgIHJldHVybiB3ZWJWaWV3LT5wcml2LT5qYXZhc2Ny
aXB0R2xvYmFsQ29udGV4dC5nZXQoKTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld1J1
bkphdmFTY3JpcHRDYWxsYmFjayhBUEk6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogd2tTZXJpYWxp
emVkU2NyaXB0VmFsdWUsIGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRldGFpbHMmIGV4Y2VwdGlv
bkRldGFpbHMsIEdUYXNrKiB0YXNrKQpAQCAtMzEwMSw4ICszMTA0LDggQEAgc3RhdGljIHZvaWQg
d2Via2l0V2ViVmlld1J1bkphdmFTY3JpcHRDYWxsYmFjayhBUEk6OlNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSogd2tTZXIKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcoZ190YXNrX2dldF9zb3VyY2Vfb2JqZWN0KHRhc2sp
KTsKLSAgICBnX3Rhc2tfcmV0dXJuX3BvaW50ZXIodGFzaywgd2Via2l0SmF2YXNjcmlwdFJlc3Vs
dENyZWF0ZSh3ZWJWaWV3LAorICAgIGF1dG8qIGpzQ29udGV4dCA9IHdlYmtpdF93ZWJfdmlld19n
ZXRfamF2YXNjcmlwdF9nbG9iYWxfY29udGV4dChXRUJLSVRfV0VCX1ZJRVcoZ190YXNrX2dldF9z
b3VyY2Vfb2JqZWN0KHRhc2spKSk7CisgICAgZ190YXNrX3JldHVybl9wb2ludGVyKHRhc2ssIHdl
YmtpdEphdmFzY3JpcHRSZXN1bHRDcmVhdGUoanNDb250ZXh0LAogICAgICAgICAqd2tTZXJpYWxp
emVkU2NyaXB0VmFsdWUtPmludGVybmFsUmVwcmVzZW50YXRpb24oKSksCiAgICAgICAgIHJlaW50
ZXJwcmV0X2Nhc3Q8R0Rlc3Ryb3lOb3RpZnk+KHdlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF91bnJl
ZikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS93cGUvQVBJ
Vmlld0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS93cGUvQVBJVmlld0Ns
aWVudC5oCmluZGV4IDA5YWY5NjlkMWNkLi5lZDVhOWUzZjM1ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS93cGUvQVBJVmlld0NsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvd3BlL0FQSVZpZXdDbGllbnQuaApAQCAtMjUsNiArMjUsOCBA
QAogCiAjcHJhZ21hIG9uY2UKIAordHlwZWRlZiBzdHJ1Y3QgT3BhcXVlSlNDb250ZXh0KiBKU0ds
b2JhbENvbnRleHRSZWY7CisKIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgRG93bmxvYWRQcm94
eTsKIH0KQEAgLTQxLDYgKzQzLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGZyYW1l
RGlzcGxheWVkKFdLV1BFOjpWaWV3JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZURvd25s
b2FkUmVxdWVzdChXS1dQRTo6VmlldyYsIFdlYktpdDo6RG93bmxvYWRQcm94eSYpIHsgfQorICAg
IHZpcnR1YWwgSlNHbG9iYWxDb250ZXh0UmVmIGphdmFzY3JpcHRHbG9iYWxDb250ZXh0KCkgeyBy
ZXR1cm4gbnVsbHB0cjsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9QYWdlQ2xpZW50SW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9QYWdlQ2xpZW50SW1wbC5jcHAKaW5kZXggMGVh
ZWU4OWEwMzIuLmQ0ZTU4OTA5ZmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3dwZS9QYWdlQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS93cGUvUGFnZUNsaWVudEltcGwuY3BwCkBAIC00NSw2ICs0NSwxMSBAQCBQYWdlQ2xp
ZW50SW1wbDo6UGFnZUNsaWVudEltcGwoV0tXUEU6OlZpZXcmIHZpZXcpCiAKIFBhZ2VDbGllbnRJ
bXBsOjp+UGFnZUNsaWVudEltcGwoKSA9IGRlZmF1bHQ7CiAKK1dLV1BFOjpWaWV3JiBQYWdlQ2xp
ZW50SW1wbDo6dmlldygpCit7CisgICAgcmV0dXJuIG1fdmlldzsKK30KKwogc3RkOjp1bmlxdWVf
cHRyPERyYXdpbmdBcmVhUHJveHk+IFBhZ2VDbGllbnRJbXBsOjpjcmVhdGVEcmF3aW5nQXJlYVBy
b3h5KCkKIHsKICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxBY2NlbGVyYXRlZERyYXdpbmdB
cmVhUHJveHk+KG1fdmlldy5wYWdlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS93cGUvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvd3BlL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggZTA3ZDI5YWU5ZGUuLjE2NWU2MjNiZjg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9QYWdlQ2xpZW50
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvd3BlL1BhZ2VDbGllbnRJ
bXBsLmgKQEAgLTQwLDYgKzQwLDggQEAgcHVibGljOgogICAgIFBhZ2VDbGllbnRJbXBsKFdLV1BF
OjpWaWV3Jik7CiAgICAgdmlydHVhbCB+UGFnZUNsaWVudEltcGwoKTsKIAorICAgIFdLV1BFOjpW
aWV3JiB2aWV3KCk7CisKIHByaXZhdGU6CiAgICAgLy8gUGFnZUNsaWVudAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxEcmF3aW5nQXJlYVByb3h5PiBjcmVhdGVEcmF3aW5nQXJlYVByb3h5KCkgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcuY3BwCmluZGV4
IDk0YmI1Y2E4NTMxLi42MDhjMzY5MTQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS93cGUvV1BFVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS93cGUvV1BFVmlldy5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJOYXRpdmVX
ZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzc1Bvb2wuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0Jhc2UuaD4KICNpbmNs
dWRlIDx3cGUvdmlldy1iYWNrZW5kLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CkBAIC0x
NTAsNiArMTUxLDExIEBAIHZvaWQgVmlldzo6aGFuZGxlRG93bmxvYWRSZXF1ZXN0KERvd25sb2Fk
UHJveHkmIGRvd25sb2FkKQogICAgIG1fY2xpZW50LT5oYW5kbGVEb3dubG9hZFJlcXVlc3QoKnRo
aXMsIGRvd25sb2FkKTsKIH0KIAorSlNHbG9iYWxDb250ZXh0UmVmIFZpZXc6OmphdmFzY3JpcHRH
bG9iYWxDb250ZXh0KCkKK3sKKyAgICByZXR1cm4gbV9jbGllbnQtPmphdmFzY3JpcHRHbG9iYWxD
b250ZXh0KCk7Cit9CisKIHZvaWQgVmlldzo6c2V0U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBzaXplKQogewogICAgIG1fc2l6ZSA9IHNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3dwZS9XUEVWaWV3LmgKaW5kZXggOTMwNWIyNjEyOTIuLmZmODJmYmU3ZWUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS93cGUvV1BFVmlldy5oCkBAIC0zMyw2ICszMyw3IEBA
CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAordHlwZWRlZiBz
dHJ1Y3QgT3BhcXVlSlNDb250ZXh0KiBKU0dsb2JhbENvbnRleHRSZWY7CiBzdHJ1Y3Qgd3BlX3Zp
ZXdfYmFja2VuZDsKIAogbmFtZXNwYWNlIEFQSSB7CkBAIC01OSw2ICs2MCw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldENsaWVudChzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpWaWV3Q2xpZW50PiYmKTsK
ICAgICB2b2lkIGZyYW1lRGlzcGxheWVkKCk7CiAgICAgdm9pZCBoYW5kbGVEb3dubG9hZFJlcXVl
c3QoV2ViS2l0OjpEb3dubG9hZFByb3h5Jik7CisgICAgSlNHbG9iYWxDb250ZXh0UmVmIGphdmFz
Y3JpcHRHbG9iYWxDb250ZXh0KCk7CiAKICAgICBXZWJLaXQ6OldlYlBhZ2VQcm94eSYgcGFnZSgp
IHsgcmV0dXJuICptX3BhZ2VQcm94eTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggYzI1M2NjNGNkNjQuLjdiMmI5OGVhMjcwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMTIsNiArMTEyLDEyIEBAIE9CSkNfQ0xBU1Mg
X1dLUmVtb3RlT2JqZWN0UmVnaXN0cnk7CiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJNZWRpYVNlc3Np
b25NYW5hZ2VyQ2xpZW50Lmg+CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKFdQRSkKK25hbWVzcGFj
ZSBXS1dQRSB7CitjbGFzcyBWaWV3OworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoTUVESUFfU0VT
U0lPTikKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1lZGlhU2Vzc2lvbk1ldGFkYXRhOwpA
QCAtNjMwLDYgKzYzNiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3Io
Y29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yKSB7IG1fYmFja2dyb3VuZENvbG9yID0gY29sb3I7
IH0KICNlbmRpZgogCisjaWYgUExBVEZPUk0oV1BFKQorICAgIFdLV1BFOjpWaWV3JiB2aWV3KCk7
CisjZW5kaWYKKwogICAgIHZvaWQgaGFuZGxlTW91c2VFdmVudChjb25zdCBOYXRpdmVXZWJNb3Vz
ZUV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IE5hdGl2ZVdlYldoZWVs
RXZlbnQmKTsKICAgICB2b2lkIGhhbmRsZUtleWJvYXJkRXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dwZS9X
ZWJQYWdlUHJveHlXUEUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dwZS9XZWJQYWdl
UHJveHlXUEUuY3BwCmluZGV4IDRhMjAyYWJlYjRmLi4xYzU1ZmUzNjdjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dwZS9XZWJQYWdlUHJveHlXUEUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93cGUvV2ViUGFnZVByb3h5V1BFLmNwcApAQCAtMjYsNiAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgog
CisjaW5jbHVkZSAiUGFnZUNsaWVudEltcGwuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0YVN0b3Jl
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogCkBAIC0zNiw2ICszNywx
MSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplKCkKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCitXS1dQRTo6VmlldyYgV2ViUGFnZVByb3h5Ojp2aWV3KCkKK3sKKyAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8UGFnZUNsaWVudEltcGwmPihtX3BhZ2VDbGllbnQpLnZpZXco
KTsKK30KKwogU3RyaW5nIFdlYlBhZ2VQcm94eTo6c3RhbmRhcmRVc2VyQWdlbnQoY29uc3QgU3Ry
aW5nJikKIHsKICAgICByZXR1cm4gIk1vemlsbGEvNS4wIChMaW51eDsgeDg2XzY0IEdOVS9MaW51
eCkgQXBwbGVXZWJLaXQvNjAxLjEgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzguMCBTYWZh
cmkvNjAxLjEiOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UgYi9T
b3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZQppbmRleCA0YzAwY2I1MmJlNy4uZTA2ZWY2ZTdi
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCisrKyBiL1NvdXJj
ZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NSFRNTCBQUklWQVRFIE9OKQogV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgUFJJVkFURSBP
RkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUiBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X1RPVUNIX0VWRU5UUyBQVUJMSUMgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklERU8gUFVCTElDIE9OKQogV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1ZJREVPX1RSQUNLIFBVQkxJQyBPTikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBIFBV
QkxJQyBPTikK
</data>
<flag name="review"
          id="334500"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313628</attachid>
            <date>2017-06-22 08:44:27 -0700</date>
            <delta_ts>2017-06-23 03:03:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-user-script-messages.diff</filename>
            <type>text/plain</type>
            <size>18957</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1YmFiY2FmNTg4Ni4uMDhm
NjMyOWE0ODUgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNSAr
MSwxNiBAQAogMjAxNy0wNi0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKKyAgICAgICAgW1dQRV0gVXNlciBzY3JpcHQgbWVzc2FnZXMgZG9uJ3Qgd29yawor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNzEyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIHVz
ZXIgc2NyaXB0IG1lc3NhZ2VzLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNXUEUu
Y21ha2U6CisKKzIwMTctMDYtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCiAgICAgICAgIFtXUEVdIEFkZCBpbml0aWFsIHdlYiBleHRlbnNpb25zIEFQSQog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjQwCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1NjdlN2QyZTU1Ny4uNDEwYjQyOTkwYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw1MiBAQAogMjAxNy0wNi0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKKyAgICAgICAgW1dQRV0gVXNlciBzY3JpcHQgbWVzc2FnZXMgZG9uJ3Qgd29y
aworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNzEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBh
IHVzZXIgc2NyaXB0IG1lc3NhZ2UgaXMgcmVjZWl2ZWQgd2UgbmVlZCB0byBjcmVhdGUgYSBXZWJL
aXRKYXZhc2NyaXB0UmVzdWx0IHRvIGRlc2VyaWFsaXplIHRoZSBzY3JpcHQKKyAgICAgICAgdmFs
dWUuIFdlYktpdEphdmFzY3JpcHRSZXN1bHQgaXMgY3JlYXRlZCB3aXRoIGEgV2ViS2l0V2ViVmll
dyBmb3IgdHdvIHJlYXNvbnM6IHRvIGdldCBpdHMgSmF2YVNjcmlwdCBnbG9iYWwKKyAgICAgICAg
Y29udGV4dCBhbmQgdG8gdGFrZSBhIHJlZmVyZW5jZSB0aGF0IGVuc3VyZXMgdGhlIEphdmFTY3Jp
cHQgY29udGV4dCB3aWxsIGJlIGFsaXZlIHdoaWxlIHRoZSByZXN1bHRzIGlzCisgICAgICAgIGFs
aXZlLiBIb3dldmVyLCB3ZSBjb3VsZCBjcmVhdGUgdGhlIFdlYktpdEphdmFzY3JpcHRSZXN1bHQg
d2l0aCB0aGUgSmF2YVNjcmlwdCBnbG9iYWwgY29udGV4dCBhbmQgdGFrZSBhCisgICAgICAgIHJl
ZmVyZW5jZSBvZiB0aGUgY29udGV4dCBpdHNlbGYuIFRoaXMgd2F5IHdlIGRvbid0IG5lZWQgdG8g
YWNjZXNzIHRoZSBXZWJLaXRXZWJWaWV3IGZyb20gdGhlCisgICAgICAgIFdlYlNjcmlwdE1lc3Nh
Z2VIYW5kbGVyIGNsaWVudC4gQnV0IHdlIHN0aWxsIG5lZWQgYWNjZXNzIHRvIHRoZSBKYXZhU2Ny
aXB0IGNvbnRleHQsIHNvIEkndmUgYWRkZWQgYQorICAgICAgICBqYXZhc2NyaXB0R2xvYmFsQ29u
dGV4dCgpIG1ldGhvZCB0byBXZWJQYWdlUHJveHkgZm9yIEdUSysgYW5kIFdQRSB0aGF0IGlzIGlt
cGxlbWVudGVkIGZyb20gdGhlIHBhZ2UgY2xpZW50LgorCisgICAgICAgIEZpeGVzIC93cGUvV2Vi
S2l0VXNlckNvbnRlbnRNYW5hZ2VyL3NjcmlwdC1tZXNzYWdlLXJlY2VpdmVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEphdmFzY3JpcHRSZXN1bHQuY3BwOgorICAgICAg
ICAoX1dlYktpdEphdmFzY3JpcHRSZXN1bHQ6Ol9XZWJLaXRKYXZhc2NyaXB0UmVzdWx0KTogQ3Jl
YXRlIHRoZSBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0IHdpdGggYSBKU0dsb2JhbENvbnRleHRSZWYK
KyAgICAgICAgaW5zdGVhZCBvZiBhIFdFYktpdFdlYlZpZXcuCisgICAgICAgICh3ZWJraXRKYXZh
c2NyaXB0UmVzdWx0Q3JlYXRlKTogUGFzcyB0aGUganMgY29udGV4dCB0byB0aGUgY29uc3RydWN0
b3IuCisgICAgICAgICh3ZWJraXRfamF2YXNjcmlwdF9yZXN1bHRfZ2V0X2dsb2JhbF9jb250ZXh0
KTogUmV0dXJuIHRoZSBqcyBjb250ZXh0LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRKYXZhc2NyaXB0UmVzdWx0UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRVc2VyQ29udGVudE1hbmFnZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKF9XZWJLaXRXZWJWaWV3UHJpdmF0
ZTo6fl9XZWJLaXRXZWJWaWV3UHJpdmF0ZSk6IFVzZSBKU1JldGFpblB0cgorICAgICAgICAod2Vi
a2l0X3dlYl92aWV3X2dldF9qYXZhc2NyaXB0X2dsb2JhbF9jb250ZXh0KToKKyAgICAgICAgKHdl
YmtpdFdlYlZpZXdSdW5KYXZhU2NyaXB0Q2FsbGJhY2spOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudElt
cGw6OmphdmFzY3JpcHRHbG9iYWxDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL0FQSVZpZXdD
bGllbnQuaDoKKyAgICAgICAgKEFQSTo6Vmlld0NsaWVudDo6amF2YXNjcmlwdEdsb2JhbENvbnRl
eHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1BhZ2VDbGllbnRJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmphdmFzY3JpcHRHbG9iYWxDb250ZXh0KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcuY3BwOgorICAgICAgICAoV0tXUEU6OlZpZXc6Omph
dmFzY3JpcHRHbG9iYWxDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XUEVW
aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKFdlYktp
dDo6UGFnZUNsaWVudDo6amF2YXNjcmlwdEdsb2JhbENvbnRleHQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQcm94
eUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6amF2YXNjcmlwdEdsb2Jh
bENvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy93cGUvV2ViUGFnZVByb3h5V1BFLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpqYXZhc2NyaXB0R2xvYmFsQ29udGV4dCk6
CisKKzIwMTctMDYtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCiAgICAgICAgIFtXUEVdIFBhZ2Ugc2hvdWxkIGJlIGNsb3NlZCBvbiBXZWJLaXRXZWJWaWV3
IGRpc3Bvc2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MzcwNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0SmF2YXNjcmlwdFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0SmF2YXNjcmlwdFJlc3VsdC5jcHAKaW5kZXggMDY1YTNiNGVkZGIuLjAxMDgw
NWMzOTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0SmF2YXNjcmlwdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdEphdmFzY3JpcHRSZXN1bHQuY3BwCkBAIC0yMiwxNyArMjIsMTggQEAKIAog
I2luY2x1ZGUgIkFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIldlYktpdEph
dmFzY3JpcHRSZXN1bHRQcml2YXRlLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNSZXRh
aW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAKIHN0cnVjdCBfV2ViS2l0
SmF2YXNjcmlwdFJlc3VsdCB7Ci0gICAgX1dlYktpdEphdmFzY3JpcHRSZXN1bHQoV2ViS2l0V2Vi
VmlldyogdmlldywgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlJiBzZXJpYWxpemVkU2Ny
aXB0VmFsdWUpCi0gICAgICAgIDogd2ViVmlldyh2aWV3KQorICAgIF9XZWJLaXRKYXZhc2NyaXB0
UmVzdWx0KEpTR2xvYmFsQ29udGV4dFJlZiBqc0NvbnRleHQsIFdlYkNvcmU6OlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSYgc2VyaWFsaXplZFNjcmlwdFZhbHVlKQorICAgICAgICA6IGphdmFzY3JpcHRH
bG9iYWxDb250ZXh0KGpzQ29udGV4dCkKICAgICAgICAgLCByZWZlcmVuY2VDb3VudCgxKQogICAg
IHsKLSAgICAgICAgdmFsdWUgPSBzZXJpYWxpemVkU2NyaXB0VmFsdWUuZGVzZXJpYWxpemUod2Vi
a2l0X3dlYl92aWV3X2dldF9qYXZhc2NyaXB0X2dsb2JhbF9jb250ZXh0KHZpZXcpLCBudWxscHRy
KTsKKyAgICAgICAgdmFsdWUgPSBzZXJpYWxpemVkU2NyaXB0VmFsdWUuZGVzZXJpYWxpemUoamF2
YXNjcmlwdEdsb2JhbENvbnRleHQuZ2V0KCksIG51bGxwdHIpOwogICAgIH0KIAotICAgIEdSZWZQ
dHI8V2ViS2l0V2ViVmlldz4gd2ViVmlldzsKKyAgICBKU1JldGFpblB0cjxKU0dsb2JhbENvbnRl
eHRSZWY+IGphdmFzY3JpcHRHbG9iYWxDb250ZXh0OwogICAgIEpTVmFsdWVSZWYgdmFsdWU7CiAK
ICAgICBpbnQgcmVmZXJlbmNlQ291bnQ7CkBAIC00MCwxMCArNDEsMTAgQEAgc3RydWN0IF9XZWJL
aXRKYXZhc2NyaXB0UmVzdWx0IHsKIAogR19ERUZJTkVfQk9YRURfVFlQRShXZWJLaXRKYXZhc2Ny
aXB0UmVzdWx0LCB3ZWJraXRfamF2YXNjcmlwdF9yZXN1bHQsIHdlYmtpdF9qYXZhc2NyaXB0X3Jl
c3VsdF9yZWYsIHdlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF91bnJlZikKIAotV2ViS2l0SmF2YXNj
cmlwdFJlc3VsdCogd2Via2l0SmF2YXNjcmlwdFJlc3VsdENyZWF0ZShXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3LCBXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWUmIHNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSkKK1dlYktpdEphdmFzY3JpcHRSZXN1bHQqIHdlYmtpdEphdmFzY3JpcHRSZXN1bHRDcmVh
dGUoSlNHbG9iYWxDb250ZXh0UmVmIGphdmFzY3JpcHRHbG9iYWxDb250ZXh0LCBXZWJDb3JlOjpT
ZXJpYWxpemVkU2NyaXB0VmFsdWUmIHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSkKIHsKICAgICBXZWJL
aXRKYXZhc2NyaXB0UmVzdWx0KiByZXN1bHQgPSBzdGF0aWNfY2FzdDxXZWJLaXRKYXZhc2NyaXB0
UmVzdWx0Kj4oZmFzdE1hbGxvYyhzaXplb2YoV2ViS2l0SmF2YXNjcmlwdFJlc3VsdCkpKTsKLSAg
ICBuZXcgKHJlc3VsdCkgV2ViS2l0SmF2YXNjcmlwdFJlc3VsdCh3ZWJWaWV3LCBzZXJpYWxpemVk
U2NyaXB0VmFsdWUpOworICAgIG5ldyAocmVzdWx0KSBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0KGph
dmFzY3JpcHRHbG9iYWxDb250ZXh0LCBzZXJpYWxpemVkU2NyaXB0VmFsdWUpOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKQEAgLTkwLDcgKzkxLDcgQEAgdm9pZCB3ZWJraXRfamF2YXNjcmlwdF9y
ZXN1bHRfdW5yZWYoV2ViS2l0SmF2YXNjcmlwdFJlc3VsdCogamF2YXNjcmlwdFJlc3VsdCkKICAq
LwogSlNHbG9iYWxDb250ZXh0UmVmIHdlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF9nZXRfZ2xvYmFs
X2NvbnRleHQoV2ViS2l0SmF2YXNjcmlwdFJlc3VsdCogamF2YXNjcmlwdFJlc3VsdCkKIHsKLSAg
ICByZXR1cm4gd2Via2l0X3dlYl92aWV3X2dldF9qYXZhc2NyaXB0X2dsb2JhbF9jb250ZXh0KGph
dmFzY3JpcHRSZXN1bHQtPndlYlZpZXcuZ2V0KCkpOworICAgIHJldHVybiBqYXZhc2NyaXB0UmVz
dWx0LT5qYXZhc2NyaXB0R2xvYmFsQ29udGV4dC5nZXQoKTsKIH0KIAogLyoqCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0SmF2YXNjcmlwdFJlc3Vs
dFByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRKYXZh
c2NyaXB0UmVzdWx0UHJpdmF0ZS5oCmluZGV4IDlhODI5YzcwZTBlLi5lNzUzZmIyMjg2OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEphdmFzY3Jp
cHRSZXN1bHRQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdEphdmFzY3JpcHRSZXN1bHRQcml2YXRlLmgKQEAgLTIxLDYgKzIxLDUgQEAKIAogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg+CiAjaW5jbHVkZSAiV2ViS2l0
SmF2YXNjcmlwdFJlc3VsdC5oIgotI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAotV2ViS2l0
SmF2YXNjcmlwdFJlc3VsdCogd2Via2l0SmF2YXNjcmlwdFJlc3VsdENyZWF0ZShXZWJLaXRXZWJW
aWV3KiwgV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlJik7CitXZWJLaXRKYXZhc2NyaXB0
UmVzdWx0KiB3ZWJraXRKYXZhc2NyaXB0UmVzdWx0Q3JlYXRlKEpTR2xvYmFsQ29udGV4dFJlZiwg
V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVc2VyQ29udGVudE1hbmFnZXIu
Y3BwCmluZGV4IDMxZDRmODRjNDZhLi4yMjgzMjYwNGE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVzZXJDb250ZW50TWFuYWdlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVzZXJDb250ZW50TWFu
YWdlci5jcHAKQEAgLTI5LDYgKzI5LDEwIEBACiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9nbGliL1dURkdUeXBlLmg+CiAKKyNpZiBQTEFURk9STShXUEUpCisj
aW5jbHVkZSAiV1BFVmlldy5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtMTg2LDEzICsxOTAsOSBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGRpZFBvc3RNZXNzYWdlKFdlYlBhZ2VQcm94eSYgcGFnZSwgY29uc3QgRnJhbWVJ
bmZvRGF0YSYsIFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSYgc2VyaWFsaXplZFNjcmlw
dFZhbHVlKSBvdmVycmlkZQogICAgIHsKLSNpZiBQTEFURk9STShHVEspCi0gICAgICAgIFdlYktp
dEphdmFzY3JpcHRSZXN1bHQqIGpzUmVzdWx0ID0gd2Via2l0SmF2YXNjcmlwdFJlc3VsdENyZWF0
ZShXRUJLSVRfV0VCX1ZJRVcocGFnZS52aWV3V2lkZ2V0KCkpLCBzZXJpYWxpemVkU2NyaXB0VmFs
dWUpOworICAgICAgICBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0KiBqc1Jlc3VsdCA9IHdlYmtpdEph
dmFzY3JpcHRSZXN1bHRDcmVhdGUocGFnZS5qYXZhc2NyaXB0R2xvYmFsQ29udGV4dCgpLCBzZXJp
YWxpemVkU2NyaXB0VmFsdWUpOwogICAgICAgICBnX3NpZ25hbF9lbWl0KG1fbWFuYWdlciwgc2ln
bmFsc1tTQ1JJUFRfTUVTU0FHRV9SRUNFSVZFRF0sIG1faGFuZGxlck5hbWUsIGpzUmVzdWx0KTsK
ICAgICAgICAgd2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X3VucmVmKGpzUmVzdWx0KTsKLSNlbHNl
Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBuZWVkIGEgd2F5IHRvIGdldCB0aGUgV2ViS2l0V2ViVmll
dyBoZXJlIGluIFdQRS4KLSNlbmRpZgogICAgIH0KIAogICAgIHZpcnR1YWwgflNjcmlwdE1lc3Nh
Z2VDbGllbnRHdGsoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRXZWJWaWV3LmNwcAppbmRleCAyOWZmYjA0ODZmNC4uMzFmMzhmNGJkMTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmll
dy5jcHAKQEAgLTU5LDYgKzU5LDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXJQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2luZG93UHJvcGVydGllc1ByaXZhdGUuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CisjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvSlNSZXRhaW5QdHIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvR1VuaXF1ZVB0clNvdXAuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0pTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaD4KQEAgLTE4MCw5ICsxODEsNiBAQCBjbGFzcyBQYWdl
TG9hZFN0YXRlT2JzZXJ2ZXI7CiBzdHJ1Y3QgX1dlYktpdFdlYlZpZXdQcml2YXRlIHsKICAgICB+
X1dlYktpdFdlYlZpZXdQcml2YXRlKCkKICAgICB7Ci0gICAgICAgIGlmIChqYXZhc2NyaXB0R2xv
YmFsQ29udGV4dCkKLSAgICAgICAgICAgIEpTR2xvYmFsQ29udGV4dFJlbGVhc2UoamF2YXNjcmlw
dEdsb2JhbENvbnRleHQpOwotCiAgICAgICAgIC8vIEZvciBtb2RhbCBkaWFsb2dzLCBtYWtlIHN1
cmUgdGhlIG1haW4gbG9vcCBpcyBzdG9wcGVkIHdoZW4gZmluYWxpemluZyB0aGUgd2ViVmlldy4K
ICAgICAgICAgaWYgKG1vZGFsTG9vcCAmJiBnX21haW5fbG9vcF9pc19ydW5uaW5nKG1vZGFsTG9v
cC5nZXQoKSkpCiAgICAgICAgICAgICBnX21haW5fbG9vcF9xdWl0KG1vZGFsTG9vcC5nZXQoKSk7
CkBAIC0yMTUsNyArMjEzLDcgQEAgc3RydWN0IF9XZWJLaXRXZWJWaWV3UHJpdmF0ZSB7CiAgICAg
V2ViRXZlbnQ6Ok1vZGlmaWVycyBtb3VzZVRhcmdldE1vZGlmaWVyczsKIAogICAgIEdSZWZQdHI8
V2ViS2l0RmluZENvbnRyb2xsZXI+IGZpbmRDb250cm9sbGVyOwotICAgIEpTR2xvYmFsQ29udGV4
dFJlZiBqYXZhc2NyaXB0R2xvYmFsQ29udGV4dDsKKyAgICBKU1JldGFpblB0cjxKU0dsb2JhbENv
bnRleHRSZWY+IGphdmFzY3JpcHRHbG9iYWxDb250ZXh0OwogCiAgICAgR1JlZlB0cjxXZWJLaXRX
ZWJSZXNvdXJjZT4gbWFpblJlc291cmNlOwogICAgIExvYWRpbmdSZXNvdXJjZXNNYXAgbG9hZGlu
Z1Jlc291cmNlc01hcDsKQEAgLTM1MCw2ICszNDgsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgd2Vi
a2l0V2ViVmlld0hhbmRsZURvd25sb2FkUmVxdWVzdChtX3dlYlZpZXcsICZkb3dubG9hZFByb3h5
KTsKICAgICB9CiAKKyAgICBKU0dsb2JhbENvbnRleHRSZWYgamF2YXNjcmlwdEdsb2JhbENvbnRl
eHQoKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgcmV0dXJuIHdlYmtpdF93ZWJfdmlld19nZXRf
amF2YXNjcmlwdF9nbG9iYWxfY29udGV4dChtX3dlYlZpZXcpOworICAgIH0KKwogICAgIFdlYktp
dFdlYlZpZXcqIG1fd2ViVmlldzsKIH07CiAjZW5kaWYKQEAgLTMwNjksMTEgKzMwNzIsMTEgQEAg
V2ViS2l0RmluZENvbnRyb2xsZXIqIHdlYmtpdF93ZWJfdmlld19nZXRfZmluZF9jb250cm9sbGVy
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcKICAqLwogSlNHbG9iYWxDb250ZXh0UmVmIHdlYmtpdF93
ZWJfdmlld19nZXRfamF2YXNjcmlwdF9nbG9iYWxfY29udGV4dChXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3KQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJW
aWV3KSwgMCk7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdl
YlZpZXcpLCBudWxscHRyKTsKIAogICAgIGlmICghd2ViVmlldy0+cHJpdi0+amF2YXNjcmlwdEds
b2JhbENvbnRleHQpCi0gICAgICAgIHdlYlZpZXctPnByaXYtPmphdmFzY3JpcHRHbG9iYWxDb250
ZXh0ID0gSlNHbG9iYWxDb250ZXh0Q3JlYXRlKDApOwotICAgIHJldHVybiB3ZWJWaWV3LT5wcml2
LT5qYXZhc2NyaXB0R2xvYmFsQ29udGV4dDsKKyAgICAgICAgd2ViVmlldy0+cHJpdi0+amF2YXNj
cmlwdEdsb2JhbENvbnRleHQgPSBhZG9wdChKU0dsb2JhbENvbnRleHRDcmVhdGUobnVsbHB0cikp
OworICAgIHJldHVybiB3ZWJWaWV3LT5wcml2LT5qYXZhc2NyaXB0R2xvYmFsQ29udGV4dC5nZXQo
KTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld1J1bkphdmFTY3JpcHRDYWxsYmFjayhB
UEk6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogd2tTZXJpYWxpemVkU2NyaXB0VmFsdWUsIGNvbnN0
IFdlYkNvcmU6OkV4Y2VwdGlvbkRldGFpbHMmIGV4Y2VwdGlvbkRldGFpbHMsIEdUYXNrKiB0YXNr
KQpAQCAtMzEwMSw4ICszMTA0LDggQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld1J1bkphdmFT
Y3JpcHRDYWxsYmFjayhBUEk6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogd2tTZXIKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJLSVRfV0VC
X1ZJRVcoZ190YXNrX2dldF9zb3VyY2Vfb2JqZWN0KHRhc2spKTsKLSAgICBnX3Rhc2tfcmV0dXJu
X3BvaW50ZXIodGFzaywgd2Via2l0SmF2YXNjcmlwdFJlc3VsdENyZWF0ZSh3ZWJWaWV3LAorICAg
IGF1dG8qIGpzQ29udGV4dCA9IHdlYmtpdF93ZWJfdmlld19nZXRfamF2YXNjcmlwdF9nbG9iYWxf
Y29udGV4dChXRUJLSVRfV0VCX1ZJRVcoZ190YXNrX2dldF9zb3VyY2Vfb2JqZWN0KHRhc2spKSk7
CisgICAgZ190YXNrX3JldHVybl9wb2ludGVyKHRhc2ssIHdlYmtpdEphdmFzY3JpcHRSZXN1bHRD
cmVhdGUoanNDb250ZXh0LAogICAgICAgICAqd2tTZXJpYWxpemVkU2NyaXB0VmFsdWUtPmludGVy
bmFsUmVwcmVzZW50YXRpb24oKSksCiAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8R0Rlc3Ryb3lO
b3RpZnk+KHdlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF91bnJlZikpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IDgz
YjM5YTY5OWExLi4yMjkzY2IyNDAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcApAQCAtNDY4LDQgKzQ2OCwxMiBAQCBib29s
IFBhZ2VDbGllbnRJbXBsOjpkZWNpZGVQb2xpY3lGb3JJbnN0YWxsTWlzc2luZ01lZGlhUGx1Z2lu
c1Blcm1pc3Npb25SZXF1ZXN0KAogfQogI2VuZGlmCiAKK0pTR2xvYmFsQ29udGV4dFJlZiBQYWdl
Q2xpZW50SW1wbDo6amF2YXNjcmlwdEdsb2JhbENvbnRleHQoKQoreworICAgIGlmICghV0VCS0lU
X0lTX1dFQl9WSUVXKG1fdmlld1dpZGdldCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgcmV0dXJuIHdlYmtpdF93ZWJfdmlld19nZXRfamF2YXNjcmlwdF9nbG9iYWxfY29udGV4dChX
RUJLSVRfV0VCX1ZJRVcobV92aWV3V2lkZ2V0KSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVu
dEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBs
LmgKaW5kZXggODhlZTZlMGU4N2UuLjk3OTk3OWUxMWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTE0OCw2ICsxNDgsOCBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBkaWRDaGFuZ2VBdm9pZHNVbnNhZmVBcmVhKGJvb2wpIG92
ZXJyaWRlIHsgfQogCisgICAgSlNHbG9iYWxDb250ZXh0UmVmIGphdmFzY3JpcHRHbG9iYWxDb250
ZXh0KCkgb3ZlcnJpZGU7CisKICAgICAvLyBNZW1iZXJzIG9mIFBhZ2VDbGllbnRJbXBsIGNsYXNz
CiAgICAgR3RrV2lkZ2V0KiBtX3ZpZXdXaWRnZXQ7CiAgICAgRGVmYXVsdFVuZG9Db250cm9sbGVy
IG1fdW5kb0NvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3dwZS9BUElWaWV3Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dw
ZS9BUElWaWV3Q2xpZW50LmgKaW5kZXggMDlhZjk2OWQxY2QuLmVkNWE5ZTNmMzVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9BUElWaWV3Q2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS93cGUvQVBJVmlld0NsaWVudC5oCkBAIC0y
NSw2ICsyNSw4IEBACiAKICNwcmFnbWEgb25jZQogCit0eXBlZGVmIHN0cnVjdCBPcGFxdWVKU0Nv
bnRleHQqIEpTR2xvYmFsQ29udGV4dFJlZjsKKwogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBE
b3dubG9hZFByb3h5OwogfQpAQCAtNDEsNiArNDMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZnJhbWVEaXNwbGF5ZWQoV0tXUEU6OlZpZXcmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
aGFuZGxlRG93bmxvYWRSZXF1ZXN0KFdLV1BFOjpWaWV3JiwgV2ViS2l0OjpEb3dubG9hZFByb3h5
JikgeyB9CisgICAgdmlydHVhbCBKU0dsb2JhbENvbnRleHRSZWYgamF2YXNjcmlwdEdsb2JhbENv
bnRleHQoKSB7IHJldHVybiBudWxscHRyOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvd3BlL1BhZ2VDbGllbnRJbXBs
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvd3BlL1BhZ2VDbGllbnRJbXBsLmNw
cAppbmRleCAwZWFlZTg5YTAzMi4uZTliNmI0NzcxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvd3BlL1BhZ2VDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9QYWdlQ2xpZW50SW1wbC5jcHAKQEAgLTMyMCw0ICszMjAs
OSBAQCBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIFBhZ2VDbGllbnRJbXBs
Ojp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aQogICAgIHJldHVybiBXZWJDb3JlOjpVc2VySW50
ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpMVFI7CiB9CiAKK0pTR2xvYmFsQ29udGV4dFJlZiBQYWdl
Q2xpZW50SW1wbDo6amF2YXNjcmlwdEdsb2JhbENvbnRleHQoKQoreworICAgIHJldHVybiBtX3Zp
ZXcuamF2YXNjcmlwdEdsb2JhbENvbnRleHQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9QYWdlQ2xpZW50
SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS93cGUvUGFnZUNsaWVudEltcGwu
aAppbmRleCBlMDdkMjlhZTlkZS4uMWY5ZTk2MTAxODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvd3BlL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS93cGUvUGFnZUNsaWVudEltcGwuaApAQCAtMTE5LDYgKzExOSw4IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIGRpZENoYW5nZUF2b2lkc1Vuc2FmZUFyZWEoYm9vbCkgb3Zl
cnJpZGUgeyB9CiAKKyAgICBKU0dsb2JhbENvbnRleHRSZWYgamF2YXNjcmlwdEdsb2JhbENvbnRl
eHQoKSBvdmVycmlkZTsKKwogICAgIFdLV1BFOjpWaWV3JiBtX3ZpZXc7CiAKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2Nyb2xsR2VzdHVyZUNvbnRyb2xsZXI+IG1fc2Nyb2xsR2VzdHVyZUNvbnRyb2xs
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcuY3BwCmluZGV4
IDk0YmI1Y2E4NTMxLi42MDhjMzY5MTQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS93cGUvV1BFVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS93cGUvV1BFVmlldy5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJOYXRpdmVX
ZWJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzc1Bvb2wuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0Jhc2UuaD4KICNpbmNs
dWRlIDx3cGUvdmlldy1iYWNrZW5kLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CkBAIC0x
NTAsNiArMTUxLDExIEBAIHZvaWQgVmlldzo6aGFuZGxlRG93bmxvYWRSZXF1ZXN0KERvd25sb2Fk
UHJveHkmIGRvd25sb2FkKQogICAgIG1fY2xpZW50LT5oYW5kbGVEb3dubG9hZFJlcXVlc3QoKnRo
aXMsIGRvd25sb2FkKTsKIH0KIAorSlNHbG9iYWxDb250ZXh0UmVmIFZpZXc6OmphdmFzY3JpcHRH
bG9iYWxDb250ZXh0KCkKK3sKKyAgICByZXR1cm4gbV9jbGllbnQtPmphdmFzY3JpcHRHbG9iYWxD
b250ZXh0KCk7Cit9CisKIHZvaWQgVmlldzo6c2V0U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBzaXplKQogewogICAgIG1fc2l6ZSA9IHNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3dwZS9XUEVWaWV3LmgKaW5kZXggOTMwNWIyNjEyOTIuLmZmODJmYmU3ZWUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS93cGUvV1BFVmlldy5oCkBAIC0zMyw2ICszMyw3IEBA
CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAordHlwZWRlZiBz
dHJ1Y3QgT3BhcXVlSlNDb250ZXh0KiBKU0dsb2JhbENvbnRleHRSZWY7CiBzdHJ1Y3Qgd3BlX3Zp
ZXdfYmFja2VuZDsKIAogbmFtZXNwYWNlIEFQSSB7CkBAIC01OSw2ICs2MCw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldENsaWVudChzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpWaWV3Q2xpZW50PiYmKTsK
ICAgICB2b2lkIGZyYW1lRGlzcGxheWVkKCk7CiAgICAgdm9pZCBoYW5kbGVEb3dubG9hZFJlcXVl
c3QoV2ViS2l0OjpEb3dubG9hZFByb3h5Jik7CisgICAgSlNHbG9iYWxDb250ZXh0UmVmIGphdmFz
Y3JpcHRHbG9iYWxDb250ZXh0KCk7CiAKICAgICBXZWJLaXQ6OldlYlBhZ2VQcm94eSYgcGFnZSgp
IHsgcmV0dXJuICptX3BhZ2VQcm94eTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGll
bnQuaAppbmRleCBlZGRiYjE2NGU5ZC4uMWM5YjA0NmQ0NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaApAQCAtMzc5LDYgKzM3OSwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIAog
ICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBdm9pZHNVbnNhZmVBcmVhKGJvb2wgYXZvaWRzVW5z
YWZlQXJlYSkgPSAwOworCisjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCisgICAg
dmlydHVhbCBKU0dsb2JhbENvbnRleHRSZWYgamF2YXNjcmlwdEdsb2JhbENvbnRleHQoKSB7IHJl
dHVybiBudWxscHRyOyB9CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGMyNTNjYzRjZDY0Li5lMDE1
MTkyY2EyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTc3
LDYgKzE3NywxMCBAQCB1c2luZyBGbG9hdEJveEV4dGVudCA9IEJveEV4dGVudDxmbG9hdD47CiB0
eXBlZGVmIEd0a1dpZGdldCogUGxhdGZvcm1XaWRnZXQ7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JN
KEdUSykgfHwgUExBVEZPUk0oV1BFKQordHlwZWRlZiBzdHJ1Y3QgT3BhcXVlSlNDb250ZXh0KiBK
U0dsb2JhbENvbnRleHRSZWY7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBD
ZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBEcmF3aW5nQXJlYVByb3h5OwpAQCAtNjMwLDYgKzYzNCwx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6
Q29sb3ImIGNvbG9yKSB7IG1fYmFja2dyb3VuZENvbG9yID0gY29sb3I7IH0KICNlbmRpZgogCisj
aWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCisgICAgSlNHbG9iYWxDb250ZXh0UmVm
IGphdmFzY3JpcHRHbG9iYWxDb250ZXh0KCk7CisjZW5kaWYKKwogICAgIHZvaWQgaGFuZGxlTW91
c2VFdmVudChjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50Jik7CiAgICAgdm9pZCBoYW5kbGVXaGVl
bEV2ZW50KGNvbnN0IE5hdGl2ZVdlYldoZWVsRXZlbnQmKTsKICAgICB2b2lkIGhhbmRsZUtleWJv
YXJkRXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQYWdlUHJveHlHdGsuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQYWdlUHJveHlHdGsuY3BwCmluZGV4IDYxODEwOWQ0NjM4
Li5jYzFkYjU0ZGVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9X
ZWJQYWdlUHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2Vi
UGFnZVByb3h5R3RrLmNwcApAQCAtNTAsNiArNTAsMTEgQEAgR3RrV2lkZ2V0KiBXZWJQYWdlUHJv
eHk6OnZpZXdXaWRnZXQoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxQYWdlQ2xpZW50SW1wbCY+
KG1fcGFnZUNsaWVudCkudmlld1dpZGdldCgpOwogfQogCitKU0dsb2JhbENvbnRleHRSZWYgV2Vi
UGFnZVByb3h5OjpqYXZhc2NyaXB0R2xvYmFsQ29udGV4dCgpCit7CisgICAgcmV0dXJuIG1fcGFn
ZUNsaWVudC5qYXZhc2NyaXB0R2xvYmFsQ29udGV4dCgpOworfQorCiBTdHJpbmcgV2ViUGFnZVBy
b3h5OjpzdGFuZGFyZFVzZXJBZ2VudChjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uTmFtZUZvclVz
ZXJBZ2VudCkKIHsKICAgICByZXR1cm4gV2ViQ29yZTo6c3RhbmRhcmRVc2VyQWdlbnQoYXBwbGlj
YXRpb25OYW1lRm9yVXNlckFnZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy93cGUvV2ViUGFnZVByb3h5V1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93
cGUvV2ViUGFnZVByb3h5V1BFLmNwcAppbmRleCA0YTIwMmFiZWI0Zi4uM2QyNzY1YjYzZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93cGUvV2ViUGFnZVByb3h5V1BFLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHAK
QEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQYWdl
UHJveHkuaCIKIAorI2luY2x1ZGUgIlBhZ2VDbGllbnRJbXBsLmgiCiAjaW5jbHVkZSAiV2Vic2l0
ZURhdGFTdG9yZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KIApAQCAt
MzYsNiArMzcsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAorSlNHbG9iYWxDb250ZXh0UmVmIFdlYlBhZ2VQcm94
eTo6amF2YXNjcmlwdEdsb2JhbENvbnRleHQoKQoreworICAgIHJldHVybiBtX3BhZ2VDbGllbnQu
amF2YXNjcmlwdEdsb2JhbENvbnRleHQoKTsKK30KKwogU3RyaW5nIFdlYlBhZ2VQcm94eTo6c3Rh
bmRhcmRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJikKIHsKICAgICByZXR1cm4gIk1vemlsbGEvNS4w
IChMaW51eDsgeDg2XzY0IEdOVS9MaW51eCkgQXBwbGVXZWJLaXQvNjAxLjEgKEtIVE1MLCBsaWtl
IEdlY2tvKSBWZXJzaW9uLzguMCBTYWZhcmkvNjAxLjEiOwpkaWZmIC0tZ2l0IGEvU291cmNlL2Nt
YWtlL09wdGlvbnNXUEUuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZQppbmRl
eCA0YzAwY2I1MmJlNy4uZTA2ZWY2ZTdiMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCkBAIC0yOCw2
ICsyOCw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NSFRNTCBQ
UklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFND
QVBFX1BMVUdJTl9BUEkgUFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUiBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1RPVUNIX0VWRU5UUyBQVUJMSUMgT04pCitXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTIFBS
SVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklERU8g
UFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1ZJREVP
X1RSQUNLIFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBIFBVQkxJQyBPTikK
</data>
<flag name="review"
          id="334515"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>