<?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>202957</bug_id>
          
          <creation_ts>2019-10-14 15:05:46 -0700</creation_ts>
          <short_desc>Web Inspector: Local Resource Overrides: automatically create an image/font local override when dragging content over a non-overridden resource</short_desc>
          <delta_ts>2019-10-15 15:28:38 -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>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>InRadar</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>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>lingcherd_ho</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1579841</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-10-14 15:05:46 -0700</bug_when>
    <thetext>Dragging/Dropping an image/font over a non-overridden resource content view should automatically create a local override for that resource, populate it&apos;s content with the dragged/dropped file, and show it.  This saves the user from having to click on the &quot;Create Local Override&quot; navigation item for non-text resources (which aren&apos;t editable in Web Inspector anyways, so they&apos;d have to drag/drop).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579901</commentid>
    <comment_count>1</comment_count>
      <attachid>380937</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-10-14 16:40:43 -0700</bug_when>
    <thetext>Created attachment 380937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579954</commentid>
    <comment_count>2</comment_count>
      <attachid>380937</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-10-14 19:11:45 -0700</bug_when>
    <thetext>Comment on attachment 380937
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/DropZoneView.js:75
&gt; +    set text(text)

Might as well add a getter?

&gt; Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:70
&gt; +                this._importLocalResourceOverrideButtonNavigationItem.enabled = true;

I assume enabled is the default. Maybe this line can be removed.

&gt; Source/WebInspectorUI/UserInterface/Views/ResourceContentView.js:77
&gt;                  this._removeLocalResourceOverrideButtonNavigationItem.enabled = true;

Probably this one too then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580139</commentid>
    <comment_count>3</comment_count>
      <attachid>380937</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-10-15 09:52:42 -0700</bug_when>
    <thetext>Comment on attachment 380937
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DropZoneView.js:75
&gt;&gt; +    set text(text)
&gt; 
&gt; Might as well add a getter?

I&apos;d rather wait until it&apos;s actually needed.  We have a lot of getters all over that aren&apos;t ever used, and just add code &quot;bloat&quot;.  Plus, I kinda like the idea of &quot;preventing&quot; callers from getting data out of a `WI.DropZoneView` (at least from the API surface), as it&apos;s not really a place where one should be keeping data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580140</commentid>
    <comment_count>4</comment_count>
      <attachid>380996</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-10-15 09:53:42 -0700</bug_when>
    <thetext>Created attachment 380996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580149</commentid>
    <comment_count>5</comment_count>
      <attachid>380996</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-15 10:15:47 -0700</bug_when>
    <thetext>Comment on attachment 380996
Patch

Clearing flags on attachment: 380996

Committed r251144: &lt;https://trac.webkit.org/changeset/251144&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580150</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-15 10:15:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580330</commentid>
    <comment_count>7</comment_count>
    <who name="Ling Ho">lingcherd_ho</who>
    <bug_when>2019-10-15 15:28:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/56296743&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380937</attachid>
            <date>2019-10-14 16:40:43 -0700</date>
            <delta_ts>2019-10-15 09:53:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202957-20191014164043.patch</filename>
            <type>text/plain</type>
            <size>32485</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFlNTdmYmFjNWYxYTQwMjgzMmI2ODc1ZmY1NzVl
MmY4YmE0MGQ5NmMuLmFkYWIwNGM1YTUyZDM0MGRjYzgzZGNjYjI5YTYyYTJmYzA2YzViZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDE5LTEwLTE0ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBM
b2NhbCBSZXNvdXJjZSBPdmVycmlkZXM6IGF1dG9tYXRpY2FsbHkgY3JlYXRlIGFuIGltYWdlL2Zv
bnQgbG9jYWwgb3ZlcnJpZGUgd2hlbiBkcmFnZ2luZyBjb250ZW50IG92ZXIgYSBub24tb3ZlcnJp
ZGRlbiByZXNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAyOTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2luY2Ugbm9uLXRleHQgcmVzb3VyY2VzIGFyZW4ndCBlZGl0YWJsZSwgc29tZSB1c2Vy
cyBvZiBsb2NhbCByZXNvdXJjZSBvdmVycmlkZXMga2VwdCB0cnlpbmcKKyAgICAgICAgdG8gZHJh
ZyBpbWFnZS9mb250IGZpbGVzIG92ZXIgdGhlIGFjdHVhbCByZXNvdXJjZSBjb250ZW50IHZpZXcg
KG5vdCB0aGUgbG9jYWwgb3ZlcnJpZGUpLAorICAgICAgICB3aGljaCBkaWRuJ3QgZG8gYW55dGhp
bmcuIFJhdGhlciB0aGFuIGhhdmluZyB0byBjbGljayAiQ3JlYXRlIExvY2FsIE92ZXJyaWRlIiBh
bmQgdGhlbiBkbyBhCisgICAgICAgIGRyYWcvZHJvcCwgd2Ugc2hvdWxkIHN1cHBvcnQgdGhlICJz
aG9ydGVyIiB3b3JrZmxvdyBvZiBkcmFnL2Ryb3Agb3ZlciB0aGUgYWN0dWFsIHJlc291cmNlLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL0ZpbGVVdGlsaXRpZXMuanM6CisgICAgICAg
IChXSS5GaWxlVXRpbGl0aWVzLmltcG9ydCk6IEFkZGVkLgorICAgICAgICAoV0kuRmlsZVV0aWxp
dGllcy5pbXBvcnRUZXh0KToKKyAgICAgICAgKFdJLkZpbGVVdGlsaXRpZXMuaW1wb3J0SlNPTik6
CisgICAgICAgIChXSS5GaWxlVXRpbGl0aWVzLmltcG9ydERhdGEpOiBBZGRlZC4KKyAgICAgICAg
KFdJLkZpbGVVdGlsaXRpZXMuYXN5bmMgcmVhZFRleHQpOgorICAgICAgICAoV0kuRmlsZVV0aWxp
dGllcy5hc3luYyByZWFkSlNPTik6CisgICAgICAgIChXSS5GaWxlVXRpbGl0aWVzLmFzeW5jIHJl
YWREYXRhKTogQWRkZWQuCisgICAgICAgIChXSS5GaWxlVXRpbGl0aWVzLmFzeW5jIF9yZWFkKTog
QWRkZWQuCisgICAgICAgIENyZWF0ZSB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaW1wb3J0aW5nIG5v
bi10ZXh0IGNvbnRlbnQgYXMgZGF0YS4KKyAgICAgICAgRHJpdmUtYnk6IGZpeCBhIGJ1ZyBpbiB0
aGUgYGltcG9ydCpgIGZ1bmN0aW9ucyB3aGVyZSB0aGUgYGNhbGxiYWNrYCB3b3VsZCBiZSBib3Vu
ZCBvbiB0aGUKKyAgICAgICAgICAgICAgICAgIGZpcnN0IGNhbGwsIG1lYW5pbmcgdGhhdCBzaW5j
ZSB0aGUgYDxpbnB1dD5gIHdhcyBjYWNoZWQgZm9yIGFsbCBjYWxscywgd2UnZCBvbmx5CisgICAg
ICAgICAgICAgICAgICBldmVyIHVzZSB0aGUgZmlyc3QgYGNhbGxiYWNrYCBpbiBzdWJzZXF1ZW50
IGNhbGxzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Ecm9wWm9uZVZpZXcuanM6
CisgICAgICAgIChXSS5Ecm9wWm9uZVZpZXcpOgorICAgICAgICAoV0kuRHJvcFpvbmVWaWV3LnBy
b3RvdHlwZS5zZXQgdGV4dCk6IEFkZGVkLgorICAgICAgICBTdXBwb3J0IHRoZSB0ZXh0IGNvbnRl
bnQgb2YgdGhlIGRyb3Agem9uZSBjaGFuZ2luZyBhZnRlciBpdCdzIGluaXRpYWxpemVkLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Gb250UmVzb3VyY2VDb250ZW50Vmlldy5qczoK
KyAgICAgICAgKFdJLkZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3KToKKyAgICAgICAgKFdJLkZvbnRS
ZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5jb250ZW50QXZhaWxhYmxlKToKKyAgICAgICAg
KFdJLkZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5kcm9wWm9uZUhhbmRsZURyYWdF
bnRlcik6IEFkZGVkLgorICAgICAgICAoV0kuRm9udFJlc291cmNlQ29udGVudFZpZXcucHJvdG90
eXBlLmRyb3Bab25lSGFuZGxlRHJvcCk6CisgICAgICAgIChXSS5Gb250UmVzb3VyY2VDb250ZW50
Vmlldy5wcm90b3R5cGUuX2hhbmRsZUxvY2FsUmVzb3VyY2VDb250ZW50RGlkQ2hhbmdlKTogQWRk
ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9JbWFnZVJlc291cmNlQ29udGVudFZp
ZXcuanM6CisgICAgICAgIChXSS5JbWFnZVJlc291cmNlQ29udGVudFZpZXcpOgorICAgICAgICAo
V0kuSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5jb250ZW50QXZhaWxhYmxlKToK
KyAgICAgICAgKFdJLkltYWdlUmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUuZHJvcFpvbmVI
YW5kbGVEcmFnRW50ZXIpOiBBZGRlZC4KKyAgICAgICAgKFdJLkltYWdlUmVzb3VyY2VDb250ZW50
Vmlldy5wcm90b3R5cGUuZHJvcFpvbmVIYW5kbGVEcm9wKToKKyAgICAgICAgKFdJLkltYWdlUmVz
b3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZUxvY2FsUmVzb3VyY2VDb250ZW50RGlk
Q2hhbmdlKTogQWRkZWQuCisgICAgICAgIFN1cHBvcnQgZHJhZy9kcm9wIG9uIG5vbi1vdmVycmlk
ZSBpbWFnZS9mb250IGNvbnRlbnQgdmlld3MsIHdoaWNoIHdpbGwgY3JlYXRlL3VwZGF0ZSB0aGUK
KyAgICAgICAgbG9jYWwgcmVzb3VyY2Ugb3ZlcnJpZGUgZm9yIHRoYXQgcmVzb3VyY2UuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29udGVudFZpZXcuanM6CisgICAg
ICAgIChXSS5SZXNvdXJjZUNvbnRlbnRWaWV3KToKKyAgICAgICAgKFdJLlJlc291cmNlQ29udGVu
dFZpZXcucHJvdG90eXBlLmdldCBuYXZpZ2F0aW9uSXRlbXMpOgorICAgICAgICAoV0kuUmVzb3Vy
Y2VDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZUltcG9ydExvY2FsUmVzb3VyY2VPdmVycmlk
ZSk6IEFkZGVkLgorICAgICAgICBXaGVuIHZpZXdpbmcgYSBsb2NhbCByZXNvdXJjZSBvdmVycmlk
ZSwgYWRkIGFuICJJbXBvcnQiIG5hdmlnYXRpb24gaXRlbSBmb3Igbm9uLWRyYWcvZHJvcAorICAg
ICAgICB1cGRhdGluZyBvZiB0aGUgY29udGVudHMgb2YgdGhlIGxvY2FsIHJlc291cmNlIG92ZXJy
aWRlLiBUaGlzIGlzIGFsc28gZXhwb3NlZCBmb3IgdGV4dC1iYXNlZAorICAgICAgICBsb2NhbCBy
ZXNvdXJjZSBvdmVycmlkZXMsIHNpbmNlIGRyYWcvZHJvcCBpbnNlcnRzIHRoZSBjb250ZW50cyBv
ZiB0aGUgZmlsZSAoaWYgaXQncyB0ZXh0KSwKKyAgICAgICAgd2hpY2ggYXR0ZW1wdHMgdG8gZGV0
ZXJtaW5lIHdoZXRoZXIgdGhlIGRyb3BwZWQgZmlsZSBpcyB0ZXh0IG9yIGRhdGEgYmFzZWQgb24g
dGhlIE1JTUUgdHlwZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXROYXZp
Z2F0aW9uU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV0kuQXVkaXROYXZpZ2F0aW9uU2lkZWJh
clBhbmVsLnByb3RvdHlwZS5faGFuZGxlSW1wb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1DbGlja2Vk
KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NhbnZhc092ZXJ2aWV3Q29udGVudFZp
ZXcuanM6CisgICAgICAgIChXSS5DYW52YXNPdmVydmlld0NvbnRlbnRWaWV3LnByb3RvdHlwZS5f
aGFuZGxlSW1wb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1DbGlja2VkKToKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NhbnZhc1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdJLkNhbnZh
c1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX2hhbmRsZUltcG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVt
Q2xpY2tlZCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNU
aW1lbGluZVZpZXcuanM6CisgICAgICAgIChXSS5IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcu
cHJvdG90eXBlLl9pbXBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNsaWNrZWQpOgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxlQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXSS5OZXR3b3JrVGFibGVDb250ZW50Vmlldy5wcm90b3R5cGUuX2ltcG9ydEhBUik6CisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3Lmpz
OgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5wcm90b3R5cGUuX2lt
cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtQ2xpY2tlZCk6CisgICAgICAgIEV4cGxpY2l0bHkgYWxs
b3cgbXVsdGlwbGUgZmlsZXMgdG8gYmUgaW1wb3J0ZWQgYXQgdGhlIHNhbWUgdGltZS4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9CbG9iVXRpbGl0aWVzLmpzOgorICAgICAgICAoV0ku
QmxvYlV0aWxpdGllcy5ibG9iRm9yQ29udGVudCk6CisgICAgICAgIERyaXZlLWJ5OiByZW1vdmUg
ZXh0cmEgYGJhc2U2NEVuY29kZWRgIGFyZ3VtZW50IHdoZW4gY2FsbGluZyBgZGVjb2RlQmFzZTY0
VG9CbG9iYCwgd2hpY2gKKyAgICAgICAgICAgICAgICAgIGNhdXNlZCBTVkctYmFzZWQgaW1hZ2Ug
bG9jYWwgcmVzb3VyY2Ugb3ZlcnJpZGVzIHRvIHNob3cgYSBicm9rZW4gaW1hZ2Ugd2hlbgorICAg
ICAgICAgICAgICAgICAgY2xvc2luZyBhbmQgcmVvcGVuaW5nIFdlYiBJbnNwZWN0b3IuCisKKyAg
ICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisKIDIw
MTktMTAtMTEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IERlYnVnZ2VyOiBzdXBwb3J0IHBhdHRlcm4gYmxhY2tib3hpbmcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5s
cHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDc4YTg4OWJjM2NlMWRmMTI2ZWRmMzIwYjdj
ODJjMmFkMDgzY2QzNTYuLmYxOWYxNTQ5ODJlNGIzYWQ3NmI4MDRjOGQ0NGEyZTA0M2VhNzQxOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9q
L2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAtMzgyLDggKzM4Miw2IEBAIGxv
Y2FsaXplZFN0cmluZ3NbIkRvbWFpbiJdID0gIkRvbWFpbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJE
b25lIl0gPSAiRG9uZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJEb3dubG9hZCJdID0gIkRvd25sb2Fk
IjsKIGxvY2FsaXplZFN0cmluZ3NbIkRvd25sb2FkIFdlYiBBcmNoaXZlIl0gPSAiRG93bmxvYWQg
V2ViIEFyY2hpdmUiOwotbG9jYWxpemVkU3RyaW5nc1siRHJvcCBGb250Il0gPSAiRHJvcCBGb250
IjsKLWxvY2FsaXplZFN0cmluZ3NbIkRyb3AgSW1hZ2UiXSA9ICJEcm9wIEltYWdlIjsKIGxvY2Fs
aXplZFN0cmluZ3NbIkRyb3BwZWQgRWxlbWVudCJdID0gIkRyb3BwZWQgRWxlbWVudCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJEcm9wcGVkIE5vZGUiXSA9ICJEcm9wcGVkIE5vZGUiOwogbG9jYWxpemVk
U3RyaW5nc1siRHVwbGljYXRlIFNlbGVjdG9yIl0gPSAiRHVwbGljYXRlIFNlbGVjdG9yIjsKQEAg
LTEyMTcsNiArMTIxNSw5IEBAIGxvY2FsaXplZFN0cmluZ3NbIlVua25vd24gbm9kZSJdID0gIlVu
a25vd24gbm9kZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJVbnN1cHBvcnRlZCBwcm9wZXJ0eSBuYW1l
Il0gPSAiVW5zdXBwb3J0ZWQgcHJvcGVydHkgbmFtZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJVbnN1
cHBvcnRlZCBwcm9wZXJ0eSB2YWx1ZSJdID0gIlVuc3VwcG9ydGVkIHByb3BlcnR5IHZhbHVlIjsK
IGxvY2FsaXplZFN0cmluZ3NbIlVudGl0bGVkIl0gPSAiVW50aXRsZWQiOworbG9jYWxpemVkU3Ry
aW5nc1siVXBkYXRlIEZvbnQiXSA9ICJVcGRhdGUgRm9udCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJV
cGRhdGUgSW1hZ2UiXSA9ICJVcGRhdGUgSW1hZ2UiOworbG9jYWxpemVkU3RyaW5nc1siVXBkYXRl
IExvY2FsIE92ZXJyaWRlIl0gPSAiVXBkYXRlIExvY2FsIE92ZXJyaWRlIjsKIGxvY2FsaXplZFN0
cmluZ3NbIlVzYWdlOiAlcyJdID0gIlVzYWdlOiAlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJVc2Ug
RGVmYXVsdCBBcHBlYXJhbmNlIl0gPSAiVXNlIERlZmF1bHQgQXBwZWFyYW5jZSI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJVc2UgTW9jayBDYXB0dXJlIERldmljZXMiXSA9ICJVc2UgTW9jayBDYXB0dXJl
IERldmljZXMiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9CbG9iVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9CbG9iVXRpbGl0aWVzLmpzCmluZGV4IDA4YzYwYjA4NmQ2ZDdiNDliYThhN2I0
NDczMmNiYTY1MTdhYzkzMWQuLmRhNmYwNTU4YzE5MTQyNWMzZjU2OTMyNGI5ZDM1MWM4NjhjNDVi
YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2Uv
QmxvYlV0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL0Jsb2JVdGlsaXRpZXMuanMKQEAgLTI3LDcgKzI3LDcgQEAgV0kuQmxvYlV0aWxpdGll
cyA9IGNsYXNzIEJsb2JVdGlsaXRpZXMgewogICAgIHN0YXRpYyBibG9iRm9yQ29udGVudChjb250
ZW50LCBiYXNlNjRFbmNvZGVkLCBtaW1lVHlwZSkKICAgICB7CiAgICAgICAgIGlmIChiYXNlNjRF
bmNvZGVkKQotICAgICAgICAgICAgcmV0dXJuIEJsb2JVdGlsaXRpZXMuZGVjb2RlQmFzZTY0VG9C
bG9iKGNvbnRlbnQsIGJhc2U2NEVuY29kZWQsIG1pbWVUeXBlKTsKKyAgICAgICAgICAgIHJldHVy
biBCbG9iVXRpbGl0aWVzLmRlY29kZUJhc2U2NFRvQmxvYihjb250ZW50LCBtaW1lVHlwZSk7CiAg
ICAgICAgIHJldHVybiBCbG9iVXRpbGl0aWVzLnRleHRUb0Jsb2IoY29udGVudCwgbWltZVR5cGUp
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9GaWxlVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9GaWxlVXRpbGl0aWVzLmpzCmluZGV4IGZmN2Q4ZDA5NmMwZDlhNDI5Y2U3OThj
OWIzYjYxMGU3YzRmYjRlM2YuLjY4YTAyNzUzNzViYWQyZjk2N2FiNDZhYjBmYzZkMWZiNGZmMTc1
NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2Uv
RmlsZVV0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL0ZpbGVVdGlsaXRpZXMuanMKQEAgLTkxLDM3ICs5MSwxMDQgQEAgV0kuRmlsZVV0aWxp
dGllcyA9IGNsYXNzIEZpbGVVdGlsaXRpZXMgewogICAgICAgICBmaWxlUmVhZGVyLnJlYWRBc0Rh
dGFVUkwoc2F2ZURhdGEuY29udGVudCk7CiAgICAgfQogCi0gICAgc3RhdGljIGltcG9ydFRleHQo
Y2FsbGJhY2spCisgICAgc3RhdGljIGltcG9ydChjYWxsYmFjaywge211bHRpcGxlfSA9IHt9KQog
ICAgIHsKLSAgICAgICAgaWYgKCFGaWxlVXRpbGl0aWVzLl9pbXBvcnRUZXh0SW5wdXRFbGVtZW50
KSB7Ci0gICAgICAgICAgICBsZXQgaW5wdXRFbGVtZW50ID0gRmlsZVV0aWxpdGllcy5faW1wb3J0
VGV4dElucHV0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Ci0gICAg
ICAgICAgICBpbnB1dEVsZW1lbnQudHlwZSA9ICJmaWxlIjsKLSAgICAgICAgICAgIGlucHV0RWxl
bWVudC5tdWx0aXBsZSA9IHRydWU7Ci0gICAgICAgICAgICBpbnB1dEVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiY2hhbmdlIiwgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAgICAgICAgV0kuRmlsZVV0
aWxpdGllcy5yZWFkVGV4dChpbnB1dEVsZW1lbnQuZmlsZXMsIGNhbGxiYWNrKTsKLSAgICAgICAg
ICAgIH0pOwotICAgICAgICB9CisgICAgICAgIGxldCBpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpbnB1dCIpOworICAgICAgICBpbnB1dEVsZW1lbnQudHlwZSA9ICJmaWxl
IjsKKyAgICAgICAgaW5wdXRFbGVtZW50LnZhbHVlID0gbnVsbDsKKyAgICAgICAgaW5wdXRFbGVt
ZW50Lm11bHRpcGxlID0gISFtdWx0aXBsZTsKKyAgICAgICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImNoYW5nZSIsIChldmVudCkgPT4geworICAgICAgICAgICAgY2FsbGJhY2soaW5w
dXRFbGVtZW50LmZpbGVzKTsKKyAgICAgICAgfSk7CiAKLSAgICAgICAgRmlsZVV0aWxpdGllcy5f
aW1wb3J0VGV4dElucHV0RWxlbWVudC52YWx1ZSA9IG51bGw7Ci0gICAgICAgIEZpbGVVdGlsaXRp
ZXMuX2ltcG9ydFRleHRJbnB1dEVsZW1lbnQuY2xpY2soKTsKKyAgICAgICAgaW5wdXRFbGVtZW50
LmNsaWNrKCk7CisKKyAgICAgICAgLy8gQ2FjaGUgdGhlIGxhc3QgdXNlZCBpbXBvcnQgZWxlbWVu
dCBzbyB0aGF0IGl0IGRvZXNuJ3QgZ2V0IEdDZCB3aGlsZSB0aGUgbmF0aXZlIGZpbGUKKyAgICAg
ICAgLy8gcGlja2VyIGlzIHNob3duLCB3aGljaCB3b3VsZCBwcmV2ZW50IHRoZSAiY2hhbmdlIiBl
dmVudCBsaXN0ZW5lciBmcm9tIGZpcmluZy4KKyAgICAgICAgRmlsZVV0aWxpdGllcy5pbXBvcnRJ
bnB1dEVsZW1lbnQgPSBpbnB1dEVsZW1lbnQ7CiAgICAgfQogCi0gICAgc3RhdGljIGltcG9ydEpT
T04oY2FsbGJhY2spCisgICAgc3RhdGljIGltcG9ydFRleHQoY2FsbGJhY2ssIG9wdGlvbnMgPSB7
fSkKICAgICB7Ci0gICAgICAgIGlmICghRmlsZVV0aWxpdGllcy5faW1wb3J0SlNPTklucHV0RWxl
bWVudCkgewotICAgICAgICAgICAgbGV0IGlucHV0RWxlbWVudCA9IEZpbGVVdGlsaXRpZXMuX2lt
cG9ydEpTT05JbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwot
ICAgICAgICAgICAgaW5wdXRFbGVtZW50LnR5cGUgPSAiZmlsZSI7Ci0gICAgICAgICAgICBpbnB1
dEVsZW1lbnQubXVsdGlwbGUgPSB0cnVlOwotICAgICAgICAgICAgaW5wdXRFbGVtZW50LmFkZEV2
ZW50TGlzdGVuZXIoImNoYW5nZSIsIChldmVudCkgPT4gewotICAgICAgICAgICAgICAgIFdJLkZp
bGVVdGlsaXRpZXMucmVhZEpTT04oaW5wdXRFbGVtZW50LmZpbGVzLCBjYWxsYmFjayk7Ci0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfQorICAgICAgICBGaWxlVXRpbGl0aWVzLmltcG9ydCgoZmls
ZXMpID0+IHsKKyAgICAgICAgICAgIEZpbGVVdGlsaXRpZXMucmVhZFRleHQoZmlsZXMsIGNhbGxi
YWNrKTsKKyAgICAgICAgfSwgb3B0aW9ucyk7CisgICAgfQogCi0gICAgICAgIEZpbGVVdGlsaXRp
ZXMuX2ltcG9ydEpTT05JbnB1dEVsZW1lbnQudmFsdWUgPSBudWxsOwotICAgICAgICBGaWxlVXRp
bGl0aWVzLl9pbXBvcnRKU09OSW5wdXRFbGVtZW50LmNsaWNrKCk7CisgICAgc3RhdGljIGltcG9y
dEpTT04oY2FsbGJhY2ssIG9wdGlvbnMgPSB7fSkKKyAgICB7CisgICAgICAgIEZpbGVVdGlsaXRp
ZXMuaW1wb3J0KChmaWxlcykgPT4geworICAgICAgICAgICAgRmlsZVV0aWxpdGllcy5yZWFkSlNP
TihmaWxlcywgY2FsbGJhY2spOworICAgICAgICB9LCBvcHRpb25zKTsKKyAgICB9CisKKyAgICBz
dGF0aWMgaW1wb3J0RGF0YShjYWxsYmFjaywgb3B0aW9ucyA9IHt9KQorICAgIHsKKyAgICAgICAg
RmlsZVV0aWxpdGllcy5pbXBvcnQoKGZpbGVzKSA9PiB7CisgICAgICAgICAgICBGaWxlVXRpbGl0
aWVzLnJlYWREYXRhKGZpbGVzLCBjYWxsYmFjayk7CisgICAgICAgIH0sIG9wdGlvbnMpOwogICAg
IH0KIAogICAgIHN0YXRpYyBhc3luYyByZWFkVGV4dChmaWxlT3JMaXN0LCBjYWxsYmFjaykKKyAg
ICB7CisgICAgICAgIGF3YWl0IEZpbGVVdGlsaXRpZXMuX3JlYWQoZmlsZU9yTGlzdCwgYXN5bmMg
KGZpbGUsIHJlc3VsdCkgPT4geworICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJl
YWRlcjsKKyAgICAgICAgICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVuZCIs
IChldmVudCkgPT4geworICAgICAgICAgICAgICAgICAgICByZXN1bHQudGV4dCA9IHJlYWRlci5y
ZXN1bHQ7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZXZlbnQpOworICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIs
IHJlamVjdCk7CisgICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7CisgICAg
ICAgICAgICB9KTsKKyAgICAgICAgfSwgY2FsbGJhY2spOworICAgIH0KKworICAgIHN0YXRpYyBh
c3luYyByZWFkSlNPTihmaWxlT3JMaXN0LCBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIGF3YWl0
IFdJLkZpbGVVdGlsaXRpZXMucmVhZFRleHQoZmlsZU9yTGlzdCwgYXN5bmMgKHJlc3VsdCkgPT4g
eworICAgICAgICAgICAgaWYgKHJlc3VsdC50ZXh0ICYmICFyZXN1bHQuZXJyb3IpIHsKKyAgICAg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICByZXN1bHQuanNvbiA9IEpTT04u
cGFyc2UocmVzdWx0LnRleHQpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAg
ICAgICAgICAgICAgICAgcmVzdWx0LmVycm9yID0gZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGF3YWl0IGNhbGxiYWNrKHJlc3VsdCk7CisgICAgICAg
IH0pOworICAgIH0KKworICAgIHN0YXRpYyBhc3luYyByZWFkRGF0YShmaWxlT3JMaXN0LCBjYWxs
YmFjaykKKyAgICB7CisgICAgICAgIGF3YWl0IEZpbGVVdGlsaXRpZXMuX3JlYWQoZmlsZU9yTGlz
dCwgYXN5bmMgKGZpbGUsIHJlc3VsdCkgPT4geworICAgICAgICAgICAgYXdhaXQgbmV3IFByb21p
c2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgICAgIGxldCByZWFkZXIgPSBu
ZXcgRmlsZVJlYWRlcjsKKyAgICAgICAgICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZGVuZCIsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgICAgICBsZXQge21pbWVUeXBl
LCBiYXNlNjQsIGRhdGF9ID0gcGFyc2VEYXRhVVJMKHJlYWRlci5yZXN1bHQpOworCisgICAgICAg
ICAgICAgICAgICAgIC8vIEluIGNhc2Ugbm8gbWltZSB0eXBlIHdhcyBkZXRlcm1pbmVkLCB0cnkg
dG8gZGVyaXZlIG9uZSBmcm9tIHRoZSBmaWxlIGV4dGVuc2lvbi4KKyAgICAgICAgICAgICAgICAg
ICAgaWYgKCFtaW1lVHlwZSB8fCBtaW1lVHlwZSA9PT0gInRleHQvcGxhaW4iKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBsZXQgZXh0ZW5zaW9uID0gV0kuZmlsZUV4dGVuc2lvbkZvckZpbGVu
YW1lKHJlc3VsdC5maWxlbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXh0ZW5z
aW9uKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbWVUeXBlID0gV0kubWltZVR5cGVG
b3JGaWxlRXh0ZW5zaW9uKGV4dGVuc2lvbik7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgICAgICByZXN1bHQubWltZVR5cGUgPSBtaW1lVHlwZTsKKyAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0LmJhc2U2NEVuY29kZWQgPSBiYXNlNjQ7CisgICAgICAgICAgICAgICAg
ICAgIHJlc3VsdC5jb250ZW50ID0gZGF0YTsKKworICAgICAgICAgICAgICAgICAgICByZXNvbHZl
KGV2ZW50KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICByZWFkZXIuYWRk
RXZlbnRMaXN0ZW5lcigiZXJyb3IiLCByZWplY3QpOworICAgICAgICAgICAgICAgIHJlYWRlci5y
ZWFkQXNEYXRhVVJMKGZpbGUpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sIGNhbGxiYWNr
KTsKKyAgICB9CisKKyAgICAvLyBQcml2YXRlCisKKyAgICBzdGF0aWMgYXN5bmMgX3JlYWQoZmls
ZU9yTGlzdCwgb3BlcmF0aW9uLCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KGZpbGVPckxpc3QgaW5zdGFuY2VvZiBGaWxlIHx8IGZpbGVPckxpc3QgaW5zdGFuY2VvZiBG
aWxlTGlzdCk7CiAKQEAgLTEzNywzNyArMjA0LDEyIEBAIFdJLkZpbGVVdGlsaXRpZXMgPSBjbGFz
cyBGaWxlVXRpbGl0aWVzIHsKICAgICAgICAgICAgIH07CiAKICAgICAgICAgICAgIHRyeSB7Ci0g
ICAgICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewot
ICAgICAgICAgICAgICAgICAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXI7Ci0gICAgICAg
ICAgICAgICAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIiwgKGV2ZW50KSA9
PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQudGV4dCA9IHJlYWRlci5yZXN1bHQ7
Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGV2ZW50KTsKLSAgICAgICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCJl
cnJvciIsIHJlamVjdCk7Ci0gICAgICAgICAgICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZp
bGUpOwotICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIGF3YWl0IG9wZXJhdGlv
bihmaWxlLCByZXN1bHQpOwogICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAg
ICAgIHJlc3VsdC5lcnJvciA9IGU7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGxldCBw
cm9taXNlID0gY2FsbGJhY2socmVzdWx0KTsKLSAgICAgICAgICAgIGlmIChwcm9taXNlIGluc3Rh
bmNlb2YgUHJvbWlzZSkKLSAgICAgICAgICAgICAgICBhd2FpdCBwcm9taXNlOworICAgICAgICAg
ICAgYXdhaXQgY2FsbGJhY2socmVzdWx0KTsKICAgICAgICAgfQogICAgIH0KLQotICAgIHN0YXRp
YyBhc3luYyByZWFkSlNPTihmaWxlT3JMaXN0LCBjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBXSS5GaWxlVXRpbGl0aWVzLnJlYWRUZXh0KGZpbGVPckxpc3QsIChyZXN1bHQpID0+IHsK
LSAgICAgICAgICAgIGlmIChyZXN1bHQudGV4dCAmJiAhcmVzdWx0LmVycm9yKSB7Ci0gICAgICAg
ICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lmpzb24gPSBKU09OLnBh
cnNlKHJlc3VsdC50ZXh0KTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHJlc3VsdC5lcnJvciA9IGU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2socmVzdWx0KTsKLSAgICAgICAg
fSk7Ci0gICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0F1ZGl0TmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0TmF2aWdhdGlvblNpZGViYXJQYW5l
bC5qcwppbmRleCBiNWMxOTZkYWUxNjBlZWZlZmU0NmEwODA5YzAxYzRhN2RiMTlkM2JlLi42NWM5
MzM2MjFmNDY2NGY1Mjc1NTEyMzEwZTUzZmY4NmIyZDZiMDA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdE5hdmlnYXRpb25TaWRlYmFy
UGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
QXVkaXROYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCkBAIC0zMTUsNyArMzE1LDcgQEAgV0kuQXVk
aXROYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgQXVkaXROYXZpZ2F0aW9uU2lkZWJhclBh
bmVsIGV4dGVuZHMgV0kuTmEKIAogICAgIF9oYW5kbGVJbXBvcnRCdXR0b25OYXZpZ2F0aW9uSXRl
bUNsaWNrZWQoZXZlbnQpCiAgICAgewotICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLmltcG9ydEpT
T04oKHJlc3VsdCkgPT4gV0kuYXVkaXRNYW5hZ2VyLnByb2Nlc3NKU09OKHJlc3VsdCkpOworICAg
ICAgICBXSS5GaWxlVXRpbGl0aWVzLmltcG9ydEpTT04oKHJlc3VsdCkgPT4gV0kuYXVkaXRNYW5h
Z2VyLnByb2Nlc3NKU09OKHJlc3VsdCksIHttdWx0aXBsZTogdHJ1ZX0pOwogICAgIH0KIAogICAg
IF9oYW5kbGVFZGl0QnV0dG9uTmF2aWdhdGlvbkl0ZW1DbGlja2VkKGV2ZW50KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzT3ZlcnZp
ZXdDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NhbnZhc092ZXJ2aWV3Q29udGVudFZpZXcuanMKaW5kZXggOTY0Y2M1Zjk4MDhmNzFjYzAw
NTMyMjNmZGViODY5ZmEzMzI1N2Q2NC4uOTU5YWE5NDg3NWY0YzhhZDU2ZTMwZjZjMDQwZjQ0NTRj
MDcwOTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ2FudmFzT3ZlcnZpZXdDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNPdmVydmlld0NvbnRlbnRWaWV3LmpzCkBA
IC0zMzYsNyArMzM2LDcgQEAgV0kuQ2FudmFzT3ZlcnZpZXdDb250ZW50VmlldyA9IGNsYXNzIENh
bnZhc092ZXJ2aWV3Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db2xsZWMKIAogICAgIF9oYW5kbGVJ
bXBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNsaWNrZWQoZXZlbnQpCiAgICAgewotICAgICAgICBX
SS5GaWxlVXRpbGl0aWVzLmltcG9ydEpTT04oKHJlc3VsdCkgPT4gV0kuY2FudmFzTWFuYWdlci5w
cm9jZXNzSlNPTihyZXN1bHQpKTsKKyAgICAgICAgV0kuRmlsZVV0aWxpdGllcy5pbXBvcnRKU09O
KChyZXN1bHQpID0+IFdJLmNhbnZhc01hbmFnZXIucHJvY2Vzc0pTT04ocmVzdWx0KSwge211bHRp
cGxlOiB0cnVlfSk7CiAgICAgfQogCiAgICAgX2hhbmRsZVJlY29yZGluZ1NhdmVkKGV2ZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2Fu
dmFzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ2FudmFzU2lkZWJhclBhbmVsLmpzCmluZGV4IDMxNTlmMDNjOTVkYmI4NDFiY2Q2NTQ5
ZWZjMTU3NTMyZTgyMzNhMTkuLmMyYmJkYzAyZTllODk2YjQyYjFiNjNkMzM0YmNmZjIyZDgyNzRh
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0NhbnZhc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFuZWwuanMKQEAgLTMyMiw3ICszMjIsNyBAQCBX
SS5DYW52YXNTaWRlYmFyUGFuZWwgPSBjbGFzcyBDYW52YXNTaWRlYmFyUGFuZWwgZXh0ZW5kcyBX
SS5OYXZpZ2F0aW9uU2lkZWJhclBhbgogCiAgICAgX2hhbmRsZUltcG9ydEJ1dHRvbk5hdmlnYXRp
b25JdGVtQ2xpY2tlZChldmVudCkKICAgICB7Ci0gICAgICAgIFdJLkZpbGVVdGlsaXRpZXMuaW1w
b3J0SlNPTigocmVzdWx0KSA9PiBXSS5jYW52YXNNYW5hZ2VyLnByb2Nlc3NKU09OKHJlc3VsdCkp
OworICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLmltcG9ydEpTT04oKHJlc3VsdCkgPT4gV0kuY2Fu
dmFzTWFuYWdlci5wcm9jZXNzSlNPTihyZXN1bHQpLCB7bXVsdGlwbGU6IHRydWV9KTsKICAgICB9
CiAKICAgICBfdHJlZVNlbGVjdGlvbkRpZENoYW5nZShldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Ryb3Bab25lVmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Ryb3Bab25lVmlldy5qcwpp
bmRleCBlYTM1ZDdkM2I5YWEzYTY3YjlkOTQ5ZjY0MTkzYzc0OTgyMWM1ZmRiLi5hNzcyZGQ3NGJk
Y2JiNTYyYWY4M2Q2ZmQyZDdkODk2OWI4NzBjYzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Ecm9wWm9uZVZpZXcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRHJvcFpvbmVWaWV3LmpzCkBAIC0z
MCw3ICszMCw3IEBACiAKIFdJLkRyb3Bab25lVmlldyA9IGNsYXNzIERyb3Bab25lVmlldyBleHRl
bmRzIFdJLlZpZXcKIHsKLSAgICBjb25zdHJ1Y3RvcihkZWxlZ2F0ZSwge3RleHR9ID0ge30pCisg
ICAgY29uc3RydWN0b3IoZGVsZWdhdGUpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydChk
ZWxlZ2F0ZSk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiBkZWxlZ2F0ZS5kcm9wWm9u
ZVNob3VsZEFwcGVhckZvckRyYWdFdmVudCA9PT0gImZ1bmN0aW9uIik7CkBAIC00MSw5ICs0MSw2
IEBAIFdJLkRyb3Bab25lVmlldyA9IGNsYXNzIERyb3Bab25lVmlldyBleHRlbmRzIFdJLlZpZXcK
ICAgICAgICAgdGhpcy5fdGFyZ2V0RWxlbWVudCA9IG51bGw7CiAgICAgICAgIHRoaXMuX2FjdGl2
ZWx5SGFuZGxpbmdEcmFnID0gZmFsc2U7CiAKLSAgICAgICAgaWYgKHRleHQpCi0gICAgICAgICAg
ICB0aGlzLmVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwotCiAgICAgICAgIHRoaXMuZWxlbWVu
dC5jbGFzc0xpc3QuYWRkKCJkcm9wLXpvbmUiKTsKICAgICB9CiAKQEAgLTc1LDYgKzcyLDExIEBA
IFdJLkRyb3Bab25lVmlldyA9IGNsYXNzIERyb3Bab25lVmlldyBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgICAgIHRoaXMuX3RhcmdldEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VudGVy
IiwgdGhpcy5fYm91bmRIYW5kbGVEcmFnRW50ZXIpOwogICAgIH0KIAorICAgIHNldCB0ZXh0KHRl
eHQpCisgICAgeworICAgICAgICB0aGlzLmVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OworICAg
IH0KKwogICAgIC8vIFByb3RlY3RlZAogCiAgICAgaW5pdGlhbExheW91dCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb250UmVzb3VyY2VD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCmluZGV4IDExMmQ5OGZjMmM0MTNmODkyY2EzMWJh
YjEyZjQzZDM1ZTc4Y2NhMjMuLjg5OTNlNWUyYzc3Y2JjYzBiMTg4YjRmNWI3NzNiMmFkNmY1OTY4
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCkBAIC0zMiw5ICsz
Miw2IEBAIFdJLkZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgRm9udFJlc291cmNlQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5SZXNvdXJjZUNvCiAgICAgICAgIHRoaXMuX3N0eWxlRWxlbWVu
dCA9IG51bGw7CiAgICAgICAgIHRoaXMuX3ByZXZpZXdFbGVtZW50ID0gbnVsbDsKICAgICAgICAg
dGhpcy5fcHJldmlld0NvbnRhaW5lciA9IG51bGw7Ci0KLSAgICAgICAgaWYgKHRoaXMuc2hvd2lu
Z0xvY2FsUmVzb3VyY2VPdmVycmlkZSkKLSAgICAgICAgICAgIHRoaXMuX2Ryb3Bab25lVmlldyA9
IG5ldyBXSS5Ecm9wWm9uZVZpZXcodGhpcywge3RleHQ6IFdJLlVJU3RyaW5nKCJEcm9wIEZvbnQi
KX0pOwogICAgIH0KIAogICAgIC8vIFB1YmxpYwpAQCAtNjgsOSArNjUsMTMgQEAgV0kuRm9udFJl
c291cmNlQ29udGVudFZpZXcgPSBjbGFzcyBGb250UmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRz
IFdJLlJlc291cmNlQ28KIAogICAgICAgICB0aGlzLl91cGRhdGVQcmV2aWV3RWxlbWVudCgpOwog
Ci0gICAgICAgIGlmICh0aGlzLl9kcm9wWm9uZVZpZXcpIHsKLSAgICAgICAgICAgIHRoaXMuX2Ry
b3Bab25lVmlldy50YXJnZXRFbGVtZW50ID0gdGhpcy5fcHJldmlld0NvbnRhaW5lcjsKLSAgICAg
ICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9kcm9wWm9uZVZpZXcpOworICAgICAgICBpZiAo
V0kuTmV0d29ya01hbmFnZXIuc3VwcG9ydHNMb2NhbFJlc291cmNlT3ZlcnJpZGVzKCkpIHsKKyAg
ICAgICAgICAgIGxldCBkcm9wWm9uZVZpZXcgPSBuZXcgV0kuRHJvcFpvbmVWaWV3KHRoaXMpOwor
ICAgICAgICAgICAgZHJvcFpvbmVWaWV3LnRhcmdldEVsZW1lbnQgPSB0aGlzLl9wcmV2aWV3Q29u
dGFpbmVyOworICAgICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KGRyb3Bab25lVmlldyk7CisKKyAg
ICAgICAgICAgIGlmICh0aGlzLnNob3dpbmdMb2NhbFJlc291cmNlT3ZlcnJpZGUpCisgICAgICAg
ICAgICAgICAgdGhpcy5yZXNvdXJjZS5hZGRFdmVudExpc3RlbmVyKFdJLlNvdXJjZUNvZGUuRXZl
bnQuQ29udGVudERpZENoYW5nZSwgdGhpcy5faGFuZGxlTG9jYWxSZXNvdXJjZUNvbnRlbnREaWRD
aGFuZ2UsIHRoaXMpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xMTgsMzggKzExOSwzOSBAQCBX
SS5Gb250UmVzb3VyY2VDb250ZW50VmlldyA9IGNsYXNzIEZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3
IGV4dGVuZHMgV0kuUmVzb3VyY2VDbwogICAgICAgICByZXR1cm4gZXZlbnQuZGF0YVRyYW5zZmVy
LnR5cGVzLmluY2x1ZGVzKCJGaWxlcyIpOwogICAgIH0KIAorICAgIGRyb3Bab25lSGFuZGxlRHJh
Z0VudGVyKGRyb3Bab25lLCBldmVudCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLnNob3dpbmdM
b2NhbFJlc291cmNlT3ZlcnJpZGUpCisgICAgICAgICAgICBkcm9wWm9uZS50ZXh0ID0gV0kuVUlT
dHJpbmcoIlVwZGF0ZSBGb250Iik7CisgICAgICAgIGVsc2UgaWYgKFdJLm5ldHdvcmtNYW5hZ2Vy
LmxvY2FsUmVzb3VyY2VPdmVycmlkZUZvclVSTCh0aGlzLnJlc291cmNlLnVybCkpCisgICAgICAg
ICAgICBkcm9wWm9uZS50ZXh0ID0gV0kuVUlTdHJpbmcoIlVwZGF0ZSBMb2NhbCBPdmVycmlkZSIp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBkcm9wWm9uZS50ZXh0ID0gV0kuVUlTdHJpbmco
IkNyZWF0ZSBMb2NhbCBPdmVycmlkZSIpOworICAgIH0KKwogICAgIGRyb3Bab25lSGFuZGxlRHJv
cChkcm9wWm9uZSwgZXZlbnQpCiAgICAgewogICAgICAgICBsZXQgZmlsZXMgPSBldmVudC5kYXRh
VHJhbnNmZXIuZmlsZXM7Ci0gICAgICAgIGxldCBmaWxlID0gZmlsZXMubGVuZ3RoID09PSAxID8g
ZmlsZXNbMF0gOiBudWxsOwotICAgICAgICBpZiAoIWZpbGUpIHsKKyAgICAgICAgaWYgKGZpbGVz
Lmxlbmd0aCAhPT0gMSkgewogICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJlZXAo
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGxldCBmaWxlUmVh
ZGVyID0gbmV3IEZpbGVSZWFkZXI7Ci0gICAgICAgIGZpbGVSZWFkZXIuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZGVuZCIsIChldmVudCkgPT4geworICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLnJlYWRE
YXRhKGZpbGVzLCBhc3luYyAoe2RhdGFVUkwsIG1pbWVUeXBlLCBiYXNlNjRFbmNvZGVkLCBjb250
ZW50fSkgPT4gewogICAgICAgICAgICAgbGV0IGxvY2FsUmVzb3VyY2VPdmVycmlkZSA9IFdJLm5l
dHdvcmtNYW5hZ2VyLmxvY2FsUmVzb3VyY2VPdmVycmlkZUZvclVSTCh0aGlzLnJlc291cmNlLnVy
bCk7Ci0gICAgICAgICAgICBpZiAoIWxvY2FsUmVzb3VyY2VPdmVycmlkZSkKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIGxldCBkYXRhVVJMID0gZmlsZVJlYWRlci5yZXN1
bHQ7Ci0gICAgICAgICAgICBsZXQge2Jhc2U2NCwgZGF0YSwgbWltZVR5cGV9ID0gcGFyc2VEYXRh
VVJMKGRhdGFVUkwpOwotCi0gICAgICAgICAgICAvLyBJbiBjYXNlIG5vIG1pbWUgdHlwZSB3YXMg
ZGV0ZXJtaW5lZCwgdHJ5IHRvIGRlcml2ZSBvbmUgZnJvbSB0aGUgZmlsZSBleHRlbnNpb24uCi0g
ICAgICAgICAgICBpZiAoIW1pbWVUeXBlIHx8IG1pbWVUeXBlID09PSAidGV4dC9wbGFpbiIpIHsK
LSAgICAgICAgICAgICAgICBsZXQgZXh0ZW5zaW9uID0gV0kuZmlsZUV4dGVuc2lvbkZvckZpbGVu
YW1lKGZpbGUubmFtZSk7Ci0gICAgICAgICAgICAgICAgaWYgKGV4dGVuc2lvbikKLSAgICAgICAg
ICAgICAgICAgICAgbWltZVR5cGUgPSBXSS5taW1lVHlwZUZvckZpbGVFeHRlbnNpb24oZXh0ZW5z
aW9uKTsKKyAgICAgICAgICAgIGlmICghbG9jYWxSZXNvdXJjZU92ZXJyaWRlICYmICF0aGlzLnNo
b3dpbmdMb2NhbFJlc291cmNlT3ZlcnJpZGUpIHsKKyAgICAgICAgICAgICAgICBsb2NhbFJlc291
cmNlT3ZlcnJpZGUgPSBhd2FpdCB0aGlzLnJlc291cmNlLmNyZWF0ZUxvY2FsUmVzb3VyY2VPdmVy
cmlkZSgpOworICAgICAgICAgICAgICAgIFdJLm5ldHdvcmtNYW5hZ2VyLmFkZExvY2FsUmVzb3Vy
Y2VPdmVycmlkZShsb2NhbFJlc291cmNlT3ZlcnJpZGUpOwogICAgICAgICAgICAgfQogCi0gICAg
ICAgICAgICBsZXQgcmV2aXNpb24gPSBsb2NhbFJlc291cmNlT3ZlcnJpZGUubG9jYWxSZXNvdXJj
ZS5jdXJyZW50UmV2aXNpb247Ci0gICAgICAgICAgICByZXZpc2lvbi51cGRhdGVSZXZpc2lvbkNv
bnRlbnQoZGF0YSwge2Jhc2U2NEVuY29kZWQ6IGJhc2U2NCwgbWltZVR5cGV9KTsKKyAgICAgICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KGxvY2FsUmVzb3VyY2VPdmVycmlkZSk7CiAKLSAgICAgICAgICAg
IHRoaXMuX2ZvbnRPYmplY3RVUkwgPSB0aGlzLnJlc291cmNlLmNyZWF0ZU9iamVjdFVSTCgpOwot
ICAgICAgICAgICAgdGhpcy5fdXBkYXRlUHJldmlld0VsZW1lbnQoKTsKKyAgICAgICAgICAgIGxl
dCByZXZpc2lvbiA9IGxvY2FsUmVzb3VyY2VPdmVycmlkZS5sb2NhbFJlc291cmNlLmN1cnJlbnRS
ZXZpc2lvbjsKKyAgICAgICAgICAgIHJldmlzaW9uLnVwZGF0ZVJldmlzaW9uQ29udGVudChjb250
ZW50LCB7YmFzZTY0RW5jb2RlZCwgbWltZVR5cGV9KTsKKworICAgICAgICAgICAgaWYgKCF0aGlz
LnNob3dpbmdMb2NhbFJlc291cmNlT3ZlcnJpZGUpCisgICAgICAgICAgICAgICAgV0kuc2hvd0xv
Y2FsUmVzb3VyY2VPdmVycmlkZShsb2NhbFJlc291cmNlT3ZlcnJpZGUpOwogICAgICAgICB9KTsK
LSAgICAgICAgZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpOwogICAgIH0KIAogICAgIC8v
IFByaXZhdGUKQEAgLTIwOCw2ICsyMTAsMTIgQEAgV0kuRm9udFJlc291cmNlQ29udGVudFZpZXcg
PSBjbGFzcyBGb250UmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLlJlc291cmNlQ28KIAog
ICAgICAgICB0aGlzLnNpemVUb0ZpdCgpOwogICAgIH0KKworICAgIF9oYW5kbGVMb2NhbFJlc291
cmNlQ29udGVudERpZENoYW5nZShldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX2ZvbnRPYmpl
Y3RVUkwgPSB0aGlzLnJlc291cmNlLmNyZWF0ZU9iamVjdFVSTCgpOworICAgICAgICB0aGlzLl91
cGRhdGVQcmV2aWV3RWxlbWVudCgpOworICAgIH0KIH07CiAKIFdJLkZvbnRSZXNvdXJjZUNvbnRl
bnRWaWV3Ll91bmlxdWVGb250SWRlbnRpZmllciA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZp
ZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxs
b2NhdGlvbnNUaW1lbGluZVZpZXcuanMKaW5kZXggZDFmMzJkY2VmMDNjNmZhNTM4ZDVjYjM3ZjIw
YTkxMjZiYjU4YjU1OS4uZWM1MTQ1YWZiMjQwMmJhZDVmNTYzZTc5NTIxNzk4MjBiYmZhNWVmZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVh
cEFsbG9jYXRpb25zVGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBBbGxvY2F0aW9uc1RpbWVsaW5lVmlldy5qcwpAQCAtNDAz
LDcgKzQwMyw3IEBAIFdJLkhlYXBBbGxvY2F0aW9uc1RpbWVsaW5lVmlldyA9IGNsYXNzIEhlYXBB
bGxvY2F0aW9uc1RpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpCiAgICAgICAgICAgICAgICAgV0ku
dGltZWxpbmVNYW5hZ2VyLmhlYXBTbmFwc2hvdEFkZGVkKHRpbWVzdGFtcCwgc25hcHNob3QpOwog
ICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5l
Vmlldy5FdmVudC5OZWVkc0VudGlyZVNlbGVjdGVkUmFuZ2UpOwogICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0pOworICAgICAgICB9LCB7bXVsdGlwbGU6IHRydWV9KTsKICAgICB9CiAKICAgICBf
dGFrZUhlYXBTbmFwc2hvdENsaWNrZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRl
bnRWaWV3LmpzCmluZGV4IDU4ZjQ5OWIxYjM2M2I4MDRmZWJlZmJmZjU4NmZiZTk5YTkzOTcwN2Uu
LmEzMDJiMTc0OWY4YWRkODIwMTg3NmQ0MWEyNTdlNTE4YTQ4NjFkNjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ltYWdlUmVzb3VyY2VDb250
ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9JbWFnZVJlc291cmNlQ29udGVudFZpZXcuanMKQEAgLTQwLDkgKzQwLDYgQEAgV0kuSW1hZ2VS
ZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3IGV4dGVu
ZHMgV0kuUmVzb3VyY2UKICAgICAgICAgdGhpcy5fc2hvd0dyaWRCdXR0b25OYXZpZ2F0aW9uSXRl
bS52aXNpYmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3Jp
dHkuTG93OwogICAgICAgICB0aGlzLl9zaG93R3JpZEJ1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2
ZW50TGlzdGVuZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5f
c2hvd0dyaWRCdXR0b25DbGlja2VkLCB0aGlzKTsKICAgICAgICAgdGhpcy5fc2hvd0dyaWRCdXR0
b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSAhIVdJLnNldHRpbmdzLnNob3dJbWFnZUdyaWQu
dmFsdWU7Ci0KLSAgICAgICAgaWYgKHRoaXMuc2hvd2luZ0xvY2FsUmVzb3VyY2VPdmVycmlkZSkK
LSAgICAgICAgICAgIHRoaXMuX2Ryb3Bab25lVmlldyA9IG5ldyBXSS5Ecm9wWm9uZVZpZXcodGhp
cywge3RleHQ6IFdJLlVJU3RyaW5nKCJEcm9wIEltYWdlIil9KTsKICAgICB9CiAKICAgICAvLyBQ
dWJsaWMKQEAgLTg5LDkgKzg2LDEzIEBAIFdJLkltYWdlUmVzb3VyY2VDb250ZW50VmlldyA9IGNs
YXNzIEltYWdlUmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLlJlc291cmNlCiAgICAgICAg
ICAgICB0aGlzLl9kcmFnZ2luZ0ludGVybmFsSW1hZ2VFbGVtZW50ID0gZmFsc2U7CiAgICAgICAg
IH0pOwogCi0gICAgICAgIGlmICh0aGlzLl9kcm9wWm9uZVZpZXcpIHsKLSAgICAgICAgICAgIHRo
aXMuX2Ryb3Bab25lVmlldy50YXJnZXRFbGVtZW50ID0gaW1hZ2VDb250YWluZXI7Ci0gICAgICAg
ICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fZHJvcFpvbmVWaWV3KTsKKyAgICAgICAgaWYgKFdJ
Lk5ldHdvcmtNYW5hZ2VyLnN1cHBvcnRzTG9jYWxSZXNvdXJjZU92ZXJyaWRlcygpKSB7CisgICAg
ICAgICAgICBsZXQgZHJvcFpvbmVWaWV3ID0gbmV3IFdJLkRyb3Bab25lVmlldyh0aGlzKTsKKyAg
ICAgICAgICAgIGRyb3Bab25lVmlldy50YXJnZXRFbGVtZW50ID0gaW1hZ2VDb250YWluZXI7Cisg
ICAgICAgICAgICB0aGlzLmFkZFN1YnZpZXcoZHJvcFpvbmVWaWV3KTsKKworICAgICAgICAgICAg
aWYgKHRoaXMuc2hvd2luZ0xvY2FsUmVzb3VyY2VPdmVycmlkZSkKKyAgICAgICAgICAgICAgICB0
aGlzLnJlc291cmNlLmFkZEV2ZW50TGlzdGVuZXIoV0kuU291cmNlQ29kZS5FdmVudC5Db250ZW50
RGlkQ2hhbmdlLCB0aGlzLl9oYW5kbGVMb2NhbFJlc291cmNlQ29udGVudERpZENoYW5nZSwgdGhp
cyk7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTEzMiwzNyArMTMzLDM5IEBAIFdJLkltYWdlUmVz
b3VyY2VDb250ZW50VmlldyA9IGNsYXNzIEltYWdlUmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRz
IFdJLlJlc291cmNlCiAgICAgICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5j
bHVkZXMoIkZpbGVzIik7CiAgICAgfQogCisgICAgZHJvcFpvbmVIYW5kbGVEcmFnRW50ZXIoZHJv
cFpvbmUsIGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuc2hvd2luZ0xvY2FsUmVzb3Vy
Y2VPdmVycmlkZSkKKyAgICAgICAgICAgIGRyb3Bab25lLnRleHQgPSBXSS5VSVN0cmluZygiVXBk
YXRlIEltYWdlIik7CisgICAgICAgIGVsc2UgaWYgKFdJLm5ldHdvcmtNYW5hZ2VyLmxvY2FsUmVz
b3VyY2VPdmVycmlkZUZvclVSTCh0aGlzLnJlc291cmNlLnVybCkpCisgICAgICAgICAgICBkcm9w
Wm9uZS50ZXh0ID0gV0kuVUlTdHJpbmcoIlVwZGF0ZSBMb2NhbCBPdmVycmlkZSIpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBkcm9wWm9uZS50ZXh0ID0gV0kuVUlTdHJpbmcoIkNyZWF0ZSBM
b2NhbCBPdmVycmlkZSIpOworICAgIH0KKwogICAgIGRyb3Bab25lSGFuZGxlRHJvcChkcm9wWm9u
ZSwgZXZlbnQpCiAgICAgewogICAgICAgICBsZXQgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIu
ZmlsZXM7Ci0gICAgICAgIGxldCBmaWxlID0gZmlsZXMubGVuZ3RoID09PSAxID8gZmlsZXNbMF0g
OiBudWxsOwotICAgICAgICBpZiAoIWZpbGUpIHsKKyAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCAh
PT0gMSkgewogICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJlZXAoKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGxldCBmaWxlUmVhZGVyID0gbmV3
IEZpbGVSZWFkZXI7Ci0gICAgICAgIGZpbGVSZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVu
ZCIsIChldmVudCkgPT4geworICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLnJlYWREYXRhKGZpbGVz
LCBhc3luYyAoe2RhdGFVUkwsIG1pbWVUeXBlLCBiYXNlNjRFbmNvZGVkLCBjb250ZW50fSkgPT4g
ewogICAgICAgICAgICAgbGV0IGxvY2FsUmVzb3VyY2VPdmVycmlkZSA9IFdJLm5ldHdvcmtNYW5h
Z2VyLmxvY2FsUmVzb3VyY2VPdmVycmlkZUZvclVSTCh0aGlzLnJlc291cmNlLnVybCk7Ci0gICAg
ICAgICAgICBpZiAoIWxvY2FsUmVzb3VyY2VPdmVycmlkZSkKLSAgICAgICAgICAgICAgICByZXR1
cm47Ci0KLSAgICAgICAgICAgIGxldCBkYXRhVVJMID0gZmlsZVJlYWRlci5yZXN1bHQ7Ci0gICAg
ICAgICAgICB0aGlzLl9pbWFnZUVsZW1lbnQuc3JjID0gZGF0YVVSTDsKLQotICAgICAgICAgICAg
bGV0IHtiYXNlNjQsIGRhdGEsIG1pbWVUeXBlfSA9IHBhcnNlRGF0YVVSTChkYXRhVVJMKTsKLQot
ICAgICAgICAgICAgLy8gSW4gY2FzZSBubyBtaW1lIHR5cGUgd2FzIGRldGVybWluZWQsIHRyeSB0
byBkZXJpdmUgb25lIGZyb20gdGhlIGZpbGUgZXh0ZW5zaW9uLgotICAgICAgICAgICAgaWYgKCFt
aW1lVHlwZSB8fCBtaW1lVHlwZSA9PT0gInRleHQvcGxhaW4iKSB7Ci0gICAgICAgICAgICAgICAg
bGV0IGV4dGVuc2lvbiA9IFdJLmZpbGVFeHRlbnNpb25Gb3JGaWxlbmFtZShmaWxlLm5hbWUpOwot
ICAgICAgICAgICAgICAgIGlmIChleHRlbnNpb24pCi0gICAgICAgICAgICAgICAgICAgIG1pbWVU
eXBlID0gV0kubWltZVR5cGVGb3JGaWxlRXh0ZW5zaW9uKGV4dGVuc2lvbik7CisgICAgICAgICAg
ICBpZiAoIWxvY2FsUmVzb3VyY2VPdmVycmlkZSAmJiAhdGhpcy5zaG93aW5nTG9jYWxSZXNvdXJj
ZU92ZXJyaWRlKSB7CisgICAgICAgICAgICAgICAgbG9jYWxSZXNvdXJjZU92ZXJyaWRlID0gYXdh
aXQgdGhpcy5yZXNvdXJjZS5jcmVhdGVMb2NhbFJlc291cmNlT3ZlcnJpZGUoKTsKKyAgICAgICAg
ICAgICAgICBXSS5uZXR3b3JrTWFuYWdlci5hZGRMb2NhbFJlc291cmNlT3ZlcnJpZGUobG9jYWxS
ZXNvdXJjZU92ZXJyaWRlKTsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgY29uc29sZS5h
c3NlcnQobG9jYWxSZXNvdXJjZU92ZXJyaWRlKTsKKwogICAgICAgICAgICAgbGV0IHJldmlzaW9u
ID0gbG9jYWxSZXNvdXJjZU92ZXJyaWRlLmxvY2FsUmVzb3VyY2UuY3VycmVudFJldmlzaW9uOwot
ICAgICAgICAgICAgcmV2aXNpb24udXBkYXRlUmV2aXNpb25Db250ZW50KGRhdGEsIHtiYXNlNjRF
bmNvZGVkOiBiYXNlNjQsIG1pbWVUeXBlfSk7CisgICAgICAgICAgICByZXZpc2lvbi51cGRhdGVS
ZXZpc2lvbkNvbnRlbnQoY29udGVudCwge2Jhc2U2NEVuY29kZWQsIG1pbWVUeXBlfSk7CisKKyAg
ICAgICAgICAgIGlmICghdGhpcy5zaG93aW5nTG9jYWxSZXNvdXJjZU92ZXJyaWRlKQorICAgICAg
ICAgICAgICAgIFdJLnNob3dMb2NhbFJlc291cmNlT3ZlcnJpZGUobG9jYWxSZXNvdXJjZU92ZXJy
aWRlKTsKICAgICAgICAgfSk7Ci0gICAgICAgIGZpbGVSZWFkZXIucmVhZEFzRGF0YVVSTChmaWxl
KTsKICAgICB9CiAKICAgICAvLyBQcml2YXRlCkBAIC0xODMsNCArMTg2LDkgQEAgV0kuSW1hZ2VS
ZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3IGV4dGVu
ZHMgV0kuUmVzb3VyY2UKIAogICAgICAgICB0aGlzLl91cGRhdGVJbWFnZUdyaWQoKTsKICAgICB9
CisKKyAgICBfaGFuZGxlTG9jYWxSZXNvdXJjZUNvbnRlbnREaWRDaGFuZ2UoZXZlbnQpCisgICAg
eworICAgICAgICB0aGlzLl9pbWFnZUVsZW1lbnQuc3JjID0gdGhpcy5yZXNvdXJjZS5jcmVhdGVP
YmplY3RVUkwoKTsKKyAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxlQ29udGVudFZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmll
dy5qcwppbmRleCAyNzk2NzEzMzA4YzRmNTdlNWJhZjIyYWE4NjI3YjlmYTRiNTdiODhmLi5iOGQ3
YTI5MDNjNDE4OThlNTdlODljYzUzYTAyMDIxNTY2NDkxNjg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmll
dy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3
b3JrVGFibGVDb250ZW50Vmlldy5qcwpAQCAtMjE1MCw3ICsyMTUwLDcgQEAgV0kuTmV0d29ya1Rh
YmxlQ29udGVudFZpZXcgPSBjbGFzcyBOZXR3b3JrVGFibGVDb250ZW50VmlldyBleHRlbmRzIFdJ
LkNvbnRlbnRWaWUKIAogICAgIF9pbXBvcnRIQVIoKQogICAgIHsKLSAgICAgICAgV0kuRmlsZVV0
aWxpdGllcy5pbXBvcnRKU09OKChyZXN1bHQpID0+IHRoaXMucHJvY2Vzc0hBUihyZXN1bHQpKTsK
KyAgICAgICAgV0kuRmlsZVV0aWxpdGllcy5pbXBvcnRKU09OKChyZXN1bHQpID0+IHRoaXMucHJv
Y2Vzc0hBUihyZXN1bHQpLCB7bXVsdGlwbGU6IHRydWV9KTsKICAgICB9CiAKICAgICBfd2F0ZXJm
YWxsUG9wb3ZlckNvbnRlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29udGVudFZpZXcuanMKaW5kZXgg
ODJiMzYxYmI3MGZkZGE4NmJhOGE1MjFkNTZkNGE0ZWJiMTZlMTk2NC4uMGQwMzNhOGU3MzM1NDc0
YTBiNjE1MjRlMjI5OWFmODAzOWYxOWQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNvbnRlbnRWaWV3
LmpzCkBAIC02Niw2ICs2NiwxMiBAQCBXSS5SZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgUmVz
b3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICAgICAgICAgICAg
ICB0aGlzLl9sb2NhbFJlc291cmNlT3ZlcnJpZGVCYW5uZXJWaWV3ID0gbmV3IFdJLkxvY2FsUmVz
b3VyY2VPdmVycmlkZUxhYmVsVmlldyhyZXNvdXJjZSk7CiAKKyAgICAgICAgICAgICAgICB0aGlz
Ll9pbXBvcnRMb2NhbFJlc291cmNlT3ZlcnJpZGVCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBX
SS5CdXR0b25OYXZpZ2F0aW9uSXRlbSgiaW1wb3J0LWxvY2FsLXJlc291cmNlLW92ZXJyaWRlIiwg
V0kuVUlTdHJpbmcoIkltcG9ydCIpLCAiSW1hZ2VzL0ltcG9ydC5zdmciLCAxNSwgMTUpOworICAg
ICAgICAgICAgICAgIHRoaXMuX2ltcG9ydExvY2FsUmVzb3VyY2VPdmVycmlkZUJ1dHRvbk5hdmln
YXRpb25JdGVtLmVuYWJsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHRoaXMuX2ltcG9ydExv
Y2FsUmVzb3VyY2VPdmVycmlkZUJ1dHRvbk5hdmlnYXRpb25JdGVtLmJ1dHRvblN0eWxlID0gV0ku
QnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGUuSW1hZ2VBbmRUZXh0OworICAgICAgICAgICAgICAg
IHRoaXMuX2ltcG9ydExvY2FsUmVzb3VyY2VPdmVycmlkZUJ1dHRvbk5hdmlnYXRpb25JdGVtLnZp
c2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmlnYXRpb25JdGVtLlZpc2liaWxpdHlQcmlvcml0eS5M
b3c7CisgICAgICAgICAgICAgICAgdGhpcy5faW1wb3J0TG9jYWxSZXNvdXJjZU92ZXJyaWRlQnV0
dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRl
bS5FdmVudC5DbGlja2VkLCB0aGlzLl9oYW5kbGVJbXBvcnRMb2NhbFJlc291cmNlT3ZlcnJpZGUs
IHRoaXMpOworCiAgICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlTG9jYWxSZXNvdXJjZU92ZXJy
aWRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0oInJl
bW92ZS1sb2NhbC1yZXNvdXJjZS1vdmVycmlkZSIsIFdJLlVJU3RyaW5nKCJSZW1vdmUgTG9jYWwg
T3ZlcnJpZGUiKSwgIkltYWdlcy9OYXZpZ2F0aW9uSXRlbVRyYXNoLnN2ZyIsIDE1LCAxNSk7CiAg
ICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlTG9jYWxSZXNvdXJjZU92ZXJyaWRlQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVu
dC5DbGlja2VkLCB0aGlzLl9oYW5kbGVSZW1vdmVMb2NhbFJlc291cmNlT3ZlcnJpZGUsIHRoaXMp
OwogICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZUxvY2FsUmVzb3VyY2VPdmVycmlkZUJ1dHRv
bk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSB0cnVlOwpAQCAtOTMsNiArOTksOCBAQCBXSS5SZXNv
dXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgUmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLkNv
bnRlbnRWaWV3CiAgICAgewogICAgICAgICBsZXQgaXRlbXMgPSBbXTsKIAorICAgICAgICBpZiAo
dGhpcy5faW1wb3J0TG9jYWxSZXNvdXJjZU92ZXJyaWRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0pCisg
ICAgICAgICAgICBpdGVtcy5wdXNoKHRoaXMuX2ltcG9ydExvY2FsUmVzb3VyY2VPdmVycmlkZUJ1
dHRvbk5hdmlnYXRpb25JdGVtLCBuZXcgV0kuRGl2aWRlck5hdmlnYXRpb25JdGVtKTsKICAgICAg
ICAgaWYgKHRoaXMuX3JlbW92ZUxvY2FsUmVzb3VyY2VPdmVycmlkZUJ1dHRvbk5hdmlnYXRpb25J
dGVtKQogICAgICAgICAgICAgaXRlbXMucHVzaCh0aGlzLl9yZW1vdmVMb2NhbFJlc291cmNlT3Zl
cnJpZGVCdXR0b25OYXZpZ2F0aW9uSXRlbSk7CiAgICAgICAgIGlmICh0aGlzLl9jcmVhdGVMb2Nh
bFJlc291cmNlT3ZlcnJpZGVCdXR0b25OYXZpZ2F0aW9uSXRlbSkKQEAgLTIzMiw2ICsyNDAsMzUg
QEAgV0kuUmVzb3VyY2VDb250ZW50VmlldyA9IGNsYXNzIFJlc291cmNlQ29udGVudFZpZXcgZXh0
ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICBXSS5zaG93TG9jYWxSZXNvdXJjZU92ZXJyaWRl
KGxvY2FsUmVzb3VyY2VPdmVycmlkZSk7CiAgICAgfQogCisgICAgX2hhbmRsZUltcG9ydExvY2Fs
UmVzb3VyY2VPdmVycmlkZShldmVudCkKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRo
aXMuX3Nob3dpbmdMb2NhbFJlc291cmNlT3ZlcnJpZGUpOworCisgICAgICAgIFdJLkZpbGVVdGls
aXRpZXMuaW1wb3J0KGFzeW5jIChmaWxlTGlzdCkgPT4geworICAgICAgICAgICAgY29uc29sZS5h
c3NlcnQoZmlsZUxpc3QubGVuZ3RoID09PSAxKTsKKworICAgICAgICAgICAgbGV0IGxvY2FsUmVz
b3VyY2VPdmVycmlkZSA9IFdJLm5ldHdvcmtNYW5hZ2VyLmxvY2FsUmVzb3VyY2VPdmVycmlkZUZv
clVSTCh0aGlzLnJlc291cmNlLnVybCk7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChsb2Nh
bFJlc291cmNlT3ZlcnJpZGUpOworCisgICAgICAgICAgICBsZXQgcmV2aXNpb24gPSBsb2NhbFJl
c291cmNlT3ZlcnJpZGUubG9jYWxSZXNvdXJjZS5jdXJyZW50UmV2aXNpb247CisKKyAgICAgICAg
ICAgIGxldCBmaWxlID0gZmlsZUxpc3RbMF07CisgICAgICAgICAgICBsZXQgbWltZVR5cGUgPSBm
aWxlLnR5cGUgfHwgV0kubWltZVR5cGVGb3JGaWxlRXh0ZW5zaW9uKFdJLmZpbGVFeHRlbnNpb25G
b3JGaWxlbmFtZShmaWxlLm5hbWUpKTsKKyAgICAgICAgICAgIGlmIChXSS5zaG91bGRUcmVhdE1J
TUVUeXBlQXNUZXh0KG1pbWVUeXBlKSkgeworICAgICAgICAgICAgICAgIGF3YWl0IFdJLkZpbGVV
dGlsaXRpZXMucmVhZFRleHQoZmlsZSwgKHt0ZXh0fSkgPT4geworICAgICAgICAgICAgICAgICAg
ICByZXZpc2lvbi51cGRhdGVSZXZpc2lvbkNvbnRlbnQodGV4dCwge2Jhc2U2NEVuY29kZWQ6IGZh
bHNlLCBtaW1lVHlwZX0pOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICBhd2FpdCBXSS5GaWxlVXRpbGl0aWVzLnJlYWREYXRhKGZpbGUs
ICh7ZGF0YVVSTCwgbWltZVR5cGUsIGJhc2U2NEVuY29kZWQsIGNvbnRlbnR9KSA9PiB7CisgICAg
ICAgICAgICAgICAgICAgIHJldmlzaW9uLnVwZGF0ZVJldmlzaW9uQ29udGVudChjb250ZW50LCB7
YmFzZTY0RW5jb2RlZCwgbWltZVR5cGV9KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgaWYgKCF0aGlzLnNob3dpbmdMb2NhbFJlc291cmNlT3ZlcnJp
ZGUpCisgICAgICAgICAgICAgICAgV0kuc2hvd0xvY2FsUmVzb3VyY2VPdmVycmlkZShsb2NhbFJl
c291cmNlT3ZlcnJpZGUpOworICAgICAgICB9KTsKKyAgICB9CisKICAgICBfaGFuZGxlUmVtb3Zl
TG9jYWxSZXNvdXJjZU92ZXJyaWRlKGV2ZW50KQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3Nl
cnQodGhpcy5fc2hvd2luZ0xvY2FsUmVzb3VyY2VPdmVycmlkZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0Nv
bnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwppbmRleCA3Yzc2NzExODc3YWU4YWZmM2Nj
ZjcxNDg4ZjI0NWE5ZTEwMTRhNzVmLi4xY2VjZmZmZjMyZjAzOTM1NjQ5MTMyNGYxNTIzZmZmNWM4
MGJlNWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcu
anMKQEAgLTYyMSw3ICs2MjEsNyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3ID0g
Y2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAgX2lt
cG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtQ2xpY2tlZChldmVudCkKICAgICB7Ci0gICAgICAgIFdJ
LkZpbGVVdGlsaXRpZXMuaW1wb3J0SlNPTigocmVzdWx0KSA9PiBXSS50aW1lbGluZU1hbmFnZXIu
cHJvY2Vzc0pTT04ocmVzdWx0KSk7CisgICAgICAgIFdJLkZpbGVVdGlsaXRpZXMuaW1wb3J0SlNP
TigocmVzdWx0KSA9PiBXSS50aW1lbGluZU1hbmFnZXIucHJvY2Vzc0pTT04ocmVzdWx0KSwge211
bHRpcGxlOiB0cnVlfSk7CiAgICAgfQogCiAgICAgX2NsZWFyVGltZWxpbmUoZXZlbnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380996</attachid>
            <date>2019-10-15 09:53:42 -0700</date>
            <delta_ts>2019-10-15 10:15:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202957-20191015095341.patch</filename>
            <type>text/plain</type>
            <size>32716</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDA1NTIwODUxMzVhN2Q3M2U2MGM4OTY0MTM4MWYw
ZjA5ZjI4MDgxNDcuLjlmYTJlN2E0YjAzNzEwYTEzMDBiZjUxZTQ1NTFlNDhjMWEwZTIzMzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDE5LTEwLTE1ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBM
b2NhbCBSZXNvdXJjZSBPdmVycmlkZXM6IGF1dG9tYXRpY2FsbHkgY3JlYXRlIGFuIGltYWdlL2Zv
bnQgbG9jYWwgb3ZlcnJpZGUgd2hlbiBkcmFnZ2luZyBjb250ZW50IG92ZXIgYSBub24tb3ZlcnJp
ZGRlbiByZXNvdXJjZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjAyOTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisg
ICAgICAgIFNpbmNlIG5vbi10ZXh0IHJlc291cmNlcyBhcmVuJ3QgZWRpdGFibGUsIHNvbWUgdXNl
cnMgb2YgbG9jYWwgcmVzb3VyY2Ugb3ZlcnJpZGVzIGtlcHQgdHJ5aW5nCisgICAgICAgIHRvIGRy
YWcgaW1hZ2UvZm9udCBmaWxlcyBvdmVyIHRoZSBhY3R1YWwgcmVzb3VyY2UgY29udGVudCB2aWV3
IChub3QgdGhlIGxvY2FsIG92ZXJyaWRlKSwKKyAgICAgICAgd2hpY2ggZGlkbid0IGRvIGFueXRo
aW5nLiBSYXRoZXIgdGhhbiBoYXZpbmcgdG8gY2xpY2sgIkNyZWF0ZSBMb2NhbCBPdmVycmlkZSIg
YW5kIHRoZW4gZG8gYQorICAgICAgICBkcmFnL2Ryb3AsIHdlIHNob3VsZCBzdXBwb3J0IHRoZSAi
c2hvcnRlciIgd29ya2Zsb3cgb2YgZHJhZy9kcm9wIG92ZXIgdGhlIGFjdHVhbCByZXNvdXJjZS4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9GaWxlVXRpbGl0aWVzLmpzOgorICAgICAg
ICAoV0kuRmlsZVV0aWxpdGllcy5pbXBvcnQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkZpbGVVdGls
aXRpZXMuaW1wb3J0VGV4dCk6CisgICAgICAgIChXSS5GaWxlVXRpbGl0aWVzLmltcG9ydEpTT04p
OgorICAgICAgICAoV0kuRmlsZVV0aWxpdGllcy5pbXBvcnREYXRhKTogQWRkZWQuCisgICAgICAg
IChXSS5GaWxlVXRpbGl0aWVzLmFzeW5jIHJlYWRUZXh0KToKKyAgICAgICAgKFdJLkZpbGVVdGls
aXRpZXMuYXN5bmMgcmVhZEpTT04pOgorICAgICAgICAoV0kuRmlsZVV0aWxpdGllcy5hc3luYyBy
ZWFkRGF0YSk6IEFkZGVkLgorICAgICAgICAoV0kuRmlsZVV0aWxpdGllcy5hc3luYyBfcmVhZCk6
IEFkZGVkLgorICAgICAgICBDcmVhdGUgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGltcG9ydGluZyBu
b24tdGV4dCBjb250ZW50IGFzIGRhdGEuCisgICAgICAgIERyaXZlLWJ5OiBmaXggYSBidWcgaW4g
dGhlIGBpbXBvcnQqYCBmdW5jdGlvbnMgd2hlcmUgdGhlIGBjYWxsYmFja2Agd291bGQgYmUgYm91
bmQgb24gdGhlCisgICAgICAgICAgICAgICAgICBmaXJzdCBjYWxsLCBtZWFuaW5nIHRoYXQgc2lu
Y2UgdGhlIGA8aW5wdXQ+YCB3YXMgY2FjaGVkIGZvciBhbGwgY2FsbHMsIHdlJ2Qgb25seQorICAg
ICAgICAgICAgICAgICAgZXZlciB1c2UgdGhlIGZpcnN0IGBjYWxsYmFja2AgaW4gc3Vic2VxdWVu
dCBjYWxscy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRHJvcFpvbmVWaWV3Lmpz
OgorICAgICAgICAoV0kuRHJvcFpvbmVWaWV3KToKKyAgICAgICAgKFdJLkRyb3Bab25lVmlldy5w
cm90b3R5cGUuc2V0IHRleHQpOiBBZGRlZC4KKyAgICAgICAgU3VwcG9ydCB0aGUgdGV4dCBjb250
ZW50IG9mIHRoZSBkcm9wIHpvbmUgY2hhbmdpbmcgYWZ0ZXIgaXQncyBpbml0aWFsaXplZC4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRm9udFJlc291cmNlQ29udGVudFZpZXcuanM6
CisgICAgICAgIChXSS5Gb250UmVzb3VyY2VDb250ZW50Vmlldyk6CisgICAgICAgIChXSS5Gb250
UmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUuY29udGVudEF2YWlsYWJsZSk6CisgICAgICAg
IChXSS5Gb250UmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUuZHJvcFpvbmVIYW5kbGVEcmFn
RW50ZXIpOiBBZGRlZC4KKyAgICAgICAgKFdJLkZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5kcm9wWm9uZUhhbmRsZURyb3ApOgorICAgICAgICAoV0kuRm9udFJlc291cmNlQ29udGVu
dFZpZXcucHJvdG90eXBlLl9oYW5kbGVMb2NhbFJlc291cmNlQ29udGVudERpZENoYW5nZSk6IEFk
ZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRW
aWV3LmpzOgorICAgICAgICAoV0kuSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3KToKKyAgICAgICAg
KFdJLkltYWdlUmVzb3VyY2VDb250ZW50Vmlldy5wcm90b3R5cGUuY29udGVudEF2YWlsYWJsZSk6
CisgICAgICAgIChXSS5JbWFnZVJlc291cmNlQ29udGVudFZpZXcucHJvdG90eXBlLmRyb3Bab25l
SGFuZGxlRHJhZ0VudGVyKTogQWRkZWQuCisgICAgICAgIChXSS5JbWFnZVJlc291cmNlQ29udGVu
dFZpZXcucHJvdG90eXBlLmRyb3Bab25lSGFuZGxlRHJvcCk6CisgICAgICAgIChXSS5JbWFnZVJl
c291cmNlQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVMb2NhbFJlc291cmNlQ29udGVudERp
ZENoYW5nZSk6IEFkZGVkLgorICAgICAgICBTdXBwb3J0IGRyYWcvZHJvcCBvbiBub24tb3ZlcnJp
ZGUgaW1hZ2UvZm9udCBjb250ZW50IHZpZXdzLCB3aGljaCB3aWxsIGNyZWF0ZS91cGRhdGUgdGhl
CisgICAgICAgIGxvY2FsIHJlc291cmNlIG92ZXJyaWRlIGZvciB0aGF0IHJlc291cmNlLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNvbnRlbnRWaWV3LmpzOgorICAg
ICAgICAoV0kuUmVzb3VyY2VDb250ZW50Vmlldyk6CisgICAgICAgIChXSS5SZXNvdXJjZUNvbnRl
bnRWaWV3LnByb3RvdHlwZS5nZXQgbmF2aWdhdGlvbkl0ZW1zKToKKyAgICAgICAgKFdJLlJlc291
cmNlQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVJbXBvcnRMb2NhbFJlc291cmNlT3ZlcnJp
ZGUpOiBBZGRlZC4KKyAgICAgICAgV2hlbiB2aWV3aW5nIGEgbG9jYWwgcmVzb3VyY2Ugb3ZlcnJp
ZGUsIGFkZCBhbiAiSW1wb3J0IiBuYXZpZ2F0aW9uIGl0ZW0gZm9yIG5vbi1kcmFnL2Ryb3AKKyAg
ICAgICAgdXBkYXRpbmcgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSBsb2NhbCByZXNvdXJjZSBvdmVy
cmlkZS4gVGhpcyBpcyBhbHNvIGV4cG9zZWQgZm9yIHRleHQtYmFzZWQKKyAgICAgICAgbG9jYWwg
cmVzb3VyY2Ugb3ZlcnJpZGVzLCBzaW5jZSBkcmFnL2Ryb3AgaW5zZXJ0cyB0aGUgY29udGVudHMg
b2YgdGhlIGZpbGUgKGlmIGl0J3MgdGV4dCksCisgICAgICAgIHdoaWNoIGF0dGVtcHRzIHRvIGRl
dGVybWluZSB3aGV0aGVyIHRoZSBkcm9wcGVkIGZpbGUgaXMgdGV4dCBvciBkYXRhIGJhc2VkIG9u
IHRoZSBNSU1FIHR5cGUuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0TmF2
aWdhdGlvblNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdJLkF1ZGl0TmF2aWdhdGlvblNpZGVi
YXJQYW5lbC5wcm90b3R5cGUuX2hhbmRsZUltcG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtQ2xpY2tl
ZCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNPdmVydmlld0NvbnRlbnRW
aWV3LmpzOgorICAgICAgICAoV0kuQ2FudmFzT3ZlcnZpZXdDb250ZW50Vmlldy5wcm90b3R5cGUu
X2hhbmRsZUltcG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtQ2xpY2tlZCk6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXSS5DYW52
YXNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9oYW5kbGVJbXBvcnRCdXR0b25OYXZpZ2F0aW9uSXRl
bUNsaWNrZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFsbG9jYXRpb25z
VGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV0kuSGVhcEFsbG9jYXRpb25zVGltZWxpbmVWaWV3
LnByb3RvdHlwZS5faW1wb3J0QnV0dG9uTmF2aWdhdGlvbkl0ZW1DbGlja2VkKToKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3LmpzOgorICAgICAg
ICAoV0kuTmV0d29ya1RhYmxlQ29udGVudFZpZXcucHJvdG90eXBlLl9pbXBvcnRIQVIpOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5q
czoKKyAgICAgICAgKFdJLlRpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZpZXcucHJvdG90eXBlLl9p
bXBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNsaWNrZWQpOgorICAgICAgICBFeHBsaWNpdGx5IGFs
bG93IG11bHRpcGxlIGZpbGVzIHRvIGJlIGltcG9ydGVkIGF0IHRoZSBzYW1lIHRpbWUuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvQmxvYlV0aWxpdGllcy5qczoKKyAgICAgICAgKFdJ
LkJsb2JVdGlsaXRpZXMuYmxvYkZvckNvbnRlbnQpOgorICAgICAgICBEcml2ZS1ieTogcmVtb3Zl
IGV4dHJhIGBiYXNlNjRFbmNvZGVkYCBhcmd1bWVudCB3aGVuIGNhbGxpbmcgYGRlY29kZUJhc2U2
NFRvQmxvYmAsIHdoaWNoCisgICAgICAgICAgICAgICAgICBjYXVzZWQgU1ZHLWJhc2VkIGltYWdl
IGxvY2FsIHJlc291cmNlIG92ZXJyaWRlcyB0byBzaG93IGEgYnJva2VuIGltYWdlIHdoZW4KKyAg
ICAgICAgICAgICAgICAgIGNsb3NpbmcgYW5kIHJlb3BlbmluZyBXZWIgSW5zcGVjdG9yLgorCisg
ICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorCiAy
MDE5LTEwLTE0ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBSRUdSRVNTSU9OKHIyNTA5OTEpOiBTb3VyY2VzOiBsb2NhbCByZXNvdXJj
ZSBvdmVycmlkZXMgc2hvdWxkIGJlIGVuYWJsZWQgd2hlbiBub3QgaW4gdGVzdHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXpl
ZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDc4YTg4OWJjM2NlMWRmMTI2ZWRmMzIwYjdjODJj
MmFkMDgzY2QzNTYuLmYxOWYxNTQ5ODJlNGIzYWQ3NmI4MDRjOGQ0NGEyZTA0M2VhNzQxOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlv
bnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAtMzgyLDggKzM4Miw2IEBAIGxvY2Fs
aXplZFN0cmluZ3NbIkRvbWFpbiJdID0gIkRvbWFpbiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJEb25l
Il0gPSAiRG9uZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJEb3dubG9hZCJdID0gIkRvd25sb2FkIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkRvd25sb2FkIFdlYiBBcmNoaXZlIl0gPSAiRG93bmxvYWQgV2Vi
IEFyY2hpdmUiOwotbG9jYWxpemVkU3RyaW5nc1siRHJvcCBGb250Il0gPSAiRHJvcCBGb250IjsK
LWxvY2FsaXplZFN0cmluZ3NbIkRyb3AgSW1hZ2UiXSA9ICJEcm9wIEltYWdlIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIkRyb3BwZWQgRWxlbWVudCJdID0gIkRyb3BwZWQgRWxlbWVudCI7CiBsb2NhbGl6
ZWRTdHJpbmdzWyJEcm9wcGVkIE5vZGUiXSA9ICJEcm9wcGVkIE5vZGUiOwogbG9jYWxpemVkU3Ry
aW5nc1siRHVwbGljYXRlIFNlbGVjdG9yIl0gPSAiRHVwbGljYXRlIFNlbGVjdG9yIjsKQEAgLTEy
MTcsNiArMTIxNSw5IEBAIGxvY2FsaXplZFN0cmluZ3NbIlVua25vd24gbm9kZSJdID0gIlVua25v
d24gbm9kZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJVbnN1cHBvcnRlZCBwcm9wZXJ0eSBuYW1lIl0g
PSAiVW5zdXBwb3J0ZWQgcHJvcGVydHkgbmFtZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJVbnN1cHBv
cnRlZCBwcm9wZXJ0eSB2YWx1ZSJdID0gIlVuc3VwcG9ydGVkIHByb3BlcnR5IHZhbHVlIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIlVudGl0bGVkIl0gPSAiVW50aXRsZWQiOworbG9jYWxpemVkU3RyaW5n
c1siVXBkYXRlIEZvbnQiXSA9ICJVcGRhdGUgRm9udCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJVcGRh
dGUgSW1hZ2UiXSA9ICJVcGRhdGUgSW1hZ2UiOworbG9jYWxpemVkU3RyaW5nc1siVXBkYXRlIExv
Y2FsIE92ZXJyaWRlIl0gPSAiVXBkYXRlIExvY2FsIE92ZXJyaWRlIjsKIGxvY2FsaXplZFN0cmlu
Z3NbIlVzYWdlOiAlcyJdID0gIlVzYWdlOiAlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJVc2UgRGVm
YXVsdCBBcHBlYXJhbmNlIl0gPSAiVXNlIERlZmF1bHQgQXBwZWFyYW5jZSI7CiBsb2NhbGl6ZWRT
dHJpbmdzWyJVc2UgTW9jayBDYXB0dXJlIERldmljZXMiXSA9ICJVc2UgTW9jayBDYXB0dXJlIERl
dmljZXMiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9CbG9iVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9CbG9iVXRpbGl0aWVzLmpzCmluZGV4IDA4YzYwYjA4NmQ2ZDdiNDliYThhN2I0NDcz
MmNiYTY1MTdhYzkzMWQuLmRhNmYwNTU4YzE5MTQyNWMzZjU2OTMyNGI5ZDM1MWM4NjhjNDViYjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvQmxv
YlV0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9C
YXNlL0Jsb2JVdGlsaXRpZXMuanMKQEAgLTI3LDcgKzI3LDcgQEAgV0kuQmxvYlV0aWxpdGllcyA9
IGNsYXNzIEJsb2JVdGlsaXRpZXMgewogICAgIHN0YXRpYyBibG9iRm9yQ29udGVudChjb250ZW50
LCBiYXNlNjRFbmNvZGVkLCBtaW1lVHlwZSkKICAgICB7CiAgICAgICAgIGlmIChiYXNlNjRFbmNv
ZGVkKQotICAgICAgICAgICAgcmV0dXJuIEJsb2JVdGlsaXRpZXMuZGVjb2RlQmFzZTY0VG9CbG9i
KGNvbnRlbnQsIGJhc2U2NEVuY29kZWQsIG1pbWVUeXBlKTsKKyAgICAgICAgICAgIHJldHVybiBC
bG9iVXRpbGl0aWVzLmRlY29kZUJhc2U2NFRvQmxvYihjb250ZW50LCBtaW1lVHlwZSk7CiAgICAg
ICAgIHJldHVybiBCbG9iVXRpbGl0aWVzLnRleHRUb0Jsb2IoY29udGVudCwgbWltZVR5cGUpOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9GaWxlVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9GaWxlVXRpbGl0aWVzLmpzCmluZGV4IGZmN2Q4ZDA5NmMwZDlhNDI5Y2U3OThjOWIz
YjYxMGU3YzRmYjRlM2YuLjY4YTAyNzUzNzViYWQyZjk2N2FiNDZhYjBmYzZkMWZiNGZmMTc1NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvRmls
ZVV0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9C
YXNlL0ZpbGVVdGlsaXRpZXMuanMKQEAgLTkxLDM3ICs5MSwxMDQgQEAgV0kuRmlsZVV0aWxpdGll
cyA9IGNsYXNzIEZpbGVVdGlsaXRpZXMgewogICAgICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFV
Ukwoc2F2ZURhdGEuY29udGVudCk7CiAgICAgfQogCi0gICAgc3RhdGljIGltcG9ydFRleHQoY2Fs
bGJhY2spCisgICAgc3RhdGljIGltcG9ydChjYWxsYmFjaywge211bHRpcGxlfSA9IHt9KQogICAg
IHsKLSAgICAgICAgaWYgKCFGaWxlVXRpbGl0aWVzLl9pbXBvcnRUZXh0SW5wdXRFbGVtZW50KSB7
Ci0gICAgICAgICAgICBsZXQgaW5wdXRFbGVtZW50ID0gRmlsZVV0aWxpdGllcy5faW1wb3J0VGV4
dElucHV0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Ci0gICAgICAg
ICAgICBpbnB1dEVsZW1lbnQudHlwZSA9ICJmaWxlIjsKLSAgICAgICAgICAgIGlucHV0RWxlbWVu
dC5tdWx0aXBsZSA9IHRydWU7Ci0gICAgICAgICAgICBpbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigiY2hhbmdlIiwgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAgICAgICAgV0kuRmlsZVV0aWxp
dGllcy5yZWFkVGV4dChpbnB1dEVsZW1lbnQuZmlsZXMsIGNhbGxiYWNrKTsKLSAgICAgICAgICAg
IH0pOwotICAgICAgICB9CisgICAgICAgIGxldCBpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpbnB1dCIpOworICAgICAgICBpbnB1dEVsZW1lbnQudHlwZSA9ICJmaWxlIjsK
KyAgICAgICAgaW5wdXRFbGVtZW50LnZhbHVlID0gbnVsbDsKKyAgICAgICAgaW5wdXRFbGVtZW50
Lm11bHRpcGxlID0gISFtdWx0aXBsZTsKKyAgICAgICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlz
dGVuZXIoImNoYW5nZSIsIChldmVudCkgPT4geworICAgICAgICAgICAgY2FsbGJhY2soaW5wdXRF
bGVtZW50LmZpbGVzKTsKKyAgICAgICAgfSk7CiAKLSAgICAgICAgRmlsZVV0aWxpdGllcy5faW1w
b3J0VGV4dElucHV0RWxlbWVudC52YWx1ZSA9IG51bGw7Ci0gICAgICAgIEZpbGVVdGlsaXRpZXMu
X2ltcG9ydFRleHRJbnB1dEVsZW1lbnQuY2xpY2soKTsKKyAgICAgICAgaW5wdXRFbGVtZW50LmNs
aWNrKCk7CisKKyAgICAgICAgLy8gQ2FjaGUgdGhlIGxhc3QgdXNlZCBpbXBvcnQgZWxlbWVudCBz
byB0aGF0IGl0IGRvZXNuJ3QgZ2V0IEdDZCB3aGlsZSB0aGUgbmF0aXZlIGZpbGUKKyAgICAgICAg
Ly8gcGlja2VyIGlzIHNob3duLCB3aGljaCB3b3VsZCBwcmV2ZW50IHRoZSAiY2hhbmdlIiBldmVu
dCBsaXN0ZW5lciBmcm9tIGZpcmluZy4KKyAgICAgICAgRmlsZVV0aWxpdGllcy5pbXBvcnRJbnB1
dEVsZW1lbnQgPSBpbnB1dEVsZW1lbnQ7CiAgICAgfQogCi0gICAgc3RhdGljIGltcG9ydEpTT04o
Y2FsbGJhY2spCisgICAgc3RhdGljIGltcG9ydFRleHQoY2FsbGJhY2ssIG9wdGlvbnMgPSB7fSkK
ICAgICB7Ci0gICAgICAgIGlmICghRmlsZVV0aWxpdGllcy5faW1wb3J0SlNPTklucHV0RWxlbWVu
dCkgewotICAgICAgICAgICAgbGV0IGlucHV0RWxlbWVudCA9IEZpbGVVdGlsaXRpZXMuX2ltcG9y
dEpTT05JbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwotICAg
ICAgICAgICAgaW5wdXRFbGVtZW50LnR5cGUgPSAiZmlsZSI7Ci0gICAgICAgICAgICBpbnB1dEVs
ZW1lbnQubXVsdGlwbGUgPSB0cnVlOwotICAgICAgICAgICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImNoYW5nZSIsIChldmVudCkgPT4gewotICAgICAgICAgICAgICAgIFdJLkZpbGVV
dGlsaXRpZXMucmVhZEpTT04oaW5wdXRFbGVtZW50LmZpbGVzLCBjYWxsYmFjayk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfQorICAgICAgICBGaWxlVXRpbGl0aWVzLmltcG9ydCgoZmlsZXMp
ID0+IHsKKyAgICAgICAgICAgIEZpbGVVdGlsaXRpZXMucmVhZFRleHQoZmlsZXMsIGNhbGxiYWNr
KTsKKyAgICAgICAgfSwgb3B0aW9ucyk7CisgICAgfQogCi0gICAgICAgIEZpbGVVdGlsaXRpZXMu
X2ltcG9ydEpTT05JbnB1dEVsZW1lbnQudmFsdWUgPSBudWxsOwotICAgICAgICBGaWxlVXRpbGl0
aWVzLl9pbXBvcnRKU09OSW5wdXRFbGVtZW50LmNsaWNrKCk7CisgICAgc3RhdGljIGltcG9ydEpT
T04oY2FsbGJhY2ssIG9wdGlvbnMgPSB7fSkKKyAgICB7CisgICAgICAgIEZpbGVVdGlsaXRpZXMu
aW1wb3J0KChmaWxlcykgPT4geworICAgICAgICAgICAgRmlsZVV0aWxpdGllcy5yZWFkSlNPTihm
aWxlcywgY2FsbGJhY2spOworICAgICAgICB9LCBvcHRpb25zKTsKKyAgICB9CisKKyAgICBzdGF0
aWMgaW1wb3J0RGF0YShjYWxsYmFjaywgb3B0aW9ucyA9IHt9KQorICAgIHsKKyAgICAgICAgRmls
ZVV0aWxpdGllcy5pbXBvcnQoKGZpbGVzKSA9PiB7CisgICAgICAgICAgICBGaWxlVXRpbGl0aWVz
LnJlYWREYXRhKGZpbGVzLCBjYWxsYmFjayk7CisgICAgICAgIH0sIG9wdGlvbnMpOwogICAgIH0K
IAogICAgIHN0YXRpYyBhc3luYyByZWFkVGV4dChmaWxlT3JMaXN0LCBjYWxsYmFjaykKKyAgICB7
CisgICAgICAgIGF3YWl0IEZpbGVVdGlsaXRpZXMuX3JlYWQoZmlsZU9yTGlzdCwgYXN5bmMgKGZp
bGUsIHJlc3VsdCkgPT4geworICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUs
IHJlamVjdCkgPT4geworICAgICAgICAgICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRl
cjsKKyAgICAgICAgICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVuZCIsIChl
dmVudCkgPT4geworICAgICAgICAgICAgICAgICAgICByZXN1bHQudGV4dCA9IHJlYWRlci5yZXN1
bHQ7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZXZlbnQpOworICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIHJl
amVjdCk7CisgICAgICAgICAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7CisgICAgICAg
ICAgICB9KTsKKyAgICAgICAgfSwgY2FsbGJhY2spOworICAgIH0KKworICAgIHN0YXRpYyBhc3lu
YyByZWFkSlNPTihmaWxlT3JMaXN0LCBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIGF3YWl0IFdJ
LkZpbGVVdGlsaXRpZXMucmVhZFRleHQoZmlsZU9yTGlzdCwgYXN5bmMgKHJlc3VsdCkgPT4gewor
ICAgICAgICAgICAgaWYgKHJlc3VsdC50ZXh0ICYmICFyZXN1bHQuZXJyb3IpIHsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICByZXN1bHQuanNvbiA9IEpTT04ucGFy
c2UocmVzdWx0LnRleHQpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0LmVycm9yID0gZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIGF3YWl0IGNhbGxiYWNrKHJlc3VsdCk7CisgICAgICAgIH0p
OworICAgIH0KKworICAgIHN0YXRpYyBhc3luYyByZWFkRGF0YShmaWxlT3JMaXN0LCBjYWxsYmFj
aykKKyAgICB7CisgICAgICAgIGF3YWl0IEZpbGVVdGlsaXRpZXMuX3JlYWQoZmlsZU9yTGlzdCwg
YXN5bmMgKGZpbGUsIHJlc3VsdCkgPT4geworICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2Uo
KHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgICAgIGxldCByZWFkZXIgPSBuZXcg
RmlsZVJlYWRlcjsKKyAgICAgICAgICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZGVuZCIsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgICAgICBsZXQge21pbWVUeXBlLCBi
YXNlNjQsIGRhdGF9ID0gcGFyc2VEYXRhVVJMKHJlYWRlci5yZXN1bHQpOworCisgICAgICAgICAg
ICAgICAgICAgIC8vIEluIGNhc2Ugbm8gbWltZSB0eXBlIHdhcyBkZXRlcm1pbmVkLCB0cnkgdG8g
ZGVyaXZlIG9uZSBmcm9tIHRoZSBmaWxlIGV4dGVuc2lvbi4KKyAgICAgICAgICAgICAgICAgICAg
aWYgKCFtaW1lVHlwZSB8fCBtaW1lVHlwZSA9PT0gInRleHQvcGxhaW4iKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBsZXQgZXh0ZW5zaW9uID0gV0kuZmlsZUV4dGVuc2lvbkZvckZpbGVuYW1l
KHJlc3VsdC5maWxlbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXh0ZW5zaW9u
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbWVUeXBlID0gV0kubWltZVR5cGVGb3JG
aWxlRXh0ZW5zaW9uKGV4dGVuc2lvbik7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgICAgICByZXN1bHQubWltZVR5cGUgPSBtaW1lVHlwZTsKKyAgICAgICAgICAgICAg
ICAgICAgcmVzdWx0LmJhc2U2NEVuY29kZWQgPSBiYXNlNjQ7CisgICAgICAgICAgICAgICAgICAg
IHJlc3VsdC5jb250ZW50ID0gZGF0YTsKKworICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGV2
ZW50KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICByZWFkZXIuYWRkRXZl
bnRMaXN0ZW5lcigiZXJyb3IiLCByZWplY3QpOworICAgICAgICAgICAgICAgIHJlYWRlci5yZWFk
QXNEYXRhVVJMKGZpbGUpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0sIGNhbGxiYWNrKTsK
KyAgICB9CisKKyAgICAvLyBQcml2YXRlCisKKyAgICBzdGF0aWMgYXN5bmMgX3JlYWQoZmlsZU9y
TGlzdCwgb3BlcmF0aW9uLCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KGZpbGVPckxpc3QgaW5zdGFuY2VvZiBGaWxlIHx8IGZpbGVPckxpc3QgaW5zdGFuY2VvZiBGaWxl
TGlzdCk7CiAKQEAgLTEzNywzNyArMjA0LDEyIEBAIFdJLkZpbGVVdGlsaXRpZXMgPSBjbGFzcyBG
aWxlVXRpbGl0aWVzIHsKICAgICAgICAgICAgIH07CiAKICAgICAgICAgICAgIHRyeSB7Ci0gICAg
ICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewotICAg
ICAgICAgICAgICAgICAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXI7Ci0gICAgICAgICAg
ICAgICAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIiwgKGV2ZW50KSA9PiB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQudGV4dCA9IHJlYWRlci5yZXN1bHQ7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGV2ZW50KTsKLSAgICAgICAgICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICAgICAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCJlcnJv
ciIsIHJlamVjdCk7Ci0gICAgICAgICAgICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUp
OwotICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIGF3YWl0IG9wZXJhdGlvbihm
aWxlLCByZXN1bHQpOwogICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAg
IHJlc3VsdC5lcnJvciA9IGU7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGxldCBwcm9t
aXNlID0gY2FsbGJhY2socmVzdWx0KTsKLSAgICAgICAgICAgIGlmIChwcm9taXNlIGluc3RhbmNl
b2YgUHJvbWlzZSkKLSAgICAgICAgICAgICAgICBhd2FpdCBwcm9taXNlOworICAgICAgICAgICAg
YXdhaXQgY2FsbGJhY2socmVzdWx0KTsKICAgICAgICAgfQogICAgIH0KLQotICAgIHN0YXRpYyBh
c3luYyByZWFkSlNPTihmaWxlT3JMaXN0LCBjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIHJldHVy
biBXSS5GaWxlVXRpbGl0aWVzLnJlYWRUZXh0KGZpbGVPckxpc3QsIChyZXN1bHQpID0+IHsKLSAg
ICAgICAgICAgIGlmIChyZXN1bHQudGV4dCAmJiAhcmVzdWx0LmVycm9yKSB7Ci0gICAgICAgICAg
ICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lmpzb24gPSBKU09OLnBhcnNl
KHJlc3VsdC50ZXh0KTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHJlc3VsdC5lcnJvciA9IGU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2socmVzdWx0KTsKLSAgICAgICAgfSk7
Ci0gICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0F1ZGl0TmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0TmF2aWdhdGlvblNpZGViYXJQYW5lbC5q
cwppbmRleCBiNWMxOTZkYWUxNjBlZWZlZmU0NmEwODA5YzAxYzRhN2RiMTlkM2JlLi42NWM5MzM2
MjFmNDY2NGY1Mjc1NTEyMzEwZTUzZmY4NmIyZDZiMDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdE5hdmlnYXRpb25TaWRlYmFyUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVk
aXROYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCkBAIC0zMTUsNyArMzE1LDcgQEAgV0kuQXVkaXRO
YXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgQXVkaXROYXZpZ2F0aW9uU2lkZWJhclBhbmVs
IGV4dGVuZHMgV0kuTmEKIAogICAgIF9oYW5kbGVJbXBvcnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNs
aWNrZWQoZXZlbnQpCiAgICAgewotICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLmltcG9ydEpTT04o
KHJlc3VsdCkgPT4gV0kuYXVkaXRNYW5hZ2VyLnByb2Nlc3NKU09OKHJlc3VsdCkpOworICAgICAg
ICBXSS5GaWxlVXRpbGl0aWVzLmltcG9ydEpTT04oKHJlc3VsdCkgPT4gV0kuYXVkaXRNYW5hZ2Vy
LnByb2Nlc3NKU09OKHJlc3VsdCksIHttdWx0aXBsZTogdHJ1ZX0pOwogICAgIH0KIAogICAgIF9o
YW5kbGVFZGl0QnV0dG9uTmF2aWdhdGlvbkl0ZW1DbGlja2VkKGV2ZW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFzT3ZlcnZpZXdD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0NhbnZhc092ZXJ2aWV3Q29udGVudFZpZXcuanMKaW5kZXggOTY0Y2M1Zjk4MDhmNzFjYzAwNTMy
MjNmZGViODY5ZmEzMzI1N2Q2NC4uOTU5YWE5NDg3NWY0YzhhZDU2ZTMwZjZjMDQwZjQ0NTRjMDcw
OTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ2FudmFzT3ZlcnZpZXdDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9DYW52YXNPdmVydmlld0NvbnRlbnRWaWV3LmpzCkBAIC0z
MzYsNyArMzM2LDcgQEAgV0kuQ2FudmFzT3ZlcnZpZXdDb250ZW50VmlldyA9IGNsYXNzIENhbnZh
c092ZXJ2aWV3Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db2xsZWMKIAogICAgIF9oYW5kbGVJbXBv
cnRCdXR0b25OYXZpZ2F0aW9uSXRlbUNsaWNrZWQoZXZlbnQpCiAgICAgewotICAgICAgICBXSS5G
aWxlVXRpbGl0aWVzLmltcG9ydEpTT04oKHJlc3VsdCkgPT4gV0kuY2FudmFzTWFuYWdlci5wcm9j
ZXNzSlNPTihyZXN1bHQpKTsKKyAgICAgICAgV0kuRmlsZVV0aWxpdGllcy5pbXBvcnRKU09OKChy
ZXN1bHQpID0+IFdJLmNhbnZhc01hbmFnZXIucHJvY2Vzc0pTT04ocmVzdWx0KSwge211bHRpcGxl
OiB0cnVlfSk7CiAgICAgfQogCiAgICAgX2hhbmRsZVJlY29yZGluZ1NhdmVkKGV2ZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FudmFz
U2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ2FudmFzU2lkZWJhclBhbmVsLmpzCmluZGV4IDMxNTlmMDNjOTVkYmI4NDFiY2Q2NTQ5ZWZj
MTU3NTMyZTgyMzNhMTkuLmMyYmJkYzAyZTllODk2YjQyYjFiNjNkMzM0YmNmZjIyZDgyNzRhMTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nh
bnZhc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9DYW52YXNTaWRlYmFyUGFuZWwuanMKQEAgLTMyMiw3ICszMjIsNyBAQCBXSS5D
YW52YXNTaWRlYmFyUGFuZWwgPSBjbGFzcyBDYW52YXNTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5O
YXZpZ2F0aW9uU2lkZWJhclBhbgogCiAgICAgX2hhbmRsZUltcG9ydEJ1dHRvbk5hdmlnYXRpb25J
dGVtQ2xpY2tlZChldmVudCkKICAgICB7Ci0gICAgICAgIFdJLkZpbGVVdGlsaXRpZXMuaW1wb3J0
SlNPTigocmVzdWx0KSA9PiBXSS5jYW52YXNNYW5hZ2VyLnByb2Nlc3NKU09OKHJlc3VsdCkpOwor
ICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLmltcG9ydEpTT04oKHJlc3VsdCkgPT4gV0kuY2FudmFz
TWFuYWdlci5wcm9jZXNzSlNPTihyZXN1bHQpLCB7bXVsdGlwbGU6IHRydWV9KTsKICAgICB9CiAK
ICAgICBfdHJlZVNlbGVjdGlvbkRpZENoYW5nZShldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Ryb3Bab25lVmlldy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Ryb3Bab25lVmlldy5qcwppbmRl
eCBlYTM1ZDdkM2I5YWEzYTY3YjlkOTQ5ZjY0MTkzYzc0OTgyMWM1ZmRiLi5hNzcyZGQ3NGJkY2Ji
NTYyYWY4M2Q2ZmQyZDdkODk2OWI4NzBjYzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Ecm9wWm9uZVZpZXcuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRHJvcFpvbmVWaWV3LmpzCkBAIC0zMCw3
ICszMCw3IEBACiAKIFdJLkRyb3Bab25lVmlldyA9IGNsYXNzIERyb3Bab25lVmlldyBleHRlbmRz
IFdJLlZpZXcKIHsKLSAgICBjb25zdHJ1Y3RvcihkZWxlZ2F0ZSwge3RleHR9ID0ge30pCisgICAg
Y29uc3RydWN0b3IoZGVsZWdhdGUpCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydChkZWxl
Z2F0ZSk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiBkZWxlZ2F0ZS5kcm9wWm9uZVNo
b3VsZEFwcGVhckZvckRyYWdFdmVudCA9PT0gImZ1bmN0aW9uIik7CkBAIC00MSw5ICs0MSw2IEBA
IFdJLkRyb3Bab25lVmlldyA9IGNsYXNzIERyb3Bab25lVmlldyBleHRlbmRzIFdJLlZpZXcKICAg
ICAgICAgdGhpcy5fdGFyZ2V0RWxlbWVudCA9IG51bGw7CiAgICAgICAgIHRoaXMuX2FjdGl2ZWx5
SGFuZGxpbmdEcmFnID0gZmFsc2U7CiAKLSAgICAgICAgaWYgKHRleHQpCi0gICAgICAgICAgICB0
aGlzLmVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwotCiAgICAgICAgIHRoaXMuZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCJkcm9wLXpvbmUiKTsKICAgICB9CiAKQEAgLTc1LDYgKzcyLDExIEBAIFdJ
LkRyb3Bab25lVmlldyA9IGNsYXNzIERyb3Bab25lVmlldyBleHRlbmRzIFdJLlZpZXcKICAgICAg
ICAgICAgIHRoaXMuX3RhcmdldEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VudGVyIiwg
dGhpcy5fYm91bmRIYW5kbGVEcmFnRW50ZXIpOwogICAgIH0KIAorICAgIHNldCB0ZXh0KHRleHQp
CisgICAgeworICAgICAgICB0aGlzLmVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OworICAgIH0K
KwogICAgIC8vIFByb3RlY3RlZAogCiAgICAgaW5pdGlhbExheW91dCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb250UmVzb3VyY2VDb250
ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Zv
bnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCmluZGV4IDExMmQ5OGZjMmM0MTNmODkyY2EzMWJhYjEy
ZjQzZDM1ZTc4Y2NhMjMuLjg5OTNlNWUyYzc3Y2JjYzBiMTg4YjRmNWI3NzNiMmFkNmY1OTY4Mzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Zv
bnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0ZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3LmpzCkBAIC0zMiw5ICszMiw2
IEBAIFdJLkZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgRm9udFJlc291cmNlQ29udGVu
dFZpZXcgZXh0ZW5kcyBXSS5SZXNvdXJjZUNvCiAgICAgICAgIHRoaXMuX3N0eWxlRWxlbWVudCA9
IG51bGw7CiAgICAgICAgIHRoaXMuX3ByZXZpZXdFbGVtZW50ID0gbnVsbDsKICAgICAgICAgdGhp
cy5fcHJldmlld0NvbnRhaW5lciA9IG51bGw7Ci0KLSAgICAgICAgaWYgKHRoaXMuc2hvd2luZ0xv
Y2FsUmVzb3VyY2VPdmVycmlkZSkKLSAgICAgICAgICAgIHRoaXMuX2Ryb3Bab25lVmlldyA9IG5l
dyBXSS5Ecm9wWm9uZVZpZXcodGhpcywge3RleHQ6IFdJLlVJU3RyaW5nKCJEcm9wIEZvbnQiKX0p
OwogICAgIH0KIAogICAgIC8vIFB1YmxpYwpAQCAtNjgsOSArNjUsMTMgQEAgV0kuRm9udFJlc291
cmNlQ29udGVudFZpZXcgPSBjbGFzcyBGb250UmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJ
LlJlc291cmNlQ28KIAogICAgICAgICB0aGlzLl91cGRhdGVQcmV2aWV3RWxlbWVudCgpOwogCi0g
ICAgICAgIGlmICh0aGlzLl9kcm9wWm9uZVZpZXcpIHsKLSAgICAgICAgICAgIHRoaXMuX2Ryb3Ba
b25lVmlldy50YXJnZXRFbGVtZW50ID0gdGhpcy5fcHJldmlld0NvbnRhaW5lcjsKLSAgICAgICAg
ICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9kcm9wWm9uZVZpZXcpOworICAgICAgICBpZiAoV0ku
TmV0d29ya01hbmFnZXIuc3VwcG9ydHNMb2NhbFJlc291cmNlT3ZlcnJpZGVzKCkpIHsKKyAgICAg
ICAgICAgIGxldCBkcm9wWm9uZVZpZXcgPSBuZXcgV0kuRHJvcFpvbmVWaWV3KHRoaXMpOworICAg
ICAgICAgICAgZHJvcFpvbmVWaWV3LnRhcmdldEVsZW1lbnQgPSB0aGlzLl9wcmV2aWV3Q29udGFp
bmVyOworICAgICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KGRyb3Bab25lVmlldyk7CisKKyAgICAg
ICAgICAgIGlmICh0aGlzLnNob3dpbmdMb2NhbFJlc291cmNlT3ZlcnJpZGUpCisgICAgICAgICAg
ICAgICAgdGhpcy5yZXNvdXJjZS5hZGRFdmVudExpc3RlbmVyKFdJLlNvdXJjZUNvZGUuRXZlbnQu
Q29udGVudERpZENoYW5nZSwgdGhpcy5faGFuZGxlTG9jYWxSZXNvdXJjZUNvbnRlbnREaWRDaGFu
Z2UsIHRoaXMpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xMTgsMzggKzExOSwzOSBAQCBXSS5G
b250UmVzb3VyY2VDb250ZW50VmlldyA9IGNsYXNzIEZvbnRSZXNvdXJjZUNvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuUmVzb3VyY2VDbwogICAgICAgICByZXR1cm4gZXZlbnQuZGF0YVRyYW5zZmVyLnR5
cGVzLmluY2x1ZGVzKCJGaWxlcyIpOwogICAgIH0KIAorICAgIGRyb3Bab25lSGFuZGxlRHJhZ0Vu
dGVyKGRyb3Bab25lLCBldmVudCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLnNob3dpbmdMb2Nh
bFJlc291cmNlT3ZlcnJpZGUpCisgICAgICAgICAgICBkcm9wWm9uZS50ZXh0ID0gV0kuVUlTdHJp
bmcoIlVwZGF0ZSBGb250Iik7CisgICAgICAgIGVsc2UgaWYgKFdJLm5ldHdvcmtNYW5hZ2VyLmxv
Y2FsUmVzb3VyY2VPdmVycmlkZUZvclVSTCh0aGlzLnJlc291cmNlLnVybCkpCisgICAgICAgICAg
ICBkcm9wWm9uZS50ZXh0ID0gV0kuVUlTdHJpbmcoIlVwZGF0ZSBMb2NhbCBPdmVycmlkZSIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBkcm9wWm9uZS50ZXh0ID0gV0kuVUlTdHJpbmcoIkNy
ZWF0ZSBMb2NhbCBPdmVycmlkZSIpOworICAgIH0KKwogICAgIGRyb3Bab25lSGFuZGxlRHJvcChk
cm9wWm9uZSwgZXZlbnQpCiAgICAgewogICAgICAgICBsZXQgZmlsZXMgPSBldmVudC5kYXRhVHJh
bnNmZXIuZmlsZXM7Ci0gICAgICAgIGxldCBmaWxlID0gZmlsZXMubGVuZ3RoID09PSAxID8gZmls
ZXNbMF0gOiBudWxsOwotICAgICAgICBpZiAoIWZpbGUpIHsKKyAgICAgICAgaWYgKGZpbGVzLmxl
bmd0aCAhPT0gMSkgewogICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJlZXAoKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGxldCBmaWxlUmVhZGVy
ID0gbmV3IEZpbGVSZWFkZXI7Ci0gICAgICAgIGZpbGVSZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZGVuZCIsIChldmVudCkgPT4geworICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLnJlYWREYXRh
KGZpbGVzLCBhc3luYyAoe2RhdGFVUkwsIG1pbWVUeXBlLCBiYXNlNjRFbmNvZGVkLCBjb250ZW50
fSkgPT4gewogICAgICAgICAgICAgbGV0IGxvY2FsUmVzb3VyY2VPdmVycmlkZSA9IFdJLm5ldHdv
cmtNYW5hZ2VyLmxvY2FsUmVzb3VyY2VPdmVycmlkZUZvclVSTCh0aGlzLnJlc291cmNlLnVybCk7
Ci0gICAgICAgICAgICBpZiAoIWxvY2FsUmVzb3VyY2VPdmVycmlkZSkKLSAgICAgICAgICAgICAg
ICByZXR1cm47Ci0KLSAgICAgICAgICAgIGxldCBkYXRhVVJMID0gZmlsZVJlYWRlci5yZXN1bHQ7
Ci0gICAgICAgICAgICBsZXQge2Jhc2U2NCwgZGF0YSwgbWltZVR5cGV9ID0gcGFyc2VEYXRhVVJM
KGRhdGFVUkwpOwotCi0gICAgICAgICAgICAvLyBJbiBjYXNlIG5vIG1pbWUgdHlwZSB3YXMgZGV0
ZXJtaW5lZCwgdHJ5IHRvIGRlcml2ZSBvbmUgZnJvbSB0aGUgZmlsZSBleHRlbnNpb24uCi0gICAg
ICAgICAgICBpZiAoIW1pbWVUeXBlIHx8IG1pbWVUeXBlID09PSAidGV4dC9wbGFpbiIpIHsKLSAg
ICAgICAgICAgICAgICBsZXQgZXh0ZW5zaW9uID0gV0kuZmlsZUV4dGVuc2lvbkZvckZpbGVuYW1l
KGZpbGUubmFtZSk7Ci0gICAgICAgICAgICAgICAgaWYgKGV4dGVuc2lvbikKLSAgICAgICAgICAg
ICAgICAgICAgbWltZVR5cGUgPSBXSS5taW1lVHlwZUZvckZpbGVFeHRlbnNpb24oZXh0ZW5zaW9u
KTsKKyAgICAgICAgICAgIGlmICghbG9jYWxSZXNvdXJjZU92ZXJyaWRlICYmICF0aGlzLnNob3dp
bmdMb2NhbFJlc291cmNlT3ZlcnJpZGUpIHsKKyAgICAgICAgICAgICAgICBsb2NhbFJlc291cmNl
T3ZlcnJpZGUgPSBhd2FpdCB0aGlzLnJlc291cmNlLmNyZWF0ZUxvY2FsUmVzb3VyY2VPdmVycmlk
ZSgpOworICAgICAgICAgICAgICAgIFdJLm5ldHdvcmtNYW5hZ2VyLmFkZExvY2FsUmVzb3VyY2VP
dmVycmlkZShsb2NhbFJlc291cmNlT3ZlcnJpZGUpOwogICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICBsZXQgcmV2aXNpb24gPSBsb2NhbFJlc291cmNlT3ZlcnJpZGUubG9jYWxSZXNvdXJjZS5j
dXJyZW50UmV2aXNpb247Ci0gICAgICAgICAgICByZXZpc2lvbi51cGRhdGVSZXZpc2lvbkNvbnRl
bnQoZGF0YSwge2Jhc2U2NEVuY29kZWQ6IGJhc2U2NCwgbWltZVR5cGV9KTsKKyAgICAgICAgICAg
IGNvbnNvbGUuYXNzZXJ0KGxvY2FsUmVzb3VyY2VPdmVycmlkZSk7CiAKLSAgICAgICAgICAgIHRo
aXMuX2ZvbnRPYmplY3RVUkwgPSB0aGlzLnJlc291cmNlLmNyZWF0ZU9iamVjdFVSTCgpOwotICAg
ICAgICAgICAgdGhpcy5fdXBkYXRlUHJldmlld0VsZW1lbnQoKTsKKyAgICAgICAgICAgIGxldCBy
ZXZpc2lvbiA9IGxvY2FsUmVzb3VyY2VPdmVycmlkZS5sb2NhbFJlc291cmNlLmN1cnJlbnRSZXZp
c2lvbjsKKyAgICAgICAgICAgIHJldmlzaW9uLnVwZGF0ZVJldmlzaW9uQ29udGVudChjb250ZW50
LCB7YmFzZTY0RW5jb2RlZCwgbWltZVR5cGV9KTsKKworICAgICAgICAgICAgaWYgKCF0aGlzLnNo
b3dpbmdMb2NhbFJlc291cmNlT3ZlcnJpZGUpCisgICAgICAgICAgICAgICAgV0kuc2hvd0xvY2Fs
UmVzb3VyY2VPdmVycmlkZShsb2NhbFJlc291cmNlT3ZlcnJpZGUpOwogICAgICAgICB9KTsKLSAg
ICAgICAgZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpOwogICAgIH0KIAogICAgIC8vIFBy
aXZhdGUKQEAgLTIwOCw2ICsyMTAsMTIgQEAgV0kuRm9udFJlc291cmNlQ29udGVudFZpZXcgPSBj
bGFzcyBGb250UmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLlJlc291cmNlQ28KIAogICAg
ICAgICB0aGlzLnNpemVUb0ZpdCgpOwogICAgIH0KKworICAgIF9oYW5kbGVMb2NhbFJlc291cmNl
Q29udGVudERpZENoYW5nZShldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX2ZvbnRPYmplY3RV
UkwgPSB0aGlzLnJlc291cmNlLmNyZWF0ZU9iamVjdFVSTCgpOworICAgICAgICB0aGlzLl91cGRh
dGVQcmV2aWV3RWxlbWVudCgpOworICAgIH0KIH07CiAKIFdJLkZvbnRSZXNvdXJjZUNvbnRlbnRW
aWV3Ll91bmlxdWVGb250SWRlbnRpZmllciA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZVZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwQWxsb2Nh
dGlvbnNUaW1lbGluZVZpZXcuanMKaW5kZXggZDFmMzJkY2VmMDNjNmZhNTM4ZDVjYjM3ZjIwYTkx
MjZiYjU4YjU1OS4uZWM1MTQ1YWZiMjQwMmJhZDVmNTYzZTc5NTIxNzk4MjBiYmZhNWVmZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcEFs
bG9jYXRpb25zVGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0hlYXBBbGxvY2F0aW9uc1RpbWVsaW5lVmlldy5qcwpAQCAtNDAzLDcg
KzQwMyw3IEBAIFdJLkhlYXBBbGxvY2F0aW9uc1RpbWVsaW5lVmlldyA9IGNsYXNzIEhlYXBBbGxv
Y2F0aW9uc1RpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpCiAgICAgICAgICAgICAgICAgV0kudGlt
ZWxpbmVNYW5hZ2VyLmhlYXBTbmFwc2hvdEFkZGVkKHRpbWVzdGFtcCwgc25hcHNob3QpOwogICAg
ICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRpbWVsaW5lVmll
dy5FdmVudC5OZWVkc0VudGlyZVNlbGVjdGVkUmFuZ2UpOwogICAgICAgICAgICAgfSk7Ci0gICAg
ICAgIH0pOworICAgICAgICB9LCB7bXVsdGlwbGU6IHRydWV9KTsKICAgICB9CiAKICAgICBfdGFr
ZUhlYXBTbmFwc2hvdENsaWNrZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRW
aWV3LmpzCmluZGV4IDU4ZjQ5OWIxYjM2M2I4MDRmZWJlZmJmZjU4NmZiZTk5YTkzOTcwN2UuLmEz
MDJiMTc0OWY4YWRkODIwMTg3NmQ0MWEyNTdlNTE4YTQ4NjFkNjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ltYWdlUmVzb3VyY2VDb250ZW50
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9J
bWFnZVJlc291cmNlQ29udGVudFZpZXcuanMKQEAgLTQwLDkgKzQwLDYgQEAgV0kuSW1hZ2VSZXNv
dXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuUmVzb3VyY2UKICAgICAgICAgdGhpcy5fc2hvd0dyaWRCdXR0b25OYXZpZ2F0aW9uSXRlbS52
aXNpYmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHku
TG93OwogICAgICAgICB0aGlzLl9zaG93R3JpZEJ1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50
TGlzdGVuZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fc2hv
d0dyaWRCdXR0b25DbGlja2VkLCB0aGlzKTsKICAgICAgICAgdGhpcy5fc2hvd0dyaWRCdXR0b25O
YXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSAhIVdJLnNldHRpbmdzLnNob3dJbWFnZUdyaWQudmFs
dWU7Ci0KLSAgICAgICAgaWYgKHRoaXMuc2hvd2luZ0xvY2FsUmVzb3VyY2VPdmVycmlkZSkKLSAg
ICAgICAgICAgIHRoaXMuX2Ryb3Bab25lVmlldyA9IG5ldyBXSS5Ecm9wWm9uZVZpZXcodGhpcywg
e3RleHQ6IFdJLlVJU3RyaW5nKCJEcm9wIEltYWdlIil9KTsKICAgICB9CiAKICAgICAvLyBQdWJs
aWMKQEAgLTg5LDkgKzg2LDEzIEBAIFdJLkltYWdlUmVzb3VyY2VDb250ZW50VmlldyA9IGNsYXNz
IEltYWdlUmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJLlJlc291cmNlCiAgICAgICAgICAg
ICB0aGlzLl9kcmFnZ2luZ0ludGVybmFsSW1hZ2VFbGVtZW50ID0gZmFsc2U7CiAgICAgICAgIH0p
OwogCi0gICAgICAgIGlmICh0aGlzLl9kcm9wWm9uZVZpZXcpIHsKLSAgICAgICAgICAgIHRoaXMu
X2Ryb3Bab25lVmlldy50YXJnZXRFbGVtZW50ID0gaW1hZ2VDb250YWluZXI7Ci0gICAgICAgICAg
ICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fZHJvcFpvbmVWaWV3KTsKKyAgICAgICAgaWYgKFdJLk5l
dHdvcmtNYW5hZ2VyLnN1cHBvcnRzTG9jYWxSZXNvdXJjZU92ZXJyaWRlcygpKSB7CisgICAgICAg
ICAgICBsZXQgZHJvcFpvbmVWaWV3ID0gbmV3IFdJLkRyb3Bab25lVmlldyh0aGlzKTsKKyAgICAg
ICAgICAgIGRyb3Bab25lVmlldy50YXJnZXRFbGVtZW50ID0gaW1hZ2VDb250YWluZXI7CisgICAg
ICAgICAgICB0aGlzLmFkZFN1YnZpZXcoZHJvcFpvbmVWaWV3KTsKKworICAgICAgICAgICAgaWYg
KHRoaXMuc2hvd2luZ0xvY2FsUmVzb3VyY2VPdmVycmlkZSkKKyAgICAgICAgICAgICAgICB0aGlz
LnJlc291cmNlLmFkZEV2ZW50TGlzdGVuZXIoV0kuU291cmNlQ29kZS5FdmVudC5Db250ZW50RGlk
Q2hhbmdlLCB0aGlzLl9oYW5kbGVMb2NhbFJlc291cmNlQ29udGVudERpZENoYW5nZSwgdGhpcyk7
CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTEzMiwzNyArMTMzLDM5IEBAIFdJLkltYWdlUmVzb3Vy
Y2VDb250ZW50VmlldyA9IGNsYXNzIEltYWdlUmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJ
LlJlc291cmNlCiAgICAgICAgIHJldHVybiBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVk
ZXMoIkZpbGVzIik7CiAgICAgfQogCisgICAgZHJvcFpvbmVIYW5kbGVEcmFnRW50ZXIoZHJvcFpv
bmUsIGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuc2hvd2luZ0xvY2FsUmVzb3VyY2VP
dmVycmlkZSkKKyAgICAgICAgICAgIGRyb3Bab25lLnRleHQgPSBXSS5VSVN0cmluZygiVXBkYXRl
IEltYWdlIik7CisgICAgICAgIGVsc2UgaWYgKFdJLm5ldHdvcmtNYW5hZ2VyLmxvY2FsUmVzb3Vy
Y2VPdmVycmlkZUZvclVSTCh0aGlzLnJlc291cmNlLnVybCkpCisgICAgICAgICAgICBkcm9wWm9u
ZS50ZXh0ID0gV0kuVUlTdHJpbmcoIlVwZGF0ZSBMb2NhbCBPdmVycmlkZSIpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBkcm9wWm9uZS50ZXh0ID0gV0kuVUlTdHJpbmcoIkNyZWF0ZSBMb2Nh
bCBPdmVycmlkZSIpOworICAgIH0KKwogICAgIGRyb3Bab25lSGFuZGxlRHJvcChkcm9wWm9uZSwg
ZXZlbnQpCiAgICAgewogICAgICAgICBsZXQgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmls
ZXM7Ci0gICAgICAgIGxldCBmaWxlID0gZmlsZXMubGVuZ3RoID09PSAxID8gZmlsZXNbMF0gOiBu
dWxsOwotICAgICAgICBpZiAoIWZpbGUpIHsKKyAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCAhPT0g
MSkgewogICAgICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJlZXAoKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGxldCBmaWxlUmVhZGVyID0gbmV3IEZp
bGVSZWFkZXI7Ci0gICAgICAgIGZpbGVSZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVuZCIs
IChldmVudCkgPT4geworICAgICAgICBXSS5GaWxlVXRpbGl0aWVzLnJlYWREYXRhKGZpbGVzLCBh
c3luYyAoe2RhdGFVUkwsIG1pbWVUeXBlLCBiYXNlNjRFbmNvZGVkLCBjb250ZW50fSkgPT4gewog
ICAgICAgICAgICAgbGV0IGxvY2FsUmVzb3VyY2VPdmVycmlkZSA9IFdJLm5ldHdvcmtNYW5hZ2Vy
LmxvY2FsUmVzb3VyY2VPdmVycmlkZUZvclVSTCh0aGlzLnJlc291cmNlLnVybCk7Ci0gICAgICAg
ICAgICBpZiAoIWxvY2FsUmVzb3VyY2VPdmVycmlkZSkKLSAgICAgICAgICAgICAgICByZXR1cm47
Ci0KLSAgICAgICAgICAgIGxldCBkYXRhVVJMID0gZmlsZVJlYWRlci5yZXN1bHQ7Ci0gICAgICAg
ICAgICB0aGlzLl9pbWFnZUVsZW1lbnQuc3JjID0gZGF0YVVSTDsKLQotICAgICAgICAgICAgbGV0
IHtiYXNlNjQsIGRhdGEsIG1pbWVUeXBlfSA9IHBhcnNlRGF0YVVSTChkYXRhVVJMKTsKLQotICAg
ICAgICAgICAgLy8gSW4gY2FzZSBubyBtaW1lIHR5cGUgd2FzIGRldGVybWluZWQsIHRyeSB0byBk
ZXJpdmUgb25lIGZyb20gdGhlIGZpbGUgZXh0ZW5zaW9uLgotICAgICAgICAgICAgaWYgKCFtaW1l
VHlwZSB8fCBtaW1lVHlwZSA9PT0gInRleHQvcGxhaW4iKSB7Ci0gICAgICAgICAgICAgICAgbGV0
IGV4dGVuc2lvbiA9IFdJLmZpbGVFeHRlbnNpb25Gb3JGaWxlbmFtZShmaWxlLm5hbWUpOwotICAg
ICAgICAgICAgICAgIGlmIChleHRlbnNpb24pCi0gICAgICAgICAgICAgICAgICAgIG1pbWVUeXBl
ID0gV0kubWltZVR5cGVGb3JGaWxlRXh0ZW5zaW9uKGV4dGVuc2lvbik7CisgICAgICAgICAgICBp
ZiAoIWxvY2FsUmVzb3VyY2VPdmVycmlkZSAmJiAhdGhpcy5zaG93aW5nTG9jYWxSZXNvdXJjZU92
ZXJyaWRlKSB7CisgICAgICAgICAgICAgICAgbG9jYWxSZXNvdXJjZU92ZXJyaWRlID0gYXdhaXQg
dGhpcy5yZXNvdXJjZS5jcmVhdGVMb2NhbFJlc291cmNlT3ZlcnJpZGUoKTsKKyAgICAgICAgICAg
ICAgICBXSS5uZXR3b3JrTWFuYWdlci5hZGRMb2NhbFJlc291cmNlT3ZlcnJpZGUobG9jYWxSZXNv
dXJjZU92ZXJyaWRlKTsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgY29uc29sZS5hc3Nl
cnQobG9jYWxSZXNvdXJjZU92ZXJyaWRlKTsKKwogICAgICAgICAgICAgbGV0IHJldmlzaW9uID0g
bG9jYWxSZXNvdXJjZU92ZXJyaWRlLmxvY2FsUmVzb3VyY2UuY3VycmVudFJldmlzaW9uOwotICAg
ICAgICAgICAgcmV2aXNpb24udXBkYXRlUmV2aXNpb25Db250ZW50KGRhdGEsIHtiYXNlNjRFbmNv
ZGVkOiBiYXNlNjQsIG1pbWVUeXBlfSk7CisgICAgICAgICAgICByZXZpc2lvbi51cGRhdGVSZXZp
c2lvbkNvbnRlbnQoY29udGVudCwge2Jhc2U2NEVuY29kZWQsIG1pbWVUeXBlfSk7CisKKyAgICAg
ICAgICAgIGlmICghdGhpcy5zaG93aW5nTG9jYWxSZXNvdXJjZU92ZXJyaWRlKQorICAgICAgICAg
ICAgICAgIFdJLnNob3dMb2NhbFJlc291cmNlT3ZlcnJpZGUobG9jYWxSZXNvdXJjZU92ZXJyaWRl
KTsKICAgICAgICAgfSk7Ci0gICAgICAgIGZpbGVSZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTsK
ICAgICB9CiAKICAgICAvLyBQcml2YXRlCkBAIC0xODMsNCArMTg2LDkgQEAgV0kuSW1hZ2VSZXNv
dXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuUmVzb3VyY2UKIAogICAgICAgICB0aGlzLl91cGRhdGVJbWFnZUdyaWQoKTsKICAgICB9CisK
KyAgICBfaGFuZGxlTG9jYWxSZXNvdXJjZUNvbnRlbnREaWRDaGFuZ2UoZXZlbnQpCisgICAgewor
ICAgICAgICB0aGlzLl9pbWFnZUVsZW1lbnQuc3JjID0gdGhpcy5yZXNvdXJjZS5jcmVhdGVPYmpl
Y3RVUkwoKTsKKyAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxlQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5q
cwppbmRleCAyNzk2NzEzMzA4YzRmNTdlNWJhZjIyYWE4NjI3YjlmYTRiNTdiODhmLi5iOGQ3YTI5
MDNjNDE4OThlNTdlODljYzUzYTAyMDIxNTY2NDkxNjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3Jr
VGFibGVDb250ZW50Vmlldy5qcwpAQCAtMjE1MCw3ICsyMTUwLDcgQEAgV0kuTmV0d29ya1RhYmxl
Q29udGVudFZpZXcgPSBjbGFzcyBOZXR3b3JrVGFibGVDb250ZW50VmlldyBleHRlbmRzIFdJLkNv
bnRlbnRWaWUKIAogICAgIF9pbXBvcnRIQVIoKQogICAgIHsKLSAgICAgICAgV0kuRmlsZVV0aWxp
dGllcy5pbXBvcnRKU09OKChyZXN1bHQpID0+IHRoaXMucHJvY2Vzc0hBUihyZXN1bHQpKTsKKyAg
ICAgICAgV0kuRmlsZVV0aWxpdGllcy5pbXBvcnRKU09OKChyZXN1bHQpID0+IHRoaXMucHJvY2Vz
c0hBUihyZXN1bHQpLCB7bXVsdGlwbGU6IHRydWV9KTsKICAgICB9CiAKICAgICBfd2F0ZXJmYWxs
UG9wb3ZlckNvbnRlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlQ29udGVudFZpZXcuanMKaW5kZXggODJi
MzYxYmI3MGZkZGE4NmJhOGE1MjFkNTZkNGE0ZWJiMTZlMTk2NC4uMmU3YjJjZTI1ZWM4MDUzODhj
ZDkyN2ZmY2Y2Mjc3NzE3Zjg2Mzc1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZUNvbnRlbnRWaWV3Lmpz
CkBAIC02Niw5ICs2NiwxMyBAQCBXSS5SZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgUmVzb3Vy
Y2VDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICAgICAgICAgICAgICB0
aGlzLl9sb2NhbFJlc291cmNlT3ZlcnJpZGVCYW5uZXJWaWV3ID0gbmV3IFdJLkxvY2FsUmVzb3Vy
Y2VPdmVycmlkZUxhYmVsVmlldyhyZXNvdXJjZSk7CiAKKyAgICAgICAgICAgICAgICB0aGlzLl9p
bXBvcnRMb2NhbFJlc291cmNlT3ZlcnJpZGVCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5C
dXR0b25OYXZpZ2F0aW9uSXRlbSgiaW1wb3J0LWxvY2FsLXJlc291cmNlLW92ZXJyaWRlIiwgV0ku
VUlTdHJpbmcoIkltcG9ydCIpLCAiSW1hZ2VzL0ltcG9ydC5zdmciLCAxNSwgMTUpOworICAgICAg
ICAgICAgICAgIHRoaXMuX2ltcG9ydExvY2FsUmVzb3VyY2VPdmVycmlkZUJ1dHRvbk5hdmlnYXRp
b25JdGVtLmJ1dHRvblN0eWxlID0gV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uU3R5bGUuSW1hZ2VB
bmRUZXh0OworICAgICAgICAgICAgICAgIHRoaXMuX2ltcG9ydExvY2FsUmVzb3VyY2VPdmVycmlk
ZUJ1dHRvbk5hdmlnYXRpb25JdGVtLnZpc2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmlnYXRpb25J
dGVtLlZpc2liaWxpdHlQcmlvcml0eS5Mb3c7CisgICAgICAgICAgICAgICAgdGhpcy5faW1wb3J0
TG9jYWxSZXNvdXJjZU92ZXJyaWRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5l
cihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl9oYW5kbGVJbXBv
cnRMb2NhbFJlc291cmNlT3ZlcnJpZGUsIHRoaXMpOworCiAgICAgICAgICAgICAgICAgdGhpcy5f
cmVtb3ZlTG9jYWxSZXNvdXJjZU92ZXJyaWRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0ku
QnV0dG9uTmF2aWdhdGlvbkl0ZW0oInJlbW92ZS1sb2NhbC1yZXNvdXJjZS1vdmVycmlkZSIsIFdJ
LlVJU3RyaW5nKCJSZW1vdmUgTG9jYWwgT3ZlcnJpZGUiKSwgIkltYWdlcy9OYXZpZ2F0aW9uSXRl
bVRyYXNoLnN2ZyIsIDE1LCAxNSk7CiAgICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlTG9jYWxS
ZXNvdXJjZU92ZXJyaWRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5C
dXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl9oYW5kbGVSZW1vdmVMb2Nh
bFJlc291cmNlT3ZlcnJpZGUsIHRoaXMpOwotICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZUxv
Y2FsUmVzb3VyY2VPdmVycmlkZUJ1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSB0cnVlOwog
ICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZUxvY2FsUmVzb3VyY2VPdmVycmlkZUJ1dHRvbk5h
dmlnYXRpb25JdGVtLnZpc2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmlnYXRpb25JdGVtLlZpc2li
aWxpdHlQcmlvcml0eS5Mb3c7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
IHRoaXMuX2xvY2FsUmVzb3VyY2VPdmVycmlkZUJhbm5lclZpZXcgPSBuZXcgV0kuTG9jYWxSZXNv
dXJjZU92ZXJyaWRlV2FybmluZ1ZpZXcocmVzb3VyY2UpOwpAQCAtOTMsNiArOTcsOCBAQCBXSS5S
ZXNvdXJjZUNvbnRlbnRWaWV3ID0gY2xhc3MgUmVzb3VyY2VDb250ZW50VmlldyBleHRlbmRzIFdJ
LkNvbnRlbnRWaWV3CiAgICAgewogICAgICAgICBsZXQgaXRlbXMgPSBbXTsKIAorICAgICAgICBp
ZiAodGhpcy5faW1wb3J0TG9jYWxSZXNvdXJjZU92ZXJyaWRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0p
CisgICAgICAgICAgICBpdGVtcy5wdXNoKHRoaXMuX2ltcG9ydExvY2FsUmVzb3VyY2VPdmVycmlk
ZUJ1dHRvbk5hdmlnYXRpb25JdGVtLCBuZXcgV0kuRGl2aWRlck5hdmlnYXRpb25JdGVtKTsKICAg
ICAgICAgaWYgKHRoaXMuX3JlbW92ZUxvY2FsUmVzb3VyY2VPdmVycmlkZUJ1dHRvbk5hdmlnYXRp
b25JdGVtKQogICAgICAgICAgICAgaXRlbXMucHVzaCh0aGlzLl9yZW1vdmVMb2NhbFJlc291cmNl
T3ZlcnJpZGVCdXR0b25OYXZpZ2F0aW9uSXRlbSk7CiAgICAgICAgIGlmICh0aGlzLl9jcmVhdGVM
b2NhbFJlc291cmNlT3ZlcnJpZGVCdXR0b25OYXZpZ2F0aW9uSXRlbSkKQEAgLTIzMiw2ICsyMzgs
MzUgQEAgV0kuUmVzb3VyY2VDb250ZW50VmlldyA9IGNsYXNzIFJlc291cmNlQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICBXSS5zaG93TG9jYWxSZXNvdXJjZU92ZXJy
aWRlKGxvY2FsUmVzb3VyY2VPdmVycmlkZSk7CiAgICAgfQogCisgICAgX2hhbmRsZUltcG9ydExv
Y2FsUmVzb3VyY2VPdmVycmlkZShldmVudCkKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHRoaXMuX3Nob3dpbmdMb2NhbFJlc291cmNlT3ZlcnJpZGUpOworCisgICAgICAgIFdJLkZpbGVV
dGlsaXRpZXMuaW1wb3J0KGFzeW5jIChmaWxlTGlzdCkgPT4geworICAgICAgICAgICAgY29uc29s
ZS5hc3NlcnQoZmlsZUxpc3QubGVuZ3RoID09PSAxKTsKKworICAgICAgICAgICAgbGV0IGxvY2Fs
UmVzb3VyY2VPdmVycmlkZSA9IFdJLm5ldHdvcmtNYW5hZ2VyLmxvY2FsUmVzb3VyY2VPdmVycmlk
ZUZvclVSTCh0aGlzLnJlc291cmNlLnVybCk7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChs
b2NhbFJlc291cmNlT3ZlcnJpZGUpOworCisgICAgICAgICAgICBsZXQgcmV2aXNpb24gPSBsb2Nh
bFJlc291cmNlT3ZlcnJpZGUubG9jYWxSZXNvdXJjZS5jdXJyZW50UmV2aXNpb247CisKKyAgICAg
ICAgICAgIGxldCBmaWxlID0gZmlsZUxpc3RbMF07CisgICAgICAgICAgICBsZXQgbWltZVR5cGUg
PSBmaWxlLnR5cGUgfHwgV0kubWltZVR5cGVGb3JGaWxlRXh0ZW5zaW9uKFdJLmZpbGVFeHRlbnNp
b25Gb3JGaWxlbmFtZShmaWxlLm5hbWUpKTsKKyAgICAgICAgICAgIGlmIChXSS5zaG91bGRUcmVh
dE1JTUVUeXBlQXNUZXh0KG1pbWVUeXBlKSkgeworICAgICAgICAgICAgICAgIGF3YWl0IFdJLkZp
bGVVdGlsaXRpZXMucmVhZFRleHQoZmlsZSwgKHt0ZXh0fSkgPT4geworICAgICAgICAgICAgICAg
ICAgICByZXZpc2lvbi51cGRhdGVSZXZpc2lvbkNvbnRlbnQodGV4dCwge2Jhc2U2NEVuY29kZWQ6
IGZhbHNlLCBtaW1lVHlwZX0pOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBhd2FpdCBXSS5GaWxlVXRpbGl0aWVzLnJlYWREYXRhKGZp
bGUsICh7ZGF0YVVSTCwgbWltZVR5cGUsIGJhc2U2NEVuY29kZWQsIGNvbnRlbnR9KSA9PiB7Cisg
ICAgICAgICAgICAgICAgICAgIHJldmlzaW9uLnVwZGF0ZVJldmlzaW9uQ29udGVudChjb250ZW50
LCB7YmFzZTY0RW5jb2RlZCwgbWltZVR5cGV9KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCF0aGlzLnNob3dpbmdMb2NhbFJlc291cmNlT3Zl
cnJpZGUpCisgICAgICAgICAgICAgICAgV0kuc2hvd0xvY2FsUmVzb3VyY2VPdmVycmlkZShsb2Nh
bFJlc291cmNlT3ZlcnJpZGUpOworICAgICAgICB9KTsKKyAgICB9CisKICAgICBfaGFuZGxlUmVt
b3ZlTG9jYWxSZXNvdXJjZU92ZXJyaWRlKGV2ZW50KQogICAgIHsKICAgICAgICAgY29uc29sZS5h
c3NlcnQodGhpcy5fc2hvd2luZ0xvY2FsUmVzb3VyY2VPdmVycmlkZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJlY29yZGlu
Z0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVSZWNvcmRpbmdDb250ZW50Vmlldy5qcwppbmRleCA3Yzc2NzExODc3YWU4YWZm
M2NjZjcxNDg4ZjI0NWE5ZTEwMTRhNzVmLi4xY2VjZmZmZjMyZjAzOTM1NjQ5MTMyNGYxNTIzZmZm
NWM4MGJlNWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUmVjb3JkaW5nQ29udGVudFZp
ZXcuanMKQEAgLTYyMSw3ICs2MjEsNyBAQCBXSS5UaW1lbGluZVJlY29yZGluZ0NvbnRlbnRWaWV3
ID0gY2xhc3MgVGltZWxpbmVSZWNvcmRpbmdDb250ZW50VmlldyBleHRlbmRzIFdJLgogCiAgICAg
X2ltcG9ydEJ1dHRvbk5hdmlnYXRpb25JdGVtQ2xpY2tlZChldmVudCkKICAgICB7Ci0gICAgICAg
IFdJLkZpbGVVdGlsaXRpZXMuaW1wb3J0SlNPTigocmVzdWx0KSA9PiBXSS50aW1lbGluZU1hbmFn
ZXIucHJvY2Vzc0pTT04ocmVzdWx0KSk7CisgICAgICAgIFdJLkZpbGVVdGlsaXRpZXMuaW1wb3J0
SlNPTigocmVzdWx0KSA9PiBXSS50aW1lbGluZU1hbmFnZXIucHJvY2Vzc0pTT04ocmVzdWx0KSwg
e211bHRpcGxlOiB0cnVlfSk7CiAgICAgfQogCiAgICAgX2NsZWFyVGltZWxpbmUoZXZlbnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>