<?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>214424</bug_id>
          
          <creation_ts>2020-07-16 14:25:43 -0700</creation_ts>
          <short_desc>iPad cursor is sometimes slow to change to I-beam (e.g. on reddit.com)</short_desc>
          <delta_ts>2020-07-16 16:33:27 -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>New Bugs</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1672245</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-16 14:25:43 -0700</bug_when>
    <thetext>iPad cursor is sometimes slow to change to I-beam (e.g. on reddit.com)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672247</commentid>
    <comment_count>1</comment_count>
      <attachid>404482</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-16 14:26:02 -0700</bug_when>
    <thetext>Created attachment 404482
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672248</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-16 14:26:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/59503572&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672252</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-16 14:28:31 -0700</bug_when>
    <thetext>One thing to note that I forgot to include in the changelog: it&apos;s OK that we don&apos;t request nodeAtPositionHasDoubleClickHandler be filled in for cursor updates, because trackpad touches will not be allowed to trigger the only gesture recognizer that reads from this bit, AND, the code that does read from it uses a isValid check, which will correctly return NO if the position information was requested without that data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672257</commentid>
    <comment_count>4</comment_count>
      <attachid>404482</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-16 14:39:15 -0700</bug_when>
    <thetext>Comment on attachment 404482
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:8675
&gt; +            auto deferredRequest = WTFMove(_deferredCursorInteractionRequest);

Nit - I _think_ we prefer std::exchange for cases like this, where the intention is to reset the thing being moved.

&gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2950
&gt; +        info.nodeAtPositionHasDoubleClickHandler = m_page-&gt;mainFrame().nodeRespondingToDoubleClickEvent(request.point, adjustedPoint);

I wonder if `nodeAtPositionHasDoubleClickHandler` should be an Optional&lt;bool&gt; (or maybe a Yes/No/🤷🏻‍♂️ enum class).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672263</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-16 15:10:00 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #4)
&gt; Comment on attachment 404482 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=404482&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:8675
&gt; &gt; +            auto deferredRequest = WTFMove(_deferredCursorInteractionRequest);
&gt; 
&gt; Nit - I _think_ we prefer std::exchange for cases like this, where the
&gt; intention is to reset the thing being moved.

Right! I never folded that adjustment into my brain.

&gt; &gt; Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:2950
&gt; &gt; +        info.nodeAtPositionHasDoubleClickHandler = m_page-&gt;mainFrame().nodeRespondingToDoubleClickEvent(request.point, adjustedPoint);
&gt; 
&gt; I wonder if `nodeAtPositionHasDoubleClickHandler` should be an
&gt; Optional&lt;bool&gt; (or maybe a Yes/No/🤷🏻‍♂️ enum class).

I *almost* Optional&lt;&gt;&apos;d it, but oddly that is not how the other optional things work (instead, they depend on people doing isValid checks). But maybe it&apos;s best to just do it, to avoid confusion later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672274</commentid>
    <comment_count>6</comment_count>
      <attachid>404489</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-07-16 15:38:08 -0700</bug_when>
    <thetext>Created attachment 404489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672293</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-16 16:33:26 -0700</bug_when>
    <thetext>Committed r264484: &lt;https://trac.webkit.org/changeset/264484&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404489.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404482</attachid>
            <date>2020-07-16 14:26:02 -0700</date>
            <delta_ts>2020-07-16 15:38:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214424-20200716142602.patch</filename>
            <type>text/plain</type>
            <size>14631</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc4MGJlZDM1YTYyNWU4ZmUw
MmJhNWU4OGU0NzM4NjZkZmJjYWMyNjIuLmI3Njc4MDI0N2YyN2QwMTZkYWI4NzZiYWYxOTJlN2Q2
NDA1Njk0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjAtMDctMTYgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgaVBhZCBjdXJzb3IgaXMg
c29tZXRpbWVzIHNsb3cgdG8gY2hhbmdlIHRvIEktYmVhbSAoZS5nLiBvbiByZWRkaXQuY29tKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDI0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTUwMzU3Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGp1c3QgYW4gb3B0aW1pemF0
aW9uLgorCisgICAgICAgICogU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVz
dC5oOgorICAgICAgICAqIFNoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3Qu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdDo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVl
c3Q6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1
ZXN0Ojppc1ZhbGlkRm9yUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OkludGVyYWN0aW9uSW5m
b3JtYXRpb25SZXF1ZXN0Ojppc0FwcHJveGltYXRlbHlWYWxpZEZvclJlcXVlc3QpOgorICAgICAg
ICAnY29uc3QnLWlmeSB0aGVzZSBnZXR0ZXJzCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBvc2l0aW9u
SW5mb3JtYXRpb24pOgorICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIGRpc2FibGUgY29tcHV0
YXRpb24gb2YgdGhlICdub2RlQXRQb3NpdGlvbkhhc0RvdWJsZUNsaWNrSGFuZGxlcicgcHJvcGVy
dHksCisgICAgICAgIGJlY2F1c2UgaXQgY2FuIGJlIHF1aXRlIGV4cGVuc2l2ZSBmb3Igc29tZSB3
ZWIgY29udGVudC4gV2Ugd2lsbCBzdGlsbCBjb21wdXRlIGl0IGJ5IGRlZmF1bHQsCisgICAgICAg
IGJ1dCBoaWdoLXJhdGUgaW50ZXJhY3Rpb24gaW5mb3JtYXRpb24gcmVxdWVzdHMgKGxpa2UgdGhv
c2UgZm9yIHRoZSBjdXJzb3IpIGNhbiBvcHRpb25hbGx5IGRpc2FibGUgaXQuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IGNsZWFuVXBJbnRlcmFjdGlvbl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IHJlcXVlc3RBc3luY2hyb25vdXNQb3NpdGlvbkluZm9ybWF0aW9uVXBkYXRlOl0pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9oYXNWYWxpZE91dHN0YW5kaW5nUG9zaXRpb25JbmZvcm1hdGlv
blJlcXVlc3Q6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3Bvc2l0aW9uSW5mb3JtYXRp
b25EaWRDaGFuZ2U6XSk6CisgICAgICAgIFdoZW4gcG9zaXRpb24gaW5mb3JtYXRpb24gdXBkYXRl
cyBjb21lIGluLCBvbmx5IGNsZWFyIHRoZSBvdXRzdGFuZGluZyByZXF1ZXN0CisgICAgICAgIGlm
IHRoZSByZXBseSBpcyB2YWxpZCBmb3IgdGhhdCByZXF1ZXN0OyBvdGhlcndpc2UsIHRoZSBvdXRz
dGFuZGluZyByZXF1ZXN0IGlzCisgICAgICAgIGRlZmluaXRlbHkgc3RpbGwgb3V0c3RhbmRpbmcs
IGFuZCB3ZSd2ZSBwcm9iYWJseSBqdXN0IHNlbnQgbXVsdGlwbGUgcmVxdWVzdHMuCisgICAgICAg
IEEgbW9yZSBmb3JtYWwgbWVjaGFuaXNtIHRoYXQgYWN0dWFsbHkga2VlcHMgdHJhY2sgb2YgYWxs
IHJlcXVlc3RzIG1pZ2h0IGJlCisgICAgICAgIG1vcmUgYXBwcm9wcmlhdGUgaGVyZSBpbiB0aGUg
ZnV0dXJlLCBidXQgdGhpcyBoZWxwcyB1cyBhdm9pZCByZS1yZXF1ZXN0aW5nCisgICAgICAgIHBv
c2l0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc2FtZSBwb2ludCByZXBlYXRlZGx5LCBqdXN0IGJl
Y2F1c2Ugb2xkIChzdGFsZSkKKyAgICAgICAgdXBkYXRlcyBhcmUgY29taW5nIGluLgorCisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgX2N1cnNvckludGVyYWN0aW9uOnJlZ2lvbkZvckxvY2F0aW9u
OmRlZmF1bHRSZWdpb246Y29tcGxldGlvbjpdKToKKyAgICAgICAgSW5zdGVhZCBvZiByZXF1ZXN0
aW5nIGFuIGludGVyYWN0aW9uIGluZm9ybWF0aW9uIHVwZGF0ZSBmb3IgZXZlcnkgY3Vyc29yIHVw
ZGF0ZSwKKyAgICAgICAgYW5kIHRoZW4gZHJvcHBpbmcgdGhlbSBvbiB0aGUgZmxvb3Igd2hlbiB0
aGV5IHJldHVybiwgaWYgYSBuZXcgcmVxdWVzdCB3YXMgc2VudCwKKyAgICAgICAgc2ltcGx5IGNv
YWxlc2NlIGFsbCByZXF1ZXN0cyB0aGF0IGNvbWUgaW4gd2hpbGUgd2UgaGF2ZSBhbiBvdXRzdGFu
ZGluZyBvbmUuCisgICAgICAgIFRoaXMgYXZvaWRzIGEgZ3JlYXQgZGVhbCBvZiB1bm5lY2Vzc2Fy
eSAoYW5kIGlnbm9yZWQpIHdvcmsgd2hlbiB0aGUgV2ViIENvbnRlbnQKKyAgICAgICAgcHJvY2Vz
cyBpcyByZXNwb25kaW5nIHRvIHJlcXVlc3RzIGF0IGEgc2xvd2VyIHJhdGUgdGhhbiB0aGUgY3Vy
c29yIGludGVyYWN0aW9uCisgICAgICAgIGlzIHRyeWluZyB0byByZXRyaWV2ZSBuZXcgcmVnaW9u
cy4KKwogMjAyMC0wNy0xMyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4K
IAogICAgICAgICBJbXBvc3NpYmxlIHRvIHBhdXNlIHBsYXliYWNrIG9mIE1lZGlhU3RyZWFtIHZp
ZGVvIHRyYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rp
b25JbmZvcm1hdGlvblJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVy
YWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0LmNwcAppbmRleCBkOWEzODBiNDI0YzAzZDg2NjkwNDM2
OWQ3NjllNzdmZGRkMmNiODllLi40ZGYwMmUxNzIzMWI2YmRhOGM2MTVlZWU2MmY2NjVlYzY0MDZi
YjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZv
cm1hdGlvblJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9JbnRlcmFj
dGlvbkluZm9ybWF0aW9uUmVxdWVzdC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAgdm9pZCBJbnRlcmFj
dGlvbkluZm9ybWF0aW9uUmVxdWVzdDo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29u
c3QKICAgICBlbmNvZGVyIDw8IGluY2x1ZGVTbmFwc2hvdDsKICAgICBlbmNvZGVyIDw8IGluY2x1
ZGVMaW5rSW5kaWNhdG9yOwogICAgIGVuY29kZXIgPDwgaW5jbHVkZUNhcmV0Q29udGV4dDsKKyAg
ICBlbmNvZGVyIDw8IGluY2x1ZGVIYXNEb3VibGVDbGlja0hhbmRsZXI7CiAgICAgZW5jb2RlciA8
PCBsaW5rSW5kaWNhdG9yU2hvdWxkSGF2ZUxlZ2FjeU1hcmdpbnM7CiB9CiAKQEAgLTU2LDEzICs1
NywxNiBAQCBib29sIEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0OjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyLCBJbnRlcmFjdGlvbkluZgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LmluY2x1ZGVDYXJldENvbnRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pbmNsdWRlSGFzRG91YmxlQ2xpY2tIYW5kbGVy
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQubGlua0luZGljYXRvclNob3VsZEhhdmVMZWdhY3lNYXJnaW5zKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgSW50ZXJhY3Rpb25JbmZvcm1h
dGlvblJlcXVlc3Q6OmlzVmFsaWRGb3JSZXF1ZXN0KGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRp
b25SZXF1ZXN0JiBvdGhlciwgaW50IHJhZGl1cykKK2Jvb2wgSW50ZXJhY3Rpb25JbmZvcm1hdGlv
blJlcXVlc3Q6OmlzVmFsaWRGb3JSZXF1ZXN0KGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25S
ZXF1ZXN0JiBvdGhlciwgaW50IHJhZGl1cykgY29uc3QKIHsKICAgICBpZiAob3RoZXIuaW5jbHVk
ZVNuYXBzaG90ICYmICFpbmNsdWRlU25hcHNob3QpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAg
LTczLDEzICs3NywxNiBAQCBib29sIEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0Ojppc1Zh
bGlkRm9yUmVxdWVzdChjb25zdCBJbnRlcmFjdGlvbkluZm9ybWF0aQogICAgIGlmIChvdGhlci5p
bmNsdWRlQ2FyZXRDb250ZXh0ICYmICFpbmNsdWRlQ2FyZXRDb250ZXh0KQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKKyAgICBpZiAob3RoZXIuaW5jbHVkZUhhc0RvdWJsZUNsaWNrSGFuZGxlciAm
JiAhaW5jbHVkZUhhc0RvdWJsZUNsaWNrSGFuZGxlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CiAgICAgaWYgKG90aGVyLmxpbmtJbmRpY2F0b3JTaG91bGRIYXZlTGVnYWN5TWFyZ2lucyAhPSBs
aW5rSW5kaWNhdG9yU2hvdWxkSGF2ZUxlZ2FjeU1hcmdpbnMpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIHJldHVybiAob3RoZXIucG9pbnQgLSBwb2ludCkuZGlhZ29uYWxMZW5ndGhTcXVh
cmVkKCkgPD0gcmFkaXVzICogcmFkaXVzOwogfQogICAgIAotYm9vbCBJbnRlcmFjdGlvbkluZm9y
bWF0aW9uUmVxdWVzdDo6aXNBcHByb3hpbWF0ZWx5VmFsaWRGb3JSZXF1ZXN0KGNvbnN0IEludGVy
YWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0JiBvdGhlciwgaW50IHJhZGl1cykKK2Jvb2wgSW50ZXJh
Y3Rpb25JbmZvcm1hdGlvblJlcXVlc3Q6OmlzQXBwcm94aW1hdGVseVZhbGlkRm9yUmVxdWVzdChj
b25zdCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCYgb3RoZXIsIGludCByYWRpdXMpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIGlzVmFsaWRGb3JSZXF1ZXN0KG90aGVyLCByYWRpdXMpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRp
b25SZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1h
dGlvblJlcXVlc3QuaAppbmRleCA2ZTU3MjcwNTc0ODczNTFkZGY5M2ZlZTZjNTc0NjAwODRiNWMx
NDFlLi5hZjI1NTNkYzYxMDUzMjY4ZWEzMWEzZmVmNGY2ZjYxNmM2NmRlYmM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJl
cXVlc3QuaApAQCAtNDIsNiArNDIsNyBAQCBzdHJ1Y3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJl
cXVlc3QgewogICAgIGJvb2wgaW5jbHVkZVNuYXBzaG90IHsgZmFsc2UgfTsKICAgICBib29sIGlu
Y2x1ZGVMaW5rSW5kaWNhdG9yIHsgZmFsc2UgfTsKICAgICBib29sIGluY2x1ZGVDYXJldENvbnRl
eHQgeyBmYWxzZSB9OworICAgIGJvb2wgaW5jbHVkZUhhc0RvdWJsZUNsaWNrSGFuZGxlciB7IHRy
dWUgfTsKIAogICAgIGJvb2wgbGlua0luZGljYXRvclNob3VsZEhhdmVMZWdhY3lNYXJnaW5zIHsg
ZmFsc2UgfTsKIApAQCAtNTEsOCArNTIsOCBAQCBzdHJ1Y3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlv
blJlcXVlc3QgewogICAgICAgICB0aGlzLT5wb2ludCA9IHBvaW50OwogICAgIH0KIAotICAgIGJv
b2wgaXNWYWxpZEZvclJlcXVlc3QoY29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3Qm
LCBpbnQgcmFkaXVzID0gMCk7Ci0gICAgYm9vbCBpc0FwcHJveGltYXRlbHlWYWxpZEZvclJlcXVl
c3QoY29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QmLCBpbnQgcmFkaXVzKTsKKyAg
ICBib29sIGlzVmFsaWRGb3JSZXF1ZXN0KGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1
ZXN0JiwgaW50IHJhZGl1cyA9IDApIGNvbnN0OworICAgIGJvb2wgaXNBcHByb3hpbWF0ZWx5VmFs
aWRGb3JSZXF1ZXN0KGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0JiwgaW50IHJh
ZGl1cykgY29uc3Q7CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAg
ICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIElu
dGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggNjFjZjZmY2E0
MWQxNDlhZWJiZjYwMjI1MWJjNmYzNmVjMmI4MjI5My4uYTg4MWY3ODZkYTE1NDk3ZWQxNjVjYzkz
MTBlMzg5ODkyOWE4ZTg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtMTI0LDggKzEyNCw2IEBAIHR5cGVk
ZWYgdm9pZCAoXlVJV0tTZWxlY3Rpb25XaXRoRGlyZWN0aW9uQ29tcGxldGlvbkhhbmRsZXIpKEJP
T0wgc2VsZWN0aW9uRW5kSXNNCiB0eXBlZGVmIEJsb2NrUHRyPHZvaWQoV2ViS2l0OjpJbnRlcmFj
dGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbik+IEludGVyYWN0aW9uSW5mb3JtYXRpb25DYWxsYmFj
azsKIHR5cGVkZWYgc3RkOjpwYWlyPFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVl
c3QsIEludGVyYWN0aW9uSW5mb3JtYXRpb25DYWxsYmFjaz4gSW50ZXJhY3Rpb25JbmZvcm1hdGlv
blJlcXVlc3RBbmRDYWxsYmFjazsKIAotdHlwZWRlZiB1aW50NjRfdCBDdXJzb3JJbnRlcmFjdGlv
blJlcXVlc3RJRDsKLQogI2RlZmluZSBGT1JfRUFDSF9XS0NPTlRFTlRWSUVXX0FDVElPTihNKSBc
CiAgICAgTShfYWRkU2hvcnRjdXQpIFwKICAgICBNKF9kZWZpbmUpIFwKQEAgLTI0OSw3ICsyNDcs
OCBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRhdGEgewogCiAjaWYgSEFWRShVSV9DVVJTT1Jf
SU5URVJBQ1RJT04pCiAgICAgUmV0YWluUHRyPF9VSUN1cnNvckludGVyYWN0aW9uPiBfY3Vyc29y
SW50ZXJhY3Rpb247Ci0gICAgQ3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0SUQgX2N1cnJlbnRDdXJz
b3JJbnRlcmFjdGlvblJlcXVlc3RJRDsKKyAgICBCT09MIF9oYXNPdXRzdGFuZGluZ0N1cnNvcklu
dGVyYWN0aW9uUmVxdWVzdDsKKyAgICBPcHRpb25hbDxzdGQ6OnBhaXI8V2ViS2l0OjpJbnRlcmFj
dGlvbkluZm9ybWF0aW9uUmVxdWVzdCwgQmxvY2tQdHI8dm9pZChfVUlDdXJzb3JSZWdpb24gKik+
Pj4gX2RlZmVycmVkQ3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0OwogI2VuZGlmCiAKICAgICBSZXRh
aW5QdHI8VUlXS1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudD4gX3RleHRJbnRlcmFjdGlvbkFzc2lz
dGFudDsKQEAgLTMyNCw3ICszMjMsNyBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRhdGEgewog
CiAgICAgV2ViS2l0OjpXS1NlbGVjdGlvbkRyYXdpbmdJbmZvIF9sYXN0U2VsZWN0aW9uRHJhd2lu
Z0luZm87CiAKLSAgICBPcHRpb25hbDxXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1
ZXN0PiBfb3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdDsKKyAgICBPcHRpb25h
bDxXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0PiBfbGFzdE91dHN0YW5kaW5n
UG9zaXRpb25JbmZvcm1hdGlvblJlcXVlc3Q7CiAKICAgICB1aW50NjRfdCBfcG9zaXRpb25JbmZv
cm1hdGlvbkNhbGxiYWNrRGVwdGg7CiAgICAgVmVjdG9yPE9wdGlvbmFsPEludGVyYWN0aW9uSW5m
b3JtYXRpb25SZXF1ZXN0QW5kQ2FsbGJhY2s+PiBfcGVuZGluZ1Bvc2l0aW9uSW5mb3JtYXRpb25I
YW5kbGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDU4MTIwODY3ZTA1M2M4NzcxMDA2NzBmYmQxNTU0
YzI3YjdhYmZjZmUuLjM5MTdkOGQxYjJkOGFiMDFjNTJmYjQ1ZDI2NzE5ODU4NjBkYjM5NzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQpAQCAtOTE4LDcgKzkxOCw3IEBAIC0gKHZvaWQpY2xlYW5VcEludGVyYWN0
aW9uCiAgICAgW19mb3JtSW5wdXRTZXNzaW9uIGludmFsaWRhdGVdOwogICAgIF9mb3JtSW5wdXRT
ZXNzaW9uID0gbmlsOwogICAgIFtfaGlnaGxpZ2h0VmlldyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsK
LSAgICBfb3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdCA9IFdURjo6bnVsbG9w
dDsKKyAgICBfbGFzdE91dHN0YW5kaW5nUG9zaXRpb25JbmZvcm1hdGlvblJlcXVlc3QgPSBXVEY6
Om51bGxvcHQ7CiAgICAgX2lzV2FpdGluZ09uUG9zaXRpb25JbmZvcm1hdGlvbiA9IE5POwogCiAg
ICAgX2ZvY3VzUmVxdWlyZXNTdHJvbmdQYXNzd29yZEFzc2lzdGFuY2UgPSBOTzsKQEAgLTIyNjgs
NyArMjI2OCw3IEBAIC0gKHZvaWQpcmVxdWVzdEFzeW5jaHJvbm91c1Bvc2l0aW9uSW5mb3JtYXRp
b25VcGRhdGU6KFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hCiAgICAgaWYgKFtzZWxmIF9jdXJy
ZW50UG9zaXRpb25JbmZvcm1hdGlvbklzVmFsaWRGb3JSZXF1ZXN0OnJlcXVlc3RdKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBfb3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdCA9
IHJlcXVlc3Q7CisgICAgX2xhc3RPdXRzdGFuZGluZ1Bvc2l0aW9uSW5mb3JtYXRpb25SZXF1ZXN0
ID0gcmVxdWVzdDsKIAogICAgIF9wYWdlLT5yZXF1ZXN0UG9zaXRpb25JbmZvcm1hdGlvbihyZXF1
ZXN0KTsKIH0KQEAgLTIyODAsNyArMjI4MCw3IEBAIC0gKEJPT0wpX2N1cnJlbnRQb3NpdGlvbklu
Zm9ybWF0aW9uSXNWYWxpZEZvclJlcXVlc3Q6KGNvbnN0IFdlYktpdDo6SW50ZXJhY3Rpb25JCiAK
IC0gKEJPT0wpX2hhc1ZhbGlkT3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdDoo
Y29uc3QgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCYpcmVxdWVzdAogewot
ICAgIHJldHVybiBfb3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdCAmJiBfb3V0
c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdC0+aXNWYWxpZEZvclJlcXVlc3QocmVx
dWVzdCk7CisgICAgcmV0dXJuIF9sYXN0T3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVx
dWVzdCAmJiBfbGFzdE91dHN0YW5kaW5nUG9zaXRpb25JbmZvcm1hdGlvblJlcXVlc3QtPmlzVmFs
aWRGb3JSZXF1ZXN0KHJlcXVlc3QpOwogfQogCiAtIChCT09MKV9jdXJyZW50UG9zaXRpb25JbmZv
cm1hdGlvbklzQXBwcm94aW1hdGVseVZhbGlkRm9yUmVxdWVzdDooY29uc3QgV2ViS2l0OjpJbnRl
cmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCYpcmVxdWVzdCByYWRpdXNGb3JBcHByb3hpbWF0aW9u
OihpbnQpcmFkaXVzCkBAIC0yODgyLDcgKzI4ODIsOSBAQCAtICh2b2lkKWNsZWFyU2VsZWN0aW9u
CiAKIC0gKHZvaWQpX3Bvc2l0aW9uSW5mb3JtYXRpb25EaWRDaGFuZ2U6KGNvbnN0IFdlYktpdDo6
SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24mKWluZm8KIHsKLSAgICBfb3V0c3RhbmRp
bmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdCA9IFdURjo6bnVsbG9wdDsKKyAgICBpZiAoX2xh
c3RPdXRzdGFuZGluZ1Bvc2l0aW9uSW5mb3JtYXRpb25SZXF1ZXN0ICYmIGluZm8ucmVxdWVzdC5p
c1ZhbGlkRm9yUmVxdWVzdCgqX2xhc3RPdXRzdGFuZGluZ1Bvc2l0aW9uSW5mb3JtYXRpb25SZXF1
ZXN0KSkKKyAgICAgICAgX2xhc3RPdXRzdGFuZGluZ1Bvc2l0aW9uSW5mb3JtYXRpb25SZXF1ZXN0
ID0gV1RGOjpudWxsb3B0OworCiAgICAgX2lzV2FpdGluZ09uUG9zaXRpb25JbmZvcm1hdGlvbiA9
IE5POwogCiAgICAgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiBuZXdJ
bmZvID0gaW5mbzsKQEAgLTg2MzcsMTEgKzg2MzksMTAgQEAgLSAodm9pZClzZXRVcEN1cnNvcklu
dGVyYWN0aW9uCiAKIC0gKHZvaWQpX2N1cnNvckludGVyYWN0aW9uOihfVUlDdXJzb3JJbnRlcmFj
dGlvbiAqKWludGVyYWN0aW9uIHJlZ2lvbkZvckxvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uIGRl
ZmF1bHRSZWdpb246KF9VSUN1cnNvclJlZ2lvbiAqKWRlZmF1bHRSZWdpb24gY29tcGxldGlvbjoo
dm9pZCheKShfVUlDdXJzb3JSZWdpb24gKnJlZ2lvbikpY29tcGxldGlvbgogewotICAgIHVpbnQ2
NF90IGludGVyYWN0aW9uUmVxdWVzdElEID0gKytfY3VycmVudEN1cnNvckludGVyYWN0aW9uUmVx
dWVzdElEOwotCiAgICAgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCBpbnRl
cmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdDsKICAgICBpbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVx
dWVzdC5wb2ludCA9IFdlYkNvcmU6OnJvdW5kZWRJbnRQb2ludChsb2NhdGlvbik7CiAgICAgaW50
ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QuaW5jbHVkZUNhcmV0Q29udGV4dCA9IHRydWU7Cisg
ICAgaW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QuaW5jbHVkZUhhc0RvdWJsZUNsaWNrSGFu
ZGxlciA9IGZhbHNlOwogCiAgICAgQk9PTCBkaWRTeW5jaHJvbm91c2x5UmVwbHlXaXRoQXBwcm94
aW1hdGlvbiA9IGZhbHNlOwogICAgIGlmICghW3NlbGYgX2N1cnJlbnRQb3NpdGlvbkluZm9ybWF0
aW9uSXNWYWxpZEZvclJlcXVlc3Q6aW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3RdICYmIHNl
bGYud2ViVmlldy5fZWRpdGFibGUgJiYgIV9wb3NpdGlvbkluZm9ybWF0aW9uLnNob3VsZE5vdFVz
ZUlCZWFtSW5FZGl0YWJsZUNvbnRlbnQpIHsKQEAgLTg2NDksOSArODY1MCwxOSBAQCAtICh2b2lk
KV9jdXJzb3JJbnRlcmFjdGlvbjooX1VJQ3Vyc29ySW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBy
ZWdpb25Gb3JMb2NhdGlvbgogICAgICAgICBjb21wbGV0aW9uKFtfVUlDdXJzb3JSZWdpb24gcmVn
aW9uV2l0aElkZW50aWZpZXI6ZWRpdGFibGVDdXJzb3JSZWdpb25JZGVudGlmaWVyIHJlY3Q6c2Vs
Zi5ib3VuZHNdKTsKICAgICB9CiAKLSAgICBbc2VsZiBkb0FmdGVyUG9zaXRpb25JbmZvcm1hdGlv
blVwZGF0ZTpeKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24gaW50ZXJh
Y3Rpb25JbmZvcm1hdGlvbikgewotICAgICAgICBpZiAoaW50ZXJhY3Rpb25SZXF1ZXN0SUQgPCBf
Y3VycmVudEN1cnNvckludGVyYWN0aW9uUmVxdWVzdElEKQotICAgICAgICAgICAgcmV0dXJuOwor
ICAgIC8vIElmIHdlIGFscmVhZHkgaGF2ZSBhbiBvdXRzdGFuZGluZyBpbnRlcmFjdGlvbiBpbmZv
cm1hdGlvbiByZXF1ZXN0LCBkZWZlciB0aGlzIG9uZSB1bnRpbAorICAgIC8vIHdlIGhlYXIgYmFj
aywgc28gdGhhdCByZXF1ZXN0cyBkb24ndCBwaWxlIHVwIGlmIHRoZSBXZWIgQ29udGVudCBwcm9j
ZXNzIGlzIHNsb3cuCisgICAgaWYgKF9oYXNPdXRzdGFuZGluZ0N1cnNvckludGVyYWN0aW9uUmVx
dWVzdCkgeworICAgICAgICBfZGVmZXJyZWRDdXJzb3JJbnRlcmFjdGlvblJlcXVlc3QgPSBzdGQ6
Om1ha2VfcGFpcihpbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCwgbWFrZUJsb2NrUHRyKGNv
bXBsZXRpb24pKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIF9oYXNPdXRzdGFuZGlu
Z0N1cnNvckludGVyYWN0aW9uUmVxdWVzdCA9IFlFUzsKKworICAgIF9fYmxvY2sgQmxvY2tQdHI8
dm9pZChXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLCB2b2lkKF4pKF9V
SUN1cnNvclJlZ2lvbiAqKSk+IHJlcGx5SGFuZGxlcjsKKyAgICByZXBseUhhbmRsZXIgPSBeKFdl
YktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24gaW50ZXJhY3Rpb25JbmZvcm1h
dGlvbiwgdm9pZCheY29tcGxldGlvbikoX1VJQ3Vyc29yUmVnaW9uICpyZWdpb24pKSB7CisgICAg
ICAgIGlmICghX2RlZmVycmVkQ3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0KQorICAgICAgICAgICAg
X2hhc091dHN0YW5kaW5nQ3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0ID0gTk87CiAKICAgICAgICAg
aWYgKGRpZFN5bmNocm9ub3VzbHlSZXBseVdpdGhBcHByb3hpbWF0aW9uKSB7CiAgICAgICAgICAg
ICBbaW50ZXJhY3Rpb24gaW52YWxpZGF0ZV07CkBAIC04NjU5LDYgKzg2NzAsMTggQEAgLSAodm9p
ZClfY3Vyc29ySW50ZXJhY3Rpb246KF9VSUN1cnNvckludGVyYWN0aW9uICopaW50ZXJhY3Rpb24g
cmVnaW9uRm9yTG9jYXRpb24KICAgICAgICAgfQogCiAgICAgICAgIGNvbXBsZXRpb24oW3NlbGYg
Y3Vyc29yUmVnaW9uRm9yUG9zaXRpb25JbmZvcm1hdGlvbjppbnRlcmFjdGlvbkluZm9ybWF0aW9u
IHBvaW50OmxvY2F0aW9uXSk7CisKKyAgICAgICAgaWYgKF9kZWZlcnJlZEN1cnNvckludGVyYWN0
aW9uUmVxdWVzdCkgeworICAgICAgICAgICAgYXV0byBkZWZlcnJlZFJlcXVlc3QgPSBXVEZNb3Zl
KF9kZWZlcnJlZEN1cnNvckludGVyYWN0aW9uUmVxdWVzdCk7CisgICAgICAgICAgICBbc2VsZiBk
b0FmdGVyUG9zaXRpb25JbmZvcm1hdGlvblVwZGF0ZTpeKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZv
cm1hdGlvbkF0UG9zaXRpb24gaW50ZXJhY3Rpb25JbmZvcm1hdGlvbikgeworICAgICAgICAgICAg
ICAgIHJlcGx5SGFuZGxlcihpbnRlcmFjdGlvbkluZm9ybWF0aW9uLCBkZWZlcnJlZFJlcXVlc3Qt
PnNlY29uZC5nZXQoKSk7CisgICAgICAgICAgICB9IGZvclJlcXVlc3Q6ZGVmZXJyZWRSZXF1ZXN0
LT5maXJzdF07CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9OworCisgICAg
W3NlbGYgZG9BZnRlclBvc2l0aW9uSW5mb3JtYXRpb25VcGRhdGU6XihXZWJLaXQ6OkludGVyYWN0
aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIGludGVyYWN0aW9uSW5mb3JtYXRpb24pIHsKKyAgICAg
ICAgcmVwbHlIYW5kbGVyKGludGVyYWN0aW9uSW5mb3JtYXRpb24sIGNvbXBsZXRpb24pOwogICAg
IH0gZm9yUmVxdWVzdDppbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdF07CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5k
ZXggMjk2OGY3YzBjMjRhNWFkODgwNjVkZDg0ZGQ4ZTBjMWMzYmFlZDI5Ni4uZDljNmM0YTVjOGE2
ZjJiNDI1ZjEyMjA4ZTQzM2M1NGM5YjA4ZjRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTI5NDUsNyArMjk0NSw5IEBA
IEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIFdlYlBhZ2U6OnBvc2l0aW9uSW5mb3Jt
YXRpb24oY29uc3QgSW50ZXJhY3Rpb25JCiAgICAgYXV0byogbm9kZVJlc3BvbmRpbmdUb0NsaWNr
RXZlbnRzID0gbV9wYWdlLT5tYWluRnJhbWUoKS5ub2RlUmVzcG9uZGluZ1RvQ2xpY2tFdmVudHMo
cmVxdWVzdC5wb2ludCwgYWRqdXN0ZWRQb2ludCk7CiAKICAgICBpbmZvLmFkanVzdGVkUG9pbnRG
b3JOb2RlUmVzcG9uZGluZ1RvQ2xpY2tFdmVudHMgPSBhZGp1c3RlZFBvaW50OwotICAgIGluZm8u
bm9kZUF0UG9zaXRpb25IYXNEb3VibGVDbGlja0hhbmRsZXIgPSBtX3BhZ2UtPm1haW5GcmFtZSgp
Lm5vZGVSZXNwb25kaW5nVG9Eb3VibGVDbGlja0V2ZW50KHJlcXVlc3QucG9pbnQsIGFkanVzdGVk
UG9pbnQpOworCisgICAgaWYgKHJlcXVlc3QuaW5jbHVkZUhhc0RvdWJsZUNsaWNrSGFuZGxlcikK
KyAgICAgICAgaW5mby5ub2RlQXRQb3NpdGlvbkhhc0RvdWJsZUNsaWNrSGFuZGxlciA9IG1fcGFn
ZS0+bWFpbkZyYW1lKCkubm9kZVJlc3BvbmRpbmdUb0RvdWJsZUNsaWNrRXZlbnQocmVxdWVzdC5w
b2ludCwgYWRqdXN0ZWRQb2ludCk7CiAKICAgICBhdXRvJiBldmVudEhhbmRsZXIgPSBtX3BhZ2Ut
Pm1haW5GcmFtZSgpLmV2ZW50SGFuZGxlcigpOwogICAgIGNvbnN0ZXhwciBPcHRpb25TZXQ8SGl0
VGVzdFJlcXVlc3Q6OlJlcXVlc3RUeXBlPiBoaXRUeXBlIHsgSGl0VGVzdFJlcXVlc3Q6OlJlYWRP
bmx5LCBIaXRUZXN0UmVxdWVzdDo6QWxsb3dGcmFtZVNjcm9sbGJhcnMsIEhpdFRlc3RSZXF1ZXN0
OjpBbGxvd1Zpc2libGVDaGlsZEZyYW1lQ29udGVudE9ubHkgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404489</attachid>
            <date>2020-07-16 15:38:08 -0700</date>
            <delta_ts>2020-07-16 16:33:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214424-20200716153807.patch</filename>
            <type>text/plain</type>
            <size>16669</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc4MGJlZDM1YTYyNWU4ZmUw
MmJhNWU4OGU0NzM4NjZkZmJjYWMyNjIuLjQ5YTBiMDE0OTBjNjcxZGU4NDE5MmM1MmE3NGNjZmE0
ZDk0NzcxYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjAtMDctMTYgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgaVBhZCBjdXJzb3IgaXMg
c29tZXRpbWVzIHNsb3cgdG8gY2hhbmdlIHRvIEktYmVhbSAoZS5nLiBvbiByZWRkaXQuY29tKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDI0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTUwMzU3Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBX
ZW5zb24gSHNpZWguCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBqdXN0IGFuIG9wdGltaXphdGlv
bi4KKworICAgICAgICAqIFNoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3Qu
aDoKKyAgICAgICAgKiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3Q6OmVuY29k
ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0
OjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVz
dDo6aXNWYWxpZEZvclJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9y
bWF0aW9uUmVxdWVzdDo6aXNBcHByb3hpbWF0ZWx5VmFsaWRGb3JSZXF1ZXN0KToKKyAgICAgICAg
J2NvbnN0Jy1pZnkgdGhlc2UgZ2V0dGVycworCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwb3NpdGlvbklu
Zm9ybWF0aW9uKToKKyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBkaXNhYmxlIGNvbXB1dGF0
aW9uIG9mIHRoZSAnbm9kZUF0UG9zaXRpb25IYXNEb3VibGVDbGlja0hhbmRsZXInIHByb3BlcnR5
LAorICAgICAgICBiZWNhdXNlIGl0IGNhbiBiZSBxdWl0ZSBleHBlbnNpdmUgZm9yIHNvbWUgd2Vi
IGNvbnRlbnQuIFdlIHdpbGwgc3RpbGwgY29tcHV0ZSBpdCBieSBkZWZhdWx0LAorICAgICAgICBi
dXQgaGlnaC1yYXRlIGludGVyYWN0aW9uIGluZm9ybWF0aW9uIHJlcXVlc3RzIChsaWtlIHRob3Nl
IGZvciB0aGUgY3Vyc29yKSBjYW4gb3B0aW9uYWxseSBkaXNhYmxlIGl0LgorCisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBjbGVhblVwSW50ZXJhY3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBy
ZXF1ZXN0QXN5bmNocm9ub3VzUG9zaXRpb25JbmZvcm1hdGlvblVwZGF0ZTpdKToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBfaGFzVmFsaWRPdXRzdGFuZGluZ1Bvc2l0aW9uSW5mb3JtYXRpb25S
ZXF1ZXN0Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9wb3NpdGlvbkluZm9ybWF0aW9u
RGlkQ2hhbmdlOl0pOgorICAgICAgICBXaGVuIHBvc2l0aW9uIGluZm9ybWF0aW9uIHVwZGF0ZXMg
Y29tZSBpbiwgb25seSBjbGVhciB0aGUgb3V0c3RhbmRpbmcgcmVxdWVzdAorICAgICAgICBpZiB0
aGUgcmVwbHkgaXMgdmFsaWQgZm9yIHRoYXQgcmVxdWVzdDsgb3RoZXJ3aXNlLCB0aGUgb3V0c3Rh
bmRpbmcgcmVxdWVzdCBpcworICAgICAgICBkZWZpbml0ZWx5IHN0aWxsIG91dHN0YW5kaW5nLCBh
bmQgd2UndmUgcHJvYmFibHkganVzdCBzZW50IG11bHRpcGxlIHJlcXVlc3RzLgorICAgICAgICBB
IG1vcmUgZm9ybWFsIG1lY2hhbmlzbSB0aGF0IGFjdHVhbGx5IGtlZXBzIHRyYWNrIG9mIGFsbCBy
ZXF1ZXN0cyBtaWdodCBiZQorICAgICAgICBtb3JlIGFwcHJvcHJpYXRlIGhlcmUgaW4gdGhlIGZ1
dHVyZSwgYnV0IHRoaXMgaGVscHMgdXMgYXZvaWQgcmUtcmVxdWVzdGluZworICAgICAgICBwb3Np
dGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHNhbWUgcG9pbnQgcmVwZWF0ZWRseSwganVzdCBiZWNh
dXNlIG9sZCAoc3RhbGUpCisgICAgICAgIHVwZGF0ZXMgYXJlIGNvbWluZyBpbi4KKworICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9jdXJzb3JJbnRlcmFjdGlvbjpyZWdpb25Gb3JMb2NhdGlvbjpk
ZWZhdWx0UmVnaW9uOmNvbXBsZXRpb246XSk6CisgICAgICAgIEluc3RlYWQgb2YgcmVxdWVzdGlu
ZyBhbiBpbnRlcmFjdGlvbiBpbmZvcm1hdGlvbiB1cGRhdGUgZm9yIGV2ZXJ5IGN1cnNvciB1cGRh
dGUsCisgICAgICAgIGFuZCB0aGVuIGRyb3BwaW5nIHRoZW0gb24gdGhlIGZsb29yIHdoZW4gdGhl
eSByZXR1cm4sIGlmIGEgbmV3IHJlcXVlc3Qgd2FzIHNlbnQsCisgICAgICAgIHNpbXBseSBjb2Fs
ZXNjZSBhbGwgcmVxdWVzdHMgdGhhdCBjb21lIGluIHdoaWxlIHdlIGhhdmUgYW4gb3V0c3RhbmRp
bmcgb25lLgorICAgICAgICBUaGlzIGF2b2lkcyBhIGdyZWF0IGRlYWwgb2YgdW5uZWNlc3Nhcnkg
KGFuZCBpZ25vcmVkKSB3b3JrIHdoZW4gdGhlIFdlYiBDb250ZW50CisgICAgICAgIHByb2Nlc3Mg
aXMgcmVzcG9uZGluZyB0byByZXF1ZXN0cyBhdCBhIHNsb3dlciByYXRlIHRoYW4gdGhlIGN1cnNv
ciBpbnRlcmFjdGlvbgorICAgICAgICBpcyB0cnlpbmcgdG8gcmV0cmlldmUgbmV3IHJlZ2lvbnMu
CisKIDIwMjAtMDctMTMgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgSW1wb3NzaWJsZSB0byBwYXVzZSBwbGF5YmFjayBvZiBNZWRpYVN0cmVhbSB2aWRl
byB0cmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0aW9u
SW5mb3JtYXRpb25BdFBvc2l0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJh
Y3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaAppbmRleCBlZmRjMjllYWEyZjhjMWIwNjc4Mzdj
ZDU3NzQ4MTdmNDQzMGQ2ZjBlLi41NDA3ZGY1MWZjYmNhZDI3ZmFjMjIyNzBlNWRkMjQ3YmYzMjMy
YjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZv
cm1hdGlvbkF0UG9zaXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJh
Y3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaApAQCAtNTIsNyArNTIsNyBAQCBzdHJ1Y3QgSW50
ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24gewogICAgIEludGVyYWN0aW9uSW5mb3JtYXRp
b25SZXF1ZXN0IHJlcXVlc3Q7CiAKICAgICBib29sIGNhbkJlVmFsaWQgeyB0cnVlIH07Ci0gICAg
Ym9vbCBub2RlQXRQb3NpdGlvbkhhc0RvdWJsZUNsaWNrSGFuZGxlciB7IGZhbHNlIH07CisgICAg
T3B0aW9uYWw8Ym9vbD4gbm9kZUF0UG9zaXRpb25IYXNEb3VibGVDbGlja0hhbmRsZXI7CiAgICAg
Ym9vbCBpc1NlbGVjdGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wgcHJlZmVyc0RyYWdnaW5nT3Zl
clRleHRTZWxlY3Rpb24geyBmYWxzZSB9OwogICAgIGJvb2wgaXNOZWFyTWFya2VkVGV4dCB7IGZh
bHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25J
bmZvcm1hdGlvblJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0
aW9uSW5mb3JtYXRpb25SZXF1ZXN0LmNwcAppbmRleCBkOWEzODBiNDI0YzAzZDg2NjkwNDM2OWQ3
NjllNzdmZGRkMmNiODllLi40ZGYwMmUxNzIzMWI2YmRhOGM2MTVlZWU2MmY2NjVlYzY0MDZiYjBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1h
dGlvblJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9JbnRlcmFjdGlv
bkluZm9ybWF0aW9uUmVxdWVzdC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAgdm9pZCBJbnRlcmFjdGlv
bkluZm9ybWF0aW9uUmVxdWVzdDo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QK
ICAgICBlbmNvZGVyIDw8IGluY2x1ZGVTbmFwc2hvdDsKICAgICBlbmNvZGVyIDw8IGluY2x1ZGVM
aW5rSW5kaWNhdG9yOwogICAgIGVuY29kZXIgPDwgaW5jbHVkZUNhcmV0Q29udGV4dDsKKyAgICBl
bmNvZGVyIDw8IGluY2x1ZGVIYXNEb3VibGVDbGlja0hhbmRsZXI7CiAgICAgZW5jb2RlciA8PCBs
aW5rSW5kaWNhdG9yU2hvdWxkSGF2ZUxlZ2FjeU1hcmdpbnM7CiB9CiAKQEAgLTU2LDEzICs1Nywx
NiBAQCBib29sIEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0OjpkZWNvZGUoSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyLCBJbnRlcmFjdGlvbkluZgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVz
dWx0LmluY2x1ZGVDYXJldENvbnRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pbmNsdWRlSGFzRG91YmxlQ2xpY2tIYW5kbGVyKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQu
bGlua0luZGljYXRvclNob3VsZEhhdmVMZWdhY3lNYXJnaW5zKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgSW50ZXJhY3Rpb25JbmZvcm1hdGlv
blJlcXVlc3Q6OmlzVmFsaWRGb3JSZXF1ZXN0KGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25S
ZXF1ZXN0JiBvdGhlciwgaW50IHJhZGl1cykKK2Jvb2wgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJl
cXVlc3Q6OmlzVmFsaWRGb3JSZXF1ZXN0KGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1
ZXN0JiBvdGhlciwgaW50IHJhZGl1cykgY29uc3QKIHsKICAgICBpZiAob3RoZXIuaW5jbHVkZVNu
YXBzaG90ICYmICFpbmNsdWRlU25hcHNob3QpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTcz
LDEzICs3NywxNiBAQCBib29sIEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0Ojppc1ZhbGlk
Rm9yUmVxdWVzdChjb25zdCBJbnRlcmFjdGlvbkluZm9ybWF0aQogICAgIGlmIChvdGhlci5pbmNs
dWRlQ2FyZXRDb250ZXh0ICYmICFpbmNsdWRlQ2FyZXRDb250ZXh0KQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKKyAgICBpZiAob3RoZXIuaW5jbHVkZUhhc0RvdWJsZUNsaWNrSGFuZGxlciAmJiAh
aW5jbHVkZUhhc0RvdWJsZUNsaWNrSGFuZGxlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgaWYgKG90aGVyLmxpbmtJbmRpY2F0b3JTaG91bGRIYXZlTGVnYWN5TWFyZ2lucyAhPSBsaW5r
SW5kaWNhdG9yU2hvdWxkSGF2ZUxlZ2FjeU1hcmdpbnMpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIHJldHVybiAob3RoZXIucG9pbnQgLSBwb2ludCkuZGlhZ29uYWxMZW5ndGhTcXVhcmVk
KCkgPD0gcmFkaXVzICogcmFkaXVzOwogfQogICAgIAotYm9vbCBJbnRlcmFjdGlvbkluZm9ybWF0
aW9uUmVxdWVzdDo6aXNBcHByb3hpbWF0ZWx5VmFsaWRGb3JSZXF1ZXN0KGNvbnN0IEludGVyYWN0
aW9uSW5mb3JtYXRpb25SZXF1ZXN0JiBvdGhlciwgaW50IHJhZGl1cykKK2Jvb2wgSW50ZXJhY3Rp
b25JbmZvcm1hdGlvblJlcXVlc3Q6OmlzQXBwcm94aW1hdGVseVZhbGlkRm9yUmVxdWVzdChjb25z
dCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCYgb3RoZXIsIGludCByYWRpdXMpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIGlzVmFsaWRGb3JSZXF1ZXN0KG90aGVyLCByYWRpdXMpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25S
ZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlv
blJlcXVlc3QuaAppbmRleCA2ZTU3MjcwNTc0ODczNTFkZGY5M2ZlZTZjNTc0NjAwODRiNWMxNDFl
Li5hZjI1NTNkYzYxMDUzMjY4ZWEzMWEzZmVmNGY2ZjYxNmM2NmRlYmM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVl
c3QuaApAQCAtNDIsNiArNDIsNyBAQCBzdHJ1Y3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVl
c3QgewogICAgIGJvb2wgaW5jbHVkZVNuYXBzaG90IHsgZmFsc2UgfTsKICAgICBib29sIGluY2x1
ZGVMaW5rSW5kaWNhdG9yIHsgZmFsc2UgfTsKICAgICBib29sIGluY2x1ZGVDYXJldENvbnRleHQg
eyBmYWxzZSB9OworICAgIGJvb2wgaW5jbHVkZUhhc0RvdWJsZUNsaWNrSGFuZGxlciB7IHRydWUg
fTsKIAogICAgIGJvb2wgbGlua0luZGljYXRvclNob3VsZEhhdmVMZWdhY3lNYXJnaW5zIHsgZmFs
c2UgfTsKIApAQCAtNTEsOCArNTIsOCBAQCBzdHJ1Y3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJl
cXVlc3QgewogICAgICAgICB0aGlzLT5wb2ludCA9IHBvaW50OwogICAgIH0KIAotICAgIGJvb2wg
aXNWYWxpZEZvclJlcXVlc3QoY29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QmLCBp
bnQgcmFkaXVzID0gMCk7Ci0gICAgYm9vbCBpc0FwcHJveGltYXRlbHlWYWxpZEZvclJlcXVlc3Qo
Y29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QmLCBpbnQgcmFkaXVzKTsKKyAgICBi
b29sIGlzVmFsaWRGb3JSZXF1ZXN0KGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0
JiwgaW50IHJhZGl1cyA9IDApIGNvbnN0OworICAgIGJvb2wgaXNBcHByb3hpbWF0ZWx5VmFsaWRG
b3JSZXF1ZXN0KGNvbnN0IEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0JiwgaW50IHJhZGl1
cykgY29uc3Q7CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAgICBz
dGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIEludGVy
YWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggNjFjZjZmY2E0MWQx
NDlhZWJiZjYwMjI1MWJjNmYzNmVjMmI4MjI5My4uYTg4MWY3ODZkYTE1NDk3ZWQxNjVjYzkzMTBl
Mzg5ODkyOWE4ZTg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtMTI0LDggKzEyNCw2IEBAIHR5cGVkZWYg
dm9pZCAoXlVJV0tTZWxlY3Rpb25XaXRoRGlyZWN0aW9uQ29tcGxldGlvbkhhbmRsZXIpKEJPT0wg
c2VsZWN0aW9uRW5kSXNNCiB0eXBlZGVmIEJsb2NrUHRyPHZvaWQoV2ViS2l0OjpJbnRlcmFjdGlv
bkluZm9ybWF0aW9uQXRQb3NpdGlvbik+IEludGVyYWN0aW9uSW5mb3JtYXRpb25DYWxsYmFjazsK
IHR5cGVkZWYgc3RkOjpwYWlyPFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3Qs
IEludGVyYWN0aW9uSW5mb3JtYXRpb25DYWxsYmFjaz4gSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJl
cXVlc3RBbmRDYWxsYmFjazsKIAotdHlwZWRlZiB1aW50NjRfdCBDdXJzb3JJbnRlcmFjdGlvblJl
cXVlc3RJRDsKLQogI2RlZmluZSBGT1JfRUFDSF9XS0NPTlRFTlRWSUVXX0FDVElPTihNKSBcCiAg
ICAgTShfYWRkU2hvcnRjdXQpIFwKICAgICBNKF9kZWZpbmUpIFwKQEAgLTI0OSw3ICsyNDcsOCBA
QCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRhdGEgewogCiAjaWYgSEFWRShVSV9DVVJTT1JfSU5U
RVJBQ1RJT04pCiAgICAgUmV0YWluUHRyPF9VSUN1cnNvckludGVyYWN0aW9uPiBfY3Vyc29ySW50
ZXJhY3Rpb247Ci0gICAgQ3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0SUQgX2N1cnJlbnRDdXJzb3JJ
bnRlcmFjdGlvblJlcXVlc3RJRDsKKyAgICBCT09MIF9oYXNPdXRzdGFuZGluZ0N1cnNvckludGVy
YWN0aW9uUmVxdWVzdDsKKyAgICBPcHRpb25hbDxzdGQ6OnBhaXI8V2ViS2l0OjpJbnRlcmFjdGlv
bkluZm9ybWF0aW9uUmVxdWVzdCwgQmxvY2tQdHI8dm9pZChfVUlDdXJzb3JSZWdpb24gKik+Pj4g
X2RlZmVycmVkQ3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0OwogI2VuZGlmCiAKICAgICBSZXRhaW5Q
dHI8VUlXS1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudD4gX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFu
dDsKQEAgLTMyNCw3ICszMjMsNyBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRhdGEgewogCiAg
ICAgV2ViS2l0OjpXS1NlbGVjdGlvbkRyYXdpbmdJbmZvIF9sYXN0U2VsZWN0aW9uRHJhd2luZ0lu
Zm87CiAKLSAgICBPcHRpb25hbDxXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0
PiBfb3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdDsKKyAgICBPcHRpb25hbDxX
ZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0PiBfbGFzdE91dHN0YW5kaW5nUG9z
aXRpb25JbmZvcm1hdGlvblJlcXVlc3Q7CiAKICAgICB1aW50NjRfdCBfcG9zaXRpb25JbmZvcm1h
dGlvbkNhbGxiYWNrRGVwdGg7CiAgICAgVmVjdG9yPE9wdGlvbmFsPEludGVyYWN0aW9uSW5mb3Jt
YXRpb25SZXF1ZXN0QW5kQ2FsbGJhY2s+PiBfcGVuZGluZ1Bvc2l0aW9uSW5mb3JtYXRpb25IYW5k
bGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDU4MTIwODY3ZTA1M2M4NzcxMDA2NzBmYmQxNTU0YzI3
YjdhYmZjZmUuLmM3YWI1NjcwZjZkNTA3ZmFiYmFkZTc0Yjc0NDc1ZTY5MDU2YjdkZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQpAQCAtOTE4LDcgKzkxOCw3IEBAIC0gKHZvaWQpY2xlYW5VcEludGVyYWN0aW9u
CiAgICAgW19mb3JtSW5wdXRTZXNzaW9uIGludmFsaWRhdGVdOwogICAgIF9mb3JtSW5wdXRTZXNz
aW9uID0gbmlsOwogICAgIFtfaGlnaGxpZ2h0VmlldyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKLSAg
ICBfb3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdCA9IFdURjo6bnVsbG9wdDsK
KyAgICBfbGFzdE91dHN0YW5kaW5nUG9zaXRpb25JbmZvcm1hdGlvblJlcXVlc3QgPSBXVEY6Om51
bGxvcHQ7CiAgICAgX2lzV2FpdGluZ09uUG9zaXRpb25JbmZvcm1hdGlvbiA9IE5POwogCiAgICAg
X2ZvY3VzUmVxdWlyZXNTdHJvbmdQYXNzd29yZEFzc2lzdGFuY2UgPSBOTzsKQEAgLTIyNjgsNyAr
MjI2OCw3IEBAIC0gKHZvaWQpcmVxdWVzdEFzeW5jaHJvbm91c1Bvc2l0aW9uSW5mb3JtYXRpb25V
cGRhdGU6KFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hCiAgICAgaWYgKFtzZWxmIF9jdXJyZW50
UG9zaXRpb25JbmZvcm1hdGlvbklzVmFsaWRGb3JSZXF1ZXN0OnJlcXVlc3RdKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBfb3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdCA9IHJl
cXVlc3Q7CisgICAgX2xhc3RPdXRzdGFuZGluZ1Bvc2l0aW9uSW5mb3JtYXRpb25SZXF1ZXN0ID0g
cmVxdWVzdDsKIAogICAgIF9wYWdlLT5yZXF1ZXN0UG9zaXRpb25JbmZvcm1hdGlvbihyZXF1ZXN0
KTsKIH0KQEAgLTIyODAsNyArMjI4MCw3IEBAIC0gKEJPT0wpX2N1cnJlbnRQb3NpdGlvbkluZm9y
bWF0aW9uSXNWYWxpZEZvclJlcXVlc3Q6KGNvbnN0IFdlYktpdDo6SW50ZXJhY3Rpb25JCiAKIC0g
KEJPT0wpX2hhc1ZhbGlkT3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdDooY29u
c3QgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCYpcmVxdWVzdAogewotICAg
IHJldHVybiBfb3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdCAmJiBfb3V0c3Rh
bmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVzdC0+aXNWYWxpZEZvclJlcXVlc3QocmVxdWVz
dCk7CisgICAgcmV0dXJuIF9sYXN0T3V0c3RhbmRpbmdQb3NpdGlvbkluZm9ybWF0aW9uUmVxdWVz
dCAmJiBfbGFzdE91dHN0YW5kaW5nUG9zaXRpb25JbmZvcm1hdGlvblJlcXVlc3QtPmlzVmFsaWRG
b3JSZXF1ZXN0KHJlcXVlc3QpOwogfQogCiAtIChCT09MKV9jdXJyZW50UG9zaXRpb25JbmZvcm1h
dGlvbklzQXBwcm94aW1hdGVseVZhbGlkRm9yUmVxdWVzdDooY29uc3QgV2ViS2l0OjpJbnRlcmFj
dGlvbkluZm9ybWF0aW9uUmVxdWVzdCYpcmVxdWVzdCByYWRpdXNGb3JBcHByb3hpbWF0aW9uOihp
bnQpcmFkaXVzCkBAIC0yNDAyLDExICsyNDAyLDExIEBAIC0gKEJPT0wpZ2VzdHVyZVJlY29nbml6
ZXJTaG91bGRCZWdpbjooVUlHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiAg
ICAgaWYgKGdlc3R1cmVSZWNvZ25pemVyID09IF9kb3VibGVUYXBHZXN0dXJlUmVjb2duaXplckZv
ckRvdWJsZUNsaWNrKSB7CiAgICAgICAgIC8vIERvIG5vdCBzdGFydCB0aGUgZG91YmxlLXRhcC1m
b3ItZG91YmxlLWNsaWNrIGdlc3R1cmUgcmVjb2duaXplciB1bmxlc3Mgd2UndmUgZ290IGEgZGJs
Y2xpY2sgZXZlbnQgaGFuZGxlciBvbiB0aGUgbm9kZSBhdCB0aGUgdGFwIGxvY2F0aW9uLgogICAg
ICAgICBXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0IHJlcXVlc3QoV2ViQ29y
ZTo6cm91bmRlZEludFBvaW50KHBvaW50KSk7Ci0gICAgICAgIGlmIChbc2VsZiBfY3VycmVudFBv
c2l0aW9uSW5mb3JtYXRpb25Jc0FwcHJveGltYXRlbHlWYWxpZEZvclJlcXVlc3Q6cmVxdWVzdCBy
YWRpdXNGb3JBcHByb3hpbWF0aW9uOltfZG91YmxlVGFwR2VzdHVyZVJlY29nbml6ZXJGb3JEb3Vi
bGVDbGljayBhbGxvd2FibGVNb3ZlbWVudF1dKQotICAgICAgICAgICAgcmV0dXJuIF9wb3NpdGlv
bkluZm9ybWF0aW9uLm5vZGVBdFBvc2l0aW9uSGFzRG91YmxlQ2xpY2tIYW5kbGVyOwotICAgICAg
ICBpZiAoIVtzZWxmIGVuc3VyZVBvc2l0aW9uSW5mb3JtYXRpb25Jc1VwVG9EYXRlOnJlcXVlc3Rd
KQotICAgICAgICAgICAgcmV0dXJuIE5POwotICAgICAgICByZXR1cm4gX3Bvc2l0aW9uSW5mb3Jt
YXRpb24ubm9kZUF0UG9zaXRpb25IYXNEb3VibGVDbGlja0hhbmRsZXI7CisgICAgICAgIGlmICgh
W3NlbGYgX2N1cnJlbnRQb3NpdGlvbkluZm9ybWF0aW9uSXNBcHByb3hpbWF0ZWx5VmFsaWRGb3JS
ZXF1ZXN0OnJlcXVlc3QgcmFkaXVzRm9yQXBwcm94aW1hdGlvbjpbX2RvdWJsZVRhcEdlc3R1cmVS
ZWNvZ25pemVyRm9yRG91YmxlQ2xpY2sgYWxsb3dhYmxlTW92ZW1lbnRdXSkgeworICAgICAgICAg
ICAgaWYgKCFbc2VsZiBlbnN1cmVQb3NpdGlvbkluZm9ybWF0aW9uSXNVcFRvRGF0ZTpyZXF1ZXN0
XSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTk87CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
IF9wb3NpdGlvbkluZm9ybWF0aW9uLm5vZGVBdFBvc2l0aW9uSGFzRG91YmxlQ2xpY2tIYW5kbGVy
LnZhbHVlT3IoZmFsc2UpOwogICAgIH0KIAogICAgIGlmIChnZXN0dXJlUmVjb2duaXplciA9PSBf
aGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIKQEAgLTI4ODIsNyArMjg4Miw5IEBA
IC0gKHZvaWQpY2xlYXJTZWxlY3Rpb24KIAogLSAodm9pZClfcG9zaXRpb25JbmZvcm1hdGlvbkRp
ZENoYW5nZTooY29uc3QgV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiYp
aW5mbwogewotICAgIF9vdXRzdGFuZGluZ1Bvc2l0aW9uSW5mb3JtYXRpb25SZXF1ZXN0ID0gV1RG
OjpudWxsb3B0OworICAgIGlmIChfbGFzdE91dHN0YW5kaW5nUG9zaXRpb25JbmZvcm1hdGlvblJl
cXVlc3QgJiYgaW5mby5yZXF1ZXN0LmlzVmFsaWRGb3JSZXF1ZXN0KCpfbGFzdE91dHN0YW5kaW5n
UG9zaXRpb25JbmZvcm1hdGlvblJlcXVlc3QpKQorICAgICAgICBfbGFzdE91dHN0YW5kaW5nUG9z
aXRpb25JbmZvcm1hdGlvblJlcXVlc3QgPSBXVEY6Om51bGxvcHQ7CisKICAgICBfaXNXYWl0aW5n
T25Qb3NpdGlvbkluZm9ybWF0aW9uID0gTk87CiAKICAgICBXZWJLaXQ6OkludGVyYWN0aW9uSW5m
b3JtYXRpb25BdFBvc2l0aW9uIG5ld0luZm8gPSBpbmZvOwpAQCAtODYzNywxMSArODYzOSwxMCBA
QCAtICh2b2lkKXNldFVwQ3Vyc29ySW50ZXJhY3Rpb24KIAogLSAodm9pZClfY3Vyc29ySW50ZXJh
Y3Rpb246KF9VSUN1cnNvckludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gcmVnaW9uRm9yTG9jYXRp
b246KENHUG9pbnQpbG9jYXRpb24gZGVmYXVsdFJlZ2lvbjooX1VJQ3Vyc29yUmVnaW9uICopZGVm
YXVsdFJlZ2lvbiBjb21wbGV0aW9uOih2b2lkKF4pKF9VSUN1cnNvclJlZ2lvbiAqcmVnaW9uKSlj
b21wbGV0aW9uCiB7Ci0gICAgdWludDY0X3QgaW50ZXJhY3Rpb25SZXF1ZXN0SUQgPSArK19jdXJy
ZW50Q3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0SUQ7Ci0KICAgICBXZWJLaXQ6OkludGVyYWN0aW9u
SW5mb3JtYXRpb25SZXF1ZXN0IGludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0OwogICAgIGlu
dGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0LnBvaW50ID0gV2ViQ29yZTo6cm91bmRlZEludFBv
aW50KGxvY2F0aW9uKTsKICAgICBpbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdC5pbmNsdWRl
Q2FyZXRDb250ZXh0ID0gdHJ1ZTsKKyAgICBpbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdC5p
bmNsdWRlSGFzRG91YmxlQ2xpY2tIYW5kbGVyID0gZmFsc2U7CiAKICAgICBCT09MIGRpZFN5bmNo
cm9ub3VzbHlSZXBseVdpdGhBcHByb3hpbWF0aW9uID0gZmFsc2U7CiAgICAgaWYgKCFbc2VsZiBf
Y3VycmVudFBvc2l0aW9uSW5mb3JtYXRpb25Jc1ZhbGlkRm9yUmVxdWVzdDppbnRlcmFjdGlvbklu
Zm9ybWF0aW9uUmVxdWVzdF0gJiYgc2VsZi53ZWJWaWV3Ll9lZGl0YWJsZSAmJiAhX3Bvc2l0aW9u
SW5mb3JtYXRpb24uc2hvdWxkTm90VXNlSUJlYW1JbkVkaXRhYmxlQ29udGVudCkgewpAQCAtODY0
OSw5ICs4NjUwLDE5IEBAIC0gKHZvaWQpX2N1cnNvckludGVyYWN0aW9uOihfVUlDdXJzb3JJbnRl
cmFjdGlvbiAqKWludGVyYWN0aW9uIHJlZ2lvbkZvckxvY2F0aW9uCiAgICAgICAgIGNvbXBsZXRp
b24oW19VSUN1cnNvclJlZ2lvbiByZWdpb25XaXRoSWRlbnRpZmllcjplZGl0YWJsZUN1cnNvclJl
Z2lvbklkZW50aWZpZXIgcmVjdDpzZWxmLmJvdW5kc10pOwogICAgIH0KIAotICAgIFtzZWxmIGRv
QWZ0ZXJQb3NpdGlvbkluZm9ybWF0aW9uVXBkYXRlOl4oV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9y
bWF0aW9uQXRQb3NpdGlvbiBpbnRlcmFjdGlvbkluZm9ybWF0aW9uKSB7Ci0gICAgICAgIGlmIChp
bnRlcmFjdGlvblJlcXVlc3RJRCA8IF9jdXJyZW50Q3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0SUQp
Ci0gICAgICAgICAgICByZXR1cm47CisgICAgLy8gSWYgd2UgYWxyZWFkeSBoYXZlIGFuIG91dHN0
YW5kaW5nIGludGVyYWN0aW9uIGluZm9ybWF0aW9uIHJlcXVlc3QsIGRlZmVyIHRoaXMgb25lIHVu
dGlsCisgICAgLy8gd2UgaGVhciBiYWNrLCBzbyB0aGF0IHJlcXVlc3RzIGRvbid0IHBpbGUgdXAg
aWYgdGhlIFdlYiBDb250ZW50IHByb2Nlc3MgaXMgc2xvdy4KKyAgICBpZiAoX2hhc091dHN0YW5k
aW5nQ3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0KSB7CisgICAgICAgIF9kZWZlcnJlZEN1cnNvcklu
dGVyYWN0aW9uUmVxdWVzdCA9IHN0ZDo6bWFrZV9wYWlyKGludGVyYWN0aW9uSW5mb3JtYXRpb25S
ZXF1ZXN0LCBtYWtlQmxvY2tQdHIoY29tcGxldGlvbikpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgX2hhc091dHN0YW5kaW5nQ3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0ID0gWUVTOwor
CisgICAgX19ibG9jayBCbG9ja1B0cjx2b2lkKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlv
bkF0UG9zaXRpb24sIHZvaWQoXikoX1VJQ3Vyc29yUmVnaW9uICopKT4gcmVwbHlIYW5kbGVyOwor
ICAgIHJlcGx5SGFuZGxlciA9IF4oV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3Np
dGlvbiBpbnRlcmFjdGlvbkluZm9ybWF0aW9uLCB2b2lkKF5jb21wbGV0aW9uKShfVUlDdXJzb3JS
ZWdpb24gKnJlZ2lvbikpIHsKKyAgICAgICAgaWYgKCFfZGVmZXJyZWRDdXJzb3JJbnRlcmFjdGlv
blJlcXVlc3QpCisgICAgICAgICAgICBfaGFzT3V0c3RhbmRpbmdDdXJzb3JJbnRlcmFjdGlvblJl
cXVlc3QgPSBOTzsKIAogICAgICAgICBpZiAoZGlkU3luY2hyb25vdXNseVJlcGx5V2l0aEFwcHJv
eGltYXRpb24pIHsKICAgICAgICAgICAgIFtpbnRlcmFjdGlvbiBpbnZhbGlkYXRlXTsKQEAgLTg2
NTksNiArODY3MCwxOCBAQCAtICh2b2lkKV9jdXJzb3JJbnRlcmFjdGlvbjooX1VJQ3Vyc29ySW50
ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiByZWdpb25Gb3JMb2NhdGlvbgogICAgICAgICB9CiAKICAg
ICAgICAgY29tcGxldGlvbihbc2VsZiBjdXJzb3JSZWdpb25Gb3JQb3NpdGlvbkluZm9ybWF0aW9u
OmludGVyYWN0aW9uSW5mb3JtYXRpb24gcG9pbnQ6bG9jYXRpb25dKTsKKworICAgICAgICBpZiAo
X2RlZmVycmVkQ3Vyc29ySW50ZXJhY3Rpb25SZXF1ZXN0KSB7CisgICAgICAgICAgICBhdXRvIGRl
ZmVycmVkUmVxdWVzdCA9IHN0ZDo6ZXhjaGFuZ2UoX2RlZmVycmVkQ3Vyc29ySW50ZXJhY3Rpb25S
ZXF1ZXN0LCBXVEY6Om51bGxvcHQpOworICAgICAgICAgICAgW3NlbGYgZG9BZnRlclBvc2l0aW9u
SW5mb3JtYXRpb25VcGRhdGU6XihXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0
aW9uIGludGVyYWN0aW9uSW5mb3JtYXRpb24pIHsKKyAgICAgICAgICAgICAgICByZXBseUhhbmRs
ZXIoaW50ZXJhY3Rpb25JbmZvcm1hdGlvbiwgZGVmZXJyZWRSZXF1ZXN0LT5zZWNvbmQuZ2V0KCkp
OworICAgICAgICAgICAgfSBmb3JSZXF1ZXN0OmRlZmVycmVkUmVxdWVzdC0+Zmlyc3RdOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfTsKKworICAgIFtzZWxmIGRvQWZ0ZXJQ
b3NpdGlvbkluZm9ybWF0aW9uVXBkYXRlOl4oV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9u
QXRQb3NpdGlvbiBpbnRlcmFjdGlvbkluZm9ybWF0aW9uKSB7CisgICAgICAgIHJlcGx5SGFuZGxl
cihpbnRlcmFjdGlvbkluZm9ybWF0aW9uLCBjb21wbGV0aW9uKTsKICAgICB9IGZvclJlcXVlc3Q6
aW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3RdOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDI5NjhmN2MwYzI0
YTVhZDg4MDY1ZGQ4NGRkOGUwYzFjM2JhZWQyOTYuLmQ5YzZjNGE1YzhhNmYyYjQyNWYxMjIwOGU0
MzNjNTRjOWIwOGY0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0yOTQ1LDcgKzI5NDUsOSBAQCBJbnRlcmFjdGlvbklu
Zm9ybWF0aW9uQXRQb3NpdGlvbiBXZWJQYWdlOjpwb3NpdGlvbkluZm9ybWF0aW9uKGNvbnN0IElu
dGVyYWN0aW9uSQogICAgIGF1dG8qIG5vZGVSZXNwb25kaW5nVG9DbGlja0V2ZW50cyA9IG1fcGFn
ZS0+bWFpbkZyYW1lKCkubm9kZVJlc3BvbmRpbmdUb0NsaWNrRXZlbnRzKHJlcXVlc3QucG9pbnQs
IGFkanVzdGVkUG9pbnQpOwogCiAgICAgaW5mby5hZGp1c3RlZFBvaW50Rm9yTm9kZVJlc3BvbmRp
bmdUb0NsaWNrRXZlbnRzID0gYWRqdXN0ZWRQb2ludDsKLSAgICBpbmZvLm5vZGVBdFBvc2l0aW9u
SGFzRG91YmxlQ2xpY2tIYW5kbGVyID0gbV9wYWdlLT5tYWluRnJhbWUoKS5ub2RlUmVzcG9uZGlu
Z1RvRG91YmxlQ2xpY2tFdmVudChyZXF1ZXN0LnBvaW50LCBhZGp1c3RlZFBvaW50KTsKKworICAg
IGlmIChyZXF1ZXN0LmluY2x1ZGVIYXNEb3VibGVDbGlja0hhbmRsZXIpCisgICAgICAgIGluZm8u
bm9kZUF0UG9zaXRpb25IYXNEb3VibGVDbGlja0hhbmRsZXIgPSBtX3BhZ2UtPm1haW5GcmFtZSgp
Lm5vZGVSZXNwb25kaW5nVG9Eb3VibGVDbGlja0V2ZW50KHJlcXVlc3QucG9pbnQsIGFkanVzdGVk
UG9pbnQpOwogCiAgICAgYXV0byYgZXZlbnRIYW5kbGVyID0gbV9wYWdlLT5tYWluRnJhbWUoKS5l
dmVudEhhbmRsZXIoKTsKICAgICBjb25zdGV4cHIgT3B0aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpS
ZXF1ZXN0VHlwZT4gaGl0VHlwZSB7IEhpdFRlc3RSZXF1ZXN0OjpSZWFkT25seSwgSGl0VGVzdFJl
cXVlc3Q6OkFsbG93RnJhbWVTY3JvbGxiYXJzLCBIaXRUZXN0UmVxdWVzdDo6QWxsb3dWaXNpYmxl
Q2hpbGRGcmFtZUNvbnRlbnRPbmx5IH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>