<?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>168021</bug_id>
          
          <creation_ts>2017-02-08 14:42:44 -0800</creation_ts>
          <short_desc>Web Inspector: Prefer Resources tab over Network tab when showing files</short_desc>
          <delta_ts>2017-02-21 14:46:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1274583</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-02-08 14:42:44 -0800</bug_when>
    <thetext>I often find it very annoying that if I open a page after it loads (the Network tab will therefore be empty), it will show a resource (such as via an option-click or context menu) in the Network tab if it was more recently used than the Resources tab.  I think that the Resources tab should always be preferred over the Network tab, unless the Resources tab is not open in the tab bar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274610</commentid>
    <comment_count>1</comment_count>
      <attachid>300975</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-02-08 15:34:55 -0800</bug_when>
    <thetext>Created attachment 300975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274616</commentid>
    <comment_count>2</comment_count>
      <attachid>300975</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-02-08 15:38:34 -0800</bug_when>
    <thetext>Comment on attachment 300975
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/TabBrowser.js:118
&gt; +            if (options.ignoreNetworkTab &amp;&amp; tabContentView instanceof WebInspector.NetworkTabContentView)

One edge-case I was thinking of would be a situation where no other tab other than the Network tab was currently open and the user clicks a &quot;Reveal in Resources Tab&quot; context menu item.  In this case, a Resources tab is forcibly opened and selected.  I was thinking that &quot;ignoreNetworkTab&quot; (and all other &quot;ignore*Tab&quot; options) would really only act like a suggestion, and if there was no other tab than the Network tab it would still display.  This would be easy to implement, as all you&apos;d have to do is add another loop over `this._recentTabContentViews` but without any `continue`s.  Any thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279482</commentid>
    <comment_count>3</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-02-21 12:46:08 -0800</bug_when>
    <thetext>*** Bug 154034 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279486</commentid>
    <comment_count>4</comment_count>
      <attachid>300975</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2017-02-21 12:49:56 -0800</bug_when>
    <thetext>Comment on attachment 300975
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/TabBrowser.js:121
&gt;              if (tabContentView.canShowRepresentedObject(representedObject))

Having NetworkTaContentView override canShowRepresentedObject to return false when the resource isn&apos;t in the DataGrid would be good too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279523</commentid>
    <comment_count>5</comment_count>
      <attachid>302305</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-02-21 14:07:19 -0800</bug_when>
    <thetext>Created attachment 302305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279546</commentid>
    <comment_count>6</comment_count>
      <attachid>302305</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 14:46:15 -0800</bug_when>
    <thetext>Comment on attachment 302305
Patch

Clearing flags on attachment: 302305

Committed r212761: &lt;http://trac.webkit.org/changeset/212761&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279547</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 14:46:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300975</attachid>
            <date>2017-02-08 15:34:55 -0800</date>
            <delta_ts>2017-02-21 14:07:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168021-20170208153230.patch</filename>
            <type>text/plain</type>
            <size>25822</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDQ0ZDI3ZGNkYmRhYmY3ZGYyYTM1YzM0ODQwYjlm
ODRiZjgzZDAwM2EuLjQxODZhMjc2ZTcyMTg0Nzk2ZjdjMGJjMTEwMzcwZDFiMzBmMzY0OGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE3LTAyLTA4ICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFByZWZlciBSZXNvdXJjZXMgdGFiIG92ZXIgTmV0d29yayB0YWIgd2hlbiBzaG93aW5n
IGZpbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjgwMjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmhhbmRs
ZVBvc3NpYmxlTGlua0NsaWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5vcGVuVVJMKToKKyAg
ICAgICAgQWRkIGBvcHRpb25zYCBwYXJhbWV0ZXIgdG8gcHJvdmlkZSBncmVhdGVyIGN1c3RvbWl6
YXRpb24uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGFiQnJvd3Nlci5wcm90b3R5cGUuYmVzdFRhYkNvbnRlbnRW
aWV3Rm9yUmVwcmVzZW50ZWRPYmplY3QpOgorICAgICAgICBBZGQgbG9naWMgZm9yIGBpZ25vcmVO
ZXR3b3JrVGFiYCBvcHRpb24gdGhhdCB3aWxsIGlnbm9yZSBpbnN0YW5jZXMgb2YgTmV0d29ya1Rh
YkNvbnRlbnRWaWV3LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9CcmVh
a3BvaW50UG9wb3ZlckNvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtw
b2ludFBvcG92ZXJDb250cm9sbGVyLnByb3RvdHlwZS5hcHBlbmRDb250ZXh0TWVudUl0ZW1zKToK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckZyb250ZW5kQVBJLmpz
OgorICAgICAgICAoSW5zcGVjdG9yRnJvbnRlbmRBUEkuc2hvd01haW5SZXNvdXJjZUZvckZyYW1l
KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0
RWRpdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25UZXh0
RWRpdG9yLnRva2VuVHJhY2tpbmdDb250cm9sbGVySGlnaGxpZ2h0ZWRSYW5nZVdhc0NsaWNrZWQu
c2hvd1JhbmdlSW5Tb3VyY2VDb2RlKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0Nv
bXB1dGVkU3R5bGVEZXRhaWxzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcHV0
ZWRTdHlsZURldGFpbHNQYW5lbC5wcm90b3R5cGUuY3NzU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0
b3JTaG93UHJvcGVydHkpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1l
bnVVdGlsaXRpZXMuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuYXBwZW5kQ29udGV4dE1lbnVJ
dGVtc0ZvclNvdXJjZUNvZGUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJl
ZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmll
dy5wcm90b3R5cGUuX21vdXNlV2FzQ2xpY2tlZC5mb2xsb3dMaW5rKToKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTVRyZWVFbGVtZW50LnByb3RvdHlwZS5fcG9wdWxhdGVUYWdDb250ZXh0TWVudSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1lbnQucHJvdG90eXBlLl9zaG93Q3VzdG9tRWxl
bWVudERlZmluaXRpb24pOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJT
aWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJTaWRlYmFyUGFu
ZWwucHJvdG90eXBlLl90cmVlU2VsZWN0aW9uRGlkQ2hhbmdlKToKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya1RpbWVsaW5lVmlldy5wcm90b3R5cGUuc2hvd0NvbnRlbnRWaWV3Rm9yVHJlZUVs
ZW1lbnQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0VHJlZUJhc2VUcmVl
RWxlbWVudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RUcmVlQmFzZVRyZWVFbGVt
ZW50LnByb3RvdHlwZS5fYXBwZW5kTWVudXNJdGVtc0Zvck9iamVjdCk6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5SZXNvdXJjZVNpZGViYXJQYW5lbC5wcm90b3R5cGUuX3RyZWVTZWxlY3Rpb25EaWRD
aGFuZ2UpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGluZURh
dGFHcmlkTm9kZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRpbWVsaW5lRGF0
YUdyaWROb2RlLnByb3RvdHlwZS5fZGF0YUdyaWROb2RlR29Ub0Fycm93Q2xpY2tlZCk6CisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFuZWwuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2VhcmNoU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fdHJlZVNlbGVjdGlv
bkRpZENoYW5nZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5fdHJlZUVsZW1lbnREb3VibGVDbGljayk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
b3VyY2VDb2RlVGV4dEVkaXRvci5wcm90b3R5cGUudG9rZW5UcmFja2luZ0NvbnRyb2xsZXJIaWdo
bGlnaHRlZFJhbmdlV2FzQ2xpY2tlZCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZURhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdy
aWQucHJvdG90eXBlLl9wb3BvdmVyQ2FsbFN0YWNrVHJlZVNlbGVjdGlvbkRpZENoYW5nZSk6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0u
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLnBy
b3RvdHlwZS5wb3B1bGF0ZUNvbnRleHRNZW51KToKKyAgICAgICAgQ2hhbmdlIGFyZ3VtZW50cyBv
ZiBmdW5jdGlvbnMgdG8gY2hhbmdlIGNvbnRlbnQgdmlld3MgdG8gaWdub3JlIHRoZSBOZXR3b3Jr
IHRhYi4KKwogMjAxNy0wMi0wNyAgRGV2aW4gUm91c3NvICA8ZGNyb3Vzc28rd2Via2l0QGdtYWls
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBncmFkaWVudCBlZGl0b3Igc2hvdWxkIGFs
bG93IHN3aXRjaGluZyB0aGUgdW5pdHMgb2YgdGhlICdhbmdsZScgcGFyYW1ldGVyCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggODNl
YWQzZTY1YjI4ODc2NzBhODRlNDNmZGI2YWNjOWUyNDE0NTc0OC4uMWU3NmY5ODQ2ZWYxNzAxMjQx
Njk0NmFkNjg0ODVhMzM1MzI0ODNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwpAQCAtNzg4LDI0ICs3ODgsMjQgQEAgV2ViSW5zcGVj
dG9yLmhhbmRsZVBvc3NpYmxlTGlua0NsaWNrID0gZnVuY3Rpb24oZXZlbnQsIGZyYW1lLCBhbHdh
eXNPcGVuRXh0ZXJuYWwKICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgIGV2ZW50LnN0
b3BQcm9wYWdhdGlvbigpOwogCi0gICAgdGhpcy5vcGVuVVJMKGFuY2hvckVsZW1lbnQuaHJlZiwg
ZnJhbWUsIGZhbHNlLCBhbmNob3JFbGVtZW50LmxpbmVOdW1iZXIpOworICAgIHRoaXMub3BlblVS
TChhbmNob3JFbGVtZW50LmhyZWYsIGZyYW1lLCB7bGluZU51bWJlcjogYW5jaG9yRWxlbWVudC5s
aW5lTnVtYmVyfSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH07CiAKLVdlYkluc3BlY3Rvci5vcGVu
VVJMID0gZnVuY3Rpb24odXJsLCBmcmFtZSwgYWx3YXlzT3BlbkV4dGVybmFsbHksIGxpbmVOdW1i
ZXIpCitXZWJJbnNwZWN0b3Iub3BlblVSTCA9IGZ1bmN0aW9uKHVybCwgZnJhbWUsIG9wdGlvbnMg
PSB7fSkKIHsKICAgICBjb25zb2xlLmFzc2VydCh1cmwpOwogICAgIGlmICghdXJsKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgbGluZU51bWJlciA9PT0gInVu
ZGVmaW5lZCIgfHwgdHlwZW9mIGxpbmVOdW1iZXIgPT09ICJudW1iZXIiLCAibGluZU51bWJlciBz
aG91bGQgYmUgYSBudW1iZXIuIik7CisgICAgY29uc29sZS5hc3NlcnQodHlwZW9mIG9wdGlvbnMu
bGluZU51bWJlciA9PT0gInVuZGVmaW5lZCIgfHwgdHlwZW9mIG9wdGlvbnMubGluZU51bWJlciA9
PT0gIm51bWJlciIsICJsaW5lTnVtYmVyIHNob3VsZCBiZSBhIG51bWJlci4iKTsKIAogICAgIC8v
IElmIGFsd2F5c09wZW5FeHRlcm5hbGx5IGlzIG5vdCBkZWZpbmVkLCBiYXNlIGl0IG9mZiB0aGUg
Y29tbWFuZC9tZXRhIGtleSBmb3IgdGhlIGN1cnJlbnQgZXZlbnQuCi0gICAgaWYgKGFsd2F5c09w
ZW5FeHRlcm5hbGx5ID09PSB1bmRlZmluZWQgfHwgYWx3YXlzT3BlbkV4dGVybmFsbHkgPT09IG51
bGwpCi0gICAgICAgIGFsd2F5c09wZW5FeHRlcm5hbGx5ID0gd2luZG93LmV2ZW50ID8gd2luZG93
LmV2ZW50Lm1ldGFLZXkgOiBmYWxzZTsKKyAgICBpZiAob3B0aW9ucy5hbHdheXNPcGVuRXh0ZXJu
YWxseSA9PT0gdW5kZWZpbmVkIHx8IG9wdGlvbnMuYWx3YXlzT3BlbkV4dGVybmFsbHkgPT09IG51
bGwpCisgICAgICAgIG9wdGlvbnMuYWx3YXlzT3BlbkV4dGVybmFsbHkgPSB3aW5kb3cuZXZlbnQg
PyB3aW5kb3cuZXZlbnQubWV0YUtleSA6IGZhbHNlOwogCi0gICAgaWYgKGFsd2F5c09wZW5FeHRl
cm5hbGx5KSB7CisgICAgaWYgKG9wdGlvbnMuYWx3YXlzT3BlbkV4dGVybmFsbHkpIHsKICAgICAg
ICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lm9wZW5Jbk5ld1RhYih1cmwpOwogICAgICAgICByZXR1
cm47CiAgICAgfQpAQCAtODIyLDggKzgyMiw4IEBAIFdlYkluc3BlY3Rvci5vcGVuVVJMID0gZnVu
Y3Rpb24odXJsLCBmcmFtZSwgYWx3YXlzT3BlbkV4dGVybmFsbHksIGxpbmVOdW1iZXIpCiAgICAg
bGV0IHNpbXBsaWZpZWRVUkwgPSByZW1vdmVVUkxGcmFnbWVudCh1cmwpOwogICAgIHZhciByZXNv
dXJjZSA9IGZyYW1lLnVybCA9PT0gc2ltcGxpZmllZFVSTCA/IGZyYW1lLm1haW5SZXNvdXJjZSA6
IGZyYW1lLnJlc291cmNlRm9yVVJMKHNpbXBsaWZpZWRVUkwsIHNlYXJjaENoaWxkRnJhbWVzKTsK
ICAgICBpZiAocmVzb3VyY2UpIHsKLSAgICAgICAgdmFyIHBvc2l0aW9uID0gbmV3IFdlYkluc3Bl
Y3Rvci5Tb3VyY2VDb2RlUG9zaXRpb24obGluZU51bWJlciwgMCk7Ci0gICAgICAgIHRoaXMuc2hv
d1NvdXJjZUNvZGUocmVzb3VyY2UsIHBvc2l0aW9uKTsKKyAgICAgICAgbGV0IHBvc2l0aW9uVG9S
ZXZlYWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVQb3NpdGlvbihvcHRpb25zLmxpbmVO
dW1iZXIsIDApOworICAgICAgICB0aGlzLnNob3dTb3VyY2VDb2RlKHJlc291cmNlLCBPYmplY3Qu
c2hhbGxvd01lcmdlKG9wdGlvbnMsIHtwb3NpdGlvblRvUmV2ZWFsfSkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9CcmVha3BvaW50UG9wb3ZlckNvbnRyb2xsZXIuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9CcmVha3BvaW50UG9wb3Zl
ckNvbnRyb2xsZXIuanMKaW5kZXggMWIzMGZjOThjMGJjYTc2YjBkZDc2YzY0ZmQyYzFkNmFlOTYz
MGFmYy4uMmFhNGQzMDU5NThjYzRiMmVhYjgwZTk5YjczZmFhMDE0N2I3NzQyOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQnJlYWtw
b2ludFBvcG92ZXJDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL0JyZWFrcG9pbnRQb3BvdmVyQ29udHJvbGxlci5qcwpAQCAt
NjcsNyArNjcsNyBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludFBvcG92ZXJDb250cm9sbGVyID0g
Y2xhc3MgQnJlYWtwb2ludFBvcG92ZXJDb250cm9sbGVyIGV4dAogICAgICAgICB9OwogCiAgICAg
ICAgIGNvbnN0IHJldmVhbE9yaWdpbmFsU291cmNlQ29kZUxvY2F0aW9uID0gKCkgPT4gewotICAg
ICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dPcmlnaW5hbE9yRm9ybWF0dGVkU291cmNlQ29kZUxv
Y2F0aW9uKGJyZWFrcG9pbnQuc291cmNlQ29kZUxvY2F0aW9uKTsKKyAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5zaG93T3JpZ2luYWxPckZvcm1hdHRlZFNvdXJjZUNvZGVMb2NhdGlvbihicmVha3Bv
aW50LnNvdXJjZUNvZGVMb2NhdGlvbiwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICAg
ICAgfTsKIAogICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5pc0JyZWFr
cG9pbnRFZGl0YWJsZShicmVha3BvaW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckZyb250ZW5kQVBJLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yRnJvbnRl
bmRBUEkuanMKaW5kZXggOTllZjM3MjE1ZjllNWI2MTQwNjhkNTk1N2Y5YjdhNzRkZWM1YzJlZi4u
MTNiNTBkNzMzODIzZjMxZTZlYzFlOGQ0ZDBlZmU3ZjY1MTBmMWM5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yRnJvbnRl
bmRBUEkuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9j
b2wvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanMKQEAgLTEwOSw3ICsxMDksNyBAQCBJbnNwZWN0b3JG
cm9udGVuZEFQSSA9IHsKIAogICAgIHNob3dNYWluUmVzb3VyY2VGb3JGcmFtZTogZnVuY3Rpb24o
ZnJhbWVJZGVudGlmaWVyKQogICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VD
b2RlRm9yRnJhbWUoZnJhbWVJZGVudGlmaWVyKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dT
b3VyY2VDb2RlRm9yRnJhbWUoZnJhbWVJZGVudGlmaWVyLCB7aWdub3JlTmV0d29ya1RhYjogdHJ1
ZX0pOwogICAgIH0sCiAKICAgICBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZDogZnVuY3Rpb24oaWQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9D
U1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzCmluZGV4
IGJhYTY0MWNiYzgyNjRhZGYyNGE3Y2Q5ZTdmYTczMjg1MDAyNTM5Y2EuLjVlM2I3YjM3OGE3OGM5
ODU2ZGQ5YjA5NmM3ZjAyM2U3ZWY3MmI0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxl
RGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzCkBAIC0xNjY4LDcgKzE2NjgsNyBAQCBXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IgPSBjbGFzcyBDU1NTdHlsZURlY2xhcmF0
aW9uVGV4dEVkaXRvcgogICAgICAgICAgICAgaWYgKCFzb3VyY2VDb2RlIHx8ICFyYW5nZSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5z
aG93U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGUuY3JlYXRlU291cmNlQ29kZUxvY2F0aW9u
KHJhbmdlLnN0YXJ0TGluZSwgcmFuZ2Uuc3RhcnRDb2x1bW4pKTsKKyAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGUuY3JlYXRlU291cmNlQ29k
ZUxvY2F0aW9uKHJhbmdlLnN0YXJ0TGluZSwgcmFuZ2Uuc3RhcnRDb2x1bW4pLCB7aWdub3JlTmV0
d29ya1RhYjogdHJ1ZX0pOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29t
cHV0ZWRTdHlsZURldGFpbHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbXB1dGVkU3R5bGVEZXRhaWxzUGFuZWwuanMKaW5kZXggMGU3YTIzOGMw
YTI4YzBkOTk4OWFlODliNWMxMjU1YmE5NGM0NGY3Ny4uMmE5NWMxZDdmNzJjMWUwMDAwNTRiZjA2
M2FiNDU1YWQwMDZiZGRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ29tcHV0ZWRTdHlsZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db21wdXRlZFN0eWxlRGV0YWlsc1Bh
bmVsLmpzCkBAIC0xMDMsNyArMTAzLDcgQEAgV2ViSW5zcGVjdG9yLkNvbXB1dGVkU3R5bGVEZXRh
aWxzUGFuZWwgPSBjbGFzcyBDb21wdXRlZFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMKICAgICAg
ICAgbGV0IHNvdXJjZUNvZGUgPSBvd25lclJ1bGUuc291cmNlQ29kZUxvY2F0aW9uLnNvdXJjZUNv
ZGU7CiAgICAgICAgIGxldCB7c3RhcnRMaW5lLCBzdGFydENvbHVtbn0gPSBlZmZlY3RpdmVQcm9w
ZXJ0eS5zdHlsZVNoZWV0VGV4dFJhbmdlOwogICAgICAgICBsZXQgc291cmNlQ29kZUxvY2F0aW9u
ID0gc291cmNlQ29kZS5jcmVhdGVTb3VyY2VDb2RlTG9jYXRpb24oc3RhcnRMaW5lLCBzdGFydENv
bHVtbik7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHNvdXJj
ZUNvZGVMb2NhdGlvbik7CisgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0
aW9uKHNvdXJjZUNvZGVMb2NhdGlvbiwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICB9
CiAKICAgICByZWZyZXNoKHNpZ25pZmljYW50Q2hhbmdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0
aWxpdGllcy5qcwppbmRleCBlZjYxMDBhZGRkZTJjZTc2ZmU4MDNkZWQ2MDAxMTIxMzAxNjViZjNk
Li40MGI0ODliODczZjdjNzY4NWJmMWYzMjcyZGY0NGE3ZTcxYjQyODBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0aWxp
dGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9D
b250ZXh0TWVudVV0aWxpdGllcy5qcwpAQCAtMzgsOCArMzgsNyBAQCBXZWJJbnNwZWN0b3IuYXBw
ZW5kQ29udGV4dE1lbnVJdGVtc0ZvclNvdXJjZUNvZGUgPSBmdW5jdGlvbihjb250ZXh0TWVudSwg
c291cmNlQwogICAgIGlmIChzb3VyY2VDb2RlLnVybCkgewogICAgICAgICBjb250ZXh0TWVudS5h
cHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiT3BlbiBpbiBOZXcgVGFiIiksICgpID0+
IHsKICAgICAgICAgICAgIGNvbnN0IGZyYW1lID0gbnVsbDsKLSAgICAgICAgICAgIGNvbnN0IGFs
d2F5c09wZW5FeHRlcm5hbGx5ID0gdHJ1ZTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5vcGVu
VVJMKHNvdXJjZUNvZGUudXJsLCBmcmFtZSwgYWx3YXlzT3BlbkV4dGVybmFsbHkpOworICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLm9wZW5VUkwoc291cmNlQ29kZS51cmwsIGZyYW1lLCB7YWx3YXlz
T3BlbkV4dGVybmFsbHk6IHRydWV9KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgY29udGV4dE1l
bnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvcHkgTGluayBBZGRyZXNzIiks
ICgpID0+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwppbmRleCAzN2Q5ZGFlMGQyNTVl
ZmJiMGQyZTYwZTYwZjBkZjcyMTY2Y2FiMTUyLi5iYzYzOTFlYmM4ZWJmYWM2ZDAzOGU1MzYyNzAz
YjRhODUxZjg1ZDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCkBAIC00MzEsNyAr
NDMxLDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVD
b250ZW50VmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci4KICAgICAgICAgICAgIC8vIHRvIHNlZSBp
ZiB0aGUgY29tbWFuZCBrZXkgaXMgZG93biBsaWtlIGl0IG5vcm1hbGx5IHdvdWxkLiBTbyB3ZSBu
ZWVkIHRvIGRvIHRoYXQgY2hlY2sKICAgICAgICAgICAgIC8vIGJlZm9yZSBjYWxsaW5nIFdlYklu
c3BlY3Rvci5vcGVuVVJMLgogICAgICAgICAgICAgdmFyIGFsd2F5c09wZW5FeHRlcm5hbGx5ID0g
ZXZlbnQgPyBldmVudC5tZXRhS2V5IDogZmFsc2U7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
b3BlblVSTChhbmNob3JFbGVtZW50LmhyZWYsIHRoaXMuX2ZyYW1lLCBhbHdheXNPcGVuRXh0ZXJu
YWxseSwgYW5jaG9yRWxlbWVudC5saW5lTnVtYmVyKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5vcGVuVVJMKGFuY2hvckVsZW1lbnQuaHJlZiwgdGhpcy5fZnJhbWUsIHthbHdheXNPcGVuRXh0
ZXJuYWxseSwgbGluZU51bWJlcjogYW5jaG9yRWxlbWVudC5saW5lTnVtYmVyfSk7CiAgICAgICAg
IH0KIAogICAgICAgICAvLyBTdGFydCBhIHRpbWVvdXQgc2luY2UgdGhpcyBpcyBhIHNpbmdsZSBj
bGljaywgaWYgdGhlIHRpbWVvdXQgaXMgY2FuY2VsZWQgYmVmb3JlIGl0IGZpcmVzLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUVs
ZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01U
cmVlRWxlbWVudC5qcwppbmRleCBiNzZjM2Q0ZDY5MzhhMWMxYjQxOTQyNTZjMzhjNDMyYmVlMDJj
MTBmLi4zMTJiNWFkMjBlMTk1MWMwMWNlMDAzOWU5MWVmZTBiNzEyZGI2YjljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVu
dC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01U
cmVlRWxlbWVudC5qcwpAQCAtNjUyLDE0ICs2NTIsMTMgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVF
bGVtZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVHJlZUVs
ZW0KIAogICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJPcGVuIGluIE5ldyBUYWIiKSwgKCkgPT4gewogICAgICAgICAgICAgICAgICAg
ICBjb25zdCBmcmFtZSA9IG51bGw7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFsd2F5c09w
ZW5FeHRlcm5hbGx5ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLm9w
ZW5VUkwodXJsLCBmcmFtZSwgYWx3YXlzT3BlbkV4dGVybmFsbHkpOworICAgICAgICAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3Iub3BlblVSTCh1cmwsIGZyYW1lLCB7YWx3YXlzT3BlbkV4dGVybmFs
bHk6IHRydWV9KTsKICAgICAgICAgICAgICAgICB9KTsKIAogICAgICAgICAgICAgICAgIGlmIChX
ZWJJbnNwZWN0b3IuZnJhbWVSZXNvdXJjZU1hbmFnZXIucmVzb3VyY2VGb3JVUkwodXJsKSkgewog
ICAgICAgICAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5V
SVN0cmluZygiUmV2ZWFsIGluIFJlc291cmNlcyBUYWIiKSwgKCkgPT4gewogICAgICAgICAgICAg
ICAgICAgICAgICAgbGV0IGZyYW1lID0gV2ViSW5zcGVjdG9yLmZyYW1lUmVzb3VyY2VNYW5hZ2Vy
LmZyYW1lRm9ySWRlbnRpZmllcihub2RlLmZyYW1lSWRlbnRpZmllcik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBXZWJJbnNwZWN0b3Iub3BlblVSTCh1cmwsIGZyYW1lKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5vcGVuVVJMKHVybCwgZnJhbWUsIHtpZ25vcmVOZXR3
b3JrVGFiOiB0cnVlfSk7CiAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAg
IH0KIApAQCAtMTUxNCw3ICsxNTEzLDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50ID0g
Y2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVHJlZUVsZW0KICAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgICAgICAgICBsZXQgc291
cmNlQ29kZUxvY2F0aW9uID0gc291cmNlQ29kZS5jcmVhdGVTb3VyY2VDb2RlTG9jYXRpb24obG9j
YXRpb24ubGluZU51bWJlciwgbG9jYXRpb24uY29sdW1uTnVtYmVyIHx8IDApOwotICAgICAgICAg
ICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbihzb3VyY2VDb2Rl
TG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNv
ZGVMb2NhdGlvbihzb3VyY2VDb2RlTG9jYXRpb24sIHtpZ25vcmVOZXR3b3JrVGFiOiB0cnVlfSk7
CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgcmVzdWx0LnJlbGVhc2UoKTsK
ICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcwppbmRleCBh
ZDBkMTdiM2Y1ODRjNTE4ZTBmZmIzZDRjYjdjZDUxYTAyYTRjMzJjLi40ZGU2NGI3OTlmNjNhM2Rj
MWU5MjllOTY0MmQ0MmQ5NTg1MGU4YjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5l
bC5qcwpAQCAtNzgzLDcgKzc4Myw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNpZGViYXJQYW5l
bCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5z
cGVjdG9yLlJlc291cmNlVHJlZUVsZW1lbnQgfHwgdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuU2NyaXB0VHJlZUVsZW1lbnQpIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5z
aG93U291cmNlQ29kZSh0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgICAg
ICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmpl
Y3QsIHtpZ25vcmVOZXR3b3JrVGFiOiB0cnVlfSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIApAQCAtNzkzLDEyICs3OTMsMTIgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2lkZWJh
clBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAg
ICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLmFjdGl2ZUNhbGxGcmFt
ZSA9IGNhbGxGcmFtZTsKIAogICAgICAgICAgICAgaWYgKGNhbGxGcmFtZS5zb3VyY2VDb2RlTG9j
YXRpb24pCi0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2RlTG9jYXRp
b24oY2FsbEZyYW1lLnNvdXJjZUNvZGVMb2NhdGlvbik7CisgICAgICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLnNob3dTb3VyY2VDb2RlTG9jYXRpb24oY2FsbEZyYW1lLnNvdXJjZUNvZGVMb2NhdGlv
biwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmICh0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5J
c3N1ZVRyZWVFbGVtZW50KSB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNv
ZGVMb2NhdGlvbih0cmVlRWxlbWVudC5pc3N1ZU1lc3NhZ2Uuc291cmNlQ29kZUxvY2F0aW9uKTsK
KyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHRyZWVFbGVt
ZW50Lmlzc3VlTWVzc2FnZS5zb3VyY2VDb2RlTG9jYXRpb24sIHtpZ25vcmVOZXR3b3JrVGFiOiB0
cnVlfSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtODA3LDcgKzgwNyw3
IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lk
ZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSB0
cmVlRWxlbWVudC5icmVha3BvaW50OwogICAgICAgICBpZiAodHJlZUVsZW1lbnQudHJlZU91dGxp
bmUgPT09IHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUpIHsKLSAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKGJyZWFrcG9pbnQuc291cmNlQ29kZUxvY2F0
aW9uKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKGJy
ZWFrcG9pbnQuc291cmNlQ29kZUxvY2F0aW9uLCB7aWdub3JlTmV0d29ya1RhYjogdHJ1ZX0pOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTgxOCw3ICs4MTgsNyBAQCBXZWJJ
bnNwZWN0b3IuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5l
bCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICBpZiAoISh0cmVlRWxlbWVudC5wYXJlbnQucmVw
cmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuU291cmNlQ29kZSkpCiAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2RlTG9j
YXRpb24oYnJlYWtwb2ludC5zb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICBXZWJJbnNwZWN0
b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbihicmVha3BvaW50LnNvdXJjZUNvZGVMb2NhdGlvbiwg
e2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICB9CiAKICAgICBfY29tcGFyZVRvcExldmVs
VHJlZUVsZW1lbnRzKGEsIGIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5qcwppbmRleCA4
NjY4OGUzZWU0MjQ2NjE4MjE2OTgyMmU1YTJlNGY3ZTg0NTBlYzk3Li4yNDE0ZDk1MDk4MmQ1MTA1
ZmU5MGQ5ZmUzMTM5ODg3ZDI4NTY0ZDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcu
anMKQEAgLTE4OCw3ICsxODgsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVsaW5lVmlldyA9
IGNsYXNzIE5ldHdvcmtUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0bwogICAgIHNob3dD
b250ZW50Vmlld0ZvclRyZWVFbGVtZW50KHRyZWVFbGVtZW50KQogICAgIHsKICAgICAgICAgaWYg
KHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZUVsZW1lbnQg
fHwgdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuU2NyaXB0VHJlZUVsZW1lbnQp
IHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZSh0cmVlRWxlbWVudC5y
ZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNv
ZGUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QsIHtpZ25vcmVOZXR3b3JrVGFiOiB0cnVl
fSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0VHJlZUJhc2VUcmVlRWxl
bWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09iamVj
dFRyZWVCYXNlVHJlZUVsZW1lbnQuanMKaW5kZXggNTNhZmExMzkyYTliMmY3ZTE3NzNlZWRiZWIz
MmU1OWZlOGU1OTUyOS4uZTNhNjFjZmUyMDkzMmM3NDA5NjZjNDFlMDU1MWFiZjg0MzFkOTBhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT2Jq
ZWN0VHJlZUJhc2VUcmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlQmFzZVRyZWVFbGVtZW50LmpzCkBAIC0yMjgsNyAr
MjI4LDcgQEAgV2ViSW5zcGVjdG9yLk9iamVjdFRyZWVCYXNlVHJlZUVsZW1lbnQgPSBjbGFzcyBP
YmplY3RUcmVlQmFzZVRyZWVFbGVtZW50IGV4dGVuZHMKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzb3VyY2VDb2RlTG9j
YXRpb24gPSBzb3VyY2VDb2RlLmNyZWF0ZVNvdXJjZUNvZGVMb2NhdGlvbihsb2NhdGlvbi5saW5l
TnVtYmVyLCBsb2NhdGlvbi5jb2x1bW5OdW1iZXIgfHwgMCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbihzb3VyY2VDb2RlTG9jYXRp
b24pOworICAgICAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2Rl
TG9jYXRpb24oc291cmNlQ29kZUxvY2F0aW9uLCB7aWdub3JlTmV0d29ya1RhYjogdHJ1ZX0pOwog
ICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1Jlc291cmNlU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvUmVzb3VyY2VTaWRlYmFyUGFuZWwuanMKaW5kZXggYTViZTNjODhiYjdkNjM2
YWMxODFkMjQzOTY1MDEwMTk1MjM2YzQxZi4uNzYyZmRlNjM0MzY5YTNhODMxNDY3YWNmYjIzYjA5
N2ZjMmZkNGM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaWRlYmFyUGFuZWwuanMKQEAgLTQxOCw3
ICs0MTgsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRlYmFyUGFuZWwgPSBjbGFzcyBSZXNv
dXJjZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICAgICAgfHwgdHJlZUVs
ZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudAogICAgICAg
ICAgICAgfHwgdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuU2NyaXB0VHJlZUVs
ZW1lbnQKICAgICAgICAgICAgIHx8IHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9y
LkNvbnRlbnRGbG93VHJlZUVsZW1lbnQpIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93
UmVwcmVzZW50ZWRPYmplY3QodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QpOworICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLnNob3dSZXByZXNlbnRlZE9iamVjdCh0cmVlRWxlbWVudC5yZXBy
ZXNlbnRlZE9iamVjdCwgbnVsbCwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGlu
ZURhdGFHcmlkTm9kZS5qcwppbmRleCBhODJmYWJlZjk1YWQ2NGM1NmJlNmI1OGRiZWQ1ZDdlY2Q3
N2Q3MDdhLi5lNGRiMDEzZjQ5NTYxNTQ5MDRkYWQ2MDBmY2Y0MTA0MmVlYTY1NTA5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRp
bWVsaW5lRGF0YUdyaWROb2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTI0MCw3ICsy
NDAsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNsYXNz
IFJlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUgZQogCiAgICAgX2RhdGFHcmlkTm9kZUdvVG9B
cnJvd0NsaWNrZWQoKQogICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2Rl
KHRoaXMuX3Jlc291cmNlKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2RlKHRo
aXMuX3Jlc291cmNlLCB7aWdub3JlTmV0d29ya1RhYjogdHJ1ZX0pOwogICAgIH0KIAogICAgIF91
cGRhdGVTdGF0dXMoY2VsbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5qcwppbmRleCAyMGE3
N2MyNjg4NWRlMDgwODBjMTY5MjU1ZWZhMTY3ZjkyY2U4ZGY4Li43OTIzMGRkMGYxYmFkYTc4MjI0
NDEyZGUzOGRkMGU3ZTZhZDM1NjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpzCkBA
IC0zNTYsNyArMzU2LDcgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaFNpZGViYXJQYW5lbCA9IGNsYXNz
IFNlYXJjaFNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlY3Rvci4KICAgICAgICAgICAgIHJl
dHVybjsKIAogICAgICAgICBpZiAodHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VUcmVlRWxlbWVudCB8fCB0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rv
ci5TY3JpcHRUcmVlRWxlbWVudCkgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dSZXBy
ZXNlbnRlZE9iamVjdCh0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgICAg
ICBXZWJJbnNwZWN0b3Iuc2hvd1JlcHJlc2VudGVkT2JqZWN0KHRyZWVFbGVtZW50LnJlcHJlc2Vu
dGVkT2JqZWN0LCBudWxsLCB7aWdub3JlTmV0d29ya1RhYjogdHJ1ZX0pOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAKQEAgLTM2Nyw3ICszNjcsNyBAQCBXZWJJbnNwZWN0b3IuU2Vh
cmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2VhcmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5z
cGVjdG9yLgogICAgICAgICBpZiAodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgaW5zdGFu
Y2VvZiBXZWJJbnNwZWN0b3IuRE9NU2VhcmNoTWF0Y2hPYmplY3QpCiAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3Iuc2hvd01haW5GcmFtZURPTVRyZWUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmpl
Y3QuZG9tTm9kZSk7CiAgICAgICAgIGVsc2UgaWYgKHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2Jq
ZWN0IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVTZWFyY2hNYXRjaE9iamVjdCkK
LSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93T3JpZ2luYWxPckZvcm1hdHRlZFNvdXJjZUNv
ZGVUZXh0UmFuZ2UodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3Quc291cmNlQ29kZVRleHRS
YW5nZSk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd09yaWdpbmFsT3JGb3JtYXR0ZWRT
b3VyY2VDb2RlVGV4dFJhbmdlKHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0LnNvdXJjZUNv
ZGVUZXh0UmFuZ2UsIHtpZ25vcmVOZXR3b3JrVGFiOiB0cnVlfSk7CiAgICAgfQogCiAgICAgX3Ry
ZWVFbGVtZW50RG91YmxlQ2xpY2soZXZlbnQpCkBAIC0zNzYsMTAgKzM3Niw5IEBAIFdlYkluc3Bl
Y3Rvci5TZWFyY2hTaWRlYmFyUGFuZWwgPSBjbGFzcyBTZWFyY2hTaWRlYmFyUGFuZWwgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuCiAgICAgICAgIGlmICghdHJlZUVsZW1lbnQpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtpZ25vcmVTZWFyY2hUYWI6IHRydWV9
OwogICAgICAgICBpZiAodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBX
ZWJJbnNwZWN0b3IuRE9NU2VhcmNoTWF0Y2hPYmplY3QpCi0gICAgICAgICAgICBXZWJJbnNwZWN0
b3Iuc2hvd01haW5GcmFtZURPTVRyZWUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QuZG9t
Tm9kZSwgb3B0aW9ucyk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd01haW5GcmFtZURP
TVRyZWUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QuZG9tTm9kZSwge2lnbm9yZVNlYXJj
aFRhYjogdHJ1ZX0pOwogICAgICAgICBlbHNlIGlmICh0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9i
amVjdCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlU2VhcmNoTWF0Y2hPYmplY3Qp
Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd09yaWdpbmFsT3JGb3JtYXR0ZWRTb3VyY2VD
b2RlVGV4dFJhbmdlKHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0LnNvdXJjZUNvZGVUZXh0
UmFuZ2UsIG9wdGlvbnMpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dPcmlnaW5hbE9y
Rm9ybWF0dGVkU291cmNlQ29kZVRleHRSYW5nZSh0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVj
dC5zb3VyY2VDb2RlVGV4dFJhbmdlLCB7aWdub3JlTmV0d29ya1RhYjogdHJ1ZSwgaWdub3JlU2Vh
cmNoVGFiOiB0cnVlfSk7CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3Iu
anMKaW5kZXggMjE1YmZiYzVlMmRiZTk2MmZkMWM5ZjQ0MzZlNGI3MTJkMDZjY2M3NC4uNTIzYjky
OGU0NmFlYmJmY2E5MzIzYjZlZjJhY2I5MTk3MGYwZDQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29k
ZVRleHRFZGl0b3IuanMKQEAgLTE2NjksOSArMTY2OSw5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VD
b2RlVGV4dEVkaXRvciA9IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4dGVuZHMgV2ViSW5z
cGVjCiAKICAgICAgICAgdmFyIHNvdXJjZUNvZGVMb2NhdGlvbiA9IHRoaXMuX3NvdXJjZUNvZGVM
b2NhdGlvbkZvckVkaXRvclBvc2l0aW9uKHRoaXMudG9rZW5UcmFja2luZ0NvbnRyb2xsZXIuY2Fu
ZGlkYXRlLmhvdmVyZWRUb2tlblJhbmdlLnN0YXJ0KTsKICAgICAgICAgaWYgKHRoaXMuc291cmNl
Q29kZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Tb3VyY2VNYXBSZXNvdXJjZSkKLSAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5zaG93T3JpZ2luYWxPckZvcm1hdHRlZFNvdXJjZUNvZGVMb2NhdGlv
bihzb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dPcmln
aW5hbE9yRm9ybWF0dGVkU291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVMb2NhdGlvbiwge2ln
bm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLnNob3dTb3VyY2VDb2RlTG9jYXRpb24oc291cmNlQ29kZUxvY2F0aW9uKTsKKyAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVMb2Nh
dGlvbiwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICB9CiAKICAgICB0b2tlblRyYWNr
aW5nQ29udHJvbGxlck5ld0hpZ2hsaWdodENhbmRpZGF0ZSh0b2tlblRyYWNraW5nQ29udHJvbGxl
ciwgY2FuZGlkYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGFiQnJvd3Nlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanMKaW5kZXggZGU4NzIzNjdlNjU2Mzc4MDU4MDNjYjRk
NTdiZjNhYmUxMmE4OWQ0My4uN2ZlN2EyYTNiOGUwMWE0ZWE3NzZlOGIyMjY0YzcwZDIzMzc2MDRk
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGFiQnJvd3Nlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UYWJCcm93c2VyLmpzCkBAIC0xMTUsNiArMTE1LDkgQEAgV2ViSW5zcGVjdG9yLlRhYkJy
b3dzZXIgPSBjbGFzcyBUYWJCcm93c2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAg
ICAgICAgIGlmIChvcHRpb25zLmlnbm9yZVNlYXJjaFRhYiAmJiB0YWJDb250ZW50VmlldyBpbnN0
YW5jZW9mIFdlYkluc3BlY3Rvci5TZWFyY2hUYWJDb250ZW50VmlldykKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKIAorICAgICAgICAgICAgaWYgKG9wdGlvbnMuaWdub3JlTmV0d29ya1RhYiAm
JiB0YWJDb250ZW50VmlldyBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5OZXR3b3JrVGFiQ29udGVu
dFZpZXcpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgIGlmICh0YWJD
b250ZW50Vmlldy5jYW5TaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3QpKQog
ICAgICAgICAgICAgICAgIHJldHVybiB0YWJDb250ZW50VmlldzsKICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVE
YXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Rp
bWVsaW5lRGF0YUdyaWQuanMKaW5kZXggMDFmMTEyNTkwNzc3NjJiMWQzYjQ2NzZlYWE5MjFkNDA2
MTZlYzgxNy4uODRlZGVlYTI3NWE5NmZmZGFjZmI0ODg3YzgzZDFiOWI4OTcwYTA1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVE
YXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZURhdGFHcmlkLmpzCkBAIC01MjUsNyArNTI1LDcgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lRGF0YUdyaWQgPSBjbGFzcyBUaW1lbGluZURhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVj
dG9yLkRhdGEKICAgICAgICAgaWYgKCFjYWxsRnJhbWUuc291cmNlQ29kZUxvY2F0aW9uKQogICAg
ICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxv
Y2F0aW9uKGNhbGxGcmFtZS5zb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICBXZWJJbnNwZWN0
b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbihjYWxsRnJhbWUuc291cmNlQ29kZUxvY2F0aW9uLCB7
aWdub3JlTmV0d29ya1RhYjogdHJ1ZX0pOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JU
cmVlSXRlbS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zp
c3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5qcwppbmRleCA4MDdjM2ExNzFlMjVjYTgyNzYwODVj
OWQwN2NhOWIyMjI0OWQwNjI2Li4yZmU5NzBhYTU0ZDcxMWVkNWVjNzYyNDExM2VkZjNjMGM0MTcx
ODQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLmpzCkBA
IC0xMzgsOSArMTM4LDkgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRl
bSA9IGNsYXNzIFZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbSBleHQKIAogICAgICAgICBjb250
ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyBTb3VyY2UiKSwg
KCkgPT4gewogICAgICAgICAgICAgaWYgKGV2ZW50Lm1ldGFLZXkpCi0gICAgICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLnNob3dPcmlnaW5hbFVuZm9ybWF0dGVkU291cmNlQ29kZUxvY2F0aW9uKHRo
aXMucmVwcmVzZW50ZWRPYmplY3Qub3duZXJSdWxlLnNvdXJjZUNvZGVMb2NhdGlvbik7CisgICAg
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dPcmlnaW5hbFVuZm9ybWF0dGVkU291cmNlQ29k
ZUxvY2F0aW9uKHRoaXMucmVwcmVzZW50ZWRPYmplY3Qub3duZXJSdWxlLnNvdXJjZUNvZGVMb2Nh
dGlvbiwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbih0aGlzLnJlcHJl
c2VudGVkT2JqZWN0Lm93bmVyUnVsZS5zb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHRoaXMucmVwcmVzZW50ZWRP
YmplY3Qub3duZXJSdWxlLnNvdXJjZUNvZGVMb2NhdGlvbiwge2lnbm9yZU5ldHdvcmtUYWI6IHRy
dWV9KTsKICAgICAgICAgfSk7CiAKICAgICAgICAgLy8gT25seSB1c2VkIG9uZSBjb2xvbiB0ZW1w
b3JhcmlseSBzaW5jZSBzaW5nbGUtY29sb24gcHNldWRvIGVsZW1lbnRzIGFyZSB2YWxpZCBDU1Mu
Cg==
</data>
<flag name="review"
          id="322832"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302305</attachid>
            <date>2017-02-21 14:07:19 -0800</date>
            <delta_ts>2017-02-21 14:46:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>168021.diff</filename>
            <type>text/plain</type>
            <size>27403</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDMzMjU1MzQuLjAwMjNjODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE3LTAyLTIxICBEZXZpbiBSb3Vzc28g
IDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFBy
ZWZlciBSZXNvdXJjZXMgdGFiIG92ZXIgTmV0d29yayB0YWIgd2hlbiBzaG93aW5nIGZpbGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgwMjEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5oYW5kbGVQb3NzaWJs
ZUxpbmtDbGljayk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iub3BlblVSTCk6CisgICAgICAgIEFk
ZCBgb3B0aW9uc2AgcGFyYW1ldGVyIHRvIHByb3ZpZGUgZ3JlYXRlciBjdXN0b21pemF0aW9uLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRhYkJyb3dzZXIucHJvdG90eXBlLmJlc3RUYWJDb250ZW50Vmlld0ZvclJl
cHJlc2VudGVkT2JqZWN0KToKKyAgICAgICAgQWRkIGxvZ2ljIGZvciBgaWdub3JlTmV0d29ya1Rh
YmAgb3B0aW9uIHRoYXQgd2lsbCBpZ25vcmUgaW5zdGFuY2VzIG9mIE5ldHdvcmtUYWJDb250ZW50
Vmlldy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQnJlYWtwb2ludFBv
cG92ZXJDb250cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRQb3Bv
dmVyQ29udHJvbGxlci5wcm90b3R5cGUuYXBwZW5kQ29udGV4dE1lbnVJdGVtcyk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qczoKKyAgICAg
ICAgKEluc3BlY3RvckZyb250ZW5kQVBJLnNob3dNYWluUmVzb3VyY2VGb3JGcmFtZSk6CisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci50
b2tlblRyYWNraW5nQ29udHJvbGxlckhpZ2hsaWdodGVkUmFuZ2VXYXNDbGlja2VkLnNob3dSYW5n
ZUluU291cmNlQ29kZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Db21wdXRlZFN0
eWxlRGV0YWlsc1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbXB1dGVkU3R5bGVE
ZXRhaWxzUGFuZWwucHJvdG90eXBlLmNzc1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yU2hvd1By
b3BlcnR5KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0
aWVzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmFwcGVuZENvbnRleHRNZW51SXRlbXNGb3JT
b3VyY2VDb2RlKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50
Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcucHJvdG90
eXBlLl9tb3VzZVdhc0NsaWNrZWQuZm9sbG93TGluayk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01UcmVl
RWxlbWVudC5wcm90b3R5cGUuX3BvcHVsYXRlVGFnQ29udGV4dE1lbnUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50LnByb3RvdHlwZS5fc2hvd0N1c3RvbUVsZW1lbnREZWZp
bml0aW9uKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBh
bmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3Rv
dHlwZS5fdHJlZVNlbGVjdGlvbkRpZENoYW5nZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdv
cmtUaW1lbGluZVZpZXcucHJvdG90eXBlLnNob3dDb250ZW50Vmlld0ZvclRyZWVFbGVtZW50KToK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFRyZWVCYXNlVHJlZUVsZW1lbnQu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0VHJlZUJhc2VUcmVlRWxlbWVudC5wcm90
b3R5cGUuX2FwcGVuZE1lbnVzSXRlbXNGb3JPYmplY3QpOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvUmVzb3VyY2VTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VTaWRlYmFyUGFuZWwucHJvdG90eXBlLl90cmVlU2VsZWN0aW9uRGlkQ2hhbmdlKToK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5v
ZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9k
ZS5wcm90b3R5cGUuX2RhdGFHcmlkTm9kZUdvVG9BcnJvd0NsaWNrZWQpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNlYXJjaFNpZGViYXJQYW5lbC5wcm90b3R5cGUuX3RyZWVTZWxlY3Rpb25EaWRDaGFu
Z2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFNpZGViYXJQYW5lbC5wcm90b3R5cGUu
X3RyZWVFbGVtZW50RG91YmxlQ2xpY2spOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlQ29kZVRleHRFZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ29k
ZVRleHRFZGl0b3IucHJvdG90eXBlLnRva2VuVHJhY2tpbmdDb250cm9sbGVySGlnaGxpZ2h0ZWRS
YW5nZVdhc0NsaWNrZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVE
YXRhR3JpZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZURhdGFHcmlkLnByb3Rv
dHlwZS5fcG9wb3ZlckNhbGxTdGFja1RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UpOgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5wcm90b3R5cGUu
cG9wdWxhdGVDb250ZXh0TWVudSk6CisgICAgICAgIENoYW5nZSBhcmd1bWVudHMgb2YgZnVuY3Rp
b25zIHRvIGNoYW5nZSBjb250ZW50IHZpZXdzIHRvIGlnbm9yZSB0aGUgTmV0d29yayB0YWIuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtHcmlkQ29udGVudFZpZXcuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0dyaWRDb250ZW50Vmlldy5wcm90b3R5cGUu
aGFzUmVwcmVzZW50ZWRPYmplY3QpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmV0
d29ya1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrU2lkZWJh
clBhbmVsLnByb3RvdHlwZS5oYXNSZXByZXNlbnRlZE9iamVjdCk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFiQ29udGVudFZpZXcuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya1RhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5jYW5TaG93UmVwcmVzZW50ZWRP
YmplY3QpOgorICAgICAgICBFbnN1cmUgdGhhdCB0aGUgTmV0d29yayB0YWIgY2FuIG9ubHkgZGlz
cGxheSByZXNvdXJjZXMgdGhhdCBpdCBoYXMgZW50cmllcyBmb3IgaW4gaXRzIHZpZXcuCisKIDIw
MTctMDItMjEgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogUlRMOiBjb25zb2xlIHNjb3BlIGJhcidzIHVucmVhZCBtZXNzYWdlIGluZGljYXRv
ciBpcyBtaXNhbGlnbmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL01haW4uanMKaW5kZXggYzIyM2Q2NS4uZTJiYjUwNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwpAQCAtODEwLDI0ICs4MTAs
MjQgQEAgV2ViSW5zcGVjdG9yLmhhbmRsZVBvc3NpYmxlTGlua0NsaWNrID0gZnVuY3Rpb24oZXZl
bnQsIGZyYW1lLCBhbHdheXNPcGVuRXh0ZXJuYWwKICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgp
OwogICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogCi0gICAgdGhpcy5vcGVuVVJMKGFuY2hv
ckVsZW1lbnQuaHJlZiwgZnJhbWUsIGZhbHNlLCBhbmNob3JFbGVtZW50LmxpbmVOdW1iZXIpOwor
ICAgIHRoaXMub3BlblVSTChhbmNob3JFbGVtZW50LmhyZWYsIGZyYW1lLCB7bGluZU51bWJlcjog
YW5jaG9yRWxlbWVudC5saW5lTnVtYmVyfSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH07CiAKLVdl
Ykluc3BlY3Rvci5vcGVuVVJMID0gZnVuY3Rpb24odXJsLCBmcmFtZSwgYWx3YXlzT3BlbkV4dGVy
bmFsbHksIGxpbmVOdW1iZXIpCitXZWJJbnNwZWN0b3Iub3BlblVSTCA9IGZ1bmN0aW9uKHVybCwg
ZnJhbWUsIG9wdGlvbnMgPSB7fSkKIHsKICAgICBjb25zb2xlLmFzc2VydCh1cmwpOwogICAgIGlm
ICghdXJsKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgbGlu
ZU51bWJlciA9PT0gInVuZGVmaW5lZCIgfHwgdHlwZW9mIGxpbmVOdW1iZXIgPT09ICJudW1iZXIi
LCAibGluZU51bWJlciBzaG91bGQgYmUgYSBudW1iZXIuIik7CisgICAgY29uc29sZS5hc3NlcnQo
dHlwZW9mIG9wdGlvbnMubGluZU51bWJlciA9PT0gInVuZGVmaW5lZCIgfHwgdHlwZW9mIG9wdGlv
bnMubGluZU51bWJlciA9PT0gIm51bWJlciIsICJsaW5lTnVtYmVyIHNob3VsZCBiZSBhIG51bWJl
ci4iKTsKIAogICAgIC8vIElmIGFsd2F5c09wZW5FeHRlcm5hbGx5IGlzIG5vdCBkZWZpbmVkLCBi
YXNlIGl0IG9mZiB0aGUgY29tbWFuZC9tZXRhIGtleSBmb3IgdGhlIGN1cnJlbnQgZXZlbnQuCi0g
ICAgaWYgKGFsd2F5c09wZW5FeHRlcm5hbGx5ID09PSB1bmRlZmluZWQgfHwgYWx3YXlzT3BlbkV4
dGVybmFsbHkgPT09IG51bGwpCi0gICAgICAgIGFsd2F5c09wZW5FeHRlcm5hbGx5ID0gd2luZG93
LmV2ZW50ID8gd2luZG93LmV2ZW50Lm1ldGFLZXkgOiBmYWxzZTsKKyAgICBpZiAob3B0aW9ucy5h
bHdheXNPcGVuRXh0ZXJuYWxseSA9PT0gdW5kZWZpbmVkIHx8IG9wdGlvbnMuYWx3YXlzT3BlbkV4
dGVybmFsbHkgPT09IG51bGwpCisgICAgICAgIG9wdGlvbnMuYWx3YXlzT3BlbkV4dGVybmFsbHkg
PSB3aW5kb3cuZXZlbnQgPyB3aW5kb3cuZXZlbnQubWV0YUtleSA6IGZhbHNlOwogCi0gICAgaWYg
KGFsd2F5c09wZW5FeHRlcm5hbGx5KSB7CisgICAgaWYgKG9wdGlvbnMuYWx3YXlzT3BlbkV4dGVy
bmFsbHkpIHsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lm9wZW5Jbk5ld1RhYih1cmwp
OwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtODQ0LDggKzg0NCw4IEBAIFdlYkluc3BlY3Rv
ci5vcGVuVVJMID0gZnVuY3Rpb24odXJsLCBmcmFtZSwgYWx3YXlzT3BlbkV4dGVybmFsbHksIGxp
bmVOdW1iZXIpCiAgICAgbGV0IHNpbXBsaWZpZWRVUkwgPSByZW1vdmVVUkxGcmFnbWVudCh1cmwp
OwogICAgIHZhciByZXNvdXJjZSA9IGZyYW1lLnVybCA9PT0gc2ltcGxpZmllZFVSTCA/IGZyYW1l
Lm1haW5SZXNvdXJjZSA6IGZyYW1lLnJlc291cmNlRm9yVVJMKHNpbXBsaWZpZWRVUkwsIHNlYXJj
aENoaWxkRnJhbWVzKTsKICAgICBpZiAocmVzb3VyY2UpIHsKLSAgICAgICAgdmFyIHBvc2l0aW9u
ID0gbmV3IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlUG9zaXRpb24obGluZU51bWJlciwgMCk7Ci0g
ICAgICAgIHRoaXMuc2hvd1NvdXJjZUNvZGUocmVzb3VyY2UsIHBvc2l0aW9uKTsKKyAgICAgICAg
bGV0IHBvc2l0aW9uVG9SZXZlYWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVQb3NpdGlv
bihvcHRpb25zLmxpbmVOdW1iZXIsIDApOworICAgICAgICB0aGlzLnNob3dTb3VyY2VDb2RlKHJl
c291cmNlLCBPYmplY3Quc2hhbGxvd01lcmdlKG9wdGlvbnMsIHtwb3NpdGlvblRvUmV2ZWFsfSkp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9CcmVha3BvaW50UG9wb3ZlckNvbnRyb2xs
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9C
cmVha3BvaW50UG9wb3ZlckNvbnRyb2xsZXIuanMKaW5kZXggMWIzMGZjOS4uMmFhNGQzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMv
QnJlYWtwb2ludFBvcG92ZXJDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0JyZWFrcG9pbnRQb3BvdmVyQ29udHJvbGxlci5q
cwpAQCAtNjcsNyArNjcsNyBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludFBvcG92ZXJDb250cm9s
bGVyID0gY2xhc3MgQnJlYWtwb2ludFBvcG92ZXJDb250cm9sbGVyIGV4dAogICAgICAgICB9Owog
CiAgICAgICAgIGNvbnN0IHJldmVhbE9yaWdpbmFsU291cmNlQ29kZUxvY2F0aW9uID0gKCkgPT4g
ewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dPcmlnaW5hbE9yRm9ybWF0dGVkU291cmNl
Q29kZUxvY2F0aW9uKGJyZWFrcG9pbnQuc291cmNlQ29kZUxvY2F0aW9uKTsKKyAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5zaG93T3JpZ2luYWxPckZvcm1hdHRlZFNvdXJjZUNvZGVMb2NhdGlvbihi
cmVha3BvaW50LnNvdXJjZUNvZGVMb2NhdGlvbiwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsK
ICAgICAgICAgfTsKIAogICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5p
c0JyZWFrcG9pbnRFZGl0YWJsZShicmVha3BvaW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckZyb250ZW5kQVBJLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9y
RnJvbnRlbmRBUEkuanMKaW5kZXggOTllZjM3Mi4uMTNiNTBkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yRnJvbnRlbmRB
UEkuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wv
SW5zcGVjdG9yRnJvbnRlbmRBUEkuanMKQEAgLTEwOSw3ICsxMDksNyBAQCBJbnNwZWN0b3JGcm9u
dGVuZEFQSSA9IHsKIAogICAgIHNob3dNYWluUmVzb3VyY2VGb3JGcmFtZTogZnVuY3Rpb24oZnJh
bWVJZGVudGlmaWVyKQogICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2Rl
Rm9yRnJhbWUoZnJhbWVJZGVudGlmaWVyKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3Vy
Y2VDb2RlRm9yRnJhbWUoZnJhbWVJZGVudGlmaWVyLCB7aWdub3JlTmV0d29ya1RhYjogdHJ1ZX0p
OwogICAgIH0sCiAKICAgICBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZDogZnVuY3Rpb24oaWQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NT
dHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzCmluZGV4IDE5
MTc0OWMuLjE4OTM5MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25U
ZXh0RWRpdG9yLmpzCkBAIC0xNjgwLDcgKzE2ODAsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVE
ZWNsYXJhdGlvblRleHRFZGl0b3IgPSBjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRv
cgogICAgICAgICAgICAgaWYgKCFzb3VyY2VDb2RlIHx8ICFyYW5nZSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29k
ZUxvY2F0aW9uKHNvdXJjZUNvZGUuY3JlYXRlU291cmNlQ29kZUxvY2F0aW9uKHJhbmdlLnN0YXJ0
TGluZSwgcmFuZ2Uuc3RhcnRDb2x1bW4pKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93
U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGUuY3JlYXRlU291cmNlQ29kZUxvY2F0aW9uKHJh
bmdlLnN0YXJ0TGluZSwgcmFuZ2Uuc3RhcnRDb2x1bW4pLCB7aWdub3JlTmV0d29ya1RhYjogdHJ1
ZX0pOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcHV0ZWRTdHlsZURl
dGFpbHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0NvbXB1dGVkU3R5bGVEZXRhaWxzUGFuZWwuanMKaW5kZXggMGU3YTIzOC4uMmE5NWMxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcHV0
ZWRTdHlsZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Db21wdXRlZFN0eWxlRGV0YWlsc1BhbmVsLmpzCkBAIC0xMDMsNyArMTAz
LDcgQEAgV2ViSW5zcGVjdG9yLkNvbXB1dGVkU3R5bGVEZXRhaWxzUGFuZWwgPSBjbGFzcyBDb21w
dXRlZFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMKICAgICAgICAgbGV0IHNvdXJjZUNvZGUgPSBv
d25lclJ1bGUuc291cmNlQ29kZUxvY2F0aW9uLnNvdXJjZUNvZGU7CiAgICAgICAgIGxldCB7c3Rh
cnRMaW5lLCBzdGFydENvbHVtbn0gPSBlZmZlY3RpdmVQcm9wZXJ0eS5zdHlsZVNoZWV0VGV4dFJh
bmdlOwogICAgICAgICBsZXQgc291cmNlQ29kZUxvY2F0aW9uID0gc291cmNlQ29kZS5jcmVhdGVT
b3VyY2VDb2RlTG9jYXRpb24oc3RhcnRMaW5lLCBzdGFydENvbHVtbik7Ci0gICAgICAgIFdlYklu
c3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVMb2NhdGlvbik7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVMb2NhdGlv
biwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICB9CiAKICAgICByZWZyZXNoKHNpZ25p
ZmljYW50Q2hhbmdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0aWxpdGllcy5qcwppbmRleCBlZjYx
MDBhLi40MGI0ODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0aWxpdGllcy5qcwpAQCAtMzgs
OCArMzgsNyBAQCBXZWJJbnNwZWN0b3IuYXBwZW5kQ29udGV4dE1lbnVJdGVtc0ZvclNvdXJjZUNv
ZGUgPSBmdW5jdGlvbihjb250ZXh0TWVudSwgc291cmNlQwogICAgIGlmIChzb3VyY2VDb2RlLnVy
bCkgewogICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiT3BlbiBpbiBOZXcgVGFiIiksICgpID0+IHsKICAgICAgICAgICAgIGNvbnN0IGZyYW1lID0g
bnVsbDsKLSAgICAgICAgICAgIGNvbnN0IGFsd2F5c09wZW5FeHRlcm5hbGx5ID0gdHJ1ZTsKLSAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5vcGVuVVJMKHNvdXJjZUNvZGUudXJsLCBmcmFtZSwgYWx3
YXlzT3BlbkV4dGVybmFsbHkpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLm9wZW5VUkwoc291
cmNlQ29kZS51cmwsIGZyYW1lLCB7YWx3YXlzT3BlbkV4dGVybmFsbHk6IHRydWV9KTsKICAgICAg
ICAgfSk7CiAKICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkNvcHkgTGluayBBZGRyZXNzIiksICgpID0+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50
Vmlldy5qcwppbmRleCAzN2Q5ZGFlLi5iYzYzOTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRW
aWV3LmpzCkBAIC00MzEsNyArNDMxLDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmll
dyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci4KICAgICAg
ICAgICAgIC8vIHRvIHNlZSBpZiB0aGUgY29tbWFuZCBrZXkgaXMgZG93biBsaWtlIGl0IG5vcm1h
bGx5IHdvdWxkLiBTbyB3ZSBuZWVkIHRvIGRvIHRoYXQgY2hlY2sKICAgICAgICAgICAgIC8vIGJl
Zm9yZSBjYWxsaW5nIFdlYkluc3BlY3Rvci5vcGVuVVJMLgogICAgICAgICAgICAgdmFyIGFsd2F5
c09wZW5FeHRlcm5hbGx5ID0gZXZlbnQgPyBldmVudC5tZXRhS2V5IDogZmFsc2U7Ci0gICAgICAg
ICAgICBXZWJJbnNwZWN0b3Iub3BlblVSTChhbmNob3JFbGVtZW50LmhyZWYsIHRoaXMuX2ZyYW1l
LCBhbHdheXNPcGVuRXh0ZXJuYWxseSwgYW5jaG9yRWxlbWVudC5saW5lTnVtYmVyKTsKKyAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5vcGVuVVJMKGFuY2hvckVsZW1lbnQuaHJlZiwgdGhpcy5fZnJh
bWUsIHthbHdheXNPcGVuRXh0ZXJuYWxseSwgbGluZU51bWJlcjogYW5jaG9yRWxlbWVudC5saW5l
TnVtYmVyfSk7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBTdGFydCBhIHRpbWVvdXQgc2luY2Ug
dGhpcyBpcyBhIHNpbmdsZSBjbGljaywgaWYgdGhlIHRpbWVvdXQgaXMgY2FuY2VsZWQgYmVmb3Jl
IGl0IGZpcmVzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRE9NVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcwppbmRleCBiZWU3YTFkLi42ZjMxZWEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01U
cmVlRWxlbWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9ET01UcmVlRWxlbWVudC5qcwpAQCAtNjUyLDE0ICs2NTIsMTMgQEAgV2ViSW5zcGVjdG9y
LkRPTVRyZWVFbGVtZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuVHJlZUVsZW0KIAogICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJPcGVuIGluIE5ldyBUYWIiKSwgKCkgPT4gewogICAgICAgICAg
ICAgICAgICAgICBjb25zdCBmcmFtZSA9IG51bGw7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0
IGFsd2F5c09wZW5FeHRlcm5hbGx5ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLm9wZW5VUkwodXJsLCBmcmFtZSwgYWx3YXlzT3BlbkV4dGVybmFsbHkpOworICAgICAg
ICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iub3BlblVSTCh1cmwsIGZyYW1lLCB7YWx3YXlzT3Bl
bkV4dGVybmFsbHk6IHRydWV9KTsKICAgICAgICAgICAgICAgICB9KTsKIAogICAgICAgICAgICAg
ICAgIGlmIChXZWJJbnNwZWN0b3IuZnJhbWVSZXNvdXJjZU1hbmFnZXIucmVzb3VyY2VGb3JVUkwo
dXJsKSkgewogICAgICAgICAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYklu
c3BlY3Rvci5VSVN0cmluZygiUmV2ZWFsIGluIFJlc291cmNlcyBUYWIiKSwgKCkgPT4gewogICAg
ICAgICAgICAgICAgICAgICAgICAgbGV0IGZyYW1lID0gV2ViSW5zcGVjdG9yLmZyYW1lUmVzb3Vy
Y2VNYW5hZ2VyLmZyYW1lRm9ySWRlbnRpZmllcihub2RlLmZyYW1lSWRlbnRpZmllcik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iub3BlblVSTCh1cmwsIGZyYW1lKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5vcGVuVVJMKHVybCwgZnJhbWUsIHtp
Z25vcmVOZXR3b3JrVGFiOiB0cnVlfSk7CiAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAg
ICAgICAgICAgIH0KIApAQCAtMTUxNCw3ICsxNTEzLDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVF
bGVtZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVHJlZUVs
ZW0KICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgICAgICAg
ICBsZXQgc291cmNlQ29kZUxvY2F0aW9uID0gc291cmNlQ29kZS5jcmVhdGVTb3VyY2VDb2RlTG9j
YXRpb24obG9jYXRpb24ubGluZU51bWJlciwgbG9jYXRpb24uY29sdW1uTnVtYmVyIHx8IDApOwot
ICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbihz
b3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hv
d1NvdXJjZUNvZGVMb2NhdGlvbihzb3VyY2VDb2RlTG9jYXRpb24sIHtpZ25vcmVOZXR3b3JrVGFi
OiB0cnVlfSk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgcmVzdWx0LnJl
bGVhc2UoKTsKICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5q
cwppbmRleCA3NjdhNDEyLi5jNjM2NWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5l
bC5qcwpAQCAtNzgyLDcgKzc4Miw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNpZGViYXJQYW5l
bCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5z
cGVjdG9yLlJlc291cmNlVHJlZUVsZW1lbnQgfHwgdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuU2NyaXB0VHJlZUVsZW1lbnQpIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5z
aG93U291cmNlQ29kZSh0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgICAg
ICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmpl
Y3QsIHtpZ25vcmVOZXR3b3JrVGFiOiB0cnVlfSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIApAQCAtNzkyLDEyICs3OTIsMTIgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2lkZWJh
clBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAg
ICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLmFjdGl2ZUNhbGxGcmFt
ZSA9IGNhbGxGcmFtZTsKIAogICAgICAgICAgICAgaWYgKGNhbGxGcmFtZS5zb3VyY2VDb2RlTG9j
YXRpb24pCi0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2RlTG9jYXRp
b24oY2FsbEZyYW1lLnNvdXJjZUNvZGVMb2NhdGlvbik7CisgICAgICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLnNob3dTb3VyY2VDb2RlTG9jYXRpb24oY2FsbEZyYW1lLnNvdXJjZUNvZGVMb2NhdGlv
biwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCiAgICAgICAgIGlmICh0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5J
c3N1ZVRyZWVFbGVtZW50KSB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNv
ZGVMb2NhdGlvbih0cmVlRWxlbWVudC5pc3N1ZU1lc3NhZ2Uuc291cmNlQ29kZUxvY2F0aW9uKTsK
KyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHRyZWVFbGVt
ZW50Lmlzc3VlTWVzc2FnZS5zb3VyY2VDb2RlTG9jYXRpb24sIHtpZ25vcmVOZXR3b3JrVGFiOiB0
cnVlfSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtODA2LDcgKzgwNiw3
IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lk
ZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAKICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSB0
cmVlRWxlbWVudC5icmVha3BvaW50OwogICAgICAgICBpZiAodHJlZUVsZW1lbnQudHJlZU91dGxp
bmUgPT09IHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUpIHsKLSAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKGJyZWFrcG9pbnQuc291cmNlQ29kZUxvY2F0
aW9uKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKGJy
ZWFrcG9pbnQuc291cmNlQ29kZUxvY2F0aW9uLCB7aWdub3JlTmV0d29ya1RhYjogdHJ1ZX0pOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTgxNyw3ICs4MTcsNyBAQCBXZWJJ
bnNwZWN0b3IuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5l
bCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICBpZiAoISh0cmVlRWxlbWVudC5wYXJlbnQucmVw
cmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuU291cmNlQ29kZSkpCiAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2RlTG9j
YXRpb24oYnJlYWtwb2ludC5zb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICBXZWJJbnNwZWN0
b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbihicmVha3BvaW50LnNvdXJjZUNvZGVMb2NhdGlvbiwg
e2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICB9CiAKICAgICBfY29tcGFyZVRvcExldmVs
VHJlZUVsZW1lbnRzKGEsIGIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9OZXR3b3JrR3JpZENvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya0dyaWRDb250ZW50Vmlldy5qcwpp
bmRleCA1MGM1OGY4Li5lNTVhOTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya0dyaWRDb250ZW50Vmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrR3JpZENvbnRlbnRW
aWV3LmpzCkBAIC0yMjUsNiArMjI1LDE1IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrR3JpZENvbnRl
bnRWaWV3ID0gY2xhc3MgTmV0d29ya0dyaWRDb250ZW50VmlldyBleHRlbmRzIFdlYkluCiAgICAg
ICAgIHRoaXMucmVzZXQoKTsKICAgICB9CiAKKyAgICBoYXNSZXByZXNlbnRlZE9iamVjdChyZXBy
ZXNlbnRlZE9iamVjdCkKKyAgICB7CisgICAgICAgIGNvbnN0IGNvbXBhcmF0b3IgPSAoZGF0YUdy
aWROb2RlKSA9PiBkYXRhR3JpZE5vZGUucmVzb3VyY2UgPT09IHJlcHJlc2VudGVkT2JqZWN0Owor
ICAgICAgICBjb25zdCBza2lwSGlkZGVuID0gdHJ1ZTsKKyAgICAgICAgY29uc3Qgc3RheVdpdGhp
biA9IGZhbHNlOworICAgICAgICBjb25zdCBkb250UG9wdWxhdGUgPSB0cnVlOworICAgICAgICBy
ZXR1cm4gdGhpcy5fZGF0YUdyaWQuZmluZE5vZGUoY29tcGFyYXRvciwgc2tpcEhpZGRlbiwgc3Rh
eVdpdGhpbiwgZG9udFBvcHVsYXRlKTsKKyAgICB9CisKICAgICAvLyBQcml2YXRlCiAKICAgICBf
cHJvY2Vzc1BlbmRpbmdSZWNvcmRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrU2lkZWJhclBhbmVsLmpzCmlu
ZGV4IGIyZjA1ODEuLmNmNzhhNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1NpZGViYXJQYW5lbC5qcwpA
QCAtOTQsNiArOTQsMTEgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwgPSBjbGFz
cyBOZXR3b3JrU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjdG8KICAgICAgICAgcmV0dXJu
ICF0aGlzLnJlc3RvcmluZ1N0YXRlIHx8ICF0aGlzLl9yZXN0b3JlZFNob3dpbmdOZXR3b3JrR3Jp
ZENvbnRlbnRWaWV3OwogICAgIH0KIAorICAgIGhhc1JlcHJlc2VudGVkT2JqZWN0KHJlcHJlc2Vu
dGVkT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX25ldHdvcmtHcmlkVmlldy5o
YXNSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCk7CisgICAgfQorCiAgICAgLy8g
UHJvdGVjdGVkCiAKICAgICBzYXZlU3RhdGVUb0Nvb2tpZShjb29raWUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFiQ29udGVu
dFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3
b3JrVGFiQ29udGVudFZpZXcuanMKaW5kZXggMGU5MGEwNy4uZDEyY2NiMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYkNvbnRl
bnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L05ldHdvcmtUYWJDb250ZW50Vmlldy5qcwpAQCAtNTYsNyArNTYsMTAgQEAgV2ViSW5zcGVjdG9y
Lk5ldHdvcmtUYWJDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJDb250ZW50VmlldyBleHRl
bmRzIFdlYkluc3AKIAogICAgIGNhblNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9i
amVjdCkKICAgICB7Ci0gICAgICAgIHJldHVybiByZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9m
IFdlYkluc3BlY3Rvci5SZXNvdXJjZTsKKyAgICAgICAgaWYgKCEocmVwcmVzZW50ZWRPYmplY3Qg
aW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmhhc1Jl
cHJlc2VudGVkT2JqZWN0KHJlcHJlc2VudGVkT2JqZWN0KTsKICAgICB9CiAKICAgICBnZXQgc3Vw
cG9ydHNTcGxpdENvbnRlbnRCcm93c2VyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGltZWxpbmVWaWV3Lmpz
CmluZGV4IDg2Njg4ZTMuLjI0MTRkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RpbWVsaW5lVmlldy5q
cwpAQCAtMTg4LDcgKzE4OCw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZWxpbmVWaWV3ID0g
Y2xhc3MgTmV0d29ya1RpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlY3RvCiAgICAgc2hvd0Nv
bnRlbnRWaWV3Rm9yVHJlZUVsZW1lbnQodHJlZUVsZW1lbnQpCiAgICAgewogICAgICAgICBpZiAo
dHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudCB8
fCB0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5TY3JpcHRUcmVlRWxlbWVudCkg
ewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2RlKHRyZWVFbGVtZW50LnJl
cHJlc2VudGVkT2JqZWN0KTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29k
ZSh0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlQmFzZVRyZWVFbGVt
ZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0
VHJlZUJhc2VUcmVlRWxlbWVudC5qcwppbmRleCA1M2FmYTEzLi5lM2E2MWNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RUcmVlQmFz
ZVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL09iamVjdFRyZWVCYXNlVHJlZUVsZW1lbnQuanMKQEAgLTIyOCw3ICsyMjgsNyBAQCBX
ZWJJbnNwZWN0b3IuT2JqZWN0VHJlZUJhc2VUcmVlRWxlbWVudCA9IGNsYXNzIE9iamVjdFRyZWVC
YXNlVHJlZUVsZW1lbnQgZXh0ZW5kcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNvdXJjZUNvZGVMb2NhdGlvbiA9IHNv
dXJjZUNvZGUuY3JlYXRlU291cmNlQ29kZUxvY2F0aW9uKGxvY2F0aW9uLmxpbmVOdW1iZXIsIGxv
Y2F0aW9uLmNvbHVtbk51bWJlciB8fCAwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVMb2NhdGlvbik7CisgICAg
ICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbihz
b3VyY2VDb2RlTG9jYXRpb24sIHtpZ25vcmVOZXR3b3JrVGFiOiB0cnVlfSk7CiAgICAgICAgICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VT
aWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qcwppbmRleCA0YjkzZTYxLi5lNDJjMjk1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNp
ZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qcwpAQCAtNDIyLDcgKzQyMiw3IEBAIFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZVNpZGViYXJQYW5lbCA9IGNsYXNzIFJlc291cmNlU2lkZWJhclBhbmVsIGV4
dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgICAgICB8fCB0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdl
Ykluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50CiAgICAgICAgICAgICB8fCB0cmVlRWxlbWVu
dCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5TY3JpcHRUcmVlRWxlbWVudAogICAgICAgICAgICAg
fHwgdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuQ29udGVudEZsb3dUcmVlRWxl
bWVudCkgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dSZXByZXNlbnRlZE9iamVjdCh0
cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
c2hvd1JlcHJlc2VudGVkT2JqZWN0KHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0LCBudWxs
LCB7aWdub3JlTmV0d29ya1RhYjogdHJ1ZX0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCmlu
ZGV4IGE4MmZhYmUuLmU0ZGIwMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VUaW1lbGlu
ZURhdGFHcmlkTm9kZS5qcwpAQCAtMjQwLDcgKzI0MCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJj
ZVRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgUmVzb3VyY2VUaW1lbGluZURhdGFHcmlkTm9k
ZSBlCiAKICAgICBfZGF0YUdyaWROb2RlR29Ub0Fycm93Q2xpY2tlZCgpCiAgICAgewotICAgICAg
ICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGUodGhpcy5fcmVzb3VyY2UpOworICAgICAgICBX
ZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGUodGhpcy5fcmVzb3VyY2UsIHtpZ25vcmVOZXR3b3Jr
VGFiOiB0cnVlfSk7CiAgICAgfQogCiAgICAgX3VwZGF0ZVN0YXR1cyhjZWxsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJh
clBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2Vh
cmNoU2lkZWJhclBhbmVsLmpzCmluZGV4IDIwYTc3YzI2Li43OTIzMGRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2Vh
cmNoU2lkZWJhclBhbmVsLmpzCkBAIC0zNTYsNyArMzU2LDcgQEAgV2ViSW5zcGVjdG9yLlNlYXJj
aFNpZGViYXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3Bl
Y3Rvci4KICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBpZiAodHJlZUVsZW1lbnQgaW5z
dGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudCB8fCB0cmVlRWxlbWVudCBp
bnN0YW5jZW9mIFdlYkluc3BlY3Rvci5TY3JpcHRUcmVlRWxlbWVudCkgewotICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLnNob3dSZXByZXNlbnRlZE9iamVjdCh0cmVlRWxlbWVudC5yZXByZXNlbnRl
ZE9iamVjdCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1JlcHJlc2VudGVkT2JqZWN0
KHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0LCBudWxsLCB7aWdub3JlTmV0d29ya1RhYjog
dHJ1ZX0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTM2Nyw3ICszNjcs
NyBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2VhcmNoU2lkZWJh
clBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgICAgICBpZiAodHJlZUVsZW1lbnQucmVw
cmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRE9NU2VhcmNoTWF0Y2hPYmpl
Y3QpCiAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd01haW5GcmFtZURPTVRyZWUodHJlZUVs
ZW1lbnQucmVwcmVzZW50ZWRPYmplY3QuZG9tTm9kZSk7CiAgICAgICAgIGVsc2UgaWYgKHRyZWVF
bGVtZW50LnJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlNvdXJjZUNv
ZGVTZWFyY2hNYXRjaE9iamVjdCkKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93T3JpZ2lu
YWxPckZvcm1hdHRlZFNvdXJjZUNvZGVUZXh0UmFuZ2UodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRP
YmplY3Quc291cmNlQ29kZVRleHRSYW5nZSk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hv
d09yaWdpbmFsT3JGb3JtYXR0ZWRTb3VyY2VDb2RlVGV4dFJhbmdlKHRyZWVFbGVtZW50LnJlcHJl
c2VudGVkT2JqZWN0LnNvdXJjZUNvZGVUZXh0UmFuZ2UsIHtpZ25vcmVOZXR3b3JrVGFiOiB0cnVl
fSk7CiAgICAgfQogCiAgICAgX3RyZWVFbGVtZW50RG91YmxlQ2xpY2soZXZlbnQpCkBAIC0zNzYs
MTAgKzM3Niw5IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hTaWRlYmFyUGFuZWwgPSBjbGFzcyBTZWFy
Y2hTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAgICAgIGlmICghdHJlZUVs
ZW1lbnQpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtp
Z25vcmVTZWFyY2hUYWI6IHRydWV9OwogICAgICAgICBpZiAodHJlZUVsZW1lbnQucmVwcmVzZW50
ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRE9NU2VhcmNoTWF0Y2hPYmplY3QpCi0g
ICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd01haW5GcmFtZURPTVRyZWUodHJlZUVsZW1lbnQu
cmVwcmVzZW50ZWRPYmplY3QuZG9tTm9kZSwgb3B0aW9ucyk7CisgICAgICAgICAgICBXZWJJbnNw
ZWN0b3Iuc2hvd01haW5GcmFtZURPTVRyZWUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3Qu
ZG9tTm9kZSwge2lnbm9yZVNlYXJjaFRhYjogdHJ1ZX0pOwogICAgICAgICBlbHNlIGlmICh0cmVl
RWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Tb3VyY2VD
b2RlU2VhcmNoTWF0Y2hPYmplY3QpCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd09yaWdp
bmFsT3JGb3JtYXR0ZWRTb3VyY2VDb2RlVGV4dFJhbmdlKHRyZWVFbGVtZW50LnJlcHJlc2VudGVk
T2JqZWN0LnNvdXJjZUNvZGVUZXh0UmFuZ2UsIG9wdGlvbnMpOworICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLnNob3dPcmlnaW5hbE9yRm9ybWF0dGVkU291cmNlQ29kZVRleHRSYW5nZSh0cmVlRWxl
bWVudC5yZXByZXNlbnRlZE9iamVjdC5zb3VyY2VDb2RlVGV4dFJhbmdlLCB7aWdub3JlTmV0d29y
a1RhYjogdHJ1ZSwgaWdub3JlU2VhcmNoVGFiOiB0cnVlfSk7CiAgICAgfQogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVU
ZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlQ29kZVRleHRFZGl0b3IuanMKaW5kZXggMjE1YmZiYy4uNTIzYjkyOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRl
eHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKQEAgLTE2NjksOSArMTY2OSw5IEBAIFdlYkluc3Bl
Y3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9IGNsYXNzIFNvdXJjZUNvZGVUZXh0RWRpdG9yIGV4
dGVuZHMgV2ViSW5zcGVjCiAKICAgICAgICAgdmFyIHNvdXJjZUNvZGVMb2NhdGlvbiA9IHRoaXMu
X3NvdXJjZUNvZGVMb2NhdGlvbkZvckVkaXRvclBvc2l0aW9uKHRoaXMudG9rZW5UcmFja2luZ0Nv
bnRyb2xsZXIuY2FuZGlkYXRlLmhvdmVyZWRUb2tlblJhbmdlLnN0YXJ0KTsKICAgICAgICAgaWYg
KHRoaXMuc291cmNlQ29kZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Tb3VyY2VNYXBSZXNvdXJj
ZSkKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93T3JpZ2luYWxPckZvcm1hdHRlZFNvdXJj
ZUNvZGVMb2NhdGlvbihzb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLnNob3dPcmlnaW5hbE9yRm9ybWF0dGVkU291cmNlQ29kZUxvY2F0aW9uKHNvdXJjZUNvZGVM
b2NhdGlvbiwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VDb2RlTG9jYXRpb24oc291cmNlQ29kZUxvY2F0
aW9uKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHNv
dXJjZUNvZGVMb2NhdGlvbiwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICB9CiAKICAg
ICB0b2tlblRyYWNraW5nQ29udHJvbGxlck5ld0hpZ2hsaWdodENhbmRpZGF0ZSh0b2tlblRyYWNr
aW5nQ29udHJvbGxlciwgY2FuZGlkYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanMKaW5kZXggZGU4NzIzNi4uN2Zl
N2EyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGFiQnJvd3Nlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UYWJCcm93c2VyLmpzCkBAIC0xMTUsNiArMTE1LDkgQEAgV2ViSW5zcGVjdG9yLlRh
YkJyb3dzZXIgPSBjbGFzcyBUYWJCcm93c2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAg
ICAgICAgICAgIGlmIChvcHRpb25zLmlnbm9yZVNlYXJjaFRhYiAmJiB0YWJDb250ZW50VmlldyBp
bnN0YW5jZW9mIFdlYkluc3BlY3Rvci5TZWFyY2hUYWJDb250ZW50VmlldykKICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKIAorICAgICAgICAgICAgaWYgKG9wdGlvbnMuaWdub3JlTmV0d29ya1Rh
YiAmJiB0YWJDb250ZW50VmlldyBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5OZXR3b3JrVGFiQ29u
dGVudFZpZXcpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgIGlmICh0
YWJDb250ZW50Vmlldy5jYW5TaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRPYmplY3Qp
KQogICAgICAgICAgICAgICAgIHJldHVybiB0YWJDb250ZW50VmlldzsKICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVEYXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RpbWVsaW5lRGF0YUdyaWQuanMKaW5kZXggMDFmMTEyNS4uODRlZGVlYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3Jp
ZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZURhdGFHcmlkLmpzCkBAIC01MjUsNyArNTI1LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
RGF0YUdyaWQgPSBjbGFzcyBUaW1lbGluZURhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLkRh
dGEKICAgICAgICAgaWYgKCFjYWxsRnJhbWUuc291cmNlQ29kZUxvY2F0aW9uKQogICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgICAgIFdlYkluc3BlY3Rvci5zaG93U291cmNlQ29kZUxvY2F0aW9u
KGNhbGxGcmFtZS5zb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICBXZWJJbnNwZWN0b3Iuc2hv
d1NvdXJjZUNvZGVMb2NhdGlvbihjYWxsRnJhbWUuc291cmNlQ29kZUxvY2F0aW9uLCB7aWdub3Jl
TmV0d29ya1RhYjogdHJ1ZX0pOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRl
bS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0
eWxlU2VsZWN0b3JUcmVlSXRlbS5qcwppbmRleCA4MDdjM2ExLi4yZmU5NzBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNl
bGVjdG9yVHJlZUl0ZW0uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLmpzCkBAIC0xMzgsOSArMTM4LDkg
QEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbSA9IGNsYXNzIFZpc3Vh
bFN0eWxlU2VsZWN0b3JUcmVlSXRlbSBleHQKIAogICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJ
dGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyBTb3VyY2UiKSwgKCkgPT4gewogICAgICAg
ICAgICAgaWYgKGV2ZW50Lm1ldGFLZXkpCi0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNo
b3dPcmlnaW5hbFVuZm9ybWF0dGVkU291cmNlQ29kZUxvY2F0aW9uKHRoaXMucmVwcmVzZW50ZWRP
YmplY3Qub3duZXJSdWxlLnNvdXJjZUNvZGVMb2NhdGlvbik7CisgICAgICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLnNob3dPcmlnaW5hbFVuZm9ybWF0dGVkU291cmNlQ29kZUxvY2F0aW9uKHRoaXMu
cmVwcmVzZW50ZWRPYmplY3Qub3duZXJSdWxlLnNvdXJjZUNvZGVMb2NhdGlvbiwge2lnbm9yZU5l
dHdvcmtUYWI6IHRydWV9KTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3Iuc2hvd1NvdXJjZUNvZGVMb2NhdGlvbih0aGlzLnJlcHJlc2VudGVkT2JqZWN0Lm93
bmVyUnVsZS5zb3VyY2VDb2RlTG9jYXRpb24pOworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5zaG93U291cmNlQ29kZUxvY2F0aW9uKHRoaXMucmVwcmVzZW50ZWRPYmplY3Qub3duZXJSdWxl
LnNvdXJjZUNvZGVMb2NhdGlvbiwge2lnbm9yZU5ldHdvcmtUYWI6IHRydWV9KTsKICAgICAgICAg
fSk7CiAKICAgICAgICAgLy8gT25seSB1c2VkIG9uZSBjb2xvbiB0ZW1wb3JhcmlseSBzaW5jZSBz
aW5nbGUtY29sb24gcHNldWRvIGVsZW1lbnRzIGFyZSB2YWxpZCBDU1MuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>