<?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>189478</bug_id>
          
          <creation_ts>2018-09-10 12:22:55 -0700</creation_ts>
          <short_desc>Expose a few WebPlaybackControlsManager-driven PIP APIs to clients</short_desc>
          <delta_ts>2018-09-12 12:10:11 -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>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Rajca">mrajca</reporter>
          <assigned_to name="Matt Rajca">mrajca</assigned_to>
          <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1458176</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-10 12:22:55 -0700</bug_when>
    <thetext>Expose a few WebPlaybackControlsManager-driven PIP APIs to clients.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458177</commentid>
    <comment_count>1</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-10 12:23:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/44312650&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458294</commentid>
    <comment_count>2</comment_count>
      <attachid>349349</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-10 16:08:08 -0700</bug_when>
    <thetext>Created attachment 349349
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458334</commentid>
    <comment_count>3</comment_count>
      <attachid>349361</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-10 17:29:05 -0700</bug_when>
    <thetext>Created attachment 349361
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458490</commentid>
    <comment_count>4</comment_count>
      <attachid>349402</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-11 09:50:47 -0700</bug_when>
    <thetext>Created attachment 349402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458723</commentid>
    <comment_count>5</comment_count>
      <attachid>349402</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-09-11 15:32:04 -0700</bug_when>
    <thetext>Comment on attachment 349402
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:1226
&gt; +bool WebViewImpl::isPictureInPictureActive()
&gt; +{
&gt; +    if (!m_playbackControlsManager)
&gt; +        return false;
&gt; +
&gt; +    return [m_playbackControlsManager isPictureInPictureActive];
&gt; +}
&gt; +
&gt; +void WebViewImpl::togglePictureInPicture()
&gt; +{
&gt; +    [m_playbackControlsManager togglePictureInPicture];
&gt; +}

Nit: do you need to NULL-test m_playbackControlsManager in one method but not the other?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459030</commentid>
    <comment_count>6</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-12 12:01:26 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #5)
&gt; Comment on attachment 349402 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=349402&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:1226
&gt; &gt; +bool WebViewImpl::isPictureInPictureActive()
&gt; &gt; +{
&gt; &gt; +    if (!m_playbackControlsManager)
&gt; &gt; +        return false;
&gt; &gt; +
&gt; &gt; +    return [m_playbackControlsManager isPictureInPictureActive];
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +void WebViewImpl::togglePictureInPicture()
&gt; &gt; +{
&gt; &gt; +    [m_playbackControlsManager togglePictureInPicture];
&gt; &gt; +}
&gt; 
&gt; Nit: do you need to NULL-test m_playbackControlsManager in one method but
&gt; not the other?

Nope, simplified ::isPictureInPictureActive to avoid the nil check since messaging a nil Obj-C object will result in `NO`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459033</commentid>
    <comment_count>7</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-12 12:10:11 -0700</bug_when>
    <thetext>Committed r235944: &lt;https://trac.webkit.org/changeset/235944&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349349</attachid>
            <date>2018-09-10 16:08:08 -0700</date>
            <delta_ts>2018-09-10 17:29:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189478-20180910160807.patch</filename>
            <type>text/plain</type>
            <size>12513</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkwNTc3ZDkzMTgzZmQ1Y2Uy
ZTI0OWJiY2IzNzVlZTM1OTEwMGIwZDIuLmZkNjg1ZjRlYWY4ZjRmNTdlNTU3NjA3MmI5MTYwN2Q1
YzJjMzc1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTgtMDktMTAgIE1hdHQgUmFq
Y2EgIDxtcmFqY2FAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGZldyBXZWJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlci1kcml2ZW4gUElQIEFQSXMgdG8gY2xpZW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NDc4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NDMxMjY1MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGV4cG9zZXMgQVBJcyBuZWNlc3NhcnkgdG8gdG9nZ2xl
IFBJUCBhbmQgcXVlcnkgaXRzIHN0YXR1cyBmcm9tIGNsaWVudHMgb2YgV0tXZWJWaWV3LgorICAg
ICAgICBUaGUgZXhpc3RpbmcgUElQIHRlc3QgaGFzIGJlZW4gdXBkYXRlZCB0byB1c2UgdGhlIG5l
dyBBUElzIGluc3RlYWQgb2Ygc2ltdWxhdGluZyBtb3VzZSBjbGlja3MuCisgICAgICAgIEkgYWxz
byBpbmNyZWFzZWQgdGhlIHNpemUgb2YgdGhlIHZpZGVvIGVsZW1lbnQgaW4gdGhlIHRlc3QgcGFn
ZSBzbyBpdCBnZXRzIHBpY2tlZCB1cCBieSB0aGUKKyAgICAgICAgbWFpbiBjb250ZW50IGhldXJp
c3RpY3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF91cGRhdGVNZWRpYVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyXSk6
IENyZWF0ZSBhIG1lZGlhIHBsYXliYWNrIGNvbnRyb2xzIG1hbmFnZXIgaWYgbmVjZXNzYXJ5Lgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX2lzUGljdHVyZUluUGljdHVyZUFjdGl2ZV0pOiBSZXR1cm4g
dHJ1ZSBpZiB0aGUgImFjdGl2ZSIgbWVkaWEgZWxlbWVudCBpcyBpbiBQSVAuCisgICAgICAgICgt
W1dLV2ViVmlldyBfdG9nZ2xlUGljdHVyZUluUGljdHVyZV0pOiBUb2dnbGUgUElQIG9uIHRoZSAi
YWN0aXZlIiBtZWRpYSBlbGVtZW50LgorICAgICAgICAoLVtXS1dlYlZpZXcgX2NhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmVdKTogUmVuYW1lZCBmcm9tLi4uCisgICAgICAgICgtW1dLV2ViVmlldyBf
Y2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjppc1BpY3R1cmVJblBpY3R1cmVBY3Rp
dmUpOiBSZXR1cm4gdHJ1ZSBpZiB0aGUgImFjdGl2ZSIgbWVkaWEgZWxlbWVudCBpcyBpbiBQSVAu
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjp0b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTog
VG9nZ2xlIFBJUCBvbiB0aGUgImFjdGl2ZSIgbWVkaWEgZWxlbWVudC4KKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OnVwZGF0ZU1lZGlhUGxheWJhY2tDb250cm9sc01hbmFnZXIpOiBMZXQg
Y2xpZW50cyBjcmVhdGUgYSBwbGF5YmFjaworICAgICAgICAgY29udHJvbHMgbWFuYWdlciBldmVu
IHdoZW4gdGhlcmUgaXMgbm8gVG91Y2ggQmFyIHByZXNlbnQuCisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjp1cGRhdGVNZWRpYVRvdWNoQmFyKTogRXh0cmFjdCBzb21lIGNvZGUgaW50byBh
IGhlbHBlciBtZXRob2QuCisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlKTogUmVuYW1lZCBmcm9tLi4uCisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZyk6CisKIDIwMTgtMDkt
MTAgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFy
cm93IGtleXMgZG8gbm90IGRpc3BhdGNoIERPTSBldmVudHMgdG8gbm9uLWVkaXRhYmxlIGVsZW1l
bnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpp
bmRleCBlMGMyOWM1ZTRiN2ZkOTFlZDNjYTA2NGI5YzkyM2U0OGFiYWM4ZmI4Li42OTQyMmI4OGM0
ZDhkZjNmNWU3NjQ5MmZiMjZiZDJiNmQzNDMwODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTQyMzIsNiArNDIzMiwzOCBAQCAtICh2
b2lkKV9zZXRIaXN0b3J5RGVsZWdhdGU6KGlkIDxXS0hpc3RvcnlEZWxlZ2F0ZVByaXZhdGU+KWhp
c3RvcnlEZWxlZ2F0ZQogICAgIF9uYXZpZ2F0aW9uU3RhdGUtPnNldEhpc3RvcnlEZWxlZ2F0ZSho
aXN0b3J5RGVsZWdhdGUpOwogfQogCistICh2b2lkKV91cGRhdGVNZWRpYVBsYXliYWNrQ29udHJv
bHNNYW5hZ2VyCit7CisjaWYgSEFWRShUT1VDSF9CQVIpCisgICAgX2ltcGwtPnVwZGF0ZU1lZGlh
UGxheWJhY2tDb250cm9sc01hbmFnZXIoKTsKKyNlbmRpZgorfQorCistIChCT09MKV9jYW5Ub2dn
bGVQaWN0dXJlSW5QaWN0dXJlCit7CisjaWYgSEFWRShUT1VDSF9CQVIpCisgICAgcmV0dXJuIF9p
bXBsLT5jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCk7CisjZWxzZQorICAgIHJldHVybiBOTzsK
KyNlbmRpZgorfQorCistIChCT09MKV9pc1BpY3R1cmVJblBpY3R1cmVBY3RpdmUKK3sKKyNpZiBI
QVZFKFRPVUNIX0JBUikKKyAgICByZXR1cm4gX2ltcGwtPmlzUGljdHVyZUluUGljdHVyZUFjdGl2
ZSgpOworI2Vsc2UKKyAgICByZXR1cm4gTk87CisjZW5kaWYKK30KKworLSAodm9pZClfdG9nZ2xl
UGljdHVyZUluUGljdHVyZQoreworI2lmIEhBVkUoVE9VQ0hfQkFSKQorICAgIF9pbXBsLT50b2dn
bGVQaWN0dXJlSW5QaWN0dXJlKCk7CisjZW5kaWYKK30KKwogLSAoTlNVUkwgKilfdW5yZWFjaGFi
bGVVUkwKIHsKICAgICByZXR1cm4gW05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmluZzpfcGFnZS0+
cGFnZUxvYWRTdGF0ZSgpLnVucmVhY2hhYmxlVVJMKCldOwpAQCAtNjQ5NSwxNSArNjUyNyw2IEBA
IC0gKHZvaWQpX3NldERlZmVyc0xvYWRpbmdGb3JUZXN0aW5nOihCT09MKWRlZmVyc0xvYWRpbmcK
ICAgICBfcGFnZS0+c2V0RGVmZXJzTG9hZGluZ0ZvclRlc3RpbmcoZGVmZXJzTG9hZGluZyk7CiB9
CiAKLS0gKEJPT0wpX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nCi17Ci0jaWYg
SEFWRShUT1VDSF9CQVIpCi0gICAgcmV0dXJuIF9pbXBsLT5jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0
dXJlRm9yVGVzdGluZygpOwotI2Vsc2UKLSAgICByZXR1cm4gTk87Ci0jZW5kaWYKLX0KLQogLSAo
X1dLSW5zcGVjdG9yICopX2luc3BlY3RvcgogewogICAgIGlmIChhdXRvKiBpbnNwZWN0b3IgPSBf
cGFnZS0+aW5zcGVjdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBmNWU5OTk3MjI5OGU3Y2U1OGQ2YjMxYTFh
ZjJjYTcyMGM2NWZmZTU2Li45YjgxNzIzMDgxN2E4MDNiYzg1OWFlODJmZTM0OTQ4ZmFmOTQxZmE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmgKQEAgLTM1Niw2ICszNTYsMTEgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUlu
dGVnZXIsIF9XS1JlY3RFZGdlKSB7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dE1lZGlhQ2FwdHVyZUVuYWJsZWQ6KSBCT09MIF9tZWRpYUNhcHR1cmVFbmFibGVkIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAorQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBCT09MIF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlOworQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9pc1BpY3R1cmVJblBpY3R1cmVBY3RpdmU7Cist
ICh2b2lkKV91cGRhdGVNZWRpYVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyOworLSAodm9pZClfdG9n
Z2xlUGljdHVyZUluUGljdHVyZTsKKwogQGVuZAogCiAjaWYgIVRBUkdFVF9PU19JUEhPTkUKQEAg
LTQ3Miw4ICs0NzcsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVk
Z2UpIHsKIC0gKEJPT0wpX2NvbXBsZXRlQmFja1N3aXBlRm9yVGVzdGluZzsKIC0gKHZvaWQpX3Nl
dERlZmVyc0xvYWRpbmdGb3JUZXN0aW5nOihCT09MKWRlZmVyc0xvYWRpbmc7CiAKLS0gKEJPT0wp
X2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nOwotCiBAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIF9XS0luc3BlY3RvciAqX2luc3BlY3RvciBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSkgX1dLRnJhbWVIYW5kbGUgKl9tYWluRnJhbWUgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IGQ5NjRkNTA5ZDkwYmQzMDM4YWM5
ZTU4YzM5ZmUyNzJiY2ExN2E4ZjMuLmIwOGQ5YjljNTAxYjQ3YTczNjJlMjVhZWNhMjZkY2U5YjVl
YTRmNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJ
bXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaApA
QCAtNTQwLDggKzU0MCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRGaW5pc2hQcm9jZXNzaW5n
QWxsUGVuZGluZ01vdXNlRXZlbnRzKCk7CiAKICNpZiBIQVZFKFRPVUNIX0JBUikKKyAgICBib29s
IGlzUGljdHVyZUluUGljdHVyZUFjdGl2ZSgpOworICAgIHZvaWQgdG9nZ2xlUGljdHVyZUluUGlj
dHVyZSgpOwogICAgIE5TVG91Y2hCYXIgKm1ha2VUb3VjaEJhcigpOwogICAgIHZvaWQgdXBkYXRl
VG91Y2hCYXIoKTsKKyAgICB2b2lkIHVwZGF0ZU1lZGlhUGxheWJhY2tDb250cm9sc01hbmFnZXIo
KTsKICAgICBOU1RvdWNoQmFyICpjdXJyZW50VG91Y2hCYXIoKSBjb25zdCB7IHJldHVybiBtX2N1
cnJlbnRUb3VjaEJhci5nZXQoKTsgfQogICAgIE5TQ2FuZGlkYXRlTGlzdFRvdWNoQmFySXRlbSAq
Y2FuZGlkYXRlTGlzdFRvdWNoQmFySXRlbSgpIGNvbnN0OwogI2lmIEVOQUJMRShXRUJfUExBWUJB
Q0tfQ09OVFJPTFNfTUFOQUdFUikKQEAgLTU2MCw3ICs1NjMsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCB1cGRhdGVUb3VjaEJhckFuZFJlZnJlc2hUZXh0QmFySWRlbnRpZmllcnMoKTsKICAgICB2b2lk
IHNldElzQ3VzdG9taXppbmdUb3VjaEJhcihib29sIGlzQ3VzdG9taXppbmdUb3VjaEJhcikgeyBt
X2lzQ3VzdG9taXppbmdUb3VjaEJhciA9IGlzQ3VzdG9taXppbmdUb3VjaEJhcjsgfTsKIAotICAg
IGJvb2wgY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmcoKTsKKyAgICBib29sIGNh
blRvZ2dsZVBpY3R1cmVJblBpY3R1cmUoKTsKICNlbmRpZiAvLyBIQVZFKFRPVUNIX0JBUikKIAog
ICAgIGJvb2wgYmVnaW5CYWNrU3dpcGVGb3JUZXN0aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDFhZjRhZGRmMWQ3YzQ3YTcxMjg2Mjlh
ZWUzNjE4ZGQ5ODE3NzBiYjQuLjVkM2U1ZjE1ZDQ3OTU5OTkxNDg2MzdkZThiYmRkN2RjOWNhMTZj
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBA
IC0xMjEwLDYgKzEyMTAsMzYgQEAgdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlVGV4dFRvdWNoQmFy
KCkKICAgICB9CiB9CiAKK2Jvb2wgV2ViVmlld0ltcGw6OmlzUGljdHVyZUluUGljdHVyZUFjdGl2
ZSgpCit7CisgICAgaWYgKCFtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICByZXR1cm4gW21fcGxheWJhY2tDb250cm9sc01hbmFnZXIgaXNQaWN0
dXJlSW5QaWN0dXJlQWN0aXZlXTsKK30KKwordm9pZCBXZWJWaWV3SW1wbDo6dG9nZ2xlUGljdHVy
ZUluUGljdHVyZSgpCit7CisgICAgW21fcGxheWJhY2tDb250cm9sc01hbmFnZXIgdG9nZ2xlUGlj
dHVyZUluUGljdHVyZV07Cit9CisKK3ZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZU1lZGlhUGxheWJh
Y2tDb250cm9sc01hbmFnZXIoKQoreworICAgIGlmICghbV9wYWdlLT5oYXNBY3RpdmVWaWRlb0Zv
ckNvbnRyb2xzTWFuYWdlcigpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIW1fcGxheWJh
Y2tDb250cm9sc01hbmFnZXIpIHsKKyAgICAgICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciA9
IGFkb3B0TlMoW1tXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciBhbGxvY10gaW5pdF0pOworICAg
ICAgICBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJl
UGxheWJhY2s6bV9wYWdlLT5wcmVmZXJlbmNlcygpLmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRp
YVBsYXliYWNrKCldOworICAgICAgICBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBzZXRDYW5U
b2dnbGVQaWN0dXJlSW5QaWN0dXJlOk5PXTsKKyAgICB9CisKKyAgICBpZiAoUGxhdGZvcm1QbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2UqIGludGVyZmFjZSA9IG1fcGFnZS0+cGxheWJhY2tTZXNzaW9u
TWFuYWdlcigpLT5jb250cm9sc01hbmFnZXJJbnRlcmZhY2UoKSkgeworICAgICAgICBbbV9wbGF5
YmFja0NvbnRyb2xzTWFuYWdlciBzZXRQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6aW50ZXJm
YWNlXTsKKyAgICAgICAgaW50ZXJmYWNlLT51cGRhdGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlckNh
blRvZ2dsZVBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICB9Cit9CisKIHZvaWQgV2ViVmlld0ltcGw6
OnVwZGF0ZU1lZGlhVG91Y2hCYXIoKQogewogI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJP
TFNfTUFOQUdFUikgJiYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQpAQCAtMTIzMiwx
NiArMTI2Miw3IEBAIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZU1lZGlhVG91Y2hCYXIoKQogI2Vu
ZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCiAgICAgfQog
Ci0gICAgaWYgKCFtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyKSB7Ci0gICAgICAgIG1fcGxheWJh
Y2tDb250cm9sc01hbmFnZXIgPSBhZG9wdE5TKFtbV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIg
YWxsb2NdIGluaXRdKTsKLSAgICAgICAgW21fcGxheWJhY2tDb250cm9sc01hbmFnZXIgc2V0QWxs
b3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrOm1fcGFnZS0+cHJlZmVyZW5jZXMoKS5hbGxvd3NQ
aWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpXTsKLSAgICAgICAgW21fcGxheWJhY2tDb250
cm9sc01hbmFnZXIgc2V0Q2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZTpOT107Ci0gICAgfQotCi0g
ICAgaWYgKFBsYXRmb3JtUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlKiBpbnRlcmZhY2UgPSBtX3Bh
Z2UtPnBsYXliYWNrU2Vzc2lvbk1hbmFnZXIoKS0+Y29udHJvbHNNYW5hZ2VySW50ZXJmYWNlKCkp
IHsKLSAgICAgICAgW21fcGxheWJhY2tDb250cm9sc01hbmFnZXIgc2V0UGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlTWFjOmludGVyZmFjZV07Ci0gICAgICAgIGludGVyZmFjZS0+dXBkYXRlUGxheWJh
Y2tDb250cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCk7Ci0gICAgfQorICAg
IHVwZGF0ZU1lZGlhUGxheWJhY2tDb250cm9sc01hbmFnZXIoKTsKIAogICAgIFttX21lZGlhVG91
Y2hCYXJQcm92aWRlciBzZXRQbGF5YmFja0NvbnRyb2xzQ29udHJvbGxlcjptX3BsYXliYWNrQ29u
dHJvbHNNYW5hZ2VyLmdldCgpXTsKICAgICBbbV9tZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3IHNl
dFBsYXliYWNrQ29udHJvbHNDb250cm9sbGVyOm1fcGxheWJhY2tDb250cm9sc01hbmFnZXIuZ2V0
KCldOwpAQCAtMTI3OSw3ICsxMzAwLDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFU
b3VjaEJhcigpCiAKICNpZiBIQVZFKFRPVUNIX0JBUikKIAotYm9vbCBXZWJWaWV3SW1wbDo6Y2Fu
VG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmcoKQorYm9vbCBXZWJWaWV3SW1wbDo6Y2Fu
VG9nZ2xlUGljdHVyZUluUGljdHVyZSgpCiB7CiAjaWYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05U
Uk9MU19NQU5BR0VSKQogICAgIHJldHVybiBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBjYW5U
b2dnbGVQaWN0dXJlSW5QaWN0dXJlXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0bWwgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5o
dG1sCmluZGV4IDgyY2RjODFhNDJkYWVmNjJjNzEzYWEyYTc3Y2JiYmFiN2M2ZGQ3NDMuLjgxODhl
NDM0ZTcyZmFhZGFiNTAwN2E1MWE5ZWQzODI3YWE1NGJlYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0
bWwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5Q
aWN0dXJlRGVsZWdhdGUuaHRtbApAQCAtMTksOCArMTksOCBAQAogICAgICAgICA8c3R5bGU+CiAg
ICAgICAgICAgICAjdmlkZW8gewogICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJl
ZDsKLSAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7Ci0gICAgICAgICAgICAgICAgaGVpZ2h0
OiAxNTBweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogNjQwcHg7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiA0ODBweDsKICAgICAgICAgICAgIH0KICAgICAgICAgPC9zdHlsZT4KICAgICA8L2hl
YWQ+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Bp
Y3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tCmluZGV4IGFjYWM0ODRlYjY0ZDc5
ZWY5MjFkZTdhZjBjMzExMmQwODUzM2IyNjQuLjE3MjJjNDNlYzg5MDExYzkxMmM1YWRkOTc1MWU4
ZDg3MDY2NWI0M2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tCkBAIC0xMTQs
NyArMTE0LDcgQEAgbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogVEVTVChQaWN0dXJlSW5QaWN0
dXJlLCBXS1VJRGVsZWdhdGUpCiB7CiAgICAgUmV0YWluUHRyPFdLV2ViVmlld0NvbmZpZ3VyYXRp
b24+IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxv
Y10gaW5pdF0pOwotICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtb
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMTAwLCAxMDAp
IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIFJldGFpblB0cjxXS1dl
YlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TTWFrZVJlY3QoMCwgMCwgNjQwLCA0ODApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5n
ZXQoKV0pOwogICAgIFtjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXS5fZnVsbFNjcmVlbkVuYWJs
ZWQgPSBZRVM7CiAgICAgW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdLl9hbGxvd3NQaWN0dXJl
SW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IFlFUzsKICAgICBSZXRhaW5QdHI8UGljdHVyZUluUGlj
dHVyZVVJRGVsZWdhdGU+IGhhbmRsZXIgPSBhZG9wdE5TKFtbUGljdHVyZUluUGljdHVyZVVJRGVs
ZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAgLTEzOSw4ICsxMzksMTcgQEAgVEVTVChQaWN0dXJlSW5Q
aWN0dXJlLCBXS1VJRGVsZWdhdGUpCiAgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVWYWx1
ZSA9IGZhbHNlOwogICAgIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkID0gZmFsc2U7
CiAKKyNpZiBIQVZFKFRPVUNIX0JBUikKKyAgICB3aGlsZSAoIVt3ZWJWaWV3IF9jYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlXSkKKyAgICAgICAgW1tOU1J1bkxvb3AgY3VycmVudFJ1bkxvb3BdIHJ1
blVudGlsRGF0ZTpbTlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2VOb3c6MC4wNV1dOwor
CisgICAgQVNTRVJUX0ZBTFNFKFt3ZWJWaWV3IF9pc1BpY3R1cmVJblBpY3R1cmVBY3RpdmVdKTsK
KyAgICBbd2ViVmlldyBfdG9nZ2xlUGljdHVyZUluUGljdHVyZV07CisjZWxzZQogICAgIE5TRXZl
bnQgKmV2ZW50ID0gW05TRXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBlTGVmdE1v
dXNlRG93biBsb2NhdGlvbjpOU01ha2VQb2ludCg1LCA1KSBtb2RpZmllckZsYWdzOjAgdGltZXN0
YW1wOjAgd2luZG93TnVtYmVyOndpbmRvdy5nZXQoKS53aW5kb3dOdW1iZXIgY29udGV4dDowIGV2
ZW50TnVtYmVyOjAgY2xpY2tDb3VudDowIHByZXNzdXJlOjBdOwogICAgIFt3ZWJWaWV3IG1vdXNl
RG93bjpldmVudF07CisjZW5kaWYKKwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaGFz
VmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQpOwogICAgIEFTU0VSVF9UUlVFKGhhc1ZpZGVv
SW5QaWN0dXJlSW5QaWN0dXJlVmFsdWUpOwogCkBAIC0xNDgsMTEgKzE1NywxOCBAQCBURVNUKFBp
Y3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKICAgICBbW05TUnVuTG9vcCBjdXJyZW50UnVu
TG9vcF0gcnVuVW50aWxEYXRlOltOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZU5vdzox
XV07CiAKICNpZiBIQVZFKFRPVUNIX0JBUikKLSAgICBBU1NFUlRfVFJVRShbd2ViVmlldyBfY2Fu
VG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKTsKKyAgICBBU1NFUlRfVFJVRShbd2Vi
VmlldyBfaXNQaWN0dXJlSW5QaWN0dXJlQWN0aXZlXSk7CisgICAgQVNTRVJUX1RSVUUoW3dlYlZp
ZXcgX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVdKTsKICNlbmRpZgogCiAgICAgaGFzVmlkZW9J
blBpY3R1cmVJblBpY3R1cmVDYWxsZWQgPSBmYWxzZTsKKworI2lmIEhBVkUoVE9VQ0hfQkFSKQor
ICAgIFt3ZWJWaWV3IF90b2dnbGVQaWN0dXJlSW5QaWN0dXJlXTsKKyNlbHNlCiAgICAgW3dlYlZp
ZXcgbW91c2VEb3duOmV2ZW50XTsKKyNlbmRpZgorCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCk7CiAgICAgQVNTRVJUX0ZBTFNF
KGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlVmFsdWUpOwogfQpAQCAtMTc4LDcgKzE5NCw3IEBA
IFRFU1QoUGljdHVyZUluUGljdHVyZSwgQXVkaW9DYW5ub3RUb2dnbGVQaWN0dXJlSW5QaWN0dXJl
KQogICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInBsYXkoKSIgY29tcGxldGlvbkhh
bmRsZXI6bmlsXTsKIAogICAgIFtbTlNSdW5Mb29wIGN1cnJlbnRSdW5Mb29wXSBydW5VbnRpbERh
dGU6W05TRGF0ZSBkYXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNlTm93OjFdXTsKLSAgICBBU1NFUlRf
RkFMU0UoW3dlYlZpZXcgX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nXSk7Cisg
ICAgQVNTRVJUX0ZBTFNFKFt3ZWJWaWV3IF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlXSk7CiB9
CiAKICNlbmRpZiAvLyBIQVZFKFRPVUNIX0JBUikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349361</attachid>
            <date>2018-09-10 17:29:05 -0700</date>
            <delta_ts>2018-09-11 09:50:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189478-20180910172904.patch</filename>
            <type>text/plain</type>
            <size>12710</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkwNTc3ZDkzMTgzZmQ1Y2Uy
ZTI0OWJiY2IzNzVlZTM1OTEwMGIwZDIuLmZkNjg1ZjRlYWY4ZjRmNTdlNTU3NjA3MmI5MTYwN2Q1
YzJjMzc1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTgtMDktMTAgIE1hdHQgUmFq
Y2EgIDxtcmFqY2FAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGZldyBXZWJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlci1kcml2ZW4gUElQIEFQSXMgdG8gY2xpZW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NDc4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NDMxMjY1MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGV4cG9zZXMgQVBJcyBuZWNlc3NhcnkgdG8gdG9nZ2xl
IFBJUCBhbmQgcXVlcnkgaXRzIHN0YXR1cyBmcm9tIGNsaWVudHMgb2YgV0tXZWJWaWV3LgorICAg
ICAgICBUaGUgZXhpc3RpbmcgUElQIHRlc3QgaGFzIGJlZW4gdXBkYXRlZCB0byB1c2UgdGhlIG5l
dyBBUElzIGluc3RlYWQgb2Ygc2ltdWxhdGluZyBtb3VzZSBjbGlja3MuCisgICAgICAgIEkgYWxz
byBpbmNyZWFzZWQgdGhlIHNpemUgb2YgdGhlIHZpZGVvIGVsZW1lbnQgaW4gdGhlIHRlc3QgcGFn
ZSBzbyBpdCBnZXRzIHBpY2tlZCB1cCBieSB0aGUKKyAgICAgICAgbWFpbiBjb250ZW50IGhldXJp
c3RpY3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF91cGRhdGVNZWRpYVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyXSk6
IENyZWF0ZSBhIG1lZGlhIHBsYXliYWNrIGNvbnRyb2xzIG1hbmFnZXIgaWYgbmVjZXNzYXJ5Lgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX2lzUGljdHVyZUluUGljdHVyZUFjdGl2ZV0pOiBSZXR1cm4g
dHJ1ZSBpZiB0aGUgImFjdGl2ZSIgbWVkaWEgZWxlbWVudCBpcyBpbiBQSVAuCisgICAgICAgICgt
W1dLV2ViVmlldyBfdG9nZ2xlUGljdHVyZUluUGljdHVyZV0pOiBUb2dnbGUgUElQIG9uIHRoZSAi
YWN0aXZlIiBtZWRpYSBlbGVtZW50LgorICAgICAgICAoLVtXS1dlYlZpZXcgX2NhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmVdKTogUmVuYW1lZCBmcm9tLi4uCisgICAgICAgICgtW1dLV2ViVmlldyBf
Y2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjppc1BpY3R1cmVJblBpY3R1cmVBY3Rp
dmUpOiBSZXR1cm4gdHJ1ZSBpZiB0aGUgImFjdGl2ZSIgbWVkaWEgZWxlbWVudCBpcyBpbiBQSVAu
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjp0b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTog
VG9nZ2xlIFBJUCBvbiB0aGUgImFjdGl2ZSIgbWVkaWEgZWxlbWVudC4KKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OnVwZGF0ZU1lZGlhUGxheWJhY2tDb250cm9sc01hbmFnZXIpOiBMZXQg
Y2xpZW50cyBjcmVhdGUgYSBwbGF5YmFjaworICAgICAgICAgY29udHJvbHMgbWFuYWdlciBldmVu
IHdoZW4gdGhlcmUgaXMgbm8gVG91Y2ggQmFyIHByZXNlbnQuCisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjp1cGRhdGVNZWRpYVRvdWNoQmFyKTogRXh0cmFjdCBzb21lIGNvZGUgaW50byBh
IGhlbHBlciBtZXRob2QuCisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlKTogUmVuYW1lZCBmcm9tLi4uCisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZyk6CisKIDIwMTgtMDkt
MTAgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFy
cm93IGtleXMgZG8gbm90IGRpc3BhdGNoIERPTSBldmVudHMgdG8gbm9uLWVkaXRhYmxlIGVsZW1l
bnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpp
bmRleCBlMGMyOWM1ZTRiN2ZkOTFlZDNjYTA2NGI5YzkyM2U0OGFiYWM4ZmI4Li4xZTZmZmY1ZGEy
MjYyZDU0ZWY4YjA0NTJjMGJjZTljN2JiZDg2ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTQyMzIsNiArNDIzMiwzOCBAQCAtICh2
b2lkKV9zZXRIaXN0b3J5RGVsZWdhdGU6KGlkIDxXS0hpc3RvcnlEZWxlZ2F0ZVByaXZhdGU+KWhp
c3RvcnlEZWxlZ2F0ZQogICAgIF9uYXZpZ2F0aW9uU3RhdGUtPnNldEhpc3RvcnlEZWxlZ2F0ZSho
aXN0b3J5RGVsZWdhdGUpOwogfQogCistICh2b2lkKV91cGRhdGVNZWRpYVBsYXliYWNrQ29udHJv
bHNNYW5hZ2VyCit7CisjaWYgSEFWRShUT1VDSF9CQVIpICYmIEVOQUJMRShXRUJfUExBWUJBQ0tf
Q09OVFJPTFNfTUFOQUdFUikKKyAgICBfaW1wbC0+dXBkYXRlTWVkaWFQbGF5YmFja0NvbnRyb2xz
TWFuYWdlcigpOworI2VuZGlmCit9CisKKy0gKEJPT0wpX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1
cmUKK3sKKyNpZiBIQVZFKFRPVUNIX0JBUikKKyAgICByZXR1cm4gX2ltcGwtPmNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmUoKTsKKyNlbHNlCisgICAgcmV0dXJuIE5POworI2VuZGlmCit9CisKKy0g
KEJPT0wpX2lzUGljdHVyZUluUGljdHVyZUFjdGl2ZQoreworI2lmIEhBVkUoVE9VQ0hfQkFSKSAm
JiBFTkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCisgICAgcmV0dXJuIF9pbXBs
LT5pc1BpY3R1cmVJblBpY3R1cmVBY3RpdmUoKTsKKyNlbHNlCisgICAgcmV0dXJuIE5POworI2Vu
ZGlmCit9CisKKy0gKHZvaWQpX3RvZ2dsZVBpY3R1cmVJblBpY3R1cmUKK3sKKyNpZiBIQVZFKFRP
VUNIX0JBUikgJiYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQorICAgIF9p
bXBsLT50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKCk7CisjZW5kaWYKK30KKwogLSAoTlNVUkwgKilf
dW5yZWFjaGFibGVVUkwKIHsKICAgICByZXR1cm4gW05TVVJMIF93ZWJfVVJMV2l0aFdURlN0cmlu
ZzpfcGFnZS0+cGFnZUxvYWRTdGF0ZSgpLnVucmVhY2hhYmxlVVJMKCldOwpAQCAtNjQ5NSwxNSAr
NjUyNyw2IEBAIC0gKHZvaWQpX3NldERlZmVyc0xvYWRpbmdGb3JUZXN0aW5nOihCT09MKWRlZmVy
c0xvYWRpbmcKICAgICBfcGFnZS0+c2V0RGVmZXJzTG9hZGluZ0ZvclRlc3RpbmcoZGVmZXJzTG9h
ZGluZyk7CiB9CiAKLS0gKEJPT0wpX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5n
Ci17Ci0jaWYgSEFWRShUT1VDSF9CQVIpCi0gICAgcmV0dXJuIF9pbXBsLT5jYW5Ub2dnbGVQaWN0
dXJlSW5QaWN0dXJlRm9yVGVzdGluZygpOwotI2Vsc2UKLSAgICByZXR1cm4gTk87Ci0jZW5kaWYK
LX0KLQogLSAoX1dLSW5zcGVjdG9yICopX2luc3BlY3RvcgogewogICAgIGlmIChhdXRvKiBpbnNw
ZWN0b3IgPSBfcGFnZS0+aW5zcGVjdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBmNWU5OTk3MjI5OGU3Y2U1
OGQ2YjMxYTFhZjJjYTcyMGM2NWZmZTU2Li45YjgxNzIzMDgxN2E4MDNiYzg1OWFlODJmZTM0OTQ4
ZmFmOTQxZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTM1Niw2ICszNTYsMTEgQEAgdHlwZWRlZiBOU19PUFRJ
T05TKE5TVUludGVnZXIsIF9XS1JlY3RFZGdlKSB7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
ZXR0ZXI9X3NldE1lZGlhQ2FwdHVyZUVuYWJsZWQ6KSBCT09MIF9tZWRpYUNhcHR1cmVFbmFibGVk
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAorQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlOwor
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9pc1BpY3R1cmVJblBpY3R1cmVB
Y3RpdmU7CistICh2b2lkKV91cGRhdGVNZWRpYVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyOworLSAo
dm9pZClfdG9nZ2xlUGljdHVyZUluUGljdHVyZTsKKwogQGVuZAogCiAjaWYgIVRBUkdFVF9PU19J
UEhPTkUKQEAgLTQ3Miw4ICs0NzcsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwg
X1dLUmVjdEVkZ2UpIHsKIC0gKEJPT0wpX2NvbXBsZXRlQmFja1N3aXBlRm9yVGVzdGluZzsKIC0g
KHZvaWQpX3NldERlZmVyc0xvYWRpbmdGb3JUZXN0aW5nOihCT09MKWRlZmVyc0xvYWRpbmc7CiAK
LS0gKEJPT0wpX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nOwotCiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIF9XS0luc3BlY3RvciAqX2luc3BlY3RvciBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLRnJhbWVIYW5kbGUgKl9tYWluRnJhbWUgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IGQ5NjRkNTA5ZDkw
YmQzMDM4YWM5ZTU4YzM5ZmUyNzJiY2ExN2E4ZjMuLmIyYWJmM2Y3NTVmZjQ0ZmI1MmFmOTk1N2U1
MWQyNTFjYWZiNjcyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwuaApAQCAtNTQ1LDYgKzU0NSwxMCBAQCBwdWJsaWM6CiAgICAgTlNUb3VjaEJhciAqY3Vy
cmVudFRvdWNoQmFyKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50VG91Y2hCYXIuZ2V0KCk7IH0K
ICAgICBOU0NhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0gKmNhbmRpZGF0ZUxpc3RUb3VjaEJhckl0
ZW0oKSBjb25zdDsKICNpZiBFTkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCisg
ICAgYm9vbCBpc1BpY3R1cmVJblBpY3R1cmVBY3RpdmUoKTsKKyAgICB2b2lkIHRvZ2dsZVBpY3R1
cmVJblBpY3R1cmUoKTsKKyAgICB2b2lkIHVwZGF0ZU1lZGlhUGxheWJhY2tDb250cm9sc01hbmFn
ZXIoKTsKKwogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCiAg
ICAgQVZUb3VjaEJhclNjcnViYmVyICptZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3KCkgY29uc3Q7
CiAjZWxzZQpAQCAtNTYwLDcgKzU2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVRvdWNo
QmFyQW5kUmVmcmVzaFRleHRCYXJJZGVudGlmaWVycygpOwogICAgIHZvaWQgc2V0SXNDdXN0b21p
emluZ1RvdWNoQmFyKGJvb2wgaXNDdXN0b21pemluZ1RvdWNoQmFyKSB7IG1faXNDdXN0b21pemlu
Z1RvdWNoQmFyID0gaXNDdXN0b21pemluZ1RvdWNoQmFyOyB9OwogCi0gICAgYm9vbCBjYW5Ub2dn
bGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZygpOworICAgIGJvb2wgY2FuVG9nZ2xlUGljdHVy
ZUluUGljdHVyZSgpOwogI2VuZGlmIC8vIEhBVkUoVE9VQ0hfQkFSKQogCiAgICAgYm9vbCBiZWdp
bkJhY2tTd2lwZUZvclRlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwubW0KaW5kZXggMWFmNGFkZGYxZDdjNDdhNzEyODYyOWFlZTM2MThkZDk4MTc3
MGJiNC4uY2NlZDNiMjExNWYzYWVkZWZkN2MzZTRkNTc0NTJjMGQ4NWY4NjUxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTEyMTAsNiArMTIx
MCw0MCBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVUZXh0VG91Y2hCYXIoKQogICAgIH0KIH0K
IAorI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUikKKworYm9vbCBXZWJW
aWV3SW1wbDo6aXNQaWN0dXJlSW5QaWN0dXJlQWN0aXZlKCkKK3sKKyAgICBpZiAoIW1fcGxheWJh
Y2tDb250cm9sc01hbmFnZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBb
bV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBpc1BpY3R1cmVJblBpY3R1cmVBY3RpdmVdOworfQor
Cit2b2lkIFdlYlZpZXdJbXBsOjp0b2dnbGVQaWN0dXJlSW5QaWN0dXJlKCkKK3sKKyAgICBbbV9w
bGF5YmFja0NvbnRyb2xzTWFuYWdlciB0b2dnbGVQaWN0dXJlSW5QaWN0dXJlXTsKK30KKwordm9p
ZCBXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFQbGF5YmFja0NvbnRyb2xzTWFuYWdlcigpCit7Cisg
ICAgaWYgKCFtX3BhZ2UtPmhhc0FjdGl2ZVZpZGVvRm9yQ29udHJvbHNNYW5hZ2VyKCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmICghbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlcikgeworICAg
ICAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyID0gYWRvcHROUyhbW1dlYlBsYXliYWNrQ29u
dHJvbHNNYW5hZ2VyIGFsbG9jXSBpbml0XSk7CisgICAgICAgIFttX3BsYXliYWNrQ29udHJvbHNN
YW5hZ2VyIHNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjazptX3BhZ2UtPnByZWZlcmVu
Y2VzKCkuYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKV07CisgICAgICAgIFtt
X3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNldENhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmU6Tk9d
OworICAgIH0KKworICAgIGlmIChQbGF0Zm9ybVBsYXliYWNrU2Vzc2lvbkludGVyZmFjZSogaW50
ZXJmYWNlID0gbV9wYWdlLT5wbGF5YmFja1Nlc3Npb25NYW5hZ2VyKCktPmNvbnRyb2xzTWFuYWdl
ckludGVyZmFjZSgpKSB7CisgICAgICAgIFttX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNldFBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzppbnRlcmZhY2VdOworICAgICAgICBpbnRlcmZhY2Ut
PnVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyQ2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZSgp
OworICAgIH0KK30KKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFO
QUdFUikKKwogdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFUb3VjaEJhcigpCiB7CiAjaWYg
RU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKSAmJiBFTkFCTEUoVklERU9fUFJF
U0VOVEFUSU9OX01PREUpCkBAIC0xMjMyLDE2ICsxMjY2LDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6
dXBkYXRlTWVkaWFUb3VjaEJhcigpCiAjZW5kaWYgLy8gX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEzMDAKICAgICB9CiAKLSAgICBpZiAoIW1fcGxheWJhY2tDb250cm9sc01h
bmFnZXIpIHsKLSAgICAgICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciA9IGFkb3B0TlMoW1tX
ZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciBhbGxvY10gaW5pdF0pOwotICAgICAgICBbbV9wbGF5
YmFja0NvbnRyb2xzTWFuYWdlciBzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2s6bV9w
YWdlLT5wcmVmZXJlbmNlcygpLmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCld
OwotICAgICAgICBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBzZXRDYW5Ub2dnbGVQaWN0dXJl
SW5QaWN0dXJlOk5PXTsKLSAgICB9Ci0KLSAgICBpZiAoUGxhdGZvcm1QbGF5YmFja1Nlc3Npb25J
bnRlcmZhY2UqIGludGVyZmFjZSA9IG1fcGFnZS0+cGxheWJhY2tTZXNzaW9uTWFuYWdlcigpLT5j
b250cm9sc01hbmFnZXJJbnRlcmZhY2UoKSkgewotICAgICAgICBbbV9wbGF5YmFja0NvbnRyb2xz
TWFuYWdlciBzZXRQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6aW50ZXJmYWNlXTsKLSAgICAg
ICAgaW50ZXJmYWNlLT51cGRhdGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlckNhblRvZ2dsZVBpY3R1
cmVJblBpY3R1cmUoKTsKLSAgICB9CisgICAgdXBkYXRlTWVkaWFQbGF5YmFja0NvbnRyb2xzTWFu
YWdlcigpOwogCiAgICAgW21fbWVkaWFUb3VjaEJhclByb3ZpZGVyIHNldFBsYXliYWNrQ29udHJv
bHNDb250cm9sbGVyOm1fcGxheWJhY2tDb250cm9sc01hbmFnZXIuZ2V0KCldOwogICAgIFttX21l
ZGlhUGxheWJhY2tDb250cm9sc1ZpZXcgc2V0UGxheWJhY2tDb250cm9sc0NvbnRyb2xsZXI6bV9w
bGF5YmFja0NvbnRyb2xzTWFuYWdlci5nZXQoKV07CkBAIC0xMjc5LDcgKzEzMDQsNyBAQCB2b2lk
IFdlYlZpZXdJbXBsOjp1cGRhdGVNZWRpYVRvdWNoQmFyKCkKIAogI2lmIEhBVkUoVE9VQ0hfQkFS
KQogCi1ib29sIFdlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVzdGlu
ZygpCitib29sIFdlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCkKIHsKICNp
ZiBFTkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCiAgICAgcmV0dXJuIFttX3Bs
YXliYWNrQ29udHJvbHNNYW5hZ2VyIGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVdOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0
dXJlRGVsZWdhdGUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
UGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0bWwKaW5kZXggODJjZGM4MWE0MmRhZWY2MmM3MTNh
YTJhNzdjYmJiYWI3YzZkZDc0My4uODE4OGU0MzRlNzJmYWFkYWI1MDA3YTUxYTllZDM4MjdhYTU0
YmViNCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Q
aWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUuaHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCkBAIC0xOSw4ICsx
OSw4IEBACiAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICN2aWRlbyB7CiAgICAgICAgICAg
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwotICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBw
eDsKLSAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1MHB4OworICAgICAgICAgICAgICAgIHdpZHRo
OiA2NDBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4MHB4OwogICAgICAgICAgICAgfQog
ICAgICAgICA8L3N0eWxlPgogICAgIDwvaGVhZD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdh
dGUubW0KaW5kZXggYWNhYzQ4NGViNjRkNzllZjkyMWRlN2FmMGMzMTEyZDA4NTMzYjI2NC4uMTcy
MmM0M2VjODkwMTFjOTEyYzVhZGQ5NzUxZThkODcwNjY1YjQzZCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5Q
aWN0dXJlRGVsZWdhdGUubW0KQEAgLTExNCw3ICsxMTQsNyBAQCBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSSB7CiBURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKIHsKICAgICBSZXRh
aW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tX
S1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Ci0gICAgUmV0YWluUHRyPFdLV2Vi
Vmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
TlNNYWtlUmVjdCgwLCAwLCAxMDAsIDEwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdl
dCgpXSk7CisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA2NDAsIDQ4MCkgY29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgW2NvbmZpZ3VyYXRpb24gcHJl
ZmVyZW5jZXNdLl9mdWxsU2NyZWVuRW5hYmxlZCA9IFlFUzsKICAgICBbY29uZmlndXJhdGlvbiBw
cmVmZXJlbmNlc10uX2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOwog
ICAgIFJldGFpblB0cjxQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZT4gaGFuZGxlciA9IGFkb3B0
TlMoW1tQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwpAQCAtMTM5LDgg
KzEzOSwxNyBAQCBURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKICAgICBoYXNW
aWRlb0luUGljdHVyZUluUGljdHVyZVZhbHVlID0gZmFsc2U7CiAgICAgaGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmVDYWxsZWQgPSBmYWxzZTsKIAorI2lmIEhBVkUoVE9VQ0hfQkFSKQorICAgIHdo
aWxlICghW3dlYlZpZXcgX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVdKQorICAgICAgICBbW05T
UnVuTG9vcCBjdXJyZW50UnVuTG9vcF0gcnVuVW50aWxEYXRlOltOU0RhdGUgZGF0ZVdpdGhUaW1l
SW50ZXJ2YWxTaW5jZU5vdzowLjA1XV07CisKKyAgICBBU1NFUlRfRkFMU0UoW3dlYlZpZXcgX2lz
UGljdHVyZUluUGljdHVyZUFjdGl2ZV0pOworICAgIFt3ZWJWaWV3IF90b2dnbGVQaWN0dXJlSW5Q
aWN0dXJlXTsKKyNlbHNlCiAgICAgTlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50
V2l0aFR5cGU6TlNFdmVudFR5cGVMZWZ0TW91c2VEb3duIGxvY2F0aW9uOk5TTWFrZVBvaW50KDUs
IDUpIG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6MCB3aW5kb3dOdW1iZXI6d2luZG93LmdldCgp
LndpbmRvd051bWJlciBjb250ZXh0OjAgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjAgcHJlc3N1
cmU6MF07CiAgICAgW3dlYlZpZXcgbW91c2VEb3duOmV2ZW50XTsKKyNlbmRpZgorCiAgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCk7
CiAgICAgQVNTRVJUX1RSVUUoaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVWYWx1ZSk7CiAKQEAg
LTE0OCwxMSArMTU3LDE4IEBAIFRFU1QoUGljdHVyZUluUGljdHVyZSwgV0tVSURlbGVnYXRlKQog
ICAgIFtbTlNSdW5Mb29wIGN1cnJlbnRSdW5Mb29wXSBydW5VbnRpbERhdGU6W05TRGF0ZSBkYXRl
V2l0aFRpbWVJbnRlcnZhbFNpbmNlTm93OjFdXTsKIAogI2lmIEhBVkUoVE9VQ0hfQkFSKQotICAg
IEFTU0VSVF9UUlVFKFt3ZWJWaWV3IF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVzdGlu
Z10pOworICAgIEFTU0VSVF9UUlVFKFt3ZWJWaWV3IF9pc1BpY3R1cmVJblBpY3R1cmVBY3RpdmVd
KTsKKyAgICBBU1NFUlRfVFJVRShbd2ViVmlldyBfY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZV0p
OwogI2VuZGlmCiAKICAgICBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCA9IGZhbHNl
OworCisjaWYgSEFWRShUT1VDSF9CQVIpCisgICAgW3dlYlZpZXcgX3RvZ2dsZVBpY3R1cmVJblBp
Y3R1cmVdOworI2Vsc2UKICAgICBbd2ViVmlldyBtb3VzZURvd246ZXZlbnRdOworI2VuZGlmCisK
ICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJl
Q2FsbGVkKTsKICAgICBBU1NFUlRfRkFMU0UoaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVWYWx1
ZSk7CiB9CkBAIC0xNzgsNyArMTk0LDcgQEAgVEVTVChQaWN0dXJlSW5QaWN0dXJlLCBBdWRpb0Nh
bm5vdFRvZ2dsZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2Ny
aXB0OkAicGxheSgpIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogCiAgICAgW1tOU1J1bkxvb3Ag
Y3VycmVudFJ1bkxvb3BdIHJ1blVudGlsRGF0ZTpbTlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFs
U2luY2VOb3c6MV1dOwotICAgIEFTU0VSVF9GQUxTRShbd2ViVmlldyBfY2FuVG9nZ2xlUGljdHVy
ZUluUGljdHVyZUZvclRlc3RpbmddKTsKKyAgICBBU1NFUlRfRkFMU0UoW3dlYlZpZXcgX2NhblRv
Z2dsZVBpY3R1cmVJblBpY3R1cmVdKTsKIH0KIAogI2VuZGlmIC8vIEhBVkUoVE9VQ0hfQkFSKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349402</attachid>
            <date>2018-09-11 09:50:47 -0700</date>
            <delta_ts>2018-09-11 15:32:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189478-20180911095046.patch</filename>
            <type>text/plain</type>
            <size>14195</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkwNTc3ZDkzMTgzZmQ1Y2Uy
ZTI0OWJiY2IzNzVlZTM1OTEwMGIwZDIuLmZkNjg1ZjRlYWY4ZjRmNTdlNTU3NjA3MmI5MTYwN2Q1
YzJjMzc1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTgtMDktMTAgIE1hdHQgUmFq
Y2EgIDxtcmFqY2FAYXBwbGUuY29tPgorCisgICAgICAgIEV4cG9zZSBhIGZldyBXZWJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlci1kcml2ZW4gUElQIEFQSXMgdG8gY2xpZW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NDc4CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NDMxMjY1MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGV4cG9zZXMgQVBJcyBuZWNlc3NhcnkgdG8gdG9nZ2xl
IFBJUCBhbmQgcXVlcnkgaXRzIHN0YXR1cyBmcm9tIGNsaWVudHMgb2YgV0tXZWJWaWV3LgorICAg
ICAgICBUaGUgZXhpc3RpbmcgUElQIHRlc3QgaGFzIGJlZW4gdXBkYXRlZCB0byB1c2UgdGhlIG5l
dyBBUElzIGluc3RlYWQgb2Ygc2ltdWxhdGluZyBtb3VzZSBjbGlja3MuCisgICAgICAgIEkgYWxz
byBpbmNyZWFzZWQgdGhlIHNpemUgb2YgdGhlIHZpZGVvIGVsZW1lbnQgaW4gdGhlIHRlc3QgcGFn
ZSBzbyBpdCBnZXRzIHBpY2tlZCB1cCBieSB0aGUKKyAgICAgICAgbWFpbiBjb250ZW50IGhldXJp
c3RpY3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF91cGRhdGVNZWRpYVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyXSk6
IENyZWF0ZSBhIG1lZGlhIHBsYXliYWNrIGNvbnRyb2xzIG1hbmFnZXIgaWYgbmVjZXNzYXJ5Lgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX2lzUGljdHVyZUluUGljdHVyZUFjdGl2ZV0pOiBSZXR1cm4g
dHJ1ZSBpZiB0aGUgImFjdGl2ZSIgbWVkaWEgZWxlbWVudCBpcyBpbiBQSVAuCisgICAgICAgICgt
W1dLV2ViVmlldyBfdG9nZ2xlUGljdHVyZUluUGljdHVyZV0pOiBUb2dnbGUgUElQIG9uIHRoZSAi
YWN0aXZlIiBtZWRpYSBlbGVtZW50LgorICAgICAgICAoLVtXS1dlYlZpZXcgX2NhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmVdKTogUmVuYW1lZCBmcm9tLi4uCisgICAgICAgICgtW1dLV2ViVmlldyBf
Y2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjppc1BpY3R1cmVJblBpY3R1cmVBY3Rp
dmUpOiBSZXR1cm4gdHJ1ZSBpZiB0aGUgImFjdGl2ZSIgbWVkaWEgZWxlbWVudCBpcyBpbiBQSVAu
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjp0b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTog
VG9nZ2xlIFBJUCBvbiB0aGUgImFjdGl2ZSIgbWVkaWEgZWxlbWVudC4KKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OnVwZGF0ZU1lZGlhUGxheWJhY2tDb250cm9sc01hbmFnZXIpOiBMZXQg
Y2xpZW50cyBjcmVhdGUgYSBwbGF5YmFjaworICAgICAgICAgY29udHJvbHMgbWFuYWdlciBldmVu
IHdoZW4gdGhlcmUgaXMgbm8gVG91Y2ggQmFyIHByZXNlbnQuCisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjp1cGRhdGVNZWRpYVRvdWNoQmFyKTogRXh0cmFjdCBzb21lIGNvZGUgaW50byBh
IGhlbHBlciBtZXRob2QuCisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlKTogUmVuYW1lZCBmcm9tLi4uCisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZyk6CisKIDIwMTgtMDkt
MTAgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFy
cm93IGtleXMgZG8gbm90IGRpc3BhdGNoIERPTSBldmVudHMgdG8gbm9uLWVkaXRhYmxlIGVsZW1l
bnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViUGxheWJhY2tD
b250cm9sc01hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlci5oCmluZGV4IDZlZTQwNmQwY2FlNTc5MmY2MjExNjEzNzAyZjBiMGU2
OGUzNDk3YTIuLjZkMDQzMzA4MjhkNjU4MjU0NTJlMjhiZjQ4MDA4NTgwMDBhOTgxZjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJQbGF5YmFja0NvbnRy
b2xzTWFuYWdlci5oCkBAIC03NCw2ICs3NCw3IEBAIFdFQkNPUkVfRVhQT1JUCiBAcHJvcGVydHkg
Qk9PTCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2s7CiBAcHJvcGVydHkgKGdldHRlcj1p
c1BpY3R1cmVJblBpY3R1cmVBY3RpdmUpIEJPT0wgcGljdHVyZUluUGljdHVyZUFjdGl2ZTsKIEBw
cm9wZXJ0eSBCT09MIGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmU7CistICh2b2lkKXRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmU7CiAKIC0gKEFWVG91Y2hCYXJNZWRpYVNlbGVjdGlvbk9wdGlvbiAqKWN1
cnJlbnRBdWRpb1RvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb247CiAtICh2b2lkKXNldEN1cnJl
bnRBdWRpb1RvdWNoQmFyTWVkaWFTZWxlY3Rpb25PcHRpb246KEFWVG91Y2hCYXJNZWRpYVNlbGVj
dGlvbk9wdGlvbiAqKW9wdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci5tbQppbmRleCBiNmVhZGEzMTgwNjQw
MjUwMDYwMmJmYWIwZDMyOTU3ZGE2ZjJiNDUxLi4wOTUyNzEzOGU5NjYxYzE4MDBmZWNlNWY4NzZh
M2ZiMjE0Y2RhMGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
UGxheWJhY2tDb250cm9sc01hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1dlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLm1tCkBAIC0zMzgsMTMgKzMzOCwxMSBAQCAt
IChCT09MKWlzUGxheWluZwogICAgIHJldHVybiBOTzsKIH0KIAotI2lmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCiAtICh2b2lkKXRvZ2dsZVBpY3R1cmVJblBpY3R1
cmUKIHsKICAgICBpZiAoX3BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYyAmJiBfcGxheWJhY2tT
ZXNzaW9uSW50ZXJmYWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2RlbCgpKQogICAgICAgICBfcGxh
eWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLT5wbGF5YmFja1Nlc3Npb25Nb2RlbCgpLT50b2dnbGVQ
aWN0dXJlSW5QaWN0dXJlKCk7CiB9Ci0jZW5kaWYKIAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IHBvcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQppbmRleCBlMGMyOWM1ZTRiN2ZkOTFlZDNjYTA2NGI5YzkyM2U0OGFiYWM4ZmI4Li4xZTZmZmY1
ZGEyMjYyZDU0ZWY4YjA0NTJjMGJjZTljN2JiZDg2ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTQyMzIsNiArNDIzMiwzOCBAQCAt
ICh2b2lkKV9zZXRIaXN0b3J5RGVsZWdhdGU6KGlkIDxXS0hpc3RvcnlEZWxlZ2F0ZVByaXZhdGU+
KWhpc3RvcnlEZWxlZ2F0ZQogICAgIF9uYXZpZ2F0aW9uU3RhdGUtPnNldEhpc3RvcnlEZWxlZ2F0
ZShoaXN0b3J5RGVsZWdhdGUpOwogfQogCistICh2b2lkKV91cGRhdGVNZWRpYVBsYXliYWNrQ29u
dHJvbHNNYW5hZ2VyCit7CisjaWYgSEFWRShUT1VDSF9CQVIpICYmIEVOQUJMRShXRUJfUExBWUJB
Q0tfQ09OVFJPTFNfTUFOQUdFUikKKyAgICBfaW1wbC0+dXBkYXRlTWVkaWFQbGF5YmFja0NvbnRy
b2xzTWFuYWdlcigpOworI2VuZGlmCit9CisKKy0gKEJPT0wpX2NhblRvZ2dsZVBpY3R1cmVJblBp
Y3R1cmUKK3sKKyNpZiBIQVZFKFRPVUNIX0JBUikKKyAgICByZXR1cm4gX2ltcGwtPmNhblRvZ2ds
ZVBpY3R1cmVJblBpY3R1cmUoKTsKKyNlbHNlCisgICAgcmV0dXJuIE5POworI2VuZGlmCit9CisK
Ky0gKEJPT0wpX2lzUGljdHVyZUluUGljdHVyZUFjdGl2ZQoreworI2lmIEhBVkUoVE9VQ0hfQkFS
KSAmJiBFTkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCisgICAgcmV0dXJuIF9p
bXBsLT5pc1BpY3R1cmVJblBpY3R1cmVBY3RpdmUoKTsKKyNlbHNlCisgICAgcmV0dXJuIE5POwor
I2VuZGlmCit9CisKKy0gKHZvaWQpX3RvZ2dsZVBpY3R1cmVJblBpY3R1cmUKK3sKKyNpZiBIQVZF
KFRPVUNIX0JBUikgJiYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQorICAg
IF9pbXBsLT50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKCk7CisjZW5kaWYKK30KKwogLSAoTlNVUkwg
KilfdW5yZWFjaGFibGVVUkwKIHsKICAgICByZXR1cm4gW05TVVJMIF93ZWJfVVJMV2l0aFdURlN0
cmluZzpfcGFnZS0+cGFnZUxvYWRTdGF0ZSgpLnVucmVhY2hhYmxlVVJMKCldOwpAQCAtNjQ5NSwx
NSArNjUyNyw2IEBAIC0gKHZvaWQpX3NldERlZmVyc0xvYWRpbmdGb3JUZXN0aW5nOihCT09MKWRl
ZmVyc0xvYWRpbmcKICAgICBfcGFnZS0+c2V0RGVmZXJzTG9hZGluZ0ZvclRlc3RpbmcoZGVmZXJz
TG9hZGluZyk7CiB9CiAKLS0gKEJPT0wpX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0
aW5nCi17Ci0jaWYgSEFWRShUT1VDSF9CQVIpCi0gICAgcmV0dXJuIF9pbXBsLT5jYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZygpOwotI2Vsc2UKLSAgICByZXR1cm4gTk87Ci0jZW5k
aWYKLX0KLQogLSAoX1dLSW5zcGVjdG9yICopX2luc3BlY3RvcgogewogICAgIGlmIChhdXRvKiBp
bnNwZWN0b3IgPSBfcGFnZS0+aW5zcGVjdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBmNWU5OTk3MjI5OGU3
Y2U1OGQ2YjMxYTFhZjJjYTcyMGM2NWZmZTU2Li45YjgxNzIzMDgxN2E4MDNiYzg1OWFlODJmZTM0
OTQ4ZmFmOTQxZmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTM1Niw2ICszNTYsMTEgQEAgdHlwZWRlZiBOU19P
UFRJT05TKE5TVUludGVnZXIsIF9XS1JlY3RFZGdlKSB7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldE1lZGlhQ2FwdHVyZUVuYWJsZWQ6KSBCT09MIF9tZWRpYUNhcHR1cmVFbmFi
bGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAorQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9pc1BpY3R1cmVJblBpY3R1
cmVBY3RpdmU7CistICh2b2lkKV91cGRhdGVNZWRpYVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyOwor
LSAodm9pZClfdG9nZ2xlUGljdHVyZUluUGljdHVyZTsKKwogQGVuZAogCiAjaWYgIVRBUkdFVF9P
U19JUEhPTkUKQEAgLTQ3Miw4ICs0NzcsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdl
ciwgX1dLUmVjdEVkZ2UpIHsKIC0gKEJPT0wpX2NvbXBsZXRlQmFja1N3aXBlRm9yVGVzdGluZzsK
IC0gKHZvaWQpX3NldERlZmVyc0xvYWRpbmdGb3JUZXN0aW5nOihCT09MKWRlZmVyc0xvYWRpbmc7
CiAKLS0gKEJPT0wpX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nOwotCiBAcHJv
cGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIF9XS0luc3BlY3RvciAqX2luc3BlY3RvciBXS19B
UElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLRnJhbWVIYW5kbGUgKl9tYWluRnJhbWUgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IGQ5NjRkNTA5
ZDkwYmQzMDM4YWM5ZTU4YzM5ZmUyNzJiY2ExN2E4ZjMuLmIyYWJmM2Y3NTVmZjQ0ZmI1MmFmOTk1
N2U1MWQyNTFjYWZiNjcyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwuaApAQCAtNTQ1LDYgKzU0NSwxMCBAQCBwdWJsaWM6CiAgICAgTlNUb3VjaEJhciAq
Y3VycmVudFRvdWNoQmFyKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50VG91Y2hCYXIuZ2V0KCk7
IH0KICAgICBOU0NhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0gKmNhbmRpZGF0ZUxpc3RUb3VjaEJh
ckl0ZW0oKSBjb25zdDsKICNpZiBFTkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIp
CisgICAgYm9vbCBpc1BpY3R1cmVJblBpY3R1cmVBY3RpdmUoKTsKKyAgICB2b2lkIHRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmUoKTsKKyAgICB2b2lkIHVwZGF0ZU1lZGlhUGxheWJhY2tDb250cm9sc01h
bmFnZXIoKTsKKwogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAw
CiAgICAgQVZUb3VjaEJhclNjcnViYmVyICptZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3KCkgY29u
c3Q7CiAjZWxzZQpAQCAtNTYwLDcgKzU2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVRv
dWNoQmFyQW5kUmVmcmVzaFRleHRCYXJJZGVudGlmaWVycygpOwogICAgIHZvaWQgc2V0SXNDdXN0
b21pemluZ1RvdWNoQmFyKGJvb2wgaXNDdXN0b21pemluZ1RvdWNoQmFyKSB7IG1faXNDdXN0b21p
emluZ1RvdWNoQmFyID0gaXNDdXN0b21pemluZ1RvdWNoQmFyOyB9OwogCi0gICAgYm9vbCBjYW5U
b2dnbGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZygpOworICAgIGJvb2wgY2FuVG9nZ2xlUGlj
dHVyZUluUGljdHVyZSgpOwogI2VuZGlmIC8vIEhBVkUoVE9VQ0hfQkFSKQogCiAgICAgYm9vbCBi
ZWdpbkJhY2tTd2lwZUZvclRlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwubW0KaW5kZXggMWFmNGFkZGYxZDdjNDdhNzEyODYyOWFlZTM2MThkZDk4
MTc3MGJiNC4uY2NlZDNiMjExNWYzYWVkZWZkN2MzZTRkNTc0NTJjMGQ4NWY4NjUxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTEyMTAsNiAr
MTIxMCw0MCBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVUZXh0VG91Y2hCYXIoKQogICAgIH0K
IH0KIAorI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUikKKworYm9vbCBX
ZWJWaWV3SW1wbDo6aXNQaWN0dXJlSW5QaWN0dXJlQWN0aXZlKCkKK3sKKyAgICBpZiAoIW1fcGxh
eWJhY2tDb250cm9sc01hbmFnZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVy
biBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBpc1BpY3R1cmVJblBpY3R1cmVBY3RpdmVdOwor
fQorCit2b2lkIFdlYlZpZXdJbXBsOjp0b2dnbGVQaWN0dXJlSW5QaWN0dXJlKCkKK3sKKyAgICBb
bV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciB0b2dnbGVQaWN0dXJlSW5QaWN0dXJlXTsKK30KKwor
dm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFQbGF5YmFja0NvbnRyb2xzTWFuYWdlcigpCit7
CisgICAgaWYgKCFtX3BhZ2UtPmhhc0FjdGl2ZVZpZGVvRm9yQ29udHJvbHNNYW5hZ2VyKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlcikgewor
ICAgICAgICBtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyID0gYWRvcHROUyhbW1dlYlBsYXliYWNr
Q29udHJvbHNNYW5hZ2VyIGFsbG9jXSBpbml0XSk7CisgICAgICAgIFttX3BsYXliYWNrQ29udHJv
bHNNYW5hZ2VyIHNldEFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjazptX3BhZ2UtPnByZWZl
cmVuY2VzKCkuYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKV07CisgICAgICAg
IFttX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNldENhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmU6
Tk9dOworICAgIH0KKworICAgIGlmIChQbGF0Zm9ybVBsYXliYWNrU2Vzc2lvbkludGVyZmFjZSog
aW50ZXJmYWNlID0gbV9wYWdlLT5wbGF5YmFja1Nlc3Npb25NYW5hZ2VyKCktPmNvbnRyb2xzTWFu
YWdlckludGVyZmFjZSgpKSB7CisgICAgICAgIFttX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNl
dFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzppbnRlcmZhY2VdOworICAgICAgICBpbnRlcmZh
Y2UtPnVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyQ2FuVG9nZ2xlUGljdHVyZUluUGljdHVy
ZSgpOworICAgIH0KK30KKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNf
TUFOQUdFUikKKwogdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFUb3VjaEJhcigpCiB7CiAj
aWYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKSAmJiBFTkFCTEUoVklERU9f
UFJFU0VOVEFUSU9OX01PREUpCkBAIC0xMjMyLDE2ICsxMjY2LDcgQEAgdm9pZCBXZWJWaWV3SW1w
bDo6dXBkYXRlTWVkaWFUb3VjaEJhcigpCiAjZW5kaWYgLy8gX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDAKICAgICB9CiAKLSAgICBpZiAoIW1fcGxheWJhY2tDb250cm9s
c01hbmFnZXIpIHsKLSAgICAgICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciA9IGFkb3B0TlMo
W1tXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciBhbGxvY10gaW5pdF0pOwotICAgICAgICBbbV9w
bGF5YmFja0NvbnRyb2xzTWFuYWdlciBzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2s6
bV9wYWdlLT5wcmVmZXJlbmNlcygpLmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
KCldOwotICAgICAgICBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBzZXRDYW5Ub2dnbGVQaWN0
dXJlSW5QaWN0dXJlOk5PXTsKLSAgICB9Ci0KLSAgICBpZiAoUGxhdGZvcm1QbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2UqIGludGVyZmFjZSA9IG1fcGFnZS0+cGxheWJhY2tTZXNzaW9uTWFuYWdlcigp
LT5jb250cm9sc01hbmFnZXJJbnRlcmZhY2UoKSkgewotICAgICAgICBbbV9wbGF5YmFja0NvbnRy
b2xzTWFuYWdlciBzZXRQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6aW50ZXJmYWNlXTsKLSAg
ICAgICAgaW50ZXJmYWNlLT51cGRhdGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlckNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmUoKTsKLSAgICB9CisgICAgdXBkYXRlTWVkaWFQbGF5YmFja0NvbnRyb2xz
TWFuYWdlcigpOwogCiAgICAgW21fbWVkaWFUb3VjaEJhclByb3ZpZGVyIHNldFBsYXliYWNrQ29u
dHJvbHNDb250cm9sbGVyOm1fcGxheWJhY2tDb250cm9sc01hbmFnZXIuZ2V0KCldOwogICAgIFtt
X21lZGlhUGxheWJhY2tDb250cm9sc1ZpZXcgc2V0UGxheWJhY2tDb250cm9sc0NvbnRyb2xsZXI6
bV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlci5nZXQoKV07CkBAIC0xMjc5LDcgKzEzMDQsNyBAQCB2
b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVNZWRpYVRvdWNoQmFyKCkKIAogI2lmIEhBVkUoVE9VQ0hf
QkFSKQogCi1ib29sIFdlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVz
dGluZygpCitib29sIFdlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCkKIHsK
ICNpZiBFTkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCiAgICAgcmV0dXJuIFtt
X3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyIGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVdOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5Q
aWN0dXJlRGVsZWdhdGUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0bWwKaW5kZXggODJjZGM4MWE0MmRhZWY2MmM3
MTNhYTJhNzdjYmJiYWI3YzZkZDc0My4uODE4OGU0MzRlNzJmYWFkYWI1MDA3YTUxYTllZDM4Mjdh
YTU0YmViNCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUuaHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCkBAIC0xOSw4
ICsxOSw4IEBACiAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgICN2aWRlbyB7CiAgICAgICAg
ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwotICAgICAgICAgICAgICAgIHdpZHRoOiAx
NTBweDsKLSAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1MHB4OworICAgICAgICAgICAgICAgIHdp
ZHRoOiA2NDBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4MHB4OwogICAgICAgICAgICAg
fQogICAgICAgICA8L3N0eWxlPgogICAgIDwvaGVhZD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVs
ZWdhdGUubW0KaW5kZXggYWNhYzQ4NGViNjRkNzllZjkyMWRlN2FmMGMzMTEyZDA4NTMzYjI2NC4u
MTcyMmM0M2VjODkwMTFjOTEyYzVhZGQ5NzUxZThkODcwNjY1YjQzZCAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdh
dGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJl
SW5QaWN0dXJlRGVsZWdhdGUubW0KQEAgLTExNCw3ICsxMTQsNyBAQCBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSSB7CiBURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKIHsKICAgICBS
ZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Ci0gICAgUmV0YWluUHRyPFdL
V2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6TlNNYWtlUmVjdCgwLCAwLCAxMDAsIDEwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9u
LmdldCgpXSk7CisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tX
S1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA2NDAsIDQ4MCkg
Y29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgW2NvbmZpZ3VyYXRpb24g
cHJlZmVyZW5jZXNdLl9mdWxsU2NyZWVuRW5hYmxlZCA9IFlFUzsKICAgICBbY29uZmlndXJhdGlv
biBwcmVmZXJlbmNlc10uX2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVT
OwogICAgIFJldGFpblB0cjxQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZT4gaGFuZGxlciA9IGFk
b3B0TlMoW1tQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwpAQCAtMTM5
LDggKzEzOSwxNyBAQCBURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKICAgICBo
YXNWaWRlb0luUGljdHVyZUluUGljdHVyZVZhbHVlID0gZmFsc2U7CiAgICAgaGFzVmlkZW9JblBp
Y3R1cmVJblBpY3R1cmVDYWxsZWQgPSBmYWxzZTsKIAorI2lmIEhBVkUoVE9VQ0hfQkFSKQorICAg
IHdoaWxlICghW3dlYlZpZXcgX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVdKQorICAgICAgICBb
W05TUnVuTG9vcCBjdXJyZW50UnVuTG9vcF0gcnVuVW50aWxEYXRlOltOU0RhdGUgZGF0ZVdpdGhU
aW1lSW50ZXJ2YWxTaW5jZU5vdzowLjA1XV07CisKKyAgICBBU1NFUlRfRkFMU0UoW3dlYlZpZXcg
X2lzUGljdHVyZUluUGljdHVyZUFjdGl2ZV0pOworICAgIFt3ZWJWaWV3IF90b2dnbGVQaWN0dXJl
SW5QaWN0dXJlXTsKKyNlbHNlCiAgICAgTlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2
ZW50V2l0aFR5cGU6TlNFdmVudFR5cGVMZWZ0TW91c2VEb3duIGxvY2F0aW9uOk5TTWFrZVBvaW50
KDUsIDUpIG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6MCB3aW5kb3dOdW1iZXI6d2luZG93Lmdl
dCgpLndpbmRvd051bWJlciBjb250ZXh0OjAgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjAgcHJl
c3N1cmU6MF07CiAgICAgW3dlYlZpZXcgbW91c2VEb3duOmV2ZW50XTsKKyNlbmRpZgorCiAgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxl
ZCk7CiAgICAgQVNTRVJUX1RSVUUoaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVWYWx1ZSk7CiAK
QEAgLTE0OCwxMSArMTU3LDE4IEBAIFRFU1QoUGljdHVyZUluUGljdHVyZSwgV0tVSURlbGVnYXRl
KQogICAgIFtbTlNSdW5Mb29wIGN1cnJlbnRSdW5Mb29wXSBydW5VbnRpbERhdGU6W05TRGF0ZSBk
YXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNlTm93OjFdXTsKIAogI2lmIEhBVkUoVE9VQ0hfQkFSKQot
ICAgIEFTU0VSVF9UUlVFKFt3ZWJWaWV3IF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVz
dGluZ10pOworICAgIEFTU0VSVF9UUlVFKFt3ZWJWaWV3IF9pc1BpY3R1cmVJblBpY3R1cmVBY3Rp
dmVdKTsKKyAgICBBU1NFUlRfVFJVRShbd2ViVmlldyBfY2FuVG9nZ2xlUGljdHVyZUluUGljdHVy
ZV0pOwogI2VuZGlmCiAKICAgICBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCA9IGZh
bHNlOworCisjaWYgSEFWRShUT1VDSF9CQVIpCisgICAgW3dlYlZpZXcgX3RvZ2dsZVBpY3R1cmVJ
blBpY3R1cmVdOworI2Vsc2UKICAgICBbd2ViVmlldyBtb3VzZURvd246ZXZlbnRdOworI2VuZGlm
CisKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0
dXJlQ2FsbGVkKTsKICAgICBBU1NFUlRfRkFMU0UoaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVW
YWx1ZSk7CiB9CkBAIC0xNzgsNyArMTk0LDcgQEAgVEVTVChQaWN0dXJlSW5QaWN0dXJlLCBBdWRp
b0Nhbm5vdFRvZ2dsZVBpY3R1cmVJblBpY3R1cmUpCiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZh
U2NyaXB0OkAicGxheSgpIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogCiAgICAgW1tOU1J1bkxv
b3AgY3VycmVudFJ1bkxvb3BdIHJ1blVudGlsRGF0ZTpbTlNEYXRlIGRhdGVXaXRoVGltZUludGVy
dmFsU2luY2VOb3c6MV1dOwotICAgIEFTU0VSVF9GQUxTRShbd2ViVmlldyBfY2FuVG9nZ2xlUGlj
dHVyZUluUGljdHVyZUZvclRlc3RpbmddKTsKKyAgICBBU1NFUlRfRkFMU0UoW3dlYlZpZXcgX2Nh
blRvZ2dsZVBpY3R1cmVJblBpY3R1cmVdKTsKIH0KIAogI2VuZGlmIC8vIEhBVkUoVE9VQ0hfQkFS
KQo=
</data>
<flag name="review"
          id="366967"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>