<?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>163648</bug_id>
          
          <creation_ts>2016-10-18 20:45:31 -0700</creation_ts>
          <short_desc>MouseEvent&apos;s coordinates should be 0 for simulated clicks</short_desc>
          <delta_ts>2019-02-06 22:07:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>UI Events</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=76677</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1241795</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-18 20:45:31 -0700</bug_when>
    <thetext>MouseEvent.screenX / screenY should be 0 / 0 for simulated clicks. This is the behavior of Chrome and Firefox.
However, WebKit computes actual screenX / screenY values which requires a synchronous IPC with the UI process.

Demo: https://jsfiddle.net/7nc7ufkh/1/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241796</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-18 20:48:52 -0700</bug_when>
    <thetext>https://jsfiddle.net/7nc7ufkh/3/ shows that clientX / clientY are also 0 for simulated clicks in Firefox and Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241797</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-18 20:53:44 -0700</bug_when>
    <thetext>All coordinates (screenX, clientX, x, layerX, offsetX, pageX) are 0 in Firefox and Chrome for simulated clicks. However, they are all populated in Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241831</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-18 22:17:31 -0700</bug_when>
    <thetext>Seems to have been caused by &lt;https://trac.webkit.org/changeset/160032&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241846</commentid>
    <comment_count>4</comment_count>
      <attachid>292048</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-18 22:52:24 -0700</bug_when>
    <thetext>Created attachment 292048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241848</commentid>
    <comment_count>5</comment_count>
      <attachid>292048</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-18 22:55:17 -0700</bug_when>
    <thetext>Comment on attachment 292048
Patch

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

&gt; Source/WebCore/dom/SimulatedClick.cpp:70
&gt; +        } else if (AXObjectCache::accessibilityEnabled()) {
&gt; +            // We apparently need coordinates when accessibility is enabled (see Bug 76677).
&gt; +            // In other cases, the coordinates will be 0, which matches the behavior of Firefox and Chrome.
&gt; +            // Note that the call to screenRect() causes a synchronous IPC with the UI process.

This really doesn’t make sense. It’s OK to decide that accessibility-driven clicks need to include coordinates to be more like clicks done in other ways, but clicks created by JavaScript on the webpage don’t need them. We should not be checking globally whether accessibility is enabled. Instead we should have that code path pass a different argument or call a different function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241852</commentid>
    <comment_count>6</comment_count>
      <attachid>292049</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-18 23:22:38 -0700</bug_when>
    <thetext>Created attachment 292049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241857</commentid>
    <comment_count>7</comment_count>
      <attachid>292052</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-18 23:59:20 -0700</bug_when>
    <thetext>Created attachment 292052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241971</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-19 10:27:00 -0700</bug_when>
    <thetext>*** Bug 130301 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241984</commentid>
    <comment_count>9</comment_count>
      <attachid>292052</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-19 10:49:26 -0700</bug_when>
    <thetext>Comment on attachment 292052
Patch

Clearing flags on attachment: 292052

Committed r207544: &lt;http://trac.webkit.org/changeset/207544&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1241985</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-19 10:49:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1242246</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-19 19:28:34 -0700</bug_when>
    <thetext>Looks like a 4% progression on Speedometer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503227</commentid>
    <comment_count>12</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:18:42 -0800</bug_when>
    <thetext>Mass move bugs into the DOM component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292048</attachid>
            <date>2016-10-18 22:52:24 -0700</date>
            <delta_ts>2016-10-18 23:22:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163648-20161018224849.patch</filename>
            <type>text/plain</type>
            <size>5105</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1OTg5ZGQwNjAzNjYz
OWE4OGQ2YzRlZGUzZDNiYjMzNWEwYTBiMS4uZmNjYzcxYjUyN2QyZTMxMWU5OWFjMTMwMThiZDcz
ZWYxNGQ3NzUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTEwLTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW91c2VFdmVudCdzIGNvb3Jk
aW5hdGVzIHNob3VsZCBiZSAwIGZvciBzaW11bGF0ZWQgY2xpY2tzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM2NDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3VzZUV2ZW50J3MgY29vcmRpbmF0ZXMg
c2hvdWxkIGJlIDAgLyAwIGZvciBzaW11bGF0ZWQgY2xpY2tzLiBUaGlzCisgICAgICAgIGJlaGF2
aW9yIG1hdGNoZXMgQ2hyb21lIGFuZCBGaXJlZm94LgorCisgICAgICAgIFdlYktpdCB3YXMgY29t
cHV0aW5nIGFjdHVhbCBjb29yZGluYXRlcyBmb3IgdGhlIGVsZW1lbnQgd2hpY2ggd2FzCisgICAg
ICAgIGV4cGVuc2l2ZSwgZXNwZWNpYWxseSBiZWNhdXNlIGNvbXB1dGluZyAgc2NyZWVuWCAvIHNj
cmVlblkgcmVxdWlyZWQKKyAgICAgICAgYSBzeW5jaHJvbm91cyBJUEMgd2l0aCB0aGUgVUkgcHJv
Y2Vzcy4KKworICAgICAgICBJIG1haW50YWluZWQgdGhlIHByZXZpb3VzIGJlaGF2aW9yIHdoZW4g
YWNjZXNzaWJpbGl0eSBpcyBlbmFibGVkCisgICAgICAgIGJlY2F1c2UgaXQgc2VlbXMgdGhvc2Ug
YXJlIHVzZWZ1bCBpbiB0aGUgYWNjc3NpYmlsaXR5IGNhc2UgKFNlZQorICAgICAgICBCdWcgNzY2
NzcpLiBUaGlzIGlzIGNvdmVyZWQgYnk6CisgICAgICAgIC0gYWNjZXNzaWJpbGl0eS9wcmVzcy10
YXJnZXRzLWNlbnRlci1wb2ludC5odG1sCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvZWxl
bWVudC1jbGljay1uby1jb29yZHMuaHRtbAorCisgICAgICAgICogZG9tL1NpbXVsYXRlZENsaWNr
LmNwcDoKKwogMjAxNi0xMC0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJlcGxhY2Ugc3RkOjpleHBlcmltZW50YWw6OnZhcmlhbnQgd2l0aCBXVEY6OlZhcmlhbnQg
KG9yIHNpbWlsYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2ltdWxhdGVkQ2xp
Y2suY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NpbXVsYXRlZENsaWNrLmNwcAppbmRleCA3OWVi
MzhlOTk4NWUwYmRjZTJmNTc5ZDQ2NjJmNzIxODBkYzc2YTgwLi41ODcwMGRhODFkMzFiNzA2NDk5
YWI0NjgwNGM1ZGQ2ODIzYzYyMjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2lt
dWxhdGVkQ2xpY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaW11bGF0ZWRDbGljay5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTaW11
bGF0ZWRDbGljay5oIgogCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkRh
dGFUcmFuc2Zlci5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFdmVudERpc3Bh
dGNoZXIuaCIKQEAgLTYzLDcgKzY0LDEwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBNb3VzZUV2
ZW50JiBtb3VzZUV2ZW50ID0gZG93bmNhc3Q8TW91c2VFdmVudD4oKnRoaXMtPnVuZGVybHlpbmdF
dmVudCgpKTsKICAgICAgICAgICAgIG1fc2NyZWVuTG9jYXRpb24gPSBtb3VzZUV2ZW50LnNjcmVl
bkxvY2F0aW9uKCk7CiAgICAgICAgICAgICBpbml0Q29vcmRpbmF0ZXMobW91c2VFdmVudC5jbGll
bnRMb2NhdGlvbigpKTsKLSAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgfSBlbHNlIGlmIChBWE9i
amVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CisgICAgICAgICAgICAvLyBXZSBh
cHBhcmVudGx5IG5lZWQgY29vcmRpbmF0ZXMgd2hlbiBhY2Nlc3NpYmlsaXR5IGlzIGVuYWJsZWQg
KHNlZSBCdWcgNzY2NzcpLgorICAgICAgICAgICAgLy8gSW4gb3RoZXIgY2FzZXMsIHRoZSBjb29y
ZGluYXRlcyB3aWxsIGJlIDAsIHdoaWNoIG1hdGNoZXMgdGhlIGJlaGF2aW9yIG9mIEZpcmVmb3gg
YW5kIENocm9tZS4KKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGUgY2FsbCB0byBzY3JlZW5S
ZWN0KCkgY2F1c2VzIGEgc3luY2hyb25vdXMgSVBDIHdpdGggdGhlIFVJIHByb2Nlc3MuCiAgICAg
ICAgICAgICBtX3NjcmVlbkxvY2F0aW9uID0gdGFyZ2V0LnNjcmVlblJlY3QoKS5jZW50ZXIoKTsK
ICAgICAgICAgICAgIGluaXRDb29yZGluYXRlcyhMYXlvdXRQb2ludCh0YXJnZXQuY2xpZW50UmVj
dCgpLmNlbnRlcigpKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMGNkMjMyMDAwODI4ZDI2NTYxYzVj
MzQ4ZmIxNDg4YjJjMjQ0ODA0Li5jZjRkNjNhMzZmNmRiMGFiYTRmN2UxZGFkM2IzZmIxNDA3NTNl
NzdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTYtMTAtMTggIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBNb3VzZUV2ZW50J3MgY29vcmRpbmF0ZXMgc2hvdWxk
IGJlIDAgZm9yIHNpbXVsYXRlZCBjbGlja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2MzY0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4gSSB2ZXJpZmllZCB0
aGF0IHRoaXMgdGVzdCBpcyBwYXNzaW5nIGluCisgICAgICAgIEZpcmVmb3ggYW5kIENocm9tZSBh
cyB3ZWxsLgorCisgICAgICAgICogZmFzdC9ldmVudHMvZWxlbWVudC1jbGljay1uby1jb29yZHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9lbGVtZW50LWNsaWNr
LW5vLWNvb3Jkcy5odG1sOiBBZGRlZC4KKworMjAxNi0xMC0xOCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFtXZWIgSURMXSBLaWxsIHN1cHBvcnQgZm9yIFtMZWdh
Y3lDb25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50XSAvIFtMZWdhY3lJbml0aWFsaXplZEJ5RXZlbnRD
b25zdHJ1Y3Rvcl0KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2MzYzMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9lbGVtZW50
LWNsaWNrLW5vLWNvb3Jkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9l
bGVtZW50LWNsaWNrLW5vLWNvb3Jkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkwNTRiNjcz
MDA4MzljMjVmOGUyODc5MGFhZmQyNjYwYmQ3MTYyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2VsZW1lbnQtY2xpY2stbm8tY29vcmRzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitUZXN0cyB0aGF0IHRoZSBNb3VzZUV2ZW50J3MgY29vcmRpbmF0ZXMg
YXJlIDAgZm9yIGEgc2ltdWxhdGVkIGNsaWNrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBldmVudC5zY3JlZW5YIGlzIDAKK1BBU1MgZXZlbnQuc2NyZWVuWSBpcyAwCitQ
QVNTIGV2ZW50LmNsaWVudFggaXMgMAorUEFTUyBldmVudC5jbGllbnRZIGlzIDAKK1BBU1MgZXZl
bnQucGFnZVggaXMgMAorUEFTUyBldmVudC5wYWdlWSBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1Rlc3QgRGl2CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9lbGVtZW50LWNsaWNrLW5vLWNvb3Jkcy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvZWxlbWVudC1jbGljay1uby1jb29yZHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41N2M5MjIyNDRiMzIyYzBmZjIzYTFkZDM1ODdmYzA3NTIyZTAzOTQ2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZWxlbWVudC1jbGljay1uby1jb29yZHMuaHRt
bApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9InRlc3REaXYiPlRlc3QgRGl2PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Rz
IHRoYXQgdGhlIE1vdXNlRXZlbnQncyBjb29yZGluYXRlcyBhcmUgMCBmb3IgYSBzaW11bGF0ZWQg
Y2xpY2suIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwordmFyIHRlc3REaXYgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGVzdERpdiIpOworCit0ZXN0RGl2Lm9uY2xpY2sgPSBmdW5jdGlv
bihlKSB7CisgICAgZXZlbnQgPSBlOworICAgIHNob3VsZEJlKCJldmVudC5zY3JlZW5YIiwgIjAi
KTsKKyAgICBzaG91bGRCZSgiZXZlbnQuc2NyZWVuWSIsICIwIik7CisgICAgc2hvdWxkQmUoImV2
ZW50LmNsaWVudFgiLCAiMCIpOworICAgIHNob3VsZEJlKCJldmVudC5jbGllbnRZIiwgIjAiKTsK
KyAgICBzaG91bGRCZSgiZXZlbnQucGFnZVgiLCAiMCIpOworICAgIHNob3VsZEJlKCJldmVudC5w
YWdlWSIsICIwIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3Rlc3REaXYuY2xpY2so
KTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292049</attachid>
            <date>2016-10-18 23:22:38 -0700</date>
            <delta_ts>2016-10-18 23:59:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163648-20161018231903.patch</filename>
            <type>text/plain</type>
            <size>10288</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1OTg5ZGQwNjAzNjYz
OWE4OGQ2YzRlZGUzZDNiYjMzNWEwYTBiMS4uODI1NjE4YjdhMmUyY2FiODE1OGU5Mjk3ZmMzM2Yy
NDE2OWNhMTMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTEwLTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW91c2VFdmVudCdzIGNvb3Jk
aW5hdGVzIHNob3VsZCBiZSAwIGZvciBzaW11bGF0ZWQgY2xpY2tzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM2NDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3VzZUV2ZW50J3MgY29vcmRpbmF0ZXMg
c2hvdWxkIGJlIDAgLyAwIGZvciBzaW11bGF0ZWQgY2xpY2tzIHRyaWdnZXJlZAorICAgICAgICBi
eSBKYXZhU2NyaXB0IChpLmUuIHZpYSBlbGVtZW50LmNsaWNrKCkpLiBUaGlzIGJlaGF2aW9yIG1h
dGNoZXMgQ2hyb21lCisgICAgICAgIGFuZCBGaXJlZm94LgorCisgICAgICAgIFdlYktpdCB3YXMg
Y29tcHV0aW5nIGFjdHVhbCBjb29yZGluYXRlcyBmb3IgdGhlIGVsZW1lbnQgd2hpY2ggd2FzCisg
ICAgICAgIGV4cGVuc2l2ZSwgZXNwZWNpYWxseSBiZWNhdXNlIGNvbXB1dGluZyAgc2NyZWVuWCAv
IHNjcmVlblkgcmVxdWlyZWQKKyAgICAgICAgYSBzeW5jaHJvbm91cyBJUEMgd2l0aCB0aGUgVUkg
cHJvY2Vzcy4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9lbGVtZW50LWNsaWNrLW5vLWNv
b3Jkcy5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpkaXNwYXRjaFNpbXVsYXRlZENsaWNrKToKKyAgICAgICAgKiBkb20vU2ltdWxh
dGVkQ2xpY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2ltdWxhdGVNb3VzZUV2ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OnNpbXVsYXRlQ2xpY2spOgorICAgICAgICAqIGRvbS9TaW11bGF0ZWRD
bGljay5oOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEVsZW1lbnQ6OmNsaWNrKToKKwogMjAxNi0xMC0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlcGxhY2Ugc3RkOjpleHBlcmltZW50YWw6OnZhcmlhbnQg
d2l0aCBXVEY6OlZhcmlhbnQgKG9yIHNpbWlsYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXgg
YTIzNGM0OTQ0MTIzNmMwY2FiMDhlNDBkYThkNjA0Y2NjMDQ1Y2UyOC4uMDJlNWU3MGIxYzZmMTk2
ZmUxMTM4ODhjNDcxMWM2OGViYzVlNTlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzM1
LDcgKzMzNSw3IEBAIGJvb2wgRWxlbWVudDo6ZGlzcGF0Y2hLZXlFdmVudChjb25zdCBQbGF0Zm9y
bUtleWJvYXJkRXZlbnQmIHBsYXRmb3JtRXZlbnQpCiAKIHZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hT
aW11bGF0ZWRDbGljayhFdmVudCogdW5kZXJseWluZ0V2ZW50LCBTaW11bGF0ZWRDbGlja01vdXNl
RXZlbnRPcHRpb25zIGV2ZW50T3B0aW9ucywgU2ltdWxhdGVkQ2xpY2tWaXN1YWxPcHRpb25zIHZp
c3VhbE9wdGlvbnMpCiB7Ci0gICAgc2ltdWxhdGVDbGljaygqdGhpcywgdW5kZXJseWluZ0V2ZW50
LCBldmVudE9wdGlvbnMsIHZpc3VhbE9wdGlvbnMsIFNpbXVsYXRlZENsaWNrQ3JlYXRpb25PcHRp
b25zOjpGcm9tVXNlckFnZW50KTsKKyAgICBzaW11bGF0ZUNsaWNrKCp0aGlzLCB1bmRlcmx5aW5n
RXZlbnQsIGV2ZW50T3B0aW9ucywgdmlzdWFsT3B0aW9ucywgU2ltdWxhdGVkQ2xpY2tTb3VyY2U6
OlVzZXJBZ2VudCk7CiB9CiAKIFJlZjxOb2RlPiBFbGVtZW50OjpjbG9uZU5vZGVJbnRlcm5hbChE
b2N1bWVudCYgdGFyZ2V0RG9jdW1lbnQsIENsb25pbmdPcGVyYXRpb24gdHlwZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaW11bGF0ZWRDbGljay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2ltdWxhdGVkQ2xpY2suY3BwCmluZGV4IDc5ZWIzOGU5OTg1ZTBiZGNlMmY1NzlkNDY2
MmY3MjE4MGRjNzZhODAuLmRjNGRmZTc4NDZmMzc2ODAyZjViMTE3ZGMwNTE4ZjFjZTI4ZmMxN2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaW11bGF0ZWRDbGljay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NpbXVsYXRlZENsaWNrLmNwcApAQCAtMjYsNiArMjYsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNpbXVsYXRlZENsaWNrLmgiCiAKKyNpbmNs
dWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiRGF0YVRyYW5zZmVyLmgiCiAjaW5jbHVk
ZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hlci5oIgpAQCAtMzgsMTkgKzM5
LDIyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2ltdWxhdGVkTW91c2VFdmVudCBm
aW5hbCA6IHB1YmxpYyBNb3VzZUV2ZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNpbXVs
YXRlZE1vdXNlRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRE9N
V2luZG93KiB2aWV3LCBSZWZQdHI8RXZlbnQ+JiYgdW5kZXJseWluZ0V2ZW50LCBFbGVtZW50JiB0
YXJnZXQpCisgICAgc3RhdGljIFJlZjxTaW11bGF0ZWRNb3VzZUV2ZW50PiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGUsIERPTVdpbmRvdyogdmlldywgUmVmUHRyPEV2ZW50PiYm
IHVuZGVybHlpbmdFdmVudCwgRWxlbWVudCYgdGFyZ2V0LCBTaW11bGF0ZWRDbGlja1NvdXJjZSBz
b3VyY2UpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTaW11bGF0ZWRNb3Vz
ZUV2ZW50KGV2ZW50VHlwZSwgdmlldywgV1RGTW92ZSh1bmRlcmx5aW5nRXZlbnQpLCB0YXJnZXQp
KTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2ltdWxhdGVkTW91c2VFdmVudChldmVu
dFR5cGUsIHZpZXcsIFdURk1vdmUodW5kZXJseWluZ0V2ZW50KSwgdGFyZ2V0LCBzb3VyY2UpKTsK
ICAgICB9CiAKIHByaXZhdGU6Ci0gICAgU2ltdWxhdGVkTW91c2VFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSwgRE9NV2luZG93KiB2aWV3LCBSZWZQdHI8RXZlbnQ+JiYgdW5kZXJs
eWluZ0V2ZW50LCBFbGVtZW50JiB0YXJnZXQpCisgICAgU2ltdWxhdGVkTW91c2VFdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRE9NV2luZG93KiB2aWV3LCBSZWZQdHI8RXZlbnQ+
JiYgdW5kZXJseWluZ0V2ZW50LCBFbGVtZW50JiB0YXJnZXQsIFNpbXVsYXRlZENsaWNrU291cmNl
IHNvdXJjZSkKICAgICAgICAgOiBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgdHJ1ZSwgdHJ1ZSwgdW5k
ZXJseWluZ0V2ZW50ID8gdW5kZXJseWluZ0V2ZW50LT50aW1lU3RhbXAoKSA6IGN1cnJlbnRUaW1l
KCksIHZpZXcsIDAsIDAsIDAsIDAsIDAsCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICAg
ICAgICAgICAgICAgICAgIDAsIDAsCiAjZW5kaWYKICAgICAgICAgICAgICAgICAgICAgIGZhbHNl
LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAwLCAwLCAwLCAwLCAwLCB0cnVlKQogICAgIHsKKyAgICAg
ICAgaWYgKHNvdXJjZSA9PSBTaW11bGF0ZWRDbGlja1NvdXJjZTo6QmluZGluZ3MpCisgICAgICAg
ICAgICBzZXRVbnRydXN0ZWQoKTsKKwogICAgICAgICBpZiAoVUlFdmVudFdpdGhLZXlTdGF0ZSog
a2V5U3RhdGVFdmVudCA9IGZpbmRFdmVudFdpdGhLZXlTdGF0ZSh1bmRlcmx5aW5nRXZlbnQuZ2V0
KCkpKSB7CiAgICAgICAgICAgICBtX2N0cmxLZXkgPSBrZXlTdGF0ZUV2ZW50LT5jdHJsS2V5KCk7
CiAgICAgICAgICAgICBtX2FsdEtleSA9IGtleVN0YXRlRXZlbnQtPmFsdEtleSgpOwpAQCAtNjMs
NyArNjcsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIE1vdXNlRXZlbnQmIG1vdXNlRXZlbnQg
PSBkb3duY2FzdDxNb3VzZUV2ZW50PigqdGhpcy0+dW5kZXJseWluZ0V2ZW50KCkpOwogICAgICAg
ICAgICAgbV9zY3JlZW5Mb2NhdGlvbiA9IG1vdXNlRXZlbnQuc2NyZWVuTG9jYXRpb24oKTsKICAg
ICAgICAgICAgIGluaXRDb29yZGluYXRlcyhtb3VzZUV2ZW50LmNsaWVudExvY2F0aW9uKCkpOwot
ICAgICAgICB9IGVsc2UgeworICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZSA9PSBTaW11bGF0ZWRD
bGlja1NvdXJjZTo6VXNlckFnZW50KSB7CisgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyB1
bmRlcmx5aW5nIGV2ZW50LCB3ZSBvbmx5IHBvcHVsYXRlIHRoZSBjb29yZGluYXRlcyBmb3IgZXZl
bnRzIGNvbWluZworICAgICAgICAgICAgLy8gZnJvbSB0aGUgdXNlciBhZ2VudCAoZS5nLiBhY2Nl
c3NpYmlsaXR5KS4gRm9yIHRob3NlIGNvbWluZyBmcm9tIEphdmFTY3JpcHQgKGUuZy4KKyAgICAg
ICAgICAgIC8vIChlbGVtZW50LmNsaWNrKCkpLCB0aGUgY29vcmRpbmF0ZXMgd2lsbCBiZSAwLCBz
aW1pbGFybHkgdG8gRmlyZWZveCBhbmQgQ2hyb21lLgorICAgICAgICAgICAgLy8gTm90ZSB0aGF0
IHRoZSBjYWxsIHRvIHNjcmVlblJlY3QoKSBjYXVzZXMgYSBzeW5jaHJvbm91cyBJUEMgd2l0aCB0
aGUgVUkgcHJvY2Vzcy4KICAgICAgICAgICAgIG1fc2NyZWVuTG9jYXRpb24gPSB0YXJnZXQuc2Ny
ZWVuUmVjdCgpLmNlbnRlcigpOwogICAgICAgICAgICAgaW5pdENvb3JkaW5hdGVzKExheW91dFBv
aW50KHRhcmdldC5jbGllbnRSZWN0KCkuY2VudGVyKCkpKTsKICAgICAgICAgfQpAQCAtNzEsMTUg
Kzc5LDEzIEBAIHByaXZhdGU6CiAKIH07CiAKLXN0YXRpYyB2b2lkIHNpbXVsYXRlTW91c2VFdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRWxlbWVudCYgZWxlbWVudCwgRXZlbnQq
IHVuZGVybHlpbmdFdmVudCwgU2ltdWxhdGVkQ2xpY2tDcmVhdGlvbk9wdGlvbnMgY3JlYXRpb25P
cHRpb25zKQorc3RhdGljIHZvaWQgc2ltdWxhdGVNb3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBFbGVtZW50JiBlbGVtZW50LCBFdmVudCogdW5kZXJseWluZ0V2ZW50LCBT
aW11bGF0ZWRDbGlja1NvdXJjZSBzb3VyY2UpCiB7Ci0gICAgYXV0byBldmVudCA9IFNpbXVsYXRl
ZE1vdXNlRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIGVsZW1lbnQuZG9jdW1lbnQoKS5kZWZhdWx0
VmlldygpLCB1bmRlcmx5aW5nRXZlbnQsIGVsZW1lbnQpOwotICAgIGlmIChjcmVhdGlvbk9wdGlv
bnMgPT0gU2ltdWxhdGVkQ2xpY2tDcmVhdGlvbk9wdGlvbnM6OkZyb21CaW5kaW5ncykKLSAgICAg
ICAgZXZlbnQuZ2V0KCkuc2V0VW50cnVzdGVkKCk7Ci0gICAgRXZlbnREaXNwYXRjaGVyOjpkaXNw
YXRjaEV2ZW50KCZlbGVtZW50LCBldmVudC5nZXQoKSk7CisgICAgYXV0byBldmVudCA9IFNpbXVs
YXRlZE1vdXNlRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIGVsZW1lbnQuZG9jdW1lbnQoKS5kZWZh
dWx0VmlldygpLCB1bmRlcmx5aW5nRXZlbnQsIGVsZW1lbnQsIHNvdXJjZSk7CisgICAgRXZlbnRE
aXNwYXRjaGVyOjpkaXNwYXRjaEV2ZW50KCZlbGVtZW50LCBldmVudCk7CiB9CiAKLXZvaWQgc2lt
dWxhdGVDbGljayhFbGVtZW50JiBlbGVtZW50LCBFdmVudCogdW5kZXJseWluZ0V2ZW50LCBTaW11
bGF0ZWRDbGlja01vdXNlRXZlbnRPcHRpb25zIG1vdXNlRXZlbnRPcHRpb25zLCBTaW11bGF0ZWRD
bGlja1Zpc3VhbE9wdGlvbnMgdmlzdWFsT3B0aW9ucywgU2ltdWxhdGVkQ2xpY2tDcmVhdGlvbk9w
dGlvbnMgY3JlYXRpb25PcHRpb25zKQordm9pZCBzaW11bGF0ZUNsaWNrKEVsZW1lbnQmIGVsZW1l
bnQsIEV2ZW50KiB1bmRlcmx5aW5nRXZlbnQsIFNpbXVsYXRlZENsaWNrTW91c2VFdmVudE9wdGlv
bnMgbW91c2VFdmVudE9wdGlvbnMsIFNpbXVsYXRlZENsaWNrVmlzdWFsT3B0aW9ucyB2aXN1YWxP
cHRpb25zLCBTaW11bGF0ZWRDbGlja1NvdXJjZSBjcmVhdGlvbk9wdGlvbnMpCiB7CiAgICAgaWYg
KGVsZW1lbnQuaXNEaXNhYmxlZEZvcm1Db250cm9sKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaW11bGF0ZWRDbGljay5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NpbXVsYXRlZENsaWNrLmgKaW5kZXggNDcxNTRhOWY5ZjIzMGFjYTI0YjRmMDllM2Nk
YzljZjZmNTc2NmIzMy4uMDcyY2JhYjljZTk5OTNhMWQ3MTMwZDM2ZDE2YzJlNTk3MDZhOGUxZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NpbXVsYXRlZENsaWNrLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NpbXVsYXRlZENsaWNrLmgKQEAgLTMzLDEyICszMywxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgRXZlbnQ7CiAKLWVudW0gY2xh
c3MgU2ltdWxhdGVkQ2xpY2tDcmVhdGlvbk9wdGlvbnMgewotICAgIEZyb21CaW5kaW5ncywKLSAg
ICBGcm9tVXNlckFnZW50CitlbnVtIGNsYXNzIFNpbXVsYXRlZENsaWNrU291cmNlIHsKKyAgICBC
aW5kaW5ncywKKyAgICBVc2VyQWdlbnQKIH07CiAKLXZvaWQgc2ltdWxhdGVDbGljayhFbGVtZW50
JiwgRXZlbnQqIHVuZGVybHlpbmdFdmVudCwgU2ltdWxhdGVkQ2xpY2tNb3VzZUV2ZW50T3B0aW9u
cywgU2ltdWxhdGVkQ2xpY2tWaXN1YWxPcHRpb25zLCBTaW11bGF0ZWRDbGlja0NyZWF0aW9uT3B0
aW9ucyk7Cit2b2lkIHNpbXVsYXRlQ2xpY2soRWxlbWVudCYsIEV2ZW50KiB1bmRlcmx5aW5nRXZl
bnQsIFNpbXVsYXRlZENsaWNrTW91c2VFdmVudE9wdGlvbnMsIFNpbXVsYXRlZENsaWNrVmlzdWFs
T3B0aW9ucywgU2ltdWxhdGVkQ2xpY2tTb3VyY2UpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggNjQ2ZjEzNGJiMGVhMGIyYTZi
ZjcyYmIzOTBhZjk4MjgxOTMyNWNiMC4uM2YzYmQ4N2RkMDczOWQ1Nzg3Zjk0Y2QwZjNhYzVjZTY4
YTlkOGIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTcwMSw3ICs3MDEs
NyBAQCB2b2lkIEhUTUxFbGVtZW50OjpzZXRTcGVsbGNoZWNrKGJvb2wgZW5hYmxlKQogCiB2b2lk
IEhUTUxFbGVtZW50OjpjbGljaygpCiB7Ci0gICAgc2ltdWxhdGVDbGljaygqdGhpcywgbnVsbHB0
ciwgU2VuZE5vRXZlbnRzLCBEb05vdFNob3dQcmVzc2VkTG9vaywgU2ltdWxhdGVkQ2xpY2tDcmVh
dGlvbk9wdGlvbnM6OkZyb21CaW5kaW5ncyk7CisgICAgc2ltdWxhdGVDbGljaygqdGhpcywgbnVs
bHB0ciwgU2VuZE5vRXZlbnRzLCBEb05vdFNob3dQcmVzc2VkTG9vaywgU2ltdWxhdGVkQ2xpY2tT
b3VyY2U6OkJpbmRpbmdzKTsKIH0KIAogdm9pZCBIVE1MRWxlbWVudDo6YWNjZXNzS2V5QWN0aW9u
KGJvb2wgc2VuZE1vdXNlRXZlbnRzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIwY2QyMzIwMDA4MjhkMjY1NjFjNWMzNDhm
YjE0ODhiMmMyNDQ4MDQuLmNmNGQ2M2EzNmY2ZGIwYWJhNGY3ZTFkYWQzYjNmYjE0MDc1M2U3N2Yg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwxOCBAQAogMjAxNi0xMC0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCisgICAgICAgIE1vdXNlRXZlbnQncyBjb29yZGluYXRlcyBzaG91bGQgYmUg
MCBmb3Igc2ltdWxhdGVkIGNsaWNrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYzNjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLiBJIHZlcmlmaWVkIHRoYXQg
dGhpcyB0ZXN0IGlzIHBhc3NpbmcgaW4KKyAgICAgICAgRmlyZWZveCBhbmQgQ2hyb21lIGFzIHdl
bGwuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9lbGVtZW50LWNsaWNrLW5vLWNvb3Jkcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2VsZW1lbnQtY2xpY2stbm8t
Y29vcmRzLmh0bWw6IEFkZGVkLgorCisyMDE2LTEwLTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CisKICAgICAgICAgW1dlYiBJRExdIEtpbGwgc3VwcG9ydCBmb3IgW0xlZ2FjeUNv
bnN0cnVjdG9yVGVtcGxhdGU9RXZlbnRdIC8gW0xlZ2FjeUluaXRpYWxpemVkQnlFdmVudENvbnN0
cnVjdG9yXQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTYzNjMwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2VsZW1lbnQtY2xp
Y2stbm8tY29vcmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2VsZW1l
bnQtY2xpY2stbm8tY29vcmRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTA1NGI2NzMwMDgz
OWMyNWY4ZTI4NzkwYWFmZDI2NjBiZDcxNjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvZWxlbWVudC1jbGljay1uby1jb29yZHMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTUgQEAKK1Rlc3RzIHRoYXQgdGhlIE1vdXNlRXZlbnQncyBjb29yZGluYXRlcyBhcmUg
MCBmb3IgYSBzaW11bGF0ZWQgY2xpY2suCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGV2ZW50LnNjcmVlblggaXMgMAorUEFTUyBldmVudC5zY3JlZW5ZIGlzIDAKK1BBU1Mg
ZXZlbnQuY2xpZW50WCBpcyAwCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgMAorUEFTUyBldmVudC5w
YWdlWCBpcyAwCitQQVNTIGV2ZW50LnBhZ2VZIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVGVzdCBEaXYKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2VsZW1lbnQtY2xpY2stbm8tY29vcmRzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9lbGVtZW50LWNsaWNrLW5vLWNvb3Jkcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3
YzkyMjI0NGIzMjJjMGZmMjNhMWRkMzU4N2ZjMDc1MjJlMDM5NDYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9lbGVtZW50LWNsaWNrLW5vLWNvb3Jkcy5odG1sCkBA
IC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0i
dGVzdERpdiI+VGVzdCBEaXY8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhh
dCB0aGUgTW91c2VFdmVudCdzIGNvb3JkaW5hdGVzIGFyZSAwIGZvciBhIHNpbXVsYXRlZCBjbGlj
ay4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgdGVzdERpdiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0RGl2Iik7CisKK3Rlc3REaXYub25jbGljayA9IGZ1bmN0aW9uKGUp
IHsKKyAgICBldmVudCA9IGU7CisgICAgc2hvdWxkQmUoImV2ZW50LnNjcmVlblgiLCAiMCIpOwor
ICAgIHNob3VsZEJlKCJldmVudC5zY3JlZW5ZIiwgIjAiKTsKKyAgICBzaG91bGRCZSgiZXZlbnQu
Y2xpZW50WCIsICIwIik7CisgICAgc2hvdWxkQmUoImV2ZW50LmNsaWVudFkiLCAiMCIpOworICAg
IHNob3VsZEJlKCJldmVudC5wYWdlWCIsICIwIik7CisgICAgc2hvdWxkQmUoImV2ZW50LnBhZ2VZ
IiwgIjAiKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwordGVzdERpdi5jbGljaygpOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292052</attachid>
            <date>2016-10-18 23:59:20 -0700</date>
            <delta_ts>2016-10-19 10:49:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163648-20161018235545.patch</filename>
            <type>text/plain</type>
            <size>10111</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I1OTg5ZGQwNjAzNjYz
OWE4OGQ2YzRlZGUzZDNiYjMzNWEwYTBiMS4uODI1NjE4YjdhMmUyY2FiODE1OGU5Mjk3ZmMzM2Yy
NDE2OWNhMTMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTEwLTE4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW91c2VFdmVudCdzIGNvb3Jk
aW5hdGVzIHNob3VsZCBiZSAwIGZvciBzaW11bGF0ZWQgY2xpY2tzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM2NDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3VzZUV2ZW50J3MgY29vcmRpbmF0ZXMg
c2hvdWxkIGJlIDAgLyAwIGZvciBzaW11bGF0ZWQgY2xpY2tzIHRyaWdnZXJlZAorICAgICAgICBi
eSBKYXZhU2NyaXB0IChpLmUuIHZpYSBlbGVtZW50LmNsaWNrKCkpLiBUaGlzIGJlaGF2aW9yIG1h
dGNoZXMgQ2hyb21lCisgICAgICAgIGFuZCBGaXJlZm94LgorCisgICAgICAgIFdlYktpdCB3YXMg
Y29tcHV0aW5nIGFjdHVhbCBjb29yZGluYXRlcyBmb3IgdGhlIGVsZW1lbnQgd2hpY2ggd2FzCisg
ICAgICAgIGV4cGVuc2l2ZSwgZXNwZWNpYWxseSBiZWNhdXNlIGNvbXB1dGluZyAgc2NyZWVuWCAv
IHNjcmVlblkgcmVxdWlyZWQKKyAgICAgICAgYSBzeW5jaHJvbm91cyBJUEMgd2l0aCB0aGUgVUkg
cHJvY2Vzcy4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9lbGVtZW50LWNsaWNrLW5vLWNv
b3Jkcy5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpkaXNwYXRjaFNpbXVsYXRlZENsaWNrKToKKyAgICAgICAgKiBkb20vU2ltdWxh
dGVkQ2xpY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2ltdWxhdGVNb3VzZUV2ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OnNpbXVsYXRlQ2xpY2spOgorICAgICAgICAqIGRvbS9TaW11bGF0ZWRD
bGljay5oOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEVsZW1lbnQ6OmNsaWNrKToKKwogMjAxNi0xMC0xOCAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlcGxhY2Ugc3RkOjpleHBlcmltZW50YWw6OnZhcmlhbnQg
d2l0aCBXVEY6OlZhcmlhbnQgKG9yIHNpbWlsYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXgg
YTIzNGM0OTQ0MTIzNmMwY2FiMDhlNDBkYThkNjA0Y2NjMDQ1Y2UyOC4uMDJlNWU3MGIxYzZmMTk2
ZmUxMTM4ODhjNDcxMWM2OGViYzVlNTlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzM1
LDcgKzMzNSw3IEBAIGJvb2wgRWxlbWVudDo6ZGlzcGF0Y2hLZXlFdmVudChjb25zdCBQbGF0Zm9y
bUtleWJvYXJkRXZlbnQmIHBsYXRmb3JtRXZlbnQpCiAKIHZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hT
aW11bGF0ZWRDbGljayhFdmVudCogdW5kZXJseWluZ0V2ZW50LCBTaW11bGF0ZWRDbGlja01vdXNl
RXZlbnRPcHRpb25zIGV2ZW50T3B0aW9ucywgU2ltdWxhdGVkQ2xpY2tWaXN1YWxPcHRpb25zIHZp
c3VhbE9wdGlvbnMpCiB7Ci0gICAgc2ltdWxhdGVDbGljaygqdGhpcywgdW5kZXJseWluZ0V2ZW50
LCBldmVudE9wdGlvbnMsIHZpc3VhbE9wdGlvbnMsIFNpbXVsYXRlZENsaWNrQ3JlYXRpb25PcHRp
b25zOjpGcm9tVXNlckFnZW50KTsKKyAgICBzaW11bGF0ZUNsaWNrKCp0aGlzLCB1bmRlcmx5aW5n
RXZlbnQsIGV2ZW50T3B0aW9ucywgdmlzdWFsT3B0aW9ucywgU2ltdWxhdGVkQ2xpY2tTb3VyY2U6
OlVzZXJBZ2VudCk7CiB9CiAKIFJlZjxOb2RlPiBFbGVtZW50OjpjbG9uZU5vZGVJbnRlcm5hbChE
b2N1bWVudCYgdGFyZ2V0RG9jdW1lbnQsIENsb25pbmdPcGVyYXRpb24gdHlwZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaW11bGF0ZWRDbGljay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2ltdWxhdGVkQ2xpY2suY3BwCmluZGV4IDc5ZWIzOGU5OTg1ZTBiZGNlMmY1NzlkNDY2
MmY3MjE4MGRjNzZhODAuLmNjODViZTIyYmUyMmIxYWM3N2QzMDdjOTZkM2YwOWJhMWI5ZWI2ZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaW11bGF0ZWRDbGljay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NpbXVsYXRlZENsaWNrLmNwcApAQCAtMzgsMTkgKzM4LDIyIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2ltdWxhdGVkTW91c2VFdmVudCBmaW5hbCA6
IHB1YmxpYyBNb3VzZUV2ZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNpbXVsYXRlZE1v
dXNlRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRE9NV2luZG93
KiB2aWV3LCBSZWZQdHI8RXZlbnQ+JiYgdW5kZXJseWluZ0V2ZW50LCBFbGVtZW50JiB0YXJnZXQp
CisgICAgc3RhdGljIFJlZjxTaW11bGF0ZWRNb3VzZUV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUsIERPTVdpbmRvdyogdmlldywgUmVmUHRyPEV2ZW50PiYmIHVuZGVy
bHlpbmdFdmVudCwgRWxlbWVudCYgdGFyZ2V0LCBTaW11bGF0ZWRDbGlja1NvdXJjZSBzb3VyY2Up
CiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTaW11bGF0ZWRNb3VzZUV2ZW50
KGV2ZW50VHlwZSwgdmlldywgV1RGTW92ZSh1bmRlcmx5aW5nRXZlbnQpLCB0YXJnZXQpKTsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2ltdWxhdGVkTW91c2VFdmVudChldmVudFR5cGUs
IHZpZXcsIFdURk1vdmUodW5kZXJseWluZ0V2ZW50KSwgdGFyZ2V0LCBzb3VyY2UpKTsKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgU2ltdWxhdGVkTW91c2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSwgRE9NV2luZG93KiB2aWV3LCBSZWZQdHI8RXZlbnQ+JiYgdW5kZXJseWluZ0V2
ZW50LCBFbGVtZW50JiB0YXJnZXQpCisgICAgU2ltdWxhdGVkTW91c2VFdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgRE9NV2luZG93KiB2aWV3LCBSZWZQdHI8RXZlbnQ+JiYgdW5k
ZXJseWluZ0V2ZW50LCBFbGVtZW50JiB0YXJnZXQsIFNpbXVsYXRlZENsaWNrU291cmNlIHNvdXJj
ZSkKICAgICAgICAgOiBNb3VzZUV2ZW50KGV2ZW50VHlwZSwgdHJ1ZSwgdHJ1ZSwgdW5kZXJseWlu
Z0V2ZW50ID8gdW5kZXJseWluZ0V2ZW50LT50aW1lU3RhbXAoKSA6IGN1cnJlbnRUaW1lKCksIHZp
ZXcsIDAsIDAsIDAsIDAsIDAsCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKICAgICAgICAgICAg
ICAgICAgICAgIDAsIDAsCiAjZW5kaWYKICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLCBmYWxz
ZSwgZmFsc2UsIGZhbHNlLCAwLCAwLCAwLCAwLCAwLCB0cnVlKQogICAgIHsKKyAgICAgICAgaWYg
KHNvdXJjZSA9PSBTaW11bGF0ZWRDbGlja1NvdXJjZTo6QmluZGluZ3MpCisgICAgICAgICAgICBz
ZXRVbnRydXN0ZWQoKTsKKwogICAgICAgICBpZiAoVUlFdmVudFdpdGhLZXlTdGF0ZSoga2V5U3Rh
dGVFdmVudCA9IGZpbmRFdmVudFdpdGhLZXlTdGF0ZSh1bmRlcmx5aW5nRXZlbnQuZ2V0KCkpKSB7
CiAgICAgICAgICAgICBtX2N0cmxLZXkgPSBrZXlTdGF0ZUV2ZW50LT5jdHJsS2V5KCk7CiAgICAg
ICAgICAgICBtX2FsdEtleSA9IGtleVN0YXRlRXZlbnQtPmFsdEtleSgpOwpAQCAtNjMsNyArNjYs
MTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIE1vdXNlRXZlbnQmIG1vdXNlRXZlbnQgPSBkb3du
Y2FzdDxNb3VzZUV2ZW50PigqdGhpcy0+dW5kZXJseWluZ0V2ZW50KCkpOwogICAgICAgICAgICAg
bV9zY3JlZW5Mb2NhdGlvbiA9IG1vdXNlRXZlbnQuc2NyZWVuTG9jYXRpb24oKTsKICAgICAgICAg
ICAgIGluaXRDb29yZGluYXRlcyhtb3VzZUV2ZW50LmNsaWVudExvY2F0aW9uKCkpOwotICAgICAg
ICB9IGVsc2UgeworICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZSA9PSBTaW11bGF0ZWRDbGlja1Nv
dXJjZTo6VXNlckFnZW50KSB7CisgICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBubyB1bmRlcmx5
aW5nIGV2ZW50LCB3ZSBvbmx5IHBvcHVsYXRlIHRoZSBjb29yZGluYXRlcyBmb3IgZXZlbnRzIGNv
bWluZworICAgICAgICAgICAgLy8gZnJvbSB0aGUgdXNlciBhZ2VudCAoZS5nLiBhY2Nlc3NpYmls
aXR5KS4gRm9yIHRob3NlIGNvbWluZyBmcm9tIEphdmFTY3JpcHQgKGUuZy4KKyAgICAgICAgICAg
IC8vIChlbGVtZW50LmNsaWNrKCkpLCB0aGUgY29vcmRpbmF0ZXMgd2lsbCBiZSAwLCBzaW1pbGFy
bHkgdG8gRmlyZWZveCBhbmQgQ2hyb21lLgorICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHRoZSBj
YWxsIHRvIHNjcmVlblJlY3QoKSBjYXVzZXMgYSBzeW5jaHJvbm91cyBJUEMgd2l0aCB0aGUgVUkg
cHJvY2Vzcy4KICAgICAgICAgICAgIG1fc2NyZWVuTG9jYXRpb24gPSB0YXJnZXQuc2NyZWVuUmVj
dCgpLmNlbnRlcigpOwogICAgICAgICAgICAgaW5pdENvb3JkaW5hdGVzKExheW91dFBvaW50KHRh
cmdldC5jbGllbnRSZWN0KCkuY2VudGVyKCkpKTsKICAgICAgICAgfQpAQCAtNzEsMTUgKzc4LDEz
IEBAIHByaXZhdGU6CiAKIH07CiAKLXN0YXRpYyB2b2lkIHNpbXVsYXRlTW91c2VFdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRWxlbWVudCYgZWxlbWVudCwgRXZlbnQqIHVuZGVy
bHlpbmdFdmVudCwgU2ltdWxhdGVkQ2xpY2tDcmVhdGlvbk9wdGlvbnMgY3JlYXRpb25PcHRpb25z
KQorc3RhdGljIHZvaWQgc2ltdWxhdGVNb3VzZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
bnRUeXBlLCBFbGVtZW50JiBlbGVtZW50LCBFdmVudCogdW5kZXJseWluZ0V2ZW50LCBTaW11bGF0
ZWRDbGlja1NvdXJjZSBzb3VyY2UpCiB7Ci0gICAgYXV0byBldmVudCA9IFNpbXVsYXRlZE1vdXNl
RXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIGVsZW1lbnQuZG9jdW1lbnQoKS5kZWZhdWx0Vmlldygp
LCB1bmRlcmx5aW5nRXZlbnQsIGVsZW1lbnQpOwotICAgIGlmIChjcmVhdGlvbk9wdGlvbnMgPT0g
U2ltdWxhdGVkQ2xpY2tDcmVhdGlvbk9wdGlvbnM6OkZyb21CaW5kaW5ncykKLSAgICAgICAgZXZl
bnQuZ2V0KCkuc2V0VW50cnVzdGVkKCk7Ci0gICAgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2
ZW50KCZlbGVtZW50LCBldmVudC5nZXQoKSk7CisgICAgYXV0byBldmVudCA9IFNpbXVsYXRlZE1v
dXNlRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIGVsZW1lbnQuZG9jdW1lbnQoKS5kZWZhdWx0Vmll
dygpLCB1bmRlcmx5aW5nRXZlbnQsIGVsZW1lbnQsIHNvdXJjZSk7CisgICAgRXZlbnREaXNwYXRj
aGVyOjpkaXNwYXRjaEV2ZW50KCZlbGVtZW50LCBldmVudCk7CiB9CiAKLXZvaWQgc2ltdWxhdGVD
bGljayhFbGVtZW50JiBlbGVtZW50LCBFdmVudCogdW5kZXJseWluZ0V2ZW50LCBTaW11bGF0ZWRD
bGlja01vdXNlRXZlbnRPcHRpb25zIG1vdXNlRXZlbnRPcHRpb25zLCBTaW11bGF0ZWRDbGlja1Zp
c3VhbE9wdGlvbnMgdmlzdWFsT3B0aW9ucywgU2ltdWxhdGVkQ2xpY2tDcmVhdGlvbk9wdGlvbnMg
Y3JlYXRpb25PcHRpb25zKQordm9pZCBzaW11bGF0ZUNsaWNrKEVsZW1lbnQmIGVsZW1lbnQsIEV2
ZW50KiB1bmRlcmx5aW5nRXZlbnQsIFNpbXVsYXRlZENsaWNrTW91c2VFdmVudE9wdGlvbnMgbW91
c2VFdmVudE9wdGlvbnMsIFNpbXVsYXRlZENsaWNrVmlzdWFsT3B0aW9ucyB2aXN1YWxPcHRpb25z
LCBTaW11bGF0ZWRDbGlja1NvdXJjZSBjcmVhdGlvbk9wdGlvbnMpCiB7CiAgICAgaWYgKGVsZW1l
bnQuaXNEaXNhYmxlZEZvcm1Db250cm9sKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TaW11bGF0ZWRDbGljay5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NpbXVsYXRlZENsaWNrLmgKaW5kZXggNDcxNTRhOWY5ZjIzMGFjYTI0YjRmMDllM2NkYzljZjZm
NTc2NmIzMy4uMDcyY2JhYjljZTk5OTNhMWQ3MTMwZDM2ZDE2YzJlNTk3MDZhOGUxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NpbXVsYXRlZENsaWNrLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NpbXVsYXRlZENsaWNrLmgKQEAgLTMzLDEyICszMywxMiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgRXZlbnQ7CiAKLWVudW0gY2xhc3MgU2lt
dWxhdGVkQ2xpY2tDcmVhdGlvbk9wdGlvbnMgewotICAgIEZyb21CaW5kaW5ncywKLSAgICBGcm9t
VXNlckFnZW50CitlbnVtIGNsYXNzIFNpbXVsYXRlZENsaWNrU291cmNlIHsKKyAgICBCaW5kaW5n
cywKKyAgICBVc2VyQWdlbnQKIH07CiAKLXZvaWQgc2ltdWxhdGVDbGljayhFbGVtZW50JiwgRXZl
bnQqIHVuZGVybHlpbmdFdmVudCwgU2ltdWxhdGVkQ2xpY2tNb3VzZUV2ZW50T3B0aW9ucywgU2lt
dWxhdGVkQ2xpY2tWaXN1YWxPcHRpb25zLCBTaW11bGF0ZWRDbGlja0NyZWF0aW9uT3B0aW9ucyk7
Cit2b2lkIHNpbXVsYXRlQ2xpY2soRWxlbWVudCYsIEV2ZW50KiB1bmRlcmx5aW5nRXZlbnQsIFNp
bXVsYXRlZENsaWNrTW91c2VFdmVudE9wdGlvbnMsIFNpbXVsYXRlZENsaWNrVmlzdWFsT3B0aW9u
cywgU2ltdWxhdGVkQ2xpY2tTb3VyY2UpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggNjQ2ZjEzNGJiMGVhMGIyYTZiZjcyYmIz
OTBhZjk4MjgxOTMyNWNiMC4uM2YzYmQ4N2RkMDczOWQ1Nzg3Zjk0Y2QwZjNhYzVjZTY4YTlkOGIw
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTcwMSw3ICs3MDEsNyBAQCB2
b2lkIEhUTUxFbGVtZW50OjpzZXRTcGVsbGNoZWNrKGJvb2wgZW5hYmxlKQogCiB2b2lkIEhUTUxF
bGVtZW50OjpjbGljaygpCiB7Ci0gICAgc2ltdWxhdGVDbGljaygqdGhpcywgbnVsbHB0ciwgU2Vu
ZE5vRXZlbnRzLCBEb05vdFNob3dQcmVzc2VkTG9vaywgU2ltdWxhdGVkQ2xpY2tDcmVhdGlvbk9w
dGlvbnM6OkZyb21CaW5kaW5ncyk7CisgICAgc2ltdWxhdGVDbGljaygqdGhpcywgbnVsbHB0ciwg
U2VuZE5vRXZlbnRzLCBEb05vdFNob3dQcmVzc2VkTG9vaywgU2ltdWxhdGVkQ2xpY2tTb3VyY2U6
OkJpbmRpbmdzKTsKIH0KIAogdm9pZCBIVE1MRWxlbWVudDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wg
c2VuZE1vdXNlRXZlbnRzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIwY2QyMzIwMDA4MjhkMjY1NjFjNWMzNDhmYjE0ODhi
MmMyNDQ4MDQuLmNmNGQ2M2EzNmY2ZGIwYWJhNGY3ZTFkYWQzYjNmYjE0MDc1M2U3N2YgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwxOCBAQAogMjAxNi0xMC0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCisgICAgICAgIE1vdXNlRXZlbnQncyBjb29yZGluYXRlcyBzaG91bGQgYmUgMCBmb3Ig
c2ltdWxhdGVkIGNsaWNrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYzNjQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLiBJIHZlcmlmaWVkIHRoYXQgdGhpcyB0
ZXN0IGlzIHBhc3NpbmcgaW4KKyAgICAgICAgRmlyZWZveCBhbmQgQ2hyb21lIGFzIHdlbGwuCisK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9lbGVtZW50LWNsaWNrLW5vLWNvb3Jkcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2VsZW1lbnQtY2xpY2stbm8tY29vcmRz
Lmh0bWw6IEFkZGVkLgorCisyMDE2LTEwLTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKICAgICAgICAgW1dlYiBJRExdIEtpbGwgc3VwcG9ydCBmb3IgW0xlZ2FjeUNvbnN0cnVj
dG9yVGVtcGxhdGU9RXZlbnRdIC8gW0xlZ2FjeUluaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9y
XQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzNjMw
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2VsZW1lbnQtY2xpY2stbm8t
Y29vcmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2VsZW1lbnQtY2xp
Y2stbm8tY29vcmRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTA1NGI2NzMwMDgzOWMyNWY4
ZTI4NzkwYWFmZDI2NjBiZDcxNjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvZWxlbWVudC1jbGljay1uby1jb29yZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTUgQEAKK1Rlc3RzIHRoYXQgdGhlIE1vdXNlRXZlbnQncyBjb29yZGluYXRlcyBhcmUgMCBmb3Ig
YSBzaW11bGF0ZWQgY2xpY2suCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGV2ZW50LnNjcmVlblggaXMgMAorUEFTUyBldmVudC5zY3JlZW5ZIGlzIDAKK1BBU1MgZXZlbnQu
Y2xpZW50WCBpcyAwCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgMAorUEFTUyBldmVudC5wYWdlWCBp
cyAwCitQQVNTIGV2ZW50LnBhZ2VZIGlzIDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorVGVzdCBEaXYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2VsZW1lbnQtY2xpY2stbm8tY29vcmRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9lbGVtZW50LWNsaWNrLW5vLWNvb3Jkcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3YzkyMjI0
NGIzMjJjMGZmMjNhMWRkMzU4N2ZjMDc1MjJlMDM5NDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9lbGVtZW50LWNsaWNrLW5vLWNvb3Jkcy5odG1sCkBAIC0wLDAg
KzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0idGVzdERp
diI+VGVzdCBEaXY8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUg
TW91c2VFdmVudCdzIGNvb3JkaW5hdGVzIGFyZSAwIGZvciBhIHNpbXVsYXRlZCBjbGljay4iKTsK
K2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgdGVzdERpdiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0RGl2Iik7CisKK3Rlc3REaXYub25jbGljayA9IGZ1bmN0aW9uKGUpIHsKKyAg
ICBldmVudCA9IGU7CisgICAgc2hvdWxkQmUoImV2ZW50LnNjcmVlblgiLCAiMCIpOworICAgIHNo
b3VsZEJlKCJldmVudC5zY3JlZW5ZIiwgIjAiKTsKKyAgICBzaG91bGRCZSgiZXZlbnQuY2xpZW50
WCIsICIwIik7CisgICAgc2hvdWxkQmUoImV2ZW50LmNsaWVudFkiLCAiMCIpOworICAgIHNob3Vs
ZEJlKCJldmVudC5wYWdlWCIsICIwIik7CisgICAgc2hvdWxkQmUoImV2ZW50LnBhZ2VZIiwgIjAi
KTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwordGVzdERpdi5jbGljaygpOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>